以下、添付図面に従って本発明に係る撮影装置を実施するための最良の形態について詳説する。
図1、図2は、それぞれ本発明が適用されたデジタルカメラ10の一実施形態を示す正面図と背面図である。
カメラボディ11の正面には、図1に示すように、レンズ12、ストロボ13、測距センサ14等が設けられている。
レンズ12は、沈胴式のズームレンズで構成されており、カメラの電源が投入されると、カメラボディ11から繰り出される。
また、カメラボディ11の側面には、図1及び図2に示すように、撮影ボタン16、ズームレバー17、ストロボボタン18、マクロボタン19等が設けられている。
撮影ボタン16は、半押し時にONするS1スイッチと、全押し時にONするS2スイッチとを有する二段ストローク式のスイッチで構成されており、この撮影ボタン16が半押しされると、AE/AFが作動し、全押しされると、撮影が行なわれる。
ズームレバー17は、撮影時に撮影画像のズーム(テレ/ワイド)を指示するボタンとして機能するとともに、再生時に表示画像のズーム(拡大/縮小)を指示するボタンとして機能する。このズームレバー17は、上下方向にスライド自在に設けられており、上方向に操作することにより、ズームがテレ側(撮影時)又は拡大側(再生時)に操作され、下方向に操作することにより、ズームがワイド側(撮影時)又は縮小側(再生時)に操作される。
ストロボボタン18は、撮影時にストロボモードの切り替えを指示するボタンとして機能し、マクロボタン19は、撮影時にマクロ機能のON/OFFを指示するボタンとして機能する。
カメラボディ11の背面には、図2に示すように、モニタ20、表示ボタン21、メニュー/OKボタン22、十字ボタン23、BACKボタン24、電源ボタン25、モードスイッチ26等が設けられている。
モードスイッチ26は、カメラのモードを切り替えるスイッチとして機能し、このモードスイッチ26をスライド操作することにより、カメラのモードが「オート撮影モード」と「子供撮影モード」と「再生モード」のいずれか1つに設定される。ここで、「オート撮影モード」は、ピント合わせ、露出制御、ホワイトバランス制御等を自動で行なって撮影するモードであり、「子供撮影モード」は、子供の成長記録を目的とした撮影を行なうモードである。
モニタ20は、カラー表示可能な液晶ディスプレイで構成されており、記録済み画像の表示画面として利用されるとともに、ユーザインターフェースの表示画面として利用される。また、撮影時には画角確認用の電子ファインダとして使用される。表示ボタン21は、このモニタ20の表示内容の切り替えを指示するボタンとして機能する。
メニュー/OKボタン22は、各モードの通常画面からメニュー画面への遷移を指示するメニューボタンとして機能するとともに、選択内容の確定(登録)や処理実行(確認)を指示するOKボタンとして機能する。
十字ボタン23は、上下左右四方向の指示を入力するボタンとして機能し、メニュー画面などから所望の項目を選択したり、各メニューにおける各種設定項目の選択内容を指示する際に使用される。
BACKボタン24は、入力操作のキャンセル等を指示するボタンとして機能し、各種設定操作等を途中でやめるときなどに使用される。
なお、図示しないカメラボディの底面には、メディアスロットが設けられており、このメディアスロットに記録メディアが着脱自在に装着される。
図3は、本発明が適用されたデジタルカメラの内部構成を示すブロック図である。このデジタルカメラ10は、全体の動作を中央処理装置(CPU)30によって統括制御されている。 CPU30は、カメラボディ11に設けられた操作部(撮影ボタン16、ズームレバー17、ストロボボタン18、マクロボタン19、表示ボタン21、メニュー/OKボタン22、十字ボタン23、BACKボタン24、電源ボタン25、モードスイッチ26等)28からの入力信号に基づいて各回路を制御し、レンズ駆動制御、撮影動作制御、画像処理制御、画像データの記録/再生制御、モニタ20の表示制御などを行うとともに、自動露出(AE)演算、自動焦点調節(AF)演算、ホワイトバランス(WB)調整演算、経過年月演算などの各種演算処理を実行する。
バス31を介してCPU30と接続されたROM32には、CPU30が実行するプログラム及び制御に必要な各種データ等が格納されており、EEPROM33には、CCD画素欠陥情報、カメラ動作に関する各種定数/情報等が格納されている。また、メモリ(SDRAM)34は、プログラムの展開領域及びCPU30の演算作業用領域として利用されるとともに、画像データの一時記憶領域として利用される。VRAM35は、画像データ専用の一時記憶メモリであり、A領域とB領域が含まれている。
まず、このデジタルカメラ10の「オート撮影モード」下における撮影処理動作について説明する。
モードスイッチ26によって「オート撮影モード」が選択されると、カラーCCD固体撮像素子(以下CCDと記載)38を含む撮像部に電源が供給され、オート撮影モードでの撮影が可能になる。
撮影ボタン16が半押しされると、CPU30は、AE・AF処理を開始する。すなわち、レンズ12を通過した光がCCD38の受光面に結像される。CCD38の受光面には、多数のフォトダイオード(受光素子)が二次元的に配列されており、各フォトダイオードに対応して赤(R)、緑(G)、青(B)の原色カラーフィルタが所定の配列構造(ベイヤー、Gストライプなど)で配置されている。また、CCD38は、各フォトダイオードの電荷蓄積時間(シャッタースピード)を制御する電子シャッタ機能を有しており、CPU30は、タイミングジェネレータ50を介してCCD38での電荷蓄積時間を制御する。
CCD38の受光面に結像された被写体像は、各フォトダイオードによって入射光量に応じた量の信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、CPU30からのコマンドに従いタイミングジェネレータ(TG)50から与えられる駆動パルスに基づいて信号電荷に応じた電圧信号(画像信号)として順次読み出される。
CCD38から出力された信号はアナログ処理部(CDS/AMP)52に送られ、ここで画素ごとのR、G、B信号がサンプリングホールド(相関二重サンプリング処理)され、増幅された後、A/D変換器54に加えられる。そして、A/D変換器54によってデジタル信号に変換された点順次のR、G、B信号が、画像入力コントローラ56を介してAE/AWB検出回路64に入力される。
AE/AWB検出回路64は、1画面を複数のエリア(たとえば、16×16)に分割し、分割エリアごとにRGB信号を積算する回路を含み、その積算値をCPU30に提供する。CPU30は、AE/AWB検出回路64から得た積算値に基づいて被写体の明るさ(被写体輝度)を検出し、撮影に適した露出値(撮影EV値)を算出する。求めた露出値と所定のプログラム線図に従って絞り値とシャッタスピード(電荷蓄積時間)が決定され、これに従いCPU30は、CCD38の電子シャッタ及びレンズ12に組み込まれた絞りの絞り駆動部42を制御して適正な露光量を得る。
AE/AWB検出回路64は、ホワイトバランス調整時には、分割エリアごとにRGB信号の色別の平均積算値を算出し、Rの積算値、Bの積算値、Gの積算値に基づいて被写体の色温度の検出(又は色温度に対応する光源種の判別)を行う。
また、CPU30は、AE/AWB検出回路64から得た被写体の明るさ及び色温度を示す撮影条件に基づいてEEPROM33から対応する画像処理条件を読み出し、この読み出した画像処理条件を画像信号処理回路58における処理条件パラメータ値として設定する。
本デジタルカメラ10におけるレンズ12のAF制御は、被写体に向け赤外光を投射し、その反射光を検知して被写体にピントを合わせる、いわゆるアクティブ方式のAF制御が適用されている。
カメラボディ11の前面に設けられた測距センサ14は、被写体に向け赤外光を投光するAF投光部14Aと、その反射光を受光するAF受光部14Bとで構成されており、その動作をCPU30からのコマンドに基づいて測距センサ制御回路62によって制御されている。
測距センサ14から得られた検出信号は、測距センサ制御回路62を介してCPU30に伝達される。CPU30は、この測距センサ14からの検出信号に基づいて被写体までの距離(被写体距離)を検出する。そして、得られた被写体距離情報とフォーカスレンズ位置センサ44Aから得られるレンズ12のフォーカスレンズ位置情報とに基づいてフォーカスレンズ駆動部44を制御し、被写体にピントが合うようにレンズ12のフォーカスレンズを移動させる。
なお、レンズ12のズーム制御は、ズームレバー17から入力される操作信号とズームレンズ位置センサ46Aから得られるズームレンズの位置情報とに基づいてズームレンズ駆動部46を制御し、ズームレバー17の操作量に応じてズームレンズを移動させる事により行なわれる。
撮影ボタン16が全押しされると、記録用の撮影動作がスタートし、CCD38からアナログ処理部52、A/D変換器54、画像入力コントローラ56を介して点順次のR、G、Bデータ(CCD−RAWデータ)がメモリ34に入力される。
画像信号処理回路58は、メモリ34に記憶されたCCD−RAWデータをCPU30からのコマンドに従って処理する。すなわち、画像信号処理回路58は、同時化回路(単板CCDのカラーフィルタ配列に伴う色信号の空間的なズレを補間して色信号を同時式に変換する処理回路)、ホワイトバランス補正回路、ガンマ補正回路、輪郭補正回路、輝度・色差信号生成回路等を含む画像処理手段として機能し、CPU30からのコマンドに従ってメモリ34を活用しながら入力画像を処理する。
画像信号処理回路58で画像処理され、輝度・色差信号生成回路によりR、G、Bデータから輝度信号(Y信号)及び色差信号(Cr 、Cb 信号)に変換されたY/C信号は、メモリ34に格納される。メモリ34に格納されたY/C信号は、圧縮伸張処理回路66によってJPEGのフォーマットに従って圧縮された後、メディアコントローラ68を介して記録メディア70に記録される。記録メディア70の形態は特に限定されず、xD-PictureCard(商標)、スマートメディア(商標)に代表される半導体メモリカード、可搬型小型ハードディスク、磁気ディスク、光ディスク、光磁気ディスクなどの種々の記録媒体を用いることができる。メディアコントローラ68は、記録メディア70に適した入出力信号の受渡しを行うために所要の信号変換を行う。
なお、デジタルカメラ10は、現在日時を計測するためのタイマ72を備えており、このタイマ72から得られた現在日時情報に基づいて撮影日時のデータが画像データと共に画像ファイルに記録される。
撮影画像をモニタ20に出力する場合は、VRAM35から画像データが読み出され、バス31を介してビデオエンコーダ60に送られる。ビデオエンコーダ60は、入力されたY/C信号を表示用の所定方式の信号(たとえば、NTSC方式のカラー複合映像信号)に変換してモニタ20に出力する。すなわち、CCD38から出力される画像信号によって、1コマ分の画像を表す画像データがVRAM35のA領域とB領域とで交互に書き換えられる。VRAM35のA領域及びB領域のうち、画像データが書き換えられている方の領域以外の領域から、書き込まれている画像データが読み出される。このようにしてVRAM35内の画像データが定期的に書き換えられ、その画像データから生成される映像信号がモニタ20に供給されることにより、撮像中の映像がリアルタイムにモニタ20に表示される。ユーザは、モニタ20に表示される映像(スルー画像)によって撮影画角を確認できる。
モードスイッチ26により「再生モード」が選択されると、記録メディア70に記録されている最終の画像ファイル(最後に記録されたファイル)の圧縮データが読み出される。この読み出された圧縮データは、圧縮伸張処理回路66を介して非圧縮のY/C信号に伸張され、画像信号処理回路58及びビデオエンコーダ60を介して表示用の信号に変換された後、モニタ20に出力される。これにより、当該ファイルの画像内容がモニタ20の画面上に表示される。静止画の一コマ再生中に、十字キーの右キー又は左キーを操作することによって、再生対象のファイルを切り換えることができる(順コマ送り/逆コマ送り)。コマ送りされた位置の画像ファイルが記録メディア70から読み出され、上記と同様にして静止画がモニタ20に再生表示される。
なお、デジタルカメラ10は、モニタ20上に文字等の情報を表示させるためのOSD(On Screen Display )信号発生部74を備えている。このOSD信号発生部74は、キャラクタジェネレータを含み、シャッタ速度や絞り値、撮影可能枚数、撮影日時、警告メッセージ等の文字及び記号情報を表示するための信号を発生することができるとともに、フォーカスフレームや構図決定の目安となるアシスト線などの信号を発生することができる。このOSD信号発生部74から出力される信号は、必要に応じて画像信号に混合されてモニタ20に供給される。これにより、スルー画像や再生画像に文字等が合成された合成画像が表示される。
次に、「子供撮影モード」下でのデジタルカメラ10の撮影、記録の処理動作について説明する。
「子供撮影モード」は、子供の成長記録を目的とした撮影を行なうモードであり、子供の名前と生年月日を登録すると、図4に示すように、撮影した画像に誕生日からの経過年月及び撮影日時に応じたメッセージが自動で写し込まれる。なお、これ以外の撮影処理動作は、オート撮影モードの時と同じである。
モードスイッチ26にて「子供撮影モード」を選択すると、被写体となる子供の選択が行なわれる。子供の選択は、あらかじめ登録された中から行なわれる。したがって、子供の登録がなされていない場合は、まず、子供の登録が行なわれる。子供の登録は、図5に示すフローチャートに従って次の手順で行なわれる。
子供撮影モードの下でメニュー/OKボタン22が押されると、図6(a)に示すように、モニタ20にメニュー画面が表示される。このメニュー画面に表示されるメニュー項目の中から「子供の登録」を選択する。なお、メニュー項目の選択は、たとえば画面上に表示されるカーソルを十字ボタン23の操作にて選択しようとする項目のところに移動させることにより行い、メニュー/OKボタン22を押すことにより確定する。
メニュー項目の中から「子供の登録」が選択されると、図6(b)に示すように、モニタ20の画面表示が名前の入力画面に移行する。ユーザは、ここで子供の名前を入力する(ステップS10)。名前の入力は、たとえば、次のように行なわれる。図6(b)に示すように、モニタ20に表示された名前の入力箇所には、文字を選択するための選択枠が表示される。選択枠には、片仮名が表示され、十字ボタン23を上下方向に操作すると、その選択枠に表示される片仮名が50音順に変化する。選択した文字の確定は、メニュー/OKボタン22を押すことにより行なわれ、確定すると、選択枠が次の入力位置に移動する。このようにして文字を順に入力して、子供の名前を入力する。なお、選択枠は、BACKボタン24を押すことにより、一つ前の入力位置に戻り、入力した文字の修正が可能になる。また、入力の完了は、片仮名の50音とともに選択枠に表示されるENDの文字を選択することにより行なわれる。
名前の入力が完了すると、図6(c)に示すように、入力した名前の確認画面がモニタ20に表示される。ユーザは、この表示に基づいて入力した名前の確認を行なう(ステップS11)。そして、表示した名前に間違いがなければ、メニュー/OKボタン22を押し、間違っている場合は、BACKボタン24を押す。BACKボタン24が押された場合には、再び名前の入力画面に復帰する。
一方、メニュー/OKボタン22が押された場合には、図6(d)に示すように、モニタ20の画面表示が、生年月日の入力画面に移行する。ユーザは、ここで子供の生年月日を入力する(ステップS12)。生年月日の入力は、たとえば、次のように行なわれる。図6(d)に示すように、モニタ20に表示された生年月日の入力箇所には、数字を選択するための選択枠が表示される。選択枠には、数字が表示され、十字ボタン23を上下方向に操作すると、その選択枠に表示される数字が順に変化する。選択した数字の確定は、メニュー/OKボタン22を押すことにより行なわれ、確定すると選択枠が次の入力位置に移動する。このようにして、年、月、日の順に数字を入力して、子供の生年月日を入力する。なお、選択枠は、BACKボタン24を押すことにより、一つ前の入力位置に戻り、入力した数字の修正が可能になる。また、入力は日の入力を確定した段階で完了する。
生年月日の入力が完了すると、図6(e)に示すように、入力した生年月日の確認画面がモニタ20に表示される。ユーザは、この表示に基づいて入力した生年月日の確認を行なう(ステップS13)。そして、表示された生年月日に間違いがなければ、メニュー/OKボタン22を押し、間違っている場合は、BACKボタン24を押す。BACKボタン24が押された場合には、再び生年月日の入力画面に復帰する。
一方、メニュー/OKボタン22が押された場合には、図6(f)に示すように、モニタ20の画面表示が、登録情報の確認画面に移行する。ユーザは、この表示に基づいて入力した名前、生年月日を最終確認を行い登録の決定を行なう(ステップS14)。表示された情報で登録する場合は、メニュー/OKボタン22を押し、登録を中止する場合は、BACKボタン24を押す。BACKボタン24が押された場合には、モニタ20の表示が再び名前の入力画面に復帰する。
一方、メニュー/OKボタン22が押された場合には、入力された情報で子供の登録処理が行なわれる(ステップS15)。ここで、入力された情報は、1件ずつ登録番号(登録No)を付与されて管理され、EEPROM33の登録情報記録領域に記録される。
以上の手順で子供の登録が行なわれる。なお、複数人分の登録を行なう場合は、上記の処理を繰り返し実行する。
次に、登録された子供を選択する手順について図7に示すフローチャートに従って説明する。
上記のように、カメラのモードを「子供撮影モード」に設定すると、子供の選択が行なわれる(ステップS21)。まず、図8(a)に示すように、モニタ20に子供の選択画面が表示される。この子供の選択画面は、たとえば既に登録されている子供の名前が登録番号と共に表示され、表示された中から選択するようにされている。選択は、たとえば画面上に表示されるカーソルを十字ボタン23の操作で選択しようとする登録番号のところに移動させることにより行い、メニュー/OKボタン22を押すことにより確定する。
子供の選択が行なわれると、図8(b)に示すように、モニタ20に選択された子供の登録情報が表示される。ユーザは、この表示に基づいて選択した内容の確認を行い、選択を確定する(ステップS22)。
ここで、選択を確定する場合は、メニュー/OKボタン22を押し、選択をやり直す場合は、BACKボタン24を押す。BACKボタン24が押された場合には、モニタ20の表示が再び子供の選択画面に復帰する。
一方、メニュー/OKボタン22が押された場合には、子供の選択が確定する。子供の選択が確定すると、CPU30は、選択された子供の生年月日の情報とタイマ72から得られる現在日時の情報に基づいて、選択された子供の誕生日からの経過年月を演算する。たとえば、選択された子供の生年月日が2002年10月10日で現在日時が2003年10月10日の場合、経過年月は1年となる。そして、この算出した誕生日からの経過年月及び撮影日時に基づいて撮影、記録処理が行なわれる。
次に、「子供撮影モード」での撮影、記録処理の手順を図9に示すフローチャートに従って説明する。
上述したように、「子供撮影モード」では、撮影画像に子供の誕生日からの経過年月に応じたメッセージが自動的に記録される。したがって、撮影処理自体は、上述した「オート撮影モード」の場合と同じである。すなわち、撮影ボタン16の半押しでAE・AF処理が行なわれ、全押しで撮影が行なわれる。
撮影ボタン16が全押しされ、撮影の指示が入力されると(ステップS31)、CPU30からのコマンドに従ってCCD38からアナログ処理部52、A/D変換器54、画像入力コントローラ56を介して点順次のR、G、Bデータ(CCD−RAWデータ)がメモリ34に取り込まれ、画像信号処理回路58で所定の信号処理が施される。画像信号処理回路58で信号処理された画像データは、メモリ34に格納されると共にVRAM35に加えられ、図10(a)に示すように、ビデオエンコーダ60を介してモニタ20にプレビュー画像として出力される(ステップS32)。
ユーザは、このプレビュー画像を見て、ピント状態や構図を確認し、記録メディア70に記録するか否かを判断する(ステップS33)。
ここで、撮影画像を記録メディア70に記録する場合は、メニュー/OKボタン22を押し、記録しない場合はBACKボタン24を押す。BACKボタン24が押された場合は、撮影スタンバイ状態に復帰する。
一方、メニュー/OKボタン22が押された場合、CPU30は、メッセージの合成処理を行なう。
すなわち、CPU30は、選択した子供の誕生日からの経過年月及び撮影日時の情報に基づいて撮影画像に写し込むメッセージのデータをROM32から読み出し、選択した子供の名前と共に撮影画像に合成する。このメッセージは、経過年月及び撮影日時に対応付けられてROM32に格納されており、CPU30は、経過年月及び撮影日時に対応するメッセージのデータをROM32から読み出す。たとえば、経過年月6ヶ月に対して「6ヶ月」、2年に対して「2歳 誕生日」等のメッセージのデータが経過年月対応付けられてROM32に格納されている。撮影日時3月3日に対して「ひなまつり」、5月5日に対して「子供の日」等のメッセージのデータが撮影日時に対応付けられてROM32に格納されている。
なお、メッセージのデータは、一つの経過年月又は撮影日時に対して複数記録されていてもよく、この場合、読み出す優先順位が定められている。たとえば、経過年月2年に対して「2歳 誕生日」、「2歳」、「誕生日」、「2歳 BIRTHDAY」等の複数のメッセージのデータが記録されており、「2歳 誕生日」→「2歳」→「誕生日」→「2歳 BIRTHDAY」の順で読み出されるようにされている。
また、すべての撮影日時に対してメッセージのデータを用意しておく必要はなく、主要な行事のある日時についてのみメッセージのデータを用意しておいてもよい。撮影日時に対してメッセージのデータがない場合は経過年月に対応するメッセージのデータのみが読み出される。
ROM32から読み出されたメッセージのデータと選択した子供の名前のデータは、メモリ34に格納された撮影画像の画像データとともに画像信号処理回路58に加えられ、撮影画像の所定の位置(ここでは、下部中央)に表示されるように撮影画像の画像データに合成される。
合成された画像データは、メモリ34に格納されると共にVRAM35に加えられ、図10(b)に示すように、ビデオエンコーダ60を介してモニタ20にプレビュー画像として出力される。
ユーザは、このプレビュー画像を見て、合成されたメッセージでよいか否かを判断する(ステップS34)。そして、合成されたメッセージでよければ、メニュー/OKボタン22を押し、異なるメッセージを希望する場合はBACKボタン24を押す。
BACKボタン24が押された場合、CPU30は、経過年月及び撮影日時に対応する次のメッセージのデータをROM32から読み出し、撮影画像のデータに合成する。そして、合成した画像データをメモリ34に上書きすると共にVRAM35に加え、ビデオエンコーダ60を介してモニタ20にプレビュー画像として出力する。ユーザは、このプレビュー画像を見て、合成されたメッセージを確認する。そして、合成されたメッセージでよければ、メニュー/OKボタン22を押し、異なるメッセージを希望する場合はBACKボタン24を押す。
このように、BACKボタン24が押されるたびに新たなメッセージがROM32から読み出され、撮影画像に合成される。そして、図11に示すように、モニタ20上に順次異なるメッセージが合成された画像が表示される。ユーザは、気に入ったメッセージが合成された画像が表示されたところで、メニュー/OKボタン22を押す。
メニュー/OKボタン22が押されると、合成するメッセージ内容が確定する。そして、合成するメッセージの内容が確定すると、図10(c)に示すように、次に、メッセージの合成位置の確認が行なわれる(ステップS35)。
ユーザは、現在モニタ20に表示されている画像を見て、メッセージの表示位置を確認し、そのままの位置でよければ、メニュー/OKボタン22を押す。一方、異なる位置にメッセージを表示させることを希望する場合はBACKボタン24を押す。
BACKボタン24が押された場合、CPU30はメッセージの位置を変更して撮影画像のデータに合成する。そして、合成した画像データをメモリ34に上書きすると共にVRAM35に加え、ビデオエンコーダ60を介してモニタ20にプレビュー画像として出力する。ユーザは、このプレビュー画像を見て、合成されたメッセージの位置を確認し、メッセージの位置が適切か否かを判断する。そして、表示された位置でよければ、メニュー/OKボタン22を押し、異なる位置を希望する場合はBACKボタン24を押す。
このように、BACKボタン24が押されるたびにメッセージの表示位置が変えられて、撮影画像に合成される。そして、図12に示すように、異なる位置にメッセージが合成された画像が順次モニタ20に表示される(たとえば、画像下部中央→画像上部中央→画像左側部中央→画像右側部中央の順にメッセージの表示位置が変えられる。)。ユーザは、気に入った位置にメッセージが合成された画像が表示されたところで、メニュー/OKボタン22を押す。
メニュー/OKボタン22が押されると、メッセージの表示位置が確定する。そして、その表示位置にメッセージが合成された画像データが、記録メディア70に記録される(ステップS36)。すなわち、メモリ34に格納されたメッセージ合成後の画像データが、圧縮伸張処理回路66によって圧縮された後、メディアコントローラ68を介して記録メディア70に記録される。
このように、本実施の形態のデジタルカメラ10によれば、あらかじめ生年月日が登録された子供を選択して撮影することにより、その子供の誕生日からの経過年月と撮影日時に応じたメッセージが自動で撮影画像に合成され、記録される。これにより、面倒な設定を行なうことなく、子供の成長を簡単かつ効率的に画像として記録することができる。
なお、本実施の形態では、子供の名前と生年月日をあらかじめ登録しておき、撮影時に登録した子供の名前から被写体となる子供を選択するようにしているが、撮影のたびに生年月日を入力するようにしてもよい。
また、本実施の形態では、子供の名前と生年月日を関連付けて登録しているが、生年月日のみを登録しておき、その登録された生年月日を選択するようにしてもよい。
さらに、本実施の形態では、メッセージ内容及びメッセージの表示位置を変えられるようにしているが、誕生日からの経過年月と撮影日時に応じたメッセージを一定の表示位置に表示するようにしてもよい。
また、メッセージの表示位置を微調整できるようにしてもよい。たとえば、メッセージ位置確認のプレビュー画像(図10(c)参照)を表示させた状態で十字ボタン23を操作すると、その十字ボタン23の操作量に応じてメッセージの表示位置が移動するように構成する。
なお、メッセージは、被写体の顔にかからないように表示することが好ましい。そこで、メッセージが被写体の顔にかからないように自動で表示位置を変更するようにしてもよい。この場合、次のように、表示位置を調整する。すなわち、図13(a)に示すように、得られた撮影画像から、同図(b)に示すように、被写体の肌色のエリアを抽出し、その肌色エリアを被写体の顔と認定する。このとき、肌色エリアが複数存在する場合は、最大の肌色エリアを被写体の顔と認定する。また、肌色エリアの検出は、たとえば画像信号処理回路58にてY/C変換した画像データの中で、70≦Y≦200、18≦Cr≦38、−28≦Cb≦−8の3条件を満足するエリアを肌色エリアと認定して検出する。
そして、同図(c)に示すように、検出した肌色エリアにメッセージがかからないようにメッセージを合成する。この場合、たとえば図14の(a)〜(d)に示す4つの位置((a)画像下部中央、(b)画像上部中央、(c)画像左側部中央、(d)画像右側部中央)にメッセージを合成したとき、肌色エリアにメッセージがかからない位置にメッセージを表示する。肌色エリアにメッセージがかからない位置が複数存在する場合は、メッセージが肌色エリアからもっとも離れている位置にメッセージを表示する。あるいはユーザに選択させる。
このように、被写体の顔にかからないようにメッセージの表示位置を自動調節することにより、面倒な設定を行なうことなく、撮影画像に合成したメッセージで被写体の顔が隠れてしまうという不具合を防止することができる。
なお、上記のように自動で表示位置を設定した場合も、その表示位置を微調整できるようにすることが好ましく、この場合、被写体の顔にかからないエリア(肌色エリア以外のエリア)内でメッセージを移動させるようにすることが好ましい。
次に本発明に係るデジタルカメラの第2の実施の形態について説明する。本実施の形態のデジタルカメラは、被写体の身長の計測機能を備えたものである。なお、デジタルカメラの構成は上記の実施の形態と同じである。
図15(a)に示すように、カメラのモードを子供撮影モードに設定すると、モニタ20にスルー画像と共に測定フレームが表示される。
測定フレームは、矩形状の枠として表示され、スルー画像に重ねて表示される。CPU30は、子供撮影モードに設定されると、この測定フレームがスルー画像に重ねて表示されるように、OSD信号発生部74にコマンドを出力する。
ユーザは、この測定フレームの間に被写体の全身がちょうど収まるようにフレーミングする。そして、撮影ボタン16を半押しする。
撮影ボタン16が半押しされると、CPU30は、AE・AF処理を開始する。CPU30は、このAE・AF処理の過程で測距センサ14から得られる被写体距離の情報と、ズームレンズ位置センサ46Aから得られるレンズの焦点距離の情報と、CCD38のサイズ情報とに基づいて被写体の身長を求める。身長の算出は、たとえば次のように行なわれる。
図16(a)に示すように、レンズから被写体までの距離をD、レンズの焦点距離をfとすると、レンズの倍率MはM=D/fとなる。そして、CCD上に結像される被写体の高さをS’とすると、被写体の高さ(身長)Sは、S=S’×Mで求められる。
たとえば、図16(b)に示すように、CCDのサイズを30mm×20mm、有効画素数を3000画素×2000画素とし、CCD上における測定フレームの高さ方向の画素数、すなわち、CCD上に結像される被写体の高さ方向の画素数を1500画素とすると、CCD上に結像される被写体の高さS’は、S’=20mm×(1500/2000)=15mmで15mmとなる。
そして、レンズから被写体までの距離DをD=3000mm、レンズの焦点距離fをf=50mmとすると、レンズの倍率MはM=D/f=3000mm/50mm=60となり、被写体の高さSは、S=S’×M=15mm×60=900mmで90cmとなる。
なお、レンズから被写体までの距離Dは、測距センサ14から得られる被写体距離X(X=D+fの情報と、ズームレンズ位置センサ46Aから得られるレンズの焦点距離fの情報とから求める。
上記のようにして、被写体の身長が求まると、CPU30は、求めた身長がモニタ20の所定位置に表示されるように、OSD信号発生部74にコマンドを出力する。この結果、図15(b)に示すように、スルー画像に重ねて被写体の身長が表示される。ユーザは、このモニタ20の表示を見て被写体の身長を把握する。
この後、撮影ボタン16が全押しされると、記録用の撮影動作が行なわれる。すなわち、CCD38から画像データが取り込まれ、所定の信号処理を施されて記録メディア70に記録される。ここで、この記録メディア70に記録される撮影画像には、図15(c)に示すように、計測した身長のデータが所定の位置(たとえば撮影画像の右下)に合成される。
このように、本実施の形態のデジタルカメラでは、撮影画像に実際の身長が合成されるため、撮影画像を見ただけで実際の被写体の大きさを把握することができ、子供の成長過程を容易に知ることができる。
なお、本実施の形態では、計測した身長のデータを撮影画像に合成しているが、撮影画像には合成せず、画像ファイルのタグに記録し、再生時に必要に応じて表示するようにしてもよい。
次に本発明に係るデジタルカメラの第3の実施の形態について説明する。本実施の形態のデジタルカメラも上述した第2の実施の形態のデジタルカメラと同様に被写体の身長の計測機能を備えたものである。なお、デジタルカメラの構成は上記の第1の実施の形態と同じである。
本実施の形態のデジタルカメラでは、カメラのモードを子供撮影モードに設定し、撮影ボタン16を半押しすると、図17に示すように、モニタ20にスルー画像と共にスケールが所定位置(たとえば左隅)に表示される。
スケールは、被写体の位置で被写体の大きさが計測できるように、たとえば5センチ間隔で目盛が振られたものであり、スルー画像に重ねて表示される。CPU30は、子供撮影モードに設定され、撮影ボタン16が半押しされると、このスケールがスルー画像に重ねて表示されるように、OSD信号発生部74にコマンドを出力する。
ここで、このスケールの大きさ(目盛の間隔)は、前記第2の実施の形態と同様に撮影ボタン16の半押しによって測距センサ14から得られる被写体距離の情報と、ズームレンズ位置センサ46Aから得られるレンズの焦点距離の情報と、CCD38のサイズ情報とに基づいて求められる。すなわち、レンズの倍率MとCCDのサイズから1画素当りの被写体位置での寸法が分かるので、これに基づきスケールの大きさ(目盛の間隔)を求める。
たとえば、前記同様にレンズの倍率MをM=60とし、CCDのサイズを30mm×20mm、有効画素数を3000画素×2000画素とすると、被写体の位置で1画素当りの寸法Lは、L=60×(20mm/2000)=0.6mmとなる。この情報に基づいて5センチ間隔で目盛を振るための目盛の表示間隔を求め、スルー画像に重ねて表示させる。
ユーザは、このスルー画像に重ねて表示されたスケールから被写体の身長を把握することができる。
この後、撮影ボタン16が全押しされると、記録用の撮影動作が行なわれ、撮影画像が記録メディア70に記録される。ここで、この記録メディア70に記録される撮影画像には、所定の位置(たとえば撮影画像の右下)にスケールが合成される(図17参照)。
このように、本実施の形態のデジタルカメラでは、撮影画像にスケールが合成されるため、撮影画像を見ただけで実際の被写体の大きさを把握することができ、子供の成長過程を容易に知ることができる。
なお、本実施の形態では、スケールを撮影画像に合成しているが、撮影画像には合成せず、画像ファイルのタグに記録し、再生時に必要に応じて表示するようにしてもよい。
また、上記実施の形態では、被写体距離を赤外線を用いた測距センサにて計測しているが、被写体距離の検出は、レーザや超音波等を用いた他の公知の測距センサを用いてもよい。また、フォーカスレンズの位置情報から被写体距離を求めてもよい。
また、上記実施の形態では、本発明をデジタルカメラに適用した場合を例に説明したが、本発明の適用は、これに限定されるものではなく、ビデオカメラや撮影機能を備えた携帯電話、PDA、パーソナルコンピュータ等にも同様に適用することができる。
なお、本実施の形態のデジタルカメラは、成長記録にのみ使用するものではなく、他の用途に使用することもできる。たとえば生物の成長記録や建物の高さ計測にも有効に利用することができる。
10…デジタルカメラ、11…カメラボディ、12…レンズ、13…ストロボ、14…測距センサ、14A…AF投光部、14B…AF受光部、16…撮影ボタン、17…ズームレバー、18…ストロボボタン、19…マクロボタン、20…モニタ、21…表示ボタン、22…メニュー/OKボタン、23…十字ボタン、24…BACKボタン、25…電源ボタン、26…モードスイッチ、30…中央処理装置(CPU)、31…バス、32…ROM、33…EEPROM、34…メモリ(SDRAM)、35…VRAM、38…カラーCCD固体撮像素子(CCD)、42…絞り駆動部、44…フォーカスレンズ駆動部、44A…フォーカスレンズ位置センサ、46…ズームレンズ駆動部、46A…ズームレンズ位置センサ、50…タイミングジェネレータ、52…アナログ処理部(CDS/AMP)、54…A/D変換器、58…画像信号処理回路、60…ビデオエンコーダ、62…測距センサ制御回路、64…AE/AWB検出回路、66…圧縮伸張処理回路、68…メディアコントローラ、70…記録メディア、72…タイマ