JP2009295029A - 動き量検出装置及び動き量検出方法 - Google Patents
動き量検出装置及び動き量検出方法 Download PDFInfo
- Publication number
- JP2009295029A JP2009295029A JP2008149713A JP2008149713A JP2009295029A JP 2009295029 A JP2009295029 A JP 2009295029A JP 2008149713 A JP2008149713 A JP 2008149713A JP 2008149713 A JP2008149713 A JP 2008149713A JP 2009295029 A JP2009295029 A JP 2009295029A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- block
- amount
- motion
- phase shift
- 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.)
- Withdrawn
Links
Abstract
【課題】階層化された画像データを用いてブロックマッチング法により動き量を検出する際に、動き量の検出精度を向上できるようにする。
【解決手段】現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出する。そして、当該位相ずれ量を解消するように探索フレームの階層化範囲を設定する。例えば、現在フレームと探索フレーム間での階層化位相ずれ量を既知の動きベクトルに基づいて注目ブロック毎に推定し、当該注目ブロックに対応する探索フレームの探索領域について階層化位相ずれ量だけオフセットした階層化範囲を選択する。これにより、位相ずれを含まない階層化ブロックを実現できるので、動き量の検出精度を向上できるようになる。
【選択図】図1
【解決手段】現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出する。そして、当該位相ずれ量を解消するように探索フレームの階層化範囲を設定する。例えば、現在フレームと探索フレーム間での階層化位相ずれ量を既知の動きベクトルに基づいて注目ブロック毎に推定し、当該注目ブロックに対応する探索フレームの探索領域について階層化位相ずれ量だけオフセットした階層化範囲を選択する。これにより、位相ずれを含まない階層化ブロックを実現できるので、動き量の検出精度を向上できるようになる。
【選択図】図1
Description
本発明は、階層化ブロックマッチング方法により動きベクトルを求める動き量検出装置及び動き量検出方法に適用可能である。詳しくは、第1の画面の注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように第2の画面の階層化範囲を設定することで、位相ずれを含まない階層化ブロックを実現できるようにすると共に、動き量の検出精度を向上できるようにするものである。
従来、動画像の動き量(動きベクトル)を求める動き量検出方法としてブロックマッチング法(例えば特許文献1参照)が用いられている。ブロックマッチング法では、まず1つの画面を適当な数画素からなるブロックに分割する。続いてこのようにブロック化された画像データと、この画像データが動いた領域を検索するために時間的に異なる画面の画像データがブロック化されてなる探索領域との間で、所定の評価関数を用いて画素単位で評価する。そして、この評価値を最小とする最適値を求めることにより、2つのブロック化された画像データ間の動き量を検出する。
これにより高い精度で画像の動き量を検出し得るようになされている。ブロックマッチング法では、検出対象のブロック(以下これを注目ブロックと呼ぶ)内の全ての画素に対して、動きベクトルの検出範囲である探索領域をくまなく探索して評価値を算出する。このために計算量が大きくなり、動き量を検出するまでの演算時間が長くなるという問題点があった。
この問題を解決するために、それぞれ異なる解像度でなる複数の階層画像を作成し、この階層画像を用いてブロックマッチング法で動き量を検出する動き量検出方法が提案されている(特許文献2参照)。この階層型動き量検出方法では、まずオリジナル画像としての原画像データ(以下第1階層と呼ぶ)を、平均化やローパスフィルタ処理等により平均値階層化して、画素数を低減した画像データ(以下第2階層と呼ぶ)を作成する。
次に、作成した第2階層の画像データで大まかな動き量を検出し、その動き量に基づいて第1階層の画像データについて細かい動き量検出を行うことにより、少ない計算量で動き量を検出し得るようになされている。なお、この階層数は2階層に限らず、順次平均値階層化を繰り返すことにより、さらにデータ量の少ない第3階層、第4階層、・・・、第n階層の画像データを作成することもできる。このような階層型動き量検出方法を用いれば、階層数が多くなる程少ない計算量で動き量を求めることができる。すなわち上位階層の画像データほどブロックのサイズと探索領域が小さくなるため、評価関数による演算量は必然的に小さくなる。最終的に動き量を求める最下位階層での評価は、ブロックサイズ自体は通常のブロックマッチング法と同じになるが、上位階層の画像データで求めた動き量に応じて動き補償して、探索領域を小さくすることができるため、演算量を削減することができる。
しかしながら、この動き量検出方法においては、階層数が多くなる程動き量の検出精度が劣化する問題があった。上位階層の画像データでは、画素数の少ないブロックの中に情報を縮退させているためエッジ成分などの画像の特徴量が失われてしまい、最下位階層の原画像と異なってくる。このため、上位階層における平均値階層化された画像データにおいて検出した動き量と、原画像において検出した動き量の対応関係にずれが生じる場合がある。
特に、フレーム間で階層化を行う矩形範囲(以下階層化ブロックと呼ぶ)の区切りと画面内の物体境界との空間的な相対関係が異なる場合には、画面内の物体の異なった部分がそれぞれ切り出され階層化される。このために、上位階層では対応するブロック同士の性質が大きく異なってしまう(以下この階層化ブロックの区切りと画面内の物体境界との空間的な相対関係を階層化位相と呼ぶ)。
以下、フレーム間での階層化位相ずれについて説明する。図19は、従来例に係るフレーム間での階層化位相ずれの一例を示す模式図である。この例で、灰白色の実線で格子状に区切られた4×4画素からなる矩形部分が階層化ブロックである。すなわち、第1階層の2×2画素を平均化することで第2階層の1画素を生成し、第2階層の2×2画素(第1階層の4×4の画素に相当する)を平均化することで第3階層の1画素を生成する。なお、この階層化ブロックの境界は固定されている。
図19に示す現在フレームFと探索フレームF−1とでは階層化ブロックの境界と画面内物体の相対位置が異なっている。現在フレームFと同じ階層化位相の階層化ブロックは、探索フレームF−1には存在しない。このように、画面内の物体の動きの解像度が階層化ブロックの分解能よりも小さいためにフレーム間で階層化位相ずれが生じると、平均値化などの処理を行った上位階層でのブロック同士の性質は大きく異なってしまう。
図20は、従来例に係るフレーム間での階層化位相のずれの影響で階層化の結果が大きく異なる例を示す模式図である。画素の濃淡は輝度信号のレベル値を示している。現在フレームFと探索フレームF−1において、サイズが8×8からなる第1階層のブロックに対して、2×2の範囲を階層化ブロックとして平均値化処理することで第2階層をそれぞれ生成する。現在フレームFから探索フレームF−1への注目ブロックの動きベクトルが(1、1)の場合、画面内の物体境界がフレーム間で階層化ブロックの境界を跨ぐことになる。
このため、階層化を行う範囲(階層化範囲)に同一物体が含まれているにもかわらず、図20に示すように第2階層の画像値は大きく異なる。このような場合、上位階層において現在フレームFにおける注目ブロックに対して探索フレームF−1で探索を行っても、正しく対応するブロックを検出できないおそれがある。
図21は、従来例に係る階層化位相ずれの影響で誤検出を生じる一例を示す模式図である。図21に示す探索フレームF−1の第2階層で、現在フレームFの注目ブロックBL8を探索する場合を考える。この場合、探索フレームF−1の第1階層においてブロックBL5を検出するためには、探索フレームF−1の第2階層では対応するブロックBL6を検出するのが望ましい。しかしながら、実際に第2階層で探索を行うと、階層化位相ずれのために誤って探索フレームF−1の第1階層のブロックBL7に対応するブロックBL8を検出してしまう。
このとき、探索フレームF−1を現在フレームFに対して(1、1)のオフセットをかけた範囲で階層化を行えば、階層化位相ずれの無い第2階層が得られる。なお、探索フレームF−1の現在フレームFに対する階層化位相ずれ量は(1、1)である。
このフレーム間での階層化位相のずれは、平均値化された上位階層において動き量を誤検出する主な原因の一つである。実際上、この動き量検出方法ではまず画像の粗い上位階層においてブロック毎の動き量を検出し、この検出結果に基づいて下位階層において動き量を検出する。このため、上位階層での検出結果が下位階層での動き量検出に大きな影響を与えることなる。上位階層での検出結果と原画像での検出結果との対応関係のずれ量が大きく、探索領域以内でカバーできなかった場合には、下位階層において正しい動き量を検出することはできず誤検出となる。
このように、従来の階層型動き検出方法には、フレーム間で階層化位相のずれが生じた場合、階層が上位になる程ブロックサイズが小さくなり動き量に対する分解能が低下するために、対応するブロック同士の性質が大きく異なってしまい、誤検出が起きる可能性が大きくなるという問題がある。
そこで、本発明はこのような従来例に係る課題を解決したものであって、階層化された画像データを用いてブロックマッチング法により動き量を検出する際に、動き量の検出精度を向上し得る動き量検出装置及び動き量検出方法を提供することを目的とする。
上述した課題を解決するために、本発明に係る第1の動き量検出装置は、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する記憶部と、前記記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第2の画面の階層化範囲を設定する階層化位相ずれ推定部と、前記第1の画面に対して解像度の異なる階層画像を作成する第1画面階層化部と、前記階層化位相ずれ推定部で設定された階層化範囲に基づいて、前記第2の画面に対して解像度の異なる階層画像を作成する第2画面階層化部と、所定の階層において、前記第1画面階層化部により作成された階層画像の注目ブロックと、前記第2階層化部により作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める動き量検出部とを備えるものである。
本発明に係る第1の動き量検出装置によれば、記憶部には、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量が記憶されている。階層化位相ずれ推定部は、この記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように第2の画面の階層化範囲を設定する。
例えば、この階層化位相ずれ推定部は、第1の画面の注目ブロックに対応する動き量を読み出し、当該動き量と第2の画面の階層化ブロックのブロックサイズから第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定し、推定された階層化位相ずれ量だけオフセットした第2の画面の階層化範囲を選択する。第2画面階層化部は、この階層化位相ずれ推定部で設定された階層化範囲に基づいて、第2の画面に対して解像度の異なる階層画像を作成する。これにより、位相ずれを含まない階層化ブロックを実現できると共に、動き量の検出精度を向上できるようになる。
上述した課題を解決するために、本発明に係る第1の動き量検出方法は、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する第1ステップと、記憶された動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第2の画面の階層化範囲を設定する第2ステップと、設定された前記階層化範囲に基づいて、前記第2の画面に対して解像度の異なる階層画像を作成する第3ステップと、前記第1の画面に対して解像度の異なる階層画像を作成する第4ステップと、所定の階層において、前記第4ステップで作成された階層画像の注目ブロックと、前記第3ステップで作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める第5ステップとを有するものである。
上述した課題を解決するために、本発明に係る第2の動き量検出装置は、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する記憶部と、前記記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第1の画面の注目ブロックの階層化範囲を設定する階層化位相ずれ推定部と、前記階層化位相ずれ推定部で設定された階層化範囲に基づいて、前記第1の画面に対して解像度の異なる階層画像を作成する第1画面階層化部と、前記第2の画面に対して解像度の異なる階層画像を作成する第2画面階層化部と、所定の階層において、前記第1画面階層化部により作成された階層画像の注目ブロックと、前記第2階層化部により作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める動き量検出部とを備えるものである。
本発明に係る第2の動き量検出装置によれば、記憶部には、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶している。階層化位相ずれ推定部は、記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第1の画面の注目ブロックの階層化範囲を設定する。
例えば、階層化位相ずれ推定部は、第1の画面の注目ブロックに対応する、記憶部に記憶した動き量を読み出し、当該動き量と第1の画面の階層化ブロックのブロックサイズから第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定し、推定された階層化位相ずれ量に基づいてオフセットした第1の画面の階層化範囲を選択する。第1画面階層化部は、この階層化位相ずれ推定部で設定された階層化範囲に基づいて、前記の画面に対して解像度の異なる階層画像を作成する。これにより、位相ずれを含まない階層化ブロックを実現できると共に、動き量の検出精度を向上できるようになる。
上述した課題を解決するために、本発明に係る第2の動き量検出方法は、第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する第1ステップと、記憶した前記動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第1の画面の注目ブロックの階層化範囲を設定する第2ステップと、設定された前記階層化範囲に基づいて、前記第1の画面に対して解像度の異なる階層画像を作成する第4ステップと、前記第2の画面に対して解像度の異なる階層画像を作成する第5ステップと、所定の階層において、前記第4ステップで作成した階層画像の注目ブロックと、前記第5ステップで作成した階層画像の階層化範囲の探索ブロックとを照合して動き量を求める第6ステップとを有するものである。
本発明に係る第1及び第2の動き量検出装置及び動き量検出方法によれば、第1の画面の注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように第1又は第2の画面の階層化範囲を設定するものである。
この構成によって、位相ずれを含まない階層化ブロックを実現できる。これにより、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
続いて、図面を参照しながら本発明に係る動き量検出装置及び動き量検出方法の実施形態について説明する。図1は、本発明に係る第1の実施形態としての動きベクトル検出装置100の構成例を示すブロック図である。図1に示す動きベクトル検出装置100は、現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該注目より過去の探索フレームの階層化ブロックとの位相ずれ量を算出する。そして、当該位相ずれ量を解消するように探索フレームの階層化範囲を設定することで、位相ずれを含まない階層化ブロックを実現できるようにすると共に、動き量の検出精度を向上できるようにするものである。なお、説明の理解を容易にするために、ブロックマッチングの階層化の数を3に設定する。もちろん、この階層化の数は、2以上であれば任意の数で良い。
図1に示す動きベクトル検出装置100は、現在フレーム階層化部11A、探索フレーム階層化部11B、動き量検出部11C及び階層化位相ずれ推定部11Dを備えている。現在フレーム階層化部11Aは、現在フレームの原画像データに対して解像度の異なる第2及び第3階層画像データを作成する。探索フレーム階層化部11Bは、階層化位相ずれ推定部11Dで設定された各ブロックの階層化範囲データに基づいて、現在フレームより1フレーム過去の探索フレームに対して解像度の異なる第2及び第3階層画像データを作成する。なお、この階層化位相ずれ推定部11Dは、後述するように既知の動きベクトルから階層化を行う現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれを算出し、当該位相ずれを解消するように探索フレームの階層化範囲を設定する。
動き量検出部11Cは、現在フレーム階層化部11Aにより作成された第3階層画像データの注目ブロックと、探索フレーム階層化部11Bにより作成された第3階層画像データの探索領域の各探索ブロックとを照合して動きベクトルを求める(ブロックマッチング)。そして、動き量検出部11Cは、第3階層で求めた動きベクトルが示す領域を探索領域として第2階層における探索領域を決定してブロックマッチングを行う。同様に、動き量検出部11Cは、第2階層で求めた動きベクトルが示す領域を探索領域として第1階層における探索領域を決定してブロックマッチングを行う。このように、上位階層で求めた動きベクトルを基準として下位階層での動きベクトルを求めることにより、少ない演算量で第1階層の動きベクトルを求める。
次に、現在フレーム階層化部11Aの構成及び動作例を説明する。現在フレーム階層化部11Aは、メモリ2、4及び6、第2階層データ作成回路3a、第3階層データ作成回路5aから構成されている。
現在フレーム階層化部11Aは、入力端子20からコンポーネント信号の輝度信号を第1階層画像データ(原画像データ)S1nとして入力し、この第1階層画像データS1nをメモリ2に供給する。このメモリ2は第1階層画像データS1nを記憶する。メモリ2の出力信号は第2階層データ作成回路3aに供給される。
第2階層データ作成回路3aは、第1階層画像データS1nから第2階層画像データS2nを作成する。例えば、第1階層画像データS1nの2画素×2ラインの小領域の画像データを平均化して第2階層画像データS2nの1画素を作成する。第2階層データ作成回路3aは、供給されたnフレームデータ全体に亘って第2階層画像データS2nを作成する。第2階層データ作成回路3aの出力信号は、メモリ4に供給される。メモリ4は、第2階層画像データS2nを記憶する。メモリ4の出力信号は第3階層データ作成回路5aに供給される。
第3階層データ作成回路5aは、第2階層画像データS2nから第3階層画像データS3nを作成する。例えば、第2階層画像データS2nの2画素×2ラインの小領域の画像データを平均化して第3階層画像データS3nの1画素を作成する。第3階層データ作成回路5aの出力信号はメモリ6に供給される。メモリ6は、第3階層画像データS3nを記憶する。
このように、現在フレーム階層化部11Aでは、以上の階層化処理について予め全画面をまとめて階層化しても良いし、あるいは後述する探索フレーム階層化部11Bと同じタイミングでブロック毎に階層画像データを作成しても良い。
次に、探索フレーム階層化部11Bの構成及び動作例を説明する。探索フレーム階層化部11Bは、遅延(DL)回路7、メモリ8、10及び12、第2階層データ作成回路9a及び第3階層データ作成回路11aから構成されている。
探索フレーム階層化部11Bは、遅延回路7により入力端子20から第1階層画像データS1nを入力する。遅延回路7は、第1階層画像データS1nを1フレーム分蓄え、現在フレームに比べて1フレーム過去の第1階層画像データS1n-1をメモリ8に供給する。メモリ8は、第1階層画像データS1n-1を記憶する。メモリ8の出力信号は第2階層データ作成回路9aに供給される。
第2階層データ作成回路9aは、上述した第2階層データ作成回路3aと同様の構成である。第2階層データ作成回路9aは、メモリ8から第1階層画像データS1n-1が供給され、階層化位相ずれ推定部11Dから位相ずれを解消するための階層化ブロックのアドレスデータが供給される。ここに、階層化ブロックとは階層化を行う矩形範囲であり、階層化範囲を選択して縮小する際に選択するブロックをいう。例えば、この階層化ブロックは、2画素×2ラインの4画素に画定されて平均化され、1画素に縮小される。第2階層データ作成回路9aは、供給された第1階層画像データS1n-1と階層化ブロックのアドレスデータから1フレーム過去の第2階層画像データS2n-1を作成する。
第2階層データ作成回路9aは、第2階層画像データS2n-1の階層化範囲の画像データ全体に亘って第2階層画像データS2n-1を作成する。すなわち、第2階層データ作成回路9aは、階層化範囲である探索領域毎に第2階層画像データS2n-1を作成する。第2階層データ作成回路9aの出力信号は、メモリ10に供給される。メモリ10は、第2階層画像データS2n-1を記憶する。メモリ10の出力信号は第3階層データ作成回路11aに供給される。
第3階層データ作成回路11aは、上述した第3階層データ作成回路5aと同様の構成である。この第3階層データ作成回路11aは、第2階層画像データS2n-1から第3階層画像データS3n-1を作成する。第3階層データ作成回路11aの出力信号はメモリ12に供給される。メモリ12は、第3階層画像データS3n-1を記憶する。
このように、探索フレーム階層化部11Bでは、階層化範囲毎に一連の階層化処理を行う。すなわち、この例では現在フレームnの注目ブロックmに対応する探索フレームn−1の探索領域の階層化を終えてから、現在フレームnの次の注目ブロックm+1に対応する探索フレームn−1の探索領域の階層化を行うことなる。もちろん、探索ブロック毎に階層化しても良い。
次に、動き量検出部11Cの構成及び動作例を説明する。動き量検出部11Cは、現在フレームの固定された注目ブロックに対して、探索フレームの探索ブロックを所定の探索領域内を移動させて注目ブロックと比較する。そして動き量検出部11Cは、所定の評価値を最小とする探索ブロックが検出された位置に基づいて動きベクトルを検出する。
動き量検出部11Cは、第1階層動き量検出回路15、第2階層動き量検出回路14及び第3階層動き量検出回路13から構成されている。動き量検出部11Cの第1階層動き量検出回路13には、第3階層におけるメモリ6に格納された現在フレームの注目ブロックと、メモリ12に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。
第3階層動き量検出回路13は、ブロックマッチング法により第3階層における動きベクトルを求める。すなわち、現在フレームと探索フレームの対応するブロック同士の間での所定の評価値を算出する。そして、その評価値が最小となる探索ブロックを見つけることで、第3階層の動き量を算出する。ここで評価値としては、例えばブロック同士の画素間の差分絶対値和を用いる。なお、階層型ブロックマッチング法では、原画像データの探索領域を(±16、±16)とした場合、第3階層における探索領域は(±4、±4)となる。そして、ブロック座標を位置的に−4から+4まで1ずつ変化させて評価値を算出して、動き量を決定している。第3階層動き量検出回路13で算出された第3階層の動きベクトルは、第2階層動き量検出回路14に供給される。
第2階層動き量検出回路14には、第2階層におけるメモリ4から現在フレームの注目ブロックと、メモリ10に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第2階層動き量検出回路14は、第3階層動き量検出回路13で算出された動きベクトルから当該探索領域を縮小する。例えば、第2階層動き量検出回路14は、第3階層における動きベクトルを第2階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第2階層動き量検出回路14は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第2階層における動きベクトルを求めて第1階層動き量検出回路15に供給する。なお、第2階層動き量検出回路14は、上述した第3階層動き量検出回路13と同様である。
第1階層における動きベクトル検出は、第3、第2階層と同様の手順で行う。第1階層動き量検出回路15には、第1階層におけるメモリ2から現在フレームの注目ブロックと、メモリ8に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第1階層動き量検出回路15は、第2階層動き量検出回路14で算出された動きベクトルから当該探索領域を縮小する。例えば、第1階層動き量検出回路15は、第2階層における動きベクトルを第1階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第1階層動き量検出回路15は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第1階層における動きベクトルを求めて階層化位相ずれ推定部11Dに供給する。なお、第1階層動き量検出回路15は、上述した第3階層動き量検出回路13、第2階層動き量検出回路14と同様である。
次に、階層化位相ずれ推定部11Dの構成及び動作例について説明する。階層化位相ずれ推定部11Dは、動きベクトル用のフレームメモリ16、位相ずれ量推定回路17及び階層化範囲決定回路18aから構成されている。
第1階層動き量検出回路15から出力された動きベクトルは、動きベクトル用のフレームメモリ16に供給される。このフレームメモリ16では、後述する階層化位相ずれ量の推定に用いる時空間における動きベクトル情報として、現在フレームと1フレーム分過去の探索フレームで既に求めた各ブロックの動きベクトルを記憶している。
すなわち、注目ブロックに対して階層化部11A、11Bおよび動き量検出部11Cで処理を行う際には、前フレームにおける全てのブロックの動きベクトルおよび現在フレームで検出した直前のブロックまでの動きベクトルに関する情報を、フレームメモリ16から参照することが可能となる。また、フレームメモリ16からは動きベクトル検出装置100の出力結果として現在フレームにおいて検出された動きベクトルが出力端子21から出力される。
位相ずれ量推定回路17では、まず注目ブロックに対して既に検出した時空間近傍の動きベクトルをフレームメモリ16から読み出す。位相ずれ量推定回路17は、現在フレームと探索フレーム間での階層化位相ずれ量を当該動きベクトルに基づいて注目ブロック毎に推定する。この位相ずれ量推定回路17で推定された階層化位相ずれ量は、階層化範囲決定回路18aに供給される。
階層化範囲決定回路18aでは、入力された階層化位相ずれ量に基づき、第1階層における探索領域内での階層化ブロックの境界を選択する。これは各注目ブロックの探索領域について階層化位相ずれ量だけオフセットした階層化範囲を選択していることに相当する。階層化範囲決定回路18aは、前フレームである探索フレームにおける階層化範囲の画素アドレスを第2階層データ作成回路9aに供給する。第2階層データ作成回路9aは、この階層化範囲の画素アドレスに基づいて、探索領域毎に平均化して縮小した第2階層画像データS2n-1を作成する。
また、階層化範囲決定回路18aは、第1階層動き量検出回路15にも第1階層における階層化範囲の画素アドレスを供給する。第1階層動き量検出回路15では、第1階層における動き検出の際に階層化範囲決定回路18aで設定したオフセット分を考慮して動きベクトルを求める。
例えば、第2階層動き量検出回路14で検出された動きベクトルは、階層化範囲決定回路18aで検出した階層化位相ずれ量だけずれているのでこのままでは正しい動きベクトルが検出できない。このため、第1階層動き量検出回路15では、この階層化位相ずれ量を含んだ動きベクトルを補正する必要がある。そこで、第1階層動き量検出回路15は、階層化位相ずれ量を探索ブロックのアドレスから減算する。そして、第1階層動き量検出回路15は、この階層化位相ずれ量が減算された探索ブロックのアドレスを用いてブロックマッチングを行って最終的な動きベクトルを求め、この動きベクトルを出力端子21から出力する。
このように、位相ずれ量推定回路17および階層化範囲決定回路18aは、注目ブロック毎に階層化位相ずれ量を適切に予測し、フレーム間での階層化位相ずれを解消することで、上位階層における動き量検出の精度を向上できる。
続いて、位相ずれ量推定回路17の動作例について説明する。階層化による位相ずれは、動き量と密接な関係がある。すなわち、階層化位相ずれ量を推定することは、現在フレームの注目ブロックの動き量を推定することに他ならない。従って、原画像データを階層化する際に、注目ブロックの動き量を既知の動きベクトルを利用して推定する。この例では、動画像の性質を考慮して時空間方向から既知の動きベクトルを利用して推定する。なお、この階層化位相ずれ量を推定するために利用する動きベクトルを予測ベクトルと呼称し、この予測ベクトルの導出に用いたブロックを予測ブロックと呼称する。
動画像は、時間方向で剛体性や時間方向連続性、等速性などの性質を有する。剛体性とは、外部から力が働いたときに、その変形が無視できると考えられる物体をいう。すなわち、当該物体は原則変形しない。時間方向連続性とは、物体は次のフレームで消失したり、突然現れたりしないことをいう。等速性とは、物体は等速で運動することをいう。
注目ブロックに対して、上述した性質を利用することにより、その注目ブロックの動き量を前フレームである探索フレームの同一の位置から予測することが可能となる。例えば、図2は、時間方向における予測ベクトルの決定方法(その1)を示す説明図である。図2に示す現在フレームFの注目ブロックBL1の予測ベクトルを求める場合を考える。この場合、注目ブロックBL1と同一位置にある探索フレームF−1の予測ブロックBL2を参照する。そして、この予測ブロックBL2の動きベクトルを、注目ブロックBL1の予測ベクトルとして決定する。このように、時間方向に係る動きベクトルから注目ブロックBL1の予測ベクトルを決定する。
図3は、時間方向における予測ベクトルの決定方法(その2)を示す説明図である。図3に示す現在フレームFの注目ブロックBL1の予測ベクトルを求める場合を考える。この場合、注目ブロックBL1と同一位置にある探索フレームF−1の予測ブロックBL2の近傍の一の動きベクトルを参照する。この例では、予測ブロックBL2とその周囲の予測ブロックの合計9個の動きベクトルから一の予測ベクトルを決定する。例えば、これら9個の予測ブロックBL2と注目ブロックBL1との差分絶対和を算出して、最小の差分絶対和に係る予測ブロックBL2の動きベクトルを予測ベクトルとして決定する。また、これら9個の動きベクトルを平均した動きベクトルを、注目ブロックBL1の予測ベクトルとして決定してもよい。また、これら9個の動きベクトルから頻度の高い動きベクトルを、注目ブロックBL1の予測ベクトルとして決定しても良い。このように、時間方向に係る複数の動きベクトルから注目ブロックBL1の予測ベクトルを決定する。
次に、空間方向から予測ベクトルを決定する方法について説明する。動画像は、空間方向で空間方向連続性や剛体性などの性質を有する。空間方向連続性とは、隣接するブロックは同じ物体に属することをいう。剛体性とは、外力による変形が無視できると考えられる物体であり、物体内は一様に動くことをいう。
注目ブロックに対して、上述した性質を利用することにより、その注目ブロックの動き量を同一フレームである現在フレーム内の近傍のブロックから予測することが可能となる。例えば、図4は、空間方向における予測ベクトルの決定方法(その1)を示す説明図である。図4に示す現在フレームFの注目ブロックBL1の予測ベクトルを求める場合を考える。この場合、注目ブロックBL1に隣接するブロックBL3の動きベクトル、すなわち直前に検出された動きベクトルを、注目ブロックBL1の予測ベクトルとして決定する。このように、空間方向に係る動きベクトルから注目ブロックBL1の予測ベクトルを決定する。
図5は、空間方向における予測ベクトルの決定方法(その2)を示す説明図である。図5に示す現在フレームFの注目ブロックBL1の予測ベクトルを求める場合を考える。この場合、注目ブロックBL1に隣接する複数のブロックの動きベクトル、すなわち検出済みの複数の動きベクトルを参照する。この例では、ラスタースキャン順に現在フレームFの各ブロックの動きベクトルを求める。
例えば、注目ブロックBL1に隣接する合計4個のブロックにおける検出済みの動きベクトルから予測ベクトルを決定する。例えば、これら4個の予測ブロックと注目ブロックBL1との差分絶対和を算出して、最小の差分絶対和に係る予測ブロックの動きベクトルを予測ベクトルとして決定する。また、これら4個の動きベクトルを平均した動きベクトルを、注目ブロックBL1の予測ベクトルとして決定しても良い。また、これら4個の動きベクトルから頻度の高い動きベクトルを、注目ブロックBL1の予測ベクトルとして決定しても良い。このように、空間方向に係る動きベクトルから注目ブロックBL1の予測ベクトルを決定する。
なお、上述した4つの予測ベクトル決定方法を組み合わせても良い。例えば、時間方向の予測ベクトルと空間方向の予測ベクトルを求めて、これらを平均して最終的な予測ベクトルを決定しても良い。
また、注目ブロックと時間方向及び空間方向の近傍のブロックの間で、ブロック内の全ての画素に対して差分絶対値和を計算する。そして、この差分絶対値和が最小となるブロックの動きベクトルを予測ベクトルと決定しても良い。このように差分絶対値和を用いる理由は、相関の高いブロック同士は、同一物体に属している可能性が高いからである。これにより、互いの動き量も、相関が強くなるので差分絶対値和が最小となるブロックの動きベクトルを予測ベクトルと決定することができる。
次に、決定された予測ベクトルに基づいて階層化による位相ずれ量を算出する例を説明する。例えば、予測ベクトルと階層化ブロックサイズから式(1)により階層化による位相ずれ量を算出する。
di=mod(予測ベクトルのi成分、i方向の階層化ブロックサイズ)
(i=x、y)・・・(1)
(i=x、y)・・・(1)
例えば、階層化ブロックサイズが4×4、すなわち第1階層の16画素を第3階層では1画素に縮退させ、注目ブロックの予測ベクトルMVref=(18、1)の場合、予測される階層化位相ずれ量は、式(1)により(2、1)と算出される。
算出した階層化位相ずれ量に応じて、最下位階層の探索フレームにおける階層化範囲を決定する。すなわち、従来手法における階層化方法に対して、式(1)により求めた階層化位相ずれ量だけオフセットを設定して第1階層における階層化ブロックを画定する。
図6は、階層化による位相ずれを解消した階層化範囲W’の決定方法を示す説明図である。図6に示す階層化ブロックBL4のブロックサイズを4×4とする。階層化範囲Wは、4個の階層化ブロックBL4から構成されている。このとき、これらの階層化ブロックBL4から成る階層化範囲Wを位相ずれ量(0、0)とする。この階層化範囲Wは、従来の階層型動きベクトル検出方法の階層化範囲と一致する。
本発明では、例えば注目ブロックの予測ベクトルMVref=(18、1)の場合、上述の式(1)により求めた階層化位相ずれ量(2、1)だけオフセットさせた階層化範囲W’に設定する。なお、この階層化範囲W’は破線で示した部分であり、4個の階層化ブロックBL4’から構成されている。これにより、位相ずれを含まない階層化ブロックを実現できる。従って、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
続いて動きベクトル検出装置100の動作例を説明する。図7は、動きベクトル検出装置100の動作例を示すフローチャートである。図7に示すステップS1で、現在フレームのブロック化を行う。この例では、注目ブロックのブロックサイズを8×8としているが、このブロックサイズは、8×8のブロックサイズと異なるサイズのブロックに分割しても良い。例えば、HD対応の画像データの場合、ブロックサイズを16×16に設定する。続いてステップS2に移行する。
ステップS2で、注目ブロックが含まれる現在フレームに対して平均値階層化を行い、第2、第3階層画像を作成する。なお、この現在フレームの階層化には、従来の階層型動き検出方法(例えば特開平5−87495号)を用いている。続いてステップS3に移行する。
ステップS3では、注目ブロックのアドレスを初期化(m=0)してステップS4に移行する。ステップS4で、現在フレームの全てのブロックに対して処理が終了したか否かを判定する。全てのブロックに対して処理が終了していない場合には、ステップS5に移行して次の注目ブロックに対して処理を続ける。なお、以下のステップS5、ST6、ST7が、本発明のポイントである既知の動きベクトルを基に階層化位相ずれ量を推定して探索フレームの階層化範囲を求める処理を行う部分である。
ステップS5では、注目ブロックの時空間近傍のブロックの中で既に動きベクトルが検出されているブロックを予測ブロックの候補とし、その動きベクトルを用いて注目ブロックの予測ベクトルを決定する。
ステップS5における、予測ベクトルの決定方法のフローチャートを図8に示す。図8のステップS50で、注目ブロックの時空間近傍から予測ブロックの候補を決定して画素データを読み出す(図2〜図5参照)。続いて、ステップS51に移行する。
ステップS51で、全ての予測ブロックの候補による比較を終了したか否かを判定する。全ての予測ブロックの候補による比較を終了していない場合、ステップS52に移行する。ステップS52で、注目ブロックと候補の予測ブロック内の全画素に対して差分絶対値和Δを計算してステップS53に移行する。
ステップS53で、ステップS52で求めた差分絶対値和Δが最小の差分絶対値和(Δmin)であるか否かを判定する。差分絶対値和Δが最小の差分絶対値和(Δmin)でない場合、ステップS51に戻り、次の候補の予測ブロックの差分絶対値和を計算する。また、差分絶対値和Δが最小の差分絶対値和(Δmin)である場合、ステップS54に移行する。
ステップS54で、現段階で最小の差分絶対値和(Δmin)を示す予測ブロックにおける動きベクトルを予測ベクトルに設定(更新)してステップS51に戻る。ステップS51で、全ての予測ブロックの候補による比較を終了した場合、図7のフローチャートのステップS7に移行する。
ステップS7で、予測ベクトルと階層化ブロックのサイズから、注目ブロックに対する探索フレームの階層化範囲を決定する。階層化範囲を決定する処理のフローチャートを図9に示す。図9のステップS70で、図7のステップS6で算出した階層化位相ずれ量を受信してステップS71に移行する。
ステップS71で、階層化位相ずれ量を考慮していない探索フレームにおける階層化範囲の先頭アドレスを受信する。このアドレスは、従来の階層型動き検出方法における注目ブロックの探索領域の先頭アドレス、すなわち注目ブロックの先頭アドレスに対して探索領域の広さ分のオフセットをはかせたアドレスである。続いてステップS72に移行する。
ステップS72で、探索フレームにおける探索領域の先頭アドレスに対して、上述のステップS70で受信した階層化位相ずれ量をオフセットとしたアドレスを新たな探索領域の先頭アドレスとして設定する。最終的に、更新した先頭アドレスを基点として、探索領域の幅を考慮した領域の画素データを注目ブロックに対する探索領域の階層化範囲として送信して図7のステップS8に移行する。
ステップS8では、受信した階層化範囲を平均値階層化し、複数の階層画像を作成してステップS9に移行する。ステップS9では、階層化された現在フレームと探索フレーム間で階層型ブロックマッチングを行い、現在フレームの注目ブロックの動きベクトルを求めてステップS10に移行する。
ステップS10で、次の注目ブロックに移行するために、当該注目ブロックのアドレスを更新してステップS4に戻る。ステップS4で、現在フレームの全ての注目ブロックに対して処理が終了したか否かを判定し、現在フレームの全ての注目ブロックに対して処理が終了した場合、処理を終了する。
以下の表1には、従来例に係る階層化ブロックマッチングの方法とMC差分値の比較例を示す。表1には、様々なシーンを網羅した16通りのソース画像(各32フレーム)における、検出した動きベクトルが示す先のブロックとの差分絶対値和であるMC残差を1画素あたりに正規化した値を示している。値が小さいほど動きベクトルの検出精度が良いことを示している。
表1に示すフルサーチは、差分絶対値和が最も小さくブロックマッチングの精度が最も良い。しかしながら、計算量が多くなり時間がかかる。2番目にブロックマッチングの精度が良いのは、時間方向における予測ベクトルを用いた場合である。3番目にブロックマッチングの精度が良いのは、空間方向における予測ベクトルを用いた場合である。最もブロックマッチングの精度が悪いのは、平均値3階層探索を用いた場合である。このように、本発明は、上位階層における階層化位相ずれによる影響を緩和し、精度向上に貢献していることが分かる。
このように本発明に係る第1の実施形態としての動きベクトル検出装置100及び動き量検出方法によれば、現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように探索フレームの階層化範囲を設定するものである。この例では、現在フレームと探索フレーム間での階層化位相ずれ量を動きベクトルに基づいて注目ブロック毎に推定し、当該注目ブロックに対応する探索フレームの探索領域について階層化位相ずれ量だけオフセットした階層化範囲を選択する。
この構成によって、位相ずれを含まない階層化ブロックを実現できる。これにより、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
続いて、本発明に係る第2の実施形態としての動きベクトル検出装置200の構成例を説明する。図10は、本発明に係る第2の実施形態としての動きベクトル検出装置200の構成例を示すブロック図である。図10に示す動きベクトル検出装置200は、動きベクトル検出装置100のように探索フレーム側で探索領域の階層化位相ずれを補正するのではなく、現在フレーム側で注目ブロックの階層化位相ずれを補正するものである。なお、図1に示した動きベクトル検出装置100と同じ構成要素には同一の符号を付し、その詳細な説明は省略する。
図10に示す動きベクトル検出装置200は、現在フレーム階層化部12A、探索フレーム階層化部12B、動き量検出部11C及び階層化位相ずれ推定部12Dを備えている。現在フレーム階層化部12Aは、階層化位相ずれ推定部12Dで設定された各ブロックの階層化範囲データに基づいて、現在フレームについて解像度の異なる第2及び第3階層画像データを作成する。探索フレーム階層化部12Bは、現在フレームより1フレーム過去の探索フレームの画像データについて解像度の異なる第2及び第3階層画像データを作成する。階層化位相ずれ推定部12Dは、既知の動きベクトルから、現在フレームの階層化ブロックと探索フレームの階層化ブロックとの位相ずれ量を算出し、当該位相ずれを解消するように現在フレームの注目ブロックの階層化範囲を設定する。
例えば、階層化位相ずれ推定部12Dの位相ずれ量推定回路17は、現在フレームの注目ブロックに対応する、フレームメモリ16に記憶された動きベクトルを読み出し、当該動きベクトルと現在フレームの階層化ブロックのブロックサイズから現在フレームと探索フレームの間における階層化位相ずれ量を当該注目ブロック毎に推定する。階層化範囲決定回路18bは、位相ずれ量推定回路17により推定された階層化位相ずれ量だけオフセットした現在フレームの階層化範囲を選択する。
現在フレーム階層化部12Aの構成及び動作例を説明する。現在フレーム階層化部12Aは、メモリ2、4及び6、第2階層データ作成回路3b、第3階層データ作成回路5bから構成されている。
現在フレーム階層化部12Aは、入力端子20からコンポーネント信号の輝度信号を第1階層画像データ(原画像データ)S1nとして入力し、この第1階層画像データS1nをメモリ2に供給する。このメモリ2は第1階層画像データS1nを記憶する。メモリ2の出力信号は第2階層データ作成回路3bに供給される。また、第2階層データ作成回路3bは、階層化位相ずれ推定部12Dから位相ずれを解消するための注目ブロックのアドレスデータが供給される。第2階層データ作成回路3bは、供給された第1階層画像データS1nと注目ブロックのアドレスデータから位相ずれ量をオフセットした第2階層画像データS2nを作成する。例えば、位相ずれ量をオフセットした状態で、第1階層画像データS1nの2画素×2ラインの小領域の画像データを平均化して第2階層画像データS2nの1画素を作成する。
第2階層データ作成回路3bは、第2階層画像データS2nの注目ブロックの画像データ全体に亘って第2階層画像データS2nを作成する。すなわち、第2階層データ作成回路3bは、注目ブロック毎に第2階層画像データS2nを作成する。第2階層データ作成回路3bの出力信号は、メモリ4に供給される。メモリ4は、第2階層画像データS2nを記憶する。メモリ4の出力信号は第3階層データ作成回路5bに供給される。
第3階層データ作成回路5bは、第2階層画像データS2nから第3階層画像データS3nを作成する。例えば、第2階層画像データS2nの2画素×2ラインの小領域の画像データを平均化して第3階層画像データS3nの1画素を作成する。第3階層作成回路5の出力信号はメモリ6に供給される。メモリ6は、第3階層画像データS3nを記憶する。
このように、現在フレーム階層化部12Aでは、現在フレーム側で注目ブロックの階層化位相ずれを補正する。そして、現在フレーム階層化部12Aでは、注目ブロック毎に一連の階層化処理を行う。すなわち。この例では現在フレームnの注目ブロックmの階層化を終えてから、現在フレームnの次の注目ブロックm+1の階層化を行うことなる。
次に、探索フレーム階層化部12Bの構成及び動作例を説明する。探索フレーム階層化部12Bは、遅延(DL)回路7、メモリ8、10及び12、第2階層データ作成回路9b及び第3階層データ作成回路11bから構成されている。
探索フレーム階層化部12Bは、遅延回路7により入力端子20から第1階層画像データS1nを入力する。遅延回路7は、第1階層画像データS1nを1フレーム分蓄え、現在フレームに比べて1フレーム過去の第1階層画像データS1n-1をメモリ8に供給する。メモリ8は、第1階層画像データS1n-1を記憶する。メモリ8の出力信号は第2階層データ作成回路9bに供給される。
第2階層データ作成回路9bは、上述した第2階層データ作成回路3bと同様の構成である。第2階層データ作成回路9bは、メモリ8から第1階層画像データS1n-1が供給される。第2階層データ作成回路9bは、供給された第1階層画像データS1n-1から第2階層画像データS2n-1を作成する。例えば、第1階層画像データS1n-1の2画素×2ラインの小領域の画像データを平均化して第2階層画像データS2n-1の1画素を作成する。第2階層データ作成回路9bは、供給されたnフレームデータ全体に亘って第2階層画像データS2n-1を作成する。第2階層データ作成回路9bの出力信号は、メモリ10に供給される。メモリ10は、第2階層画像データS2n-1を記憶する。メモリ10の出力信号は第3階層データ作成回路11bに供給される。
第3階層データ作成回路11bは、上述した第3階層データ作成回路5bと同様の構成である。この第3階層データ作成回路11bは、第2階層画像データS2n-1から第3階層画像データS3n-1を作成する。第3階層作成回路11の出力信号はメモリ12に供給される。メモリ12は、第3階層画像データS3n-1を記憶する。
このように、探索フレーム階層化部12Bでは、以上の階層化処理について予め全画面をまとめて階層化しても良いし、あるいは現在フレーム階層化部12Aと同じタイミングでブロック毎に階層画像データを作成しても良い。
続いて、位相ずれ量に基づいてオフセットする一例について説明する。図11A及び図11Bは、位相ずれ量に基づいてオフセットする一例を示す説明図である。図11Aは、探索フレーム側で階層化位相ずれ(1、1)を補正する場合である。図11Bは、現在フレーム側で階層化位相ずれ(1、1)を補正する場合である。図11Bに示す現在フレーム側で階層化位相ずれを補正する場合の処理は、既検出の動きベクトルを選択する部分までは、探索フレーム側で補正する場合と同一である。
現在フレーム側で補正する場合には、上述の式(1)により、階層化範囲を決定する際に予測ベクトルから階層化位相ずれ量を算出する。そして、注目ブロックの先頭アドレスにオフセットをはかせることになる。ここで、図11Bに示すように、階層化対象である注目ブロックの先頭アドレスにはかせるオフセット量が、探索フレーム側を補正するときとはxy方向ともに符号が逆転する。これは、探索フレームを基準にして階層化位相ずれを補正しているからである。
続いて、図12を参照して動きベクトル検出装置200の動作例を説明する。図12は、動きベクトル検出装置200の動作例を示すフローチャートである。図12に示すステップT1で、探索フレームのブロック化を行う。この例では、探索ブロックのブロックサイズを8×8としているが、このブロックサイズは、8×8のブロックサイズと異なるサイズのブロックに分割しても良い。例えば、HD対応の画像データの場合、ブロックサイズを16×16に設定する。続いてステップT2に移行する。
ステップT2で、探索ブロックが含まれる探索フレームに対して平均値階層化を行い、第2、第3階層画像を作成する。なお、この探索フレームの階層化には、従来の階層型動き検出方法(例えば特開平5−87495号)を用いている。続いてステップT3に移行する。
ステップT3では、注目ブロックのアドレスを初期化(m=0)してステップT4に移行する。ステップT4で、現在フレームの全てのブロックに対して処理が終了したか否かを判定する。全てのブロックに対して処理が終了していない場合には、ステップT5に移行して次の注目ブロックに対して処理を続ける。なお、以下のステップT5、ST6、ST7が、本発明のポイントである既知の動きベクトルを基に階層化位相ずれ量を推定して現在フレームの階層化範囲を求める処理を行う部分である。
ステップT5では、注目ブロックの時空間近傍のブロックの中で既に動きベクトルが検出されているブロックを予測ブロックの候補とし、その動きベクトルを用いて注目ブロックの予測ベクトルを決定する(図8参照)。続いてステップT7に移行する。
ステップT7で、予測ベクトルと階層化ブロックのサイズから、現在フレームにおける注目ブロックの階層化範囲を決定する。階層化範囲を決定する処理のフローチャートを図13に示す。図13のステップT70で、図12のステップT6で算出した階層化位相ずれ量を受信してステップT71に移行する。
ステップT71で、階層化位相ずれ量を考慮していない現在フレームにおける階層化範囲の先頭アドレスを受信する。このアドレスは、従来の階層型動き検出方法における注目ブロックの先頭アドレス、すなわち注目ブロックの先頭アドレスに対して注目ブロックの領域分のオフセットをはかせたアドレスである。続いてステップT72に移行する。
ステップT72で、現在フレームにおける注目ブロックの先頭アドレスに対して、上述のステップT70で受信した階層化位相ずれ量をオフセットとしたアドレスを新たな注目ブロックの先頭アドレスとして設定する。最終的に、更新した先頭アドレスを基点として、注目ブロックの幅を考慮した領域の画素データを注目ブロックの階層化範囲として送信して図12のステップT8に移行する。
ステップT8では、受信した注目ブロックの階層化範囲を平均値階層化し、複数の階層画像を作成してステップT9に移行する。ステップT9では、階層化された現在フレームと探索フレーム間で階層型ブロックマッチングを行い、現在フレームの注目ブロックの動きベクトルを求めてステップT10に移行する。
ステップT10で、次の注目ブロックに移行するために、当該注目ブロックのアドレスを更新してステップT4に戻る。ステップT4で、現在フレームの全ての注目ブロックに対して処理が終了したか否かを判定し、現在フレームの全ての注目ブロックに対して処理が終了した場合、処理を終了する。
このように本発明に係る第2の実施形態としての動きベクトル検出装置200及び動き量検出方法によれば、現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように現在フレームの階層化範囲を設定するものである。この例では、現在フレームと探索フレーム間での階層化位相ずれ量を動きベクトルに基づいて注目ブロック毎に推定し、当該注目ブロックについて階層化位相ずれ量だけオフセットした階層化範囲を選択する。
この構成によって、位相ずれを含まない階層化ブロックを実現できる。これにより、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
なお、下位階層を平均化して上位階層を生成する以外に、下位階層の画像データの高周波成分を示すアクティビティなどで上位階層である複数の階層を生成しても良い。
続いて、本発明に係る第3の実施形態としての動きベクトル検出装置300の構成例を説明する。図14は、本発明に係る第3の実施形態としての動きベクトル検出装置300の構成例を示すブロック図である。図14に示す動きベクトル検出装置300は、動きベクトル検出装置100、200のように注目ブロック毎に位相ずれ量を求めてオフセットするのではなく、探索フレーム単位で位相ずれ量を求めてオフセットするものである。なお、図1に示した動きベクトル検出装置100と同じ構成要素には同一の符号を付し、その詳細な説明は省略する。
図14に示す動きベクトル検出装置300は、現在フレーム階層化部11A、探索フレーム階層化部13B、動き量検出部11C及び階層化位相ずれ推定部13Dを備えている。現在フレーム階層化部11Aは、現在フレームの原画像データについて解像度の異なる第2及び第3階層画像データを作成する。探索フレーム階層化部13Bは、階層化位相ずれ推定部13Dで決定された位相ずれ量に基づいて、現在フレームより1フレーム過去の探索フレームについて解像度の異なる第2及び第3階層画像データを作成する。なお、この階層化位相ずれ推定部13Dは、後述するように既知の動きベクトルから位相ずれを算出し、当該位相ずれを解消するように探索フレームの探索領域を設定する。
動き量検出部11Cは、現在フレーム階層化部11Aにより作成された第3階層画像データの注目ブロックと、探索フレーム階層化部13Bにより作成された第3階層画像データの探索領域の各探索ブロックとを照合して動きベクトルを求める(ブロックマッチング)。そして、動き量検出部11Cは、第3階層で求めた動きベクトルが示す領域を探索領域として第2階層における探索領域を決定してブロックマッチングを行う。同様に、動き量検出部11Cは、第2階層で求めた動きベクトルが示す領域を探索領域として第1階層における探索領域を決定してブロックマッチングを行う。このように、上位階層で求めた動きベクトルを基準として下位階層での動きベクトルを求めることにより、少ない演算量で第1階層の動きベクトルを求める。
次に、現在フレーム階層化部11Aの構成及び動作例を説明する。現在フレーム階層化部11Aは、メモリ2、4及び6、第2階層データ作成回路3a、第3階層データ作成回路5aから構成されている。
現在フレーム階層化部11Aは、入力端子20からコンポーネント信号の輝度信号を第1階層画像データ(原画像データ)S1nとして入力し、この第1階層画像データS1nをメモリ2に供給する。このメモリ2は第1階層画像データS1nを記憶する。メモリ2の出力信号は第2階層データ作成回路3aに供給される。
第2階層データ作成回路3aは、第1階層画像データS1nの2画素×2ラインの小領域の画像データを平均化して第2階層画像データS2nの1画素を作成する。第2階層データ作成回路3aは、供給されたnフレームデータ全体に亘って第2階層画像データS2nを作成する。第2階層データ作成回路3aの出力信号は、メモリ4に供給される。メモリ4は、第2階層画像データS2nを記憶する。メモリ4の出力信号は第3階層データ作成回路5aに供給される。
第3階層データ作成回路5aは、第2階層画像データS2nの2画素×2ラインの小領域の画像データを平均化して第3階層画像データS3nの1画素を作成する。第3階層データ作成回路5aの出力信号はメモリ6に供給される。メモリ6は、第3階層画像データS3nを記憶する。
次に、探索フレーム階層化部13Bの構成及び動作例を説明する。探索フレーム階層化部13Bは、遅延(DL)回路7、メモリ8、10及び12、第2階層データ作成回路9c及び第3階層データ作成回路11cから構成されている。
探索フレーム階層化部13Bは、遅延回路7により入力端子20から第1階層画像データS1nを入力する。遅延回路7は、第1階層画像データS1nを1フレーム分蓄え、現在フレームに比べて1フレーム過去の第1階層画像データS1n-1をメモリ8に供給する。メモリ8は、第1階層画像データS1n-1を記憶する。メモリ8の出力信号は第2階層データ作成回路9cに供給される。
第2階層データ作成回路9cは、上述した第2階層データ作成回路3aと同様の構成である。第2階層データ作成回路9cは、メモリ8から第1階層画像データS1n-1が供給され、階層化位相ずれ推定部13Dから位相ずれを解消するための階層化ブロックのアドレスデータが供給される。第2階層データ作成回路9cは、供給された第1階層画像データS1n-1と階層化ブロックのアドレスデータから1フレーム過去の第2階層画像データS2n-1を作成する。
第2階層データ作成回路9cは、第2階層画像データS2n-1の探索フレームの画像データ全体に亘って第2階層画像データS2n-1を作成する。すなわち、第2階層データ作成回路9cは、1フレーム単位で位相ずれ量をオフセットして第2階層画像データS2n-1を作成する。第2階層データ作成回路9cの出力信号は、メモリ10に供給される。メモリ10は、第2階層画像データS2n-1を記憶する。メモリ10の出力信号は第3階層データ作成回路11cに供給される。
第3階層データ作成回路11cは、上述した第3階層データ作成回路5aと同様の構成である。この第3階層データ作成回路11cは、第2階層画像データS2n-1から第3階層画像データS3n-1を作成する。第3階層データ作成回路11cの出力信号はメモリ12に供給される。メモリ12は、第3階層画像データS3n-1を記憶する。このように、探索フレーム階層化部13Bでは、1フレーム単位で一連の階層化処理を行う。
次に、動き量検出部11Cの構成及び動作例を説明する。動き量検出部11Cは、現在フレームの固定された注目ブロックに対して、探索フレームの探索ブロックを所定の探索領域内を移動させて注目ブロックと比較する。そして動き量検出部11Cは、所定の評価値を最小とする探索ブロックが検出された位置に基づいて動きベクトルを検出する。
動き量検出部11Cは、第1階層動き量検出回路15、第2階層動き量検出回路14及び第3階層動き量検出回路13から構成されている。動き量検出部11Cの第1階層動き量検出回路13には、第3階層におけるメモリ6に格納された現在フレームの注目ブロックと、メモリ12に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。
第3階層動き量検出回路13は、ブロックマッチング法により第3階層における動きベクトルを求める。すなわち、現在フレームと探索フレームの対応するブロック同士の間での所定の評価値を算出する。そして、その評価値が最小となる探索ブロックを見つけることで、第3階層の動き量を算出する。ここで評価値としては、例えばブロック同士の画素間の差分絶対値和を用いる。なお、階層型ブロックマッチング法では、原画像データの探索領域を(±16、±16)とした場合、第3階層における探索領域は(±4、±4)となる。そして、ブロック座標を位置的に−4から+4まで1ずつ変化させて評価値を算出して、動き量を決定している。第3階層動き量検出回路13で算出された第3階層の動きベクトルは、第2階層動き量検出回路14に供給される。
第2階層動き量検出回路14には、第2階層におけるメモリ4から現在フレームの注目ブロックと、メモリ10に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第2階層動き量検出回路14は、第3階層動き量検出回路13で算出された動きベクトルから当該探索領域を縮小する。例えば、第2階層動き量検出回路14は、第3階層における動きベクトルを第2階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第2階層動き量検出回路14は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第2階層における動きベクトルを求めて第1階層動き量検出回路15に供給する。なお、第2階層動き量検出回路14は、上述した第3階層動き量検出回路13と同様である。
第1階層における動きベクトル検出は、第3、第2階層と同様の手順で行う。第1階層動き量検出回路15には、第1階層におけるメモリ2から現在フレームの注目ブロックと、メモリ8に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第1階層動き量検出回路15は、第2階層動き量検出回路14で算出された動きベクトルから当該探索領域を縮小する。例えば、第1階層動き量検出回路15は、第2階層における動きベクトルを第1階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第1階層動き量検出回路15は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第1階層における動きベクトルを求めて階層化位相ずれ推定部13Dに供給すると共に出力端子21に供給する。なお、第1階層動き量検出回路15は、上述した第3階層動き量検出回路13、第2階層動き量検出回路14と同様である。
次に、階層化位相ずれ推定部13Dの構成及び動作例について説明する。階層化位相ずれ推定部13Dは、メモリ22、動きベクトルのヒストグラム作成回路23、動きベクトルの最頻値検出回路24及び階層化ブロック位相決定回路25aから構成されている。
第1階層動き量検出回路15から出力された動きベクトルは、メモリ22に供給される。このメモリ22では、後述する階層化位相ずれ量の推定に用いる時間方向における動きベクトル情報として、1フレーム分過去の探索フレームのブロック毎の動きベクトルMVを全ブロック分だけ記憶している。
ヒストグラム作成回路23は、メモリ22に記憶された探索フレームにおける全ブロック分の動きベクトルMVから、ヒストグラムを作成してその結果を最頻値検出回路24に供給する。
最頻値検出回路24では、ヒストグラムから探索フレームでの動きベクトルMVの最頻値(画面動き)を検出し、当該最頻値の動きベクトルMVを予測ベクトルとして推定して階層化ブロック位相決定回路25aに供給する。
階層化ブロック位相決定回路25aでは、供給された予測ベクトルに基づいて階層化ブロックの階層化位相ずれ量、すなわち階層化ブロックのオフセット量を上述した式(1)を用いて算出する。階層化ブロック位相決定回路25aは、このオフセット量となる階層化位相ずれ量(階層化範囲の画素アドレス)を探索フレーム単位で推定して第2階層データ作成回路9cに供給する。
第2階層データ作成回路9cは、この階層化位相ずれ量だけ探索フレームの階層化範囲をオフセットする。そして、全ての階層化ブロックを平均化して縮小した第2階層画像データS2n-1を作成する。
また、階層化ブロック位相決定回路25aは、第1階層動き量検出回路15にも第1階層における階層化範囲の画素アドレスを供給する。第1階層動き量検出回路15では、第1階層における動き検出の際に階層化ブロック位相決定回路25aで設定したオフセット分を考慮して動きベクトルを求める。例えば、第2階層動き量検出回路14で検出された動きベクトルは、階層化ブロック位相決定回路25aで検出した階層化位相ずれ量だけずれているのでこのままでは正しい動きベクトルが検出できない。このため、第1階層動き量検出回路15では、この階層化位相ずれ量を含んだ動きベクトルを補正する必要がある。そこで、第1階層動き量検出回路15は、階層化位相ずれ量を探索ブロックのアドレスから減算する。そして、第1階層動き量検出回路15は、この階層化位相ずれ量をが減算された探索ブロックのアドレスを用いてブロックマッチングを行って最終的な動きベクトルを求め、この動きベクトルを出力端子21から出力する。
このように、階層化位相ずれ推定部13Dは、探索フレーム単位で階層化位相ずれ量を適切に予測し、フレーム間での階層化位相ずれを解消することで、上位階層における動き量検出の精度を向上できる。
続いて、図14及び図15を参照して動きベクトル検出装置300の動作例を説明する。図15は、動きベクトル検出装置300の動作例を示すフローチャートである。図15に示すステップU1で、現在フレームの階層化を行う。例えば、図14に示した現在フレーム階層化部11Aは、現在フレームの原画像データについて解像度の異なる第2及び第3階層画像データを作成してステップU2に移行する。
ステップU2で、過去のフレームの画面の動きから階層化ブロックの位相ずれ量を算出する。例えば、階層化位相ずれ推定部13Dは、予測ベクトルに基づいて階層化ブロックの階層化位相ずれ量、すなわち階層化ブロックのオフセット量を上述した式(1)を用いて算出して決定する。例えば、図16は、階層化位相ずれ量(オフセット量)の決定例を示すフローチャートである。図16に示すステップU20、U21で、ヒストグラム作成回路23は、メモリ22に記憶された探索フレームにおける全ブロック分の動きベクトルMVから、ヒストグラムを作成してステップU22に移行する。
ステップU22で、最頻値検出回路24は、探索フレームでの動きベクトルMVの最頻値(画面動き)を検出し、当該最頻値の動きベクトルMVを予測ベクトルを取得してステップU23に移行する。
ステップU23、U24で、階層化ブロック位相決定回路25aは、予測ベクトルに基づいて階層化ブロックの階層化位相ずれ量、すなわち階層化ブロックのオフセット量を上述した式(1)を用いて算出して決定する。続いて図15のステップU3に移行する。
図15のステップU3で、探索フレーム階層化部13Bは、階層化位相ずれ推定部13Dで決定された階層化位相ずれ量(オフセット量)に基づいて、探索フレーム単位で解像度の異なる第2及び第3階層画像データを作成してステップU4に移行する。
ステップU4で、動き量検出部11Cは、現在フレーム階層化部11Aにより作成された各階層における注目ブロックと、探索フレーム階層化部13Bにより作成された各階層における探索領域の探索ブロックとをブロックマッチングを行って動きベクトルを求める。
このように本発明に係る第3の実施形態としての動きベクトル検出装置300及び動き量検出方法によれば、現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように探索フレームの階層化範囲を探索フレーム単位で推定して設定するものである。
この構成によって、位相ずれを含まない階層化ブロックを実現できる。これにより、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
また、動きベクトル検出装置300は階層化位相ずれをオフセットした階層化範囲を探索フレーム単位で設定するので、ブロック毎に設定する上述した動きベクトル検出装置100、200と比較して、計算量を少なくできる。従って、比較的小さなハードウェア規模で済むため、低コストで高精度な動き検出装置を提供できる。
続いて、本発明に係る第4の実施形態としての動きベクトル検出装置400の構成例を説明する。図17は、本発明に係る第4の実施形態としての動きベクトル検出装置400の構成例を示すブロック図である。図17に示す動きベクトル検出装置400は、動きベクトル検出装置300のように探索フレーム側で探索領域の階層化位相ずれを補正するのではなく、現在フレーム側で注目ブロックの階層化位相ずれを補正するものである。なお、図14に示した動きベクトル検出装置300と同じ構成要素には同一の符号を付し、その詳細な説明は省略する。
図17に示す動きベクトル検出装置400は、現在フレーム階層化部14A、探索フレーム階層化部14B、動き量検出部11C及び階層化位相ずれ推定部14Dを備えている。現在フレーム階層化部14Aは、階層化位相ずれ推定部14Dで決定された位相ずれ量に基づいて、現在フレームについて解像度の異なる第2及び第3階層画像データを作成する。探索フレーム階層化部14Bは、探索フレームについて解像度の異なる第2及び第3階層画像データを作成する。なお、この階層化位相ずれ推定部14Dは、既知の動きベクトルから位相ずれを算出し、当該位相ずれを解消するように現在フレームの階層化範囲を設定する。
動き量検出部11Cは、現在フレーム階層化部14Aにより作成された第3階層画像データの注目ブロックと、探索フレーム階層化部14Bにより作成された第3階層画像データの探索領域の各探索ブロックとを照合して動きベクトルを求める(ブロックマッチング)。そして、動き量検出部11Cは、第3階層で求めた動きベクトルが示す領域を探索領域として第2階層における探索領域を決定してブロックマッチングを行う。同様に、動き量検出部11Cは、第2階層で求めた動きベクトルが示す領域を探索領域として第1階層における探索領域を決定してブロックマッチングを行う。このように、上位階層で求めた動きベクトルを基準として下位階層での動きベクトルを求めることにより、少ない演算量で第1階層の動きベクトルを求める。
次に、現在フレーム階層化部14Aの構成及び動作例を説明する。現在フレーム階層化部14Aは、メモリ2、4及び6、第2階層データ作成回路3d、第3階層データ作成回路5dから構成されている。
現在フレーム階層化部14Aは、入力端子20からコンポーネント信号の輝度信号を第1階層画像データ(原画像データ)S1nとして入力し、この第1階層画像データS1nをメモリ2に供給する。このメモリ2は第1階層画像データS1nを記憶する。メモリ2の出力信号は第2階層データ作成回路3dに供給される。また、第2階層データ作成回路3dは、階層化位相ずれ推定部14Dから位相ずれを解消するための階層化ブロックのアドレスデータが供給される。第2階層データ作成回路3dは、供給された第1階層画像データS1nと階層化ブロックのアドレスデータから第2階層画像データS2nを作成する。
第2階層データ作成回路3dは、第2階層画像データS2nの現在フレームの画像データ全体に亘って第2階層画像データS2nを作成する。すなわち、第2階層データ作成回路3dは、1フレーム単位で位相ずれ量をオフセットして第2階層画像データS2nを作成する。第2階層データ作成回路3dの出力信号は、メモリ4に供給される。メモリ4は、第2階層画像データS2nを記憶する。メモリ4の出力信号は第3階層データ作成回路5dに供給される。
第3階層データ作成回路5dは、第2階層画像データS2nの2画素×2ラインの小領域の画像データを平均化して第3階層画像データS3nの1画素を作成する。第3階層データ作成回路5dの出力信号はメモリ6に供給される。メモリ6は、第3階層画像データS3nを記憶する。
次に、探索フレーム階層化部14Bの構成及び動作例を説明する。探索フレーム階層化部14Bは、遅延(DL)回路7、メモリ8、10及び12、第2階層データ作成回路9d及び第3階層データ作成回路11dから構成されている。
探索フレーム階層化部14Bは、遅延回路7により入力端子20から第1階層画像データS1nを入力する。遅延回路7は、第1階層画像データS1nを1フレーム分蓄え、現在フレームに比べて1フレーム過去の第1階層画像データS1n-1をメモリ8に供給する。メモリ8は、第1階層画像データS1n-1を記憶する。メモリ8の出力信号は第2階層データ作成回路9dに供給される。
第2階層データ作成回路9dは、上述した第2階層データ作成回路3dと同様の構成である。第2階層データ作成回路9dは、メモリ8から第1階層画像データS1n-1が供給される。第2階層データ作成回路9dは、第1階層画像データS1n-1の2画素×2ラインの小領域の画像データを平均化して第2階層画像データS2n-1の1画素を作成する。第2階層データ作成回路9dは、供給されたnフレームデータ全体に亘って第2階層画像データS2n-1を作成する。第2階層データ作成回路9dの出力信号は、メモリ10に供給される。メモリ10は、第2階層画像データS2n-1を記憶する。メモリ10の出力信号は第3階層データ作成回路11dに供給される。
第3階層データ作成回路11dは、上述した第3階層データ作成回路5dと同様の構成である。この第3階層データ作成回路11dは、第2階層画像データS2n-1から第3階層画像データS3n-1を作成する。第3階層データ作成回路11dの出力信号はメモリ12に供給される。メモリ12は、第3階層画像データS3n-1を記憶する。このように、探索フレーム階層化部14Bでは、1フレーム単位で一連の階層化処理を行う。
次に、動き量検出部11Cの構成及び動作例を説明する。動き量検出部11Cは、現在フレームの固定された注目ブロックに対して、探索フレームの探索ブロックを所定の探索領域内を移動させて注目ブロックと比較する。そして動き量検出部11Cは、所定の評価値を最小とする探索ブロックが検出された位置に基づいて動きベクトルを検出する。
動き量検出部11Cは、第1階層動き量検出回路15、第2階層動き量検出回路14及び第3階層動き量検出回路13から構成されている。動き量検出部11Cの第1階層動き量検出回路13には、第3階層におけるメモリ6に格納された現在フレームの注目ブロックと、メモリ12に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。
第3階層動き量検出回路13は、ブロックマッチング法により第3階層における動きベクトルを求める。すなわち、現在フレームと探索フレームの対応するブロック同士の間での所定の評価値を算出する。そして、その評価値が最小となる探索ブロックを見つけることで、第3階層の動き量を算出する。ここで評価値としては、例えばブロック同士の画素間の差分絶対値和を用いる。なお、階層型ブロックマッチング法では、原画像データの探索領域を(±16、±16)とした場合、第3階層における探索領域は(±4、±4)となる。そして、ブロック座標を位置的に−4から+4まで1ずつ変化させて評価値を算出して、動き量を決定している。第3階層動き量検出回路13で算出された第3階層の動きベクトルは、第2階層動き量検出回路14に供給される。
第2階層動き量検出回路14には、第2階層におけるメモリ4から現在フレームの注目ブロックと、メモリ10に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第2階層動き量検出回路14は、第3階層動き量検出回路13で算出された動きベクトルから当該探索領域を縮小する。例えば、第2階層動き量検出回路14は、第3階層における動きベクトルを第2階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第2階層動き量検出回路14は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第2階層における動きベクトルを求めて第1階層動き量検出回路15に供給する。なお、第2階層動き量検出回路14は、上述した第3階層動き量検出回路13と同様である。
第1階層における動きベクトル検出は、第3、第2階層と同様の手順で行う。第1階層動き量検出回路15には、第1階層におけるメモリ2から現在フレームの注目ブロックと、メモリ8に格納された探索フレームにおける複数の探索ブロックから成る探索領域が供給される。第1階層動き量検出回路15は、第2階層動き量検出回路14で算出された動きベクトルから当該探索領域を縮小する。例えば、第1階層動き量検出回路15は、第2階層における動きベクトルを第1階層のスケールに変換しただけオフセットを設けた位置を中心とし、領域(±1、±1)を第2階層における探索領域として決定する。
第1階層動き量検出回路15は、注目ブロックと複数の探索ブロックとをブロックマッチングを行って第1階層における動きベクトルを求めて階層化位相ずれ推定部14Dに供給すると共に出力端子21に供給する。なお、第1階層動き量検出回路15は、上述した第3階層動き量検出回路13、第2階層動き量検出回路14と同様である。
次に、階層化位相ずれ推定部14Dの構成及び動作例について説明する。階層化位相ずれ推定部14Dは、メモリ22、動きベクトルのヒストグラム作成回路23、動きベクトルの最頻値検出回路24及び階層化ブロック位相決定回路25bから構成されている。
第1階層動き量検出回路15から出力された動きベクトルは、メモリ22に供給される。このメモリ22では、後述する階層化位相ずれ量の推定に用いる時間方向における動きベクトル情報として、1フレーム分過去の探索フレームのブロック毎の動きベクトルMVを全ブロック分だけ記憶している。
ヒストグラム作成回路23は、メモリ22に記憶された探索フレームにおける全ブロック分の動きベクトルMVから、ヒストグラムを作成してその結果を最頻値検出回路24に供給する。
最頻値検出回路24では、探索フレームでの動きベクトルMVの最頻値(画面動き)を検出し、当該最頻値の動きベクトルMVを予測ベクトルとして階層化ブロック位相決定回路25bに供給する。
階層化ブロック位相決定回路25bでは、供給された予測ベクトルに基づいて階層化ブロックの階層化位相ずれ量、すなわち階層化ブロックのオフセット量を上述した式(1)を用いて算出する。階層化ブロック位相決定回路25bは、このオフセット量となる階層化位相ずれ量(階層化範囲の画素アドレス)を第2階層データ作成回路9dに供給する。なお、図11Bに示したように、階層化対象である注目ブロックの先頭アドレスにはかせるオフセット量が、探索フレーム側を補正するときとはxy方向ともに符号が逆転する。
第2階層データ作成回路9dは、この階層化位相ずれ量に基づいて、探索フレーム(階層化範囲)をオフセットする。そして、全ての階層化ブロックを平均化して縮小した第2階層画像データS2n-1を作成する。
また、階層化ブロック位相決定回路25bは、第1階層動き量検出回路15にも第1階層における階層化範囲の画素アドレスを供給する。第1階層動き量検出回路15では、第1階層における動き検出の際に階層化ブロック位相決定回路25bで設定したオフセット分を考慮して動きベクトルを求める。
例えば、第2階層動き量検出回路14で検出された動きベクトルは、階層化ブロック位相決定回路25bで検出した階層化位相ずれ量だけずれているのでこのままでは正しい動きベクトルが検出できない。このため、第1階層動き量検出回路15では、この階層化位相ずれ量を含んだ動きベクトルを補正する必要がある。そこで、第1階層動き量検出回路15は、階層化位相ずれ量を探索ブロックのアドレスから減算する。そして、第1階層動き量検出回路15は、この階層化位相ずれ量が減算された探索ブロックのアドレスを用いてブロックマッチングを行って最終的な動きベクトルを求め、この動きベクトルを出力端子21から出力する。
このように本発明に係る第4の実施形態としての動きベクトル検出装置400及び動き量検出方法によれば、現在フレームの注目ブロックに対して過去に求めた時空間方向の動き量に基づいて、階層化を行うための現在フレームの階層化ブロックと当該現在フレームより過去の探索フレームの階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように現在フレームの階層化範囲を現在フレーム単位で推定して設定するものである。
この構成によって、位相ずれを含まない階層化ブロックを実現できる。これにより、上位階層における動き量の検出精度を向上できると共に、下位階層における動き量の検出精度を向上できる。
続いて、本発明に係る第5の実施形態として、過去フレームにおける動きベクトル(予測ベクトル)に基づいて、ブロック毎に階層化位相ずれを補正する処理と、フレーム単位で階層化位相ずれを補正する処理とを切り替える例を説明する。この例では、過去フレームにおける動きベクトルのヒストグラムを用いて当該処理を切り替える。
例えば、画面全体が均質な動きを行っている、すなわちパン動画などのように全画面動きが存在している場合には、両者どちらの手法を用いても全画面で一様な階層ずれ量が求まる。このため、全画面補正を用いた方が計算量的に有利に働く。一方で、画面内に動きの異なる複数物体が存在する場合には、ブロック単位補正を用いた方が位相ずれ量推定の精度的に有利に働く。
時間的に連続して全画面動きが存在する場合、過去フレームの動きベクトルのヒストグラムを調べると、全画面動きで急峻なピークが唯一存在する。一方で、全画面動きが存在ない場合には複数のピークが存在、もしくはピークの値が小さいか存在しない。この例では、ヒストグラムのピーク値を閾値判定し、閾値以上の値を示すときには全画面動きが存在するとみなして、全画面補正を行う。閾値に達しないときには全画面動きが存在しないとして、ブロック単位補正を行う。
例えば、図18は、本発明に係る第5の実施形態としての動作例を示すフローチャートである。図18に示すステップV1で、最終フレームであるか否かを判定し、最終フレームでない場合、ステップV2に移行する。
ステップV2で、1フレーム過去のフレームにおける動きベクトルのヒストグラムを作成してステップV3に移行する。ステップV3で、ヒストグラムのピーク値と閾値THとを比較し、ヒストグラムのピーク値が閾値THより大きい値を示す場合、ステップV4に移行する。
ステップV4で、全画面で位相ずれ量を推定して当該位相ずれを補正して動きベクトルを求める。例えば、上述した動きベクトル検出装置300、400により全画面で位相ずれ量を推定して当該位相ずれを補正して動きベクトルを求める。
また、上述のステップV3で、ヒストグラムのピーク値が閾値THより小さい値を示す場合、ステップV5に移行する。
ステップV5で、ブロック単位で位相ずれ量を推定して当該位相ずれを補正して動きベクトルを求める。例えば、上述した動きベクトル検出装置100、200によりブロック単位で位相ずれ量を推定して当該位相ずれを補正して動きベクトルを求める。
このように本発明に係る第5の実施形態としての動き量検出方法によれば、動きベクトルのヒストグラムにより階層化範囲をフレーム全体又はブロック単位に切り替えるので、フレームの動きに応じて階層化範囲を設定できる。これにより、計算量及び動きベクトル検出精度を考慮できるようになる。
なお、下位階層を平均化して上位階層を生成する以外に、下位階層の画像データの高周波成分を示すアクティビティなどで上位階層である複数の階層を生成しても良い。
また、バリエーションとしては、補正方法の決定の際にヒストグラムのピーク値のほかにヒストグラムの分散などを組み合わせて決定の確度を挙げる方法が考えられる。また、上述した例では全画面補正とブロック単位の補正の切り替えとして説明しているが、位相ずれ推定の処理単位の大きさを全画面と1ブロックの間で可変としてもよい。例えば、全画面と1ブロックの間の中間の領域範囲を用いて当該中間の領域範囲単位で位相ずれを推定してもよい。
本発明は、階層化ブロックマッチング方法により動きベクトルを求める動き量検出装置及び動き量検出方法に適用して好適である。
11D,12D・・・階層化位相ずれ推定部、11A,12A・・・現在フレーム階層化部(第1画面階層化部)、11B,12B・・・探索フレーム階層化部(第2画面階層化部)、11C・・・動き量検出部、16・・・動きベクトル用のフレームメモリ(記憶部)、17・・・位相ずれ量推定回路、18a,18b・・・階層化範囲決定回路、23・・・ヒストグラム作成回路、24・・・最頻値検出回路、25a,25b・・・階層化ブロック位相決定回路、100〜400・・・動きベクトル検出装置
Claims (15)
- 第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する記憶部と、
前記記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第2の画面の階層化範囲を設定する階層化位相ずれ推定部と、
前記第1の画面に対して解像度の異なる階層画像を作成する第1画面階層化部と、
前記階層化位相ずれ推定部で設定された階層化範囲に基づいて、前記第2の画面に対して解像度の異なる階層画像を作成する第2画面階層化部と、
所定の階層において、前記第1画面階層化部により作成された階層画像の注目ブロックと、前記第2階層化部により作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める動き量検出部とを備える動き量検出装置。 - 前記階層化位相ずれ推定部は、
前記第1の画面の注目ブロックに対応する、前記記憶部に記憶された動き量を読み出し、当該動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定する位相ずれ量推定回路と、
前記位相ずれ量推定回路により推定された前記階層化位相ずれ量だけオフセットした前記第2の画面の階層化範囲を選択する階層化範囲決定回路とを備える請求項1に記載の動き量検出装置。 - 前記位相ずれ量推定回路は、
前記第1の画面の注目ブロックに対して、前記記憶部に記憶された時間方向における同一位置の動き量、又は当該同一位置の近傍の一の動き量、若しくは当該同一位置の近傍の複数の動き量を平均した動き量を当該注目ブロックの動き量に決定する請求項2に記載の動き量検出装置。 - 前記位相ずれ量推定回路は、
前記第1の画面の注目ブロックに対して、前記記憶部に記憶された空間方向に隣接するブロックにおける動き量、又は空間方向における複数のブロックにおける一の動き量、若しくは、当該複数の動き量を平均した動き量を当該注目ブロックの動き量に決定する請求項2に記載の動き量検出装置。 - 前記位相ずれ量推定回路は、
前記第1の画面の注目ブロックに対して、時間方向及び空間方向の近傍のブロックの間で、ブロック内の全ての画素に対して差分絶対値和を計算し、当該差分絶対値和が最小となるブロックの動き量を当該注目ブロックの動き量に決定する請求項2に記載の動き量検出装置。 - 前記階層化位相ずれ推定部は、
前記記憶部に記憶された第2の画面における全ブロック分の動き量から、ヒストグラムを作成するヒストグラム作成回路と、
前記ヒストグラム作成回路により作成された前記ヒストグラムから、第2の画面における動き量の最頻値を検出し、当該最頻値の動き量を前記注目ブロックの動き量として推定する最頻値検出回路と、
前記最頻値検出回路により推定された動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該第2の画面単位で推定する階層化ブロック位相決定回路とを備え、
前記第2画面階層化部は、
前記階層化ブロック位相決定回路で推定された前記階層化位相ずれ量だけ前記第2の画面の階層化範囲をオフセットする請求項1に記載の動き量検出装置。 - 第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する第1ステップと、
記憶された動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第2の画面の階層化範囲を設定する第2ステップと、
設定された前記階層化範囲に基づいて、前記第2の画面に対して解像度の異なる階層画像を作成する第3ステップと、
前記第1の画面に対して解像度の異なる階層画像を作成する第4ステップと、
所定の階層において、前記第4ステップで作成された階層画像の注目ブロックと、前記第3ステップで作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める第5ステップとを有する動き量検出方法。 - 前記第2ステップでは、
前記第1の画面の注目ブロックに対応する前記動き量を読み出し、当該動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定する第6ステップと、
推定された前記階層化位相ずれ量だけオフセットした前記第2の画面の階層化範囲を選択する第7ステップとを有する請求項7に記載の動き量検出方法。 - 前記第2ステップでは、
前記第1ステップで記憶した第2の画面における全ブロック分の動き量から、ヒストグラムを作成する第8ステップと、
作成された前記ヒストグラムから、第2の画面における動き量の最頻値を検出し、当該最頻値の動き量を前記注目ブロックの動き量として推定する第9ステップと、
推定された前記動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該第2の画面単位で推定する第10ステップとを有し、
前記第3ステップでは、
前記第10ステップで推定された前記階層化位相ずれ量だけ前記第2の画面の階層化範囲をオフセットする請求項7に記載の動き量検出方法。 - 第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する記憶部と、
前記記憶部の動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第1の画面の注目ブロックの階層化範囲を設定する階層化位相ずれ推定部と、
前記階層化位相ずれ推定部で設定された階層化範囲に基づいて、前記第1の画面に対して解像度の異なる階層画像を作成する第1画面階層化部と、
前記第2の画面に対して解像度の異なる階層画像を作成する第2画面階層化部と、
所定の階層において、前記第1画面階層化部により作成された階層画像の注目ブロックと、前記第2階層化部により作成された階層画像の階層化範囲の探索ブロックとを照合して動き量を求める動き量検出部とを備える動き量検出装置。 - 前記階層化位相ずれ推定部は、
前記第1の画面の注目ブロックに対応する、前記記憶部に記憶された動き量を読み出し、当該動き量と前記第1の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定する位相ずれ量推定回路と、
前記位相ずれ量推定回路により推定された前記階層化位相ずれ量に基づいてオフセットした前記第1の画面の階層化範囲を選択する階層化範囲決定回路とを備える請求項10に記載の動き量検出装置。 - 前記階層化位相ずれ推定部は、
前記記憶部に記憶された第2の画面における全ブロック分の動き量から、ヒストグラムを作成するヒストグラム作成回路と、
前記ヒストグラム作成回路により作成された前記ヒストグラムから、第2の画面における動き量の最頻値を検出し、当該最頻値の動き量を前記注目ブロックの動き量として推定する最頻値検出回路と、
前記最頻値検出回路により推定された動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該第1の画面単位で推定する階層化ブロック位相決定回路とを備え、
前記第1画面階層化部は、
前記階層化ブロック位相決定回路で推定された前記階層化位相ずれ量に基づいて前記第1の画面の階層化範囲をオフセットする請求項10に記載の動き量検出装置。 - 第1の画面の注目ブロックに対して、過去に求めた時間方向又は空間方向の動き量若しくは時空間方向の動き量を記憶する第1ステップと、
記憶した前記動き量に基づいて、階層化を行うための第1の画面の階層化ブロックと当該第1の画面より過去の第2の画面の階層化ブロックとの位相ずれ量を算出し、当該位相ずれ量を解消するように前記第1の画面の注目ブロックの階層化範囲を設定する第2ステップと、
設定された前記階層化範囲に基づいて、前記第1の画面に対して解像度の異なる階層画像を作成する第4ステップと、
前記第2の画面に対して解像度の異なる階層画像を作成する第5ステップと、
所定の階層において、前記第4ステップで作成した階層画像の注目ブロックと、前記第5ステップで作成した階層画像の階層化範囲の探索ブロックとを照合して動き量を求める第6ステップとを有する動き量検出方法。 - 前記第2ステップでは、
前記第1の画面の注目ブロックに対応する、前記第1ステップで記憶した動き量を読み出し、当該動き量と前記第1の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該注目ブロック毎に推定する第7ステップと、
推定された前記階層化位相ずれ量に基づいてオフセットした前記第1の画面の階層化範囲を選択する第8ステップとを有する請求項13に記載の動き量検出方法。 - 前記第2ステップでは、
前記第1ステップで記憶した第2の画面における全ブロック分の動き量から、ヒストグラムを作成する第9ステップと、
作成された前記ヒストグラムから、第2の画面における動き量の最頻値を検出し、当該最頻値の動き量を前記注目ブロックの動き量として推定する第10ステップと、
推定された前記動き量と前記第2の画面の階層化ブロックのブロックサイズから前記第1の画面と第2の画面の間における階層化位相ずれ量を当該第1の画面単位で推定する第11ステップとを有し、
前記第4ステップでは、
前記階層化ブロック位相決定回路で推定された前記階層化位相ずれ量に基づいて前記第1の画面の階層化範囲をオフセットする請求項13に記載の動き量検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008149713A JP2009295029A (ja) | 2008-06-06 | 2008-06-06 | 動き量検出装置及び動き量検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008149713A JP2009295029A (ja) | 2008-06-06 | 2008-06-06 | 動き量検出装置及び動き量検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009295029A true JP2009295029A (ja) | 2009-12-17 |
Family
ID=41543137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008149713A Withdrawn JP2009295029A (ja) | 2008-06-06 | 2008-06-06 | 動き量検出装置及び動き量検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009295029A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011074121A1 (ja) * | 2009-12-18 | 2011-06-23 | 株式会社 東芝 | 動きベクトル検出装置及び方法 |
JP2011142564A (ja) * | 2010-01-08 | 2011-07-21 | Fujitsu Ltd | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム |
KR101416957B1 (ko) * | 2012-10-09 | 2014-07-09 | 주식회사 아이티엑스시큐리티 | 영상 기록 장치 및 svc 비디오 스트림을 이용한 모션 분석 방법 |
WO2017086156A1 (ja) * | 2015-11-17 | 2017-05-26 | ソニー株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
WO2021095773A1 (ja) | 2019-11-14 | 2021-05-20 | ソニーグループ株式会社 | 情報処理装置、生成方法及び生成プログラム |
-
2008
- 2008-06-06 JP JP2008149713A patent/JP2009295029A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011074121A1 (ja) * | 2009-12-18 | 2011-06-23 | 株式会社 東芝 | 動きベクトル検出装置及び方法 |
JP5492223B2 (ja) * | 2009-12-18 | 2014-05-14 | 株式会社東芝 | 動きベクトル検出装置及び方法 |
US9406376B2 (en) | 2009-12-18 | 2016-08-02 | Kabushiki Kaisha Toshiba | Motion vector detection apparatus and method |
JP2011142564A (ja) * | 2010-01-08 | 2011-07-21 | Fujitsu Ltd | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム |
KR101416957B1 (ko) * | 2012-10-09 | 2014-07-09 | 주식회사 아이티엑스시큐리티 | 영상 기록 장치 및 svc 비디오 스트림을 이용한 모션 분석 방법 |
WO2017086156A1 (ja) * | 2015-11-17 | 2017-05-26 | ソニー株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
US10650268B2 (en) | 2015-11-17 | 2020-05-12 | Sony Semiconductor Solutions Corporation | Image processing apparatus and image processing method |
WO2021095773A1 (ja) | 2019-11-14 | 2021-05-20 | ソニーグループ株式会社 | 情報処理装置、生成方法及び生成プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7738556B2 (en) | Apparatus and method for estimating motion vector with gradient method | |
US8929451B2 (en) | External vectors in a motion estimation system | |
US7667778B2 (en) | Image processing apparatus and method, and recording medium and program used therewith | |
US8724022B2 (en) | Frame rate conversion using motion estimation and compensation | |
US7848427B2 (en) | Apparatus and method for determining motion vector with effective pixel gradient | |
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
CN104219533B (zh) | 一种双向运动估计方法和视频帧率上转换方法及系统 | |
JP4869045B2 (ja) | 補間フレーム作成方法および補間フレーム作成装置 | |
US20120308144A1 (en) | Image processing device, image processing method, recording medium, and program | |
JP4564564B2 (ja) | 動画像再生装置、動画像再生方法および動画像再生プログラム | |
US8401318B2 (en) | Motion vector detecting apparatus, motion vector detecting method, and program | |
JP2010288110A (ja) | 画像処理装置および画像処理方法 | |
US8610826B2 (en) | Method and apparatus for integrated motion compensated noise reduction and frame rate conversion | |
TW201146011A (en) | Bi-directional, local and global motion estimation based frame rate conversion | |
KR20080033094A (ko) | 모션이 보상된 이미지를 위한 보간 방법 및 이 방법의구현을 위한 디바이스 | |
JP2009295029A (ja) | 動き量検出装置及び動き量検出方法 | |
US20090316042A1 (en) | Video processing methods and related devices for determining target motion vector | |
US20090244388A1 (en) | Motion estimation method and related apparatus for determining target motion vector according to motion of neighboring image blocks | |
US9106926B1 (en) | Using double confirmation of motion vectors to determine occluded regions in images | |
US8837595B2 (en) | Motion estimation method | |
US9142031B2 (en) | Image processing apparatus with detection of motion vector between images, control method therefor, and storage medium storing control program therefor | |
JP2004128702A (ja) | フレーム補間方法 | |
US8509552B1 (en) | Digital image processing error concealment method | |
JP2006215655A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
US9894367B2 (en) | Multimedia device and motion estimation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090916 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091110 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |