(57)【要約】【課題】非均等速度で移動する物体を含む動画像に対して、多重像を抑制してフレームレート変換処理ができるようにする。【解決手段】動画像信号の撮影情報からシャッタースピード、撮像フレームレート及び表示フレームレートの情報を取得し、フレーム変換に必要な枚数のフレーム画像を取得する。そして、取得した複数のフレーム画像での被写体の動きベクトルを算出し、前記算出した動きベクトルからフレーム画像ごとに前記被写体の動き距離、動きスピードを算出する。次に、複数のフレーム画像に対して、前記シャッタースピード及び動きスピードに基づく第１のフィルタ処理と、前記動き距離に基づく第２のフィルタ処理とを適用する。【選択図】図２
2012169701.tif 000002
【特許請求の範囲】
【請求項１】
動画像信号から複数のフレーム画像を入力する入力手段と、
前記動画像信号の撮影情報からシャッタースピード及びフレームレートの情報を取得する取得手段と、
前記入力手段により入力された複数のフレーム画像での被写体の動きベクトルを算出し、前記算出した動きベクトルからフレーム画像ごとに前記被写体の動き距離を算出する算出手段と、
前記入力手段により入力された複数のフレーム画像に対して、前記取得手段によって取得されたシャッタースピード及びフレームレートに基づく第１のフィルタ処理と、前記算出手段により算出された動き距離に基づく第２のフィルタ処理とを適用するフィルタ手段とを有することを特徴とする画像処理装置。
【請求項２】
前記フィルタ手段は、さらに前記動きベクトルの分散に基づいて前記第２のフィルタ処理を適用することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ手段は、前記第１のフィルタ処理を適用した後に、前記第２のフィルタ処理を適用することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記取得手段により取得されたフレームレートの情報に基づいて前記入力手段により入力するフレーム画像の枚数を算出するフレーム数算出手段をさらに有することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
動画像信号から複数のフレーム画像を入力する入力工程と、
前記動画像信号の撮影情報からシャッタースピード及びフレームレートの情報を取得する取得工程と、
前記入力工程において入力された複数のフレーム画像での被写体の動きベクトルを算出し、前記算出した動きベクトルからフレーム画像ごとに前記被写体の動き距離を算出する算出工程と、
前記入力工程において入力された複数のフレーム画像に対して、前記取得工程において取得されたシャッタースピード及びフレームレートに基づく第１のフィルタ処理と、前記算出工程において算出された動き距離に基づく第２のフィルタ処理とを適用するフィルタ工程とを有することを特徴とする画像処理方法。
【請求項６】
動画像信号から複数のフレーム画像を入力する入力工程と、
前記動画像信号の撮影情報からシャッタースピード及びフレームレートの情報を取得する取得工程と、
前記入力工程において入力された複数のフレーム画像での被写体の動きベクトルを算出し、前記算出した動きベクトルからフレーム画像ごとに前記被写体の動き距離を算出する算出工程と、
前記入力工程において入力された複数のフレーム画像に対して、前記取得工程において取得されたシャッタースピード及びフレームレートに基づく第１のフィルタ処理と、前記算出工程において算出された動き距離に基づく第２のフィルタ処理とを適用するフィルタ工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、フレームレートを変換するために用いて好適な画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、高フレームレートの動画像を低フレームレートの動画像に変換する際に、高フレームレートの動画像の中から複数枚の画像を用いて平均合成し、１枚の低フレームレートの動画像用の画像に変換する技術がある。以下、このような処理をフレームレート変換処理と呼ぶ。ところが、動画像のフレームレートに対して短いシャッター速度で撮影された画像では被写体は鮮鋭に写るが、フレームレート変換処理で得られた動画像を観察すると多重像に認知してしまうという劣化現象が発生する。そこで、このような多重像を抑えるためには、一般にボケ付加を行う。
【０００３】
撮影された動画像にボケ付加を行う従来技術としては、例えば特許文献１に記載されている。この特許文献１に記載の技術では、入力された動画像の処理対象フレームに対して領域ごとの動きベクトルを算出し、シャッタースピードなど撮像時の撮像情報に基づいて動きボケ量の評価値を算出する。そしてこの算出した評価値に基づいて、動きボケの付加と削減処理とを行う。これにより、各フレームで再生できる情報が不連続に再生され、動きの滑らかさが失われる現象（以下、ジャーキネス）と、被写体の動きが大きくぼやけてしまう現象（以下、ブラー）との両方を抑えることができるようにしている。
【０００４】
また、動画像における動きベクトルから代表的動きベクトルを求め、動きボケを付加することにより、より自然にジャーキネスによる劣化を抑えることができる技術も開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−４３２９号公報
【特許文献２】特開２０１０−１５４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び特許文献２に記載の技術は共に、フレーム間の動きベクトルを考慮して動きボケを付加しているが、複数のフレーム間に亘った動きの変化を考慮していない。そのため、複数枚のフレーム画像を平均合成して１枚のフレームを生成するフレームレート変換処理に適用すると以下のような課題が生じる。
【０００７】
例えば、動き物体が均等速度で移動するような動画像の場合は、複数のフレームで均等間隔に並ぶ同じボケ画像を合成することになるため、動きベクトルのみに応じてボケ量を適切に制御することができる。しかしながら、動き物体が非均等速度で移動するような動画像の場合は、前フレームからの動きベクトルの方向が同一であっても、ある基準フレームから移動した距離が様々に相違する。このため、急に動きベクトルが変化するような場合には孤立したボケ画像が合成されることとなり、フレームレート変換処理を行うと多重像に見えてしまう問題がある。
【０００８】
本発明は前述の問題点に鑑み、非均等速度で移動する物体を含む動画像に対して、多重像を抑制してフレームレート変換処理ができるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、動画像信号から複数のフレーム画像を入力する入力手段と、前記動画像信号の撮影情報からシャッタースピード及びフレームレートの情報を取得する取得手段と、前記入力手段により入力された複数のフレーム画像での被写体の動きベクトルを算出し、前記算出した動きベクトルからフレーム画像ごとに前記被写体の動き距離を算出する算出手段と、前記入力手段により入力された複数のフレーム画像に対して、前記取得手段によって取得されたシャッタースピード及びフレームレートに基づく第１のフィルタ処理と、前記算出手段により算出された動き距離に基づく第２のフィルタ処理とを適用するフィルタ手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、入力された動画像に対してフレームレート変換した場合に多重像を抑制した滑らかな動画像を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るＰＣの概略構成例を示すブロック図である。
【図２】実施形態に係る画像処理部の詳細な構成例を示すブロック図である。
【図３】高速シャッタースピードでのフレームレート変更の一例を示す図である。
【図４】低速シャッタースピードでのフレームレート変更の一例を示す図である。
【図５】従来の方法により動きボケを付加したフレームレート変更の一例を示す図である。
【図６】実施形態により動きボケを付加したフレームレート変更の一例を示す図である。
【図７】フィルタ補正係数αを算出する概要を説明する図である。
【図８】動きベクトルを検出する手順の一例を示すフローチャートである。
【図９】有効なブロックを判定する手順の一例を示すフローチャートである。
【図１０】有効な動きベクトルを判定する手順の一例を示すフローチャートである。
【図１１】フレーム画像ごとの動き距離及びその平均値を説明する図である。
【図１２】フィルタ補正係数βを算出する概要を説明する図である。
【図１３】フィルタを適用する処理手順の一例を示すフローチャートである。
【図１４】ボケ付加フィルタの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係るパーソナルコンピュータ（ＰＣ）の概略構成例を示すブロック図である。
図１において、高速カメラなどにより撮影された高フレームレートの動画像信号が記憶されたＵＳＢメモリ１０１がＰＣ１０２に挿入されると、ＰＣ１０２はこれらの動画像信号を取り込むことができる。具体的には、ＰＣ１０２の読み込み部１０４により動画像信号の全てのフレーム画像が図示しないメモリに読み込まれる。さらに、動画像を撮影する際のシャッタースピードの情報を含む撮像パラメータとフレームレートの情報を含むが表示パラメータとが撮影情報として読み込まれる。画像処理部１０５は、これらの読み込まれた動画像信号とパラメータとを用いてフレームレート変換処理を行う。そして、処理された動画像信号は出力部１０６によりモニタ信号に変換され、変換されたモニタ信号がモニタ１０３に動画像として表示される。
【００１３】
図２は、本実施形態に係る画像処理部１０５の詳細な構成例を示すブロック図である。
図２において、読み込み部１０４により入力された動画像信号は、第１の入力端子２０１から画像処理部１０５に入力される。一方、撮像パラメータは第２の入力端子２０２から画像処理部１０５に入力され、表示パラメータは第３の入力端子２０３から画像処理部１０５に入力される。
【００１４】
シャッタースピード取得部２１０は、第２の入力端子２０２に入力された撮像パラメータからシャッタースピードの情報を取得し、撮像フレームレート取得部２１１は、入力された撮像パラメータから撮像フレームレートの情報を取得する。表示フレームレート取得部２１２は、第３の入力端子２０３に入力された表示パラメータから表示フレームレートの情報を取得する。フレーム数算出部２１３は、取得された撮像フレームレートと表示フレームレートとの情報を入力し、フレームレート変換処理に必要なフレーム画像の枚数を算出する。例えば、撮像フレームレートが１００ｆｐｓであり、表示フレームレートが２０ｆｐｓである場合、フレームレート変換処理に必要な枚数は最低５枚となる。
【００１５】
フレーム画像取得部２０４は、第１の入力端子２０１に入力された動画像信号から、フレーム数算出部２１３で算出されたフレームレート変換処理に必要な連続するｎ枚のフレーム画像を取得する。動きベクトル算出部２０５は、ｎ枚のフレーム画像からフレーム間の動きベクトルを算出する。動き距離算出部２０７は、動きベクトル算出部２０５で算出された動きベクトルから動き距離を算出する。一方、動きスピード算出部２０６は、動きベクトル算出部２０５で算出された動きベクトルと撮像フレームレート取得部２１１により取得された撮像フレームレートとから、対象物体の動きスピードを算出する。
【００１６】
第１のフィルタ選択部２０８は、隣同士のフレーム画像間の動き距離、及びシャッタースピードにより、動きボケを付加するためのフィルタ補正係数αを決定する。一方、第２のフィルタ選択部２０９は、複数のフレーム画像間における動き距離により、動きボケを付加するためのフィルタ補正係数βを決定する。なお、フィルタ補正係数α、βの詳細については後述する。
【００１７】
第１のフィルタ適用部２１４は、第１のフィルタ選択部２０８で決定されたフィルタ補正係数αを用いて、動画像信号の複数枚のフレーム画像に対して動きボケを付加する第１のフィルタ処理を行う。そして、第２のフィルタ適用部２１５は、第１のフィルタ適用部２１４によりフィルタが適用された後のフレーム画像に対し、第２のフィルタ選択部２０９で決定されたフィルタ補正係数βを用いて動きボケを付加する第２のフィルタ処理を行う。フレームレート変換処理部２１６は、動きボケを付加するフィルタを全て適用した後、動画像信号に対してフレームレート変換処理を行って、新規のフレーム画像を複数生成する。そして、フレームレート変換処理部２１６で生成された新規のフレーム画像を出力端子２１７から出力動画像信号として出力する。
【００１８】
図３〜図６は、フレームレート変換処理を説明するための概念図である。
図３〜図６において、横軸は時間であり、１つの長方形の領域が１つのフレーム画像を表している。長方形の横軸は走査線一本の横方向の位置であり、長方形の縦方向は輝度を表している。
【００１９】
以下に説明する例では、入力時の表示フレームレートをInputRate＝１００ｆｐｓとし、出力時の表示フレームレートをOutputRate＝２０ｆｐｓとする。この条件を用いて、以下、フレームレート変換処理を行う際に５枚の入力されたフレーム画像から１枚のフレーム画像を生成する例について示す。
【００２０】
図３（ａ）には、入力される高速シャッタースピードの動画像信号の一例を示している。シャッタースピードは１／１０００ｓｅｃであり、Ｎ−２番目のフレーム画像からＮ＋２番目までのフレーム画像を用いてフレーム変換処理を行っている。Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像までの間、インパルス信号が均等速度で左から右へ移動しており、図３（ａ）に示す例では、短いシャッタースピードで撮影された動画像であるため、インパルス信号は鮮鋭に映っている。
【００２１】
図３（ｂ）には、フレームレート変換された動画像の時系列画像を示している。Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像を用いて平均合成した結果は５本のインパルス信号の画像になる。この場合、被写体は鮮鋭に写り、フレームレート変換処理で得られた動画像を観察すると多重像に認知してしまう。
【００２２】
図４（ａ）には、入力される低速シャッタースピードの動画像信号の一例を示している。シャッタースピードは１／１００ｓｅｃであり、Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像を用いてフレーム変換処理を行っている。Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像までの間、インパルス信号が均等速度で左から右へ移動しており、図４（ａ）に示す例では、オープンシャッタースピードで撮影された動画像であるため、インパルス信号は動きボケがあるように映っている。
【００２３】
図４（ｂ）には、フレームレート変換された動画像の時系列画像を示している。Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像を用いて平均合成した結果は５本のインパルス信号の画像になる。この場合、被写体は動きボケがあり、フレームレート変換処理で得られた動画像を観察すると滑らかな動きとして映る。
【００２４】
図５（ａ）には、入力された高速シャッタースピードの動画像信号の一例を示している。シャッタースピードは１／１０００ｓｅｃであり、Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像を用いてフレーム変換処理を行っている。Ｎ−２番目のフレーム画像からＮ＋２番目のフレーム画像までの間、インパルス信号が不均等速度で左から右へ移動しており、図５（ａ）に示す例では、短いシャッタースピードで撮影された動画像であるため、インパルス信号は鮮鋭に映っている。
【００２５】
図５（ｂ）には、平均合成処理を行って得られたフレーム画像の結果を示している。図５（ｂ）に示す例では被写体は鮮鋭に写り、フレームレート変換処理によって得られた動画像を観察すると、多重像に認知してしまう。
【００２６】
図５（ｃ）には、従来の方法によって動きボケを付加してフレームレート変換された動画像の時系列画像を示している。従来の方法では、隣同士のフレーム間にある被写体のスピードしか考慮していないため、動きボケを付加すると、被写体は空間上に移動する距離の影響により、動きボケ量を付加する量が相違する。動きボケ付加量の相違により、図５（ｃ）に示すように、合成したフレーム画像に輝度の段差が生じる。この段差によって、動画像として観察するとジャーキネスが発生し、画質劣化の原因になる。
【００２７】
図６（ａ）には、入力される高速シャッタースピードの動画像信号の一例を示しており、図５（ａ）と同様である。図６（ｂ）には、従来の方法により動きボケを付加させてから平均合成処理を行って得られたフレーム画像の結果を示している。動きボケの付加量が不均一であるため、このままフレームレート変換処理を行い、動画像を観察すると多重像に認知してしまう。
【００２８】
図６（ｃ）には、本実施形態によりフレームレート変換された動画像の時系列画像を示している。本実施形態では、さらに、時間軸の複数枚のフレームの動きベクトルの分散を取り、分散の値により動きボケの付加量を再決定する。なお、詳細な処理手順については後述する。時間軸に沿って動き物体の移動速度が異なることによって被写体が空間上に移動する距離が異なり、動きボケの付加量に相違が生じる。そこで、図６（ｂ）に示すような段差を再補正することによって、図６（ｃ）に示すように、画像全体に動きボケが付加され、動画像としてみると、滑らかな動きとなる。
【００２９】
＜被写体の動きスピードと最適シャッタースピードとの関係＞
図７（ａ）は、動きスピードとシャッタースピードとの関係を示す図である。
図７（ａ）に示すように、動きベクトルから求められた被写体の動きスピードに応じた最適なシャッタースピードが存在する。この最適なシャッタースピードで撮影されると、動き物体が鮮鋭に映る。したがって、最適なシャッタースピードより速いシャッタースピードで撮影すると、動き物体はより鮮鋭に映り、ジャーキネスによる劣化が生じやすくなる。
【００３０】
図７（ａ）の横軸は、動きベクトルから求められた動きスピードを示し、縦軸は、撮影時のシャッタースピードを示している。図７（ａ）に示すように、最適シャッタースピード曲線７０１を境に鮮鋭に映す領域と動きボケが存在する領域とが存在する。この動きボケ領域から最適シャッタースピード曲線７０１に近づくと、動きボケ量が少なくなり、ジャーキネスが発生する可能性が高くなる。以下、ジャーキネスが発生する可能性をジャーキネス発生度ｅと呼ぶ。
【００３１】
ここで、フレームレートをｆ（frame／秒）とし、動きスピードをｖ（Pixel／frame）とし、シャッタースピードをｓ（秒）とする。あるシャッタースピードで撮影する際に、動きブレは以下の式（１）に示すように1pixel以下であれば、画像が鮮鋭に映る。
【００３２】
【数１】
2012169701.tif 000003
【００３３】
最適シャッタースピード曲線７０１は、動きブレが1pixelである場合の動きスピードとシャッタースピードとの関係を表す曲線であり、以下の式（２）により計算される。
【００３４】
【数２】
2012169701.tif 000004
【００３５】
図７（ａ）に示したｖ−ｓ座標系にある任意点（ｖ０，ｓ０）と最適シャッタースピード曲線７０１との距離をDistanceとすると、任意点（ｖ０，ｓ０）でのジャーキネス発生度ｅは、以下の式（３）により計算される。
【００３６】
【数３】
2012169701.tif 000005
【００３７】
なお、任意点（ｖ０，ｓ０）と最適シャッタースピード曲線７０１との距離がゼロである場合、または任意点（ｖ０，ｓ０）が鮮鋭な領域にある場合は、ジャーキネス発生度ｅは∞とする。
【００３８】
図７（ｂ）は、ジャーキネス発生度ｅとフィルタ補正係数αとの関係を示す図である。図７（ｂ）に示すように、第１のフィルタ選択部２０８は、ジャーキネス発生度ｅの値によりフィルタ補正係数αの値を決めることができ、動きボケの付加量をフィルタ補正係数αによって制御することができる。なお、動きスピード、シャッタースピード及びフィルタ補正係数αの三次元データは画像処理部１０５に事前に保持される。
【００３９】
動きボケを付加するためのフィルタに用いられるフィルタ補正係数αは０から１までの正の小数であり、値は大きくなるにつれて、動きボケの付加量が多くなる。
【００４０】
＜動きベクトルの算出＞
図８は、動きベクトル算出部２０５によりフレーム間の相対移動量を算出する処理手順の一例を示すフローチャートである。本実施形態では、ブロック毎に動きベクトルを求め、その動きベクトルから画面全体の動き量をアフィンパラメータとして求める例について説明する。
まず、ステップＳ８０１において、前処理として有効ブロックの判定を行う。これは正しい動きベクトルが求まらない可能性のあるブロックを除外する処理である。この処理の詳細については後述する。
【００４１】
次に、ステップＳ８０２において、有効ブロックの動きベクトルを算出する。ここで、一般的なブロックマッチング方法について説明する。ブロックマッチング法では、マッチングの評価値としてブロック内の画素間の差分二乗和もしくは差分絶対値和を用いる。まず、動きベクトルを求める対象ブロックを基準画像のサーチ範囲内で順次動かしなら評価値を求めていく。そして、サーチ範囲内で求めた全ての評価値の中から最小の評価値もつ位置が対称ブロックと最も相関の高い位置であり、その移動量が動きベクトルとなる。
【００４２】
このサーチ範囲を１画素ずつ求めていく方法はフルサーチと呼ばれている。これに対し、サーチ範囲を間引きながら最小の評価値を求め、次にその近傍に対して細かくサーチする方法は、ステップサーチと呼ばれている。ステップサーチは特に高速に動きベクトルを求める方法としてよく知られている。以上の方法によりステップＳ８０２では、有効ブロックの動きベクトルを算出する。
【００４３】
次に、ステップＳ８０３において、全ブロックに対して動きベクトルの検出を行った否かを判定する。この判定の結果、検出処理を行っていないブロックがまだ存在する場合はステップＳ８０１に戻り、全ブロックに対して動きベクトルの検出を行った場合は、次のステップＳ８０４に進む。
【００４４】
ステップＳ８０４においては、有効な動きベクトルの判定を行う。この処理は、求めた動きベクトルのうち、算出結果が正しくないと判断されるものを除外する処理である。この処理の詳細については後述する。次に、ステップＳ８０５において、有効な動きベクトルからアフィンパラメータの検出を行う。
【００４５】
ここで、アフィンパラメータの検出処理の詳細について説明する。対象ブロックの中心座標が、（ｘ，ｙ）であり、動きベクトルの算出結果から基準画像におけるブロックの中心座標が（ｘ'，ｙ'）に移動したとすると、これらの関係は、以下の式（４）のように表すことができる。
【００４６】
【数４】
2012169701.tif 000006
【００４７】
ここで、式（４）に示す３×３の行列がアフィン変換行列である。行列の各要素がアフィンパラメータであり、ａ＝１，ｂ＝０，ｄ＝０，ｅ＝１のとき、この変換は平行移動となり、ｃが水平方向の移動量、ｆが垂直方向の移動量となる。また、ａ＝ｃｏｓθ，ｂ＝−ｓｉｎθ，ｃ＝０，ｄ＝ｓｉｎθ，ｅ＝ｃｏｓθ，ｆ＝０のとき、この変換は回転角θでの回転移動となる。上記式（４）は一般化した行列の形式で以下の式（５）のように表することができる。
【００４８】
【数５】
2012169701.tif 000007
【００４９】
ここで、ｘ及びｘ'は１×３の行列であり、Ａは３×３のアフィン行列である。なお、有効な動きベクトルがｎ個であった場合、対象画像の座標値は、以下の式（６）のようにｎ×３の行列で表すことができる。
【００５０】
【数６】
2012169701.tif 000008
【００５１】
同様に、移動後の座標値も式（６）のようにｎ×３の行列で表すことができる。よって、ｎ個の動きベクトルに対しては、以下の式（７）のように表すことができる。
【００５２】
【数７】
2012169701.tif 000009
【００５３】
ここで、式（７）におけるアフィン行列Ａを求めれば、それが画面全体の位置ずれ量になる。式（４）を変形すると、アフィン行列Ａは以下の式（８）のように表すことができる。
【００５４】
【数８】
2012169701.tif 000010
【００５５】
このように動き量がアフィン変換のパラメータで表現できるため、カメラを保持しているときに起こるシフトぶれ以外にも、面内方向でのロールぶれや前後方向のズームぶれなどにも対応することが可能である。
【００５６】
ブロックマッチングによりブロック間の相関を求めようとする場合、ブロック内の画像が何らかの特徴量を持っている必要がある。平坦でほとんど直流成分しか含んでいないブロックでは正しい動きベクトルを求めることはできず、逆に水平方向や垂直方向にエッジを含んでいると、マッチングがとりやすくなる。そこで、ステップＳ８０１では、このような平坦部のブロックを除外している。
【００５７】
図９は、動きベクトル算出部２０５により図８のステップＳ８０１で有効ブロックを判定する処理手順の一例を示すフローチャートである。図９では、１つのブロックに対する処理について説明する。
まず、ステップＳ９０１において、ブロック内にある水平方向の１つのラインに対し、最大値と最小値との差分値を算出する。例えば、ブロックのサイズが５０×５０の画素で構成されている場合、ブロック内における水平方向の５０の画素から最大値と最小値とを求め、その差分値を算出する。
【００５８】
次に、ステップＳ９０２において、水平ライン数の差分値を算出したか否かを判定し、差分値を算出していない水平ラインがまだある場合はステップＳ９０１に戻り、全ての水平ラインについて差分値を算出した場合はステップＳ９０３に進む。そして、ステップＳ９０３において、算出した数の差分値の中から最大の差分値を求める。
【００５９】
次に、ステップＳ９０４において、予め設定した閾値ＴｘとステップＳ９０３で算出した最大差分値とを比較する。この比較の結果、最大差分値が閾値Ｔｘよりも小さい場合は、水平方向には特徴量を持たないブロックであるとみなすことができるため、ステップＳ９０５に進み、無効ブロックとする。一方、最大差分値が閾値Ｔｘ以上である場合は、水平方向に特徴量を持つとみなすことができるため、ステップＳ９０６以降へ進み、垂直方向で同様の検証を行う。
【００６０】
次に、ステップＳ９０６において、ブロック内にある垂直方向の１つのラインに対し、最大値と最小値との差分値を算出する。例えば、ブロックのサイズが５０×５０の画素で構成されている場合、ブロック内における垂直方向の５０の画素から最大値と最小値とを求め、その差分値を算出する。
【００６１】
次に、ステップＳ９０７において、垂直ライン数の差分値を算出したか否かを判定し、差分値を算出していない垂直ラインがまだある場合はステップＳ９０６に戻り、全ての垂直ラインについて差分値を算出した場合はステップＳ９０８に進む。そして、ステップＳ９０８において、算出した数の差分値の中から最大の差分値を求める。
【００６２】
次に、ステップＳ９０９において、予め設定した閾値ＴｙとステップＳ９０８で算出した最大差分値とを比較する。この比較の結果、最大差分値が閾値Ｔｙよりも小さい場合は、垂直方向には特徴量を持たないブロックであるとみなし、ステップＳ９０５に進み、無効ブロックとする。一方、最大差分値が閾値Ｔｙ以上である場合は、水平・垂直両方向に特徴を持つブロックであることから、正確なブロックマッチングが行われることが期待できるため、ステップＳ９１０に進み、有効ブロックとする。
【００６３】
次に、有効な動きベクトルを判定する方法について図１０のフローチャートを参照しながら説明する。図１０は、動きベクトル算出部２０５により図８のステップＳ８０４で有効な動きベクトルを判定する処理手順の一例を示すフローチャートである。
まず、ステップＳ１００１において、図８のステップＳ８０２で検出された動きベクトルを入力し、ステップＳ１００２において、その発生頻度を算出する。次に、ステップＳ１００３において、全ての動きベクトルの発生頻度を算出したか否かを判定し、発生頻度を算出していない動きベクトルがまだある場合はステップＳ１００１に戻る。一方、全ての動きベクトルの発生頻度を算出した場合は、ステップＳ１００４において、最大発生頻度の動きベクトルを求める。
【００６４】
次に、ステップＳ１００５において、動きベクトルを再度入力し、ステップＳ１００６において、この動きベクトルが最大発生頻度の動きベクトル、もしくはその近傍の動きベクトルであるかどうかを判定する。画面全体のぶれが、シフトのみである場合、各ブロックの動きベクトルは、最大発生頻度の動きベクトルにほぼ一致し、ロールぶれを伴う場合は、最大発生頻度の動きベクトルの近傍に多くの動きベクトルが発生すると考えられる。したがって、これらの値に含まれる動きベクトルの場合は、ステップＳ１００７に進み、有効な動きベクトルと判定する。
【００６５】
一方、これらの値から外れている動きベクトルの場合は、ステップＳ１００８に進み、無効の動きベクトルと判定する。そして、ステップＳ１００９において、すべての動きベクトルに対して有効か無効かの判定処理が終わったかどうかを判定する。まだ判定が終わっていない動きベクトルがある場合はステップＳ１００５に戻り、全ての動きベクトルについて判定が終了した場合は、そのまま処理を終了する。
【００６６】
＜不均等スピードに関する処理＞
フレームレート変換処理を行う際に、複数枚のフレーム画像を平均合成して１枚のフレーム画像を生成する。複数のフレーム画像の間で動き物体が不均等速度で移動する場合、使用する複数のフレーム画像について、動き距離算出部２０７は、フレーム画像ごとに動きベクトルにより動き物体の動き距離を算出する。そして、第２のフィルタ選択部２０９は、距離平均Ａｖｅを以下の式（９）により算出する。
【００６７】
【数９】
2012169701.tif 000011
【００６８】
ここで、Ｎはフレーム画像の番号であって、Ｄ［ｎ］はｎ枚目のフレーム画像とｎ−１枚目のフレーム画像との間の動き物体の動き距離である。算出された複数の動き距離Ｄ［Ｎ］及び距離平均Ａｖｅにより、第２のフィルタ選択部２０９は、各フレーム画像の動き距離との標準偏差Ｓを以下の式（１０）により算出し、算出した標準偏差Ｓによりフィルタ補正係数βを算出する。
【００６９】
【数１０】
2012169701.tif 000012
【００７０】
図１１は、複数のフレーム画像の間で動き物体が不均等速度で動いている様子を説明する図である。また、図１２は、複数のフレーム画像の間で動き物体が不均等速度で動いている場合の標準偏差Ｓとフィルタ補正係数βとの関係を示す図である。図１２において、横軸は動き距離の標準偏差Ｓであり、縦軸はボケ付加パラメータ（フィルタ補正係数β）である。このように、第２のフィルタ選択部２０９は、標準偏差Ｓによりフィルタ補正係数βを決定することができる。そして、フレーム画像上に算出された全ての動きベクトルに対して、係数α、βのボケ付加処理を行う。
【００７１】
＜ボケ付加フィルタ選択＞
図１４には、ボケ付加フィルタの一例を示しており、Ｕ行Ｖ列のフィルタＷとする。ここで、第１のフィルタ適用部２１４及び第２のフィルタ適用部２１５により、フィルタ処理後の画像Ｉmが以下の式（１１）により得られる。
【００７２】
【数１１】
2012169701.tif 000013
【００７３】
ここで、フィルタ補正係数αは、前述したようにシャッタースピードと動きスピードとにより決定され、フィルタ補正係数βは、複数のフレーム画像での動き距離とその標準偏差とにより決定される。
【００７４】
＜全体的な処理＞
図１３は、本実施形態におけるフレームレート変換処理までの処理手順の一例を示すフローチャートである。
まず、ステップＳ１３０１において、フレーム画像取得部２０４は、連続するフレーム画像を取得する。次に、ステップＳ１３０２において、撮像フレームレート取得部２１１は、入力された撮像パラメータから撮像フレームレートの情報を取得する。前述したように撮像フレームレートは、動きスピードを算出する際に用いられる。
【００７５】
次に、ステップＳ１３０３において、フレーム数算出部２１３は、フレームレート変換処理に必要な連続するフレーム画像の枚数Ｎｕｍを算出する。そして、ステップＳ１３０４において、シャッタースピード取得部２１０は、撮影した時のシャッタースピードの値の情報を取得する。
【００７６】
次に、ステップＳ１３０５において、動きベクトル算出部２０５は、カウント用の整数ｎを初期化する。そして、ステップＳ１３０６において、動きベクトル算出部２０５は、整数ｎが枚数Ｎｕｍより小さいか否かを判定し、枚数Ｎｕｍより小さい場合は、次のステップＳ１３０７に進み、枚数Ｎｕｍに到達した場合は、ステップＳ１３１２に進む。
【００７７】
次に、ステップＳ１３０７において、動きベクトル算出部２０５は、ｎ番目のフレーム画像とｎ＋１番目のフレーム画像との間の動きベクトルを算出する。そして、ステップＳ１３０８において、動き距離算出部２０７は、ｎ番目のフレーム画像とｎ＋１番目のフレーム画像との間の動きベクトルによる被写体の動き距離Ｄ［ｎ］を算出する。
【００７８】
次に、ステップＳ１３０９において、動きスピード算出部２０６は、ステップＳ１３０２で取得した撮影フレームレートから動きスピードを算出する。そして、第１のフィルタ選択部２０８は、算出した動きスピードとステップＳ１３０４で取得したシャッタースピードとから、図７で説明したようにフィルタ補正係数αを決定する。
【００７９】
次に、ステップＳ１３１０において、第１のフィルタ適用部２１４は、決定されたフィルタ補正係数αによりフレーム画像の被写体にフィルタを適用して動きボケを付加する。そして、ステップＳ１３１１において、整数ｎの値を１つ増やし、ステップＳ１３０６に戻る。
【００８０】
一方、ステップＳ１３１２においては、第２のフィルタ選択部２０９は、フレームレート変換処理に必要な枚数Ｎｕｍで算出したＤ［ｎ］により、各フレーム画像の被写体の動き距離の標準偏差Ｓを求める。次に、ステップＳ１３１３において、第２のフィルタ選択部２０９は、フレーム画像ごとに算出された標準偏差Ｓからそれぞれのフレーム画像のフィルタ補正係数βを決定する。そして、第２のフィルタ適用部２１５は、各フレーム画像に異なるローパスフィルタをかけ、動きボケを付加する。全てのフレーム画像について動きボケを付加すると、処理を終了とする。
【００８１】
以上説明したように本実施形態によれば、複数のフレーム画像について、各フレーム間の撮像対象の動きスピード、シャッタースピード、及び動き距離により動きボケを付加するためのフィルタ補正係数α、βを調整することできる。これにより、フレームレート変換処理を行う際に、非均等速度で移動する物体が存在しても、ジャーキネスを抑制した動画像を生成することができる。
【００８２】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８３】
２０４  フレーム画像取得部
２０５  動きベクトル算出部
２０７  動き距離算出部
２１０  シャッタースピード取得部
２１１  撮像フレームレート取得部
２１４  第１のフィルタ適用部
２１５  第２のフィルタ適用部
【図１】
2012169701.tif 000014
【図２】
2012169701.tif 000015
【図３】
2012169701.tif 000016
【図４】
2012169701.tif 000017
【図５】
2012169701.tif 000018
【図６】
2012169701.tif 000019
【図７】
2012169701.tif 000020
【図８】
2012169701.tif 000021
【図９】
2012169701.tif 000022
【図１０】
2012169701.tif 000023
【図１１】
2012169701.tif 000024
【図１２】
2012169701.tif 000025
【図１３】
2012169701.tif 000026
【図１４】
2012169701.tif 000027