(57)【要約】【課題】  アイテムを表示領域の端部にドラッグする場合に、誤ってドラッグ処理が解除されてしまう。【解決手段】  ユーザのドラッグ操作に応じてアイテムの移動を制御する制御手段と、表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、を備え、前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第１の端部側に移動させる場合、前記第１の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第１の端部側にシフトされた位置となるよう、前記アイテムを移動させる。【選択図】  図１５
2019067260.tif 000002
【特許請求の範囲】
【請求項１】
表示部の表示領域にアイテムを表示させる情報処理装置であって、
ユーザのドラッグ操作に応じて前記アイテムの移動を制御する制御手段と、
前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、
を備え、
前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第１の端部側に移動させる場合、前記第１の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第１の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記第１の端部と反対側の端部である第２の端部側に移動させる場合、前記第２の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも前記第２の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記ドラッグ操作により前記アイテムが前記第１の端部側に近付くほど、前記入力位置に対する前記アイテムの相対位置を前記第１の端部側にシフトされた位置にすることにより、前記入力位置に対応する前記アイテムの操作位置は前記アイテム内の前記第２の端部側にシフトしているように見えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示領域内に配置されているアイテムが前記ドラッグ操作のために保持された時点では、前記アイテムが配置されていた位置に依らずに前記入力位置に対する前記アイテムの相対位置は同じであり、前記ドラッグ操作により前記アイテムが移動することにより、前記入力位置に対する前記アイテムの相対位置が変化することを特徴とすることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ドラッグ操作により前記アイテムが前記表示領域内の中央部に位置する場合、前記入力位置と前記アイテムの中心部とが対応していることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記表示領域には前記アイテムが配置される１つ以上の配置領域が設定されており、
前記制御手段は、前記配置領域以外の領域で前記ドラッグ操作がリリースされて前記アイテムがドロップされた場合、前記１つ以上の配置領域のうちのいずれかの配置領域へ前記アイテムを配置するキャンセル処理を実行し、
前記制御手段は、前記キャンセル処理により前記いずれかの配置領域へ前記アイテムを配置する前にユーザによる前記表示部への入力を受け付けた場合、前記キャンセル処理を止めることにより前記アイテムを前記いずれかの配置領域へ配置せずに、ドラッグ操作を再開可能であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記ドラッグ操作により、前記表示領域内に表示された所定のページに配置されているアイテムが前記表示領域の前記第１の端部に達することにより、前記所定のページと異なるページが前記表示領域に表示され、
前記異なるページ内で前記ドラッグされていたアイテムがドロップされることにより、前記異なるページに前記アイテムが配置されることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記表示領域の前記第１の端部には、前記表示領域に表示されるページを変更するためのページ変更領域が設けられており、前記アイテムが前記第１の端部に移動し、前記アイテムの少なくとも一部が前記ページ変更領域に重ねられることにより、前記表示するページが変更することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
画像をテンプレート内のスロットに配置するレイアウト手段をさらに備え、
前記制御手段は、前記レイアウト手段によるレイアウト後、ユーザのドラッグ操作に応じて前記アイテムとして前記スロットに配置された画像を移動させることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記アイテムは、所定のアプリケーションのアイコンであり、
前記制御手段は、ユーザのドラッグ操作に応じて、前記アイコンを移動させることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１１】
コンピュータに、
ユーザのドラッグ操作に応じて、表示部の表示領域に表示されたアイテムの移動を制御するステップと、
前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得するステップと、
を実行させるプログラムであり、
前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第１の端部側に移動させる場合、前記第１の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第１の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とするプログラム。
【請求項１２】
前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記第１の端部と反対側の端部である第２の端部側に移動させる場合、前記第２の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも前記第２の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記ドラッグ操作により前記アイテムが前記第１の端部側に近付くほど、前記入力位置に対する前記アイテムの相対位置を前記第１の端部側にシフトされた位置にすることにより、前記入力位置に対応する前記アイテムの操作位置は前記アイテム内の前記第２の端部側にシフトしているように見えることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記表示領域内に配置されているアイテムが前記ドラッグ操作のために保持された時点では、前記アイテムが配置されていた位置に依らずに前記入力位置に対する前記アイテムの相対位置は同じであり、前記ドラッグ操作により前記アイテムが移動することにより、前記入力位置に対する前記アイテムの相対位置が変化することを特徴とすることを特徴とする請求項１１乃至１３のいずれか１項に記載のプログラム。
【請求項１５】
前記ドラッグ操作により前記アイテムが前記表示領域内の中央部に位置する場合、前記入力位置と前記アイテムの中心部とが対応していることを特徴とする請求項１１乃至１４のいずれか１項に記載のプログラム。
【請求項１６】
前記表示領域には前記アイテムが配置される１つ以上の配置領域が設定されており、
前記配置領域以外の領域で前記ドラッグ操作がリリースされて前記アイテムがドロップされた場合、前記１つ以上の配置領域のうちのいずれかの配置領域へ前記アイテムを配置するキャンセル処理を実行し、
前記キャンセル処理により前記いずれかの配置領域へ前記アイテムを配置する前にユーザによる前記表示部への入力を受け付けた場合、前記キャンセル処理を止めることにより前記アイテムを前記いずれかの配置領域へ配置せずに、ドラッグ操作を再開可能であることを特徴とする請求項１１乃至１５のいずれか１項に記載のプログラム。
【請求項１７】
前記ドラッグ操作により、前記表示領域内に表示された所定のページに配置されているアイテムが前記表示領域の前記第１の端部に達することにより、前記所定のページと異なるページが前記表示領域に表示され、
前記異なるページ内で前記ドラッグされていたアイテムがドロップされることにより、前記異なるページに前記アイテムが配置されることを特徴とする請求項１１乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記表示領域の前記第１の端部には、前記表示領域に表示されるページを変更するためのページ変更領域が設けられており、前記アイテムが前記第１の端部に移動し、前記アイテムの少なくとも一部が前記ページ変更領域に重ねられることにより、前記表示するページが変更することを特徴とする請求項１１乃至１７のいずれか１項に記載のプログラム。
【請求項１９】
画像をテンプレート内のスロットに配置するレイアウトステップをさらに備え、
前記レイアウト後、ユーザのドラッグ操作に応じて前記アイテムとして前記スロットに配置された画像を移動させることを特徴とする請求項１１乃至１８のいずれか１項に記載のプログラム。
【請求項２０】
前記アイテムは、所定のアプリケーションのアイコンであり、
ユーザのドラッグ操作に応じて、前記アイコンを移動させることを特徴とする請求項１１乃至１８のいずれか１項に記載のプログラム。
【請求項２１】
表示部の表示領域にアイテムを表示させる表示制御方法であって、
ユーザのドラッグ操作に応じて前記アイテムの移動を制御するステップと、
前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得するステップと、
を備え
前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第１の端部側に移動させる場合、前記第１の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第１の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示制御方法、及びプログラムに関する。特に、アイテムの表示制御を行う技術に関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末等のタッチパネルの操作において、ドラッグ＆ドロップによってアプリケーションアイコン等のアイテムを別ページに移動させる方法がある。この方法の場合、まずユーザは、そのアイコンを画面の左右の端にドラッグして移動させることによりページを順番にめくる。そして、所望のページが表示されたら、そのページでアイコンの画面の左右の端から離してドロップすることにより、所望のページにアイコンを再配置する。
【０００３】
特許文献１ではドラッグ＆ドロップにより、アイコンを現在のページから他のページに遷移させる操作性を向上させている。特許文献１ではドラッグしたアイコンが表示枠の端部に所定の時間接触したときにページを遷移させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１１５３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ドラッグしたアイコン等のアイテムを表示枠の端部に接触させるというユーザ操作においては、ドラッグ操作をしている指やペンが誤って表示枠から外れてしまうことがあった。このときタッチセンサーから指やペンが離れてしまうためドラッグ操作が解除されてしまい、ページ遷移の操作がキャンセルされてしまう課題があった。また、指やペンでアイテムを移動させる場合に限らず、マウスを用いてアイテムを移動させる場合であっても、アイテムを表示枠の端部に接触させる前に指がマウスから離れてしまうとドラッグ操作がキャンセルされてしまうため、同様の課題が生じうる。
【０００６】
本発明は、上記課題に鑑み、アイテムを移動する際のユーザの利便性をより高めることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、表示部の表示領域にアイテムを表示させる情報処理装置であって、ユーザのドラッグ操作に応じて前記アイテムの移動を制御する制御手段と、前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、を備え、前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第１の端部側に移動させる場合、前記第１の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第１の端部側にシフトされた位置となるよう、前記アイテムを移動させる。
【発明の効果】
【０００８】
本発明により、アイテムを移動する際のユーザの利便性をより高めることができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置を含むシステムの構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】情報処理装置のソフトウェア構成を示す図である。
【図４】アルバム作成アプリケーションにより提供される画面を示す模式図である。
【図５】アルバム作成アプリケーションの自動レイアウト処理部を示す図である。
【図６】自動レイアウト処理の流れを示すフローチャートである。
【図７】自動レイアウト処理における画像解析情報を説明する図である。
【図８】自動レイアウト処理における画像群分割を説明する図である。
【図９】自動レイアウト処理におけるシーン分類を説明する図である。
【図１０】自動レイアウト処理における画像得点を説明する図である。
【図１１】自動レイアウト処理における画像選択を説明する図である。
【図１２】自動レイアウト処理における画像レイアウトを説明する図である。
【図１３】表示制御方法について説明する模式図である。
【図１４】表示制御方法について説明する模式図である。
【図１５】表示制御方法について説明する模式図である。
【図１６】表示制御方法について説明する模式図である。
【図１７】表示制御方法について説明する模式図である。
【図１８】表示制御方法について説明する模式図である。
【図１９】表示制御方法を示すフローチャートである。
【図２０】表示制御方法について説明する模式図である。
【図２１】表示制御方法について説明する模式図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
＜実施形態１＞
本実施形態では、写真等の画像をレイアウトして複数のページからなるフォトアルバム（フォトブック）を作成するアプリケーションを例に説明する。このようなアプリケーションの場合、自動で画像を配置してレイアウトした後、レイアウトされた画像をユーザが編集できるよう編集画面を提供する。本実施形態では、この編集画面において、アイテムとしての画像をドラッグ操作で移動させる際に、表示領域内におけるユーザによるドラッグ操作の入力位置（例えばタッチ位置）に基づいて、画像の位置を制御する。以下では、まずシステム及び装置の構成と、画像のレイアウト方法について説明した後、レイアウト結果の編集と表示制御方法について説明する。
【００１２】
（システムの構成）
図１は、フォトアルバム作成／注文のための情報処理システムの構成の一例を示す図である。図１に示すように、情報処理システムは、ユーザが使用する情報処理装置１と、フォトアルバムを作成する会社の情報処理装置２とを有し、情報処理装置１と情報処理装置２は、インターネット３を介して接続されている。情報処理装置１は、例えば、パーソナルコンピュータが挙げられる。情報処理装置２は、例えば、サーバＰＣである。情報処理装置１、情報処理装置２は、例えばＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（以下、ＯＳと略す場合がある）として、Ｗｉｎｄｏｗｓ（登録商標）８又はＷｉｎｄｏｗｓ（登録商標）  Ｓｅｒｖｅｒ  ２０１２と同等のＯＳがインストールされている。情報処理装置１、情報処理装置２は、それぞれＥｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク４及び８に接続されている。
【００１３】
情報処理装置１には、フォトアルバム作成のためのアプリケーション８０（以下、単にアプリともいう）がインストールされている。アプリは、例えば、Ｗｉｎｄｏｗｓ（登録商標）用の実行可能形式のファイル（＊．ＥＸＥ）で構成される。また、情報処理装置１には、Ｗｅｂブラウザアプリケーション１４３（以下、Ｗｅｂブラウザともいう）がインストールされている。Ｗｅｂブラウザ１４３は、ＷＷＷ（ＷｏｒｌｄＷｉｄｅＷｅｂ）を利用する際に用いられるブラウザである。ネットワーク４は、情報処理装置１を使用するユーザのためのネットワークであり、例えば、一般家庭用のホームネットワークが挙げられる。
【００１４】
情報処理装置２は、Ｗｅｂサーバの機能を備えるＷｅｂサーバ９を含み、例えば、インターネット３を介して所定の会社（仮にＡＢＣ社とする）のＷｅｂサイトを提供する。ショッピングサイト１１は、ＡＢＣ社がユーザ向けにサービスを提供しているショッピングサイトであり、ユーザはショッピングサイト１１を利用してフォトアルバムを注文することができる。
【００１５】
図２は、情報処理装置１のハードウェア構成の一例を表す図である。なお、情報処理装置２も同様の構成を有するものとする。ただし、情報処理装置１と情報処理装置２は、同一の構成からなる必要はない。図２に示すように、情報処理装置は、ＣＰＵ２０４、ＲＡＭ２０１、ＲＯＭ２０３、ＨＤＤ２０２、表示部２０５、入力部２０８、通信制御部２０７を有し、それぞれがシステムバス２０６により接続されている。
【００１６】
ＣＰＵ（中央演算装置／プロセッサ）２０４は、システム制御部であり、情報処理装置１全体を制御する。また、ＣＰＵ２０４は、本実施形態で説明する表示制御方法をプログラムに従って実行する。
【００１７】
ＲＡＭ２０１は、ランダムアクセスメモリであり、ＣＰＵ２０４によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ＲＯＭ２０３は、ＣＰＵ２０４により実行されるプログラムが記憶されている。
【００１８】
ＨＤＤ（ハードディスク）２０２は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。ＨＤＤ２０２は、アルバムアプリ８０、Ｗｅｂブラウザ１４３等のアプリケーションや、図３で説明する各モジュール（ソフトウェア）を記憶し、必要に応じてＲＡＭ２０１に読み出されてＣＰＵ２０４により実行される。これにより、ＣＰＵ２０４が、アプリケーション８０、Ｗｅｂブラウザ１４３等のアプリケーションや、図３に示す各モジュール（ソフトウェア）の機能を実現する。
【００１９】
表示部２０５は、本実施形態のＵＩ（ユーザーインターフェイス）や画像のレイアウト結果をユーザに表示する。表示部２０５は、タッチセンサー機能を備えてもよい。入力部２０８は、ユーザが各種操作をする際に用いられ、例えば、表示部２０５に表示されたＵＩ上に所定の情報を入力するのに用いられる。
【００２０】
通信制御部２０７は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、自動レイアウトをして生成したアルバムデータは、通信制御部２０７を介して情報処理装置２に送信される。
【００２１】
図３は、情報処理装置１のＨＤＤ２０２に保存されているソフトウェアモジュール群の構成を示す図である。図３に示したソフトウェアモジュールはＨＤＤ２０２に保存されているソフトウェアモジュール群の一部を示したものであって、全てではない。また、ＨＤＤ２０４に保存されるソフトウェアモジュール群は、情報処理装置１に搭載されるＯＳや、情報処理装置１の使用環境などに応じて適宜変更される。
【００２２】
モジュール９２は、Ｅｔｈｅｒｎｅｔを制御するＥｔｈｅｒｎｅｔ制御スタックである。モジュール９１は、ＩＰ  Ｎｅｔｗｏｒｋを制御するＩＰ  Ｎｅｔｗｏｒｋ制御スタックである。モジュール９０は、ネットワーク上のデバイス探索の仕組みを提供するＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ）を制御するＷＳＤ制御スタックである。モジュール８８は、ネットワークのプラグアンドプレイを制御するＰｎＰ−Ｘ制御スタックである。尚、ＰｎＰ−Ｘとは、ネットワーク接続デバイスに対するサポートを提供する、プラグアンドプレイの一連の拡張機能としてＷｉｎｄｏｗｓ８（登録商標）に標準搭載されている機能であるＰｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｅｘｔｅｎｓｉｏｎｓの略称である。モジュール８５は、デバイスドライバ群であり、ＯＳに標準で同梱されている標準ドライバ群８７と、ＩｎｄｅｐｅｎｄｅｎｔＨａｒｄｗａｒｅＶｅｎｄｏｒ（ＩＨＶ）から提供されるＩＨＶ製ドライバ群８６とを含んで構成される。
【００２３】
モジュール８４は、アプリケーション／ＤＤＩインタフェースであり、ＡｐｐｌｉｃａｔｉｏｎＰｒｏｇｒａｍｉｎｇＩｎｔｅｒｆａｃｅ（ＡＰＩ）、ＤｅｖｉｃｅＤｒｉｖｅｒＩｎｔｅｒｆａｃｅ（ＤＤＩ）を含んで構成される。アプリケーション群８２は、アプリケーション８０、Ｗｅｂブラウザ１４３を含むアプリケーション群である。
【００２４】
図４は、フォトアルバムアプリケーションの実行によりＣＰＵ２０４によって提供される表示画面であり、フォトアルバムを編集するための編集画面の一例である。編集画面４０１は、フォトアルバムアプリケーションにより提供される。表示領域４０２は、フォトアルバムの各ページのサムネイルを一覧表示する領域である。表示領域４０３は、表示領域４０２で選択されたページのプレビュー画像を表示する領域であり、レイアウト画像の編集を行うことができる。
【００２５】
表示領域４０２において、ユーザが各ページのサムネイルの中から所望のサムネイルを選択することで、そのページが選択状態の表示４０４になる。図４では、３〜４ページの２ページ分（見開き１つ分）が選択状態であり、このページのレイアウト画像が表示領域４０３に表示される。なお見開きとは、たとえば表示においてはひとつの表示用ウィンドウに相当し、印刷においては印刷された互いに隣接する１対のページに相当する。
【００２６】
表示領域４０３では、フォトアルバムの編集操作が可能となる。レイアウト画像において表示されるテンプレートは、１以上のスロットを有する。図４では、３ページ目（図中左ページ）に３つのスロット４０５を有し、４ページ目（図中右ページ）に１つのスロット４０５を有する。スロット４０５は、スロットであり、各スロットには写真が割り当てられる。なお、本実施形態では、各スロット４０５には、自動で写真が割当てられている。テキストボックス４０６にはユーザにより任意のテキストが入力される。
【００２７】
ボタン４０７は、アプリケーションにより作成した（編集した）フォトアルバムをカートに入れるためのボタンである。このボタン４０７を押すことにより、編集したフォトアルバムがインターネット３経由で情報処理装置２のショッピングカートにアップロードされる。
【００２８】
（自動レイアウト処理部の構成）
図５は、アルバム作成アプリケーションの一部の機能のソフトウェアブロック図である。アルバム作成アプリケーションは様々な機能を持つが、本実施形態では、特に自動レイアウト処理部９１６により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、撮影された写真をその内容や属性に基づいて分類し、あるいは選択して写真をレイアウトし、表示部２０５に表示するアルバム画像を生成するための機能である。
【００２９】
本実施形態では、アルバム作成アプリケーションは、表示部２０５に表示されているアプリケーションのアイコンがユーザにより押下されることにより起動する。図５に示すように、アルバム作成アプリケーションは、アルバム作成条件指定部９０１と、自動レイアウト処理部９１６と、を含む。マウス等の入力部２０８を介したＵＩ操作に応じてアルバム作成条件を自動レイアウト処理部９１６に指定する。
【００３０】
画像取得部９０２は、アルバム作成指定部から指定された画像群をＨＤＤ２０２から取得する。ここでいう画像群とは、１つのアルバム作成の際にレイアウトする候補画像群を指す。例えば、アルバム作成条件指定部２０１において、ＸＸ年１月１日〜ＸＸ年１２月３１日が指定された場合は、ＸＸ年１月１日〜ＸＸ年１２月３１日に撮影された画像全てが指定された画像群に該当する。
【００３１】
画像変換９０３は、以降の処理に使う画像データを所望の画素数や色情報に変換する。本実施形態では、短辺画素の画素数とｓＲＧＢの色情報の解析画像に変換する。
【００３２】
画像解析部９０４は、解析画像から後述の特徴量取得、顔検出、表情認識、個人認識を実施する処理である。また、ＨＤＤ２０２から取得した画像に付随したデータ、例えばＥｘｉｆ情報から撮影日時の取得も画像処理部９０４で実施する。
【００３３】
画像分類部９０５は、画像群に対して撮影日時情報や枚数、検出した顔情報を使って後述のシーン分割、シーン分類を実施する処理である。シーンとは、旅行や日常、結婚式等の撮影シーンのことである。シーンとは、例えば、一つの撮影対象について一時期の撮影機会に撮影された画像の集まりであるということもできる。
【００３４】
主人公情報入力部９０６は、アルバム作成条件指定部９０１から指示された主人公のＩＤ（識別情報）を画像得点部に入力する。
【００３５】
画像得点部９０７は、各画像に対して得点付けをする。本実施形態では、レイアウトに適した画像が高得点になるように得点付けをする。レイアウトに適した画像が高得点になるように得点付けする際は、画像解析部９０４で得られた情報、画像分類部９０５で得られた情報を使う。画像得点部９０７は、主人公情報入力部９０６から入力された主人公ＩＤが含まれる画像の得点が高得点になるように、各画像に対して得点付けをする。
【００３６】
見開き割当部９０９は、画像群を分割して各見開きに割り当てる。ここでいう見開きとは、例えばアルバムを作成した際の見開きであり２ページ分に相当する。
【００３７】
見開き入力部９０８は、アルバム作成条件指定部９０４から指定されたアルバムの見開き数を見開き割当部９０９に入力する。
【００３８】
見開き割当部９０９は、入力された見開き数に応じて画像群を分割して各見開きに画像群の一部を割り当てる。例えば、見開き数が５である場合、取得した画像群を５つに分割して小画像群を生成し、各見開きに１つの画像群を割り当てる。
【００３９】
画像選択部９１０は、見開き割当部９０９で各見開きに割り当てられた画像群の一部から画像得点部９０７で付けた得点に基づいて画像を選択する。
【００４０】
テンプレート入力部９１１は、アルバム作成条件指定部９０１から指定されたテンプレート情報に応じた複数のテンプレートを画像レイアウト部９１２に入力する。
【００４１】
画像レイアウト部９１２は、画像のレイアウトを決定する。具体的には、テンプレート入力部９１１が入力したそれぞれのテンプレートのうち、画像選択部９１０が選択した画像に適したテンプレートを選択し、各画像のレイアウト（配置位置）を決定する。
【００４２】
画像補正条件入力部９１３は、アルバム作成条件指定部９０１から指定された画像補正のＯＮ／ＯＦＦ条件を画像補正部９１４に入力する。
【００４３】
画像補正部９１４は、覆い焼き補正、赤目補正、コントラスト補正をする。画像補正部９１４は画像補正条件ＯＮの場合は、画像に対して補正を実施する。画像補正条件ＯＦＦの場合は、補正を実施しない。尚、画像補正部９１４には、画像変換部９０３から入力された画像に対して補正のＯＮ／ＯＦＦを実施する。画像変化部９０３から画像補正部９１４に入力する画像の画素数は、画像レイアウト部９１２で決定したレイアウトのサイズに合わせて変えられる構成となっている。
【００４４】
レイアウト情報出力部９１５は、画像レイアウト部９１２が決定した画像レイアウトに従って、ディスプレイに表示する為のレイアウト情報を出力する。レイアウト情報は例えば、選択したテンプレートに選択した画像をレイアウトしたビットマップデータである。
【００４５】
（自動レイアウト処理のフロー）
図６は本実施形態に係るアルバム作成アプリケーションの自動レイアウト処理部９１６に関する処理フローを示すフローチャートである。図６に示すフローチャートは、例えば、ＣＰＵ２０４がＨＤＤ２０２に格納されたプログラムをＲＯＭやＲＡＭ２０１に読み出して実行することにより実現される。図６を使って、自動レイアウトの処理フローを以下説明する。
【００４６】
Ｓｔｅｐ０１では、画像変換部９０３で解析画像を生成する。アルバム作成条件指定部９０１で指定されたＨＤＤ２０２の画像群の各画像を所望の画素数と色情報に変換する。なお、ここで変換する画素数及び色情報は、予め決められており、保存されている。本実施形態では、短辺画素とｓＲＧＢの色情報の解析画像に変換する。
【００４７】
Ｓｔｅｐ０２では、画像解析部９０４で画像特徴量を取得する。ＨＤＤ２０２から取得した各画像データに付随する例えばＥｘｉｆ情報から撮影日時を取得する。また、Ｓｔｅｐ０１で生成された解析画像から特徴量を取得する。特徴量としては、例えば、ピントが挙げられる。エッジの検出方法として一般的にソーベルフィルタが知られている。ソーベルフィルタでエッジ検出して、エッジの始点と終点の輝度差を始点と終点の距離で割ればエッジの傾きを算出できる。画像中のエッジの平均傾きを算出して、平均傾き大の画像は平均傾き小の画像よりもピントが合っていると考えることが出来る。傾きに対して異なる値の複数の閾値を設定し、どの閾値以上かを判別することでピント量を出せる。本実施形態では異なる２つの閾値を設定し、○△×の３段階でピント量を判別する。アルバムに採用したいピントの傾きを○、許容できるピントの傾きを△、許容できない傾きを×として、実験を通して閾値を設定する。
【００４８】
Ｓｔｅｐ０３では、画像解析部９０４で顔検出を実施する。Ｓｔｅｐ０１で生成された解析画像から顔を検出する。顔の検出は、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するＡｄａｂｏｏｓｔが挙げられる。本実施形態では、Ａｄａｂｏｏｓｔにより作成した強識別器により人物（オブジェクト）の顔を検出する。顔画像を抽出すると共に、検出した顔位置の左上座標値と右下座標値を取得する。なお、ここでいう「画像」とはＳｔｅｐ０１で生成された画像データにより表される画像である。この２種の座標を特定することにより、人物の顔の位置と顔のサイズを特定することができる。なお、ここでは、人物の顔を検出するものとしたが、人物の顔に限らず、犬や猫等の動物、花、食べ物、建物、置物等のオブジェクトを顔の代わりの検出対象としてＡｄａｂｏｏｓｔによって強識別器を作成することができる。すなわち、顔以外のオブジェクトを検出するようにしてもよい。
【００４９】
Ｓｔｅｐ０４では、画像解析部９０４で個人認識をする。まずＳｔｅｐ０３で抽出した顔画像を顔辞書データベースに個人ＩＤ毎に保存されている代表顔画像との類似性を比較する。そして、類似性が閾値以上で最も類似性が高いＩＤを抽出した顔画像のＩＤとする。なお、類似性が閾値未満の場合は新規の顔として新規の個人ＩＤとして顔辞書データベースに抽出した顔画像を登録する。
【００５０】
Ｓｔｅｐ０２からＳｔｅｐ０４で取得した画像解析情報は、図７に示すように各画像を識別するＩＤ毎に区別して記憶する。Ｓｔｅｐ０２で取得した撮影日時情報とピント判別結果、Ｓｔｅｐ０３で検出した顔の数と位置情報を保存する。なお、顔の位置情報はＳｔｅｐ０４で取得した個人ＩＤ毎に区別して記憶する。画像データにおいて顔が検出されない場合は、Ｓｔｅｐ０２で取得した撮影日時情報及びピント判別結果が保存される。
【００５１】
Ｓｔｅｐ０５では、アルバム作成条件指定部２０１で指定されたＨＤＤ１０４の画像群の全画像に対してＳｔｅｐ０１からＳｔｅｐ０４が終了したか否かを判定する。終了していない場合（Ｓｔｅｐ０５でＮｏ）、Ｓｔｅｐ０１に戻る。終了している場合（Ｓｔｅｐ０５でＹｅｓ）はＳｔｅｐ０６に移行する。
【００５２】
Ｓｔｅｐ０６では、画像分類部２０５でシーン分割をする。シーン分割とは、取得した画像群をシーンに応じて複数のサブ画像群に分割することを指す。具体的には、Ｓｔｅｐ０２で取得済みの撮影日時情報に基づいて、画像と画像との時間差を頼りに画像群を複数に分割する。画像と画像の撮影日が連続していない場合、すなわち、画像間に撮影していない日が存在する場合は、分割する。次に、撮影日が連続する場合について説明する。本実施形態では、画像と画像の撮影時間の差が１６時間以上空いている場合は分割する。画像と画像の撮影時間の差が１６時間未満の場合は、連続する各日の最初の撮影から最後の撮影までの時間差が４時間未満なら分割する。本実施形態では、４時間以上の場合は、連続する各日の撮影枚数が５０枚未満なら分割し、５０枚以上であれば分割しないものとする。なお、分割の際の時間差の閾値や枚数の閾値は、これに限定されるものではない。図８（Ａ）は、上述したシーン分割方法で分割した結果を示している。
【００５３】
Ｓｔｅｐ０７では、画像分類部９０６でシーン分類をする。本実施形態では、各サブ画像群（各シーン）を旅行、日常、セレモニーの３つに分類する場合を例に挙げて説明するが、分類はこれに限定されるものではない。まず、旅行、日常、セレモニーのうちいずれに分類されるかを予め判定したサブ画像群を複数取得する。各画像群について、撮影の特徴量を取得する。本実施形態で取得する特徴量は、例えば、撮影期間、撮影枚数、撮影人数である。撮影期間は、画像群の最初の撮影から最後の撮影までの時間差である。撮影枚数は、サブ画像群に含まれる画像の数（写真の枚数）である。撮影人数は、顔が写っている画像における顔の数である。すなわち、１つの画像に含まれる顔の数である。そして、複数のサブ画像群に対して、撮影期間の平均値と標準偏差、撮影枚数の平均値と標準偏差、１画像あたりの人数の平均値と標準偏差を求める。なお、本実施形態では、１画像あたりの顔の数が、１画像あたりの人数とする。図９は、撮影期間（時間）、撮影枚数（枚）、撮影人数（人）の各平均値と標準偏差を示す。これらの求めた値は、アルバム作成アプリケーションのプログラムに予め組み込んでおく。アルバム作成アプリケーションが起動された後、ユーザがパスボックス３０２で指定した画像群のＳｔｅｐ０６でシーン分割された各分割に対して、撮影期間と撮影枚数、撮影人数の平均値を算出する。そして、シーン毎に、前記各サブ画像群の撮影期間、撮影枚数、撮影人数の特徴量について、それぞれの平均値と標準偏差に基づいて、以下の式により得点化を実施する。
得点＝５０−｜１０×（平均値−特徴量）／標準偏差｜    （式１）
平均得点＝（撮影期間の得点＋撮影枚数の得点＋人数の得点）／特徴量項目数    （式２）
【００５４】
以上によって、旅行、日常、セレモニー毎の平均得点が算出される。サブ画像群毎に最高点のシーンをそのサブ画像群のシーンとして分類する。２以上のシーンが同点の場合は、優先シーンに分類する。例えば本実施形態では、日常＞セレモニー＞旅行の順であり、日常の優先度を最も高くしている。
【００５５】
図８（Ａ）のシーン分割された後のサブ画像群（５）は、撮影期間が３６時間、撮影枚数が３００枚、撮影人数が１．７人であった。旅行の平均得点は４５．３２、日常の平均得点は１８．３８、セレモニーの平均得点は−２９．９２となり、シーンは旅行に分類される。分類したシーンは識別ができるようにシーンＩＤで管理する。
【００５６】
Ｓｔｅｐ０８では、Ｓｔｅｐ０６で分割された全サブ群に対してＳｔｅｐ０７のシーン分類が終了したか否かを判定する。終了していない場合（Ｓｔｅｐ０８でＮｏ）、Ｓｔｅｐ０７に戻る。終了している場合（Ｓｔｅｐ０８でＹｅｓ）、Ｓｔｅｐ０９に移行する。
【００５７】
Ｓｔｅｐ０９では、画像得点化部２０７で主人公設定をする。主人公設定はユーザが指定した画像群に対して実施され、自動と手動の２種類がある。自動で主人公を設定する場合、Ｓｔｅｐ０４の個人認識の結果と、Ｓｔｅｐ０６のシーン分割の結果に基づいて設定をする。Ｓｔｅｐ０４で取得した結果から、サブ画像群に登場する各個人ＩＤの回数、各シーンに登場する各個人ＩＤの回数、各個人ＩＤが登場するシーンの回数等を特定し、これらの情報から自動で主人公を設定する。本実施形態では、サブ画像群に複数シーンがある場合は複数のシーンに登場する個人ＩＤを主人公ＩＤと設定し、サブ画像群が単一シーンである場合は、単一シーンの登場回数が多い個人ＩＤを主人公ＩＤと設定する。主人公設定部３０４でユーザが特定のアイコンを指定している場合は、主人公情報入力部２０６を介して選択されたアイコンに対応する個人ＩＤが画像得点部２０７に伝えられる。ユーザ指定の個人ＩＤがある場合は、上述した自動設定の主人公ＩＤは無視して、ユーザ指定の個人ＩＤを主人公ＩＤと設定する。このように、主人公設定部３０４の指定に基づく設定を手動設定とする。
【００５８】
Ｓｔｅｐ１０では、画像得点化部２０７で得点化をする。得点化とは、後述する画像選択時に参照する値であり、画像データ毎に後述する観点で評価した得点を付ける。
【００５９】
図１２は、３枚の画像をレイアウトする際に用いるテンプレート群を示している。図１２の（１−１）に示すテンプレート１６０１は１枚のテンプレートであり、メインスロット１６０２と、サブスロット１６０３、サブスロット１６０４を有する。メインスロット１６０２とは、テンプレート１６０１でメインとなるスロット（画像をレイアウトする枠）であり、サブスロット１６０３とサブスロット１６０４よりもサイズが大きい。また、サブスロットとは、各テンプレートにおいて、メインスロット以外のスロットである。メインスロット用の得点とサブスロット用の得点の両方を各画像データに付ける。得点化処理では、メインスロット用の得点とサブスロット用の得点の両方を画像毎に付ける。
【００６０】
次に、図１０（Ａ）に画像データの得点化の基準を示す。図１０（Ａ）は旅行、日常、セレモニーのシーン毎に得点が高くなる画像の特徴を、メインスロットとサブスロットに分けてまとめた表である。なお、図１０（Ａ）に示すように、スロットの種類に応じて、得点が高くなる特徴が異なる。例えば、サブ画像群のシーン分類が旅行である場合、人物と風景が入ったひいた画像は、メインスロットとしての得点が高くなり、顔のアップや横顔の画像は、サブスロットとしての得点が高くなる。例えば、サブ画像群のシーン分類が日常である場合、顔のアップや横顔の画像は、メインスロットとしての得点が高くなり、人物と風景が入ったひいた画像は、サブスロットとしての得点が高くなる。例えば、サブ画像群のシーン分類がセレモニーである場合、２人の距離が近い画像は、メインスロットとしての得点が高くなり、大人数の画像は、サブスロットとしての得点が高くなる。このように、シーン及びスロットの種類に応じて、得点が高くなる特徴、言い換えれば、評価基準が異なる。本実施形態では、シーン及びスロットの種類に応じた得点が高くなる特徴は、アプリケーションにおいて予め設定しておき、プログラムに含むものとする。なお、得点が高くなる特徴は、上述したものに限定されるものではない。図１０（Ａ）に示す各シーンのメインスロットとサブスロットのそれぞれの特徴に基づいて、各サブ画像群に含まれる各画像データに得点を付ける。各画像における顔の数、各画像における顔の位置、各画像における顔のサイズを取得し、平均値と標準偏差を各シーン各スロット種類（メインスロットとサブスロット）に対して求めて、アルバム作成アプリケーションのプログラムに記憶しておく。ユーザが指定した画像群の各画像データが表す画像がいずれのシーンに属するか（分類されるか）は、Ｓｔｅｐ０７のシーン分類の結果から特定する。そして、注目画像のシーンに対応する予め求めた前記平均値と標準偏差、注目画像における主人公ＩＤの顔の数、顔の位置、顔サイズの各特徴量に基づいて以下の式を使って得点と平均得点を出す。
【００６１】
得点＝５０−｜１０×（平均値−特徴量）／標準偏差｜
平均得点＝（顔数の得点＋顔位置の得点＋顔サイズの得点）／特徴量項目数
なお、得点化は、メインスロット用とサブスロット用の両方を実施する。またアルバムに使う画像は、図７に示すピントの特徴量が○である画像ＩＤの画像に対しては得点を加算してもよい。これにより、ピントが合っている画像の得点を高くすることができる。図１０（Ｂ）は、各画像の得点結果の一例を示しており、各画像ＩＤに対して、メインスロットとサブスロットの得点が付けられている。
【００６２】
Ｓｔｅｐ１１では、画像得点部２０７がユーザ指定の画像群の全画像に対してＳｔｅｐ１０の画像得点化が終了したか否かを判定する。終了していない場合（Ｓｔｅｐ１１でＮｏ）、Ｓｔｅｐ１０に戻る。終了している場合（Ｓｔｅｐ１１でＹｅｓ）、Ｓｔｅｐ１２に移行する。
【００６３】
Ｓｔｅｐ１２では、見開き割当部９０９が、画像分類部９０５のシーン分割により得られたシーン数（サブ画像群の数）が見開き数入力部９０８により入力される見開き数と同じか否かを判定する。同じでない場合（Ｓｔｅｐ１２でＮｏ）、Ｓｔｅｐ１３に移行する。同じ場合（Ｓｔｅｐ１２でＹｅｓ）、Ｓｔｅｐ１６に移行する。例えば、図１０（Ａ）のシーン分割数が８であり、見開き数入力部９０８の入力数が８であればＳｔｅｐ１６に移行する。
【００６４】
Ｓｔｅｐ１３では、見開き割当部９０９が画像分類部９０５のシーン分割により得られたシーン数が見開き数入力部９０８により入力される見開き数より少ないか否かを判定する。シーン数が見開き数より少なくない場合（Ｓｔｅｐ１３でＮｏ）、Ｓｔｅｐ１５に移行する。シーン数が見開き数より少ない場合（Ｓｔｅｐ１３でＹｅｓ）はＳｔｅｐ１４に移行する。例えば、図８（Ａ）のシーン分割数が８であり、見開き数入力部９０８の入力数が１０であれば、シーン数が見開き数より少なくないため、Ｓｔｅｐ１４に移行する。
【００６５】
Ｓｔｅｐ１４では、見開き割当部９０９がサブシーン分割をする。サブシーン分割とは、シーン分割数＜見開き数の場合に分割されたシーンを更に細分割することを指す。図８（Ａ）のシーン分割数８に対して指定見開き数が１０である場合を例に挙げて説明する。図８（Ｂ）では、図８（Ａ）をサブシーン分割した結果である。破線矢印の箇所でサブ画像群をさらに分割したことで、分割数を１０にしている。サブシーン分割する基準は、画像枚数および撮影日時である。図８（Ａ）の分割の中で画像枚数が多いサブ画像群を特定する。ここでは、シーン数を８から１０に２つ増やしたいため、画像枚数が多い２つのサブ画像群を特定する。多い方からサブ画像群（５）、次にサブ画像群（１）とサブ画像群（２）である。
【００６６】
本実施形態では、サブ画像群に含まれる枚数が同じである場合は、サブ画像群に含まれる最初の画像と最後の画像の時間差が大きい方のサブ画像群を分割する。サブ画像群（１）とサブ画像群（２）は、含まれる画像の同じ枚数だが、サブ画像群（２）の方が最初の画像から最後の画像の時間差が大きいため、サブ画像群（２）を分割対象とする。すなわち、図８（Ｂ）では、サブ画像群（５）とサブ画像群（２）をそれぞれさらに分割する。
【００６７】
まず、サブ画像群（２）の分割方法について説明する。サブ画像群（２）には、画像枚数の山が２つあり、この２つは撮影日が違う。この場合は、撮影日が変わる箇所（図８（Ｂ）の破線矢印の箇所）で分割する。
【００６８】
次に、サブ画像群（５）の分割を説明する。サブ画像群（５）には画像枚数の山が３つあり、この３つは撮影日が違う。この場合も、撮影日が変わる箇所で分割する。このとき、撮影日が変わる箇所が２箇所あるが、分割後の各画像群の枚数差が小さくなるように分割する。図１１（Ｂ）では、サブ画像群（５）では、２日目と３日目の境目で分割した方が、１日目と２日目の境目で分割するよりも分割後の各画像群の枚数差が小さくなるので、２日目と３日目の境目で分割する。すなわち、図１１（Ｂ）の破線矢印の箇所で分割する。以上により分割数を８から１０にする。ここでは撮影日の違う箇所で分割したが、画像枚数が多いサブ画像群が単一日で撮影されたものである場合は、単一日の中で時間差が最大の箇所で分割する。
【００６９】
Ｓｔｅｐ１５では、見開き割当部９０９がシーン統合をする。シーン統合とは、シーン数が見開き数よりも多い場合、分割されたシーン（サブ画像群）を統合する。具体的には、シーン数と見開き数が一致するように、シーン統合をする。図８（Ｃ）は、見開き数が６の場合、図８（Ａ）をシーン統合してシーン数を６とした結果である。破線の箇所を統合、言い換えれば、破線の箇所での分割をしないことで、シーン数（サブ画像群の数）を６にする。シーン統合では、画像枚数が少ないサブ画像群を特定する。ここでは、分割数を８から６に２つ減らしたいため、画像の枚数が少ないサブ画像群を特定する。
【００７０】
画像枚数が少ないサブ画像群は、少ない方からサブ画像群（８）、サブ画像群（３）、サブ画像群（７）である。したがって、まず、サブ画像群（８）を統合対象とする。次に、サブ画像群（３）とサブ画像群（７）は、画像の枚数は同じである。ただし、サブ画像群（７）に隣接するサブ画像群（８）が統合対象であるため、サブ画像群（３）を統合対象とする。次に、統合対象のサブ画像群を、撮影日時が前のサブ画像群に統合するか、撮影日時が後のサブ画像群に統合するかを決定する。まず、サブ画像群（３）の統合を説明する。サブ画像群（３）の前後のサブ画像群（２）とサブ画像群（４）との時間差を比較すると、サブ画像群（３）の最後の画像とサブ画像群（４）の最初の画像との撮影時間の差の方がサブ画像群（３）の最初の画像とサブ画像群（２）の最後の画像との撮影時間の差よりも小さい。したがって、サブ画像群（３）は、サブ画像群（４）に統合すると決定する。すなわち、図１１（Ｃ）の破線の箇所を統合する。次に、サブ画像群（８）の統合を説明する。サブ画像群（８）は、後のサブ画像群がない為、前のサブ画像群（７）と統合する。すなわち、図１１（Ｃ）の破線箇所で統合する。なお、本実施形態では、撮影時間の差が小さいサブ画像群同士を統合することにしたが、これに限定されるものではない。例えば、統合対象のサブ画像群を撮影枚数が少ないサブ画像群に統合するようにしてもよい。
【００７１】
Ｓｔｅｐ１６では、見開き割当部９０９が見開き割当をする。Ｓｔｅｐ１２〜Ｓｔｅｐ１５によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、撮影日時が先頭のサブ画像群から見開きの先頭に割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。なお、後述する通り、１つの見開きページ内では、画像は撮影日時に並んでいなくてもよい。
【００７２】
Ｓｔｅｐ１７では、画像選択部９１０が各サブ画像群から所定枚数の画像を選択する。図１１を用いて、ある見開きに割り当てられたサブ画像群から画像を４枚選択する場合を例に挙げて説明する。なお、ここでは、見開きとは、２ページを指し、最初の見開き及び最後の見開きは、１ページとする。図１１（Ａ）は、見開きに割り当てられたサブ画像群に含まれる最初の画像から最後の画像のまでの撮影日時の時間差、言い換えれば、サブ画像群の撮影期間を示す。図１１（Ｂ）を使って、４枚選択する際の１枚目を選択する方法を説明する。テンプレートには、１つのメインスロット１００２がある。１枚目は、メインスロット用の画像を選択する。図１１（Ｂ）に示すサブ画像群の撮影期間に撮影された全ての画像のうちＳｔｅｐ１０で付けたメインスロット用の得点が最高点の画像を選択する。そして、２枚目以降はサブスロット用の画像を選択する。本実施形態では、サブ画像群の撮影期間を細分化して画像を選択することにより、サブ画像群の撮影期間の一部に集中しないようにする。まず、図１１（Ｃ）のようにサブ画像群の撮影期間を２分割して、２つの撮影期間とする。すなわち、サブ分割撮影期間を２等分して２つの撮影期間にする（グループ分けする）。次に、図１１（Ｄ）のように１枚目が選ばれていない撮影期間（実線の区間）からサブスロット用の得点が最高点の画像を２枚目として選択する。次に、図１１（Ｅ）のように、図１１（Ｄ）の各撮影期間をそれぞれ２等分する。図１１（Ｆ）の実線区間、すなわち、１枚目と２枚目が選ばれていない２つの撮影期間に撮影された画像（２つの撮影期間に対応する画像）のうちサブスロット用の得点が最高点の画像を３枚目として選択する。次に、画像を選択する撮影期間に画像が存在せず、画像選択できない例を４枚目の選択を例に挙げて説明する。本実施形態では、画像の枚数に関わらず、時間に応じて撮影期間を分割している。したがって、分割して得られた撮影期間に画像が存在しない場合がある。例えば、図１１（Ｇ）のように、まだ画像が選ばれていない撮影期間（斜線の区間）から４枚目を選択したいが、この斜線区間には画像が存在しないとする。この場合は、図１１（Ｈ）のように、画像を選択済みの各撮影期間をそれぞれ２分割する。次に、図１１（Ｉ）のように、１〜３枚目が選ばれていない実線の撮影期間に撮影された画像のうちサブスロット用の最高点の画像を４枚目として選択する。
【００７３】
Ｓｔｅｐ１８では、画像レイアウト部９１２が処理対象の見開きの画像レイアウトを決定する。テンプレート入力部９１１は、指定のテンプレート情報に従ってある見開きに対して図１２の（１−１）〜（４−４）を入力した場合を例に挙げて説明する。入力されたテンプレートのスロット数は３である。選択されている画像３枚の画像の向きが縦方向か横方向かを撮影日時の順に並べると図１２（Ａ）であったとする。ここでは、画像１６０５がメインスロット用として選択された画像であり、画像１６０６と画像１６０７がサブスロット用として選択された画像とする。本実施形態では、テンプレートの左上に撮影日時のより古い画像、右下に撮影日時のより新しい画像をレイアウトするものとする。画像１６０５は、撮影日時が一番新しく且つメインスロット用の画像であるため、図１２（３−１）〜（３−４）のテンプレートが候補となる。そして、サブスロット用の古い方の画像１６０６、すなわち、左上に配置したい画像が縦画像で、新しい方の画像１６０７が横画像である。したがって、（３−２）が、選択された画像に最も適したテンプレートとしてレイアウトが決まる。このようにＳｔｅｐ１８では、レイアウトに用いるテンプレートと、テンプレートのいずれのスロットにいずれの画像をレイアウトするかを識別できる情報が決定する。図１２では、スロット数が３の場合を例に挙げて説明を行ったが、Ｓｔｅｐ１７で、必要枚数が４枚となった場合には、スロット数４のテンプレートセットを用意して、それらに対して同様に、スロット状態と画像の状態の合致具合を判定する。これにより、どのテンプレートに画像をレイアウトするかを決めればよい。
【００７４】
Ｓｔｅｐ１９では、画像補正部９１４が画像補正をする。画像補正の条件入力部がＯＮを入力した場合は、画像補正を実施する。本実施形態では、画像補正として、覆い焼き補正、赤目補正、コントラスト補正を自動で実施する。画像補正の条件入力部がＯＦＦを入力した場合は、画像補正を実施しない。補正する画像の画素数は短辺１２００画素で、ｓＲＧＢの色空間に変換した画像に対して画像補正ＯＮ／ＯＦＦを実施する。
【００７５】
Ｓｔｅｐ２０では、レイアウト情報出力部９１５がレイアウト情報を作成する。Ｓｔｅｐ１８で決まった通りに各画像をレイアウトする。このとき、テンプレートが有する各スロットのサイズ情報に合わせてレイアウトする画像を変倍してレイアウトする。そして、テンプレートに画像をレイアウトしたビットマップデータを生成する。
【００７６】
Ｓｔｅｐ２１はＳｔｅｐ１７〜Ｓｔｅｐ２０が全ての見開きに対して終了したか否かを判定する。終了していない場合（Ｓｔｅｐ２１でＮｏ）はＳｔｅｐ１７に戻る。終了している場合（Ｓｔｅｐ２１でＹｅｓ）は自動レイアウト処理を終了する。
【００７７】
（フォトアルバムの編集）
次に、レイアウトされたフォトアルバムを編集する際の操作について説明する。ここではあるページのスロットに設定されている写真と、別のページのスロットに設定されている写真を入れ替えるという例を説明する。本実施形態においては、レイアウト後の写真（画像）を表示アイテムとみなし、ユーザ操作に基づきアイテムを移動させる場合の表示制御の例について説明する。なお、以下の処理では、ＣＰＵ２０４がＨＤＤ２０２に格納されたプログラムをＲＯＭやＲＡＭ２０１に読み出して実行することにより実現される。
【００７８】
図１３は、情報処理装置１である端末装置１３０１（スマートフォンやタブレット端末）の表示領域内に、フォトアルバムの編集画面４０１がフルスクリーン表示されている様子を示している。端末装置１３０１はホームボタン１３０２を備えている。図１３では、見開きページＡの写真ａ１と見開きページＢの写真ｂ３とを入れ替える場合の手順を示している。また、編集画面内には、表示領域内に表示されるページを変更するためのページ変更領域として、次ページ切り替え領域１３０４と前ページ切り替え領域１３０３とが設けられている。
【００７９】
図１３（１）では、サムネイルの表示領域４０２で見開きＡが選択されているため、フォトアルバムの表示領域４０３では見開きＡがプレビュー表示されている。なお、見開きＡはアルバムの３ページ目及び４ページ目に対応するものとする。見開きＡのテンプレートには、写真の配置領域としてスロットＡ１、Ａ２が設定されており、それぞれ写真ａ１、ａ２が配置されている。
【００８０】
図１３（２）は、ユーザがスロットＡ１の写真ａ１をドラッグ操作して保持している様子を示す図である。写真ａ１をドラッグして保持している状態では写真ａ１から写真を抜き出した状態であるため、スロットＡ１の中はグレーで表示して何も写真が配置されていないことを示している。
【００８１】
図１３（３）は、図１３（２）においてドラッグ操作された写真ａ１を次ページ切り替え領域１３０４まで移動させて次ページ切り替え領域１３０４に重ねた結果、表示ページが見開きＢに切り替わった状態を示している。このように表示領域のページ端部にある次ページ切り替え領域１３０４に、ドラッグ操作により写真を重ねることにより、フォトアルバムの表示領域４０３の表示は見開きＢに切り替わる。見開きＢは、アルバムの５ページ目及び６ページ目に対応する。次ページ切り替え領域１３０４は、表示領域に次のページを表示するためのページ変更領域である。画像のドラッグ操作により次ページ切り替え領域１０３４に画像を重ねた場合だけでなく、ユーザによるタップやクリックなどの操作により次ページ切り替え領域１３０４が選択された場合も表示領域４０３内の表示は次ページに切り替わる。一方、前ページ切り替え領域１３０３は前のページを表示するためのページ変更領域である。ドラッグ操作で保持されている写真を移動させ、前ページ切り替え領域１３０３に重ねることにより、フォトアルバムの表示領域４０３の表示は前のページに切り替わる。また、前ページ切り替え領域１３０３をタップやクリックなどで選択した場合も、フォトアルバムの表示領域４０３内の表示は前のページに切り替わる。なお、図１３では、見開き単位で表示領域４０３の表示を切り替えているが、本実施形態の表示切り替えは、１ページずつの切り替えでもよい。図１３（３）に示したように、見開きＢにはスロットＢ１、Ｂ２、Ｂ３があり、それぞれ写真ｂ１、ｂ２、ｂ３が配置されている。
【００８２】
図１３（４）では、スロットＢ３にドラッグした写真ａ１を重ねている。重ねたときにスロットＢ３の枠が太くなる。これはスロットＢ３に写真ａ１が配置可能であることを示している。この状態で写真ａ１のドラッグを解除して写真ａ１をドロップすると、図１３（５）のようになる。
【００８３】
図１３（５）において、写真スロットＢ３に写真ａ１が配置されていることが分かる。なお、写真スロットＢ３に写真ａ１が配置されることにより、写真スロットＢ３に元々配置されていた写真ｂ３は、写真ａ１が移動前に配置されていた写真スロットＡ１に配置される。つまり図１３（６）に示す状態となる。
【００８４】
図１３（６）は、サムネイルの表示領域４０２で見開きＡが選択されることにより、フォトアルバムの表示領域４０３に見開きＡがプレビュー表示されている様子を示す。写真スロットＡ１には写真ｂ３が配置されており、写真ａ１と写真ｂ３が入れ替わったことが分かる。
【００８５】
このように、本実施形態では編集画面において、レイアウト後に各スロットに配置されている写真を変更することが可能となる。ここで、この編集画面において、写真のドラッグ時に起こり得る課題について説明する。
【００８６】
図１４は、図１３と同様に見開きページＡの写真ａ１と見開きページＢの写真ｂ３を入れ替えようとしている場合の様子を示している。図１４（１）、（２）については、図１３（１）、（２）と同様のため説明を割愛する。図１４（３）は比較例であり、図１３（３）と異なる表示制御方法を示している。図１４（３）では、ユーザの入力位置（タッチパネルの場合はタッチ位置に対応）に対して、写真ａ１の中心部が左側にずれている。言い換えると、ユーザのタッチ位置が写真ａ１の右端にずれているように見える。これは、ユーザが勢いよくドラッグを行うことによりこのような状態となっている。つまり、通常であれば、図１４（２）に示すように、タッチ位置と写真ａ１の中心とは同じであるため、写真ａ１の中心を操作することになる。しかしながら、ページ切り替えのために、ユーザが速いスピードで写真ａ１を表示領域端部までドラッグすると、ページが切り替わる前に、指が表示領域の境界（フルスクリーン表示の場合はパネル枠）まで移動したり、パネル枠からはみ出したりしてしまう。
【００８７】
図１４（４）は、ユーザの誤操作により、ドラッグしている指が表示領域であるタッチパネルから外に出してしまったときの様子を示す模式図である。このように指がタッチパネルから外れてしまうと、タッチ操作が検出できないため、写真ａ１のドラッグ操作が解除されてしまい、ドラッグ操作をキャンセルするためのキャンセル処理が開始される。実施形態１におけるキャンセル処理とは、ドラッグ操作のリリースにより、ドラッグ操作されていたアイテム（本例では写真ａ１）を、ページ内のいずれかの配置領域へ配置させる処理である。典型的なキャンセル処理は、アイテムをドラッグ開始前の元のスロットへ戻す。
【００８８】
図１４（５）は、ユーザのドラッグ操作が解除されたことにより、写真ａ１が、元の配置領域である元のスロットＡ１に戻ろうとしている様子を示す図である。この状態はキャンセル処理中の様子を示す。
【００８９】
図１４（６）は、写真ａ１が元のスロットＡ１に戻り、キャンセル処理が完了した図である。このように、ドラッグしている指やペンがパネルからはみ出ることにより、ドラッグがキャンセル扱いとなり、ユーザの意図しない操作でキャンセル扱いになってしまう。
【００９０】
そこで、本実施形態では、このようなユーザの意図しないキャンセル処理が生じることを低減するため、ユーザの入力位置に対するアイテムの相対的な位置を制御する。
【００９１】
図１５は、本実施形態の表示制御方法を説明するための模式図である。図１５（１）は、図１３（３）と同様の図であり、写真スロットＡ１に配置された写真ａ１をドラッグした状態を示す。図１５（１）では、写真ａ１は編集画面４０１の水平方向中央部に位置しており、このとき、手の指先は写真ａ１の中心部に吸い付いている。つまり、ユーザのタッチ位置と写真ａ１の中心部とが一致しており、ユーザは写真ａ１の中心を操作していることになる。
【００９２】
図１５（２）及び図１５（３）は、図１３（２）と図１３（３）の間の期間の表示状態を示す模式図である。図１５（２）は、ドラッグ操作により写真ａ１を編集画面４０１の右側に移動させた場合の図である。このとき、写真ａ１の左側に指が吸い付いている。つまり、ユーザのタッチ位置に対して写真ａ１の相対位置は、右側にシフトしている。言い換えると、ユーザの操作位置は写真ａ１の中心よりも左側の位置であり、ユーザは写真ａ１の中心より左側を操作しているように見える。
【００９３】
図１５（３）は、ドラッグ操作により写真ａ１をさらに右側端部へ移動させた様子を示しており、写真ａ１の一部が次ページ切り替え領域１３０４に重なっている。このとき、手の指先は、図１５（２）に比べ写真ａ１のより左端部に吸い付いている。つまり、ユーザのタッチ位置に対して写真ａ１の相対位置は、より右側にシフトしている。言い換えると、ユーザの操作位置は写真ａ１の中心よりも右側の位置であり、ユーザは写真ａ１のより左端を操作しているように見える。
【００９４】
なお、図１５（４）及び図１５（５）は、写真ａ１をフォトアルバムの編集画面４０１の左側に移動させた場合の模式図である。図１５（４）では、写真ａ１の右側を指に吸い付く。つまり、ユーザのタッチ位置に対して、写真ａ１は相対的に左側にシフトしている。さらに、図１５（５）では、写真ａ１を前ページ切り替え領域１３０３に重なるために編集画面４０１の反対側の左側端部に移動させた場合の図である。このとき、手の指先は写真ａ１の右端部に吸い付く。つまり、ユーザのタッチ位置に対して、写真ａ１の相対位置はより左側にシフトしている。
【００９５】
このように、本実施形態では、編集画面４０１上でのドラッグ中のタッチ位置に応じて、ドラッグしている写真が指やペンに吸い付く位置を変更している。写真が指やペンに吸い付く位置は、フォトアルバムの編集画面４０１の水平方向におけるドラッグ中のタッチ位置によって変わる。ドラッグしている写真が右側に移動するにつれて吸い付く位置は写真の左側になり、逆に、ドラッグしている写真が左側に移動するにつれて吸い付く位置は写真の右側になる。つまり、ドラッグ操作により写真が右側に移動すると、タッチ位置に対して写真は相対的に右側にシフトする（典型的には、（タッチ位置より写真の中心部が右側に存在する）。ドラッグ操作により写真が左側に移動すると、タッチ位置に対して写真は相対的に左側にシフトする（典型的には、タッチ位置より写真の中心部が左側に存在する）。
【００９６】
このような制御により、写真が編集画面４０１の右端にあるときは、タッチ位置より写真が右側に寄っているため、タッチパネルの右端まで指を移動させる前に、ドラッグ中の写真を次ページ切り替え領域１３０４に重ねることができる。よって、指がタッチパネルの右端に到達する前にページを切り替えることができる。また、写真が編集画面４０１の左端にあるときは、タッチ位置より写真が左側に寄っているため、タッチパネルの左端まで指を移動させる前にドラッグ中の写真を前ページ切り替え領域１３０３に重ねることができる。よって、指がタッチパネルの左端に到達する前にページを切り替えることができる。このように制御することで、タッチパネル端部ぎりぎりまで指やペンを持っていかなくてもページを変更することができるため、誤って端末から手がはみ出てしまうことを低減することができる。
【００９７】
なお、図１５の例では、ドラッグ中の写真の編集画面４０１の水平方向の位置に応じて、タッチ位置に対する写真の相対位置を徐々に（連続的に）シフトさせるように移動させたが、本実施形態はそれに限るものではない。つまり、連続的ではなく、端部に近付いた時だけ、タッチ位置に対する写真の相対位置をシフトさせてもよい。図１６にその例を示す。図１６（１）、（３）、（５）は、図１５（１）、（３）、（５）と同様であり、編集画面の中央ではタッチ位置に写真の中心が対応し、編集画面の端部では、タッチ位置より写真は端部側に寄っている。一方で、図１６（２）では、図１５（２）と異なり、編集画面の右側へ移動しているにも関わらず、タッチ位置は写真の中心部となっている。図１６（４）も同様に、編集画面の左側へ移動しているにも関わらず、タッチ位置は写真の中心部となっている。このように、本実施形態では、図１６の例のように、端部の領域でのみ、タッチ位置に対する写真の相対位置をシフトさせるよう制御してもよい。
【００９８】
また、本実施形態では、ドラッグのために写真をタッチした直後（写真は保持しているが移動前の時点）は、写真の位置が編集画面４０１の水平方向のどの位置であっても、タッチ位置に写真の中心部が吸い付くようにしてもよい。つまり、タッチ位置と写真の中心部が一致するようにしてもよい。そして、その後ドラッグ操作で移動させた場合に、図１５及び１６で説明したように、タッチ位置に対するアイテム内の吸い付く位置を変更してもよい。例えば、編集画面４０１の端に近いスロットの写真をドラッグする場合でも、タッチした時点では、タッチ位置に写真の中心部が吸い付き、ドラッグ操作で写真を動かしたときに初めて吸い付く位置が中心からシフトするようにしてもよい。このように、最初に指に吸い付いた時点では写真中心部に吸い付くことで、写真をドラッグ操作のために保持したことが明確となり、最初から写真の端部に吸い付くよりも、ユーザに安心感を与えることができる。
【００９９】
以上説明したとおり、本実施形態を適用することで、タッチパネル端部ぎりぎりまで指やペンを持っていかなくてもページを変更することができる。よって、誤って端末から手がはみ出てしまうことを低減することができる。なお、上述の方法を適用しても、ユーザの操作方法によっては、指がタッチパネルからはみ出る可能性はゼロではない。そこで、誤って指がはみ出した場合であっても、ドラッグのキャンセル処理を途中でストップし、再度ドラッグを再開できるようにすることが好ましい。つまり、図１４（５）及び図１４（６）で説明したように、意図せずに写真が元のスロット（ドラッグ開始前の配置位置）に戻ってしまう前に、ドラッグを再開可能であることが好ましい。
【０１００】
よって、本実施形態では、配置領域以外（スロットではない位置）でドラッグが解除された場合に、すぐに写真が元のスロットに戻るのではなく、所定の時間の経過後に元のスロットに戻るように制御するとよい。つまり、ドラッグ解除されてから、キャンセル処理の完了（写真が元のスロットに戻る）までに所定の時間を設ける。そして、この所定時間の間は、ドラッグリリースされた写真は、所定の範囲内（典型的にはドラッグ解除された位置）に留まり、所定時間経過後に元のスロットに戻るようする。この所定の範囲内に留まっている間、つまりキャンセル処理が完了する前に、ユーザが再度タッチパネルをタッチすると、キャンセル処理がストップし、ユーザはドラッグを再開することが可能となる。
【０１０１】
なお、キャンセル処理の途中期間において、写真が所定の範囲内に待機している間、写真は所定のアニメーションを実行することが好ましい。例えば、写真が回転や搖動をしたり、徐々に透過させたり、点滅したりすることにより、写真が待機状態であることが分かりやすく、視認性が構造する。
【０１０２】
また、キャンセル処理をストップさせるためのユーザの操作は、待機範囲に留まっている写真へのタッチだけに限定されない。例えば、写真とは別の表示領域をタッチしてもキャンセル処理がストップしてもよい。そして、そのタッチした位置に写真を移動させることで、タッチした位置に写真が吸い付いてくるように見える制御を行ってもよい。
【０１０３】
（制御フロー）
次に、本実施形態に係る表示制御方法のフローを説明する。図１９は、図１５で説明したアイテムの表示に関する表示制御フローを示すフローチャートである。図１９に示すフローチャートは、例えば、ＣＰＵ２０４がＨＤＤ２０２に格納されたプログラムをＲＯＭやＲＡＭ２０１に読み出して実行することにより実現される。
【０１０４】
なお、Ｓ１０１〜Ｓ１０３は、図６で示した自動レイアウト処理の一連のフローの概略を示している。Ｓ１０１では、ユーザからの指示に基づき、ＣＰＵ２０４はフォトアルバムの種類を選択設定する。フォトアルバムの種類とは、例えば、フォトアルバムのサイズ、ページ数、綴じ方、紙の種類などのことを指す。Ｓ１０２では、ユーザからの指示に基づき、ＣＰＵ２０４はフォトアルバムの自動レイアウトに使用される写真群を選択設定する。例えば、ピクチャーフォルダーに写真が保存さている場合は、ユーザによりピクチャーフォルダー内から所定のフォルダが選択されることにより、ＣＰＵ２０４はそのフォルダの写真群をレイアウト対象として選択する。Ｓ１０３でＣＰＵ２０４はフォトアルバムの作成を開始する。例えば、Ｓ１０１で選ばれたフォトアルバムの種類とＳ１０２で選ばれた写真群に応じて、ＣＰＵ２０４は、自動で写真を配置するテンプレートを選別し、そのテンプレート内のスロットに自動で写真を配置する。なお、ここでは、自動で画像レイアウトを行う形態を説明したが、本実施形態はそれに限定されるものではなく、ユーザが手動でテンプレートや写真を選択し、フォトアルバムを作成してもよい。
【０１０５】
Ｓ１０４では、ＣＰＵ２０４は、レイアウト後のページのサムネイル一覧を表示領域４０２に表示する。
【０１０６】
Ｓ１０５では、ユーザにより表示領域４０２の所望のページ（仮に、見開きＡとする）に対応するサムネイルが選択されることにより、ＣＰＵ２０４は、表示領域４０３に見開きＡの２ページ目と３ページ目を表示する（図１３（１）に対応）。ユーザはこの画面で自動レイアウト結果のレイアウト画を手動で修正することができる。
【０１０７】
Ｓ１０６では、ユーザの入力に基づき、ＣＰＵ２０４は見開きＡのスロットＡ１の写真ａ１をドラッグして保持し、写真ａ１を移動させる。
【０１０８】
Ｓ１０７では、ＣＰＵ２０４は、ドラッグした写真ａ１の中央に指が吸い付くように写真ａ１を表示する。
【０１０９】
Ｓ１０８では、ＣＰＵ２０４は、ドラッグしている指の入力位置（つまりタッチ位置）が変わったかを判定する。Ｓ１０８において、入力位置が変化したと判定された場合（Ｓ１０８においてＹＥＳ）、Ｓ１０９へ進み、入力位置が変化していない場合（Ｓ１０８においてＮＯ）は、処理を終了する。
【０１１０】
Ｓ１０９では、ＣＰＵ２０４は、ドラッグしている指の入力位置を取得する。入力位置は、表示領域上の座標から求められる。
【０１１１】
Ｓ１１０では、ＣＰＵ２０４は、Ｓ１０９で取得した指の入力位置を基に、写真ａ１の移動後の位置を求める。具体的な移動後の位置の計算方法について図２１を用いて説明する。図２１において、アルバム表示領域の幅はＷ、アルバム表示領域の高さはＨ、ドラッグした写真ａ１の幅はｗ、ドラッグした写真ａ１の高さはｈで与えられる。また、アルバム表示領域を示すＸ、Ｙ軸において、ドラッグ後の写真ａ１の中心位置は（Ｘ，Ｙ）＝（ｘ、ｙ）で与えられる。また、ドラッグした写真の位置に基づくＩ、Ｊ軸において、指に吸い付く位置は（Ｉ，Ｊ）＝（ｉ，ｊ）で与えられる。このとき、（ｉ，ｊ）は以下の式で計算される。
ｉ＝（ｗ×（１―ｘ／Ｗ））
ｊ＝（ｈ×（１―ｙ／Ｈ））
なお、この計算式はあくまで一例であり、他の計算式を用いてもよく、ドラッグした位置によって、指に吸い付く写真の位置が変わるものであればよい。また、端末のディスプレイのサイズによって（ｉ，ｊ）の計算方法を変えるようなものであってもよい。例えば、横長のディスプレイでは、縦方向に移動できる量が少ないため、縦方向のずれ幅を大きくするなどしてもよい。
【０１１２】
Ｓ１１１では、ＣＰＵ２０４は、Ｓ１１０で算出した位置に写真ａ１を移動させる。つまり、ＣＰＵ２０４は、Ｓ１１０で算出した位置に基づき、指の入力位置に、写真上の（ｉ，ｊ）の位置が吸い付くように写真ａ１を表示させる。
【０１１３】
Ｓ１１２では、ＣＰＵ２０４は、ドラッグしている入力位置が変わったかを判定する。Ｓ１１２において、入力位置が変化したと判定された場合（Ｓ１１２においてＹＥＳ）、再度Ｓ１０９へ進む。入力位置が変化していない場合（Ｓ１１２においてＮＯ）は、処理を終了する。
【０１１４】
＜実施形態２＞
本実施形態では、アイテムとして、例えばスマートフォンやタブレット等の端末装置の表示部に表示される写真サムネイル一覧において、所定の写真を移動させる例を説明する。端末装置である情報処理装置１の構成は実施形態１と同様であるため説明を省略する。また、表示制御のフローについては実施形態１と異なる部分を中心に説明する。
【０１１５】
図１７は、本実施形態において、写真のサムネイルが一覧で表示されている画面を示す模式図である。図１７では、サムネイル一覧画面１７０１に写真が１６枚ある。ここでは、各々の写真をＰ１、Ｐ２・・・Ｐ１６と呼ぶことにする。この図１７では、サムネイル一覧画面１７０１上で、写真のサムネイルを並び替える例を示しており、写真Ｐ１１をドラッグして写真を入れ替える例である。サムネイル一覧画面１７０１には上下にスクロールするためのスクロールバー１７０２があり、ユーザがスクロールバー１７０２を操作することで表示しきれていない写真を表示することができる。また、スクロールバー１７０２を直接操作しなくても、ユーザがドラッグしている写真をサムネイル一覧画面１７０１の上部または下部の端に一定時間ドラッグ状態のまま配置することでスクロールすることもできる。
【０１１６】
まず、ＣＰＵ２０４は、図１７（１）において、写真Ｐ１１の指でのタッチ入力を受け、図１７（２）のようにドラッグ状態にする。
【０１１７】
図１７（２）のドラッグ状態では、ＣＰＵ２０４は、写真Ｐ１１の中央に指が吸い付くように制御する。つまり、タッチ位置に対して写真Ｐ１１の中心が一致するように制御する。
【０１１８】
図１７（３）では、ドラッグ操作により写真をサムネイル一覧画面１７０１の上部に持って行っており、それによってサムネイル一覧画面１７０１がスクロールしている様子を示している。スクロールにより、隠れていたＰ１、Ｐ２、Ｐ３、Ｐ４の写真が表示される。図１７（３）では、ＣＰＵ２０４は、ドラッグしている写真の下部に指が吸い付くように制御している。つまり、タッチ位置に対して写真の相対位置は上側にシフトしている。これにより、スクロール時に誤操作で指が端末の外部に出てしまうことを低減すことができる。
【０１１９】
図１７（４）は、スクロール操作が完了した状態を示す。この状態でＰ２とＰ３の間にドラッグ中のＰ１１をドロップすると、図１７（５）の状態になる。
【０１２０】
図１７（５）では、ＣＰＵ２０４は、ドロップされたＰ１１を、Ｐ２とＰ３との間に整列させる。
【０１２１】
図１７（６）では、写真をサムネイル一覧画面１７０１の下部に持って行っており、それによってサムネイル一覧画面１７０１がスクロールしている様子を示す。スクロールにより、隠れていたＰ１３、Ｐ１４、Ｐ１５、Ｐ１６の写真が表示される。図１７（６）では、ＣＰＵ２０４は、ドラッグしている写真の上部に指が吸い付くように制御している。つまり、タッチ位置に対して写真の相対位置は下側にシフトしている。これにより、スクロール時に誤操作で指が端末の外部に出てしまうことを低減することができる。
【０１２２】
図１７（７）は、スクロール操作が完了した状態を示す。この状態でＰ１４とＰ１５の間にドラッグ中のＰ１１をドロップすると、図１７（８）の状態になる。
【０１２３】
図１８（８）では、ＣＰＵ２０４は、ドロップされたＰ１１を、Ｐ１４とＰ１５の間に整列させる。
【０１２４】
以上説明したように、本実施形態においても、写真が指やペンに吸い付く位置をドラッグの位置に応じて変更することにより、端末の外部に指が出てしまってドラッグキャンセルになってしまうことを低減できる。
【０１２５】
＜実施形態３＞
本実施形態では、アイテムとして、例えばスマートフォンやタブレット等の端末装置の表示部に表示されるアプリケーションアイコンの例を説明する。情報処理装置１の構成は実施形態１と同様であるため説明を省略する。また、表示制御のフローについては実施形態１と異なる部分を中心に説明する。
【０１２６】
図１８は、本実施形態における、スマートフォンやタブレットなどタッチパネル式の端末装置１８０１のホーム画面１８０２を示す模式図である。ホーム画面１８０２は端末１８０１のホームボタン１８０３を押下した場合などに表示される。ホーム画面１８０２にはアプリケーションアイコン１８０４が一覧で表示される。この例ではアプリケーションアイコン１８０４はページ１〜２ページに各々配置されている。本実施形態では、ユーザはページ１のアプリケーションアイコンをページ２に配置させる場合について説明する。
【０１２７】
図１８（１）は、ページ１を表示した状態の図であり、アプリケーションアイコン１８０４が１２個配置されている。図１８（１）において右下のアプリケーションアイコンをドラッグして保持している。
【０１２８】
図１８（２）では、ＣＰＵ２０４は、アプリケーションアイコン１８０４をドラッグした状態のままパネルの右端に移動させた状態を示す。この位置で一定時間ドラッグ状態が保持されると、表示ページが変わる。具体的には、図１８（３）のようにページ１からページ２にページが切り替わり、最終的に図１８（４）のようにページ２が表示される。
【０１２９】
図１８（４）に示すページ２には、アプリケーションアイコン１８０４が７つ配置されている。なお、ページ２の表示後、ページ２内に設定された配置領域上でアイコンがドロップされた場合は、ＣＰＵ２０４は、その配置領域にアイコンを配置する。なお、本実施形態における配置領域とは、表示領域に予め設定された、アイコンが配置可能な領域である。なお、もしドロップされた位置にある配置領域に、既に別のアイコンが配置されていた場合は、ＣＰＵ２０４は、その別のアイコンを別の配置領域へ移動させてもよい。また、その別のアイコンとドロップされたアイコンと含むようなフォルダを新たに作成してもよい。なお、アイコンが配置領域上にあるかという判断基準は、アイコンの所定面積（例えば面積の半分）が配置領域上にある場合や、アイコン上の所定点が配置領域内の所定範囲上にある場合等、アイコンの全面積が配置領域上になくてもよい。
【０１３０】
図１８（５）では、ページ２の配置領域上でユーザが指をリリースした様子を示す。ＣＰＵ２０４は、アプリケーションアイコン１８０４のドラッグを解除し、その位置にアプリケーションアイコン１８０４を配置する。
【０１３１】
このように、本実施形態では、図１８（１）でドラッグを開始した状態、及び、ホーム画面１８０２の中央付近でドラッグしている状態では、ＣＰＵ２０４はアプリケーションアイコンを指の中央に吸い付くように制御する。一方、図１８（２）、（３）、（４）のように、アプリケーションアイコン１８０４を端末１８０１の右端に持っていった状態では、ＣＰＵ２０４はアプリケーションアイコンの左端に指が吸い付くように制御する。つまり、指の入力位置に対してアプリケーションアイコンの相対位置が右側にシフトする。なお、図１８のように吸い付く位置が左端に寄ってもアイコンのサイズや指の大きさによっては、アイコンが指に隠れる場合がある。指にアイコンが隠れると、ユーザはアイコンの位置が分かりづらく、指がタッチパネルの枠から外れることを低減するという効果が得づらい場合がある。そこで図２０に示すように、吸い付く位置をアイコンの端からさらに離し、アイコンから離れた位置に吸い付くように制御してもよい。つまり、タッチ位置に対してアイコンの相対位置をよりシフトさせ、タッチ位置からアイコンが離れるように制御してもよい。
【０１３２】
図１９（２）、（３）、（４）では、アイコンをドラッグはしているが吸い付く位置が手から離れている。このように吸い付く位置をオブジェクトから離すことによって、より早いタイミングで表示領域端部へアイコンが到達するため、端までアイコンを持っていかなくてもページ切り替えを行うことができる。
【０１３３】
以上説明したように、本実施形態においても、アイコンが指やペンに吸い付く位置をドラッグの位置に応じて変更することにより、端末の外部に指が出てしまってドラッグキャンセルとなってしまうことを低減できる。
【０１３４】
＜他の実施形態＞
上述した実施形態では、アイテムとして、レイアウト後の写真やアプリケーションアイコンの例について記載したが、その他のアイテムにおいても実現される。例えば、写真以外の画像、テキストボックス、操作ボタン、ショートカット、コンテンツ等の表示アイテムであってもよい。
【０１３５】
また、上述した実施形態では、ＣＰＵ２０４がアイテムの表示の制御をしていたが、ＧＰＵがアイテムの表示の制御を行ってもよい。
【０１３６】
また、上述した実施形態では、情報処理装置１として、スマートフォンやタブレット等の端末装置の例を記載したが、その他の装置においても実現される。例えば、ＰＣや、プリンタ等の画像処理装置でもよい。
【０１３７】
上述した各実施形態では、タッチパネル式の端末での指やペンによる操作で説明したが本発明はそれに限定されるものではなく、マウスのようなポインティングデバイスによる操作に適用してもよい。例えば、マウスの操作でドラッグしたアイコンがアプリケーションウィンドウの外枠に近づくに従って、アイコンを保持しているマウスカーソルの位置が変わるようなものであってもよい。
【０１３８】
上述した各実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【０１３９】
８０  アプリケーション
２０４  ＣＰＵ
２０１  ＲＡＭ
２０２  ＨＤＤ
【図１】
2019067260.tif 000003
【図２】
2019067260.tif 000004
【図３】
2019067260.tif 000005
【図４】
2019067260.tif 000006
【図５】
2019067260.tif 000007
【図６】
2019067260.tif 000008
【図７】
2019067260.tif 000009
【図８】
2019067260.tif 000010
【図９】
2019067260.tif 000011
【図１０】
2019067260.tif 000012
【図１１】
2019067260.tif 000013
【図１２】
2019067260.tif 000014
【図１３】
2019067260.tif 000015
【図１４】
2019067260.tif 000016
【図１５】
2019067260.tif 000017
【図１６】
2019067260.tif 000018
【図１７】
2019067260.tif 000019
【図１８】
2019067260.tif 000020
【図１９】
2019067260.tif 000021
【図２０】
2019067260.tif 000022
【図２１】
2019067260.tif 000023