(57)【要約】【課題】カバード領域とアンカバード領域を少ない処理負荷で判別できるようにすると共に該カバード領域や該アンカバード領域において前景と背景の境界領域の劣化を減少できるようにする。【解決手段】補間フレームＦの生成画素Ｐの位置を通過するように第１の動きベクトルｖ１と第２の動きベクトルｖ２を平行移動し、該平行移動された第１の動きベクトルｖ１と第２の動きベクトルｖ２の始点と終点の各々４ヶ所の局所領域を探索領域とし、この探索領域から第１の動きベクトル又は第２の動きベクトルを特定するものである。これにより、補間フレームＦに画像データが存在しない隙間ができたり、画像データが重なる部分が出来てしまうという問題を防止できる。さらに誤った動きベクトルを選択してしまう可能性を減少させ、またカバード領域やアンカバード領域においても正しいフレーム補間を参照フレームが２フレームと少ないフレーム数で実現することができる。【選択図】図４
2010056629.tif 000002
【特許請求の範囲】
【請求項１】
動画像信号の第１参照フレームと、該第１参照フレームよりも時間的に過去の第２参照フレームとを所定のブロック単位に分割するブロック分割部と、
前記ブロック分割部により分割された前記第１参照フレームのブロックと前記第２参照フレームのブロックとの相関に基づきブロック単位の複数の動きベクトルを検出する動きベクトル検出部と、
前記動きベクトル検出部により検出された前記複数の動きベクトルの統計量を求め、該統計量から少なくとも第１の動きベクトルと第２の動きベクトルを求める候補ベクトル抽出部と、
前記候補ベクトル抽出部により求めた前記第１の動きベクトルと前記第２の動きベクトルからブロック毎に第１の動きベクトル又は第２の動きベクトルを推定するブロックの動き推定部と、
前記第１参照フレームと前記第２参照フレームとの間に設ける補間フレームの生成画素に対して、前記補間フレームの生成画素の位置を通過するように前記第１の動きベクトルと前記第２の動きベクトルを平行移動し、該平行移動された前記第１の動きベクトルと前記第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、前記ブロックの動き推定部により推定された第１の動きベクトル又は前記第２の動きベクトルを前記探索領域から特定する生成画素の動き推定部と、
前記生成画素の動き推定部により特定された前記第１の動きベクトル又は前記第２の動きベクトルを用いて前記生成画素に対して動き補償を行うフレーム補間部とを備えるフレーム補間装置。
【請求項２】
前記第１のベクトルは背景の動きを示して前記第２の動きベクトルは前景の動きを示す場合であって、
前記生成画素の動き推定部は、前記平行移動した前記第２の動きベクトルの終点の動きベクトルと前記第２の動きベクトルとが略等しく、かつ前記平行移動した前記第２の動きベクトルの始点の動きベクトルと前記第２の動きベクトルが略等しいと判定した場合、前記第２の動きベクトルに基づいて前記動き補償を行うための動きベクトルを求める請求項１に記載のフレーム補間装置。
【請求項３】
前記生成画素の動き推定部は、前記平行移動した前記第１の動きベクトルの終点の動きベクトルと前記第１の動きベクトルが略等しく、かつ前記平行移動した前記第１の動きベクトルの始点の動きベクトルと前記第１の動きベクトルが略等しいと判定した場合、前記第１の動きベクトルに基づいて前記動き補償を行うための動きベクトルを求める請求項２に記載のフレーム補間装置。
【請求項４】
前記生成画素の動き推定部は、前記平行移動した第２の動きベクトルの始点の動きベクトルと第１の動きベクトルが略等しいと判定した場合、前記第１の動きベクトルに基づいて、前記第２参照フレーム上の画素を引き寄せて前記動き補償を行うための動きベクトルを求める請求項３に記載のフレーム補間装置。
【請求項５】
前記生成画素の動き推定部は、前記平行移動した第２の動きベクトルの終点の動きベクトルと前記第１の動きベクトルが略等しいと判定した場合、前記第１の動きベクトルｖ１に基づいて、前記第１参照フレーム上の画素を引き寄せて前記動き補償を行うための動きベクトルを求める請求項４に記載のフレーム補間装置。
【請求項６】
前記動画像信号を第１の画像信号とし、該第１の画像信号の解像度を向上させた画像信号を第２の画像信号としたとき、
前記生成画素の動き推定部により特定された前記第１の動きベクトル又は前記第２の動きベクトルから、前記第２の画像信号における生成画素の位置の画素データが属するクラスを分類する第１のクラス分類部と、
前記第１のクラス分類部で分類されたクラス毎に予め求められ、前記第１の画像信号に対応した生徒信号と前記第２の画像信号に対応して高解像度の教師信号との誤差を最小にする係数データを保存する係数メモリと、
前記第２の画像信号における前記生成画素の位置の周辺に位置する画素データを前記第１の画像信号から選択する予測タップ選択部と、
前記係数メモリに保存された係数データおよび前記データ選択手段で選択された画素データを演算して前記第２の画像信号における前記生成画素データを求める演算部とを備える請求項１に記載のフレーム補間装置。
【請求項７】
前記第２の画像信号における前記生成画素の位置の周辺に位置する画素データを前記第１の画像信号から選択するクラスタップ選択部と、
前記クラスタップ選択部により選択された画素データのレベル分布から、前記第２の画像信号における生成画素の位置の画素データが属するクラスを検出する第２のクラス分類部とを備え、
前記係数メモリには、前記第１のクラス分類部で分類されたクラスと前記第２のクラス分類部で分類されたクラスを一つにしたクラス毎に予め求められ、前記第１の画像信号に対応した生徒信号と前記第２の画像信号に対応して高解像度の教師信号との誤差を最小にする係数データを保存する請求項６に記載のフレーム補間装置。
【請求項８】
前記第１の画像信号の空間方向に画素を補間する位相シフトフィルタを備え、
前記位相シフトフィルタは、前記第１の画像信号の空間方向に画素を補間した補間画像信号を生成して、前記予測タップ選択部及び前記クラスタップ選択部に前記補間画像信号を出力する請求項７に記載のフレーム補間装置。
【請求項９】
動画像の第１参照フレームと、該第１参照フレームと時間方向に異なる第２参照フレームとを所定のブロック単位に分割するステップと、
分割された前記第１参照フレームのブロックと前記第２参照フレームのブロックとの相関に基づきブロック単位の複数の動きベクトルを検出するステップと、
検出された前記複数の動きベクトルの統計量を求め、該統計量から少なくとも第１の動きベクトルと第２の動きベクトルを求めるステップと、
求めた前記第１の動きベクトルと前記第２の動きベクトルからブロック毎に第１の動きベクトル又は第２の動きベクトルを推定するステップと、
前記第１参照フレームと前記第２参照フレームとの間に設ける補間フレームの生成画素に対して、前記補間フレームの生成画素の位置を通過するように前記第１の動きベクトルと前記第２の動きベクトルを平行移動するステップと、
前記平行移動された前記第１の動きベクトルと前記第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、前記第１の動きベクトル又は前記第２の動きベクトルを前記探索領域から推定するステップと、
推定された前記第１の動きベクトル又は前記第２の動きベクトルを用いて前記生成画素に対して動き補償を行うステップとを有するフレーム補間方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の再生に当たって表示フレーム間隔を短くするために隣接フレーム間に少なくとも一つ以上の生成フレームを生成するフレーム補間装置及びフレーム補間方法に関するものである。詳しくは、補間フレームの生成画素の位置を通過するように第１の動きベクトルと第２の動きベクトルを平行移動し、該平行移動された第１の動きベクトルと第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、この探索領域から第１の動きベクトル又は第２の動きベクトルを特定することにより、カバードバックグラウンド領域とアンカバードバックグラウンド領域を少ない処理負荷で判別できるようにすると共に該カバード領域や該アンカバード領域において前景と背景の境界領域の劣化を減少できるようにしたものである。
【背景技術】
【０００２】
近年、液晶ディスプレイや有機ＥＬディスプレイが普及してきている。このような、新たに画像の書き込みが行われるまでに前フレームの表示し続けるホールド型ディスプレイでは、動画表示に際して動体の動きに観察者の眼が追従することによるボケ現象の発生と、コマ数の少ない動画を表示する場合に不自然な動きが生じるという動きジャーキネスの問題がある。
【０００３】
これらの問題を解決するには、表示フレームの間隔を短くすれば良いが、そのためには、隣接するフレーム間より、新たなフレームを補間して生成する必要がある。その補間フレームの具体的な生成方法としてブロックマッチングなどにより動きベクトルを求め、動き補償を行うことにより補間フレームを求めるとこができる。
【０００４】
しかしながら、この方法では、動き物体の前後に発生するカバードバックグランド領域とアンカバードバックグラウンド領域では、動きベクトルが探索できなくなり、正しい補間ができないという問題があった。
【０００５】
この問題を解決するために、このカバードバックグランド領域とアンカバードバックグラウンド領域を考慮したフレーム補間方法として、特許文献１には、カバード・アンカバード領域でも正しいフレーム補間を行うフレーム補間方法が開示されている。この特許文献１のフレーム補間方法によれば、平行移動した第１及び第２の動きベクトルにより指し示される局所領域を探索領域として検出してこの探索領域に基づいて４フレームの参照フレームを用いてカバード領域及びアンカバード領域を検出して動き補償を行うことにより補間フレームを生成する。
【特許文献１】特開２００４−１２８７０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のフレーム補間方法では４フレームの参照フレーム数を必要とするために、ハードウェア規模の増大やシステムディレイ（入力画像が入力されてから出力画像が出力されるまでの時間差）が発生するという問題があった。
【０００７】
そこで、本発明はこのような課題を解決したものであって、カバードバックグラウンド領域とアンカバードバックグラウンド領域を少ない処理負荷で判別できるようにすると共に該カバード領域や該アンカバード領域において前景と背景の境界領域の劣化を減少できるようにしたフレーム補間装置及びフレーム補間方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために本発明に係るフレーム補間装置は、動画像信号の第１参照フレームと、該第１参照フレームよりも時間的に過去の第２参照フレームとを所定のブロック単位に分割するブロック分割部と、前記ブロック分割部により分割された前記第１参照フレームのブロックと前記第２参照フレームのブロックとの相関に基づきブロック単位の複数の動きベクトルを検出する動きベクトル検出部と、前記動きベクトル検出部により検出された前記複数の動きベクトルの統計量を求め、該統計量から少なくとも第１の動きベクトルと第２の動きベクトルを求める候補ベクトル抽出部と、前記候補ベクトル抽出部により求めた前記第１の動きベクトルと前記第２の動きベクトルからブロック毎に第１の動きベクトル又は第２の動きベクトルを推定するブロックの動き推定部と、前記第１参照フレームと前記第２参照フレームとの間に設ける補間フレームの生成画素に対して、前記補間フレームの生成画素の位置を通過するように前記第１の動きベクトルと前記第２の動きベクトルを平行移動し、該平行移動された前記第１の動きベクトルと前記第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、前記ブロックの動き推定部により推定された第１の動きベクトル又は前記第２の動きベクトルを前記探索領域から特定する生成画素の動き推定部と、前記生成画素の動き推定部により特定された前記第１の動きベクトル又は前記第２の動きベクトルを用いて前記生成画素に対して動き補償を行うフレーム補間部とを備えるものである。
【０００９】
本発明に係るフレーム補間装置によれば、動きベクトル検出部は、第１参照フレームのブロックと第２参照フレームのブロックとの相関に基づきブロック単位の複数の動きベクトルを検出する。候補ベクトル抽出部は、動きベクトル検出部により検出された複数の動きベクトルの統計量を求め、該統計量から少なくとも第１の動きベクトルと第２の動きベクトルを求める。ブロックの動き推定部は、候補ベクトル抽出部により求めた第１の動きベクトルと第２の動きベクトルからブロック毎に第１の動きベクトル又は第２の動きベクトルを推定する。生成画素の動き推定部は、第１参照フレームと第２参照フレームとの間に設ける補間フレームの生成画素に対して、補間フレームの生成画素の位置を通過するように第１の動きベクトルと第２の動きベクトルを平行移動する。そして、該平行移動された第１の動きベクトルと第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、ブロックの動き推定部により推定された第１の動きベクトル又は第２の動きベクトルを探索領域から特定する。これにより、カバードバックグラウンド領域とアンカバードバックグラウンド領域を少ない処理負荷で判別できるようになると共に、該カバード領域や該アンカバード領域において前景と背景の境界領域の劣化を減少できるようになる。
【００１０】
上述した課題を解決するために、本発明に係るフレーム補間方法は、動画像の第１参照フレームと、該第１参照フレームと時間方向に異なる第２参照フレームとを所定のブロック単位に分割するステップと、分割された前記第１参照フレームのブロックと前記第２参照フレームのブロックとの相関に基づきブロック単位の複数の動きベクトルを検出するステップと、検出された前記複数の動きベクトルの統計量を求め、該統計量から少なくとも第１の動きベクトルと第２の動きベクトルを求めるステップと、求めた前記第１の動きベクトルと前記第２の動きベクトルからブロック毎に第１の動きベクトル又は第２の動きベクトルを推定するステップと、前記第１参照フレームと前記第２参照フレームとの間に設ける補間フレームの生成画素に対して、前記補間フレームの生成画素の位置を通過するように前記第１の動きベクトルと前記第２の動きベクトルを平行移動するステップと、前記平行移動された前記第１の動きベクトルと前記第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、前記第１の動きベクトル又は前記第２の動きベクトルを前記探索領域から推定するステップと、推定された前記第１の動きベクトル又は前記第２の動きベクトルを用いて前記生成画素に対して動き補償を行うステップとを有するものである。
【発明の効果】
【００１１】
本発明に係るフレーム補間装置及びフレーム補間方法によれば、補間フレームの生成画素の位置を通過するように第１の動きベクトルと第２の動きベクトルを平行移動し、該平行移動された第１の動きベクトルと第２の動きベクトルの始点と終点の各々４ヶ所の局所領域を探索領域とし、この探索領域から第１の動きベクトル又は第２の動きベクトルを特定するものである。
【００１２】
この構成によって、補間フレームに画像データが存在しない隙間ができたり、画像データが重なる部分が出来てしまうという問題を防止できる。さらに誤った動きベクトルを選択してしまう可能性を減少させ、またカバードバックグランド領域やアンカバードバックグランド領域においても正しいフレーム補間を参照フレームが２フレームと少ないフレーム数にて実現することができる。
【発明を実施するための最良の形態】
【００１３】
続いて、図面を参照しながら本発明に係るフレーム補間装置及びフレーム補間方法の実施形態について説明する。この例では、入力画像信号（動画像信号）Ｄｉｎが６０Ｈｚのプログレッシブ信号であり、この６０Ｈｚのプログレッシブ信号に対して隣接する２つの参照フレームｎ、ｎ−１の時間的中央位置（補間フレーム面）に補間フレームを生成する。そして、この補間フレームを２つの参照フレームｎと参照フレームｎ−１間に内挿することにより１２０Ｈｚのプログレッシブ信号に変換する場合を説明する。
【００１４】
図１は、本発明に係る第１の実施形態としてのフレーム補間装置１００の構成例を示すブロック図である。図２は、生成する補間フレームＦの補間位置を示す概略図である。図２に示すように補間フレームＦを内挿する２つのフレームを参照フレームｎ及び参照フレームｎ−１とする。参照フレームｎと参照フレームｎ−１の時間的中央位置に補間フレームＦを内挿するものとする。ここでは、内挿する位置及び枚数に関しては、特に限定するものではない。
【００１５】
図１に示すフレーム補間装置１００は、動きベクトル検出部１、候補ベクトル抽出部２、(ｎ−１)→(ｎ)動き推定部３、(ｎ)→(ｎ−１)動き推定部４、生成画素の動き推定部５及びフレーム補間部６を備えている。
【００１６】
図１に示す動きベクトル検出部１は、ブロックマッチングや勾配法などの一般的な８×８画素程度のブロック単位で動きベクトルを求める。この例で、不図示のブロック分割部により参照フレームｎ−１、ｎが所定のブロック単位に分割されている。
【００１７】
動きベクトル検出部１は、参照フレームｎ−１から対象ブロックを選択し、参照フレームｎから探索範囲を選択する。この対象ブロックと探索範囲の複数の探索ブロックをブロックマッチングして、例えば差分絶対値総和が最小を示す探索ブロックを示すベクトルを該対象ブロックの動きベクトルとする。ここで求まった動きベクトルを一旦不図示のメモリに蓄える。
【００１８】
候補ベクトル抽出部２は、先ず背景動きを求めるために、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにする。このヒストグラムの最大値を示す動きベクトルを背景の動きを示す背景ベクトルとする。次に候補ベクトル抽出部２は、生成画素を含む対象ブロックＢＫn-1（例えば図３Ａ参照）の周辺の動きベクトルをヒストグラムにして、例えばヒストグラムの最大値の動きベクトルと極大値２位の動きベクトルを求める。前に求めた背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求める。すなわち、候補ベクトル抽出部２は、対象ブロックＢＫn-1の候補ベクトルとして背景の動きを示す第１の動きベクトルと、オブジェクトなどの前景を示す第２の動きベクトルを求めて(ｎ−１)→(ｎ)動き推定部３及び(ｎ)→(ｎ−１)動き推定部４に出力する。
【００１９】
なお、第１及び第２の動きベクトルに限らず、第３の動きベクトルを求めても良い。第３の動きベクトルを求める方法としては、極大値３位又は静止を第３の動きベクトルとする。静止の動きベクトルが候補として選ばれなかった場合、画像の劣化として目立ち易いためである。
【００２０】
(ｎ−１)→(ｎ)動き推定部３は、対象ブロックＢＫn-1の第１及び第２の動きベクトルが示すブロックとこの対象ブロックＢＫn-1の相関を求める。例えば、図３Ａに示す参照フレームｎ−１の対象ブロックＢＫn-1の第１及び第２の動きベクトルが示す参照フレームｎのブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫn-1との差分絶対値和を求める。図３Ａは、(ｎ−１)→(ｎ)動き推定部３の動作例を示す概略図である。(ｎ−１)→(ｎ)動き推定部３は、この差分絶対値和が小さい方の動きベクトルを選択する。ここで、図４に示す参照フレームｎ−１におけるカバードバックグラウンド領域（以下カバード領域という）では、動きベクトルを求める対象となる画素が参照フレームｎ上に存在しないため正しい動きベクトルは求まらない。ここに、カバード領域とは、前景（オブジェクト）が移動することにより隠れる領域である。
【００２１】
(ｎ)→(ｎ−１)動き推定部４は、対象ブロックＢＫnの第１及び第２の動きベクトルが示すブロックとこの対象ブロックＢＫnの相関を求める。ここで(ｎ)→(ｎ−１)動き推定部４は、候補ベクトル抽出部２で求めた第１及び第２の動きベクトルと逆向きのベクトルを第１及び第２の動きベクトルとして扱う。例えば、図３Ｂに示す参照フレームｎの対象ブロックＢＫnの第１及び第２の動きベクトルが示す参照フレームｎ−１のブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫnとの差分絶対値和を求める。図３Ｂは、(ｎ)→(ｎ−１)動き推定部４の動作例を示す概略図である。(ｎ)→(ｎ−１)動き推定部４は、この差分絶対値和が小さい方の動きベクトルを選択する。ここでも同様に図４に示す参照フレームｎにおけるアンカバードバックグラウンド領域（以下アンカバード領域という）では、動きベクトルを求める対象となる画素が存在しないため正しい動きベクトルは求まらない。ここに、アンカバード領域とは、前景（オブジェクト）が移動することにより現れる領域である。
【００２２】
図１に示す生成画素の動き推定部５は、図４に示す補間フレームＦの生成画素Ｐの動きベクトルを求める。この例では、画素を引き寄せる次の（１）〜（４）の４つの状態を判別する。（１）としては第１の動きベクトルによって参照フレームｎと参照フレームｎ−１から画素を引き寄せる状態である。（２）としては第２の動きベクトルによって参照フレームｎと参照フレームｎ−１から画素を引き寄せる状態である。（３）としては第１の動きベクトルによって参照フレームｎ（アンカバード領域）からのみ画素を引き寄せる状態である。（４）としては第２の動きベクトルによって参照フレームｎ−１（カバード領域）からのみ画素を引き寄せる状態である。これらの（１）〜（４）の状態の判別方法は、図４〜図６で詳細に説明する。生成画素の動き推定部５は、図４に示す補間フレームＦの生成画素Ｐの動きベクトルをフレーム補間部６に出力する。フレーム補間部６は、生成画素の動き推定部５から出力された動きベクトルに基づいて参照フレームｎ−１、ｎから画素を引き寄せて補間フレームＦの生成画素Ｐを生成する。
【００２３】
続いて、補間フレームＦの生成画素Ｐの動きベクトルを求める方法について説明する。図４及び図５は、生成画素の動き推定部５により補間フレームＦの生成画素Ｐの動きベクトルを求める方法を示す概略図である。図４及び図５に示す動きベクトルｖ１は第１の動きベクトルを示す。これは、ブロックマッチング結果を周辺又は全画面のヒストグラム等で求めた主に背景動きを示す動きベクトルである。動きベクトルｖ２は、第２の動きベクトルを示す。これは、周辺のブロックマッチング結果の周辺のヒストグラムによる結果での動きベクトルｖ１を除く最大の極大値等で求めた主に前景動きを示す動きベクトルである。
【００２４】
生成画素の動き推定部５は、参照フレームｎ−１と参照フレームｎとの間に設ける補間フレームＦの生成画素Ｐに対して、補間フレームＦの生成画素Ｐの位置を通過するように第１の動きベクトルｖ１と第２の動きベクトルｖ２を平行移動する。そして、平行移動された第１の動きベクトルｖ１と第２の動きベクトルｖ２の始点と終点の各々４ヶ所の局所領域を探索領域とし、該動き推定部３、４により推定された動きベクトルを探索領域から特定する。
【００２５】
先ず動きベクトルｖ１を平行移動させて、補間フレームＦでの生成画素Ｐの位置を通過させる。この生成画素Ｐの位置を通過した動きベクトルｖ１の始点と終点の動きベクトルを参照する。例えば、始点である参照フレームｎ−１から終点である参照フレームｎの方向に求めた動きベクトルを動きベクトルｖ１ｎ−１とし、参照フレームｎから参照フレームｎ−１方向に求めた動きベクトルを動きベクトルｖ１ｎとする。
【００２６】
また、動きベクトルｖ２を平行移動させて、補間フレームＦでの生成画素Ｐの位置を通過させる。この生成画素Ｐの位置を通過した動きベクトルｖ２の始点と終点の動きベクトルを参照する。例えば、始点である参照フレームｎ−１から終点である参照フレームｎの方向に求めた動きベクトルを動きベクトルｖ２ｎ−１とし、参照フレームｎから参照フレームｎ−１の方向に求めた動きベクトルを動きベクトルｖ２ｎとする。これらの動きベクトルｖ１ｎ−１、ｖ１ｎ、ｖ２ｎ−１、ｖ２ｎを用いて補間フレームＦの生成画素Ｐの動きベクトルを求める。
【００２７】
続いて、この補間フレームＦの生成画素Ｐの動きベクトルの求め方について説明する。図６は、生成画素の動き推定部５の動作例（その１）を示すフローチャートである。図６に示すステップＳＴ１で、生成画素の動き推定部５は、図４に示す動きベクトルｖ２ｎと動きベクトルｖ２が略等しく、かつ動きベクトルｖ２ｎ−１と動きベクトルｖ２が略等しいか否かを判定する。すなわち、前景Ｑの動きを示す第２の動きベクトルｖ２が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ２ｎ−１と参照フレームｎ上の動きベクトルｖ２ｎが第２の動きベクトルｖ２に略等しいか否かを判定する。該動きベクトルｖ２ｎ−１、ｖ２ｎが第２の動きベクトルｖ２に略等しいと判断した場合、ステップＳＴ２に移行する。
【００２８】
ステップＳＴ２で、生成画素の動き推定部５は、第２の動きベクトルｖ２が補間フレームＦの生成画素Ｐを通過すると判断する。そして、該第２の動きベクトルｖ２に基づいて参照フレームｎ−１、ｎ上の画素Ｐ３、Ｐ４を生成画素Ｐとして引き寄せるための動きベクトルを求める。図８Ａに示すように(ｎ−１)→(ｎ)動き推定部３により求めた動きベクトルｖ２ｎ−１を距離比ｂ／ａに設定する。また、(ｎ)→(ｎ−１)動き推定部４により求めた動きベクトルｖ２ｎを距離比(ａ−ｂ)／ａに設定する。例えば補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、動きベクトルｖ２ｎの大きさを２分の１にすると共に動きベクトルｖ２ｎ−１の大きさを２分の１にする。なお、図８Ａは、カバード・アンカバード領域以外におけるフレームレート変換方法を示す概略図である。図８Ａに示す補間フレームＦと参照フレームｎ−１、ｎとの距離比をａ及びｂを用いて示している。続いてステップＳＴ１０に移行する。
【００２９】
ステップＳＴ１０で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ２ｎ、ｖ２ｎ−１により画素Ｐ３、Ｐ４を動き補償して該画素Ｐ３、Ｐ４の画素値を足し合わせて平均して生成画素Ｐを求める。
【００３０】
また、上述のステップＳＴ１で、動きベクトルｖ２ｎ−１、ｖ２ｎが第２の動きベクトルｖ２に等しくないと判断した場合、ステップＳＴ３に移行する。ステップＳＴ３で、生成画素の動き推定部５は、動きベクトルｖ１ｎと動きベクトルｖ１が略等しく、かつ動きベクトルｖ１ｎ−１と動きベクトルｖ１が略等しいか否かを判定する。すなわち、背景の動きを示す第１の動きベクトルｖ１が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ１ｎ−１と参照フレームｎ上の動きベクトルｖ１ｎが第１の動きベクトルｖ１に略等しいか否かを判定する。該動きベクトルｖ１ｎ−１、ｖ１ｎが第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ４に移行する。
【００３１】
ステップＳＴ４で、生成画素の動き推定部５は、第１の動きベクトルｖ１が補間フレームＦの生成画素Ｐを通過すると判断する。そして、該第１の動きベクトルｖ１に基づいて参照フレームｎ−１、ｎ上の画素Ｐ１、Ｐ２を生成画素Ｐとして引き寄せるための動きベクトルを求める。図８Ａに示すように(ｎ−１)→(ｎ)動き推定部３により求めた動きベクトルｖ１ｎ−１を距離比ｂ／ａに設定する。また、(ｎ)→(ｎ−１)動き推定部４により求めた動きベクトルｖ１ｎを距離比(ａ−ｂ)／ａに設定する。例えば補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、動きベクトルｖ１ｎの大きさを２分の１にすると共に動きベクトルｖ１ｎ−１の大きさを２分の１にする。続いてステップＳＴ１０に移行する。
【００３２】
ステップＳＴ１０で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ１ｎ、ｖ１ｎ−１により画素Ｐ１、Ｐ２を動き補償して該画素Ｐ１、Ｐ２の画素値を足し合わせて平均して生成画素Ｐを求める。
【００３３】
また、上述のステップＳＴ３で、動きベクトルｖ１ｎ−１、ｖ１ｎが第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ５に移行する。ステップＳＴ５で、生成画素の動き推定部５は、動きベクトルｖ２ｎ−１と第１の動きベクトルｖ１が略等しいか否かを判定する。すなわち、前景Ｑの動きを示す第２の動きベクトルｖ２を生成画素Ｐが通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ２ｎ−１が第１の動きベクトルｖ１に略等しいか否かを判定する。該動きベクトルｖ２ｎ−１が第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ６に移行する。
【００３４】
ステップＳＴ６で、生成画素の動き推定部５は、アンカバード領域と判断する。そして、該第１の動きベクトルｖ１に基づいて参照フレームｎ上の画素Ｐ１を生成画素Ｐとして引き寄せるための動きベクトルを求める。図８Ｂに示すように(ｎ)→(ｎ−１)動き推定部４により求めた動きベクトルｖ１を距離比(ａ−ｂ)／ａに設定する。例えば、補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、第１の動きベクトルｖ１の大きさを２分の１にする。なお、図８Ｂは、カバード・アンカバード領域におけるフレームレート変換方法を示す概略図である。続いてステップＳＴ１０に移行する。
【００３５】
ステップＳＴ１０で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ１により画素Ｐ１を動き補償した画素Ｐ１の画素値を生成画素Ｐの画素値とする。
【００３６】
また、上述のステップＳＴ５で、生成画素の動き推定部５は、動きベクトルｖ２ｎ−１が第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ７に移行する。ステップＳＴ７で、生成画素の動き推定部５は、動きベクトルｖ２ｎと第１の動きベクトルｖ１が略等しいか否かを判定する。すなわち、前景Ｑの動きを示す第２の動きベクトルｖ２が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ上の動きベクトルｖ２ｎが第１の動きベクトルｖ１に略等しいか否かを判定する。図５に示すように該動きベクトルｖ２ｎが第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ８に移行する。
【００３７】
ステップＳＴ８で、生成画素の動き推定部５は、カバード領域と判断する。そして第１の動きベクトルｖ１に基づき、図５に示す参照フレームｎ−１上の画素Ｐ５を生成画素Ｐとして引き寄せるための動きベクトルを求める。例えば、補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、第１の動きベクトルｖ１の大きさを２分の１にしてステップＳＴ１０に移行する。ステップＳＴ１０で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ１により画素Ｐ５を動き補償した画素Ｐ５の画素値を生成画素Ｐの画素値とする。
【００３８】
また、上述のステップＳＴ７で、図５に示す動きベクトルｖ２ｎが第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ９に移行する。ステップＳＴ９で、生成画素の動き推定部５は、上述した（１）〜（４）４つの状態のいずれにも該当しない場合、例えば参照フレームｎ−１と参照フレームｎから生成画素Ｐと同一位置の画素及びその周辺画素の画素値を平均して生成画素Ｐとする。もちろん、他の算出方法でもよい。
【００３９】
なお、図６に示したフローチャートは、これに限らず例えばステップＳＴ１の判定とステップＳＴ３の判定を入れ替えてもよい。すなわち、先にステップＳＴ３の判定を行って次にステップＳＴ１の判定を行うようにしてもよい。同様に、ステップＳＴ５の判定とステップＳＴ７の判定を入れ替えてもよい。すなわち、先にステップＳＴ７の判定を行って次にステップＳＴ５の判定を行うようにしてもよい。
【００４０】
図７は、生成画素の動き推定部５の動作例（その２）を示すフローチャートである。この例では、カバード・アンカバード領域の判定を図６に示したフローチャートよりも精度よく行うために判定条件を追加している。
【００４１】
図７に示すステップＳＴ３１及びステップＳＴ３３は、上述のステップＳＴ１及びステップＳＴ３と同じ処理である。ステップＳＴ３５で、生成画素の動き推定部５は、前景Ｑの動きを示す第２の動きベクトルｖ２を生成画素Ｐが通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ２ｎ−１と第１の動きベクトルｖ１が略等しいか否かを判定する。さらに、前景Ｑの動きベクトルｖ１ｎ−１と第２の動きベクトルｖ２が略等しいか否かを判定する。これにより、前景Ｑの動きが第２の動きベクトルｖ２に相当することが判断できるので、アンカバード領域を明確にすることができる。また、参照フレームｎ上の動きベクトルｖ１ｎと第２の動きベクトルｖ２が等しくないか否かを判定する。上述の３つの条件を満たした場合にステップＳＴ３６に移行する。
【００４２】
また、ステップＳＴ３７で、生成画素の動き推定部５は、前景Ｑの動きを示す第２の動きベクトルｖ２が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ上の動きベクトルｖ２ｎと第１の動きベクトルｖ１が略等しいか否かを判定する。さらに、前景Ｑの動きベクトルｖ１ｎと第２の動きベクトルｖ２が略等しいか否かを判定する。これにより、前景Ｑの動きが第２の動きベクトルｖ２に相当することが判断できるので、カバード領域を明確にすることができる。また、参照フレームｎ−１上の動きベクトルｖ１ｎ−１と第２の動きベクトルｖ２が等しくないか否かを判定する。上述の３つの条件を満たした場合にステップＳＴ３８に移行する。
【００４３】
なお、図７に示すステップＳＴ３２、ＳＴ３４、ＳＴ３６、ＳＴ３８、ＳＴ３９及びＳＴ４０は図６に示したフローチャートの対応するステップに相当する。このように、カバード・アンカバード領域の判定条件を追加することで、精度よくカバード・アンカバード領域を判定できるようになる。
【００４４】
図９は、フレーム補間装置１００の動作例を示すフローチャートである。図９に示すステップＳＴ５１で、図１に示した動きベクトル検出部１は、例えば８×８画素程度のブロック単位でブロックマッチングにより動きベクトルを検出してステップＳＴ５２に移行する。
【００４５】
ステップＳＴ５２で、候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにする。このヒストグラムの最大値を示す動きベクトルを背景の動きを示す背景ベクトルとする。候補ベクトル抽出部２は、生成画素を含む対象ブロックＢＫn-1（例えば図３Ａ参照）の周辺の動きベクトルをヒストグラムにする。そして、例えばこのヒストグラムの最大値の動きベクトルと極大値２位の動きベクトルを求める。前に求めた背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求めてステップＳＴ５３に移行する。
【００４６】
ステップＳＴ５３で、(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１と参照フレームｎとの間において画素単位で動きベクトルを特定する。例えば、参照フレームｎ−１の対象ブロックＢＫn-1の第１及び第２の動きベクトルが示す参照フレームｎのブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫn-1の差分絶対値和を求める。そして、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ５４に移行する。
【００４７】
ステップＳＴ５４で、(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎと参照フレームｎ−１との間において画素単位で動きベクトルを特定する。例えば、参照フレームｎの対象ブロックＢＫnの第１及び第２の動きベクトルが示す参照フレームｎ−１のブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫnの差分絶対値和を求め、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ５５に移行する。
【００４８】
ステップＳＴ５５で、生成画素の動き推定部５は、生成画素Ｐの位置において、参照フレームｎ、ｎ−１の動きベクトルの特定結果を引き寄せしてカバード・アンカバード（Ｃ／ＵＣ）判定を行う（図４〜図６参照）。続いてステップＳＴ５６に移行する。
【００４９】
ステップＳＴ５６で、フレーム補間部６は、生成画素の動き推定部５から出力された動きベクトルに基づいて参照フレームｎ−１、ｎから画素を引き寄せて補間フレームＦの生成画素Ｐを生成してステップＳＴ５７に移行する。ステップＳＴ５７で、入力画像信号（動画像信号）Ｄｉｎが終了したか否かを判定する。入力画像信号Ｄｉｎが終了していない場合ステップＳＴ５１に戻る。入力画像信号（動画像信号）Ｄｉｎが終了した場合には処理の終了となる。
【００５０】
このように、第１の実施形態としてのフレーム補間装置１００及びフレーム補間方法によれば、補間フレームＦの生成画素Ｐの位置を通過するように第１の動きベクトルｖ１と第２の動きベクトルｖ２を平行移動し、該平行移動された第１の動きベクトルｖ１と第２の動きベクトルｖ２の始点と終点の各々４ヶ所の局所領域を探索領域とし、この探索領域から第１の動きベクトル又は第２の動きベクトルを特定するものである。
【００５１】
この構成によって、補間フレームＦに画像データが存在しない隙間ができたり、画像データが重なる部分が出来てしまうという問題を防止できる。さらに誤った動きベクトルを選択してしまう可能性を減少させ、またカバードバックグランド領域やアンカバードバックグランド領域においても正しいフレーム補間を参照フレームが２フレームと少ないフレーム数にて実現することができる。
【００５２】
なお、図１０は、第１の動きベクトルｖ１と第２の動きベクトルｖ２の両方を生成画素Ｐの通過として判定する、いわゆる突き抜け現象を示している。例えば、テロップなどの動きボケの少ない画像や高速シャッターを切った小さな物体が高速で通過するケースでは、図１０に示すように第１の動きベクトルｖ１と第２の動きベクトルｖ２の両方で通過と判定可能な場合がある。場合によっては間違った動きを選択するために補間画像において大きな劣化となるケースがある。この場合には、概ね物体動きを優先させた方が劣化となるケースが少ないため、物体動きを優先させた方が望ましい。従って、図６及び図７に示したフローチャートでは、物体動きを示す第２の動きベクトルｖ２の判定を優先している。これにより、突き抜け現象の場合には、図６に示したステップＳＴ１で、動きベクトルｖ２ｎ−１、ｖ２ｎが第２の動きベクトルｖ２に略等しいと判断してステップＳＴ２に移行する。ステップＳＴで、第２の動きベクトルｖ２が補間フレームＦの生成画素Ｐを通過すると判断する。そして、第２の動きベクトルｖ２に基づいて参照フレームｎ−１、ｎ上の画素Ｐ３、Ｐ４を生成画素Ｐとして引き寄せる。
【００５３】
上述の説明では、生成画素Ｐの動き推定をするために第１の動きベクトルと第２の動きベクトルを用いた。図１１及び図１２に示す実施形態では、第１〜第３の動きベクトルを用いて生成画素Ｐの動き推定を行う例について説明する。
【００５４】
図１１は、生成画素の動き推定部５により補間フレームＦの生成画素Ｐの動きベクトルを求める方法を示す概略図である。図１１に示す第１の動きベクトルｖ１は、ブロックマッチング結果を周辺又は全画面のヒストグラム等で求めた主に背景動きを示す動きベクトル値である。第２の動きベクトルＶ２は、周辺のブロックマッチング結果の周辺のヒストグラムによる結果において、動きベクトルｖ１を除く最大の極大値等で求める。第３の動きベクトルｖ３は、ヒストグラムでの極大値３位または静止ベクトルを用いる。
【００５５】
次に、図１１に示す補間フレームＦにおける生成画素Ｐの位置を通過するように動きベクトルｖ１を平行移動する。平行移動された動きベクトルｖ１の始点と終点の動きベクトルを参照して動きベクトルｖ１ｎ−１及び動きベクトルｖ１ｎを求める。また、生成画素Ｐの位置を通過するように動きベクトルｖ２を平行移動する。平行移動された動きベクトルｖ２の始点と終点の動きベクトルを参照して動きベクトルｖ２ｎ−１及び動きベクトルｖ２ｎを求める。更に、生成画素Ｐの位置を通過するように動きベクトルｖ３を平行移動する。平行移動された動きベクトルｖ３の始点と終点の動きベクトルを参照して動きベクトルｖ３ｎ−１及び動きベクトルｖ３ｎを求める。
【００５６】
続いて、第１の動きベクトルｖ１〜第３の動きベクトルｖ３に基づいて、補間フレームＦの生成画素Ｐの動きベクトルの求め方について説明する。図１２は、生成画素の動き推定部５の動作例（その３）を示すフローチャートである。図１２に示すステップＳＴ１５０で、生成画素の動き推定部５は、図１１に示す動きベクトルｖ３ｎと動きベクトルｖ３が略等しく、かつ動きベクトルｖ３ｎ−１と動きベクトルｖ３が略等しいか否かを判定する。すなわち、例えば静止を示す第３の動きベクトルｖ３が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ３ｎ−１と参照フレームｎ上の動きベクトルｖ３ｎが第３の動きベクトルｖ３に略等しいか否かを判定する。該動きベクトルｖ３ｎ−１、ｖ３ｎが第３の動きベクトルｖ３に略等しいと判断した場合、ステップＳＴ１５１に移行する。
【００５７】
ステップＳＴ１５１で、生成画素の動き推定部５は、第３の動きベクトルｖ３が補間フレームＦの生成画素Ｐを通過すると判断する。そして、該第３の動きベクトルｖ３に基づいて参照フレームｎ−１、ｎ上の画素Ｐ６、Ｐ７を生成画素Ｐとして引き寄せるための動きベクトルを求める。続いてステップＳＴ１８１に移行する。
【００５８】
ステップＳＴ１８１で、フレーム補間部６は、動き推定部５により求めた動きベクトルにより動き補償した画素Ｐ６、Ｐ７の画素値を足し合わせて平均して生成画素Ｐを求める。
【００５９】
また、上述のステップＳＴ１５０で、動きベクトルｖ３ｎ−１、ｖ３ｎが第３の動きベクトルｖ３に等しくないと判断した場合、ステップＳＴ１５２に移行する。なお、ステップＳＴ１５２〜ステップＳＴ１５９は、図６に示したステップＳＴ１〜ステップＳＴ８に対応するため、その説明は省略する。
【００６０】
ステップＴ１６０で、生成画素の動き推定部５は、動きベクトルｖ３ｎ−１と第１の動きベクトルｖ１が略等しいか否かを判定する。すなわち、例えば静止を示す第３の動きベクトルｖ３を生成画素Ｐが通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ３ｎ−１が第１の動きベクトルｖ１に略等しいか否かを判定する。該動きベクトルｖ３ｎ−１が第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ１６１に移行する。
【００６１】
ステップＳＴ１６１で、生成画素の動き推定部５は、アンカバード領域と判断する。そして、該第１の動きベクトルｖ１に基づいて参照フレームｎ上の画素を生成画素Ｐとして引き寄せるための動きベクトルを求める。続いてステップＳＴ１８１に移行する。ステップＳＴ１８１で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ１により動き補償した画素の画素値を生成画素Ｐの画素値とする。
【００６２】
また、上述のステップＳＴ１６０で、生成画素の動き推定部５は、動きベクトルｖ３ｎ−１が第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ１６２に移行する。ステップＳＴ１６２で、生成画素の動き推定部５は、動きベクトルｖ３ｎと第１の動きベクトルｖ１が略等しいか否かを判定する。すなわち、例えば静止を示す第３の動きベクトルｖ３が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ上の動きベクトルｖ３ｎが第１の動きベクトルｖ１に略等しいか否かを判定する。参照フレームｎ上の動きベクトルｖ３ｎが第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ１６３に移行する。
【００６３】
ステップＳＴ１６３で、生成画素の動き推定部５は、カバード領域と判断する。そして第１の動きベクトルｖ１に基づき、参照フレームｎ−１上の画素を生成画素Ｐとして引き寄せるための動きベクトルと求める。例えば、補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、第１の動きベクトルｖ１の大きさを２分の１にしてステップＳＴ１８１に移行する。ステップＳＴ１８１で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ１により動き補償した画素の画素値を生成画素Ｐの画素値とする。
【００６４】
また、上述のステップＳＴ１６２で、生成画素の動き推定部５は、動きベクトルｖ３ｎが第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ１６４に移行する。ステップＳＴ１６４で、生成画素の動き推定部５は、動きベクトルｖ３ｎ−１と第２の動きベクトルｖ２が略等しいか否かを判定する。すなわち、静止を示す第３の動きベクトルｖ３が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ−１上の動きベクトルｖ３ｎ−１が第２の動きベクトルｖ２に略等しいか否かを判定する。参照フレームｎ−１上の動きベクトルｖ３ｎ−１が第２の動きベクトルｖ２に略等しいと判断した場合、ステップＳＴ１６５に移行する。
【００６５】
ステップＳＴ１６５で、生成画素の動き推定部５は、アンカバード領域と判断する。そして第２の動きベクトルｖ２に基づき、参照フレームｎ上の画素を生成画素Ｐとして引き寄せるための動きベクトルと求める。例えば、補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、第１の動きベクトルｖ１の大きさを２分の１にしてステップＳＴ１８１に移行する。ステップＳＴ１８１で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ２により動き補償した画素の画素値を生成画素Ｐの画素値とする。
【００６６】
また、上述のステップＳＴ１６４で、生成画素の動き推定部５は、動きベクトルｖ３ｎ−１が第２の動きベクトルｖ２に等しくないと判断した場合、ステップＳＴ１６６に移行する。ステップＳＴ１６６で、生成画素の動き推定部５は、動きベクトルｖ３ｎと第２の動きベクトルｖ２が略等しいか否かを判定する。すなわち、静止を示す第３の動きベクトルｖ３が生成画素Ｐを通過する位置に平行移動した場合に、参照フレームｎ上の動きベクトルｖ３ｎが第２の動きベクトルｖ２に略等しいか否かを判定する。参照フレームｎ上の動きベクトルｖ３ｎが第２の動きベクトルｖ２に略等しいと判断した場合、ステップＳＴ１６７に移行する。
【００６７】
ステップＳＴ１６７で、生成画素の動き推定部５は、カバード領域と判断する。そして第２の動きベクトルｖ２に基づき、参照フレームｎ上の画素を生成画素Ｐとして引き寄せるための動きベクトルと求める。例えば、補間フレームＦが参照フレームｎ−１と参照フレームｎの中間位置の場合、第２の動きベクトルｖ２の大きさを２分の１にしてステップＳＴ１８１に移行する。ステップＳＴ１８１で、フレーム補間部６は、動き推定部５により求めた動きベクトルｖ２により動き補償した画素の画素値を生成画素Ｐの画素値とする。
【００６８】
また、上述のステップＳＴ１６６で、生成画素の動き推定部５は、動きベクトルｖ３ｎが第２の動きベクトルｖ２に等しくないと判断した場合、ステップＳＴ１８０に移行する。ステップＳＴ１８０で、生成画素の動き推定部５は、例えば参照フレームｎ−１と参照フレームｎから生成画素Ｐと同一位置の画素及びその周辺画素の画素値を平均して生成画素Ｐとする。もちろん、他の算出方法でもよい。
【００６９】
このように、第１〜第３の動きベクトルの３個の候補を用いて生成画素Ｐの動き補償を行ってもよい。もちろん、４個又はそれ以上の候補など候補数を増やすことによって、候補に選ばれなかった場合のエラーを減らすことも可能である。
【００７０】
続いて、フレーム補間処理にクラス分類適応処理を用いた例を説明する。図１３は、本発明に係る第２の実施形態としてのフレーム補間装置２００の構成例を示すブロック図である。図１３に示すフレーム補間装置２００は、入力画像信号Ｄｉｎに対してシャッタースピード変換とカバード・アンカバード領域における画素の混合を行い、液晶表示デバイスなど動画像においてボケが起こるデバイスでも鮮明な画像に表示できるように画像信号処理を行うものである。
【００７１】
シャッタースピード変換では、クラス分類適応処理を行うことで入力画像信号Ｄｉｎ以上に鮮明な画像に変えて出力画像信号Ｄｏｕｔを得ることが可能となる。すなわち、クラス分類適応処理は、入力画像信号Ｄｉｎの輝度レベル分布と動き推定クラス分類を行い、さらにクラス毎に予め学習により取得して記憶している係数データを用いて予測演算を行うことにより最適な推定値を得ることで、動きボケの少ない鮮明な画像に高めるものである。
【００７２】
図１３に示す動きベクトル検出部１、候補ベクトル抽出部２、(ｎ−１)→(ｎ)動き推定部３、(ｎ)→(ｎ−１)動き推定部４、生成画素の動き推定クラス分類部７、予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２備えている。なお、上述したフレーム補間装置１００と同じ構成要素には同一符号を付し、その詳細な説明は省略する。
【００７３】
図１３に示す動きベクトル検出部１は、ブロックマッチングや勾配法などの一般的な８×８画素程度のブロック単位で動きベクトルを求める。ここで求まった動きベクトルを一旦不図示のメモリに蓄える。
【００７４】
候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにして背景動きを求める。そして、候補ベクトル抽出部２は、対象ブロックＢＫn-1の候補ベクトルとして背景の動きを示す第１の動きベクトルと、オブジェクトなどの前景を示す第２の動きベクトルを求めて(ｎ−１)→(ｎ)動き推定部３及び(ｎ)→(ｎ−１)動き推定部４に出力する。
【００７５】
(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１の対象ブロックＢＫn-1の第１及び第２の動きベクトルが示す参照フレームｎのブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫn-1の差分絶対値和を求める。そして、この差分絶対値和が小さい方の動きベクトルを特定する。ここで、図４に示した参照フレームｎ−１におけるカバード領域では、動きベクトルを求める対象となる画素が存在しないため正しい動きベクトルは求まらない。
【００７６】
(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎの対象ブロックＢＫnの第１及び第２の動きベクトルが示す参照フレームｎ−１のブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫnの差分絶対値和を求める。そして、この差分絶対値和が小さい方の動きベクトルを特定する。ここで、図４に示した参照フレームｎにおけるアンカバード領域では、動きベクトルを求める対象となる画素が存在しないため正しい動きベクトルは求まらない。
【００７７】
生成画素の動き推定クラス分類部７は、図４に示した補間フレームＦの生成画素Ｐの動きベクトルをＣ／ＵＣ判定により求める（図４〜図６参照）。この生成画素の動き推定クラス分類部７で求めた動きベクトルを利用して、次のクラス分類適応処理部（予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２）で生成画素Ｐを生成する。また、予測タップ選択部８及びクラスタップ選択部９は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した画素を選択する。
【００７８】
動き推定クラス分類部７は、生成画素Ｐの位置におけるカバード及びアンカバード領域の判定結果によって、クラスに分類して２値データに変換する。他の方法として動き推定クラス分類部７は、第１の動きベクトル量と第２の動きベクトル量の差の値を例えば４つのクラスに分類して２値データに変換する。又は、主に前景をあらわす第２の動きベクトル量の絶対値を例えば４つのクラスに分類して２値データに変換する。これらの２値データを係数メモリ１１のクラスコード（アドレスデータ）の一つにする。
【００７９】
予測タップ選択部８は、選択した画素を積算演算部１２に出力する。また、クラスタップ選択部９は、選択した画素をＡＤＲＣクラス分類部１０に出力する。このＡＤＲＣクラス分類部１０は、波形の特徴量（レベル分布）を２値データに変換する装置であり、ここでは１ｂｉｔＡＤＲＣを用いて２値データに変換する。
【００８０】
ＡＤＲＣクラス分類部１０により求めた２値データと動き推定クラス分類部７で求めた２値データを加えて、係数メモリ１１のクラスコードとする。係数メモリ１１には予め学習によって求められた係数データが保存されている。積算演算部１２は、この係数データと予測タップ選択部８によって読み出された画素値の積和演算によって出力の画素を得る。
【００８１】
続いて、クラス分類適応処理を用いて補間フレームＦの生成画素Ｐを求める方法について説明する。図１４は、動き推定クラス分類部７の動作例を示すフローチャートである。なお、図１４に示すステップＳＴ１９０、ＳＴ１９２、ＳＴ１９４、ＳＴ１９６は、図６に示したステップＳＴ１、ＳＴ３、ＳＴ５、ＳＴ７に対応し、その詳細な説明は省略する。
【００８２】
図１４に示すステップＳＴ１９０で、動き推定クラス分類部７は、図４に示した動きベクトルｖ２ｎと動きベクトルｖ２が略等しく、かつ動きベクトルｖ２ｎ−１と動きベクトルｖ２が略等しいか否かを判定する。動きベクトルｖ２ｎ−１、ｖ２ｎが第２の動きベクトルｖ２に略等しいと判断した場合、ステップＳＴ１９１に移行する。
【００８３】
ステップＳＴ１９１で、動き推定クラス分類部７は、第２の動きベクトルｖ２が補間フレームＦの生成画素Ｐを通過すると判断する。そして、該第２の動きベクトルｖ２に基づいてクラス分類適応処理に使用するクラスをクラス「１」に設定してステップＳＴ２００に移行する。
【００８４】
ステップＳＴ２００で、クラス分類適応処理部（予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２）は、動き推定クラス分類部７で求めたクラス「１」に基づいて生成画素Ｐを生成する。
【００８５】
また、上述のステップＳＴ１９０で、動きベクトルｖ２ｎ−１、ｖ２ｎが第２の動きベクトルｖ２に等しくないと判断した場合、ステップＳＴ１９２に移行する。ステップＳＴ１９２で、動き推定クラス分類部７は、動きベクトルｖ１ｎと動きベクトルｖ１が略等しく、かつ動きベクトルｖ１ｎ−１と動きベクトルｖ１が略等しいか否かを判定する。該動きベクトルｖ１ｎ−１、ｖ１ｎが第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ１９３に移行する。
【００８６】
ステップＳＴ１９３で、動き推定クラス分類部７は、第１の動きベクトルｖ１が補間フレームＦの生成画素Ｐを通過すると判断する。そして、該第１の動きベクトルｖ１に基づいてクラス分類適応処理に使用するクラスをクラス「２」に設定してステップＳＴ２００に移行する。
【００８７】
ステップＳＴ２００で、クラス分類適応処理部（予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２）は、動き推定クラス分類部７で求めたクラス「２」に基づいて生成画素Ｐを生成する。
【００８８】
また、上述のステップＳＴ１９２で、動きベクトルｖ１ｎ−１、ｖ１ｎが第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ１９４に移行する。ステップＳＴ１９４で、動き推定クラス分類部７は、動きベクトルｖ２ｎ−１と第１の動きベクトルｖ１が略等しいか否かを判定する。該動きベクトルｖ２ｎ−１が第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ１９５に移行する。
【００８９】
ステップＳＴ１９５で、動き推定クラス分類部７は、アンカバード領域と判断してクラス分類適応処理に使用するクラスをクラス「３」に設定してステップＳＴ２００に移行する。
【００９０】
ステップＳＴ２００で、クラス分類適応処理部（予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２）は、動き推定クラス分類部７で求めたクラス「３」に基づいて生成画素Ｐを生成する。
【００９１】
また、上述のステップＳＴ１９４で、動き推定クラス分類部７は、動きベクトルｖ２ｎ−１が第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ１９６に移行する。ステップＳＴ１９６で、動き推定クラス分類部７は、動きベクトルｖ２ｎと第１の動きベクトルｖ１が略等しいか否かを判定する。該動きベクトルｖ２ｎが第１の動きベクトルｖ１に略等しいと判断した場合、ステップＳＴ１９７に移行する。
【００９２】
ステップＳＴ１９７で、動き推定クラス分類部７は、カバード領域と判断してクラス分類適応処理に使用するクラスをクラス「４」に設定してステップＳＴ２００に移行する。
【００９３】
ステップＳＴ２００で、クラス分類適応処理部（予測タップ選択部８、クラスタップ選択部９、ＡＤＲＣクラス分類部１０、係数メモリ１１及び積算演算部１２）は、動き推定クラス分類部７で求めたクラス「４」に基づいて生成画素Ｐを生成する。
【００９４】
また、上述のステップＳＴ１９６で、図５に示す動きベクトルｖ２ｎが第１の動きベクトルｖ１に等しくないと判断した場合、ステップＳＴ１９９に移行する。ステップＳＴ１９９で、動き推定クラス分類部７は、上述した４つの状態のいずれにも該当しない場合、クラス分類適応処理に使用するクラスをクラス「５」に設定してステップＳＴ２００に移行する。
【００９５】
このように、生成画素Ｐの位置におけるカバード及びアンカバード領域の判定結果によって、クラスに分類して２値データに変換する。上述したように、第１の動きベクトル量と第２の動きベクトル量の差の値を例えば４つのクラスに分類して変換してもよい。又は、主に前景をあらわす第２の動きベクトル量の絶対値を例えば４つのクラスに分類してもよい。
【００９６】
続いて、フレーム補間装置２００の動作例について説明する。図１５は、フレーム補間装置２００の動作例を示すフローチャートである。なお、図１５に示すステップＳＴ７１〜ＳＴ７５は、図９に示したＳＴ５１〜ＳＴ５５に相当し、その詳細な説明は省略する。
【００９７】
図１５に示すステップＳＴ７１で、図１３に示した動きベクトル検出部１は、例えば８×８画素程度のブロック単位でブロックマッチングにより動きベクトルを検出してステップＳＴ７２に移行する。
【００９８】
ステップＳＴ７２で、候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにする。このヒストグラムの最大値を示す動きベクトルを背景の動きを示す背景ベクトルとする。候補ベクトル抽出部２は、生成画素を含む対象ブロックＢＫn-1（例えば図３Ａ参照）の周辺の動きベクトルをヒストグラムにする。そして、例えばこのヒストグラムの最大値の動きベクトルと極大値２位の動きベクトルを求める。前に求めた背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求めてステップＳＴ７３に移行する。
【００９９】
ステップＳＴ７３で、(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１と参照フレームｎとの間において画素単位で動きベクトルを特定する。例えば、参照フレームｎ−１の対象ブロックＢＫn-1の第１及び第２の動きベクトルが示す参照フレームｎのブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫn-1の差分絶対値和を求める。そして、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ７４に移行する。
【０１００】
ステップＳＴ７４で、(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎと参照フレームｎ−１との間において画素単位で動きベクトルを特定する。例えば、参照フレームｎの対象ブロックＢＫnの第１及び第２の動きベクトルが示す参照フレームｎ−１のブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫnの差分絶対値和を求め、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ７５に移行する。
【０１０１】
ステップＳＴ７５で、動き推定クラス分類部７は、生成画素Ｐの位置において、参照フレームｎ、ｎ−１の動きベクトルの特定結果を引き寄せしてカバード・アンカバード（Ｃ／ＵＣ）判定を行う（図１４参照）。続いてステップＳＴ７６に移行する。
【０１０２】
ステップＳＴ７６で、クラスタップ選択部９は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した画素を選択してステップＳＴ７７に移行する。
【０１０３】
ステップＳＴ７７で、ＡＤＲＣクラス分類部１０はクラスコードを生成する。例えば、ＡＤＲＣクラス分類部１０は、クラスタップ選択部９から入力した画素における波形の特徴量に対して１ｂｉｔＡＤＲＣを用いて２値データに変換する。このＡＤＲＣクラス分類部１０により求めた２値データと、動き推定クラス分類部７によりＣ／ＵＣ判定により求めた２値データを加えて係数メモリ１１のクラスコードとする。続いてステップＳＴ７８に移行する。
【０１０４】
ステップＳＴ７８で、予測タップ選択部８は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した画素を選択してステップＳＴ７９に移行する。
【０１０５】
ステップＳＴ７９で、積算演算部１２は、係数メモリ１１からの係数データと予測タップ選択部８によって読み出された画素値の積和演算によって出力の画素を生成する。例えば、係数メモリ１１には、シャッタースピードが半分の動きボケの少ない鮮明な教師画像信号（第２の画像信号）と通常のシャッタースピードでの動きボケの付いた生徒画像信号（第１の画像信号）の関係を学習することにより、取得された係数データがクラス毎に記憶されている。この係数データは、線形推定式により輝度レベルが補正されてボケ除去が行われた信号変換するための情報である。なお、係数データの取得方法については後述する。
【０１０６】
係数メモリ１１では、クラス分類コードに対応したアドレス位置から、そのクラスの係数データを読み出して積算演算部１２に供給する。積算演算部１２は、予測タップ選択部８からの予測タップの輝度データｘ１，ｘ２，・・・，ｘnと係数データｗ1，ｗ2，・・・，ｗnと式(１)に示す線形一次結合の演算を行うことにより、注目画素の新たな輝度データを算出する。
【０１０７】
【数１】
2010056629.tif 000003
【０１０８】
次に、ステップＳＴ８０に移行して入力画像信号Ｄｉｎが終了したが否かを判定する。入力画像信号Ｄｉｎが終了していない場合、ステップＳＴ７１に戻る。入力画像信号Ｄｉｎが終了した場合処理の終了となる。
【０１０９】
このように、第２の実施形態としてのフレーム補間装置２００によれば、クラス分類適応処理を用いてフレーム補間を行っているので、ボケ除去が行われて背景と前景の境界領域を良好に再現できるようになる。
【０１１０】
続いて、係数データの生成（学習）について説明する。図１６は、係数データ生成装置３００の構成例を示すブロック図である。図１７は、係数データ生成装置３００の動作例を示すフローチャートである。
【０１１１】
図１７に示すステップＳＴ９１、ＳＴ９２で、生徒画像生成部１９は、シャッタースピードが半分の動きボケの少ない輝度レベルの教師画像信号から、通常のシャッタースピードでの動きボケの付いた生徒画像信号を生成する。例えば、図１８に示す教師画像信号の２フレームを平均して作った時間的位相が半分ずれて、動きボケ量が２倍となった生徒画像信号を生成する。この生成された生徒画像信号と教師画像信号を対にして、係数データの作成が行われる。また、ステップＳＴ９３で、教師タップ選択部１４は、教師画像信号のタップデータを取得する。続いてステップＳＴ９４に移行する。
【０１１２】
ステップＳＴ９４〜ＳＴ１０１は、図１５に示したステップＳＴ７１〜ＳＴ７８に相当するので、その詳細な説明は省略する。
【０１１３】
図１７に示すステップＳＴ９４で、図１６に示した動きベクトル検出部１は、例えば８×８画素程度のブロック単位でブロックマッチングにより動きベクトルを検出してステップＳＴ９５に移行する。
【０１１４】
ステップＳＴ９５で、候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにする。このヒストグラムの最大値を示す動きベクトルを背景の動きを示す背景ベクトルとする。候補ベクトル抽出部２は、生成画素を含む対象ブロックＢＫn-1（例えば図３Ａ参照）の周辺の動きベクトルをヒストグラムにする。そして、例えばこのヒストグラムの最大値の動きベクトルと極大値２位の動きベクトルを求める。前に求めた背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求めてステップＳＴ９６に移行する。
【０１１５】
ステップＳＴ９６で、(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１と参照フレームｎとの間において画素単位で動きベクトルを特定する。例えば、参照フレームｎ−１の対象ブロックＢＫn-1の第１及び第２の動きベクトルが示す参照フレームｎのブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫn-1の差分絶対値和を求める。そして、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ９７に移行する。
【０１１６】
ステップＳＴ９７で、(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎと参照フレームｎ−１との間において画素単位で動きベクトルを特定する。例えば、参照フレームｎの対象ブロックＢＫnの第１及び第２の動きベクトルが示す参照フレームｎ−１のブロックＢＫ１、ＢＫ２とこの対象ブロックＢＫnの差分絶対値和を求め、この差分絶対値和が小さい方の動きベクトルを特定する。続いてステップＳＴ９８に移行する。
【０１１７】
ステップＳＴ９８で、生成画素の動き推定部５は、生成画素Ｐの位置において、参照フレームｎ、ｎ−１の動きベクトルの特定結果を引き寄せしてカバード・アンカバード（Ｃ／ＵＣ）判定を行う（図４〜図６参照）。続いてステップＳＴ９９に移行する。
【０１１８】
ステップＳＴ９９で、クラスタップ選択部９は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）したクラスタップのデータを選択してステップＳＴ１００に移行する。
【０１１９】
ステップＳＴ１００で、生成画素クラス分類及びＡＤＲＣクラス分類部１３はクラスコードを生成する。例えば、当該クラス分類部１３は、クラスタップ選択部９から入力した画素における波形の特徴量に対して１ｂｉｔＡＤＲＣを用いて２値データに変換する。また、当該クラス分類部１３は、例えば生成画素Ｐの位置におけるＣ／ＵＣの判定結果によってクラスに分類して２値データに変換する。そして、当該クラス分類部１３は、波形の特徴量示す１ｂｉｔＡＤＲＣの２値データと、Ｃ／ＵＣ判定により求めた２値データを加えてクラスコードとする。続いてステップＳＴ１０１に移行する。
【０１２０】
ステップＳＴ１０１で、予測タップ選択部８は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した予測タップのデータを選択する。例えば予測タップは、生成画素を中心として複数の周辺画素を参照フレームｎ−１、ｎから選択する。続いてステップＳＴ１０２に移行する。
【０１２１】
ステップＳＴ１０２で、正規方程式加算部１５は、正規方程式データを生成して係数データ算出部１６に供給してステップＳＴ１０３に移行する。ステップＳＴ１０３で、生徒画像信号が終了であるか否かを判定する。生徒画像信号が終了でない場合、ステップＳＴ９１に戻る。生徒画像信号が終了である場合ステップＳＴ１０４に移行する。
【０１２２】
ステップＳＴ１０４で、係数データ算出部１６は、正規方程式データを用いて演算処理を行って係数データを算出する。
【０１２３】
以下、係数データの算出について、より一般化してｎ画素による予測を行う場合について説明する。予測タップして選択される入力画素の輝度レベルをそれぞれｘ１，ｘ２，・・・，ｘｎとし、出力輝度レベルをＥ|ｙ|としたとき、クラス毎に係数データｗ1，ｗ2，・・・，ｗnにｎタップの線形推定式を設定する。これを以下の式（２）に示す。
【０１２４】
【数２】
2010056629.tif 000004
【０１２５】
この式（２）における係数データｗ1，ｗ2，・・・，ｗnを求める方法としては、最小二乗法による解法が考えられる。この解法では、Ｘを入力画素の輝度レベル、Ｗを係数データ、Ｙ'を出力画素の輝度レベルとして式（３）の観測方程式を作るようにデータを収集する。この式（３）において、ｍは学習データ数を表し、ｎは上述したように予測タップ数を示している。
【０１２６】
【数３】
2010056629.tif 000005
次に式（３）観測方程式をもとに、式（４）の残差方程式をたてる。
【０１２７】
【数４】
2010056629.tif 000006
【０１２８】
この式（４）から、各係数データｗiの最確値、式（５）を最小にする条件が成り立つ場合と考えられる。
【０１２９】
【数５】
2010056629.tif 000007
すなわち、式（６）の条件を考慮すればよい。
【０１３０】
【数６】
2010056629.tif 000008
【０１３１】
式（６）のｉに基づくｎ個の条件を考え、これを満たすｗ1，ｗ2，・・・ｗnを算出すればよい。そこで、式（４）から次式（７）を得て、さらに式（６）と次式（７）から式（８）を得るものとする。
【０１３２】
【数７】
2010056629.tif 000009
そして式（４）及び式（８）から、次式（９）の正規方程式を得ることができる。
【０１３３】
【数８】
2010056629.tif 000010
【０１３４】
式（９）の正規方程式は、未知数の数がｎ個の連立方程式であるから、これより，各ｗiの最確値を求めることができる。実際には、掃き出し法（Gauss-Jordaｎの消去法）を用いて連立方程式を解く。この式（９）の正規方程式を解いて、クラス毎の係数データｗ1，ｗ2，・・・，ｗnを決定する。
【０１３５】
以上のように学習を行った結果、クラス毎に注目画素の輝度レベルが推定するための、統計的にもっとも真値に近い推定ができる係数データが算出されることとなる。この算出された係数データは、上述のフレーム補間装置２００の係数メモリ１１に書き込まれる。
【０１３６】
図１９は、予測タップ・クラスタップのパターン例を示す概略図である。第１及び第２の動きベクトル量による引き寄せタップと静止部分を示す静止タップからタップを切り出すことによりタップを構築している。例えば、図１９に示す生成画素Ｐに対して、予測タップ選択部８は、参照フレームｎ−１から予測タップとして５画素から成る引き寄せタップ及び静止タップを取得する。さらに、参照フレームｎから予測タップとして５画素から成る引き寄せタップ及び静止タップを取得する。
【０１３７】
また、図１９に示す生成画素Ｐに対して、クラスタップ選択部９は、参照フレームｎ−１からクラスタップとして１画素から成る引き寄せタップ及び静止タップを取得する。さらに、参照フレームｎからクラスタップとして１画素から成る引き寄せタップ及び静止タップを取得する。
【０１３８】
図２０は、前景オブジェクト成分および背景オブジェクト成分の混合例を示す説明図である。図２０に示す画像の１つのラインに対応する画素値を時間方向に展開している。この１ライン画素値は、例えば、シャッター時間に対応する期間だけ入力される光を積分して積分された光に対応する量の電荷を蓄積するＣＣＤの検出素子により得られたものである。図２０に示す画素Ｂ１〜画素Ｂ２１は背景を示し、画素０１〜画素０７は前景を示す。前景に対応するオブジェクトの画像の動き量は「４」である。この場合、例えば空間方向に４番目の画素はアンカバード領域に該当し、図２０Ａに示すように（Ｂ４＋Ｂ４＋０１＋０１）／４により画素値が求められる。すなわち、空間方向に４番目の画素は、前景オブジェクト成分および背景オブジェクト成分が混合される。また、空間方向に６番目の画素は前景領域に該当し、図２０Ａに示すように（０１＋０２＋０３＋０４）／４により画素値が求められる。すなわち、空間方向に６番目の画素は、前景オブジェクト成分のみである。また、空間方向に１１番目の画素はカバード領域に該当し、図２０Ａに示すように（０６＋０７＋Ｂ１１＋Ｂ１１）／４により画素値が求められる。すなわち、空間方向に１１番目の画素は、前景オブジェクト成分および背景オブジェクト成分が混合される。
【０１３９】
図２０Ｂに示す補間フレーム１，２は、シャッター時間を１／２にして画像を生成したものである。例えば補間フレーム１の空間方向に１２番目の画素はカバード領域に該当し、図２０Ｂに示すように（０７＋Ｂ１２）／４２より画素値が求められる。すなわち、空間方向に１２番目の画素は、前景オブジェクト成分および背景オブジェクト成分が混合される。
【０１４０】
このように、カバード・アンカバード領域では、前景オブジェクト成分および背景オブジェクト成分が混合されるので、単に画素値を引き寄せるだけでは不自然な画像となる。本発明に係る実施形態では、このカバード・アンカバード領域をクラス分類して、２つの動きベクトル値からカバード・アンカバード領域で混合させるのに必要な画素値を引寄せして、その画素値の混合比率を学習によって最適な係数を求めている。これにより、自然な画像を形成して補間することができる。
【０１４１】
続いて、本発明に係る第３の実施形態としてのフレーム補間装置４００について説明する。図２１は、本発明に係る第３の実施形態としてのフレーム補間装置４００の構成例を示すブロック図である。図２１に示すフレーム補間装置４００は、図１３に示したフレーム補間装置２００の構成に位相シフトフィルタ１７を追加したものである。この位相シフトフィルタ１７には、例えば入力画像信号の空間方向に画素を補間するバイキュービックフィルタを用いる。このバイキュービックフィルタは、画像補間において対象個所の周囲１６個の画素をサンプルし、３次元曲線を仮定して補間する手法である。位相シフトフィルタ１７は、入力画像信号Ｄｉｎを入力して、該入力画像信号Ｄｉｎの画素以下の動き量まで補償してより高精度の画像を生成する。
【０１４２】
例えば、画素(ｉ、ｊ)を所定の位相にシフトするにあたって、図２２に示す「●」で示す点は第一次近傍と呼ばれ、図２２に示す「○」で示す点を第二次近傍と呼ぶ。これらのそれぞれの近傍について、Ｘ方向、Ｙ方向それぞれに独立に、距離ｄｘ、ｄｙに対して、重みＷｘ、Ｗｙを求め、最終的にその点に対する重み、Ｗ＝ＷｘＷｙを式（１０）から得る。
【０１４３】
【数９】
2010056629.tif 000011
【０１４４】
Ｗ(ｉ、ｊ)を画素(ｉ、ｊ)の重み、ｆ(ｉ、ｊ)を画素(ｉ、ｊ)の輝度とすれば、生成画素Ｐの輝度ｆ'(Ｐ)は、以下の式（１１）となる。
【０１４５】
【数１０】
2010056629.tif 000012
【０１４６】
このようにして、位相シフトフィルタ１７は、入力画像信号Ｄｉｎの空間方向に画素を補間して高精度の補間画像を生成して、予測タップ選択部８及びクラスタップ選択部９に出力する。予測タップ選択部８及びクラスタップ選択部９は、画素以下の動き量まで補償した入力画像信号Ｄｉｎからタップを選択する。
【０１４７】
続いて、フレーム補間装置４００の動作例について説明する。図２３は、フレーム補間装置４００の動作例を示すフローチャートである。なお、図２３に示すステップＳＴ１１〜ＳＴ１２０は、図１５に示したＳＴ７１〜ＳＴ８０に相当し、その詳細な説明は省略する。
【０１４８】
図２３に示すステップＳＴ１１１で、図２１に示した動きベクトル検出部１は、例えば８×８画素程度のブロック単位でブロックマッチングにより動きベクトルを検出してステップＳＴ１１２、ＳＴ１２１に移行する。
【０１４９】
ステップＳＴ１２１で、位相シフトフィルタ１７は、例えばバイキュービックフィルタを用いて、画像補間において対象個所の周囲１６個の画素をサンプルして３次元曲線を仮定して補間する。
【０１５０】
また、ステップＳＴ１１２で、候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムにする。このヒストグラムに基づいて背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求めてステップＳＴ１１３に移行する。
【０１５１】
ステップＳＴ１１３で、(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１と参照フレームｎとの間において画素単位で動きベクトルを特定してステップＳＴ１１４に移行する。
【０１５２】
ステップＳＴ１１４で、(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎと参照フレームｎ−１との間において画素単位で動きベクトルを特定してステップＳＴ１１５に移行する。
【０１５３】
ステップＳＴ１１５で、動き推定クラス分類部７は、生成画素Ｐの位置において、参照フレームｎ、ｎ−１の動きベクトルの特定結果を引き寄せしてカバード・アンカバード（Ｃ／ＵＣ）判定を行う（図１４参照）。続いてステップＳＴ１１６に移行する。
【０１５４】
ステップＳＴ１１６で、クラスタップ選択部９は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した画素を選択する。なお、参照フレームｎ−１、ｎの画素は位相シフトフィルタ１７により補間されている。続いてステップＳＴ１１７に移行する。
【０１５５】
ステップＳＴ１１７で、ＡＤＲＣクラス分類部１０はクラスコードを生成する。例えば、ＡＤＲＣクラス分類部１０は、クラスタップ選択部９から入力した画素における波形の特徴量に対して１ｂｉｔＡＤＲＣを用いて２値データに変換する。このＡＤＲＣクラス分類部１０により求めた２値データと、動き推定クラス分類部７によりＣ／ＵＣ判定により求めた２値データを加えて係数メモリ１１のクラスコードとする。続いてステップＳＴ１１８に移行する。
【０１５６】
ステップＳＴ１１８で、予測タップ選択部８は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した画素を選択する。なお、参照フレームｎ−１、ｎの画素は位相シフトフィルタ１７により補間されている。続いてステップＳＴ１１９に移行する。
【０１５７】
ステップＳＴ１１９で、積算演算部１２は、係数メモリ１１からの係数データと予測タップ選択部８によって読み出された画素値の積和演算によって出力の画素を生成してステップＳＴ１２０に移行して入力画像信号Ｄｉｎが終了したが否かを判定する。入力画像信号Ｄｉｎが終了していない場合、ステップＳＴ１１１に戻る。入力画像信号Ｄｉｎが終了した場合処理の終了となる。
【０１５８】
このように、本発明に係る第３の実施形態としてのフレーム補間装置４００によれば、画像補間において対象個所の周囲１６個の画素をサンプルし、３次元曲線を仮定して補間している。これにより、画素以下の動き量まで補償してより高精度の画像を生成できるので、動き補償を正確に行うことができる。
【０１５９】
続いて、係数データの生成（学習）について説明する。図２４は、係数データ生成装置５００の構成例を示すブロック図である。図２５は、係数データ生成装置５００の動作例を示すフローチャートである。
【０１６０】
図２５に示すステップＳＴ１３１、ＳＴ１３２で、生徒画像生成部１９は、シャッタースピードが半分の動きボケの少ない輝度レベルの教師画像信号から、通常のシャッタースピードでの動きボケの付いた生徒画像信号を生成する。また、ステップＳＴ１３３で、教師タップ選択部１４は、教師画像信号のタップデータを取得する。続いてステップＳＴ１３４に移行する。
【０１６１】
ステップＳＴ１３４〜ＳＴ１４４は、図１７に示したステップＳＴ９４〜ＳＴ１０４に相当するので、その詳細な説明は省略する。
【０１６２】
図２５に示すステップＳＴ１３４で、図１６に示した動きベクトル検出部１は、例えば８×８画素程度のブロック単位でブロックマッチングにより動きベクトルを検出してステップＳＴ１３５に移行する。
【０１６３】
ステップＳＴ１３５で、候補ベクトル抽出部２は、動きベクトル検出部１により求めた全ての動きベクトルのデータをヒストグラムする。そして背景ベクトルに近い動きベクトルを第１の動きベクトルとし、遠い動きベクトルを第２の動きベクトルとして上述の対象ブロックＢＫn-1の候補ベクトルを求めてステップＳＴ１３６、ＳＴ１４５に移行する。
【０１６４】
ステップＳＴ１４５で、位相シフトフィルタ１７は、例えばバイキュービックフィルタを用いて、画像補間において対象個所の周囲１６個の画素をサンプルして３次元曲線を仮定して補間する。
【０１６５】
また、ステップＳＴ１３６で、(ｎ−１)→(ｎ)動き推定部３は、参照フレームｎ−１と参照フレームｎとの間において画素単位で動きベクトルを特定してステップＳＴ１３７に移行する。
【０１６６】
ステップＳＴ１３７で、(ｎ)→(ｎ−１)動き推定部４は、参照フレームｎと参照フレームｎ−１との間において画素単位で動きベクトルを特定してステップＳＴ１３８に移行する。
【０１６７】
ステップＳＴ１３８で、生成画素の動き推定部５は、生成画素Ｐの位置において、参照フレームｎ、ｎ−１の動きベクトルの特定結果を引き寄せしてカバード・アンカバード（Ｃ／ＵＣ）判定を行う（図４〜図６参照）。続いてステップＳＴ１３９に移行する。
【０１６８】
ステップＳＴ１３９で、クラスタップ選択部９は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）したクラスタップのデータを選択する。なお、参照フレームｎ−１、ｎの画素は位相シフトフィルタ１７により補間されている。続いてステップＳＴ１００に移行する。
【０１６９】
ステップＳＴ１４０で、生成画素クラス分類及びＡＤＲＣクラス分類部１３はクラスコードを生成する。例えば、当該クラス分類部１３は、クラスタップ選択部９から入力した画素における波形の特徴量に対して１ｂｉｔＡＤＲＣを用いて２値データに変換する。また、当該クラス分類部１３は、例えば生成画素Ｐの位置におけるＣ／ＵＣの判定結果によってクラスに分類して２値データに変換する。そして、当該クラス分類部１３は、波形の特徴量示す１ｂｉｔＡＤＲＣの２値データと、Ｃ／ＵＣ判定により求めた２値データを加えてクラスコードとする。続いてステップＳＴ１４１に移行する。
【０１７０】
ステップＳＴ１４１で、予測タップ選択部８は、図８Ａ及びＢに示した参照フレームｎ−１、ｎから距離比ｂ／ａ、ａ−ｂ／ａでそれぞれ動き補償（ＭＣ）した予測タップのデータを選択する。なお、参照フレームｎ−１、ｎの画素は位相シフトフィルタ１７により補間されている。続いてステップＳＴ１４２に移行する。
【０１７１】
ステップＳＴ１４２で、正規方程式加算部１５は、正規方程式データを生成して係数データ算出部１６に供給してステップＳＴ１４３に移行する。
【０１７２】
ステップＳＴ１４３で、生徒画像信号が終了であるか否かを判定する。生徒画像信号が終了でない場合、ステップＳＴ１３１に戻る。生徒画像信号が終了である場合ステップＳＴ１４４に移行する。
【０１７３】
ステップＳＴ１４４で、係数データ算出部１６は、正規方程式データを用いて演算処理を行って係数データを算出する。
【０１７４】
なお、第３の実施形態のフレーム補間装置４００に設けた位相シフトフィルタ１７は、第１の実施形態のフレーム補間装置１００にも設けるようにしてもよい。
【産業上の利用可能性】
【０１７５】
本発明は、動画像の再生に当たって表示フレーム間隔を短くするために隣接フレーム間に少なくとも一つ以上の生成フレームを生成するフレーム補間装置及びフレーム補間方法に適用して極めて好適である。
【図面の簡単な説明】
【０１７６】
【図１】本発明に係る第１の実施形態としてのフレーム補間装置１００の構成例を示すブロック図である。
【図２】補間フレームＦの補間位置を示す概略図である。
【図３】Ａ及びＢは、(ｎ−１)→(ｎ)動き推定部３及び(ｎ)→(ｎ−１)動き推定部４の動作例を示す概略図である。
【図４】生成画素の動き推定部５により補間フレームＦの生成画素Ｐの動きベクトルを求める方法（その１）を示す概略図である。
【図５】生成画素の動き推定部５により補間フレームＦの生成画素Ｐの動きベクトルを求める方法（その２）を示す概略図である。
【図６】生成画素の動き推定部５の動作例（その１）を示すフローチャートである。
【図７】生成画素の動き推定部５の動作例（その２）を示すフローチャートである。
【図８】Ａ及びＢは、フレームレート変換方法を示す概略図である。
【図９】フレーム補間装置１００の動作例を示すフローチャートである。
【図１０】第１の動きベクトルｖ１と第２の動きベクトルｖ２の両方を生成画素Ｐの通過として判定する突き抜け現象の一例を示す概略図である。
【図１１】生成画素の動き推定部５により補間フレームＦの生成画素Ｐの動きベクトルを求める方法（その３）を示す概略図である。
【図１２】生成画素の動き推定部５の動作例（その３）を示すフローチャートである。
【図１３】本発明に係る第２の実施形態としてのフレーム補間装置２００の構成例を示すブロック図である。
【図１４】動き推定クラス分類部７の動作例を示すフローチャートである。
【図１５】フレーム補間装置２００の動作例を示すフローチャートである。
【図１６】係数データ生成装置３００の構成例を示すブロック図である。
【図１７】係数データ生成装置３００の動作例を示すフローチャートである。
【図１８】生徒画像信号の生成例を示す概略図である。
【図１９】予測タップ・クラスタップのパターン例を示す概略図である。
【図２０】前景オブジェクト成分および背景オブジェクト成分の混合例を示す説明図である。
【図２１】本発明に係る第３の実施形態としてのフレーム補間装置４００の構成例を示すブロック図である。
【図２２】位相シフトフィルタ１７の動作例を示す概略図である。
【図２３】フレーム補間装置４００の動作例を示すフローチャートである。
【図２４】係数データ生成装置５００の構成例を示すブロック図である。
【図２５】係数データ生成装置５００の動作例を示すフローチャートである。
【符号の説明】
【０１７７】
１・・・動きベクトル検出部、２・・・候補ベクトル抽出部、３・・・(ｎ−１)→(ｎ)動き推定部、４・・・(ｎ)→(ｎ−１)動き推定部、５・・・生成画素の動き推定部、６・・・フレーム補間部、７・・・生成画素の動き推定クラス分類部、８・・・予測タップ選択部、９・・・クラスタップ選択部、１０・・・ＡＤＲＣクラス分類部、１１・・・係数メモリ、１２・・・積和演算部、１３・・・生成画素クラス分類及びＡＤＲＣクラス分類部、１４・・・教師タップ選択部、１５・・・正規方程式加算部、１６・・・係数データ算出部
【図１】
2010056629.tif 000013
【図２】
2010056629.tif 000014
【図３】
2010056629.tif 000015
【図４】
2010056629.tif 000016
【図５】
2010056629.tif 000017
【図６】
2010056629.tif 000018
【図７】
2010056629.tif 000019
【図８】
2010056629.tif 000020
【図９】
2010056629.tif 000021
【図１０】
2010056629.tif 000022
【図１１】
2010056629.tif 000023
【図１２】
2010056629.tif 000024
【図１３】
2010056629.tif 000025
【図１４】
2010056629.tif 000026
【図１５】
2010056629.tif 000027
【図１６】
2010056629.tif 000028
【図１７】
2010056629.tif 000029
【図１８】
2010056629.tif 000030
【図１９】
2010056629.tif 000031
【図２０】
2010056629.tif 000032
【図２１】
2010056629.tif 000033
【図２２】
2010056629.tif 000034
【図２３】
2010056629.tif 000035
【図２４】
2010056629.tif 000036
【図２５】
2010056629.tif 000037