JP2000032471A - 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体 - Google Patents

動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体

Info

Publication number
JP2000032471A
JP2000032471A JP20046098A JP20046098A JP2000032471A JP 2000032471 A JP2000032471 A JP 2000032471A JP 20046098 A JP20046098 A JP 20046098A JP 20046098 A JP20046098 A JP 20046098A JP 2000032471 A JP2000032471 A JP 2000032471A
Authority
JP
Japan
Prior art keywords
block
screen
pixel
reference screen
motion vector
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
JP20046098A
Other languages
English (en)
Inventor
Yuji Ando
裕司 安藤
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 JP20046098A priority Critical patent/JP2000032471A/ja
Priority to EP19990113869 priority patent/EP0973336A2/en
Priority to KR1019990028615A priority patent/KR20000011728A/ko
Publication of JP2000032471A publication Critical patent/JP2000032471A/ja
Priority to US09/910,065 priority patent/US20020015513A1/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ブロックマッチングにより動きベクトルを求
める際に、演算量を削減でき、高速処理を可能とする。 【解決手段】 処理の対象となる現画面において分割さ
れた現画面のブロックに対して、参照画面内における同
位置を基点としてそのブロックと大きさの等しい参照画
面のブロックを抽出し、所定の探索範囲内で参照画面の
ブロックを動かしながら、現画面のブロックと参照画面
のブロックとの間の残差を求め、この残差が最小となる
参照画面のブロックを検出して動きベクトルを算出す
る。このとき、参照画面のブロックの輪郭画素と現画面
のブロックの輪郭画素とを比較して、現画面のブロック
と参照画面のブロックとの間の残差を求める。これによ
り、演算量が削減され、高速処理が可能になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えば、MPE
G(Moving Picture Experts Group)2方式のエンコー
ド処理をソフトウェアで行なう場合に用いて好適な動き
ベクトル算出方法及び動きベクトル算出プログラムを記
録した記録媒体に関する。
【0002】
【従来の技術】画像の高能率圧縮方式としてMPEG2
方式が普及している。MPEG2方式は、動き補償予測
符号化とDCT(Discrete Cosine Transform )とによ
りビデオ信号を圧縮符号化するものである。
【0003】MPEG2方式では、I(Intra )ピクチ
ャと、P(Predicti)ピクチャと、B(Bidirectionall
y Predictive)ピクチャと呼ばれる3種類の画面が送ら
れる。Iピクチャでは、同一のフレームの画素を使って
DCT符号化が行なわれる。Pピクチャでは、既に符号
化されたIピクチャ又はPピクチャを参照して、動き補
償予測を用いたDCT符号化が行なわれる。Bピクチャ
では、その前後のIピクチャ又はPピクチャを参照し
て、動き予測を用いたDCT符号化が行なわれる。
【0004】なお、Pピクチャ及びBピクチャでは、マ
クロブロックの単位では、イントラ符号化を含む場合も
ある。すなわち、直流分を多く含むような画面では、画
面内のイントラ符号化による方が効率的に圧縮できる。
このような画面の場合には、イントラ符号化が行なわれ
る。
【0005】図5は、従来のMPEG2方式のエンコー
ダの構成の一例を示すものである。図5において、入力
端子101に、例えば、輝度信号Yと、色差信号Cb、
Crからなるコンポーネントディジタルビデオ信号が供
給される。入力端子101からのディジタルビデオ信号
は、動きベクトル検出回路103を介してフレームメモ
リ102に一旦蓄積される。このフレームメモリ102
は、少なくとも、現画面と、過去の参照画面と、未来の
参照画面との3フレーム分の画像を蓄積できる容量を有
している。
【0006】フレームメモリ102に蓄積されたデータ
を用いて、動きベクトル検出回路103で、参照画面と
現画面との間の動きベクトルが求められる。動きベクト
ルは、例えば、(16×16)画素からなるマクロブロ
ックを単位として求められる。求められた動きベクトル
MVは、可変長符号化回路108、動き補償回路115
に供給される。また、動きベクトル検出回路103で動
きベクトルを求める際に得られる残差情報eは、モード
設定回路104に供給される。
【0007】フレームメモリ102の出力は、動きベク
トル検出回路103を介して、スイッチ回路105の端
子105Aに供給されると共に、減算回路106及び減
算回路107に供給される。減算回路106の出力がス
イッチ回路105の端子105Bに供給される。減算回
路107の出力がスイッチ回路105の端子105Cに
供給される。
【0008】スイッチ回路105は、モード設定回路1
04からのモード設定信号により、符号化モードに応じ
て切り換えられる。すなわち、スイッチ回路105は、
フレーム内符号化モードのときには、端子105A側に
設定され、順方向予測符号化モードのときには、端子1
05B側に設定され、双方向予測符号化モードのときに
は、端子105C側に設定される。
【0009】Iピクチャを伝送するときには、フレーム
内予測符号化が行なわれる。このときには、スイッチ回
路105は、端子105A側に設定される。そして、フ
レームメモリ102からは、現フレームの画像データが
出力される。この現フレームの画像データは、スイッチ
回路105を介して、DCT回路106に供給される。
【0010】DCT回路106により、(8×8)を1
ブロックとして、時間領域のビデオ信号がDCT変換さ
れ、周波数領域のスペクトラムデータに変換される。こ
のスペクトラムデータは、所謂ジグザグスキャンによ
り、直流分の成分から順に読み出される。DCT変換回
路106の出力が量子化回路107に供給される。
【0011】量子化回路107には、送信バッファ10
9から送られてくる出力ビットレートの情報に応じて、
量子化スケールが設定される。量子化回路107で、こ
の量子化スケールにより、DCT変化回路106からの
スペクトラムデータが量子化される。これにより、出力
されるビットストリームのビットレートが一定に保たれ
る。
【0012】量子化回路107の出力は、可変長符号化
回路108に供給されると共に、逆量子化回路110に
供給される。可変長符号化回路108で、量子化回路1
07からのスペクトラムデータは、動きベクトルと、量
子化スケールと、予測モードと共に、可変長符号化され
る。
【0013】可変長符号化回路108からは、符号化さ
れたビットストリームか出力される。このビットストリ
ームは、送信バッファ109に一旦蓄積される。送信バ
ッファ109からは、要求されるビットレートに応じて
データストリームが読み出され、出力端子111から、
ビットストリームが出力される。
【0014】また、量子化回路107の出力が逆量子化
回路110に供給される。逆量子化化回路110の出力
がIDCT回路112に供給される。Iピクチャの場合
には、フレーム内の画素でDCT変換が行なわれるた
め、逆量子化回路110及びIDCT回路112によ
り、元の画面が形成される。この1画面分のディジタル
ビデオデータは、加算回路113を介して、画像フレー
ムメモリ114に供給される。このフレームメモリ11
4に蓄積されたデータが次のPピクチャ又はBピクチャ
での参照フレームのデータとされる。
【0015】Pピクチャを伝送するときには、参照フレ
ームとの間で順方向予測符号化が行なわれる。このとき
には、スイッチ回路105は、端子105B側に設定さ
れる。フレームメモリ102からは、現フレームのディ
ジタルビデオ信号が出力される。このフレームメモリ1
02の出力は、減算回路106に供給される。
【0016】フレームメモリ114には、参照フレーム
のデータが蓄積されている。この参照フレームのデータ
は、動き補償回路115により、動き補償され、減算回
路106に供給される。減算回路106で、現フレーム
のデータと、動き補償された参照フレームのデータとの
差分が求められる。この現フレームのデータと、参照フ
レームのデータとの差分データがスイッチ回路105を
介して、DCT回路106に供給される。
【0017】DCT回路106により、参照フレームの
データと現フレームのデータとの差分データがDCT変
換され、スペクトラムデータに変換される。DCT変換
回路106の出力が量子化回路107に供給される。量
子化回路107で、DCT変化回路106からのスペク
トラムデータが量子化される。
【0018】量子化回路107の出力は、可変長符号化
回路108に供給されると共に、逆量子化回路110に
供給される。可変長符号化回路108で、量子化回路1
07からのスペクトラムデータは、動きベクトルと、量
子化スケールと、予測モードと共に、可変長符号化され
る。
【0019】可変長符号化回路108からは、符号化さ
れたビットストリームか出力される。このビットストリ
ームは、送信バッファ109に一旦蓄積される。送信バ
ッファ109からは、要求されるビットレートに応じて
データストリームが読み出され、出力端子111から、
ビットストリームが出力される。
【0020】また、量子化回路107の出力が逆量子化
回路110に供給される。逆量子化化回路110の出力
がIDCT回路112に供給される。Pピクチャの場合
には、参照フレームのデータと現画面のデータとの差分
がDCT変換されるため、逆量子化回路110及びID
CT回路112により、参照フレームのデータと現画面
のデータとの差分が得られる。この差分データが加算回
路113に供給される。
【0021】加算回路113には、フレームメモリ11
4から、動き補償回路115を介して、それまでの参照
画面のデータが供給される。加算回路113で、それま
での参照画面のデータに差分データが加算される。この
加算回路113の出力が次の参照フレームのデータとし
てフレームメモリ114に蓄積される。
【0022】Bピクチャを伝送するときには、過去の参
照フレームと、未来の参照フレームとを使って、両方向
予測符号化が行なわれる。このときには、スイッチ回路
105は、端子105C側に設定される。フレームメモ
リ102からは、現フレームのディジタルビデオ信号が
出力される。このバッファメモリ102の出力は、減算
回路107に供給される。
【0023】フレームメモリ114には、過去参照フレ
ームと、未来の参照フレームのデータが蓄積されてい
る。この両方の参照フレームのデータは、動き補償回路
115により、動き補償され、減算回路107に供給さ
れる。減算回路107で、現フレームのデータと、動き
補償された過去及び未来の参照フレームのデータとの差
分が求められる。この現フレームのデータと、過去及び
未来の参照フレームのデータとの差分データがスイッチ
回路105を介して、DCT回路106に供給される。
【0024】DCT回路106により、過去及び未来の
参照フレームのデータと、現フレームのデータとの差分
データがDCT変換され、スペクトラムデータに変換さ
れる。DCT変換回路106の出力が量子化回路107
に供給される。量子化回路107で、DCT変化回路1
06からのスペクトラムデータが量子化される。
【0025】量子化回路107の出力は、可変長符号化
回路108に供給されると共に、逆量子化回路110に
供給される。可変長符号化回路108で、量子化回路1
07からのスペクトラムデータは、動きベクトルと、量
子化スケールと、予測モードと共に、可変長符号化され
る。
【0026】可変長符号化回路108からは、符号化さ
れたビットストリームか出力される。このビットストリ
ームは、送信バッファ109に一旦蓄積される。送信バ
ッファ109からは、要求されるビットレートに応じて
データストリームが読み出され、出力端子111から、
ビットストリームが出力される。
【0027】
【発明が解決しようとする課題】近年、CPUの処理速
度が飛躍的に向上され、大容量のメモリが安価に入手で
きるようになってきている。そこで、上述のようなMP
EG2のエンコード処理をソフトウェアで行なうことが
考えられている。
【0028】ところが、MPEG2のエンコードには、
動きベクトルを算出する処理が必要である。動きベクト
ルは、処理の対象となる現フレームにおいて分割された
ブロックに対して、参照フレーム画面内における同位置
を基点としてそのブロックと大きさの等しいブロックを
抽出し、所定の探索範囲内でこのブロックを動かしなが
ら、参照フレームのブロックの各画素と現フレームのブ
ロックの各画素との差分の絶対値和から残差を求め、こ
の残差が最小となる参照フレームのブロックを求めるよ
うなブロックマッチングにより求められる。このブロッ
クマッチングの処理は、多くの演算が必要であり、この
ことがMPEG2のエンコード処理をソフトウェアで行
なわせる場合に問題となる。
【0029】つまり、図6において、現フレーム201
にブロックCBLKでの動きベクトルを求める場合に
は、このブロックCBLKの位置を基点とする参照フレ
ーム202の周囲が探索範囲SAとされる。この探索範
囲SA内の参照フレームのブロックRBLKが取り出さ
れ、このブロックRBLKの(16×16)の各画素
と、現フレームのブロックCBLKの(16×16)の
各画素との間の差分が求められ、この差分の絶対値和か
ら、残差が求められる。参照フレーム203のブロック
RBLKは、所定の探索範囲SA内で動かされ、所定の
探索範囲SA内のブロックRBLK内の各位置におい
て、同様に、ブロックRBLKの各画素と、現フレーム
201のブロックCBLKの各画素との間の差分が求め
られ、この差分の絶対値和から、残差が求められる。こ
れら各位置で求められた参照フレームのブロックRBL
Kの各画素と、現フレームのブロックCBLKの各画素
との間の差分の絶対値和が比較され、残差が最小となる
ブロックがマッチングブロックとされる。このマッチン
グブロックから動きベクトルが求められる。
【0030】このようなブロックマッチングから動きベ
クトルを検出する場合、ブロックとして例えば(16×
16)を用いると、各画素の差分を求めるのに、 16×16=256 回の減算が必要であり、これらの各画素の差分の絶対値
和を求めるのに、256の数の総和を求める加算が必要
である。これらの演算を所定の探索範囲内で参照ブロッ
クを動かして各位置で行なうため、演算量は膨大にな
る。
【0031】したがって、この発明の目的は、演算量を
削減でき、高速処理を可能とした動きベクトル演算方法
を提供することにある。
【0032】
【課題を解決するための手段】この発明は、処理の対象
となる現画面において分割された現画面のブロックに対
して、参照画面内における同位置を基点としてそのブロ
ックと大きさの等しい参照画面のブロックを抽出し、所
定の探索範囲内で参照画面のブロックを動かしながら、
現画面のブロックと参照画面のブロックとの間の残差を
求め、この残差が最小となる参照画面のブロックを検出
して動きベクトルを算出する動きベクトル算出方法にお
いて、参照画面のブロックの輪郭画素と現画面のブロッ
クの輪郭画素とを比較して、現画面のブロックと参照画
面のブロックとの間の残差を求めるようにしたことを特
徴とする動きベクトル算出方法である。
【0033】ブロックマッチングにより動きベクトルを
求める際に、参照画面の輪郭画素と現画面のブロックの
輪郭画素との差分の絶対値和から現画面のブロックと参
照フレームのブロックとの間の残差を求めるようにして
いる。これにより、演算量が削減され、高速処理が可能
になると共に、輪郭の画素については全ての画素につい
ての差分絶対値和が求められているので、動きベクトル
の精度は保たれる。
【0034】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。図1は、この発明が適用
できるデータ処理装置の構成を示すものである。
【0035】図1において、1はCPU(Central Proc
essing Unit )、2はROM(ReadOnly Memory)、3
はRAM(Random Access Memory)である。CPU1、
ROM2、RAM3は、プロセッサバス4に接続され
る。
【0036】CPU1としては、例えば、MMX機能を
有するプロセッサが用いられる。MMX機能は、動画の
再生や、画像の加工、音声合成のような処理を高速で行
なえるように、1回の命令で連続したデータに対して同
じ処理を繰り返し行なえる命令を追加したものである。
なお、CPU1は、このようなプロセッサに限定される
ものではない。
【0037】ROM2には、ブートストラップのプログ
ラムが格納されている。RAM3は、作業用のメインメ
モリで、RAM3の容量としては、例えば、64Mbi
t以上のものを搭載することが望まれる。
【0038】CPU1は、ブリッジ回路5に接続されて
おり、ブリッジ回路5からプロセッサバス4が導出され
る。ブリッジ回路5は、例えばPCI(Peripherala Co
mponent Interconnect)バス6に接続される。ブリッジ
回路5は、CPU1と、プロセッサバス4及びバス6と
を繋ぐと共に、メモリコントロールを行うものである。
【0039】バス6には、IDE(Integrated Device
Electronics )コントローラ7、SCSI(Small Comp
uter System Interface )コントローラ8、グラフィッ
クアクセレータ9、IEEE(Institute Of Electrica
l and Electronics Engineers )1394コントローラ
10が接続される。
【0040】IDEコントローラ7には、ハードディス
クドライブやCDドライブ等のストレージデバイス11
が接続される。SCSIコントローラ8には、ハードデ
ィスクドライブやCDドライブ等のストレージデバイス
12が接続される。また、SCSIコントローラ8に
は、ストレージデバイスの他、イメージスキャナ等、種
々の周辺機器を取り付けることができる。グラフィック
スアクセレータ9には、ディスプレイ13が取り付けら
れる。IEEE1394コントローラ10には、ディジ
タルVCR(Video Cassette Recoder)等のオーディオ
ビデオ機器を接続することができる。
【0041】バス6は、ブリッジ回路14を介して、例
えばISA(Industrial StandardArchitecture)バス
15に接続される。ブリッジ回路14は、バス6とバス
15とを繋ぐものである。バス15には、入力デバイス
コントローラ16、フロッピディスクコントローラ1
7、パラレルコトローラ18、RS232Cコントロー
ラ19が接続される。
【0042】入力デバイスコントローラ16には、キー
ボードやマウス等の入力デバイス20が接続される。フ
ロッピディスクコントローラ17には、フロッピディス
クドライブ21が接続される。パラレルコントローラ1
8には、プリンタ等を取り付けることができる。RS2
32Cコントローラ19には、モデム等を取り付けるこ
とができる。
【0043】初期状態では、先ず、ROM2に格納され
ているブートストラップのプログラムが走り、初期設定
が行なわれる。そして、ストレージデバイス11又は1
2がアクセスされ、ストレージデバイス11又は12に
インストールされているオペレーティングシステムが読
み込まれ、プログラムの常駐部がメインメモリとされた
RAM3に常駐される。これにより、オペレーティング
システムが起動され、このオペレーティングシステムの
管理の基に、種々の処理が実行される。
【0044】なお、上述の例では、PCIバスとISA
バスとを用いた構成とされているが、このような構成に
限定されるものではない。USB(Universal Serial B
us)を設け、このUSBバスにキーボードやマウス等の
種々の機器を接続するようにしても良い。
【0045】上述のようなデータ処理装置でMPEG2
のエンコード処理を行なう場合には、MPEG2のエン
コード処理を行なうアプリケーションプログラムが実行
される。このアプリケーションプログラムは、IDEの
ハードディスク等のストレージデバイス11又はSCS
Iのハードディスク等のストレージデバイス12に実行
可能なプログラムとして格納されており、このアプリケ
ーションプログラムは、実行時にはRAM3に読み込ま
れ、CPU1により逐次実行される。
【0046】なお、このMPEG2のエンコード処理を
行なうアプリケーションプログラムは、IDEのハード
ディスク等のストレージデバイス11又はSCSIのハ
ードディスク等のストレージデバイス12にプリインス
トールしておいても良いし、CD−ROMやフロッピー
ディスクに実行可能な形式又は圧縮された形式で提供
し、このCD−ROMやフロッピーディスクに記録され
ているプログラムをユーザがIDEのハードディスク等
のストレージデバイス11又はSCSIのハードディス
ク等のストレージデバイス12にインストールするよう
にしても良い。更に、このアプリケーションプログラム
を、通信でダウンロードできるようにしても良い。
【0047】このMPEG2のエンコード処理を行なう
アプリケーションプログラムが実行されると、ディジタ
ルビデオデータに対して、予測モードに応じて、動きベ
クトルの算出処理、DCT演算処理、量子化処理、可変
長符号化処理が行なわれ、ディジタルビデオデータがM
PEG2方式により圧縮される。このとき、作業用とし
て、RAM3が用いられ、演算は、CPU1の演算機能
を用いて行なわれる。ディジタルビデオデータは、例え
ば、IEEE1394コントローラ10に接続された外
部のディジタルVCR等から入力される。そして、出力
データは、例えば、SCSIコントローラ8やIDEコ
ントローラ7に接続されたハードディスクドライブ等に
記録される。
【0048】図2は、このようなMPEG2のエンコー
ド処理プログラムの概要を示すフローチャートである。
【0049】図2に示すように、先ず、複数フレームの
ディジタルビデオデータが取り込まれ、このディジタル
ビデオデータがRAM3上にバッファされる(ステップ
S1)。そして、ブロックマッチングにより、動きベク
トルが算出される(ステップS2)。なお、このブロッ
クマッチングは、後に説明するように、ブロックの輪郭
画素を用いて行なわれる。
【0050】予測モードがIピクチャか、Pピクチャ
か、Bピクチャかが判断される(ステップS3)。ステ
ップS3でIピクチャであると判断されたら、同一フレ
ーム内での(8×8)画素を1ブロックとしてDCT演
算が行なわれる(ステップS4)。そして、求められた
係数データは量子化され(ステップS5)、可変長符号
化される(ステップS6)。また、このときのデータ
は、参照画像のデータとしてRAM3上に保存される
(ステップS7)。
【0051】ステップS3でPピクチャであると判断さ
れたら、順方向の参照画像のデータがRAM3から読み
出され(ステップS8)、この参照画像に対して、ステ
ップS2で算出された動きベクトルに基づいて動き補償
がなされ(ステップS9)、現画像のデータと、動き補
償された参照画像ののデータとの差分が求められ、この
現画像のデータと、参照画像のデータとの差分データが
DCT演算される(ステップS10)。そして、求めら
れたデータは量子化され(ステップS11)、可変長符
号化される(ステップS12)。また、このときのデー
タは、参照画像のデータとしてRAM3上に保存される
(ステップS13)。
【0052】ステップS3でBピクチャであると判断さ
れたら、両方向の参照画像のデータがRAM3から読み
出され(ステップS14)、この参照画像に対して、ス
テップS2で算出された動きベクトルに基づいて動き補
償がなされ(ステップS15)、現画像のデータと、動
き補償された参照画像のデータとの差分が求められ、こ
の現画像のデータと、参照画像のデータとの差分データ
がDCT演算される(ステップS16)。そして、求め
られたデータは量子化され(ステップS17)、可変長
符号化される(ステップS18)。
【0053】上述のステップS2で示す動きベクトルの
算出処理は、ブロックマッチングにより行なわれる。ブ
ロックマッチングは、従来、処理の対象となる現フレー
ムにおいて分割されたブロックに対して、参照フレーム
画面内における同位置を基点としてそのブロックと大き
さの等しいブロックを抽出し、所定の探索範囲内でこの
ブロックを動かしながら、現フレームのブロックの各画
素と参照フレームのブロックの各画素との差分の絶対値
和から残差を求め、この残差が最小となる参照フレーム
のブロックを求めるようにして行なわれている。このよ
うに、従来では、現フレームのブロックの各画素と参照
フレームのブロックの各画素との差分の絶対値和から残
差を求めていたが、これでは、演算量が膨大になり、高
速処理を行なうことが困難である。
【0054】そこで、この発明では、ブロックの輪郭の
画素についてのみ差分絶対値和を求めて、残差を算出す
るようにしている。
【0055】すなわち、図3において、参照フレーム及
び現フレームのブロックは(16×16)画素からな
り、参照フレームの画素の値をP(Hr,Vr)で示
し、現フレームの画素の値をP(Hc,Vc)で示すと
する。参照フレームのブロックの上縁の輪郭画素P(H
r,Vr)〜P(Hr+15,Vr)と、現フレームの
ブロックの上縁の輪郭画素P(Hc,Vc)〜P(Hc
+15,Vc)との差分の絶対値和と、参照フレームの
ブロックの左縁の輪郭画素P(Hr,Vr+1)〜P
(Hr,Vr+14)と、現フレームのブロックの左縁
の輪郭画素P(Hc,Vc+1)〜P(Hc,Vc+1
4)との差分の絶対値和と、参照フレームのブロックの
右縁の輪郭画素P(Hr+15,Vr+1)〜P(Hr
+15,Vr+14)と、現フレームのブロックの右縁
の輪郭画素P(Hc+15,Vc+1)〜P(Hc+1
5,Vc+14)との差分の絶対値和と、参照フレーム
のブロックの下縁の輪郭画素P(Hr,Vr+15)〜
P(Hr+15,Vr+15)と、現フレームのブロッ
クの下縁の輪郭画素P(Hc,Vc+15)〜P(Hc
+15,Vc+15)との差分の絶対値和とが求められ
る。この輪郭画素の差分の絶対値和が残差とされる。
【0056】図4は、上述のように、ブロックの輪郭の
画素についてのみ差分絶対値和を求めることにより残差
を求めるようにした場合の処理を示すフローチャートで
ある。
【0057】先ず、累積値ADの値が「0」に初期化さ
れ(ステップS21)、現フレームの画素の水平位置H
c及び垂直位置Vc、参照フレームの水平位置Hr及び
垂直位置Vrが初期化される(ステップS22)。そし
て、オフセットOが「0」に初期化される(ステップS
23)。
【0058】参照フレームの画素P(Hr+O,Vr)
の値と、現フレームの画素P(Hc+O,Vc)の現画
素の値との差分の絶対値が求められ、これが累積値AD
とされる(ステップS24)。そして、オフセットOが
インクリメントされ(ステップS25)、このオフセッ
トOが16になったか否かが判断される(ステップS2
6)。オフセットOが16未満なら、ステップS24に
戻される。
【0059】このステップS24からS26のループに
より、参照フレームのブロックの上縁の輪郭画素P(H
r,Vr)〜P(Hr+15,Vr)と、現フレームの
ブロックの上縁の輪郭画素P(Hc,Vc)〜P(Hc
+15,Vc)との差分の絶対値和が求められる。
【0060】つまり、オフセットOは、ステップS23
で「0」に初期化されている。このため、先ず、参照フ
レームのブロックの左上の画素P(Hr,Vr)の値
と、これに対応する現フレームのブロックの左上の画素
P(Hc,Vc)の値との差分の絶対値が求められ、こ
れが累積値ADとされる。
【0061】次に、ステップS25で、オフセットOが
インクリメントされる。したがって、その右隣の画素の
値との差分の絶対値が求められ、この値がそれまでの累
積値ADに加算され、これが新たな累積値ADとされ
る。オフセットOが「15」となるまで上述のステップ
を繰り返していくことにより、参照フレームのブロック
の上縁の輪郭画素P(Hr,Vr)〜P(Hr+15,
Vr)と、現フレームのブロックの上縁の輪郭画素P
(Hc,Vc)〜P(Hc+15,Vc)との差分絶対
値和が求められる。
【0062】このように、ステップS24からS26の
ループにより、ブロックの上縁の輪郭画素の差分の絶対
値和が求められる。そして、ステップS26で、オフセ
ットOが「16」になったか否かが判断され、オフセッ
トOが「16」になったら、ブロックの右端に達したと
して、オフセットOが「1」に初期化される(ステップ
S27)。
【0063】次に、参照フレームのブロックの画素P
(Hr,Vr+O)の値と、現フレームのブロックの画
素P(Hc,Vc+O)の値との差分の絶対値と、参照
フレームのブロックの画素P(Hr+15,Vr+O)
の値と現フレームのブロックの画素P(Hc+15,V
c+O)の値との差分の絶対値が求められ、これらの和
が累積値ADとされる(ステップS28)。そして、オ
フセットOがインクリメントされ(ステップS29)、
このオフセットOが「15」未満か否かが判断される
(ステップS30)。オフセットOが「15」未満な
ら、ステップS28に戻される。
【0064】このステップS28からS30のループに
より、参照フレームのブロックの左縁の輪郭画素P(H
r,Vr+1)〜P(Hr,Vr+14)と、現フレー
ムのブロックの左縁の輪郭画素P(Hc,Vc+1)〜
P(Hc,Vc+14)との差分の絶対値和と、参照フ
レームのブロックの右縁の輪郭画素P(Hr+15,V
r+1)〜P(Hr+15,Vr+14)と、現フレー
ムのブロックの右縁の輪郭画素P(Hc+15,Vc+
1)〜P(Hc+15,Vc+14)との差分の絶対値
和とが求められる。
【0065】そして、ステップS30で、オフセットO
が「15」になったか否かが判断され、オフセットOが
「15」になったら、ブロックの下端に達したとして、
オフセットOが「0」に初期化される(ステップS3
1)。
【0066】次に、参照フレームのブロックの画素P
(Hr+O,Vr+15)の値と現フレームのブロック
の画素P(Hc+O,Vc+15)の値との差分の絶対
値和が求められ、これが累積値ADとされる(ステップ
S32)。そして、オフセットOがインクリメントされ
(ステップS33)、このオフセットOが「16」未満
か否かが判断される(ステップS34)。オフセットO
が「16」未満なら、ステップS32に戻される。
【0067】ステップS32からS34のループによ
り、参照フレームのブロックの下縁の輪郭画素P(H
r,Vr+15)〜P(Hr+15,Vr+15)と、
現フレームのブロックの下縁の輪郭画素P(Hc,Vc
+15)〜P(Hc+15,Vc+15)との差分の絶
対値和が求められる。オフセットOが「16」になった
ら、ブロックの右端に達したとして、処理が終了され
る。
【0068】このように、ステップS24からS26の
ループにより、ブロックの上縁の輪郭画素の差分絶対値
和が求められ、ステップS28からS30のループによ
り、ブロックの左縁の輪郭画素の差分絶対値和と、ブロ
ックの右縁の輪郭画素の差分絶対値和とが求められ、ス
テップS32からS34のループにより、ブロックの下
縁の輪郭画素の差分絶対値和が求められる。したがっ
て、これらの処理により、ブロックの4辺の輪郭画素の
差分絶対値和が求められることになる。
【0069】このように、ブロックの輪郭の画素につい
てのみ差分絶対値和を求めるようにした場合には、残差
を求めるための演算量が大幅に削減でき、高速にブロッ
クマッチングを行なえるようになる。すなわち、ブロッ
クの大きさを(16×16)としたときには、全画素を
使って差分演算を行なうと、256回の差分演算が必要
であるが、輪郭画素についてのみ差分演算を行なうと、
60回の差分演算だけで終了することになる。また、輪
郭の画素については、間引きをせずに全ての画素につい
ての差分絶対値和が求められているので、1画素精度で
の動きベクトルの精度は保たれる。
【0070】
【発明の効果】この発明によれば、ブロックマッチング
により動きベクトルを求める際に、参照画面のブロック
の輪郭画素と、現画面のブロックの輪郭画素との差分の
絶対値和を伝って残差を求めるようにしている。これに
より、演算量が削減され、高速処理が可能になると共
に、輪郭の画素については全ての画素についての差分絶
対値和が求められているので、動きベクトルの精度は保
たれる。
【図面の簡単な説明】
【図1】データ処理装置の一例のブロック図である。
【図2】MPEG2のエンコード処理の説明に用いるフ
ローチャートである。
【図3】この発明の実施の一形態の説明に用いる略線図
である。
【図4】この発明の実施の一形態の説明に用いるフロー
チャートである。
【図5】従来のMPEG2方式のエンコーダの一例のブ
ロック図である。
【図6】ブロックマッチングの説明に用いる略線図であ
る。
【符号の説明】
1・・・CPU,2・・・ROM,3・・・RAM,7
・・・IDEコントローラ,8・・・SCSIコントロ
ーラ,10・・・IEEE1394コントローラ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと上記参照画面のブロック
    との間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出方法において、 上記参照画面のブロックの輪郭画素と上記現画面のブロ
    ックの輪郭画素とを比較して、上記現画面のブロックと
    参照画面のブロックとの間の残差を求めるようにしたこ
    とを特徴とする動きベクトル算出方法。
  2. 【請求項2】 上記参照画面のブロックの輪郭画素と上
    記現画面のブロックの輪郭画素とを比較して上記現画面
    のブロックと参照画面のブロックとの間の残差を求める
    ステップは、 上記現画面のブロックの上縁の画素と上記参照画面の上
    縁の画素との差分の絶対値を累積しながら順次水平方向
    にスキャンさせて上記参照画面の上縁の輪郭画素と上記
    現画面のブロックの上縁の輪郭画素との差分の絶対値和
    を求めるステップと、 上記現画面のブロックの左右両縁の画素と上記参照画面
    の左右両縁の画素との差分の絶対値を累積しながら順次
    垂直方向にスキャンさせて上記参照画面のブロックの左
    右両縁の輪郭画素と上記現画面のブロックの左右両縁の
    輪郭画素との差分の絶対値和を求めるステップと、 上記現画面のブロックの下縁の画素と上記参照画面の下
    縁画素との差分の絶対値を累積しながら順次水平方向に
    スキャンさせて上記参照画面のブロックの下縁の輪郭画
    素と上記現画面のブロックの下縁の輪郭画素との差分の
    絶対値和を求めるステップとを含むようにした請求項1
    に記載の動きベクトル算出方法。
  3. 【請求項3】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと上記参照画面のブロック
    との間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出プログラムであ
    って、 上記参照画面のブロックの輪郭画素と上記現画面のブロ
    ックの輪郭画素とを比較して、上記現画面のブロックと
    参照画面のブロックとの間の残差を求めるようにしたこ
    とを動きベクトル算出プログラムを記録した記録媒体。
  4. 【請求項4】 上記参照画面のブロックの輪郭画素と上
    記現画面のブロックの輪郭画素とを比較して上記現画面
    のブロックと参照画面のブロックとの間の残差を求める
    ステップは、 上記現画面のブロックの上縁の画素と上記参照画面の上
    縁の画素との差分の絶対値を累積しながら順次水平方向
    にスキャンさせて上記参照画面の上縁の輪郭画素と上記
    現画面のブロックの上縁の輪郭画素との差分の絶対値和
    を求めるステップと、 上記現画面のブロックの左右両縁の画素と上記参照画面
    の左右両縁の画素との差分の絶対値を累積しながら順次
    垂直方向にスキャンさせて上記参照画面のブロックの左
    右両縁の輪郭画素と上記現画面のブロックの左右両縁の
    輪郭画素との差分の絶対値和を求めるステップと、 上記現画面のブロックの下縁の画素と上記参照画面の下
    縁画素との差分の絶対値を累積しながら順次水平方向に
    スキャンさせて上記参照画面のブロックの下縁の輪郭画
    素と上記現画面のブロックの下縁の輪郭画素との差分の
    絶対値和を求めるステップとを含むようにした請求項3
    に記載の動きベクトル算出プログラムを記録した記録媒
    体。
