(57)【要約】【課題】  中間フレームにおいて、ブロック境界線が画素と画素の境界から半画素ずれたブロックについてのブロックマッチングを行う。【解決手段】  抽出手段７は、ブロックマッチング候補決定において、第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から半画素ずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームのブロックを１画素分ずらしたブロックマッチング候補をも抽出する。決定手段９は、前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを中間フレームにおける前記特定ブロックの動きベクトルとして決定する。【選択図】  図４
2011182181.tif 000002
【特許請求の範囲】
【請求項１】
第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、
前記第１参照フレームおよび前記第２参照フレームの画像を記憶する画像記憶手段、
前記第１参照フレームおよび第２参照フレームについて探索範囲を決定する探索範囲決定手段、
前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第１参照フレームが、前記第２参照フレームのブロックと幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する抽出手段、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、
を備え、
前記抽出手段は、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出すること、
を特徴とするブロック別動きベクトル演算装置。
【請求項２】
請求項１のブロック別動きベクトル演算装置において、
前記抽出手段は、前記第１，第２参照フレームのブロックについて、２＊（１／２ｎ）精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、
ただし、前記nは整数である、
を特徴とするブロック別動きベクトル演算装置。
【請求項３】
請求項２のブロック別動きベクトル演算装置において、
前記nは２であり、前記画素ずらしブロックデータ生成手段は、前記第１，第２参照フレームのブロックについて半画素精度のブロックデータを生成すること、
を特徴とするブロック別動きベクトル演算装置。
【請求項４】
請求項１のブロック別動きベクトル演算装置において、
前記nは３であり、
前記画素ずらしブロックデータ生成手段は、前記第１，第２参照フレームのブロックについてブロック境界線が画素と画素の境界から１／４画素、１／２画素、３／４画素ずれたブロックデータを生成すること、
を特徴とするブロック別動きベクトル演算装置。
【請求項５】
第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、
前記第１参照フレームおよび前記第２参照フレームの画像が与えられると、前記第１参照フレームおよび第２参照フレームについて探索範囲を決定し、
前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第１参照フレームおよび第２参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出し、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するブロック別動きベクトル演算方法において、
前記ブロックマッチング候補抽出時に、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出すること、
を特徴とするブロック別動きベクトル演算方法。
【請求項６】
第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、
前記第１参照フレームおよび前記第２参照フレームの画像を記憶する画像記憶手段、
前記第１参照フレームおよび第２参照フレームについて探索範囲を決定する探索範囲決定手段、
前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出する手段であって、前記中間フレームの特定ブロックを中心にして前記第１参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のｎ倍離れた延長線上に位置する前記第２参照フレームのブロックを前記第１参照フレームについて１画素分ブロックをずらした場合に前記第２参照フレームについてはｎ画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出手段、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、
を備え、
前記抽出手段は、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算装置。
【請求項７】
請求項６のブロック別動きベクトル演算装置において、
前記抽出手段は、小数ｘ精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、
ただし、前記小数xは任意である、
を特徴とするブロック別動きベクトル演算装置。
【請求項８】
請求項６のブロック別動きベクトル演算装置において、
前記抽出手段は、前記第１参照フレームのブロックまたは前記第２参照フレームのずらす時期が同期していないこと、または、前記第２参照フレームのブロックを1画素ずらしたブロックをブロックマッチング候補として抽出することにより、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算装置。
【請求項９】
第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、下記ステップを備えたこと、
前記第１参照フレームおよび前記第２参照フレームの画像が与えられると、前記第１参照フレームおよび第２参照フレームについて探索範囲を決定するステップ、
前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出するステップであって、前記中間フレームの特定ブロックを中心にして前記第１参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のｎ倍離れた延長線上に位置する前記第２参照フレームのブロックを前記第１参照フレームについて１画素分ブロックをずらした場合に前記第２参照フレームについてはｎ画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出ステップ、
前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するステップ、
を備え、
前記抽出ステップでは、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームの一方のみをずらしたブロックをブロックマッチング候補として抽出すること、
を特徴とするブロック別動きベクトル演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブロック別動きベクトル演算装置に関し、特にその精度向上に関する。
【背景技術】
【０００２】
特許文献１には、対称型動き推定法が開示されている。これは、図１に示すように、生成すべきフレームＱを碁盤目のブロックに分けて、特定のブロックB0について、B0を原点として前後画像P1,P2から幾何対象となるような位置のブロックB１、B2を抽出し、差分が最小となる動きベクトルを、ブロックB0の動きベクトルと推定するというものである。
【０００３】
対称型動き推定法におけるブロックマッチングの詳細について図２を用いて説明する。図２は、ブロックサイズを4＊4画素、探索範囲を12＊12画素とした場合である。この場合、前フレーム（０，０）、後フレーム（９，９）のブロックを比較する。つぎに、前フレームおよび後フレームを１つシフトさせた前フレーム（１，０）、後フレーム（８，９）のブロックを比較する。以下、同様に、前フレームおよび後フレームを共に１画素ずつシフトさせてブロックマッチングをおこなう。
【０００４】
かかる対称型動き推定において、１／２画素精度でブロックマッチングを行う場合には、図３に示すように、前後フレームそれぞれについて、１／２画素ずらしたブロックデータを生成して、中間フレームにおいて、ずれない位置におけるブロックマッチングを順次、行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】第２５２８１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のように前後フレームそれぞれについて、１／２画素ずらしたブロックデータを生成する手法には、下記のような問題があった。前後フレームにて１／２画素ずらしたブロックデータを生成しなければならない。したがって、通常のブロックよりも一回り大きな領域を抽出する回路が必要なだけでなく、抽出結果から、１／２画素ずらしたブロックデータを生成する生成部が必要となる。さらに、１／２画素ずらしたブロックデータは通常周辺画素の平均を演算することにより生成される。したがって、その分画像ボケが生じる。
【０００７】
この発明は、上記問題を解決し、構成が簡易で、かつ、画像ボケの少ないブロックマッチングが可能なブロック別動きベクトル演算装置またはその方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
(1)本発明にかかるブロック別動きベクトル演算装置は、  第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、Ａ）前記第１参照フレームおよび前記第２参照フレームの画像を記憶する画像記憶手段、Ｂ）前記第１参照フレームおよび第２参照フレームについて探索範囲を決定する探索範囲決定手段、Ｃ）前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第１参照フレームおよび第２参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する抽出手段、Ｄ）前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、を備え、Ｅ）前記抽出手段は、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出する。
【０００９】
このように、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。
【００１０】
(2)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、前記第１，第２参照フレームのブロックについて、２＊（１／２ｎ）精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している。ただし、前記nは整数である。したがって、（１／２ｎ）画素精度の生成回路により、（１／２ｎ＋１）画素精度のブロックマッチングが可能となる。
【００１１】
(3)本発明にかかるブロック別動きベクトル演算装置においては、前記nは２であり、前記画素ずらしブロックデータ生成手段は、前記第１，第２参照フレームのブロックについて半画素精度のブロックデータを生成する。これにより、１／４画素精度のブロックマッチングが可能となる。
【００１２】
(4)本発明にかかるブロック別動きベクトル演算装置においては、前記nは３であり、前記画素ずらしブロックデータ生成手段は、前記第１，第２参照フレームのブロックについてブロック境界線が画素と画素の境界から１／４画素、１／２画素、３／４画素ずれたブロックデータを生成する。これにより１／８画素精度のブロックマッチングが可能となる。
【００１３】
(5)本発明にかかるブロック別動きベクトル演算方法においては、第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、前記第１参照フレームおよび前記第２参照フレームの画像が与えられると、前記第１参照フレームおよび第２参照フレームについて探索範囲を決定し、前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第１参照フレームおよび第２参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出し、前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するブロック別動きベクトル演算方法において、前記ブロックマッチング候補抽出時に、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出する。
【００１４】
このように、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。
【００１５】
(6)本発明にかかるブロック別動きベクトル演算装置は、第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、1)前記第１参照フレームおよび前記第２参照フレームの画像を記憶する画像記憶手段、2)前記第１参照フレームおよび第２参照フレームについて探索範囲を決定する探索範囲決定手段、3)前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出する手段であって、前記中間フレームの特定ブロックを中心にして前記第１参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のｎ倍離れた延長線上に位置する前記第２参照フレームのブロックを前記第１参照フレームについて１画素分ブロックをずらした場合に前記第２参照フレームについてはｎ画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出手段、4)前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する決定手段、を備え、5)前記抽出手段は、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームをずらしたブロックをブロックマッチング候補として抽出する。
【００１６】
したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。
【００１７】
(7)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、小数ｘ精度のブロックデータを生成する画素ずらしブロックデータ生成手段を有している、ただし、前記小数xは任意である。したがって、前記中間フレームにおいて、かかる小数ｘ精度よりも小さな量だけずれたブロックマッチングが可能となる。
【００１８】
(8)本発明にかかるブロック別動きベクトル演算装置においては、前記抽出手段は、前記第１参照フレームのブロックまたは前記第２参照フレームのずらす時期が同期していないこと、または、前記第２参照フレームのブロックを1画素ずらしたブロックをブロックマッチング候補として抽出することにより、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームをずらしたブロックをブロックマッチング候補として抽出する。
【００１９】
したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。
【００２０】
(9)本発明にかかるブロック別動きベクトル演算方法においては、第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算方法であって、1)前記第１参照フレームおよび前記第２参照フレームの画像が与えられると、前記第１参照フレームおよび第２参照フレームについて探索範囲を決定するステップ、2)前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックを抽出するステップであって、前記中間フレームの特定ブロックを中心にして前記第１参照フレームが幾何学的に対称な位置関係である仮想参照フレームを定義した場合に、前記中間フレームと前記仮想参照フレームとの時間的関係のｎ倍離れた延長線上に位置する前記第２参照フレームのブロックを前記第１参照フレームについて１画素分ブロックをずらした場合に前記第２参照フレームについてはｎ画素分ブロックを移動させて、ブロックマッチング候補として抽出する抽出ステップ、3)前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定するステップを備え、4)前記抽出ステップでは、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームの一方のみをずらしたブロックをブロックマッチング候補として抽出する。
【００２１】
したがって、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれたブロックも、抽出される。これにより、画素と画素の境界からずれた位置におけるブロックマッチングが可能となる。よって、精度の高いブロックマッチングが可能となる。
【００２２】
本明細書において、「中間フレーム」とは、第１参照フレームと第２参照フレームの間に位置するフレームを意味する。
【図面の簡単な説明】
【００２３】
【図１】従来の対称型動き推定を説明する図である。
【図２】従来の整数精度の対称型動き推定を説明する図である。
【図３】従来の半画素精度の対称型動き推定を説明する図である。
【図４】ブロック別動きベクトル演算装置１の機能ブロック図である。
【図５】本発明において、得られる動きベクトルの概要を示すである。
【図６】ブロック別動きベクトル演算装置１の詳細ハード構成を示す図である。
【図７】８＊８画素の探索範囲の画素座標を示す図である。
【図８】シフトレジスタとＰＥアレイの関係を示す図である。
【図９】前フレームについてのシフト処理とＰＥ処理のタイムチャートである。
【図１０】後フレームについてのシフト処理とＰＥ処理のタイムチャートである。
【図１１】本発明における半画素精度の対称型動き推定を説明する図である。
【図１２】本発明における半画素精度の対称型動き推定を説明する図である。
【図１３】本発明における１／４画素精度の対称型動き推定装置の詳細ハード構成を示す図である。
【図１４】他の実施形態における中間フレームとの位置関係を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明における実施形態について、図面を参照して説明する。
【００２５】
（１.機能ブロック図について）
ブロック別動きベクトル演算装置１は、図４に示すように、第１参照フレームおよび第２参照フレームから、これらの中間フレームについてのブロック別の動きベクトルであるローカル動きベクトルを演算するブロック別動きベクトル演算装置であって、画像記憶手段３、探索範囲決定手段５、抽出手段７、および決定手段９を備えている。
【００２６】
画像記憶手段３は、前記第１参照フレームおよび前記第２参照フレームの画像を記憶する。探索範囲決定手段５は、前記第１参照フレームおよび第２参照フレームについて探索範囲を決定する。抽出手段７は前記決定した第１参照フレームおよび第２参照フレームの探索範囲内の画像を所定の画素で構成されるブロックとして、前記中間フレームの特定ブロックを中心にして前記第１参照フレームおよび第２参照フレームのブロックが幾何学的に対称な位置関係となるブロックをブロックマッチング候補として順次抽出する。抽出手段７は、前記ブロックマッチング候補決定において、前記第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出する。決定手段９は、前記抽出されたブロックマッチング候補について、ブロックマッチングを行い、差分が最小となる組み合わせを前記中間フレームにおける前記特定ブロックの動きベクトルとして決定する。
【００２７】
このように、抽出手段７が前記第１参照フレームのブロックおよび前記第２参照フレームを同時にずらすだけでなく、いずれか一方のみをずらした候補も、ブロックマッチング候補として抽出することにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれたブロックについてのブロックマッチングが可能となる。
【００２８】
具体的には、例えば、図５に示すように、対称型にシフト処理させる際に、前記第１参照フレームのブロックまたは前記第２参照フレームのいずれか一方のみをずらし、これにより、中間フレームにおいて、ブロック境界線が画素と画素の境界から半画素ずれたブロックについてのブロックマッチングが可能となる
（２.各部の構成について）
ブロック別動きベクトル演算装置１の詳細ブロック図を図６に示す。ブロック別動きベクトル演算装置１は、制御部１３，シフトレジスタアレイ１５，２５，ＰＥアレイ２４、最小値検出回路２７、ＳＲＡＭ３１、およびＤＲＡＭ３３を備えている。ＤＲＡＭ３３以外の各部には共通のクロックが与えられることにより同期処理がなされる。ＤＲＡＭ３３については、別クロックで同期処理がなされる。
【００２９】
制御部１３は、シフトレジスタアレイ１５、２５に対して、後述するようなシフト制御を行う。また、ＤＲＡＭ３３から画像データを読み出してＳＲＡＭ３１に記憶させる処理を行う。
【００３０】
ＤＲＡＭ３３は、前フレームおよび後フレームの画像データをそれぞれ１フレーム分記憶する。ＳＲＡＭ３１は、ＦＩＦＯ方式で、ＤＲＡＭ３３から前フレームおよび後フレームの探索範囲分の画像データを記憶する。レジスタアレイ１５は、ＳＲＡＭ３１から前フレームについて探索範囲のうちの１ブロック分の画像データが与えられると、これを記憶保持し、ＰＥアレイ２４に与える。シフトレジスタ２５は、後フレームについて探索範囲のうちの１ブロック分の画像データが与えられると、これを記憶保持し、ＰＥアレイ２４に与える。
【００３１】
シフトレジスタアレイ１５、２５は、１ブロックの画像データを１画素ずつシフト処理する。シフト処理により不足したデータは、ＳＲＡＭ３１から与えられる。ＳＲＡＭ３１から読み出し要求があると、ＤＲＡＭ３３はデータを与える。
【００３２】
ＰＥアレイ２４は、シフトレジスタ１５，２５から与えられた各画素の輝度の差分を演算し、1ブロック分の総和を求める。最小値検出回路２５は、ＰＥアレイ２４からデータが与えられると、既に記憶されている値と比較して、値が小さければそのデータを保持する。
【００３３】
（３.動きベクトル演算処理について）
図６に示すシフト処理について詳述する。以下では、探索範囲を８＊８画素として、１ブロックを４＊４画素とする場合を一例として説明する。
【００３４】
図７は８＊８画素の探索範囲において、各画素を特定する座標を表す。図８に、探索範囲が８＊８画素で整数精度と半画素精度のブロックマッチングを同時に行う２並列型におけるシフトレジスタとＰＥアレイとの接続関係を示す。前フレーム用のシフトレジスタは、シフトレジスタＳＲＦ００〜ＳＲＦ０７、ＳＲＦ１０〜ＳＲＦ１７、ＳＲＦ２０〜ＳＲＦ２７、ＳＲＦ３０〜ＳＲＦ３７の４段で構成されており、各段の最終レジスタは、次の段の先頭レジスタと接続されている。これによりシフトレジスタＳＲＦ００〜ＳＲＦ３７は直列状態で接続されている。
【００３５】
シフトレジスタＳＲＢ００〜ＳＲＢ０８、ＳＲＢ１０〜ＳＲＢ１８、ＳＲＢ２０〜ＳＲＢ２８、ＳＲＢ３０〜ＳＲＢ３８の４段で構成されており、各段の最終レジスタは、次の段の先頭レジスタと接続されている。これによりシフトレジスタＳＲＢ００〜ＳＲＢ３８は直列状態で接続されている。
【００３６】
プロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＡ１０〜ＰＥＡ１３、ＰＥＡ２０〜ＰＥＡ２３、ＰＥＡ３０〜ＰＥＡ３３は、整数精度のブロックマッチング用である。プロセッシングエレメントＰＥＢ００〜ＰＥＢ０３、ＰＥＢ１０〜ＰＥＢ１３、ＰＥＢＡ２０〜ＰＥＢ２３、ＰＥＢ３０〜ＰＥＢ３３は、半画素精度のブロックマッチング用である。
【００３７】
なお、各プロセッシングエレメントは図示していないが、プロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＡ１０〜ＰＥＡ１３、ＰＥＡ２０〜ＰＥＡ２３、ＰＥＡ３０〜ＰＥＡ３３からの出力は、全て接続されて図６に示す最小値検出回路２７に与えられ、１ブロック分の差分総和が求められる。図８に示すプロセッシングエレメントＰＥＢ００〜ＰＥＢ０３、ＰＥＢ１０〜ＰＥＢ１３、ＰＥＢＡ２０〜ＰＥＢ２３、ＰＥＢ３０〜ＰＥＢ３３についても同様である。
【００３８】
プロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＢ００〜ＰＥＢ０３とシフトレジスタとの接続関係について説明する。プロセッシングエレメントＰＥＡ００は、シフトレジスタＳＲＦ００およびＳＲＲ３４と接続されており、これらの差分を演算する。プロセッシングエレメントＰＥＢ０１は、シフトレジスタＳＲＦ００およびＳＲＲ３３と接続されており、これらの差分を演算する。シフトレジスタＳＲＦ０１〜ＳＲＦ０３と、ＳＲＲ３３〜ＳＲＲ３０と、プロセッシングエレメントＰＥＡ０１〜ＰＥＡ０３およびプロセッシングエレメントＰＥＢ０１〜ＰＥＢ０３の関係についても同様である。他の段(列)についても同様である。
【００３９】
このように接続されていることから、シフトレジスタＳＲＦ３７に前フレームの探索範囲のデータが、ＳＲＲ３８に後フレームの探索範囲のデータが順次与えられると、ＳＲＦ３７、ＳＲＲ３８にそれぞれ接続されたシフトレジスタにデータの値が送られる。後述するように所定のシフト回数ごとにプロセッシングエレメントによる比較演算が行われる。各ブロックに該当するプロセッシングエレメントからの差分を総計して、当該ブロックにおける差分総和値が求められる。
【００４０】
図９、図１０を用いて、シフト処理とプロセッシングエレメントによる演算処理の関係について説明する。図９は前画面について、図１０は後画面について、縦方向がシフトレジスタを配置し、横方向が１クロックごとにデータがシフト処理された場合の各レジスタに記憶される画素の座標を、それぞれ示したものである。図９，図１０において座標は、その数値のみ記載している。後フレームは半画素精度のブロックマッチングをおこなうので、ダミーのデータを送る必要がある。したがって、前フレームは後フレームに３クロック分遅れて、シフト処理が開始される。具体的には後フレームのシフトレジスタＳＲＲ３８に画素（４，７）が記憶される時刻Ｔ４で、前フレームのシフトレジスタＳＲＦ３７に画素（０，０）が記憶される。１クロック進むごとに、順次画素データが転送される。
【００４１】
時刻Ｔｐ１に、前フレーム用のシフトレジスタには、図９に示すように、シフトレジスタＳＲＦ００〜ＳＲＦ０３に画素（０，０）〜（３，０）が、シフトレジスタＳＲＦ１０〜ＳＲＦ１３に、画素（０，１）〜（３，１）が、シフトレジスタＳＲＦ２０〜ＳＲＦ２３に、画素（０，２）〜（３，２）が、シフトレジスタＳＲＦ３０〜ＳＲＦ３３に、画素（０，３）〜（３，３）が記憶される。また、時刻Ｔｐ１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３４〜ＳＲＲ３１に画素（４，４）〜（７，４）が、シフトレジスタＳＲＲ２４〜ＳＲＲ２１に、画素（４，５）〜（７，５）が、シフトレジスタＳＲＲ１４〜ＳＲＲ１１に、画素（４，６）〜（７，６）が、シフトレジスタＳＲＲ０４〜ＳＲＲ０１に、画素（４，７）〜（７，７）が記憶される。したがって、時刻Ｔｐ１で、これらのシフトレジスタに接続されたプロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＡ１０〜ＰＥＡ１３、ＰＥＡ２０〜ＰＥＡ２３、ＰＥＡ３０〜ＰＥＡ３３（図８参照）による比較が実行されると、図１１Ａに示す、前フレームの画素（０，０）〜画素（３，３）のブロックと、後フレーム（４，４）〜（７，７）のブロックのブロックマッチングが行われる。
【００４２】
また、時刻Ｔｐ１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３３〜ＳＲＲ３０に画素（５，４）〜（ＮＡ）が、シフトレジスタＳＲＲ２３〜ＳＲＲ２０に、画素（５，５）〜（ＮＡ）が、シフトレジスタＳＲＲ１３〜ＳＲＲ１０に、画素（５，６）〜（ＮＡ）が、シフトレジスタＳＲＲ０３〜ＳＲＲ００に、画素（５，７）〜（ＮＡ）が記憶される。したがって、時刻Ｔｐ１で、これらのシフトレジスタに接続されたプロセッシングエレメントＰＥＢ００〜ＰＥＢ０３、ＰＥＢ１０〜ＰＥＢ１３、ＰＥＢＡ２０〜ＰＥＢ２３、ＰＥＢ３０〜ＰＥＢ３３（図８参照）による比較が実行されると、図１１Ｂに示す、前フレームの画素（０，０）〜画素（３，３）のブロックと、後フレーム（５，４）〜（８，７）の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。
【００４３】
時刻Ｔｐ１からさらに１クロック進んだ時刻Ｔｐ２では、前フレーム用のシフトレジスタには、図９に示すように、シフトレジスタＳＲＦ００〜ＳＲＦ０３に画素（１，０）〜（４，０）が、シフトレジスタＳＲＦ１０〜ＳＲＦ１３に、画素（１，１）〜（４，１）が、シフトレジスタＳＲＦ２０〜ＳＲＦ２３に、画素（１，２）〜（４，２）が、シフトレジスタＳＲＦ３０〜ＳＲＦ３３に、画素（１，３）〜（４，３）が記憶される。また、時刻Ｔｐ１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３４〜ＳＲＲ３１に画素（３，４）〜（６，４）が、シフトレジスタＳＲＲ２４〜ＳＲＲ２１に、画素（３，５）〜（６，５）が、シフトレジスタＳＲＲ１４〜ＳＲＲ１１に、画素（３，６）〜（６，６）が、シフトレジスタＳＲＲ０４〜ＳＲＲ０１に、画素（３，７）〜（６，７）が記憶される。したがって、時刻Ｔｐ２で、プロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＡ１０〜ＰＥＡ１３、ＰＥＡ２０〜ＰＥＡ２３、ＰＥＡ３０〜ＰＥＡ３３（図８参照）による比較が実行されると、図１１Ｃに示す、前フレームの画素（１，０）〜画素（４，３）のブロックと、後フレーム（３，４）〜（６，７）のブロックのブロックマッチングが行われる。  また、時刻Ｔｐ１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３３〜ＳＲＲ３０に画素（４，４）〜（７，４）が、シフトレジスタＳＲＲ２４〜ＳＲＲ２０に、画素（４，５）〜（７，５）が、シフトレジスタＳＲＲ１４〜ＳＲＲ１０に、画素（４，６）〜（７，６）が、シフトレジスタＳＲＲ０４〜ＳＲＲ００に、画素（４，７）〜（７，７）が記憶される。したがって、時刻Ｔｐ２で、プロセッシングエレメントＰＥＢ００〜ＰＥＢ０３、ＰＥＢ１０〜ＰＥＢ１３、ＰＥＢＡ２０〜ＰＥＢ２３、ＰＥＢ３０〜ＰＥＢ３３（図８参照）による比較が実行されると、図１１Ｄに示す、前フレームの画素（１，０）〜画素（４，３）のブロックと、後フレーム（４，４）〜（７，７）の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。以下、時刻Ｔｐ３についても、図１１Ｅ，図１１Ｆに示すように、ブロックマッチングがおこなわれる。時刻Ｔｐ４についても同様である。時刻Ｔｐ４の後は、後ブロックのシフトレジスタについては、５クロックのシフト演算がおこなわれる。前ブロックのシフトレジスタについては、４クロックのシフト演算が行われる。これにより、図８において、１ライン分ずれたことになる。具体的には、時刻Ｔｐ１１に、前フレーム用のシフトレジスタには、図９に示すように、シフトレジスタＳＲＦ００〜ＳＲＦ０３に画素（０，１）〜（３，１）が、シフトレジスタＳＲＦ１０〜ＳＲＦ１３に、画素（０，２）〜（３，２）が、シフトレジスタＳＲＦ２０〜ＳＲＦ２３に、画素（０，３）〜（３，３）が、シフトレジスタＳＲＦ３０〜ＳＲＦ３３に、画素（０，４）〜（３，４）が記憶される。また、時刻Ｔｐ１１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３４〜ＳＲＲ３１に画素（４，３）〜（７，３）が、シフトレジスタＳＲＲ２４〜���ＲＲ２１に、画素（４，４）〜（７，４）が、シフトレジスタＳＲＲ１４〜ＳＲＲ１１に、画素（４，５）〜（７，５）が、シフトレジスタＳＲＲ０４〜ＳＲＲ０１に、画素（４，６）〜（７，６）が記憶される。したがって、時刻Ｔｐ１１で、プロセッシングエレメントＰＥＡ００〜ＰＥＡ０３、ＰＥＡ１０〜ＰＥＡ１３、ＰＥＡ２０〜ＰＥＡ２３、ＰＥＡ３０〜ＰＥＡ３３（図８参照）による比較が実行されると、図１２Ａに示す、前フレームの画素（０，１）〜画素（３，４）のブロックと、後フレーム（４，３）〜（７，６）のブロックのブロックマッチングが行われる。
【００４４】
また、時刻Ｔｐ１１に、後フレーム用のシフトレジスタには、図１０に示すように、シフトレジスタＳＲＲ３３〜ＳＲＲ３０に画素（５，３）〜（ＮＡ）が、シフトレジスタＳＲＲ２４〜ＳＲＲ２０に、画素（５，４）〜（ＮＡ）が、シフトレジスタＳＲＲ１４〜ＳＲＲ１０に、画素（５，５）〜（ＮＡ）が、シフトレジスタＳＲＲ０４〜ＳＲＲ００に、画素（５，６）〜（ＮＡ）が記憶される。したがって、時刻Ｔｐ１１で、プロセッシングエレメントによる比較が実行されると、図１２Ｂに示す、前フレームの画素（０，１）〜画素（３，４）のブロックと、後フレーム（５，３）〜（８，６）の比較が行われる。これにより、中間フレームにて半画素ずれた動きベクトルについてのブロックマッチングが可能となる。以下、時刻Ｔｐ１２〜Ｔｐ１４についても同様に、ブロックマッチングが行われる。その後、時刻Ｔｐ４の場合と同様に、時刻Ｔｐ１４の後は、後ブロックのシフトレジスタについては、５クロックのシフト演算がおこなわれ、前ブロックのシフトレジスタについては、４クロックのシフト演算が行われる。
【００４５】
かかる処理を繰り返すことにより、探索範囲内のデータについて半画素精度のブロックマッチングをも行われる。
【００４６】
このように探索範囲メモリからのブロックの読み出しについて、前フレームまたは後フレームを１画素分にずらして読み出すことにより、前フレーム、後フレームについて半画素ずらしたブロック画像の補間生成をすることなく、中間フレームに対する半画素精度の動きベクトルが得られる。また、従来の半画素精度の動きベクトルは、前フレーム、後フレームについて補間によるブロック画像を生成しているため、画像ボケが生じ、これにより動きベクトル精度が低下するおそれがある。本実施形態においては、かかる問題を解消することができる。
【００４７】
得られた動きベクトルについては、中間フレームでは半画素ずれた位置ではなく、整数精度のブロックにおける動きベクトルとしてもよい。かかる処理によっても、保管するフレームのブロック位置は半画素ずれるが、微小なずれであり、また、もともと前フレーム、後フレームについて補間によるブロック画像に基づく補間に比べると、かえって精度よく動きベクトルが得られる場合もあるからである。
【００４８】
（４．他の実施形態)
本実施形態においては、後フレームを１画素分ｘ方向にずらした場合について説明したが、ｙ方向にずらすようにしてもよい。また、ｙ方向には半画素ずらした位置での比較は行っていないが、これも行うようにしてもよい。また、後フレームではなく、前フレームをずらすようにしてもよい。
【００４９】
また、本実施形態においては、第１参照フレームおよび第２参照フレームについて、半画素ずらしたブロック画像を生成することなく、中間フレームにおいて半画素精度のブロックマッチングを行っている。したがって、半画素ずらしたブロック画像生成部を設けることにより、１／４精度のブロックマッチングが可能となる。図１３に１／４画素精度の場合の、ハード構成を示す。１／２画素精度演算器５１および、最小値検出回路５３，５５から得られた値のうち、最小値を選択するセレクタ６１を有する点で図６と異なる。
【００５０】
すなわち、第１，第２参照フレームのブロックについてはブロック境界線が画素と画素の境界に位置し、かつ、前記中間フレームにおける特定ブロックについては、ブロック境界線が画素と画素の境界から１／２ｎ画素ずれた位置に設定されるように、前記第１参照フレームのブロックおよび／または前記第２参照フレームのブロックを２＊（１／２ｎ）画素分ずらしたブロックマッチング候補をも抽出することができる。ここで、ｎは１，２・・・の自然数である。
【００５１】
本実施形態においては、中間フレームに対する動きベクトルを決定する装置に適用した場合について説明したが、得られた動きベクトルを用いて、動き補償をするようにしてもよい。
【００５２】
本実施形態においては、探索範囲８＊８画素、１ブロック４＊４である場合を例として説明したが、これに限定されるものではない。
【００５３】
本実施形態においては２並列型である場合について説明したが、４並列型など並列処理については特に限定されない。また、シフトレジスタとプロセッシングエレメントとについて、シストリックアレイ型で構成することもできる。
【００５４】
本実施形態においては、１画素ずつシフト処理する場合について説明したが、複数まとめてシフトするなど、シフト演算処理の仕方については特に限定されない。
【００５５】
また、本実施形態においては、第１の参照フレームと中間フレームまでと、第２の参照フレームと中間フレームまでとが時間的に同じ場合、すなわち、第１の参照フレームと第２の参照フレームとが、中間フレームに対して時間的に幾何学対称である場合を例として説明した。しかし、これに限定されず、第１の参照フレームと中間フレームまでと、第２の参照フレームと中間フレームまでが時間的に異なり、この結果、第２の参照フレームが、第１の参照フレームと中間フレームに対して時間的に幾何学対称である仮想参照フレームの延長線上に位置する場合であってもよい。
【００５６】
第２の参照フレームが、第１の参照フレームと中間フレームに対して時間的に幾何学対称である仮想参照フレームの延長線上に位置するとは、たとえば、中間フレームが時刻t=0として、前フレームが時刻t=-1、後フレームがt=2であるような場合である。この場合、前記仮想参照フレームは、時刻t=1となる。かかる対称型探索では、前フレームの探索位置が中間フレームに対して、(1,1)ベクトルずれる場合、後フレームでは（-2,-2）ずらすことになる。具体的には、例えば、前フレームを(1,1)ベクトルずらすとともに、さらに、後フレームを（-2,-2）ベクトルずらした場合の組み合わせ候補を演算するだけでなく、前フレームだけを(1,1)ベクトルずらした場合の組み合わせ候補または、前フレームずらすことなく、後フレームだけを（-2,-2）ベクトルずらした場合の組み合わせ候補を候補として抽出することとなる。このように仮想参照フレームとの関係で、時間的に整数倍離れている関係にある場合についても同様に適用することができる。
【００５７】
前記第１参照フレームおよび第２参照フレームからの時間的距離が異なる場合について図１４を用いて説明する。中間フレームｆｃの特定ブロックｂｘを中心にして第１参照フレームｆ１が幾何学的に対称な位置関係である仮想参照フレームｆｋを定義した場合に、中間フレームｆｃと仮想参照フレームｆｋとの時間的関係のｎ倍離れた延長線上に第２参照フレームｆ２が位置する場合であってもよい。この場合、前記第１参照フレームについて１画素分ブロックをずらした場合に前記第２参照フレームについてはｎ画素分ブロックを移動させるようにすればよい。また、マッチング候補については、前記中間フレームにおけるブロック境界線が画素と画素の境界からずれた位置に設定されるように、前記第１参照フレームのブロックまたは前記第２参照フレームの一方のみをずらしたブロックを抽出すればよい。たとえば、中間フレームがt=0、第1参照フレームがt=-1、第２参照フレームがt=2である場合には、t=1である仮想対象フレームｆｋを定義し、これの延長線上に第２参照フレームのブロックが位置するように、順次抽出演算処理を行えばよい。
【００５８】
なお、このような中間フレームまでの時間的距離が異なる場合には、対称型探索を行うと、前画面の探索位置が中間画像に対して、(1,1)ベクトルずれる場合、後画面では（-2,-2）ずれるようにブロック候補が抽出される。
【００５９】
このように、仮想参照フレームとの関係で、時間的に整数倍離れている関係にある場合に、ずらすタイミングを異ならすだけでなく、ずらす画素量を変更することもできる。具体的には、例えば、後フレームだけを（-1,-1）ベクトルずらした場合の組み合わせ候補、後フレームを（-2,-1）ベクトルずらした場合の組み合わせ候補を抽出するのである。
【００６０】
ずらすタイミングおよびずらす量を共に変更するようにしてもよい。
【００６１】
なお、前フレームと後フレームの時間的な距離の関係で、ずらした画素分で中間フレームにおけるずれ量は決まることとなる。したがって、所望のずれ量の中間フレームを望む場合に、参照対象フレームとして決定する前フレームおよび後フレームの組み合わせを決定するようにすればよい。例えば、中間画像にて2/3画素ずれたマッチング候補を得たい場合には、上記の例で、前フレームはそのままで、後フレームを1画像分をずらせばよいし、中間画像にて1/3画素ずれるマッチング候補を得たい場合には、後フレームはそのままで前フレームをずらせばよい。このように、フレーム間の時間的距離から、ずれたブロックマッチング候補を抽出することができる。
【００６２】
なお、上記実施形態においては、画素ずらしブロックデータ生成手段は、２＊（１／２ｎ）画素精度のブロックデータを生成する場合について説明したが、小数ｘ画素精度のブロックデータを生成するずらし画素生成手段を備えるようにしてもよい。本件発明では、前フレームまたは後フレームのいずれかをずらしたブロックマッチング候補を抽出するので、前記ずらし画素生成手段よりも細かな位置におけるブロックマッチングが可能となる。
【００６３】
また、図１４における説明では、第１参照フレームを前フレーム、第２参照フレームを後フレームである場合について説明したが、逆であってもよい。
【００６４】
上記実施形態においては、各ブロックで行っているアルゴリズムを、ハードウェア記述言語（Hardware Description Language）で記述することにより、各ブロックを構成すればよい。
【００６５】
上記実施形態においては、図４に示す機能を実現するために、並列処理を可能とするために、全てをハードウェア処理する場合について説明した。しかし、これに限定されず、一部をソフトウェアによって実現してもよい。なお、その場合、プログラムの一部の処理を、オペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【図１】
2011182181.tif 000003
【図２】
2011182181.tif 000004
【図３】
2011182181.tif 000005
【図４】
2011182181.tif 000006
【図５】
2011182181.tif 000007
【図６】
2011182181.tif 000008
【図７】
2011182181.tif 000009
【図８】
2011182181.tif 000010
【図９】
2011182181.tif 000011
【図１０】
2011182181.tif 000012
【図１１】
2011182181.tif 000013
【図１２】
2011182181.tif 000014
【図１３】
2011182181.tif 000015
【図１４】
2011182181.tif 000016