(57)【特許請求の範囲】
【請求項１】
撮像装置であって、
顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び前記第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理手段と、
前記顔認証データで管理される前記特徴量を用いて、撮影画像に含まれる顔画像に対応する人物を特定する顔認証手段と、
前記顔認証手段により特定された人物についての前記第２の人物名を、前記撮影画像に関連付けて記録媒体に記録する記録手段と、
前記記録媒体に記録されている画像を読み出して表示手段に表示する表示制御手段であって、読み出した前記画像に関連付けられている前記第２の人物名について前記顔認証データで関連付けて管理される前記第１の人物名を、前記画像と共に前記表示手段に表示する表示制御手段と、を有する
ことを特徴とする撮像装置。
【請求項２】
撮像装置であって、
顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び前記第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理手段と、
前記顔認証データで管理される前記特徴量を用いて、撮像手段により出力されたスルー画像に含まれる顔画像に対応する人物を特定する顔認証手段と、
前記顔認証手段により特定された人物についての前記第１の人物名を、前記スルー画像と共に表示手段に表示する表示制御手段と、
撮影指示がなされた場合に前記撮像手段により出力された撮像画像に、該撮像画像について前記顔認証手段により特定された人物についての前記第２の人物名を関連付けて記録媒体に記録する記録手段と、を有する
ことを特徴とする撮像装置。
【請求項３】
前記第１の人物名はニックネームであり、前記第２の人物名はフルネームであることを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記第１の人物名及び前記第２の人物名は予め定められた最大データ長を有しており、前記第２の人物名の最大データ長は前記第１の人物名の最大データ長より長いことを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記第１の人物名の文字コードと、前記第２の人物名の文字コードとは異なることを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記第１の人物名は１バイト文字の文字コードで記録され、前記第２の人物名は２バイト文字の文字コードで記録されることを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
前記第２の人物名は、外部装置において入力及び表示が可能な文字コードで記録されることを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
撮像装置と情報処理装置とを有する情報処理システムであって、
前記撮像装置は、
顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量及び第１の人物名を関連付けた顔認証データを管理する管理手段と、
前記顔認証データで管理される前記特徴量を用いて、撮像手段により出力されたスルー画像に含まれる顔画像に対応する人物を特定する顔認証手段と、
前記顔認証手段により特定された人物についての前記第１の人物名を、前記スルー画像と共に表示手段に表示する表示制御手段と、
撮影指示がなされた場合に前記撮像手段により出力された撮像画像を記録媒体に記録する記録手段と、を有し、
前記情報処理装置は、
前記撮像装置から前記顔認証データを取得する取得手段と、
前記取得手段により取得された前記顔認証データに登録されている人物について、前記第１の人物名とは異なる第２の人物名を関連付ける入力手段と、
前記入力手段により関連付けられた前記第２の人物名を含む前記顔認証データを、前記撮像装置に送信する送信手段と、を有し、
前記管理手段は、前記送信手段により送信された前記第２の人物名を含む前記顔認証データを管理し、
前記記録手段は、前記撮像画像について前記顔認証手段により特定された人物についての前記第２の人物名を、前記撮像画像に関連付けて前記記録媒体に記録する
ことを特徴とする情報処理システム。
【請求項９】
撮像装置の制御方法であって、
顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び前記第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理工程と、
前記顔認証データで管理される前記特徴量を用いて、撮影画像に含まれる顔画像に対応する人物を特定する顔認証工程と、
前記顔認証工程において特定された人物についての前記第２の人物名を、前記撮影画像に関連付けて記録媒体に記録する記録工程と、
前記記録媒体に記録されている画像を読み出して表示手段に表示する表示制御工程であって、読み出した前記画像に関連付けられている前記第２の人物名について前記顔認証データで関連付けて管理される前記第１の人物名を、前記画像と共に前記表示手段に表示する表示制御工程と、を有する
ことを特徴とする撮像装置の制御方法。
【請求項１０】
撮像装置の制御方法であって、
顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び前記第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理工程と、
前記顔認証データで管理される前記特徴量を用いて、撮像手段により出力されたスルー画像に含まれる顔画像に対応する人物を特定する顔認証工程と、
前記顔認証工程において特定された人物についての前記第１の人物名を、前記スルー画像と共に表示手段に表示する表示制御工程と、
撮影指示がなされた場合に前記撮像手段により出力された撮像画像に、該撮像画像について前記顔認証工程において特定された人物についての前記第２の人物名を関連付けて記録媒体に記録する記録工程と、を有する
ことを特徴とする撮像装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至７のいずれか１項に記載の撮像装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、情報処理システム、制御方法、及びプログラムに関し、特に画像に含まれる顔画像に対応する人物を特定する顔認証技術に関する。
【背景技術】
【０００２】
画像閲覧ソフトウェア等、記録媒体に蓄積された画像ファイルの閲覧を行うアプリケーションがある。このような画像閲覧アプリケーションは、ＰＣ等の情報処理装置にインストールされることにより使用される。近年、画像閲覧アプリケーションの中には、顔認証アルゴリズムが実装され、予め登録された人物の顔が含まれる顔領域の画像を抽出等できるものがある。顔認証処理においては、人物ごとに予め顔画像の解析を行って得られた顔領域の特徴量が登録されたデータベース（顔認証用データや顔辞書とも呼ばれる）を参照することにより、画像について検出された顔について特徴量のマッチング検索が行われ、該顔の人物が特定される。
【０００３】
またデジタルカメラ等の撮像装置の中には、顔画像を撮影時に人名を入力することで顔辞書を作成し、そしてその顔辞書を用いた顔認証処理を行うものがある。撮像装置において顔認証処理を行う場合、顔辞書は撮像装置の有限の記憶領域に保持される。一般的に、人物の顔は年齢等の時間的な要因に伴って変化するため、顔認証処理の精度が低減することがある。即ち、有限の記憶領域に顔辞書が保持される場合、顔辞書を度々更新することで顔認証処理の精度は向上する。特許文献１には、顔認証処理ではないが、顔検出処理に用いる特徴量（テンプレート）を追加、更新する技術が開示されている。
【０００４】
このように撮像装置が顔辞書を保持することで、例えば撮像時にビューファインダ上の人物の像に対して、顔認証結果である人物名を重畳して表示することができる。また撮影した画像に対して、画像に含まれる人物名を関連付けて記録することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４１７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、撮像装置が有するビューファインダとしての表示装置はインチ数が小さいものが用いられる。即ち、上述のようにビューファインダ上に顔認証結果である人物名を重畳して表示する場合、複数の人物名が重なって表示される、あるいは人物名で遮られてビューファインダの視認性が悪くなる等の問題があった。
【０００７】
これに対し、顔辞書に登録される人物名をニックネーム等の簡略的な文字数の少ない文字列にすることが考えられる。しかしながら、ニックネーム等の人物名が関連付けられた撮影画像について、情報処理装置の画像閲覧アプリケーションで画像検索を行う場合、ニックネームが同一あるいは部分一致する画像が抽出される等、検索精度が低下することが考えられる。
【０００８】
また、顔辞書に登録されている人物名は、一般的には顔辞書の登録時以外は参照されないことが多い。即ち、ユーザが画像閲覧アプリケーションにおいて、特定の人物についてニックネームではなく日常的に認識しているフルネームで検索を行った場合、所望の検索結果が得られないことがある。特に、撮像装置において入力あるいは表示可能な文字の文字コードが限定される場合、顔辞書には該文字コードに対応する人物名が登録されることになるが、これは必ずしも一般的にユーザが検索時に用いる文字列の文字コードと同一ではない可能性がある。
【０００９】
本発明は、上述の問題点に鑑みてなされたものであり、ユーザの視認性を確保した顔認証結果の表示、及び柔軟な人物名検索に対応する画像の記録の少なくともいずれかを解決する撮像装置、情報処理システム、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述の目的を達成するために、本発明の１つの態様の撮像装置は、以下の構成を備える。
撮像装置であって、顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理手段と、顔認証データで管理される特徴量を用いて、撮影画像に含まれる顔画像に対応する人物を特定する顔認証手段と、顔認証手段により特定された人物についての第２の人物名を、撮影画像に関連付けて記録媒体に記録する記録手段と、記録媒体に記録されている画像を読み出して表示手段に表示する表示制御手段であって、読み出した画像に関連付けられている第２の人物名について顔認証データで関連付けて管理される第１の人物名を、画像と共に表示手段に表示する表示制御手段と、を有することを特徴とする。
【００１１】
また前述の目的を達成するために、本発明の別の態様の撮像装置は、以下の構成を備える。
撮像装置であって、顔画像に対応する人物の認証に用いられる顔認証データであって、登録されている人物ごとに、顔画像の特徴量、第１の人物名、及び第１の人物名とは異なる第２の人物名を関連付けた顔認証データを管理する管理手段と、顔認証データで管理される特徴量を用いて、撮像手段により出力されたスルー画像に含まれる顔画像に対応する人物を特定する顔認証手段と、顔認証手段により特定された人物についての第１の人物名を、スルー画像と共に表示手段に表示する表示制御手段と、撮影指示がなされた場合に撮像手段により出力された撮像画像に、該撮像画像について顔認証手段により特定された人物についての第２の人物名を関連付けて記録媒体に記録する記録手段と、を有することを特徴とする。
【発明の効果】
【００１２】
このような構成により本発明によれば、ユーザの視認性を確保した顔認証結果の表示、及び柔軟な人物名検索に対応する画像の記録の少なくともいずれかを解決することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係るＰＣ２００の機能構成を示したブロック図
【図３】本発明の実施形態に係るカメラ側顔辞書編集処理を例示したフローチャート
【図４】本発明の実施形態に係る顔辞書のデータ構造を示した図
【図５】本発明の実施形態に係るＰＣ側顔辞書編集処理を例示したフローチャート
【図６】本発明の実施形態に係る撮影処理を例示したフローチャート
【図７】本発明の実施形態に係る顔認証処理を例示したフローチャート
【図８】本発明の実施形態に係る人物画像検索処理を例示したフローチャート
【図９】本発明の実施形態に係る接続時処理を例示したフローチャート
【図１０】本発明の実施形態に係る同一顔辞書判断処理を例示したフローチャート
【図１１】本発明の変形例１に係る同一顔辞書判断処理を例示したフローチャート
【図１２】本発明の変形例２に係る人物名マージ処理を例示したフローチャート
【発明を実施するための形態】
【００１４】
［実施形態］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、撮像装置及び情報処理装置の一例としての、顔認証用データを使用した顔認証処理を実行可能なデジタルカメラ及びＰＣに、本発明を適用した例を説明する。しかし、本発明は、顔認証用データを使用した顔認証処理を実行することが可能な任意の機器に適用可能である。
【００１５】
また、本明細書において「顔画像」とは、人物が含まれる画像から抽出された、人物の顔領域の画像であるものとする。また「顔辞書」とは、各人物についての１以上の顔画像と各顔画像に含まれる顔領域の特徴量のデータとを含む、顔認証処理におけるマッチング処理に用いられる顔認証用データであるものとして説明する。なお、顔辞書は、含められる顔画像の数が予め定められているものとする。
【００１６】
＜デジタルカメラ１００の構成＞
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１７】
カメラＣＰＵ１０１は、デジタルカメラ１００が有する各ブロックの動作を制御する。具体的にはカメラＣＰＵ１０１は、カメラ二次記憶部１０２に記憶されている撮影処理等の動作プログラムを読み出し、カメラ一次記憶部１０３に展開して実行することにより、各ブロックの動作を制御する。
【００１８】
カメラ二次記憶部１０２は、例えば書き換え可能な不揮発性メモリであり、撮影処理等の動作プログラムに加え、デジタルカメラ１００が有する各ブロックの動作に必要なパラメータ等を記憶する。
【００１９】
カメラ一次記憶部１０３は、揮発性メモリであり、撮影処理等の動作プログラムの展開領域としてだけでなく、デジタルカメラ１００が有する各ブロックの動作において出力された中間データ等を格納する格納領域としても用いられる。
【００２０】
カメラ撮像部１０５は、ＣＣＤやＣＭＯＳセンサ等の撮像素子、Ａ／Ｄ変換部等で構成される。カメラ撮像部１０５は、カメラ光学系１０４により撮像素子上に結像された光学像を光電変換し、さらにＡ／Ｄ変換処理を含む種々の画像処理が適用された撮像画像を出力する。
【００２１】
カメラ記録媒体１０６は、例えばデジタルカメラ１００が有する内蔵メモリや、メモリカードやＨＤＤ等のデジタルカメラ１００に着脱可能に接続される記録装置である。本実施形態ではカメラ記録媒体１０６には、撮影処理により撮影された画像や、デジタルカメラ１００における顔認証処理で参照される顔辞書が記録される。カメラ記録媒体１０６に記録される顔辞書は、ＰＣ２００で実行される画像閲覧アプリケーションにより生成されたものに限らず、デジタルカメラ１００における撮影により得られた顔画像が登録されて生成されたものであってもよい。なお、本実施形態では、顔辞書がカメラ記録媒体１０６に記録されているものとして説明するが、本発明の実施はこれに限られるものではない。例えば顔辞書はカメラ二次記憶部１０２等、ＰＣ２００における閲覧アプリケーションによりアクセス可能、あるいはファイル書き込み要求を受けて書き込み可能な領域に格納されていればよい。また顔辞書は、ＰＣ２００から送信された際に、カメラＣＰＵ１０１が所定の記録領域に格納する構成であってもよい。
【００２２】
カメラ表示部１０７は、例えば小型ＬＣＤ等のデジタルカメラ１００が有する表示装置である。カメラ表示部１０７には、カメラ撮像部１０５から出力された撮像画像や、カメラ記録媒体１０６に記録された画像等が表示される。
【００２３】
カメラ通信部１０８は、デジタルカメラ１００が有する外部装置とのデータの送受信を行う通信インタフェースである。外部装置であるＰＣ２００とデジタルカメラ１００とは、例えばＵＳＢ（Universal Serial Bus）ケーブルによる有線接続、あるいは無線ＬＡＮによる無線接続など、有線無線を問わずカメラ通信部１０８を介して接続される。デジタルカメラ１００及びＰＣ２００間のデータ通信のプロトコルとしては、例えば、ＰＴＰ（Picture Transfer Protocol）やＭＴＰ（Media Transfer Protocol）が用いられてよい。なお、本実施形態では、カメラ通信部１０８の通信インタフェースは、後述するＰＣ２００の通信部２０５と同一のプロトコルでデータ通信が可能な通信インタフェースであるものとする。
【００２４】
カメラ操作部１０９は、例えば電源ボタンやシャッタボタン等の操作部材を含む、デジタルカメラ１００が有するユーザインタフェースである。カメラ操作部１０９は、ユーザによる操作部材の操作がなされたことを検出すると、操作内容に対応する制御信号を生成してカメラＣＰＵ１０１に伝送する。
【００２５】
＜ＰＣ２００の構成＞
次に、本発明の実施形態に係るＰＣ２００の機能構成について、図２を用いて以下に説明する。
【００２６】
ＣＰＵ２０１は、ＰＣ２００が有する各ブロックの動作を制御する。具体的にはＣＰＵ２０１は、例えば二次記憶部２０２に記憶されている画像閲覧アプリケーションの動作プログラムを読み出し、一次記憶部２０３に展開して実行することにより、各ブロックの動作を制御する。
【００２７】
二次記憶部２０２は、例えば内蔵メモリや、ＨＤＤやＳＳＤ等のＰＣ２００に着脱可能に接続される記録装置である。本実施形態では二次記憶部２０２には、画像閲覧アプリケーションの動作プログラムに加え、デジタルカメラ１００あるいはＰＣ２００において生成された各人物についての顔辞書、及び顔辞書の生成に用いる、人物が含まれる画像が記録される。
【００２８】
一次記憶部２０３は、揮発性メモリであり、画像閲覧アプリケーションの動作プログラムや他の動作プログラムの展開領域としてだけでなく、ＰＣ２００が有する各ブロックの動作により出力された中間データを記憶する格納領域としても用いられる。
【００２９】
表示部２０４は、例えばＬＣＤ等のＰＣ２００に接続された表示装置である。本実施形態では表示部２０４はＰＣ２００にその構成が含まれるものとして説明するが、表示部２０４はＰＣ２００に接続された外部表示装置であってもよいことは容易に想像されよう。本実施形態では、表示部２０４には画像閲覧アプリケーションに係るＧＵＩデータを用いて生成された表示画面が表示される。
【００３０】
通信部２０５は、ＰＣ２００が有する外部装置とのデータの送受信を行う通信インタフェースである。なお、本実施形態では、通信部２０５の通信インタフェースは、デジタルカメラ１００のカメラ通信部１０８と同一のプロトコルでデータ通信が可能な通信インタフェースであるものとする。
【００３１】
操作部２０６は、例えばマウスやキーボード、タッチパネル等の入力装置を含む、ＰＣ２００が有するユーザインタフェースである。操作部２０６は、ユーザによる入力装置の操作がなされたことを検出すると、操作内容に対応する制御信号を生成してＣＰＵ２０１に伝送する。
【００３２】
＜カメラ側顔辞書編集処理＞
このような構成をもつ本実施形態のデジタルカメラ１００の、１人の対象人物についての顔辞書を作成あるいは編集するカメラ側顔辞書編集処理について、図３のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、カメラＣＰＵ１０１が、例えばカメラ二次記憶部１０２に記憶されている対応する処理プログラムを読み出し、カメラ一次記憶部１０３に展開して実行することにより実現することができる。なお、本カメラ側顔辞書編集処理は、例えばユーザによってデジタルカメラ１００のモード設定が顔辞書登録モードに設定されたことを示す制御信号を、カメラＣＰＵ１０１がカメラ操作部１０９から受信した際に開始されるものとして説明する。
【００３３】
（顔辞書のデータ構造）
まず、本実施形態の顔辞書のデータ構造について、図４を用いて説明する。なお、本実施形態では顔辞書は各人物に対して１つずつ生成されるものとして説明する。しかしながら、本発明の実施はこれに限られるものではなく、内部で各人物ごとに特徴量の管理ができる構成であれば、１つの顔辞書に複数の人物についての顔認証用のデータが含まれる構成であってもよい。
【００３４】
図示されるように、１人の対象人物についての顔辞書は、顔辞書についての編集が行われた日時である更新日時４０１、該対象人物についての簡略的な人物名であるニックネーム４０２（第１の人物名）、例えば該対象人物のフルネーム４０３（第２の人物名）、及び該対象人物を顔認証するために用いられる１以上の顔画像の詳細情報４０４（顔画像情報（１）４１０、顔画像情報（２）４２０、・・・、顔画像情報（Ｎ））で構成される。
【００３５】
また詳細情報に含まれる顔画像情報の各々は、顔画像情報（１）４１０を例にとると、
１．任意の画像から対象人物の顔領域を抽出し、所定の画素数にリサイズされた顔画像      データ（１）４１１
２．顔画像データ（１）４１１の顔領域の特徴量を示す特徴量データ（１）４１２
を含む。
【００３６】
なお、本実施形態では対象人物について、該対象人物のフルネームを第２の人物名として顔辞書に含めるものとして説明するが、第２の人物名のフィールドに含められる人物名の情報は、対象人物のフルネームに限られるものではない。本実施形態では顔辞書は、ＰＣ２００における画像閲覧アプリケーションにおける、様々な人物名に対応する柔軟な人物画像の検索を実現するため、第１の人物名及び第２の人物名の複数の人物名が顔辞書に含められるように構成されている。即ち、顔認証処理により特定された人物が含まれる画像に対して複数の人物名をメタデータとして関連付けることで、より多くのキーワードで対象人物が含まれる画像を検索することができる。
【００３７】
また上述したように、一般的なデジタルカメラやデジタルビデオカメラは、ユーザによる多様な文字種の文字入力に対応していないことが多い。本実施形態のデジタルカメラ１００は、このように多様な文字種の文字の入力及び表示に対応しておらず、例えばＡＳＣＩＩコードの文字の入力及び表示にのみ対応しているものとする。また、本実施形態のデジタルカメラ１００は、顔辞書を用いた顔認証処理により得られた顔認証結果である人物名を、例えば撮像画像に重畳表示する等、撮像画像とともにカメラ表示部１０７に表示する。このとき、カメラ表示部１０７に表示される、顔認証結果である人物名は顔辞書から取得されるが、デジタルカメラ１００において表示可能な文字コード、即ちＡＳＣＩＩコードである必要がある。また上述したように、顔認証結果として人物名を撮像画像に重畳して表示する場合、表示される人物名は、撮像画像の視認性を確保するために簡略的であることが好ましい。このため本実施形態では、簡略的な人物名が入力されるニックネーム４０２は、デジタルカメラ１００のカメラ表示部１０７において表示可能なＡＳＣＩＩコード（第１の文字コード）に対応するものとする。また視認性確保のために、本実施形態ではニックネーム４０２の最大データ長は所定値以下に制限され、フルネーム４０３の最大データ長よりも短いものとする。
【００３８】
またデジタルカメラ１００における文字入力や任意文字表示の頻度が低いことを考慮すると、入力及び表示が可能な文字コードは、バイト表現のパターンが少なく、表示用の文字画像データの総データ量が少ないことが、格納領域のコスト上昇を抑える観点で好ましい。つまり、ニックネーム４０２は本実施形態のように、バイト表現のパターンが少ない、ＡＳＣＩＩコード等の１バイト系文字コードに対応していることが好ましいことになる。しかしながら、特にアジア圏等、公用語の文字入力において一般的に２バイト系文字が使用される区域では、撮影された画像について人物名を用いた検索を行う場合、１バイト系文字ではなく２バイト系文字が使用されることが想定される。本実施形態では、顔認証結果を関連付けた画像について、ＰＣ２００の画像閲覧アプリケーションにおいて２バイト系文字での検索に対応するよう、フルネーム４０３は例えばＳｈｉｆｔ−ＪＩＳコード等の２バイト系文字や、ＰＣ２００において広く用いられているＵｎｉｃｏｄｅに対応するものとする。なお、本実施形態では第１の人物名は１バイト系文字コードに対応し、第２の人物名は２バイト系文字コードに対応するものとして説明するが、本発明の実施はこれに限られない。即ち、顔辞書に含められる第１及び第２の人物名は、該人物名が顔認証結果として関連付けられた画像について、様々な文字コードの人物名に対応する柔軟な人物画像の検索を実現するため、それぞれ異なる文字コードに対応していればよい。
【００３９】
なお、本実施形態では第１の人物名はデジタルカメラ１００において入力及び表示が可能な文字コードに対応しているが、第２の人物名は入力不可能あるいは表示不可能な文字コードに対応している。このため、本実施形態ではデジタルカメラ１００において生成された顔辞書については、第２の人物名はＰＣ２００に接続された際に、ＰＣ２００において入力されるものとする。
【００４０】
また、本実施形態では顔辞書には、人物を顔認証するために用いられる詳細情報として、顔画像及び該顔画像の顔領域の特徴量が含まれるものとして説明するが、顔辞書に含まれる情報はこれに限られない。顔認証処理は、顔画像及び特徴量のいずれかがあれば実行可能であるため、顔辞書には顔画像及び該顔画像の特徴量の少なくともいずれかが含まれていればよい。
【００４１】
カメラ側顔辞書編集処理を実行すると、カメラＣＰＵ１０１はＳ３０１で、ユーザによる顔辞書の新規登録指示、または既存の顔辞書の編集指示がなされたか否かを判断する。具体的にはカメラＣＰＵ１０１は、顔辞書の新規登録指示あるいは編集指示に対応する制御信号を、カメラ操作部１０９から受信したか否かを判断する。カメラＣＰＵ１０１は、顔辞書の新規登録指示がなされたと判断した場合は処理をＳ３０３に移し、編集指示がなされたと判断した場合は処理をＳ３０２に移す。またカメラＣＰＵ１０１は、顔辞書の新規登録指示及び編集指示以外の指示、あるいは指示がなされていないと判断した場合は本ステップの処理を繰り返す。
【００４２】
Ｓ３０２で、カメラＣＰＵ１０１は、カメラ記録媒体１０６に記録されている既存の顔辞書のうち、編集する顔辞書の選択指示を受け付ける。具体的にはカメラＣＰＵ１０１は、現在カメラ記録媒体１０６に記録されている顔辞書の一覧をカメラ表示部１０７に表示させ、ユーザによる編集対象の顔辞書の選択がなされたことを示す制御信号をカメラ操作部１０９から受信するまで待機する。カメラ表示部１０７に表示される顔辞書の一覧は、例えばニックネーム４０２の文字列や、顔辞書に含まれる顔画像のうちの１つの代表画像が表示される形態であってよい。カメラＣＰＵ１０１は、カメラ操作部１０９から顔辞書の選択に対応する制御信号を受信すると、選択された顔辞書を示す情報をカメラ一次記憶部１０３に格納して処理をＳ３０５に移す。
【００４３】
一方、Ｓ３０１で顔辞書の新規登録指示がなされたと判断した場合、カメラＣＰＵ１０１はＳ３０３で全てのフィールドが空データ（初期データ）の顔辞書（新規顔辞書データ）をカメラ一次記憶部１０３に生成する。
【００４４】
Ｓ３０４で、カメラＣＰＵ１０１は、Ｓ３０３でカメラ一次記憶部１０３に生成した新規顔辞書データについて、顔認証結果として表示する際のニックネームの入力を受け付ける。具体的にはカメラＣＰＵ１０１は、ニックネームの入力を受け付けるＧＵＩデータを用いて生成した画面をカメラ表示部１０７に表示させる。そしてカメラＣＰＵ１０１は、ユーザによるニックネームの入力が完了したことを示す制御信号をカメラ操作部１０９から受信するまで待機する。カメラＣＰＵ１０１は、カメラ操作部１０９からニックネームの入力が完了したことを示す制御信号を受信すると、入力されたニックネームを取得し、カメラ一次記憶部１０３の新規顔辞書データのニックネーム４０２のフィールドに書き込む。なお、本実施形態のデジタルカメラ１００において顔辞書を作成する場合、顔認証結果の表示に用いるためニックネーム４０２の入力は必須であるものとする。
【００４５】
Ｓ３０５で、カメラＣＰＵ１０１は、顔辞書に含める対象人物の顔画像を取得する。具体的にはカメラＣＰＵ１０１は、例えば対象人物の顔の撮影を促す旨の通知をカメラ表示部１０７に表示する。そしてカメラＣＰＵ１０１は、ユーザによって撮影指示がなされたことを示す制御信号をカメラ操作部１０９から受信するまで待機する。カメラＣＰＵ１０１は、撮影指示に対応する制御信号を受信すると、カメラ光学系１０４及びカメラ撮像部１０５を制御して撮影処理を実行し、撮像画像を取得する。
【００４６】
Ｓ３０６で、カメラＣＰＵ１０１は、Ｓ３０５で取得した撮像画像に対して顔検出処理を行なって顔領域の画像（顔画像）を抽出する。さらにカメラＣＰＵ１０１は、抽出した顔画像について、顔領域の特徴量の取得を行う。そしてカメラＣＰＵ１０１は、顔画像データと該顔画像の特徴量データとを、Ｓ３０２で選択した顔辞書データあるいはＳ３０３で作成した新規顔辞書データの顔画像情報に書き込む。
【００４７】
Ｓ３０７で、カメラＣＰＵ１０１は、対象人物の顔辞書データに含まれる顔画像情報の数が最大数に達したか否かを判断する。カメラＣＰＵ１０１は、顔辞書データに含まれる顔画像情報の数が最大数に達したと判断した場合は処理をＳ３０８に移し、達していないと判断した場合は処理をＳ３０５に戻す。
【００４８】
本実施形態では、１つの顔辞書に含められる顔画像情報、即ち顔画像の最大数は５枚に設定されているものとする。本カメラ側顔辞書編集処理は、顔辞書の新規作成指示あるいは編集指示がなされた場合に、最大数の顔画像が登録された顔辞書を出力するものとする。なお、顔辞書の編集指示がなされた場合、編集対象の顔辞書が例えば後述するＰＣ側顔辞書編集処理で最大数未満の顔画像から生成した顔辞書である場合は、カメラＣＰＵ１０１は単純に顔画像情報の追加を行えばよい。また編集対象の顔辞書が最大数の顔画像情報を有している場合は、例えばＳ３０２における編集対象の顔辞書の選択後に削除する顔画像の選択を受け付け、カメラＣＰＵ１０１はＳ３０５乃至Ｓ３０７の処理で、削除した顔画像の数分の顔画像情報の追加を行えばよい。
【００４９】
Ｓ３０８で、カメラＣＰＵ１０１は、対象人物の顔辞書データを、カメラ記録媒体１０６に顔辞書ファイルとして記録する。このとき、カメラＣＰＵ１０１は、現在の日時を取得し、対象人物の顔辞書データの更新日時４０１に書き込んで記録するものとする。
【００５０】
＜ＰＣ側顔辞書編集処理＞
次に、本実施形態のＰＣ２００の、１人の対象人物についての顔辞書を作成あるいは編集するＰＣ側顔辞書編集処理について、図５のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ２０１が、例えば二次記憶部２０２に記憶されている対応する処理プロググラムを読み出し、一次記憶部２０３に展開して実行することにより実現できる。なお、本ＰＣ側顔辞書編集処理は、ＰＣ２００において起動されている画像閲覧アプリケーションにおいて、ユーザによって顔辞書の新規作成指示あるいは編集指示がなされた際に開始されるものとして説明する。
【００５１】
Ｓ５０１で、ＣＰＵ２０１は、ユーザによる顔辞書の新規登録指示、または既存の顔辞書の編集指示がなされたか否かを判断する。具体的にはＣＰＵ２０１は、顔辞書の新規登録指示あるいは編集指示に対応する制御信号を、操作部２０６から受信したか否かを判断する。ＣＰＵ２０１は、顔辞書の新規登録指示がなされたと判断した場合は処理をＳ５０３に移し、編集指示がなされたと判断した場合は処理をＳ５０２に移す。またＣＰＵ２０１は、顔辞書の新規登録指示及び編集指示がなされていないと判断した場合は、本ステップの処理を繰り返す。
【００５２】
Ｓ５０２で、ＣＰＵ２０１は、二次記憶部２０２に記憶されている既存の顔辞書のうち、編集する顔辞書の選択指示を受け付ける。具体的にはＣＰＵ２０１は、現在二次記憶部２０２に記憶されている顔辞書の一覧を表示部２０４に表示させ、ユーザによって編集対象の顔辞書の選択がなされたことを示す制御信号を操作部２０６から受信するまで待機する。表示部２０４に表示される顔辞書の一覧は、例えばフルネーム４０３の文字列や、顔辞書に含まれる顔画像のうちの１つの代表画像が表示される形態であってよい。ＣＰＵ２０１は、操作部２０６から顔辞書の選択に対応する制御信号を受信すると、選択された顔辞書を示す情報を一次記憶部２０３に格納して処理をＳ５０７に移す。
【００５３】
一方、Ｓ５０１で顔辞書の新規登録指示がなされたと判断した場合、ＣＰＵ２０１はＳＳ５０３で全てのフィールドが空データの新規顔辞書データを一次記憶部２０３に生成する。
【００５４】
Ｓ５０４で、ＣＰＵ２０１は、Ｓ５０３で一次記憶部２０３に生成した新規顔辞書データについて、ＰＣ２００の画像閲覧アプリケーションにおける人物名検索で主に用いられることが想定されるフルネームの入力を受け付ける。具体的にはＣＰＵ２０１は、フルネームの入力を受け付けるＧＵＩデータを用いて生成した画面を表示部２０４に表示させる。そしてＣＰＵ２０１は、ユーザによるフルネームの入力が完了したことを示す制御信号を操作部２０６から受信するまで待機する。ＣＰＵ２０１は、操作部２０６からフルネームの入力が完了したことを示す制御信号を受信すると、入力されたフルネームを取得し、一次記憶部２０３の新規顔辞書データのフルネーム４０３のフィールドに書き込む。なお、本ＰＣ側顔辞書編集処理では、デジタルカメラ１００において入力及び表示が可能な文字コードとは異なる文字コードに対応するフルネームの入力を本ステップにおいて必須とする。しかしながら、本ステップにおいてＣＰＵ２０１はニックネームの入力を受け付けてもよい。
【００５５】
また、Ｓ５０４以降のステップで、ニックネームの入力を受け付ける為のＵＩを表示させ、ニックネームの入力を受け付け可能とするが、その入力を省略するようにしても良い。更に、ニックネームのユーザによる入力を省略した場合に、何らかの番号をデフォルトで設定しておくようにしても良い。
【００５６】
この様にすることで、カメラでこの顔辞書を使うときに、ニックネームが表示されない場合を減らしたり、顔辞書はあるのに撮影時に名前が表示されないといった不都合を減らすことが出来る。
【００５７】
Ｓ５０５で、ＣＰＵ２０１は、二次記憶部２０２に記憶されている画像のうち、顔辞書に登録する対象人物が含まれる画像を取得する。具体的にはＣＰＵ２０１は、二次記憶部２０２に記憶されている画像の一覧を表示部２０４に表示させ、ユーザによって対象人物が含まれる画像の選択がなされたことを示す制御信号を操作部２０６から受信するまで待機する。ＣＰＵ２０１は、操作部２０６から対象人物が含まれる画像の選択に対応する制御信号を受信すると、選択された画像を一次記憶部２０３に格納して処理をＳ５０６に移す。なお、本実施形態では対象人物が含まれている画像の選択は、対象人物のみが含まれる画像を選択するよう、ユーザに指示するものとする。また、本ステップにおいてユーザに選択させる対象人物が含まれる画像の数は、１以上であればよいものとする。
【００５８】
Ｓ５０６で、ＣＰＵ２０１は、Ｓ５０５で選択された対象人物が含まれる画像に対して顔検出処理を行なって顔画像を抽出する。そしてＣＰＵ２０１は、抽出した全ての顔画像について顔領域の特徴量の取得を行い、得られた全ての特徴量データを一次記憶部２０３に格納する。
【００５９】
Ｓ５０７で、ＣＰＵ２０１は、二次記憶部２０２に記憶されている画像について、Ｓ５０２で選択された顔辞書に含まれる全ての特徴量データ、あるいはＳ５０６で取得した全ての特徴量データをテンプレートとして、対象人物が含まれると思われる画像を抽出する。具体的にはＣＰＵ２０１は、まず二次記憶部２０２に記憶されている画像を１枚選択し、顔検出処理により顔領域を特定する。次にＣＰＵ２０１は、特定した顔領域と、テンプレートである全ての特徴量データの各々について類似度を算出し、該類似度が所定値以上である場合は選択した画像を対象人物が含まれると思われる画像として、該画像を示す情報を一次記憶部２０３に格納する。二次記憶部２０２に記憶されている全ての画像について、対象人物が含まれるか否かの判断を行なった後、ＣＰＵ２０１は対象人物が含まれると思われる画像を表示部２０４に一覧表示させる。
【００６０】
Ｓ５０８で、ＣＰＵ２０１は、表示部２０４に一覧表示させた対象人物が含まれると思われる画像の中から、ユーザにより選択された対象人物が含まれる画像を取得する。具体的にはＣＰＵ２０１は、対象人物が含まれると思われる画像について、ユーザによる対象人物ではないものとして一覧表示から除外する指示に対応する制御信号を操作部２０６から受信するまで待機する。ＣＰＵ２０１は、一覧表示から除外する指示に対応する制御信号を受信すると、該指示がなされた画像を示す情報を一次記憶部２０３から削除する。またＣＰＵ２０１は、対象人物が含まれる画像の抽出が完了したことを示す制御信号を操作部２０６から受信した場合に、処理をＳ５０９に移す。
【００６１】
Ｓ５０９で、ＣＰＵ２０１は、抽出された対象人物が含まれる画像の中から、対象人物の顔辞書に含める画像を決定する。具体的にはＣＰＵ２０１は、抽出された対象人物が含まれる画像の中から、例えばＳ５０７で算出した類似度の高い順に、顔辞書データに含められる顔画像情報の最大数の画像を、顔辞書に含める画像として決定する。ＣＰＵ２０１は、決定された顔辞書に含める画像を示す情報を一次記憶部２０３に格納して処理をＳ５１０に移す。
【００６２】
Ｓ５１０で、ＣＰＵ２０１は、Ｓ５０９で決定された顔辞書に含める画像の各々に対して顔検出処理を行なって顔画像を抽出する。さらにＣＰＵ２０１は、抽出した顔画像の各々について、顔領域の特徴量の取得を行う。そしてＣＰＵ２０１は、顔画像データと該顔画像の特徴量データとを、Ｓ５０２で選択した顔辞書データあるいはＳ５０３で作成した新規顔辞書データの顔画像情報に書き込む。
【００６３】
Ｓ５１１で、ＣＰＵ２０１は、対象人物の顔辞書データを、二次記憶部２０２に顔辞書ファイルとして記録する。このとき、ＣＰＵ２０１は、現在の日時を取得し、対象人物の顔辞書データの更新日時４０１に書き込んで記録するものとする。
【００６４】
本実施形態では、このようにカメラ側顔辞書編集処理及びＰＣ側顔辞書編集処理を実行することで、デジタルカメラ１００とＰＣ２００とで、それぞれ異なる文字コードの人物名を有する顔辞書を新規作成、あるいは編集を行うことができる。
【００６５】
＜撮影処理＞
以下、本実施形態のデジタルカメラ１００の撮像画像の記録を行う撮影処理について、図６のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、カメラＣＰＵ１０１が、例えばカメラ二次記憶部１０２に記憶されている対応する処理プログラムを読み出し、カメラ一次記憶部１０３に展開して実行することにより実現することができる。なお、本撮影処理は、例えばデジタルカメラ１００が撮影モードで起動された際に開始されるものとして説明する。
【００６６】
Ｓ６０１で、カメラＣＰＵ１０１は、カメラ光学系１０４及びカメラ撮像部１０５を制御して撮像動作を行わせ、撮像画像を取得する。
【００６７】
Ｓ６０２で、カメラＣＰＵ１０１は、撮像画像に人物の顔が含まれているか否かを判断する。具体的には、カメラＣＰＵ１０１は撮像画像に対して顔検出処理を実行して顔領域が検出されるか否かを判断する。カメラＣＰＵ１０１は、撮像画像に人物の顔が含まれていると判断した場合は処理をＳ６０３に移し、含まれていないと判断した場合は撮像画像をカメラ表示部１０７に表示させた後、処理をＳ６０５に移す。
【００６８】
Ｓ６０３で、カメラＣＰＵ１０１は、撮像画像に含まれる全ての人物の顔について、顔認証処理を実行して、人物名を特定する。具体的にはカメラＣＰＵ１０１は、撮像画像に含まれる人物の顔を１つずつ選択し、該顔領域の画像について顔認証処理を実行する。
【００６９】
（顔認証処理）
ここで、本実施形態のデジタルカメラ１００で実行される顔認証処理について、図７のフローチャートを用いて詳細を説明する。
【００７０】
Ｓ７０１で、カメラＣＰＵ１０１は、１つの顔画像（対象顔画像）について顔領域の特徴量を取得する。
【００７１】
Ｓ７０２で、カメラＣＰＵ１０１は、カメラ記録媒体１０６に記録されている顔辞書から、まだ選択されていない１つの顔辞書を選択する。そしてカメラＣＰＵ１０１は、Ｓ７０１で取得した対象顔画像の特徴量と、選択した顔辞書に含まれる顔画像の特徴量の各々とについて類似度を算出する。
【００７２】
Ｓ７０３で、カメラＣＰＵ１０１は、Ｓ７０２で算出した類似度の合計値が所定値以上であるか否かを判断する。カメラＣＰＵ１０１は、類似度の合計値が所定値以上であると判断した場合は処理をＳ７０４に移し、所定値未満であると判断した場合は処理をＳ７０５に移す。
【００７３】
Ｓ７０４で、カメラＣＰＵ１０１は、現在選択している顔辞書を示す情報を、顔認証結果としてカメラ一次記憶部１０３に格納し、本顔認証処理を完了する。
【００７４】
一方、Ｓ７０３で類似度の合計値が所定値未満であると判断した場合、カメラＣＰＵ１０１はＳ７０５で、まだ選択されていない顔辞書がカメラ記録媒体１０６に存在するか否かを判断する。カメラＣＰＵ１０１は、まだ選択されていない顔辞書がカメラ記録媒体１０６に存在すると判断した場合は処理をＳ７０２に戻し、全ての顔辞書を選択したと判断した場合は処理をＳ７０６に移す。
【００７５】
Ｓ７０６で、カメラＣＰＵ１０１は、顔認証ができなかったことを示す情報を、顔認証結果としてカメラ一次記憶部１０３に格納し、本顔認証処理を完了する。
【００７６】
このようにして顔認証処理を実行した後、カメラＣＰＵ１０１は処理をＳ６０４に移す。
【００７７】
Ｓ６０４で、カメラＣＰＵ１０１は、撮像画像をビューファインダであるカメラ表示部１０７に表示する。このときカメラＣＰＵ１０１は、カメラ一次記憶部１０３に格納されている顔認証結果を参照し、該顔認証結果によってカメラ表示部１０７の表示内容を異ならせる。具体的にはカメラＣＰＵ１０１は、顔認証結果として顔辞書を示す情報が格納されている場合は、対応する人物の顔領域の周辺に該顔辞書に含まれるニックネーム４０２の人物名の文字列画像を重畳してカメラ表示部１０７に表示させる。またカメラＣＰＵ１０１は、顔認証結果として顔認証ができなかったことを示す情報が格納されている場合は、撮像画像をそのままカメラ表示部１０７に表示させる。
【００７８】
Ｓ６０５で、カメラＣＰＵ１０１は、撮像画像の記録指示がなされたか否かを判断する。具体的にはカメラＣＰＵ１０１は、記録指示に対応する制御信号をカメラ操作部１０９から受信したか否かを判断する。カメラＣＰＵ１０１は、撮像画像の記録指示がなされたと判断した場合は処理をＳ６０６に移し、なされていないと判断した場合は処理をＳ６０１に戻す。
【００７９】
Ｓ６０６で、カメラＣＰＵ１０１は、Ｓ６０１と同様に新たな撮像画像を取得し、記録用の画像としてカメラ一次記憶部１０３に格納する。
【００８０】
Ｓ６０７で、カメラＣＰＵ１０１は、Ｓ６０２と同様に記録用の画像に人物の顔が含まれているか否かを判断する。カメラＣＰＵ１０１は、記録用の画像に人物の顔が含まれていると判断した場合は処理をＳ６０８に移し、含まれていないと判断した場合は処理をＳ６１０に移す。
【００８１】
Ｓ６０８で、カメラＣＰＵ１０１は、記録用の画像に含まれる全ての人物の顔について顔認証処理を実行し、各々の顔に対応する人物名を特定する。
【００８２】
Ｓ６０９で、カメラＣＰＵ１０１は、記録用の画像に含まれる顔の各々についての顔認証結果を参照し、顔辞書を示す情報が格納されている場合は該顔辞書に含まれる人物名をメタデータとして含め、記録用の画像を画像ファイルとしてカメラ記録媒体１０６に記録する。
【００８３】
このときカメラＣＰＵ１０１は、顔認証結果として格納された顔辞書のニックネーム４０２及びフルネーム４０３の各フィールドに人物名が入力されているか否かを判断する。そして各フィールドに人物名が入力されている場合は、カメラＣＰＵ１０１は該フィールドの情報をメタデータとして含めて画像ファイルの記録を行う。即ち、撮像画像の記録指示がなされた場合、カメラＣＰＵ１０１は、該画像に含まれる人物の顔認証結果に対応する顔辞書について、含まれる全ての人物名の情報を画像に関連付けて記録する。
【００８４】
またＳ６０７で記録用の画像に人物の顔が含まれていないと判断した場合、カメラＣＰＵ１０１はＳ６１０で、メタデータに人物名を含めず記録用の画像を画像ファイルとして記録する。
【００８５】
このように本実施形態のデジタルカメラ１００では、記録する撮像画像について行なった顔認証処理の結果、特定された人物についての顔辞書に第２の人物名が含まれている場合は、該人物名を関連付けて記録することができる。
【００８６】
＜人物画像検索処理＞
次に、本実施形態のＰＣ２００の、対象人物が含まれる画像を検索する人物画像検索処理について、図８のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ２０１が、例えば二次記憶部２０２に記憶されている対応する処理プロググラムを読み出し、一次記憶部２０３に展開して実行することにより実現できる。なお、本人物画像検索処理は、ＰＣ２００において起動されている画像閲覧アプリケーションにおいて、ユーザにより画像の人物名検索がなされた際に開始されるものとして説明する。
【００８７】
本実施形態では、画像閲覧アプリケーションにおける人物名検索方法として、二次記憶部２０２に記憶されている全ての顔辞書に含まれる人物名の一覧の中から、ユーザにより選択された人物名について検索を行う方法について説明する。
【００８８】
Ｓ８０１で、ＣＰＵ２０１は、ユーザにより選択された人物名に対応する顔辞書を取得する。具体的にはＣＰＵ２０１は、二次記憶部２０２に記憶されている顔辞書の全てについて、ニックネーム４０２、フルネーム４０３、及び顔詳細情報４０４の各フィールドを参照し、選択された人物名が含まれる顔辞書（対象顔辞書）を取得する。
【００８９】
Ｓ８０２で、ＣＰＵ２０１は、二次記憶部２０２に記憶されている画像のうち、まだ選択されていない画像（選択画像）を選択する。
【００９０】
Ｓ８０３で、ＣＰＵ２０１は、選択画像のメタデータを参照し、人物の人物名が含まれているか否かを判断する。ＣＰＵ２０１は、選択画像のメタデータに人物名が含まれていると判断した場合は処理をＳ８０４に移し、含まれていないと判断した場合は処理をＳ８０７に移す。
【００９１】
Ｓ８０４で、ＣＰＵ２０１は、選択画像のメタデータに含まれる人物名と、対象顔辞書のニックネーム４０２及びフルネーム４０３に含まれる人物名とが一致するか否かを判断する。ＣＰＵ２０１は、選択画像のメタデータに含まれる人物名が、対象顔辞書に含まれるニックネームあるいはフルネームと一致すると判断した場合は処理をＳ８０５に移し、両方とも一致しないと判断した場合は処理をＳ８０６に移す。
【００９２】
Ｓ８０５で、ＣＰＵ２０１は、選択画像を対象の人物の顔が含まれている画像として、画像閲覧アプリケーションのＧＵＩにおける、「検索結果（確定）」のエリアの一覧表示リストに追加してカメラ表示部１０７に表示させる。
【００９３】
Ｓ８０６で、ＣＰＵ２０１は、二次記憶部２０２にまだ選択されていない画像が存在するか否かを判断する。ＣＰＵ２０１は、まだ選択されていない画像が存在すると判断した場合は処理をＳ８０２に戻し、存在しないと判断した場合は本人物画像検索処理を完了する。
【００９４】
一方、Ｓ８０３で、選択画像のメタデータに人物名が含まれていないと判断した場合、ＣＰＵ２０１はＳ８０７で、選択画像に人物の顔が含まれているか否かを判断する。具体的にはＣＰＵ２０１は、選択画像に対して顔検出処理を実行して顔領域が検出されるか否かを判断する。ＣＰＵ２０１は、選択画像に人物の顔が含まれていると判断した場合は処理をＳ８０８に移し、含まれていないと判断した場合は処理をＳ８０６に移す。
【００９５】
Ｓ８０８で、ＣＰＵ２０１は、選択画像に含まれる全ての人物の顔について、対象顔辞書に含まれる顔画像との類似度を算出する。具体的にはＣＰＵ２０１はまず、選択画像に含まれる全ての人物の顔の各々について顔領域の特徴量を取得する。そしてＣＰＵ２０１は、対象顔辞書に含まれる顔画像情報を１つずつ読み出し、該顔画像情報に含まれる特徴量と、選択画像について含まれる顔領域の特徴量との類似度を算出する。
【００９６】
Ｓ８０９で、ＣＰＵ２０１は、Ｓ８０８で算出した類似度の合計値が所定値以上であるか否かを判断する。ＣＰＵ２０１は、類似度の合計値が所定値以上であると判断した場合は処理をＳ８１０に移し、所定値未満であると判断した場合は処理をＳ８０６に移す。
【００９７】
Ｓ８１０で、ＣＰＵ２０１は、選択画像を対象の人物の顔が含まれていると思われる画像として、画像閲覧アプリケーションのＧＵＩにおける、「検索結果（候補）」のエリアの一覧表示リストに追加してカメラ表示部１０７に表示させる。
【００９８】
このように、本実施形態のＰＣ２００の画像閲覧アプリケーションでは、人物名による画像検索を行なった場合に、該人物名が関連付けられている画像と、該人物名に対応する人物が含まれると思われる画像とを、分類して表示することができる。
【００９９】
なお、本人物画像検索処理により、「検索結果（候補）」のエリアに分類された画像については、ユーザに、本当に対象の人物の顔が含まれるか否かを判断させるため、例えば○や×等のボタンを一緒に表示する。例えば○を選択することで、候補ではなく、その人物として確定することが出来るようにし、×を選択することで、その人物ではないことを確定する操作を実現する。確かにその人物であるとの操作を受け付けた場合には、その画像のメタデータに、対象の人物の人物名を記録するとよい。また、ＣＰＵ２０１は、検索結果（候補）の一覧表示リストに含まれる画像について、ユーザによる対象の人物の顔が含まれない画像の削除が行われた後、残りの画像に対して対象顔辞書に含まれる全ての人物名をメタデータに含めてもよい。
【０１００】
画像のメタデータに顔辞書に含まれる人物名を記録した後は、今後その同一人物での検索を行った場合には、「検索結果（確定）」のエリアに表示されることとなる。
【０１０１】
＜接続時処理＞
次に、本実施形態のＰＣ２００の、デジタルカメラ１００とＰＣ２００との間で顔辞書を共有する接続時処理について、図９のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ２０１が、例えば二次記憶部２０２に記憶されている対応する処理プロググラムを読み出し、一次記憶部２０３に展開して実行することにより実現できる。なお、本接続時処理は、例えばＰＣ２００において画像閲覧アプリケーションが起動されている状態でデジタルカメラ１００とＰＣ２００とが接続された際に開始されるものとして説明する。
【０１０２】
Ｓ９０１で、ＣＰＵ２０１は、通信部２０５を介してデジタルカメラ１００のカメラ記録媒体１０６に記録されている全ての顔辞書を取得し、一次記憶部２０３に記憶する。
【０１０３】
Ｓ９０２で、ＣＰＵ２０１は、Ｓ９０１で一次記憶部２０３に記憶した顔辞書のうち、まだ選択していない顔辞書（対象顔辞書）を選択する。
【０１０４】
Ｓ９０３で、ＣＰＵ２０１は、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に記憶されているか否かを判断する。
【０１０５】
（同一顔辞書判断処理）
ここで、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に存在するか否かを判断する、本実施形態の同一顔辞書判断処理について図１０のフローチャートを用いて詳細に説明する。
【０１０６】
Ｓ１００１で、ＣＰＵ２０１は、対象顔辞書のニックネーム４０２及びフルネーム４０３のフィールドの情報を取得する。
【０１０７】
Ｓ１００２で、ＣＰＵ２０１は、対象顔辞書と同一のニックネーム４０２及びフルネーム４０３を有する顔辞書が二次記憶部２０２に存在するか否かを判断する。ＣＰＵ２０１は、対象顔辞書と同一のニックネーム４０２及びフルネーム４０３を有する顔辞書が二次記憶部２０２に存在すると判断した場合は処理をＳ１００３に移し、存在しないと判断した場合は処理をＳ１００４に移す。
【０１０８】
Ｓ１００３で、ＣＰＵ２０１は、対象顔辞書と同一のニックネーム４０２及びフルネーム４０３を有する顔辞書を示す情報を、判断結果として一次記憶部２０３に格納し、本同一顔辞書判断処理を完了する。
【０１０９】
Ｓ１００４で、ＣＰＵ２０１は、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に存在しないことを示す情報を、判断結果として一次記憶部２０３に格納し、本同一顔辞書判断処理を完了する。
【０１１０】
ＣＰＵ２０１は、同一顔辞書判断処理を実行した結果得られた判断結果を参照し、該判断結果が、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に存在しないことを示す情報であった場合は処理をＳ９０４に移す。つまり対象顔辞書は、デジタルカメラ１００で作成後にまだＰＣ２００に転送されていない顔辞書、あるいはＰＣ２００の二次記憶部２０２において削除された顔辞書のいずれかである。
【０１１１】
またＣＰＵ２０１は、該判断結果が特定の顔辞書を示す情報であった場合は、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に記憶されていると判断して処理をＳ９０８に移す。
【０１１２】
Ｓ９０４で、ＣＰＵ２０１は、対象顔辞書のフルネーム４０３が空データ（初期データ）であるか否かを判断する。ＣＰＵ２０１は、対象顔辞書のフルネーム４０３が空データであると判断した場合は処理をＳ９０５に移し、何らかのデータが入力されていると判断した場合は処理をＳ９０７に移す。
【０１１３】
Ｓ９０５で、ＣＰＵ２０１は、対象顔辞書についてフルネームの入力を受け付ける。具体的にはＣＰＵ２０１は、フルネームの入力を受け付けるＧＵＩデータを用いて生成した画面を表示部２０４に表示させる。そしてＣＰＵ２０１は、ユーザによるフルネームの入力が完了したことを示す制御信号を操作部２０６から受信するまで待機する。ＣＰＵ２０１は、操作部２０６からフルネームの入力が完了したことを示す制御信号を受信すると、入力されたフルネームを取得し、対象顔辞書のフルネーム４０３のフィールドに書き込む。またこのとき、ＣＰＵ２０１は、現在の日時を取得し、対象顔辞書の更新日時４０１のフィールドに書き込む。
【０１１４】
Ｓ９０６で、ＣＰＵ２０１は、フルネームを書き込んだ対象顔辞書を、通信部２０５を介してカメラ記録媒体１０６に記録する。このとき、ＣＰＵ２０１はカメラ記録媒体１０６に存在していたフルネームを有さない対象顔辞書を更新、あるいは削除して新規に記録する。即ち、本ステップにより、デジタルカメラ１００で作成された顔辞書は、ユーザにより設定されたフルネームが追加された状態となる。このため、以降デジタルカメラ１００で記録される撮像画像のうち、対象顔辞書が示す人物の顔が含まれる撮像画像には、ニックネームに加えて、フルネームを関連付けることができる。
【０１１５】
Ｓ９０７で、ＣＰＵ２０１は、対象顔辞書を一次記憶部２０３から二次記憶部２０２に移動して記憶させる。つまり本ステップにより、デジタルカメラ１００で作成された顔辞書は、フルネームを書き込んだ上で画像閲覧アプリケーションが管理する顔辞書として二次記憶部２０２に記憶される。
【０１１６】
一方、Ｓ９０３で対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に記憶されていると判断された場合、ＣＰＵ２０１はＳ９０８で、同一顔辞書判断処理により特定された対応する顔辞書と対象顔辞書の更新日時４０１を比較する。このとき、対象顔辞書の更新日時の方が新しい場合、ＣＰＵ２０１は対象顔辞書を用いて二次記憶部２０２に記憶されている対応する顔辞書を更新する。また対応する顔辞書の更新日時の方が新しい場合、ＣＰＵ２０１は対応する顔辞書を通信部２０５を介してカメラ記録媒体１０６に転送し、カメラ記録媒体１０６に記録されている対象顔辞書を更新する。
【０１１７】
Ｓ９０９で、ＣＰＵ２０１は、また対象顔辞書として選択されていない顔辞書が一次記憶部２０３に存在するか否かを判断する。ＣＰＵ２０１は、まだ選択されていない顔辞書が一次記憶部２０３に存在すると判断した場合は処理をＳ９０２に戻し、存在しないと判断した場合は処理をＳ９１０に移す。
【０１１８】
Ｓ９１０で、ＣＰＵ２０１は、デジタルカメラ１００のカメラ記録媒体１０６には存在せず、ＰＣ２００の二次記憶部２０２にのみ存在する顔辞書があるか否かを判断する。具体的にはＣＰＵ２０１は、Ｓ９０１でデジタルカメラ１００のカメラ記録媒体１０６から取得した全ての顔辞書について同一顔辞書判断処理を実行した結果、対応する顔辞書として選択されなかった顔辞書が存在するか否かを判断する。ＣＰＵ２０１は、ＰＣ２００の二次記憶部２０２にのみ存在する顔辞書があると判断した場合は処理をＳ９１１に移し、ないと判断した場合は本接続時処理を完了する。
【０１１９】
Ｓ９１１で、ＣＰＵ２０１は、二次記憶部２０２にのみ存在する顔辞書のうち、まだ選択していない顔辞書を対象顔辞書として選択する。
【０１２０】
Ｓ９１２で、ＣＰＵ２０１は、対象顔辞書のニックネーム４０２が空データであるか否かを判断する。ＣＰＵ２０１は、対象顔辞書のニックネーム４０２が空データであると判断した場合は処理をＳ９１３に移し、何らかのデータが入力されていると判断した場合は処理をＳ９１４に移す。
【０１２１】
Ｓ９１３で、ＣＰＵ２０１は、対象顔辞書についてニックネームの入力を受け付ける。具体的にはＣＰＵ２０１は、ニックネームの入力を受け付けるＧＵＩデータを用いて生成した画面を表示部２０４に表示させる。そしてＣＰＵ２０１は、ユーザによるニックネームの入力が完了したことを示す制御信号を操作部２０６から受信するまで待機する。ＣＰＵ２０１は、操作部２０６からニックネームの入力が完了したことを示す制御信号を受信すると、入力されたニックネームを取得し、対象顔辞書のニックネーム４０２のフィールドに書き込む。またこのとき、ＣＰＵ２０１は、現在の日時を取得し、対象顔辞書の更新日時４０１のフィールドに書き込む。
【０１２２】
Ｓ９１４で、ＣＰＵ２０１は、対象顔辞書を通信部２０５を介して転送し、デジタルカメラ１００のカメラ記録媒体１０６に記録する。つまり本ステップにより、ＰＣ２００で作成された顔辞書は、ニックネームを含む状態で、顔認証処理に用いる顔辞書としてデジタルカメラ１００のカメラ記録媒体１０６に記録される。
【０１２３】
Ｓ９１５で、ＣＰＵ２０１は、まだ対象顔辞書として選択されていない、二次記憶部２０２にのみ存在する顔辞書があるか否かを判断する。ＣＰＵ２０１は、まだ対象顔辞書として選択されていない、二次記憶部２０２にのみ存在する顔辞書があると判断した場合は処理をＳ９１１に戻し、ないと判断した場合は本接続時処理を完了する。
【０１２４】
このようにすることで、デジタルカメラ１００とＰＣ２００とを接続した際に、各々の機器にしか記録されていない顔辞書を共有するとともに、互いの顔辞書を最新の状態に更新することができる。
【０１２５】
以上説明したように、本実施形態の撮像装置は、ユーザの視認性を確保した顔認証結果の表示、及び柔軟な人物名検索に対応する画像の記録の少なくともいずれかを解決することができる。具体的には撮像装置は、撮像装置において入力及び表示が可能な第１の文字コードに対応した第１の人物名と、第１の文字コードとは異なる第２の文字コードに対応した第２の人物名とを各々が有する、登録された各人物についての顔認証用データを使用して顔認証処理を行う。撮像装置は、作成する顔認証用データに含める顔画像を取得すると、取得された顔画像に対応する第１の人物名の入力を受け付け、顔画像あるいは該顔画像の特徴量と第１の人物名とを関連付けて顔認証用データを生成して記憶する。また撮像装置は、撮像された撮像画像に対して、記憶された顔認証用データを使用して顔認証処理を行い、該撮像画像に含まれる人物を特定した人物に対応する第１の人物名を、撮像画像に関連付けて記録する。このとき撮像装置は、特定された人物に対応する顔認証用データに第２の人物名が関連付けられている場合に、該第２の人物名を撮像画像に関連付けて記録する。
【０１２６】
［変形例１］
上述した実施形態では、同一顔辞書判断処理において、対象顔辞書が示す人物についての顔辞書が二次記憶部２０２に記憶されているか否かを、顔辞書が有するニックネーム及びフルネームの両方が一致するか否かによって判断するものとして説明した。しかしながら、この方法はニックネーム及びフルネームが同一である同姓同名の人物がいた場合には、顔辞書が同一の人物に関するものであると誤認識、あるいは異なる人物の顔辞書で更新を行なってしまうことが考えられる。本変形例では、ニックネーム及びフルネームが同一である同姓同名の人物がいた場合にも対応可能な同一顔辞書判断処理について説明する。
【０１２７】
＜同一顔辞書判断処理＞
以下、図１１のフローチャートを用いて、本変形例の同一顔辞書判断処理について説明する。なお、本変形例の同一顔辞書判断処理において、上述した実施形態と同一の処理を行うステップについては同一の参照符号を付して説明を省略し、本変形例に特徴的な処理を行うステップの説明に留める。
【０１２８】
Ｓ１００２において対象顔辞書と同一のニックネーム４０２及びフルネーム４０３を有する顔辞書が二次記憶部２０２に存在すると判断した場合、ＣＰＵ２０１は処理をＳ１１０１に移す。
【０１２９】
Ｓ１１０１で、ＣＰＵ２０１は、対象顔辞書に含まれる全ての顔画像の特徴量と、同一のニックネーム４０２及びフルネーム４０３を有する顔辞書に含まれる全ての顔画像の特徴量との類似度を算出する。
【０１３０】
Ｓ１１０２で、ＣＰＵ２０１は、Ｓ１１０１で算出した類似度の合計値が所定値以上であるか否かを判断する。ＣＰＵ２０１は、類似度の合計値が所定値以上であると判断した場合は処理をＳ１００３に移し、所定値未満であると判断した場合は処理をＳ１００４に移す。
【０１３１】
このようにすることで、同姓同名の人物についての顔辞書が存在した場合であっても、該顔辞書を更新によって消失することなく、顔辞書の管理を行うことができる。
【０１３２】
［変形例２］
また上述した実施形態や変形例１では、顔辞書には第１の人物名であるニックネームと第２の人物名であるフルネームとが、それぞれ１種類ずつ含まれるものとして説明した。しかしながら、自由度の高い、人物名での画像検索を実現するために、第２の人物名は複数であってもよい。この場合、接続時処理においてデジタルカメラ１００及びＰＣ２００に記録されている同一の人物についての顔辞書を、更新日時に応じていずれかの顔辞書で更新した場合に、第２の人物名が消失してしまう可能性がある。
【０１３３】
例えば同一の人物についての顔辞書をデジタルカメラ１００とＰＣ２００とで共有したのち、ＰＣ２００においてＰＣ側の顔辞書について第２の人物名の追加がなされた後、デジタルカメラ１００においてカメラ側の顔辞書に新たな顔画像が追加された場合を考える。このとき、更新日時が新しい顔辞書はカメラ側の顔辞書となるため、デジタルカメラ１００とＰＣ２００とが接続された際、ＣＰＵ２０１は、カメラ側の顔辞書でＰＣ側の顔辞書を更新する。このとき、ＰＣ側の顔辞書に追加された第２の人物名は更新により消失する。
【０１３４】
本変形例では、顔辞書に複数のフルネームが含められる場合について、接続時処理で行う人物名マージ処理について説明する。
【０１３５】
＜人物名マージ処理＞
以下、図１２のフローチャートを用いて、本変形例の人物名マージ処理について説明する。なお、本人物名マージ処理は、例えば接続時処理のＳ９０８において顔辞書の更新がなされる前の、更新日時の比較時に実行されるものとする。
【０１３６】
Ｓ１２０１で、ＣＰＵ２０１で、同一顔辞書判断処理により特定された対応する顔辞書と対象顔辞書の更新日時４０１を比較し、更新日時が新しい方の顔辞書（更新顔辞書）を特定する。
【０１３７】
Ｓ１２０２で、ＣＰＵ２０１は、更新日時が古い方の顔辞書（被更新顔辞書）に含まれていて、更新顔辞書に含まれない第２の人物名が含まれているか否かを判断する。具体的にはＣＰＵ２０１は、更新顔辞書のフルネーム４０３と被更新顔辞書のフルネーム４０３を比較し、更新顔辞書に含まれない第２の人物名が含まれているか否かを判断する。ＣＰＵ２０１は、被更新顔辞書に更新顔辞書に含まれない第２の人物名が含まれていると判断した場合は処理をＳ１２０３に移し、含まれていないと判断した場合は本人物名マージ処理を完了する。
【０１３８】
Ｓ１２０３で、ＣＰＵ２０１は、被更新顔辞書に含まれる、更新顔辞書に含まれない第２の人物名を取得し、更新顔辞書のフルネーム４０３のフィールドに書き込む。またこのとき、ＣＰＵ２０１は、現在の日時を取得し、更新顔辞書の更新日時４０１のフィールドに書き込む。
【０１３９】
このようにすることで、顔辞書に複数の第２の人物名が含められる場合であっても、第２の人物名の消失を発生させずに顔辞書の更新を行うことができる。
【０１４０】
なお、本変形例では被更新顔辞書が更新顔辞書に含まれない第２の人物名を有する場合について説明するが、第１の人物名についても同様にしてもよい。この場合、同一顔辞書判断処理においては、デジタルカメラ１００とＰＣ２００とに同一の人物の顔辞書が記録されていることは、第１の人物名及び第２の人物名の少なくともいずれかが一致するかにより判断するものとする。
【０１４１】
［変形例３］
上述した接続時処理では、顔辞書はＰＣ２００に接続された撮像装置に対して、ＣＰＵ２０１は該撮像装置が有していない顔辞書を転送するものとして説明した。しかしながら、他人の所有する撮像装置がＰＣ２００に接続された場合等、顔辞書やそれに含まれる顔画像を他人の撮像装置に転送することは、ユーザによっては好ましく思わないことが考えられる。
【０１４２】
このためＣＰＵ２０１は、顔辞書にはＰＣ２００に保存する前に、該顔辞書を作成した撮像装置以外の撮像装置への転送を許可するか否かをユーザに問い合わせてもよい。転送を許可するか否かの情報は、例えば二次記憶部２０２に記録される顔辞書について関連付けられればよい。この場合、例えば顔辞書を作成した撮像装置の情報として、該撮像装置のＵＳＢ  ＩＤ（ベンダＩＤ及びプロダクトＩＤ）がともに関連付けられればよい。
【０１４３】
［変形例４］
また、ユーザの視認性を確保した顔認証結果の表示、及び柔軟な人物名検索に対応する画像の記録は、上述した実施形態及び変形例以外にも実現可能である。例えば、単に顔認証結果の表示に用いるとして登録する第１の人物名については最大データ長（第１の最大データ長）を制限し、人物名での自由度の高い検索を目的とした第２の人物名については第１の最大データ長よりも長い第２の最大データ長を設定することでも達成できる。
【０１４４】
［その他の実施形態］
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【０１４５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005868164.tif 000002
【図２】
0005868164.tif 000003
【図３】
0005868164.tif 000004
【図４】
0005868164.tif 000005
【図５】
0005868164.tif 000006
【図６】
0005868164.tif 000007
【図７】
0005868164.tif 000008
【図８】
0005868164.tif 000009
【図９】
0005868164.tif 000010
【図１０】
0005868164.tif 000011
【図１１】
0005868164.tif 000012
【図１２】
0005868164.tif 000013