JP2010122975A - 動きベクトル検出装置及び動きベクトル検出方法 - Google Patents

動きベクトル検出装置及び動きベクトル検出方法 Download PDF

Info

Publication number
JP2010122975A
JP2010122975A JP2008297004A JP2008297004A JP2010122975A JP 2010122975 A JP2010122975 A JP 2010122975A JP 2008297004 A JP2008297004 A JP 2008297004A JP 2008297004 A JP2008297004 A JP 2008297004A JP 2010122975 A JP2010122975 A JP 2010122975A
Authority
JP
Japan
Prior art keywords
motion vector
image data
stage
block
search
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.)
Pending
Application number
JP2008297004A
Other languages
English (en)
Inventor
Shinichi Okada
信一 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008297004A priority Critical patent/JP2010122975A/ja
Publication of JP2010122975A publication Critical patent/JP2010122975A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】多段マッチング法を用いて動きベクトルを検出する際、2ndステップ以降の探索でも、探索範囲を保ちつつ、画像データの転送量を削減することができるようにする。
【解決手段】フレームメモリ1からマクロブロック選択部5により選択されたマクロブロック群の1stステップ動きベクトルV1が指し示す領域SAの合成領域CAの画像データを一度に読み込み、その合成領域CAの画像データから各マクロブロックの2ndステップ動きベクトルV2の探索領域を設定して、各マクロブロックの2ndステップ動きベクトルV2を探索する。
【選択図】図1

Description

