(57)【要約】【課題】所定の基準を満たす画像が所定数選別されない可能性を低減する情報処理装置を提供する。【解決手段】複数の画像それぞれに対応する情報に基づき、複数の画像から複数の解析対象画像を選別する。選別された複数の解析対象画像を解析し、選別され且つ解析の結果が所定の基準を満たす画像をレイアウトする。第１の選別条件に従って選別された複数の解析対象画像のうちの、所定の基準を満たす画像の数が所定数に満たない場合、第２の選別条件に従って再度の選別を実行し、再度の選別により選別され且つ所定の基準を満たす画像をレイアウトする。【選択図】図２
2020004270.tif 000002
【特許請求の範囲】
【請求項１】
画像のレイアウトを実行可能な情報処理装置であって、
複数の画像それぞれに対応する情報を取得する取得手段と、
前記取得手段により取得された情報に基づき、前記複数の画像から複数の解析対象画像を選別する選別手段と、
前記選別手段により選別された複数の解析対象画像を解析する解析手段と、
前記選別手段により選別され且つ前記解析手段による解析の結果が所定の基準を満たす画像をレイアウトするレイアウト手段と、
を備え、
前記選別手段により第１の選別条件に従って選別された複数の解析対象画像のうちの、前記所定の基準を満たす画像の数が所定数に満たない場合、前記選別手段は、第２の選別条件に従って再度の選別を実行し、前記レイアウト手段は、前記再度の選別により選別され且つ前記所定の基準を満たす画像をレイアウトすることを特徴とすることを特徴とする情報処理装置。
【請求項２】
前記第２の選別条件は、前記第１の選別条件により選別され且つ前記所定の基準を満たさなかった画像を選別候補から除外して選別を行う方法であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選別手段により前記第１の選別条件に従って選別された複数の解析対象画像のうちの前記所定の基準を満たす画像の数が前記所定数以上の場合、前記レイアウト手段は、当該画像をレイアウトすることを特徴とすることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記選別手段は、画像に対応する情報であるメタ情報に基づいて、前記選別を実行することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記メタ情報は、画像の撮影時間を含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記選別手段により選別された情報に対応する画像を取得する第２取得手段、をさらに備え、
前記解析手段は、前記第２取得手段により取得された前記画像を解析することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記所定の基準を満たさない画像は、破損した画像データを含むことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記所定の基準を満たさない画像は、前記解析手段による解析のために画像データを取得できなかった画像を含むことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記選別手段は、前記第１の選別条件により選別され且つ前記所定の基準を満たす画像をレイアウトの実行対象の画像として確定し、前記第２の選別条件として、当該所定の基準を満たす画像を、再度の選別の候補から除外することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記選別手段は、前記複数の画像が第２の所定数より多いことを条件に、前記第１の選別条件に従った選別を実行し、前記第２の選別条件として、前記複数の画像が前記第２の所定数より大きい第３の所定数より多いことを条件に、前記選別を実行することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記解析手段による解析の結果、前記所定の基準を満たす画像の数に基づいてレイアウトを実行可能であるか否かを判定する判定手段、をさらに備えることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記所定の基準を満たす画像の数に基づいて、レイアウト不可の警告を通知する通知手段、をさらに備えることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記レイアウト手段は、前記選別手段により選別され且つ前記解析手段による解析の結果が所定の基準を満たす複数の画像を、前記解析の結果に基づきランクに応じてレイアウトすることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
画像のレイアウトを実行可能な情報処理装置において実行される制御方法であって、
複数の画像それぞれに対応する情報を取得する取得工程と、
前記取得工程において取得された情報に基づき、前記複数の画像から複数の解析対象画像を選別する選別工程と、
前記選別工程において選別された複数の解析対象画像を解析する解析工程と、
前記選別工程において選別され且つ前記解析工程における解析の結果が所定の基準を満たす画像をレイアウトするレイアウト工程と、
を有し、
前記選別工程において第１の選別条件に従って選別された複数の解析対象画像のうちの、前記所定の基準を満たす画像の数が所定数に満たない場合、前記選別工程では、第２の選別条件に従って再度の選別を実行し、前記レイアウト工程では、前記再度の選別により選別され且つ前記所定の基準を満たす画像をレイアウトすることを特徴とすることを特徴とする制御方法。
【請求項１５】
請求項１乃至１３のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データのレイアウトを実行可能な情報処理装置、制御方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像入力装置に接続されたカードからデジタル写真が取り込まれ、アルバムに自動配置することが記載されている。また、特許文献２には、ユーザが選択したフォルダ内に解析上限枚数を超える枚数が含まれていても、画像メタ情報に基づいて画像を選別し、選別された画像を解析し、スコアリングすることが記載されている。その上で、スコアの高いものからレイアウトすることでアルバムの自動作成処理を実行することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−０８２１２８号公報
【特許文献２】特開２０１６−１６４７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献２に記載によれば、画像メタ情報等を基に画像を選別してから解析するため、解析対象の画像の数を低減することができ、より高速に画像の自動レイアウトが可能となる。ただし、この場合、解析の結果、ファイルが破損していることや、レイアウトに不向きな画像などが含まれていることが判明することがある。このため、レイアウト対象として適切な画像の数が、レイアウトにおいて必要とされる画像枚数に満たなくなることがある。
【０００５】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、所定の基準を満たす画像が所定数選別されない可能性を低減する情報処理装置、制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る情報処理装置は、画像のレイアウトを実行可能な情報処理装置であって、複数の画像それぞれに対応する情報を取得する取得手段と、前記取得手段により取得された情報に基づき、前記複数の画像から複数の解析対象画像を選別する選別手段と、前記選別手段により選別された複数の解析対象画像を解析する解析手段と、前記選別手段により選別され且つ前記解析手段による解析の結果が所定の基準を満たす画像をレイアウトするレイアウト手段とを備え、前記選別手段により第１の選別条件に従って選別された複数の解析対象画像のうちの、前記所定の基準を満たす画像の数が所定数に満たない場合、前記選別手段は、第２の選別条件に従って再度の選別を実行し、前記レイアウト手段は、前記再度の選別により選別され且つ前記所定の基準を満たす画像をレイアウトすることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、所定の基準を満たす画像が所定数選別されない可能性を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】システムの構成を示す図である。
【図２】アルバム作成処理を示すフローチャートである。
【図３】選別方法１による選別処理を示すフローチャートである。
【図４】選別方法２による選別処理を示すフローチャートである。
【図５】選別方法３による選別処理を示すフローチャートである。
【図６】選別方法４による選別処理を示すフローチャートである。
【図７】選別方法５による選別処理を示すフローチャートである。
【図８】アルバム作成処理に係る全体の処理およびＵＩを示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１０】
＜情報処理システムの構成（図１）＞
図１は、本実施形態における情報処理システム１００（以下、システム）の概略構成を示すブロック図である。システム１００では、情報処理装置１００４で作成されたアルバムデータに基づいて印刷、製本が行われ、フォトアルバムやフォトブック等のアルバムを生成することができる。情報処理装置１００４は、アルバムデータを作成可能な情報処理装置であり、例えば、ユーザが所有するＰＣである。情報処理装置１００４は、ユーザ操作によりアルバム作成アプリケーションを起動する。アルバム作成アプリケーションは、入力された画像データに基づいて、ユーザ所望のテンプレートに対してレイアウトを行いアルバムデータを作成する自動レイアウト機能を有する。自動レイアウト機能とは、例えば撮影された画像データをその内容や属性に基づいて、予め用意されたテンプレートにレイアウトし、ディスプレイに表示する機能をいう。情報処理装置１００４は、作成したアルバムデータを印刷データとしてプリンタに出力することや、ネットワーク１００３を介して外部サーバ１００２にアップロードすることが可能である。外部サーバ１００２は、例えば、アルバム受注・管理サーバであり、情報処理装置１００４やユーザが所有する携帯端末（不図示）などからユーザ指示により送信される注文データに応じて、受注処理や、プリンタ１００１を用いた印刷／製本処理を行う。製本されたアルバムは、ユーザ元に届けられる。また、システム１００では、外部サーバ１００２及びプリンタ１００１を用いずに、情報処理装置１００４で作成されたアルバムデータに基づいてプリンタ１００５で印刷／製本が行われる場合もある。
【００１１】
ネットワーク１００３は、情報処理装置１００４、外部サーバ１００２と接続されており、接続されているそれぞれの装置からの情報の伝達を行うための通信網である。ネットワーク１００３は例えばインターネットであり、情報処理装置１００４及び外部サーバ１００２が、有線や無線等のネットワーク媒体に対応して構成された入出力インタフェースを介して相互に接続される。また、外部サーバ１００２は、プリンタ１００１と接続するための入出力インターフェース（不図示）を有している。
【００１２】
情報処理装置１００４は、ＲＯＭ１００９、ＲＡＭ１０１０、ＣＰＵ１０１１、モニタ１００６、入力装置１００７および記憶装置１００８を有する。また、情報処理装置１００４は、プリンタ１００５、ネットワーク１００３と接続するための入出力インターフェース（不図示）を有する。
【００１３】
ＣＰＵ１０１１は、中央演算装置であり、記憶装置１００８やＲＯＭ１００９、ＲＡＭ１０１０に記憶されているオペレーションシステムプログラム（以下、ＯＳと略す）を実行することにより情報処理装置１００４全体の制御を行う。ＣＰＵ１０１１は、データバス１０１２を介してＲＯＭ１００９、ＲＡＭ１０１０、モニタ１００６、入力装置１００７および記憶装置１００８と相互に通信可能に接続する。また、ＣＰＵ１０１１は、ＲＯＭ１００９やＲＡＭ１０１０に記憶されているプログラムを実行することによって、情報処理装置１００４の各機能構成の実現や情報の演算、加工、各ハードウェアを制御し実行する。ＲＯＭ１００９は読み出し専用メモリであり、各プログラムが記憶されている。ＲＡＭ１０１０はランダムアクセスメモリであり、例えばＣＰＵ１０１１のワークメモリとして用いられる。また、ＲＡＭ１０１０が不揮発性メモリで構成されて各プログラムを記憶する場合もある。
【００１４】
モニタ１００６は、各種のユーザインタフェース（ＵＩ）画面を表示する表示部であり、例えば、アルバム作成アプリケーションの設定画面や、画像のレイアウト結果をユーザに提示する。入力装置１００７は、例えばキーボードやポインティングデバイスを含み、ユーザからの設定や指示操作を受付可能である。入力装置１００７は、例えば、モニタ１００６に表示されたＵＩ画面上で、画像データの取得先となるフォルダ等の入力をユーザから受け付ける。入力装置１００７は、モニタ１００６と一体化されて構成されても良い。その場合、例えばモニタ１００６の表示画面にはタッチパネルが備えられ、ユーザがモニタ１００６に直接触れることでユーザからの入力を受付可能に構成しても良い。記憶装置１００８は、画像データやテンプレートなどを保存するＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）などの記憶装置である。
【００１５】
本実施形態では、情報処理装置１００４がモニタ１００６、入力装置１００７および記憶装置１００８を有する構成で記載されているが、他の装置構成であっても良い。例えば、ＣＰＵ１０１１、ＲＯＭ１００９、ＲＡＭ１０１０を含む本体と、モニタ１００６と、入力装置１００７と、記憶装置１００８とが各独立して構成されても良い。
【００１６】
次に、情報処理装置１００４において実行されるアルバム自動作成の処理について説明する。本実施形態では、情報処理装置１００４上で、アルバム作成アプリケーションを起動し、自動レイアウトを行う手順について説明する。本実施形態において、画像とは、特に断りがない限り、静止画、動画中のフレーム画像を含むものとする。
【００１７】
図８（ａ）は、情報処理装置１００４におけるアルバムデータを作成するまでの処理を示すフローチャートである。図８（ａ）の各処理は、例えば、ＣＰＵ１０１１がＲＯＭ１００９に記憶されたプログラムをＲＡＭ１０１０にロードして実行することにより実現される。
【００１８】
Ｓ８００１において、ＣＰＵ１０１１は、画面上でのアイコンのクリック操作等の受付によりアルバム作成アプリケーションを起動する。Ｓ８００２において、ＣＰＵ１０１１は、アルバム作成アプリケーションのＵＩ画面を表示し、自動レイアウト機能の設定を受け付ける。図８（ｂ）は、ユーザが自動レイアウト機能の設定を入力するためのＵＩ画面８０１の一例を示す図である。ＵＩ画面８０１は、モニタ１００６上に表示される。
【００１９】
ＵＩ画面８０１上のパスボックス８０２は、アルバム作成アプリケーションの自動レイアウト機能の対象の画像データ群の取得先となる保存場所（パス）を示す。フォルダ選択ボタン８０３は、ユーザからの押下により、アルバム作成アプリケーションの自動レイアウト機能の対象の画像データ群を含むフォルダを、ツリー構成でユーザ選択可能に表示する。そして、ユーザにより選択された画像データ群を含むフォルダパスがパスボックス８０２に表示される。
【００２０】
見開き数ボックス８０４は、ユーザからのアルバムの見開き数の設定を受け付ける。テンプレート指定アイコン８０５は、アルバムのテンプレートのテイスト（ポップ調やシック調等）別にイラスト画像を表示する。テンプレート指定アイコン８０５には、複数のテンプレートアイコンが並んで表示され、ユーザにより選択可能である。画像補正チェックボックス８０６は、ユーザからの画像補正のＯＮ／ＯＦＦの設定を受け付ける。画像補正とは、例えば、赤目補正やコントラスト補正である。画像補正チェックボックス８０６にチェックが入った状態は画像補正ＯＮが指定された状態であり、チェックが入っていない状態は画像補正ＯＦＦが指定された状態である。なお、ＵＩ画面８０１では、個別の画像補正処理ごとにＯＮ／ＯＦＦを設定可能とするようにしても良い。ユーザによりＯＫボタン８０７が押下されると、ＣＰＵ１０１１は、ＵＩ画面８０１上で設定されている内容を取得する。リセットボタン８０８は、ＵＩ画面８０１上の各設定情報をリセットするためのボタンである。
【００２１】
サーバ名ボックス８０９は、アルバム作成の対象の画像データ群の取得先となるサーバ名を示す。また、サーバ選択ボタン８１０は、アルバム作成の対象の画像データ群の取得先となるサーバ名を、リスト構成でユーザ選択可能に表示する。そして、ユーザにより選択されたサーバ名がサーバ名ボックス８０９に表示される。サーバ名ボックス８０９にサーバ名が表示された状態で、ＯＫボタン８０７が押下されると、指定されたサーバへのログイン画面が表示される。表示されたログイン画面を介したユーザ操作により指定されたサーバへのログインが完了すると、ＣＰＵ１０１１は、指定されたサーバから画像データを取得することが可能となる。
【００２２】
動画使用チェックボックス８１１は、パスボックス８０２に指定のフォルダや、サーバ名ボックス８０９に指定のサーバにある動画をアルバム作成の対象にするか否かの設定をユーザから受け付ける。動画使用チェックボックス８１１にチェックが入った状態はアルバム作成の対象にすることが指定された状態であり、チェックが入っていない状態はアルバム作成の対象にしないことが指定された状態である。
【００２３】
対象期間ボックス８１２は、アルバム作成アプリケーションの対象となる画像データの撮影日時期間の設定をユーザから受け付ける。また、対象期間ボックス８１２は、指定された撮影日時期間を表示する。期間設定ボタン８１３は、アルバム作成の対象とする期間をユーザ選択可能に表示する。ユーザが期間設定ボタンにより対象期間を選択すると、その期間が対象期間ボックスに入力される。対象期間ボックス８１２に撮影日時期間が表示された状態で、ＯＫボタン８０７が押下されると、指定された撮影日時期間に対応する画像データ群がアルバム作成対象となって取得される。
【００２４】
解析モード選択ボックス８１４は、画像データの解析において高速解析モードを実行するか否かの選択を受け付ける。高速解析モードについては後述する。主人公指定アイコン８１５には、ユーザが主人公を指定するためのアイコン（人物の顔画像）が選択可能に表示される。表示される顔画像は、予め個人ＩＤと関連付けられて顔データベースに登録されており、ユーザは選択された顔画像を作成するアルバムデータにおける中心人物であるとして特定することができる。例えば、主人公として選択された顔画像を大きいサイズで含む画像データは、評価値（スコア、ランク）がより高くなり、レイアウトの実行対象として選択されやすくなる。
【００２５】
再び、図８（ａ）を参照する。Ｓ８００３において、ＣＰＵ１０１１は、Ｓ８００２で設定された設定情報に基づいて、テンプレートへの画像データのレイアウトを行う。ＣＰＵ１０１１は、パスボックス８０２や８０９で設定された取得先から、画像データ群を取得する。その場合、ＣＰＵ１０１１は、取得した画像データ群の画像数が所定数より多い場合には、解析対象となる画像データを選別する。画像データ群の取得および選別の詳細については後述する。さらに、ＣＰＵ１０１１は、所定数以下の画像データ、もしくは選別された画像データについて解析／スコアリングを行い、画像データのうち、スコアが高いものから順にテンプレートへのレイアウト対象とする。そして、ＣＰＵ１０１１は、レイアウト対象の画像データをテンプレートへレイアウトしてアルバムデータを作成する。
【００２６】
Ｓ８００４において、ＣＰＵ１０１１は、画像データがテンプレートへレイアウトされたアルバムデータを出力する。アルバムデータの出力として、例えば、ＣＰＵ１０１１は、ユーザの指示により、ネットワーク１００３を介して外部サーバ１００２にアルバムデータをアップロードする。アップロードされたアルバムデータは、ユーザによる携帯端末を介した購入手続きが行われると、外部サーバ１００２に接続されたプリンタ１００２によって印刷出力されて製本される。そして、製本されたアルバムは、ユーザの手元へ届けられる。なお、外部サーバ１００２を介さずにユーザが自ら印刷・製本する場合は、情報処理装置１００４に接続されたプリンタ１００５によって印刷出力されて製本される。
【００２７】
図２は、情報処理装置１００４が実行するアルバム作成処理を示すフローチャートである。図２のフローチャートは、図８（ａ）のＳ８００３の詳細を示している。
【００２８】
Ｓ２００１において、ＣＰＵ１０１１は、Ｓ８００２で設定された設定情報を取得する。例えば、ＣＰＵ１０１１は、設定情報として、アルバムのテンプレート、そのテンプレートのページ数を取得する。Ｓ２００２において、ＣＰＵ１０１１は、アルバム作成アプリケーションの自動レイアウト機能の対象の画像データの取得先を特定する。例えば、ＣＰＵ１０１１は、ＵＩ画面８０１のパスボックス８０２で指定されたフォルダを取得先として特定する。以下、取得先をフォルダとして説明する。ここで、情報処理装置１００４で動作するＯＳが画像管理フォルダを用意している場合があり、ユーザもＯＳが用意した画像管理フォルダを使用していることがある。そのような場合、ＣＰＵ１０１１は、Ｓ２００２でデフォルトのフォルダとして、ＯＳが用意した画像管理フォルダを取得先として特定するようにしても良い。また、フォルダではなく、指定されたサーバ上の画像データ群を特定するようにしても良い。
【００２９】
Ｓ２００３において、ＣＰＵ１０１１は、特定したフォルダの中に含まれている画像データの情報に基づいて、そのフォルダの中に含まれている画像データの画像リストを生成する。一般的に、ＯＳにはファイル管理機能が用意されており、フォルダごとのファイルを列挙することが可能である。その列挙したファイルから、画像に付加される拡張子（ＪＰＧなど）を基にフィルタリングして、列挙されたファイル名を画像リストに追加する。また、フォルダの中にフォルダが含まれることもあるので、列挙する関数を再帰呼び出しなどにより、Ｓ２００２で特定されたフォルダ以下に含まれる全画像データの画像リストを取得する。ＣＰＵ１０１１は、ＯＳに対して上記の処理を実行させることで、ＯＳから画像リストに追加された画像枚数を取得する。また、ＣＰＵ１０１１は、この取得した画像枚数分の配列をＲＡＭ１０１０等の記憶領域に確保する。
【００３０】
Ｓ２００４において、ＣＰＵ１０１１は、Ｓ２００３で取得した画像枚数（ＮＩ）が、予め定められた解析上限枚数（ＰＵＬ）を超えるか否かを判定する。解析上限枚数を超えると判定された場合（ＮＩ＞ＰＵＬ）、Ｓ２００５に進み、解析上限枚数以下であると判定された場合（ＮＩ≦ＰＵＬ）、Ｓ２０１０に進む。なお、本実施形態では、説明上、メタ情報等の画像情報に対応させて「画像」という用語を用い、また、画像情報の数に対応させて「画像枚数」という用語を用いる場合がある。
【００３１】
ここで、解析上限枚数とは、Ｓ２０１０又はＳ２００７において画像の解析／スコアリング処理を実行可能な画像枚数の上限である。解析上限枚数は、主に情報処理装置のメモリ上限を基に決定される。しかしながら、近年の情報処理装置の高性能化によって、メモリ容量が拡大しており、メモリ上限のみに基づいて単純に計算してしまうと解析上限枚数が極めて大きくなり、解析／スコアリング処理に時間がかかってしまう。このため、解析上限枚数は、ユーザにより指定可能とされても良い。例えば、主に情報処理装置のメモリ上限に基づいて定められた解析上限枚数（通常解析モード）と、ユーザにより指定された、解析を待つことができる時間に基づいて定められた解析上限枚数（高速解析モード）とを選択可能としても良い。そのような構成により、例えば、ユーザは、一生分の撮り貯めた写真からフォトアルバムを作成するような用途では、できるだけ多くの画像を解析できるよう通常モードを選択する。また、ユーザは、日常に取りためた写真を定期的にアルバムにまとめるような用途では、できるだけ早く処理が完了するよう高速モードを選択する。このように、アルバムの内容や解析を待てる時間を基に解析上限枚数をユーザが選択することができる。通常解析モードの解析上限枚数は、例えば５０００枚であり、高速解析モードの解析上限枚数は、例えば１００枚である。
【００３２】
ユーザによる解析上限枚数の選択は、図８（ｂ）のＵＩ画面８０１上の解析モード選択ボックス８１４で受け付けることができる。また、Ｓ２００４の判定においてＳ２００３で取得した画像枚数が高速解析モードの解析上限枚数を超える場合に、ユーザに対して高速解析モードを使用するかを確認するメッセージを表示するようにしてもよい。その場合、高速解析モードを使用するという指示を受け付けると、ＣＰＵ１０１１は、解析上限枚数として、高速解析モードの解析上限枚数を設定する。
【００３３】
以下、Ｓ２００４でＳ２００３で取得した画像の枚数（ＮＩ）が、予め定められた解析上限枚数（ＰＵＬ）を超えると判定された場合について説明する。
【００３４】
Ｓ２００５において、ＣＰＵ１０１１は、Ｓ２００３で取得した画像枚数が解析上限枚数以下となるよう、画像データの情報、例えばファイル情報や画像メタ情報を用いて選別する方法を決定する。ＣＰＵ１０１１は、後述するような複数の選別方法を用いることが可能であり、Ｓ２００５では、いずれの選別方法を用いるかを決定する。Ｓ２００５での選別方法の決定は、Ｓ２００５の処理の実行が１回目である場合には、後述する選別方法のうちいずれかがデフォルトで定められていても良い。２回目以降の実行の場合については後述する。そして、Ｓ２００６において、ＣＰＵ１０１１は、Ｓ２００５で決定された選別方法により、画像データの選別を行う。
【００３５】
以下、本実施形態における選別方法について説明する。
【００３６】
・選別方法１（図３）
図３は、選別方法１の処理を示すフローチャートである。選別方法１では、ファイル情報を用いて、ランダムに画像が選別される。以下、図３〜図７（選別方法１〜選別方法５）の処理は、例えば、ＣＰＵ１０１１がＲＯＭ１００９に記憶されたプログラムをＲＡＭ１０１０にロードして実行することにより実現される。
【００３７】
Ｓ３００１において、ＣＰＵ１０１１は、ファイル情報からファイル名（画像情報）を取得し、ＲＡＭ１０１０の記憶領域に確保した配列（画像配列）にセットする。次に、Ｓ３００２において、画像枚数（ＮＩ）−解析上限枚数（ＰＵＬ）−１個のランダムな配列インデックスを生成する。Ｓ３００３において、ＣＰＵ１０１１は、Ｓ３００２で生成された配列インデックスに対応する画像情報を、画像配列から削除することで選別を行う。Ｓ３００３の後、図３の処理を終了する。
【００３８】
図３の処理により、画像情報が格納された配列のサイズが解析上限枚数以下となるよう選別される。なお、ファイル情報を取得する順序は、情報処理装置で動作するＯＳに依存する可能性があり、Ｓ３００２で生成されるランダムな配列インデックスと組み合わせると、選別に意図しない偏りが発生する可能性がある。この場合は、ファイル情報やファイル生成日・更新日又は画像メタ情報等の画像情報から画像撮影日を取得し、Ｓ３００１の後、日時によるソーティングを行うことで、意図しない偏りを防ぐようにしても良い。
【００３９】
・選別方法２（図４）
図４は、選別方法２の処理を示すフローチャートである。選別方法２では、画像メタ情報を用いて、撮影間隔が長い画像を選別する。選別方法２は、例えば、カメラの連射機能などにより短時間で同じような写真を撮影した場合に用いることで、同じような画像を解析前に除外してアルバムを作成することが可能となる。
【００４０】
Ｓ４００１において、ＣＰＵ１０１１は、画像メタ情報として撮影時間を取得し、ＲＡＭ１０１０の記憶領域に確保した画像配列にセットする。Ｓ４００２において、ＣＰＵ１０１１は、撮影時間をキーとして昇順に画像配列をソートする。Ｓ４００３において、ＣＰＵ１０１１は、ソートされた順番で隣合う画像配列間の撮影時間差を算出する。
【００４１】
Ｓ４００４において、ＣＰＵ１０１１は、撮影時間差をキーとして画像配列を昇順にソートする。そして、Ｓ４００５において、ＣＰＵ１０１１は、Ｓ４００４で撮影時間差によりソートされた画像配列の先頭から（撮影時間差の小さいものから）、画像枚数（ＮＩ）−解析上限枚数（ＰＵＬ）−１分の画像情報を画像配列から削除することで選別を行う。Ｓ４００５の後、図４の処理を終了する。
【００４２】
・選別方法３（図５）
図５は、選別方法３の処理を示すフローチャートである。選別方法３では、画像メタ情報を用いて、一定枚数ごとに画像情報を選別する。選別方法３によれば、例えば画像メタ情報として撮影時間が用いられる場合、画像配列が撮影時間でソートされ、最終的な画像枚数が解析上限枚数以下となるように撮影時間順に一定間隔で選別される。例えば、画像解析の対象候補の画像が１００枚あり、解析上限枚数が５０枚であった場合、１００枚の画像が画像メタ情報としての撮影時間でソートされる。そして、そのソートされた１００枚の画像の順序において、２枚おきに偶数番（２、４、６・・、１００）の５０枚の画像が選別される。以下、詳細に説明する。
【００４３】
Ｓ５００１において、ＣＰＵ１０１１は、画像メタ情報として撮影時間を取得し、ＲＡＭ１０１０の記憶領域に確保した画像配列にセットする。Ｓ５００２において、ＣＰＵ１０１１は、撮影時間をキーとして昇順に画像配列をソートする。この画像配列には、枚数ＮＩの画像が格納されている。例えば上記の例では、画像枚数１００がＮＩに設定される。
【００４４】
次に、Ｓ５００３において、ＣＰＵ１０１１は、変数ｘを“０”に初期化する。この変数ｘは、Ｓ５００６において後述するように、画像枚数ＮＩと比較されることで、注目画像を画像解析の対象とするか否かを判定するために使用される。Ｓ５００４では、撮影時間でソートされた画像配列の先頭から画像を一つ取り出す。Ｓ５００５において、変数ｘに解析上限枚数（ＰＵＬ）を加算する（ｘ←ｘ＋ＰＵＬ）。上記の例では、解析上限枚数ＰＵＬが５０であるので、初めてＳ５００５の処理が実行されるときには、変数ｘに０＋５０＝５０が設定される。
【００４５】
Ｓ５００６において、ＣＰＵ１０１１は、変数ｘと画像枚数とを比較する。この画像枚数は、Ｓ５００１で画像メタ情報に基づいて取得した画像枚数（ＮＩ）、例えば１００である。ここで、変数が画像枚数以上（ｘ≧ＮＩ）であれば、処理はＳ５００７へ進み、変数が画像枚数未満であれば（ｘ＜ＮＩ）、処理はＳ５００９へ進む。例えば上記の例において、ソートされた順序における１枚目の画像（例えば最も撮影時間が古い画像）がＳ５００４で取り出された場合、ｘ（＝５０）＜ＮＩ（＝１００）であるため、Ｓ５００９に進む。
【００４６】
Ｓ５００９において、ＣＰＵ１０１１は、Ｓ５００４で画像配列から取り出した画像を破棄し、後段の画像解析の対象外とする。つまり、レイアウトの実行対象からも除外される。これにより、画像配列に格納されている画像枚数は１枚減る。そして、Ｓ５０１０において、ＣＰＵ１０１１は、画像配列に画像が残っているか否かを判定する。画像配列に画像が残っていると判定された場合、インデックスをインクリメントしてＳ５００４からの処理を繰り返す。一方、画像配列に画像が残っていないと判定された場合、図５の処理を終了する。
【００４７】
上記の例の場合、処理がＳ５０１０からＳ５００４に戻り、ソートされた順序における２枚目の画像（例えば２番目に撮影時間が古い画像）がＳ５００４で取り出される。この場合、Ｓ５００５においてＰＵＬ（５０）が、そのときの変数ｘ（５０）に加算される。そのため、Ｓ５００６では、ｘ（＝１００）≧ＮＩ（＝１００）となるため、処理はＳ５００７に進む。
【００４８】
Ｓ５００７でＣＰＵ１０１１は、Ｓ５００４で取得した画像を画像配列と別に確保された選別配列に格納する。これにより、取り出された画像は、画像配列から選別配列に移動されることになるので、当該画像が画像解析の対象として選別される。また、画像配列に格納されている画像枚数は１枚減る。さらに、Ｓ５００８でＣＰＵ１０１１は、変数（ｘ）から画像枚数を減算する（ｘ←ｘ−ＮＩ）。Ｓ５００４において２枚目の画像が取出されていた場合、そのときの変数ｘ（１００）からＮＩ（１００）が減算されるので、変数ｘが０となる。そして、Ｓ５０１０の処理が実行される。
【００４９】
処理がＳ５０１０からＳ５００４に再度戻ると、Ｓ５００４で３番目の画像が取り出され、Ｓ５００５において変数ｘが５０となった場合、Ｓ５００６ではｘ（＝５０）＜ＮＩ（＝１００）と判定される。そのため、Ｓ５００９において、３番目の画像は画像解析の対象から除外される。
【００５０】
以上の処理が、Ｓ５０１０においてＮｏと判定されるまで（上記の例では、１００枚目の画像について処理が行われるまで）繰り返される。
【００５１】
以上の処理により、一定枚数ごと（上記の例では２枚毎）に画像を選別することにより、画像配列の画像枚数を解析上限枚数（ＰＵＬ）以下に選別することができる。
【００５２】
なお、上記の例では、画像解析の対象候補の画像枚数（１００）が解析上限枚数（ＰＵＬ＝５０）で割り切れる関係にある場合にあるので、一定枚数毎（２枚毎）に画像が選別される。ここで、割り切れない関係にある場合には、Ｓ５００８で、変数から画像枚数を減算する代わりに、変数を０に初期化するようにしても良い。そのような構成により、例えば、画像解析候補の画像が１００枚、解析上限枚数が３０枚の場合は、３枚毎（４、８、１２、１６・・・）に画像が選別される。以上のように、画像解析候補の画像枚数と解析上限枚数との関係に基づいた間隔で選別される。
【００５３】
・選別方法４（図６）
図６は、選別方法４の処理を示すフローチャートである。選別方法４は、例えば、写真の撮影枚数が、期間や特定の時間帯で異なり、画像の枚数が少ない期間の写真であっても選別から漏れないように画像を選別する際に用いられる。例えば、季節ごとのイベントや誕生日などでは撮影枚数が多く、日常の何気ないシーンでは撮影枚数が少ない。そのような場合、上述した選別方法１、選別方法２、選別方法３を用いた場合、日常の何気ないシーンの写真が選別されない可能性がある。選別方法４を用いると、そのような状況を回避することができる。
【００５４】
Ｓ５１０１において、ＣＰＵ１０１１は、画像メタ情報として撮影時間を取得し、ＲＡＭ１０１０の記憶領域に確保した画像配列にセットする。Ｓ５１０２において、ＣＰＵ１０１１は、画像配列を次に示す条件でグルーピングして、複数の画像配列に分類する。例えば、撮影期間が２０１４年１月の画像グループ、２０１４年２月の画像グループといったように、特定の期間毎で画像をグルーピングする。そして、各グループから、（ＮＩ−ＰＵＬ−１）／グループ数分の画像を削除する。つまり、Ｓ５１０２では、削除すべき枚数をグループ数で除した数分の画像を削除する。このようにして、各グループから均等に画像が削除されるので、撮影枚数が少ない月などの画像データが解析対象から除外されてしまう可能性を低減することができる。
【００５５】
Ｓ５１０３において、ＣＰＵ１０１１は、各グループごとに画像を選別する。その選別方法として、上述の選別方法１〜３のいずれかを用いても良い。若しくは、予め定められた方法を用いても良いし、ユーザに選別方法を選択させるようにしても良い。
【００５６】
以上の選別方法１〜４により、画像配列のサイズが解析上限枚数以下のサイズとなるよう選別が行われる。
【００５７】
・選別方法５（図７）
図７は、選別方法５の処理を示すフローチャートである。選別方法５は、例えば、過去にアルバムを作成し、そのアルバムを再作成する場合に用いられる。例えば１年前にアルバムを作った場合、アルバムを作成してから現在までに撮影した写真でアルバムを作成し、１年前以前に作成した時に使用した写真を含めない方が、ユーザのニーズに合うことが多い。このような場合に、選別方法５が用いられる。選別方法５は、例えば、対象期間ボックス８１２で、画像の撮影日時期間の設定を受け付けなかった場合に用いられるようにしても良い。
【００５８】
Ｓ６００１において、ＣＰＵ１０１１は、画像メタ情報として撮影時間を取得し、ＲＡＭ１０１０の記憶領域に確保した画像配列にセットする。Ｓ６００２において、ＣＰＵ１０１１は、現在の日付から特定時間／期間以前の古い画像を、画像配列から削除する。そして、Ｓ６００３において、ＣＰＵ１０１１は、残された画像に対して選別を行う。ここで、削除後の画像配列に含まれる画像枚数が解析上限枚数（ＰＵＬ）以下であれば、そのまま画像解析に進み、解析上限枚数を超えるのであれば、上述の選別方法１〜４のいずれかの方法を用いて選別する。
【００５９】
記憶装置１００８の内部には古い画像も格納されている場合があるので、長期間にわたって撮影された画像データでアルバムが作成されてしまうことも考えられる。従って、選別方法５を用いて、予めアルバム作成の対象となる画像の期間を限定することで、古い画像データが省かれたアルバムを作成することが可能となる。そして、上述のように、期間だけで選別しても選別された画像の枚数が解析上限枚数（ＰＵＬ）以下にならない場合には、前述した選別方法１〜４のいずれかの方法を用いてさらに選別を行う。
【００６０】
以上の選別方法１〜５までの方法によって選別を実行する際に、画像データが格納されているフォルダのフォルダ名に特徴的な文字列、例えば、★印や、“旅行”、“パーティ”などのキーワードが入っている場合は、そのユーザにとって重要な画像が格納されている可能性が高い。その場合は、特徴的な文字列が含まれているフォルダ名は選別の対象外としても良い。例えば、解析上限枚数が５０枚、ユーザがＳ２００２で特定したフォルダに格納されている画像枚数が１００枚であり、そのフォルダ以下の階層に、１５枚の画像が格納されたフォルダ名に★印がついたフォルダがあるとする。このような場合には、★印がついたフォルダ内の１５枚は解析対象画像とし、特定されたフォルダ内の残りの８５枚から、解析上限枚数の５０枚から★印がついたフォルダ内の画像枚数である１５枚を引いた３５枚を選別するようにしても良い。
【００６１】
また、上記の説明では、画像選別にあたり画像メタ情報として画像の撮影日付を用いたが、その他のメタ情報を用いて選別を行ってもよい。例えば、画像に設定されたレーティング情報に基づいて閾値より大きい高レーティングの画像を解析対象として選別対象外とし、閾値以下の低レーティングの画像を選別対象としても良い。
【００６２】
再び、図２を参照する。Ｓ２００６での選別後、Ｓ２００７において、ＣＰＵ１０１１は、選別された画像データに対して画像の解析／スコアリングを行う。この時、ＣＰＵ１０１１は、Ｓ２００２で特定されたフォルダから画像データをＲＡＭ１０１０に読み込み、画像解析を行う。画像の解析では、例えば、顔画像の数、位置、サイズ等の特徴量が解析される。そして、テンプレート指定アイコン８０５で指定されたテンプレートに要求される画像特徴（多人数であるかやアップ画像であるか等）にどれほど近いかを、各画像データについて評価（スコアリング）する。
【００６３】
ここで、解析結果によっては、レイアウトに使用するための所定の基準を満たさない画像データ（以下、エラー画像と呼ぶことがある）が含まれている可能性がある。所定の基準を満たさない場合とは、例えば、画像データの一部が破損しており、画像の撮影日時などのヘッダー情報は正しく認識できるものの、実際の画像データを読み込むときに読み込みエラーが発生する場合がある。また、例えば、画像データのヘッダー情報は、情報処理装置１００４の記憶装置１００８又はＲＯＭ１００９自体に記録されているが、画像データ自体がネットワーク上に接続されたネットワークストレージに保存されており、読み込むためのネットワーク通信の結果、通信不可となってネットワーク接続エラーが発生する場合がある。また、例えば、画像データは正しく読み込むことができるものの、解析した結果から真っ黒となったなど撮影に失敗した画像や、周波数解析によりボケ写真であることが判明し、解析エラーが発生するような場合等がある。また、スコアがレイアウト対象となる基準よりも低いためにレイアウト対象とならない場合等がある。
【００６４】
画像の解析／スコアリングの結果、エラー画像の枚数が数枚であれば、使用不可の画像を除外してレイアウトすることができる。しかしながら、エラー画像の枚数が多い場合には、レイアウトの品位が低下してしまうか、もしくはレイアウトに必要な枚数に満たない可能性がある。例えば、２０ページのフォトアルバムを作成し、１ページごとに写真を配置するのであれば、２０枚以上の写真が必要となる。しかしながら、画像を１００枚に選別してエラー画像が８０枚を超える場合には、所定の基準を満たし、レイアウトが可能な画像枚数は２０枚未満となり、レイアウトに失敗してしまう。
【００６５】
本実施形態では、選別を行った結果、レイアウトに失敗する場合でも、再度、選別を行うことで、ユーザ操作を必要とすることなく、レイアウトが失敗してしまう可能性を低減させることができる。
【００６６】
Ｓ２００８において、ＣＰＵ１０１１は、Ｓ２００７における解析結果からレイアウト使用可能となった画像枚数を取得し、取得した画像枚数からレイアウト可能であるかを判定する。具体的には、取得した画像枚数が所定数に満たないか、該所定数以上であるかが判定される。例えば、予めレイアウトに必要な画像の最小枚数（ＭＩＮ）を設定しておき、レイアウト使用可能な画像枚数が最小枚数（ＭＩＮ）に満たない場合にはレイアウト可能でないと判定しても良い。その際、最小枚数（ＭＩＮ）は、例えば、フォトアルバムのページ数としても良い。また、例えば、選別後の画像枚数と最小枚数に基づいて決定された画像枚数に満たない場合は、レイアウト可能でないと判定しても良い。例えば、最小枚数から選別後の枚数の間でレイアウト可能と判定する枚数を設定しても良い。Ｓ２００８でレイアウト可能でないと判定された場合は、Ｓ２００９に進み、レイアウト可能であると判定された場合は、Ｓ２０１３に進む。
【００６７】
Ｓ２００９において、ＣＰＵ１０１１は、Ｓ２００７での画像の解析／スコアリングの結果、レイアウト使用不可と判定された画像（以下、エラー画像という）を、Ｓ２００３で生成されたレイアウト対象の画像リストから除外する。エラー画像が存在する場合、エラー画像とファイル名が連続するエラー画像近傍の画像も、エラー画像と同様に内部が破損している可能性がある。この場合、ＣＰＵ１０１１は、例えば、エラー画像と近傍で連続する画像もレイアウト対象の画像リストから除外しても良い。また、例えば、撮影日時がある一定期間内の画像データが破損していた場合、その撮影日時期間内の他の画像データも内部が破損している可能性がある。この場合は、エラー画像と近傍の日時の画像データも、レイアウト対象の画像リストから除外しても良い。エラー画像をレイアウト対象の画像リストから除外した後、Ｓ２００５に戻る。
【００６８】
本実施形態では、画像の解析／スコアリングの結果、ファイルの破損等でレイアウト対象から除外された画像データの情報を、レイアウト非対象の画像リストとして記憶装置１００８またはＲＯＭ１００９に保持しておく。ＣＰＵ１０１１は、後日、図２の処理を実行する場合、レイアウト非対象の画像リストに保持された画像データをレイアウト対象から除外する（例えば、Ｓ２００３の画像リストの作成対象から除外する）ようにしても良い。
【００６９】
２回目以降のＳ２００５の処理について説明する。Ｓ２００５において、ＣＰＵ１０１１は、再度、選別方法を決定する。例えば、ＣＰＵ１０１１は、１回目のＳ２００５で決定された選別方法と同じ選別方法を決定する。２回目以降のＳ２００５を実行するときには、Ｓ２００３において生成された画像リストからＳ２００９でエラー画像が除外されている。即ち、該エラー画像は、２回目の画像選別の候補とはならない。一方、１回目のＳ２００６における処理で選別されなかった画像であっても、Ｓ２００９で画像リストから除外されていなければ、２回目の画像選別では再び選別の候補となる。従って、Ｓ２００５の処理自体は同じであっても、Ｓ２００５で選別される結果は異なる。しかしながら、下記のようなケースにおいては、Ｓ２００５において同じ選別方法を決定すると、再度Ｓ２００８でレイアウト不可であると判定される可能性が高い。そこで、以下のように、画像リストの画像配列の特徴に応じて、２回目以降のＳ２００５では１回目の選別方法と異なる選別方法を決定する。
【００７０】
例えば、Ｓ２００３で取得した画像枚数が１０００枚の画像リストの中に、カメラの連射機能などにより短時間で撮影した同じような画像が７００枚含まれており、その７００枚の大部分がエラー画像であるとする。１０００枚の画像から１００枚（＝ＰＵＬ）に選別する場合、１回目に選別方法１によってランダムに選別してから画像の解析を行うと、連射時の画像を多く含んでしまってＳ２００８でレイアウト可能でないと判定される可能性が高い。その後、Ｓ２００９でエラー画像を除外して再度、Ｓ２００５で選別方法１によりランダムに選別してから画像の解析を行うと、画像リストに多くのエラー画像が残っているので、再度Ｓ２００８でレイアウト可能でないと判定される可能性がある。従って、そのような場合には、選別方法を選別方法１から選別方法２に変更し、隣り合う画像との撮影時間差でソートして選別した後に画像の解析を行うと、Ｓ２００８でレイアウト可能でないと判定される可能性は低くなる。
【００７１】
上記のようなケースでは、１回目のＳ２００８でレイアウト可能でないと判定された場合には、ＣＰＵ１０１１は、Ｓ２００５において、選別方法を変更する。２回目の選別方法を変更することにより、再度の判定でレイアウト可能でないと判定される可能性を低減させることができ、レイアウト可能であると判定されるまでの時間をより短くすることができる。
【００７２】
２回目以降の選別方法の変更については、選別方法１〜５をサイクリックに決定するなど、予め定められた順で決定しておいても良い。また、２回目以降の選別方法を変更する際には、上記のケースのように、メタ情報の配列の特徴に基づいた情報、例えば、撮影時間差が短い画像が多いなどに応じて、選別方法を変更しても良い。また、例えば、ユーザがＵＩを介して選別方法を選択している場合には、ユーザに対し、２回目以降で選別方法を変更するか否かの指示を受付可能なダイアログを表示するようにしてもよい。Ｓ２００５で選別方法が再度、決定されると、再度Ｓ２００６以降の処理が行われる。
【００７３】
上記では、２回目以降のＳ２００５において、選別方法を変更することについて説明した。ここで、Ｓ２００５ではさらに、解析上限枚数の変更を行うようにしても良い。例えば、Ｓ２００３で１０００枚の画像で構成される画像リストを取得し、Ｓ２００６において１００枚（高速解析モード）に選別し、Ｓ２００８でレイアウト可能でないと判定されたとする。ここで、例えば、選別された１００枚の画像のうち半数以上がエラー画像であるようなケースでは、Ｓ２００９においてそれらのエラー画像を画像リストから削除しても、画像リストの中にエラー画像が多く残っている可能性が高い。そのため、再度、画像リストの中から１００枚を選別し、画像の解析をしても、再びレイアウト可能でないと判定される可能性が高いので、より多くの画像を選別、解析した方がレイアウト可能でないと判定される可能性が低くなる。そこで、１回目のＳ２００８でレイアウト可能でないと判定された場合には、ＣＰＵ１０１１は、Ｓ２００５において、解析上限枚数の変更を行う。
【００７４】
例えば、１回目に画像リストから削除したエラー画像の枚数に応じて、１回目に高速解析モードであった場合には、２回目は通常解析モードに変更する。また、例えば、１回目の解析上限枚数から所定の割合増やした解析上限枚数に変更するようにしても良い。また、例えば、Ｓ２００５において、ユーザに対し、２回目以降の解析上限枚数を変更するか否かの指示を受付可能なダイアログを表示しても良い。
【００７５】
以上の説明では、１回目のＳ２００７で解析／スコアリングを行った結果、レイアウトに使用可能な画像データについても再度、選別の対象としている。しかしながら、レイアウトに使用可能な画像データについては、レイアウトに使用可能な画像データとして確定して再度の選別対象から除外し、残りの画像リスト内の画像について再度選別を行うようにしても良い。
【００７６】
図２のＳ２００５〜Ｓ２００９の処理において、レイアウトに使用可能な画像枚数がレイアウト可能な最低枚数よりも少なくなった場合には、エラーを警告通知して図２の処理を中止しても良い。そのような構成により、Ｓ２００５〜Ｓ２００９までの処理が無限にループしてしまうことを防ぐことができる。
【００７７】
Ｓ２００４で画像リストの画像枚数が解析上限枚数以下であると判定された場合、Ｓ２０１０において、ＣＰＵ１０１１は、画像データに対して画像の解析／スコアリングを行う。Ｓ２０１１において、ＣＰＵ１０１１は、Ｓ２０１０における解析結果からレイアウト対象となった画像枚数を取得し、レイアウトが可能であるかを判定する。レイアウトが可能であると判定された場合、Ｓ２０１３に進む。一方、レイアウトが可能でないと判定された場合、Ｓ２０１２において、ＣＰＵ１０１１は、ユーザに対し、レイアウト不可である旨のエラーを表示し、図２の処理を終了する。
【００７８】
Ｓ２０１３において、ＣＰＵ１０１１は、Ｓ２００７又はＳ２０１０でスコアリングされた結果に基づいて、スコアが高い画像データから優先的にアルバムテンプレートに対してレイアウトを行う。Ｓ２０１３の後、図２の処理を終了し、図８のＳ８００４の処理が実行される。
【００７９】
以上のように、本実施形態によれば、レイアウト対象となる画像データの取得先となる例えばフォルダ内に解析上限枚数を超える画像データが含まれていても、画像メタ情報を基に解析上限枚数以下に選別することで、アルバム作成を実行可能となる。また、画像をある選別条件により選別した後に画像の解析を行った結果、レイアウト対象として所定の基準を満たす画像が所定数に満たない場合、選別条件を変更して再度選別を行う。そのため、所定の基準を満たさない画像を除外した結果、レイアウトを実行することができなくなっても、再度の選別により、適切な画像を選別することができる場合がある。選別条件の変更として、例えば選別候補の複数の画像から、所定の基準を満たさない画像を除外して再度選別を行うので、レイアウト使用可能な画像データが揃わずに失敗となる確率を低減させることができる。そして、その再度の選別においては、選別方法を変更して再度、選別を行うことにより、レイアウトが可能であると判定されるまでの時間をより短くすることができる。
【００８０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００８２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００８４】
１００  システム：  １００１、１００５  プリンタ：  １００２  外部サーバ：  １００４  情報処理装置：  １０１１  ＣＰＵ：  １００９  ＲＯＭ：  １０１０  ＲＡＭ
【図１】
2020004270.tif 000003
【図２】
2020004270.tif 000004
【図３】
2020004270.tif 000005
【図４】
2020004270.tif 000006
【図５】
2020004270.tif 000007
【図６】
2020004270.tif 000008
【図７】
2020004270.tif 000009
【図８】
2020004270.tif 000010