(57)【要約】【課題】演算負荷を抑制しながら、フレーム画像の位置ずれとローリングシャッタによる歪みとを補正すること。【解決手段】画像処理装置１００は、撮像素子１０３により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出手段１０４と、変化量算出手段１０４により算出された変化量を用いて、フレーム画像を補正する補正手段１０４と、を備え、上記変化量は、撮像素子１０３のローリングシャッタによる歪みに関する情報を含む。【選択図】図１
2014131177.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出手段と、
前記変化量算出手段により算出された変化量を用いて、フレーム画像を補正する補正手段と、
を備え、
前記変化量は、前記撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記幾何変換モデルは、フレーム画像の位置ずれを補正するための幾何変換係数に、前記撮像素子のローリングシャッタによる歪みを補正するための補正項を付加したものであり、
前記補正項は、フレーム画像の位置ずれ量を変数として表され、フレーム画像ごとに、過去のフレーム画像の位置ずれ量を用いて更新されることを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記補正項は、前記変数と、前記過去のフレーム画像の位置ずれ量との差分を用いて表されることを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記補正項は、前記差分と、前記撮像素子のスキャン速度に応じて設定された定数とを用いて表されることを特徴とする画像処理装置。
【請求項５】
請求項２〜４のいずれか一項に記載の画像処理装置において、
前記位置ずれ量は、隣接するフレーム画像間の平行移動量を表すことを特徴とする画像処理装置。
【請求項６】
前記撮像素子と、
請求項１〜５のいずれか一項に記載の画像処理装置と、
を備えることを特徴とするカメラ。
【請求項７】
撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出工程と、
前記変化量算出工程により算出された変化量を用いて、フレーム画像を補正する補正工程と、
を有し、
前記変化量は、前記撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする画像処理方法。
【請求項８】
撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出処理と、
前記変化量算出処理により算出された変化量を用いて、フレーム画像を補正する補正処理と、
をコンピュータに実行させるための画像処理プログラムであって、
前記変化量は、前記撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、カメラ、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
６軸のアフィン変換モデルで２つの画像間の位置ずれ量を求め、この位置ずれ量を用いてこれら２つの画像間の位置合わせを行って、これら２つの画像を合成する画像処理装置が知られている（特許文献１参照)。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２４０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来技術を、時間方向に連続する複数のフレーム画像において、撮影時の手振れによる位置ずれとローリングシャッタによる歪みとを補正するために用いる場合、アフィン変換モデルで用いる変数が６つと多いので、変数を算出する際の演算負荷が大きくなってしまうという問題があった。
【課題を解決するための手段】
【０００５】
（１）請求項１に記載の発明による画像処理装置は、撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出手段と、変化量算出手段により算出された変化量を用いて、フレーム画像を補正する補正手段と、を備え、前記変化量は、撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする。
（２）請求項６に記載の発明によるカメラは、撮像素子と、請求項１〜５のいずれか一項に記載の画像処理装置と、を備えることを特徴とする。
（３）請求項７に記載の発明による画像処理方法は、撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出工程と、変化量算出工程により算出された変化量を用いて、フレーム画像を補正する補正工程と、を有し、前記変化量は、撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする。
（４）請求項８に記載の発明による画像処理プログラムは、撮像素子により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量を、幾何変換モデルを用いて算出する変化量算出処理と、変化量算出処理により算出された変化量を用いて、フレーム画像を補正する補正処理と、をコンピュータに実行させるための画像処理プログラムであって、前記変化量は、撮像素子のローリングシャッタによる歪みに関する情報を含むことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、演算負荷を抑制しながら、フレーム画像の位置ずれとローリングシャッタによる歪みとを補正することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施の形態によるカメラの構成例を説明するブロック図である。
【図２】画像補正処理の流れを示すフローチャートである。
【図３】（Ａ）は動画を構成するフレーム画像を説明する図であり、（Ｂ）は隣接位置変化量を説明する図であり、（Ｃ）は基準変化量を説明する図である。
【図４】ローリングシャッタ歪みを説明する図である。
【図５】フレーム画像の一例を示す図である。
【図６】プログラムの提供の様子を説明する図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明を実施するための一実施の形態について説明する。図１は、本発明の実施形態による画像処理装置を搭載したカメラの構成例を示すブロック図である。カメラ１００は、操作部材１０１と、撮像レンズ１０２と、撮像素子１０３と、制御装置１０４と、メモリカードスロット１０５と、モニタ１０６とを備えている。操作部材１０１は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、録画ボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【０００９】
撮像レンズ１０２は、被写体像を撮像素子１０３の撮像面に結像するように配置されている。撮像レンズ１０２は、図１では代表して１枚のレンズで表しているが、実際は複数の光学レンズから構成される。
【００１０】
撮像素子１０３は、行列状に多数配列された画素を有するＸ−Ｙアドレス型の光電変換素子（ＣＭＯＳイメージセンサ）である。撮像素子１０３は、制御装置１０４の制御に応じて駆動して撮像レンズ１０２により結像される被写体像を撮像し、撮像して得た画像信号を制御装置１０４へ出力する。本実施の形態において、撮像素子１０３は、走査ライン（画素行）ごとに順次画像信号を読み出す方式（いわゆるローリングシャッタ方式）により駆動される。
【００１１】
制御装置１０４は、ＣＰＵ、メモリ、およびその他の周辺回路により構成され、前記画像信号の処理に加え、カメラ１００全体の制御を行う。なお、制御装置１０４を構成するメモリには、ＳＤＲＡＭやフラッシュメモリが含まれる。ＳＤＲＡＭは、揮発性のメモリであって、ＣＰＵがプログラム実行時にプログラムを展開するためのワークメモリとして使用されたり、データを一時的に記録するためのバッファメモリとして使用されたりする。また、フラッシュメモリは、不揮発性のメモリであって、制御装置１０４が実行するプログラムのデータや、プログラム実行時に読み込まれる種々のパラメータなどが記録されている。
【００１２】
メモリカードスロット１０５は、記憶媒体としてのメモリカードを挿入するためのスロットである。モニタ１０６は、カメラ１００の背面に搭載された液晶モニタ（背面モニタ）である。
【００１３】
制御装置１０４は、カメラ１００の電源スイッチが操作されると電源をオンして、撮像素子１０３から時系列で取得した画像を表示用に画像処理した表示用画像データ（スルー画）をモニタ１０６に表示させる。
【００１４】
制御装置１０４は、レリーズボタンが操作されて静止画像の撮影が指示されると、撮像素子１０３から入力された画像信号に対して所定の画像処理を行う。そして、画像処理後の画像データをＪＰＥＧ形式などの圧縮画像データに圧縮し、その圧縮画像データを静止画像ファイルとしてメモリカードスロット１０５に挿入されたメモリカードに記憶させる。
【００１５】
一方、制御装置１０４は、録画ボタンが操作されて動画像の撮影開始が指示されると、撮像素子１０３から出力された各フレームの画像信号に対して所定の画像処理を行う。そして、画像処理後の画像データをＭＰＥＧ形式やＭｏｔｉｏｎＪＰＥＧなどの圧縮画像データに圧縮し、その圧縮画像データをメモリカードスロット１０５に挿入されたメモリカードに記憶させる。
【００１６】
そして、再度録画ボタンが操作されて動画像の撮影終了が指示されると、制御装置１０４は、動画像の撮影終了時点までの圧縮画像データをメモリカードに記憶させ、メモリカードに動画ファイルを完成させる。なお、動画像の撮影時、カメラ１００は、１秒間に所定のフレーム数（たとえば、２４〜６０フレーム）の画像を撮影する。
【００１７】
＜画像補正処理＞
本実施形態のカメラ１００は、動画像に対して、撮影時の手振れによるフレーム画像間の位置ずれを補正すると共に、撮像素子１０３のローリングシャッタ方式に起因してフレーム画像に発生する歪み（以下、ローリングシャッタ歪み）を補正する画像補正処理を行う。図２は、制御装置１０４が実行する画像補正処理の流れを説明するフローチャートである。制御装置１０４は、操作部材１０１の操作により、メモリカードスロット１０５に挿入されたメモリカードに記録された動画像の中から画像補正処理を実行する動画像が選択されると、図２に例示する処理を実行するプログラムを起動する。
【００１８】
ステップＳ１において制御装置１０４は、上記選択された動画像に対応する動画データの各フレーム画像を上記メモリカードから読み出して、ステップＳ２へ進む。なお、上記選択された動画像は、図３（Ａ）に示すように、時間的に連続するｎ枚のフレーム画像（Ｆ１〜Ｆｎ）から構成されるものとする。
【００１９】
ステップＳ２において制御装置１０４は、図３（Ｂ）に示すように、２〜ｎ枚目の各フレーム画像（Ｆ２〜Ｆｎ）において、隣接する直前フレーム画像（Ｆ１〜Ｆｎ−１）からの変化量を、隣接変化量Ｐ（Ｐ２〜Ｐｎ）として算出する。すなわち、２枚目のフレーム画像Ｆ２においては１枚目のフレーム画像Ｆ１からの隣接変化量Ｐ２を算出し、３枚目のフレーム画像Ｆ３においては２枚目のフレーム画像Ｆ２からの隣接変化量Ｐ３を算出し、…、ｎ枚目のフレーム画像Ｆｎにおいてはｎ−１枚目のフレーム画像Ｆｎ−１からの隣接変化量Ｐｎを算出する。
【００２０】
隣接変化量Ｐは、式（１）に示す幾何変換モデル（アフィン変換モデル）を用いて算出される。式（１）は、画像の座標（ｘ，ｙ）を、アフィン変換によって座標（ｘ’，ｙ’）に変換する式である。
【数１】
2014131177.tif 000003
【００２１】
ｎ枚目のフレーム画像Ｆｎにおける座標（ｘ’，ｙ’）の画素値と、ｎ−１枚目のフレーム画像Ｆｎ−１における座標（ｘ，ｙ）の画素値との差分が小さくなるような幾何変換係数ｐ０〜ｐ５が、これら２つのフレーム画像間における、平行移動、回転、変形、拡大／縮小の量を表している。本実施形態では、これらの幾何変換係数ｐ０〜ｐ５を、隣接変化量Ｐとして算出する。なお、これらの幾何変換係数ｐ０〜ｐ５については、後で詳しく説明する。
【００２２】
ステップＳ３において制御装置１０４は、図３（Ｃ）に示すように、２〜ｎ枚目の各フレーム画像（Ｆ２〜Ｆｎ）において、開始フレーム画像（１枚目のフレーム画像）Ｆ１からの変化量を基準変化量Ｑ（Ｑ２〜Ｑｎ）として算出する。すなわち、２枚目のフレーム画像Ｆ２においては開始フレーム画像Ｆ１からの基準変化量Ｑ２を算出し、３枚目のフレーム画像Ｆ３においては開始フレーム画像Ｆ１からの基準変化量Ｑ３を算出し、…、ｎ枚目のフレーム画像Ｆｎにおいては開始フレーム画像Ｆ１からの基準変化量Ｑｎを算出する。この基準変化量Ｑは、式（１）において行列として表現された隣接変化量Ｐ（ｐ０〜ｐ５）を積算することにより算出される。具体的には、基準変化量Ｑは、Ｑ２＝Ｐ２、Ｑ３＝Ｑ２×Ｐ３、Ｑ４＝Ｑ３×Ｐ４、…、Ｑｎ＝Ｑｎ−１×Ｐｎ、のように算出される。
【００２３】
ステップＳ４において制御装置１０４は、２〜ｎ枚目の各フレーム画像（Ｆ２〜Ｆｎ）において、基準変化量Ｑ（Ｑ２〜Ｑｎ）を用いて、開始フレーム画像からの変化（位置ずれおよびローリングシャッタ歪み）を補正する補正処理を行う。なお、基準変化量Ｑを用いた画像補正方法については、公知の方法を用いるものとする。その後、制御装置１０４は、補正後の動画データをメモリカードに記録して、図２の処理を終了する。
【００２４】
＜幾何変換モデル＞
次に、上述した隣接変化量Ｐを算出するために用いる幾何変換モデルについて詳しく説明する。上記式（１）に示した幾何変換モデルにおいて、６つの幾何変換係数ｐ０〜ｐ５がそれぞれ変数である場合、６つの変数を算出する必要があり、演算量が多くなってしまう。これに対して、フレーム画像間の位置ずれ量（平行移動量と回転量）のみを表す幾何変換モデルであれば、式（２）に示すように、３つの変数ａ、ｂ、θで表すことができる。すなわち、式（２）は、式（１）におけるｐ０をｃｏｓθ、ｐ１を−ｓｉｎθ、ｐ２をｓｉｎθ、ｐ３をｃｏｓθ、ｐ４をａ、ｐ５をｂと表した式である。なお、式（２）において、ａはｘ方向（横方向）における平行移動量、ｂはｙ方向（縦方向）における平行移動量、θは回転量を表す変数である。
【数２】
2014131177.tif 000004
【００２５】
また、撮影時の手振れによるカメラ１００の回転量は小さいと予測されることから、式（２）におけるθが微小であるとしてｃｏｓθ＝１と近似することで、式（３）に示すように、式（２）をさらに簡略化することができる。すなわち、式（３）は、式（１）におけるｐ０を１、ｐ１をｃ、ｐ２を−ｃ、ｐ３を１、ｐ４をａ、ｐ５をｂと表した式である。なお、式（３）において、ａはｘ方向（横方向）における平行移動量、ｂはｙ方向（縦方向）における平行移動量、ｃは回転量を表す変数である。
【数３】
2014131177.tif 000005
【００２６】
しかし、式（３）は、フレーム画像間の位置ずれ量（平行移動量および回転量）しか表すことができないので、フレーム間の位置ずれを補正することはできるが、ローリングシャッタ歪みを補正することはできない。そこで、本実施形態では、式（３）が示す幾何変換モデルをベースとして、変数を増やさずに（すなわち変数が３つのまま）、フレーム画像間の位置ずれの補正に加えローリングシャッタ歪みを補正する幾何変換モデルを提案する。
【００２７】
ここで、ローリングシャッタ歪みを補正する幾何変換モデルを説明する前に、ローリングシャッタ歪みについて考察する。ローリングシャッタ歪みは、撮像素子１０３の画素行ごとに画像信号の読み出し時刻が異なることに起因して発生する。すなわち、同一被写体において読み出し時刻が異なる位置が発生するので、カメラ１００が動いたり（すなわち振れたり）、被写体が高速で動いたりしている場合に、取得された画像上で被写体に歪みが生じる。
【００２８】
図４は、ローリングシャッタ歪みを説明する図である。図４では、実際の被写体の形状を点線で示し、ローリングシャッタ歪みが発生した被写体の形状を実線で示す。カメラ１００が右方向に移動した場合には、図４（Ａ）に示すフレーム画像において、被写体が左へ移動すると共に、被写体の下部よりも上部が右にずれるように斜めに変形する。カメラ１００が左方向に移動した場合には、図４（Ｂ）に示すフレーム画像において、被写体が右へ移動すると共に、被写体の下部よりも上部が左にずれるように斜めに変形する。カメラ１００が下方向に移動した場合には、図４（Ｃ）に示すフレーム画像において、被写体が上へ移動すると共に、被写体の上部と下部との間が広がるように、すなわち縦方向に拡大するように変形する。カメラ１００が上方向に移動した場合には、図４（Ｄ）に示すフレーム画像において、被写体が下へ移動すると共に、被写体の上部と下部との間が狭まるように、すなわち縦方向に縮小するように変形する。なお、カメラ１００ではなく被写体が移動している場合には、逆方向の歪みが発生する。
【００２９】
このように、ローリングシャッタ歪みは、横方向に斜めに歪む変形と、縦方向に拡大／縮小する変形との２種類の変形によって表される。このことをふまえ、本実施形態で用いる幾何変換モデルでは、次式（４）に示すように、上記式（３）に対して、横方向に斜めに歪む変形に対応する幾何変換係数（１行２列目の係数）と、縦方向に拡大／縮小する変形に対応する幾何変換係数（２行２列目の係数）とに、ローリングシャッタ歪みを補正するための補正項α、βを追加する。この補正項α、βは、２つのフレーム画像（隣接フレーム）間における、ローリングシャッタ歪みの変化量を表す。
【数４】
2014131177.tif 000006
【００３０】
また、式（４）において、ｗ，ｈは、ローリングシャッタ歪みの基準となる座標値を表し、たとえば、フレーム画像の中心点の座標値を表す。したがって、式（４）において、横方向の平行移動に対応する幾何変換係数（１行３列目の係数）に追加された補正項−ｗαと、縦方向の平行移動に対応する幾何変換係数（２行３列目の係数）に追加された補正項−ｈβとは、ローリングシャッタ歪みの基準をフレーム画像の中心に設定するためのものである。
【００３１】
次に、ローリングシャッタ歪みの変化量（補正項）α、βの算出方法について考察する。図５は、カメラ１００による撮影されたフレーム画像の一例であり、図５（Ａ）は時刻ｔ０、図５（Ｂ）は時刻ｔ１、図５（Ｃ）は時刻ｔ２のフレーム画像を示す。なお、これらのフレーム画像は、時刻ｔ０、ｔ１、ｔ２の順で撮影されたとする。また、時刻ｔ０の時点では、カメラ１００および被写体Ｏｂは静止していたが、時刻ｔ０から時刻ｔ１にかけて、および時刻ｔ１から時刻ｔ２にかけては、被写体Ｏｂに対してカメラ１００が左方向に動いていたとする。この場合、時刻ｔ０のフレーム画像では、図５（Ａ）に示すように、被写体Ｏｂにローリングシャッタ歪みが発生していない。時刻ｔ１のフレーム画像では、図５（Ｂ）に示すように、時刻ｔ０のフレーム画像から被写体Ｏｂが右方向に移動すると共に、横方向に斜めに変形するローリングシャッタ歪みが発生している。時刻ｔ２のフレーム画像では、図５（Ｃ）に示すように、時刻ｔ１のフレーム画像から被写体Ｏｂが右方向に移動すると共に、横方向に斜めに変形するローリングシャッタ歪みが発生している。
【００３２】
ローリングシャッタ歪みは、撮像素子１０３のスキャン速度（読み出し走査の速度）と、撮像素子１０３上での被写体の移動速度とに応じて変化する。すなわち、スキャン速度が遅いほど、フレーム画像で発生するローリングシャッタ歪みの量は大きくなる。また、被写体の移動速度が速いほど、フレーム画像で発生するローリングシャッタ歪みの量は大きくなる。スキャン速度は、動画撮影中変化しないため、動画撮影中においてローリングシャッタ歪みの変動は、撮像素子１０３上での被写体の移動速度に依存すると考えられる。
【００３３】
また、図５では、時刻ｔ０の時点でローリングシャッタ歪みが発生していない（ゼロである）ので、時刻ｔ０から時刻ｔ１におけるローリングシャッタ歪みの変化量と、時刻ｔ０から時刻ｔ１におけるローリングシャッタ歪みの変化量とを積算することで、時刻ｔ２におけるローリングシャッタ歪みの量が求められると考えられる。すなわち、フレーム画像間でのローリングシャッタ歪みの変化量を求めることで、ローリングシャッタ歪みの量を求めることができ、ローリングシャッタ歪みを補正できると考えられる。
【００３４】
ここで、フレーム画像において、時刻ｔ０から時刻ｔ１における被写体Ｏｂの移動量をｍ１とし、時刻ｔ１から時刻ｔ２における被写体Ｏｂの移動量をｍ２とする。時刻ｔ０では被写体が静止しており、時刻ｔ０から時刻ｔ１の時点で被写体が移動しているので、時刻ｔ０から時刻ｔ１におけるローリングシャッタ歪みの変化量は、被写体の移動速度、すなわち被写体Ｏｂの移動量ｍ１から求めることができると考えられる。
【００３５】
また、被写体Ｏｂの移動量ｍ１と被写体Ｏｂの移動量ｍ２とが同じである場合、時刻ｔ０から時刻ｔ１までと、時刻ｔ１から時刻ｔ２までとにおいて、被写体Ｏｂの移動速度が同じである。この場合、時刻ｔ１のフレーム画像におけるローリングシャッタ歪みの量と、時刻ｔ２のフレーム画像におけるローリングシャッタ歪みの量とが同じであると考えられる。したがって、時刻ｔ１から時刻ｔ２におけるローリングシャッタ歪みの変化量は０となる。
【００３６】
一方、被写体Ｏｂの移動量ｍ１と被写体Ｏｂの移動量ｍ２とが異なる場合、時刻ｔ０から時刻ｔ１までと、時刻ｔ１から時刻ｔ２までとにおいて、被写体Ｏｂの移動速度が変化している。被写体Ｏｂの移動速度が変化した分、ローリングシャッタ歪みの量が異なるため、時刻ｔ１から時刻ｔ２におけるローリングシャッタ歪みの変化量は、被写体Ｏｂの移動速度の変化量、すなわち被写体Ｏｂの移動量ｍ２と被写体Ｏｂの移動量ｍ１との差分に応じて変動すると考えられる。
【００３７】
このように、直前フレーム画像からのローリングシャッタ歪みの変化量は、２枚目のフレーム画像においては被写体Ｏｂの移動量、すなわち画像の平行移動量から求めることができ、３枚目のフレーム以降においては被写体Ｏｂの移動量の変化量、すなわち画像の平行移動量の変化量によって求めることができると考えられる。
【００３８】
このことをふまえ、本実施形態の幾何変換モデルでは、式（４）におけるローリングシャッタ歪みの変化量（補正項）α、βを、以下の式（５）、式（６）により表す。なお、式（５）および（６）において、ｋ１、ｋ２は、定数である。ａ’は、現在のフレーム画像（隣接変化量Ｐを算出する対象のフレーム画像）の直前のフレーム画像において算出された、横方向の平行移動量ａである。ｂ’は、現在のフレーム画像（隣接変化量Ｐを算出する対象のフレーム画像）の直前のフレーム画像において算出された、縦方向の平行移動量ｂである。
α＝ｋ１（ａ−ａ’）・・・（５）
β＝ｋ２（ｂ−ｂ’）・・・（６）
【００３９】
すなわち、横方向に斜めに歪む変形に対応する変化量αは、現在のフレーム画像における横方向の平行移動量ａと、直前のフレーム画像における横方向の平行移動量ａ’との差分、すなわち横方向の平行移動量ａの変化量に応じて算出される。また、縦方向に拡大／縮小する変形に対応する変化量βは、現在のフレーム画像における縦方向の平行移動量ｂと、直前のフレーム画像における縦方向の平行移動量ｂ’との差分、すなわち縦方向の平行移動量ｂの変化量に応じて算出される。
【００４０】
また、定数ｋ１、ｋ２は、撮像素子１０３のスキャン速度に応じて設定される。スキャン速度が速いほどフレーム画像で発生するローリングシャッタ歪みは小さくなるので、定数ｋ１、ｋ２を小さく設定し、ローリングシャッタ歪みの補正量を小さくする。一方、スキャン速度が遅いほどフレーム画像で発生するローリングシャッタ歪みは大きくなるので、定数ｋ１、ｋ２を大きく設定し、ローリングシャッタ歪みの補正量を大きくする。
【００４１】
なお、隣接変化量Ｐは時系列順に算出するので、現在のフレーム画像における隣接変化量Ｐｎを算出する時点で、直前のフレーム画像における隣接変化量Ｐｎ−１は既に算出されている。そのため、現在のフレーム画像における隣接変化量Ｐｎを算出する時点で、直前のフレーム画像における平行移動量ａ’、ｂ’は既知である。しかし、２枚目のフレーム画像における隣接変化量Ｐ２を算出する際には、１枚目のフレーム画像ではａ’、ｂ’が算出されないので、たとえば、ａ’＝ｂ’＝０とする。
【００４２】
上述したステップＳ２（図２）において、制御装置１０４は、各フレーム画像において、式（５）および式（６）を用いて、式（４）に示す幾何変換モデルを更新し、更新した幾何変換モデルを用いて隣接変化量Ｐを算出する。式（４）〜式（６）によれば、変数がａ、ｂ、ｃの３つであるため、変数が６つである場合と比べて、演算負荷を軽減することができる。なお、幾何変換モデルにおける変数の算出方法については、公知の手法を用いるものとする。
【００４３】
また、この隣接変化量Ｐは、隣接フレーム画像間における、位置ずれ量（平行移動量および回転量）とローリングシャッタ歪みの変化量とを表している。このため、ステップＳ３（図２)において、制御装置１０４は、各フレーム画像について、開始フレームからの位置ずれ量とローリングシャッタ歪みの変化量とを表す基準変化量Ｑを算出することができる。したがって、ステップＳ４（図２）において、制御装置１０４は、各フレームの基準変化量Ｑを用いて、動画像においてフレーム画像間の位置ずれを補正すると共にローリングシャッタ歪みを補正することができる。
【００４４】
以上説明した実施形態によれば、次の作用効果が得られる。
（１）カメラ１００は、撮像素子１０３により撮像され、連続して取得される複数のフレーム画像において、フレーム画像ごとの変化量（隣接変化量Ｐ）を、幾何変換モデル（式（４））を用いて算出する制御装置１０４と、隣接変化量Ｐを用いてフレーム画像を補正する制御装置１０４と、を備える。幾何変換モデル（式（４））は、フレーム画像の位置ずれを補正するための幾何変換係数に、撮像素子１０３のローリングシャッタによる歪みを補正するための補正項（α，β）を付加したものである。補正項（α，β）は、フレーム画像の位置ずれ量（平行移動量）を変数（ａ，ｂ）として表され、フレーム画像ごとに、過去のフレーム画像の位置ずれ量（ａ’，ｂ’）を用いて更新される。これにより、演算負荷を抑制しながら、フレーム画像の位置ずれとローリングシャッタによる歪みとを補正することができる。
【００４５】
（２）上記（１）のカメラ１００において、上記補正項（α，β）は、フレーム画像の位置ずれ量を示す変数（ａ，ｂ）と、過去のフレーム画像の位置ずれ量（ａ’，ｂ’）との差分（ａ−ａ’，ｂ−ｂ’）を用いて表されるようにした。これにより、撮像素子１０３上での被写体の移動速度に応じて、ローリングシャッタ歪みを適切に補正することができる。
【００４６】
（３）上記（２）のカメラ１００において、上記補正項（α，β）は、上記差分（ａ−ａ’，ｂ−ｂ’）と、撮像素子１０３のスキャン速度に応じて設定された定数（ｋ１，ｋ２）とを用いて表される。これにより、撮像素子１０３のスキャン速度に応じて、ローリングシャッタ歪みを適切に補正することができる。
【００４７】
（変形例１）
上述した実施の形態では、メモリカードに記録された動画データを読み出し、読み出した動画データの各フレームに基づいて隣接変化量Ｐを算出する場合について説明した。しかしながら、制御装置１０４は、動画データの撮影中に、撮像素子１０３により動画データのフレームが撮像されるごとに、隣接変化量Ｐを算出するようにしてもよい。
【００４８】
変形例１の制御装置１０４は、動画像の撮影開始後、撮像素子１０３から各フレーム画像が出力されるごとに、直前のフレーム画像からの変化量を隣接変化量Ｐとして算出する。そして制御装置１０４は、フレーム画像データと隣接変化量Ｐを関連付けてメモリカードに記録する。
【００４９】
動画像の撮影が終了すると、制御装置１０４は、上記画像補正処理（図２）を開始し、ステップＳ１およびＳ２に代えて、動画データのフレーム画像に関連付けられた隣接変化量Ｐをメモリカードから読み出す。そして制御装置１０４は、読み出した隣接変化量Ｐに基づいてステップＳ３以降の処理を行い、補正後の動画データをメモリカードに記録する。
【００５０】
このように動画像の撮影中にリアルタイムで隣接変化量Ｐを算出して、動画像の撮影後に画像補正処理を行うことにより、補正された動画データを早期に取得することができる。
【００５１】
（変形例２）
上述した実施の形態では、動画データに対して上記画像補正処理（図２）を行う例について説明したが、連写撮影により連続して取得される複数のフレーム画像に対して、上記画像補正処理（図２）を行うようにしてもよい。
【００５２】
（変形例３）
上述した実施の形態では、幾何変換モデル（式（４））において、ローリングシャッタ歪みを補正するための補正項α，βを、過去のフレーム画像における平行移動量ａ’，ｂ’を用いて求める例について説明した。しかしながら、カメラ１００に、カメラ１００の移動速度を検出するためのセンサ（たとえば、角速度センサ）を設け、当該センサにより検出されたカメラ１００の移動速度に基づいて補正項α，βを求めるようにしてもよい。
【００５３】
（変形例４）
上述した実施の形態では、幾何変換モデル（式（４））において、ローリングシャッタ歪みを補正するための補正項α，βを、直前のフレーム画像における平行移動量ａ’，ｂ’を用いて求める例について説明した。しかしながら、補正項α，βを求めるために用いる平行移動量は、過去のフレーム画像１枚分に限らなくてよく、複数の過去のフレーム画像における平行移動量を用いて、補正項α、βを求めるようにしてもよい。
【００５４】
（変形例５）
上述した実施の形態では、カメラ１００の制御装置１０４が不図示のメモリに記録されたプログラムを実行することで、上記画像補正処理(図２)を行う例について説明した。このプログラムは、製品出荷時に予め記録されていてもよいし、製品出荷後、メモリカードなどの記録媒体やインターネットなどのデータ信号を通じて提供されてもよい。図６はその様子を示す図である。カメラ１００は、メモリカードなどの記録媒体２００を介してプログラムの提供を受ける。また、カメラ１００は通信回線２０１との接続機能を有する。コンピュータ２０２は上記プログラムを提供するサーバコンピュータであり、ハードディスク２０３などの記録媒体にプログラムを格納する。通信回線２０１は、インターネット、パソコン通信などの通信回線、あるいは専用通信回線などである。コンピュータ２０２はハードディスク２０３を使用してプログラムを読み出し、通信回線２０１を介してプログラムをカメラ１００に送信する。すなわち、プログラムをデータ信号として搬送波を介して、通信回線２０１を介して送信する。このように、プログラムは、記録媒体やデータ信号（搬送波）などの種々の形態のコンピュータ読み込み可能なコンピュータプログラム製品として供給できる。
【００５５】
（変形例６）
上述した実施の形態では、カメラ１００が備える制御装置１０４が上記画像補正処理（図２）を実行する例について説明した。しかしながら、上記画像補正処理を実行するためのプログラムをパソコンなどその他の端末に記録して、当該端末上で処理を実行することも可能である。この場合、カメラで撮影した動画データを端末側に取り込んで、これを対象に上記画像補正処理を行う。また、本発明はカメラ付き携帯電話などに適用することも可能である。
【００５６】
以上の説明はあくまで一例であり、上記実施形態の構成に何ら限定されるものではない。また、上記実施形態に各変形例の構成を適宜組み合わせてもかまわない。
【符号の説明】
【００５７】
１００…カメラ、１０１…操作部材、１０２…撮像レンズ、１０３…撮像素子、１０４…制御装置、１０５…メモリカードスロット、１０６…モニタ
【図１】
2014131177.tif 000007
【図２】
2014131177.tif 000008
【図３】
2014131177.tif 000009
【図４】
2014131177.tif 000010
【図５】
2014131177.tif 000011
【図６】
2014131177.tif 000012