この発明は、例えば、動画像を高能率符号化してディジタル伝送するシステムなどに適用され、所定の水平画素数と所定の垂直ライン数に分割されている動画像の各マクロブロック毎に、動きベクトルを検出する動きベクトル検出装置及び動きベクトル検出方法に関するものである。
動画像を圧縮して伝送する技術として動き補償予測を用いるものがあり、動き補償予測を実施するには、動きベクトルの検出が必要である。
動きベクトルを検出する代表的な方法としては、例えば、ブロックマッチング法と呼ばれる方法がある。
ブロックマッチング法は、例えば、現画像をブロック(例えば、16画素×16ライン、あるいは、16画素×8ライン)に分割し、差分絶対値総和等の予測誤差評価基準を用いて、当該ブロックに対して、その予測誤差評価基準値が最も小さくなるブロックを参照画像から求めることで、当該ブロックの動きベクトルを算出する方法である。
ブロックマッチング法による動きベクトルの探索は、探索領域内において、動きベクトルの候補となる点を移動しながら、予測誤差評価基準値を求める操作を行うものであるため、予め、フレームメモリから探索領域の画像データを転送しておく必要があり、探索領域を広く取るほど、メモリ転送のバンド幅を圧迫することになる。
以下の特許文献1には、探索範囲を保ちつつ、動きベクトルを探索する際のメモリ転送量の削減を実現している動きベクトル検出装置が開示されている。
図7はメモリ転送量を削減する方法を示す説明図である。
マクロブロックA1の動きベクトルを探索する際、図7(A)に示すように、マクロブロックA1の探索領域と、隣接マクロブロックA2の探索領域が合成された合成探索領域の画像データを読み込み(フレームメモリから合成探索領域の画像データの転送を受ける)、マクロブロックA1の動きベクトルを探索してから、隣接マクロブロックA2の動きベクトルを探索する。
次のステップでは、図7(B)に示すように、動きベクトルを探索するマクロブロックの対象を右に一つ移動する。即ち、マクロブロックB1と隣接マクロブロックB2を動きベクトルを探索するマクロブロックに設定する。
この場合、マクロブロックB1の探索領域と、隣接マクロブロックB2の探索領域が合成された合成探索領域の画像データを必要とするが、フレームメモリから転送される画像データは、(A)の合成探索領域から(B)の合成探索領域に追加された追加部分領域の画像データのみである。
ここで、動きベクトルを探索する際、動きベクトルを複数段階に分けて探索し、複数段の動きベクトルを合成することで、最終的な動きベクトルを得る多段マッチング法が存在する。
以下、多段マッチング法について簡単に説明する。
多段マッチング法では、例えば、全体で(水平±100,垂直±100)の領域を探索する場合、図8に示すように、マクロブロックの動きベクトルを探索する領域として、1stステップ探索領域((水平±60,垂直±60)の領域)を設定して、動きベクトルv1の探索処理を行う。
この探索処理により、動きベクトルv1が探索されると、その動きベクトルv1が指し示す位置を基点にして、2ndステップ探索領域((水平±40,垂直±40)の領域)を設定して、動きベクトルv2の探索処理を行う。
このようにして、動きベクトルv1,v2を探索すると、動きベクトルv1を動きベクトルv2に足し込むことにより、最終的な動きベクトルを算出する。
ここでは説明の簡単化のため、動きベクトルを2段階で探索するものについて示したが、3段階以上の探索を行うようにしてもよい。
このような多段マッチング法における2ndステップ以降の探索では、動きベクトルの探索の基点がその都度変化するため、上述した特許文献1に開示されている方法のように、動きベクトルの探索の基点が固定されていることを前提とする方法には適用することができない。
特開2007−88922号公報(図4)
従来の動きベクトル検出装置は以上のように構成されているので、多段マッチング法を用いて動きベクトルを検出する場合、2ndステップ以降の探索で、動きベクトルの探索の基点がその都度変化する。このため、2ndステップ以降の探索で、毎回、探索領域の画像データを転送しなければならず、転送データ量が多大になってしまうなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、多段マッチング法を用いて動きベクトルを検出する際、2ndステップ以降の探索でも、探索範囲を保ちつつ、画像データの転送量を削減することができる動きベクトル検出装置及び動きベクトル検出方法を得ることを目的とする。
この発明に係る動きベクトル検出装置は、第1の動きベクトル探索手段により第1段の動きベクトルが探索された複数のブロックの中から、第1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のブロックを選択するブロック選択手段と、画像データ記憶手段からブロック選択手段により選択されたブロック群の第1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、その合成領域の画像データから各ブロックの第2段の動きベクトルの探索領域を設定して、各ブロックの第2段の動きベクトルを探索する第2の動きベクトル探索手段とを設け、動きベクトル合成手段がブロック選択手段により選択された各ブロックの第1段の動きベクトルと第2の動きベクトル探索手段により探索された第2段の動きベクトルを合成するようにしたものである。
この発明によれば、第1の動きベクトル探索手段により第1段の動きベクトルが探索された複数のブロックの中から、第1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のブロックを選択するブロック選択手段と、画像データ記憶手段からブロック選択手段により選択されたブロック群の第1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、その合成領域の画像データから各ブロックの第2段の動きベクトルの探索領域を設定して、各ブロックの第2段の動きベクトルを探索する第2の動きベクトル探索手段とを設け、動きベクトル合成手段がブロック選択手段により選択された各ブロックの第1段の動きベクトルと第2の動きベクトル探索手段により探索された第2段の動きベクトルを合成するように構成したので、多段マッチング法を用いて動きベクトルを検出する際、第2段以降の探索でも、探索範囲を保ちつつ、画像データの転送量を削減することができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による動きベクトル検出装置を示す構成図であり、図において、フレームメモリ1は所定の水平画素数と所定の垂直ライン数(所定のサイズ)に分割されている動画像の各マクロブロックの画像データ(以下、「マクロブロックデータ」と称する)を記憶しているメモリである。なお、フレームメモリ1は画像データ記憶手段を構成している。
フレームメモリI/F2はフレームメモリ1に記憶されている画像データを読み込み、その画像データを1stステップ動きベクトル探索部3や2ndステップ動きベクトル探索部7に転送する処理を実施する。
1stステップ動きベクトル探索部3はフレームメモリ1からフレームメモリI/F2を介してα個(αは1以上の整数)のマクロブロックのマクロブロックデータと、1stステップ動きベクトル(第1段の動きベクトル)の探索領域のデータ(以下、「1stステップ探索領域データ」と称する)とを読み込み、α個のマクロブロックのマクロブロックデータと1stステップ探索領域データのマッチング処理を実施して、α個のマクロブロックの1stステップ動きベクトルを探索する処理を実施する。
なお、フレームメモリI/F2及び1stステップ動きベクトル探索部3から第1の動きベクトル探索手段が構成されている。
1stステップ動きベクトルメモリ4は1stステップ動きベクトル探索部3により探索されたα個のマクロブロックの1stステップ動きベクトルを格納するとともに、そのマクロブロックのマクロブロック番号を格納するメモリである。
マクロブロック選択部5はα個のマクロブロックの中から、α個のマクロブロックの1stステップ動きベクトルが指し示す領域間の距離Lが予め設定された閾値Lrefより短い同士のマクロブロックを選択する処理を実施する。
また、マクロブロック選択部5は2ndステップ動きベクトル探索部7により2ndステップ動きベクトル(第2段の動きベクトル)が探索されるブロックの順序を決定する機能を備えており、マクロブロック選択部5は選択したマクロブロック群の順序が連続するように決定し、マクロブロックの処理順序を並び替えるための並び替え順序情報を画像データ並べ替え部6及び動きベクトル並べ替え部9に出力する処理を実施する。
なお、マクロブロック選択部5はブロック選択手段及び順序決定手段を構成している。
画像データ並べ替え部6はマクロブロック選択部5から出力された並び替え順序情報にしたがって、マクロブロック選択部5により選択されたマクロブロック群に対する2ndステップ動きベクトル探索部7での処理順序が連続するように、フレームメモリI/F2から転送されたマクロブロックデータの順序を並び替えて出力する処理を実施する。
2ndステップ動きベクトル探索部7はフレームメモリ1からフレームメモリI/F2を介してマクロブロック選択部5により選択されたマクロブロック群の1stステップ動きベクトルが指し示す領域の合成領域の画像データ(以下、「合成2ndステップ探索領域データ)を読み込んで、その合成2ndステップ探索領域データから各マクロブロックの2ndステップ動きベクトルの探索領域のデータ(以下、「2ndステップ探索領域データ」と称する)を設定し、画像データ並べ替え部6から出力されたマクロブロックデータと当該2ndステップ探索領域データのマッチング処理を実施して、各マクロブロックの2ndステップ動きベクトルを探索する処理を実施する。
なお、フレームメモリI/F2、画像データ並べ替え部6及び2ndステップ動きベクトル探索部7から第2の動きベクトル探索手段が構成されている。
2ndステップ動きベクトルメモリ8は2ndステップ動きベクトル探索部7により探索された2ndステップ動きベクトルを格納するとともに、当該マクロブロックのマクロブロック番号を格納するメモリである。
動きベクトル並べ替え部9はマクロブロック選択部5から出力された並び替え順序情報にしたがって、2ndステップ動きベクトルメモリ8に格納されている2ndステップ動きベクトルの順序を元の順序に戻して加算器11に出力する処理を実施する。
遅延部10は1stステップ動きベクトル探索部3により探索された1stステップ動きベクトルを加算器11に与えるタイミングが、動きベクトル並べ替え部9から2ndステップ動きベクトルが出力されるタイミングと一致するように、その1stステップ動きベクトルを遅延させる処理を実施する。
加算器11は動きベクトル並べ替え部9から出力された2ndステップ動きベクトルと遅延部10から出力された1stステップ動きベクトルを合成して、最終的な動きベクトルを出力する処理を実施する。
なお、動きベクトル並べ替え部9、遅延部10及び加算器11から動きベクトル合成手段が構成されている。
図2はこの発明の実施の形態1による動きベクトル検出装置の処理内容を示すフローチャートである。
図3は1stステップ動きベクトル及び合成2ndステップ探索領域データを示す説明図である。
次に動作について説明する。
ここでは、説明の簡単化のため、動きベクトルの探索段数が2段である例を説明する。
まず、フレームメモリI/F2は、フレームメモリ1に記憶されているマクロブロックのマクロブロックデータの中から、符号化対象のマクロブロック(n)のマクロブロックデータを読み込み、そのマクロブロックデータを1stステップ動きベクトル探索部3及び画像データ並べ替え部6に転送する。
また、フレームメモリI/F2は、フレームメモリ1からマクロブロック(n)の1stステップ動きベクトルの1stステップ探索領域データ(図示せず)を読み込み、その1stステップ探索領域データを1stステップ動きベクトル探索部3に転送する。
1stステップ動きベクトル探索部3は、フレームメモリI/F2からマクロブロック(n)のマクロブロックデータと1stステップ探索領域データを受けると、図3に示すように、そのマクロブロック(n)のマクロブロックデータと1stステップ探索領域データのマッチング処理を実施することにより、そのマクロブロック(n)の1stステップ動きベクトルV1nを探索する(ステップST1)。
1stステップ動きベクトル探索部3は、マクロブロック(n)の1stステップ動きベクトルV1nを探索すると、その1stステップ動きベクトルV1nをマクロブロック(n)のマクロブロック番号と一緒に1stステップ動きベクトルメモリ4に格納するとともに(ステップST2)、その1stステップ動きベクトルV1nを遅延部10に出力する。
1stステップ動きベクトル探索部3は、マクロブロック(n)の1stステップ動きベクトルV1nを探索すると、α個の1stステップ動きベクトルV1nの探索が完了したか否かを判定する(ステップST3)。
図3では、α=4個の1stステップ動きベクトルV1n,V1n+1,V1n+2,V1n+3を探索する例を示している。
以下、説明の便宜上、α=4である例を説明する。
この時点では、1stステップ動きベクトル探索部3が未だ4個の1stステップ動きベクトルを探索していないので、フレームメモリI/F2がマクロブロック(n+1)のマクロブロックデータと1stステップ探索領域データを読み込み、1stステップ動きベクトル探索部3が、マクロブロック(n)の場合と同様にして、ステップST1〜ST3の処理を繰り返すことにより、マクロブロック(n+1),(n+2),(n+3)の1stステップ動きベクトルV1n+1,V1n+2,V1n+3を探索する。
マクロブロック選択部5は、1stステップ動きベクトル探索部3が4個の1stステップ動きベクトルV1n,V1n+1,V1n+2,V1n+3を1stステップ動きベクトルメモリ4に格納すると、マクロブロック(n)の1stステップ動きベクトルV1nが指し示す領域SAnと、マクロブロック(n+1),(n+2),(n+3)の1stステップ動きベクトルV1n+1,V1n+2,V1n+3が指し示す領域SAn+1,SAn+2,SAn+3と間の距離Ln-(n+1),Ln-(n+2),Ln-(n+3)を算出する(ステップST4)。
例えば、マクロブロック(n)の1stステップ動きベクトルV1nが指し示す領域SAnの2次元座標(例えば、領域SAnの左上の座標)が(x1,y1)で、マクロブロック(n+1)の1stステップ動きベクトルV1n+1が指し示す領域SAn+1の2次元座標(例えば、領域SAn+1の左上の座標)が(x2,y2)である場合、領域SAnと領域SAn+1間の距離Ln-(n+1)は、下記の式(1)のようになる。ただし、式(1)において、SQRT()は平方根を表わす演算式である。
n-(n+1)=SQRT((x1−x2)2+(y1−y2)2) (1)
式(1)では、2乗や平方根の計算をしているが、2乗や平方根の計算を省いて、下記の式(2)のように簡略化してもよい。ただし、式(2)において、ABS()は絶対値を表わす演算式である。
n-(n+1)=ABS(x1−x2)+ABS(y1−y2) (2)
なお、距離を近似する式であれば、式(1)(2)以外の数式を用いてもよいことは言うまでもない。
マクロブロック選択部5は、距離Ln-(n+1),Ln-(n+2),Ln-(n+3)を算出すると、その距離Ln-(n+1),Ln-(n+2),Ln-(n+3)の中で、予め設定された閾値Lrefより短い距離を検索する。
図3では、領域SAnとSAn+3間の距離Ln-(n+3)が閾値Lrefより短く、領域SAnとSAn+1,SAn+2間の距離Ln-(n+1),Ln-(n+2)が閾値Lrefより長い例を示している。
マクロブロック選択部5は、領域SAnとSAn+3間の距離Ln-(n+3)が閾値Lrefより短いことが判明すると、マクロブロック(n)とマクロブロック(n+3)の組み合わせを選択し(ステップST5)、2ndステップ動きベクトル探索部7において、マクロブロック(n)とマクロブロック(n+3)の処理が連続になるように、マクロブロックの処理順序を示す並び替え順序情報を画像データ並べ替え部6及び動きベクトル並べ替え部9に出力する(ステップST6)。
即ち、2ndステップ動きベクトル探索部7における処理順序が、マクロブロック(n),(n+3),(n+1),(n+2)の順番になるように、並び替え順序情報を画像データ並べ替え部6及び動きベクトル並べ替え部9に出力する。
画像データ並べ替え部6は、マクロブロック選択部5から並び替え順序情報を受けると、2ndステップ動きベクトル探索部7における処理順序が、マクロブロック(n),(n+3),(n+1),(n+2)の順番になるように、フレームメモリI/F2から転送されたマクロブロックデータの順序を並び替えて2ndステップ動きベクトル探索部7に出力する。
即ち、画像データ並べ替え部6は、フレームメモリI/F2からマクロブロック(n),(n+1),(n+2),(n+3)の順番でマクロブロックデータの転送を受けているが、マクロブロック(n),(n+3),(n+1),(n+2)の順番にマクロブロックデータを並び替えて2ndステップ動きベクトル探索部7に出力する。
また、マクロブロック選択部5は、マクロブロック(n)とマクロブロック(n+3)の組み合わせを選択した旨の通知(マクロブロック(n),(n+3)のマクロブロック番号と、同一の識別子を付けたマクロブロック(n),(n+3)の1stステップ動きベクトル)をフレームメモリI/F2及び2ndステップ動きベクトル探索部7に出力する。
フレームメモリI/F2は、マクロブロック選択部5からマクロブロック(n)とマクロブロック(n+3)の組み合わせを選択した旨の通知を受けると、マクロブロック(n)の1stステップ動きベクトルV1nが指し示す領域SAnと、マクロブロック(n+3)の1stステップ動きベクトルV1n+3が指し示す領域SAn+3の合成領域CAの画像データである合成2ndステップ探索領域データを2ndステップ動きベクトル探索部7に一度に転送する(ステップST7)。
なお、マクロブロック選択部5により距離が短いマクロブロックの組み合わせが選択されない場合、合成領域CAは各マクロブロックの2ndステップ探索領域と一致する。
2ndステップ動きベクトル探索部7は、フレームメモリI/F2から合成2ndステップ探索領域データを受けると、その合成2ndステップ探索領域データからマクロブロック(n)の2ndステップ探索領域データを抽出するとともに、マクロブロック(n+3)の2ndステップ探索領域データを抽出する。
2ndステップ動きベクトル探索部7は、マクロブロック(n)の2ndステップ探索領域データを抽出すると、画像データ並べ替え部6から出力されたマクロブロック(n)のマクロブロックデータと、その2ndステップ探索領域データのマッチング処理を実施することにより、そのマクロブロック(n)の2ndステップ動きベクトルV2nを探索し(ステップST8)、その2ndステップ動きベクトルV2nを2ndステップ動きベクトルメモリ8に格納する(ステップST9)。
次に、2ndステップ動きベクトル探索部7は、画像データ並べ替え部6から出力されたマクロブロック(n+3)のマクロブロックデータと、マクロブロック(n+3)の2ndステップ探索領域データのマッチング処理を実施することにより、そのマクロブロック(n+3)の2ndステップ動きベクトルV2n+3を探索し(ステップST8)、その2ndステップ動きベクトルV2n+3を2ndステップ動きベクトルメモリ8に格納する(ステップST9)。
2ndステップ動きベクトル探索部7は、マクロブロック(n),(n+3)の2ndステップ動きベクトルV2n,V2n+3を探索すると、フレームメモリ1からフレームメモリI/F2を介して、残りのマクロブロック(n+1),(n+2)の1stステップ動きベクトルV1n+1,V1n+2が指し示す領域SAn+1,SAn+2の画像データである2ndステップ探索領域データの読み込みを行う。
この2ndステップ探索領域データの読み込みは、2ndステップ動きベクトルV2n,V2n+3の探索が完了する前に行っていてもよい。
2ndステップ動きベクトル探索部7は、マクロブロック(n+1),(n+2)の2ndステップ探索領域データを読み込むと、画像データ並べ替え部6から出力されたマクロブロック(n+1)のマクロブロックデータと、マクロブロック(n+1)の2ndステップ探索領域データのマッチング処理を実施することにより、そのマクロブロック(n+1)の2ndステップ動きベクトルV2n+1を探索し(ステップST8)、その2ndステップ動きベクトルV2n+1を2ndステップ動きベクトルメモリ8に格納する(ステップST9)。
次に、2ndステップ動きベクトル探索部7は、画像データ並べ替え部6から出力されたマクロブロック(n+2)のマクロブロックデータと、マクロブロック(n+2)の2ndステップ探索領域データのマッチング処理を実施することにより、そのマクロブロック(n+2)の2ndステップ動きベクトルV2n+2を探索し(ステップST8)、その2ndステップ動きベクトルV2n+2を2ndステップ動きベクトルメモリ8に格納する(ステップST9)。
動きベクトル並べ替え部9は、上記のようにして、α=4個の2ndステップ動きベクトルの探索が完了すると(ステップST10)、マクロブロック選択部5から出力された並び替え順序情報にしたがって、2ndステップ動きベクトルメモリ8に格納されている2ndステップ動きベクトルの順序を元の順序に戻して加算器11に出力する(ステップST11)。
即ち、動きベクトル並べ替え部9は、2ndステップ動きベクトルがV2n,V2n+3,V2n+1,V2n+2の順番で2ndステップ動きベクトルメモリ8に格納されているので、2ndステップ動きベクトルをV2n,V2n+1,V2n+2,V2n+3,の順番に並び替えて加算器9に出力する。
遅延部10は、1stステップ動きベクトル探索部3により探索された1stステップ動きベクトルV1n,V1n+1,V1n+2,V1n+3を加算器11に与えるタイミングが、動きベクトル並べ替え部9から2ndステップ動きベクトルV2n,V2n+1,V2n+2,V2n+3が出力されるタイミングと一致するように、その1stステップ動きベクトルV1n,V1n+1,V1n+2,V1n+3を遅延させる。
加算器11は、遅延部10から出力される1stステップ動きベクトルV1n,V1n+1,V1n+2,V1n+3と、動きベクトル並べ替え部9から出力される2ndステップ動きベクトルV2n,V2n+1,V2n+2,V2n+3とを加算(合成)して、最終的な動きベクトルを出力する(ステップST12)。
図1の動きベクトル検出装置は、加算器11から最終的な動きベクトルが1ピクチャ分出力されるまで、ステップST1〜ST12の処理を繰り返し実施し、1ピクチャ分出力されると、一連の処理を終了する(ステップST12)。
以上で明らかなように、この実施の形態1によれば、1stステップ動きベクトル探索部3により1stステップ動きベクトルV1が探索された複数のマクロブロックの中から、1stステップ動きベクトルV1が指し示す領域SA間の距離が予め設定された閾値より短い同士のマクロブロックを選択するマクロブロック選択部5と、フレームメモリ1からマクロブロック選択部5により選択されたマクロブロック群の1stステップ動きベクトルV1が指し示す領域SAの合成領域CAの画像データを一度に読み込み、その合成領域CAの画像データから各マクロブロックの2ndステップ動きベクトルV2の探索領域を設定して、各マクロブロックの2ndステップ動きベクトルV2を探索する2ndステップ動きベクトル探索部7とを設け、加算器11が1stステップ動きベクトルV1と2ndステップ動きベクトルV2を合成するように構成したので、多段マッチング法を用いて動きベクトルを検出する際、2ndステップ以降の探索でも、探索範囲を保ちつつ、画像データの転送量を削減することができる効果を奏する。
実施の形態2.
上記実施の形態1では、動きベクトルの探索段数が2段である例を示したが、動きベクトルの探索段数が3段以上であってもよい。
この場合、例えば、図4に示すように、1stステップ動きベクトルメモリ4、マクロブロック選択部5、画像データ並べ替え部6、2ndステップ動きベクトル探索部7、2ndステップ動きベクトルメモリ8、動きベクトル並べ替え部9、遅延部10及び加算器11の組である2nd処理部20がN段(Nは2以上の整数)縦続に接続されている必要がある。
ただし、1段目の2nd処理部20の1stステップ動きベクトルメモリ4は、2段目以降では、Nthステップ動きベクトルメモリ4aと称し、1段目の2nd処理部20の2ndステップ動きベクトル探索部7は、2段目以降では、(N+1)thステップ動きベクトル探索部7aと称し、1段目の2nd処理部20の2ndステップ動きベクトルメモリ8は、2段目以降では、(N+1)thステップ動きベクトルメモリ8aと称している。
各段の探索の基点は、その前段までの動きベクトルを順次足し込んだものを使用する必要があるため、例えば、n段目(n=2,・・・,N)のマクロブロック選択部5は、n−1段目の(N+1)thステップ動きベクトル探索部7aにより第n−1段の動きベクトルが探索された複数のマクロブロックの中から、第n−1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のマクロブロックを選択することになる。
また、n段目の(N+1)thステップ動きベクトル探索部7aは、フレームメモリ2からn段目のマクロブロック選択部5により選択された各マクロブロックの第n−1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、その合成領域の画像データから各マクロブロックの第n段の動きベクトルの探索領域を設定して、各マクロブロックの第n段の動きベクトルを探索することになる。
なお、最終段(n=N)の加算器11から出力される最終的な動きベクトルは、全段の動きベクトルを足し込んだものとなる。
実施の形態3.
上記実施の形態1では、1stステップ動きベクトル探索部3がα個の1stステップ動きベクトルV1を探索するものについて示したが、1stステップ動きベクトル探索部3が探索する1stステップ動きベクトルV1の個数が2個であってもよい。
1stステップ動きベクトル探索部3が探索する1stステップ動きベクトルV1の個数を2個に固定すると、画像データ並べ替え部6及び動きベクトル並べ替え部9において、並べ替え処理を実施する必要がなくなる。
即ち、マクロブロック選択部5では、常に、隣同士のマクロブロックの1stステップ動きベクトルV1が指し示す領域SA間の距離を計算することになるので、その距離が予め設定された閾値Lrefより短い場合でも、比較している一方のマクロブロックの処理順序を他のマクロブロックより早める必要がない。
もう少し具体的に説明すると、例えば、隣同士であるマクロブロック(n)の1stステップ動きベクトルV1nが指し示す領域SAnと、マクロブロック(n+1)の1stステップ動きベクトルV1n+1が指し示す領域SAn+1との間の距離Ln-(n+1)を計算し、その距離Ln-(n+1)が予め設定された閾値Lrefより短い場合でも、マクロブロック(n+1)の処理順序が、他のマクロブロック(n+2),(n+3)等より元々早いため、マクロブロック(n+1)の処理順序を変更する必要がない。
したがって、この実施の形態3では、図5に示すように、画像データ並べ替え部6、2ndステップ動きベクトルメモリ8及び動きベクトル並べ替え部9を実装する必要がなく、装置構成を簡略化することができる効果を奏する。
また、マクロブロック選択部5において、並べ替え順序情報を出力する処理が不要になり、処理速度の高速化を図ることも可能になる。
なお、この実施の形態3では、動きベクトルの探索段数が2段である例を示したが、上記実施の形態2と同様に、動きベクトルの探索段数が3段以上であってもよい。
実施の形態4.
上記実施の形態1では、画像データ並べ替え部6が実装されているものを示したが、図6に示すように、画像データ並べ替え部6を省略するようにしてもよい。
この場合、2ndステップ動きベクトル探索部7は、フレームメモリ1からフレームメモリI/F2を介して、マクロブロックデータを読み込むようにする。
即ち、フレームメモリI/F2は、例えば、マクロブロック選択部5からマクロブロック(n)とマクロブロック(n+3)の組み合わせを選択した旨の通知(マクロブロック(n),(n+3)のマクロブロック番号と、同一の識別子を付けたマクロブロック(n),(n+3)の1stステップ動きベクトル)を受けると、上記実施の形態1と同様に、マクロブロック(n)の1stステップ動きベクトルV1nが指し示す領域SAnと、マクロブロック(n+3)の1stステップ動きベクトルV1n+3が指し示す領域SAn+3の合成領域CAの画像データである合成2ndステップ探索領域データを2ndステップ動きベクトル探索部7に一度に転送するが、さらに、図1の画像データ並べ替え部6から出力される順序と同一の順序で、即ち、マクロブロック(n),(n+3),(n+1),(n+2)の順序で、これらのマクロブロックのマクロブロックデータを2ndステップ動きベクトル探索部7に転送する。
この実施の形態4によれば、上記実施の形態1と比べて、データ転送量が多少増加するが、装置構成が簡単化されて、小さな規模での実現が可能になる。
なお、この実施の形態3では、動きベクトルの探索段数が2段である例を示したが、上記実施の形態2と同様に、動きベクトルの探索段数が3段以上であってもよい。
この発明の実施の形態1による動きベクトル検出装置を示す構成図である。 この発明の実施の形態1による動きベクトル検出装置の処理内容を示すフローチャートである。 1stステップ動きベクトル及び合成2ndステップ探索領域データを示す説明図である。 この発明の実施の形態2による動きベクトル検出装置を示す構成図である。 この発明の実施の形態3による動きベクトル検出装置を示す構成図である。 この発明の実施の形態4による動きベクトル検出装置を示す構成図である。 メモリ転送量を削減する方法を示す説明図である。 多段マッチング法を示す説明図である。
符号の説明
1 フレームメモリ(画像データ記憶手段)、2 フレームメモリI/F(第1の動きベクトル探索手段、第2の動きベクトル探索手段)、3 1stステップ動きベクトル探索部(第1の動きベクトル探索手段)、4 1stステップ動きベクトルメモリ、4a Nthステップ動きベクトルメモリ、5 マクロブロック選択部(ブロック選択手段、順序決定手段)、6 画像データ並べ替え部(第2の動きベクトル探索手段)、7 2ndステップ動きベクトル探索部(第2の動きベクトル探索手段)、7a (N+1)thステップ動きベクトル探索部(第2の動きベクトル探索手段)、8 2ndステップ動きベクトルメモリ、8a (N+1)thステップ動きベクトルメモリ、9 動きベクトル並べ替え部(動きベクトル合成手段)、10 遅延部(動きベクトル合成手段)、11 加算器(動きベクトル合成手段)、20 2nd処理部。

