以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。
図1は、本発明の実施形態に係る撮像装置1の全体ブロック図である。撮像装置1は、符号11〜28によって参照される各部位を有する。撮像装置1は、デジタルビデオカメラであり、動画像及び静止画像を撮影可能となっていると共に動画像撮影中に静止画像を同時に撮影することも可能となっている。撮像装置1内の各部位は、バス24又は25を介して、各部位間の信号(データ)のやり取りを行う。尚、表示部27及び/又はスピーカ28は撮像装置1の外部装置(不図示)に設けられたものである、と解釈するようにしても良い。
撮像部11は、撮像素子を用いて被写体の撮影を行う。図2は、撮像部11の内部構成図である。撮像部11は、光学系35と、絞り32と、固体撮像素子である撮像素子33と、光学系35や絞り32を駆動制御するためのドライバ34と、を有している。光学系35は、撮像部11の画角を調節するためのズームレンズ30及び焦点を合わせるためのフォーカスレンズ31を含む複数枚のレンズから形成される。ズームレンズ30及びフォーカスレンズ31は光軸方向に移動可能である。CPU23からの制御信号に基づき、光学系35内におけるズームレンズ30及びフォーカスレンズ31の位置並びに絞り32の開度が制御されることによって、撮像部11の焦点距離(画角)及び焦点位置並びに撮像素子33への入射光量が制御される。
撮像素子33は、水平及び垂直方向に複数の受光画素が配列されることによって形成される。撮像素子33の各受光画素は、光学系35及び絞り32を介して入射した被写体の光学像を光電変換し、該光電変換によって得られた電気信号をAFE12(Analog Front End)に出力する。
AFE12は、撮像素子33(各受光画素)から出力されるアナログ信号を増幅し、増幅されたアナログ信号をデジタル信号に変換してから映像信号処理部13に出力する。AFE12における信号増幅の増幅度はCPU(Central Processing Unit)23によって制御される。映像信号処理部13は、AFE12の出力信号によって表される画像に対して必要な画像処理を施し、画像処理後の画像についての映像信号を生成する。マイク14は、撮像装置1の周辺音をアナログの音声信号に変換し、音声信号処理部15は、このアナログの音声信号をデジタルの音声信号に変換する。
圧縮処理部16は、映像信号処理部13からの映像信号及び音声信号処理部15からの音声信号を、所定の圧縮方式を用いて圧縮する。内部メモリ17は、DRAM(Dynamic Random Access Memory)などから成り、各種のデータを一時的に保存する。記録媒体としての外部メモリ18は、半導体メモリや磁気ディスクなどの不揮発性メモリであり、圧縮処理部16による圧縮後の映像信号及び音声信号を記録する。
伸張処理部19は、外部メモリ18から読み出された圧縮された映像信号及び音声信号を伸張する。伸張処理部19による伸張後の映像信号又は映像信号処理部13からの映像信号は、表示処理部20を介して、液晶ディスプレイ等から成る表示部27に送られて画像として表示される。また、伸張処理部19による伸張後の音声信号は、音声出力回路21を介してスピーカ28に送られて音として出力される。
TG(タイミングジェネレータ)22は、撮像装置1全体における各動作のタイミングを制御するためのタイミング制御信号を生成し、生成したタイミング制御信号を撮像装置1内の各部に与える。タイミング制御信号は、垂直同期信号Vsyncと水平同期信号Hsyncを含む。TG22は、更に、CPU23の制御の下、撮像素子33の駆動パルスを生成して撮像素子33に供給する。CPU23は、撮像装置1内の各部位の動作を統括的に制御する。操作部26は、動画像の撮影及び記録の開始/終了を指示するための録画ボタン26a、静止画像の撮影及び記録を指示するためのシャッタボタン26b、並びに、ズーム倍率を指定するためのズームボタン26c等を有し、ユーザによる各種操作を受け付ける。操作部26に対する操作内容はCPU23に伝達される。
撮像素子33は、電子シャッタ機能を備えており、所謂ローリングシャッタによって各受光画素の露光を実施する。撮像素子33には、複数の受光画素によって形成される撮像面が設けられており、撮像面上に定義された複数の水平ライン及び複数の垂直ラインに沿って受光画素が二次元配列されている。ローリングシャッタでは、撮像面の各受光画素が露光されるタイミングが水平ラインごとに異なる。つまり、撮像面における異なる水平ライン間で受光画素の露光タイミングが異なる。
図3及び図4を参照しつつ、撮像素子33のローリングシャッタについて説明を補足する。図3に示す如く、撮像面において、垂直ラインに沿った方向(即ち撮像面の垂直方向)が上下方向であり、撮像面の有効画素領域33Aの最上端に配置された水平ラインが第1水平ラインであって且つ有効画素領域33Aの最下端に配置された水平ラインが第M水平ラインであるとする(Mは、2以上の整数であり、一般的には数100から数1000である)。そうすると、図4に示す如く、或る1つの注目フレームについて、第(i+1)水平ライン上の受光画素における露光の開始時刻は、第i水平ライン上の受光画素における露光の開始時刻よりもΔt秒だけ遅い(Δt>0且つiは整数)。1つのフレームにおいて、第i水平ライン上の受光画素の露光が行われる時間の長さは第(i+1)水平ライン上の受光画素のそれと同じであると共に、Δtはiの値に依存せず一定である。各受光画素の露光の終了後に、各受光画素の出力信号を読み出すことができ、読み出された出力信号はAFE12に送られる。
Δt及びΔtの整数倍を、異なる水平ライン間における露光タイミング差という。Δtは、隣接水平ライン間における露光タイミング差である。
尚、第1〜第M水平ラインの内、露光タイミングが互いに同じとなる複数の水平ラインが存在していても構わない。例えば、2本の水平ラインごとに露光タイミングが異なっていても構わない。この場合、第2水平ラインの露光タイミングと第3水平ラインの露光タイミングが異なるものの、第1及び第2水平ラインの露光タイミングが同じであって且つ第3及び第4水平ラインの露光タイミングが同じとなる。また、1つの水平ラインにおいても各受光画素の露光タイミングは順次ずれるが、1つの水平ライン上の異なる受光画素間の露光タイミング差は、異なる水平ライン間のそれよりも十分小さいため、1つの水平ライン上における各受光画素の露光タイミングを同じとみなすことができる。
撮像素子33は、例えば、XYアドレス型のCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。CMOSを形成可能な半導体基板上に、複数の受光画素から成る撮像面、垂直走査回路、水平走査回路及び画素信号出力回路等を形成することによって、CMOSイメージセンサが形成される。但し、撮像素子33がローリングシャッタによって各受光画素の露光を実施するものであるならば、撮像素子33は、XYアドレス走査型のCMOSイメージセンサでなくても構わない。
背景技術の説明でも述べたように、ローリングシャッタにて撮影された画像には、FP歪み(フォーカルプレーン歪み)が発生する。FP歪みは、Δtが0よりも大きいことに起因して生じ、Δtが大きいほどFP歪みは増加する傾向にある。撮像装置1には、このFP歪みを適切に除去する機能が備えられている。
図5に、FP歪みの除去機能を担う画像補正機能部50のブロック図を示す。画像補正機能部50は撮像装置1に設けられ、画像補正機能部50は、符号51〜55によって参照される各部位を含む。フレームメモリ51は、図1の内部メモリ17にて実現される。動き検出部52及び補正処理部55は、例えば、図1の映像信号処理部13に設けられる。手ぶれ検出部53及びFP歪み検出部54は、映像信号処理部13によって、或いは、CPU23によって、或いは、映像信号処理部13及びCPU23によって実現される。後述の入力画像にはFP歪みが発生しているが、画像処理部55にてFP歪みが低減されて出力画像が生成される。
所定のフレームレート(例えば、30フレーム/秒)にて撮像素子33の各受光画素の出力信号が読み出され、撮像素子33の各受光画素の出力信号は、入力画像の画像信号としてフレームメモリ51に保存される。但し、各受光画素の出力信号に必要な信号処理を施して得た信号が入力画像の画像信号であるとする。ここにおける信号処理には、AFE12における信号増幅及び信号デジタル化が含まれ、更に、画像信号の信号形式をRAWデータ形式からYUV形式に変換するデモザイキング処理等も含まれうる。YUV形式の画像信号は、輝度信号と色差信号から形成される。
上記信号処理の内容は本発明の特徴的機能に特に関与しないため、以下の説明では、説明の簡略化上、上記信号処理の存在を無視する。本明細書において、画像信号と映像信号は同義である。また、或る受光画素又は画素についての画像信号を特に画素信号とも言う。以下の説明では、画像信号及び画素信号を画像データとも称する。また、本明細書では、符号又は記号を付記することによって符号又は記号に対応する名称を略記又は省略することがある。例えば、後述の図8等にて参照される、記号BL[1]に対応する動き検出ブロックを、ブロックBL[1]又は単にBL[1]と称することがある。
フレームメモリ51において、1枚の入力画像に対するメモリ空間として二次元のメモリ領域51Aが割り当てられる。図6に示す如く、メモリ領域51Aは撮像素子33の有効画素領域33Aと同じ構造を有しており、有効画素領域33A上の位置(x,y)における受光画素の出力信号は、メモリ領域51A上のアドレス(x,y)に保存される(x及びyは整数)。撮像素子33において、位置(x,y)における受光画素とは、第x垂直ライン上であって且つ第y水平ライン上に位置する受光画素である。有効画素領域33Aの左端に配置された垂直ラインは第1垂直ラインであって、有効画素領域33Aにおいて、第(i+1)垂直ラインは第i垂直ラインの右側に隣接する垂直ラインである(iは整数)。有効画素領域33A上に水平及び垂直ラインが配列される方法と同様の方法にて、メモリ領域51Aにも水平及び垂直ラインが定義される。メモリ領域51A上に表現される二次元画像は、有効画素領域33A上に結像する画像と同じものである。尚、入力画像に代表される任意の二次元画像、撮像素子33、有効画素領域33A及びメモリ領域51Aにおいて、左右方向は水平方向及び水平ラインと平行であって上下方向は垂直方向及び垂直ラインと平行である。
フレームメモリ51に、メモリ領域51Aを複数個設けておくことにより、複数枚の入力画像の画像データをフレームメモリ51に保存しておくことができる。フレームメモリ51に保存された各入力画像の画像データは、動き検出部52に送られる。
今、図7に示す如く、単位時間TAが経過するごとに、現在時刻が時刻tn-1、tn、tn+1、・・・になるものとする(nは整数)。従って、時刻tn-1から単位時間TAが経過した時刻が時刻tnである。単位時間TAは上記フレームレートの逆数であるフレーム周期である。但し、単位時間TAはフレーム周期の整数倍であってもよい。時刻tnを起点としてn番目の入力画像の撮影が行われる。n番目の入力画像を符号Inにて表す。時刻tn-1及びtn-1’は、それぞれ入力画像In-1を取得するための露光期間の開始時刻及び終了時刻であり、時刻tn及びtn’は、それぞれ入力画像Inを取得するための露光期間の開始時刻及び終了時刻である(時刻tn+1及びtn+1’等についても同様)。時刻tn-1及びtn-1’間の時間長さや時刻tn及びtn’間の時間長さに等しい、各入力画像の露光期間の時間長さをTBにて表す。本実施形態において、TB(例えば約10msec)はTA(例えば約33msec)よりも短いものとする。但し、TB=TAであっても構わない。
また、時系列上に並ぶ複数の画像の集まりを画像列と呼ぶ。従って例えば、入力画像In-1、In及びIn+1から成る画像列は入力画像列と称される。画像列は、動画像であるとも言える。
図5の動き検出部52は、時間的に隣接する2枚の入力画像の画像データに基づいて当該2枚の入力画像間におけるオプティカルフローを算出することで、当該2枚の入力画像についての動き検出情報を生成して出力する。オプティカルフローの算出に当たり、動き検出部52では、各入力画像の全体画像領域が複数の領域に分割され、各分割領域に動き検出ブロックが設定される。
図8の符号210は、或る1枚の入力画像を表している。例として、入力画像210の全体画像領域を水平及び垂直方向の夫々において3等分して9つの分割領域を定義することにより計9つの動き検出ブロックBL[1]〜BL[9]を設定することを想定する。iを0、1又は2とした場合、BL[i+1]〜BL[i+3]は水平方向に並ぶ動き検出ブロックであって、且つ、BL[i+1]、BL[i+4]及びBL[i+7]は垂直方向に並ぶ動き検出ブロックである。従って、iを0、1又は2とした場合、動き検出ブロックに内包される水平ラインはブロックBL[i+1]〜BL[i+3]間で同じであり、動き検出ブロックに内包される垂直ラインはブロックBL[i+1]、BL[i+4]及びBL[i+7]間で同じである。更に、iを0、1又は2とした場合、BL[i+1]は入力画像210の左端側に配置され、BL[i+3]は入力画像210の右端側に配置され、BL[i+2]はBL[i+1]及びBL[i+3]間に配置され、BL[i+1]は入力画像210の上端側に配置され、BL[i+7]は入力画像210の下端側に配置され、BL[i+4]はBL[i+1]及びBL[i+7]間に配置される。
図9を参照し、時間的に隣接する2枚の入力画像を符号220及び230によって表した上で、動き検出情報の生成方法を説明する。入力画像230は入力画像220の次に生成される入力画像であり、例えば、入力画像220がIn-1であるなら入力画像230はInであり、入力画像220がInであるなら入力画像230はIn+1である。
動き検出部52によって求められる、入力画像220及び230間のオプティカルフローは、複数の動きベクトルから成る。動き検出部52は、ブロックマッチング法、代表点マッチング法又は勾配法等を用いて、動き検出ブロックごとに動きベクトルを算出する。図9に示す如く、BL[1]〜BL[9]に対して求められた動きベクトルを、夫々、記号MV[1]〜MV[9]によって表す(図9では、図示の煩雑化防止のため、記号MV[1]〜MV[9]の内、一部のみを図示)。動きベクトルは、入力画像220を基準として求められる。従って、入力画像220のブロックBL[i]内の特徴点の位置が第1位置であって、且つ、該特徴点に対応する点の、入力画像230上の位置が第2位置である場合、動きベクトルMV[i]は、第1位置を始点とし第2位置を終点とするベクトルとなる。
動き検出部52は、入力画像が取得される度に、最新の2枚の入力画像に対してオプティカルフロー検出を行う。動き検出部52は、ベクトルMV[1]〜MV[9]を表す情報を動き検出情報に含め、該動き検出情報を手ぶれ検出部53及びFP歪み検出部54に送る。
入力画像220及び230に対して求められた動きベクトルMV[i]は、入力画像220及び230の撮影期間中における撮像装置1の動きの向き及び大きさに依存するベクトル量であると共に、入力画像220及び230の撮影期間中における被写体の動きの向き及び大きさに依存するベクトル量でもある(ここにおける撮像装置1の動き及び被写体の動きは、実空間上における動きを指す)。従って、動き検出部52は、実空間上における撮像装置1の動きを検出する部位とも言えるし、実空間上における被写体の動きを検出する部位とも言える。
図5の手ぶれ検出部53は、動き検出情報から撮像装置1の動きを検出し、撮像装置1の動きに起因する画像ぶれ(像のぶれ)が出力画像上で生じないようにするための手ぶれ補正ベクトルを算出する。撮像装置1の動きとは、撮像装置1を把持するユーザの手ぶれ等によって引き起こされる。従って、本実施形態では、撮像装置1の動きを手ぶれとも称する。入力画像In-1及びInに対する動き検出情報から入力画像Inに対する手ぶれ補正ベクトルが算出され、入力画像In及びIn+1に対する動き検出情報から入力画像In+1に対する手ぶれ補正ベクトルが算出される(それら以外の入力画像についても同様)。
尚、実空間上において撮像装置1の撮影範囲に収まる全被写体が同じ速度で同じ方向に動いたならば撮像装置1が静止していたとしても、入力画像列において手ぶれが生じた場合と同様の画像変化が表れる。これを考慮すれば、手ぶれ検出部53は、撮影範囲に収まる全被写体の動きを動き検出情報から検出するものであるとも言え、且つ、手ぶれ補正ベクトルは、その全被写体の動きに起因する画像ぶれ(像のぶれ)が出力画像上で生じないようにするためのベクトルであるとも言える(但し、これは、センサ部56を利用する後述の第8及び第9実施例には当てはまらない)。以下の説明では、説明の簡略化等を考慮して、空間上において撮像装置1の撮影範囲に収まる全被写体が同じ速度で同じ方向に動くという状況を無視し、手ぶれ検出部53が、動き検出情報から撮像装置1の動きを検出して、撮像装置1の動きに起因する画像ぶれ(像のぶれ)が出力画像上で生じないようにするための手ぶれ補正ベクトルを算出する、と考える。
図10は、手ぶれ検出部53による手ぶれ補正ベクトルの算出方法及びFP歪み検出部54による歪み補正ベクトルの算出方法の概念図である。図10に示す如く、入力画像230に対する手ぶれ補正ベクトル241は、入力画像220及び230に対して求められた動きベクトルMV[1]〜MV[9]の平均ベクトルである。手ぶれ補正ベクトル241は、入力画像220及び230の撮影期間中における撮像装置1の動きの向き及び大きさ(より詳細には例えば、入力画像220の露光期間の中間時点と入力画像230の露光期間の中間時点との間における撮像装置1の動きの向き及び大きさ)を表すベクトルの逆ベクトルとして求められる。図10に例示される右向きの手ぶれ補正ベクトル241は、入力画像220及び230の撮影期間中に撮像装置1が左方向に振られたときに得られる。
図5のFP歪み検出部54は、動き検出情報から入力画像に生じているFP歪みを検出し、そのFP歪みを打ち消すための歪み補正ベクトルを算出する。入力画像In-1及びInに対する動き検出情報から入力画像Inに対する歪み補正ベクトルが算出され、入力画像In及びIn+1に対する動き検出情報から入力画像In+1に対する歪み補正ベクトルが算出される(それら以外の入力画像についても同様)。
図10を参照して、入力画像230に対する歪み補正ベクトルの算出方法を説明する。まず、FP歪み検出部54は、入力画像220及び230に対して求められた動きベクトルMV[1]〜MV[9]に基づき、動きベクトルMV[1]〜MV[3]の平均ベクトル251、動きベクトルMV[4]〜MV[6]の平均ベクトル252及び動きベクトルMV[7]〜MV[9]の平均ベクトル253を求める。つまり、水平方向に並ぶ動き検出ブロックBL[i+1]〜BL[i+3]の合成領域についての動きベクトルを、MV[i+1]〜MV[i+3]を平均化することで求める。ベクトル251、252及び253は、夫々、BL[1]〜BL[3]の合成領域261、BL[4]〜BL[6]の合成領域262及びBL[7]〜BL[9]の合成領域263に対する動きベクトルである。
FP歪み検出部54は、ベクトル251を、合成領域261の中心を通る水平ライン271に対する歪み補正ベクトルであるとみなす。同様に、ベクトル252を、合成領域262の中心を通る水平ライン272に対する歪み補正ベクトルであるとみなすと共に、ベクトル253を、合成領域263の中心を通る水平ライン273に対する歪み補正ベクトルであるとみなす。図10には、水平ライン271〜273の一部が一点鎖線にて示されている。
その上で、歪み補正ベクトル251〜253に基づき、補間を用いて水平ラインごとの歪み補正ベクトルを求める。補間の方法として、線形補間に代表される任意の補間の方法を用いることができる。ここでは、線形補間を用いることを想定する。そうすると、例えば、水平ライン271及び272間の中間に位置する水平ラインに対する歪み補正ベクトルは、歪み補正ベクトル251及び252の平均ベクトルとされ、水平ライン272及び273間の中間に位置する水平ラインに対する歪み補正ベクトルは、歪み補正ベクトル252及び253の平均ベクトルとされる。入力画像の最上部に位置する第1水平ラインについての歪み補正ベクトルVTOPの大きさはゼロとされる。従って例えば、第1水平ライン及び水平ライン271間の中間に位置する水平ラインに対する歪み補正ベクトルは、歪み補正ベクトルVTOP及び251の平均ベクトルとされる。入力画像において水平ライン273よりも下方側に位置する各水平ラインの歪み補正ベクトルは、歪み補正ベクトル252及び253に基づく線形補間によって求められる。
上述の補間の結果、入力画像230に対して、水平ラインの本数分の歪み補正ベクトルが求められる。全ての水平ラインに対して求められた全ての歪み補正ベクトルを、まとめて歪み補正情報とも呼ぶ。尚、上述の例では、1つの水平ラインごとに1つの歪み補正ベクトルが求められているが、複数の水平ラインごとに1つの歪み補正ベクトルを求めるようにしても構わない。
図5の補正処理部55は、手ぶれ補正ベクトル及び歪み補正情報に基づき、撮像装置1の動きに起因する画像ぶれ(像のぶれ)が出力画像上で生じないようにするためのぶれ補正処理及びFP歪みを低減するためのFP歪み補正処理を実行することで、入力画像から出力画像を生成する。出力画像を外部メモリ18に記録することができると共に表示部27に表示することができる。
図11を参照して、補正処理部55によるぶれ補正処理及びFP歪み補正処理の動作を説明する。入力画像Iiにぶれ補正処理及びFP歪み補正処理を施すことで得られた出力画像を記号IOiによって参照する(上述したようにiは、整数であって、1、2、・・・、n−1、n、n+1、・・・の何れにもなりうる)。
補正処理部55は、各入力画像に対して手ぶれ補正用の基準枠を設定した後、基準枠をFP歪み補正用に変形させる。この変形後の基準枠を抽出枠と呼ぶ。基準枠の外形は矩形であるが、抽出枠の外形は矩形とは限らない。入力画像Iiに対して設定された基準枠を記号Faiによって参照し、入力画像Iiに対して設定された抽出枠を記号Fbiによって参照する。水平及び垂直方向の夫々において基準枠の大きさは入力画像の大きさよりも小さく、且つ、基準枠の全体は常に入力画像の全体画像領域内に収まる。従って、基準枠Fai内の画像は、入力画像Iiの一部の画像である。即ち、基準領域とも言うべき、基準枠Fai内の画像領域は、入力画像Iiの全体画像領域の一部である。異なる入力画像間において、基準枠の大きさは一定であるとする。
1番目の入力画像に対する基準枠の中心位置は入力画像の中心位置と一致している。今、入力画像In-1に対する基準枠Fan-1及び抽出枠Fbn-1が既に定まっていることを前提として、入力画像Inに対する基準枠Fan及び抽出枠Fbnの設定方法を説明する。補正処理部55は、入力画像In-1及びIn間のオプティカルフロー検出に基づいて得られた入力画像Inに対する手ぶれ補正ベクトルVCnと、入力画像In-1上における基準枠Fan-1の中心位置301とに基づいて、入力画像In上における基準枠Fanの中心位置302を決定する。この際、中心位置301を手ぶれ補正ベクトルVCnの向きに手ぶれ補正ベクトルVCnの大きさだけ移動させた位置が中心位置302として設定される。これにより、基準枠Fan-1内の画像と基準枠Fan内の画像とから成る画像列上において、撮像装置1の動きに起因する画像ぶれはなくなる(但し、検出誤差等を無視)。つまり、撮像装置1の動きに起因する画像ぶれが出力画像列上において打ち消されるように基準枠の位置が調整され、この調整によって上記ぶれ補正処理が実現される。
基準枠Fanの設定後、補正処理部55は、入力画像In-1及びIn間のオプティカルフロー検出に基づいて得られた入力画像Inに対する歪み補正情報FCnに基づき、基準枠Fanを変形させることで抽出枠Fbnを設定する。この変形の方法は、入力画像に水平方向のFP歪み(以下、水平FP歪みという)が発生している場合と、入力画像に垂直方向のFP歪み(以下、垂直FP歪みという)が発生している場合とで異なる。水平FP歪みは、入力画像の露光期間中に撮像装置1を水平方向に動かした場合又はヨー方向に回転させた場合に生じ、垂直FP歪みは、入力画像の露光期間中に撮像装置1を垂直方向に動かした場合又はピッチ方向に回転させた場合に生じる。
ここで、図12(a)〜(c)を用いてFP歪みの現れ方について説明する。実空間上において垂直方向に伸びる棒状被写体を撮像装置1にて撮影することで入力画像が取得されることを考える。棒状被写体は、実空間上で静止しているものとする。図12(a)の画像310は、入力画像の露光期間中に撮像装置1が静止していた場合に得られる入力画像であり、図12(b)の画像320は、入力画像の露光期間中に撮像装置1が左方向に動いた場合に得られる入力画像であり、図12(c)の画像330は、入力画像の露光期間中に撮像装置1が上方向に動いた場合に得られる入力画像である。入力画像320の露光期間中における撮像装置1の水平方向(本例では左方向)の動きにより、入力画像320上において棒状被写体は傾く。入力画像330の露光期間中における撮像装置1の上方向の動きにより、入力画像310との比較において、棒状被写体は入力画像330上において垂直方向に伸びる。尚、周囲の如く、入力画像の露光期間中に撮像装置1が下方向に動いたのならば、得られた入力画像上で棒状被写体は本来の姿よりも縮んで現れることとなる。入力画像320に生じているような、入力画像310を水平方向に歪ませるFP歪みが水平FP歪みであり、入力画像330に生じているような、入力画像310を垂直方向に歪ませるFP歪みが垂直FP歪みである。図11に示す例では、入力画像Inに水平FP歪みのみが発生していることが想定されている。
図13(a)及び(b)を参照し、入力画像Inに水平FP歪みのみが発生している場合の抽出枠Fbnの設定方法を説明する。水平FP歪みのみが発生している入力画像Inを入力画像350と呼び、入力画像350に設定される基準枠及び抽出枠を夫々符号351及び352によって参照する。矩形形状を有する基準枠351の上辺及び下辺は水平ラインに平行であり、基準枠351の右辺及び左辺は垂直ラインに平行である。図13(b)に示す如く、基準枠351の上辺及び下辺に沿った水平ラインが夫々第p及び第(p+q)水平ラインであるとする(p及びqは整数であって、1<p<p+q<M;図3参照)。
第i水平ラインに対する歪み補正ベクトルをFViにて表す。補正処理部55は、入力画像350に対する歪み補正情報から第p〜第(p+q)水平ラインに対する歪み補正ベクトルFVp〜FVp+qを抽出し、抽出した歪み補正ベクトルFVp〜FVp+qを用いて基準枠351を水平方向に変形することで抽出枠352を形成する。図13(a)に示す例では、入力画像350の露光期間中に撮像装置1が左方向へ動いたことが想定されており、この結果、入力画像350に対する歪み補正ベクトルは何れも右向きとなっている。また、抽出枠352の形状は平行四辺形以外にもなりうるが、本例では、抽出枠352の形状が平行四辺形になったことを想定している(水平FP歪みのみを含む、他の入力画像に対する抽出枠についても同様)。
基準枠351と同様、抽出枠352の上辺及び下辺は水平ラインに平行であって、抽出枠352の上辺及び下辺に沿った水平ラインは夫々第p及び第(p+q)水平ラインである。尚、基準枠351と抽出枠352を区別して示すため、図13(a)では両者の枠を上下に若干ずらして示している(後述の図17(a)等においても同様)。抽出枠352の左辺及び右辺と第p水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第p水平ラインとの交点位置から歪み補正ベクトルFVpの向きに歪み補正ベクトルFVpの大きさだけ移動した位置である。同様に、抽出枠352の左辺及び右辺と第(p+1)水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第(p+1)水平ラインとの交点位置から歪み補正ベクトルFVp+1の向きに歪み補正ベクトルFVp+1の大きさだけ移動した位置である。第(p+2)〜第(p+q)水平ラインについても同様である。
基準枠351の右辺と入力画像350の外枠の右辺との距離又は基準枠351の左辺と入力画像350の外枠の左辺との距離を、補正限界量HLIMと呼ぶ。補正限界量HLIMは、水平方向のFP歪みに対する補正限界量(換言すれば、水平方向のFP歪み補正の限界量)である。このように、補正限界量HLIMは、入力画像350の外枠と基準枠351との位置関係から規定される。有効画素領域33Aが矩形領域であることに対応して(図3参照)、入力画像の外枠は矩形である。また、説明の簡略化上、特に記述なき限り、本実施形態では、水平FP歪みの発生時における歪み補正ベクトルとして、右向きの歪み補正ベクトルのみを考える。基準枠351から抽出枠352を設定するために用いられる歪み補正ベクトルの向きが右向きであるときには、基準枠351の右辺と入力画像350の外枠の右辺との距離が補正限界量HLIMであり、それが左向きであるときには、基準枠351の左辺と入力画像350の外枠の左辺との距離が補正限界量HLIMである。従って、入力画像350に対しては、前者の距離が補正限界量HLIMとなる(図13(b)参照)。
歪み補正ベクトルFVp〜FVp+qの内、最大の大きさを有する歪み補正ベクトルの大きさを基準歪み補正量HREFと呼ぶ。図13(a)に示す例では、歪み補正ベクトルFVp+qの大きさが基準歪み補正量HREFとなっている。基準歪み補正量HREFは、水平方向のFP歪みを補正する時における基準の補正量(換言すれば、動き検出情報から定まる、水平FP歪みの歪み補正量の基準値)を表す。
基準歪み補正量HREFが補正限界量HLIM以下である時、補正処理部55は、抽出枠352をそのまま用い、入力画像350を保存したメモリ領域51Aから抽出枠352内の画像の画像データを読み出すことで、入力画像350としての入力画像Inに対する出力画像IOnを得る(HREF>HLIMの場合の動作は後述)。この際、出力画像IOnが矩形画像となるように、各画素の座標変換を伴いつつ画像データを読み出すと良い。上述の如くして得られた、入力画像350に基づく出力画像IOnには、入力画像350に含まれていた水平FP歪みが存在しない(但し、補正誤差等を無視)。つまり、歪み補正ベクトルに基づく抽出枠352の設定及び抽出枠352内の画像の切り出しによって、水平FP歪みに対するFP歪み補正処理が実現されている。
図14(a)及び(b)を参照し、入力画像Inに垂直FP歪みのみが発生している場合の抽出枠Fbnの設定方法を説明する。垂直FP歪みのみが発生している入力画像Inを入力画像370と呼び、入力画像370に設定される基準枠及び抽出枠を夫々符号371及び372によって参照する。入力画像370に設定される基準枠371は、入力画像350に設定される基準枠351と同じものであるとする(図13(a)及び(b)参照)。従って、図14(b)に示す如く、基準枠371の上辺及び下辺に沿った水平ラインは夫々第p及び第(p+q)水平ラインである。
補正処理部55は、入力画像370に対する歪み補正情報から第(p+q)水平ラインに対する歪み補正ベクトルFVp+qを抽出し、抽出した歪み補正ベクトルFVp+qを用いて基準枠371を垂直方向に伸張又は縮小することで抽出枠372を形成する。歪み補正ベクトルFVp+qの向きが下向きであるとき、基準枠371は垂直方向に伸張され、それが上向きであるとき、基準枠371は垂直方向に縮小される。図14(a)に示す例では、入力画像370の露光期間中に撮像装置1が上方向へ動いたことが想定されており、この結果、入力画像370に対する歪み補正ベクトルFVp+qは下向きとなっている。故に、基準枠371が垂直方向に伸張されることで抽出枠372が形成される。
基準枠371と同様、抽出枠372の上辺及び下辺は水平ラインに平行であって、且つ、抽出枠372の外形形状は矩形である。また、基準枠371と抽出枠372の左辺同士は重なり合い、基準枠371と抽出枠372の右辺同士は重なり合う。更に、図14(a)に示す例では、説明の簡略化上、入力画像370に対して求められた第1〜第p水平ラインについての歪み補正ベクトルFV1〜FVpの大きさは全てゼロであるとする。仮に、それらの大きさがゼロでないのであれば、抽出枠372の上辺位置は基準枠371の上辺位置と異なってくるのであるが、今、それがゼロであることを考えるため、抽出枠372の上辺は基準枠371の上辺と一致している。尚、基準枠371及び抽出枠372を区別して示すため、図14(a)では、両者の枠を本来位置から若干ずらして示している(後述の図21(a)等においても同様)。
抽出枠372の下辺は、基準枠371の下辺を歪み補正ベクトルFVp+qの向きに歪み補正ベクトルFVp+qの大きさだけ移動したものである。
基準枠371の下辺と入力画像370の外枠の下辺との距離又は基準枠371の上辺と入力画像370の外枠の上辺との距離を、補正限界量VLIMと呼ぶ。補正限界量VLIMは、垂直方向のFP歪みに対する補正限界量(換言すれば、垂直方向のFP歪み補正の限界量)である。このように、補正限界量VLIMは、入力画像370の外枠と基準枠371との位置関係から規定される。説明の簡略化上、特に記述なき限り、本実施形態では、垂直FP歪みの発生時における歪み補正ベクトルとして、下向きの歪み補正ベクトルのみを考える。基準枠371から抽出枠372を設定するために用いられる歪み補正ベクトルの向きが下向きであるときには、基準枠371の下辺と入力画像370の外枠の下辺との距離が補正限界量VLIMであり、それが上向きであるときには、基準枠371の上辺と入力画像370の外枠の上辺との距離が補正限界量VLIMである。従って、従って、入力画像370に対しては、前者の距離が補正限界量VLIMとなる(図14(b)参照)。
また、歪み補正ベクトルFVp+qの大きさと一致する、基準枠371の下辺と抽出枠372の下辺との距離を基準歪み補正量VREFと呼ぶ。基準歪み補正量VREFは、垂直方向のFP歪みを補正する時における基準の補正量(換言すれば、動き検出情報から定まる、垂直FP歪みの歪み補正量の基準値)を表す。
基準歪み補正量VREFが補正限界量VLIM以下である時、補正処理部55は、抽出枠372をそのまま用い、入力画像370を保存したメモリ領域51Aから抽出枠372内の画像の画像データを読み出すことで、抽出枠372内の画像を入力画像370から切り出す(VREF>VLIMの場合の動作は後述)。この切り出しによって得られた画像を抽出画像382と呼ぶ(図15参照)。この後、抽出画像382の画像サイズが基準枠371内の画像381の画像サイズと同じとなるように抽出画像382の画像サイズを垂直方向に縮小し、縮小後の抽出画像382’を、入力画像370としての入力画像Inに対する出力画像IOnとする。上述の如くして得られた、抽出画像382’としての出力画像IOnには、入力画像370に含まれていた垂直FP歪みが存在しない(但し、補正誤差等を無視)。つまり、歪み補正ベクトルに基づく抽出枠372の設定及び抽出枠372内の画像の縮小によって、垂直FP歪みに対するFP歪み補正処理が実現されている。
抽出画像382から抽出画像382’を得るための縮小は、入力画像370に対する歪み補正ベクトルFVp〜FVp+qに基づいて行われる。即ち、図12(c)の入力画像330が入力画像370であると考えた場合、図12(a)の入力画像310の基準枠内の画像が垂直FP歪みにより抽出画像382へと歪んだこととなり、この歪みは入力画像310の基準枠内の画像を抽出画像382に変換する幾何学的変換であると考えることできる。そして、この幾何学的変換の内容は入力画像370の歪み補正ベクトルFVp〜FVp+qによって規定されている。従って、入力画像370の歪み補正ベクトルFVp〜FVp+qに基づき、抽出画像382に対して上記幾何学的変換の逆変換を行うことができ、この逆変換によって出力画像IOnとしての抽出画像382’を得ることができる。第i水平ラインを歪み補正ベクトルFViの向きに歪み補正ベクトルFViの大きさだけ移動した水平ラインが第iA水平ラインであるとすると、入力画像370の第i水平ラインを第iA水平ラインに変換する幾何学的変換の逆変換を抽出画像382に対して施すことで抽出画像382’が得られる。例えば、入力画像370の露光期間中に継続的に撮像装置1が上方向に動いていたのならば、図16に示す如くiが大きいほど歪み補正ベクトルFViの大きさが大きくなるので、結果、抽出画像382の下方側の画像部分ほど縮小度合いが大きくなり、抽出画像382の上方側の画像部分ほど縮小度合いが小さくなる。
尚、垂直FP歪みの発生時における歪み補正ベクトルとして、上向きの歪み補正ベクトルが得られた場合には、入力画像に設定した抽出枠内の画像を垂直方向に伸張することで出力画像が得られる。
また、水平FP歪みの発生時におけるFP歪み補正処理及び垂直FP歪みの発生時におけるFP歪み補正処理を別個に説明したが、入力画像Inに水平FP歪みと垂直FP歪みが発生している場合には、水平FP歪みと垂直FP歪みが共に補正されることで出力画像が生成される(後述の各実施例においても同様)。この際、水平FP歪みと垂直FP歪みを同時に補正するようにしても良いし、水平FP歪みと垂直FP歪みを順番に補正するようにしても良い。
撮像装置1における上述の動作を基本動作と呼ぶ。ところで、基本動作だけでは、基準歪み補正量HREFが補正限界量HLIMよりも大きい場合に問題が生じる。図13(a)及び(b)の例における基準歪み補正量HREFは歪み補正ベクトルFVp+qの大きさであるが、それが距離HLIMよりも大きければ抽出枠352の一部が入力画像350の外枠からはみ出すからである。同様に、上述のFP歪み補正処理だけでは、基準歪み補正量VREFが補正限界量VLIMよりも大きい場合に問題が生じる。図14(a)及び(b)の例における基準歪み補正量VREFは歪み補正ベクトルFVp+qの大きさであるが、それが距離VLIMよりも大きければ抽出枠372の一部が入力画像370の外枠からはみ出すからである。
補正処理部55は、不等式「HREF>HLIM」又は「VREF>VLIM」が成立する時、基本動作と異なる特異な動作を行うことで、FP歪みの補正を行う。以下、この特異な動作、基本動作の変形例又は画像補正機能部の構成の変形例を説明する実施例として、第1〜第9実施例を説明する。後述の各実施例において、特に述べない事項に関しては、矛盾が生じない限り、上述の基本動作の説明が適用される。従って、後述の各実施例において、不等式「HREF≦HLIM」が成立する時の水平FP歪みに対するFP歪み補正処理は、基本動作の通りであり、不等式「VREF≦VLIM」が成立する時の垂直FP歪みに対するFP歪み補正処理は、基本動作の通りである。また、矛盾なき限り、或る実施例に記載した事項と他の実施例に記載した事項を組み合わせて実施することも可能である。
<<第1実施例>>
第1実施例を説明する。第1実施例では、水平FP歪みのみを含む入力画像350(図13(a)参照)が得られた場合において不等式「HREF>HLIM」が成立することを想定し、この想定下におけるFP歪み補正処理を説明する。
図17(a)には、不等式「HREF>HLIM」が成立する時に、動き検出情報に基づき、入力画像350に対して設定される抽出枠352aが示されている。図17(a)において、入力画像350及び基準枠351は、図13(a)及び(b)に示すものと同じである。従って、入力画像350に対する歪み補正ベクトルFVp〜FVp+qの内、最大の大きさを有する歪み補正ベクトルの大きさが基準歪み補正量HREFである。抽出枠352aの形成方法は、基本動作にて述べた通りである。即ち、入力画像350に対する歪み補正情報から第p〜第(p+q)水平ラインに対する歪み補正ベクトルFVp〜FVp+qを抽出し、抽出した歪み補正ベクトルFVp〜FVp+qを用いて基準枠351を水平方向に変形することで抽出枠352aを形成する。尚、上述したように且つ図17(a)にも示されているように、水平FP歪みの発生時における歪み補正ベクトルの向きは右向きであるとする。
図13(a)に示した例では、不等式「HREF≦HLIM」が成立するため、即ち、水平方向の歪み補正量とも言うべき基準歪み補正量HREFが補正限界量HLIM以下であるため、入力画像350の外枠内に抽出枠352が収まる。しかしながら、第1実施例の想定下では、不等式「HREF>HLIM」が成立するため、図17(a)に示す如く、抽出枠352aが入力画像350の外枠内に収まりきらず、抽出枠352aの一部が入力画像350の外枠からはみ出している。
はみ出した部分には画像データが存在しないため、抽出枠352aをそのまま用いて出力画像を生成するわけにはいかない(抽出枠352aをそのまま用いると、補正が破綻するとも言える)。
そこで、補正処理部55は、不等式「HREF>HLIM」が成立する場合、修正係数(HLIM/HREF)を用いて各歪み補正ベクトルを修正することで抽出枠の修正を行う。即ち、式「FVi’=FVi×(HLIM/HREF)」に従って歪み補正ベクトルFVp〜FVp+qを修正することで歪み補正ベクトルFVp’〜FVp+q’を求め、歪み補正ベクトルFVp’〜FVp+q’を用いて基準枠351を水平方向に変形することで、図17(b)の抽出枠352bを形成する。図17(b)に示す如く、抽出枠352bの外形の最右端は入力画像350の外枠の右辺と接触し、入力画像350の外枠内に抽出枠352bの全てが収まっている。
基準枠351及び抽出枠352と同様、抽出枠352bの上辺及び下辺は水平ラインに平行であって、抽出枠352bの上辺及び下辺に沿った水平ラインは夫々第p及び第(p+q)水平ラインである。抽出枠352bの左辺及び右辺と第p水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第p水平ラインとの交点位置から歪み補正ベクトルFVp’の向きに歪み補正ベクトルFVp’の大きさだけ移動した位置である。同様に、抽出枠352bの左辺及び右辺と第(p+1)水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第(p+1)水平ラインとの交点位置から歪み補正ベクトルFVp+1’の向きに歪み補正ベクトルFVp+1’の大きさだけ移動した位置である。第(p+2)〜第(p+q)水平ラインについても同様である。
補正処理部55は、入力画像350を保存したメモリ領域51Aから抽出枠352b内の画像の画像データを読み出すことで、入力画像350としての入力画像Inに対する出力画像IOnを得る。この際、出力画像IOnが矩形画像となるように、各画素の座標変換を伴いつつ画像データを読み出すと良い。
不等式「HREF≦HLIM」が成立する場合には、上述の基本動作によって、動き検出情報にて指し示されている水平FP歪みの全部が入力画像350から除去されて出力画像が生成される。これに対し、不等式「HREF>HLIM」の成立を想定した第1実施例では、動き検出情報にて指し示されている水平FP歪みの一部のみが入力画像350から除去されて出力画像が生成されることになる。
第1実施例によれば、FP歪みの一部が出力画像に残存することにはなるが、不等式「HREF>HLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。
<<第2実施例>>
第2実施例を説明する。第2実施例は、第1実施例を変形したものであり、第2実施例にて特に述べない事項に関しては、第1実施例の記載が第2実施例にも適用される。基準枠351及び抽出枠352aが定義された入力画像350(図17(a))が得られた場合を考える。以下、第1実施例との相違点のみ説明する。
第2実施例における補正処理部55は、不等式「HREF>HLIM」が成立する場合、入力画像350の外枠内に抽出枠352aがちょうど収まるように、抽出枠352aを平行移動する。即ち、入力画像350上において抽出枠352aを距離(HREF−HLIM)だけ左方向に平行移動させる。この平行移動後の抽出枠352aを抽出枠352cと呼ぶ。図18(a)に示す如く、抽出枠352cの外形の最右端は入力画像350の外枠の右辺と接触し、入力画像350の外枠内に抽出枠352cの全てが収まっている。
この方法は、入力画像350上において基準枠351を距離(HREF−HLIM)だけ左方向に平行移動させる方法であるとも言える。図18(b)の基準枠351cは、入力画像350上において基準枠351を距離(HREF−HLIM)だけ左方向に平行移動させた枠である。このように考えたとしても、結局、得られる抽出枠352cは不変である。
補正処理部55は、入力画像350を保存したメモリ領域51Aから抽出枠352c内の画像の画像データを読み出すことで、入力画像350としての入力画像Inに対する出力画像IOnを得る。この際、出力画像IOnが矩形画像となるように、各画素の座標変換を伴いつつ画像データを読み出すと良い。
不等式「HREF≦HLIM」が成立する場合には、上述の基本動作によって、動き検出情報にて指し示されている水平FP歪みの全部を除去するためのFP歪み補正処理と、動き検出情報にて指し示されている手ぶれ(撮像装置1の動きによる画像ぶれ)の全部を除去するためのぶれ補正処理とが入力画像350に成されることで出力画像が得られる。これに対し、不等式「HREF>HLIM」の成立を想定した第2実施例では、ぶれ補正を犠牲にして水平FP歪みの除去を確保する。即ち、動き検出情報にて指し示されている水平FP歪みの補正が可能となるように(HREF分のFP歪み補正が可能となるように)ぶれ補正処理による画像ぶれの補正量を変更してから、FP歪み補正処理及びぶれ補正処理を介して出力画像が生成されることなる。第2実施例において、画像ぶれの補正量の変更量は、距離(HREF−HLIM)である。
第2実施例によれば、手ぶれ成分の一部(場合によっては、手ぶれ成分の全部)が出力画像に残存することにはなるが、不等式「HREF>HLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。
<<第3実施例>>
第3実施例を説明する。第3実施例は、第1実施例を基礎とする実施例であり、第3実施例にて特に述べない事項に関しては、第1実施例の記載が第3実施例にも適用される。基準枠351及び抽出枠352aが定義された入力画像350(図17(a))が得られた場合を考える。第3実施例では、不等式「HREF>HLIM」が成立する場合に、第1実施例の方法と第2実施例の方法を組み合わせて出力画像を生成する。
具体的には例えば、不等式「HREF>HLIM」が成立する場合、修正係数(HLIM/HREF)及びkを用いて各歪み補正ベクトルを修正する。ここで、kは「0≦k≦1」を満たす。即ち、式「FVi’’=k×FVi×(HLIM/HREF)+(1−k)×FVi」に従って歪み補正ベクトルFVp〜FVp+qを修正することで歪み補正ベクトルFVp’’〜FVp+q’’を求め、歪み補正ベクトルFVp’’〜FVp+q’’を用いて基準枠351を水平方向に変形することで、図19(a)の抽出枠352dを形成する。
基準枠351及び抽出枠352と同様、抽出枠352dの上辺及び下辺は水平ラインに平行であって、抽出枠352dの上辺及び下辺に沿った水平ラインは夫々第p及び第(p+q)水平ラインである。抽出枠352dの左辺及び右辺と第p水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第p水平ラインとの交点位置から歪み補正ベクトルFVp’’の向きに歪み補正ベクトルFVp’’の大きさだけ移動した位置である。同様に、抽出枠352dの左辺及び右辺と第(p+1)水平ラインとの交点位置は、夫々、基準枠351の左辺及び右辺と第(p+1)水平ラインとの交点位置から歪み補正ベクトルFVp+1’’の向きに歪み補正ベクトルFVp+1’’の大きさだけ移動した位置である。第(p+2)〜第(p+q)水平ラインについても同様である。
今、0<kである場合を考える。そうすると、図19(a)に示す如く、抽出枠352dの一部は依然として入力画像350の外枠からはみ出す。入力画像350の外枠の右辺から入力画像350の右側へとはみ出す抽出枠352dのはみ出し量は、kの値に依存する。
補正処理部55は、入力画像350の外枠内に抽出枠352dがちょうど収まるように、抽出枠352dを平行移動する。即ち、入力画像350上において抽出枠352dを上記はみ出し量分だけ左方向に平行移動させる。この平行移動後の抽出枠352dを抽出枠352eと呼ぶ。図19(b)に示す如く、抽出枠352eの外形の最右端は入力画像350の外枠の右辺と接触し、入力画像350の外枠内に抽出枠352eの全てが収まっている。
この方法は、基準枠351を上記はみ出し量分だけ左方向に平行移動させる方法であるとも言える。図19(b)の基準枠351eは、入力画像350上において基準枠351を上記はみ出し量分だけ左方向に平行移動させた枠である。このように考えたとしても、結局、得られる抽出枠352eは不変である。
補正処理部55は、入力画像350を保存したメモリ領域51Aから抽出枠352e内の画像の画像データを読み出すことで、入力画像350としての入力画像Inに対する出力画像IOnを得る。この際、出力画像IOnが矩形画像となるように、各画素の座標変換を伴いつつ画像データを読み出すと良い。
このように、不等式「HREF>HLIM」且つ「0<k<1」の成立時には、第1実施例と同様、動き検出情報にて指し示されている水平FP歪みの一部のみが入力画像350から除去されて出力画像が生成されることになり、第2実施例と同様、ぶれ補正処理による画像ぶれの補正量が変更されてから、FP歪み補正処理及びぶれ補正処理を介して出力画像が生成されることなる。
第3実施例によれば、0<k<1の場合、FP歪みの一部及び手ぶれ成分の一部が出力画像に残存することにはなるが、不等式「HREF>HLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。k=1の場合における第3実施例の動作は、第1実施例のそれと同じであり、k=0の場合における第3実施例の動作は、第2実施例のそれと同じである。
kの値は、予め定めておいた固定値であっても良いが、様々な指標に応じてkの値を「0≦k≦1」を満たす範囲内で変化させても良い。例えば、入力画像350に対する手ぶれの大きさに応じてkの値を変化させても良い。即ち例えば、入力画像350に対する手ぶれの大きさが比較的大きい場合には入力画像350に含まれるFP歪みが比較的大きいことが想定されるため、ぶれ補正よりもFP歪み補正を優先すべく、kの値を比較的小さくしても良い。逆に、入力画像350に対する手ぶれの大きさが比較的小さい場合には入力画像350に含まれるFP歪みが比較的小さいことが想定されるため、FP歪み補正よりもぶれ補正を優先すべく、kの値を比較的大きくしても良い。
実際の処理としては、以下のようにすると良い。即ち例えば、図20に示す如く、入力画像350に対する手ぶれ補正ベクトルを参照し、該手ぶれ補正ベクトルの大きさが大きくなるに従ってkの値を小さく設定する。参照した手ぶれ補正ベクトルの大きさが所定の第1基準値VTH1よりも小さければkの値を1に設定するようにしても良いし、参照した手ぶれ補正ベクトルの大きさが所定の第2基準値VTH2よりも大きければkの値を0に設定するようにしても良い。ここで、0<VTH1<VTH2である。
<<第4実施例>>
第4実施例を説明する。第4実施例の方法は、第1実施例の方法を垂直FP歪みの補正に適用したものである。同様に、後述の第5及び第6実施例の方法は、第2及び第3実施例の方法を垂直FP歪みの補正に適用したものである。
第4実施例では、垂直FP歪みのみを含む入力画像370(図14(a)参照)が得られた場合において不等式「VREF>VLIM」が成立することを想定し、この想定下におけるFP歪み補正処理を説明する。
図21(a)には、不等式「VREF>VLIM」が成立する時に、動き検出情報に基づき、入力画像370に対して設定される抽出枠372aが示されている。図21(a)において、入力画像370及び基準枠371は、図14(a)及び(b)に示すものと同じである。従って、入力画像370に対する歪み補正ベクトルFVp+qの大きさが基準歪み補正量VREFである。抽出枠372aの形成方法は、基本動作にて述べた通りである。即ち、補正処理部55は、入力画像370に対する歪み補正情報から第(p+q)水平ラインに対する歪み補正ベクトルFVp+qを抽出し、抽出した歪み補正ベクトルFVp+qを用いて基準枠371を垂直方向に伸張又は縮小することで抽出枠372aを形成する。尚、上述したように且つ図21(a)にも示されているように、垂直FP歪みの発生時における歪み補正ベクトルの向きは下向きであるとする。故に、基準枠371が垂直方向に伸張されることで抽出枠372aが形成される。
図14(a)に示した例では、不等式「VREF≦VLIM」が成立するため、即ち、垂直方向の歪み補正量とも言うべき基準歪み補正量VREFが補正限界量VLIM以下であるため、入力画像370の外枠内に抽出枠372が収まる。しかしながら、第4実施例の想定下では、不等式「VREF>VLIM」が成立するため、図21(a)に示す如く、抽出枠372aが入力画像370の外枠内に収まりきらず、抽出枠372aの一部が入力画像370の外枠からはみ出している。
はみ出した部分には画像データが存在しないため、抽出枠372aをそのまま用いて出力画像を生成するわけにはいかない(抽出枠372aをそのまま用いると、補正が破綻するとも言える)。
そこで、補正処理部55は、不等式「VREF>VLIM」が成立する場合、修正係数(VLIM/VREF)を用いて各歪み補正ベクトルを修正することで抽出枠の修正を行う。即ち、式「FVi’=FVi×(VLIM/VREF)」に従って歪み補正ベクトルFVp〜FVp+qを修正することで歪み補正ベクトルFVp’〜FVp+q’を求め、歪み補正ベクトルFVp+q’を用いて基準枠371を垂直方向に伸張することで、図21(b)の抽出枠372bを形成する。図21(b)に示す如く、抽出枠372bの下辺は入力画像370の外枠の下辺と重なり合い、入力画像370の外枠内に抽出枠372bの全てが収まっている。尚、両者の下辺を区別して示すべく、図21(b)では、両者の下辺を上下に若干ずらして示している(後述の図22等においても同様)。
基準枠371及び抽出枠372と同様、抽出枠372bの上辺及び下辺は水平ラインに平行であって、且つ、抽出枠372bの外形形状は矩形である。また、基準枠371と抽出枠372bの左辺同士は重なり合い、基準枠371と抽出枠372bの右辺同士は重なり合う。更に、説明の簡略化上、入力画像370に対して求められた第1〜第p水平ラインについての歪み補正ベクトルFV1〜FVpの大きさは全てゼロであるとする。仮に、それらの大きさがゼロでないのであれば、抽出枠372bの上辺位置は基準枠371の上辺位置と異なってくるのであるが、今、それがゼロであることを考えるため、抽出枠372bの上辺は基準枠371の上辺と一致している。
抽出枠372bの下辺は、基準枠371の下辺を歪み補正ベクトルFVp+q’の向きに歪み補正ベクトルFVp+q’の大きさだけ移動したものである。
補正処理部55は、入力画像370を保存したメモリ領域51Aから抽出枠372b内の画像の画像データを読み出すことで、抽出枠372b内の画像を入力画像370から切り出す。この切り出しによって得られた画像を抽出画像392bと呼ぶ(図22参照)。この後、抽出画像392bの画像サイズが基準枠371内の画像381の画像サイズと同じとなるように抽出画像392bの画像サイズを垂直方向に縮小し、縮小後の抽出画像392b’を、入力画像370としての入力画像Inに対する出力画像IOnとする。
抽出画像392bから抽出画像392b’を生成するための縮小は、入力画像370に対する修正後の歪み補正ベクトル、即ち歪み補正ベクトルFVp’〜FVp+q’に基づいて行われる。抽出画像392bには、実際には歪み補正ベクトルFVp〜FVp+qに相当する垂直FP歪みが含まれているのであるが、抽出画像392bに含まれる垂直FP歪みが歪み補正ベクトルFVp’〜FVp+q’に相当する垂直FP歪みであるとみなして抽出画像392b’を生成する。第i水平ラインを歪み補正ベクトルFVi’の向きに歪み補正ベクトルFVi’の大きさだけ移動した水平ラインが第iB水平ラインであるとすると、入力画像370の第i水平ラインを第iB水平ラインに変換する幾何学的変換の逆変換を抽出画像392bに対して施すことで抽出画像392b’が得られる。
不等式「VREF≦VLIM」が成立する場合には、上述の基本動作によって、動き検出情報にて指し示されている垂直FP歪みの全部が入力画像370から除去されて出力画像が生成される。これに対し、不等式「VREF>VLIM」の成立を想定した第4実施例では、動き検出情報にて指し示されている垂直FP歪みの一部のみが入力画像370から除去されて出力画像が生成されることになる。
第4実施例によれば、FP歪みの一部が出力画像に残存することにはなるが、不等式「VREF>VLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。
<<第5実施例>>
第5実施例を説明する。第5実施例は、第4実施例を変形したものであり、第5実施例にて特に述べない事項に関しては、第4実施例の記載が第5実施例にも適用される。基準枠371及び抽出枠372aが定義された入力画像370(図21(a))が得られた場合を考える。以下、第4実施例との相違点のみ説明する。
第5実施例における補正処理部55は、不等式「VREF>VLIM」が成立する場合、入力画像370の外枠内に抽出枠372aがちょうど収まるように、抽出枠372aを平行移動する。即ち、入力画像370上において抽出枠372aを距離(VREF−VLIM)だけ上方向に平行移動させる。この平行移動後の抽出枠372aを抽出枠372cと呼ぶ。図23(a)に示す如く、抽出枠372cの下辺は入力画像370の外枠の下辺と重なり合い、入力画像370の外枠内に抽出枠372cの全てが収まっている。
この方法は、入力画像370上において基準枠371を距離(VREF−VLIM)だけ上方向に平行移動させる方法であるとも言える。図23(b)の基準枠371cは、入力画像370上において基準枠371を距離(VREF−VLIM)だけ上方向に平行移動させた枠である。このように考えたとしても、結局、得られる抽出枠372cは不変である。
補正処理部55は、入力画像370を保存したメモリ領域51Aから抽出枠372c内の画像の画像データを読み出すことで、抽出枠372c内の画像を入力画像370から切り出す。この切り出しによって得られた画像を抽出画像392cと呼ぶ(図24参照)。この後、抽出画像392cの画像サイズが基準枠371内の画像381の画像サイズと同じとなるように抽出画像392cの画像サイズを垂直方向に縮小し、縮小後の抽出画像392c’を、入力画像370としての入力画像Inに対する出力画像IOnとする。
抽出画像392cから抽出画像392c’を生成するための縮小は、基本動作と同様、入力画像370に対する歪み補正ベクトルFVp〜FVp+qに基づいて行われる。従って、抽出画像392c’を得るために抽出画像392cに成される縮小処理(幾何学的変換)は、基本動作にて実施される、抽出画像382’を得るために抽出画像382に成される縮小処理(幾何学的変換)と同じである(図15参照)。
不等式「VREF≦VLIM」が成立する場合には、上述の基本動作によって、動き検出情報にて指し示されている垂直FP歪みの全部を除去するためのFP歪み補正処理と、動き検出情報にて指し示されている手ぶれ(撮像装置1の動きによる画像ぶれ)の全部を除去するためのぶれ補正処理とが入力画像370に成されることで出力画像が得られる。これに対し、不等式「VREF>VLIM」の成立を想定した第5実施例では、ぶれ補正を犠牲にして垂直FP歪みの除去を確保する。即ち、動き検出情報にて指し示されている垂直FP歪みの補正が可能となるように(VREF分のFP歪み補正が可能となるように)ぶれ補正処理による画像ぶれの補正量を変更してから、FP歪み補正処理及びぶれ補正処理を介して出力画像が生成されることなる。第5実施例において、画像ぶれの補正量の変更量は、距離(VREF−VLIM)である。
第5実施例によれば、手ぶれ成分の一部(場合によっては、手ぶれ成分の全部)が出力画像に残存することにはなるが、不等式「VREF>VLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。
<<第6実施例>>
第6実施例を説明する。第6実施例は、第4実施例を基礎とする実施例であり、第6実施例にて特に述べない事項に関しては、第4実施例の記載が第6実施例にも適用される。基準枠371及び抽出枠372aが定義された入力画像370(図21(a))が得られた場合を考える。第6実施例では、不等式「VREF>VLIM」が成立する場合に、第4実施例の方法と第5実施例の方法を組み合わせて出力画像を生成する。
具体的には例えば、不等式「VREF>VLIM」が成立する場合、修正係数(VLIM/VREF)及びkを用いて各歪み補正ベクトルを修正する。ここで、kは「0≦k≦1」を満たす。即ち、式「FVi’’=k×FVi×(VLIM/VREF)+(1−k)×FVi」に従って歪み補正ベクトルFVp〜FVp+qを修正することで歪み補正ベクトルFVp’’〜FVp+q’’を求め、歪み補正ベクトルFVp+q’’を用いて基準枠371を垂直方向に伸張することで、図25(a)の抽出枠372dを形成する。
基準枠371及び抽出枠372と同様、抽出枠372dの上辺及び下辺は水平ラインに平行であって、且つ、抽出枠372dの外形形状は矩形である。また、基準枠371と抽出枠372dの左辺同士は重なり合い、基準枠371と抽出枠372dの右辺同士は重なり合う。更に、説明の簡略化上、入力画像370に対して求められた第1〜第p水平ラインについての歪み補正ベクトルFV1〜FVpの大きさは全てゼロであるとする。仮に、それらの大きさがゼロでないのであれば、抽出枠372dの上辺位置は基準枠371の上辺位置と異なってくるのであるが、今、それがゼロであることを考えるため、抽出枠372dの上辺は基準枠371の上辺と一致している。
抽出枠372dの下辺は、基準枠371の下辺を歪み補正ベクトルFVp+q’’の向きに歪み補正ベクトルFVp+q’’の大きさだけ移動したものである。
今、0<kである場合を考える。そうすると、図25(a)に示す如く、抽出枠372dの一部は依然として入力画像370の外枠からはみ出す。入力画像370の外枠の下辺から入力画像370の下方へとはみ出す抽出枠372dのはみ出し量は、kの値に依存する。
補正処理部55は、入力画像370の外枠内に抽出枠372dがちょうど収まるように、抽出枠372dを平行移動する。即ち、入力画像370上において抽出枠372dを上記はみ出し量分だけ上方向に平行移動させる。この平行移動後の抽出枠372dを抽出枠372eと呼ぶ。図25(b)に示す如く、抽出枠372eの下辺は入力画像370の外枠の下辺と重なり合い、入力画像370の外枠内に抽出枠372eの全てが収まっている。
この方法は、入力画像370上において基準枠371を上記はみ出し量分だけ上方向に平行移動させる方法であるとも言える。図25(b)の基準枠371eは、入力画像370上において基準枠371を上記はみ出し量分だけ上方向に平行移動させた枠である。このように考えたとしても、結局、得られる抽出枠372eは不変である。
補正処理部55は、入力画像370を保存したメモリ領域51Aから抽出枠372e内の画像の画像データを読み出すことで、抽出枠372e内の画像を入力画像370から切り出す。この切り出しによって得られた画像を抽出画像392eと呼ぶ(図26参照)。この後、抽出画像392eの画像サイズが基準枠371内の画像381の画像サイズと同じとなるように抽出画像392eの画像サイズを垂直方向に縮小し、縮小後の抽出画像392e’を、入力画像370としての入力画像Inに対する出力画像IOnとする。
抽出画像392eから抽出画像392e’を生成するための縮小は、入力画像370に対する修正後の歪み補正ベクトル、即ち歪み補正ベクトルFVp’’〜FVp+q’’に基づいて行われる。抽出画像392eには、実際には歪み補正ベクトルFVp〜FVp+qに相当する垂直FP歪みが含まれているのであるが、抽出画像392eに含まれる垂直FP歪みが歪み補正ベクトルFVp’’〜FVp+q’’に相当する垂直FP歪みであるとみなして抽出画像392e’を生成する。第i水平ラインを歪み補正ベクトルFVi’’の向きに歪み補正ベクトルFVi’’の大きさだけ移動した水平ラインが第iC水平ラインであるとすると、入力画像370の第i水平ラインを第iC水平ラインに変換する幾何学的変換の逆変換を抽出画像392eに対して施すことで抽出画像392e’が得られる。
第6実施例によれば、0<k<1の場合、FP歪みの一部及び手ぶれ成分の一部が出力画像に残存することにはなるが、不等式「VREF>VLIM」が成立する場合でも確実に出力画像を生成することが可能となる(補正の破綻が回避される)。k=1の場合における第6実施例の動作は、第4実施例のそれと同じであり、k=0の場合における第6実施例の動作は、第5実施例のそれと同じである。第6実施例におけるkは、第3実施例におけるkと同じである。故に、第6実施例におけるkの値も、第3実施例と同様、固定値又は可変値である。
<<第7実施例>>
第7実施例を説明する。第7実施例では、上述の基本動作と第1〜第6実施例の何れかの動作を実現する撮像装置1の動作手順を説明する。図27は、この動作手順を表すフローチャートである。
まず、ステップS11において入力画像の取得及び該入力画像に基づく動き検出情報の生成が成され、続くステップS12において補正処理部55は手ぶれ補正機能が有効とされているか否かをチェックする。ユーザは、図1の操作部26等を介して手ぶれ補正機能を有効とするか或いは無効とするかを自由に撮像装置1に指示することができる。手ぶれ補正機能を有効とすることが指示されている場合にはステップS12からステップS13に移行するが、それを無効とすることが指示されている場合にはステップS12から直接ステップS18に移行し、入力画像をそのまま表示部27に表示すると共に、必要に応じて入力画像を外部メモリ18に記録する。
ステップS13では、動き検出情報に基づいて手ぶれ補正ベクトル及び歪み補正ベクトルの算出並びに基準枠の設定が成され、更に、基準歪み補正量(HREF及びVREF)と補正限界量(HLIM及びVLIM)の算出が成される。この後、ステップS14において、基準歪み補正量と補正限界量が比較され、第1不等式「HREF≦HLIM」及び第2不等式「VREF≦VLIM」が成立するか否かがチェックされる。
第1及び第2不等式の双方が成立する場合には、ステップS14からステップS15に移行して、基本動作に従い、基準枠と歪み補正ベクトルから抽出枠を決定する。第1及び第2不等式の一方又は双方が不成立の場合には、ステップS14からステップS16に移行して、第1〜第6実施例の何れかの方法に従い、歪み補正ベクトルの修正及び/又は基準枠の位置修正を介して抽出枠を決定する(この決定に際し、例えば、暫定的に設定された図17(a)の抽出枠352aが図17(b)の抽出枠352bへと修正される)。
ステップS15又はS16にて抽出枠が決定されるとステップS17に移行する。ステップS17では、決定された抽出枠に従ってぶれ補正処理及びFP歪み補正処理を行う。即ち、決定された抽出枠内の画像を入力画像から抽出することで出力画像を生成する。入力画像に垂直FP歪みが含まれる場合には、抽出画像を垂直方向に伸張又は縮小する幾何学的変換を実行することで出力画像が得られる。ステップS17にて得られた出力画像はステップS18において表示部27に表示され、必要に応じて外部メモリ18に記録される。ステップS11〜S18から成るループ処理は、入力画像が取得される度に繰り返し実行される。
尚、図27の動作手順では、手ぶれ補正機能が無効とされている時に、ぶれ補正処理だけでなくFP歪み補正処理も成されないが、手ぶれ補正機能が無効とされていてもFP歪み補正処理だけは実施するようにしても良い。即ち、手ぶれ補正機能が無効とされている場合、手ぶれ補正ベクトルの大きさが常にゼロであるとみなした上で、補正処理部55においてFP歪み補正処理のみを実行するようにしても良い。
補正処理部55においてFP歪み補正処理のみを実行するという方法は、様々な状況下において有効となりうる。例えば、撮像装置1にパンニング又はチルティングが成されている期間(以下、パン・チルト期間という)中、手ぶれ補正機能の有効/無効に関わらず且つ手ぶれ補正ベクトルの向き及び大きさに関わらず、補正処理部55は、通常、基準枠の位置を不変とする。パンニング又はチルティングはユーザの意図による動きであるため、その動きを出力画像に反映した方が自然だからである。但し、パン・チルト期間中には、大きなFP歪みが発生する。そこで、パン・チルト期間中には、基準枠の位置を不変としつつ、上述してきたFP歪み補正処理だけを実行すると良い。動き検出情報に基づいて撮像装置1にパンニング又はチルティングが成されているか否かを判定するパン・チルト判定部(不図示)を撮像装置1に設けておくことができ、その判定結果から、任意の時刻がパン・チルト期間に属しているか否かを判断することができる。この判定の方法として、公知の方法を含む任意の方法(例えば、特開2008−129554号公報又は特開平11−187308号公報に記載の方法)を利用することが可能である。尚、一般的に理解されているように、パンニングとは、ユーザが撮像装置1を水平方向に意図的に振る操作を指し、チルティングとは、ユーザが撮像装置1を垂直方向に意図的に振る操作を指す。
<<第8実施例>>
第8実施例を説明する。基本動作の実現に用いられる図5の画像補正機能部50では、入力画像の画像データに基づいて動き検出情報が生成されているが、角速度センサ等から成るセンサ部を用いて動き検出情報を生成するようにしても良い。
図28に、画像補正機能部50の代わりに用いられる、第8実施例に係る画像補正機能部50aの内部ブロック図を示す。画像補正機能部50における動き検出部52を、センサ部56に置き換えることで画像補正機能部50aが形成される。センサ部56を含む画像補正機能部50aは、撮像装置1に設けられる。
動き検出部としてのセンサ部56は、撮像装置1の角速度を検出する複数の角速度センサを備え、該複数の角速度センサを用いて撮像装置1の動き(換言すれば、手ぶれの向き及び大きさ)を検出する。複数の角速度センサは、互いに異なる方向の角速度を検出して検出角速度を表す信号を出力する。各角速度センサがフレーム周期(例えば約33msec)よりも十分に短いサンプリング間隔(例えば、1mseec間隔)で角速度を検出することで、センサ部56は任意の期間における手ぶれの向き及び大きさを検出する。センサ部56によって検出された、手ぶれの向き及び大きさを表すベクトルを、センサ手ぶれベクトルと呼ぶ。センサ部56は、1つのサンプリング間隔におけるセンサ手ぶれベクトルを生成することもできるし、サンプリング間隔の整数倍の期間におけるセンサ手ぶれベクトルを生成することもできる。センサ部56は、各角速度センサの出力信号及びセンサ手ぶれベクトルを動き検出情報に含めることができる。尚、センサ部56に設けられるセンサは、角速度センサ以外(例えば加速度センサ)であっても良い。
画像補正機能部50aにおいて、手ぶれ検出部53は、センサ部56と協働して入力画像230に対する手ぶれ補正ベクトル(図10参照)を、以下のようにして求めることができる。入力画像220の露光期間の中間時刻と入力画像230の露光期間の中間時刻との間に得られた全てのセンサ手ぶれベクトルを順次繋ぎ合わせた合成ベクトルを算出し、その合成ベクトルの逆ベクトルを入力画像230に対する手ぶれ補正ベクトルとして求める。
また、画像補正機能部50aにおいて、FP歪み検出部54は、センサ部56と協働して入力画像230に対する歪み補正ベクトル(図10参照)を、以下のようにして求めることができる。入力画像230の各水平ラインの露光期間中におけるセンサ手ぶれベクトルを各角速度センサの出力信号から算出し、第i水平ラインに対するセンサ手ぶれベクトルの逆ベクトルを第i水平ラインに対する歪み補正ベクトルとして求める。
手ぶれ補正ベクトル及び歪み補正ベクトルが求められた後の動作は、画像補正機能部50及び50a間で同じである。
<<第9実施例>>
第9実施例を説明する。センサ部56を用いた場合には、撮像素子33から信号を読み出す段階で、FP歪みの補正及び手ぶれに起因する画像ぶれの補正を行うことも可能である。即ち、図29に示す如く、撮像装置1に、センサ部56、読み出し制御部57及び画像サイズ変換部58を設けておくようにしても良い。読み出し制御部57は、例えば、図1のCPU23によって実現され、画像サイズ変換部58は、例えば、図1の映像信号処理部13に設けられる。
図29のセンサ部56は、図28のそれと同じものであり、角速度センサ等を用いて動き検出情報を生成する。読み出し制御部57は、第8実施例で述べた方法に基づいて動き検出情報から手ぶれ補正ベクトル及び歪み補正ベクトルを算出する。そして、基本動作及び上述の各実施例において手ぶれ補正ベクトル及び歪み補正ベクトルに基づき入力画像上に基準枠及び抽出枠を設定する方法と同様の方法にて、読み出し制御部57は、撮像素子33の有効画素領域33A上に基準枠及び抽出枠を設定し、有効画素領域33Aの抽出枠内に位置している各受光画素の出力信号を読み出す。この読み出された信号から形成される画像(即ち、有効画素領域33A上に設定された抽出枠内の画像)をIS出力画像と呼ぶ。
IS出力画像の露光期間中における撮像装置1の動きに垂直方向の動き成分が含まれていない場合には、上述の如く有効画素領域33A上に抽出枠を設定した段階で、FP歪みの補正及び手ぶれに起因する画像ぶれの補正は完了する。即ち、IS出力画像の露光期間中における撮像装置1の動きに垂直方向の動き成分が含まれていない場合には、IS出力画像が、FP歪みの補正及び手ぶれに起因する画像ぶれの補正がなされた画像である。
IS出力画像の露光期間中における撮像装置1の動きに垂直方向の動き成分が含まれている場合、垂直方向におけるIS出力画像の大きさは、垂直方向の動き成分がない場合のそれと異なっており、IS出力画像には垂直FP歪みが含まれている(例えば、図15の抽出画像382と同じ画像がIS出力画像として撮像素子33から読み出される)。従って、IS出力画像の露光期間中における撮像装置1の動きに垂直方向の動き成分が含まれている場合、画像サイズ変換部58は、動き検出情報に基づいてIS出力画像に含まれる垂直FP歪みが除去されるように、垂直方向におけるIS出力画像の大きさを伸張又は縮小し、伸張又は縮小後のIS出力画像を出力画像として生成する。
尚、画像サイズ変換部58の存在をも考慮すると、図29の構成は図28の構成と等価なものとも言える。撮像素子33から一旦読み出したIS出力画像を動き検出情報に基づいて補正することで最終的な出力画像を生成するからである。
<<変形等>>
上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。上述の実施形態の変形例または注釈事項として、以下に、注釈1〜注釈3を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
[注釈1]
上述の例では、入力画像の全体画像領域を9つに分割することで入力画像に9つの動き検出ブロックを設定しているが、入力画像に設定されるべき動き検出ブロックの個数は9以外であっても良い。
[注釈2]
図6を参照して上述した例では、有効画素領域33A上の位置(x,y)における受光画素の出力信号は、入力画像用のメモリ領域51A上のアドレス(x,y)に保存される。即ち、上述の例では、有効画素領域33A上の各受光画素の出力信号を全て個別に読み出すことで入力画像が生成されることを想定している。但し、有効画素領域33Aの各受光画素の出力信号を間引き読み出し又は加算読み出しすることで入力画像を生成するようにしても構わない。
間引き読み出しでは、有効画素領域33A内の一部の受光画素の出力信号のみが入力画像の画像データとして読み出される。加算読み出しでは、有効画素領域33A内の複数の受光画素の出力信号の加算信号を1つの受光画素の出力信号とみなした上で受光画素の出力信号の読み出しが成される。間引き読み出し又は加算読み出しを用いて入力画像を生成する場合、入力画像の画素数は有効画素領域33Aの受光画素数よりも小さくなる。
[注釈3]
図1の撮像装置1を、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって構成することができる。ソフトウェアを用いて撮像装置1を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。ソフトウェアを用いて実現される機能をプログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その機能を実現するようにしてもよい。