JP20046098A 1998-07-15 1998-07-15 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体 Pending JP2000032471A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP20046098A JP2000032471A (ja) 1998-07-15 1998-07-15 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
EP19990113869 EP0973336A2 (en) 1998-07-15 1999-07-15 Motion vector detecting, picture encoding and recording method and apparatus
KR1019990028615A KR20000011728A (ko) 1998-07-15 1999-07-15 움직임 벡터 검출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체, 움직임 검출 장치, 움직임 검출 방법, 화상 엔코딩 장치, 화상 엔코딩 방법, 움직임 벡터 산출 방법, 움직임 벡터 산출 프로그램이 기록된 기록 매체
US09/910,065 US20020015513A1 (en) 1998-07-15 2001-07-23 Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20046098A JP2000032471A (ja) 1998-07-15 1998-07-15 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000032471A true JP2000032471A (ja) 2000-01-28

Family

ID=16424683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20046098A Pending JP2000032471A (ja) 1998-07-15 1998-07-15 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000032471A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100452097B1 (ko) * 2002-05-02 2004-10-12 주식회사 윈포넷 영상데이터의 변화값 추출을 이용한 영상데이터 저장방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100452097B1 (ko) * 2002-05-02 2004-10-12 주식회사 윈포넷 영상데이터의 변화값 추출을 이용한 영상데이터 저장방법

