JP3782332B2 - 動きベクトル検出方法及び装置 - Google Patents
動きベクトル検出方法及び装置 Download PDFInfo
- Publication number
- JP3782332B2 JP3782332B2 JP2001304009A JP2001304009A JP3782332B2 JP 3782332 B2 JP3782332 B2 JP 3782332B2 JP 2001304009 A JP2001304009 A JP 2001304009A JP 2001304009 A JP2001304009 A JP 2001304009A JP 3782332 B2 JP3782332 B2 JP 3782332B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- search
- vector candidate
- block
- search mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、画像の記録・通信・伝送及び放送等における動画像信号の符号化装置において、入力画像が参照画像のどの領域から動いたものかを示す動きベクトルを検出する動きベクトル検出方法及び装置に関する。
【0002】
【従来の技術】
動画像の膨大な情報を圧縮する動画像符号化方式の一つである動き補償予測符号化方式は、MPEG2(Moving Picture Experts Group phase 2)や、MPEG4(Moving Picture Experts Group phase 4)等で用いられている。動き補償予測符号化方式では、入力画像の部分領域に対して参照画像から最も相関の高い部分領域を検出し(ブロックマッチングという)、入力画像の部分領域が参照画像のどの部分領域から動いたものかを示す動きベクトル情報と、その動きベクトル情報により示される参照画像の部分領域と入力画像の部分領域との差分(予測誤差)を符号化する。
【0003】
MPEG2及びMPEG4では、動き補償予測符号化に関して動き補償を行う単位(動きベクトル検出を行う単位)の大きさを異ならせた二つのモードが用意され、符号化効率の良い方のモードを選択して符号化が行われる。例えば、MPEG2では動き補償を行う単位を図4(a)に示すように16画素×16ライン(大ブロック)とするフレームモードと、図4(b)に示すように動き補償を行う単位をフィルタ位相により2つの16画素×8ライン(小ブロック)に分けるフィールドモードのうちから、符号化効率の高い方を選択して符号化を行う。
【0004】
一方、MPEG4では動き補償を行う単位を図5(a)に示すように16画素×16ライン(大ブロック)とするマクロブロックモードと、図5(b)に示すように大ブロックを4つの8画素×8ライン(小ブロック)に分けるブロックモードのうちから、符号化効率の高い方を選択して符号化を行う。
【0005】
動きベクトルの検出に際しては、このような大ブロックや小ブロック毎に動きベクトルの探索が行われる。また、動きベクトルの検出は対数探索といった階層的探索により、動きベクトルの探索範囲を階層的に徐々に小さくして行う方法が採られる。
【0006】
MPEG2及びMPEG4の何れにおいても、フレームモードやマクロブロックモードでの動きベクトル探索(大ブロック動きベクトル探索という)と、フィールドモードまたはブロックモードでの動きベクトル探索(小ブロック動きベクトル探索という)を常に行うと、探索範囲を小さくした下位階層の探索においては、大ブロック動きベクトル探索領域と小ブロック動きベクトル探索領域の重複がなくなるため、動きベクトル検出に必要なメモリバンド幅と演算量が増加してしまう。
【0007】
そこで、従来では小ブロック動きベクトル探索のみを行い、その結果から大ブロック動きベクトル探索で探索されると思われる動きベクトル候補(大ブロック動きベクトル候補という)を推定し、フレームモードまたはマクロブロックモードと、フィールドモードまたはブロックモードのいずれを用いるかを決定するためのモード判定時に、小ブロックでの動き補償、大ブロックでの動き補償の何れかを選択する方法がとられている。
【0008】
【発明が解決しようとする課題】
上述したように、従来技術において推定される大ブロック動きベクトル候補は小ブロック動きベクトル探索による探索結果に基づくものであるため、参照画像とのブロックマッチングに供される入力画像の画素数が本来の大ブロック動きベクトル探索の1/2または1/4になり、動きベクトルの検出精度が劣る。このような事情から、特にMPEG4では図6に示すように小ブロックによる動き補償が多用されており、それによって符号化効率の低下を招くという問題がある。
【0009】
本発明は、大ブロックでの動きベクトル探索精度を確保し、小ブロックによる動き補償の多用を避けて高い符号化効率が維持できる動きベクトル検出方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明は入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モード及び複数の探索階層により探索して検出する動きベクトル検出方法において、入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎及び大ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索する第1の探索モードに基づく第1の動きベクトル候補探索ステップと、小ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索する第2の探索モードに基づく第2の動きベクトル候補探索ステップと、第1の探索モードにおける大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定ステップと、各探索階層毎に上位の探索階層における大ブロック動きベクトル候補及び小ブロック動きベクトル候補の探索結果に基づいて第1及び第2の探索モードのうちのいずれかの探索モードを決定する探索モード決定ステップと、全ての探索階層及び1画面の入力画像に対する処理の終了時に動きベクトル候補決定ステップにより決定された最終的な動きベクトル候補を検出動きベクトルとして出力するステップとを具備することを特徴とする。
【0011】
本発明は入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モード及び複数の探索階層により探索して検出する動きベクトル検出装置において、入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する小ブロックマッチング誤差算出手段と、小ブロックマッチング誤差算出手段により算出された各小ブロック毎のブロックマッチング誤差の和をとって大ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する大ブロックマッチング誤差算出手段と、第1及び第2の旦濯モードを有し、第1の探索モードで小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索し、第2の探索モードで小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補のみを探索する動きベクトル候補探索手段と、第1の探索モードにおける大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定手段と、各探索階層毎に上位の探索階層における大ブロック動きベクトル候補及び小ブロック動きベクトル候補の探索結果に基づいて第1及び第2の探索モードのうちのいずれかの探索モードを決定する探索モード決定手段と、全ての探索階層及び1画面の入力画像に対する処理の終了時に動きベクトル候補決定手段により決定された最終的な動きベクトル候補を検出動きベクトルとして出力する手段とを具備することを特徴とする。
【0012】
さらに、本発明によると入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モード及び複数の探索階層により探索して検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムであって、入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎及び大ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索する第1の探索モードに基づく第1の動きベクトル候補探索処理と、小ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索する第2の探索モードに基づく第2の動きベクトル候補探索処理と、第1の探索モードにおいて大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定処理と、各探索階層毎に上位の探索階層における大ブロック動きベクトル候補及び小ブロック動きベクトル候補の探索結果に基づいて第1及び第2の探索モードのうちのいずれかの探索モードを決定する探索モード決定処理と、全ての探索階層及び1画面の入力画像に対する処理の終了時に動きベクトル候補決定手段により決定された最終的な動きベクトル候補を検出動きベクトルとして出力する処理とをコンピュータに実行させるためのプログラムがあるいは該プログラムを格納した記憶媒体が提供される。
【0013】
さらに、本発明によると入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モード及び複数の探索階層により探索して検出する動きベクトル装置としてコンピュータを機能させるためのプログラムであって、入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する小ブロックマッチング誤差算出手段と、小ブロックマッチング誤差算出手段により算出された各小ブロック毎のブロックマッチング誤差の和をとって大ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する大ブロックマッチング誤差算出手段と、第1及び第2の探索モードを有し、第1の探索モードで小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索し、第2の探索モードで小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補のみを探索する動きベクトル候補探索手段と、第1の探索モードにおける大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定手段と、各探索階層毎に上位の探索階層における大ブロック動きベクトル候補及び小ブロック動きベクトル候補の探索結果に基づいて第1及び第2の探索モードのうちのいずれかの探索モードを決定する探索モード決定手段と、全ての探索階層及び1画面の入力画像に対する処理の終了時に動きベクトル候補決定手段により決定された最終的な動きベクトル候補を検出動きベクトルとして出力する手段としてコンピュータを機能させるためのプログラムあるいは該プログラムを格納した記憶媒体が提供される。
【0014】
【発明の実施の形態】
以下に、図面を用いて本発明の実施形態を説明する。
図1に、本発明の一実施形態に係る動きベクトル検出装置の構成を示す。入力端子11には、動きベクトル検出対象の画像信号である入力画像データが入力される。入力端子12には、既に符号化され局部復号化された画像信号が参照画像データとして入力され、参照画像記憶部14に記憶される。
【0015】
入力画像データは小ブロック誤差算出部13に入力される。小ブロック誤差算出部13では、入力端子11からの入力画像データのマクロブロック(大ブロック)を小ブロックに分け、参照画像記憶部14から入力される各小ブロックの参照画像データとのブロックマッチング誤差、すなわち小ブロック毎のブロックマッチング誤差を算出する。
【0016】
小ブロック誤差算出部13により算出された小ブロック毎のブロックマッチング誤差は、大ブロックマッチング誤差算出部15に入力される。大ブロックマッチング誤差算出部15では、各小ブロックの同一小ブロック動きベクトル候補に対応するブロックマッチング誤差の和をとることにより、大ブロック毎のブロックマッチング誤差を算出する。
【0017】
小ブロックマッチング誤差算出部13で算出された小ブロック毎のマブロックマッチング誤差と大ブロックマッチング誤差算出部15で算出された大ブロック毎のブロックマッチング誤差の情報は、マッチング誤差切替器16を介して動きベクトル候補探索部17に交互に取り込まれる。動きベクトル候補探索部17は、小ブロック毎のブロックマッチング誤差のうちの最小誤差と、大ブロック毎のブロックマッチング誤差のうちの最小誤差を検出し、これらに基づき最小の小ブロック毎のブロックマッチング誤差に対応する小ブロック動きベクトル候補と、最小の大ブロック毎のブロックマッチング誤差に対応する大ブロック動きベクトル候補を探索する。
【0018】
動きベクトル候補探索部17で探索された小ブロック動きベクトル候補と大ブロック動きベクトル候補の情報は、動きベクトル候補決定部18に入力される。動きベクトル候補決定部18は、探索モード決定部19によって決定された探索モードに従って最終的な動きベクトル候補を決定する。すなわち、動きベクトル候補決定部18はマクロブロック探索モード(第1の探索モード)では、各小ブロック動きベクトル候補に対応するブロックマッチング誤差及び大ブロック動きベクトル候補に対応するブロックマッチング誤差が所定の条件を満足するかどうかにより、小ブロック動きベクトル候補及び大ブロック動きベクトル候補のいずれか一方を選択する。また、動きベクトル候補決定部18はブロック探索モード(第2の探索モード)では、小ブロック動きベクトル候補を選択して、最終的な動きベクトル候補を決定する。
【0019】
探索モード決定部19は、動きベクトル候補の階層的探索における各探索階層毎に、上位の探索階層における大ブロック動きベクトル候補や小ブロック動きベクトル候補に基づいて動きベクトル探索モードを決定する。
【0020】
すなわち、まず最上位の探索階層においては、参照画像と入力画像との間に動きベクトル検出済み画像が存在しない場合は、最上位探索階層の初期動きベクトルとして零を設定すると共に、最上位探索階層の探索モードとしてマクロブロック探索モードを設定する。
【0021】
参照画像と入力画像との間に動きベクトル検出済み画像が存在する場合は、現マクロブロックと同画像位置の動きベクトル検出済み画像のマクロブロックに対する動きベクトルに基づいて、最上位探索階層の初期動きベクトル及び探索モードを決定する。
具体的には、動きベクトル検出済み画像のマクロブロックの動きベクトルが大ブロック動きベクトルである場合は、その動きベクトルを最上位探索階層の初期動きベクトルとし、最上位探索階層の探索モードをマクロブロック探索モードとする。
【0022】
動きベクトル検出済み画像のマクロブロックの動きベクトルが小ブロック動きベクトルである場合は、各小ブロック動きベクトルが所定の条件を満たすかどうかにより、最上位探索階層での初期動きベクトル及び探索モードを決定する。例えば、動きベクトル検出済み画像のマクロブロックに対する各小ブロック動きベクトルの差分が所定値以下の場合は、それらの小ブロック動きベクトルの中心ベクトルを最上位探索階層の初期動きベクトルとし、最上位探索階層の探索モードをマクロブロック探索モードとする。動きベクトル検出済み画像のマクロブロックに対する各小ブロック動きベクトルの差分が所定値以下でない場合(所定値を超える場合)は、それらの小ブロック動きベクトルを最上位探索階層の初期動きベクトルとし、最上位探索階層の探索モードをブロック探索モードとする。
【0023】
探索モード決定部19は、下位探索階層では動きベクトル候補決定部18により決定されたより上位探索階層の動きベクトル候補に基づいて、探索階層毎の初期動きベクトル及び探索モードを決定する。具体的には、上位探索階層で大ブロック動きベクトル候補が選択された場合は、その大ブロック動きベクトル候補を現探索階層の初期動きベクトルとし、現探索階層の探索モードをマクロブロック探索モードとする。上位探索階層で小ブロック動きベクトル候補が選択された場合(上位探索階層の探索モードがブロック探索モードの場合を含む)は、その小ブロック動きベクトル候補を現探索階層の現マクロブロックを構成する各小ブロックの初期動きベクトルとし、現探索階層の探索モードをブロック探索モードとする。
【0024】
さらに、探索モード決定部19では、現マクロブロックの上位の探索階層での動きベクトル候補探索結果が大ブロック動きベクトル候補である場合は、その動きベクトル候補を現探索階層の初期動きベクトルとすると共に、現探索階層の探索モードをマクロブロック探索モードとし、現マクロブロックの上位探索階層での動きベクトル候補探索結果が小ブロック動きベクトル候補である場合(現マクロブロックの上位探索階層の探索モードがブロック探索モードの場合を含む)は、各小ブロック動きベクトル候補が所定条件を満たすかどうかにより現探索階層での初期動きベクトル及び探索モードを決定してもよい。
【0025】
例えば、各小ブロック動きベクトル候補の差分が所定値以下の場合は、それらの小ブロック動きベクトル候補の中心ベクトルを現探索階層の初期動きベクトルとし、現探索階層の探索モードをマクロブロック探索モードとし、そうで無い場合は各小ブロック動きベクトル候補を現探索階層の現マクロブロックを構成する各小ブロックの初期動きベクトルとし、現探索階層の探索モードをブロック探索モードとする。さらに、探索モード決定部19は、初期動きベクトルに従って対応する参照画像データを参照画像記憶部14から読み出して、小ブロック誤差算出部13に供給する処理も行う。
【0026】
このようにして動きベクトル候補決定部18により全ての探索階層及び1画面の入力画像に対する処理の終了時に決定された最終的な動きベクトル候補は、出力端子20から検出動きベクトルとして出力される。
【0027】
次に、本実施形態に係る動きベクトル検出の処理手順について図4を用いて説明する。
まず、動きベクトル検出対象画像である入力画像と参照画像との間に動きベクトル検出済み画像が存在しない場合、動きベクトル探索モード決定ステップS01において最上位探索階層の初期動きベクトルとして零を設定し、最上位探索階層の探索モードをマクロブロック探索モード(第1の探索モード)に決定する。
【0028】
入力画像と参照画像との間に動きベクトル検出済み画像が存在する場合は、動きベクトル探索モード決定ステップS01において現マクロブロックと同画像位置の動きベクトル検出済み画像の大ブロックに対する動きベクトルに基づいて、最上位探索階層での初期動きベクトルをの設定及び探索モードの決定を行う。具体的には、動きベクトル検出済み画像のマクロブロックの動きベクトルが大ブロック動きベクトルである場合は、その動きベクトルを最上位探索階層の初期動きベクトルに設定し、最上位探索階層の探索モードをマクロブロック探索モードに決定する。
【0029】
動きベクトル検出済み画像のマクロブロックの動きベクトルが小ブロック動きベクトルである場合は、各小ブロック動きベクトルが所定条件を満たすかどうかにより、最上位探索階層での初期動きベクトルの設定及び探索モードの決定を行う。例えば、動きベクトル検出済み画像のマクロブロックに対する各小ブロック動きベクトルの差分が所定値以下の場合は、それらの小ブロック動きベクトルの中心ベクトルを最上位探索階層の初期動きベクトルに設定すると共に、最上位探索階層の探索モードをマクロブロック探索モードに決定し、そうで無い場合はそれらの小ブロック動きベクトルを最上位探索階層の現マクロブロックを構成する各小ブロックの初期動きベクトルに設定し、最上位探索階層の探索モードをブロック探索モード(第2の探索モード)に決定する。
【0030】
動きベクトル探索モード決定ステップS01においてマクロブロック探索モードが決定された場合は、探索モード判定ステップS02を介してステップS11〜S15からなるマクロブロック探索モードによる動きベクトル候補探索処理を行う。
【0031】
すなわち、マクロブロック探索モードではステップS02から小ブロック誤差算出ステップS11に移り、初期動きベクトルに基づき参照領域データを入力して入力画像のマクロブロックに対して小ブロック毎に参照画像とのブロックマッチング誤差を算出する。
次に、大ブロック誤差算出ステップS12において各小ブロックのブロックマッチング誤差の和をとることにより、大ブロックのブロックマッチング誤差を算出する。
次に、動きベクトル候補探索ステップS13において、各小ブロックのブロックマッチング誤差が最小となる位置を示す小ブロック動きベクトル候補及び大ブロックのブロックマッチング誤差が最小となる位置を示す大ブロック動きベクトル候補とそれらの動きベクトル候補に対応する各ブロックマッチング誤差を更新する。
次に、探索範囲終了判定ステップS14を介して探索位置更新ステップS15に移り、探索位置の更新に従って新しい参照領域データを入力する。そして、前述のステップS11から探索位置更新ステップS15までの処理が探索範囲終了判定ステップS14により探索範囲終了と判断されるまで繰り返される。
【0032】
探索範囲終了時には、動きベクトル候補探索ステップS13の処理により、探索範囲内での小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロックのブロックマッチング誤差が最小となる大ブロック動きベクトル候補とそれらの動きベクトル候補に対応するブロックマッチング誤差が求まり、動きベクトル候補決定ステップS03に移る。
【0033】
動きベクトル候補決定ステップS03では、小ブロック動きベクトル候補に対応するブロックマッチング誤差の和と大ブロック動きベクトル候補に対応するブロックマッチング誤差に基づいて所定の条件を満足するかどうかにより、小ブロック動きベクトル候補及び大ブロック動きベクトル候補の一方を選択して動きベクトル候補を決定する。
【0034】
例えば、各小ブロック動きベクトル候補に対応するブロックマッチング誤差の和をSADsb、大ブロック動きベクトル候補に対応するブロックマッチング誤差をSADmb、Kpを探索階層毎に定めた定数として、
SADsb+Kp>SADmb (1)
を満足する場合は大ブロック動きベクトル候補を選択する。式(1)の条件を満足しない場合は、小ブロック動きベクトル候補を選択する。ここで、動きベクトル候補の探索精度と符号化効率の観点から、上位探索階層における定数Kpは下位探索階層における値以下にするのが望ましい。
【0035】
一方、動きベクトル探索モード決定ステップS01でブロック探索モードが決定された場合は、探索モード判定ステップS02を介してステップS21〜S25からなるブロック探索モードによる動きベクトル候補探索処理を行う。
【0036】
すなわち、マクロブロック探索モードではステップS02から小ブロック誤差算出ステップS21へ移り、小ブロック毎に設定された初期動きベクトルに基づいて参照領域データを入力し、小ブロック毎に参照画像とのブロックマッチング誤差を算出する。
次に、動きベクトル候補探索ステップS23において、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補とそのブロックマッチング誤差を更新する。
次に、探索範囲終了判定ステップS24を介して探索位置更新ステップS25に移り、探索位置の更新に従って新しい参照領域データを入力する。
そして、小ブロック誤差算出ステップS21から探索位置更新ステップS25までの処理が探索範囲終了判定ステップS24により探索範囲終了と判断されるまで繰り返される。
【0037】
探索範囲終了時には、動きベクトル候補探索ステップS23の処理により、探索範囲内での小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補と各小ブロック動きベクトル候補に対応するブロックマッチング誤差が求まる。
【0038】
次に、全探索階層終了判定ステップS04を介して探索階層更新ステップS05に移り探索階層を下位に更新し、動きベクトル探索モード決定ステップS01に移る。動きベクトル探索モード決定ステップS01では、上位探索階層での動きベクトル候補探索結果に従って、現探索階層の初期動きベクトルと探索モードを設定する。
【0039】
具体的には、上位探索階層で大ブロック動きベクトル候補が選択された場合は、その大ブロック動きベクトル候補を現探索階層の初期動きベクトルとし、現探索階層の探索モードをマクロブロック探索モードとし、小ブロック動きベクトル候補が選択された場合(上位探索階層の探索モードがブロック探索モードの場合を含む)は、その小ブロック動きベクトル候補を現探索階層の現マクロブロックを構成する各小ブロックの初期動きベクトルとし、現探索階層の探索モードをブロック探索モードとする。
【0040】
さらに、動きベクトル探索モード決定ステップS01においてマクロブロック探索モードが選択された場合は、探索モード判定ステップS02を介して小ブロック誤差算出ステップS11へ移り、小ブロック誤差算出ステップS11から探索位置更新ステップS15までの処理が探索範囲終了判定ステップS14により探索範囲終了と判断されるまで繰り返される。
【0041】
また、この動きベクトル探索モード決定ステップS01においてブロック探索モードが選択された場合には、探索モード判定ステップS02を介して小ブロック誤差算出ステップS21へ移り、小ブロック誤差算出ステップS21から探索位置更新ステップS25までの処理が探索範囲終了判定ステップS24により探索範囲終了と判断されるまで繰り返される。
【0042】
このようにして、全探索階層終了判定ステップS04により1つのマクロブロックについて全ての探索階層における動きベクトル候補探索が終了したと判断されるまで、動きベクトル探索モード決定ステップS01から探索階層更新ステップS05までの処理が繰り返される。1つのマクロブロックについて全探索階層が終了すると、全探索階層終了判定ステップS04から1画像終了判定ステップS06を介してマクロブロック更新ステップS07に移り、現マクロブロックが更新され、動きベクトル探索モード決定ステップS01に戻る。
上述の処理は、1画面終了判定ステップS06で1画面分の動きベクトル探索終了と判断されるまで繰り返される。
【0043】
本実施形態は、探索階層の更新をマクロブロック単位で行うため、上位探索階層で探索した動きベクトル候補に対応するブロックマッチング誤差と現探索階層のブロックマッチング誤差の比較も行って、ブロックマッチング誤差が最小となる動きベクトル候補を探索する、いわゆる木探索による動きベクトル検出処理に適している。
【0044】
図4は、本発明の第2の実施形態に係る動きベクトル検出の処理手順を示している。本実施形態は第1の実施形態の図3に示したステップS04〜S05の処理とステップS06〜S07の処理を入れ替えて、探索階層の更新を1画像単位で行う例であり、他の処理内容については第1の実施形態と同様であるため、説明を省略する。本実施形態は、隣接する大ブロックに対して参照画像データの領域の共通部分が存在する、いわゆる対数探索による動きベクトル検出などに適している。
【0045】
【発明の効果】
以上説明したように、本発明によれば大ブロックでの動きベクトルによる動き補償の効果の少ない場合や、有意な大ブロックでの動きベクトル候補探索を小ブロックの動きベクトル候補探索結果から算出できない場合にのみ、大ブロックでの動きベクトル候補探索が省略されることにより、小ブロックによる動き補償の多用を避け、少ないメモリバンド幅と少ない演算量で高い符号化効率を維持できる動きベクトル検出が可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る動きベクトル検出装置の構成を示すブロック図
【図2】本発明の一実施形態に係る動きベクトル検出方法の処理手順を示すフローチャート
【図3】本発明の他の実施形態に係る動きベクトル検出方法の処理手順を示すフローチャート
【図4】フレームモードとフィールドモードの説明図
【図5】マクロブロックモードとブロックモードの説明図
【図6】小ブロックによる動き補償の説明図
【符号の説明】
11…動きベクトル検出対象画像信号入力端子
12…参照画像信号入力端子
13…小ブロックマッチング誤差算出部
14…参照画像記憶部
15…大ブロックマッチング誤差算出部
16…マッチング誤差切替器
17…動きベクトル候補探索部
18…動きベクトル候補決定部
19…探索モード決定部
20…動きベクトル情報出力端子
Claims (6)
- 入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モードを用いてより上位の探索階層からより下位の探索階層にわたって探索して検出する動きベクトル検出方法において、
現探索階層における探索モードを第1及び第2の探索モードのうちのいずれかに決定する探索モード決定ステップと、
前記探索モード決定ステップにより第1の探索モードが決定されたとき、前記入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎及び大ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索する第1の動きベクトル候補探索ステップと、
前記探索モード決定ステップにより第2の探索モードが決定されたとき、前記小ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索する第2の動きベクトル候補探索ステップと、
前記第1の動きベクトル候補探索ステップにより探索された前記大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定ステップと、
全ての探索階層に対する処理の終了時に前記動きベクトル候補決定ステップにより決定された前記最終的な動きベクトル候補を検出動きベクトルとして出力するステップとを具備し、
前記探索モード決定ステップは、前記現探索階層より上位の探索階層において前記動きベクトル候補決定ステップで大ブロック動きベクトル候補が選択された場合は前記現探索階層における探索モードを前記第1の探索モードに決定し、前記上位の探索階層において前記動きベクトル候補決定ステップで小ブロック動きベクトル候補が選択された場合及び前記上位探索階層における探索モードが第2の探索モードの場合は前記現探索階層における探索モードを第2の探索モードに決定する動きベクトル検出方法。 - 前記第1の動きベクトル候補探索ステップは、前記小ブロック毎のブロックマッチング誤差の和をとって前記大ブロック毎のブロックマッチング誤差を算出する請求項1記載の動きベクトル検出方法。
- 前記動きベクトル候補決定ステップは、前記第1の動きベクトル候補探索ステップで探索される小ブロック動きベクトル候補に対応するブロックマッチング誤差の和をSADsb、前記第1の動きベクトル候補探索ステップで探索される大ブロック動きベクトル候補に対応するブロックマッチング誤差をSADmb、Kpを前記探索階層毎に定めた定数として、SADsb+Kp>SADmbを満足する場合は大ブロック動きベクトル候補を前記最終的な動きベクトル候補とし、SADsb+Kp>SADmbを満足しない場合は小ブロック動きベクトル候補を前記最終的な動きベクトル候補とする請求項1記載の動きベクトル検出方法。
- 入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モードを用いてより上位の探索階層からより下位の探索階層にわたって探索して検出する動きベクトル検出装置において、
現探索階層における探索モードを第1及び第2の探索モードのうちのいずれかに決定する探索モード決定手段と、
入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する小ブロックマッチング誤差算出手段と、
前記小ブロックマッチング誤差算出手段により算出された各小ブロック毎のブロックマッチング誤差の和をとって大ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する大ブロックマッチング誤差算出手段と、
前記探索モード決定手段により第1の探索モードが決定されたとき、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索し、前記探索モード決定ステップにより第2の探索モードが決定されたとき、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補のみを探索する動きベクトル候補探索手段と、
前記第1の動きベクトル候補探索手段により探索された前記大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定手段と、
全ての探索階層に対する処理の終了時に前記動きベクトル候補決定ステップにより決定された前記最終的な動きベクトル候補を検出動きベクトルとして出力する手段とを具備し、
前記探索モード決定手段は、前記現探索階層より上位の探索階層において前記動きベクトル候補決定ステップで大ブロック動きベクトル候補が選択された場合は前記現探索階層における探索モードを前記第1の探索モードに決定し、前記上位の探索階層において前記動きベクトル候補決定ステップで小ブロック動きベクトル候補が選択された場合及び前記上位探索階層における探索モードが第2の探索モードの場合は前記現探索階層における探索モードを第2の探索モードに決定する動きベクトル検出装置。 - 入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モードを用いてより上位の探索階層からより下位の探索階層にわたって探索して検出する動きベクトル検出処理をコンピュータに実行させるためのプログラムであって、
現探索階層における探索モードを第1及び第2の探索モードのうちのいずれかに決定する探索モード決定処理と、
前記探索モード決定処理により第1の探索モードが決定されたとき、前記入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎及び大ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索する第1の動きベクトル候補探索処理と、
前記探索モード決定処理により第2の探索モードが決定されたとき、前記小ブロック毎に入力画像と参照画像とのブロックマッチング誤差を算出し、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補を探索する第2の動きベクトル候補探索処理と、
前記第1の動きベクトル候補探索処理により探索された前記大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定処理と、
全ての探索階層及び1画面の入力画像に対する処理の終了時に前記動きベクトル候補決定処理により決定された前記最終的な動きベクトル候補を検出動きベクトルとして出力する処理とを具備し、前記探索モード決定処理は、前記現探索階層より上位の探索階層において前記動きベクトル候補決定処理で大ブロック動きベクトル候補が選択された場合は前記現探索階層における探索モードを前記第1の探索モードに決定し、前記上位の探索階層において前記動きベクトル候補決定処理で小ブロック動きベクトル候補が選択された場合及び前記上位探索階層における探索モードが第2の探索モードの場合は前記現探索階層における探索モードを第2の探索モードに決定する、動きベクトル検出処理をコンピュータに実行させるためのプログラム。 - 入力画像上の部分領域が参照画像上のどの領域から動いたかを示す動きベクトルを複数の探索モードを用いてより上位の探索階層からより下位の探索階層にわたって探索して検出する動きベクトル検出装置としてコンピュータを機能させるためのプログラムであって、
現探索階層における探索モードを第1及び第2の探索モードのうちのいずれかに決定する探索モード決定手段と、
入力画像及び参照画像を分割した大ブロックをさらに分割した小ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する小ブロックマッチング誤差算出手段と、
前記小ブロックマッチング誤差算出手段により算出された各小ブロック毎のブロックマッチング誤差の和をとって大ブロック毎の入力画像と参照画像とのブロックマッチング誤差を算出する大ブロックマッチング誤差算出手段と、
前記探索モード決定手段により第1の探索モードが決定されたとき、小ブロック毎及び大ブロック毎にそれぞれブロックマッチング誤差が最小となる小ブロック動きベクトル候補及び大ブロック動きベクトル候補を探索し、前記探索モード決定ステップにより第2の探索モードが決定されたとき、小ブロック毎にブロックマッチング誤差が最小となる小ブロック動きベクトル候補のみを探索する動きベクトル候補探索手段と、
前記第1の動きベクトル候補探索手段により探索された前記大ブロック動きベクトル候補及び小ブロック動きベクトル候補にそれぞれ対応するブロックマッチング誤差に基づいて最終的な動きベクトル候補を決定する動きベクトル候補決定手段と、
全ての探索階層に対する処理の終了時に前記動きベクトル候補決定ステップにより決定された前記最終的な動きベクトル候補を検出動きベクトルとして出力する手段とを具備し、
前記探索モード決定手段は、前記現探索階層より上位の探索階層において前記動きベクトル候補決定ステップで大ブロック動きベクトル候補が選択された場合は前記現探索階層における探索モードを前記第1の探索モードに決定し、前記上位の探索階層において前記動きベクトル候補決定ステップで小ブロック動きベクトル候補が選択された場合及び前記上位探索階層における探索モードが第2の探索モードの場合は前記現探索階層における探索モードを第2の探索モードに決定する、動きベクトル検出装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001304009A JP3782332B2 (ja) | 2001-09-28 | 2001-09-28 | 動きベクトル検出方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001304009A JP3782332B2 (ja) | 2001-09-28 | 2001-09-28 | 動きベクトル検出方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003111082A JP2003111082A (ja) | 2003-04-11 |
JP3782332B2 true JP3782332B2 (ja) | 2006-06-07 |
Family
ID=19123999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001304009A Expired - Lifetime JP3782332B2 (ja) | 2001-09-28 | 2001-09-28 | 動きベクトル検出方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3782332B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005012527A (ja) * | 2003-06-19 | 2005-01-13 | Nippon Hoso Kyokai <Nhk> | 符号化装置、符号化プログラムおよび符号化方法 |
JP4179548B2 (ja) | 2003-09-24 | 2008-11-12 | Kddi株式会社 | 動きベクトル検出装置 |
US8462850B2 (en) * | 2004-07-02 | 2013-06-11 | Qualcomm Incorporated | Motion estimation in video compression systems |
JP2008124580A (ja) * | 2006-11-08 | 2008-05-29 | Matsushita Electric Ind Co Ltd | 動きベクトル検出方法、動きベクトル検出装置、及び撮像システム |
KR100942778B1 (ko) | 2008-01-14 | 2010-02-18 | 전남대학교산학협력단 | 움직임 벡터 탐색방법 및 장치 |
EP2736254B1 (en) * | 2011-07-22 | 2018-07-04 | Hitachi, Ltd. | Video decoding method and image encoding method |
JP5957513B2 (ja) * | 2014-12-16 | 2016-07-27 | 株式会社日立製作所 | 動画像復号化方法 |
-
2001
- 2001-09-28 JP JP2001304009A patent/JP3782332B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003111082A (ja) | 2003-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2708440C1 (ru) | Устройство и способ кодирования изображения, устройство и способ декодирования изображения и носители данных | |
CN100468982C (zh) | 用于执行高质量快速预测运动搜索的方法和设备 | |
KR100752530B1 (ko) | 모션 추정 알고리즘 | |
EP3217668B1 (en) | Motion estimation method, video encoding method and apparatus using the same | |
JP5115498B2 (ja) | 画像符号化装置、画像符号化制御方法およびプログラム | |
KR100843418B1 (ko) | 화상 부호화 장치 및 화상 부호화 방법 | |
JP4480156B2 (ja) | 画像処理装置及び方法 | |
EP1608180A1 (en) | Method and apparatus for sub-pixel motion estimation which reduces bit precision | |
JP2005303984A (ja) | 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置 | |
US20070098075A1 (en) | Motion vector estimating device and motion vector estimating method | |
JP4346573B2 (ja) | 符号化装置と方法 | |
CN100401779C (zh) | 用于分级运动估计的方法 | |
JP3782332B2 (ja) | 動きベクトル検出方法及び装置 | |
JP4822940B2 (ja) | 画像処理装置及び画像処理方法 | |
US7852939B2 (en) | Motion vector detection method and device of the same | |
JP2001145109A (ja) | 動きベクトル検出装置 | |
JP4576930B2 (ja) | 動きベクトル検出装置、および、プログラム | |
JP2005244749A (ja) | 動画像符号化装置 | |
CN111586416B (zh) | 视频编码方法、装置、编码器及存储装置 | |
JP2008236096A (ja) | 動き探索方法、動き探索装置、動き探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN114040209A (zh) | 运动估计方法、装置、电子设备及存储介质 | |
JP2004236023A (ja) | 動きベクトル検出装置および方法 | |
JP4742325B2 (ja) | 動きベクトル検出装置、および、プログラム | |
JP5222049B2 (ja) | 動きベクトル探索装置及びその制御方法 | |
JP2008072608A (ja) | 画像符号化装置及び画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |