(57)【要約】【課題】目的となる画像データを迅速に探すことが可能な印刷装置を提供すること。【解決手段】画像データに含まれている所定の画像から特徴量を算出する第１の算出手段（特徴量算出部２０ｊ）と、第１の算出手段によって算出された特徴量を、画像データが格納されている記憶媒体に格納する格納手段（制御部２０ｃ）と、所定の画像が指定された場合に、当該所定の画像から特徴量を算出する第２の算出手段（特徴量算出部２０ｊ）と、第２の算出手段によって算出された特徴量に類似する特徴量を記憶媒体から検索する検索手段（制御部２０ｃ）と、を有する。【選択図】図２
2008117345.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれている所定の画像から特徴量を算出する第１の算出手段と、
上記第１の算出手段によって算出された特徴量を、上記画像データが格納されている記憶媒体に格納する格納手段と、
所定の画像が指定された場合に、当該所定の画像から特徴量を算出する第２の算出手段と、
上記第２の算出手段によって算出された特徴量に類似する特徴量を上記記憶媒体から検索する検索手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記格納手段は、前記第１の算出手段によって算出された特徴量と、当該特徴量が算出された画像データを特定するための情報と、を少なくとも対応付けて格納したテーブルを前記記憶媒体に格納し、
前記検索手段は、前記第２の算出手段によって算出された特徴量に類似する特徴量を上記テーブルから検索する、
ことを特徴とする印刷装置。
【請求項３】
前記格納手段は、前記第１の算出手段によって算出された特徴量を、当該特徴量が算出された画像データのヘッダに格納し、
前記検索手段は、前記第２の算出手段によって算出された特徴量に類似する特徴量を上記ヘッダから検索する、
ことを特徴とする請求項１記載の印刷装置。
【請求項４】
前記所定の画像は、顔の画像であることを特徴とする請求項２または請求項３に記載の印刷装置。
【請求項５】
前記検索手段によって特定された特徴量を有する画像データを呈示する呈示手段をさらに有することを特徴とする請求項２または請求項３に記載の印刷装置。
【請求項６】
前記第１の算出手段および前記格納手段は、他の処理命令が出されていない場合にそれぞれの処理を実行することを特徴とする請求項２または請求項３記載の印刷装置。
【請求項７】
前記第１の算出手段および前記格納手段は、他の処理と並行してそれぞれの処理を実行することを特徴とする請求項２または請求項３に記載の印刷装置。
【請求項８】
前記第１の算出手段および前記格納手段は、前記画像データが記録された記録媒体が接続された場合であって、前記テーブルまたは前記ヘッダに特徴量が格納されていないときに、それぞれの処理を実行することを特徴とする請求項２または３に記載の印刷装置。
【請求項９】
前記第１の算出手段および前記格納手段は、新たな画像データが記録された記録媒体が接続された場合には、当該新たな画像データに対してのみそれぞれの処理を実行することを特徴とする請求項８記載の印刷装置。
【請求項１０】
前記テーブルまたは前記ヘッダには、前記画像データに関する属性情報が格納されており、
前記検索手段は、上記属性情報を参照して画像データを検索することを特徴とする請求項２または３に記載の印刷装置。
【請求項１１】
画像データに含まれている所定の画像から特徴量を算出し、
算出された特徴量を、上記画像データが格納されている記憶媒体に格納し、
所定の画像が指定された場合に、当該所定の画像から特徴量を算出し、
指定された画像から算出された特徴量に類似する特徴量を上記記憶媒体から検索する、
ことを特徴とする画像検索方法。
【請求項１２】
コンピュータを、
画像データに含まれている所定の画像から特徴量を算出する第１の算出手段、
上記第１の算出手段によって算出された特徴量を、上記画像データが格納されている記憶媒体に格納する格納手段、
所定の画像が指定された場合に、当該所定の画像から特徴量を算出する第２の算出手段、
上記第２の算出手段によって算出された特徴量に類似する特徴量を上記記憶媒体から検索する検索手段、
として機能させることを特徴とするコンピュータ読取可能な画像検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、画像検索方法、および、画像検索プログラムに関する。
【背景技術】
【０００２】
特許文献１には、多機能プリンタにて印刷用インデックスシートを印刷し、画像を印刷用インデックスシートで指定してスキャナで読み込むことにより、所望の画像を簡易に印刷または削除することが可能な技術が開示されている。
【０００３】
【特許文献１】特開２００４−２５５７２９号公報（要約書、請求項）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示される技術では、インデックス印刷されたサイズの小さい複数の画像から目的となる画像を探す必要があり、時間を要するという問題点がある。特に、人物の場合には、サイズが小さいと、被写体が誰であるのかが分かりにくいため一層時間を要する。
【０００５】
本発明は、上記の事情に基づきなされたもので、その目的とするところは、目的となる画像データを迅速に探すことが可能な印刷装置、画像検索方法、および、画像検索プログラムを提供しよう、とするものである。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、本発明の印刷装置は、画像データに含まれている所定の画像から特徴量を算出する第１の算出手段と、第１の算出手段によって算出された特徴量を、画像データが格納されている記憶媒体に格納する格納手段と、所定の画像が指定された場合に、当該所定の画像から特徴量を算出する第２の算出手段と、第２の算出手段によって算出された特徴量に類似する特徴量を記憶媒体から検索する検索手段と、を有する。このため、目的となる画像データを迅速に探すことが可能となる。
【０００７】
また、他の発明の印刷装置は、上述の発明に加えて、格納手段が、第１の算出手段によって算出された特徴量と、当該特徴量が算出された画像データを特定するための情報と、を少なくとも対応付けて格納したテーブルを記憶媒体に格納し、検索手段が、第２の算出手段によって算出された特徴量に類似する特徴量をテーブルから検索するようにしている。このため、テーブルに格納された特徴量を参照することにより、目的となる画像データを迅速に検索することが可能になる。
【０００８】
また、他の発明の印刷装置は、上述の発明に加えて、格納手段が、第１の算出手段によって算出された特徴量を、当該特徴量が算出された画像データのヘッダに格納し、検索手段が、第２の算出手段によって算出された特徴量に類似する特徴量をヘッダから検索するようにしている。このため、ヘッダに格納された特徴量を参照することにより、目的となる画像データを迅速に検索することが可能になる。
【０００９】
また、他の発明の印刷装置は、上述の発明に加えて、所定の画像は、顔の画像であるようにしている。このため、目的となる人物が含まれている画像データを迅速に探すことが可能になる。
【００１０】
また、他の発明の印刷装置は、上述の発明に加えて、検索手段によって特定された特徴量を有する画像データを呈示する呈示手段をさらに有するようにしている。このため、目的となる画像データを確認したり、印刷したりすることが可能になる。
【００１１】
また、他の発明の印刷装置は、上述の発明に加えて、第１の算出手段および格納手段は、他の処理命令が出されていない場合にそれぞれの処理を実行するようにしている。このため、例えば、他の処理命令として印刷処理が実行されていない場合に、特徴量を抽出して格納することから、ハードウエアの空き時間を利用してこれらの処理を効率よく実行することが可能になる。
【００１２】
また、他の発明の印刷装置は、上述の発明に加えて、第１の算出手段および格納手段が、他の処理と並行してそれぞれの処理を実行するようにしている。このため、他の処理と並行としてこれらの処理を実行することで、特徴量を迅速に算出して格納することが可能になる。
【００１３】
また、他の発明の印刷装置は、上述の発明に加えて、第１の算出手段および格納手段が、画像データが記録された記録媒体が接続された場合であって、テーブルまたはヘッダに特徴量が格納されていないときに、それぞれの処理を実行する。このため、必要な場合にのみこれらの処理を実行することで、ハードウエアにかかる負担を軽減することができる。
【００１４】
また、他の発明の印刷装置は、上述の発明に加えて、第１の算出手段および格納手段が、新たな画像データが記録された記録媒体が接続された場合には、当該新たな画像データに対してのみそれぞれの処理を実行するようにしている。
【００１５】
また、他の発明の印刷装置は、上述の発明に加えて、テーブルまたはヘッダには、画像データに関する属性情報が格納されており、検索手段が、属性情報を参照して画像データを検索するようにしている。このため、属性情報も利用して絞り込みを行うことにより、目的の画像データをより迅速に探すことが可能になる。
【００１６】
また、本発明の画像検索方法は、画像データに含まれている所定の画像から特徴量を算出し、算出された特徴量を、画像データが格納されている記憶媒体に格納し、所定の画像が指定された場合に、当該所定の画像から特徴量を算出し、指定された画像から算出された特徴量に類似する特徴量を記憶媒体から検索するようにしている。このため、目的となる画像データを迅速に探すことが可能となる。
【００１７】
また、本発明の画像検索プログラムは、コンピュータを、画像データに含まれている所定の画像から特徴量を算出する第１の算出手段、第１の算出手段によって算出された特徴量を、画像データが格納されている記憶媒体に格納する格納手段、所定の画像が指定された場合に、当該所定の画像から特徴量を算出する第２の算出手段、第２の算出手段によって算出された特徴量に類似する特徴量を記憶媒体から検索する検索手段、として機能させるようにしている。このため、目的となる画像データを迅速に探すことが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施の形態について、「１．実施の形態の構成例」、「２．実施の形態の動作の概要」、「３．実施の形態の動作の詳細」、「４．変形実施の形態」の順に説明する。
【００１９】
１．実施の形態の構成例
【００２０】
図１は、本発明の実施の形態に係る印刷装置の構成例を示す外観図である。この図１に示すように、印刷装置１０は、スキャナ装置、印刷装置、および、コピー装置が一体となったいわゆる複合型の印刷装置である。ここで、印刷装置１０は、装置全体を覆うケース１１と、印刷用紙を供給する給紙装置（不図示）と、原稿が載置される透明なコンタクトガラス１３およびキャリッジ１４等を有するスキャナ装置と、印刷用紙に対して印刷を行う印刷部（不図示）とを備える。なお、本発明の画像処理装置、印刷装置、画像処理方法、および、画像処理プログラムについては印刷装置１０の動作として説明する。
【００２１】
ケース１１は、略四角形状の箱体であり、その上部には開閉自在の蓋１２が設けられている。蓋１２を開けると、原稿が載置されるコンタクトガラス１３が現れる。コンタクトガラス１３の内側には、後述するイメージセンサが設けられたキャリッジ１４が存在する。キャリッジ１４を副走査方向（図中矢印で示す方向）に移動させることにより、原稿に印刷されている情報を画像データとして読み取る。なお、スキャナ装置は、イメージセンサが副走査方向に移動しながら固定された原稿を読み取る、いわゆるフラットベットタイプ（原稿固定型）のスキャナである。
【００２２】
ケース１１の前面中央部には、ＬＣＤ（Liquid Crystal Display）４０ａが配置され、その上に重畳するようにタッチパネル３０ｂが配置されている。また、その周辺には各種操作ボタン３０ａが配置されている。ＬＣＤ４０ａには、印刷装置１０のメニュー、動作内容、動作状況、エラー内容などが表示され、操作ボタン１６は、印刷装置１０のメニュー選択等を行う時に押されるようになっている。
【００２３】
ケース１１は、前面下部に、排出口１７を備え、印刷された印刷用紙が排出されるようになっている。また、ケース１１の前面右側中央部には、カードスロット１８が設けられており、例えば、図示せぬディジタルカメラなどによって撮影された画像データを記録するメモリカード７０が、取り外し自在に収納されるようになっている。なお、この例では、カードスロット１８には蓋部１８ａが設けられており、メモリカード７０を挿入する場合には、当該蓋部１８ａを開閉する。メモリカード７０には、例えば、非可逆圧縮方式としてのＪＰＥＧ形式または可逆圧縮方式としてのＴＩＦＦ形式によって圧縮された画像データが格納されている。
【００２４】
図示せぬ給紙装置は、ケース１１の背面側に設けられており、印刷用紙をストックするとともに、必要に応じて印刷装置１０の内部に一枚ずつ供給する。
【００２５】
図２は、印刷装置１０の電気的な構成例を示すブロック図である。この図に示すように、印刷装置１０は、メイン制御部２０、情報入力部３０、情報出力部４０、プリント機構５０、および、スキャン機構６０を主要な構成要素としている。
【００２６】
ここで、メイン制御部２０は、入出力制御部２０ａ、カードＩ／Ｆ（Interface）２０ｂ、制御部２０ｃ、メモリ２０ｄ、画像処理部２０ｅ、プリンタ制御部２０ｆ、バッファ２０ｇ、スキャナ制御部２０ｈ、顔認識処理部２０ｉ、および、特徴量算出部２０ｊを主要な構成要素としており、情報入力部３０から入力された情報に基づいて、情報出力部４０、プリント機構５０、および、スキャン機構６０等を制御する。
【００２７】
入出力制御部２０ａは、情報入力部３０および情報出力部４０との間で情報を授受する際にデータの表現形式を適宜変換するインタフェースである。カードＩ／Ｆ２０ｂは、メモリカード７０が挿入された場合には、メモリカード７０から画像データを読み出したり、画像データを書き込んだりする処理を実行する。メモリカード７０は、例えば、フラッシュメモリ等によって構成され、例えば、図示せぬディジタルカメラによって撮影された画像データを記憶する。
【００２８】
格納手段および検索手段としての制御部２０ｃは、例えば、ＣＰＵ（Central Processing Unit）によって構成され、メモリ２０ｄに記憶されているプログラム２０ｄ１に基づいて装置の各部を制御する。画像処理部２０ｅは、制御部２０ｃから供給された画像データに対して、復号処理等を施す。プリンタ制御部２０ｆは、プリント機構５０を制御し、画像データ等を印刷用紙に印刷する。バッファ２０ｇは、プリンタ制御部２０ｆに供給する画像データを一時的に格納するとともに、スキャナ制御部２０ｈから供給される画像データを一時的に格納する。スキャナ制御部２０ｈは、スキャン機構６０を制御し、印刷用紙に印刷された画像データを光学的に読み込む処理を実行する。
【００２９】
顔認識処理部２０ｉは、画像データに含まれている人物の顔の画像（以下、「顔画像」と称する）を認識して特定する処理を実行する。第１の算出手段および第２の算出手段としての特徴量算出部２０ｊは、画像データに含まれている顔画像の特徴量を算出する。
【００３０】
情報入力部３０は、操作ボタン３０ａおよびタッチパネル３０ｂを主要な構成要素とし、ユーザの操作に基づく情報を生成して出力する。ここで、操作ボタン３０ａは、操作パネル等に配置されたボタンであり、ユーザの操作に応じた情報を生成して出力する。タッチパネル３０ｂは、ＬＣＤ４０ａに重畳するように配置され、ＬＣＤ４０ａに表示された情報に基づいて、タッチパネル３０ｂを操作することにより、操作された位置に対応する位置情報が出力される。
【００３１】
情報出力部４０は、ＬＣＤ４０ａおよびランプ４０ｂを主要な構成要素とし、ユーザに提示する情報を出力する。ここで、呈示手段としてのＬＣＤ４０ａは、前述したようにタッチパネル３０ｂと重畳されており、制御部２０ｃから供給された画像データを表示する。ランプ４０ｂは、操作パネル等に配置されており、制御部２０ｃの制御に応じて点灯／消灯することにより、所定の情報をユーザに示す。
【００３２】
プリント機構５０は、記録ヘッド５０ａ、走査部５０ｂ、および、用紙搬送部５０ｃを主要な構成要素としており、制御部２０ｃから供給された画像データを、印刷用紙に印刷する。ここで、記録ヘッド５０ａは、例えば、ＣＭＹＫに対応する各色のインクを複数のノズルから適宜吐出し、印刷用紙に対応する画像を印刷する。走査部５０ｂは、記録ヘッド５０ａを主走査方向（記録ヘッド５０ａに設けられた各色のインク列に直交する方向）に移動させる。用紙搬送部５０ｃは、印刷用紙を副走査方向（主走査方向に直交する方向）に移動させる。
【００３３】
スキャン機構６０は、光源６０ａ、受光部６０ｂ、および、走査部６０ｃを主要な構成要素としており、印刷用紙に印刷された画像を光学的に読み取って、対応する画像データを生成して出力する。ここで、光源６０ａは、例えば、冷陰極管によって構成され、印刷用紙の読み取ろうとする領域に対して白色光を照射する。受光部６０ｂは、光源６０ａによって照射され、印刷用紙によって反射された光を受光して対応する電気信号に変換するＣＣＤ（Charge Coupled Device）等によって構成される。走査部６０ｃは、受光部６０ｂを副走査方向（走査部６０ｃの長手方向に直交する方向）に移動させる。
【００３４】
つぎに、本発明の実施の形態の動作について説明する。以下では、まず、実施の形態の動作の概要を説明した後、図３〜６を参照して、詳細な動作について説明する。
【００３５】
２．実施の形態の動作の概要
【００３６】
本発明の実施の形態では、メモリカード７０がカードＩ／Ｆ２０ｂに接続された場合に、メモリカード７０に格納されている全ての画像データを読み出し、顔認識処理によってそれぞれの画像データに含まれている顔画像を特定する。そして、特定された顔画像から特徴量を算出し、算出された特徴量に基づいて画像識別子を生成する。つづいて、画像識別子と、画像データのファイル名その他を対応付けした画像識別子テーブルを生成し、メモリカード７０に格納する。
【００３７】
つぎに、所定の画像データに含まれている顔画像がユーザによって指定された場合には、当該顔画像から特徴量を算出し、算出された特徴量と類似性が高い画像識別子を画像識別子テーブルから検索する。類似性が高い画像識別子が存在する場合には、対応する画像データをメモリカード７０から取得し、ＬＣＤ４０ａに表示し、必要であれば印刷する。
【００３８】
このように本発明の実施の形態では、画像識別子を生成し、画像識別子テーブルとしてメモリカード７０に格納し、所定の人物を印刷する場合には、当該人物の顔画像を画像上において指定することにより、類似性が高い顔画像の画像識別子が検索され、ＬＣＤ４０ａに表示され、必要に応じて印刷される。このため、同一人物が含まれている画像データを簡易に検索することが可能になる。
【００３９】
３．実施の形態の動作の詳細
【００４０】
つぎに、図３〜１１を参照して、本発明の実施の形態の詳細な動作について説明する。
【００４１】
図３は、本発明の実施の形態において、メモリカード７０がＩ／Ｆ２０ｂに接続された場合に、当該行為をトリガとして実行される処理の一例を説明するフローチャートである。この処理が実行されると、以下のステップが実行される。
【００４２】
ステップＳ１０：制御部２０ｃは、メモリカード７０を検索し、画像識別子テーブルを格納するファイルが既に存在しているか否かを判定する。そして、画像識別子テーブルが既に存在する場合は処理を終了し、それ以外の場合にはステップＳ１１に進む。ここで、画像識別子テーブルとは、顔画像から抽出された個々の顔の特徴量を示す画像識別子と、画像データのファイル名と、その他の属性情報としてパラメータを格納したテーブルである。
【００４３】
図４は、画像識別子テーブルの一例を示している。この例では、画像識別子テーブルは、ファイル名、全体パラメータ、画像識別子、および、顔パラメータが対応付けして格納されている。ここで、ファイル名は、対象となる画像データに付与されたファイルの名称を示している。例えば、第１番目の画像データのファイル名は「Ｐ１００１」とされている。全体パラメータは、顔画像を含む画像データ全体（個々の顔画像ではなく画像全体）に関するパラメータを示す。この例では、全体パラメータとしては、集合写真または単独写真の別を示す情報、樹木等の緑色および空または海の青色が含まれているか否かを示す情報、撮影年月日を示す情報を含んでいる。例えば、第１番目のファイル「Ｐ１００１」の場合、全体パラメータとしては「集合写真」、「緑：有，青：無」、「２００６／０５／１１  １２：１３」が格納されており、複数の顔画像が含まれる集合写真であり、樹木等の緑が含まれているが空等の青は含まれておらず、撮影年月日は２００６／０５／１１  １２：１３であることが示されている。
【００４４】
画像識別子は、画像データに含まれている顔画像から算出された特徴量に基づいて生成されたＩＤであり、この例では１０桁の１６進数として表されている。画像データには顔画像が含まれる場合と含まれない場合（例えば、風景画の場合）があり、また、顔画像が含まれる場合には集合写真と単独写真の場合が存在する。図４の例では、ファイル名「Ｐ１００１」の場合は、集合写真であり画像データ中には複数の顔画像が存在するため複数の画像識別子が格納されている。ファイル名「Ｐ１００２」の場合は、単独写真であり画像データ中には１つの顔画像が存在し、１つの画像識別子が存在する。ファイル名「Ｐ１００３」の場合は、顔画像は存在しないため、画像識別子は存在しない。
【００４５】
顔パラメータは、個々の画像識別子に対応する顔画像のパラメータであり、この例では、顔の位置、向き、大きさ、肌色、逆光、および、赤目等の情報によって構成されている。ここで、「位置」は、画像データ中において顔画像が存在する位置を示す。この例では、画像データの縦方向および横方向の座標値によって示されている。「向き」は、顔が向いている方向を示し、例えば、正面、上向、下向、左向、および、右向から選択される。「大きさ」は、顔画像のサイズを示し、例えば、大、中、および、小から選択される。「肌色」は、肌色の発色の良否を示し、例えば、良好、普通、および、悪いから選択される。「逆光」は、逆光の有無を示し、例えば、有および無から選択される。「赤目」は、フラッシュが使用されて撮影がされた場合に人物の目が赤く撮影されるいわゆる赤目現象の発生の有無を示し、有および無から選択される。なお、これら以外のパラメータを使用してもよいし、または、これらのパラメータの一部を使用しても良い。
【００４６】
ステップＳ１１：制御部２０ｃは、パラメータを選択する画面を表示するための情報をメモリ２０ｄから読み出し、入出力制御部２０ａを介して、情報出力部４０のＬＣＤ４０ａに供給し、表示させる。その結果、ＬＣＤ４０ａには、図５に示すような情報が表示される。この表示例では、画面８０の最上部には、メッセージとしての「画像識別子テーブルに含めるパラメータを指定して下さい。」が表示されており、その下の領域８０ｂには、各種パラメータを選択するためのチェックボックスとパラメータの内容とが対応付けされて表示されている。また、その下には、入力された内容で決定する場合に操作されるボタン８０ｃと、入力された内容をキャンセルする場合に操作されるボタン８０ｄとが表示されている。
【００４７】
パラメータとしては、図４に示す全体パラメータとしての「集合写真ｏｒ単独写真」、「緑（森）ｏｒ青（空、海）の有無、および、撮影日時が選択可能とされ、また、顔パラメータとしての「画像中の顔の位置」、「顔の向き」、「顔の大きさ」、「肌色の良否」、「逆光の有無」、および、「赤目の有無」が選択可能とされている。それぞれのパラメータの左隣に表示されているチェックボックスを操作ボタン３０ａを操作してチェックすることにより、画像識別子テーブルにそれぞれのパラメータを含めることができる。この例では、全てのパラメータがチェックされて選択されている。
【００４８】
なお、図５の例では、全ての画像データに対するパラメータを一括して設定するようにしたが、例えば、画像データを確認しながら画像データ単位でパラメータを設定したり、所定の画像データ群（例えば、所定の期間に撮影された画像データ）毎にパラメータを選択したりするようにしてもよい。
【００４９】
ステップＳ１２：制御部２０ｃは、図５に示す画面における入力が完了したか否かを判定し、終了した場合にはステップＳ１３に進み、それ以外の場合には同様の処理を繰り返す。すなわち、入力待ちの状態となる。例えば、図５に示すボタン８０ｃが操作された場合にはステップＳ１３に進む。
【００５０】
ステップＳ１３：制御部２０ｃは、図５に示す画面において選択されたパラメータの種類をチェックする。図５の例では、全てのチェックボックスがチェックされているので、全ての種類のパラメータが画像識別子テーブルの格納対象となる。
【００５１】
ステップＳ１４：制御部２０ｃは、変数Ｍに、メモリカード７０に格納されている画像データの数（画像データファイルの数）を格納する。例えば、メモリカード７０に画像データファイルが３枚格納されている場合には、変数Ｍに値“３”が格納される。なお、Ｍの値が大きい場合（メモリカード７０に格納されている画像データの数が多い場合）には、処理に時間を要することから、例えば、画像識別子を生成する処理（ステップＳ１５以降の処理）を実行するか否かをユーザに問い合わせてから実行するようにしてもよい。あるいは、Ｍの値が大きい場合には、全ての画像データに対して処理を一律に実行するのではなく、画像データの一部をユーザに選択させて、選択された画像データのみに対して画像識別子を生成するようにしてもよい。さらに、Ｍの値のみならず、印刷装置１０の処理能力の高低を考慮し、処理に時間を要する場合には、ユーザに問い合わせをしたり、一部の画像データを選択させるようにしたりしてもよい。さらにまた、このような判断は、ステップＳ１４ではなく、ステップＳ１１よりも前に配置すれば不要な操作等の発生を防止できる。すなわち、処理に時間がかかるとの通知を受けたユーザが、画像識別子の生成処理を実行しないと判断した場合に、不要な入力操作（すなわち、パラメータ指定画面における入力操作等）をユーザが行うことを防止できる。
【００５２】
ステップＳ１５：制御部２０ｃは、メモリカード７０に格納されている画像データのファイル名を、同じくメモリカード７０に新たに生成したファイルとしての画像識別子テーブルに格納する。その結果、図４に示すように、「Ｐ１００１」、「Ｐ１００２」、および、「Ｐ１００３」等のファイル名が格納される。
【００５３】
ステップＳ１６：制御部２０ｃは、処理の回数をカウントする変数Ｎに初期値“１”を代入する。
【００５４】
ステップＳ１７：制御部２０ｃは、入出力制御部２０ａおよびカードＩ／Ｆ２０ｂを介して、メモリカード７０から第Ｎ番目の画像データを取得する。具体的には、Ｎ＝１である場合には、制御部２０ｃは、第１番目の画像データを取得する。取得処理が完了すると、制御部２０ｃは、得られた画像データを画像処理部２０ｅに供給し、ＪＰＥＧ圧縮等が施された画像データに対して復号処理を実行させる。具体的には、画像処理部２０ｅは、ＪＰＥＧ圧縮が施されている画像データに対して、ハフマン解凍、逆量子化処理、逆ＤＣＴ処理、および、色変換処理等を施して復号する。復号処理が施された画像データは、メモリ２０ｄに格納される。
【００５５】
ステップＳ１８：制御部２０ｃは、ステップＳ１７において取得した画像データを、顔認識処理部２０ｉに供給し、顔認識処理を実行させる。具体的には、顔認識処理部２０ｉは、顔画像のテンプレートを多数有しており、各テンプレートとステップＳ１７で取得した画像データの任意の領域との相関を計算する。ここで、顔のテンプレートは、図６（Ａ）に示すように、顔の特徴点（目、鼻、口等）を含む画像であり、複数の大きさのテンプレートが存在する。図６（Ａ）の例では、第１〜第５の順でそのサイズが小さくなっている。なお、テンプレートの画像の解像度が高い場合には、各個人の顔の特徴に影響を受けてマッチング処理の精度が低下するので、図６（Ｂ）に示すように、テンプレートにモザイク処理を施すことにより、各個人の特徴に影響を受けにくくしている。
【００５６】
そして、相関が高い場合には画像データ中に顔が含まれていると判定し、例えば、当該領域の中心座標とその範囲を指定するパラメータを制御部２０ｃに受け渡す。なお、画像データに含まれている顔の大きさは様々であり、また、顔の方向も様々であるので、顔認識処理部２０ｉは、大きさおよび方向（例えば、上向、下向、左向、右向等）が異なる複数のテンプレートを有しており、これらのそれぞれを利用して顔認識処理を実行する。また、１枚の画像データに複数の顔が含まれている場合があるので、顔認識処理部２０ｉは、画像データに含まれている全ての顔が検出されるまで、同様の処理を繰り返す。その結果、ステップＳ１８の処理では、画像データに含まれている全ての人物の様々なサイズおよび方向の顔が認識された後、位置、範囲、サイズ、方向を示すパラメータが制御部２０ｃに供給されることになる。
【００５７】
図７（Ａ）は、顔認識処理によって特定された顔画像の様子を示している。また、図７（Ｂ）は、顔認識処理によって特定された顔画像の領域を示している。この例では、画像の中央付近に含まれている人物の顔が顔認識処理によって特定されている。
【００５８】
ステップＳ１９：制御部２０ｃは、ステップＳ１７において取得した画像データから図４に示す全体パラメータを取得する。具体的には、制御部２０ｃは、ステップＳ１８における顔認識処理の結果、複数の顔が検出された場合には、集合写真または単独写真の別を示すパラメータを集合写真に設定し、単独の顔の場合には単独写真とする。また、顔が検出できない場合には顔が検出されないことを示す「−」を設定する。つづいて、制御部２０ｃは、ステップＳ１７で取得した画像データを所定の割合でサンプリングし、当該サンプリングデータ中に含まれている画素データに緑色または青色の色域のデータが所定の割合以上含まれているか否かを判定することにより、樹木の緑または空等の青が含まれているか否かを判定する。また、制御部２０ｃは、画像データに含まれているヘッダ情報から撮影日時に関する情報を抽出し、撮影日時情報とする。
【００５９】
ステップＳ２０：制御部２０ｃは、ステップＳ１８において取得した全体パラメータを、メモリカード７０に新たに形成されたファイルとしての画像識別子テーブルに格納する。いまの例では、Ｎ＝１であるので、第１番目の画像データであるＰ１００１の全体パラメータが格納される。
【００６０】
ステップＳ２１：制御部２０ｃは、ステップＳ１８における顔認識処理によって顔が存在すると判定された場合にはステップＳ２２に進み、それ以外の場合にはステップＳ２８に進む。例えば、図７（Ａ）に示すような顔が存在する場合にはステップＳ２２に進む。
【００６１】
ステップＳ２２：特徴量算出部２０ｊは、ステップＳ１８の処理において顔画像が含まれていると特定された領域のひとつに対して特徴量を算出する処理を実行する。すなわち、特徴量算出部２０ｊは、供給された画像データの顔画像が存在する領域に対して、図７（Ｃ）に示すように、ノードと呼ばれる特徴点を複数箇所（例えば、５０〜１００ポイント）設定する。つぎに、ガボールウェーブレット変換を用いて、それぞれのノードの方向性、濃淡、位置関係などを抽出し、これを特徴量とする。
【００６２】
ステップＳ２３：制御部２０ｃは、ステップＳ２２において抽出された特徴量に基づいて、それぞれの人物の顔のＩＤとしての画像識別子を生成する。例えば、ステップＳ２２において抽出された複数のノードの特徴量を連結して、１つの数列（例えば、１０桁の１６進数）とし、これを画像識別子とする。なお、これ以外の方法によって、画像識別子を生成してもよい。
【００６３】
ステップＳ２４：制御部２０ｃは、ステップＳ２３において生成された画像識別子を、メモリカード７０に存在する画像識別子テーブルに格納する。その結果、図７の例では、画像データ中に顔は１つだけ含まれているので、１つの画像識別子が画像識別子テーブルに格納される。
【００６４】
ステップＳ２５：制御部２０ｃは、ステップＳ２３において画像識別子が生成された顔画像に関する顔パラメータを算出する処理を実行する。なお、この処理の詳細については、図８を参照して後述する。
【００６５】
ステップＳ２６：制御部２０ｃは、ステップＳ２６において算出した顔パラメータを、メモリカード７０の画像識別子テーブルに格納する。その結果、ステップＳ２３において生成された画像識別子に対応する顔パラメータが画像識別子テーブルに格納される。
【００６６】
ステップＳ２７：制御部２０ｃは、ステップＳ１８における顔認識処理の結果に基づいて、画像データ中に他の顔が存在しているかを判定し、存在している場合にはステップＳ２２に戻って同様の処理を繰り返し、それ以外の場合にはステップＳ２８に進む。例えば、図７の例では、顔は１つしか含まれていないので、１回目の処理が終了すると、ステップＳ２８に進む。
【００６７】
ステップＳ２８：制御部２０ｃは、処理の回数をカウントするための変数Ｎの値を“１
”インクリメントする。
【００６８】
ステップＳ２９：制御部２０ｃは、変数Ｎの値が、Ｍの値よりも大きいか否かを判定する。すなわち、制御部２０ｃは、処理の回数をカウントするための変数Ｎの値と、画像データの数が格納された変数Ｍの値とを比較し、変数Ｎの値が変数Ｍの値よりも大きい場合（全ての画像データに対する処理が完了した場合）には処理を終了し、それ以外の場合にはステップＳ１７に戻って、他の画像データに対する処理を実行する。
【００６９】
以上の処理により、メモリカード７０に格納されている全ての画像データに含まれている全ての人物の画像識別子、全体パラメータ、および、顔パラメータが生成され、メモリカード７０中の画像識別子テーブルに格納されることになる。
【００７０】
つぎに、図８を参照して、図３のステップＳ２５に示す顔パラメータ算出処理の詳細について説明する。図８に示すフローチャートが開始されると、以下のステップが実行される。
【００７１】
ステップＳ５０：制御部２０ｃは、図５に示す画面において、顔の位置を顔パラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ５１に進み、それ以外の場合にはステップＳ５２に進む。
【００７２】
ステップＳ５１：制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔の位置に関する情報をメモリカード７０の画像識別子テーブルに格納する。具体的には、例えば、顔画像の中心位置を示す座標情報が画像識別子テーブルに格納される。
【００７３】
ステップＳ５２：制御部２０ｃは、図５に示す画面において、顔の向きを顔パラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ５３に進み、それ以外の場合にはステップＳ５４に進む。
【００７４】
ステップＳ５３：制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔の方向に関する情報をメモリカード７０の画像識別子テーブルに格納する。すなわち、ステップＳ１８の顔認識処理では、例えば、上下左右を向いたテンプレートが使用されて顔認識処理が実行されるので、使用したテンプレートの種類によって顔の方向を検出することができる。そこで、制御部２０ｃは、使用したテンプレートに種類に関する情報を得ることで、顔の方向を特定し、顔の方向を、例えば、上向、下向、左向、右向の情報として画像識別子テーブルに格納する。
【００７５】
ステップＳ５４：制御部２０ｃは、図５に示す画面において、顔の大きさを顔パラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ５５に進み、それ以外の場合にはステップＳ５６に進む。
【００７６】
ステップＳ５５：制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔の大きさに関する情報をメモリカード７０の画像識別子テーブルに格納する。すなわち、ステップＳ１８の顔認識処理では、図６（Ａ）に示すように異なるサイズの複数のテンプレートが使用されて顔認識処理が実行されるので、使用したテンプレートのサイズによって顔の大きさを検出することができる。そこで、制御部２０ｃは、使用したテンプレートのサイズに関する情報を得ることで、顔の大きさを特定し、顔の大きさを、例えば、大、中、小の情報として画像識別子テーブルに格納する。
【００７７】
ステップＳ５６：制御部２０ｃは、図５に示す画面において、肌色の良否を顔パラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ５７に進み、それ以外の場合にはステップＳ５８に進む。
【００７８】
ステップＳ５７：制御部２０ｃは、顔画像の肌色の状態を特定し、メモリカード７０の画像識別子テーブルに格納する。具体的には、制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔画像に含まれている画素をサンプリングし、メモリ２０ｄに格納されている理想的な肌色のデータと比較することにより、肌色の状態を判定する。そして、肌色の状態に応じて、例えば、理想的、普通、悪いに分類し、これらいずれかの情報を画像識別子テーブルに格納する。
【００７９】
ステップＳ５８：制御部２０ｃは、図５に示す画面において、逆光の有無を顔パラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ５９に進み、それ以外の場合にはステップＳ６０に進む。
【００８０】
ステップＳ５９：制御部２０ｃは、顔画像が逆光下で撮影されたか否かを特定し、メモリカード７０の画像識別子テーブルに格納する。具体的には、制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔画像に含まれている画素と、その他の領域の画素をサンプリングし、それぞれの領域の画素の平均輝度を比較することにより、顔画像に含まれる画素の平均輝度がその他の領域よりも所定量以上低い場合には、逆光下で撮影された画像であると判定し、「有」を画像識別子テーブルに格納し、それ以外の場合には「無」を格納する。
【００８１】
ステップＳ６０：制御部２０ｃは、図５に示す画面において、赤目の有無をパラメータに含めることが指定されているか否かを判定し、含める場合にはステップＳ６１に進み、それ以外の場合には元の処理に復帰する。
【００８２】
ステップＳ６１：制御部２０ｃは、赤目現象が発生しているか否かを判定し、判定結果を、メモリカード７０の画像識別子テーブルに格納する。具体的には、制御部２０ｃは、ステップＳ１８における顔認識処理によって特定された顔画像中において、赤目特有の色域に属する画素が存在するか否かを検出する。そして、当該色域が検出された場合には、その周辺を囲繞するように瞳の色（黒色）が存在するか否かを検出することにより、赤目現象が発生しているか否かを判定する。そして、判定結果を、赤目の有無を示す情報として、画像識別子テーブルに格納する。
【００８３】
以上の処理により、図４に示す顔パラメータが生成されてメモリカード７０に格納されることになる。
【００８４】
つぎに、図９を参照して、図３の処理によって生成された画像識別子を利用して、所定の人物を検索する処理について説明する。ユーザが、所定の画像データに含まれている人物と同一の人物をメモリカード７０に格納されている画像データから検索して印刷しようとした場合、操作ボタン３０ａを操作して、図９に示す処理を実行させる。この処理が実行されると、以下のステップが実行される。
【００８５】
ステップＳ８０：ユーザが操作ボタン３０ａまたはタッチパネル３０ｂを操作することにより、メモリカード７０またはメモリ２０ｄに記憶されている所定の画像データを選択すると、制御部２０ｃは、当該画像データをメモリカード７０またはメモリ２０ｄから取得し、ＬＣＤ４０ａに表示させる。なお、この際に、復号処理等を実行する点については、図３のステップＳ１７において説明した通りである。
【００８６】
ステップＳ８１：ユーザが、例えば、ＬＣＤ４０ａに表示されている画像を参照して、人物の顔の部分を、図１０（Ａ）に示すように、タッチペン８５によって指定すると、制御部２０ｃは、入出力制御部２０ａを介して、タッチパネル３０ｂから出力される位置情報を読み取る。そして、制御部２０ｃは、ＬＣＤ４０ａに表示されている画像データ（サイズの小さい画像データ）のサイズと、位置情報とを比較することにより、オリジナルの画像データ中において指定されている位置を特定する。
【００８７】
ステップＳ８２：制御部２０ｃは、ステップＳ８１において特定した位置に関する情報と、画像データとを顔認識処理部２０ｉに供給し、顔認識処理を実行させる。この結果、顔認識処理部２０ｉは、指定された位置を中心として顔認識処理を実行し、画像データに含まれている顔画像を特定する。図１０（Ｂ）は、図１０（Ａ）に示す画像データから特定された顔画像の一例である。この例では、図１０（Ａ）の人物の顔画像が特定されて、抽出されている。
【００８８】
ステップＳ８３：制御部２０ｃは、ステップＳ８２で特定された顔画像の位置情報を、特徴量算出部２０ｊに供給する。特徴量算出部２０ｊは、供給された位置情報に対応する顔画像データに対して、図１０（Ｃ）に示すように、ノードを複数箇所（例えば、５０〜１００ポイント）設定する。つぎに、ガボールウェーブレット変換を用いて、それぞれのノードの方向性、濃淡、位置関係などを抽出し、これを特徴量とする。
【００８９】
ステップＳ８４：制御部２０ｃは、パラメータ入力画面を表示するための情報を、メモリ２０ｄから読み出し、入出力制御部２０ａを介して情報出力部４０のＬＣＤ４０ａに供給して表示させる。この結果、図１１に示す情報がＬＣＤ４０ａに表示される。
【００９０】
図１１に示す表示例では、画面９０の最上部にはメッセージ９０ａとして「検索する画像のパラメータを入力して下さい。」が表示されている。また、その下の領域９０ｂには、パラメータの種類を示す情報と、各パラメータを指定するためのチェックボックスとが表示されている。その下の領域９０ｃには、撮影日時を入力するためのテキストボックスが表示されている。また、その下には、入力した内容で決定する場合に操作されるボタン９０ｄと、内容をキャンセルする場合に操作されるボタン９０ｅとが表示されている。
【００９１】
ここで、顔の位置としては、中央、上寄、下寄、左寄、右寄から選択される。なお、画像データの外枠を示す画像を表示してその画像中において位置を指定するようにしてもよい。顔の向きとしては、正面、上向、下向、左向、右向から選択される。なお、顔の向きを示す画像データを複数表示してその中から指定するようにしてもよい。顔の大きさとしては、大、中、小の中から選択する。前述の場合と同様に、大中小に対応する画像を表示してその中から選択するようにしてもよい。肌色の良否については、良好、普通、悪から選択される。逆光の有無については、有、無の中から選択される。赤目の有無については、有、無の中から選択される。集合ｏｒ単独については、集合、単独から選択される。緑ｏｒ青の有無については、青、緑のそれぞれのチェックボックスをチェックすることにより選択される。撮影日時については、日時の範囲をテキストボックスに入力することにより指定される。なお、検索パラメータの状態を問わない場合には、当該検索パラメータについてはチェックをしたり、入力を行ったりする必要はない。
【００９２】
なお、顔の位置については、画像識別子テーブルでは、座標情報として格納されているため、これを図１１に示す５つのカテゴリによって指示可能とする必要がある。一例としては、画像データを９等分し、その中央を「中央」とし、それに上下左右に隣接する領域をそれぞれ「上寄」、「下寄」、「左寄」、および、「右寄」とするとともに、画像データの頂点の領域については、左上隅は「上寄」および「左寄」によって指定し、右上隅は「上寄」および「右寄」によって指定し、左下隅は「下寄」および「左寄」によって指定し、右下隅は「下寄」および「右寄」によって指定するようにしてもよい。
【００９３】
ステップＳ８５：制御部２０ｃは、図１１に示す画面において、パラメータの入力が完了したか否かを判定し、終了した場合にはステップＳ８６に進み、それ以外の場合には同様の処理を繰り返す。具体的には、図１１に示す画面において、ボタン９０ｄが操作された場合にはステップＳ８６に進む。
【００９４】
ステップＳ８６：制御部２０ｃは、変数Ｍに、メモリカード７０に格納されている画像データの数（画像データファイルの数）を格納する。例えば、メモリカード７０に画像データファイルが２０枚格納されている場合には、変数Ｍに値“２０”が格納される。ここで、画像データの数は、図４に示す画像識別子テーブルのファイル数から取得するようにしてもよい。なお、Ｍの値が大きい場合（メモリカード７０に格納されている画像データの数が多い場合）には、処理に時間を要することから、例えば、検索処理（ステップＳ８７以降の処理）を実行するか否かをユーザに問い合わせてから実行するようにしてもよい。あるいは、Ｍの値が大きい場合には、全ての画像データに対して検索処理を一律に実行するのではなく、画像データの一部をユーザに選択させて、選択された画像データのみを対象として検索処理を実行するようにしてもよい。さらに、Ｍの値のみならず、印刷装置１０の処理能力の高低を考慮し、処理に時間を要する場合には、ユーザに問い合わせをしたり、一部の画像データを選択させるようにしたりしてもよい。さらにまた、このような判断は、ステップＳ８６ではなく、ステップＳ８４よりも前に配置すれば不要な操作等の発生を防止できる。すなわち、処理に時間がかかるとの通知を受けたユーザが、検索を実行しないと判断した場合に、不要な入力操作（すなわち、画像データの選択、人物の指定、および、パラメータ指定画面における入力操作等）をユーザが行うことを防止したり、印刷装置１０が顔認識処理および特徴量算出処理を無駄に実行したりすることを防止できる。
【００９５】
ステップＳ８７：制御部２０ｃは、処理の回数をカウントする変数Ｎに初期値“１”を代入する。
【００９６】
ステップＳ８８：制御部２０ｃは、メモリカード７０またはメモリ２０ｄに格納されている画像識別子テーブルから、第Ｎ番目の画像データの全体パラメータを取得する。例えば、Ｎ＝１である場合には、ファイル名が「Ｐ１００１」である画像データに含まれている全体パラメータが取得される。
【００９７】
ステップＳ８９：制御部２０ｃは、ステップＳ８８において取得された全体パラメータと、図１１に示す画面において入力された全体パラメータとが一致するか否かを判定し、一致する場合にはステップＳ９０に進み、それ以外の場合にはステップＳ９５に進む。例えば、図１１において、「集合写真」と「緑」がチェックされ、撮影日時として「２００６年５月１０日」〜「２００６年５月１２日」が入力された場合であって、Ｎ＝１のときには、第１番目の画像データである「Ｐ１００１」が処理対象となるが、全体パラメータが一致するのでステップＳ９０に進むことになる。
【００９８】
ステップＳ９０：制御部２０ｃは、画像識別子テーブルから該当する画像データの画像識別子を全て取得する。いまの例（Ｎ＝１の場合）では、図４に示す第１番目の画像データ「Ｐ１００１」の画像識別子が全て取得される。
【００９９】
ステップＳ９１：特徴量算出部２０ｊは、ステップＳ８３において抽出された、検索しようとする人物の顔の特徴量と、ステップＳ９０において取得された画像識別子とのマッチング処理を実行する。具体的には、画像識別子と特徴量において、それぞれの部位（例えば、目、鼻、口等）を示す値同士の差分の２乗を累積加算し、累積加算値が所定の閾値よりも小さい場合には相関が高いと判断することにより判定できる。なお、顔の向きが異なる場合には、特徴量が異なる場合が考えられるので、向きに応じて正規化を行い（例えば、上向きの場合には顔のパーツが上下方向の縮まった状態で撮影されるので、これを引き延ばす方向に正規化を行い）、正規化後の特徴量によって比較を行うことが望ましい。
【０１００】
ステップＳ９２：制御部２０ｃは、ステップＳ９１の処理により、特徴点を比較した結果、相関性が高い（顔が高い確度で一致する）画像識別子が存在する場合には、ステップＳ９３に進み、それ以外の場合にはステップＳ９５に進む。
【０１０１】
ステップＳ９３：制御部２０ｃは、相関性が高い画像識別子が存在すると判定された場合には、当該画像識別子に対応付けされた顔パラメータを画像識別子テーブルから取得し、顔パラメータが図１１において入力された情報と一致するか否かが判定される。例えば、顔の位置が中央で、顔の向きが正面で、顔の大きさが中であることが指定されている場合に、顔パラメータがこれらと一致する場合にはステップＳ９４に進み、それ以外の場合にはステップＳ９５に進む。
【０１０２】
ステップＳ９４：制御部２０ｃは、ステップＳ８９において同一人物のものであると判定された画像識別子に対応する画像データを、ＬＣＤ４０ａに供給して表示させる。具体的には、画像データに対して復号処理およびサンプリング処理を実行し、得られた画像データをＬＣＤ４０ａに表示させる。なお、画像データに複数の顔が含まれている場合には、画像識別子テーブルの位置の情報を参照して、該当する顔の位置を、例えば、円形または四角形等のシンボルによって囲繞して指示するようにしてもよい。その場合、顔の大きさに関する情報に適合する大きさのシンボルによって囲繞するようにすれば顔領域を的確に指示することができる。
【０１０３】
なお、以上のように該当する画像データを取得する毎に表示するのではなく、Ｎ回検索した後に該当する画像データを一括して表示するようにしてもよい。その場合には、対応するサムネイル画像（画像データの縮小画像）を、一覧表示するようにすればよい。
【０１０４】
また、表示された顔を参照し、ユーザが印刷を指示した場合には、当該画像データを印刷するようにしてもよい。具体的には、例えば、操作ボタン３０ａの中の印刷開始ボタンをユーザが操作した場合には、画像データを画像処理部２０ｅを介してバッファ２０ｇに供給する。バッファ２０ｇに供給された画像データは、プリンタ制御部２０ｆに逐次読み出され、プリント機構５０に逐次供給される。プリント機構５０では、１走査ライン分の画像データをプリンタ制御部２０ｆから取得し、記録ヘッド５０ａによって該当する色のインクを吐出して印刷用紙に記録する。この際、走査部５０ｂが記録ヘッド５０ａを主走査方向（記録ヘッド５０ａの各色のインク列に直交する方向）に移動させるとともに、用紙搬送部５０ｃが印刷用紙を副走査方向（主走査方向に直交する方向）に移動させる。このような動作を繰り返すことにより、所望の人物の顔画像を含む画像データが印刷用紙に印刷される。
【０１０５】
ステップＳ９５：制御部２０ｃは、処理の回数をカウントするための変数Ｎの値を“１
”インクリメントする。
【０１０６】
ステップＳ９６：制御部２０ｃは、変数Ｎの値が、Ｍの値よりも大きいか否かを判定する。すなわち、制御部２０ｃは、処理の回数をカウントするための変数Ｎの値と、画像データの数が格納された変数Ｍの値とを比較し、変数Ｎの値が変数Ｍの値よりも大きい場合（全ての画像データに対する処理が完了した場合）には処理を終了し、それ以外の場合にはステップＳ８８に戻って、他の画像データに対する処理を実行する。
【０１０７】
以上の処理により、画像データ中において所定の顔が指定された場合には、特徴量が抽出されるとともに、画像識別子テーブルから相関性が高い画像識別子が検索される。そして、相関性が高い画像識別子が存在する場合には、該当する画像データがメモリカード７０から読み出されてＬＣＤ４０ａに表示される。ユーザはＬＣＤ４０ａに表示された画像を参照することにより、所望の人物である場合には印刷処理を指示することにより、所望の人物の印刷画像を得ることができる。
【０１０８】
以上に説明したように、本発明の実施の形態によれば、画像データに含まれている所定の人物の顔画像を指定することにより、画像識別子テーブルに基づいて、類似性が高い画像識別子を含む画像データを特定することができる。また、必要に応じて印刷することができる。
【０１０９】
また、本実施の形態によれば、メモリカード７０がカードＩ／Ｆ２０ｂに挿入された際に、画像識別子を生成して、メモリカード７０に格納しておき、人物を検索する際には、当該画像識別子を用いて検索を行うようにしたので、検索が要求された際に、全ての画像データに対して顔認識処理および特徴量抽出処理を実行する場合に比較して、処理を迅速に行うことが可能になる。
【０１１０】
また、検索対象となる人物については、ＬＣＤ４０ａに表示し、表示された画像を参照しながらタッチパネル３０ｂを操作することにより指定することができるので、所望の人物を簡易に指定することが可能になる。
【０１１１】
また、画像データに複数の人物が含まれている場合には、該当する人物を円形または四角形のシンボルにて囲繞して表示するようにしたので、画像データ中に複数の人物が存在する場合でも目的の人物を迅速に見つけることができる。
【０１１２】
４．変形実施の形態
【０１１３】
なお、以上の実施の形態は、一例であって、これ以外にも種々の変形実施態様が存在する。例えば、以上の実施の形態では、メモリカード７０をカードＩ／Ｆ２０ｂに挿入して画像データを読み出すようにしたが、例えば、図示せぬディジタルカメラを、同じく図示せぬケーブルによって入出力制御部２０ａに接続し、当該ケーブルを介して画像データを読み出すようにしてもよい。また、図４に示す画像識別子テーブルを、ディジタルカメラのメモリに記憶するようにしてもよい。
【０１１４】
また、以上の実施の形態では、タッチパネル３０ｂを操作して、検索しようとする人物を指定するようにしたが、例えば、検索しようとする人物が含まれる画像データを、プリント機構によって印刷用紙に印刷し、当該印刷用紙に対してユーザが筆記用具等により印を付け、スキャン機構６０によって読み込み、人物を特定するようにしてもよい。具体的には、まず、検索しようとする人物が含まれる画像データを指定し、プリンタ制御部２０ｆに供給して印刷用紙に印刷させる。このとき、人物の画像データは、スキャン機構６０で読み込んだ際に印を特定しやすくするために、例えば、青色の濃淡画像とする。そして、ユーザは、印刷用紙に印刷された画像において、検索しようとする人物に筆記具等で印を付け、スキャン機構６０によって光学的に読み取らせる。その結果、印を付けた画像は、画像データに変換されて読み込まれる。読み込まれた画像データは、例えば、青色の画像データを除去することにより、ユーザによって記入された印が明確になる。このようにして特定された印の位置と、元の画像データとを比較することにより、画像データにおける印の位置を特定する。その後は、前述した図９のステップＳ８２以降の処理を実行することにより、前述の場合と同様の処理を実現できる。
【０１１５】
また、図３および図８に示す処理は、メモリカード７０がカードＩ／Ｆ２０ｂに挿入された場合に直ちに実行されるようにしたが、例えば、メモリカード７０がカードＩ／Ｆ２０ｂに挿入された場合であって、制御部２０ｃ等のハードウエアの稼働率に応じて実行するようにしてもよい。例えば、ハードウエアの稼働率が低い場合（例えば、印刷処理が実行されていない場合等）には、図３および図８の処理を実行し、稼働率が上昇した場合にはこれらの処理を中断して、印刷処理等を優先的に実行するようにしてもよい。あるいは、印刷処理と図３および図８の処理を並行して実行するようにしてもよい。さらに、これらの処理の優先順位を設定できるようにしておき、高い優先順位が設定された場合には、印刷処理が要求された場合でも図３および図８の処理を優先して実行し、中間の優先順位が設定された場合には印刷処理と図３および図８の処理を並行して実行し、低い優先順位が設定された場合には印刷処理を優先して実行し、印刷処理が終了してから図３および図８の処理を実行するようにしてもよい。
【０１１６】
また、メモリカード７０がカードＩ／Ｆ２０ｂに挿入されたことをトリガとして図３および図８の処理を実行するのではなく、ユーザが操作ボタン３０ａ等を操作して指示を行った場合に、これらの処理を実行するようにしてもよい。
【０１１７】
また、以上の実施の形態では、メモリカード７０に画像識別子テーブルが既に格納されている場合には、図３および図８の処理を実行しないようにしたが、画像識別子テーブルが作成された後に、新たな画像データが格納される場合も想定されるので、その場合には画像識別子が作成されていない画像データについては、図３および図８の処理を実行するようにしてもよい。
【０１１８】
また、以上の実施の形態では、メモリカード７０に格納されている全ての画像データに対して図３および図８の処理を実行するようにしたが、例えば、ユーザによって指定された画像データに対してのみ画像識別子を生成する処理を行ったり、印刷が指示された画像データに対してのみ画像識別子を生成する処理を実行したりするようにしてもよい。そのような実施の形態によれば、ユーザが重要であると直接的または間接的に判断した画像データに対してのみ画像識別子を生成することが可能になるので、ハードウエアにかかる負担を軽減することができる。
【０１１９】
また、以上の実施の形態では、画像識別子テーブルには、画像データのファイル名、全体パラメータ、および、顔パラメータを格納するようにしたが、これ以外に、例えば、ユーザによって画像識別子に対応する人物の名前が入力された場合には、名前を併せて格納するようにしてもよい。そのような場合には、名前を入力することにより、対応する名前の人物が含まれる画像データを検索して印刷することが可能になる。具体的には、図３に示すステップＳ２３において画像識別子が生成された際に、顔が抽出された画像データをＬＣＤ４０ａに表示するとともに、対応する顔を丸または四角等のシンボルによって囲繞して表示する。そして、ユーザから名前の入力を受ける。このようにして入力された名前は、画像識別子と対応付けして図４に示す画像識別子テーブルに格納する。印刷を行う際には、印刷しようとする人物の名前を操作ボタン３０ａ等から入力させ、対応する名前を画像識別子テーブルから検索してＬＣＤ４０ａに表示し、必要に応じて印刷するようにすればよい。
【０１２０】
また、以上の実施の形態では、図９のステップＳ８３において、指定された顔画像の特徴量を算出するようにしたが、画像識別子テーブルが既に生成された画像データの場合には、図４に示す画像識別子テーブルの位置情報を参照して、指定された顔を特定するとともに、該当する画像識別子を特定し、当該画像識別子を用いて、検索処理を実行するようにしてもよい。
【０１２１】
また、人物の名前だけではなく、特徴量算出部２０ｊによって算出された特徴量に基づいて推定される、人物の性別、年齢、および、表情等を顔パラメータとして格納しておき、これらの情報に基づいて検索処理を実行するようにしてもよい。なお、人物の性別は、例えば、髪の毛の長短および髭の有無等の特徴から推定することができる。また、年齢は、例えば、皺または白髪の多寡等の特徴から推定することができる。さらに、表情は、例えば、眉、目、および、口のそれぞれの大きさや、位置関係から推定することができる。このようにして推定されたこれらの情報は、属性情報としてメモリカード７０またはメモリ２０ｄに格納される。そして、人物を検索する際には、図１１に示すパラメータ以外にも、例えば、「女性」、「３０代」、および、「笑顔」を入力するとともに、特定の画像データの人物を指定して検索する。その結果、制御部２０ｃは、女性、３０代、および、笑顔を属性情報として有する画像データファイルをピックアップし、ピックアップされた画像データに対してのみ（または、ピックアップされた画像データを優先的に）処理することにより、対象とする画像データを迅速に見つけることができる。また、対象とする画像データ中の人物を指定するとともに、例えば、キーワードとして「笑顔」を指定することにより、所望の人物の笑顔の画像データを見つけ出すことが可能になる。さらに、画像データを用いずに、キーワードのみで検索を行うことも可能である。例えば、キーワードとして「男性」、「３０代」、「笑顔」とすることで、笑顔の３０代の男性の画像を迅速に見つけ出すことができる。
【０１２２】
また、人物ではなく、風景に関する情報をパラメータとして格納しておき、当該情報に基づいて検索処理を実行するようにしてもよい。例えば、風景のパラメータとして、海、山（森）、川等の風景の中から選択したり、山（森）については新緑、紅葉の中から選択できるようにしたりしてもよい。このようなパラメータを生成する方法としては、例えば、海もしくは川等の青色、新緑の緑色、紅葉の赤色等のように、それぞれの風景に特有の色域を検出する検出部を設け、当該検出部の検出結果に基づいてパラメータを生成して格納する。そして、このようにして生成されたパラメータに基づいて検索を行うようにすればよい。
【０１２３】
また、以上の実施の形態では、複合型の印刷装置を例に挙げて説明を行ったが通常の印刷装置（パーソナルコンピュータと接続して使用するタイプの印刷装置）に対して本発明を適用することができる。また、複合型ではない通常のスタンドアロン型の印刷装置に対して本発明を適用することも可能である。
【０１２４】
また、以上の実施の形態では、図３，８，９に示す処理を、印刷装置１０において実行するようにしたが、例えば、印刷装置１０に接続されているホストコンピュータにおいて実行することも可能である。
【０１２５】
また、以上の実施の形態では、画像識別子テーブルについては、メモリカード７０に格納するようにしたが、印刷装置１０の内部に設けられた記憶装置（例えば、メモリ２０ｄまたはその他の記憶装置）に格納するようにしてもよい。その場合には、メモリカード７０を特定するための情報として、例えば、ユニークなＩＤ情報をメモリカード７０に記憶させるとともに、当該ＩＤ情報を画像識別子テーブルに併せて格納しておき、メモリカード７０がカードＩ／Ｆ２０ｂに挿入された場合には、メモリカード７０からＩＤ情報を取得し、該当する画像識別子テーブルを特定するようにしてもよい。
【０１２６】
また、画像識別子テーブルを印刷装置１０の内部に格納した場合、メモリカード７０をカードＩ／Ｆ２０ｂから外した場合に、画像識別子テーブルを印刷装置１０の内部から削除するようにしてもよいし、印刷装置１０の内部にそのまま保持されるようにしてもよい。あるいは、ユーザに削除するか否かを問い合わせるようにしてもよい。さらには、保持する内容は、画像識別子テーブルの全てであっても一部であってもよい。例えば、重要であると思われる画像データ（例えば、印刷が行われた画像データ）に関する画像識別子のみを保持しておき、検索を行う際には当該一部の画像識別子のみを対象として検索を行うようにしてもよい。さらにまた、メモリカード７０内の画像データの一部が印刷装置１０内に存在する場合には、その一部を除いた残りの画像データのみの画像識別子を生成して格納するようにしてもよい。
【０１２７】
また、以上の実施の形態では、画像識別子テーブルを画像データとは別のファイルとして格納するようにしたが、画像識別子およびパラメータを画像データファイルのヘッダに格納するようにしてもよい。一例として、Ｅｘｉｆ（Exchangeable Image File Format）形式の画像データの場合には、ヘッダ情報の「コメント」としてこれらの情報を格納するようにしてもよい。図１２は、Ｅｘｉｆ形式の画像データファイルの構成例を示している。この図に示すように、Ｅｘｉｆ形式のファイルでは、画像データ１００は、ヘッダ情報１０１と画像情報１０２とを有している。ヘッダ情報は、画素数、圧縮モード、および、コメントその他の情報１０１ａを有している。また、画像情報１０２は、サムネイル画像データ１０２ａおよび主画像データ１０２ｂを有している。ここで、画素数は主画像データ１０２ｂを構成する縦および横の画素数を示している。圧縮モードは、例えば、ＪＰＥＧ等のように圧縮処理の種類を示している。コメントは、ユーザによって挿入された情報を示す。このコメント情報として、画像識別子、全体パラメータ、および、顔パラメータを格納する。サムネイル画像データ１０２ａは、主画像データを一定の割合で間引きして生成した画像データである。主画像データ１０２ｂは、画像データの本体である。
【０１２８】
具体的な処理としては、図３に示すステップＳ１５の処理は実行しないようにするとともに、ステップＳ２０，Ｓ２４，Ｓ２６の処理では、画像識別子テーブルに格納するのではなく、画像データファイルのヘッダ９１のコメントとしてこれらの情報を格納する。そして、図９の処理では、ステップＳ８８，Ｓ９０の処理において、画像識別子テーブルではなく、処理の対象となる画像データのヘッダから対象となる情報を取得するようにすればよい。
【０１２９】
このように、画像データのヘッダに対して画像識別子、全体パラメータ、および、顔パラメータを格納することにより、画像データを他の媒体に複写した場合であっても、これらの情報を利用することが可能になる。
【０１３０】
また、以上の実施の形態では、画像データ中の人物の顔を指定する操作等は、タッチパネル３０ｂを用いて行うようにしたが、操作ボタン３０ａを用いて行うようにしてもよい。例えば、ＬＣＤ４０ａに表示されている所定の表示項目を指定する場合には、四角形等のシンボルを、操作ボタン３０ａの操作に応じて移動するようにすればよい。
【０１３１】
また、以上の実施の形態では、画像データ中の人物を指定する操作は必須としたが、例えば、場合によっては画像データ中の人物は指定せずに、図１１に示す画面において、パラメータのみを指定して検索を実行するようにしてもよい。あるいは、図１１に示す画面においてパラメータの指定を行った後、画像データの絞り込みが十分でない場合（該当する画像データが多い場合）には、画像データ中の人物を指定するようにしてもよい。その場合、候補となる画像データをサムネイル画像として一覧表示し、一覧表示された画像において所定の人物が指定された場合には、特徴量を抽出して候補を更に絞り込み、一覧表示を更新してもよい。
【０１３２】
また、以上の実施の形態では、画像データを格納する記録媒体として、メモリカード７０を例に挙げて説明したが、これ以外にも、例えば、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ−Ｒ（Digital Versatile Disk Recordable）、または、外付けのハードディスク装置等に画像データを記録して、印刷装置１０に対して接続するようにしてもよい。
【０１３３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、印刷装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１３４】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３５】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１３６】
【図１】本発明の実施の形態の外観を示す外観図である。
【図２】本発明の実施の形態に係る印刷装置の構成例を示す図である。
【図３】本実施の形態において実行される処理を示すフローチャートである。
【図４】画像識別子テーブルの一例である。
【図５】テーブルに格納するパラメータを指定する画面の一例である。
【図６】フェーステーブルの一例を示す図である。
【図７】顔認識および特徴抽出処理の流れを示す図である。
【図８】図３に示すステップＳ２５の処理の詳細を示すフローチャートである。
【図９】本実施の形態において実行される処理を示すフローチャートである。
【図１０】顔が指定され、特徴量が抽出される様子を示す図である。
【図１１】検索する際のパラメータを入力する画面の一例である。
【図１２】Ｅｘｉｆ形式の画像データファイルの構成例を示す図である。
【符号の説明】
【０１３７】
１０  印刷装置、２０ｃ  制御部（格納手段、検索手段）、２０ｊ  特徴量算出部（第１の算出手段、第２の算出手段）、４０ａ  ＬＣＤ（呈示手段）、７０  メモリカード（記憶媒体）
【図１】
2008117345.tif 000003
【図２】
2008117345.tif 000004
【図３】
2008117345.tif 000005
【図４】
2008117345.tif 000006
【図５】
2008117345.tif 000007
【図６】
2008117345.tif 000008
【図７】
2008117345.tif 000009
【図８】
2008117345.tif 000010
【図９】
2008117345.tif 000011
【図１０】
2008117345.tif 000012
【図１１】
2008117345.tif 000013
【図１２】
2008117345.tif 000014