(57)【要約】  具体的な実装では、ビデオ復号器は、現在のブロックでのビットストリームから初期動きベクトル予測子を復号し、小さい探索ウィンドウ内で動き検索を実行して、この初期動きベクトル予測子を改良してもよい。初期動きベクトルは、改良する前に丸め処理してもよい。動き改良は、現在のブロックの画素と隣接ブロックの画素との間の不連続性尺度に基づくことができ、また、現在ブロックと隣接ブロックとの間の勾配に基づくこともできる。次いで、現在のブロックでの動きベクトルは、改良済み動きベクトル予測子、及び、もしあれば動きベクトル差分に基づいて復号される。動き改良は、現在のブロックでの動きベクトルに直接実行することもできる。動き改良を通して、復号器は、動き解像度を上げることができる。対応するビデオ符号器は、符号器の決定に基づいて、動き改良を使用するかどうかを選択してもよい。
2019519995.tif 000002
【特許請求の範囲】
【請求項１】
ビデオを復号する方法であって、
ビットストリームから動きベクトル差分を復号すること（４３０、９４０）と、
ビデオの現在のブロックでの第１動きベクトルにアクセスすること（４４０、９２０）であって、前記第１動きベクトルが、動きベクトル予測子及び前記復号済みの動きベクトル差分に基づき、前記第１動きベクトルが第１動き解像度に関連付けられる、ことと、
基準画像での前記第１動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索することであって、前記１つ又は複数の位置が第２動き解像度に関連付けられ、前記第２動き解像度が前記第１動き解像度よりも高い、ことと、
前記探索に基づいて前記現在のブロックでの第２動きベクトルを決定すること（４５０、９３０）と、
前記第２動きベクトルに基づいて前記現在のブロックを復号することと
を含む、方法。
【請求項２】
少なくとも１つのメモリ、及び１つ又は複数のプロセッサを備える装置（１４００）であって、前記１つ又は複数のプロセッサが、
ビットストリームから動きベクトル差分を復号し、
ビデオの現在のブロックでの第１動きベクトルにアクセスし、前記第１動きベクトルが、動きベクトル予測子及び前記復号済みの動きベクトル差分に基づき、前記第１動きベクトルが第１動き解像度に関連付けられ、
基準画像での前記第１動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索し、前記１つ又は複数の位置が第２動き解像度に関連付けられ、前記第２動き解像度が前記第１動き解像度よりも高く、
前記探索に基づいて前記現在のブロックでの第２動きベクトルを決定し、
前記第２動きベクトルに基づいて前記現在のブロックを復号する
ように構成される、装置。
【請求項３】
前記第２動きベクトルが、（１）前記現在のブロックについて予測と、前記現在のブロックに隣接する復号済みブロックとの間の不連続性と、（２）前記予測ブロック及び前記復号済みのブロックのうちの一方での勾配とのうちの一方に基づいて決定される、請求項１に記載の方法、又は請求項２に記載の装置。
【請求項４】
前記第２解像度で前記動きベクトル予測子を決定することと、
前記動きベクトル予測子を、前記第１解像度よりも低い解像度に変換することと
を更に含む方法、又は前記１つ又は複数のプロセッサが、これらを実行するように更に構成された装置であって、
前記第１動きベクトルが、前記変換済みの動きベクトル予測子及び前記動きベクトル差分に基づく、請求項１若しくは３に記載の方法、又は請求項２又は３に記載の装置。
【請求項５】
前記変換することが、前記動きベクトル予測子を丸め処理することを含む、請求項４に記載の方法、又は請求項４に記載の装置。
【請求項６】
前記動きベクトル予測子が、前記現在のブロックに隣接する復号済みブロックの少なくとも２つの動きベクトルの平均値に基づく、請求項１若しくは３〜５のいずれか一項に記載の方法、又は請求項２〜５のいずれか一項に記載の装置。
【請求項７】
前記１つ又は複数の位置が、前記第１解像度及び前記第２解像度に基づいて決定される、請求項１若しくは３〜６のいずれか一項に記載の方法、又は請求項２〜６のいずれか一項に記載の装置。
【請求項８】
ビデオを符号化する方法であって、
ビデオの現在のブロックでの第１動きベクトルにアクセスすること（８２０、１０１５）であって、前記第１動きベクトルが、動きベクトル予測子及び動きベクトル差分に基づき、前記第１動きベクトルが第１動き解像度に関連付けられる、ことと、
基準画像での前記第１動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索することであって、前記１つ又は複数の位置が第２動き解像度に関連付けられ、前記第２動き解像度が前記第１動き解像度よりも高い、ことと、
前記探索に基づいて前記現在のブロックでの第２動きベクトルを決定すること（８２５、１０２０）と、
前記動きベクトル差分を符号化してビットストリームにすること（８９０、１０９０）と、
前記第２動きベクトルに基づいて前記現在のブロックを符号化することと
を含む、方法。
【請求項９】
少なくとも１つのメモリ、及び１つ又は複数のプロセッサを備える装置（１４００）であって、前記１つ又は複数のプロセッサが、
ビデオの現在のブロックでの第１動きベクトルにアクセスし、前記第１動きベクトルが、動きベクトル予測子及び動きベクトル差分に基づき、前記第１動きベクトルが第１動き解像度に関連付けられ、
基準画像での前記第１動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索し、前記１つ又は複数の位置が第２動き解像度に関連付けられ、前記第２動き解像度が前記第１動き解像度よりも高く、
前記探索に基づいて前記現在のブロックでの第２動きベクトルを決定し、
前記動きベクトル差分を符号化してビットストリームにし、
前記第２動きベクトルに基づいて前記現在のブロックを符号化する
ように構成される、装置。
【請求項１０】
複数の動きベクトル予測子がアクセスされ、前記アクセスすること、前記探索すること、及び前記決定することが、前記複数の動きベクトル予測子のそれぞれに対応して実行されて、複数の第２動きベクトルを形成し、前記複数の第２動きベクトルのうちの一つが選択されて、前記現在のブロックを符号化する、請求項８に記載の方法、又は請求項９に記載の装置。
【請求項１１】
前記決定することが、（１）前記現在のブロックについて予測と、前記現在のブロックに隣接する再構成済みブロックとの間の不連続性と、（２）前記予測ブロック及び前記再構成済みブロックのうちの一方での勾配とのうちの一方に基づく、請求項８若しくは１０に記載の方法、又は請求項９若しくは１０に記載の装置。
【請求項１２】
前記第２解像度で前記動きベクトル予測子を決定することと、
前記動きベクトル予測子を、前記第１解像度よりも低い解像度に変換することと
を更に含む方法、又は前記１つ又は複数のプロセッサが、これらを実行するように更に構成された装置であって、
前記第１動きベクトルが、前記変換済みの動きベクトル予測子及び前記動きベクトル差分に基づく、請求項８若しくは１０若しくは１１のいずれか一項に記載の方法、又は請求項９〜１１のいずれか一項に記載の装置。
【請求項１３】
前記変換することが、前記動きベクトル予測子を丸め処理することを含む、請求項１２に記載の方法、又は請求項１２に記載の装置。
【請求項１４】
前記動きベクトル予測子が、前記現在のブロックに隣接する再構成済みブロックの少なくとも２つの動きベクトルの平均値に基づく、請求項８若しくは１０〜１３のいずれか一項に記載の方法、又は請求項９〜１３のいずれか一項に記載の装置。
【請求項１５】
前記１つ又は複数の位置が、前記第１解像度及び前記第２解像度に基づいて決定される、請求項８若しくは１０〜１４のいずれか一項に記載の方法、又は請求項９〜１４のいずれか一項に記載の装置。
【請求項１６】
請求項１、３〜８、又は１０〜１５のいずれか一項に記載の方法を実施する命令を記憶した、持続的なコンピュータ読取り可能な記憶媒体。
【請求項１７】
請求項８又は１０〜１５のいずれか一項に記載の方法によって生成される、ビットストリーム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明の原理は一般に、ビデオ符号化及びビデオ復号のための方法及び装置に関し、より詳細には、動き情報改良を用いるビデオ符号化及びビデオ復号のための方法及び装置に関する。
【背景技術】
【０００２】
高い圧縮効率を実現するために、画像符号化及びビデオ符号化の仕組みは通常、予測及び変換を利用して動画コンテンツでの空間冗長性及び時間冗長性を活用する。一般に、イントラ予測又はインター予測を使用して、イントラ・フレーム相関又はインター・フレーム相関を利用し、次いで、しばしば予測誤差又は予測残差で表される、元の画像と予測画像の間の差が変換され、量子化され、エントロピー符号化される。ビデオを復元するために、圧縮データは、予測、変換、量子化、及びエントロピー符号化に対応する逆プロセスによって復号される。
【発明の概要】
【０００３】
一般的な態様によれば、ビデオの現在のブロックでの初期動きベクトルにアクセスすることであって、この初期動きベクトルが、動きベクトル予測子及び動きベクトル差分のうちの少なくとも一方に基づき、この初期動きベクトルが第１動き解像度に関連付けられることと、基準画像での初期動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索することであって、この１つ又は複数の位置が第２動き解像度に関連付けられ、この第２動き解像度が第１動き解像度よりも高いことと、この探索に基づいて現在のブロックでの改良済み動きベクトルを決定することと、この改良済み動きベクトルに基づいて現在のブロックを復号することとを含む、ビデオを復号する方法が提供される。
【０００４】
初期動きベクトルの周りを探索するとき、（１）現在のブロックについての予測と現在のブロックに隣接する復号済みブロックとの間の不連続性、及び（２）予測ブロック及び復号済みブロックのうちの一方での勾配のうちの１つを使用して、現在のブロックにおける改良済み動きベクトルを決定することができる。１つ又は複数の探索位置は、第１解像度及び第２解像度に基づいて決定してもよい。
【０００５】
動きベクトル予測子は、第２解像度にある場合に、たとえば、この動きベクトル予測子を丸めることによって、第１解像度よりも低い解像度に変換することができる。動きベクトル予測子は、現在のブロックに隣接する復号済みブロックのうち少なくとも２つの動きベクトルの平均に基づくことができる。
【０００６】
一般的な別の態様によれば、ビデオの現在のブロックでの初期動きベクトルにアクセスすることであって、この初期動きベクトルが、動きベクトル予測子及び動きベクトル差分のうちの少なくとも一方に基づき、この初期動きベクトルが第１動き解像度に関連付けられることと、基準画像での初期動きベクトルによって指示される位置の周りの１つ又は複数の位置を探索することであって、この１つ又は複数の位置が第２動き解像度に関連付けられ、この第２動き解像度が第１動き解像度よりも高いことと、この探索に基づいて現在のブロックでの改良済み動きベクトルを決定することと、この改良済み動きベクトルに基づいて現在のブロックを符号化することとを含む、ビデオを符号化する方法が提供される。
【０００７】
改良済み動きベクトルを決定するために、複数の動きベクトル予測子にアクセスすることができ、ここで、この複数の動きベクトル予測子のそれぞれに対応して、アクセス、探索、及び決定が実行されて、複数の改良済み動きベクトルを形成し、この複数の改良済み動きベクトルのうちの１つが選択されて、現在のブロックを符号化する。
【０００８】
初期動きベクトルの周りを探索するとき、（１）現在のブロックについての予測と現在のブロックに隣接する復元済みブロックとの間の不連続性、及び（２）予測ブロック及び復元済みブロックのうちの一方での勾配のうちの１つを使用して、現在のブロックにおける改良済み動きベクトルを決定する。１つ又は複数の探索位置は、第１解像度及び第２解像度に基づいて決定してもよい。
【０００９】
動きベクトル予測子は、第２解像度にある場合に、たとえば、この動きベクトル予測子を丸めることによって、第１解像度よりも低い解像度に変換することができる。動きベクトル予測子は、現在のブロックに隣接する復号済みブロックのうち少なくとも２つの動きベクトルの平均に基づくことができる。
【００１０】
この実施形態はまた、これらの方法を実行するための装置を提供する。
【００１１】
この実施形態はまた、前述の各方法のいずれかを実行する命令を記憶した、持続的なコンピュータ読取り可能な記憶媒体を提供する。
【００１２】
この実施形態はまた、前述の各方法のいずれかによって生成されるビットストリームを提供する。
【図面の簡単な説明】
【００１３】
【図１】例示的なＨＥＶＣ（高効率ビデオ符号化）符号器を示す。
【図２Ａ】現在のブロックにおける５つの空間候補｛ａ１、ｂ１、ｂ０、ａ０、ｂ２｝の各位置を示す画像例である。
【図２Ｂ】ＡＭＶＰ（高度動きベクトル予測）を使用して例示的な動きベクトル表現を示す画像例である。
【図２Ｃ】動き補償予測を示す画像例である。
【図３】例示的なＨＥＶＣビデオ復号器のブロック図を示す。
【図４】本発明の原理の一実施形態により、復号器において動きベクトルの改良を実行する例示的な方法を示す。
【図５】整数画素、２分の１画素、４分の１画素、及び８分の１画素での画素の位置を示す画像例である。
【図６Ａ】復号される例示的なＰＵを示す。
【図６Ｂ】不連続性を測定するための、隣接する復元済みサンプルのＬ字形セット及び予測サンプルのＬ字形セットを示す画像例である。
【図７Ａ】局所勾配を示す画像例である。
【図７Ｂ】勾配の２次モーメントを示す画像例である。
【図８】本発明の原理の一実施形態により、符号器において動きベクトルの改良を実行する例示的な方法を示す。
【図９】本発明の原理の一実施形態により、復号器において動きベクトル予測子の改良を実行する例示的な方法を示す。
【図１０】本発明の原理の一実施形態により、符号器において動きベクトル予測子の改良を実行する例示的な方法を示す。
【図１１】本発明の原理の一実施形態により、復号器において、自動動き改良の活動化を用いて動きベクトル予測子の改良を実行する例示的な方法を示す。
【図１２】本発明の原理の一実施形態により、符号器において、自動動き改良の活動化を用いて動きベクトル予測子の改良を実行する例示的な方法を示す。
【図１３】本発明の原理の一実施形態により、特定のＭＶＰ向けに適応型動き改良を使用するかどうか決定する、例示的な方法を示す。
【図１４】本発明の原理の例示的な実施形態の様々な態様を実施してもよい、例示的なシステムのブロック図を示す。
【発明を実施するための形態】
【００１４】
図１には、例示的なＨＥＶＣ（高効率ビデオ符号化）符号器１００が示してある。１つ又は複数の画像でビデオ・シーケンスを符号化するために、画像を１つ又は複数のスライスに分割し、ここで各スライスは、１つ又は複数のスライス・セグメントを含むことができる。スライス・セグメントは、符号化ユニット、予測ユニット、及び変換ユニットに編成される。
【００１５】
ＨＥＶＣ仕様書では「ブロック」と「ユニット」が区別されており、ここで「ブロック」は、サンプル・アレイ内の特定領域（たとえば、輝度Ｙ）を扱い、「ユニット」は、符号化されたすべての色成分（Ｙ、Ｃｂ、Ｃｒ、又はモノクローム）、シンタックス要素、及びこのブロックに関連付けられる予測データ（たとえば、動きベクトル）を含む。
【００１６】
符号化するために、画像が、構成可能なサイズを有する正方形状の符号化ツリー・ブロック（ＣＴＢ）に分割され、符号化ツリー・ブロックの連続したセットが、スライスにグループ化される。符号化ツリー・ユニット（ＣＴＵ）が、符号化済み色成分のＣＴＢを含む。ＣＴＢは、符号化ブロック（ＣＢ）への４分木分割するルートであり、符号化ブロックは、１つ又は複数の予測ブロック（ＰＢ）に分割され、変換ブロック（ＴＢ）への４分木分割のルートを形成する。符号化ブロック、予測ブロック、及び変換ブロックに対応して、符号化ユニット（ＣＵ）は、予測ユニット（ＰＵ）及び変換ユニット（ＴＵ）のツリー構造セットを含み、ＰＵはすべての色成分についての予測情報を含み、ＴＵは、各色成分についての残差符号化シンタックス構造を含む。輝度成分のＣＢ、ＰＢ、及びＴＢのサイズは、対応するＣＵ、ＰＵ、及びＴＵに当てはまる。本出願では、用語「ブロック」を使用して、ＣＴＵ、ＣＵ、ＰＵ、ＴＵ、ＣＢ、ＰＢ、及びＴＢのいずれも指すことができる。更に、「ブロック」を使用して、Ｈ．２６４／ＡＶＣ又は他のビデオ符号化規格に指定されているように、マクロブロック、パーティション、及びサブブロックを指すこともでき、より一般には、様々なサイズのデータのアレイを指すこともできる。
【００１７】
例示的な符号器１００では、以下に述べるような符号器要素によって画像が符号化される符号化される画像は、ＣＵのユニットで処理される。各ＣＵは、イントラ・モード又はインター・モードのいずれかを使用して符号化される。ＣＵがイントラ・モードで符号化されるとき、イントラ予測（１６０）を実行する。インター・モードでは、動きの推定（１７５）及び補償（１７０）が実行される。符号器は、ＣＵを符号化するのにイントラ・モード又はインター・モードのうちいずれを使用するかを決定し（１０５）、予測モード・フラグによってイントラ／インターの決定を示す。元の画像ブロックから予測済みブロックを差し引くこと（１１０）によって、予測残差が計算される。
【００１８】
同じスライス内の復元済みの隣接サンプルから、イントラ・モードでのＣＵが予測される。ＤＣ、平面、及び３３の角度予測モードを含む、３５のイントラ予測モードのセットがＨＥＶＣで利用可能である。現在のブロックに隣接する横列及び縦列から、イントラ予測基準が復元される。この基準は、これまでに復元したブロックから利用可能なサンプルを使用して、水平方向及び垂直方向にブロック・サイズの２倍にわたって延在する。イントラ予測において角度予測モードが使用されると、この角度予測モードによって指示される方向に沿って基準画素をコピーすることができる。
【００１９】
２つの異なる選択肢を使用して、現在のブロックについての適用可能な輝度イントラ予測モードを符号化することができる。３つの最も可能性の高いモード（ＭＰＭ）の構成済みリストに適用可能なモードが含まれる場合、このＭＰＭリスト内のインデックスによってモードが信号伝送される。そうでなければ、モード・インデックスの固定長の２値化によってモードが信号伝送される。この３つの最も可能性の高いモードは、上端左側の隣接ブロックのイントラ予測モードから得られる。
【００２０】
インターＣＵでは、対応する符号化ブロックが、１つ又は複数の予測ブロックに更に分割される。インター予測がＰＢレベルで実行され、対応するＰＵは、インター予測がどのように実行されるかについての情報を含む。
【００２１】
動き情報（すなわち、動きベクトル及び基準インデックス）は、２つの方法、すなわち「マージ・モード」及び「高度動きベクトル予測（ＡＭＶＰ）」で信号伝送することができる。
【００２２】
マージ・モードでは、ビデオ符号器又はビデオ復号器が、既に符号化されたブロックに基づいて候補リストを組み立て、ビデオ符号器が、この候補リスト内の候補のうちの１つについてのインデックスを信号伝送する。復号器側では、信号伝送された候補に基づいて、動きベクトル（ＭＶ）及び基準画像インデックスが復元される。
【００２３】
マージ・モードでの実現可能な候補のセットは、空間隣接候補、時間候補、及び生成済み候補からなる。図２Ａには、現在のブロック２１０における５つの空間候補｛ａ１、ｂ１、ｂ０、ａ０、ｂ２｝の各位置が示してある。それぞれの候補位置において、ａ１、ｂ１、ｂ０、ａ０、ｂ２の順序に従って可用性が検査され、次いで候補の冗長性が排除される。
【００２４】
マージ候補の最大数Ｎは、スライス・ヘッダで指定される。マージ候補の数がＮよりも大きい場合、最初のＮ−１の空間候補及び時間候補のみが使用される。そうではなく、マージ候補の数がＮよりも小さい場合は、各候補のセットが最大数Ｎまで満たされる。
【００２５】
ＡＭＶＰでは、既に符号化されたブロックから決定される動きベクトルに基づいて、ビデオ符号器又はビデオ復号器が候補リストを組み立てる。次いで、ビデオ符号器は、候補リスト内のインデックスを信号伝送して、動きベクトル予測子（ＭＶＰ）を識別し、動きベクトル差分（ＭＶＤ）を信号伝送する。復号器側では、動きベクトル（ＭＶ）が、ＭＶＰ＋ＭＶＤとして復元される。
【００２６】
ＡＭＶＰでは、２つの空間動き候補だけが選択される。第１空間動き候補が、左側の位置｛ａ０、ａ１｝から選択され、第２候補が、２つのセットに示すような探索順序を保ちながら、上側の位置｛ｂ０、ｂ１、ｂ２｝から選択される。動きベクトル予測子の数が２に等しくない場合、時間ＭＶ予測候補を含むことができる。時間候補が利用可能でない場合、ゼロ動きベクトルを使用して候補のセットを満たす。
【００２７】
図２Ｂには、ＡＭＶＰを使用する例示的な動きベクトル表現が示してある。符号化（２４０）される現在のブロックについて、動き推定を介して動きベクトル（ＭＶｃｕｒｒｅｎｔ）を得ることができる。左側ブロック（２３０）からの動きベクトル（ＭＶｌｅｆｔ）、及び上側のブロック（２２０）からの動きベクトル（ＭＶａｂｏｖｅ）を使用して、動きベクトル予測子をＭＶＰｃｕｒｒｅｎｔとして選択することができる。次いで、動きベクトル差分を、ＭＶＤｃｕｒｒｅｎｔ＝ＭＶｃｕｒｒｅｎｔ−ＭＶＰｃｕｒｒｅｎｔと計算することができる。
【００２８】
ＨＥＶＣでは、動き補償のための動き情報の精度は、輝度成分については４分の１サンプル（クォーター・ペル又は１／４ペルとも呼ばれる）であり、色度成分については８分の１サンプル（１／８ペルとも呼ばれる)である。分数サンプルの画素位置の補間用に、７タップ又は８タップの補間フィルタが使用される。すなわち、輝度においては、水平方向と垂直方向の両方での全画素位置の１／４、１／２、及び３／４を扱うことができる。
【００２９】
次いで、予測残差が変換され（１２５）、かつ量子化される（１３０）。量子化済みの変換係数、ならびに動きベクトル及び他のシンタックス要素がエントロピー符号化されて（１４５）、ビットストリームを出力する。符号器はまた、変換をスキップし、４×４ＴＵベースで非変換残差信号に直接、量子化を適用してもよい。符号器はまた、変換と量子化の両方を迂回してもよく、すなわち、変換プロセス又は量子化プロセスを適用せずに直接、残差が符号化される。直接ＰＣＭ符号化では、予測が適用されず、符号化ユニット・サンプルが直接、ビットストリームに符号化される。
【００３０】
符号器は、符号化ブロックを復号して、さらなる予測のための基準を提供する。量子化済みの変換係数を逆量子化し（１４０）、逆変換して（１５０）、予測残差を復号する。復号済み予測残差と予測済みブロックを組み合わせると（１５５）、画像ブロックが復元される。復元済みの画像にフィルタ（１６５）を適用して、濃淡むらのアーティファクトを低減するために、たとえば、非ブロック化／ＳＡＯ（サンプル適応オフセット）フィルタリングを実行する。フィルタリングされた画像は、基準画像バッファ（１８０）に記憶される。
【００３１】
図３には、例示的なＨＥＶＣビデオ復号器３００のブロック図が示してある。以下に述べるように、例示的な復号器３００では、復号器要素によってビットストリームが復号される。ビデオ復号器３００は一般に、図１に記述するように、符号化パスとは逆の復号パスを実行し、これが、ビデオ・データを符号化する一環としてビデオ復号を実行する。
【００３２】
具体的には、復号器の入力はビデオ・ビットストリームを含み、これをビデオ符号器１００によって生成してもよい。このビットストリームを、まずエントロピー復号して（３３０）、変換係数、動きベクトル、及び他の符号化済み情報を得る。変換係数を逆量子化し（３４０）、逆変換して（３５０）、予測残差を復号する。復号済み予測残差と予測済みブロックを組み合わせると（３５５）、画像ブロックが復元される。予測済みブロックは、イントラ予測（３６０）又は動き補償済み予測（すなわち、インター予測）（３７５）から得てもよい（３７０）。前述の通り、ＡＭＶＰ及びマージ・モード技法を使用して、動き補償のための動きベクトルを導出してもよく、この技法は、補間フィルタを使用して、基準ブロックのサブ整数画素について補間値を計算してもよい。フィルタ（３６５）が、復元済み画像に適用される。フィルタリングされた画像は、基準画像バッファ（３８０）に記憶される。
【００３３】
ビデオ圧縮では、インター予測モードによって、これまでに復元／復号された画像から少なくとも１つの動き補償済みブロックを使用して、１つのブロック（たとえば、予測ユニット）を予測することが可能になる。たとえば、図２Ｃに示すように、現在のブロック（２５５）が、インター予測モードを使用して符号化され、ブロック２２５及び２４５が、基準画像内の近接配置されたブロックであり、ブロック２１５及び２３５が、動き補償予測に使用されるブロックである。復号済み画像バッファ（ＤＰＢ）内の復元済み画像を識別する少なくとも１つの基準インデックス（たとえば、ｒｅｆＩｄｘ０）、及び１つの動き情報（動きベクトル差分、ＭＶＤ）が符号化されて、復号器での少なくとも１つの動きベクトル（ＭＶ、たとえばｍｖ０）の復元を可能にする。双予測が使用されると、付加基準インデックス（たとえば、ｒｅｆＩｄｘ１）及び動き情報が符号化されて、動きベクトル（たとえば、ｍｖ０及びｍｖ１）を復元する。場合によっては、これまでに復号されたデータから動きベクトルを推論することができる（たとえば、ＨＥＶＣでのマージ・モード）。
【００３４】
以下のように、ＭＶ値の復元を実行することができる。
ＭＶＸ＝ＭＶＰＸ＋ＭＶＤＸ、ＭＶＹ＝ＭＶＰＹ＋ＭＶＤＹ（１）
ここで、ＭＶＸ及びＭＶＹは、それぞれ水平動きベクトル成分及び垂直動きベクトル成分であり、ＭＶＰ（ＭＶＰＸ、ＭＶＰＹ）は、これまでに復元されたデータから構築された動きベクトル予測子であり、ＭＶＤ（ＭＶＤＸ、ＭＶＤＹ）は、符号化されビットストリーム内で伝送される動きベクトル差分である。
【００３５】
ＭＶＤ値は、通常、復号済みＭＶ値に対応する精度で符号化される。たとえば、ＨＥＶＣは、動きベクトル解像度として、４分の１画素（すなわち、１／４ペル）を使用する。
【００３６】
たとえば、１／４ペルから１／８ペルまでＭＶ解像度を上げると、一般に、予測を改善することができる。しかし、低ビットレートでは、ＭＶＤデータの符号化は、ブロック毎に符号化される他のデータに対して、相対的にビットレート・コストが高くなる可能性がある。したがって、総合的な圧縮効率は、ＭＶ解像度で必ずしも改善しない場合がある。
【００３７】
圧縮効率を改善するために、適応型動き解像度を使用して、たとえば、整数ペル若しくは１／４ペルの間で動き解像度を選択すること、又は１／４ペルと１／６ペルの間で選択することについての、既存の研究がいくつかある。しかし、どの動きベクトル解像度が使用されるかを示すことにより、ビットストリームにおいて送信する必要のある追加の付加情報のせいで、圧縮効率の低下を引き起こす場合がある。
【００３８】
オーバヘッドを削減するために、「Conditional motion vector refinement for improved prediction」と題するLakshman、Haricharanらによる論文、Picture Coding Symposium（ＰＣＳ）、２０１２年、ＩＥＥＥ（以下では「Lakshman」）では、任意の明確なブロック毎の順方向信号伝送なしで、４分の１サンプルのＭＶ解像度と１／６サンプルのＭＶ解像度との間のＭＶ解像度を推論するための、符号器と復号器の両方に知られている１組の規則が定義されている。高解像度ＭＶは、改良情報で増補された通常の４分の１サンプルＭＶとして伝送され、これにより、動きベクトルの解像度が４分の１サンプル解像度からサンプルの６分の１にまで高くなる。整数サンプル又は２分の１サンプルの位置を指す復元済みのＭＶ成分は、変更されないままである。４分の１又は４分の３の位置を指すＭＶ成分では、復号器は以下の条件を使用して改良の存在を推定する。
−Ｐスライスの場合、ＭＶ改良情報は常に送信される。
−双予測の場合、ＭＶ改良は、高テクスチャを含む基準画像からサンプルにアクセスする予測向けに送信される。
−高テクスチャ基準画像にアクセスしない双予測の場合、ＭＶ改良は、既定の基準画像リストからの画像に対してのみ送信される。
−Ｂスライスの単一仮定予測では、ＭＶ改良は使用されない。
【００３９】
「Further improvements to HMKTA-1.0」と題するChen、Jianleらによる論文、ＶＣＥＧ−ＡＺ０７、ＩＴＵ−Ｔ／ＳＧ１６、ビデオ符号化エキスパート・グループ（ＶＣＥＧ）の第５２回会議、２０１５年６月１９〜２６日、Warsaw、Poland（以下では「Chen」）には、高度動きベクトル解像度（ＡＭＶＲ）モードが記載されている。具体的には、ＰＵの動きベクトルと予測済み動きベクトルの間のＭＶＤは、４分の１ペルの解像度又は整数ペルの解像度のいずれかで符号化することができる。ＭＶＤ解像度は、符号化ユニット（ＣＵ）レベルで制御され、少なくとも１つのゼロ以外のＭＶＤ成分を有する各ＣＵについて、整数ＭＶＤ解像度フラグが条件付きで信号伝送される。整数ＭＶＤ解像度フラグが偽であるか、又はＣＵについて符号化されていない場合、ＣＵに属するすべてのＰＵに対して、デフォルトの４分の１ペルＭＶ解像度が使用される。そうでなければ、ＣＵに属するＡＭＶＰモードで符号化されるすべてのＰＵは、整数ＭＶ解像度を使用し、マージ・モードで符号化されるＰＵは、やはり４分の１ペルＭＶ解像度を使用する。ＰＵが整数ＭＶ解像度を使用するとき、ＡＭＶＰ候補リストは、４分の１ペルのＭＶを整数ペルのＭＶに丸めることによって整数ＭＶで満たされる。
【００４０】
本発明の原理は、ビデオ符号化及びビデオ復号での動きベクトルの改良を対象とする。一実施形態では、第１解像度ＭＶＤ（たとえば、１／４ペル）がビットストリームにおいて受信され、復号器が、ＭＶＤに基づいて初期動きベクトルを取得し、既に復号された隣接サンプルを使用して、初期動きベクトルを改良して、第１解像度よりも高い第２動き解像度（たとえば、１／８ペル）を取得する。動き情報の改良は、符号器においても実行されて、不整合を回避する。動き改良は、符号器と復号器の両方で実行されるので、動き改良を示すための追加情報がビットストリームにおいて伝送されず、たとえば、１／４ペルから１／８ペルまでの動きベクトルの改良を示すための明確な信号伝送が使用されない。一変形では、現在のブロックについてマージ・モードが使用され（すなわち、ビットストリームにおいてＭＶＤが受信されない）、初期動きベクトルが、候補リスト内の動きベクトル予測子として得られ（場合によっては、第１解像度に丸められ）、改良されて第２動き解像度を得る。
【００４１】
動き情報の改良は、符号器又は復号器での動き推定を使用して実行してもよい。動き解像度の改良なしで第１動き解像度（たとえば、１／４ペル）を使用する手法と比較すると、提案された実施形態は、改良動き情報を伝送するオーバヘッドなしに、動き確度を改善することができる。復号器での動き解像度の改良なしで第２動き解像度（たとえば、１／８ペル）を使用する手法と比較すると、提案された実施形態は、動き改良情報を伝送するオーバヘッドを削減することができる。本発明の原理による復号器は、動き探索を実行することもでき、したがって、動き探索を必要としない復号器よりも複雑になる場合があることに留意されたい。
【００４２】
図４には、本発明の原理の一実施形態により、復号器において動きベクトルの改良を実行する例示的な方法４００が示してある。この例では、復号器は、動きベクトル解像度を１／４ペルから１／８ペルまで改良することができると仮定する。本発明の原理は、他の動き解像度、たとえば、それだけには限定されないが、整数ペルから１／４ペルまで、１／４ペルから１／６ペルまでの間の改良に適用できることに留意されたい。
【００４３】
復号されるブロックでは、復号器は、たとえば、ビットストリーム内のフラグを使用して、又は前述の通り既存の方法を使用して、適応型動きベクトル解像度が有効になっているかどうか検査する（４１０）。適応型動きベクトル解像度が有効になっている場合、復号器は、たとえば、ＨＥＶＣのＡＭＶＰモードを使用して、１／４ペルの解像度でＭＶ予測子（ＭＶＰ）を生成する（４２０）。この予測子が１／８ペルの場合は、１／４ペルに丸められる。次いで、復号器は、１／４ペルの解像度でＭＶＤを復号する（４３０）。初期動きベクトルを、ＭＶ０＝ＭＶＰ＋ＭＶＤとして得ることができる（４４０）。次いで、初期動きベクトル（ＭＶ０）は、１／８ペルの解像度にまで改良することができ（４５０）、動き補償予測に使用することができる。
【００４４】
４２０において、やはりＭＶ予測子を１／８ペルで生成してもよい。ＭＶ予測子が１／４ペルで生成されるか、それとも１／８ペルで生成されるかは、符号器が使用したものと一致していなければならない。
【００４５】
動き補償予測ブロックの各サンプルは、基準画像インデックスによって識別される基準画像内の動きベクトルによって変位された位置における対応するブロックのサンプルから得られる。動きベクトルが整数でない場合、分数サンプル補間を使用して、予測サンプルを生成する。
【００４６】
ＨＥＶＣは、１／４ペルでの動きベクトルに対応している。動きベクトルをＭＶ＝ｉＭＶ＋ｓＭＶと表す。ここで、ｉＭＶはＭＶの整数部分であり、ｓＭＶは１／４ペル部分（第１動き解像度）であり、ｓＭＶ＝ｐ／４であり、ｐ＝０、１、２、３であり、次いで、補間済みサンプル値を以下のように計算することができる。
【数１】
2019519995.tif 000003
ここで、ｘは画素の位置であり、ｃ［ｐ］［ｉ］、ｉ＝０、．．．、Ｎ−１はｐ／４ペルの位置に対応するフィルタ係数であり、Ｎはフィルタ・タップの数である。ＨＥＶＣでの１／４ペル補間のためのフィルタ係数は以下の通りである。
ｃ［ｐ＝０］［］＝｛０，０，０，６４，０，０，０，０｝。整数位置に対応しており、スケーリングのみが存在している。
ｃ［ｐ＝１］［］＝｛−１，４，−１０，５８，１７，−５，１，０｝。１／４ペルの位置に対応しており、７タップのフィルタである。
ｃ［ｐ＝２］［］＝｛−１，４，−１１，４０，４０，−１１，４，−１｝。１／２ペルの位置に対応しており、８タップのフィルタである。
ｃ［ｐ＝３］［］＝｛０，−５，１７，５８，−１０，４，−１｝。１／４ペルの位置に対応しており、７タップのフィルタである。
【００４７】
相対的に解像度の高い１／８ペルを使用する場合、１／８ペルの補間フィルタを使用して１／８ペル部分を補間し、これはｓＭＶ＝ｐ／８を含み、ｐ＝０、１、２、３、４、５、６、７、８である。たとえば、以下の１／８ペル補間フィルタ（Ｎ＝４）を使用することができる。
ｃ［ｐ＝０］［］＝｛０，６４，０，０｝、
ｃ［ｐ＝１］［］＝｛−２，５８，１０，−２｝、
ｃ［ｐ＝２］［］＝｛−４，５４，１６，−２｝、
ｃ［ｐ＝３］［］＝｛−６，４６，２８，−４｝、
ｃ［ｐ＝４］［］＝｛−４，３６，３６，−４｝、
ｃ［ｐ＝５］［］＝｛−４，２８，４６，−６｝、
ｃ［ｐ＝６］［］＝｛−２，１６，５４，−４｝、
ｃ［ｐ＝７］［］＝｛−２，１０，５８，−２｝。
【００４８】
改良前の動き解像度に関係する範囲の場合、動き改良プロセスは動き推定と見なしてもよい。たとえば、動きベクトルが１／４ペルの第１解像度から１／８ペルの第２解像度まで改良されるとき、動き探索範囲は初期動きベクトルの周りの候補を含む。より一般には、動き改良のための探索候補は、水平方向及び垂直方向において、それぞれＭＶＸ０−ΔＭＶＸ〜ＭＶＸ０＋ΔＭＶＸ、ＭＶＹ０−ΔＭＶＹ〜ＭＶＹ０＋ΔＭＶＹとすることができ、ここで、ＭＶＸ０及びＭＶＹ０は、それぞれ初期動きベクトルＭＶ０の水平成分及び垂直成分であり、ΔＭＶＸ及びΔＭＶＹは、それぞれ水平方向及び垂直方向での探索範囲を規定する。
【００４９】
たとえば、水平方向での改良候補は、（ＭＶＸ０−ｋ×ステップ２、ＭＶＸ０＋ｋ×ステップ２）とすることができ、ここでｋは整数であり、以下のように定義される。
−ステップ１＜（ｋ＊ステップ２）＜ステップ１（３）
ここで、ステップ１は第１解像度であり、ステップ２は第２解像度である。ステップ１＝１／４、かつステップ２＝１／８のとき、−２＜ｋ＜２である。図５には、整数画素、１／２画素、１／４画素、及び１／８画素での画素の画素位置が示してある。表記を容易にするため、これらの候補を動き改良候補と呼んでもよく、動き改良候補とともに動き補償によって構築された予測ブロックを動き改良予測ブロックと呼び、動き改良予測ブロック内のサンプルを動き改良予測サンプルと呼ぶ。
【００５０】
（ＭＶＸ０，ＭＶＹ０）が位置５１０に対応するとき、探索候補の例示的なセットは、ボックス５２０内の各位置を含む。探索範囲、より一般には探索候補のセットは、図５に示すものとは異なる場合がある。符号器と復号器では、探索候補の同じセットを使用しなければならない。
【００５１】
適応型動きベクトル解像度が有効になっていない場合、復号器は、復号済みの動きベクトルに使用される動き解像度でＭＶＰ及びＭＶＤを取得し、復号器では動き改良は実行されない。図４に示すように、復号器は、１／８ペル解像度でＭＶＰとＭＶＤの両方を取得してもよく（４６０、４７０）、動きベクトルを、１／８ペル解像度でＭＶ＝ＭＶＰ＋ＭＶＤとして復号してもよい（４８０）。一変形では、復号器は、１／４ペル解像度でＭＶＰとＭＶＤの両方を取得してもよく（４６０、４７０）、動きベクトルを、１／４ペル解像度でＭＶ＝ＭＶＰ＋ＭＶＤとして復号してもよい（４８０）。
【００５２】
以下では、動きベクトル改良（４５０）を実行するのに使用できるいくつかの実施形態を更に詳細に説明する。
【００５３】
復号器において動きベクトルを改良するために、画像信号は通常滑らかで連続的であるという特性を使用する。したがって、復号器側においては、動きベクトルが正確な場合、復号済みブロックは、通常、隣接ブロックに対して連続的でなければならない。一実施形態では、再構成された隣接サンプルを使用してＭＶを改良する。具体的には、動き改良候補を用いる動き補償によって構築された予測ブロックと、これまでに再構成されたサンプル、たとえば図６Ａに示すような隣接する上部左側ブロックのサンプルとの間の不連続性を測定することによって、前述のような探索候補のセットが評価される。
【００５４】
図６Ａには、復号される例示的なＰＵ（６５０）が示してある。現在のＰＵの上方又は左側の他のＰＵ（６１０、６２０、６３０、６４０）は、既に復号されており、現在のＰＵを復号するのに利用可能である。具体的には、隣接ブロック（６１０、６２０、６４０）内の復号済みサンプルのＬ字形セット（６７０）を使用して、現在のＰＵ（６５０）での動きベクトルを改良してもよい。ＰＵは、図６Ａに示すものとは異なるサイズ又は形状でもよく、相対的に大きい又は小さい１組の隣接する再構成済みサンプルを使用して、現在のＰＵの動きベクトルを改良できることに留意されたい。本出願では、動き改良用にサンプルのＬ字形セットを使用する。より一般には、動き改良用にサンプルの様々なセットを使用することができ、この改良はブロックに適用することができる。
【００５５】
一実施形態では、隣接ブロック内の復号済みサンプルのＬ字形セット（６７０）（「隣接Ｌ字形」と呼ばれる）、及び現在の予測ブロック内のサンプルのＬ字形セット（６８０）に基づく不連続性を使用する。図６Ｂに示すように、この不連続性は、再構成済みサンプル（ｎ）と最も近い動き改良予測サンプル（ｐ）との間の絶対差の合計（ＳＡＤ）として測定することができる。数学的には、この改良済み動きベクトル差分は、以下のように計算することができる。
【数２】
2019519995.tif 000004
ここで、ｐは、位置が（ｘｐ，ｙｐ）の場合のＰＵのＬ字形での動き改良予測サンプルであり、Σｐ｜｜は、ＰＵのＬ字形セット全体にわたる総和であり、ＭＶ０＝ＭＶＰ＋ＭＶＤは、改良される動きベクトルであり、ｎは、位置が（ｘｎ，ｙｎ）の場合のｐの隣のＬ字形での再構成済みサンプルであり（たとえば、ｐがＰＵの左側境界に属する場合はｘｎ＝ｘｐ−１、ｙｎ＝ｙｐであり、ｐがＰＵ上側境界に属する場合はｘｎ＝ｘｐ、ｙｎ＝ｙｐ−１であり）、Ｉｒｅｃ（ｎ）は、現在の画像の再構成済み（又は復号済み）サンプル値であり、Ｉｒｅｆ（ｐ＋ＭＶＰ＋ＭＶＤ＋ＭＶＤｒｅｆｉｎｅ）は、ＭＶＤｒｅｆｉｎｅｄが選択されるときの動き補償予測値である。
【００５６】
一変形では、残差と動き補償予測ブロックの合計を検討し、ＭＶＤｒｅｆｉｎｅが選択された場合は、Ｉｒｅｆ（ｐ＋ＭＶ０＋ＭＶＤｒｅｆｉｎｅ）＋Ｒｅｓ（ｐ）がサンプルｐの再構成値となるはずである。次いで、この改良済み動きベクトル差分は、以下のように計算することができる。
【数３】
2019519995.tif 000005
ここで、Ｒｅｓ（ｐ）はサンプルｐでの残差である。
【００５７】
本発明の原理に従って動きベクトル改良を含むようにＨＥＶＣ復号器を修正するとき、ＭＶ０は、ＡＭＶＰでのＭＶＤ＋ＭＶＰに設定することができ、又はマージ・モードでの候補リストにおいて信号伝送されるものに設定することができ、ここでＭＶＤ及びＭＶＰは、ＨＥＶＣによって指定されるように得られる。一般に、ＭＶ０は、復号器において動き探索を実行することなく復号器が得た動きベクトルである。
【００５８】
動き改良は、候補動きベクトルのセットを用いて、相対的に高い動き解像度において、初期動きベクトルの周りから選択された、復号器における動き探索と見なすことができる。最良の動きベクトルの選択肢は、ある特定の基準、たとえば式（４）又は（５）に記載されている不連続性尺度を最小限に抑える選択肢でもよい。すなわち、初期動きベクトルＭＶ０が得られた後、動き探索が更に実行されて、初期動きベクトルを改良する。初期動きベクトルの周りの探索候補の小さいセットだけしか検査する必要がないので、復号器での余分な複雑さは、通常わずかなものである。
【００５９】
数学的には、得られた改良済みＭＶは、以下のように表すことができる。
【数４】
2019519995.tif 000006
次いで、基準画像内の改良済みＭＶに対応するブロックは、たとえば前述のような補間フィルタを使用して、ＰＵを復号するための予測ブロックとして使用される。通常、動き改良によって、符号器は低解像度でＭＶＤを符号化できるようになり、したがって、フル解像度でＭＶＤを符号化することと比較して動き情報を符号化するコストが削減され、復号器は、依然としてフル解像度でＭＶを回復することができる。
【００６０】
本出願では、様々な実施形態において差分尺度としてＳＡＤを使用する。ＳＡＤの代わりに、他の差分尺度、たとえば、それだけには限定されないが、残差の二乗和（ＳＳＥ）を使用できることに留意されたい。
【００６１】
別の実施形態では、隣接画素での勾配が通常は類似しているという特徴を使用し、不連続性を測定するために位置（ｎ）及び（ｐ）での局所勾配を計算する。信号（すなわち、画像サンプル）が空間的に静止していると仮定すると、線形項に切り捨てられたテイラー級数として信号を局所的にモデル化することができる。
Ｉ（ｘ＋ｄ）＝Ｉ（ｘ）＋ｇ（ｘ）．ｄ  （７）
ここで、Ｉ（ｘ）は、位置ｘでの画像サンプル値であり、ｇは、局所勾配を用いて推定された２×２行列である。
【００６２】
式（７）を使用すると、隣接する再構成済みサンプルＲ（ｘ）と動き改良予測ブロックＰ（ｘ）の間の関係は以下の通りとなる。
Ｒ（ｎ）＝Ｐ（ｐ）＋ｇ（ｐ）．（ｎ−ｐ）  （８）
ここで、Ｐ（ｐ）＝Ｉｒｅｆ（ｐ＋ＭＶ０＋ＭＶＤｒｅｆｉｎｅ）、及びＲ（ｎ）＝Ｉｒｅｃ（ｎ）である。一変形では、Ｐ（ｐ）を計算するときに残差を含むことがある。ｐ＝（ｘｐ，ｙｐ）の位置での局所勾配は、図７Ａに示すように表すことができる。
Ｇｌｌ（ｐ）＝Ｒ（ｎ）−Ｐ（ｐ）であり、ここでｎ＝（ｘｐ−１，ｙｐ−１）である
Ｇ１２（ｐ）＝Ｒ（ｎ）−Ｐ（ｐ）であり、ここでｎ＝（ｘｐ−１，ｙｐ）である
Ｇ１３（ｐ）＝Ｒ（ｎ）−Ｐ（ｐ）であり、ここでｎ＝（ｘｐ−１，ｙｐ＋１）である
【００６３】
次いで、局所勾配の絶対値の合計を使用して、不連続性を計算することができ、不連続性を最小限に抑える動きベクトル改良が選択される。
【数５】
2019519995.tif 000007
ｐ＝（ｘｐ，ｙｐ）の位置での２次モーメントは、図７Ｂに示すように表すことができる（ｎ及びｐが、Ｌ字形の垂直左側境界に位置しているとき）：
Ｇ２１（ｐ）＝Ｒ（ｎ２）−Ｒ（ｎ）−Ｇ１１であり、ここでｎ＝（ｘｐ−１，ｙｐ−１）であり、ｎ２＝（ｘｐ−２，ｙｐ−２）である
Ｇ２２（ｐ）＝Ｒ（ｎ２）−Ｒ（ｎ）−Ｇ１２であり、ここでｎ＝（ｘｐ−１，ｙｐ）であり、ｎ２＝（ｘｐ−２，ｙｐ）である
Ｇ２３（ｐ）＝Ｒ（ｎ２）−Ｒ（ｎ）−Ｇ１３であり、ここでｎ＝（ｘｐ−１，ｙｐ＋１）であり、ｎ２＝（ｘｐ−２，ｙｐ＋２）である
Ｇ２４（ｐ）＝Ｒ（ｎ２）−Ｒ（ｎ）−Ｐ（ｐ）＋Ｐ（ｐ２）であり、ここでｎ＝（ｘｐ−１，ｙｐ）であり、ｎ２＝（ｘｐ−１，ｙｐ＋１）であり、ｐ２＝（ｘｐ，ｙｐ＋１）である。
【００６４】
サンプルｐがＰＵの上側境界にあるとき、同様に勾配を得ることができる。左上隅部では、左側の境界又は上側の境界に存在するように処理することができ、又は２回（１回は境界として、また１回は上部として）処理することができる。
【００６５】
次いで、勾配の２次モーメントの絶対値の合計を使用して、不連続性を計算することができ、不連続性を最小限に抑える動きベクトル改良が選択される。
【数６】
2019519995.tif 000008
【００６６】
不連続性は、局所勾配の絶対値と２次モーメントの合計として計算することもできる。
【数７】
2019519995.tif 000009
本発明の原理は、他の形式の勾配計算にも適用できることに留意されたい。
【００６７】
図８には、本発明の原理の一実施形態により、符号器において動きベクトルの改良を実行する例示的な方法８００が示してある。方法８００の出力は、方法４００への入力ビットストリームとして使用してもよい。初期化ステップ（８０５）において、符号器は、入力として符号化されるビデオ・シーケンスにアクセスしてもよい。更に、符号器は、各パラメータを初期値に設定してもよく、たとえば、Ｂｅｓｔ＿ｆｌａｇ＝１に設定し、Ｂｅｓｔ＿ＲＤｃｏｓｔを大きい値に設定してもよい。
【００６８】
動き推定（８１０）は、１／８解像度で実行されて、動きベクトル（ＭＶ）を得る。次いで、符号器は、適応型動き改良を使用して動きベクトルを符号化することがより効率的であるかどうかを検査する。ステップ８２０〜８４０から、符号器は、たとえばＲＤ（レート歪み）コストを使用して、動き改良を用いたＭＶ符号化コストを検査する。ステップ８４５〜８７５から、符号器は、動き改良なしの場合のＭＶ符号化コストを検査する。次いで、最終ＭＶ（Ｂｅｓｔ＿ＭＶ）に基づいて動き補償が実行され、残差を計算することができる（８８５）。残差、最終ＭＶＤ（Ｂｅｓｔ＿ＭＶＤ）、及び適応型動き改良フラグ（Ｂｅｓｔ＿ｆｌａｇ）が符号化されて（８９０）、ビットストリームになる。
【００６９】
より具体的には、ステップ８１５において、対応する復号器が動きベクトル予測子リストをどのように構築するかと一貫して、たとえば、ＡＭＶＰからの動きベクトル予測子候補リスト、１／８ペル初期動きベクトル予測子の丸め処理済みバージョン、又は隣接する動きベクトルの平均値を使用して、１／４ペル解像度で動きベクトル予測子リストが構築される。解像度を下げることにより、動きベクトル予測子を相対的に「相関関係の強い」ものにし（すなわち、インデックスを伝送して動きベクトル予測子を指示できるように、予測される動きベクトルを正確に予測することができ）、動き改良が、高解像度部分（すなわち、相対的に「相関関係の弱い」部分）を取得できるようになる。場合によっては、ＭＶＰリストは、１つのＭＶＰのみを含んでいてもよい。ＭＶＰリスト内の各ＭＶＰについて、動きベクトル差分（ＭＶＤ）は、ＭＶＤ＝ＭＶ−ＭＶＰとして計算され（８２０）、初期動きベクトルは、ＭＶ０＝ＭＶＰ＋ＭＶＤとして計算することができる。
【００７０】
一変形では、ステップ８１５において１／８ペル解像度で、動きベクトル予測子候補リストを構築してもよく、ステップ８２０において動きベクトル差分ＭＶＤを１／４ペルに丸める。ＭＶＰ又はＭＶＤに丸め処理が適用されるので、ＭＶ０はＭＶと異なる場合があることに留意されたい。
【００７１】
この改良を実行して（８２５）、たとえば式（４）又は（５）に記述されるようにＭＶＤｒｅｆｉｎｅを取得し、ＭＶ＊＝ＭＶ０＋ＭＶＤｒｅｆｉｎｅとして、改良済み運動ベクトルを取得する。次いで、ＭＶ＊に基づいて残差を計算することができる（８２７）。ステップ８３０において、調整済み動きベクトル（ＭＶ＊）の符号化コストは、ＲＤ（レート歪み）コストを使用して推定することができる。ステップ８３５において、符号器は、現在の調整済み動きベクトルのＲＤコストが、現在のＢｅｓｔ＿ＲＤｃｏｓｔよりも小さいかどうかを検査する。「はい」の場合、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ、Ｂｅｓｔ＿ＭＶ、Ｂｅｓｔ＿ＭＶＤは、現在のＲＤコスト、現在の調整済み動きベクトル、及び現在のＭＶＤに設定され、他のいくつかの関連する符号化情報も記憶することができる。
【００７２】
ステップ８４５において、たとえば、ＡＭＶＰからの動きベクトル予測子候補リストを使用して、動きベクトル予測子リストが１／８ペル解像度で構築される。符号器が動き解像度を１／４ペルに調整しないことを除いて、ステップ８４５はステップ８１５と同様である。ＭＶＰリスト内の各ＭＶＰでは、１／８ペル解像度でのＭＶＰに基づいてＭＶＤが計算される（８５０）。動きベクトルＭＶ１＝ＭＶＰ＋ＭＶＤについて残差を計算することができ（８５２）、ステップ８５５において、ＲＤコストを使用して動きベクトルＭＶ１の符号化コストを推定することができる。ステップ８６５において、符号器は、現在の動きベクトルのＲＤコストが、現在のＢｅｓｔ＿ＲＤｃｏｓｔよりも小さいかどうかを検査する。「はい」の場合、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ、Ｂｅｓｔ＿ＭＶ、及びＢｅｓｔ＿ＭＶＤが、現在のＲＤコスト、現在の動きベクトル、及び現在のＭＶＤに設定され、適応型動き改良フラグが偽（０）に設定される。関連する他の符号化情報も記憶してよい。
【００７３】
ＭＶＤが０のとき、たとえば、マージ・モードが使用されるとき、ステップ８２０及び８５０は必要ではなく、ステップ８４０及び８７５において、Ｂｅｓｔ＿ＭＶＤを計算する必要はなく、ステップ８９０において、Ｂｅｓｔ＿ＭＶＤを符号化する必要はない。
【００７４】
動き改良は、動きベクトル予測子に対応するすべての動きベクトルに適用することができ、又はサブセットに適用することができる。たとえば、動き改良は、ＡＭＶＰの動きベクトル予測子のみに対して、又はマージ・モードのみに対して使用される。
【００７５】
方法８００では、符号器は、符号化コストに基づいて適応型動き改良を使用するかどうか判定し、ビットストリーム内のフラグを用いてこの選択を信号伝送する。他の実施形態では、符号器は、たとえば、更に以下で説明するように、又はLakshman及びChenにおいて説明するように、符号化コストを検査することなくビデオ特性に基づいて適応型動き改良を使用するかどうか判定してもよい。したがって、符号器は、方法８００の一部分（たとえば、動き改良を用いる部分、又は動き改良を用いない部分）を実行するだけでよい場合がある。
【００７６】
方法８００に従って、追加のシンタックス要素Ｂｅｓｔ＿ｆｌａｇを送信しなければならない場合があることに留意されたい。しかし、動きベクトルの高解像度部分は、通常ランダムであり符号化するのにコストがかかるので、Ｂｅｓｔ＿ｆｌａｇを送信することは、１／８ペル解像度でＭＶＤを送信することよりも依然として効率的になる場合がある。
【００７７】
動きベクトルを改良することによって、動きベクトル差分ＭＶＤを１／４ペル動き解像度でビットストリーム内において伝送しながら、符号器は１／８ペル動き解像度に達することができる。したがって、ＭＶＤは、符号化するのに必要となるビットが相対的に少なくて済む場合がある。たとえば、表１に示すように、動き推定（８１０）からの現在のブロックでの動きベクトル（ＭＶ）は３．６２５であり、動きベクトル予測子リスト（８１５）は｛３．０，．．．｝を含む。動きベクトル予測子ＭＶＰ０＝３．０において、動き改良が有効になっていないとき、ＭＶＤ（８５０）は、ＭＶ−ＭＶＰ＝０．６２５（１／８ペルで符号化）である。その一方で、動き改良が有効になっていると、ＭＶＤは、０．５（１／４ペル）に丸められ、初期動きベクトル（８２０）は、ＭＶ０＝ＭＶＰ＋ＭＶＤ＝３．５になる。次いで、動きベクトルＭＶ０が改良されて（８２５）、ＭＶ＊＝３．６２５になる。この例では、改良済みの動きは、動き推定から得られるＭＶと同じであり、ＭＶＤは、１／４ペルで伝送され、したがって、動き改良が使用されないときよりもビットが少なくて済む（すなわち、ＭＶＤは１／８ペルで伝送される）。したがって、符号器は、動き改良を有効にすることを選択する可能性が高い。
【００７８】
【表１】
2019519995.tif 000010
【００７９】
上記の例では、改良済み動きベクトルは、動き推定からの動きベクトルと同じである。改良済み動きベクトルは、動き推定から得られる動きベクトルと異なる場合があることに留意されたい。
【００８０】
ＭＶＰ改良
上記では、動きベクトル予測子ＭＶＰ及び動きベクトル差分ＭＶＤに基づいて生成される、初期動きベクトルへの改良について論じている。別の実施形態では、この改良は、（ＭＶＤを含まない）動きベクトル予測子について実行することができる。図６に戻って参照すると、たとえば、ＨＥＶＣによって指定されるＡＭＶＰを使用して、初期動きベクトル予測子（ＭＶＰ０）が得られた後、再構成済みのＬ字形（６７０）を使用して動きベクトル予測子を改良することができる。
【００８１】
具体的には、復号器は、初期動きベクトル予測子の周りの動きベクトル予測子に対応するＭＣ  Ｌ形型（６８０）を形成してもよく、たとえば、
【数８】
2019519995.tif 000011
である。次いで、復号器は、再構成済みのＬ字形（６７０）と、互いに異なるＭＣ  Ｌ字形（６８０）との間の差、たとえば前述のような不連続性又は勾配を比較することができ、初期運動ベクトル予測子への改良として最も小さい差分を生成する運動改良（ΔＭＶ＊）を選択し、すなわち、改良済み運動ベクトル予測子を、ＭＶＰ＊＝ＭＶＰ０＋ΔＭＶ＊として計算することができる。再構成済みのＬ字形（６７０）とＭＣ  Ｌ字形（６８０）の両方が復号サンプルに基づいており、したがって符号器側と復号器側の両方で同じプロセスを実行できることに留意されたい。
【００８２】
一般に、動きベクトル予測子のための動き改良は、初期動きベクトル予測子の周りの完全な動き解像度での、いくつかのサブサンプル変位を含む探索範囲での動き探索と見なすことができる。たとえば、５１０での動きベクトル予測子ＭＶＰ０は、図５に示すような５２０内の探索候補を使用して改良してもよい。（ＭＶＤを用いて）動きベクトルを改良するのと同様に、図５に示したものとは異なる探索候補のセットを使用してもよい。
【００８３】
一変形では、動き改良は、初期動きベクトル予測子の丸め処理済みバージョン（ｒｏｕｎｄ（ＭＶＰ０））に実行することができ、動き改良の探索範囲は、丸め処理済み動きベクトル予測子の周りのフル動き解像度でのサブサンプル変位を含む。たとえば、改良済み動き解像度が１／８ペルのとき、ＭＶＰ０の丸め処理済みバージョンは、整数ペル、２分の１ペル、又は４分の１ペルの解像度でもよい。この理由は、実際の動きベクトルが、相対的に低い解像度で動きベクトルの周りに集中する可能性がより高く、初期動きベクトル予測子の丸め処理済みバージョンが、探索のためのより良好な起点を提供する場合があることである。
【００８４】
別の変形では、ＭＶＰ候補リストにおいて使用される隣接動きベクトルの平均値に対して、動き改良を実行してもよい。たとえば、動き改良は、左側及び上側の動きベクトルの平均値（ＭＶｌｅｆｔ＋ＭＶａｂｏｖｅ）／２を初期動きベクトル予測子として使用し、次いで、この初期動きベクトル予測子の周りで動き探索を実行してもよい。動き改良は通常、ほとんど又は比較的均一な動き領域内で選択されることが分かる。現在のブロックに隣接する動きベクトルを平均することによって、探索のための更に良好な起点を提供することができる。動き改良が選択されるとき、すなわち、動きフィールドが均一であるとき、予測子候補リストは、このリスト内の１つ（左側又は上側）の候補のみを使用するように減らしてもよく、したがって可能な候補の数を減らしてもよい。ＡＭＶＰリストのインデックスを符号化し、又はビットストリーム内で伝送する必要がないので、これによって圧縮効率を改善することができる。
【００８５】
図９には、本発明の原理の一実施形態により、復号器において動きベクトル予測子の改良を実行する例示的な方法９００が示してある。この例では、復号器は、動きベクトル予測子の解像度を１／４ペルから１／８ペルまで改良することができると仮定する。
【００８６】
あるブロックでは、復号器は、たとえば、ビットストリーム内のフラグを使用して、又は前述の通り既存の方法を使用して、適応型動きベクトル解像度が有効になっているかどうか検査する（９１０）。適応型動きベクトル解像度が有効になっている場合、復号器は、１／４ペルの解像度でＭＶ予測子（ＭＶＰ）を生成する（９２０）。初期動きベクトル予測子は、たとえば、それだけには限定されないが、ＨＥＶＣのＡＭＶＰモードを使用して、隣接動きベクトルの平均値を使用して、又は動きベクトル予測子の丸め処理済みバージョンを使用して生成することができる。次いで、動きベクトル予測子は、たとえば前述の実施形態を使用して、１／８ペル解像度に改良することができる（９３０）。復号器は、１／８ペル解像度でＭＶＤを復号する（９４０）。次いで、動きベクトルを、ＭＶ＝ＭＶＰ＊＋ＭＶＤとして取得し（９５０）、動き補償予測に使用することができる。
【００８７】
適応型動きベクトル解像度が有効になっていない場合、復号器は、復号済みの動きベクトルに使用される動き解像度でＭＶＰ及びＭＶＤを取得し、復号器では動き改良は実行されない。図９に示すように、復号器は、１／８ペル解像度でＭＶＰとＭＶＤの両方を取得してもよく（９６０、９７０）、動きベクトルを、１／８ペル解像度でＭＶ＝ＭＶＰ＋ＭＶＤとして復号してもよい（９８０）。一変形では、復号器は、１／４ペル解像度でＭＶＰとＭＶＤの両方を取得してもよく（９６０、９７０）、動きベクトルを、１／４ペル解像度でＭＶ＝ＭＶＰ＋ＭＶＤとして復号してもよい（９８０）。
【００８８】
図１０には、本発明の原理の一実施形態により、符号器において動きベクトル予測子の改良を実行する例示的な方法１０００が示してある。方法１０００の出力は、方法９００への入力ビットストリームとして使用してもよい。初期化ステップ（１００５）において、符号器は、入力として符号化されるビデオ・シーケンスにアクセスしてもよい。更に、符号器は、各パラメータを初期値に設定してもよく、たとえば、Ｂｅｓｔ＿ｆｌａｇ＝１に設定し、Ｂｅｓｔ＿ＲＤｃｏｓｔを大きい値に設定してもよい。
【００８９】
動き推定（１０１０）を１／８解像度で実行して、動きベクトルＭＶを得る。次いで、符号器は、適応型動き改良を使用して動きベクトルを符号化することがより効率的であるかどうかを検査する。ステップ１０２０〜１０４０から、符号器は、たとえばＲＤ（レート歪み）コストを使用して、動き改良を用いたＭＶ符号化コストを検査する。ステップ１０４５〜１０７５から、符号器は、動き改良なしの場合のＭＶ符号化コストを検査する。次いで、最終ＭＶ（Ｂｅｓｔ＿ＭＶ）に基づいて動き補償が実行され、残差を計算することができる（１０８５）。残差、最終ＭＶＤ（Ｂｅｓｔ＿ＭＶＤ）、及び適応型動き改良フラグ（Ｂｅｓｔ＿ｆｌａｇ）が符号化されて（１０９０）、ビットストリームになる。
【００９０】
より具体的には、ステップ１０１５において、対応する復号器が動きベクトル予測子リストをどのように構築するかと一貫して、たとえば、ＡＭＶＰからの動きベクトル予測子候補リスト、初期動きベクトル予測子の（たとえば、所望の解像度での最も近い整数への）丸め処理済みバージョン、又は隣接する動きベクトルの平均値を使用して、１／４ペル解像度で動きベクトル予測子リストが構築される。場合によっては、ＭＶＰリストは、１つのＭＶＰのみを含んでいてもよい。ステップ１０１５において、動きベクトル予測子リストは、１／８ペル解像度で構築することもできる。しかし、相対的に低い解像度（１／４ペル）を使用することの１つの利点は、ＲＤ最適化が１／８ペル解像度又は１／４ペル解像度でのＭＶを区別することができない平坦な領域でのドリフトを回避できることである。低減された解像度を使用することで、ＭＶ雑音を低減できるＭＶ予測子の一種の平滑化が可能になる。また、改良のための探索ウィンドウのサイズが相対的に小さい場合（１／８の改良に対して±１／４）、探索ウィンドウでの開始／中心ＭＶの精度は結果を変える場合がある。
【００９１】
ＭＶＰリスト内の各ＭＶＰでは、たとえば復号器について前述したように、ＭＶＰ改良が実行される（１０２０）。ＭＶＤは、改良済みＭＶＰ（ＭＶＰ＊）に基づいて計算され（１０２５）、動き補償（ＭＶ＊＝ＭＶＤ＋ＭＶＰ＊）に使用できる調整済みの動きベクトル（ＭＶ＊）も計算することができる。ステップ１０３０において、調整済み動きベクトル（ＭＶ＊）の符号化コストは、ＲＤコストを使用して推定することができる。ステップ１０３５において、符号器は、現在の調整済み動きベクトルのＲＤコストが、現在のＢｅｓｔ＿ＲＤｃｏｓｔよりも小さいかどうかを検査する。「はい」の場合、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ、Ｂｅｓｔ＿ＭＶ、及びＢｅｓｔ＿ＭＶＤは、現在のＲＤコスト、現在の調整済み動きベクトル、及び現在のＭＶＤに設定され（１０４０）、Ｂｅｓｔ＿ｆｌａｇは真（１）のままである。
【００９２】
ステップ１０４５において、たとえば、ＡＭＶＰからの動きベクトル予測子候補リストを使用して、動きベクトル予測子リストが１／８ペル解像度で構築される。ＭＶＰリスト内の各ＭＶＰでは、１／８ペル解像度でのＭＶＰに基づいてＭＶＤが計算される（１０５０）。ステップ１０５５において、動きベクトル（ＭＶ）の符号化コストは、ＲＤコストを使用して推定することができる。ステップ１０６５において、符号器は、現在の動きベクトルのＲＤコストが、現在のＢｅｓｔ＿ＲＤｃｏｓｔよりも小さいかどうかを検査する。「はい」の場合、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ、Ｂｅｓｔ＿ＭＶ、及びＢｅｓｔ＿ＭＶＤが、現在のＲＤコスト、現在の動きベクトル、及び現在のＭＶＤに設定され（１０７５）、適応型動き改良フラグ（Ｂｅｓｔ＿ｆｌａｇ）が偽（０）に設定される。
【００９３】
方法１０００では、符号器は、符号化コストに基づいて適応型動き改良を使用するかどうか判定し、ビットストリーム内のフラグを用いてこの選択を信号伝送する。他の実施形態では、符号器は、たとえば、更に以下で説明するように、又はLakshman及びChenにおいて説明するように、符号化コストを検査することなくビデオ特性に基づいて適応型動き改良を使用するかどうか判定してもよい。したがって、符号器は、方法１０００の一部分（たとえば、動き改良を用いる部分、又は動き改良を用いない部分）を実行するだけでよい場合がある。
【００９４】
動きベクトル予測子を改良することによって、ＭＶ予測子をより正確にすることができる。したがって、ＭＶＤは、統計的により低い値を有してもよく、次いで符号化コストを低減することができる。たとえば、表２に示すように、動き推定（１０１０）からの現在のブロックでの動きベクトル（ＭＶ）は３．６２５であり、動きベクトル予測子リスト（１０１５）は｛３．０，．．．｝を含む。動きベクトル予測子ＭＶＰ０＝３．０の場合、これを、動き改良によってＭＶＰ＊＝３．５まで改良する（１０２０）。続いて、動きベクトル差分は、ＭＶＤ＝ＭＶ−ＭＶＰ＊＝０．１２５である。動き改良を使用しない場合の動きベクトル差分ＭＶ−ＭＶＰ０＝０．６２５と比較すると、符号化されるＭＶＤはより小さく、符号化するのに必要となるビットが相対的に少なくなることがある。この例では、動き改良を使用することで圧縮効率を改善することができ、したがって、符号器は、適応型動き改良を可能にすることを選択する可能性が高い。動き補償に使用される動きベクトルは、ＭＶＰ＊＋ＭＶＤ＝３．６２５である。
【００９５】
【表２】
2019519995.tif 000012
【００９６】
ＭＶＤが０のとき、たとえば、マージ・モードが使用されるとき、ステップ１０２０及び１０５０は必要ではなく、ステップ１０４０及び１０７５において、Ｂｅｓｔ＿ＭＶＤを計算する必要はなく、ステップ１０９０において、Ｂｅｓｔ＿ＭＶＤを符号化する必要はない。ＭＶＤが０のとき、方法１０００は方法８００と同じになってもよいことに留意されたい。動き改良は、動きベクトル予測子に対応するすべての動きベクトルに適用することができ、又はサブセットに適用することができる。たとえば、動き改良は、ＡＭＶＰの動きベクトル予測子のみに対して、又はマージ・モードのみに対して使用される。
【００９７】
自動での動き改良の活動化
前述の実施形態では、適応型動きベクトル解像度が有効になっているかどうかを示すのにフラグ（たとえば、図８又は図１０に示すようなＢｅｓｔ＿ｆｌａｇ）を使用できることを説明している。以下では、動きベクトル解像度の改良を自動的に活動化又は非活動化する様々な実施形態を説明する。したがって、符号器は、適応型動きベクトル解像度が、明確なフラグなしで有効にされているかどうかを示すことができ、復号器はまた、適応型動きベクトル解像度が、明確なフラグを参照することなく有効にされているかどうか判定することができる。
【００９８】
一実施形態では、以下の判定基準のうち１つ又は複数に基づいて、適応型動き改良を自動的に活動化することを提案する。
−動きの類似性：現在のブロックの動きは、周囲のブロックの動きに類似しており、したがって、符号器又は復号器は、動き改良のために周囲のブロックの動きベクトルを使用することができる。
−テクスチャネス（又はテクスチャ・レベル）：現在のブロック及び周囲のブロックは、頑強なサブ画素の動き改良を可能にできる何らかのテクスチャを含む。
−動きベクトル差分（ＭＶＤ）：ＭＶＤは、符号器と復号器の両方で利用可能であり、これを使用して、自動適応型動き改良を使用するかどうか、又は適応型動き改良を明確に信号伝送するかどうか判定することができる。
【００９９】
動きの類似性判定基準は、以下の条件のうち１つ又は複数を使用して測定してもよい。
１）ＭＶＰｌｅｆｔ及びＭＶＰａｂｏｖｅ（場合によっては、ＭＶＰａｂｏｖｅ−ｌｅｆｔ）が存在し、すなわち、現在のブロックの周りに動きフィールドが存在する。より一般には、動きベクトルを有する１つ又は複数の隣接ブロックが存在する。
２）｜ＭＶＰｌｅｆｔ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、｜ＭＶＰａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、及び｜ＭＶＰｌｅｆｔａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２である。この条件はまた、これら３つの副条件、｜ＭＶＰｌｅｆｔ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、｜ＭＶＰａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、及び｜ＭＶＰｌｅｆｔａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２の互いに異なる論理結合とすることもできる。すなわち、周囲のブロックの動きベクトルは類似しており、現在のブロックの周りの動きフィールドは、ある程度均一である。ここで、同じＴ２を使用して、ＭＶＰｌｅｆｔとＭＶＰｃｕｒｒｅｎｔの間、ＭＶＰａｂｏｖｅとＭＶＰｃｕｒｒｅｎｔの間、ＭＶＰｌｅｆｔａｂｏｖｅとＭＶＰｃｕｒｒｅｎｔの間の差分を検査する。これらの差分には、互いに異なる閾値を使用できることに留意されたい。
【０１００】
テクスチャネス判定基準は、以下の条件のうち１つ又は複数を使用して測定してもよい。
１）テクスチャ（Ｌ）＞Ｔ３であり、ここで、Ｌは、動き改良を実行するのに使用される隣接領域、たとえば図６Ａに示す６７０であり、テクスチャ（Ｘ）は、テクスチャリングの測定値、たとえばＸの輝度の変化である。すなわち、隣接領域は何らかのテクスチャを有する。
２）Ｅｒｒ（ｍｃ（Ｌ，ＭＶＰ，Ｉｒｅｆ），Ｌ）＜Ｅｒｒ（ｍｃ（Ｌ，ＭＶＰ＋ＭＶｒ，Ｉｒｅｆ），Ｌ）＋Ｔ４であり、ここで、ＭＶＰは、符号器と復号器の両方が同じＭＶＰを使用して、この条件を検査できるように、ビットストリーム内で信号伝送されるＭＶＤに対応する、選択済みの動きベクトル予測子であり、Ｅｒｒ（Ｘ，Ｙ）は、一群の画素Ｘと一群の画素Ｙの間の誤差の測定値、たとえば、ＳＡＤ、ＨＡＤ、又はＳＳＥであり、ｍｃ（Ｘ，ｖ，Ｉ）は、基準画像Ｉ内の動きベクトルｖを使用する画素Ｘのグループの動き補償であり、Ｉｒｅｆは、動きベクトル予測子ＭＶＰに関連付けられた基準画像であり、Ｔ４は、誤差類似度の閾値であり、ＭＶＰ＋ＭＶｒは、改良後の動きベクトル予測子である。前述したように、ＭＶＰは、たとえば、整数丸め処理された相対的に低い動き解像度においてでもよい。
【０１０１】
自動動き改良活動化は、動きの類似性若しくはテクスチャネス判定基準の両方の下での、あらゆる条件に基づいてもよく、又は各条件のサブセットを使用してもよい。動き改良の活動化又は非活動化を信号伝送するかどうかは、動きベクトル差分（ＭＶＤ）に基づくことができる。｜ＭＶＤ｜≦Ｔ１であり、ここで、ＭＶＤがビットストリームにおいて示される動きベクトル差分であり、Ｔ１が動き閾値であって、典型的な例では
【数９】
2019519995.tif 000013
であるとき、明確な信号伝送なしで動きベクトル改良を活動化するように選択する。すなわち、動きベクトル差分が小さく、現在の動きベクトルが現在の動きベクトル予測子に近接しているとき、符号器及び復号器は、動き改良を自動的に活動化することもできる。更に、符号器と復号器の両方は、ＭＶＤにアクセスし、このＭＶＤを使用して、同様に動き改良活動化を決定して、符号器と復号器を同期させることができる。その一方で、｜ＭＶＤ｜が大きくなると、符号器及び復号器は、明確な信号伝送なしに、動き改良を自動的に非活動化してもよい。
【０１０２】
別の例では、時間候補を使用して、動きベクトル予測子リストを構築するとき、すなわち、ＭＶＰｌｅｆｔとＭＶＰａｂｏｖｅが共存しないか、又は同じであると、動き類似性判定基準での条件１）及び２）は使用されない。符号器は、自動改良に時間候補を使用するかどうかを選択してもよい。
【０１０３】
図１１には、本発明の原理の一実施形態により、復号器において、自動動き改良の活動化又は非活動化を用いて動きベクトル予測子の改良を実行する例示的な方法１１００が示してある。
【０１０４】
復号されるブロックでは、復号器は、ＭＶ予測子（ＭＶＰｃｕｒｒｅｎｔ）を生成し（１１１０）、ＭＶ差分（ＭＶＤ）を復号する（１１２０）。｜ＭＶＤ｜≦Ｔ１（１１２５）が真のとき、復号器は、他の条件を検査して、動き改良を活動化するかどうか判断する。そうでなく、｜ＭＶＤ｜＞Ｔ１の場合、復号器は、
【数１０】
2019519995.tif 000014
かどうか検査する。一例では、Ｓ＝１／２であり、改良のための動き探索が［−１／２，１／２］内にあることを示す。
【数１１】
2019519995.tif 000015
の場合、復号器は、ビットストリームから復号された（１１４０）フラグに基づいて動き改良が使用されるかどうか判定する。そうでなく、
【数１２】
2019519995.tif 000016
の場合、復号器は、動き改良を実行せず（すなわち、動き改良が自動的に非活動化され）、ＭＶＰ及びＭＶＤに基づいて動きベクトルを復号する（１１８０）。すなわち、ＭＶ＝ＭＶＰ＋ＭＶＤである。
【０１０５】
より具体的には、復号器は、｜ＭＶＰｌｅｆｔ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、及び｜ＭＶＰａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜であるかどうか検査する（１１５５）。「はい」の場合、復号器は、テクスチャ（Ｌ）＞Ｔ３かどうか検査する（１１６５）。１１５５と１１６５での両方の条件が満たされる場合、復号器は、たとえば、前述の様々な実施形態を使用して動きベクトル予測子改良を実行し、改良済みの動きベクトル予測子（ＭＶＰ＊）及びＭＶＤに基づいて動きベクトルを復号する（１１７０）。すなわち、ＭＶ＝ＭＶＰ＊＋ＭＶＤである。ここで、動き改良が、フラグなしで自動的に活動化される。
【０１０６】
【数１３】
2019519995.tif 000017
のとき、復号器は、動き改良を使用してもよいかどうかを示すフラグ（たとえば、Ｒｅｆｉｎｅ＿ｆｌａｇ）を復号する（１１４０）。このフラグが真の場合（１１４５）、復号器はステップ１１５５へと続く。そうでなく、このフラグが偽の場合（１１４５）、ＭＶＰ及びＭＶＤに基づいて動きベクトルが得られる（１１８０）。
【０１０７】
図１１では、復号器は、条件によっては、動き改良を自動的に非活動化又は活動化し、条件によっては、フラグに依存して、動き改良を非活動化又は活動化する。対応する符号器によって同じ条件を使用して、符号器と復号器の間の同期を確実にする。
【０１０８】
ＭＶＤが０のとき、たとえばマージ・モードが使用されるとき、ステップ１１２５での条件は常に真であり、排除することができ、ステップ１１２０、１１３０、１１４０、１１４５、及び１１８０が不要である。あるいは、マージ・モードでは、マージ推定済みの動きベクトル予測子に雑音が付加されるのを回避するために、動き改良を無効にすることができる。
【０１０９】
図１１に示すものとは異なり、方法１１００はまた、ステップ１１３０〜１１４５をスキップすることができる。すなわち、｜ＭＶＤ｜＞Ｔ１のとき、復号器は、動き改良なしでステップ１１８０を実行する。たとえば、それだけには限定されないが、ステップ１１５５及び／又はステップ１１６５をスキップすること、ステップ１１５５での２つの条件のうちの一方を検査することなど、他の変形も実施することができる。
【０１１０】
図１２には、本発明の原理の一実施形態により、符号器において自動的な動き改良を実行する例示的な方法１２００が示してある。方法１２００の出力は、方法１１００への入力ビットストリームとして使用してもよい。初期化ステップ（１２０５）において、符号器は、入力として符号化されるビデオ・シーケンスにアクセスしてもよい。更に、符号器は、各パラメータを初期値に設定してもよく、たとえば、Ｂｅｓｔ＿ＲＤｃｏｓｔを大きい値に設定してもよい。
【０１１１】
動き推定（１２１０）を１／８ペル解像度で実行して、動きベクトルＭＶを得る。ステップ１２２０において、たとえば、ＡＭＶＰからの動きベクトル予測子候補リストを使用して、動きベクトル予測子リストが構築される。対応する復号器が動きベクトル予測子リストをどのように構築するのかと一貫して、初期動きベクトル予測子の（たとえば、所望の解像度での最も近い整数への）丸め処理済みバージョン、又は隣接する動きベクトルの平均値を使用してもよい。場合によっては、ＭＶＰリストは、１つのＭＶＰのみを含んでいてもよい。ステップ１２２０において、動きベクトル予測子リストは、他の解像度で構築することもできる。
【０１１２】
ステップ１２２５では、特定のＭＶＰについて、符号器は、次いで適応型動き改良を使用して動きベクトルを符号化することがより効率的であるかどうかを検査し、Ｒｅｆｉｎｅ＿ｆｌａｇを０又は１に設定する。動き改良がより効率的であると、Ｒｅｆｉｎｅ＿ｆｌａｇが１に設定され、そうでない場合は０に設定される。対応するＭＶＤはまた、ステップ１２２５で計算される。
【０１１３】
図１３には、本発明の原理の一実施形態により、特定のＭＶＰ向けに適応型動き改良を使用するかどうか決定する、例示的な方法１３００が示してある。方法１３００を使用して、方法１２００のステップ１２２５を実施することができる。
【０１１４】
具体的には、符号器は、｜ＭＶＰｌｅｆｔ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、｜ＭＶＰａｂｏｖｅ−ＭＶＰｃｕｒｒｅｎｔ｜＜Ｔ２、及びテクスチャ（Ｌ）＞Ｔ３かどうか検査する（１３０５）。１３０５での各条件が満たされる場合、符号器は、たとえば前述の様々な実施形態を使用して動きベクトル予測子改良を実行し（１３３０）、改良済み動きベクトル予測子（ＭＶＰ＊）に基づいて動きベクトル差分を計算する（１３４０）。すなわち、ＭＶＤ＝ＭＶ−ＭＶＰ＊である。動き改良が使用されるとき、ＲＤコスト（ＲＤＣｏｓｔ１）が推定される（１３５０）。符号器はまた、改良済みの動きベクトル予測子なしの場合の動きベクトル差分を計算する（１３６０）。すなわち、ＭＶＤ＝ＭＶ−ＭＶＰである。動き改良が使用されないとき、ＲＤコスト（ＲＤＣｏｓｔ２）が推定される（１３７０）。動き改良がある場合とない場合での、ＲＤコストが比較される（１３７５）。ＲＤＣｏｓｔ１が相対的に小さい場合、Ｒｅｆｉｎｅ＿ｆｌａｇが１に設定され（１３８０）、ＭＶＤがＭＶ−ＭＶＰ＊に設定される。そうでない場合、Ｒｅｆｉｎｅ＿ｆｌａｇは０に設定され（１３９０）、ＭＶＤはＭＶ−ＭＶＰに設定される。
【０１１５】
１３０５での各条件が満たされない場合、動きベクトル予測子（ＭＶＰ）に基づいて動きベクトル差分が計算される（１３１０）。すなわち、ＭＶＤ＝ＭＶ−ＭＶＰであり、Ｒｅｆｉｎｅ＿ｆｌａｇが０に設定される（１３２０）。
【０１１６】
ステップ１２２５で、ＭＶＤ及びＲｅｆｉｎｅ＿ｆｌａｇが決定された後、ステップ１２３０で、｜ＭＶＤ｜≦Ｔ１かどうかを符号器が検査する。「はい」の場合、符号器は更に、Ｒｅｆｉｎｅ＿ｆｌａｇが１に等しいかどうか検査する（１２３５）。Ｒｅｆｉｎｅ＿ｆｌａｇが１に設定される場合、符号器はＲＤコストを推定する（１２７０）。ＲＤコストが現在のＢｅｓｔ＿ＲＤＣｏｓｔよりも小さい場合（１２７５）、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ及びＢｅｓｔ＿ＭＶＤは、現在のＲＤコスト及び現在のＭＶＤに設定され（１２８０）、Ｗｒｉｔｅ＿ｆｌａｇが「いいえ」に設定され、適応型動き改良を示すのに明確な信号伝送が使用されないことを示す。すなわち、現在のＭＶＰが符号化用に選択される場合、フラグを送る必要なしに、動き改良が自動的に活動化されるはずである。
【０１１７】
｜ＭＶＤ｜＞Ｔ１のとき（１２３０）、符号器は、ＲＤコストを推定する（１２４０）。ＲＤコストがＢｅｓｔ＿ＲＤＣｏｓｔよりも小さい場合（１２４５）、パラメータＢｅｓｔ＿ＲＤｃｏｓｔ及びＢｅｓｔ＿ＭＶＤは、現在のＲＤコスト及び現在のＭＶＤに設定される（１２５０）。次いで、符号器は、
【数１４】
2019519995.tif 000018
かどうかを検査する（１２５５）。「はい」の場合、Ｗｒｉｔｅ＿ｆｌａｇが「はい」に設定される。ここで、条件付きの分岐１２６０に対応する動きベクトル予測子が選択される場合、動き改良が活動化されているかどうかは、Ｒｅｆｉｎｅ＿ｆｌａｇに基づいて明確に信号伝送されるはずである。
【０１１８】
そうでなく、１２５５で条件が満たされない場合、Ｗｒｉｔｅ＿ｆｌａｇは「いいえ」に設定される（１２６５）。すなわち、条件付きの分岐１２６５に対応する動きベクトル予測子が選択される場合、動き改良は、フラグを送信する必要なしに自動的に非活動化されるはずである。
【０１１９】
符号器は、ＭＶＰリストの終わりに達したかどうかを検査する（１２８５）。「はい」の場合、符号器は、Ｂｅｓｔ＿ＭＶＤ、選択されたＭＶＰのインデックス、及び、もしあれば対応する残差を符号化する。Ｗｒｉｔｅ＿ｆｌａｇが「はい」に設定される場合、Ｒｅｆｉｎｅ＿ｆｌａｇも符号化される。そうでなく、１２８５で条件が満たされない場合、ステップ１２２５に制御が戻る。マージ・モードが選択されている場合、ステップ１２９０でＢｅｓｔ＿ＭＶＤを符号化する必要はない。方法１１００に対応して、方法１２００はまた、図１２に示してあるものとは異なる場合があり、たとえば、ステップ１２４０〜１２６０をスキップすることができる。
【０１２０】
上記では、動きベクトル予測子に関して、動き改良の非活動化の自動活動化を論じる。自動の活動化又は非活動化は、他のタイプの動き情報、たとえば、それだけには限定されないが、動きベクトル差分を既に含む動きベクトルに適用できることに留意されたい。
【０１２１】
たとえば、本出願では、様々な数値が使用されて、閾値に基づいて動きの類似性又はテクスチャを決定する。具体的な値は例示するためのものであり、本発明の原理は、これら具体的な値に限定されないことに留意されたい。
【０１２２】
上記では、ＨＥＶＣ規格について様々な実施形態を説明している。たとえば、前述したような様々な動き改良方法又は自動活動化方法を使用して、図１に示すＨＥＶＣ符号器の動き推定モジュール（１７５）、又は図３に示すＨＥＶＣ復号器の動き補償モジュール（３７５）を修正することができる。しかし、本発明の原理は、ＨＥＶＣに限定されるものではなく、他の規格、推奨、及びその拡張に適用することができる。
【０１２３】
上記では、１／４ペルから１／８ペルまでの動き改良を論じている。本発明の原理は、他の動き解像度、たとえば、それだけには限定されないが、整数ペルから１／４ペルまで、１／４ペルから１／６ペルまでの間の改良に適用できることに留意されたい。
【０１２４】
図１４には、本発明の原理の例示的な実施形態の様々な態様を実施してもよい、例示的なシステムのブロック図が示してある。システム１４００は、以下に述べる様々な構成要素を含む装置として実施してもよく、前述のプロセスを実行するように構成される。このような装置の例には、それだけには限定されないが、パーソナル・コンピュータ、ラップトップ・コンピュータ、スマートフォン、タブレット・コンピュータ、デジタル・マルチメディア・セット・トップ・ボックス、デジタル・テレビジョン受信機、パーソナル・ビデオ記録システム、接続された家庭用電気製品、及びサーバが含まれる。システム１４００は、他の同様のシステムに通信可能なように結合してもよく、図１４に示すように、また当業者に知られているように前述の例示的なビデオ・システムを実施するために、通信チャネルを介して表示装置に通信可能なように結合してもよい。
【０１２５】
システム１４００は、前述の通り様々なプロセスを実施するために、内部にロードされた命令を実行するように構成された少なくとも１つのプロセッサ１４１０を備えてもよい。プロセッサ１４１０は、組込みメモリ、入出力インターフェース、及び当技術分野で知られている他の様々な回路を備えてもよい。システム１４００はまた、少なくとも１つのメモリ１４２０（たとえば、揮発性メモリ・デバイス、不揮発性メモリ・デバイス）を備えてもよい。システム１４００は更に、それだけには限定されないが、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュを含む不揮発性メモリ、磁気ディスク・ドライブ、及び／又は光ディスク・ドライブを含んでもよい、記憶装置１４４０を備えてもよい。記憶装置１４４０は、非限定的な例として、内部記憶装置、付加記憶装置、及び／又はネットワーク・アクセス可能な記憶装置を含んでもよい。システム１４００はまた、データを処理して、符号化されたビデオ又は復号されたビデオを生成するように構成された符号器／復号器モジュール１４３０を備えてもよい。
【０１２６】
符号器／復号器モジュール１４３０は、符号化機能及び／又は復号機能を実行するために装置に含んでもよい（１つ又は複数の）モジュールを表す。知られているように、装置は、符号化モジュール及び復号モジュールのうちの一方又は両方を備えてもよい。更に、符号器／復号器モジュール１４３０は、システム１４００の別々の要素として実装してもよく、又は当業者に知られているハードウェアとソフトウェアの組合せとしてプロセッサ１４１０内に組み込んでもよい。
【０１２７】
本明細書に記載の様々なプロセスを実行するためにプロセッサ１４１０にロードされるプログラム・コードは、記憶装置１３４０に記憶してもよく、続いて、プロセッサ１４１０による実行のためにメモリ１４２０にロードしてもよい。本発明の原理の例示的な実施形態によれば、（１つ又は複数の）プロセッサ１４１０、メモリ１４２０、記憶装置１４４０、及び符号器／復号器モジュール１４３０のうちの１つ又は複数は、先に本明細書において述べた各プロセスの実行中に様々なアイテムのうち１つ又は複数を記憶してもよく、これには、それだけには限定されないが、入力ビデオ、ビットストリーム、等式、公式、行列、変数、演算、及び演算論理を含む。
【０１２８】
システム１４００はまた、通信チャネル１４６０を介して他の装置との通信を可能にする通信インターフェース１４５０を備えてもよい。通信インターフェース１４５０は、それだけには限定されないが、通信チャネル１４６０との間でデータを送受信するように構成された送受信機を備えてもよい。通信インターフェースは、それだけには限定されないが、モデム又はネットワーク・カードを備えてもよく、通信チャネルは、有線媒体及び／又は無線媒体内に実装してもよい。システム１４００の様々な構成要素は、それだけには限定されないが、内部バス、ワイヤ、及びプリント回路板を含め、適している様々な接続を使用して接続してもよく、又は通信可能なように結合してもよい。
【０１２９】
本発明の原理による例示的な実施形態は、プロセッサ１４１０によって実装されるコンピュータ・ソフトウェア、若しくはハードウェアによって、又はハードウェアとソフトウェアの組合せによって実行してもよい。非限定的な例として、本原理による例示的な実施形態は、１つ又は複数の集積回路によって実装してもよい。メモリ１４２０は、技術的な環境に適した任意のタイプのものでよく、非限定的な例として、光学メモリ・デバイス、磁気メモリ・デバイス、半導体ベースのメモリ・デバイス、固定メモリ、取外し可能なメモリなど、任意の適切なデータ記憶技術を使用して実装してもよい。プロセッサ１４１０は、技術的な環境に適した任意のタイプのものでよく、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコア・アーキテクチャに基づいたプロセッサのうちの１つ又は複数を含んでもよい。
【０１３０】
本明細書に記載の実装形態は、たとえば、方法若しくはプロセス、装置、ソフトウェア・プログラム、データ・ストリーム、又は信号で実装してもよい。（たとえば方法としてのみ論じた）単一形式の実施形態との関連でもっぱら論じたとしても、論じた特徴の実装形態は、他の形式（たとえば装置又はプログラム）で実装してもよい。装置は、たとえば、適切なハードウェア、ソフトウェア、及びファームウェアで実装してもよい。たとえば、各方法は、たとえばコンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理デバイスを含む処理装置を一般に指す、たとえばプロセッサなどの機器に実装してもよい。プロセッサはまた、たとえば、コンピュータ、携帯電話、ポータブル／携帯型情報端末（「ＰＤＡ」）、エンドユーザ間での情報の通信を容易にする他の装置などの通信装置を含む。
【０１３１】
本原理の「１つの実施形態」若しくは「一実施形態」、又は「１つの実装」若しくは「一実装」、ならびに本原理の他の変形への言及は、実施形態に関連して説明される特定の特徴、構造、特性などが、本原理の少なくとも１つの実施形態に含まれることを意味する。したがって、「１つの実施形態において」若しくは「一実施形態において」、又は「１つの実装において」若しくは「一実装において」、ならびに他の任意の変形の表現が明細書全体を通して様々な場所に現れても、それは必ずしもすべてが同じ実施形態を指しているのではない。
【０１３２】
更に、本出願又はその特許請求の範囲は、様々な情報を「決定すること」に言及してもよい。情報を決定することは、たとえば、情報を推定すること、情報を計算すること、情報を予測すること、又はメモリから情報を検索することのうち１つ又は複数を含んでもよい。
【０１３３】
更に、本出願又はその特許請求の範囲は、様々な情報に「アクセスすること」に言及してもよい。情報にアクセスすることは、たとえば、情報を受信すること、情報を（たとえばメモリから）検索すること、情報を記憶すること、情報を処理すること、情報を伝送すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのうち１つ又は複数を含んでもよい。
【０１３４】
更に、本出願又はその特許請求の範囲は、様々な情報を「受信すること」に言及してもよい。受信することは、「アクセスすること」と同様に、広義の用語とするものである。情報を受信することは、たとえば、情報にアクセスすること、又は（たとえば、メモリから）情報を検索することのうち１つ又は複数を含んでもよい。更に、「受信すること」は通常、たとえば、情報を記憶すること、情報を処理すること、情報を伝送すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することなどの動作中に、ある方式又は別の方式で関与する。
【０１３５】
当業者には明らかになるように、各実装は、たとえば記憶又は伝送してもよい情報を運ぶようにフォーマットされた、様々な信号を生成してもよい。この情報は、たとえば、方法を実行するための命令、又は説明した各実装のうちの１つによって生成されるデータを含んでもよい。たとえば、信号は、説明した実施形態のビットストリームを運ぶようにフォーマットしてもよい。たとえば、このような信号は、（たとえばスペクトルの無線周波数部分を使用する）電磁波としてフォーマットしてもよい。フォーマットすることは、たとえば、データ・ストリームを符号化すること、及び符号化されたデータ・ストリームで搬送波を変調することを含んでもよい。信号が運ぶ情報は、たとえば、アナログ情報又はデジタル情報でもよい。知られているように、信号は、様々な異なる有線リンク又は無線リンクを介して伝送してもよい。信号は、プロセッサ読取り可能な媒体に記憶してもよい。
【図１】
2019519995.tif 000019
【図２Ａ】
2019519995.tif 000020
【図２Ｂ】
2019519995.tif 000021
【図２Ｃ】
2019519995.tif 000022
【図３】
2019519995.tif 000023
【図４】
2019519995.tif 000024
【図５】
2019519995.tif 000025
【図６Ａ】
2019519995.tif 000026
【図６Ｂ】
2019519995.tif 000027
【図７Ａ】
2019519995.tif 000028
【図７Ｂ】
2019519995.tif 000029
【図８】
2019519995.tif 000030
【図９】
2019519995.tif 000031
【図１０】
2019519995.tif 000032
【図１１】
2019519995.tif 000033
【図１２】
2019519995.tif 000034
【図１３】
2019519995.tif 000035
【図１４】
2019519995.tif 000036
【国際調査報告】
2019519995.tif 000037
2019519995.tif 000038
2019519995.tif 000039
2019519995.tif 000040