(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して説明する。
【0020】
図1は、本発明の実施形態に係るデジタルカメラのハードウェア構成を示すブロック図である。本実施形態のデジタルカメラ1は、レンズ10、絞り11、赤外線カットフィルタ12、CCD(Charge-Coupled Device)13、アナログ信号処理部14、A/D(Analog to Digital)変換器15、レンズ駆動部16、絞り駆動部17、CCD駆動部18、CPU(Central Processing Unit)19、ROM20(Read Only Memory)、RAM21(Random Access Memory)、操作部22、メインメモリ24、メインメモリ制御部25、デジタル信号処理部26、圧縮伸張処理部27、積算部28、外部メモリ29、外部メモリ制御部30、タッチパネル31、タッチパネル制御部32、ディスプレイ33、ディスプレイ制御部34、スピーカ35、スピーカ制御部36,GPS(Global Positioning System)受信部37、制御バス38、データバス39を備えて構成される。
【0021】
各部はCPU19に制御されて動作し、CPU19は、タッチパネル制御部32を介したタッチパネル31や操作部22からの入力に基づいて、所定の制御プログラムを実行することにより、デジタルカメラ1の各部を制御する。また、CPU19は、デジタルカメラ1の制御に必要な各種制御値を算出するための演算処理手段として機能し、プログラムに従って各種演算処理を実行する。デジタルカメラ1の各部は、制御バス38を介してCPU19と接続されている。
【0022】
ROM20は、CPU19が実行する制御プログラムのほか、制御に必要な各種データ等が格納されている。なお、ROM20が格納する制御プログラムに、本実施形態特有の撮影ナビゲーション処理や撮影情報設定処理を行わせるプログラムが含まれる。RAM21は、CPU19の作業用領域として利用されるとともに、画像データの一時記憶領域として利用される。また、表示用の画像データ専用の一時記憶領域としても利用される。CPU19は、ROM20に記録された制御プログラムをメインメモリ24に読み出し、逐次実行することにより、デジタルカメラ1の各部を制御する。
【0023】
操作部22は、電源ボタン、シャッタレリーズボタン、撮影モード/再生モード切替スイッチ、メニューを表示させるメニュースイッチ、画面上で上下左右を指示する十字キー等(いずれも不図示)の各種のハードウェアスイッチで構成され、それぞれの操作に応じた信号をCPU19に出力する。
【0024】
レンズ10は、図示しないズームレンズ、フォーカスレンズを含み、レンズ駆動部16に駆動されて、ズーミング及びフォーカシングを行う。
【0025】
絞り11は、レンズ10を透過してCCD13の受光面に到達する被写体光の光量を調節するためのものであり、絞り駆動部17は、CPU19の指令に従って絞り11の開口量を制御し、露光量が適正露光量となるように調整する。
【0026】
赤外線カットフィルタ12は、絞り11を通過した被写体光から特定波長域の赤外線をカットし、撮影画像の赤外光によるゴーストやかぶりを防止するためのものである。
【0027】
CCD13は、赤外線カットフィルタ12の後段に配置されており、レンズ10を透過した被写体光を受光する。
【0028】
CCD13の受光面には図示しない多数の受光素子が2次元的に配列されており、各受光素子に対応して赤(R)、緑(G)、青(B)の原色カラーフィルタ(不図示)が所定の配列構造で配置されている。受光面上に結像された被写体光は、各受光素子によって電気信号に変換されて蓄積される。
【0029】
各受光素子に蓄積された電気信号は、図示しない垂直転送路に読み出される。垂直転送路は、この信号を、CCD駆動部18から供給されるクロックに同期して、1ラインずつ図示しない水平転送路に転送する。さらに、水平転送路は、垂直転送路から転送された1ライン分の信号を、CCD駆動部18から供給されるクロックに同期してアナログ信号処理部14へ出力する。
【0030】
なお、画像信号の出力は、デジタルカメラ1が撮影モードにセットされると開始される。すなわち、デジタルカメラ1が撮影モードにセットされると、ディスプレイ33にスルー画像を表示するために画像信号の出力が開始される。このスルー画像用の画像信号の出力は、本撮影の指示が行われると一旦停止され、本撮影が終了すると再度開始される。本撮影終了時には、一定時間、ディスプレイ33に本撮影された撮影画像が表示され、ユーザは、当該画像を確認することにより、適切に撮影できたか否かを確認することができる。
【0031】
アナログ信号処理部14は、図示しない相関二重サンプリング回路(CDS:Correlated Double Sampling)、クランプ処理回路、及び自動ゲインコントロール回路(AGC:Automatic Gain Control)を含んで構成される。
【0032】
相関二重サンプリング回路は、画像信号に含まれているノイズの除去を行う。また、クランプ処理回路は、暗電流成分を除去する処理を行う。また、自動ゲインコントロール回路は、暗電流成分が除去された画像信号を、設定された撮影感度(ISO感度)に応じた所定のゲインで増幅する。
【0033】
このアナログ信号処理部14で所要の信号処理が施されたアナログの画像信号は、A/D変換器15において所定ビットの階調幅を持ったデジタルの画像信号に変換される。この画像信号は、いわゆるRAWデータであり、画素毎にR、G、Bの濃度を示す階調値を有している。このデジタルの画像信号は、データバス39、メモリ制御部25を介してメインメモリ24に格納される。
【0034】
制御バス38、データバス39には、上記メモリ制御部25のほか、デジタル信号処理部26、圧縮伸張処理部27、積算部28、外部メモリ制御部30、タッチパネル制御部32、ディスプレイ制御部34、スピーカ制御部36等が接続されており、これらは制御バス38の制御信号に基づいて、データバス39を介して互いに情報を送受信できるようにされている。
【0035】
デジタル信号処理部26は、メインメモリ24に格納されたR、G、Bの各色の画像信号に対して所定の信号処理を施し、輝度信号Yと色差信号Cr、Cbとからなる画像信号(Y/C信号)を生成する。
【0036】
圧縮伸張処理部27は、CPU19からの圧縮指令に従い、入力された輝度信号Yと色差信号Cr、Cbとからなる画像信号(Y/C信号)に所定形式(例えばJPEG(Joint Photographic Experts Group))の圧縮処理を施し、圧縮画像データを生成する。また、CPU19からの伸張指令に従い、入力された圧縮画像データに所定形式の伸張処理を施して、非圧縮の画像データを生成する。
【0037】
積算部28は、CPU19の指令に従い、メインメモリ24に格納されたR、G、Bの画像信号を取り込み、AE(Auto Exposure)制御に必要な積算値を算出する。CPU19は、積算値から輝度値を算出し、輝度値から露出値を求める。また露出値から所定のプログラム線図に従って、絞り値及びシャッタースピードを決定する。
【0038】
外部メモリ制御部30は、CPU19からの指令に従い、外部メモリ29に対してデータの読み/書きを制御する。なお、外部メモリ29は、メモリカードのようにデジタルカメラ1の本体に対して着脱自在なものでもよいし、デジタルカメラ1の本体に内蔵されたものでもよい。着脱自在とする場合は、デジタルカメラ1の本体にカードスロットを設け、このカードスロットに装填して使用する。
【0039】
タッチパネル31は、透光性のある材料からなり、ユーザによるタッチ入力を検出する。タッチパネル31としては、公知の各種のタッチセンサを用いることができるが、携帯機器用としては、指と導電膜との間で発生する静電容量の変化を検出する静電容量方式のタッチセンサ、複数枚の抵抗膜を用いて電圧を検知する抵抗膜方式のタッチセンサ等、薄型のタッチセンサを用いる。また、指やペンでタッチして描いた軌跡を認識するため、多点検出のタッチセンサが好ましい。
【0040】
タッチパネル制御部32は、CPU19からの指令に従って、タッチパネル31のタッチ入力検出を制御する。本例では、タッチパネル31上で指やペンでタッチされた位置を示す位置情報を時系列でRAM21に格納する。
【0041】
ディスプレイ33は画面表示を行う。ディスプレイ33としては、公知の各種の表示デバイスを用いることができるが、携帯機器用としては、一般に、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)表示デバイス等、薄型の表示デバイスが用いられる。このディスプレイ48は、再生モード時には記録済み画像を表示し、撮影モード時にはスルー画像として表示する。
【0042】
ディスプレイ制御部34は、CPU19からの指令に従って、ディスプレイ33の表示を制御する。
【0043】
また、デジタルカメラ1の各種設定は、タッチパネル31及びディスプレイ33を用いて行われるようにすることもできる。この場合、メニュースイッチ(不図示)が押下されると、デジタルカメラ1の各種設定を行うための設定画面がディスプレイ33に表示される。また、タッチパネル31上に特定の軌跡を描いたときに設定画面を表示させてもよい。ユーザは、ディスプレイ33の画面表示に従って、タッチパネル31からデジタルカメラ1の各種設定を行う。
【0044】
スピーカ35は音声出力を行う。スピーカ制御部36は、CPU19からの指令に従って、スピーカ35の音声出力を制御する。
【0045】
GPS(Global Positioning System)受信部37は、GPS衛星から発信される電波を受信して現在位置の位置情報(経度・緯度・高度)を取得する。
【0046】
図2は、本発明の実施形態に係るデジタルカメラの機能構成を示すブロック図である。本実施形態のデジタルカメラ1は、CPU19がROM20に格納された本実施形態特有のプログラムを読み込んで、参照画像(理想の構図の写真画像を意味する、以下同じ)と現地撮影画像(参照画像に含まれる被写体を現地で撮影した写真画像を意味する、以下同じ)との差分に基づく撮影ナビゲーション処理や撮影情報設定処理を行うための機能部である制御部100を構成する。制御部100は、比較ポイント指定手段110、画像比較手段120、移動情報算出手段130、角度情報算出手段140、3Dモデリング手段150、画角絞り調整手段160を論理的に有する。なお、各手段は、上記のようにソフト的に実現するほか、回路等を用いてハード的に実現してもよい。
【0047】
比較ポイント指定手段110は、ユーザによるタッチパネル31への入力を受け付けて、参照画像と現地撮影画像における被写体等の共通箇所を比較ポイントとして指定する。
【0048】
画像比較手段120は、参照画像と現地撮影画像とを比較し、両画像の差分を求める。具体的には、参照画像と現地撮影画像との間で、1つの比較ポイントを共通にした場合の他の比較ポイントに関する差分を求める。
【0049】
移動情報算出手段130は、画像比較手段120で求めた差分に基づいて、現地撮影画像の撮影ポイントから参照画像を撮影できる撮影ポイントまでの移動情報(移動方向、移動距離)を算出する。
【0050】
角度情報算出手段140は、参照画像と3Dモデリング手段150で3D化された現地撮影画像との比較結果に基づいて、3D化した画像の角度情報(方位、仰角)を算出する。
【0051】
3Dモデリング手段150は、複数の現地撮影画像を用いて画像の3D化を行う。
【0052】
画角絞り調整手段160は、画像比較手段120で求めた差分に基づいて、参照画像を撮影するための撮影情報(焦点距離、絞り値)を算出し、設定する。
【0053】
<実施例1>
本実施形態における第1の実施例として、参照画像と現地撮影画像との差分に基づいて、参照画像を撮影できる撮影ポイントまでナビゲートする処理について説明する。
図3は、本実施例の撮影ナビゲーション処理の流れを示したフローチャートで、
図4は、本実施例の撮影ナビゲーション処理を説明するための図である。
【0054】
まず、CPU19は、ユーザにより撮影された理想の構図の写真A(参照画像、
図4(a))の画像データを外部メモリ29に記憶する(ステップS101)。ここで想定している参照画像は、ポスター、雑誌等を見たユーザが撮影した写真画像であるが、インターネット等のネットワークを通じて取得したものでもよい。
【0055】
そして、CPU19は、参照画像に含まれる被写体が存在する名所旧跡等でユーザにより撮影された写真B(現地撮影画像、
図4(b))の画像データを外部メモリ20に記憶する(ステップS102)。また、写真Bの撮影場所の位置情報をGPS受信部37により取得する(ステップS103)。
【0056】
次いで、CPU19は、写真A(参照画像)と写真B(現地撮影画像)をディスプレイ33に重ね合わせて表示する(ステップS104)。ユーザは、タッチパネル31を介して、表示された両画像とも画面内を移動させることができ、被写体を重ね合わせた際に共通する部分を複数タッチする。例えば写真A(参照画像)か写真B(現地撮影画像)のどちらかを基準とし、もう一方を被写体が重なるように動かし、共通する部分を複数ポインティングする。そして、CPU19(比較ポイント指定手段110)は、ユーザによるタッチパネル31への入力を受け付けて、両画像の共通箇所を複数指定する(ステップS105)。
【0057】
続いて、CPU19(画像比較手段120)は、指定した共通箇所の1つを重ね合わせたときの他の共通箇所同士の差分を算出する。これを共通箇所全てについて行う(ステップS106)。
図4(c)に示すように、ポインティング1を重ね合わせたときのポインティング2、3、・・・、n(図ではポインティング2までしか示していない)の差分を算出する。同様に、ポインティング2を重ね合わせたときのポインティング1、3、・・・、nの差分を算出する。これをポインティングnまで行い、各ポインティングの差分を求める。
【0058】
そして、CPU19(移動情報算出手段130)は、求めた両画像の差分情報から、写真Bの撮影場所から理想の撮影ポイントまでの移動方向や移動距離といった移動情報を算出する(ステップS107)。ROM20は、同一被写体を異なる位置から撮影して生成された2つの画像データの相違量と当該2つの撮影位置の位置関係情報とを関連付けたテーブルデータを格納している。当該テーブルデータを用いることで、2つの画像データの共通箇所同士が座標上どの程度相違しているときに、撮影場所がどの方向にどの程度離れているかを求めることができる。すなわち、CPU19(移動情報算出手段130)は、参照画像と現地撮影画像の差分情報及びテーブルデータを用いて、写真Bの撮影場所からどの方向にどの程度移動すれば理想の撮影ポイントとなるかを求める。
【0059】
続いて、CPU19は、GPS受信部37により取得した位置情報、上記算出した移動情報を用いてディスプレイ33に地図表示し、ユーザに理想の撮影ポイントまでのナビゲーションを行う(ステップS108)。理想の撮影ポイントまでのナビゲーションは、地図表示のほか、スピーカ35を介して音声出力して行ってもよいし、移動情報をディスプレイ33に文字表示して行ってもよい。
【0060】
<実施例2>
本実施形態における第2の実施例として、参照画像と現地撮影画像との差分に基づいて、参照画像を撮影できる撮影ポイントまでナビゲートする処理について説明する。実施例1との違いは、比較する画像の一方を3D化し、移動情報に加えて角度情報を求める点である。
図5は、本実施例の撮影ナビゲーション処理の流れを示したフローチャートで、
図6は、本実施例の撮影ナビゲーション処理を説明するための図である。
【0061】
まず、CPU19は、ユーザにより撮影された理想の構図の写真A(参照画像、
図6(a))の画像データを外部メモリ29に記憶する(ステップS201)。また、CPU19は、参照画像に含まれる被写体が存在する名所旧跡等でユーザにより複数撮影された写真B(現地撮影画像、
図6(b))の画像データを外部メモリ20に記憶する(ステップS202)。
【0062】
そして、CPU19(3Dモデリング手段150)は、複数の画像データを用いて写真B(現地撮影画像)を3D化する(ステップS203)。また、写真Bの撮影場所の位置情報をGPS受信部37により取得する(ステップS204)。
【0063】
次いで、CPU19は、写真A(参照画像)と写真B(現地撮影画像)をディスプレイ33に重ね合わせて表示する(ステップS205)。ユーザは、例えば写真A(参照画像)か写真B(現地撮影画像)のどちらかを基準とし、もう一方を被写体が重なるように動かし、共通する部分を複数ポインティングする。そして、CPU19(比較ポイント指定手段110)は、ユーザによるタッチパネル31への入力を受け付けて、両画像の共通箇所を複数指定する(ステップS206)。
【0064】
続いて、CPU19(画像比較手段120)は、指定した共通箇所の1つを重ね合わせたときの他の共通箇所同士の差分を算出する。これを共通箇所全てについて行う(ステップS207)。
【0065】
そして、CPU19(移動情報算出手段130)は、求めた両画像の差分情報から、写真Bの撮影場所(本実施例の場合、複数撮影したうち最後に撮影した場所)から理想の撮影ポイントまでの移動方向や移動距離といった移動情報を算出する。また、CPU19(角度情報算出手段140)は、求めた両画像の差分情報から、3D化した画像の角度情報(方位や仰角)を算出する(ステップS208)。
【0066】
次に、CPU19は、GPS受信部37により取得した位置情報、上記算出した移動情報や角度情報を用いてディスプレイ33に地図表示し、ユーザに理想の撮影ポイントまで及び被写体に対する撮影角度のナビゲーションを行う(ステップS209)。
【0067】
<実施例3>
本実施形態における第3の実施例として、参照画像と現地撮影画像との差分に基づいて、参照画像を撮影するための撮影情報を設定する処理について説明する。
図7は、本実施例の撮影情報設定処理の流れを示したフローチャートで、
図8から10は、本実施例の撮影情報設定処理を説明するための図である。
【0068】
まず、CPU19は、ユーザにより撮影された理想の構図の写真A(参照画像、
図8(a))の画像データを外部メモリ29に記憶する(ステップS301)。また、CPU19は、参照画像に含まれる被写体が存在する名所旧跡等でユーザにより撮影された写真B(現地撮影画像、
図8(b))の画像データを外部メモリ20に記憶する(ステップS302)。また、写真Bの撮影場所の位置情報をGPS受信部37により取得する(ステップS303)。
【0069】
次いで、CPU19は、写真A(参照画像)と写真B(現地撮影画像)をディスプレイ33に重ね合わせて表示する(ステップS304)。ユーザは、例えば写真A(参照画像)か写真B(現地撮影画像)のどちらかを基準とし、もう一方を被写体が重なるように動かし、共通する部分を複数ポインティングする(
図8(c))。そして、CPU19(比較ポイント指定手段110)は、ユーザによるタッチパネル31への入力を受け付けて、両画像の共通箇所を複数指定する(ステップS305)。
【0070】
続いて、CPU19(画像比較手段120)は、指定した共通箇所の1つを重ね合わせたときの他の共通箇所同士の差分を算出する。これを共通箇所全てについて行う(ステップS306)。
【0071】
求めた差分から移動情報の算出が不可能な場合(ステップS307/NO)、CPU19(画角絞り調整手段160)は、算出した差分から、理想の構図で撮影するための焦点距離や絞り値といった撮影情報を求め、設定を行う(ステップS308)。
【0072】
求めた差分から移動情報の算出が不可能な場合の例として、
図9に示すような画角の違いに起因する画像の差分や、
図10に示すような背景の違いに起因する画像の差分が挙げられる。ROM20は、同一被写体を異なる画角で撮影して生成された2つの画像データの相違量と当該2つの画像データの画角情報とを関連付けたテーブルデータ、また同一被写体を異なる絞り値で撮影して生成された2つの画像データの相違量と当該2つの画像データの絞り値情報とを関連付けたテーブルデータを格納している。当該テーブルデータを用いることで、2つの画像データの共通箇所同士が座標上どの程度違っていて被写体の大きさがどの程度異なるときに、焦点距離がどの程度相違しているのか、また、2つの画像データ中の背景となる被写体の画像がどの程度異なるときに、絞り値がどの程度相違しているのかを求めることができる。すなわち、CPU19(画角絞り調整手段160)は、参照画像と現地撮影画像の差分情報及びテーブルデータを用いて、焦点距離や絞り値をどの程度調整すれば写真Aに極力近い写真が撮影できるかを求め、設定を行う。
【0073】
なお、上記では求めた撮影情報を設定してユーザに再度撮影をさせるように構成しているが、このほかに、求めた撮影情報に基づいて写真Bに画像処理を加え写真Aに極力近い画像を生成するように構成してもよい。例えば、
図10に示すように、写真Bのぼけポインティング2を基準にして段階的に画像処理を行い、その都度ディスプレイ33に表示させ、写真Aに近似したところでユーザに決定させることができる。
【0074】
他方、求めた差分から移動情報の算出が可能な場合(ステップS307/YES)、CPU19(移動情報算出手段130)は、求めた両画像の差分情報から、写真Bの撮影場所から理想の撮影ポイントまでの移動方向や移動距離といった移動情報を算出する(ステップS309)。そして、CPU19は、GPS受信部37により取得した位置情報、上記算出した移動情報を用いてディスプレイ33に地図表示し、ユーザに理想の撮影ポイントまで及び被写体に対する撮影角度のナビゲーションを行う(ステップS310)。
【0075】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば、撮影装置としては、実施形態として挙げたデジタルカメラのほか、デジタルビデオカメラであってもよい。
【0076】
また、本実施形態におけるデジタルカメラで実行されるプログラムは、先に述べた各手段(比較ポイント指定手段110、画像比較手段120、移動情報算出手段130、角度情報算出手段140、3Dモデリング手段150、画角絞り調整手段160)を含むモジュール構成となっており、実際のハードウェアを用いて具体的手段を実現する。すなわち、コンピュータ(CPU)が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。
【0077】
本実施形態におけるクライアントPCで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【0078】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ROM等にあらかじめ組み込んで提供するように構成してもよい。
【0079】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。