JP2019067260A - 情報処理装置、表示制御方法、及びプログラム - Google Patents

情報処理装置、表示制御方法、及びプログラム Download PDF

Info

Publication number
JP2019067260A
JP2019067260A JP2017193783A JP2017193783A JP2019067260A JP 2019067260 A JP2019067260 A JP 2019067260A JP 2017193783 A JP2017193783 A JP 2017193783A JP 2017193783 A JP2017193783 A JP 2017193783A JP 2019067260 A JP2019067260 A JP 2019067260A
Authority
JP
Japan
Prior art keywords
item
image
display area
drag operation
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017193783A
Other languages
English (en)
Other versions
JP6723966B2 (ja
Inventor
智也 石田
Tomoya Ishida
智也 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017193783A priority Critical patent/JP6723966B2/ja
Priority to US16/144,745 priority patent/US11209973B2/en
Publication of JP2019067260A publication Critical patent/JP2019067260A/ja
Application granted granted Critical
Publication of JP6723966B2 publication Critical patent/JP6723966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 アイテムを表示領域の端部にドラッグする場合に、誤ってドラッグ処理が解除されてしまう。【解決手段】 ユーザのドラッグ操作に応じてアイテムの移動を制御する制御手段と、表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、を備え、前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第1の端部側に移動させる場合、前記第1の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第1の端部側にシフトされた位置となるよう、前記アイテムを移動させる。【選択図】 図15

Description

本発明は、情報処理装置、表示制御方法、及びプログラムに関する。特に、アイテムの表示制御を行う技術に関する。
スマートフォンやタブレット端末等のタッチパネルの操作において、ドラッグ&ドロップによってアプリケーションアイコン等のアイテムを別ページに移動させる方法がある。この方法の場合、まずユーザは、そのアイコンを画面の左右の端にドラッグして移動させることによりページを順番にめくる。そして、所望のページが表示されたら、そのページでアイコンの画面の左右の端から離してドロップすることにより、所望のページにアイコンを再配置する。
特許文献1ではドラッグ&ドロップにより、アイコンを現在のページから他のページに遷移させる操作性を向上させている。特許文献1ではドラッグしたアイコンが表示枠の端部に所定の時間接触したときにページを遷移させている。
特開2016−115337号公報
特許文献1では、ドラッグしたアイコン等のアイテムを表示枠の端部に接触させるというユーザ操作においては、ドラッグ操作をしている指やペンが誤って表示枠から外れてしまうことがあった。このときタッチセンサーから指やペンが離れてしまうためドラッグ操作が解除されてしまい、ページ遷移の操作がキャンセルされてしまう課題があった。また、指やペンでアイテムを移動させる場合に限らず、マウスを用いてアイテムを移動させる場合であっても、アイテムを表示枠の端部に接触させる前に指がマウスから離れてしまうとドラッグ操作がキャンセルされてしまうため、同様の課題が生じうる。
本発明は、上記課題に鑑み、アイテムを移動する際のユーザの利便性をより高めることを目的とする。
本発明の情報処理装置は、表示部の表示領域にアイテムを表示させる情報処理装置であって、ユーザのドラッグ操作に応じて前記アイテムの移動を制御する制御手段と、前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、を備え、前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第1の端部側に移動させる場合、前記第1の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第1の端部側にシフトされた位置となるよう、前記アイテムを移動させる。
本発明により、アイテムを移動する際のユーザの利便性をより高めることができる。
情報処理装置を含むシステムの構成を示す図である。 情報処理装置のハードウェア構成を示す図である。 情報処理装置のソフトウェア構成を示す図である。 アルバム作成アプリケーションにより提供される画面を示す模式図である。 アルバム作成アプリケーションの自動レイアウト処理部を示す図である。 自動レイアウト処理の流れを示すフローチャートである。 自動レイアウト処理における画像解析情報を説明する図である。 自動レイアウト処理における画像群分割を説明する図である。 自動レイアウト処理におけるシーン分類を説明する図である。 自動レイアウト処理における画像得点を説明する図である。 自動レイアウト処理における画像選択を説明する図である。 自動レイアウト処理における画像レイアウトを説明する図である。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。 表示制御方法を示すフローチャートである。 表示制御方法について説明する模式図である。 表示制御方法について説明する模式図である。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
本実施形態では、写真等の画像をレイアウトして複数のページからなるフォトアルバム(フォトブック)を作成するアプリケーションを例に説明する。このようなアプリケーションの場合、自動で画像を配置してレイアウトした後、レイアウトされた画像をユーザが編集できるよう編集画面を提供する。本実施形態では、この編集画面において、アイテムとしての画像をドラッグ操作で移動させる際に、表示領域内におけるユーザによるドラッグ操作の入力位置(例えばタッチ位置)に基づいて、画像の位置を制御する。以下では、まずシステム及び装置の構成と、画像のレイアウト方法について説明した後、レイアウト結果の編集と表示制御方法について説明する。
(システムの構成)
図1は、フォトアルバム作成/注文のための情報処理システムの構成の一例を示す図である。図1に示すように、情報処理システムは、ユーザが使用する情報処理装置1と、フォトアルバムを作成する会社の情報処理装置2とを有し、情報処理装置1と情報処理装置2は、インターネット3を介して接続されている。情報処理装置1は、例えば、パーソナルコンピュータが挙げられる。情報処理装置2は、例えば、サーバPCである。情報処理装置1、情報処理装置2は、例えばOperating System(以下、OSと略す場合がある)として、Windows(登録商標)8又はWindows(登録商標) Server 2012と同等のOSがインストールされている。情報処理装置1、情報処理装置2は、それぞれEthernet(登録商標)で構成されるネットワーク4及び8に接続されている。
情報処理装置1には、フォトアルバム作成のためのアプリケーション80(以下、単にアプリともいう)がインストールされている。アプリは、例えば、Windows(登録商標)用の実行可能形式のファイル(*.EXE)で構成される。また、情報処理装置1には、Webブラウザアプリケーション143(以下、Webブラウザともいう)がインストールされている。Webブラウザ143は、WWW(WorldWideWeb)を利用する際に用いられるブラウザである。ネットワーク4は、情報処理装置1を使用するユーザのためのネットワークであり、例えば、一般家庭用のホームネットワークが挙げられる。
情報処理装置2は、Webサーバの機能を備えるWebサーバ9を含み、例えば、インターネット3を介して所定の会社(仮にABC社とする)のWebサイトを提供する。ショッピングサイト11は、ABC社がユーザ向けにサービスを提供しているショッピングサイトであり、ユーザはショッピングサイト11を利用してフォトアルバムを注文することができる。
図2は、情報処理装置1のハードウェア構成の一例を表す図である。なお、情報処理装置2も同様の構成を有するものとする。ただし、情報処理装置1と情報処理装置2は、同一の構成からなる必要はない。図2に示すように、情報処理装置は、CPU204、RAM201、ROM203、HDD202、表示部205、入力部208、通信制御部207を有し、それぞれがシステムバス206により接続されている。
CPU(中央演算装置/プロセッサ)204は、システム制御部であり、情報処理装置1全体を制御する。また、CPU204は、本実施形態で説明する表示制御方法をプログラムに従って実行する。
RAM201は、ランダムアクセスメモリであり、CPU204によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ROM203は、CPU204により実行されるプログラムが記憶されている。
HDD(ハードディスク)202は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。HDD202は、アルバムアプリ80、Webブラウザ143等のアプリケーションや、図3で説明する各モジュール(ソフトウェア)を記憶し、必要に応じてRAM201に読み出されてCPU204により実行される。これにより、CPU204が、アプリケーション80、Webブラウザ143等のアプリケーションや、図3に示す各モジュール(ソフトウェア)の機能を実現する。
表示部205は、本実施形態のUI(ユーザーインターフェイス)や画像のレイアウト結果をユーザに表示する。表示部205は、タッチセンサー機能を備えてもよい。入力部208は、ユーザが各種操作をする際に用いられ、例えば、表示部205に表示されたUI上に所定の情報を入力するのに用いられる。
通信制御部207は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、自動レイアウトをして生成したアルバムデータは、通信制御部207を介して情報処理装置2に送信される。
図3は、情報処理装置1のHDD202に保存されているソフトウェアモジュール群の構成を示す図である。図3に示したソフトウェアモジュールはHDD202に保存されているソフトウェアモジュール群の一部を示したものであって、全てではない。また、HDD204に保存されるソフトウェアモジュール群は、情報処理装置1に搭載されるOSや、情報処理装置1の使用環境などに応じて適宜変更される。
モジュール92は、Ethernetを制御するEthernet制御スタックである。モジュール91は、IP Networkを制御するIP Network制御スタックである。モジュール90は、ネットワーク上のデバイス探索の仕組みを提供するWSD(Web Service on Devices)を制御するWSD制御スタックである。モジュール88は、ネットワークのプラグアンドプレイを制御するPnP−X制御スタックである。尚、PnP−Xとは、ネットワーク接続デバイスに対するサポートを提供する、プラグアンドプレイの一連の拡張機能としてWindows8(登録商標)に標準搭載されている機能であるPlug and Play Extensionsの略称である。モジュール85は、デバイスドライバ群であり、OSに標準で同梱されている標準ドライバ群87と、IndependentHardwareVendor(IHV)から提供されるIHV製ドライバ群86とを含んで構成される。
モジュール84は、アプリケーション/DDIインタフェースであり、ApplicationProgramingInterface(API)、DeviceDriverInterface(DDI)を含んで構成される。アプリケーション群82は、アプリケーション80、Webブラウザ143を含むアプリケーション群である。
図4は、フォトアルバムアプリケーションの実行によりCPU204によって提供される表示画面であり、フォトアルバムを編集するための編集画面の一例である。編集画面401は、フォトアルバムアプリケーションにより提供される。表示領域402は、フォトアルバムの各ページのサムネイルを一覧表示する領域である。表示領域403は、表示領域402で選択されたページのプレビュー画像を表示する領域であり、レイアウト画像の編集を行うことができる。
表示領域402において、ユーザが各ページのサムネイルの中から所望のサムネイルを選択することで、そのページが選択状態の表示404になる。図4では、3〜4ページの2ページ分(見開き1つ分)が選択状態であり、このページのレイアウト画像が表示領域403に表示される。なお見開きとは、たとえば表示においてはひとつの表示用ウィンドウに相当し、印刷においては印刷された互いに隣接する1対のページに相当する。
表示領域403では、フォトアルバムの編集操作が可能となる。レイアウト画像において表示されるテンプレートは、1以上のスロットを有する。図4では、3ページ目(図中左ページ)に3つのスロット405を有し、4ページ目(図中右ページ)に1つのスロット405を有する。スロット405は、スロットであり、各スロットには写真が割り当てられる。なお、本実施形態では、各スロット405には、自動で写真が割当てられている。テキストボックス406にはユーザにより任意のテキストが入力される。
ボタン407は、アプリケーションにより作成した(編集した)フォトアルバムをカートに入れるためのボタンである。このボタン407を押すことにより、編集したフォトアルバムがインターネット3経由で情報処理装置2のショッピングカートにアップロードされる。
(自動レイアウト処理部の構成)
図5は、アルバム作成アプリケーションの一部の機能のソフトウェアブロック図である。アルバム作成アプリケーションは様々な機能を持つが、本実施形態では、特に自動レイアウト処理部916により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、撮影された写真をその内容や属性に基づいて分類し、あるいは選択して写真をレイアウトし、表示部205に表示するアルバム画像を生成するための機能である。
本実施形態では、アルバム作成アプリケーションは、表示部205に表示されているアプリケーションのアイコンがユーザにより押下されることにより起動する。図5に示すように、アルバム作成アプリケーションは、アルバム作成条件指定部901と、自動レイアウト処理部916と、を含む。マウス等の入力部208を介したUI操作に応じてアルバム作成条件を自動レイアウト処理部916に指定する。
画像取得部902は、アルバム作成指定部から指定された画像群をHDD202から取得する。ここでいう画像群とは、1つのアルバム作成の際にレイアウトする候補画像群を指す。例えば、アルバム作成条件指定部201において、XX年1月1日〜XX年12月31日が指定された場合は、XX年1月1日〜XX年12月31日に撮影された画像全てが指定された画像群に該当する。
画像変換903は、以降の処理に使う画像データを所望の画素数や色情報に変換する。本実施形態では、短辺画素の画素数とsRGBの色情報の解析画像に変換する。
画像解析部904は、解析画像から後述の特徴量取得、顔検出、表情認識、個人認識を実施する処理である。また、HDD202から取得した画像に付随したデータ、例えばExif情報から撮影日時の取得も画像処理部904で実施する。
画像分類部905は、画像群に対して撮影日時情報や枚数、検出した顔情報を使って後述のシーン分割、シーン分類を実施する処理である。シーンとは、旅行や日常、結婚式等の撮影シーンのことである。シーンとは、例えば、一つの撮影対象について一時期の撮影機会に撮影された画像の集まりであるということもできる。
主人公情報入力部906は、アルバム作成条件指定部901から指示された主人公のID(識別情報)を画像得点部に入力する。
画像得点部907は、各画像に対して得点付けをする。本実施形態では、レイアウトに適した画像が高得点になるように得点付けをする。レイアウトに適した画像が高得点になるように得点付けする際は、画像解析部904で得られた情報、画像分類部905で得られた情報を使う。画像得点部907は、主人公情報入力部906から入力された主人公IDが含まれる画像の得点が高得点になるように、各画像に対して得点付けをする。
見開き割当部909は、画像群を分割して各見開きに割り当てる。ここでいう見開きとは、例えばアルバムを作成した際の見開きであり2ページ分に相当する。
見開き入力部908は、アルバム作成条件指定部904から指定されたアルバムの見開き数を見開き割当部909に入力する。
見開き割当部909は、入力された見開き数に応じて画像群を分割して各見開きに画像群の一部を割り当てる。例えば、見開き数が5である場合、取得した画像群を5つに分割して小画像群を生成し、各見開きに1つの画像群を割り当てる。
画像選択部910は、見開き割当部909で各見開きに割り当てられた画像群の一部から画像得点部907で付けた得点に基づいて画像を選択する。
テンプレート入力部911は、アルバム作成条件指定部901から指定されたテンプレート情報に応じた複数のテンプレートを画像レイアウト部912に入力する。
画像レイアウト部912は、画像のレイアウトを決定する。具体的には、テンプレート入力部911が入力したそれぞれのテンプレートのうち、画像選択部910が選択した画像に適したテンプレートを選択し、各画像のレイアウト(配置位置)を決定する。
画像補正条件入力部913は、アルバム作成条件指定部901から指定された画像補正のON/OFF条件を画像補正部914に入力する。
画像補正部914は、覆い焼き補正、赤目補正、コントラスト補正をする。画像補正部914は画像補正条件ONの場合は、画像に対して補正を実施する。画像補正条件OFFの場合は、補正を実施しない。尚、画像補正部914には、画像変換部903から入力された画像に対して補正のON/OFFを実施する。画像変化部903から画像補正部914に入力する画像の画素数は、画像レイアウト部912で決定したレイアウトのサイズに合わせて変えられる構成となっている。
レイアウト情報出力部915は、画像レイアウト部912が決定した画像レイアウトに従って、ディスプレイに表示する為のレイアウト情報を出力する。レイアウト情報は例えば、選択したテンプレートに選択した画像をレイアウトしたビットマップデータである。
(自動レイアウト処理のフロー)
図6は本実施形態に係るアルバム作成アプリケーションの自動レイアウト処理部916に関する処理フローを示すフローチャートである。図6に示すフローチャートは、例えば、CPU204がHDD202に格納されたプログラムをROMやRAM201に読み出して実行することにより実現される。図6を使って、自動レイアウトの処理フローを以下説明する。
Step01では、画像変換部903で解析画像を生成する。アルバム作成条件指定部901で指定されたHDD202の画像群の各画像を所望の画素数と色情報に変換する。なお、ここで変換する画素数及び色情報は、予め決められており、保存されている。本実施形態では、短辺画素とsRGBの色情報の解析画像に変換する。
Step02では、画像解析部904で画像特徴量を取得する。HDD202から取得した各画像データに付随する例えばExif情報から撮影日時を取得する。また、Step01で生成された解析画像から特徴量を取得する。特徴量としては、例えば、ピントが挙げられる。エッジの検出方法として一般的にソーベルフィルタが知られている。ソーベルフィルタでエッジ検出して、エッジの始点と終点の輝度差を始点と終点の距離で割ればエッジの傾きを算出できる。画像中のエッジの平均傾きを算出して、平均傾き大の画像は平均傾き小の画像よりもピントが合っていると考えることが出来る。傾きに対して異なる値の複数の閾値を設定し、どの閾値以上かを判別することでピント量を出せる。本実施形態では異なる2つの閾値を設定し、○△×の3段階でピント量を判別する。アルバムに採用したいピントの傾きを○、許容できるピントの傾きを△、許容できない傾きを×として、実験を通して閾値を設定する。
Step03では、画像解析部904で顔検出を実施する。Step01で生成された解析画像から顔を検出する。顔の検出は、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するAdaboostが挙げられる。本実施形態では、Adaboostにより作成した強識別器により人物(オブジェクト)の顔を検出する。顔画像を抽出すると共に、検出した顔位置の左上座標値と右下座標値を取得する。なお、ここでいう「画像」とはStep01で生成された画像データにより表される画像である。この2種の座標を特定することにより、人物の顔の位置と顔のサイズを特定することができる。なお、ここでは、人物の顔を検出するものとしたが、人物の顔に限らず、犬や猫等の動物、花、食べ物、建物、置物等のオブジェクトを顔の代わりの検出対象としてAdaboostによって強識別器を作成することができる。すなわち、顔以外のオブジェクトを検出するようにしてもよい。
Step04では、画像解析部904で個人認識をする。まずStep03で抽出した顔画像を顔辞書データベースに個人ID毎に保存されている代表顔画像との類似性を比較する。そして、類似性が閾値以上で最も類似性が高いIDを抽出した顔画像のIDとする。なお、類似性が閾値未満の場合は新規の顔として新規の個人IDとして顔辞書データベースに抽出した顔画像を登録する。
Step02からStep04で取得した画像解析情報は、図7に示すように各画像を識別するID毎に区別して記憶する。Step02で取得した撮影日時情報とピント判別結果、Step03で検出した顔の数と位置情報を保存する。なお、顔の位置情報はStep04で取得した個人ID毎に区別して記憶する。画像データにおいて顔が検出されない場合は、Step02で取得した撮影日時情報及びピント判別結果が保存される。
Step05では、アルバム作成条件指定部201で指定されたHDD104の画像群の全画像に対してStep01からStep04が終了したか否かを判定する。終了していない場合(Step05でNo)、Step01に戻る。終了している場合(Step05でYes)はStep06に移行する。
Step06では、画像分類部205でシーン分割をする。シーン分割とは、取得した画像群をシーンに応じて複数のサブ画像群に分割することを指す。具体的には、Step02で取得済みの撮影日時情報に基づいて、画像と画像との時間差を頼りに画像群を複数に分割する。画像と画像の撮影日が連続していない場合、すなわち、画像間に撮影していない日が存在する場合は、分割する。次に、撮影日が連続する場合について説明する。本実施形態では、画像と画像の撮影時間の差が16時間以上空いている場合は分割する。画像と画像の撮影時間の差が16時間未満の場合は、連続する各日の最初の撮影から最後の撮影までの時間差が4時間未満なら分割する。本実施形態では、4時間以上の場合は、連続する各日の撮影枚数が50枚未満なら分割し、50枚以上であれば分割しないものとする。なお、分割の際の時間差の閾値や枚数の閾値は、これに限定されるものではない。図8(A)は、上述したシーン分割方法で分割した結果を示している。
Step07では、画像分類部906でシーン分類をする。本実施形態では、各サブ画像群(各シーン)を旅行、日常、セレモニーの3つに分類する場合を例に挙げて説明するが、分類はこれに限定されるものではない。まず、旅行、日常、セレモニーのうちいずれに分類されるかを予め判定したサブ画像群を複数取得する。各画像群について、撮影の特徴量を取得する。本実施形態で取得する特徴量は、例えば、撮影期間、撮影枚数、撮影人数である。撮影期間は、画像群の最初の撮影から最後の撮影までの時間差である。撮影枚数は、サブ画像群に含まれる画像の数(写真の枚数)である。撮影人数は、顔が写っている画像における顔の数である。すなわち、1つの画像に含まれる顔の数である。そして、複数のサブ画像群に対して、撮影期間の平均値と標準偏差、撮影枚数の平均値と標準偏差、1画像あたりの人数の平均値と標準偏差を求める。なお、本実施形態では、1画像あたりの顔の数が、1画像あたりの人数とする。図9は、撮影期間(時間)、撮影枚数(枚)、撮影人数(人)の各平均値と標準偏差を示す。これらの求めた値は、アルバム作成アプリケーションのプログラムに予め組み込んでおく。アルバム作成アプリケーションが起動された後、ユーザがパスボックス302で指定した画像群のStep06でシーン分割された各分割に対して、撮影期間と撮影枚数、撮影人数の平均値を算出する。そして、シーン毎に、前記各サブ画像群の撮影期間、撮影枚数、撮影人数の特徴量について、それぞれの平均値と標準偏差に基づいて、以下の式により得点化を実施する。
得点=50−|10×(平均値−特徴量)/標準偏差| (式1)
平均得点=(撮影期間の得点+撮影枚数の得点+人数の得点)/特徴量項目数 (式2)
以上によって、旅行、日常、セレモニー毎の平均得点が算出される。サブ画像群毎に最高点のシーンをそのサブ画像群のシーンとして分類する。2以上のシーンが同点の場合は、優先シーンに分類する。例えば本実施形態では、日常>セレモニー>旅行の順であり、日常の優先度を最も高くしている。
図8(A)のシーン分割された後のサブ画像群(5)は、撮影期間が36時間、撮影枚数が300枚、撮影人数が1.7人であった。旅行の平均得点は45.32、日常の平均得点は18.38、セレモニーの平均得点は−29.92となり、シーンは旅行に分類される。分類したシーンは識別ができるようにシーンIDで管理する。
Step08では、Step06で分割された全サブ群に対してStep07のシーン分類が終了したか否かを判定する。終了していない場合(Step08でNo)、Step07に戻る。終了している場合(Step08でYes)、Step09に移行する。
Step09では、画像得点化部207で主人公設定をする。主人公設定はユーザが指定した画像群に対して実施され、自動と手動の2種類がある。自動で主人公を設定する場合、Step04の個人認識の結果と、Step06のシーン分割の結果に基づいて設定をする。Step04で取得した結果から、サブ画像群に登場する各個人IDの回数、各シーンに登場する各個人IDの回数、各個人IDが登場するシーンの回数等を特定し、これらの情報から自動で主人公を設定する。本実施形態では、サブ画像群に複数シーンがある場合は複数のシーンに登場する個人IDを主人公IDと設定し、サブ画像群が単一シーンである場合は、単一シーンの登場回数が多い個人IDを主人公IDと設定する。主人公設定部304でユーザが特定のアイコンを指定している場合は、主人公情報入力部206を介して選択されたアイコンに対応する個人IDが画像得点部207に伝えられる。ユーザ指定の個人IDがある場合は、上述した自動設定の主人公IDは無視して、ユーザ指定の個人IDを主人公IDと設定する。このように、主人公設定部304の指定に基づく設定を手動設定とする。
Step10では、画像得点化部207で得点化をする。得点化とは、後述する画像選択時に参照する値であり、画像データ毎に後述する観点で評価した得点を付ける。
図12は、3枚の画像をレイアウトする際に用いるテンプレート群を示している。図12の(1−1)に示すテンプレート1601は1枚のテンプレートであり、メインスロット1602と、サブスロット1603、サブスロット1604を有する。メインスロット1602とは、テンプレート1601でメインとなるスロット(画像をレイアウトする枠)であり、サブスロット1603とサブスロット1604よりもサイズが大きい。また、サブスロットとは、各テンプレートにおいて、メインスロット以外のスロットである。メインスロット用の得点とサブスロット用の得点の両方を各画像データに付ける。得点化処理では、メインスロット用の得点とサブスロット用の得点の両方を画像毎に付ける。
次に、図10(A)に画像データの得点化の基準を示す。図10(A)は旅行、日常、セレモニーのシーン毎に得点が高くなる画像の特徴を、メインスロットとサブスロットに分けてまとめた表である。なお、図10(A)に示すように、スロットの種類に応じて、得点が高くなる特徴が異なる。例えば、サブ画像群のシーン分類が旅行である場合、人物と風景が入ったひいた画像は、メインスロットとしての得点が高くなり、顔のアップや横顔の画像は、サブスロットとしての得点が高くなる。例えば、サブ画像群のシーン分類が日常である場合、顔のアップや横顔の画像は、メインスロットとしての得点が高くなり、人物と風景が入ったひいた画像は、サブスロットとしての得点が高くなる。例えば、サブ画像群のシーン分類がセレモニーである場合、2人の距離が近い画像は、メインスロットとしての得点が高くなり、大人数の画像は、サブスロットとしての得点が高くなる。このように、シーン及びスロットの種類に応じて、得点が高くなる特徴、言い換えれば、評価基準が異なる。本実施形態では、シーン及びスロットの種類に応じた得点が高くなる特徴は、アプリケーションにおいて予め設定しておき、プログラムに含むものとする。なお、得点が高くなる特徴は、上述したものに限定されるものではない。図10(A)に示す各シーンのメインスロットとサブスロットのそれぞれの特徴に基づいて、各サブ画像群に含まれる各画像データに得点を付ける。各画像における顔の数、各画像における顔の位置、各画像における顔のサイズを取得し、平均値と標準偏差を各シーン各スロット種類(メインスロットとサブスロット)に対して求めて、アルバム作成アプリケーションのプログラムに記憶しておく。ユーザが指定した画像群の各画像データが表す画像がいずれのシーンに属するか(分類されるか)は、Step07のシーン分類の結果から特定する。そして、注目画像のシーンに対応する予め求めた前記平均値と標準偏差、注目画像における主人公IDの顔の数、顔の位置、顔サイズの各特徴量に基づいて以下の式を使って得点と平均得点を出す。
得点=50−|10×(平均値−特徴量)/標準偏差|
平均得点=(顔数の得点+顔位置の得点+顔サイズの得点)/特徴量項目数
なお、得点化は、メインスロット用とサブスロット用の両方を実施する。またアルバムに使う画像は、図7に示すピントの特徴量が○である画像IDの画像に対しては得点を加算してもよい。これにより、ピントが合っている画像の得点を高くすることができる。図10(B)は、各画像の得点結果の一例を示しており、各画像IDに対して、メインスロットとサブスロットの得点が付けられている。
Step11では、画像得点部207がユーザ指定の画像群の全画像に対してStep10の画像得点化が終了したか否かを判定する。終了していない場合(Step11でNo)、Step10に戻る。終了している場合(Step11でYes)、Step12に移行する。
Step12では、見開き割当部909が、画像分類部905のシーン分割により得られたシーン数(サブ画像群の数)が見開き数入力部908により入力される見開き数と同じか否かを判定する。同じでない場合(Step12でNo)、Step13に移行する。同じ場合(Step12でYes)、Step16に移行する。例えば、図10(A)のシーン分割数が8であり、見開き数入力部908の入力数が8であればStep16に移行する。
Step13では、見開き割当部909が画像分類部905のシーン分割により得られたシーン数が見開き数入力部908により入力される見開き数より少ないか否かを判定する。シーン数が見開き数より少なくない場合(Step13でNo)、Step15に移行する。シーン数が見開き数より少ない場合(Step13でYes)はStep14に移行する。例えば、図8(A)のシーン分割数が8であり、見開き数入力部908の入力数が10であれば、シーン数が見開き数より少なくないため、Step14に移行する。
Step14では、見開き割当部909がサブシーン分割をする。サブシーン分割とは、シーン分割数<見開き数の場合に分割されたシーンを更に細分割することを指す。図8(A)のシーン分割数8に対して指定見開き数が10である場合を例に挙げて説明する。図8(B)では、図8(A)をサブシーン分割した結果である。破線矢印の箇所でサブ画像群をさらに分割したことで、分割数を10にしている。サブシーン分割する基準は、画像枚数および撮影日時である。図8(A)の分割の中で画像枚数が多いサブ画像群を特定する。ここでは、シーン数を8から10に2つ増やしたいため、画像枚数が多い2つのサブ画像群を特定する。多い方からサブ画像群(5)、次にサブ画像群(1)とサブ画像群(2)である。
本実施形態では、サブ画像群に含まれる枚数が同じである場合は、サブ画像群に含まれる最初の画像と最後の画像の時間差が大きい方のサブ画像群を分割する。サブ画像群(1)とサブ画像群(2)は、含まれる画像の同じ枚数だが、サブ画像群(2)の方が最初の画像から最後の画像の時間差が大きいため、サブ画像群(2)を分割対象とする。すなわち、図8(B)では、サブ画像群(5)とサブ画像群(2)をそれぞれさらに分割する。
まず、サブ画像群(2)の分割方法について説明する。サブ画像群(2)には、画像枚数の山が2つあり、この2つは撮影日が違う。この場合は、撮影日が変わる箇所(図8(B)の破線矢印の箇所)で分割する。
次に、サブ画像群(5)の分割を説明する。サブ画像群(5)には画像枚数の山が3つあり、この3つは撮影日が違う。この場合も、撮影日が変わる箇所で分割する。このとき、撮影日が変わる箇所が2箇所あるが、分割後の各画像群の枚数差が小さくなるように分割する。図11(B)では、サブ画像群(5)では、2日目と3日目の境目で分割した方が、1日目と2日目の境目で分割するよりも分割後の各画像群の枚数差が小さくなるので、2日目と3日目の境目で分割する。すなわち、図11(B)の破線矢印の箇所で分割する。以上により分割数を8から10にする。ここでは撮影日の違う箇所で分割したが、画像枚数が多いサブ画像群が単一日で撮影されたものである場合は、単一日の中で時間差が最大の箇所で分割する。
Step15では、見開き割当部909がシーン統合をする。シーン統合とは、シーン数が見開き数よりも多い場合、分割されたシーン(サブ画像群)を統合する。具体的には、シーン数と見開き数が一致するように、シーン統合をする。図8(C)は、見開き数が6の場合、図8(A)をシーン統合してシーン数を6とした結果である。破線の箇所を統合、言い換えれば、破線の箇所での分割をしないことで、シーン数(サブ画像群の数)を6にする。シーン統合では、画像枚数が少ないサブ画像群を特定する。ここでは、分割数を8から6に2つ減らしたいため、画像の枚数が少ないサブ画像群を特定する。
画像枚数が少ないサブ画像群は、少ない方からサブ画像群(8)、サブ画像群(3)、サブ画像群(7)である。したがって、まず、サブ画像群(8)を統合対象とする。次に、サブ画像群(3)とサブ画像群(7)は、画像の枚数は同じである。ただし、サブ画像群(7)に隣接するサブ画像群(8)が統合対象であるため、サブ画像群(3)を統合対象とする。次に、統合対象のサブ画像群を、撮影日時が前のサブ画像群に統合するか、撮影日時が後のサブ画像群に統合するかを決定する。まず、サブ画像群(3)の統合を説明する。サブ画像群(3)の前後のサブ画像群(2)とサブ画像群(4)との時間差を比較すると、サブ画像群(3)の最後の画像とサブ画像群(4)の最初の画像との撮影時間の差の方がサブ画像群(3)の最初の画像とサブ画像群(2)の最後の画像との撮影時間の差よりも小さい。したがって、サブ画像群(3)は、サブ画像群(4)に統合すると決定する。すなわち、図11(C)の破線の箇所を統合する。次に、サブ画像群(8)の統合を説明する。サブ画像群(8)は、後のサブ画像群がない為、前のサブ画像群(7)と統合する。すなわち、図11(C)の破線箇所で統合する。なお、本実施形態では、撮影時間の差が小さいサブ画像群同士を統合することにしたが、これに限定されるものではない。例えば、統合対象のサブ画像群を撮影枚数が少ないサブ画像群に統合するようにしてもよい。
Step16では、見開き割当部909が見開き割当をする。Step12〜Step15によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、撮影日時が先頭のサブ画像群から見開きの先頭に割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。なお、後述する通り、1つの見開きページ内では、画像は撮影日時に並んでいなくてもよい。
Step17では、画像選択部910が各サブ画像群から所定枚数の画像を選択する。図11を用いて、ある見開きに割り当てられたサブ画像群から画像を4枚選択する場合を例に挙げて説明する。なお、ここでは、見開きとは、2ページを指し、最初の見開き及び最後の見開きは、1ページとする。図11(A)は、見開きに割り当てられたサブ画像群に含まれる最初の画像から最後の画像のまでの撮影日時の時間差、言い換えれば、サブ画像群の撮影期間を示す。図11(B)を使って、4枚選択する際の1枚目を選択する方法を説明する。テンプレートには、1つのメインスロット1002がある。1枚目は、メインスロット用の画像を選択する。図11(B)に示すサブ画像群の撮影期間に撮影された全ての画像のうちStep10で付けたメインスロット用の得点が最高点の画像を選択する。そして、2枚目以降はサブスロット用の画像を選択する。本実施形態では、サブ画像群の撮影期間を細分化して画像を選択することにより、サブ画像群の撮影期間の一部に集中しないようにする。まず、図11(C)のようにサブ画像群の撮影期間を2分割して、2つの撮影期間とする。すなわち、サブ分割撮影期間を2等分して2つの撮影期間にする(グループ分けする)。次に、図11(D)のように1枚目が選ばれていない撮影期間(実線の区間)からサブスロット用の得点が最高点の画像を2枚目として選択する。次に、図11(E)のように、図11(D)の各撮影期間をそれぞれ2等分する。図11(F)の実線区間、すなわち、1枚目と2枚目が選ばれていない2つの撮影期間に撮影された画像(2つの撮影期間に対応する画像)のうちサブスロット用の得点が最高点の画像を3枚目として選択する。次に、画像を選択する撮影期間に画像が存在せず、画像選択できない例を4枚目の選択を例に挙げて説明する。本実施形態では、画像の枚数に関わらず、時間に応じて撮影期間を分割している。したがって、分割して得られた撮影期間に画像が存在しない場合がある。例えば、図11(G)のように、まだ画像が選ばれていない撮影期間(斜線の区間)から4枚目を選択したいが、この斜線区間には画像が存在しないとする。この場合は、図11(H)のように、画像を選択済みの各撮影期間をそれぞれ2分割する。次に、図11(I)のように、1〜3枚目が選ばれていない実線の撮影期間に撮影された画像のうちサブスロット用の最高点の画像を4枚目として選択する。
Step18では、画像レイアウト部912が処理対象の見開きの画像レイアウトを決定する。テンプレート入力部911は、指定のテンプレート情報に従ってある見開きに対して図12の(1−1)〜(4−4)を入力した場合を例に挙げて説明する。入力されたテンプレートのスロット数は3である。選択されている画像3枚の画像の向きが縦方向か横方向かを撮影日時の順に並べると図12(A)であったとする。ここでは、画像1605がメインスロット用として選択された画像であり、画像1606と画像1607がサブスロット用として選択された画像とする。本実施形態では、テンプレートの左上に撮影日時のより古い画像、右下に撮影日時のより新しい画像をレイアウトするものとする。画像1605は、撮影日時が一番新しく且つメインスロット用の画像であるため、図12(3−1)〜(3−4)のテンプレートが候補となる。そして、サブスロット用の古い方の画像1606、すなわち、左上に配置したい画像が縦画像で、新しい方の画像1607が横画像である。したがって、(3−2)が、選択された画像に最も適したテンプレートとしてレイアウトが決まる。このようにStep18では、レイアウトに用いるテンプレートと、テンプレートのいずれのスロットにいずれの画像をレイアウトするかを識別できる情報が決定する。図12では、スロット数が3の場合を例に挙げて説明を行ったが、Step17で、必要枚数が4枚となった場合には、スロット数4のテンプレートセットを用意して、それらに対して同様に、スロット状態と画像の状態の合致具合を判定する。これにより、どのテンプレートに画像をレイアウトするかを決めればよい。
Step19では、画像補正部914が画像補正をする。画像補正の条件入力部がONを入力した場合は、画像補正を実施する。本実施形態では、画像補正として、覆い焼き補正、赤目補正、コントラスト補正を自動で実施する。画像補正の条件入力部がOFFを入力した場合は、画像補正を実施しない。補正する画像の画素数は短辺1200画素で、sRGBの色空間に変換した画像に対して画像補正ON/OFFを実施する。
Step20では、レイアウト情報出力部915がレイアウト情報を作成する。Step18で決まった通りに各画像をレイアウトする。このとき、テンプレートが有する各スロットのサイズ情報に合わせてレイアウトする画像を変倍してレイアウトする。そして、テンプレートに画像をレイアウトしたビットマップデータを生成する。
Step21はStep17〜Step20が全ての見開きに対して終了したか否かを判定する。終了していない場合(Step21でNo)はStep17に戻る。終了している場合(Step21でYes)は自動レイアウト処理を終了する。
(フォトアルバムの編集)
次に、レイアウトされたフォトアルバムを編集する際の操作について説明する。ここではあるページのスロットに設定されている写真と、別のページのスロットに設定されている写真を入れ替えるという例を説明する。本実施形態においては、レイアウト後の写真(画像)を表示アイテムとみなし、ユーザ操作に基づきアイテムを移動させる場合の表示制御の例について説明する。なお、以下の処理では、CPU204がHDD202に格納されたプログラムをROMやRAM201に読み出して実行することにより実現される。
図13は、情報処理装置1である端末装置1301(スマートフォンやタブレット端末)の表示領域内に、フォトアルバムの編集画面401がフルスクリーン表示されている様子を示している。端末装置1301はホームボタン1302を備えている。図13では、見開きページAの写真a1と見開きページBの写真b3とを入れ替える場合の手順を示している。また、編集画面内には、表示領域内に表示されるページを変更するためのページ変更領域として、次ページ切り替え領域1304と前ページ切り替え領域1303とが設けられている。
図13(1)では、サムネイルの表示領域402で見開きAが選択されているため、フォトアルバムの表示領域403では見開きAがプレビュー表示されている。なお、見開きAはアルバムの3ページ目及び4ページ目に対応するものとする。見開きAのテンプレートには、写真の配置領域としてスロットA1、A2が設定されており、それぞれ写真a1、a2が配置されている。
図13(2)は、ユーザがスロットA1の写真a1をドラッグ操作して保持している様子を示す図である。写真a1をドラッグして保持している状態では写真a1から写真を抜き出した状態であるため、スロットA1の中はグレーで表示して何も写真が配置されていないことを示している。
図13(3)は、図13(2)においてドラッグ操作された写真a1を次ページ切り替え領域1304まで移動させて次ページ切り替え領域1304に重ねた結果、表示ページが見開きBに切り替わった状態を示している。このように表示領域のページ端部にある次ページ切り替え領域1304に、ドラッグ操作により写真を重ねることにより、フォトアルバムの表示領域403の表示は見開きBに切り替わる。見開きBは、アルバムの5ページ目及び6ページ目に対応する。次ページ切り替え領域1304は、表示領域に次のページを表示するためのページ変更領域である。画像のドラッグ操作により次ページ切り替え領域1034に画像を重ねた場合だけでなく、ユーザによるタップやクリックなどの操作により次ページ切り替え領域1304が選択された場合も表示領域403内の表示は次ページに切り替わる。一方、前ページ切り替え領域1303は前のページを表示するためのページ変更領域である。ドラッグ操作で保持されている写真を移動させ、前ページ切り替え領域1303に重ねることにより、フォトアルバムの表示領域403の表示は前のページに切り替わる。また、前ページ切り替え領域1303をタップやクリックなどで選択した場合も、フォトアルバムの表示領域403内の表示は前のページに切り替わる。なお、図13では、見開き単位で表示領域403の表示を切り替えているが、本実施形態の表示切り替えは、1ページずつの切り替えでもよい。図13(3)に示したように、見開きBにはスロットB1、B2、B3があり、それぞれ写真b1、b2、b3が配置されている。
図13(4)では、スロットB3にドラッグした写真a1を重ねている。重ねたときにスロットB3の枠が太くなる。これはスロットB3に写真a1が配置可能であることを示している。この状態で写真a1のドラッグを解除して写真a1をドロップすると、図13(5)のようになる。
図13(5)において、写真スロットB3に写真a1が配置されていることが分かる。なお、写真スロットB3に写真a1が配置されることにより、写真スロットB3に元々配置されていた写真b3は、写真a1が移動前に配置されていた写真スロットA1に配置される。つまり図13(6)に示す状態となる。
図13(6)は、サムネイルの表示領域402で見開きAが選択されることにより、フォトアルバムの表示領域403に見開きAがプレビュー表示されている様子を示す。写真スロットA1には写真b3が配置されており、写真a1と写真b3が入れ替わったことが分かる。
このように、本実施形態では編集画面において、レイアウト後に各スロットに配置されている写真を変更することが可能となる。ここで、この編集画面において、写真のドラッグ時に起こり得る課題について説明する。
図14は、図13と同様に見開きページAの写真a1と見開きページBの写真b3を入れ替えようとしている場合の様子を示している。図14(1)、(2)については、図13(1)、(2)と同様のため説明を割愛する。図14(3)は比較例であり、図13(3)と異なる表示制御方法を示している。図14(3)では、ユーザの入力位置(タッチパネルの場合はタッチ位置に対応)に対して、写真a1の中心部が左側にずれている。言い換えると、ユーザのタッチ位置が写真a1の右端にずれているように見える。これは、ユーザが勢いよくドラッグを行うことによりこのような状態となっている。つまり、通常であれば、図14(2)に示すように、タッチ位置と写真a1の中心とは同じであるため、写真a1の中心を操作することになる。しかしながら、ページ切り替えのために、ユーザが速いスピードで写真a1を表示領域端部までドラッグすると、ページが切り替わる前に、指が表示領域の境界(フルスクリーン表示の場合はパネル枠)まで移動したり、パネル枠からはみ出したりしてしまう。
図14(4)は、ユーザの誤操作により、ドラッグしている指が表示領域であるタッチパネルから外に出してしまったときの様子を示す模式図である。このように指がタッチパネルから外れてしまうと、タッチ操作が検出できないため、写真a1のドラッグ操作が解除されてしまい、ドラッグ操作をキャンセルするためのキャンセル処理が開始される。実施形態1におけるキャンセル処理とは、ドラッグ操作のリリースにより、ドラッグ操作されていたアイテム(本例では写真a1)を、ページ内のいずれかの配置領域へ配置させる処理である。典型的なキャンセル処理は、アイテムをドラッグ開始前の元のスロットへ戻す。
図14(5)は、ユーザのドラッグ操作が解除されたことにより、写真a1が、元の配置領域である元のスロットA1に戻ろうとしている様子を示す図である。この状態はキャンセル処理中の様子を示す。
図14(6)は、写真a1が元のスロットA1に戻り、キャンセル処理が完了した図である。このように、ドラッグしている指やペンがパネルからはみ出ることにより、ドラッグがキャンセル扱いとなり、ユーザの意図しない操作でキャンセル扱いになってしまう。
そこで、本実施形態では、このようなユーザの意図しないキャンセル処理が生じることを低減するため、ユーザの入力位置に対するアイテムの相対的な位置を制御する。
図15は、本実施形態の表示制御方法を説明するための模式図である。図15(1)は、図13(3)と同様の図であり、写真スロットA1に配置された写真a1をドラッグした状態を示す。図15(1)では、写真a1は編集画面401の水平方向中央部に位置しており、このとき、手の指先は写真a1の中心部に吸い付いている。つまり、ユーザのタッチ位置と写真a1の中心部とが一致しており、ユーザは写真a1の中心を操作していることになる。
図15(2)及び図15(3)は、図13(2)と図13(3)の間の期間の表示状態を示す模式図である。図15(2)は、ドラッグ操作により写真a1を編集画面401の右側に移動させた場合の図である。このとき、写真a1の左側に指が吸い付いている。つまり、ユーザのタッチ位置に対して写真a1の相対位置は、右側にシフトしている。言い換えると、ユーザの操作位置は写真a1の中心よりも左側の位置であり、ユーザは写真a1の中心より左側を操作しているように見える。
図15(3)は、ドラッグ操作により写真a1をさらに右側端部へ移動させた様子を示しており、写真a1の一部が次ページ切り替え領域1304に重なっている。このとき、手の指先は、図15(2)に比べ写真a1のより左端部に吸い付いている。つまり、ユーザのタッチ位置に対して写真a1の相対位置は、より右側にシフトしている。言い換えると、ユーザの操作位置は写真a1の中心よりも右側の位置であり、ユーザは写真a1のより左端を操作しているように見える。
なお、図15(4)及び図15(5)は、写真a1をフォトアルバムの編集画面401の左側に移動させた場合の模式図である。図15(4)では、写真a1の右側を指に吸い付く。つまり、ユーザのタッチ位置に対して、写真a1は相対的に左側にシフトしている。さらに、図15(5)では、写真a1を前ページ切り替え領域1303に重なるために編集画面401の反対側の左側端部に移動させた場合の図である。このとき、手の指先は写真a1の右端部に吸い付く。つまり、ユーザのタッチ位置に対して、写真a1の相対位置はより左側にシフトしている。
このように、本実施形態では、編集画面401上でのドラッグ中のタッチ位置に応じて、ドラッグしている写真が指やペンに吸い付く位置を変更している。写真が指やペンに吸い付く位置は、フォトアルバムの編集画面401の水平方向におけるドラッグ中のタッチ位置によって変わる。ドラッグしている写真が右側に移動するにつれて吸い付く位置は写真の左側になり、逆に、ドラッグしている写真が左側に移動するにつれて吸い付く位置は写真の右側になる。つまり、ドラッグ操作により写真が右側に移動すると、タッチ位置に対して写真は相対的に右側にシフトする(典型的には、(タッチ位置より写真の中心部が右側に存在する)。ドラッグ操作により写真が左側に移動すると、タッチ位置に対して写真は相対的に左側にシフトする(典型的には、タッチ位置より写真の中心部が左側に存在する)。
このような制御により、写真が編集画面401の右端にあるときは、タッチ位置より写真が右側に寄っているため、タッチパネルの右端まで指を移動させる前に、ドラッグ中の写真を次ページ切り替え領域1304に重ねることができる。よって、指がタッチパネルの右端に到達する前にページを切り替えることができる。また、写真が編集画面401の左端にあるときは、タッチ位置より写真が左側に寄っているため、タッチパネルの左端まで指を移動させる前にドラッグ中の写真を前ページ切り替え領域1303に重ねることができる。よって、指がタッチパネルの左端に到達する前にページを切り替えることができる。このように制御することで、タッチパネル端部ぎりぎりまで指やペンを持っていかなくてもページを変更することができるため、誤って端末から手がはみ出てしまうことを低減することができる。
なお、図15の例では、ドラッグ中の写真の編集画面401の水平方向の位置に応じて、タッチ位置に対する写真の相対位置を徐々に(連続的に)シフトさせるように移動させたが、本実施形態はそれに限るものではない。つまり、連続的ではなく、端部に近付いた時だけ、タッチ位置に対する写真の相対位置をシフトさせてもよい。図16にその例を示す。図16(1)、(3)、(5)は、図15(1)、(3)、(5)と同様であり、編集画面の中央ではタッチ位置に写真の中心が対応し、編集画面の端部では、タッチ位置より写真は端部側に寄っている。一方で、図16(2)では、図15(2)と異なり、編集画面の右側へ移動しているにも関わらず、タッチ位置は写真の中心部となっている。図16(4)も同様に、編集画面の左側へ移動しているにも関わらず、タッチ位置は写真の中心部となっている。このように、本実施形態では、図16の例のように、端部の領域でのみ、タッチ位置に対する写真の相対位置をシフトさせるよう制御してもよい。
また、本実施形態では、ドラッグのために写真をタッチした直後(写真は保持しているが移動前の時点)は、写真の位置が編集画面401の水平方向のどの位置であっても、タッチ位置に写真の中心部が吸い付くようにしてもよい。つまり、タッチ位置と写真の中心部が一致するようにしてもよい。そして、その後ドラッグ操作で移動させた場合に、図15及び16で説明したように、タッチ位置に対するアイテム内の吸い付く位置を変更してもよい。例えば、編集画面401の端に近いスロットの写真をドラッグする場合でも、タッチした時点では、タッチ位置に写真の中心部が吸い付き、ドラッグ操作で写真を動かしたときに初めて吸い付く位置が中心からシフトするようにしてもよい。このように、最初に指に吸い付いた時点では写真中心部に吸い付くことで、写真をドラッグ操作のために保持したことが明確となり、最初から写真の端部に吸い付くよりも、ユーザに安心感を与えることができる。
以上説明したとおり、本実施形態を適用することで、タッチパネル端部ぎりぎりまで指やペンを持っていかなくてもページを変更することができる。よって、誤って端末から手がはみ出てしまうことを低減することができる。なお、上述の方法を適用しても、ユーザの操作方法によっては、指がタッチパネルからはみ出る可能性はゼロではない。そこで、誤って指がはみ出した場合であっても、ドラッグのキャンセル処理を途中でストップし、再度ドラッグを再開できるようにすることが好ましい。つまり、図14(5)及び図14(6)で説明したように、意図せずに写真が元のスロット(ドラッグ開始前の配置位置)に戻ってしまう前に、ドラッグを再開可能であることが好ましい。
よって、本実施形態では、配置領域以外(スロットではない位置)でドラッグが解除された場合に、すぐに写真が元のスロットに戻るのではなく、所定の時間の経過後に元のスロットに戻るように制御するとよい。つまり、ドラッグ解除されてから、キャンセル処理の完了(写真が元のスロットに戻る)までに所定の時間を設ける。そして、この所定時間の間は、ドラッグリリースされた写真は、所定の範囲内(典型的にはドラッグ解除された位置)に留まり、所定時間経過後に元のスロットに戻るようする。この所定の範囲内に留まっている間、つまりキャンセル処理が完了する前に、ユーザが再度タッチパネルをタッチすると、キャンセル処理がストップし、ユーザはドラッグを再開することが可能となる。
なお、キャンセル処理の途中期間において、写真が所定の範囲内に待機している間、写真は所定のアニメーションを実行することが好ましい。例えば、写真が回転や搖動をしたり、徐々に透過させたり、点滅したりすることにより、写真が待機状態であることが分かりやすく、視認性が構造する。
また、キャンセル処理をストップさせるためのユーザの操作は、待機範囲に留まっている写真へのタッチだけに限定されない。例えば、写真とは別の表示領域をタッチしてもキャンセル処理がストップしてもよい。そして、そのタッチした位置に写真を移動させることで、タッチした位置に写真が吸い付いてくるように見える制御を行ってもよい。
(制御フロー)
次に、本実施形態に係る表示制御方法のフローを説明する。図19は、図15で説明したアイテムの表示に関する表示制御フローを示すフローチャートである。図19に示すフローチャートは、例えば、CPU204がHDD202に格納されたプログラムをROMやRAM201に読み出して実行することにより実現される。
なお、S101〜S103は、図6で示した自動レイアウト処理の一連のフローの概略を示している。S101では、ユーザからの指示に基づき、CPU204はフォトアルバムの種類を選択設定する。フォトアルバムの種類とは、例えば、フォトアルバムのサイズ、ページ数、綴じ方、紙の種類などのことを指す。S102では、ユーザからの指示に基づき、CPU204はフォトアルバムの自動レイアウトに使用される写真群を選択設定する。例えば、ピクチャーフォルダーに写真が保存さている場合は、ユーザによりピクチャーフォルダー内から所定のフォルダが選択されることにより、CPU204はそのフォルダの写真群をレイアウト対象として選択する。S103でCPU204はフォトアルバムの作成を開始する。例えば、S101で選ばれたフォトアルバムの種類とS102で選ばれた写真群に応じて、CPU204は、自動で写真を配置するテンプレートを選別し、そのテンプレート内のスロットに自動で写真を配置する。なお、ここでは、自動で画像レイアウトを行う形態を説明したが、本実施形態はそれに限定されるものではなく、ユーザが手動でテンプレートや写真を選択し、フォトアルバムを作成してもよい。
S104では、CPU204は、レイアウト後のページのサムネイル一覧を表示領域402に表示する。
S105では、ユーザにより表示領域402の所望のページ(仮に、見開きAとする)に対応するサムネイルが選択されることにより、CPU204は、表示領域403に見開きAの2ページ目と3ページ目を表示する(図13(1)に対応)。ユーザはこの画面で自動レイアウト結果のレイアウト画を手動で修正することができる。
S106では、ユーザの入力に基づき、CPU204は見開きAのスロットA1の写真a1をドラッグして保持し、写真a1を移動させる。
S107では、CPU204は、ドラッグした写真a1の中央に指が吸い付くように写真a1を表示する。
S108では、CPU204は、ドラッグしている指の入力位置(つまりタッチ位置)が変わったかを判定する。S108において、入力位置が変化したと判定された場合(S108においてYES)、S109へ進み、入力位置が変化していない場合(S108においてNO)は、処理を終了する。
S109では、CPU204は、ドラッグしている指の入力位置を取得する。入力位置は、表示領域上の座標から求められる。
S110では、CPU204は、S109で取得した指の入力位置を基に、写真a1の移動後の位置を求める。具体的な移動後の位置の計算方法について図21を用いて説明する。図21において、アルバム表示領域の幅はW、アルバム表示領域の高さはH、ドラッグした写真a1の幅はw、ドラッグした写真a1の高さはhで与えられる。また、アルバム表示領域を示すX、Y軸において、ドラッグ後の写真a1の中心位置は(X,Y)=(x、y)で与えられる。また、ドラッグした写真の位置に基づくI、J軸において、指に吸い付く位置は(I,J)=(i,j)で与えられる。このとき、(i,j)は以下の式で計算される。
i=(w×(1―x/W))
j=(h×(1―y/H))
なお、この計算式はあくまで一例であり、他の計算式を用いてもよく、ドラッグした位置によって、指に吸い付く写真の位置が変わるものであればよい。また、端末のディスプレイのサイズによって(i,j)の計算方法を変えるようなものであってもよい。例えば、横長のディスプレイでは、縦方向に移動できる量が少ないため、縦方向のずれ幅を大きくするなどしてもよい。
S111では、CPU204は、S110で算出した位置に写真a1を移動させる。つまり、CPU204は、S110で算出した位置に基づき、指の入力位置に、写真上の(i,j)の位置が吸い付くように写真a1を表示させる。
S112では、CPU204は、ドラッグしている入力位置が変わったかを判定する。S112において、入力位置が変化したと判定された場合(S112においてYES)、再度S109へ進む。入力位置が変化していない場合(S112においてNO)は、処理を終了する。
<実施形態2>
本実施形態では、アイテムとして、例えばスマートフォンやタブレット等の端末装置の表示部に表示される写真サムネイル一覧において、所定の写真を移動させる例を説明する。端末装置である情報処理装置1の構成は実施形態1と同様であるため説明を省略する。また、表示制御のフローについては実施形態1と異なる部分を中心に説明する。
図17は、本実施形態において、写真のサムネイルが一覧で表示されている画面を示す模式図である。図17では、サムネイル一覧画面1701に写真が16枚ある。ここでは、各々の写真をP1、P2・・・P16と呼ぶことにする。この図17では、サムネイル一覧画面1701上で、写真のサムネイルを並び替える例を示しており、写真P11をドラッグして写真を入れ替える例である。サムネイル一覧画面1701には上下にスクロールするためのスクロールバー1702があり、ユーザがスクロールバー1702を操作することで表示しきれていない写真を表示することができる。また、スクロールバー1702を直接操作しなくても、ユーザがドラッグしている写真をサムネイル一覧画面1701の上部または下部の端に一定時間ドラッグ状態のまま配置することでスクロールすることもできる。
まず、CPU204は、図17(1)において、写真P11の指でのタッチ入力を受け、図17(2)のようにドラッグ状態にする。
図17(2)のドラッグ状態では、CPU204は、写真P11の中央に指が吸い付くように制御する。つまり、タッチ位置に対して写真P11の中心が一致するように制御する。
図17(3)では、ドラッグ操作により写真をサムネイル一覧画面1701の上部に持って行っており、それによってサムネイル一覧画面1701がスクロールしている様子を示している。スクロールにより、隠れていたP1、P2、P3、P4の写真が表示される。図17(3)では、CPU204は、ドラッグしている写真の下部に指が吸い付くように制御している。つまり、タッチ位置に対して写真の相対位置は上側にシフトしている。これにより、スクロール時に誤操作で指が端末の外部に出てしまうことを低減すことができる。
図17(4)は、スクロール操作が完了した状態を示す。この状態でP2とP3の間にドラッグ中のP11をドロップすると、図17(5)の状態になる。
図17(5)では、CPU204は、ドロップされたP11を、P2とP3との間に整列させる。
図17(6)では、写真をサムネイル一覧画面1701の下部に持って行っており、それによってサムネイル一覧画面1701がスクロールしている様子を示す。スクロールにより、隠れていたP13、P14、P15、P16の写真が表示される。図17(6)では、CPU204は、ドラッグしている写真の上部に指が吸い付くように制御している。つまり、タッチ位置に対して写真の相対位置は下側にシフトしている。これにより、スクロール時に誤操作で指が端末の外部に出てしまうことを低減することができる。
図17(7)は、スクロール操作が完了した状態を示す。この状態でP14とP15の間にドラッグ中のP11をドロップすると、図17(8)の状態になる。
図18(8)では、CPU204は、ドロップされたP11を、P14とP15の間に整列させる。
以上説明したように、本実施形態においても、写真が指やペンに吸い付く位置をドラッグの位置に応じて変更することにより、端末の外部に指が出てしまってドラッグキャンセルになってしまうことを低減できる。
<実施形態3>
本実施形態では、アイテムとして、例えばスマートフォンやタブレット等の端末装置の表示部に表示されるアプリケーションアイコンの例を説明する。情報処理装置1の構成は実施形態1と同様であるため説明を省略する。また、表示制御のフローについては実施形態1と異なる部分を中心に説明する。
図18は、本実施形態における、スマートフォンやタブレットなどタッチパネル式の端末装置1801のホーム画面1802を示す模式図である。ホーム画面1802は端末1801のホームボタン1803を押下した場合などに表示される。ホーム画面1802にはアプリケーションアイコン1804が一覧で表示される。この例ではアプリケーションアイコン1804はページ1〜2ページに各々配置されている。本実施形態では、ユーザはページ1のアプリケーションアイコンをページ2に配置させる場合について説明する。
図18(1)は、ページ1を表示した状態の図であり、アプリケーションアイコン1804が12個配置されている。図18(1)において右下のアプリケーションアイコンをドラッグして保持している。
図18(2)では、CPU204は、アプリケーションアイコン1804をドラッグした状態のままパネルの右端に移動させた状態を示す。この位置で一定時間ドラッグ状態が保持されると、表示ページが変わる。具体的には、図18(3)のようにページ1からページ2にページが切り替わり、最終的に図18(4)のようにページ2が表示される。
図18(4)に示すページ2には、アプリケーションアイコン1804が7つ配置されている。なお、ページ2の表示後、ページ2内に設定された配置領域上でアイコンがドロップされた場合は、CPU204は、その配置領域にアイコンを配置する。なお、本実施形態における配置領域とは、表示領域に予め設定された、アイコンが配置可能な領域である。なお、もしドロップされた位置にある配置領域に、既に別のアイコンが配置されていた場合は、CPU204は、その別のアイコンを別の配置領域へ移動させてもよい。また、その別のアイコンとドロップされたアイコンと含むようなフォルダを新たに作成してもよい。なお、アイコンが配置領域上にあるかという判断基準は、アイコンの所定面積(例えば面積の半分)が配置領域上にある場合や、アイコン上の所定点が配置領域内の所定範囲上にある場合等、アイコンの全面積が配置領域上になくてもよい。
図18(5)では、ページ2の配置領域上でユーザが指をリリースした様子を示す。CPU204は、アプリケーションアイコン1804のドラッグを解除し、その位置にアプリケーションアイコン1804を配置する。
このように、本実施形態では、図18(1)でドラッグを開始した状態、及び、ホーム画面1802の中央付近でドラッグしている状態では、CPU204はアプリケーションアイコンを指の中央に吸い付くように制御する。一方、図18(2)、(3)、(4)のように、アプリケーションアイコン1804を端末1801の右端に持っていった状態では、CPU204はアプリケーションアイコンの左端に指が吸い付くように制御する。つまり、指の入力位置に対してアプリケーションアイコンの相対位置が右側にシフトする。なお、図18のように吸い付く位置が左端に寄ってもアイコンのサイズや指の大きさによっては、アイコンが指に隠れる場合がある。指にアイコンが隠れると、ユーザはアイコンの位置が分かりづらく、指がタッチパネルの枠から外れることを低減するという効果が得づらい場合がある。そこで図20に示すように、吸い付く位置をアイコンの端からさらに離し、アイコンから離れた位置に吸い付くように制御してもよい。つまり、タッチ位置に対してアイコンの相対位置をよりシフトさせ、タッチ位置からアイコンが離れるように制御してもよい。
図19(2)、(3)、(4)では、アイコンをドラッグはしているが吸い付く位置が手から離れている。このように吸い付く位置をオブジェクトから離すことによって、より早いタイミングで表示領域端部へアイコンが到達するため、端までアイコンを持っていかなくてもページ切り替えを行うことができる。
以上説明したように、本実施形態においても、アイコンが指やペンに吸い付く位置をドラッグの位置に応じて変更することにより、端末の外部に指が出てしまってドラッグキャンセルとなってしまうことを低減できる。
<他の実施形態>
上述した実施形態では、アイテムとして、レイアウト後の写真やアプリケーションアイコンの例について記載したが、その他のアイテムにおいても実現される。例えば、写真以外の画像、テキストボックス、操作ボタン、ショートカット、コンテンツ等の表示アイテムであってもよい。
また、上述した実施形態では、CPU204がアイテムの表示の制御をしていたが、GPUがアイテムの表示の制御を行ってもよい。
また、上述した実施形態では、情報処理装置1として、スマートフォンやタブレット等の端末装置の例を記載したが、その他の装置においても実現される。例えば、PCや、プリンタ等の画像処理装置でもよい。
上述した各実施形態では、タッチパネル式の端末での指やペンによる操作で説明したが本発明はそれに限定されるものではなく、マウスのようなポインティングデバイスによる操作に適用してもよい。例えば、マウスの操作でドラッグしたアイコンがアプリケーションウィンドウの外枠に近づくに従って、アイコンを保持しているマウスカーソルの位置が変わるようなものであってもよい。
上述した各実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
80 アプリケーション
204 CPU
201 RAM
202 HDD

Claims (21)

  1. 表示部の表示領域にアイテムを表示させる情報処理装置であって、
    ユーザのドラッグ操作に応じて前記アイテムの移動を制御する制御手段と、
    前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得する取得手段と、
    を備え、
    前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第1の端部側に移動させる場合、前記第1の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第1の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする情報処理装置。
  2. 前記制御手段は、前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記第1の端部と反対側の端部である第2の端部側に移動させる場合、前記第2の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも前記第2の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記ドラッグ操作により前記アイテムが前記第1の端部側に近付くほど、前記入力位置に対する前記アイテムの相対位置を前記第1の端部側にシフトされた位置にすることにより、前記入力位置に対応する前記アイテムの操作位置は前記アイテム内の前記第2の端部側にシフトしているように見えることを特徴とする請求項2に記載の情報処理装置。
  4. 前記表示領域内に配置されているアイテムが前記ドラッグ操作のために保持された時点では、前記アイテムが配置されていた位置に依らずに前記入力位置に対する前記アイテムの相対位置は同じであり、前記ドラッグ操作により前記アイテムが移動することにより、前記入力位置に対する前記アイテムの相対位置が変化することを特徴とすることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記ドラッグ操作により前記アイテムが前記表示領域内の中央部に位置する場合、前記入力位置と前記アイテムの中心部とが対応していることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記表示領域には前記アイテムが配置される1つ以上の配置領域が設定されており、
    前記制御手段は、前記配置領域以外の領域で前記ドラッグ操作がリリースされて前記アイテムがドロップされた場合、前記1つ以上の配置領域のうちのいずれかの配置領域へ前記アイテムを配置するキャンセル処理を実行し、
    前記制御手段は、前記キャンセル処理により前記いずれかの配置領域へ前記アイテムを配置する前にユーザによる前記表示部への入力を受け付けた場合、前記キャンセル処理を止めることにより前記アイテムを前記いずれかの配置領域へ配置せずに、ドラッグ操作を再開可能であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記ドラッグ操作により、前記表示領域内に表示された所定のページに配置されているアイテムが前記表示領域の前記第1の端部に達することにより、前記所定のページと異なるページが前記表示領域に表示され、
    前記異なるページ内で前記ドラッグされていたアイテムがドロップされることにより、前記異なるページに前記アイテムが配置されることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記表示領域の前記第1の端部には、前記表示領域に表示されるページを変更するためのページ変更領域が設けられており、前記アイテムが前記第1の端部に移動し、前記アイテムの少なくとも一部が前記ページ変更領域に重ねられることにより、前記表示するページが変更することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 画像をテンプレート内のスロットに配置するレイアウト手段をさらに備え、
    前記制御手段は、前記レイアウト手段によるレイアウト後、ユーザのドラッグ操作に応じて前記アイテムとして前記スロットに配置された画像を移動させることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記アイテムは、所定のアプリケーションのアイコンであり、
    前記制御手段は、ユーザのドラッグ操作に応じて、前記アイコンを移動させることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  11. コンピュータに、
    ユーザのドラッグ操作に応じて、表示部の表示領域に表示されたアイテムの移動を制御するステップと、
    前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得するステップと、
    を実行させるプログラムであり、
    前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第1の端部側に移動させる場合、前記第1の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第1の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とするプログラム。
  12. 前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記第1の端部と反対側の端部である第2の端部側に移動させる場合、前記第2の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも前記第2の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする請求項11に記載のプログラム。
  13. 前記ドラッグ操作により前記アイテムが前記第1の端部側に近付くほど、前記入力位置に対する前記アイテムの相対位置を前記第1の端部側にシフトされた位置にすることにより、前記入力位置に対応する前記アイテムの操作位置は前記アイテム内の前記第2の端部側にシフトしているように見えることを特徴とする請求項12に記載のプログラム。
  14. 前記表示領域内に配置されているアイテムが前記ドラッグ操作のために保持された時点では、前記アイテムが配置されていた位置に依らずに前記入力位置に対する前記アイテムの相対位置は同じであり、前記ドラッグ操作により前記アイテムが移動することにより、前記入力位置に対する前記アイテムの相対位置が変化することを特徴とすることを特徴とする請求項11乃至13のいずれか1項に記載のプログラム。
  15. 前記ドラッグ操作により前記アイテムが前記表示領域内の中央部に位置する場合、前記入力位置と前記アイテムの中心部とが対応していることを特徴とする請求項11乃至14のいずれか1項に記載のプログラム。
  16. 前記表示領域には前記アイテムが配置される1つ以上の配置領域が設定されており、
    前記配置領域以外の領域で前記ドラッグ操作がリリースされて前記アイテムがドロップされた場合、前記1つ以上の配置領域のうちのいずれかの配置領域へ前記アイテムを配置するキャンセル処理を実行し、
    前記キャンセル処理により前記いずれかの配置領域へ前記アイテムを配置する前にユーザによる前記表示部への入力を受け付けた場合、前記キャンセル処理を止めることにより前記アイテムを前記いずれかの配置領域へ配置せずに、ドラッグ操作を再開可能であることを特徴とする請求項11乃至15のいずれか1項に記載のプログラム。
  17. 前記ドラッグ操作により、前記表示領域内に表示された所定のページに配置されているアイテムが前記表示領域の前記第1の端部に達することにより、前記所定のページと異なるページが前記表示領域に表示され、
    前記異なるページ内で前記ドラッグされていたアイテムがドロップされることにより、前記異なるページに前記アイテムが配置されることを特徴とする請求項11乃至16のいずれか1項に記載のプログラム。
  18. 前記表示領域の前記第1の端部には、前記表示領域に表示されるページを変更するためのページ変更領域が設けられており、前記アイテムが前記第1の端部に移動し、前記アイテムの少なくとも一部が前記ページ変更領域に重ねられることにより、前記表示するページが変更することを特徴とする請求項11乃至17のいずれか1項に記載のプログラム。
  19. 画像をテンプレート内のスロットに配置するレイアウトステップをさらに備え、
    前記レイアウト後、ユーザのドラッグ操作に応じて前記アイテムとして前記スロットに配置された画像を移動させることを特徴とする請求項11乃至18のいずれか1項に記載のプログラム。
  20. 前記アイテムは、所定のアプリケーションのアイコンであり、
    ユーザのドラッグ操作に応じて、前記アイコンを移動させることを特徴とする請求項11乃至18のいずれか1項に記載のプログラム。
  21. 表示部の表示領域にアイテムを表示させる表示制御方法であって、
    ユーザのドラッグ操作に応じて前記アイテムの移動を制御するステップと、
    前記表示領域内におけるユーザによるドラッグ操作の入力位置を取得するステップと、
    を備え
    前記ドラッグ操作により前記アイテムを前記表示領域内の所定の位置から前記表示領域内の第1の端部側に移動させる場合、前記第1の端部側における前記アイテムの前記入力位置に対する相対位置は、前記所定の位置における前記アイテムの前記入力位置に対する相対位置よりも、前記第1の端部側にシフトされた位置となるよう、前記アイテムを移動させることを特徴とする表示制御方法。

JP2017193783A 2017-10-03 2017-10-03 情報処理装置、表示制御方法、及びプログラム Active JP6723966B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017193783A JP6723966B2 (ja) 2017-10-03 2017-10-03 情報処理装置、表示制御方法、及びプログラム
US16/144,745 US11209973B2 (en) 2017-10-03 2018-09-27 Information processing apparatus, method, and medium to control item movement based on drag operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017193783A JP6723966B2 (ja) 2017-10-03 2017-10-03 情報処理装置、表示制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019067260A true JP2019067260A (ja) 2019-04-25
JP6723966B2 JP6723966B2 (ja) 2020-07-15

Family

ID=65897281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017193783A Active JP6723966B2 (ja) 2017-10-03 2017-10-03 情報処理装置、表示制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US11209973B2 (ja)
JP (1) JP6723966B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022118858A1 (ja) * 2020-12-02 2022-06-09 富士フイルム株式会社 情報処理装置及び情報処理プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10891526B2 (en) * 2017-12-22 2021-01-12 Google Llc Functional image archiving
JP7341677B2 (ja) * 2019-02-28 2023-09-11 キヤノン株式会社 装置、方法、及びプログラム
JP2021197025A (ja) * 2020-06-17 2021-12-27 コニカミノルタ株式会社 画像表示装置、画像形成装置、表示位置変更方法およびプログラム
US11199960B1 (en) * 2020-09-29 2021-12-14 Slcket, Inc. Interactive media content platform

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237160A (ja) * 1996-03-04 1997-09-09 Canon Inc タッチパネル付き情報入力装置
JP2000035842A (ja) * 1998-07-17 2000-02-02 Nikon Corp 所定画像操作に基づく動作決定装置
US6411283B1 (en) * 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
WO2010058728A1 (ja) * 2008-11-20 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示装置、プログラム及び表示方法
JP2011227821A (ja) * 2010-04-22 2011-11-10 Toshiba Corp 情報処理装置およびドラッグ制御方法
JP2015181071A (ja) * 2015-07-23 2015-10-15 京セラ株式会社 電子機器
JP2016115337A (ja) * 2014-12-15 2016-06-23 キヤノン株式会社 ユーザインタフェース装置、画像形成装置、ユーザインタフェース装置の制御方法及び記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567070B1 (en) * 1999-08-10 2003-05-20 Intel Corporation Selection of objects in a graphical user interface
GB0222094D0 (en) * 2002-09-24 2002-10-30 Koninkl Philips Electronics Nv Graphical user interface navigation method and apparatus
US8510669B2 (en) * 2006-02-06 2013-08-13 Yahoo! Inc. Method and system for presenting photos on a website
US9916072B2 (en) * 2013-02-20 2018-03-13 Lg Electronics Inc. Application and notification window display management in a mobile terminal
EP3035184B1 (en) * 2014-12-15 2021-10-20 Canon Kabushiki Kaisha User interface apparatus, method for controlling a user interface, and computer-readable storage medium for controlling a user interface

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09237160A (ja) * 1996-03-04 1997-09-09 Canon Inc タッチパネル付き情報入力装置
JP2000035842A (ja) * 1998-07-17 2000-02-02 Nikon Corp 所定画像操作に基づく動作決定装置
US6411283B1 (en) * 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
WO2010058728A1 (ja) * 2008-11-20 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示装置、プログラム及び表示方法
JP2011227821A (ja) * 2010-04-22 2011-11-10 Toshiba Corp 情報処理装置およびドラッグ制御方法
JP2016115337A (ja) * 2014-12-15 2016-06-23 キヤノン株式会社 ユーザインタフェース装置、画像形成装置、ユーザインタフェース装置の制御方法及び記憶媒体
JP2015181071A (ja) * 2015-07-23 2015-10-15 京セラ株式会社 電子機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022118858A1 (ja) * 2020-12-02 2022-06-09 富士フイルム株式会社 情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
US20190102060A1 (en) 2019-04-04
JP6723966B2 (ja) 2020-07-15
US11209973B2 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
JP6702900B2 (ja) 情報処理装置、表示制御方法、及びプログラム
JP6723966B2 (ja) 情報処理装置、表示制御方法、及びプログラム
JP6938422B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP6711937B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6422409B2 (ja) 表示制御装置、表示制御方法、及びプログラム
EP3355566B1 (en) Image processing apparatus for laying out image on template and image processing method
JP6532398B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6723938B2 (ja) 情報処理装置、表示制御方法、及びプログラム
US20180217743A1 (en) Image processing apparatus, control method, and computer readable medium
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6887816B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6681192B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP7336209B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6765978B2 (ja) 情報処理装置及びプログラム
US11320965B2 (en) Image processing apparatus, control method, and recording medium
US10878606B2 (en) Information processing apparatus, control method, and storage medium
JP6647039B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP6700806B2 (ja) プログラム、情報処理装置および制御方法
JP6742486B2 (ja) プログラム、画像処理方法
JP7336210B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
US20230186540A1 (en) Information processing apparatus, information processing method, and storage medium
JP6572054B2 (ja) 画像処理装置、画像処理方法
JP6700686B2 (ja) 画像処理装置およびアルバム作成方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200624

R151 Written notification of patent or utility model registration

Ref document number: 6723966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151