(57)【要約】【課題】  高精度で高い演算速度の探索を行う。【解決手段】  ブロック設定手段５１１は、代表ブロック座標について、大きさの異なるブロックを設定する。探索範囲候補特定手段５２１は、前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する。相対割合演算手段５２３は、前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームについて、前記各探索範囲候補の探索範囲内における移動オブジェクトの占める相対割合を演算する。決定手段５２５は、前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する。【選択図】  図１５
2011101336.tif 000002
【特許請求の範囲】
【請求項１】
第ｎフレームおよび第ｎ＋αフレームの画像データに基づいて生成され、前記第ｎフレームからみた第ｎフレーム動きマスクと、前記第ｎ+αフレームからみた第ｎ+αフレーム動きマスクであって、前記各動きマスクは、各画素が動きのある部分に該当するのか、または動きのない部分に該当するのかを表す信号である、が与えられると、ブロックごとに異なる探索範囲を決定するための階層マスクを生成する装置であって、
前記各動きマスクが与えられると、各々について、所定の構成画素ブロックに分割する手段であって、前記の構成画素数は、各動きマスク毎に複数種類あり、この複数種類のブロックパターンに分割する分割手段、
前記第ｎフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記動きのある部分が存在するブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記白部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎフレーム周辺ブロック画素数決定手段、
前記第ｎ＋αフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記動きのある部分が存在するブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記白部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎ＋αフレーム周辺ブロック画素数決定手段、
前記第ｎフレーム、第ｎ+αフレーム動きマスクにおける前記複数のブロックパターン別に、同じブロックを比較して、当該ブロックの最大値および最小値を求める最大値最小値演算手段、
前記ブロックパターン別の各ブロックの最小値が所定の閾値を超える場合には、そのブロックパターンで示される領域が探索範囲であるとして決定する階層マスク決定手段、
を備えた階層マスク生成装置。
【請求項２】
第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索範囲決定装置であって、
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定手段、
前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定手段、
を備えた探索範囲決定装置において、
前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定手段は、以下の手段を備えていること、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段、
を特徴とする探索範囲決定装置。
【請求項３】
請求項２の探索範囲決定装置において、
前記動きマスクは、各画素が動きのある部分に該当するのか、または動きのない部分に該当するのかを表す信号であり、
前記相対割合は、当該範囲内における動きのある部分の占める割合であること、
を特徴とする探索範囲決定装置。
【請求項４】
第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索装置であって、
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定手段、
前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定手段、
前記各ブロックの探索範囲においてブロックマッチングを行ない、対象フレームの動きベクトルを求める動きベクトル演算手段、
を備えた探索装置において、
前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定手段は、以下の手段を備えていること、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段、
を特徴とする探索装置。
【請求項５】
請求項４の探索装置において、
前記動きベクトル演算手段は、前記第ｎフレームおよび前記第ｎ＋αフレームの画像データを縮小させる画像縮小手段を有しており、前記決定手段からブロック探索範囲が与えられると、これを当該ブロックに対して採用する画像の縮小率であるとして、前記ブロックマッチングを行うこと、
を特徴とする探索装置。
【請求項６】
請求項５の探索装置において、
前記動きベクトル演算手段は、前記縮小画面について縮小率の大きな画像でのブロックマッチングによって得られた動きベクトルを、縮小率が次に小さい画像でのブロックマッチングにおける初期ベクトルとして採用して、当該初期ベクトルで特定されるブロックに基づく所定の範囲の探索処理を、前記縮小率を小さくして繰り返し探索する予備探索型ブロックマッチング手段であって、前記各ブロックについて、前記決定手段から与えられたブロック探索範囲に基づいて、前記繰り返し探索する開始画像の縮小率を決定して、前記ブロックマッチングを行う予備探索型ブロックマッチング手段を有すること、
を特徴とする探索装置。
【請求項７】
請求項５の探索装置において、
前記動きベクトル演算手段は、前記縮小画面について縮小率の大きな画像でのブロックマッチングによって得られた動きベクトルを、縮小率が次に小さい画像でのブロックマッチングにおける初期ベクトルとして採用して、当該初期ベクトルで特定されるブロックに基づく所定の範囲の探索処理を、前記縮小率を小さくして繰り返し探索する予備探索型ブロックマッチング手段であって、前記繰り返し探索の各探索処理において全ブロックについての初期ベクトルを演算した後、当該縮小画像において得られた初期ベクトルを、前記階層マスクで使用可能なブロック以外はゼロベクトルとなるようにマスク処理をしたものを初期ベクトルとして前記繰り返し探索を行う予備探索型ブロックマッチング手段を有すること、
を特徴とする探索装置。
【請求項８】
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定手段、
前記分割された各ブロックについて、第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定手段、
前記決定された探索範囲においてブロックマッチングを行い、対象フレームの動きベクトルを求める動きベクトル演算手段、
前記動きベクトル演算手段から与えられたローカル動きベクトルと、前記第ｎ、ｎ＋αフレームと、前記生成されたマスクを用いて、前記第ｎフレームと第ｎ＋αフレームの間の、補間フレームを生成する局所動き補償手段、
を備えたフレーム補間処理装置において、
前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定手段は、以下の手段を備えていること、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームについて、前記各探索範囲候補の探索範囲内における移動オブジェクトの占める相対割合を演算する相対割合演算手段、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段、
を特徴とするフレーム補間処理装置。
【請求項９】
第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索範囲決定方法であって、
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定ステップ、
前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定するステップ、
を備えた探索範囲決定方法において、
前記ブロック設定ステップは、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定ステップでは、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定し、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算し、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定すること、
を特徴とする探索範囲決定方法。
【請求項１０】
第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索方法であって、
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定ステップ、
前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定ステップ、
前記各ブロックの探索対象フレームの動きベクトルを求める動きベクトル演算ステップ、
を備えた探索方法において、
前記ブロック設定ステップは、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定ステップは、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定し、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算し、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定すること、
を特徴とする探索方法。
【請求項１１】
第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定ステップ、
前記分割された各ブロックについて、第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定ステップ、
前記決定された探索範囲において対象フレームの動きベクトルを求める動きベクトル演算ステップ、
前記与えられたローカル動きベクトルと、前記第ｎ、ｎ＋αフレームと、前記生成されたマスクを用いて、前記第ｎフレームと第ｎ＋αフレームの間の補間フレームを生成する局所動き補償ステップ、
を備えたフレーム補間処理方法において、
前記ブロック設定ステップは、前記代表ブロック座標について、大きさの異なるブロックを設定し、
前記探索範囲決定ステップは、
前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定し、
前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算し、
前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定すること、
を特徴とするフレーム補間処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フレーム補間処理に関し、特に静止部分と動いている部分の区別に関する。
【背景技術】
【０００２】
特許文献１には、 現在フレームと参照フレームの２枚の入力画像を、それぞれ複数のブロックに分割し、２つの入力画像に基づいて、各ブロックのＬＭＶ（ローカル動きベクトル）をそれぞれ検出し、ブロック各々に対応するＬＭＶの信頼度指標としてのブロック重みを算出して、このブロック重みに応じて各ブロック対応の寄与率を設定してＧＭＶ（グローバル動きベクトル）を算出する動きベクトル検出装置が開示されている。
【０００３】
また、前記ＧＭＶを用いた中間フレーム画像生成時に、動いているブロックと動いていないブロックを区別するためのマスクを生成することができる。特許文献２には、前後フレームからマスクを生成することが開示されている（特許文献２の図４参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−６５３３２号公報
【特許文献２】特開２００３−０１８６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２では、以下のような問題があった。動いているブロックの移動速度、移動距離が大きい場合、精度よく探索するためには、探索の範囲を広く設定する必要がある。一方、探索範囲を広くすると演算速度が問題となる。
【０００６】
この発明は、上記の問題点を解決して、精度を保ちつつ演算速度が高いマスク生成装置その方法を提供することを目的とする。また、精度を保ちつつ演算速度が高い探索を行う探索装置またはその方法を提供することを目的とする。さらに、これらを含むフレーム補間装置またはその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
(1)本発明にかかる階層マスク生成装置は、第ｎフレームおよび第ｎ＋αフレームの画像データに基づいて生成され、前記第ｎフレームからみた第ｎフレーム動きマスクと、前記第ｎ+αフレームからみた第ｎ+αフレーム動きマスクであって、前記各動きマスクは、各画素が動きのある部分に該当するのか、または動きのない部分に該当するのかを表す信号である、が与えられると、ブロックごとに異なる探索範囲を決定するための階層マスクを生成する装置であって、Ａ）前記各動きマスクが与えられると、各々について、所定の構成画素ブロックに分割する手段であって、前記の構成画素数は、各動きマスク毎に複数種類あり、この複数種類のブロックパターンに分割する分割手段、Ｂ）前記第ｎフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記動きのあるブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記動きのある部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎフレーム周辺ブロック画素数決定手段、Ｃ）前記第ｎ＋αフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記動きのあるブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記動きのある部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎ＋αフレーム周辺ブロック画素数決定手段、Ｄ）前記第ｎフレーム、第ｎ+αフレーム動きマスクにおける前記複数のブロックパターン別に、同じブロックを比較して、当該ブロックの最大値および最小値を求める最大値最小値演算手段、Ｅ）前記ブロックパターン別の各ブロックの最小値が所定の閾値を超える場合には、そのブロックパターンで示される領域が探索範囲であるとして決定する階層マスク決定手段、を備えている。
【０００８】
かかる構成を採用することにより、オブジェクトの大きさ、移動速度に応じて探索範囲を変えることができる。よって、精度を保ちつつ演算速度が高いマスク生成装置を提供することができる。
【０００９】
(2)本発明にかかる探索範囲決定装置においては、Ｃ）前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、Ｄ）前記探索範囲決定手段は、d1)前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、d2)前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、d3)前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段を備えている。
【００１０】
したがって、移動オブジェクトの大きさ、移動速度に応じて前記ブロック探索範囲を変えることができる。これにより、精度を保ちつつ演算速度が高い探索が可能となる。
【００１１】
(3)本発明にかかる探索範囲決定装置においては、前記動きマスクは、各画素が動きのある部分に該当するのか、または動きのない部分に該当するのかを表す信号であり、前記相対割合は、当該範囲内における動きのある部分の占める割合である。したがって、相対割合の演算が簡易迅速となる。
【００１２】
(4)本発明にかかる探索装置においては、Ｄ）前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、Ｅ）前記探索範囲決定手段は、e1)前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、e2)前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、e3)前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段を備えている。
【００１３】
したがって、移動オブジェクトの大きさ、移動速度に応じて前記ブロック探索範囲を変えることができる。これにより、精度を保ちつつ演算速度が高い探索が可能となる。
【００１４】
(5)本発明にかかる探索装置においては、前記動きベクトル演算手段は、前記第ｎフレームおよび前記第ｎ＋αフレームの画像データを縮小させる画像縮小手段を有しており、前記決定手段からブロック探索範囲が与えられると、これを当該ブロックに対して採用する画像の縮小率であるとして、前記ブロックマッチングを行う。したがって、従来の縮小画像生成方法により、探索範囲を切り換えることができる。
【００１５】
(6)本発明にかかる探索装置においては、前記動きベクトル演算手段は、前記縮小画面について縮小率の大きな画像でのブロックマッチングによって得られた動きベクトルを、縮小率が次に小さい画像でのブロックマッチングにおける初期ベクトルとして採用して、当該初期ベクトルで特定されるブロックに基づく所定の範囲の探索処理を、前記縮小率を小さくして繰り返し探索する予備探索型ブロックマッチング手段であって、前記各ブロックについて、前記決定手段から与えられたブロック探索範囲に基づいて、前記繰り返し探索する開始画像の縮小率を決定して、前記ブロックマッチングを行う予備探索型ブロックマッチング手段を有する。
【００１６】
したがって、従来の縮小画像生成方法における探索による誤認識を防止することができる。
【００１７】
(7)本発明にかかる探索装置においては、前記動きベクトル演算手段は、前記縮小画面について縮小率の大きな画像でのブロックマッチングによって得られた動きベクトルを、縮小率が次に小さい画像でのブロックマッチングにおける初期ベクトルとして採用して、当該初期ベクトルで特定されるブロックに基づく所定の範囲の探索処理を、前記縮小率を小さくして繰り返し探索する予備探索型ブロックマッチング手段であって、前記繰り返し探索の各探索処理において全ブロックについての初期ベクトルを演算した後、当該縮小画像において得られた初期ベクトルを、前記階層マスクで使用可能なブロック以外はゼロベクトルとなるようにマスク処理をしたものを初期ベクトルとして前記繰り返し探索を行う。したがって、従来の縮小画像生成方法における探索による誤認識を防止することができる。
【００１８】
(8)本発明にかかるフレーム補間処理装置においては、前記ブロック設定手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、前記探索範囲決定手段は、前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段を備えている。
【００１９】
したがって、移動オブジェクトの大きさ、移動速度に応じて前記ブロック探索範囲を変えることができる。これにより、精度を保ちつつ演算速度が高い探索が可能なフレーム補間処理ができる。
【００２０】
(9)(10)(11)本発明にかかる探索範囲決定方法、探索方法またはフレーム補間処理方法においては、前記ブロック設定ステップは、前記代表ブロック座標について、大きさの異なるブロックを設定し、前記探索範囲決定ステップでは、前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定し、前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算し、前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する。
【００２１】
したがって、移動オブジェクトの大きさ、移動速度に応じて前記ブロック探索範囲を変えることができる。これにより、精度を保ちつつ演算速度が高い探索が可能となる。
【図面の簡単な説明】
【００２２】
【図１】グローバル動きベクトル演算装置１の機能ブロック図である。
【図２】グローバル動きベクトル演算装置１におけるグローバル動きベクトル演算のフローチャートである。
【図３】平行移動パラメータ取得を説明する図である。
【図４】グローバル動きベクトル演算１のハード構成を示す図である。
【図５】演算したグローバル動きベクトルを用いたフレーム補間処理装置２００の機能ブロック図である。
【図６】前後フレームの一例である。
【図７】動きオブジェクトマスク生成部の詳細ブロック図である。
【図８】補正部の詳細ブロック図である。
【図９】階層マスク生成部の詳細ブロック図である。
【図１０】ブロック分割の一例である。
【図１１】ブロック分割の一例である。
【図１２】ブロック分割の一例である。
【図１３】フレーム補間処理装置３００の機能ブロック図である。
【図１４】フレーム補間処理装置４００の機能ブロック図である。
【図１５】探索範囲決定装置５００の機能ブロック図である。
【図１６】従来の、縮小画像を用いての階層化動き推定方法を説明する図である。
【図１７】ブロックマッチング型探索処理部２０４の詳細ブロック図である。
【図１８】生成される縮小画面の一例である。
【図１９】生成される縮小階層マスクの一例である。
【図２０】縮小階層マスクを用いての下位層への提要を説明する図である。
【図２１】縮小階層マスクを用いての下位層への提要を説明する図である。
【発明を実施するための形態】
【００２３】
以下、本発明における実施形態について、図面を参照して説明する。
【００２４】
（１.ＧＭＶ演算の概要について）
本発明において採用したグローバル動きベクトル演算装置１の機能ブロック図を図１に示す。グローバル動きベクトル演算装置１は、ブロック別動きベクトル演算手段３、平行移動パラメータ演算手段６、回転・ズームパラメータ演算手段７、グローバル動きベクトル記憶手段９、展開後動きベクトル手段１１、閾値記憶手段１５、計算対象ブロック決定手段１７、および繰り返し手段１３を備えている。
【００２５】
ブロック別動きベクトル演算手段３は、第ｎフレームと第ｎ＋１フレームについて、それぞれ１画面を構成する画素を所定の矩形のブロックにブロック化して、ブロック別の動きベクトルであるローカル動きベクトルを求めるとともに、求めたブロックについてのローカル動きベクトルを計算対象ブロックのローカル動きベクトルとして与える。
【００２６】
平行移動パラメータ演算手段６は、前記計算対象ブロックのローカル動きベクトルが与えられると、各ブロックを注目ブロックとして、その周辺ブロックのローカル動きベクトルの平均と当該注目ブロックのローカル動きベクトルとの差分の絶対値に基づいて注目ブロックのローカル動きベクトルに重み付け係数を全計算対象ブロックについて演算するとともに、前記計算対象ブロックの各重み付け係数およびローカル動きベクトルから、最小二乗法によりグローバル動きベクトルの平行移動パラメータを演算する。回転・ズームパラメータ演算手段７は、前記平行移動パラメータが与えられると、この平行移動パラメータおよび、平行移動、回転、ズームの４パラメータで表したアフィン変換式からグローバル動きベクトルの回転・ズームパラメータを求める。グローバル動きベクトル記憶手段９は、前記平行移動パラメータおよび前記回転・ズームパラメータを記憶する。
【００２７】
展開後動きベクトル手段１１は、前記平行移動パラメータ、および回転・ズームパラメータが与えられると、各ブロックについてのローカル動きベクトルに展開した展開後ローカル動きベクトルを演算する。
【００２８】
閾値記憶手段１５は、計算対象ブロックを選別するための閾値を記憶する。計算対象ブロック決定手段１７は、各ブロックについて、前記展開後ローカル動きベクトルと、ブロック別動きベクトル演算手段３が演算したローカル動きベクトルとの差が閾値記憶手段１５に記憶された閾値内であるブロックを計算対象ブロックとして決定し、決定した計算対象ブロックについてのブロック別動きベクトル演算手段３が演算したローカル動きベクトルを平行移動パラメータ演算手段６に計算対象ブロックとして与える。
【００２９】
繰り返し手段１１は、計算対象ブロック決定手段１７の処理を所定回数繰り返し実行する手段であって、繰り返し回数が増える度に前記閾値を小さくして、前記繰り返し処理を行う。
【００３０】
このように、演算されたグローバル動きベクトルの前記平行移動パラメータ、および前記回転・ズームパラメータから、ブロック別の動きベクトルに展開させ、計算対象ブロックを前記閾値で決定し、決定したブロックに基づいて、前記平行移動パラメータ、および前記回転・ズームパラメータの計算を繰り返すことにより、より精度の高い前記平行移動パラメータおよび前記回転・ズームパラメータを取得することができる。
【００３１】
（２．ＧＭＶ取得の詳細処理)
グローバル動きベクトル演算装置１の詳細ブロック図を図２に、演算処理のフローチャートを図３に示す。以下、図２，図３を用いて説明する。
【００３２】
ブロック別動きベクトル演算部３１(図２）は、ブロック別動きベクトル演算処理(図３ステップＳ１)を実行する。具体的には、第ｎフレームと第ｎ＋１フレームについて、それぞれ１画面を構成する画素を所定の矩形のブロックにブロック化して、ブロック別の動きベクトルであるローカル動きベクトルを求める。演算結果は、局所動きベクトル記憶部３３(図２参照)に記憶される。
【００３３】
重み付け演算部３４(図２）は、ブロック重み付け処理(図３ステップＳ３)を実行する。
【００３４】
重み付け演算部３４(図２）は、局所動きベクトル記憶部３３からローカル動きベクトルが与えられると、ブロック（Ｘblk、Ｙblk）を注目ブロックとして、その周辺ブロックにおけるローカル動きベクトルの平均ｍaveを式（１）により求める。
【００３５】
【数１】
2011101336.tif 000003
【００３６】
Ｘblk、Ｙblkはブロックを示す座標、δは有効計算ブロックを示すマスク、ｍは動きベクトルである。δ（Ｘblk＋ｋ，Ｙblk＋ｌ）は、後述するように演算対象でないブロックについては、「０」と、それ以外は「１」に設定されるが、１回目は全てのブロックが演算対象であるので、「１」に設定される。
【００３７】
注目ブロックを順次変更することにより、全ブロックについてのローカル動きベクトルの平均ｍave（Ｘblk、Ｙblk）が求められる。
【００３８】
重み付け演算部３４は、ブロック（Ｘblk、Ｙblk）のローカル動きベクトルｍ（Ｘblk、Ｙblk）とブロック（Ｘblk、Ｙblk）の周辺部ブロックの平均ｍave（Ｘblk、Ｙblk）と当該注目ブロックの差分の絶対値に基づいて、ブロック（Ｘblk、Ｙblk）のローカル動きベクトルに重み付け係数ｗを演算する。本実施形態においては、下記式（２）、式（３）によって重み付け係数ｗを求めた。
【００３９】
【数２】
2011101336.tif 000004
【００４０】
【数３】
2011101336.tif 000005
【００４１】
かかる重み付け演算は、全ブロックについて行われる。なお、差分の絶対値としては、L2ノルム、L1ノルムなどを採用することができる。
【００４２】
本実施形態においては、指数的な収斂を行うことにより、疑いのあるブロックの寄与を限りなく小さくすることができる。更に、1/2（あるいは1/4）のべき乗であるため固定小数点実装（シフトによる構成）がやりやすくなる。これにより、演算器をより簡易に構成できる。さらに、べき乗数とする絶対値に対し４乗とするようにした。これにより大きな差分である場合には、そのブロックの重み付け係数ｗをより小さくすることができる。
【００４３】
平行移動パラメータ演算部３６(図２）は、局所動きベクトル記憶部３３からローカル動きベクトルが与えられると、重み付け演算部３４から各ブロックの重み付け係数を受け取り、アフィン変換における平行移動パラメータa1,a4を演算する(図３ステップＳ７）。
【００４４】
アフィン変換における６つのパラメータa1〜a6を求める式を、式（４）、式（５）に示す。
【００４５】
【数４】
2011101336.tif 000006
【００４６】
本実施形態においては、各ローカル動きベクトルについて重み付け演算をしているので、式（４）、式（５）は、式(６)、式（７）と表される。これにより平行移動パラメータa1,a4が求められる。
【００４７】
【数５】
2011101336.tif 000007
【００４８】
ズーム・回転パラメータ演算部３７(図２）は、平行移動パラメータ演算部３６から平行移動パラメータa1,a4が与えられると、重み付け演算部３４から各ブロックの重み付け係数を受け取り、アフィン変換におけるズーム・回転パラメータa2,a3を演算する(図３ステップＳ９）。
【００４９】
本実施形態においては、式(６)、式（７）を一部限定することにより、ズーム・回転パラメータa2,a3を、平行移動パラメータa1,a4に基づいて求めるようにした。
【００５０】
カメラワークに限定した場合、アフィン変換のパラメータとしては、平行移動、回転、ズームに限定される。したがって、パラメータa5,a6は、下記で表される。
【００５１】
−a6＝a2
−a5＝−a3
これらを前記式（６），式（７）に代入すると、式（８）、式（９）が得られる。
【００５２】
【数６】
2011101336.tif 000008
【００５３】
式（８）、式（９）を変形することにより、パラメータa2,a3は、式（１０）、式（１１）で表される。
【００５４】
【数７】
2011101336.tif 000009
【００５５】
式（１０）、式（１１）から明らかなように、パラメータa2,a3は、パラメータa1,a4から演算することができる。
【００５６】
得られたパラメータa1〜a4は、グローバル動きベクトル記憶部３９(図２)に記憶される。
【００５７】
繰り返し制御部４３(図２)は、所定回数繰り返し済みか否か判断する（図３ステップＳ１１）。本実施形態においては、繰り返し回数として「３回」を採用した。この場合、１回目であるので、演算対象ブロック選定処理(図３ステップＳ１７）が実行される。
【００５８】
展開部４１(図２)は、グローバル動きベクトル記憶部３９からパラメータa1〜a4が与えられると、ブロック別動きベクトル演算部３１と同じブロックのブロック別動きベクトルに展開する（ＧＭＶからＬＭＶに変換）。
【００５９】
演算対象ブロック選定部４７は、繰り返し制御部４３から繰り返し命令が与えられると、各ブロックについて、展開されたブロック別動きベクトルと、局所動きベクトル記憶部３３のブロック別動きベクトルの差を演算し、演算結果が閾値記憶部４５に記憶されている閾値内であるブロックを演算対象ブロックとして決定する。
【００６０】
これを全ブロックについて繰り返すことにより、被選定ブロック位置を平行移動パラメータ演算部３６および重み付け演算部３４に与える。
【００６１】
かかる演算対象ブロックの選定処理の概念について図４を用いて説明する。図４は、説明のために、８つのブロックp1〜p8のローカル動きベクトルから、グローバル動きベクトルを求めた場合を示す。図４Ａは８つ全てのブロックp1〜p8から得られたグローバル動きベクトル８１を示す。このグローバル動きベクトル８１と閾値Th内にあるブロックp1,p2,p4,p6が抽出される。演算処理としては、グローバル動きベクトル８１から得られるローカル動きベクトルと比較することにより計算対象ブロックとして決定される。
【００６２】
重み付け演算部３４(図２)は、被選定ブロック位置が与えられると、選定されたブロックを用いて、重み付け演算を行う(図３ステップＳ３)。具体的には、重み付け演算部３４は、選定されなかったブロックについてδ(xblk,yblk)＝０として、式(１）の周辺ブロックにおけるローカル動きベクトルの平均ｍave を演算する。
【００６３】
なお、選定対象とならなかったブロックについては、グローバル動きパラメータ演算に用いないため、そもそも、w(xblk,yblk)の計算も不要である。したがって、重み付け演算部３４は、当該ブロックについては、w(xblk,yblk)=0として重み付け演算を省略する。
【００６４】
なお、上記式（８）〜（１１）において、Σwとなっている全ての部分をΣδwと置き換えることによっても同様の動作が可能である。これにより総和計算に明示的にマスク処理を施すことができる。
【００６５】
平行移動パラメータ演算部３６（図２）は、演算対象ブロック選定部４７から、被選定ブロック位置が与えられると、指定されたブロックの重み付け係数を用いて、平行移動パラメータを演算する(図３ステップＳ７)。
【００６６】
ズーム・回転パラメータ演算部３７（図２）は、被選定ブロックについて、その重み付け係数および平行移動パラメータa1,a4を用いて、パラメータa2,a3を演算する(図３ステップＳ７)。
【００６７】
このようにして、被選定ブロック（計算対象でないブロック以外のブロック）のＬＭＶから求めたＧＭＶパラメータa1〜a4が得られ、パラメータa1〜a4は、グローバル動きベクトル記憶部３９に上書きされる。
【００６８】
図４Ｂに、８つのブロックp1〜p8のうち、計算対象ブロックとなったブロックp1,p2,p4,p6から、得られた新たなグローバル動きベクトル８２を示す。
【００６９】
繰り返し制御部４３(図２)は、所定回数繰り返し済みか否か判断する（図３ステップＳ１１）。この場合、２回目であるので、所定回数である３回は処理していないと判断して、ステップＳ１３に進み、１回目であるか否か判断する。この場合、１回目ではなく２回目であるので、閾値を小さくする処理を実行する(ステップＳ１５）。具体的には、閾値記憶部４５に記憶されている閾値を変更する変更命令を行う。本実施形態においては、「２」である閾値を「１」とした。
【００７０】
演算対象ブロック選定部４７(図２)は、かかる小さくなった閾値を用いて、演算対象ブロックの選定処理を行う(図３ステップＳ１７）。
【００７１】
図４Ｃは、計算対象ブロックとなったブロックp1,p2,p4,p6から、得られた新たなグローバル動きベクトル８２および小さくなった閾値Th’により、グローバル動きベクトル８２と閾値Th’内にあるブロックp1,p2,p3,p5,p9が抽出される。
【００７２】
以下、同様にして、図３ステップＳ３〜ステップＳ９の処理が実行され、新たなグローバル動きベクトルのパラメータa1〜a4がグローバル動きベクトル記憶部３９に上書きされる。
【００７３】
図４Ｄは、計算対象ブロックとなったブロックp1,p2,p3,p5,p9から、得られた新たなグローバル動きベクトル８３を示す。
【００７４】
以下、ステップＳ１１にて３回目の処理が実行され、ステップＳ１５で閾値がさらに小さくされる。本実施形態においては、閾値を「１」から「２／３」とした。ステップＳ１７からステップＳ９の処理が実行され、あらたなグローバル動きベクトルのパラメータa1〜a4がグローバル動きベクトル記憶部３９に追記される。
【００７５】
繰り返し制御部４３(図２)は、所定回数の繰り返しが終わると、処理を終了する。
【００７６】
このように、得られたグローバル動きベクトルを用いて、閾値を小さくしつつ、計算対象ブロックを変更して、新たなグローバル動きベクトルを求める処理を繰り返すことにより、より精度の高いグローバル動きベクトルを得ることができる。
【００７７】
本実施形態においては、閾値を小さくする手法として、繰り返し回数をnとした場合に、閾値=2/nとした。本実施形態においては繰り返し回数を3回としたので、閾値は、最初は「２」、次は「１」、その次は「２／３」となる。
【００７８】
なお、繰り替え処理を行うか否かの条件については、回数としたが、閾値を設けておき、条件を満足するまで処理を繰り返すようにしてもよい。
【００７９】
また、計算対象ブロック決定手段１７が求める差分については、実施形態においては、差分の絶対値を採用したがこれに限定されない。
【００８０】
（３.変形実施形態）
上記実施形態においては、ＧＭＶパラメータ演算について、重み付け係数を考慮して、最小二乗法で平行移動パラメータを求めて、これをアフィン変換の式に代入して、ズーム・回転パラメータを求めた。しかし、これに限定されず、他の手法によって４つのパラメータを演算するようにしてもよい。
【００８１】
本実施形態におけるＧＭＶパラメータ演算手法は４種類のグローバル動きベクトルを簡易に計算できるという効果がある。したがって、本実施形態におけるグローバル動きベクトル演算装置１のうち、ＧＭＶパラメータ演算手段５(図１参照)における処理を単独の装置として把握することもできる。
【００８２】
また、繰り返し処理を行う手段（図１における展開後動きベクトル演算手段１１、繰り返し手段１３、閾値記憶手段１５、および演算対象ブロック選定手段１７）により、精度よくかつ高速にグローバル動きベクトルのパラメータ演算が可能となる。これらを単独の装置として把握することもできる。
【００８３】
すなわち、グローバル動きベクトルを求める演算装置であれば、どのような物にも適用可能であり、上記４パラメータだけでなく、６パラメータ（Affine）、さらに、８パラメータ（射影）を求めるグローバル動きベクトル演算装置に適用可能である。
【００８４】
繰り返し処理による計算ブロックの除外・復活を実施し再計算を行なうことにより、初期の誤ったパラメータが原因で正しいブロックまで過剰に除去されることを防ぐことができる。また、繰り返しごとに閾値の値を小さくすることにより、繰り返し演算の前、または繰り返し演算の序盤は、正しいパラメータとのずれが大きいおそれがある。これにより、当初は閾値を大きめにとることで正しいブロックの検出漏れを防ぐことができる。
【００８５】
上記実施形態では求めたＧＭＶから閾値を小さくしながら、演算対象ブロックを変更しつつ、繰り返し演算を行っている。これにより、精度の高い中間フレームの生成が可能となる。
【００８６】
（４．ＧＭＶを用いた補間処理について)
上記開示したＧＭＶ演算装置にて得られたＧＭＶを用いて、下記実施形態においては、ブロックごとに探索範囲を複数段階とする階層構造マスクを生成することにより、精度と演算速度の二律背反の要求を得ることができた。
【００８７】
補間処理を行うフレーム補間処理装置２００の機能ブロック図について図５を用いて説明する。
【００８８】
補間処理を行うフレーム補間処理装置２００は、カメラワーク補償部２０１、マスク生成部２０３、ブロックマッチング型探索処理２０４，局所動き補償部２０６、外乱除去部２０７、カメラワーク推定部２０９を備えている。
【００８９】
カメラワーク補償部２０１は前回のＧＭＶパラメータを用いて補償後の前後フレームを出力する。一般的には、ＧＭＶはパラメータ、フレームn,n+1の中間フレームn+0.5を生成するために用いられる。本実施形態においては、演算遅延の抑制やフレーム記憶領域削減のために、フレームn,n+1から得られたＧＭＶから、つぎの中間フレームn+1.5を生成するようにした。たとえば、等速直線運動と仮定すれば、
ＧＭＶact(n+1.5)=ＧＭＶ0(n+0.5)
で求められる。
【００９０】
ＧＭＶacｔ：実際にカメラワーク補償に用いるGMV
ＧＭＶ0：カメラワーク推定部２０９から算出されたGMV
なお、等速直線運動ではなく、より滑らかさを加味するために、
ＧＭＶact(n+1.5) = {ＧＭＶ0(n+0.5) +ＧＭＶact(n+0.5)}/2
として、ＧＭＶacｔを演算するようにしてもよい。
【００９１】
カメラワーク補償部２０１は、与えられた前後フレームn,n+1を、ＧＭＶact(n+0.5)を用いてそれぞれ中間フレーム時間n+0.5にあわせて補償する。補償後の前後フレームがマスク生成部２０３、ブロックマッチング探索処理部２０４，および局所動き補償部２０６に与えられる。
【００９２】
ここでは図６に示すような前後フレームが出力されたものとする。なお、図６Ａは前フレームであり、図６Ｂは後フレームである。なお、図６において、物体２４４は静止しており、物体２４１は後フレームでは矢印α方向に移動しており、物体２４７は後フレームでは矢印β方向に移動している。
【００９３】
（４．１  マスク生成について)
マスク生成部２０３について説明する。マスク生成部２０３は、動きオブジェクトマスク生成部２０３ａおよび階層マスク生成部２０３ｂを備えている。
【００９４】
（４．１．１  動きオブジェクトマスク生成について)
動きオブジェクトマスク生成部２０３ａの詳細ブロックを図７に示す。動きオブジェクトマスク生成部２０３ａは、エッジ抽出部２５１、２６１、仮動きオブジェクトマスク生成部２５２，２６２、補正部２５３、２６３を備えている。
【００９５】
エッジ抽出部２５１は、後フレームが与えられると、エッジ抽出を行う。エッジ抽出処理については、従来と同様であるので説明は省略する。仮動きオブジェクトマスク生成部２５２は、後フレームから前フレームの値を減算することにより、後フレームと前フレームとの差分を演算するとともに、値がマイナスの値となった画素はゼロとする。
【００９６】
エッジ抽出部２６１は、前フレームが与えられると、エッジ抽出を行う。仮動きオブジェクトマスク生成部２６２は、前フレームから後フレームの値を減算することにより、後フレームと前フレームとの差分を演算するとともに、値がマイナスの値となった画素はゼロとする。かかるマイナスとなった画素についてゼロとすることにより、仮動きオブジェクトマスク生成部２５２，２６２で、異なる差分画像が得られる。補正部２５３は、仮動きオブジェクトマスク生成部２５２、２６２からの２つの差分画像およびエッジ抽出部２５１から与えられるエッジ画像を用いて、補正処理を行う。補正部２５３の構成について図８を用いて説明する。
【００９７】
図８は、補正部２６３の詳細ブロック図である。膨張処理部２５５は、後フレームの仮動きオブジェクトマスクの膨張処理を行う。具体的には、仮動きオブジェクトマスクは、静止している部分は黒で、動いている画素が白の二値画像である。白の部分を１画素分だけ周辺方向に広げる処理を行う。膨張処理部２５７は、後フレームのフレームエッジ画像の膨張処理を行う。膨張処理については同様である。
【００９８】
論理積演算部２５６は、前フレームの仮動きオブジェクトマスクと、膨張後の後フレームの仮動きオブジェクトマスクとの論理和を演算する。後フレームの仮動きオブジェクトマスクは膨張処理がなされているため、多少の演算誤差を吸収することができる。論理和演算部２５８は、上記論理和演算結果と、膨張処理がなされた後フレームエッジの論理和演算を行う。
【００９９】
閾値比較部２５９は、膨張後の後フレームの仮動きオブジェクトマスクと、論理和演算部２５８の出力を所定の閾値で比較して、閾値以上の部分について、動きオブジェクトマスクの穴埋めを行う。
【０１００】
このように、エッジ抽出部２５１からのエッジ画像および穴埋めを行うことにより、前記２つの差分画像で動いている領域が前フレームと後フレームで重なっている場合でも、輪郭を取得することができる。例えば、図６に示す物体２４１の部分は、前後で輪郭が少しずれて重なった位置に存在する。したがって、論理積演算部２５６の出力は、一部が欠けた円の形のマスクとなる。これに輪郭情報を付加するとともに、輪郭となるまで穴埋めすることにより、円形状のマスクが得られる。
【０１０１】
前フレーム用の補正部２６３は与えられるフレームが変わるだけで、補正部２５３と同様の構成をしており、同様にして、前フレームの動きオブジェクトマスクが生成される。これにより、前フレーム、後フレームの動きオブジェクトマスクが得られる。なお、この動きオブジェクトマスクは前フレーム用も後フレーム用もいずれも画素単位の二値画像である。
【０１０２】
なお、本実施形態においては、各画素毎に「０」か「１」を示す情報を記憶することにより、画素単位の二値画像を動きマスクとして記憶するようにした。しかし、これに限定されず、他の形式で動きマスクを特定してもよい。
【０１０３】
（４．１．２  階層マスク生成について)
得られた動きオブジェクトマスクを用いて、階層マスク生成部２０３ｂ（図５参照）は、各ブロックの探索範囲を決定する階層マスクを生成する。階層マスク生成部２０３ｂの詳細を図９に示す。
【０１０４】
階層マスク生成部２０３ｂは、ブロック分割部２６１、２７１、前フレームオブジェクト画素数計測部２６３，後フレームオブジェクト画素数計測部２７３、最大値抽出部２６５，２７５、ブロックパターン別前後フレーム比較部２７７，階層数決定部２７９を備えている。
【０１０５】
（４．１．２．１  ブロック分割処理について)
ブロック分割部２６１は、前フレームの動きオブジェクトマスクを所定のブロックに分割する。動きオブジェクトマスクは、既に説明したように、動いている部分は白く、静止している部分については黒の二値画像である。本実施形態においては、第１分割部２６１ａが画素数16*16に、第２分割部２６１ｂが画素数32*32に、第３分割部２６１ｃが画素数64*64のブロックに分割するようにした。かかる画素数は計算を容易にするためであるが、これに限定されるわけではない。また、分割部の数も限定されない。
【０１０６】
ブロック分割部２７１も同様である。図１０〜図１２にブロック分割部２６１，２７１による分割結果の一例を示す。
【０１０７】
図１０は、画素数16*16にブロック分割した状態を示す。図１０は最小矩形が８画素を表している。また、太線が各ブロックの境界を表している。また、画素との関係をわかりやすくするために、本来マスクとして黒である部分を白とし、白部分をハッチング処理している。また、図１０Ａが、ブロック分割部２６１によってブロック分割された前フレームであり、図１０Ｂが、ブロック分割部２７１によってブロック分割された後フレームを示している。以下では、ブロックの左上角のブロック特定座標で特定するものとする。たとえば、図１０Ａにおいて、オブジェクト２９１は、ブロック（4,4）、（3,4）、（4,3）、計3つのブロックにわたって位置している。
【０１０８】
図１１は、画素数32*32にブロック分割した状態を示す。なお、図１１に示す画素数32*32のブロック分割は、図１０とは異なり、各ブロックをこのブロックサイズにおいて、１／２ブロック幅分Ｘ方向またはＹ方向にずらして重複するよう配置する。これにより、ブロックサイズが異なっても、ブロックの左上角のブロック座標は同じでなる。
【０１０９】
図１２は、画素数64*64におけるブロック分割した場合である。なお、ブロック分割は、このブロックサイズにおいて、１／４ブロック幅分Ｘ方向，Ｙ方向にずらしながら重複して配置する。
【０１１０】
（４．１．２．２  画素計測処理について)
前オブジェクト画素計測部２６３は、第１分割部２６１ａ〜第3分割部２６１ｃによって、前記ブロックサイズに分割された各ブロックについて、それぞれ、ブロック内の画素数を計測する。
【０１１１】
前フレームオブジェクト画素計測部２６３(図９参照)による処理について、図１０〜図１２を参照しつつ説明する。
【０１１２】
前フレームオブジェクト画素計測部２６３(図９参照)の画素数計測部２６３ａは、１ブロックの画素数が16*16における計測を行う（図１０参照)。画素数計測部２６３ａは、ブロック（0,0）から順次その外側に位置するブロックについて探索を行う。図１０Ａでは、ブロック（0,0）が「０」、ブロック（0,1）が「０」、・・・・、ブロック（4,3）が「６４」、・・・、ブロック（3,4）が「１２８」、ブロック（4,4）が「２５６」・・・となる。
【０１１３】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７３ａも同様の処理を行う。ブロック（0,0）が「０」、ブロック（0,1）が「０」、・・・・、ブロック（2,1）が「６４」、・・・、ブロック（1,2）が「１２８」、ブロック（2,2）が「２５６」・・・となる。
【０１１４】
前フレームオブジェクト画素計測部２６３(図９参照)の画素数計測部２６３ｂは、１ブロックの画素数が32*32における計測を行う（図１１参照)。図１１Ａでは、ブロック（0,0）が「０」、ブロック（0,1）が「０」、・・・、ブロック（3,2）が「６４」、・・・、ブロック（2,3）が「１２８」、ブロック（3,3）が「４４８」・・・となる。
【０１１５】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７３ｂも同様の処理を行う。図１１Ｂにおいては、ブロック（0,0）が「０」、ブロック（1,0）が「６４」、・・・・、ブロック（1,1）が「４４８」・・・となる。
【０１１６】
前フレームオブジェクト画素計測部２６３(図９参照)の画素数計測部２６３ｃは、１ブロックの画素数が64*64における計測を行う（図１２参照)。図１２Ａでは、ブロック（0,0）が「０」、ブロック（1,0）が「６４」、・・・ブロック（1,1）が「４４８」・・・となる。
【０１１７】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７３ｃも同様の処理を行う。図１２Ｂにおいては、ブロック（0,0）が「４４８」、ブロック（1,0）が「４４８」、・・・・、ブロック（1,1）が「４４８」・・・となる。
【０１１８】
（４．１．２．３  最大値決定処理について)
前フレームブロック別最大値抽出部２６５(図９参照)は、画素数計測部２６３ａ〜２６３ｃが計測した各ブロックについて、その最大値を決定する。その際、所定範囲の周辺ブロックも含めて、当該ブロックの最大値とする。また、後述する階層数決定部２７９（図９参照)にて、ブロックサイズ別に比較する為に、画素数をブロック構成画素数との相対値とした。
【０１１９】
以下、図１０〜図１２を参照しつつ説明する。
【０１２０】
i)最大値抽出部２６５ａ、２７５ａによる処理
前フレームブロック別最大値抽出部２６５(図９参照)の最大値抽出部２６５ａは、計測した画素数について、その周辺ブロックも合わせて、そのうちの最大値を当該ブロックの最大値とする。本実施形態においては、16*16画素のブロックの場合は、周辺ブロックとして周囲１ブロックとした。
【０１２１】
図１０Ａでは、ブロック（0,0）が「０」であり、その１ブロック周辺の範囲、であるブロック（0,1）、（1,0）、（1,1）は、ともに「０」、であるので、ブロック（0,0）の最大値は「０」となる。その際、相対値は16*16で除算しても「０」である。以下、かかる処理を繰り返す。ブロック（2,3）は「０」であるが、周辺１ブロックを探索すると、ブロック（3,4）が「１２８」である。したがって、ブロック（2,3）の最大値は、これを２５６で除算した「１２８／２５６」となる。同様にして、ブロック（2,4）、（2,5）の最大値は「１２８／２５６」となる。また、ブロック（3,2）の値は、「０」であるが、1ブロック周辺にあるブロック（4,3)が「６４」である。したがって、ブロック（3,2）の最大値は、これを２５６で除算した「６４／２５６」となる。また、ブロック（3,3）の値は、「０」であるが、1ブロック周辺にあるブロック（4,4)が「２５６」である。したがって、ブロック（3,3）の最大値は、これを２５６で除算した「２５６／２５６」となる。
【０１２２】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７５ａも同様の処理を行う。ブロック（0,0）が「０」、ブロック（0,1）〜（0,3）が「１２８／２５６」となる。ブロック（1,0）は「６４」、ブロック（1,1）〜（1,3）が「２５６」・・・となる。
【０１２３】
ii)最大値抽出部２６５ｂ，２７５ｂによる処理
前フレームブロック別最大値抽出部２６５(図９参照)の最大値抽出部２６５ｂは、計測した画素数について、その周辺ブロックも合わせて、そのうちの最大値を当該ブロックの最大値とする。本実施形態においては、32*32画素のブロックの場合は、周辺ブロックとして周囲２ブロックとした。
【０１２４】
図１１Ａでは、ブロック（0,0）が「０」であり、その２ブロック周辺の範囲、であるブロック（0,1）、（1,0）、（1,1）は、ともに「０」であるので、ブロック（0,0）の最大値は「０」となる。その際、相対値は32*32で除算しても「０」である。
【０１２５】
以下、上記処理を繰り返す。ブロック（0,1）は「０」であるが、周辺２ブロックを探索すると、ブロック（2,3）が「１２８」である。したがって、ブロック（0,1）の最大値は、これを１０２４で除算した「１２８／１０２４」となる。同様にして、ブロック（0,2）、（0,3）は「１２８／１０２４」となる。
【０１２６】
また、ブロック（1,0）は「０」であるが、周辺２ブロックを探索すると、ブロック（3,2）が「６４」である。したがって、ブロック（1,0)の最大値は、これを１０２４で除算した「６４／１０２４」となる。ブロック（1,1）は「０」であるが、周辺２ブロックを探索すると、ブロック（3,3）が「４４８」である。したがって、ブロック（1,1)の最大値は、これを１０２４で除算した「４４８／１０２４」となる。以下、同様にして、ブロック（1,2）、（1,3）は「４４８／１０２４」となる。
【０１２７】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７５ｂも同様の処理を行う。ブロック（0,0）が「４４８／１０２４」、ブロック（0,1）〜（0,2）が「４４８／１０２４」となる。また、ブロック（0,3）が周囲２ブロック内のブロック（1,2）の「３８４／１０２４」となる。
【０１２８】
iii)最大値抽出部２６５ｃ，２７５ｃによる処理
前フレームブロック別最大値抽出部２６５(図９参照)の最大値抽出部２６５ｃは、計測した画素数について、その周辺ブロックも合わせて、そのうちの最大値を当該ブロックの最大値とする。本実施形態においては、64*64画素のブロックの場合は、周辺ブロックとして周囲３ブロックとした。
【０１２９】
図１２Ａでは、ブロック（0,0）が「０」であるが、その３ブロック周辺の範囲、であるブロック（1,1）は、４４８である。したがって、ブロック（0,0）の最大値は、これを４０９６で除算した「４４８／４０９６」となる。同様にして、ブロック（0,1）〜ブロック（0,6）は「４４８／４０９６」となる。
【０１３０】
後フレームオブジェクト画素計測部２７３(図５参照)の画素数計測部２７５ｃも同様の処理を行う。ブロック（0,0）が「４４８／４０９６」・・・となる。
【０１３１】
（４．１．２．４  前後フレーム比較処理について)
ブロックパターン別前後フレーム比較部２７７は、３種類のブロックパターンそれぞれについて、各ブロックについての最大値、最小値を決定する。
【０１３２】
16*16画素のブロックについては、前フレームのブロック(0,0)は「０」、後フレームのブロック(0,0)は「０」である。したがって、ブロック(0,0)は最大値、最小値とも「０」となる。前フレームのブロック(0,1)は「０」、後フレームのブロック(0,1)は「１２８／２５６」である。したがって、ブロック(0,1)は最大値「１２８／２５６」、最小値「０」となる。同様にして、ブロック(0,2)、(0,3)は最大値「１２８／２５６」、最小値「０」となる。ブロック(1,0)については、最大値「６４／２５６」、最小値「０」となる。
【０１３３】
32*32画素のブロックについては、前フレームのブロック(0,0)は「０」、後フレームのブロック(0,0)は「４４８／１０２４」である。したがって、ブロック(0,0)は最大値「４４８／１０２４」、最小値「０」となる。また、前フレームのブロック(0,1)は「１２８／１０２４」、後フレームのブロック(0,1)は「４４８／１０２４」である。したがって、ブロック(0,1)は最大値「４４８／１０２４」、最小値「１２８／１０２４」となる。
【０１３４】
64*64画素のブロックについては、前フレームのブロック(0,0)は「４４８／４０９６」、後フレームのブロック(0,0)は「４４８／４０９６」である。したがって、ブロック(0,0)は最大値、最小値とも「４４８／４０９６」となる。また、前フレームのブロック(0,1)は「４４８／４０９６」、後フレームのブロック(0,1)は「４４８／４０９６」である。したがって、ブロック(0,1)は最大値、最小値とも「４４８／４０９６」となる。
【０１３５】
このようにして、前後フレームの対応するブロックの値から、最大値、最小値がブロックパターン毎に求められる。
【０１３６】
階層数決定部２７９（図９参照)は、閾値処理により、当該ブロックの検索範囲を特定する階層数を決定する。具体的には、ブロックについて、閾値が定められており、最小値が閾値を超えている場合には、階層数として決定する。
【０１３７】
本実施形態においては、閾値を「1/2」とするとともに、得られた値が、1/4以上1/2未満の場合はその下の階層（ブロックを構成する画素数が小さなもの）の同位置の最大値が3/4以上であれば、大きなブロックの階層数として決定するようにした。
【０１３８】
例えば、32*32画素のブロックでは、最小値が1/4であり、16*16画素のブロックでは、最小値3/4であれば、32*32画素が階層として設定される。
【０１３９】
図１０〜図１２の場合、ブロック(0,0)については、16*16画素の場合、最大値、最小値とも「０」、32*32画素の場合、最大値「４４８／１０２４」、最小値「０」、64*64画素の場合、最大値、最小値とも「４４８／４０９６」である。いずれも閾値「1/2」はもちろん、「1/4」も越えていないので、階層数は「０」、すなわち、探索しないブロックとして決定される。
【０１４０】
ブロック(0,1)については16*16画素の場合、最大値「１２８／２５６」、最小値「０」、32*32画素の場合、最大値「４４８／１０２４」、最小値「１２８／１０２４」、64*64画素の場合、最大値、最小値とも「４４８／４０９６」である。したがって、ブロック(0,0)の場合と同様に、階層数は「０」として決定される。
【０１４１】
以上の処理を繰り返すことにより、各ブロックの階層数が決定される。
【０１４２】
なお、複数種類のブロックについて、閾値を超えている場合もある、その場合は、そのうちの大きな方のブロックの階層数とすればよい。たとえば、16*16画素と32*32画素の場合と２つとも閾値を超える場合、大きい方のブロックである階層数「２」と決定される。
【０１４３】
階層数によって、予め定められた探索範囲が決定される。本実施形態においては、階層数と、前、後フレームオブジェクト画素数計測部２６３，２７３の計測範囲とを一致させるようにした。すなわち、階層数が「１」であれば、周囲１ブロックまで、階層数が「２」であれば、周囲２ブロックまで、階層数が「３」であれば、周囲３ブロックとした。しかし、探索範囲については、これに限定されない。
【０１４４】
以上説明したように、マスク生成部２０３は、ブロックマッチングの探索範囲をオブジェクトの大きさおよび移動速度に基づき、ブロックごとに複数段階としている。このように、移動範囲の広いことが予測される部分は探索範囲を広くできるように階層数を上げ、移動範囲の狭いことが予測される部分は探索範囲を狭くするように階層数を下げることができる。これにより、演算量を無駄に増やすことなく、精度の高い探索が可能となる。特に、移動がない部分、たとえば、背景のように差分が発生しない部分については、探索しないという制御も可能である。
【０１４５】
また、動きオブジェクトマスクは、画素単位であるので、オブジェクト単位の切り出しが可能となる。
【０１４６】
生成される階層マスクとしては、複数の探索範囲を有する動き推定演算部のうち、いずれを使用するかを選ぶための制御情報である。
【０１４７】
（４．２  補償処理について)
図５に示すブロックマッチング型探索処理２０４は、カメラワーク補償部２０１から与えられた補償後の前後フレームおよびマスク生成部２０３の階層マスク生成部２０３ｂから与えられる階層マスクを用いて、ブロックごとのブロックマッチング処理を行い、ブロックごとのローカル動きベクトルを求める。
【０１４８】
本実施形態においては、ブロックごとに、探索範囲が異なる以外は従来と同様であるのでブロックマッチング型探索処理の説明は省略する。
【０１４９】
局所動き補償部２０６はブロックマッチング型探索処理２０４からローカル動きベクトルを受け取ると、カメラワーク補償部２０１から与えられた補償後の前後フレームから、中間フレームを生成して出力する。局所動き補償部２０６は、その際、動きオブジェクトマスク生成部２０３ａより動きオブジェクトマスクを受け取って、これにより動いていない領域については、補償処理をする必要がない。中間フレームの生成については、従来と同様であるので詳細な説明は省略する。
【０１５０】
局所動き探索範囲マスクをＬＭＶ算出（局所動き推定）に用いることで、単一ブロック内で背景とオブジェクトの分離ができ、精度の向上を図ることができる。また、局所動き補償にマスクを用いることで、中間フレームのブロックノイズが減少するので、補償精度を向上することができる。
【０１５１】
本実施形態においては、既に説明したように、１つ前のＧＭＶを用いて、カメラワーク補償を行っている。
【０１５２】
カメラワーク推定部２０９は、ＬＭＶへの分解部２１０から与えられたローカル動きベクトル、およびブロックマッチング型探索処理部２０４から出力されたローカル動きベクトルを用いてカメラワーク推定を行う。カメラワーク推定部２０９から出力されたグローバル動きベクトルは、ＬＭＶへの分解部２０８にてローカル動きベクトルに展開される。外乱除去部２０７は、与えられたローカル動きベクトルを用いて、計算対象ブロック選定部４７（図２参照）による被選定ブロック選定処理をおこない、外乱を除去する。カメラワーク推定部２０９は、外乱除去後のローカル動きベクトルを用いてカメラワーク推定を行い、グローバル動きベクトルを求める。このグローバル動きベクトルが次のフレームを補償するグローバル動きベクトルとしてカメラワーク補償部２０１に与えられる。
【０１５３】
なお、本実施形態においては、前回算出したグローバル動きベクトルをＬＭＶへの分解部２１０にて展開するようにした。しかし、これに限られることなく、前回算出したグローバル動きベクトルをカメラワーク推定部２０９の出力するグローバル動きベクトルとあわせて出力するようにしてもよい。
【０１５４】
また、本実施形態においては、カメラワーク推定部２０９、ＬＭＶへの分解部２０８、外乱除去部２０７と接続され、さらに、外乱除去部２０７の出力が、再び、カメラワーク推定部２０９に与えられている。しかし、これに限らず、外乱除去部２０７、カメラワーク推定部２０９と接続して、ブロックマッチング型探索処理部２０４からの出力を、外乱除去部２０７に与えて、カメラワーク推定部２０９にてカメラワーク推定をするようにしてもよい。
【０１５５】
（４．３  補償処理の変形実施形態)
図１３に補償処理を行う他の実施形態であるフレーム補間処理装置３００の機能ブロック図を示す。図５に示す実施形態では、動きオブジェクトマスク生成部２０３ａに、グローバル動きベクトルを用いて補償後のフレームを用いて、差分を求めた。これに対して、この実施形態では、前回算出したＧＭＶを用いてＬＭＶを生成し、これをマスク生成部３０３の動きオブジェクトマスク生成部３０３ａに与えている。動きオブジェクトマスク生成部３０３ａは、与えられたＬＭＶを用いて前後フレームを各ブロック単位で移動させたものを補償後フレームとして、差分をとるようにしている。これにより、図５に示す実施形態と比べると、精度は低いが簡易な構成で、実現が可能である。また、前回算出したＧＭＶを用いて生成したＬＭＶは、局所動き補償部３０６にも与えられ、局所動き補償がなされる。
【０１５６】
カメラワーク推定部３０９、ＬＭＶへの分解部３０８，外乱除去部３０７による処理については、図５の場合と同様である。
【０１５７】
図１４に補償処理を行う他の実施形態であるフレーム補間処理装置４００の機能ブロック図を示す。図１３に示す実施形態では、カメラワーク補償を行っていないが、この例では、マスク生成時には、ＬＭＶのみで処理を行うが、局所動き補償部４０６に対しては、ＧＭＶを用いて補償した前後フレームを与えている点が異なる。ＧＭＶを用いた補償処理により背景部分の回転・ズームを伴う場合に画質の劣化が抑制される。
【０１５８】
この実施形態では、ＧＭＶを用いた補償処理はマスク生成処理の後までに間に合えばよいので、その分だけ、演算するための時間を稼ぐことができる。
【０１５９】
この実施形態では、ブロックマッチング型ME処理部４０４はカメラワークを考慮していないブロックマッチング型探索処理を行っている。これに対して、局所動き補償部４０６で用いる画像はカメラワーク補償を行なった後の画像である。これらの整合性を保つためにカメラワーク除去ＬＭＶ計算部４０５で、その分を除去した処理をおこなう。
【０１６０】
また、カメラワーク推定部４０９、ＬＭＶへの分解部４０８，外乱除去部４０７による処理については、図５の場合と同様である。
【０１６１】
（４．４  階層マスク生成装置としての開示)
上記実施形態における階層マスク生成部２０３ｂ、３０３ｂ、４０３ｂは、下記に示す階層マスク生成装置として把握することもできる。
【０１６２】
第ｎフレームおよび第ｎ＋αフレームの画像データに基づいて生成され、前記第ｎフレームからみた第ｎフレーム動きマスクと、前記第ｎ+αフレームからみた第ｎ+αフレーム動きマスクであって、前記各動きマスクは、動いている部分が白で、動いていない部分が黒の２値画像である、が与えられると、ブロックごとに異なる探索範囲を決定するための階層マスクを生成する装置であって、
前記各動きマスクが与えられると、各々について、所定の構成画素ブロックに分割する手段であって、前記の構成画素数は、各動きマスク毎に複数種類あり、この複数種類のブロックパターンに分割する分割手段、
前記第ｎフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記白部分が存在するブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記白部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎフレーム周辺ブロック画素数決定手段、
前記第ｎ＋αフレーム動きマスクにおける前記複数のブロックパターンについて、各ブロックのうち前記白部分が存在するブロックの周辺ブロックについて、前記ブロックのブロックサイズに応じて、ブロックサイズが大きくなるほど、周辺探索範囲を大きくして、前記白部分の画素数の最大値を当該周辺ブロックの最大値として決定する第ｎ＋αフレーム周辺ブロック画素数決定手段、
前記第ｎフレーム、第ｎ+αフレーム動きマスクにおける前記複数のブロックパターン別に、同じブロックを比較して、当該ブロックの最大値および最小値を求める最大値最小値演算手段、
前記ブロックパターン別の各ブロックの最小値が所定の閾値を超える場合には、そのブロックパターンで示される領域が探索範囲であるとして決定する階層マスク決定手段、
を備えた階層マスク生成装置。
【０１６３】
かかる構成を採用することにより、オブジェクトの大きさ、移動速度に応じて探索範囲を変えることができる。
【０１６４】
なお、「ブロックパターンが異なる」とは、実施形態では、ブロックサイズだけでなく、各ブロックを重複して配置した場合について説明したが、ブロックサイズのみ異なるようにしてもよい。
【０１６５】
（４．５  探索範囲決定装置としての開示)
上記実施形態における階層マスク生成部２０３ｂ、３０３ｂ、４０３ｂは、図１５に示す探索範囲決定装置として把握することもできる。図１５に探索範囲決定装置５００の機能ブロックを示す。
【０１６６】
探索範囲決定装置５００は、第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索範囲決定装置であって、ブロック設定手段５１１および探索範囲決定手段５１２を備えている。
【０１６７】
ブロック設定手段５１１、探索範囲決定手段５１２の概要について説明する。ブロック設定手段５１１は、第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定する。探索範囲決定手段５１２は、前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定する。
【０１６８】
詳細としては、ブロック設定手段５１１は、前記代表ブロック座標について、大きさの異なるブロックを設定する。探索範囲決定手段５１２は、探索範囲候補特定手段５２１、相対割合演算手段５２３、決定手段５２５を有する。探索範囲候補特定手段５２１は、前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する。相対割合演算手段５２３は、前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する。決定手段５２５は、前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する。
【０１６９】
したがって、移動オブジェクトの大きさ、移動速度に応じて前記ブロック探索範囲を変えることができる。
【０１７０】
なお、探索範囲候補については、ブロックの大きさに応じて予め決めておけばよい。また、ブロックが大きくなると探索範囲をより拡大するようにしてもよいし、固定としてもよい。
【０１７１】
本実施形態においては、大きさの異なるブロックを複数設定するようにしたが、画像自体を縮小してもよい。
【０１７２】
（４．６  探索装置としての開示)
上記実施形態における階層マスク生成部２０３ｂおよびブロックマッチング型ＭＥ処理部２０４は、下記に示す探索装置して把握することもできる。階層マスク生成部３０３ｂと３０４，および階層マスク生成部４０３ｂとブロックマッチング型ＭＥ処理部４０４についても同様である。
【０１７３】
Ａ）第ｎフレームおよび第ｎ＋αフレームにおける移動オブジェクトの領域を特定するための動きマスクを用いた移動オブジェクト探索における探索範囲を決定する探索装置であって、Ｂ）第ｎフレームにおける画像を所定画素単位のブロックに分割し、所定の代表ブロック座標で各ブロックを特定するブロック設定手段、Ｃ）前記分割された各ブロックについて、前記第ｎ＋αフレームにおける所定の探索範囲を決定する探索範囲決定手段、Ｄ）前記各ブロックの探索範囲においてブロックマッチングを行ない、対象フレームの動きベクトルを求める動きベクトル演算手段、を備えた探索装置において、Ｅ）前記動きベクトル演算手段は、前記代表ブロック座標について、大きさの異なるブロックを設定し、Ｆ）前記探索範囲決定手段は、f1)前記異なる大きさのブロック毎に第ｎ＋αフレームの探索範囲を探索範囲候補として特定する探索範囲候補特定手段、f2)前記代表ブロック座標で特定される第ｎフレームのブロック内における移動オブジェクトの占める相対割合を演算するとともに、対応する前記第ｎ＋αフレームのブロックについて、前記各探索範囲候補の探索範囲内のブロックにおける移動オブジェクトの占める相対割合を演算する相対割合演算手段、f3)前記相対割合が大きなブロックに対応する探索範囲候補を、前記代表ブロック座標で特定されるブロック探索範囲として決定する決定手段を備えていること、を特徴とする探索装置。
【０１７４】
（４．７  動きオブジェクトマスク生成装置としての開示)
上記実施形態における動きオブジェクトマスク生成部２０３ａは、下記に示す動きマスク生成装置として把握することもできる。
【０１７５】
第ｎフレームおよび第ｎ＋αフレームの画像データに基づいて生成され、前記第ｎフレームからみた第ｎフレーム動きマスクと、前記第ｎ+αフレームからみた第ｎ+αフレーム動きマスクであって、前記各動きマスクは、動いている部分が白で、動いていない部分が黒の２値画像である、を生成する動きマスク生成部装置であって、
第ｎフレームから第ｎ＋αフレームの画像データを減算して、値がマイナスとなる画素については値をゼロとした前記第ｎフレームからみた第ｎフレーム動きマスクを生成する第１マスク生成手段、
第ｎ+αフレームから第ｎフレームの画像データを減算して、値がマイナスとなる画素については値をゼロとした前記第ｎ+αフレームからみた第ｎ+αフレーム動きマスクを生成する第２マスク生成手段、
前記第ｎフレームの画像データから第ｎフレームエッジ画像を抽出する第１エッジ抽出手段、
前記第ｎ+αフレームの画像データから第ｎ+αフレームエッジ画像抽出する第２エッジ抽出手段、
第ｎフレーム動きマスクを、前記第ｎフレームエッジ画像および第ｎ+αフレーム動きマスクによって補正する第１補正手段、
第ｎ+αフレーム動きマスクを、前記第ｎ+αフレームエッジ画像および第ｎフレーム動きマスクによって補正する第２補正手段、
を備えた動きマスク生成装置。
【０１７６】
また、上記開示した装置を任意に組み合わせることもできる。
【０１７７】
（４．８  縮小画面を用いた探索装置としての開示)
上記では、画像を固定とし、複数の探索範囲を採用した場合を例として説明したが、従来の縮小画像を用いた階層化動き推定法（以下、縮小画像階層化動き推定法という）についても同様である。以下、説明する。まず、前記制御情報は、探索範囲として、いずれの縮小画像を用いるかを示すフラグ信号となる。
【０１７８】
通常、縮小画像階層化動き推定法は、縮小画像で検索をして、その動きベクトルを拡大変換した拡大変換動きベクトルを求めて、かかる拡大変換動きベクトルで特定されるブロックを中心にして所定の探索範囲についてブロックマッチングを行うというものである。
【０１７９】
簡単に説明する。図１６Ａに示すような縮小画面を生成しておき、かかる縮小画面における各ブロック７０１〜７０４についての動きベクトルを求める。ここでは、図１６Ｂに示す動きベクトルが得られたものとする。次に、得られた動きベクトルを初期ベクトルとして下位層に適用して、対策を行う。具体的には、図１６Ｂに示す各動きベクトルそのまま、拡大して、図１６Ｃに示す動きベクトルとし、各ブロックについて初期ベクトルで示された範囲を中心として、所定の探索範囲を探索する。これを、各階層について繰り返す。
【０１８０】
上記縮小画像を用いた探索については、静止画像部分も動画部分も探索範囲が同じであるので、静止画部分に同じ画像が複数あった場合等は、正しい探索結果が得られないという問題があった。
【０１８１】
本件階層マスクによって、採用する縮小画像を特定することにより、既に説明したように、ブロックごとに用いる縮小画面を切り換えることができる。したがって、静止部分については、探索範囲を狭くすることができる。
【０１８２】
このように、本件階層マスクを用いた探索範囲決定方法は、従来の縮小画像階層化動き推定法にも適用可能である。
【０１８３】
なお、かかる探索処理は速度が優先されるのでハードウェアで実行される。したがって、各ブロックについて、探索範囲をその都度切り換える処理は、かえって時間がかかることになる。そこで、以下に示す実施形態においては、所定数の縮小された階層マスク（以下縮小階層マスクという)を生成し、縮小画像階層化動き推定法における上位層の動きベクトルを下位層に適用する際に、かかる縮小階層マスクを、探索範囲外のブロックについては、初期ベクトルをゼロとするようなマスクとして利用し、これにより、探索範囲がブロックごとに異なることを可能とした。
【０１８４】
図１７に、階層マスクとして、階層３〜階層１までを用いた場合の、ブロックマッチング型探索処理部２０４の詳細ブロック図を示す。各部について説明する。なお、本実施形態においては、オリジナル画像として図１８Ａに示すデータとし、また、縮小した階層縮小マスクとして、図１９Ａに示す階層マスクが与えられたものとする。ここで、縮小階層マスクの数としては、階層数に応じて変化し、縮小していない階層マスクを含んで、計（階層数−１）個を生成する。これは、第ｎ層の動きベクトルを、第ｎ-1層に適用するときに、当該第ｎ-1層の、縮小階層マスクを用いるので、最終的には、階層数−１の縮小マスクが存在すればよいからである。
【０１８５】
図１７に示す縮小画面生成部９１１は、図１８Ａに示すオリジナル画像からブロックサイズはそのままにした１／４画像データを生成する。オリジナル画像（図１８Ａ）では、物体６０１は１ブロックとほぼ同じ大きさで表示されているが、１／４縮小画面（同図Ｂ）では、１／４に縮小されている（物体６１１〜６１４参照)。縮小画面生成部９２１は、縮小画面生成部９１１が生成した１／４画像データをさらに、１／４倍に縮小した１／１６画像を生成する。これにより図１８Ｃに示すように、オリジナルからすると、１／１６縮小画像として物体６２１〜６２４が生成される。
【０１８６】
図１７に示す縮小階層マスク生成部９０１は、縮小階層マスクを生成する。図１９Ａ，Ｂを用いて、縮小階層マスクの生成について説明する。オリジナルの階層マスク６４１（同図Ａ参照）から、縮小階層マスク６４２（同図Ｂ参照）を生成する。本実施形態においては、４つのブロックの右上を代表として他を間引くことにより、オリジナルの階層マスクを１／４に縮小するようにしたが、これに限定されない。
【０１８７】
図１７に示すブロックマッチング型探索処理部９１３は、縮小画像生成部９２１が生成した画像を用いて、ブロックマッチング型探索を行う。ここでは、かかる探索により、図２０Ａに示す動きベクトルＬＭＶ１ｓが得られたものとする。下位階層へのＭＶ転送処理部９１４は、この動きベクトルを下位層である階層２に適用する。具体的には、まず、従来と同様に、拡大処理をする（同図Ｂ参照）。そして、図１９Ｂに示す縮小階層マスクを用いて、マスキング処理をする。マスキング処理としては、当該階層よりも上位の階層であるブロックの領域を白抜きしたマスクとして扱われる。これにより、階層３において、探索範囲とはならなかったブロックについてはゼロベクトルとする初期ベクトルＬＭＶ１’ｓが得られる。図２０にかかる処理の概要を示す。
【０１８８】
図１７に示すブロックマッチング型探索処理部９２３は、縮小画像生成部９１１が生成した画像について、初期ベクトルＬＭＶ１’ｓを用いて探索を行なう。具体的には、初期ベクトルが与えられているブロックについては、当該初期ベクトルに基づいて特定されるブロックを中心に探索処理がなされる。初期ベクトルがゼロベクトルのブロックはそのブロックを中心に探索処理がなされる。
【０１８９】
ここでは、図２１Ａに示す動きベクトルＬＭＶ２ｓが得られたものとする。
【０１９０】
下位階層へのＭＶ転送処理部９２４は、この動きベクトルＬＭＶ２ｓを下位層に適用する。具体的には、まず、従来と同様に、拡大処理をする（同図Ｂ参照）。そして、図１９Ａに示す階層マスクを用いて、マスキング処理をする。マスキング処理において、この階層マスクは、当該階層よりも上位の階層であるブロックの領域を白抜きしたマスクとして扱われる。これにより、階層１において探索範囲とはならなかったブロックについてはゼロベクトルとする初期ベクトルＬＭＶ２’ｓが得られる(図２１Ｄ参照)。図２１にかかる処理の概要を示す。
【０１９１】
ブロックマッチング型探索処理部９３３は、オリジナル画像を用いて、初期ベクトルＬＭＶ２’ｓを用いてブロックマッチング型探索を行う。
【０１９２】
このようにして、本実施形態においては、階層マスクから生成した縮小マスクを用いて、不要なブロックについては初期ベクトルをゼロベクトルとするようにした。これにより、ブロックごとに範囲を変更する探索が可能となる。
【０１９３】
（５．他の実施形態)
本実施形態においては、順方向における動きベクトルを求める場合、すなわち、α＝１である場合について説明したが、αは0以外の整数、または分数であってもよい。たとえば、α＝−１の場合には、逆方向の動きベクトルを求めることとなる。
【０１９４】
また、順方向型探索装置である場合について説明したので、参照フレームが第nフレーム、対象フレームが第n+１フレームに該当する場合について説明した。これに対して、逆方向探索の場合は、対象フレームが第nフレーム、参照フレームが、第n+１フレームとなる。さらに、対称型探索装置に適用することもできる。その場合、例えば、第n+0.5フレームが対象フレームとなる。このように、対象フレームについては、限定されない。
【０１９５】
また、ブロック形状は、矩形に限定されることなく、任意の形状に適用可能である。これにより、オブジェクトの形状のブロックを定義して、ブロックマッチングするようにしてもよい。
【０１９６】
上記各実施形態においては、各ブロックで行っているアルゴリズムを、ハードウェア記述言語（Hardware Description Language）で記述することにより、各ブロックを構成すればよい。
【０１９７】
上記実施形態においては、図１、図５に示す機能を実現するために、並列処理を可能とするために、全てをハードウェア処理する場合について説明した（例えば、図２参照）。しかし、これに限定されず、一部をソフトウェアによって実現してもよい。その場合、プログラムの一部の処理を、オペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【０１９８】
上記開示した発明は下記のような装置として把握することができる。
【０１９９】
Ａ）第ｎフレームと第ｎ＋αフレームについて、それぞれ１画面を構成する画素を所定の矩形のブロックにブロック化して、ブロック別の動きベクトルであるローカル動きベクトルを求めるとともに、求めたブロックについてのローカル動きベクトルを計算対象ブロックのローカル動きベクトルとして与えるブロック別動きベクトル演算手段、Ｂ）前記計算対象ブロックのローカル動きベクトルが与えられると、各ブロックを注目ブロックとして、その周辺ブロックのローカル動きベクトルの平均と当該注目ブロックのローカル動きベクトルとの差分の絶対値に基づいて注目ブロックのローカル動きベクトルに重み付け係数を全計算対象ブロックについて演算するとともに、前記計算対象ブロックの各重み付け係数およびローカル動きベクトルから、最小二乗法によりグローバル動きベクトルの平行移動パラメータを演算する平行移動パラメータ演算手段、Ｃ）前記平行移動パラメータが与えられると、この平行移動パラメータおよび、平行移動、回転、ズームの４パラメータで表したアフィン変換式からグローバル動きベクトルの回転・ズームパラメータを求める回転・ズームパラメータ演算手段、Ｄ）前記平行移動パラメータ、および回転・ズームパラメータが与えられると、各ブロックについてのローカル動きベクトルに展開した展開後ローカル動きベクトルを演算する展開後動きベクトル手段、Ｅ）計算対象ブロックを選別するための閾値を記憶する閾値記憶手段、Ｆ）各ブロックについて、前記展開後ローカル動きベクトルと、前記ブロック別動きベクトル演算手段が演算したローカル動きベクトルとの差が前記閾値記憶手段に記憶された閾値内であるブロックを計算対象ブロックとして決定し、決定した計算対象ブロックについての前記ブロック別動きベクトル演算手段が演算したローカル動きベクトルを前記平行移動パラメータ演算手段に計算対象ブロックとして与える計算対象ブロック決定手段、Ｇ）計算対象ブロック決定手段の処理を所定回数繰り返し実行する手段であって、繰り返し回数が増える度に前記閾値を小さくして、前記繰り返し処理を行う繰り返し手段を備えたグローバル動きベクトル演算装置。
【０２００】
このように、最小二乗法によりグローバル動きベクトルの平行移動パラメータを演算し、この平行移動パラメータからアフィン変換式により、グローバル動きベクトルの回転・ズームパラメータを求めることにより、カメラワークにおける平行移動、回転・ズームパラメータを簡易に求めることができる。
【０２０１】
また、前記求めたグローバル動きベクトルのパラメータについて、閾値を変更しつつ計算対象ブロックを変更して繰り返し演算を行うことにより、より精度の高いグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータを求めることができる。
【０２０２】
Ａ）演算結果であるブロック別のローカル動きベクトルを記憶するローカル動きベクトル記憶手段、Ｂ）前記ブロックごとのローカル動きベクトルからグローバル動きベクトルの平行移動、回転、ズームの各パラメータを求めるグローバル動きベクトル演算手段、Ｃ）求めたグローバル動きベクトルを各ブロックのローカル動きベクトルに展開した展開ローカル動きベクトルを求める展開動きベクトル演算手段、Ｄ）計算対象ブロックを選別するための閾値を記憶する閾値記憶手段、Ｅ）各ブロックについて、前記ローカル動きベクトル記憶手段に記憶されたローカル動きベクトルと展開ローカル動きベクトルとの差分を求め、前記閾値を超えないブロックを対象ブロックとして決定する演算対象ブロック選定手段、Ｆ）前記対象ブロックとして決定されなったブロックを除外して、前記グローバル動きベクトル演算手段に新たなグローバル動きベクトルを求めさせる処理を、所定条件まで繰り返し実行する繰り返し手段を備えたグローバル動きベクトル演算装置。
【０２０３】
前記求めたグローバル動きベクトルのパラメータについて、繰り返し演算を行うことにより、より精度の高いグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータを求めることができる。
【０２０４】
前記繰り返し手段は、前記繰り返し回数が増える度に前記閾値を小さくして、前記繰り返し処理を行ってもよい。したがって、繰り返し回数が多くなるにつれて、計算対象ブロックをより適切な範囲に選択することができる。これにより、精度の高いグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータを求めることができる。
【０２０５】
前記グローバル動きベクトル演算手段は、1)前記計算対象ブロックのローカル動きベクトルが与えられると、各ブロックを注目ブロックとして、その周辺ブロックのローカル動きベクトルの平均と当該注目ブロックのローカル動きベクトルとの差分の絶対値に基づいて注目ブロックのローカル動きベクトルに重み付け係数を全計算対象ブロックについて演算するとともに、前記計算対象ブロックの各重み付け係数およびローカル動きベクトルから、最小二乗法によりグローバル動きベクトルの平行移動パラメータを演算する平行移動パラメータ演算手段、2)前記平行移動パラメータが与えられると、この平行移動パラメータおよび、平行移動、回転、ズームの４パラメータで表したアフィン変換式からグローバル動きベクトルの回転・ズームパラメータを求める回転・ズームパラメータ演算手段、で構成してもよい。
【０２０６】
したがって、簡易にグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータを求めることができる。
【０２０７】
前記重み付け係数は、注目ブロックおよびその周辺ブロックのローカル動きベクトルの平均と、当該注目ブロックのローカル動きベクトルとの差分の絶対値のべき乗としてもよい。したがって、疑いのあるブロックの寄与を限りなく小さくすることができる。
【０２０８】
Ａ）演算結果であるブロック別のローカル動きベクトルを記憶するローカル動きベクトルおよび計算対象ブロックを選別するための閾値を記憶しておき、Ｂ）前記ブロックごとのローカル動きベクトルからグローバル動きベクトルの平行移動、回転、ズームの各パラメータを求め、Ｃ）求めたグローバル動きベクトルを各ブロックのローカル動きベクトルに展開した展開ローカル動きベクトルを求め、Ｄ）各ブロックについて、前記記憶されているローカル動きベクトルと前記展開ローカル動きベクトルとの差分を求め、Ｅ）前記閾値と比較し、これを超えないブロックを対象ブロックとして決定し、Ｆ）前記対象ブロックとして決定されなったブロックを除外して、グローバル動きベクトルの平行移動、回転、ズームの各パラメータを求めさせる処理を、所定条件まで繰り返し実行するグローバル動きベクトル演算装置。
【０２０９】
前記求めたグローバル動きベクトルのパラメータについて、繰り返し演算を行うことにより、より精度の高いグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータを求めることができる。
【０２１０】
上記グローバル動きベクトル演算装置にさらに、Ｂ）前記グローバル動きベクトル演算装置から与えられたグローバル動きベクトルによって、第ｎフレームおよび第ｎ＋αフレームをカメラワーク補償した補償後第ｎフレームと補償後第ｎ＋αフレームを出力するカメラワーク補償手段、Ｃ）前記補償後第ｎフレームと補償後第ｎ＋αフレームを用いて、静止部分を特定するためのマスクを生成するマスク生成手段、Ｄ）前記マスクを用いて、前記補償後第ｎフレームと補償後第ｎ＋αフレームのブロックマッチング型探索処理を行い、マッチング結果に基づいて、ブロックごとのローカル動きベクトルを出力するブロックマッチング探索処理手段、Ｅ）前記ブロックマッチング探索処理手段から与えられたローカル動きベクトルと、前記補償後第ｎ、ｎ＋αフレームと、前記生成されたマスクを用いて、前記補償後第ｎフレームと補償後第ｎ＋αフレームの中間フレームを生成して出力する局所動き補償手段を備えたフレーム補間処理装置。
【０２１１】
したがって、より精度の高いグローバル動きベクトルの平行移動パラメータ、および回転・ズームパラメータによるカメラワーク補償が可能なフレーム補間処理が可能となる。
【図１】
2011101336.tif 000010
【図２】
2011101336.tif 000011
【図３】
2011101336.tif 000012
【図４】
2011101336.tif 000013
【図５】
2011101336.tif 000014
【図６】
2011101336.tif 000015
【図７】
2011101336.tif 000016
【図８】
2011101336.tif 000017
【図９】
2011101336.tif 000018
【図１０】
2011101336.tif 000019
【図１１】
2011101336.tif 000020
【図１２】
2011101336.tif 000021
【図１３】
2011101336.tif 000022
【図１４】
2011101336.tif 000023
【図１５】
2011101336.tif 000024
【図１６】
2011101336.tif 000025
【図１７】
2011101336.tif 000026
【図１８】
2011101336.tif 000027
【図１９】
2011101336.tif 000028
【図２０】
2011101336.tif 000029
【図２１】
2011101336.tif 000030