(57)【特許請求の範囲】
【請求項１】
画像を処理する画像処理装置であって、
処理対象の前記画像である対象画像を入力する画像入力部と、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部と、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部と、
前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する補正部と、
を備え、
前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する、
画像処理装置。
【請求項２】
画像を処理する画像処理装置であって、
処理対象の前記画像である対象画像を入力する画像入力部と、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部と、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部と、
を備え、
前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する、
画像処理装置。
【請求項３】
前記歪み成分推定部は、前記動きベクトルの平行移動成分に基づいて、前記対象画像のローリングシャッタ歪み成分を推定する請求項１又は２に記載の画像処理装置。
【請求項４】
前記歪み成分推定部は、前記動きベクトル、及び前記撮像装置の撮像条件の設定値に基づいて、前記ローリングシャッタ歪み成分を推定する請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記動きベクトル取得部は、前記対象画像の直前に撮像された画像である直前画像の直前に撮像された画像である直前画像を格納する記録部を参照可能に構成され、記録部に格納された直前画像及び前記対象画像に基づいて動きベクトルを取得する請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記動きベクトル取得部は、前記撮像装置に備わるジャイロセンサによって検出された動きベクトルを取得する請求項１〜４の何れか一項に記載の画像処理装置。
【請求項７】
画像を処理する画像処理方法であって、
処理対象の前記画像である対象画像を入力する画像入力ステップと、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得ステップと、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定ステップと、
前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する補正ステップと、
を備え、
前記補正ステップでは、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照し、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する、
画像処理方法。
【請求項８】
画像を処理する画像処理方法であって、
処理対象の前記画像である対象画像を入力する画像入力ステップと、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得ステップと、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定ステップと、
を備え、
前記動きベクトル取得ステップでは、前記動きベクトルを格納する記録部を参照し、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する、
画像処理方法。
【請求項９】
画像を処理するようにコンピュータを動作させる画像処理プログラムであって、
処理対象の前記画像である対象画像を入力する画像入力部、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部、及び、
前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する補正部として前記コンピュータを動作させ、
前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整することを特徴とする画像処理プログラム。
【請求項１０】
画像を処理するようにコンピュータを動作させる画像処理プログラムであって、
処理対象の前記画像である対象画像を入力する画像入力部、
前記対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する動きベクトル取得部、及び、
前記動きベクトルに基づいて、前記対象画像のローリングシャッタ歪み成分を推定する歪み成分推定部として前記コンピュータを動作させ、
前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関するものである。
【背景技術】
【０００２】
従来、画像処理装置として、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）を用いてフォーカルプレーンシャッタ方式で撮像された画像を処理するものが知られている（特許文献１参照）。上述した方式では、フレーム画像のデータ転送が１ラインごとに行われる。このため、フレーム画像内における撮像タイミングがラインごとに僅かに異なるタイミングとなる。このような撮像タイミングのズレに起因して、いわゆるローリングシャッタ歪み（フォーカルプレーン歪み）が発生する。
【０００３】
特許文献１記載の画像処理装置では、カメラモーション成分及びローリングシャッタ歪み成分等を用いて、画面全体の動きを示すグローバル動きベクトルをモデル化している。そして、この画像処理装置は、グローバル動きベクトルを検出し、検出されたグローバル動きベクトルから上記モデルを用いて各成分を分離し、カメラモーション成分又はローリングシャッタ歪み成分を算出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９３３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の画像処理装置では、ローリングシャッタ歪み成分を正確に算出できない場合がある。例えば、撮像シーン内に異なる動きの複数の被写体が存在する場合、当該複数の被写体の動きがグローバル動きベクトルへ反映されることがある。この場合、グローバル動きベクトルは特許文献１記載のモデルと誤差が生じるため、得られるローリングシャッタ歪み成分に誤差が発生する。さらに、特許文献１記載のモデルでは、ローリングシャッタ歪みの拡縮を表す成分、及び平行四辺形の歪み度合いを表す成分を算出するために、それぞれグローバル動きベクトルの複数の成分を必要とする。このため、ローリングシャッタ歪み成分の算出において誤差が生じやすい。
【０００６】
よって、当技術分野においては、ローリングシャッタ歪み成分を安定して正確に推定することができる画像処理装置、画像処理方法及び画像処理プログラムが望まれている。
【課題を解決するための手段】
【０００７】
すなわち、本発明の一側面に係る画像処理装置は、画像を処理する装置である。画像処理装置は、画像入力部、動きベクトル取得部、歪み成分推定部及び補正部を備える。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。補正部は、前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する。ここで、前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する。
【０００８】
この画像処理装置によれば、撮像装置の動きによって発生する動きベクトルを取得し、動きベクトルに基づいて対象画像のローリングシャッタ歪み成分を推定する。撮像装置の動きによって発生する動きベクトルは、画面全体の動きを示すグローバル動きベクトルに比べて自由度が制限されている。このため、動きベクトルは、グローバル動きベクトルに比べて、異なる動きの被写体が混在する撮像シーンであっても被写体の誤差を排除し易く安定して正確に取得することができる。よって、撮像装置の動きによって発生する動きベクトルを用いることにより、ローリングシャッタ歪み成分を安定して正確に推定することができる。そして、このように構成することで、ローリングシャッタ歪み成分の所定値より大きい変化を検出し、その変化を抑制するようにローリングシャッタ歪み成分を調整することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
【０００９】
また、本発明の他の側面に係る画像処理装置は、画像を処理する装置である。画像処理装置は、画像入力部、動きベクトル取得部及び歪み成分推定部を備える。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する。このように構成することで、動きベクトルの所定値より大きい変化を検出し、その変化を抑制するように動きベクトルを調整することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
【００１０】
ここで、前記歪み成分推定部は、前記動きベクトルの平行移動成分に基づいて、前記対象画像のローリングシャッタ歪み成分を推定してもよい。このように構成することで、動きベクトルの中でも特に安定して正確に取得できる平行移動成分を用いることで、ローリングシャッタ歪み成分を一層安定して正確に推定することができる。
【００１１】
前記歪み成分推定部は、前記動きベクトル、及び前記撮像装置の撮像条件の設定値に基づいて、前記ローリングシャッタ歪み成分を推定してもよい。このように構成することで、撮像装置固有の要因や撮像の環境情報を勘案してローリングシャッタ歪み成分を推定することができる。このため、正確にローリングシャッタ歪み成分を推定することが可能となる。
【００１２】
前記動きベクトル取得部は、前記対象画像の直前に撮像された画像である直前画像の直前に撮像された画像である直前画像を格納する記録部を参照可能に構成され、記録部に格納された直前画像及び対象画像に基づいて動きベクトルを取得してもよい。あるいは、前記動きベクトル取得部は、前記撮像装置に備わるジャイロセンサによって検出された動きベクトルを取得してもよい。
【００１３】
また、本発明の他の側面に係る画像処理方法は、画像を処理する方法である。画像処理方法は、画像入力ステップ、動きベクトル取得ステップ、歪み成分推定ステップ及び補正ステップを備える。画像入力ステップでは、処理対象の前記画像である対象画像を入力する。動きベクトル取得ステップでは、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定ステップでは、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。補正ステップでは、前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する。ここで、前記補正ステップでは、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照し、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する。
【００１４】
また、本発明の他の側面に係る画像処理方法は、画像を処理する方法である。画像処理方法は、画像入力ステップ、動きベクトル取得ステップ及び歪み成分推定ステップを備える。画像入力ステップでは、処理対象の前記画像である対象画像を入力する。動きベクトル取得ステップでは、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定ステップでは、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。前記動きベクトル取得ステップでは、前記動きベクトルを格納する記録部を参照し、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する。
【００１５】
また、本発明の他の側面に係る画像処理プログラムは、画像を処理するようにコンピュータを動作させるプログラムである。画像処理プログラムは、コンピュータを、画像入力部、動きベクトル取得部、歪み成分推定部及び補正部として動作させる。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。補正部は、前記ローリングシャッタ歪み成分に基づいて、前記対象画像を補正する。ここで、前記補正部は、前記ローリングシャッタ歪み成分の直前の履歴を格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記ローリングシャッタ歪み成分と前記対象画像における前記ローリングシャッタ歪み成分との差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記ローリングシャッタ歪み成分を調整する。
【００１６】
また、本発明の他の側面に係る画像処理プログラムは、画像を処理するようにコンピュータを動作させるプログラムである。画像処理プログラムは、コンピュータを、画像入力部、動きベクトル取得部及び歪み成分推定部として動作させる。画像入力部は、処理対象の画像である対象画像を入力する。動きベクトル取得部は、対象画像を撮像した撮像装置が当該対象画像の撮像時において当該対象画像に描画された被写体に対して相対的に移動したことによって発生する動きベクトルを取得する。歪み成分推定部は、動きベクトルに基づいて、対象画像のローリングシャッタ歪み成分を推定する。前記動きベクトル取得部は、前記動きベクトルを格納する記録部を参照可能に構成され、前記記録部に格納された直前の前記動きベクトルと前記対象画像における前記動きベクトルとの差分が所定値より大きい場合には、前記差分が小さくなるように前記対象画像における前記動きベクトルを調整する。
【００１７】
本発明の他の側面に係る画像処理方法及び画像処理プログラムによれば、上述した画像処理装置と同様の効果を奏する。
【発明の効果】
【００１８】
本発明の種々の側面及び実施形態によれば、ローリングシャッタ歪み成分を安定して正確に推定することができる画像処理装置、画像処理方法及び画像処理プログラムが提供される。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。
【図２】図１の画像処理装置が搭載される携帯端末のハードウェア構成図である。
【図３】連続する２枚のフレーム画像の座標系を説明する概要図である。
【図４】ローリングシャッタ歪みを説明する概要図である。（Ａ）は、Ｘ方向のライン走査の走査順がＹ方向であるときに、カメラ操作がＸ方向である場合の被写体の歪みを示す。（Ｂ）は、Ｘ方向のライン走査の走査順がＹ方向であるときに、カメラ操作がＹ方向である場合の被写体の歪みを示す。（Ｃ）は、Ｙ方向のライン走査の走査順がＸ方向であるときに、カメラ操作がＸ方向である場合の被写体の歪みを示す。（Ｄ）は、Ｙ方向のライン走査の走査順がＸ方向であるときに、カメラ操作がＹ方向である場合の被写体の歪みを示す。
【図５】歪み係数の算出方法を説明する概要図である。
【図６】動フレーム画像と歪み計数との関係を示すグラフである。
【図７】動き行列成分と移動量との関係を示すグラフである。
【図８】図１の画像処理装置の動作を示すフローチャートである。
【図９】第１実施形態に係る他の画像処理装置を搭載した携帯端末の機能ブロック図である。
【図１０】第３実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。
【図１１】図１０の画像処理装置の動作を示すフローチャートである。
【図１２】第４実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。
【図１３】図１２の画像処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
【００２１】
（第１実施形態）
本実施形態に係る画像処理装置は、画像の歪みを補正する装置である。この画像処理装置は、例えば、撮像装置を移動させながら撮像する場合に発生するローリングシャッタ歪みを補正する場合に採用される。本実施形態に係る画像処理装置は、例えば、携帯電話、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）等、リソースに制限のあるモバイル端末に好適に搭載されるものであるが、これらに限られるものではなく、例えば通常のコンピュータシステムに搭載されてもよい。なお、以下では、説明理解の容易性を考慮し、本発明に係る画像処理装置の一例として、カメラ機能を備えた携帯端末に搭載される画像処理装置を説明する。
【００２２】
図１は、本実施形態に係る画像処理装置１を備える携帯端末２の機能ブロック図である。図１に示す携帯端末２は、例えばユーザにより携帯される移動端末であり、図２に示すハードウェア構成を有する。図２は、携帯端末２のハードウェア構成図である。図２に示すように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２等の主記憶装置、カメラ又はキーボード等の入力デバイス１０３、ディスプレイ等の出力デバイス１０４、ハードディスク等の補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び画像処理装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、画像処理装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュール等を備えてもよい。
【００２３】
図１に示すように、携帯端末２は、カメラ２０、画像処理装置１、画像記録部２１、カメラ情報記録部２２及び表示部２３を備えている。カメラ２０は、画像を撮像する機能を有している。カメラ２０として、例えばＣＭＯＳの画素センサ等が用いられ、フォーカルプレーンシャッタ方式で撮像される。すなわち、カメラ２０は、画像の縦方向又は横方向へ走査して画素値を入力する。カメラ２０は、例えばユーザ操作等により指定されたタイミングから所定の間隔で繰り返し撮像する連続撮像機能を有している。すなわち、カメラ２０は、静止画像（静止フレーム画像）だけでなく動画（連続する動フレーム画像）を取得する機能を有している。カメラ２０は、例えば撮像されたフレーム画像（対象画像）を撮像の度に画像処理装置１へ出力する機能を有している。
【００２４】
画像処理装置１は、画像入力部１０、動きベクトル取得部１１、歪み成分推定部１２、補正パラメータ算出部１３及び画像補正部１４を備えている。
【００２５】
画像入力部１０は、カメラ２０により撮像されたフレーム画像を入力する機能を有している。画像入力部１０は、例えばカメラ２０により撮像されたフレーム画像を撮像の度に入力する機能を有している。また、画像入力部１０は、入力フレーム画像を、携帯端末２に備わる画像記録部２１に保存する機能を有している。また、画像入力部１０は、入力フレーム画像を動きベクトル取得部１１及び画像補正部１４へ出力する機能を有している。
【００２６】
動きベクトル取得部１１は、入力フレーム画像と当該入力フレーム画像の直前に撮像された２枚のフレーム画像を用いて動きベクトルを取得する機能を有している。動きベクトル取得部１１は、例えば、画像記録部２１を参照し、入力フレーム画像の直前のフレーム画像を取得する。動きベクトル取得部１１は、連続するフレーム画像同士をブロック単位でマッチングしてローカル動きベクトルを取得する。そして、動きベクトル取得部１１は、取得された複数のローカル動きベクトルを用いて、カメラ２０の被写体に対する相対的な動きによって生じるフレーム間のカメラモーション成分を算出する。ここで、図３に示すように、画像中心を原点とし、算出対象のフレーム画像の座標系を（ｘｉ，ｙｉ，１）ｔ、一つ前のフレーム画像の座標系を（ｘｉ−１，ｙｉ−１，１）ｔとすると、カメラモーション成分は以下の数式（１）で表される。なお、ｉは自然数である。
【数１】
0005401696.tif 000002
なお、数式（１）以外の手法でカメラモーションを取得してもよく、少なくともカメラ２０の平行移動成分を取得できればよい。動きベクトル取得部１１は、カメラモーション成分を歪み成分推定部１２及び補正パラメータ算出部１３へ出力する機能を有している。
【００２７】
歪み成分推定部１２は、カメラモーション成分に基づいてローリングシャッタ歪み成分を推定する機能を有している。図４は、ローリングシャッタ歪みを説明する概要図である。ローリングシャッタ歪みとは、図４の（Ａ）のように、カメラ２０が被写体に対して相対的に水平方向に移動した場合に、被写体が水平方向に平行四辺形状に歪むことである。カメラ２０が垂直方向に移動する場合には、ローリングシャッタ歪みは、図４の（Ｂ）のように、被写体が垂直方向に拡大・縮小するように発生する。歪み量は、カメラ２０の移動の速さが速くなるほど大きくなる。このことから、ローリングシャッタ歪みは、カメラ２０の移動の速さによって推定することが可能であるといえる。カメラ２０の移動の速さはフレーム間の平行移動量によって推定することができる。歪み成分推定部１２は、動きベクトル取得部１１で取得されたカメラモーション成分を入力し、カメラモーション成分の水平及び垂直方向の平行移動成分（ｍ０２ｉ−１→ｉ，ｍ１２ｉ−１→ｉ）ｔを、フレーム間の平行移動量（ｄｘｉ，ｄｙｉ）ｔであるとし、平行移動量に基づいて、ローリングシャッタ歪み成分を推定する。なお、フレーム間の平行移動量を、フレーム画像の中心座標の平行移動量としてもよい。ローリングシャッタ歪み成分は、歪みのある座標系を（ｘｉ，ｙｉ，１）ｔ、歪みのない座標系を（Ｘｉ，Ｙｉ，１）ｔとすると、以下の数式（２）で表される。
【数２】
0005401696.tif 000003
上記数式（２）に示すように、Ｙの値が歪み成分に影響を与える。ここでαは歪み係数である。歪み係数αは、フレーム画像の１ラインを読み込む時間を、フレーム画像全体を読み込む時間と次のフレーム画像を読み込むまでの時間とを加算した値で除算して算出される値である。言い換えれば、歪み係数αは、フレーム画像の１ラインを読み込む時間を、当該フレーム画像の最初のラインを読み込んだ時刻から次のフレーム画像の最初のラインを読み込む時刻までの時間で除算して算出される値である。歪み係数αは、カメラ２０に備わる画素センサの仕様や画素センサの駆動の設定により変化する。例えば、画素センサそれぞれにおいて、スキャンスピード、フレームレート、露光時間、画像サイズ、走査線の向き、ズーム倍率、ｆ値、機械式手ブレ補正機構のＯＮ／ＯＦＦ、フレームの撮像から出力までの時間、読み出し速度、読み出し方向等といった設定情報が異なる。このため、歪みの推定の前に、あらかじめ画素センサの様々な設定、撮像モード又は環境条件を含む撮像条件に対して算出しておく必要がある。
【００２８】
ここで、歪み係数αの算出方法について説明する。図５は、歪み係数αの算出方法を説明する概要図である。図５に示すように、歪み係数αは、静止フレーム画像frameｂ、動フレーム画像列frameｉを用いて算出される。静止フレーム画像と動フレーム画像とを比較して、どの程度の歪みが発生するのかを求め、さらに、動フレーム画像間でどの程度の平行移動量であったのかを求めることにより、歪みと平行移動量の相関を求める。この相関関係から歪みαを算出する。
【００２９】
具体的には、まず、被写体及びカメラ２０を静止させて、静止フレーム画像frameｂを撮影する。次に被写体あるいはカメラ２０を動かし、動フレーム画像列：frame０、frame１、frame２、…、frameｉ−１、frameｉを撮影する。動フレーム画像frameｉでの歪み量は、静止フレーム画像frameｂから動フレーム画像frameｉへの動き行列Ｍｂ→ｉを計算することで算出することができる。歪み量は、静止フレーム画像frameｂの座標系を（ｘｂ,ｙｂ,１）とし、動フレーム画像frameｉの座標系を（ｘｉ,ｙｉ,１）とすると、以下の数式（３）で表される。
【数３】
0005401696.tif 000004
ここで、動き行列Ｍｂ→ｉが平行移動成分及び歪み成分のみであると仮定すると、歪み量は、以下の数式（４）のように近似することができる。
【数４】
0005401696.tif 000005
【００３０】
数式（２）と数式（４）とを比較する。数式（４）では、歪み成分はｍ０１ｂ→ｉ及びｍ１１ｂ→ｉである。一方、数式（２）においては、歪み成分の元となるのは連続するフレーム間の動き成分とした平行移動量（ｄｘｉ，ｄｙｉ）ｔである。平行移動量を求めるために、動フレーム画像frameｉと、その一つ前の動フレーム画像frameｉ−１から、動き行列Ｍｉ−１→ｉを求める。動フレーム画像frameｉと、その一つ前の動フレーム画像frameｉ−１との関係を以下の数式（５）で表すことができる。
【数５】
0005401696.tif 000006
上記数式（５）を用いてフレーム間の動き成分（ｍ０２ｉ−１→ｉ，ｍ１２ｉ−１→ｉ）ｔを平行移動成分（ｄｘｉ，ｄｙｉ）ｔとしてもよい。また、動フレーム画像frameｉの中心座標の平行移動量を（ｄｘｉ，ｄｙｉ）ｔとしてもよい。（ｄｘｉ，ｄｙｉ）ｔを算出することで、歪み係数αは、以下の数式（６）,（７）で表すことができる。
【数６】
0005401696.tif 000007
【数７】
0005401696.tif 000008
【００３１】
歪み係数αを求めるための測定値であるｍ０１ｂ→ｉ，ｍ１１ｂ→ｉ,ｄｘｉ，ｄｙｉには誤差が含まれることが想定される。図６は、横軸がframeｉ、縦軸が歪み係数αｉである。図６に示すように、様々なframeｉについて歪み係数αｉを求め、それらの平均値を歪み係数αとして採用してもよい。図７は、横軸が移動量ｄｘｉであり、縦軸が動き行列成分ｍ０１ｂ→ｉである。図７に示すように、２次元平面上にプロットし、数式（７）に示す回帰直線の傾きから歪み係数αを求めてもよい。測定値であるｍ０１ｂ→ｉ，ｍ１１ｂ→ｉ,ｄｘｉ，ｄｙｉの値が小さく、誤差が与える影響が大きい場合であっても、上述した手法により精度良く歪み係数αを求めることができる。ローリングシャッタ歪みは画素センサの仕様や画素センサの駆動の設定により発生の様子が異なる。上述した手法で、カメラ２０すなわち画素センサの設定に対してそれぞれ歪み係数αを算出することにより、カメラ２０固有の条件を反映させて正確にローリングシャッタ歪みを推定することができる。なお、実際の測定値を用いて歪み係数αを算出する場合には、どのような撮像環境条件で歪み係数αを算出したのかについても記録しておいてもよい。撮像環境条件としては、例えば、「明るさ」又は「気温」等が含まれる。
【００３２】
歪み成分推定部１２は、カメラ情報記録部２２を参照可能に構成されている。カメラ情報記録部２２は、上記の方法で算出された歪み係数αを記録している。例えば、素子設定値と歪み係数αとを関連付けしたテーブルを備えている。素子設定値及び撮像環境と歪み係数αとを関連付けしたテーブルを備えていてもよい。歪み成分推定部１２は、カメラ情報記録部２２を参照し、画素センサの設定に応じて歪み係数αの値を取得し、カメラモーション成分を用いてローリングシャッタ歪み成分を推定する。画素センサの現状の設定情報や撮像環境に関する情報は、例えば、カメラ２０から取得してもよい。また、カメラ情報記録部２２に、フレーム画像の１ラインを読み込む時間、及び、フレーム画像全体を読み込む時間と次のフレーム画像を読み込むまでの時間が、設定情報や撮像環境に関する情報に関連付けされて記録されている場合には、カメラ情報記録部２２から歪み係数αを直接取得するのではなく、カメラ情報記録部２２に記録されている情報に基づいて歪み係数αを演算してもよい。歪み成分推定部１２は、ローリングシャッタ歪み成分を補正パラメータ算出部１３へ出力する機能を有している。
【００３３】
補正パラメータ算出部１３は、カメラモーション成分及びローリングシャッタ歪み成分に基づいて、歪みを打ち消すための補正パラメータを算出する機能を有している。例えば、補正パラメータ算出部１３は、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータを算出する。ここで、動画手ブレ補正に関しては、以下のように補正パラメータを算出する。まず、カメラ２０の静止位置の基準となるフレームからのカメラモーション成分の累積値を求める。そして、例えば、カメラモーション成分の累積値に基づいて手ブレの周波数のみを抽出する。この周波数を打ち消すように補正パラメータを算出する。動画手ブレ補正をする場合において、動き補正前の座標を（ｘｂ,ｙｂ,１）ｔ、動き補正後の座標を（ｘ’ｉ,ｙ’ｉ,１）ｔで表現した場合、動画の動き補正は以下の数式（８）式で定式化される。
【数８】
0005401696.tif 000009
ここで数式（８）で用いた以下の行列は、動き補正行列である。
【数９】
0005401696.tif 000010
動き補正前の座標（ｘｂ,ｙｂ,１）ｔは、歪みのある座標系である。ここで、補正パ動き補正前の座標（ｘｂ,ｙｂ,１）ｔを、歪みのない座標系（ｘｂ,ｙｂ,１）ｔへ一旦変換した後に、同一の動き補正行列による補正を適用するものとする。この場合、以下の数式（９）のように歪み量が表される。
【数１０】
0005401696.tif 000011
数式（９）に数式（２）を代入すると以下の数式（１０）に示すように、計算することができる。
【数１１】
0005401696.tif 000012
上記数式（１０）が、歪み補正及び動画手ブレ補正を同時に行うモデル式となる。なお上記数式（１０）の平行移動成分（ｍ０２’ｂ→ｉ＋ｍ１２’ｂ→ｉ・α・ｄｘｉ,ｍ１２ｂ→ｉ・α・ｄｙｉ）ｔについては、歪み係数αの原点の位置に依存してバイアスをかける必要がある。
【００３４】
上述したように、補正パラメータ算出部１３は、カメラモーション成分に基づき動き補正行列を求め、次に、動き補正行列及びローリングシャッタ歪み成分に基づき式（１０）で表される演算により、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータを算出する。補正パラメータ算出部１３は、パラメータを画像補正部１４へ出力する機能を有している。
【００３５】
画像補正部１４は、動画手ブレ補正及びローリングシャッタ歪み補正のパラメータに基づいて、入力されたフレーム画像に対して動きの補正を行う機能を有している。例えば、画像補正部１４は、パラメータに基づいてフレーム画像に対しアフィン変換等による画像変形及び画素補間を行う。画像補正部１４は、手ブレによるフレーム画像間の平行移動、回転、拡大又は縮小等の動きとローリングシャッタ歪みを補正することが可能である。そして、画像補正部１４は、必要に応じて補正の対象を選択し、画像の補正を行う。上述したとおり、本実施形態の画像処理装置１では、ローリングシャッタ歪みは、カメラモーションの平行移動成分のみに起因していると限定している。ここで、手ブレについても平行移動の動きに限定すると、補正前のフレーム画像から補正フレーム画像の各水平ラインに対応する位置の水平ラインの必要領域を、補正フレーム画像にラインコピーすることで画像の補正を行うことができる。この方法により、高速に画像補正を行うことが可能となる。画像補正部１４は、手ブレ及びローリングシャッタ歪みが補正された補正フレーム画像を、表示部２３へ出力する機能を有している。表示部２３は、補正フレーム画像を表示する機能を有している。
【００３６】
次に、本実施形態に係る画像処理装置１の動作について説明する。図８は、本実施形態に係る画像処理装置１の動作を示すフローチャートである。図８に示す制御処理は、例えば携帯端末２の撮像機能をＯＮしたタイミングで実行され、所定の周期で繰り返し実行される。
【００３７】
図８に示すように、最初に画像入力部１０が処理対象のフレーム画像を入力する（Ｓ１０：画像入力ステップ）。次に、動きベクトル取得部１１が動きベクトルを取得する（Ｓ１２：動きベクトル取得ステップ）。動きベクトル取得部１１は、画像記録部２１を参照し、直前に入力されたフレーム画像（直前画像）と、Ｓ１０の処理で入力されたフレーム画像とに基づいて、動きベクトルを取得し、カメラモーション成分とする。Ｓ１２の処理が終了すると、歪み成分推定処理へ移行する（Ｓ１４：歪み成分推定ステップ）。
【００３８】
Ｓ１４の処理では、歪み成分推定部１２が、Ｓ１２の処理で取得されたカメラモーション成分を用いてローリングシャッタ歪み成分を推定する。例えば、歪み成分推定部１２は、カメラ情報記録部２２を参照し、画素センサの設定に応じて歪み係数αの値を取得する。そして、歪み成分推定部１２は、歪み係数αとカメラモーション成分を用いて、数式（２）に基づいてローリングシャッタ歪み成分を推定する。Ｓ１４の処理が終了すると、補正パラメータ算出処理へ移行する（Ｓ１６）。
【００３９】
Ｓ１６の処理では、補正パラメータ算出部１３が、Ｓ１４の処理で推定された歪み成分を用いて補正パラメータを算出する。例えば、補正パラメータ算出部１３は、数式（１０）を用いて補正パラメータを算出する。Ｓ１６の処理が終了すると、補正処理へ移行する（Ｓ１８）。
【００４０】
Ｓ１８の処理では、画像補正部１４が、Ｓ１６の処理で算出された補正パラメータを用いてフレーム画像を補正する。Ｓ１８の処理が終了すると、表示処理へ移行する（Ｓ２０）。
【００４１】
Ｓ２０の処理では、表示部２３が、Ｓ１８の処理で補正されたフレーム画像を表示する。Ｓ２０の処理が終了すると、図８に示す制御処理を終了する。
【００４２】
次に、携帯端末（コンピュータ）２を上記画像処理装置１として機能させるための画像処理プログラムを説明する。
【００４３】
画像処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、入力画像を取得するように携帯端末２を動作させる。演算処理モジュールは、動きベクトル取得モジュール、歪み成分推定モジュール、補正パラメータ算出モジュール及び画像補正モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像処理装置１の画像入力部１０、動きベクトル取得部１１、歪み成分推定部１２、補正パラメータ算出部１３及び画像補正部１４の機能とそれぞれ同様である。
【００４４】
画像処理プログラムは、例えば、ＲＯＭ等の記憶媒体または半導体メモリによって提供される。また、画像処理プログラムは、データ信号としてネットワークを介して提供されてもよい。
【００４５】
以上、第１実施形態に係る画像処理装置１によれば、カメラ２０の動きによって発生する動きベクトルを取得し、動きベクトルに基づいてフレーム画像のローリングシャッタ歪み成分を推定する。カメラ２０の動きによって発生する動きベクトルは、画面全体の動きを示すグローバル動きベクトルに比べて自由度が制限されている。例えば、グローバル動きベクトルでは、平行移動成分、拡大縮小成分、回転成分、変形（歪み）成分等のパラメータが存在するが、カメラ２０の動きは、変形や歪みのパラメータを考慮する必要がない。具体的には、グローバル動きベクトルでは、６つのパラメータのアフィンパラメータを検出する必要があるが、画像処理装置１によれば水平及び垂直方向の平行移動量、すなわち２つのパラメータを考慮すればよい。このため、動きベクトルは、グローバル動きベクトルに比べて、異なる動きの被写体が混在する撮像シーンであっても被写体の誤差を排除し易く安定して正確に取得することができる。よって、カメラ２０の動きによって発生する動きベクトルを用いることにより、ローリングシャッタ歪み成分を安定して正確に推定することができる。さらに、２つのパラメータを用いた簡易な計算でローリングシャッタ歪み成分を推定するため、高速に処理することができる。
【００４６】
また、第１実施形態に係る画像処理装置１によれば、動きベクトルの中でも特に安定して正確に取得できる平行移動成分を用いることで、ローリングシャッタ歪み成分を一層安定して正確に推定することができる。
【００４７】
さらに、第１実施形態に係る画像処理装置１によれば、カメラ２０の固有の要因や撮像時の環境情報等を勘案してローリングシャッタ歪み成分を推定することができる。このため、カメラ２０の設定が変わりローリングシャッタ歪みの発生の様子が変化しても精度よく推定できる。
【００４８】
なお、第１実施形態に係る画像処理装置１の変形例として、ジャイロセンサで検出された動き情報を用いてローリングシャッタ歪み成分を推定してもよい。ジャイロセンサを用いた画像処理装置１の構成を図９に示す。図９に示すように、動きベクトル取得部１１は、ジャイロセンサ２４に接続されている。動きベクトル取得部１１は、ジャイロセンサ２４によって出力される動き情報（動きベクトル）をカメラモーションとして取得する。その他の構成は同様である。このようにジャイロセンサ２４を用いることにより、１枚のフレーム画像であってもローリングシャッタ歪みを推定して補正することができる。
【００４９】
さらに、第１実施形態に係る画像処理方法及び画像処理プログラムも、画像処理装置１と同様の作用効果を奏する。
【００５０】
（第２実施形態）
第２実施形態に係る画像処理装置１は、第１実施形態に係る画像処理装置１とほぼ同様に構成され、歪み成分推定部１２の一部機能が相違する。具体的には、歪み成分推定部１２が、カメラ２０から取得した情報に応じて複数のローリングシャッタ歪み成分のモデルを切り替えて使用する点が相違する。以下では、第１実施形態に係る画像処理装置１と相違する点を中心に説明し、重複する部分の説明は省略する。
【００５１】
歪み成分推定部１２は、カメラ２０の画素センサの走査順の方向に関する情報に基づいてローリングシャッタ歪み成分の推定手法を変更する機能を有している。例えば、カメラ情報記録部２２には、カメラ２０の設定情報として、現在の画素センサの走査順の方向に関する情報が記録されている。歪み成分推定部１２は、カメラ情報記録部２２を参照することで、上記情報を取得する。ローリングシャッタ歪み成分は、画素センサの走査の方向によって、図４の（Ａ）、（Ｂ）及び図４の（Ｃ）、（Ｄ）のように歪みの発生の様子が異なる。図４の（Ａ）、（Ｂ）のように、走査順が垂直方向の場合には、第１実施形態で説明した通り、数式（２）に示すモデルでローリングシャッタ歪みを表現できる。一方、図４の（Ｃ）、（Ｄ）のように走査順が水平方向の場合には、数式（２）に示すモデルでローリングシャッタ歪みを表現することができない。この場合、ローリングシャッタ歪み成分は、歪みのある座標系を（ｘｉ，ｙｉ，１）ｔ、歪みのない座標系を（Ｘｉ，Ｙｉ，１）ｔとすると、以下の数式（１１）に示すモデルで表される。
【数１２】
0005401696.tif 000013
上記数式（１１）に示すように、Ｘの値が歪み成分に影響を与える。
【００５２】
歪み成分推定部１２は、カメラ情報記録部２２を参照して得られた画素センサの走査順の方向に関する情報に基づいて、数式（２）又は数式（１１）のモデルのどちらで推定するか否かを判定する。そして、決定したモデルに基づいて、ローリングシャッタ歪み成分を推定する。その他の構成は第１実施形態と同様である。また、本実施形態に係る画像処理プログラムは、第１実施形態に係る画像処理プログラムと同様に構成される。
【００５３】
以上、第２実施形態に係る画像処理装置１によれば、第１実施形態に係る画像処理装置１と同様の作用効果を奏するとともに、画像センサの走査順の方向に応じて適切なモデルを用いてローリングシャッタ歪みを推定することができる。このため、カメラ２０の設定により画像センサの走査順の方向が変化しても正確な推定をすることが可能となる。
【００５４】
（第３実施形態）
第３実施形態に係る画像処理装置１は、第１実施形態に係る画像処理装置１とほぼ同様に構成され、歪み成分推定部１２の一部機能が相違する。具体的には、歪み成分推定部１２が、ローリングシャッタ歪みの変化を検知する点、当該変化に応じて推定値を調整する点が相違する。以下では、第１実施形態に係る画像処理装置１と相違する点を中心に説明し、重複する部分の説明は省略する。
【００５５】
図１０は、本実施形態に係る画像処理装置１を搭載した携帯端末２の機能ブロック図である。図１０に示すように、携帯端末２は、歪み成分記録部２５を備えている。歪み成分記録部２５は、歪み成分推定部１２から読み出し及び書き込み可能に構成されている。歪み成分記録部２５は、歪み成分推定部１２によって推定されたローリングシャッタ歪み成分の履歴を格納する。
【００５６】
歪み成分推定部１２は、ローリングシャッタ歪み成分を推定すると、歪み成分記録部２５へ記録する。そして、歪み成分推定部１２は、推定されたローリングシャッタ歪み成分が、歪み成分記録部２５に格納された前回値と比べて急激に変化しているか否かを判定する。前回値とは、直前のフレーム画像で推定されたローリングシャッタ歪みの推定値である。歪み成分推定部１２は、例えば、推定されたローリングシャッタ歪み成分と前回値との差分を算出し、差分値が第１の閾値より大きい値であれば、急激な変化があったものと判定する。そして、歪み成分推定部１２は、急激な変化があったと判定した場合には、ローリングシャッタ歪み成分の推定値を調整する。歪み成分推定部１２は、差分が小さくなるように調整する。例えば、歪み成分推定部１２は、ローリングシャッタ歪みの推定値を、前回のフレーム画像のローリングシャッタ歪みの推定値と同じ値とする。あるいは、歪み成分推定部１２は、ローリングシャッタ歪みの推定値、及び、前回以前のローリングシャッタ歪み成分を用いて、加重平均する。なお、歪み成分推定部１２は、加重平均のために選択する前回以前のローリングシャッタ歪み成分の数を第２閾値以下とする。第２閾値を調整することにより、ローリングシャッタ歪みの変化をどの程度抑制するかを調整することができる。その他の構成については、第１実施形態に係る画像処理装置と同様である。また、本実施形態に係る画像処理プログラムは、第１実施形態に係る画像処理プログラムと同様に構成される。
【００５７】
次に、本実施形態に係る画像処理装置１の動作について説明する。図１１は、本実施形態に係る画像処理装置１の動作を示すフローチャートである。図１１に示す制御処理は、例えば携帯端末２の撮像機能をＯＮしたタイミングで実行され、所定の周期で繰り返し実行される。
【００５８】
図１１に示すフレーム画像入力処理（Ｓ３０）、動きベクトル取得処理（Ｓ３２）及び歪み成分推定処理（Ｓ３４）については、図８に示す処理と同様である。
【００５９】
Ｓ３６の処理では、歪み成分推定部１２が、歪み成分記録部２５を参照し、前回のフレーム画像で推定されたローリングシャッタ歪み成分（前回値）を取得する。そして、歪み成分推定部１２は、Ｓ３４の処理で算出したローリングシャッタ歪み成分と前回値との差分を算出する。Ｓ３６の処理が終了すると、差分判定処理へ移行する（Ｓ３８）。
【００６０】
Ｓ３８の処理では、歪み成分推定部１２が、Ｓ３６の処理で算出された差分が所定値（第１の閾値）より大きいか否かを判定する。Ｓ３８の処理において、差分が第１の閾値より大きいと判定した場合には、調整処理へ移行する（Ｓ４０）。
【００６１】
Ｓ４０の処理では、歪み成分推定部１２が、Ｓ３４の処理で推定されたローリングシャッタ歪み成分を調整する。例えば、Ｓ３６の処理で用いた前回値と同じ値とする。あるいは、歪み成分推定部１２は、Ｓ３４の処理で推定されたローリングシャッタ歪み成分、及び、所定数の前回値を用いて加重平均する。Ｓ４０の処理が終了すると、補正パラメータ算出処理へ移行する（Ｓ４２）。
【００６２】
一方、Ｓ３８の処理において、差分が第１の閾値より大きくないと判定した場合には、補正パラメータ算出処理へ移行する（Ｓ４２）。
【００６３】
補正パラメータ算出処理（Ｓ４２）、補正処理（Ｓ４４）及び表示（Ｓ４６）については、図８に示す処理と同様である。
【００６４】
以上、第３実施形態に係る画像処理装置１によれば、第１及び第２実施形態に係る画像処理装置１と同様の効果を奏するとともに、ローリングシャッタ歪み成分の変化のうち所定値より大きい変化を検出し、その変化を抑制するようにローリングシャッタ歪み成分を調整することができる。ところで、従来の画像処理装置であれば、ジャイロセンサ等を用いることなく画像から歪み成分を演算する場合において、被写体が画面に進入・退出するシーンでは、ローリングシャッタ歪みが急激に変化してしまう。このため、ローリングシャッタ歪み成分を用いてローリングシャッタ歪みを補正すると、画面（フレーム画像）にちらつきやがたつきが生じる。これに対して、第３実施形態に係る画像処理装置１は、ローリングシャッタ歪み成分の急激な変化を抑制することにより、画面にちらつきやがたつきが生じることを回避することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
【００６５】
（第４実施形態）
第４実施形態に係る画像処理装置１は、第１実施形態に係る画像処理装置１とほぼ同様に構成され、動きベクトル取得部１１の一部機能が相違する。具体的には、動きベクトル取得部１１が、動きベクトルの変化を検知する点、当該変化に応じてカメラモーションを調整する点が相違する。以下では、第１実施形態に係る画像処理装置１と相違する点を中心に説明し、重複する部分の説明は省略する。
【００６６】
図１２は、本実施形態に係る画像処理装置１を搭載した携帯端末２の機能ブロック図である。図１２に示すように、携帯端末２は、動きベクトル記録部２６を備えている。動きベクトル記録部２６は、動きベクトル取得部１１から読み出し及び書き込み可能に構成されている。動きベクトル記録部２６は、動きベクトル取得部１１によって取得された動きベクトルの履歴を格納する。
【００６７】
動きベクトル取得部１１は、動きベクトルを取得すると、動きベクトル記録部２６へ記録する。そして、動きベクトル取得部１１は、取得した動きベクトルが、動きベクトル記録部２６に格納された前回値と比べて急激に変化しているか否かを判定する。前回値とは、直前のフレーム画像で取得された動きベクトルである。動きベクトル取得部１１は、例えば、推定された動きベクトルと前回値との差分を算出し、差分値が第１の閾値より大きい値であれば、急激な変化があったものと判定する。そして、動きベクトル取得部１１は、急激な変化があったと判定した場合には、動きベクトルを調整する。動きベクトル取得部１１は、差分が小さくなるように調整する。例えば、動きベクトル取得部１１は、動きベクトルを、前回のフレーム画像の動きベクトルと同じ値とする。あるいは、動きベクトル取得部１１は、動きベクトル、及び、前回以前の動きベクトルを用いて、加重平均する。なお、歪み成分推定部１２は、加重平均のために選択する前回以前の動きベクトルの数を第２閾値よりも小さい値とする。第２閾値を調整することにより、動きベクトルの変化をどの程度抑制するかを調整することができる。その他の構成については、第１実施形態に係る画像処理装置と同様である。また、本実施形態に係る画像処理プログラムは、第１実施形態に係る画像処理プログラムと同様に構成される。
【００６８】
次に、本実施形態に係る画像処理装置１の動作について説明する。図１３は、本実施形態に係る画像処理装置１の動作を示すフローチャートである。図１３に示す制御処理は、例えば携帯端末２の撮像機能をＯＮしたタイミングで実行され、所定の周期で繰り返し実行される。
【００６９】
図１１に示すフレーム画像入力処理（Ｓ５０）、動きベクトル取得処理（Ｓ５２については、図８に示す処理と同様である。
【００７０】
Ｓ５４の処理では、動きベクトル取得部１１が、動きベクトル記録部２６を参照し、前回のフレーム画像で取得された動きベクトル（前回値）を取得する。そして、動きベクトル取得部１１は、Ｓ５２の処理で取得された動きベクトルと前回値との差分を算出する。Ｓ５４の処理が終了すると、差分判定処理へ移行する（Ｓ５６）。
【００７１】
Ｓ５６の処理では、動きベクトル取得部１１が、Ｓ５４の処理で算出された差分が所定値（第１の閾値）より大きいか否かを判定する。Ｓ５４の処理において、差分が第１の閾値より大きいと判定した場合には、調整処理へ移行する（Ｓ５８）。
【００７２】
Ｓ５８の処理では、動きベクトル取得部１１が、Ｓ５２の処理で取得された動きベクトルを調整する。例えば、Ｓ５４の処理で用いた前回値と同じ値とする。あるいは、動きベクトル取得部１１は、Ｓ５２の処理で取得された動きベクトル、及び、所定数の前回値を用いて加重平均する。Ｓ５８の処理が終了すると、歪み成分推定処理へ移行する（Ｓ６０）。
【００７３】
一方、Ｓ５６の処理において、差分が第１の閾値より大きくないと判定した場合には、歪み成分推定処理へ移行する（Ｓ６０）。
【００７４】
歪み成分推定処理（Ｓ６０）、補正パラメータ算出処理（Ｓ６２）、補正処理（Ｓ６４）及び表示（Ｓ６６）については、図８に示す処理と同様である。
【００７５】
以上、第４実施形態に係る画像処理装置１によれば、第１及び第２実施形態に係る画像処理装置１と同様の効果を奏するとともに、動きベクトルの変化のうち所定値より大きい変化を検出し、その変化を抑制するように動きベクトルを調整することができる。ところで、従来の画像処理装置であれば、ジャイロセンサ等を用いることなく画像から歪み成分を演算する場合において、被写体が画面に進入・退出するシーンでは、ローリングシャッタ歪みが急激に変化してしまう。このため、動きベクトルを用いてローリングシャッタ歪みを補正すると、画面（フレーム画像）にちらつきやがたつきが生じる。これに対して、第４実施形態に係る画像処理装置１は、動きベクトルの急激な変化を抑制することにより、画面にちらつきやがたつきが生じることを回避することができる。よって、例えば、画面に被写体が進入・退出するシーンであっても、画面が不自然に補正されることを回避することが可能となる。
【００７６】
なお、上述した実施形態は本発明に係る画像処理装置の一例を示すものである。本発明に係る画像処理装置は、実施形態に係る画像処理装置１に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る画像処理装置を変形し、又は他のものに適用したものであってもよい。
【００７７】
例えば、上述した各実施形態では、カメラ２０がフレーム画像を取得する例を説明したが、別の機器からネットワークを介して送信された画像であってもよい。
【００７８】
また、上述した各実施形態に係る画像処理装置１を、手ぶれ補正装置とともに動作させてもよい。例えば、手ぶれ補正装置において、連写された複数の連続するフレーム画像を用いて一枚の補正フレーム画像を出力する装置が存在する。このような手ぶれ補正装置において、上述した実施形態に係る画像処理装置１を採用することにより、連続するフレーム画像間のローリングシャッタ歪みを補正することができるので、手ぶれ補正を一層正確に行うことが可能となる。
【００７９】
さらに、上述した第３及び第４実施形態の変形例として、ジャイロセンサで検出された動き情報を利用し、動きベクトル取得部１１で検出されたカメラモーション成分とジャイロセンサからの動き情報との差をとり、その差が急激に変化する場合にローリングシャッタ歪み成分を調整するように構成してもよい。
【符号の説明】
【００８０】
１…画像処理装置、１０…画像入力部、１１…動きベクトル取得部、１２…歪み成分推定部、１３…補正パラメータ算出部、１４…画像補正部、２０…カメラ（撮像装置）、２１…画像記録部、２２…カメラ情報記録部、２３…表示部、２４…ジャイロセンサ、２５…歪み成分記録部、２６…動きベクトル記録部。
【図１】
0005401696.tif 000014
【図２】
0005401696.tif 000015
【図３】
0005401696.tif 000016
【図４】
0005401696.tif 000017
【図５】
0005401696.tif 000018
【図６】
0005401696.tif 000019
【図７】
0005401696.tif 000020
【図８】
0005401696.tif 000021
【図９】
0005401696.tif 000022
【図１０】
0005401696.tif 000023
【図１１】
0005401696.tif 000024
【図１２】
0005401696.tif 000025
【図１３】
0005401696.tif 000026