(57)【要約】【課題】デコーダに伝送するビット量を減らし、ビデオ信号処理の効率を向上させる。【解決手段】ビデオ信号処理方法を提供する。本発明は、現在ブロックに隣接しているテンプレート領域を用いて現在ブロックの画面内予測モードを決定する段階と、該現在ブロックの画面内予測モードを用いて現在ブロックの予測値を獲得する段階とを含む。従って、本発明は、デコーダに現在ブロックの予測モードに関する情報を伝送せずに、この情報をデコーダで導出できるようにすることによって、ビデオ信号処理の効率を向上させることができる。【選択図】図６
2011515060.tif 000002
【特許請求の範囲】
【請求項１】
現在ブロックに隣接しているテンプレート領域を用いて該現在ブロックの画面内予測モードを決定する段階と、
前記現在ブロックの前記画面内予測モードを用いて前記現在ブロックの予測値を獲得する段階と、
を含むことを特徴とするビデオ信号処理方法。
【請求項２】
前記現在ブロックに隣接している前記テンプレート領域を用いて前記現在ブロックの前記画面内予測モードを決定する段階は、前記現在ブロックに隣接している前記テンプレート領域の画面内予測モードを抽出する段階をさらに含み、前記現在ブロックに隣接している前記テンプレート領域の該画面内予測モードは、前記現在ブロックの前記画面内予測モードとして用いられることを特徴とする、請求項１に記載のビデオ信号処理方法。
【請求項３】
前記現在ブロックに隣接している前記テンプレート領域の前記画面内予測モードを抽出する段階は、
前記現在ブロックに隣接している前記テンプレート領域の画素と前記テンプレート領域の左側、上端、上端左側、及び上端右側における隣接画素との間の画素値差を、それぞれ計算する段階と、
前記画素値差を最小とする前記画面内予測モードを獲得する段階と、
をさらに含み、
前記画素値差は、前記画面内予測モードの９種の予測方向を考慮して計算されることを特徴とする、請求項２に記載のビデオ信号処理方法。
【請求項４】
現在ブロックに隣接しているテンプレート領域を用いて該現在ブロックの予測モードを決定する予測モード決定部と、
前記現在ブロックの前記予測モードを用いて前記現在ブロックの予測値を獲得する獲得部と、
を含むことを特徴とするビデオ信号処理装置。
【請求項５】
現在ブロックのモーションベクトル差値を受信する段階と、
前記現在ブロックの前記受信したモーションベクトル差値及び前記現在ブロックのモーションベクトル予測値を用いて前記現在ブロックのモーションベクトルを獲得する段階と、
前記現在ブロックの前記モーションベクトルを用いて、前記現在ブロックに対応する参照ブロック及び該参照ブロックに隣接するブロックを特定する段階と、
前記特定されたブロックのテンプレート領域と前記現在ブロックのテンプレート領域との間の各画素値差を計算する段階と、
前記画素値差を計算した結果に基づいて、修正されたモーションベクトルを抽出する段階と、
を含むことを特徴とするモーションベクトル決定方法。
【請求項６】
前記参照ブロックに隣接する前記ブロックは、前記参照ブロックを中心にしてモーションベクトル単位間隔で隣接する８個のブロックであることを特徴とする、請求項５に記載のモーションベクトル決定方法。
【請求項７】
前記修正されたモーションベクトルを抽出する段階は、前記現在ブロックに隣接する前記テンプレート領域と前記現在ブロックに対応する前記参照ブロックに隣接する前記テンプレート領域との間の前記画素値差が最小値を有する場合、９個の画素値差に基づく２次曲面から、最小の画素値差を有するモーションベクトル位置を獲得する段階をさらに含むことを特徴とする、請求項５に記載のモーションベクトル決定方法。
【請求項８】
現在ブロックの第１のモーションベクトル差値を受信する段階と、
前記現在ブロックの前記第１のモーションベクトル差値にシフト演算を適用して前記現在ブロックの第２のモーションベクトル差値を獲得する段階と、
前記現在ブロックの前記第２のモーションベクトル差値及び前記現在ブロックのモーションベクトル予測値に基づいて候補参照ブロックの範囲を決定する段階と、
前記候補参照ブロックに隣接しているテンプレート領域と前記現在ブロックに隣接しているテンプレート領域との間の各画素値差を計算する段階と、
前記画素値差を計算した結果に基づいて、前記現在ブロックのモーションベクトルを獲得する段階と、
を含むことを特徴とするモーションベクトル決定方法。
【請求項９】
前記現在ブロックの前記第１のモーションベクトル差値は、右シフト演算により、前記現在ブロックの前記モーションベクトル差値の正確度を下げた結果の値であり、
前記現在ブロックの前記モーションベクトル差値に対する前記右シフト演算は、切り捨てまたは四捨五入のいずれかに従い実行されることを特徴とする、請求項８に記載のモーションベクトル決定方法。
【請求項１０】
前記候補参照ブロックの前記範囲を決定する段階は、前記現在ブロックの前記第１のモーションベクトル差値が切り捨てにより得られた場合、前記候補参照ブロックの前記範囲は、前記現在ブロックの前記第２のモーションベクトル差値と前記現在ブロックの前記モーションベクトル予測値とを合算して得たモーションベクトル位置（基準位置）における画素から右側にＸ−１番目の画素までを範囲とする画素を含み、前記Ｘは、モーションベクトル単位の逆数を取った結果の値であることを特徴とする、請求項８に記載のモーションベクトル決定方法。
【請求項１１】
前記候補参照ブロックの前記範囲を決定する段階は、前記現在ブロックの前記第１のモーションベクトル差値が四捨五入により得られた場合、前記候補参照ブロックの前記範囲は、前記基準位置における画素から左側にＸ／２番目の画素から前記基準位置における前記画素から右側にＸ／２−１番目の画素までを範囲とする画素を含み、前記Ｘは、モーションベクトル単位の逆数を取った結果の値であることを特徴とする、請求項８に記載のモーションベクトル決定方法。
【請求項１２】
前記現在ブロックの前記モーションベクトルを獲得する段階は、テンプレートマッチングを行った結果として、前記画素値差を最小にする前記候補参照ブロックから前記現在ブロックの前記モーションベクトルを獲得することを特徴とする、請求項８に記載のモーションベクトル決定方法。
【請求項１３】
現在ブロックのテンプレート領域と参照フレームの候補テンプレート領域との間の画素値差を計算する段階であって、該参照フレームの該テンプレート領域は、該画素値差に基づいて選択される段階と、
前記現在ブロックの前記テンプレート領域と前記参照フレームの前記テンプレート領域とのテンプレートマッチングを用いて前記現在ブロックの参照ブロックを選択する段階と、
前記選択された参照ブロックを用いて前記現在ブロックの予測値を獲得する段階と、
前記予測値に基づき前記現在ブロックをデコーディングする段階と、
を含むことを特徴とするビデオ信号処理方法。
【請求項１４】
前記現在ブロックに隣接しているテンプレート領域と参照フレーム内の候補テンプレート領域との間の画素値差を計算する段階は、現在フレームと参照フレームとの間の照度差を考慮することを特徴とする、請求項１３に記載のビデオ信号処理方法。
【請求項１５】
前記現在ブロックに隣接しているテンプレート領域は、前記現在ブロックの右側または下端に隣接している画素の領域を含むことを特徴とする、請求項１４に記載のビデオ信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号をエンコーディングまたはデコーディングするための方法及び装置に関するものである。
【背景技術】
【０００２】
ソース提供者がエンコーディングされたビデオ信号をデコーダに伝送する際に、ビデオ信号の圧縮率を高めるために、時間的冗長性と空間的冗長性を除去する方法、すなわち、画面内予測方法と画面間予測方法が使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、画面間予測モードに割り当てられたビット量を減らすことにある。
【０００４】
本発明の他の目的は、伝送されるモーションベクトルの量を従来と同一に維持しながら、より精密なモーションベクトルを獲得することにある。
【０００５】
本発明のさらに他の目的は、画面間予測の正確性を向上させることにある。
【０００６】
本発明のさらに他の目的は、テンプレート領域範囲と関連して適応的にテンプレートマッチングを利用することにある。
【０００７】
本発明のさらに他の目的は、テンプレートマッチングを行うか否かを指示するフラグ使用方法を提示することによって、効率的にビデオ信号を処理することにある。
【課題を解決するための手段】
【０００８】
本発明は、デコーダに画面内予測モードを伝送せずに、デコーダでテンプレート領域を用いて現在ブロックの画面内予測モードを導き出すことを特徴とする。
【０００９】
本発明は、従来のブロックマッチングアルゴリズムを行ってモーションベクトルを獲得し、前記モーションベクトルを中心とする参照フレーム内のブロックと現在ブロックとのテンプレートマッチングを行うことを特徴とする。
【００１０】
本発明は、現在ブロックのモーションベクトル差値をデコーダに伝送する際に、モーションベクトル差値を、正確度を下げてデコーダに伝送し、デコーダでは、モーションベクトル単位でテンプレートマッチングを行って現在ブロックのモーションベクトルを獲得することを特徴とする。
【００１１】
本発明は、テンプレートマッチングを用いて現在ブロックに対応する参照ブロックを探す際に、現在フレームと参照フレームとの照度差による重み値を候補参照ブロックのテンプレート領域に付加して現在ブロックのテンプレート領域とテンプレートマッチングを行うことを特徴とする。
【００１２】
本発明は、テンプレートマッチングにおいて、ターゲット領域とテンプレート領域とを結合した形状がターゲットの形状と同一になるようにテンプレート領域を設定することを特徴とする。
【００１３】
本発明は、テンプレートマッチングを行うか否かを指示するフラグを使用し、マクロブロック内のパーティションのそれぞれに対してフラグを使用することを特徴とする。
【００１４】
本発明は、デコーダでマクロブロックのタイプを獲得する前に、テンプレートマッチングを行うか否かを指示するフラグ情報を獲得し、テンプレートマッチングを行わない場合は従来デコーディングプロセスを行い、テンプレートマッチングを行う場合は、マクロブロックのタイプを１６＊１６に、サブマクロブロックのタイプを８＊８に設定することを特徴とする。
【００１５】
本発明は、テンプレート領域を、ターゲットの左側と上端に接しているブロックの他に、右側または下端に接している既にコーディングされたブロックまで拡張させることを特徴とする。
【発明の効果】
【００１６】
この結果、本発明は以下の効果または利点を提供する。
【００１７】
第一、デコーダに画面内予測モードを伝送せず、デコーダでテンプレート領域を用いて現在ブロックの画面内予測モードを誘導することによって、デコーダに伝送されるビット量を減らすことができ、ビデオ信号処理の効率を向上させることができる。
【００１８】
第二、現在ブロックのモーションベクトルを獲得する際に、従来のブロックマッチングアルゴリズムを用いて現在ブロックのモーションベクトルを獲得するが、このモーションベクトルを基準にしてテンプレートマッチングを行うことにより、より正確なモーションベクトルを獲得することができ、これにより、ビデオ信号処理のコーディング効率を向上させることができる。
【００１９】
第三、モーションベクトル差値の正確度を減らす方法により、現在ブロックのモーションベクトル差値を伝送し、デコーダにおいて、４分の１画素単位（quarter-pel unit）でモーションベクトルによるテンプレートマッチングを行うことにより現在ブロックのモーションベクトルを獲得することによって、デコーダに伝送されるモーションベクトル情報量を減らすことができ、これにより、ビデオ信号処理のコーディング効率を向上させることができる。
【００２０】
第四、テンプレートマッチングを用いて現在ブロックに対応する参照ブロックを探す際に、画面間照度差を考慮することによって、現在ブロック予測の正確性を向上させることができる。
【００２１】
第五、ターゲット領域とテンプレート領域とを結合した形状がターゲットの形状と同一になるようにテンプレート領域を設定することによって、ビデオ信号処理の効率性を向上させることができる。
【００２２】
第六、テンプレートマッチングを行うか否かを指示するフラグを使用し、マクロブロック内のパーティションのそれぞれに対してフラグを使用することによって、ビデオ信号処理の効率性を向上させることができる。
【００２３】
第七、デコーダでマクロブロックのタイプを獲得する前に、テンプレートマッチングを行うか否かを指示するフラグ情報を獲得することによって、マクロブロックタイプに対するデコーディング作業を省略し、ビデオ信号処理の効率性を向上させることができる。
【００２４】
第八、テンプレートマッチングにおいて、テンプレート領域を、ターゲットの左側と上端に接しているブロックの他に、右側または下端に接しているブロックまで拡張させることによって、テンプレートマッチングを用いたビデオ信号処理の効率性を向上させることができる。
【００２５】
本発明の更なる理解を提供するために添付され、組み込まれ、及び本明細書の一部を構成する図面は、本発明の実施例を説明し、明細書と共に、本発明の原理を説明する。
【図面の簡単な説明】
【００２６】
【図１】テンプレート領域及びターゲット領域の例を示す図である。
【図２】本発明の第１の実施例による、テンプレート領域を用いて現在ブロックの画面内予測モードを決定するためのデコーダにおけるシーケンスのフローチャートである。
【図３】本発明の第１の実施例による現在ブロックのテンプレート領域の画面内予測モードを獲得する際に用いられる現在ブロックのテンプレート領域と該テンプレート領域の周囲の画素を示す図である。
【図４】本発明の第２の実施例による現在ブロックのモーションベクトルに基づいてテンプレートマッチングを行うことで、修正された現在ブロックのモーションベクトルを獲得する手順を示すフローチャートである。
【図５】本発明の第２の実施例による現在ブロックに対応する参照ブロックと該参照ブロックに隣接するブロックを示す図である。
【図６】本発明の第２の実施例によるテンプレートマッチング実行結果から、修正された現在ブロックのモーションベクトルを決定する方法を示す図である。
【図７】本発明の第３の実施例による現在ブロックの修正されたモーションベクトルを獲得する手順を示すフローチャートである。
【図８】本発明の第３の実施例によるモーションベクトルの単位が１/４の場合に、現在ブロックとテンプレートマッチングを行う候補参照ブロックの範囲を示す図である。
【図９】本発明の第４の実施例による現在ブロックに対応する参照ブロックを特定する際に、画面間照度差を考慮する方法を示す図である。
【図１０】本発明の第５の実施例によるテンプレートマッチングを行うか否かを指示するフラグ使用を具現したシンタックステーブルである。
【図１１】本発明の第５の実施例によるテンプレートマッチングを行うか否かを指示するフラグの再配列方法を具現したシンタックステーブルである。
【発明を実施するための形態】
【００２７】
本発明の特徴及び利点は、以下の詳細な説明で記述され、部分的には、詳細な説明から明らかになるか、発明の実行から理解されるであろう。発明の目的及びその他の利点は、添付図面の他に、明細書、請求項及び図面に記載された事項によって実現または獲得することができる。
【００２８】
上記の目的を達成するために、本発明に係るビデオ信号処理方法は、現在ブロックに接しているテンプレート領域の画面内予測モードを決定し、該テンプレート領域の画面内予測モードを現在ブロックの予測モードに用いて現在ブロックの予測値を獲得することを特徴とする。
【００２９】
本発明によれば、前記現在ブロックに接しているテンプレート領域の画面内予測モード決定は、前記テンプレート領域の左側、上端、上端左側、及び上端右側に隣接している画素（pixel）を特定し、該特定された画素と前記テンプレート領域との画素値差を計算し、前記画素値差を最小とする画面内予測モードを獲得することを特徴とする。前記画素値差は、９つの画面内予測モードの予測方向を考慮して計算することを特徴とする。
【００３０】
本発明の他の側面に係るビデオ信号処理装置によれば、現在ブロックに接しているテンプレート領域を用いて現在ブロックの予測モードを決定する決定部と、前記現在ブロックの予測モードを用いて現在ブロックの予測値を獲得する獲得部と、を含むことを特徴とする。
【００３１】
本発明によるモーションベクトル決定方法は、現在ブロックのモーションベクトルを用いて、現在ブロックに対応する参照ブロック及び前記参照ブロックに隣接するブロックを特定し、前記特定されたブロックに接しているテンプレート領域と現在ブロックに接しているテンプレート領域との画素値差を計算し、前記画素値差に基づいて現在ブロックの修正されたモーションベクトルを抽出することを特徴とする。
【００３２】
本発明によれば、前記参照ブロックに隣接するブロックは、前記参照ブロックを中心にしてモーションベクトル単位間隔で隣接する８個のブロックとすることができる。
【００３３】
本発明によれば、前記現在ブロックの修正されたモーションベクトルの抽出は、現在ブロックに接しているテンプレート領域と前記現在ブロックに対応する参照ブロックに接しているテンプレート領域との画素値差が最小値を有する場合、前記計算された９個の画素値差に基づく２次曲面を獲得し、前記２次曲面から最小の画素値差を有するモーションベクトル位置を獲得することを特徴とする。
【００３４】
本発明によるモーションベクトル決定方法は、現在ブロックの第１のモーションベクトル差値にシフト演算を適用して現在ブロックの第２のモーションベクトル差値を獲得し、前記現在ブロックの第２のモーションベクトル差値と現在ブロックのモーションベクトル予測値とを加算した値を基準に、一定範囲内の候補参照ブロックを特定し、前記特定された候補参照ブロックのテンプレート領域と現在ブロックのテンプレート領域との画素値差を計算し、該画素値差を最小とする候補参照ブロックから、現在ブロックの修正されたモーションベクトルを獲得することを特徴とする。
【００３５】
本発明によれば、現在ブロックの第１のモーションベクトル差値は、現在ブロックのモーションベクトル差値を右シフト演算を適用して獲得した値であり、前記右シフト演算は、切り捨てまたは四捨五入を行うものであることを特徴とする。
【００３６】
本発明によれば、前記現在ブロックの第１のモーションベクトル差値を切り捨てして獲得した場合、現在ブロックの第２のモーションベクトル差値と現在ブロックのモーションベクトル予測値とを加算した値を基準にして右側にＸ−１番目の画素までを候補参照ブロックの範囲とすることを特徴とし、前記現在ブロックの第１のモーションベクトル差値を四捨五入して獲得した場合、現在ブロックの第２のモーションベクトル差値と現在ブロックのモーションベクトル予測値とを加算した値を基準にして左側にＸ／２番目の画素から右側にＸ／２-１番目の画素までを候補参照ブロックの範囲とすることを特徴とする。前記Ｘは、モーションベクトル単位の逆数である。
【００３７】
本発明によるビデオ信号処理方法は、現在ブロックのテンプレート領域と参照フレーム内の候補参照ブロックのテンプレート領域との画素値差を計算し、該画素値差を最小にする候補参照ブロックを、現在ブロックに対応する参照ブロックと特定することを特徴とする。
【００３８】
本発明によれば、現在ブロックの形状が直方形である場合、現在ブロックと現在ブロックのテンプレート領域とを結合した形状が、現在ブロックと同じ形状となるように、現在ブロックのテンプレート領域を設定することができ、現在ブロックの左側または上端に接している画素の他に、現在ブロックの右側または下端に接している画素を、現在ブロックのテンプレート領域に含めることができる。
【００３９】
本発明によれば、前記画素値差の計算において、現在フレームと参照フレームとの照度差による重み値を候補参照ブロックに付加した候補参照ブロックの画素値を用いることを特徴とする。
【００４０】
本発明によれば、現在ブロックの予測において、マクロブロックのテンプレートマッチング実行有無を指示するフラグを使用し、前記フラグは、前記マクロブロックがＭ＊Ｎのパーティションに分けられている場合、それぞれのパーティションごとに前記フラグを使用し、前記フラグは、マクロブロックのタイプに関する情報を受信する前に受信することを特徴とする。
【００４１】
本発明のさらに他の側面に係るビデオ信号処理装置によれば、現在ブロックのテンプレート領域と参照フレーム内の候補参照ブロックのテンプレート領域との画素値差を計算し、前記画素値差に基づいて現在ブロックに対応する参照ブロックを選択する選択部と、前記選択された参照ブロックを用いて現在ブロックの予測値を獲得する獲得部と、を含むことを特徴とする。
【００４２】
実施例
以下、添付の図面を参照しつつ、本発明の好適な実施例について詳細に説明する。下記の説明において、本明細書及び請求の範囲に使われた用語や単語は、通常的または辞書的な意味に限定して解釈されるものではなく、発明者はそれ自身の発明を最善の方法で説明するために用語の概念を適切に定義することができるという原則に立って本発明の技術的思想に符合する意味と概念として解釈しなければならない。したがって、本明細書に記載された実施例と図面に示された構成は、本発明の好適な一実施例に過ぎず、本発明の技術的思想がそれらに限定されるものではないので、本出願時点においてそれらの実施例に取って代わる様々な均等物及び変形例がありうることを理解しなければならない。
【００４３】
特に、本発明でいうコーディングとは、エンコーディング及びデコーディングの両方を含む概念である。また、画素値差とは、画素値差の絶対値の和と理解すべきである。
【００４４】
まず、現在ブロックの予測に利用できるテンプレートについて説明する。
【００４５】
図１は、テンプレート領域及びターゲット領域の例を示す図である。
【００４６】
図１（ａ）を参照すると、ターゲット領域１０は、テンプレート領域を用いて予測しようとする現在ブロックを意味でき、テンプレート領域１１は、ターゲット領域に接している領域で、既にコーディングされた領域でもある。一般に、テンプレート領域１１は、ターゲット領域１０の左側及び上端に接している領域を意味することができる。
【００４７】
さらに、現在ブロックの右側または下端に接している領域も、現在ブロックに先立ってコーディングすることで、それをテンプレートマッチング実行時にテンプレート領域として用いることもできる。
【００４８】
例えば、図１（ｂ）は、現在ブロック４０が１６＊８の場合であり、現在ブロックのテンプレート領域は、現在ブロックの左側及び上端に接している既にコーディングされた領域４１の他に、現在ブロックの下端部分４２も含むことができる。
【００４９】
図１（ｃ）でも、現在ブロック４３のテンプレート領域は、現在ブロックの左側及び上端に接している既にデコーディングされた領域４４の他に、現在ブロックの右側に接している領域４５も含むことができる。
【００５０】
マクロブロックのパーティション形状によってターゲットの形状を設定することができ、テンプレート領域とターゲット領域とを結合した形状がターゲットの形状と同一になるようにテンプレート領域を設定することができる。
【００５１】
例えば、図１（ｄ）に示すように、マクロブロックのパーティション形状が１６＊８の場合に、ターゲットの形状２０を、２個の８＊８ブロックと定義せずに、１６＊８ブロックと定義することができる。なお、ターゲットの形状が１６＊８ブロックと定義されると、テンプレート領域とターゲット領域とを結合した形状がターゲットの形状と同一形状、すなわち、直方形状となるようにテンプレート領域２１を設定することができる。
【００５２】
また、マクロブロックの形状が８＊１６の場合に、ターゲットの形状２２を８＊１６と定義することができ、テンプレート領域２３を図１（ｅ）のように設定することができる。
【００５３】
図２は、本発明の第１の実施例によるデコーダでテンプレート領域を用いて現在ブロックの画面内予測モードを決定する手順を示すフローチャートである。
【００５４】
図２（ａ）を参照すると、エンコーダで現在ブロックのテンプレート領域の画面内予測モードを抽出する（Ｓ２１０）。現在ブロック及びテンプレート領域の相互類似な面を用いて、抽出された現在ブロックのテンプレート領域の画面内予測モードを現在ブロックの画面内予測モードとして用いることがきる。これにより、現在ブロックの画面内予測モードを獲得することができる（Ｓ２２０）。現在ブロックの画面内予測モードで現在ブロックの画素値及び残余（residual）を生成し（Ｓ２３０）、この現在ブロックの残余のみをデコーダに伝送し（Ｓ２４０）、現在ブロックの画面内予測モードは伝送しない。これによって、デコーダに伝送されるブロックの情報量を減らすことができる。
【００５５】
図２（ｂ）を参照すると、デコーダでは、現在ブロックの残余を受信する（Ｓ２５０）。また、エンコーダと同様に、現在ブロックのテンプレート領域の画面内予測モードを獲得し（Ｓ２６０）、現在ブロックの画面内予測モードを獲得することができる（Ｓ２７０）。この獲得した現在ブロックの画面内予測モードによる現在ブロックの画素値、及び受信した現在ブロックの残余を用いて、現在ブロックを復元する（Ｓ２８０）。
【００５６】
図３は、本発明の第１の実施例による現在ブロックのテンプレート領域の画面内予測モードを獲得する際に用いられる現在ブロックのテンプレート領域と該テンプレート領域の周囲の画素を示す図である。
【００５７】
ａ〜ｍ領域３０は、現在ブロックの左側と上端に隣接し、現在ブロックの左上隅画素に隣接しており、既にコーディングされた画素であって、テンプレート領域と見なすことができる。図３において、テンプレート領域の大きさは１である。テンプレート領域の大きさは、ｎ（ｎ＝自然数）であり、調節可能である。Ａ〜Ｘ領域３１は、テンプレート領域を基準にして左側（Ｊ〜Ｎ）、上端（Ａ〜Ｅ）、上端左側（Ｘ）、上端右側（Ｆ〜Ｉ）に接しているコーディングされた画素である。
【００５８】
最適の予測モードを選択するために、ａ〜ｍ領域とＡ〜Ｘ領域との間の画素値差が計算される。垂直モードの場合、例えば、画素値差は、absolute[(m-A)+(i-A)+(j-A)+(k-A)+(l-A)+(a-B)+(b-C)+(c-D)+(d-E)]になる。同様に、９つの画面内予測モードに対してこの画素値差が計算され、この画素値差を最小とする画面内予測モードが、テンプレート領域の画面内予測モードになりうる。これにより、テンプレート領域と現在ブロックとの相互類似性を用いて現在ブロックの画面内予測モードを決定することができる。
【００５９】
図４は、本発明の第２の実施例による現在ブロックのモーションベクトルに基づいてテンプレートマッチングを行うことで現在ブロックの修正されたモーションベクトルを獲得する手順を示すフローチャートである。
【００６０】
デコーダで現在ブロックのモーションベクトル差値を受信し、該現在ブロックのモーションベクトル差値と現在ブロックのモーションベクトル予測値を用いて現在ブロックのモーションベクトルを獲得する。この現在ブロックのモーションベクトルを用いて、現在ブロックに対応する参照ブロックを特定し、該特定された参照ブロックとこの参照ブロックに隣接するブロックを特定する。
【００６１】
続いて、現在ブロックのテンプレート領域と特定された参照ブロックのテンプレート領域との画素値差を計算し、また、現在ブロックのテンプレート領域と参照ブロックに隣接するブロックのテンプレート領域との画素値差を計算する（Ｓ４１０）。もし、現在ブロックのテンプレート領域と現在ブロックに対応する参照ブロックのテンプレート領域との画素値差が、獲得した画素値差のうちの最小値を有する場合は、本発明で提案するテンプレートマッチングを用いた修正されたモーションベクトル決定方法を用いることができる（Ｓ４２０）。しかし、現在ブロックのテンプレート領域と現在ブロックに対応する参照ブロックのテンプレート領域との画素値差が、前記獲得した画素値差のうちの最小値を有しない場合は、従来のブロックマッチングアルゴリズムにより獲得したモーションベクトルを用いることができる（Ｓ４５０）。上記隣接するブロックについては、図５で後述する。
【００６２】
現在ブロックのテンプレート及び現在ブロックに対応する参照ブロックのテンプレート間の画素値が最小値を有しない場合、従来のブロックマッチングアルゴリズムにより得られるモーションベクトルを使用することができる。
【００６３】
現在ブロックのテンプレート領域と現在ブロックに対応する参照ブロックのテンプレート領域との画素値差が最小値を有する場合は、テンプレートマッチングを行って得た画素値差から２次曲面を誘導することができ（Ｓ４３０）、この２次曲面上で画素値差を最小とする修正されたモーションベクトルを獲得することができる（Ｓ４４０）。
【００６４】
従来のブロックマッチングアルゴリズムを用いてモーションベクトルを獲得する際に、モーションベクトル単位が１／４の場合、獲得した修正されたモーションベクトル単位は、(１／２)n+1になりうる（ｎ＝自然数）。この場合、動き補償予測をする時は、参照ピクチャーの画素値間の補間を通じて整数画素以下の画素値を生成する。
【００６５】
例えば、修正されたモーションベクトル単位が１／８の場合、１／８画素値を生成する方法を説明する。
【００６６】
まず、１／２画素値は、１/２画素位置を中心に水平方向または垂直方向に在る６個の整数画素値を用いて生成することができる。１／４画素値は、この１／４画素位置を中心に水平方向、垂直方向または対角線方向に隣接している２個の画素を用いて生成することができる。１／８画素値は、この１／８画素位置を中心に水平方向、垂直方向、対角線方向に隣接している画素を用いて生成することができる。ただし、１／８画素位置が周辺画素と垂直線上または水平線上となる場合には、この１／８画素に水平方向または垂直方向に隣接している２個の画素を用いて１／８画素値を生成することができ、この１／８画素位置が周辺画素と対角線上となる場合には、この１／８画素を中心に対角線方向に隣接している４個の画素を用いて生成することができる。この生成された参照ブロック内の１／８画素値を用いて現在ブロックの動き補償予測を行うことができる。
【００６７】
以下、修正されたモーションベクトルを獲得する方法について具体的に説明する。
【００６８】
図５は、本発明の第２の実施例による現在ブロックに対応する参照ブロックと該参照ブロックに隣接するブロックを示す図である。
【００６９】
現在ブロックのモーションベクトルが指示する参照フレーム内のブロックが、現在ブロックに対応する参照ブロックになりうる。現在ブロックに対応する参照ブロックを中心に、モーションベクトル単位間隔で隣接するブロックを特定することができる。続いて、特定されたブロックのテンプレート領域と現在ブロックのテンプレート領域との画素値差を計算し、これにより、９個の画素値差を得ることができる。例えば、モーションベクトルの単位が１／４の場合、９個の画素位置（５０）は、現在ブロックのモーションベクトルが指示する画素を中心に１／４画素間隔で互いに隣接する画素である。これら９個の画素のそれぞれに対して９個のブロックを特定することができる。
【００７０】
以下、これら９個の画素値差から、修正されたモーションベクトルを獲得する方法について説明する。
【００７１】
図６は、本発明の第２の実施例によるテンプレートマッチング実行結果から、現在ブロックの修正されたモーションベクトルを決定する方法を示す図である。
【００７２】
９個の画素値差は、Ｘ軸とＹ軸をモーションベクトル位置とし、Ｚ軸を画素値差とする座標上に位置させることができ、９個の画素値差のうちの６個の画素値差（５１，５２）を根（roots）とする２次曲面を得ることができる。現在ブロックに対応する参照ブロックの例（case）（５２）が最小値を有するので、図６に示されるように、現在ブロックに対応する参照ブロックの例（５２）を配置することができ、対応する参照ブロックに隣接するブロックの例（５１）を配置させることができる。ここで、上記２次曲面から、画素値差を最小とするモーションベクトル位置（ｘ，ｙ）（５３）を探すことができる。
【００７３】
この２次曲面は、下記の等式１のように表現することができる。
【００７４】
等式１
S(x, y) = Ax2+By2+Cxy+Dx+Ey+F
【００７５】
この２次曲面Ｓが最小値を有するｘ、ｙの値は、Ｓをｘ、ｙでそれぞれ微分した時、０を満たす。等式１を微分すると、下記の等式２及等式３のようになる。
【００７６】
等式２
dS/dx = 2Ax + Cy + D = 0
【００７７】
等式３
dS/dy = 2By + Cx +E = 0
【００７８】
上記の等式２及び等式３を満たすｘ、ｙを求めると、下記の等式４のようになる。
【００７９】
【数１】
2011515060.tif 000003
【００８０】
図７は、本発明の第３の実施例による現在ブロックの修正されたモーションベクトルを獲得する手順を示すフローチャートである。
【００８１】
以下、候補参照ブロックとは、現在ブロックに対応する参照ブロックになりうる候補領域のことをいう。
【００８２】
図７（ａ）を参照すると、エンコーダでは、現在ブロックのモーションベクトル予測値及び現在ブロックのモーションベクトルを獲得し、これらから現在ブロックのモーションベクトル差値（ｍｖｄ）を獲得する（Ｓ７１０）。現在ブロックのモーションベクトル差値（ｍｖｄ）に右シフト演算を行うことによって正確度の落ちた第１の現在ブロックのモーションベクトル差値（ｍｖｄ'）を獲得することができる（Ｓ７２０）。第１の現在ブロックのモーションベクトル差値（ｍｖｄ'）をコーディングしてデコーダに伝送する（Ｓ７２５）。これによって、モーションベクトル情報の伝送において必要なビット量を減らすことができる。
【００８３】
図７（ｂ）を参照すると、デコーダでは、現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）を受信し（Ｓ７３０）、この値に左側シフト演算を行って現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）抽出する（Ｓ７４０）。現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）は、モーションベクトル単位でテンプレートマッチングを行うために抽出されたものである。
【００８４】
したがって、現在ブロックのモーションベクトル予測値と現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）とを合算して得たモーションベクトルを基準に一定範囲内の候補参照ブロックと現在ブロックとのテンプレートマッチングを行う（Ｓ７５０）。すなわち、現在ブロックのテンプレート領域と候補参照ブロックのテンプレート領域との画素値差を計算し、この画素値差を最小とする候補参照ブロックを、現在ブロックに対応する参照ブロックとすることができる。ただし、この獲得した参照ブロックが、現在ブロックのモーションベクトル予測値と現在ブロックのモーションベクトル差値（ｍｖｄ）を用いて獲得した参照ブロックと同一であっても良い。当該獲得した参照ブロックから、現在ブロックの修正されたモーションベクトルを獲得することができる（Ｓ７６０）。
【００８５】
以下、現在ブロックとテンプレートマッチングを行う候補参照ブロックの範囲について説明する。
【００８６】
図８は、本発明の第３の実施例によるモーションベクトルの単位が１／４の場合、現在ブロックとテンプレートマッチングを行う候補参照ブロックの範囲を示す図である。
【００８７】
図８（ａ）は、現在ブロックのモーションベクトル差値（ｍｖｄ）を右シフト演算して現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）を獲得する際に、切り捨てして得た場合の実施例である。
【００８８】
現在ブロックのモーションベクトル予測値（８０）と現在ブロックのモーションベクトル（８１）が、図８（ａ）に示すように位置する場合、現在ブロックのモーションベクトル差値（ｍｖｄ）は１になることができ、現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）は、下記の等式５のようにシフト演算を行って得ることができる。
【００８９】
等式５
mvd' = mvd >> 2 = 0
【００９０】
現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）は、モーションベクトル単位でテンプレートマッチングを行うために下記の等式６のようにシフト演算を行い、これで、現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）を得ることができる。
【００９１】
等式６
mvd" = mvd' << 2 = 0
【００９２】
現在ブロックの第２のモーションベクトル差値と現在ブロックのモーションベクトル予測値とを合算して得たモーションベクトル位置（８２）を、基準画素と設定する。
【００９３】
現在ブロックの第１のモーションベクトル差値を得る際に、シフト演算を実行することにより、現在ブロックのモーションベクトル差値の正確度を低下させることにより生じる整数単位の正確度値のみが抽出され、整数より下の低下した正確度部分は切り捨てられる。候補参照ブロックの範囲は、基準画素（８２）から右側３番目の画素までになりうる。
【００９４】
図８（ｂ）は、現在ブロックのモーションベクトル差値（ｍｖｄ）にシフト演算を行うことで、現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）を獲得する際に四捨五入して得た場合の実施例である。
【００９５】
現在ブロックのモーションベクトル予測値（８３）と現在ブロックのモーションベクトル（８４）が図８（ｂ）のようになる場合、現在ブロックのモーションベクトル差値（ｍｖｄ）は、１である。
【００９６】
現在ブロックのモーションベクトル差値（ｍｖｄ）から整数部分を抽出するためにシフト演算を行うと、下記の等式７のようになる。
【００９７】
等式７
mvd' = (mvd+2) >> 2 = 0
【００９８】
同様に、この現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）にシフト演算を行うことで現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）を獲得する。
【００９９】
等式８
mvd" = mvd' << 2 = 0
【０１００】
この現在ブロックの第２のモーションベクトル差値（ｍｖｄ"）と現在ブロックのモーションベクトル予測値とを合算して得たモーションベクトル位置を、基準画素（８５）と設定する。図８（ｂ）は、現在ブロックの第１のモーションベクトル差値（ｍｖｄ'）を得るために四捨五入した場合であるから、候補参照ブロックの範囲は、基準画素（８５）の左側２番目から右側１番目までになりうる。
【０１０１】
図９は、本発明の第４の実施例による現在ブロックに対応する参照ブロックを特定する際に、画面間照度差を考慮する方法を示す図である。
【０１０２】
Ｘは、現在ブロックの予測された画素値を、Ｘ'は現在ブロックのテンプレート領域の画素値を、Ｙは候補参照ブロックの画素値を、Ｙ’は候補参照ブロックに接しているテンプレート領域の画素値をそれぞれ表す。
【０１０３】
もし、照度差を考慮せずにテンプレートマッチングを用いて現在ブロックの画素値を予測する場合、現在ブロックのテンプレート領域と候補参照ブロックのテンプレート領域との画素値差は、absolute[X'-Y']になり、この画素値差が最小になる候補参照ブロックを、現在ブロックに対応する参照ブロックと特定する。したがって、候補参照ブロックＡの場合、画素値差はabsolute[12-6]=6であり、候補参照ブロックＢの場合、画素値差はabsolute[12-8]=4であるから、候補参照ブロックＢが現在ブロックに対応する参照ブロックとして選択され、参照ブロックＢのＹを、現在ブロックの予測された画素値とする。この場合、現在ブロックの予測値は、２だけ歪みが発生する。
【０１０４】
しかし、画面間照度差を考慮する場合、現在ブロックのテンプレート領域と候補参照ブロックのテンプレート領域との画素値差（Ｄ）は、下記の等式９で表現することができる。
【０１０５】
等式９
D = absolute[X' - (aY' + b)]
【０１０６】
等式９で、Ｘ'は、現在ブロックのテンプレート領域の画素値を、Ｙ'は、候補参照ブロックに接しているテンプレート領域の画素値を、ａ及びｂは、画素値差が最小にさせる実数をそれぞれ表す。
【０１０７】
候補参照ブロックＡのテンプレート領域と現在ブロックのテンプレート領域との画素値差が最小値を有すると、現在ブロックに対応する参照ブロックとして候補参照ブロックＡを選択することができる。この場合、画素値差を最小にさせるａとｂ値がそれぞれ、１と２であれば、画素値差は０になり、現在ブロックの予測された画素値Ｘは、ａＹ＋ｂ＝６と予測することができる。この場合、現在ブロックには歪みが生じない。
【０１０８】
図１０は、本発明の第５の実施例によるテンプレートマッチングを行うか否かを指示するフラグ使用を具現したシンタックステーブルである。
【０１０９】
マクロブロックのタイプのそれぞれに対してテンプレートマッチングを行うか否かを確認することができる。例えば、テンプレートマッチングを行うか否かを指示するフラグ情報を用いることができる。マクロブロックタイプに関する情報（mb_type）を受信し（Ｓ１１０）、現在マクロブロックのタイプが１６＊１６の場合、現在マクロブロックの予測においてテンプレートマッチングを行うか否かを指示するフラグ情報（tm_active_flag）を受信することができる（Ｓ１２０）。
【０１１０】
なお、現在マクロブロックのタイプが１６＊８または８＊１６の場合にも、それぞれのパーティションに対してテンプレートマッチングを行うか否かを指示するフラグ情報（tm_active_flags[mbPartIdx]）を受信することができる（Ｓ１３０）。マクロブロックのタイプのそれぞれに対してテンプレートマッチングを行うか否かを指示するフラグ情報を使用することによって、適応的にテンプレートマッチングを行うことが可能になる。
【０１１１】
図１１は、本発明の第５の実施例によるテンプレートマッチングを行うか否かを指示するフラグの再配列方法を具現したシンタックステーブルである。
【０１１２】
現在ブロックの予測においてテンプレートマッチングを行うか否かを指示するフラグ情報を、マクロブロックのタイプに関する情報を受信するに先立って受信し（Ｓ３１０）、テンプレートマッチングを行うと指示しなかった場合、マクロブロックのタイプに関する情報を受信することで、従来のデコーディング方法を用いることができる（Ｓ３２０）。
【０１１３】
しかし、テンプレートマッチングを行うと指示した場合、マクロブロックのタイプに関する情報をデコーディングせずにマクロブロックのタイプを１６＊１６に設定することができる（Ｓ３３０）。
【０１１４】
サブマクロブロックの場合にも同様、サブマクロブロック内のパーティションのそれぞれに対してテンプレートマッチングを行うか否かを指示するフラグ情報を受信し（Ｓ３４０）、テンプレートマッチングを行うと指示しなかった場合、マクロブロック内のパーティションに関する情報を受信することで従来のデコーディング方法を用いることができる（Ｓ３５０）。
【０１１５】
しかし、テンプレートマッチングを行うと指示した場合は、サブマクロブロックのタイプを８＊８に設定することができる（Ｓ３６０）。
【産業上の利用可能性】
【０１１６】
ここでは好適な実施例に挙げて本発明を説明及び図示したが、本発明の精神及び思想を逸脱しない範囲内で、当該技術分野における通常の知識を有する者にとっては、様々な変形及び修正が可能であるということは明らかである。したがって、添付の請求項及びその均等範囲における変形及び修正はいずれも本発明の範囲に含まれる。
【図１】
2011515060.tif 000004
【図２】
2011515060.tif 000005
【図３】
2011515060.tif 000006
【図４】
2011515060.tif 000007
【図５】
2011515060.tif 000008
【図６】
2011515060.tif 000009
【図７】
2011515060.tif 000010
【図８】
2011515060.tif 000011
【図９】
2011515060.tif 000012
【図１０】
2011515060.tif 000013
【図１１】
2011515060.tif 000014
【国際調査報告】
2011515060.tif 000015
2011515060.tif 000016