(57)【要約】      （修正有）【課題】表示されている書籍のページの動きをよりリアルに表現する。【解決手段】ページに対応する領域において行われたフリック操作におけるフリック速度に基づいて、ページの端部が基準線の位置を超えるようにページが回動する様子を示す第１アニメーション及び、ページの端部が基準線の位置を超えずにページが回動する様子を示す第２アニメーションのうちいずれかが表示部に表示されるように制御する。【選択図】図１４
2019067259.tif 000002
【特許請求の範囲】
【請求項１】
ページを表示する表示部を有する画像処理装置のコンピュータに、
前記ページに対応する領域において、操作子による基準線方向へのフリック操作が行われた場合、前記基準線を軸に前記ページが回動する様子を示すアニメーションを表示部に表示する表示ステップと、
前記ページに対応する領域において行われた前記フリック操作における前記操作子の速度であるフリック速度に基づいて、前記ページの端部が前記基準線の位置を超えるように前記ページが回動する様子を示す第１アニメーション及び、前記ページの端部が前記基準線の位置を超えずに前記ページが回動する様子を示す第２アニメーションのうちいずれかが前記表示部に表示されるように制御する制御ステップと、
を画像処理装置のコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記フリック速度が所定の値以上である場合、前記第１アニメーションが前記表示部に表示されるように制御され、前記フリック速度が前記所定の値未満である場合、前記第２アニメーションが前記表示部に表示されるように制御されることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記フリック速度に関する情報を取得する取得ステップと、
前記取得された前記フリック速度に基づいて、前記第１アニメーション及び前記第２アニメーションのいずれかが前記表示部に表示されるように制御されることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記フリック速度に関する情報を取得する取得ステップと、
前記取得されたフリック速度に基づいて、前記フリック操作によって前記ページが回動する角度に関する情報を取得する情報取得ステップと、
前記フリック操作によって前記ページが回動する角度に関する情報に基づいて、前記第１アニメーション及び前記第２アニメーションのいずれかが前記表示部に表示されるように制御されるように制御されることを特徴とする請求項１又は２に記載のプログラム。
【請求項５】
前記ページに対応する領域において前記フリック操作が行われる前に、前記ページに対応する領域において前記操作子による前記フリック操作以外の所定の操作が行われた場合、前記基準線を軸に前記ページが回動する様子を示す第３アニメーションが前記表示部に表示されるように制御する表示制御ステップを更に実行させ、
前記第３アニメーションによって前記ページが回動する角度に関する情報及び、前記フリック速度に基づいて、前記第１アニメーション及び前記第２アニメーションのいずれかが前記表示部に表示されるように制御されることを特徴とする請求項３又は４に記載のプログラム。
【請求項６】
前記フリック速度は、前記画像処理装置に搭載されているＯＳから取得されることを特徴とする請求項３乃至５のいずれか１項に記載のプログラム。
【請求項７】
前記フリック速度は、前記フリック操作が行われる前に前記操作子が停止している位置と、前記フリック操作が行われて前記操作子が前記表示部から離れた位置との間の距離と前記フリック操作において前記操作子が前記表示部に触れていた時間とによって計算される速度であることを特徴とする請求項３乃至６のいずれか１項に記載のプログラム。
【請求項８】
前記第１アニメーションが前記表示部に表示された場合、前記フリック操作によって回動した前記ページより前又は後のページが前記表示部に表示されることを特徴とする請求項１乃至７のいずれか１項に記載のプログラム。
【請求項９】
前記ページに関連付けられた情報に基づいて、前記ページに対応する領域においてフリック操作が行われた場合に表示されるアニメーションが変化することを特徴とする請求項１乃至８のいずれか１項に記載のプログラム。
【請求項１０】
前記第１アニメーションが前記表示部に表示される場合、前記ページに関連付けられた情報に基づいて、前記ページが回動する際の単位時間あたりの速度変動の度合いが、少なくとも一部の回動範囲においてそれぞれ異なる複数の前記第１アニメーションのうち、いずれが表示されるかが制御されることを特徴とする請求項１乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記第２アニメーションが前記表示部に表示される場合、前記ページに関連付けられた情報に基づいて、前記ページが回動する際の単位時間あたりの速度変動の度合いが、少なくとも一部の回動範囲においてそれぞれ異なる複数の前記第２アニメーションのうち、いずれが表示されるかが制御されることを特徴とする請求項１乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記ページに関連付けられた情報及び、前記フリック速度に基づいて、前記第１アニメーション及び前記第２アニメーションのいずれかが前記表示部に表示されるように制御されることを特徴とする請求項１乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記ページに関連付けられた情報は、前記ページの厚みに関する情報、前記ページの材質に関する情報、前記ページの種類に関する情報、前記ページのページ番号に関する情報のうち少なくとも１つであることを特徴とする請求項１０乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
前記ページに関連付けられた情報が、前記ページが第１の厚みであることに対応する情報である場合、所定のアニメーションが前記第１アニメーションとして表示され、前記ページに関連付けられた情報が、前記ページが前記第１の厚みより大きい第２の厚みであることに対応する情報である場合、前記所定のアニメーションより、前記ページが前記基準線側に回動する際の単位時間あたりの速度低下の度合いが、少なくとも前記基準線側の一部の回動範囲において大きいアニメーションが前記第１アニメーションとして表示されることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記ページに関連付けられた情報が、前記ページが第１の厚みであることに対応する情報である場合、所定のアニメーションが前記第１アニメーションとして表示され、前記ページに関連付けられた情報が、前記ページが前記第１の厚みより大きい第２の厚みであることに対応する情報である場合、前記所定のアニメーションより、前記ページが前記基準線側に対して反対側に回動する際の単位時間あたりの速度上昇の度合いが、少なくとも前記基準線側の一部の回動範囲において小さいアニメーションが前記第１アニメーションとして表示されることを特徴とする請求項１３又は１４に記載のプログラム。
【請求項１６】
前記ページは、テンプレートのスロットに配置画像が配置されたレイアウト画像であることを特徴とする請求項１乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
ユーザからの選択指示を受け付けることなく、複数のテンプレートから少なくとも１つのテンプレートを自動で選択する第１選択ステップと、
ユーザからの選択指示を受け付けることなく、複数の画像データから少なくとも１つの画像データを自動で選択する第２選択ステップと、を更に有し、
前記レイアウト画像は、選択された画像データによって表わされる配置画像が、選択されたテンプレートのスロットに配置された画像であることを特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記第２アニメーションが前記表示部に表示された後、前記フリック操作が受け付けられる前の位置に前記ページが戻る様子を示すアニメーションが表示されることを特徴とする請求項１乃至１７のいずれか１項に記載のプログラム。
【請求項１９】
前記表示部は、２枚のページによって構成される見開きを表示し、
見開きにおける各ページが、前記基準線を軸に回動することを特徴とする請求項１乃至１８のいずれか１項に記載のプログラム。
【請求項２０】
前記ページを出力するための出力操作を受け付ける受け付けステップと、
前記出力操作が受け付けられた場合、前記第ページに関する出力が行われることを特徴とする請求項１乃至１９のいずれか１項に記載のプログラム。
【請求項２１】
前記第ページに関する出力は、画像形成装置による前記ページの印刷であることを特徴とする請求項２０に記載のプログラム。
【請求項２２】
前記第ページに関する出力は、前記ページを表す画像データの前記画像処理装置の外部への送信であることを特徴とする請求項２０に記載のプログラム。
【請求項２３】
ページを表示する表示部を有する画像処理装置であって、
前記ページに対応する領域において、操作子による基準線方向へのフリック操作が行われた場合、前記基準線を軸に前記ページが回動する様子を示すアニメーションを表示部に表示する表示手段と、
前記ページに対応する領域において行われた前記フリック操作における前記操作子の速度であるフリック速度に基づいて、前記ページの端部が前記基準線の位置を超えるように前記ページが回動する様子を示す第１アニメーション及び、前記ページの端部が前記基準線の位置を超えずに前記ページが回動する様子を示す第２アニメーションのうちいずれかが前記表示部に表示されるように制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２４】
ページを表示する表示部を有する画像処理装置の制御方法であって、
前記ページに対応する領域において、操作子による基準線方向へのフリック操作が行われた場合、前記基準線を軸に前記ページが回動する様子を示すアニメーションを表示部に表示する表示ステップと、
前記ページに対応する領域において行われた前記フリック操作における前記操作子の速度であるフリック速度に基づいて、前記ページの端部が前記基準線の位置を超えるように前記ページが回動する様子を示す第１アニメーション及び、前記ページの端部が前記基準線の位置を超えずに前記ページが回動する様子を示す第２アニメーションのうちいずれかが前記表示部に表示されるように制御する制御ステップと、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータやスマートフォン等の画像処理装置が有する表示部に、アルバム等の書籍を表す画面を表示する技術が知られている。特許文献１には、フォトアルバムデータによって表されるアルバムのプレビュー画面を表示部に表示する技術が開示されている。また、表示部に表示されているアルバムのページがめくられる様子を、アニメーションによって表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−３７４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、書籍を表示部に表示する技術が普及するについて、表示されているページの動きをよりリアルに表現し、ページがめくられる様子の表示におけるユーザ満足度を高めることが要求されている。
【０００５】
そこで、本発明は、表示されているページの動きをよりリアルに表現することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のプログラムは、ページを表示する表示部を有する画像処理装置のコンピュータに、
前記ページに対応する領域において、操作子による基準線方向へのフリック操作が行われた場合、前記基準線を軸に前記ページが回動する様子を示すアニメーションを表示部に表示する表示ステップと、
前記ページに対応する領域において行われた前記フリック操作における前記操作子の速度であるフリック速度に基づいて、前記ページの端部が前記基準線の位置を超えるように前記ページが回動する様子を示す第１アニメーション及び、前記ページの端部が前記基準線の位置を超えずに前記ページが回動する様子を示す第２アニメーションのうちいずれかが前記表示部に表示されるように制御する制御ステップと、
を画像処理装置のコンピュータに実行させることを特徴とする。
【発明の効果】
【０００７】
本発明によって、表示されているページの動きをよりリアルに表現することができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムの構成を示す図である。
【図２】アルバム作成アプリケーションのソフトウェア構成を示すブロック図である。
【図３】アルバム作成アプリケーションにより表示される設定画面の図である。
【図４】アルバム作成アプリケーションにより実行される自動レイアウト処理を示すフローチャートである。
【図５】画像データの画像解析情報を管理するテーブルを示す図である。
【図６】画像データ群の分割を説明するための図である。
【図７】シーンの分類分けを説明するための図である。
【図８】メインスロットとサブスロットについての得点化を説明するための図である。
【図９】画像データの選択を説明するための図である。
【図１０】画像データのレイアウトを説明するための図である。
【図１１】画像形成装置が有するソフトウェアのモジュール構成の一例を表す図である。
【図１２】レイアウト情報を編集するための編集画面を示す図である。
【図１３】表示制御方法について説明する模式図である。
【図１４】表示制御方法について説明するフローチャートである。
【図１５】画像処理装置のハードウェアの構成を説明するブロック図である。
【図１６】ページめくりのためのアニメーションが動作している状態の表示領域の様子を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
以下の実施形態では、画像処理装置上で、アルバム作成のためのアプリケーションプログラム（以下、「アルバム作成アプリ」ともいう）を動作させ、自動レイアウトを生成するまでの手順について説明する。以下に説明する画像とは、特に断りが無い限り、静止画、動画、動画中のフレーム画像、また、ＳＮＳ（ソーシャル・ネットワーキング・サービス）サーバ上の静止画と動画と動画中のフレーム画像を含む。
【００１１】
（第１実施形態）
図１５は、本発明に係る画像処理装置１００のハードウェアの構成を説明するブロック図である。画像処理装置としては、例えば、ＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末、カメラ、プリンタ等が挙げられ、本実施形態ではＰＣとする。
【００１２】
図１５において、画像処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、ディスプレイ１０５と、キーボード１０６と、マウス１０７と、データ通信部１０８と、を備えている。これらは、データバス１０９により相互に接続されている。
【００１３】
ＣＰＵ（中央演算装置／プロセッサ）１０１は、システム制御部であり、画像処理装置１００全体を制御する。また、ＣＰＵ１０１は、本実施形態で説明する画像処理方法をプログラムに従って実行する。なお、図中のＣＰＵは１つとしたが、これに限定されず、複数備えられていてもよい。
【００１４】
ＲＯＭ１０２には、ＣＰＵ１０１により実行されるプログラムやＯＳ（オペレーティングシステム）が記憶されている。ＲＡＭ１０３は、ＣＰＵ１０１によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ＨＤＤ（ハードディスク）１０４は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。本実施形態では、ＲＡＭ１０３は、後述するアルバム作成アプリを記憶する。
【００１５】
ディスプレイ１０５（表示部）は、本実施形態のＵＩ（ユーザインターフェイス）や画像のレイアウト結果をユーザに提示する装置である。ディスプレイ１０５は、タッチセンサー機能を備えていても良い。キーボード１０６は、入力装置の１つであり、例えば、ディスプレイ１０５に表示されたＵＩ上に所定の情報を入力するのに用いられる。所定の情報とは、例えば、作成したいアルバムの見開き数やページ数等の情報である。マウス１０７は、入力装置の１つであり、例えば、ディスプレイ１０５に表示されたＵＩ上のボタンをクリックするのに用いられる。なお、例えばユーザが、ディスプレイ１０５に表示されている、アルバム作成アプリに対応するアイコンを、マウス１０７の操作によりダブルクリックすることで、アルバム作成アプリが起動する。
【００１６】
データ通信部１０８（通信部）は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、アルバム作成アプリによって作成されたデータは、データ通信部１０８を介して、画像処理装置１００に接続された不図示のプリンタやサーバに送信される。また、データ通信部１０８は、不図示のサーバやＳＮＳ（ソーシャルネットワーキングサービス）サーバ上の静止画データを受信する。なお、本実施形態では、データ通信部１０８は、ＳＮＳサーバから静止画データを受信するが、動画データも受信しても良い。
【００１７】
データバス１０９は、上述した各部（１０２〜１０８）とＣＰＵ１０１とを接続する。
【００１８】
図１１は、画像処理装置１００が有するソフトウェアのモジュール構成の一例を表す図である。図１１において、モジュール９２は、Ｅｔｈｅｒｎｅｔを制御するＥｔｈｅｒｎｅｔ制御スタックである。モジュール９１は、ＩＰ  Ｎｅｔｗｏｒｋを制御するＩＰ  Ｎｅｔｗｏｒｋ制御スタックである。モジュール９０は、ネットワーク上のデバイス探索の仕組みを提供するＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ）を制御するＷＳＤ制御スタックである。モジュール８８は、ネットワークのプラグアンドプレイを制御するＰｎＰ−Ｘ制御スタックである。尚、ＰｎＰ−Ｘとは、ネットワーク接続デバイスに対するサポートを提供する、プラグアンドプレイの一連の拡張機能としてＷｉｎｄｏｗｓ８（商標登録）のＯＳに標準搭載されている機能であるＰｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｅｘｔｅｎｓｉｏｎｓの略称である。モジュール８５は、デバイスドライバ群であり、ＯＳに標準で同梱されている標準ドライバ群８７と、ＩｎｄｅｐｅｎｄｅｎｔＨａｒｄｗａｒｅＶｅｎｄｏｒ（ＩＨＶ）から提供されるＩＨＶ製ドライバ群８６とを含んで構成される。
【００１９】
モジュール８４は、アプリケーション／ＤＤＩインタフェースであり、ＡｐｐｌｉｃａｔｉｏｎＰｒｏｇｒａｍｉｎｇＩｎｔｅｒｆａｃｅ（ＡＰＩ）、ＤｅｖｉｃｅＤｒｉｖｅｒＩｎｔｅｒｆａｃｅ（ＤＤＩ）を含んで構成される。モジュール８０は例えばフォトアルバム作成アプリケーション、モジュール１４３は例えばＷｅｂブラウザアプリケーションである。モジュール８２は、アプリケーション群であり、モジュール８０、１４３等を含んで構成される。
【００２０】
図１は、本実施形態の印刷システムを示す図である。この印刷システムには、画像処理装置１００のほかに、画像形成装置２００、ネットワーク３００、外部サーバ４００及び画像形成装置５００が含まれるものとする。
【００２１】
画像形成装置２００は、画像処理装置１００等から受け付ける印刷ジョブに基づいて、記録剤によって記録媒体上に画像を形成する画像形成処理（印刷処理）を実行する。なお、本実施形態では、画像処理装置１００が、生成したレイアウト情報を外部サーバに送信（出力）する形態を説明するが、例えば、画像処理装置１００が、生成したレイアウト情報を印刷ジョブとして画像形成装置２００に送信する形態であっても良い。この場合、レイアウト情報に基づくアルバムは、画像形成装置２００によって作成される。
【００２２】
ネットワーク３００は、画像処理装置１００及び外部サーバ４００と接続しており、両者の間における情報の伝達を行うための通信網である。なお、ネットワーク３００は、有線ネットワークであっても良いし、無線ネットワークであっても良い。
【００２３】
外部サーバ４００は、ネットワーク３００を介して画像処理装置１００から後述のレイアウト情報を受け付ける。すなわち、外部サーバ４００は、アルバムの受注・管理を司るサーバである。外部サーバ４００は、画像処理装置１００を操作するユーザによってアルバム購入手続きが行われたら、受け付けたレイアウト情報に基づくアルバムを、画像形成装置５００に画像形成処理によって作成させる。その後、画像形成装置５００によって作成されたアルバムは、アルバム購入手続きを行ったユーザに届けられる。
【００２４】
＜アルバムの自動レイアウト＞
図２は、本実施形態のアルバム作成用のアプリケーションプログラム（以下、アルバム作成アプリ）のソフトウェアブロック図である。本実施形態では、ＨＤＤ１０４に保存されているアルバム作成アプリは、ディスプレイ１０５に表示されている、アルバム作成アプリに対応するアイコンを、ユーザがマウス１０７の操作によりダブルクリックすることで起動される。また、アルバム作成アプリは、例えば、データ通信部１０８を介して外部のサーバからインストールされることで、ＨＤＤ１０４に保存される。
【００２５】
アルバム作成アプリは様々な機能を持つが、ここでは、特に自動レイアウト処理部２１９により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、静止画や動画をその内容や属性に基づいて分類及び選択することで取得された画像データによって表わされる画像が、予め用意されたテンプレートに配置された画像であるレイアウト画像を作成するための機能である。ひいては、レイアウト画像を表わすためのレイアウト情報を生成するための機能である。このようにして表示されたレイアウト画像は、ユーザがアルバム注文処理を実行することで、アルバムとして出力される。
【００２６】
図２に示すように、アルバム作成アプリは、アルバム作成条件指定部２０１と、自動レイアウト処理部２１９と、を含む。
【００２７】
アルバム作成条件指定部２０１は、例えばマウス１０７による後述のＵＩ操作に応じたアルバム作成条件の指定を受付け、自動レイアウト処理部２１９に出力する。指定される条件には、例えば処理の対象となる画像データや主人公のＩＤ、アルバムの見開き数、テンプレート情報、画像補正のＯＮ／ＯＦＦ条件、動画使用のＯＮ／ＯＦＦ条件、アルバムのモード等の指定が含まれる。なお、見開きとは、異なるシート（又はページ）に印刷された、互いに隣接する１対のページに相当する。また、本実施形態のアルバム作成アプリでは、一つの表示用ウィンドウで１つの見開きのレイアウトを作成するものとする。なお、アルバム作成条件指定部２０１は、例えば図３に示すような設定画面を表示し、当該画面に対する入力を受け付けることで、アルバム作成条件の指定を受付ける。
【００２８】
動画取得部２０２は、アルバム作成条件指定部２０１により指定された動画群（動画データ群）をＨＤＤ１０４等の記憶領域から取得する。
【００２９】
動画解析部２０３は、動画取得部２０２で取得された動画データを解析する。なお、動画解析部２０３は、動画データから切り出され、時系列順に管理されているフレームを、所定の間隔毎に抽出して解析対象とする。動画解析部２０３は、オブジェクト検出、サイズ特定、笑顔判定、目瞑り判定、ブレボケ判定、明るさ判定等の解析処理により、動画におけるどのフレームが良い画像かを特定することができる。
【００３０】
フレーム取得部２０４は、動画解析部２０３で解析された結果（評価）に基づいて、動画からフレームを切り出し、切り出したフレームを画像データとしてＨＤＤ１０４に保存する。
【００３１】
画像取得部２０５は、アルバム作成条件指定部２０１により指定された画像群（画像データ群）をＨＤＤ１０４等の記憶領域から取得する。なお、画像取得部２０５は、データ通信部１０８を介してネットワーク上のサーバやＳＮＳサーバ等の記憶領域から画像群を取得しても良い。ここでいう画像群とは、アルバム作成に利用される画像データの候補を指す。例えば、アルバム作成条件指定部２０１において、レイアウト対象となる画像データが生成された（当該画像データに対応する写真が撮影された）日時（以後、撮影日時という。）に関する条件としてＸＸ年１月１日〜ＸＸ年１２月３１日が指定される場合がある。この場合、画像取得部２０５は、ＸＸ年１月１日〜ＸＸ年１２月３１日に生成された全ての画像データを画像群として取得する。
【００３２】
記憶領域に保存されている画像データは、例えば、静止画像データや、動画データからフレームが切り出されることで取得される切り出し画像データである。静止画像データや切り出し画像データは、撮像デバイスから取得されたものである。撮像デバイスは、画像処理装置１００が備えていてもよいし、画像処理装置１００の外部の装置である外部装置（ＰＣやスマートフォン、デジタルカメラ、タブレット端末等）が備えるものであってもよい。なお、画像処理装置１００は、外部装置から画像データを取得する場合は、データ通信部１０８を介して画像データを取得する。また、画像処理装置１００は、静止画像データや切り出し画像データを、データ通信部１０８を介してネットワークやサーバから取得してもよい。ＣＰＵ１０１は、画像データに付随したデータを解析して、各画像データがどこから取得されたのかを判定する。
【００３３】
画像変換部２０６は、画像取得部２０５によって取得された画像データの画素数情報や色情報を変換する。なお、画像変換部２０６によって、どのような画素数情報や色情報の画像データへの変換が行われるかは予め決められており、その情報は、アルバム作成アプリ又はアルバム作成アプリが用いるパラメータファイルに保存されている。本実施形態では、画像取得部２０５によって取得された画像データを、画素数が短辺４２０画素、色情報がｓＲＧＢである画像データに変換する。
【００３４】
画像解析部２０７は、画像データの解析処理をする。本実施形態では、画像解析部２０７は、画像変換部２０６で変換済みの画像データの解析処理をする。具体的には、変換済みの画像データから特徴量を取得し、変換済みの画像データにおけるオブジェクト検出、顔検出、検出した顔の表情認識、検出した顔の個人認識を実行する。さらに、画像取得部２０５によって取得された変換前の画像データに付随したデータ（例えば、Ｅｘｉｆ情報）から、撮影日時情報の取得を行う。撮影日時情報として、Ｅｘｉｆ情報からの取得に限らず、画像データを作成または更新した日時の情報が用いられてもよい。また、ローカルサーバやＳＮＳサーバに画像データをアップロードまたはローカルサーバやＳＮＳサーバから画像データをダウンロードした日時の情報が用いられてもよい。これらの日時の情報も、以下では撮影日時情報として取り扱う。なお、ローカルサーバとは、ＨＤＤ１０４等の、画像処理装置１００が備える記憶領域であるものとする。
【００３５】
画像分類部２０８は、画像データ群に対して、撮影日時情報や枚数、検出した顔情報などのオブジェクト検出結果情報を使って後述のシーン分割、シーン分類を実行する。シーンとは、「旅行」や「日常」、「結婚式」等の撮影シーンのことである。シーンとは、例えば、一時期の撮影機会に生成された画像データの集まりであるともいえる。
【００３６】
主人公情報入力部２０９は、アルバム作成条件指定部２０１から指定された主人公のＩＤ（識別情報）を画像得点部２１０に入力する。
【００３７】
画像得点部２１０は、各画像データに対して、レイアウトに適した画像データが高得点になるように得点付けをする。得点付けは、画像解析部２０７で得られた情報と、画像分類部２０８で得られた情報に応じて実行される。また、他の情報が付加的に或いは代替的に用いられてもよい。本実施形態では、画像得点部２１０は、主人公情報入力部２０９から入力された主人公ＩＤが含まれる画像データの得点が高得点になるように、各画像データに対して得点付けをする。
【００３８】
見開き入力部２１１は、アルバム作成条件指定部２０１から指定されたアルバムの見開き数を見開き割当部２１２に入力する。
【００３９】
見開き割当部２１２は、画像群を分割（グルーピング）して各見開きに割り当てる。見開き割当部２１２は、入力された見開き数に応じて画像群を分割して、各見開きに画像群の一部を割り当てる。
【００４０】
画像選択部２１３は、見開き割当部２１２で各見開きに割り当てられた画像群から、画像得点部２１０で付けた得点に基づいて、テンプレートに配置される配置画像を表す画像データを選択する。
【００４１】
テンプレート設定部２１４は、アルバム作成条件指定部２０１から指定されたテンプレート情報に応じた複数のテンプレートをＨＤＤ１０４から読み込み、画像レイアウト部２１５に入力する。なお、本実施形態では、複数のテンプレートは、ＨＤＤ１０４に保存されているアルバム作成アプリに保持されているものとする。また、複数のテンプレートには、例えば、テンプレート全体のサイズに関する情報や、テンプレートが備えるスロットの個数、サイズ、位置に関する情報等が含まれる。
【００４２】
画像レイアウト部２１５は、見開きのレイアウトを決定する。具体的には、テンプレート設定部２１４により入力された複数のテンプレートから画像選択部２１３で選択した画像データに適したテンプレートを選択し、各画像の配置位置を決定する。これにより、見開きのレイアウトが決定される。レイアウト情報出力部２１８から出力される画像データは、例えば図１２に示すような形式でディスプレイ１０５に表示される。
【００４３】
レイアウト情報出力部２１８は、画像レイアウト部２１５が決定したレイアウトに従って、ディスプレイ１０５にレイアウト画像を表示するためのレイアウト情報を出力する。レイアウト画像は、例えば、選択されたテンプレートに画像選択部２１３により選択された画像データが表わす配置画像が配置された画像であり、レイアウト情報は、当該画像を表わすビットマップデータである。
【００４４】
画像補正部２１７は、覆い焼き補正（輝度補正）、赤目補正、コントラスト補正等の各補正処理を実行する。補正条件入力部２１６は、アルバム作成条件指定部２０１から指定された画像補正のＯＮ／ＯＦＦ条件を画像補正部２１７に入力する。
【００４５】
本実施形態に係るアルバム作成アプリが、画像処理装置１００にインストールされると画像処理装置１００上で動作するＯＳによりディスプレイ１０５に表示されるトップ画面（デスクトップ）上に起動アイコンが生成される。そして、ユーザが起動アイコンをマウス１０７の操作によりダブルクリックすると、ＨＤＤ１０４に保存されているアルバム作成アプリのプログラムがＲＡＭ１０３にロードされる。そして、ＲＡＭ１０３にロードされたプログラムがＣＰＵ１０１によって実行されて、アルバム作成アプリケーションが起動する。
【００４６】
図３は、起動したアルバム作成アプリが提供するＵＩ構成画面３０１の一例を示す図である。ＵＩ構成画面３０１は、ディスプレイ１０５に表示される。ユーザがＵＩ構成画面３０１を介して、後述するアルバムの作成条件を設定することで、アルバム作成条件指定部２０１は、ユーザから指定される設定内容を取得する。ＵＩ構成画面３０１上のパスボックス３０２は、アルバム作成の対象となる画像・動画群のＨＤＤ１０４中の保存場所（パス）を示す。フォルダ選択ボタン３０３は、ユーザによるマウス１０７の操作によりクリックされることより、アルバム作成の対象とする画像・動画群を含むフォルダをツリー構成でユーザが選択可能に表示する。そして、ユーザにより選択された画像・動画群を含むフォルダパスがパスボックス３０２に表示される。
【００４７】
主人公指定アイコン３０４は、ユーザが主人公を指定するためのアイコンであり、人物の顔画像がアイコンとして表示される。そして、ユーザ操作によって選択されたアイコンに対応する人物が、作成対象のアルバムの主人公として設定される。また、主人公指定アイコン３０４は、解析対象の画像データが表わす画像に写った人物から中心人物である主人公を特定するために用いられる。主人公指定アイコン３０４は、例えば顔データベースに登録された人物の顔画像のうち、ユーザによって選択された人物の顔画像や後述の方法で決定された人物の顔画像である。なお、主人公は図４に示す手順で自動設定されることもできる。
【００４８】
見開き数ボックス３０５は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード１０６を介して見開き数ボックス３０５に直接数字を入力するか、マウス１０７を用いてリストから見開き数ボックスに数字を入力する。
【００４９】
テンプレート指定アイコン３０６は、テンプレートのテイスト（ポップ調やシック調等）別にイラスト画像を表示する。そして、ユーザ操作によって選択されたアイコンに対応するテンプレートが、作成対象のアルバムに用いられるテンプレートとして設定される。本実施形態では、テンプレートは、画像データを配置するための画像配置枠（スロット）を有する。そして、テンプレートが有するスロットに、画像データが埋め込まれることで、１つのレイアウト画像が完成する。
【００５０】
モード指定部３０７は、作成対象のアルバムのモードに対応するアイコンである。なお、アルバムのモードとは、所定のオブジェクトを含む画像を優先してテンプレートにレイアウトするためのモードであり、各モードのアルバムには、各モードに応じたオブジェクトがより多く配置されることになる。本実施形態では、「人物」、「動物」、「料理」の３つのモードがある。なお、アルバムのモードは、例えば、アルバムのテーマと言い換えることができる。例えば、アルバムのモードとして「動物」が選択された場合は、動物を含む画像が優先されてテンプレートにレイアウトされる。なお、上述の３つ以外のオブジェクトが写りこんでいる画像を表わす画像データを優先してテンプレートにレイアウトするためのモードがあっても良い。また、同時に複数のモードが選択されても良い。その場合、選択された複数のモードに対応する複数のオブジェクトの少なくとも１つを含む画像を優先してテンプレートにレイアウトする。そして、選択されたアイコンに対応するモードが、作成対象のアルバムのモードとして設定される。
【００５１】
なお、アルバムのモードは上述の３つに限定されず、例えば、「建物」、「乗り物」、「花」等、他のモードがあっても良い。
【００５２】
チェックボックス３０８は、ユーザからの画像補正のＯＮ／ＯＦＦの設定を受け付ける。ＯＫボタン３０９は、設定が完了したことをユーザから受け付けるためのボタンである。ＯＫボタン３０９がユーザによって押下されると、アルバム作成条件指定部２０１は、自動レイアウト処理部２１９に、画面３０１上で設定されている各設定情報を、各設定情報に対応する各モジュールに出力する。
【００５３】
リセットボタン３１０は、ＵＩ構成画面３０１上の各設定情報をリセットするためのボタンである。
【００５４】
なお、ＵＩ構成画面３０１上では、上述した設定以外の設定を実行可能であっても良い。例えば、動画に関する設定や、画像・動画データの取得先の設定等を実行可能であっても良い。
【００５５】
サーバ名ボックスは、アルバム作成に利用される画像群を含むサーバ名やＳＮＳ名を示す。ログイン画面を介したユーザの操作により、指定されたサーバやＳＮＳへのログインが完了すると、ＣＰＵ１０１は、指定されたサーバやＳＮＳからの画像データの取得が可能となる。
【００５６】
動画使用チェックボックスは、パスボックス３０２に指定のフォルダや、サーバ名ボックスに指定のサーバやＳＮＳ上にある動画をアルバム作成に利用するか否かの設定をユーザから受け付ける。
【００５７】
対象期間ボックスは、アルバム作成の対象となる画像群や動画群の撮影日時期間の条件の設定をユーザから受け付ける。
【００５８】
なお、図３に示す画面には、例えば、入力されている設定で生成されるレイアウト情報によって表わされるアルバムの完成予想図等を表わす領域が含まれていても良い。
【００５９】
図４は、本実施形態に係るアルバム作成アプリにより実行される自動レイアウト処理を示すフローチャートである。図４に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。図４を参照しながら、自動レイアウトの処理を説明する。以下に示す通り、本実施形態では、アルバムを作成する際に、アルバムを作成するための画像群を撮影時間に応じて分割し、分割して得られた各サブ画像群からページに配置する画像を選択する。また、図４に示すフローチャートは、例えば、「Ｃｒｅａｔｅ  Ａｌｂｕｍ」ボタン１２１８が選択された場合に開始される。
【００６０】
まず、Ｓ４０１では、ＣＰＵ１０１は、アルバム作成条件を設定する。具体的には例えば、図３に示す画面を介して、ユーザからアルバム作成条件の設定を受け付ける。
【００６１】
Ｓ４０２では、ＣＰＵ１０１は、動画取得部２０２によって、検索対象の記憶領域に含まれる動画データを取得する。
【００６２】
Ｓ４０３では、ＣＰＵ１０１は、動画解析部２０３によって、Ｓ４０２で取得した動画データの解析を行う。
【００６３】
Ｓ４０４では、ＣＰＵ１０１は、フレーム取得部２０４によって、Ｓ４０３で解析した動画データからフレームを切り出して、切り出したフレームを画像データとしてＨＤＤ１０４に保存する。
【００６４】
Ｓ４０５では、ＣＰＵ１０１は、検索対象の記憶領域に含まれる動画データ全てに対して、Ｓ４０２〜Ｓ４０４の処理が終了したか否かを判定する。終了していない場合（Ｓ４０５でＮｏ）、Ｓ４０２に戻り、まだ処理の対象となっていない動画データが取得される。終了している場合（Ｓ４０５でＹｅｓ）はＳ４０６に移行する。
【００６５】
Ｓ４０６では、ＣＰＵ１０１は、画像取得部２０５により、検索対象の記憶領域に含まれる画像データを取得する。
【００６６】
Ｓ４０７では、ＣＰＵ１０１は、画像変換部２０６によって画像データの変換を行う。
【００６７】
Ｓ４０８では、ＣＰＵ１０１は、画像解析部２０７によって、Ｓ４０７で変換済みの画像データから特徴量を取得する。特徴量としては、例えば、ピントが挙げられる。
【００６８】
Ｓ４０９では、ＣＰＵ１０１は、画像解析部２０７によって、Ｓ４０７で変換された画像データに対してオブジェクト検出処理を実行する。まず、ＣＰＵ１０１は、Ｓ４０７で変換された画像データが表す画像から人物の顔を検出する。また、ＣＰＵ１０１は、顔画像を抽出すると共に、検出した顔画像の位置の左上座標値と右下座標値を取得する。この２種類の座標を持つことにより、ＣＰＵ１０１は、顔画像の位置と顔画像のサイズを取得することが可能となる。なお、ＣＰＵ１０１は、Ａｄａｂｏｏｓｔを用いて顔検出の処理を実行することで、検出したオブジェクトの信頼度の情報も取得することができる。信頼度の詳細については後述する。また、Ｓ４０９では、ＣＰＵ１０１は、なお、顔に限らず、犬や猫等の動物、花、料理、建物、置物、乗り物等のオブジェクトを検出対象としてＡｄａｂｏｏｓｔによって強識別器を作成しても良い。これにより、ＣＰＵ１０１は、顔以外のオブジェクトも検出することが可能となる。本実施形態では、Ｓ４０９では、ＣＰＵ１０１は、顔を検出する処理だけでなく、動物と料理を検出する処理を実行する。
【００６９】
Ｓ４１０では、ＣＰＵ１０１は、画像解析部２０７により個人認識処理を実行する。ＣＰＵ１０１は、類似性が閾値以上であり且つ最も類似性が高い代表顔画像に対応する人物を、Ｓ４０９で抽出した顔画像に対応する人物として特定する。なお、ＣＰＵ１０１は、Ｓ４０９で抽出した顔画像と、顔辞書データベースに保存されている全ての代表顔画像との類似性が閾値未満の場合は、抽出した顔画像に新規の個人ＩＤを割り振って、新規の人物として顔辞書データベースに登録する。
【００７０】
Ｓ４０８からＳ４１０で取得された、各画像データの画像解析情報５００は、各画像データを識別するための画像ＩＤ５０１それぞれに紐づけされてＲＡＭ１０３やＨＤＤ１０４等の記憶領域に記憶される。例えば、図５に示すように、Ｓ４０８で取得された撮影日時情報５０２とピント判別結果５０４、Ｓ４０９で検出された顔画像の数５０６と位置情報５０７がテーブル形式で記憶される。
【００７１】
画像属性５０３は、各画像データの属性を表す。例えば、ローカルサーバから取得された静止画データである画像データは、「静止画」の属性となる。また、例えば、ローカルサーバから取得された動画データから切り出されて保存された画像データは、「動画」の属性となる。また、例えば、ＳＮＳサーバから取得された画像データは、「ＳＮＳ」の属性となる。
【００７２】
オブジェクト分類５０５は、各画像データが表す画像に含まれるオブジェクトのカテゴリ（種類）及び、カテゴリの信頼度を示す。
【００７３】
本実施形態では、「人物」、「動物」、「料理」の３カテゴリ（種類）のオブジェクトが検出されるものとし、オブジェクト分類５０５には、各画像データが表す画像において検出されたオブジェクトのカテゴリを示す情報が格納されている。すなわち、オブジェクト分類５０５は、各画像データが表す画像が、いずれのカテゴリのオブジェクトを含むのかを示す情報である。なお、当該情報は、例えばフラグによって管理されていても良い。また、上述したように、検出されるオブジェクトは「人物」、「動物」、「料理」の３カテゴリに限定されないため、オブジェクト分類５０５には例えば、「花」、「建物」、「置物」、「乗り物」等のカテゴリを示す情報が格納されても良い。
【００７４】
カテゴリの信頼度とは、画像データが表す画像に含まれるオブジェクトが、何のカテゴリである可能性が高いかを示す情報であり、信頼度が高いカテゴリほど、画像データが表す画像に含まれるオブジェクトのカテゴリである可能性が高いことになる。
【００７５】
Ｓ４１１では、ＣＰＵ１０１は、検索対象の記憶領域に含まれる画像データ全てに対してＳ４０７からＳ４１０の処理が終了したか否かを判定する。
【００７６】
Ｓ４１２では、ＣＰＵ１０１は、画像分類部２０８によってシーン分割をする。シーン分割とは、Ｓ４０１〜Ｓ４１１にて得られた全画像データを、シーン毎に分割して、複数の画像群として管理することを指す。なお、以下の説明において、全画像データ（メイン画像群）が分割されて得られる各画像群を、サブ画像群と言う。撮像画像データのグループ分けの一例を図６（Ａ）に示す。図６（Ａ）〜（Ｃ）において横軸は撮像日時（左側に向かうほど古く、右側に向かうほど新しい）、縦軸は撮像画像データの数を示す。図６（Ａ）では、撮像画像データ群をグループ６０１〜６０８の８個のサブ画像群（グループ）に分割している。図６（Ａ）において矢印はグループの境界を示している。
【００７７】
Ｓ４１３では、ＣＰＵ１０１は、画像分類部２０８により、シーン分類をする。具体的には、ＣＰＵ１０１は、Ｓ４１２でシーン分割されることで得られたサブ画像群をシーンの種類毎に得点化して、一番得点が高いシーンの種類に、当該サブ画像群を分類する。なお、以下の説明において、Ｓ４１３における得点化をシーン分類得点化という。本実施形態では、シーンの種類として、「旅行」、「日常」、「セレモニー」があるものとし、サブ画像群をこれらのシーンのいずれかに分類する。なお、シーン分類得点化には、シーンの各種類に対応する特徴量の情報が格納されたシーン分類テーブルが利用される。
【００７８】
本実施形態では、シーン分類テーブルとして、図７に示すテーブル７００が利用されるものとする。テーブル７００では、シーンＩＤ７０１に対応付けて、撮影期間７０２、撮影枚数７０３、撮影人数７０４それぞれの平均値と標準偏差とが登録されている。
【００７９】
Ｓ４１４では、ＣＰＵ１０１は、Ｓ４１２で取得された全サブ画像群に対してＳ４１３のシーン分類が終了したか否かを判定する。終了していない場合（Ｓ４１４でＮｏ）、Ｓ４１３に戻り、まだシーン分類の対象となっていないサブ画像群に対してシーン分類を行う。
【００８０】
Ｓ４１５では、ＣＰＵ１０１は、画像得点部２１０によって主人公設定をする。主人公設定はユーザが指定した画像群に対して実行され、自動と手動の２種類の設定方法のうちいずれかにより行われる。
【００８１】
Ｓ４１６では、ＣＰＵ１０１は、画像得点部２１０により、画像得点化をする。Ｓ４１６における画像得点化とは、画像データ毎に後述の観点で評価した得点を付与する（スコアリング）ことであり、後述の、テンプレートに配置する画像を表す画像データの選択時に参照される。ここで、図８及び図１０を用いて、得点化方法について説明する。
【００８２】
図１０は、画像データのレイアウトに使うテンプレート群を示している。テンプレート群に含まれている複数のテンプレートのそれぞれが、各見開きに対応している。テンプレート１００１は、１枚のテンプレートであり、メインスロット１００２はメインスロットを示し、サブスロット１００３と１００４とはサブスロットを示す。メインスロット１００２とは、テンプレート１００１内でメインとなるスロット（画像をレイアウト（配置）する枠）であり、サブスロット１００３と１００４よりもサイズが大きい。Ｓ４１６では、ＣＰＵ１０１は、画像得点化処理として、画像データが属する種類のシーンに対応するメインスロット用の得点とサブスロット用の得点の両方を画像データに付与する処理を行う。
【００８３】
画像得点化においては、メインスロットとサブスロットとに採用されるべき画像の特徴量の情報がシーンの種類毎に格納されたスロット特徴テーブルが利用される。これにより、メインスロット用とサブスロット用の両方に関する得点化が画像データについて実行される。本実施形態では、更に、ＣＰＵ１０１は、上述のようにして算出された得点に対して、アルバム作成条件指定部２０１で指定されたモードに基づいて、点数を加算する。
【００８４】
なお、ＣＰＵ１０１は、画像得点化を、ユーザが指定した画像データ群における各画像データについて行う。画像得点化によって付加された得点が後段のＳ４２３での画像選択処理における選択基準となる。このようにすることで、ＣＰＵ１０１は後述の画像選択処理において、アルバムのモードに対応するカテゴリのオブジェクトが含まれる画像を表わす画像データを、当該オブジェクトが含まれない画像を表わす画像データより優先して選択することができる。
【００８５】
図８（Ｂ）は、レイアウト得点化による得点結果の一例を示している。例えば、画像ＩＤ１は、メインスロット用として２０点が付与され、画像ＩＤ２は、メインスロット用として４５点が付与されている。これは、つまり、メインスロット用としては、画像ＩＤ２の方がユーザの判断基準により近いということを表している。
【００８６】
Ｓ４１７では、ＣＰＵ１０１は、画像取得部２０５により取得された全ての画像データに対してＳ４１６の画像得点化が終了したか否かを判定する。終了していない場合（Ｓ４１７でＮｏ）、Ｓ４１６に戻り、まだ処理の対象となっていない画像データに対して画像得点化が実行される。
【００８７】
Ｓ４１８では、ＣＰＵ１０１は、Ｓ４１２のシーン分割により得られたシーン数（サブ画像群の数）が見開き数入力部２１１により入力された見開き数（見開き数ボックス３０５に入力されている見開き数）と同じか否かを判定する。
【００８８】
Ｓ４１９では、ＣＰＵ１０１は、Ｓ４１２のシーン分割により得られたシーン数が見開き数入力部２１１により入力された見開き数より少ないか否かを、見開き割当部２１２により判定する。
【００８９】
Ｓ４２０では、ＣＰＵ１０１は、見開き割当部２１２により、サブシーン分割をする。サブシーン分割とは、シーン分割数＜見開き数の場合に、シーン分割により得られた各シーンを更に細分割することをいう。
【００９０】
Ｓ４２１では、ＣＰＵ１０１は、見開き割当部２１２によりシーン統合をする。シーン統合とは、シーン分割数＞アルバムの見開き数の場合、分割されたシーン（サブ画像群）を統合することを表す。具体的には、ＣＰＵ１０１は、シーン数と見開き数が一致するように、シーン統合をする。ここでは、図６（Ａ）のようにシーン分割数が８であり、それに対して指定見開き数が６の場合を例として説明する。図６（Ｃ）は図６（Ａ）をシーン統合した結果である。破線の箇所の前後のシーンを統合したことで、分割数を６にしている。
【００９１】
Ｓ４２２では、ＣＰＵ１０１は、見開き割当部２１２により見開き割当をする。Ｓ４１８〜Ｓ４２１によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、撮影日時が先頭のサブ画像群から見開きの先頭に割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。
【００９２】
Ｓ４２３では、ＣＰＵ１０１は、画像選択部２１３により画像選択を実行する。ここでは、ある見開きに割り当てられた分割画像データ群から画像データを４枚選択する例を、図９を参照しながら説明する。なお、見開きとは、２ページ分の領域であるが、最初の見開き及び最後の見開きは、１ページ分の領域となる。
【００９３】
図９（Ａ）は見開きに割り当てられた分割画像データ群のうち、撮影日時が一番早い画像データと一番遅い画像データとの撮影日時の時間差（分割撮影期間）、言い換えれば、分割画像データ群の撮影期間を示している。なお、ここでは、画像データの選択を、メインスロット、サブスロットの順で行う。ここでは、見開きに対応するテンプレートには１枚のメインスロット１００２が含まれるものとする。そのため、１枚目に選択される画像データは、メインスロット用の画像データである。ＣＰＵ１０１は、メインスロット用の画像データとして、図９（Ｂ）に示す分割撮影期間に対応する画像データのうち、Ｓ４１６で付加したメインスロット用の得点が最高点の画像データ（１）を選択する。
【００９４】
２枚目以降に選択される画像データは、サブスロット用の画像データである。２枚目以降の画像データの選択は分割撮影期間の一部に集中しないように、以下説明するような方法により行われる。まず、ＣＰＵ１０１は、図９（Ｃ）に示すように、分割撮影期間を２分割する。次にＣＰＵ１０１は、図９（Ｄ）に示すように、１枚目の画像データが選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像データから２枚目の画像データを選択する。なお、２枚目の画像データとしては、１枚目の画像データが選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ（２）を選択する。次にＣＰＵ１０１は、図９（Ｅ）に示すように図９（Ｄ）に示す各分割撮影期間を２分割する。そして、ＣＰＵ１０１は、図９（Ｆ）に示すように１枚目の画像データと２枚目の画像データがいずれも選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像データから３枚目の画像データを選択する。なお、３枚目の画像データとしては、１枚目の画像データと２枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データ（３）を選択する。そして、４枚目の画像データとしては、１枚目、２枚目及び３枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像データのうちサブスロット用の得点が最高点の画像データを選択する。
【００９５】
次に、１枚目、２枚目及び３枚目の画像データがいずれも選ばれていない分割撮影期間に生成された画像が存在せず、当該分割撮影期間に生成された画像データから４枚目の画像データを選択できない例を説明する。ここで、図９（Ｇ）に示すように、まだ画像データが選ばれていない分割撮影期間（図中、斜線で示している期間）に生成された画像データは存在しないものとする。その場合、ＣＰＵ１０１は、図９（Ｈ）に示すように各分割撮影期間をさらに２分割する。次にＣＰＵ１０１は、図９（Ｉ）に示すように、期間内に生成された画像データがないと認識された分割撮影期間以外で、且つ未だ画像データが選ばれていない分割撮影期間（図中、実線で示している期間）に生成された画像から４枚目の画像データを選択する。なお、ＣＰＵ１０１は、４枚目の画像データとしては、当該分割撮影期間に生成された画像データのうちサブスロット用の最高点の画像データ（４）を選択する。
【００９６】
Ｓ４２４では、ＣＰＵ１０１は、テンプレート設定部２１４により、アルバム作成条件指定部２０１から指定されたテンプレート情報に応じた複数のテンプレートを取得する。
【００９７】
Ｓ４２５では、ＣＰＵ１０１は、画像レイアウト部２１５により、処理対象の見開きの画像レイアウトを決定する。
【００９８】
Ｓ４２６では、ＣＰＵ１０１は、画像補正部２１７により画像補正をする。
【００９９】
Ｓ４２７では、ＣＰＵ１０１は、レイアウト情報出力部２１８によりレイアウト情報を作成する。具体的には、ＣＰＵ１０１は、Ｓ４２５で選択されたテンプレートの各スロットに、Ｓ４２６の画像補正が実行された、各スロットに対応する画像データを紐づけて管理する。なお、ここで用いる画像は、Ｓ４０７で生成した解析画像であり、Ｓ４０８〜１８で用いた画像とは異なる画像である。そして、ＣＰＵ１０１は、テンプレートに画像をレイアウトしたビットマップデータを生成する。このとき、ＣＰＵ１０１は、スロットのサイズ情報に合わせてレイアウトする画像を変倍又は等倍してレイアウトする。
【０１００】
Ｓ４２８はＳ４２３〜Ｓ４２７の処理が全ての見開きに対して終了したか否かを判定する。終了していない場合（Ｓ４２８でＮｏ）はＳ４２３に戻り、未だ処理対象となっていない見開きに対して、Ｓ４２３〜Ｓ４２７の処理を行う。
【０１０１】
自動レイアウト処理が終了されると、ＣＰＵ１０１は、作成したレイアウト情報に基づき、テンプレートに画像が配置されたレイアウト画像をディスプレイ１０５に表示する。なお、このとき、ＣＰＵ１０１は、１つのアルバムを作成するための複数のレイアウト画像を表示しても良い。また、ＣＰＵ１０１は、作成したレイアウト情報を画像形成装置２００等のプリンタに送信し、レイアウト画像を印刷しても良い。レイアウト画像が印刷されることにより、アルバムが作成される。
【０１０２】
なお、上述の自動レイアウト処理では、アルバム作成アプリによって自動で（ユーザから選択指示を受け付けることなく）テンプレートや画像データが選択されて、レイアウト画像が生成されていた。しかし、レイアウト情報によって表わされる画像は、テンプレート及び画像データによって表わされる画像が含まれるものに限られない。これは、本実施形態ではレイアウト情報は、アルバムを作成するために用いられるものだが、アルバムには例えば、見返しや遊び紙、扉、奥付と呼ばれる、画像データによって表わされる画像が一般に印刷されない領域も含まれるためである。本実施形態ではレイアウト情報は、見返しや遊び紙、扉、奥付に対応する画像をも表わす。これらの画像を表わすためのデータは、上述のような自動レイアウト処理によっては生成されないため、予め見返しや遊び紙、扉、奥付に対応する画像用として作成されたデータが、レイアウト情報にいずれかのタイミングで含まれるものとする。
【０１０３】
なお、本実施形態において、自動レイアウト処理の詳細は上述の形態に限定されない。例えば、アルバムに使用されるテンプレートの選択や、テンプレートに配置される画像を表わす画像データの選択の方法は、上述の形態に限定されない。少なくとも、アルバムに使用されるテンプレートの選択や、テンプレートに配置される画像を表わす画像データの選択等をユーザが実行せずに、レイアウト情報が作成される形態であれば良い。
【０１０４】
＜アルバムの編集＞
ＣＰＵ１０１は、上述のようにしてレイアウト情報を作成した後、作成したレイアウト情報によって表わされるアルバムの編集を受け付けるための画面を表示する。なお、この画面においては、ユーザは、自動レイアウト処理によって作成されたレイアウト情報によって表わされるアルバムの内容を確認することができる。以後このような画面を編集画面という。本実施形態では、編集画面には、作成したレイアウト情報によって表わされるアルバムが有する複数の見開きのうち１つが表示され、ユーザ操作に応じて、表示される見開きが切り替えられる。なおこのとき、編集画面には、見開き単位でなく、ページ単位でアルバムが表示されても良い。また、自動レイアウト処理が終了した直後に表示される編集画面において表示される見開きは特に限定されず、例えば、複数の見開きのうち一番初めの見開きであっても良いし、後述の重要度が一番高い見開きであっても良い。本実施形態では、自動レイアウト処理が終了した直後に表示される編集画面において表示される見開きは、複数の見開きのうち一番初めの見開き（見開き名が「表紙」である見開き）であるものとする。
【０１０５】
図１２に編集画面の一例を示す。表示領域１２０１は、１つの見開きを表わしている。ここで、１つの見開きとは、アルバムにおいてそれぞれ対向する２ページ分の領域を指す。本実施形態では、１つの見開きに１つのテンプレートが対応しているため、表示領域１２０１には、１つのテンプレートと、それに配置された画像とが表示されることになる。なお、表紙（オモテ表紙）と裏表紙の関係は、上述の見開きの定義に該当しないが、本実施形態では、表示と裏表紙を１つの見開きとみなし、表示領域１２０１は、表紙と裏表紙とを並行して表示する。また、表示領域１２０１は、１つの見開きを表わす形態に限定されず、例えば、１ページを表わす形態であっても良い。また、表示領域１２０１は、１つの見開きを表わす状態と、１ページを表わす状態とを切り替えても良い。この場合例えば、表示領域１２０１は、表紙や裏表紙については、１ページを表わす状態で表示し、本身については、１つの見開きを表わす状態で表示する。
【０１０６】
スロット１２０９は、表示領域１２０１に表示されている見開きが有するスロットである。また、テキストボックス１２１０は、表示領域１２０１に表示されている見開きが有する領域であり、テキストが入力可能な領域である。
【０１０７】
サムネイル領域１２０２は、アルバムの各見開きに対応するサムネイルを一覧で表示する領域である。ユーザによって、サムネイルが選択された場合、選択されたサムネイルに対応する見開きが、表示領域１２０１に表示される。すなわち、ユーザは、サムネイルを選択することによって、選択したサムネイルに対応する見開きを閲覧することができる。
【０１０８】
また、アイコン１２０３は、サムネイルに対応する見開きが未閲覧であることを示すアイコンである。なお、図１２においては、アイコン１２０３はチェックマークになっているが、この形態に限定されず、例えば丸のマーク等であっても良い。
【０１０９】
見開き送りボタン１２０４、１２０５は、表示領域１２０１に表示されている見開きを切り替えるためのボタンである。見開き送りボタン１２０４が押下された場合、そのときに表示領域１２０１に表示されていた見開きの前の見開きが表示される。また、見開き送りボタン１２０５が押下された場合、そのときに表示領域１２０１に表示されていた見開きの後ろの見開きが表示される。このように、サムネイル領域１２０２上のサムネイルを選択する方法でなく、これらのボタンを操作することでも、ユーザは、表示領域１２０１に表示される見開きを切り替えることが可能である。
【０１１０】
アルバム編集ボタン１２０６は、アルバム全体に関する設定を変更するためのボタンである。なお、アルバム全体とは、アルバムに含まれる全ての見開きやページを指す。すなわち、ユーザは、アルバム編集ボタン１２０６を押下することでアルバム全体に関する編集・変更を一括で行うことができる。なお、アルバム編集ボタン１２０６によって必ずしもアルバムに含まれる全ての見開きやページに関する設定変更が行われなくとも良く、少なくとも１以上の見開きやページに関する設定変更が行われれば良い。
【０１１１】
見開き編集ボタン１２０７は、表示領域１２０１に表示されている見開きに関する設定を変更するためのボタンである。具体的にはたとえば、見開き編集ボタン１２０７は、見開きに対応するテンプレートや、見開きに含まれる画像、見開きの重要度の変更や、テキストを追加・入力するためのボタンである。なお、表示領域１２０１に表示されている見開きに関する設定変更は、例えば、スロット１２０９やテキストボックス１２１０を直接操作することでも実行可能である。
【０１１２】
アルバム注文ボタン１２０８は、アルバムを注文するためのボタンである。アルバム注文ボタン１２０８が押下された（出力操作が実行された）場合、このときの設定のレイアウト情報が外部サーバ４００に送信され（アップロード）、当該レイアウト情報に基づいてアルバムが作成されることになる。
【０１１３】
なお、本実施形態では、ユーザは、表示領域１２０１に対しフリック操作を行うことで、表示領域１２０１に表示されている見開きを、隣の見開きに変更することができる。さらに、本実施形態では、ユーザによるフリック操作が行われると、あたかもアルバムのページがめくられるようなアニメーションが動作して、表示領域１２０１に表示されている見開きが変更される。なお、フリック操作とは、指等の操作子でタッチパネルに触れた後、タッチパネルに触れている操作子を一方の方向にはじくようにはらう操作である。
【０１１４】
例えば、表示領域１２０１の右側の領域において、左方向のフリック操作が行われた場合、表示領域１２０１に表示されている見開きの右側のページが、見開きを２分割する中心線を支点として左側にめくれるようなアニメーションが動作する。当該アニメーションが動作している状態の表示領域１２０１の様子を、図１６に示す。図１６に示すように、ページがめくれることにより、次の見開きが表示領域１２０１に表示される。また、例えば、表示領域１２０１の左側の領域において、右方向のフリック操作が行われた場合、表示領域１２０１に表示されている見開きの左側のページが、見開きを２分割する中心線を支点として右側にめくれるようなアニメーションが動作する。これにより、前の見開きが表示領域１２０１に表示される。
【０１１５】
ここで、実際のアルバムのページがめくられる際のページの動きについて考える。ユーザは、実際のアルバムのページをめくる際にも、フリック操作のように、ページに接している指を一方の方向に弾くようにはらう操作をする。このとき、実際のアルバムのページがめくられる際のページの動きは、指がはらわれるスピードや、ページにおける指が接している位置等によって異なる。また、例えば、実際のアルバムのページがめくられる際のページの動きは、めくられるページの材質や硬度によって異なる。
【０１１６】
本実施形態は、表示部に表示されているページがめくれる際のアニメーションにおいて、実際にページがめくれる際のページの動きをよりリアルに（実際の動きに近いように）表現し、ユーザの満足度を高めることを目的とする。
【０１１７】
＜ページめくり＞
図１３は、表示領域１２０１に表示されている見開きのページがめくられる際の見開きの状態を、模式的に示した断面図である。Ｘ＝０の位置が、見開きを２分割する中心線（綴じ部）の位置である。すなわち、Ｘ＝０より右側が見開きにおける右側のページであり、Ｘ＝０より左側が見開きにおける左側のページである。模式図において各ページは、Ｘ＝０を支点として、Ｙ方向上側に回動する。図１３（１）は、表示領域１２０１に対して操作子が触れていない状態における模式図であり、見開きが完全に開かれた状態で、水平な台に置かれている状態を示している。
【０１１８】
そして、図１３（１）に示す状態で、操作子が、表示領域１２０１におけるＸ＝Ｘ１の位置に触れたとする。その場合、本実施形態では、操作子が触れられたページの端部のＸ方向における位置が、操作子が触れた位置まで移動するように、ページが回動する。ページが回動した後の状態を示す図が図１３（２）である。θ１は、水平軸と回動したページとがなす角の角度である。なお、図１３（２）の状態は、例えば、右側のページにおけるＸ＝Ｘ１より右側や左側の位置に操作子が触れた後、タッチパネルから離れずに操作子がＸ＝Ｘ１の位置まで移動した（ドラッグした）場合の状態でもある。図１３（２）の状態から、例えば、さらに操作子がタッチパネルから離れずに移動した（ドラッグした）場合、操作子が触れられたページの端部のＸ方向における位置が、操作子が触れた位置まで移動するように、ページがさらに回動する。
【０１１９】
なお、本実施形態では、上述したように、操作子が触れられたページの端部のＸ方向における位置が、操作子が触れた位置まで移動するように、ページが回動するものとしたが、この形態に限定されない。例えば、操作子がページに触れた場合、操作子が触れた位置によらずに、操作子が触れられたページの端部のＸ方向における位置が一定の位置まで移動するようにページが回動する形態であっても良い。また、操作子がドラッグしたことにより回動するページの移動量が、ページにおける操作子の位置に応じて変化しても良い。例えば、操作子が中心線側に位置するほど、操作子がドラッグしたことにより回動するページの移動量が大きくなっても良い。
【０１２０】
そして、図１３（２）に示す状態で、操作子が、中心線側にフリック操作をしたとする。フリック操作により、操作子が触れられていたページは、中心線側に回動する。θ２は、フリック操作が行われる前のページと、フリック操作によって回動した後のページとがなす角の角度である。θ２は、フリック操作により回動するページの移動量に応じて大きくなり、本実施形態では、フリック操作により回動するページの移動量は、フリック操作におけるフリック速度に依存する。これにより、より実際にページがめくれる際のページの動きをよりリアルに再現することを実現する。
【０１２１】
フリック速度（Ｆｌｉｃｋ  Ｖｅｌｏｃｉｔｙ）とは、フリック操作によって操作子が移動する速度である。例えばフリック速度とは、フリック操作が行われる前に操作子が停止している位置と、フリック操作が行われて操作子がタッチパネルから離れた位置との間の距離と、フリック操作において操作子がタッチパネルに触れていた時間とによって計算される速度である。フリック速度が速ければ早いほど、ページは大きく回動したものとみなされる。
【０１２２】
そして、フリック操作によりページが回動した後のページの端のＸ方向側の位置が、中心線を超える（θ１＋θ２がπ／２（９０°）を超える）場合、見開きにおけるもう一方のページに重なるまで、フリック操作が行われたページが回動する。結果として、フリック操作が行われた時に表示されていた見開きは閉じられて、他の見開きが表示される。図１３（３）に示す状態は、θ１＋θ２がπ／２を超えているため、ページがめくられて新たな見開きが表示される。
【０１２３】
一方、フリック操作によりページが回動した後のページの端のＸ方向側の位置が、中心線を超えない（θ１＋θ２がπ／２（９０°）を超えない）場合、フリック操作に応じた位置までページが回動した後、ページが元の位置に戻る。すなわち、例えば、フリック速度が遅い場合、図１３（４）に示す状態までページが回動した後、図１３（１）に示す状態（フリック操作が行われる前の状態）に戻る。この場合は、ページがめくられないため、新たな見開きが表示されない。
【０１２４】
本実施形態では、フリック操作以外の操作（フリック操作が行われる前に、表示部をタッチする操作）でもページが回動し、この回動による移動量が考慮されて、ページがめくられるか否かが判定される。
【０１２５】
図１４は、本実施形態に係るアルバム作成アプリにより実行されるページめくり処理を示すフローチャートである。図１４に示すフローチャートは、例えば、ＣＰＵ１０１がＨＤＤ１０４に格納されたアルバム作成アプリに対応するプログラムをＲＯＭ１０２やＲＡＭ１０３に読み出して実行することにより実現される。また、図１４に示すフローチャートは、編集画面が表示されている状態で開始される。
【０１２６】
まず、Ｓ１４０１では、ＣＰＵ１０１は、表示領域１２０１に対する操作子の接触を検知する。そして、ＣＰＵ１０１は、操作子が触れた位置に応じて、操作子が触れた位置に表示されているページが回動するように、表示領域１２０１における表示を制御する。
【０１２７】
次に、Ｓ１４０２では、ＣＰＵ１０１は、表示領域１２０１におけるフリック操作を検知する。そして、ＣＰＵ１０１は、検知したフリック操作に関する情報を取得する。具体的にはまずＣＰＵ１０１は、検知したフリック操作におけるフリック速度Ｖを取得する。フリック速度Ｖは、画像処理装置１００に搭載されているＯＳ（Ａｎｄｒｏｉｄ、ｉＯＳ等）から取得される。なお、フリック速度として、水平Ｘ方向におけるフリック速度（ｈｏｒｉｚｏｎｔａｌＶｅｌｏｃｉｔｙ）と垂直Ｙ方向におけるフリック速度（ｖｅｒｔｉｃａｌＶｅｌｏｃｉｔｙ）の２つが定義されている。ページめくり処理において用いられるのは上述の二つのうち、ページがめくられる（回動する）方向に対応するフリック速度である。本実施形態では、ページは水平Ｘ方向にめくられるため、水平Ｘ方向におけるフリック速度（ｈｏｒｉｚｏｎｔａｌＶｅｌｏｃｉｔｙ）が用いられる。
【０１２８】
次に、Ｓ１４０３では、ＣＰＵ１０１は、フリック操作が検知されたとき（フリック操作が行われる直前）に表示されているページがなす角度θ１を取得する。なお、角度θ１は、フリック操作によって回動するページの移動量に相当する。ＣＰＵ１０１は、角度θ１の値を、フリック操作が検知されたとき（フリック操作が行われる直前）での操作子の位置及び、ページのＸ方向における長さから計算する。
【０１２９】
次に、Ｓ１４０４では、ＣＰＵ１０１は、フリック操作によってページが回動する角度θ２を、フリック速度Ｖに基づいて取得する。θ２の計算式の例を以下に示す。
θ２＝（Ｖ／Ｖｍａｘ）×π      （式１）
【０１３０】
尚、Ｖはフリック速度、Ｖｍａｘは、画像処理装置１００に搭載されているＯＳやソフトウェアが対応しているフリック速度の最大値である。Ｖｍａｘは、ＯＳやソフトウェアなどで定義された固定値であり、それ以上の速度でユーザがフリック操作をしてもフリック速度ＶはＶｍａｘを超えることはない。この計算式により、フリック速度Ｖの値の大きさに比例してθ２の値は大きくなる。すなわち、フリック速度Ｖの値が大きいほど、回動するページの移動量が大きくなる。
【０１３１】
Ｓ１４０５では、ＣＰＵ１０１は、フリック操作を受け付けたページが中心線を超えて回動するアニメーションを表示するか否かを判定する。言い換えればＣＰＵ１０１は、フリック操作を受け付けたページを含む見開きの次の見開きを表示するか否かを判定する。具体的にはＣＰＵ１０１は、θ１＋θ２がπ／２を超えるか否かを判定する。ＣＰＵ１０１は、θ１＋θ２がπ／２を超える場合は、フリック操作を受け付けたページが中心線を超えて回動するアニメーションを特定して、Ｓ１４０６に進む。そして、ＣＰＵ１０１は、Ｓ１４０６にて、特定したアニメーション（フリック操作を受け付けたページがめくられるアニメーション）を表示して、次の見開きが表示されるように表示を制御する。一方、ＣＰＵ１０１は、θ１＋θ２がπ／２を超えない場合には、フリック操作を受け付けたページが中心線を超えずに回動するアニメーションを特定して、Ｓ１４０７に進む。そして、、ＣＰＵ１０１は、Ｓ１４０７にて、特定したアニメーション（ページがめくられずに元の位置に戻るアニメーション）を表示する。具体的には、ＣＰＵ１０１は、フリック操作を受け付けたページをθ２の分だけ中心線側に回動させたあと、ページが元にも取るように、中心線側の反対側に回動させるように表示を制御する。
【０１３２】
フリック操作によってページが回動する際のページの速度について説明する。本実施形態においては、ページが回動する速度として、慣性速度Ｌと落下速度Ｍとがあるものとする。慣性速度Ｌとは、フリック操作を受け付けたページが中心線側に回動する際の速度であり、言い換えれば、図１３（２）から図１３（４）の状態になるまでのページの速度である。一方、落下速度Ｍは、フリック操作を受け付けたページが中心線側に回動し、中心線を超えることなく停止した後、ページが元の位置に戻る際の速度であり、言い換えれば、図１３（４）の状態から図１３（１）の状態に戻るまでの速度である。
【０１３３】
慣性速度Ｌの初速Ｌ０（フリック操作において操作子がタッチパネルから離れた際の速度）の計算式を以下に示す。
Ｌ０＝ｋ×（Ｖ／Ｖｍａｘ）      （式２）
【０１３４】
なお、ｋは正の定数、Ｖは前述したフリック速度、Ｖｍａｘ前述したフリック速度の最大値である。慣性速度Ｌの初速Ｌ０はフリック速度に依存し、フリック操作において操作子がタッチパネルから離れた位置における速度であり、慣性速度Ｌとして最も速い。慣性速度Ｌは初速Ｌ０を最大値としてその後徐々に小さくなる。
【０１３５】
そして、フリック操作を受け付けたページが中心線を超えて回動しない場合は、ページがなす角が角度θ２の位置において慣性速度Ｌが０になる。すなわち、ページは、中心線より手前の位置において停止する。なお、フリック操作を受け付けたページが中心線を超えて回動する場合は、ページが頂点（中心線の位置）に達するまで、徐々に慣性速度Ｌの値が下がってゆく。慣性速度Lの値を、徐々に下がってゆくように変動させることは、例えばＯｕｔＱｕａｄのタイプのイージングを用いることで実現可能である。イージングタイプＯｕｔＱｕａｄで慣性速度Ｌを徐々に０に近付けることにより、徐々にページが回動する速度がゆっくりとなるアニメーションでページめくりを表現することができる。尚、ここでは、イージングタイプＯｕｔＱｕａｄを使って慣性速度Ｌの値を下げたが、リニアに慣性速度Ｌを下げてもよい。
【０１３６】
次に落下速度Ｍについて説明する。落下速度Ｍの初速Ｍ０（中心線側への回動が停止した位置におけるページの速度）は０である。落下速度Ｍは、中心線側に対して反対側への回動が進むにつれて徐々に大きくなる。慣性速度Lの値を、徐々に下がってゆくように変動させることは、例えばＩｎＱｕａｄのタイプのイージングを用いることで実現可能である。これにより、ページが重力によって徐々に速度を上げながら落下している様子をアニメーションで表現することができる。なお、フリック操作によってページが中心線を超えて回動する場合は、ページは、中心線を超えた後は、中心線側に対して反対側に回動するが、このときにも、同様のイージングが用いられて、ページが回動する。
【０１３７】
なお、実際に製本されたフォトアルバムのページがめくられた時の動作は、ページの厚みによっても変化する。例えば、厚みのあるハードカバーの表紙は、ソフトカバーの表紙や本身に比べて、めくられた際に頂点付近で停止する時間が長い。なお、頂点とは、Ｘ＝０の位置であり、言い換えれば、ページが初期状態（図１３（１））からπ／２回動した位置である。ハードカバーの表紙が頂点付近で停止する時間が長くなるのは、ハードカバーの表紙は、ソフトカバーの表紙や本身に比べて厚みがあるためである。
【０１３８】
本実施形態のように、めくられた時のページの動作をアニメーションで表現する形態においても、どのような厚みのページを表示しているかに基づいて、ページの動作を変化させても良い。
【０１３９】
図１３（５）は、ハードカバーの表紙が、フリック操作により回動し、中心線より手前で停止したときの状態を示している。図１３（３）に示した状態におけるページに比べて、図１３（５）に示した状態におけるページは、より頂点（π／２）付近まで近づいている。
【０１４０】
本実施形態では、このように頂点付近で慣性速度Ｌが０になる場合は、ページの厚みによって慣性速度Ｌおよび落下速度Ｍの変更方法を変える。ここでは、ハードカバーの表紙のように厚みが大きいページがめくられる場合について説明する。
【０１４１】
慣性速度Ｌについて、図１３（４）に示した例（ページの厚みが小さい例）では、イージングタイプＯｕｔＱｕａｄを使って値を徐々に下げたが、ページの厚みが大きい例ではイージングタイプＯｕｔＣｕｂｉｃを使って値を下げる。ＯｕｔＣｕｂｉｃの曲線を使うと中盤の速度の低下度合はＯｕｔＱｕａｄの曲線を使った場合の低下度合より大きくなり、終盤の速度の低下度合はＯｕｔＱｕａｄの曲線を使った場合の低下度合より小さくなる。すなわち、イージングタイプＯｕｔＱｕａｄを使った場合より、イージングタイプＯｕｔＣｕｂｉｃを使った場合の方が、単位時間における終盤の（中心線側の回動範囲における回動時の）速度の低下度合が大きい。そのため、中心線側への回動によりページが頂点付近に近づくと、慣性速度Ｌが０に近い時間がより長く続くため、頂点付近でページが止まっているようなアニメーションでページめくりを表現することができる。なお、厚みが大きいページが中心線側に向かって回動する例では、少なくとも、単位時間における終盤の（中心線側の回動範囲における回動時の）速度の低下度合が大きければ良く、序盤や中盤の速度低下の度合いは限定されない。
【０１４２】
一方、落下速度Ｍについて、図１３（４）に示した例（ページの厚みが小さい例）ではイージングタイプＩｎＱｕａｄを使って値を徐々に上げたが、ページの厚みが大きい例ではイージングタイプＩｎＣｕｂｉｃを使って値を上げる。ＩｎＣｕｂｉｃの曲線を使うと序盤の速度の上昇度合はＩｎＱｕａｄの曲線を使った場合の上昇度合より小さくなり、中盤の速度の上昇度合はＩｎＱｕａｄより大きくなる。すなわち、イージングタイプＩｎＱｕａｄを使った場合（ページの厚みが小さい場合）より、イージングタイプＩｎＣｕｂｉｃを使った場合（ページの厚みが大きい場合）の方が、単位時間における速度の上昇度合が大きい。そのため、頂点付近ではページの落下速度があまり上昇しないため、ページが頂点付近で止まっているようなアニメーションでページの落下を表現することができる。なお、なお、厚みが大きいページが中心線側に対して反対側に向かって回動する例では、少なくとも、単位時間における序盤の（中心線側の回動範囲における回動時の）速度の上昇度合が小さければ良く、中盤や終盤の速度の上昇度合は限定されない。
【０１４３】
また、フリック操作によってページが中心線を超えて回動する場合は、ページは、中心線を超えた後は、中心線側に対して反対側に回動するが、このときにも、同様のイージングが用いられて、ページが回動する。
【０１４４】
なお、本実施形態では、ＯｕｔＣｕｂｉｃ、ＩｎＣｕｂｉｃを用いて速度の変動方法を表現したが本発明はそれに限定されるもではなく、頂点付近で速度変動の度合いが小さくなるに表現可能なイージングタイプが用いられれば良い。
【０１４５】
また、上述では、厚いハードカバーのページが回動する場合にも、薄いページが回動する場合にも、回動速度が徐々に変動するアニメーションが表示されるものとしたが、この形態に限定されない。例えば、薄いページが回動する場合に、回動速度が変動しないアニメーションが表示されても良い。また、厚いページが回動する場合や薄いページが回動する場合に、一部の回動範囲においては、回動速度が変動せず、それ以外の回動範囲において回動速度が変動する形態であっても良い。
【０１４６】
また、本実施形態では、厚いハードカバーの表紙が回動する場合と表紙以外の薄い本身が回動する場合とでページめくりのアニメーションを変える例を説明したが、この形態に限定されない。例えば、本身の間でも、紙の厚さによってアニメーションを変更してもよい。例えば、本身には、見返し用紙のように薄い紙が使われているページと、写真がレイアウトされている比較的厚いページとが含まれるため、それらの間でアニメーションを変えるなどしてよい。
【０１４７】
なお、上述のようにして、ページの厚みによってアニメーションを変更する場合は、ＣＰＵ１０１は、フリック操作が行われたページに関連付けられた情報を確認する。各ページに関連付けられた情報には、各ページの厚みや材質、種類（表紙や本身など）、ページ番号等が含まれているものとする。ＣＰＵ１０１は、各ページに対応する情報に含まれている情報を参照して、アニメーションを変化させる。なお、ページが厚い場合におけるページめくりのアニメーションと、薄い場合におけるページめくりのアニメーションを含む複数のアニメーションのうちいずれのアニメーションが用いられるかは、各ページの厚みに関する情報以外が参照されても良い。例えば、各ページの材質や種類、ページ番号に応じて、いずれのアニメーションが用いられるかが決定されても良い。
【０１４８】
また、例えば、フリック操作が行われた場合に次のページを表示するか否かの判定において、フリック操作が行われたページに関連付けられた情報が用いられても良い。例えば、厚みのあるページにフリック操作が行われた場合のページの移動量は、薄いページに同容のフリック速度のフリック操作が行われた場合のページの移動量より小さいものとして計算しても良い。
【０１４９】
このように、本実施形態では、フリック速度によって、フリック操作を受け付けたページをめくるか否かを判定する。すなわち、本実施形態では、ページに操作子が触れた後、基準線（ここでは中心線）を超えずに操作子がページから離れても、フリック速度が大きければ、ページをめくることができる。例えば、ページに操作子が触れた後、操作子が離れた位置に応じてページをめくるか否かを判定する形態と比べて、より、本物の書籍のページをめくる操作に近い操作感覚をユーザに提供できる。
【０１５０】
なお、上述では、ページが厚い場合におけるページめくりのパターンと、薄い場合におけるページめくりのパターンとの２パターンでアニメーションを切りかえる形態を説明したが、この形態に限定されない。ページの厚さに応じたアニメーションが３パターン以上用意されていても良い。
【０１５１】
上述した実施形態では、操作子がページに触れることにより、ページがθ１分回動した後にフリック操作が実行される形態を説明したが、この形態に限定されない。すなわち、ページがθ１分回動することなく、フリック操作が受け付けられても良い。その場合は、θ２の値がπ／２を超えるか否かで次の見開きを表示するか否かの判定を行ってもよい。
【０１５２】
上述した各実施形態では、表示部がタッチパネルであり、操作子が指やペンである形態について説明したが、この形態に限定されない。すわち、表示部はタッチパネルでなくとも良い、操作子は例えば、マウスのようなポインティングデバイスであっても良い。この場合、フリック操作は、マウスでページをクリックした状態でマウスを一定方向に動かしながらクリックを解除する操作となる。マウスによってページをクリックしている状態が、タッチパネルにおいて指でページに触れている状態に相当する。そして、マウスによるクリックを解除する操作は、タッチパネルにおいて指を離す操作に相当する。
【０１５３】
上述では、フリック速度に応じて、回動するページの移動量を計算し、計算した値に応じてページをめくるか否か（次の見開きを表示するか否か）を判定していたが、この形態に限定されない。回動するページの移動量は、フリック速度の値に基づいて決定されるため、回動するページの移動量を計算せずに、フリック速度の値に応じて、Ｓ１４０５の判定（ページをめくるか否か（次の見開きを表示するか否か）の判定）を実行判定しても良い。
【０１５４】
上述した実施形態では、フォトアルバムを作成するためのデータによって表示されるページを回動させるように表示するアニメーション例を説明したが、この形態に限定されない。例えば、小説や雑誌、漫画等の電子書籍を閲覧するソフトウェアにおいて、電子書籍のページを回動させるアニメーションに適用してもよい。
【０１５５】
上述した実施形態では、編集画面に書籍の見開きが表示される形態を説明したが、この形態に限定されない。たとえば、見開きのうち一方のページだけが表示され、当該ページがめくられる様子を表示する形態であっても良い。また、上述では、各ページは見開きの中心線を支点に回動するものとしたが、回動の中心となる支点はいずれに設定されても良い。
【０１５６】
上述した各実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【０１５７】
８０  アプリケーション
２０４  ＣＰＵ
２０１  ＲＡＭ
２０２  ＨＤＤ
【図１】
2019067259.tif 000003
【図２】
2019067259.tif 000004
【図３】
2019067259.tif 000005
【図４】
2019067259.tif 000006
【図５】
2019067259.tif 000007
【図６】
2019067259.tif 000008
【図７】
2019067259.tif 000009
【図８】
2019067259.tif 000010
【図９】
2019067259.tif 000011
【図１０】
2019067259.tif 000012
【図１１】
2019067259.tif 000013
【図１２】
2019067259.tif 000014
【図１３】
2019067259.tif 000015
【図１４】
2019067259.tif 000016
【図１５】
2019067259.tif 000017
【図１６】
2019067259.tif 000018