(57)【要約】【課題】精度よく撮像画像の位置合わせを行う。【解決手段】動き検出回路６２1乃至６２N-1は、１の画素と他の１の画素との露光のタイミングが異なるCMOSセンサ等で連続して撮像された複数枚の画像のうちの１枚の画像を基準画像として、基準画像と、他の画像との対応点を検出し、演算回路６３は、その対応点に基づいて、基準画像と他の画像との位置関係を表す非線形関数を求める。本発明は、例えば、画像を撮像するデジタルビデオカメラ等に適用できる。【選択図】図８
2008028500.tif 000002
【特許請求の範囲】
【請求項１】
１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理装置において、
前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出する検出手段と、
前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める位置関係算出手段と
を備える画像処理装置。
【請求項２】
前記非線形関数に基づいて、前記複数枚の画像を合成する合成手段をさらに備える
請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記基準画像と前記他の画像とを対象とした動き検出を行うことにより、対応点を検出する
請求項１に記載の画像処理装置。
【請求項４】
前記撮像素子は、CMOS（Complementary Metal Oxide Semiconductor）センサである
請求項１に記載の画像処理装置。
【請求項５】
１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理方法において、
前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出し、
前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める
ステップを含む画像処理方法。
【請求項６】
１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理をコンピュータに実行させるプログラムにおいて、
前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出し、
前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、方法、およびプログラムに関し、特に、例えば、デジタルビデオカメラ等の撮像装置において、連続して撮像された複数の撮像画像の位置合わせを精度よく行うことができるようにする画像処理装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラやデジタルスチルカメラ等の撮像装置を用いて、撮像装置本体を三脚等で固定せずに、手持ちの状態で撮像を行うと、手振れにより画像全体が移動するため、画像が揺れているように撮像されてしまう。
【０００３】
かかる手振れによる画像の揺れを低減させる方法としては、時間的に連続して複数の画像を撮像し、その複数の画像を、画像の動きに応じて、基準となる画像に位置合わせして合成する方法がある。
【０００４】
手振れによる画像の移動の種類としては、レンズの光軸と直交する面内の平行移動、レンズの光軸回りの回転、並びに、レンズの光軸と同一方向の移動による拡大および縮小等がある。かかる移動のあった複数の画像の位置合わせは、例えば、アフィン変換を用いて行われる（例えば、特許文献１参照）。
【０００５】
また、各ラインの読み出しアドレスをずらすことにより、手振れによる撮像画像の移動の分を補正する方法がある（例えば、特許文献２参照）。
【０００６】
【特許文献１】特開２００５−３８３９６号公報
【特許文献２】特開２００５−２３６６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、撮像装置に用いられる（固体）撮像素子には、CCD(Charge Coupled Device)センサに代表される電荷転送型のセンサと、CMOSセンサに代表されるX-Yアドレス型のセンサがある。
【０００８】
CCDセンサのような電荷転送型のセンサでは、全画素の露光が同時に開始され、各画素で受光された光の光量に対応する画素データが同時に読み出されるため、手振れがあっても、その画素データからなる画像である撮像画像に映っている被写体に歪みは生じない。従って、アフィン変換を用いることで、時間的に連続して撮像された複数の撮像画像の正確な位置合わせを行うことができる。
【０００９】
一方、CMOSセンサのようなX-Yアドレス型のセンサでは、１画素単位、または１ライン単位で、順次、露光が開始され、１画素単位、または１ライン単位で、各画素で受光された光の光量に対応する画素データが読み出されるので、手振れがあると、そのような画素データからなる撮像画像に映っている被写体に歪みが生じることがある。この歪みは、フォーカルプレーン現象と呼ばれる。アフィン変換では、このような被写体の歪みを補正することが困難であり、このため、複数の撮像画像の正確な位置合わせを行うことも困難である。
【００１０】
以下、CMOSセンサで得られる撮像画像に映っている被写体に生じる歪みについて説明する。
【００１１】
図１は、撮像画像の走査方式を示している。
【００１２】
撮像画像は、図１に示すように、左から右、そして上から下に向かって１ライン（水平ライン）ごとに走査される、いわゆるプログレッシブ方式の画像であるとする。なお、説明の便宜上、水平ブランキング期間と垂直ブランキング期間は無視する。
【００１３】
図２は、撮像素子における１ラインごとの露光のタイミングを示す図である。
【００１４】
なお、図２において、横軸は、時間を表している。
【００１５】
図２上は、CCDセンサにおける露光のタイミングを示している。
【００１６】
CCDセンサでは、全画素、すなわち、CCDセンサが第１ライン乃至第NラインのＮラインを有する場合には、その第１ライン乃至第Ｎラインの露光は、すべて同一の時刻に開始され、その時刻から所定の露光時間が経過した同一の時刻に終了する。
【００１７】
従って、CCDセンサにおいては、全画素の露光が同時に行われるため、手振れがあっても、撮像画像に映っている被写体に歪みは生じない。
【００１８】
次に、図２下は、CMOSセンサにおける露光のタイミングを示している。
【００１９】
CMOSセンサでは、ある１の画素と他の１の画素との露光のタイミングが異なる。
【００２０】
すなわち、CMOSセンサでは、例えば、その上からn番目の第nラインの露光は、その1ライン上の第n-1ラインの露光が開始されてから、所定の時間Δtだけ経過した時刻に開始され、その時刻から所定の露光時間が経過した時刻に終了する。そして、第nラインの各画素で受光された光の光量に対応する画素データが読み出される。
【００２１】
したがって、CMOSセンサでは、任意の２つのラインにおいて、露光（の開始や終了）のタイミングが一致せず、CMOSセンサが、第１ライン乃至第NラインのNラインを有する場合には、第１ラインと第Nラインとにおいて、露光のタイミングが、最大で、(N-1)Δtだけずれる。
【００２２】
このように、CMOSセンサでは、ある画素と他の画素との露光のタイミングが異なるため、すなわち、例えば、任意の２つのラインの露光のタイミングが異なるため、手振れがあると、その手振れによって、撮像画像に映る被写体に歪みが生じる。
【００２３】
図３乃至図６を参照して、手振れと撮像画像に映っている被写体の歪みとの関係について説明する。
【００２４】
図３は、被写体が、手振れが生じた状態で撮像される様子を示している。
【００２５】
ここで、現実の撮影では、撮像装置の光学系において、外部から入射する被写体からの光を、レンズを通して焦点面にあるフィルム面上、または撮像素子上に結像させることで、被写体が映った撮像画像が得られるが、図３では、説明の便宜上、３次元空間に存在する被写体が、２次元平面である所定の投影面上に投影され透視変換されることにより、その被写体が映った撮像画像が得られることとしてある。
【００２６】
図３において、視点と被写体とを結ぶ線が、視点と被写体との間に配置された、被写体が投影される投影面と交わる点の集合が撮像画像に映る被写体となる。
【００２７】
なお、例えば、ピンホールカメラでの撮像においては、ピンホールが、視点に相当し、ピンホールカメラの投影面（フィルムの面）が、被写体が透視変換される投影面に相当する。
【００２８】
そして、手振れは、視点が固定のままで、投影面が移動することに相当する。
【００２９】
ここで、以下、適宜、手振れが生じる手持ちの状態での撮像装置によって、連続して２回の撮像を行った場合の、１回目の撮像時の投影面を、基準となる基準投影面といい、２回目の撮像時の投影面、つまり、手振れによって１回目の撮像時の位置から移動した投影面を、手振れ投影面という。
【００３０】
図４は、図３の基準投影面と手振れ投影面とを、視点からみた平面図である。
【００３１】
基準投影面の左上の点を原点とし、左から右方向をx軸とするとともに、上から下方向をy軸とする２次元座標系において、手振れ投影面は、基準投影面に対して、x方向にはhだけ、y方向にはvだけ、平行移動しており、原点（原点を通り、xy平面に直交する軸）回りに、角度θだけ回転している。なお、図４において、回転の符号は、反時計回りの方向を正とし、時計回りの方向を負とする。
【００３２】
図５は、撮像素子にCCDセンサを用いた場合の撮像画像を示している。
【００３３】
図５左は、基準投影面で得られる撮像画像１を示し、図５右は、手振れ投影面で得られる撮像画像２を示す。
【００３４】
図５において、撮像画像１に映っている被写体（以下、適宜、被写体像という）１Aは、手振れによる投影面の移動により、撮像画像２に映っている被写体像２Aの位置に移動している。
【００３５】
すなわち、被写体像２Ａは、被写体像１Ａに対して、x方向に-hで、y方向に-vだけ平行移動し、かつ、角度-θだけ回転している。
【００３６】
CCDセンサでは、図２で説明したように、全画素を同時に露光するので、被写体像２Ａの位置は、被写体像１Ａの位置から移動しているが、被写体像（画像）そのものに歪みは生じない。
【００３７】
従って、撮像素子にCCDセンサを用いる場合には、被写体像に歪みが生じないため、特許文献１のように、アフィン変換を用いて、手振れによる撮像画像の移動の分を補正する位置合わせを正確に行うことが可能である。
【００３８】
一方、撮像素子がCMOSセンサである場合には、例えば、図２で説明したように、各ラインの露光の露光期間がずれているため、被写体像に歪みが生じる。
【００３９】
図６は、撮像画像に被写体像の歪みが生じている様子を示している。
【００４０】
すなわち、図６左上は、１枚の撮像画像の露光が行われている間に、x方向(水平方向)の手振れがあった場合に得られる撮像画像３を示している。
【００４１】
なお、図６において、撮像画像の右側には、縦軸を各ラインの露光時刻として、各露光時刻における手振れによる投影面の移動量を横軸に示してある。
【００４２】
図６では、投影面の移動量、つまり、手振れの量が時刻に対して非線形に（ある加速度をもって）変化している。
【００４３】
x方向の手振れによれば、投影面が、時刻とともに水平方向（x方向）に移動する。
【００４４】
CMOSセンサでは、あるラインの露光が開始されてから、時間Δtだけ経過した後に次のラインの露光が開始されるので、x方向の手振れが生じている場合には、あるラインの露光が開始されてから、次のラインの露光が開始されるまでの時間Δtの間に、次のラインで撮像される位置がx方向にずれる。その結果、CMOSセンサで得られる撮像画像３に映る被写体像は、図６左上に示すように、水平方向にずれるように歪む。
【００４５】
図６左下は、１枚の撮像画像の露光が行われている間に、y方向の手振れがあった場合に得られる撮像画像４を示している。
【００４６】
y方向の手振れによれば、投影面が、時刻とともに垂直方向（y方向）に移動する。
【００４７】
CMOSセンサでは、あるラインの露光が開始されてから、時間Δtだけ経過した後に次のラインの露光が開始されるので、y方向の手振れが生じている場合には、あるラインの露光が開始されてから、次のラインの露光が開始されるまでの時間Δtの間に、次のラインで撮像される位置がy方向にずれる。その結果、CMOSセンサで得られる撮像画像４に映る被写体像は、図６左下に示すように、垂直方向に伸縮するように歪む。
【００４８】
図６右下は、１枚の撮像画像の露光が行われている間に、原点回りに回転する手振れがあった場合に得られる撮像画像５を示している。
【００４９】
原点回りに回転する手振れによれば、投影面が、時刻とともに原点回りに回転する。
【００５０】
CMOSセンサでは、あるラインの露光が開始されてから、時間Δtだけ経過した後に次のラインの露光が開始されるので、原点回りに回転する手振れが生じている場合には、あるラインの露光が開始されてから、次のラインの露光が開始されるまでの時間Δtの間に、次のラインで撮像される位置が原点回りに回転してずれる。その結果、CMOSセンサで得られる撮像画像５に映る被写体像は、図６右下に示すように、後から撮像される下の方ほど大きく歪む。
【００５１】
以上のように、撮像素子が、露光タイミングが異なる画素からなるCMOSセンサである場合、手振れによって、撮像画像には、被写体像の歪みが生じる。
【００５２】
このような被写体像に歪みがある撮像画像については、特許文献１に記載されているアフィン変換のような線形変換では、複数の撮像画像の同一の被写体が映っている部分どうしが一致するように正確な位置合わせを行うことは困難である。
【００５３】
また、特許文献２に記載の方法では、各ラインの読み出しアドレスをずらすことにより補正できるのは、水平移動による移動量だけであり、例えば、手振れによりレンズの光軸を中心とする回転移動が生じた場合には、その移動量を補正することが困難である。したがって、特許文献２に記載の方法でも、手振れが生じている複数の画像の位置合わせを、高い精度で行うことが困難である。
【００５４】
そして、複数の撮像画像の位置合わせを正確に行うことができない場合、位置合わせ後の複数の撮像画像を合成して得られる画像の画質が劣化する。
【００５５】
本発明は、このような状況に鑑みてなされたものであり、露光タイミングが異なる画素を有する撮像素子で得られる複数の撮像画像の位置合わせを、精度良く行うことができるようにするものである。
【課題を解決するための手段】
【００５６】
本発明の一側面の画像処理装置は、１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理装置において、前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出する検出手段と、前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める位置関係算出手段とを備える。
【００５７】
本発明の一側面の画像処理装置には、前記非線形関数に基づいて、前記複数枚の画像を合成する合成手段をさらに設けることができる。
【００５８】
本発明の一側面の画像処理方法、またはプログラムは、１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理方法、または画像処理をコンピュータに実行させるプログラムにおいて、前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出し、前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求めるステップを含む。
【００５９】
本発明の一側面においては、複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点が検出され、前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数が求められる。
【発明の効果】
【００６０】
本発明の一側面によれば、複数の撮像画像の位置合わせを、精度良く行うことができる。
【発明を実施するための最良の形態】
【００６１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００６２】
本発明の一側面の画像処理装置は、
１の画素と他の１の画素との露光のタイミングが異なる撮像素子（例えば、図７の撮像素子２３）によって連続して撮像された複数枚の画像を処理する画像処理装置（例えば、図７の撮像装置１１）において、
前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出する検出手段（例えば、図８の動き検出回路６２1乃至動き検出回路６２N-1と、
前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める位置関係算出手段（例えば、図８の演算回路６３）と
を備える。
【００６３】
本発明の一側面の画像処理装置には、
前記非線形関数に基づいて、前記複数枚の画像を合成する合成手段（図８の演算回路６３）
をさらに設けることができる。
【００６４】
本発明の一側面の画像処理方法、またはプログラムは、
１の画素と他の１の画素との露光のタイミングが異なる撮像素子によって連続して撮像された複数枚の画像を処理する画像処理方法、または画像処理をコンピュータに実行させるプログラムにおいて、
前記複数枚の画像のうちの１枚の画像を基準画像として、前記基準画像と、他の画像との対応点を検出し（例えば、図１５のステップＳ２２）、
前記対応点に基づいて、前記基準画像と前記他の画像との位置関係を表す非線形関数を求める（例えば、図１５のステップＳ２３）
ステップを含む。
【００６５】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【００６６】
図７は、本発明を適用した撮像装置の一実施の形態の構成例を示すブロック図である。
【００６７】
すなわち、図７において、撮像装置１１は、レンズ２１、絞り２２、撮像素子２３、CDS(Correlated Double Sampling)部２４、A/D(Analog/Digital)コンバータ２５、DSP（Digital Signal Processing）部２６、タイミングジェネレータ２７、D/A（Digital/Analog）コンバータ２８、ビデオエンコーダ２９、ビデオモニタ３０、CODEC(Compresser Decompressor)３１、メモリ３２、CPU(Central Processor Unit)３３、入力デバイス３４、およびプログラムメモリ３５から構成される。
【００６８】
外部から取り込まれた光は、光学系、つまり、レンズ２１および絞り２２を通過して、撮像素子２３に入射する。
【００６９】
撮像素子２３は、１の画素と他の１の画素との露光タイミングが異なるセンサ、すなわち、例えば、ある１ラインと、次の１ラインとの露光の開始タイミングが、所定の時間ΔtだけずれているCMOSセンサから構成され、そこに入射する光を受光し、光電変換する。
【００７０】
すなわち、撮像素子２３は、タイミングジェネレータ２７から供給される露光タイミング信号に従い、所定の間隔で、所定の時間だけ、そこに入射する光を受光し、その光の受光量に対応した電気信号である画像信号を、CDS部２４に供給する。
【００７１】
なお、撮像素子２３が有する画素の露光タイミングは、前述の図２で説明したように、ラインごとに異なっている。
【００７２】
また、撮像装置１１では、手振れが発生していても、鮮明な画像を出力するために、撮像装置２３では、１フレームに相当する時間に、複数回であるN回の撮像を行い、これにより、N枚の撮像画像の画像信号を、時系列に出力する。
【００７３】
CDS部２４は、撮像素子２３から供給されるN枚の撮像画像の画像信号（電気信号）のノイズ成分を、相関２重サンプリング（CDS）により除去し、A/Dコンバータ２５に供給する。
【００７４】
A/Dコンバータ２５は、CDS部２４から供給される、N枚の撮像画像の画像信号をA/D変換、すなわち、サンプリングして量子化（デジタイズ）し、DSP部２６に供給する。
【００７５】
DSP部２６は、フレームメモリ４１とDSP４２等から構成される。フレームメモリ４１は、A/Dコンバータ２５から供給されるN枚の撮像画像の画像信号を一時記憶する。DSP４２は、プログラムメモリ３５に記憶されたプログラムを実行することにより、フレームメモリ４１に格納されたＮ枚の撮像画像に対して後述の画像処理を行い、一枚の出力画像を求める。
【００７６】
DSP部２６は、DSP４２による画像処理によって求められた出力画像の画像信号を、D/Aコンバータ２８若しくはCODEC３１のいずれか一方、または両方に供給する。
【００７７】
タイミングジェネレータ２７は、N枚の撮像画像の撮像を所定の一定のフレームレートで維持するための露光タイミング信号を、撮像素子２３、CDS部２４、A/Dコンバータ２５、およびDSP部２６に供給する。
【００７８】
D/Aコンバータ２８は、DSP部２６から供給される出力画像の画像信号をD/A変換し、ビデオエンコーダ２９に供給する。
【００７９】
ビデオエンコーダ２９は、D/Aコンバータ２８から供給される画像信号（アナログ信号）を、ビデオモニタ３０で表示することができる画像信号に変換し、ビデオモニタ３０に供給する。
【００８０】
ビデオモニタ３０は、本実施の形態においては、撮像装置１１のファインダ等の役割を果たすものであり、LCD(Liquid Crystal Display)などで構成されている。ビデオモニタ３０は、ビデオエンコーダ２９から供給される画像信号に対応して画像を表示する。
【００８１】
CODEC３１は、DSP部２６から供給される出力画像の画像信号を、MPEG(Moving Picture Experts Group)や、JPEG(Joint Photographic Experts Group)方式等の所定の方式に従って符号化し、メモリ３２に供給する。
【００８２】
メモリ３２は、例えば、半導体メモリ、磁気記録媒体、光磁気記録媒体、光記録媒体等の記録媒体とその記録媒体の記録装置とで構成される。なお、上述した記録媒体は、記録装置に着脱可能とすることができる。メモリ３２は、CODEC３１から供給される符号化された画像信号を一時的または永久的に記憶（記録）する。
【００８３】
CPU３３は、プログラムメモリ３５に記憶されたプログラムを実行することにより、バスを介して各部に制御信号を供給し、各種の処理を制御する。
【００８４】
入力デバイス３４は、例えば、撮像装置１１本体の録画ボタンなどの操作用のボタン類である。入力デバイス３４は、ユーザによって操作されることにより、その操作に応じた操作信号を、CPU３３に供給する。
【００８５】
プログラムメモリ３５は、例えば、不揮発性のメモリであり、DSP部２６やCPU３３が実行するプログラムを記憶している。
【００８６】
図８は、DSP部２６の機能的な構成例を示すブロック図である。
【００８７】
すなわち、DSP部２６は、フレームメモリ４１1乃至４１N、動き検出回路６２1乃至６２N-1、演算回路６３、およびコントローラ６４から構成されている。なお、図７のDSP４２がプログラムを実行することにより、動き検出回路６２1乃至６２N-1、演算回路６３、およびコントローラ６４として機能する。
【００８８】
フレームメモリ４１1乃至４１Nは、図７のフレームメモリ４１であり、特に、フレームメモリ４１1乃至４１Nを区別しない場合には、フレームメモリ４１と称す。
【００８９】
フレームメモリ４１1乃至４１Nは、A/Dコンバータ２５から、入力端子を介して供給されるN枚の撮像画像の画像信号を記憶する。すなわち、フレームメモリ４１i（1≦i≦N）は、A/Dコンバータ２５から供給されたi枚目の撮像画像を記憶する。
【００９０】
動き検出回路６２j（1≦j≦N-1）は、フレームメモリ４１1に格納された１枚目の撮像画像を、位置合わせの基準とする基準画像として読み出すとともに、フレームメモリ４１j+1に格納されたj+1枚目の撮像画像を、位置合わせの対象とするターゲット画像として読み出す。そして、動き検出回路６２jは、フレームメモリ４１1から読み出した基準画像と、フレームメモリ４１j+1から読み出したj+1枚目の撮像画像（ターゲット画像）とを対象とした動き検出を行うことにより、その基準画像とターゲット画像との対応する点、すなわち、基準画像の各画素の位置としての点について、その点に映っている被写体と同一の被写体が映っているターゲット画像上の位置である対応点を検出し、基準画像の画素の位置としての点とターゲット画像の対応点とのセットである対応点セットを演算回路６３に供給する。
【００９１】
ここで、基準画像とターゲット画像とを対象とした動き検出は、例えば、ブロック単位で行うこともできるし、画素単位で行うこともできる。
【００９２】
演算回路６３は、動き検出回路６２jによって検出された対応点セットに基づいて、後述するように、基準画像とターゲット画像との位置関係を表す非線形関数を求める。
【００９３】
また、演算回路６３は、基準画像とターゲット画像の位置関係を表す非線形関数に基づいて、フレームメモリ４１1乃至４１Nに記憶されたN枚の画像を合成することにより、出力画像を生成する。
【００９４】
すなわち、演算回路６３は、フレームメモリ４１1に記憶された基準画像の各画素の位置を、動き検出回路６２jから供給される非線形関数に基づいて、フレームメモリ４１j+1に記憶されたターゲット画像上の位置に変換する位置合わせを行う。
【００９５】
いま、基準画像の画素のうちの、ある画素に注目し、その画素を注目画素ということとすると、演算回路６３は、注目画素の位置を、非線形関数に基づいて、フレームメモリ４１j+1に記憶されたターゲット画像上の位置に変換し、その位置の近傍にあるターゲット画像の画素を、注目画素の補間に寄与させる寄与画素として特定する。
【００９６】
さらに、演算回路６３は、フレームメモリ４１1に記憶された基準画像の画素のうちの、注目画素の近傍にある画素も、寄与画素として特定し、フレームメモリ４１1乃至４１Nに記憶されたＮ枚の撮像画像すべてについて、寄与画素を特定すると、その寄与画素の画素データを用いて補間を行うことにより、注目画素の画素データを求める。
【００９７】
ここで、寄与画素の画素データを用いて注目画素の画素データの補間を行う方法としては、例えば、線形補間や、キュービック関数を用いた補間等を採用することができる。
【００９８】
また、寄与画素を用いた注目画素の補間は、寄与画素の画素データのうちの、補間しようとする色信号と同一種類の色信号を用いて行われる。
【００９９】
すなわち、注目画素の画素データとしての、例えば、R信号は、寄与画素の画素データのうちのR信号だけを用いた補間により求められる。同様に、注目画素の画素データとしてのG信号は、寄与画素の画素データのうちのG信号だけを用いた補間により求められ、注目画素の画素データとしてのB信号は、寄与画素の画素データのうちのB信号だけを用いた補間により求められる。但し、注目画素の画素データの色信号の補間は、寄与画素の画素データのうちの、同一種類の色信号の他、他の種類の色信号をも用いて行うことが可能である。
【０１００】
演算回路６３は、基準画像の画素のすべてを注目画素として画素データを求めると、その画素データで構成される画像を、出力画像として、出力端子を介して、D/Aコンバータ２８若しくはCODEC３１のいずれか一方または両方に出力する。
【０１０１】
コントローラ６４は、フレームメモリ４１1乃至４１N、動き検出回路６２1乃至６２N-1、および演算回路６３を制御する。また、コントローラ６４は、図７のCPU３３からの制御信号に基づいて処理を行う。
【０１０２】
次に、図９乃至図１３を参照して、DSP部２６による画像処理について、さらに詳しく説明する。
【０１０３】
図９は、CMOSセンサである撮像素子２３で撮像した撮像画像を示している。
【０１０４】
図９左は、手振れによって被写体像に歪みが生じているターゲット画像を示している。
【０１０５】
図９右は、図９左のターゲット画像の被写体像の歪みが補正されるように画像全体を歪ませたターゲット画像（以下、適宜、歪みターゲット画像という）を示している。
【０１０６】
なお、図９右には、歪みターゲット画像の他に、基準画像も示してある。
【０１０７】
ここで、基準画像には、フォーカルプレーン現象による歪みが生じていてもいなくても構わないが、便宜上、歪みが生じていないものとする。
【０１０８】
図９右には、歪みターゲット画像に映っている歪みが補正された被写体像と基準画像に映っている被写体像とが一致するように、歪みターゲット画像を図示してある。
【０１０９】
図９右の歪みターゲット画像に映っている範囲は、ターゲット画像の撮像時に、実空間において撮像素子２３によって実際に撮像走査された範囲（領域）を表し、基準画像に映っている範囲は、基準画像の撮像時に、実空間において撮像素子２３によって実際に撮像走査された範囲（領域）を表す。
【０１１０】
基準画像の撮像から、ターゲット画像の撮像までの間の手振れによって、撮像素子２３が、基準画像の撮像時に撮像する撮像範囲と、ターゲット画像の撮像時に撮像する撮像範囲とは、異なる範囲となる。
【０１１１】
基準画像とターゲット画像との位置合わせは、例えば、手振れ前の基準画像の撮像時の撮像範囲内の位置のうちの、撮像素子２３のある画素Pが基準画像の撮像時に撮像した位置(x, y)を、手振れ後のターゲット画像の撮像時の撮像範囲内の位置のうちの、撮像素子２３の画素Pがターゲット画像の撮像時に撮像した撮像範囲内の位置(x', y')に変換することで行うことができる。
【０１１２】
したがって、基準画像とターゲット画像との位置合わせを行うには、撮像素子２３のある画素Pが、基準画像の撮像時に撮像した位置(x, y)と、手振れ後のターゲット画像の撮像時に撮像した位置(x', y')との関係を特定する必要がある。
【０１１３】
そこで、撮像素子２３が、基準画像の撮像時に撮像した撮像範囲の左上の点を原点とし、左から右方向をx軸とするとともに、上から下方向をy軸とする2次元座標系である基準座標系において、fx()およびfy()を所定の関数として、撮像素子２３の画素Pが基準画像の撮像時に撮像した位置(x, y)と、撮像素子２３の画素Pがターゲット画像の撮像した位置(x', y')との関係を、式（１）で表すこととする。
【０１１４】
【数１】
2008028500.tif 000003
【０１１５】
ここで、基準画像の撮像時の撮像範囲は、基準画像と等価であり、したがって、基準座標系は、基準画像の左上の点を原点とし、左から右方向をx軸とするとともに、上から下方向をy軸とする２次元座標系でもある。
【０１１６】
次に、関数fx(x, y)およびfy(x, y)の求め方について、場合を分けて説明する。
【０１１７】
関数fx()およびfy()として、アフィン変換のような線形関数を採用した場合には、CMOSセンサから得られる撮像画像であるターゲット画像（さらには、基準画像）に映っている被写体に歪みがあると、基準画像とターゲット画像との位置合わせの精度が劣化する。
【０１１８】
すなわち、関数fx()およびfy()が、線形関数である場合には、そのような線形関数である関数fx()およびfy()に基づき、基準画像と被写体像が歪んでいるターゲット画像との位置合わせを精度良く行うことは困難である。
【０１１９】
そこで、関数fx(x, y)およびfy(x, y)としては、非線形関数、すなわち、例えば、２次関数を採用する。
【０１２０】
図１０は、平行移動、つまり、移動方向が水平方向と垂直方向のうちの少なくとも一方の手振れがあったときのターゲット画像の例を示している。
【０１２１】
図１０左は、手振れとしての平行移動によって被写体像に歪みが生じているターゲット画像を示している。
【０１２２】
図１０右は、図９右と同様に、図１０左のターゲット画像の被写体像の歪みが補正されるように画像全体を歪ませた歪みターゲット画像、すなわち、図１０左のターゲット画像の撮像時の撮像範囲であるターゲット画像撮像範囲を示している。
【０１２３】
なお、図１０右には、ターゲット画像撮像範囲の他に、基準画像の撮像時の撮像範囲である基準画像撮像範囲も示してある。
【０１２４】
いま、撮像範囲のうちの、撮像素子２３の各ラインの開始点の画素で撮像される位置を結ぶ線を、ライン開始線と呼ぶこととすると、基準画像撮像範囲のライン開始線１０１Ａ上の点(0, y)は、手振れによって、ターゲット画像撮像範囲のライン開始線１０２Ａ上の点(x', y')に移動する。
【０１２５】
すなわち、基準画像の撮像時に、基準画像撮像範囲のライン開始線１０１Ａ上の点(0, y)を撮像する撮像素子２３の画素は、ターゲット画像の撮像時には、ターゲット画像撮像範囲のライン開始線１０２Ａ上の点(x', y')を撮像する。
【０１２６】
つまり、基準画像撮像範囲のライン開始線１０１Ａ上の点(0, y)を撮像する撮像素子２３の画素が撮像する点は、基準画像の撮像時では、基準画像撮像範囲のライン開始線１０１Ａ上の点(0, y)であるが、ターゲット画像の撮像時では、平行移動の手振れによって、ターゲット画像撮像範囲のライン開始線１０２Ａ上の点(x', y')に移動する。
【０１２７】
基準画像撮像範囲のライン開始線１０１Ａは、基準座標系のy軸上に位置する。また、平行移動の手振れのみがあった場合のターゲット画像撮像範囲のライン開始線１０２Ａは、図１０右に示すように、２次関数などの２次以上の関数で表現されるような曲線となる。
【０１２８】
上述のように、ライン開始線１０１Ａ上の点(0,y)は、すべてライン開始線１０２Ａ上の点(x', y')に移動するから、点(x', y')の座標x'およびy'は、ライン開始線１０１Ａ上の点(0,y)のy座標にのみ依存し、そのy座標の多項式で表すことができる。
【０１２９】
さらに、上述したように、ライン開始線１０２Ａは、２次関数で表現されるような曲線であるから、ライン開始線１０２Ａ上の点(x', y')を表す、ライン開始線１０１Ａ上の点(0,y)のy座標の多項式として、２次関数を採用することとすると、点(x', y')の座標x'およびy'は、式（２）で表される。
【０１３０】
【数２】
2008028500.tif 000004
【０１３１】
ここで、式（２）におけるα00，α01，α10，α11，α20，α21は、係数である。
【０１３２】
図１１は、光軸回りの回転のみの手振れがあったときのターゲット画像の例を示している。
【０１３３】
図１１左は、手振れとしての回転によって被写体像に歪みが生じているターゲット画像を示している。
【０１３４】
図１１右は、図９右と同様に、図１１左のターゲット画像の被写体像の歪みが補正されるように画像全体を歪ませた歪みターゲット画像、すなわち、図１１左のターゲット画像の撮像時の撮像範囲であるターゲット画像撮像範囲を示している。
【０１３５】
なお、図１１右には、ターゲット画像撮像範囲の他に、基準画像の撮像時の撮像範囲である基準画像撮像範囲も示してある。
【０１３６】
いま、回転のみの手振れが、基準画像撮像範囲のライン開始線１０１Ａ上の点(0, y)を撮像する撮像素子２３の画素を中心とする回転であったとすると、基準画像の撮像時に、基準画像撮像範囲の点(x, y)を撮像した撮像素子２３の画素が、ターゲット画像の撮像時に撮像するターゲット画像撮像範囲の点(x', y')は、点(x, y)がx軸方向に所定の倍率sだけ伸縮した点(sx, y)を、点(0, y)を中心として、角度θだけ回転した点となる。
【０１３７】
つまり、基準画像撮像範囲の点(x, y)を撮像する撮像素子２３の画素が撮像する点は、基準画像の撮像時では、基準画像撮像範囲の点(x, y)であるが、ターゲット画像の撮像時では、回転の手振れによって、ターゲット画像撮像範囲における、点(x, y)をx軸方向に所定の倍率sだけ伸縮した点(sx, y)に移動し、さらに、その点(sx, y)を、点(0, y)を中心として、角度θだけ回転した点(x', y')に移動する。ここで、倍率sを、以下、適宜、スケールsという。また、角度θを、以下、適宜、傾き角度θという。
【０１３８】
したがって、回転のみの手振れがあった場合の、点(x, y)と点(x', y')との関係は、式（３）で表される。
【０１３９】
【数３】
2008028500.tif 000005
【０１４０】
なお、ラインについての傾き角度θおよびスケールsは、手振れとしての回転の中心である点(0, y)の座標yに依存し、yの多項式で表すことができる。そこで、例えば、傾き角度θを、式（４）の２次式で表すとともに、スケールsを、式（５）の１次式で表すこととする。
【０１４１】
【数４】
2008028500.tif 000006
【０１４２】
【数５】
2008028500.tif 000007
【０１４３】
ここで、式（４）におけるβ0，β1、およびβ2と、式（５）におけるγ0およびγ1は、係数である。
【０１４４】
次に、図１２は、平行移動と光軸回りの回転との両方の手振れがあったときのターゲット画像の例を示している。
【０１４５】
すなわち、図１２は、基準画像撮像範囲と、平行移動と回転の手振れがあったときのターゲット画像の被写体像の歪みが補正されるように画像全体を歪ませた歪みターゲット画像、つまり、ターゲット画像撮像範囲とを示している。
【０１４６】
仮に、回転のみの手振れがあった場合において、手振れによる回転が、撮像素子２３の上からi番目の第iラインの開始点の画素を中心とする回転であるとし、その画素が、基準画像の撮像時に撮像する点が点(0,yi)であるとすると、基準画像撮像範囲の点(0, yi)を撮像する撮像素子２３の画素が撮像が撮像する点は、図１１で説明したことから、基準画像の撮像時も、ターゲット画像の撮像時も、点(0,yi)であり、回転のみの手振れによっては移動しない。よって、平行移動と回転の手振れがあった場合に、基準画像撮像範囲の点(0,yi)を撮像した撮像素子２３の画素が撮像する点が、ターゲット画像撮像範囲内の、どの点に移動するかについては、手振れとしての平行移動と回転のうちの、平行移動だけを考慮すればよい。
【０１４７】
したがって、平行移動と回転の手振れがあった場合に、基準画像撮像範囲の点(0, yi)を撮像した撮像素子２３の画素が撮像するターゲット画像撮像範囲の点を、点(xli, yli)と表すこととすると、点(0, yi)と点(xli, yli)との関係は、平行移動のみの手振れについて説明した図１０の場合と同様にして、式（２）と同様の式（６）で表される。
【０１４８】
【数６】
2008028500.tif 000008
【０１４９】
次に、平行移動と回転の手振れがあった場合に、基準画像撮像範囲の点(x, y)を撮像した撮像素子２３の画素が撮像するターゲット画像撮像範囲の点を、点(x', y')と表すこととすると、その点(x', y')は、回転のみの手振れがあた場合に、基準画像撮像範囲の点(x, 0)を撮像する撮像素子２３の画素が撮像する、式（３）で表されるターゲット画像撮像範囲の点と、平行移動の手振れがあった場合に、基準画像撮像範囲の点(0, y)を撮像した撮像素子２３の画素が撮像する、式（６）で表されるターゲット画像撮像範囲の点とを考慮することにより、式（７）で表される。
【０１５０】
【数７】
2008028500.tif 000009
【０１５１】
なお、式（７）において、θiとsiは、ターゲット画像撮像範囲の点(xli, yli)が、撮像素子２３の第iラインの開始点の画素で撮像される点(0, y)である場合の、式（４）の傾き角度θと、式（５）のスケールsを、それぞれ表す。
【０１５２】
以上の式（１）、および式（４）乃至式（７）から、撮像素子２３の画素Pが基準画像の撮像時に撮像した位置(x, y)と、撮像素子２３の画素Pがターゲット画像の撮像時に撮像した位置(x', y')との関係は、式（８）で表される。
【０１５３】
【数８】
2008028500.tif 000010
【０１５４】
式（８）の１１個の係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1が未知数であり、この１１個の未知の係数を求めることが、基準画像とターゲット画像との位置関係を表す非線形関数である関数fx(x, y)およびfy(x, y)を求めることになる。
【０１５５】
非線形関数fx(x, y)およびfy(x, y)は、基準画像の点Qの座標を、(x, y)とし、その点Qに対応するターゲット画像の対応点、つまり、基準画像の点Qに映っているのと同一の被写体が映っている対応点の座標を、(x', y')として、式（８）を解くことにより求めることができる。
【０１５６】
すなわち、基準画像の点(x, y)と、その点(x, y)に対応するターゲット画像の対応点(x', y')とからなる１組の対応点セットに対して、式（８）の１１個の係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を未知数とする方程式が２つ求まる。したがって、基準画像と、ターゲット画像との対応点を６組以上求めれば、未知数である11個の係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を求めること、すなわち、非線形関数fx(x, y)およびfy(x, y)を求めることができる。
【０１５７】
なお、基準画像とターゲット画像との対応点セットを求める方法としては、例えば、動き検出で用いられているブロックマッチングや、特徴点抽出などの一般的に用いられている方法を採用することができる。
【０１５８】
基準画像とターゲット画像の６組以上の対応点セットが求まったら、それぞれの対応点セットを式（８）の(x, y)と(x', y')に代入し、その結果得られる１２個以上の方程式を、最小二乗法などを用いて解くことにより、未知数である11個の係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を求めることができる。
【０１５９】
次に、式（８）の未知数である係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を求める具体的な手順を示す。
【０１６０】
図１３は、基準画像と歪みターゲット画像の例を示している。
【０１６１】
図１３において、基準画像は、点線で表され、歪みターゲット画像は、実線で表されている。
【０１６２】
また、図１３において、点Akは基準画像上の点であり、点Ak'は歪みターゲット画像上の、点Akの対応点である。
【０１６３】
ここで、点Akの対応点Ak'は、例えば、上述したように、ブロックマッチングなどの方法を用いて、求めることができる。
【０１６４】
点Ａkの座標を(xk, yk)と表すとともに、点Ak'の座標を(Xk, Yk)と表すと、点Akからの点Ak'への動きを表す動きベクトル(mvx,k, mvy,k)は、式（９）で表される。
【０１６５】
【数９】
2008028500.tif 000011
【０１６６】
点(xk, yk)と、その点(xk, yk)に対応する対応点(Xk, Yk)との対応点セットを、６組以上のK組だけ用い、式（１０）のSSD(Sum of Squared Differences)を最小にする係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を求めることにより、関数fx(x, y)，fy(x, y)を得ることができる。
【０１６７】
【数１０】
2008028500.tif 000012
【０１６８】
ここで、式（１０）のΣは、K個の対応点セットすべてについてのサメーションを表す。
【０１６９】
以上のようにして、関数fx(x, y)およびfy(x, y)が得られた後は、その関数fx(x, y)およびfy(x, y)を用いて、基準画像とターゲット画像との正確な位置合わせをすること、すなわち、例えば、基準画像の画素の位置に対応するターゲット画像上の正確な位置を検出することができる。
【０１７０】
そして、基準画像の画素の位置に対応するターゲット画像上の正確な位置の近傍にある画素を、補間に寄与する寄与画素として特定し、その寄与画素の画素データを用いて、基準画像の画素の画素データの補間を行うことにより、画質の良い出力画像を得ることができる。
【０１７１】
次に、図１４のフローチャートを参照して、図７の撮像装置１１による撮像処理について説明する。
【０１７２】
なお、撮像装置１１では、手振れによって生じる撮像画像の歪みの補正を行うために、１フレームに相当する時間に、時間的に連続してN枚の撮像画像が撮像されるように設定されているものとする。
【０１７３】
撮像処理は、例えば、ユーザによって撮像装置１１の入力デバイス３４にある録画ボタンが押下されると、開始される。
【０１７４】
ステップＳ１において、図７の撮像装置１１は、１フレームに相当する時間に、Ｎ回の撮像を行い、ステップＳ２に進む。すなわち、レンズ２１および絞り２２を通過して撮像素子２３に入射された光は、撮像素子２３によって受光され、その光の受光量に対応した電気信号である画像信号が、CDS部２４を介して、A/Dコンバータ２５に供給される。A/Dコンバータ２５は、A/Dコンバータ２５から供給される画像信号をデジタイズして、Ｎ枚の撮像画像の画像信号を、DSP部２６に供給し、フレームメモリ４１に記憶させる。
【０１７５】
ここで、図８のフレームメモリ４１1には、１枚目の撮像画像が基準画像として記憶され、また、フレームメモリ４１2乃至４１Nには、２乃至Ｎ枚目の撮像画像が、ターゲット画像としてそれぞれ記憶される。
【０１７６】
ステップＳ２において、DSP部２６は、フレームメモリ４１2乃至４１Nに格納されたＮ枚の撮像画像に対して後述の画像処理を行い、その結果得られる出力画像の画像信号を、D/Aコンバータ２８、ビデオエンコーダ２９を介して、ビデオモニタ３０に供給し、ステップＳ３に進む。
【０１７７】
ステップＳ３において、ビデオモニタ３０は、DSP部２６から供給された出力画像を表示し、ステップＳ４に進む。
【０１７８】
ステップＳ４において、CPU３３は、入力デバイス３４にあるストップボタンが押下されたかどうかを判定する。ステップＳ４において、ストップボタンが押下されていないと判定された場合、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【０１７９】
一方、ステップＳ４において、ストップボタンが押下されたと判定された場合、撮像装置１１は、撮像処理を終了する。
【０１８０】
次に、図１５のフローチャートを参照して、図１４のステップＳ２で図８のDSP部２６が行う画像処理についてさらに詳しく説明する。
【０１８１】
図８の動き検出回路６２nは、ステップＳ２１において、フレームメモリ４１1から基準画像としての１枚目の撮像画像を読み出すとともに、フレームメモリ４１nからターゲット画像としてのｎ枚目の撮像画像を読み出し、ステップＳ２２に進む。
【０１８２】
ステップＳ２２において、動き検出回路６２nは、例えば、いわゆるブロックマッチングの手法を用いて、基準画像上の６以上の画素それぞれについて、その画素の位置を表す点に対応するターゲット画像上の点である対応点を検出し、基準画像上の点と、その点に対応するターゲット画像上の対応点との対応点セットを、演算回路６３に供給して、ステップＳ２３に進む。
【０１８３】
ステップＳ２３において、演算回路６３は、動き検出回路６２nから供給された対応点セットに基づいて、ターゲット画像と基準画像との位置関係を表す非線形関数fx(x, y)およびfy(x, y)の１１個の未知の係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1を最小二乗法を用いて求める。そして演算回路６３は、ターゲット画像としての2枚目ないしN枚目の撮像画像それぞれについて、係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1、つまり、その係数α00，α01，α10，α11，α20，α21，β0，β1，β2，γ0，およびγ1で規定される式（８）の非線形関数fx(x, y)およびfy(x, y)を求めると、ステップＳ２３からステップＳ２４に進む。
【０１８４】
ステップＳ２４では、演算回路６３は、ステップＳ２３で求めた非線形関数fx(x, y)およびfy(x, y)を用いて、N枚の撮像画像の位置合わせを行うことにより、補間に寄与する寄与画素を特定する。
【０１８５】
すなわち、ステップＳ２４において、演算回路６３は、基準画像上の画素を、順次、注目画素として、注目画素の位置(x, y)に対応するターゲット画像上の位置(x', y')を、そのターゲット画像としてのn枚目の撮像画像について求められた非線形関数fx(x, y)およびfy(x, y)を用いて求め、位置(x', y')=(fx(x, y), fy(x, y))の近傍にあるn枚目の撮像画像の画素を寄与画素として特定する。
【０１８６】
さらに、演算回路６３は、基準画像の画素のうちの、注目画素の近傍にある画素も、寄与画素として特定し、Ｎ枚の撮像画像すべてについて、寄与画素を特定すると、その寄与画素の画素データを用いて補間を行うことにより、注目画素の画素データのR信号、G信号、B信号を求め、その画素データで構成される画像を、出力画像として、例えば、D/Aコンバータ２８に供給して、リターンする。
【０１８７】
なお、上述の関数fx(x, y), fy(x, y)は、解くことができるのであれば、３次式以上の高次の項を含む多項式（非線形関数）であってもよい。
【０１８８】
また、CMOSセンサである撮像素子２３の１ラインを構成する画素のうちの隣り合う画素どうしの画素データの読み出し時間（露光タイミング）の差が、隣り合うラインの画素どうしの画素データの読み出し時間の差に比べて、無視できるほど小さいと仮定できる場合には、撮像画像のうちの、撮像素子２３の同一ラインの画素で撮像される部分には、歪みが生じないものとして扱うことができる。
【０１８９】
この場合、非線形関数fx(x, y), fy(x, y)を求めるにあたっては、撮像素子２３において隣り合うラインの画素どうしの画素データの読み出し時間の差のみを考慮すればよく、式（８）におけるスケールs(y)は、式（１１）で表される。
【０１９０】
【数１１】
2008028500.tif 000013
【０１９１】
また、ターゲット画像の撮像時に、手振れによるレンズ光軸の回りの回転がないとわかっている場合には、式（８）の傾き角度θ(y)は、式（１２）で表される。
【０１９２】
【数１２】
2008028500.tif 000014
【０１９３】
以上のように、基準画像とターゲット画像との位置関係を表す非線形関数fx(x, y)およびfy(x, y)を求めるようにしたので、その非線形関数fx(x, y)およびfy(x, y)を用いることにより、CMOSセンサを用いて撮像された基準画像とターゲット画像としての撮像画像の位置合わせを精度よく行うことができる。すなわち、手振れがあるような状態で、CMOSセンサを用いて撮影した場合には、撮像画像に歪みが生じるが、非線形関数fx(x, y)およびfy(x, y)を用いることにより、撮像画像の歪みを補正して（考慮して）、撮像画像の位置合わせを精度よく行うことができる。
【０１９４】
そして、精度のよい位置合わせを行った複数の撮像画像の同一の被写体が映っている部分を重ね合わせることにより、高画質の出力画像を得ることができる。すなわち、例えば、短い露光時間で撮像された複数の暗い撮像画像の位置合わせを行って、近傍にある画素データを用いた補間を行うことにより、手振れがなく、鮮明な、適切な露出の出力画像を得ることができる。
【０１９５】
さらに、非線形関数fx(x, y)およびfy(x, y)は、被写体に対する撮像装置１１の動きを表すから、例えば、角速度センサや加速度センサなどの外部のセンサを用いることなしに、非線形関数fx(x, y)およびfy(x, y)によって撮像装置１１の動きを認識し、光学的に、撮像装置１１の動き、つまり、手振れを補正することが可能である。
【０１９６】
また、本実施の形態では、撮像素子２３として、CMOSセンサを採用することとしたが、撮像素子２３としては、CMOSセンサの他、CCDを採用することが可能である。但し、基準画像とターゲット画像との位置関係を非線形関数fx(x, y)およびfy(x, y)で表すことは、撮像素子２３として、CMOSセンサのような、１の画素と他の１の画素との露光のタイミングが異なるセンサを用いる場合に、特に有用である。
【０１９７】
さらに、撮像素子２３は、１画素につき、１種類の色信号を画素値として有する、例えば、ベイヤ配列の単板センサであっても良いし、１画素につき、例えば、R信号、G信号、およびB信号の３色の信号を出力する３板式のセンサであっても良い。
【０１９８】
また、複数の撮像画像を重ね合わせる場合、つまり、複数の撮像画像の画素データを用いて補間を行う場合には、ある種類の色信号の補間は、複数の撮像画像の画素データの、同一種類の色信号を用いて行われる。すなわち、例えば、R信号の補間は、複数の撮像画像の画素データのR信号を用いて行われる。同様に、G信号の補間は、複数の撮像画像の画素データのG信号を用いて行われ、B信号の補間は、複数の撮像画像の画素データのB信号を用いて行われる。但し、色信号の補間は、その色信号と、その色信号以外の色信号を用いて行うことも可能である。
【０１９９】
上述したDSP部２６が行う一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２００】
図１６は、上述した一連の処理をプログラムにより実行するコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）１８１は、ROM（Read Only Memory）１８２、または記憶部１８８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）１８３には、CPU１８１が実行するプログラムやデータなどが適宜記憶される。これらのCPU１８１、ROM１８２、およびRAM１８３は、バス１８４により相互に接続されている。
【０２０１】
CPU１８１にはまた、バス１８４を介して入出力インターフェース１８５が接続されている。入出力インターフェース１８５には、キーボード、マウス、マイクロホンなどよりなる入力部１８６、ディスプレイ、スピーカなどよりなる出力部１８７が接続されている。CPU１８１は、入力部１８６から入力される指令に対応して各種の処理を実行する。そして、CPU１８１は、処理の結果を出力部１８７に出力する。
【０２０２】
入出力インターフェース１８５に接続されている記憶部１８８は、例えばハードディスクからなり、CPU１８１が実行するプログラムや各種のデータを記憶する。通信部１８９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０２０３】
また、通信部１８９を介してプログラムを取得し、記憶部１８８に記憶してもよい。
【０２０４】
入出力インターフェース１８５に接続されているドライブ１９０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１９１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部１８８に転送され、記憶される。
【０２０５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１６に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１９１、または、プログラムが一時的もしくは永続的に格納されるROM１８２や、記憶部１８８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部１８９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２０６】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０７】
本発明は、デジタルビデオカメラ、デジタルスチルカメラ等の画像を撮像する撮像装置の他、撮像画像を処理する画像処理装置に適用することができる。
【０２０８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０９】
【図１】撮像画像の走査方式を示す図である。
【図２】撮像素子における１ラインごとの露光のタイミングを示す図である。
【図３】被写体が、手振れが生じた状態で撮像される様子を示す図である。
【図４】基準投影面と手振れ投影面とを、視点からみた平面図である。
【図５】撮像素子にCCDセンサを用いた場合の撮像画像を示す図である。
【図６】撮像画像に被写体像の歪みが生じている様子を示す図である。
【図７】本発明を適用した撮像装置の一実施の形態の構成例を示すブロック図である。
【図８】DSP部２６の機能的な構成例を示すブロック図である。
【図９】CMOSセンサである撮像素子２３で撮像した撮像画像を示す図である。
【図１０】平行移動の手振れがあったときのターゲット画像の例を示す図である。
【図１１】光軸回りの回転のみの手振れがあったときのターゲット画像の例を示す図である。
【図１２】平行移動と光軸回りの回転との両方の手振れがあったときのターゲット画像の例を示す図である。
【図１３】基準画像と歪みターゲット画像の例を示す図である。
【図１４】撮像装置１１による撮像処理を説明するフローチャートである。
【図１５】図１４のステップＳ２で行われる画像処理を説明するフローチャートである。
【図１６】プログラムを実行するコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０２１０】
１１  撮像装置，  ２１  レンズ，  ２２  絞り，  ２３  撮像素子，  ２４  CDS部，  ２５  A/Dコンバータ，  ２６  DSP部，  ２７  タイミングジェネレータ，  ２８  D/Aコンバータ，  ２９  ビデオエンコーダ，  ３０  ビデオモニタ，  ３１  CODEC，  ３２  メモリ，  ３３  CPU，  ３４  入力デバイス，  ３５  プログラムメモリ，  ４１，４１1乃至４１N  フレームメモリ，  ４２  DSP，  ６２1乃至６２N-1  動き検出回路，  ６３  演算回路，  ６４  コントローラ，  １０１Ａ，１０２Ａ  ライン開始線，  １８１  CPU，  １８２  ROM，  １８３  RAM，  １８４  バス，  １８５  入出力インターフェース，  １８６  入力部，  １８７  出力部，  １８８  記憶部，  １８９  通信部，  １９０  ドライブ，  １９１  リムーバブルメディア
【図１】
2008028500.tif 000015
【図２】
2008028500.tif 000016
【図３】
2008028500.tif 000017
【図４】
2008028500.tif 000018
【図５】
2008028500.tif 000019
【図６】
2008028500.tif 000020
【図７】
2008028500.tif 000021
【図８】
2008028500.tif 000022
【図９】
2008028500.tif 000023
【図１０】
2008028500.tif 000024
【図１１】
2008028500.tif 000025
【図１２】
2008028500.tif 000026
【図１３】
2008028500.tif 000027
【図１４】
2008028500.tif 000028
【図１５】
2008028500.tif 000029
【図１６】
2008028500.tif 000030