説明

画像処理装置、画像処理方法及び画像処理プログラム

【課題】被写体面が設定され、該被写体面の設定に応じて好適な画像処理が行われる。
【解決手段】画像処理装置は、撮像画像に対応する画像データと、前記撮像画像内で指定された点までの距離に関する距離情報を受け、この指定された前記点を含む被写体面100を設定し、前記距離情報を前記被写体面からの距離情報に変換し、この変換された距離情報に応じた所定の画像処理を行なう制御部7を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置等に係り、特に設定された被写体面に応じて例えばボカシ処理等の画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
従来、フィルム式カメラやディジタルカメラ等の撮像装置においては、撮像レンズにアオリ操作を行って撮像を行うことがある。ここで、「アオリ操作」(camera movement)とは、撮像レンズの光軸を撮像画面の中心(部)でフィルム面(或いは撮像素子面)と直交させるといった撮像装置とレンズとの基本的な関係を崩すことで、結像効果を変えるレンズ操作(或いはカメラ操作)である。このような操作は、「カメラムーブメント」と総称される。アオリ操作によれば、建物等の遠近感歪み(パースペクティブ・ディフォルメーション)を補正し、被写界深度をコントロールし、或いは鏡等へのカメラの映り込みを避けることができる。
【0003】
ここで、このカメラムーブメントは、図35に示されるように大別される。
【0004】
即ち、カメラムーブメントには、「ディスプレースメント(「シフト」、「ライズフォール」)」と「スイング」、「ティルト」という、2通りの操作がある。前者では、撮像レンズの光軸とフィルム面(或いは撮像素子面)との直交関係を崩すことなくレンズ面(又はフィルム面/撮像素子面)を互いに平行移動させる。つまり、光軸が交差する位置を画面の中心(部)からずらす。後者では、撮像レンズの光軸とフィルム面(或いは撮像素子面)の直交関係を崩す。つまり、光軸とフィルム面(或いは撮像素子面)の交差角を垂直(90度)以外に変える。
【0005】
厳密に解すれば、前者の「ディスプレースメント」のみが「アオリ」(camera movement)に相当するが、一般的には両者を混同して「アオリ」と総称されていることが多い。そこで、以下では便宜上、「シフト」、「ライズフォール」、「ティルト」、「スイング」を、それぞれシフトアオリ、ライズフォールアオリ、ティルトアオリ、スイングアオリと称する。
【0006】
これらを更に詳細に説明すると、「シフトアオリ」とは、レンズ光軸(又はフイルム面/撮像素子面)を左右に移動させるもので、構図の修正、歪みの矯正に使用される。この操作をすればカメラを動かすことなく左右方向へ構図を変更することができる。このシフトアオリを用いれば、例えば鏡の中心より左右どちらかにずれた位置から撮像しているにも関わらず鏡の中央で撮ったような写真が得られる。「ライズフォールアオリ」とは、上下にレンズ面(又はフィルム面/撮像素子面)を移動させるもので、シフトアオリと同様に構図の修正、歪みの矯正に使用される。このライズフォールアオリを使用することで、三脚のエレベーター、脚等を伸ばさなくても、上下に構図を修正できる。また、通常カメラで高いビルなどを見上げた場合、遠い部分が小さく先細るように写るが、これを垂直に写すためのパースペクティブ・コントロールに用いられることもある。
【0007】
一方、「ティルトアオリ」とは、レンズ光軸に対して、前後方向にレンズ面(又はフィルム面/撮像素子面)を傾けるものであり、主にピント面位置の変更や、歪みの矯正に使用される。このティルトアオリを使用すれば、絞りが開放であっても、遠くから近くまで広範に亘りピントを合わせることができる。「スイングアオリ」とは、撮像レンズの光軸に対して垂直な線を軸にしてレンズ面(又はフィルム面/撮像素子面)を回転させるものであり、その効果は、前述したティルトアオリと同様である。
【0008】
例えば、ティルトアオリで被写体面を操作することによって被写界深度を深く見せる原理としては所謂「シャインプルフの法則」が知られているが、以下、図36を参照して、該シャインプルフの法則を用いた撮像手法について、その概略を説明する。シャインプルフの法則とは、一般的には被写体面、レンズ面および結像面を延長した面が一本の直線上で交わることをいう。つまり、撮像素子面400と撮像レンズ401の主平面とを傾けて配置したとき撮像素子面400と撮像レンズ401の主平面と一つの稜線で交わるように傾いた被写体面402にピントが合うということをいう。この撮像レンズ401の光軸に対する傾斜角を調整することで、被写体面を変更するといった撮像技法も今日では見受けられる。
【0009】
そして、例えば、同技法によるアオリ効果を用いて、被写体面を操作することによって被写界深度を深く見せるだけでなく被写体面を調整して都市や建物をミニチュアのように撮る撮像技法が知られている。
【0010】
以上の撮像技法は、光学系の操作によりアオリ効果を得るものであるが、ディジタル処理によってアオリ効果を得るものとしては、例えば、特殊なレンズを用いることなく画像処理によってアオリ補正(シフトアオリ、ライズ/フォールアオリ)を行う撮像装置(例えば特許文献1参照)、元々アオリ効果がもたらされた画像(例えば、ホワイトボードを斜め下から撮像した画像)を、マニュアル指定された傾斜角と被写体までの測距データに基づき疑似正面画像に変換するディジタルカメラ(特許文献2参照)がある。
【0011】
【特許文献1】特開平8−163428号公報
【特許文献2】特開平9−289610号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかしながら、特許文献1に開示された技術は、アオリ効果と同様の図形補正を、ディジタル技術を用いて電子的に行うものではあるが、スイングアオリ、ティルトアオリに相当する撮像技法を画像処理により実現することはなされていない。
【0013】
一方、特許文献2に開示された技術では、斜め画像を疑似正面画像に補正して撮像するものであるが、これも特許文献1と同様に、スイングアオリ、ティルトアオリに相当する撮像技法を画像処理により実現することはなされていない。
【0014】
そして、特に、前述したようなアオリ効果を用いて、実際の撮像素子/焦点距離では撮像できないような浅い被写界深度及び傾いた被写体面での撮像と同等の効果を付与した画像を画像処理により得るための従来技術は存在しない。
【0015】
そこで、本発明は、設定された被写体面に応じて例えばボカシ処理等の画像処理を行うことを課題とする。
【課題を解決するための手段】
【0016】
本発明の第1の観点による画像処理装置では、画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて、被写体面を設定する被写体面設定部と、この被写体面に応じて前記画像データの距離情報を変換する距離情報変換部と、この距離情報変換部で変換された距離情報に基づいて画像データに対して画像処理を行う画像処理部とを有する。
【0017】
そして、本発明の第2の観点による画像処理方法は、画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて被写体面を設定し、この被写体面に応じて前記画像データの距離情報を変換し、この変換された距離情報に基づいて前記画像データに対して画像処理を行う。
【0018】
更に、本発明の第3の観点による画像処理プログラムは、画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて、被写体面を設定するステップと、前記被写体面に応じて前記画像データの距離情報を変換するステップと、変換された距離情報に基づいて前記画像データに対して画像処理を行うステップとからなる画像処理方法をコンピュータに実行させる。
【0019】
従って、以上の第1乃至第3の観点によれば、被写体面が設定され、該被写体面の設定に応じて好適な画像処理が行われる。
【発明の効果】
【0020】
本発明によれば、設定された被写体面に応じて例えばボカシ処理等の画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照して、本発明を実施するための最良の形態(以下、単に実施の形態と称する)について詳細に説明する。
【0022】
(第1の実施の形態)
先ず、図1の概念図を参照して、本発明の第1の実施の形態に係る画像処理装置の基本原理について説明する。ここでは、第1の実施の形態に係る画像処理装置を撮像装置としてのディジタルカメラに適用した例を挙げているが、これに限定されるものではない。
【0023】
図1に示されるように、撮像装置1により撮像が行われると、所定の画像処理が施された後に、画像データと距離情報(距離データ)が内蔵メモリ2に記憶される。この画像データは適宜読み出されて撮像画像がLCD(Liquid Crystal Display)等の表示部3に表示される。
【0024】
ユーザは、表示部3に表示された撮像画像を確認しつつ、タッチパネル5を操作して所望の点である指定点を1点以上指定し、十字キー4(例えば、上下左右ボタンで構成される)を操作して、被写体面の傾き方向及び角度を任意に設定する。
【0025】
尚、内蔵メモリ2は例えば記憶機能を実現するものである。タッチパネル5は例えば指定機能を実現するものである。十字キー4は例えば設定機能を実現するものである。
以上の構成により、制御部7は、画像データに基づく表示画像の領域毎に対応した距離情報に基づいて、表示画像内のユーザ指定による指定点の距離情報に基づいて被写体面を設定する。そして、制御部7は、この被写体面に応じて画像データに係る各点の距離情報を変換する。画像処理部6は、この変換された距離情報に基づいて画像データに対して画像処理を行う。従って、この場合、制御部7は被写体面設定機能、距離情報変換機能を実現し、画像処理部6は画像処理機能を実現することになる。
【0026】
つまり、図2(a)に示されるように、ユーザによりタッチパネル5上で1点が指定されると、この指定された点である指定点を含み撮像レンズの光軸(イメージャへの入射光の光軸)に直交する平面が被写体面100として仮設定され、以降、指定点を中心とするX軸周り及びY軸周りの被写体面100の傾き方向及び角度の設定が可能となる。指定されるのは、当該対象の一部である点である。
【0027】
例えば、十字キー4の左右のボタンが操作されると、Y軸周りに被写体面100が回転し、その回転に応じて傾き方向及び角度が設定される。また、例えば十字キー4の上下のボタンが操作されると、X軸周りに被写体面100が回転し、その回転に応じて傾き方向及び角度が設定される。尚、図2(b)では、一例として、十字キー4の操作によりY軸周りの回転により傾き方向がY軸周りに設定され、傾き角度が図中符号θに設定された被写体面101を図示している。尚、回転は必須ではなく、回転させなくても1点の指定により被写体面100は設定される。
【0028】
こうして、タッチパネル5及び十字キー4の操作により、所望とする被写体面100(101)の設定が完了すると、撮像装置に内蔵された画像処理部6により所定の画像処理としての、例えばボカシ処理が施された画像が表示部3(若しくは不図示の外部ディスプレイ)に表示される。
【0029】
即ち、この例では、指定された点の座標に基づいて画像データの各点に係る距離情報を変換し、この変換後の距離情報に基づいて画像データに対して例えばボカシ処理等の画像処理を行う。そして、ユーザ指定に従って被写体面が指定点を回転中心として回転させ被写体面を変更した場合には、指定点の座標と、前記回転の角度に基づいて、前記画像データの各点に係る距離情報を変換する。そして、この変換後の距離情報に基づいて画像データに対して例えばボカシ処理等の画像処理を施される。尚、画像処理部6は、例えば、この画像処理機能を実現するものである。
【0030】
本実施の形態で用いる距離情報は所謂デプス・マップ(Depth Map)データであり、撮像画像の内の1点以上に対する個々の距離データである。尚、複数の領域を最も細かくした場合が画素に相当する。この場合には、デプス・マップデータとは、例えば複数画素の各画素毎の距離データであるとも言える。
【0031】
この距離情報を得る方法としては、例えばTOF(Time of flight)方式やボケ量解析(Depth from Defocus)等を採用することができる。ここで、TOF法とは、光源から出射された光が対象物で反射し、センサに到達するまでの光の遅れ時間と光の速度とから被写体までの距離を得る手法である。これらの詳細については、後に詳述する。
【0032】
以上のように、第1の実施の形態に係る画像処理装置では、撮像画像内の1点が指示されたときには当該点を含み光軸と直交している面を被写体面とする。より詳細には、当該点並びにその点と同じ距離情報を有する点を含む面が被写体面として設定される。
【0033】
更に、例えばタッチパネル5の操作により撮像画像内の少なくとも2点以上が指定されると、制御部7の制御の下、これら2以上の点に対応する距離情報を内蔵メモリ2から読み出し、被写体面のレンズ光軸に対する傾き方向と傾き角度を各々算出し、該傾き方向と傾き角度に基づいて被写体面を設定する。この傾き方向と傾き角度の算出方法については後に詳述する。
【0034】
従って、撮像レンズの光軸と直交する被写体面、即ち、ボケを付加しない点を、例えばタッチパネル5の操作により一つに指定し、被写体面からの距離に基づいて所定の画像処理、即ち例えばボカシ処理を施す。これにより、光学的なアオリ効果(ティルトアオリ又はスイングアオリ)を用いることなく、実際の撮像素子の性能、レンズ位置等を調整することによる焦点距離の調整では撮像できない「浅い被写界深度及び傾いた被写体面での撮像」と同等の効果を付与した画像が得られる。従って、撮像装置に適用した場合には、コンパクトディジタルカメラで、ディジタル一眼レフカメラや大判カメラで高度な技法を用いて得た画像と同等の画像が簡易に得られる。
【0035】
次に、図3のブロック図を参照して、上記基本原理を採用した本発明の第1の実施の形態に係る画像処理装置について詳細に説明する。ここでは、該画像処理装置をディジタルカメラ等の撮像装置に適用した例を示しているが、これには限定されない。
【0036】
図3に示されるように、撮像光学系11の光軸上には撮像素子12が配置され、当該撮像素子12は映像出力部13に接続されている。この映像出力部13はアナログ/ディジタル(以下、A/Dと略記する)コンバータ14に接続されており、当該A/Dコンバータ14はメモリ制御部15及び画像処理部24に接続されている。このメモリ制御部15は、表示メモリ16と通信自在に接続されている。更に、メモリ制御部15は、表示処理部17、ディジタル/アナログ(以下、D/Aと略記する)コンバータ18を介してLCDモニタ19に接続されている。画像処理部24はDRAM(Dynamic Random Access Memory)等からなるフレームバッファ(フレームメモリ)25と接続されている。
【0037】
一方、装置全体の制御を司るためのCPU(Central Processing Unit)21は、ROM(Read Only Memory)22、RAM(Random Access Memory)23、画像処理部24、OSD(On Screen Display)処理部26、撮像条件検出部27、カメラ駆動制御28、測距部29、タッチパネル34と制御バス35を介して通信自在に接続されている。
【0038】
さらに、CPU21は、制御バス35、メモリインタフェース(以下、I/Fと略記する)30を介してメモリカード31と接続されており、制御バス35、入力I/F32を介して操作入力部33と接続されている。そして、これらの構成のうち、CPU21とROM22、RAM23により制御部20を構成している。
【0039】
尚、RAM23、メモリカード31は、例えば記憶機能を実現する。操作入力部33は、例えば指定機能や設定機能を実現する。そして、画像処理部24は、例えば画像処理機能を実現する。さらに、制御部20、特にCPU21は、例えば制御機能を実現する。
【0040】
このような構成において、CPU21は、装置の各部を制御するとともに、ROM22に格納された画像処理プログラムを読み出し、該プログラムに従った処理を行う。このROM22には、画像処理プログラムのほか、各種の固定データが格納されている。この処理の過程で、RAM23は、ワークエリアとして機能することになる。
【0041】
被写体光が入射すると、撮像光学系11を介して撮像素子12に結像される。カメラ駆動制御部28は、露出制御、絞り制御、焦点制御、ズーム制御、シャッター制御等の駆動制御を行う。撮像素子12は光電変換を行い、アナログ画像信号を映像出力部13に供給する。映像出力部13は、アナログ画像信号を撮像条件検出部27に供給し、撮像条件検出部27は当該アナログ画像信号についてホワイトバランスなどの撮像条件を検出する。
【0042】
さらに、映像出力部13は、この輝度信号と色差信号からなるアナログ画像信号をA/Dコンバータ14に送出し、A/Dコンバータ14は当該アナログ画像信号をディジタルの画像データに変換しメモリ制御部15に送出する。メモリ制御部15は、この画像データを表示メモリ16に一時的に記憶する。この画像データは、メモリ制御部15により読み出され、表示処理部17に供給される。該表示処理部17では、画像データが、RGBの画像データに変換される。このRGBの画像データは、D/Aコンバータ18で液晶駆動用のRGBのアナログ画像信号に変換された後、LCDモニタ19に供給される。そして、該LCDモニタ19上にて実写画像が表示される。なお、実写画像はいわゆるスルー画像といわれるものである。
【0043】
このように実写画像がLCDモニタ19上に表示された状態で、操作入力部33の一要素であるシャッターボタンが押下されると、撮像動作が行われる。
【0044】
即ち、制御部20の制御によって、実写画像の1画面分の画像データが画像処理部24を通じてフレームバッファ25に取り込まれ、画像処理部24で圧縮され、所定フォーマットの画像ファイルに変換されて、メモリI/F30を介してメモリカード31に記録される。このとき、撮像素子を含む測距部29により測定された被写体距離の情報(以下、距離情報と略記する)も、任意のフォーマットでメモリカード31に記録される。
【0045】
制御部20によって、メモリカード31から、画像データ及び距離情報が読み出されると、圧縮された画像データが、画像処理部24にて伸長されて、フレームバッファ25に記憶されると共に、メモリ制御部15によって表示メモリ16に書き込まれ、該表示メモリ16から読み出されて、LCDモニタ19上に画像が表示される。
【0046】
この状態下で、ユーザにより、タッチパネル34上で所望とする点が指定されると、CPU21は撮像画像の内の点を指定点として仮設定を行う。このとき、この設定された点に基づいて被写体面を仮設定する。その後、更に操作入力部33の一要素である十字キーが操作されると、CPU21は、その操作に基づいて被写体面の傾き方向と傾き角度を設定する。こうして、制御部20のCPU21は、フレームメモリ25に記憶された画像データに対して画像処理部24にて画像処理を施す。
【0047】
より具体的には、CPU21の制御の下、画像処理部24は、浅い被写界深度でピントが合っていて他がボケている写真を銀塩カメラで撮影したのと同様となるよう、画像処理により、該被写体面に載っていない画素に対してボカシ処理を施す。このボカシ処理が施された画像データは、メモリ制御部15を通じて表示処理部17に供給され、LCDモニタ19上に処理後の画像が表示される。この処理の画像データは、メモリI/F30を介してメモリカード31に記録される。
【0048】
尚、ボカシ処理に際しては、前記画像処理部24は、前記被写体面からの距離に応じてボケ量を制御することもできる。この場合、被写体面と画素との距離に応じてボケ具合が段階的に変わるようにすることができる。例えば、被写体面と他の画素との距離が離れていくのに従ってボケ量を増していくことによって、撮像光学系同様のボカシ効果を得ることができる。即ち、こうすることによって、被写体面にピントが合っていて、この被写体面から離れていくのに従ってピントが合わなくなってきて、画像がぼけていく様子を表現することができる。尚、以上の説明では、被写体面と他の画素との距離情報との関係に基づいてボケ量を制御する例を示したが、画素に限定されることなく、所定の領域(複数画素からなる)単位で、同様の制御をしてもよい。
【0049】
以下、図4乃至図6のフローチャートを参照して、本発明の第1の実施の形態に係る画像処理装置によるアオリ効果と同等の補正を行う特徴的な処理について詳細に説明する。
【0050】
尚、以下の処理は、第1の実施の形態に係る画像処理方法にも相当する。
【0051】
この図4の処理を開始すると、制御部20のCPU21は、撮像動作を行い(ステップS1)、距離情報を生成すると(ステップS2)、画像データと距離情報をメモリカード31に記録する(ステップS3)。尚、撮像動作と距離情報の生成の処理手順は、いずれが先であっても同時であってもよいことは勿論である。また、記録先はメモリカード31に限定されるものではない。
【0052】
すなわち、以上の処理により、制御部20のCPU21の制御の下、画像データが画像処理部24を通じてフレームメモリ25に取り込まれ、画像処理部24で圧縮され、所定フォーマットの画像ファイルに変換され、メモリI/F30を介してメモリカード31に記録される。このとき、測距部29により測定された距離情報も所定のフォーマットでメモリカード31に記録されることになる。
【0053】
尚、この例では、撮像動作と距離情報の生成を1つの撮像素子12と測距部29の構成要素としての不図示の撮像素子とで行う例を挙げたが、これに限定されることなく、1つの撮像素子12を撮像動作と距離情報生成のために兼用してもよい。また、撮像動作と距離情報の生成は並列処理であっても順次処理であってもよいことは勿論である。
【0054】
また、距離情報を得るための方法としては、例えばTOF方式やボケ量解析等を採用することができる。即ち、「TOF」方式とは、測距部29を構成する発光素子から照射され被写体で反射されて戻ってくる反射光の到達時間を計測し、被写体距離を求めるものである。一方、「ボケ量解析」とは、画像中のボケ量の解析結果から距離を算出するもので、2つの撮像素子を用いる場合には、それらの特性、サイズ、絞り条件等の少なくともいずれかを変えることで撮像用のボケ量、測距用のボケ量を最適化することができる。1つの撮像素子12を用いる場合には、異なる方式の下、例えば絞り条件等を該方式に従って変えることで、撮像用のボケ量、測距用のボケ量を最適化することができる。但し、これら手段には限定されない。
【0055】
こうして記録された撮像画像は、LCDモニタ19に表示される(ステップS4)。
【0056】
即ち、この表示の一例は、図7(a)に示される通りであり、この例では、被写体O1乃至O4が表示されている。また、同撮像画像の距離情報は、図7(b)に示される通りであって、黒色に近いほど近距離にあることを表し、白色に近いほど遠距離にあることを表すものである。この例では、距離情報は、所謂デプス・マップ(Depth Map)データであり、撮像画像の内の1点以上に対する個々の距離データである。最大で、画素ごとに距離データを取得することができるようになっている。
【0057】
続いて、撮像画像の内の指定点の仮設定を行う(ステップS5)。このサブルーチンの処理の詳細は、例えば図5のフローチャートに示される通りである。
【0058】
即ち、ユーザによりタッチパネル34が操作されて、撮像画像の内の所望とする指定点が指定されると(ステップS21)、CPU21は、1つ目の指定点であるか否かを判断する(ステップS22)。ここで、CPU21は、1つ目指定点の指定であると判断した場合には(ステップS22をYesに分岐)、指定された第1の指定点を含む光軸に直交する平面を第1の被写体面として仮設定し(ステップS23)、第1の被写体面に係る情報(第1の指定点の座標)をRAM23に記憶して(ステップS27)、LCDモニタ19の撮像画像上に指定された第1の指定点を表示する(ステップS28)。
【0059】
そして、CPU21は、ユーザにより指定点の指定を終了する旨が操作入力部33等の操作により指示されたか否かを判断して(ステップS29)、終了せずに更なる指定点の指定を行うと判断した場合には(ステップS29をYesに分岐)、上記ステップS21に戻り上記した処理を繰り返す。一方、指定点の指定を終了すべきと判断した場合には(ステップS29をNoに分岐)、処理を終了し、リターンする。
【0060】
一方、上記ステップS22にて、CPU21は、1つ目の指定点の指定でないと判断した場合には(ステップS22をNoに分岐)、2つ目の指定点の指定であるか否かを判断することになる(ステップS24)。
【0061】
ここで、CPU21は2つ目の指定点の指定であると判断した場合には(ステップS24をYesに分岐)、第1の被写体面をX軸周り及びY軸周りに回転させて被写体面の変換を行い、更に第2の指定点を含む平面を第2の被写体面として仮設定する(ステップS25)。そして、第2の被写体面に係る情報(第1及び第2の指定点の座標、傾き角度、傾き方向)をRAM23に記憶し(ステップS27)、LCDモニタ19の撮像画像上に指定された第1及び第2の指定点を表示する(ステップS28)。2点では該2点を結ぶ直線を含む複数の面が想定され、被写体面仮設定の情報として不足している。そこで、仮に第1の被写体面をY軸周り(又はX軸周り)に回転させて第2の指定点を含む平面を第2の被写体面として仮設定してもよい。
【0062】
そして、再び、CPU21は、ユーザによるタッチパネル34等の操作入力により更なる指定点の指定が指示されたか否かを判断し(ステップS29)、更なる指定点の指定を行うと判断した場合には(ステップS29をYesに分岐)、上記ステップS21に戻り上記した処理を繰り返す。更なる指定点の指定を行わないと判断した場合(ステップS29をNoに分岐)、処理を終了し、リターンする。
【0063】
一方、上記ステップS24にて、2つ目の指定点の指定でないと判断した場合には(ステップS24をNoに分岐)、CPU21は、3つ目の指定点の指定であるものと判断する。そして、第2の被写体面をX,Y軸周りに回転させて第1乃至第3の指定点を含む平面を第3の被写体面として仮設定する(ステップS26)。さらに、CPU21は、この第3の被写体面に係る情報(第1乃至第3の指定点の座標、傾き角度、傾き方向)をRAM23に記憶して(ステップS27)、LCDモニタ19の撮像画像上に上述のようにして指定された第1乃至第3の指定点を表示する(ステップS28)。
【0064】
そして、再び、CPU21は、ユーザによるタッチパネル34等の操作入力により更なる指定点の指定が指示されたか否かを判断する(ステップS29)。この例では、指定点の指定が3つまでに制約されていることを想定しているので、更なる指定点の指定はできないものとして(ステップS29をNoに分岐)、メインルーチン(図4のステップS6以降)にリターンすることになる。尚、ここでは、説明の便宜上、指定点を3つまで指定できる例を挙げたが、これに限定されず、更に多くの指定点を指定できるように拡張できることは勿論である。
【0065】
以上の処理により第1乃至第3の指定点が指定された場合、指定点により定まる被写体面の距離情報が変換される。例えば、3つの指定点が指定された場合、図7(c)に示されるように、その3つの指定点の距離情報に係るデプス・マップデータに変換される。
【0066】
図4の説明に戻り、続いてCPU21は、設定された被写体面(第1乃至第3の被写体面のいずれか)の情報(例えば座標情報、傾き角度、傾き方向等)に基づいて画像データの各点の距離データを変換し、この変換後の距離データに基づいて画像処理部24による画像処理を行う(ステップS6)。すなわち、例えば、被写体面に載っている点に対して実際の撮像素子12、焦点距離では撮像できないような「浅い被写界深度及び傾いた被写体面での撮像」と同等の効果を付与した画像となるように、ボカシ処理を行う。そして、CPU21は、このボカシ処理が施された画像をLCDモニタ19に表示する(ステップS7)。
【0067】
ここで、図8を参照して、被写体面の設定に基づく距離データの変換について述べる。
図8において、光軸に垂直な方向をX軸方向とする。いま、第1の指定点P1が指定されると、この第1の指定点P1を含み、光軸に垂直な平面を第1の被写体面として設定する。この設定により、第1の指定点P1は新たな座標系の中心となり、その座標は(X1,Y1,Z1)から(0,0,0)に設定される。この座標系の変換に伴って、例えば第1被写体面上の点Pnの座標は、(Xn,Yn,Zn)から(Xn−X1、Yn−Y1,Zn−Z1)に変換される。この変換後の座標を(Xn’、Yn’、Zn’)とする。
【0068】
また、第2の指定点P2が更に指定されると、第1の指定点P1、第2の指定点P2を含む第2の被写体面が設定される。この場合も第1の指定点P1は新たな座標系の中心であり、その座標は(0,0,0)である。この第2の被写体面の第1の被写体面に対する傾き角がθであり、傾き方向が図に示すようにZ軸(正)方向であるものとすると、例えば第1の被写体面上の点Pnは、第2の被写体面上からの距離情報に射影変換され、そのZ座標はZn’−Xn’・tanθとなる。これは、変換後の点Pnの距離情報となる。ここでは、説明の便宜上、第1の被写体面上の点Pnについて、その変換を説明したが、同様にして、全ての点(例えば画素単位)について、距離情報を変換する。以上の考え方は、第1の被写体面がY軸周りに回転(傾き角θ)された場合も同様である。
【0069】
また、図8では不図示であるが、第3の指定点が更に指定され、第3の被写体面が設定された場合には、更にその傾き角度、傾き方向に基づいて距離情報を変換する。いま、第3の被写体面が、第1の被写体面に対して、X軸周りに傾き角度αで傾いたものとすると、前述した点PnのZ座標は、Zn’−Xn’・tanθ−Yn’・tanαとなる。これは、第3の被写体面を基準とした点Pnの距離情報となる。以上は、第1の被写体面がY軸周りに回転(傾き角θ)された後、更にX軸周りに回転(傾き角α)された場合も同様である。
【0070】
つまり、例えば第1乃至第3の指定点が被写体O1乃至O3上に指定され、或いは第1の指定点が指定された後、被写体面のX軸及び/又はY軸周りの回転により被写体O1乃至O3が該被写体面に載るように設定された場合、図7(d)に示されるように、被写体面からの距離に応じてボカシ処理が施される。即ち、変換された距離情報に応じたボケ量で画像データにボケを付加する。より詳細には、被写体面からの距離が大きいほどボケ量が大きくなるように画像データにボケを付加する。従って、図7(d)の例では、被写体面からの距離が最も大きい被写体O4はボケ量が大きくなる。尚、被写体面からの距離が所定範囲内である点については、同じボケ量となるように画像データにボケを付加してもよい。これは、被写界深度をボケの付加に際して加味するものである。
【0071】
続いて、CPU21は、ユーザによりタッチパネル34等の操作入力により被写体面の調整が指示されたか否かを判断し(ステップS8)、該調整を行わないと判断した場合には(ステップS8をNoに分岐)、上記ボカシ処理が施された画像の画像データをメモリカード31に記録し(ステップS12)、一連の処理を終了する。尚、ステップS12では、ボカシ処理を施す前の画像データもメモリカード31に記録してもよい。この場合には、末尾送りして異なる番号を付する等して管理するとよい。一方、CPU21は、該調整を行うと判断した場合には(ステップS8をYesに分岐)、被写体面のレンズ光軸に対する傾き方向と傾き角度を設定する。
【0072】
この設定の詳細は、図6のフローチャートに示される通りである。
【0073】
即ち、図6の処理に移行すると、先ず、CPU21は、操作入力部33の一要素である十字キーが操作されたか否かを判断し(ステップS41)、該操作がなされていないと判断した場合には(ステップS41をNoに分岐)、本処理を終了しリターンする。
【0074】
一方、CPU21は、該操作がなされていると判断した場合には、それが上キーであるか否かを判断する(ステップS42)。ここで、操作されたのが上キーであると判断した場合には(ステップS42をYesに分岐)、CPU21は、被写体面をX軸周りで上側を奥行方向に回転し、ステップS50に移行する(ステップS43)。
【0075】
一方、操作されたのが上キーでない場合には(ステップS42をNoに分岐)、それが下キーであるか否かを判断する(ステップS44)。ここで、操作されたのが下キーであると判断した場合には(ステップS44をYesに分岐)、CPU21は、被写体面をX軸周りで下側を奥行方向に回転し、ステップS50に移行する(ステップS45)。
【0076】
また、操作されたのが下キーでない場合には(ステップS44をNoに分岐)、それが右キーであるか否かを判断する(ステップS46)。ここで、操作されたのが右キーであると判断した場合には(ステップS46をYesに分岐)、CPU21は、被写体面をY軸周りで右側を奥行方向に回転し、ステップS50に移行する(ステップS47)。
【0077】
一方、操作されたのが右キーでない場合には(ステップS46をNoに分岐)、それが左キーであるか否かを判断する(ステップS48)。ここで、操作されたのが左キーであると判断した場合には(ステップS48をYesに分岐)、CPU21は、被写体面をX軸周りで左側を奥行方向に回転し、ステップS50に移行する(ステップS49)。
【0078】
そして、操作されたのが左キーでない場合には(ステップS48をNoに分岐)、CPU21は、誤操作であるものと判断し、ステップS50に移行することになる。
【0079】
こうして、CPU21は、操作入力部33の一要素である決定キーなどに操作入力に従い設定を終了するか否かを判断し(ステップS50)、設定を終了しないと判断した場合にはステップS41に戻り、上記処理を繰り返す。一方、設定を終了するものと判断した場合には、設定された被写体面の設定情報をRAM23に記憶し(ステップS51)、メインルーチン(図4のステップS10以降)にリターンする。
【0080】
以上の一連の処理(図6)によれば、十字キー(上下左右キー)の操作に基づいて、被写体面をX軸或いはY軸周りに所望とする傾き方向、傾き角度となるように調整することができる。たとえば、十字キーの操作をする度に所定角度だけ、傾き角度が変わるように段階的な調整をすることもできる。ゆえに、所望とする点が該被写体面に載るように、つまり、所望とする点に対してアオリ効果と同等の浅い被写界深度での撮像と同等の効果が施された画像を得るように、微調整を行うことができる。
【0081】
図4の説明に戻り、続いて、設定された被写体面と距離情報とに基づいて画像処理を行い(ステップS10)、画像処理が施された画像をLCDモニタ19に表示する(ステップS11)。このステップS10,S11の処理の詳細は、前述したステップS6,S7の処理と同様であるので、ここでは重複した説明は省略する。
【0082】
こうして、ステップS8に戻り、更に被写体面の調整を行うか否かを判断し、更に該調整を行う場合にはステップS9以降の処理を繰り返し、更に該調整を行わないと判断した場合には(ステップS8をNoに分岐)、上記ボカシ処理が施された画像の画像データをメモリカード31に記録し(ステップS12)、一連の処理を終了する。
【0083】
ここで、図9の概念図を参照して、距離情報を取得する手法である、TOF方式について更に詳細に説明する。測距部29は、図9に示されるように、発光素子29aと結像レンズ29b、撮像素子29cからなる。そして、このような構成の下、発光素子29aから照射された特定波長を変調した光の被写体200での反射光を結像レンズ29bを介して撮像素子20cで受光し、出射光と反射光との位相差から、撮像素子20cの各画素における「遅れ時間」を計測し、当該遅れ時間に基づいて被写体までの距離d、つまり距離情報を得るものである。尚、この距離情報は、例えば、光速と遅れ時間とを乗算し1/2を乗ずることで算出すればよい。以上の処理により本実施の形態では、最大で1画素ごとに距離情報を得ることができる。また、距離情報を取得する手法としては、この他に位相差解析等を採用することも可能である。
【0084】
以上説明したように、本発明の第1の実施の形態によれば、撮像光学系により結像される画像に対応する距離情報を得て、撮像画像の中で点を指定することで被写体面を設定し、前記距離情報と該被写体面の情報を基に画像処理を行うことにより「アオリ(スイング、ティルト)」相当の画像を簡易な操作で得ることができる。
【0085】
また、このような機能を、安価且つ小型なディジタルスチルカメラ等の撮像装置において実現することも可能となることは勿論である。
【0086】
つまり、本発明の一実施の形態によれば、「アオリ(スイング、ティルト)」相当の画像をより簡易に得ることができるので、例えば光学的なアオリ(スイング、ティルト)を可能にするための複雑な機構(所謂「シャインプルフの法則」に沿ったメカ設計)も不要であり、「アオリ(スイング、ティルト)」を意図した特別な光学設計を行う必要もなくなるため、安価且つ小型の画像処理装置、画像処理方法を提供することができる。
【0087】
尚、生成される被写体面は、平面のみならず任意の湾曲面(e.g. Variable Field Curvature(可変像面湾曲))でもよい。即ち、例えば図10(a)に示されるように光軸に直交する平面が被写体面として設定された後、図10(b)に示されるように被写体面の左右が画像合成装置側に所定の曲率で湾曲した湾曲面を被写体面として設定したり、図10(c)に示されるように、被写体面の左右が画像合成装置とは反対側に所定の曲率で湾曲した湾曲面を被写体面として設定したり、することもできる。なお、不図示ではあるが、被写体面の上下を画像合成装置側あるいはその反対側に所定の曲率で湾曲した湾曲面を被写体面として設定してもよいことは勿論であるし、像面をすり鉢状に設定することも可能である。これについては、第9の実施の形態で詳述する。
【0088】
また、図11に示されるように、操作入力部33の一要素である十字キーの操作による被写体面の調整にあたっては、その調整の過程をLCDモニタ19の画面350の右下のウィンドウ351で表示するようにしてもよい。これについては、第8の実施の形態で詳述する。
【0089】
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。
本発明の第2の実施の形態は、前述した画像処理装置による被写体面の設定やボカシ処理をコンピュータやアクセサリ装置等の情報処理装置により実現するものである。
【0090】
図12には、第2の実施の形態に係る情報処理装置の構成例を示し説明する。
この図12に示されるように、情報処理装置50は、入力部51、制御プログラム53に基づいて全体を制御する制御部52、表示部54、操作入力部55、記憶部56からなる。そして、制御部52は、制御プログラム53に基づいて、例えば、被写体面設定機能53a、傾き設定機能53b、画像処理機能53cを奏することになる。尚、この制御プログラムは、例えば画像処理プログラムに相当するものである。
【0091】
このような構成において、画像データ及び距離情報が入力部51より入力されると、制御部52は、記憶部56に記憶されている制御プログラム53を読み出し、当該制御プログラム53に基づいて処理を実行する。即ち、表示部54に画像データに基づく画像の表示を行ない、操作入力部55の操作による被写体面の設定を促す。
【0092】
ユーザにより、操作入力部55が操作されて、表示画像の中で所望とされる点(領域でもよい)が選択されると、制御部52は、被写体面設定機能53aに基づいて被写体面を設定する。そして、更なる操作入力部55の操作に基づいて、被写体面の傾き方向及び傾き角の設定を行う。そして、最終的に設定された被写体面の情報と距離情報とに基づいて、ボケ処理などの画像処理を行い、該処理後の画像を表示部54に表示する。以上の一例の設定の詳細は、第1の実施の形態(先に図4乃至図6のフローチャート参照)と同様であるので、ここでは重複した説明は省略する。
【0093】
以上説明したように、本発明の第2の実施の形態によれば、入力された画像データと距離情報に基づいて被写体面の設定を促し、当該被写体面の情報と距離情報とに基づいて画像処理を行うことにより「アオリ(スイング、ティルト)」相当の画像を簡易な操作で得ることができる。
【0094】
つまり、本発明の第2の実施の形態によれば、「アオリ(スイング、ティルト)」相当の画像をより簡易に得るための画像処理プログラムを提供することができる。また、この画像処理プログラムを実装すれば、コンピュータ等の情報処理装置により、上記効果が施された画像を簡易且つ安価に得ることが可能となる。
【0095】
以上、本発明の第1及び第2の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
【0096】
例えば、前述した第1及び第2の実施の形態では、画面を見ながらタッチパネルで所望とするポイントを最大3点指定し、該ポイントに基づいて被写体面を設定する例を挙げたが、これには限定されない。ユーザが3点を指定すると共にボカシ処理の変化の度合いを調整するために被写界深度(絞り)を指定してもよい(絞り優先で実際の撮像素子/焦点距離では撮像できないような浅い被写界深度及び傾いた被写体面での撮像と同等の効果を付与)し、被写界深度(絞り)は自動で決定してもよい。更に、ユーザが4点以上を指定して、これらの点全体にピントが合うように被写界深度を演算してもよいし、各点に何らかの重み付けをしてもよい。尚、被写界深度とはピントを合わせた被写体の前後でピントが合うとみなされる距離の範囲のことをいう。
【0097】
また、ユーザが35mm判換算(35mm size conversion)の焦点距離及び絞り値を指定してもよい。35mm判換算とは、35mm判における標準レンズの画角を基準にして、それぞれの撮像サイズで該画角のレンズを標準レンズと見なすことをいう。若しくは4点以上のポイントを指定したときの被写体面は、一般的な立体解析幾何学で得ることができる。これは、被写体面情報に基づく距離情報の変換についても同様である。更に、ボカシ処理のアルゴリズムは前述した例に限定されないことは勿論である。
【0098】
また、画像処理は、前述したボカシ処理に限定されることなく、例えば、粒状化、モザイク化、テクスチャの変更、ノイズの付加、明度や彩度の変更、段階的にグラデーションを与えるなど、各種の処理を含む。更に、被写体面は、曲面(球面や円筒面、円錐面、高次の近似曲面)であってもよいことは勿論である。
【0099】
(第3の実施の形態)
次に第3の実施の形態について説明する。
図13には本発明の第3の実施の形態に係る画像処理装置の構成を示し説明する。
ここでは、第3の実施の形態に係る画像処理装置をディジタルカメラ等の撮像装置に適用した例を示し説明する。
【0100】
この図13に示されるように、画像処理装置は、カメラ部60と、カメラDSP(Digital Signal Processor)61と、SDRAM(Synchronous Dynamic Random Access Memory)63と、媒体インターフェース(以下、媒体I/Fという)64と、制御部62と、操作部66と、LCD(Liquid Crystal Display)コントローラ67及びLCD68と、外部インターフェース(以下、外部I/Fという)69を備えるとともに、記録媒体65が着脱可能とされている。
【0101】
記録媒体65は、半導体メモリを用いた所謂メモリカード、記録可能なDVD(Digital Versatile Disk)や記録可能なCD(Compact Disc)等の光記録媒体、磁気ディスク等の種々のものを用いることができる。
【0102】
カメラ部60は、光学ブロック60a、絞り60b、CCD(Charge Coupled Device)等の撮像素子60c、A/D変換回路60d、光学ブロック用ドライバ60e、絞り用ドライバ60f、撮像素子用ドライバ60g、タイミング生成回路60h、駆動部60i、検出部60j、ブレ検出部60k等を備える。ここで、光学ブロック60aは、レンズ、フォーカス機構、シャッター機構、絞り(アイリス)機構、手振れ駆動部等を備えている。そして、光学ブロック60a中のレンズには、ズームレンズが使用される。
【0103】
制御部62は、CPU(Central Processing Unit)62a、RAM(Random Access Memory)62b、フラッシュROM(Read Only Memory)62c、時計回路62d等がシステムバス62eを通じて接続されて構成されたマイクロコンピュータであり、この実施の形態の撮像装置の各部の制御を司るものである。
【0104】
RAM62bは、処理の途中結果を一時記憶する等、主に作業領域として用いられるものである。フラッシュROM62cは、CPU62aにおいて実行する種々のプログラムや、処理に必要になるデータ等が記憶されたものである。画像処理プログラムもフラッシュROM62cに記憶してよい。時計回路62dは、現在年月日や現在曜日、現在時刻を提供することができるとともに、撮影日時等を提供する等のことができる。
【0105】
画像の撮像時においては、光学ブロック用ドライバ60eは、制御部62からの制御に応じて、光学ブロック60aを動作させるようにする駆動信号を形成し、これを光学ブロック60aに供給して、光学ブロック60aを動作させるようにする。光学ブロック60aは、光学ブロック用ドライバ60eからの駆動信号に応じて、被写体の画像を取り込んで、これを撮像素子60cに対して提供する。
【0106】
撮像素子60cは、光学ブロック60aからの画像を光電変換して出力するものであり、撮像素子用ドライバ60gからの駆動信号に応じて動作し、光学ブロック60aからの被写体の画像を取り込む。更に、制御部62によって制御されるタイミング生成回路60hからのタイミング信号に基づいて、取り込んだ被写体のアナログ画像データをA/D変換回路60dに供給する。A/D変換回路60dは、A/D変換を行って、ディジタル信号とされた画像データを形成する。
【0107】
このディジタル信号とされた画像データは、カメラDSP61に供給される。カメラDSP61は、これに供給された画像データに対して、AF(Auto Focus)、AE(Auto Exposure)、AWB(Auto White Balance)等のカメラ信号処理を施す。このようにして種々の調整がされた画像データは、所定の圧縮方式でデータ圧縮され、システムバス62e、媒体I/F64を通じて、記録媒体65に供給され、記録される。
【0108】
この記録媒体65に記録された画像データは、タッチパネルやコントロールキー等からなる操作部66を通じて受け付けたユーザからの操作入力に応じて、目的とする画像データが媒体I/F64を通じて記録媒体65から読み出され、これがカメラDSP61に供給される。
【0109】
カメラDSP61は、記録媒体65から読み出され、媒体I/F64を通じて供給されたデータ圧縮されている画像データについて、そのデータ圧縮の解凍処理(伸張処理)を行い、解凍後の画像データをシステムバス62eを通じて、LCDコントローラ67に供給する。LCDコントローラ67は、供給された画像データからLCD68に供給する画像信号を形成し、これをLCD68に供給する。これにより、記録媒体65に記録されている画像データに応じた画像が、LCD68の表示画面に表示される。
【0110】
外部I/F69を通じて、例えば、外部のパーソナルコンピュータと接続して、パーソナルコンピュータから画像データの供給を受けて、これを記録媒体65に記録することもできる。また、外部I/F69を通じて、記録媒体65に記録されている画像データを外部のパーソナルコンピュータ等に供給することもできる。
【0111】
また、外部I/F69に通信モジュールを接続することにより、例えば、インターネット等のネットワークに接続して、ネットワークを通じて種々の画像データやその他の情報を取得し、記録媒体65に記録することもできる。あるいは、記録媒体65に記録されているデータを、ネットワークを通じて目的とする相手先に送信することもできる。
【0112】
なお、この外部I/F69は、例えば、IEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)等の有線用インターフェースとして設けることもできる。或いは、この外部I/F69は、光や電波による無線インターフェースとして設けることもできる。即ち、外部I/F69は、有線、無線のいずれのインターフェースでもよい。
【0113】
そして、この第3の実施の形態に係る画像処理装置では、特に「アオリ(スイング、ティルト)」に相当する撮影技法をより簡易なものとすることを目的として、CPU62aの制御の下、画像処理、画像補正によってこれらを実現し、且つ直感的な操作ができるようにしている点を特徴の一つとしている。
【0114】
図14には画像処理装置を撮像装置としてのディジタルカメラに適用した場合の該ディジタルカメラの外観構成図を示し説明する。図14(a)はディジタルカメラを前面から見た斜視図、図14(b)はディジタルカメラを後面から見た斜視図である。これらの図に示されるように、ディジタルカメラ70には、レンズ71、シャッターボタン72、メニューボタン73、決定ボタン74、露出補正ボタン75、タッチパネル76、十字キー77が設けられている。後述する点の指定は、タッチパネル76等の操作により行う。
【0115】
以下、図15のフローチャートを参照して、本発明の第3の実施の形態に係る画像処理装置による特徴的な処理手順を詳述する。以下の処理手順の一部または全部は本発明の第3の実施の形態に係る画像処理方法にも相当する。
【0116】
この処理を開始すると、制御部62のCPU62aは、撮像素子60cにより被写体像を撮像し、A/D変換回路60dにてディジタルの画像データを生成する(ステップS101)。続いて、CPU62aは、この生成した画像データに対応した距離情報(Depth Map)を生成する(ステップS102)。距離情報(Depth Map)は、画像における物体までの距離を画素単位で対応付けて取得したものであって、TOF(Time of flight)方式やボケ量解析(Depth from Defocus)などで得ることが可能である。
【0117】
続いて、CPU62aは、画像データと距離情報を記録媒体65に記録する(ステップS103)。即ち、画像データと距離情報は、互いに関連付けられた状態で媒体I/F64を介して記録媒体65に記録される。距離情報はメタデータとして保持する。ファイル番号などによって関連付けて画像と距離情報を別々に保存すれば、画像ファイル自体のサイズを小さくすることもできる。この場合には、互いの関連付けを画像と距離情報を利用するときに判断しなくてはならない。
【0118】
次に、CPU62aは、LCDコントローラ67を制御して、LCD68に画像を表示する(ステップS104)。そして、CPU62aは、「アオリ(スイング、ティルト)」に相当する被写体面の操作に基づく処理を行う(ステップS105)。このステップS105の処理の詳細は図16を参照して後述する。
【0119】
ここで、被写体面とは、所謂シャインプルフの法則(Scheimpflug principle)に従い撮像素子60cの受光面の延長及び光学系主面の延長と交わるピントが合う面である。この実施の形態に係る画像処理装置では、撮像素子60cと光学系ブロック60aの光学系とは、所謂アオリ(スイング、ティルト)操作ができないよう、レンズ光軸と撮像素子面は(ほぼ)直交の位置関係のままで撮像を行うこととしている。「アオリ(スイング、ティルト)」に相当する被写体面の操作は、画像処理によって行う。
【0120】
続いて、CPU62aは、ステップS103で記録された画像データを読み出し、ステップS105で設定された被写体面を用いて、画像処理(被写体面からの距離に応じたボカシ処理)を施す(ステップS106)。このステップS106の処理の詳細は図18及び図19を参照して後述する。こうして、CPU62aは、画像処理を行った画像データを媒体I/F64を介して記録媒体65に記録する(ステップS107)。
【0121】
このとき、CPU62aは、表示画像に係る画像データを撮像時に元の画像データとは別のファイルとして記録媒体65に保存していたときには、画像処理を施した表示画像に係る画像データを同時に記録する。以上で、処理を終了する。
【0122】
次に、図16のフローチャートを参照して、図15のステップS105の処理の詳細を説明する。ここでは、被写体面の操作にタッチパネル76を用いた方法を説明する。
【0123】
この処理に入ると、CPU62aは、タッチパネル76をタッチすることによる被写体面の中心に係る指示を受け付ける(ステップS201)。即ち、CPU62aは、タッチされた位置の座標を検出し、位置の指定として受け付ける。この被写体面の中心は、被写体面の回転中心であり、X,Y,Z軸からなる新たな座標系で該被写体面を回転させる際に中心となる立体的且つ空間的な中心位置である。
【0124】
続いて、CPU62aは、こうして設定された被写体面の回転中心をユーザが認識できるように、LCD68の表示画面中に被写体面の回転中心を示す点を表示する(ステップS202)。そして、CPU62aは、被写体面の回転の中心が立体座標中心となるように、距離情報(Depth Map)を座標変換する。(ステップS203)。
【0125】
ここで、距離情報(Depth Map)は、画像の平面座標(X,Y)と奥行き座標(Z)で定義される座標(X,Y,Z)のうちの奥行き座標(Z)に関連するものである。CPU62aは、先ず被写体面の中心に設定された画素の座標(X,Y,Z)を立体座標の原点(0,0,0)になるように変換する。その他の点(画素)の座標は、この被写体面中心の座標を座標中心とする新たな座標系の座標値に変換される。これにより、距離情報は、被写体面からの距離に変換されることになる。尚、この距離情報の変換の詳細は、先に図8を参照しつつ説明したとおりであるので、重複した説明は省略する。
【0126】
この実施の形態では、被写体面の形状は、単純な平面として話を進める。このとき、表示された被写体面の中心がユーザの意図した位置からズレてしまっている場合には、表示点をドラッグすることによって修正する。たとえば、図14(b)の十字キー77を用いて、該十字キー77を操作した方向に中心点を動かすこともできる。
【0127】
こうして、CPU62aは、ユーザによりタッチパネル76が操作され、例えば決定ボタンがタップされる等して、被写体面の中心が決定されたか否かを判断する(ステップS204)。被写体面の中心をユーザ操作に従って修正した場合には、その中心座標が変わってしまうので、修正された被写体面中心が立体座標中心になるように、ステップS203に戻り、再度距離情報(Depth Map)の座標を変換する。一方、例えば、LCD68に表示されている被写体面中心が再度タップされるなどして、中心が決定された場合にはステップS205に進む。
【0128】
ユーザ操作によって被写体面中心が決定されたらと判断した場合、CPU62aは被写体面の操作を行ったときに効果が分かるように、表示画像を画像処理して表示する(ステップS205)。この表示画像は、撮像された画像データそのものではなく、画像自体の確認や被写体面操作の効果を確認するために表示画面(LCD68)に表示するためにRAM62b(もしくはSDRAM63)に書き込まれる画像のことである。画像自体の確認等のためのものであることから、画像処理も簡易処理であってよい。
【0129】
この表示画像は、撮像された画像データから表示画面(LCD68)の解像度に合った画像へとサイズダウンすることで、一時的にRAM62b(もしくはSDRAM63)に保持しても良い。或いは、撮像時に元の画像データとは別のファイルとして媒体I/F64を介して記録媒体65に保存しても良い。
【0130】
ステップS205では、具体的には、被写体面からの距離に応じて、表示画像に対してボカシ処理を行う。表示画像は実際に記録されている画像よりもサイズの小さな画像で構わない。表示画面のサイズや画素数に応じて、最低限必要な大きさの画像を表示することによって処理負荷を軽減して、スムーズなユーザ操作を実現することが望ましい。
【0131】
なお、この実施の形態では、簡易的なユーザ操作を意図して、被写界深度は一定で(但し、実際の撮像よりも被写界深度が浅いように)被写体面だけを操作するものとして以下の説明を進める。
【0132】
続いて、CPU62aは、ユーザ操作に従い、被写体面を回転する(ステップS206)。この被写体面の回転は、被写体面の中心以外の座標をタップすることによって、被写体面をX軸またはY軸周りに回転(傾ける)させることによる。
【0133】
より具体的には、図17(a)に示されるように、表示画面500におけるタップ(タッチ)位置500aによって被写体面を倒す(傾ける)方向を指示して、タップした強さによって被写体面をティルトさせる(傾ける)量を指示する。表示画面500内におけるタップ位置500aの座標(X,Y)と被写体面の先に指定さえた指定点に係る回転中心500bとを結ぶ直線に直交し、被写体面の回転中心500bを通る回転軸500c回りで被写体面が回転する。タップによって、面を突っつくような直感的操作を実現する。
【0134】
被写体面の回転は立体解析幾何学における座標変換によって行う。例えば、各画素について被写体面からの距離を算出する。すなわち、被写体面の回転中心を指示して、被写体面の回転操作を行うユーザ操作に従い、CPU62aは、距離情報を被写体面からの距離情報へと座標変換する処理を行う。
【0135】
こうして被写体面をその回転中心500bを支点に回転させた(要は、被写体面をティルト操作した)効果が分かるように、表示画像を画像処理してLCD68に表示する(ステップS207)。すなわち、CPU62aは、回転(ティルト)操作された被写体面からの距離に応じて、ボカシ処理を施す。その結果は、図17(b)に示される。
【0136】
このステップS207の画像処理は、前述したステップS205における画像処理と同様、ユーザ操作がスムーズに行えて且つ操作の効果を把握できるだけの画像サイズであれば良い。また、被写体面を傾ける操作を行ってからも、被写体面の回転中心をドラッグすることによって修正することができる。そのときには、前述したステップS203と同様に座標を変換すれば良い。
【0137】
次いで、CPU62aは、ユーザによりタッチパネル76の被写体面中心がもう一度タップされる等して、被写体面の回転の終了が指示されたか否かを判断する(ステップS208)。ここで、CPU62aは終了が指示されていないと判断した場合にはステップS206に戻り、上記処理を繰り返す。一方、CPU62aは、終了が指示されたと判断した場合には、本処理を終了し、図15の処理にリターンする。
【0138】
次に、図18のフローチャートを参照して、図15のステップS106の処理の詳細を説明する。なお、前提として、画像処理装置は、図19に示されるような関係に基づくテーブルをフラッシュROM62c等にて保持しているものとする。この図19では、縦軸はボケ付加パラメータの値を示し、横軸は距離情報を示す。被写界深度となる距離まではボケ付加パラメータはゼロとなる。被写界深度となる距離からは例えば1次関数の関係となり、距離が大きくなるに従い、ボケ付加パラメータの値も大きくなる。ボケ付加パラメータは被写体までの距離に応じて、いくつか保持していることが好ましく、ボケ付加パラメータは1次関数に限らず、光学的な計算結果に基づいたパラメータを付加することも可能である。
【0139】
処理を開始すると、CPU62aは、画像処理を施す画素を設定する(ステップS301)。続いて、CPU62aは、被写体面からの距離に座標変換された距離情報を取得する(ステップS302)。そして、図19の関係に基づくテーブルを参照し、該距離情報に対応するボケ付加パラメータを取得する(ステップS303)。そして、該ボケ付加パラメータを画素に付加する(ステップS304)。たとえば、周辺画素を用いたローパスフィルタ(LPF)処理を行うことでボケを付加することができるが、その際に用いる周辺画素の数を変える事でボケ量を変えることができる。利用する全ての画素の平均値を対象画素の画素値とする場合に画素数を増やせばボケ量が増えることになる。
【0140】
こうして、CPU62aは、全ての画素について処理を完了したかを判断する(ステップS305)。全ての画素について処理を完了していないと判断した場合にはステップS301に戻り上記処理を繰り返す。一方、全ての画素について処理を完了したと判断した場合には、この処理を終了し、図15の処理にリターンする。
【0141】
以上が、基本的な撮像〜被写体面中心の設定〜被写体面の操作〜画像処理までの説明である。いずれのステップにおいても、操作をやり直したいときには「キャンセル」や「戻る」などの操作を行うことによって、やり直すことができる。
【0142】
即ち、図20(a)に示されるように、「キャンセル」や「戻る」は、表示画面502に重ねて操作ボタン502aを表示する。そのとき、表示位置は被写体面中心を示す点に重ならないように配置する。また、被写体面の回転中心をドラッグすることによって修正する際に邪魔にならないよう配置することが好ましい。
【0143】
また、図20(b)に示されるように、「キャンセル」や「戻る」などの操作ボタン503aは、表示画面503上でドラッグすることによって位置を動かすことができる。これによって、被写体面の回転中心点の修正の邪魔にならないようになり、被写体面を傾けた効果を確認する際にボタン位置をズラして画面内を隅々まで見ることもできる。
【0144】
さらに、「アオリ(スイング、ティルト)」に相当する効果を確認するためには、被写体面中心付近だけでなく、画面の隅々を一度に見渡したい場合もあるので、図20(c)に示されるように表示画面504上に「表示を消去」などの操作ボタン504aを配置するようにしてもよい。この「表示を消去」の操作ボタン504aについても、図20(b)に示したようなドラッグ操作によって移動させることができる。
【0145】
この「表示を消去」の操作ボタン504aをタップすると、表示画面504以外の表示を非表示状態にすることができ、画面内を一度に見渡して被写体面の操作の効果を確認することができる。もう一度、表示画面504の任意の位置をタップすることによって、再度の表示を元に戻すことができる。一方、メニュー操作によって、「表示を消去」の操作ボタン504aを操作したときにも表示を消さずに残したいものを選択し、表示することができる。例えば、被写体面の回転中心だけを表示して他を消去することもできる。
【0146】
(第4の実施の形態)
次に第4の実施の形態について説明する。
尚、第4の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0147】
「アオリ(スイング、ティルト)」に相当する効果を得るためには、被写体面を傾ける操作を可能にするだけでなく、被写体面からの被写界深度をも操作できる機能を実現することが望ましい。そこで、第4の実施の形態に係る画像処理装置、画像処理方法では、被写体面の回転中心を決定する際(図16のステップS204に相当)に、表示されている被写体面の回転中心を2回タップすることで、被写体面中心の決定と被写界深度の決定を行うことを可能とするものである。
【0148】
被写界深度は通常、
・明るい絞りで撮像すると被写界深度は浅い(シャッタースピードは速い)
・暗い絞りで撮像すると被写界深度は深い (シャッタースピードは遅い)
という関係があるので、2回タップするときのタップ間の時間によって被写界深度を決定する。タップ間の時間が短ければ浅い被写界深度を設定し、長ければ深い被写界深度を設定する。これは、シャッタースピードが速い、遅いという関係に合致しているので、カメラを操作しているユーザにとって直感的に分かりやすいと言える。
【0149】
一方、被写界深度は、被写体面の回転中心を決定した後や、被写体面を傾けた後でも変更できる機能を実現することが望ましい。そこで、第4の実施の形態に係る画像処理装置、画像処理方法では、被写体面の回転を終了指示(図16のステップS208に相当)するまでは、何度でも被写体面の回転中心を2回タップすることによって被写界深度を再設定することを可能とし、設定された被写界深度に応じた画像処理(図16のステップS207に相当)を行うことを可能とする。
【0150】
具体的には、図21(a)に示されるように、表示画面505の中で、ユーザ操作に基づいて被写界深度を設定する際(即ち、この例では、被写体面の回転中心を2回タップするとき)には、被写界深度の目安をグラフ表示部505aにより表示画面505上に重ねて表示する。これにより、ユーザがより意図に沿った操作をできるようにする。
【0151】
即ち、図21(a)において、ユーザ操作により被写体面の回転中心が1回目にタップされたとき、表示画面505内(被写体面の回転中心とは重ならない位置)にタップ間の時間によって変化するグラフ表示部505aを表示する。この例では、表示は帯状のもので、一度目のタップ操作が行われてからの時間に応じて「浅い」→「深い」に表示を切り替え、ユーザによる被写界深度の設定を支援する。
【0152】
表示は、被写界深度が「浅い」「深い」ということには限定されず、図21(b)に示される表示画面506のように、被写体面の「手前」と「奥」にどれだけピントの合う範囲があるのかをグラフ表示部506aにより表示しても良い。また、直感的なグラフ表示だけでなく数字を表示しても良い。この表示する数字としては、例えば“35mm判換算85mm相当の画角でF2.8相当の被写界深度”などが例として挙げられる。画像データの撮影情報から35mm判換算の画角を自動的に算出し、その画角におけるF値を表示することも考えられる。
【0153】
また、被写体面中心を2回タップすることによって被写界深度を設定する場合には、被写体面中心を一度タップすることによって被写体面の回転を終了指示する操作と混同してしまう。そこで、図21(c)に示されるように、表示画面507に別途「終了」ボタン507aを重ねて表示する。この「終了」ボタン507aも、表示画面507上の所望位置にドラッグすることによって位置を動かすことができる。これによって、被写体面の回転中心の修正の邪魔にならないようになる。さらに、被写体面を傾けた効果を確認する際にボタン位置をズラして画面内を隅々まで見ることもできる。
【0154】
(第5の実施の形態)
次に第5の実施の形態について説明する。
尚、第5の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0155】
この第5の実施の形態に係る画像処理装置、画像処理方法では、表示画像に重ねて「終了」ボタンを表示するのではなく、2回タップする操作と被写体面の回転を終了指示する操作を同一のユーザインタフェース(UI)で行うことを特徴とする。
【0156】
即ち、図22(a)に示されるように、表示画面508上に、タッチパネル76での1回目のタップによって「浅い」〜「深い」までの被写界深度設定を支援する表示をグラフ表示部508aにより行い、該グラフ表示部508aの上部に「終了」、即ち被写体面の回転を終了指示する位置を表示する。
【0157】
その後、図22(b)に示されるように、表示画面509にて、タッチパネル76での1回目のタップを行ってからの時間に応じてグラフ表示部509aの表示を「浅い」から「深い」まで切り替えていき、「深い」という状態を所定時間だけ維持する。ここまでの間にタッチパネル76にて2回目のタップが行われたら、被写界深度が設定されたことをCPU62aが検出して、画像処理(図16のステップS207に相当)を行う。
【0158】
タッチパネル76にて2回目のタップが行われないまま所定時間(例えば1秒。「深い」という被写界深度をユーザが設定するために必要な時間)経過したら、図22(c)に示されるように、表示画面510のグラフ表示部510aの表示を「終了」に至るまで切り替えていく。この間にタッチパネル76にて2回目のタップが行われたら、「深い」被写界深度を設定する。
【0159】
そして、タッチパネル76にて2回目のタップが行われないまま表示が「終了」に至った場合には、被写体面の回転を終了するという指示であるとCPU62aは判断する(図16のステップS208に相当)。
【0160】
従って、第5の実施の形態に係る画像処理装置等では、被写体面の回転を終了指示(図16のステップS208に相当)する際に表示が切り替わるまでの時間を設けるため、「終了」ボタンを表示する必要がないため、画面表示を煩雑にすることがなくなる。尚、被写界深度の設定は、ユーザのメニュー操作によって35ミリ換算の焦点距離、絞り値を指定してもよいことは勿論である。
【0161】
被写界深度の設定は2回タップする時間で設定する方法には限定されない。例えば、1回目のタップで図22(d)に示される表示画面511を表示し、タッチパネル76への2回目のタップは「浅い」〜「深い」という被写界深度の設定と、「終了」とを表示している箇所、即ちグラフ表示部511aで入力することもできる。この手法によれば、1つのUIで被写体面の回転を終了指示する際に表示が切り替わるまでの時間を要することなく、被写界深度の設定と被写体面の回転終了とを指示することができる。
【0162】
また、被写体面の回転中心をタップするとき(図16のステップS204における被写体面の決定や、被写界深度の設定、被写体面の回転終了指示)に、「被写体面の回転中心」と判定されるタップ範囲を表示してもよい。
【0163】
即ち、図23(a)には、「被写体面の中心」と判定されるタップ範囲を表示画面512内に丸印512aで表示した例を示している。図23(b)には「被写体面の回転中心」と判定されるタップ範囲を表示画面513内に矩形印513aで表示した例である。
【0164】
タッチパネル76上でこの範囲の内側をタップされたときには、CPU62aは「被写体面の中心」をタップされたものと判定して処理して、この外側をタップしたときにはそれ以外の処理(例えば被写体面の回転、傾け操作)を行う。
【0165】
この場合においても、「キャンセル」「戻る」「表示を消去」「終了」(ボタン)や被写界深度の目安などの画面表示は、「被写体面の中心」と判定される範囲の外側に配置することが望ましいことは勿論である。
【0166】
(第6の実施の形態)
次に第6の実施の形態について説明する。
尚、第6の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0167】
この第6の実施の形態に係る画像処理装置、画像処理方法では、図16のステップS206での被写体面の回転(傾け)操作において、タッチパネル76をタップ(タッチ)した強さによって回転角度(被写体面をティルトさせる量)を指示する以外に、図24に示すように、タップする位置によって被写体面のティルト量を指示する。
【0168】
即ち、第6の実施の形態では、図24に示されるように、表示画面514に被写体面を傾ける角度を段階的に表示して、ユーザ操作を支援する。
【0169】
被写体面中心近傍は「被写体面の回転中心」と判定されるタップ範囲で、そこから離れるほどティルト量(被写体面を回転/傾ける角度)を大きくする。即ち、被写体面中心座標からタップ位置座標(X,Y)までの距離に応じたティルト量を設定する。被写体面の回転中心に近いところは1度、遠いところは2度、さらに離れると3度等の如くである。
【0170】
回転角度、即ち立体解析幾何学における座標変換の角度は、被写体面の回転中心から段階的に変化するように設定しても良いが、被写体面の回転中心からタップ位置までの距離に応じて微小に角度を調整できるようにすることが、より好ましい。また、表示が段階的であっても、実際の処理においては表示よりも細かい角度設定を行っても良い。
【0171】
従って、この第6の実施の形態によれば、被写体面の回転中心からタップ位置までの距離に比例してティルト角度を変化させることで、ユーザの直感的操作を可能にする。
【0172】
なお、撮影画像の画角(図15のステップS101でメタデータとして記録)に応じて被写体面の回転角度を変えることもできる。例えば、実際のレンズにおいては、24mm/45mm/90mmではレンズをティルト操作したときの被写体面の傾きが異なる。レンズと撮像素子の傾き角度が同一(例えば10度)であれば、より広角なレンズのほうが被写体面の傾きが大きい。
【0173】
(第7の実施の形態)
次に第7の実施の形態について説明する。
尚、第7の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0174】
写真撮影においては、水平、垂直を厳密に決めて撮像することもあり、実際の「アオリ(スイング、ティルト)」レンズを用いた被写体面の操作においてもより厳密に水平、垂直を決めることがある。そこで、この第7の実施の形態に係る画像処理装置、画像処理方法では、図16のステップS205において、図25(a)に示されるように、水平ライン515a、垂直ライン515bを表示画面515上に表示することを特徴とする。
【0175】
水平ライン515a、垂直ライン515bは、撮像(図15のステップS101)するときに、例えばジャイロセンサなどの出力からメタデータとしてカメラの撮影姿勢、角度を記録しておいて表示しても良い。より簡易的には、単純に被写体面の回転中心を通る画像情報の水平ライン、垂直ラインを表示するとよい。表示されている水平ライン515a又は515bがタッチパネル76にてタップされると、CPU62aは、被写体面の回転角度を固定する。
【0176】
例えば、図25(b)に示されるように、表示画面516の水平ライン516aをタッチパネル76にてタップすると、CPU62aは、被写体面の回転が水平ライン516aの軸周りに行われるように回転の方向を限定し、水平ライン516aに固定されていることを示すマーク516c(この例では三角印)を表示する。
【0177】
この状態では、被写体面の回転は固定されたライン軸周りにしか行われないため、ライン座標(この場合Y)からタップ位置(この場合Y)までの距離によって、回転角度を判定する。尚、タッチパネル76にて、固定したラインが再度タップされた場合、CPU62aは、ラインの固定を解除する。
【0178】
ラインは水平ライン、垂直ラインに限らず、図25(c)に示される表示画面517のように、メニュー操作によって様々なラインを表示することができる。例えば、実際の「アオリ(スイング、ティルト)」レンズには、所定角度毎に角度を決めることができるものもあるので、こういった用途はユーザに馴染みがあるといえよう。
【0179】
(第8の実施の形態)
次に第8の実施の形態について説明する。
尚、第8の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0180】
この第8の実施の形態に係る画像処理装置、画像処理方法では、図16のステップS206にける、被写体面の回転(傾け)操作において、被写体面がどのような状態、角度にあるのかを表示することを特徴とする。
【0181】
実際の「アオリ(スイング、ティルト)」レンズにおいては、被写体面がどのような角度で傾いているのかはファインダや撮像画像によって確認しなくてはならなかった。これに対して、画像処理によって同様の効果を得るこの実施の形態では、被写体面を回転(図う15のステップS206に相当)させるときの角度、即ち座標変換に用いる角度をRAM62bに記録しておく。これにより、画像の距離情報を被写体面からの距離情報へと変換する処理を行うときに、被写体面を初期値(つまりカメラのレンズ光軸と直交状態)からどれだけ傾けたのかという情報を得ることができる。
【0182】
実際の表示例は、図26(a)乃至(h)に示される通りである。即ち、各表示画面518〜525には、被写体面の状態、角度を示す状態表示部518a、519a、520a、521a、522a、523a、524a,525aが表示される。これら状態表示部518a、519a、520a、521a、522a、523a、524a、525aによる被写体面の状態表示は、立体的に提示されるので、直感的であり、ユーザにとって分かり易いものであるといえる。
【0183】
(第9の実施の形態)
次に第9の実施の形態について説明する。
尚、第9の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0184】
前述した第3乃至第8の実施の形態では、被写体面の形状は、単純な平面として話を進めてきたが、第9の実施の形態の画像処理装置、画像処理方法はこれに限定されることはない。通常の光学系(レンズ)においては像面湾曲があるため、通常は平面である撮像素子に対する被写体面の形状は、平面にはならない。
【0185】
図27(a)、(b)は、このような像面湾曲を概念的に示す図である。即ち、図27(a)はメリディオナル(meridional)像面を示し、図27(b)はサジタル(sajittal)像面を示している。メリディオナル像面は、タンジェンシャル(tangential)像面とも称される場合がある。サジタルはラジアル(radial)像面と称される場合もある。
【0186】
メリディオナル面とは光軸と主光線を含む平面であり、該メリディオナル面内を走るメリディオナル光線が最も集光する像面がメリディオナル像面である。サジタル面とはメリディオナル面に垂直な平面であり、該サジタル面内を走るサジタル光線が最もよく集光する像面がサジタル像面である。
【0187】
この第9の実施の形態では、被写体面の形状を平面としてではなく、実際のレンズと同じように湾曲しているように扱う。そのために、図16のステップS203において被写体面の回転中心が立体座標中心となるように距離情報(Depth Map)を座標変換(即ち撮影画像における各画素の距離情報を被写体面からの距離情報へと変換)するときに、被写体面の形状を用いて演算する。
【0188】
被写体面の形状は、像高(画像中心からの距離)と被写体面形状との関係を表すデータとして保持する。画像内の位置(X,Y)と被写体面形状(Z)との関係を表すよう、距離情報(Depth Map)と同じように保持する。
【0189】
ここで、図28はデプス・マップ(Depth Map)同様に表現された被写体面形状を示している。同図において、黒が手前、白が奥を示している。被写体面の形状は、図29に示されるように、像高と被写体面の形状との関係が表されていれば良いので、必ずしも距離情報と同じようなデータ保持をする必要はない。
【0190】
画像内を水平、垂直に分割した領域についてデータ保持しても良いし、像高〜被写体面形状だけを保持しても良い。また、被写体面形状は、RAM62bに保持、記録されていてもよく、外部I/F69を介して外部より入手しても良い。
【0191】
具体的には、CPU62aは、以下の演算を行う。
(1)まず、被写体面中心に設定された画素の座標(X,Y,Z)を立体座標の原点(0,0,0)になるように(X,Y,Z)の座標値をすべての画素における座標情報から減算する。これによって、カメラからの距離情報を、被写体面中心座標を通って撮影時のレンズ光軸と直交している平面からの距離情報へと変換する。
【0192】
(2)続いて、画像内の各画素位置における座標情報(X,Y,Z)と被写体面形状とを加算もしくは減算(被写体面形状データの持ち方によっては逆になる)する。これによって、被写体面中心座標を通って撮影時のレンズ光軸と直交している平面からの距離情報を、被写体面からの距離情報へと変換する。
【0193】
被写体面形状の演算処理を含めるのは処理負荷がかかってしまうが、ユーザに画像処理の効果を確認せしめ、快適な操作を支援するためにはこの段階で被写体面形状を演算することが好ましい。なお、この(1)と(2)の演算は、同時に行っても構わない。
【0194】
また、(2)における演算では、2通りの演算が考えられる。
・図16のステップS201において指示された(もしくはステップS204で修正された)被写体面の回転中心と被写体面形状の中心とを一致させて処理を行う。
・あくまでも画像中心と被写体面形状の中心とを一致させて処理を行う。
【0195】
実際の光学系においては後者のように画像中心と被写体面形状中心が一致しているのでユーザにとってはこちらの効果を得るほうが好ましい。そこで、以下では、後者の考え方に沿って説明する。但し、実際のレンズとは異なった効果を得たいユーザのために、メニュー操作などで指定することによって、被写体面の回転中心と被写体面形状中心とを一致させることができるようにしても良い。
【0196】
実際の「アオリ(スイング、ティルト)」レンズにおいては、アオリ操作を行ったときに被写体面の回転中心が焦点距離および被写体面の傾け角度、撮像距離すなわち被写体までの距離に応じて、画像中心から動いていく。画像処理によって「アオリ(スイング、ティルト)」効果を得る本実施の形態においても、こうした挙動を再現可能とする手段を提供することが好ましい。
【0197】
そこで、図16のステップS206において被写体面を回転操作したときには、画像の画角(図15のステップS101でメタデータとして記録)と被写体面の回転角度に応じて、被写体面の回転中心を画像中心から移動させる。
【0198】
図16のステップS206において被写体面の回転操作が行われたら、画像内の各画素位置における座標情報(X,Y,Z)から被写体面形状を減算もしくは加算(被写体面形状データの持ち方によっては逆になる)する。これで、被写体面からの距離情報を、被写体面中心座標を通って撮像時のレンズ光軸と直交している平面からの距離情報へと変換する。つまり、被写体面の形状を一旦元の平面形状に戻す。
【0199】
続いて、立体解析幾何学による座標変換を行って、各画素について被写体面中心座標を通って、ユーザに指示/操作された角度回転した平面からの距離情報へと変換する。つまり、平面の状態で回転のための座標変換を行う。
【0200】
被写体面の回転角度と、被写体面の回転中心が画像中心から移動する量との関係は、ROM62bに予め保持・記録されていてもよく、外部I/F69を介して外部より入手するようにしても良い。このとき、CPU62aは、被写体面の回転角度に応じて、画像中心からの移動座標(X,Y)が分かるように保持する。
【0201】
画像内の各画素位置における座標情報(X,Y,Z)に、被写体面の回転角度に応じて画像中心から移動(X,Y)した被写体面形状を加算もしくは減算(被写体面形状データの持ち方によっては逆になる)する。これによって、被写体面中心座標を通って、ユーザに指示、操作された角度回転した平面からの距離情報を、被写体面からの距離情報へと変換する。つまり、最後にまた被写体面の形状に戻す。
【0202】
一方、被写体面の形状を操作したいというユーザも少なからず存在することから、被写体面の形状を変更する機能を実現すると更に好ましい。そこで、この実施の形態に係る画像処理装置、画像処理方法では、図16のステップS204もしくはステップS206において、被写体面の中心が長押し(タップしてドラッグせずに押し続ける)操作された場合、図30(a)に示されるように、CPU62aが現在の被写体面形状の表示枠526aをLCD68の表示画面526上に表示するよう制御する。
【0203】
図30(a)の表示画面526において、被写体面形状の表示枠526aは、例えばその表示枠をドラッグ操作することによって移動可能である。この表示枠526aに表示された被写体面形状をタップもしくはドラッグされた場合、CPU62aは、被写体面形状を変更する。被写体面の形状を変更した効果は、図16のステップS205もしくはステップS207で画像処理することによってユーザが即座に確認可能とする。
【0204】
被写体面の形状を表示する操作は、被写体面中心の長押しには限定されない。表示画面526に「被写体面形状」ボタンを表示しても構わない。この場合、「被写体面形状」ボタンを「被写体面の中心」と判定される範囲の外側に配置することが望ましい。
【0205】
また、被写体面中心に対する1回目のタップにより図30(b)に示されるような画面527を表示し、2回目のタップにより「浅い」〜「深い」という被写界深度設定及び「終了」と「被写体面形状」を表示しているグラフ表示部527aで被写界深度に関わる入力を可能とすることもできる。こうすれば、1つのUIによって被写界深度設定、被写体面回転終了、被写体面形状表示を指示することができる。
【0206】
さらに、1回目のタップによる画面表示に「キャンセル」や「表示を消去」などのボタンも更に表示すれば、1つのUIで被写体面の操作を行うことができる。
【0207】
(第10の実施の形態)
次に第10の実施の形態について説明する。
尚、第10の実施の形態に係る画像処理装置の構成は、第3の実施の形態(図13,14)と同様であるので、これらの図を適宜参照し、説明を進める。また、図15,16のフローチャートを参照する場合、同図のステップを引用しつつ特徴点を説明する。
【0208】
被写体面の回転中心などを指示するときには、ユーザによる指示以外で指定しても構わない。例えば「顔認識」などの検出系技術を用いて検出された特定点(特徴点)に基づいて、被写体面の中心や被写体面を回転する角度を決めることもできる。
【0209】
そこで、第10の実施の形態に係る画像処理装置、画像処理方法では、CPU62aが画像内の輝度やコントラストに基づいて特定点を抽出し、特定点の配置(位置関係)等をRAM62bに記録されているパターンと照合することで被写体を認識する。
【0210】
図31(a)は、両目/鼻/口の位置関係によって顔を認識し、その中心位置を被写体面中心として設定した例である。この画面528では、顔の認識領域は矩形枠528aで示される。
【0211】
また、図31(b)に示されるように、画面529内の複数の被写体を認識することによって、検出された被写体の特定点(例えば、目/鼻/口)もしくは被写体範囲(例えば顔)を含むように被写体面および被写界深度を設定することも可能である。この画面529では、複数の顔の認識領域が矩形枠529a〜529dで示される。
【0212】
さらに、図32(a)に示されるように、例えば、検出された被写体範囲(例えば顔)が2箇所であれば、CPU62aは、表示画面530に立体解析幾何学における座標変換によって2点を結ぶ線上に被写体面の回転軸を配置して回転軸530aを表示し、ユーザによる回転操作を可能にする。そして、被写体面の回転に合わせて、図32(b)に示されるようなボカシ処理を施した画像を表示画面531にて表示する。
【0213】
また、図33(a)に示されるように、例えば、検出された被写体範囲(例えば顔)が3箇所であれば、CPU62aは、表示画面532に複数の顔の認識領域を矩形枠532a〜532cで示すと共に、立体解析幾何学における座標変換によって3点で規定される面上に被写体面を配置する。
【0214】
このとき、CPU62aは、被写体面の回転中心を、画面532内において被写体の占める割合の大きいものを主要な被写体であると判断し、主要被写体の検出範囲の中心を被写体面の回転中心としてもよい。ここから、ユーザによる被写体面操作並びに被写界深度設定を更にすることができる。また、検出された範囲が指定された場合、CPU62aは該範囲に従って主要被写体(被写体の検出範囲の中心座標など)を選ぶこともできる。
【0215】
たとえば、図33(b)に示されるように、表示画面533において、被写体の占める割合の大きい被写体O1ではなく、ユーザ操作により奥に位置する被写体O2が指定された場合には、CPU62aは、該被写体O2(被写体O2の検出範囲の中心座標など)を主要被写体として選択し、被写体面の回転中心に設定する。
【0216】
また、図33(c)に示されるように、例えば、表示画面534にて、検出された被写体範囲(例えば顔)が4箇所表示されているのであれば、CPU62aは、立体解析幾何学における座標変換によって検出範囲の中心座標をすべて含むような被写体面/被写界深度を設定する。CPU62aは、検出範囲の中心座標が、被写体面から等距離となるように被写体面を設定する(但し、検出範囲の中心座標が必ずしも被写体面上にはないことになる)。被写体面から各検出範囲の中心座標までの距離と等しくなるように、被写界深度を設定する。
【0217】
このとき、被写体面の回転中心(符号534a)は各検出範囲のいずれかの中心座標ではなく、図33(c)に示されるように設定された被写体面からの距離が最小となる位置に設定される。この場合であっても、検出された範囲の更なる指定に従って、CPU62aが主要被写体を選び、被写体面の回転中心を再設定することもできる。
【0218】
さらに、図34(a)に示されるように、表示画面535において、検出された被写体範囲(例えば顔)が矩形枠535a〜535dで示されている。この被写体範囲をふまえて、ユーザ操作による新たな被写体の選択や既に認識されている被写体の選択解除がなされた場合、CPU62aが被写体面の設定に用いる被写体を再設定する。図34(b)の例では、表示画面536に表示されている被写体のうち、被写体O3,O4の検出範囲(矩形枠536c,536d)が選択解除された例を示している。
【0219】
そして、CPU62aは、再設定された被写体の中から主要被写体(被写体の検出範囲の中心座標)を特定し、図34(c)に示されるようなボカシ処理を施した画像を表示画面537にて表示する。
【0220】
以上説明した第4乃至第10の実施の形態の画像処理装置、画像処理方法は、任意の組み合わせによっても実施可能であることは勿論である。また、タッチパネル76を使用することを前提として説明したが、操作入力を行うポインティングデバイスはこれに限定されることはなく、例えば十字キー77によってカーソルを移動させて決定キー74で指示を行ったとしても、同じような利便性をユーザに提供することができる。
【0221】
以上、本発明の第1乃至第10の実施の形態について説明したが、これら実施の形態によれば以下のような効果が奏される。
【0222】
即ち、画像処理によって「アオリ(スイング、ティルト)」相当の画像を得ることができるようにしたことで、特殊な光学設計、鏡筒設計を行う必要がなくなる。
【0223】
複雑な機構(所謂シャインプルフの法則に沿ったメカ設計)を用意することが不要となるので、「アオリ(スイング、ティルト)」を意図した特別な光学設計を行う必要がなくなる。さらに、小型かつ安価な装置で撮像した画像を用いて、「アオリ(スイング、ティルト)」相当の画像を得ることができる画像処理装置を提供することができる。
【0224】
画像処理によって「アオリ(スイング、ティルト)」相当の画像を得ることができるようにしたことで、撮影前の煩雑な操作が必要なくなる。これによって、シャッタチャンスを逸してしまう可能性を減らすことができる。
【0225】
画像処理装置において、従来技術による特殊な光学設計、鏡筒設計を用いた「アオリ(スイング、ティルト)」操作に相当する被写体面の操作について、自在な操作が可能である方法を提供することができる。
【0226】
画像処理装置における被写体面の操作方法によれば、ユーザに直感的で容易な操作環境を提供することができる。たとえば、タッチパネルを用いる場合には、より直感的な操作が可能となる。
【0227】
ユーザが設定した仮想的な被写体面の回転中心を表示画面に表示することによって、ユーザによる被写体面の操作、状態把握をより簡単なものにすることができる。
【0228】
ユーザによる仮想的被写体面の操作状態を表示画面に表示することによって、ユーザによる被写体面の操作、状態把握をより簡単なものにすることができる。
【0229】
仮想的被写界深度を設定することを可能とすることによって、小さな撮像素子と短い焦点距離のレンズとを組み合わせた小型撮像装置によって撮影された被写界深度の深い画像であっても、仮想的に被写界深度を浅くする画像処理を行うことができる。
【0230】
仮想的な被写体面の形状を設定することを可能とすることによって、ユーザにより幅広い作画機能を提供することができる。
【0231】
なお、本発明は前述した第1乃至第10の実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲で種々の改良や変更が可能である。たとえば、前述した画像処理装置の処理に係るプログラム、該プログラムを記録した記録媒体、前述した画像処理方法を実現するプログラム、該プログラムを記録した記録媒体としての実施も可能である。
【図面の簡単な説明】
【0232】
【図1】本発明の第1の実施の形態に係る画像処理装置の基本原理の概念図。
【図2】(a)及び(b)は被写体面の設定について説明する概念図。
【図3】本発明の第1の実施の形態に係る画像処理装置の構成図。
【図4】本発明の第1の実施の形態に係る画像処理装置によるアオリ効果と同等の補正を行う特徴的な処理について詳細に説明するフローチャート。
【図5】被写体面の仮設定について説明するフローチャート。
【図6】被写体面の調整について説明するフローチャート。
【図7】(a)は撮像画像の表示例を示す図、(b)は距離情報であるデプス・マップの表示例を示す図、(c)は被写体面からの距離情報としてデプス・マップを変換した例を示す図、(d)はボカシ処理を施した画像の表示例を示す図。
【図8】被写体面の変更に伴う距離情報の変換を説明する概念図。
【図9】距離情報の取得の基本原理を説明するための概念図。
【図10】(a)乃至(c)は被写体面を任意の湾曲面とする例を説明する概念図。
【図11】被写体面を表示するウィンドウを採用した表示例を示す図。
【図12】本発明の第2の実施の形態に係る情報処理装置の構成図。
【図13】本発明の第3の実施の形態に係る画像処理装置の構成図。
【図14】(a)及び(b)は第3の実施の形態に係る画像処理装置の斜視図。
【図15】本発明の第3の実施の形態に係る画像処理装置による特徴的な処理手順を詳述するフローチャート。
【図16】被写体面操作に関わる処理を詳細に示すフローチャート。
【図17】(a)及び(b)は被写体面操作を説明する表示例を示す図。
【図18】画像処理に関わる処理を詳細に示すフローチャート。
【図19】ボケ付加パラメータと距離情報の関係を示す図。
【図20】(a)乃至(c)は操作やり直しに関わる画面の表示例を示す図。
【図21】(a)乃至(c)は第4の実施の形態における被写界深度の設定に関わる画面の表示例を示す図。
【図22】(a)乃至(d)は第5の実施の形態における被写界深度の設定並びに設定終了に関わる画面の表示例を示す図。
【図23】(a)及び(b)は第5の実施の形態における被写体面の設定に関わる画面の表示例を示す図。
【図24】第6の実施の形態における被写体面のティルト量の表示例を示す図。
【図25】(a)乃至(c)は第7の実施の形態における被写体面を定める水平、垂直ライン等の表示例を示す図。
【図26】(a)乃至(h)は第8の実施の形態における被写体面の表示例を示す図。
【図27】(a)はメリディオナル像面を示す概念図、(b)はサジタル像面を示す概念図。
【図28】デプス・マップ同様に表現された被写体面形状を示す図。
【図29】被写体面の形状を概念的に示す図。
【図30】(a)及び(b)は第9の実施の形態における被写体面形状の変更に関わる画面の表示例を示す図。
【図31】(a)及び(b)は第10の実施の形態における被写体面の設定に関わる画面の表示例を示す図。
【図32】(a)及び(b)は第10の実施の形態における被写体面の設定に関わる他の画面の表示例を示す図。
【図33】(a)乃至(c)は第10の実施の形態における被写体面の設定に関わる更に他の画面の表示例を示す図。
【図34】(a)及び(c)は第10の実施の形態における被写体面の設定解除に関わる画面の表示例を示す図。
【図35】カメラムーブメントの類別を示す図。
【図36】シャインプルフの法則について説明する概念図。
【符号の説明】
【0233】
1…撮像装置、2…内蔵メモリ、3…表示部、4…十字キー、5…タッチパネル、11
…撮像光学系、12…撮像素子、13…映像出力部、14…A/Dコンバータ、15…メ
モリ制御部、16…表示メモリ、17…表示処理部、18…D/Aコンバータ、19…
LCDモニタ、20…制御部、21…CPU、22…ROM、23…RAM、24…画像
処理部、25…フレームメモリ、26…OSD処理部、27…撮像条件検出部、28…カ
メラ駆動制御部、29…測距部、30…メモリI/F、31…メモリカード、32…入力I/F、33…操作入力部、34…タッチパネル、35…制御バス

