(57)【要約】【課題】  ユーザの満足度が高いレイアウト画像を作成することを目的とする。【解決手段】  選択ステップにて選択された画像データが表わす画像が、第２取得ステップで取得されたテンプレートが有する所定のスロットに配置されたレイアウト画像を出力する出力ステップを有し、複数の画像データに、所定の入力に対応するオブジェクトを含む画像を表わす第１画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わし、且つ、前記第１画像データより評価ステップによる評価が高い第２画像データと、が含まれる場合、前記選択ステップでは、前記第２画像データより優先されて前記第１画像データが選択されることを特徴とする制御方法を提供することで課題を解決する。【選択図】  図１
2018097482.tif 000002
【特許請求の範囲】
【請求項１】
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置の制御方法であって、
レイアウト画像に配置される画像に含まれるオブジェクトに関する所定の入力をユーザから受け付ける受け付けステップと、
複数の画像データを取得する第１取得ステップと、
前記第１取得ステップで取得された前記複数の画像データから、少なくとも１つの画像データを選択する選択ステップと、
画像を配置するためのスロットを少なくとも１つ有するテンプレートの情報を取得する第２取得ステップと、
前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得された情報に対応するテンプレートが有するスロットのうち所定のスロットに配置されたレイアウト画像を出力する出力ステップと、を有し、
前記第１取得ステップで取得された前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第１画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わす第２画像データが含まれる場合、前記選択ステップでは、前記第２画像データより優先されて前記第１画像データが選択され、
前記所定の入力に対応するオブジェクトは、前記所定の入力の内容に応じて異なることを特徴とする制御方法。
【請求項２】
前記所定の入力に対応するオブジェクトは、人物の種類のオブジェクト、動物の種類のオブジェクト、料理の種類のオブジェクト、花の種類のオブジェクト、建物の種類のオブジェクト、置物の種類のオブジェクト及び乗り物の種類のオブジェクトのうちの少なくとも１つであることを特徴とする請求項１に記載の制御方法。
【請求項３】
前記選択ステップでは、前記第１取得ステップで取得された前記複数の画像データから、複数の画像データが選択され、
前記出力ステップでは、前記選択ステップで選択された複数の画像データが表わす複数の画像が、前記第２取得ステップで取得された情報に対応するテンプレートが有する複数のスロットにそれぞれ配置されたレイアウト画像が出力されることを特徴とする請求項１又は請求項２のいずれか１項に記載の制御方法。
【請求項４】
前記選択ステップでは、テンプレートが有するスロットのうちのいずれかのスロットに配置される画像を表わす画像データとして既に選択された画像データ以外の画像データが選択されることを特徴とする請求項１乃至請求項３のいずれか１項に記載の制御方法。
【請求項５】
前記第１取得ステップで取得された前記複数の画像データのそれぞれを評価する評価ステップを有し、
前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第３画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わし、且つ、前記第３画像データより前記評価ステップによる評価が高い第４画像データと、が含まれる場合、前記選択ステップでは、前記第４画像データより優先されて前記第３画像データが選択されることを特徴とする請求項１乃至請求項４のいずれか１項に記載の制御方法。
【請求項６】
前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第５画像データと、前記所定の入力に対応するオブジェクトを含む画像を表わし、且つ、前記第５画像データより前記評価ステップによる評価が高い第６画像データと、が含まれる場合、前記選択ステップでは、前記第５画像データより優先されて前記第６画像データが選択されることを特徴とする請求項５に記載の制御方法。
【請求項７】
前記複数の画像データのそれぞれの特徴量を解析する解析ステップを更に有し、
前記評価ステップでは、前記解析ステップにより解析された前記特徴量に基づいて、前記複数の画像データのそれぞれが評価されることを特徴とする請求項５又は請求項６に記載の制御方法。
【請求項８】
前記評価ステップでは、所定の得点軸に基づいて、前記複数の画像データのそれぞれに得点が付されることで評価が行われ、
評価が高い画像データほど大きい得点が付されることを特徴とする請求項５乃至請求項７のいずれか１項に記載の制御方法。
【請求項９】
前記評価ステップでは、前記所定の入力に対応するオブジェクトを含む画像を表わす画像データに前記所定の得点軸に基づいて付された点数に、所定の点数が加算されることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わし、且つ動画データから取得された第７画像データと、前記所定の入力に対応するオブジェクトを含む画像を表わし、且つ静止画データから取得された第８画像データと、が含まれる場合、前記選択ステップでは、前記第８画像データより優先されて前記第７画像データが選択されることを特徴とする請求項１乃至請求項９のいずれか１項に記載の制御方法。
【請求項１１】
前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わし、且つソーシャル・ネットワーキング・サービスのサーバから取得された第９画像データと、前記所定の入力に対応するオブジェクトを含む画像を表わし、前記ソーシャル・ネットワーキング・サービスのサーバ以外の領域から取得された第１０画像データと、が含まれる場合、前記選択ステップでは、前記第１０画像データより優先されて前記第９画像データが選択されることを特徴とする請求項１乃至請求項１０のいずれか１項に記載の制御方法。
【請求項１２】
前記第２取得ステップでは、前記所定の入力に対応するオブジェクトが所定のオブジェクトである場合、矩形のスロットを少なくとも１つ有するテンプレートが取得されることを特徴とする請求項１乃至請求項１１のいずれか１項に記載の制御方法。
【請求項１３】
前記出力ステップでは、前記所定の入力に対応するオブジェクトが所定のオブジェクトである場合、前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得されたテンプレートが有する矩形のスロットに配置されたレイアウト画像が出力されることを特徴とする請求項１乃至請求項１２のいずれか１項に記載の制御方法。
【請求項１４】
前記出力ステップでは、前記選択ステップにて選択された画像データが表わす画像に所定のオブジェクトが含まれる場合、前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得されたテンプレートが有する矩形の前記所定のスロットに配置されたレイアウト画像が出力され、前記選択ステップにて選択された画像データが表わす画像に前記所定のオブジェクトが含まれない場合、前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得されたテンプレートが有する矩形又は矩形以外の前記所定のスロットに配置されたレイアウト画像が出力されることを特徴とする請求項１乃至請求項１３のいずれか１項に記載の制御方法。
【請求項１５】
前記所定のオブジェクトは、画像に含まれるオブジェクトを特定するための所定の処理によって、画像における位置が特定されないオブジェクトであることを特徴とする請求項１２乃至請求項１４のいずれか１項に記載の制御方法。
【請求項１６】
前記所定のオブジェクトは、人物以外の種類のオブジェクトであることを特徴とする請求項１０乃至請求項１５のいずれか１項に記載の制御方法。
【請求項１７】
前記出力ステップでは、前記選択ステップにて選択された画像データが動画データから取得された画像データである場合、前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得されたテンプレートが有する第１のサイズのスロットに配置されたレイアウト画像が出力され、前記選択ステップにて選択された画像データが動画データから取得された画像データでない場合、前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得されたテンプレートが有する前記第１のサイズより大きい第２のサイズのスロットに配置されたレイアウト画像が出力されることを特徴とする請求項１乃至請求項１６のいずれか１項に記載の制御方法。
【請求項１８】
前記所定の入力は、複数の前記レイアウト画像で構成されるアルバムに、複数のモードのうちいずれかのモードを指定するための入力であり、
前記所定の入力に対応するオブジェクトは、前記複数のモードのうち指定されたモードに対応するオブジェクトであることを特徴とする請求項１乃至請求項１７のいずれか１項に記載の制御方法。
【請求項１９】
前記第１取得ステップで取得された前記複数の画像データが表わす複数の画像のそれぞれに含まれるオブジェクトを特定する特定ステップを更に有し、
前記複数の画像データに、前記所定の入力に対応するオブジェクトが含まれる画像を表わすと特定された第１１画像データと、前記所定の入力に対応するオブジェクトが含まれる画像を表わさないと特定された第１２画像データと、が含まれる場合、前記選択ステップでは、前記第１２画像データより優先されて前記第１１画像データが選択されることを特徴とする請求項１乃至請求項１８のいずれか１項に記載の制御方法。
【請求項２０】
前記特定ステップによって、前記複数の画像データが表わす複数の画像のそれぞれに含まれるオブジェクトが特定された場合、いずれのオブジェクトを含む画像を表わすかを示す情報を、前記第１取得ステップで取得された前記複数の画像データそれぞれに関連付ける関連付け手段と、
前記第１取得ステップで取得された前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わすことを示す情報が関連付けられた第１３画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わすことを示す情報が関連付けられた第１４画像データが含まれる場合、前記選択ステップでは、前記第１４画像データより優先されて前記第１３画像データが選択されることを特徴とする請求項１９に記載の制御方法。
【請求項２１】
前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす画像データが含まれない場合、前記選択ステップでは、前記所定の入力に対応するオブジェクトと異なるオブジェクトを含む画像を表わす画像データが選択されることを特徴とする請求項１乃至請求項２０のいずれか１項に記載の制御方法。
【請求項２２】
前記出力ステップでは、前記レイアウト画像が表示部に表示されることを特徴とする請求項１乃至請求項２１のいずれか１項に記載の制御方法。
【請求項２３】
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置のコンピュータに、
レイアウト画像に配置される画像に含まれるオブジェクトに関する所定の入力をユーザから受け付ける受け付けステップと、
複数の画像データを取得する第１取得ステップと、
前記第１取得ステップで取得された前記複数の画像データから、少なくとも１つの画像データを選択する選択ステップと、
画像を配置するためのスロットを少なくとも１つ有するテンプレートの情報を取得する第２取得ステップと、
前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得された情報に対応するテンプレートが有するスロットのうち所定のスロットに配置されたレイアウト画像を出力する出力ステップと、を実行させ、
前記第１取得ステップで取得された前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第１画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わす第２画像データが含まれる場合、前記選択ステップでは、前記第２画像データより優先されて前記第１画像データが選択され、
前記所定の入力に対応するオブジェクトは、前記所定の入力の内容に応じて異なることを特徴とするプログラム。
【請求項２４】
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置であって、
レイアウト画像に配置される画像に含まれるオブジェクトに関する所定の入力をユーザから受け付ける受け付け手段と、
複数の画像データを取得する第１取得手段と、
前記第１取得手段によって取得された前記複数の画像データから、少なくとも１つの画像データを選択する選択手段と、
画像を配置するためのスロットを少なくとも１つ有するテンプレートの情報を取得する第２取得手段と、
前記選択手段によって選択された画像データが表わす画像が、前記第２取得手段によって取得された情報に対応するテンプレートが有するスロットのうち所定のスロットに配置されたレイアウト画像を出力する出力手段と、を有し、
前記第１取得手段によって取得された前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第１画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わす第２画像データが含まれる場合、前記選択手段は、前記第２画像データより優先して前記第１画像データを選択し、
前記所定の入力に対応するオブジェクトは、前記所定の入力の内容に応じて異なることを特徴とする画像処理装置。
【請求項２５】
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置の制御方法であって、
複数の前記レイアウト画像で構成されるアルバムに、複数のモードのうちいずれかのモードを指定するための入力をユーザから受け付ける受け付けステップと、
複数の画像データを取得する第１取得ステップと、
前記複数の画像データに、前記受け付けステップで受け付けられた入力により指定されたモードに対応する所定のオブジェクトを含む画像を表わす画像データが含まれる場合、前記所定のオブジェクトを含む画像がテンプレートに配置されたレイアウト画像を出力する出力ステップと、を有し、
前記所定のオブジェクトは、前記受け付けステップで受け付けられた入力により指定されたモードに応じて異なることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラ等で写真を撮影することで取得される画像データが表わす画像をテンプレートに配置することで、レイアウト画像を作成する処理が知られている。このような処理を自動レイアウト処理という。特許文献１では、画像を解析することにより画像を評価した後、評価値の高い画像を見開きページに配置してアルバムを作成することで、自動レイアウト処理を実行する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４４９４６０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、自動レイアウト処理が普及するについて、よりユーザの満足度が高いレイアウト画像を作成することが以前にも増して要望されている。
【０００５】
そこで、本発明は、ユーザの満足度が高いレイアウト画像を作成することを目的する。
【課題を解決するための手段】
【０００６】
上記課題を解決する為に、本発明の制御方法は、
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置の制御方法であって、
レイアウト画像に配置される画像に含まれるオブジェクトに関する所定の入力をユーザから受け付ける受け付けステップと、
複数の画像データを取得する第１取得ステップと、
前記第１取得ステップで取得された前記複数の画像データから、少なくとも１つの画像データを選択する選択ステップと、
画像を配置するためのスロットを少なくとも１つ有するテンプレートの情報を取得する第２取得ステップと、
前記選択ステップにて選択された画像データが表わす画像が、前記第２取得ステップで取得された情報に対応するテンプレートが有するスロットのうち所定のスロットに配置されたレイアウト画像を出力する出力ステップと、を有し、
前記第１取得ステップで取得された前記複数の画像データに、前記所定の入力に対応するオブジェクトを含む画像を表わす第１画像データと、前記所定の入力に対応するオブジェクトを含まない画像を表わす第２画像データが含まれる場合、前記選択ステップでは、前記第２画像データより優先されて前記第１画像データが選択され、
前記所定の入力に対応するオブジェクトは、前記所定の入力の内容に応じて異なることを特徴とする。
【０００７】
また、本発明の制御方法は、
テンプレートに画像を配置してレイアウト画像を作成する画像処理装置の制御方法であって、
複数の前記レイアウト画像で構成されるアルバムに、複数のモードのうちいずれかのモードを指定するための入力をユーザから受け付ける受け付けステップと、
複数の画像データを取得する第１取得ステップと、
前記複数の画像データに、前記受け付けステップで受け付けられた入力により指定されたモードに対応する所定のオブジェクトを含む画像を表わす画像データが含まれる場合、前記所定のオブジェクトを含む画像がテンプレートに配置されたレイアウト画像を出力する出力ステップと、を有し、
前記所定のオブジェクトは、前記受け付けステップで受け付けられた入力により指定されたモードに応じて異なることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザの満足度が高いレイアウト画像を作成することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置のハードウェア構成を示すブロック図である。
【図２】第１実施形態のアルバム作成アプリケーションのソフトウェア構成を示すブロック図である。
【図３】アルバム作成アプリケーションにより表示される設定画面の図である。
【図４】アルバム作成アプリケーションにより実行される自動レイアウト処理を示すフローチャートである。
【図５】画像データの画像解析情報を管理するテーブルを示す図である。
【図６】画像データ群の分割を説明するための図である。
【図７】シーンの分類分けを説明するための図である。
【図８】メインスロットとサブスロットについての得点化を説明するための図である。
【図９】画像データの選択を説明するための図である。
【図１０】画像データのレイアウトを説明するための図である。
【図１１】画像選択部の構成をより詳細に説明する図である。
【図１２】画像選択処理の詳細を示すフローチャートである。
【図１３】第１実施形態における、テンプレートを決定する処理を司るソフトウェアのブロック図である。
【図１４】第１実施形態における、レイアウト画像の作成に利用するテンプレートを決定する処理を示すフローチャートである。
【図１５】第２実施形態のアルバム作成アプリケーションのソフトウェア構成を示すブロック図である。
【図１６】アルバムの再レイアウト時に実行される処理を示すフローチャートである。
【図１７】種々のテンプレートを示す図である。
【図１８】第２実施形態における、テンプレートを決定する処理を司るソフトウェアのブロック図である。
【図１９】第２実施形態における、レイアウト画像の作成に利用するテンプレートを決定する処理を示すフローチャートである。
【図２０】編集後のアルバム内の各オブジェクトの出現頻度を調整する画面の図である。
【図２１】各設定値における編集後のアルバムのある１枚の見開きのレイアウト画像を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１１】
以下の実施形態では、画像処理装置上で、アルバム作成のためのアプリケーションプログラム（以下、「アルバム作成アプリ」ともいう）を動作させ、自動レイアウトを生成するまでの手順について説明する。以下に説明する画像とは、特に断りが無い限り、静止画、動画、動画中のフレーム画像、また、ＳＮＳ（ソーシャル・ネットワーキング・サービス）サーバ上の静止画と動画と動画中のフレーム画像を含む。
【００１２】
（第１実施形態）
図１は、本発明に係る画像処理装置のハードウェアの構成を説明するブロック図である。画像処理装置としては、例えば、ＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末、カメラ、プリンタ等が挙げられ、本実施形態ではＰＣとする。
【００１３】
図１において、画像処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、ディスプレイ１０５と、キーボード１０６と、マウス１０７と、データ通信部１０８と、を備えている。これらは、データバス１０９により相互に接続されている。
【００１４】
ＣＰＵ（中央演算装置／プロセッサ）１０１は、システム制御部であり、画像処理装置１００全体を制御する。また、ＣＰＵ１０１は、本実施形態で説明する画像処理方法をプログラムに従って実行する。なお、図中のＣＰＵは１つとしたが、これに限定されず、複数備えられていてもよい。
【００１５】
ＲＯＭ１０２には、ＣＰＵ１０１により実行されるプログラムやＯＳ（オペレーティングシステム）が記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ＨＤＤ（ハードディスク）１０４は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。本実施形態では、ＨＤＤ１０４は、詳細は後述するアルバム作成アプリを記憶する。
【００１６】
ディスプレイ１０５（表示部）は、本実施形態のＵＩ（ユーザインターフェイス）や画像のレイアウト結果をユーザに提示する装置である。ディスプレイ１０５は、タッチセンサー機能を備えていても良い。キーボード１０６は、入力装置の１つであり、例えば、ディスプレイ１０５に表示されたＵＩ上に所定の情報を入力するのに用いられる。所定の情報とは、例えば、作成したいアルバムの見開き数やページ数等の情報である。マウス１０７は、入力装置の１つであり、例えば、ディスプレイ１０５に表示されたＵＩ上のボタンをクリックするのに用いられる。なお、例えばユーザが、ディスプレイ１０５に表示されている、アルバム作成アプリに対応するアイコンを、マウス１０７の操作によりダブルクリックすることで、アルバム作成アプリが起動する。
【００１７】
データ通信部１０８（通信部）は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、アルバム作成アプリによって作成されたデータは、データ通信部１０８を介して、画像処理装置１００に接続された不図示のプリンタやサーバに送信される。また、データ通信部１０８は、不図示のサーバやＳＮＳ（ソーシャルネットワーキングサービス）サーバ上の静止画データを受信する。なお、本実施形態では、データ通信部１０８は、ＳＮＳサーバから静止画データを受信するが、この形態に限定されず、動画データも受信しても良い。
【００１８】
データバス１０９は、上述した各部（１０２〜１０８）とＣＰＵ１０１とを接続する。
【００１９】
＜アルバムの自動レイアウト＞
図２は、本実施形態のアルバム作成アプリケーションのソフトウェアブロック図である。本実施形態では、ＨＤＤ１０４に保存されているアルバム作成アプリは、ディスプレイ１０５に表示されている、アルバム作成アプリに対応するアイコンを、ユーザがマウス１０７の操作によりダブルクリックすることで起動される。また、アルバム作成アプリは、例えば、データ通信部１０８を介して外部のサーバからインストールされることで、ＨＤＤ１０４に保存される。
【００２０】
アルバム作成アプリは様々な機能を持つが、本実施形態では、特に自動レイアウト処理部２１９により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、静止画や動画をその内容や属性に基づいて分類及び選択することで取得された画像データを予め用意されたテンプレートにレイアウトすることで、レイアウト画像を作成し、それをディスプレイ１０５に表示するための機能である。
【００２１】
図２に示すように、アルバム作成アプリは、アルバム作成条件指定部２０１と、自動レイアウト処理部２１９と、を含む。
【００２２】
アルバム作成条件指定部２０１は、例えばマウス１０７による後述のＵＩ操作に応じたアルバム作成条件の指定を受付け、自動レイアウト処理部２１９に出力する。指定される条件には、例えば処理の対象となる画像データや主人公のＩＤ、アルバムの見開き数、テンプレート情報、画像補正のＯＮ／ＯＦＦ条件、動画使用のＯＮ／ＯＦＦ条件、アルバムのモード等の指定が含まれる。画像データの指定は、例えば、撮影日時など個別の画像データの付随情報や属性情報による指定であってもよいし、デバイスやディレクトリ（フォルダ）の指定など、画像データを含むファイルシステムの構造に基づく指定であってもよい。なお、見開きとは、異なるシート（又はページ）に印刷された、互いに隣接する１対のページに相当する。また、本実施形態のアルバム作成アプリでは、一つの表示用ウィンドウで１つの見開きのレイアウトを作成するものとする。なお、アルバム作成条件指定部２０１は、例えば図３に示すような設定画面を表示し、当該画面に対する入力を受け付けることで、アルバム作成条件の指定を受付ける。
【００２３】
動画取得部２０２は、アルバム作成条件指定部２０１により指定された動画群（動画データ群）をＨＤＤ１０４等の記憶領域から取得する。なお、動画取得部２０２は、データ通信部１０８を介してネットワーク上のサーバやＳＮＳサーバ等の記憶領域から動画群を取得しても良い。ここでいう動画群とは、アルバム作成に利用される画像データの候補を切り出すために利用される動画データの集合を指す。動画取得部２０２は、取得された動画データを動画解析部２０３によって解析できるように、ＯＳに標準搭載されているデコーダ機能を使って、動画データを圧縮された状態から展開された状態にする。
【００２４】
動画解析部２０３は、動画取得部２０２で取得された動画データを解析する。
【００２５】
具体的にはまず、動画解析部２０３は、動画データから連続するフレームを切り出し、前後のフレーム間の特徴量の差を特定し、動き量を特定する。動画データには、運動量が大きい撮影対象が撮影されることで得られた動画データと、運動量が小さい撮影対象が撮影されることで得られた動画データと、がある。前者の動画データから取得された画像データについては動き量が多きとみなし、後者の動画データから取得された画像データについては動き量が多き量が小さいとみなす。
【００２６】
具体的には動画解析部２０３は、切り出した各フレーム全体の領域を複数の領域に分割し、当該複数の領域のＲＢＧ値に関するヒストグラムを作成する。そして、動画解析部２０３は、前後のフレーム間の、ＲＢＧ値に関するヒストグラムの差分を検出し、差分が大きいとされたヒストグラムに対応する領域の個数を特定する。そして、動画解析部２０３は、差分が大きいとされたヒストグラムに対応する領域の個数が閾値以上である場合には、前後のフレーム間の特徴量の差が大きいと判定する。そして、動画解析部２０３は、差分が大きいとされたヒストグラムに対応する領域の個数が閾値未満である場合には、前後のフレーム間の差が小さいと判定する。
【００２７】
そして、前後のフレーム間の特徴量の差が大きい場合は、それらのフレームが類似していないことが示されるため、動画解析部２０３により、それらのフレームは、被写体の動きが多い（動き量が多い）フレームと判断される。前後のフレーム間の特徴量の差が小さい場合は、それらのフレームが類似していることが示されるため、動画解析部２０３により、それらのフレームは、被写体の動きが少ない（動き量が少ない）フレームと判断される。動き量の判断に関しては、前述したフレーム間の特徴量の差分が利用される以外にも、動画フォーマットで利用している動きベクトルが利用されてもよい。また、フレーム間の特徴量の差分として、ＲＢＧ値に関する差分を検出する形態としたが、例えば、輝度値に関する差分を検出する形態をしても良い。このようにして、動画解析部２０３は、１つの動画データから切り出される複数のフレームを、動き量が多いフレーム群と、動き量が少ないフレーム群とに分けて管理することができる。
【００２８】
動画解析部２０３は、動画データから切り出され、時系列順に管理されているフレームを、所定の間隔毎に抽出して解析対象とする。動画解析部２０３は、動き量が多いと判定されたフレーム群から解析対象のフレームを抽出する間隔を短くし、動き量が少ないと判定されたフレーム群から解析対象のフレームを抽出する間隔を長くする。例えば、動画解析部２０３は、動き量が多いと判定されたフレーム群からは、５フレーム間隔で解析対象のフレームを抽出し、動き量が少ないと判定されたフレーム群からは、３フレーム間隔で解析対象のフレームを抽出する。
【００２９】
また、動画解析部２０３は、抽出した解析対象のフレームに、解析処理を行う。具体的には、動画解析部２０３は、オブジェクト検出、サイズ特定、笑顔判定、目瞑り判定、ブレボケ判定、明るさ判定等を行う。オブジェクト検出とは、解析対象のフレームから、人物の顔や動物、料理等のオブジェクトを検出する処理である。サイズ特定とは、オブジェクト検出によって検出されたオブジェクトのサイズを特定する処理である。笑顔判定とは、オブジェクト検出によって検出されたオブジェクトが人物の顔である場合、検出された人物の顔が、笑顔であるか否かを判定する処理である。目瞑り判定とは、オブジェクト検出によって検出されたオブジェクトが人物の顔である場合、検出された人物の顔が、目を瞑っているか否かを判定する処理である。ブレボケ判定とは、解析したフレームのブレやボケの多寡を判定する処理である。明るさ判定とは、解析したフレームの明るさ（平均輝度値）の多寡を判定する処理である。
【００３０】
また、動画解析部２０３は、上記処理の結果に応じて、解析したフレームに得点を付加する得点化処理を行う。具体的には例えば、動画解析部２０３は、人物の顔や動物、料理等のオブジェクトを含むフレームの方が、当該オブジェクトを含まないフレームより得点が高くなるように、得点化処理を行う。なお、動画解析部２０３は、あるフレームがオブジェクトを含むか否かを、オブジェクト検出によって判定することができる。また、例えば、動画解析部２０３は、大きいオブジェクトを含むフレームの方が、小さいオブジェクトを含むフレームより得点が高くなるように、得点化処理を行う。なお、動画解析部２０３は、各フレームに含まれるオブジェクトのサイズを、サイズ特定によって特定することができる。また、例えば、動画解析部２０３は、笑顔である顔を含むフレームの方が、笑顔でない顔を含むフレームより得点が高くなるように、得点化処理を行う。また、動画解析部２０３は、笑顔である顔を多く含むフレームの方が、笑顔である顔をあまり含まないフレームより得点が高くなるように、得点化処理を行う。なお、動画解析部２０３は、各フレームに含まれる顔が笑顔であるか否かや、各フレームに含まれる笑顔である顔の数を、笑顔判定によって特定することができる。また、例えば、動画解析部２０３は、目を瞑っていない顔を含むフレームの方が、目を瞑っている顔を含むフレームより得点が高くなるように、得点化処理を行う。また、動画解析部２０３は、目を瞑っている顔をあまり含まないフレームの方が、目を瞑っている顔を多く含むフレームより得点が高くなるように、得点化処理を行う。なお、動画解析部２０３は、各フレームに含まれる顔が目を瞑っているか否かや、各フレームに含まれる目を瞑っている顔の数を、目瞑り判定によって特定することができる。また、動画解析部２０３は、ブレやボケが少ないフレームの方が、ブレやボケが多いフレームより得点が高くなるように、得点化処理を行う。なお、動画解析部２０３は、各フレームのブレやボケの多寡を、ブレボケ判定によって特定することができる。なお、動画解析部２０３は、ブレボケ判定では、解析対象のフレームのエッジ量をラプラシアンフィルタにより算出して、エッジ量が多いほど、ボケが少ないと判定する。なお、動画解析部２０３は、動き量に応じて、ブレボケ判定する領域を変更してもよい。例えば、動いている被写体を追尾して撮影することによって得られた動画データから切り出されたフレームに対してブレボケ判定を行う場合、被写体はくっきり写るが背景はぼける。そのため、画像全体をブレボケ判定の対象領域としては、判定対象のフレームはボケが多いと判定されてしまう。そのため例えば、動画解析部２０３は、動き量が多いフレームに関しては、顔などが写っている被写体領域のみに対して、ブレボケ判定を実行しても良い。また、動画解析部２０３は、明るい（平均輝度値が大きい）フレームの方が、暗い（平均輝度値が小さい）フレームより得点が高くなるように、得点化処理を行う。
【００３１】
なお、動画解析部２０３は、解析の対象となるフレームを絞っても良い。例えば、動画解析部２０３は、オブジェクト検出によって人物の顔を検出する際、検出する顔の向きを指定する。このとき、全方向を指定して検出を行うのではなく、特定の向きの顔だけ検出する形態であっても良い。また、例えば、笑顔判定、目瞑り判定を、特定の向きの顔が写っているフレームや、所定値以上の大きさの顔が写っているフレームに対して行う形態としても良い。また、例えば、サイズ特定、笑顔判定、目瞑り判定、ブレボケ判定を、明るさが所定値以上のフレームにだけ行う形態としても良い。このような形態とすることで、動画データから切り出されるフレーム数が多い場合に、処理時間を短縮することができる。
【００３２】
なお、動画解析部２０３による得点化の方法は上述に限定されない。例えば、動画解析部２０３は、動き量が多いフレームの方が、動き量が小さいフレームより得点が高くなるように、得点化処理を行っても良い。また、動画解析部２０３は、ズームされた後のフレームやパンされた後のフレームに所定のスコア値を加算してもよい。そうすることで、動画撮影時のユーザの意図を得点に反映させることができる。
【００３３】
動画解析部２０３は、これらの解析処理により、動画におけるどのフレームが良い画像かを特定することができる。
【００３４】
フレーム取得部２０４は、動画解析部２０３で解析された結果（評価）に基づいて、動画からフレームを切り出し、切り出したフレームを画像データとしてＨＤＤ１０４に保存する。具体的には、フレーム取得部２０４は、動画解析部２０３によって解析・管理されている各フレーム群から、総合得点が所定値以上のフレームをそれぞれ取得する。または、フレーム取得部２０４は、総合得点の高いものから所定数抽出してもよい。その際、フレームと関連付けて、当該フレームの動き量、カメラワーク、得点を保存する。当該フレームの動き量、カメラワーク、得点は、動画解析部２０３で解析されることで取得される。なお、当該フレームには、例えば、アルバム作成に利用される画像、アルバム作成後にユーザが画像の差し替えを行う際に利用される候補画像というように、画像の用途に関する情報を関連付けて保存してもよい。なお、例えば、あるフレームが、アルバム作成に利用される画像と候補画像のどちらとなるかは、当該フレームの得点に応じて決定される。具体的には、より得点が高いフレームが、アルバム作成に利用される画像となる。また、例えば、指定フォルダや指定サーバ、ＳＮＳサーバ等、いずれの記憶部から動画データを取得したかの情報や、動画の撮影日時情報や抽出したフレームのサイズ、動画の撮影時間等もこのとき保存されても良い。なお、抽出されたフレームは、順次、画像変換部２０６により所定の形式の画像データに変換される。
【００３５】
画像取得部２０５は、アルバム作成条件指定部２０１により指定された画像群（画像データ群）をＨＤＤ１０４等の記憶領域から取得する。なお、動画取得部２０２は、データ通信部１０８を介してネットワーク上のサーバやＳＮＳサーバ等の記憶領域から画像群を取得しても良い。ここでいう画像群とは、アルバム作成に利用される画像データの候補を指す。例えば、アルバム作成条件指定部２０１において、レイアウト対象となる画像データが生成された（当該画像データに対応する写真が撮影された）日時（以後、撮影日時という。）に関する条件としてＸＸ年１月１日〜ＸＸ年１２月３１日が指定される場合がある。この場合、画像取得部２０５は、ＸＸ年１月１日〜ＸＸ年１２月３１日に生成された全ての画像データを画像群として取得する。
【００３６】
記憶領域に保存されている画像データは、例えば、静止画像データや、動画データからフレームが切り出されることで取得される切り出し画像データである。静止画像データや切り出し画像データは、撮像デバイスから取得されたものである。撮像デバイスは、画像処理装置１００が備えていてもよいし、画像処理装置１００の外部の装置である外部装置（ＰＣやスマートホン、デジタルカメラ、タブレット端末等）が備えるものであってもよい。なお、画像処理装置１００は、外部装置から画像データを取得する場合は、データ通信部１０８を介して画像データを取得する。また、画像処理装置１００は、静止画像データや切り出し画像データを、データ通信部１０８を介してネットワークやサーバから取得してもよい。ＣＰＵ１０１は、画像データに付随したデータを解析して、各画像データがどこから取得されたのかを判定する。なお、ＣＰＵ１０１は、アルバム作成アプリを介してＳＮＳサーバから画像データを取得した場合は、アルバム作成アプリによって、当該画像データがどこから取得されたのかを管理してもよい。なお、アルバム作成アプリによって利用される画像データは、上述した種類の画像データに限定されるものではなく、他の種類の画像データであってもよい。
【００３７】
画像変換部２０６は、画像取得部２０５によって取得された画像データの画素数情報や色情報を変換する。なお、画像変換部２０６によって、どのような画素数情報や色情報の画像データへの変換が行われるかは予め決められており、その情報は、アルバム作成アプリ又はアルバム作成アプリが用いるパラメータファイルに保存されている。本実施形態では、画像取得部２０５によって取得された画像データを、画素数が短辺４２０画素、色情報がｓＲＧＢである画像データに変換する。
【００３８】
画像解析部２０７は、画像データの解析処理をする。本実施形態では、画像解析部２０７は、画像変換部２０６で変換済みの画像データの解析処理をする。具体的には、変換済みの画像データから特徴量を取得し、変換済みの画像データにおけるオブジェクト検出、顔検出、検出した顔の表情認識、検出した顔の個人認識を実行する。さらに、画像取得部２０５によって取得された変換前の画像データに付随したデータ（例えば、Ｅｘｉｆ情報）から、撮影日時情報の取得を行う。撮影日時情報として、Ｅｘｉｆ情報からの取得に限らず、画像データを作成または更新した日時の情報が用いられてもよい。また、ローカルサーバやＳＮＳサーバに画像データをアップロードまたはローカルサーバやＳＮＳサーバから画像データをダウンロードした日時の情報が用いられてもよい。これらの日時の情報も、以下では撮影日時情報として取り扱う。なお、ローカルサーバとは、ＨＤＤ１０４等の、画像処理装置１００が備える記憶領域であるものとする。
【００３９】
画像分類部２０８は、画像データ群に対して、撮影日時情報や枚数、検出した顔情報などのオブジェクト検出結果情報を使って後述のシーン分割、シーン分類を実行する。シーンとは、「旅行」や「日常」、「結婚式」等の撮影シーンのことである。シーンとは、例えば、一時期の撮影機会に生成された画像データの集まりであるともいえる。
【００４０】
主人公情報入力部２０９は、アルバム作成条件指定部２０１から指定された主人公のＩＤ（識別情報）を画像得点部２１０に入力する。
【００４１】
画像得点部２１０は、各画像データに対して、レイアウトに適した画像データが高得点になるように得点付けをする。得点付けは、画像解析部２０７で得られた情報と、画像分類部２０８で得られた情報に応じて実行される。また、他の情報が付加的に或いは代替的に用いられてもよい。本実施形態では、画像得点部２１０は、主人公情報入力部２０９から入力された主人公ＩＤが含まれる画像データの得点が高得点になるように、各画像データに対して得点付けをする。
【００４２】
見開き入力部２１１は、アルバム作成条件指定部２０１から指定されたアルバムの見開き数を見開き割当部２１２に入力する。
【００４３】
見開き割当部２１２は、画像群を分割（グルーピング）して各見開きに割り当てる。見開き割当部２１２は、入力された見開き数に応じて画像群を分割して、各見開きに画像群の一部を割り当てる。例えば、見開き割当部２１２は、見開き数が５である場合、取得した画像群を５つに分割して小画像群を生成し、各見開きに１つの小画像群を割当てる。なお、本実施形態では、画像群が見開き数に応じて分割され、分割された画像群が各見開きに割り当てられる形態を説明するが、画像群がページ数に応じて分割され、分割された画像群が各ページに割り当てられる形態であっても良い。
【００４４】
画像選択部２１３は、見開き割当部２１２で各見開きに割り当てられた画像群から、画像得点部２１０で付けた得点に基づいて、画像データを選択する。
【００４５】
テンプレート設定部２１４は、アルバム作成条件指定部２０１から指定されたテンプレート情報に応じた複数のテンプレートをＨＤＤ１０４から読み込み、画像レイアウト部２１５に入力する。なお、本実施形態では、複数のテンプレートは、ＨＤＤ１０４に保存されているアルバム作成アプリに保持されているものとする。また、複数のテンプレートには、例えば、テンプレート全体のサイズに関する情報や、テンプレートが備えるスロットの個数、サイズ、位置に関する情報等が含まれる。
【００４６】
画像レイアウト部２１５は、見開きのレイアウトを決定する。具体的には、テンプレート設定部２１４により入力された複数のテンプレートから画像選択部２１３で選択した画像データに適したテンプレートを選択し、各画像の配置位置を決定する。これにより、見開きのレイアウトが決定される。
【００４７】
レイアウト情報出力部２１８は、画像レイアウト部２１５が決定したレイアウトに従って、ディスプレイ１０５にレイアウト画像を表示するためのレイアウト情報を出力する。レイアウト画像は、例えば、選択されたテンプレートに画像選択部２１３により選択された画像データが表わす画像が配置された画像であり、レイアウト情報は、当該画像を表わすビットマップデータである。
【００４８】
画像補正部２１７は、覆い焼き補正（輝度補正）、赤目補正、コントラスト補正等の各補正処理を実行する。補正条件入力部２１６は、アルバム作成条件指定部２０１から指定された画像補正のＯＮ／ＯＦＦ条件を画像補正部２１７に入力する。画像補正のＯＮ／ＯＦＦは、補正の種類ごとに指定されてもよいし、全ての種類についてまとめて指定されてもよい。画像補正部２１７は、画像補正条件がＯＮの場合は、画像データに対して補正処理を実施し、画像補正条件がＯＦＦの場合は、画像データに対して補正処理を実施しない。なお、画像補正部２１７は、画像変換部２０６から入力された画像データに対して、画像補正のＯＮ／ＯＦＦに従って補正処理を実行する。画像変換部２０６から画像補正部２１７に入力する画像データの画素数情報は、画像レイアウト部２１５で決定したレイアウト画像のサイズに合わせて変えることができる。本実施形態では、レイアウト画像を生成した後に、各画像データに画像補正を行うものとしたが、これに限定されず、テンプレートに画像をレイアウト（配置）する前に、各画像データの補正を行うようにしてもよい。
【００４９】
レイアウト情報出力部２１８から出力される画像データは、例えば図３に示すような形式でディスプレイ１０５に表示される。
【００５０】
本実施形態に係るアルバム作成アプリが、画像処理装置１００にインストールされると画像処理装置１００上で動作するＯＳによりディスプレイ１０５に表示されるトップ画面（デスクトップ）上に起動アイコンが生成される。そして、ユーザが起動アイコンをマウス１０７の操作によりダブルクリックすると、ＨＤＤ１０４に保存されているアルバム作成アプリのプログラムがＲＡＭ１０３にロードされる。そして、ＲＡＭ１０３にロードされたプログラムがＣＰＵ１０１によって実行されて、アルバム作成アプリケーションが起動する。
【００５１】
図３は、起動したアルバム作成アプリが提供するＵＩ構成画面３０１の一例を示す図である。ＵＩ構成画面３０１は、ディスプレイ１０５に表示される。ユーザがＵＩ構成画面３０１を介して、後述するアルバムの作成条件を設定することで、アルバム作成条件指定部２０１は、ユーザから指定される設定内容を取得する。ＵＩ構成画面３０１上のパスボックス３０２は、アルバム作成の対象となる画像・動画群のＨＤＤ１０４中の保存場所（パス）を示す。フォルダ選択ボタン３０３は、ユーザによるマウス１０７の操作によりクリックされることより、アルバム作成の対象とする画像・動画群を含むフォルダをツリー構成でユーザが選択可能に表示する。そして、ユーザにより選択された画像・動画群を含むフォルダパスがパスボックス３０２に表示される。
【００５２】
主人公指定アイコン３０４は、ユーザが主人公を指定するためのアイコンであり、人物の顔画像がアイコンとして表示される。主人公指定アイコン３０４には、複数の異なる顔画像のアイコンが並んで表示され、ユーザがマウス１０７によりクリックすることで、ユーザはそのなかのいずれかのアイコンを選択可能である。そして、選択されたアイコンに対応する人物が、作成対象のアルバムの主人公として設定される。なお、それぞれの顔画像は個人ＩＤと関連付けられている。また、主人公指定アイコン３０４は、解析対象の画像データが表わす画像に写った人物から中心人物である主人公を特定するために用いられる。顔画像は、例えば、予め各画像データが表す画像から検出され、個人ＩＤと関連付けて顔データベースに登録されている。主人公指定アイコン３０４は、例えば顔データベースに登録された人物の顔画像のうち、ユーザによって選択された人物の顔画像や後述の方法で決定された人物の顔画像である。なお、主人公は図４に示す手順で自動設定されることもできる。
【００５３】
見開き数ボックス３０５は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード１０６を介して見開き数ボックス３０５に直接数字を入力するか、マウス１０７を用いてリストから見開き数ボックスに数字を入力する。
【００５４】
テンプレート指定アイコン３０６は、テンプレートのテイスト（ポップ調やシック調等）別にイラスト画像を表示する。テンプレート指定アイコン３０６には、複数のテンプレートアイコンが並んで表示され、ユーザがマウス１０７によってクリックすることで、ユーザはそのなかのいずれかのアイコンを選択可能である。そして、選択されたアイコンに対応するテンプレートが、作成対象のアルバムに用いられるテンプレートとして設定される。本実施形態では、テンプレートは、画像データを配置するための画像配置枠（スロット）を有する。そして、テンプレートが有するスロットに、画像データが埋め込まれることで、１つのレイアウト画像が完成する。
【００５５】
モード指定部３０７は、作成対象のアルバムのモードに対応するアイコンである。なお、アルバムのモードとは、所定のオブジェクトを含む画像を優先してテンプレートにレイアウトするためのモードであり、本実施形態では、「人物」、「動物」、「料理」の３つのモードがある。なお、アルバムのモードは、例えば、アルバムのテーマと言い換えることができる。例えば、「人物」が選択された場合は、人物を含む画像を優先してテンプレートにレイアウトする。また、例えば、「動物」が選択された場合は、動物を含む画像を優先してテンプレートにレイアウトする。また、例えば、「料理」が選択された場合は、料理を含む画像を優先してテンプレートにレイアウトする。なお、上述の３つ以外のオブジェクトが写りこんでいる画像を表わす画像データを優先してテンプレートにレイアウトするためのモードがあっても良い。また、同時に複数のモードが選択されても良い。その場合、選択された複数のモードに対応する複数のオブジェクトの少なくとも１つを含む画像を優先してテンプレートにレイアウトする。ユーザがマウス１０７によってクリックすることで、ユーザは、各モードに対応する複数のアイコンのなかのいずれかのアイコンを選択可能である。そして、選択されたアイコンに対応するモードが、作成対象のアルバムのモードとして設定される。
【００５６】
なお、アルバムのモードは上述の３つに限定されず、例えば、「建物」、「乗り物」、「花」等、他のモードがあっても良い。
【００５７】
なお、本実施形態では、アルバムのモードを、モード指定部３０７を介してユーザが選択する形態を説明するが、例えば、アルバム作成アプリのプログラムにより、ＣＰＵ１０１が自動でアルバムのモードを選択する形態であっても良い。この場合、例えば、ＣＰＵ１０１は、画像取得部２０５によって取得された画像データ群を解析することにより、当該画像データ群に一番多く含まれるカテゴリのオブジェクトを特定する。そして、ＣＰＵ１０１は、特定されたカテゴリに応じたモードを選択する。
【００５８】
チェックボックス３０８は、ユーザからの画像補正のＯＮ／ＯＦＦの設定を受け付ける。チェックボックス３０８にチェックが入った状態は画像補正ＯＮが指定された状態であり、チェックが入っていない状態は画像補正ＯＦＦが指定された状態である。なお、ＵＩ構成画面３０１は全ての補正処理についてまとめてＯＮ／ＯＦＦが設定される構成であるが、個別の補正処理ごとにＯＮ／ＯＦＦを設定可能とするようにしても良い。ＯＫボタン３０９は、設定が完了したことをユーザから受け付けるためのボタンである。ユーザによりＯＫボタン３０９がマウス１０７でクリックされると、アルバム作成条件指定部２０１は、ＵＩ構成画面３０１上で設定されている内容を取得する。そして、アルバム作成条件指定部２０１は、自動レイアウト処理部２１９に、取得した設定情報を出力する。その際、パスボックス３０２に入力されているパスは、画像取得部２０５に伝えられる。また、主人公指定アイコン３０４で選択されている主人公の個人ＩＤは、主人公情報入力部２０９に伝えられる。また、見開き数ボックス３０５に入力されている見開き数は、見開き数入力部２１１に伝えられる。また、テンプレート指定アイコン３０６で選択されているテンプレート情報は、テンプレート設定部２１４に伝えられる。また、チェックボックス３０８の画像補正のＯＮ／ＯＦＦ設定は、補正条件入力部２１６に伝えられる。
【００５９】
リセットボタン３１０は、ＵＩ構成画面３０１上の各設定情報をリセットするためのボタンである。
【００６０】
なお、ＵＩ構成画面３０１上では、上述した設定以外の設定を実行可能であっても良い。例えば、動画に関する設定や、画像・動画データの取得先の設定等を実行可能であっても良い。
【００６１】
その場合、例えば、サーバ名ボックスや、サーバ選択ボタン、動画使用チェックボックス、対象期間ボックス等がＵＩ構成画面３０１に含まれる。
【００６２】
サーバ名ボックスは、アルバム作成に利用される画像群を含むサーバ名やＳＮＳ名を示す。また、サーバ選択ボタンは、アルバム作成に利用される画像群を含むサーバ名やＳＮＳ名を、リスト構成でユーザが選択可能に表示する。そして、ユーザにより選択されたサーバ名やＳＮＳ名がサーバ名ボックスに表示される。サーバ名ボックスにサーバ名やＳＮＳ名が表示された状態で、ＯＫボタン３０９がマウス１０７でクリックされると、指定されたサーバやＳＮＳへのログイン画面が表示される。表示されたログイン画面を介したユーザの操作により、指定されたサーバやＳＮＳへのログインが完了すると、ＣＰＵ１０１は、指定されたサーバやＳＮＳからの画像データの取得が可能となる。
【００６３】
動画使用チェックボックスは、パスボックス３０２に指定のフォルダや、サーバ名ボックスに指定のサーバやＳＮＳ上にある動画をアルバム作成に利用するか否かの設定をユーザから受け付ける。動画使用チェックボックスにチェックが入った状態はアルバム作成に利用することが指定された状態であり、チェックが入っていない状態はアルバム作成に利用しないことが指定された状態である。
【００６４】
対象期間ボックスは、アルバム作成の対象となる画像群や動画群の撮影日時期間の条件の設定をユーザから受け付ける。また、対象期間ボックスは、指定された撮影日時期間を表示する。対象期間ボックスに撮影日時期間が表示された状態で、ＯＫボタン３０９がマウス１０７でクリックされると、指定された撮影日時期間において生成された画像群や動画群がアルバム作成に利用される対象となって抽出される。
【００６５】
図４は、本実施形態に係るアルバム作成アプリにより実行される自動レイアウト処理を示すフローチャートである。図４に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。図４を参照しながら、自動レイアウトの処理を説明する。以下に示す通り、本実施形態では、アルバムを作成する際に、アルバムを作成するための画像群を撮影時間に応じて分割し、分割して得られた各サブ画像群からページに配置する画像を選択する。
【００６６】
まず、Ｓ４０１では、ＣＰＵ１０１は、アルバム作成条件指定部２０１により、アルバム作成条件を設定する。具体的には例えば、図３に示す画面を介して、ユーザからアルバム作成条件の設定を受け付ける。アルバム作成条件の設定の詳細は、図３を用いた説明にて上述したとおりである。
【００６７】
Ｓ４０２では、ＣＰＵ１０１は、動画取得部２０２によって、検索対象の記憶領域に含まれる動画データを取得する。動画データの取得に関する詳細は、動画取得部２０２の説明にて上述したとおりである。なお、検索対象の記憶領域は、例えば、図３に示す画面（例えば、サーバ名ボックス）にて設定可能である。検索対象の記憶領域として、例えば、ＨＤＤ１０４や、サーバ、ＳＮＳ等が設定される。ＣＰＵ１０１は、Ｓ４０１にて、検索対象の記憶領域を把握できる。
【００６８】
Ｓ４０３では、ＣＰＵ１０１は、動画解析部２０３によって、Ｓ４０２で取得した動画データの解析を行う。動画データの解析に関する詳細は、動画取得部２０２の説明にて上述したとおりである。
【００６９】
Ｓ４０４では、ＣＰＵ１０１は、フレーム取得部２０４によって、Ｓ４０３で解析した動画データからフレームを切り出して、切り出したフレームを画像データとしてＨＤＤ１０４に保存する。動画データからフレームを切り出す処理の詳細は、フレーム取得部２０４の説明にて上述したとおりである。
【００７０】
Ｓ４０５では、ＣＰＵ１０１は、検索対象の記憶領域に含まれる動画データ全てに対して、Ｓ４０２〜Ｓ４０４の処理が終了したか否かを判定する。終了していない場合（Ｓ４０５でＮｏ）、Ｓ４０２に戻り、まだ処理の対象となっていない動画データが取得される。終了している場合（Ｓ４０５でＹｅｓ）はＳ４０６に移行する。
【００７１】
Ｓ４０６では、ＣＰＵ１０１は、画像取得部２０５により、検索対象の記憶領域に含まれる画像データを取得する。なお、検索対象の記憶領域は、動画データの取得に関する設定と同様、例えば、図３に示す画面（例えば、サーバ名ボックス）にて設定可能である。検索対象の記憶領域として、例えば、ＨＤＤ１０４や、サーバ、ＳＮＳ等が設定される。ＣＰＵ１０１は、Ｓ４０１にて、検索対象の記憶領域を把握できる。なお、このとき取得される画像データには、Ｓ４０１〜Ｓ４０５の処理において動画データからフレームが切り出されることで取得された画像データが含まれる。
【００７２】
Ｓ４０７では、ＣＰＵ１０１は、画像変換部２０６によって画像データの変換を行う。画像データの変換の詳細は、画像変換部２０６の説明にて上述したとおりである。
【００７３】
Ｓ４０８では、ＣＰＵ１０１は、画像解析部２０７によって、Ｓ４０７で変換済みの画像データから特徴量を取得する。特徴量としては、例えば、ピントが挙げられる。ピントの特徴量を取得するためのエッジの検出方法としては、例えば、一般的なソーベルフィルタが用いられる。
【００７４】
ソーベルフィルタでエッジ検出して、エッジの始点と終点の輝度差を始点と終点の距離で割ればエッジの傾き、すなわち輝度勾配が算出可能である。画像中のエッジの平均傾きを算出した結果から、平均傾きが大きい画像は、平均傾きが小さい画像よりもピントが合っているとみなすことができる。そして、傾きに対して異なる値の複数の閾値を設定すれば、どの閾値以上かを判定することにより、ピント量の評価値を出力可能である。
【００７５】
本実施形態では、異なる２つの閾値を予め設定しておき、○△×の３段階により、ピント量を判定する。閾値については、アルバムに採用したいピントの傾きが「○」、許容できるピントの傾きが「△」、許容できない傾きが「×」となるようにして、実験等により予め設定される。なお、閾値の設定は、例えば、アルバム作成アプリの作成元等により提供されても良いし、ユーザインタフェース上で設定可能としても良い。
【００７６】
Ｓ４０９では、ＣＰＵ１０１は、画像解析部２０７によって、Ｓ４０７で変換された画像データに対してオブジェクト検出処理を実行する。まず、ＣＰＵ１０１は、Ｓ４０７で変換された画像データが表す画像から人物の顔を検出する。顔検出の処理には、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するＡｄａｂｏｏｓｔが用いられる。本実施形態では、Ａｄａｂｏｏｓｔにより作成した強識別器により人物（オブジェクト）の顔画像が検出される。また、ＣＰＵ１０１は、顔画像を抽出すると共に、検出した顔画像の位置の左上座標値と右下座標値を取得する。この２種類の座標を持つことにより、ＣＰＵ１０１は、顔画像の位置と顔画像のサイズを取得することが可能となる。なお、ＣＰＵ１０１は、Ａｄａｂｏｏｓｔを用いて顔検出の処理を実行することで、検出したオブジェクトの信頼度の情報も取得することができる。信頼度の詳細については後述する。また、Ｓ４０９では、ＣＰＵ１０１は、なお、顔に限らず、犬や猫等の動物、花、料理、建物、置物、乗り物等のオブジェクトを検出対象としてＡｄａｂｏｏｓｔによって強識別器を作成しても良い。これにより、ＣＰＵ１０１は、顔以外のオブジェクトも検出することが可能となる。本実施形態では、Ｓ４０９では、ＣＰＵ１０１は、顔を検出する処理だけでなく、動物と料理を検出する処理を実行する。
【００７７】
Ｓ４１０では、ＣＰＵ１０１は、画像解析部２０７により個人認識処理を実行する。具体的には、ＣＰＵ１０１は、Ｓ４０９で抽出した顔画像と、顔辞書データベースに個人ＩＤ毎に保存されている代表顔画像との類似性を比較することで、個人認識を実施する。ＣＰＵ１０１は、Ｓ４０９で抽出した顔画像と各代表顔画像との類似性を判定し、類似性が閾値以上であり且つ最も類似性が高い代表顔画像のＩＤを、Ｓ４０９で抽出した顔画像のＩＤとする。すなわち、類似性が閾値以上であり且つ最も類似性が高い代表顔画像に対応する人物が、Ｓ４０９で抽出した顔画像に対応する人物として特定する。なお、ＣＰＵ１０１は、Ｓ４０９で抽出した顔画像と、顔辞書データベースに保存されている全ての代表顔画像との類似性が閾値未満の場合は、抽出した顔画像に新規の個人ＩＤを割り振って、新規の人物として顔辞書データベースに登録する。
【００７８】
Ｓ４０８からＳ４１０で取得された、各画像データの画像解析情報５００は、各画像データを識別するための画像ＩＤ５０１それぞれに紐づけされてＲＡＭ１０３やＨＤＤ１０４等の記憶領域に記憶される。例えば、図５に示すように、Ｓ４０８で取得された撮影日時情報５０２とピント判別結果５０４、Ｓ４０９で検出された顔画像の数５０６と位置情報５０７がテーブル形式で記憶される。なお、顔画像の位置情報は、Ｓ４０４で取得された個人ＩＤ毎に区別して記憶される。また、１つの画像データが表わす１つの画像には、複数の人物の顔画像が含まれる場合があるが、その場合には、複数の人物の顔画像を含む画像を表す画像データの画像ＩＤ５０１には複数の個人ＩＤが紐づけされる。また、１つの画像に、顔画像が１つも含まれない場合は、顔画像を１つも含まない画像を表す画像データの画像ＩＤ５０１には、個人ＩＤは紐づけされない。なお、本実施形態では、人物の顔画像について、その数と位置とを管理する形態としたが、それ以外のオブジェクト（動物の顔や料理等）の数や位置も管理する形態としても良い。
【００７９】
画像属性５０３は、各画像データの属性を表す。例えば、ローカルサーバから取得された静止画データである画像データは、「静止画」の属性となる。また、例えば、ローカルサーバから取得された動画データから切り出されて保存された画像データは、「動画」の属性となる。また、例えば、ＳＮＳサーバから取得された画像データは、「ＳＮＳ」の属性となる。このように、属性とは、画像データが静止画データから取得されたか動画データから取得されたかを示す情報であっても良いし、画像データが保存されていた記憶領域（ＳＮＳサーバや、ＨＤＤ１０４等）を示す情報であっても良い。すなわち、本実施形態において属性とは、画像データの取得元を示す情報とも言える。また、上述した方法以外で属性を区別するものとしてもよい。また例えば、デジタルカメラで写真を撮影することで生成された静止画データから取得された画像データと、スマートデバイスで写真を撮影することで生成された静止画データから取得された画像データなどのように、各属性をさらに詳細に区別してもよい。また、本実施形態では、「ＳＮＳ」の属性の画像データは、ＳＮＳサーバから取得された静止画データである。「ＳＮＳ」の属性の画像データが、静止画データから取得されたものか、動画データから取得されたものかに応じて詳細に区別されても良い。なお、各画像データの属性は、各画像データが各属性に該当するか否かを示すフラグによって管理されても良い。
【００８０】
オブジェクト分類５０５は、各画像データが表す画像に含まれるオブジェクトのカテゴリ（種類）及び、カテゴリの信頼度を示す。なお、ＣＰＵ１０１は、各画像データが表す画像に含まれるオブジェクトを、例えば、Ａｄａｂｏｏｓｔによって検知することができる。また、このとき、各画像データが表す画像に含まれるオブジェクトのカテゴリ及び、カテゴリの信頼度も検知される。Ａｄａｂｏｏｓｔはパターンを判別する弱判別器を連続で接続し、１つの強判別器を形成する。また、アルバム作成アプリは、Ａｄａｂｏｏｓｔで、所定のカテゴリに対応するパターンと一致する弱判別器を予め学習している。そして、ある画像データにおける所定のカテゴリのオブジェクトの信頼度は、当該所定のカテゴリに対応するパターンと一致する弱判別器を、当該画像データが表す画像が多く含む場合に高くなる。なお、ここでは、Ａｄａｂｏｏｓｔを用いてオブジェクト検出や信頼度の取得を行う例を説明したが、この形態に限定されない。例えば、Ｄｅｅｐ  Ｎｅｕｒａｌ  ＮｅｔｗｏｒｋをはじめとするＣｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋを用いてオブジェクト検出や信頼度の取得を行う形態であってもよい。
【００８１】
本実施形態では、「人物」、「動物」、「料理」の３カテゴリ（種類）のオブジェクトが検出されるものとし、オブジェクト分類５０５には、各画像データが表す画像において検出されたオブジェクトのカテゴリを示す情報が格納されている。すなわち、オブジェクト分類５０５は、各画像データが表す画像が、いずれのカテゴリのオブジェクトを含むのかを示す情報である。なお、当該情報は、例えばフラグによって管理されていても良い。また、上述したように、検出されるオブジェクトは「人物」、「動物」、「料理」の３カテゴリに限定されないため、オブジェクト分類５０５には例えば、「花」、「建物」、「置物」、「乗り物」等のカテゴリを示す情報が格納されても良い。
【００８２】
カテゴリの信頼度とは、画像データが表す画像に含まれるオブジェクトが、何のカテゴリである可能性が高いかを示す情報であり、信頼度が高いカテゴリほど、画像データが表す画像に含まれるオブジェクトのカテゴリである可能性が高いことになる。なお、信頼度は、例えば、画像データが表す画像における、各オブジェクトの大きさを示す値であっても良い。この場合例えば、信頼度の大きいカテゴリのオブジェクトのサイズは、信頼度の小さいカテゴリのオブジェクトのサイズより大きいことになる。なお、画像データが表す画像に含まれないオブジェクトに対応するカテゴリの情報は、オブジェクト分類５０５には格納されない。また、信頼度がより高いカテゴリから順に、オブジェクト分類５０５におけるＴＯＰ１、２、３に格納される。なお、画像データが表す画像に４つ以上のカテゴリのオブジェクトが含まれる場合は、ＴＯＰ４やＴＯ５等の枠を設けても良い。
【００８３】
Ｓ４１１では、ＣＰＵ１０１は、検索対象の記憶領域に含まれる画像データ全てに対してＳ４０７からＳ４１０の処理が終了したか否かを判定する。終了していない場合（Ｓ４１１でＮｏ）、Ｓ４０６に戻り、まだ処理の対象となっていない画像データが取得される。終了している場合（Ｓ４１１でＹｅｓ）はＳ４１２に移行する。
【００８４】
Ｓ４１２では、ＣＰＵ１０１は、画像分類部２０８によってシーン分割をする。シーン分割とは、Ｓ４０１〜Ｓ４１１にて得られた全画像データを、シーン毎に分割して、複数の画像群として管理することを指す。具体的には、ＣＰＵ１０１は、Ｓ４０８で取得済みの撮影日時情報から算出した、各画像データの撮影日時の時間差に基づいて、全画像データを複数の画像群に分割する。なお、以下の説明において、全画像データ（メイン画像群）が分割されて得られる各画像群を、サブ画像群と言う。本実施形態では、例えば、以下に示す方法によって、シーン分割を行う。まず、撮像日時が古い順においてＮ番目の撮像画像データの撮像日時と（Ｎ＋１）番目の撮像画像データの撮像日時との差が１日以下であれば、以下の通りである。撮像日時が古い順においてＮ番目の撮像画像データの撮像日時と（Ｎ＋１）番目の撮像画像データの撮像日時との差が１６時間以上であれば、Ｎ番目の撮像画像データと（Ｎ＋１）番目の撮像画像データとの間にグループの境界を設定する。また、撮像日時が古い順において隣接する撮像画像データ間で撮像日時の差が、どの撮像画像データ間であっても１６時間未満であるとする。この場合、１日で撮像した撮像画像データ群において最初に撮像した撮像画像データの撮像日時と最後に撮像した撮像画像データの撮像日時との差が４時間未満であれば、該１日の撮像画像データ群を１つのサブ画像群（グループ）とする。一方、該１日で撮像した撮像画像データ群において最初に撮像した撮像画像データの撮像日時と最後に撮像した撮像画像データの撮像日時との差が４時間以上であったとする。この場合、該１日で撮像した撮像画像データの数が５０枚未満（１日で撮像した撮像画像の数が５０未満）であれば、該１日の撮像画像データ群を１つのサブ画像群（グループ）とする。このような撮像画像データのグループ分けの一例を図６（Ａ）に示す。図６（Ａ）〜（Ｃ）において横軸は撮像日時（左側に向かうほど古く、右側に向かうほど新しい）、縦軸は撮像画像データの数を示す。図６（Ａ）では、撮像画像データ群をグループ６０１〜６０８の８個のサブ画像群（グループ）に分割している。図６（Ａ）において矢印はグループの境界を示している。なお、上記のシーン分割方法の説明において使用した撮像日時の差に対する閾値や撮像画像データの数に対する閾値は一例であり、これらの値に限るものではない。なお、分割後の画像群を分割画像群と呼び、１つのシーン毎に１つの分割画像群が設定される。
【００８５】
Ｓ４１３では、ＣＰＵ１０１は、画像分類部２０８により、シーン分類をする。具体的には、ＣＰＵ１０１は、Ｓ４１２でシーン分割されることで得られたサブ画像群をシーンの種類毎に得点化して、後述するシーン分類の信頼性が低い場合を除いて、一番得点が高いシーンの種類に、当該サブ画像群を分類する。なお、以下の説明において、Ｓ４１３における得点化をシーン分類得点化という。本実施形態では、シーンの種類として、「旅行」、「日常」、「セレモニー」があるものとし、サブ画像群をこれらのシーンのいずれかに分類する例を説明する。なお、シーン分類得点化には、シーンの各種類に対応する特徴量の情報が格納されたシーン分類テーブルが利用される。
【００８６】
ここで、プログラムに予め格納される、シーン分類テーブルの作成方法について説明する。まず、「旅行」、「日常」、「セレモニー」のシーンに分類されると予め判定された複数の画像データ群がプログラムの設計者によって集められ、集められた画像データ群について、特徴量が取得される。ここで取得される特徴量の例は、例えば撮影期間、撮影枚数、撮影人数である。撮影期間は、各画像データ群において最初に生成された画像データと最後に生成された画像データとの撮影時間差である。撮影枚数は、各画像データ群の枚数である。撮影人数は、各画像データ群が表す各画像に含まれる顔の平均数である。その結果、例えば、旅行シーンであると予め判定された複数の画像データから成る１画像データ群について、撮影期間、撮影枚数、撮影人数の特徴量が取得される。なお、特徴量は撮影期間、撮影枚数、撮影人数に限定されず、他の特徴量が用いられても良いし、その中のいずれかのみが用いられても良い。
【００８７】
そして、上記のような撮影期間、撮影枚数、撮影人数の特徴量の取得が、予め集められた他の画像データ群についても行われる。次に、シーン毎に集められた複数の画像データ群から取得された特徴量に基づいて、撮影期間の平均値と標準偏差、撮影枚数の平均値と標準偏差、１画像あたりの撮影人数の平均値と標準偏差とが求められる。このようにして求められた値と、シーンの各種類とが対応付けられることで、シーンの種類ごとの各平均値と標準偏差を示すシーン分類テーブルが作成される。
【００８８】
本実施形態では、シーン分類テーブルとして、図７に示すテーブル７００が利用されるものとする。テーブル７００では、シーンＩＤ７０１に対応付けて、撮影期間７０２、撮影枚数７０３、撮影人数７０４それぞれの平均値と標準偏差とが登録されている。ＣＰＵ１０１は、テーブル７００をＲＯＭ１０２やＨＤＤ１０４等の記憶領域にシーン分類処理前に予め記憶しておく。なお、テーブル７００は、アルバム作成アプリケーションのプログラムに予め組み込まれていても良いし、アルバム作成アプリケーション外のプログラムに組み込まれていても良い。
【００８９】
ここで、シーン分類得点化について説明する。アルバム作成アプリが起動された後、ユーザがパスボックス３０２やサーバ名ボックスで指定された画像データ群がＳ４０６でシーン分割されることで得られた各サブ画像群に対して、ＣＰＵ１０１は、撮影期間、撮影枚数、撮影人数の各特徴量の得点を算出する。ＣＰＵ１０１は、各分割分の撮影期間、撮影枚数、撮影人数の得点、及びそれらの平均得点を、図７に示すシーン毎の平均値と標準偏差を用いて式（１）及び（２）より算出する。なお、下式における、所定の種類のシーンに対応する所定の特徴量の平均値および所定の種類のシーンに対応する所定の特徴量の標準偏差は、テーブル７００に登録されている。また、特徴量は、撮影期間と撮影枚数、撮影人数の３つの特徴項目について取得される。そのため、特徴項目数は本例では３となる。
【００９０】
まず、ＣＰＵ１０１は、式（１）により、サブ画像群の、シーンの各種類および各特徴量毎の得点を取得する。
【００９１】
サブ画像群の、所定の種類のシーンに対応する所定の特徴量の得点＝５０−｜１０×（所定の種類のシーンに対応する所定の特徴量の平均値−サブ画像群の所定の特徴量）／所定の種類のシーンに対応する所定の特徴量の標準偏差｜・・・（１）
これにより、例えば、サブ画像群において、「旅行」シーンに対応する撮影期間、撮影枚数、撮影人数それぞれの得点が取得される。なお、ＣＰＵ１０１は、「旅行」シーンだけでなく、他の各種類のシーンについても得点を取得する。
【００９２】
次に、ＣＰＵ１０１は、式（１）により求めた各得点を式（２）により平均化して、サブ画像群の、各種類のシーンに関する得点を取得する。
【００９３】
サブ画像群の、所定の種類のシーンに関する得点＝（サブ画像群の、所定の種類のシーンに対応する撮影期間の得点＋撮影枚数の得点＋撮影人数の得点）／特徴項目数・・・（２）
これにより、例えば、サブ画像群において、「旅行」、「日常」、「セレモニー」の各種類のシーンに関する得点が取得される。なお、ＣＰＵ１０１は、シーン分類得点化を、各サブ画像群について行う。
【００９４】
以上によって、各サブ画像群について「旅行」、「日常」、「セレモニー」毎の得点が算出される。そして、ＣＰＵ１０１は、得点が１位であるシーンをそのサブ画像群のシーンであると分類する。例えば、図６（Ａ）のシーン分割された後のシーン５に対応するサブ画像群５は、撮影期間が３６時間、撮影枚数が３００枚、撮影人数が１．７人であったとする。すると、サブ画像群５において、「旅行」に関する得点は４５．３２、「日常」に関する得点は１８．３８、「セレモニー」に関する得点は−２９．９２となり、サブ画像群５は最高得点のシーンである「旅行」に分類される。なお、いずれのサブ画像群がいずれのシーンに分類されているかは識別ができるようにシーンＩＤで管理される。また、各シーンに関する得点のうち、同点の得点がある場合は、ＣＰＵ１０１は、予め定められた優先度に従って、サブ画像群を、同点のシーンのうちいずれかのシーンに分類する。具体的には、ＣＰＵ１０１は、サブ画像群を、同点のシーンのうち、優先度の大きいシーンに分類する。なお、例えば、本実施形態では、優先度の大きさは、日常＞セレモニー＞旅行の順であるものとする。優先度の大きさの順番はこれに限定されるものではなく、例えばユーザが優先度の順番を設定できるようにしてもよい。
【００９５】
Ｓ４１４では、ＣＰＵ１０１は、Ｓ４１２で取得された全サブ画像群に対してＳ４１３のシーン分類が終了したか否かを判定する。終了していない場合（Ｓ４１４でＮｏ）、Ｓ４１３に戻り、まだシーン分類の対象となっていないサブ画像群に対してシーン分類を行う。終了している場合（Ｓ４１４でＹｅｓ）、Ｓ４１５に移行する。
【００９６】
Ｓ４１５では、ＣＰＵ１０１は、画像得点部２１０によって主人公設定をする。主人公設定はユーザが指定した画像群に対して実行され、自動と手動の２種類の設定方法のうちいずれかにより行われる。ＣＰＵ１０１は、Ｓ４１０で実行された個人認識の結果と、Ｓ４１２で実行されたシーン分割の結果とから、画像データ群に登場する各個人ＩＤの回数、各シーンに登場する各個人ＩＤの回数、各個人ＩＤが登場するシーンの回数等を取得可能である。自動の設定方法が選択された場合、ＣＰＵ１０１は、これらの情報に基づいて、ユーザ指定によらず自動で主人公を設定する。本実施形態では、ＣＰＵ１０１は、ユーザが指定した画像データ群がシーン毎に複数の分割画像データ群に分割されている場合は、複数のシーンでの登場回数が多い個人ＩＤを主人公ＩＤと設定する。また、ＣＰＵ１０１は、画像データ群が単一シーンである場合は、単一シーンでの登場回数が多い個人ＩＤを主人公ＩＤと設定する。また、ＣＰＵ１０１は、主人公指定アイコン３０４がユーザによって指定されている場合は、主人公情報入力部２０９を介して指定されている個人ＩＤを画像得点部２１０に伝える。ユーザにより個人ＩＤが指定されている場合は、上記のようにして自動設定された主人公ＩＤは無視され、ユーザにより指定された個人ＩＤを主人公ＩＤとして設定する。なお、この設定を手動設定と呼ぶ。
【００９７】
Ｓ４１６では、ＣＰＵ１０１は、画像得点部２１０により、画像得点化をする。Ｓ４１６における画像得点化とは、画像データ毎に後述の観点で評価した得点を付与する（スコアリング）ことであり、後述の、テンプレートに配置する画像を表す画像データの選択時に参照される。なお、本実施形態では、更に、動画データからフレームが切り出されることで取得された画像データに対しては、動画解析部２０３で解析された結果も加味して得点を付与する。ここで、図８及び図１０を用いて、得点化方法について説明する。
【００９８】
図１０は、画像データのレイアウトに使うテンプレート群を示している。テンプレート群に含まれている複数のテンプレートのそれぞれが、各見開きに対応している。テンプレート１００１は、１枚のテンプレートであり、メインスロット１００２はメインスロットを示し、サブスロット１００３と１００４とはサブスロットを示す。メインスロット１００２とは、テンプレート１００１内でメインとなるスロット（画像をレイアウト（配置）する枠）であり、サブスロット１００３と１００４よりもサイズが大きい。なお、１枚のテンプレートには、それぞれ同一の種類のシーンに分類された画像データが表す画像がレイアウトされても良いし、それぞれ異なる種類のシーンに分類された画像データが表す画像がレイアウトされても良い。Ｓ４１６では、ＣＰＵ１０１は、画像得点化処理として、画像データが属する種類のシーンに対応するメインスロット用の得点とサブスロット用の得点の両方を画像データに付与する処理を行う。
【００９９】
画像得点化においては、メインスロットとサブスロットとに採用されるべき画像の特徴量の情報がシーンの種類毎に格納されたスロット特徴テーブルが利用される。
【０１００】
ここで、スロット特徴テーブルの作成方法について説明する。図８（Ａ）は、メインスロットとサブスロットとに採用される画像データの特徴が、「旅行」、「日常」、「セレモニー」の各種類のシーン毎に纏められたテーブルである。まず、各種類のシーンに分類された画像データにおいて、メインスロットに採用されるべき画像特徴に適合すると判定された複数の画像データが、プログラムの設計者によって集められる。また、サブスロットに採用されるべき画像特徴に適合すると判定された複数の画像データが集められる。すなわち、図８（Ａ）に示す特徴に適合する画像データが集められる。そして、画像解析部２０５により、集められた各画像データにおける顔画像の数、顔画像の位置、顔画像のサイズ等の特徴量が抽出される。そして、抽出された特徴量の平均値と標準偏差とを、各シーン種類および各スロット種類（メインスロットとサブスロット）に対して求めることで、スロット特徴テーブルが作成される。なお、スロット特徴テーブルは、ＲＯＭ１０２やＨＤＤ１０４等の記憶領域に、画像得点化前に予め記憶される。なお、スロット特徴テーブルは、アルバム作成アプリケーションのプログラムに予め組み込まれていても良いし、アルバム作成アプリケーション外のプログラムに組み込まれていても良い。
【０１０１】
なお、図８（Ａ）に示すように、スロットの種類に応じて、得点化の基準が異なる。例えば、あるサブ画像群のシーン種類が「旅行」である場合、当該サブ画像群に含まれる画像のうち、人物や風景を含む画像は、メインスロットとしての得点が高くなり、顔のアップや横顔を含む画像は、サブスロットとしての得点が高くなる。また、例えば、あるサブ画像群のシーン種類が「日常」である場合、当該サブ画像群に含まれる画像のうち、顔のアップや横顔を含む画像は、メインスロットとしての得点が高くなり、人物や風景を含む画像は、サブスロットとしての得点が高くなる。また、例えば、あるサブ画像群のシーン種類が「セレモニー」である場合、当該サブ画像群に含まれる画像のうち、距離が近い二人の人物を含む画像は、メインスロットとしての得点が高くなり、大人数の人物を含む画像は、サブスロットとしての得点が高くなる。このように、シーン及びスロットの種類に応じて、評価する特徴、言い換えれば、評価基準が異なる。
【０１０２】
画像得点化においては、ＣＰＵ１０１は、画像データを、下式を用いて、当該画像データが属する種類のシーンに対応するテンプレートのスロット毎に得点化する。なお、ユーザが指定した画像データ群の各画像データがどの種類のシーンに属すかはＳ４１３のシーン分類の結果から知ることができる。また、下式における、所定の種類のシーン及び所定のスロットに対応する所定の特徴量の平均値および所定の種類のシーン及び所定のスロットに対応する所定の特徴量の標準偏差は、スロット特徴テーブルに登録されている。また、特徴量は、主人公ＩＤの顔画像数、顔画像の位置、顔画像のサイズの３つの特徴項目について取得される。そのため、特徴項目数は本例では３となる。
【０１０３】
画像データの、所定のスロットに対応する所定の特徴量に関する得点＝５０−｜１０×（画像データが属する種類のシーン及び所定のスロットに対応する所定の特徴量の平均値−画像データの所定の特徴量）／画像データが属する種類のシーン及び所定のスロットに対応する所定の特徴量の標準偏差｜・・・（３）
これにより、例えば、「旅行」シーンに分類される画像データの、メインスロットに対応する「主人公ＩＤの顔数」の得点が取得される。なお、ＣＰＵ１０１は、メインスロットだけでなく、サブスロットに対応する特徴量についても得点を取得する。また、ＣＰＵ１０１は、「主人公ＩＤの顔画像数」だけでなく、「顔画像の位置」、「顔画像のサイズ」に対応する特徴量についても得点を取得する。
【０１０４】
次に、ＣＰＵ１０１は、式（３）により求めた各得点を式（４）により平均化して、画像データの、所定のスロットに関する得点を取得する。
【０１０５】
画像データの所定のスロットに関する得点＝（画像データが属する種類のシーン及び所定のスロットに対応する顔数の得点＋顔位置の得点＋顔サイズの得点）／特徴項目数・・・（４）
これにより、メインスロット用とサブスロット用の両方に関する得点化が画像データについて実行される。
【０１０６】
本実施形態では、更に、ＣＰＵ１０１は、上述のようにして算出された得点に対して、アルバム作成条件指定部２０１で指定されたモードに基づいて、点数を加算する。具体的には例えば、ＣＰＵ１０１は、モード指定部３０７によって指定されたモードと、各画像データのオブジェクト分類結果に応じて点数を加算する。ＣＰＵ１０１は、例えば、アルバムのモードが「人物」と設定されていた場合は、図５のオブジェクト分類５０５に、「人物」のカテゴリが含まれていれば得点を加算し、「人物」のカテゴリが含まれていなければ得点を加算しない。なお、このとき加算される得点は、「人物」のカテゴリの信頼度や、信頼度の順位に応じて変更されても良い。「動物」や「料理」のモードについても、「人物」のモードと同様に得点を加算する。なお、複数のモードが指定されていた場合は、ＣＰＵ１０１は、設定されているモードそれぞれに関して得点を加算する。すなわち、例えば、ＣＰＵ１０１は、アルバムのモードが「人物」及び「動物」と設定されていれば、オブジェクト分類５０５に、「人物」又は／及び「動物」のカテゴリが含まれている場合に、得点を加算する。なお、ＣＰＵ１０１は、オブジェクト分類５０５に、「人物」及び「動物」のカテゴリが含まれていれば、「人物」のカテゴリが含まれている場合に加算される得点と「動物」のカテゴリが含まれている場合に加算される得点の両方を加算する。
【０１０７】
なお、ＣＰＵ１０１は、画像得点化を、ユーザが指定した画像データ群における各画像データについて行う。画像得点化によって付加された得点が後段のＳ４２３での画像選択処理における選択基準となる。上述のように、同じ画像データであっても、分類されるシーンによって選択基準は異なることになる。なお、アルバムに使う画像はピントが合っている方が好ましいので、図５に示すテーブルにおいてピントの特徴量が「○」である画像ＩＤの画像に対しては所定の得点を加えるようにしてもよい。また、画素数が高い画像は、アルバムにレイアウトした際にジャギーが少ないので、画素数が高い画像を表す画像データに対しては所定の得点を加えるようにしてもよい。このような形態とすることで、ＣＰＵ１０１は、後述の画像選択処理において、アルバムのモードに対応するカテゴリのオブジェクトが含まれる画像を表わす画像データを、当該オブジェクトが含まれない画像を表わす画像データより優先して選択することができる。
【０１０８】
図８（Ｂ）は、レイアウト得点化による得点結果の一例を示している。表８００は、各画像ＩＤ８０１の画像データに対して、メインスロットとサブスロットのそれぞれについて得点化がされた結果を示しており、各画像ＩＤ８０１の画像に対して得点８０２が登録されている。例えば、図８（Ｂ）では、画像ＩＤ１は、メインスロット用として２０点が付与され、画像ＩＤ２は、メインスロット用として４５点が付与されている。これは、つまり、メインスロット用としては、画像ＩＤ２の方がユーザの判断基準により近いということを表している。
【０１０９】
また、本実施形態では、ＣＰＵ１０１は、上述のようにして得点が設定された場合、動画データから切り出されることで取得された画像データのメインスロット用とサブスロット用の両得点に対して、動画解析部２０３による解析結果に応じた得点を加算する。具体的には、動画解析部２０３によって実行された得点化処理（オブジェクト検出、サイズ特定、笑顔判定、目瞑り判定、ブレボケ判定、明るさ判定）に応じた得点を加算する。なお、ＣＰＵ１０１は、得点化が行われた画像データのうち、いずれの画像データが、動画データから切り出されることで取得された画像データなのかを、図５のテーブルの画像属性５０３を参照することで特定することができる。
【０１１０】
なお、動画データから切り出すことで取得した画像データに加点するだけでは、当該画像データの点数は、静止画データから取得した画像データよりも、一律で高くなってしまう可能性が高い。そのため、ＣＰＵ１０１は、例えば、動画データから切り出すことで取得した各画像データに加算された各得点の平均値を、動画データから切り出すことで取得した全画像データから減算する、又は、静止画データから取得した全画像データに加算しても良い。このような形態とすることで、動画データから切り出すことで取得した画像データのうち、加算された得点が高い画像データについては、静止画データから取得した画像データに加算された得点より多くの得点が加算される。すなわち、動画データから切り出すことで取得した画像データのうち、加算された得点が高い画像データがより優先的に選択されるように、得点化が行われる。
【０１１１】
なお、画像得点部２１０による評価に用いられる評価軸と、動画解析部２０３による評価に用いられる得点軸は異なる。具体的には例えば、評価に用いられる特徴量がそれぞれ異なる。そのためこのように、動画解析部２０３による解析結果に応じた得点を加算する形態とすることで、動画データから取得された画像データならではの良し悪しを、得点化において考慮することができる。すなわち、画像データの取得元の違いを評価に反映させることができる。
【０１１２】
本実施形態では、画像得点部２１０が実行する評価は、画像取得部２０５が取得した全ての画像データに対して行われた。そして、画像取得部２０５が取得した画像データのうち、動画データから取得した画像データに対しては、動画用の評価軸に基づく（動画解析部２０３による解析結果に基づく）得点が加算された。しかし、この形態に限定されず、例えば動画データから取得した画像データと、静止画データから取得した画像データとで、評価軸を完全に切り分けても良い。すなわち、画像得点部２１０は、静止画データから取得した画像データに対しては、画像得点部２１０の説明にて上述した評価軸のみで得点化を行い、静止画データから取得した画像データに対しては、動画解析部２０３の説明にて上述した評価軸のみで得点化しても良い。
【０１１３】
Ｓ４１７では、ＣＰＵ１０１は、画像取得部２０５により取得された全ての画像データに対してＳ４１６の画像得点化が終了したか否かを判定する。終了していない場合（Ｓ４１７でＮｏ）、Ｓ４１６に戻り、まだ処理の対象となっていない画像データに対して画像得点化が実行される。終了している場合（Ｓ４１７でＹｅｓ）、Ｓ４１８に移行する。
【０１１４】
本実施形態では、ＣＰＵ１０１は、画像レイアウト部２１５により、複数のシーンのそれぞれに含まれる画像データが表すが図尾を、複数のテンプレート（複数の見開き）のそれぞれにレイアウトして、複数のレイアウト画像を作成する。そのため、複数のシーンの数と、複数のテンプレートの数（所定数の見開き数）が一致する必要がある。
【０１１５】
そこで、Ｓ４１８では、ＣＰＵ１０１は、Ｓ４１２のシーン分割により得られたシーン数（サブ画像群の数）が見開き数入力部２１１により入力された見開き数（見開き数ボックス３０５に入力されている見開き数）と同じか否かを判定する。同じでない場合（Ｓ４１８でＮｏ）、Ｓ４１９に移行する。同じ場合（Ｓ４１８でＹｅｓ）、Ｓ４２２に移行する。例えば、図６（Ａ）のように、シーン数が８であり、見開き数入力部２１１の入力数が８であればＳ４２２に移行する。
【０１１６】
Ｓ４１９では、ＣＰＵ１０１は、Ｓ４１２のシーン分割により得られたシーン数が見開き数入力部２１１により入力された見開き数より少ないか否かを、見開き割当部２１２により判定する。シーン数が見開き数より少なくない（多い）場合（Ｓ４１９でＮｏ）、Ｓ４２１に移行する。シーン数が見開き数より少ない場合（Ｓ４１９でＹｅｓ）はＳ４２０に移行する。例えば、図６（Ａ）ように、シーン数が８であり、見開き数入力部２１１の入力数が１０であれば、シーン数が見開き数より少ないため、Ｓ４２０に移行する。
【０１１７】
Ｓ４２０では、ＣＰＵ１０１は、見開き割当部２１２により、サブシーン分割をする。サブシーン分割とは、シーン分割数＜見開き数の場合に、シーン分割により得られた各シーンを更に細分割することをいう。ここでは、図６（Ａ）のようにシーン分割数が８であり、それに対して指定見開き数が１０である場合について説明する。図６（Ｂ）では、図６（Ａ）をサブシーン分割した結果である。ここでは、分割の間隔をより細かく設定し、破線矢印の箇所で分割したことで、分割数を１０にしている。
【０１１８】
分割の基準について説明する。図６（Ａ）の分割の中で画像データ数が多い分割箇所を探す。ここでは、分割数を８から１０に２箇所増やす為、画像データ数が多い２箇所を決める。即ち、再分割すべきシーンを、最も多くの画像データを含む分割画像データ群に対応するシーンから順に指定する。画像データ数が同数の分割画像データ群に対応するシーンについては、対応する分割画像データ群に含まれる画像データ間の撮影日時の差の最大値が大きい方のシーンを選択する。それでも選択できない場合には、例えばより早い時間に生成された画像データを含む分割画像データ群に対応するシーンを優先的に再分割してもよい。
【０１１９】
図６（Ａ）では、対応する分割画像データ群に含まれる画像データの数が多いシーンは、多い方から順にシーン５、シーン１、シーン２である。シーン１と２は同じデータ数だが、シーン２の方が、対応する分割画像データ群において最初に生成された画像データから最後に生成された画像データの時間差が大きい為、シーン２を分割対象とする。即ち、図６（Ａ）では、シーン５とシーン２をそれぞれ分割する。
【０１２０】
まずシーン２の分割を説明する。シーン２には画像データ数の山が２つあり、この２つの山に含まれる画像データは、山ごとに撮影日が違う。そこで撮影日が切り替わる部分に対応する図６（Ｂ）の太矢印の箇所で分割する。次にシーン５の分割を説明する。シーン５には画像データ数の山が３つあり、シーン２と同様に、この３つの山に含まれる画像データは、山ごとに撮影日が違う。シーン５では、撮影日が変わる箇所が２箇所あるが、この場合、分割後のデータ数差が小さくなるように、撮影日単位で分割する。即ち、ここでは図６（Ｂ）の太矢印の箇所で分割する。
【０１２１】
以上により分割数すなわちシーン数を８から１０にする。具体的にいえば、シーンの再分割では、選択したシーンに撮影日の異なる画像データが含まれていれば、撮影日の相違するそれぞれの画像データ群を新たなシーンとするよう分割される。そして、撮影日が３日以上にわたるならば、分割された各シーンに含まれる画像データの数の差が最小になり、且つ同一撮影日の画像が同一シーンに含まれるよう分割される。なお、ここでは撮影日の違う箇所で分割する例を説明したが、分割対象のシーンにおける画像データの撮影日が単一日であった場合は、単一日の中で撮影時刻の時間差が最大となる箇所で分割する。以上の手順によって見開き数にシーン数を一致させる。なお、分割により生成されたシーンについては、改めて分類してもよいし、分割前のシーンの分類を引き継いでもよい。
【０１２２】
Ｓ４２１では、ＣＰＵ１０１は、見開き割当部２１２によりシーン統合をする。シーン統合とは、シーン分割数＞アルバムの見開き数の場合、分割されたシーン（サブ画像群）を統合することを表す。具体的には、ＣＰＵ１０１は、シーン数と見開き数が一致するように、シーン統合をする。ここでは、図６（Ａ）のようにシーン分割数が８であり、それに対して指定見開き数が６の場合を例として説明する。図６（Ｃ）は図６（Ａ）をシーン統合した結果である。破線の箇所の前後のシーンを統合したことで、分割数を６にしている。
【０１２３】
統合の基準について説明する。まず、ＣＰＵ１０１は、分割された各シーンの中で画像データ数が少ないシーンを検出する。ここでは、シーン数を８から６に減らす為、画像データ数が少ない２つのシーンを検出する。図６（Ａ）では、対応する分割画像データ群に含まれる画像データの数が多いシーンは、少ない方から順にシーン８、３、７である。なお、シーン３と７は同じデータ数である。
【０１２４】
次に、ＣＰＵ１０１は、対応する分割画像データ群に含まれる画像データ数が最も少ないシーン８を統合対象とする。次に、シーン３とシーン７は、対応する分割画像データ群に含まれる画像データ数は同じであるので、いずれを統合対象とするか選択する。ここでは、シーン７に隣接するシーン８が統合対象であるので（シーン７とシーン８は統合されるため）、シーン３を統合対象とする。
【０１２５】
次に、ＣＰＵ１０１は、統合対象のサブ画像データ群を、対応する分割画像データ群に含まれる画像データの撮影日時が前のシーンに統合するか、撮影日時が後のシーンに統合するかを決定する。このとき、ＣＰＵ１０１は、統合対象のシーンと隣接する２つのシーンのうち、対応する分割画像データ群に含まれる画像データの撮影日時の時間差が小さい方のシーンを統合の相手とする。そのため、図６（Ａ）では、シーン３について、それに隣接するシーン２、４のいずれかを統合の相手とする。ここで、シーン３とその前後のシーン２と４それぞれとの、対応する分割画像データ群に含まれる画像の撮影日時の時間差を比較すると、シーン３とシーン４との時間差の方が小さい。そのため、ＣＰＵ１０１は、シーン３をシーン４に統合すると決定する。即ち、ここでは図６（Ｃ）の破線の箇所で統合する。
【０１２６】
ＣＰＵ１０１は、シーン８のように隣接するシーンが１つしかない場合には、唯一の隣接シーンを統合の相手とする。
【０１２７】
こうして図６（Ｃ）の破線箇所の前後のシーンでシーン統合する。なお、シーン統合は、例えばシーンに含まれる画像ファイルを示す情報を、統合後のシーンに応じて更新することを含む。なお、本実施形態では、撮影時間の差が小さいサブ画像群同士を統合することにしたが、これに限定されるものではない。例えば、統合対象のサブ画像群を撮影枚数が少ないサブ画像群に統合するようにしてもよい。
【０１２８】
Ｓ４２２では、ＣＰＵ１０１は、見開き割当部２１２により見開き割当をする。Ｓ４１８〜Ｓ４２１によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、撮影日時が先頭のサブ画像群から見開きの先頭に割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。なお、後述する通り、１つの見開きページ内では、画像は撮影日時に並んでいなくてもよい。
【０１２９】
Ｓ４２３では、ＣＰＵ１０１は、画像選択部２１３により画像選択を実行する。ここでは、ある見開きに割り当てられた分割画像データ群から画像データを４枚選択する例を、図９を参照しながら説明する。なお、見開きとは、２ページ分の領域であるが、最初の見開き及び最後の見開きは、１ページ分の領域となる。
【０１３０】
図９（Ａ）は見開きに割り当てられた分割画像データ群のうち、撮影日時が一番早い画像データと一番遅い画像データとの撮影日時の時間差（分割撮影期間）、言い換えれば、分割画像データ群の撮影期間を示している。なお、ここでは、画像データの選択を、メインスロット、サブスロットの順で行う。ここでは、見開きに対応するテンプレートには１枚のメインスロット１００２が含まれるものとする。そのため、１枚目に選択される画像データは、メインスロット用の画像データである。ＣＰＵ１０１は、メインスロット用の画像データとして、図９（Ｂ）に示す分割撮影期間に対応する画像データのうち、Ｓ４１６で付加したメインスロット用の得点が最高点の画像データ（１）を選択する。
【０１３１】
２枚目以降に選択される画像データは、サブスロット用の画像データである。２枚目以降の画像データの選択は分割撮影期間の一部に集中しないように、以下説明するような方法により行われる。まず、ＣＰＵ１０１は、図９（Ｃ）に示すように、分割撮影期間を２分割する。次にＣＰＵ１０１は、図９（Ｄ）に示すように、１枚目の画像データが選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像データから２枚目の画像データを選択する。なお、２枚目の画像データとしては、１枚目の画像データが選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ（２）を選択する。次にＣＰＵ１０１は、図９（Ｅ）に示すように図９（Ｄ）に示す各分割撮影期間を２分割する。そして、ＣＰＵ１０１は、図９（Ｆ）に示すように１枚目の画像データと２枚目の画像データがいずれも選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像データから３枚目の画像データを選択する。なお、３枚目の画像データとしては、１枚目の画像データと２枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ（３）を選択する。そして、４枚目の画像データとしては、１枚目、２枚目及び３枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データを選択する。
【０１３２】
次に、１枚目、２枚目及び３枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像が存在せず、当該分割撮影期間に生成された画像データから４枚目の画像データを選択できない例を説明する。ここで、図９（Ｇ）に示すように、まだ画像データが選ばれていない分割撮影期間（図中、斜線で示している期間）に生成された画像データは存在しないものとする。その場合、ＣＰＵ１０１は、図９（Ｈ）に示すように各分割撮影期間をさらに２分割する。次にＣＰＵ１０１は、図９（Ｉ）に示すように、期間内に生成された画像データがないと認識された分割撮影期間以外で、且つ未だ画像データが選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像から４枚目の画像データを選択する。なお、ＣＰＵ１０１は、４枚目の画像データとしては、当該分割撮影期間に生成された画像データのうちサブスロット用の最高点の画像データ（４）を選択する。
【０１３３】
図１１は、画像選択部２１３の構成をより詳細に説明する図である。画像選択部２１３は、処理対象の見開きに割り当てられたサブ画像群から画像データを選択する。
【０１３４】
枚数設定部１１０１は、処理対象の見開きに割り当てられたサブ画像群から選択する画像データの枚数を設定する。いかえれば、処理対象の見開きのレイアウト画像に配置する画像数を設定する。なお、このとき設定される枚数は、例えば、例えば図３に示すような設定画面を介してユーザが入力を行うことで設定された数でも良いし、各見開きに対して予め設定された数であっても良い。
【０１３５】
画像群取得部１１０２は、画像取得部２０５が取得した画像群から、処理対象の見開きに割り当てられるサブ画像群を取得する。また、画像群取得部１１０２は、各画像データの撮影日時情報、画像種類の情報、オブジェクト分類の情報、メインスロット用得点、及びサブスロット用得点を取得する。画像種類の情報は、図５の画像属性５０３を参照することで取得できる。また、オブジェクト分類の情報は、図５のオブジェクト分類５０５を参照することで取得できる。
【０１３６】
ループカウンタ１１０３は、画像群取得部１１０２によって取得されたサブ画像群から画像データを選択する処理（画像選択処理）を実行した回数を管理する。なお、ループカウンタ１１０３がカウントする画像選択処理は、具体的には、Ｓ１２０５〜Ｓ１２１８の処理であり、その詳細は後述する。管理された回数は、利用する得点軸の判定、及び処理対象の見開きに割り当てられたサブ画像群の撮影期間をいくつの撮影区間に分割するかを設定する際に利用される。なお、本実施形態では、１回のループ毎に、テンプレートに配置される画像が１枚選択されるため、ループカウンタ１１０３がカウントする回数は、選択済み画像データの枚数に等しい。
【０１３７】
得点軸設定部１１０４は、ループカウンタ１１０３でカウントされた処理回数に応じて、画像選択処理で利用する得点軸を設定する。「利用する得点軸を設定する」とは、「いずれの得点軸で採点された得点を利用するかを設定する」ことを指し、ここでは、メインスロット用得点軸（メインスロット用評価基準）、サブスロット用得点軸（サブスロット用評価基準）のどちらかを設定する。なお、ループカウンタ１１０３でカウントされた処理回数が０の場合は、メインスロットに配置する画像（メイン画像）を選択するため、メインスロット用得点軸によって採点された得点を参照する。一方、ループカウンタ１１０３でカウントされた処理回数が１以上の場合は、サブスロットに配置する画像（サブ画像）を選択するため、サブスロット用得点軸によって採点された得点を参照する。なお、メインスロットが複数ある場合は、ループカウンタ１１０３でカウントされた処理回数が１以上であっても、メインスロット用得点軸によって採点された得点を参照しても良い。また、得点軸設定部１１０４は、例えば、テンプレートが有するスロットのうちのいずれかのスロットに配置される画像データとして既に選択された画像データ（選択済み画像データ）の数によって、設定する得点軸を変更しても良い。その場合例えば、選択済み画像データの数が０の場合は、メインスロットに配置する画像（メイン画像）を選択するため、メインスロット用得点軸によって採点された得点を参照する。一方、選択済み画像データの数が１以上の場合は、サブスロットに配置する画像（サブ画像）を選択するため、サブスロット用得点軸によって採点された得点を参照する。なお、この形態でも、メインスロットが複数ある場合は、選択済み画像データの数が１以上であっても、メインスロット用得点軸によって採点された得点を参照しても良い。
【０１３８】
分割部１１０５は、画像群取得部１１０２によって取得されたサブ画像群の撮影期間を所定の数に分割する。まず、画像群取得部１１０２により取得されたサブ画像群の撮影時間情報から、処理対象の見開きに割り当てられたサブ画像群の撮影開始時間と撮影終了時間を特定し、撮影期間を算出する。すなわち、サブ画像群に含まれる画像データのうち最も早く生成された画像データの撮影時間および最も遅く生成された画像データの撮影時間を特定し、撮影期間を算出する。次に、ループカウンタ１１０３でカウントされた処理回数に基づいて、算出された撮影期間を複数の区間に分割する。本実施形態では、分割部１１０５は、ループカウンタ１１０３でカウントされた処理回数をＣとしたとき、撮影区間を、２＾Ｃ個の区間に略均等に分割するものとする。なお、この形態に限定されず、例えば、撮影区間を、Ｃ個の区間に略均等に分割しても良い。
【０１３９】
画像属性設定部１１０６は、ループカウンタ１１０３でカウントされた処理回数に応じて、画像選択処理において選択される画像データの属性を設定する。なお、本実施形態では、少なくとも１回の画像選択処理においては、静止画データから取得された画像データより、動画データから取得された画像データを優先的に選択するものとする。なお、ローカルサーバの静止画データから取得された画像データは、属性が「静止画」である画像データであり、ローカルサーバの動画データから取得された画像データは属性が「動画」である画像データである。これにより、アルバムに多様な画像を配置することができる。また、ＳＮＳサーバにアップロードされている画像データ（属性が「ＳＮＳ」である画像データ）は、ユーザにより意図的に選択されてアップロードされた画像データであり、ユーザが気に入っている画像データである可能性が高い。そのため、本実施形態では、少なくとも１回の画像選択処理においては、属性が「静止画」である画像データより、属性が「ＳＮＳ」である画像データを優先的に選択するものとする。そこで、本実施形態では、画像属性設定部１１０６は、ループカウンタ１１０３でカウントされた処理回数が０の場合は、「ＳＮＳ」を指定属性とし、属性が「ＳＮＳ」である画像データから画像データが選択されるように設定する。そして、ループカウンタ１１０３でカウントされた処理回数が１の場合は、「動画」を指定属性とし、属性が「動画」である画像データから画像データが選択されるように設定する。そして、ループカウンタ１１０３でカウントされた処理回数が２以上の場合は、「静止画」を指定属性とし、属性が「静止画」である画像データから画像データが選択されるように設定する。このような形態とすることで、各スロットに配置される画像データの属性を制御することができる。また、本実施形態では、「ＳＮＳ」や「動画」の属性の画像データが、「静止画」の属性の画像データより先に選択される。そのため、テンプレートに配置される画像が少ない場合等にも、より確実に、「ＳＮＳ」や「動画」の属性の画像データが表わす画像をテンプレートに配置することができる。なお、例えば、ループカウンタ１１０３でカウントされた処理回数が２以上の場合は、指定属性を設定しない形態であっても良い。また、画像選択処理において選択される画像データの属性の設定は、例えば、画像選択処理において既に選択されている画像データの枚数に応じて行われても良い。例えばその場合、画像属性設定部１１０６は、画像選択処理において既に選択されている画像データが０の場合は、「ＳＮＳ」を指定属性とし、属性が「ＳＮＳ」である画像データから画像データが選択されるように設定する。そして、画像選択処理において既に選択されている画像データが１の場合は、「動画」を指定属性とし、属性が「動画」である画像データから画像データが選択されるように設定する。そして、画像選択処理において既に選択されている画像データが２以上の場合は、「静止画」を指定属性とし、属性が「静止画」である画像データから画像データが選択されるように設定する。なお、例えば、画像選択処理において既に選択されている画像データが２以上の場合は、指定属性を設定しない形態であっても良い。
【０１４０】
なお、ループカウンタ１１０３でカウントされた処理回数や、選択済み画像データの枚数に応じた属性は、上述の形態に限定されない。上述では、「ＳＮＳ」、「動画」、「静止画」の順で設定されたが、例えば、「動画」、「ＳＮＳ」、「静止画」の順で設定されても良い。また、属性を指定しない設定があっても良い。その場合、指定属性は「なし」となり、いずれの属性の画像データが選択されても良いように設定される。すなわち、指定属性に応じず、指定オブジェクトの設定や得点に応じて画像データが選択されるように設定される。
【０１４１】
また、上述したように、例えば、「ＳＮＳ」の属性の画像データが、静止画データから取得されたもの（属性が「静止画」）か、動画データから取得されたもの（属性が「動画」）かに応じて詳細に区別される形態もある。その場合、画像属性設定部１１０６は、ループカウンタ１１０３でカウントされた処理回数が０の場合は、「ＳＮＳ」及び「動画」を指定属性とし、属性が「ＳＮＳ」且つ「動画」である画像データから画像データが選択されるように設定する。そして、ループカウンタ１１０３でカウントされた処理回数が１の場合は、「ＳＮＳ」及び「静止画」を指定属性とし、属性が「ＳＮＳ」且つ「静止画」である画像データから画像データが選択されるように設定する。そして、ループカウンタ１１０３でカウントされた処理回数が２の場合は、「ローカル」及び「動画」を指定属性とし、属性が「ローカル」且つ「動画」である画像データから画像データが選択されるように設定する。そして、ループカウンタ１１０３でカウントされた処理回数が３以上の場合は、「ローカル」及び「静止画」を指定属性とし、属性が「ローカル」且つ「静止画」である画像データから画像データが選択されるように設定する。このように、ＳＮＳサーバから取得される画像データより、ローカルサーバから取得される画像データを優先して選択する形態としても良い。
【０１４２】
区間情報設定部１１０７は、画像群取得部１１０２によって取得されたサブ画像群に含まれる画像データを、分割部１１０５で分割された区間ごとにグループ分けして、各区間において生成された画像データの撮影情報、得点等の情報を取得する。
【０１４３】
モード設定部１１０８は、アルバム作成条件指定部２０１で指定された、アルバムのモード（「人物」、「動物」、「料理」のいずれか）を設定する。モード設定部１１０８は、設定されたモードに対応するオブジェクトを含む画像がテンプレートに配置されるように制御する。
【０１４４】
画像選択部１１０９は、得点軸設定部１１０４で設定された得点軸と、モード設定部１１０８で設定されたモードと、区間情報設定部１１０７で管理された、各区間における画像データの得点とに基づいて、画像選択処理を実行する。具体的には、画像選択部１１０９は、各区間における複数の画像データに含まれ、指定オブジェクトを含む画像を表し、且つ指定属性である画像データのうち、得点が一番高い画像データを１枚選択する。指定オブジェクトは、得点だけに依存せずに画像データを選択するために設定され、指定オブジェクトが設定されている場合、以降の画像選択処理では、指定オブジェクトを含む画像を表す画像データが選択されることになる。例えば、指定オブジェクトが「動物」のカテゴリのオブジェクトである場合、以降の画像選択処理では、「動物」のカテゴリのオブジェクトを含む画像を表す画像データが選択される。なお、複数のオブジェクトを指定オブジェクトとして設定可能である。なお、画像選択部１１０９は、選択済み画像データは新たに選択しない。言いかえれば、画像選択部１１０９は、選択済み画像データ以外の画像データを新たに選択する。
【０１４５】
なお、このとき参照される得点は、得点軸設定部１１０４によって設定された得点軸によって採点された得点である。図９を用いて説明した通り、画像が１枚もない区間からは画像データは選択されない。なお、本実施形態では、指定オブジェクトを含む画像を表し、且つ指定属性である画像データのうち、一番得点の高い画像データを各区間から１枚選択するものとしたが、この形態に限定されない。例えば、指定オブジェクトを含む画像を表し、且つ指定属性である画像データのうち、得点が上位の画像データを複数枚ずつ各区間から選択するようにしてもよい。なお、画像選択部１１０９は、指定オブジェクトに対応するカテゴリをオブジェクト分類５０５のＴＯＰ３までに含む画像データを、指定オブジェクトを含む画像を表す画像データとしてみなす。なお、なお、指定オブジェクトに対応するカテゴリをオブジェクト分類５０５のＴＯＰ３までに含んでいても、当該カテゴリの信頼度が閾値以下の場合は、指定オブジェクトを含む画像を表す画像データとしてみなさなくても良い。
【０１４６】
類似判定部１１１０は、画像選択部１１０９によって選択された画像データが表す画像が、テンプレートに配置する画像を表わす画像データとして既に選択されている画像データが表す画像と類似しているか否かの判定を行う。類似判定部１１１０は、類似度が閾値以上であれば、類似していると判定し、閾値未満であれば、類似していないと判定する。類似していないと判定された画像データを保持される、類似していると判定された判定は破棄される。類似判定部１１１０は、例えば、パターンマッチングやＳＨＩＦＴ法等の公知の方法で、画像データが表す画像間の類似度を取得することができる。例えば、画像データが表す画像間の類似度が０〜１００のレンジで出力される場合には、類似度が１００に近いほど、両者は似ているとする。そのため、画像データが表す画像間の類似度が判定閾値以上であれば両者が類似していると判定し、画像データが表す画像間の類似度が判定閾値未満であれば両者が類似していないと判定する。なお、類似判定に用いられる判定閾値は、比較対象の画像を表す画像データの撮影時間の差に応じて変更されても良い。例えば、連写などにより撮影時間差が短い場合（例えば１５秒以内）は、判定閾値が低く（例えば、６０に）設定され、それ以外は判定閾値が高く（例えば８０に）設定されても良い。
【０１４７】
統合部１１１１は、類似判定部１１１０で非類似と判定された画像を表す画像データから、テンプレートに配置される画像を表す画像データを特定する。具体的には、統合部１１１１は、類似判定部１１１０で非類似と判定された画像を表す画像データのうち、得点が一番高い画像データを選択して、テンプレートに配置される画像を表す画像データとして特定する。なお、非類似と判定された画像データが１つである場合は、当該１つの画像データが選択される。なお、この形態に限定されるものではなく、例えば、選択済み画像データを含む区間に隣接していない区間から画像データを選択する形態でも良い。
【０１４８】
画像管理部１１１２は、統合部１１１１でテンプレートに配置される画像を表す画像データとして特定された画像データを選択済み画像データとして管理する。また、画像管理部１１１２は、選択済み画像データの数が、枚数設定部１１０１で設定された枚数（必要枚数）に達したか否かを判定する。なお、画像管理部１１１２が管理する選択済み画像データの数が必要枚数に到達するまで、画像選択処理が繰り返される。なお、このとき、選択済み画像データが再び選択されないように制御される。
【０１４９】
ここでは、メイン画像として選択される画像データとサブ画像として選択される画像データが、同じオブジェクトを含む例を説明したが、それぞれ異なるオブジェクトを含む形態であっても良い。例えば、ループカウントが０の時はメイン画像が選択されるため、ループカウントが０の時とそれ以外の時で、指定オブジェクトを変更しても良い。このような形態とすることにより、メイン画像として選択される画像データとサブ画像として選択される画像データがそれぞれ異なるオブジェクトを含むことになる。
【０１５０】
図１２は、Ｓ４２３の画像選択処理の詳細を示すフローチャートである。図１２に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。図１２のフローチャートでは、処理対象の１つの見開きに割り当てられたサブ画像群から画像データが選択される。そのため、アルバムが複数の見開きから構成される場合、図１２のフローチャートに示す処理は見開きの数に対応する回数実行されることになる。
【０１５１】
Ｓ１２０１では、ＣＰＵ１０１は、枚数設定部１１０１により、処理対象の見開きに割り当てられたサブ画像群から選択する画像データの枚数を設定する。この処理の詳細は、枚数設定部１１０１の説明にて上述したとおりである。
【０１５２】
Ｓ１２０２では、ＣＰＵ１０１は、画像群取得部１１０２により、画像取得部２０５が取得した画像群から、処理対象の見開きに割り当てられるサブ画像群を取得する。この処理の詳細は、画像群取得部１１０２の説明にて上述したとおりである。
【０１５３】
Ｓ１２０３では、ＣＰＵ１０１は、モード設定部１１０８により、アルバムのモードを設定する。この処理の詳細は、モード設定部１１０８の説明にて上述したとおりである。なお、Ｓ１２１９の処理が行われた場合は、ＣＰＵ１０１は、アルバムのモードをＳ１２１９で選択されたモードに切り替えて、以降の処理を行う。
【０１５４】
Ｓ１２０４では、ＣＰＵ１０１は、ループカウンタ１１０３により、Ｓ１２０５の画像選択処理を実行した回数をカウントする。初期状態では、画像選択処理が実行されていないので、ループカウンタ１１０３によるカウント数は０となる。なお、本実施形態では、ループカウンタ１１０３によるカウント数が０の場合は、以降の画像選択処理においてメイン画像が選択され、ループカウンタ１１０３によるカウント数が１以上の場合は、以降の画像選択処理においてサブ画像が選択される。
【０１５５】
Ｓ１２０５では、ＣＰＵ１０１は、ループカウンタ１１０３によりカウントしているカウント数に応じて、以降の画像選択処理で利用する得点軸を得点軸設定部１１０４により設定する。この処理の詳細は、得点軸設定部１１０４の説明にて上述したとおりである。
【０１５６】
Ｓ１２０６では、ＣＰＵ１０１は、ループカウンタ１１０３によりカウントしているカウント数に応じて、以降の画像選択処理において選択される画像データの属性を画像属性設定部１１０６により設定する。この処理の詳細は、画像属性設定部１１０６の説明にて上述したとおりである。
【０１５７】
Ｓ１２０７では、ＣＰＵ１０１は、画像群取得部１１０２によって取得されたサブ画像群の撮影期間を分割部１１０５により所定の数に分割する。この処理の詳細は、分割部１１０５の説明にて上述した通りである。
【０１５８】
Ｓ１２０８では、ＣＰＵ１０１は、区間情報設定部１１０７により、画像群取得部１１０２によって取得されたサブ画像群に含まれる画像データを、分割部１１０５によりサブ画像群の撮影期間が分割されることで管理されている区間ごとにグループ分けする。そして、ＣＰＵ１０１は、各区間において生成された画像データの撮影情報、得点等の情報を取得する。
【０１５９】
Ｓ１２０９では、ＣＰＵ１０１は、分割部１１０５によりサブ画像群の撮影期間が分割されることで管理されている区間のうち、着目している区間において生成された画像データが選択済みか否かを判定する。着目している区間において生成された画像データが選択済みであれば、Ｓ１２１６へ進む。着目している区間において生成された画像データが未選択であれば、Ｓ１２１０に進む。なお、１回目のループでは、サブ画像群の撮影期間が分割されていないため、着目している区間は、サブ画像群の撮影期間全体である。
【０１６０】
Ｓ１２１０では、ＣＰＵ１０１は、指定オブジェクトが設定されているか否かを判定する。例えば、Ｓ１２２２における指定オブジェクトの更新処理によって、指定オブジェクトが「なし」に変更される場合がある。そのため、ＣＰＵ１０１は、指定オブジェクトが「なし」に変更されており、指定オブジェクトが設定されていない場合は、Ｓ１２１３に進み、指定オブジェクトが「なし」に変更されておらず、指定オブジェクトが設定されている場合は、Ｓ１２１１に進む。
【０１６１】
Ｓ１２１１では、ＣＰＵ１０１は、着目している区間において生成された画像データのなかに、指定オブジェクトを含む画像を表わし、且つ指定属性である画像データが有るか否かを判定する。なお、ＣＰＵ１０１は、着目している区間において生成された各画像データの画像解析情報５００を参照することで、Ｓ１２１１の判定を実行することができる。具体的には、ＣＰＵ１０１は、着目している区間において生成された各画像データそれぞれについて、指定オブジェクトを含む画像を表わし、且つ指定属性である画像データか否かを判定する。そして、指定オブジェクトを含む画像を表わし、且つ指定属性である画像データであると判定された画像データが１つでもあれば、Ｓ１２１１の判定結果はＹＥＳ判定となり、Ｓ１２１２に進む。なお、ＣＰＵ１０１は、画像解析情報５００のうちオブジェクト分類５０５の領域に、指定オブジェクトのカテゴリが含まれる画像データを、指定オブジェクトを含む画像を表わす画像データであると判定する。また、ＣＰＵ１０１は、画像解析情報５００のうち画像属性５０３の領域に指定属性が含まれる画像データを、指定属性の画像データであると判定する。
【０１６２】
指定オブジェクトを含む画像を表わし、且つ指定属性の画像データが１つもない場合、Ｓ１２１１の判定結果はＮＯ判定となり、着目している区間において生成された画像データからは画像データが選択されずに、Ｓ１２１６へ進む。
【０１６３】
なお、指定オブジェクトのカテゴリ（種類）は、ループカウンタ１１０３でカウントされた処理回数や選択済み画像データの数に応じて変化しても良い。本実施形態では、ループカウンタ１１０３でカウントされた処理回数が初期値（０）の場合には、指定オブジェクトは、Ｓ１２２２で指定オブジェクトが変更されるまでは、Ｓ１２０３で設定されたモードに対応するカテゴリのオブジェクトであるものとする。
【０１６４】
Ｓ１２１２では、ＣＰＵ１０１は、着目している区間において生成された画像データから、画像データを１枚選択する。この処理の詳細は、画像選択部１１０９の説明にて上述したとおりである。なお、ここでは、指定オブジェクトを含む画像を表わし、指定属性である画像データのうち、得点が一番高い画像データが１枚選択される。そのため、本実施形態では例えば、指定オブジェクトを含まない画像を表し、得点が高い画像データより、指定オブジェクトを含む画像を表し、得点が低い画像データの方が優先されて選択されることになる。また、本実施形態では例えば、指定属性でないが得点が高い画像データより、指定属性であるが得点が低い画像データの方が優先されて選択されることになる。そのため、指定属性として「ＳＮＳ」が設定されている場合、ＳＮＳサーバ以外から取得された画像データより、ＳＮＳサーバから取得された画像データが優先されて選択されることになる。
【０１６５】
このように、本実施形態では、単に得点だけを参照して画像データを選択するのではなく、指定オブジェクトや指定属性を参照して画像データを選択する。このような形態とすることで、サブ画像群に条件に合致する画像データがあれば、指定オブジェクトを含む画像を表わす画像データをより確実に選択することができる。なお、本実施形態では、ループカウンタ１１０３でカウントされた処理回数が０の場合は、指定オブジェクトは、ユーザにより設定されたモードに対応するカテゴリのオブジェクトである。そのため、ＣＰＵ１０１は、ユーザにより設定されたモードに対応するカテゴリのオブジェクトを含む画像を、当該オブジェクトを含まない画像より優先してテンプレートに配置して、レイアウト画像を出力することができる。すなわち、本実施形態では、ユーザにより設定されたモードに対応するカテゴリのオブジェクトを含む画像がレイアウトされたレイアウト結果を、より確実に出力することができる。また、サブ画像群に条件に合致する画像データがあれば、指定属性の画像データをより確実に選択することができ、指定属性の画像データによって表わされる画像がレイアウトされたレイアウト結果を、より確実に出力することができる。
【０１６６】
なお、ＣＰＵ１０１は、各画像データが表わす画像が指定オブジェクトを含むか否かや、各画像データの属性や得点を、各画像データの画像解析情報５００を参照することで特定することができる。すなわち、ＣＰＵ１０１は、指定オブジェクトを含むことを示す情報（指定オブジェクトに対応するカテゴリの情報）が画像解析情報５００に含まれていれば、画像データが示す画像が指定オブジェクトを含むことを特定することができる。また、ＣＰＵ１０１は、指定属性であることを示す情報（指定属性の情報）が画像解析情報５００に含まれていれば、画像データが指定属性であることを特定することができる。そのため、Ｓ１２１２では、ＣＰＵ１０１は、着目している区間において生成された各画像データのオブジェクト分類５０５の領域に、指定オブジェクトのカテゴリが含まれ、且つ画像属性５０３の領域に指定属性が含まれる画像データを選択する。
【０１６７】
Ｓ１２１３では、ＣＰＵ１０１は、着目している区間において生成された画像データから、画像データを１枚選択する。なお、ここでは、指定オブジェクトが設定されていないため、指定オブジェクトは参照されない。そのため、単に指定属性である画像データのうち、得点が一番高い画像データが１枚選択される。
【０１６８】
なお、Ｓ１２１２及びＳ１２１３では、条件に合う画像データがない場合は、いずれの画像データも選択されず、次のステップに進む。
【０１６９】
Ｓ１２１４では、ＣＰＵ１０１は、Ｓ１２１２又はＳ１２１３の処理において選択された画像データが表わす画像が、以前のループにおけるＳ１２１８の処理において既に選択されている画像データが表わす画像と類似しているか否かの判定を行う。この処理の詳細は、類似判定部１１１０の説明にて上述したとおりである。類似していないと判定された場合は、ＳＳ１２１２又はＳ１２１３における選択を維持したまま、Ｓ１２１６へ進む。類似していると判定された場合は、Ｓ１２１２又はＳ１２１３における選択を解除し、すなわち、Ｓ１２１２又はＳ１２１３の処理において選択された画像データを保持せず（Ｓ１２１５）、Ｓ１２１６へ進む。なお、いずれの画像データも選択されていない場合は、Ｓ１２１４の処理は省略され、Ｓ１２１６へ進む。
【０１７０】
Ｓ１２１６では、ＣＰＵ１０１は、分割部１１０５によりサブ画像群の撮影期間が分割されることで管理されている全ての区間が着目されて、Ｓ１２１２又はＳ１２１３の処理が実行されたかどうかを判定する。ＣＰＵ１０１は、全ての区間が着目されて画像選択処理が実行された場合、Ｓ１２１５へ進む。一方、ＣＰＵ１０１は、全ての区間が着目されて画像選択処理が実行されていない場合、未だ着目されていない区間のうちいずれかを選択して、再度Ｓ１２０９以降の処理を実行する。
【０１７１】
Ｓ１２１７では、ＣＰＵ１０１は、全ての区間が着目されて画像選択処理が実行されることにより、１枚でも画像データが選択されたか否かを判定する。ＣＰＵ１０１は、１枚でも画像データが選択された場合、Ｓ１２１８に進み、１枚も画像データが選択されていない場合、Ｓ１２２１に進む。
【０１７２】
Ｓ１２２１では、ＣＰＵ１０１は、指定オブジェクトの更新を行う。なお、更新後の指定オブジェクトの内容は、特に限定されず、適宜設定されて良い。例えば、予め設定された優先度に従って指定オブジェクトが更新されても良いし、処理対象の見開きに割り当てられたサブ画像群が表わす複数の画像に多く含まれるオブジェクトが指定オブジェクトとして更新されても良い。また、指定オブジェクトの設定を「なし」にしても良い。また、更新の必要が無い場合（前回と同じ指定オブジェクトを用いて画像選択処理を実行する場合）は、Ｓ１２２１の処理は省略されても良い。
【０１７３】
Ｓ１２２２では、ＣＰＵ１０１は、指定属性の更新を行う。なお、更新後の指定属性は、適宜設定されて良い。例えば、予め設定された優先度に従って指定属性が更新されても良いし、処理対象の見開きに割り当てられたサブ画像群に多く含まれる属性が指定属性として更新されても良い。また、指定属性の設定を「なし」にしても良い。また、更新の必要が無い場合（前回と同じ指定属性を用いて画像選択処理を実行する場合）は、Ｓ１２２２の処理は省略されても良い。その後、Ｓ１２０９に進み、Ｓ１２２１やＳ１２２２で更新された情報に基づいて画像選択処理が行われる。
【０１７４】
このように、Ｓ１２２１及びＳ１２２２のうち少なくとも１つが実行されれば、検索対象の画像データの条件が変更されるため、ＣＰＵ１０１が新たに画像データを選択することが可能となる。なお、ＣＰＵ１０１は、Ｓ１２２１やＳ１２２２で情報の更新を行った場合は、更新前の情報を用いて既に着目している区間について未だ着目していないものとして扱って、再度Ｓ１２０９以降の処理を行う。
【０１７５】
なお、本実施形態では、Ｓ１２１７で１枚も画像データが選択されていないと判定された場合、まずは、指定オブジェクトを更新せず、指定属性を更新して再度画像選択処理を行う。そして、指定属性の更新を繰り返しても１枚も画像データが選択されない場合、指定オブジェクトの更新を行うものとする。
【０１７６】
Ｓ１２１８では、ＣＰＵ１０１は、統合部１１１１により、Ｓ１２１２で非類似と判定されて選択が維持されている画像データから、テンプレートに配置する画像を表わす画像データを特定する。この処理の詳細は、統合部１１１１の説明にて上述したとおりである。
【０１７７】
Ｓ１２１９では、ＣＰＵ１０１は、画像管理部１１１２により、Ｓ１２１５で、テンプレートに配置する画像を表わす画像データとして特定された画像データを選択済み画像データとして管理する。この処理の詳細は、画像管理部１１１２の説明にて上述したとおりである。
【０１７８】
Ｓ１２２０では、ＣＰＵ１０１は、画像管理部１１１２により管理されている選択済み画像データの枚数が、枚数設定部１１０１で設定された枚数（必要枚数）に達したか否かを判定する。ＣＰＵ１０１は、選択済み画像データの枚数が必要枚数に達した場合は画像選択処理を終了し、Ｓ４２４に進む。一方、ＣＰＵ１０１は、選択済み画像データの枚数が必要枚数に達していない場合は、再度Ｓ１２０４に進み、ループカウンタ１１０３によるカウンタをインクリメントして再度画像選択処理を行う。カウンタがインクリメントされ、処理回数Ｃの値が増えると、撮影期間が前回より多くの区間に分割される。本実施形態では具体的には、サブ画像群の撮影期間が前回よりも２倍多い数の区間に分割される。区間がより細かく管理されることにより、Ｓ１２１１では、前回は選択されていない画像データを選択可能になる。また、本実施形態では、選択済み画像データを含む区間からは画像データが選択されないため、選択済み画像データの撮影日時に近い日時に生成された画像データは選択されない可能性が高い。そのため、多様な画像データが選択されることになる。
【０１７９】
図４に戻って、Ｓ４２４では、ＣＰＵ１０１は、テンプレート設定部２１４により、アルバム作成条件指定部２０１から指定されたテンプレート情報に応じた複数のテンプレートを取得する。
【０１８０】
Ｓ４２５では、ＣＰＵ１０１は、画像レイアウト部２１５により、処理対象の見開きの画像レイアウトを決定する。このときまずＣＰＵ１０１は、Ｓ４２４で取得された複数のテンプレートの中から、Ｓ４２３で選択された画像データに適したテンプレートを決定する。テンプレート決定の方法を、図１３及び図１４を用いて説明する。
【０１８１】
図１３は、本実施形態のアルバム作成アプリに格納されている、テンプレートを決定する処理を司るソフトウェアのブロック図である。
【０１８２】
選択画像情報取得部１３０１は、Ｓ４２４で選択された画像データの枚数と、当該画像データに関する情報を取得する。画像データに関する情報とは、例えば、当該画像データによって表わされる画像の幅と高さ、当該画像データの撮影日時情報、当該画像データの得点である。
【０１８３】
テンプレート選択部１３０２は、Ｓ４２４で選択された画像データの枚数と一致する数のスロットを持つテンプレートを、Ｓ４２４で取得されたテンプレートの中から選択する。
【０１８４】
選択画像ソート部１３０３は、Ｓ４２４で選択された画像データを撮影日時順にソートする。
【０１８５】
テンプレート選択部１３０４は、テンプレート選択部１３０２により選択されたテンプレートのうち、メイン画像に適したテンプレートを選択する。本実施形態では、テンプレートのより左上のスロットに撮影日時がより古い画像データ、より右下のスロットに撮影日時がより新しい画像データをレイアウトするものとする。そのため、まずテンプレート選択部１３０４は、テンプレート選択部１３０２により選択されたテンプレートのうち、メインスロットの位置が、メイン画像を表わす画像データの撮影日時の順番に対応するテンプレートを選択する。すなわち、例えば、メイン画像を表わす画像データの撮影日時順が３番目であった場合には、メインスロットが、全スロットのうち左から３番目のスロットであるテンプレートが選択される。なお、選択画像ソート部１３０３により画像データが撮影日時順にソートされているため、テンプレート選択部１３０４は、メイン画像を表わす画像データの撮影日時の順番を把握することができる。また、テンプレート選択部１３０５は、このようにして選択したテンプレートのうち、メイン画像が配置されるスロットのアスペクト比が、メイン画像のアスペクト比と一致する（又は近い）テンプレートを最終的に選択する。
【０１８６】
テンプレート選択部１３０５は、テンプレート選択部１３０４により選択されたテンプレートのうち、サブ画像に適したテンプレートを選択する。テンプレート選択部１３０５は、具体的にはまず、サブスロットの位置が、サブ画像を表わす画像データの撮影日時の順番に対応するテンプレートを選択する。また、テンプレート選択部１３０５は、このようにして選択したテンプレートのうち、サブスロットのアスペクト比が、サブ画像のアスペクト比と一致する（又は近い）テンプレートを最終的に選択する。
【０１８７】
図１４は、本実施形態における、レイアウト画像の作成に利用するテンプレートを決定する処理を示すフローチャートである。図１４に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。
【０１８８】
まず、Ｓ１４０１では、ＣＰＵ１０１は、選択画像情報取得部１３０１により、Ｓ４２４で選択された画像データの枚数と、当該画像データに関する情報を取得する。なお、ここでは、Ｓ４２４で選択された画像データの枚数は３であるものとする。この処理の詳細は、選択画像情報取得部１３０１の説明にて上述したとおりである。
【０１８９】
Ｓ１４０２は、ＣＰＵ１０１は、テンプレート選択部１３０２により、Ｓ４２４で選択された画像データの枚数とスロット数が一致するテンプレートを選択する。なお、Ｓ４２４で選択された画像データの枚数は３であるため、スロット数が３のテンプレートが選択される。ここでは、スロット数が３のテンプレートとして、図１０の（１−１）〜（４−４）が選択されたものとする。
【０１９０】
Ｓ１４０３では、ＣＰＵ１０１は、選択画像ソート部１３０３により、Ｓ４２４で選択された画像データを撮影日時順にソートする。なお、ここでは、３枚の各画像データが表わす各画像の撮影日時は図１０（Ａ）に示すような順番であったとする。また、ここでは、画像１００５がメインスロット用の画像（メイン画像）であり、画像１００６と画像１００７がサブスロット用の画像（サブ画像）とする。
【０１９１】
Ｓ１４０４は、ＣＰＵ１０１は、テンプレート選択部１３０２により選択されたテンプレートのうち、メイン画像に適したテンプレートを、テンプレート選択部１３０４により選択する。この処理の詳細は、テンプレート選択部１３０４の説明にて上述したとおりである。上述したように、本実施形態では、テンプレートのより左上のスロットに撮影日時がより古い画像データ、より右下のスロットに撮影日時がより新しい画像データをレイアウトするものとする。そして、メイン画像である画像１００５は、撮影日時が一番新しく、且つ縦長の画像であるため、ここでは図１０（３−１）〜（３−４）のテンプレートが選択される。
【０１９２】
Ｓ１４０５では、ＣＰＵ１０１は、Ｓ１４０４で選択されたテンプレートのうち、サブ画像に適したテンプレートを、テンプレート選択部１３０５により選択する。この処理の詳細は、テンプレート選択部１３０５の説明にて上述したとおりである。サブ画像である画像１００６は、撮影日時が一番古く、且つ縦長の画像である。また、サブ画像である画像１００７は、撮影日時が２番目に新しく、且つ横長の画像である。そのため、図１０（３−２）のテンプレートが選択される。なお、このとき、どのサブスロットにどのサブ画像が配置されるかも特定される。
【０１９３】
このようにして、Ｓ４２５では、ＣＰＵ１０１は、レイアウト画像の作成に用いるテンプレートと、テンプレートのいずれのスロットにいずれの画像をレイアウトするかを決定する。具体的には、ＣＰＵ１０１は、選択したテンプレートに含まれる各スロットの情報と、各スロットにレイアウトされる画像に対応する画像データと、を紐づけて管理する。
【０１９４】
Ｓ４２６では、ＣＰＵ１０１は、画像補正部２１７により画像補正をする。なお、ＣＰＵ１０１は、補正条件入力部２１６から画像補正がＯＮであることの設定が入力された場合に、画像補正を実行する。画像補正として、例えば、輝度補正、赤目補正、コントラスト補正が実行される。また、ＣＰＵ１０１は、補正条件入力部２１６から画像補正がＯＦＦであることの設定が入力された場合は、画像補正を実行しない。画像補正は、例えば、短辺１２００画素で、ｓＲＧＢの色空間に変換された画像データに対しても実行可能である。
【０１９５】
Ｓ４２７では、ＣＰＵ１０１は、レイアウト情報出力部２１８によりレイアウト情報を作成する。具体的には、ＣＰＵ１０１は、Ｓ４２５で選択されたテンプレートの各スロットに、Ｓ４２６の画像補正が実行された、各スロットに対応する画像データを紐づけて管理する。なお、ここで用いる画像は、Ｓ４０７で生成した解析画像であり、Ｓ４０８〜１８で用いた画像とは異なる画像である。そして、ＣＰＵ１０１は、テンプレートに画像をレイアウトしたビットマップデータを生成する。このとき、ＣＰＵ１０１は、スロットのサイズ情報に合わせてレイアウトする画像を変倍又は等倍してレイアウトする。
【０１９６】
Ｓ４２８はＳ４２３〜Ｓ４２７の処理が全ての見開きに対して終了したか否かを判定する。終了していない場合（Ｓ４２８でＮｏ）はＳ４２３に戻り、未だ処理対象となっていない見開きに対して、Ｓ４２３〜Ｓ４２７の処理を行う。終了している場合（Ｓ４２８でＹｅｓ）は、自動レイアウト処理を終了する。
【０１９７】
自動レイアウト処理が終了されると、ＣＰＵ１０１は、作成したレイアウト情報に基づき、テンプレートに画像が配置されたレイアウト画像をディスプレイ１０５に表示する。なお、このとき、ＣＰＵ１０１は、１つのアルバムを作成するための複数のレイアウト画像を表示しても良い。また、ＣＰＵ１０１は、作成したレイアウト情報をプリンタに送信し、レイアウト画像を印刷しても良い。
【０１９８】
このように、本実施形態では、ＣＰＵ１０１は、ユーザから指定されたアルバムのモードに応じてレイアウトに利用する画像を変更する。具体的には、ＣＰＵ１０１は、少なくとも１つのスロットに対して、ユーザから指定されたアルバムのモードに対応するオブジェクトを含む画像を、当該オブジェクトを含まない画像より優先して配置する。これにより、ユーザから指定されたアルバムのモードに対応するオブジェクトを含むレイアウト画像を作成することができる。また、本実施形態では、動画から切り出されることで取得された画像データの得点化や選択の方法が、動画解析時に取得した動き量や得点に応じて変更される。これにより、動画解析時の結果を利用した画像選択が可能となり、動画ならではのよさをレイアウトに反映することができる。
【０１９９】
＜アルバムの編集＞
ＣＰＵ１０１は、自動レイアウト処理が終了すると、見開き毎に作成したレイアウト画像を、ディスプレイ１０５に表示する。本実施形態では、ユーザは、完成したレイアウト画像を任意に編集可能であるものとする。例えば、ユーザは、各スロットに配置された画像のうち、変更したい画像が有る場合は、マウス１０７により変更したい画像をクリックする。その後、ユーザは、変更したい画像の代わりに配置したい画像を選択することで、ユーザが任意に選択した画像を、クリックされた画像の代わりに新たに配置することができる。
【０２００】
また、本実施形態では、レイアウト画像の編集画面には、図２０のような、編集後のアルバム内の各オブジェクトの出現頻度を調整するＵＩ２００１が表示されるものとする。なお、このような編集画面は、アルバム作成アプリによって提供される。ＵＩ２００１には、作成したアルバム（編集前のアルバム）のモードに応じたコンテンツが表示される。具体的には、編集後のアルバムにおける、アルバムのモードに対応するオブジェクトを含む画像の出現頻度（テンプレートに配置される画像として選択される頻度）を調整するためのバーが表示される。例えば、作成したアルバムのモードが「動物」である場合、編集後のアルバムにおける、「動物」のオブジェクトを含む画像の出現頻度を調整するためのバー２００４が表示される。なお、本実施形態では、編集後のアルバムにおける、「人物」のオブジェクトを含む画像の出現頻度を調整するためのバー２００２については、アルバムのモードがいずれであっても表示されるものとする。なお本実施形態では、「人物」以外のオブジェクトを含む画像の出現頻度を調整するためのバーは、アルバムのモードが「人物」以外である場合のみ表示される形態としたが、この形態に限定されない。例えば、アルバムのモードがいずれであっても表示される形態としても良い。
【０２０１】
以下、ＵＩ２００１を用いて、アルバムを編集する方法について詳しく説明する。ここでは、作成したアルバムのモードが「動物」である場合を例にして説明する。
【０２０２】
ユーザは、掴み２００３や掴み２００５を移動させるための入力を行うことで、編集後のアルバムにおける、各バーに対応するオブジェクトを含む画像の出現頻度を調整することができる。本実施形態では、「多め」（最大値）、「普通」（中間値）、「少なめ」（最小値）の３種類の設定値が用意されているものとし、ユーザの入力に応じた設定値（掴み２００３や掴み２００５の位置に応じた設定値）に応じて、各画像の出現頻度が調節される。ユーザによってＯＫボタン２００６が押下されると、設定された条件に基づいてアルバムが編集される。すなわち、設定された条件に基づいて、再度自動レイアウト処理が行われる。具体的には、Ｓ４１６からＳ４２８の処理が再度行われる。なおこのとき、編集前のアルバム作成時のＳ４０１〜Ｓ４１５の処理で取得された各情報は、適宜再利用される。ユーザによってキャンセルボタン２００７が、押下されると、出現頻度の調整をキャンセルし、ＵＩ２００１が閉じられる。なお、例えば、再度の自動レイアウト処理では、Ｓ４２３からＳ４２８の処理が再度行われても良い。この場合、Ｓ４２３も画像選択処理では、編集前のアルバム作成時のＳ４１６で付された得点が参照される。
【０２０３】
なお、各バーに対応するオブジェクトを含む画像の出現頻度の設定方法は、上述の形態に限定されない。例えば、プルダウンリストから設定値を選択する形態であっても良い。また、設定値は、「多め」、「普通」、「少なめ」ではなく、例えば数字や記号、他の語句等で表現されても良い。また、設定値は、最大値と中間値と最小値の３種類に限定されず、設定値が細かく分類されていても良い。
【０２０４】
図２１は、各設定値における編集後のアルバムのある１枚の見開きのレイアウト画像を示す図である。
【０２０５】
２１０４は、メインスロットに配置される画像の種類を示し、２１０５及び２１０６は、サブスロットに配置される画像の種類を示す。「人物＋動物」は人と動物の両方のオブジェクトを含む画像を示している。「人物」は人のオブジェクトを含み、動物のオブジェクトを含まない画像を示している。「動物」は動物のオブジェクトを含み、人のオブジェクトを含まない画像を示している。「モノ」は人と動物の両方のオブジェクトを含まない画像を示している。
【０２０６】
表２１０１に示すように、「人物」の設定値と「動物」の設定値が共に「多め」である場合には、レイアウト画像に含まれるすべての画像が、「人物＋動物」の種類となる。また、「人物」の設定値が「普通」で「動物」の設定値が「多め」である場合には、メインスロットには、「人物＋動物」の種類の画像が配置され、サブスロットには、「動物」の種類の画像が配置される。また、「人物」の設定値が「少なめ」で「動物」の設定値が「多め」である場合には、レイアウト画像に含まれるすべての画像が、「動物」の種類となる。
【０２０７】
また、「人物」の設定値が「多め」で「動物」の設定値が「普通」である場合には、メインスロットには、「人物＋動物」の種類の画像が配置され、サブスロットには、「人物」の種類の画像が配置される。また、「人物」の設定値が「多め」で「動物」の設定値が「少なめ」である場合には、レイアウト画像に含まれるすべての画像が、「人物」の種類となる。
【０２０８】
また、「人物」の設定値と「動物」の設定値が共に「普通」である場合には、メインスロットには、「人物＋動物」の種類の画像が配置され、サブスロットには、「人物」の種類の画像と、「動物」の種類の画像が配置される。また、「人物」の設定値が「普通」で「動物」の設定値が「少なめ」である場合には、メインスロットには、「人物」の種類の画像が配置され、サブスロットには、「モノ」の種類の画像が配置される。また、「人物」の設定値が「少なめ」で「動物」の設定値が「普通」である場合には、メインスロットには、「動物」の種類の画像が配置され、サブスロットには、「モノ」の種類の画像が配置される。また、「人物」の設定値と「動物」の設定値が共に「少なめ」である場合には、レイアウト画像に含まれるすべての画像が、「モノ」の種類となる。
【０２０９】
なお、各パターンにおいて配置される画像の種類は上述の形態に限定されず、それぞれのパターンにおいて配置される画像の種類が異なっていればいい。
例えば、どの種類の画像が配置されるかが設定されないスロットが含まれていても良い。その場合、当該スロットにはいずれの種類の画像が配置されても良く、例えば、単に、未だ選択されていない画像のうち得点が一番高い画像が配置される。
【０２１０】
また、図２１には、各パターンにおいてレイアウト画像の生成に利用されるテンプレートの種類が同一であるものとしたが、この形態に限定されない。各パターンにおいて選択される画像データが異なるため、選択された画像データに適したテンプレートが各パターンにおいて適宜選択されて良い。
【０２１１】
このように、本実施形態では、ユーザによって設定された各オブジェクトの設定値に応じて、編集後のアルバムに含まれるオブジェクトの多寡を変更することができる。言いかえれば、編集後のレイアウト画像に含まれる複数の画像に各オブジェクトが含まれる割合を、ユーザによって設定された各オブジェクトの設定値の組み合わせに応じて変化させることができる。また、本実施形態では、単にそれを変更するだけでなく、編集後のアルバムに含まれる画像の種類を変更することができる。言いかえれば、ユーザによって設定された各オブジェクトの設定値に応じて、異なる種類の画像が含まれるように、アルバムを作成することができる。
【０２１２】
図１６は、アルバムの再レイアウト時に実行される処理を示すフローチャートである。図１６に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。図１６のフローチャートに示す処理は、ＣＰＵ１０１が、ＵＩ２００１の画面を介してユーザから編集内容の入力を受け付けた後、ユーザからアルバムの再レイアウト指示（編集指示）を受け付けた場合に（ＯＫボタン２００６が押下された場合に）開始される。なお、アルバムの再レイアウト時は、指定オブジェクトが、ＵＩ２００１で設定された設定値に基づいて変化する。
【０２１３】
Ｓ１６０１では、ＣＰＵ１０１は、画像得点部２１０により、ＵＩ２００１を介してユーザから受け付けた編集内容に応じて画像得点化をする。具体的には、ＣＰＵ１０１は、Ｓ４１６の説明にて上述した画像得点化の方法で各画像データに付された得点を、各カテゴリの設定値に応じて増減する。例えば、ＣＰＵ１０１は、設定値が「多め」であるカテゴリのオブジェクトを含む画像データの得点には、所定の得点を加算し、設定値が「少なめ」であるカテゴリのオブジェクトを含む画像データの得点からは、所定の得点を減算する。なお、ＣＰＵ１０１は、設定値が「普通」であるカテゴリのオブジェクトを含む画像データの得点は、増減させない。
【０２１４】
Ｓ１６０２〜Ｓ１６０７の処理は、Ｓ４１７〜Ｓ４２２の処理と同様のため、説明を省略する。
【０２１５】
Ｓ１６０８では、ＣＰＵ１０１は、画像選択部２１３により画像選択を実行する。再レイアウト時における画像選択処理を、図１２を用いて説明する。
【０２１６】
図１２は、Ｓ１６０８の画像選択処理の詳細を示すフローチャートである。図１２に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。図１２のフローチャートでは、処理対象の１つの見開きに割り当てられたサブ画像群から画像データが選択される。そのため、アルバムが複数の見開きから構成される場合、図１２のフローチャートに示す処理は見開きの数に対応する回数実行されることになる。
【０２１７】
また、本実施形態では、アルバムの再編集時は、ＵＩ２００１を介してユーザによって設定された各オブジェクトの設定値及び、ループカウンタによるカウント数に応じて、画像選択処理において選択される画像データの種類が設定される。なお、上述したように本実施形態では、ループカウンタによるカウント数は選択済み画像データの枚数に対応する。具体的には、ＵＩ２００１を介してユーザによって設定された各オブジェクトの設定値及び、ループカウンタによるカウント数に応じて、指定オブジェクトと除外オブジェクトが設定される。除外オブジェクトが設定されている場合、以降の画像選択処理では、除外オブジェクトを含む画像データは選択されない。
【０２１８】
ループカウンタによるカウント数が０の場合は、画像選択処理ではメイン画像が選択される。そのため、ＣＰＵ１０１は、ユーザによって設定された各オブジェクトの設定値に応じた種類のメイン画像が選択されるように、指定オブジェクトと除外オブジェクトを設定する。例えば、図２１に示すように、「人物」の設定値と「動物」の設定値が共に「多め」である場合や、「人物」の設定値が「普通」で「動物」の設定値が「多め」である場合には、メインスロットには、「人物＋動物」の種類の画像が配置される。そのため、「人物」のオブジェクトと「動物」のオブジェクトの両方を指定オブジェクトとする。また、「人物」の設定値が「少なめ」で「動物」の設定値が「普通」である場合には、メインスロットには、「動物」の種類の画像が配置される。そのため、「動物」のオブジェクトを指定オブジェクトとし、「人物」のオブジェクトを除外オブジェクトとする。また、「人物」の設定値が「普通」で「動物」の設定値が「少なめ」である場合には、メインスロットには、「人物」の種類の画像が配置される。そのため、「人物」のオブジェクトを指定オブジェクトとし、「動物」のオブジェクトを除外オブジェクトとする。また、「人物」の設定値と「動物」の設定値が共に「少なめ」である場合には、メインスロットには、「モノ」の種類の画像が配置される。そのため、「人物」のオブジェクトと「動物」のオブジェクトの両方を除外オブジェクトとする。このとき、除外オブジェクトとなったオブジェクト以外のオブジェクト（ここでは、例えば「料理」のオブジェクト等）が指定オブジェクトとして設定されても良い。なお、本実施形態では、所定値を「普通」とし、所定値以上の設定値のオブジェクトを指定オブジェクトとし、所定値未満の設定値のオブジェクトを除外オブジェクトとしているがこの形態に限定されない。設定値の組み合わせによって、配置される画像の種類が変わる形態であれば良い。
【０２１９】
また、ループカウンタによるカウント数が１以上の場合は、画像選択処理ではサブ画像が選択される。そのため、ＣＰＵ１０１は、ユーザによって設定された各オブジェクトの設定値に応じた種類のサブ画像が選択されるように、指定オブジェクトと除外オブジェクトを設定する。例えば、図２１に示すように、「人物」の設定値と「動物」の設定値が共に「多め」である場合には、サブスロットには、「人物＋動物」の種類の画像が配置される。そのため、除外オブジェクトは設定せず、「人物」のオブジェクトと「動物」のオブジェクトの両方を指定オブジェクトとする。また、「人物」の設定値が「多め」で「動物」の設定値が「普通」である場合には、サブスロットには、「人物」の種類の画像が配置される。そのため、「人物」のオブジェクトを指定オブジェクトとし、「動物」のオブジェクトを除外オブジェクトとする。また、「人物」の設定値が「普通」で「動物」の設定値が「多め」である場合や、「人物」の設定値が「少なめ」で「動物」の設定値が「多め」である場合には、サブスロットには、「動物」の種類の画像が配置される。そのため、「動物」のオブジェクトを指定オブジェクトとし、「人物」のオブジェクトを除外オブジェクトとする。また、「人物」の設定値と「動物」の設定値が共に「少なめ」である場合には、サブスロットには、「モノ」の種類の画像が配置される。そのため、指定オブジェクトは設定せず、「人物」のオブジェクトと「動物」のオブジェクトの両方を除外オブジェクトとする。このとき、除外オブジェクトとなったオブジェクト以外のオブジェクト（ここでは、例えば「料理」のオブジェクト等）が指定オブジェクトとして設定されても良い。
【０２２０】
このように、ＵＩ２００１を介してユーザによって設定された各オブジェクトの設定値に応じて、各スロットに配置される画像データの種類を変更することができる。
【０２２１】
Ｓ１２０１〜Ｓ１２０９の処理は、編集前のアルバム作成時の処理と同様であるため説明を省略する。
【０２２２】
Ｓ１２１０では、ＣＰＵ１０１は、指定オブジェクトや除外オブジェクトが設定されているか否かを判定する。アルバムの編集時は上述のようにして指定オブジェクトや除外オブジェクトが設定されるが、指定オブジェクトや除外オブジェクトが設定されないこともある。このケースは例えば、未だ選択されていない画像データのなかに指定オブジェクトを含み、除外オブジェクトを含まない画像を表わす画像データがない場合である。また例えば、どの種類の画像が配置されるかが設定されないスロットに配置するための画像を表わす画像データを選択する場合である。この処理の詳細は、編集前のアルバム作成時の処理と同様である。
【０２２３】
Ｓ１２１１では、ＣＰＵ１０１は、着目している区間において生成された画像データのなかに、指定オブジェクトを含み、除外オブジェクトを含まない画像を表わし、且つ指定属性の画像データである画像データが有るか否かを判定する。具体的には、ＣＰＵ１０１は、着目している区間において生成された各画像データそれぞれについて、指定オブジェクトを含み、除外オブジェクトを含まない画像を表わし、且つ指定属性である画像データか否かを判定する。そして、指定オブジェクトを含み、除外オブジェクトを含まない画像を表わし、且つ指定属性である画像データであると判定された画像データが１つでもあれば、Ｓ１２１１の判定結果はＹＥＳ判定となり、Ｓ１２１２に進む。指定オブジェクトを含み、除外オブジェクトを含まない画像を表わし、且つ指定属性の画像データが１つもない場合、Ｓ１２１１の判定結果はＮＯ判定となり、着目している区間において生成された画像データからは画像データが選択されずに、Ｓ１２１６へ進む。なお、ＣＰＵ１０１は、画像解析情報５００のうちオブジェクト分類５０５の領域に、除外オブジェクトのカテゴリが含まれない画像データを、除外オブジェクトを含まない画像を表わす画像データであると判定する。指定オブジェクトと指定属性に関する判定は、編集前のアルバム作成時の処理と同様である。
【０２２４】
Ｓ１２１２では、ＣＰＵ１０１は、着目している区間において生成された画像データから、画像データを１枚選択する。この処理の詳細は、画像選択部１１０９の説明にて上述したとおりである。なお、ここでは、指定オブジェクトを含み、除外オブジェクトを含まない画像を表わし、且つ指定属性である画像データのうち、得点が一番高い画像データが１枚選択される。そのため、本実施形態では例えば、指定オブジェクトを含まない画像を表し、得点が高い画像データより、指定オブジェクトを含む画像を表し、得点が低い画像データの方が優先されて選択されることになる。また、本実施形態では例えば、指定属性でないが得点が高い画像データより、指定属性であるが得点が低い画像データの方が優先されて選択されることになる。また、本実施形態では例えば、除外オブジェクトを含むが得点が高い画像データより、除外オブジェクトを含まないが得点が低い画像データの方が優先されて選択されることになる。
【０２２５】
このように、本実施形態では、各オブジェクトの設定値に応じて、指定オブジェクトや除外オブジェクトを設定する。このような形態とすることで、サブ画像群に条件に合致する画像データがあれば、各オブジェクトの設定値に応じた種類の画像をより確実に選択することができる。すなわち、各オブジェクトの設定値に応じた種類の画像がレイアウトされたレイアウト結果を、より確実に出力することができる。
【０２２６】
Ｓ１２１２〜Ｓ１２２１の処理は、編集前のアルバム作成時の処理と同様である。
【０２２７】
Ｓ１２２２では、ＣＰＵ１０１は、指定オブジェクト又は／及び除外オブジェクトの更新を行う。なお、更新後の指定オブジェクトや除外オブジェクトの内容は、特に限定されず、適宜設定されて良い。例えば、予め設定された優先度に従って指定オブジェクトや除外オブジェクトが更新されても良いし、処理対象の見開きに割り当てられたサブ画像群が表わす複数の画像に多く含まれるオブジェクトが指定オブジェクトとして更新されても良い。また、処理対象の見開きに割り当てられたサブ画像群が表わす複数の画像に多く含まれるオブジェクト以外のオブジェクトが除外オブジェクトとして更新されても良い。また、指定オブジェクトや除外オブジェクトの設定を「なし」にしても良い。また、更新の必要が無い場合（前回と同じ指定オブジェクトや除外オブジェクトを用いて画像選択処理を実行する場合）は、Ｓ１２２２の処理は省略されても良い。
【０２２８】
Ｓ１２２３の処理は、編集前のアルバム作成時の処理と同様である。
【０２２９】
なお、本実施形態では、Ｓ１２１７で１枚も画像データが選択されていないと判定された場合、まずは、指定オブジェクトや除外オブジェクトを更新せず、指定属性を更新して再度画像選択処理を行う。そして、指定属性の更新を繰り返しても１枚も画像データが選択されない場合、指定オブジェクトや除外オブジェクトの更新を行うものとする。
【０２３０】
また、選択済み画像データの枚数が必要枚数に達した場合は画像選択処理を終了し、Ｓ１６０９に進む。
【０２３１】
Ｓ１６０９〜Ｓ１６１３の処理は、Ｓ４２４〜Ｓ４２８の処理と同様である。
【０２３２】
このように、ユーザが入力した各オブジェクトの設定値に応じた種類の画像が配置されるように制御することで、ユーザの意図を反映したレイアウト画像を作成することができる。
【０２３３】
なお、ユーザが入力した各オブジェクトの設定値に応じた種類の画像が配置されるようにする制御は、アルバムの編集時だけでなく、編集前のアルバム作成時にも適用可能である。その場合、例えば、編集前のアルバム作成前に、図３に示すような設定画面への入力と共に、図２０に示すような設定画面への入力を受け付ける形態とすればよい。そして、図４に示すＳ４１５〜Ｓ４２８の処理の代わりに、図１６に示すＳ１６０１〜Ｓ１６１３の処理を実行する形態とすればよい。
【０２３４】
（第２実施形態）
本実施形態では、トリミングによる影響を考慮してテンプレートを選択する形態について説明する。なお、第１実施形態と同様の構成については説明を省略する。
【０２３５】
ＨＤＤ１０４には、図１０に示したテンプレートの他にも様々テンプレートが格納されており、例えば本実施形態では、図１７に示すようなテンプレートが格納されている。（５−１）、（６−１）に示すテンプレートは、正方形状のメインスロットとサブスロットを有しており、さらに、メインスロットのサイズがサブスロットのサイズより大きくなっている。また（７−１）に示すテンプレートは、正方形状のメインスロットとサブスロットを有しており、メインスロットのサイズは（５−１）や（６−１）のメインスロットのサイズより小さい。また（８−１）、（９−１）、（１０−１）に示すテンプレートは、矩形状のメインスロットと正方形状や矩形状のサブスロットを有しており、メインスロットのサイズは図１０に示すテンプレートのメインスロットのサイズより小さい。
【０２３６】
このように、矩形だけでなく、正方形等のさまざまな形状のスロットを有するテンプレートが用意されることで、ユーザにデザイン性の高い多様なアルバムを提供することができる。なお、矩形や正方形のスロットを有するテンプレートだけでなく、例えば、円形や楕円形、三角形等、他の形状のスロットを有するテンプレートが用意されても良い。また、矩形のメインスロットと正方形のサブスロットを有するテンプレートのように、それぞれ異なる形状のスロットを有するテンプレートが用意されても良い。
【０２３７】
ところで、自動レイアウト処理においては、画像をスロットに収まる大きさ・形状にするために、画像の一部の領域を取り除く処理であるトリミングが行われる場合がある。なお、トリミングされる領域の位置や量は、スロットの大きさや形状と、画像の大きさや形状に応じて異なる。
【０２３８】
なお、自動レイアウト処理においては、ＣＰＵ１０１は、画像を配置するスロットの大きさ・位置の情報を取得可能である。そのため、ＣＰＵ１０１は、さらに、画像に含まれるオブジェクトの位置の情報を取得可能であれば、画像に含まれるオブジェクトがトリミングにより切れるか否かを判別可能である。なお、オブジェクトが切れるとは、具体的には、オブジェクトの少なくとも一部が含まれる領域がトリミングにより取り除かれることを指す。そのため、ＣＰＵ１０１は、画像に含まれるオブジェクトが切れると判定した場合は、使用するテンプレートを変更することで、画像に含まれるオブジェクトが切れることなく、テンプレートに画像を配置することが可能である。
【０２３９】
しかしながら、画像解析部２０７は、オブジェクトのカテゴリによっては、オブジェクトの位置を正確に検出できない（位置の情報を取得できない）ことがある。具体的には、例えば、ＣＰＵ１０１は、画像解析部２０７により、「人物」のオブジェクトについては、その位置を正確に検知することができるが、「人物」以外（「動物」、「料理」等）のオブジェクトについては、その位置を正確に検知することができない。そのため、ＣＰＵ１０１は、「人物」以外のオブジェクトを含む画像については、トリミングにより画像に含まれるオブジェクトが切れるか否かを判別することなく、テンプレートを選択する必要がある。そのため、「人物」以外のオブジェクトを含む画像については、できるだけトリミング量を減らしてスロットに配置することが好ましい。
【０２４０】
そこで、本実施形態では、アルバムのモードに応じて、レイアウト作成に利用されるテンプレートを変更する。具体的には、位置の情報を正確に取得できないオブジェクトに対応するモードが選択されている場合には、できるだけ画像のトリミング量が小さくなるように制御する。これにより、位置を正確に検知することができないオブジェクトがトリミングにより切れてしまうことを抑制する。
【０２４１】
ところで、撮像デバイスによって取得された画像データによって表わされる画像の多くは矩形である。矩形と正方形は、アスペクト比が異なるため、矩形の画像を上述のような正方形状のスロットに収まるように配置するためには、矩形の画像をトリミングする必要がある。また、矩形と正方形は、アスペクト比が大きく異なるため、このときのトリミング量は大きくなる。そのため、本実施形態では、アルバムのモードが「人物」以外である場合は、矩形のスロットを有するテンプレートを選択する。これにより、画像のトリミング量が小さくなるように制御することができる。
【０２４２】
本実施形態の制御について更に詳細に説明する。本実施形態では、アルバムのモードが「人物」である場合には、図１０に示すような矩形のスロットを有するテンプレート及び、図７に示すような矩形以外のスロットを有するテンプレートから、レイアウト作成に利用するテンプレートを選択する。これは、ＣＰＵ１０１は、「人物」のオブジェクトについては、その位置を正確に検知可能であるため、スロットの形状がいかようであっても、オブジェクトが切れないようにトリミング可能であるからである。
【０２４３】
また、アルバムのモードが「人物」以外（「動物」、「料理」等）である場合には、図１０に示すような矩形のスロットを有するテンプレートから、レイアウト作成に利用するテンプレートを選択する。すなわち、アルバムのモードが「人物」以外である場合には、図７に示すような矩形以外のスロットを有するテンプレートから、レイアウト作成に利用するテンプレートを選択しない。これは、ＣＰＵ１０１は、「人物」以外のオブジェクトについては、その位置を正確に検知できないため、矩形以外の形状のスロットに画像を配置する場合は、オブジェクトが切れてしまう可能性があるからである。
【０２４４】
図１５は、本実施形態のアルバム作成アプリのソフトウェア構成を示すブロック図である。なお、第１実施形態のアルバム作成アプリと同様の構成については説明を省略する。
【０２４５】
本実施形態のアルバム作成アプリは、テンプレート選択部１５０１を有する。テンプレート選択部１５０１は、まず、テンプレート設定部２１４によってＨＤＤ１０４から取得された、アルバム作成条件指定部２０１から指定されたテンプレート情報に応じた複数のテンプレートを取得する。
【０２４６】
画像レイアウト部１５０２は、見開きのレイアウトを決定する。具体的には、テンプレート選択部１５０１により入力された複数のテンプレートから画像選択部２１３で選択した画像データに適したテンプレートを選択し、各画像の配置位置を決定する。
【０２４７】
図１８は、本実施形態のアルバム作成アプリに格納されている、テンプレートを決定する処理を司るソフトウェアのブロック図である。第１実施形態と同様の構成については説明を省略する。
【０２４８】
モード取得部１８０１は、アルバム作成条件指定部２０１で指定された、アルバムのモードに関する情報を取得し、アルバムのモードを特定する。
【０２４９】
テンプレート選択部１８０２は、モード取得部１８０１により特定されたモードに基づいて、テンプレートを選択する。なお、テンプレートの選択方法は、テンプレート選択部１５０１の説明にて上述した通りである。
【０２５０】
テンプレート選択部１３０２は、Ｓ４２４で選択された画像データの枚数と一致する数のスロットを持つテンプレートを、テンプレート選択部１８０２により選択されたテンプレートから選択する。
【０２５１】
テンプレート選択部１８０３は、テンプレート選択部１３０２により選択されたテンプレートのうち、メイン画像に適したテンプレートを選択する。本実施形態では、テンプレートのより左上のスロットに撮影日時がより古い画像データ、より右下のスロットに撮影日時がより新しい画像データをレイアウトするものとする。そのため、まずテンプレート選択部１３０４は、テンプレート選択部１３０２により選択されたテンプレートのうち、メインスロットの位置が、メイン画像を表わす画像データの撮影日時の順番に対応するテンプレートを選択する。すなわち、例えば、メイン画像を表わす画像データの撮影日時順が３番目であった場合には、メインスロットが、全スロットのうち左から３番目のスロットであるテンプレートが選択される。なお、選択画像ソート部１３０３により画像データが撮影日時順にソートされているため、テンプレート選択部１３０４は、メイン画像を表わす画像データの撮影日時の順番を把握することができる。
【０２５２】
また、本実施形態では、テンプレート選択部１８０３は、アルバムのモードが「人物」である場合は、トリミングによりオブジェクトが切れない限り、矩形以外の形状のメインスロットを有するテンプレートを優先的に選択する。テンプレート選択部１８０３は、矩形以外の形状のメインスロットにメイン画像を配置するためのトリミングにより、メイン画像に含まれるオブジェクトが切れてしまう場合には、矩形の形状のメインスロットを有するテンプレートを選択する。
【０２５３】
また、テンプレート選択部１８０３は、メイン画像を表わす画像データが、動画データから切り出されて画像データであり、さらに動き量が多い画像データである場合は、小さいサイズのスロットを有するテンプレートを選択する。これは、動き量が多い画像データが表わす画像はボケやブレが多い可能性が高いが、小さいサイズのスロットに画像が縮小されて配置されることで、画像のボケやブレが緩和されるためである。一方、動き量が少ない画像データが表わす画像はボケやブレが多い可能性が低いため、テンプレート選択部１８０３は、動き量が少ない画像データである場合は、大きいサイズのスロットを有するテンプレートを選択する。なお、ここでは、動き量の多寡に基づいてテンプレートを選択する形態について説明したが、この形態に限定されない。ＣＰＵ１０１が画像のボケ量やブレ量を検出可能な場合は、その値を用いてテンプレート選択が行われても良い。また、例えば、ＣＰＵ１０１は、ラプラシアンフィルターを用いることによって、画像におけるエッジを検出することができる。ＣＰＵ１０１は、検出されたエッジ量が小さい場合は、ボケ量やブレ量が多いとみなしても良い。いずれにせよ、ボケ量やブレ量が大きい画像が小さいスロットに配置され、ボケ量やブレ量が小さい画像が大きいスロットに配置されるよう制御されれば良い。
【０２５４】
テンプレート選択部１８０４は、テンプレート選択部１８０３により選択されたテンプレートのうち、サブ画像に適したテンプレートを選択する。テンプレート選択部１８０４は、サブスロットの位置が、Ｓ４２４で選択された画像データのうちサブ画像を表わす画像データの撮影日時の順番に対応するテンプレートを選択する。また、本実施形態では、テンプレート選択部１８０４は、アルバムのモードが「人物」である場合は、トリミングによりオブジェクトが切れない限り、矩形以外の形状のサブスロットを有するテンプレートを優先的に選択する。テンプレート選択部１８０４は、矩形以外の形状のサブスロットにサブ画像を配置するためのトリミングにより、サブ画像に含まれるオブジェクトが切れてしまう場合には、矩形の形状のメインスロットを有するテンプレートを選択する。テンプレート選択部１８０４は、このようにして、レイアウト画像の作成に最終的に利用するテンプレートを選択する。
【０２５５】
本実施形態においても、Ｓ４２５では、ＣＰＵ１０１は、画像レイアウト部２１５により、処理対象の見開きの画像レイアウトを決定する。そして、ＣＰＵ１０１は、Ｓ４２４で取得された複数のテンプレートの中から、Ｓ４２３で選択された画像データに適したテンプレートを決定する。テンプレート決定の方法を、図１９を用いて説明する。
【０２５６】
図１９は、本実施形態における、レイアウト画像の作成に利用するテンプレートを決定する処理を示すフローチャートである。図１９に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。
【０２５７】
Ｓ１９０１では、ＣＰＵ１０１は、選択画像情報取得部１３０１により、Ｓ４２４で選択された画像データの枚数と、当該画像データに関する情報を取得する。この処理は、Ｓ１４０１の処理と同様である。
【０２５８】
Ｓ１９０２では、ＣＰＵ１０１は、テンプレート選択部１３０２により、Ｓ４２４で選択された画像データの枚数とスロット数が一致するテンプレートを選択する。この処理は、Ｓ１４０２の処理と同様である。
【０２５９】
Ｓ１９０３では、ＣＰＵ１０１は、選択画像ソート部１３０３により、Ｓ４２４で選択された画像データを撮影日時順にソートする。この処理は、Ｓ１４０３の処理と同様である。
【０２６０】
Ｓ１９０４では、ＣＰＵ１０１は、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得された画像データか否かを判定する。ＣＰＵ１０１は、動画データからフレームが切り出されることで取得された画像データである場合（Ｓ１９０４でＹｅｓ）は、Ｓ１９０５に進む。そして、ＣＰＵ１０１は、動画データからフレームが切り出されることで取得された画像データでない場合（Ｓ１９０４がＮｏ）は、Ｓ１９０６に進む。
【０２６１】
Ｓ１９０５では、ＣＰＵ１０１は、メイン画像に対応する画像データの動き量が所定の閾値ＴＨより大きいか否かを判定する。所定の閾値ＴＨより大きい場合（Ｓ１９０５でＹｅｓ）は、Ｓ１９０７に進み、所定の閾値ＴＨより大きくない場合（Ｓ１９０５がＮｏ）は、Ｓ１９０６に進む。
【０２６２】
Ｓ１９０６では、ＣＰＵ１０１は、メイン画像が「人物」以外のカテゴリのオブジェクトを含むか否かを判定する。「人物」以外のカテゴリのオブジェクトを含む場合（Ｓ１９０６がＹｅｓ）は、Ｓ１９０９に進み、「人物」以外のカテゴリのオブジェクトを含まない場合（Ｓ１９０６がＮｏ）は、Ｓ１９０８に進む。
【０２６３】
Ｓ１９０８では、ＣＰＵ１０１は、Ｓ１９０２にて選択されたテンプレートのうち、メイン画像に適したテンプレートを、テンプレート選択部１８０３により選択する。なおこのとき、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得された画像データでなく、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含まない。又は、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得された画像データではあるが動き量が少なく、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含まない。そのため、ＣＰＵ１０１は、まず、大きい正方形のメインスロットを有するテンプレートを選択する。そして、ＣＰＵ１０１は、選択したテンプレートのメインスロットに収まるようにメイン画像に対してトリミングを行った場合、メイン画像に含まれるオブジェクトが切れるか否かを判定する。ＣＰＵ１０１は、メイン画像に含まれるオブジェクトが切れないと判定した場合、大きい正方形のメインスロットを有するテンプレートを選択したまま、Ｓ１９１０に進む。一方、ＣＰＵ１０１は、メイン画像に含まれるオブジェクトが切れると判定した場合、メイン画像のアスペクト比と同様のアスペクト比である、大きい矩形のメインスロットを有するテンプレートを選択し、Ｓ１９１０に進む。
【０２６４】
Ｓ１９１０では、ＣＰＵ１０１は、Ｓ１９０８にて選択されたテンプレートのうち、サブ画像に適したテンプレートを、テンプレート選択部１８０４により選択する。このとき、ＣＰＵ１０１は、各サブ画像のアスペクト比と同様のアスペクト比であるサブスロットを有するテンプレートを選択しても良いし、正方形のサブスロットを有するテンプレートを選択しても良い。なお、メイン画像基準のテンプレート選択と同様に、サブ画像が「人物」以外のカテゴリのオブジェクトを含むか含まないかに応じて選択するテンプレートを変更しても良い。なお、このとき、どのサブスロットにどのサブ画像が配置されるかも特定される。
【０２６５】
Ｓ１９０９では、ＣＰＵ１０１は、Ｓ１９０２にて選択されたテンプレートのうち、メイン画像に適したテンプレートを、テンプレート選択部１８０３により選択する。なおこのとき、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得された画像データでなく、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含む。又は、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得された画像データではあるが動き量が少なく、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含む。そのため、ＣＰＵ１０１は、メイン画像のアスペクト比と同様のアスペクト比である、大きい矩形のメインスロットを有するテンプレートを選択し、Ｓ１９１１に進む。
【０２６６】
Ｓ１９１１では、ＣＰＵ１０１は、Ｓ１９０９にて選択されたテンプレートのうち、サブ画像に適したテンプレートを、テンプレート選択部１８０４により選択する。このとき、ＣＰＵ１０１は、各サブ画像のアスペクト比と同様のアスペクト比であるサブスロットを有するテンプレートを選択しても良いし、正方形のサブスロットを有するテンプレートを選択しても良い。なお、メイン画像基準のテンプレート選択と同様に、サブ画像が「人物」以外のカテゴリのオブジェクトを含むか含まないかに応じて選択するテンプレートを変更しても良い。なお、このとき、どのサブスロットにどのサブ画像が配置されるかも特定される。
【０２６７】
Ｓ１９０７では、ＣＰＵ１０１は、メイン画像が「人物」以外のカテゴリのオブジェクトを含むか否かを判定する。「人物」以外のカテゴリのオブジェクトを含む場合（Ｓ１９０７がＹｅｓ）は、Ｓ１９１３に進み、「人物」以外のカテゴリのオブジェクトを含まない場合（Ｓ１９０７がＮｏ）は、Ｓ１９１２に進む。
【０２６８】
Ｓ１９１２では、ＣＰＵ１０１は、Ｓ１９０２にて選択されたテンプレートのうち、メイン画像に適したテンプレートを、テンプレート選択部１８０３により選択する。なおこのとき、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得され、動き量が大きい画像データであり、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含まない。そのため、ＣＰＵ１０１は、まず、小さい正方形のメインスロットを有するテンプレートを選択する。そして、ＣＰＵ１０１は、選択したテンプレートのメインスロットに収まるようにメイン画像に対してトリミングを行った場合、メイン画像に含まれるオブジェクトが切れるか否かを判定する。ＣＰＵ１０１は、メイン画像に含まれるオブジェクトが切れないと判定した場合、小さい正方形のメインスロットを有するテンプレートを選択したまま、Ｓ１９１４に進む。一方、ＣＰＵ１０１は、メイン画像に含まれるオブジェクトが切れると判定した場合、メイン画像のアスペクト比と同様のアスペクト比である、小さい矩形のメインスロットを有するテンプレートを選択し、Ｓ１９１４に進む。
【０２６９】
Ｓ１９１４では、ＣＰＵ１０１は、Ｓ１９１２にて選択されたテンプレートのうち、サブ画像に適したテンプレートを、テンプレート選択部１８０４により選択する。このとき、ＣＰＵ１０１は、各サブ画像のアスペクト比と同様のアスペクト比であるサブスロットを有するテンプレートを選択しても良いし、正方形のサブスロットを有するテンプレートを選択しても良い。なお、メイン画像基準のテンプレート選択と同様に、サブ画像が「人物」以外のカテゴリのオブジェクトを含むか含まないかに応じて選択するテンプレートを変更しても良い。なお、このとき、どのサブスロットにどのサブ画像が配置されるかも特定される。
【０２７０】
Ｓ１９１３では、ＣＰＵ１０１は、Ｓ１９０２にて選択されたテンプレートのうち、メイン画像に適したテンプレートを、テンプレート選択部１８０３により選択する。なおこのとき、メイン画像に対応する画像データが、動画データからフレームが切り出されることで取得され、動き量が大きい画像データであり、且つメイン画像が「人物」以外のカテゴリのオブジェクトを含む。そのため、ＣＰＵ１０１は、メイン画像のアスペクト比と同様のアスペクト比である、小さい矩形のメインスロットを有するテンプレートを選択し、Ｓ１９１５に進む。
【０２７１】
Ｓ１９１５では、ＣＰＵ１０１は、Ｓ１９１３にて選択されたテンプレートのうち、サブ画像に適したテンプレートを、テンプレート選択部１８０４により選択する。このとき、ＣＰＵ１０１は、各サブ画像のアスペクト比と同様のアスペクト比であるサブスロットを有するテンプレートを選択しても良いし、正方形のサブスロットを有するテンプレートを選択しても良い。なお、メイン画像基準のテンプレート選択と同様に、サブ画像が「人物」以外のカテゴリのオブジェクトを含むか含まないかに応じて選択するテンプレートを変更しても良い。なお、このとき、どのサブスロットにどのサブ画像が配置されるかも特定される。
【０２７２】
このようにして、Ｓ４２５では、ＣＰＵ１０１は、レイアウト画像の作成に用いるテンプレートと、テンプレートのいずれのスロットにいずれの画像をレイアウトするかを決定する。具体的には、ＣＰＵ１０１は、選択したテンプレートに含まれる各スロットの情報と、各スロットにレイアウトされる画像に対応する画像データと、を紐づけて管理する。
【０２７３】
このように本実施形態では、ＣＰＵ１０１は、例えば「人物」以外のカテゴリのオブジェクトのように、位置情報を取得できないオブジェクトが含まれる画像を配置する場合は、当該画像とアスペクト比が同様のスロットを有するテンプレートを選択する。このような形態とすることで、トリミングにより、位置情報を取得できないオブジェクトが切れてしまうことを抑制できる。
【０２７４】
また、このように本実施形態では、ＣＰＵ１０１は、動画データからフレームを切り出すことで取得され、動き量が大きい画像データによって表わされる画像を配置する場合は、小さいスロットを有するテンプレートを選択する。このような形態とすることで、画像のブレやボケがユーザに与える視覚的な効果を抑制できる。なお、ＣＰＵ１０１は、動画データからフレームを切り出すことで取得された画像データによって表わされる画像を配置する場合は、画像データの動き量の多寡にかかわらず、小さいスロットを有するテンプレートを選択しても良い。
【０２７５】
なお、上述では、メイン画像に対応する画像データが動画データから取得された画像データか否かの判定（動画判定）やメイン画像に「人物」以外のカテゴリのオブジェクトが含まれるか否かの判定（オブジェクト判定）に基づいてテンプレートの選択を行う形態を説明した。しかしながら、本発明はこの形態に限定されない。例えば、動画判定やオブジェクト判定に基づくテンプレートの選択を行わず、アルバムのモードにのみ基づいてテンプレートの選択を行っても良い。この場合、ＣＰＵ１０１は、アルバム作成条件指定部２０１から、アルバムのモードに関する情報を取得し、アルバムのモードを特定する。そして、ＣＰＵ１０１は、テンプレート設定部２１４から取得した複数のテンプレートから、特定したモードに対応するテンプレートを選択するフィルタリング処理を行う。こうして抽出されたテンプレートが画像レイアウト部１５０２に取得されることで、選択されたテンプレートが用いられたアルバムが作成される。この場合、ＣＰＵ１０１は、特定したアルバムのモードが「人物」のモードである場合は、図１０に示すような矩形のスロットを有するテンプレート及び、図７に示すような矩形以外のスロットを有するテンプレートを抽出する。そして、ＣＰＵ１０１は、トリミングによりオブジェクトが切れないならば、矩形以外のスロットを有するテンプレートを優先して選択し、トリミングによりオブジェクトが切れるならば、矩形のスロットを有するテンプレートを優先して選択する。また、ＣＰＵ１０１は、特定したアルバムのモードが「人物」以外のモードである場合は、図１０に示すような矩形のスロットを有するテンプレートを抽出して選択する。すなわち、特定したアルバムのモードが「人物」以外のモードである場合は、メイン画像に「人物」以外のカテゴリのオブジェクトが含まれるか否かにかかわらず、矩形のスロットを有するテンプレートを選択する形態であっても良い。
【０２７６】
（他の実施形態）
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、上述した画像選択処理が、アルバムの自動レイアウト処理に用いられる形態を説明したが、例えば、印刷対象の画像データを自動でユーザに提示する提示機能等に用いられても良い。すなわち、上述した画像選択処理が、当該提示機能を実行するプログラムによって実行されても良い。また、例えば、単葉の印刷物を作成する形態に対しても本発明を適用することができる。この場合、ＣＰＵ１０１は、例えば、上述の実施形態における１つの見開きを１枚の単葉の印刷物とみなして、処理を行えばよい。また、単葉の印刷物には、一般に、１枚の画像データしかレイアウトされないため、単葉の印刷物用のテンプレートには、スロットが１つのみあるものとする。このスロットは、メインスロットとみなしてもサブスロットとみなしても良い。なお、シーン毎の印刷物の枚数を設定可能な構成であれば、ＣＰＵ１０１は、上述の実施形態における１つの見開きを設定された枚数の単葉の印刷物とみなして、処理を行っても良い。この場合、例えば１枚目の単葉の印刷物のテンプレートにあるスロットをメインスロット、２枚目以降の単葉の印刷物のテンプレートにあるスロットをサブスロットとしてみなしても良い。
【０２７７】
また、上述した実施形態では、自動レイアウト処理を実行する画像処理装置が、ローカル環境に存在する画像処理装置である形態を説明したが、例えば、ネットワークサーバ上の画像処理装置であってもよい。この場合は、ユーザが当該画像処理装置に画像データをアップロードすることで、当該画像処理装置は自動レイアウト処理を実行可能となる。
【０２７８】
上述の実施形態では、画像得点化等の評価において、点数を付すことで評価を行っていたが、この形態に限定されない。すなわち、得点を用いずに評価を行っても良く、例えば、評価が高い順に「◎」、「○」、「△」、「×」の評価を付し、付された評価によってシーン分類や画像選択等が行われるような形態であっても良い。
【０２７９】
上述の実施形態では、画像選択処理において、指定オブジェクトと指定属性の両方を参照する形態としたが、この形態に限定されない。例えば、指定属性の設定を行わない形態でも良い。その場合、例えば、Ｓ１２１１では、ＣＰＵ１０１は、指定オブジェクトを含み、且つ得点が一番高い画像データを１枚選択する。また、例えば、指定オブジェクトの設定を行わない形態でも良い。その場合、例えば、Ｓ１２１１では、ＣＰＵ１０１は、指定属性を含み、且つ得点が一番高い画像データを１枚選択する。
【０２８０】
上述の実施形態では、アルバムのモードに対応するカテゴリのオブジェクトを含む画像をレイアウト画像に配置するために、当該画像を表わす画像データの得点が高くなるように制御したり、当該オブジェクトを指定オブジェクトとして画像選択処理を実行したりした。しかしながら、この形態に限定されず、例えば、当該画像を表わす画像データの得点が高くなるようにする制御と、当該オブジェクトを指定オブジェクトとして画像選択処理を実行する制御のうちどちらかのみが実行される形態であっても良い。すなわち例えば、当該画像を表わす画像データの得点が高くなるように制御し（得点を加算し）、画像選択処理では、得点のみ（又は得点と指定属性のみ）を参照する形態とする。このような形態によっても、アルバムのモードに対応するカテゴリのオブジェクトを含む画像を表わす画像データを、画像選択処理において優先的に選択することが可能である。
【０２８１】
なお、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【符号の説明】
【０２８２】
１００  画像処理装置
１０１  ＣＰＵ
【図１】
2018097482.tif 000003
【図２】
2018097482.tif 000004
【図３】
2018097482.tif 000005
【図４】
2018097482.tif 000006
【図５】
2018097482.tif 000007
【図６】
2018097482.tif 000008
【図７】
2018097482.tif 000009
【図８】
2018097482.tif 000010
【図９】
2018097482.tif 000011
【図１０】
2018097482.tif 000012
【図１１】
2018097482.tif 000013
【図１２】
2018097482.tif 000014
【図１３】
2018097482.tif 000015
【図１４】
2018097482.tif 000016
【図１５】
2018097482.tif 000017
【図１６】
2018097482.tif 000018
【図１７】
2018097482.tif 000019
【図１８】
2018097482.tif 000020
【図１９】
2018097482.tif 000021
【図２０】
2018097482.tif 000022
【図２１】
2018097482.tif 000023