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

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

Info

Publication number
JP2000050278A
JP2000050278A JP21237898A JP21237898A JP2000050278A JP 2000050278 A JP2000050278 A JP 2000050278A JP 21237898 A JP21237898 A JP 21237898A JP 21237898 A JP21237898 A JP 21237898A JP 2000050278 A JP2000050278 A JP 2000050278A
Authority
JP
Japan
Prior art keywords
pixels
block
screen
motion vector
reference screen
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
JP21237898A
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 JP21237898A priority Critical patent/JP2000050278A/ja
Priority to EP19990113869 priority patent/EP0973336A2/en
Priority to KR1019990028615A priority patent/KR20000011728A/ko
Publication of JP2000050278A publication Critical patent/JP2000050278A/ja
Priority to US09/910,065 priority patent/US20020015513A1/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 MPEG2のエンコードをソフトウェアで行
う際に、探索領域内でのブロックマッチングの回数を減
らして高速処理を図ると共に、MMX命令を有効に活用
できるようにする。 【解決手段】 参照フレーム及び現フレームのブロック
内の画素を市松模様状に間引いてブロックマッチングを
行なう際に、市松模様状に取り出された現フレームの画
素及び参照フレームの画素を連続して並ぶデータとして
メモリに記憶する。これにより、ブロックマッチングの
際にMMX命令を有効に利用することができ、高速化が
図れる。また、市松模様状に取り出された現フレームの
画素及び参照フレームの画素を連続して並ぶデータとし
てメモリに記憶すると、2画素ステップでサーチしてい
くことになるため、ロガリズミックサーチが簡単に行な
える。

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】図11は、従来のMPEG2方式のエンコ
ーダの構成の一例を示すものである。図11において、
入力端子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】つまり、図12において、現フレーム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】このような動きベクトルの探索を高速化す
るためには、二つのアプローチが考えられる。一つは、
1回のブロックマッチングの計算量を削減することであ
り、他の一つは、探索領域内でのブロックマッチングの
回数を減らすことである。前者の方法の一つとして、参
照フレーム及び現フレームのブロック内の画素を市松模
様状に間引いてブロックマッチングを行なうものがあ
る。このように、ブロックを市松模様上に間引くと、絶
対値差分和の演算回数を半減させることができる。
【0033】ところが、ブロックを市松模様状に間引く
と、画素のデータが連続しなくなるため、MMX命令が
使えなくなる。つまり、MMX命令は、連続して並ぶ複
数のデータに対して1命令で同様の処理を行なわせる命
令であり、マルチメディアを扱える近年のパーソナルコ
ンピュータでは、MMX機能を有するCPUを備えたも
のが多い。ブロックマッチングでは、画素間の差分の絶
対値和を求める処理が行なわれるので、MMX命令が有
効に使えると、演算速度が高速化できる。ところが、ブ
ロックを市松模様状に間引いてしまうと、画素のデータ
が連続しなくなる。このため、連続して並ぶ複数のデー
タに対して1命令で同様の処理を行なわせるようなMM
X命令を使って処理ができなくなる。このため、ブロッ
クを市松模様状に間引いてブロックマッチングの回数を
減らしたとしも、処理時間は殆ど短縮化しないことにな
る。
【0034】したがって、この発明の目的は、探索領域
内でのブロックマッチングの回数を減らして高速処理を
図ると共に、MMX命令を有効に活用できるようにした
動きベクトル算出方法及び動きベクトル算出プログラム
を記録した記録媒体を提供することにある。
【0035】
【課題を解決するための手段】この発明は、処理の対象
となる現画面において分割された現画面のブロックに対
して、参照画面内における同位置を基点としてそのブロ
ックと大きさの等しい参照画面のブロックを抽出し、所
定の探索範囲内で参照画面のブロックを動かしながら、
現画面のブロックと参照画面のブロックとの間の残差を
求め、残差が最小となる参照画面のブロックを検出して
動きベクトルを算出する動きベクトル算出方法におい
て、現画面の画素及び参照画面の画素をN画素(Nは整
数)毎に取り出し、N画素毎に取り出された現画面の画
素及び参照画面の画素を連続して並ぶデータとしてメモ
リに記憶させ、メモリから連続して並ぶデータとして現
画面のブロックの画素及び参照画面のブロックの画素を
読み出して残差を求めるようにしたことを特徴とする動
きベクトル算出方法及びこのような動きベクトル算出プ
ログラムが記録された記録媒体である。
【0036】この発明は、処理の対象となる現画面にお
いて分割された現画面のブロックに対して、参照画面内
における同位置を基点としてそのブロックと大きさの等
しい参照画面のブロックを抽出し、所定の探索範囲内で
粗い精度で参照画面のブロックを動かしながら現画面の
ブロックと参照画面のブロックとの間の残差を求め、残
差が最小となる参照画面のブロックを検出して粗いサー
チの動きベクトルを算出し、粗いサーチで求められた動
きベクトルの周辺で、より細かい精度で参照画面のブロ
ックを動かしながら現画面のブロックと参照画面のブロ
ックとの間の残差を求め、残差が最小となる参照画面の
ブロックを検出してより細かい精度の動きベクトルを検
出していくようにした動きベクトル算出方法において、
現画面及び参照画面の画素を第1のメモリに記憶させる
と共に、現画面の画素及び参照画面の画素をN画素(N
は整数)毎に取り出し、N画素毎に取り出された現画面
の画素及び参照画面の画素を連続して並ぶデータとして
第2のメモリに記憶させ、粗いサーチの動きベクトルを
算出する際には、第2のメモリに記憶されているN画素
毎に取り出され連続して並ぶデータとされた現画面の画
素及び参照画面の画素を用い、より細かい精度の動きベ
クトルを算出する際には、第1のメモリに記憶されてい
る現画面及び参照画面の画素を用いるようにしたことを
特徴とする動きベクトル算出方法及びこのような動きベ
クトル算出プログラムが記録された記録媒体である。
【0037】参照フレーム及び現フレームのブロック内
の画素を市松模様状に間引いてブロックマッチングを行
なうようにしている。この時、市松模様状に取り出され
た現フレームの画素及び参照フレームの画素は、連続し
て並ぶデータとしてメモリに記憶される。このようにす
ると、ブロックマッチングの際にMMX命令を有効に利
用することができ、高速化が図れる。
【0038】また、現フレームの画素及び参照フレーム
の画素が記憶されるメモリと、市松模様状に取り出され
た現フレームの画素及び参照フレームの画素を連続して
並ぶデータとして記憶されるメモリとが用意される。そ
して、先ず、市松模様状に取り出された現フレームの画
素及び参照フレームの画素を連続して並ぶデータとして
記憶されたメモリを使って、2画素ステップのサーチが
行なわれる。この時、市松模様状に取り出された現フレ
ームの画素及び参照フレームの画素を連続して並ぶデー
タとしてメモリに記憶させているので、メモリ上で1つ
ずつ参照ブロックを動かしていくと、2画素ステップで
サーチしていくことになる。2画素ステップのサーチに
より動きベクトルが求められたら、求められた点の周辺
で、現フレームの画素及び参照フレームの画素の全画素
が記憶されたメモリを使って、1画素ステップのサーチ
が行なわれる。
【0039】このように、市松模様状に取り出された現
フレームの画素及び参照フレームの画素を連続して並ぶ
データとしてメモリに記憶させるようにすると、2画素
ステップでサーチしていくことになるため、MMX命令
が使えるだけでなく、ロガリズミックサーチが簡単に行
なえるという利点が生じる。
【0040】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。図1は、この発明が適用
できるデータ処理装置の構成を示すものである。
【0041】図1において、1はCPU(Central Proc
essing Unit )、2はROM(ReadOnly Memory)、3
はRAM(Random Access Memory)である。CPU1、
ROM2、RAM3は、プロセッサバス4に接続され
る。
【0042】CPU1としては、例えば、MMX機能を
有するプロセッサが用いられる。MMX機能は、動画の
再生や、画像の加工、音声合成のような処理を高速で行
なえるようにしたものである。すなわち、MMX命令で
は、SIMD(Single Instruction Multiple Data)と
呼ばれる技術を用いることにより、1回の命令で連続し
たデータに対して同じ処理を繰り返し行なえる。
【0043】ROM2には、ブートストラップのプログ
ラムが格納されている。RAM3は、作業用のメインメ
モリで、RAM3の容量としては、例えば、64Mbi
t以上のものを搭載することが望まれる。
【0044】CPU1は、ブリッジ回路5に接続されて
おり、ブリッジ回路5からプロセッサバス4が導出され
る。ブリッジ回路5は、PCI(Peripherala Componen
t Interconnect)バス6に接続される。ブリッジ回路5
は、CPU1と、プロセッサバス4及びPCIバス6と
を繋ぐものである。
【0045】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が接続される。
【0046】IDEコントローラ7には、ハードディス
クドライブやCDドライブ等のストレージデバイス11
が接続される。SCSIコントローラ8には、ハードデ
ィスクドライブやCDドライブ等のストレージデバイス
12が接続される。また、SCSIコントローラ8に
は、ストレージデバイスの他、イメージスキャナ等、種
々の周辺機器を取り付けることができる。グラフィック
スアクセレータ9には、ディスプレイ13が取り付けら
れる。IEEE1394コントローラ10には、ディジ
タルVCR(Video Cassette Recoder)等のディジタル
オーディオビデオ機器を接続することができる。
【0047】PCIバス6は、ブリッジ回路14を介し
て、ISA(Industrial StandardArchitecture)バス
15に接続される。ブリッジ回路14は、PCIバス6
とISAバス15とを繋ぐものである。ISAバス15
には、入力デバイスコントローラ16、フロッピディス
クコントローラ17、パラレルコトローラ18、RS2
32Cコントローラ19が接続される。
【0048】入力デバイスコントローラ16には、キー
ボードやマウス等の入力デバイス20が接続される。フ
ロッピディスクコントローラ17には、フロッピディス
クドライブ21が接続される。パラレルコントローラ1
8には、プリンタ等を取り付けることができる。RS2
32Cコントローラ19には、モデム等を取り付けるこ
とができる。
【0049】初期状態では、先ず、ROM2に格納され
ているブートストラップのプログラムが走り、初期設定
が行なわれる。そして、ストレージデバイス11又は1
2がアクセスされ、ストレージデバイス11又は12に
インストールされているオペレーティングシステムが読
み込まれ、プログラムの常駐部がメインメモリとされた
RAM3に常駐される。これにより、オペレーティング
システムが起動され、このオペレーティングシステムの
管理の基に、種々の処理が実行される。
【0050】なお、上述の例では、PCIバスとISA
バスとを用いた構成とされているが、このような構成に
限定されるものではない。USB(Universal Serial B
us)を設け、このUSBバスにキーボードやマウス等の
種々の機器を接続するようにしても良い。
【0051】上述のようなデータ処理装置でMPEG2
のエンコード処理を行なう場合には、MPEG2のエン
コード処理を行なうアプリケーションプログラムが実行
される。このアプリケーションプログラムは、IDEの
ハードディスク等のストレージデバイス11又はSCS
Iのハードディスク等のストレージデバイス12に実行
可能なプログラムとして格納されており、このアプリケ
ーションプログラムは、実行時にはRAM3に読み込ま
れ、CPU1により逐次実行される。
【0052】なお、このMPEG2のエンコード処理を
行なうアプリケーションプログラムは、IDEのハード
ディスク等のストレージデバイス11又はSCSIのハ
ードディスク等のストレージデバイス12に予めインス
トールしておくようにしても良いし、CD−ROMやフ
ロッピディスクにより提供するようにしても良い。更
に、通信で提供するようにしても良い。
【0053】このMPEG2のエンコード処理を行なう
アプリケーションプログラムが実行されると、ディジタ
ルビデオデータに対して、予測モードに応じて、動きベ
クトルの算出処理、DCT演算処理、量子化処理、可変
長符号化処理が行なわれ、ディジタルビデオデータがM
PEG2方式により圧縮される。このとき、作業用とし
て、RAM3が用いられ、演算は、CPU1の演算機能
を用いて行なわれる。ディジタルビデオデータは、例え
ば、IEEE1394コントローラ10に接続された外
部のディジタルVCR等から入力される。そして、出力
データは、例えば、SCSIコントローラ8やIDEコ
ントローラ7に接続されたハードディスクドライブ等に
記録される。
【0054】図2は、このようなMPEG2のエンコー
ド処理プログラムの概要を示すフローチャートである。
【0055】図2に示すように、先ず、複数フレームの
ディジタルビデオデータが取り込まれ、このディジタル
ビデオデータがRAM3上にバッファされる(ステップ
S1)。そして、ブロックマッチングにより、動きベク
トルが算出される(ステップS2)。
【0056】予測モードがIピクチャか、Pピクチャ
か、Bピクチャかが判断される(ステップS3)。ステ
ップS3でIピクチャであると判断されたら、同一フレ
ーム内での(8×8)画素を1ブロックとしてDCT演
算が行なわれる(ステップS4)。そして、求められた
係数データは量子化され(ステップS5)、可変長符号
化される(ステップS6)。また、このときのデータ
は、参照画像のデータとしてRAM3上に保存される
(ステップS7)。
【0057】ステップS3でPピクチャであると判断さ
れたら、順方向の参照画像のデータがRAM3から読み
出され(ステップS8)、この参照画像に対して、ステ
ップS2で算出された動きベクトルに基づいて動き補償
がなされ(ステップS9)、現画像のデータと、動き補
償された参照画像ののデータとの差分が求められ、この
現画像のデータと、参照画像のデータとの差分データが
DCT演算される(ステップS10)。そして、求めら
れたデータは量子化され(ステップS11)、可変長符
号化される(ステップS12)。また、このときのデー
タは、参照画像のデータとしてRAM3上に保存される
(ステップS13)。
【0058】ステップS3でBピクチャであると判断さ
れたら、両方向の参照画像のデータがRAM3から読み
出され(ステップS14)、この参照画像に対して、ス
テップS2で算出された動きベクトルに基づいて動き補
償がなされ(ステップS15)、現画像のデータと、動
き補償された参照画像のデータとの差分が求められ、こ
の現画像のデータと、参照画像のデータとの差分データ
がDCT演算される(ステップS16)。そして、求め
られたデータは量子化され(ステップS17)、可変長
符号化される(ステップS18)。
【0059】上述のステップS2で示す動きベクトルの
算出処理は、処理の対象となる現フレームにおいて分割
されたブロックに対して、参照フレームの画面内におけ
る同位置を基点としてそのブロックと大きさの等しいブ
ロックを抽出し、所定の探索範囲内でこのブロックを動
かしながら、現フレームのブロックの画素と参照フレー
ムのブロックの各画素との差分の絶対値和から残差を求
め、この残差が最小となるブロックを検出するようなブ
ロックマッチングにより行なわれる。ところが、このよ
うなブロックマッチングにより動きベクトルを求める
と、その演算量は膨大となる。
【0060】そこで、この発明では、図3に示すよう、
参照フレーム及び現フレームのブロック内の画素を市松
模様状に間引いてブロックマッチングを行なうようして
いる。
【0061】図3において、参照フレームのブロック3
1は(16×16)画素からなり、この(16×16)
画素の中から、市松模様状に(8×16)画素が取り出
される。また、現フレームのブロック31は(16×1
6)画素からなり、この(16×16)画素の中から、
市松模様状に(8×16)画素が取り出される。
【0062】そして、この時、MMX命令を有効に利用
してブロックマッチングが行なえるように、この市松模
様状に取り出された現フレームの画素及び参照フレーム
の画素は、連続して並ぶデータとしてメモリ(RAM3
の所定の領域)に記憶させる。
【0063】すなわち、図4Aに示すように、現フレー
ムの画素及び参照フレームの画素から市松模様状に画素
が取り出される。このように間引かれた画素は、図4B
に示すように、データが連続するように再配置され、図
4Cに示すように、メモリの連続するアドレス上に取り
込まれる。
【0064】このように連続して並ぶデータとして現フ
レームの画素及び参照フレームの画素をメモリに記憶さ
せると、MMX命令を使ってブロックマッチングの処理
が行なえるようになるため、高速な演算処理が可能とな
る。
【0065】また、このように、市松模様状に間引かれ
た現フレームの画素及び参照フレームの画素を連続して
並ぶデータとしてメモリに記憶させるようにすると、2
画素ステップでサーチしていくことになるため、MMX
命令が使えるだけでなく、ロガリズミックサーチが簡単
に行なえるという利点が生じる。
【0066】ここで、ロガリズミックサーチは、最初に
探索範囲内において粗くサーチを行って残差が最小とな
る点を検出し、次に、その点の周囲で精度を上げてサー
チを行なって残差が最小となる点を検出して動きベクト
ルを求めるようなものである。
【0067】市松模様状に取り出された現フレームの画
素及び参照フレームの画素を連続して並ぶデータとして
メモリに記憶されている場合には、以下のようにしてロ
ガリズムサーチが行なわれる。
【0068】現フレームの画素及び参照フレームの画素
の全画素が記憶されたメモリと、市松模様状に取り出さ
れた現フレームの画素及び参照フレームの画素を連続し
て並ぶデータとして記憶されたメモリ(又はメモリ領
域)とが用意される。そして、先ず、市松模様状に取り
出された現フレームの画素及び参照フレームの画素を連
続して並ぶデータとして記憶されたメモリを使って、2
画素ステップの粗いサーチが行なわれる。2画素ステッ
プの粗いサーチにより動きベクトルが求められたら、求
められた点の周辺で、現フレームの画素及び参照フレー
ムの画素の全画素が記憶されたメモリを使って、1画素
ステップのより細かいサーチが行なわれる。これによ
り、最終的な動きベクトルが求められる。
【0069】例えば、図5Aに示すように、各フレーム
の画像データF1、F2、F3、…が入力されるとす
る。そして、この入力画像F1、F2、F3、、…をエ
ンコードして、図5Bに示すように、I、B、B、P、
B、B、P、…ピクチャの順でMPEG2のピクチャP
1、P2、P3、…をエンコードするとする。
【0070】このようなエンコード処理において、上述
のようにして動きベクトルを求めるために、図6に示す
ように、作業用のRAM3には、入力された1フレーム
分の画像データの全画素を夫々蓄積するメモリ領域21
A〜21Fと、1フレーム分の画素を市松模様状に取り
出して連続したデータとして蓄積するメモリ領域22A
〜22Cが設けられる。
【0071】図7に示すように、画像データF1、F
2、F3、…が入力されると、この画像データは、1フ
レーム毎にメモリ領域21A〜21Fに保存されると共
に、この1フレーム分の画像データの中から、市松模様
状に1サンプル毎の画素が取り出され、この市松模様状
に取り出された画素は、連続するアドレスに再配置さ
れ、画像データf1、f2、f3、…としてメモリ領域
22A〜22Cに保存される。
【0072】つまり、時点T1で画像データF1がメモ
リ領域21Aに取り込まれ、時点T2で画像データF2
がメモリ領域21Bに取り込まれ、時点T3で画像デー
タF3がメモリ領域21Cに取り込まれ、時点T4で画
像データF4がメモリ領域21Dに取り込まれる。
【0073】そして、時点T4では、画像データF1か
ら市松模様状に1サンプル毎画素が取り出され、連続し
たアドレスに配列されたデータf1がメモリ領域22A
に蓄積される。また、画像データF4から市松模様状に
1サンプル毎画素が取り出され、連続したアドレスに配
列されたデータf4がメモリ領域22Bに蓄積される。
【0074】時点T5で、画像データF5がメモリ領域
21Eに蓄積される。また、画像データF2から市松模
様状に1サンプル毎画素が取り出され、連続したアドレ
スに配列されたデータf2がメモリ領域22Cに蓄積さ
れる。
【0075】時点T6で、画像データF6がメモリ領域
21Fに蓄積される。また、画像データF3から市松模
様状に1サンプル毎の画素が取り出され、連続したアド
レスに配列されたデータf3がメモリ領域22Cに蓄積
される。
【0076】時点T7で、画像データF7がメモリ領域
21Aに蓄積される。また、画像データF7から市松模
様状に1サンプル毎画素が取り出され、連続したアドレ
スに配列されたデータf7がメモリ領域22Aに蓄積さ
れる。
【0077】以下、図7に示すように、各時点で入力さ
れたフレームの画像データがメモリ領域21A〜21F
に蓄積されると共に、各フレームの画像データから市松
模様状に1サンプル毎画素が取り出され、連続したアド
レスに配列されたデータがメモリ領域22A〜22Cに
蓄積される。
【0078】このように、メモリ領域21A〜21Fに
保存された画像データF1、F2、F3、…及びメモリ
領域22A〜22Cに保存された市松模様状に間引かれ
た画像データf1、f2、f3、…を用いて、動きベク
トルが求められる。動きベクトルは、2画素ステップで
所定の探索範囲のサーチを行い、この2画素ステップの
サーチで求められた点の周辺を、1画素ステップでサー
チするようなロガリズミックサーチにより求められる。
【0079】ピクチャP1は、Iピクチャであるので、
時点T1〜T3の間でエンコードすることができる。
【0080】時点T4で、PピクチャであるピクチャP
4のエンコード処理が行なわれ、その動きベクトルが求
められる。ピクチャP4では、参照フレームとしてF1
が用いられ、現フレームとしてF4が用いられる。この
場合、最初の2画素ステップのサーチは、参照フレーム
のブロックとして、メモリ領域22Aに蓄積されている
データf1が用いられ、現フレームのブロックとして、
メモリ領域22Bに蓄積されているデータf4が用いら
れる。次の1画素ステップのサーチは、参照フレームの
ブロックとして、メモリ領域21Aに蓄積されているデ
ータF1が用いられ、現フレームのブロックとして、メ
モリ領域21Dに蓄積されているデータF4が用いられ
る。
【0081】時点T5で、BピクチャであるピクチャP
2のエンコード処理が行なわれ、その動きベクトルが求
められる。ピクチャP2では、参照フレームとしてF1
とF4が用いられ、現フレームとしてF2が用いられ
る。この場合、最初の2画素ステップのサーチは、参照
フレームのブロックとして、メモリ領域22Aに蓄積さ
れているデータf1と、メモリ領域22Bに蓄積されて
いるデータf4とが用いられ、現フレームのブロックと
して、メモリ領域22Cに蓄積されているデータf2が
用いられる。次の1画素ステップのサーチは、参照フレ
ームのブロックとして、メモリ領域21Aに蓄積されて
いるデータF1と、メモリ領域21Dに蓄積されている
データF4とが用いられ、現フレームのブロックとし
て、メモリ領域21Bに蓄積されているデータF2が用
いられる。
【0082】時点T6で、BピクチャであるピクチャP
3のエンコード処理が行なわれ、その動きベクトルが求
められる。ピクチャP3では、参照フレームとしてF1
とF4が用いられ、現フレームとしてF3が用いられ
る。この場合、最初の2画素ステップのサーチは、参照
フレームのブロックとして、メモリ領域22Aに蓄積さ
れているデータf1と、メモリ領域22Bに蓄積されて
いるデータf4とが用いられ、現フレームのブロックと
して、メモリ領域22Cに蓄積されているデータf3が
用いられる。次の1画素ステップのサーチは、参照フレ
ームのブロックとして、メモリ領域21Aに蓄積されて
いるデータF1と、メモリ領域21Dに蓄積されている
データF4とが用いられ、現フレームのブロックとし
て、メモリ領域21Cに蓄積されているデータF3が用
いられる。
【0083】時点T7で、PピクチャであるピクチャP
7のエンコード処理が行なわれ、その動きベクトルが求
められる。ピクチャP7では、参照フレームとしてF4
が用いられ、現フレームとしてF7が用いられる。この
場合、最初の2画素ステップのサーチは、参照フレーム
のブロックとして、メモリ領域22Bに蓄積されている
データf4が用いられ、現フレームのブロックとして、
メモリ領域22Aに蓄積されているデータf7が用いら
れる。次の1画素ステップのサーチは、参照フレームの
ブロックとして、メモリ領域21Dに蓄積されているデ
ータF4が用いられ、現フレームのブロックとして、メ
モリ領域21Aに蓄積されているデータF7が用いられ
る。
【0084】以下、同様にして、時点T8で、Bピクチ
ャであるピクチャP5の動きベクトルが求められ、時点
T9で、BピクチャであるピクチャP6の動きベクトル
が求められる。
【0085】図8は、上述のように、ロガリズミックサ
ーチにより動きベクトルを算出する再の処理を示すフロ
ーチャートである。図8において、入力画像データが保
存されると共に、参照フレーム及び現フレームのデータ
から市松模様状に1サンプルおきの画素データが抽出さ
れ、この1サンプルおきの画素データが連続したアドレ
ス上に再配置されて保存される(ステップS21)。
【0086】1画面の全ブロックについての処理が終了
したか否かが判断される(ステップS22)。
【0087】1画面の全ブロックの処理が終了していな
ければ、最初に、所定の探索範囲内で2画素ステップで
ブロックを動かしながらブロックマッチングのサーチが
行なわれる。(ステップS23)。
【0088】2画素ステップの動きベクトルが検出され
たら、次に、その動きベクトルの周辺で、1画素ステッ
プでブロックを動かしながらブロックマッチングのサー
チが行なわれる(ステップS24)。
【0089】このようにして求められた結果が保存され
(ステップS25)、次のブロックに進められる(ステ
ップS26)。そして、ステップS22で、このブロッ
クが最後のブロックか否かが判断され、最後のブロック
でなければ、同様の処理が繰り返され、次のブロックで
の動きベクトルが求められる。画面全体のブロックの動
きベクトルが求められたら、ステップS22で、最後の
ブロックであると判断され、処理が終了される。
【0090】図9は、図8におけるステップS23の2
画素ステップのサーチの処理を示すフローチャートであ
る。この2画素ステップサーチ処理は、現フレームの画
素及び参照フレームの画素が市松模様状に取り出され、
連続して並ぶデータとして記憶されたメモリを使って行
なわれる。
【0091】図9において、先ず、探索範囲の開始点が
決められる(ステップS31)。そして、縦方向の探索
開始位置が最上端にリセットされる(ステップS3
2)。縦方向において、最下端の探索位置まで到達した
か否かが判断され(ステップS33)、最下端でなけれ
ば、横方向の位置が最左端にリセットされる(ステップ
S34)。
【0092】探索範囲の右端に達したか否かが判断され
る(ステップS35)。探索範囲の右端に達していなけ
れば、市松模様状の(8×16)のブロックでのブロッ
クマッチング処理が行なわれ、残差が求められる(ステ
ップS36)。
【0093】このときの残差ADがそれまでの最小値A
Dminより小さいか否かが判断され(ステップS3
7)、残差ADが最小値ADminより小ければ、今回
の残差ADが最小値ADminとされ、動きベクトルM
Vが現在の位置とされて(ステップS38)、横方向の
位置が2画素ステップ動かされる(ステップS39)。
なお、現フレームの画素及び参照フレームの画素が市松
模様状に取り出され、連続して並ぶデータとしてメモリ
に記憶させているので、2画素ステップ動かすことは、
メモリ上では1ステップずつ動かすことに相当する。
【0094】ステップS37で、残差ADがそれまでの
最小値ADminより小さくなければ、ステップS39
に行き、横方向の位置が2画素ステップ動かされる。そ
して、ステップS35にリターンされる。
【0095】ステップS35で、探索範囲の右端に達し
たか否かが判断され、探索範囲の右端に達していなけれ
ば、同様の処理が繰り返される。これにより、探索範囲
を左から右にブロックを動かしながら、残差が求めら
れ、それまでの最小の残差が最小値ADminとして保
存される。
【0096】ステップS35で、探索範囲の右端に達し
たと判断されると、縦方向に2画素ステップだけブロッ
クが動かされる(ステップS40)。そして、ステップ
S33にリターンされる。そして、以下、同様の処理が
実行される。
【0097】縦方向において、最下端の探索位置まで到
達すると、ステップS33で、最下端の探索位置まで到
達したと判断される。最下端の位置まで到達したと判断
されたら、その結果が動きベクトルMVとして保存され
る(ステップS41)。なお、この動きベクトルMV
は、次の1画素ステップでのサーチでの基準点となる。
【0098】図10は、図8におけるステップS24の
1画素ステップのサーチの処理を示すフローチャートで
ある。この1画素ステップのサーチ処理は、現フレーム
及び参照フレームの全画素が記憶されたメモリを使って
行なわれる。
【0099】図10において、先ず、図9におけるステ
ップS41で求められた次のステップのサーチの基準点
の左上に開始点が決められる(ステップS51)。そし
て、縦方向の探索開始位置が最上端にリセットされる
(ステップS52)。縦方向において、最下端の探索位
置まで到達したか否かが判断され(ステップS53)、
最下端でなければ、横方向の位置が最左端にリセットさ
れる(ステップS54)。
【0100】探索範囲の右端に達したか否かが判断され
る(ステップS55)。探索範囲の右端に達していなけ
れば、(16×16)のブロックでのブロックマッチン
グ処理が行なわれ、残差が求められる(ステップS5
6)。
【0101】このときの残差ADがそれまでの最小値A
Dminより小さいか否かが判断され(ステップS5
7)、残差ADが最小値ADminより小ければ、今回
の残差ADが最小値ADminとされ(ステップS5
8)、動きベクトルMVが現在の位置とされて、横方向
の位置が1画素ステップ動かされる(ステップS5
9)。
【0102】ステップS57で、残差ADがそれまでの
最小値ADminより小さくなければ、ステップS59
に行き、横方向の位置が1画素ステップ動かされる。そ
して、ステップS55にリターンされる。
【0103】ステップS55で、探索範囲の右端に達し
たか否かが判断され、探索範囲の右端に達していなけれ
ば、同様の処理が繰り返される。これにより、探索範囲
を左から右にブロックを動かしながら、残差が求めら
れ、それまでの最小の残差が最小値ADminとして保
存される。
【0104】ステップS55で、探索範囲の右端に達し
たと判断されると、縦方向に1画素ステップだけブロッ
クが動かされる(ステップS60)。そして、ステップ
S53にリターンされる。そして、以下、同様の処理が
実行される。
【0105】縦方向において、最下端の探索位置まで到
達すると、ステップS53で、最下端の探索位置まで到
達したと判断される。最下端の位置まで到達したと判断
されたら、その結果から動きベクトルMVが求められ、
処理が終了する。
【0106】なお、上述の例では、参照フレーム及び現
フレームの1サンプル毎に市松模様状に取り出している
が、間引き方はこれに限定されるものではない。間引き
間隔や、間引き方については、各種のものが適用可能で
ある。
【0107】また、上述の例では、ロガリズミックサー
チを行なう際に、最初の粗いサーチで、1サンプル毎に
間引かれた画素が蓄積されたメモリ上で、アドレスを1
ずつ動かすことにより、2画素ステップのサーチを行な
っているが、アドレスを2ずつ動かすことにより、4画
素ステップのサーチを行なったり、アドレスを3ずつ動
かすことにより、6画素ステップのサーチを行なったり
するようにしても良い。また、上述の例では、2画素ス
テップのサーチと、1画素ステップのサーチとからロガ
リズミックサーチを行なっているが、更に、複数段のロ
ガリズミッグサーチを行なうようにしても良い。
【0108】
【発明の効果】この発明によれば、参照フレーム及び現
フレームのブロック内の画素を市松模様状に間引いてブ
ロックマッチングを行なうようにしている。この時、市
松模様状に取り出された現フレームの画素及び参照フレ
ームの画素は、連続して並ぶデータとしてメモリに記憶
される。このようにすると、ブロックマッチングの際に
MMX命令を有効に利用することができ、高速化が図れ
る。
【0109】また、現フレームの画素及び参照フレーム
の画素が記憶されるメモリと、市松模様状に取り出され
た現フレームの画素及び参照フレームの画素を連続して
並ぶデータとして記憶されるメモリとが用意される。そ
して、先ず、市松模様状に取り出された現フレームの画
素及び参照フレームの画素を連続して並ぶデータとして
記憶されたメモリを使って、2画素ステップのサーチが
行なわれる。この時、市松模様状に取り出された現フレ
ームの画素及び参照フレームの画素を連続して並ぶデー
タとしてメモリに記憶させているので、メモリ上で1つ
ずつ参照ブロックを動かしていくと、2画素ステップで
サーチしていくことになる。2画素ステップのサーチに
より動きベクトルが求められたら、求められた点の周辺
で、現フレームの画素及び参照フレームの画素の全画素
が記憶されたメモリを使って、1画素ステップのサーチ
が行なわれる。
【0110】このように、市松模様状に取り出された現
フレームの画素及び参照フレームの画素を連続して並ぶ
データとしてメモリに記憶させるようにすると、2画素
ステップでサーチしていくことになるため、MMX命令
が使えるだけでなく、ロガリズミックサーチが簡単に行
なえるという利点が生じる。
【図面の簡単な説明】
【図1】データ処理装置の一例のブロック図である。
【図2】MPEG2のエンコード処理の説明に用いるフ
ローチャートである。
【図3】市松模様状の間引き処理の説明に用いる略線図
である。
【図4】市松模様状のデータを連続したデータとして並
べる際の説明に用いる略線図である。
【図5】この発明が適用されたMPEG2エンコーダで
のエンコード処理の説明に用いる略線図である。
【図6】この発明が適用されたMPEG2エンコーダで
のエンコード時のメモリ構成の説明に用いる略線図であ
る。
【図7】この発明が適用されたMPEG2エンコーダで
のエンコード時の説明に用いるタイミング図である。
【図8】この発明が適用されたMPEG2エンコーダで
の動きベクトルの算出処理の説明に用いるフローチャー
トである。
【図9】この発明が適用されたMPEG2エンコーダで
の動きベクトルの算出処理の説明に用いるフローチャー
トである。
【図10】この発明が適用されたMPEG2エンコーダ
での動きベクトルの算出処理の説明に用いるフローチャ
ートである。
【図11】従来のMPEG2エンコーダの構成を示すブ
ロック図である。
【図12】ブロックマッチングの説明に用いる略線図で
ある。
【符号の説明】
1・・・CPU,2・・・ROM,3・・・RAM,7
・・・IDEコントローラ,8・・・SCSIコントロ
ーラ,10・・・IEEE1394コントローラ

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと参照画面のブロックとの
    間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出方法において、 上記現画面の画素及び上記参照画面の画素をN画素(N
    は整数)毎に取り出し、 上記N画素毎に取り出された現画面の画素及び上記参照
    画面の画素を連続して並ぶデータとしてメモリに記憶さ
    せ、 上記メモリから連続して並ぶデータとして上記現画面の
    ブロックの画素及び上記参照画面のブロックの画素を読
    み出して残差を求めるようにしたことを特徴とする動き
    ベクトル算出方法。
  2. 【請求項2】 上記連続して並ぶ複数のデータに対して
    1命令で同様の処理を行なわせる命令を使って、上記残
    差の演算をするようにした請求項1に記載の動きベクト
    ル算出方法。
  3. 【請求項3】 上記現画面の画素及び上記参照画面の画
    素を市松模様状にN画素毎に取り出すようした請求項1
    に記載の動きベクトル算出方法。
  4. 【請求項4】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で上記参照画面のブロックを動かしな
    がら、上記現画面のブロックと参照画面のブロックとの
    間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して動
    きベクトルを算出する動きベクトル算出プログラムであ
    って、 上記現画面の画素及び上記参照画面の画素をN画素(N
    は整数)毎に取り出し、 上記N画素毎に間引かれた現画面の画素及び上記参照画
    面の画素を連続して並ぶデータとしてメモリに記憶さ
    せ、 上記メモリから連続して並ぶデータとして上記現画面の
    ブロックの画素及び上記参照画面のブロックの画素を読
    み出して残差を求めるようにした動きベクトル算出プロ
    グラムを記録した記録媒体。
  5. 【請求項5】 上記連続して並ぶ複数のデータに対して
    1命令で同様の処理を行なわせる命令を使って、上記残
    差の演算をするようにした請求項4に記載の動きベクト
    ル算出プログラムを記録した記録媒体。
  6. 【請求項6】 上記現画面の画素及び上記参照画面の画
    素を市松模様状にN画素毎に取り出すようした請求項4
    に記載の動きベクトル算出プログラムを記録した記録媒
    体。
  7. 【請求項7】 処理の対象となる現画面において分割さ
    れた現画面のブロックに対して、参照画面内における同
    位置を基点としてそのブロックと大きさの等しい参照画
    面のブロックを抽出し、 所定の探索範囲内で粗い精度で上記参照画面のブロック
    を動かしながら上記現画面のブロックと参照画面のブロ
    ックとの間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して粗
    いサーチの動きベクトルを算出し、 上記粗いサーチで求められた動きベクトルの周辺で、よ
    り細かい精度で上記参照画面のブロックを動かしながら
    上記現画面のブロックと参照画面のブロックとの間の残
    差を求め、 上記残差が最小となる参照画面のブロックを検出してよ
    り細かい精度の動きベクトルを検出していくようにした
    動きベクトル算出方法において、 上記現画面及び上記参照画面の画素を第1のメモリに記
    憶させると共に、 上記現画面の画素及び上記参照画面の画素をN画素(N
    は整数)毎に取り出し、 上記N画素毎に取り出された現画面の画素及び上記参照
    画面の画素を連続して並ぶデータとして第2のメモリに
    記憶させ、 上記粗いサーチの動きベクトルを算出する際には、上記
    第2のメモリに記憶されているN画素毎に取り出され連
    続して並ぶデータとされた現画面の画素及び上記参照画
    面の画素を用い、 上記より細かい精度の動きベクトルを算出する際には、
    上記第1のメモリに記憶されている上記現画面及び上記
    参照画面の画素を用いるようにしたことを特徴とする動
    きベクトル算出方法。
  8. 【請求項8】 上記連続して並ぶ複数のデータに対して
    1命令で同様の処理を行なわせる命令を使って、上記残
    差の演算をするようにした請求項7に記載の動きベクト
    ル算出プログラムを記録した記録媒体。
  9. 【請求項9】 上記現画面の画素及び上記参照画面の画
    素を市松模様状にN画素毎に取り出すようした請求項7
    に記載の動きベクトル算出プログラムを記録した記録媒
    体。
  10. 【請求項10】 処理の対象となる現画面において分割
    された現画面のブロックに対して、参照画面内における
    同位置を基点としてそのブロックと大きさの等しい参照
    画面のブロックを抽出し、 所定の探索範囲内で粗い精度で上記参照画面のブロック
    を動かしながら上記現画面のブロックと参照画面のブロ
    ックとの間の残差を求め、 上記残差が最小となる参照画面のブロックを検出して粗
    いサーチの動きベクトルを算出し、 上記粗いサーチで求められた動きベクトルの周辺で、よ
    り細かい精度で上記参照画面のブロックを動かしながら
    上記現画面のブロックと参照画面のブロックとの間の残
    差を求め、 上記残差が最小となる参照画面のブロックを検出してよ
    り細かい精度の動きベクトルを検出していくようにした
    動きベクトル算出プログラムであって、 上記現画面及び上記参照画面の画素を第1のメモリに記
    憶させると共に、 上記現画面の画素及び上記参照画面の画素をN画素(N
    は整数)毎に取り出し、 上記N画素毎に取り出された現画面の画素及び上記参照
    画面の画素を連続して並ぶデータとして第2のメモリに
    記憶させ、 上記粗いサーチの動きベクトルを算出する際には、上記
    第2のメモリに記憶されているN画素毎に取り出され連
    続して並ぶデータとされた現画面の画素及び上記参照画
    面の画素を用い、 上記より細かい精度の動きベクトルを算出する際には、
    上記第1のメモリに記憶されている上記現画面及び上記
    参照画面の画素を用いるようにした動きベクトル算出プ
    ログラムを記録した記録媒体。
  11. 【請求項11】 上記連続して並ぶ複数のデータに対し
    て1命令で同様の処理を行なわせる命令を使って、上記
    残差の演算をするようにした請求項10に記載の動きベ
    クトル算出プログラムを記録した記録媒体。
  12. 【請求項12】 上記現画面の画素及び上記参照画面の
    画素を市松模様状にN画素毎に取り出すようした請求項
    10に記載の動きベクトル算出プログラムを記録した記
    録媒体。
JP21237898A 1998-07-15 1998-07-28 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体 Pending JP2000050278A (ja)

Priority Applications (4)

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

Publications (1)

Publication Number Publication Date
JP2000050278A true JP2000050278A (ja) 2000-02-18

Family

ID=16621588

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2000050278A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002170114A (ja) * 2000-12-04 2002-06-14 Fuji Photo Film Co Ltd 画像処理方法および装置並びに記録媒体
US6928119B2 (en) 2001-11-30 2005-08-09 Matsushita Electric Industrial Co., Ltd. Method of MPEG-2 video variable length decoding in software
JP2006087071A (ja) * 2004-08-19 2006-03-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および動画処理装置
US7099393B2 (en) 2000-05-30 2006-08-29 Matsushita Electric Industrial Co., Ltd. Motion vector detection apparatus for performing checker-pattern subsampling with respect to pixel arrays

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099393B2 (en) 2000-05-30 2006-08-29 Matsushita Electric Industrial Co., Ltd. Motion vector detection apparatus for performing checker-pattern subsampling with respect to pixel arrays
US7133453B2 (en) 2000-05-30 2006-11-07 Matsushita Electric Industrial Co., Ltd. Motion vector detection apparatus for performing checker-pattern subsampling with respect to pixel arrays
JP2002170114A (ja) * 2000-12-04 2002-06-14 Fuji Photo Film Co Ltd 画像処理方法および装置並びに記録媒体
US6928119B2 (en) 2001-11-30 2005-08-09 Matsushita Electric Industrial Co., Ltd. Method of MPEG-2 video variable length decoding in software
JP2006087071A (ja) * 2004-08-19 2006-03-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および動画処理装置
US8000391B2 (en) 2004-08-19 2011-08-16 Panasonic Corporation Motion vector estimating method and motion picture processor

Similar Documents

Publication Publication Date Title
JP4528441B2 (ja) ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置
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
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
US8290288B2 (en) Encoding macroblock type and coded block pattern information
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
JPWO2007136088A1 (ja) 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
JPH11168731A (ja) 動きベクトル検出方法及びその方法を実施する装置
WO2001049029A1 (en) Methods and apparatus for motion estimation in compressed domain
US6819715B2 (en) Image decoding method, image decoding apparatus, and data storage medium
KR100580194B1 (ko) 비트 정밀도를 낮춘 부화소 움직임 추정방법 및 장치
JP5256496B2 (ja) 画像処理システム、画像処理方法、およびプログラム
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4590335B2 (ja) 画像処理装置及び画像処理方法
EP0973336A2 (en) Motion vector detecting, picture encoding and recording method and apparatus
JP2000050278A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2000069484A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2000078589A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
US20020131503A1 (en) Moving image compression apparatus, and cut detection data generation method for the apparatus
JPH06351000A (ja) 画像信号符号化装置と画像信号復号装置
JP2776284B2 (ja) 画像符号化装置
JP3063380B2 (ja) 高能率符号化装置
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2000032471A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP2002238030A (ja) スローモーション画像検出方法および検出装置