以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。
<<第1実施形態>>
本発明の第1実施形態を説明する。図1は、第1実施形態に係る撮像装置1の全体ブロック図である。撮像装置1は、符号11〜28によって参照される各部位を有する。撮像装置1は、デジタルビデオカメラであり、動画像及び静止画像を撮影可能となっていると共に動画像撮影中に静止画像を同時に撮影することも可能となっている。但し、撮像装置1を、静止画像のみを撮影可能なデジタルスチルカメラとして構成するようにしてもよい。撮像装置1内の各部位は、バス24又は25を介して、各部位間の信号(データ)のやり取りを行う。尚、表示部27及び/又はスピーカ28は、撮像装置1の外部装置(不図示)に設けられたものであってもよい。
撮像部11は、撮像素子(イメージセンサ)33の他、図示されない光学系、絞り及びドライバを備える。撮像素子33は、水平及び垂直方向に複数の受光画素が配列されることによって形成される。撮像素子33は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等からなる固体撮像素子である。撮像素子33の各受光画素は、光学系及び絞りを介して入射した被写体の光学像を光電変換し、該光電変換によって得られた電気信号をAFE12(Analog Front End)に出力する。光学系を構成する各レンズは、被写体の光学像を撮像素子33上に結像させる。
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を含む。CPU23は、撮像装置1内の各部位の動作を統括的に制御する。操作部26は、動画像の撮影及び記録の開始/終了を指示するための録画ボタン26a、静止画像の撮影及び記録を指示するためのシャッタボタン26b及び操作キー26c等を有し、ユーザによる各種操作を受け付ける。操作部26に対する操作内容はCPU23に伝達される。
撮像装置1の動作モードには、画像(静止画像又は動画像)の撮影及び記録が可能な撮影モードと、外部メモリ18に記録された画像(静止画像又は動画像)を表示部27に再生表示する再生モードと、が含まれる。操作キー26cに対する操作に応じて、各モード間の遷移は実施される。
撮影モードでは、所定のフレーム周期にて周期的に被写体の撮影が行われ、被写体の撮影画像が順次取得される。画像を表すデジタルの映像信号を画像データとも呼ぶ。或る画素に対する画像データを、画素信号と呼ぶこともある。画素信号は、例えば、輝度信号及び色差信号を含む。1つのフレーム周期分の画像データによって1枚分の画像が表現される。1つのフレーム周期分の画像データによって表現される1枚分の画像を、フレーム画像とも呼ぶ。尚、本明細書では、画像データのことを単に画像ということもある。
撮像装置1は、上記の縦方向流し撮りにて得られた画像に類似する画像を、画像処理によって生成する機能を備える。縦方向流し撮りとは、既に述べたように、撮像装置1に近づくように移動する移動体又は撮像装置1から遠のくように移動する移動体にピントを合わせる流し撮りである。該画像処理は意図的にぶれを画像に含ませるため、この機能によって生成される画像を、出力ぶれ画像と呼ぶ。図2に、この機能を担う部位のブロック図を示す。図2の追尾処理部51、スケール変換部52及び画像合成部53を、図1の映像信号処理部13に設けておくことができる。図2のバッファメモリ54を、図1の内部メモリ17に設けておくことができる。
追尾処理部51は、撮像装置1の被写体に含まれる或る注目被写体をフレーム画像列上で追尾する追尾処理を実行する。フレーム画像列とは、フレーム周期による周期的な撮影によって得られる、時系列で並ぶ複数のフレーム画像の集まりを指す。追尾処理によって追尾されるべき注目被写体を、以下、追尾対象という。追尾対象以外の被写体(例えば、地面や建物等の静止体)を背景という。
追尾処理では、フレーム画像列の画像データに基づき、各フレーム画像における追尾対象の位置及び大きさが逐次検出される。まず、追尾処理部51は、フレーム画像列を形成する複数のフレーム画像の内、何れかのフレーム画像を初期フレーム画像として捉え、初期フレーム画像の画像データに基づいて初期フレーム画像における追尾対象の位置及び大きさを検出する。
追尾対象を、初期フレーム画像の画像データに基づいて設定することができる。例えば、初期フレーム画像を含む複数のフレーム画像を用いて背景差分法に基づく移動体検出やフレーム間差分法に基づく移動体検出を行うことにより、フレーム画像列上の移動体を検出し、その移動体を追尾対象として設定する。或いは例えば、初期フレーム画像の画像データに基づいて、初期フレーム画像上の人物の顔を検出し、顔の検出結果を用いて該人物を追尾対象として設定する。
追尾対象を、ユーザの指示に従って設定することもできる。例えば、初期フレーム画像を表示部27に表示させた状態で追尾対象となるべき被写体が表れている表示領域をユーザに指定させ、その指定内容に従って追尾対象を設定することもできる。
或る注目フレーム画像において、追尾対象を表す画像データが存在する画像領域を追尾対象領域(被写体領域)と呼び、それ以外の画像領域(即ち、背景を表す画像データが存在する画像領域)を背景領域と呼ぶ。従って、注目フレーム画像の全画像領域は、追尾対象領域と背景領域に分類される。追尾対象領域は、追尾対象を含みつつ、なるだけ小さくなるように設定される。注目フレーム画像における追尾対象領域の位置及び大きさを検出することと、注目フレーム画像における追尾対象の位置及び大きさを検出することは同義である。検出されるべき追尾対象領域の位置には、追尾対象領域の中心位置が含まれる。各フレーム画像において、追尾対象領域の中心位置が追尾対象の位置を表し且つ追尾対象領域の大きさが追尾対象の大きさを表す、と考えることができる。
初期フレーム画像における追尾対象の位置及び大きさの検出後、追尾処理部51は、初期フレーム画像の撮影以降に撮影される各フレーム画像を追尾対象フレーム画像として捉え、追尾対象フレーム画像の画像データに基づいて追尾対象フレーム画像における追尾対象の位置及び大きさを検出する(即ち、追尾対象フレーム画像における追尾対象領域の中心位置及び大きさを検出する)。
以下の説明において、特記なき限り、フレーム画像とは、追尾対象の位置及び大きさが検出されるべき初期フレーム画像又は追尾対象フレーム画像を指すものとする。また、追尾対象領域の形状を任意の形状にすることができるが、以下の説明では、追尾対象領域の形状が矩形であることを想定する。
第1及び第2のフレーム画像間における追尾処理を次のように実行することができる。ここにおける第1のフレーム画像とは、既に追尾対象の位置及び大きさが検出されているフレーム画像を指し、第2のフレーム画像とは、これから追尾対象の位置及び大きさが検出されるべきフレーム画像を指す。第2のフレーム画像は、第1のフレーム画像の次に撮影されるフレーム画像である。
例えば、追尾処理部51は、追尾対象が有する画像特徴に基づいて追尾処理を行うことができる。画像特徴は、輝度情報及び色情報を含む。より具体的には例えば、第2のフレーム画像内に、追尾対象領域の大きさと同程度の大きさを有すると推定される追尾枠を設定して、第2のフレーム画像における追尾枠内の画像の画像特徴と、第1のフレーム画像における追尾対象領域内の画像の画像特徴との類似性評価を追尾枠の位置を探索領域内で順次変更しながら実行し、最大の類似性が得られた追尾枠の中心位置に、第2のフレーム画像における追尾対象領域の中心位置が存在すると判断する。第2のフレーム画像に対する探索領域は、第1のフレーム画像における追尾対象の位置を基準にして設定される。通常、その探索領域は、第1のフレーム画像における追尾対象の位置を中心とする矩形領域とされ、探索領域の大きさ(画像サイズ)は、フレーム画像の全画像領域の大きさよりも小さい。
フレーム画像上における追尾対象の大きさは、追尾対象と撮像装置1との間における、実空間上の距離の変化などに起因して変化する。このため、フレーム画像上における追尾対象の大きさに応じて上記の追尾枠の大きさを適切に変更していく必要があるが、この変更は、公知の追尾アルゴリズムで用いられる被写体サイズ検出方法を用いることによって実現される。例えば、フレーム画像において、追尾対象が存在すると予想される点から十分に離れた点に背景が現れていると考え、前者の点及び後者の点における画像特徴から前者の点及び後者の点間に配置された各画素が背景及び追尾対象の何れに属するかを分類していく。画像特徴は、輝度情報及び色情報を含む。この分類によって追尾対象の輪郭が推定される。尚、公知の輪郭抽出処理によって追尾対象の輪郭を推定するようにしてもよい。そして、その輪郭から追尾対象の大きさを推定し、この推定された大きさに応じて追尾枠の大きさを設定する。
追尾枠の大きさは追尾対象領域となるべき画像領域の大きさを表しているのであるから、追尾枠の大きさの設定によって、フレーム画像における追尾対象の大きさが検出される(換言すれば、追尾対象領域の大きさが検出される)。このため、上記の追尾処理によって、各フレーム画像における追尾対象の位置及び大きさが検出されることとなる。検出された位置及び大きさを表す情報(換言すれば、追尾対象領域の位置及び大きさを表す情報)を含む追尾結果情報は、必要分だけ、バッファメモリ54に一時的に記憶される。バッファメモリ54に記憶された追尾結果情報は、必要に応じて、スケール変換部52及び画像合成部53に与えられる。
尚、フレーム画像上の追尾対象の位置及び大きさを推定する方法として、上述した方法と異なる他の任意の方法(例えば、特開2004−94680号公報に記載された方法や特開2009−38777号公報に記載された方法)を採用することも可能である。
スケール変換部52は、追尾結果情報に基づき、注目フレーム画像に対してスケール変換を施す。ここにおけるスケール変換とは、画像を拡大するための線形変換又は画像を縮小するための線形変換である。画像を拡大するための線形変換は、一般的にデジタルズームとも呼ばれる。スケール変換は、補間を用いた再標本化によって実現される。詳細は後述するが、スケール変換部52は、n種類の拡大率又はn種類の縮小率を用いたスケール変換を注目フレーム画像に対して施し、これによって第1〜第nのスケール変換画像を生成する。ここで、nは、2以上の整数である。
以下、画像を拡大するためのスケール変換を特に拡大スケール変換と呼び、画像を縮小するためのスケール変換を特に縮小スケール変換と呼ぶ。拡大スケール変換において、画像の水平方向の拡大率と画像の垂直方向の拡大率は同じであるとする(即ち、画像のアスペクト比は、拡大スケール変換の前後で不変である)。縮小スケール変換においても同様である。
画像合成部53は、追尾結果情報に基づき、第1〜第nのスケール変換画像と注目フレーム画像を合成することにより出力ぶれ画像を生成する。
図3及び図4を参照して、具体的な出力ぶれ画像の生成方法を説明する。図3及び図4の具体例では、スケール変換として拡大スケール変換がなされる。尚、以下の説明では、符号を付記することによって該符号に対応する名称を省略又は略記することがある。例えば、符号201がフレーム画像を表す符号である場合、フレーム画像201と画像201は同じものを指す。また、二次元画像上における任意の位置を、二次元画像が定義される二次元座標系上の座標値(x,y)にて表現する。本明細書において述べる全ての画像は、特に記述なき限り、二次元画像である。x及びyは、夫々、二次元画像の水平方向及び垂直方向における座標値を表す。また、追尾対象領域などの注目画像領域の大きさは、例えば、画像上における該注目画像領域の面積によって表現される。
連続的に撮影されたフレーム画像201〜204を想定する。フレーム画像201、202、203及び204の順番で撮影がなされたものとする。従って、画像203の直前に撮影された画像は画像202であり、画像203の直後に撮影された画像は画像204である。フレーム画像201〜204を含むフレーム画像列に対する追尾処理によって、フレーム画像201〜204からそれぞれ追尾対象領域211〜214が抽出されると共に、追尾対象領域211〜214の中心位置が夫々(x1,y1)、(x2,y2)、(x3,y3)及び(x4,y4)であって且つ追尾対象領域211〜214の大きさが夫々SIZE1、SIZE2、SIZE3及びSIZE4であることが検出されたものとする。
図3及び図4の具体例では、時間の経過と共に追尾対象が撮像装置1に近づいてきていることに起因して、不等式「SIZE1<SIZE2<SIZE3<SIZE4」が成立しているものとする。追尾対象にピントを合わせた縦方向流し撮りの効果を得るべく、ユーザが、フレーム画像203の取得直前に、シャッタボタン26bを押下したものとする。シャッタボタン26bの押下は、静止画像の撮影を指示する操作である。この場合、フレーム画像203が、シャッタボタン26bの押下に従って撮影されるべき静止画像となる。シャッタボタン26bの押下に従って撮影されるべき静止画像を、特に、基準画像(主画像)と呼ぶ。本例では、フレーム画像203が基準画像である。
フレーム画像203又は204の撮影後、スケール変換部52は、追尾結果情報に含まれる追尾対象領域の大きさについての情報に基づき、フレーム画像203の撮影時点周辺における追尾対象領域の大きさの変化方向を判断する。例えば、不等式「SIZE2<SIZE3」が成立する場合、該変化方向は増加方向であると判断し、不等式「SIZE2>SIZE3」が成立する場合、該変化方向は減少方向であると判断する。或いは例えば、不等式「SIZE3<SIZE4」が成立する場合、該変化方向は増加方向であると判断し、不等式「SIZE3>SIZE4」が成立する場合、該変化方向は減少方向であると判断する。尚、3枚以上のフレーム画像における追尾対象領域の大きさに基づいて、上記変化方向を判断するようにしてもよい。
スケール変換部52は、フレーム画像203に対して拡大スケール変換又は縮小スケール変換を択一的に施す。上記の変化方向が増加方向であると判断した場合は、拡大スケール変換をフレーム画像203に施し、上記の変化方向が減少方向であると判断した場合は、縮小スケール変換をフレーム画像203に施す。図3及び図4に示す具体例では、上記の変化方向が増加方向であるため、拡大スケール変換が選択されてフレーム画像203に実行される。
また、スケール変換部52は、基準画像の撮影時点周辺における、追尾対象領域の大きさの変化量に基づいて、上限拡大率SAMAX又は下限縮小率SBMAXを算出する。基準画像に拡大スケール変換を施す場合は上限拡大率SAMAXを算出し、基準画像に縮小スケール変換を施す場合は下限縮小率SBMAXを算出する。図3及び図4に示す具体例では、基準画像であるフレーム画像203に対して拡大スケール変換が施されるため、上限拡大率SAMAXが算出される。
上限拡大率SAMAXは、SAMAX=(SIZE3/SIZE2)×k、又は、SAMAX=(SIZE4/SIZE3)×k、に従って算出される。不等式「SIZE2>SIZE3」又は「SIZE3>SIZE4」が成立する場合において算出される下限縮小率SBMAXは、SBMAX=(SIZE3/SIZE2)/k、又は、SBMAX=(SIZE4/SIZE3)/k、に従って算出される。ここで、kは、予め設定された1以上の係数であり、例えば2である。尚、上限拡大率SAMAX又は下限縮小率SBMAXを、操作部26等を介した、ユーザの指定に従って決定しても良い。
上限拡大率SAMAXの算出後、スケール変換部52は、等倍率より大きく且つ上限拡大率SAMAX以下の拡大率を、0.05倍刻みで設定する。例えば、上限拡大率SAMAXが1.30倍である場合、6種類の拡大率、即ち、1.05倍、1.10倍、1.15倍、1.20倍、1.25倍及び1.30倍の拡大率が設定される。設定した各拡大率にて基準画像に対する拡大スケール変換が実行されるため、拡大率の設定個数は、拡大スケール変換によって生成されるスケール変換画像の枚数(即ち、上記のnの値)と合致する。拡大率の値が大きいほど、拡大スケール変換による画像の拡大度合いは大きくなる。
尚、下限縮小率SBMAXが算出された場合も同様に複数の縮小率が設定される。即ち、下限縮小率SBMAXを算出した場合においては、等倍率より小さく且つ下限縮小率SBMAX以上の縮小率が、0.05倍刻みで設定される。例えば、下限縮小率SBMAXが0.80倍である場合、4種類の縮小率、即ち、0.95倍、0.90倍、0.85倍及び0.80倍の縮小率が設定される。縮小率の値が小さいほど、縮小スケール変換による画像の縮小度合いは大きくなる。
今、説明の具体化のため、上限拡大率SAMAXが1.15倍以上であって且つ1.20倍未満である場合を想定する。この場合、スケール変換部52は、3種類の拡大率1.05倍、1.10倍及び1.15倍を設定する。そして、図4に示す如く、拡大率1.05倍にてフレーム画像203を拡大スケール変換することでスケール変換画像203Aを生成し、拡大率1.10倍にてフレーム画像203を拡大スケール変換することでスケール変換画像203Bを生成し、拡大率1.15倍にてフレーム画像203を拡大スケール変換することでスケール変換画像203Cを生成する。
拡大スケール変換は、拡大スケール変換前後の画像の画像サイズ(即ち、水平及び垂直方向における画素数)が互いに同じとなるように、且つ、スケール変換画像上における追尾対象領域の中心位置がスケール変換画像の中心位置と一致するように行われる(縮小スケール変換も同様)。
具体的には、スケール変換画像203A〜203Cは、以下のようにして生成される(図4参照)。フレーム画像203内に、位置(x3,y3)を自身の中心位置として有する矩形の抽出枠223を設定し、抽出枠223内の画像を拡大率1.05倍で拡大スケール変換することでスケール変換画像203Aを生成する。スケール変換画像203Aを生成する際の抽出枠223の大きさは、水平及び垂直方向の夫々において、フレーム画像203の大きさの(1/1.05)倍である。スケール変換画像203B及び203Cは、夫々、抽出枠223内の画像を拡大率1.10倍及び1.15倍で拡大スケール変換することで生成される。但し、スケール変換画像203Bを生成する際の抽出枠223の大きさは、水平及び垂直方向の夫々において、フレーム画像203の大きさの(1/1.10)倍であり、スケール変換画像203Cを生成する際の抽出枠223の大きさは、水平及び垂直方向の夫々において、フレーム画像203の大きさの(1/1.15)倍である。
図4において、矩形領域213A、213B及び213Cは、夫々、スケール変換画像203A、203B及び203Cにおける追尾対象領域を表し、位置(xA,yA)、(xB,yB)及び(xC,yC)は、夫々、追尾対象領域213A、213B及び213Cの中心位置を表す。
スケール変換部52にて生成されたn枚のスケール変換画像は画像合成部53によって合成されるが、この合成に先立ち、各スケール変換画像を平行移動させるための幾何学的変換を各スケール変換画像に対して施す。この幾何学的変換を位置補正という。位置補正をスケール変換部52にて行うようにしても良いが、本実施形態では、それを画像合成部53で行うようにしている。
n枚のスケール変換画像が第1〜第nのスケール変換画像から成るものとし、第iの拡大率を用いた拡大スケール変換にて得られるスケール変換画像が第iのスケール変換画像であるとする。ここで、iは1以上n以下の整数であり、第(i+1)の拡大率は第iの拡大率よりも大きいとする。図3及び図4の具体例では、第1、第2及び第3の拡大率が、夫々、1.05倍、1.10倍及び1.15倍である。
画像合成部53は、第1のスケール変換画像上における追尾対象領域の中心位置が基準画像の直前に撮影されたフレーム画像上における追尾対象領域の中心位置(xS,yS)と一致するように、且つ、第nのスケール変換画像上における追尾対象領域の中心位置が基準画像上における追尾対象領域の中心位置(xT,yT)と一致するように、第1及び第nのスケール変換画像に対して位置補正を行う。
第iのスケール変換画像に対する位置補正は、変数iが1からnに向かって増大するにつれて、位置補正後の追尾対象領域の中心位置が、位置(xS,yS)から位置(xT,yT)に向かって線形的に変化していくようになされる。従って、第2、第3、・・・、第(n−1)のスケール変換画像上における追尾対象領域の中心位置が、夫々、位置(xS+1×(xT−xS)/(n−1),yS+1×(yT−yS)/(n−1))、(xS+2×(xT−xS)/(n−1),yS+2×(yT−yS)/(n−1))、・・・、(xS+(n−2)×(xT−xS)/(n−1),yS+(n−2)×(yT−yS)/(n−1))と一致するように、第2〜第(n−1)のスケール変換画像に対する位置補正がなされる。
図3及び図4の具体例では、位置(xS,yS)及び(xT,yT)はそれぞれ位置(x2,y2)及び(x3,y3)であり、位置補正前の第1、第2及び第3のスケール変換画像は、それぞれ画像203A、203B及び203Cである。位置補正後の第1、第2及び第3のスケール変換画像を、夫々、符号203A’、203B’及び203C’にて表す。そうすると、位置(xA,yA)における画素を位置(x2,y2)における画素へと平行移動させる位置補正を画像203Aに施すことで画像203A’が得られ、位置(xB,yB)における画素を位置((x2+x3)/2,(y2+y3)/2)における画素へと平行移動させる位置補正を画像203Bに施すことで画像203B’が得られ、位置(xC,yC)における画素を位置(x3,y3)における画素へと平行移動させる位置補正を画像203Cに施すことで画像203C’が得られる。図4において、矩形領域213A’、213B’及び213C’は、夫々、位置補正後のスケール変換画像203A’、203B’及び203C’における追尾対象領域を表している。
尚、上述の例では、スケール変換後に位置補正のための幾何学的変換を実行しているが、位置補正のための幾何学的変換をスケール変換のための線形変換に含めておくことで、フレーム画像203から、直接、スケール変換画像203A’、203B’及び203C’を生成するようにしてもよい。
画像合成部53は、位置補正後の第1〜第nのスケール変換画像を合成することにより中間合成画像を生成する。この合成は、同一の位置に配置された画素の画素信号を、位置補正後の第1〜第nのスケール変換画像間で混合することにより行われる。このような合成は、一般にアルファブレンディングとも呼ばれる。
図3及び図4の具体例では、スケール変換画像203A’、203B’及び203C’を合成することで中間合成画像230が得られる。中間合成画像230における位置(x3,y3)の画素信号は、画像203A’、203B’及び203C’における位置(x3,y3)の画素信号を単純平均することで或いは重み付け平均することで生成される。位置(x3,y3)以外の画素信号についても同様である。
この後、画像合成部53は、フレーム画像203の追尾対象領域213内における画像を、中間合成画像230に嵌め込み合成することによって出力ぶれ画像240を生成する。この嵌め込み合成は、追尾対象領域213上における中心位置(x3,y3)を中間合成画像230上における位置(x3,y3)と一致させた状態で行われ、中間合成画像230内の位置(x3,y3)を中心とする一部画像が追尾対象領域213内の画像に置き換えられることで、出力ぶれ画像240が生成される。従って、出力ぶれ画像240の位置(x3,y3)には、フレーム画像203の位置(x3,y3)の画像データが存在することとなる。
尚、フレーム画像203上における追尾対象領域213の位置(x3,y3)によっては、抽出枠223の一部がフレーム画像203の外形枠からはみ出すこともある。はみ出した部分の画像領域には、撮影に基づく画像データが存在しない。また、上述の位置補正によって得られる画像203A’〜 203C’間において、互いに対応し合う画素が存在しないこともある。互いに対応し合う画素が存在しない画像領域に対しては、上述の画素信号の混合を行うことができない。画素信号の混合によって中間合成画像を生成する際、画像データが存在しない画像領域及びスケール変換画像間で互いに対応し合う画素が存在しない画像領域を無視することができる。この場合、中間合成画像及び出力ぶれ画像における視野は、基準画像のそれよりも若干小さくなる。
図5〜図8に、図3及び図4に対応する画像群の例を示す。図5の画像253は、基準画像としてのフレーム画像203の例であり、図6(a)〜(c)の画像253A〜253Cは、夫々、スケール変換画像203A〜203Cの例である。図5において、矩形263内の領域は画像253における追尾対象領域を表し、図6(a)〜(c)において、矩形263A〜263C内の領域は画像253A〜253Cにおける追尾対象領域を表す。図7の画像280は、画像253A〜253Cに基づく中間合成画像であり、図8の画像290は、中間合成画像280と基準画像253に基づく出力ぶれ画像である。
複数の拡大率を用いて得られた複数のスケール変換画像の合成により、中間合成画像280では、全画像領域にわたって、追尾対象領域の中心から外側に向かうぶれが生じている。この中間合成画像280に、ぶれのない追尾対象領域263内の画像を嵌め込むことで、ぶれが背景領域にのみ残存し且つ追尾対象にピントが合った、臨場感のある出力ぶれ画像290が得られる。上述の処理内容を、以下のように表現することもできる。スケール変換画像253A〜253Cの合成結果を基準画像253の背景領域内の画像に適用することで、基準画像253の背景領域内の画像に、追尾対象領域の中心から外側に向かうぶれを生じさせ、これによって出力ぶれ画像290を生成する。
拡大スケール変換が行われる場合の動作を主として説明したが、縮小スケール変換が行われる場合も同様の動作が行われる。即ち、縮小スケール変換が行われる場合、縮小スケール変換によって生成された第1〜第nのスケール変換画像に対して、上述の同様の位置補正が行われる。但し、縮小スケール変換が行われる場合においては、第iの縮小率を用いた縮小スケール変換にて得られたスケール変換画像が第iのスケール変換画像であるとする。ここで、iは1以上n以下の整数であり、第(i+1)の縮小率は第iの縮小率よりも小さいとする。例えば、n=3の場合、第1、第2及び第3の縮小率は、夫々、0.95倍、0.90倍及び0.85倍である。画像合成部53は、縮小スケール変換及び位置補正を用いて得られた第1〜第nのスケール変換画像を合成することにより中間合成画像を生成し、この中間合成画像に、基準画像の追尾対象領域内における画像を嵌め込み合成することで出力ぶれ画像を生成する。中間合成画像を生成するための合成方法及び嵌め込み合成の方法は、上述したものと同様である。
次に、図9を参照して、撮影モードにおいて出力ぶれ画像を生成する動作の流れを説明する。図9は、この動作の流れを表すフローチャートである。但し、図9のフローチャートに対応する動作並びに後述の図10及び図11のフローチャートに対応する動作は、スケール変換として拡大スケール変換がなされ且つ上限拡大率SAMAXが追尾結果情報に基づいて導出されることを前提とする。
まず、ステップS11において、撮像部11の撮影によって今回のフレーム画像が取得される。続くステップS12において、今回のフレーム画像に対して追尾処理を行うことで追尾結果情報が得られ、その追尾結果情報はバッファメモリ54に保存される(記憶される)。その後、ステップS13において、CPU23は、シャッタボタン26bが押下されたか否かを判断する。シャッタボタン26bが押下された場合は、シャッタボタン26bの押下直後に得られた最新のフレーム画像が基準画像(主画像)として決定された上で(ステップS14)、以後、ステップS15〜S20の処理が順次実行される。一方、シャッタボタン26bが押下されていない場合は、ステップS11に戻り、ステップS11〜S13の処理が繰り返し実行される。
ステップS15において、スケール変換部52は、基準画像を含む隣接フレーム画像間における追尾対象領域の大きさの変化量(図3の例における(SIZE3/SIZE2)又は(SIZE4/SIZE3)に対応)に基づき上限拡大率SAMAXを算出し、更に上限拡大率SAMAXに基づいて第1〜第nの拡大率を設定する。そして、ステップS16において、第1〜第nの拡大率を用いた拡大スケール変換を基準画像に対して施すことで第1〜第nのスケール変換画像を生成する。得られた第1〜第nのスケール変換画像に対して上述の位置補正が施され、ステップS17において、画像合成部53が、位置補正後の第1〜第nのスケール変換画像を合成することにより中間合成画像を生成する。その後、ステップS18において、基準画像の追尾対象領域内の画像を中間合成画像に嵌め込み合成することによって出力ぶれ画像を生成する。
生成された出力ぶれ画像の画像データは、ステップS19において、外部メモリ18に記録される。この際、基準画像の画像データも外部メモリ18に記録するようにしてもよい。画像データの記録後、撮影の終了を指示する操作があったならば、図9の動作を終了し、該操作がなかったならばステップS11に戻ってステップS11以降の処理を繰り返し実行する(ステップS20)。
撮影モードにおいて出力ぶれ画像を生成するのではなく、出力ぶれ画像を生成するための画像処理を再生モードにおいて実行することも可能である。この場合は、撮影時において図10のフローチャートに従い必要なデータを記録しておき、再生時において図11のフローチャートに従い記録データから出力ぶれ画像を生成する。
図10のフローチャートに従う、撮影モードにおける動作を説明する。まず、ステップS11〜S13の処理が順次実行される。それらの処理の内容は上述したものと同様である。
ステップS13においてシャッタボタン26bが押下された場合は、シャッタボタン26bの押下直後に得られた最新のフレーム画像が基準画像(主画像)として決定されて(ステップS14)、次に、ステップS30の処理が実行される。一方、ステップS13においてシャッタボタン26bが押下されていない場合、ステップS31にて、CPU23は、再生モードへの移行指示があったか否かを判断する。ユーザは、操作部26に対する所定操作により該移行指示を行うことができる。再生モードへの移行指示があった場合、撮像装置1の動作モードは撮影モードから再生モードに変更され、次に、図11に示されるステップS33の処理が実行される。一方、再生モードへの移行指示がなかった場合、ステップS31からステップS11に戻り、ステップS11〜S13の処理が繰り返し実行される。図11に示されるステップS33の処理の説明を含む、再生モードにおける動作説明は後に設けることとし、先にステップS30の処理説明を行う。
ステップ30において、基準画像の画像データが外部メモリ18に記録される。この際、基準画像から出力ぶれ画像を生成するために必要な情報(以下、関連記録情報という)も、基準画像の画像データに関連付けて記録しておく。関連付けの方法は任意である。例えば、外部メモリ18内に、本体領域とヘッダ領域とを有する画像ファイルを作成し、該画像ファイルの本体領域に基準画像の画像データを格納する一方で関連記録情報を該画像ファイルのヘッダ領域に格納しておけばよい。同一の画像ファイル内の本体領域とヘッダ領域は互いに関連付けられた記録領域であるため、このような格納によって基準画像の画像データと関連記録情報は関連付けられる。
関連記録情報に含めるべき情報は、バッファメモリ54に記憶されている、基準画像としてのフレーム画像及びそれと時間的に隣接するフレーム画像についての追尾結果情報、又は、その追尾結果情報に基づく情報である。基準画像が上述のフレーム画像203である場合においては、例えば、フレーム画像202及び203の追尾結果情報を関連記録情報に含めればよい。
ステップS30における記録処理の後、撮影の終了を指示する操作があったならば、図10の動作を終了し、該操作がなかったならばステップS11に戻ってステップS11以降の処理を繰り返し実行する(ステップS32)。
図11のフローチャートに従う、再生モードにおける動作を説明する。図10のステップS31から移行するステップS33において、外部メモリ18から基準画像の画像データが読み込まれる。読み込まれた基準画像の画像データは、図2のスケール変換部52及び画像合成部53に与えられると共に図1の表示処理部20を介して表示部27に与えられ、ステップS34において、基準画像が表示部27に表示される。
その後、ステップS35において、CPU23は、出力ぶれ画像に相当する縦方向流し撮り画像の生成指示があったか否かを判断する。ユーザは、操作部26に対する所定操作により該生成指示を行うことができる。その生成指示がなかった場合は、ステップS34に戻るが、その生成指示があった場合は、ステップS15〜S18の処理が順次実行される。
ステップS15〜S18の処理内容は、図9を参照して上述したそれらと同様である。但し、再生モードにおいてステップS15〜S18の処理を実行するために必要な追尾結果情報は、外部メモリ18に記録された関連記録情報から取得される。尚、図10及び図11に示す動作例では、再生モードにおいて上限拡大率SAMAXの算出及び第1〜第nの拡大率の設定がなされているが、図10のステップS30の段階で上限拡大率SAMAXを算出して上限拡大率SAMAXを関連記録情報に含めておくようにしても良いし、図10のステップS30の段階で第1〜第nの拡大率を設定して第1〜第nの拡大率を関連記録情報に含めておくようにしても良い。
図11のステップS18にて生成された出力ぶれ画像の画像データは、ステップS36において、外部メモリ18に記録される。この際、基準画像の画像データを消去した上で出力ぶれ画像の画像データを外部メモリ18に記録するようにしても良いし、該消去を行うことなく出力ぶれ画像の画像データを外部メモリ18に記録するようにしても良い。また、生成された出力ぶれ画像は表示部27に表示される(ステップS37)。仮に、上限拡大率SAMAXを変更するための操作がユーザによりなされた場合は、変更後の上限拡大率SAMAXを用いて出力ぶれ画像の生成をやり直すようにしてもよい。これにより、映像を確認しながら、ユーザが望むように、縦方向流し撮りの効果を最適化することが可能となる。
尚、図9〜図11に示す動作例では、上限拡大率SAMAXが追尾対象領域の大きさの変化量に基づいて算出されているが、上述したように、上限拡大率SAMAXをユーザが指定することも可能である。また、図9〜図11に示す動作例では、スケール変換として拡大スケール変換がなされる場合が想定されているが、縮小スケール変換がなされる場合の動作も同様である。
本実施形態によれば、特別な撮影技術及び特別な機材を要することなく、縦方向流し撮りの効果を持った臨場感のある画像を簡単に取得することが可能となる。
<<第2実施形態>>
本発明の第2実施形態に係る撮像装置を説明する。第2実施形態に係る撮像装置の全体的な構成は、図1に示されるそれと同じである。従って、第2実施形態に係る撮像装置も、符号1によって参照する。第2実施形態は、第1実施形態の一部を変形したものに相当する。第2実施形態において、特に述べない事項に関しては、第1実施形態の記載が第2実施形態にも適用される。
第2実施形態では、複数のスケール変換画像の合成を行う代わりに、追尾対象領域の大きさ変化及び位置変化に応じたフィルタリングを基準画像に行うことで、背景領域にぶれを生じさせる。
図12に、第2実施形態に係る出力ぶれ画像を生成するための部位のブロック図を示す。図12に示される追尾処理部51及びバッファメモリ54は、図2に示されるそれらと同じものである。図12の追尾処理部51、画像劣化関数導出部62及びフィルタリング処理部63を、図1の映像信号処理部13に設けておくことができる。撮像部11の撮影によって得られたフレーム画像の画像データは、追尾処理部51及びフィルタリング処理部63に与えられる。
画像劣化関数導出部62(以下、導出部62と略記する)は、バッファメモリ54に記憶された追尾結果情報に基づき、縦方向流し撮り効果を得るためにフレーム画像に作用させるべき画像劣化関数を導出する。フィルタリング処理部63において、この画像劣化関数に応じたフィルタリングをフレーム画像に施すことで、出力ぶれ画像を生成する。
第1実施形態と同様、図3に示すフレーム画像201〜204が撮影されたことを想定して、導出部62及びフィルタリング処理部63の動作を詳説する。第1実施形態と同様に、フレーム画像203が、シャッタボタン26bの押下に従って撮影されるべき静止画像、即ち基準画像(主画像)であるとする。
導出部62では、任意のフレーム画像が被演算画像として取り扱われる。そして、図13に示す如く、被演算画像の全画像領域が水平方向及び垂直方向に複数に分割されることで被演算画像内に複数の小ブロックが設定される。今、水平方向及ぶ垂直方向の分割数を夫々P及びQとする(P及びQは2以上の整数)。各小ブロックは、二次元配列された複数の画素から形成される。また、被演算画像内の小ブロックの水平位置及び垂直位置を表す記号としてp及びqを導入する(pは1≦p≦Pを満たす整数値、且つ、qは1≦q≦Qを満たす整数値)。pが大きくなるほど、その水平位置は右方向に向かい、qが大きくなるほど、その垂直位置は下方向に向かうものとする。水平位置がpであって垂直位置がqである小ブロックを小ブロック[p,q]と表記する。
導出部62は、基準画像を含む隣接フレーム画像間における追尾対象領域の大きさの変化量及び位置の変化量に基づき、小ブロックごとに画像劣化関数を導出する。本例では、フレーム画像203が基準画像であるため、具体的には例えば、フレーム画像202及び203間における追尾対象領域の大きさの変化量及び位置の変化量に基づいて、各ブロックの画像劣化関数を導出することができる。
図14(a)及び(b)に示す如く、クレーム画像202及び203に設定された追尾対象領域212及び213が矩形領域であるものとし、追尾対象領域212の外形である矩形の4頂点の位置を(x2A,y2A)、(x2B,y2B)、(x2C,y2C)及び(x2D,y2D)によって表すと共に、追尾対象領域213の外形である矩形の4頂点の位置を(x3A,y3A)、(x3B,y3B)、(x3C,y3C)及び(x3D,y3D)によって表す。但し、x2A=x2D<x2B=x2C、y2A=y2B<y2D=y2C、x3A=x3D<x3B=x3C、y3A=y3B<y3D=y3C、であるとする。図14(a)及び(b)の左から右へ向かう方向はx座標値の増加方向に対応し、図14(a)及び(b)の上から下へ向かう方向はy座標値の増加方向に対応する。これらの頂点の位置も、追尾結果情報に含まれている。
導出部62は、追尾対象領域212の4頂点の位置及び追尾対象領域213の4頂点の位置から各ブロックの画像劣化関数を導出することができる。追尾対象領域の4頂点の位置が分かれば、自動的に追尾対象領域の大きさが決まるため、追尾対象領域の4頂点の位置は追尾対象領域の大きさを表す情報を含んでいると言える。従って、追尾対象領域212の4頂点の位置及び追尾対象領域213の4頂点の位置は、フレーム画像202及び203間における追尾対象領域の位置の変化量だけでなく、フレーム画像202及び203間における追尾対象領域の大きさの変化量をも表していると言える。
図15は、フレーム画像203上に、フレーム画像203における追尾対象領域213とフレーム画像202における追尾対象領域212を重畳図示したものである。ベクトルVECAは位置(x2A,y2A)を始点とし且つ位置(x3A,y3A)を終点とするベクトルであり、ベクトルVECBは位置(x2B,y2B)を始点とし且つ位置(x3B,y3B)を終点とするベクトルであり、ベクトルVECCは位置(x2C,y2C)を始点とし且つ位置(x3C,y3C)を終点とするベクトルであり、ベクトルVECDは位置(x2D,y2D)を始点とし且つ位置(x3D,y3D)を終点とするベクトルである。
導出部62は、小ブロックごとに画像劣化ベクトルを求める。不等式「SIZE2<SIZE3」又は「SIZE3<SIZE4」が成立し、フレーム画像203の撮影時点周辺における追尾対象領域の大きさの変化方向が増加方向である場合においては、小ブロック[p,q]に対して、追尾対象領域213の中心位置(x3,y3)から当該小ブロック[p,q]の中心位置に向かう向き又はそれと略同じ向きを持った画像劣化ベクトルが求められる。一方、該変化方向が減少方向である場合においては、小ブロック[p,q]に対して、当該小ブロック[p,q]の中心位置から追尾対象領域213の中心位置(x3,y3)に向かう向き又はそれと略同じ向きを持った画像劣化ベクトルが求められる。小ブロック[p,q]に対する画像劣化ベクトルをV[p,q]にて表す。
各画像劣化ベクトルの大きさを、ベクトルVECA、VECB、VECC及びVECDに基づいて決定することができる。
具体的には例えば、画像劣化ベクトルの大きさを決定するために、図16に示す如く、フレーム画像203の全画像領域を位置(x3,y3)を通る水平線301及び垂直線302で4分割することで、4つの画像領域311〜314を設定する。水平線301及び垂直線302は、夫々、フレーム画像203の水平方向及び垂直方向に平行な線である。画像領域311、312、313及び314は、夫々、位置(x3A,y3A)における画素、位置(x3B,y3B)における画素、位置(x3C,y3C)における画素及び位置(x3D,y3D)における画素を内包する、フレーム画像203の一部画像領域である。画像領域311は水平線301の上側且つ垂直線302の左側に位置し、画像領域312は水平線301の上側且つ垂直線302の右側に位置し、画像領域313は水平線301の下側且つ垂直線302の右側に位置し、画像領域314は水平線301の下側且つ垂直線302の左側に位置する。
そして例えば、画像領域311、312、313及び314に属する小ブロックについての画像劣化ベクトルの大きさを、夫々、ベクトルVECA、VECB、VECC及びVECDの大きさに基づいて決定する。
単純には例えば、画像領域311、312、313及び314に属する小ブロックについての画像劣化ベクトルの大きさを、ベクトルVECA、VECB、VECC及びVECDの大きさと一致させる。
或いは例えば、位置(x3,y3)からの距離が大きくなるにつれて、画像劣化ベクトルの大きさを増大させるようにしてもよい。つまり、画像領域311に属する任意の小ブロックに注目した場合、注目小ブロックの中心位置と位置(x3,y3)との距離disが増大するにつれて、注目小ブロックの画像劣化ベクトルの大きさ|V|を、ベクトルVECAの大きさ|VECA|を基準としつつ増大させるようにしてもよい。例えば、|V|=k1×|VECA|+k2×|VECA|×dis、に従って大きさ|V|を求める(k1及びk2は、所定の正の係数)。画像領域312〜314に属する小ブロックの画像劣化ベクトルについても同様である。但し、画像領域312〜314に属する小ブロックの画像劣化ベクトルの大きさは、夫々、ベクトルVECB、VECC及びVECDの大きさを基準として決定される。
図17(a)は、基準画像の撮影時点周辺における追尾対象領域の大きさの変化方向が増加方向である場合において導出される各画像劣化ベクトルを、基準画像の例である画像401に重畳して示した図である。図17(b)は、基準画像の撮影時点周辺における追尾対象領域の大きさの変化方向が減少方向である場合において導出される各画像劣化ベクトルを、基準画像の例である画像402に重畳して示した図である。図17(a)における矩形領域411は、画像401の追尾対象領域そのもの又は画像401の追尾対象領域に包含される領域であり、図17(b)における矩形領域412は、画像402の追尾対象領域そのもの又は画像402の追尾対象領域に包含される領域である。後にも述べられるが、出力ぶれ画像を生成するに当たり、領域411及び412内の画像を劣化させる必要はないため、領域411及び412に対して画像劣化ベクトルは算出されない。
画像劣化ベクトルの算出がなされない小ブロックを、特に被写体ブロックと呼び、それ以外の小ブロックを特に背景ブロックと呼ぶ。上述の説明から理解されるように、被写体ブロックには、追尾対象を表す画像データが存在している。背景ブロックには主として背景の画像データが存在することになるが、追尾対象領域近傍の背景ブロックには、追尾対象の端部を表す画像データが存在しうる。
従って例えば、フレーム画像203の追尾対象領域213が、小ブロック[8,6]、[9,6]、[8,7]及び[9,7]の合成領域と一致しているならば、或いは、該合成領域を包含し且つ該合成領域よりも若干大きい領域であるならば、小ブロック[8,6]、[9,6]、[8,7]及び[9,7]が被写体ブロックとなり、他の小ブロックが背景ブロックとなる。
フレーム画像203の背景ブロック[p,q]内の点像が、フレーム画像203の露光期間中に、画像劣化ベクトルV[p,q]の向きに画像劣化ベクトルV[p,q]の大きさの分だけ移動(例えば等速移動)したと仮定すると、その点像は、フレーム画像203内でぶれた像となる。このぶれを意図的に含ませた画像を劣化画像として捉える。そうすると、劣化画像は、画像劣化ベクトルに基づく上記点像の移動によって、フレーム画像203を劣化させた画像であると考えることができる。この劣化過程を表す関数は、画像劣化関数の一種である点広がり関数(Point Spread Function;以下、PSFという)である。導出部62は、背景ブロックごとに、画像劣化ベクトルに応じたPSFを画像劣化関数として求める。
フィルタリング処理部63では、背景ブロックごとに、PSFを用いた畳み込み演算を基準画像(今の例においてフレーム画像203)に対して行うことで出力ぶれ画像を生成する。実際には、PSFを基準画像に作用させるための二次元の空間フィルタがフィルタリング処理部63に実装されており、導出部62にて、背景ブロックごとに該空間フィルタのフィルタ係数をPSFに応じて算出する。フィルタリング処理部63は、算出されたフィルタ係数を用いて背景ブロックごとに基準画像を空間フィルタリングする。この空間フィルタリングによって、基準画像の背景ブロック内の画像が劣化し、基準画像の背景ブロック内の画像に上記のようなぶれが含まれることとなる。基準画像(今の例においてフレーム画像203)に空間フィルタリングを施すことで得られる結果画像が出力ぶれ画像として、フィルタリング処理部63より出力される。
図18を参照して、撮影モードにおいて出力ぶれ画像を生成する動作の流れを説明する。図18は、この動作の流れを表すフローチャートである。図18のフローチャートは、第1実施形態における図9のステップS11〜S20の内、ステップS15〜S18を、ステップS51及びS52に置き換えたものに相当する。
従って、まず、撮影モードにおいて、第1実施形態におけるものと同様のステップS11〜S14の処理が実行され、ステップS14にて基準画像の決定後に、ステップS51及びS52の処理が実行される。ステップS51では、上述の如く、導出部62が、基準画像を含む隣接フレーム画像間における追尾対象領域の大きさの変化量及び位置の変化量に基づき、小ブロックごとに画像劣化関数を導出する。続くステップS52において、フィルタリング処理部63が、ステップS52にて導出された画像劣化関数に応じたフィルタリングを基準画像に施すことで出力ぶれ画像を生成する。その後、出力ぶれ画像の画像データは、ステップS19において、外部メモリ18に記録される。この際、基準画像の画像データも外部メモリ18に記録するようにしてもよい。画像データの記録後、撮影の終了を指示する操作があったならば、図18の動作を終了し、該操作がなかったならばステップS11に戻ってステップS11以降の処理を繰り返し実行する(ステップS20)。
図9の動作を図10及び図11の動作に変更するのと同様に、撮影モードにおいて出力ぶれ画像を生成するのではなく、出力ぶれ画像を生成するための画像処理を再生モードにおいて実行することも可能である。この場合は、撮影モードにおいて、基準画像の画像データと基準画像から出力ぶれ画像を生成するために必要な関連記録情報を互いに関連付けで外部メモリ18に記録しておき、再生モードにおいて、外部メモリ18から該関連記録情報を基準画像の画像データと共に読み出して導出部62及びフィルタリング処理部63に与えればよい。
関連記録情報の形態は、それを用いて出力ぶれ画像が生成できる限り、任意である。例えば、フレーム画像203が基準画像である場合、第2実施形態における関連記録情報は、フレーム画像202及び203の追尾結果情報そのものであっても良いし、その追尾結果情報から求めた画像劣化ベクトルを表す情報であっても良いし、その画像劣化ベクトルに応じた上記フィルタ係数を表す情報であっても良い。
第2実施形態によっても、第1実施形態と同様の効果を得ることができる。
<<第3実施形態>>
本発明の第3実施形態を説明する。外部メモリ18の記録データに基づいて基準画像から出力ぶれ画像を生成する画像処理を、撮像装置と異なる電子機器にて実現することも可能である(撮像装置も電子機器の一種である)。撮像装置と異なる電子機器とは、例えば、表示部27と同様の表示部を備え、該表示部上に任意の画像を表示することのできる、パーソナルコンピュータ等の画像再生装置(不図示)である。
この場合、第1又は第2実施形態で述べたように、撮像装置1の撮影モードにおいて基準画像の画像データ及び関連記録情報を外部メモリ18に互いに関連付けて記録しておく。一方で、例えば、上記画像再生装置に図2のスケール変換部52及び画像合成部53を設けておき、外部メモリ18に記録された基準画像の画像データ及び関連記録情報を画像再生装置内のスケール変換部52及び画像合成部53に与えることで出力ぶれ画像を生成することができる。或いは例えば、上記画像再生装置に図12の導出部62及びフィルタリング処理部63を設けておき、外部メモリ18に記録された基準画像の画像データ及び関連記録情報を画像再生装置内の導出部62及びフィルタリング処理部63に与えることで出力ぶれ画像を生成することができる。画像再生装置にて生成された出力ぶれ画像を、画像再生装置の表示部上に表示することができる。
<<第4実施形態>>
本発明の第4実施形態に係る撮像装置を説明する。第4実施形態に係る撮像装置の全体的な構成は、図1に示されるそれと同じである。従って、第4実施形態に係る撮像装置も、符号1によって参照する。第4実施形態は、第1実施形態の一部を変形したものに相当する。第4実施形態において、特に述べない事項に関しては、第1実施形態の記載が第4実施形態にも適用される。
第4及び後述の第5実施形態に係る撮像装置1は、第1実施形態において得られるものと同等又は類似の出力ぶれ画像を対象入力画像から生成することができる。対象入力画像とは、シャッタボタン26bの押下に従って撮像部11により撮影される静止画像、或いは、ユーザにより指定された任意の静止画像である。対象入力画像としての静止画像の画像データを内部メモリ17又は外部メモリ18に記録しておき、必要なときにそれを読み出すことができる。対象入力画像は、第1実施形態における基準画像(主画像)に相当する。
第4実施形態に係る撮像装置1には、図19のスケール変換部52及び画像合成部53が備えられており、それらは図2に示されるものと同じものである。図20を参照して、第4実施形態に係る出力ぶれ画像を生成する動作の流れを説明する。図20は、この動作の流れを表すフローチャートである。ステップS101〜S107の処理が順次実行される。ステップS101〜S107の処理は、撮影モードにおいて実行されても良いし、再生モードにおいて実行されても良い。ステップS101〜S107の処理の内、一部の処理を撮影モードにおいて実行し、残りの処理を再生モードにおいて実行するようにしても良い。
まず、ステップS101において、対象入力画像の画像データが取得される。撮影モードにおいてステップS101を実行する場合、対象入力画像は、ステップS101の直前に成されたシャッタボタン26bの押下に従って得られる1枚のフレーム画像であり、再生モードにおいてステップS101を実行する場合、対象入力画像は、外部メモリ18或は他の任意の記録媒体(不図示)から読み出された1枚の静止画像である。
次に、ステップS102において、CPU23はぶれ基準領域を設定し、その設定結果をスケール変換部52に与える(図19参照)。ぶれ基準領域は、対象入力画像の全画像領域の一部であり、ステップS102において、ぶれ基準領域の中心位置及び大きさが設定される。今、ステップS101にて取得される対象入力画像が図21の画像503であるとする。対象入力画像503は図3のフレーム画像203に対応するものである、と考えることができる。図21において、矩形領域513は対象入力画像503に設定されたぶれ基準領域であり、ぶれ基準領域513の中心位置を(x3’,y3’)にて表す。
ユーザは、所定の中心位置設定操作を撮像装置1に成すことで中心位置(x3’,y3’)を自由に指定することができると共に、所定の大きさ設定操作を撮像装置1に成すことでぶれ基準領域513の大きさ(水平及び垂直方向の大きさ)を自由に指定することができる。中心位置設定操作及び大きさ設定操作は、操作部26に対する操作であっても良いし、表示部27にタッチパネルが備えられている場合には、そのタッチパネル対する操作であっても良い。タッチパネルを用いた操作の実現には操作部26も関与しており、本実施形態において、操作部26に対する操作とはタッチパネルを用いた操作をも含んでいるものとする(上述又は後述の他の実施形態においても同様)。また、ユーザは、操作部26に対する所定操作によってぶれ基準領域の形状をも自由に指定することができる。ぶれ基準領域513の形状は矩形でなくても構わないが、今、それは矩形であるとする。
ぶれ基準領域513の中心位置、大きさ及び形状の全部又は一部を指定する操作が操作部26に対して成された場合は、その操作内容に従ってぶれ基準領域513を設定することができる。但し、ぶれ基準領域513の中心位置は予め固定的に定められた位置(例えば、対象入力画像503の中心位置)であっても良い。同様に、ぶれ基準領域513の大きさ及び形状は、予め固定的に定められた大きさ及び形状であっても良い。
図19のスケール変換部52には、ぶれ基準領域513を規定する情報に加えて、ぶれ量を規定する情報が与えられている。ぶれ量は、第1実施形態における「追尾対象領域の大きさの変化量」に対応する量であり、出力ぶれ画像上のぶれの大きさに影響を与える。ユーザは操作部26を介してぶれ量を自由に指定することができる。或いは、ぶれ量は予め固定的に定められた量であっても良い。ぶれ量が定まれば、上限拡大率SAMAXが自動的に定まる。従って、第4実施形態における上限拡大率SAMAXはユーザによって指定される或いは予め固定的に定められていると言え、上限拡大率SAMAXそのものがぶれ量であると捉えても構わない。
ステップS103において、スケール変換部52は、与えられたぶれ量から上限拡大率SAMAXを設定すると共に、上限拡大率SAMAXに基づいて第1〜第nの拡大率を設定する。上限拡大率SAMAX及び第1〜第nの拡大率の意義は第1実施形態で述べた通りである。
第1〜第nの拡大率の設定後、ステップS104〜S107の処理により、対象入力画像503に基づく出力ぶれ画像540が生成される。この生成方法を、図22を参照して説明する。
今、説明の具体化のため、上限拡大率SAMAXが1.15倍以上であって且つ1.20倍未満である場合を想定する。この場合、スケール変換部52は、3種類の拡大率1.05倍、1.10倍及び1.15倍を設定する。そして、図22に示す如く、拡大率1.05倍にて対象入力画像503を拡大スケール変換することでスケール変換画像503Aを生成し、拡大率1.10倍にて対象入力画像503を拡大スケール変換することでスケール変換画像503Bを生成し、拡大率1.15倍にて対象入力画像503を拡大スケール変換することでスケール変換画像503Cを生成する。
スケール変換画像503A、503B及び503Cを生成するための拡大スケール変換は、対象入力画像503の中心Oを基準として行われる。即ち、中心Oに自身の中心が配置された矩形の抽出枠523を対象入力画像503内に設定し、抽出枠523内の画像を拡大率1.05倍で拡大スケール変換することでスケール変換画像503Aを生成する。スケール変換画像503Aを生成する際の抽出枠523の大きさは、水平及び垂直方向の夫々において、対象入力画像503の大きさの(1/1.05)倍である。スケール変換画像503B及び503Cは、夫々、抽出枠523内の画像を拡大率1.10倍及び1.15倍で拡大スケール変換することで生成される。但し、スケール変換画像503Bを生成する際の抽出枠523の大きさは、水平及び垂直方向の夫々において、対象入力画像503の大きさの(1/1.10)倍であり、スケール変換画像503Cを生成する際の抽出枠523の大きさは、水平及び垂直方向の夫々において、対象入力画像503の大きさの(1/1.15)倍である。
図22において、矩形領域513A、513B及び513Cは、夫々、スケール変換画像503A、503B及び503Cにおけるぶれ基準領域を表し、位置(xA’,yA’)、(xB’,yB’)及び(xC’,yC’)は、夫々、ぶれ基準領域513A、513B及び513Cの中心位置を表す。
スケール変換画像503A、503B及び503Cは画像合成部53によって合成されるが、この合成に先立ち、各スケール変換画像を平行移動させるための幾何学的変換を各スケール変換画像に対して施す。この幾何学的変換を、第1実施形態と同様、位置補正と呼ぶ。位置補正は画像合成部53で行われるが、それをスケール変換部52にて行うようにしても良い。
n枚のスケール変換画像が第1〜第nのスケール変換画像から成るものとし、第iの拡大率を用いた拡大スケール変換にて得られるスケール変換画像が第iのスケール変換画像であるとする。ここで、iは1以上n以下の整数であり、第(i+1)の拡大率は第iの拡大率よりも大きいとする。図22の具体例では、第1、第2及び第3の拡大率が、夫々、1.05倍、1.10倍及び1.15倍である。第1〜第nの拡大率を用いた拡大スケール変換により、第1〜第nのスケール変換画像としての画像503A、503B及び503Cを得るための処理が、ステップS104にて行われる。
ステップS104又はS105において、画像合成部53は、第iのスケール変換画像上のぶれ基準領域の中心位置を位置(x3’,y3’)へと平行移動させる位置補正を行う。即ち、画像合成部53は、スケール変換画像503A上の位置(xA’,yA’)における画素を位置(x3’,y3’)における画素へと平行移動させる位置補正をスケール変換画像503Aに施すことで、位置補正後のスケール変換画像503A’を生成する。同様に、スケール変換画像503Bの位置(xB’,yB’)における画素を位置(x3’,y3’)へと平行移動させる位置補正をスケール変換画像503Bに施すことで位置補正後のスケール変換画像503B’を生成し、スケール変換画像503Cの位置(xC’,yC’)における画素を位置(x3’,y3’)へと平行移動させる位置補正をスケール変換画像503Cに施すことで位置補正後のスケール変換画像503C’を生成する。図22において、矩形領域513A’、513B’及び513C’は、夫々、スケール変換画像503A’、503B’及び503C’におけるぶれ基準領域を表している。
尚、上述の例では、スケール変換後に位置補正のための幾何学的変換を実行しているが、位置補正のための幾何学的変換をスケール変換のための線形変換に含めておくことで、対象入力画像503から、直接、スケール変換画像503A’、503B’及び503C’を生成するようにしてもよい。また、位置(x3’,y3’)が中心Oの位置と一致している場合においては、上記の位置補正は不要である(換言すれば、位置(x3’,y3’)が中心Oの位置と一致している場合には、画像503A、503B及び503Cは、夫々、画像503A’、503B’及び503C’と同じものとなる)。
ステップS105において、画像合成部53は、第1実施形態と同様の方法にて、位置補正後の第1〜第nのスケール変換画像を合成することにより中間合成画像を生成する。図22の具体例では、スケール変換画像503A’、503B’及び503C’を合成することで中間合成画像530が得られる。中間合成画像530における位置(x3’,y3’)の画素信号は、画像503A’、503B’及び503C’における位置(x3’,y3’)の画素信号を単純平均することで或いは重み付け平均することで生成される。位置(x3’,y3’)以外の画素信号についても同様である。
ステップS106において、画像合成部53は、第1実施形態と同様の方法にて、対象入力画像503のぶれ基準領域513内の画像を中間合成画像530に嵌め込み合成することにより出力ぶれ画像540を生成する。この嵌め込み合成は、ぶれ基準領域513上における中心位置(x3’,y3’)を中間合成画像530上における位置(x3’,y3’)と一致させた状態で行われ、中間合成画像530内の位置(x3’,y3’)を中心とする一部画像がぶれ基準領域513内の画像に置き換えられることで、出力ぶれ画像540が生成される。従って、出力ぶれ画像540の位置(x3’,y3’)には、対象入力画像503の位置(x3’,y3’)の画像データが存在することとなる。
生成された出力ぶれ画像540の画像データは、ステップS107において、外部メモリ18に記録される。この際、対象入力画像503の画像データも外部メモリ18に記録するようにしてもよい。
拡大スケール変換を用いた図20の処理によって、撮像装置1に近づくように移動する移動体にピントがあったような縦方向流し撮り効果を有する出力ぶれ画像を生成することができるが、拡大スケール変換の代わりに縮小スケール変換を用いることもできる。この場合、ステップS103において上限拡大率SAMAX及び第1〜第nの拡大率の代わりに下限縮小率SBMAX及び第1〜第nの縮小率がぶれ量に基づき設定され、ステップS104において第1〜第nの縮小率を用いた縮小スケール変換により第1〜第nのスケール変換画像が生成されることになる。第1実施形態で述べられた、縮小スケール変換を用いて出力ぶれ画像を生成する方法が、本実施形態にも適用される。ユーザは、拡大スケール変換を用いて出力ぶれ画像を生成するのか、或いは、縮小スケール変換を用いて出力ぶれ画像を生成するのかを、操作部26を介して指定することができる。
本実施形態によっても第1実施形態と同様の効果が得られる。つまり、対象入力画像が図5の画像253であったのならば、画像253から図8の出力ぶれ画像290と同等の出力ぶれ画像を生成することができる。更に、本実施形態によれば、このような出力ぶれ画像を1枚の画像から生成することが可能となる。
<<第5実施形態>>
本発明の第5実施形態を説明する。第5実施形態に係る撮像装置の全体的な構成は、図1に示されるそれと同じである。従って、第5実施形態に係る撮像装置も、符号1によって参照する。第5実施形態において、特に述べない事項に関しては、第1、第2及び第4実施形態の記載が第5実施形態にも適用される。
第5実施形態に係る撮像装置1は、第2実施形態で述べた方法に類似する方法を利用して、対象入力画像から出力ぶれ画像を生成する。第5実施形態に係る撮像装置1には、図23の画像劣化関数導出部62及びフィルタリング処理部63が備えられており、それらは図12に示されるものと同じものである。
第5実施形態においては、第4実施形態で述べたぶれ基準領域及びぶれ量を規定する情報が導出部62に与えられる。ぶれ基準領域及びぶれ量の設定方法は、第4実施形態で述べた通りである。今、説明の具体化のため、第4実施形態の具体例と同様、対象入力画像及びぶれ基準領域が夫々対象入力画像503及びぶれ基準領域513であって、ぶれ基準領域513の中心位置が位置(x3’,y3’)である場合を想定する(図21参照)。
第2実施形態で述べたように、被演算画像としての対象入力画像503の全画像領域内に複数の小ブロックが設定される(図13参照)。導出部62は、ぶれ基準領域及びぶれ量を規定する情報に基づき、小ブロックごとに画像劣化関数を導出する。図24に示す如く、小ブロック[p,q]の画像劣化関数の元となる画像劣化ベクトルV[p,q]は、位置(x3’,y3’)から小ブロック[p,q]の中心位置に向かう向きを有する。従って、図17(a)の画像401が対象入力画像503であるならば、図17(a)の複数の矢印で表されるような複数の画像劣化ベクトルが導出される。ここで、矩形領域411に対しては画像劣化ベクトルの導出が成されない。図17(a)の画像401が対象入力画像503である場合、矩形領域411は、ぶれ基準領域513そのもの又はぶれ基準領域513に包含される領域である。
第2実施形態と同様、画像劣化ベクトルの算出がなされない小ブロックを、特に被写体ブロックと呼び、それ以外の小ブロックを特に背景ブロックと呼ぶ。従って例えば、対象入力画像503のぶれ基準領域513が、小ブロック[8,6]、[9,6]、[8,7]及び[9,7]の合成領域と一致しているならば、或いは、該合成領域を包含し且つ該合成領域よりも若干大きい領域であるならば、小ブロック[8,6]、[9,6]、[8,7]及び[9,7]が被写体ブロックとなり、他の小ブロックが背景ブロックとなる。全ての背景ブロックの合成領域は背景領域に相当する。
各背景ブロックの画像劣化ベクトルの大きさを、設定されたぶれ量に基づいて決定することができる。各背景ブロックの画像劣化ベクトルの大きさは、設定されたぶれ量が増大するにつれて増大する。
この際、画像劣化ベクトルの大きさを、全ての背景ブロック間で同じとすることができる。或いは、位置(x3’,y3’)からの距離が大きくなるにつれて、画像劣化ベクトルの大きさを増大させるようにしてもよい。つまり、注目背景ブロックの中心位置と位置(x3’,y3’)との距離dis’が増大するにつれて、注目背景ブロックの画像劣化ベクトルの大きさを、設定されたぶれ量を基準としつつ増大させるようにしてもよい。更に或いは、操作部26を用いて背景ブロックごとのぶれ量がユーザにより指定されている場合には、背景ブロックごとのぶれ量に基づき、背景ブロックごとに画像劣化ベクトルの大きさを決定するようにしても良い。
導出部62は、背景ブロックごとに、画像劣化ベクトルに応じたPSFを画像劣化関数として求め、フィルタリング処理部63は、背景ブロックごとに、PSFを用いた畳み込み演算を対象入力画像503に対して行うことで出力ぶれ画像を生成する。背景ブロックごとの画像劣化ベクトルを用いて対象入力画像から出力ぶれ画像を生成する方法は、第2実施形態で述べた、背景ブロックごとの画像劣化ベクトルを用いて基準画像から出力ぶれ画像を生成する方法と同じである。第2実施形態の記載を本実施形態に適用する場合、第2実施形態におけるフレーム画像203又は基準画像を、対象入力画像503に読み替えれば良い。
図25を参照して、第5実施形態に係る出力ぶれ画像を生成する動作の流れを説明する。図25は、この動作の流れを表すフローチャートである。ステップS121〜S125の処理が順次実行される。ステップS121〜S125の処理は、撮影モードにおいて実行されても良いし、再生モードにおいて実行されても良い。ステップS121〜S125の処理の内、一部の処理を撮影モードにおいて実行し、残りの処理を再生モードにおいて実行するようにしても良い。
ステップS121及びS122の処理は、図20のステップS101及びS102のそれと同じである。即ち、ステップS121において、対象入力画像の画像データが取得され、ステップS122において、CPU23は、操作部26を介したユーザの指定内容に基づき或いは予め固定的に定められた内容に基づきぶれ基準領域を設定する。この設定内容には、ぶれ基準領域の中心位置、大きさ及び形状が含まれる。
ステップS123において、導出部62は、操作部26を介してユーザにより指定されたぶれ量又は予め固定的に定められたぶれ量と、ステップS122にて設定された内容に基づき、背景ブロックごとに画像劣化関数を導出する。続くステップS124において、フィルタリング処理部63が、ステップS123にて導出された画像劣化関数に応じたフィルタリングを対象入力画像に施すことで出力ぶれ画像を生成する。その後、出力ぶれ画像の画像データは、ステップS125において、外部メモリ18に記録される。この際、対象入力画像の画像データも外部メモリ18に記録するようにしてもよい。
上述の具体例では、撮像装置1に近づくように移動する移動体にピントを合わせたような出力ぶれ画像(以下、第1出力ぶれ画像と呼ぶ)を生成しているが、上述と同様の方法にて、撮像装置1から遠のくように移動する移動体にピントを合わせたような出力ぶれ画像(以下、第2出力ぶれ画像と呼ぶ)を生成することも可能である。第2出力ぶれ画像を生成する際には、背景ブロックの画像劣化ベクトルの向きを、第1出力ぶれ画像を生成する場合のそれの逆にすれば足る。第1及び第2出力ぶれ画像のどちらを生成するのかを、ユーザは操作部26を用いて指定することができる。
上述の如く、ぶれ基準領域の位置及び注目背景ブロックの位置間を結ぶ方向と平行となるように注目背景ブロックの画像劣化ベクトルの向きを設定することにより、ぶれ基準領域から流れ出すような或いはぶれ基準領域に向かうようなぶれが出力ぶれ画像上に発生し、ぶれ基準領域内の被写体を移動体として捉えたような縦方向流し撮り効果を得ることができる。つまり、第5実施形態によっても、第4実施形態と同様の効果を得ることができる。
<<第6実施形態>>
本発明の第6実施形態を説明する。対象入力画像から出力ぶれ画像を生成する画像処理を、撮像装置と異なる電子機器にて実現することも可能である(撮像装置も電子機器の一種である)。撮像装置と異なる電子機器とは、例えば、表示部27と同様の表示部を備え、該表示部上に任意の画像を表示することのできる、パーソナルコンピュータ等の画像再生装置(不図示)である。
例えば、上記画像再生装置に図19のスケール変換部52及び画像合成部53を設けておき、外部メモリ18に記録された対象入力画像の画像データを画像再生装置内のスケール変換部52及び画像合成部53に与えることで出力ぶれ画像を生成することができる。或いは例えば、上記画像再生装置に図23の導出部62及びフィルタリング処理部63を設けておき、外部メモリ18に記録された対象入力画像の画像データを画像再生装置内の導出部62及びフィルタリング処理部63に与えることで出力ぶれ画像を生成することができる。画像再生装置にて生成された出力ぶれ画像を、画像再生装置の表示部上に表示することができる。操作部26と同等の操作部を上記画像再生装置に設けておけば、その操作部を介してユーザはぶれ基準領域及びぶれ量などを指定することができる。
上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。
図1の撮像装置1を、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって構成することができる。特に、追尾処理部51、スケール変換部52、画像合成部53、導出部62及びフィルタリング処理部63の機能は、ハードウェアのみ、ソフトウェアのみ、または、ハードウェアとソフトウェアの組み合わせによって実現可能である。それらの機能の全部または一部を、プログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その機能の全部または一部を実現するようにしてもよい。