(57)【要約】【課題】  滑らかに表示される動画像を生成できる画像処理装置を実現する。【解決手段】  動きベクトル検出部１０１は、入力画像フレームと一つ前の画像フレームとの間の動きを推定し、入力画像フレームに対応する動きベクトルを算出する。冗長フレーム判定部１０２は、算出された動きベクトルと、データ保存部１０４により保存された一つ前の画像フレームに対応する動きベクトルとに基づき、入力画像フレームが冗長フレームであるかどうかを判定する。入力画像フレームが冗長フレームでない場合、補間フレーム生成部１０３は、入力画像フレームと一つ前の画像フレームとの間の補間フレームを生成し、補間画像フレームと入力画像フレームとを出力する。入力画像フレームが冗長フレームである場合、入力画像フレームは破棄され、いずれの画像フレームも出力されない。【選択図】図１
2010278871.tif 000002
【特許請求の範囲】
【請求項１】
動画像データ内のフレーム間の動きを推定し、前記動画像データ内の各フレームの動きベクトルをブロック単位で算出する動き推定手段と、
処理対象のフレームに対応する動きベクトルと前記処理対象のフレームの一つ前のフレームに対応する動きベクトルとに基づいて、前記処理対象のフレームが冗長フレームであるか否かを判定する冗長フレーム判定手段と、
前記処理対象のフレームが前記冗長フレームである場合、前記処理対象のフレームを破棄し、前記処理対象のフレームが前記冗長フレームでない場合、前記処理対象のフレームに対応する動きベクトルを用いた動き補償によって前記処理対象のフレームと前記一つ前のフレームとの間の補間フレームを生成し、前記補間フレーム及び前記処理対象のフレームを出力する補間フレーム生成手段とを具備することを特徴とする画像処理装置。
【請求項２】
前記冗長フレーム判定手段は、前記処理対象のフレーム内のブロックのうち、動きベクトルが零ベクトルであるブロックの割合が第１のしきい値以上であり、且つ前記処理対象のフレームに対応する動きベクトルと前記一つ前のフレームに対応する動きベクトルとの相関を示す相関値が第２のしきい値以上である場合に、前記処理対象のフレームを冗長フレームであると判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記補間フレーム生成手段は、前記処理対象のフレームが冗長フレームであると判定された場合、前記処理対象のフレームの次の非冗長フレームに対応する動きベクトルを用いた動き補償によって、前記処理対象のフレームの一つ前のフレームと前記次の非冗長フレームとの間の補間フレームを生成することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記冗長フレーム判定手段は、前記処理対象のフレーム内のブロックのうち、動きベクトルが零ベクトルであるブロックの割合が第１のしきい値以上であり、且つ前記一つ前のフレーム内のブロックの動きベクトルの水平成分と、前記処理対象のフレーム内において対応するブロックの動きベクトルの水平成分との差である水平成分の差分を算出し、前記一つ前のフレーム内のブロックの動きベクトルの垂直成分と、前記処理対象のフレーム内において対応するブロックの動きベクトルの垂直成分との差である垂直成分の差分を算出し、前記水平成分の差分の絶対値と前記垂直成分の差分の絶対値との和である差分絶対値を算出し、前記差分絶対値をフレーム全体で総和した差分絶対和が第２のしきい値以上である場合に、前記処理対象のフレームを冗長フレームであると判定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記処理対象のフレームに対応する動きベクトルに基づいて、前記一つ前のフレームと前記処理対象のフレームとの間でシーンチェンジが発生しているか否かを判定するシーンチェンジ判定手段をさらに具備し、
前記冗長フレーム判定手段は、前記一つ前のフレームと前記処理対象のフレームとの間でシーンチェンジが発生していない場合に、前記処理対象のフレームが冗長フレームであるか否かを判定することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記シーンチェンジ判定手段は、前記処理対象のフレーム内のブロック毎の動きベクトルの大きさの総和が第３のしきい値未満である場合に、前記一つ前のフレームと前記処理対象のフレームとの間でシーンチェンジが発生していないと判定することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記シーンチェンジ判定手段は、前記処理対象のフレーム内の各ブロックの動きベクトルの間の相関を示す相関値が第４のしきい値以上である場合に、前記一つ前のフレームと前記処理対象のフレームとの間でシーンチェンジが発生していないと判定することを特徴とする請求項５記載の画像処理装置。
【請求項８】
動画像データ内のフレーム間の動きを推定し、前記動画像データ内の各フレームの動きベクトルをブロック単位で算出する動き推定ステップと、
処理対象のフレームに対応する動きベクトルと前記処理対象のフレームの一つ前のフレームに対応する動きベクトルとに基づいて、前記処理対象のフレームが冗長フレームであるか否かを判定する冗長フレーム判定ステップと、
前記処理対象のフレームが前記冗長フレームである場合、前記処理対象のフレームを破棄し、前記処理対象のフレームが前記冗長フレームでない場合、前記処理対象のフレームに対応する動きベクトルを用いた動き補償によって前記処理対象のフレームと前記一つ前のフレームとの間の補間フレームを生成し、前記補間フレーム及び前記処理対象のフレームを出力する補間フレーム生成ステップとを具備することを特徴とする画像処理方法。
【請求項９】
動画像データ内のフレーム間の動きを推定し、前記動画像データ内の各フレームの動きベクトルをブロック単位で算出する動き推定処理を実行する手順と、
処理対象のフレームに対応する動きベクトルと前記処理対象のフレームの一つ前のフレームに対応する動きベクトルとに基づいて、前記処理対象のフレームが冗長フレームであるか否かを判定する冗長フレーム判定処理を実行する手順と、
前記処理対象のフレームが前記冗長フレームである場合、前記処理対象のフレームを破棄し、前記処理対象のフレームが前記冗長フレームでない場合、前記処理対象のフレームに対応する動きベクトルを用いた動き補償によって前記処理対象のフレームと前記一つ前のフレームとの間の補間フレームを生成し、前記補間フレーム及び前記処理対象のフレームを出力する補間フレーム生成処理を実行する手順とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データのフレームレートを変換する画像処理装置及び同装置に適用される画像処理方法に関する。
【背景技術】
【０００２】
動画像をより滑らかに表示する技術として、フレーム間に新たなフレームを挿入するフレーム補間技術がある。フレーム補間処理では、例えば、時系列で連続したフレーム間の動きベクトルを算出し、算出した動きベクトルを用いた動き補償によって、フレーム間に挿入される補間フレームが生成される。
【０００３】
特許文献１には、動きベクトルを用いた動き補償により補間フレームを生成し、第１のフレームレートである動画像データを、第２のフレームレートである動画像データに変換する画像処理装置が開示されている。この画像処理装置は、動画像のフレーム間に場面の切り替わりが検出される場合、又はフレーム間に動きがなく静止画と判定される場合には、動き補償による補間フレームを生成する必要がないものとして、元の画像フレームをそのまま補間フレームとして出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−６９９６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、動画像データ内には冗長なフレーム（冗長フレーム）が含まれる場合がある。冗長フレームとは、例えば、前のフレームをコピーして生成されたフレームである。冗長フレームは例えば、ユーザによる編集や動画像データを提供するサイトにおけるフレームレートの変換によって、動画像データに挿入される。
【０００６】
冗長フレームを含む動画像データに対してフレーム補間処理を施した場合、この冗長フレームに基づく補間フレームが生成され、動画像の品質を低下させる可能性がある。例えば、前のフレーム（コピー元のフレーム）と前のフレームのコピーである冗長フレーム（コピー先のフレーム）とから、さらに同一の画像が補間フレームとして生成される。このような動画像を再生した場合、本来の動画像中では動いている物体が静止しているかのように見える等、動画像が滑らかに表示されない可能性がある。
【０００７】
本発明は上述の事情を考慮してなされたものであり、滑らかに表示される動画像を生成できる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するため、本発明の動画像処理装置は、動画像データ内のフレーム間の動きを推定し、前記動画像データ内の各フレームの動きベクトルをブロック単位で算出する動き推定手段と、処理対象のフレームに対応する動きベクトルと前記処理対象のフレームの一つ前のフレームに対応する動きベクトルとに基づいて、前記処理対象のフレームが冗長フレームであるか否かを判定する冗長フレーム判定手段と、前記処理対象のフレームが前記冗長フレームである場合、前記処理対象のフレームを破棄し、前記処理対象のフレームが前記冗長フレームでない場合、前記処理対象のフレームに対応する動きベクトルを用いた動き補償によって前記処理対象のフレームと前記一つ前のフレームとの間の補間フレームを生成し、前記補間フレームおよび前記処理対象のフレームを出力する補間フレーム生成手段とを具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、滑らかに表示される動画像を生成できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るフレームレート変換装置の構成を示すブロック図。
【図２】動画像データにフレームを補間するフレーム補間処理の概要を説明する図。
【図３】冗長フレームを含む動画像データの例を説明する図。
【図４】冗長フレームを含む動画像データにフレーム補間処理を施した例を示す図。
【図５】同実施形態のフレームレート変換装置により冗長フレームを含む動画像データにフレーム補間処理を施した例を示す図。
【図６】冗長フレームを考慮した場合と考慮しない場合のフレーム補間について説明する図。
【図７】フレーム間差分に基づいて冗長フレームを検出する例を説明する図。
【図８】同実施形態のフレームレート変換装置における冗長フレーム判定処理で用いられる動きベクトルを説明する図。
【図９】動きベクトルの算出方法を説明する図。
【図１０】図８の冗長フレーム判定処理における判定の条件を説明する図。
【図１１】図８の冗長フレーム判定処理においてシーンチェンジにより判定が失敗する例を示す図。
【図１２】シーンチェンジに対応する同実施形態のフレームレート変換装置の構成を示すブロック図。
【図１３】同実施形態のフレームレート変換装置によるフレーム補間処理の手順を示すフローチャート。
【図１４】同実施形態のフレームレート変換装置による冗長フレーム判定処理の手順を示すフローチャート。
【図１５】同実施形態のフレームレート変換装置による別のフレーム補間処理の手順を示すフローチャート。
【図１６】同実施形態のフレームレート変換装置によるシーンチェンジ判定処理の手順を示すフローチャート。
【図１７】本発明の一実施形態に係る情報処理装置の構成を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。
【００１２】
まず、図１を参照して、本発明の一実施形態に係る画像処理装置の構成を説明する。この画像処理装置は、動画像データのフレームレートを変換するフレームレート変換装置１０として実現されている。フレームレート変換装置１０は、例えば、パーソナルコンピュータ、又は各種電子機器に内蔵される組み込みシステムとして実現し得る。
【００１３】
フレームレート変換装置１０は、動きベクトル検出部１０１、冗長フレーム判定部１０２、補間フレーム生成部１０３、データ保存部１０４、及び切替部１０５を備える。
【００１４】
動きベクトル検出部１０１は、動画像データ内のフレーム間の動きを推定し、動画像データ内の各フレーム（以下、画像フレームとも云う）の動きベクトルをブロック単位で算出する。具体的には、動きベクトル検出部１０１は、動画像データ内のフレームである入力画像フレーム（処理対象の画像フレーム）５２と、入力画像フレームの一つ前の画像フレーム５１との間の動きを推定し、入力画像フレーム５２に対応する動きベクトル５０２を画素ブロック単位で算出する。一つ前の画像フレーム５１は、後述するデータ保存部１０４により保存されている画像フレームである。画素ブロックは、画像フレームを所定数の画素毎に分割したブロックである。つまり、動きベクトル検出部１０１は、動画像データ内の一つ前の画像フレームに対する入力画像フレームの動きを推定し、動きベクトルを算出する。動きベクトル検出部１０１は、算出した入力画像フレーム５２に対応する動きベクトル５０２を冗長フレーム判定部１０２へ出力する。また、動きベクトル検出部１０１は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２を切替部１０５へ出力する。
【００１５】
冗長フレーム判定部１０２は、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１とに基づいて、入力画像フレーム５２が冗長フレームであるかどうかを判定する。一つ前の画像フレーム５１に対応する動きベクトル５０１は、後述するデータ保存部１０４により保存されている動きベクトルである。また、冗長フレームは、例えば、前のフレームをコピーして生成されたフレームである。冗長フレーム判定部１０２は、入力画像フレーム５２が冗長フレームと非冗長フレームのいずれであるかを示す判定結果を切替部１０５へ出力する。
【００１６】
切替部１０５は、入力画像フレーム５２が冗長フレームと非冗長フレームのいずれであるかを示す判定結果に基づき、後続の処理を切り替える。
【００１７】
入力画像フレーム５２が冗長フレームと判定された場合、切替部１０５は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２の情報を破棄する。そして、切替部１０５は、入力画像フレーム５２をフレームレート変換装置１０の出力動画像データとして出力しない。
【００１８】
入力画像フレーム５２が非冗長フレームと判定された場合、切替部１０５は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２を補間フレーム生成部１０３へ出力する。
【００１９】
補間フレーム生成部１０３は、入力画像フレーム５２に対応する動きベクトル５０２を用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する。補間フレーム生成部１０３は、フレームレート変換装置１０の出力動画像データとして、生成した補間画像フレームと入力画像フレーム５２とを出力する。また、補間フレーム生成部１０３は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とをデータ保存部１０４へ出力する。
【００２０】
データ保存部１０４は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを保存する。つまり、データ保存部１０４は、現在保存されている一つ前の画像フレームと一つ前の画像フレーム５１に対応する動きベクトル５０１とを、それぞれ、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とで更新する。データ保存部１０４は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを、例えばフレームレート変換装置１０内に設けられた記憶装置に格納する。
【００２１】
データ保存部１０４は、後続する画像フレームがフレームレート変換装置１０へ入力された場合に、保存された入力画像フレーム５２を、一つ前の画像フレーム５１として動きベクトル検出部１０１へ出力する。また、データ保存部１０４は、保存された入力画像フレーム５２に対応する動きベクトル５０２を、一つ前の画像フレーム５１に対応する動きベクトル５０１として冗長フレーム判定部１０２へ出力する。
【００２２】
上述のように、フレームレート変換装置１０は、入力画像フレーム５２が非冗長フレームである場合にのみ、補間フレーム生成部１０３により補間画像フレームを生成し、データ保存部１０４により入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを保存する。また、フレームレート変換装置１０は、入力画像フレーム５２が冗長フレームである場合、補間画像フレームを生成せず、データ保存部１０４によって保存された一つ前の画像フレーム５１及び一つ前の画像フレーム５１に対応する動きベクトル５０１を更新しない。
【００２３】
以下では、本実施形態のフレームレート変換装置１０によるフレーム補間処理において考慮する冗長フレームについて説明する。
【００２４】
図２は、動画像データのフレームを補間するフレーム補間処理の概要を示す。
【００２５】
フレーム補間処理では、入力される動画像シーケンス２１の画像フレーム間に、補間画像フレーム（図２中、斜線で示す画像フレーム）が挿入され、動画像シーケンス２３が出力される。補間画像フレームは、例えば、入力動画像シーケンス２１において連続する二つの画像フレームに基づいて、それら二つの画像フレームの中間に位置する画像フレームとして生成される。これにより、フレーム間の動きの差が大きく、ぶれて見えるような動画像２２をフレーム間の変化が滑らかに見える動画像２４に変換することができる。
【００２６】
ところで、動画像データには冗長フレームが含まれる場合がある。冗長フレームは、上述したように、例えば、前のフレームをコピーして生成されたフレームである。図３は、冗長フレームを含む動画像の例を示している。
【００２７】
冗長フレームは、例えば、ユーザによる編集やインターネット等のネットワーク上の動画像サイトによる編集等によって、動画像データ（原画像）へ挿入される。例えば、元の動画像データが所定のフレームレート（例えば３０ｆｐｓ）以下である場合に、フレーム数を水増ししてフレームレートを上げる際、元の動画像データに含まれるフレームをそのままコピーしたフレームがフレーム間に挿入される。これにより、冗長フレームを含む動画像データが作成される。
【００２８】
図４は、冗長フレームを含む動画像データに対して、上述のフレーム補間処理が施された場合の例を示す。
【００２９】
原画像である動画像データ３００は、画像フレーム３０２をそのままコピーした画像フレーム（冗長フレーム）３０３を含む。つまり、画像フレーム３０２と画像フレーム３０３とは、同一の画像である。
【００３０】
この動画像データ３００に対してフレーム補間処理が施された場合、動画像データ３００に含まれる画像フレーム間に、それぞれ補間画像フレーム３１１，３１２，３１３が挿入された動画像データ３１０が生成される。補間画像フレーム３１１は、画像フレーム３０１と画像フレーム３０２とに基づいて生成される。補間画像フレーム３１２は、画像フレーム３０２と画像フレーム３０３とに基づいて生成される。また、補間画像フレーム３１３は、画像フレーム３０３と画像フレーム３０４とに基づいて生成される。
【００３１】
図４に示すように、補間画像フレーム３１１，３１３には、前後の画像フレームに対して連続的に変化する画像が描画される。したがって、補間画像フレーム３１１，３１３により、動画像データ３１０は滑らかに表示される。
【００３２】
一方、補間画像フレーム３１２には、同一の画像である画像フレーム３０２及び冗長フレーム３０３に基づいて生成された、さらに同一の画像が設定される。つまり、画像フレーム３０２、補間画像フレーム３１２、及び画像フレーム３０３は、すべて同一の画像が設定された画像フレームとなる。したがって、動画像データ３１０を再生した場合、画像フレーム３０２、補間画像フレーム３１２、及び画像フレーム３０３の部分では、画像中の物体が静止しているかのように不自然に見えてしまう。
【００３３】
このため、冗長フレームを含む動画像データにフレーム補間処理を施し、この動画像データを再生した場合、滑らかな動きを伴って表示される部分と静止して表示される部分とが周期的に発生し、揺らぎのように見えてしまう可能性がある。
【００３４】
そこで、本実施形態のフレームレート変換装置１０は、動画像データから冗長フレームを除き、冗長フレームでない画像フレーム（非冗長フレーム）を用いてフレーム補間処理を行う。図５は、フレームレート変換装置１０により、冗長フレームを含む動画像データ４００にフレーム補間処理を施した例を示している。
【００３５】
原画像である動画像データ４００は、画像フレーム４０２をそのままコピーした画像フレーム（冗長フレーム）４０３を含む。つまり、画像フレーム４０２と画像フレーム４０３とは、同一の画像である。
【００３６】
フレームレート変換装置１０は、動画像データ４００内の画像フレームが冗長フレームであるかどうかを判定する。フレームレート変換装置１０は、画像フレーム４０２のコピーである画像フレーム４０３を冗長フレームであると判定する。そして、フレームレート変換装置１０は、冗長フレームである画像フレーム４０３を削除する。
【００３７】
次いで、フレームレート変換装置１０は、非冗長フレームである残りの画像フレーム４０１，４０２，４０４を用いて、補間画像フレーム４１１，４１２を生成し、画像フレーム間に挿入する。そして、フレームレート変換装置１０は、各画像フレームが表示されるタイミング等を調整し、整列した動画像データ４１０を出力する。
【００３８】
図６は、冗長フレームを考慮した場合と考慮しない場合とのフレーム補間を対比した図である。なお、アルファベットは一つの画像フレームを表し、二つのアルファベットが併記されているものは、二つの画像フレームを用いて生成される補間画像フレームを表す。ここでは、補間前の動画像データが“Ａ  Ｂ  Ｃ  Ｃ  Ｄ  Ｅ”である場合を想定する。この動画像データには、二つの画像フレームＣが含まれ、後方の画像フレームＣは、前方の画像フレームＣのコピーである冗長フレームである。
【００３９】
この補間前の動画像データに対して、冗長フレームを考慮せずにフレーム補間処理を施した場合、一方が冗長フレームである二つの画像フレームＣから、補間画像フレームＣＣが生成される。このため、冗長フレームの有無を考慮せずにフレーム補間処理を施した動画像データを再生した場合、動画像データ中の“Ｃ  ＣＣ  Ｃ”の部分において、映像が滑らかに表示されず、静止しているかのように見える可能性がある。
【００４０】
一方、補間前の動画像データに対して、本実施形態のフレームレート変換装置１０により、冗長フレームを考慮してフレーム補間処理を施した場合、二つの画像フレームＣのうち、冗長フレームと判定された後方の画像フレームＣが削除される。したがって、二つの画像フレームＣから生成される補間画像フレームＣＣは生成されない。そして、残りの画像フレームを用いて、各画像フレーム間に補間画像フレームが挿入された動画像データが生成される。したがって、生成された動画像データに同一の画像フレームは含まれず、この動画像データを再生した場合、滑らかな映像を表示することができる。
【００４１】
動画像データに含まれる冗長フレームの検出方法としては、フレーム間差分に基づいて、画像フレームが冗長フレームであるかどうかを判定する方法も考えられる。フレーム間差分は、連続する二つの画像フレームにおいて、対応する画素間の輝度値の差を指す。したがって例えば、算出した画素毎のフレーム間差分を画像フレーム全体で合計した値に基づいて、連続する二つの画像フレームが同一の画像であるかどうかを判定することができる。
【００４２】
図７は、フレーム間差分に基づいて、画像フレームが冗長フレームであるかどうかを判定する例を示している。
【００４３】
図７上部に示す例では、注目画像フレームとその一つ前の画像フレームとのフレーム間差分が算出され、フレーム間差分が大きい場合、注目画像フレームは非冗長フレームと判定される。また、フレーム間差分が小さい場合、注目画像フレームは冗長フレームと判定される。しかし、連続する二つの画像フレームのフレーム間差分に基づく判定方法では、静止物体を撮影した映像など、実際に画像上の変化がない（真に静止している）静止フレームをも冗長フレームと判定してしまう可能性がある。
【００４４】
そこで、図７下部に示す例のように、一定期間内の複数の画像フレームについてフレーム間差分を算出し、長期間に亘ってフレーム間差分が小さい場合、それら画像フレームは冗長フレームではなく静止フレームであると判定する。これにより、静止フレームを冗長フレームと判定してしまう問題を解決することができる。しかし、一定期間内の複数の画像フレームをバッファリングする必要があり、メモリ量や演算量の増加が問題となる。
【００４５】
そこで、本実施形態のフレームレート変換装置１０の冗長フレーム判定部１０２は、フレーム補間処理において検出される各画像フレームの動きベクトルを用いて、画像フレームが冗長フレームであるかどうかを判定する。
【００４６】
図８に、冗長フレームの判定に用いる動きベクトルの例を示す。冗長フレーム判定部１０２は、入力画像フレーム（処理対象の画像フレーム）５２に対応する動きベクトル５０２と、入力画像フレームの一つ前の画像フレーム５１に対応する動きベクトル５０１とを用いて、入力画像フレーム５２が冗長フレームであるかどうかを判定する。
【００４７】
なお、一つ前の画像フレーム５１及び一つ前の画像フレームに対応する動きベクトル５０１は、データ保存部１０４によりフレームレート変換装置１０内に保持されている。また、入力画像フレーム５２に対応する動きベクトル５０２は、動きベクトル検出部１０１により算出された、入力画像フレーム５２と一つ前の画像フレーム５１との間で推定される動きをブロック単位で示す動きベクトルである。一つ前の画像フレーム５１に対応する動きベクトル５０１は、一つ前の画像フレーム５１と、そのさらに一つ前の画像フレーム５０との間で推定される動きをブロック単位で示す動きベクトルである。
【００４８】
図９は、動きベクトルの算出例を示す。画像フレーム６０，６１，６２上の格子により分割された各領域は、所定数の画素からなる画素ブロックを表す。
【００４９】
ここではまず、画像フレーム６０と画像フレーム６１との間の動きを推定する例を説明する。画像フレーム６０の画素ブロック６０１に描画されている星型の物体は、後続する画像フレーム６１上では、画素ブロック６１１に描画されている。したがって、画像フレーム６０の画素ブロック６０１と画像フレーム６１の画素ブロック６１１とが相関の高い画素ブロックとして推定され、動きベクトルｍｖ１が、画素ブロック６１１に対応する動きベクトルとして設定される。
【００５０】
次に、画像フレーム６１と画像フレーム６２との間の動きを推定する例を説明する。画像フレーム６１の画素ブロック６１１に描画されている星型の物体は、後続する画像フレーム６２上では、画素ブロック６２１に描画されている。したがって、画像フレーム６１０の画素ブロック６１１と画像フレーム６２の画素ブロック６２１とが相関の高い画素ブロックとして推定され、動きベクトルｍｖ２が、画素ブロック６２１に対応する動きベクトルとして設定される。
【００５１】
動きベクトル検出部１０１は、上述のように、画像フレーム間で相関の高い画素ブロックを探索し、画素ブロックの対応に基づき、画像フレーム間の動きを推定する。動きベクトル検出部１０１は、上述のような動きの推定を画素ブロック毎に行い、各画像フレームに対応する画素ブロック毎の動きベクトルを算出する。
【００５２】
冗長フレーム判定部１０２は、上述したように、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１とを用いて、入力画像フレーム５２が冗長フレームであるかどうかを判定する。図１０は、入力画像フレーム５２が冗長フレームであると判定するための二つの条件を示している。
【００５３】
第一の条件は、入力画像フレーム５２に設定された画素ブロックのうち、動きベクトルが零ベクトルである画素ブロックの数が第１のしきい値以上であることである。入力画像フレーム５２が一つ前の画像フレーム５１のコピーである場合、入力画像フレーム５２に対応する動きベクトルは、符号化等による誤差はあるものの、ほぼ全て零ベクトルになるものと考えられる。したがって、冗長フレームと判定される入力画像フレーム５２では、対応する動きベクトル５０２のうち、第１のしきい値以上の数の動きベクトルが零ベクトルである。
【００５４】
なお、第１のしきい値には、例えば、入力画像フレーム５２に設定された画素ブロック数に所定の割合を乗じた値や定数を用いる。
【００５５】
第二の条件は、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１との相関が低いことである。一つ前の画像フレーム５１は、上述したように、非冗長フレームと判定された画像フレームである。したがって、一つ前の画像フレーム５１に対応する動きベクトル５０１は、処理対象の動画像データ本来の性質を現わしているものと推定され、冗長フレーム等の不自然に挿入された画像フレームに対応する動きベクトルとの相関は低いと考えられる。
【００５６】
そこで第二の条件では、例えば、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１との差分が第２のしきい値以上である場合に、入力画像フレーム５２を冗長フレームと判定する。ここで、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１との差分とは、例えば、動きベクトルから算出された差分絶対和を指す。
【００５７】
差分絶対和の算出方法は以下の通りである。
【００５８】
入力画像フレーム５２内の画素ブロックの動きベクトルと対応する一つ前の画像フレーム５１内の画素ブロックの動きベクトルとを、それぞれｍｖａ，ｍｖｂと仮定する。動きベクトルｍｖａの水平成分をｍｖａｘ，垂直成分をｍｖａｙとする。また、動きベクトルｍｖｂの水平成分をｍｖｂｘ，垂直成分をｍｖｂｙとする。この場合、動きベクトルｍｖａと動きベクトルｍｖｂとの差分絶対値は、次式により算出される。
【００５９】
｜ｍｖａｘ−ｍｖｂｘ｜＋｜ｍｖａｙ−ｍｖｂｙ｜
算出した画素ブロック毎の差分絶対値を画像フレーム全体で総和することで、差分絶対和が算出される。
【００６０】
また、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１との差分として、例えば、差分二乗和を用いてもよい。
【００６１】
差分二乗和の算出方法は以下の通りである。
【００６２】
ここでも、対応する入力画像フレーム５２内の画素ブロックと一つ前の画像フレーム５１内の画素ブロックの動きベクトルを、それぞれｍｖａ，ｍｖｂと仮定する。動きベクトルｍｖａの水平成分をｍｖａｘ，垂直成分をｍｖａｙとする。また、動きベクトルｍｖｂの水平成分をｍｖｂｘ，垂直成分をｍｖｂｙとする。この場合、動きベクトルｍｖａと動きベクトルｍｖｂとの差分二乗値は、次式により算出される。
【００６３】
（ｍｖａｘ−ｍｖｂｘ）２＋（ｍｖａｙ−ｍｖｂｙ）２
算出した画素ブロック毎の差分二乗値を画像フレーム全体で総和することで、差分二乗和が算出される。
【００６４】
さらに、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１との差分として、しきい値以上の差分を示す画素ブロックの数、しきい値以上の差分を示す画素ブロックに限定した差分絶対和及び差分二乗和等を用いてもよい。
【００６５】
なお、第２のしきい値には、画素ブロック数に画素ブロック単位の所定のしきい値を乗じた値、一つ前の冗長フレーム判定処理において算出された差分に所定の割合を乗じた値、定数等を用いる。
【００６６】
冗長フレーム判定部１０２は、上述の二つの条件の両方に当てはまる入力画像フレーム５２を冗長フレームであると判定する。また、冗長フレーム判定部１０２は、上述の二つの条件のうちいずれか一方に当てはまる入力画像フレーム５２、又は上述の二つの条件のいずれにも当てはまらない入力画像フレーム５２を冗長フレームでない、すなわち非冗長フレームであると判定する。
【００６７】
上述の二つの条件により、入力画像フレーム５２が冗長フレームであるかどうかを判定した場合、図１１に示すように、画像フレーム間でシーンが切り替わるシーンチェンジの後、後続する画像フレームが画像上に動きのない（少ない）静止シーンである際、この静止シーンの画像フレーム（静止フレーム）が冗長フレームであると判定される可能性がある。シーンチェンジ後に静止シーンが続く場合、シーンチェンジポイントである入力画像フレーム（静止フレーム）と次の静止フレーム間の動きベクトルは、ほぼ零ベクトルであり、且つシーンチェンジ前の画像フレームとシーンチェンジポイントである静止フレームとの間の動きベクトルとの差分は大きくなる。したがって、シーンチェンジポイントである入力画像フレーム（静止フレーム）の次の静止フレームは、上述の二つの条件の両方に当てはまり、冗長フレームと判定されてしまう。また、このような静止フレームが連続する場合、すべての静止フレームが冗長フレームであると判定され、削除されてしまう。
【００６８】
そこで、本実施形態のフレームレート変換装置１０は、入力画像フレーム５２に対応する動きベクトルを用いて、入力画像フレーム５２と一つ前の画像フレーム５１との間でシーンチェンジが起きたかどうかを判定する。フレームレート変換装置１０は、例えば、入力画像フレーム５２に対応するブロック毎の動きベクトル５０２の大きさを総和した、動きベクトルの絶対和がしきい値以上である場合に、画像フレーム間にシーンチェンジがあると判定する。また、フレームレート変換装置１０は、例えば、入力画像フレーム５２に対応する動きベクトル５０２のそれぞれの相関を示す相関値がしきい値未満である場合に、画像フレーム間にシーンチェンジがあると判定してもよい。さらに、上述の二つの条件の両方に合致する場合に、画像フレーム間にシーンチェンジがあると判定してもよい。
【００６９】
画像フレーム間にシーンチェンジがある場合、フレームレート変換装置１０は、入力画像フレーム５２に対応する動きベクトル５０２を保存せず、フレームレート変換装置１０内に保存されている一つ前の画像フレーム５１に対応する動きベクトル５０１の情報をリセットする。動きベクトルをリセットする場合、フレームレート変換装置１０は、例えば、動きベクトルに零ベクトルを設定する。つまり、画像フレーム間にシーンチェンジがある場合、フレームレート変換装置１０は、シーンチェンジポイントである入力画像フレーム５２に対して、動画像データの先頭の画像フレームと同様の処理を施す。これにより、画像フレーム間のシーンチェンジの有無に応じて、冗長フレームの判定を行うことができ、冗長フレーム判定の精度を高めることができる。
【００７０】
図１２は、動画像内のシーンチェンジを考慮したフレームレート変換装置の構成を示すブロック図である。
【００７１】
動画像内のシーンチェンジを考慮したフレームレート変換装置１０は、動きベクトル検出部１０１、冗長フレーム判定部１０２、補間フレーム生成部１０３、データ保存部１０４、切替部１０５に加えて、シーンチェンジ判定部１０６を備える。
【００７２】
動きベクトル検出部１０１は、動画像データ内のフレーム間の動きを推定し、動画像データ内の各フレームの動きベクトルをブロック単位で算出する。具体的には、動きベクトル検出部１０１は、動画像データ内のフレームである入力画像フレーム（処理対象の画像フレーム）５２と、入力画像フレームの一つ前の画像フレーム５１との間の動きを推定し、入力画像フレーム５２に対応する動きベクトル５０２を画素ブロック単位で算出する。一つ前の画像フレーム５１は、後述するデータ保存部１０４により保存されている画像フレームである。画素ブロックは、画像フレームを所定数の画素毎に分割したブロックである。つまり、動きベクトル検出部１０１は、動画像データ内の前の画像フレームに対する入力画像フレームの動きを推定し、動きベクトルを算出する。動きベクトル検出部１０１は、算出した入力画像フレーム５２に対応する動きベクトル５０２をシーンチェンジ判定部１０６へ出力する。また、動きベクトル検出部１０１は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２を切替部１０５へ出力する。
【００７３】
シーンチェンジ判定部１０６は、入力画像フレーム５２に対応する動きベクトル５０２に基づき、一つ前の画像フレーム５１と入力画像フレーム５２との間に、シーンの切り替わりであるシーンチェンジがあるかどうかを判定する。すなわち、シーンチェンジ判定部１０６は、入力画像フレーム５２がシーンの切り替わり点であるシーンチェンジポイントであるかどうかを判定する。
【００７４】
一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがあると判定された場合、シーンチェンジ判定部１０６は、シーンチェンジが検出された旨を示す判定結果と、入力画像フレーム５２に対応する動きベクトル５０２とを切替部１０５へ出力する。
【００７５】
一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがないと判定された場合、シーンチェンジ判定部１０６は、入力画像フレーム５２に対応する動きベクトル５０２を冗長フレーム判定部１０２へ出力する。
【００７６】
冗長フレーム判定部１０２は、入力画像フレーム５２に対応する動きベクトル５０２と、一つ前の画像フレーム５１に対応する動きベクトル５０１とに基づいて、入力画像フレーム５２が冗長フレームであるかどうかを判定する。一つ前の画像フレーム５１に対応する動きベクトル５０１は、後述するデータ保存部１０４により保存されている動きベクトルである。冗長フレーム判定部１０２は、画像フレーム間にシーンチェンジが検出されなかった旨を示す判定結果と、入力画像フレーム５２が冗長フレームと非冗長フレームのいずれであるかを示す判定結果とを切替部１０５へ出力する。
【００７７】
切替部１０５は、一つ前の画像フレーム５１と入力画像フレーム５２との間でシーンチェンジが検出されたかどうかを示す判定結果と、入力画像フレーム５２が冗長フレームと非冗長フレームのいずれであるかを示す判定結果とに基づき、後続の処理を切り替える。
【００７８】
一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがあると判定された場合、切替部１０５は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２を補間フレーム生成部１０３へ出力する。
【００７９】
補間フレーム生成部１０３は、入力画像フレーム５２に対応する動きベクトル５０２を用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する。補間フレーム生成部１０３は、フレームレート変換装置１０の出力動画像データとして、生成した補間画像フレームと入力画像フレーム５２とを出力する。また、補間フレーム生成部１０３は、入力画像フレーム５２をデータ保存部１０４へ出力する。
【００８０】
データ保存部１０４は、入力画像フレーム５２を保存する。つまり、データ保存部１０４は、現在保存されている一つ前の画像フレーム５１を、入力画像フレーム５２で更新する。データ保存部１０４は、入力画像フレーム５２を、例えばフレームレート変換装置１０内に設けられた記憶装置に格納する。また、データ保存部１０４は、格納されている一つ前の画像フレーム５１に対応する動きベクトル５０１をリセットする。
【００８１】
データ保存部１０４は、後続する画像フレームがフレームレート変換装置１０へ入力された場合に、保存された入力画像フレーム５２を、一つ前の画像フレーム５１として動きベクトル検出部１０１へ出力する。なお、データ保存部１０４から冗長フレーム判定部１０２へ出力される、一つ前の画像フレーム５１に対応する動きベクトル５０１はリセットされており、冗長フレーム判定部１０２は、後続する画像フレームに対応する動きベクトルとリセットされた動きベクトルとを用いて、後続する画像フレームが冗長フレームであるかどうかを判定する。
【００８２】
一方、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがないと判定された場合、切替部１０５は、入力画像フレーム５２が冗長フレームと非冗長フレームのいずれであるかを示す判定結果に基づき、以下のように処理を切り替える。
【００８３】
入力画像フレーム５２が冗長フレームと判定された場合、切替部１０５は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２の情報を破棄する。そして、切替部１０５は、入力画像フレーム５２をフレームレート変換装置１０の出力動画像データとして出力しない。
【００８４】
入力画像フレーム５２が非冗長フレームと判定された場合、切替部１０５は、入力画像フレーム５２及び入力画像フレーム５２に対応する動きベクトル５０２を補間フレーム生成部１０３へ出力する。
【００８５】
補間フレーム生成部１０３は、入力画像フレーム５２に対応する動きベクトル５０２を用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する。補間フレーム生成部１０３は、フレームレート変換装置１０の出力動画像データとして補間画像フレームと入力画像フレーム５２とを出力する。また、補間フレーム生成部１０３は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とをデータ保存部１０４へ出力する。
【００８６】
データ保存部１０４は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを保存する。つまり、データ保存部１０４は、現在保存されている一つ前の画像フレームと一つ前の画像フレーム５１に対応する動きベクトル５０１とを、それぞれ入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とで更新する。データ保存部１０４は、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを、例えばフレームレート変換装置１０内に設けられた記憶装置に格納する。
【００８７】
データ保存部１０４は、後続する画像フレームがフレームレート変換装置１０へ入力された場合に、保存された入力画像フレーム５２を、一つ前の画像フレーム５１として動きベクトル検出部１０１へ出力する。また、データ保存部１０４は、保存された入力画像フレーム５２に対応する動きベクトル５０２を、一つ前の画像フレーム５１に対応する動きベクトル５０１として冗長フレーム判定部１０２へ出力する。
【００８８】
上述のように、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがある場合、又は一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがなく、且つ入力画像フレーム５２が非冗長フレームである場合にのみ、補間フレーム生成部１０３により補間画像フレームを生成する。データ保存部１０４は、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがある場合に、入力画像フレーム５２を保存し、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがなく、且つ入力画像フレーム５２が非冗長フレームである場合に、入力画像フレーム５２と入力画像フレーム５２に対応する動きベクトル５０２とを保存する。
【００８９】
また、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジがなく、且つ入力画像フレーム５２が冗長フレームである場合、補間画像フレームを生成せず、データ保存部１０４によって保存された一つ前の画像フレーム５１及び一つ前の画像フレーム５１に対応する動きベクトル５０１を更新しない。
【００９０】
図１３は、フレームレート変換装置１０によるフレーム補間処理の手順を示すフローチャートである。
【００９１】
まず、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２とに基づいて、入力画像フレーム５２の画素ブロック毎の動きベクトル５０２を算出する（ステップＳ１０１）。次に、フレームレート変換装置１０は、入力画像フレーム５２が冗長フレームであるかどうかを判定する（ステップＳ１０２）。
【００９２】
入力画像フレーム５２が冗長フレームである場合（ステップＳ１０２のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２と入力画像フレーム５２の画素ブロック毎の動きベクトル５０２とのデータを破棄し、いずれの画像フレームも出力しない。つまり、フレームレート変換装置１０は、入力画像フレーム５２をフレームレート変換後の動画像データとして出力しない。
【００９３】
入力画像フレーム５２が冗長フレームでない場合（ステップＳ１０２のＮＯ）、フレームレート変換装置１０は、入力画像フレーム５２の画素ブロック毎の動きベクトル５０２を用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する（ステップＳ１０３）。そして、フレームレート変換装置１０は、補間画像フレームと入力画像フレーム５２とをフレームレート変換後の動画像データに含まれる画像フレームとして出力する（ステップＳ１０４）。また、フレームレート変換装置１０は、入力画像フレーム５２と入力画像フレーム５２の画素ブロック毎の動きベクトル５０２とを保存する（ステップＳ１０５）。入力画像フレーム５２と入力画像フレームの画素ブロック毎の動きベクトル５０２とは、例えば、フレームレート変換装置１０内に設けられた記憶装置に格納される。
【００９４】
次いで、フレームレート変換装置１０は、入力画像フレーム５２に後続する画像フレームがあるかどうかを判定する（ステップＳ１０６）。
【００９５】
入力画像フレーム５２に後続する画像フレームがある場合（ステップＳ１０６のＹＥＳ）、フレームレート変換装置１０は、後続する画像フレーム（次の画像フレーム）を入力画像フレーム５２として設定する（ステップＳ１０７）。そして、フレームレート変換装置１０は、ステップＳ１０１以降の処理を繰り返す。
【００９６】
入力画像フレーム５２に後続する画像フレームがない場合（ステップＳ１０６のＮＯ）、処理を終了する。
【００９７】
以上の処理により、フレームレート変換装置１０に入力される動画像データから冗長フレームを除き、残りの画像フレームに対するフレーム補間を行うことができる。これにより、滑らかに表示される動画像を生成することができる。
【００９８】
図１４は、図１３のフレーム補間処理のステップＳ１０２における冗長フレーム判定処理の詳細な手順を示すフローチャートである。
【００９９】
まず、フレームレート変換装置１０は、入力画像フレーム５２内の画素ブロックのうち、動きベクトルが零ベクトルである画素ブロックの数がしきい値ＴＨＡ以上であるかどうかを判定する（ステップＳ２０１）。
【０１００】
入力画像フレーム５２内の画素ブロックのうち、動きベクトルが零ベクトルである画素ブロックの数がしきい値ＴＨＡ以上である場合（ステップＳ２０１のＹＥＳ）、フレームレート変換装置１０は、画素ブロック毎に、一つ前の画像フレーム５１の動きベクトル５０１と対応する入力画像フレーム５２の動きベクトル５０２との差の絶対値である差分絶対値を算出し、算出した差分絶対値の総和である差分絶対和がしきい値ＴＨＢ以上であるかどうかを判定する（ステップＳ２０２）。
【０１０１】
差分絶対和がしきい値ＴＨＢ以上である場合（ステップＳ２０２のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２を冗長フレームであると判定する（ステップＳ２０３）。
【０１０２】
入力画像フレーム５２内の画素ブロックのうち、動きベクトルが零ベクトルである画素ブロックの数がしきい値ＴＨＡ以上でない場合（ステップＳ２０１のＮＯ）、又は差分絶対和がしきい値ＴＨＢ以上でない場合（ステップＳ２０２のＮＯ）、フレームレート変換装置１０は、入力画像フレーム５２を非冗長フレームであると判定する（ステップＳ２０４）。
【０１０３】
以上の処理により、入力される画像フレームが冗長フレームであるかどうかを判定することができる。
【０１０４】
また、図１５は、図１２に示すシーンチェンジ判定部１０６を備えるフレームレート変換装置１０によるフレーム補間処理の手順を示すフローチャートである。
【０１０５】
まず、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２とに基づいて、入力画像フレーム５２の画素ブロック毎の動きベクトルを算出する（ステップＳ３０１）。次に、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジが検出されるかどうかを判定する（ステップＳ３０２）。
【０１０６】
一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジが検出された場合（ステップＳ３０２のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２の画素ブロック毎の動きベクトルを用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する（ステップＳ３０３）。そして、フレームレート変換装置１０は、補間画像フレームと入力画像フレーム５２とをフレームレート変換後の動画像データに含まれる画像データとして出力する（ステップＳ３０４）。また、フレームレート変換装置１０は、入力画像フレーム５２を保存し、保存されている一つ前の画像フレーム５１に対応する動きベクトル５０１をリセットする（ステップＳ３０５）。入力画像フレーム５２は、例えば、フレームレート変換装置１０内に設けられた記憶装置に格納される。
【０１０７】
一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジが検出されなかった場合（ステップＳ３０２のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２が冗長フレームであるかどうかを判定する（ステップＳ３０６）。
【０１０８】
入力画像フレーム５２が冗長フレームである場合（ステップＳ３０６のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２と入力画像フレーム５２の画素ブロック毎の動きベクトル５０２とのデータを破棄し、いずれの画像フレームも出力しない。すなわち、フレームレート変換装置１０は、フレームレート変換後の動画像データに含まれる画像フレームを出力しない。
【０１０９】
入力画像フレーム５２が冗長フレームでない場合（ステップＳ３０６のＮＯ）、フレームレート変換装置１０は、入力画像フレーム５２の画素ブロック毎の動きベクトル５０２を用いた動き補償により、一つ前の画像フレーム５１と入力画像フレーム５２との間に挿入する補間画像フレームを生成する（ステップＳ３０７）。そして、フレームレート変換装置１０は、補間画像フレームと入力画像フレーム５２とをフレームレート変換後の動画像データに含まれる画像データとして出力する（ステップＳ３０８）。また、フレームレート変換装置１０は、入力画像フレーム５２と入力画像フレームの画素ブロック毎の動きベクトル５０２とを保存する（ステップＳ３０９）。入力画像フレーム５２と入力画像フレームの画素ブロック毎の動きベクトル５０２とは、例えば、フレームレート変換装置１０内に設けられた記憶装置に格納される。
【０１１０】
次いで、フレームレート変換装置１０は、入力画像フレーム５２に後続する画像フレームがあるかどうかを判定する（ステップＳ３１０）。
【０１１１】
入力画像フレーム５２に後続する画像フレームがある場合（ステップＳ３１０のＹＥＳ）、フレームレート変換装置１０は、後続する画像フレーム（次の画像フレーム）を入力画像フレーム５２として設定する（ステップＳ３１１）。そして、フレームレート変換装置１０は、ステップＳ３０１以降の処理を繰り返す。
【０１１２】
入力画像フレーム５２に後続する画像フレームがない場合（ステップＳ３１０のＮＯ）、処理を終了する。
【０１１３】
以上の処理により、画像フレーム間のシーンチェンジを考慮して、フレームレート変換装置１０に入力される動画像データから冗長フレームを除き、残りの画像フレームに対するフレーム補間を行うことができる。これにより、滑らかに表示される動画像を生成することができる。
【０１１４】
図１６は、図１５のフレーム補間処理のステップＳ３０２におけるシーンチェンジ判定処理の詳細な手順を示すフローチャートである。フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間にシーンチェンジが検出されるかどうかを以下のように判定する。
【０１１５】
まず、フレームレート変換装置１０は、入力画像フレーム５２の画素ブロック毎の動きベクトル５０２の大きさを、入力画像フレーム５２全体で総和した絶対和がしきい値ＴＨＣ以上であるかどうかを判定する（ステップＳ４０１）。
【０１１６】
絶対和がしきい値ＴＨＣ以上である場合（ステップＳ４０１のＹＥＳ）、フレームレート変換装置１０は、入力画像フレーム５２の画素ブロック毎の動きベクトル５０２の相関値がしきい値ＴＨＤ以下であるかどうかを判定する（ステップＳ４０２）。
【０１１７】
相関値がしきい値ＴＨＤ以下である場合（ステップＳ４０２のＹＥＳ）、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間をシーンチェンジであると判定する（ステップＳ４０３）。
【０１１８】
絶対和がしきい値ＴＨＣ以上でない場合（ステップＳ４０１のＮＯ）、又は相関値がしきい値ＴＨＤ以下でない場合（ステップＳ４０２のＮＯ）、フレームレート変換装置１０は、一つ前の画像フレーム５１と入力画像フレーム５２との間をシーンチェンジでないと判定する（ステップＳ４０４）。
【０１１９】
以上の処理により、画像フレーム間にシーンチェンジがあるかどうかを判定することができる。
【０１２０】
図１７は、本実施形態のフレーム補間処理をプログラムとして備える情報処理装置７０の構成を示すブロック図である。この情報処理装置７０は、例えば、パーソナルコンピュータ、又は各種電子機器に内蔵される組み込みシステムとして実現される。
【０１２１】
情報処理装置７０は、ＣＰＵ７１、メモリ７２、ＩＯデバイス７３、外部記憶装置７４、表示コントローラ７５、及びＬＣＤ７６を備える。
【０１２２】
ＣＰＵ７１は各種プログラムを実行するプロセッサである。ＣＰＵ７１は、各種演算処理を実行すると共に、情報処理装置７０内の各部を制御する。
【０１２３】
メモリ７２は、ＣＰＵ７１によって実行される、オペレーティングシステム、アプリケーションプログラム、及び各種データを格納するためのメインメモリである。メモリ７２には、フレーム補間処理プログラム７２１がロードされている。
【０１２４】
ＩＯデバイス７３は、情報処理装置７０に対するデータの入出力を実行するための各種入出力デバイスである。また、外部記憶装置７４は、各種プログラムやデータを格納するための不揮発性の記憶装置である。外部記憶装置７４に格納された各種プログラムやデータは、情報処理装置７０内の各部からの要求に応じて、メモリ７２へロードされる。
【０１２５】
メモリ７２にロードされるフレーム補間処理プログラム７２１は、上述したフレームレート変換装置１０により実現される機能と同様に、入力される動画像データに含まれる冗長フレームを除き、残りの画像フレームに対してフレーム補間処理を行うプログラムである。また、画像フレーム間のシーンチェンジを考慮したフレーム補間処理を行うことも可能である。
【０１２６】
表示コントローラ７５は、情報処理装置７０のディスプレイモニタとして使用される表示装置であるＬＣＤ７６を制御する。この表示コントローラ７５によって生成される表示信号はＬＣＤ７６に送られる。表示コントローラ７５及びＬＣＤ７６を用いて、フレーム補間処理プログラム７２１により生成された動画像データを、必要に応じて再生及び表示することができる。
【０１２７】
以上説明したように、本実施形態によれば、滑らかに表示される動画像を生成できる。本実施形態では、動画像をより滑らかに見せるためのフレームレート変換（フレーム補間）において、動画像データ内の冗長フレームを削除することにより、より自然で滑らかな動画像を表示することができる。
【０１２８】
冗長フレームは、例えば、前の画像フレームをそのままコピーした画像フレームであるため、冗長フレームとその前の画像フレームとの間に挿入される補間画像フレームは、さらに同一の画像フレームとなる。このような画像フレームを含む動画像は、滑らかに表示されず、画像上の物体が静止しているかのように見えてしまう可能性がある。そこで、本実施形態では、入力される動画像データに含まれる冗長フレームを検出し、検出した冗長フレームを除く画像フレームを用いて、画像フレーム間に挿入する補間画像フレームを生成する。これにより、滑らかに表示される動画像を生成することができる。
【０１２９】
また、本実施形態では、フレーム補間処理で必要な動きベクトル検出によって算出される動きベクトルを利用して、冗長フレーム判定処理及びシーンチェンジ判定処理を行う。フレーム補間処理で算出される動きベクトルを利用することで、画素単位の演算が追加されず、演算量の増加を抑えることができる。また、フレーム間差分のみを用いる場合よりも、精度よく冗長なフレームを検出し、削除することができる。
【０１３０】
なお、本実施形態では、冗長フレームと判定された入力画像フレーム５２を破棄し、一つ前の画像フレーム５１と新たに入力される次の入力画像フレームとの間の動きを推定し、次の入力画像フレームに対応する動きベクトルを算出するが、冗長フレームと判定された入力画像フレーム５２は、一つ前の画像フレーム５１のコピーであるため、入力画像フレーム５２と次の入力画像フレームとを用いて、次の入力画像フレームに対応する動きベクトルを算出してもよい。
【０１３１】
また、動画像データ内に冗長フレームが連続して存在する可能性は低いことから、冗長フレームと判定された入力画像フレーム５２の次の画像フレームは、一義的に非冗長フレームであると判定してもよい。
【０１３２】
なお、本実施形態のフレーム補間処理の手順は全てソフトウェアによって実行することができる。このため、フレーム補間処理の手順を実行するプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１３３】
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３４】
１０…フレームレート変換装置、１０１…動きベクトル検出部、１０２…冗長フレーム判定部、１０３…補間フレーム生成部、１０４…データ保存部、１０５…切替部。
【図１】
2010278871.tif 000003
【図２】
2010278871.tif 000004
【図３】
2010278871.tif 000005
【図４】
2010278871.tif 000006
【図５】
2010278871.tif 000007
【図６】
2010278871.tif 000008
【図７】
2010278871.tif 000009
【図８】
2010278871.tif 000010
【図９】
2010278871.tif 000011
【図１０】
2010278871.tif 000012
【図１１】
2010278871.tif 000013
【図１２】
2010278871.tif 000014
【図１３】
2010278871.tif 000015
【図１４】
2010278871.tif 000016
【図１５】
2010278871.tif 000017
【図１６】
2010278871.tif 000018
【図１７】
2010278871.tif 000019