以下、図面を参照しながら、本発明の実施の形態について説明する。
まず、本発明の実施形態に係る撮影装置100の概要構成について説明する。図1は、本発明の実施形態に係る撮影装置100の概要構成の一例を示す模式図である。
図1において、撮影装置100は、いわゆるデジタルカメラ等から成り、撮影用のレンズ101、撮像素子(以下、「CCD」と称する)102、アナログ−デジタルコンバータ(以下、「ADC」と称する)103、画像処理部104、コントローラ110、バッファメモリ111、フラッシュROM112(記憶手段)、インターフェース回路(以下、「I/F回路」と称する)113、カードホルダ114、メモリーカード115(記憶手段)、ディスプレイドライバ116、USBドライバ118、および操作部120を備える。
レンズ101は、対物レンズ、ズームレンズ、およびフォーカスレンズなどで構成される。ズームレンズおよびフォーカスレンズについては、不図示の駆動機構により光軸方向へ駆動される。CCD102は、レンズ101を介して入射される光学画像を結像し、電気信号(アナログ信号)に変換して出力するCCDイメージセンサで構成される。ADC103は、CCD102から出力される電気信号(アナログ信号)をデジタル信号に変換する機能を有する。
画像処理部104は、前処理部105、YC処理部106、電子ズーム処理部107、圧縮部108、および伸長部109を備え、ADC103から出力されるデジタル信号から画像データを生成し、各種画像処理を行う機能を有する。
前処理部105は、入力される画像データに基づく画像のホワイトバランスを調整するホワイトバランス処理や画像のガンマ補正処理を行う機能を有する。ホワイトバランス処理は、画像の色合いを、実物の色合いに近くなるように調整したり、光源(蛍光灯や太陽光など)に合った適正な色に調整したりする処理である。ガンマ補正処理は、画像のコントラストを調整する処理である。なお、前処理部105は、ホワイトバランス処理およびガンマ補正処理以外の画像処理を実行することも可能である。
YC処理部106は、入力される画像データに基づく画像を、輝度情報「Y」と、輝度信号と青色の色差情報「Cb」と、輝度信号と赤色の色差情報「Cr」とに分離する機能を有する。電子ズーム処理部107は、画像の一部(例えば中央部)を所定の大きさでトリミングし、トリミングした画像を信号処理で元画像の大きさに拡大する機能を有する。電子ズーム処理部107は、例えば、撮影された1600×1200ドットの画像から中央の1024×768ドットの画像を切り出し、データ補間を行いながら1600×1200ドットのサイズに拡大することができる。
圧縮部108は、画像データをJPEG(Joint Photographic Expert Group)方式などの圧縮形式によって圧縮する機能を有する。伸長部109は、圧縮されている画像データを伸長する機能を有する。例えば、画像データをJPEG方式で圧縮する場合、まず、画像データの高周波成分と低周波成分の割合を数値化する離散コサイン変換処理が行われる(DCT処理)。次に、画像の階調やグラデーションを表現する段階を数値(量子化ビット数)で表現する量子化処理が行われる。最後に、ハフマン符号化処理で画像データが圧縮される。具体的には、画像データの信号文字列が一定のビット毎に区切られ、出現頻度が高い文字列に対してより短い符号が与えてられてゆく。なお、圧縮処理を行わないで画像データを記録する方式の場合は、圧縮部108および伸長部109を省略することができる。また、画像データの圧縮形式は、JPEG方式に限らず、GIF(Graphical Interchange Format)形式などであっても、同様に処理を行うことができる。
コントローラ110は、画像処理部104、バッファメモリ111、フラッシュROM112、I/F回路113、ディスプレイドライバ116、USBドライバ118、および操作部120に接続されている。また、コントローラ110は、機能的な構成として、操作部120からの入力信号に応じて各部を動作制御するための制御信号を出力する制御部(不図示)と、ユーザに関する認証を行う認証部(不図示)とを備える。
バッファメモリ111には、画像処理部104において画像処理が行われる際に、一時的に画像データが保存される。フラッシュROM112には、撮影装置100の各種設定情報が保存される。I/F回路113は、コントローラ110から出力される画像データを、メモリーカード115に記録可能なデータ形式に変換する。また、I/F回路113は、メモリーカード115から読み出された画像データ等を、コントローラ110で処理可能なデータ形式に変換する。
カードホルダ114は、記憶媒体であるメモリーカード115を撮影装置100に着脱可能にする機構を備えると共に、メモリーカード115との間でデータ通信が可能な電気接点を備える。また、カードホルダ114は、撮影装置100で利用される記憶媒体の種類に応じた構造を有する。メモリーカード115は、フラッシュメモリなどの半導体記憶素子を内蔵し、カードホルダ114に着脱可能なカード型の記憶媒体である。メモリーカード115には、撮影装置100で撮影された画像データを記録することができる。尚、本実施例では撮影装置100のみの構成として説明をするが、撮影装置100と通信可能な情報処理装置等に備えられた記憶手段をメモリーカード115の代わりとしてもよい。撮影装置100と情報処理装置との通信方法は特に問わない。有線でも無線でもよい。この場合、撮影装置100が通信インターフェースコントローラを備え、通信インターフェースコントローラを通じて情報処理装置と通信する。
ディスプレイドライバ116は、コントローラ110から出力される画像データを液晶ディスプレイ117で表示可能な信号に変換する。具体的には、ディスプレイドライバ116は、コントローラ110から出力されるデジタルの画像データをアナログ画像信号に変換する処理を行い、次に画像サイズを液晶ディスプレイ117の表示可能エリアのサイズに適したサイズに変換する処理を行う。
操作部120は、電源スイッチ121、モードダイヤル122、撮影ボタン123、カーソルキー124、ズームボタン125、および閲覧(再生)ボタン126を備え、ユーザからの操作入力を受け付けて、操作内容に応じた信号をコントローラ110に出力する。なお、操作部120には、図示の操作ボタン以外の操作ボタン類も含まれるが、それらの説明は省略する。
モードダイヤル122は、撮影動作のモードを切り替えるための回転可能なダイヤルである。ユーザはモードダイヤル122を回転操作することで、メモリーカード115に保存された画像データに対してアクセス制限を行うことが可能な管理者モードや管理者モード以外の撮影動作モードを含む複数の撮影動作モードを選択することが可能である。
管理者モード以外の撮影動作モードとは、例えば、予め撮影装置100が保持している撮影設定(ホワイトバランスやシャッタースピード等)をユーザに選択しやすく表したAutoモードや夜景モード、或いはユーザが任意に撮影設定を設定することができるマニュアルモードなどである。
閲覧ボタン126は、撮影した画像データを閲覧する閲覧モード(画像再生モード)に切り替えるためのボタンである。閲覧ボタン126が押下されると、撮影モードから閲覧モードに移行する。なお、閲覧モードへの切替方法については、閲覧ボタン126の押下に限定されず、液晶ディスプレイ117上のタッチパネル(不図示)などによる移行方法であってもよい。
閲覧モードでは、コントローラ110が、I/F回路113を介して、カードホルダ114に装着されているメモリーカード115から設定情報と画像データを読み出す。設定情報は、現在装着されているメモリーカード115に記録されている画像の枚数および記録されている画像データの容量などである。読み出される画像データは、例えば、画像1枚分の画像データまたはサムネイルデータである。なお、メモリーカード115から読み出される画像データは、上述したように所定の圧縮形式で圧縮されている。
メモリーカード115から読み出された画像データは、I/F回路113およびコントローラ110を介して、ディスプレイドライバ116へ入力される。ディスプレイドライバ116は、入力された画像データを液晶ディスプレイ117に表示させる。
カーソルキー124は、ユーザが撮影装置に対する所定の指示や機能選択を行うためのキーである。ユーザは、カーソルキー124により、撮影装置100に対する各種設定情報やユーザ認証情報などの操作入力を行うことができる。また、カーソルキー124により、液晶ディスプレイ117にメニュー画面を表示させたり、撮影装置100が有する所定の機能を選択させたりすることができる。
次に、撮影装置100における撮影動作について図1を用いて説明する。
まず、ユーザが電源スイッチ121を操作し、撮影装置100の電源をオンにする。すると、撮影装置100に内蔵されているバッテリー(不図示)から各回路へ電源供給されて、撮影装置100の起動処理(レンズバリアを開く動作制御およびマイクロコンピューターのリセット処理など)が行われる。撮影装置100は、電源OFF時に電源スイッチ121が押下されると電源ONとなる。
撮影装置100が撮影モードに移行すると、光学画像がレンズ101を介して撮影装置内へ入射し、CCD102に結像される。CCD102は、入射される光学画像を電気信号に変換して、ADC103へ出力する。ADC103は、入力される電気信号(アナログ信号)をデジタル信号に変換する。ADC103から出力されるデジタル信号は画像処理部104に入力される。
画像処理部104内の前処理部105では、入力されるデジタル信号に基づき画像データを生成し、ホワイトバランス処理およびガンマ補正処理などが行われる。画像処理部104内のYC処理部106では、画像データが輝度信号Yと色差信号CrおよびCbとに分離され、色差信号CrおよびCbの情報量を減らす処理が行われる。色差信号CrおよびCbの情報量の削減処理は、例えば、画像の主走査方向の色情報を間引く「4:2:2ダウンサンプリング処理」や、画像の縦横方向の色情報を間引く「4:1:1ダウンサンプリング処理」などがある。なお、前処理部105およびYC処理部106において画像処理を行う際は、画像データを一時的にバッファメモリ111に保存し、随時バッファメモリ111に保存されている画像データを読み出しながら画像処理が行われる。
画像処理部104から出力される画像データ(非圧縮)はコントローラ110に入力される。コントローラ110は、画像処理部104から出力される画像データを、ディスプレイドライバ116へ出力する。ディスプレイドライバ116は、入力される画像データ(デジタル信号)をアナログ画像信号に変換すると共に、アナログ画像信号に基づく画像のサイズを液晶ディスプレイ117で表示可能なサイズに調整する。また、ディスプレイドライバ116は、液晶ディスプレイ117に画像を表示させるよう制御する。このとき、液晶ディスプレイ117に表示される画像は、CCD102、ADC103、および画像処理部104において、連続的に信号処理されて生成される画像(スルー画像)である。
液晶ディスプレイ117にスルー画像が表示されている状態で、ユーザが希望のタイミングで撮影ボタン123を操作すると、コントローラ110は画像処理部104に制御信号を出力する。画像処理部104に制御信号が入力されると、圧縮部108は、前処理部105およびYC処理部106において画像処理された画像データをバッファメモリ111へ保存し、圧縮処理を行う。具体的には、画像データの高周波成分と低周波成分の割合を数値化する離散コサイン変換処理(DCT処理)や、画像の階調やグラデーションを表現する段階を量子化ビット数で表現する量子化処理や、画像データの信号文字列を一定のビット毎に区切り、出現頻度が高い文字列に対して、より短い符号を与えてゆくハフマン符号化処理などが実行される。圧縮された画像データは、コントローラ110およびディスプレイドライバ116を介して液晶ディスプレイ117に表示される。また、圧縮された画像データは、カードホルダ114を介してメモリーカード115に記録される。
撮影ボタン123が操作される前にズームボタン125が操作されると、コントローラ110は光学ズーム処理や電子ズーム処理を実行し、画像の大きさを拡大または縮小させることができる。そして、ズームボタン125の操作後、撮影ボタン123が操作されると、拡大または縮小された画像の画像データがメモリーカード115へ記録される。尚、画像データはフラッシュROM112に記録されてもよい。
以上が、本発明の実施形態に係る撮影装置100の概要構成についての説明である。
次に、撮影装置100の機能構成の一例について説明する。図2は、図1に示す撮影装置100の機能構成の一例を示す模式図ある。
撮影装置100には、図2に示すように、画像再生部201、顔認識部202、自分撮り対象登録部203、中心画像選択部204、撮影部205、起動部206、終了部207、テーブル記憶部208、及び画像データ記憶部209の各機能構成が構成される。また、テーブル記憶部208には、ユーザ管理テーブル900、グループ管理テーブル1000、管理者テーブル1100、及び顔認識テーブル1700が記憶されている。
ここで、本実施形態においては、図2のテーブル記憶部208が、例えば図2に示すフラッシュROM112に構成されるが、他の形態でもよい。
図9を参照して、図2のテーブル記憶部208に記憶されるユーザ管理テーブル900について説明する。
図9に示すユーザ管理テーブル900は、顔認識No901ごとに、ユーザの名称であるユーザ名称902と、複数ユーザから成るグループを示すユーザ管理グループ903、当該ユーザを中心とするか否かを示す中心画像フラグ904、登録された年月日を示す登録日905、ユーザを識別するための顔画像906が関連付けられている。顔画像906はユーザの顔の画像データでなくとも、当該ユーザの顔を識別できる情報であればよい。本実施例では便宜的に当該ユーザの顔を撮影した画像データを格納しておくこととする。
次に、図10を参照して、図2のテーブル記憶部208に記憶されるグループ管理テーブル1000について説明する。
図10に示すグループ管理テーブル1000は、グループNo1001ごとに、グループの名称であるグループ名称1002と、当該グループに紐づくメンバーが自分撮りで撮影された場合に調整するか否かを示す自分撮りフラグ1003、グループが登録された年月日を示す登録日1004が関連付けられている。
次に、図11を参照して、図2のテーブル記憶部208に記憶される管理者テーブル1100について説明する。
図11に示す管理者テーブル1100は、顔認識No1101と、管理者(管理者ユーザ)の名称である管理者名称1102と、管理者の認証を行うためのパスワード1103と、管理者の登録を行った年月日を示す登録日1104と、当該管理者の顔を識別するための顔画像1105が関連付けられている。顔画像1105は、管理者の顔の画像データでなくとも、当該管理者の顔を識別できる情報であればよい。本実施例では便宜的に当該管理者の顔を撮影した画像データを格納しておくこととする。
次に、図17を参照して、図2のテーブル記憶部208に記憶される顔認識テーブル1700について説明する。
図17に示す顔認識テーブル1700は、画像No1701ごとに、画像データのファイル名1702、撮影装置100の管理者が当該画像データに含まれるか否かを示す管理者有無フラグ1703、当該画像データに含まれるユーザをグループごとに集計した認識ユーザ数1704から構成される。
続いて、画像再生部201、顔認識部202、自分撮り対象登録部203、中心画像選択部204、撮影部205、起動部206、終了部207、及び画像データ記憶部209について説明する。
画像再生部201は、撮影された画像データをメモリーカード115またはフラッシュROM112から読み出し、ディスプレイドライバ116を通じて液晶ディスプレイ117に表示させる機能を有する。
顔認識部202は、メモリーカード115またはフラッシュROM112に記憶された画像データや、撮影された画像データに対して所定の画像処理を行い、人間の顔を認識する機能を有する。
自分撮り対象登録部203は、撮影者自身が被写体となって撮影を行うときに、被写体として写るべきユーザの情報をユーザ管理テーブル900に格納する機能を有する。また、グループを作成する場合に、グループ管理テーブル1000に各種情報を格納する機能を有する。
中心画像選択部204は、連続撮影された画像データのうち、あらかじめ定められたユーザが画像データの中心に配置されており、かつ被写体のユーザのグループメンバーが画像データに収まっているものを選択する。ユーザの操作によっても選択可能である。
撮影部205は、撮影装置100の各種ハードウェアと機能を制御して、被写体を撮影し、画像データとする。撮影動作については前述した通りである。特に本実施例では、自分撮りモードであるときに連続撮影を行う機能を有する。
起動部206は、撮影装置100の電源スイッチ121の押下を検知した場合に、撮影装置100を起動させる機能を有する。
終了部207は、撮影装置100の電源スイッチ121の押下を検知した場合に、撮影装置100の電源を切り、終了させる機能を有する。
画像データ記憶部209は、撮影部205によって撮影された画像データをメモリーカード115やフラッシュROM112に記憶する機能を有する。
以上が、撮影装置100の機能構成の一例についての説明である。
次に、撮影装置100によって実行される本実施例の一連の処理手順について説明する。図3は、図1に示す撮影装置100による本実施例の一連の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS301では、撮影装置100は、ユーザからの操作によって電源スイッチ121の押下を検知すると、撮影装置100の電源を入れて起動する。
ステップS302では、管理者テーブル1100の各項目に情報が格納されているか否かを判定する。つまり、初期設定として当該撮影装置の所有者の情報が登録されているかを確認することになる。格納されていると判定された場合には、ステップS304に処理を進め、そうでない場合には、初期設定をすべく、ステップS303に処理を進める。
ステップS303では、撮影装置100は、管理者の登録を行う。具体的には、管理者の名称とパスワードと管理者の顔画像の登録を受け付ける。管理者の名称とパスワードは、撮影装置100のカーソルキー124等から入力を受け付けて、管理者の顔画像は撮影または記憶されている画像データに基づいて管理者の顔を抽出し、登録する。管理者の名称は、管理者テーブル1100の管理者名称1102に格納し、パスワードはパスワード1103、顔画像は顔画像1105にそれぞれ格納する。そして、顔認識No1101には、「999999」を格納し、登録日1104にはステップS303を実行した年月日を格納する。
ステップS304では、撮影装置100は、管理者モードか否かを判定する。具体的には、撮影装置100に備えられたモードダイヤル122によって、管理者モードが選択されている場合に管理者モードであると判定し、それ以外の場合には管理者モードでないと判定する。管理者モードか否かはこれに限らず、液晶ディスプレイ117において表示されたメニュー画面(不図示)から管理者モードを選択された場合に管理者モードとしてもよいし、他の方法でもよい。管理者モードであると判定された場合には、ステップS305に処理を進め、管理者モードでないと判定された場合には、ステップS314に処理を進める。
以下、ステップS305乃至ステップS313の各ステップは管理者モードにおける処理である。
ステップS304において、管理者モードであると判定された場合に、ステップS305では、撮影装置100は、管理者であるか否かの認証を受け付ける。当該認証はパスワードの入力画面を液晶ディスプレイ117に表示させ、入力を受け付けてもよいし、他の方法でもよい。認証の方法はこれに限らない。
ステップS306では、撮影装置100は、ステップS305において入力を受け付け
たパスワードが正しいか否かを判定する。入力されたパスワードは、ステップS303で格納された管理者テーブル1100のパスワード1103と一致するか否かで認証の正否を判定する。パスワードが正しいと判定された場合には、ステップS307に処理を進め、パスワードが正しくないと判定された場合には、管理者モードの使用を拒否し、管理者モードでない通常モードであるステップS314に処理を進める。
ステップS307では、撮影装置100は、液晶ディスプレイ117に管理者メニュー画面(不図示)を表示させる。本実施例の管理者メニュー画面は、「自分撮り対象撮影登録メニュー」と「自分撮り対象手動登録メニュー」の2つが備えられた画面となっている。
ステップS308では、撮影装置100は、管理者メニュー画面に表示された各種ボタンに対するユーザからの操作を受け付けて、押下されたボタンを判別する。尚、本実施例における液晶ディスプレイ117は、タッチパネルを備えたディスプレイとして説明するが、カーソルキー124からの入力によって選択を受け付けてもよい。液晶ディスプレイ117に表示された各種画面に対する操作はこれに限らない。
ステップS309では、撮影装置100は、管理者メニュー画面に表示された「自分撮り対象撮影登録メニュー」か「自分撮り対象手動登録メニュー」のどちらがステップS308で検知されたのかを判定する。「自分撮り対象撮影登録メニュー」が検知された場合には、ステップS310に処理を進め、「自分撮り対象手動登録メニュー」が検知された場合には、ステップS311に処理を進める。
ステップS310では、撮影装置100は、撮影することにより自分撮りを行うユーザの登録を行う自分撮り対象登録処理を実行する。自分撮り対象登録処理の詳細は、後述する図4に示す。
ステップS311では、撮影装置100は、後述する自分撮りモードを有効にしたいグループを受け付ける。具体的には、グループ管理テーブル1000をテーブル記憶部208から取得し、液晶ディスプレイ117に表示する。表示されたグループ管理テーブル1000のうち、後述する自分撮りモードを有効にしたいグループのレコードに対して、操作者から選択を受け付けると、対応するグループ管理テーブル1000のレコードの自分撮りフラグ1003に「1」を格納する。本実施例では、自分撮りフラグ1003に格納される「1」がONを示し、「0」がOFFを示すものとする。
ステップS312では、撮影装置100は、自分撮りをした場合に中心としたいユーザの登録を受け付ける。具体的には、ユーザ管理テーブル900をテーブル記憶部208から取得し、液晶ディスプレイ117に表示する。表示されたユーザ管理テーブル900のうち、自分撮りをした場合に中心としたいユーザのレコードに対して、操作者から選択を受け付けると、対応するユーザ管理テーブル900のレコードの中心画像フラグ904に「1」を格納する。
ステップS313では、撮影装置100は、撮影装置100を終了するか否かを判定する。具体的には、撮影装置100の電源スイッチ121が押下されたか否かを判定することになる。撮影装置100を終了すると判定した場合には、ステップS318に処理を進め、そうでない場合には、ステップS314に処理を進めて、管理者モードから通常モードに切り替える。
一方、ステップS304において管理者モードではないと判定された場合には、通常モードを立ち上げ、ステップS314では、撮影装置100は、ユーザからの操作を検知する。
ステップS315では、撮影装置100は、ユーザからのモードダイヤル122の操作を受け付けて、自分撮りモードが選択されたか否かを判定する。自分撮りモードが選択されたと判定された場合には、ステップS316に処理を進め、そうでない場合には、ステップS317に処理を進める。
ステップS316では、撮影装置100は、撮影者自身を撮影するモードである自分撮りモードでの撮影を行う。自分撮り撮影処理の詳細は、後述する図5に示す。
ステップS317では、撮影装置100は、撮影装置100を終了するか否かを判定する。具体的には、撮影装置100の電源スイッチ121が押下されたか否かを判定することになる。撮影装置100を終了すると判定した場合には、ステップS318に処理を進め、そうでない場合には、ステップS314に処理を戻す。
ステップS318では、撮影装置100は、撮影装置100の電源を切り、起動を終了する。
次に、撮影装置100によって実行される自分撮り対象登録処理の処理手順について説明する。図4は、図1に示す撮影装置100による自分撮り対象登録処理の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS401では、撮影装置100は、撮影部205により被写体を撮影する。撮影動作については前述の通りである。
ステップS402では、撮影装置100は、ステップS401において撮影された画像データに含まれる顔を識別する。本実施例では、被写体であるユーザの顔を識別することとするが、ユーザが一意に識別できるのであれば、これに限らない。目の網膜認証や虹彩認証でもよいし、この他の特定方法でもよい。
ステップS403では、撮影装置100は、液晶ディスプレイ117に自分撮り対象登録確認画面1200(図12参照)を表示する。自分撮り対象登録確認画面1200では、ステップS401で撮影された画像データを表示し、ステップS402で識別できた顔を顔識別表示1204に示すように識別表示する。そして、ステップS402で識別できた顔を自分撮り対象グループとして登録してよいか否かを示す確認メッセージ1201と、YESボタン1202、NOボタン1203を表示する。
ステップS404では、撮影装置100は、ステップS403で表示されたYESボタン1202が押下されたか否かを判定する。YESボタン1202が押下されたと判定された場合には、ステップS405に処理を進め、NOボタン1203が押下されたと判定された場合には、自分撮り対象登録処理を終了して、呼び出し元に処理を戻す。
ステップS405では、撮影装置100は、ステップS402で認識された顔をテーブル記憶部208に記憶されたユーザ管理テーブル900に登録する。ユーザ管理テーブル900では、新しく顔認識No901を採番し、操作者から入力されたユーザの名前をユーザ名称902に格納する。そして、登録日905に現在の年月日を格納し、顔画像906にはステップS402で認識された顔の顔画像を格納する。顔画像906は、画像でなくともよい。また、顔画像に対するリンクが格納されるような形態でもよい。尚、顔認識の結果、既に登録されている場合は、同一のレコードを更新する。
ステップS406では、撮影装置100は、ステップS402で認識された顔をひとつのグループにして、テーブル記憶部208に記憶されたグループ管理テーブル1000に新規登録する。その際、自分撮りフラグ1003に「1」を格納する。
ステップS407では、撮影装置100は、中心画像選択画面1210(図12参照)を表示する。中心画像選択画面1210は、確認メッセージ1211と、OKボタン1212、キャンセルボタン1213を表示する。
ステップS408では、撮影装置100は、中心画像選択画面1210に表示された顔画像のうち、自分撮りを行った画像データの中心としたい被写体の選択を受け付ける。液晶ディスプレイ117に表示された顔認識結果1214に対して選択がなされると、選択マーク1215が表示される。
ステップS409では、撮影装置100は、ユーザからの操作によってOKボタン1212が押下されたか否かを判定する。OKボタンが押下されたと判定された場合には、ステップS410に処理を進め、キャンセルボタン1213が押下されたと判定された場合には、自分撮り対象登録処理を終了し、呼び出し元に処理を戻す。
ステップS410では、撮影装置100は、ステップS408で選択された顔画像を特定し、該当するユーザ管理テーブル900の中心画像フラグ904に「1」を格納する。ユーザ管理テーブル900の更新が終わったら、自分撮り対象登録処理を終了し、呼び出し元に処理を戻す。
次に、撮影装置100によって実行される自分撮り撮影処理の処理手順について説明する。図5は、図1に示す撮影装置100による自分撮り撮影処理の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS501では、撮影装置100は、ユーザからの操作により撮影ボタン123が半押しされているか否かを判定する。従来からある一般的なデジタルカメラでは、半押しと全押しが可能な仕組みとなっている。1つのボタン押下で2段階の検知ができ、撮影ボタン123を半分押しこむと半押し、すべて押しこむと全押しという判定になる。半押しを行うと、被写体に対するフォーカスの調整や顔認識処理など、撮影を行う上での調整が行われる。全押しを行うと、撮影がされ画像データが生成される。撮影ボタン123が半押しされていると判定された場合には、ステップS502に処理を進め、半押しされていないと判定された場合には、半押しされるまで待機する。
ステップS502では、撮影装置100は、被写体であるユーザの顔を認識する。
ステップS503では、撮影装置100は、ユーザからの操作により撮影ボタン123が全押しされたか否かを判定する。全押しされたと判定された場合には、ステップS504に処理を進め、そうでない場合には、ステップS501に処理を戻す。半押し状態のままであれば、全押しされるまで待機する。
ステップS504では、撮影装置100は、撮影ボタン123が全押し状態の間、複数回連続で撮影を行う(連続撮影手段)。撮影回数はあらかじめ定められていてもよいし、撮影ボタン123の押下が終了するまで撮影を続けてもよい。撮影した複数の画像データは、バッファメモリ111に一時的に記憶する。フラッシュROM112でもメモリーカード115でもよい。
ステップS505では、撮影装置100は、ステップS502で顔認識されたユーザを特定するための処理を行う(ユーザ認識手段)。顔認識処理の詳細は、後述する図6に示す。
ステップS506では、撮影装置100は、ステップS504で連続撮影された画像データのうち、適切な画像データをすべて取得するための処理を行う(画像データ選択手段)。中心グループ選択処理の詳細は、後述する図7に示す。
ステップS507では、撮影装置100は、ステップS506で取得されたすべての画像データを含む保存確認画面1300(図13参照)を表示する。保存確認画面1300では、選択画像表示部1301、保存確認メッセージ1302、OKボタン1303、キャンセルボタン1304、及び連続撮影した画像データのリスト画像1305が表示されている。初期表示ではステップS506で取得された画像データのうちの1枚を選択画像表示部1301に表示する。連続撮影した画像データのリスト画像1305では、保存確認画面1310(図13参照)に示すように、ステップS506で選択された画像データ1306を識別表示する。リスト画像1305で他の画像データが選択された場合、選択画像表示部1301に表示する。その場合、ステップS506で選択された画像データ1306とは異なる識別表示を行う(例えば、画像データ1307のように太枠で囲む)。
尚、複数のユーザが撮影された場合には、保存確認画面1400(図14参照)のような画面が表示される。
ステップS508では、撮影装置100は、ステップS507でユーザが保存したい画像データが選択された状態で、OKボタン1303が押下されたか否かを判定する。OKボタン1303が押下されたと判定された場合には、ステップS509に処理を進め、OKボタン1303が押下されなかったと判定された場合には、ステップS511に処理を進める。
ステップS509では、撮影装置100は、ステップS507でユーザから選択された画像データをメモリーカード115またはフラッシュROM112に保存する。
ステップS510では、撮影装置100は、ステップS504で撮影された複数枚の画像データのうち、ステップS509で保存された画像データ以外の画像データを削除する。必要な画像データだけを保存するような仕組みにすることで、メモリーカード115やフラッシュROM112の容量を削減することができる。
ステップS511では、撮影装置100は、キャンセルボタン1304が押下されたか否かを判定する。キャンセルボタン1304が押下されたと判定された場合には、ステップS512に処理を進め、そうでない場合には、ステップS507に処理を戻す。
ステップS512では、撮影装置100は、画像データの保存を行わないので、ステップS504で撮影されたすべての画像データを削除する。削除を完了したら、ステップS501に処理を戻す。
次に、撮影装置100によって実行される顔認識処理の処理手順について説明する。図6は、図1に示す撮影装置100による顔認識処理の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS601では、撮影装置100は、ステップS504で連続撮影された複数の画像データのうち、1枚の画像データをバッファメモリ111から取得する。本実施例では1枚ずつ取得して、後述するステップS602乃至ステップS608を実行するが、複数枚取得して同時に処理してもよい。
ステップS602では、撮影装置100は、ステップS601で取得した画像データにステップS303で登録した管理者の顔が含まれているか否かを判定する。管理者の顔画像は管理者テーブル1100の顔画像1105に格納されているので、この顔画像1105と、ステップS601で取得した画像データに含まれる顔とを比較することで、管理者の顔が含まれているか否かを確認する。同一の顔であるか否かの確認方法については、従来技術を用いるものとする。管理者の顔が含まれていると判定された場合には、ステップS603に処理を進め、管理者の顔が含まれていないと判定された場合には、ステップS604に処理を進める。
ステップS603では、撮影装置100は、管理者の顔が含まれていると判定されたので、テーブル記憶部208に記憶された顔認識テーブル1700に新しくレコードを作成し、新しく画像No1701に採番し、管理者有無フラグ1703に「1」を格納する。ファイル名1702には、取得している画像データのファイル名を格納する。
ステップS604では、撮影装置100は、ステップS502で認識した顔のすべてユーザのグループを特定し、当該グループのグループ管理テーブル1000の情報を参照する。
ステップS605では、撮影装置100は、ステップS604で参照しているすべてのグループの自分撮りフラグ1003を確認する。
ステップS606では、撮影装置100は、ステップS605で確認した自分撮りフラグ1003に「1」が格納されているか否かを判定する。複数グループのうち、1つでも自分撮りフラグ1003に「1」が格納されていれば、よい。自分撮りフラグ1003に「1」が格納されている場合には、ステップS607に処理を進め、そうでない場合には、ステップS608に処理を進める。
ステップS607では、撮影装置100は、ステップS605における確認の結果、自分撮りフラグ1003に「1」が格納されているグループごとに、当該グループに属するユーザが何人撮影されたかをカウントする。例えば、ステップS601で取得した画像データに、グループNo1001が「SG01」と「SG03」の2つのグループのユーザが含まれていたとする。この場合には、図17に示すように、認識ユーザ数1704に2つのグループの集計項目を設け、各グループに所属するユーザが何人写っているのかをカウントする。図17の顔認識テーブル1700の画像No1701が「0001」のレコードは、「img0001.jpg」という画像データに、「SG01」グループのユーザが2人、「SG03」グループのユーザが1人含まれていることを示している。
ステップS608では、撮影装置100は、ステップS602乃至ステップS607の処理が未処理な画像データが存在するか否かを判定する。未処理の画像データが存在すると判定された場合には、ステップS601に処理を戻し、未処理の画像データが存在しないと判定された場合には、顔認識処理を終了し、呼び出し元に処理を戻す。
次に、撮影装置100によって実行される中心グループ選択処理の処理手順について説明する。図7は、図1に示す撮影装置100による中心グループ選択処理の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS701では、撮影装置100は、ステップS505の顔認識処理の結果、連続撮影した画像データに複数のグループが含まれているか否かを判定する。具体的には、顔認識テーブル1700の認識ユーザ数1704が複数グループあるかどうかで判定する。複数のグループが含まれていると判定した場合には、ステップS704に処理を進め、そうでない場合には、ステップS702に処理を進める。
ステップS702では、撮影装置100は、検知したグループを特定する。そして、ステップS703では、撮影装置100は、保存確認画面1300や保存確認画面1400に初期表示する画像データを選択する処理を行う。その際に、ステップS702で特定されたグループに関して処理を行う。中心画像選択処理の詳細は、後述する図8に示す。
ステップS704では、撮影装置100は、検知した複数グループのうち、画像データに含まれる人数が多いグループを特定する。具体的には、顔認識テーブル1700の認識ユーザ数1704に格納された人数のうち、最も多い人数をグループごとに特定し、当該人数が多い方を後述するステップS705の中心画像選択処理の処理対象とする。必ずしもあらかじめ管理者が作成したグループのユーザだけで自分撮りが行われるというわけではないため、自分撮りした場合にどのグループを中心として撮影するのかを決める必要がある。よって、顔認識テーブル1700の認識ユーザ数1704でグループごとにユーザ数をカウントし、ステップS704で人数の多いグループを処理対象として特定している。
ステップS705では、撮影装置100は、保存確認画面1300や保存確認画面1400に初期表示する画像データを選択する処理を行う。その際に、ステップS704で特定されたグループに関して処理を行う。中心画像選択処理の詳細は、後述する図8に示す。
ステップS706では、撮影装置100は、新グループ作成確認画面1620を表示し、画像データに含まれるユーザを1つのグループとしてまとめるべく、新しくグループの作成を行うか否かの指示を受け付ける。今後もこのユーザのまとまりで撮影されるのであれば、1つのグループとして新しく登録しておいたほうが、より適切な自分撮り画像候補を提示できる。よって、ここで新しくグループを作成するか否かの指示を受け付ける。例えば、図16に示すように、「SG01」と「SG03」のユーザが検知された場合、人数の多い「SG01」を基準に保存確認画面1610のように画像データ1611や画像データ1612を基に中心画像を選択することになる。その後、この3人を1つのグループとして新規登録する。ここで、OKボタン1621が押下されたか否かを判定する。OKボタン1621が押下されたと判定された場合には、ステップS707に処理を進め、キャンセルボタン1622が押下されたと判定された場合には、中心グループ選択処理を終了し、呼び出し元に処理を戻す。
ステップS707では、撮影装置100は、新しいグループを作成し、画像データに含まれるユーザを作成した新しいグループに所属させる(新規グループ登録手段)。具体的には、まずグループ管理テーブル1000に新しくレコードを作成し、新たなグループNo1001を割り振る。ユーザから受け付けたグループ名称をグループ名称1002に格納し、自分撮りフラグ1003に「1」を格納し、登録日1004に現在の年月日を格納する。そして、ユーザ管理テーブル900に格納された情報のうち、画像データに含まれるユーザのユーザ管理グループ903に新しく作成したグループのグループNo1001を追加する。
次に、撮影装置100によって実行される中心画像選択処理の処理手順について説明する。図8は、図1に示す撮影装置100による中心画像選択処理の処理手順の一例を示すフローチャートである。本処理を実行させるためのプログラムはフラッシュROM112に記憶されており、本処理の実行要求を受け付けた場合に、当該プログラムを起動させ、当該プログラムによる制御に従って本処理を実行することになる。
まず、ステップS801では、撮影装置100は、ステップS702またはステップS704において特定されたグループの認識ユーザ数1704が複数いるか否かを判定する。つまり、特定されたグループのユーザで、画像データに含まれるユーザが複数人存在するか否かを判定することになる。複数(2人以上)存在する場合には、ステップS803に処理を進め、1人しか存在しない場合には、ステップS802に処理を進める。
ステップS802では、撮影装置100は、連続撮影した画像データのうち、認識された1人のユーザを中心とする画像をすべて取得する。基本的には顔がフレームの中心に最も寄っている画像データを選択する。
ステップS803では、撮影装置100は、ステップS702またはステップS704で特定されたグループのユーザで、画像データに含まれるユーザの中心画像フラグ904がすべてOFFになっているか否かを判定する。例えば、特定されたグループが「SG01」であり、画像データにユーザ「AAAAA」と「BBBBB」と「CCCCC」が写っている場合、それぞれ中心画像フラグ904を確認すると、ユーザ「CCCCC」以外は中心画像フラグ904に「1」が格納されている。よって、すべてOFFにはなっていないと判定できる。中心画像フラグ904がすべてOFFになっていると判定された場合には、ステップS804に処理を進め、そうでない場合には、ステップS807に処理を進める。
ステップS804では、撮影装置100は、連続撮影した画像データに管理者が含まれるか否かを判定する。管理者が含まれているか否かについては、顔認識テーブル1700の管理者有無フラグ1703を参照して判定できる。画像データによっては管理者の顔が認識できず、管理者有無フラグ1703に「0」が格納されている画像データもあるが、連続撮影されている中で1度でも管理者の顔が認識されたのであれば、管理者が画像データに含まれると判定してよい。管理者が含まれると判定された場合には、ステップS805に処理を進め、管理者が含まれないと判定された場合には、ステップS806に処理を進める。
ステップS805では、撮影装置100は、中心画像フラグ904がすべてOFFだが、画像データに管理者が含まれるので、連続撮影された画像データのうち、管理者をフレームの中心で、当該グループのユーザがフレームに収まるような画像データをすべて取得する。
ステップS806では、撮影装置100は、中心画像フラグ904がすべてOFFで、かつ管理者も画像データに含まれないため、認識されたすべてのユーザを含むような画像データをすべて取得する。この場合のすべてのユーザとは、処理中のグループのユーザだけであってもよいし、他のグループのユーザも含んでもよい。
ステップS807では、撮影装置100は、処理中のグループのユーザで、連続撮影された画像データに含まれるユーザの中心画像フラグ904がONであるユーザの人数をカウントし、複数人いるか否かを判定する。複数人(2人以上)存在すると判定された場合には、ステップS809に処理を進め、1人しか存在しないと判定された場合には、ステップS808に処理を進める。
ステップS808では、撮影装置100は、中心画像フラグ904がONであるユーザが1人いるので、連続撮影された画像データのうち、当該ユーザをフレームの中心とし、当該グループのユーザがフレームに収まるような画像データをすべて取得する。
ステップS809では、撮影装置100は、中心画像フラグ904がONであるユーザが複数いるので、連続撮影された画像データのうち、当該複数のユーザごとに、当該ユーザがフレームの中心となる画像データを取得する。中心画像フラグ904がONであるユーザが複数いるということは、どのユーザを中心とすべきかを決定しなければいけない。よって、中心画像フラグ904がONであるユーザごとに、当該ユーザがフレームの中心に収まっている画像データを取得して、後述するステップS811で中心とするユーザの選択を受け付ける。
ステップS810では、撮影装置100は、ステップS809で取得した画像データを中心ユーザ選択画面1500(図15)に表示する。中心ユーザ選択画面1500では、中心画像フラグ904がONになっているユーザのうち、どのユーザを中心とするのかを決定するための画面である。図15では、ユーザ「AAAAA」と「BBBBB」の2人の中心画像フラグ904がONになっているので、「AAAAA」が中心となっている画像データと、「BBBBB」が中心となっている画像データの2枚を表示している。ここで、中心画像フラグ904がONになっていない「CCCCC」が写っている。つまり、「CCCCC」も写真の中に収める必要がある。このとき、「AAAAA」と「BBBBB」のどちらかを中心として、「CCCCC」も収まるようなユーザを中心と選択すればよい。
ステップS811では、撮影装置100は、ステップS810で表示された画像データのうち、フレームの中心としたいユーザが真ん中に収まっている画像データの選択を受け付ける。例えば、図15の中心ユーザ選択画面1500のような形態で表示し、画像データの選択を受け付ける。これで選択されたユーザがフレームの中心となっている画像データをすべて取得する。こうすることで、柔軟に中心となるユーザを変更して、画像データを選択することができるようになる。
以上説明したように、本実施形態によれば、撮影者を含む複数のユーザを被写体として撮影する場合に、複数回連続で撮影し、複数枚の画像データを生成し、あらかじめ撮影装置に登録された複数のユーザがフレーム内に収まっている画像データを採用することができるので、ユーザに負荷をかけることなく、適切に撮影することのできる効果を奏する。
以上、実施形態例を詳述したが、本発明は、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能(読み取り可能)なプログラムであり、本発明の記録媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリーカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。