Similar Documents

Publication Publication Date Title
US20020015513A1 (en) Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded
US6798977B2 (en) Image data encoding and decoding using plural different encoding circuits
JP3263960B2 (ja) 動きベクトル符号器および復号器
JP2744871B2 (ja) 画像信号符号化方法および画像信号符号化装置
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
TWI436286B (zh) 畫像解碼方法及裝置
EP1107613A2 (en) Picture recording apparatus and methods
JP2001346216A (ja) 動画像圧縮方法および情報処理装置
JP2000278688A (ja) 動きベクトル検出装置およびその方法と画像処理装置
JP3667105B2 (ja) 動きベクトル検出方法及びその方法を実施する装置
JPH0955941A (ja) 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
JP2001076155A (ja) 動画像内の移動物体検出方法及び装置
JP5256496B2 (ja) 画像処理システム、画像処理方法、およびプログラム
JP2000069484A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
EP0973336A2 (en) Motion vector detecting, picture encoding and recording method and apparatus
US5915043A (en) Image reproducing apparatus
JP2000078589A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
US20020131503A1 (en) Moving image compression apparatus, and cut detection data generation method for the apparatus
JP2000050278A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2000032471A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2776284B2 (ja) 画像符号化装置
JPH11346368A (ja) 画像処理方法,画像処理装置,及びデ―タ記憶媒体
JPH1042300A (ja) 動きベクトル検出装置
JP2009253581A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2008199521A (ja) 画像処理装置およびその方法