(57)【要約】  ビデオデータの符号化又は復号する方法及び装置である。より詳細には、本発明がフレームレートアップコンバージョンモード又はＦＲＵＣモードとして、参照されるデコーダ側の動きベクトル導出モードを使用する特定の符号化モードによる符号化に関する。ＦＲＵＣマージモードにおいて、導出プロセスは、サブ画素レベルで得られた動きベクトルの精度を高めるための精緻化ステップを含む。このプロセスは、異なるパターンに従って、得られた動きベクトルの周りの異なるサブピクセル位置の評価を含む。本発明は、既知の精緻化ステップを改善するため工夫である。そして、本発明は、テンプレート内のマッチングタイプおよび／または信号の特性を考慮することによって、符号化効率を改善することを目的とする。【選択図】  図１０
2020523818.tif 000002
【特許請求の範囲】
【請求項１】
各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法であって、
画素のブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
ここで、少なくともいくつかのサブ画素位置は、１／１６画素ピクセル以上の解像度で選択される
を有することを特徴とする方法。
【請求項２】
前記選択された動きベクトルを精緻化することは、複数の探索ステップを有し、
この探索ステップの少なくとも１つは、１／１６サブ画素以上の解像度でのサブピクセル位置に関与する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数の探索ステップは、少なくとも３つの連続するステップを含み、
当該３つの連続する探索ステップの各々は、所与の解像度でのサブ画素位置を含み、
最後の２つの探索ステップに関連する各所与の解像度は、前の探索ステップの所与の分解能よりも大きい
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記複数の探索ステップは、少なくとも、第１のサブ画素解像度で行われるダイヤモンドパターンに基づく探索ステップと、前記第１のサブピクセル解像度よりも高いサブ画素解像度で行われるクロスパターンに基づく２つの探索ステップとを含む
ことを特徴とする請求項２に記載の方法。
【請求項５】
少なくとも、幾つかの探索ステップは、前記画素のブロックを符号化するために用いるマッチングタイプに依存するサブ画素解像度で行われることを特徴とする請求項２に記載の方法。
【請求項６】
第１の探索ステップは、１／４サブ画素解像度で行われるダイヤモンドパターンに基づく探索ステップであり、
第２の探索ステップは、１／８サブ画素解像度で行われるクロスパターンに基づく探索ステップであり、
第３の探索ステップは、１／１６サブ画素解像度で行われるクロスパターンに基づく探索ステップである
ことを特徴とする請求項４に記載の方法。
【請求項７】
各々が画素のブロックに分割されフレームで構成されるビデオデータを符号化又は復号する方法であって、
画素のブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
ここで、サブ画素位置が、少なくとも複数のパターンから選択されたパターンに従って評価され、
ここで、前記複数のパターンは、水平パターン及び垂直パターンを含む
を有することを特徴とする方法。
【請求項８】
前記複数のパターンは、更に、少なくとも斜めパターンを有する
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記複数のパターンにおけるパターンは、隣接する画素のブロック内で検出されたエッジ方向に基づいて選択される
ことを特徴とする請求項６又は７に記載の方法。
【請求項１０】
前記複数のパターンにおける少なくとも１つのパターンは、１／１６サブ画素以上の解像度で定義される
ことを特徴とする請求項６乃至７のいずれか１項に記載の方法。
【請求項１１】
各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法であって、
画素ブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
少なくとも近傍の画素のブロックの信号内容に基づき、選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
を有することを特徴とする方法。
【請求項１２】
前記信号内容は、前記近傍の画素ブロック内の周波数であることを特徴とする請求項１１に記載の方法。
【請求項１３】
各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法であって、
画素ブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
ここで、動きベクトルの動きベクトルリストの評価は、画素のブロックの近傍の画素のパターンによって定義されるテンプレートに基づく；
動きベクトルの動きベクトルリストの導出に用いられるテンプレートは、前記テンプレートの信号内容に基づき決定される
を有することを特徴とする方法。
【請求項１４】
前記信号内容は、前記テンプレート内の周波数であることを特徴とする請求項１３に記載の方法。
【請求項１５】
プログラマブル装置のためのコンピュータプログラム製品であって、前記プログアマブル装置によりロードされ実行されたとき、請求項１乃至１４のいずれか１項に記載の方法を実施するための命令シーケンスを有するコンピュータプログラム製品。
【請求項１６】
請求項１乃至１４のいずれか１項に記載の方法を実施するためのコンピュータプログラムの命令を格納したコンピュータが読取り可能な記憶媒体。
【請求項１７】
各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置であって、
以下を実行することで画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサは、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化する、
ここで、少なくともいくつかのサブ画素位置は、１／１６画素ピクセル以上の解像度で選択される
ことを特徴とする復号装置。
【請求項１８】
各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置であって、
以下を実行することで画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサは、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化する、
ここで、サブ画素位置が、少なくとも複数のパターンから選択されたパターンに従って評価され、
ここで、前記複数のパターンは、水平パターン及び垂直パターンを含む
ことを特徴とする復号装置。
【請求項１９】
各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置であって、
以下を実行することで画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサは、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
少なくとも近傍の画素のブロックの信号内容に基づき、選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することを判定する
ことを特徴とする復号装置。
【請求項２０】
各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置であって、
以下を実行することで画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサは、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価する、
ここで、動きベクトルの動きベクトルリストの評価は、画素のブロックの近傍の画素のパターンによって定義されるテンプレートに基づく；
動きベクトルの動きベクトルリストの導出に用いられるテンプレートは、前記テンプレートの信号内容に基づき決定される
ことを特徴とする復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオデータを符号化または復号するための方法およびデバイスに関する。より詳細には、本発明がフレームレートアップコンバージョンモード(Frame-Rate Up Conversion）又はＦＲＵＣモードとして参照される、デコーダ側動きベクトル導出モードを使用する特定の符号化モードによる符号化に関する。
【背景技術】
【０００２】
ビデオデータの予測符号化は、フレームのピクセルのブロックへの分割に基づく。画素の各ブロックについて、予測ブロックが利用可能なデータ内で探索される。予測ブロックは、ＩＮＴＥＲ符号化モードにおいては、現在のブロックとは異なる参照フレームにおけるブロックとなり、ＩＮＴＲＡ符号化モードにおいては現在のフレーム内の隣接画素から生成される。予測ブロックを決定する異なる方法に従って、異なる符号化モードが定義される。符号化の結果は、予測ブロックと、符号化されるブロックと予測ブロックとの間の差からなる残差ブロックとの指示である。
【０００３】
ＩＮＴＥＲ符号化モードに関して、予測ブロックの指示は、符号化しようとしているブロックの位置に対する予測ブロックの参照画像内の位置を与える動きベクトルである。動きベクトルは、それ自体、動きベクトル予測子(motion vector predictor)に基づいて予測的に符号化される。ＨＥＶＣ (High Efficiency Video Coding)規格は、動きベクトルの予測符号化のためのいくつかの既知の符号化モード、すなわち、ＡＭＶＰ(Advanced Motion Vector Prediction)モード、マージ導出プロセスを定義する。これらのモードは、動きベクトル予測子の候補リストの構築と、エンコードに使用されるこのリスト内の動きベクトル予測子のインデックスのシグナリングとに基づく。典型的には、残差動きベクトルもシグナリングされる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近、ＦＲＵＣと呼ばれる、動きベクトル予測に関する新しい符号化モードが導入された。これは、シグナリングを全く伴わない動きベクトル予測子のデコーダ側導出プロセスを定義する。導出プロセスの結果は、デコーダによるインデックスまたは残差動きベクトルの送信なしに、動きベクトル予測子として使用される。
【０００５】
ＦＲＵＣマージモードにおける、導出プロセスは、得られた動きベクトルの精度をサブ画素レベルにて高めるための精緻化（refinement）ステップを含む。このプロセスは、異なるパターンに従って、得られた動きベクトルの周りの異なるサブ画素位置の評価することを含む。
【０００６】
本発明は、既知の精緻化ステップを改善するために考案されたものである。そして、本発明は、テンプレート内のマッチングタイプおよび／または信号の特性を考慮することによって、符号化効率を改善することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法は、
画素のブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
ここで、少なくともいくつかのサブ画素位置は、１／１６画素ピクセル以上の解像度で選択される
を有する。
【０００８】
実施形態における、前記選択された動きベクトルを精緻化することは、複数の探索ステップを有し、
この探索ステップの少なくとも１つは、１／１６サブ画素以上の解像度でのサブピクセル位置に関与する。
【０００９】
実施形態における、前記複数の探索ステップは、少なくとも３つの連続するステップを含み、
当該３つの連続する探索ステップの各々は、所与の解像度でのサブ画素位置を含み、
最後の２つの探索ステップに関連する各所与の解像度は、前の探索ステップの所与の分解能よりも大きい。
【００１０】
実施形態における、前記複数の探索ステップは、少なくとも、第１のサブ画素解像度で行われるダイヤモンドパターンに基づく探索ステップと、前記第１のサブピクセル解像度よりも高いサブ画素解像度で行われるクロスパターンに基づく２つの探索ステップとを含む。
【００１１】
実施形態における、少なくとも、幾つかの探索ステップは、前記画素のブロックを符号化するために用いるマッチングタイプに依存するサブ画素解像度で行われる。
【００１２】
実施形態における、第１の探索ステップは、１／４サブ画素解像度で行われるダイヤモンドパターンに基づく探索ステップであり、
第２の探索ステップは、１／８サブ画素解像度で行われるクロスパターンに基づく探索ステップであり、
第３の探索ステップは、１／１６サブ画素解像度で行われるクロスパターンに基づく探索ステップである。
【００１３】
本発明の他の態様により提供される、各々が画素のブロックに分割されフレームで構成されるビデオデータを符号化又は復号する方法は、
画素のブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
ここで、サブ画素位置が、少なくとも複数のパターンから選択されたパターンに従って評価され、
ここで、前記複数のパターンは、水平パターン及び垂直パターンを含む
を有する。
【００１４】
実施形態における、前記複数のパターンは、更に、少なくとも斜めパターンを有する。
【００１５】
実施形態における、前記複数のパターンにおけるパターンは、隣接する画素のブロック内で検出されたエッジ方向に基づいて選択される。
【００１６】
実施形態における、前記複数のパターンにおける少なくとも１つのパターンは、１／１６サブ画素以上の解像度で定義される。
【００１７】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法は、
画素ブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
少なくとも近傍の画素のブロックの信号内容に基づき、選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することと
を有する。
【００１８】
実施形態における、前記信号内容は、前記近傍の画素ブロック内の周波数である。
【００１９】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを符号化または復号する方法は、
画素ブロックごとに、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出することと、
１つの動きベクトルを選択するため、動きベクトルのリストを評価することと、
ここで、動きベクトルの動きベクトルリストの評価は、画素のブロックの近傍の画素のパターンによって定義されるテンプレートに基づく；
動きベクトルの動きベクトルリストの導出に用いられるテンプレートは、前記テンプレートの信号内容に基づき決定される
を有する。
【００２０】
実施形態における、前記信号内容は、前記テンプレート内の周波数である。
【００２１】
本発明の他の態様により提供されるのは、プログラマブル装置のためのコンピュータプログラム製品であって、前記プログアマブル装置によりロードされ実行されたとき、この発明を実施するための命令シーケンスを有するコンピュータプログラム製品である。
【００２２】
本発明の他の対応により提供されるのは、この発明を実施するためのコンピュータプログラムの命令を格納したコンピュータが読取り可能な記憶媒体である。
【００２３】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置は、
画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサが、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化する、
ここで、少なくともいくつかのサブ画素位置は、１／１６画素ピクセル以上の解像度で選択される
ことを特徴とする。
【００２４】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置は、
画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサが、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化する、
ここで、サブ画素位置が、少なくとも複数のパターンから選択されたパターンに従って評価され、
ここで、前記複数のパターンは、水平パターン及び垂直パターンを含む
ことを特徴とする。
【００２５】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置は、
画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサが、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価し、
少なくとも近傍の画素のブロックの信号内容に基づき、選択された動きベクトルの近傍のサブ画素位置にて動きベクトルを評価することによって、選択された動きベクトルを精緻化することを判定する
ことを特徴とする。
【００２６】
本発明の他の態様により提供される、各々が画素のブロックに分割されるフレームを有するビデオデータを復号する復号装置は、
画素のブロックを復号するように構成されるプロセッサを有し、当該プロセッサが、
デコーダ側の動きベクトル導出法によって動き情報を得るモードを用いて動きベクトルの動きベクトルリストを導出し、
１つの動きベクトルを選択するため、動きベクトルのリストを評価する、
ここで、動きベクトルの動きベクトルリストの評価は、画素のブロックの近傍の画素のパターンによって定義されるテンプレートに基づく；
動きベクトルの動きベクトルリストの導出に用いられるテンプレートは、前記テンプレートの信号内容に基づき決定される
ことを特徴とする。
【００２７】
本発明による方法の少なくとも一部は、コンピュータで実施することができる。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書ではすべて一般に「回路」、「モジュール」、または「システム」と呼ばれることがあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本発明は、媒体に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体に具現化されたコンピュータプログラム製品の形成をとることができる。
【００２８】
本発明はソフトウェアで実施することができるので、本発明は、任意の適切なキャリア媒体上のプログラマブル装置に提供するためのコンピュータ可読コードとして実施することができる。有形の非一時的キャリア媒体は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープ装置、またはソリッドステートメモリ装置などの記憶媒体を含むことができる。過渡搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号、例えばマイクロ波またはＲＦ信号などの信号を含むことができる。
【００２９】
ここで、本発明の実施形態を、単なる例として、以下の図面を参照して説明する。
【図面の簡単な説明】
【００３０】
【図１】ＨＥＶＣエンコーダアーキテクチャを示す図。
【図２】デコーダの原理を示す図。
【図３】ＦＲＵＣマージモードにおけるテンプレートマッチングおよびバイラテラルマッチングを示す図。
【図４】ＦＲＵＣマージ情報の復号を示す図。
【図５】マージモードおよびマージＦＲＵＣモードのエンコーダ評価を示す図。
【図６】ＪＥＭの符号化単位およびサブ符号化単位レベルにおけるマージＦＲＵＣモード導出を示す図。
【図７】ＪＥＭテンプレートマッチング法における現ブロックの周囲のテンプレートを示す図。
【図８】動きベクトル精緻化を示す図。
【図９】本発明の実施形態における、動きベクトル精緻化の適応サブ画素解像度を示す図。
【図１０】従来技術及び本発明の一実施形態で得られる結果の例を示す図。
【図１１】本発明の一実施形態にて利用される、幾つかの動きベクトル精緻化探索形状を示す図。
【図１２】本発明の一実施形態における、動きベクトル精緻化のための適応探索形状を示す図。
【図１３】本発明の一実施形態における、適応動きベクトル精緻化を示す図。
【図１４】本発明の一実施形態における、動きベクトル精緻化のためのテンプレート選択を示す図。
【図１５】本発明の１以上の実施形態を実施するためのコンピューティングデバイスの概略ブロック図。
【発明を実施するための形態】
【００３１】
図１は、ＨＥＶＣエンコーダアーキテクチャを示す。ビデオエンコーダでは、オリジナルシーケンス１０１が、符号化単位(coding unit)と呼ばれる、画素のブロック１０２に分割される。次に、符号化モードが各ブロックに影響を及ぼされる。ＨＥＶＣで典型的に使用される符号化モードには、空間予測に基づくモード、すなわちＩＮＴＲＡモード１０３と、時間予測に基づくモード、すなわち、動き推定１０４および動き補償１０５に基づくＩＮＴＥＲモードの２つのファミリがある。ＩＮＴＲＡ符号化単位は、一般に、ＩＮＴＲＡ予測と呼ばれるプロセスによって、その因果境界における符号化された画素から予測される。
【００３２】
時間的予測は最初に、動き推定ステップ１０４において、符号化単位に最も近い参照領域を参照フレーム１１６と呼ばれる、以前のまたは将来のフレームにおいて見つけることからなる。この参照領域は、予測ブロックを構成する。次に、この符号化単位は、予測ブロックを使用して予測され、動き補償ステップ１０５において残差を計算される。
【００３３】
空間的および時間的予測の両方の場合において、残差は、オリジナルの予測子ブロックから符号化単位を減算することによって計算される。
【００３４】
ＩＮＴＲＡ予測では、予測方向が符号化される。時間予測では、少なくとも１つの動きベクトルが符号化される。しかしながら、動きベクトル符号化に関連するビットレートコストをさらに低減するために、動きベクトルは直接符号化されない。実際、動きが均一であると仮定すると、動きベクトルを、この動きベクトルとその周囲の動きベクトルとの間の差としてエンコードすることは特に興味深い。例えば、Ｈ．２６４／ＡＶＣ符号化規格では、動きベクトルが現在のブロックの上および左に位置する３つのブロック間で計算された中央ベクトル(median vector)に関して符号化される。中央ベクトルと現在のブロック動きベクトルとの間で計算された差分(残差動きベクトルとも呼ばれる)のみが、ビットストリームに符号化される。これは、モジュール“Ｍｖ予測および符号化”１１７で処理される。各符号化ベクトルの値は、動きベクトルフィールド１１８に記憶される。予測に使用される隣接する動きベクトルは、動きベクトルフィールド１１８から抽出される。
【００３５】
次に、モジュール１０６において、レート歪み性能を最適化するモードが選択される。冗長性をさらに低減するために、モジュール１０７内にて、変換、典型的にはＤＣＴが残差ブロックに適用され、そして、モジュール１０８にて量子化がその係数に適用される。次に、量子化された係数ブロックは、モジュール１０９において、エントロピー符号化され、その結果がビットストリーム１１０に挿入される。
【００３６】
次に、エンコーダはモジュール１１１〜１１６において、将来の動き推定のために、符号化されたフレームのデコードを実行する。これらのステップは、エンコーダおよびデコーダが同じ参照フレームを有することを可能にする。符号化されたフレームを再構成するため、モジュール１１１にて残差は逆量子化され、モジュール１１２において逆変換されて、ピクセル領域において“再構成された(reconstructed)”残差を提供する。符号化モード(ＩＮＴＥＲまたはＩＮＴＲＡ)に従って、この残差はＩＮＴＥＲ予測器１１４又はＩＮＴＲＡ予測器１１３に加えられる。
【００３７】
次に、この第１の再構成は、モジュール１１５において、１つまたは複数の種類のポストフィルタリングによってフィルタリングされる。これらのポストフィルタは、符号化及び復号されるループに統合される。エンコーダおよびデコーダ側で同じ参照フレームを使用するために、それらをエンコーダおよびデコーダ側で再構成されたフレームに適用する必要があることを意味する。このポストフィルタリングの目的は、圧縮アーチファクトを除去することである。
【００３８】
図２には、デコーダの原理が示されている。ビデオストリーム２０１は、まずモジュール２０２においてエントロピー復号される。次に、残差データは、モジュール２０３において逆量子化され、モジュール２０４において逆変換されて、画素値が得られる。モードデータは、また、モードの機能としてエントロピー復号され、ＩＮＴＲＡAタイプ復号またはＩＮＴＥＲタイプ復号が実行される。ＩＮＴＲＡモードの場合は、ビットストリーム２０５にて特定されるＩＮＴＲＡ予測モードの機能としてＩＮＴＲＡ予測子が決定される。モードがＩＮＴＥＲの場合は、動き情報がビットストリーム２０２から抽出される。これは、参照フレームインデックスと動きベクトル残差とから構成される。動きベクトル予測子は、動きベクトル２１０を得るため、動きベクトル残差に加えられる。次に、動きベクトルを使用して、参照フレーム２０６内の参照領域の位置が突き止められる。なお、動きベクトルフィールドデータ２１１は、次に復号される動きベクトルの予測に用いるために、復号された動きベクトルで更新される。デコードされたフレームのこの第１の再構成は、エンコーダ側で使用されるのと全く同じポストフィルタでポストフィルタリング２０７される。デコーダの出力は、圧縮解除されたビデオ２０９となる。
【００３９】
ＨＥＶＣ規格は３つの異なるＩＮＴＥＲモード、すなわち、インターモード、マージモード(Merge mode)、およびマージスキップモード(Merge Skip mode)を使用する。これらのモード間の主な違いは、ビットストリームにおけるデータシグナリングである。動きベクトル符号化の場合、現在のＨＥＶＣ規格は、その先行技術と比較して、動きベクトル予測のための競合ベースのスキームを含む。インターモードまたはマージモードのそれぞれについて最良の動きベクトル予測子または最良の動き情報を見つけるために、いくつかの候補が符号器側で率歪み基準と競合していることを意味する。最良の予測子または動き情報の最良の候補に対応するインデックスが、ビットストリームに挿入される。デコーダは予測子または候補の同じセットを導出することができ、デコードされたインデックスに従って最良のものを使用することになる。
【００４０】
予測子および候補の導出の設計は、複雑さに大きな影響を与えることなく最良の符号化効率を達成するために非常に重要である。ＨＥＶＣでは、２つの動きベクトル導出が使用される。１つはインターモード(Advanced Motion Vector Prediction(ＡＭＶＰ))のためのものであり、１つはマージモード(Merge derivation process)のためのものである。
【００４１】
既に述べたように、マージモードの候補(“古典的(classical)”またはスキップ)は、方向、リスト、参照フレーム・インデックス、および動きベクトルの全て動き情報を表す。いくつかの候補が、以下に記載されるマージ導出プロセスによって生成され、それぞれがインデックスを有する。現在のＨＥＶＣ設計では、両方のマージモードの最大候補は５に等しい。
【００４２】
ＪＥＭの現在のバージョンでは、テンプレートマッチングとバイラテラルマッチングの２つのタイプの検索が可能である。図３は、これら２つの方法を示している。バイラテラルマッチング３０１の原理は、現在の符号化ユニットの動き軌跡に沿って、以下に説明するテンプレートマッチングとの類推によって時にはテンプレートとも呼ばれる、２つのブロック間の最良のマッチングを見つけることである。
【００４３】
テンプレートマッチング３０２の原理は、現在のブロックの周りの再構成された画素と、評価された動きベクトルによって指し示されるブロックの周りの隣接する画素との間のマッチングコストを計算することによって、現在の符号化単位の動き情報を導出することである。テンプレートは、現在のブロックの周りの隣接画素のパターン、および予測ブロックの周りの隣接画素の対応するパターンに対応する。
【００４４】
両マッチングタイプ(テンプレートまたはバイラテラル)について、計算された異なるマッチングコストが比較されて、最良のマッチングコストが見つけられる。最良の一致を得る動きベクトルまたは動きベクトルの対が、導出された動き情報として選択される。さらなる詳細は、ＪＶＥＴ-Ｆ１００１に見出すことができる。
【００４５】
両マッチング方法は、動き情報全体、動きベクトル、参照フレーム、予測のタイプを導出する可能性を提供する。ＪＥＭにおいて“ＦＲＵＣ”と記されている、デコーダ側における動き情報導出は、全てのＨＥＶＣインターモード、すなわちＡＭＶＰ、マージ及びマージスキップに対して適用される。
【００４６】
ＡＭＶＰの場合、すべての動き情報、すなわち、uniまたはbi予測、参照フレームインデックス、予測子インデックス動きベクトル、および残差動きベクトルがシグナリングされ、ＦＲＵＣ法が適用されて、予測子のリストである場合、第１の予測子に設定される新しい予測子が決定される。従って、それはインデックス０を有する。
【００４７】
マージおよびマージスキップモードの場合、ＦＲＵＣフラグがＣＵに対してシグナリングされる。ＦＲＵＣが偽である場合、マージインデックスがシグナリングされ、通常のマージモードが使用される。ＦＲＵＣフラグが真であるとき、追加のＦＲＵＣモードフラグは、どの方法(双方向マッチングまたはテンプレートマッチング)がブロックの動き情報を導出するために使用されるべきかを示すためにシグナリングされる。なお、バイラテラルマッチングは、Ｂフレームのみに適用され、Ｐフレームには適用されない。
【００４８】
マージおよびマージスキップモードの場合、動きベクトルフィールドが、現在のブロックに対して定義される。これは、ベクトルが、現符号化単位よりも小さいサブ符号化単位に対して定義されることを意味する。さらに、古典的なマージに関しては、各リストに対する１つの動きベクトルがブロックに対する動き情報を形成することができる。
【００４９】
図４は、ブロックのマージモードのためのＦＲＵＣフラグのシグナリングを示すフローチャートである。ブロックは、ＨＥＶＣ表現による符号化単位または予測単位とすることができる。
【００５０】
第１のステップ４０１にて、符号化単位がスキップモードに従って符号化されているかどうかを知るために、スキップフラグが復号される。ステップ４０２のテストで、このフラグが偽であった場合、マージフラグがステップ４０３にて復号され、ステップ４０５にてテストされる。符号化単位がスキップまたはマージモードに従って符号化されているとき、マージＦＲＵＣフラグがステップ４０４にて復号される。符号化単位がスキップまたはマージモードに従って符号化されていない場合、ステップ４０６において、古典的なＡＭＶＰインターモードのイントラ予測情報が復号される。ステップ４０７でのテストで、現在の符号化単位のＦＲＵＣフラグが真であり、現在のスライスがＢスライスである場合、マッチングモードフラグがステップ４０８で復号される。なお、ＦＲＵＣにおけるバイラテラルマッチングは、Ｂスライスに対してのみ利用可能であることに留意されたい。スライスがＢスライスでなく、ＦＲＵＣが選択されている場合、モードは必然的にテンプレートマッチングであり、マッチングモードフラグは存在しない。符号化単位がＦＲＵＣでない場合、ステップ４０９にて、古典的マージインデックスが復号される。
【００５１】
ＦＲＵＣマージモードは、エンコーダ側にて、古典的マージモード(および他の可能なマージ)と競合する。図５は、ＪＥＭにおける現在の符号化モード評価方法を示す。まず、ステップ５０１において、ＨＥＶＣの古典的マージモードが評価される。候補リストは最初に、ステップ５０において、元のブロックとリストの各候補との間の単純なＳＡＤ(絶対差の和)で評価される。次に、ステップ５０４〜５０８によって示される、制限された候補のリストの各候補の実レート歪み(rate distortion:ＲＤ)コストが評価される。その評価では、ステップ５０５での残差とのレート歪みと、ステップ５０６での残差のないレート歪みが評価される。最後に、ステップ５０９において、最良のマージ候補が決定され、この最良のマージ候補は、残差を有しても有しなくてもよい。
【００５２】
次に、ステップ５１０〜５１６において、ＦＲＵＣマージモードが評価される。ステップ５１０にて、各マッチング方法、すなわち、双方向マッチングおよびテンプレートマッチングについて、ステップ５１１において、現在のブロックの動きベクトルフィールドが得られ、ステップ５１２および５１３において、残差の有る場合と無い場合のフルレート歪みコスト評価が計算される。残差の有無にかかわらず、最良の動きベクトル５１６が、ステップ５１５において、これらのレート歪みコストに基づいて決定される。最後に、古典的マージモードとＦＲＵＣマージモードとの間の最良のモードが、他のモードの可能な評価の前に、ステップ５１７において決定される。
【００５３】
図６は、エンコーダ側でのＦＲＵＣマージ評価方法を示す。ステップ６０１にて、各マッチングタイプ、すなわちテンプレートマッチングタイプおよびバイラテラルタイプについて、モジュール６１により符号化単位レベルが評価され、続いてモジュール６２によってサブ符号化単位レベルが評価される。目標は、現在の符号化単位６０３内の各サブ符号化単位の動き情報を見つけることである。
【００５４】
モジュール６１は、符号化単位レベル評価を処理する。ステップ６１１において、動き情報のリストが導出される。ステップ６１２において、このリスト内の各動き情報について、歪みコストが計算され、互いに比較される。テンプレートの最良の動きベクトル、またはバイラテラル６１３のための最良の組はコストを最小化するものである。次に、動きベクトル精緻化（refinement）ステップ６１４が適用され、得られた動きベクトルの精度を改善する。ＦＲＵＣ法では、テンプレートマッチング推定のために、古典的離散コサイン変換補間フィルタ(ＤＣＴＩＦ)補間フィルタの代わりにバイリニア補間が使用される。これにより、従来のＤＣＴＩＦのブロック周辺の７画素ではなく、ブロック周辺のメモリアクセスが１画素に削減されます。実際、バイリニア補間フィルタは、一方向のサブ画素値を得るために２画素のみしか必要としない。
【００５５】
動きベクトル精緻化の後、ステップ６１５において、現在の符号化単位のためのより良好な動きベクトルが得られる。この動きベクトルは、サブ符号化単位レベル評価に使用される。
【００５６】
ステップ６０２にて、現在の符号化単位は、いくつかのサブ符号化単位に再分割される。サブ符号化単位は、４分木構造における符号化単位の分割深さに依存する正方形ブロックである。その最小サイズは４×４である。
【００５７】
各サブＣＵ（サブ符号化単位）について、サブＣＵレベル評価モジュール６２は、最良の動きベクトルを評価する。ステップ６２１において、ステップ６１５においてＣＵレベルで得られた最良の動きベクトルを含む動きベクトルリストが導出される。ステップ６２２にて、各動きベクトルに対する歪みコストが評価される。しかし、そのコストは動きベクトルフィールドの発散を回避するため、符号化単位レベルで得られた最良の動きベクトルと現在の動きベクトルとの間の距離を表すコストも含む。最良の動きベクトル６２３は、最小コストに基づいて得られる。次に、このベクトル６２３は、ステップ６１４でのＣＵレベルで行われたのと同じ方法で、ＭＶ精緻化処理６２４により精緻化される。
【００５８】
プロセスの終わりで、１つのマッチングタイプについて、各サブＣＵについての動き情報が得られる。エンコーダ側では、両方のマッチングタイプ間の最良のＲＤコストが比較され、最良のものが選択される。デコーダ側では、この情報はビットストリームからデコードされる（図４のステップ４０８）。
【００５９】
テンプレートＦＲＵＣマッチングモードの場合、テンプレート７０２，７０３は、図７の灰色で示されるように、レート歪みコストを推定するために使用されるブロック７０１まで４行、その左の４列から構成される。２つの全く異なるテンプレート、すなわち、左テンプレート７０２及び上テンプレート７０３が用いられる。現在のブロック又はマッチしたブロック７０１は、歪の判定には利用されない。
【００６０】
図８は、識別されや最良の予測子（６１３又は６２３）の周りの追加の探索による、図６の動きベクトル精緻化ステップ６１４及び６２４を示す図である。
【００６１】
この方法は、リスト(６１２または６２２)内で識別された最良の動きベクトル予測子８０１を入力として取る。
【００６２】
ステップ８０２にて、ダイヤモンド探索が１／４画素位置に対応する解像度で適用される。このダイヤモンド探索は、最良のベクトル動きを中心とする１／４画素解像度で、ダイヤグラム８１で示されるダイヤモンドパターンに基づくものである。このステップの結果、１／４画素解像度の、新しい最良の動きベクトル８０３が得られる。
【００６３】
このダイヤモンド探索で得られた最良の動きベクトル位置８０３は、ステップ８０４における解像度１／４画素での、クロス探索の中心（クロスパターンに基づくことを意味する）となる。このクロス探索パターンは、最良のベクトル動き８０３の中心の１／４画素解像度における、ダイヤグラム８２で示される。このステップの結果、１／４画素解像度における新しい最良の動きベクトル８０５が得られる。
【００６４】
この探索ステップ８０４で得られた新たな最良の動きベクトル位置８０５は、ステップ８０６における１／８画素解像度でのクロス探索の中心となる。このステップの結果、１／８画素解像度の新しい最良の動きベクトル８０７が得られる。ダイヤグラム８３は、１／８解像度において、これらの３つの探索ステップにおける、テストされたすべての位置と共に示している。
【００６５】
本発明は、既知の精緻化ステップを改善するための工夫を行う。そして、テンプレート内のマッチングタイプおよび／または信号の特性を考慮することによって、符号化効率を改善することを目的とする。
【００６６】
本発明の一実施形態では、サブ画素精緻化精度が精密化方法の各ステップで増大される。
【００６７】
精緻化ステップは、サブ画素位置における動きベクトルを評価することによって実行される。サブ画素位置は、所与のサブ画素解像度で決定される。サブ画素解像度は、２つの画素間のサブ画素位置の数を決定する。解像度が高いほど、２つの画素間のサブ画素位置の数が多くなる。例えば、１／８画素解像度は、２つの画素間の８つのサブ画素位置に対応する。
【００６８】
図９は、この実施形態を示す。第１のダイヤグラム９１は、図８に示される従来技術のパターンの１／１６画素解像度で示される。ダイヤグラム９２に示されるように、第１のステップは、１／４th画素探索が維持され、次に、クロス探索は８th画素であり、最後のクロス探索は、１／１６th画素である。この実施形態は、良好な位置の周りでより正確な位置を得る可能性を提供する。さらに、動きベクトルは、平均して、前のサブ制約よりも初期位置に近くなる。
【００６９】
１つの追加の実施形態では、精緻化がテンプレートマッチングにのみ適用され、バイラテラルマッチングには適用されない。
【００７０】
図１０は、これらの実施形態を表すフローチャートである。先のステップで得られた最良の動きベクトル（６１３又は６２３）に対応する最良の動きベクトルは、１／４ペル位置でのダイヤモンド探索１００２の中心位置として設定される。ダイヤモンド探索１００２では、新しい最良の動きベクトル１００３を得る。マッチングタイプがテンプレートマッチングの場合、ダイヤモンド探索で得た動きベクトル１００３は、新しい動きベクトル１０１０での結果における１／８th画素精度のクロス探索１００９の中心になる。この新たな最良の動きベクトル１０１０は、最終の最良の動きベクトル１０１２を得るため、１／１６th画素精度でのクロス探索１０１１の対象となる。
【００７１】
マッチングタイプがテンプレートマッチングではない場合、ステップ１００５において、１／４画素での通常のクロス探索が行われ、新しい最良動きベクトル１００６が得られ、続いて、１／８画素探索ステップ１００７が行われ、最終的な最良の動きベクトル１００８が得られる。
【００７２】
本実施形態は、特にユニ予測(uni-prediction)のための符号化効率を改善する。バイ予測(bi-prediction)の場合、２つの同様のブロック間の平均化は、サブ画素解像度の増加に類似することがある。例えば、バイ予測のための両方のブロックが同じ参照フレームに由来し、それらの２つの動きベクトル間の差がより低いサブ画素解像度に等しい場合、バイ予測は、その場合、サブ画素解像度の増加に対応することになる。ユニ予測の場合、２つのブロック間のこの追加の平均化は存在しない。その結果、特に、このより高い解像度がビットストリームにおいてシグナリングされる必要がない場合、ユニ予測のためにサブ画素解像度を増加させることがより重要である。
【００７３】
一実施形態では、ダイヤモンドまたはクロス探索パターンは、水平、斜め、または垂直パターンに置き換えられる。図１１は、この実施形態で使用することができる様々なダイヤグラムを示している。ダイヤグラム１１０１は、１／８画素の水平パターンに従って探索される位置を示す。ダイヤグラム１１０２は、１／８画素の垂直パターンに従って探索される位置を示す。ダイヤグラム１１０３は、１／８画素の対角パターンに従って探索された位置を示す。ダイヤグラム１１０４は、別の１／８画素の対角パターンに従って探索される位置を示す。ダイヤグラム１１０５は、１／１６画素の水平パターンに従って探索される位置を示す。
【００７４】
水平パターンは、水平に整列されたサブ画素位置のパターンである。垂直パターンは、垂直に整列されたサブ画素位置のパターンである。斜めパターンは、斜めに並べられたサブ画素位置のパターンである。
【００７５】
これらのパターンの利点は、ブロックがエッジを含む場合に主に興味深いが、それは予測のためにこのエッジのより良い改良を提供するからである。実際、古典的な動きベクトル推定では、検出されたエッジの垂直軸の中からテストされた追加の位置が選択されると、動きベクトルの精緻化がより高い結果を与える。
【００７６】
図１２は、本実施形態によるパターンを選択方法の一例を示す。このフローチャートは例えば、図８のモジュール８０２、８０４、８０６の１つ以上のパターン探索を変更するために使用することができる。マッチングタイプがステップ１２０１でテストされたテンプレートマッチングである場合、現在のブロックの左テンプレートがステップ１２０２にて抽出される。次に、ブロックがエッジを含むか否かが判定される。存在する場合には、ステップ１２０３においてエッジの方向が決定される。例えば、現在のブロック上の勾配を計算して、エッジの存在およびその方向を決定することができる。この「左方向（directionLeft）」が、ステップ１２０４でのテストで水平である場合、ステップ１２０５での動きベクトル精緻化のために垂直パターン、例えばパターン１１０２が選択される。
【００７７】
左テンプレートにエッジがない場合、または識別された方向が水平でない場合、ステップ１２０６にて、現在のブロックの上テンプレートが抽出される。そして、テンプレートがエッジを含むかどうかが判定され、存在する場合、ステップ１２０７でその方向が判定される。この「上方向（directionUp）」が、ステップ１２０８のテストで垂直である場合、ステップ１２０９で動きベクトル精緻化のために選択されたパターンは、水平パターン、例えばパターン１１０１または１１０５となる。そうでなければ、ステップ１２１０で、初期パターン(８１、８２、８３)が選択される。
【００７８】
なお、左側のブロックが水平エッジを含む場合、このエッジは現在のブロックを通過しなければならないことに留意されたい。同様に、上側のブロックが垂直エッジを含む場合、このエッジは現在のブロックを通過しなければならない。反対に、左ブロックが垂直エッジを含む場合、このエッジは、現在のブロック等を通過すべきではない。
【００７９】
ステップ１２０１において、マッチングタイプがバイラテラルマッチングであると判定された場合、ステップ１２１１にて、１つのテンプレートブロックが選択される。次に、ステップ１２１２にて、テンプレートが方向を含んでいるかどうか、およびテンプレートがどの方向であるかが判定される。この方向が、ステップ１２１３でのテストで、水平である場合、ステップ１２０５にて垂直パターンが選択される。方向が、ステップ１２１４７のテストにて垂直である場合、ステップ１２０９にて水平パターンが選択される。バイラテラルマッチングの場合、対角パターン１１０３および１１０４として、いくつかの他の線形パターンを使用することができる。その場合、１２１２で決定された、エッジの方向に最も垂線形パターンが選択される。ステップ１２１２でエッジが検出されない場合、初期パターンが維持される。
【００８０】
動きベクトル精密化のためのパターンのこの適応の利点は、パターンがテンプレート内に含まれる信号に適応されるので、符号化効率の改善ことである。
【００８１】
パターンが適合されることもできる。例えば、ダイヤグラム１１０５は、水平の１／１６th画素パターンを示している。ここで、高動きベクトル精度により、最初の動きベクトルの周りにより多くの位置がある。
【００８２】
一実施形態では、テンプレートの信号内容を使用して、動きベクトル精緻化のためにテストされる位置の数を決定する。 たとえば、現在のブロックの周りのテンプレートに高周波が存在することを使用して、精緻化ステップの適用を決定します。 その理由は、十分な高周波が存在しない場合、動きベクトルのサブ画素精緻化は関係ないためである。
【００８３】
図１３は、この実施形態の例を示す。
【００８４】
マッチングモードが、ステップ１３０１でテストされたテンプレートマッチングである場合、左テンプレート、典型的には現在のブロックの隣接する４行がステップ１３０２で抽出される。次に、ステップ１３０３において、このブロックが高周波数を含むかどうかが判定される。この決定は、例えば、勾配の合計を閾値と比較することによって得ることができる。この左テンプレートが、ステップ１３０４のテストで、高周波数を含む場合、図６のステップ６１４および６２４に対応する、動きベクトル精緻化ステップ１３０５が適用される。
【００８５】
左テンプレートが十分に高い頻度を含まない場合、上テンプレートがステップ１３０６で抽出される。ステップ１３０７において、抽出されたテンプレートが高頻度を含むかどうかが判定される。そして、ステップ１３０８でのテストがその場合は、動きベクトル精緻化ステップがステップ１３０５で適用される。さもなければ、ステップ１３０９において、動きベクトル精緻化ステップがスキップされる。
【００８６】
ステップ１３０１において、マッチングタイプがバイラテラルマッチングであると判定された場合、ステップ１３１０において、１つのテンプレートが抽出される。次に、抽出されたテンプレートが高頻度を含むかどうかが、ステップ１３１４にて、判定される。抽出されたテンプレートが、ステップ１３１３でテストにて、高周波数を含まない場合は、ステップ１３０９で動きベクトル精密化は適用されず、そうでない場合は、ステップ１３０５で動きベクトル精密化が適用される。
【００８７】
さらに別の実施形態では、テンプレートの信号内容が、テンプレートマッチングタイプＦＲＵＣ評価のための動きベクトルを決定するために使用される歪み推定のために使用されるテンプレートを決定するために使用される。
【００８８】
図１４は、この実施形態を示す。
【００８９】
プロセスはステップ１４０１から始まる。左テンプレートと上テンプレートがステップ１４０２、１４０３で抽出される。抽出されたテンプレートごとに、ステップ１４０４および１４０５において、抽出されたテンプレートが高頻度を含むかどうかが判定される。そして、ステップ１４０６および１４０７でのテストで、テストされたテンプレートが高周波数を含む場合、それらは、ステップ１４０８および１４０９でのＦＲＵＣ評価における歪み推定のために使用される。両方のテンプレートが高い周波数を含む場合、それらは両方ともＦＲＵＣ評価に使用される。高い周波数を含むテンプレートがない場合、ステップ１４１１で、歪み推定に使用される上テンプレートが選択される。
【００９０】
これらの実施形態は全て組み合わせてもよい。
【００９１】
図１５は、本発明の１つまたは複数の実施形態を実施するためのコンピューティングデバイス１５００の概略ブロック図である。コンピューティングデバイス１５００は、マイクロコンピュータ、ワークステーション、または軽量ポータブルデバイスなどの装置とすることができる。コンピューティングデバイス１５００は、以下のものが接続された通信バスを備える: 
・ＣＰＵと呼ばれるマイクロプロセッサのような中央処理装置１５０１; 
・ＲＡＭで示されるランダムアクセスメモリ１５０２；これは本発明の実施形態の方法の実行可能コード、ならびに本発明の実施形態による画像の少なくとも一部を符号化または復号する方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタを格納するためのものであり、そのメモリ容量は例えば、拡張ポートに接続されたオプショナルなＲＡＭによって拡張することができる。 
・ＲＯＭで示される読み出し専用メモリ１５０３；これは本発明の実施形態を実施するためのコンピュータプログラムを記憶するものである。 
・ネットワークインタフェース１５０４；これは、典型的には処理されるデジタルデータが送信または受信される通信ネットワークに接続されるものである。ネットワークインタフェース１５０４は単一のネットワークインタフェースであってもよく、または異なるネットワークインタフェース(例えば、有線および無線インタフェース、または異なる種類の有線または無線インタフェース)のセットから構成されてもよい。データパケットは、ＣＰＵ１５０１で実行されるソフトウェアアプリケーションの制御下で、送信のためにネットワークインタフェースに書き込まれるか、または受信のためにネットワークインタフェースから読み出される。 
・ ユーザインタフェース１５０５；これはユーザからの入力を受信するために、またはユーザに情報を表示するために使用される。 
・ＨＤで示されるハードディスク１５０６；これは、大容量記憶装置として提供されてもよい。
・Ｉ／Ｏモジュール１５０７；これはビデオソースまたはディスプレイのような外部デバイスから／へデータを受信／送信するために使用されてもよい。
【００９２】
実行可能コードは読み出し専用メモリ１５０３、ハードディスク１５０６、または例えばディスクのようなリムーバブルデジタル媒体のいずれかに格納されてもよい。変形例によれば、プログラムの実行可能なコードはハードディスク１５０６のような通信装置１５００の記憶手段の１つに記憶されてから実行されるために、ネットワークインタフェース１５０４を介して通信ネットワークの手段によって受信されることができる。
【００９３】
中央処理ユニット１５０１は本発明の実施形態によるプログラムの命令またはソフトウェアコードの一部の実行を制御し、指示するように適合され、命令は、前述の記憶手段のうちの１つに記憶される。ＣＰＵ１５０１は、電源投入後、例えばプログラムＲＯＭ１５０３やハードディスク(ＨＤ)１５０６からロードされたソフトウェアアプリケーションに関するメインＲＡＭメモリ１５０２からの指示を実行することができる。このようなソフトウェアアプリケーションは、ＣＰＵ１５０１によって実行されると、本発明のフローチャートのステップを実行する。
【００９４】
本発明のアルゴリズムの任意のステップはＰＣ(“パーソナルコンピュータ”）、ＤＳＰ(“デジタルシグナルプロセッサ”)、またはマイクロコントローラなどのプログラマブルコンピューティングマシンによる命令、またはプログラムのセットの実行によってソフトウェアで実施することができ、あるいは、ＦＰＧＡ(“フィールドプログラマブルゲートアレイ”)またはＡＳＩＣ(“特定用途向け集積回路”)などのマシンまたは専用コンポーネントによってハードウェアで実施することができる。
【００９５】
以上、特定の実施形態を参照して本発明を説明したが、本発明は特定の実施形態に限定されるものではなく、本発明の範囲内にある修正は当業者には明らかであろう。
【００９６】
多くのさらなる修正および変形は単に例として与えられ、添付の特許請求の範囲によってのみ決定される本発明の範囲を限定することを意図しない、前述の例示的な実施形態を参照することにより、当業者に示唆されるのであろう。特に、異なる実施形態からの異なる特徴は、適宜、交換されてもよい。
【００９７】
特許請求の範囲において、単語“備える(comprising）”は他の要素又はステップを排除するものではなく、不定冠詞“a”又は“an”は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組み合わせが有利に使用されることができないことを示すものではない。
【図１】
2020523818.tif 000003
【図２】
2020523818.tif 000004
【図３】
2020523818.tif 000005
【図４】
2020523818.tif 000006
【図５】
2020523818.tif 000007
【図６】
2020523818.tif 000008
【図７】
2020523818.tif 000009
【図８】
2020523818.tif 000010
【図９】
2020523818.tif 000011
【図１０】
2020523818.tif 000012
【図１１】
2020523818.tif 000013
【図１２】
2020523818.tif 000014
【図１３】
2020523818.tif 000015
【図１４】
2020523818.tif 000016
【図１５】
2020523818.tif 000017
【手続補正書】
【提出日】令和1年12月16日(2019.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロックに分割されるフレームで構成されるビデオデータを符号化する符号化方法であって、
符号化対象のブロックに関する動きベクトルであって、少なくとも復号側において精緻化される動きベクトルを決定することと、
分数サンプル精度の精緻化された動きベクトルを生成するため、少なくとも複数の分数サンプル位置を評価することで、前記決定された動きベクトルを精緻化することと、
前記精緻化された動きベクトルを用いて前記符号化対象のブロックを符号化することと
前記複数の分数サンプル位置を評価するための複数のパターンが、前記決定された動きベクトルを精緻化するために利用でき、
前記複数のパターンは、前記決定された動きベクトルによって示される第１の画素位置に基づく水平パターン及び垂直パターンを含み、
前記水平パターンが利用される場合は、少なくとも、前記第１の画素位置の右の複数の分数サンプル位置、及び、前記第１の画素位置の左の複数の分数サンプル位置が評価され、
前記垂直パターンが利用される場合は、少なくとも、前記第１の画素位置の上の複数の分数サンプル位置、及び、前記第１の画素位置の下の複数の分数サンプル位置が評価される
を有することを特徴とする符号化方法。
【請求項２】
前記複数のパターンは、更に、斜めパターンを含むことを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記決定された動きベクトルを精緻化するためのパターンは、隣接するブロック内で検出されたエッジ方向に基づいて、前記複数のパターンから選択される
ことを特徴とする請求項１に記載の符号化方法。
【請求項４】
前記精緻化される動きベクトルは、１／１６分数サンプル精度である
ことを特徴とする請求項１に記載の符号化方法。
【請求項５】
複数のブロックに分割されるフレームで構成されるビデオデータを復号する復号方法であって、
復号対象のブロックに関する動きベクトルであって、前記復号方法において精緻化される動きベクトルを決定することと、
分数サンプル精度での精緻化された動きベクトルを生成するため、少なくとも複数の分数サンプル位置を評価することで、前記決定された動きベクトルを精緻化することと、
前記精緻化された動きベクトルを用いて前記復号対象のブロックを復号すること
を有し、
前記複数の分数サンプル位置を評価するための複数のパターンが、前記決定された動きベクトルを精緻化するために利用可能であって、
前記複数のパターンは、前記決定された動きベクトルによって示される第１の画素位置に基づく水平パターン及び垂直パターンを含み、
前記水平パターンが利用される場合、少なくとも、前記第１の画素位置の右の複数の分数サンプル位置、及び、前記第１の画素位置の左の複数の分数サンプル位置が評価され、
前記垂直パターンが利用される場合、少なくとも、前記第１の画素位置の上の複数の分数サンプル位置、及び、前記第１の画素位置の下の複数の分数サンプル位置が評価される
ことを特徴とする復号方法。
【請求項６】
前記複数のパターンは、更に、斜めパターンを含むことを特徴とする請求項５に記載の復号方法。
【請求項７】
前記決定された動きベクトルを精緻化するためのパターンは、隣接するブロック内で検出されたエッジ方向に基づいて、前記複数のパターンから選択される
ことを特徴とする請求項５に記載の復号方法。
【請求項８】
前記精緻化される動きベクトルは、１／１６分数サンプル精度である
ことを特徴とする請求項５に記載の復号方法。
【請求項９】
複数のブロックに分割されるフレームで構成されるビデオデータを符号化する符号化装置であって、
符号化対象のブロックに関する動きベクトルであって、少なくとも復号側において精緻化される動きベクトルを決定する決定手段と、
分数サンプル精度の精緻化された動きベクトルを生成するため、少なくとも複数の分数サンプル位置を評価することで、前記決定された動きベクトルを精緻化する精緻化手段と、
前記精緻化された動きベクトルを用いて前記符号化対象のブロックを符号化する符号化手段と、
を有し、
前記複数の分数サンプル位置を評価するための複数のパターンが、前記決定された動きベクトルを精緻以下するために利用でき、
前記複数のパターンは、前記決定された動きベクトルによって示される第１の画素位置に基づく水平パターン及び垂直パターンを含み、
前記水平パターンが利用される場合、少なくとも、前記第１の画素位置の右の複数の分数サンプル位置、及び、前記第１の画素位置の左の複数の分数サンプル位置が評価され、
前記垂直パターンが利用される場合、少なくとも、前記第１の画素位置の上の複数の分数サンプル位置、及び、前記第１の画素位置の下の複数の分数サンプル位置が評価される
ことを特徴とする符号化装置。
【請求項１０】
前記複数のパターンは、更に、斜めパターンを含むことを特徴とする請求項９に記載の符号化装置。
【請求項１１】
前記決定された動きベクトルを精緻化するためのパターンは、隣接するブロック内で検出されたエッジ方向に基づいて、前記複数のパターンから選択される
ことを特徴とする請求項９に記載の符号化装置。
【請求項１２】
前記精緻化される動きベクトルは、１／１６分数サンプル精度である
ことを特徴とする請求項９に記載の符号化装置。
【請求項１３】
複数のブロックに分割されるフレームで構成されるビデオデータを復号する復号装置であって、
復号対象のブロックに関する動きベクトルであって、前記復号装置において精緻化される動きベクトルを決定する決定手段と、
分数サンプル精度での精緻化された動きベクトルを生成するため、少なくとも複数の分数サンプル位置を評価することで、前記決定された動きベクトルを精緻化する精緻化手段と、
前記精緻化された動きベクトルを用いて前記復号対象のブロックを復号する復号手段と
を有し、
前記複数の分数サンプル位置を評価するための複数のパターンが、前記決定された動きベクトルを精緻化するために利用可能であって、
前記複数のパターンは、前記決定された動きベクトルによって示される第１の画素位置に基づく水平パターン及び垂直パターンを含み、
前記水平パターンが利用される場合、少なくとも、前記第１の画素位置の右の複数の分数サンプル位置、及び、前記第１の画素位置の左の複数の分数サンプル位置が評価され、
前記垂直パターンが利用される場合、少なくとも、前記第１の画素位置の上の複数の分数サンプル位置、及び、前記第１の画素位置の下の複数の分数サンプル位置が評価される
ことを特徴とする復号装置。
【請求項１４】
前記複数のパターンは、更に、斜めパターンを含むことを特徴とする請求項１３に記載の復号装置。
【請求項１５】
前記決定された動きベクトルを精緻化するためのパターンは、隣接するブロック内で検出されたエッジ方向に基づいて、前記複数のパターンから選択される
ことを特徴とする請求項１３に記載の復号装置。
【請求項１６】
前記精緻化される動きベクトルは、１／１６分数サンプル精度である
ことを特徴とする請求項１３に記載の復号装置。
【請求項１７】
コンピュータを、請求項９〜１２のいずれか１項に記載の符号化装置の各手段として機能させることを特徴とするプログラム。
【請求項１８】
コンピュータを、請求項１３〜１５のいずれか１項に記載の復号装置の各手段として機能させることを特徴とするプログラム。
【国際調査報告】
2020523818.tif 000018
2020523818.tif 000019