情報処理装置及びその制御方法
【課題】タッチスクリーン上に表示された複数のオブジェクトの集合を、タッチ入力により直感的に操作して整列表示させることを可能とする環境を提供する。
【解決手段】情報処理装置は、タッチ入力を検知するタッチスクリーンを備え、タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する。情報処理装置は、複数のオブジェクトの集合をタッチスクリーンに表示し、取得された複数のタッチ点の位置が、その集合から、互いに遠ざかる向きに移動した場合に、その集合に含まれる複数のオブジェクトをタッチスクリーンに整列表示させる。
【解決手段】情報処理装置は、タッチ入力を検知するタッチスクリーンを備え、タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する。情報処理装置は、複数のオブジェクトの集合をタッチスクリーンに表示し、取得された複数のタッチ点の位置が、その集合から、互いに遠ざかる向きに移動した場合に、その集合に含まれる複数のオブジェクトをタッチスクリーンに整列表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチスクリーンを用いたユーザインターフェースを提供する情報処理装置及びその制御方法に関する。
【背景技術】
【0002】
近年、タッチスクリーン上のハンドジェスチャにより画面上のオブジェクトを操作するインタフェースが注目されている。タッチスクリーン上の入力はマウスやキーボードなどの入力デバイスを使用したインタフェースと比較してより直感的な操作が可能である。また近年の接触検出デバイスの進歩により、タッチスクリーン上での直感的な操作を可能とする複雑なジェスチャを認識することが可能になってきている。
【0003】
特許文献1では、同時に移動する2個以上の指示位置の複雑な軌跡を検知し、検知されたそれぞれの軌跡に応じてタッチスクリーン上に表示されるオブジェクトの操作を行なう方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001-290585号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、タッチスクリーンを押下する圧力に応じて画面上のオブジェクトの操作を行なう方法が記載されている。特許文献1によれば、圧力が強くなるにつれてページ送り操作量や拡大・縮小の変化量を大きくすること、圧力が一定以上になった場合にこれらの操作量を最大とすること、圧力が一定以上になった場合にこれらの操作を繰り返すことが記載されている。
【0006】
しかしながら、特許文献1ではタッチスクリーン上の複数の押圧による操作でありながら、複数の押圧の圧力差に応じた操作指示については記載されていない。
【0007】
本発明は、このような事情を考慮してなされたものであり、タッチスクリーン上に表示された複数のオブジェクトの集合を、タッチ入力により直感的に操作して整列表示させることを可能とする環境を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得手段と、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備える。
【発明の効果】
【0009】
本発明によれば、タッチスクリーン上に表示された複数のオブジェクトの集合を、タッチ入力により直感的に操作して整列表示させることを可能とする環境を提供することができる。
【図面の簡単な説明】
【0010】
【図1】実施形態に係る情報処理装置の構成例を示すブロック図である。
【図2】実施形態に係る入力装置が有するタッチスクリーンの構成例を表す図である。
【図3】実施形態に係るシステムの押圧点の圧力を記憶するテーブルのデータ記録例を示す図である。
【図4】第1実施形態に係る入力装置への入力操作の例を示す図である。
【図5】第1実施形態に係る情報処理装置における、入力の位置の軌跡を記憶するテーブルのデータ記録例を示す図である。
【図6】第1実施形態に係る情報処理装置における、入力の圧力の軌跡を記憶するテーブルのデータ記録例を示す図である。
【図7】第1実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図8】第1実施形態に係る情報処理装置によるオブジェクト整列操作の例を示す図である。
【図9】第1実施形態に係る情報処理装置によるオブジェクト整列操作の処理を示すフローチャートである。
【図10】第1実施形態に係る情報処理装置によるオブジェクト整列操作の他の例を示す図である。
【図11】第2実施形態に係るオブジェクト整列操作の例を示す図である。
【図12】第2実施形態に係る情報処理装置によるオブジェクト整列操作の処理を示すフローチャートである。
【図13】第2実施形態の変形例に係る情報処理装置によるオブジェクト整列操作の他の例を示す図である。
【図14】第2実施形態に係るオブジェクト整列操作の他の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の好適な実施形態を、添付の図面を参照して説明する。
【0012】
[第1実施形態]
図1は、本実施形態に係る情報処理装置100のハードウェア構成例を概略的に示すブロック図である。
【0013】
図1において、マイクロプロセッサ(CPU)11は、情報処理装置100の各構成要素を制御すると共に、各種演算、論理判断等を行う。固定メモリ(ROM)12は、CPU11が実行する処理プログラム等の制御プログラムコードを記憶する読出し専用のメモリである。ランダムアクセスメモリ(RAM)13は、各構成要素から送られた各種データの一時記憶に用いられる書き込み可能なメモリである。記憶装置14は、ハードディスク等の各種ディスク機器やフラッシュメモリ等から構成され、処理中のデータや画像ファイル、メタデータ等を格納する。入力装置15は、画面を接触することにより操作入力を行なうタッチスクリーンを備える。通信装置16は、USB等の外部入出力機器やモデム等の有線あるいは無線通信機器から構成され、外部機器とのデータ交換を行なう。上述した各構成は、アドレスバスAB、コントロールバスCB、及びデータバスDBを介して互いに接続されている。
【0014】
アドレスバスABは、CPU11が制御の対象とする構成要素を指定するためのアドレス信号を転送するためのバスである。コントロールバスCBは、CPU11が制御の対象とする各構成要素に対してCPU11から印加されるコントロール信号を転送するためのバスである。データバスDBは、各構成要素相互間のデータ転送を行うためのバスである。
【0015】
情報処理装置100は、入力装置15からの各種の入力及び通信装置16から供給されるネットワーク経由の各種の入力に応じて作動する。入力装置15からの入力又は通信装置16からの入力が供給されると、インタラプト信号がCPU11に送られる。CPU11は、インタラプト信号に応じて記憶装置14内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って各種の制御を実行する。
【0016】
図2は、本実施形態の情報処理装置100における入力装置15が具備するタッチスクリーン200を示す図である。タッチスクリーン200は、オペレータ(操作者)からの操作を入力するタッチ入力部201と、画像を表示する表示部202とを有する。更に、タッチスクリーンは、画面上における複数のタッチ入力に対応した複数の押圧点の各々位置(座標)を検出する押圧位置検出部203と、複数の押圧点の各々の圧力を検出する押圧圧力検出部204を備えている。図2では左右の手の指で同時に画面を押圧した例が示されている。
【0017】
タッチスクリーン200において、画面の左下から右方向にX軸、上方向にY軸を取り、画面上押圧された複数の点の座標位置及び押圧強度を検出する。図2ではある時刻tにおいて左手の指で押圧した座標がAt(x,y)、右手の指で押圧した座標がBt(x,y)として検出された様子が示されている。また、左右の指の押圧点には、圧力が大きいほど面積が大きくなる影が表示されており、ユーザは各押圧点における圧力の大きさ(差)を認識することができる。即ち、本実施形態のタッチスクリーン200は、検出された複数の押圧点の圧力(或いは圧力差)をユーザが認識できるように、圧力に応じて表示形態を変化させて押圧点を表示する。
【0018】
図3は、図2で示す押圧の際にタッチスクリーン200により検出された各押圧位置の接触圧力を示すデータテーブルである。CPU11は、タッチスクリーン200(押圧位置検出部203及び押圧圧力検出部204)で検出されたある時刻tにおける複数の押圧点の圧力を、例えばRAM13にテーブル300のように記録する。
【0019】
図4、図5、図6は、タッチスクリーン上の押圧点がスライドされた場合の軌跡を追跡する処理を説明する図である。
【0020】
図4は、時刻t1に位置At1、Bt1にあった押圧点のそれぞれが、時刻t2、t3、t4を経て、時刻t5においてそれぞれAt5、Bt5まで画面上をスライドされたことを示す。また、このとき、CPU11は、図5に示すように押圧位置検出部203によって検出された各点の位置座標(基準時刻t1、t2、t3、t4、t5に対する点A、点Bそれぞれの軌跡として各点の位置座標)を、例えばRAM13に記録する。同時に、CPU11は、押圧圧力検出部204によって検出された、各位置座標における各点の圧力を、図6に示すように例えばRAM13に記録する。
【0021】
このようにしてオペレータが画面上を複数の指で接触してから離すまでの軌跡を記録する。本実施形態では、このようにして得られたタッチスクリーン上の押圧力の位置と圧力の軌跡に応じて画面上におけるオブジェクトの操作を解釈し実行する。以下では、取得された2個以上の押圧力における位置と圧力の軌跡から行なうべき操作を解釈する処理について具体的に説明する。
【0022】
図7は、本実施形態の処理の流れを示すフローチャートである。なお、図7に示される処理は、CPU11がROM12に格納されているプログラム、或いはRAM13にロードされたプログラムを実行することにより実現される。
【0023】
ステップS701において、CPU11は、タッチスクリーン200により押圧入力が検知されたか否かを判定する。押圧入力が検知されなければ検知されるまで待機する。押圧入力が検出された場合、ステップS702において、CPU11は、終了操作が行なわれたかどうかを判定する。本実施形態では、タッチスクリーン200のタッチ入力部201上の押圧が解除された場合に終了操作が行われたと判定する。終了操作が行なわれたと判定される場合は、CPU11は本処理を終了する。
【0024】
ステップS702において終了操作が行われていないと判定されると、処理はステップS703へ進む。ステップS703において、CPU11は、タッチスクリーン200において検出された押圧位置と押圧圧力に基づいて、タッチスクリーン200上の入力がどの操作を指示する入力であるかを解釈する。そして、ステップS704において、CPU11は、ステップS703で解釈された操作を実行する。以上のように、終了操作が行なわれない場合は次の入力まで待機し、入力が検知された場合にその入力を解釈、実行する処理が繰り返される。
【0025】
図8は、2点の押圧力の位置の軌跡及び圧力の軌跡に基づいて画面上のオブジェクトを整列する処理の一実施形態を説明する図である。
【0026】
時刻t1において、図8の(a)に示すようにオブジェクト集合801がタッチスクリーン200に表示され、このオブジェクト集合801が当該タッチスクリーン200への所定の操作により選択されているとする(後述のステップS901)。そして、このオブジェクト集合801上の2点(At1及びBt1)が図8の(a)に示すように押圧されているとする。この状態から時刻tnに至るまでA,Bの2点の押圧点を互いに遠ざかる向きにスライドさせ、点Aが座標Atnに、点Bが座標Btnへ移動した状態が図8の(b)である。
【0027】
画面上のこのような操作によりオブジェクト集合801内の各オブジェクトが点Aと点Bの間に、オブジェクト列802の如く整列される。また、点Aと点Bの圧力差に基づいて圧力の小さい点Bの方向のオブジェクトほど前面に表示されるように整列される。このため、指で強く押すほどオブジェクトが下(画面奥)へ沈むように表示されることになり、ユーザに直感的な操作環境を提供できる。
【0028】
図9を用いて、上述の整列操作を実現するCPU11の処理を説明する。図9は、図7のステップS703における入力解釈処理及びステップS704における操作実行処理に対応するフローチャートである。
【0029】
ステップS901において、CPU11はタッチスクリーン200における所定の操作入力により画面上に表示されている複数のオブジェクトを選択状態とする。例えば選択すべきオブジェクト集合の周辺を指で円状に囲うループと呼ばれるジェスチャにより円の内部のオブジェクトを選択状態とする。もちろん選択方法はこの操作に限定されるものではない。例えば、1つのオブジェクトを指示することで、当該指示されたオブジェクトを含み、少なくとも1部分が重なりあって連なるオブジェクト群を選択するようにしてもよい。こうして、ステップS901では、タッチスクリーン200に表示されているオブジェクトから、当該タッチスクリーン200へのタッチ入力に応じて複数のオブジェクトが選択される。
【0030】
ステップS902において、CPU11は、タッチスクリーン200で2点の押圧力が同時に検出されたか(存在するか)どうかを判定する(押圧のタイミングは同時でなくてもよい)。検出された場合は次のステップS903へ進む。所定時間が経過してもそのような押圧力が検出されなかった場合、或いは別の操作を意図する押圧力が検出された場合は本操作を終了する。別の操作を意図する押圧力としては、1点の押圧のみが存在し、それが移動を開始した場合等が挙げられる。
【0031】
ステップS903において、CPU11は、ステップS902で検出された2点の押圧力が両方ともステップS901で選択したオブジェクト集合を同時に押圧しているかどうかを判定する。CPU11は、オブジェクト集合の位置座標(オブジェクト集合の存在する範囲)と押圧力の位置座標とを比較し、両者に重なりがあるかどうかを調べることにより、上述の判定を行う。図8におけるAt1、Bt1のように、選択されたオブジェクト集合上に2点の押圧力がある場合は次のステップS904へ進む。そうでない場合は別の操作であると判断し、本操作を終了する。
【0032】
ステップS904において、CPU11は、ステップS903の判断により2点の押圧力が同時に選択オブジェクト上にあることで、これから行なわれるオペレータの操作が選択したオブジェクトを整列する操作であると解釈する。
【0033】
ステップS905において、CPU11は、2点の押圧力の相対距離が変化するかどうかを検出する。2点の押圧力の相対距離が変化しなかった場合には操作を行なわない。相対距離の変化が検出された場合には、処理は次のステップS906へ移動する。
【0034】
ステップS906において、CPU11は、ステップS904で解釈された整列指示に基づいて移動後の2点の押圧力の間にオブジェクトを整列する。即ち、CPU11は、図8の(b)のオブジェクト列802に示されるように、移動後の2点の押圧力の座標AtnとBtnを両端とし、オブジェクトの重心が等間隔になるように、指示されたオブジェクト集合801の各オブジェクトを整列する。なお、本実施形態では押圧点の相対的移動方向が直線となっており、AtnとBtnを両端とした直線上にオブジェクトを配置しているが、整列方法はこれに限定されるものではない。例えば2つの押圧点を円弧状にスライドさせることにより、トランプを開いたように円弧上にオブジェクトを整列しても良い。この場合、円弧状の押圧点の軌跡から、これにフィットする円を算出し、算出された円における座標AtnとBtnを両端とした円弧上にオブジェクトを配置する。以上のように、ステップS901で選択された複数のオブジェクトの表示範囲において検出された2つの押圧点が移動した場合に、移動後の2つの押圧点を結ぶ直線または曲線上に、当該選択された複数のオブジェクトが等間隔に配置される。
【0035】
ステップS907において、CPU11は、整列された、隣り合うオブジェクトに重なりが検出されるかどうかを判定する。AtnとBtnの距離が小さければ図8の(b)のオブジェクト列802に示されるように隣同士のオブジェクトが重なって整列される。重なりが検出された場合には、処理はステップS908へ進む。検出されなければ本操作は終了する。
【0036】
ステップS908では、2点の押圧力の圧力差を計算する。2点の圧力差は例えば2点それぞれについて図5における押圧力の軌跡の平均を取ったものを比較する。図5においては、全時刻にわたって各点の押圧力は一定であり、点Aの押圧力の平均は150、点Bの押圧力の平均は100となり、点Aの押圧力が点Bの押圧力より50大きい。ただし、ここで比較する圧力は、軌跡の平均に限定するものではない。始点の時刻t1における圧力同士、或いは終点のt5における圧力同士を比較するようにしてもよい。
【0037】
ステップS909において、CPU11は、ステップS908で計算した圧力が小さい側にあるオブジェクト程前面に表示されるように重なりの方向を揃えて整列する。図8の(b)におけるオブジェクト列802では、点Aと点Bの押圧力のうち、点Bの押圧力が小さい場合を示している。即ち、オブジェクト列802は、整列後の点Atn側にある画像に対し、押圧力の小さいBtn側にある画像の方が前面に表示されるように整列される。
【0038】
以上のように、本実施形態では、タッチスクリーン200上にランダムに配置された複数のオブジェクトが選択された場合に、移動後の2つの押圧点を結ぶ直線または曲線上に、それら複数のオブジェクトが所定のソート基準で並ぶように配置される。ここで、それら2つの押圧点の間に配置された複数のオブジェクトの重なりの前後関係は、検出された複数の押圧点の圧力差に基づいて変更される。即ち、複数のオブジェクトの重なりの方向が、2つの押圧点の圧力差の方向に応じて決定される。より具体的には、圧力の大きい押圧点から圧力の小さい押圧点に向かってオブジェクトが手前に表示されるようにオブジェクトの重なりが変更され、直感的な操作が可能となる。なお、ソート基準としては、オブジェクトのファイル名順、オブジェクトのタイムスタンプ順等が挙げられる。
【0039】
図10は、図8が整列されていないオブジェクトを整列させる例であったのに対し、整列されたオブジェクトに対する操作を示す図である。即ち、複数のオブジェクトが並んだオブジェクト列が選択された場合には、移動後の2つの押圧点を結ぶ直線または曲線上に、それら複数のオブジェクトが当該オブジェクト列における並び順を維持して配置される。以下では、重なりなくオブジェクトが配置されたオブジェクト列を操作した場合を説明するが、複数のオブジェクトが一部が重なるように配置されたオブジェクト列を操作対象としても同様の処理を行えることは明らかである。
【0040】
時刻t1において、図10の(a)に示されるように、オブジェクトが互いに重なりなく規則正しく整列されたオブジェクト列1001が表示されている。なお、操作の対象となるオブジェクト列1001は、前述のステップS901の処理により選択されたものである。
【0041】
ステップS903において2点の押圧点が整列オブジェクト上であると判定された場合、2点の押圧点を直線で結んだ軌跡上にあるオブジェクトを選択状態とする。即ち、図10の(a)に示されるように、押圧点At1とBt1で選択しているオブジェクトと共に、At1とBt1を結ぶ直線上にある2つのオブジェクトもオブジェクト列1001に属するオブジェクトとして選択される。なお、「押圧点が整列オブジェクト上である」とは、選択された整列オブジェクトのうちのいずれか1つ以上のオブジェクトの範囲において検出された押圧点のことである。
【0042】
図10の(b)に示すように、時刻t1からtnにかけて点Aを座標At1からAtnに、点Bを座標Bt1からBtnへスライドさせたとする。すると図9のステップS906において、CPU11は選択されたオブジェクトをAtnとBtnの間に整列する。ここで、AtnとBtnの距離がある一定値を下回ると、CPU11はオブジェクトの重なりを検出する(図9のステップS907)。そして、CPU11は、圧力が小さい側にあるオブジェクトほど前面になるようにオブジェクトを重ねて整列し、表示する(ステップS909)。
【0043】
なお、図10では、図8とは逆に点Aの押圧力よりも点Bの押圧力が大きい場合を示している。従って、ステップS909の処理により、オブジェクト列1002に示すようにAtnに近いオブジェクトほど前面に表示されるように整列される。
【0044】
以上のように、第1実施形態によれば、複数の押圧力の圧力差に基づいた整列方法を導入することにより、従来オブジェクトを整列し、その後重ね合わせの方向を変えるという2ステップで行なっていた操作を、1ステップで実行できるという効果がある。
【0045】
[第2実施形態]
図11は、第2実施形態によるオブジェクト操作例を示す図である。
【0046】
時刻t1においてオブジェクト列1101に示すように複数のオブジェクトが扇形に重なりを持って整列されているとする。また、オブジェクト列1101において、オブジェクトは、右側ほど前面に出るように規則正しく整列されているとする。また、時刻t1において、整列オブジェクト上の点At1とBt1が同時に押圧されており、点Aと点Bの押圧の圧力は点A<点Bである。この場合、CPU11は、当該押圧操作を整列オブジェクトの重なりの方向を変更する指示であると解釈する。そして、図11の(b)のオブジェクト列1102に示すように、押圧圧力が小さい押圧点に向かって前面にオブジェクトが表示されるように、オブジェクト列におけるオブジェクトの重なりを変更する。
【0047】
図12は、第2実施形態による整列操作処理を説明するフローチャートである。なお、図12は、図7のステップS703(入力解釈処理)及びステップS704(操作実行処理)に相当する。
【0048】
ステップS1201において、CPU11は、タッチスクリーン200上で2点の押圧力が同時に検出されたかどうかを判定する。検出されたならば、処理をステップS1202へ進める。所定時間が経過してもそのような押圧力が検出されなかった場合、或いは別の操作を意図する押圧力が検出された場合は本操作を終了する。別の操作を意図する押圧力としては、1点の押圧のみが存在し、それが移動を開始した場合等が挙げられる。
【0049】
ステップS1202において、CPU11は、ステップS1201で検出された2点の押圧力が同一の整列オブジェクト上にあるかどうかを判定する。同一の整列オブジェクト上にあると判定された場合は、処理はステップS1203へ進む。そうでなければ処理を終了する。なお、「ステップS1201で検出された2点の押圧力が同一の整列オブジェクト上にあるかどうかを判定する」において、同一の整列オブジェクト上か否かはたとえば次のように判断される。(1)整列オブジェクトをループ操作で選択しておく(但し、その場合、ステップS1203は不要となる)。(2)整列オブジェクトには必ずその前に図9の整列操作が行われるので、整列操作時に複数のオブジェクトが同一の整列オブジェクトに属するという情報(例えばグループID)をRAMに格納しておく。個の場合、2点の押圧力それぞれの下にある単一オブジェクトが同じグループIDの場合に、該当整列オブジェクト全体への操作であると判定される。
【0050】
ステップS1203において、CPU11は、整列オブジェクトに含まれる全てのオブジェクトを選択する。例えば、図11のように扇形に整列された整列オブジェクトの両端にあるオブジェクトの位置At1、Bt1を同時に押下した場合、当該整列オブジェクト(オブジェクト列1101)を構成する全てのオブジェクトが選択状態となる。
【0051】
ステップS1204において、CPU11は、ステップS1203で選択した整列オブジェクト内のオブジェクトが互いに重なり合っているかどうかを判定する。オブジェクト間に重なりが検出された場合、処理はステップS1205へ進む。検出されなければ本処理を終了する。
【0052】
ステップS1205において、CPU11は、2点の押圧力の圧力差を計算する。例えば、CPU11は、図6のように記録されている2点の圧力から、圧力差を計算する。
【0053】
ステップS1206において、CPU11は、ステップS1205で計算した圧力差が予め定めた閾値(圧力差の閾値)を超えるかどうか判定する。これは、オペレータが同じ強さで2点を押圧したつもりでも厳密には2点の圧力に差が出てしまうため、オペレータが意図して2点の押圧の圧力を変えた場合のみ操作が行なわれるようにするための処理である。なお、上記閾値をユーザが設定できるようにしてもよい。検出した2点の圧力差が閾値を超えれている判定された場合、処理はステップS1207へすすむ。一方、超えなければ、本処理を終了する。
【0054】
ステップS1207において、CPU11は、整列オブジェクト上の2点の押圧がステップS1206で検出した圧力差(閾値を越える圧力差)を保ったまま、予め定めた時間を超えて継続したかどうかを判定する。予め定めた時間を超えて上記圧力差が維持された場合は、処理はステップS1208へ進み、他の場合には、本処理を終了する。
【0055】
ステップS1208において、CPU11は、圧力が小さい側にあるオブジェクト程前面になるように整列オブジェクトの表示様態を変更する。図11の(a)において、右側のオブジェクト程前面になるように整列表示されたオブジェクトに対し、時刻t1からtnにかけて圧力差が点A<点Bとなる押圧が検出されている。ここで、時間tn−t1が予め定められた時間の閾値を超え、かつ点Aと点Bの圧力差が予め定められた圧力差の閾値を超える場合、CPU11はこれら押圧力を整列オブジェクトの重ね合わせの方向を変える操作であると解釈する。そして、CPU11は、図8の(b)におけるオブジェクト列1102に示すように、押圧圧力が小さい側、つまり点Aに近い側にあるオブジェクトほど手前になるように整列オブジェクトの重ね合わせの方向を変更する。
【0056】
以上のように、第2実施形態では、複数のオブジェクトが重なりを持って並んでいるオブジェクト列において2つの押圧点が検出された場合に、それら2つの押圧点の圧力差の方向に従ってオブジェクト列を構成するオブジェクトの重なりの方向が変更される。なお、上記説明では、オブジェクト列の両端のオブジェクト上に押圧点が指示されているが、これに限られるものではない。オブジェクト列の表示範囲内或いはオブジェクト列の近傍を含む範囲において指示された2つの押圧点の圧力差の方向に従って、オブジェクトの重なりを変更するようにしてもよい。例えば、図14の(a)に示すように、At1及びBt1を指定し、時刻tnまでこれを維持した場合、図14の(b)に示すように、重なりの方向が変更される。即ち、圧力差の方向1401に応じて、オブジェクト列の重なりの方向が変更され、図11と同様の結果が得られることになる。
【0057】
このようにして2点の押圧の圧力差を利用することにより整列オブジェクト全体の重なりの方向を1ステップで変更することができる。
【0058】
図13は、第2実施形態における変形例を示す図である。
時刻t1において図13の(a)に示すように、オブジェクト同士が重なりを持ったオブジェクト集合1301があり、時刻t1においてAt1とBt1を同時に押圧されたとする。ここで、点Aと点Bの押圧点の圧力は点A<点Bである。すると、CPU11は、当該押圧の入力を、オブジェクト集合1301内で点Aと点Bで押圧されたオブジェクトの重なりの方向を変更する指示であると解釈する。そして、CPU11は、図13の(b)のオブジェクト集合1302に示すように、点Aと点Bで押圧されたオブジェクトについてのみ、圧力が小さい押圧点で指定されたオブジェクトが手前に表示されるように重なりの方向を変更する。
【0059】
以上のように、上記変形例では、2つの押圧点により複数のオブジェクトのうち互いに重なる部分を有する2つのオブジェクトが選択された場合に、両オブジェクトの表示の前後関係が両押圧点の圧力差に基づいて変更される。より具体的には、2つの押圧点によい選択された2つのオブジェクトうち、小さい圧力を有する押圧点に対応するオブジェクトが手前に表示される。このような制御によれば、2点の押圧の圧力差を利用することによりオブジェクト集合内の任意のオブジェクト同士の重なりの方向を1ステップで変更することができるので、操作性を向上させることができる。
【0060】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0061】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【0062】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0063】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0064】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0065】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0066】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0067】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0068】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【技術分野】
【0001】
本発明は、タッチスクリーンを用いたユーザインターフェースを提供する情報処理装置及びその制御方法に関する。
【背景技術】
【0002】
近年、タッチスクリーン上のハンドジェスチャにより画面上のオブジェクトを操作するインタフェースが注目されている。タッチスクリーン上の入力はマウスやキーボードなどの入力デバイスを使用したインタフェースと比較してより直感的な操作が可能である。また近年の接触検出デバイスの進歩により、タッチスクリーン上での直感的な操作を可能とする複雑なジェスチャを認識することが可能になってきている。
【0003】
特許文献1では、同時に移動する2個以上の指示位置の複雑な軌跡を検知し、検知されたそれぞれの軌跡に応じてタッチスクリーン上に表示されるオブジェクトの操作を行なう方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001-290585号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、タッチスクリーンを押下する圧力に応じて画面上のオブジェクトの操作を行なう方法が記載されている。特許文献1によれば、圧力が強くなるにつれてページ送り操作量や拡大・縮小の変化量を大きくすること、圧力が一定以上になった場合にこれらの操作量を最大とすること、圧力が一定以上になった場合にこれらの操作を繰り返すことが記載されている。
【0006】
しかしながら、特許文献1ではタッチスクリーン上の複数の押圧による操作でありながら、複数の押圧の圧力差に応じた操作指示については記載されていない。
【0007】
本発明は、このような事情を考慮してなされたものであり、タッチスクリーン上に表示された複数のオブジェクトの集合を、タッチ入力により直感的に操作して整列表示させることを可能とする環境を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得手段と、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備える。
【発明の効果】
【0009】
本発明によれば、タッチスクリーン上に表示された複数のオブジェクトの集合を、タッチ入力により直感的に操作して整列表示させることを可能とする環境を提供することができる。
【図面の簡単な説明】
【0010】
【図1】実施形態に係る情報処理装置の構成例を示すブロック図である。
【図2】実施形態に係る入力装置が有するタッチスクリーンの構成例を表す図である。
【図3】実施形態に係るシステムの押圧点の圧力を記憶するテーブルのデータ記録例を示す図である。
【図4】第1実施形態に係る入力装置への入力操作の例を示す図である。
【図5】第1実施形態に係る情報処理装置における、入力の位置の軌跡を記憶するテーブルのデータ記録例を示す図である。
【図6】第1実施形態に係る情報処理装置における、入力の圧力の軌跡を記憶するテーブルのデータ記録例を示す図である。
【図7】第1実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図8】第1実施形態に係る情報処理装置によるオブジェクト整列操作の例を示す図である。
【図9】第1実施形態に係る情報処理装置によるオブジェクト整列操作の処理を示すフローチャートである。
【図10】第1実施形態に係る情報処理装置によるオブジェクト整列操作の他の例を示す図である。
【図11】第2実施形態に係るオブジェクト整列操作の例を示す図である。
【図12】第2実施形態に係る情報処理装置によるオブジェクト整列操作の処理を示すフローチャートである。
【図13】第2実施形態の変形例に係る情報処理装置によるオブジェクト整列操作の他の例を示す図である。
【図14】第2実施形態に係るオブジェクト整列操作の他の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の好適な実施形態を、添付の図面を参照して説明する。
【0012】
[第1実施形態]
図1は、本実施形態に係る情報処理装置100のハードウェア構成例を概略的に示すブロック図である。
【0013】
図1において、マイクロプロセッサ(CPU)11は、情報処理装置100の各構成要素を制御すると共に、各種演算、論理判断等を行う。固定メモリ(ROM)12は、CPU11が実行する処理プログラム等の制御プログラムコードを記憶する読出し専用のメモリである。ランダムアクセスメモリ(RAM)13は、各構成要素から送られた各種データの一時記憶に用いられる書き込み可能なメモリである。記憶装置14は、ハードディスク等の各種ディスク機器やフラッシュメモリ等から構成され、処理中のデータや画像ファイル、メタデータ等を格納する。入力装置15は、画面を接触することにより操作入力を行なうタッチスクリーンを備える。通信装置16は、USB等の外部入出力機器やモデム等の有線あるいは無線通信機器から構成され、外部機器とのデータ交換を行なう。上述した各構成は、アドレスバスAB、コントロールバスCB、及びデータバスDBを介して互いに接続されている。
【0014】
アドレスバスABは、CPU11が制御の対象とする構成要素を指定するためのアドレス信号を転送するためのバスである。コントロールバスCBは、CPU11が制御の対象とする各構成要素に対してCPU11から印加されるコントロール信号を転送するためのバスである。データバスDBは、各構成要素相互間のデータ転送を行うためのバスである。
【0015】
情報処理装置100は、入力装置15からの各種の入力及び通信装置16から供給されるネットワーク経由の各種の入力に応じて作動する。入力装置15からの入力又は通信装置16からの入力が供給されると、インタラプト信号がCPU11に送られる。CPU11は、インタラプト信号に応じて記憶装置14内に記憶してある各種の制御信号を読み出し、それらの制御信号に従って各種の制御を実行する。
【0016】
図2は、本実施形態の情報処理装置100における入力装置15が具備するタッチスクリーン200を示す図である。タッチスクリーン200は、オペレータ(操作者)からの操作を入力するタッチ入力部201と、画像を表示する表示部202とを有する。更に、タッチスクリーンは、画面上における複数のタッチ入力に対応した複数の押圧点の各々位置(座標)を検出する押圧位置検出部203と、複数の押圧点の各々の圧力を検出する押圧圧力検出部204を備えている。図2では左右の手の指で同時に画面を押圧した例が示されている。
【0017】
タッチスクリーン200において、画面の左下から右方向にX軸、上方向にY軸を取り、画面上押圧された複数の点の座標位置及び押圧強度を検出する。図2ではある時刻tにおいて左手の指で押圧した座標がAt(x,y)、右手の指で押圧した座標がBt(x,y)として検出された様子が示されている。また、左右の指の押圧点には、圧力が大きいほど面積が大きくなる影が表示されており、ユーザは各押圧点における圧力の大きさ(差)を認識することができる。即ち、本実施形態のタッチスクリーン200は、検出された複数の押圧点の圧力(或いは圧力差)をユーザが認識できるように、圧力に応じて表示形態を変化させて押圧点を表示する。
【0018】
図3は、図2で示す押圧の際にタッチスクリーン200により検出された各押圧位置の接触圧力を示すデータテーブルである。CPU11は、タッチスクリーン200(押圧位置検出部203及び押圧圧力検出部204)で検出されたある時刻tにおける複数の押圧点の圧力を、例えばRAM13にテーブル300のように記録する。
【0019】
図4、図5、図6は、タッチスクリーン上の押圧点がスライドされた場合の軌跡を追跡する処理を説明する図である。
【0020】
図4は、時刻t1に位置At1、Bt1にあった押圧点のそれぞれが、時刻t2、t3、t4を経て、時刻t5においてそれぞれAt5、Bt5まで画面上をスライドされたことを示す。また、このとき、CPU11は、図5に示すように押圧位置検出部203によって検出された各点の位置座標(基準時刻t1、t2、t3、t4、t5に対する点A、点Bそれぞれの軌跡として各点の位置座標)を、例えばRAM13に記録する。同時に、CPU11は、押圧圧力検出部204によって検出された、各位置座標における各点の圧力を、図6に示すように例えばRAM13に記録する。
【0021】
このようにしてオペレータが画面上を複数の指で接触してから離すまでの軌跡を記録する。本実施形態では、このようにして得られたタッチスクリーン上の押圧力の位置と圧力の軌跡に応じて画面上におけるオブジェクトの操作を解釈し実行する。以下では、取得された2個以上の押圧力における位置と圧力の軌跡から行なうべき操作を解釈する処理について具体的に説明する。
【0022】
図7は、本実施形態の処理の流れを示すフローチャートである。なお、図7に示される処理は、CPU11がROM12に格納されているプログラム、或いはRAM13にロードされたプログラムを実行することにより実現される。
【0023】
ステップS701において、CPU11は、タッチスクリーン200により押圧入力が検知されたか否かを判定する。押圧入力が検知されなければ検知されるまで待機する。押圧入力が検出された場合、ステップS702において、CPU11は、終了操作が行なわれたかどうかを判定する。本実施形態では、タッチスクリーン200のタッチ入力部201上の押圧が解除された場合に終了操作が行われたと判定する。終了操作が行なわれたと判定される場合は、CPU11は本処理を終了する。
【0024】
ステップS702において終了操作が行われていないと判定されると、処理はステップS703へ進む。ステップS703において、CPU11は、タッチスクリーン200において検出された押圧位置と押圧圧力に基づいて、タッチスクリーン200上の入力がどの操作を指示する入力であるかを解釈する。そして、ステップS704において、CPU11は、ステップS703で解釈された操作を実行する。以上のように、終了操作が行なわれない場合は次の入力まで待機し、入力が検知された場合にその入力を解釈、実行する処理が繰り返される。
【0025】
図8は、2点の押圧力の位置の軌跡及び圧力の軌跡に基づいて画面上のオブジェクトを整列する処理の一実施形態を説明する図である。
【0026】
時刻t1において、図8の(a)に示すようにオブジェクト集合801がタッチスクリーン200に表示され、このオブジェクト集合801が当該タッチスクリーン200への所定の操作により選択されているとする(後述のステップS901)。そして、このオブジェクト集合801上の2点(At1及びBt1)が図8の(a)に示すように押圧されているとする。この状態から時刻tnに至るまでA,Bの2点の押圧点を互いに遠ざかる向きにスライドさせ、点Aが座標Atnに、点Bが座標Btnへ移動した状態が図8の(b)である。
【0027】
画面上のこのような操作によりオブジェクト集合801内の各オブジェクトが点Aと点Bの間に、オブジェクト列802の如く整列される。また、点Aと点Bの圧力差に基づいて圧力の小さい点Bの方向のオブジェクトほど前面に表示されるように整列される。このため、指で強く押すほどオブジェクトが下(画面奥)へ沈むように表示されることになり、ユーザに直感的な操作環境を提供できる。
【0028】
図9を用いて、上述の整列操作を実現するCPU11の処理を説明する。図9は、図7のステップS703における入力解釈処理及びステップS704における操作実行処理に対応するフローチャートである。
【0029】
ステップS901において、CPU11はタッチスクリーン200における所定の操作入力により画面上に表示されている複数のオブジェクトを選択状態とする。例えば選択すべきオブジェクト集合の周辺を指で円状に囲うループと呼ばれるジェスチャにより円の内部のオブジェクトを選択状態とする。もちろん選択方法はこの操作に限定されるものではない。例えば、1つのオブジェクトを指示することで、当該指示されたオブジェクトを含み、少なくとも1部分が重なりあって連なるオブジェクト群を選択するようにしてもよい。こうして、ステップS901では、タッチスクリーン200に表示されているオブジェクトから、当該タッチスクリーン200へのタッチ入力に応じて複数のオブジェクトが選択される。
【0030】
ステップS902において、CPU11は、タッチスクリーン200で2点の押圧力が同時に検出されたか(存在するか)どうかを判定する(押圧のタイミングは同時でなくてもよい)。検出された場合は次のステップS903へ進む。所定時間が経過してもそのような押圧力が検出されなかった場合、或いは別の操作を意図する押圧力が検出された場合は本操作を終了する。別の操作を意図する押圧力としては、1点の押圧のみが存在し、それが移動を開始した場合等が挙げられる。
【0031】
ステップS903において、CPU11は、ステップS902で検出された2点の押圧力が両方ともステップS901で選択したオブジェクト集合を同時に押圧しているかどうかを判定する。CPU11は、オブジェクト集合の位置座標(オブジェクト集合の存在する範囲)と押圧力の位置座標とを比較し、両者に重なりがあるかどうかを調べることにより、上述の判定を行う。図8におけるAt1、Bt1のように、選択されたオブジェクト集合上に2点の押圧力がある場合は次のステップS904へ進む。そうでない場合は別の操作であると判断し、本操作を終了する。
【0032】
ステップS904において、CPU11は、ステップS903の判断により2点の押圧力が同時に選択オブジェクト上にあることで、これから行なわれるオペレータの操作が選択したオブジェクトを整列する操作であると解釈する。
【0033】
ステップS905において、CPU11は、2点の押圧力の相対距離が変化するかどうかを検出する。2点の押圧力の相対距離が変化しなかった場合には操作を行なわない。相対距離の変化が検出された場合には、処理は次のステップS906へ移動する。
【0034】
ステップS906において、CPU11は、ステップS904で解釈された整列指示に基づいて移動後の2点の押圧力の間にオブジェクトを整列する。即ち、CPU11は、図8の(b)のオブジェクト列802に示されるように、移動後の2点の押圧力の座標AtnとBtnを両端とし、オブジェクトの重心が等間隔になるように、指示されたオブジェクト集合801の各オブジェクトを整列する。なお、本実施形態では押圧点の相対的移動方向が直線となっており、AtnとBtnを両端とした直線上にオブジェクトを配置しているが、整列方法はこれに限定されるものではない。例えば2つの押圧点を円弧状にスライドさせることにより、トランプを開いたように円弧上にオブジェクトを整列しても良い。この場合、円弧状の押圧点の軌跡から、これにフィットする円を算出し、算出された円における座標AtnとBtnを両端とした円弧上にオブジェクトを配置する。以上のように、ステップS901で選択された複数のオブジェクトの表示範囲において検出された2つの押圧点が移動した場合に、移動後の2つの押圧点を結ぶ直線または曲線上に、当該選択された複数のオブジェクトが等間隔に配置される。
【0035】
ステップS907において、CPU11は、整列された、隣り合うオブジェクトに重なりが検出されるかどうかを判定する。AtnとBtnの距離が小さければ図8の(b)のオブジェクト列802に示されるように隣同士のオブジェクトが重なって整列される。重なりが検出された場合には、処理はステップS908へ進む。検出されなければ本操作は終了する。
【0036】
ステップS908では、2点の押圧力の圧力差を計算する。2点の圧力差は例えば2点それぞれについて図5における押圧力の軌跡の平均を取ったものを比較する。図5においては、全時刻にわたって各点の押圧力は一定であり、点Aの押圧力の平均は150、点Bの押圧力の平均は100となり、点Aの押圧力が点Bの押圧力より50大きい。ただし、ここで比較する圧力は、軌跡の平均に限定するものではない。始点の時刻t1における圧力同士、或いは終点のt5における圧力同士を比較するようにしてもよい。
【0037】
ステップS909において、CPU11は、ステップS908で計算した圧力が小さい側にあるオブジェクト程前面に表示されるように重なりの方向を揃えて整列する。図8の(b)におけるオブジェクト列802では、点Aと点Bの押圧力のうち、点Bの押圧力が小さい場合を示している。即ち、オブジェクト列802は、整列後の点Atn側にある画像に対し、押圧力の小さいBtn側にある画像の方が前面に表示されるように整列される。
【0038】
以上のように、本実施形態では、タッチスクリーン200上にランダムに配置された複数のオブジェクトが選択された場合に、移動後の2つの押圧点を結ぶ直線または曲線上に、それら複数のオブジェクトが所定のソート基準で並ぶように配置される。ここで、それら2つの押圧点の間に配置された複数のオブジェクトの重なりの前後関係は、検出された複数の押圧点の圧力差に基づいて変更される。即ち、複数のオブジェクトの重なりの方向が、2つの押圧点の圧力差の方向に応じて決定される。より具体的には、圧力の大きい押圧点から圧力の小さい押圧点に向かってオブジェクトが手前に表示されるようにオブジェクトの重なりが変更され、直感的な操作が可能となる。なお、ソート基準としては、オブジェクトのファイル名順、オブジェクトのタイムスタンプ順等が挙げられる。
【0039】
図10は、図8が整列されていないオブジェクトを整列させる例であったのに対し、整列されたオブジェクトに対する操作を示す図である。即ち、複数のオブジェクトが並んだオブジェクト列が選択された場合には、移動後の2つの押圧点を結ぶ直線または曲線上に、それら複数のオブジェクトが当該オブジェクト列における並び順を維持して配置される。以下では、重なりなくオブジェクトが配置されたオブジェクト列を操作した場合を説明するが、複数のオブジェクトが一部が重なるように配置されたオブジェクト列を操作対象としても同様の処理を行えることは明らかである。
【0040】
時刻t1において、図10の(a)に示されるように、オブジェクトが互いに重なりなく規則正しく整列されたオブジェクト列1001が表示されている。なお、操作の対象となるオブジェクト列1001は、前述のステップS901の処理により選択されたものである。
【0041】
ステップS903において2点の押圧点が整列オブジェクト上であると判定された場合、2点の押圧点を直線で結んだ軌跡上にあるオブジェクトを選択状態とする。即ち、図10の(a)に示されるように、押圧点At1とBt1で選択しているオブジェクトと共に、At1とBt1を結ぶ直線上にある2つのオブジェクトもオブジェクト列1001に属するオブジェクトとして選択される。なお、「押圧点が整列オブジェクト上である」とは、選択された整列オブジェクトのうちのいずれか1つ以上のオブジェクトの範囲において検出された押圧点のことである。
【0042】
図10の(b)に示すように、時刻t1からtnにかけて点Aを座標At1からAtnに、点Bを座標Bt1からBtnへスライドさせたとする。すると図9のステップS906において、CPU11は選択されたオブジェクトをAtnとBtnの間に整列する。ここで、AtnとBtnの距離がある一定値を下回ると、CPU11はオブジェクトの重なりを検出する(図9のステップS907)。そして、CPU11は、圧力が小さい側にあるオブジェクトほど前面になるようにオブジェクトを重ねて整列し、表示する(ステップS909)。
【0043】
なお、図10では、図8とは逆に点Aの押圧力よりも点Bの押圧力が大きい場合を示している。従って、ステップS909の処理により、オブジェクト列1002に示すようにAtnに近いオブジェクトほど前面に表示されるように整列される。
【0044】
以上のように、第1実施形態によれば、複数の押圧力の圧力差に基づいた整列方法を導入することにより、従来オブジェクトを整列し、その後重ね合わせの方向を変えるという2ステップで行なっていた操作を、1ステップで実行できるという効果がある。
【0045】
[第2実施形態]
図11は、第2実施形態によるオブジェクト操作例を示す図である。
【0046】
時刻t1においてオブジェクト列1101に示すように複数のオブジェクトが扇形に重なりを持って整列されているとする。また、オブジェクト列1101において、オブジェクトは、右側ほど前面に出るように規則正しく整列されているとする。また、時刻t1において、整列オブジェクト上の点At1とBt1が同時に押圧されており、点Aと点Bの押圧の圧力は点A<点Bである。この場合、CPU11は、当該押圧操作を整列オブジェクトの重なりの方向を変更する指示であると解釈する。そして、図11の(b)のオブジェクト列1102に示すように、押圧圧力が小さい押圧点に向かって前面にオブジェクトが表示されるように、オブジェクト列におけるオブジェクトの重なりを変更する。
【0047】
図12は、第2実施形態による整列操作処理を説明するフローチャートである。なお、図12は、図7のステップS703(入力解釈処理)及びステップS704(操作実行処理)に相当する。
【0048】
ステップS1201において、CPU11は、タッチスクリーン200上で2点の押圧力が同時に検出されたかどうかを判定する。検出されたならば、処理をステップS1202へ進める。所定時間が経過してもそのような押圧力が検出されなかった場合、或いは別の操作を意図する押圧力が検出された場合は本操作を終了する。別の操作を意図する押圧力としては、1点の押圧のみが存在し、それが移動を開始した場合等が挙げられる。
【0049】
ステップS1202において、CPU11は、ステップS1201で検出された2点の押圧力が同一の整列オブジェクト上にあるかどうかを判定する。同一の整列オブジェクト上にあると判定された場合は、処理はステップS1203へ進む。そうでなければ処理を終了する。なお、「ステップS1201で検出された2点の押圧力が同一の整列オブジェクト上にあるかどうかを判定する」において、同一の整列オブジェクト上か否かはたとえば次のように判断される。(1)整列オブジェクトをループ操作で選択しておく(但し、その場合、ステップS1203は不要となる)。(2)整列オブジェクトには必ずその前に図9の整列操作が行われるので、整列操作時に複数のオブジェクトが同一の整列オブジェクトに属するという情報(例えばグループID)をRAMに格納しておく。個の場合、2点の押圧力それぞれの下にある単一オブジェクトが同じグループIDの場合に、該当整列オブジェクト全体への操作であると判定される。
【0050】
ステップS1203において、CPU11は、整列オブジェクトに含まれる全てのオブジェクトを選択する。例えば、図11のように扇形に整列された整列オブジェクトの両端にあるオブジェクトの位置At1、Bt1を同時に押下した場合、当該整列オブジェクト(オブジェクト列1101)を構成する全てのオブジェクトが選択状態となる。
【0051】
ステップS1204において、CPU11は、ステップS1203で選択した整列オブジェクト内のオブジェクトが互いに重なり合っているかどうかを判定する。オブジェクト間に重なりが検出された場合、処理はステップS1205へ進む。検出されなければ本処理を終了する。
【0052】
ステップS1205において、CPU11は、2点の押圧力の圧力差を計算する。例えば、CPU11は、図6のように記録されている2点の圧力から、圧力差を計算する。
【0053】
ステップS1206において、CPU11は、ステップS1205で計算した圧力差が予め定めた閾値(圧力差の閾値)を超えるかどうか判定する。これは、オペレータが同じ強さで2点を押圧したつもりでも厳密には2点の圧力に差が出てしまうため、オペレータが意図して2点の押圧の圧力を変えた場合のみ操作が行なわれるようにするための処理である。なお、上記閾値をユーザが設定できるようにしてもよい。検出した2点の圧力差が閾値を超えれている判定された場合、処理はステップS1207へすすむ。一方、超えなければ、本処理を終了する。
【0054】
ステップS1207において、CPU11は、整列オブジェクト上の2点の押圧がステップS1206で検出した圧力差(閾値を越える圧力差)を保ったまま、予め定めた時間を超えて継続したかどうかを判定する。予め定めた時間を超えて上記圧力差が維持された場合は、処理はステップS1208へ進み、他の場合には、本処理を終了する。
【0055】
ステップS1208において、CPU11は、圧力が小さい側にあるオブジェクト程前面になるように整列オブジェクトの表示様態を変更する。図11の(a)において、右側のオブジェクト程前面になるように整列表示されたオブジェクトに対し、時刻t1からtnにかけて圧力差が点A<点Bとなる押圧が検出されている。ここで、時間tn−t1が予め定められた時間の閾値を超え、かつ点Aと点Bの圧力差が予め定められた圧力差の閾値を超える場合、CPU11はこれら押圧力を整列オブジェクトの重ね合わせの方向を変える操作であると解釈する。そして、CPU11は、図8の(b)におけるオブジェクト列1102に示すように、押圧圧力が小さい側、つまり点Aに近い側にあるオブジェクトほど手前になるように整列オブジェクトの重ね合わせの方向を変更する。
【0056】
以上のように、第2実施形態では、複数のオブジェクトが重なりを持って並んでいるオブジェクト列において2つの押圧点が検出された場合に、それら2つの押圧点の圧力差の方向に従ってオブジェクト列を構成するオブジェクトの重なりの方向が変更される。なお、上記説明では、オブジェクト列の両端のオブジェクト上に押圧点が指示されているが、これに限られるものではない。オブジェクト列の表示範囲内或いはオブジェクト列の近傍を含む範囲において指示された2つの押圧点の圧力差の方向に従って、オブジェクトの重なりを変更するようにしてもよい。例えば、図14の(a)に示すように、At1及びBt1を指定し、時刻tnまでこれを維持した場合、図14の(b)に示すように、重なりの方向が変更される。即ち、圧力差の方向1401に応じて、オブジェクト列の重なりの方向が変更され、図11と同様の結果が得られることになる。
【0057】
このようにして2点の押圧の圧力差を利用することにより整列オブジェクト全体の重なりの方向を1ステップで変更することができる。
【0058】
図13は、第2実施形態における変形例を示す図である。
時刻t1において図13の(a)に示すように、オブジェクト同士が重なりを持ったオブジェクト集合1301があり、時刻t1においてAt1とBt1を同時に押圧されたとする。ここで、点Aと点Bの押圧点の圧力は点A<点Bである。すると、CPU11は、当該押圧の入力を、オブジェクト集合1301内で点Aと点Bで押圧されたオブジェクトの重なりの方向を変更する指示であると解釈する。そして、CPU11は、図13の(b)のオブジェクト集合1302に示すように、点Aと点Bで押圧されたオブジェクトについてのみ、圧力が小さい押圧点で指定されたオブジェクトが手前に表示されるように重なりの方向を変更する。
【0059】
以上のように、上記変形例では、2つの押圧点により複数のオブジェクトのうち互いに重なる部分を有する2つのオブジェクトが選択された場合に、両オブジェクトの表示の前後関係が両押圧点の圧力差に基づいて変更される。より具体的には、2つの押圧点によい選択された2つのオブジェクトうち、小さい圧力を有する押圧点に対応するオブジェクトが手前に表示される。このような制御によれば、2点の押圧の圧力差を利用することによりオブジェクト集合内の任意のオブジェクト同士の重なりの方向を1ステップで変更することができるので、操作性を向上させることができる。
【0060】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0061】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【0062】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0063】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0064】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0065】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0066】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【0067】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【0068】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
【特許請求の範囲】
【請求項1】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得手段と、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【請求項2】
前記複数のオブジェクトの集合とは、少なくとも一部が重なり合って連なるオブジェクト群であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記移動した複数のタッチ点の位置に基づいて、前記複数のオブジェクトを表示する間隔を変更することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、前記整列表示された複数のオブジェクトの重なりの前後関係を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の位置を取得する取得手段と、
集合化された複数のオブジェクトのうちの少なくとも一部のオブジェクトが重なった状態を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記複数のオブジェクトの少なくとも一部が重なった状態で表示されている位置から、互いに遠ざかる向きに移動した場合に、前記集合化された複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【請求項6】
前記表示制御手段は、前記移動した複数のタッチ点の位置に基づいて、前記整列表示された複数のオブジェクトの表示間隔を変更することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記複数のオブジェクトの集合が選択され、かつ、前記タッチスクリーン上の複数のタッチ入力に対応した複数のタッチ箇所の位置関係の変化があった場合に、前記複数のオブジェクトを表示する間隔を変更して表示する表示変更手段と、を有することを特徴とする情報処理装置。
【請求項8】
前記表示変更手段は、前記複数のタッチ箇所の位置が互いに遠ざかる変化があった場合に、前記複数のオブジェクトを表示する間隔を広げて表示することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
取得手段が、前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得工程と、
表示手段が、複数のオブジェクトの集合を前記タッチスクリーンに表示する表示工程と、
表示制御手段が、前記取得工程で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項10】
前記複数のオブジェクトの集合とは、少なくとも一部が重なり合って連なるオブジェクト群であることを特徴とする請求項9に記載の情報処理装置の制御方法。
【請求項11】
前記表示制御工程では、前記移動した複数のタッチ点の位置に基づいて、前記複数のオブジェクトを表示する間隔を変更することを特徴とする請求項9又は10に記載の情報処理装置の制御方法。
【請求項12】
前記表示制御工程では、前記整列表示された複数のオブジェクトの重なりの前後関係を変更することを特徴とする請求項9乃至11のいずれか1項に記載の情報処理装置の制御方法。
【請求項13】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
取得手段が、前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の位置を取得する取得工程と、
表示手段が、集合化された複数のオブジェクトのうちの少なくとも一部のオブジェクトが重なった状態を前記タッチスクリーンに表示する表示工程と、
表示制御手段が、前記取得工程で取得された複数のタッチ点の位置が、前記複数のオブジェクトの少なくとも一部が重なった状態で表示されている位置から、互いに遠ざかる向きに移動した場合に、前記集合化された複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項14】
前記表示制御工程では、前記移動した複数のタッチ点の位置に基づいて、前記整列表示された複数のオブジェクトの表示間隔を変更することを特徴とする請求項13に記載の情報処理装置の制御方法。
【請求項15】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
表示手段が、複数のオブジェクトの集合を前記タッチスクリーンに表示する表示工程と、
表示変更手段が、前記複数のオブジェクトの集合が選択され、かつ、前記タッチスクリーン上の複数のタッチ入力に対応した複数のタッチ箇所の位置関係の変化があった場合に、前記複数のオブジェクトを表示する間隔を変更して表示する表示変更工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項16】
前記表示変更工程では、前記複数のタッチ箇所の位置が互いに遠ざかる変化があった場合に、前記複数のオブジェクトを表示する間隔を広げて表示することを特徴とする請求項15に記載の情報処理装置の制御方法。
【請求項17】
コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項18】
コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項1】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得手段と、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【請求項2】
前記複数のオブジェクトの集合とは、少なくとも一部が重なり合って連なるオブジェクト群であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、前記移動した複数のタッチ点の位置に基づいて、前記複数のオブジェクトを表示する間隔を変更することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記表示制御手段は、前記整列表示された複数のオブジェクトの重なりの前後関係を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の位置を取得する取得手段と、
集合化された複数のオブジェクトのうちの少なくとも一部のオブジェクトが重なった状態を前記タッチスクリーンに表示する表示手段と、
前記取得手段で取得された複数のタッチ点の位置が、前記複数のオブジェクトの少なくとも一部が重なった状態で表示されている位置から、互いに遠ざかる向きに移動した場合に、前記集合化された複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御手段と、を備えることを特徴とする情報処理装置。
【請求項6】
前記表示制御手段は、前記移動した複数のタッチ点の位置に基づいて、前記整列表示された複数のオブジェクトの表示間隔を変更することを特徴とする請求項5に記載の情報処理装置。
【請求項7】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置であって、
複数のオブジェクトの集合を前記タッチスクリーンに表示する表示手段と、
前記複数のオブジェクトの集合が選択され、かつ、前記タッチスクリーン上の複数のタッチ入力に対応した複数のタッチ箇所の位置関係の変化があった場合に、前記複数のオブジェクトを表示する間隔を変更して表示する表示変更手段と、を有することを特徴とする情報処理装置。
【請求項8】
前記表示変更手段は、前記複数のタッチ箇所の位置が互いに遠ざかる変化があった場合に、前記複数のオブジェクトを表示する間隔を広げて表示することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
取得手段が、前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の各々の位置を取得する取得工程と、
表示手段が、複数のオブジェクトの集合を前記タッチスクリーンに表示する表示工程と、
表示制御手段が、前記取得工程で取得された複数のタッチ点の位置が、前記集合から、互いに遠ざかる向きに移動した場合に、前記集合に含まれる複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項10】
前記複数のオブジェクトの集合とは、少なくとも一部が重なり合って連なるオブジェクト群であることを特徴とする請求項9に記載の情報処理装置の制御方法。
【請求項11】
前記表示制御工程では、前記移動した複数のタッチ点の位置に基づいて、前記複数のオブジェクトを表示する間隔を変更することを特徴とする請求項9又は10に記載の情報処理装置の制御方法。
【請求項12】
前記表示制御工程では、前記整列表示された複数のオブジェクトの重なりの前後関係を変更することを特徴とする請求項9乃至11のいずれか1項に記載の情報処理装置の制御方法。
【請求項13】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
取得手段が、前記タッチスクリーン上の、同時に存在する複数のタッチ入力に対応した複数のタッチ点の位置を取得する取得工程と、
表示手段が、集合化された複数のオブジェクトのうちの少なくとも一部のオブジェクトが重なった状態を前記タッチスクリーンに表示する表示工程と、
表示制御手段が、前記取得工程で取得された複数のタッチ点の位置が、前記複数のオブジェクトの少なくとも一部が重なった状態で表示されている位置から、互いに遠ざかる向きに移動した場合に、前記集合化された複数のオブジェクトを前記タッチスクリーンに整列表示させる表示制御工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項14】
前記表示制御工程では、前記移動した複数のタッチ点の位置に基づいて、前記整列表示された複数のオブジェクトの表示間隔を変更することを特徴とする請求項13に記載の情報処理装置の制御方法。
【請求項15】
タッチ入力を検知するタッチスクリーンを備えた情報処理装置の制御方法であって、
表示手段が、複数のオブジェクトの集合を前記タッチスクリーンに表示する表示工程と、
表示変更手段が、前記複数のオブジェクトの集合が選択され、かつ、前記タッチスクリーン上の複数のタッチ入力に対応した複数のタッチ箇所の位置関係の変化があった場合に、前記複数のオブジェクトを表示する間隔を変更して表示する表示変更工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項16】
前記表示変更工程では、前記複数のタッチ箇所の位置が互いに遠ざかる変化があった場合に、前記複数のオブジェクトを表示する間隔を広げて表示することを特徴とする請求項15に記載の情報処理装置の制御方法。
【請求項17】
コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項18】
コンピュータを、請求項1乃至8のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−248234(P2012−248234A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2012−208888(P2012−208888)
【出願日】平成24年9月21日(2012.9.21)
【分割の表示】特願2008−196847(P2008−196847)の分割
【原出願日】平成20年7月30日(2008.7.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願日】平成24年9月21日(2012.9.21)
【分割の表示】特願2008−196847(P2008−196847)の分割
【原出願日】平成20年7月30日(2008.7.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]