(57)【特許請求の範囲】
【請求項１】
それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出手段と、
前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御手段と
を備え、
前記表示制御手段は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する
画像処理装置。
【請求項２】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、
予め記憶されている前記画像のうち、１つ以上の前記顔画像が検出された前記画像を読み出すように前記画像の読み出しを制御する読み出し制御手段をさらに備え、
前記表示制御手段は、読み出された前記画像の表示を制御する
請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、
前記表示制御手段は、前記顔画像の数が２以上である場合には、最も大きい顔の前記顔画像を選択し、選択した前記顔画像の前記顔の方向にスライドインする前記効果を適用する
請求項１に記載の画像処理装置。
【請求項４】
前記表示制御手段は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いている場合には、前記顔からズームアウトする前記効果を適用する
請求項１に記載の画像処理装置。
【請求項５】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、
前記表示制御手段は、前記顔画像の数が４つである場合には、４分割した画面の領域のそれぞれにおいて、顔にズームしつつ、クロスフェードする前記効果を適用する
請求項１に記載の画像処理装置。
【請求項６】
少なくとも前記顔画像の数と前記顔の方向を、前記画像の属性情報として前記画像と関係付けて、前記画像とともに記憶する記憶手段をさらに備え、
前記表示制御手段は、前記記憶手段から読み出された前記属性情報に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する
請求項２に記載の画像処理装置。
【請求項７】
それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出ステップと、
前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御ステップと
を含み、
前記表示制御ステップの処理は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する
画像処理方法。
【請求項８】
それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出ステップと、
前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御ステップと
を含み、
前記表示制御ステップの処理は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、画像の表示に、画像の内容に適した効果を適用できるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
画像の中の人物の顔の画像（顔画像）の検出の方式はこれまで多数提案され、その用途についても、監視カメラによる人物の検出や動画像のシーンの検出など様々な使い方が提案されている（例えば、非特許文献１参照）。
【０００３】
しかしながら、その用途は、特定の限定された業務におけるものであり、私生活または家庭生活などの日常生活における使い方は、あまり提案されてこなかった。
【０００４】
一方、いわゆるデジタルスチルカメラが普及し、静止画像を撮影する機能が携帯電話機に搭載されるようになり、日常生活のなかで静止画像（写真）を撮影する機会は着実に増えている。
【０００５】
【非特許文献１】”顔，テロップから歓声まで総動員で１０００時間を絞る”、「日経エレクトロニクス」日経BP社、２００４年６月２１日発行、p.114-123
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、撮影した画像の活用方法としては、ファイル単位での単純な閲覧や、画像をただ順番に表示するだけのシンプルなスライドショー程度しかなかった。
【０００７】
このスライドショーでの画像と画像との切り替えの効果は、前の画像から次の画像がスライドしてくるように表示されたり、とけ込むように遷移して表示されたりするものがある。
【０００８】
従来、切り替えの効果を、画像の内容によって変えることはできなかった。また、画像に含まれる顔についての情報を用いた効果は、存在していない。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、画像の内容により適した効果を適用して画像を表示することができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面は、それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出手段／ステップと、前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御手段／ステップとを備え／含み、前記表示制御手段／ステップの処理は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する画像処理装置若しくは方法、またはプログラムである。
【００１１】
本発明の一側面においては、それぞれの画像に含まれる顔の画像である顔画像が検出され、検出された前記顔画像の顔の方向が検出され、前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示が制御され、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果が適用される。
【００１２】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、画像処理装置に、予め記憶されている前記画像のうち、１つ以上の前記顔画像が検出された前記画像を読み出すように前記画像の読み出しを制御する読み出し制御手段をさらに設け、前記表示制御手段は、読み出された前記画像の表示を制御することができる。
【００１３】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、前記表示制御手段は、前記顔画像の数が２以上である場合には、最も大きい顔の前記顔画像を選択し、選択した前記顔画像の前記顔の方向にスライドインする前記効果を適用することができる。
【００１４】
前記表示制御手段は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いている場合には、前記顔からズームアウトする前記効果を適用することができる。
【００１５】
前記検出手段は、それぞれの前記画像に含まれる前記顔画像の数も検出し、前記表示制御手段は、前記顔画像の数が４つである場合には、４分割した画面の領域のそれぞれにおいて、顔にズームしつつ、クロスフェードする前記効果を適用することができる。
【００１７】
少なくとも前記顔画像の数と前記顔の方向を、前記画像の属性情報として前記画像と関係付けて、前記画像とともに記憶する記憶手段をさらに設け、前記表示制御手段は、前記記憶手段から読み出された前記属性情報に応じた、画像の切り替えの効果を適用した前記画像の表示を制御するようにすることができる。
【発明の効果】
【００１８】
以上のように、本発明の一側面によれば、画像を表示することができる。
【００１９】
また、本発明の一側面によれば、画像の内容により適した効果を適用して画像を表示することができる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２１】
本発明の一側面の画像処理装置は、第１に、それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出手段（例えば、図３の顔検出部３２）と、前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御手段（例えば、図３の表示制御部３６）とを備え、前記表示制御手段は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する。
【００２２】
本発明の一側面の画像処理装置は、第２に、前記検出手段が、それぞれの前記画像に含まれる前記顔画像の数も検出し、画像処理装置に、予め記憶されている前記画像のうち、１つ以上の前記顔画像が検出された前記画像を読み出すように前記画像の読み出しを制御する読み出し制御手段（例えば、図３の読み出し制御部３５）をさらに設け、前記表示制御手段が、読み出された前記画像の表示を制御することができる。
【００２３】
本発明の一側面の画像処理装置は、第３に、少なくとも前記顔画像の数と前記顔の方向を、前記画像の属性情報として前記画像と関係付けて、前記画像とともに記憶する記憶手段（例えば、図３の画像データベース３１と顔情報データベース３３）をさらに設け、前記表示制御手段は、前記記憶手段から読み出された前記属性情報に応じた、画像の切り替えの効果を適用した前記画像の表示を制御することができる。
【００２４】
本発明の一側面の画像処理方法またはプログラムは、それぞれの画像に含まれる顔の画像である顔画像を検出するとともに、検出された前記顔画像の顔の方向を検出する検出ステップ（例えば、図４のステップＳ３１乃至ステップＳ３８）と、前記画像を順に切り替えて表示する場合、前記顔画像に応じた、画像の切り替えの効果を適用した前記画像の表示を制御する表示制御ステップ（例えば、図８のステップＳ５６）とを含み、前記表示制御ステップの処理は、表示する前記画像に含まれる前記顔画像の顔の方向が正面を向いていない場合に、前記顔の方向にスライドインする前記効果を適用する。
【００２５】
図１は、本発明の一実施の形態のパーソナルコンピュータを説明する図である。画像１は、デジタルスチルカメラ、携帯電話機、デジタルスキャナ、携帯情報端末装置などの被写体を撮影する撮影装置によって撮影された静止画像である。１または複数の画像１は、画像データとして、パーソナルコンピュータ２に供給される。
【００２６】
ここで、画像データとしての画像１は、ビットマップ方式、JPEG（Joint Photographic Experts Group）方式、JPEG２０００方式、GIF（Graphics Interchange Format）、またはTIFF（Tagged Image File Format）などとすることができる。
【００２７】
パーソナルコンピュータ２は、画像１のそれぞれから顔（の画像）を検出し、画像１のそれぞれに、顔の検出の結果を示す顔検出情報３のそれぞれを関係付ける。
【００２８】
図２は、パーソナルコンピュータ２の構成の例を示すブロック図である。CPU（Central Processing Unit）１１は、ROM（Read Only Memory）１２、または記憶部１８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）１３には、CPU１１が実行するプログラムやデータなどが適宜記憶される。これらのCPU１１、ROM１２、およびRAM１３は、バス１４により相互に接続されている。
【００２９】
なお、CPU１１として、”Ｃｅｌｌ誕生”、日経エレクトロニクス、日経BP社、２００５年２月２８日、８９頁乃至１１７頁に記載されているＣｅｌｌを採用することができる。
【００３０】
CPU１１にはまた、バス１４を介して入出力インターフェース１５が接続されている。入出力インターフェース１５には、キーボード、マウス、マイクロホン、静止画像を撮影する撮影部などよりなる入力部１６、ディスプレイ、スピーカなどよりなる出力部１７が接続されている。CPU１１は、入力部１６から入力される指令に対応して各種の処理を実行する。そして、CPU１１は、処理の結果を出力部１７に出力する。
【００３１】
入出力インターフェース１５に接続されている記憶部１８は、例えばハードディスクからなり、CPU１１が実行するプログラムや各種のデータを記憶する。通信部１９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【００３２】
また、通信部１９を介してプログラムを取得し、記憶部１８に記憶してもよい。
【００３３】
入出力インターフェース１５に接続されているドライブ２０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部１８に転送され、記憶される。
【００３４】
図３は、プログラムを実行するパーソナルコンピュータ２において実現される、機能の構成の例を示すブロック図である。プログラムを実行するパーソナルコンピュータ２において、画像データベース３１、顔検出部３２、顔情報データベース３３、読み出し条件設定部３４、読み出し制御部３５、および表示制御部３６が実現される。
【００３５】
画像データベース３１は、外部の装置によって撮影され、入力部１６によって入力された画像１を画像データとしてを記憶する。画像データベース３１は、記憶している画像１を顔検出部３２または読み出し制御部３４に供給する。
【００３６】
例えば、画像データベース３１は、ハードディスクである記憶部１８への、画像１の画像データとしての記憶を管理し、画像１を画像データとして、記憶部１８に記憶させたり、記憶部１８に画像データとして記憶されている画像１を読み出す。
【００３７】
顔検出部３２は、それぞれの画像１に含まれる顔の画像を検出する。例えば、顔検出部３２は、画像データベース３１から供給された画像データとしての画像１に含まれる顔の画像を検出する。顔検出部３２は、検出した顔の画像についての情報である顔検出情報３を顔情報データベース３３に供給する。
【００３８】
顔情報データベース３３は、それぞれの画像１と、それぞれの画像１から検出された顔の画像についての顔検出情報３とを関係付ける。例えば、顔情報データベース３３は、それぞれの画像１と顔検出情報３とを関係付けて、記憶する。
【００３９】
なお、顔情報データベース３３は、顔検出情報３が記憶部１８に記憶されるように構成される。
【００４０】
読み出し条件設定部３４は、キーボードまたはマウスなどからなる入力部１６への使用者による操作に応じた入力部１６からの信号を基に、画像１を読み出す条件を設定する。読み出し条件設定部３４は、設定した条件を読み出し制御部３５に供給する。
【００４１】
読み出し制御部３５は、読み出し条件設定部３４から供給された、設定された条件、および顔情報データベース３３に記憶されている顔検出情報３に基づいて、顔情報データベース３３からの画像１の読み出しを制御する。読み出し制御部３５は、読み出した画像１を表示制御部３６に供給する。
【００４２】
表示制御部３６は、読み出し制御部３５から供給された画像１をディスプレイとしての出力部１７に表示させるように画像１の表示を制御する。表示制御部３６は、判定部５１およびエフェクト適用部５２を備える。
【００４３】
判定部５１は、顔情報データベース３３に記憶されている顔検出情報３を基に、表示する画像１に含まれる顔の画像が所定の条件を満たすか否かを判定する。
【００４４】
エフェクト適用部５２は、判定部５１による判定の結果に対応した表示の効果を、表示する画像１に適用する。
【００４５】
図４は、顔の検出の処理を説明するフローチャートである。ステップＳ３１において、顔検出部３２は、画像データベース３１から画像１を入力し、入力された画像１から顔の画像を検出する。
【００４６】
例えば、ステップＳ３１において、顔検出部３２は、画像データベース３１から、図５に例示される画像１を入力し、入力された画像１から顔の画像を検出する。
【００４７】
より具体的には、例えば、顔検出部３２は、ステップＳ３１において、画像１の画素のうち、人の肌の色に対応する所定の色の範囲に属する色を示す画素値を有する画素を特定する。そして、顔検出部３２は、色によって特定された画素のうち、所定の数以上、相互に隣接している画素により構成される領域を顔の画像とする。
【００４８】
ステップＳ３２において、顔検出部３２は、ステップＳ３１の処理で検出された顔の画像の数を数える。すなわち、ステップＳ３２において、顔検出部３２は、それぞれの画像１に含まれる顔の画像の数を検出する。
【００４９】
ステップＳ３３において、顔検出部３２は、１つ以上の顔の画像が検出されたか否かを判定し、１つ以上の顔の画像が検出されたと判定された場合、ステップＳ３４に進み、検出された顔の画像のうちの、１つの顔の画像を選択する。
【００５０】
ステップＳ３５において、顔検出部３２は、選択された顔の画像について、画像１における顔の位置を検出する。
【００５１】
例えば、ステップＳ３５において、顔検出部３２は、画像１の全体の高さおよび全体の幅をそれぞれ１とした場合、画像１における顔の画像の位置として、画像１の全体に対する相対的な、顔の画像の縦方向の位置および横方向の位置を検出する。
【００５２】
ステップＳ３６において、顔検出部３２は、選択された顔の画像について、顔の画像の大きさを検出する。
【００５３】
例えば、ステップＳ３６において、顔検出部３２は、画像１の全体の高さおよび全体の幅をそれぞれ１とした場合、画像１における顔の画像の大きさとして、画像１の全体に対する相対的な、顔の画像の高さおよび幅を検出する。
【００５４】
ステップＳ３７において、顔検出部３２は、選択された顔の画像について、顔の向きを検出する。なお、詳細は後述するが、ステップＳ３７において、顔検出部３２は、顔の向きとして、顔のロール角、ピッチ角、およびヨー角を検出する。
【００５５】
例えば、ステップＳ３７において、顔検出部３２は、予め定義されている、想定される顔の方向ごとの複数のパターンと、選択された顔の画像と一致するか否かを判定し、顔の向きを、顔の画像と一致するパターンに対応する向きとすることで、顔の向きを検出する。
【００５６】
ステップＳ３８において、顔検出部３２は、総ての顔の画像を選択したか否かを判定し、総ての顔の画像を選択していないと判定された場合、ステップＳ３４に進み、次の顔の画像を選択して、上述した処理を繰り返す。
【００５７】
このように、例えば、顔検出部３２は、画像データベース３１に格納されている画像１のそれぞれについて、顔の画像を検出して、さらに、顔の画像の数を検出し、顔の画像のそれぞれの位置、顔の画像のそれぞれの大きさ、顔の画像のそれぞれにおける顔の向きを検出する。
【００５８】
ステップＳ３８において、総ての顔の画像を選択したと判定された場合、ステップＳ３９に進み、顔検出部３２は、検出した顔の画像の数、およびそれぞれの顔の画像についての、顔の位置、顔の大きさ、顔の向きを示す顔検出情報３を出力し、顔情報データベース３３は、画像１とその顔検出情報３とを関係付けて、その顔検出情報３を記憶して、処理は終了する。
【００５９】
例えば、顔検出部３２は、図５に例示される画像１に対して、図６に示される例の顔検出情報３を出力する。顔検出情報３は、例えば、XML（eXtensible Mark-up Language）方式で記述される。
【００６０】
<photo>タグおよび</photo>タグの間には、画像１との関係付けを示す情報および顔の画像に関する情報が配置される。
【００６１】
<filepath>タグおよび</filepath>タグの間に配置されているC:\hoge\hoge.jpgは、図６に例示される顔検出情報３が、Cドライブ（との名前を付された記録媒体）のルートフォルダの下の、hogeであるフォルダ名のフォルダに格納されている、hoge.jpgであるファイル名のファイルに格納されている画像データである画像１と関係付けられていることを示す。
【００６２】
<Faceinfo>タグおよび</Faceinfo>タグの間には、hoge.jpgであるファイル名のファイルに格納されている画像データである画像１に関する情報が配置される。すなわち、<Faceinfo>タグおよび</Faceinfo>タグの間には、hoge.jpgであるファイル名のファイルに格納されている画像データである画像１に含まれる顔の画像に関する情報が配置される。
【００６３】
<TotalFace>タグおよび</TotalFace>タグの間に配置されている1は、hoge.jpgであるファイル名のファイルに格納されている画像データである画像１に含まれる顔の画像の数が１つであることを示す。すなわち、<TotalFace>タグおよび</TotalFace>タグの間に配置されている値は、画像１に含まれる顔の画像の総数を示す。
【００６４】
<FaceEntry>タグおよび</FaceEntry>タグの間には、１つの顔の画像についての情報が配置される。図６に例示される顔検出情報３における顔の画像の総数が１なので、１組の<FaceEntry>タグおよび</FaceEntry>タグが配置されることになる。
【００６５】
<x>タグおよび</x>タグの間に配置されている値は、画像１における顔の画像の横方向の位置を示す。図６において、<x>タグおよび</x>タグの間に配置されている0.328767は、画像１の左端を0.0とし、画像１の右端を1.0とした場合に、顔の画像の右端の横方向の位置が、0.328767であることを示す。
【００６６】
<y>タグおよび</y>タグの間に配置されている値は、画像１における顔の画像の縦方向の位置を示す。図６において、<y>タグおよび</y>タグの間に配置されている0.204082は、画像１の上端を0.0とし、画像１の下端を1.0とした場合に、顔の画像の上端の縦方向の位置が、0.204082であることを示す。
【００６７】
すなわち、<x>タグおよび</x>タグの間には、顔の画像の正規化された横方向の位置が配置され、<y>タグおよび</y>タグの間には、顔の画像の正規化された縦方向の位置が配置される。
【００６８】
<width>タグおよび</width>タグの間に配置されている値は、画像１における顔の画像の幅（横方向のサイズ）を示す。図６において、<width>タグおよび</width>タグの間に配置されている0.408163は、画像１の幅を1.0とした場合に、顔の画像の幅が、0.408163であることを示す。
【００６９】
<height>タグおよび</height>タグの間に配置されているは、画像１における顔の画像の高さ（縦方向のサイズ）を示す。図６において、<height>タグおよび</height>タグの間に配置されている0.273973は、画像１の高さを1.0とした場合に、顔の画像の高さが、0.273973であることを示す。
【００７０】
すなわち、<width>タグおよび</width>タグの間には、顔の画像の正規化された幅が配置され、<height>タグおよび</height>タグの間には、顔の画像の正規化された高さが配置される。
【００７１】
<roll>タグおよび</roll>タグの間に配置されている値は、顔の画像における顔のロール角を示す。図６において、<roll>タグおよび</roll>タグの間に配置されている0.000000は、顔の画像における顔のロール角が、0.000000度であることを示す。
【００７２】
<pitch>タグおよび</pitch>タグの間に配置されている値は、顔の画像における顔のピッチ角を示す。図６において、<pitch>タグおよび</pitch>タグの間に配置されている0.000000は、顔の画像における顔のピッチ角が、0.000000度であることを示す。
【００７３】
<yaw>タグおよび</yaw>タグの間に配置されている値は、顔の画像における顔のヨー角を示す。図６において、<yaw>タグおよび</yaw>タグの間に配置されている0.000000は、顔の画像における顔のヨー角が、0.000000度であることを示す。
【００７４】
ここで、図７で示されるように、ロール角は、顔の前後方向の位置を示す前後軸（x軸）の周りの移動角である。ピッチ角は、顔の左右方向の位置を示す横軸（y軸）の周りの移動角である。ヨー角は、顔の上下方向の位置を示す垂直軸（z軸）の周りの移動角である。
【００７５】
ステップＳ３３において、１つ以上の顔の画像が検出されていないと判定された場合、ステップＳ３９に進み、顔検出部３２は、検出した顔の画像の数が０であることを示す顔検出情報３を出力して、顔情報データベース３３は、画像１とその顔検出情報３とを関係付けて、その顔検出情報３を記憶して、処理は終了する。
【００７６】
図４を参照して説明した顔の検出の処理は、それぞれの画像１に適用され、それぞれの画像１について、顔の画像が検出される。その結果、それぞれの画像１について、検出した顔の画像の数、およびそれぞれの顔の画像についての、顔の位置、顔の大きさ、顔の向きを示す顔検出情報３が画像１に関係付けられて、顔情報データベース３３に記憶される。
【００７７】
顔検出情報３は、画像１とは別に、顔情報データベース３３に記録されると説明したが、Exifの規格に準拠した画像１のデータの付加情報として、画像１を格納するファイルに格納するようにしてもよい。
【００７８】
顔検出情報３を用いることで、例えば、図８で示されるように、画像１における顔の画像の範囲を表示することができるようになる。
【００７９】
図９は、表示の処理を説明するフローチャートである。ステップＳ５１において、読み出し条件設定部３４は、使用者による操作に応じた入力部１６からの信号またはROM１２またはRAM１３に予め記憶されているモードを示すデータを基に、顔の画像が検出された画像１である顔検出画像のみを表示するモードであるか否かを判定し、顔検出画像のみを表示するモードであると判定された場合、ステップＳ５２に進み、読み出す画像１の顔の数を１以上に設定する。例えば、ステップＳ５２において、読み出し条件設定部３４は、読み出し制御部３５に、読み出す画像１の顔の数が１以上であることを示す値を書き込むことで、読み出す画像１の顔の数を１以上に設定する。
【００８０】
ステップＳ５１において、顔検出画像のみを表示するモードでないと判定された場合、ステップＳ５３に進み、読み出し条件設定部３４は、使用者による操作に応じた入力部１６からの信号またはROM１２またはRAM１３に予め記憶されているモードを示すデータを基に、顔の画像が検出されていない画像１である非顔検出画像のみを表示するモードであるか否かを判定する。ステップＳ５３において、非顔検出画像のみを表示するモードであると判定された場合、ステップＳ５４に進み、読み出し条件設定部３４は、読み出す画像１の顔の数を０に設定する。例えば、ステップＳ５４において、読み出し条件設定部３４は、読み出し制御部３５に、読み出す画像１の顔の数が０であることを示す値を書き込むことで、読み出す画像１の顔の数を０に設定する。
【００８１】
ステップＳ５３において、非顔検出画像のみを表示するモードでないと判定された場合、総ての画像を表示するモードなので、ステップＳ５５に進み、読み出し条件設定部３４は、読み出す画像１の顔の数を０以上に設定する。例えば、ステップＳ５５において、読み出し条件設定部３４は、読み出し制御部３５に、読み出す画像１の顔の数が０以上であることを示す値を書き込むことで、読み出す画像１の顔の数を０以上に設定する。
【００８２】
ステップＳ５６において、スライドショーの処理が実行され、処理は終了する。
【００８３】
このように、読み出す画像１の顔の数を１以上、０、または０以上のいずれかに設定することで、スライドショーにおいて、顔検出情報３を基に、画像１を選別することで、顔の画像が検出されている画像１に限定して表示したり、顔の画像が検出されていない風景画である画像１に限定して表示したり、全部の画像１を表示したりすることができる。
【００８４】
なお、使用者による操作に応じて内部処理で、読み出す画像１の顔の数を１以上、０、または０以上のいずれかに設定すると説明したが、図１０で示されるように、顔検出画像のみを表示するモードである場合、読み出す画像１の顔の数を１以上とし、非顔検出画像のみを表示するモードである場合、読み出す画像１の顔の数を０とし、全ての画像１を表示するモードである場合、読み出す画像１の顔の数を０以上とすることを示す設定ファイルを予め記憶しておいて、スライドショーを開始するときに、この設定ファイルを読み込んで、設定ファイルおよび顔検出情報３を基に、画像１を選別するようにしてもよい。
【００８５】
図１１は、図９のステップＳ５６に対応するスライドショーの処理の詳細を説明するフローチャートである。ステップＳ７１において、読み出し制御部３５は、画像１の表示の順序を決める。
【００８６】
すなわち、例えば、ステップＳ７１において、読み出し制御部３５は、顔情報データベース３３から、それぞれの画像１の顔検出情報３を読み出す。読み出し制御部３５は、それぞれの画像１の顔検出情報３および設定された読み出す画像１の顔の数を基に、表示する画像１を決定する。
【００８７】
より具体的には、読み出し制御部３５は、読み出す画像１の顔の数が１以上に設定されている場合には、顔検出情報３で示される顔の数が１以上である画像１を、表示する画像１と決定し、読み出す画像１の顔の数が０に設定されている場合には、顔検出情報３で示される顔の数が０である画像１を、表示する画像１と決定し、読み出す画像１の顔の数が０以上に設定されている場合には、顔検出情報３で示される顔の数が０以上である画像１（すなわち全ての画像１）を、表示する画像１と決定する。
【００８８】
そして、読み出し制御部３５は、決定された表示する画像１の表示する順序を決める。より具体的には、例えば、読み出し制御部３５は、Exifの規格に準拠した画像１のデータの付加情報として、画像１を格納するファイルに格納されている撮影された日付の順に表示させるように、決定された表示する画像１の表示する順序を決める。また、例えば、読み出し制御部３５は、画像１の名前を基に、決定された表示する画像１の表示する順序を決める。
【００８９】
ステップＳ７２において、読み出し制御部３５は、決められた順序で、画像データベース３１から、１つの画像１を読み出す。読み出し制御部３５は、読み出した画像１を表示制御部３６に供給する。ステップＳ７３において、読み出し制御部３５は、顔情報データベース３３から、ステップＳ７２の処理で読み出した画像１に関係付けられている顔検出情報３を読み出す。読み出し制御部３５は、読み出した顔検出情報３を表示制御部３６に供給する。
【００９０】
このように、顔情報データベースに格納されている顔検出情報３を用いて画像１がフィルタリングされ、スライドショーに用いる画像１が選別される。
【００９１】
ステップＳ７４において、表示制御部３６の判定部５１は、読み出し制御部３５から供給された画像１があるかを基に、次に表示する画像１があるか否かを判定する。ステップＳ７４において、読み出し制御部３５から供給された画像１があるので、次に表示する画像１があると判定された場合、ステップＳ７５に進み、判定部５１は、画像１に関係付けられている顔検出情報３に示されている顔の画像の数から、顔の数が１つであるか否かを判定する。
【００９２】
ステップＳ７５において、顔の数が１つであると判定された場合、ステップＳ７６に進み、判定部５１は、画像１に関係付けられている顔検出情報３に示されている顔の向きを基に、顔が正面を向いているか否かを判定する。
【００９３】
ここで、顔が正面を向いているとは、いわゆる正面顔である状態をいい、顔の画像における顔のロール角、ピッチ角、およびヨー角が全て０度である状態をいう。なお、顔の画像における顔のロール角、ピッチ角、およびヨー角が０度を中心とした所定の範囲（例えば、プラスマイナス１０度など）にある場合、顔が正面を向いていると判定するようにしてもよい。
【００９４】
ステップＳ７６において、顔が正面を向いていると判定された場合、ステップＳ７７に進み、表示制御部３６のエフェクト適用部５２は、顔からズームアウトするエフェクトを画像１に適用して、表示制御部３６は、顔からズームアウトするように画像１を、ディスプレイである出力部１７に表示する。ステップＳ７７の処理の後、手続きは、ステップＳ７２に戻り、上述した処理を繰り返す。
【００９５】
図１２および図１３は、顔からズームアウトするように表示される画像１の例を示す図である。
【００９６】
ステップＳ７７において、まず最初に、エフェクト適用部５２は、顔の大きさにズームインするエフェクトを画像１に適用する。顔の大きさにズームインされた画像１は、顔の画像の中心位置が、ディスプレイである出力部１７の表示領域の中央位置（Xd/2,Yd/2）に配置され、顔の画像の幅および高さが表示領域の短辺を超えないように拡大されて表示される。ここで、Xdは、出力部１７の表示領域の横幅を示し、Ydは、出力部１７の表示領域の高さを示す。
【００９７】
すなわち、顔の画像の中心点（x,y）は、式（１）で表される。
顔の画像の中心点（x,y）=（Xd/2,Yd/2）                    ・・・（１）
また、表示領域の短辺が縦方向である場合、画像１の高さを1.0としているので、顔の画像の拡大率Zrは、式（２）で表される。
Zr=1/face_height                                      ・・・（２）
face_heightは、顔検出情報３の<height>タグおよび</height>タグの間に配置されている顔の画像の高さである。
【００９８】
表示領域の短辺が横方向である場合、画像１の幅を1.0としているので、顔の画像の拡大率Zrは、式（３）で表される。
Zr=1/face_width                                      ・・・（３）
face_widthは、<width>タグおよび</width>タグの間に配置されている顔の画像の幅である。
【００９９】
例えば、エフェクト適用部５２は、図１２で示されるように、顔の画像の幅または顔の画像の高さを基に、顔の画像の全体が出力部１７の表示領域に表示されるように、式（２）または式（３）を基に、顔の画像の拡大率Zrを決定する。図１２で示される例において、表示領域の短辺が縦方向なので、エフェクト適用部５２は、式（２）を基に、顔の画像の拡大率Zrを決定する。
【０１００】
図１２において、太線は、顔の画像の範囲を示す。顔の大きさにズームインされている場合、顔の画像の拡大率Zrは、式（２）を基に、決定された値とされ、顔の画像の高さが出力部１７の表示領域の高さと一致するように、顔の画像が拡大される。顔の画像を含む画像１の領域であって、出力部１７の表示領域に表示される画像１の領域である表示エリアの高さYは、顔の画像の高さface_heightに等しくされる。
【０１０１】
顔の画像を含む画像１の領域であって、出力部１７の表示領域に表示される画像１の領域である表示エリアの幅Xは、Xd/Zrとされる。表示領域の長辺が横方向なので、表示エリアの幅Xは、表示エリアの高さYより長くなる。
【０１０２】
表示エリアは、Zrだけ拡大されて、出力部１７の表示領域に表示される。すなわち、表示エリアの高さYは、Zrだけ拡大されて、拡大された画像の高さPY=Y/face_widthとされ、表示エリアの幅Xは、Zrだけ拡大されて、拡大された画像の幅PX=X/face_widthとされて、拡大された画像は、出力部１７の表示領域の全体に表示される。ここで、PY=Yd、PX=Xdとなる。
【０１０３】
次に、エフェクト適用部５２は、ズームアウトするエフェクトを画像１に適用する。
【０１０４】
すなわち、エフェクト適用部５２は、拡大された画像の頂点のそれぞれ（４隅のそれぞれ）から、表示エリアの頂点のそれぞれ（４隅のそれぞれ）までの距離dnをそれぞれ算出し、一番遠い距離dnにある点に対して指定された時間で縮小されるように拡大率Zrを小さくしつつ、最終的に出力部１７の表示領域の全体に画像１の全体を描画させる。
【０１０５】
これにより、図１３で示されるように、画像１の切り替えにおいて、時間の経過に応じて、顔の画像にズームインした状態から、全体の画像１にズームアウトされるように画像１が表示されることになる。
【０１０６】
この場合、前に表示されている画像１の透過率を変化させながら画像を入れ替える処理を行うようにしてもよい。
【０１０７】
ステップＳ７６において、顔が正面を向いていないと判定された場合、ステップＳ７８に進み、表示制御部３６のエフェクト適用部５２は、顔の方向にスライドインするエフェクトを画像１に適用して、表示制御部３６は、顔の方向にスライドインするように画像１を、ディスプレイである出力部１７に表示する。ステップＳ７８の処理の後、手続きは、ステップＳ７２に戻り、上述した処理を繰り返す。
【０１０８】
図１４および図１５は、顔の方向にスライドインするように表示される画像１の例を示す図である。
【０１０９】
例えば、ステップＳ７８において、エフェクト適用部５２は、顔の方向にスライドインするエフェクトを画像１に適用する場合、最初に、２次元の平面に投影された顔の角度θと、顔の画像の位置とから、スライドを開始する画像１の位置を求める。
【０１１０】
ここで、２次元の平面に投影された顔の角度θについて説明する。顔の画像は、平面に表示されるので、図７で示されるように、顔の正面から垂直に伸びる垂直ベクトルLを画面に投影したときの角度が、２次元の平面に投影された顔の角度θとされる。
【０１１１】
エフェクト適用部５２は、スライドを開始する画像１の位置として、画像１を、顔の角度θに対して逆の方向に移動させて、表示領域（描画領域）の境界に画像１の顔の画像が接する位置を求める。
【０１１２】
例えば、図１４で示されるように、エフェクト適用部５２は、２次元の平面に投影された顔の角度θに対して逆の方向に画像１を移動させて、画像１が左側に表示オフセットX0だけ移動され、画像１が上側に表示オフセットY0だけ移動した位置をスライドを開始する画像１の位置とする。図１４で示される例において、エフェクト適用部５２は、画像１の顔の画像の左端が、表示領域の左端と一致し、画像１の顔の画像の上端が、表示領域の上端と一致する位置、すなわち、表示領域の左上に顔の画像が配置される位置を画像１の位置とする。
【０１１３】
図１４で示される例において、オフセット距離d0は、(X02+Y02)1/2である。スライドを開始する画像１の位置において、画像１の顔の画像の全体が出力部１７の表示領域に表示されることになる。
【０１１４】
エフェクト適用部５２は、オフセット距離d0に対して指定された時間で画像１のスライドが完了するように顔の角度θの方向に画像１のオブジェクトを移動させつつ描画する。
【０１１５】
次の画像１を表示させるように画像１の表示が移る（表示が切り替えられる）場合には、画像１の全体が表示されている状態から、顔の角度θの方向に画像１がさらにスライドされて、顔の画像が表示領域（描画領域）の境界に接するまで移動するように、画像１が出力部１７の表示領域に表示される。
【０１１６】
これにより、図１５で示されるように、画像１の切り替えにおいて、顔の方向にスライドインするように画像１が表示されることになる。
【０１１７】
スライドインして画像１を表示させる場合に、画像１の透過率を変化させるようにしてもよい。
【０１１８】
ステップＳ７５において、顔の数が１つでないと判定された場合、ステップＳ７９に進み、表示制御部３６の判定部５１は、画像１に関係付けられている顔検出情報３に示されている顔の数から、顔の数が４つであるか否かを判定する。
【０１１９】
ステップＳ７９において、顔の数が４つであると判定された場合、ステップＳ８０に進み、表示制御部３６のエフェクト適用部５２は、４分割した画面の領域のそれぞれにおいて、顔にズームしつつ、クロスフェードするエフェクトを画像１に適用して、表示制御部３６は、４分割した画面の領域のそれぞれにおいて、顔にズームしつつ、クロスフェードするように画像１を、ディスプレイである出力部１７に表示する。ステップＳ８０の処理の後、手続きは、ステップＳ７２に戻り、上述した処理を繰り返す。
【０１２０】
例えば、図１６で示されるように、エフェクト適用部５２は、出力部１７の表示領域を４つに分割した領域のそれぞれに、今表示されている画像１に含まれている顔の画像を徐々に表示させるように、画像の透過率を変化させながら顔の画像を表示させる。そして、エフェクト適用部５２は、４つに分割した領域のそれぞれに顔の画像を、次に表示しようとする画像１に含まれている顔の画像に徐々に変化させて表示させるように、画像の透過率を変化させながら顔の画像を表示させる。
【０１２１】
さらに、エフェクト適用部５２は、出力部１７の表示領域の全体に画像１全体を徐々に表示させるように、画像の透過率を変化させながら次の画像１を表示させる。
【０１２２】
ステップＳ７９において、顔の数が４つでないと判定された場合、ステップＳ８１に進み、表示制御部３６は、顔検出情報３を基に、注目する顔を選択する。例えば、ステップＳ８１において、表示制御部３６は、顔検出情報３を基に、最も大きい顔を選択する。例えば、顔の数が０であると判定され、画像１が風景画像である場合、この場合、顔は選択されない。または、例えば、画像１が風景画像である場合、画像１に含まれている画像オブジェクトをランダムに選択する。
【０１２３】
ステップＳ８２において、表示制御部３６のエフェクト適用部５２は、選択した顔の方向にスライドインするエフェクトを画像１に適用して、表示制御部３６は、選択した顔の方向にスライドインするように画像１を、ディスプレイである出力部１７に表示する。例えば、顔の数が０であると判定され、画像１が風景画像である場合、顔は選択されていないので、表示制御部３６のエフェクト適用部５２は、予め定めた方向にスライドインするエフェクトを画像１に適用して、表示制御部３６は、予め定めた方向にスライドインするように画像１を、ディスプレイである出力部１７に表示する。
【０１２４】
また、ランダムに選択された画像オブジェクトに対して、顔の画像と同様に処理を適用するようにしてもよい。
【０１２５】
ステップＳ８２の処理の後、手続きは、ステップＳ７２に戻り、上述した処理を繰り返す。
【０１２６】
ステップＳ７４において、次に表示する画像１がないと判定された場合、処理は終了する。
【０１２７】
なお、画像１に適用するエフェクトは、ズームインズームアウト、スライドイン、またはクロスフェードに限らず、顔検出情報３に含まれる情報から、画像１に適用する効果（エフェクト）を選択するようにしてもよい。この場合、選択方法は、ランダムに選択するようにしても良く、また、顔の画像の大きさまたは位置に、重み付けをして効果を選択するようにしてもよい。
【０１２８】
このように、画像１に含まれる顔の画像により適したエフェクトを適用して画像１を表示することができる。すなわち、画像１の内容により適した効果を適用して画像１を表示することができる。
【０１２９】
顔の画像の検出の結果得られたメタ情報（顔検出情報３）を用いてスライドショーの処理を実行することで、画像１の中身に応じた効果を作り出すことができる。これにより、表示される画像１の印象がさらに高まり、使用者は、思い出をより想起しやすくなる。
【０１３０】
また、人が写っている画像１を用いたスライドショーだけでなく、人が写っていない画像１を用いてスライドショーの処理を実行することができる。選択する画像１から人が写っている画像１を排除することで、純粋に風景を楽しむスライドショーを提供したり、画像１に写っている人のプライバシーに配慮したスライドショーを提供できるようになる。
【０１３１】
このように、記憶している画像１を読み出し、画像１を表示するようにした場合には、画像を表示することができる。また、それぞれの画像に含まれる顔の画像である顔画像を検出し、画像を順に切り替えて表示する場合、顔画像に応じた、画像の切り替えの効果を適用した画像の表示を制御するようにした場合には、画像の内容により適した効果を適用して画像を表示することができる。
【０１３２】
なお、パーソナルコンピュータ２を例に説明したが、これに限らず、図１７で示されるようにデジタルスチルカメラ１０１に本発明を適用するようにしてもよい。この場合、デジタルスチルカメラ１０１は、上述した処理を実行して、デジタルスチルカメラ１０１が撮影した画像１から顔を検出して、顔検出情報３を生成する。デジタルスチルカメラ１０１は、撮影した画像１と顔検出情報３とを関係付ける。デジタルスチルカメラ１０１は、上述したスライドショーの処理を実行する。
【０１３３】
このようにすることで、デジタルスチルカメラ１０１の表示部において、画像１の内容により適した効果を適用して画像１を表示することができる。
【０１３４】
また、パーソナルコンピュータ２またはデジタルスチルカメラ１０１に限らず、携帯電話機、デジタルスキャナ、携帯情報端末装置、デジタルビデオカメラ、テレビジョン装置、ハードディスクビデオレコーダなど、画像を表示する機能を有する電子機器であれば、本発明を適用することができる。
【０１３５】
なお、他の装置で関係付けられた画像１および顔検出情報３を基に、スライドショーの処理を実行するようにしてもよい。
【０１３６】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１３７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図２に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ（Mini-Disc）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１、または、プログラムが一時的もしくは永続的に格納されるROM１２や、記憶部１８を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部１９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１３８】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１４０】
【図１】本発明の一実施の形態のパーソナルコンピュータを説明する図である。
【図２】パーソナルコンピュータの構成の例を示すブロック図である。
【図３】パーソナルコンピュータの機能の構成の例を示すブロック図である。
【図４】顔の検出の処理を説明するフローチャートである。
【図５】画像の例を示す図である。
【図６】顔検出情報の例を示す図である。
【図７】顔の角度を説明する図である。
【図８】表示される画像の例を示す図である。
【図９】表示の処理を説明するフローチャートである。
【図１０】動作モードの設定ファイルの例を示す図である。
【図１１】スライドショーの処理の詳細を説明するフローチャートである。
【図１２】顔からズームアウトするように表示される画像の例を示す図である。
【図１３】顔からズームアウトするように表示される画像の例を示す図である。
【図１４】顔の方向にスライドインするように表示される画像の例を示す図である。
【図１５】顔の方向にスライドインするように表示される画像の例を示す図である。
【図１６】顔の数が４つである場合に表示される画像の例を示す図である。
【図１７】本発明の一実施の形態のデジタルスチルカメラを説明する図である。
【符号の説明】
【０１４１】
１  画像，  ２  パーソナルコンピュータ，  ３  顔検出情報，  １１  ＣＰＵ，  １２  ＲＯＭ，  １３  ＲＡＭ，  １７  出力部，  １８  記憶部，  ２１  リムーバブルメディア，  ３１  画像データベース，  ３２  顔検出部，  ３３  顔情報データベース，  ３４  読み出し条件設定部，  ３５  読み出し制御部，  ３６  表示制御部，  ５１  判定部，  ５２  エフェクト適用部
【図１】
0004779524.tif 000002
【図２】
0004779524.tif 000003
【図３】
0004779524.tif 000004
【図４】
0004779524.tif 000005
【図５】
0004779524.tif 000006
【図６】
0004779524.tif 000007
【図７】
0004779524.tif 000008
【図８】
0004779524.tif 000009
【図９】
0004779524.tif 000010
【図１０】
0004779524.tif 000011
【図１１】
0004779524.tif 000012
【図１２】
0004779524.tif 000013
【図１３】
0004779524.tif 000014
【図１４】
0004779524.tif 000015
【図１５】
0004779524.tif 000016
【図１６】
0004779524.tif 000017
【図１７】
0004779524.tif 000018