Claims (5)

  1. 所定のサイズに分割されている動画像の各ブロックの画像データを記憶する画像データ記憶手段と、上記画像データ記憶手段から複数のブロックの画像データを読み込み、上記複数のブロックの第1段の動きベクトルを探索する第1の動きベクトル探索手段と、上記第1の動きベクトル探索手段により第1段の動きベクトルが探索された複数のブロックの中から、第1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のブロックを選択するブロック選択手段と、上記画像データ記憶手段から上記ブロック選択手段により選択されたブロック群の第1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、上記合成領域の画像データから各ブロックの第2段の動きベクトルの探索領域を設定して、各ブロックの第2段の動きベクトルを探索する第2の動きベクトル探索手段と、上記ブロック選択手段により選択された各ブロックの第1段の動きベクトルと上記第2の動きベクトル探索手段により探索された第2段の動きベクトルを合成する動きベクトル合成手段とを備えた動きベクトル検出装置。
  2. ブロック選択手段、第2の動きベクトル探索手段及び動きベクトル合成手段の組がN段(Nは2以上の整数)縦続に接続されており、n段目(n=2,・・・,N)のブロック選択手段が、n−1段目の第2の動きベクトル探索手段により第n−1段の動きベクトルが探索された複数のブロックの中から、第n−1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のブロックを選択し、n段目の第2の動きベクトル探索手段が、画像データ記憶手段からn段目のブロック選択手段により選択されたブロック群の第n−1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、上記合成領域の画像データから各ブロックの第n段の動きベクトルの探索領域を設定して、各ブロックの第n段の動きベクトルを探索することを特徴とする請求項1記載の動きベクトル検出装置。
  3. 第2の動きベクトル探索手段により第2段の動きベクトルが探索されるブロックの順序を決定する順序決定手段を設け、上記順序決定手段は、ブロック選択手段により選択されたブロック群の順序が連続するように決定することを特徴とする請求項1または請求項2記載の動きベクトル検出装置。
  4. 第1の動きベクトル探索手段が探索する第1段の動きベクトルの個数を2個に限定することを特徴とする請求項1または請求項2記載の動きベクトル検出装置。
  5. 第1の動きベクトル探索手段が、所定のサイズに分割されている動画像の各ブロックの画像データを記憶している画像データ記憶手段から複数のブロックの画像データを読み込み、上記複数のブロックの第1段の動きベクトルを探索する第1の動きベクトル探索ステップと、ブロック選択手段が、上記第1の動きベクトル探索手段により第1段の動きベクトルが探索された複数のブロックの中から、第1段の動きベクトルが指し示す領域間の距離が予め設定された閾値より短い同士のブロックを選択するブロック選択ステップと、第2の動きベクトル探索手段が、上記画像データ記憶手段から上記ブロック選択手段により選択されたブロック群の第1段の動きベクトルが指し示す領域の合成領域の画像データを一度に読み込み、上記合成領域の画像データから各ブロックの第2段の動きベクトルの探索領域を設定して、各ブロックの第2段の動きベクトルを探索する第2の動きベクトル探索ステップと、動きベクトル合成手段が、上記ブロック選択手段により選択された各ブロックの第1段の動きベクトルと上記第2の動きベクトル探索手段により探索された第2段の動きベクトルを合成する動きベクトル合成ステップとを備えた動きベクトル検出方法。
