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

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

Info

Publication number
JP4196447B2
JP4196447B2 JP30147798A JP30147798A JP4196447B2 JP 4196447 B2 JP4196447 B2 JP 4196447B2 JP 30147798 A JP30147798 A JP 30147798A JP 30147798 A JP30147798 A JP 30147798A JP 4196447 B2 JP4196447 B2 JP 4196447B2
Authority
JP
Japan
Prior art keywords
motion vector
field image
search area
cpu
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.)
Expired - Fee Related
Application number
JP30147798A
Other languages
English (en)
Other versions
JP2000134627A (ja
Inventor
裕司 安藤
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP30147798A priority Critical patent/JP4196447B2/ja
Priority to TW088117602A priority patent/TW444507B/zh
Priority to CNB031530427A priority patent/CN1222174C/zh
Priority to CA002314976A priority patent/CA2314976C/en
Priority to EP99947946A priority patent/EP1051040A1/en
Priority to CNB998031798A priority patent/CN1148069C/zh
Priority to AU61242/99A priority patent/AU751909B2/en
Priority to US09/582,156 priority patent/US6594314B1/en
Priority to PCT/JP1999/005735 priority patent/WO2000024202A1/ja
Priority to CNB031530419A priority patent/CN1222173C/zh
Priority to KR1020007006895A priority patent/KR100659627B1/ko
Priority to MYPI99004526A priority patent/MY125635A/en
Publication of JP2000134627A publication Critical patent/JP2000134627A/ja
Application granted granted Critical
Publication of JP4196447B2 publication Critical patent/JP4196447B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、インタレース方式の画像についてMPEG(Moving Picture Image Coding Experts Group)に準拠した画像符号化処理を行うときに用いられる動きベクトルを検出する動きベクトル検出方法及び装置に関する。
【0002】
【従来の技術】
MPEG方式は、画面内におけるDCT(Discrete Cosine Transform)と画像間における動き補償予測と可変長符号化とを組み合わせて動画像データの圧縮を行う符号化方式である。
【0003】
一般に、画像間の動き補償予測においてなされる動きベクトルの検出処理は、所謂ブロックマッチングによって行われていた。このブロックマッチングは、処理の対象となる基準画像において所定の画素数に分割された基準ブロックに対して、参照画像内における同位置を起点として動きベクトルに対応する参照ブロックと上記所定の画素数と同じ画素数を有する領域を抽出し、基準ブロックと参照ブロックの対応する画素の差分の絶対値を演算し、基準ブロック内の全ての画素について差分の絶対値の和を演算する処理を行う。そして、動きベクトルを検出するときには、参照画像の探索領域内で抽出する領域を1画素ずつ移動させながら上述のブロックマッチングを繰り返して行い、上記差分の絶対値の和が最も小さい値を示した点を基点として動きベクトルを検出する。
【0004】
【発明が解決しようとする課題】
しかし、上述のブロックマッチングを行うときは、参照画像についての動きベクトルを求めたときの探索領域と、基準画像についての動きベクトルを求めたときの探索領域と同じサイズの範囲となされて行われている。また、基準画像の動きベクトルを求めるときには、基準ブロックの動きベクトルがある程度予測できる場合であっても、参照画像の動きベクトルを基準として、ある一定の大きさの領域を探索領域として基準画像の動きベクトルを検出していた。
【0005】
更に、上述したブロックマッチングにより動きベクトルを検出する処理は、ブロックマッチングを行うときなされる上記差分の絶対値の和を求める処理についての演算量が非常に膨大となっており、MPEG等の画像圧縮処理の大半の時間がこれに費やされ、ソフトウェアで実現するときの障害となっており、演算量の削減が望まれている。
【0006】
そこで、本発明は、上述したような実情に鑑みて提案されたものであり、インタレース方式のフィールド画像について動きベクトルを検出するときの演算量を削減することができる動きベクトル検出方法及び装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明者は、上述の目的を達成するために鋭意研究を重ねた結果、インタレース方式において、動画像を構成する各フィールド画像についての動きベクトルを検出するとき、トップフィールド画像とボトムフィールド画像との相関が高いことが動きベクトルの予測に用いることが可能であることを見い出した。
【0008】
本発明は、インタレース方式に準拠したフィールド画像についての動きベクトルの検出を行う動きベクトル検出方法において、第1のフィールド画像を用いて、第2のフィールド画像についての動きベクトルを所定の探索領域で検出し、第3のフィールド画像についての動きベクトルを検出するときの探索領域を、上記第2のフィールド画像についての動きベクトルを参照するフィールド画像の動きベクトルとして用い、当該動きベクトルの示す点を中心とした第1の探索領域と、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じて、上記第2のフィールド画像についての動きベクトルを比例配分して示される点を中心とし、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じたサイズの第2の探索領域と、上記第1の探索領域と第2の探索領域とを接続する2つの接続線とで囲まれる面積が最大の第3の探索領域として設定し、上記第1の探索領域及び第2の探索領域を含む上記第3の探索領域で上記第3のフィールド画像についての動きベクトルを検出することを特徴とする。
また、本発明は、 インタレース方式に準拠したフィールド画像についての動きベクトルの検出を行う動きベクトル検出装置において、第1のフィールド画像を用いて、第2のフィールド画像についての動きベクトルを所定の探索領域で検出する第1の動き検出手段と、第3のフィールド画像についての動きベクトルを検出するときの探索領域を、上記第1の動き検出手段により検出された上記第2のフィールド画像についての動きベクトルを参照するフィールド画像の動きベクトルとして用い、当該動きベクトルの示す点を中心とした第1の探索領域と、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じて、上記第2のフィールド画像についての動きベクトルを比例配分して示される点を中心とし、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じたサイズの第2の探索領域と、上記第1の探索領域と第2の探索領域とを接続する2つの接続線とで囲まれる面積が最大の第3の探索領域として設定する探索領域設定手段と、上記探索領域設定手段により設定した上記第1の探索領域及び第2の探索領域を含む上記第3の探索領域で第3のフィールド画像についての動きベクトルを検出する第2の動き検出手段とを備えることを特徴とする。
【0009】
このような動きベクトル検出方法及び装置によれば、フィールド画像について動きベクトルを検出するときの探索領域を、他のフィールド画像についての動きベクトルを用いて変化させて設定し、当該設定した探索領域内でブロックマッチングをして第3のフィールド画像についての動きベクトルを検出する。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0011】
本発明は、例えば図1に示すように構成された動きベクトル検出装置1に適用される。
【0012】
動きベクトル検出装置1は、フィールド画像についてMPEG2規格に準拠した画像符号化処理における動きベクトルの検出する処理を行うCPU(Central Processing Unit)2を備えている。このCPU2は、動きベクトル検出プログラム起動することで、動きベクトルを検出する処理を行う。このCPU2は、動きベクトルを検出するときには、メモリ3に格納された画像データ及び動きベクトル検出プログラムを用いる。このとき、CPU2は、制御信号をメモリ3及びHDD(Hard Disc Drive)4に出力することで、HDD4に格納された画像データ及び動きベクトル検出プログラムをメモリ3に格納するように制御する。
【0013】
また、このCPU2は、画像データについて例えばMPEG方式に準拠した画像圧縮処理を行うときには、I(Intra)ピクチャについてDCT(Discrete Cosine Transform)処理を行うとともに、B(Bidirectionally predictive),P(Predictive)ピクチャを動き補償予測をすることで画像圧縮処理を行う。このとき、CPU2は、一のフィールド画像について動きベクトルを求めるとき、時間的に前後するフィールド画像のフィールド間距離を参照して動きベクトルを探索するときの探索領域を決定する。そして、CPU2は、前記探索領域において例えば8×8画素からなるマクロブロック単位でブロックマッチングを行うことで動きベクトルを検出する。
【0014】
このCPU2は、ブロックマッチングを行うとき、動きベクトルを検出する処理の対象となる基準フィールド画像において所定の画素数に分割された基準ブロックに対して、参照フィールド画像内における同位置を起点として動きベクトルに対応する参照ブロックと上記所定の画素数と同じ画素数を有する領域を基準フィールド画像内から抽出し、基準ブロックと参照ブロックの対応する画素の差分の絶対値を演算し、基準ブロック内の全ての画素について差分の絶対値の和を演算する処理を行う。
【0015】
そして、CPU2は、動きベクトルを検出するとき、参照フィールド画像の探索領域内で抽出する領域を1画素ずつ移動させながら上述のブロックマッチングを繰り返して行い、上記差分の絶対値の和が最も小さい値を示した点を基点として動きベクトルを検出する。なお、このCPU2が行う上記探索領域を演算して動きベクトルを検出する処理の手順の詳細については後述する。
【0016】
メモリ3は、上記CPU2により制御されることで、格納する内容が制御される。このメモリ3は、CPU2からの制御信号に応じてHDD4から動きベクトル検出プログラム及び画像データが格納されるとともに、格納された動きベクトル検出プログラム及び画像データが読み込まれる。
【0017】
HDD4は、画像データ及び動きベクトル検出プログラムを格納する。そして、このHDD4は、CPU2からの制御信号に応じて指定された画像データをメモリ3に出力する。
【0018】
このHDD4に格納される画像データは、図2に示すように、インタレース方式に準拠したトップフィールド画像(T)とボトムフィール画像(B)とが交互に配列された時系列の動画像データである。そして、CPU2は、例えばトップフィールド画像T1と次のトップフィールド画像T2とのフィールド間距離を「1.0」としたとき、トップフィールド画像T1とボトムフィールド画像T2とのフィールド間距離を「1.5」とし、ボトムフィールド画像B1とトップフィールド画像T2とのフィールド間距離を「0.5」とし、ボトムフィールド画像B1とボトムフィールド画像B2とのフィールド間距離を「1.0」として上記探索領域を演算する処理を行う。
【0019】
図1に示したI/F(インターフェイス)回路5は、例えば外部から画像データが入力されるとともに、CPU2からの制御信号に応じて画像データを外部に出力する。このI/F回路5は、例えば外部から画像データが入力されたときには、HDD4に当該画像データを出力する。
【0020】
このように構成された動きベクトル検出装置1は、CPU2により複数のフィールド画像からなる画像データについての動きベクトルを検出するとき、HDD4に格納された動きベクトル検出プログラムを実行することで図3のフローチャートに示すような処理を行う。
【0021】
先ずステップS1において、CPU2は、図4に示すように、探索の起点を(0,0)に設定する処理を行う。すなわち、CPU2は、動きベクトルを検出するためにブロックマッチングを行うときの探索領域の起点を初期の設定として(0,0)とする処理を行う。
【0022】
次のステップS2において、CPU2は、例えば上述の図2に示すようにトップフィールド画像T1を用いてトップフィールド画像T2を動き補償するときに用いる動きベクトルVTTを探索する探索領域S0を、例えば上記起点(0,0)を中心とし点(−32,−32)と点(+32,+32)とを対角点として定義される矩形領域とする。なお、このステップS2において、CPU2は、動きベクトルVTTを検出するときの探索領域を正確に動きベクトルを検出することができる程度の任意のサイズとしても良い。
【0023】
次のステップS3において、CPU2は、上述のステップS2で決定した探索領域内においてブロックマッチングを行うことで動きベクトルVTTを検出する処理を行う。すなわち、CPU2は、例えばトップフィールド画像T1を上記参照フィールド画像とするとともにトップフィールド画像T2を上記基準フィールド画像とし、トップフィールド画像T1に含まれる所定の画素数からなる参照ブロックAを用いて、探索領域内でブロックマッチングを行う。これによりCPU2は、トップフィールド画像T2に含まれる基準ブロックBを探索し、動きベクトルVTTを検出する。
【0024】
次のステップS4において、CPU2は、ボトムフィールド画像B1を参照フィールド画像としボトムフィールド画像B2を基準フィールド画像として動きベクトルVBBを検出する処理に移行する。このとき、CPU2は、図5に示すように、動きベクトルVBBを探索する起点を上述のステップS3で検出した動きベクトルVTTの先端の座標位置(hTT,vTT)に設定する処理を行う。ここで、CPU2は、動きベクトルVTTを検出したときに用いた基準フィールド画像と参照フィールド画像とのフィールド間距離と、ボトムフィールド画像B1とボトムフィールド画像B2とのフィールド間距離とが同じであることから、動きベクトルVTTの先端を伸縮させずに、動きベクトルVBBを探索する起点を動きベクトルVTTの先端の座標位置(hTT,vTT)とする。
【0025】
次のステップS5において、CPU2は、上述のステップS4で設定した座標位置(hTT,vTT)を中心とした所定の画素数からなる図5中の探索領域SBBを設定する。ここで、CPU2は、例えば点(hTT,vTT)を中心とし点(hTT−4,vTT−4)と点(hTT+4,vTT+4)とを対角点として定義される矩形領域を探索領域SBBとする。なお、このステップS5において、CPU2は、動きベクトルVBBを検出するときの探索領域SBBを任意の画素数としても良い。
【0026】
次のステップS6において、CPU2は、上述のステップS5において設定した探索領域SBBにおいて上述のステップS3と同様にブロックマッチングを行うことで動きベクトルVBBを検出する処理を行う。
【0027】
次のステップS7において、CPU2は、トップフィールド画像T1を参照フィールド画像としボトムフィールド画像B2を基準フィールド画像として動きベクトルVTBを検出する処理に移行する。このとき、CPU2は、図6に示すように、動きベクトルVTBを探索する起点を、上述のステップS3で検出した動きベクトルVTTの長さを1.5倍した座標位置に設定する処理を行う。すなわち、CPU2は、トップフィールド画像T1とトップフィールド画像T2とのフィールド間距離と、トップフィールド画像T1とボトムフィールド画像B2とのフィールド間距離とが、1.5倍であることから、動きベクトルVTBを探索する起点を座標位置(1.5hTT,1.5vTT)に設定する処理を行う。
【0028】
次のステップS8において、CPU2は、上述のステップS7で設定した座標位置(1.5hTT,1.5vTT)を中心とし、上述のステップS5で設定した探索領域の1.5倍の画素数からなる探索領域STBを設定する。すなわち、CPU2は、座標(1.5hTT,1.5vTT)を中心とし座標(1.5hTT−6,1.5vTT−6)と座標(hTT+6,vTT+6)とを対角点として定義される矩形領域を探索領域STBとする。
【0029】
次のステップS9において、CPU2は、上述のステップS8において設定した探索領域STBにおいて上述のステップS3と同様にブロックマッチングを行うことで動きベクトルVTBを検出する処理を行う。
【0030】
次のステップS10において、CPU2は、ボトムフィールド画像B1を参照フィールド画像としトップフィールド画像T2を基準フィールド画像として動きベクトルVBTを検出する処理に移行する。このとき、CPU2は、図7に示すように、動きベクトルVBTを探索する起点を、上述のステップS3で検出した動きベクトルVTTの長さを0.5倍した座標位置に設定する処理を行う。すなわち、CPU2は、トップフィールド画像T1とトップフィールド画像T2とのフィールド間距離と、ボトムフィールド画像B1とトップフィールド画像T2とのフィールド間距離とが、0.5倍であることから、動きベクトルVBTを探索する起点を座標位置(0.5hTT,0.5vTT)に設定する処理を行う。
【0031】
次のステップS11において、CPU2は、上述のステップS10で設定した座標位置(0.5hTT,0.5vTT)を中心とし、上述のステップS5で設定した探索領域の0.5倍の画素数からなる探索領域SBTを設定する。すなわち、CPU2は、座標(0.5hTT,0.5vTT)を中心とし座標(0.5hTT−2,0.5vTT−2)と座標(hTT+2,vTT+2)とを対角点として定義される矩形領域を探索領域SBTとする。
【0032】
次のステップS12において、CPU2は、上述のステップS11において設定した探索領域SBTにおいて上述のステップS3と同様にブロックマッチングを行うことで動きベクトルVBTを検出する処理を行う。
【0033】
このような処理を行った結果、CPU2は、トップフィールド画像T2についての動きベクトルをトップフィールド画像T1とボトムフィールド画像B1との2つのフィールド画像から予測した2つの動きベクトルを得る。そして、CPU2は、これらの2つの動きベクトルから最適な動きベクトルを選択して、トップフィールド画像T2についての動きベクトルとする。また、CPU2は、ボトムフィールド画像B2についての動きベクトルについても、トップフィールド画像T1とボトムフィールド画像B1の2つのフィールド画像から予測した動きベクトルのうち最適な動きベクトルを選択することになる。
【0034】
このような処理を行うCPU2を備えた動きベクトル検出装置1は、インタレース方式に準拠したフィールド画像について動きベクトルを検出する処理を行うとき、上述のステップS1〜ステップS3で示したように、先ず動きベクトルVTTを検出して他の動きベクトルVBB、VBT、VTBを検出するとき、上記動きベクトルVTTの先端位置を探索の起点とするとともに、フィールド間距離に応じてブロックマッチングを行って他の動きベクトルVBB、VBT、VTBを検出するときの探索領域を変化させるので、トップフィールド画像とボトムフィールド画像との相関を利用し探索領域の画素サイズを縮小することができる。したがって、この動きベクトル検出装置1によれば、探索領域の画素サイズを縮小することにより、動きベクトルを検出する演算量を削減することができるとともに、処理時間を短縮することができる。
【0035】
なお、上述したCPU2の処理の説明においては、先ず動きベクトルVTTを検出して他の動きベクトルVBB、VBT、VTBを検出するときの探索領域をことを説明したが、動きベクトル検出装置1は、先ず動きベクトルVTT、VBB、VBT、VTBのいずれかの動きベクトルを検出し、フィールド間距離に比例して他の動きベクトルを検出するときの探索領域の画素サイズを変化させても良い。
【0036】
また、上述したCPU2の処理の処理の説明においては、各フィールド画像についての動きベクトルを求めるとき、時間的に前に配置されたいずれかのフィールド画像を用いて動きベクトルを求める一例、すなわち例えばトップフィールド画像T2についての動きベクトルを求めるときにはトップフィールド画像T1及びボトムフィールド画像B1を用いて動きベクトルVTT及び動きベクトルVTBを求めることを説明したが、動きベクトルVTTと動きベクトルVTBのうちいずれか1つの動きベクトルのみを求めて各フィールド画像についての動きベクトルとしても良い。
【0037】
更に、CPU2は、上述したように動きベクトル検出プログラムに従ってブロックマッチングを行って動きベクトルを検出する探索領域を、ボトムフィールド画像とトップフィールド画像との相関を利用して設定する場合のみならず、内部にメモリを備え、基準フレームと時間的に近接する参照フィールド画像に含まれる参照ブロックの動きベクトルを示す点を中心とした第1の探索領域を決定し、上記参照ブロックの動きベクトルをフィールド又はフレーム間距離に応じて延長した点を中心とした第2の探索領域を設定しても良い。そして、CPU2は、基準フィールド画像を構成する各基準ブロック毎に、ブロックマッチングを行う探索領域であることを示すフラグを生成して上記メモリに格納して動きベクトルの検出を行う。これにより、CPU2は、基準フィールド画像に対応したフラグが存在するか否かを判断するためのマップを上記メモリに生成する。
【0038】
このとき、CPU2は、例えば「1」をブロックマッチングを行うフラグとし、「0」をブロックマッチングを行わないフラグとしてマップを作成する。そして、CPU2は、フラグからなるマップを参照して、設定した探索領域内でブロックマッチングを行って動きベクトルの検出を行う。
【0039】
つぎに、上述したようにフラグを生成して、1つの基準ブロックについて動きベクトルを検出するときのCPU2の処理について図8及び図9のフローチャートを用いて説明する。
【0040】
先ず、ステップS21において、CPU2は、マクロブロック単位の参照ブロックについて動きベクトルが存在するか否かを判定する。そして、CPU2は、参照ブロックに動きベクトルが存在すると判定したときにはステップS2に進み、参照ブロックに動きベクトルが存在しないと判定したときにはステップS23に進む。
【0041】
次のステップS22において、CPU2は、上記動きベクトル探索領域の中心位置を参照ブロックの動きベクトルの先端位置に設定する。すなわち、CPU2は、上記中心位置から所定の画素数の矩形領域を動きベクトル探索領域として設定し、ブロックマッチングを行うことを示すフラグからなるマップを作成する領域として設定する。
【0042】
次のステップS24において、CPU2は、図10に示すように、上述のステップS22において設定した動きベクトル探索領域の中心位置を上記メモリに格納するフラグからなるマップの中心位置とし、(−Sh,−Sv)と(+Sh,+Sv)を対角点とした矩形領域をマップのベースエリアとして設定する。すなわち、このCPU2は、上記ベースエリア内においてブロックマッチングを行うことを示す「1」のフラグ又はブロックマッチングを行わないことを示す「0」のフラグからなるマップを内部のメモリに作成することになる。
【0043】
次のステップS25において、CPU2は、参照ブロックの動きベクトルの先端を中心とした所定の画素数を占める領域を第1の探索領域とするとともに、参照ブロックの動きベクトルから延長した点を中心位置として第2の探索領域を設定する。このとき、CPU2は、動きベクトルを検出する対象となる基準フレームと上記参照ブロックの動きベクトルが存在する参照フレームとのフレーム間距離に応じて、参照ブロックの動きベクトルから延長した点の位置を決定し、当該決定した点を中心とした第2の探索領域の大きさを決定する。すなわち、このCPU2は、基準フレームと参照フレームとの距離に比例した大きさの領域を第2の探索領域の大きさとして設定する。そして、このCPU2は、第1の探索領域及び第2の探索領域を設定したことに応じて、ブロックマッチングを行うことを示すフラグを生成する。更に、CPU2は、設定した第1の探索領域と第2の探索領域とを接続する接続線を設定し、上記第1の探索領域、第2の探索領域及び接続線で囲んだ領域を動きベクトル探索領域とし、フラグを生成する。
【0044】
この結果、CPU2は、上述したように設定した第1の探索領域及び第2の探索領域を例えば円形とし、第2の探索領域の大きさをフレーム間距離に応じて半径を大となるように設定し、接続線として第1の探索領域と第2の探索領域とを接続する接線で囲まれてなる動きベクトル探索領域を示すフラグをメモリのベースエリア内でマッピングすることにより、図11に示すような第1の探索領域A、第2の探索領域B及び接続線Cで囲まれた動きベクトル探索領域を示すマップをメモリ内に作成する。なお、この図11において、網掛け部分はフラグが「1」の動きベクトル探索領域を示し、白抜き部分はフラグが「0」の領域を示している。
【0045】
一方、上述のステップS21で参照ブロックに動きベクトルが存在しないと判定されたステップS23において、CPU2は、動きベクトル探索領域の中心位置を基準ブロック内の座標(0,0)に設定する。
【0046】
次のステップS26において、CPU2は、上述のステップS23において設定した動きベクトル探索領域の中心を中心位置とし、(−Sh,−Sv)と(+Sh,+Sv)を対角点とした矩形領域をマップのベースエリアとして設定してステップS27に進む。すなわち、CPU2は、ステップS21で参照ブロックに動きベクトルが存在しないと判定されたことから、動きベクトル探索領域の中心を上記矩形領域の中心位置とし、(−Sh,−Sv)と(+Sh,+Sv)を対角点とした矩形領域を動きベクトル探索領域としてメモリにマップを作成する。
【0047】
ステップS27において、CPU2は、上述のステップS25又はステップS26で作成されたマップにおける上記ベースエリアの左上の座標位置を初期位置として指定する。すなわち、このCPU2は、動きベクトルを検出するときに行うブロックマッチングの探索位置を上記ベースエリアの左上の座標(H,V)から開始する。ここで、H及びVは、上記マップにおける座標位置を示す変数である。
【0048】
次のステップS28において、CPU2は、動きベクトルを検出する基準フレームからマクロブロック単位の基準ブロックの画像データをメモリ3から読み込む。
【0049】
次のステップS29において、CPU2は、メモリに格納されているマップから座標(H,V)におけるフラグを読み出す。
【0050】
次のステップS30において、CPU2は、上述のステップS29において読み出したフラグが「1」又は「0」かを判定する。すなわち、このCPU2は、メモリに格納されたマップの座標位置に対応した基準ブロックの画素と参照ブロックの画素とを用いてブロックマッチングを行うか否かを判定する。そして、CPU2は、フラグが「1」である場合、すなわちブロックマッチングを行うときには図9に示すステップS31に進み、フラグが「0」である場合、すなわちブロックマッチングを行わないときには図9に示すステップS35に進む。
【0051】
ステップS31において、CPU2は、参照フレームから座標(H,V)に相当する参照ブロックの画像データをメモリ3から読み出す。
【0052】
次のステップS32において、CPU2は、上述のステップS28で読み出した上記座標(H,V)に対応する基準ブロックの画像データと、上述のステップS31で入力された座標(H,V)に相当する参照ブロックの画像データとを比較することにより基準ブロックを構成する各画素と参照ブロックを構成する各画素との差分を演算し、差分の絶対値和を演算する。
【0053】
次のステップS33において、CPU2は、上述のステップS32で求めた差分の絶対値和が最小であるか否かを判定する。そして、CPU2は、差分の絶対値和が最小であると判定したときにはステップS34に進んで差分の絶対値和を最小値として座標(H,V)を記憶し、最小でないと判定したときにはステップS35に進む。これにより、CPU2は、動きベクトルを検出する。
【0054】
そして、ステップS35において、CPU2は、マップの座標(H,V)をインクリメントすることで次の画素を指定し、ステップS36においてマップの座標が右下、すなわち座標が(Right,Bottom)であるかを判定する。そして、CPU2は、マップの座標が右下でないと判定したときにはステップS35で指定した画素についてステップS29以降の処理を行い、マップの座標が右下であると判定したときには、基準ブロックについて動きベクトルを検出する処理を終了する。
【0055】
このように動きベクトル検出装置1は、ある基準ブロックについて動きベクトルを検出するとき、ステップS25において参照ブロックの動きベクトルを用いてブロックマッチングを行う領域を決定し、ステップS29からステップS36までの処理を繰り返すことでフラグが生成された座標についてのみブロックマッチングを行い、ステップS32で演算した差分の絶対値和が最小であるときの参照ブロックの座標を用いて基準ブロックの動きベクトルを検出する。
【0056】
したがって、このような処理を行う動きベクトル検出装置1は、上述のステップS25で説明したように、参照ブロックの動きベクトルを用いて、第1の探索領域及び第2の探索領域を設定し、当該第1の探索領域及び第2の探索領域を含む探索領域のみでブロックマッチングを行うので、参照ブロックを用いないで探索領域を設定した場合と比較して探索範囲を縮小することができる。したがって、この動きベクトル検出装置1によれば、ブロックマッチングを行う回数を削減することができ、動きベクトルを検出するための演算量を大幅に削減することができる。
【0057】
更に、上述した処理を行う動きベクトル検出装置1によれば、動きベクトルの検出処理の精度を保持しつつ演算量を削減することができ、処理時間を短縮することができる。
【0058】
更にまた、CPU2は、上述したようにボトムフィールド画像とトップフィールド画像との相関を利用した探索領域を設定する処理を行う動きベクトル検出プログラムと併用することで、更に探索領域を縮小して、ブロックマッチングを行う回数を削減することができる。
【0059】
なお、上述した動きベクトル検出装置1の処理の説明においては、図11に示すように、ステップS25において第1の探索領域A及び第2の探索領域Bを円形領域とした一例について説明したが、動きベクトル検出装置1は、図12に示すように第1の探索領域と第2の探索領域を矩形領域とし、第1の探索領域と第2の探索領域とを接続する直線と前記第1の探索領域及び第2の探索領域とで囲む上記動き探索領域内で動きベクトルを検出する処理を行っても良い。このように、第1の探索領域及び第2の探索領域を矩形領域とすることにより、動きベクトル検出装置1は、円形領域の探索領域を設定する場合と比較して、探索領域を設定するための処理量を削減することができ、更に処理時間を短縮することができる。
【0060】
更に、CPU2は、上述のように、トップフィールド画像とボトムフィールド画像との相関を利用して探索領域を設定するする場合及び時間的に前後するフレーム又はフィールドの相関を利用して探索領域を決定する場合のみならず、後述するように、相互に隣接する画素ブロックの動きベクトルにおける相関が高いことを利用して探索領域を設定しても良い。
【0061】
このとき、CPU2は、フィールド画像又はフレーム画像について動きベクトルを求めるときには、動きベクトルを探索するときの探索領域を設定し、前記探索領域において例えば8×8画素からなるマクロブロック単位でブロックマッチングを行うことで動きベクトルを検出する。具体的には、CPU2は、動きベクトル検出プログラムに従って、マクロブロック毎にフレーム画像を分割し、相互に隣接するマクロブロックの動きベクトルを用いてブロックマッチングを行うときの探索領域を設定する。
【0062】
すなわち、CPU2は、動きベクトルを検出するときには、先ず図13中の網掛け部分で示すように1つおきにマクロブロックを所定の探索領域でブロックマッチングを行うことで動きベクトルを検出する処理を行う。続いて、CPU2は、図13中の白抜き部分におけるマクロブロックを上記網掛け部分におけるマクロブロックについての動きベクトルを用いて探索領域を演算し、当該探索領域でブロックマッチングを行うことで白抜き部分のマクロブロックについての動きベクトルを検出する処理を行う。
【0063】
このように構成された動きベクトル検出装置1は、CPU2によりフレーム画像の画像データについて動きベクトルを検出するとき、HDD4に格納された動きベクトル検出プログラムを実行することで図14及び図15のフローチャートに示すような処理を行う。
【0064】
先ずステップS41において、CPU2は、図16に示すような複数のマクロブロックが水平方向に配列されてなるライン(Line)のアドレスを指定することでラインの番号(No.)を指定する処理を行う。ここで、CPU2は、マクロブロック(MB)が水平方向に配列する複数のラインのうち、最も上部に位置するライン「0」の番号を指定する。ここで、上記ラインの番号は、上部から0,1,2,・・・,ボトム(Bottm)からなる。
【0065】
次のステップS42において、CPU2は、上述のステップS41において指定したライン「0」のうち、動きベクトルを検出するマクロブロックの番号「0」を指定する処理を行う。各ラインを構成する複数のマクロブロックの番号は、左端から右端に向かって、0,1,2,・・・,ライト(Right)からなる。
【0066】
次のステップS43において、CPU2は、上述のステップS42で指定された番号のマクロブロックについて探索領域を設定する。ここで、CPU2は、探索領域を所定の画素数からなるサーチレンジRに設定する。このとき、CPU2は、例えばマクロブロックの中心位置を示す座標から(±R,±R)の対角点を有する矩形領域を探索領域として設定する。また、CPU2は、例えばサーチレンジRの探索領域として、32×32画素からなる矩形領域を設定する。そして、このCPU2は、所定の画素数からなる探索領域において時間的に前後するフレーム画像の対応するマクロブロックを用いて上述したブロックマッチングを行うことで動きベクトルを検出する処理を行う。
【0067】
次のステップS44において、CPU2は、上述のステップS43において動き検出を行ったマクロブロックと水平方向の左右に2つの番号だけずれたマクロブロックを指定する処理を行う。
【0068】
次に、ステップS45において、CPU2は、上述のステップS44で指定したマクロブロックが、フレーム画像の右端に位置するか否かを判断する。そして、CPU2は、指定したマクロブロックがフレーム画像の右端に位置すると判断したときにはステップS46に進み、右端に位置しないと判断したときにはステップS43に戻る。すなわち、CPU2は、上述のステップS43〜ステップS45に示す処理を行うことにより、指定したラインのうち、左端に位置するマクロブロックから右端に向かって2つの番号毎に上記ステップS43で説明した所定の探索領域で動きベクトルを検出する処理を行う。
【0069】
次のステップS46において、CPU2は、上述のステップS42で指定した番号「0」のマクロブロックに右側に隣接する番号「1」のマクロブロックを指定する処理を行う。
【0070】
次のステップS47において、CPU2は、上述のステップS46又は後述のステップS54で指定された番号におけるマクロブロックの右側に隣接するマクロブロックが存在するか否かを判断する。そして、CPU2は、指定した番号におけるマクロブロックの右側に隣接するマクロブロックが存在しないと判断したときにはステップS48に進み、指定した番号におけるマクロブロックの右側に隣接するマクロブロックが存在すると判断したときにはステップS49に進む。
【0071】
ステップS48において、CPU2は、上述のステップS47において右側に隣接するマクロブロックが存在しないと判断されたマクロブロックについて、上述のステップS43における上記所定の探索領域を設定して、当該探索領域でブロックマッチングを行うことで動きベクトルを検出する処理を行ってステップS54に進む。
【0072】
一方、ステップS49において、CPU2は、上述のステップS46又は後述のステップS54で指定したマクロブロックの両側に隣接するマクロブロックの動きベクトルの差分を演算し、当該差分の絶対値ΔVを演算する。ここで、上記動きベクトルの差分の絶対値ΔVは、マクロブロックの両側に隣接するマクロブロックの動きベクトルの指し示す方向が略同方向であるときには小さな値となり、マクロブロックの両側に隣接するマクロブロックの動きベクトルの指し示す方向が異なるほど大きな値となる。
【0073】
次のステップS50において、CPU2は、上述のステップS49で演算して得た差分の絶対値ΔVがサーチレンジrよりも十分に大きいか否かを判断する。ここで、「r」は任意の値であり、サーチレンジrとは点(−r,−r)と点(+r,+r)とを対角点に有する矩形領域である。また、このサーチレンジrで定義される矩形領域は、上述したステップS43におけるサーチレンジRで定義される矩形領域よりも占める領域が小さく、例えば6×6画素からなる矩形領域である。そして、CPU2は、差分の絶対値ΔVがサーチレンジrよりも十分に大きいとき、すなわち隣接するマクロブロックの各動きベクトルの指し示す方向が異なる場合にはステップS51に進み、差分の絶対値ΔVがサーチレンジrよりも十分に大きくないとき、すなわち隣接するマクロブロックの各動きベクトルの指し示す方向が略同方向である場合にはステップS52に進む。
【0074】
ステップS51において、CPU2は、上述のステップS46又は後述のステップS54で指定されたマクロブロックの水平方向における両側に隣接するマクロブロックについての各動きベクトルを図16に示すように指定されたマクロブロックの左上の座標位置とし、指し示す点を中心としてサーチレンジrで定義される探索領域A,Bをそれぞれ設定する。そして、CPU2は、各探索領域A,Bにおいてブロックマッチングを行うことで動きベクトルを検出してステップS54に進む。
【0075】
一方、ステップS52において、CPU2は、ステップS46又はステップS54で指定されたマクロブロックの水平方向における両側に隣接するマクロブロックについての各動きベクトルを用いて、図17に示すような平均動きベクトルAveV(h,v)を演算する。
【0076】
次のステップS53において、CPU2は、平均動きベクトルAveV(h,v)の先端が指し示す座標位置(h,v)を中心とし、点(−r,−r)と点(+r,+r)とを対角点とした矩形の探索領域Cを設定する。そして、CPU2は、設定した探索領域Cにおいてブロックマッチングを行うことでステップS46又はステップS54で指定したマクロブロックについての動きベクトルを検出する。
【0077】
次のステップS54において、CPU2は、上述のステップS53で動きベクトルを検出したマクロブロックから水平方向における右側に向かって2番号だけ進める処理を行う。
【0078】
次のステップS55において、CPU2は、上述のステップS54で指定した番号のマクロブロックがラインにおける右端に位置するか否かを判断する。そして、CPU2は、指定したマクロブロックがラインにおける右端に位置すると判断したときにはステップS56に進み、指定したマクロブロックがラインにおける右端に位置しないと判断したときにはステップS47に戻る。すなわち、CPU2は、上述のステップS42〜ステップS55までの処理を繰り返すことにより、上述の処理を行っているラインを構成する全てのマクロブロックについて動きベクトルを検出する。
【0079】
ステップS56において、CPU2は、上述したステップS43からステップS55までの処理を行ったラインから2つの番号だけボトムに向かって進めて新たなラインを指定する処理を行う。
【0080】
次のステップS57において、CPU2は、上述のステップS56で指定したラインの番号がボトムであるか否かを判断する。そして、CPU2は、指定したラインがボトムであると判断したときには図15に示すステップS58に進み、指定したラインがボトムでないと判断したときにはステップS42に戻って指定したラインについて上述のステップS42〜ステップS55に示す処理を行う。すなわち、CPU2は、ステップS41〜ステップS57までの処理を行うことで、フレーム画像の番号「0」のラインからボトムのラインに向かって2つの番号毎に上述のステップS42〜ステップS55に示す処理を行う。
【0081】
次のステップS58において、CPU2は、図13に示すような複数のマクロブロックが垂直方向に配列されてなるラインの番号を指定する処理を行う。ここで、CPU2は、マクロブロックが水平方向に配列する複数のラインのうち、上端から1つの番号だけ下側に隣接するライン「1」の番号を指定する。
【0082】
次のステップS59において、CPU2は、上述のステップS58において指定したライン「1」のうち、動きベクトルを検出するマクロブロックの番号「0」を指定する処理を行う。
【0083】
次のステップS60において、CPU2は、上述のステップS59で指定したマクロブロックの下側にマクロブロックが存在するか否かを判断する。そして、CPU2は、指定したマクロブロックの下側にマクロブロックが存在しないと判断したときにはステップS61に進み、指定したマクロブロックの下側にマクロブロックが存在すると判断したときにはステップS62に進む。
【0084】
ステップS61において、CPU2は、上述のステップS60において下側に隣接するマクロブロックが存在しないと判断されたマクロブロックについて、上述のステップS43におけるサーチレンジRの探索領域を設定して、当該探索領域でブロックマッチングを行うことで動きベクトルを検出する処理を行ってステップS67に進む。
【0085】
一方、ステップS62において、CPU2は、上述のステップS59又は後述のステップS67で指定したマクロブロックの垂直方向において隣接するマクロブロックの動きベクトルの差分を演算し、当該差分の絶対値ΔVを演算する。
【0086】
次のステップS63において、CPU2は、上述のステップS62で演算して得た差分の絶対値ΔVがサーチレンジrよりも大きいか否かを判断する。そして、CPU2は、差分の絶対値ΔVがサーチレンジrよりも小さいときにはステップS65に進み、差分の絶対値ΔVがサーチレンジrよりも小さくないときにはステップS64に進む。
【0087】
ステップS64において、CPU2は、上述のステップS59又は後述のステップS67で指定されたマクロブロックの垂直方向において隣接するマクロブロックについての各動きベクトルを図18に示すように指定されたマクロブロックの左上の座標位置とし、指し示す点を中心としてサーチレンジrで定義される探索領域D,Eをそれぞれ設定する。そして、CPU2は、各探索領域D,Eにおいてブロックマッチングを行うことで動きベクトルを検出する。
【0088】
一方、ステップS65において、CPU2は、ステップS59又はステップS67で指定されたマクロブロックの垂直方向において隣接するマクロブロックについての各動きベクトルを用いて、図19に示すような平均動きベクトルAveV(h,v)を演算する。
【0089】
次のステップS66において、CPU2は、平均動きベクトルAveV(h,v)の先端が指し示す座標位置(h,v)を中心とし、点(−r,−r)と点(+r,+r)とを対角点とした矩形の探索領域Fを設定する。そして、CPU2は、設定した探索領域においてブロックマッチングを行うことでステップS59又はステップS67で指定したマクロブロックについての動きベクトルを検出する。
【0090】
次のステップS67において、CPU2は、上述のステップS66で動きベクトルを検出したマクロブロックから水平方向における右側に向かって1つの番号だけ進める処理を行う。
【0091】
次のステップS68において、CPU2は、上述のステップS67で指定した番号のマクロブロックがラインにおける右端に位置するか否かを判断する。そして、CPU2は、指定したマクロブロックがラインにおける右端に位置すると判断したときにはステップS69に進み、指定したマクロブロックがラインにおける右端に位置しないと判断したときにはステップS60に戻る。すなわち、CPU2は、上述のステップS60〜ステップS68までの処理を繰り返すことにより、上述の処理を行っているラインを構成する全てのマクロブロックについて動きベクトルを検出する。
【0092】
ステップS69において、CPU2は、上述したステップS59からステップS68までの処理を行ったラインから2つの番号だけ下端に向かって進めて新たなラインを指定する処理を行う。
【0093】
次のステップS70において、CPU2は、上述のステップS69で指定したラインの番号がボトムであるか否かを判断する。そして、CPU2は、指定したラインがボトムであると判断したときには処理を終了し、指定したラインがボトムでないと判断したときにはステップS59に戻って指定したラインについて上述のステップS42〜ステップS68に示す処理を行う。すなわち、CPU2は、ステップS58〜ステップS70までの処理を行うことで、フレーム画像の垂直方向において、番号「0」のラインからボトムのラインに向かって2つの番号毎に上述のステップS59〜ステップS68に示す処理を行う。
【0094】
上述した動きベクトル検出装置1は、ステップS41〜ステップS57に示す処理を実行することにより指定したラインのうち水平方向に配列する全てのマクロブロックについて動きベクトルを検出し、ステップS58〜ステップS70に示す処理を実行することにより上記ステップS41〜ステップS57で処理の対象となっていないラインを指定して垂直方向に隣接するマクロブロックを用いて動きベクトルを検出することでフレーム画像を構成する全てのマクロブロックについて動きベクトルを検出する。
【0095】
したがって、このような動きベクトル検出装置1によれば、ステップS43に示す処理を行うことで、フレーム画像を構成する一部のマクロブロックについて所定の画素サイズの探索領域にてブロックマッチングを行って動きベクトルを検出する処理を行い、他のマクロブロックについては隣接するマクロブロックの動きベクトルを参照することで上記所定の画素サイズよりも小さい画素サイズの探索領域にてブロックマッチングを行って動きベクトルを検出するので、フレーム画像を構成する全てのマクロブロックについて上記所定の画素サイズの探索領域にてブロックマッチングを行って動きベクトルを検出する場合と比較して探索領域を削減することができ、ブロックマッチングを行う回数を削減することができる。したがって、この動きベクトル検出装置1によれば、動きベクトルを検出するのに要する処理時間を大幅に短縮することができる。具体的には、動きベクトル検出装置1は、上述のステップS43におけるサーチレンジRを32×32画素とし、隣接するマクロブロックの動きベクトルを参照した場合の上記サーチレンジrを6×6画素としたとき、フレーム画像を構成する全てのマクロブロックについて動きベクトルを検出するための処理時間を1/100程度に短縮することができる。
【0096】
また、この動きベクトル検出装置1によれば、ステップS49及びステップS50で示す処理を行うことで動きベクトルを検出するマクロブロックに隣接するマクロブロックの動きベクトルが指し示す方向を判断し、各動きベクトルが指し示す方向に応じて設定する探索範囲を変化させるので、隣接するマクロブロックの動きベクトルが異なる方向を指し示していても、高精度な動きベクトルの検出を行うことができる。
【0097】
【発明の効果】
以上詳細に説明したように、本発明によれば、第3のフィールド画像についての動きベクトルを検出するときの探索領域を、上記第2のフィールド画像についての動きベクトルを参照するフィールド画像の動きベクトルとして用い、当該動きベクトルの示す点を中心とした第1の探索領域と、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じて、上記第2のフィールド画像についての動きベクトルを比例配分して示される点を中心とし、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じたサイズの第2の探索領域と、上記第1の探索領域と第2の探索領域とを接続する2つの接続線とで囲まれる面積が最大の第3の探索領域として設定するので、第3のフィールド画像についての動きベクトルを求めるときの探索領域のサイズを変化させることができる。したがって、この動きベクトル検出方法及び装置によれば、動きベクトルにおいてトップフィールド画像とボトムフィールド画像との相関が高いことを利用して、サイズの小さな探索領域を設定することができる。従って、この動きベクトル検出方法及び装置によれば、動きベクトルの検出を行うときのブロックマッチングを行う探索領域を縮小させることでブロックマッチングの行う回数を削減することができ、処理時間を削減することができる。
【図面の簡単な説明】
【図1】本発明を適用した動きベクトル検出装置の構成を示すブロック図である。
【図2】インタレース方式のフィールド画像のフィールド間距離について説明するための図である。
【図3】本発明を適用した動きベクトル検出装置に備えられるCPUが動きベクトル検出プログラムにしたがって動きベクトルを検出する処理手順を示すフローチャートである。
【図4】所定の探索領域を決定して動きベクトルVTTを探索することを説明するための図である。
【図5】動きベクトルVTTを用いて動きベクトルVBBを探索する起点及び探索領域を決定することを説明するための図である。
【図6】動きベクトルVTTを用いて動きベクトルVTBを探索する起点及び探索領域を決定することを説明するための図である。
【図7】動きベクトルVTTを用いて動きベクトルVBTを探索する起点及び探索領域を決定することを説明するための図である。
【図8】同動きベクトル検出装置で探索領域を設定し、動きベクトルを検出する処理を説明するためのフローチャートである。
【図9】同動きベクトル検出装置で探索領域を設定し、動きベクトルを検出する処理を説明するためのフローチャートである。
【図10】CPUによりマップを作成する処理を説明するための図である。
【図11】CPUのメモリに作成したマップの一例を説明するための図である。
【図12】CPUのメモリに作成したマップの他の一例を説明するための図である。
【図13】同動きベクトル検出装置に備えられるCPUにより動きベクトルを検出する処理がされるときに、フレーム画像がマクロブロック単位に分割されることを説明するための図である。
【図14】同動きベクトル検出装置に備えられるCPUが動きベクトル検出プログラムにしたがって動きベクトルを検出する処理手順を示すフローチャートである。
【図15】同動きベクトル検出装置に備えられるCPUが動きベクトル検出プログラムにしたがって動きベクトルを検出する処理手順を示すフローチャートである。
【図16】水平方向において隣接するマクロブロックが異なる方向を指し示しているときにおいて、隣接するマクロブロックの動きベクトルを用いて探索領域を設定して動きベクトルを検出することを説明するための図である。
【図17】水平方向において隣接するマクロブロックが略同方向を指し示しているときにおいて、隣接するマクロブロックの動きベクトルを用いて探索領域を設定して動きベクトルを検出することを説明するための図である。
【図18】垂直方向において隣接するマクロブロックが異なる方向を指し示しているときにおいて、隣接するマクロブロックの動きベクトルを用いて探索領域を設定して動きベクトルを検出することを説明するための図である。
【図19】水平方向において隣接するマクロブロックが略同方向を指し示しているときにおいて、隣接するマクロブロックの動きベクトルを用いて探索領域を設定して動きベクトルを検出することを説明するための図である。
【符号の説明】
1 動きベクトル検出装置、2 CPU

Claims (2)

  1. インタレース方式に準拠したフィールド画像についての動きベクトルの検出を行う動きベクトル検出方法において、
    第1のフィールド画像を用いて、第2のフィールド画像についての動きベクトルを所定の探索領域で検出し、
    第3のフィールド画像についての動きベクトルを検出するときの探索領域を、上記第2のフィールド画像についての動きベクトルを参照するフィールド画像の動きベクトルとして用い、当該動きベクトルの示す点を中心とした第1の探索領域と、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じて、上記第2のフィールド画像についての動きベクトルを比例配分して示される点を中心とし、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じたサイズの第2の探索領域と、上記第1の探索領域と第2の探索領域とを接続する2つの接続線とで囲まれる面積が最大の第3の探索領域として設定し、
    上記第1の探索領域及び第2の探索領域を含む上記第3の探索領域で上記第3のフィールド画像についての動きベクトルを検出することを特徴とする動きベクトル検出方法。
  2. インタレース方式に準拠したフィールド画像についての動きベクトルの検出を行う動きベクトル検出装置において、
    第1のフィールド画像を用いて、第2のフィールド画像についての動きベクトルを所定の探索領域で検出する第1の動き検出手段と、
    第3のフィールド画像についての動きベクトルを検出するときの探索領域を、上記第1の動き検出手段により検出された上記第2のフィールド画像についての動きベクトルを参照するフィールド画像の動きベクトルとして用い、当該動きベクトルの示す点を中心とした第1の探索領域と、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じて、上記第2のフィールド画像についての動きベクトルを比例配分して示される点を中心とし、上記参照するフィールド画像と第3のフィールド画像とのフィールド間距離と、上記第1のフィールド画像と第2のフィールド画像とのフィールド間距離との比に応じたサイズの第2の探索領域と、上記第1の探索領域と第2の探索領域とを接続する2つの接続線とで囲まれる面積が最大の第3の探索領域として設定する探索領域設定手段と、
    上記探索領域設定手段により設定した上記第1の探索領域及び第2の探索領域を含む上記第3の探索領域で第3のフィールド画像についての動きベクトルを検出する第2の動き検出手段とを備えることを特徴とする動きベクトル検出装置。
JP30147798A 1998-10-22 1998-10-22 動きベクトル検出方法及び装置 Expired - Fee Related JP4196447B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP30147798A JP4196447B2 (ja) 1998-10-22 1998-10-22 動きベクトル検出方法及び装置
TW088117602A TW444507B (en) 1998-10-22 1999-10-12 Detecting method and device for motion vector
CNB031530419A CN1222173C (zh) 1998-10-22 1999-10-18 运动向量检测方法和装置
EP99947946A EP1051040A1 (en) 1998-10-22 1999-10-18 Motion vector detecting method and device
CNB998031798A CN1148069C (zh) 1998-10-22 1999-10-18 运动向量检测方法和装置
AU61242/99A AU751909B2 (en) 1998-10-22 1999-10-18 Motion vector detecting method and device
CNB031530427A CN1222174C (zh) 1998-10-22 1999-10-18 运动向量检测方法和装置
PCT/JP1999/005735 WO2000024202A1 (en) 1998-10-22 1999-10-18 Motion vector detecting method and device
CA002314976A CA2314976C (en) 1998-10-22 1999-10-18 Motion vector detecting method and device
KR1020007006895A KR100659627B1 (ko) 1998-10-22 1999-10-18 이동 벡터 검출 방법 및 장치
US09/582,156 US6594314B1 (en) 1998-10-22 1999-10-18 Motion vector detection method and apparatus
MYPI99004526A MY125635A (en) 1998-10-22 1999-10-20 Motion vector detection method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30147798A JP4196447B2 (ja) 1998-10-22 1998-10-22 動きベクトル検出方法及び装置

Publications (2)

Publication Number Publication Date
JP2000134627A JP2000134627A (ja) 2000-05-12
JP4196447B2 true JP4196447B2 (ja) 2008-12-17

Family

ID=17897384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30147798A Expired - Fee Related JP4196447B2 (ja) 1998-10-22 1998-10-22 動きベクトル検出方法及び装置

Country Status (1)

Country Link
JP (1) JP4196447B2 (ja)

Also Published As

Publication number Publication date
JP2000134627A (ja) 2000-05-12

Similar Documents

Publication Publication Date Title
KR100659627B1 (ko) 이동 벡터 검출 방법 및 장치
US8019168B2 (en) Motion detecting device and search region variable-shaped motion detector
JP3621152B2 (ja) 特徴点の特定装置及びその方法
US7667778B2 (en) Image processing apparatus and method, and recording medium and program used therewith
US7375762B2 (en) Frame interpolation method and apparatus, and image display system
US20050259739A1 (en) Image processing apparatus and method, and recording medium and program used therewith
US20050249284A1 (en) Method and apparatus for generating motion vector in hierarchical motion estimation
JP2006115470A (ja) 映像評価装置、フレームレート決定装置、映像処理装置、映像評価方法、および映像評価プログラム
US20060251171A1 (en) Image coding device and image coding method
KR100727795B1 (ko) 모션 추정
JP4669517B2 (ja) 動き推定の実現方法
JP2787944B2 (ja) 動き補償動ベクトル探索方法
JP4196447B2 (ja) 動きベクトル検出方法及び装置
JPH089379A (ja) 動きベクトル検出方法
JP4035903B2 (ja) 動きベクトル検出方法及び装置
KR100986607B1 (ko) 영상 보간 방법 및 그 방법이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR20050068001A (ko) 블록정합에 의한 움직임 벡터 탐색방법 및 탐색장치
JP4078733B2 (ja) 動きベクトル検出方法及び装置
JPH08242454A (ja) グローバル動きパラメタ検出方法
JP2008177630A (ja) 動きベクトル検出装置
KR20010102216A (ko) 비디오 영상들의 움직임들의 추정
JPH10327401A (ja) 動きベクトル検出方法及びそれを用いた画像信号の符号化方法及び装置
JP4241021B2 (ja) 動きベクトル検出方法、動きベクトル検出装置、画像符号化装置
JP4053925B2 (ja) 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体
JP3271387B2 (ja) 動き量検出装置及び動き量検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071219

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: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees