JPH09182078A - 動きベクトル検出装置及び動きベクトル検出方法 - Google Patents
動きベクトル検出装置及び動きベクトル検出方法Info
- Publication number
- JPH09182078A JPH09182078A JP33754195A JP33754195A JPH09182078A JP H09182078 A JPH09182078 A JP H09182078A JP 33754195 A JP33754195 A JP 33754195A JP 33754195 A JP33754195 A JP 33754195A JP H09182078 A JPH09182078 A JP H09182078A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- search window
- prediction target
- partial image
- start position
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】
【課題】 動きベクトルの算出のためのサーチウインド
ウの移動開始位置の決定アルゴリズムの最適化を、ハー
ドウエアロジックの規模を増大させることなく実現する
ことにある。 【解決手段】 MC検出部501は、カウンタ値iで特
定される予測対象マクロブロックについての動きベクト
ルを示す出力ベクトル507を算出する場合に、レンジ
判断部503が出力する第2レンジ識別信号506に応
じて、MMV検出部504が出力する中間値動きベクト
ルMMVから求まる位置に対応する参照フレーム上の位
置をサーチウインドウの移動中心位置としかつサーチ範
囲を狭くする縮小サーチと、カウンタ値iで特定される
予測対象マクロブロックに対応する参照フレーム上のマ
クロブロックの中心位置をサーチウインドウの移動中心
位置としかつサーチ範囲を広くするフルサーチとを切り
替える。
ウの移動開始位置の決定アルゴリズムの最適化を、ハー
ドウエアロジックの規模を増大させることなく実現する
ことにある。 【解決手段】 MC検出部501は、カウンタ値iで特
定される予測対象マクロブロックについての動きベクト
ルを示す出力ベクトル507を算出する場合に、レンジ
判断部503が出力する第2レンジ識別信号506に応
じて、MMV検出部504が出力する中間値動きベクト
ルMMVから求まる位置に対応する参照フレーム上の位
置をサーチウインドウの移動中心位置としかつサーチ範
囲を狭くする縮小サーチと、カウンタ値iで特定される
予測対象マクロブロックに対応する参照フレーム上のマ
クロブロックの中心位置をサーチウインドウの移動中心
位置としかつサーチ範囲を広くするフルサーチとを切り
替える。
Description
【0001】
【産業上の利用分野】本発明は、動画像圧縮における動
き補償用の動きベクトルを簡易に求めることが可能な動
きベクトル検出装置及び動きベクトル検出方法に関す
る。
き補償用の動きベクトルを簡易に求めることが可能な動
きベクトル検出装置及び動きベクトル検出方法に関す
る。
【0002】
【従来の技術及び発明が解決しようとする課題】動画像
圧縮の国際標準として、MPEG(Moving Picture Expert G
roup) 、ITU-T勧告(旧称CCITT 勧告)H.261 、又は同
H.26P という方式が提案されている。これらの方式の特
徴は、 DCT(Discrete Cosine Transformation:離散コ
サイン変換)による静止画像圧縮処理に加えて、時間軸
方向の圧縮のためのフレーム間予測処理が実行されるこ
とである。
圧縮の国際標準として、MPEG(Moving Picture Expert G
roup) 、ITU-T勧告(旧称CCITT 勧告)H.261 、又は同
H.26P という方式が提案されている。これらの方式の特
徴は、 DCT(Discrete Cosine Transformation:離散コ
サイン変換)による静止画像圧縮処理に加えて、時間軸
方向の圧縮のためのフレーム間予測処理が実行されるこ
とである。
【0003】このような時間軸方向の圧縮のためのフレ
ーム間予測処理においては、カメラのパンニングや被写
体の移動による予測効率の低下を軽減させるために、一
般に動き補償処理(MC)が実行される。動き補償処理
では、現フレーム上の予測対象部分画像と、前フレーム
の画像をもとに局所復号された参照フレーム上の上記予
測対象部分画像に対応する部分画像との間で、動きベク
トルが検出され、参照フレーム上の部分画像の各画素を
動きベクトル分だけずらした位置の画素が参照画素とさ
れ、これを予測値として現フレーム上の予測対象部分画
像の各画素との差分(予測誤差)をとって得られる差分
値が伝送される。例えば図7に示されるように、予測元
画像を動きベクトルの分だけずらして得られる画像が、
現画像の予測に用いられる。
ーム間予測処理においては、カメラのパンニングや被写
体の移動による予測効率の低下を軽減させるために、一
般に動き補償処理(MC)が実行される。動き補償処理
では、現フレーム上の予測対象部分画像と、前フレーム
の画像をもとに局所復号された参照フレーム上の上記予
測対象部分画像に対応する部分画像との間で、動きベク
トルが検出され、参照フレーム上の部分画像の各画素を
動きベクトル分だけずらした位置の画素が参照画素とさ
れ、これを予測値として現フレーム上の予測対象部分画
像の各画素との差分(予測誤差)をとって得られる差分
値が伝送される。例えば図7に示されるように、予測元
画像を動きベクトルの分だけずらして得られる画像が、
現画像の予測に用いられる。
【0004】動きベクトルを求めるための一般的な処理
として、図8に示されるように、前フレームの画像をも
とに局所復号された参照フレームにおいて、現フレーム
上の予測対象部分画像と同じ大きさを有するサーチウイ
ンドウが、現フレーム上の予測対象部分画像に対応する
参照フレーム上の部分画像の位置を開始位置として固定
されたサーチ範囲内で移動させられながら、各移動位置
毎に上記サーチウインドウ内の参照フレーム上の部分画
像と現フレーム上の予測対象部分画像との誤差が計算さ
れ、上記開始位置を原点とし上記誤差が最小であった移
動位置を終点とするベクトルが、動きベクトルとされ
る。
として、図8に示されるように、前フレームの画像をも
とに局所復号された参照フレームにおいて、現フレーム
上の予測対象部分画像と同じ大きさを有するサーチウイ
ンドウが、現フレーム上の予測対象部分画像に対応する
参照フレーム上の部分画像の位置を開始位置として固定
されたサーチ範囲内で移動させられながら、各移動位置
毎に上記サーチウインドウ内の参照フレーム上の部分画
像と現フレーム上の予測対象部分画像との誤差が計算さ
れ、上記開始位置を原点とし上記誤差が最小であった移
動位置を終点とするベクトルが、動きベクトルとされ
る。
【0005】このように、従来は、現フレーム上の予測
対象部分画像の動きベクトルを算出するために、常にそ
の予測対象部分画像に対応する参照フレーム上の部分画
像の位置を開始位置として固定されたサーチ範囲でサー
チウインドウが移動させられながら、各移動位置毎の誤
差が計算されていた。
対象部分画像の動きベクトルを算出するために、常にそ
の予測対象部分画像に対応する参照フレーム上の部分画
像の位置を開始位置として固定されたサーチ範囲でサー
チウインドウが移動させられながら、各移動位置毎の誤
差が計算されていた。
【0006】しかし、各移動位置毎のサーチウインドウ
内での誤差計算にはかなりの演算量が必要とされるた
め、上記従来技術では、各予測対象部分画像毎に、固定
されたサーチ範囲の大きさに依存して、多くの演算量を
必要とするという問題点を有していた。
内での誤差計算にはかなりの演算量が必要とされるた
め、上記従来技術では、各予測対象部分画像毎に、固定
されたサーチ範囲の大きさに依存して、多くの演算量を
必要とするという問題点を有していた。
【0007】一方、一般に、予測対象部分画像とその近
傍の部分画像には、同一の物体に係る画像が含まれる確
率が高いため、予測対象部分画像について算出された動
きベクトルと、その予測対象部分画像の近傍の部分画像
について算出される動きベクトルは、非常に高い相関を
有する確率が高い。そこで、予測対象部分画像について
算出された動きベクトルと、その予測対象部分画像の近
傍の部分画像について既に算出される動きベクトルとの
差分値が算出され、その差分値が動きベクトル情報とし
て伝送されることが、一般に行われている。
傍の部分画像には、同一の物体に係る画像が含まれる確
率が高いため、予測対象部分画像について算出された動
きベクトルと、その予測対象部分画像の近傍の部分画像
について算出される動きベクトルは、非常に高い相関を
有する確率が高い。そこで、予測対象部分画像について
算出された動きベクトルと、その予測対象部分画像の近
傍の部分画像について既に算出される動きベクトルとの
差分値が算出され、その差分値が動きベクトル情報とし
て伝送されることが、一般に行われている。
【0008】このような事実から、予測対象部分画像の
動きベクトルを算出する場合に、その予測対象部分画像
の近傍の部分画像について既に算出される動きベクトル
についての情報を参照することにより、効率的かつ正確
な動きベクトルの検出が可能となることが予想できる。
動きベクトルを算出する場合に、その予測対象部分画像
の近傍の部分画像について既に算出される動きベクトル
についての情報を参照することにより、効率的かつ正確
な動きベクトルの検出が可能となることが予想できる。
【0009】しかし、前述の従来技術では、各予測対象
部分画像毎に、それに対応する参照フレーム上の部分画
像の近傍の部分画像について算出される動きベクトルと
は関係なく、常に予測対象部分画像に対応する部分画像
のみの位置を開始位置として固定されたサーチ範囲でサ
ーチウインドウが移動させられていた。この結果、本来
は高い相関を有するはずの、位置的に連続する部分画像
毎に算出される動きベクトルの値に、ばらつきが生じ、
それらの差分値のダイナミックレンジが大きくなってし
まうため、動きベクトルの符号化効率が悪くなってしま
うという問題点を有していた。
部分画像毎に、それに対応する参照フレーム上の部分画
像の近傍の部分画像について算出される動きベクトルと
は関係なく、常に予測対象部分画像に対応する部分画像
のみの位置を開始位置として固定されたサーチ範囲でサ
ーチウインドウが移動させられていた。この結果、本来
は高い相関を有するはずの、位置的に連続する部分画像
毎に算出される動きベクトルの値に、ばらつきが生じ、
それらの差分値のダイナミックレンジが大きくなってし
まうため、動きベクトルの符号化効率が悪くなってしま
うという問題点を有していた。
【0010】このような問題点を解決するために、本出
願人は、特願平4−3603265の特許出願におい
て、現フレーム上の予測対象部分画像(以下、部分画像
のことをマクロブロックという)の動きベクトルを算出
するために、現フレーム上でその予測対象マクロブロッ
クの1ブロック前のマクロブロックについて既に算出さ
れている動きベクトルから求まる位置に対応する参照フ
レーム上の位置を、サーチウインドウの移動開始位置と
する方式を提案している。このような方式により、サー
チ範囲を狭くすることが可能となり、この結果、動きベ
クトルを算出するための演算量を削減可能とすると共
に、隣接マクロブロック間での動きベクトルのばらつき
を小さくしその符号化効率を高めることが可能となる。
願人は、特願平4−3603265の特許出願におい
て、現フレーム上の予測対象部分画像(以下、部分画像
のことをマクロブロックという)の動きベクトルを算出
するために、現フレーム上でその予測対象マクロブロッ
クの1ブロック前のマクロブロックについて既に算出さ
れている動きベクトルから求まる位置に対応する参照フ
レーム上の位置を、サーチウインドウの移動開始位置と
する方式を提案している。このような方式により、サー
チ範囲を狭くすることが可能となり、この結果、動きベ
クトルを算出するための演算量を削減可能とすると共
に、隣接マクロブロック間での動きベクトルのばらつき
を小さくしその符号化効率を高めることが可能となる。
【0011】ここで、MPEGや、H.261 、H.26P というよ
うな動画像圧縮方式においては、予測対象マクロブロッ
クについて算出された動きベクトルについての差分値が
算出される場合に、単純に予測対象マクロブロックの1
ブロック前のマクロブロックについて既に算出されてい
る動きベクトルに対する差分値が計算されるのではな
く、予測対象マクロブロックに対して特定の位置関係に
ある近傍の複数のマクロブロックについて既に算出され
る複数の動きベクトルの例えば中間値に対する差分値が
計算される。これにより、動きベクトルの符号化効率が
より高められている。
うな動画像圧縮方式においては、予測対象マクロブロッ
クについて算出された動きベクトルについての差分値が
算出される場合に、単純に予測対象マクロブロックの1
ブロック前のマクロブロックについて既に算出されてい
る動きベクトルに対する差分値が計算されるのではな
く、予測対象マクロブロックに対して特定の位置関係に
ある近傍の複数のマクロブロックについて既に算出され
る複数の動きベクトルの例えば中間値に対する差分値が
計算される。これにより、動きベクトルの符号化効率が
より高められている。
【0012】しかし、サーチウインドウの移動開始位置
の決定に関する、本出願人による上述した先行技術にお
いては、固定的に予測対象マクロブロックの1ブロック
前のマクロブロックについて既に算出されている動きベ
クトルから求まる位置に対応する参照フレーム上の位置
が、サーチウインドウの移動開始位置とされている。従
って、この先行技術におけるサーチウインドウの移動開
始位置の決定アルゴリズムは、MPEGや、H.261 、H.26P
等における動きベクトルの差分値の算出において差分元
となる動きベクトルの決定アルゴリズムと完全には対応
しておらず、サーチウインドウの移動開始位置の決定処
理が最適化されていないという問題点を有していた。
の決定に関する、本出願人による上述した先行技術にお
いては、固定的に予測対象マクロブロックの1ブロック
前のマクロブロックについて既に算出されている動きベ
クトルから求まる位置に対応する参照フレーム上の位置
が、サーチウインドウの移動開始位置とされている。従
って、この先行技術におけるサーチウインドウの移動開
始位置の決定アルゴリズムは、MPEGや、H.261 、H.26P
等における動きベクトルの差分値の算出において差分元
となる動きベクトルの決定アルゴリズムと完全には対応
しておらず、サーチウインドウの移動開始位置の決定処
理が最適化されていないという問題点を有していた。
【0013】また、本出願人による前述した先行技術に
おいては、予測対象マクロブロックが現フレームの画像
の端に位置する等の理由によりその1ブロック前のマク
ロブロックが参照できない場合や、1ブロック前のマク
ロブロックの動きベクトルから求まるサーチウインドウ
の移動開始位置が許容範囲を大きくはずれてしまったよ
うな場合、或いは、現フレーム上の予測対象マクロブロ
ックと参照フレーム上のブロックとの誤差が許容範囲を
超えてしまったような場合には、予測対象マクロブロッ
クに対応する参照フレーム上のマクロブロックの中心位
置がサーチウインドウの移動開始位置として初期設定し
直されていた。このように本出願人による前述した先行
技術においては、サーチウインドウの移動開始位置を算
出する方式として1ブロック前のマクロブロックの動き
ベクトルから算出する方式と予測対象マクロブロックに
対応する参照フレーム上のマクロブロックの中心位置を
それとする方式とが混在しており、それら2つの方式を
切り替えるためのロジックが必要であった。このため、
動きベクトルを算出するロジックをハードウエア化する
場合に、上記切替ロジックを実現するためのハードウエ
アの規模が大きくなってしまうという問題点を有してい
た。
おいては、予測対象マクロブロックが現フレームの画像
の端に位置する等の理由によりその1ブロック前のマク
ロブロックが参照できない場合や、1ブロック前のマク
ロブロックの動きベクトルから求まるサーチウインドウ
の移動開始位置が許容範囲を大きくはずれてしまったよ
うな場合、或いは、現フレーム上の予測対象マクロブロ
ックと参照フレーム上のブロックとの誤差が許容範囲を
超えてしまったような場合には、予測対象マクロブロッ
クに対応する参照フレーム上のマクロブロックの中心位
置がサーチウインドウの移動開始位置として初期設定し
直されていた。このように本出願人による前述した先行
技術においては、サーチウインドウの移動開始位置を算
出する方式として1ブロック前のマクロブロックの動き
ベクトルから算出する方式と予測対象マクロブロックに
対応する参照フレーム上のマクロブロックの中心位置を
それとする方式とが混在しており、それら2つの方式を
切り替えるためのロジックが必要であった。このため、
動きベクトルを算出するロジックをハードウエア化する
場合に、上記切替ロジックを実現するためのハードウエ
アの規模が大きくなってしまうという問題点を有してい
た。
【0014】本発明の課題は、動きベクトルの算出のた
めのサーチウインドウの移動開始位置の決定アルゴリズ
ムの最適化を、ハードウエアロジックの規模を増大させ
ることなく実現することにある。
めのサーチウインドウの移動開始位置の決定アルゴリズ
ムの最適化を、ハードウエアロジックの規模を増大させ
ることなく実現することにある。
【0015】
【課題を解決するための手段】本発明は、参照フレーム
において、現フレーム上の予測対象部分画像と同じ大き
さを有するサーチウインドウを、サーチウインドウの所
定の移動開始位置を中心位置として所定のサーチ範囲内
で移動させながら、各移動位置毎にサーチウインドウ内
の参照フレーム上の部分画像と現フレーム上の予測対象
部分画像との誤差を計算し、サーチウインドウの所定の
移動開始位置を原点とし誤差が最小であった移動位置を
終点とするベクトルを動きベクトルとして検出する動き
ベクトル検出装置を前提とする。
において、現フレーム上の予測対象部分画像と同じ大き
さを有するサーチウインドウを、サーチウインドウの所
定の移動開始位置を中心位置として所定のサーチ範囲内
で移動させながら、各移動位置毎にサーチウインドウ内
の参照フレーム上の部分画像と現フレーム上の予測対象
部分画像との誤差を計算し、サーチウインドウの所定の
移動開始位置を原点とし誤差が最小であった移動位置を
終点とするベクトルを動きベクトルとして検出する動き
ベクトル検出装置を前提とする。
【0016】本発明の第1の態様は、現フレーム上で予
測対象マクロブロックの動きベクトルについての差分値
を算出すべき元となる被差分動きベクトル群に基づいて
サーチウインドウの所定の移動開始位置を決定するサー
チウインドウ移動開始位置決定手段を有する。
測対象マクロブロックの動きベクトルについての差分値
を算出すべき元となる被差分動きベクトル群に基づいて
サーチウインドウの所定の移動開始位置を決定するサー
チウインドウ移動開始位置決定手段を有する。
【0017】上述の本発明の第1の態様によれば、隣接
マクロブロック間での動きベクトルのばらつきをより小
さくしその符号化効率を高めることが可能となる。本発
明の第2の態様は、現フレーム上の予測対象部分画像を
予め区分する区分手段と、その区分手段によって区分さ
れる予測対象部分画像毎に、異なる方式に基づいてサー
チウインドウの所定の移動開始位置を決定するサーチウ
インドウ移動開始位置決定手段を有する。
マクロブロック間での動きベクトルのばらつきをより小
さくしその符号化効率を高めることが可能となる。本発
明の第2の態様は、現フレーム上の予測対象部分画像を
予め区分する区分手段と、その区分手段によって区分さ
れる予測対象部分画像毎に、異なる方式に基づいてサー
チウインドウの所定の移動開始位置を決定するサーチウ
インドウ移動開始位置決定手段を有する。
【0018】この場合、サーチウインドウ移動開始位置
決定手段は、区分手段によって区分される1つの区分に
おける予測対象部分画像について、現フレーム上で予測
対象マクロブロックの動きベクトルについての差分値を
算出すべき元となる被差分動きベクトル群に基づいてサ
ーチウインドウの所定の移動開始位置を決定する。
決定手段は、区分手段によって区分される1つの区分に
おける予測対象部分画像について、現フレーム上で予測
対象マクロブロックの動きベクトルについての差分値を
算出すべき元となる被差分動きベクトル群に基づいてサ
ーチウインドウの所定の移動開始位置を決定する。
【0019】上述の本発明の第2の態様によれば、予め
明確に分離されたマクロブロックの位置に応じてサーチ
ウインドウの所定の移動開始位置を決定する方式が選択
されるため、これらの方式を切り替えるためのロジック
は、単にマクロブロックのカウント値を判定するだけの
非常に単純なものとなり、そのためのハードウエアロジ
ックの規模を非常に小さいものにすることができ、LS
I化も容易となる。
明確に分離されたマクロブロックの位置に応じてサーチ
ウインドウの所定の移動開始位置を決定する方式が選択
されるため、これらの方式を切り替えるためのロジック
は、単にマクロブロックのカウント値を判定するだけの
非常に単純なものとなり、そのためのハードウエアロジ
ックの規模を非常に小さいものにすることができ、LS
I化も容易となる。
【0020】本発明の第3の態様は、本発明の第2の態
様において、区分手段によって区分される予測対象部分
画像毎に、異なる前記所定のサーチ範囲を決定するサー
チ範囲決定手段を更に有する。
様において、区分手段によって区分される予測対象部分
画像毎に、異なる前記所定のサーチ範囲を決定するサー
チ範囲決定手段を更に有する。
【0021】上述の本発明の第3の態様によれば、予め
明確に分離されたマクロブロックの位置に応じてサーチ
範囲を適切に制御することができ、動きベクトルを算出
するための演算量を最適に削減することが可能となる。
明確に分離されたマクロブロックの位置に応じてサーチ
範囲を適切に制御することができ、動きベクトルを算出
するための演算量を最適に削減することが可能となる。
【0022】なお、本発明は、上述の動きベクトル検出
装置の構成により実現される機能と同等の機能を有する
動きベクトル検出方法として実現することも可能であ
る。
装置の構成により実現される機能と同等の機能を有する
動きベクトル検出方法として実現することも可能であ
る。
【0023】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態について詳細に説明する。まず、本実施の
形態では、現フレーム上の予測対象マクロブロックの動
きベクトルが算出される場合に、現フレーム上でその予
測対象マクロブロックの動きベクトルについての差分値
を算出すべき元となる動きベクトル群(以下これを被差
分動きベクトル群という)から求まる位置に対応する参
照フレーム上の位置が、サーチウインドウの移動開始位
置とされる。
の実施の形態について詳細に説明する。まず、本実施の
形態では、現フレーム上の予測対象マクロブロックの動
きベクトルが算出される場合に、現フレーム上でその予
測対象マクロブロックの動きベクトルについての差分値
を算出すべき元となる動きベクトル群(以下これを被差
分動きベクトル群という)から求まる位置に対応する参
照フレーム上の位置が、サーチウインドウの移動開始位
置とされる。
【0024】今、例えばH.26P と呼ばれる動画像圧縮方
式においては、現フレーム上で、図1に示されるよう
に、垂直方向は上から下に向かって、また水平方向は左
から右に向かって、各マクロブロックについて動きベク
トルが符号化されてゆく。
式においては、現フレーム上で、図1に示されるよう
に、垂直方向は上から下に向かって、また水平方向は左
から右に向かって、各マクロブロックについて動きベク
トルが符号化されてゆく。
【0025】そして、現在の予測対象マクロブロックに
おける動きベクトル(現動きベクトルMV)についての
差分値(現差分動きベクトルMVD)は、図2に示され
るように、予測対象マクロブロックの左隣のマクロブロ
ックに対応して算出されている左動きベクトルMV1
と、予測対象マクロブロックの上隣のマクロブロックに
対応して算出されている上動きベクトルMV2と、予測
対象マクロブロックの右上隣のマクロブロックに対応し
て算出されている右上動きベクトルMV3についての中
間値として算出される動きベクトル(中間値動きベクト
ルMMV)と、現動きベクトルMVとの差分値として算
出される。
おける動きベクトル(現動きベクトルMV)についての
差分値(現差分動きベクトルMVD)は、図2に示され
るように、予測対象マクロブロックの左隣のマクロブロ
ックに対応して算出されている左動きベクトルMV1
と、予測対象マクロブロックの上隣のマクロブロックに
対応して算出されている上動きベクトルMV2と、予測
対象マクロブロックの右上隣のマクロブロックに対応し
て算出されている右上動きベクトルMV3についての中
間値として算出される動きベクトル(中間値動きベクト
ルMMV)と、現動きベクトルMVとの差分値として算
出される。
【0026】即ち、今、各ベクトルMV、MVD、MV
1、MV2、MV3、及びMMVのx成分及びy成分
を、それぞれ(MVx、MVy)、(MVDx、MVD
y)、(MV1x、MV1y)、(MV2x、MV2
y)、(MV3x、MV3y)、及び(MMVx、MM
Vy)とすれば、
1、MV2、MV3、及びMMVのx成分及びy成分
を、それぞれ(MVx、MVy)、(MVDx、MVD
y)、(MV1x、MV1y)、(MV2x、MV2
y)、(MV3x、MV3y)、及び(MMVx、MM
Vy)とすれば、
【0027】
【数1】 MMVx=Median(MV1x、MV2x、MV3x) MMVy=Median(MV1y、MV2y、MV3y)
【0028】
【数2】MVDx=MVx−MMVx MVDy=MVy−MMVy である。ここで、Median()は、括弧内の各要素につい
ての中間値を算出する演算である。
ての中間値を算出する演算である。
【0029】このような符号化法からも理解されるよう
に、近傍マクロブロック間の動きベクトルには、図3に
示されるように、相関があることが知られている。そこ
で、本実施の形態では、現動きベクトルMVが算出され
る場合に、上記中間値動きベクトルMMVから求まる位
置に対応する参照フレーム上の位置が、サーチウインド
ウの移動開始位置とされる。そして、参照フレーム上に
おいて、その位置を中心として所定のサーチ範囲内でサ
ーチウインドウが移動させられながら、各移動位置毎に
上記サーチウインドウ内の参照フレーム上のブロック画
像と現フレーム上の予測対象マクロブロック画像との誤
差が計算され、上記開始位置を原点とし上記誤差が最小
であった移動位置を終点とするベクトルが、動きベクト
ルとされる。
に、近傍マクロブロック間の動きベクトルには、図3に
示されるように、相関があることが知られている。そこ
で、本実施の形態では、現動きベクトルMVが算出され
る場合に、上記中間値動きベクトルMMVから求まる位
置に対応する参照フレーム上の位置が、サーチウインド
ウの移動開始位置とされる。そして、参照フレーム上に
おいて、その位置を中心として所定のサーチ範囲内でサ
ーチウインドウが移動させられながら、各移動位置毎に
上記サーチウインドウ内の参照フレーム上のブロック画
像と現フレーム上の予測対象マクロブロック画像との誤
差が計算され、上記開始位置を原点とし上記誤差が最小
であった移動位置を終点とするベクトルが、動きベクト
ルとされる。
【0030】ここで、実験の結果、上記サーチ範囲は、
移動開始位置からxy方向にそれぞれ±4画素の範囲で
十分である。このような動きベクトルの参照方式を単に
用いた場合においても、本出願人による前述の先行技術
の場合と同様に、予測対象マクロブロックが現フレーム
の画像の端に位置する等の理由により前述した被差分動
きベクトル群を構成する動きベクトルが参照できない場
合や、被差分動きベクトル群から求まるサーチウインド
ウの移動開始位置が許容範囲を大きくはずれてしまった
ような場合、或いは、現フレーム上の予測対象マクロブ
ロックと参照フレーム上のブロックとの誤差が許容範囲
を超えてしまったような場合には、予測対象マクロブロ
ックに対応する参照フレーム上のマクロブロックの中心
位置をサーチウインドウの移動開始位置として初期設定
し直す必要が生じる。そして、この場合には、サーチウ
インドウの移動開始位置を算出する方式として中間値動
きベクトルMMVから算出する方式と予測対象マクロブ
ロックに対応する参照フレーム上のマクロブロックの中
心位置をそれとする方式とが混在することになり、それ
ら2つの方式を切り替えるためのロジックが必要となっ
てしまう。
移動開始位置からxy方向にそれぞれ±4画素の範囲で
十分である。このような動きベクトルの参照方式を単に
用いた場合においても、本出願人による前述の先行技術
の場合と同様に、予測対象マクロブロックが現フレーム
の画像の端に位置する等の理由により前述した被差分動
きベクトル群を構成する動きベクトルが参照できない場
合や、被差分動きベクトル群から求まるサーチウインド
ウの移動開始位置が許容範囲を大きくはずれてしまった
ような場合、或いは、現フレーム上の予測対象マクロブ
ロックと参照フレーム上のブロックとの誤差が許容範囲
を超えてしまったような場合には、予測対象マクロブロ
ックに対応する参照フレーム上のマクロブロックの中心
位置をサーチウインドウの移動開始位置として初期設定
し直す必要が生じる。そして、この場合には、サーチウ
インドウの移動開始位置を算出する方式として中間値動
きベクトルMMVから算出する方式と予測対象マクロブ
ロックに対応する参照フレーム上のマクロブロックの中
心位置をそれとする方式とが混在することになり、それ
ら2つの方式を切り替えるためのロジックが必要となっ
てしまう。
【0031】そこで、本実施の形態では、このような必
要性を除くために、図4に示されるように、処理画面が
分割され、斜線部A〜Dのマクロブロックにおいては、
予測対象マクロブロックに対応する参照フレーム上のマ
クロブロックの中心位置がサーチウインドウの移動開始
位置とされ、サーチ範囲は広くとられて、動き補償処理
が実行され、斜線部以外のマクロブロックにおいては、
中間値動きベクトルMMVから求まる位置に対応する参
照フレーム上の位置が、サーチウインドウの移動開始位
置とされ、サーチ範囲は狭くとられて、動き補償処理が
実行される。ここで、前者の動き補償処理をフルサー
チ、後者の動き補償処理を縮小サーチと呼ぶ。このよう
に、フルサーチが実行されるマクロブロックと縮小サー
チが実行されるマクロブロックが明確に分離されること
により、これら2つの方式を切り替えるためのロジック
は、単にマクロブロックのカウント値を判定するだけの
非常に単純なものとなり、そのためのハードウエアロジ
ックの規模を非常に小さいものにすることができ、LS
I化も容易となる。
要性を除くために、図4に示されるように、処理画面が
分割され、斜線部A〜Dのマクロブロックにおいては、
予測対象マクロブロックに対応する参照フレーム上のマ
クロブロックの中心位置がサーチウインドウの移動開始
位置とされ、サーチ範囲は広くとられて、動き補償処理
が実行され、斜線部以外のマクロブロックにおいては、
中間値動きベクトルMMVから求まる位置に対応する参
照フレーム上の位置が、サーチウインドウの移動開始位
置とされ、サーチ範囲は狭くとられて、動き補償処理が
実行される。ここで、前者の動き補償処理をフルサー
チ、後者の動き補償処理を縮小サーチと呼ぶ。このよう
に、フルサーチが実行されるマクロブロックと縮小サー
チが実行されるマクロブロックが明確に分離されること
により、これら2つの方式を切り替えるためのロジック
は、単にマクロブロックのカウント値を判定するだけの
非常に単純なものとなり、そのためのハードウエアロジ
ックの規模を非常に小さいものにすることができ、LS
I化も容易となる。
【0032】図5は、上述の原理に基づく本実施の形態
の全体構成図である。まず、マクロブロックカウンタ5
02は、図1に例示されるような各マクロブロックを指
定するために0から順次+1ずつインクリメントされる
カウンタ値iを出力する。
の全体構成図である。まず、マクロブロックカウンタ5
02は、図1に例示されるような各マクロブロックを指
定するために0から順次+1ずつインクリメントされる
カウンタ値iを出力する。
【0033】レンジ判断部503は、マクロブロックカ
ウンタ502が出力するカウンタ値iに基づいて、図4
に示される斜線部A〜Dの各領域のマクロブロックの指
定タイミングを判定し、それぞれのタイミングを指示す
る第1レンジ識別信号505をMMV検出部504に出
力する。また、レンジ判断部503は、カウンタ値iに
基づいて、図4に示される斜線部のマクロブロックの指
定タイミングと斜線部以外のマクロブロックの指定タイ
ミングを識別し、それらを区別する第2レンジ識別信号
506をMC検出部501に出力する。
ウンタ502が出力するカウンタ値iに基づいて、図4
に示される斜線部A〜Dの各領域のマクロブロックの指
定タイミングを判定し、それぞれのタイミングを指示す
る第1レンジ識別信号505をMMV検出部504に出
力する。また、レンジ判断部503は、カウンタ値iに
基づいて、図4に示される斜線部のマクロブロックの指
定タイミングと斜線部以外のマクロブロックの指定タイ
ミングを識別し、それらを区別する第2レンジ識別信号
506をMC検出部501に出力する。
【0034】MMV検出部504は、過去にMC検出部
501から出力された出力ベクトル507に基づいて、
現動きベクトルMVから現差分動きベクトルMVDを算
出するための中間値動きベクトルMMVを算出し、それ
をMC検出部501と特には図示しない現差分動きベク
トル算出部へ出力する。
501から出力された出力ベクトル507に基づいて、
現動きベクトルMVから現差分動きベクトルMVDを算
出するための中間値動きベクトルMMVを算出し、それ
をMC検出部501と特には図示しない現差分動きベク
トル算出部へ出力する。
【0035】この場合、MMV検出部504は、第1レ
ンジ識別信号505が図4に示される斜線部A〜Dの各
領域のマクロブロックの指定タイミングを指示している
期間以外の期間では、出力ベクトル507のうち、予測
対象マクロブロックの左隣のマクロブロックの処理タイ
ミングにおいて出力されている左動きベクトルMV1
と、予測対象マクロブロックの上隣のマクロブロックの
処理タイミングにおいて出力されている上動きベクトル
MV2と、予測対象マクロブロックの右上隣のマクロブ
ロックの処理タイミングにおいて出力されている右上動
きベクトルMV3を用いて、前述した数1式に基づき、
中間値動きベクトルMMVを算出する。
ンジ識別信号505が図4に示される斜線部A〜Dの各
領域のマクロブロックの指定タイミングを指示している
期間以外の期間では、出力ベクトル507のうち、予測
対象マクロブロックの左隣のマクロブロックの処理タイ
ミングにおいて出力されている左動きベクトルMV1
と、予測対象マクロブロックの上隣のマクロブロックの
処理タイミングにおいて出力されている上動きベクトル
MV2と、予測対象マクロブロックの右上隣のマクロブ
ロックの処理タイミングにおいて出力されている右上動
きベクトルMV3を用いて、前述した数1式に基づき、
中間値動きベクトルMMVを算出する。
【0036】一方、MMV検出部504は、第1レンジ
識別信号505が図4に示される斜線部Aの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Aの予測対象マクロブロッ
クの左隣、上隣、及び右上隣のマクロブロックは存在し
ない。従って、MMV検出部504は、中間値動きベク
トルMMVとして、
識別信号505が図4に示される斜線部Aの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Aの予測対象マクロブロッ
クの左隣、上隣、及び右上隣のマクロブロックは存在し
ない。従って、MMV検出部504は、中間値動きベク
トルMMVとして、
【0037】
【数3】MMVx=0 MMVy=0 を出力する。
【0038】また、MMV検出部504は、第1レンジ
識別信号505が図4に示される斜線部Bの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Bの予測対象マクロブロッ
クの上隣及び右上隣のマクロブロックは存在しない。従
って、MMV検出部504は、中間値動きベクトルMM
Vとして、
識別信号505が図4に示される斜線部Bの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Bの予測対象マクロブロッ
クの上隣及び右上隣のマクロブロックは存在しない。従
って、MMV検出部504は、中間値動きベクトルMM
Vとして、
【0039】
【数4】MMVx=Median(MV1x、0、0) MMVy=Median(MV1y、0、0) を出力する(数1式参照)。
【0040】また、MMV検出部504は、第1レンジ
識別信号505が図4に示される斜線部Cの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Cの予測対象マクロブロッ
クの左隣のマクロブロックは存在しない。従って、MM
V検出部504は、中間値動きベクトルMMVとして、
識別信号505が図4に示される斜線部Cの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Cの予測対象マクロブロッ
クの左隣のマクロブロックは存在しない。従って、MM
V検出部504は、中間値動きベクトルMMVとして、
【0041】
【数5】MMVx=Median(0、MV2x、MV3x) MMVy=Median(0、MV2y、MV3y) を出力する(数1式参照)。
【0042】更に、MMV検出部504は、第1レンジ
識別信号505が図4に示される斜線部Dの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Dの予測対象マクロブロッ
クの右上隣のマクロブロックは存在しない。従って、M
MV検出部504は、中間値動きベクトルMMVとし
て、
識別信号505が図4に示される斜線部Dの領域のマク
ロブロックの指定タイミングを指示している期間では、
図2からわかるように、領域Dの予測対象マクロブロッ
クの右上隣のマクロブロックは存在しない。従って、M
MV検出部504は、中間値動きベクトルMMVとし
て、
【0043】
【数6】MMVx=Median(MV1x、MV2x、0) MMVy=Median(MV1y、MV2y、0) を出力する(数1式参照)。
【0044】特には図示しない現差分動きベクトル算出
部は、後述するMC検出部501から出力ベクトル50
7として出力される予測対象マクロブロックの現動きベ
クトルMVと、上述のMMV検出部504から出力され
る中間値動きベクトルMMVとから、前述した数2式に
基づいて、現差分動きベクトルMVDを算出する。な
お、数3式からわかるように、図4に示される斜線部A
の領域の予測対象マクロブロックに対応する現差分動き
ベクトルMVDは、そのマクロブロックの現動きベクト
ルMVそのものとなる。
部は、後述するMC検出部501から出力ベクトル50
7として出力される予測対象マクロブロックの現動きベ
クトルMVと、上述のMMV検出部504から出力され
る中間値動きベクトルMMVとから、前述した数2式に
基づいて、現差分動きベクトルMVDを算出する。な
お、数3式からわかるように、図4に示される斜線部A
の領域の予測対象マクロブロックに対応する現差分動き
ベクトルMVDは、そのマクロブロックの現動きベクト
ルMVそのものとなる。
【0045】次に、図5のMC検出部501は、第2レ
ンジ識別信号506が図4に示される斜線部以外のマク
ロブロックの指定タイミングを示している場合には、M
MV検出部504が検出した中間値動きベクトルMMV
から求まる位置に対応する参照フレーム上の位置をサー
チウインドウの移動開始位置とし、かつサーチ範囲を狭
くして、カウンタ値iで特定される予測対象マクロブロ
ックについての動き補償処理を実行し、そのマクロブロ
ックに対応する現動きベクトルMVを算出し、それを出
力ベクトル507として特には図示しない現差分動きベ
クトル算出部へ出力する。一方、MC検出部501は、
第2レンジ識別信号506が図4に示される斜線部のマ
クロブロックの指定タイミングを示している場合には、
MMV検出部504が検出した中間値動きベクトルMM
Vは無視し、カウンタ値iで特定される予測対象マクロ
ブロックに対応する参照フレーム上のマクロブロックの
中心位置をサーチウインドウの移動開始位置とし、かつ
サーチ範囲を広くして、上記予測対象マクロブロックに
ついての動き補償処理を実行し、そのマクロブロックに
対応する現動きベクトルMVを算出し、それを出力ベク
トル507として特には図示しない現差分動きベクトル
算出部へ出力する。
ンジ識別信号506が図4に示される斜線部以外のマク
ロブロックの指定タイミングを示している場合には、M
MV検出部504が検出した中間値動きベクトルMMV
から求まる位置に対応する参照フレーム上の位置をサー
チウインドウの移動開始位置とし、かつサーチ範囲を狭
くして、カウンタ値iで特定される予測対象マクロブロ
ックについての動き補償処理を実行し、そのマクロブロ
ックに対応する現動きベクトルMVを算出し、それを出
力ベクトル507として特には図示しない現差分動きベ
クトル算出部へ出力する。一方、MC検出部501は、
第2レンジ識別信号506が図4に示される斜線部のマ
クロブロックの指定タイミングを示している場合には、
MMV検出部504が検出した中間値動きベクトルMM
Vは無視し、カウンタ値iで特定される予測対象マクロ
ブロックに対応する参照フレーム上のマクロブロックの
中心位置をサーチウインドウの移動開始位置とし、かつ
サーチ範囲を広くして、上記予測対象マクロブロックに
ついての動き補償処理を実行し、そのマクロブロックに
対応する現動きベクトルMVを算出し、それを出力ベク
トル507として特には図示しない現差分動きベクトル
算出部へ出力する。
【0046】図6は、上述の機能を実現するための、図
5のMC検出部501の構成図である。まず、入力ブロ
ックレジスタ607には、特には図示しないフレームメ
モリに格納されている現フレームの画素値(輝度値)群
のうち、これから動きベクトルを現す出力ベクトル50
7を算出しようとする予測対象マクロブロックのM画素
からなる画素値群a=(a1 、a2 、・・・、aM )が
書き込まれる。現フレーム上での予測対象マクロブロッ
クの位置は、図5のマクロブロックカウンタ502が出
力するカウンタ値iによって決定される。
5のMC検出部501の構成図である。まず、入力ブロ
ックレジスタ607には、特には図示しないフレームメ
モリに格納されている現フレームの画素値(輝度値)群
のうち、これから動きベクトルを現す出力ベクトル50
7を算出しようとする予測対象マクロブロックのM画素
からなる画素値群a=(a1 、a2 、・・・、aM )が
書き込まれる。現フレーム上での予測対象マクロブロッ
クの位置は、図5のマクロブロックカウンタ502が出
力するカウンタ値iによって決定される。
【0047】一方、フレームメモリ605には、前フレ
ームの画像をもとに局所復号された参照フレームの画素
値群が格納されている。そして、参照ブロックレジスタ
606には、上記フレームメモリ605に格納されてい
る参照フレームの画素値群のうち、位置検出器604に
より指定されたサーチウインドウ内のマクロブロックの
M画素からなる画素値群b=(b1 、b2 、・・・、b
M )が書き込まれる。
ームの画像をもとに局所復号された参照フレームの画素
値群が格納されている。そして、参照ブロックレジスタ
606には、上記フレームメモリ605に格納されてい
る参照フレームの画素値群のうち、位置検出器604に
より指定されたサーチウインドウ内のマクロブロックの
M画素からなる画素値群b=(b1 、b2 、・・・、b
M )が書き込まれる。
【0048】並列減算器608は、入力ブロックレジス
タ607から出力されるM画素からなる予測対象マクロ
ブロック画素値群a=(a1 、a2 、・・・、aM )
と、参照ブロックレジスタ606から出力されるM画素
からなるマクロブロック画素値群b=(b1 、b2 、・
・・、bM )とにつき、対応する画素位置毎の画素値の
差分を、M画素分並列に演算する。更に、並列絶対値演
算器609は、並列減算器608から出力される各画素
位置毎の差分画素値の絶対値を、M画素分並列に演算す
る。そして、絶対値歪検出器610は、次式に示される
ように、並列絶対値演算器609から出力されるM画素
分の差分画素値絶対値の総和d(a,b)として、予測
対象マクロブロックの部分画像と位置検出器604によ
り指定されたサーチウインドウ内のマクロブロックの部
分画像との絶対値歪を検出する。
タ607から出力されるM画素からなる予測対象マクロ
ブロック画素値群a=(a1 、a2 、・・・、aM )
と、参照ブロックレジスタ606から出力されるM画素
からなるマクロブロック画素値群b=(b1 、b2 、・
・・、bM )とにつき、対応する画素位置毎の画素値の
差分を、M画素分並列に演算する。更に、並列絶対値演
算器609は、並列減算器608から出力される各画素
位置毎の差分画素値の絶対値を、M画素分並列に演算す
る。そして、絶対値歪検出器610は、次式に示される
ように、並列絶対値演算器609から出力されるM画素
分の差分画素値絶対値の総和d(a,b)として、予測
対象マクロブロックの部分画像と位置検出器604によ
り指定されたサーチウインドウ内のマクロブロックの部
分画像との絶対値歪を検出する。
【0049】
【数7】 上記絶対値歪d(a,b)は最小歪出力ベクトル検出器
611に出力される。
611に出力される。
【0050】以上の一連の絶対値歪検出動作が、位置検
出器604がサーチウインドウを指定する毎に実行され
る。上述した一連の絶対値歪検出動作が1回実行される
毎に、位置検出器604、xカウンタ601、yカウン
タ602、及びMCHセットアップ603からなる部分
は、サーチウインドウを指定する。
出器604がサーチウインドウを指定する毎に実行され
る。上述した一連の絶対値歪検出動作が1回実行される
毎に、位置検出器604、xカウンタ601、yカウン
タ602、及びMCHセットアップ603からなる部分
は、サーチウインドウを指定する。
【0051】まず、xカウンタ601は、前述した1連
の絶対値歪検出動作が1回実行される毎に+1ずつカウ
ントアップし、MCHセットアップ603が出力するM
CH値に基づき、動きベクトルを算出するためのx方向
サーチ範囲として、−MCHから+MCHまでの値を有
するx座標値を順次出力する。また、yカウンタ602
は、xカウンタ601が+MCHまでカウントアップし
てキャリー信号を出力する毎に+1ずつカウントアップ
し、MCHセットアップ603が出力するMCH値に基
づいて、動きベクトルを算出するためのy方向サーチ範
囲として、−MCHから+MCHまでの値を有するy座
標値を順次出力する。ここで、MCHセットアップ60
3は、第2レンジ識別信号506が図4に示される斜線
部のマクロブロックの指定タイミングを示している場合
には、サーチ範囲を広く設定するために、所定の大きな
MCH値を出力し、第2レンジ識別信号506が図4に
示される斜線部以外のマクロブロックの指定タイミング
を示している場合には、サーチ範囲を狭く設定するため
に、所定の小さなMCH値を出力する。
の絶対値歪検出動作が1回実行される毎に+1ずつカウ
ントアップし、MCHセットアップ603が出力するM
CH値に基づき、動きベクトルを算出するためのx方向
サーチ範囲として、−MCHから+MCHまでの値を有
するx座標値を順次出力する。また、yカウンタ602
は、xカウンタ601が+MCHまでカウントアップし
てキャリー信号を出力する毎に+1ずつカウントアップ
し、MCHセットアップ603が出力するMCH値に基
づいて、動きベクトルを算出するためのy方向サーチ範
囲として、−MCHから+MCHまでの値を有するy座
標値を順次出力する。ここで、MCHセットアップ60
3は、第2レンジ識別信号506が図4に示される斜線
部のマクロブロックの指定タイミングを示している場合
には、サーチ範囲を広く設定するために、所定の大きな
MCH値を出力し、第2レンジ識別信号506が図4に
示される斜線部以外のマクロブロックの指定タイミング
を示している場合には、サーチ範囲を狭く設定するため
に、所定の小さなMCH値を出力する。
【0052】次に、位置検出器604は、第2レンジ識
別信号506が図4に示される斜線部のマクロブロック
の指定タイミングを示している場合には、MMV検出部
504が検出した中間値動きベクトルMMVは無視し、
カウンタ値iで特定される予測対象マクロブロックに対
応する参照フレーム上のマクロブロックの中心位置のx
座標値及びy座標値を、それぞれ、サーチウインドウの
移動開始位置を示すx座標値及びy座標値として、特に
は図示しない2つのレジスタに設定する。そして、位置
検出器604は、現在xカウンタ601が出力するx座
標値(−MCH≦x≦+MCH)及びyカウンタ602
が出力するy座標値(−MCH≦y≦+MCH)を、そ
れぞれ、上記2つのレジスタに設定されているサーチウ
インドウの移動開始位置のx座標値及びy座標値に加算
し、その結果得られるx座標値及びy座標値を、現在の
サーチウインドウの中心位置として特には図示しない2
つのレジスタに設定する。更に、位置検出器604は、
そのサーチウインドウの中心位置を中心として、正方形
のサーチウインドウ内の合計でM画素からなるマクロブ
ロックの画素値群b=(b1 、b2 、・・・、bM )の
各アドレスを、順次フレームメモリ605に対して指定
する。この結果、フレームメモリ605に格納されてい
る参照フレームの画素値群のうち、位置検出器604に
より指定されたサーチウインドウ内のマクロブロックの
M画素からなる画素値群bが、参照ブロックレジスタ6
06に書き込まれる。以上の動作が、xカウンタ601
及びyカウンタ602から−MCH≦x≦+MCHの範
囲のx座標値及び−MCH≦y≦+MCHの範囲のy座
標値が指定される毎に実行される。
別信号506が図4に示される斜線部のマクロブロック
の指定タイミングを示している場合には、MMV検出部
504が検出した中間値動きベクトルMMVは無視し、
カウンタ値iで特定される予測対象マクロブロックに対
応する参照フレーム上のマクロブロックの中心位置のx
座標値及びy座標値を、それぞれ、サーチウインドウの
移動開始位置を示すx座標値及びy座標値として、特に
は図示しない2つのレジスタに設定する。そして、位置
検出器604は、現在xカウンタ601が出力するx座
標値(−MCH≦x≦+MCH)及びyカウンタ602
が出力するy座標値(−MCH≦y≦+MCH)を、そ
れぞれ、上記2つのレジスタに設定されているサーチウ
インドウの移動開始位置のx座標値及びy座標値に加算
し、その結果得られるx座標値及びy座標値を、現在の
サーチウインドウの中心位置として特には図示しない2
つのレジスタに設定する。更に、位置検出器604は、
そのサーチウインドウの中心位置を中心として、正方形
のサーチウインドウ内の合計でM画素からなるマクロブ
ロックの画素値群b=(b1 、b2 、・・・、bM )の
各アドレスを、順次フレームメモリ605に対して指定
する。この結果、フレームメモリ605に格納されてい
る参照フレームの画素値群のうち、位置検出器604に
より指定されたサーチウインドウ内のマクロブロックの
M画素からなる画素値群bが、参照ブロックレジスタ6
06に書き込まれる。以上の動作が、xカウンタ601
及びyカウンタ602から−MCH≦x≦+MCHの範
囲のx座標値及び−MCH≦y≦+MCHの範囲のy座
標値が指定される毎に実行される。
【0053】一方、位置検出器604は、第2レンジ識
別信号506が図4に示される斜線部以外のマクロブロ
ックの指定タイミングを示している場合には、前回のサ
ーチウインドウの指定動作において内部の2つのレジス
タに設定されているサーチウインドウの移動開始位置の
x座標値及びy座標値に、それぞれ、前述した数1式に
基づいて図5のMMV検出部504が検出した中間値動
きベクトルMMVのx座標値MMVx及びy座標値MM
Vyを加算し、その結果得られるx座標値及びy座標値
を、それぞれ、サーチウインドウの移動開始位置を示す
x座標値及びy座標値として、特には図示しない2つの
レジスタに設定する。以後、xカウンタ601及びyカ
ウンタ602の各出力に基づくサーチウインドウの中心
位置の算出と、フレームメモリ605に対するサーチウ
インドウ内の画素値群bのアドレスの指定動作は、第2
レンジ識別信号506が図4に示される斜線部のマクロ
ブロックの指定タイミングを示している場合の動作と同
様である。
別信号506が図4に示される斜線部以外のマクロブロ
ックの指定タイミングを示している場合には、前回のサ
ーチウインドウの指定動作において内部の2つのレジス
タに設定されているサーチウインドウの移動開始位置の
x座標値及びy座標値に、それぞれ、前述した数1式に
基づいて図5のMMV検出部504が検出した中間値動
きベクトルMMVのx座標値MMVx及びy座標値MM
Vyを加算し、その結果得られるx座標値及びy座標値
を、それぞれ、サーチウインドウの移動開始位置を示す
x座標値及びy座標値として、特には図示しない2つの
レジスタに設定する。以後、xカウンタ601及びyカ
ウンタ602の各出力に基づくサーチウインドウの中心
位置の算出と、フレームメモリ605に対するサーチウ
インドウ内の画素値群bのアドレスの指定動作は、第2
レンジ識別信号506が図4に示される斜線部のマクロ
ブロックの指定タイミングを示している場合の動作と同
様である。
【0054】このようにして、位置検出器604、xカ
ウンタ601、yカウンタ602、及びMCHセットア
ップ603からなる部分がサーチウインドウを指定し、
前述した1連の絶対値歪検出動作が1回実行され、絶対
値歪検出器610から絶対値歪d(a,b)が出力され
る毎に、図6の最小歪出力ベクトル検出器611は、そ
の絶対値歪d(a,b)を自身が保持している最小絶対
値歪と比較する。そして、入力した絶対値歪d(a,
b)の値が今までの最小絶対値歪の値より小さい場合に
は、最小歪出力ベクトル検出器611は、入力した絶対
値歪d(a,b)を新たな最小絶対値歪として保持する
と共に、xラッチ612及びyラッチ613に対して、
その時点でのx座標値及びy座標値を保持するように指
示する。
ウンタ601、yカウンタ602、及びMCHセットア
ップ603からなる部分がサーチウインドウを指定し、
前述した1連の絶対値歪検出動作が1回実行され、絶対
値歪検出器610から絶対値歪d(a,b)が出力され
る毎に、図6の最小歪出力ベクトル検出器611は、そ
の絶対値歪d(a,b)を自身が保持している最小絶対
値歪と比較する。そして、入力した絶対値歪d(a,
b)の値が今までの最小絶対値歪の値より小さい場合に
は、最小歪出力ベクトル検出器611は、入力した絶対
値歪d(a,b)を新たな最小絶対値歪として保持する
と共に、xラッチ612及びyラッチ613に対して、
その時点でのx座標値及びy座標値を保持するように指
示する。
【0055】この結果として、xカウンタ601及びy
カウンタ602が−MCH≦x≦+MCHの範囲のx座
標値及び−MCH≦y≦+MCHの範囲のy座標値の指
定を終了した時点において、xラッチ612及びyラッ
チ613には、最小絶対値歪min d(a,b)が検出さ
れた時点におけるx座標値及びy座標値がセットされて
いることになる。このx座標値及びy座標値の組は、予
測対象マクロブロック画像との誤差が最小となった参照
フレーム上のマクロブロック画像の、サーチウインドウ
の移動開始位置からのずれを示しており、すなわち予測
対象マクロブロックに対応する動きベクトルを示してい
る。
カウンタ602が−MCH≦x≦+MCHの範囲のx座
標値及び−MCH≦y≦+MCHの範囲のy座標値の指
定を終了した時点において、xラッチ612及びyラッ
チ613には、最小絶対値歪min d(a,b)が検出さ
れた時点におけるx座標値及びy座標値がセットされて
いることになる。このx座標値及びy座標値の組は、予
測対象マクロブロック画像との誤差が最小となった参照
フレーム上のマクロブロック画像の、サーチウインドウ
の移動開始位置からのずれを示しており、すなわち予測
対象マクロブロックに対応する動きベクトルを示してい
る。
【0056】従って、xカウンタ601及びyカウンタ
602が−MCH≦x≦+MCHの範囲のx座標値及び
−MCH≦y≦+MCHの範囲のy座標値の指定を終了
した時点におけるxラッチ612及びyラッチ613の
内容が、予測対象マクロブロックに対応する動きベクト
ルを示す出力ベクトル507として出力される。
602が−MCH≦x≦+MCHの範囲のx座標値及び
−MCH≦y≦+MCHの範囲のy座標値の指定を終了
した時点におけるxラッチ612及びyラッチ613の
内容が、予測対象マクロブロックに対応する動きベクト
ルを示す出力ベクトル507として出力される。
【0057】以上説明した実施の形態では、図4に示さ
れる斜線部以外のマクロブロックの指定タイミングにお
いて実行される縮小サーチでは、中間値動きベクトルM
MVに基づいてサーチウインドウの移動開始位置が決定
されるため、本出願人による先の出願の技術に比較して
より信頼性が高く、しかもサーチ範囲はフルサーチ時の
それに比較して狭くすることが可能となるため、動きベ
クトルを算出するための演算量を削減可能とすると共
に、隣接マクロブロック間での動きベクトルのばらつき
をより小さくしその符号化効率を高めることが可能とな
る。
れる斜線部以外のマクロブロックの指定タイミングにお
いて実行される縮小サーチでは、中間値動きベクトルM
MVに基づいてサーチウインドウの移動開始位置が決定
されるため、本出願人による先の出願の技術に比較して
より信頼性が高く、しかもサーチ範囲はフルサーチ時の
それに比較して狭くすることが可能となるため、動きベ
クトルを算出するための演算量を削減可能とすると共
に、隣接マクロブロック間での動きベクトルのばらつき
をより小さくしその符号化効率を高めることが可能とな
る。
【0058】また、本実施の形態では、縮小サーチが実
行されるマクロブロックとフルサーチが実行されるマク
ロブロックが、図4の斜線部以外のマクロブロックと斜
線部のマクロブロックというように明確に分離されるた
め、これら2つの方式を切り替えるためのロジックは、
単にマクロブロックのカウント値を判定するだけの非常
に単純なものとなり、そのためのハードウエアロジック
の規模を非常に小さいものにすることができ、LSI化
も容易となる。
行されるマクロブロックとフルサーチが実行されるマク
ロブロックが、図4の斜線部以外のマクロブロックと斜
線部のマクロブロックというように明確に分離されるた
め、これら2つの方式を切り替えるためのロジックは、
単にマクロブロックのカウント値を判定するだけの非常
に単純なものとなり、そのためのハードウエアロジック
の規模を非常に小さいものにすることができ、LSI化
も容易となる。
【0059】以上説明した実施の形態では、中間値動き
ベクトルMMVに基づいてサーチウインドウの移動開始
位置が決定されているが、本発明はこれに限られるもの
ではなく、現フレーム上で予測対象マクロブロックの動
きベクトルについての差分値を算出すべき元となる、様
々な方式で算出される被差分動きベクトル群に基づいて
サーチウインドウの移動開始位置が決定されるようにし
てもよい。
ベクトルMMVに基づいてサーチウインドウの移動開始
位置が決定されているが、本発明はこれに限られるもの
ではなく、現フレーム上で予測対象マクロブロックの動
きベクトルについての差分値を算出すべき元となる、様
々な方式で算出される被差分動きベクトル群に基づいて
サーチウインドウの移動開始位置が決定されるようにし
てもよい。
【0060】また、縮小サーチが実行されるマクロブロ
ックとフルサーチが実行されるマクロブロックの区分け
は、被差分動きベクトル群の算出方式に応じて適宜変更
してもよい。
ックとフルサーチが実行されるマクロブロックの区分け
は、被差分動きベクトル群の算出方式に応じて適宜変更
してもよい。
【0061】
【発明の効果】本発明の第1の態様によれば、隣接マク
ロブロック間での動きベクトルのばらつきをより小さく
しその符号化効率を高めることが可能となる。
ロブロック間での動きベクトルのばらつきをより小さく
しその符号化効率を高めることが可能となる。
【0062】本発明の第2の態様によれば、予め明確に
分離されたマクロブロックの位置に応じてサーチウイン
ドウの所定の移動開始位置を決定する方式が選択される
ため、これらの方式を切り替えるためのロジックは、単
にマクロブロックのカウント値を判定するだけの非常に
単純なものとなり、そのためのハードウエアロジックの
規模を非常に小さいものにすることができ、LSI化も
容易となる。
分離されたマクロブロックの位置に応じてサーチウイン
ドウの所定の移動開始位置を決定する方式が選択される
ため、これらの方式を切り替えるためのロジックは、単
にマクロブロックのカウント値を判定するだけの非常に
単純なものとなり、そのためのハードウエアロジックの
規模を非常に小さいものにすることができ、LSI化も
容易となる。
【0063】本発明の第3の態様によれば、予め明確に
分離されたマクロブロックの位置に応じてサーチ範囲を
適切に制御することができ、動きベクトルを算出するた
めの演算量を最適に削減することが可能となる。
分離されたマクロブロックの位置に応じてサーチ範囲を
適切に制御することができ、動きベクトルを算出するた
めの演算量を最適に削減することが可能となる。
【図1】本実施の形態において動きベクトルを符号化す
るマクロブロックの順序を示す図である。
るマクロブロックの順序を示す図である。
【図2】現動きベクトルMVの算出方法を示す図であ
る。
る。
【図3】本実施の形態における各動きベクトルの関係を
示す図である。
示す図である。
【図4】フルサーチが実行されるマクロブロックと縮小
サーチが実行されるマクロブロックとの関係を示す図で
ある。
サーチが実行されるマクロブロックとの関係を示す図で
ある。
【図5】本発明の実施の形態の全体構成図である。
【図6】MC検出部の構成図である。
【図7】動き補償処理の原理説明図である。
【図8】サーチウインドウの説明図である。
501 MC検出部 502 マクロブロックカウンタ 503 レンジ判断部 504 MMV検出部 505 第1レンジ識別信号 506 第2レンジ識別信号 507 出力ベクトル 601 xカウンタ 602 yカウンタ 603 MCHセットアップ 604 位置検出器 605 フレームメモリ 606 参照ブロックレジスタ 607 入力ブロックレジスタ 608 並列減算器 609 並列絶対値演算器 610 絶対値歪検出器 611 最小歪出力ベクトル検出器 612 xラッチ 613 yラッチ
Claims (8)
- 【請求項1】 参照フレームにおいて、現フレーム上の
予測対象部分画像と同じ大きさを有するサーチウインド
ウを、該サーチウインドウの所定の移動開始位置を中心
位置として所定のサーチ範囲内で移動させながら、各移
動位置毎に前記サーチウインドウ内の前記参照フレーム
上の部分画像と前記現フレーム上の予測対象部分画像と
の誤差を計算し、前記サーチウインドウの所定の移動開
始位置を原点とし前記誤差が最小であった移動位置を終
点とするベクトルを動きベクトルとして検出する動きベ
クトル検出装置において、 現フレーム上で予測対象マクロブロックの動きベクトル
についての差分値を算出すべき元となる被差分動きベク
トル群に基づいて前記サーチウインドウの所定の移動開
始位置を決定するサーチウインドウ移動開始位置決定手
段を有する、 ことを特徴とする動きベクトル検出装置。 - 【請求項2】 参照フレームにおいて、現フレーム上の
予測対象部分画像と同じ大きさを有するサーチウインド
ウを、該サーチウインドウの所定の移動開始位置を中心
位置として所定のサーチ範囲内で移動させながら、各移
動位置毎に前記サーチウインドウ内の前記参照フレーム
上の部分画像と前記現フレーム上の予測対象部分画像と
の誤差を計算し、前記サーチウインドウの所定の移動開
始位置を原点とし前記誤差が最小であった移動位置を終
点とするベクトルを動きベクトルとして検出する動きベ
クトル検出装置において、 前記現フレーム上の予測対象部分画像を予め区分する区
分手段と、 該区分手段によって区分される予測対象部分画像毎に、
異なる方式に基づいて前記サーチウインドウの所定の移
動開始位置を決定するサーチウインドウ移動開始位置決
定手段を有する、 ことを特徴とする動きベクトル検出装置。 - 【請求項3】 前記サーチウインドウ移動開始位置決定
手段は、前記区分手段によって区分される1つの区分に
おける予測対象部分画像について、現フレーム上で予測
対象マクロブロックの動きベクトルについての差分値を
算出すべき元となる被差分動きベクトル群に基づいて前
記サーチウインドウの所定の移動開始位置を決定する、 ことを特徴とする請求項2に記載の動きベクトル検出装
置。 - 【請求項4】 前記区分手段によって区分される予測対
象部分画像毎に、異なる前記所定のサーチ範囲を決定す
るサーチ範囲決定手段を更に有する、 ことを特徴とする請求項2又は3の何れか1項に記載の
動きベクトル検出装置。 - 【請求項5】 参照フレームにおいて、現フレーム上の
予測対象部分画像と同じ大きさを有するサーチウインド
ウを、該サーチウインドウの所定の移動開始位置を中心
位置として所定のサーチ範囲内で移動させながら、各移
動位置毎に前記サーチウインドウ内の前記参照フレーム
上の部分画像と前記現フレーム上の予測対象部分画像と
の誤差を計算し、前記サーチウインドウの所定の移動開
始位置を原点とし前記誤差が最小であった移動位置を終
点とするベクトルを動きベクトルとして検出する動きベ
クトル検出方法において、 現フレーム上で予測対象マクロブロックの動きベクトル
についての差分値を算出すべき元となる被差分動きベク
トル群に基づいて前記サーチウインドウの所定の移動開
始位置を決定する、 過程を含むことを特徴とする動きベクトル検出方法。 - 【請求項6】 参照フレームにおいて、現フレーム上の
予測対象部分画像と同じ大きさを有するサーチウインド
ウを、該サーチウインドウの所定の移動開始位置を中心
位置として所定のサーチ範囲内で移動させながら、各移
動位置毎に前記サーチウインドウ内の前記参照フレーム
上の部分画像と前記現フレーム上の予測対象部分画像と
の誤差を計算し、前記サーチウインドウの所定の移動開
始位置を原点とし前記誤差が最小であった移動位置を終
点とするベクトルを動きベクトルとして検出する動きベ
クトル検出方法において、 前記現フレーム上の予測対象部分画像を予め区分し、 該区分される予測対象部分画像毎に、異なる方式に基づ
いて前記サーチウインドウの所定の移動開始位置を決定
する、 過程を含むことを特徴とする動きベクトル検出方法。 - 【請求項7】 前記サーチウインドウ移動開始位置を決
定する過程は、前記区分される1つの区分における予測
対象部分画像について、現フレーム上で予測対象マクロ
ブロックの動きベクトルについての差分値を算出すべき
元となる被差分動きベクトル群に基づいて前記サーチウ
インドウの所定の移動開始位置を決定する過程を含む、 ことを特徴とする請求項6に記載の動きベクトル検出方
法。 - 【請求項8】 前記区分される予測対象部分画像毎に、
異なる前記所定のサーチ範囲を決定する、 ことを特徴とする請求項6又は7の何れか1項に記載の
動きベクトル検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33754195A JPH09182078A (ja) | 1995-12-25 | 1995-12-25 | 動きベクトル検出装置及び動きベクトル検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33754195A JPH09182078A (ja) | 1995-12-25 | 1995-12-25 | 動きベクトル検出装置及び動きベクトル検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09182078A true JPH09182078A (ja) | 1997-07-11 |
Family
ID=18309632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33754195A Pending JPH09182078A (ja) | 1995-12-25 | 1995-12-25 | 動きベクトル検出装置及び動きベクトル検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09182078A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248286B2 (en) * | 2001-10-29 | 2007-07-24 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling a camera using a video compression algorithm |
GB2497812A (en) * | 2011-12-22 | 2013-06-26 | Canon Kk | Motion estimation with motion vector predictor list |
-
1995
- 1995-12-25 JP JP33754195A patent/JPH09182078A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248286B2 (en) * | 2001-10-29 | 2007-07-24 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling a camera using a video compression algorithm |
GB2497812A (en) * | 2011-12-22 | 2013-06-26 | Canon Kk | Motion estimation with motion vector predictor list |
GB2497812B (en) * | 2011-12-22 | 2015-03-04 | Canon Kk | Motion estimation with motion vector predictor list |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4242656B2 (ja) | 動きベクトル予測方法及び動きベクトル予測装置 | |
KR100534207B1 (ko) | 비디오 부호화기의 움직임 추정기 및 그 방법 | |
US20090316786A1 (en) | Motion estimation at image borders | |
KR101217627B1 (ko) | 블록 기반의 움직임 추정 방법 및 장치 | |
TW201902223A (zh) | 視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置 | |
EP1419650A2 (en) | method and apparatus for motion estimation between video frames | |
JP2005287048A (ja) | 画像境界における動きベクトル検出の改良 | |
KR100727795B1 (ko) | 모션 추정 | |
KR20050089886A (ko) | 배경 움직임 벡터 검출 | |
JP2000278688A (ja) | 動きベクトル検出装置およびその方法と画像処理装置 | |
US8045619B2 (en) | Motion estimation apparatus and method | |
JPH10262258A (ja) | 画像符号化装置及び方法 | |
JP2003037844A (ja) | 動画像符号化装置 | |
CN101822058A (zh) | 使用像素抽取的视频编码 | |
JPH06351001A (ja) | 動きベクトル検出方法および動き補償予測方法並びにその装置 | |
JPH09182078A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 | |
JPH09182077A (ja) | 画像符号化方法および画像符号化装置 | |
JP4035903B2 (ja) | 動きベクトル検出方法及び装置 | |
KR100266161B1 (ko) | 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image) | |
KR100208984B1 (ko) | 물체의 윤곽선을 이용한 움직임 벡터 추정 장치 | |
JPH06165164A (ja) | 動画像処理装置 | |
KR20010034374A (ko) | 움직임 벡터 검출 장치 및 방법 | |
JP3712906B2 (ja) | 動きベクトル検出装置 | |
JP2000059786A (ja) | 動き検出装置及び方法 | |
JP4241021B2 (ja) | 動きベクトル検出方法、動きベクトル検出装置、画像符号化装置 |