JPH07154801A - 階層型動きベクトル検出方法 - Google Patents
階層型動きベクトル検出方法Info
- Publication number
- JPH07154801A JPH07154801A JP29855193A JP29855193A JPH07154801A JP H07154801 A JPH07154801 A JP H07154801A JP 29855193 A JP29855193 A JP 29855193A JP 29855193 A JP29855193 A JP 29855193A JP H07154801 A JPH07154801 A JP H07154801A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- image
- hierarchical
- search
- evaluation function
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【目的】 各階層画像におけるマッチング評価関数値の
極小値をとる点を、複数の検出動きベクトル候補とする
ことによって、動きベクトル誤検出の可能性を回避す
る。 【構成】 階層レベル0動きベクトル検出器11は、参
照探索領域画像10と、動き検出対象ブロック画像7に
ついて評価関数を計算し、評価関数値が極小値をとる全
ての点を検出して、検出動きベクトル候補14を出力す
る。検出動きベクトル候補14は2倍にスケーリング1
5され、その候補の全てが次階層の初期探索位置リスト
16となって、階層レベル1の動きベクトル検出器12
に入力される。
極小値をとる点を、複数の検出動きベクトル候補とする
ことによって、動きベクトル誤検出の可能性を回避す
る。 【構成】 階層レベル0動きベクトル検出器11は、参
照探索領域画像10と、動き検出対象ブロック画像7に
ついて評価関数を計算し、評価関数値が極小値をとる全
ての点を検出して、検出動きベクトル候補14を出力す
る。検出動きベクトル候補14は2倍にスケーリング1
5され、その候補の全てが次階層の初期探索位置リスト
16となって、階層レベル1の動きベクトル検出器12
に入力される。
Description
【0001】
【産業上の利用分野】本発明は、動画像の動き補償フレ
ーム間予測符号化方式における動きベクトルの検出方法
に関する。
ーム間予測符号化方式における動きベクトルの検出方法
に関する。
【0002】
【従来の技術】動画像の符号化方式として、従来から動
き補償フレーム間予測と呼ばれる予測符号化方式が用い
られている。そして、予測効率を向上させるために画像
中の動領域の検出が必要となる。
き補償フレーム間予測と呼ばれる予測符号化方式が用い
られている。そして、予測効率を向上させるために画像
中の動領域の検出が必要となる。
【0003】従来、動き補償フレーム間予測符号化方式
における動きベクトルの検出手法として、ブロックマッ
チング法がよく利用されている。このブロックマッチン
グ法は、動き検出対象ブロック(N×N画素領域)を参
照画像中の限られた探索範囲内の画像と画素単位で全て
の位置毎にマッチングをとり、マッチング評価関数を計
算し、最もマッチングのとれた位置を検出動きベクトル
とする手法である。マッチング評価関数としては、例え
ばブロック内の全画素について、画素毎の画素値の誤差
の絶対値の和をとったもの(絶対値誤差和)が使われ
る。
における動きベクトルの検出手法として、ブロックマッ
チング法がよく利用されている。このブロックマッチン
グ法は、動き検出対象ブロック(N×N画素領域)を参
照画像中の限られた探索範囲内の画像と画素単位で全て
の位置毎にマッチングをとり、マッチング評価関数を計
算し、最もマッチングのとれた位置を検出動きベクトル
とする手法である。マッチング評価関数としては、例え
ばブロック内の全画素について、画素毎の画素値の誤差
の絶対値の和をとったもの(絶対値誤差和)が使われ
る。
【0004】ブロックマッチング法がよく使用されてい
る理由は、ある程度頑強な性能をもつためであるが、フ
ルサーチ(全探索)の場合、計算量が膨大になるという
問題がある。このため、3ステップサーチ法(例えば
「会議テレビ信号の動き補償フレーム間符号化」(信学
技報IE81−54 1981−7)を参照)や階層化
サーチ法(例えば、「階層画素情報を用いた動画像にお
ける動き量検出方式」電子情報通信学会論文誌D−II
Vol.J72−D−II No.3 pp.395−403
1989年3月を参照)などの簡略化手法が種々提案
されている。
る理由は、ある程度頑強な性能をもつためであるが、フ
ルサーチ(全探索)の場合、計算量が膨大になるという
問題がある。このため、3ステップサーチ法(例えば
「会議テレビ信号の動き補償フレーム間符号化」(信学
技報IE81−54 1981−7)を参照)や階層化
サーチ法(例えば、「階層画素情報を用いた動画像にお
ける動き量検出方式」電子情報通信学会論文誌D−II
Vol.J72−D−II No.3 pp.395−403
1989年3月を参照)などの簡略化手法が種々提案
されている。
【0005】3ステップサーチ法は、図18に示すよう
に、全画素位置探索の代わりに、まず第1段として、粗
い探索点の間隔で3×3の9点のサーチを行い、最もマ
ッチングのとれた位置を中心に、探索点の間隔を、第1
段のときの半分にして第2段の探索を行う。同様の処理
を複数段繰り返して、粗から密へ探索点の間隔を絞って
いき動きベクトルを検出する方法である。±7画素の探
索範囲の場合、3段で終了し、探索点数は9+8+8=
25点ですむ。フルサーチの場合、15×15=255
点の探索が必要であるから、1/9の処理量に削減され
る。
に、全画素位置探索の代わりに、まず第1段として、粗
い探索点の間隔で3×3の9点のサーチを行い、最もマ
ッチングのとれた位置を中心に、探索点の間隔を、第1
段のときの半分にして第2段の探索を行う。同様の処理
を複数段繰り返して、粗から密へ探索点の間隔を絞って
いき動きベクトルを検出する方法である。±7画素の探
索範囲の場合、3段で終了し、探索点数は9+8+8=
25点ですむ。フルサーチの場合、15×15=255
点の探索が必要であるから、1/9の処理量に削減され
る。
【0006】ただし、線画部分などの高解像度部分で
は、最初の方の段階での粗い探索位置とマッチングすべ
き位置がたまたま合っている場合を除いて、探索初期段
階で誤った動きベクトルを検出する場合があり、実際の
動き補償予測画像における予測誤差を大きくしてしまう
という問題がある。
は、最初の方の段階での粗い探索位置とマッチングすべ
き位置がたまたま合っている場合を除いて、探索初期段
階で誤った動きベクトルを検出する場合があり、実際の
動き補償予測画像における予測誤差を大きくしてしまう
という問題がある。
【0007】これに対して、階層化サーチ法は、低域通
過型フィルタおよびサブサンプリングによって、水平・
垂直方向について、各々1/2ずつ解像度を落した複数
解像度の多階層画像を生成し、低解像度階層画像から動
きベクトルを検出し、順次1つ上の階層での検出動きベ
クトルを参照しながら次階層の動きベクトル検出を行う
方法で、各階層の動きベクトル検出はブロックマッチン
グ法を用いる。
過型フィルタおよびサブサンプリングによって、水平・
垂直方向について、各々1/2ずつ解像度を落した複数
解像度の多階層画像を生成し、低解像度階層画像から動
きベクトルを検出し、順次1つ上の階層での検出動きベ
クトルを参照しながら次階層の動きベクトル検出を行う
方法で、各階層の動きベクトル検出はブロックマッチン
グ法を用いる。
【0008】なお、以下の説明では、低解像度画像を上
位の階層画像とし、高解像度画像を下位の階層画像と定
義する。
位の階層画像とし、高解像度画像を下位の階層画像と定
義する。
【0009】各階層での探索範囲の大きさは通常固定さ
れていて、例えば水平・垂直±2画素の5×5探索位置
とする。各階層の探索範囲の中心位置(初期位置)は、
1つ上の階層での検出動きベクトルをスケーリング(2
倍)した位置が使われる。図19は、従来の階層化サー
チ法における探索初期位置の設定を説明する図である。
上位階層0において、探索範囲52で検出動きベクトル
51が検出されたとする(ただし、検出動きベクトル5
1の始点は(0,0)にある)。下位層1では、検出動
きベクトル51を2倍した位置53を探索初期位置とし
て、探索範囲52で検出動きベクトルを検出する。
れていて、例えば水平・垂直±2画素の5×5探索位置
とする。各階層の探索範囲の中心位置(初期位置)は、
1つ上の階層での検出動きベクトルをスケーリング(2
倍)した位置が使われる。図19は、従来の階層化サー
チ法における探索初期位置の設定を説明する図である。
上位階層0において、探索範囲52で検出動きベクトル
51が検出されたとする(ただし、検出動きベクトル5
1の始点は(0,0)にある)。下位層1では、検出動
きベクトル51を2倍した位置53を探索初期位置とし
て、探索範囲52で検出動きベクトルを検出する。
【0010】図20は、従来の階層サーチ法における処
理フローチャートであり、図21は、従来の処理ブロッ
ク構成図である。以下、図20、図21を参照して従来
の階層サーチ法を説明する。
理フローチャートであり、図21は、従来の処理ブロッ
ク構成図である。以下、図20、図21を参照して従来
の階層サーチ法を説明する。
【0011】動き検出対象フレーム画像1は、複数ブロ
ックからなる現フレーム画像であり、参照フレーム画像
3は、前フレーム画像である。該複数ブロックから動き
検出対象ブロック画像2を切りだす。また、動き検出対
象ブロック画像2と同位置にある参照フレーム画像3の
ブロックを中心として、参照画像探索領域画像4を切り
出す(ステップ401)。図21において、5、8は、
それぞれ切り出された動き検出対象ブロック画像、参照
画像探索領域画像である。
ックからなる現フレーム画像であり、参照フレーム画像
3は、前フレーム画像である。該複数ブロックから動き
検出対象ブロック画像2を切りだす。また、動き検出対
象ブロック画像2と同位置にある参照フレーム画像3の
ブロックを中心として、参照画像探索領域画像4を切り
出す(ステップ401)。図21において、5、8は、
それぞれ切り出された動き検出対象ブロック画像、参照
画像探索領域画像である。
【0012】次いで、動き検出対象ブロック画像5およ
び参照画像探索領域画像8について、3階層の階層画像
を生成する(ステップ402)。すなわち、図21にお
いて、5は、ブロックサイズが16画素×16画素であ
る階層レベル2(最下位層)の動き検出対象ブロック画
像(高解像度画像)である。6は、動き検出対象ブロッ
ク画像5を低域通過型フィルタ処理およびサブサンプル
した、8画素×8画素サイズに縮小された階層レベル1
の動き検出対象ブロック画像である。
び参照画像探索領域画像8について、3階層の階層画像
を生成する(ステップ402)。すなわち、図21にお
いて、5は、ブロックサイズが16画素×16画素であ
る階層レベル2(最下位層)の動き検出対象ブロック画
像(高解像度画像)である。6は、動き検出対象ブロッ
ク画像5を低域通過型フィルタ処理およびサブサンプル
した、8画素×8画素サイズに縮小された階層レベル1
の動き検出対象ブロック画像である。
【0013】ここで、低域通過型フィルタは、簡単には
2×2画素の平均値をとるフィルタであり、サブサンプ
ルは、2:1の間引き処理である。また、7は、動き検
出対象ブロック画像6を、同様に低域通過型フィルタ処
理およびサブサンプルした、4画素×4画素サイズに縮
小された階層レベル0(最上位層)の動き検出対象ブロ
ック画像(低解像度画像)である。
2×2画素の平均値をとるフィルタであり、サブサンプ
ルは、2:1の間引き処理である。また、7は、動き検
出対象ブロック画像6を、同様に低域通過型フィルタ処
理およびサブサンプルした、4画素×4画素サイズに縮
小された階層レベル0(最上位層)の動き検出対象ブロ
ック画像(低解像度画像)である。
【0014】参照画像探索領域画像8についても、同様
の処理によって3階層の階層画像(8、9、10)を生
成する。探索領域画像8は、32画素×32画素サイズ
である階層レベル2(最下位層)のブロックであり、画
像10は、8画素×8画素サイズに縮小された階層レベ
ル0(最上位層)のブロックである。
の処理によって3階層の階層画像(8、9、10)を生
成する。探索領域画像8は、32画素×32画素サイズ
である階層レベル2(最下位層)のブロックであり、画
像10は、8画素×8画素サイズに縮小された階層レベ
ル0(最上位層)のブロックである。
【0015】そして、最上位層から最下位層へと、各階
層毎に動きベクトルを検出する。図21において、11
aは階層レベル0(最上位層)の動きベクトル検出器、
12aは階層レベル1の動きベクトル検出器、13aは
階層レベル2(最下位層)の動きベクトル検出器であ
る。
層毎に動きベクトルを検出する。図21において、11
aは階層レベル0(最上位層)の動きベクトル検出器、
12aは階層レベル1の動きベクトル検出器、13aは
階層レベル2(最下位層)の動きベクトル検出器であ
る。
【0016】図22は、従来の階層サーチ法における各
階層の動きベクトル検出器のブロック構成図である。図
22において、初期探索位置を中心として、探索範囲設
定部31aには探索範囲が設定され、ブロックマッチン
グ評価計算部32aは、各階層における参照探索領域画
像と、動き検出対象ブロック画像について評価関数を計
算する。マッチング評価関数としては、評価関数値が最
小となるところが最もマッチした位置となるような評価
関数、例えばブロック内の全画素について、画素毎の画
素値の誤差の絶対値の和をとったもの(絶対値誤差和)
を用いるものとする。計算された評価関数値がテーブル
メモリ33aに書き込まれ、最小点検出部34aは、メ
モリ33a中から最小点を検出して、検出動きベクトル
を出力する。
階層の動きベクトル検出器のブロック構成図である。図
22において、初期探索位置を中心として、探索範囲設
定部31aには探索範囲が設定され、ブロックマッチン
グ評価計算部32aは、各階層における参照探索領域画
像と、動き検出対象ブロック画像について評価関数を計
算する。マッチング評価関数としては、評価関数値が最
小となるところが最もマッチした位置となるような評価
関数、例えばブロック内の全画素について、画素毎の画
素値の誤差の絶対値の和をとったもの(絶対値誤差和)
を用いるものとする。計算された評価関数値がテーブル
メモリ33aに書き込まれ、最小点検出部34aは、メ
モリ33a中から最小点を検出して、検出動きベクトル
を出力する。
【0017】上記したようにして、階層レベル0の検出
器11aから出力された検出動きベクトル14aは、検
出動きベクトルスケーリング15aによって2倍され
る。スケーリングされた検出動きベクトルが初期探索位
置16aとなって、階層レベル1の動きベクトル検出器
12aに入力される。つまり、階層レベル0の検出結果
を2倍して、解像度を階層レベル1の解像度に合わせ
て、これを初期探索位置として設定している。階層レベ
ル2の初期探索位置19aの設定についても、同様に、
階層レベル1の検出器12aから出力された検出動きベ
クトル17aを、検出動きベクトルスケーリング18a
で2倍した位置を初期探索位置として設定する。
器11aから出力された検出動きベクトル14aは、検
出動きベクトルスケーリング15aによって2倍され
る。スケーリングされた検出動きベクトルが初期探索位
置16aとなって、階層レベル1の動きベクトル検出器
12aに入力される。つまり、階層レベル0の検出結果
を2倍して、解像度を階層レベル1の解像度に合わせ
て、これを初期探索位置として設定している。階層レベ
ル2の初期探索位置19aの設定についても、同様に、
階層レベル1の検出器12aから出力された検出動きベ
クトル17aを、検出動きベクトルスケーリング18a
で2倍した位置を初期探索位置として設定する。
【0018】図20に戻り、階層レベル(L)をL=0
に設定する(ステップ403)。階層レベル0の検出器
11aに、初期探索位置Vstart(L)を設定する(ステ
ップ404)。Vstart(L)=Vout(L−1)×2
(Vout(L−1)は、1つ上位の階層の検出動きベクト
ルである。ただし、Vout(−1)=(0,0))。
に設定する(ステップ403)。階層レベル0の検出器
11aに、初期探索位置Vstart(L)を設定する(ステ
ップ404)。Vstart(L)=Vout(L−1)×2
(Vout(L−1)は、1つ上位の階層の検出動きベクト
ルである。ただし、Vout(−1)=(0,0))。
【0019】階層レベル0の検出器11aの探索範囲設
定部31aに、探索範囲□(L)を設定する(ステップ
405)。ここで、□(L)=Vstart(L)±(2,
2)である。つまり、Vstart(L)を中心に5×5の範
囲を設定する。次いで、階層レベルLの階層画像で探索
範囲□(L)について、ブロックマッチング評価関数計
算部32aは、評価関数計算f(V)を算出する(ステ
ップ406)。ただし、V∈□(L)である。
定部31aに、探索範囲□(L)を設定する(ステップ
405)。ここで、□(L)=Vstart(L)±(2,
2)である。つまり、Vstart(L)を中心に5×5の範
囲を設定する。次いで、階層レベルLの階層画像で探索
範囲□(L)について、ブロックマッチング評価関数計
算部32aは、評価関数計算f(V)を算出する(ステ
ップ406)。ただし、V∈□(L)である。
【0020】最小点検出部34aは、評価計算値33a
から最小点を検出することにより、階層レベルLの検出
動きベクトルVout(L)を決定する(ステップ40
7)。
から最小点を検出することにより、階層レベルLの検出
動きベクトルVout(L)を決定する(ステップ40
7)。
【0021】f(Vout(L))=Min(f(V))、
ただし、V∈□(L)である。階層レベルLをインクリ
メント(L=L+1)する(ステップ408)。
ただし、V∈□(L)である。階層レベルLをインクリ
メント(L=L+1)する(ステップ408)。
【0022】次いで、最終レベルが終了したか否か(L
>2)を判定し(ステップ409)、最終レベルが終了
していなければ、ステップ404に戻って、以下、前述
した処理を繰返し、最終レベルが終了していれば、最終
処理ブロックの処理が終了したか否かを判定し(ステッ
プ410)、最終処理ブロックの処理が終了していなけ
れば、ステップ401に戻り、次の動き検出対象ブロッ
クと、それに対応する参照領域を切りだして、前述した
処理を繰返し、最終処理ブロックの処理が終了していれ
ば処理を終了する。図23は、従来法における、各階層
ので動き検出対象ブロックサイズ、探索領域サイズ、探
索範囲、探索点数を示した図である。
>2)を判定し(ステップ409)、最終レベルが終了
していなければ、ステップ404に戻って、以下、前述
した処理を繰返し、最終レベルが終了していれば、最終
処理ブロックの処理が終了したか否かを判定し(ステッ
プ410)、最終処理ブロックの処理が終了していなけ
れば、ステップ401に戻り、次の動き検出対象ブロッ
クと、それに対応する参照領域を切りだして、前述した
処理を繰返し、最終処理ブロックの処理が終了していれ
ば処理を終了する。図23は、従来法における、各階層
ので動き検出対象ブロックサイズ、探索領域サイズ、探
索範囲、探索点数を示した図である。
【0023】なお、階層化サーチ法には、各階層での動
き検出対象ブロックの大きさを、階層によらず一定の画
素数とする方法(従って低解像度階層ほど実際の画像上
でのブロックサイズは大きくなる)と、各階層のサブサ
ンプル比率に応じて、動き検出対象ブロックの大きさを
変え、実際上の画像において同じ領域の動きベクトル検
出を行う方法とがある。
き検出対象ブロックの大きさを、階層によらず一定の画
素数とする方法(従って低解像度階層ほど実際の画像上
でのブロックサイズは大きくなる)と、各階層のサブサ
ンプル比率に応じて、動き検出対象ブロックの大きさを
変え、実際上の画像において同じ領域の動きベクトル検
出を行う方法とがある。
【0024】このような階層化サーチ法では、低域通過
型フィルタおよびサブサンプリングによって多階層画像
を生成して各階層の動き検出を行うため、3ステップ法
で動きベクトルを誤検出するような高解像度の部分に対
しても、動きベクトルの誤検出を回避することができ、
誤検出の場合の、実際の動き補償予測画像における予測
誤差も3ステップ法に比べて大きくない。
型フィルタおよびサブサンプリングによって多階層画像
を生成して各階層の動き検出を行うため、3ステップ法
で動きベクトルを誤検出するような高解像度の部分に対
しても、動きベクトルの誤検出を回避することができ、
誤検出の場合の、実際の動き補償予測画像における予測
誤差も3ステップ法に比べて大きくない。
【0025】
【発明が解決しようとする課題】しかし、上記した従来
の階層化サーチ法においても、フルサーチブロックマッ
チング法で検出可能な動きベクトルを正しく検出するこ
とができない場合がある。すなわち、これは高解像度の
部分で、マッチングに必要な情報がわずかに高周波成分
に含まれていて、低解像度階層の低域通過型フィルタを
通してサブサンプルされ、その高周波成分が減衰された
画像においては、正しいマッチングが行えない。
の階層化サーチ法においても、フルサーチブロックマッ
チング法で検出可能な動きベクトルを正しく検出するこ
とができない場合がある。すなわち、これは高解像度の
部分で、マッチングに必要な情報がわずかに高周波成分
に含まれていて、低解像度階層の低域通過型フィルタを
通してサブサンプルされ、その高周波成分が減衰された
画像においては、正しいマッチングが行えない。
【0026】図24は、従来の階層化サーチ法によって
動きベクトルが正しく検出できない場合の例を示す図で
ある。すなわち、図24は、n−1番目のフレームにお
けるブロックと、n番目のフレームにおけるブロック間
の動きベクトル検出の場合の例である。画像間の動きを
決定する特徴は、小さな*で示された部分のみである
が、低解像度ではこの特徴が減衰され、正しいマッチン
グに寄与できなくなる場合がある。図のような場合、低
解像度階層での検出動きベクトルは、垂直方向に検出誤
りを発生しやすくなる。
動きベクトルが正しく検出できない場合の例を示す図で
ある。すなわち、図24は、n−1番目のフレームにお
けるブロックと、n番目のフレームにおけるブロック間
の動きベクトル検出の場合の例である。画像間の動きを
決定する特徴は、小さな*で示された部分のみである
が、低解像度ではこの特徴が減衰され、正しいマッチン
グに寄与できなくなる場合がある。図のような場合、低
解像度階層での検出動きベクトルは、垂直方向に検出誤
りを発生しやすくなる。
【0027】このような場合には、低解像度階層でのマ
ッチング評価関数の最小値をとる点が、高解像度層での
マッチング評価関数の最小値をとる点に最も近い探索点
と必ずしも一致しない。従って、低解像度階層でのマッ
チング評価関数の最小値をとる点を、この階層での動き
ベクトルとして、次の階層での探索初期位置に使用する
従来の方法では、以降の階層の探索を続けても、高解像
度層でのマッチング評価関数の最小値をとる点を検出す
ることができない場合がある。
ッチング評価関数の最小値をとる点が、高解像度層での
マッチング評価関数の最小値をとる点に最も近い探索点
と必ずしも一致しない。従って、低解像度階層でのマッ
チング評価関数の最小値をとる点を、この階層での動き
ベクトルとして、次の階層での探索初期位置に使用する
従来の方法では、以降の階層の探索を続けても、高解像
度層でのマッチング評価関数の最小値をとる点を検出す
ることができない場合がある。
【0028】図25は、上位階層での動きベクトル検出
の誤りのため、次階層で正しい動きベクトルを検出でき
ない例を示す。例えば、図25の場合に上位階層(階層
0)で検出されるべき動きベクトル↑を↓と誤検出して
しまうと、次の階層(階層1)の探索範囲は、誤った探
索初期位置61を中心とした探索範囲62になり、次階
層でも正しい動きベクトルが検出できない。
の誤りのため、次階層で正しい動きベクトルを検出でき
ない例を示す。例えば、図25の場合に上位階層(階層
0)で検出されるべき動きベクトル↑を↓と誤検出して
しまうと、次の階層(階層1)の探索範囲は、誤った探
索初期位置61を中心とした探索範囲62になり、次階
層でも正しい動きベクトルが検出できない。
【0029】本発明の目的は、各階層画像におけるマッ
チング評価関数値の極小値をとる点を、複数の検出動き
ベクトル候補とすることによって、動きベクトル誤検出
の可能性を回避するようにした階層型動きベクトル検出
方法を提供することにある。
チング評価関数値の極小値をとる点を、複数の検出動き
ベクトル候補とすることによって、動きベクトル誤検出
の可能性を回避するようにした階層型動きベクトル検出
方法を提供することにある。
【0030】
【課題を解決するための手段】前記目的を達成するため
に、請求項1記載の発明では、低域通過型フィルタおよ
びサブサンプリングによって、複数解像度の多階層画像
L(n)を生成し、低解像度の階層画像L(1)から動
きベクトル検出を開始し、順次、階層画像L(k)での
検出動きベクトルを参照しながら次階層画像L(k+
1)の動きベクトル検出を行うブロックマッチング法を
用いた階層型動きベクトル検出方法において、前記各階
層画像におけるブロックマッチングの評価関数値が極小
値となる点を全て検出し、該検出点を複数の動きベクト
ル候補とし、次階層画像における探索初期位置に用いる
ことを特徴としている。
に、請求項1記載の発明では、低域通過型フィルタおよ
びサブサンプリングによって、複数解像度の多階層画像
L(n)を生成し、低解像度の階層画像L(1)から動
きベクトル検出を開始し、順次、階層画像L(k)での
検出動きベクトルを参照しながら次階層画像L(k+
1)の動きベクトル検出を行うブロックマッチング法を
用いた階層型動きベクトル検出方法において、前記各階
層画像におけるブロックマッチングの評価関数値が極小
値となる点を全て検出し、該検出点を複数の動きベクト
ル候補とし、次階層画像における探索初期位置に用いる
ことを特徴としている。
【0031】請求項2記載の発明では、前記極小点か否
かの判定は、注目位置の評価関数値が該位置を中心とし
た隣接する位置の全ての評価関数値より小さいとき、該
注目位置を極小点と判定することを特徴としている。
かの判定は、注目位置の評価関数値が該位置を中心とし
た隣接する位置の全ての評価関数値より小さいとき、該
注目位置を極小点と判定することを特徴としている。
【0032】請求項3記載の発明では、前記評価関数値
が最小となる点からN番目に小さい値となる点までのN
個(N≧2)の点を、複数の動きベクトル候補とするこ
とを特徴としている。
が最小となる点からN番目に小さい値となる点までのN
個(N≧2)の点を、複数の動きベクトル候補とするこ
とを特徴としている。
【0033】請求項4記載の発明では、前記評価関数値
が最小となる点からN番目に小さい値となる点までのN
個(N≧2)の点の内、極小値となる点を、複数の動き
ベクトル候補とすることを特徴としている。
が最小となる点からN番目に小さい値となる点までのN
個(N≧2)の点の内、極小値となる点を、複数の動き
ベクトル候補とすることを特徴としている。
【0034】
【作用】実施例1では、低解像度階層においてマッチン
グ評価関数の最小値をとる点以外に、評価関数値が極小
値をとる点を全て検出し、検出動きベクトル候補とす
る。これら全てを次階層の動きベクトル検出の初期位置
として使用する。極小値をとる点が互いに近接していれ
ば、それらを中心とする探索範囲にも重複を生じるが、
もちろん重複部分は2回探索する必要はない。検出動き
ベクトル候補の全てを探索初期位置とする探索範囲の和
の範囲を全探索範囲とする。
グ評価関数の最小値をとる点以外に、評価関数値が極小
値をとる点を全て検出し、検出動きベクトル候補とす
る。これら全てを次階層の動きベクトル検出の初期位置
として使用する。極小値をとる点が互いに近接していれ
ば、それらを中心とする探索範囲にも重複を生じるが、
もちろん重複部分は2回探索する必要はない。検出動き
ベクトル候補の全てを探索初期位置とする探索範囲の和
の範囲を全探索範囲とする。
【0035】従来の階層化サーチ法では動きベクトルが
正しく求められなかった高解像度層でのマッチング評価
関数の最小値をとる点に最も近い低解像度階層での探索
点が、低解像度階層でのマッチング評価関数の最小値を
とる点と一致しない場合にも、その他の極小値をとる点
になっている可能性が高い。したがって、このようにマ
ッチング評価関数の最小値をとる点のみでなく、その他
の極小値をとる点も検出動きベクトル候補として、次階
層の探索範囲を拡げることにより、効果的に次階層での
動きベクトルの誤検出を回避することができる。
正しく求められなかった高解像度層でのマッチング評価
関数の最小値をとる点に最も近い低解像度階層での探索
点が、低解像度階層でのマッチング評価関数の最小値を
とる点と一致しない場合にも、その他の極小値をとる点
になっている可能性が高い。したがって、このようにマ
ッチング評価関数の最小値をとる点のみでなく、その他
の極小値をとる点も検出動きベクトル候補として、次階
層の探索範囲を拡げることにより、効果的に次階層での
動きベクトルの誤検出を回避することができる。
【0036】また、本発明による方法では、極小点が最
小値をとる点以外に存在しなければ、検出動きベクトル
候補は従来と同様に1つしかなく、次階層での探索範囲
も従来法と変わらない。
小値をとる点以外に存在しなければ、検出動きベクトル
候補は従来と同様に1つしかなく、次階層での探索範囲
も従来法と変わらない。
【0037】実施例2では、低解像度階層での評価関数
値の値が最小となる点から2、3、..N番目に小さい
値となる点までのN個の点を、検出動きベクトル候補と
する。これにより、極小点検出の代わりに評価関数値の
小さい方からN番目までの値をとる点を検出するだけで
よいので、検出動きベクトル候補の選択は簡単になる
が、常にN個の検出動きベクトル候補を用いるので、実
施例1に比べて探索処理が多くなる。
値の値が最小となる点から2、3、..N番目に小さい
値となる点までのN個の点を、検出動きベクトル候補と
する。これにより、極小点検出の代わりに評価関数値の
小さい方からN番目までの値をとる点を検出するだけで
よいので、検出動きベクトル候補の選択は簡単になる
が、常にN個の検出動きベクトル候補を用いるので、実
施例1に比べて探索処理が多くなる。
【0038】実施例3では、低解像度階層での評価関数
値の値が最小となる点から2、3、..N番目に小さい
値となる点までのN個の点の内、極小値をとる点のみ
を、検出動きベクトル候補とする。これにより、検出動
きベクトル候補が上記した第1、第2の実施例の論理積
となるので、第1の実施例では、極小値であればその評
価関数値の大きさによらず全て検出動きベクトル候補と
しているが、この実施例では評価関数値の小さい方から
N番目以下のものに限定できるので、第1の実施例より
さらに効果的に検出動きベクトル候補を設定することが
でき、探索処理が第1の実施例に比べて少なくすること
ができる。検出動きベクトル候補の選択は、極小点検出
に加えて、評価関数値の小さい方からN番目までの値を
とる点を検出するので、やや処理量が多くなる。
値の値が最小となる点から2、3、..N番目に小さい
値となる点までのN個の点の内、極小値をとる点のみ
を、検出動きベクトル候補とする。これにより、検出動
きベクトル候補が上記した第1、第2の実施例の論理積
となるので、第1の実施例では、極小値であればその評
価関数値の大きさによらず全て検出動きベクトル候補と
しているが、この実施例では評価関数値の小さい方から
N番目以下のものに限定できるので、第1の実施例より
さらに効果的に検出動きベクトル候補を設定することが
でき、探索処理が第1の実施例に比べて少なくすること
ができる。検出動きベクトル候補の選択は、極小点検出
に加えて、評価関数値の小さい方からN番目までの値を
とる点を検出するので、やや処理量が多くなる。
【0039】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。ここでは、3階層の階層サーチで、各階
層のサブサンプル比率に応じて、動き検出対象ブロック
の大きさを変えて、実際上の画像において同じ領域の動
きベクトル検出を行う方法の場合を例にして実施例を説
明する。本発明はこのような例に限定されるものではな
く、各階層での動き検出対象ブロックの大きさを、階層
によらず一定の画素数とする方法においても同様に実施
可能であり、また階層数についても一般にN階層に適用
できる。
的に説明する。ここでは、3階層の階層サーチで、各階
層のサブサンプル比率に応じて、動き検出対象ブロック
の大きさを変えて、実際上の画像において同じ領域の動
きベクトル検出を行う方法の場合を例にして実施例を説
明する。本発明はこのような例に限定されるものではな
く、各階層での動き検出対象ブロックの大きさを、階層
によらず一定の画素数とする方法においても同様に実施
可能であり、また階層数についても一般にN階層に適用
できる。
【0040】また、各階層における低域通過型フィルタ
(LPF)およびサブサンプリング処理として、2×2
画素の平均値をとって1画素にする方法で、縮小された
階層を2階層作成する。階層数は、縮小前のもとの階層
と合わせて3階層とする。以上の処理については、従来
の方法も本発明の方法も共通である。また、各階層にお
ける動き検出対象ブロックサイズ、探索領域サイズは、
本発明においても従来のものと同一のサイズが用いられ
る。
(LPF)およびサブサンプリング処理として、2×2
画素の平均値をとって1画素にする方法で、縮小された
階層を2階層作成する。階層数は、縮小前のもとの階層
と合わせて3階層とする。以上の処理については、従来
の方法も本発明の方法も共通である。また、各階層にお
ける動き検出対象ブロックサイズ、探索領域サイズは、
本発明においても従来のものと同一のサイズが用いられ
る。
【0041】〈実施例1〉図1は、本発明の実施例1の
ブロック構成図であり、図2及び図3は、第1の実施例
の処理フローチャートである。まず、図1の構成から説
明すると、前述した従来例と同様に、動き検出対象フレ
ーム画像1は、複数ブロック(図の場合、例えば5×5
ブロック)からなる現フレーム画像である。また、参照
フレーム画像3は、複数ブロックからなる前フレーム画
像である。
ブロック構成図であり、図2及び図3は、第1の実施例
の処理フローチャートである。まず、図1の構成から説
明すると、前述した従来例と同様に、動き検出対象フレ
ーム画像1は、複数ブロック(図の場合、例えば5×5
ブロック)からなる現フレーム画像である。また、参照
フレーム画像3は、複数ブロックからなる前フレーム画
像である。
【0042】動き検出対象フレーム画像1を構成する複
数ブロックから動き検出対象ブロック画像2を切りだ
す。該動き検出対象ブロック画像2と同位置にある参照
フレーム画像3のブロックを中心として、参照画像探索
領域画像4を切り出す。5は、切り出されたブロックサ
イズが16画素×16画素である階層レベル2(最下位
層)の動き検出対象ブロック画像である。8は、切り出
されたブロックサイズが32画素×32画素である階層
レベル2(最下位層)の参照画像探索領域画像である。
数ブロックから動き検出対象ブロック画像2を切りだ
す。該動き検出対象ブロック画像2と同位置にある参照
フレーム画像3のブロックを中心として、参照画像探索
領域画像4を切り出す。5は、切り出されたブロックサ
イズが16画素×16画素である階層レベル2(最下位
層)の動き検出対象ブロック画像である。8は、切り出
されたブロックサイズが32画素×32画素である階層
レベル2(最下位層)の参照画像探索領域画像である。
【0043】6は、動き検出対象ブロック画像5を低域
通過型フィルタ処理およびサブサンプルし、8画素×8
画素サイズに縮小した階層レベル1の動き検出対象ブロ
ック画像であり、7は、動き検出対象ブロック画像6
を、同様に低域通過型フィルタ処理およびサブサンプル
した、4画素×4画素サイズに縮小された階層レベル0
(最上位層)の動き検出対象ブロック画像である。
通過型フィルタ処理およびサブサンプルし、8画素×8
画素サイズに縮小した階層レベル1の動き検出対象ブロ
ック画像であり、7は、動き検出対象ブロック画像6
を、同様に低域通過型フィルタ処理およびサブサンプル
した、4画素×4画素サイズに縮小された階層レベル0
(最上位層)の動き検出対象ブロック画像である。
【0044】参照画像探索領域画像8についても同様に
して、階層レベル1の階層画像9(16画素×16画素
サイズ)と階層レベル0の階層画像10(8画素×8画
素サイズ)を生成する。
して、階層レベル1の階層画像9(16画素×16画素
サイズ)と階層レベル0の階層画像10(8画素×8画
素サイズ)を生成する。
【0045】11は階層レベル0(最上位層)の動きベ
クトル検出器、12は階層レベル1の動きベクトル検出
器、13は階層レベル2(最下位層)の動きベクトル検
出器であり、最上位層から最下位層へと、各階層毎に動
きベクトルを検出する。
クトル検出器、12は階層レベル1の動きベクトル検出
器、13は階層レベル2(最下位層)の動きベクトル検
出器であり、最上位層から最下位層へと、各階層毎に動
きベクトルを検出する。
【0046】図4は、本発明に係る、階層レベル0の動
きベクトル検出器のブロック構成図である。図4におい
て、初期探索位置を中心として、探索範囲設定部31に
は探索範囲が設定され、ブロックマッチング評価計算部
32は、階層レベル0における参照探索領域画像10
と、動き検出対象ブロック画像7について評価関数を計
算する。マッチング評価関数としては、従来例と同様
に、評価関数値が最小となるところが最もマッチした位
置となるような評価関数、例えばブロック内の全画素に
ついて、画素毎の画素値の誤差の絶対値の和をとったも
の(絶対値誤差和)を用いるものとする。評価関数とし
てはこれに限定されず、例えば誤差の2乗などを用いて
もよい。計算された評価関数値がテーブルメモリ33に
書き込まれ、極小点検出部34はメモリ33中から評価
関数値が極小値をとる全ての点を検出して、検出動きベ
クトル候補を出力する。
きベクトル検出器のブロック構成図である。図4におい
て、初期探索位置を中心として、探索範囲設定部31に
は探索範囲が設定され、ブロックマッチング評価計算部
32は、階層レベル0における参照探索領域画像10
と、動き検出対象ブロック画像7について評価関数を計
算する。マッチング評価関数としては、従来例と同様
に、評価関数値が最小となるところが最もマッチした位
置となるような評価関数、例えばブロック内の全画素に
ついて、画素毎の画素値の誤差の絶対値の和をとったも
の(絶対値誤差和)を用いるものとする。評価関数とし
てはこれに限定されず、例えば誤差の2乗などを用いて
もよい。計算された評価関数値がテーブルメモリ33に
書き込まれ、極小点検出部34はメモリ33中から評価
関数値が極小値をとる全ての点を検出して、検出動きベ
クトル候補を出力する。
【0047】階層レベル0の検出器11から出力された
検出動きベクトル候補14は、検出動きベクトルスケー
リング15によって2倍される。スケーリングされた検
出動きベクトル候補の全てが次階層の初期探索位置リス
ト16となって、階層レベル1の動きベクトル検出器1
2に入力される。階層レベル2の初期探索位置19の設
定についても、同様に、階層レベル1の検出器12から
出力された検出動きベクトル候補17を、検出動きベク
トルスケーリング18で2倍した全ての位置を初期探索
位置リストとして設定する。
検出動きベクトル候補14は、検出動きベクトルスケー
リング15によって2倍される。スケーリングされた検
出動きベクトル候補の全てが次階層の初期探索位置リス
ト16となって、階層レベル1の動きベクトル検出器1
2に入力される。階層レベル2の初期探索位置19の設
定についても、同様に、階層レベル1の検出器12から
出力された検出動きベクトル候補17を、検出動きベク
トルスケーリング18で2倍した全ての位置を初期探索
位置リストとして設定する。
【0048】図5は、本発明に係る、階層レベル1の動
きベクトル検出器のブロック構成図である。図4と異な
る点は、検出動きベクトル候補の全てを探索初期位置と
して探索範囲設定部31に入力する点であり、他の構成
要素は図4のものと同様である。
きベクトル検出器のブロック構成図である。図4と異な
る点は、検出動きベクトル候補の全てを探索初期位置と
して探索範囲設定部31に入力する点であり、他の構成
要素は図4のものと同様である。
【0049】図6は、本発明に係る、階層レベル2の動
きベクトル検出器のブロック構成図である。図5と異な
ることろは、図5の極小点検出部34を最小点検出部3
5に置き換えた点である。最小点検出部35で評価関数
値の最小点を検出して、最終の検出動きベクトルを出力
する。
きベクトル検出器のブロック構成図である。図5と異な
ることろは、図5の極小点検出部34を最小点検出部3
5に置き換えた点である。最小点検出部35で評価関数
値の最小点を検出して、最終の検出動きベクトルを出力
する。
【0050】なお、極小値をとる点が互いに近接してい
れば、それらを中心とする探索範囲にも重複を生じる。
図7は、複数の探索範囲が重複する例を示す図で、4
1、42は、それぞれ検出された第1、第2の位置であ
り、43は、探索初期位置41を中心とした探索範囲で
あり、44は、探索初期位置42を中心とした探索範囲
であり、45は、探索範囲43と44が重複した探索範
囲を示す。このような重複部分45については、2回探
索する必要はない。従って、検出動きベクトル候補の全
てを探索初期位置とする探索範囲の和の範囲を全探索範
囲とする。
れば、それらを中心とする探索範囲にも重複を生じる。
図7は、複数の探索範囲が重複する例を示す図で、4
1、42は、それぞれ検出された第1、第2の位置であ
り、43は、探索初期位置41を中心とした探索範囲で
あり、44は、探索初期位置42を中心とした探索範囲
であり、45は、探索範囲43と44が重複した探索範
囲を示す。このような重複部分45については、2回探
索する必要はない。従って、検出動きベクトル候補の全
てを探索初期位置とする探索範囲の和の範囲を全探索範
囲とする。
【0051】また、極小点検出は、以下のようにして行
う。極小点検出部34における極小点の判定は、図8に
示すように、注目位置の評価関数値Xと、該位置を中心
とした8個の隣接する位置の評価関数値A〜Hから判定
する。すなわち、X<A、かつX<B、かつX<C、か
つX<D、かつX<E、かつX<F、かつX<G、かつ
X<Hなら注目位置を極小点と判定する。ただし、探索
範囲の境界部分で8隣接位置が探索範囲から外れる部分
を除いて極小点の判定を行う。
う。極小点検出部34における極小点の判定は、図8に
示すように、注目位置の評価関数値Xと、該位置を中心
とした8個の隣接する位置の評価関数値A〜Hから判定
する。すなわち、X<A、かつX<B、かつX<C、か
つX<D、かつX<E、かつX<F、かつX<G、かつ
X<Hなら注目位置を極小点と判定する。ただし、探索
範囲の境界部分で8隣接位置が探索範囲から外れる部分
を除いて極小点の判定を行う。
【0052】以下、図2及び図3の処理フローチャート
を参照して実施例1の動作を説明する。動き検出対象フ
レーム画像1を構成する複数ブロックから動き検出対象
ブロック画像2を切りだし、参照フレーム画像3を構成
する複数ブロックから参照画像探索領域画像4を切り出
す(ステップ101)。動き検出対象ブロック画像2お
よび参照画像探索領域画像4について、それぞれ3階層
の階層画像(5、6、7)と(8、9、10)を生成す
る(ステップ102)。
を参照して実施例1の動作を説明する。動き検出対象フ
レーム画像1を構成する複数ブロックから動き検出対象
ブロック画像2を切りだし、参照フレーム画像3を構成
する複数ブロックから参照画像探索領域画像4を切り出
す(ステップ101)。動き検出対象ブロック画像2お
よび参照画像探索領域画像4について、それぞれ3階層
の階層画像(5、6、7)と(8、9、10)を生成す
る(ステップ102)。
【0053】階層レベル(L)をL=0に設定する(ス
テップ103)。階層レベル(L)の動きベクトル候補
数(Mmax(L))を設定する。Mmax(−1)=1(ステ
ップ104)。次いで、初期探索位置Vstart(L,M)
を設定する(ステップ105)。Vstart(L,M)=V
out(L−1,M)×2 つまり、Vstart(L,M)
は、検出動きベクトル候補リストVout(L−1,M)
を、スケーリング(15、18)で2倍したものであ
る。(Vout(L−1,M)は、1つ上位の階層の検出動
きベクトル候補リストのM番目(1≦M≦Mmax(L−
1))である。ただし、Vout(−1,1)=(0,
0))。いま、L=0であるから、図4の探索範囲設定
部31には、初期探索位置Vstart(L,M)として、V
start(0,0)が入力される。
テップ103)。階層レベル(L)の動きベクトル候補
数(Mmax(L))を設定する。Mmax(−1)=1(ステ
ップ104)。次いで、初期探索位置Vstart(L,M)
を設定する(ステップ105)。Vstart(L,M)=V
out(L−1,M)×2 つまり、Vstart(L,M)
は、検出動きベクトル候補リストVout(L−1,M)
を、スケーリング(15、18)で2倍したものであ
る。(Vout(L−1,M)は、1つ上位の階層の検出動
きベクトル候補リストのM番目(1≦M≦Mmax(L−
1))である。ただし、Vout(−1,1)=(0,
0))。いま、L=0であるから、図4の探索範囲設定
部31には、初期探索位置Vstart(L,M)として、V
start(0,0)が入力される。
【0054】探索範囲設定部31に探索範囲□(L)を
設定する(ステップ106)。ここで、□(L)=∪
(Vstart(L,M)±(2,2))である。∪はM(1
≦M≦Mmax(L−1))についての和集合である。L=
0の場合、Vstart(0,0)を中心に5×5の探索範囲
となる。
設定する(ステップ106)。ここで、□(L)=∪
(Vstart(L,M)±(2,2))である。∪はM(1
≦M≦Mmax(L−1))についての和集合である。L=
0の場合、Vstart(0,0)を中心に5×5の探索範囲
となる。
【0055】次いで、階層レベルLの階層画像で探索範
囲□(L)について、ブロックマッチング評価関数計算
部32は、評価関数計算f(V)を算出する(ステップ
107)。ただし、V∈□(L)である。
囲□(L)について、ブロックマッチング評価関数計算
部32は、評価関数計算f(V)を算出する(ステップ
107)。ただし、V∈□(L)である。
【0056】L=2か否かを判定する(ステップ10
8)。L=2のときは、ステップ113に進み、図6の
最小点検出部35は、評価関数値から最小点を検出し、
これを最終の検出動きベクトルとして出力する。
8)。L=2のときは、ステップ113に進み、図6の
最小点検出部35は、評価関数値から最小点を検出し、
これを最終の検出動きベクトルとして出力する。
【0057】L=2でないときは、ステップ109に進
み、極小点検出部34は、評価計算値33から極小点を
検出することにより、階層レベルLの検出動きベクトル
候補Vout(L,M)を決定する(ステップ109)。f
(Vout(L,M))=Min(f(V))、ただし、V∈
Vout(L,M)±(1,1)かつVout(L,M)∈□
(L)である。上記条件を満たす検出動きベクトル候補
数をMmax(L)とする。よって、1≦M≦Mmax(L)と
なる。検出動きベクトル候補Vout(L,M)は、Vout
(L,M)の位置を中心に、Vout(L,M)±(1,
1)、つまり図8で説明したように、8隣接位置の評価
関数値から判定する。
み、極小点検出部34は、評価計算値33から極小点を
検出することにより、階層レベルLの検出動きベクトル
候補Vout(L,M)を決定する(ステップ109)。f
(Vout(L,M))=Min(f(V))、ただし、V∈
Vout(L,M)±(1,1)かつVout(L,M)∈□
(L)である。上記条件を満たす検出動きベクトル候補
数をMmax(L)とする。よって、1≦M≦Mmax(L)と
なる。検出動きベクトル候補Vout(L,M)は、Vout
(L,M)の位置を中心に、Vout(L,M)±(1,
1)、つまり図8で説明したように、8隣接位置の評価
関数値から判定する。
【0058】階層レベルLをインクリメント(L=L+
1)する(ステップ110)。次いで、最終レベルが終
了したか否か(L>2)を判定し(ステップ111)、
最終レベルが終了してなければ、ステップ105に戻っ
て、以下、前述した処理を繰返し、最終レベルが終了し
ていれば、最終処理ブロックの処理が終了したか否かを
判定し(ステップ112)、最終処理ブロックの処理が
終了してなければ、ステップ101に戻り、次の動き検
出対象ブロックと、それに対応する参照領域を切りだし
て、前述した処理を繰返し、最終処理ブロックの処理が
終了していれば処理を終了する。
1)する(ステップ110)。次いで、最終レベルが終
了したか否か(L>2)を判定し(ステップ111)、
最終レベルが終了してなければ、ステップ105に戻っ
て、以下、前述した処理を繰返し、最終レベルが終了し
ていれば、最終処理ブロックの処理が終了したか否かを
判定し(ステップ112)、最終処理ブロックの処理が
終了してなければ、ステップ101に戻り、次の動き検
出対象ブロックと、それに対応する参照領域を切りだし
て、前述した処理を繰返し、最終処理ブロックの処理が
終了していれば処理を終了する。
【0059】図9は、実施例1について、各階層での動
き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示す。この内、各階層の動き検出対象ブ
ロックサイズ、探索領域サイズは従来のものと同一であ
る。
き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示す。この内、各階層の動き検出対象ブ
ロックサイズ、探索領域サイズは従来のものと同一であ
る。
【0060】〈実施例2〉図10、図11は、実施例2
の処理フローチャートである。実施例2の処理構成図
は、実施例1と同一のものであるので省略する。図12
は、実施例2に係る、階層レベル1の動きベクトル検出
器のブロック構成図である。図12において、図5と異
なる部分は、図5の極小点検出部34を、評価関数値の
値が最小となる点から小さい順にN点を検出する検出部
36に置き換えた点である。
の処理フローチャートである。実施例2の処理構成図
は、実施例1と同一のものであるので省略する。図12
は、実施例2に係る、階層レベル1の動きベクトル検出
器のブロック構成図である。図12において、図5と異
なる部分は、図5の極小点検出部34を、評価関数値の
値が最小となる点から小さい順にN点を検出する検出部
36に置き換えた点である。
【0061】なお、階層レベル0の動きベクトル検出器
については、図4の極小点検出部34を検出部36に置
き換えて構成され、階層レベル2の動きベクトル検出器
については、図6と同一の構成である。
については、図4の極小点検出部34を検出部36に置
き換えて構成され、階層レベル2の動きベクトル検出器
については、図6と同一の構成である。
【0062】図10、図11を参照して実施例2の動作
を説明すると、ステップ201からステップ208まで
は、前述した実施例1のステップ101からステップ1
08と同様であるので、説明を省略する。
を説明すると、ステップ201からステップ208まで
は、前述した実施例1のステップ101からステップ1
08と同様であるので、説明を省略する。
【0063】N点検出部36は、評価関数値の値が最小
となる点から小さい順にN個の点を検出して、階層レベ
ルLの検出動きベクトル候補Vout(L,M)を決定する
(ステップ209)。f(Vout(L,1))=Min(f
(V))、ただし、V∈□(L)である。以下、評価関
数値の小さい順にN番目までの動きベクトルをVout
(L,2)..Vout(L,N)とする。検出動きベクト
ル候補数Mmax(L)は、Mmax(L)=Nである。ステッ
プ210以下は、実施例1と同様の処理であるので、説
明を省略する。
となる点から小さい順にN個の点を検出して、階層レベ
ルLの検出動きベクトル候補Vout(L,M)を決定する
(ステップ209)。f(Vout(L,1))=Min(f
(V))、ただし、V∈□(L)である。以下、評価関
数値の小さい順にN番目までの動きベクトルをVout
(L,2)..Vout(L,N)とする。検出動きベクト
ル候補数Mmax(L)は、Mmax(L)=Nである。ステッ
プ210以下は、実施例1と同様の処理であるので、説
明を省略する。
【0064】図13は、実施例2について、各階層での
動き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示す。この内、各階層の動き検出対象ブ
ロックサイズ、探索領域サイズは従来のものと同一であ
る。
動き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示す。この内、各階層の動き検出対象ブ
ロックサイズ、探索領域サイズは従来のものと同一であ
る。
【0065】〈実施例3〉図14、図15は、実施例3
の処理フローチャートである。本実施例3の処理構成図
は、実施例1と同一のものであるので省略する。また、
図16は、実施例3に係る、階層レベル1の動きベクト
ル検出器のブロック構成図である。図16に示す動きベ
クトル検出器においては、図4、図5の極小点検出部3
4と、図12の小さい順にN点を検出する検出部36と
を組み合わせて(論理積)構成している。つまり、評価
関数値の値が最小となる点からN番目に小さい値となる
点までのN個の点の内、極小値をとる点のみを、検出動
きベクトル候補としている。
の処理フローチャートである。本実施例3の処理構成図
は、実施例1と同一のものであるので省略する。また、
図16は、実施例3に係る、階層レベル1の動きベクト
ル検出器のブロック構成図である。図16に示す動きベ
クトル検出器においては、図4、図5の極小点検出部3
4と、図12の小さい順にN点を検出する検出部36と
を組み合わせて(論理積)構成している。つまり、評価
関数値の値が最小となる点からN番目に小さい値となる
点までのN個の点の内、極小値をとる点のみを、検出動
きベクトル候補としている。
【0066】なお、階層レベル0の動きベクトル検出器
については、図4の極小点検出部34とテーブルメモリ
33との間に検出部36を挿入して構成され、階層レベ
ル2の動きベクトル検出器については、図6と同一の構
成である。
については、図4の極小点検出部34とテーブルメモリ
33との間に検出部36を挿入して構成され、階層レベ
ル2の動きベクトル検出器については、図6と同一の構
成である。
【0067】本実施例3も、ステップ301からステッ
プ308までは、実施例1、2と同様の処理であるの
で、説明を省略する。N点検出部36は、評価関数値の
値が最小となる点から小さい順にN個の点を検出して、
階層レベルLの検出動きベクトル仮候補Vtmp(L,M)
を決定する。f(Vtmp(L,1))=Min(f
(V))、ただし、V∈□(L)である。以下、評価関
数値の小さい順にN番目までの動きベクトルをVtmp
(L,2)...Vtmp(L,N)とする(ステップ30
9)。
プ308までは、実施例1、2と同様の処理であるの
で、説明を省略する。N点検出部36は、評価関数値の
値が最小となる点から小さい順にN個の点を検出して、
階層レベルLの検出動きベクトル仮候補Vtmp(L,M)
を決定する。f(Vtmp(L,1))=Min(f
(V))、ただし、V∈□(L)である。以下、評価関
数値の小さい順にN番目までの動きベクトルをVtmp
(L,2)...Vtmp(L,N)とする(ステップ30
9)。
【0068】極小点検出部34は、階層レベルLの検出
動きベクトル候補Vout(L,M)を決定する。f(Vou
t(L,M))=Min(f(V))、ただし、V∈Vou
t(L,M)±(1,1)かつVout(L,M)∈{Vtmp
(L,1),...,Vtmp(L,N)}である。上記条
件を満たす検出動きベクトル候補数をMmax(L)とす
る。よって、1≦M≦Mmax(L)となる(ステップ31
0)。
動きベクトル候補Vout(L,M)を決定する。f(Vou
t(L,M))=Min(f(V))、ただし、V∈Vou
t(L,M)±(1,1)かつVout(L,M)∈{Vtmp
(L,1),...,Vtmp(L,N)}である。上記条
件を満たす検出動きベクトル候補数をMmax(L)とす
る。よって、1≦M≦Mmax(L)となる(ステップ31
0)。
【0069】ステップ311以下の処理も実施例1、2
と同様であるので、説明を省略する。図17は、実施例
3について、各階層での動き検出対象ブロックサイズ、
探索領域サイズ、探索範囲、探索点数を示す。この内、
各階層の動き検出対象ブロックサイズ、探索領域サイズ
は従来のものと同一である。
と同様であるので、説明を省略する。図17は、実施例
3について、各階層での動き検出対象ブロックサイズ、
探索領域サイズ、探索範囲、探索点数を示す。この内、
各階層の動き検出対象ブロックサイズ、探索領域サイズ
は従来のものと同一である。
【0070】
【発明の効果】以上、説明したように、請求項1、2記
載の発明によれば、フルサーチブロックマッチング法で
は検出可能であるが、従来の階層化サーチ法において
は、動きベクトルが正しく求められない場合、すなわち
高解像度の部分で、マッチングに必要な情報が僅かに高
周波成分に含まれていて、低解像度階層の低域通過型フ
ィルタを通してサブサンプルされ、高周波成分が減衰さ
れた画像においては正しいマッチングができない場合で
も、本発明では、各階層画像におけるブロックマッチン
グの評価関数値が極小値となる点を全て検出し、該検出
点を複数の動きベクトル候補とし、次階層画像における
探索初期位置に使用しているので、探索範囲の拡大が効
果的に行われ、動きベクトルの誤検出を回避することが
できる。従って、動画像の動き補償フレーム間予測符号
化において、より高精度な動きベクトルの検出が可能に
なり、より予測誤差の少ない動き補償予測画像が生成さ
れ、符号化画像の画質の改善を図ることができる。
載の発明によれば、フルサーチブロックマッチング法で
は検出可能であるが、従来の階層化サーチ法において
は、動きベクトルが正しく求められない場合、すなわち
高解像度の部分で、マッチングに必要な情報が僅かに高
周波成分に含まれていて、低解像度階層の低域通過型フ
ィルタを通してサブサンプルされ、高周波成分が減衰さ
れた画像においては正しいマッチングができない場合で
も、本発明では、各階層画像におけるブロックマッチン
グの評価関数値が極小値となる点を全て検出し、該検出
点を複数の動きベクトル候補とし、次階層画像における
探索初期位置に使用しているので、探索範囲の拡大が効
果的に行われ、動きベクトルの誤検出を回避することが
できる。従って、動画像の動き補償フレーム間予測符号
化において、より高精度な動きベクトルの検出が可能に
なり、より予測誤差の少ない動き補償予測画像が生成さ
れ、符号化画像の画質の改善を図ることができる。
【0071】請求項3記載の発明によれば、評価関数値
が最小となる点からN番目に小さい値となる点までのN
個の点を複数の動きベクトル候補としているので、検出
動きベクトル候補の選択が簡単になる。
が最小となる点からN番目に小さい値となる点までのN
個の点を複数の動きベクトル候補としているので、検出
動きベクトル候補の選択が簡単になる。
【0072】請求項4記載の発明によれば、評価関数値
が最小となる点からN番目に小さい値となる点までのN
個の点の内、極小値となる点を複数の動きベクトル候補
としているので、評価関数値の小さい方からN番目以下
のものに限定され、請求項1の発明よりさらに効果的に
検出動きベクトル候補を設定することができ、探索処理
も請求項1の発明に比べて少なくすることができる。
が最小となる点からN番目に小さい値となる点までのN
個の点の内、極小値となる点を複数の動きベクトル候補
としているので、評価関数値の小さい方からN番目以下
のものに限定され、請求項1の発明よりさらに効果的に
検出動きベクトル候補を設定することができ、探索処理
も請求項1の発明に比べて少なくすることができる。
【図1】本発明の実施例1のブロック構成図である。
【図2】実施例1の処理フローチャートである。
【図3】実施例1の続きの処理フローチャートである。
【図4】実施例1に係る階層レベル0の動きベクトル検
出器のブロック構成図である。
出器のブロック構成図である。
【図5】実施例1に係る階層レベル1の動きベクトル検
出器のブロック構成図である。
出器のブロック構成図である。
【図6】実施例1に係る階層レベル2の動きベクトル検
出器のブロック構成図である。
出器のブロック構成図である。
【図7】複数の探索範囲が重複する例を示す図である。
【図8】極小点の判定を説明する図である。
【図9】実施例1について、各階層での動き検出対象ブ
ロックサイズ、探索領域サイズ、探索範囲、探索点数を
示す図である。
ロックサイズ、探索領域サイズ、探索範囲、探索点数を
示す図である。
【図10】実施例2の処理フローチャートである。
【図11】実施例2の続きの処理フローチャートであ
る。
る。
【図12】実施例2に係る階層レベル1の動きベクトル
検出器のブロック構成図である。
検出器のブロック構成図である。
【図13】実施例2について、各階層での動き検出対象
ブロックサイズ、探索領域サイズ、探索範囲、探索点数
を示す図である。
ブロックサイズ、探索領域サイズ、探索範囲、探索点数
を示す図である。
【図14】実施例3の処理フローチャートである。
【図15】実施例3の続きの処理フローチャートであ
る。
る。
【図16】実施例3に係る階層レベル1の動きベクトル
検出器のブロック構成図である。
検出器のブロック構成図である。
【図17】実施例3について、各階層での動き検出対象
ブロックサイズ、探索領域サイズ、探索範囲、探索点数
を示す図である。
ブロックサイズ、探索領域サイズ、探索範囲、探索点数
を示す図である。
【図18】従来の3ステップサーチ法を説明する図であ
る。
る。
【図19】従来の階層化サーチ法における探索初期位置
の設定を説明する図である
の設定を説明する図である
【図20】従来の階層サーチ法における処理フローチャ
ートである。
ートである。
【図21】従来の処理ブロック構成図である。
【図22】従来の階層サーチ法における各階層の動きベ
クトル検出器のブロック構成図である。
クトル検出器のブロック構成図である。
【図23】従来の階層サーチ法における、各階層ので動
き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示した図である。
き検出対象ブロックサイズ、探索領域サイズ、探索範
囲、探索点数を示した図である。
【図24】従来の階層化サーチ法によって動きベクトル
が正しく検出できない場合の例を示す図である。
が正しく検出できない場合の例を示す図である。
【図25】上位階層での動きベクトル検出の誤りのた
め、次階層で正しい動きベクトルを検出できない例を示
す。
め、次階層で正しい動きベクトルを検出できない例を示
す。
1 動き検出対象フレーム画像 2 動き検出対象ブロック画像 3 参照フレーム画像 4 参照画像探索領域画像 5 切り出された階層レベル2の動き検出対象ブロック
画像 6 階層レベル1の動き検出対象ブロック画像 7 階層レベル0の動き検出対象ブロック画像 8 切り出された階層レベル2の参照画像探索領域画像 9 階層レベル1の参照画像探索領域画像 10 階層レベル0の参照画像探索領域画像 11 階層レベル0動きベクトル検出器 12 階層レベル1動きベクトル検出器 13 階層レベル2動きベクトル検出器 14、17 検出動きベクトル候補 15、18 検出動きベクトルスケーリング 16、19 初期探索位置リスト 20 最終検出動きベクトル
画像 6 階層レベル1の動き検出対象ブロック画像 7 階層レベル0の動き検出対象ブロック画像 8 切り出された階層レベル2の参照画像探索領域画像 9 階層レベル1の参照画像探索領域画像 10 階層レベル0の参照画像探索領域画像 11 階層レベル0動きベクトル検出器 12 階層レベル1動きベクトル検出器 13 階層レベル2動きベクトル検出器 14、17 検出動きベクトル候補 15、18 検出動きベクトルスケーリング 16、19 初期探索位置リスト 20 最終検出動きベクトル
Claims (4)
- 【請求項1】 低域通過型フィルタおよびサブサンプリ
ングによって、複数解像度の多階層画像L(n)を生成
し、低解像度の階層画像L(1)から動きベクトル検出
を開始し、順次、階層画像L(k)での検出動きベクト
ルを参照しながら次階層画像L(k+1)の動きベクト
ル検出を行うブロックマッチング法を用いた階層型動き
ベクトル検出方法において、前記各階層画像におけるブ
ロックマッチングの評価関数値が極小値となる点を全て
検出し、該検出点を複数の動きベクトル候補とし、次階
層画像における探索初期位置に用いることを特徴とする
階層型動きベクトル検出方法。 - 【請求項2】 前記極小点か否かの判定は、注目位置の
評価関数値が該位置を中心とした隣接する位置の全ての
評価関数値より小さいとき、該注目位置を極小点と判定
することを特徴とする請求項1記載の階層型動きベクト
ル検出方法。 - 【請求項3】 前記評価関数値が最小となる点からN番
目に小さい値となる点までのN個(N≧2)の点を、複
数の動きベクトル候補とすることを特徴とする請求項1
記載の階層型動きベクトル検出方法。 - 【請求項4】 前記評価関数値が最小となる点からN番
目に小さい値となる点までのN個(N≧2)の点の内、
極小値となる点を、複数の動きベクトル候補とすること
を特徴とする請求項1記載の階層型動きベクトル検出方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29855193A JPH07154801A (ja) | 1993-11-29 | 1993-11-29 | 階層型動きベクトル検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29855193A JPH07154801A (ja) | 1993-11-29 | 1993-11-29 | 階層型動きベクトル検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07154801A true JPH07154801A (ja) | 1995-06-16 |
Family
ID=17861203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29855193A Pending JPH07154801A (ja) | 1993-11-29 | 1993-11-29 | 階層型動きベクトル検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07154801A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055425A (ja) * | 1996-08-08 | 1998-02-24 | Tokyo Electric Power Co Inc:The | 水路流出入物監視装置 |
KR100294999B1 (ko) * | 1996-11-07 | 2001-11-14 | 포만 제프리 엘 | 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서 |
US6377623B1 (en) | 1998-03-02 | 2002-04-23 | Samsung Electronics Co., Ltd. | High speed motion estimating method for real time moving image coding and apparatus therefor |
WO2006075394A1 (ja) * | 2005-01-14 | 2006-07-20 | Morhpo, Inc. | 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置 |
JP2007336462A (ja) * | 2006-06-19 | 2007-12-27 | Sony Corp | 動きベクトル検出装置および方法、プログラム並びに記録媒体 |
JP2008061162A (ja) * | 2006-09-04 | 2008-03-13 | Fujitsu Ltd | 動きベクトル探索装置および動きベクトル探索方法 |
JP2009116730A (ja) * | 2007-11-08 | 2009-05-28 | Handotai Rikougaku Kenkyu Center:Kk | 画像処理装置及び方法 |
JP2010122975A (ja) * | 2008-11-20 | 2010-06-03 | Mitsubishi Electric Corp | 動きベクトル検出装置及び動きベクトル検出方法 |
US8019000B2 (en) | 2005-02-24 | 2011-09-13 | Sanyo Electric Co., Ltd. | Motion vector detecting device |
JP2014052855A (ja) * | 2012-09-07 | 2014-03-20 | Canon Inc | 画像処理装置、その制御方法、および制御プログラム |
US8891621B2 (en) | 2006-09-01 | 2014-11-18 | Canon Kabushiki Kaisha | Image coding apparatus and image coding method |
-
1993
- 1993-11-29 JP JP29855193A patent/JPH07154801A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055425A (ja) * | 1996-08-08 | 1998-02-24 | Tokyo Electric Power Co Inc:The | 水路流出入物監視装置 |
KR100294999B1 (ko) * | 1996-11-07 | 2001-11-14 | 포만 제프리 엘 | 디지탈비디오데이타스트림의시간적인압축방법및탐색프로세서 |
US6377623B1 (en) | 1998-03-02 | 2002-04-23 | Samsung Electronics Co., Ltd. | High speed motion estimating method for real time moving image coding and apparatus therefor |
US7847823B2 (en) | 2005-01-14 | 2010-12-07 | Morpho, Inc. | Motion vector calculation method and hand-movement correction device, imaging device and moving picture generation device |
WO2006075394A1 (ja) * | 2005-01-14 | 2006-07-20 | Morhpo, Inc. | 動きベクトル演算方法とこの方法を用いた手ぶれ補正装置、撮像装置、並びに動画生成装置 |
KR101036787B1 (ko) * | 2005-01-14 | 2011-05-25 | 가부시키가이샤 모르포 | 움직임 벡터 연산 방법과 이 방법을 이용한 손 떨림 보정장치, 촬상 장치, 및 동영상 생성 장치 |
US8019000B2 (en) | 2005-02-24 | 2011-09-13 | Sanyo Electric Co., Ltd. | Motion vector detecting device |
JP2007336462A (ja) * | 2006-06-19 | 2007-12-27 | Sony Corp | 動きベクトル検出装置および方法、プログラム並びに記録媒体 |
US8144779B2 (en) | 2006-06-19 | 2012-03-27 | Sony Corporation | Apparatus and method for detecting motion vector, program, and recording medium |
US8891621B2 (en) | 2006-09-01 | 2014-11-18 | Canon Kabushiki Kaisha | Image coding apparatus and image coding method |
US9948944B2 (en) | 2006-09-01 | 2018-04-17 | Canon Kabushiki Kaisha | Image coding apparatus and image coding method |
JP2008061162A (ja) * | 2006-09-04 | 2008-03-13 | Fujitsu Ltd | 動きベクトル探索装置および動きベクトル探索方法 |
JP4662969B2 (ja) * | 2007-11-08 | 2011-03-30 | 株式会社半導体理工学研究センター | 画像処理装置及び方法 |
JP2009116730A (ja) * | 2007-11-08 | 2009-05-28 | Handotai Rikougaku Kenkyu Center:Kk | 画像処理装置及び方法 |
JP2010122975A (ja) * | 2008-11-20 | 2010-06-03 | Mitsubishi Electric Corp | 動きベクトル検出装置及び動きベクトル検出方法 |
JP2014052855A (ja) * | 2012-09-07 | 2014-03-20 | Canon Inc | 画像処理装置、その制御方法、および制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6469745B1 (en) | Image signal processor for detecting duplicate fields | |
US5387947A (en) | Motion vector detecting method of a video signal | |
US6549576B1 (en) | Motion vector detecting method and apparatus | |
US6212237B1 (en) | Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program | |
EP0720377B1 (en) | Method for detecting motion vectors for use in a segmentation-based coding system | |
KR100325253B1 (ko) | 움직임벡터 검색방법 및 장치 | |
JP3277418B2 (ja) | 動きベクトル検出装置および方法 | |
US6141460A (en) | Method for detecting edges in an image signal | |
JPH07154801A (ja) | 階層型動きベクトル検出方法 | |
JPH07203451A (ja) | テレビジョン信号における動きの階層的予測方法 | |
US20060098886A1 (en) | Efficient predictive image parameter estimation | |
JP4523024B2 (ja) | 画像符号化装置および画像符号化方法 | |
JP2014052855A (ja) | 画像処理装置、その制御方法、および制御プログラム | |
JPH09182077A (ja) | 画像符号化方法および画像符号化装置 | |
JPH11215502A (ja) | 動きベクトル検出装置及び方法 | |
JP2001094951A (ja) | 走査線補間方法 | |
JP3490142B2 (ja) | 動画像符号化方法及び装置 | |
JPH1175192A (ja) | 動きベクトル探索方法および動きベクトル探索装置ならびに動きベクトル探索プログラムを記憶した記憶媒体 | |
JPH10108190A (ja) | 画像の動き検出方法 | |
JPS6225587A (ja) | 動きベクトル検出回路 | |
JP2006217486A (ja) | 動き補償型ip変換処理装置及び動き補償型ip変換処理方法 | |
JPH07240927A (ja) | 映像符号化装置 | |
US6125141A (en) | Device and method for detecting motion vectors | |
JP2000134628A (ja) | 動きベクトル検出方法及び装置 | |
JP4241021B2 (ja) | 動きベクトル検出方法、動きベクトル検出装置、画像符号化装置 |