JP2008297004A 2008-11-20 2008-11-20 動きベクトル検出装置及び動きベクトル検出方法 Pending JP2010122975A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008297004A JP2010122975A (ja) 2008-11-20 2008-11-20 動きベクトル検出装置及び動きベクトル検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008297004A JP2010122975A (ja) 2008-11-20 2008-11-20 動きベクトル検出装置及び動きベクトル検出方法

Publications (1)

Publication Number Publication Date
JP2010122975A true JP2010122975A (ja) 2010-06-03

Family

ID=42324250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008297004A Pending JP2010122975A (ja) 2008-11-20 2008-11-20 動きベクトル検出装置及び動きベクトル検出方法

Country Status (1)

Country Link
JP (1) JP2010122975A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07154801A (ja) * 1993-11-29 1995-06-16 Ricoh Co Ltd 階層型動きベクトル検出方法
JP2007228093A (ja) * 2006-02-21 2007-09-06 Toshiba Corp 動き検出装置及び動き検出方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07154801A (ja) * 1993-11-29 1995-06-16 Ricoh Co Ltd 階層型動きベクトル検出方法
JP2007228093A (ja) * 2006-02-21 2007-09-06 Toshiba Corp 動き検出装置及び動き検出方法

Similar Documents

Publication Publication Date Title
US8451898B2 (en) Motion vector estimation apparatus
US6289050B1 (en) Device and method for motion vector detection
US9351014B2 (en) Moving image encoding and decoding system
US8073057B2 (en) Motion vector estimating device, and motion vector estimating method
US20160080768A1 (en) Encoding system using motion estimation and encoding method using motion estimation
US8345764B2 (en) Motion estimation device having motion estimation processing elements with adder tree arrays
TW502535B (en) Methods and apparatus for motion estimation in compressed domain
JPWO2010109636A1 (ja) 情報処理装置およびプログラム
JP5389049B2 (ja) 撮像装置、半導体集積回路、および動きベクトル判定方法
US20140126639A1 (en) Motion Estimation Method
US6990149B2 (en) Circuit and method for full search block matching
US20040247032A1 (en) Motion vector detection device and motion vector detection method
KR101091054B1 (ko) 동화상 부호화에 있어서의 움직임 탐색 장치
JP2004129099A (ja) 動きベクトル探索方法および装置
JP2010122975A (ja) 動きベクトル検出装置及び動きベクトル検出方法
JP4488805B2 (ja) 動きベクトル検出装置および方法
JP2004229150A (ja) 動きベクトル探索方法および装置
JP2009055440A (ja) 画像符号化装置および画像符号化プログラム
JP2006197387A (ja) 動きベクトル探索装置及び動きベクトル探索プログラム
US20040120402A1 (en) Motion estimation apparatus for image data compression
JP2006166061A (ja) 動きベクトル検出方法
JP2011217104A5 (ja)
JP2007097028A (ja) 動きベクトル検出方法および動きベクトル検出回路
JPH08140101A (ja) 動き検出方法及び動き検出装置及び画像送信装置
JP2941751B2 (ja) 動きベクトル検出方法およびその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130326