以下、本発明の実施形態について図面を参照して説明する。ただし、本発明はこれに限定されるものではない。また、図面においては、実施形態を説明するため、一部分を大きくまたは強調して記載するなど適宜縮尺を変更して表現する場合がある。
<第1実施形態>
図1は、画像検索・生成装置101の構成を示すブロック図である。図1に示すように、画像検索・生成装置(画像検索装置、画像生成装置)101は、撮像装置の一例であるライトフィールドカメラ1、表示装置102、キーボード103、及びマウス104と接続されている。ここで、ライトフィールドカメラ1は、撮像部がカメラに入射する多数の光線をライトフィールド(光線空間)として取得する。そして、ライトフィールドカメラ1は、取得したライトフィールドの情報に対して画像処理を施すことで合焦位置などを奥行き方向に変更したリフォーカス画像を生成する。以下の説明では、三次元空間の光線集合であるライトフィールドの情報を光線情報又はRAWデータという。
画像検索・生成装置101は、使用者により指定される情報に基づいて、ライトフィールドカメラ1で撮影された画像データに含まれる被写体を検索し、検索した被写体の奥行き方向の位置に合焦した画像データを生成する。なお、ライトフィールドカメラ1から被写体に向かう方向を奥側の方向といい、その反対側の方向を手前側の方向をいう。また、奥側の方向及び手前側の方向を奥行き方向という。
画像検索・生成装置101は、例えば、パーソナルコンピュータで実現される。この画像検索・生成装置101は、図1に示すように、演算処理部110及び記憶部120を有している。演算処理部110は、画像データの検索及び生成に関する制御を司る。記憶部120は、ライトフィールドカメラ1で取得されたRAWデータや、このRAWデータから生成される画像データ(この画像データに付加される付随情報を含む)などを記憶する。なお、本実施形態では、画像データに付加される付随情報はEXIF情報(Exchangeable Image file Format)である。EXIF情報には、例えば、画像データごとに付加される撮影シーンの情報(ポートレート、風景など)、画像データ中の被写体ごとに付加される、被写体の種別(種類)を示す被写体種別データ、画像データ中の被写体ごとに付加される、個々の被写体を識別するための被写体識別データ、被写体ごとに付加される、被写体の合焦位置の情報(つまりライトフィールドカメラ1から被写体までの距離を示す距離データ)が含まれる(後述する図8参照)。また、被写体識別データには、被写体の特徴点や被写体の名称などが含まれる。
被写体の特徴点とは、被写体が同一の被写体であるか異なる被写体であるかを識別するための被写体の特徴的な情報のことをいう。例えば、被写体が人物の場合における人物の顔の形、目の形、目と鼻の位置関係などの情報が特徴点とされ、また、被写体が建物である場合における建物の色や形状などの情報が特徴点とされる。
演算処理部110は、図1に示すように、表示制御部111、画像入力部112、操作制御部113、及び演算部114を有している。表示制御部111は、例えば液晶表示ディスプレイのような表示装置102の表示画面500に、使用者が画像データの検索を行うための画像検索画面(図11〜図13参照)を表示する制御を行う。画像検索画面は、使用者が画像を検索するときに用いるグラフィカルユーザインタフェイス(GUI)である。また、表示制御部111は、複数の画像データに含まれる複数の被写体を検出し、検出した複数の被写体の画像データを切り出す。そして、表示制御部111は、切り出した複数の被写体の画像データに基づく画像を、表示装置102の表示画面500の第1表示領域(被写体一覧を表示するための第1表示領域501;図11参照)に表示する制御を行う。
また、表示制御部111は、使用者によるマウス104などの操作(例えばドラッグアンドドロップ操作)によって、第1表示領域に表示されている複数の被写体の画像データに基づく画像を、表示装置102の表示画面500の第2表示領域(検索対象の被写体を表示するための第2表示領域502;図11参照)に移動させる制御を行う。また、表示制御部111は、使用者によるマウス104などの操作(例えばドラッグアンドドロップ操作)によって、複数の被写体の画像データに基づく画像の奥行き方向の表示位置を変更する制御を行う。
画像入力部112は、ライトフィールドカメラ1と接続されることにより、このライトフィールドカメラ1に記憶されているRAWデータ及び画像データ(付随情報を含む)を入力する。この画像入力部112は、ライトフィールドカメラ1から入力したRAWデータ及び画像データ(付随情報を含む)を記憶部120における画像データ記憶領域に記憶する。なお、画像入力部112は、インターネットなど通信ネットワーク(図示せず)を通じてRAWデータなど(RAWデータ、画像データ)を取得し、取得したRAWデータなどを記憶部120における画像データ記憶領域に記憶することも可能である。
操作制御部113は、使用者が操作可能な操作部を構成するキーボード103及びマウス104と接続される。この操作制御部113は、使用者によるキーボード103やマウス104の操作に応じて情報を入力し、その情報を表示制御部111や演算部114に出力する。
演算部114は、図1に示すように、画像生成部114a、検出部114b、指定部114c、及び検索部114dを備えている。画像生成部114aは、ライトフィールドカメラ1からRAWデータを取得した際に(図6のステップS1参照)、RAWデータに基づいて合焦位置が異なる複数の画像データを生成する。また、画像生成部114aは、合焦位置が異なる複数の画像データに対して、色信号処理(色調補正)、ホワイトバランス調整、シャープネス調整、ガンマ補正、階調調整などの各種画像処理を実行する。また、画像生成部114aは、後述する検索部114dが検索条件に対応する被写体(検索対象の被写体)を含む画像データを検索した際に(図10のステップS19参照)、RAWデータに基づいて検索部114dで検索された被写体の奥行き方向の位置に合焦した画像データを生成する。
検出部114bは、ライトフィールドカメラ1からRAWデータを取得した際に(図6のステップS1参照)、画像生成部114aがRAWデータに基づいて生成した画像データ中の1つ又は複数の被写体(以下、登録対象の被写体という。)を検出する。また、検出部114bは、検出した登録対象の被写体の特徴点を抽出する。そして、検出部114bは、抽出した登録対象の被写体の特徴点と、記憶部120に記憶されている1つ又は複数の画像データに含まれる複数の被写体の特徴点とを順次照合して、検出した登録対象の被写体と同じ被写体を含む画像データが記憶部120内に存在するか否かを判定する。
検出部114bは、登録対象の被写体と同じ被写体を含む画像データが記憶部120内に存在しないと判定した場合は、登録対象の被写体を含む画像データのEXIF情報に新たな被写体種別データ及び被写体識別データを被写体ごとに付加する。一方、検出部114bは、登録対象の被写体と同じ被写体を含む画像データが記憶部120内に存在すると判定した場合は、登録対象の被写体を含む画像データのEXIF情報に、記憶部120内の画像データに付加されているEXIF情報の被写体種別データ及び被写体識別データと同じデータを被写体ごとに付加する。なお、検出部114bは、登録対象の被写体を含む画像データのEXIF情報に、画像データごとの撮影シーンの情報も付加する。
また、検出部114bは、登録対象の被写体の奥行き方向の位置(被写体の合焦位置)を検出する。検出部114bは、登録対象の被写体を含む画像データのEXIF情報に、登録対象の被写体の奥行き方向の位置を示す距離データ(合焦位置)を被写体ごとに付加する。演算部114は、RAWデータとともに、EXIF情報が付加された画像データを記憶部120に記憶する。
指定部114cは、使用者が画像データを検索する際に、画像データの検索条件を指定する。具体的には、操作制御部113は、使用者が画像データを検索するためにキーボード103やマウス104の操作に合わせて入力する情報を演算部114に出力する。指定部114cは、操作制御部113からの情報を入力し、入力した情報を画像データの検索条件として指定する。検索条件は、上述した被写体種別データ(人物、家、木、山など)、被写体識別データ(被写体の特徴点、被写体の名称)、及び被写体の奥行き方向の位置のうちの少なくともいずれか1つの情報である。
検索部114dは、記憶部120に記憶されている画像データの中から、指定部114cで指定された検索条件に対応する被写体を含む画像データを検索する。なお、表示制御部111は、検索部114dの画像検索結果である画像の一覧を表示装置102の表示画面500に表示する。
なお、演算処理部110における表示制御部111、画像入力部112、操作制御部113、及び演算部114(画像生成部114a、検出部114b、指定部114c、検索部114d)のそれぞれの構成は、CPU(Central Processing Unit)などの制御装置が記憶部120に記憶されている制御プログラム(画像生成プログラム、画像検索プログラム)に従って実行する処理又は制御に相当する。
記憶部120には、RAWデータ及び画像データ(付随情報)を記憶するための画像データ記憶領域が形成されている。また、記憶部120には、表示制御部111による画像検索画面などの表示に必要な各種情報が記憶されている。また、記憶部120には、上記したように、演算処理部110における表示制御部111、画像入力部112、操作制御部113、及び演算部114の処理を実行させるための制御プログラム(画像生成プログラム、画像検索プログラム)なども記憶されている。
次に、図1に示したライトフィールドカメラ1の構成について説明する。図2は、撮像装置の一例であるライトフィールドカメラ1における光学系部分の概略構成を示す断面図である。なお、図2において、紙面の右方向(光軸方向)をX軸とし、X軸と直交する紙面の上方向をZ軸とし、X軸及びZ軸と直交する紙面の裏から表に向かう方向をY軸としている。また、図2は、ライトフィールドカメラ1における光学系部分を光軸を含む面で切断したときの断面図である。
なお、ライトフィールドカメラ1の代表的な機能としては、撮影後の後処理によって焦点距離を変更した画像を生成するリフォーカス機能がある。従って、ライトフィールドカメラ1はリフォーカスカメラとも呼ばれる。
本実施形態のライトフィールドカメラ1は、その光学系部分として、撮影光学系(結像光学系)11及びマイクロレンズアレイ12を備えている。なお、図2には、ライトフィールドカメラ1における光学系部分以外の構成である撮像素子20についても示している。
撮影光学系11は、複数のレンズ群で構成される単焦点レンズである。撮影光学系11は、被写体からの光束をその焦点面(結像面)近傍に結像する。また、撮影光学系11は、撮影時に絞り値(F値)を制御する開口絞り(不図示)を備えている。なお、絞り値は撮影後の画像の再構成によって変更することができるため、開口絞りの開口径は固定でもよい。図2に示すように、撮影光学系11の焦点面近傍にマイクロレンズアレイ12と撮像素子20とが順に配置されている。
マイクロレンズアレイ12は、正のパワーを有した複数のマイクロレンズ(正レンズ)が二次元状に配置された構成となっている。なお、図2に示すマイクロレンズアレイ12においては、3つのマイクロレンズだけがZ軸方向に配されているが、実際はZ軸方向及びY軸方向に多数のマイクロレンズが配されている。
撮像素子20は、マイクロレンズアレイ12の後側(撮影光学系11の反対側)に若干の間隔をおいて配置されている。この撮像素子20は、マイクロレンズアレイ12の各マイクロレンズを通過した光束を複数の光電変換素子で受光し、各々の光電変換素子が受光した光束を光電変換して複数の画素信号を生成する。複数の光電変換素子はマトリックス状に配列され、各々の光電変換素子が画素を形成する。本実施形態では、撮像素子20は、CCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)などの二次元固体撮像素子で構成されている。
図2の部分拡大図に示す例では、複数のマイクロレンズ12a,12b,12cの各々の後側に複数個ずつ画素が配列されている。具体的には、マイクロレンズ12aの後側に3つの画素21a,21b,21cが配列され、マイクロレンズ12bの後側に3つの画素22a,22b,22cが配列され、マイクロレンズ12cの後側に3つの画素23a,23b,23cが配列されている。
3つの画素21a,21b,21cがマイクロレンズ12aに対応する画素21であり、3つの画素22a,22b,22cがマイクロレンズ12bに対応する画素22であり、3つの画素23a,23b,23cがマイクロレンズ12cに対応する画素23である。なお、図2の部分拡大図では、各マイクロレンズ12a,12b,12cに対応する画素として3つの画素を示しているが、実際はZ軸方向及びY軸方向に多数の画素が配列されている(後述する図3参照)。
次に、図2を参照してライトフィールドカメラ1によるライトフィールドの取得について簡単に説明する。図2において、Aの位置にある被写体が撮影光学系11によってマイクロレンズアレイ12の位置に焦点を結ぶものとする。被写体上の点A1からの光線は、撮影光学系11の瞳上の部分領域11aを通過し、マイクロレンズ12aを通過して撮像素子20の画素21cで受光される。また、被写体上の点A1からの他の光線は、撮影光学系11の瞳上の部分領域11bを通過し、マイクロレンズ12aを通過して撮像素子20の画素21bで受光される。また、被写体上の点A1からの他の光線は、撮影光学系11の瞳上の部分領域11cを通過し、マイクロレンズ12aを通過して撮像素子20の画素21aで受光される。
同様に、被写体上の点A2からの光線は、撮影光学系11の瞳上の部分領域11aを通過し、マイクロレンズ12bを通過して撮像素子20の画素22cで受光される。また、被写体上の点A2からの他の光線は、撮影光学系11の瞳上の部分領域11bを通過し、マイクロレンズ12bを通過して撮像素子20の画素22bで受光される。また、被写体上の点A2からの他の光線は、撮影光学系11の瞳上の部分領域11cを通過し、マイクロレンズ12bを通過して撮像素子20の画素22aで受光される。
さらに、被写体上の点A3からの光線は、撮影光学系11の瞳上の部分領域11aを通過し、マイクロレンズ12cを通過して撮像素子20の画素23cで受光される。また、被写体上の点A3からの他の光線は、撮影光学系11の瞳上の部分領域11bを通過し、マイクロレンズ12cを通過して撮像素子20の画素23bで受光される。また、被写体上の点A3からの他の光線は、撮影光学系11の瞳上の部分領域11cを通過し、マイクロレンズ12cを通過して撮像素子20の画素23aで受光される。このように、Aの位置にある被写体からの光線は、マイクロレンズ12a,12b,12cの後側に位置する撮像素子20の画素で受光されることによって明るさと進行方向とが光線情報として取得される。
マイクロレンズ12a,12b,12cそれぞれに対応する3つの画素のうち、下側の画素21c,22c,23cの画素信号で生成される画像は、部分領域11aを通過した光線による像である。また、真中の画素21b,22b,23bの画素信号で生成される画像は、部分領域11bを通過した光線による像である。また、上側の画素21a,22a,23aの画素信号で生成される画像は、部分領域11cを通過した光線による像である。例えば各マイクロレンズに対応する画素数がN個である場合、マイクロレンズに対して同じ位置にある画素の画素値を配列して構成されるN個の再構成画像は、撮影光学系11をN個の部分領域に分割して取得されるN個のステレオ画像群を形成する。
図3は、撮像素子20の画素配列と入射領域とを説明する図である。なお、図3では図2のX軸方向から撮像素子20を観察した様子を示す。図3に示す撮像素子20において、画素が配列された領域を画素領域200という。画素領域200には例えば1000万個以上もの画素がマトリックス状に配列されている。画素領域200における円形の領域は、1つのマイクロレンズを通過した光線が入射する領域である。従って、円形の領域は、複数のマイクロレンズごとに複数形成される。これらの領域を入射領域201,202・・・という。なお、マイクロレンズは例えば586×440個配置される。ただし、このような配置数は一例であって、これよりも多い数でも少ない数でもよい。図3に示す例では、1つのマイクロレンズの直径は13画素分となっている。ただし、このような画素数分に限定されるわけではない。
上述したように、ライトフィールドカメラ1は、すべてのマイクロレンズから入射領域における同じ位置(入射領域内におけるY軸方向及びZ軸方向の同じ位置)にある画素の画素値を抽出して再構成する。このようにして得られた再構成画像群は、撮影光学系11の異なる部分領域から被写体を観察した画像群に相当する。従って、これらの再構成画像群においては、部分領域の位置と被写体までの距離に応じた視差を有する。例えば、図3に示すように、入射領域201における画素201aと同じ位置にある各マイクロレンズの画素の画素値から構成される再構成画像と、入射領域201における画素201bと同じ位置にある各マイクロレンズの画素の画素値から構成される再構成画像とで視差を有する。
図4は、ライトフィールドカメラ1の構成を示すブロック図である。図4に示すライトフィールドカメラ1は、撮像部10、画像処理部30、ワークメモリ40、表示部50、操作部55、記録部60、及びシステム制御部70を備える。撮像部10は、撮影光学系11、マイクロレンズアレイ12、駆動制御部13、撮像素子20、及び駆動部21を有している。撮影光学系11及びマイクロレンズアレイ12は、図2において説明したため、図4においては説明を省略する。
撮像素子20の撮像面には、例えばベイヤー配列のカラーフィルタアレイが配置されている。撮像素子20は、撮影光学系11及びマイクロレンズアレイ12を通過した光束を入射する。撮像素子20は、入射した光束を光電変換してアナログ信号の各画素の画素信号を生成する。撮像部10において、不図示のアンプがアナログ信号の各画素の画素信号を所定の利得率(増幅率)で増幅する。また、不図示のA/D変換部がアンプにより増幅されたアナログ信号の各画素の画素信号をデジタル信号の各画素の画素信号に変換する。そして、撮像部10は、デジタル信号の各画素の画素信号からなるRAWデータを画像処理部30に出力する。上記したライトフィールドカメラ1が取得する光線情報は、撮像部10から出力されるRAWデータで特定される。
駆動制御部13は、撮影光学系11が備える開口絞りの開口径調節を行うために、システム制御部70から送信される制御情報に基づいて開口絞りの駆動制御を実行する。駆動部21は、システム制御部70からの指示信号に基づいて設定される撮像条件で撮像素子20の駆動を制御する制御回路である。撮像条件としては、例えば、露光時間(シャッター速度)、フレームレート、ゲインなどがあげられる。
ここで、露光時間とは、撮像素子20の光電変換素子が入射光に応じた電荷の蓄積を開始してから終了するまでの時間のことをいう。また、フレームレートとは、動画において単位時間あたりに処理(表示又は記録)されるフレーム数を表す値のことをいう。フレームレートの単位はfps(Frames Per Second)で表される。また、ゲインとは、画素信号を増幅するアンプの利得率(増幅率)のことをいう。このゲインを変更することにより、ISO感度を変更することができる。このISO感度は、ISOで策定された写真フィルムの規格であり、写真フィルムがどの程度弱い光まで記録することができるかを表す。ただし、一般に、撮像素子20の感度を表現する場合もISO感度が用いられる。この場合、ISO感度は撮像素子20が光をとらえる能力を表す値となる。
画像処理部30は、各画素の画素信号からなるRAWデータに対して種々の画像処理を施し、所定のファイル形式(例えば、JPEG形式等)の画像データを生成する。画像処理部30が生成する画像データには、静止画、動画、ライブビュー画像の画像データが含まれる。ライブビュー画像は、画像処理部30で生成された画像データを表示部50に順次出力して表示部50に表示される画像である。ライブビュー画像は、撮像部10により撮像されている被写体の画像を使用者が確認するために用いられる。ライブビュー画像は、スルー画やプレビュー画像とも呼ばれる。
画像処理部30は、ワークメモリ40をワークスペースとして、各画素の画素信号からなるRAWデータに対して所定の画像処理を施すことにより任意の焦点距離に設定された画像データを生成する。具体的には、画像処理部30は、次に示す画像処理を施すことにより任意の焦点距離に設定された画像データを生成する。
図5は、画像の再構成を説明する図である。図5に示すように、画像処理部30は、画素領域200における各入射領域201,202・・・に対して同じ位置にある画素201a,202a・・・の画素値(画素信号が示す値)を抽出する。画像処理部30は、抽出した画素値を並べ直して再構成画像データ400aを生成する。各入射領域201,202・・・に対応する画素数がN個である場合、N個の再構成画像データが生成される。
画像処理部30は、N個の再構成画像データ群を所定の焦点距離に合わせて所定量だけ平行移動させる。そして、画像処理部30は、平行移動後のN個の再構成画像データ群を加算平均する。これにより、所定の焦点距離に設定された画像データが生成される。移動量に応じた奥行きに存在する被写体は像の位置が合うのでシャープな輪郭の像が形成される。移動量に応じた奥行きに存在しない被写体の像はぼける。なお、上記した画像処理は一例であって、画像処理部30は上記した画像処理とは異なる画像処理を実行することにより、任意の焦点距離に設定された画像データを生成してもよい。例えば、画像処理部30は、撮像素子20の各画素が取得する光線を所定の演算を行うことによって算出する。そして、画像処理部30は、算出した光線を所定の焦点距離に設定した仮想的な画像面に投影することにより、所定の焦点距離に設定された画像データを生成する。
本実施形態においては、画像処理部30は、最も手前の被写体に合焦した画像データ、最も奥の被写体に合焦した画像データ、中間位置の被写体に合焦した画像データなど、焦点位置(焦点距離)が異なる複数の画像データを生成する。
画像処理部30は、ワークメモリ40をワークスペースとして、任意の焦点に設定された画像データに対して種々の画像処理を施す。例えば、画像処理部30は、ベイヤー配列で得られた信号に対して色信号処理(色調補正)を行うことによりRGB画像データを生成する。また、画像処理部30は、RGB画像データに対して、ホワイトバランス調整、シャープネス調整、ガンマ補正、階調調整などの画像処理を行う。また、画像処理部30は、必要に応じて、所定の圧縮形式(JPEG形式、MPEG形式等)で圧縮する処理を行う。画像処理部30は、生成した画像データを記録部60に出力する。また、画像処理部30は、生成した画像データを表示部50に出力する。
ワークメモリ40は、画像処理部30による画像処理が行われる際にRAWデータや画像データなどを一時的に記憶する。表示部50は、撮像部10で撮像された画像や各種情報を表示する。この表示部50は、例えば液晶表示パネルなどで構成された表示画面51を有している。なお、表示部50に表示される画像には、静止画、動画、ライブビュー画像が含まれる。
操作部55は、使用者によって操作されるレリーズスイッチ(静止画の撮影時に押されるスイッチ)、動画スイッチ(動画の撮影時に押されるスイッチ)、各種の操作スイッチなどである。この操作部55は、使用者による操作に応じた信号をシステム制御部70に出力する。記録部60は、メモリカードなどの記憶媒体を装着可能なカードスロットを有する。記録部60は、カードスロットに装着された記録媒体に画像処理部30において生成された画像データや各種データを記憶する。また、記録部60は、内部メモリを有する。記録部60は、画像処理部30において生成された画像データや各種データを内部メモリに記録することも可能である。
システム制御部70は、ライトフィールドカメラ1の全体の処理及び動作を制御する。このシステム制御部70はCPU(Central Processing Unit)を有する。システム制御部70は、画像処理部30で生成された画像データを表示部50に出力させて、表示部50の表示画面51に画像(ライブビュー画像、静止画、動画)を表示させる制御を行う。また、システム制御部70は、記録部60に記録されている画像データを読み出して表示部50に出力させ、表示部50の表示画面51に画像を表示させる制御を行う。
また、システム制御部70は、撮像素子20の撮像面(画素領域200)において所定の撮像条件(露光時間、フレームレート、ゲインなど)で撮像を行わせるために、所定の撮像条件を指示する指示信号を駆動部21に対して出力する。また、システム制御部70は、画像処理部30に所定の制御パラメータ(色信号処理、ホワイトバランス調整、階調調整、圧縮率などの制御パラメータ)で画像処理を実行させるために、制御パラメータを指示する指示信号を画像処理部30に出力する。また、システム制御部70は、RAWデータを記録部60に出力させて、記録部60にRAWデータを記録させる制御を行う。また、システム制御部70は、画像処理部30で生成された画像データを記録部60に出力させて、記録部60に画像データを記録させる制御を行う。なお、システム制御部70は、上記の制御の他に、撮影光学系11に備えられた開口絞りの開口径調節などの制御も行う。
次に、画像検索・生成装置101における演算処理部110の演算部114が実行する画像処理について説明する。図6は、図1に示す演算部114が実行する画像処理を説明するためのフローチャートである。なお、ライトフィールドカメラ1が画像検索・生成装置101に接続されることにより、ライトフィールドカメラ1の記録部60に記録されたRAWデータがライトフィールドカメラ1に出力され、画像入力部112を介して記憶部120の画像データ記憶領域に記憶される。
図6に示す処理において、演算部114の画像生成部114aは、記憶部120の画像データ記憶領域に記憶されたRAWデータを取得する(ステップS1)。そして、画像生成部114aは、取得したRAWデータに基づいて所定の合焦位置(焦点距離、焦点位置)の画像データを生成する(ステップS2)。ここで、画像生成部114aは、画像処理部30がRAWデータに基づいて画像データを生成する方法(図5参照)と同様の方法を用いて、所定の合焦位置の画像データを生成する。
具体的には、上述したように、画像生成部114aは、図5で説明したように、画素領域200における各入射領域に対して同じ位置にある画素の画素値を抽出し、抽出した画素値を再構成して複数個の再構成画像データ群を生成する。そして、画像生成部114aは、複数個の再構成画像データ群を所定の合焦位置に合わせて平行移動させ、平行移動後の複数個の再構成画像データ群を加算平均する。これにより、所定の合焦位置に設定された画像データが生成される。ステップS2において、画像生成部114aは、すべての被写体に対して合焦したパンフォーカスの画像データを生成する。また、ステップS2で生成される画像データは、静止画、動画、ライブビュー画像の画像データが含まれる。
図7は、ライトフィールドカメラ1と各被写体O1〜O4との距離関係を示す図である。図7に示す例では、ライトフィールドカメラ1はカメラ位置d0に位置している。また、被写体である人物O1は合焦位置d1に位置している。また、被写体である人物O2は合焦位置d2に位置し、被写体である木O3は合焦位置d3に位置し、被写体である家O4は合焦位置d4に位置している。なお、図7において、ライトフィールドカメラ1から被写体O1〜O4に向かう方向(矢印の方向)を奥側の方向といい、その反対側の方向を手前側の方向をいう。また、奥側の方向及び手前側の方向を奥行き方向という。画像生成部114aは、ステップS2において、例えば各合焦位置d1〜d4における4つの画像データを生成する。
次に、画像生成部114aは、ステップS2で生成した所定の合焦位置の画像データに対して、色信号処理(色調補正)、ホワイトバランス調整、シャープネス調整、ガンマ補正、階調調整などの各種画像処理を実行する(ステップS3)。なお、画像生成部114aにより実行される各種画像処理は、上述した画像処理部30により実行される各種画像処理と同様である。
また、検出部114bは、生成した画像データ(例えばパンフォーカスの画像データ)から1つ又は複数の被写体を検出する(ステップS4)。本実施形態では、検出部114bは、人物の被写体に対しては、公知の顔検出機能を用いて被写体の検出を行う。また、検出部114bは、人物以外の被写体に対しては、画像データにおける明部と暗部のコントラストや色変化に基づいて被写体の領域の境界を特定して被写体を検出する。なお、検出部114bは、移動する被写体(移動被写体)に対しては、時系列的に得られる複数の画像データを比較して移動被写体を検出してもよい。また、検出部114bは、顔検出に加えて、例えば特開2010−16621号公報(US2010/0002940号)に記載されているように、画像データに含まれる人体を被写体として検出してもよい。
また、検出部114bは、検出した登録対象の被写体の特徴点を抽出する。そして、検出部114bは、抽出した登録対象の被写体の特徴点と、記憶部120に記憶されている1つ又は複数の画像データに含まれる複数の被写体の特徴点とを順次照合して、検出した登録対象の被写体と同じ被写体を含む画像データが記憶部120内に存在するか否かを判定する(ステップS5)。そして、検出部114bは、その判定結果に基づいて、画像データにEXIF情報を被写体ごとに付加する。
図8は、画像データに付加されるEXIF情報の例を示す図である。なお、図8に示すEXIF情報は、ライトフィールドカメラ1が図7に示す距離関係の被写体O1〜O4を撮像したときのRAWデータに基づいて生成された画像データ(例えばJPEG形式の画像データ)のEXIF情報である。図8に示す例において、検出部114bは、登録対象の被写体O1,O2と同じ被写体を含む画像データが記憶部120内に存在する場合は、登録対象の被写体O1,O2を含む画像データのEXIF情報に、記憶部120内の画像データに付加されているEXIF情報の被写体種別データ(図8中「人物」)及び被写体識別データ(図8中「X、aa」「Y、bb」)と同じデータを被写体O1,O2ごとにそれぞれ付加する。
ここで、図8の「X」は人物O1の名称(例えば人物O1の名前、愛称)を示し、「aa」は人物O1の特徴点の情報を示す。また、「Y」は人物O2の名称(例えば人物O2の名前、愛称)を示し、「bb」は人物O1の特徴点の情報を示す。
また、図8に示す例において、検出部114bは、登録対象の被写体O3,O4と同じ被写体が記憶部120内に存在しない場合は、登録対象の被写体O3,O4を含む画像データのEXIF情報に新たな被写体種別データ(図8中「木」「家」)及び被写体識別データ(図8中「cc」「dd」)を被写体ごとにそれぞれ付加する。ここで、図8の「cc」は木O3の特徴点の情報を示す。また、「dd」は家O4の特徴点の情報を示す。なお、図8において、木O3及び家O4には名称が付加されていないが、解析部114bは自動的に又は使用者による操作に応じて木O3及び家O4に名称を付加してもよい。
なお、検出部114bは、登録対象の被写体を含む画像データのEXIF情報に、画像データごとの撮影シーンの情報も付加する。解析部114bは、公知のシーン認識技術により撮影シーンを判定し、判定した撮影シーンを画像データにEXIF情報として登録する。図8に示す例では、撮影シーンの情報として「ポートレート」が登録されている。
次に、検出部114bは、登録対象の被写体までの距離(合焦位置、焦点距離)を検出する(ステップS6)。例えば、検出部114bは、複数の再構成画像データ(例えば入射領域における2つの特定位置の画素の画素値から構成される再構成画像データ)における各被写体の視差を検出し、検出した視差に基づいて各被写体までの距離を算出する。
図8に示す例では、検出部114bは、ライトフィールドカメラ1から人物O1までの距離をd1と検出し、ライトフィールドカメラ1から人物O2までの距離をd2と検出し、ライトフィールドカメラ1から木O3までの距離をd3と検出し、ライトフィールドカメラ1から家O4までの距離をd4と検出する。検出部114bは、被写体O1〜O4を含む画像データのEXIF情報に、各被写体O1〜O4までの距離を示す距離データを被写体O1〜O4ごとに付加する。その後、演算部114は、RAWデータとともに、EXIF情報が付加された画像データを記憶部120に記憶する(ステップS7)。なお、RAWデータと画像データとは、演算部114により関連付けられて記憶部120に記憶される。
次に、第1実施形態に係る演算処理部110による画像検索・生成処理について説明する。図9は、記憶部120に記憶されている画像601〜603の表示例を示す図である。図9(1)に示す画像601には、人物O1と人物O2と木O3と家O4とが写っている。なお、画像601は、ライトフィールドカメラ1が図7に示す距離関係の被写体O1〜O4を撮像したときの画像である。従って、画像601のEXIF情報は図8に示す内容となっている。図9(2)に示す画像602には、人物O1と人物O2と山O5とが写っている。図9(2)に示すように、画像602において、人物O2が最も手前側に位置しており、人物O1は人物O2よりも奥側に位置しており、山O5が最も奥側に位置している。図9(3)に示す画像603には、木O3と山O5とが写っている。図9(3)に示すように、画像603において、木O3が手前側に位置しており、山O5が奥側に位置している。なお、図9(1)及び(2)に示す画像601,602は、撮影シーンが「ポートレート」であり、図9(3)に示す画像603は、撮影シーンが「風景」である。
図10は、演算処理部110が実行する画像検索・生成処理を説明するためのフローチャートである。図10に示す処理において、使用者によるキーボード103やマウス104の操作に応じて、制御プログラム(例えば画像検索・生成を行うためのアプリケーションソフトウェア)が起動されると、表示制御部111は、画像検索画面を記憶部120から読み出して表示装置102の表示画面500に表示させる(ステップS11)。
図11〜図13は、第1実施形態の画像検索画面の表示例を示す図である。表示制御部111は、ステップS11において、図11(1)に示すような画像検索画面を表示装置102の表示画面500に表示する。
次に、表示制御部111は、画像データ(EXIF情報が付加された画像データ)を記憶部120から読み出して取得し、演算部114は、RAWデータ及び画像データ(EXIF情報が付加された画像データ)を記憶部120から読み出して取得する(ステップS12)。図9に示す例では、画像601〜603に対応する画像データが表示制御部111によって読み出され、画像601〜603に対応するRAWデータ及び画像データが演算部114によって読み出される。
表示制御部111は、複数の画像データに含まれる複数の被写体を検出し、検出した複数の被写体の画像データ(例えば被写体種別データ、被写体識別データ、距離データが付加された被写体の画像データ)を切り出す。そして、表示制御部111は、切り出した複数の被写体の画像データに基づく画像を、表示装置102の表示画面500の第1表示領域501に一覧表示する(ステップS13)。図11(1)に示す例では、表示制御部111は、複数の画像601〜603に含まれる複数の被写体O1〜O5を検出し、検出した被写体O1〜O5の画像データを切り出す。そして、表示制御部111は、切り出した複数の被写体O1〜O5の画像データに基づく画像を第1表示領域501に一覧表示する。このとき、表示制御部111は、被写体ごとに付加される被写体識別データ(特徴点、名称)に基づいて、複数の画像データに別々に存在する同一の被写体を識別する。そして、表示制御部111は、同一の被写体については1つの画像だけを第1表示領域501に表示する。
使用者は、検索対象の被写体を指定する場合は、被写体の画像に対してマウス104のドラッグアンドドロップ操作を行うことにより、第1表示領域501に一覧表示されている被写体の画像の中から検索対象の被写体の画像を選択し、選択した被写体の画像を第2表示領域502に移動させる。なお、第2表示領域502は、検索対象の被写体を表示するための表示領域である。
このような使用者によるマウス104の操作に応じて、演算部114の指定部114cは、第2表示領域502に移動された被写体を検索対象の被写体として特定する。具体的には、指定部114cは、操作制御部113からの情報に基づいて、被写体が第2表示領域502に移動されたことを認識する。また、指定部114cは、第2表示領域502に移動された被写体の画像データに付加されている被写体識別データに基づいて被写体を識別する。そして、指定部114cは、識別した被写体の被写体識別データ(特徴点、名称)を検索対象の被写体として指定(設定)する。
また、使用者によるマウス104の操作に応じて、表示制御部111は、第1表示領域501に表示されている被写体の画像を第2表示領域502に移動表示させる。図11(2)に示す例では、人物O1の画像と人物O2の画像とが第1表示領域501から第2表示領域502に移動されている。この場合、画像の検索条件として、人物O1及び人物O2の画像を含む画像が指定されたことになる。
表示制御部111は、検索対象の被写体が指定されたか否か(つまり、被写体の画像が第2表示領域502に移動されたか否か)を判定する(ステップS14)。表示制御部111は、検索対象の被写体が指定されていないと判定した場合は、処理を終了する。一方、表示制御部111は、検索対象の被写体が指定されたと判定した場合は、操作制御部113からの情報に基づいて、画像検索画面の右上に配置されている詳細指定ボタン503が押されたか否か(マウス104でクリックされたか否か)を判定する(ステップS15)。
表示制御部111は、詳細指定ボタン503が押されたと判定した場合は、図12(3)に示すように、第1表示領域501を消去し、第2表示領域502を拡大し、さらに検索対象の被写体の画像を斜め上から俯瞰したときの俯瞰図300を第2表示領域502に表示する(ステップS16)。図12(3)に示す例では、俯瞰図300上に人物O1及び人物O2の画像が奥行き方向の中心位置付近に並んで表示されている。
使用者は、画像の検索条件として、複数の検索対象の被写体における奥行き方向の相対位置(ある被写体が他の被写体よりも奥行き方向の手前側か奥側か)を指定することができる。具体的には、使用者は、被写体の画像に対してマウス104のドラッグアンドドロップ操作を行うことにより、俯瞰図300上における複数の検索対象の被写体のいずれか一方又は双方の奥行き方向の位置を移動させる。このような使用者によるマウス104の操作に応じて、表示制御部111は、俯瞰図300上における検索対象の被写体の奥行き方向の表示位置を変更する(ステップS17)。
図12(4)に示す例では、使用者によるマウス104の操作によって、人物O1の画像が人物O2の画像よりも奥行き方向の手前側(近距離側)の位置に移動されている。これにより、画像の検索条件として、人物O1及び人物O2の画像を含み、かつ、人物O1の画像が人物O2の画像よりも手前側に位置していることが指定されたことになる。指定部114cは、複数の検索対象の被写体における奥行き方向の相対位置も検索条件として指定(設定)する。
使用者は、画像の検索条件を指定した後に、画像の検索条件に適合した画像の検索を実行する場合は、画像検索画面の右下に配置されている検索ボタン504を押す(マウス104でクリックする)。検索部114dは、操作制御部113からの情報に基づいて、検索ボタン504が押されたか否か(マウス104でクリックされたか否か)を判定する(ステップS18)。なお、使用者は、複数の検索対象の被写体における奥行き方向の位置を元の位置に戻したい場合は、図12(4)に示す画像検索画面の右下に配置されている「元に戻す」ボタン505(検索ボタン504の横に配置されているボタン)をマウス104でクリックする。
検索部114dは、検索ボタン504が押されたと判定した場合は、画像検索を実行する(ステップS19)。すなわち、検索部114dは、記憶部120に記憶されている画像データの中から、指定部114cにより指定された検索条件に適合する画像データを検索する。また、画像生成部114aは、検索条件に対応する合焦位置及び被写界深度の範囲の画像データを生成する(ステップS20)。なお、被写界深度とは、焦点が合っているように見える被写体の焦点距離の範囲のことをいう。具体的には、画像生成部114aは、検索条件が人物O1及び人物O2を含むことである場合は、例えば図13(5)に示すように、合焦位置は人物O1の合焦位置d1と人物O2の合焦位置d2との中間の位置dAとし、また被写界深度の範囲が人物O1の合焦位置d1と人物O2の合焦位置d2とを含む範囲(位置d11から位置d12までの範囲)である画像データを生成する。これにより、使用者が確認したい被写体を直ちに表示させることができる。
そして、表示制御部111は、図13(6)に示すように、検索部114dによる画像検索結果の画像(検索条件に適合する画像データに基づく画像)を、画像検索結果を表示するための第3表示領域506に表示する(ステップS21)。図13(6)に示す例では、画像検索の結果として、図9(1)に示した画像601が表示されている。この画像601は、人物O1及び人物O2の画像を含み、かつ、人物O1の画像が人物O2の画像よりも手前側に位置している画像である。
その後、表示制御部111は、使用者によるマウス104の操作によって画像検索結果としての画像が選択されたか否かを判定する(ステップS22)。画像が選択されたと判定した場合は、表示制御部111は、選択された画像を表示画面500に表示する(ステップS23)。
なお、画像生成部114aは、ステップS20において検索条件に応じた合焦位置及び被写界深度の画像データを生成する処理を行わずに、表示制御部111は、所定の合焦位置の画像をサムネイル表示してもよい。そして、画像生成部114aは、ステップS22において使用者により画像が選択されたときに、検索条件に応じた合焦位置及び被写界深度の画像データを生成し、表示制御部111が、その画像データに基づく画像を表示してもよい。なお、サムネイル表示される所定の合焦位置の画像としては、例えば、ステップS12で取得された画像データ(パンフォーカスの画像データ)に基づく画像でもよく、また検索条件で指定された被写体(複数の被写体が指定された場合は複数の被写体のいずれか)に合焦した画像でもよい。
また、画像生成部114aは、検索条件に応じた合焦位置及び被写界深度の画像データとして、検索条件として指定されたすべての被写体の位置が被写界深度の範囲内に含まれる画像データを生成していた。しかし、画像生成部114aは、検索条件として指定された複数の被写体のうちのいずれか1つまたは複数の被写体の位置が被写界深度の範囲内に含まれる画像データを生成してもよい。また、画像生成部114aは、検索条件として指定された複数の被写体のうちの最も手前の被写体に合焦した画像データを生成してもよい。
また、画像生成部114aは、検索条件に応じた合焦位置及び被写界深度の画像データとして、パンフォーカスの画像を生成してもよい。また、検索部114dが検索条件に適合した画像データを検索することができなかった場合は、検索結果なしであることを報知する表示を行ってもよいし、また検索条件に類似する条件に適合した画像データを画像検索結果として表示してもよい。例えば、複数の被写体が検索条件として指定された場合は、そのうちの1つの被写体を含む画像データを画像検索結果として表示してもよい。
以上に説明したように、第1実施形態では、合焦位置を奥行き方向に変更可能な画像データに含まれる被写体を検出するとともに、検出した被写体の奥行き方向の位置を検出する検出部114bと、検索対象の被写体に関する付随情報(例えばEXIF情報)を指定する指定部114cと、指定部114cで指定された付随情報に対応する被写体を検索する検索部114dと、検索部114dで検索された被写体の奥行き方向の位置に応じて所定の合焦位置の画像データを生成する画像生成部114aとを備える。このような構成によれば、合焦位置を奥行き方向に変更可能な画像に適した画像検索を行うことができ、さらに、検索対象の被写体の奥行き方向の位置に応じた合焦位置の画像データを生成することができる。これにより、使用者は、検索結果の画像が表示されたときに検索対象の被写体を直ちに確認することができる。
また、第1実施形態では、指定部114cは、付随情報として奥行き方向の位置を指定可能であり、検索部114dは、指定部114cで指定された位置に対応する被写体を検索する。このような構成によれば、使用者が検索対象の被写体に対して注目して撮影された画像を検索することができる。例えば、最も注目される主要被写体は最も手前に位置していることが多いので、検索対象の被写体が主要被写体となっている画像を検索することができる。
また、第1実施形態では、指定部114cは、複数の被写体における奥行き方向の相対位置を指定可能であり、検索部114dは、指定部114cで指定された相対位置に対応する複数の被写体を検索し、画像生成部114aは、検出部114dで検索された複数の被写体のうちの少なくとも一方の奥行き方向の位置に合焦した画像データを生成する。このような構成によれば、より一層、複数の被写体の位置関係に着目した画像検索を行うことができるとともに、その検索結果を反映した画像データを生成することができる。
また、第1実施形態では、指定部114cは、複数の被写体における奥行き方向の相対位置を指定可能であり、検索部114dは、指定部114cで指定された相対位置に対応する複数の被写体を検索し、画像生成部114aは、検出部114dで検索された複数の被写体の奥行き方向の位置を含む被写界深度の画像データを生成する。このような構成によれば、より一層、複数の被写体の位置関係に着目した画像検索を行うことができるとともに、その検索結果を反映した画像データを生成することができる。
また、第1実施形態では、合焦位置を奥行き方向に変更可能な一又は複数の画像データに含まれる被写体を検出するとともに、検出した被写体の奥行き方向の位置を検出する検出部114bと、検索対象の被写体の奥行き方向の位置を指定する指定部114cと、指定部114cで指定された位置に対応する被写体を含む画像データを検索する検索部114dとを備える。このような構成によれば、合焦位置を奥行き方向に変更可能な画像に適した画像検索を行うことができる。また、使用者が検索対象の被写体に対して注目して撮影された画像を検索することができる。
また、第1実施形態では、検出部114bで検出された複数の被写体を表示するとともに、指定部114cで指定される複数の被写体の相対位置に応じて該複数の被写体の表示位置を変更する表示制御部111を備える。このような構成によれば、使用者に対して複数の被写体の相対位置を明示することができ、使用者は複数の被写体の相対位置を確認しつつ検索条件を指定することができる。その結果、検索条件を指定する際の使用者の操作性が向上する。
<第2実施形態>
上記した第1実施形態では、検索対象の被写体と検索対象の被写体の位置関係とが検索条件として指定されていた。これに対して、第2実施形態では、文字入力により検索条件が指定される。
図14は、第2実施形態の画像検索画面の表示例を示す図である。図14に示すように、第2実施形態の画像検索画面においては、検索条件としての文字を入力する文字入力欄510が設けられている。図14に示す例では、文字入力欄510には「人物」という文字が入力されている。
検索部114dは、文字入力欄510に「人物」が入力された場合は、ステップS19において記憶部120に記憶されている画像データにおける被写体種別データが「人物」である画像データを検索する。そして、表示制御部111は、検索部114dによる画像検索結果を表示画面500に表示する(ステップS21)。図14に示す例では、人物O1と人物O2の少なくとも一方を含む画像601,602が表示されている。
なお、文字入力欄510には、例えば、人物O1の名称である「X」が入力されたときは、検索部114dによって人物O1を含む画像データが検索される。
このように、検索部114dは文字入力によってもEXIF情報(付随情報)に基づいて画像検索を行うことができる。なお、第2実施形態の画像検索と上記した第1実施形態の画像検索とを組み合わせて適用することができる。
図15は、視差を有する画像の表示例を示す図である。図15に示す例では、画像604においては、人物O1が左側に表示されている。また、棒O6が人物O1の右横に表示されている。また、人物O2が棒O6の斜め後ろに表示されている。また、木O3が右側に表示され、家O4が中心付近に表示されている。
上記したように、画像生成部114aにより生成される再構成画像データ群は、被写体O1〜O4,O6に対して視差を有する。視差は、ライトフィールドカメラ1に近い被写体ほど大きく、ライトフィールドカメラ1に遠い被写体ほど小さくなる。従って、人物O1に対する視差が最も大きく、家O4に対する視差が最も小さい。図15においては、人物O1及び棒O6における視差も示している。ある再構成画像データにおける人物O1’の位置と、他の再構成画像データにおける人物O1”の位置とが視差によって異なっている。また、ある再構成画像データにおける棒O6’の位置と、他の再構成画像データにおける棒O6”の位置とが視差によって異なっている。なお、図15には示していないが、人物O2、木O3、及び家O4についても、複数の再構成画像データ間において視差を有する。
このような視差を有する画像データに基づいて、画像生成部114aは、検索対象の被写体の手前に位置し、検索対象の被写体を隠す被写体を削除することができる。すなわち、画像生成部114aは、検索対象の被写体(例えば人物O2)を隠す被写体(例えば暴俸O6)を削除し、削除した被写体の領域の画像データを視差を有する画像データで補完する。このような構成によれば、検索対象の被写体をより一層注目させることができる。
<画像検索・生成システム>
上記した各実施形態(第1実施形態、第2実施形態)及び変形例では、それぞれスタンドアローンの形態のシステムである。しかし、そのような形態のシステムには限定されない。例えばクライアントサーバシステムなどの通信ネットワークを通じて接続された画像表示システムSYSについて説明する。以下の説明において、上記の第1〜第2実施形態と同一又は同等の構成部分については同一符号を付けて説明を省略または簡略化する。
図16は、画像合成システムSYSの構成を示すブロック図である。図16に示すように、この画像表示システムSYSは、クライアント端末101Bの演算処理部110Bにおいて、表示制御部111、画像入力部112、操作制御部113、及び通信部115を有している。これら表示制御部111、画像入力部112、及び操作制御部113は、図1に示した表示制御部111、画像入力部112、及び操作制御部113に相当する。また、図16に示す記憶部120Bは、図1に示した記憶部120に相当する。
図16に示すように、クライアント端末101Bの演算処理部110Bは、通信ネットワーク180を介してサーバ(画像検索装置、画像生成装置)106とデータを送受信する通信部115を有している。また、サーバ106の演算処理部160は、通信ネットワーク180を介してクライアント端末101Bとデータを送受信する通信部161を有している。また、演算処理部160の演算部162は、クライアント端末101Bからの要求に応じて、クライアント端末101Bから送信されるRAWデータ及び画像データを記憶部170に蓄積する。そして、演算部162は、図1に示した演算部114と同様に、RAWデータ及び画像データに基づいて画像検索及び画像生成の制御を実行する。
なお、通信部115の構成や、演算処理部160における通信部161及び演算部162の構成は、CPUなどの制御装置が記憶部120B,170に記憶されている制御プログラムに従って処理を実行することにより実現される。
このような構成によれば、クライアント端末101Bが大容量のデータを記憶しておく必要がなくなり、データ管理を一元化できるなど、コストを低減させることができる。また、クライアント端末101Bの処理負担も軽減させることができる。
なお、図16に示す画像表示システムSYSでは、クライアント端末101Bの表示制御部111が表示制御を行っているが、これに限定されない。例えば、クライアント端末101Bは、ブラウザを備え、ブラウザを用いて図11等に示すような画像検索画面の表示内容を表示装置102に表示させるようにしてもよい。
<変形例>
上記した構成においては、演算処理部110,160が記憶部120,170に記憶されている複数の画像データに付加されているEXIF情報に基づいて、検索条件に対応する被写体を含む画像データの検索、検索条件に対応する画像データの生成、及び検索結果の画像の表示を行っていた。しかし、このような構成に限定されず、演算処理部110,160が記憶部120,170に設けられるデータベースに記憶されている情報に基づいて、検索条件に対応する被写体を含む画像データの検索、検索条件に対応する画像データの生成、及び検索結果の画像の表示を行ってもよい。
この場合、データベースには、複数の画像データそれぞれを識別するための画像識別データ(画像ID)、画像データごとに付加される撮影シーンの情報、各画像データ中の1つ又は複数の被写体の画像データ、各画像データ中の1つ又は複数の被写体の種別を示す被写体種別データ、各画像データ中の1つ又は複数の被写体を識別するための被写体識別データ(特徴点、名称など)、各画像データ中の1つ又は複数の被写体の距離データ(合焦位置の情報)がそれぞれ関連付けられて登録される。
演算処理部110,160(画像生成部114a、画像生成部114aに相当する演算部162内の処理部)は、RAWデータを取得した後(ステップS1)、取得したRAWデータに基づいて、合焦位置が異なる複数の画像データ(例えばJPEG形式の画像データ)を生成する(ステップS2,S3)。演算処理部110,160(検出部114b、検出部114bに相当する演算部162内の処理部)は、ステップS2,3で生成された複数の画像データに基づいて1つ又は複数の登録対象の被写体を検出する(ステップS4)。このように、演算処理部110,160が合焦位置の異なる複数の画像データに基づいて被写体を検出するので、被写体がぼけていない画像データを用いて被写体の検出を行うことができ、被写体の検出精度が向上する。
演算処理部110,160は、ステップS4で検出した1つ又は複数の登録対象の被写体の画像データを切り出す。演算処理部110,160は、1つ又は複数の登録対象の被写体の特徴点を抽出する。演算処理部110,160は、抽出した1つ又は複数の登録対象の被写体の特徴点と、記憶部120内のデータベースに記憶されている複数の被写体の特徴点とを順次照合して、登録対象の被写体と同じ被写体がデータベースに登録されているか否かを判定する。
演算処理部110,160は、登録対象の被写体と同じ被写体がデータベース内に登録されていない判定した場合は、画像識別データに対応付けて、被写体ごとの新たな被写体種別データ及び被写体識別データをデータベースに登録する。このとき、演算処理部110,160は、画像識別データに対応付けて、切り出した登録対象の被写体の画像データを被写体ごとに登録するとともに撮影シーンの情報も登録する。
一方、演算処理部110,160は、登録対象の被写体と同じ被写体がデータベース内に登録されている判定した場合は、画像識別データに対応付けて、既にデータベースに登録されている被写体種別データ及び被写体識別データと同じデータを被写体ごとにデータベースに登録する。このときも、演算処理部110,160は、画像識別データに対応付けて、切り出した登録対象の被写体の画像データを登録するとともに撮影シーンの情報も登録する。
また、演算処理部110,160は、1つ又は複数の登録対象の被写体の奥行き方向の位置(被写体までの距離)を検出する(ステップS5)。検出部114bは、画像識別データに対応付けて、1つ又は複数の登録対象の被写体までの距離を示す距離データを被写体ごとにデータベースに登録する。そして、演算処理部110,160は、画像識別データに対応付けて、RAWデータ及び画像データを記憶部120,170の画像データ記憶領域に記憶する(ステップS7)。
演算処理部110,160(表示制御部111、表示制御部111に相当する演算部160内の処理部)は、画像検索画面を表示し(ステップS11)、記憶部120,170からRAWデータ及び画像データを読み出して取得した後(ステップS12)、データベースに登録されている複数の被写体の画像データを読み出して第1表示領域501に一覧表示する(ステップS13)。そして、演算処理部110,160(表示制御部111、表示制御部111に相当する演算部160内の処理部、指定部114c、指定部114cに相当する演算処理部160内の処理部)は、ステップS14〜S17の処理を実行する。
演算処理部110,160は、検索ボタン504が押されたと判定した場合は(ステップS18のYES)、記憶部120内のデータベースに登録されている情報と検索条件として指定された情報とを照合して、記憶部120内の画像データ記憶領域に記憶されている画像データの中から検索条件に適合する画像データを検索する(ステップS19)。具体的には、演算処理部110,160は、検索条件として指定された被写体種別データなど(被写体種別データ、被写体識別データ、距離データ)と合致するデータをデータベース内で検索し、検索条件として指定された被写体種別データなどと合致するデータに対応付けられた画像識別データを選定する。そして、演算処理部110,160は、画像識別データに対応する画像データ記憶領域内の画像データを検索条件に適合する画像データとして検索する。その後、演算処理部110,160は、ステップS20〜S23の処理を実行する。
このような構成によれば、演算処理部110,160が予めデータベースに登録されている情報に基づいて検索条件に応じた画像の検索及び画像の生成を行うことができるため、画像の検索及び画像の生成を行う際の処理負担を軽減することができるとともに、画像の検索及び画像の生成を行う際の処理時間も軽減することができる。
なお、上記した変形例において、検索対象の被写体が家族(例えば、父、母、息子、娘)などのように予め定まっている場合は、演算処理部110,160は、予め複数の被写体の被写体情報(被写体種別データ及び被写体識別データ(特徴点、名称など))をデータベースに登録しておいてもよい。また、演算処理部110,160は、予めデータベースに登録されている被写体についてだけを検索対象(検索候補)の被写体として指定し、予めデータベースに登録されている被写体の被写体情報だけに基づいて画像検索を行ってもよい。また、演算処理部110,160は、予めデータベースに登録されている被写体だけを画像検索画面に表示してもよい。また、演算処理部110,160は、予め複数の被写体の被写体情報(被写体種別データ及び被写体識別データ(特徴点、名称など))をデータベースに登録しておき、被写体識別データから被写体の名称を取得して、EXIF情報に被写体の名称を登録してもよい。
また、データベースは、サーバ106の記憶部170に設けられる場合に限定されず、クライアント端末101Bの記憶部120Bに設けられてもよい。この場合、演算処理部160は、クライアント端末101Bの記憶部120B内のデータベースにアクセスして、画像生成や画像検索などの処理を行う。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。本発明の趣旨を逸脱しない範囲で、上記実施の形態に、多様な変更または改良を加えることが可能である。また、上記の実施形態で説明した要件の1つ以上は、省略されることがある。そのような変更または改良、省略した形態も本発明の技術的範囲に含まれる。また、上記した実施形態や変形例の構成を適宜組み合わせて適用することも可能である。
例えば、上記した各実施形態では、撮像装置の一例としてライトフィールドカメラ1を挙げていたが、これに限定されず、例えば複数のカメラを配置したカメラアレイであってもよい。このようなカメラアレイにおいても視差を有する複数の画像を取得することができる。
また、上記した各実施形態では、演算部114(及び演算処理部160)は、ライトフィールドカメラ1が撮影したリフォーカス画像を用いて、合焦位置や被写界深度の範囲を変更していた。しかし、演算部114(及び演算処理部160)は、フォーカスブラケット機能を備えたデジタルカメラ(撮像装置)が撮影した複数の画像を用いて、合焦位置(焦点位置)や被写界深度の範囲を変更することが可能である。すなわち、上記した第1実施形態における「合焦位置を奥行き方向に変更可能な画像データ」には、デジタルカメラ(撮像装置)が合焦位置を変えながら撮像した、合焦位置の異なる複数の画像データに基づいて生成される画像データが含まれる。ここで、フォーカスブラケットとは、連写をしながら合焦位置を変えていき、合焦位置の異なる複数の画像を撮影することをいう。演算部114(及び演算処理部160)は、使用者によって指定された合焦位置や被写界深度に応じて、合焦位置の異なる複数の画像データを適宜選択し、選択した画像データを合成することにより、合焦位置や被写界深度の範囲を変更することができる。
また、上記した各実施形態では、検出部114b(及び演算処理部160)が画像データから被写体を検出し、検出した被写体の距離を検出し、画像データに対してEXIF情報を被写体ごとに付加していた。しかし、ライトフィールドカメラ1の画像処理部30がこれらの処理を行い、演算部114は、ライトフィールドカメラ1からEXIF情報が付加された画像データをRAWデータとともに取得してもよい。
また、上記した各実施形態では、画像生成部114a(及び演算処理部160)がRAWデータに基づいて所定の合焦位置及び被写界深度の範囲の画像データを生成していたが、画像生成部114a(及び演算処理部160)が複数の画像データに対して距離に応じた重みを加えてから平均する加重平均処理を行うことで、所定の合焦位置及び被写界深度の範囲の画像データを生成してもよい。
また、画像生成部114a(及び演算処理部160)が検索対象の被写体を隠す被写体を削除していたが、表示制御部111(及び演算処理部160)は、その被写体を削除した画像と削除していない画像とを交互に表示するようにしてもよい。また、表示制御部111(及び演算処理部160)は、検索対象の被写体と、検索対象を隠す被写体とを交互に表示してもよい。この場合、より一層、検索対象の被写体に注目させることができる。また、容易に検索対象の被写体を確認することができる。
また、図4に示す画像処理部30とシステム制御部70は一体で構成されてもよい。この場合、1つのCPUを有するシステム制御部が制御プログラムに基づいて処理を実行することにより画像処理部30の機能とシステム制御部70の機能を担う。
また、上記した第1実施形態において、カラーフィルタの配列がベイヤー配列とされていたが、この配列以外の配列であってもよい。
また、表示装置102は、画像検索画面を含む各種画像を2次元表示していたが3次元表示(3D表示)してもよい。特に、俯瞰図300などを表示するときに3次元表示されている場合は、被写体の位置関係などが容易に認識されやすくなる。
また、画像の付随情報(例えば図8参照)の管理方法としては、以下に示す方法が考えられる。(1)上記した第1実施形態の場合のように、演算処理部110,160が1つの画像データ(パンフォーカスの画像データ)に付随情報を付加する方法である。(2)演算処理部110,160がステップS2において合焦位置の異なる複数の画像データを生成した場合は、それら複数の画像データそれぞれに付随情報(例えば同じ付随情報)を付加する方法である。この場合、複数の画像データのグループを管理するグループ識別情報が複数の画像データそれぞれに付加される。(3)演算処理部110,160がRAWデータに付随情報を付加する方法である。(4)演算処理部110,160が画像データやRAWデータとは異なるデータファイル(又はデータフォルダ)を設け、そのデータファイルに付随情報を付加し、そのデータファイルを画像データやRAWデータに関連付ける方法である。この場合、データファイルはテキストファイルとされてもよい。
また、指定部114c(及び演算処理部160)が検索条件として複数の条件を指定した場合、それらの条件はAND条件としていたがOR条件であってもよい。また、指定部114c(及び演算処理部160)は、複数の被写体の相対位置を検索条件として指定していたが、1つ又は複数の被写体の絶対位置(例えばライトフィールドカメラ1から100m先の被写体)を指定してもよい。
また、ステップS20において、画像生成部114a(及び演算処理部160)は、検索条件に対応する複数の被写体の合焦位置が異なる場合、検索条件に適合する合焦位置の画像データとして、検索条件に対応する複数の被写体それぞれに合焦した画像データを生成してもよい。この場合、画像生成部114a(及び演算処理部160)は、画像の領域を複数の被写体の領域ごとに分割して、分割した各領域ごとに被写体に合焦した画像データを生成してもよい。また、ステップS20において、画像生成部114a(及び演算処理部160)は、検索条件に対応する複数の被写体の合焦位置が異なる場合、検索条件に適合する合焦位置の画像データとしてパンフォーカスの画像データを生成してもよい。また、ステップS20において、画像生成部114a(及び演算処理部160)は、検索条件として被写体の奥行き方向の位置が指定された場合は、検索された画像データに対して、検索条件として指定された被写体に合焦した画像データを生成し、検索条件として被写体の奥行き方向の位置が指定されていない場合は、検索された画像データに対して、パンフォーカスの画像データを生成してもよい。また、ステップS20において、画像生成部114a(及び演算処理部160)は、検索条件に対応する複数の被写体とは異なる被写体が画像データ内に存在する場合に、パンフォーカス画像を生成してもよい。
また、ステップS20において、画像生成部114a(及び演算処理部160)は、検索条件に対応する複数の被写体とは異なる検索対象外の被写体が画像データ内に存在し、その検索対象外の被写体の奥行き方向の位置が検索条件に対応する複数の被写体の合焦位置の範囲内に存在する場合に、被写界深度の範囲を検索条件に対応する複数の被写体の位置を含む範囲とし、検索対象外の被写体を削除した画像データを生成してもよい。
また、画像検索結果を表示するための第3表示領域506において、「焦点位置手前に移動」ボタンと「焦点位置奥側に移動」ボタンとを焦点位置切替ボタンとして設ける。そして、使用者が「焦点位置手前に移動」ボタンをクリックすることにより、画像生成部114a(及び演算処理部160)は、画像検索結果としての画像データの焦点位置を手前に変更し、使用者が「焦点位置奥側に移動」ボタンをクリックすることにより、画像生成部114a(及び演算処理部160)は、画像検索結果としての画像データの焦点位置を奥側に変更する構成でもよい。このとき、焦点位置の切り替えは、被写体単位で行われてもよい。また、検索対象の被写体として複数の被写体が指定された場合に、画像生成部114a(及び演算処理部160)は、焦点位置切替ボタンが使用者によりクリックされる度に、画像データにおける焦点位置を検索対象の位置に順に切り替える構成でもよい。
なお、「合焦位置を奥行き方向に変更可能な画像データ」には、RAWデータ(光線情報)及びこのRAWデータから画像生成部114a(演算処理部160)によって生成される1つ又は複数の画像データ(例えばパンフォーカスの画像データ、合焦位置の異なる複数の画像データ)が含まれる。