(57)【要約】【課題】ブロック内部の複数の動きを考慮しつつ、ブロック歪の抑制された補間フレームを作成する方法を提供する。【解決手段】動画の補間フレームを生成する補間フレーム生成方法であって、第１参照フレームと第２参照フレームの間の動きベクトルを生成する動きベクトル生成ステップと、第１参照フレームおよび第２参照フレームを縮小して得られた縮小第１参照フレームおよび縮小第２参照フレームに含まれる画像との相関に基づいて、縮小第１参照フレームおよび縮小第２参照フレームを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定ステップと、動きベクトルと、縮小第１参照フレームまたは縮小第２参照フレームの高相関領域に基づいて、補間フレームを生成する動き補償ステップとを有する。【選択図】        図１
2006066987.tif 000002
【特許請求の範囲】
【請求項１】
動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成方法であって、
前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小ステップと、
前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成ステップと、
前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定ステップと、
前記動きベクトル生成ステップにおいて生成された前記動きベクトルと、前記相関判定ステップにおいて得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償ステップと
を有することを特徴とする補間フレーム生成方法。
【請求項２】
前記動きベクトル生成ステップにおいては、前記第１層第１参照フレームから前記第ｎ層第１参照フレームまでと、前記第１層第２参照フレームから前記第ｎ層第２参照フレームまでの複数のフレームに基づいて、前記第１参照フレームと前記第２参照フレーム間の動きベクトルを生成することを特徴とする請求項１に記載の補間フレーム生成方法。
【請求項３】
前記相関判定ステップにおいて分割された前記第ｍ層第１参照フレームの前記低相関領域をマスクする第ｍ層第１相関判定フィルタと、前記相関判定ステップにおいて分割された第ｍ層第２参照フレームの低相関領域をマスクする第ｍ層第２相関判定フィルタとを生成する相関判定フィルタ生成ステップをさらに有し、
前記動き補償ステップにおいては、前記動きベクトル生成ステップにおいて生成された前記動きベクトルと、前記相関判定ステップにおいて得られた前記第ｍ層第１相関判定フィルタと前記第ｍ層第２相関判定フィルタとに基づいて、前記補間フレームにおける所定の位置の画素値を決定することを特徴とする請求項１または２に記載の補間フレーム生成方法。
【請求項４】
前記相関判定ステップにおいては、前記第１層第１参照フレームに含まれる画像と前記第１層第２参照フレームに含まれる画像の相関に基づいて、前記第１層第１参照フレームおよび前記第１層第２参照フレームそれぞれを第１次高相関領域と第１次低相関領域とに分割し、
前記縮小ステップにおいては、前記前記第１層第１参照フレームの前記第１次高相関領域に基づいて、第２次第２層第１参照フレームから第２次第ｎ層縮小第１参照フレームまでを生成し、前記第１層第１参照フレームの前記第１次高相関領域に基づいて、第２次第２層第２参照フレームから第２次第ｎ層第２参照フレームまでを生成し、
前記動きベクトル生成ステップにおいては、前記第２次第１層第１参照フレームから前記第ｎ層第１参照フレームまでと、前記第２次第１層第２参照フレームから前記第２次第ｎ層第２参照フレームまでとに基づいて、前記第１参照フレームと前記第２参照フレーム間の第２次動きベクトルを生成し、
前記相関判定ステップにおいては、前記第１層第１参照フレームの前記第１次高相関領域に含まれる画像と前記第１次動きベクトルが指し示す前記第１層第２参照フレームの前記第１次高相関領域に含まれる画像との相関に基づいて、さらに前記第１層第１参照フレームおよび前記第１層第２参照フレームそれぞれを相対的に高い相関を示す第２次高相関領域と相対的に低い相関を示す第２次低相関領域とに分割し、
前記動き補償ステップは、前記動きベクトル生成ステップで得られた前記第２次動きベクトルと、前記相関判定ステップにおいて得られた前記第２層第１参照フレームの前記第２次高相関領域と前記第２層第２参照フレームの前記第２次高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定することを特徴とする  請求項１から３のいずれか一項に記載の補間フレーム生成方法。
【請求項５】
前記縮小ステップにおいては、前記第１層第１参照フレームの第ｋ−１次高相関領域に基づいて第ｋ次第２層第１参照フレームから第ｋ次第ｎ層第１参照フレームまでを生成し、第１層第２参照フレームの第ｋ−１次高相関領域に基づいて第ｋ次第２層第２参照フレームから第ｋ次第ｎ層第２参照フレームまでを生成し、
前記動きベクトル生成ステップにおいては、前記第ｋ次第１層第１参照フレームから前記第ｋ次第ｎ層第１参照フレームまでと、前記第ｋ次第１層第２参照フレームから前期第ｋ次第ｎ層縮小第２参照フレームまでとに基づいて、前記第１参照フレームと前記第２参照フレーム間の第ｋ次動きベクトルを生成し、
前記相関判定ステップにおいては、前記第１層第１参照フレームの前記第ｋ−１次高相関領域に含まれる画像と前記第ｋ次動きベクトルが指し示す前記第１層第２参照フレームの前記第ｋ−１高相関領域に含まれる画像との相関に基づいて、さらに前記第１層第１参照フレームおよび前記第１層第２参照フレームそれぞれを相対的に高い相関を示す第ｋ次高相関領域と相対的に低い相関を示す第ｋ次低相関領域とに分割し、
前記動き補償ステップは、前記動きベクトル生成ステップで得られた第ｋ次動きベクトルと、前記相関判定ステップにおいて得られた前記第１層第１参照フレームの第ｋ次高相関領域と前記第１層第２参照フレームの第ｋ次高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定することを特徴とする請求項４に記載の補間フレーム生成方法。
【請求項６】
前記動き補償ステップにおいて前記補間フレームの画素値を決定した後に、当該補間フレームの全ての位置の画素値が決定されたか否かを判定する判定ステップをさらに有し、
当該補間フレームの画素値が決定されていない位置の画素は、当該画素の周辺の画素より補間して画素値を決定することを特徴とする請求項１から５のいずれか一項に記載の補間フレーム生成方法。
【請求項７】
前記動きベクトル生成ステップにおいては、第ｍ＋１層第１参照フレームおよび第ｍ＋１層第２参照フレームに対する前記動きベクトル生成ステップにおいて生成した第ｍ＋１層動きベクトルに基づいて決定した動き探索範囲において動き探索を行うことによって、第ｍ層動きベクトルを生成することを特徴とする請求項１から６のいずれか一項に記載の補間フレーム生成方法。
【請求項８】
前記第１参照フレームおよび前記第２参照フレームは、それぞれ格子状に配置された１画素以上の画素により構成される複数のブロックを有し、
前記第ｍ層第１参照フレームおよび前記第ｍ層第２参照フレームに対する前記縮小ステップにおいては、前記第１参照フレームの前記低相関領域に含まれる複数の縮小対象ブロックを１つのブロックに縮小することによって前記第ｍ層第１参照フレームを生成し、かつ前記第２参照フレームの前記低相関領域に含まれる複数の縮小対象ブロックを１つのブロックに縮小することによって、前記第ｍ層第２参照フレームを生成することを特徴とする請求項１から７のいずれか一項に記載の補間フレーム生成方法。
【請求項９】
前記相関判定ステップにおいては、前記第１参照フレームにおける複数の前記縮小対象ブロックのいずれか１つが前記低相関領域である場合に、当該縮小対象ブロックを前記低相関領域とし、前記第２参照フレームにおける複数の前記縮小対象ブロックのいずれか１つが前記低相関領域である場合に、当該縮小対象ブロックを低相関領域とすることを特徴とする請求項１から８のいずれか一項に記載の補間フレーム生成方法。
【請求項１０】
前記第ｍ層縮小第１参照フレームおよび前記第ｍ層縮小第２参照フレームに対する前記縮小ステップにおいては、前記第ｍ−１層第１参照フレームのうち前記低相関領域の前記縮小対象ブロックのみを用いて前記第ｍ層縮小第１参照フレームを生成し、前記第ｍ−１層第２参照フレームのうち前記低相関領域の前記縮小対象ブロックのみを用いて前記第ｍ層縮小第２参照フレームを生成することを特徴とする請求項９に記載の補間フレーム生成方法。
【請求項１１】
前記第ｍ層第１参照フレームおよび前記第ｍ層第２参照フレームに対する縮小ステップにおいては、前記第１参照フレームにおける複数の前記縮小対象ブロックのうち低相関を示す縮小対象ブロックの画素の平均値を前記第ｍ層第１参照フレームにおける所定のブロックの画素値とし、かつ前記第ｍ層第２参照フレームにおける複数の前記縮小対象ブロックのうち低相関を示す縮小対象ブロックの画素の平均値を前記第ｍ層第２参照フレームにおける所定のブロックの画素値とすることを特徴とする請求項８から１０のいずれか一項に記載の補間フレーム生成方法。
【請求項１２】
前記第ｍ層第１参照フレームおよび前記第ｍ層第２参照フレームに対する縮小ステップは、前記第ｍ−１層縮小第１参照フレームにおける複数の前記縮小対象ブロックのうち前記低相関領域に該当する縮小対象ブロックの画素の平均値を前記第ｍ層第１参照フレームにおける所定のブロックの画素値とし、かつ前記第ｍ−１層第２参照フレームにおける複数の前記縮小対象ブロックのうち前記低相関領域に該当する縮小対象ブロックの画素の平均値を前記第ｍ層第２参照フレームにおける所定のブロックの画素値とすることを特徴とする請求項８から１１のいずれか一項に記載の補間フレーム生成方法。
【請求項１３】
前記第ｍ層第１参照フレームおよび前記第ｍ層第２参照フレームに対する前記縮小ステップは、前記第ｍ−１層第１参照フレームにおける垂直方向に２つ、水平方向に２つの計４つの縮小対象ブロックのうち、前記低相関領域に該当する前記縮小対象ブロックを１つのブロックに縮小することによって前記第ｍ層第１参照フレームを生成し、かつ前記第ｍ−１層第２参照フレームおける垂直方向に２つ、水平方向に２つの計４つの縮小対象ブロックのうち、前記低相関領域に該当する前記縮小対象ブロックを１つのブロックに縮小することによって前記第ｍ層第２参照フレームを生成することを特徴とする請求項８から１２のいずれか一項に記載の補間フレーム生成方法。
【請求項１４】
前記ブロックは、１画素であることを特徴とする請求項８から１３のいずれか一項に記載の補間フレーム生成方法。
【請求項１５】
前記相関判定ステップにおいては、前記第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第２参照フレームに含まれる画像の画素毎または複数の画素を有する領域毎の差分絶対値を求め、当該差分絶対値に基づいて相関を判定することを特徴とする請求項１から１４のいずれか一項に記載の補間フレーム生成方法。
【請求項１６】
前記相関判定ステップにおいては、前記第１参照フレームに含まれる第ｋ次高相関領域の画像と前記第ｋ次動きベクトルが指し示す前記第２参照フレームに含まれる第ｋ次高相関領域の画像に含まれる画素毎または前記第１参照フレームに含まれる第ｋ次高相関領域の画像と前記第ｋ次動きベクトルが指し示す前記第２参照フレームに含まれる第ｋ次高相関領域の画像に含まれる複数の画素を有する領域毎の差分絶対値を求め、当該差分絶対値に基づいて相関を判定することを特徴とする請求項５に記載の補間フレーム生成方法。
【請求項１７】
前記動きベクトル生成ステップにおいては、前記第ｍ層第１参照フレームを１画素以上の画素を含む複数の参照領域に分割し、当該参照領域と最も相関の高い対応領域を前記第ｍ層第２参照フレーム内で探索し、前記参照領域の位置と前記対応領域の位置を結ぶベクトルを前記参照領域の動きベクトルとすることを特徴とする請求項１から１６のいずれか一項に記載の補間フレーム生成方法。
【請求項１８】
前記動きベクトル生成ステップは、前記第ｍ層第１参照フレーム上の第１参照領域と、前記第１参照領域と前記補間フレームを中心とした幾何対称的な位置の前記第ｍ層第２参照領域上の第２参照領域を幾何対称的に探索することにより、前記第１参照領域と前記第２参照領域で最も相関の高い位置を求め、前記第１参照領域の位置と前記第２参照領域の位置を結ぶベクトルを前記第１参照領域の動きベクトルとして生成することを特徴とする請求項１から１７のいずれか一項に記載の補間フレーム生成方法。
【請求項１９】
動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成装置であって、
前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小手段と、
前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成手段と、
前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定手段と、
前記動きベクトル生成手段によって生成された前記動きベクトルと、前記相関判定手段において得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償手段と
を備えたことを特徴とする補間フレーム生成装置。
【請求項２０】
動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成処理をコンピュータに実行させる補間フレーム生成プログラムであって、
前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小ステップと、
前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成ステップと、
前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定ステップと、
前記動きベクトル生成ステップにおいて生成された前記動きベクトルと、前記相関判定ステップにおいて得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償ステップと
を有することを特徴とする補間フレーム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラムに関するものである。
【背景技術】
【０００２】
近年、冷陰極管線（以下、ＣＲＴ）や液晶ディスプレイ（以下、ＬＣＤ）、有機エレクトロルミネッセンスディスプレイ（以下、ＥＬディスプレイ）など様々なディスプレイ上で動画を表示する機会が増えてきている。
【０００３】
これらのディスプレイは、その表示方法によって、ホールド型表示装置と、インパルス型表示装置に分けられる。ＬＣＤやＥＬディスプレイのようなホールド型表示装置では、表示された動画の所定のフレームが１フレーム期間保持されて表示される。
【０００４】
このため、動体は、フレーム期間毎に不連続に動いていく。したがって、観察者が動体を滑らかに追従しながら観察している場合でも、観察者の滑らかな視線の移動と表示されている動体の不連続な動きとのずれにより、動画はぼけて観察者に認識される。これは一般にホールド効果による動画劣化と言われている。
【０００５】
一方、動画は、その用途に応じて様々なフレームレートを有している。ディスプレイもまた様々なフレームレートを有しており、動画のフレームレートは、表示するディスプレイに応じて変換する必要がある。
【０００６】
例えば映画は、秒間２４コマ（２４ｆｐｓ）であり、一般に使われる６０Ｈｚのリフレッシュレートを有するディスプレイに表示するためには、２−３プルダウン（ｐｕｌｌ  ｄｏｗｎ）変換が使われる。これは、同じコマを２コマ、３コマと表示することにより単純にフレームレートを変換するものである。しかし、上記のような方法では、動画のコマ数が不十分なため、動きが不自然に不連続となりぎくしゃくした印象を受ける。
【０００７】
上記のような問題を解決するためには、動画の動きに応じた新たな補間フレームを作成し内挿することにより、フレーム数を増やす必要がある。
【０００８】
この補間フレームを作成する手段としては、例えばＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）で用いられているようなブロックマッチングによりブロックの動きベクトルを求め、それを用いて、内挿する補間フレームを作成する方法がある。
【０００９】
また他の方法としては、ブロックを基準とした動きベクトル探索の後に、更に画素レベルでブロック基準の動きベクトル周辺を探索するものがある。これによれば、より細かい動きに対応できる（「特許文献１」参照）。
【００１０】
【特許文献１】特開平１１−１１２９４０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、例えばＭＰＥＧで用いられている動き推定では、ブロックを基準として動きベクトルを探索しているため、作成された補間フレームにブロック歪が発生する。また、画素レベルの探索を用いた方法においては、ブロックを基準として得られた動きベクトル周辺を画素レベルで探索する。このため、ブロック内部に複数の動きが含まれている場合には、十分に正しい動きベクトルを探索することが困難となる。
【００１２】
本発明は上記課題に鑑みてなされたものであり、ブロック内部の複数の動きを考慮しつつ、ブロック歪の抑制された補間フレームを作成する方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成方法であって、前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小ステップと、前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成ステップと、前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定ステップと、前記動きベクトル生成ステップにおいて生成された前記動きベクトルと、前記相関判定ステップにおいて得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償ステップとを有することを特徴とする。
【００１４】
また本発明は、動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成装置であって、前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小手段と、前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成手段と、前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定手段と、前記動きベクトル生成手段によって生成された前記動きベクトルと、前記相関判定手段において得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償手段とを備えたことを特徴とする。
【００１５】
また、本発明は、動画の第１参照フレームと第２参照フレームとの間の補間フレームを生成する補間フレーム生成処理をコンピュータに実行させる補間フレーム生成プログラムであって、前記第１参照フレームである第１層第１参照フレームをｍ−１回縮小して、第ｍ層第１参照フレーム（ｍは２以上，ｎ以下の整数、ｎは２以上の整数）を生成するステップを繰り返すことによって、第２層第１参照フレームから第ｎ層第１参照フレームまでを生成し、前記第２参照フレームである第１層第２参照フレームをｍ−１回縮小して、第ｍ層第２参照フレームを生成するステップを繰り返すことによって、第２層第２参照フレームから第ｎ層第２参照フレームまでを生成する縮小ステップと、前前記第１参照フレームと前記第２参照フレームとの間の動きベクトルを生成する動きベクトル生成ステップと、前記第ｍ層第１参照フレームに含まれる画像と前記動きベクトルが指し示す前記第ｍ層第２参照フレームに含まれる画像との相関に基づいて、前記第ｍ層第１参照フレーム及び前記第ｍ層第２参照フレームそれぞれを相対的に高い相関を示す高相関領域と相対的に低い相関を示す低相関領域とに分割する相関判定ステップと、前記動きベクトル生成ステップにおいて生成された前記動きベクトルと、前記相関判定ステップにおいて得られた前記第ｍ層第１参照フレームの前記高相関領域と前記第ｍ層第２参照フレームの前記高相関領域とに基づいて、前記補間フレームにおける所定の位置の画素値を決定する動き補償ステップとを有することを特徴とする。
【発明の効果】
【００１６】
本発明にかかる補間フレーム生成方法は、動きベクトル生成ステップにおける動き探索の基準となるブロックを相関判定ステップにおいて複数の領域に分割し、動きベクトルを割り当てることができるため、ブロック内部の複数の動きを考慮しつつ、ブロック歪の抑制された補間フレームを作成することができるという効果を奏する。更に、縮小ステップにより入力フレームを階層的に縮小し、動きベクトル生成ステップでは、階層的に縮小された入力フレームを用いて動きベクトル探索を行うため、演算量を低減することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明にかかる補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１８】
（実施の形態１）
図１は、本発明の補間フレーム生成方法を行う補間フレーム生成装置１００の機能構成を示すブロック図である。補間フレーム生成装置１００は、フレームメモリ１０２と、フレーム縮小部１０４と、動き推定部１０６と、相関判定部１０８と、繰り返し数判定部１１０と、動き補償部１２０とを備えている。
【００１９】
図２は、本実施の形態にかかる補間フレーム生成装置１００が生成する補間フレーム４００を示す図である。本実施の形態においては、補間フレーム生成装置１００が入力動画に含まれる連続する２つのフレームであるＮフレーム２００とＮ＋１フレーム３００の間の補間フレーム４００を生成する場合について説明する。補間フレーム４００は、図２に示すように、時間軸方向において、Ｎフレーム２００とＮ＋１フレーム３００の中央位置のフレームとする。
【００２０】
図２において、ｔはフレーム間隔時間を示している。例えば、６０ｆｐｓであれば、ｔは、１／６０秒を示している。また、３０ｆｐｓであれば、ｔは１／３０秒を示している。すなわち、入力動画が３０ｆｐｓの場合は６０ｆｐｓに、６０ｆｐｓの場合は１２０ｆｐｓに変換される。
【００２１】
外部からの入力動画、すなわち複数のフレームは、フレームメモリ１０２およびフレーム縮小部１０４に入力される。フレームメモリ１０２は、取得した各フレームを保持する。フレーム縮小部１０４は、外部からＮ＋１フレーム３００を取得し、かつフレームメモリ１０２において１フレーム期間遅延されたＮフレーム３００を取得する。
【００２２】
フレーム縮小部１０４は、外部から入力された２つのフレームをサブサンプル処理し縮小する。動き推定部１０６は、縮小された２つのフレームを用いて動き推定を行う。すなわち、２つのフレーム間の動きベクトルを求める。動き推定部１０６は、図３に示すようなブロックマッチングにより動き推定を行う。
【００２３】
すなわち、動き推定の基準となるフレームを複数画素から構成されるブロックに分割し、各ブロックを参照ブロック５００とする。次に動き推定の探索先フレーム上で最も参照ブロック５００との相関が高いブロック位置を探索し、対応ブロック５０２とする。参照ブロック５００と対応ブロック５０２の空間的なベクトルが動きベクトル５０４となる。
【００２４】
本実施の形態においては、Ｎフレーム２００からＮ＋１フレーム３００への動き推定において基準となるＮフレーム２００を複数画素から構成されるブロックに分割し、各ブロックを参照ブロック５００とする。次に動き推定の探索先フレームとなるＮ＋１フレーム３００上で最も参照ブロック５００との相関が高いブロック位置を探索し、対応ブロック５０２とする。
【００２５】
相関判定部１０８は、参照ブロック５００と対応ブロック５０２の相関を判定し、Ｎフレーム２００およびＮ＋１フレーム３００をそれぞれ高相関領域５２０と低相関領域５３０に分割する。
【００２６】
繰り返し数判定部１１０では、フレーム縮小部１０４から相関判定部１０８までの処理が、予め設定されている繰り返し回数だけ繰り返されたか否かを判定する。繰り返し数未満であれば、フレーム縮小部１０４から相関判定部１０８に対して再度処理を行わせる。
【００２７】
なお、フレーム縮小部１０４では、２回目以降の処理では、相関判定部１０８により低相関と判定された低相関領域５３０を用いて縮小フレームを生成する。
【００２８】
動き補償部１２０は、繰り返し数判定部１１０が繰り返し回数に達したと判定した場合に、動き推定部１０６および相関判定部１０８による処理結果、すなわち、動きベクトル、相関判定結果、及びＮフレーム２００、Ｎ＋１フレーム３００を用いて動き補償を行い、補間フレーム４００を作成する。
【００２９】
図４は、補間フレーム生成装置１００の補間フレーム４００生成処理を示すフローチャートである。繰り返し回数設定ステップ(Ｓ１００)では、後述する相関判定フィルタ縮小ステップ（Ｓ１０４）、入力フレーム縮小ステップ（Ｓ１０６）、動き推定ステップ（Ｓ１０８）、相関判定ステップ（Ｓ１１０）の繰り返し回数を設定する。
【００３０】
本実施形態にかかる補間フレーム生成装置１００では、動き推定ステップ（Ｓ１０８）において得られた参照ブロックと対応ブロックの相関演算を行い、この演算結果を利用して各フレームを高相関領域５２０と低相関領域５３０に分割する。その後、さらに、低相関領域５３０に対して動き推定を行う。以上の処理を再帰的に行う。
【００３１】
繰り返し回数設定ステップ(Ｓ１００)では、この再帰的処理の繰り返し回数を設定する。本実施形態では、繰り返し回数を２に設定する。同時に現在の繰り返し数を示すカウンタｎを１に設定する。
【００３２】
相関判定フィルタ初期化ステップ（Ｓ１０２）では、入力フレームと同じサイズの相関判定フィルタとしてＮフレーム２００の相関判定フィルタＦｃｊ（Ｎ，０，１）およびＮ＋１フレーム３００の相関判定フィルタＦｃｊ（Ｎ＋１，０，１）を生成する。ここで、Ｆｃｊ（Ｎ，ｎ，Ｌ）は、Ｎフレームにおける繰り返し回数ｎ回目のＬ階層の相関判定フィルタを示しており、Ｌは階層番号（Ｌ＝１は縮小を行っていない状態）、ｎ＝０は初期状態を示している。相関判定フィルタ初期化ステップ（Ｓ１０２）において生成する相関判定フィルタＦｃｊ（Ｎ，０，１）およびＮ＋１フレーム３００の相関判定フィルタＦｃｊ（Ｎ＋１，０，１）の全ての要素は低相関である。
【００３３】
ここで、相関判定フィルタとは、Ｎフレーム２００とＮ＋１フレーム３００の相関を示すフィルタである。相関判定フィルタは以下の方法で作成する。すなわち、まず後述の動き推定ステップ（Ｓ１０８）におけるブロックマッチングにより求められた参照ブロックと対応ブロックの画素毎の相関を求める。そして、相関の高い画素に対応する相関判定フィルタの位置に高相関を示す情報を割り当て、相関の低い画素に対応する相関判定フィルタの位置に低相関を示す情報を割り当てる。
【００３４】
相関判定フィルタについては、後述の相関判定ステップ（Ｓ１１０）の説明において詳述する。なお、相関判定フィルタは、各要素（画素）に高相関／低相関の情報が保持できれば良いため、各要素１ビットの情報が保持できるものでよい。
【００３５】
相関判定フィルタ縮小ステップ（Ｓ１０４）では、相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）、Ｆｃｊ（Ｎ＋１，ｎ−１，１）をサブサンプリング処理により階層的に縮小する。そして、各階層の相関判定フィルタＦｃｊ（Ｎ，ｎ−１，Ｌ）、Ｆｃｊ（Ｎ＋１，ｎ−１，Ｌ）を生成する。
【００３６】
本実施の形態においては、入力フレームから１つ以上の縮小されたフレームを生成し、最も縮小された入力フレーム間から階層的にブロックマッチングを行い、動きベクトルを求める。相関判定フィルタ縮小ステップ（Ｓ１０４）では、このとき利用する縮小された相関判定フィルタを生成する。
【００３７】
図５は、相関判定フィルタを縮小する過程を模式的に示している。説明を簡単にするために、図５においては、水平、垂直画素数が４つからなる相関判定フィルタに対して２回縮小処理を行い、水平、垂直画素数が１つの相関判定フィルタ、すなわち第３階層相関判定フィルタ５１３を生成する過程を示している。
【００３８】
まず、第１階層相関判定フィルタ５１１から第２階層相関判定フィルタ５１２を生成する。具体的には、第１階層相関判定フィルタ５１１における水平方向に２画素、垂直方向に２画素の計４画素を第２階層相関判定フィルタ５１２の１画素とする。同様に第２階層相関判定フィルタ５１２における４画素を第３階層相関判定フィルタ５１３の１画素とする。
【００３９】
各縮小処理においては、縮小対象となる４つの画素のうち、１つでも低相関の要素がある場合には、その上位の階層の画素を低相関領域５３０とする。
【００４０】
図５においては、第２階層相関判定フィルタ５１２の縮小対象である、第１階層相関判定フィルタ５１１の右下の４つの画素のうち２つは、低相関の要素であり、残りの２つは高相関の要素である。すなわち、縮小対象となる４つの画素に低相関の要素が存在するので、第２階層相関判定フィルタ５１２における対応する要素を低相関とする。
【００４１】
また、第１階層相関判定フィルタ５１１の右上の４つの画素は全て高相関の要素である。したがって、第２階層相関判定フィルタ５１２における要素を高相関とする。
【００４２】
以上の処理を再起的に行うことによって、階層化された複数の相関判定フィルタを生成する。
【００４３】
なお、１回目の繰り返し処理（繰り返し数カウンタｎが１の場合）では、相関判定フィルタの全ての要素が低相関であるため、階層的に生成される相関判定フィルタの全ての要素は低相関である。
【００４４】
入力フレーム縮小ステップ（Ｓ１０６）では、相関判定フィルタ縮小ステップ（Ｓ１０４）で生成された階層的な相関判定フィルタを参照して、入力フレームを階層的に縮小する。具体的には、Ｎフレーム２００の階層的な相関判定フィルタＦｃｊ（Ｎ，ｎ−１，Ｌ）を参照して、Ｎフレーム２００を縮小する。また、Ｎ＋１フレーム３００の階層的な相関判定フィルタＦｃｊ（Ｎ＋１，ｎ−１，Ｌ）を参照して、Ｎ＋１フレーム３００を縮小する。
【００４５】
図６は、相関判定フィルタを参照して入力フレームを縮小する過程を模式的に示している。なお、図６に示す格子１つが１つの画素を表している。また、格子中の数値は、各画素の画素値を表している。
【００４６】
図６においては、縮小されていないＮフレーム２００、すなわち第１階層ＮフレームＦ（Ｎ，１）２１０を縮小して、第２階層のＮフレーム２００、すなわち第２階層ＮフレームＦ（Ｎ，２）２２０を生成する過程を示している。ここで、Ｆ（Ｎ，Ｌ）はＮフレームにおけるＬ階層の画像を示している。
【００４７】
ここで、第１階層ＮフレームＦ（Ｎ，１）２１０は、水平方向に４画素、垂直方向に４画素の計１６画素を有している。また、第２階層ＮフレームＦ（Ｎ，２）２２０は、水平方向に２画素、垂直方向に２画素の計４画素を有している。
【００４８】
第１階層相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）５１１を参照して第１階層ＮフレームＦ（Ｎ，１）２１０を縮小する。具体的には、まず、第１階層の相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）５１１を用いて第１階層Ｎフレーム（Ｎ，１）２１０の高相関領域５２０をマスクする。次に、高相関領域５２０をマスクされた第１階層Ｎフレーム２１２において、水平方向に２画素、垂直方向に２画素の合計４画素を１つの画素にサブサンプリングを行う。これにより第２階層ＮフレームＦ（Ｎ，２）２２０を生成する。なお、高相関領域５２０としてマスクされた画素は、サブサンプリング対象から除外する。
【００４９】
本実施形態では、サブサンプリングの対象画素を平均することでサブサンプリング処理を行う。例えば、高相関領域５２０をマスクされた第１階層Ｎフレーム２１２の右上の４つの画素では、４つの画素のうち、上側２つの画素が高相関領域５２０としてマスクされている。そこで、サブサンプリング処理は、式１に示すように下側２つの画素に対して処理される。すなわち、下側２つの画素の平均値を算出する。
（４０＋１０）／２＝２５      ・・・（式１）
そして、算出された平均値を第２階層Ｎフレーム２２０の右上の画素として決定する。
【００５０】
また、高相関領域５２０をマスクされた第１階層Ｎフレーム２１２の右下の４つの画素は、いずれの画素も高相関領域５２０としてマスクされていないため、式２に示すように４つの画素すべてに対してサブサンプリング処理される。すなわち、４つの画素すべての平均値を算出する。
（４０＋２０＋１０＋１０）／４＝２０      ・・・（式２）
以上の処理により算出された平均値を第２階層Ｎフレーム２００の右下の画素として決定する。
【００５１】
高相関領域５２０をマスクされた第１階層Ｎフレーム２１２の左上の４つの画素は、すべて高相関領域５２０としてマスクされている。したがって、第２階層Ｎフレーム２２０では不定領域２２２となる。この領域については、縮小処理は行わない。不定領域２２２には、処理上、０などの適当な画素値を割り当てておく。
【００５２】
以上の処理と同様の処理を各階層において行うことにより階層化されたＮフレームＦ（Ｎ，Ｌ）を生成する。Ｎ＋１フレーム３００についても同様である。
【００５３】
動き推定ステップ（Ｓ１０８）では、相関判定フィルタ縮小ステップ（Ｓ１０４）で求められた階層化された相関判定フィルタおよび入力フレーム縮小ステップ（Ｓ１０６）で求められた階層化された入力フレームを用いて階層的に動き推定を行う。
【００５４】
図７は、動き推定ステップにおける詳細な処理を示すフローチャートである。初期マスク設定ステップ（Ｓ２００）では、最上位階層Ｌｍａｘ（すなわち、最も縮小された階層）の入力フレームＦ（Ｎ，Ｌｍａｘ）及びＦ（Ｎ＋１，Ｌｍａｘ）に対し、最上位階層の相関判定フィルタＦｃｊ（Ｎ，ｎ−１，Ｌｍａｘ）及びＦｃｊ（Ｎ＋１，ｎ−１，Ｌｍａｘ）を用いて、高相関領域５２０をマスクする。
【００５５】
図８は、マスクの設定方法を模式的に示している。図８は、垂直、水平４画素から構成される最上位階層のＮフレーム２００Ｆ（Ｎ，Ｌｍａｘ）に、最上位階層の相関判定フィルタＦｃｊ（Ｎ，ｎ−１，Ｌｍａｘ）を適用する場合を示している。
【００５６】
図８に示すように最上位階層の入力フレームＦ（Ｎ，Ｌｍａｘ）２３０の高相関領域５２０をマスクすることにより、高相関領域５２０をマスクされたフレームＦｍ（Ｎ，Ｌｍａｘ）２３２を生成する。最上位階層の入力フレームＦ（Ｎ＋１，Ｌｍａｘ）についても同様に、高相関領域５２０をマスクされたフレームＦｍ（Ｎ＋１，Ｌｍａｘ）を生成する。ここで、Ｆｍ（Ｎ，Ｌ）は、Ｎフレームにおける第Ｌ階層の高相関領域をマスクされたフレームを示している。
【００５７】
初期ブロック分割ステップ（Ｓ２０２）では、高相関領域５２０をマスクされたＦｍ（Ｎ，Ｌｍａｘ）２３２をブロックに分割する。このブロックは、ブロックマッチングによる動き推定を行う基準となるブロックである。本実施形態では、Ｎフレーム２００からＮ＋１フレーム３００への動き探索を行うため、Ｎフレーム２００をブロックに分割し（Ｓ２０２）、参照ブロックＢＲ（ｉ）（ｉはブロックの番号）におけるｉに０を設定する（Ｓ２０４）。
【００５８】
初期動き探索ステップ（Ｓ２０６）では、初期ブロック分割ステップ（Ｓ２０２）で設定した参照ブロック毎に動き探索を行い、参照ブロック毎の動きベクトルを求める。動き探索は、図３に示すように、Ｎフレーム２００上の参照ブロックに対し、Ｎ＋１フレーム３００上で最も相関の高いブロック位置（動きベクトル）を求める方法であるブロックマッチングとした。
【００５９】
Ｎフレーム２００とＮ＋１フレーム３００の相関値としては、絶対値差分和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ：ＳＡＤ）、一致画素数（Ｍａｘｉｍｕｍ  ｍａｔｃｈｉｎｇ  Ｐｅｌ  Ｃｏｕｎｔ：ＭＰＣ）等がある。
【００６０】
ＳＡＤは、式３により求めることができる。
【数１】
2006066987.tif 000003
ここでｘはフレームにおける画素の位置を示している。Ｂはブロック内画素位置の集合である。ＦＤ（Ｎ）はＮフレームの相関判定フィルタの低相関領域５３０（画素位置の集合）を示している。ＢＤはブロック内画素におおける低相関領域５３０の画素位置の集合を示している。Ｎはフレーム数を表し、ｄは動きベクトルを表している。ｆ（ｘ，Ｎ）は、Ｎフレームの位置ｘの画素の輝度成分を表している。
【００６１】
式３に示すように、本実施形態では、参照ブロックのうち相関判定フィルタの低相関領域５３０に対応する領域に対して絶対値差分演算を行い相関値を求める。すなわち、参照ブロックのうち相関判定フィルタの高相関領域５２０に対応する領域に対する絶対値差分演算は行わない。
【００６２】
式３においてＳＡＤが最小となるｄをＮフレーム２００からＮ＋１フレーム３００への動きベクトルＭＶとする。そして、ＭＶが示す先のＮ＋１フレーム３００上のブロックを対応ブロックとする。
【００６３】
また、ＭＰＣは式４により求めることができる。
【数２】
2006066987.tif 000004
【数３】
2006066987.tif 000005
式４および式５は、ブロック内の輝度成分の絶対値差分が閾値Ｔｈより小さい画素数を求めるための式である。
【００６４】
式４および式５においても式３と同様に、参照ブロックのうち相関判定フィルタの低相関領域５３０に対応する領域に対して絶対値差分演算を行い、相関値を求める。
【００６５】
式４および式５においてＭＰＣが最大となるｄをＮフレーム２００からＮ＋１フレーム３００への動きベクトルＭＶとする。さらにＭＶが示す先のＮ＋１フレーム３００上のブロックを対応ブロックとする。本実施形態の形態にかかる補間フレーム生成装置１００は、相関値としてＭＰＣを用いる。
【００６６】
上述の処理により最上位階層Ｌｍａｘにおける参照ブロックＢＲ（ｉ）毎の動きベクトルＭＶ（ｉ，Ｌｍａｘ，ｎ）を求める。ここで、ＭＶ（ｉ，Ｌ，ｎ）は、繰り返し回数ｎの第Ｌ階層におけるブロック番号ｉの動きベクトルを示している。
【００６７】
上記のような動き探索を、分割された全ての参照ブロックについて行うことにより、最上位階層Ｌｍａｘにおける動きベクトルを求めることができる。
【００６８】
マスク設定ステップ（Ｓ２２０）では、初期マスク設定ステップ（Ｓ２００）と同様に、第Ｌ階層の相関判定フィルタＦｃｊ（Ｎ，ｎ−１，Ｌ）を用いて、第Ｌ階層の入力フレームＦ（Ｎ，Ｌ）に対するマスクを設定する。また、Ｆｃｊ（Ｎ＋１，ｎ−１，Ｌ）を用いて、Ｆ（Ｎ＋１，Ｌ）に対するマスクを設定する。
【００６９】
ブロック分割ステップ（Ｓ２２２）では、初期ブロック分割設定ステップと同様に、高相関領域５２０がマスクされたＦｍ（Ｎ，Ｌ）をブロックマッチングによる動き探索の基準となるブロックに分割する。
【００７０】
動き探索ステップ（Ｓ２２４）では、初期動き探索ステップ（Ｓ２０６）と同様に参照ブロック毎の動きベクトルＭＶ（ｉ，Ｌ，ｎ）を求める。
【００７１】
ブロックマッチングによる動き探索方法は、初期動き探索ステップ（Ｓ２０６）と同様であるが、動き探索ステップ（Ｓ２２４）では、１つ上位の階層（Ｌ＋１階層）の動きベクトルＭＶ（ｉ，Ｌ＋１，ｎ）を初期動きベクトルとして、初期動きベクトルが指し示す位置の周辺のみに対して動き探索を行い、動きベクトルＭＶ（ｉ，Ｌ，ｎ）を求める。
【００７２】
図９−１および図９−２は、動き探索ステップ（Ｓ２２４）において動き探索を行う動き探索範囲について説明するための図である。図９−１は、垂直方向に６画素、水平方向に６画素の合計３６画素を含む第Ｌ＋１階層のＮフレームを示している。図９−２は、図９−１に示す第Ｌ＋１階層のＮフレームに対し、垂直方向に２画素、水平方向に２画素の合計４画素を含む参照ブロックを用いて求めた動きベクトルＭＶ（ｉ，Ｌ＋１，ｎ）５４０を初期ベクトルとして決定された第Ｌ階層の動きベクトルの探索範囲５４２を示している。
【００７３】
図９−１に示すように、第Ｌ＋１階層の右下の参照ブロックに対し、動きベクトルＭＶ（ｉ，Ｌ＋１，ｎ）＝（−１，２）が求まっているとする。
【００７４】
第Ｌ＋１階層の垂直、水平２画素よりなる参照ブロックは、第Ｌ階層では、垂直、水平４画素よりなる参照ブロックとなる。すなわち、第Ｌ階層は、垂直、水平画素数が２倍の大きさとなる。そこで、第Ｌ＋１階層における動きベクトルＭＶ（ｉ，Ｌ＋１，ｎ）を２倍の大きさにスケール変換して、第Ｌ階層における動き探索の初期動きベクトルとする。すなわち、第Ｌ＋１階層の動きベクトルがＭＶ（ｉ，Ｌ＋１，ｎ）＝（−１，２）の場合、第Ｌ階層における動き探索の初期動きベクトルは、動きベクトル（−２，４）となる。
【００７５】
第Ｌ階層では、図９−２に示すように、この初期動きベクトルの周辺のみを探索し、第Ｌ階層の動きベクトルＭＶ（ｉ，Ｌ，ｎ）を求める。
【００７６】
上位階層において、大まかな動きベクトルが求められている。したがって、下位階層では、上位階層における動きベクトルにより指定される位置の周辺のみを探索することにより精度良く動きベクトルを求めることができる。
【００７７】
このように、階層的に動きベクトルを求めることにより、相関演算回数を低減させることが可能となり、動き探索処理の処理コストを低減させることができる。
【００７８】
動き探索処理は、処理コストが非常に大きい処理であり、階層化による処理コスト低減は、補間フレーム生成の全処理コスト低減に対する寄与は非常に大きい。上記のような階層的な動き探索処理を、全ての参照ブロックについて第１階層まで行うことにより、目的とする第１階層における動きベクトルＭＶ（ｉ，１，ｎ）を求めることができる。
【００７９】
以上、マスク設定ステップ（Ｓ２２０）から動き探索ステップ（Ｓ２２４）までの処理をすべてのブロックについて行う（Ｓ２２６，Ｓ２２８）。さらに、全ての階層について行う（Ｓ２３０，２３２）。以上で、動き推定ステップ（Ｓ１０８）における処理が完了する。
【００８０】
再び説明を図４に戻す。上述の動き推定ステップ（Ｓ１０８）で求めた動きベクトルを用いて、相関判定ステップ（Ｓ１１０）では、相関判定フィルタＦｃｊ（Ｎ，ｎ，１）及びＦｃｊ（Ｎ＋１，ｎ，１）を高相関領域５２０と低相関領域５３０に分割する。
【００８１】
相関判定ステップ（Ｓ１１０）では、Ｎフレーム２００上の参照ブロックと、Ｎ＋１フレーム３００上の動きベクトルが指し示す対応ブロックにおいて、画素毎に相関値演算を行い、画素毎に低相関、高相関を判定する。
【００８２】
図１０は、相関判定フィルタＦｃｊ（Ｎ，ｎ，１）及びＦｃｊ（Ｎ＋１，ｎ，１）の生成過程を模式的に示している。入力フレームＦ（Ｎ，１）及びＦ（Ｎ＋１，１）に対し、相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）及びＦｃｊ（Ｎ＋１，ｎ−１，１）を用いて高相関領域５２０をマスクする。
【００８３】
高相関領域５２０をマスクされたＦｍ（Ｎ，１）を、動き探索ステップ（Ｓ２２４）で用いた参照ブロックに分割し、高相関領域５２０をマスクされた参照ブロック５６０を得る。さらに、動き推定ステップ（Ｓ１０８）で求めた参照ブロックの動きベクトルが指し示すＮ＋１フレーム３００上の高相関領域５２０をマスクされた対応ブロック５６２を求める。
【００８４】
上記参照ブロック５６０と対応ブロック５６２について、マスクされていない低相関領域５３０の各画素について、絶対値差分演算を行い、差分ブロック５６４を求める。差分ブロック５６４と同じサイズの相関判定ブロック５６８を用意し、差分ブロックの差分値が求められている低相関領域５３０について閾値判定を行い、閾値より大きい画素を低相関、小さい画素を高相関として相関判定ブロック５７０に設定する。
【００８５】
本実施形態では、閾値を５と設定し、５以下を高相関領域５２０とする。なお、差分ブロックの高相関領域５２０は、相関判定ブロック５７０上でも高相関領域５２０として設定する。
【００８６】
このように得られた相関判定ブロック５７０を、相関判定フィルタＦｃｊ（Ｎ，ｎ，１）の参照ブロック位置、Ｆｃｊ（Ｎ＋１，ｎ，１）の対応ブロック位置に設定することにより、相関判定フィルタの参照ブロック位置、対応ブロック位置の高相関、低相関領域分割を行う。上記処理を全ての参照ブロック、対応ブロックについて行うことにより、相関判定フィルタＦｃｊ（Ｎ，ｎ，１）及びＦｃｊ（Ｎ＋１，ｎ，１）を求めることができる。
【００８７】
繰り返し数カウンタｎが１の場合、相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）及びＦｃｊ（Ｎ＋１，ｎ−１，１）は全ての要素が低相関であるため、全ての画素について絶対値差分演算を行い相関判定フィルタＦｃｊ（Ｎ，ｎ，１）及びＦｃｊ（Ｎ＋１，ｎ，１）を求める。
【００８８】
繰り返し回数判定ステップ（Ｓ１１２）では、予め設定した繰り返し回数に達しているかを判定する。繰り返し回数に達していない場合は(Ｓ１１２，Ｎｏ)、ｎを１加算し（Ｓ１１４）相関判定フィルタ縮小ステップ（Ｓ１０４）から相関判定ステップ（Ｓ１１０）を再度繰り返す。繰り返し回数に達している場合は(Ｓ１１２，Ｙｅｓ)、動き補償ステップ（Ｓ１２０）に進む。
【００８９】
動き補償ステップ（Ｓ１２０）では、上記処理により得られた相関判定フィルタ、動きベクトルを用いて、Ｎフレーム２００とＮ＋１フレーム３００から動き補償を行い、補間フレーム４００を生成する。
【００９０】
図１１は、動き補償ステップ（Ｓ１２０）における詳細な処理を示すフローチャートである。繰り返し回数設定ステップ(Ｓ３００)では、図４における繰り返し回数設定ステップ(Ｓ１００)と同様に、繰り返し回数を設定し、現在の繰り返し回数を示すカウンタｎを１に設定する。
【００９１】
ブロック分割ステップ（Ｓ３０２）では、動き推定ステップ（Ｓ１０８）で用いた参照ブロックサイズに入力フレームＦ（Ｎ，１）を分割する。
【００９２】
動き補償フィルタ生成ステップ（Ｓ３０４）では、相関判定フィルタＦｃｊ（Ｎ，ｎ−１，１）及びＦｃｊ（Ｎ，ｎ，１）を用いて動き補償フィルタＦｍｃを生成する。図１２は、動き補償フィルタの生成過程を模式的に示している。相関判定フィルタの高相関領域５２０を１、低相関領域５３０を０とすると、動き補償フィルタＦｍｃ５８０は、図１２に示すようにＦｃｊ（Ｎ，ｎ−１，１）５７２とＦｃｊ（Ｎ，ｎ，１）５７０の排他的論理和演算により求めることができる。
【００９３】
補間フレーム生成ステップ（Ｓ３０６）では、動き補償フィルタＦｍｃ５８０の高相関領域５２０に対応する参照ブロックＢＲ（ｉ）を動きベクトルＭＶ（ｉ，１，ｎ）を用いて動き補償を行い、補間フレーム４００を生成する。
【００９４】
動き補償方法としては様々に考えられるが、本実施形態においては、動きベクトルに従い、対象領域を補間フレーム４００候補上に貼り付ける方法とした。この補間フレーム４００生成方法を以下に詳細に説明する。
【００９５】
動き推定ステップ（Ｓ１０８）で求められた動きベクトルＭＶは、入力フレーム間の動きベクトルである。したがって、補間フレーム４００を動き補償により求めるために、動きベクトルのスケール変換が必要となる。
【００９６】
図１３は、スケール変換処理を説明するための図である。図１３に示すようにＮフレーム２００とＮ＋１フレーム３００間をｐ：１−ｐ（０＜ｐ＜１）に分割する位置に補間フレーム４００を生成するとする。
【００９７】
Ｎフレーム２００の参照ブロックからＮ＋１フレーム３００の対応ブロックへの動きベクトルをＭＶとすると、Ｎフレーム２００からＮ＋ｐフレームへの動きベクトルＭＶＩに変換するために、Ｎフレーム２００からの距離に応じてスケール変換を行う。
【００９８】
この変換は、式６により表される。
【数４】
2006066987.tif 000006
本実施形態においては、Ｎフレーム２００とＮ＋１フレーム３００の時間的中央の位置に補間フレーム４００を内挿するために、ｐは０．５となる。
【００９９】
上記のように、動きベクトルをスケール変換し、動き補償のための動きベクトルを求めた後、参照ブロック上の画素を動きベクトルに従い補間フレーム４００上に貼り付ける。
【０１００】
参照フレームの位置Ｘの画素をＰ（Ｘ）、補間フレーム４００の位置Ｘの画素をＩ（Ｘ）、動き補償フィルタの高相関領域５２０をＦＡ、とすると、参照フレームは、以下の式に従い補間フレーム４００に貼り付けられる。
【数５】
2006066987.tif 000007
【０１０１】
このように貼り付けを行った場合、貼り付けた領域同士が重なったり、貼り付けた領域間に隙間が発生したりする恐れがある。ただし、重なった領域は、重なった領域の平均や中央値もしくは、後から重ねられた領域が常に上書きする構成とすればよく、隙間領域に関しては、後述する後処理ステップにより処理される。
【０１０２】
全ての参照ブロックに対し、所定の繰り返し回数動き補償を行った後、後処理ステップ（Ｓ３１６）において、最終的に補間フレーム４００上に画素が割り当てられなかった隙間領域に対し、空間方向より画素値を割り当てる。すなわち、注目画素（補間フレーム４００上に画素が貼り付けられていない画素）の４近傍もしくは８近傍の画素の平均値もしくは中央値を注目画素に貼り付ける。
【０１０３】
補間フレーム４００上で画素が貼り付けられていない画素数は僅かであるため、上記処理で十分に補間フレーム４００の隙間を埋めることが可能である。
【０１０４】
以上、本実施形態によれば、動き推定のために分割された領域（参照ブロック）に複数の動きを割り当てることができるため、ブロック歪の抑制された補間フレーム４００を求めることが可能となる。更に、階層的に動き推定を行うことにより、処理時間を大幅に低減することが可能となる。
【０１０５】
図１４は、実施の形態１に係る補間フレーム生成装置１００のハードウェア構成を示す図である。補間フレーム生成装置１００は、ハードウェア構成として、補間フレーム生成装置１００における補間フレーム４００生成処理を実行する補間フレーム４００生成プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って補間フレーム生成装置１００の各部を制御し、バッファリング時間変更処理等を実行するＣＰＵ５１と、ワークエリアが形成され、補間フレーム生成装置１００の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信I／Ｆ５７と、各部を接続するバス６２とを備えている。
【０１０６】
先に述べた補間フレーム生成装置１００における補間フレーム４００生成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【０１０７】
この場合には、補間フレーム４００生成プログラムは、補間フレーム生成装置１００において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【０１０８】
また、本実施の形態の補間フレーム４００生成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【０１０９】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【０１１０】
（実施の形態２）
次に実施の形態２にかかる補間フレーム生成装置１００について説明する。実施の形態２にかかる補間フレーム生成装置１００の動き推定部１０６は、動き探索の際に、補間フレーム４００を中心として幾何対称的に探索を行う。この点で、実施の形態２にかかる補間フレーム生成装置１００は、実施の形態１にかかる補間フレーム生成装置１００と異なっている。
【０１１１】
図１５は、本実施形態にかかる動き推定部１０６による動き探索を説明するための図である。実施の形態１にかかる動き推定部１０６は、図３に示すように、Ｎフレーム２００上の固定された参照ブロック５００に対し、Ｎ＋１フレーム３００上の対応ブロック５０２を移動させながら動きベクトル５０４の探索を行っていたが、本実施形態では、図１５に示すように補間フレーム４００上に探索中心となるブロック５０１を固定し、Ｎフレーム２００上の参照ブロック５００及びＮ＋１フレーム３００上の対応ブロック５０２を、補間フレーム４００上のブロック５０１を中心として幾何対称的に探索することで、動きベクトル５０４を求める。
【０１１２】
Ｎフレーム２００からＮ＋１フレーム３００への動きベクトル５０４は、補間フレーム４００上のブロック５０１を中心とした、参照ブロック５００から対応ブロック５０２に向かうベクトルである。
【０１１３】
上記のような探索を行うことにより、補間フレーム４００上で動き補償時にブロックの重なりが発生することなく補間フレーム４００を生成することができる。
【０１１４】
なお、実施の形態２にかかる補間フレーム生成装置１００のこれ以外の構成および処理は、実施の形態１にかかる補間フレーム生成装置１００の構成および処理と同様である。
【図面の簡単な説明】
【０１１５】
【図１】補間フレーム生成方法を行う補間フレーム生成装置１００の機能構成を示すブロック図である。
【図２】実施の形態１にかかる補間フレーム生成装置１００が生成する補間フレーム４００を示す図である。
【図３】ブロックマッチングによる動き推定を説明するための図である。
【図４】補間フレーム生成装置１００の補間フレーム４００生成処理を示すフローチャートである。
【図５】相関判定フィルタを縮小する過程を模式的に示す図である。
【図６】相関判定フィルタを参照して入力フレームを縮小する過程を模式的に示す図である。
【図７】動き推定ステップにおける詳細な処理を示すフローチャートである。
【図８】マスクの設定方法を模式的に示す図である。
【図９−１】動き探索ステップ（Ｓ２２４）において動き探索を行う動き探索範囲について説明するための図である。
【図９−２】動き探索ステップ（Ｓ２２４）において動き探索を行う動き探索範囲について説明するための図である。
【図１０】相関判定フィルタＦｃｊ（Ｎ，ｎ，１）及びＦｃｊ（Ｎ＋１，ｎ，１）の生成過程を模式的に示す図である。
【図１１】動き補償ステップ（Ｓ１２０）における詳細な処理を示すフローチャートである。
【図１２】動き補償フィルタの生成過程を模式的に示す図である。
【図１３】スケール変換処理を説明するための図である。
【図１４】実施の形態１に係る補間フレーム生成装置１００のハードウェア構成を示す図である。
【図１５】本実施形態にかかる動き推定部１０６による動き探索を説明するための図である。
【符号の説明】
【０１１６】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信I／Ｆ
６２  バス
１００  補間フレーム生成装置
１０２  フレームメモリ
１０４  フレーム縮小部
１０６  動き推定部
１０８  相関判定部
１１０  繰り返し数判定部
１２０  動き補償部
２００  Ｎフレーム
２１０  第１階層Ｎフレーム
２２０  第２階層Ｎフレーム
３００  Ｎ＋１フレーム
４００  補間フレーム
５００  参照ブロック
５０２  対応ブロック
５０４  動きベクトル
５１１  第１階層相関判定フィルタ
５１２  第２階層相関判定フィルタ
５１３  第３階層相関判定フィルタ
５２０  高相関領域
５３０  低相関領域
【図１】
2006066987.tif 000008
【図２】
2006066987.tif 000009
【図３】
2006066987.tif 000010
【図４】
2006066987.tif 000011
【図５】
2006066987.tif 000012
【図６】
2006066987.tif 000013
【図７】
2006066987.tif 000014
【図８】
2006066987.tif 000015
【図９−１】
2006066987.tif 000016
【図９−２】
2006066987.tif 000017
【図１０】
2006066987.tif 000018
【図１１】
2006066987.tif 000019
【図１２】
2006066987.tif 000020
【図１３】
2006066987.tif 000021
【図１４】
2006066987.tif 000022
【図１５】
2006066987.tif 000023