(57)【要約】【課題】複数の画像データからより高解像度の画像データを生成する処理時間の短縮。【解決手段】ＣＰＵ２００は、時系列に並ぶ複数の画像データＦ０〜Ｆ３を取得し、画像データＦ０〜Ｆ３のそれぞれの生成時に対応するディジタルスチルカメラ１０の動きに関する情報として、角速度ＶX、ＶY、ＶZを取得する。ＣＰＵ２００は、画像データＦ０〜Ｆ３が表す画像間における被写体の位置ずれ補正量であって、角速度ＶX、ＶY、ＶZを用いて推定される第１の補正量を算出する。ＣＰＵ２００は、第１の補正量に基づいて位置ずれを補正された画像データＦ０〜Ｆ０を解析して推定される第２の補正量を算出する。そして、ＣＰＵ２００は、第２の補正量に基づいて、位置ずれを補正すると共に、補正された画像データＦ０〜Ｆ３を合成してより解像度の高い高解像度画像データを生成する。【選択図】  図５
2006005384.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得する画像データ取得手段と、
前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得する情報取得手段と、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出する第１の補正量算出手段と、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出する第２の補正量算出手段と、
前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成する高解像度画像生成手段とを備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記第１の補正量の算出は、前記複数の画像データが表す画像を構成する画素単位の精度で実行され、
前記第２の補正量の算出は、前記複数の画像データが表す画像を構成する画素単位より細かい精度で実行される画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置において、
前記生成時動き情報は、
前記撮像装置に備えられたセンサによって検出された情報、または、
前記センサによって検出された情報を加工して得られた情報である画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置において、
前記生成時動き情報は、
前記撮像装置の向きの変化に関する角変位量、角速度、角加速度のいずれかである画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記撮像装置の向きの変化は、
撮像画像における被写体の上下方向のずれに対応するピッチ方向の角度変化、
撮像画像において被写体の左右方向のずれに対応するヨー方向の角度変化、
撮像画像と垂直な直線を軸として被写体が回転するずれに対応するロール方向の角度変化、
の全部または一部である画像処理装置。
【請求項６】
画像処理方法であって、
撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得し、
前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得し、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出し、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出し、
前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成する画像処理方法。
【請求項７】
画像処理を実行するコンピュータプログラムであって、
撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得する画像データ取得機能と、
前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得する情報取得機能と、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出する第１の補正量算出機能と、
前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出する第２の補正量算出機能と、
前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成する高解像度画像生成機能とをコンピュータに実現させるコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関し、特に、比較的低解像度の複数の画像データから高解像度の画像データを生成する技術に関する。
【背景技術】
【０００２】
デジタルビデオカメラで生成された動画像データを構成するフレーム画像や、デジタルスチルカメラによって連続撮影された画像データのように、時系列に並ぶ複数の近似した画像データが取得される場合がある。これらの近似した複数の画像データを元画像データとして、元画像データより高解像度の画像データを生成する技術が知られている（例えば、特許文献１）。
【０００３】
【特許文献１】特開平１１−１６４２６４号公報
【０００４】
上記技術では、例えば、元画像データとして、動画像データを構成する連続する複数のフレーム画像を用いる場合において、フレーム画像の画像データを解析して、各フレーム画像間の移動ベクトル（いわゆるフレーム画像間のずれに相当する）を画素単位より細かい精度で算出する。そして、算出した移動ベクトルに基づいて、各フレーム画像を重ね合わせて、高解像度の画像データを合成している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、各フレーム画像間の移動ベクトルをフレーム画像のデータ解析のみによって算出しているため、処理時間が長くなりやすい。特にフレーム画像間のずれが大きい場合、すなわち、算出すべき移動ベクトルが大きい場合に、移動ベクトルの算出に要する処理時間、処理負荷が増大し、高解像度の画像データの生成に長時間を要するおそれがあった。
【０００６】
また、上記課題は、デジタルビデオカメラで生成された動画像データを用いる場合に限らず、デジタルスチルカメラで連続撮影された複数の画像データを用いる場合などにも共通した課題である。
【０００７】
本発明は、上記課題を解決するためになされたものであり、複数の画像データに基づいてより高解像度の画像データを生成する場合に、その処理時間の短縮を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明の第１の態様は、画像処理装置を提供する。本発明の第１の態様に係る画像処理装置は、撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得する画像データ取得手段と、前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得する情報取得手段と、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出する第１の補正量算出手段と、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出する第２の補正量算出手段と、前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成する高解像度画像生成手段とを備えることを特徴とする。
【０００９】
本発明の第１の態様に係る画像処理装置によれば、複数の画像データを合成してより高解像度の画像データを生成する際に、複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、複数の画像データと関連付けられた生成時動き情報を取得する。そして、各画像間における被写体の位置ずれを補正するための補正量（位置ずれ補正量）であって、取得した生成時動き情報を用いて推定される第１の補正量を算出する。さらに、第１の補正量に基づいて、位置ずれを補正された複数の画像データを解析して推定される第２の補正量を最終的な位置ずれ補正量として算出する。この結果、生成時動作情報を用いないで、複数の画像データの解析のみによって位置ずれ補正量を算出する場合と比較して、処理時間の短縮および処理負荷の軽減を図ることができる。
【００１０】
本発明の第１の態様に係る画像処理装置において、前記第１の補正量の算出は、前記複数の画像データが表す画像を構成する画素単位の精度で実行され、前記第２の補正量の算出は、前記複数の画像データが表す画像を構成する画素単位より細かい精度で実行されても良い。係る場合には、まず、第１の補正量として画素単位の精度の位置ずれ補正量が算出され、最終的に、第２の補正量として画素単位より細かい精度の位置ずれ補正量が算出される。この結果、画像データの解析による第２の補正量の算出は、いわゆるサブピクセルレベルでの位置ずれ補正量にのみ用いられ、処理時間の短縮および処理負荷の軽減が図られる。
【００１１】
本発明の第１の態様に係る画像処理装置において、前記生成時動き情報は、前記撮像装置に備えられたセンサによって検出された情報、または、前記センサによって検出された情報を加工して得られた情報であっても良い。かかる場合には、センサによって検出された情報に基づいて第１の補正量を算出するので、画像データの解析のみに基づいて位置ずれ補正量を算出するより、処理時間の短縮および処理負荷の軽減を図ることができる。
【００１２】
本発明の第１の態様に係る画像処理装置において、前記生成時動き情報は、前記撮像装置の向きの変化に関する角変位量、角速度、角加速度のいずれかであっても良い。かかる場合には、複数の画像データ生成時の撮像装置の角変位量、角速度、角加速度のいずれかに基づいて第１の補正量を算出するので、画像データの解析のみに基づいて位置ずれ補正量を算出するより、処理時間の短縮および処理負荷の軽減を図ることができる。
【００１３】
本発明の第１の態様に係る画像処理装置において、前記撮像装置の向きの変化は、撮像画像における被写体の上下方向のずれに対応するピッチ方向の角度変化、撮像画像において被写体の左右方向のずれに対応するヨー方向の角度変化、撮像画像と垂直な直線を軸として被写体が回転するずれに対応するロール方向の角度変化、の全部または一部であっても良い。かかる場合には、撮像装置のピッチ方向の角度変化、ヨー方向の角度変化、ロール方向の角度変化の全部または一部に基づいて、第１の補正量を算出するので、画像データの解析のみに基づいて位置ずれ補正量を算出するより、処理時間および処理負荷を軽減することができる。また、ピッチ方向、ヨー方向、ロール方向の全ての角度変化に基づいて、第１の補正量を算出する場合には、より正確に第１の補正量を算出できるので、さらに、処理時間の短縮および処理負荷の軽減を図ることができる。
【００１４】
本発明の第２の態様は、画像処理方法を提供する。本発明の第２の態様に係る画像処理方法は、撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得し、前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得し、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出し、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出し、前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成することを特徴とする。
【００１５】
本発明の第３の態様は、画像処理を実行するコンピュータプログラムを提供する。本発明の第３の態様に係るコンピュータプログラムは、撮像装置によって生成された画像データであって、時系列に並ぶ複数の画像データを取得する画像データ取得機能と、前記複数の画像データのそれぞれの生成時に対応する前記撮像装置の被写体に対する動きに関する情報であって、前記複数の画像データと関連付けられた生成時動き情報を取得する情報取得機能と、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記取得された生成時動き情報を用いて推定される第１の補正量を算出する第１の補正量算出機能と、前記複数の画像データが表す各画像間における被写体の位置ずれを補正するための補正量であって、前記第１の補正量に基づいて前記位置ずれが補正された複数の画像データを解析して推定される第２の補正量を算出する第２の補正量算出機能と、前記算出された第２の補正量に基づいて、前記複数の画像データにおける前記位置ずれを補正すると共に、前記補正された複数の画像データを合成して、前記複数の画像データより解像度の高い高解像度画像データを生成する高解像度画像生成機能とをコンピュータに実現させることを特徴とする。
【００１６】
本発明の第２の態様に係る画像処理方法および本発明の第３の態様に係るコンピュータプログラムによれば、本発明の第１の態様に係る画像処理装置と同様の作用効果を得ることができる。また、本発明の第２の態様に係る画像処理方法および本発明の第３の態様に係るコンピュータプログラムは、本発明の第１の態様に係る画像処理装置と同様にして種々の態様にて実現され得る。また、本発明の第３の態様に係るコンピュータプログラムは、コンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体としても実現され得る。
【発明を実施するための最良の形態】
【００１７】
以下、本発明にかかる画像処理装置について、図面を参照しつつ、実施例に基づいて説明する。
【００１８】
Ａ．実施例
・画像処理システムの構成：
図１は、本発明の実施例に係る撮像装置および画像処理装置を含む画像処理システムの一例を示す説明図である。本発明の実施例に係る撮像装置および画像処理装置を適用可能な画像処理システムの構成について図１を参照して説明する。
【００１９】
画像処理システムは、画像データを生成する撮像装置としてのディジタルスチルカメラ１０、ディジタルスチルカメラ１０にて生成された複数の画像データから、高解像度の画像データを生成する画像処理装置としてのパーソナルコンピュータ２０、画像データを用いて画像を出力する出力装置としてのカラープリンタ３０を備えている。また、出力装置としては、プリンタ３０の他に、例えば、ＬＣＤディスプレイのモニタ２５、表示装置４０が用いられ得る。
【００２０】
パーソナルコンピュータ２０は、一般的に用いられるタイプのコンピュータであり、高解像度の画像データを生成する処理を含む画像処理プログラムを実行するＣＰＵ２００、ＣＰＵ２００における演算結果、画像データ等を一時的に格納するＲＡＭ２０１、画像処理プログラムを格納するハードディスクドライブ（ＨＤＤ）２０２を備えている。パーソナルコンピュータ２０は、メモリカードＭＣを装着するためのカードスロット２０３、ディジタルスチルカメラ１０からの接続ケーブルを接続するための入出力端子２０４を備えている。
【００２１】
プリンタ３０は、カラー画像の出力が可能なプリンタであり、例えば、シアン、マゼンタ、イエロー、ブラックの４色の色インクを印刷媒体上に噴射してドットパターンを形成することによって画像を形成するインクジェット方式のプリンタである。あるいは、カラートナーを印刷媒体上に転写・定着させて画像を形成する電子写真方式のプリンタである。色インクには、上記４色に加えて、ライトシアン（薄いシアン）、ライトマゼンタ（薄いマゼンタ）、レッド、ブルーを用いても良い。
【００２２】
表示装置４０は、画像を表示するための表示ディスプレイ４５を有し、例えば、電子式の写真フレームとして機能する表示装置である。表示ディスプレイ４５は、例えば、液晶表示ディスプレイ、有機ＥＬ表示ディスプレイが用いられ得る。
【００２３】
プリンタ３０および表示装置４０は、スタンドアローンにて画像処理、画像出力を実行するために、パーソナルコンピュータ２０が備える画像処理機能を備えても良い。かかる場合には、プリンタ３０、表示装置４０は、パーソナルコンピュータ２０を介さずに、例えば、メモリーカードＭＣ等の記憶媒体、あるいは、ケーブルを介してディジタルスチルカメラ１０から画像データを取得し、プリンタ３０、表示装置４０がそれぞれ本実施例における画像処理装置として機能することができる。
【００２４】
以下の説明では、ディジタルスチルカメラ１０で生成された画像データが、パーソナルコンピュータ２０に送出され、パーソナルコンピュータ２０にて高解像度の画像データを生成する画像処理が実行される場合について説明する。
【００２５】
・ディジタルスチルカメラ１０の構成：
図２は、ディジタルスチルカメラ１０の概略構成を示す説明図である。ディジタルスチルカメラ１０は、光の情報を撮像素子（例えば、ＣＣＤやＣＭＯＳ）に結像させることにより画像をデジタルデータとして取得するカメラである。ディジタルスチルカメラ１０は、静止画像データだけでなく、時系列に並ぶ複数のフレーム画像データから構成される動画像データを生成する機能を備える。すなわち、ディジタルスチルカメラ１０は、静止画撮影モードと動画撮影モードを、ユーザーにより選択可能となっている。以下の説明では、動画撮影モードが選択され、動画像データが生成される場合について説明する。
【００２６】
図２に示すように、ディジタルスチルカメラ１０は、光情報を収集し、電気信号として出力する光学回路１４０、光学回路１４０から出力された電気信号をＡ／Ｄ変換して数値化し、画像データを生成する画像データ生成回路１３０、生成された画像データを加工処理するための画像処理回路１２０、３つの角速度センサ１６１、１６２、１６３を備えている。さらに、ディジタルスチルカメラ１０は、各回路を制御する制御回路１００、制御回路１００に撮像モードを始めとする利用者の意図を伝えるコントローラ１１０、画像データを画像ファイルとしてメモリカードＭＣに保存するメモリカードドライブ１５０を備えている。
【００２７】
光学回路１４０は、複数の画素を有し、撮像画像の光情報を受光して画素単位の電気信号として出力する撮像素子１４４と、撮像素子１４４の受光部に光情報を集めるレンズ１４２と、撮像素子１４４の受光量を調節する絞り１４６とを備えている。撮像素子１４４には、図２に示すように、複数の画素ＣＰが配置されている。本実施例では、互いに隣接し合う画素ＣＰの中心間距離（以下、画素ピッチという。）は、縦方向（図２のｙ方向）、横方向（図２のｘ方向）共に、ｓである。
【００２８】
３つの角速度センサ１６１、１６２、１６３は、それぞれ、ディジタルスチルカメラ１０のＸ軸回り、Ｙ軸回り、Ｚ軸回りの向きの変化を角速度として検出する装置である。角速度センサ１６１、１６２、１６３としては、種々のジャイロスコープが知られている。例えば、機械式のコマジャイロ、音片・音叉の振動を用いる振動ジャイロ 、光学式の光ファイバジャイロ等を用いることができる。
【００２９】
図３は、ディジタルスチルカメラ１０のＸ軸周り、Ｙ軸周り、Ｚ軸周りの向きの変化を説明する概略図である。Ｘ軸は、撮像素子１４４の露光面に平行な軸であり、ディジタルスチルカメラ１０の左右方向を表す軸をいい、Ｙ軸は、撮像素子１４４の露光面に平行な軸であり、ディジタルスチルカメラ１０の上下方向を表す軸をいうものとする。そして、Ｚ軸は、撮像素子１４４の露光面と垂直な方向を表す軸をいうものとする。そして、ＸＹＺの３軸が交わる原点は、撮像素子１４４の露光面の中心Ｃｃに位置する。
【００３０】
以下、図３に示すように、ＸＹＺ軸回りの変位量をそれぞれ、θX、θY、θZとする。そして、角速度センサ１６１、１６２、１６３が検出するＸＹＺ軸回りの角速度をそれぞれＶX、ＶY、ＶZとする。θXおよびＶXは、ディジタルスチルカメラ１０で撮像された撮像画像において被写体の上下方向の位置ずれに対応する角度変化（いわゆる、ピッチ方向のぶれ）であり、θZおよびＶZは、ディジタルスチルカメラ１０で撮像された撮像画像において被写体の左右方向の位置ずれに対応する角度変化（いわゆる、ヨー方向のぶれ）である。また、θYおよびＶYは、ディジタルスチルカメラ１０で撮像された撮像画像と垂直な直線を軸として被写体が回転する位置ずれに対応する角度変化（いわゆる、ロール方向のぶれ）である。
【００３１】
図２に戻って、説明を続ける。制御回路１００は、周知のコンピュータであり、制御プログラムを実行するＣＰＵ１０２、ＣＰＵ１０２の扱うデータ、演算結果等を一時的に格納するＲＡＭ１０４、制御プログラム等を格納するＲＯＭ１０６を備えている。制御回路１００は、制御プログラムを実行することにより、図２に示すように、生成時動き情報取得部Ｍ１１０と、画像データ出力部Ｍ１２０として機能することができる。
【００３２】
生成時動き情報取得部Ｍ１１０は、角度センサ１６１、１６２、１６３が検出した角速度ＶX、ＶY、ＶZを取得する。画像データ出力部Ｍ１２０は、画像データ生成回路１３０が生成した時系列に並ぶ複数のフレーム画像データＧＤと、生成時動き情報取得部Ｍ１１０が取得した角速度ＶX、ＶY、ＶZとを関連付けて、画像ファイルＧＦとしてメモリカードＭＣに出力する。ここで、複数のフレーム画像データと角速度ＶX、ＶY、ＶZとが関連付けられているとは、フレーム画像データのそれぞれの生成時と角速度ＶX、ＶY、ＶZの検出時との、時間軸上における対応関係が認識できるようにされていることをいう。
【００３３】
・画像処理システムが用いる画像ファイルの構成：
図４は、画像ファイルＧＦの内部構成を概念的に示す説明図である。画像ファイルＧＦは、動画像データＭＤおよび音声データＡＤを格納する主情報格納領域Ｒ１００と、動画像データＭＤと関連付けられた付属情報を格納する付属情報格納領域Ｒ１１０を備えている。付属情報格納領域Ｒ１１０には、上述した角速度ＶX、ＶY、ＶZに加えて、画素ピッチｓおよび焦点距離ｆが格納されている。
【００３４】
本実施例では、動画像データＭＤは、時系列に並ぶｎ個のフレーム画像データＧＤ1〜ＧＤnから構成されている。各フレーム画像データは、ドットマトリクス状の各画素の階調値(以下、「画素値」とも呼ぶ。)を示す階調データ（以下、「画素データ」とも呼ぶ。）で構成されている。画素データは、Ｙ（輝度）、Ｃｂ(ブルーの色差)、Ｃｒ(レッドの色差)からなるＹＣｂＣｒデータや、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）からなるＲＧＢデータ等が用いられ得る。
【００３５】
角速度ＶX、ＶY、ＶZとしては、フレーム画像データＧＤ1〜ＧＤnのそれぞれの生成時に対応する角速度ＶX(1)〜ＶX(n)、ＶY(1)〜ＶY(n)、ＶZ(1)〜ＶZ(n)が、付属情報格納領域Ｒ１１０に格納されている。すなわち、動画像データＭＤが、毎秒３０フレームの動画像データであるとすると、角速度もＶX、ＶY、ＶZの値も１／３０秒ごとに記録されている。
【００３６】
・パーソナルコンピュータ２０の機能的構成：
図５は、本実施例に係るパーソナルコンピュータ２０（ＣＰＵ２００）の機能ブロック図である。図５を参照してパーソナルコンピュータ２０（ＣＰＵ２００）の機能的構成の概要について説明する。
【００３７】
画像データ取得部Ｍ２１０は、画像ファイルＧＦの動画像データＭＤを構成するフレーム画像データＧＤから選択された時系列に並ぶ複数のフレーム画像データを取得する。情報取得部Ｍ２２０は、フレーム画像データＧＤと関連付けられた生成時動き情報を取得する。生成時動き情報には、角速度ＶX、ＶY、ＶZが含まれる。
【００３８】
第１の補正量算出部Ｍ２３０は、情報取得部Ｍ２２０から得られた生成時動き情報を用いて、大まかな位置ずれ補正量である第１の補正量を算出する。位置ずれ補正量は、画像データ取得部Ｍ２１０が取得した複数のフレーム画像データが表す各画像間に生じている位置ずれを補正するための補正量である。
【００３９】
第２の補正量算出部Ｍ２４０は、画像データ取得部Ｍ２１０が取得した複数のフレーム画像データを解析して、最終的な位置ずれ補正量である第２の補正量を算出する。その際の解析には、第１の補正量算出部Ｍ２３０によって算出された第１の補正量を用いる。
【００４０】
高解像度画像生成部Ｍ２５０は、第２の補正量算出部Ｍ２４０によって算出された第２の補正量に基づいて、上述した各画像間に生じている位置ずれを補正する。そして、高解像度画像生成部Ｍ２５０は、補正された各画像のフレーム画像データを合成して、フレーム画像データより解像度の高い画像データを新たに生成する。
【００４１】
・パーソナルコンピュータ２０における画像処理：
図６〜図１６を参照してパーソナルコンピュータ２０において実行される画像処理について説明する。
【００４２】
図６は、本実施例に係る画像処理の処理ルーチンを示すフローチャートである。パーソナルコンピュータ２０（ＣＰＵ２００）は、スロット２０３にメモリカードＭＣが差し込まれると自動的に、あるいは、ユーザーの指示に従って、本画像処理のプログラムを起動する。ＣＰＵ２００は、ユーザの指示に従ってメモリカードＭＣから画像ファイルＧＦを読み出し、画像ファイルＧＦに記録された動画像データＭＤを再生する。
【００４３】
動画像データＭＤの再生中に、ユーザによってフレーム画像データの取得指示が入力されると、ＣＰＵ２００は、動画像データＭＤを構成するフレーム画像データＧＤ１〜ＧＤｎの中から、連続する複数のフレーム画像データを取得する（ステップＳ１）。本実施例では、ＣＰＵ２００は、ユーザーに指示されたタイミングから時系列に連続する４フレーム分のフレーム画像データを取得するものとする。ＣＰＵ２００は、取得した４つのフレーム画像データをＲＡＭ２０１に一時的に格納する。
【００４４】
以下の説明では、取得した４つのフレーム画像データの番号（以下、「フレーム番号」とも呼ぶ。）をaとし、フレーム番号aのフレーム画像データをフレーム画像データＦa(a=0,1,2,3)と呼ぶこととする。そして、フレーム画像データＦaが表す画像を画像ｆa(a=0,1,2,3)と呼ぶこととする。
【００４５】
ＣＰＵ２００は、続いて、画像ファイルＧＦから付属情報を取得する（ステップＳ２）。取得される付属情報は、フレーム画像データＦ０〜Ｆ３と関連付けられた角速度ＶX、ＶY、ＶZと、画素ピッチｓおよび焦点間距離ｆである。以下、フレーム画像データＦaと関連付けられた角速度、すなわち、フレーム画像データＦaの生成時におけるＸＹＺ軸回り角速度を、それぞれＶXa、ＶYa、ＶZa(a=0,1,2,3)と呼ぶこととする。
【００４６】
ユーザによって、取得したフレーム画像について、高解像度の静止画像を生成する指示が入力されると、まず、ＣＰＵ２００は、フレーム画像データＦ０〜Ｆ３が表す画像ｆ０〜ｆ３間において生じている被写体の位置ずれ（以下、単に位置ずれという。）を解消する補正（以下、位置ずれ補正という。）に用いる補正量を算出する（ステップＳ３〜Ｓ４）。ここで、位置ずれおよび位置ずれ補正について説明しておく。
【００４７】
図７は、フレーム画像データＦ０が表す画像ｆ０とフレーム画像データＦ３が表す画像ｆ３間の位置ずれを示す説明図である。また、図８は、フレーム画像データＦ０を基準画像データとして、フレーム画像データＦ３に対して行う位置ずれ補正について示す説明図である。位置ずれ補正量を算出するにあたって、基準となるフレーム画像データは、Ｆ０〜Ｆ４のいずれであっても良いが、以下の説明では、フレーム画像データＦ０を基準とする。すなわち、フレーム画像データＦ０に対する位置ずれ補正量を、他の３つのフレーム画像データＦ１〜Ｆ３について、それぞれ算出するものとする。
【００４８】
位置ずれは、画像の横方向および縦方向の並進のずれ（以下、単に、並進ずれという。）と、画像の中心を軸とした回転のずれ（以下、単に、回転ずれという。）との組み合わせで表される。図７では、基準となる画像ｆ０が表す画像に対する、画像ｆ３のずれ量を分かり易く示すため、画像ｆ０の縁と、画像ｆ３の縁とを重ねて示すとともに、画像ｆ０が表す画像上の中心位置に仮想の十字画像Ｘ０を追記し、この十字画像Ｘ０が、画像ｆ３と同様にずれたとして、画像ｆ３上に、ずれた結果の画像である十字画像Ｘ３を示すようにしている。更に、このずれ量を、より分かり易く示すために、画像ｆ０および十字画像Ｘ０を太い実線で示すとともに、画像ｆ３および十字画像Ｘ３を細い破線で示すようにしている。
【００４９】
本実施例では、並進ずれ量として横方向を「ｕｍ」、縦方向を「ｖｍ」と表し、回転ずれ量を「δｍ」と表し、画像ｆa(a=1,2,3)の画像ｆ０に対するずれ量を「ｕｍa」、「ｖｍa」、「δｍa」と表すこととする。例えば、図７に示すように、画像ｆ３は、画像ｆ０に対して、並進ずれ、および回転ずれが生じており、そのずれ量は、ｕｍ３、ｖｍ３、δｍ３と表される。
【００５０】
また、補正とは、画像の各画素の位置を、横方向にｕの移動、縦方向にｖの移動、および画像の中心を軸としたδの回転を施した位置に移動させるように、フレーム画像データにおいて各画素データの座標を変換することを意味する。ｕは、横方向の並進補正量を表し、ｖは、縦方向の並進補正量を表している。そして、δは、回転補正量を表している。
【００５１】
フレーム画像データＦ０に対するフレーム画像データＦa(a=1,2,3)の位置ずれ補正量を「ｕa」、「ｖa」、「δa」と表すこととすると、位置ずれ補正量と、上述した位置ずれとの間には、ｕa＝−ｕｍa、ｖa＝−ｖｍa、δa＝−δｍaの関係が成り立つ。例えば、対象フレーム画像Ｆ３についての位置ずれ補正量ｕ３、ｖ３、δ３は、ｕ３＝−ｕｍ３、ｖ３＝−ｖｍ３、δ３＝−δｍ３で表される。
【００５２】
以上説明したように、例えば、図８に示すように、位置ずれ補正量ｕ３、ｖ３、δ３を用いて、フレーム画像データＦ３に対して補正を実行するすることにより、画像ｆ３を基画像ｆ０に一致させることができる。このとき、補正後のフレーム画像データＦ３が表す画像ｆ３（以下、補正後画像ｆ３という。）と、画像ｆ０とを重ね合わせて表示させると、図８に示すように、補正後画像ｆ３は、画像ｆ０に対して部分一致する。なお、この補正の結果を分かり易く示すため、図８においても、図７と同じ仮想の十字画像Ｘ０および十字画像Ｘ３を表記しており、図８に示すように、補正の結果として、十字画像Ｘ３は十字画像Ｘ０と一致することとなる。
【００５３】
なお、上述の「部分一致する」とは、以下のことを意味するものである。すなわち、図８に示すように、例えば、ハッチングを施した領域Ｐ１は、画像ｆ３にのみ存在する領域であり、画像ｆ０には、該当する領域は存在しない。このように、上述の補正を行ったとしても、ずれに起因して、画像ｆ０にのみ、または、ｆ３にのみ存在する領域が生じてしまうため、画像ｆ３は、画像ｆ０に対して完全一致することはなく、部分一致することとなる。
【００５４】
図６に戻って、上述した位置ずれ補正量ｕa、ｖa、δa(a=1,2,3)の算出処理について説明する。ＣＰＵ２００は、最終的な位置ずれ補正量を算出する前段階として、ステップＳ２において取得した付属情報を用いて、位置ずれ補正量の概算値を算出する（ステップＳ３）。以下、本ステップで算出される位置ずれ補正量の概算値を第１の補正量と呼び、記号ｕa_1st、ｖa_1st、δa_1st(a=1,2,3)で表す。
【００５５】
図９は、ディジタルスチルカメラ１０のＸ軸回りの向きの変化と撮像素子１４４上における被写体の位置ずれとの関係を示す概略図である。図９は、ディジタルスチルカメラ１０の向きがθXだけ変位する（ぶれる）ことによって、撮像素子１４４およびレンズレンズ１４２に対する被写体の位置が、記号Ｈで示す位置から記号Ｈ’で示す位置へと変化した様子を模式的に示している。これに対応する撮像素子１４４上における被写体のずれ量Ｖは、変位量θXから算出可能であることがわかる。そして、ずれ量Ｖは、そのまま生成される画像に反映されるため、画像に生じているずれ量ｖｍそのものであるから、変位量θXから上述した位置ずれ補正量が算出可能であるといえる。
【００５６】
第１の補正量は、上述したようにディジタルスチルカメラ１０の向きの変位量に基づいて算出される。具体的に説明すると、基準となるフレーム画像データＦ０の生成時から補正対象であるフレーム画像データＦaの生成時までの期間におけるＸＹＺ軸回りの変位量をθaX、θaY、θaZとし、図９に示すように、撮像素子１４４上における１画素分（画素ピッチｓ分）のずれに相当するＸ軸およびＹ軸回りの変位量をθ_pixとすると、第１の補正量ｕa_1st、ｖa_1st、δa_1stは以下の式（１a）〜（１ｃ）で表される。
【００５７】
ｕa_1st ＝ θYa／θ_pix    …（１）
ｖa_1st ＝ −θXa／θ_pix    …（２）
δa_1st ＝ θZa     …（３）
【００５８】
すなわち、変位量θXa、θYa、θZaは、図３を参照して先に説明したとおり、それぞれ、ディジタルスチルカメラ１０のピッチ方向、ヨー方向、ロール方向の角度変化（ぶれ）を表すので、それぞれの角度変化に起因する上下方向、左右方向、および回転の位置ずれに対する補正量が算出できることがわかる。
【００５９】
ここで、θ_pixは、図９に示すディジタルスチルカメラ１０の焦点間距離ｆ、撮像素子１４４の画素ピッチｓを用いて、以下の式（４）で表される。
θ_pix＝ｔａｎ-1（ｓ／ｆ）≒ｓ／ｆ    …（４）
【００６０】
また、ＸＹＺ軸回りの変位量θXa、θYa、θZa は、ＸＹＺ軸回りの角速度をフレーム画像データＦ０の生成時ｔ０からフレーム画像データＦaの生成時ｔaまで積分した値によって与えられる。また、変位量θXa、θYa、θZaは、フレーム画像データＦaの生成時における角速度ＶXa、ＶYa、ＶZa(a=1,2,3)と、角速度が記録される時間間隔Ｔとを用いて、以下の式（５）〜（７）によって近似できる。
【００６１】
【数１】
2006005384.tif 000003
【００６２】
ここで、本実施例では、１フレームごとに角速度が記録されているので、時間間隔Ｔは、フレームレートの逆数で表される。例えば、角速度の単位(degree/sec)であり、フレームレートが３０(1/sec)であれば、時間間隔Ｔは、１／３０(sec)である。式（１）〜式（７）から、結局、第１の補正量ｕa_1st、ｖa_1st、δa_1stは、以下の式（８）〜（９）で表される。
【００６３】
【数２】
2006005384.tif 000004
【００６４】
ＣＰＵ２００は、ステップＳ２において、付属情報として取得した角速度ＶXa、ＶYa、ＶZa、画素ピッチｓおよび焦点間距離ｆを、上記の式（８）〜（９）に代入することによって、容易に第１の補正量ｕa_1st、ｖa_1st、δa_1stを算出することができる。第１の補正量の算出精度は、ディジタルスチルカメラ１０の角速度センサ１６１、１６２、１６３の性能に依存するが、例えば、第１の補正量ｕa_1st、ｖa_1st、δa_1stは、画像ｆ０〜ｆａの画素単位程度の精度で求められる。
【００６５】
図６に戻って説明を続けると、ＣＰＵ２００は、次に、フレーム画像データＦ０〜Ｆ３を解析することによって、最終的な位置ずれ補正量を算出する（ステップＳ４）。以下、本ステップで算出される最終的な位置ずれ補正量を第２の補正量と呼び、記号ｕa_2nd、ｖa_2nd、δa_2nd(a=1,2,3)で表す。
【００６６】
ここで、後に生成される高解像度画像データにおいて十分な画質を確保するためには、第２の補正量は、画像ｆａの画素単位より細かい精度（いわゆるサブピクセルレベルの精度）で算出される必要がある。例えば、並進補正量ｕa、ｖaは、１／１６画素単位で、回転補正量δaは、１／１００度単位で算出される。従って、第２の補正量の算出には、画素単位よりも細かい精度で位置ずれ補正量を算出可能な解析手法が用いられる。本実施例では、第２の補正量は、補正対象であるフレーム画像データＦaと基準となるフレーム画像データＦ０の各画素データの画素値（例えば輝度値）を用いて、勾配法（グラディエント法）を複数回繰り返す手法（以下、反復勾配法という。）によって算出される。以下では、先ず、勾配法および反復勾配法について説明する。
【００６７】
図１０および図１１を参照して、勾配法について説明する。図１０は、勾配法による位置ずれ補正量の算出方法について説明する第１の説明図である。図１１は、勾配法による位置ずれ補正量の算出方法について説明する第２の説明図である。図１０において、黒い丸は、基準となる画像ｆ０の画素を表し、例えば、（x1i、y1i）は、画像ｆ０の中心を原点とする直交座標上における画素の座標を表している。そして、白い丸は、画像ｆ０と部分一致するように重ねられた画像ｆa(a=1,2,3)の画素Ｐ_tar（x2i、y2i）を表し、座標（x2i，y2i）は、画像ｆaの中心を原点とする直交座標上における座標を表している。以下、画素Ｐ_tar（x2i、y2i）を着目画素として説明を進める。着目画素Ｐ_tar（x2i、y2i）は、画像ｆ０と部分一致するように重ねられた場合に、画像ｆ０の画素Ｐ_ref（x1i、y1i）の近傍の位置（x1i＋Δxi、y1i＋Δyi）に位置すると仮定する。ここで、iは、各画素を区別する番号である。
【００６８】
まず、着目画素Ｐ_tar（x2i、y2i）に対応する画像ｆ０の画素Ｐ_ref（x1i、y1i）と、その上下左右にある４つの画素Ｐ_ref（x1i+1、y1i）、Ｐ_ref（x1i-1、y1i）、Ｐ_ref（x1i、y1i+1）、Ｐ_ref（x1i、y1i-1）が、参照画素として選択される。
【００６９】
図１１（ａ）は、画像ｆaと画像ｆ０とを部分一致するように重ねた場合において、着目画素Ｐ_tar（x2i、y2i）と画素Ｐ_ref（x1i、y1i）とのｘ１軸上の距離Δxiを推定する方法を示している。まず、画素Ｐ_ref（x1i、y1i）と、左右に隣接する画素Ｐ_ref（x1i-1、y1i）、Ｐ_ref（x1i+1、y1i）の輝度値Ｂ_ref（x1i、y1i）、Ｂ_ref（x1i-1、y1i）、Ｂ_ref（x1i+1、y1i）とを用いて、輝度勾配ΔＢxiが算出される。ΔＢxiは、図１１（ａ）において直線Ｒ１の傾きで表される量で、画素Ｐ_ref（x1i、y1i）の近傍における輝度勾配である。例えば、３つの画素値を用いて、近似直線を求めてその傾きをΔＢｘとして用いても良いし、単に、左右の画素値を結ぶ直線の傾き｛Ｂ_ref（x1i+1、y1i）−Ｂ_ref（x1i-1、y1i）｝／２をΔＢxiとして用いても良い。
【００７０】
そして、着目する画素Ｐ_tar（x2i、y2i）の輝度値Ｂ_tar（x2i、y2i）が、図１１（ａ）に示す直線Ｒ１上にあるものと仮定すると、
ΔＢxi・Δxi＝Ｂ_tar（x2i、y2i）−Ｂ_ref（x1i、y1i）が成立する。ここで、Ｂ_tar（x2i、y2i）およびＢ_ref（x1i、y1i）を単にＢ_tar、Ｂ_refで表すと、
ΔＢxi・Δxi - (Ｂ_tar - Ｂ_ref）= 0  …（１０）
が成立する。
【００７１】
図１１（ｂ）は、画像ｆaと画像ｆ０とを部分一致するように重ねた場合において、着目画素Ｐ_tar（x2i、y2i）と画素Ｐ_ref（x1i、y1i）とのｙ１軸上の距離Δyiを推定する方法を示している。上述したΔｘの推定と同様の手法により、
ΔＢyi・Δyi - (Ｂ_tar - Ｂ_ref）= 0  …（１１）
の式が導ける。ここで、式（１０）、および、式（１１）を満たすΔxi、Δyiを求めれば、着目画素Ｐ_tar（x2i、y2i）の画像ｆ０上における位置がわかることになる。
【００７２】
この考え方を拡張して、画像ｆaを構成する全ての画素について、共通する補正量（ua、ｖa、δa）を求めるには、最小自乗法を用いて、以下のＳ2を最小にすることを考えれば良い。
Ｓ2＝Σ｛ΔＢxi・Δxi＋ΔＢyi・Δyi−（Ｂ_tar - Ｂ_ref）｝2  ...(１２)
【００７３】
ここで、補正量（ua、ｖa、δa）と、各画素についてのΔxi、Δyiとの関係について考える。図１２は、画素の回転補正量を模式的に示す説明図である。画像ｆ０の座標（ｘ１，ｙ１）の原点Ｏからの距離をｒとし、ｘ１軸からの回転角度をθとすると、ｒ，θは、下式で表される。
ｒ＝（x12＋y１2）1/2  …（１３）
θ＝tan-1（y１／x1）  …（１４）
【００７４】
ここで、画像ｆaの画像ｆ０に対する並進ずれはなく、回転ずれのみが発生しているものとし、画像ｆaにおける座標（ｘ２，ｙ２）の画素が、画像ｆ０上の座標（ｘ１,ｙ１）の位置から回転補正量δだけ回転した座標(ｘ１'，ｙ１')にあるとする。この回転補正量δaによるｘ１軸方向の移動量Δｘとｙ１軸方向の移動量Δｙは、下式により求められる。
Δx＝x1'−x1≒−ｒ・δa・sinθ＝−δa・y1  …（１５）
Δy＝y1'−y1≒ｒ・δa・cosθ＝δa・x1  …（１６）
【００７５】
したがって、上記式（１２）における各画素iについてのΔxi、Δyiは、補正量（ｕ，ｖ、δ）を用いて、下式のように表すことができる。
Δxi＝ｕa−δa・y1i  …（１７）
Δyi＝ｖa＋δa・x1i  …（１８）
ここで、x1iおよびy1iは、画像ｆ０における画素Ｐ_ref（x1i、y1i）の座標である。
【００７６】
上記式（１７），（１８）を上記式（１２）に代入すると、下式が得られる。
Ｓ2＝Σ｛ΔBxi・（ｕa−δa・ｙ1i）＋ΔBｙi・（ｖa＋δa・x1i）−（Ｂ_tar - Ｂ_ref）｝2  …（１９）
【００７７】
すなわち、画像ｆaの全画素について対応する座標値と輝度値を式（１８）に代入したときに、Ｓ2を最小にする補正量ｕa，ｖa，δaを最小自乗法によって求めることができる。
【００７８】
次に、反復勾配法について説明する。図１３および図１４は、反復勾配法の概略を示す説明図である。反復勾配法では、上述した勾配法によって求められた位置ずれ補正量を用いて画像ｆaの画素位置を補正し、補正後の画素位置に基づいて上述した参照画素を選択し直し、新たに選択された参照画素を用いて勾配法をもう一度実行する。そして、これを複数回繰り返し、最終的にｎ回目の勾配法によって求められた位置ずれ補正量と、その前回（(n-1)回目）の勾配法によって求められた位置ずれ補正量との差（Δｕa，Δｖa，Δδa）が、所定の閾値以下になったときに反復を終了する。言い換えれば、反復勾配法は、前回の勾配法で求められた位置ずれ補正量を、次回の勾配法の初期値として用いて、位置ずれ補正量が収束するまで勾配法を繰り返す手法である。
【００７９】
図１３（ａ）で示す画像ｆaと画像ｆ０とのずれ補正が全くされていない位置から、図１３（ｂ）で示す最終的に求めるべき位置まで補正するずれ補正量を求める場合を具体例として、反復勾配法についてさらに説明する。図１４（ａ−１）〜（ａ−３）は、図１３（ｂ）に示した画素Ｐ_tarに着目して、勾配法の反復を概念的に示している。図１４（ａ−１）は、画素Ｐ_1を中心とした画素（実線および波線で囲まれた画素）を画素Ｐ_tarの参照画素として、１回目の勾配法を実行した結果を示している。１回目の勾配法によって、画素Ｐ_tarを矢印Ａ１のようにずらす位置ずれ補正量が算出されている。２回目の勾配法は、１回目に算出された位置ずれ補正量によって補正された画素Ｐ_tarの位置に基づいて、参照画素が選択される。図１４（ａ−２）は、補正後の画素Ｐ_tarの最近傍に位置する画素Ｐ_２を中心とした画素を画素Ｐ_tarの参照画素として、２回目の勾配法を実行した結果を示している。図１４（ａ−３）は、さらに２回目の補正後の画素Ｐ_tarの最近傍に位置する画素Ｐ_３を中心とした画素を画素Ｐ_tarの参照画素として、３回目の勾配法を実行した結果を示している。このように、反復するうちに適切な最近傍画素を用いることができるため、精度良く位置ずれ補正量を算出することができる。
【００８０】
ここで、図６に戻って説明を続ける。ＣＰＵ２００は、この反復勾配法によって第２の補正量を算出する（ステップＳ４）にあたり、ステップＳ３（図６）で算出した第１の補正量（ｕa_1st、ｖa_1st、δa_1st）を、初期値として用いて、１回目の勾配法を実行する。図１４（ｂ−１）において、矢印Ｂ０は、第１の補正量による画素Ｐ_tarの補正を示している。図１４（ｂ−２）は、第１の補正量による補正後の画素Ｐ_tarの最近傍に位置する画素Ｐ_３を中心とした画素を画素Ｐ_tarの参照画素として、１回目の勾配法を実行した結果を示している。この結果、上述した図１４（ａ−１）〜（ａ−３）の場合と異なり、１回目から適切な最近傍画素を用いて、精度良く第２の補正量（ｕa_2nd、ｖa_2nd、δa_2nd）を求めることができる。
【００８１】
第２の補正量が、３つの画像ｆa(a=1,2,3)全てについて算出されると、ＣＰＵ２００は、第２の補正量を用いて、フレーム画像データＦ１〜Ｆ３に対して位置ずれ補正を実行する（ステップＳ５）。この結果、３つの画像ｆaと基準となる画像ｆ０とを、「部分一致する」ように重ね合わせることができる（図８参照）。
【００８２】
ＣＰＵ２００は、続いて、補正後のフレーム画像データＦ１〜Ｆ３と、基準となるフレーム画像データＦ０とを合成して、高解像度の新たな画像を表す画像データ（以下、高解像度画像データという。）を生成する処理（以下、画像合成処理という。）を実行する（ステップＳ６）。以下では、図１５および図１６を参照して画像合成処理について簡単に説明する。
【００８３】
図１５は、基準となる画像ｆ０と画像ｆ１〜ｆ３とを、ずれを補正して配置した様子を拡大して示す説明図である。図１５では、画像合成処理によって生成される高解像度画像データが表す画像（以下、高解像度画像という。）の各画素が黒丸で示されているとともに、画像ｆ０の各画素が白抜きの四辺形で示され、画像ｆ１〜ｆ３の各画素が、ハッチングを施した四辺形で示されている。なお、高解像度画像の画素密度は、画像ｆ０に対して、縦横１．５倍密に設定されるものとする。また、高解像度画像の各画素は、２画素おきに画像ｆ０の各画素に重なる位置にあるものとする。ただし、高解像度画像の画素が、必ずしも画像ｆ０の各画素に重なる位置にある必要はない。例えば、高解像度画像の各画素のすべてが、画像ｆ０の各画素の中間に位置する等、種々の位置とすることができる。また、高解像度画像の画素密度も、縦横１．５倍に限定されるものではなく、自由に設定することができる。
【００８４】
高解像度画像のある画素Ｇ(j)に注目して説明する（以下、画素Ｇ(j)を注目画素という。）。ここで、変数ｊは、高解像度画像の全画素を区別する番号を示している。例えば、番号ｊは、左上の画素から右上の画素まで、次に１つ下の列の左端の画素から右端の画素までという順番に設定される。ＣＰＵ２００は、各画像ｆ０，ｆ１，ｆ２，ｆ３において、注目画素Ｇ(j)に対して、それぞれ最も近い画素Ｆ(0)，Ｆ(1)，Ｆ(2)，Ｆ(3)と、注目画素Ｇ(j)との距離Ｌ０，Ｌ１，Ｌ２，Ｌ３を算出する。そして、ＣＰＵ２００は、最も近い距離にある画素（以下、「最近傍画素」と呼ぶ。）を決定する。図１５の例では、Ｌ３＜Ｌ１＜Ｌ０＜Ｌ２であるので、画像ｆ３の画素Ｆ(3)が、注目画素Ｇ(j)の最近傍画素として決定される。なお、この注目画素Ｇ(j)に対する最近傍画素が、対象フレーム画像Ｆ３のi番目の画素であったとして、以下、最近傍画素Ｆ（３，i）と表記する。
【００８５】
ＣＰＵ２００は、高解像度画像を構成する全ての画素を注目画素として上述の処理を実行し、それぞれの画素について最近傍画素を決定する。
【００８６】
ＣＰＵ２００は、注目画素Ｇ(j)の画素値を、決定された最近傍画素含む画像ｆa（図１５に示す例では、画像ｆ３）において注目画素Ｇ(j)を囲む画素の画素値を用いて、バイ・リニア法等の補完処理によって生成する。
【００８７】
図１６は、バイ・リニア法による補間処理について示す説明図である。注目画素Ｇ(j)は、画像ｆ０〜ｆ３のいずれにも存在しない画素であるので、画素値が存在していない。そこで、ＣＰＵ２００は、最近傍画素Ｆ（３，i）のほか、注目画素Ｇ(j)を囲む３つの画素Ｆ（３，i+1）、Ｆ（３，ｋ）、F（３，ｋ+1）で区画される領域を、注目画素Ｇ(j)で４つの区画に分割し、その面積比で対角位置の画素の画素値をそれぞれ重み付けして加算することにより、注目画素Ｇ(j)の画素値を生成する。ただし、ｋはi番目の画素にフレーム画像Ｆ３の横方向の画素数を加えた画素の番号を示している。
【００８８】
なお、画素値補間処理の方法については、バイ・リニア法の他、バイ・キュービック法、ニアレストレストネイバ法等の種々の補間方法を用いることができる。
【００８９】
ＣＰＵ２００は、高解像度画像を構成する全ての画素について、上述した処理によって画素値を生成する。
【００９０】
以上説明したように、本実施例に係る画像処理によれば、動画像データＭＤから取得した複数のフレーム画像データＦ０〜Ｆ３を合成して、より高解像度の画像を表す高解像度画像データを生成することができる。かかる合成に用いる位置ずれ補正量を算出する際、フレーム画像データＦ０〜Ｆ３のそれぞれの生成時におけるディジタルスチルカメラ１０の向きの変化に関する情報である角速度ＶXa、ＶYa、ＶZa(a=1,2,3)を用いて、大まかな位置ずれ補正量である第１の補正量を算出する。そして、第１の補正量を初期値として用いて、画像データの解析（例えば、反復勾配法）を実行し、最終的な位置ずれ補正量である第２の補正量を算出する。この結果、フレーム画像データＦ０〜Ｆ３を解析することのみによって、位置ずれ補正量を算出する場合よりも、処理時間の短縮および処理負荷の軽減を図ることができる。
【００９１】
さらに、位置ずれ補正量を、実際に検出された角速度ＶXa、ＶYa、ＶZaから大まかに算出するため、フレーム画像データＦ０〜Ｆ３を解析することのみによって、位置ずれ補正量を算出する場合よりも、誤った位置ずれ補正量を算出してしまうリスクを低減できる。以上のような効果は、特に、算出すべき位置ずれ補正量が大きい場合に特に顕著である。
【００９２】
また、ディジタルスチルカメラ１０の３つの軸の角速度ＶXa、ＶYa、ＶZaを用いる、すなわち、ピッチ方向、ヨー方向、ロール方向の全ての角度変化に基づいて、大まかな位置ずれ補正量を算出するため、比較的正確な位置ずれ補正量を画像データの解析によらず算出できるため、より、その後のデータ解析による位置ずれ補正量算出負担が減り、処理時間の短縮および処理負荷の軽減を図ることができる。
【００９３】
また、本実施例に係るディジタルスチルカメラ１０は、３つの角速度センサを備え、動画像データ（複数のフレーム画像データ）生成時における角速度ＶXa、ＶYa、ＶZaを検出すると共に、検出された角速度のデータを、生成した動画像データと関連付けて出力するため、外部の画像処理装置において、上述した画像処理を可能とし、上述した作用効果を実現することができる。
【００９４】
Ｂ．変形例：
上記実施例では、ディジタルスチルカメラ１０の動画撮影モードで生成された動画像データから複数のフレーム画像データを取得しているが、高解像度画像データの生成に用いる複数の画像データの取得態様は、これに限られるものではない。例えば、デジタルビデオカメラで撮像された動画像データや、連写機能を備えたディジタルスチルカメラで連続撮影された複数の静止画像データ等、時系列に並ぶ複数の画像データであれば良い。連写機能とは、一般的に、メモリーカードにデータを転送しないで、ディジタルスチルカメラ内部の高速なメモリー（バッファメモリー）に画像データをため込むことで、複数のカットを高速で連続撮影する機能をいう。
【００９５】
上記実施例における画像ファイルＧＦには、フレーム画像データの生成時に対応する角速度が、フレーム画像データと同数だけ記録されているが、フレーム画像データ数と角速度のデータ数が同じである必要はなく、例えば、毎秒３０フレームの動画像データに対して、角速度が１／１２０秒ごとに記録されても良い（フレーム画像データ数の４倍の数の角速度データが記録されることになる。）。かかる場合には、例えば、画像ファイルＧＦに、フレームレート（例えば、毎秒３０フレーム）と、角速度が記録される時間間隔Ｔ（例えば、１／１２０秒ごと）を記録しておく等により、フレーム画像データの生成時と角速度の検出時との時間軸上における対応関係が認識できるようにされる。角速度の記録ピッチが細かくなるほど（記録されるフレーム画素データあたりの角速度のデータ数が増えるほど）、第１の補正量の検出精度が向上する。
【００９６】
上記実施例に係るディジタルスチルカメラ１０は、ディジタルスチルカメラ１０の向きの変化を検出するセンサとして角速度センサを備えているが、角加速度を検出するセンサや、角変位量を検出するセンサを備えていても良い。ＣＰＵ２００は、角加速度が与えられる場合には、角加速度を積分して角速度を算出し、さらにこれを積分して角変位量を算出することが可能であるし、角変位量が与えられる場合には、そのまま位置ずれ補正量の算出に用いること可能である。
【００９７】
また、ディジタルスチルカメラ１０は、検出された角速度ＶX、ＶY、ＶZをそのまま、画像ファイルＧＦに出力しているが、ディジタルスチルカメラ１０内部の制御回路１００等で、積分処理を実行し、角変位量に加工してから出力しても良い。係る場合には、画像ファイルＧＦには、角変位量θX、θY、θZが画像データと関連付けられて出力される。ＣＰＵ２００は、角変位量θX、θY、θZをそのまま位置ずれ補正量の算出に用いること可能である。
【００９８】
上記実施例では、ディジタルスチルカメラ１０に角速度センサを備えているが、ディジタルスチルカメラ１０とは、別体に角速度センサを備えても良い。例えば、ディジタルスチルカメラ１０を三脚に固定する際に用いる雲台に角速度センサを備えても良い。かかる場合には、例えば、ディジタルスチルカメラ１０のメモリカードＭＣとは別の記録媒体に、角速度センサの検出値の時間的変化を動画の撮影と同期して記録しておき、画像処理時に、動画像の各フレーム画像データの生成タイミングと角速度の検出タイミングとの時間軸上での対応関係が認識できるようにしておく。このようにすれば、上記実施例と同様の作用効果を得ることができる。
【００９９】
以上、実施例、変形例に基づき本発明に係る画像処理について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【図面の簡単な説明】
【０１００】
【図１】実施例に係る撮像装置および画像処理装置（パーソナルコンピュータ）を含む画像処理システムの一例を示す説明図。
【図２】ディジタルスチルカメラ１０の概略構成を示す説明図。
【図３】ディジタルスチルカメラ１０のＸＹＺ軸周りの向きの変化を説明する概略図。
【図４】画像ファイルＧＦの内部構成を概念的に示す説明図。
【図５】実施例に係るパーソナルコンピュータ２０（ＣＰＵ２００）の機能ブロック図。
【図６】実施例に係る画像処理の処理ルーチンを示すフローチャート。
【図７】画像ｆ０とｆ３間の位置ずれを示す説明図。
【図８】フレーム画像データＦ３に対して行う位置ずれ補正について示す説明図。
【図９】ディジタルスチルカメラ１０のＸ軸回りの向きの変化と撮像素子１４４上における被写体の位置ずれとの関係を示す概略図。
【図１０】勾配法による位置ずれ補正量の算出方法について説明する第１の説明図。
【図１１】勾配法による位置ずれ補正量の算出方法について説明する第２の説明図。
【図１２】画素の回転補正量を模式的に示す説明図。
【図１３】反復勾配法の概略を示す第１の説明図。
【図１４】反復勾配法の概略を示す第２の説明図。
【図１５】画像ｆ０〜ｆ３を、ずれを補正して配置した様子を拡大して示す説明図。
【図１６】バイ・リニア法による補間処理について示す説明図。
【符号の説明】
【０１０１】
１０…ディジタルスチルカメラ（ＤＳＣ）
１００…制御回路
１０２…中央演算装置（ＣＰＵ）
１０４…ランダムアクセスメモリ（ＲＡＭ）
１０６…リードオンリメモリ（ＲＯＭ）
１１０…コントローラ
１２０…画像処理回路
１３０…画像データ生成回路
１４０…光学回路
１４２…レンズ
１４４…撮像素子
１４６…絞り
１５０…メモリカードドライブ
１６１、１６２、１６３…角速度センサ
２０…パーソナルコンピュータ
２００…中央演算装置（ＣＰＵ）
２０１…ランダムアクセスメモリ（ＲＡＭ）
２０２…ハードディスク（ＨＤＤ）
２０３…カードスロット
２０４…入出力端子
２５…モニタ
３０…プリンタ
４０…表示装置
４５…表示部
ＭＣ…メモリカード
Ｍ１１０…生成時動き情報取得部
Ｍ１２０…画像データ出力部
Ｍ２１０…画像データ取得部
Ｍ２２０…情報取得部
Ｍ２３０…第１の補正量算出部
Ｍ２４０…第２の補正量算出部
Ｍ２５０…高解像度画像生成部
【図１】
2006005384.tif 000005
【図２】
2006005384.tif 000006
【図３】
2006005384.tif 000007
【図４】
2006005384.tif 000008
【図５】
2006005384.tif 000009
【図６】
2006005384.tif 000010
【図７】
2006005384.tif 000011
【図８】
2006005384.tif 000012
【図９】
2006005384.tif 000013
【図１０】
2006005384.tif 000014
【図１１】
2006005384.tif 000015
【図１２】
2006005384.tif 000016
【図１３】
2006005384.tif 000017
【図１４】
2006005384.tif 000018
【図１５】
2006005384.tif 000019
【図１６】
2006005384.tif 000020