【特許請求の範囲】
【請求項1】
画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて、被写体面を設定する被写体面設定手段と、
前記被写体面に応じて前記画像データの距離情報を変換する距離情報変換手段と、
前記距離情報変換手段で変換された距離情報に基づいて前記画像データに対して画像処理を行う画像処理手段とを有する
画像処理装置。
【請求項2】
前記距離情報変換手段は、前記指定された点の座標に基づいて前記画像データの各点に係る距離情報を変換する
請求項1に記載の画像処理装置。
【請求項3】
ユーザ指定に従って、前記点を前記被写体面内に維持した状態で前記被写体面を変更する被写体面変更手段を更に備え、
前記距離情報変換手段は、前記被写体面変更手段で変更された被写体面に応じて前記距離情報を変換する
請求項1に記載の画像処理装置。
【請求項4】
前記被写体面変更手段は、前記被写体面を、前記指定された点を回転中心として回転させることで、前記被写体面を変更する
請求項3に記載の画像処理装置。
【請求項5】
前記被写体面変更手段により、前記被写体面が変更された場合には、前記距離情報変換手段は、前記指定された点の座標と、前記回転の角度及び方向に基づいて、前記画像データの各点に係る距離情報を変換する
請求項4に記載の画像処理装置。
【請求項6】
前記画像処理手段は、前記画像処理として、前記距離情報変換手段により変換された距離情報に応じたボケ量で前記画像データにボケを付加する
請求項1に記載の画像処理装置。
【請求項7】
前記画像処理手段は、前記被写体面からの距離が大きいほどボケ量が大きくなるように前記画像データにボケを付加する
請求項6に記載の画像処理装置。
【請求項8】
前記画像処理手段は、前記被写体面からの距離が所定範囲内である点については、同じボケ量となるように前記画像データにボケを付加する
請求項6に記載の画像処理装置。
【請求項9】
前記画像処理手段は、被写界深度を示す被写界深度情報に基づいて、前記ボケ量を調整する
請求項6に記載の画像処理装置。
【請求項10】
前記被写体面の状態を表示部に表示させる表示制御手段をさらに有する
請求項1に記載の画像処理装置。
【請求項11】
前記画像データと前記距離情報とを関連付けて記憶する記憶手段と、
前記点を指定する指定手段と、
前記点を含む被写体面のレンズ光軸に対する傾き角度と傾き方向を設定する設定手段とをさらに有する
請求項1に記載の画像処理装置。
【請求項12】
前記指定手段により前記点が指定され、前記設定手段により前記被写体面の前記レンズ光軸に対する傾き方向と傾き角度が設定されると、前記被写体面設定手段は、該傾き方向と傾き角度に基づいて前記被写体面を設定する
請求項11に記載の画像処理装置。
【請求項13】
距離を測距する測距手段をさらに備え、該測距手段により得られた距離情報を画像データと関連付けて前記記憶手段に記憶する
請求項11に記載の画像処理装置。
【請求項14】
前記指定手段はタッチパネルであり、前記タッチパネルは、前記撮像画像内の点の指定がなされた場合には座標を検出することによって位置の指定として受け付ける
請求項11に記載の画像処理装置。
【請求項15】
前記指定手段による位置の指定では、前記タッチパネルを所定回数タッチすることで指定する
請求項14に記載の画像処理装置。
【請求項16】
前記指定手段により指定された位置を撮像画像と合わせて表示部に表示させる表示制御手段をさらに有し、前記指定手段は指定した点のドラッグに基づき該位置の変更を受け付ける
請求項11に記載の画像処理装置。
【請求項17】
前記指定手段及び設定手段はタッチパネルであり、前記撮像画像の内の少なくとも1点の指定、指定位置の変更、並びに指定された前記点を含む被写体面のレンズ光軸に対する傾き方向と傾き角度の設定は、該タッチパネルが所定回数タッチされることに応じて行なわれる
請求項11に記載の画像処理装置。
【請求項18】
前記距離情報変換手段は、前記被写体面に応じて、前記画像データのうちの複数の画素からなる所定単位の領域毎に、距離情報を変換する
請求項1に記載の画像処理装置。
【請求項19】
画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて、被写体面を設定するステップと、
前記被写体面に応じて前記画像データの距離情報を変換するステップと、
変換された距離情報に基づいて前記画像データに対して画像処理を行うステップとを有する
画像処理方法。
【請求項20】
画像データに基づく表示画像のうちのユーザにより指定された点に対応する距離情報に基づいて、被写体面を設定するステップと、
前記被写体面に応じて前記画像データの距離情報を変換するステップと、
変換された距離情報に基づいて前記画像データに対して画像処理を行うステップとからなる画像処理方法をコンピュータに実行させる
画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate


【公開番号】特開2009−15828(P2009−15828A)
【公開日】平成21年1月22日(2009.1.22)
【国際特許分類】
【出願番号】特願2008−133498(P2008−133498)
【出願日】平成20年5月21日(2008.5.21)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】