(57)【要約】【課題】 動きベクトル検出の際に、検索データの転送レートを増大させることなくサーチ範囲を拡大する。【解決手段】  基準ブロックの画像データとサーチ範囲内の検査ブロックの画像データとを演算することにより基準ブロック単位で動きベクトルを検出する際に、連続する複数個の基準ブロックにおいて検出した動きベクトルを基に前記サーチ範囲を可変設定する。複数個の基準ブロックは、水平方向又は垂直方向に連続したものとすることが好適である。【選択図】        図２
2007060706.tif 000002
【特許請求の範囲】
【請求項１】
基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、基準フレームの基準ブロックとＮフレーム（Ｎ＞Ｍ）離れた検索フレームの検索ブロックとの動きベクトルを検出する動きベクトル検出装置において、
前記基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、前記基準フレームと前記Ｍフレーム離れた検索フレーム間の動きベクトル分布を検出し、検出された前記動きベクトル分布に基づき、前記Ｎフレーム離れた検索フレームにおけるサーチ範囲を設定する設定手段と、
前記設定手段により設定されるサーチ範囲において、前記基準フレームの基準ブロックと前記Ｎフレーム離れた検索フレームの検索ブロックとの動きベクトルを検出する動き検出手段と、
を有することを特徴とする動きベクトル検出装置。
【請求項２】
２個以上の独立した動き検出手段を有することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、基準フレームの基準ブロックとＮフレーム（Ｎ＞Ｍ）離れた検索フレームの検索ブロックとの動きベクトルを検出する動きベクトル検出方法であって、
前記基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、前記基準フレームと前記Ｍフレーム離れた検索フレーム間の動きベクトル分布を検出し、
検出された前記動きベクトル分布に基づき、前記Ｎフレーム離れた検索フレームにおけるサーチ範囲を設定し、
前記設定されるサーチ範囲における、前記基準フレームの基準ブロックと前記Ｎフレーム離れた検索フレームの検索ブロックとの動きベクトルを検出する    
ことを特徴とする動きベクトル検出方法。
【請求項４】
動きベクトルを２個以上の独立した動き検出手段により検出することを特徴とする請求項３記載の動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｉｍａｇｅ Ｃｏｄｉｎｇ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ）に準拠した画像符号化装置における動きベクトル検出装置及び動きベクトル検出方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ方式は、ＤＣＴ（Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）と動き補償予測と可変長符号化とを組み合わせて画像データの圧縮を行う符号化方式である。
【０００３】
図１３にＭＰＥＧ方式に準拠した画像符号化装置の構成を示す。この図において、入力端子Ｔ１に画像データが供給される。この画像データは動きベクトル検出回路２１と減算回路２２とに入力される。動きベクトル検出回路２１は、入力された画像データを用いて現フレームと参照フレーム（例えば前フレーム）との動きベクトルを求め、動き補償回路２３へ与える。
【０００４】
参照フレームの画像データはフレームメモリ２４内にも格納されている。この画像データは動き補償回路２３へ供給される。動き補償回路２３では、動きベクトル検出回路２１から送られてくる動きベクトルを用いて、フレームメモリ２４から送られてくる画像データの動き補償を行う。動き補償回路２３の出力は減算回路２２と加算回路２５へ送られる。
【０００５】
減算回路２２では、入力端子Ｔ１から供給される現フレームの画像データと、動き補償回路２３から供給される動き補償された参照フレームの画像データとを減算して予測誤差データを求め、ＤＣＴ回路２６へ供給する。ＤＣＴ回路２６は、この予測誤差データをＤＣＴ処理して量子化器２７へ送る。量子化器２７はＤＣＴ回路２６の出力を量子化し、可変長符号化回路２８へ送る。可変長符号化回路２８は量子化器２７の出力を可変長符号化し、出力端子Ｔ２から出力する。
【０００６】
量子化器２７の出力は逆量子化器２９にも供給される。そして、ここで逆量子化処理を受け、その出力は逆ＤＣＴ回路３０において逆ＤＣＴ処理を受けて、元の予測誤差データに戻され、加算回路２５へ与えられる。
【０００７】
加算回路２５では、この予測誤差データを動き補償回路２３の出力データに加算して現フレームの画像データを求める。求められた画像データは次の参照フレームの画像データとしてフレームメモリ２４に格納される。
【０００８】
このような画像符号化装置における動きベクトル検出の方法としてはブロックマッチング法が知られている。ブロックマッチング法は、画面を小さな矩形領域（ブロック）に分割して、ブロック毎に動きを検出する。ブロックのサイズとしては、横８画素×縦８画素（以下８×８と略す）、１６×１６等がある。次に図１４を参照しながらブロックマッチング法について説明する。
【０００９】
図１４において、基準フレーム４１内にＭ×Ｎの基準ブロックＲＢを設定する。また、検索フレーム４２内に基準ブロックＲＢと同じサイズの検査ブロックＳＢを設定する。検査ブロックＳＢは、基準ブロックＲＢと同じ位置を中心に±ｍ×±ｎの所定のサーチ範囲４３内を巡って移動される。そして、基準ブロックＲＢと検査ブロックＳＢとの一致度を計算し、最も一致度の高い検査ブロックをマッチングブロックとし、このマッチングブロックから動きベクトルを求める。
【００１０】
すなわち、基準ブロックＲＢと同じ位置にある検査ブロックＳＢ０から（ｕ，ｖ）シフトした位置にある検査ブロックＳＢｋの一致度が最も高い場合には、その基準ブロックＲＢの動きベクトルを（ｕ，ｖ）とする。このとき、基準ブロックＲＢと検査ブロックＳＢの同じ位置の画素毎の絶対値差分の総和や画素毎の差分の２乗の総和等が最小になる検査ブロックを最も一致度の高い検査ブロックとする。
【００１１】
ＭＰＥＧ方式においては動画像の１シーケンスを複数のフレーム（ピクチャー）からなるＧＯＰ（Ｇｒｏｕｐ ｏｆ Ｐｉｃｔｕｒｅ）に分割して符号化を行う。ＧＯＰはフレーム内符号化画像（Ｉピクチャー）と、既に符号化された時間的に前のフレームから予測するフレーム間符号化画像（Ｐピクチャー）と、既に符号化された時間的に前後の２フレームから予測するフレーム間符号化画像（Ｂピクチャー）とから構成される。
【００１２】
例えば図１５においては、始めにＰピクチャーであるＰ３を基準フレームとし、ＩピクチャーであるＩ０を検索フレームとして動き検出を行う。次にＢピクチャーであるＢ１を基準フレームとし、Ｉ０とＰ３を検索フレームとして両方向の動き検出を行う。次にＢピクチャーであるＢ２を基準フレームとし、Ｉ０とＰ３を検索フレームとして両方向の動き検出を行う。
【００１３】
図１６に示すように、一般に動き検出に必要なサーチ範囲は基準フレームと検索フレームとのフレーム間隔に比例して増大することが望ましい。ここでは、ブロックサイズが１６×１６の場合について説明を行なう。例えば１フレーム離れた場合にサーチ範囲が水平方向、垂直方向共に±１６とすると、２フレーム離れた場合には±３２、３フレーム離れた場合には±４８のサーチ範囲とすることが望ましい。
【００１４】
しかしながら、このようにフレーム間隔に比例してサーチ範囲を広げた場合には、動き検出に必要ハード量もそれぞれ１フレーム離れた場合の４倍、９倍と増加してしまう。つまり、Ｐ３を基準フレームとし、Ｉ０を検索フレームとした動き検出のような３フレーム間離れた動き検出を行なうためには非常に大きなハード量が必要となる。
【００１５】
そこで、ハード量を増加させずにサーチ範囲を拡大する方法としてテレスコピックサーチが知られている。これは、サーチする範囲は常に±１６としながらも、基準ブロック毎にサーチ範囲の中心にオフセットを持たせることにより大きなサーチ範囲をカバーするものである。次に図１７を参照しながらテレスコピックサーチについて説明する。
【００１６】
図１７に示すように、例えば基準フレームに対して３フレーム離れた検索フレーム３においてサーチを行なう場合には、始めに１フレーム離れた検索フレーム１において±１６のサーチ範囲で、基準ブロックにおける動きベクトルＭＶ１を求める。次に２フレーム離れた検索フレーム２において、ＭＶ１をサーチ範囲の中心として±１６のサーチ範囲でサーチを行ない動きベクトルＭＶ２を求める。このとき、基準フレーム内の基準ブロックから見たサーチ範囲は±３２となる。最後に３フレーム離れた検索フレーム３において、ＭＶ２をサーチ範囲の中心として±１６のサーチ範囲でサーチを行ない動きベクトルＭＶ３を求める。このようにして最後に３フレーム離れた動きベクトルがサーチ範囲±４８に対して求まる。この場合に必要なハード量は±１６のサーチ範囲をカバーするハード量のみでよい。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
図１８にサーチデータの転送量の比較をサーチ範囲が固定の場合とテレスコピックサーチの場合について示す。
【００１８】
サーチ範囲を固定した場合には、この図の（１）に示すように、水平方向に隣接した基準ブロック例えばＲＢ０とＲＢ１では３２×４８はサーチ範囲が重なるため、サーチ範囲が重ならない１６×４８のデータのみを新たに転送すれば良い。
【００１９】
これに対して、テレスコピックサーチの場合には、検索フレーム２及び３においては、基準ブロック毎にサーチ範囲が異なる為に、各基準ブロック毎に±１６のサーチ範囲分（４８×４８）を２５６（＝１６×１６）クロックで転送する必要がある。
【００２０】
つまり、±１６のサーチ範囲でテレスコピックサーチを行なうためには、（４８×４８）／（１６×４８）＝３倍のサーチデータの転送レートを必要とすることになる。この値はサーチ範囲が増大するとさらに大きくなり、例えば±３２の場合にはテレスコピックサーチで必要とする転送レートは、（８０×８０）／（８０×１６）＝５倍となってしまい、データの転送が非常に困難となる。画素データ８ビット、画素クロックを１３．５ＭＨｚとすると、この場合には、（８０×８０／２５６）×１３．５ＭＨｚ×１ｂｙｔｅ＝３３７．５Ｍバイト／ｓｅｃもの転送レートが必要となる。この大きな転送レートはハードを実現する上で大きな障害となる。
【００２１】
また、従来のテレスコピックサーチにおいては、図１９に示すように、斜め右上へ大きく動いたと判断して±１６のサーチ範囲を設定した後、正しい動きベクトルが動きの小さいベクトルであった場合には、±１６のサーチ範囲内で正しい動きベクトルは検出できない。この場合、画像の動きが小さいので視覚的に大きな画質劣化となる。
【００２２】
このように、従来のテレスコピックサーチでは、検索データを転送するために非常に大きなデータ転送レートが必要であるという欠点を持っていた。また、大きく動いたと判断を行ない、正しい動きベクトルが動きの小さいベクトルであった場合には、正しい動きベクトルは検出できず、しかも画像の動きが小さいので、視覚的に大きな画質劣化となる欠点を持っていた。
【００２３】
本発明はこのような問題点に鑑みてなされたものであって、検索データの転送レートを増大させることなくサーチ範囲を拡大できる動きベクトル検出装置及び動きベクトル検出方法を提供するものである。
【課題を解決するための手段】
【００２４】
本発明は、基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、基準フレームの基準ブロックとＮフレーム（Ｎ＞Ｍ）離れた検索フレームの検索ブロックとの動きベクトルを検出する動きベクトル検出装置において、前記基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、前記基準フレームと前記Ｍフレーム離れた検索フレーム間の動きベクトル分布を検出し、検出された前記動きベクトル分布に基づき、前記Ｎフレーム離れた検索フレームにおけるサーチ範囲を設定する設定手段と、前記設定手段により設定されるサーチ範囲において、前記基準フレームの基準ブロックと前記Ｎフレーム離れた検索フレームの検索ブロックとの動きベクトルを検出する動き検出手段と、を有することを特徴とする。
【００２５】
また、本発明は、基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、基準フレームの基準ブロックとＮフレーム（Ｎ＞Ｍ）離れた検索フレームの検索ブロックとの動きベクトルを検出する動きベクトル検出方法であって、前記基準フレームの基準ブロックとＭフレーム離れた検索フレームの検索ブロックとの動きベクトルに基づき、前記基準フレームと前記Ｍフレーム離れた検索フレーム間の動きベクトル分布を検出し、検出された前記動きベクトル分布に基づき、前記Ｎフレーム離れた検索フレームにおけるサーチ範囲を設定し、前記設定されるサーチ範囲における、前記基準フレームの基準ブロックと前記Ｎフレーム離れた検索フレームの検索ブロックとの動きベクトルを検出することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、検索データの転送レートを増加させることなく、動きベクトルのサーチ範囲を拡大することができる。
【００２７】
また、常に動きの小さい部分をカバーしながらサーチ範囲を可変にすることにより、サーチ範囲のモードの判定に誤りがあった場合や、スライスの一部の基準ブロックの動きが他の基準ブロックと動く方向が異なる場合についても画質劣化の目につきやすい、動きの小さなものに対しては対処が可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について、図面を参照しながら、〔１〕動きベクトル検出回路の第１の実施の形態、〔２〕動きベクトル検出回路の第２の実施の形態、〔３〕動きベクトル検出回路の第３の実施の形態、〔４〕動きベクトル検出回路の第４の実施の形態、〔５〕本発明に係る動きベクトル検出回路を備えた撮像記録装置の順序で詳細に説明する。
【００２９】
〔１〕動きベクトル検出回路の第１の実施の形態
図１は本発明を適用した動きベクトル検出回路の第１の実施の形態を示すブロック図である。この動きベクトル検出回路は、基準フレームメモリ１と、検索フレームメモリ２と、動き検出回路３と、動きベクトル分布検出回路４とから構成されている。
【００３０】
基準フレームメモリ１は基準フレームの画像を格納する。検索フレームメモリ２は、検索フレームメモリの画像を格納し、動きベクトル分布検出回路４から送られる検索データ読み出し制御信号ｃにしたがって、検査ブロックのサーチ範囲を設定する。
【００３１】
動き検出回路３は、基準フレームメモリ１から転送されてくる基準ブロックの画像データａと検索フレームメモリ２から転送されてくる検査ブロックの画像データｂとからその基準ブロックの動きベクトルｄを求める。この動きベクトルｄは、従来例と同じくブロックマッチング法により求める。すなわち、基準ブロックと検査ブロックの同じ位置の画素毎の絶対値差分の総和や画素毎の差分の２乗の総和（以下残差という）が最小になる検査ブロックの位置から動きベクトルｄを求める。動き検出回路３は求めた動きベクトルｄをそのときの残差ｅと共に出力する。
【００３２】
動きベクトル分布検出回路４は、動き検出回路３から送られてくる動きベクトルｄと残差ｅとを基に検索データ読み出し制御信号ｃを生成し、検索フレームメモリ２へ供給する。
【００３３】
図２は前述した動き検出回路３のサーチ範囲を説明する図である。この図の（ａ）は、基準ブロックを画像の横方向へ左端から右端へ移動させる操作を上端から下端へと進める場合であり、（ｂ）は基準ブロックを画像の縦方向へ上端から下端へ移動させる操作を左端から右端へと進める場合である。以下の説明では、横方向の連続した基準ブロックを水平スライス、縦方向の連続した基準ブロックを垂直スライスという。
【００３４】
本発明においては、基準フレームと参照フレームとの動きベクトルの分布を水平スライス又は垂直スライス毎に求め、その分布状態に応じて離れたフレームにおけるサーチ範囲を設定する。以下の説明では、図２（ａ）に示した水平スライス毎に動きベクトルの分布を求める場合について説明する。
【００３５】
図２（ａ）において、画像のサイズを７２０×５７６とし、基準ブロックのサイズを１６×１６とすると、５７６／１６＝３６個の水平スライスが形成される。また、１水平スライス当り７２０／１６＝４５個の基準ブロックとなる。ここでは、各水平スライス毎に基準ブロックと１フレーム前の検査ブロックとの動きベクトルを検出し、その分布を求める。そして、その分布状態に応じて２フレーム以上離れた参照フレームにおけるその水平スライスのサーチ範囲を設定する。
【００３６】
例えば、ある水平スライスにおける４５個の動きベクトルの内、上を向いている動きベクトルの数が所定のしきい値を超えている場合には、上方向にサーチ範囲を設定する。
【００３７】
図１８を参照しながら説明したように、テレスコピックサーチでは、検索フレーム２及び３においては、基準ブロック毎にサーチ範囲が異なる為に、各基準ブロック毎に±１６のサーチ範囲分（４８×４８）を２５６（＝１６×１６）クロックで転送する必要がある。これに対して、本実施の形態では、水平スライス毎にサーチ範囲を設定しているため、水平スライス内では水平方向に隣接した基準ブロック同士でサーチ範囲を共有するので、図１８（１）に示した、通常のサーチ範囲を固定した場合と検索画像データの読み出しレートは同一である。
【００３８】
〔２〕動きベクトル検出回路の第２の実施の形態
図３は本発明を適用した動きベクトル検出回路の第２の実施の形態を示すブロック図である。ここで、図１と対応する部分には同一の番号が付してある。
【００３９】
この動きベクトル検出回路は、第１の動き検出回路３−Ａと第２の動き検出回路３−Ｂを備えている。また、第１の動き検出回路３−Ａが出力する動きベクトルｄ１と残差ｅ１、又は第２の動き検出回路３−Ｂが出力する動きベクトルｄ２と残差ｅ２から、スライス毎の動きベクトルの分布を検出し、検索データ読み出し制御信号ｃを生成する動きベクトル分布検出回路４’を備えている。さらに、第１の動き検出回路３−Ａが出力する動きベクトルｄ１と残差ｅ１、及び第２の動き検出回路３−Ｂが出力する動きベクトルｄ２と残差ｅ２から、最終動きベクトルｆを求める比較回路５を備えている。
【００４０】
第１の動き検出回路３−Ａと第２の動き検出回路３−Ｂとは互いに異なるサーチ範囲において動き検出を行うことができる。それぞれの動き検出回路のサーチ範囲は水平垂直方向共に±１６とする。
【００４１】
サーチ範囲を固定とする場合には、一般に水平方向に大きく動く画像が多いことから、水平方向のサーチ範囲が垂直方向のサーチ範囲よりも大きくなるように図４（１）のように設定する。この図において、Ｙ軸の左側に３−Ａと指示した範囲は第１の動き検出回路３−Ａのサーチ範囲であり、Ｙ軸の右側に３−Ｂと指示した範囲は第２の動き検出回路３−Ｂのサーチ範囲である。この場合、第１の動き検出回路３−Ａと第２の動き検出回路３−Ｂのトータルのサーチ範囲は、水平±３２、垂直±１６となり、サーチ範囲の中心に対応する基準ベクトルは、（Ｘ，Ｙ）＝（０，０）となる。
【００４２】
一方、水平スライス単位でサーチ範囲を可変にする場合には、第１の動き検出回路３−Ａのサーチ範囲を固定し、第２の動き検出回路３−Ｂのサーチ範囲を変化させる。これにより、図４（２）に示すように、サーチ範囲を水平±４８、垂直±４８に拡大することが可能となる（詳細は後述する）。
【００４３】
以下図５を参照しながら図３に示した動きベクトル検出回路の動き検出動作を説明する。図５において、３フレーム離れたＰ３からＩ０への動き検出を行なう前に、１フレーム離れたＢ１からＩ０への動き検出を第１の動き検出回路３−Ａを用いて行ない、その残差ｅ１及び動きベクトルｄ１の結果を動きベクトル分布検出回路４’に保存する。また、２フレーム離れたＢ−２からＩ０への動き検出を第２の動き検出回路３−Ｂを用いて行なう。このときのサーチ範囲は、第１の動き検出回路３−Ａ、第２の動き検出回路３−Ｂ共に水平±１６、垂直±１６であり、サーチ範囲の中心に対応する基準ベクトルは、（Ｘ，Ｙ）＝（０，０）である。
【００４４】
次に第１の動き検出回路３−Ａでは、２フレーム離れたＢ２からＩ０への動き検出を行ない、第２の動き検出回路３−Ｂでは、１フレーム離れたＢ−１からＩ０への動き検出を行なう。
【００４５】
そして、次に３フレーム離れたＰ３からＩ０への動き検出を、先に求めて動きベクトル分布検出回路４’に保存しておいたＢ１からＩ０への動き検出の結果を用いて水平スライス毎にサーチ範囲を変えて行なう。
【００４６】
以上の説明では、１フレーム離れた画像の動き検出の結果を用いて３フレーム離れた画像の動き検出をスライス毎にサーチ範囲を変えて行っているが、一般的には、Ｍフレーム又はフィールド離れた画像の動き検出の結果を用いてＮフレーム又はフィールド（Ｎ、ＭはＮ＞Ｍ≧１を満たす整数）離れた画像の動き検出をスライス毎にサーチ範囲を変えて行なう。
【００４７】
図６〜図８は、図３に示した動きベクトル検出回路のサーチ範囲のモードを示す図であり、図９はその動きベクトル検出回路がＰ３からＩ０への動き検出を行なう際の動作を示すフローチャートである。
【００４８】
図９に示すように、始めにステップＳ１においてフレーム間の動き検出を行なう。これは図５を参照しながら既に説明した、Ｂ１からＩ０への１フレーム間の動き検出を行なうことに相当する。
【００４９】
次にステップＳ２において、１フレーム間の動き検出に対する動きベクトル分布を１スライス分作成する。具体的には、水平±１６、垂直±１６（３２×３２）の動きベクトルのサーチ範囲を４×４の大きさの小ブロックに分割し、その小ブロック毎に検出された動きベクトルの数をカウントする。このとき、ある閾値よりも残差の大きい動きベクトルは、信頼性が低いのでカウントしない。
【００５０】
次にステップＳ３において、静止モード（ノーマルモード）かどうかの判定を行なう。Ｃｏｕｎｔ（エリア１）が閾値Ｔｈ１以上であればノーマルモードと判定する。ここで、Ｃｏｕｎｔ（指定領域）という関数は、指定領域に含まれる動きベクトル数の合計を返す関数である。
【００５１】
エリア１は、図６（２）の中心部に網掛けを施した±４のエリアである。このエリアは動きの小さい領域に相当する。すなわち、ステップ１で作成した１スライスの動きベクトルの大多数が動きの小さい動きベクトルである場合にはノーマルモードと判定する。
【００５２】
ステップＳ３においてノーマルモードと判定した場合には、次にステップＳ４においてノーマルモードに設定し、ステップＳ１０においてノーマルモードに応じたサーチ範囲を設定する。
【００５３】
図６（１）は静止モードのサーチ範囲を示す。このサーチ範囲は、図４（１）に示したサーチ範囲固定の場合と同一である。そして、サーチ範囲の中心ベクトルは、それぞれＳＭＶ１＝（ｍｖｘ１，ｍｖｙ１）＝（−１６，０）、ＳＭＶ２＝（ｍｖｘ２，ｍｖｙ２）＝（１６，０）である。
【００５４】
以上ステップＳ３で静止モードであると判定した場合について説明した。ステップＳ３で静止モードでないと判定した場合には、次にステップＳ５で水平，垂直移動モードであるかどうかを判定する。この判定は、図７（２）〜（５）に示すエリア２−１〜２−４毎にそのエリアに含まれる動きベクトルの合計が所定の閾値Ｔｈ２以上であるかどうかを調べることにより行う。
【００５５】
そして、エリア２−１に含まれる動きベクトルの合計がＴｈ２以上であればモード２−１、エリア２−２に含まれる動きベクトルの合計がＴｈ２以上であればモード２−２、エリア２−３に含まれる動きベクトルの合計がＴｈ２以上であればモード２−３、エリア２−４に含まれる動きベクトルの合計がＴｈ２以上であればモード２−４と判定する。
【００５６】
ステップＳ５において水平，垂直移動モード、すなわちモード２−１〜２−４のいずれかであると判定した場合には、次にステップＳ６においてそのモードに設定し、ステップＳ１０においてそのモードに応じたサーチ範囲を設定する。
【００５７】
図７（１）にモード２−１〜２−４のサーチ範囲を示す。この図において、中心部の±１６のサーチ範囲は第１の動き検出回路３−Ａのサーチ範囲であり、それに隣接する２−１〜２−４はそれぞれモード２−１〜２−４における第２の動き検出回路３−Ｂのサーチ範囲である。それぞれのサーチ範囲の中心ベクトルは以下のとおりである。
【００５８】
モード２−１・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（０，１６）
モード２−２・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（１６，０）
モード２−３・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（０，−１６）
モード２−４・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（−１６，０）
ステップＳ５で水平，垂直移動モードでないと判定した場合には、次にステップＳ７で斜め移動モードであるかどうかの判定を行なう。この判定は、図８（２）〜（５）に示すエリア３−１〜３−４毎にそのエリアに含まれる動きベクトルの合計が所定の閾値Ｔｈ３以上であるかどうかを調べることにより行う。
【００５９】
そして、エリア３−１に含まれる動きベクトルの合計がＴｈ３以上であればモード３−１、エリア３−２に含まれる動きベクトルの合計がＴｈ３以上であればモード３−２、エリア３−３に含まれる動きベクトルの合計がＴｈ３以上であればモード３−３、エリア３−４に含まれる動きベクトルの合計がＴｈ３以上であればモード３−４と判定する。
【００６０】
ステップＳ７において斜め移動モード、すなわちモード３−１〜３−４のいずれかであると判定した場合には、次にステップＳ８においてそのモードに設定し、ステップＳ１０においてそのモードに応じたサーチ範囲を設定する。
【００６１】
図８（１）にモード３−１〜３−４のサーチ範囲を示す。この図において、中心部の±１６のサーチ範囲は第１の動き検出回路３−Ａのサーチ範囲であり、その外側の３−１〜３−４はそれぞれモード３−１〜３−４における第２の動き検出回路３−Ｂのサーチ範囲である。それぞれのサーチ範囲の中心ベクトルは以下のとおりである。
【００６２】
モード３−１・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（１６，１６）
モード３−２・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（１６，−１６）
モード３−３・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（−１６，−１６）
モード３−４・・・ＳＭＶ１＝（０，０）、ＳＭＶ２＝（−１６，１６）
ステップＳ７で斜め移動モードでないと判定した場合、つまり静止モード、水平、垂直モード、斜め移動モードのいずれのモードにも判定されなかった場合には、ステップＳ９でノーマルモードに設定する。そして、ステップＳ１０においてノーマルモードに応じたサーチ範囲を設定する。
【００６３】
ステップＳ１０においてサーチ範囲を設定したら、次にステップＳ１１において、３フレーム離れたＰ３からＩ０への動き検出を対応する１水平スライス分、行なう。第１の動き検出回路３−Ａと第２の動き検出回路３−Ｂからの結果は、図３の比較回路５へ入力され、残差の小さい動きベクトルが最終的に動きベクトルｆとして出力される。
【００６４】
次にステップＳ１２において、１フレーム分の処理を終えているかをどうかを判定し、終えていなければ、ステップＳ２へ戻り処理を繰り返す。１フレーム分の処理を終えていれば処理を終える。
【００６５】
このように、本実施の形態によれば常に（０，０）の周辺（ここでは、水平、垂直共に±１６）をカバーしながらサーチ範囲を可変にする。したがって、動きのモードの判定に誤りがあった場合や、スライスの一部の基準ブロックの動きが他の基準ブロックと動く方向が異なる場合についても、画質劣化の目につきやすい、動きの小さなものに対しては対処が可能となる。
【００６６】
この実施の形態では、３種類の動きのモード（静止、水平，垂直移動、斜め移動）を持っているが、より多くの細かいモードを持つように構成してもよい。また、この実施の形態では、１フレーム間のベクトル分布により３フレーム間の動きベクトルを求める実施例を示したが、実際には、Ｍフレーム又はフィールド間の動きベクトルよりＮフレーム又はフィールド間（Ｎ、ＭはＮ＞Ｍ≧１を満たす整数）の動きベクトルを求めることが可能である。
【００６７】
〔３〕動きベクトル検出回路の第３の実施の形態
図１０に本発明を適用した動きベクトル検出回路の第３の実施の形態におけるサーチ範囲を示す。装置の構成はほぼ図３と同じである。ただし、本実施の形態では第１の動き検出回路３−Ａは水平、垂直共±１６のサーチ範囲で従来のテレスコピックサーチを行い、第２の動き検出回路３−Ｂは常に（０，０）を中心として水平、垂直共±１６のサーチ範囲でサーチ範囲固定のサーチを行うので、図３の動きベクトル分布検出回路４’の代わりに、従来のテレスコピックサーチとサーチ範囲固定のサーチに必要な検索データ読み出し制御信号の作成を行う回路を設ける。
【００６８】
このように構成すれば、大きく動いたと判断を行ない、正しい動きベクトルが動きの小さいベクトルであった場合にも、第２の動き検出回路３−Ｂにより正しい動きベクトルの検出が可能となる。
【００６９】
〔４〕動きベクトル検出回路の第４の実施の形態
図１１は本発明を適用した動きベクトル検出回路の第４の実施の形態を示すブロック図である。ここで、図１と対応する部分には同一の番号が付してある。この画像符号化装置の構成は基本的には図１に示した動きベクトル検出回路と同じである。ただし、この装置では、動きベクトル分布検出回路４”は動き検出回路３が出力する動きベクトルｄと残差ｅとを用いるのではなく、外部から動き信号ｇを受け取る。この動き信号ｇは、例えばビデオカメラの手ブレ補正に用いる動きベクトル検出回路や角速度センサーから受け取る。この場合、動き検出回路３におけるサーチ範囲はスライス毎に可変ではなく、全スライスについて同じになる。
【００７０】
〔５〕本発明に係る動きベクトル検出回路を備えた撮像記録装置
図１２に本発明に係る動きベクトル検出回路を備えた撮像記録装置を示す。この図において、符号化回路１２は基本的に図１３のように構成されているが、その内部の動きベクトル検出回路はこれまで説明した図１、図３、又は図１１のように構成されている。この符号化回路１２には、カメラ部１１からビデオ信号と動き信号ｇとが供給される。動き信号ｇは、図１１において説明したものである。そして、符号化回路１２における動きベクトル検出回路を図１又は図３のように構成した場合には、動きベクトル分布検出回路は、動き検出回路から送られてくる動きベクトルと残差、及びカメラ部１１から送られてくる動き信号ｇの双方を用いて、検索フレームメモリの検索データ読み出し制御信号を生成する。
【００７１】
符号化回路１２により符号化されたビデオ信号は変調回路１３において所定の記録変調処理を受け、記録デバイス１４に記録される。記録デバイスとしては、ハードディスク、光磁気ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ Ｖｉｄｅｏ Ｄｉｓｋ）−ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）等を使用する。
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能である。例えば、サーチ範囲を可変とする単位を水平スライスの右半分、左半分のようにしてもよい。この場合には、水平スライスの中心のサーチ範囲の変化する部分でわずかに検索データの読み出しレートの増加が起こるが、水平ブランキング期間で時間的に吸収可能である。このようにサーチ範囲を可変とする単位を小さくすることにより、検索データの読み出しレートは増加するものの細かい動きに対応可能となる。また、本発明は、フィールド間の動きを検出する場合にも適用することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明を適用した動きベクトル検出装置の第１の実施の形態を示すブロック図である。
【図２】図１における動き検出回路のサーチ範囲を説明する図である。
【図３】本発明を適用した動きベクトル検出回路の第２の実施の形態を示すブロック図である。
【図４】図３における動き検出回路のサーチ範囲を説明する図である。
【図５】図３の動きベクトル検出回路の動き検出の例を示す図である。
【図６】図３における動き検出回路の静止モードを示す図である。
【図７】図３における動き検出回路の水平，垂直移動モードを示す図である。
【図８】図３における動き検出回路の斜め移動モードを示す図である。
【図９】図３の動きベクトル検出回路の動作を示すフローチャートである。
【図１０】本発明を適用した動きベクトル検出装置の第３の実施の形態におけるサーチ範囲を示す図である。
【図１１】本発明を適用した動きベクトル検出回路の第４の実施の形態を示すブロック図である。
【図１２】本発明に係る動きベクトル検出回路を備えた撮像記録装置の構成を示すブロック図である。
【図１３】ＭＰＥＧ方式に準拠した画像符号化装置の構成を示すブロック図である。
【図１４】ブロックマッチング法について説明するための図である。
【図１５】ＭＰＥＧにおける動き検出の例を示す図である。
【図１６】フレーム間隔と望ましいサーチ範囲との関係を示す図である。
【図１７】従来のテレスコピックサーチを示す図である。
【図１８】通常のサーチとテレスコピックサーチのデータ転送量を比較する図である。
【図１９】テレスコピックサーチにおいて正しい動きベクトルが検出できない様子を示す図である。
【符号の説明】
【００７３】
１…基準フレームメモリ、２…検索フレームメモリ、３，３−Ａ，３−Ｂ…動き検出回路、４，４’，４”…動きベクトル分布検出回路
【図１】
2007060706.tif 000003
【図２】
2007060706.tif 000004
【図３】
2007060706.tif 000005
【図４】
2007060706.tif 000006
【図５】
2007060706.tif 000007
【図６】
2007060706.tif 000008
【図７】
2007060706.tif 000009
【図８】
2007060706.tif 000010
【図９】
2007060706.tif 000011
【図１０】
2007060706.tif 000012
【図１１】
2007060706.tif 000013
【図１２】
2007060706.tif 000014
【図１３】
2007060706.tif 000015
【図１４】
2007060706.tif 000016
【図１５】
2007060706.tif 000017
【図１６】
2007060706.tif 000018
【図１７】
2007060706.tif 000019
【図１８】
2007060706.tif 000020
【図１９】
2007060706.tif 000021