以下、本発明の一実施の形態を図に従って説明する。
(第1の実施の形態)
図1は、本発明の各実施の形態に共通するデジタルカメラの外観図であり、(a)は正面図、(b)は背面図である。デジタルカメラ100は、図1(a)に示すように正面側に撮像レンズ(レンズ群)2と距離測定部KSとを有している。距離測定部KSは、距離測定光を発射し、複数の人物から反射された距離測定光による各距離を測定する機能を備えている。また、デジタルカメラ100の背面には図1(b)に示すように、モードダイアル3、液晶モニタ画面4、カーソルキー5、SETキー6、ズームボタン7(Wボタン7−1、Tボタン7−2)等が設けられている。また、上面にはシャッターキー8、電源ボタン9が設けられている。なお、側部には図示されていないが、パーソナルコンピュータ(以下、パソコン)やモデム等の外部装置とUSBケーブルに接続する場合に用いるUSB端子接続部が設けられている。
図2は、前記デジタルカメラ100の電子回路構成を示す図である。このデジタルカメラ100は、基本モードである撮影モードにおいて、ズームレンズ12−1を移動させて光学ズーム動作を行わせるズーム駆動部11−1、フォーカスレンズ12−2を移動させて合焦動作を行わせるAF駆動部11−2、ズームレンズ12−1及びフォーカスレンズ12−2を含む撮像レンズ2を構成するレンズ光学系12、撮像素子であるCCD13、タイミング発生器(TG)14、垂直ドライバ15、サンプルホールド回路(S/H)16、A/D変換器17、カラープロセス回路18、DMA(Direct Memory Access)コントローラ19、DRAMインターフェイス(I/F)20、DRAM21、制御部22、VRAMコントローラ23、VRAM24、デジタルビデオエンコーダ25、表示部26、JPEG回路27、保存メモリ28、顔検出部29−1、顔認識部29−2、及びデータベース29−3、及びキー入力部30を備えている。
撮影モードでのモニタリング状態においては、ズーム駆動部11−1は、光学ズーム指示があると制御部22からの制御信号に基づいて、図示しないズームレンズ駆動モータを駆動してズームレンズ12−1を光軸に沿って前後に移動させることによりCCD13に結像させる画像の倍率そのものを変化させる。また、AF駆動部11−2は図示しないフォーカスレンズ駆動モータを駆動してフォーカスレンズ12−2を移動させる。そして、前記撮像レンズ2を構成するレンズ光学系12の撮影光軸後方に配置された撮像素子であるCCD13が、タイミング発生器(TG)14、垂直ドライバ15によって走査駆動され、一定周期毎に結像した光像に対応する光電変換出力を1フレーム分出力する。
CCD13は被写体の二次元画像を撮像する固体撮像デバイスであり、典型的には毎秒数十フレームの画像を撮像する。なお、撮像素子はCCDに限定されずCMOS(Complementary Metal Oxide Semiconductor)などの固体撮像デバイスでもよい。
この光電変換出力は、アナログ値の信号の状態でRGBの原色成分毎に適宜ゲイン調整された後に、サンプルホールド回路(S/H)16でサンプルホールドされ、A/D変換器17でデジタルデータ(画素)に変換され、カラープロセス回路18で画像補間処理及びγ補正処理を含むカラープロセス処理が行われて、デジタル値の輝度信号Y及び色差信号Cb、Crが生成され、DMA(Direct Memory Access)コントローラ19に出力される。
DMAコントローラ19は、カラープロセス回路18の出力する輝度信号Y及び色差信号Cb、Crを、同じくカラープロセス回路18からの複合(composite)同期信号、メモリ書き込みイネーブル信号、及びクロック信号を用いてDRAMインターフェイス(I/F)20を介してバッファメモリとして使用されるDRAM21にDMA転送する。
制御部22は、このデジタルカメラ100全体の制御動作を司るものであり、CPU若しくはMPU(以下、CPU)と、後述するフローチャートに示す処理を実行するためのプログラム等を記憶したフラッシュメモリ等のプログラム格納メモリ、及びワークメモリとして使用されるRAM等により構成される。そして、前記輝度及び色差信号のDRAM21へのDMA転送終了後に、この輝度及び色差信号をDRAMインターフェイス20を介してDRAM21から読出し、VRAMコントローラ23を介してVRAM24に書込む。
また、制御部22は、キー入力部30からの状態信号に対応してフラッシュメモリ等のプログラム格納用メモリに格納されている各モードに対応の処理プログラムやメニューデータを取り出して、デジタルカメラ100の各機能の実行制御、具体的には撮影動作や、光学ズーム時のズームレンズの動作制御や、電子ズームや、スルー表示、自動合焦、撮影、記録、及び記録した画像の再生・表示等の実行制御等や機能選択時の機能選択メニューの表示制御、設定画面の表示制御等を行う。
デジタルビデオエンコーダ25は、前記輝度及び色差信号を、VRAMコントローラ23を介してVRAM24から定期的に読み出し、これらのデータを基にビデオ信号を生成して前記表示部26に出力する。
表示部26は、上述したように撮影モード時にはモニタ表示部(電子ファインダ)として機能するもので、デジタルビデオエンコーダ25からのビデオ信号に基づいた表示を行うことで、その時点でVRAMコントローラ23から取り込んでいる画像情報に基づく画像をリアルタイムに液晶モニタ画面4に表示することになる。
制御部22は合焦指示に応じてその時点でCCD13から取り込んでいる1フレーム分の輝度及び色差信号のDRAM21へのDMA転送の終了後、直ちにCCD13からのDRAM21への経路を停止し、記録保存の状態に遷移する。
この保存記録の状態では、制御部22がDRAM21に書き込まれている1フレーム分の輝度及び色差信号を、DRAMインターフェイス20を介してY、Cb、Crのコンポーネント毎に縦8画素×横8画素の基本ブロックと呼称される単位で読み出してJPEG(Joint Photograph cording Experts Group)回路27に書込み、このJPEG回路27でADCT(Adaptive Discrete Cosine Transform:適応離散コサイン変換)、エントロピー符号化方式であるハフマン符号化等の処理によりデータ圧縮する。そして得た符号データを1画像のデータファイルとしてJPEG回路27から読出し、保存メモリ28に記録保存する。また、1フレーム分の輝度及び色差信号の圧縮処理及び保存メモリ28への全圧縮データの書込み終了に伴って、制御部22はCCD13からDRAM21への経路を再び起動する。
また、基本モードである再生モード時には、制御部22が保存メモリ28に記録されている画像データを選択的に読出し、JPEG回路27で画像撮影モード時にデータ圧縮した手順と全く逆の手順で圧縮されている画像データを伸張し、伸張した画像データを、VRAMコントローラ23を介してVRAM24に展開して記憶させた上で、このVRAM24から定期的に読出し、これらの画像データを元にビデオ信号を生成して表示部26で再生出力させる。
前記JPEG回路27は複数の圧縮率に対応しており、圧縮率に対応させて記憶するモードには圧縮率の低い高解像度(一般に、高精細、ファイン、ノーマルなどと呼ばれる)に対応するモードと圧縮率の高い低解像度(一般にエコノミーなどと呼ばれる)モードがある。また、高画素数から低画素数にも対応している。例えば、SXGA(1600×1200)、XGA(1024×786)、SVGA(800×600)、VGA(640×480)、QVGA(320×240)等と呼ばれる記録画素サイズがある。
保存メモリ28は、内蔵メモリ(フラッシュメモリ)やハードディスク、あるいは着脱可能なメモリカード等の記録媒体からなり画像データや撮影情報等を保存記録する。
顔検出部29−1は、1フレーム分の画像から顔(顔領域を含む)を検出し、顔の特徴データ(図3(b)参照)を抽出する。顔が複数あった場合、すなわち、1フレーム内に複数の顔が写っている場合は複数の人物の顔をそれぞれ検出し、それぞれの顔の特徴データを抽出する。顔の検出方法は公知の方法を用いることもできる。例えば、前述した特許文献1(特開2003−274271号公報)に記載の技術や特開2000―30033号公報に記載の技術のように1フレーム中から人物の顔領域を検出する技術等を適宜採用することができる。なお、この顔検出処理のために専用の回路を設けても良いし制御部22で顔検出用プログラムを実行させるようにしてもよい。
顔認識部29−2は、顔検出部29−1で抽出された顔の特徴データとデータベース29−3の顔認識テーブルの顔認識レコードに記憶されている特徴データと比較して類似度を判定し、検出された顔がどの個人の顔であるかを特定して当該個人を特定する。類似度の判定には、例えば、検出した顔の特徴データと登録済みの人物の顔の特徴データの差分から距離を求め、距離が所定閾値以下の場合に類似度が高いまたは低いと判定する。
データベース29−3は、個人の顔認識データや画質パラメータ等からなる顔認識レコードを複数記憶してなる顔認識テーブル、照合用画像データを格納した領域を備えており、顔認識部29−2によって参照される。
また、データベース29−3は、配置位置データ領域29−3Aを備えている。この配置位置データ領域は、図4(b)に示すように、複数の人物画像が配置されるべき配置レイアウトを示す配置位置データが格納するための領域であり、前列および後列の各座標位置x1・・・x5,y1・・・y4別に、「中央1」「中央2」のような複数の人物画像が配置されるべき配置を指示するための指示データが格納されている。
データベース29−3はまたユーザのキー入力操作によって新規登録、調整、又は削除等の更新が可能である。
キー入力部30は、上述したモードダイアル3、カーソルキー5、SETキー6、ズームボタン7(Wボタン7−1、Tボタン7−2)、シャッターキー8、及び電源ボタン9と、それらのキーが操作されると操作されたキーの操作信号を生成して制御部22に送出するキー処理部(図示せず)等から構成されている。
モードダイアル3は撮影モードや再生モードの選択を行うものである。ユーザはモードダイアル3を操作して、(静止画)通常撮影モード、マクロ撮影モード、連写モード、速写モード、・・、動画撮影モード、・・・等の撮影モードを選択することができる。
カーソルキー5はモード設定やメニュー選択等に際して液晶モニタ画面4に表示されるメニューやアイコン等をカーソルでポイントを指定する際に操作するキーであり、カーソルキー5の操作によりカーソルを上下又は左右に移動させることができる。また、SETキー6はカーソルキー5によってカーソル表示されている項目を選択設定する際に押されるキーである。またSETキー6を確認キーとして用いることもできる。
ズームボタン7は、ズーム操作に用いられ、光学ズームの場合はズームボタン7(Wボタン7−1又はTボタン7−2)の操作に対応してズームレンズ(可変焦点距離レンズ)12−1がワイド側またテレ側に移動されズームボタン7の操作に対応してズーム値が決定され、ズーム値の変化に追従して画角が実際に変化し、液晶モニタ画面4にはワイド(広角)画像又はテレ(望遠)画像が表示される。
シャッターキー8は、撮影時にレリーズ操作を行うもので、2段階のストロークを有しており、1段目の操作(半押し状態)でオートフォーカス(AF)と自動露出(AE)を行わせるための合焦指示信号を発生し、2段目の操作(全押し状態)で撮影処理を行うための撮影指示信号を発生する。
さらに、制御部22には、バスラインを介して音声回路31が接続されており、音声回路31は、前記フラッシュメモリ等に記憶された音声データ等をスピーカ32より再生するものである。
図3は、データベース29−3に設けられた顔認識テーブル40の構成を示す図である。この顔認識テーブル40は、個人の氏名や顔の特徴データ、照合用顔画像を取り出すためのポインタ、画質パラメータ等を登録した顔認識レコードを複数記憶している。そして
図3はデータベース29−3に設けられた顔認識テーブル40の構成を示す図である。この顔認識テーブル40は、個人の氏名、顔の特徴データ、照合用顔画像を取り出すためのポインタ、画質パラメータ等を登録した顔認識レコード(図示せず)を複数記憶している。そして、図3(a)に示すように、顔認識レコードを識別するための個人IDを記憶する個人ID欄41、個人毎にその氏名を記録する氏名データ欄42、顔の特徴データを記録する特徴データ欄44、照合画像ポインタを記憶する照合画像ポインタ欄である照合用顔画像データアドレス欄45、各個人の顔画像を記憶する顔画像欄46を有している。
特徴データ欄44は、更に、図3(b)に示すように顔の各部位(眼、鼻、口、耳、額顎、・・・等)の位置を記憶する位置欄44−1、各部位のサイズを記憶するサイズ欄44−2、各部分の角度を記憶する角度欄44−3、顔の各部位間の相対関係(例えば、左右の眼の間隔、顔の横サイズとの比率等)を記憶する相対関係欄44−4等を示すデータからなり、顔認識部29−2で抽出した各特徴データと比較され類似判定される。照合画像ポインタ欄45は、個人の顔画像を記憶した顔画像欄46における照合用の画像データの格納先の先頭アドレスであり、顔認識部29−2が顔検出部29−1で抽出した顔の特徴データと特徴データ欄44に記憶されている特徴データとの比較結果により特定した個人の顔を、ユーザが確認する際に氏名データ欄42に記憶されている氏名と共に特定された個人を示す顔画像として用いることができる。
撮影時に、顔検出部29−1がフレーム内の画像における人物の顔を検出し、顔の特徴データを抽出すると、顔認識部29−2は抽出された特徴データをデータベース29−3の顔認識テーブル40を構成する各顔認識レコードの特徴データ欄44に記憶されている特徴データと比較し、類似度の最も大きな顔認識レコードに登録されている個人を検出された顔の人物として特定する。そして、特定した人物に対応する個人データを氏名データ欄42から読み出すことができる。
図4(a)は、データベース29−3に設けられた基準RAM50の構成を示す図である。この基準RAM50は、役職名欄51、氏名欄52、所属会社名称欄53、及び配置位置欄54で構成されている。役職名欄51には、「委員長」、「副委員長」等の役職名が記憶され、氏名欄52には前記顔認識テーブル40の氏名データ欄42に記憶された氏名と同一の氏名が記憶され、所属会社名称欄53には、対応する氏名の人物が所属する会社名が記憶される。また、配置位置欄54には、後述の編集表示処理によって、各人物を表示する際の配置位置が記憶される。この配置位置は、「前列」、「後列」等の列を示す列情報と、「中央1」、「中央2」、「右端」等の当該列における位置を示す位置情報とで構成される。
図5は、本実施の形態における処理手順を示すゼネラルフローである。このネラルフローにおいて、制御部22は、前記プログラムに従って動作することにより、図7(a)に示すように、液晶モニタ画面4に「顔登録モード」「撮影モード(1)」「撮影モード(2)」等のメニュー画面を表示する。この表示されたメニュー画面の中から、ユーザのキー操作により「顔登録モード」が選択されると、顔登録モード処理(ステップS1;図6参照)を実行する。その後、表示されたメニュー画面の中から、ユーザのキー操作により「顔撮影モード」が選択されると、撮影モード処理(ステップS2;図8参照)を実行する。
図6は、図5における前記顔登録モード処理(ステップS1)の処理手順を示すフローチャートである。この顔登録モード処理において制御部22は、図6のフローチャートに従って処理を実行する。
まず、図7(a)に示すように、液晶モニタ画面4に一覧表示されている「顔登録モード」「撮影モード(1)」「撮影モード(2)」等のメニュー画面の中から、「顔登録モード」がキー操作により選択されると、この顔登録モード処理に移行する。そして、この処理において、顔を撮影すると、この撮影した顔を表示する(ステップS101)。
すなわち、ユーザが個人データの登録を希望する者の顔に撮像レンズ2を向けてシャッターキー8を操作すると、撮影処理を実行するとともに、この撮影された画像を液晶モニタ画面4に表示する(ステップS101)。したがって、このステップS101での処理により、図7(b)に例示するように、撮影された各個人の顔画像A、Bが液晶モニタ画面4に表示される。
次に、この液晶モニタ画面4に表示させた顔の特徴を検出する(ステップS102)。この顔の特徴は、前述のように、顔の各部位(眼、鼻、口、耳、額顎、・・・等)の位置、各部位のサイズ、各部分の角度、顔の各部位間の相対関係等であり、これらの特徴を顔画像Aから検出する。そして、これら検出した特徴を示す特徴データを特徴データ欄44に記憶するとともに、対応する顔画像欄46に顔画像Aを記憶する(ステップS103)。したがって、特徴データ欄44において、顔の各部位(眼、鼻、口、耳、額顎、・・・等)の位置は位置欄44−1に、各部位のサイズはサイズ欄44−2に、各部分の角度は角度欄44−3に、顔の各部位間の相対関係は相対関係欄44−4に各々記憶されることとなり、対応する顔画像Aは顔画像欄46に記憶されることとなる。
なお、これらの記憶は後述するように各顔画像A、B毎に行われるが、先ず左側の顔画像Aに対して行う。
引き続き、氏名データの入力催促表示を実行する(ステップS104)。このステップS104での処理により図7(c)に例示するように、「左の人物から順番に氏名データを入力してください」なる文字列401を表示する。これに応じて、ユーザが氏名を入力し(ステップS105)、図7(d)に示すように入力された氏名データ402(氏名データ;村田○○)を液晶モニタ画面4の一部に表示させる。
したがって、ユーザは液晶モニタ画面4に表示されている顔画像Aを見ながら、対応する氏名データ402の入力を行うことができる。
そして、顔画像A人物の氏名データを入力し終えた時点で決定のキー操作を行うと、ステップS105からステップS106に進み、入力済みの氏名データを、前記ステップS103で記憶した顔特徴データ及び撮影顔画像に対応付けて記憶し、これらを表示する(ステップS106)。したがって、図3に示したように、例えば個人ID「1」に対応して、氏名データ欄42には「村田○○」が記憶され、特徴データ欄44には「村田○○」の顔特徴データが記憶され、顔画像欄46には「村田○○」の顔画像Aが記憶され、また、照合画像ポインタ欄45には、顔画像Aが記憶された顔画像欄46のアドレスが記憶されることとなる。
引き続き、配置基準データの入力催促表示を実行する(ステップS107)。このステップS107での処理により図7(e)に例示するように、「配置基準データを入力してください」なる文字列403を表示した、配置基準データ入力画面を表示する。この配置基準データ入力画面は、図4(a)に示した基準RAM50を構成する各欄と同様の役職名欄51、氏名欄52、所属会社名称欄53、及び配置位置欄54で構成されている。
なお、この時点では既に氏名データの入力は完了しているので、これら欄51〜54のうち、氏名欄52には既に入力された「村田○○」が書き込まれている。
そして、この配置基準データの入力催促表示に応じて、ユーザが「村田○○」の役職名「委員長」、所属会社名称「A株式会社」、及び配置位置「前列 中央1」を入力すると(ステップS108)、図7(f)に示すようにこれら入力された配置基準データを液晶モニタ画面4に表示させる。
したがって、ユーザは液晶モニタ画面4に表示されている配置基準データ入力画面を構成する各欄(役職名欄51、氏名欄52、所属会社名称欄53、及び配置位置欄54)を確認しながら配置基準データの入力を行うことができる。
そして、図7(f)に示したように、人物「村田○○」のすべての配置基準データを入力し終えた時点で決定キーのキー操作を行うと、ステップS108からステップS109に進み、入力済みの配置基準データを基準RAM50に記憶し、これらを表示する(ステップS109)。したがって、図4(a)に示したように、基準RAM50の最上段である1行目には、役職名欄51に「委員長」が記憶され、氏名欄52に「村田○○」が記憶され、所属会社名称欄53に「A株式会社」が記憶され、配置位置欄54に「前列 中央1」が記憶されることとなる。
次に、前記ステップS101で撮影した画像中における他の顔画像Bを含む全員に対して以上の顔画像及び個人データの記憶を完了したか否かを判断する(ステップS110)。完了していないと判断された場合には、前述したステップS102〜S109の処理を繰り返し、完了した時点でこのフローに従った処理を終了する。
したがって、本例のように、顔画像A、Bが撮影されたとすると、ステップS102〜S109が再度繰り返される。これにより、図4(a)に示したように、氏名「村田○○」の配置基準データに続いて、次の行に氏名「後藤○○」の配置基準データが記憶される。また、他の人物「岡田○○」〜「中尾○○」に関しても、図6に示したフローチャートに従って処理を実行することにより、図4(a)に示したように、基準RAM50に各人の配置基準データが予め登録されこととなる。
よって、ユーザは以上に説明した簡単な操作により、任意に撮影した所望の人物の配置基準データを自在に記憶させておくことができる。
図8は、第1の実施の形態における前記撮影モード処理(ステップS2)の処理手順を示すフローチャートである。この撮影モード処理において、図9に示すように、液晶モニタ画面4に表示されている「顔登録モード」「撮影モード(1)」「撮影モード(2)」・・・等のメニュー画面の中から、「撮影モード(1)」が選択されると、制御部22は、図8のフローチャートに従って処理を実行する。
すなわち、この「撮影モード(1)」のもとで、顔の撮影開始を行うと、液晶モニタ画面4に現在の被写体のスルー画像を表示する(ステップS201)。次に、シャッターキー8が操作されたか否かを判断する(ステップS202)。シャッターキー8が操作されたならば、撮影処理を実行し、CCD13から取り込んだ1画像の画像データを保存メモリ28に記録保存するとともに、表示部26(液晶モニタ画面4)に表示する(ステップS203)。
図10は、このステップS303における撮影処理の詳細を示すサブルーチンである。先ず、CCD13から取り込んで画像データにおいて顔画像を検出する顔検出処理を実行する(ステップS301)。すなわち、図11(a)に示したように、人物の集合状態の下で集合写真を撮影すべくシャッターキー8が操作されたとすると、撮影部から取り込まれた撮影画像中において、人物の顔を検出する(ステップS301)。
引き続き、検出した顔画像に対応する氏名データを顔認識テーブル40において検索する(ステップS302)。
つまり、図11(a)に示した画像P内に存在する上部左端の顔画像Aから、顔認識部29−2で前記各特徴データを抽出し、この抽出した特徴データと特徴データ欄44に格納されている各顔の前記特徴とを比較することにより、当該顔画像Aが個人ID欄41のいずれの個人ID(1、2・・・)に対応する顔画像であるかを検索する。そして、個人IDが検索できたならば、氏名データ欄42においてこの検索した個人IDに対応する氏名データを検索する。
しかる後に、顔画像Aに対応する氏名データがあったか否かを判断する(ステップS303)。氏名データがあったと判断されると、顔画像Aに対応する氏名データをその顔画像Aの近傍位置に合成して表示する(ステップS304)。したがって、このステップS304での処理により、図11(a)に示すように、顔画像Aの近傍に氏名データ404として「笠井」が表示される。
次に、表示部26上の全員に対して以上の顔検出及び氏名データの検索、表示等を完了したか否かを判断する(ステップS305)。完了していないと判断された場合には、前述したステップS301〜S304の処理を繰り返す。したがって、本例のように、9名での集合写真が撮影され、これら撮影された人物が予め顔認識テーブル40に登録されていると、図11(a)に示すように、各人の近傍に「笠井」、「村越」・・・の氏名データ(本実施の形態においては、簡略表示のために「氏名」のうちの「氏(姓名)」のみ)が表示されることとなる。
したがって、関係者がこの画面を視認することにより、集合写真を構成する人物の氏名を認識したり、確認したりすることができる。無論、「氏」のみならず「名」も、また、対応付けて記憶されている「所属会社名称」などの個人データも合成表示するようにしてもよい。
また、図8のフローチャートにおいてステップS203に続くステップS204においては、人物の眼抽出処理を実行する(ステップS204)。すなわち、前記撮影処理により保存メモリ28に保存した画像P(図11(a))を解析し、当該画像Pに存在する人物の眼、例えば人物Bの眼を抽出する。
より具体的には、特開2006−309661号公報にも開示されているように、画像Pを複数の領域に分割し、その中から皮膚と推定される肌色の色素を多く含む領域を選び出し、さらに、肌色の色素を多く含む領域から眼部の白色画素と白色画素に包囲された瞳と推定される色の色素を有する領域を選び出し、図11(b)に示すように、人物の眼I,Iを抽出する。
さらに、この抽出した人物の眼I,Iに基づき、画像Pにおける当該眼I,Iを有する顔の位置を特定する(ステップS205)。引き続き、図11(b)に示すように、両眼I,Iの距離dを測定(検出)し(ステップS206)、この測定した両眼I,Iの距離dに基づいて、当該人物の顔の大きさを算出し、この算出した大きさの顔を切り出すことが可能な切り出し範囲を設定する(ステップS207)。この実施の形態の場合、図11(b)に示すように、人物Bの顔の中心点Cを通る対角線L1、L2の長さを、例えば距離dの6〜7倍とする矩形領域を切り出し範囲Zとして設定する。
したがって、切り出し範囲Zは、顔画像の眼の位置に基づいて決定されることから、適正な切り出し範囲を設定することができる。なお、図11(b)に示すように、人物Bの顔の中心点Cを中心とした矩形領域を切り出し範囲Zとして設定することとしているが、人物Bの顔の中心点Cを中心とし、顔の輪郭から外側に突出した円形領域または楕円形領域を切り出し範囲Zとして設定するようにしてもよい。
次に、この設定した切り出し範囲の境界上に他の人物が存在するか否かを判断する(ステップS208)。この判断は、たとえば、設定した切り出し範囲Zと他の人物の切り出し範囲Zとが重複したか否かにより判断するが、他の方法で判断してもよい。
境界上に他の人物が存在する場合には、周辺補正処理として、切り出し範囲の周辺に所定の補正処理を施す(ステップS209)。または、設定した切り出し範囲Zが、他の人物の切り出し範囲Zと重複しない範囲まで狭める。しかる後に、各人物画像を前記切り出し範囲にて切り出して、液晶モニタ画面4に表示する(ステップS210)。
次に、前列と後列、及び各列における各人物画像間の距離が等間隔となるように、切り出した各人物画像を移動して、液晶モニタ画面4に表示する。これにより、実際に撮影した集合写真において各人物間の距離が等間隔な距離でない、ばらばらであったとしても、人物画像間の距離が等間隔な整然とした集合写真を表示することができる。
しかも、前述のように、各人物画像は眼の位置を基準として適正な範囲で切り出されていることから、各人物が適正な切り出し範囲でかつ人物画像間の距離が等間隔な整然とした集合写真を表示することができる。
なお、このとき前記氏名データ404も切り出して、人物画像の近傍位置に表示する。したがって、このステップS210での処理により、図12(a)に示すように、各人物「笠井」A〜「岡田」Iの切り出された顔画像が氏名データ404とともに表示される。
なお、図12(a)の実施の形態の場合、各人物「笠井」A〜「岡田」Iの切り出された顔画像である「笠井」A〜「岡田」Iに係る切り出し範囲Zの大きさが均一でない。しかし、切り出し範囲Zの大きさは均一であることが望ましいが、隣接する人物画像の近接度合いに応じて、切り出し範囲Zの大きさを変更してもよい。
よって、切り出された各人物「笠井」A〜「岡田」Iの顔画像に対応して氏名データ404が表示されることにより、ユーザは切り出された顔画像が誰であるかを知ることができる。
次に、これら各人物「笠井」A〜「岡田」Iの人物画像と、当該表示部26上におけるその位置(表示部26における両眼の位置座標)とをDRAM21に記憶する(ステップS211)。さらに、基準RAM50から記憶されている配置基準データを読み出し(ステップS212)、これにより、図4(a)に示した配置基準データが制御部22によって基準RAM50から読み出されることとなる。
しかる後に、この読み出した配置基準データに従って、人物画像を移動して表示する(ステップS213)。この場合、データベース29−3における配置位置データ領域29−3Aは、図4(b)に示すように、複数の人物画像が配置されるべき配置レイアウトを示す配置位置データが格納されており、前列および後列の各座標位置x1・・・x5,y1・・・y4別に、「中央1」「中央2」のような複数の人物画像が配置されるべき配置を指示するための指示データが格納されているので、前述した配置基準データに含まれている「配置位置」のデータに対応する、この指示データの座標位置に各人物画像を移動して表示することになる。
ところで、図4(a)に示すように、基準RAM50の配置位置欄54には「村田○○」から「中尾○○」までの9名各々に対応して配置位置が記憶されている。一方、図12(a)に示したように、表示部26には前記ステップS210での処理により、後列左端の「笠井」Aから前列右端の「岡田」Iまでの9名の顔画像が表示されている。
そして、この図12(a)に示す表示部26の表示状態と、図4(a)に示す基準RAM50の配置位置欄54の内容とを比較すると、図12(a)における後列の「笠井」A、「村越」B、「熊澤」C、「大熊」D、「糟屋」Eの位置と、図4(a)の「笠井○○」、「村越○○」、「熊澤○○」、「大熊○○」、「糟屋○○」、「笠井○○」の各配置位置データ「後列 左から1」、「後列 左から2」・・・とは一致している。
しかし、図12(a)における前列は左端に「中尾」F、右端に「岡田」Iであるのに対し、図4(a)において「中尾○○」の配置位置データは「前列 右端」であり、「岡田○○」の配置位置データは「前列 左端」である。
したがって、図12(a)の表示状態において、後列の全員及び前列の中央1及び中央2の「村田」Hと「後藤」Gの位置は、基準RAM50の配置位置欄54のデータと一致するが、前列の「中尾」Fと「岡田I」の位置は、基準RAM50の配置位置欄54のデータと不一致である。また、不一致である前列の顔画像「中尾」Fと「岡田」Iの位置を基準RAM50の配置位置欄54のデータと一致させるためには、図12(a)の表示状態において、「中尾」Fの位置と「岡田」Iの位置とを交換しなければならない。したがって、このステップS213においては、図12(b)に示すように、氏名データ404を含む顔画像「中尾」Fと「岡田」Iとを入れ替えて、表示部26に表示する。
これにより、複数の被写体人物の配置が不適正な状態で撮影がなされた場合であっても、各被写体人物の配置を配置基準データに従って自動的に適正な位置に配置し直した状態の画像を表示することができる。
次に、最前列以外の他の列の顔画像サイズを最前列の顔画像サイズと同サイズに拡大処理する(ステップS214)。
すなわち、図11(a)に示したように、複数列で集合写真を撮影すると、被写体人物は最前列の人物画像I,G,H,Fの顔画像サイズが最大となり、最前列以外の列の人物画像A〜Eの顔画像サイズは最前列よりも相対的に小さくなる。したがって、図12(a)(b)に示すように、各人物被写体の顔画像部分を切り出して表示すると、当然に後列の人物画像A〜Eの顔画像は最前列の人物画像I,G,H,Fの顔画像よりも小さく表示されてしまい、顔画像の大きさが不均等となってしまう。
そこで、ステップS214においては、デジタルカメラの距離測定部KSから発射され、複数の人物から反射された距離測定光による各距離に基づいて、最前列以外の他の列の人物画像A〜Eの顔画像サイズを最前列の人物画像I,G,H,Fの顔画像サイズと同サイズとなるように拡大処理して表示する。
拡大処理例としては、図11(b)に示すように、両眼I,Iの距離dを測定(検出)していることから、この測定した両眼I,Iの距離dが全員の測定距離と同様となるまでか全員または一部の顔画像サイズを拡大処理して全員の顔画像のサイズが同じまたはほぼ同じとなるように表示するようにしてもよい。また、全員の顔画像の輪郭を測定し、これに基づいて、全員または一部の顔画像サイズを拡大処理して全員の顔画像のサイズが同じまたはほぼ同じとなるように表示するようにしてもよい。
これにより、図12(c)に示すように、後列の顔画像の「笠井」A〜「糟屋」Eが最前列の顔画像「岡田」I〜「中尾」Fと同サイズにして表示される。したがって、不可避的に顔画像サイズが異なってしまう集合写真の欠点を解消して、全員の顔画像サイズが同等な大きさからなる集合写真を特別な操作をユーザが行うことなく確実かつ迅速に表示することができる。
なお、この拡大処理は、制御部22の働きにより自動的に行っても良く、または、ユーザのキー操作による指示に応答して行っても良い。
しかる後に、この表示した画像(図12(c)の画像)を保存メモリ28に記録して(ステップS215)処理を終了する。したがって、保存メモリ28に記録した画像を再生することにより、図12(c)に示した全員の顔画像サイズが同等な大きさからなる集合写真を後日観賞することも可能となる。
(第2の実施の形態)
図13は、本発明の第2の実施の形態における前記撮影モード処理(ステップS2)の処理手順を示すフローチャートである。
この撮影モード処理に際しては、図14(a)に示すように、液晶モニタ画面4に表示されている「顔登録モード」「撮影モード(1)」「撮影モード(2)」等のメニュー画面の中から「撮影モード(3)」がユーザにより選択されると、制御部22は、図13のフローチャートに従って処理を実行し、液晶モニタ画面4に顔画像A,B、Cを表示する(ステップS401)。このステップS401での処理により、図14(b)に例示するように、顔画像A、B、Cが液晶モニタ画面4に表示される。
次に、シャッターキー8が半押しされたか否かを判断する(ステップS402)。シャッターキー8が半押しされたと判断されたならば、前記液晶モニタ画面4に表示されている複数の顔画像A,B、Cのうちの一つの顔画像を検出する顔検出処理を実行する(ステップS403)。したがって、図14(b)に示したように、この顔画像A、B、Cが存在する状態でシャッターキー8が半押しされたと判断されると、先ず顔画像Aが検出される。
引き続き、今回検出した顔がいずれの顔であるかを示す検出顔の表示を実行する(ステップS404)。この検出顔の表示は、図14(b)に示すように、検出した顔を囲繞する枠403を表示することにより行う。
したがって、撮影者がこの液晶モニタ画面4に表示された枠403を視認することにより、今回の顔検出処理により複数の顔画像A、B、Cのうちいずれの人物の顔検出が実行されたかを確認することができる。
また、この表示した枠403内の顔に対するAF、AE処理を実行することにより(ステップS405)、検出対象とされた顔画像を鮮明にする。そして、この枠403内の顔画像Aに対応する個人データを顔認識テーブル40において検索する(ステップS406)。
すなわち、図14(b)に示した枠403内に存在する顔画像から、顔認識部29−2で前記各特徴データを抽出し、この抽出した特徴データと特徴データ欄44に格納されている各顔の前記特徴とを比較することにより、当該顔画像が個人ID欄41のいずれの個人ID(1、2・・・)に対応する顔画像であるかを検索する。そして、個人IDが検索できたならば、氏名データ欄42においてこの検索した個人IDに対応する氏名データを検索する。
しかる後に、氏名データがあったか否かを判断する(ステップS407)。氏名データがないと判断された場合には、「氏名不明」の文字を顔の近傍位置に表示する(ステップS408)。氏名データがあったと判断された場合には、氏名データを顔の近傍位置に表示する(ステップS409)。したがって、このステップS409での処理により、図1
4(b)に示すように、顔画像Aの近傍に氏名データ404として「甲太郎」が表示される。
次に、全員に対して以上の顔検出及び個人データの表示等を完了したか否かを判断する(ステップS410)。完了していないと判断された場合には、前述したステップS403〜S409の処理を繰り返す。したがって、本例のように、顔画像A、B、Cが存在すると判断された場合とすると、ステップS403〜S409が3回繰り返される。これにより、図14(b)に示すように、顔画像B、Cに対してもその近傍に氏名データ405、410として「乙次郎」、「丙花子」が表示されることとなる。
このようにして、全員に対する処理が完了するとステップS410からステップS411に進み、シャッターキー8が全押しされたか否かを判断する(ステップS411)。シャッターキー8が全押しされたと判断されたならば、撮影顔画像、顔位置、氏名データなどをDRAM21に記憶して(ステップS412)処理を終了する。したがって、このステップS412での処理によりDRAM21には、図14(b)に示すように、顔画像A,B,Cが存在する集合写真画像が記憶され、顔画像A−B間の距離L1、顔画像B−C間の距離L2または顔画像A、B、Cの座標位置により、顔画像A,B,Cの位置が記憶されるとともに、顔画像A,B,Cの氏名データ404が記憶されることとなる。
図15は、本実施の形態において前記撮影モード処理(ステップS2)に含まれている編集モード処理の処理手順を示すフローチャートである。この撮影モード処理に際しては、図16(a)に示すように、液晶モニタ画面4に表示されている「顔登録モード」「撮影モード(1)」・・・「編集モード」等のメニュー画面の中から「編集モード」がユーザにより選択されると、制御部22は、図15のフローチャートに従って処理を実行し、編集対象画像を液晶モニタ画面4に表示する(ステップS501)。このステップS501での処理により、図16(b)に例示するように、顔画像A、B、Cを有する編集対象画像(図14(b)と同一の画像)が液晶モニタ画面4に表示される。
次に、編集決定スイッチが操作されたか否かを判断する(ステップS502)。編集決定スイッチが操作されたと判断されたならば、液晶モニタ画面4に表示されている編集対象画像において、隣り合う各顔画像又は枠間の距離を検出するとともに、この検出した距離を隣り合う各顔画像に対応させて記憶、表示する(ステップS503)。
このステップS503での処理により、図16(b)に示すように、顔画像A−B間の距離L1、顔画像B−C間の距離L2が検出されてDRAM21に記憶されるとともに、液晶モニタ画面4表示されることとなる。次に、この検出した距離の大小を算出して、DRAM21に記憶する(ステップS504)。よって、本例のように距離L2の方が距離L1よりも大きいと判断された場合には、DRAM21に「L1<L2」が記憶される。
次に、このDRAM21に記憶した距離の大小に基づき、前記ステップS503で算検出した距離L1、L2が異なるか否かを判断する(ステップS505)。本例の場合、「L1<L2」であるから「L1≠L2」であって、算出した距離L1、L2は異なる。したがって、ステップS505はYESとなる。よって、ステップS505からステップS506に進み、異なる距離の顔画像を切り出し処理する。
つまり、本例においては「L1≠L2」であって、異なる距離の顔画像は「甲太郎」及び「丙花子」であるから、これら「甲太郎」と「丙花子」の顔画像のいずれを切り出してもよい。そして、例えば「丙花子」の顔画像を切り出したならば、この切り出し済みの顔画像を、各顔画像の間が均等間隔となる位置まで移動し配置し直す(ステップS507)。
したがって、このステップS507での処理により、図16(c)に示すように、「L1=L2」となる位置に「丙花子」の顔画像が移動して配置し直されることとなる。
これにより、複数の被写体人物の水平方向の間隔が不均一な状態で撮影がなされた場合であっても、被写体人物の水平方向の間隔を均一にして複数の被写体人物を含む集合写真画像を確実かつ迅速に表示することができる。
よって、本実施の形態によれば、被写体の配置や間隔が不適正な状態で撮影された画像であっても、これらを適正にして画像を表示することができる。
しかる後に、この表示した画像(図16(c)の画像)を保存メモリ28に記録して(ステップS508)処理を終了する。したがって、保存メモリ28に記録した画像を再生することにより、図16(c)に示した全員の間隔が均等な集合写真を後日観賞することも可能となる。
図17は背景画像と被写体画像との差分に基づいて、被写体画像を切り出して被写体画像を抽出する画像抽出方法を採用した場合において、さらに各被写体画像の間の間隔を移動制御した際の実施形態を示す。
すなわち、図17(a)に示すように、抽出すべき被写体画像H、Gを含む第1画像D1と、図17(b)に示すように、背景のみの背景画像である第2画像D2とを撮影し、これら第1画像D1と第2画像D2とを比較し、この比較結果、すなわち被写体画像と背景画像との差分に基づいて、図17(c)に示すように、切り出し処理D3を行い、被写体画像H、Gを切り出し抽出する。次に、このように切り出された被写体画像H、Gについて、図17(d)に示すように、前述した実施の形態の場合と同様な処理にて、当該各被写体画像H、Gの間の間隔(L1)を図17(e)に示すように、制御部22の働きにより自動的に、またはユーザの指示操作に応じて、他の間隔(L2)となるように移動制御させる。
この実施形態によれば、被写体画像と背景画像との差分に基づいて、図17(b)に示すように、切り出し処理D3により、被写体画像H、Gを完全独立して切り出し抽出することができるので、独立して切り出された各被写体画像H、Gの間の間隔(L1)を、図17(e)に示すように、制御部22の働きにより自動的に、またはユーザの指示操作に応じて、他の間隔(L2)となるように広げまたは狭めて移動配置して表示させることができる。
以上、本発明の実施の形態について説明したが、本発明は前記各実施の形態に限定されるものではなく、種々の変形実施が可能であることはいうまでもない。
例えば、この実施の形態では、この発明をデジタルカメラに適用した場合を例にして説明しているが、デジタルカメラばかりでなく、光学系及び撮像素子を介して取り込んだ画像データを記録する機能を備えた装置、例えば、カメラ付携帯電話や撮像機能を備えた電子機器にも適用できる。
また、この実施の形態では、被写体として「人物」を例に挙げているが、動物、建造物などを被写体としてこの発明を適用しても良い。また、「氏名データ」として人物の「氏名」を例に挙げているが、動物、建造物などの名称、愛称、固有名称、固有データでも良い。
さらに、この実施の形態では、撮影された顔画像が表示されたあとに、シャッターキーが半押しされると、顔画像の顔検出が行われ、この顔検出が行われた顔画像に対応する氏名データを顔認識テーブルから検索して読み出し、この読み出された氏名データを顔検出が行われた顔画像に対応する輪郭画像の近傍位置または輪郭画像内に配置して表示しているが、撮影された顔画像が表示された後に、顔画像の顔検出を行い、この顔検出が行われた顔画像に対応する個人データを顔認識テーブルから検索して読み出し、この読み出された個人データを顔検出が行われた実際の顔画像の近傍位置またはその画像内に配置して表示しても良い。
さらに、この実施の形態では、各被写体画像それぞれを個別に切り出し方法として、検出された複数の被写体画像における目の位置を基準にして、各被写体画像それぞれを個別に切り出すようにしているが、これに限られない。
たとえば、被写体画像の輪郭、または明度差(たとえば、特公平07−16250号公報に記載の技術)、または身体部分領域を特殊な処理で抽出する方法(たとえば、特開2000−22929号公報に記載の技術)などにより切り出して被写体画像を抽出する画像抽出方法でもよい。
さらに、この実施の形態では、「予め定められている配置基準データ」、「予め定められている基準」、または「予め定められた条件」として、役職名、所属会社名称及び配置位置などの配置基準データを記憶しておき、この配置基準データを用いて各被写体画像の間の間隔制御または配置転換等を行っているが、これに限られず、学年順、男女別、背の高さ順、上司部下順など、各被写体画像の配置を制御するための配置基準データを記憶しておき、この配置基準データを用いて各被写体画像の間の間隔制御または配置転換等を行うようにしてもよい。この場合、このような配置基準データは複数の被写体画像と対応付けて記憶させておく必要がある。
さらに、この実施の形態では、切り出される「被写体画像」を静止画として説明しているが、動画であっても良い。たとえば、図17において、各人物画像H,Gを動画とした場合、左右に並んだ各人物画像H,Gが時間の経過に従って別個独立して動くことになるので、より一層面白い画像表現とすることができる。