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

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

Info

Publication number
JP2000078589A
JP2000078589A JP24148298A JP24148298A JP2000078589A JP 2000078589 A JP2000078589 A JP 2000078589A JP 24148298 A JP24148298 A JP 24148298A JP 24148298 A JP24148298 A JP 24148298A JP 2000078589 A JP2000078589 A JP 2000078589A
Authority
JP
Japan
Prior art keywords
block
data
screen
motion vector
circuit
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
JP24148298A
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 JP24148298A priority Critical patent/JP2000078589A/ja
Priority to KR1019990028615A priority patent/KR20000011728A/ko
Publication of JP2000078589A publication Critical patent/JP2000078589A/ja
Priority to US09/910,065 priority patent/US20020015513A1/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 動きベクトルを求める際のブロックマッチン
グの計算量を削減でき、動きベクトルを高速で求めるこ
とができるようにして、ソフトウェアでMPEG2のエ
ンコードを行えるようにする。 【解決手段】 参照画面のブロックの画素データを直交
変換すると共に、現画面のブロックの画素データを直交
変換し、直交変換された参照画面のブロックのデータ
と、直交変換された現画面のブロックのデータとから残
差を求めるようにする。このように画像データを周波数
データに変換して参照フレームのブロックと現フレーム
のブロックとの間の残差を求めるようにすると、残差を
求めるための演算量が大幅に減少される。これにより、
高速処理が可能となり、ソフトウェアでも十分に処理す
ることができるようになる。

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】図10は、従来のMPEG2方式のエンコ
ーダの構成の一例を示すものである。図10において、
入力端子101に、例えば、輝度信号Yと、色差信号C
b、Crからなるコンポーネントディジタルビデオ信号
が供給される。入力端子101からのディジタルビデオ
信号は、動きベクトル検出回路103を介してフレーム
メモリ102に一旦蓄積される。このフレームメモリ1
02は、少なくとも、現画面と、過去の参照画面と、未
来の参照画面との3フレーム分の画像を蓄積できる容量
を有している。
【0006】フレームメモリ102に蓄積されたデータ
を用いて、動きベクトル検出回路103で、参照画面と
現画面との間の動きベクトルが求められる。動きベクト
ルMVは、例えば、(16×16)画素からなるマクロ
ブロックを単位として求められる。求められた動きベク
トルMVは、可変長符号化回路108、動き補償回路1
15に供給される。また、動きベクトル検出回路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(Centra
l Processing Unit )の処理速度が飛躍的に向上される
とともに、大容量のメモリが安価に入手できるようにな
ってきている。そこで、上述のようなMPEG2のエン
コード処理をソフトウェアで行なうことが考えられてい
る。
【0028】ところが、MPEG2のエンコードには、
動きベクトルを算出する処理が必要である。動きベクト
ルは、処理の対象となる現フレームにおいて分割された
ブロックに対して、参照フレーム画面内における同位置
を基点としてそのブロックと大きさの等しいブロックを
抽出し、所定の探索範囲内でこのブロックを動かしなが
ら、参照フレームのブロックの各画素と現フレームのブ
ロックの各画素との差分の絶対値和から残差を求め、こ
の残差が最小となる参照フレームのブロックを求めるよ
うなブロックマッチングにより求められる。このブロッ
クマッチングの処理は、多くの演算が必要であり、この
ことがMPEG2のエンコード処理をソフトウェアで行
なわせる場合に問題となる。
【0029】つまり、図11において、現フレーム20
1のブロック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】更に、1画素ステップで所定の探索範囲内
で参照ブロックを動かしながら動きベクトルを検出する
と、その探索範囲の画素に相当する回数だけ残差を求め
る処理が必要になる。したがって、1画素ステップで所
定の探索範囲内でブロックを動かしながら残差を求め、
この残差が最小になるブロックの位置から動きベクトル
を検出するようにすると、その演算量は膨大となり、ソ
フトウェアで処理するには難しくなる。
【0032】したがって、この発明の目的は、動きベク
トルを求める際のブロックマッチングの計算量を削減で
き、動きベクトルを高速で求めることができるようにし
たものである。
【0033】
【課題を解決するための手段】この発明は、処理の対象
となる現画面において分割された現画面のブロックに対
して、参照画面内における同位置を基点としてそのブロ
ックと大きさの等しい参照画面のブロックを抽出し、所
定の探索範囲内で参照画面のブロックを動かしながら、
現画面のブロックと参照画面のブロックとの間の残差を
求め、残差が最小となる参照画面のブロックを検出して
動きベクトルを算出する動きベクトル算出方法におい
て、参照画面のブロックの画素データを直交変換すると
共に、現画面のブロックの画素データを直交変換し、直
交変換された参照画面のブロックのデータと、直交変換
された現画面のブロックのデータとから残差を求めるよ
うにしたことを特徴とする動きベクトル算出方法、及び
このような動きベクトル算出プログラムを記録した記録
媒体である。
【0034】動きベクトルを求める際に、参照フレーム
のブロック及び現フレームのブロックが直交変換され、
周波数データに変換される。このように画像データを周
波数データに変換して参照フレームのブロックと現フレ
ームのブロックとの間の残差を求めるようにすると、残
差を求めるための演算量が大幅に減少される。これによ
り、高速処理が可能となり、ソフトウェアでも十分に処
理することができるようになる。
【0035】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。図1は、この発明が適用
できるデータ処理装置の構成を示すものである。
【0036】図1において、1はCPU(Central Proc
essing Unit )、2はROM(ReadOnly Memory)、3
はRAM(Random Access Memory)である。CPU1、
ROM2、RAM3は、プロセッサバス4に接続され
る。
【0037】CPU1としては、例えば、MMX機能を
有するプロセッサが用いられる。MMX機能は、動画の
再生や、画像の加工、音声合成のような処理を高速で行
なえるようにしたものである。すなわち、MMX命令で
は、SIMD(Single Instruction Multiple Data)と
呼ばれる技術を用いることにより、1回の命令で連続し
たデータに対して同じ処理を繰り返し行なえる。
【0038】ROM2には、ブートストラップのプログ
ラムが格納されている。RAM3は、作業用のメインメ
モリで、RAM3の容量としては、例えば、64MB以
上のものを搭載することが望まれる。
【0039】CPU1は、ブリッジ回路5に接続されて
おり、ブリッジ回路5からプロセッサバス4が導出され
る。ブリッジ回路5は、PCI(Peripherala Componen
t Interconnect)バス6に接続される。ブリッジ回路5
は、CPU1と、プロセッサバス4及びPCIバス6と
を繋ぐものである。
【0040】PCIバス6には、IDE(Integrated D
evice Electronics )コントローラ7、SCSI(Smal
l Computer System Interface )コントローラ8、グラ
フィックアクセレータ9、IEEE(Institute Of Ele
ctrical and Electronics Engineers )1394コント
ローラ10が接続される。
【0041】IDEコントローラ7には、ハードディス
クドライブやCDドライブ等のストレージデバイス11
が接続される。SCSIコントローラ8には、ハードデ
ィスクドライブやCDドライブ等のストレージデバイス
12が接続される。また、SCSIコントローラ8に
は、ストレージデバイスの他、イメージスキャナ等、種
々の周辺機器を取り付けることができる。グラフィック
スアクセレータ9には、ディスプレイ13が取り付けら
れる。IEEE1394コントローラ10には、ディジ
タルVCR(Video Cassette Recoder)等のディジタル
オーディオビデオ機器を接続することができる。
【0042】PCIバス6は、ブリッジ回路14を介し
て、ISA(Industrial StandardArchitecture)バス
15に接続される。ブリッジ回路14は、PCIバス6
とISAバス15とを繋ぐものである。ISAバス15
には、入力デバイスコントローラ16、フロッピディス
クコントローラ17、パラレルコトローラ18、RS2
32Cコントローラ19が接続される。
【0043】入力デバイスコントローラ16には、キー
ボードやマウス等の入力デバイス20が接続される。フ
ロッピディスクコントローラ17には、フロッピディス
クドライブ21が接続される。パラレルコントローラ1
8には、プリンタ等を取り付けることができる。RS2
32Cコントローラ19には、モデム等を取り付けるこ
とができる。
【0044】初期状態では、先ず、ROM2に格納され
ているブートストラップのプログラムが走り、初期設定
が行なわれる。そして、ストレージデバイス11又は1
2がアクセスされ、ストレージデバイス11又は12に
インストールされているオペレーティングシステムが読
み込まれ、プログラムの常駐部がメインメモリとされた
RAM3に常駐される。これにより、オペレーティング
システムが起動され、このオペレーティングシステムの
管理の基に、種々の処理が実行される。
【0045】なお、上述の例では、PCIバスとISA
バスとを用いた構成とされているが、このような構成に
限定されるものではない。USB(Universal Serial B
us)を設け、このUSBバスにキーボードやマウス等の
種々の機器を接続するようにしても良い。
【0046】上述のようなデータ処理装置でMPEG2
のエンコード処理を行なう場合には、MPEG2のエン
コード処理を行なうアプリケーションプログラムが実行
される。このアプリケーションプログラムは、IDEの
ハードディスク等のストレージデバイス11又はSCS
Iのハードディスク等のストレージデバイス12に実行
可能なプログラムとして格納されており、このアプリケ
ーションプログラムは、実行時にはRAM3に読み込ま
れ、CPU1により逐次実行される。
【0047】なお、このMPEG2のエンコード処理を
行なうアプリケーションプログラムは、IDEのハード
ディスク等のストレージデバイス11又はSCSIのハ
ードディスク等のストレージデバイス12に予めインス
トールしておくようにしても良いし、CD−ROMやフ
ロッピディスクにより提供するようにしても良い。更
に、通信で提供するようにしても良い。
【0048】このMPEG2のエンコード処理を行なう
アプリケーションプログラムが実行されると、ディジタ
ルビデオデータに対して、予測モードに応じて、動きベ
クトルの算出処理、DCT演算処理、量子化処理、可変
長符号化処理が行なわれ、ディジタルビデオデータがM
PEG2方式により圧縮される。このとき、作業用とし
て、RAM3が用いられ、演算は、CPU1の演算機能
を用いて行なわれる。ディジタルビデオデータは、例え
ば、IEEE1394コントローラ10に接続された外
部のディジタルVCR等から入力される。そして、出力
データは、例えば、SCSIコントローラ8やIDEコ
ントローラ7に接続されたハードディスクドライブ等に
記録される。
【0049】図2は、このようなMPEG2のエンコー
ド処理プログラムの概要を示すフローチャートである。
【0050】図2に示すように、先ず、複数フレームの
ディジタルビデオデータが取り込まれ、このディジタル
ビデオデータがRAM3上にバッファされる(ステップ
S1)。そして、ブロックマッチングにより、動きベク
トルが算出される(ステップS2)。
【0051】予測モードがIピクチャか、Pピクチャ
か、Bピクチャかが判断される(ステップS3)。ステ
ップS3でIピクチャであると判断されたら、同一フレ
ーム内での(8×8)画素を1ブロックとしてDCT演
算が行なわれる(ステップS4)。そして、求められた
係数データは量子化され(ステップS5)、可変長符号
化される(ステップS6)。また、このときのデータ
は、参照画像のデータとしてRAM3上に保存される
(ステップS7)。
【0052】ステップS3でPピクチャであると判断さ
れたら、順方向の参照画像のデータがRAM3から読み
出され(ステップS8)、この参照画像に対して、ステ
ップS2で算出された動きベクトルに基づいて動き補償
がなされ(ステップS9)、現画像のデータと、動き補
償された参照画像のデータとの差分が求められ、この現
画像のデータと、参照画像のデータとの差分データがD
CT演算される(ステップS10)。そして、求められ
たデータは量子化され(ステップS11)、可変長符号
化される(ステップS12)。また、このときのデータ
は、参照画像のデータとしてRAM3上に保存される
(ステップS13)。
【0053】ステップS3でBピクチャであると判断さ
れたら、両方向の参照画像のデータがRAM3から読み
出され(ステップS14)、この参照画像に対して、ス
テップS2で算出された動きベクトルに基づいて動き補
償がなされ(ステップS15)、現画像のデータと、動
き補償された参照画像のデータとの差分が求められ、こ
の現画像のデータと、参照画像のデータとの差分データ
がDCT演算される(ステップS16)。そして、求め
られたデータは量子化され(ステップS17)、可変長
符号化される(ステップS18)。
【0054】図3におけるステップS2で示す動きベク
トルの算出処理は、従来は、処理の対象となる現フレー
ムにおいて分割されたブロックに対して、参照フレーム
の画面内における同位置を基点としてそのブロックと大
きさの等しいブロックを抽出し、所定の探索範囲内でこ
のブロックを動かしながら、現フレームのブロックの画
素と参照フレームのブロックの各画素との差分の絶対値
和から残差を求め、この残差が最小となるブロックを検
出するようなブロックマッチングにより行なわれる。と
ころが、このようなブロックマッチングにより動きベク
トルを求めると、その演算量は膨大となる。
【0055】そこで、この発明では、ブロックのデータ
を直交変換し、この直交変換したブロックを比較してブ
ロックマッチングを行なうようにしている。直交変換と
しては、例えば、アダマール変換が用いられる。
【0056】すなわち、図3に示すように、(16×1
6)画素からなる現フレームのブロックCBLKのデー
タCD1、CD2、…、CD256が取り出される。こ
の(16×16)画素からなる現フレームのブロックC
BLKが、図4に示すように、夫々、(8×8)画素か
らなる4つの直交変換ブロックTBLK_C1〜TBL
K_C4に分割される。そして、図5に示すように、直
交変換ブロックTBLK_C1〜TBLK_C4毎に、
画像データが直交変換され、スペクトラムデータTCD
1−1〜TCD1−64、TCD2−1〜TCD2−6
4、TCD3−1〜TCD3−64、TCD4−1〜T
CD4−64に変換される。そして、直交変換された4
つのブロックTBLK_C1〜TBLK_C4のデータ
は、図6に示すようなジグザグスキャンにより、空間周
波数の低いデータから順に取り出される。
【0057】同様に、図7に示すように、(16×1
6)画素からなる参照フレームのブロックRBLKのデ
ータRD1、RD2、…、RD256が取り出され、こ
の(16×16)画素からなる参照フレームのブロック
RBLKが、図8に示すように、(8×8)画素からな
る4つの直交変換ブロックTBLK_R1〜TBLK_
R4に分割される。そして、図9に示すように、各直交
変換ブロックTBLK_R1〜TBLK_R4毎に、画
像データが直交変換され、スペクトラムデータTRD1
−1〜TRD1−64、TRD2−1〜TRD2−6
4、TRD3−1〜TRD3−64、TRD4−1〜T
RD4−64に変換される。そして、直交変換された4
つのブロックTBLK_R1〜TBLK_R4のデータ
は、図6に示すようなジグザグスキャンにより、空間周
波数の低いデータから順に取り出される。
【0058】ビデオ信号を直交変換すると、エネルギー
は低域周波数のデータに集中し、高域周波数のデータは
殆どなくなる。そこで、現フレームの直交変換された4
つのブロックTBLK_C1〜TBLK_C4のデータ
をジグザグスキャンにより取り出す際に、所定のデータ
数(例えば10個であるが、これに限定されるものでは
ない)にデータの読み出しが制限される。同様に、参照
フレームの直交変換された4つのブロックTBLK_R
1〜TBLK_R4のデータをジグザグスキャンにより
取り出す際に、所定のデータ数(例えば、10個)にデ
ータの読み出しが制限される。
【0059】すなわち、現フレームの直交変換された4
つのブロックTBLK_C1〜TBLK_C4のデータ
から、夫々、例えば10個のデータ(図5で黒丸で示
す)が取り出される。また、参照フレームの直交変換さ
れた4つのブロックTBLK_R1〜TBLK_R4の
データから、夫々、例えば10個のデータ(図9で黒丸
で示す)が取り出される。そして、これら現フレームの
直交変換された4つのブロックTBLK_C1〜TBL
K_C4から取り出されたデータと、これと対応する参
照フレームの直交変換された4つのブロックTBLK_
R1〜TBLK_R4から取り出されたデータとの差分
の絶対値和が求められる。この周波数データの差分の絶
対値和により残差が求められる。
【0060】このように、1ブロックのデータを直交変
換し、所定数のデータに制限してブロックマッチングを
行なうと、ブロックマッチングの演算量が著しく減少
し、演算速度の向上が図れる。
【0061】すなわち、上述のように、1ブロックを4
つの変換ブロックに分け、各変換ブロック毎に直交変換
(例えばアダマール変換)を行い、各変換ブロックのデ
ータを10個に制限して、ブロックマッチングを行なう
とする。この場合、各変換ブロックのデータ数は10個
であり、ブロックマッチングを行なう際の1ブロックは
4つの変換ブロックに分けられているから、ブロックマ
ッチングを行なう際の残差を求めるのに、1ブロックに
ついて、40個のデータ分の演算を行なえば良いことに
なる。これに対して、(16×16)画素からなるブロ
ックを使ってブロックマッチングを行なう際には、(1
6×16=256)データ分の演算が必要である。この
ように、1ブロックを直交変換して残差を求めると、大
幅な演算量の減少となる。
【0062】なお、この場合、アダマール変換等の直交
演算を行なう必要があるが、アダマール変換は、和と差
のみの簡単な演算で行なえるので、殆ど演算量の増加と
ならない。
【0063】また、MPEG2のエンコード処理におい
ては、現フレームの画像が次に参照フレームの画像とな
る。したがって、現フレームの画像のブロックで直交変
換したデータを保存しておけば、このフレームの画像が
参照フレームとなったときに、そのまま利用することが
できる。
【0064】更に、動きベトクルの探索を行なう際に、
夫々の探索領域が重り合う。探索領域が重なる部分で
は、同じ直交変換されたデータが必要になる。そこで、
参照フレームのブロックについては、1画素ずつずらし
ながら、直交変換されたデータを記憶しておく。このよ
うにすると、探索領域が重なる部分については、記憶さ
れているデータをそのまま利用することができる。
【0065】なお、上述の例では、直交変換としてアダ
マール変換を用いているが、アダマール変換以外にも、
DCT変換や、FFT(Fast Fourier Transform)等を
用いるようにしても良い。
【0066】また、上述の例では、(16×16)画素
からなるのブロックを(8×8)画素からなる4つの直
交変換ブロックに分割して直交変換しているが、(16
×16)画素からなるのブロックをそのまま直交変換す
るようにしても良い。(8×8)画素に分割して直交変
換を行なうと、変換アルゴリズムが簡単化すると共に、
汎用の直交変換回路やアルゴリズムがそのまま使用でき
る。
【0067】
【発明の効果】この発明によれば、動きベクトルを求め
る際に、参照フレームのブロック及び現フレームのブロ
ックが直交変換され、周波数データに変換される。この
ように画像データを周波数データに変換して参照フレー
ムのブロックと現フレームのブロックとの間の残差を求
めるようにすると、残差を求めるための演算量が大幅に
減少される。これにより、高速処理が可能となり、ソフ
トウェアでも十分に処理することができるようになる。
【図面の簡単な説明】
【図1】データ処理装置の一例のブロック図である。
【図2】MPEG2のエンコード処理の説明に用いるフ
ローチャートである。
【図3】この発明が適用された動きベクトル算出処理に
おける現フレームのブロックの処理の説明に用いる略線
図である。
【図4】この発明が適用された動きベクトル算出処理に
おける現フレームのブロックの処理の説明に用いる略線
図である。
【図5】この発明が適用された動きベクトル算出処理に
おける現フレームのブロックの処理の説明に用いる略線
図である。
【図6】ジグザグスキャンの説明に用いる略線図であ
る。
【図7】この発明が適用された動きベクトル算出処理に
おける参照フレームのブロックの処理の説明に用いる略
線図である。
【図8】この発明が適用された動きベクトル算出処理に
おける参照フレームのブロックの処理の説明に用いる略
線図である。
【図9】この発明が適用された動きベクトル算出処理に
おける参照現フレームのブロックの処理の説明に用いる
略線図である。
【図10】従来のMPEG2エンコーダの構成を示すブ
ロック図である。
【図11】ブロックマッチングの説明に用いる略線図で
ある。
【符号の説明】
1・・・CPU,2・・・ROM,3・・・RAM,7
・・・IDEコントローラ,8・・・SCSIコントロ
ーラ,10・・・IEEE1394コントローラ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C057 AA03 BA01 CA01 EG08 EL01 EM04 EM08 EM09 EM13 EM16 GG03 GG04 5C059 KK10 MA00 MA05 MA14 MA22 MA23 MC11 ME01 NN01 NN28 NN37 PP05 PP06 PP07 SS20 UA02 UA33 UA38 UA39

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと参照画面のブロックとの
    間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出方法において、 上記参照画面のブロックの画素データを直交変換すると
    共に、上記現画面のブロックの画素データを直交変換
    し、 上記直交変換された参照画面のブロックのデータと、上
    記直交変換された現画面のブロックのデータとから残差
    を求めるようにしたことを特徴とする動きベクトル算出
    方法。
  2. 【請求項2】 上記直交変換は、アダマール変換である
    請求項1に記載の動きベクトル算出方法。
  3. 【請求項3】 上記参照画面のブロック及び上記現画面
    のブロックを更に複数の直交変換ブロックに分割し、上
    記各直交変換ブロック毎に画素データの直交変換を行な
    うようにした請求項1に記載の動きベクトル算出方法。
  4. 【請求項4】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと参照画面のブロックとの
    間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出プログラムの記
    録媒体において、 上記参照画面のブロックの画素データを直交変換すると
    共に、上記現画面のブロックの画素データを直交変換
    し、 上記直交変換された参照画面のブロックのデータと、上
    記直交変換された現画面のブロックのデータとから残差
    を求めるようにしたことを特徴とする動きベクトル算出
    プログラムを記録した記録媒体。
  5. 【請求項5】 上記直交変換は、アダマール変換である
    請求項4に記載の動きベクトル算出プログラムを記録し
    た記録媒体。
  6. 【請求項6】 上記参照画面のブロック及び上記現画面
    のブロックを更に複数の直交変換ブロックに分割し、上
    記各直交変換ブロック毎に画素データの直交変換を行な
    うようにした請求項4に記載の動きベクトル算出プログ
    ラムを記録した記録媒体。
