説明

動き探索方法

【課題】探索性能を低下させることなく、動きベクトルを求めるための演算量を削減して処理の負荷を低減することが可能な動き探索方法を得る。
【解決手段】本発明に係る動き探索方法は、複数のフィールドによって一のフレームが構成されるインタレース画像を対象とした動き探索方法であって、(A)被探索ブロックBBから抽出したフィールド分割ブロックOB,EBに関して、探索ブロックSB2,SB3を用いて探索を行うことにより、複数の動きベクトルMV0〜MV3を求めるステップと、(B)上記複数の動きベクトルMV0〜MV3が近似する場合、当該動きベクトルMV0〜MV3によって規定される探索中心点R3の周辺領域のみを対象として、フレーム分割ブロックUFB,LFB及びフィールド分割ブロックOB,EBに関して、探索ブロックSB1〜SB9を用いて探索を行うステップとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理によって動き補償を行うための動き探索方法に関する。
【背景技術】
【0002】
インタレース画像においては、奇数フィールドと偶数フィールドとによって一のフレームが構成される。かかるインタレース画像を対象とした動き探索方法の一つである総当たり法では、まず、動き探索の対象であるブロック(以下「被探索ブロック」と称す)をフレーム分割することによってフレーム分割ブロックを作成し、また、被探索ブロックをフィールド分割することによって、奇数フィールド分割ブロック及び偶数フィールド分割ブロックを作成する。次に、フレーム分割ブロックに関して、全てのモードの探索ブロックを用いて全画像領域の探索を行うことによって、複数の動きベクトルを求める。同様に、奇数フィールド分割ブロック及び偶数フィールド分割ブロックの各々に関して、奇数フィールドに関する参照画像の全領域及び偶数フィールドに関する参照画像の全領域の各々において探索を行うことによって、複数の動きベクトルを求める。そして、このようにして得られた全ての動きベクトルの中で最も適合度の高い動きベクトルを、被探索ブロックの動きベクトルとして選択する。
【0003】
なお、画像処理による動き探索に関連する技術は、例えば下記特許文献1〜6に開示されている。
【0004】
【特許文献1】特開2006−31597号公報
【特許文献2】特開2006−14132号公報
【特許文献3】米国特許出願公開第2006/126739号明細書
【特許文献4】米国特許出願公開第2006/104359号明細書
【特許文献5】米国特許出願公開第2004/105495号明細書
【特許文献6】米国特許出願公開第2005/265454号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、総当たり法による動き探索では、適合度の高い動きベクトルを求めることができて、優れた探索性能を発揮できるものの、フレーム分割ブロック、奇数フィールド分割ブロック、及び偶数フィールド分割ブロックの各々に関して、それぞれフレームに関する参照画像、奇数フィールドに関する参照画像、及び偶数フィールドに関する参照画像の全画像領域の探索が行われるため、演算量が膨大となって処理の負荷が非常に大きいという問題がある。
【0006】
本発明はかかる問題を解決するために成されたものであり、探索性能を低下させることなく、動きベクトルを求めるための演算量を削減して処理の負荷を低減することが可能な動き探索方法を得ることを目的とする。
【課題を解決するための手段】
【0007】
第1の発明に係る動き探索方法は、複数のフィールドによって一のフレームが構成されるインタレース画像を対象とした動き探索方法であって、(A)動き探索の対象である所定ブロックから抽出した複数のフィールド分割ブロックに関して、特定モードの探索ブロックを用いて探索を行うことにより、複数の動きベクトルを求めるステップと、(B)前記複数の動きベクトルが近似する場合に実行され、当該動きベクトルによって規定される点の周辺領域のみを対象として、前記所定ブロックから抽出した少なくとも一つのフレーム分割ブロックに関して、複数のモードの探索ブロックを用いて探索を行うとともに、前記複数のフィールド分割ブロックに関して、複数のモードの探索ブロックを用いて探索を行うステップとを備えるものである。
【0008】
第2の発明に係る動き探索方法は、第1の発明に係る動き探索方法において特に、前記ステップ(B)においては、前記フレーム分割ブロックに関して、当該フレーム分割ブロックの大きさに相当するモードの探索ブロックを用いて探索を行うことにより、当該フレーム分割ブロックに関して、当該探索ブロックに包含される他のモードの探索ブロックを用いた探索と、前記複数のフィールド分割ブロックに関して、当該フレーム分割ブロックに包含されるモードの探索ブロックを用いた探索とが併せて実行されることを特徴とするものである。
【0009】
第3の発明に係る動き探索方法は、第2の発明に係る動き探索方法において特に、前記複数の動きベクトルの全てが近似する場合、前記ステップ(B)においては、前記フレーム分割ブロックに関して、当該フレーム分割ブロックの大きさに相当するモードの探索ブロックを用いて探索を行うことにより、全てのフレーム分割ブロック及び全てのフィールド分割ブロックに関する、全てのモードの探索ブロックを用いた探索が併せて実行されることを特徴とするものである。
【0010】
第4の発明に係る動き探索方法は、第1〜第3のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(A)における探索の結果に基づいて、前記ステップ(B)における探索の探索範囲の大きさが変更されることを特徴とするものである。
【0011】
第5の発明に係る動き探索方法は、第1〜第4のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(B)における探索のために参照可能な参照画像には、奇数フィールドに関する参照画像と偶数フィールドに関する参照画像とが含まれ、前記ステップ(A)における探索の結果に基づいて、前記奇数フィールドに関する参照画像及び前記偶数フィールドに関する参照画像のうちの一方が、前記ステップ(B)における探索のために参照される参照画像として選択されることを特徴とするものである。
【0012】
第6の発明に係る動き探索方法は、第1〜第5のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(B)における探索においては、参照画面外の領域を含めて参照画像を設定することが可能であり、前記参照画像がフレームに関する画像である場合、前記参照画面外の領域には、前記参照画像内の奇数行及び偶数行の各画素値が行交互に補完されることを特徴とするものである。
【0013】
第7の発明に係る動き探索方法は、第1〜第5のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(B)における探索においては、参照画面外の領域を含めて参照画像を設定することが可能であり、前記参照画像が偶数フィールドに関する画像である場合、前記参照画面外の領域には、前記参照画像が奇数フィールドに関する画像である場合の端部行の各画素値が補完されることを特徴とするものである。
【0014】
第8の発明に係る動き探索方法は、第1〜第7のいずれか一つの発明に係る動き探索方法において特に、(C)前記複数の動きベクトルが近似しない場合に実行され、複数のモードの各々毎に探索の初期点を求めた後に、当該初期点の周辺領域を対象として探索を行うステップをさらに備えることを特徴とするものである。
【0015】
第9の発明に係る動き探索方法は、第8の発明に係る動き探索方法において特に、前記ステップ(C)における探索の初期点の候補には、前記所定ブロックに隣接する複数のブロックに関して求められた複数の動きベクトルによって規定される複数の点が含まれることを特徴とするものである。
【0016】
第10の発明に係る動き探索方法は、第8又は第9の発明に係る動き探索方法において特に、前記ステップ(C)における探索の初期点の候補には、前記ステップ(A)で求められた複数の動きベクトルによって規定される複数の点が含まれることを特徴とするものである。
【0017】
第11の発明に係る動き探索方法は、第8〜第10のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(C)における探索のために参照可能な参照画像には、奇数フィールドに関する参照画像と偶数フィールドに関する参照画像とが含まれ、前記ステップ(A)における探索の結果に基づいて、前記奇数フィールドに関する参照画像及び前記偶数フィールドに関する参照画像のうちの一方が、前記ステップ(C)における探索のために参照される参照画像として選択されることを特徴とするものである。
【0018】
第12の発明に係る動き探索方法は、第8〜第11のいずれか一つの発明に係る動き探索方法において特に、前記ステップ(C)においては、あるモードの探索ブロックを用いて探索を行うことにより、当該探索ブロックに包含される他のモードの探索ブロックを用いた探索が併せて実行されることを特徴とするものである。
【0019】
第13の発明に係る動き探索方法は、第1〜第12のいずれか一つの発明に係る動き探索方法において特に、前記所定ブロックは、行方向に16画素、列方向に少なくとも16画素を有するブロックであり、前記特定モードの探索ブロックは、行方向に16画素、列方向に8画素を有する探索ブロックであることを特徴とするものである。
【0020】
第14の発明に係る動き探索方法は、第13の発明に係る動き探索方法において特に、前記ステップ(A)においては、前記特定モードの探索ブロックの行方向の画素数が1/2に間引かれて探索が行われることを特徴とするものである。
【発明の効果】
【0021】
第1〜第14の各発明に係る動き探索方法によれば、ステップ(A)で特定モードの探索ブロックを用いた探索を行い、ステップ(B)では、ステップ(A)で求めた動きベクトルの周辺領域のみを対象として、フレーム分割ブロック及びフィールド分割ブロックの各々に関して、全モードの探索ブロックを用いた探索を行う。従って、全モードの探索ブロックを用いて全画像領域の探索を行う必要がないため、総当たり法と比較すると、演算量を削減して処理の負荷を低減することが可能となる。
【0022】
特に第2の発明に係る動き探索方法によれば、ブロックの包含関係を有効に活用することにより、各モードの探索ブロック毎に個別に探索を行う場合と比較すると、演算量を削減して処理の負荷を低減することが可能となる。
【0023】
特に第3の発明に係る動き探索方法によれば、複数の動きベクトルの全てが近似する場合には、全フレーム分割ブロック及び全フィールド分割ブロックに関する全モードの探索ブロックを用いた探索を併せて実行できるため、演算量を削減する効果が最も高まる。
【0024】
特に第4の発明に係る動き探索方法によれば、ステップ(A)における探索で求められた複数の動きベクトルの分散が大きい場合には、ステップ(B)における探索の探索範囲の大きさを大きく設定し、一方、ステップ(A)における探索で求められた複数の動きベクトルの分散が小さい場合には、ステップ(B)における探索の探索範囲の大きさを小さく設定することができる。これにより、動き探索の精度の向上と演算量の削減とをともに実現することができる。
【0025】
特に第5の発明に係る動き探索方法によれば、奇数フィールドに関する参照画像及び偶数フィールドに関する参照画像の一方を選択することにより、双方を用いる場合と比較して、演算量を削減することができる。
【0026】
特に第6の発明に係る動き探索方法によれば、参照画像がフレームに関する画像である場合に、参照画面外の領域には、参照画像内の奇数行及び偶数行の各画素値が行交互に補完される。これによって、参照画面外の画像領域においても、フレームに関する参照画像を適切に作成することが可能となる。
【0027】
特に第9の発明に係る動き探索方法によれば、IMEの結果を用いて探索の初期点の候補を決定できるため、IMEとFMEとがパイプラインの別段で処理されるハードウェアが用いられる場合であっても、パイプラインストールの発生を回避することができる。
【0028】
特に第10の発明に係る動き探索方法によれば、ステップ(A)における探索の結果を、ステップ(C)の探索において有効活用することができる。
【0029】
特に第11の発明に係る動き探索方法によれば、奇数フィールドに関する参照画像及び偶数フィールドに関する参照画像の一方を選択することにより、双方を用いる場合と比較して、演算量を削減することができる。
【0030】
特に第12の発明に係る動き探索方法によれば、ブロックの包含関係を有効に活用することにより、各モードの探索ブロック毎に個別に探索を行う場合と比較すると、演算量を削減して処理の負荷を低減することが可能となる。
【0031】
特に第14の発明に係る動き探索方法によれば、探索ブロックは、行方向に16画素、列方向に8画素を有し、しかも、行方向の画素数が1/2に間引かれている。フィールド分割ブロックに関してこのような探索ブロックを用いて探索を行うことは、実質的に、行方向及び列方向に各16画素を有し、行方向及び列方向の各画素数が1/2に間引かれた探索ブロックを用いて、フレーム分割ブロックに関して探索を行うことに等しい。従って、フレーム及びフィールドの包含関係を利用することにより、(1)行方向及び列方向に各16画素を有し、行方向及び列方向の各画素数が1/2に間引かれた探索ブロックを用いた、フレーム分割ブロックに関する探索、(2)行方向に16画素、列方向に8画素を有し、行方向の画素数が1/2に間引かれた探索ブロックを用いた、フレーム分割ブロックに関する探索、(3)行方向に8画素、列方向に16画素を有し、列方向の画素数が1/2に間引かれた探索ブロックを用いた、フレーム分割ブロックに関する探索、(4)行方向及び列方向に各16画素を有し、行方向及び列方向の各画素数が1/2に間引かれた探索ブロックを用いた、フィールド分割ブロックに関する探索、(5)行方向に16画素、列方向に8画素を有し、行方向の画素数が1/2に間引かれた探索ブロックを用いた、フィールド分割ブロックに関する探索、及び(6)行方向に8画素、列方向に16画素を有し、列方向の画素数が1/2に間引かれた探索ブロックを用いた、フィールド分割ブロックに関する探索を、併せて実行することが可能となる。
【発明を実施するための最良の形態】
【0032】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0033】
図1は、MPEG−2におけるインタレース画像を対象とした動き探索方法を示す図である。動き探索の対象である被探索ブロックBBは、行方向(横方向)に16画素、列方向(縦方向)に16画素のブロックサイズを有している。また、被探索ブロックBBはラインL1〜L16から成り、各ラインは、横16画素×縦1画素のサイズを有している。フレーム分割ブロックFBは、被探索ブロックBBと同一の構成を有している。奇数フィールド分割ブロックOBは、被探索ブロックBBから奇数ラインL1,L3,・・・,L15を抽出したものであり、横16画素×縦8画素のブロックサイズを有している。偶数フィールド分割ブロックEBは、被探索ブロックBBから偶数ラインL2,L4,・・・,L16を抽出したものであり、横16画素×縦8画素のブロックサイズを有している。フレーム分割ブロックFB、奇数フィールド分割ブロックOB、及び偶数フィールド分割ブロックEBの各々に関して、動きベクトルがそれぞれ求められ、求められた全ての動きベクトルの中で最も適合度の高い動きベクトルが、被探索ブロックBBの動きベクトルとして選択される。
【0034】
図2は、H.264におけるインタレース画像を対象とした動き探索方法を示す図である。動き探索の対象である被探索ブロックBBは、横16画素×縦32画素のブロックサイズを有している。また、被探索ブロックBBはラインL1〜L32から成り、各ラインは、横16画素×縦1画素のサイズを有している。上部フレーム分割ブロックUFBは、被探索ブロックBBの上半分(ラインL1〜L16)と同一の構成を成し、横16画素×縦16画素のブロックサイズを有している。下部フレーム分割ブロックLFBは、被探索ブロックBBの下半分(ラインL17〜L32)と同一の構成を成し、横16画素×縦16画素のブロックサイズを有している。奇数フィールド分割ブロックOBは、被探索ブロックBBから奇数ラインL1,L3,・・・,L31を抽出したものであり、横16画素×16画素のブロックサイズを有している。偶数フィールド分割ブロックEBは、被探索ブロックBBから偶数ラインL2,L4,・・・,L32を抽出したものであり、横16画素×縦16画素のブロックサイズを有している。上部フレーム分割ブロックUFB、下部フレーム分割ブロックLFB、奇数フィールド分割ブロックOB、及び偶数フィールド分割ブロックEBの各々に関して、動きベクトルがそれぞれ求められ、求められた全ての動きベクトルの中で最も適合度の高い動きベクトルが、被探索ブロックBBの動きベクトルとして選択される。
【0035】
また、H.264では、図3に示すように、横16画素×縦16画素のマクロブロック内に、ブロックサイズが異なる7種類の探索ブロック(横16画素×縦16画素、横16画素×縦8画素、横8画素×縦16画素、横8画素×縦8画素、横8画素×縦4画素、横4画素×縦8画素、横4画素×縦4画素)を設定することが可能である。従って、H.264では、図2に示した分割ブロックUFB,LFB,OB,EBの各々に関して、図3に示した各探索ブロックを用いた探索を行うことにより、各分割ブロックUFB,LFB,OB,EB毎に複数の動きベクトルを求めることが可能である。但し、上述した総当たり法によってこれを行ったのでは、演算量が膨大となるため、本実施の形態に係る動き探索方法では以下に述べるアルゴリズムを採用する。
【0036】
図4は、本実施の形態に係る動き探索方法で使用する探索ブロックを示す図である。モード1では、横16画素×縦16画素の探索ブロックSB1が使用される。モード2では、いずれも横16画素×縦8画素の、探索ブロックSB2(上半分)及び探索ブロックSB3(下半分)が使用される。モード3では、いずれも横8画素×縦16画素の、探索ブロックSB4(左半分)及び探索ブロックSB5(右半分)が使用される。モード4では、いずれも横8画素×縦8画素の、探索ブロックSB6(左上)、探索ブロックSB7(右上)、探索ブロックSB8(左下)、及び探索ブロックSB9(右下)が使用される。
【0037】
まず、図5に示すように、奇数フィールド分割ブロックOB及び偶数フィールド分割ブロックEBの各々に関して、モード2の探索ブロックSB2,SB3を用いて探索を行う。探索の手法としては、ブロックマッチング法等の任意の手法を用いることが可能である。これにより、奇数フィールド分割ブロックOBの上半分の領域に関する動きベクトルMV0、奇数フィールド分割ブロックOBの下半分の領域に関する動きベクトルMV1、偶数フィールド分割ブロックEBの上半分の領域に関する動きベクトルMV2、及び偶数フィールド分割ブロックEBの下半分の領域に関する動きベクトルMV3がそれぞれ求まる。
【0038】
ここでの探索(以下「粗探索」とも称する)は、水平画素間引きモードで実行することも可能である。ここで「水平画素間引き」とは、画像の奇数列及び偶数列の一方を間引くという意味である。横16画素×縦8画素の探索ブロックSB2,SB3を水平画素間引きすることによって、横8画素×縦8画素の、縦横にバランスの良い探索ブロックが得られる。粗探索を水平画素間引きモードで実行することにより、演算量を削減することが可能となる。
【0039】
しかも、横16画素×縦8画素のフィールド画像に関する水平画素間引きモードは、実質的に、横16画素×縦16画素のフレーム画像に関する水平・垂直画素間引きモードに等しい。従って、フレーム及びフィールドの包含関係を利用することにより、(1)横16画素×縦16画素のフレーム画像に関する水平・垂直画素間引きモード(フレーム16×16モード)、(2)横16画素×縦8画素のフレーム画像に関する水平画素間引きモード(フレーム16×8モード)、(3)横8画素×縦16画素のフレーム画像に関する垂直画素間引きモード(フレーム8×16モード)、(4)横16画素×縦16画素のフィールド画像に関する水平・垂直画素間引きモード(フィールド16×16モード)、(5)横16画素×縦8画素のフィールド画像に関する水平画素間引きモード(フィールド16×8モード)、及び、(6)横8画素×縦16画素のフィールド画像に関する垂直画素間引きモード(フィールド8×16モード)の、合計6つの探索モードを、併せて実行することが可能となる。また、横8画素×縦8画素のフレーム画像又はフィールド画像に関する探索も併せて実行することができる。なお、「水平・垂直画素間引き」とは、画像の奇数列及び偶数列の一方並びに奇数行及び偶数行の一方を間引くという意味であり、「垂直画素間引き」とは、画像の奇数行及び偶数行の一方を間引くという意味である。
【0040】
<MV0〜MV3の分散の判定>
次に、上記の粗探索で求めた動きベクトルMV0〜MV3を相互に比較し、分散の度合いを判定する。ここで、図6に示すように、インタレース画像に関しては、現画像TB及び参照画像SWの各々について、奇数フィールド(top field)及び偶数フィールド(bottom field)が存在する。従って、奇数フィールド及び偶数フィールドのどちらを参照するかによって、動きベクトルMV0は、動きベクトルMV0tと動きベクトルMV0bとに分けられる。同様に、動きベクトルMV1,MV2,MV3は、それぞれ動きベクトルMV1t,MV2t,MV3tと動きベクトルMV1b,MV2b,MV3bとに分けられる。つまり、インタレース画像においては、粗探索を実行することによって、1フレームあたり8本の動きベクトルMV0t〜MV3t,MV0b〜MV3bが求められる。
【0041】
動きベクトルの分散の判定には、時間条件及び空間条件を用いることが可能である。時間条件のみを用いても良いし、空間条件のみを用いても良いし、時間条件及び空間条件の双方を用いても良い。
【0042】
時間条件に関しては、動きベクトルMV0tと動きベクトルMV0bとが互いに近似するか、及び、動きベクトルMV1tと動きベクトルMV1bとが互いに近似するか、が判定される。以下、本明細書において「動きベクトルが互いに近似する」とは、例えば横9画素×縦9画素の範囲内に、比較対象の動きベクトルが含まれることを意味する。
【0043】
空間条件に関しては、動きベクトルMV0tと動きベクトルMV1tとが互いに近似するか、動きベクトルMV0bと動きベクトルMV1bとが互いに近似するか、動きベクトルMV2tと動きベクトルMV3tとが互いに近似するか、及び、動きベクトルMV2bと動きベクトルMV3bとが互いに近似するか、が判定される。
【0044】
また、図6に示したように、インタレース画像においては、1つの現画像TBに対して参照すべき参照画像SWは2つ存在する。ここで、後述の密探索で使用する参照画像を、上記の粗探索の結果に基づいて、奇数フィールドに関する参照画像SW及び偶数フィールドに関する参照画像SWのうちの一方に限定しても良い。例えば、粗探索において、奇数フィールドの参照画像SWを参照した場合の差分絶対値和(SAD)と、偶数フィールドの参照画像SWを参照した場合のSADとをそれぞれ求める。そして、SADの値が小さくなる方のフィールドの参照画像SWを、後述の密探索において使用する。参照画像SWを奇数フィールド及び偶数フィールドの一方に限定することにより、演算量を削減することができる。
【0045】
以下、粗探索後に実行される密探索について説明する。
【0046】
<MV0〜MV3が近似しない場合>
上記の時間条件及び空間条件を用いた判定の結果、粗探索で求めた複数の動きベクトルが互いに近似しないと判定された場合は、小ブロックを用いた密探索が行われる。以下、具体的に説明する。
【0047】
まず、密探索を開始する初期点を求める。初期点は、上記の6つの探索モード(フレーム16×16モード、フレーム16×8モード、フレーム8×16モード、フィールド16×16モード、フィールド16×8モード、フィールド8×16モード)の各々について求められる。
【0048】
初期点の候補としては、(1)動き探索の対象である被探索ブロックと同一座標の点(ゼロベクトル)、(2)被探索ブロックの左隣のブロックに関して求められたIME最適動きベクトル(IME:Integer Motion Estimation。整数精度動き予測)によって規定される点、(3)被探索ブロックの上隣のブロックに関して求められたIME最適動きベクトルによって規定される点、及び、(4)被探索ブロックの右上隣のブロックに関して求められたIME最適動きベクトルによって規定される点の、合計4点が設定される。IMEの結果を用いて探索の初期点の候補を決定できるため、IMEとFME(Fractional Motion Estimation。小数精度動き予測)とがパイプラインの別段で処理されるハードウェアが用いられる場合であっても、パイプラインストールの発生を回避することができる。
【0049】
また、初期点の候補として、粗探索によって求められた準最適動きベクトルによって規定される複数の点を追加しても良い。粗探索によって、図6に示した8つの動きベクトルが求められる。そして、上記のように密探索で参照される参照画像SWを奇数フィールド及び偶数フィールドの一方に限定した場合には、4つの動きベクトルが求められる。これら4つの動きベクトルのうち、被探索ブロックと空間的に重複するブロックに関する2つの動きベクトルによって規定される2点と、その2つの動きベクトルの平均ベクトルによって規定される1点とを、密探索のための初期点として設定する。例えば、被探索ブロックが奇数フィールド分割ブロックである場合は、MV0、MV1、及びその平均ベクトルによって規定される合計3点が、初期点として設定される。また、被探索ブロックが偶数フィールド分割ブロックである場合は、MV2、MV3、及びその平均ベクトルによって規定される合計3点が、初期点として設定される。また、被探索ブロックが上部フレーム分割ブロックである場合は、MV0、MV2、及びその平均ベクトルによって規定される合計3点が、初期点として設定される。また、被探索ブロックが下部フレーム分割ブロックである場合は、MV1、MV3、及びその平均ベクトルによって規定される合計3点が、初期点として設定される。これにより、粗探索の結果を密探索において有効に活用することができる。
【0050】
上記した合計7点の初期点の各々に関してブロックマッチングを行い、適合度が最も高い点(例えばSADが最も小さい点)が、密探索の初期点として設定される。
【0051】
6つの探索モードの各々について初期点が設定されると、次に、各初期点の周辺領域を対象として、対応する探索モードでの詳細な探索を実行する。ここで、「周辺領域」とは、例えば、初期点を中心とする横9画素×縦9画素の領域を意味する。また、フレーム・フィールドの包含関係を用いてSADを再利用することで、横8画素×縦8画素のブロックに関するSADを併せて求めることもできる。また、後述と同様に、あるモードの探索ブロックを用いて探索を行うことにより、SADを再利用することで、当該探索ブロックに包含される他のモードの探索ブロックを用いた探索を併せて実行することができ、これにより、演算量を削減して処理の負荷を低減することが可能となる。
【0052】
<MV0とMV2とが近似する場合>
図7に示すように、動きベクトルMV0,MV2が互いに近似する場合、動きベクトルMV0,MV2から求めた代表値(例えば平均値)として、探索中心点R1を設定する。ここで、「動きベクトルMV0,MV2が互いに近似する」とは、例えば、横9画素×縦9画素の範囲内(図7の太線参照)に動きベクトルMV0,MV2が含まれることを意味する。そして、動きベクトルMV0,MV2が互いに近似する場合は、全画像領域ではなく探索中心点R1の周辺領域のみを対象として、詳細な探索を実行する。ここで、「周辺領域」とは、探索中心点R1を中心とする例えば横9画素×縦9画素の領域(図7の太線参照)を意味する。あるいは、図6に示した8本の動きベクトルのいずれかのx成分及びy成分がしきい値(例えば4)を超えている場合は、探索中心点R1を中心とする例えば横17画素×縦17画素の領域を、探索範囲として設定しても良い。このように、粗探索で求められた複数の動きベクトルの分散が小さい場合には、密探索の探索範囲の大きさを小さく設定し、一方、粗探索で求められた複数の動きベクトルの分散が大きい場合には、密探索の探索範囲の大きさを大きく設定することができる。これにより、動き探索の精度の向上と演算量の削減とをともに実現することができる。また、上記の「詳細な探索」とは、上部フレーム分割ブロックUFBに関する、探索ブロックSB1及びそれに包含される探索ブロックSB2〜SB9を用いた探索と、上部フレーム分割ブロックUFBに包含される部分の奇数フィールド分割ブロックOB及び偶数フィールド分割ブロックEBに関する、探索ブロックSB1及びそれに包含される探索ブロックSB2〜SB9を用いた探索とを意味する。
【0053】
詳細な探索を実行するに際しては、ブロックの包含関係を利用することにより、重複する演算を省略して処理の効率化を図ることができる。図8を参照して、上部フレーム分割ブロックUFBに関して探索ブロックSB1を用いた探索を行うことにより、上部フレーム分割ブロックUFBに関する探索ブロックSB2〜SB9を用いた探索、奇数フィールド分割ブロックOBに関する探索ブロックSB2,SB6,SB7を用いた探索、及び、偶数フィールド分割ブロックEBに関する探索ブロックSB2,SB6,SB7を用いた探索を、併せて実行することができる。
【0054】
図8に示した包含関係に記述されていない他の探索ブロックについては、全探索法等の任意の探索手法によって個別に探索を行い、動きベクトルをそれぞれ求める。
【0055】
また、探索性能をより高めるべく、探索中心点R1の周辺領域を対象として上記の詳細な探索を行った後、任意の手法による動き探索を追加的に実行しても良い。
【0056】
<MV1とMV3とが近似する場合>
図9に示すように、動きベクトルMV1,MV3が互いに近似する場合、動きベクトルMV1,MV3から求めた代表値(例えば平均値)として、探索中心点R2を設定する。ここで、「動きベクトルMV1,MV3が互いに近似する」とは、例えば、横9画素×縦9画素の範囲内(図9の太線参照)に動きベクトルMV1,MV3が含まれることを意味する。そして、全画像領域ではなく探索中心点R2の周辺領域のみを対象として、詳細な探索を実行する。ここで、「周辺領域」とは、例えば、探索中心点R2を中心とする横9画素×縦9画素の領域(図9の太線参照)を意味する。あるいは、上記と同様に、探索中心点R2を中心とする例えば横17画素×縦17画素の領域を、探索範囲として設定しても良い。また、「詳細な探索」とは、下部フレーム分割ブロックLFBに関する、探索ブロックSB1及びそれに包含される探索ブロックSB2〜SB9を用いた探索と、下部フレーム分割ブロックLFBに包含される部分の奇数フィールド分割ブロックOB及び偶数フィールド分割ブロックEBに関する、探索ブロックSB1及びそれに包含される探索ブロックSB2〜SB9を用いた探索とを意味する。
【0057】
上記と同様に、詳細な探索を実行するに際しては、ブロックの包含関係を利用することにより、重複する演算を省略して処理の効率化を図ることができる。図10を参照して、下部フレーム分割ブロックLFBに関して探索ブロックSB1を用いた探索を行うことにより、下部フレーム分割ブロックLFBに関する探索ブロックSB2〜SB9を用いた探索、奇数フィールド分割ブロックOBに関する探索ブロックSB3,SB8,SB9を用いた探索、及び、偶数フィールド分割ブロックEBに関する探索ブロックSB3,SB8,SB9を用いた探索を、併せて実行することができる。
【0058】
図10に示した包含関係に記述されていない他の探索ブロックについては、全探索法等の任意の探索手法によって個別に探索を行い、動きベクトルをそれぞれ求める。
【0059】
なお、上記と同様に、探索性能をより高めるべく、探索中心点R2の周辺領域を対象として上記の詳細な探索を行った後、任意の手法による動き探索を追加的に実行しても良い。
【0060】
<MV0〜MV3が近似する場合>
図11に示すように、動きベクトルMV0〜MV3が互いに近似する場合、動きベクトルMV0〜MV3から求めた代表値(例えば平均値)として、探索中心点R3を設定する。ここで、「動きベクトルMV0〜MV3が互いに近似する」とは、例えば、横9画素×縦9画素の範囲内(図11の太線参照)に動きベクトルMV0〜MV3が含まれることを意味する。そして、全画像領域ではなく探索中心点R3の周辺領域のみを対象として、詳細な探索を実行する。ここで、「周辺領域」とは、例えば、探索中心点R3を中心とする横9画素×縦9画素の領域(図11の太線参照)を意味する。あるいは、上記と同様に、探索中心点R3を中心とする例えば横17画素×縦17画素の領域を、探索範囲として設定しても良い。また、「詳細な探索」とは、図2に示した全ての分割ブロックUFB,LFB,OB,EBに関する、図4に示した全ての探索ブロックSB1〜SB9を用いた探索を意味する。
【0061】
上記と同様に、詳細な探索を実行するに際しては、ブロックの包含関係を利用することにより、重複する演算を省略して処理の効率化を図ることができる。図12を参照して、上部フレーム分割ブロックUFB及び下部フレーム分割ブロックLFBに関して、探索ブロックSB1を用いた探索を行うことにより、全ての分割ブロックに関する全ての探索ブロックを用いた探索を併せて実行することができる。つまり、上部フレーム分割ブロックUFBに関する探索ブロックSB2〜SB9を用いた探索、下部フレーム分割ブロックLFBに関する探索ブロックSB2〜SB9を用いた探索、奇数フィールド分割ブロックOBに関する探索ブロックSB1〜SB9を用いた探索、及び、偶数フィールド分割ブロックEBに関する探索ブロックSB1〜SB9を用いた探索を、併せて実行することができる。
【0062】
なお、上記と同様に、探索性能をより高めるべく、探索中心点R3の周辺領域を対象として上記の詳細な探索を行った後、任意の手法による動き探索を追加的に実行しても良い。
【0063】
<参照画像の補完>
本発明の密探索においては、参照画面外の領域を含めて参照画像を設定することが可能である。図13は参照画像がトップフィールド画像である場合、図14は参照画像がボトムフィールド画像である場合、図15は参照画像がフレーム画像である場合、図16は参照画像がフレーム画像である場合、図17は参照画像がボトムフィールド画像である場合の例を示している。図13〜17において、領域AR1は参照画面外の領域であり、領域AR2は参照画面内の領域である。
【0064】
参照画面外の領域に参照画像を設定する場合には、領域AR1内の各画素に画素値を補完する必要がある。図13に示すように、参照画像がトップフィールド画像である場合は、領域AR2の端部の画素の画素値(A0,B0,C0,D0,E0,F0)を用いて補完を行う。図14に示すように、参照画像がボトムフィールド画像である場合は、領域AR2の端部の画素の画素値(A1,B1,C1,D1,E1,F1)を用いて補完を行う。
【0065】
参照画像がフレーム画像である場合、通常は図15に示すように領域AR2の端部の画素の画素値(A0,B0,C0,D0,E0,F0)を用いて補完が行われるが、本発明では図16に示すように、領域AR1には、領域AR2の最外の奇数行V1及び最外の偶数行V2の各画素値が、一行毎に交互に補完される。具体的には、図16に示すように、行W1,W3の各画素は行V2の各画素の画素値(A1,B1,C1,D1,E1,F1)によって補完され、行W2,W4の各画素値は行V1の各画素の画素値(A0,B0,C0,D0,E0,F0)によって補完される。つまり、領域AR1の奇数行は領域AR2の奇数行によって補完され、領域AR1の偶数行は領域AR2の偶数行によって補完される。図16に示した補完方法を、図13,14に示した補完方法と組み合わせることで、MBAFF(Macroblock-Adaptive Frame-Field Coding)の全モード(フレーム/トップフィールド/ボトムフィールド)を、SADを再利用しつつ同時に探索することができる。これにより、参照画面外の領域AR1においてもフレームの参照画像を適切に作成することができ、SADの再利用を行うことができる。
【0066】
また、MBAFF全モードを同時に探索する別の手法として、図17に示すように、参照画像がボトムフィールド画像である場合の領域AR1を、参照画像がトップフィールドである場合の領域AR2の端部画素値(A0,B0,C0,D0,E0,F0)を用いて補完する手法がある。図17に示した補完方法を、図13,15に示した補完方法と組み合わせることで、MBAFFの全モードを、SADを再利用しつつ同時に探索することができる。
【0067】
<まとめ>
このように本実施の形態に係る動き探索方法によれば、まず、奇数フィールド分割ブロックOB及び偶数フィールド分割ブロックEBに関して、特定のモード2の探索ブロックSB2,SB3を用いた探索を行って動きベクトルMV0〜MV3を求め、その後、上記で求めた動きベクトルMV0〜MV3の周辺領域のみを対象として詳細な探索を行う。従って、動きベクトルMV0,MV2が近似する場合、動きベクトルMV1,MV3が近似する場合、又は動きベクトルMV0〜MV3が近似する場合には、全モードの探索ブロックSB1〜SB9を用いて全画像領域の探索を行う必要がないため、従来の総当たり法と比較すると、演算量を削減して処理の負荷を低減することが可能となる。
【0068】
図18は、本発明の効果を検証するためのシミュレーションの実行結果を示す図である。比較のため、全探索法による結果(FS)と、H.264 joint modelのアルゴリズムによる結果(UMHS)と、本発明による結果とを並記している。図14に示すように、本発明による方法では、UMHSと比較しても、わずかな画質劣化で演算負荷を大幅に削減できたことが実証された。
【0069】
なお、以上ではH.264を例に取り本発明の内容を説明したが、本発明は、MPEG−2等にも適用可能であり、同様の効果を得ることができる。
【図面の簡単な説明】
【0070】
【図1】MPEG−2におけるインタレース画像を対象とした動き探索方法を示す図である。
【図2】H.264におけるインタレース画像を対象とした動き探索方法を示す図である。
【図3】H.264における探索ブロックを示す図である。
【図4】本発明の実施の形態に係る動き探索方法で使用する探索ブロックを示す図である。
【図5】本発明の実施の形態に係る動き探索方法を説明するための図である。
【図6】インタレース画像における動きベクトルを示す図である。
【図7】画像の一部を抜き出して示す図である。
【図8】ブロックの包含関係を示す図である。
【図9】画像の一部を抜き出して示す図である。
【図10】ブロックの包含関係を示す図である。
【図11】画像の一部を抜き出して示す図である。
【図12】ブロックの包含関係を示す図である。
【図13】参照画面外の領域での画素値の補完を示す図である。
【図14】参照画面外の領域での画素値の補完を示す図である。
【図15】参照画面外の領域での画素値の補完を示す図である。
【図16】参照画面外の領域での画素値の補完を示す図である。
【図17】参照画面外の領域での画素値の補完を示す図である。
【図18】シミュレーション結果を示す図である。
【符号の説明】
【0071】
BB 被探索ブロック
UFB 上部フレーム分割ブロック
LFB 下部フレーム分割ブロック
OB 奇数フィールド分割ブロック
EB 偶数フィールド分割ブロック
SB1〜SB9 探索ブロック
MV0〜MV3 動きベクトル
R1〜R3 探索中心点

