(57)【要約】【課題】１ページ内に複数の画像をレイアウトする場合、それぞれの画像が重なってしまう場合がある。画像が重なってしまった場合、背面に隠れてしまった画像の対し処理を行うには、前面に表示された画像を一度移動し、背面に隠れた画像を選択し処理を行う必要がある。このような処理は、ユーザにとっては操作回数が増え、手間となる。【解決手段】画像の階層を直観的に変更する階層変更手段を持ち、画像を移動せずに、画像の位置を維持したまま、画像の階層を変更する事で、背面に隠れた画像に対する処理を可能とする。【選択図】図７
2014115850.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示する表示手段と、
前記表示手段の表示面と共通の座標系を有する座標入力手段と、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持する保持手段と、
前記座標入力手段の操作に応じて、指定した画像オブジェクトの階層を下げるよう前記保持手段に保持された階層を更新する階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示することを特徴とする情報処理装置。
【請求項２】
前記階層変更手段は、前記座標入力手段により階層を下げる操作を行った位置にある画像オブジェクトを指定した画像オブジェクトとして、その階層を下げることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記座標入力手段の操作に応じて、前記表示手段により表示されている画像オブジェクトの中から少なくとも一つの画像オブジェクトを選択する選択手段をさらに有し、
前記階層変更手段は、前記選択手段により選択された画像オブジェクトを指定した画像オブジェクトとして、その階層を下げることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
利用者による操作に応じた入力を行うための第２の入力手段をさらに有し、
前記階層変更手段は、前記第２手段による操作に応じて、前記選択手段により選択された画像オブジェクトの階層を上げるよう前記保持手段に保持された階層を更新することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記階層変更手段は、前記指定した画像オブジェクトの階層を１階層ずつ変更することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記座標入力手段は、同時に複数の位置における操作を検出可能であり、
前記階層変更手段は、前記座標入力手段おいて同時に操作された位置の数に応じた階層数だけ前記指定した画像オブジェクトの階層を変更することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項７】
前記階層変更手段は、操作が前記座標入力装置で行われた場合には前記指定した画像オブジェクトの階層を前記保持手段に保持された階層のうちの最低の階層に下げ、操作が前記第２の入力装置で行われた場合には前記指定した画像オブジェクトの階層を前記保持手段に保持された階層のうちの最高の階層に上げることを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項８】
前記階層変更手段は、前記第２手段による操作に応じて、前記選択手段により選択された画像オブジェクトがない場合には、互いに重複した画像オブジェクトのうち、最低の階層の画像オブジェクトを、前記重複した画像オブジェクトのうちの最高の階層に上げるよう前記保持手段に保持された階層を更新することを特徴とする請求項４に記載の情報処理装置。
【請求項９】
画像を表示する表示手段と、
利用者による操作に応じた入力を行うための入力手段と、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持する保持手段と、
前記入力手段の操作に応じて、互いに重複した画像オブジェクトのうち、最低の階層の画像オブジェクトを、前記重複した画像オブジェクトのうちの最高の階層に上げるよう前記保持手段に保持された階層を更新する階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示することを特徴とする情報処理装置。
【請求項１０】
表示画面と共通の座標系を有する第１タッチパネルと、
第２タッチパネルと、
前記第１タッチパネルの操作に応じて、指定された画像オブジェクトの表示の階層を下げ、前記第２タッチパネルの操作に応じて指定された画像オブジェクトの表示の階層を上げる階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記第１タッチパネルに表示することを特徴とする情報処理装置。
【請求項１１】
前記指定された画像オブジェクトは、前記第１タッチパネルにより明示的に選択された画像オブジェクトがあれば該選択された画像オブジェクトであり、あるいは前記第１タッチパネルにより階層を下げる操作がされ、かつ、画像オブジェクトが明示的に選択されていない場合には、前記第１タッチパネルにより階層を下げる操作が行われた位置にある画像オブジェクトであり、あるいは、前記第２タッチパネルにより階層を上げる操作がされ、かつ、画像オブジェクトが明示的に選択されていない場合には、重複した画像オブジェクトのうち最低の階層にある画像オブジェクトであることを特徴とする請求１０に記載の情報処理装置。
【請求項１２】
前記第２タッチパネルは、前記第１タッチパネルの裏面側に対向して配置されることを特徴とする請求１０に記載の情報処理装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
画像を表示する表示手段と、前記表示手段の表示面と共通の座標系を有する座標入力手段とを有した情報処理層装置における画像処理方法であって、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持手段により保持させる保持工程と、
前記座標入力手段の操作に応じて、指定した画像オブジェクトの階層を下げるよう前記保持手段に保持された階層を更新する階層変更工程とを有し、
前記階層変更工程により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示することを特徴とする画像処理方法。
【請求項１５】
画像を表示する表示手段と、利用者による操作に応じた入力を行うための入力手段とを有する情報処理装置における画像処理方法であって、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持手段により保持させる保持工程と、
前記入力手段の操作に応じて、互いに重複した画像オブジェクトのうち、最低の階層の画像オブジェクトを、前記重複した画像オブジェクトのうちの最高の階層に上げるよう前記保持手段に保持された階層を更新する階層変更工程とを有し、
前記階層変更工程により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示することを特徴とする画像処理方法。
【請求項１６】
表示画面と共通の座標系を有する第１タッチパネルと、第２タッチパネルとを有する情報処理装置における画像処理方法であって、
前記第１タッチパネルの操作に応じて、指定された画像オブジェクトの表示の階層を下げる工程と、
前記第２タッチパネルの操作に応じて、指定された画像オブジェクトの表示の階層を上げる工程とを有し、
下げられたあるいは上げられた階層に応じて前記画像オブジェクトを前記第１タッチパネルに表示することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば表示部に表示された複数の画像をレイアウトする技術等に関し、特に情報処理装置及び制御プログラムと情報処理方法に関する。
【背景技術】
【０００２】
従来、携帯端末のような情報処理装置においては、タッチパネルを備えた操作部からユーザの操作により指定される処理を受け付けている。タッチパネルを備えた情報処理装置においては、タッチパネル上におけるタッチ座標とスライド操作の軌跡とを検出して入力するフリック入力が可能にもなっている。さらに昨今は、同時に複数の指によるタッチ座標と指の軌跡とを検出可能な、すなわち同時に複数の位置の接触を検出可能なマルチタッチセンサを備えるものがある。ユーザは、このマルチタッチセンサによるタッチのポイント数とフリック動作の軌跡のバリエーションに予め割り当てられた操作を実行可能であり、操作性が高まっている。
【０００３】
ユーザは、このような高い操作性を用い、たとえば複数の画像が表示された画面上でレイアウト作業を行う場合、画像を選択し、選択した画像に対し移動、拡大・縮小、回転処理を行うことができる。レイアウト作業とは、複数の画像を１ページ中のユーザの所望する位置やサイズに配置する作業である。このレイアウト作業中に複数の画像が重なってしまう場合がある。画像が重なる事により、ある画像の下に隠れてしまった画像を選択する事は困難である。
【０００４】
そこで、表裏両面にタッチセンサーを設け、さらに裏面には圧力センサーをも設け、裏面から押下された指の位置と圧力とに応じて、表面に配置された画像を移動し、裏面に隠れていた画像を選択可能とする技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１４０４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
表面の画像を移動する事により、裏面に隠れた画像の選択は可能となるが、もともとレイアウトしようとして配置した画像の位置が変わってしまう。そのため、裏面に隠れていた画像に対して処理を行った後、移動してしまった表面の画像を元々あった位置に戻すなど、一度レイアウトした画像に対し再度レイアウト処理を行う必要があり、ユーザの利便性を損なってしまう。
【０００７】
本発明は上記従来例に鑑みてなされたもので、選択した画像に対して、当該画像が属する階層を下げる操作を提供することで、レイアウトを維持したまま所望の画像に対する操作を可能ならしめる情報処理装置とその制御方法及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を有する。
【０００９】
画像を表示する表示手段と、
前記表示手段の表示面と共通の座標系を有する座標入力手段と、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持する保持手段と、
前記座標入力手段の操作に応じて、指定した画像オブジェクトの階層を下げるよう前記保持手段に保持された階層を更新する階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示する。
【００１０】
あるいは、他の観点によれば本発明な以下の構成を有する。
【００１１】
画像を表示する表示手段と、
利用者による操作に応じた入力を行うための入力手段と、
前記表示手段により表示される画像オブジェクトそれぞれの階層を保持する保持手段と、
前記入力手段の操作に応じて、互いに重複した画像オブジェクトのうち、最低の階層の画像オブジェクトを、前記重複した画像オブジェクトのうちの最高の階層に上げるよう前記保持手段に保持された階層を更新する階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記表示手段により表示する。
【００１２】
あるいは、他の観点によれば本発明な以下の構成を有する。
【００１３】
表示画面と共通の座標系を有する第１タッチパネルと、
第２タッチパネルと、
前記第１タッチパネルの操作に応じて指定された画像オブジェクトの表示の階層を下げ、前記第２タッチパネルの操作に応じて指定された画像オブジェクトの表示の階層を上げる階層変更手段とを有し、
前記階層変更手段により更新された階層に応じて前記画像オブジェクトを前記第１タッチパネルに表示する。
【発明の効果】
【００１４】
本発明によれば、画像の位置を移動する事なく画像の階層を変更する事が可能となる。これにより、一度レイアウトされた画像の位置を維持したまま、背面に隠れた画像の選択及び処理が可能となり、ユーザの利便性を向上する事ができる。特に、複数の画像のレイアウト処理を行う場合に効果を発揮する。
【図面の簡単な説明】
【００１５】
【図１】情報処理装置の外観を示す図
【図２】情報処理装置のハードウェア構成例を示す図
【図３】画像管理テーブル３００を示す図
【図４】液晶ディスプレイ１００９上に複数の画像が表示されている例を示す図
【図５】第１タッチパネル操作を検知した場合の処理フローを示す図
【図６】第１タッチパネル操作を検知した場合の液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図７】階層移動処理フローを示す図
【図８】階層移動手段を示す図
【図９】画像管理テーブル３００の階層情報３０２の更新方法について説明する図
【図１０】階層移動手段が、選択された画像を最前面もしくは最背面に移動するモードの場合の液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図１１】階層移動手段が、選択された画像の階層を１階層ずつ移動するモードの場合の液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図１２】階層移動手段が、ダブルタップされた指の本数に応じて選択された画像の階層を移動するモードの液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図１３】複数の画像が選択されている場合の液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図１４】タップ位置に応じ画像の階層を下げる処理フローを示す図
【図１５】タップ位置に応じ画像の階層を下げる処理を実行した場合の、液晶ディスプレイ１００９と画像管理テーブル３００の状態を示す図
【図１６】重階層管理テーブル５００を示す図
【図１７】複数の画像が重なった場合の液晶ディスプレイ１００９の状態を示す図
【図１８】画像管理テーブル３００のある状態を示す図
【図１９】背面に隠れた画像を液晶ディスプレイ１００９の前面に移動する処理フローを示す図
【図２０】階層変更処理を示す図
【図２１】第２タッチパネル１００８をダブルタップした場合の画像管理テーブル３００と重階層管理テーブル５００更新及び制御方法を示す図
【図２２】第２タッチパネル１００８をダブルタップした場合の画像管理テーブル３００と重階層管理テーブル５００更新及び制御方法を示す図
【発明を実施するための形態】
【００１６】
［第１の実施形態］
以下、本実施形態を実施するための第１の実施形態について図面を用いて説明する。
【００１７】
＜情報処理装置の外観＞
図１は、本実施形態の情報処理装置の外観を示す図である。情報処理装置１００はスマートフォン等の携帯情報端末やタブレット等の携帯可能な情報処理装置を示す。また、図示しない複合機の着脱可能な操作部であっても良い。情報処理装置１００は、無線回線１０３を介してインターネットとの間で文書や画像のデータの授受を行ったり、図示しない複合機や記憶デバイスと通信可能である。情報処理装置１００は、表面部１０１には透明な材質で形成された第１タッチパネル１００７とその下部に液晶ディスプレイ１００９を合わせて２層構造で構成される。また、情報処理装置１００の裏面部１０２には、第２タッチパネル１００８を有する。第２タッチパネルは第１タッチパネルの裏面側に対向して配置されている。情報処理装置１００は、第１タッチパネル１００７と第２タッチパネル１００８からユーザ操作を受け付け動作する。
【００１８】
第１タッチパネル１００７と第２タッチパネル１００８の操作はそれぞれ独立しており、動作モードの選択、各種機能の設定、動作指示等の処理を個別に割り当てることが可能である。第１タッチパネル１００７は、液晶ディスプレイ１００９上に表示された画像に対し、タップ、ドラッグ、ピンチ、フリックといった操作によって、画像の変倍や移動などのレイアウト処理が可能である。
【００１９】
本実施形態を説明する上で特徴的な、第１タッチパネル１００７と第２タッチパネル１００８に割り当られる処理を説明する。第１タッチパネル１００７でシングルタップ操作がユーザにより行われた事を検知すると、液晶ディスプレイ１００８に表示された画像の選択・解除処理を行う。ここでシングルタップとは、第１タッチパネル１００７に或る短い時間指で触れ、すぐに指を離す操作の事である。また選択・解除処理とは、たとえば未選択の画像をタップすると当該画像が選択状態となり、選択済みの画像をタップすると選択が解除されるような操作である。
【００２０】
第１タッチパネル１００７と第２タッチパネル１００８の少なくともいずれかでダブルタップ操作がユーザにより行われた事を検知すると、液晶ディスプレイ１００８に表示された画像の階層変更処理を行う。ここでダブルタップとは、第１タッチパネル１００７もしくは第２タッチパネル１００８に或る短い時間内に指で２回連続で触れる処理の事である。詳細については、後述する。
【００２１】
＜情報処理装置のハードウェア構成＞
図２は、本実施形態の情報処理装置のハードウェア構成例を詳細に示すブロック図である。
【００２２】
情報処理装置１００は、それぞれシステムバス１１０７で相互に接続されているＣＰＵ１００１、ＲＡＭ１００２、ＲＯＭ１００３、ＳＳＤ１００４、操作制御部１００６、ネットワーク部１０１０、操作制御部１００６を有している。さらに第１タッチパネル１００７と第２タッチパネル１００８と液晶ディスプレイ１００９を有し、操作制御部１００６に接続されるように構成される。
【００２３】
第１タッチパネル１００７は、利用者による操作入力のために、図示しないマルチタッチ検出可能な静電容量式タッチパネルで構成されている。第２タッチパネル１００８は、第１タッチパネル１００７と同様マルチタッチ検出可能なタッチパネルで構成されている、いわば第２の入力手段である。
【００２４】
ＣＰＵ１００１は、情報処理装置１００の内部で行われる各種処理について統括的に制御する。ＲＡＭ１００２は、ＣＰＵ１００１が動作するためのシステムワークメモリであり、画像データなどを一時記憶するための画像メモリでもある。ＲＯＭ１００２は、ブートＲＯＭであり、システムのブートプログラムを格納する。ＳＳＤ１００４はソリッドステートドライブで、主に、コンピュータを起動・動作させるために必要な情報（システムソフトウェア）や画像データを格納する。また、ＳＳＤ１００４は、以下に記載のフローチャートをＣＰＵ１００１が実行するためのプログラムを記憶する。これらのデータは、ＳＳＤ１００４に限らず、電源が切れても記憶保持可能な記録媒体に格納してもよい。ネットワーク部１０１０は無線回線１０３に接続され、インターネットや図示しない画像形成装置などの外部機器と通信（送受信）を行う。
【００２５】
第１タッチパネル１００７、第２タッチパネル１００８、液晶ディスプレイ１００９はそれぞれ操作制御部１００６に接続され、それぞれに必要なデータや情報および制御信号を送受信する。液晶ディスプレイ１００９は第１タッチパネル１００７の下に重ねて配置されて表示面と座標系を共有しており、表示される画像は第１タッチパネル１００７を通して外部から見ることができる。
【００２６】
操作制御部１００６は、第１タッチパネル１００７と第２タッチパネル１００８の夫々に対し、どの位置がタッチされているかの位置情報をＣＰＵ１００１に通知する。ＣＰＵ１００１は、どの位置がタッチされているかを随時確認する事で、第１タッチパネル１００７及び第２タッチパネル１００８上でどのような操作がユーザによって行われたかを知る事が可能となる。また、ＣＰＵ１００１は、何本の指で第１タッチパネル１００７と第２タッチパネル１００８がタップされたかも検知する事が可能となる。
【００２７】
また、操作制御部１００６は、ＣＰＵ１００９の指示に基づき、液晶ディスプレイ１００９に表示対象画像を送信する。表示対象画像は、後述する画像管理テーブル３００の情報を元にＣＰＵ１００１が生成する。
【００２８】
なお、本実施形態のようなシステムにおいても、入出力制御やプロセスのスケジューリングなどのリソース管理を行うオペレーティングシステム（ＯＳ）が用意されており、画像のレイアウトなどのアプリケーションはＯＳが提供する機能を利用して実現される。たとえばタッチパネルの操作はＯＳにより処理され、操作がシングルタップであるか、ダブルタップであるか、あるいはフリックやピンチであるか、また操作された位置はどこであるかなどの情報は、ＯＳが提供するインターフェースを介してアプリケーションが獲得することができる。もちろん操作されたデバイスが表面側の第１タッチパネル１００７か裏面側の第２タッチパネル１００８かを示す情報もＯＳから引き渡される。
【００２９】
本実施形態は、複数の画像をレイアウトする場合に有効となる。そこで、まず、本実施形態における、液晶ディスプレイ１００９に表示される複数の画像の例と、表示される画像の管理方法について説明し、その後、詳細な処理フローを説明する。
【００３０】
＜画像管理テーブル＞
図３は、画像管理テーブル３００を示す図である。画像管理テーブル３００は本実施形態における画像の操作を実現するために必要なテーブルであり、ＣＰＵ１００１により管理及び更新される。画像管理テーブル３００を、図３の画像管理テーブル３００に登録された画像が表示された画面を示す図４を使用しながら説明する。なお情報処理の観点からはＳＳＤ等に保存された画像は「画像オブジェクト」あるいは「画像データ」などと呼ぶべきであろうが、画像データとそれを視覚的に表示した画像とは不可分であるので、本実施形態では画像データを単に画像と呼ぶ場合もある。また個々の画像をレイアウトして構成される画面もまた画像であるので、混同を避けるために、個々の成分画像を画像オブジェクトと呼ぶこともある。また本例では画像データはたとえばフルカラーの画素から構成されており、画素を格子状に配列した矩形の画像として表示される。なお図３の画像管理テーブルは、例えば画像レイアウト機能を提供するアプリケーション等により、レイアウト対象とする新たな画像が選択され、レイアウトされる都度、当該画像に係るレコードが追加される。そして追加されたレコードの位置情報が、レイアウトに応じて更新される。もちろん後述の通り階層情報も、その階層移動操作に応じて変更される。
【００３１】
図４は、液晶ディスプレイ１００９上に、図３の画像管理テーブル３００で管理されている複数の画像が表示されている例を示す図である。液晶ディスプレイ１００９上に画像４０１から画像４０５の５つの画像が表示されている。
【００３２】
図３の説明に戻る。画像名３０１の列は、液晶ディスプレイ１００９上に表示されている画像をユニークな名前で管理する項目である。図３の例では、液晶ディスプレイ１００９上に表示されている画像４０１の画像名を画像Ａ、画像４０２の画像名を画像Ｂ、画像４０３の画像名を画像Ｃ、画像４０４の画像名を画像Ｄ、画像４０５の画像名を画像Ｅとして管理している事を示している。以降の説明においては、画像４０１から画像４０５の画像を画像Ａ、画像Ｂ、画像Ｃ、画像Ｄ、画像Ｅとして説明する。
【００３３】
階層情報３０２の列は、液晶ディスプレイ１００９の表示されている画像の階層を示す項目である。値は１から整数で順番に各画像に振られており、値が小さい方が上の階層に位置する事を示す。本例では、画像Ｃの階層情報３０２の値が'１'なので、一番上の階層にあり、画像Ａの階層情報３０２の値が'５'なので、一番下の階層に位置する事を示している。階層の上下は、表示の優先順位と言い替えることもできる。上の階層の画像と下の階層の画像とは重複している場合には、重複した部分では上の階層の画像がそのまま表示され、下の階層の画像は覆い隠される。なお本例では、各階層に属する画像は１つであり、２つの画像の属するそれぞれの階層は必ず上位と下位という関係にある。
【００３４】
位置情報３０３の列は、液晶ディスプレイ１００９の表示されている画像の位置を示す項目である。位置情報は、各画像の左上隅が液晶ディスプレイのどの位置にあるかを示すｓｐ（ｓｔａｒｔ  ｐｏｉｎｔ）、画像の横方向のサイズを示すｘｓｉｚｅ、画像の縦方向のサイズを示すｙｓｉｚｅの３つの値で管理されている。本例においては、図３に示す液晶ディスプレイ１００９の左上隅の位置を（０，０）、右上隅の位置を（１５０，０）、左下隅の位置を（０，１００）、右下隅の位置を（１５０，１００）として説明する。すなわち、左上隅を原点として、右側に向けてＸ軸が、下側に向けてＹ軸が延びた座標系で画面上の位置が示される。本例において、画像Ａのｓｐの値が（１２，９）であり、液晶ディスプレイ１００９上の左上から、横方向に「１２」の縦方向に「９」の位置に画像Ａの左上が位置する事を示している。また、ｘｓｉｚｅの値が「２３」でありｙｓｉｚｅの値が「３４」なので、ｓｐの座標から横方向に２３、縦方向に３４のサイズの画像Ａがある事を示す。
【００３５】
選択フラグ３０４の列は、液晶ディスプレイ１００９上に表示されている画像が現在選択されているかを示す項目である。画像が選択中であればＯＮになり、画像が選択されていなければＯＦＦとなる。選択フラグ３０４のＯＮ、ＯＦＦの切り替えは、第１タッチパネル１００７が押下され、押下がシングルタップであり、押下された位置に応じてＣＰＵ１００１が対応する画像の選択フラグ３０４のフラグの値を更新する。画像の選択と階層とは独立しており、ある画像を選択しても、選択操作のみによってその画像の属する階層は変化しない。
【００３６】
＜通常操作処理フロー＞
図５は、本実施形態において、ユーザにより第１タッチパネル１００７もしくは第２タッチパネル１００８が操作された場合の処理フローを示す図である。特に、複数の画像が液晶ディスプレイ１００９に表示され、ユーザによりレイアウト処理が行われる事を想定し説明していく。
【００３７】
図５に示すフローチャートは、ＳＳＤ１００４に格納されたプログラムをＣＰＵ１００１がＲＡＭ１００２に展開してＣＰＵ１００１が実行する事で実現される。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。以降に記載の全ての処理フロー（図７、図８、図９、図１４、図１９、図２０）も、ＣＰＵ１００１が同様に実行する。これら手順は、画像管理テーブル３００により管理され、液晶ディスプレイ１００９に表示された画像を対象として実行される。
【００３８】
レイアウト編集中は、Ｓ１０１からＳ１０７が繰り返しループ実行される。Ｓ１０１で、第１タッチパネル１００７もしくは第２タッチパネル１００８上で操作があるかを検知する。操作された事を検知しない場合は、そのまま操作検知を待つ。操作を検知した場合は、Ｓ１０２で階層移動指示であるか判定する。本実施形態において、階層移動指示は、第１タッチパネル１００７もしくは第２タッチパネル１００８に対するダブルタップ操作である。
【００３９】
階層移動指示であると判定すると、本実施形態に特徴的な処理である、Ｓ１０７の階層移動処理を実行する。階層移動処理は、画像管理テーブル３００の階層情報３０２の値を制御する処理である。Ｓ１０７の詳細な処理フローについては図７を用いて後述する。
【００４０】
Ｓ１０２で階層移動指示でないと判定した場合はＳ１０３に移行する。Ｓ１０３で画像選択指示であるかを判定する。本実施形態において、画像選択指示は、第１タッチパネル１００７に対するシングルタップ操作である。画像選択指示であると判定した場合、Ｓ１０５で画像管理テーブル３００の選択フラグの値を更新する。更新方法は、タップされた位置に画像がある場合は、タップされた画像の選択フラグ３０４を反転する。タップされる前の状態がＯＦＦであればＯＮとし、タップされる前の状態がＯＮであればＯＦＦとする。また、タップされた位置に画像が無ければ、画像管理テーブル３００に登録された全ての画像の選択フラグ３０４をＯＦＦにする。タップされた位置で複数の画像が重なっている場合には、階層情報３０２の状態を参照し、最上位階層に位置する画像に対して画像選択（あるいは選択解除）処理を行う。
【００４１】
Ｓ１０３で画像選択指示でない場合は、Ｓ１０４で通常処理を行う。ここで通常処理とは、画像が選択されている状態であれば画像に対する移動や変倍処理を、画像が選択されていない状態であれば、液晶ディスプレイ１００９に表示されている画面に対する移動や変倍処理を行う事である。もう少し詳細な内部動作は、画像が選択されている状態であれば、たとえばユーザが第１タッチパネル１００７上でのフリックやピンチ操作を行った事を検知し、画像管理テーブル３００の位置情報３０３やサイズ情報を操作に応じて更新する。
【００４２】
Ｓ１０６で、Ｓ１０４，Ｓ１０５，Ｓ１０７で更新した画像管理テーブル３００の状態に従い、位置情報３０３で指定されるサイズに画像を変倍し、また指定される位置に配置して、液晶ディスプレイ１００９に表示画面に対応した画像データを生成し、操作制御部１００６を介して液晶ディスプレイ１００９に表示する画面全体の画像データを送信する。
【００４３】
ここで、Ｓ１０４の通常処理がウィンドウに対する操作である場合の液晶ディスプレイ１００８への表示方法についての詳細は記載していないが、表示ウィンドウの状態に応じて、画像管理テーブル３００の位置情報３０３もＣＰＵ１００１が更新する。
【００４４】
＜通常操作処理フローにおける画像管理テーブルの状態と液晶表示画像＞
図６は、ユーザが第１タッチパネル１００７を操作した場合の一例を示す図である。特に、図５で示したフローチャートのＳ１０１からＳ１０６の処理を行った場合の状態を示す図である。各図において、右側に画像管理テーブル３００の状態を示し、左側にその状態に対応した液晶ディスプレイ１００９の表示を示す。
【００４５】
図６（Ａ）及び図６（Ｂ）は、５つの画像のレイアウトのある状態を示す図である。図６（Ａ）においては、画像Ａから画像Ｅが重複することなく表示されており、いずれの画像も選択されていない。図６（Ａ）の状態で、ユーザが画像Ｅの位置で第１タッチパネル１００７をシングルタップし、画像Ｅを選択した場合の処理手順は以下のとおりである。
【００４６】
ＣＰＵ１００１は、Ｓ１０１で第１タッチパネル１００７操作を検知し、Ｓ１０２で階層移動処理でないと判定し、Ｓ１０３で画像選択指示であると判定し、Ｓ１０５にて画像選択・解除処理を行っている。画像Ｅの選択フラグ３０４の状態がＯＦＦだったので、ＯＮ状態に変更する。その結果、図６（Ｄ）に示す画像管理テーブル３００の状態となる。画像管理テーブル３００がそのように更新された後、ステップＳ１０６により、図６（Ｃ）のように画面が表示される。選択された画像が分かるように、選択した画像の枠を点線表示している。
【００４７】
図６（Ｃ）の状態で、ユーザが画像Ｅを斜め下にスライドさせた際の処理手順は以下のとおりである。
【００４８】
Ｓ１０１，Ｓ１０２は図６（Ｃ）で説明したフローと同じなる。ＣＰＵ１００１は、Ｓ１０３で、画像選択指示でないと判定し、Ｓ１０４で通常処理を行う。ここでＣＰＵ１００１は、画像Ｅの位置から左下に指をスライドさせた事を検知し、フリック操作の始点と終点とで定義されるベクトルに従って、画像Ｅの位置情報３０３を更新している。その結果図６（Ｆ）に示す画像管理テーブル３００の状態となる。画像管理テーブル３００がそのように更新された後、ステップＳ１０６により、図６（Ｅ）のように画面が表示される。ここで、画像Ｅと画像Ｃ、画像Ｄが重なっている。画像が重なった場合、ＣＰＵ１００１はＳ１０６で各画像の階層情報３０２を参照し、階層が下の画像から順に上書き表示する。図６（Ｆ）の例では、画像Ｃの階層が１、画像Ｄの階層が４、画像Ｅの階層が２であり、値が小さいほど上位の階層として上に表示される。その結果、下から画像Ｄ，画像Ｅ，画像Ｃの順に重ねて表示される。
【００４９】
図６（Ｅ）の状態で、ユーザが画像Ｅの位置で第１タッチパネル１００７をシングルタップし、画像選択を解除した場合の処理手順は以下のとおりである。
【００５０】
Ｓ１０１、Ｓ１０２、Ｓ１０３の処理は図６（Ｃ）で説明したフローと同じなる。Ｓ１０５で、画像Ｅの選択フラグ３０４の状態がＯＮだったので、ＯＦＦ状態に変更されている。その結果、図６（Ｈ）に示す画像管理テーブル３００の状態となる。画像管理テーブル３００がそのように更新された後、ステップＳ１０６により、図６（Ｇ）のように画面が表示される。ここで、選択されていた画像Ｅが選択解除され、画像Ｅの枠が点線から元の線に戻っている。
【００５１】
本実施形態において、画像の選択を第１タッチパネル１００７のみで記載している理由は、画像の選択は情報処理装置１００の裏面に配置された第２タッチパネル１００８では、指の位置が分からず、画像の選択が難しいと考えているからである。
【００５２】
また、第２タッチパネル１００８から受け付ける操作は、第２タッチパネル１００８に対するダブルタップ操作である階層移動処理としている。その理由は、情報処理装置１００をユーザが持つ場合、どうしても裏面に配置された第２タッチパネル１００８に指や手のひらが触れてしまい、誤動作を引き起こしてしまいユーザの利便性を損なう事を考慮したためである。
【００５３】
本実施形態では上記のように記述しているが、決してこれに限られるものではないことに留意すべきである。所定の時間内にほぼ同じ個所を続けて二回タップするダブルタップ操作は、シングルタップやフリック操作に比べて誤って行われにくいと考えられるため、裏面の操作に関してはダブルタップを本例では許しているが、また誤操作の可能性を考慮しないなら、裏面からのシングルタップで画像選択を可能としてもよい。また表面のタッチパネルと同様にフリックやピンチ等の他の操作を許すことも可能である。
【００５４】
＜階層移動処理フロー＞
図７は、図５のフローチャートのＳ１０７の階層移動処理フローを示す図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。本フローは、図５で説明したように、情報処理装置１００の表面に位置する第１タッチパネル１００７もしくは裏面に位置する第２タッチパネル１００８のいずれかがダブルタップされた場合に、階層移動処理であると判定し、実行するフローである。
【００５５】
Ｓ２０１で、画像管理テーブル３００の選択フラグ３０４の状態を確認し、いずれかの画像が選択されているかを判定する。いずれかの画像が選択されている場合は、Ｓ２０２に進む。
【００５６】
Ｓ２０２で、情報処理装置１００の表面に位置する第１タッチパネル１００７がダブルタップされたのか、裏面に位置する第２タッチパネル１００８がダブルタップされたのかを判定する。ダブルタップされたのが表面の第１タッチパネルである場合には、選択されている画像の階層をＳ２０３で下げる。ダブルタップされたのが裏面の第２タッチパネルである場合には、選択されている画像の階層をＳ２０４で上げる。Ｓ２０３及びＳ２０４での階層移動手段については、図８、図９のフロー及び、図１０から図１３の図を用いて後述する。
【００５７】
Ｓ２０１で、いずれの画像も選択されていない場合はＳ２０５に進む。Ｓ２０５で、情報処理装置１００の表面に位置する第１タッチパネル１００７がダブルタップされたのか、裏面に位置する第２タッチパネル１００８がダブルタップされたのかを判定する。
【００５８】
表面の第１タッチパネルがダブルタップされた場合には、ダブルタップされた位置に画像がある場合に、ダブルタップされた位置の画像の階層を下げる処理を行うＳ２０６に移行する。Ｓ２０６の詳細なフローについては図１４を用いて後述する。
【００５９】
裏面の第２タッチパネルがダブルタップされた場合には、背面に隠れた画像を液晶ディスプレイ１００９に表示するように画像管理テーブル３００の階層情報３０２を変更する処理をＳ２０７で行う。Ｓ２０７の詳細な処理フローについては図１９を用いて後述する。
【００６０】
Ｓ２０１で、画像選択ありと判定し動作するＳ２０２からＳ２０４の処理フローは、液晶ディスプレイ１００９上にユーザが選択可能な状態で画像が表示されており、その中から画像が選択された上で動作する事を想定している。
【００６１】
一方、Ｓ２０１で、画像選択なしと判定して動作するＳ２０５、Ｓ２０６の処理フローは、操作対象の画像が表示上見えていることを前提としており、図５のＳ１０３及びＳ１０５で画像選択処理が行われていなくても、ダブルタップを行った位置にある画像の階層を下げる事で、ユーザの画像選択処理を省く事を可能とする。詳細は、図１４等を参照して説明する。
【００６２】
Ｓ２０１で、画像選択なしと判定し動作するＳ２０５、Ｓ２０７の処理フローは、液晶ディスプレイ１００９上に複数の画像が重なり、ある画像の全体が別の画像の背面に隠れてしまっている場合を想定している。例えば、ある画像Ａの下に別の画像Ｂの全面が隠れてしまい、そのままでは画像Ｂを選択できない場合である。詳細は、図１６等を参照して説明する。
【００６３】
ここで、第１タッチパネル１００７のダブルタップ処理を画像の階層を下げる処理に割り当てた理由は、表面から画像を裏面に押し込むイメージであり、画像の階層を下げる直観的処理であるためである。また、第２タッチパネル１００８のダブルタップ処理を階層を上げる処理に割り当てた理由は、裏面から画像を表面に押し上げるイメージであり、画像の階層を上げる直観的処理であるためである。すなわち、画像の階層の移動方向とタップの方向が一致している。このジェスチャ操作と画像の操作との対応は操作性の向上のために決めているが、もちろんこの限りではない。
【００６４】
＜階層移動手段＞
図８は、図７のフローチャートのＳ２０３及びＳ２０４の階層移動手段を示す図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。
【００６５】
本実施形態において、階層移動手段として、選択された画像の階層を移動するモードを３つ持っている。第１のモードは選択された画像の階層を最前面もしくは最背面に移動するモード、第２のモードはダブルタップされた指の本数に応じて選択された画像の階層を移動するモード、第３のモードは選択された画像の階層を１階層ずつ移動するモードである。同じ操作であっても、選択されているモードに応じて画像に対する処理は異なる。なお第２のモードを実現するには、第１タッチパネルは、同時に複数の位置の接触を検出可能なマルチタッチ操作が可能である必要がある。これら３つのモードのうち、どのモードで動作するかは、ユーザの使用方法に合わせて予め設定されており、どのモードで動作するかをＲＡＭ１００２に記憶しておく。また、モードの設定は、レイアウト処理を行う前に、ユーザが第１タッチパネル１００７を介してどのモードで動作するかを設定する事も可能である。
【００６６】
本フローの説明においては、情報処理装置１００の第２タッチパネル１００８がダブルタップされ、選択された画像の階層を上げる場合について説明する。
【００６７】
Ｓ３０１で、現在のモードが最前面に階層を移動する第１のモードであるか判定する。現在のモードが第１のモードであると判定すると、Ｓ３０２に進む。Ｓ３０２で、選択された画像の階層を最前面に移動し、選択されていない画像の階層も、最前面に移動した画像の階層に合わせて変更する。
【００６８】
Ｓ３０１で、現在のモードが第１のモードでないと判定すると、Ｓ３０３に進む。Ｓ３０３で、現在のモードが、ダブルタップされた指の本数に応じて選択された画像の階層を移動する第２のモードであるか判定する。現在のモードが第２のモードであると判定すると、Ｓ３０４に進む。Ｓ３０４で、ダブルタップされた指の本数に応じ、選択された画像の階層を上げる。例えば、ダブルタップされた指の本数が３本の場合は、選択された画像を現在いる階層から３階層上げる。選択されていない画像の階層も、前面に移動した画像の階層に合わせて変更する。なお指定された階層数上げると最上位の階層を超える場合には、移動後の階層は最上位の階層とする。
【００６９】
Ｓ３０３で、現在のモードが第２のモードでないと判定すると、現在のモードは、選択された画像の階層を１階層ずつ移動する第３のモードであると判定してＳ３０５に進む。Ｓ３０５で、選択された画像の階層を１階層上げる。選択されていない画像の階層も、前面に移動した画像の階層に合わせて変更する。
【００７０】
図８の説明では、情報処理装置１００の第２タッチパネル１００８がダブルタップされ、選択された画像の階層を上げる場合について説明したが、第１タッチパネル１００７がダブルタップされた場合には、選択された画像の階層を下げる処理が、図８と同様の処理フローで実行される。違いは、第１タッチパネルの操作により、Ｓ３０２においては、選択された画像を最前面ではなく最背面に移動する点である。またＳ３０４においては、指の本数に応じて選択された画像の階層を下げる点である。またＳ３０５においては、選択された画像の階層を１階層下げる点である。
【００７１】
Ｓ３０２、Ｓ３０４、Ｓ３０５の処理は、ＣＰＵ１００１が画像管理テーブル３００の階層情報３０２を更新する事で実現する。画像管理テーブル３００の階層情報３０２の更新方法については、図９の処理フローを用いて説明する。
【００７２】
＜画像管理テーブル更新方法＞
図９は、図８のフローチャートのＳ３０２及びＳ３０４及びＳ３０５で選択された画像の階層を移動する場合の、画像管理テーブル３００の階層情報３０２の更新方法について説明する図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。
【００７３】
Ｓ４０１で、選択されている画像の移動先の階層をまず決定する。移動先の階層は、現在いる階層を基準とし、図８で説明した３つのモードに応じて決定される。移動先の階層が最前面もしくは最背面を超えた階層の場合は、最前面もしくは最背面に移動する。また、複数の画像が選択され、かつ、最前面もしくは最背面に移動する場合は、移動前のこれら選択された複数の画像間のもともとの階層の上下関係を維持したまま最前面もしくは最背面に階層を移動する。
【００７４】
次に、Ｓ４０２で、選択されていない画像の階層を、選択されていない画像間のもともとの階層の上下関係を維持したまま、Ｓ４０１で決定した選択画像の階層以外の階層に順次割り当てる。
【００７５】
以下、図１０から図１３を用いて、各モードにおける画像管理テーブル３００の階層情報３０２の更新方法を、液晶ディスプレイ１００９に表示する画面と一緒に説明する。図１０から図１３の説明において、画像管理テーブル３００の更新及び、液晶ディスプレイ１００９に表示する画面は全てＣＰＵ１００１が更新する事は言うまでもない。よって、図１０から図１３の説明ないで、主語となるＣＰＵ１００１は割愛して記述する。
【００７６】
＜画像管理テーブルの更新例（第１のモード）＞
図１０は、図８のフローで、選択された画像を最前面もしくは最背面に移動する第１のモードの場合の画像管理テーブル３００の階層情報３０２の更新方法についての一例を示す図である。もう少し詳細には、画像が選択されていない状態からユーザが画像の選択を行い、選択した画像の階層を移動し、選択した画像を選択状態から解除する場合についての一例を示す図である。図１０から図１３の各図において、右側に画像管理テーブル３００の状態を示し、左側にその状態に対応した液晶ディスプレイ１００９の表示を示す。
【００７７】
図１０（Ａ）、図１０（Ｂ）は、画像が何も選択されていない、ある表示状態を示す図である。このときの各画像の階層は図１０（Ｂ）の通りである。
【００７８】
図１０（Ｃ）、図１０（Ｄ）は、図１０（Ａ）、図１０（Ｂ）の状態で、ユーザが画像Ｄの位置で第１タッチパネル１００７をシングルタップし、画像を選択した場合の状態を示す図である。画像Ｄの選択フラグ３０４がＯＮ状態になり、液晶ディスプレイ１００９の画像Ｄの枠が点線になり、画像選択している事を示す。
【００７９】
図１０（Ｅ）、図１０（Ｆ）は、図１０（Ｃ）、図１０（Ｄ）の状態で、ユーザが第２タッチパネル１００８をダブルタップした場合の状態を示す図である。本例は第１のモードにおける動作例であり、この操作は、ユーザが画像Ｄを最前面に階層を移動しようとしている事を示す。
【００８０】
ここで、図９のフローで説明した、画像管理テーブル３００の階層情報３０２の更新方法に基づきこの例を説明する。まず、選択されている画像すなわち画像Ｄを最前面の階層に移動するため、画像Ｄの階層情報３０２の値を、最上位の階層を示す値すなわち'１'に更新する。ここまでが、図９のＳ４０１の処理に対応する。
【００８１】
次に、選択されていない画像Ａ、画像Ｂ、画像Ｃ、画像Ｅの階層情報３０２の変更方法について説明する。以下の説明が、図９の処理フローでＳ４０２に相当する処理である。Ｓ４０１で決定した画像Ｄの階層を示す階層情報３０２の値が'１'なので、選択されていない画像である画像Ａ，画像Ｂ、画像Ｃ、画像Ｅには'１'以外の'２'から'５'の値を、階層の上下関係を維持したまま割り当てる。図１０（Ｃ）、図１０（Ｄ）のとき、各画像の階層は上の階層から順に、画像Ｃ、画像Ｅ、画像Ｂ、画像Ａである。よって、この上下関係を維持したまま、各画像に対して階層２から５を割り当てる。したがって、各画像の階層情報３０２は、画像Ｃが'２'、画像Ｅが'３'、画像Ｂが'４'、画像Ａが'５'となる。
【００８２】
図１０（Ｇ）、図１０（Ｈ）は、図１０（Ｅ）、図１０（Ｆ）の状態で、ユーザが画像Ｄの位置で第１タッチパネル１００７をシングルタップし、画像の選択を解除した場合の状態を示す図である。
【００８３】
＜画像管理テーブルの更新例（第３のモード）＞
図１１は、図８のフローで、選択された画像の階層を１階層ずつ移動する第３のモードの場合の画像管理テーブル３００の階層情報３０２の更新方法について一例を説明する図である。
【００８４】
図１１（Ａ）、図１１（Ｂ）は、画像Ｄが選択された状態を示し、図１０（Ｃ）、図１０（Ｄ）の状態と同様である。図１１（Ｃ）、図１１（Ｄ）は、図１１（Ａ）、図１１（Ｂ）の状態で、ユーザが第２タッチパネル１００８をダブルタップした場合の状態を示す図である。つまり、ユーザが選択されている画像Ｄの階層を１階層上げようとしようとしている事を示す。以下より、画像管理テーブル３００の階層情報３０２の更新方法について説明する。基本的な画像管理テーブル３００の階層情報３０２の更新方法の考え方は図９及び図１０を用いて説明したので、詳細な説明は割愛する。
【００８５】
まず、画像Ｄの階層を１階層上げる。図１１（Ａ）、図１１（Ｂ）の状態の画像Ｄの階層情報３０２の値は'４'なので、画像Ｄの階層情報３０２の値を１上げて'３'に更新する。次に、画像Ｄの階層を示す階層情報３０２の値が'３'なので、選択されていない画像である画像Ａ，画像Ｂ、画像Ｃ、画像Ｅには'３'以外の'１'から'２'及び'４'から'５'の値を、階層の上下関係を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｃが'１'、画像Ｅが'２'、画像Ｂが'４'、画像Ａが'５'となる。この操作により画像管理テーブル３００においては画像Ｄと画像Ｂの階層が入れ替わったが、画像Ｄと画像Ｂとは重複がないため、図１１（Ａ）と図１１（Ｃ）とで表示は変わっていない。
【００８６】
図１１（Ｅ）、図１１（Ｆ）は、図１１（Ｃ）、図１１（Ｄ）の状態で、ユーザが第２タッチパネル１００８をダブルタップした場合の状態を示す図である。つまり、ユーザが画像Ｄの階層をもう１階層上げようとしようとしている事を示す。画像管理テーブル３００の階層情報３０２の更新方法は、ここまでに説明したので、結果のみ説明する。選択画像である画像Ｄの階層情報３０２の値を'２'に上げる。選択されていない画像Ａ、画像Ｂ、画像Ｃ、画像Ｅには'２'以外の値を、階層構成を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｃが'１'、画像Ｅが'３'、画像Ｂが'４'、画像Ａが'５'となる。この操作により画像管理テーブル３００においては画像Ｄと画像Ｅの階層が入れ替わった。画像Ｄと画像Ｅとは一部が重複しているため、図１１（Ｅ）では、画像Ｄが画像Ｅの上に表示されている。
【００８７】
次に図１１（Ａ）から図１１（Ｆ）までと違い、選択した画像の階層を下げる場合の例についても説明する。
【００８８】
図１１（Ｇ）、図１１（Ｈ）は、図１０（Ａ）、図１０（Ｂ）の状態で画像Ｅが選択された状態を示す。図１１（Ｉ）、図１１（Ｊ）は、図１１（Ｇ）、図１１（Ｈ）の状態で、ユーザが第１タッチパネル１００７をダブルタップした場合の状態を示す図である。つまり、ユーザが画像Ｅの階層を１階層下げようとしようとしている事を示す。画像Ｅの階層情報３０２の値は'２'から１下げた'３'に更新され、画像Ａ、画像Ｂ、画像Ｃ、画像Ｄには'３'以外の値を、階層の上下関係を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｃが'１'、画像Ｂが'２'、画像Ｄが'４'、画像Ａが'５'となる。
【００８９】
図１１（Ｋ）、図１１（Ｌ）は、図１１（Ｉ）、図１１（Ｊ）の状態で、ユーザが第１タッチパネル１００７をさらにダブルタップした場合の状態を示す図である。画像Ｅの階層情報３０２の値は'３'から'４'に変更され、画像Ａ、画像Ｂ、画像Ｃ、画像Ｄには'４'以外の値を、階層の上下関係を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｃが'１'、画像Ｂが'２'、画像Ｄが'３'、画像Ａが'５'となる。
【００９０】
図１１（Ａ）から図１１（Ｆ）で行った処理は、画像Ｄを他のどの画像にも隠れる事なく表示したいために行った処理とすると、図１１（Ｇ）から図１１（Ｌ）で行った画像Ｅの階層を下げる事でも、画像Ｄを前面に表示する事は可能となる。すなわち、対象画像と、それと重複する重複画像とがある場合、対象画像の階層を重複画像の階層よりも上に上げる操作をするか、あるいは重複画像の階層を対象画像の階層よりも下に下げる操作をすることで、この目的を達成することができる。
【００９１】
＜画像管理テーブルの更新例（第２のモード）＞
図１２は、図８のフローで、ダブルタップされた指の本数に応じて選択された画像の階層を移動する第２のモードの場合の画像管理テーブル３００の階層情報３０２の更新方法について一例を説明する図である。
【００９２】
図１２（Ａ）、図１２（Ｂ）は、画像Ｄが選択された状態を示す。図１２（Ｃ）、図１２（Ｄ）は、図１２（Ａ）、図１２（Ｂ）の状態で、ユーザが第２タッチパネル１００８を２本指でダブルタップした場合の状態を示す図である。つまり、ユーザが画像Ｄの階層を２階層上げようとしようとしている事を示す。基本的な画像管理テーブル３００の階層情報３０２の更新方法の考え方は図９から図１１を用いて説明したので、詳細な説明は割愛する。
【００９３】
画像Ｄの階層を２階層上げるため、画像Ｄの階層テーブル３０２の値を現在の階層'４'から２を引いた'２'に更新し、画像Ａ、画像Ｂ、画像Ｃ、画像Ｅには'２'以外の値を、階層の上下関係を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｅが'１'、画像Ｃが'３'、画像Ａが'４'、画像Ｂが'５'となる。
【００９４】
図１２（Ｅ）、図１２（Ｆ）は、図１２（Ｃ）、図１２（Ｄ）の状態で、ユーザが第２タッチパネル１００８を２本指でさらにダブルタップした場合の状態を示す図である。つまり、ユーザが画像Ｄの階層をさらに２階層上げようとしようとしている事を示す。
【００９５】
画像Ｄの階層を２階層上げようとるすが、既に画像Ｄの階層情報３０２の値は'２'であり、２階層上げようとすると、最前面の階層'１'を超えてしまう。よって、図９のＳ４０１で説明したように、画像Ｄの階層情報３０２の値を最前面の階層である'１'に更新する。そして、選択されていない画像である画像Ａ、画像Ｂ、画像Ｃ、画像Ｅの階層情報３０２には'１'以外の値を、階層構成を維持したまま割り当てる。よって、各画像の階層情報３０２は、画像Ｅが'２'、画像Ｃが'３'、画像Ａが'４'、画像Ｂが'５'となる。
【００９６】
図１２（Ａ）、図１２（Ｂ）の状態で、ユーザが第２タッチパネル１００８を３本指でダブルタップした場合は、画像Ｄの階層が３階層あがり、図１２（Ｅ）、図１２（Ｆ）に示す状態に一気に遷移する。
【００９７】
図１３は、さらに、複数の画像が選択されている場合に、画像管理テーブル３００の階層情報３０２の更新方法について一例を説明する図である。図１３は、図８の処理フローで選択された画像を最前面もしくは最背面に移動する第１のモードの場合の画像管理テーブル３００の階層情報３０２の更新方法についての一例を示す図である。
【００９８】
図１３（Ａ）、図１３（Ｂ）は、画像Ａと画像Ｅが選択された状態を示す。図１３（Ｃ）、図１３（Ｄ）は、図１３（Ａ）、図１３（Ｂ）の状態で、ユーザが第１タッチパネル１００７をダブルタップした場合の状態を示す図である。つまり、ユーザが画像Ａと画像Ｅの階層を最背面に下げようとしようとしている事を示す。基本的な画像管理テーブル３００の階層情報３０２の更新方法の考え方は図９から図１２を用いて説明したので、本階層移動方法に特徴的な部分のみ詳細な説明を行う。
【００９９】
まず、図９のＳ４０１で、選択されている画像の移動先の階層を決定する。ここで、図１３（Ｂ）の例では画像Ａと画像Ｅの２つの画像が選択されている。複数の画像が選択されており、最背面に階層を移動する場合には、選択されている画像間の移動前の階層の上下関係を維持したまま、最背面に選択された画像を移動する。つまり、階層を下げる場合には、選択されている画像のうち最低の階層の画像を特定し、特定した画像の階層を、モード及び操作に応じた階層に変更し、選択されている画像のうち、残りの画像の階層も、選択されている画像のうち最低の階層の画像から順次高くなるように変更する。階層を上げる場合には、選択されている画像のうち最高の階層の画像を特定し、特定した画像の階層を、モード及び操作に応じた階層に変更し、選択されている画像のうち、残りの画像の階層も、選択されている画像のうち最高の階層の画像が順次低くなるよう変更する。その後、選択されていない画像に対して、階層移動前のそれらの上限関係を維持しつつ、いまだ割り当てられていない残りの階層を割り当てる。
【０１００】
図１３（Ａ）、図１３（Ｂ）のとき、画像Ａの階層情報３０２の値が'３'で、画像Ｅの階層３０２の値が'１'であり、画像Ａの方が下の階層に位置している。よって、画像Ａの階層情報３０２の値を'３'から'５'に更新し、画像Ｅの階層情報３０２の値を'１'から'４'に更新する。
【０１０１】
次に、選択されていない画像である画像Ｂ，画像Ｃ、画像Ｄには'４'及び'５'以外の'１'から'３'の値を、階層の移動前の階層の上下関係を維持したまま割り当てる。よって、各画像の階層情報３０２は画像Ｂが'１'、画像Ｄが'２'、画像Ｃが'３となる。
【０１０２】
以上、図１０から図１３の方法において、いずれの方法でも、ユーザの所望する画像の階層移動、すなわち指定した画像の属する階層を別の階層へ変更することを実現する事が可能となる。これにより、複数の画像を１ページ内にレイアウトする場合、特に、複数の画像を重ねてレイアウトしたい場合のレイアウト作業を簡単に実現する事ができる。また階層の変更を、変更後の階層を所定の階層として行うか、あるいは、所定の数又は指定した数の階層を上げる或いは下げることで行うかを選択することもできる。
【０１０３】
また、本実施形態においては、ある指定した画像の階層を上げる手段を第２タッチパネルのダブルタップにより実現しているが、第２のタッチパネルがない場合には、第１のタッチパネルに階層を上げる手段を準備しても実現する事ができる。例えば、第１のタッチパネルに対するトリプルタップ操作を画像の階層を上げる処理に割り当て、実現する事も可能である。また、情報処理装置１００に図示しない固定タブがあり、画像の階層を上げる処理を固定タブに割り当てる事で、階層を上げる処理で実現する事も可能である。
【０１０４】
また、階層を上げる処理がない場合も、何度も選択した画像に対し画像の階層を下げる処理を行う事で、画像の階層を上げる処理が無くても、画像の階層を考慮した画像のレイアウトを実現する事が可能である。
【０１０５】
また、前面に表示されている画像の階層を下げる事で、背面に隠れてしまった画像を、レイアウトされた位置を維持したまま選択可能となる。
【０１０６】
＜選択された画像がない場合の画像の階層移動＞
図７のステップＳ２０６の処理は、画像の選択を必要とせずに、画像の階層を直観的に下げる事を目的とする。ステップＳ２０３、Ｓ２０４の処理では、必ず液晶ディスプレイ１００９に表示された画像を選択する必要があったが、Ｓ２０６においては、画像の選択を必要としないため、ユーザの手間を減らす事が可能となる。
【０１０７】
＜ダブルタップされた位置に応じ画像の階層を下げる処理フロー＞
図１４は、図７のフローチャートのＳ２０６のタップ位置に応じ画像の階層を下げる処理フローを示す図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。
【０１０８】
Ｓ５０１で、画像管理テーブル３００の位置情報３０３を参照し、第１タッチパネル１００７上でダブルタップされた位置に画像があるかを判定する。画像がない場合には、そのまま終了する。Ｓ５０１で画像があると判定された場合は、Ｓ５０２に移行し、対応する画像の階層を下げる。Ｓ５０２の処理フローは、図８及び図９で示した階層移動手段と同じ処理を実行する。処理フローは同じであるが、実施形態１では選択されている画像に対して処理を行うが、Ｓ５０２では、Ｓ５０１でダブルタップされた位置にある画像に対して処理を行う点で、Ｓ２０４とは異なる。なおＳ５０２では階層は下げられるので、この点は、図７のＳ２０３で呼び出す図８の手順と同様である。なお、Ｓ５０１で、ダブルタップした位置で複数の画像が重なっている場合は、階層情報３０２の状態を参照し、最上位の階層に属する画像に対してその階層を下げる処理を行う。
【０１０９】
＜画像管理テーブルの更新方法＞
図１５は、図７のＳ２０６の処理における画像管理テーブル３００の階層情報３０２の更新方法についての一例を示す図である。もう少し詳細には、画像が選択されていない状態で、ユーザが画像Ｅの位置で、第１タッチパネル１００７をダブルタップした場合の例を示す図である。本例において、図１４のＳ５０２の階層を下げる手順は、図８のフローで、選択された画像を最背面に移動するモード（すなわちＳ３０２）である場合で説明する。
【０１１０】
図１５は、左側に液晶ディスプレイ１００９の表示を、右側に画像管理テーブル３００の状態を示す図を記載している。図１５（Ａ）、図１５（Ｂ）は、画像が何も選択されていない状態を示す図である。図１５（Ｃ）、図１５（Ｄ）は、図１５（Ａ）、図１５（Ｂ）の状態で、ユーザが、画像Ｅの位置で第１タッチパネル１００７をダブルタップした場合の状態を示す図である。ＣＰＵ１００１は、図１４のＳ５０１で画像管理テーブル３００の位置情報３０３を参照し、ダブルタップされた位置にある画像を判定する。図１５（Ａ）の例では、画像Ｅの上でダブルタップすれば、その位置には画像Ｅのみか或いは画像Ｄ及び画像Ｅがある。画像Ｄ（階層は４）と画像Ｅ（階層は２）とが重複している位置がダブルタップされた場合には、より上の階層に属する画像Ｅが、移動の対象となる。したがっていずれにしても画像Ｅが階層移動の対象となる。
【０１１１】
次に図１４のＳ５０２で画像Ｅの階層を最背面に移動する処理を実行する。画像管理テーブル３００の階層情報３０２の更新方法については、既に述べているので詳細は割愛する。このとき、各画像Ａから画像Ｅの選択フラグ３０４はＯＦＦ状態を維持し、階層情報３０２のみ更新される。階層移動により、画像Ｅの階層は、変更前の階層である２から最低の階層である５に変更される。これにより変更前の階層が画像Ｅより上の画像、本例では階層１の画像Ｃは、画像Ｅの階層移動による影響を受けない。また、変更後の階層が画像Ｅより下の画像も画像Ｅの階層移動による影響を受けないが、本例では画像Ｅは最低階層に移動するから該当する画像はない。したがって、変更前の階層が、変更前後の画像Ｅの階層に挟まれた画像、本例では画像Ａ，Ｂ，Ｄの階層が、それぞれ１階層ずつ上がる。
【０１１２】
選択した画像の階層を変更する場合には、まず画像を選択するため第１タッチパネル１００７をシングルタップし、次に選択した画像の階層を下げるため第１タッチパネル１００７をダブルタップしていた。しかし、本例では、画像を選択する必要がない。以上のように、画像の選択を必要としないため、ユーザの手間を減らす事が可能となる。
【０１１３】
＜背面に隠れた画像の階層移動＞
図７のステップＳ２０７は、ある画像Ａの背面に別の画像Ｂが全て、もしくは大半が隠れてしまい、画像Ｂを選択できない場合、ある画像の背面に隠れた別の画像を前面に持ってくる操作及び処理を目的とする。例えば、以下のような場合に有効となる。例えばユーザがレイアウト処理中にある画像の拡大を行い、他の画像が拡大した画像の背面に隠れてしまった場合や、拡大した画像の位置を維持したまま、拡大した画像の背面に隠れている画像を前面に移動し選択あるいは移動といった操作をしたい場合などである。
【０１１４】
＜重階層管理テーブル＞
図１６は、重階層管理テーブル５００を示す図である。重階層管理テーブル５００は背面に隠れた画像の階層移動を実現するために必要なテーブルであり、ＣＰＵ１００１により管理及び更新される。重階層管理テーブル５００は、画像の重なりを示すテーブルであり、複数の画像が重なっている場合に生成されるテーブルである。すなわち、重階層管理テーブル５００は、本例では図１９のＳ６０１で作成されるが、画像管理テーブル３００に新たな画像のレコードが追加されたり、あるいは既存の画像の位置やサイズが変更された場合に、各画像の位置及びサイズに基づいて互いに重複する画像を検出し、作成あるいは更新されてもよい。重階層管理テーブル５００を説明するため、図１７及び図１８を使用しながら説明する。
【０１１５】
図１７は、画像管理テーブル３００が図１８に示す状態の場合の、液晶ディスプレイ１００９上に表示されている画像を示す図である。図１７（Ａ）は、液晶ディスプレイ１００９上に表示されている画面そのものである。図１７（Ｂ）は、画像Ｃの下に隠れている画像Ａ、画像Ｂ、画像Ｄを見えるようにした図である。あくまでも、実際に液晶ディスプレイ１００９上に表示されている画像は図１７（Ａ）である。画像Ｃの背面には、画像Ｂが全て隠れている。さらに、画像Ｂの下に画像Ａが全て隠れている。また、画像Ｃの下には、画像Ｄの一部が隠れている。
【０１１６】
図１６の重階層管理テーブル５００の説明に戻る。リスト番号５０１の列は、重階層管理テーブル５００で管理されるリストを管理する番号である。リスト番号５０１は、整数で１から順にインクリメントして生成される。表面画像名５０２の列は、ある画像の背面に一部でもある画像が隠れている画像を示す。例えば画像の識別子が格納される。裏面画像名５０３の列は、対応する表面画像名５０２の下に一部でも隠れている画像を示す。ここも例えば画像の識別子が格納される。
【０１１７】
図１６の重階層管理テーブル５００の状態は、画像管理テーブル３００が図１８の場合に生成されたものを示す図である。画像Ｃの背面に画像Ｂ、画像Ｄ、画像Ａが一部でも位置している事を示している。また、次に、画像Ｂの背面に、画像Ａが一部でも位置している事を示している。
【０１１８】
次に、重階層管理テーブル５００の生成方法について説明する。生成方法については、図１８の画像管理テーブル３００の状態を例に説明する。まず、階層情報３０２を参照し、階層が高い画像から順に基準画像として着目し、位置情報３０３を参照して、基準画像より階層が低く、かつ重複する画像を特定する。その特定のためには、基準画像より階層が低い画像に対して、階層が高い順に参照画像として着目し、基準画像の範囲と参照画像の範囲との重複を判定する。重複があれば、基準画像の下に参照画像が重複しているので、参照画像は基準画像と重複する画像として特定することができる。重複が見つかり、かつそのときの基準画像が表面画像名５０２に登録されていないなら、重階層管理テーブル５００に新たなリストを追加してリスト番号を付与し、そのときの基準画像を当該リストの表面画像名５０２に登録する。そしてそのときの参照画像を裏面画像名５０３に登録する。これを、参照画像の階層を順次下げつつ繰り返し行う。最低階層の画像を参照画像として判定を終えたなら、次に基準画像の階層を下げて同様の判定を繰り返す。下から２層目の階層の画像を基準画像として上記処理を完了するまで繰り返す。これは一例であるが、このような手順により画像管理テーブル３００に基づいて重階層管理テーブル５００を作成することができる。
【０１１９】
図１８の画像管理テーブル３００の場合は、階層情報３０２で最も上の階層に位置する画像Ｃの背面に重複する画像があるか判定する。詳細には階層情報３０２と位置情報３０３とを参照し、画像Ｃの背面に重複する画像があるかを判定する。ここで、画像Ｃの下に、階層の順に画像Ｂ、画像Ｄ、画像Ａがあるので、表面画像名５０２に画像Ｃを、裏面画像名５０３に画像Ｂ、画像Ｄ、画像Ａを登録する。
【０１２０】
次に、２番目に階層の高い画像Ｅについて同様に判定する。画像Ｅの背面には重複する画像がないので、そのまま終了する。
【０１２１】
次に、３番目に階層の高い画像Ｂについて同様に確認する。画像Ｂの背面には重複する画像Ａがあるので、表面画像名５０２に画像Ｂを、裏面画像名５０３に画像Ａを登録する。
【０１２２】
以上のように、階層情３０２で一番階層の低い画像まで同様に確認し、重階層管理テーブル５００を生成する。
【０１２３】
＜背面に隠れた画像を液晶ディスプレイ１００９の前面に表示す処理フロー＞
図１９は、図７のフローチャートのＳ２０７の背面に隠れた画像を液晶ディスプレイ１００９の前面に移動する処理フローを示す図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。
【０１２４】
Ｓ６０１で、図１６で説明した重階層管理テーブル５００を生成する。重階層管理テーブル５００は、本タイミングではなく、画像がレイアウトされ重なった時点で生成してもよい。
【０１２５】
Ｓ６０２で、重階層管理テーブル５００のリスト番号５０１を参照し、リストがあるか判定する。リストがない場合は、そのまま終了する。Ｓ６０２でリストがあると判定すると、Ｓ６０３に移行する。
【０１２６】
Ｓ６０３で、重階層管理テーブル５００の中で、未選択のリストのうち、最も背面にある（すなわちもっとも低階層の）画像を表面画像名５０２として含むリストを選択する。詳細には、上述した作成手順から明らかであるが、最も大きいリスト番号を持つリストの表面画像名５０２に対応する画像が、全リストの表面画像名に対応する画像のなかで最も低い階層にある。したがって重階層テーブル５００のリスト番号５０１を参照し、リスト番号５０１の値のもっとも大きい方（表面画像名５０２に対応する画像で階層が下にある画像）から順に選択する。
【０１２７】
次に、Ｓ６０４で、Ｓ６０３で選択されたリスト番号５０１に対応する表面画像名５０２に対応する画像と裏面画像名５０３に対応する画像の階層を条件に応じて更新する。詳細には、それら画像の画像管理テーブル３００の階層情報３０２の値を更新する。Ｓ６０４の詳細な処理フローは後述する。
【０１２８】
次に、Ｓ６０５で、Ｓ６０３で選択されたリスト番号５０１を削除し、Ｓ６０２に移行する。
【０１２９】
＜画像管理テーブル階層変更フロー＞
図２０は、図１９のフローチャートのＳ６０４の階層変更処理を示す図である。本処理フローの動作主体は特に説明しない限りＣＰＵ１００１であるため、本処理フローの説明の主語は割愛して記載する。なお以下の説明では、表面画像名５０２に対応する画像を表面画像と呼び、裏面画像名５０３に対応する画像を裏面画像と呼ぶこととする。
【０１３０】
Ｓ７０１で、表面画像と裏面画像の位置を参照する。Ｓ７０２で、表面画像の背面に隠れている裏面画像の、画像全体に対する隠されている部分の割合を算出し、別途設定される閾値と比較して、所定率以上隠れているかどうか判定する。例えば、設定された閾値が１００％であるとすると、表面画像の背面に全て隠れている裏面画像を前面（すなわち表面画像より上の階層）に階層移動するよう、Ｓ７０３からＳ７０５で制御する。設定された値が７０％であるとすると、表面画像の背面に７０％以上隠れている裏面画像を前面に階層移動するよう、Ｓ７０３からＳ７０５で制御する。
【０１３１】
Ｓ７０２で、設定された閾値（割合）を超える裏面画像がない場合はそのまま終了する。Ｓ７０２で、設定された閾値を超える割合で表面画像に覆われた裏面画像がある場合はＳ７０３に移行する。
【０１３２】
Ｓ７０３で、前面に階層を移動する画像を決定する。すなわち、表面画像より上の階層に所属階層を変更する裏面画像を決定する。階層を前面に移動される画像は、裏面画像のうち、Ｓ７０２で判定した別途設定された割合以上が隠れている画像である。このため対象となる画像は複数となることもあり得る。
【０１３３】
次にＳ７０４で、Ｓ７０３で決定した画像の、移動後の階層を決定する。移動後の階層の決定の仕方は、現在処理中のリスト番号５０１の表面画像と裏面画像のそれぞれの階層情報３０２の値の中で最も高い階層から順に、Ｓ７０３で決定した画像に対して割り当てるというものである。このとき、移動後にも移動前の階層の順序が維持されるよう、上の階層から順に階層情報３０２に、移動対象の画像の階層情報に値を割り当てる。
【０１３４】
次にＳ７０５で、現在処理中のリスト番号５０１のうち、Ｓ７０３で前面に移動する画像として決定されなかった残りの画像の階層を決定する。残りの画像に対しても、移動前のそれら画像間の階層の順序を維持するよう、Ｓ７０３で前面に移動する画像に対して割り当てた階層の残りの階層を、残りの画像の階層情報３０２として割り当てる。
【０１３５】
Ｓ７０３からＳ７０５において、現在処理中のリスト番号５０１に含まれない画像は、現状の階層を維持する事になる。
【０１３６】
以下、図２１と図２２を用いて、画像管理テーブル３００の階層情報３０２の更新方法と重階層管理テーブル５００の制御方法を、液晶ディスプレイ１００９に表示する画面と一緒に説明する。
＜画像管理テーブルと重階層管理テーブルの更新＞
図２１は、図２０の手順において、第２タッチパネル１００８をダブルタップした場合の画像管理テーブル３００と重階層管理テーブル５００の更新及び制御方法を示す図である。ユースケースとして、ユーザがレイアウト作業を行い、画像Ｃを拡大した時に、画像Ａ、画像Ｂ、画像Ｄが画像Ｃの背面に隠れてしまった場合に、画像Ｃの位置を移動する事なく背面に隠れた画像を前面に表示する場合を説明する。
【０１３７】
図２１及び図２２の各図において、左側に液晶ディスプレイ１００９の表示を、真ん中に画像管理テーブル３００の状態を、右側に重階層管理テーブル５００の状態を示す図を記載している。
【０１３８】
図２１（Ａ）（Ｂ）（Ｃ）は、画像Ｃが選択されている状態を示す図である。重階層管理テーブル５００は生成されていない状態である。
【０１３９】
図２１（Ｄ）（Ｅ）（Ｆ）は、図２１（Ａ）（Ｂ）（Ｃ）の状態でユーザが第１タッチパネル１００７上でピンチ操作を行い、画像Ｃを拡大した場合の状態を示す図である。ここまでの処理は、図５のＳ１０１からＳ１０６の処理フローにより実現される処理である。当然、画像Ｃの位置情報３０３は拡大後の位置及びサイズにより更新されている。
【０１４０】
ここで、画像Ｃの階層は階層情報３０２にあるとおり、５つの画像の中で最上位の階層'１'にあるため、画像Ａ、画像Ｂ、画像Ｄが画像Ｃの背面に隠れてしまう。
【０１４１】
図２１（Ｇ）（Ｈ）（Ｉ）は、図２１（Ｄ）（Ｅ）（Ｆ）の状態でユーザが第１タッチパネル１００７上で画像の表示されていない箇所をシングルタップし、画像の選択を解除した状態を示す図である。ここまで、重階層管理テーブル５００は生成されていない状態である。
【０１４２】
図２１（Ｊ）（Ｋ）（Ｌ）から、図２０の処理を行った場合の画像管理テーブル３００と重階層管理テーブル５００の状態を示す図である。図２１（Ｊ）（Ｋ）（Ｌ）及び図２１（Ｍ）（Ｎ）（Ｏ）は、図２０のＳ７０２で判定する設定された割合が１００％の場合について説明する。図２１（Ｐ）（Ｑ）（Ｒ）は、図２０のＳ７０２で判定する設定された割合が７０％の場合について説明する。
【０１４３】
図２１（Ｊ）（Ｋ）（Ｌ）は、図２１（Ｇ）（Ｈ）（Ｉ）の状態でユーザが第２タッチパネル１００８をダブルタップした場合の状態を示す図である。この操作によりＣＰＵ１００１は、図１９のＳ６０１で重階層管理テーブル５００を生成する（図２１（Ｌ））。次に、ＣＰＵ１００１は、Ｓ６０２で重階層管理テーブル５００にリストが含まれていると判定し、Ｓ６０３で、リスト中、表面画像の階層が最も下位であるリストを選択する。ここで、リスト番号５０１にはリストは１つしかないので、リスト番号５０１の'１'を選択する。次にＳ７０１からＳ７０４の処理を行うＳ６０４で階層変更処理を行う。
【０１４４】
図２０のＳ７０１で、ＣＰＵ１００１は、表面画像である画像Ｃと、裏面画像である画像Ｂ、画像Ｄ、画像Ａとの画像の位置を参照し、Ｓ７０２で、画像Ａと画像Ｂとが、閾値以上の割合で画像Ｃの背面に隠れていると判定し、Ｓ７０３に移行する。
【０１４５】
Ｓ７０３で、ＣＰＵ１００１は、画像Ａと画像Ｂとを前面に移動する画像として決定する。
【０１４６】
次にＳ７０４で、ＣＰＵ１００１は表面画像である画像Ｃと、裏面画像である画像Ｂ、画像Ｄ、画像Ａの階層情報３０２を参照（図２１（Ｈ）の階層情報３０２参照）する。上記４つの画像の階層情報３０２の値がそれぞれ順に'１''３''４''５'であるので、画像Ａと画像Ｂとを前面に移動するため、移動前の階層の順序に従ってまず画像Ｂの階層情報３０２に'１'を、次に画像Ａの階層情報３０２に'３'を割り当てる。図２１（Ｇ）（Ｈ）（Ｉ）のとき、画像Ｂは画像Ａより上の階層にいるため、画像Ｂに'１'を割り当てている。
【０１４７】
次にＳ７０５で、ＣＰＵ１００１は、残りの画像である画像Ｃと画像Ｄとに対し、残りの階層である'４''５'のうち、移動前の階層の順序を維持するよう、まず画像Ｃの階層情報３０２に'４'を、次に画像Ｄの階層情報３０２に'５'を割り当てる。図２１（Ｇ）（Ｈ）（Ｉ）の時、画像Ｃは画像Ｄより上の階層にいるため、画像Ｃに'４'を割り当てている。
【０１４８】
図２１（Ｍ）（Ｎ）（Ｏ）は、図１９のＳ６０５で処理中のリスト番号５０１の'１'を、重階層管理テーブル５００から削除した状態を示す図である。
【０１４９】
図２１（Ｐ）（Ｑ）（Ｒ）は、図２１（Ｇ）（Ｈ）（Ｉ）の状態でユーザが第２タッチパネル１００８をダブルタップした場合の別の例を示す図である。図２１（Ｍ）（Ｎ）（Ｏ）との違いは、図２０のＳ７０２で判定の閾値として設定された割合が７０％に設定されていることである。そのため、画像Ｄも前面に移動する画像となっている。処理フローは、図２１（Ｊ）（Ｋ）（Ｌ）で説明した処理フローと同じであるため説明は割愛し、最終結果のみ図２１（Ｐ）（Ｑ）（Ｒ）に示す。
【０１５０】
図２２は、図２１と同様に、第２タッチパネル１００８をダブルタップした場合の画像管理テーブル３００と重階層管理テーブル５００更新及び制御方法を示す図である。
【０１５１】
図２１（Ａ）（Ｂ）（Ｃ）と比べ、画像Ｃの下に画像Ａ、画像Ｂ、画像Ｄが隠れている点は同じであるが、画像Ｂの下に、さらに画像Ａが隠れている点で異なる。また、以下で説明する例において、図２０のＳ７０２で判定する設定された割合は１００％に設定された場合で説明する。
【０１５２】
図２２（Ａ）（Ｂ）（Ｃ）は、画像が何も選択されていない、ある状態を示す図である。重階層管理テーブル５００は生成されていない状態である。
【０１５３】
図２２（Ｄ）の液晶ディスプレイ１００９には、図２２（Ａ）に示す画像を透過させ、各画像の階層と位置を示している。細かい点線枠で記載した画像Ｂ及び画像Ｄは、画像Ｃの下に隠れている事を示す。少し荒い点線の画像Ａは、画像Ｃの下に隠れ、かつ、画像Ｂの下に隠れている事を示している。当然、図２２（Ｂ）（Ｃ）と図２２（Ｅ）（Ｆ）の画像管理テーブル３００と重階層管理テーブル５００は同じ状態である。
【０１５４】
図２２（Ｇ）（Ｈ）（Ｉ）以降は、図２２（Ａ）（Ｂ）（Ｃ）の状態でユーザが第２タッチパネル１００８をダブルタップした場合の状態を示す図である。ＣＰＵ１００１は、図１９のＳ６０１で重階層管理テーブル５００を生成する。ここで、図２１と違い、画像Ａと画像Ｂとの重複関係を表すリストもあるため、２つのリスト番号５０１を生成する。次に、ＣＰＵ１００１は、Ｓ６０２でリストがある事を確認し、Ｓ６０３で最も背面にある表面リストを選択する。ここで、リスト番号５０１のうち、背面にあるリスト番号５０１の'２'を選択する。以下、Ｓ６０４で、画像Ａと画像Ｂに対して階層変更処理を実行し、結果、画像Ａと画像Ｂの階層情報３０２がＣＰＵ１００１により更新される。
【０１５５】
図２２（Ｊ）（Ｋ）（Ｌ）では、図２２（Ｇ）（Ｈ）（Ｉ）で図１９のＳ６０４の階層変更処理が終了し、更新後は画像Ａと画像Ｂの階層が入れ替わっている。ＣＰＵ１００１は図１９のＳ６０５で、処理中のリスト番号５０１の'２'を、重階層管理テーブル５００から削除している。次に、ＰＵ１００１は、Ｓ６０２に戻り、再度リストがある事を確認する。ここで、リスト番号５０１に'１'のリストがあるので、リスト番号１のリストについて、ＣＰＵ１００１は図１９のＳ６０３からＳ６０４の処理を実行する。結果、画像管理テーブル３００と液晶ディスプレイ１００９に表示される画像は図２２（Ｊ）のように更新される。更新後には、画像Ａと画像Ｂが選択され、それら間の階層の順序は維持されたまま、画像Ａと画像Ｂの階層は、画像Ｃの階層の上位に移動される。
【０１５６】
図２２（Ｍ）（Ｎ）（Ｏ）は、図１９のＳ６０５で処理中のリスト番号５０１の'１'を、重階層管理テーブル５００から削除した状態を示す図である。
【０１５７】
以上のように、ユーザが画像Ｃをピンチ操作により拡大した直後であれば、画像Ｃを最背面に移動する操作を行うことで、隠された画像を前面に移動させることができる。しかし、ユーザがさまざまなレイアウト処理を行っており、いつの間にかある画像が他の画像の背面に隠れてしまった場合、どこに画像が隠れてしまったのか分からなくなってしまう。その場合、図７のＳ２０３，Ｓ２０４，Ｓ２０６の操作及び処理では、何度も前面の画像（すなわち上位階層の画像）を背面に移動する事になる可能性がある。そのような場合に、図１９の手順が効果を発揮する。
【０１５８】
以上説明したように本実施形態によれば、画像にユニークな階層を割り当て、階層に対応した優先度で画像が表示される画像レイアウトシステムにおいて、画像の選択操作から独立した階層移動操作により画像の階層を変更することができる。また、階層を変更する画像を明示的に選択することも、また暗黙裡に選択することもできる。さらに、階層の変更を、階層を上げる方向でおこなうことも、逆に下げる方向で行うこともできる。さらに、レイアウトに元いるデバイスとして、画像の表面に対応したタッチパネルに加えて、裏面に対応したタッチパネルを用いることで、階層の変更をより容易かつ直観的に行うことができ、操作性を大幅に向上することができる。
【０１５９】
また以上で説明した本実施形態によれば、圧力センサーを備えない情報処理装置であっても、タッチセンサーを備えていれば本発明を適用することができる。
【０１６０】
なお、図７においてはＳ２０３，Ｓ２０４，Ｓ２０６，Ｓ２０７で説明した階層移動操作をすべて可能としたシステムを説明した。しかし、このうちの例えば、選択した画像の階層を変更するＳ２０３，Ｓ２０４のみを実装したシステムや、第１タッチパネルのみで実現可能なＳ２０５のみを実装したシステム、あるいは、第２タッチパネルのみで実現可能なＳ２０７のみを実装したシステムなども実現できる。さらにこれらの機能を任意に組み合わせたシステムを実現することも可能である。また第２タッチパネルは上記実施形態では座標入力のために使用されていないことから、位置を検出せずとも接触があったことを検出でき、望ましくはマルチタッチを検出できるデバイスであれは十分である。
【０１６１】
また、上記例では、画像を「押す」という操作のアナロジーから、表面の第１タッチパネルを階層の下げる操作に、裏面の第２タッチパネルを階層の上げる操作に割り当てているが、これを逆に割り当てることももちろん可能である。すなわち、一方のタッチパネルを階層の上昇に、他方を階層の下降に割り当てる。
【０１６２】
また上記実施形態で用いたタッチパネルは、座標入力のための他のデバイスで代用することもできる。たとえば静電容量方式や抵抗膜方式など通常のタッチパネルのほか、超音波振動を断続的に発するペンにより座標を入力する弾性表面波を用いたデバイスや、電磁誘導を利用したデバイス等を用いてもよい。さらに、表示の座標系と入力の座標系が共通であれば上記実施形態は実施可能であるので、たとえばマウスやタッチパッド等の座標入力装置を持つパーソナルコンピュータなどで実現することもできる。さらに、タッチパネルを持つパーソナルコンピュータであれば、裏面用の第２タッチパネルは画像の選択のためには利用されないことから、キーボード上に設けたタッチパッドなどを第２タッチパネルに代えて利用することもできる。
【０１６３】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014115850.tif 000003
【図２】
2014115850.tif 000004
【図３】
2014115850.tif 000005
【図４】
2014115850.tif 000006
【図５】
2014115850.tif 000007
【図６】
2014115850.tif 000008
【図７】
2014115850.tif 000009
【図８】
2014115850.tif 000010
【図９】
2014115850.tif 000011
【図１０】
2014115850.tif 000012
【図１１】
2014115850.tif 000013
【図１２】
2014115850.tif 000014
【図１３】
2014115850.tif 000015
【図１４】
2014115850.tif 000016
【図１５】
2014115850.tif 000017
【図１６】
2014115850.tif 000018
【図１７】
2014115850.tif 000019
【図１８】
2014115850.tif 000020
【図１９】
2014115850.tif 000021
【図２０】
2014115850.tif 000022
【図２１】
2014115850.tif 000023
【図２２】
2014115850.tif 000024