JP24148298A 1998-07-15 1998-08-27 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体 Pending JP2000078589A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP24148298A JP2000078589A (ja) 1998-08-27 1998-08-27 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
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
JP24148298A JP2000078589A (ja) 1998-08-27 1998-08-27 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000078589A true JP2000078589A (ja) 2000-03-14

Family

ID=17074978

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2000078589A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006070614A1 (ja) * 2004-12-28 2006-07-06 Nec Corporation 画像符号化装置、画像符号化方法及びそのプログラム
US7720235B2 (en) 2001-10-22 2010-05-18 Sony Corporation Signal processing method and apparatus, signal processing program, and recording medium
US7729545B2 (en) 2001-10-22 2010-06-01 Sony Corporation Signal processing method and method for determining image similarity
US8255214B2 (en) 2001-10-22 2012-08-28 Sony Corporation Signal processing method and processor
US8422807B2 (en) 2009-12-17 2013-04-16 Megachips Corporation Encoder and image conversion apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720235B2 (en) 2001-10-22 2010-05-18 Sony Corporation Signal processing method and apparatus, signal processing program, and recording medium
US7729545B2 (en) 2001-10-22 2010-06-01 Sony Corporation Signal processing method and method for determining image similarity
US8255214B2 (en) 2001-10-22 2012-08-28 Sony Corporation Signal processing method and processor
WO2006070614A1 (ja) * 2004-12-28 2006-07-06 Nec Corporation 画像符号化装置、画像符号化方法及びそのプログラム
US8422807B2 (en) 2009-12-17 2013-04-16 Megachips Corporation Encoder and image conversion apparatus

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
JP4528441B2 (ja) ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置
JP4002396B2 (ja) 動きベクトル決定方法及び装置
US6571017B1 (en) Method and apparatus for digital image coding and decoding, and data recording media
JP3667105B2 (ja) 動きベクトル検出方法及びその方法を実施する装置
WO2007057985A1 (ja) 画像符号化装置および画像符号化方法
JP5256496B2 (ja) 画像処理システム、画像処理方法、およびプログラム
US6370195B1 (en) Method and apparatus for detecting motion
JP2001076155A (ja) 動画像内の移動物体検出方法及び装置
JPH11262020A (ja) モーションベクトル検出装置
JP2000078589A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2000069484A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
EP0973336A2 (en) Motion vector detecting, picture encoding and recording method and apparatus
JP2008154072A (ja) 動画像符号化装置及び動画像符号化方法
US20020131503A1 (en) Moving image compression apparatus, and cut detection data generation method for the apparatus
JPH0723397A (ja) 画像信号復号化装置及び画像信号復号化方法
CN101394559B (zh) 动态图像处理方法、译码方法及其装置
JP2000050278A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2776284B2 (ja) 画像符号化装置
JP3063380B2 (ja) 高能率符号化装置
JP2000032471A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
US6038345A (en) Apparatus for encoding/decoding image data
JPH1042300A (ja) 動きベクトル検出装置
JP3141149B2 (ja) 画像符号化装置
JP3337515B2 (ja) 動きベクトル検出装置