【特許請求の範囲】
【請求項1】
複数のフィールドによって一のフレームが構成されるインタレース画像を対象とした動き探索方法であって、
(A)動き探索の対象である所定ブロックから抽出した複数のフィールド分割ブロックに関して、特定モードの探索ブロックを用いて探索を行うことにより、複数の動きベクトルを求めるステップと、
(B)前記複数の動きベクトルが近似する場合に実行され、当該動きベクトルによって規定される点の周辺領域のみを対象として、前記所定ブロックから抽出した少なくとも一つのフレーム分割ブロックに関して、複数のモードの探索ブロックを用いて探索を行うとともに、前記複数のフィールド分割ブロックに関して、複数のモードの探索ブロックを用いて探索を行うステップと
を備える、動き探索方法。
【請求項2】
前記ステップ(B)においては、前記フレーム分割ブロックに関して、当該フレーム分割ブロックの大きさに相当するモードの探索ブロックを用いて探索を行うことにより、当該フレーム分割ブロックに関して、当該探索ブロックに包含される他のモードの探索ブロックを用いた探索と、前記複数のフィールド分割ブロックに関して、当該フレーム分割ブロックに包含されるモードの探索ブロックを用いた探索とが併せて実行される、請求項1に記載の動き探索方法。
【請求項3】
前記複数の動きベクトルの全てが近似する場合、前記ステップ(B)においては、前記フレーム分割ブロックに関して、当該フレーム分割ブロックの大きさに相当するモードの探索ブロックを用いて探索を行うことにより、全てのフレーム分割ブロック及び全てのフィールド分割ブロックに関する、全てのモードの探索ブロックを用いた探索が併せて実行される、請求項2に記載の動き探索方法。
【請求項4】
前記ステップ(A)における探索の結果に基づいて、前記ステップ(B)における探索の探索範囲の大きさが変更される、請求項1〜3のいずれか一つに記載の動き探索方法。
【請求項5】
前記ステップ(B)における探索のために参照可能な参照画像には、奇数フィールドに関する参照画像と偶数フィールドに関する参照画像とが含まれ、
前記ステップ(A)における探索の結果に基づいて、前記奇数フィールドに関する参照画像及び前記偶数フィールドに関する参照画像のうちの一方が、前記ステップ(B)における探索のために参照される参照画像として選択される、請求項1〜4のいずれか一つに記載の動き探索方法。
【請求項6】
前記ステップ(B)における探索においては、参照画面外の領域を含めて参照画像を設定することが可能であり、
前記参照画像がフレームに関する画像である場合、前記参照画面外の領域には、前記参照画像内の奇数行及び偶数行の各画素値が行交互に補完される、請求項1〜5のいずれか一つに記載の動き探索方法。
【請求項7】
前記ステップ(B)における探索においては、参照画面外の領域を含めて参照画像を設定することが可能であり、
前記参照画像が偶数フィールドに関する画像である場合、前記参照画面外の領域には、前記参照画像が奇数フィールドに関する画像である場合の端部行の各画素値が補完される、請求項1〜5のいずれか一つに記載の動き探索方法。
【請求項8】
(C)前記複数の動きベクトルが近似しない場合に実行され、複数のモードの各々毎に探索の初期点を求めた後に、当該初期点の周辺領域を対象として探索を行うステップ
をさらに備える、請求項1〜7のいずれか一つに記載の動き探索方法。
【請求項9】
前記ステップ(C)における探索の初期点の候補には、前記所定ブロックに隣接する複数のブロックに関して求められた複数の動きベクトルによって規定される複数の点が含まれる、請求項8に記載の動き探索方法。
【請求項10】
前記ステップ(C)における探索の初期点の候補には、前記ステップ(A)で求められた複数の動きベクトルによって規定される複数の点が含まれる、請求項8又は9に記載の動き探索方法。
【請求項11】
前記ステップ(C)における探索のために参照可能な参照画像には、奇数フィールドに関する参照画像と偶数フィールドに関する参照画像とが含まれ、
前記ステップ(A)における探索の結果に基づいて、前記奇数フィールドに関する参照画像及び前記偶数フィールドに関する参照画像のうちの一方が、前記ステップ(C)における探索のために参照される参照画像として選択される、請求項8〜10のいずれか一つに記載の動き探索方法。
【請求項12】
前記ステップ(C)においては、あるモードの探索ブロックを用いて探索を行うことにより、当該探索ブロックに包含される他のモードの探索ブロックを用いた探索が併せて実行される、請求項8〜11のいずれか一つに記載の動き探索方法。
【請求項13】
前記所定ブロックは、行方向に16画素、列方向に少なくとも16画素を有するブロックであり、
前記特定モードの探索ブロックは、行方向に16画素、列方向に8画素を有する探索ブロックである、請求項1〜12のいずれか一つに記載の動き探索方法。
【請求項14】
前記ステップ(A)においては、前記特定モードの探索ブロックの行方向の画素数が1/2に間引かれて探索が行われる、請求項13に記載の動き探索方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2008−271493(P2008−271493A)
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願番号】特願2007−298134(P2007−298134)
【出願日】平成19年11月16日(2007.11.16)
【出願人】(591128453)株式会社メガチップス (322)
【出願人】(504150450)国立大学法人神戸大学 (421)
【Fターム(参考)】