説明

情報処理装置及びその制御方法

【課題】 従来のオブジェクトの移動操作では、少しだけ移動させる操作を行うのが困難であり、また大量のデータをスクロールする点で利便性の低いものであった。
【解決手段】 タッチパネルに接触している物体の移動量と、その物体の個数を検出し、表示部に表示されているオブジェクトであって、タッチパネルに接触している物体により指示されているオブジェクトを判別する。そして、タッチパネルに接触している物体の移動量とその物体の個数とに応じて、オブジェクトの操作量を決定してオブジェクトの表示を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチパネルを備えた情報処理装置及びその制御方法に関する。
【背景技術】
【0002】
タッチパネルを備えた表示部(タッチスクリーンディスプレイ)を備える情報端末では、指を画面に沿ってなぞることにより画面のオブジェクトを移動する移動操作や、指を弾くような動作をトリガにしてスクロールを開始するフリック操作を行うことができる。これら操作の利便性を向上する技術として、タッチパネルに接触している指の数が複数かどうかを判断して、移動操作を行うか、スクロール操作を行うかを変更するものがある(例えば特許文献1)。また、スクロール処理の利便性を向上させる技術として、スクロール操作対象オブジェクトの表示位置に応じて、事前に登録されたスクロール位置毎のスクロール量を用いて、画面上でスクロールする量を変更するものがある(例えば特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−102274号公報
【特許文献2】特開2002−244641号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のオブジェクトの移動操作では、少しだけ移動させる操作を行うのが困難であった。例えば、ある表示オブジェクトを画面上で1画素分だけ移動させたい場合でも、タッチパネルの座標検知精度の誤差や、指の震え等の要因により、2画素以上移動したり、全く移動しないという場合があった。
【0005】
また従来のスクロール操作では、大量のデータをスクロールする点で利便性の低いものであった。例えば従来のスクロール操作では、フリック操作における指を弾く動作のスピード(強さ)や、事前に登録されたスクロール量によりスクロール速度を変更できる。しかし、所定の値以上の速さでスクロールすることができない。この所定の値を大きくすることで、全体のスクロール速度を速めることはできるが、その一方で、低速度のスクロールを実現することが困難になる。そのため、状況に応じて、上記所定の値を変更すれば、この問題は解決できるが、そのためには所定の値を変更するための操作が必要になり、ユーザにとっての利便性の点で好ましくない。
【0006】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0007】
本発明の特徴は、タッチパネルに接触する物体の移動量と物体の個数とに応じて、表示されているオブジェクトの移動やスクロール等の操作量を制御することにより、ユーザにとって利便性の高いオブジェクトの操作制御を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
タッチパネルを備えた表示部を有する情報処理装置であって、
前記タッチパネルに接触している物体の移動量を検出する移動検出手段と、
前記タッチパネルに接触している物体の個数を検出する個数検出手段と、
前記表示部に表示されているオブジェクトであって、前記タッチパネルに接触している物体により指示されているオブジェクトを判別する判別手段と、
前記移動検出手段により検出された前記移動量と前記個数検出手段により検出された前記物体の個数とに応じて、前記判別手段で判別された前記オブジェクトの操作量を決定して前記オブジェクトの表示を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ユーザにとって利便性の高いオブジェクトの操作制御を提供できるという効果がある。
【図面の簡単な説明】
【0010】
【図1】本実施形態に係るタッチスクリーン付き情報端末の利用環境を示す概略図。
【図2】実施形態に係る情報端末のハードウェア構成を示すブロック図。
【図3】タッチパネルへの指の接触状態を表す位置情報の一例を説明する図。
【図4】実施形態1に係る情報端末において、タッチパネルへの指の接触状態を検知し、それに応じた処理を実行する例を説明するフローチャート。
【図5】図4のS107の処理に該当する、実施形態1に係るタッチパネルにタッチしている指が移動した場合の処理を説明するフローチャート。
【図6】図4のS109の処理に該当する、タッチパネル上で指をはじいた場合の処理を説明するフローチャート。
【図7】実施形態1に係る情報端末の表示部に表示されたジョブ履歴画面で、接触している指を移動することにより画面をスクロールする例を説明する図。
【図8】実施形態2に係る情報端末の表示部での画像の移動を説明する図。
【図9】実施形態3に係る情報端末における指の本数に応じたページめくり処理を説明するフローチャート。
【図10】実施形態3に係るページめくり処理を説明する図。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
図1は、本発明の実施形態に係るタッチスクリーン付き情報端末(情報処理装置)の利用環境を示す概略図である。
【0013】
情報端末100は、無線LAN101を介して画像形成装置(例えば複合機)102、デジタルカメラ103、及びプロジェクタ104と接続されている。これにより情報端末100は、画像形成装置102で読み取られたスキャンデータ、ジョブ履歴などのデータを画像形成装置102から受信し、情報端末100に表示することができる。また情報端末100から画像データを画像形成装置102に送信して印刷させることもできる。更に情報端末100は、デジタルカメラ103で撮影された画像データを受信したり、或いはプロジェクタ104に対して画像データを送信して表示させることもできる。以下本実施形態では、画像形成装置102と組み合わせた場合のアプリケーションを例に説明する。尚、情報端末100との接続方式は無線LAN101を例にして示しているが、有線LAN等の他の方式での接続でも良い。
【0014】
図2は、実施形態に係る情報端末100のハードウェア構成を示すブロック図である。
【0015】
情報端末100は、主にメインボード201、表示部(LCD)202、タッチパネル203、ボタンデバイス204を有している。尚、タッチパネル203は透明で、表示部202の画面上に配置され、指或いはペンなどで指示された画面上の位置などを出力する。
【0016】
メインボード201は、主にCPU210、IEEE802.11bモジュール211、irDAモジュール212、電源コントローラ213、ディスプレイコントローラ(DISPC)214を有している。更に、メインボード201は、パネルコントローラ(PANELC)215、FLASH ROM216、RAM217を有している。これら各部は、バス(不図示)によって接続されている。
【0017】
CPU210は、バスに接続される各デバイスを総括的に制御すると共に、FLASH ROM216に記憶された、制御プログラムとしてのファームウェアを実行する。RAM217は、CPU210の主メモリ、ワークエリア、及び、表示部202に表示するビデオデータを記憶する表示用メモリを提供している。
【0018】
ディスプレイコントローラ214は、CPU210の要求に応じて、RAM217に展開された画像データを表示部202へ転送するとともに、表示部202を制御する。その結果、表示部202に画像が表示される。パネルコントローラ215は、タッチパネル203上の指又はスタイラスペンなどの指示物による押下位置をCPU210に伝える。またボタンデバイス204の押下されたキーに対応するキーコード等をCPU210に伝える。
【0019】
なお、CPU210はタッチパネル203への以下の操作を検出できる。タッチパネルを指やペンで触れたこと(以下、タッチダウンと称する)。タッチパネルを指やペンで触れている状態であること(以下、タッチオンと称する)。タッチパネルを指やペンで触れたまま移動していること(以下、ムーブと称する)。タッチパネルへ触れていた指やペンを離したこと(以下、タッチアップと称する)。タッチパネルに何も触れていない状態(以下、タッチオフと称する)。これらの操作や、タッチパネル上に指やペンが触れている位置座標はバスを通じてCPU210に通知され、CPU210は通知された情報に基づいてタッチパネル上にどのような操作が行なわれたかを判定する。ムーブについてはタッチパネル上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル上の垂直成分(以下y座標)・水平成分(以下x座標)毎に判定できる。またタッチパネル上をタッチダウンから一定のムーブを経てタッチアップをしたとき、ストロークを描いたこととする。素早くストロークを描く操作をフリックと呼ぶ。フリックは、タッチパネル上に指を触れたまま、ある程度の距離だけ素早く動かして、そのまま離すといった操作であり、言い換えればタッチパネル上を指ではじくように素早くなぞる操作である。CPU210は、所定距離以上を、所定速度以上でムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる。また、所定距離以上のムーブが検出され、そのままタッチオンが検出されている場合には、ドラッグが行なわれたと判定するものとする。また、タッチパネル203は同時に複数の押下位置を検知することが可能で、その場合CPU210には押下位置の数分の位置情報が送信される。尚、タッチパネル203は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【0020】
電源コントローラ213は、外部電源(不図示)と接続されて電力の供給を受ける。これによって、電源コントローラ213に接続された充電池(不図示)を充電しながら、且つ、情報端末100全体に電力を供給する。もし、外部電源から電力が供給されないときは、充電池からの電力を情報端末100全体に供給する。IEEE802.11bモジュール211は、CPU210の制御に基づいて、画像形成装置102のIEEE802.11bモジュール(不図示)との無線通信を確立し、情報端末100との通信を仲介する。irDAモジュール212は、例えばデジタルカメラ103のirDAモジュールとの間での赤外線通信を可能にしている。
【0021】
[実施形態1]
以下、図3〜図7を参照して、本発明の実施形態1に係る情報端末100におけるスクロール処理について説明する。尚、本実施形態に係る処理は、情報端末100のソフトウェアにより実現されるが、ハードウェアにより実現されても良い。
【0022】
図3(A)〜(C)は、タッチパネル203へタッチしている指の位置を表す位置情報の一例を説明する図である。
【0023】
図3(A)は、ある時点で、指がタッチされている位置情報Pnを示しており、座標1、座標2、座標3は、3本の指がタッチされている座標値を示している。図3(B)は、図3(A)の直前の位置情報Pn-1を示しており、座標1、座標2、座標3は、3本の指がタッチされている座標値を示している。図3(C)は、図3(A)と図3(B)との間の座標の変動量(移動量)を示している。
【0024】
図4は、本発明の実施形態1に係る情報端末100において、タッチパネル203への指の接触状態を検知し、それに応じた処理を実行する例を説明するフローチャートである。この処理は、指或いはペン等によるオブジェクトの移動処理を必要とするアプリケーションが起動された場合に実行され、そのアプリケーションが終了されるまで引き続き実行される。ここでは指によりタッチパネル203がタッチされる場合で説明するが、スタイラスペンなど別の物体を用いても良い。尚、この処理を実行するプログラムはFLASH ROM216に記憶されており、そのプログラムをCPU210の制御の下に実行することにより実現される。
【0025】
まずS101で、CPU210は、初期化処理として、タッチパネル203にタッチしている指の位置を示す位置情報Pnと、タッチしている指の数を示す指本数Fnを「0」に初期化してRAM217に記憶する。次にS102に進み、CPU210はRAM217に記憶されている位置情報Pnと、指本数Fn、及び検知時刻Tnを、それぞれ直前の位置情報Pn-1、直前の接触本数Fn-1、直前の検知時刻Tn-1としてRAM217に記憶し、変数nを+1する。この時Pn-1、Fn-1、及びTn-1の値は、それぞれPn-2、Fn-2、及びTn-2に記憶される。即ち、一般的に表すと、Pn-m+1、Fn-m+1、及びTn-m+1の値は、それぞれPn-m、Fn-m、及びTn-mに記憶される。これによりRAM217には、それまでの検知情報がPn-m,Fn-m,Tn-mとして所定期間分記憶される。ここでmは、何回前かを表す値であり、例えばPn-3は3回前の検知時の位置情報を意味する。
【0026】
次にS103に進み、CPU210は、パネルコントローラ215から、タッチパネル203における指による現在の接触状態を取得してRAM217に記録する。このときパネルコントローラ203から送られてくる位置情報をPnとし、また位置情報の数を指本数Fnとして扱う(個数検出)。また、その検知した時刻をTnとして記憶する。
【0027】
次にS104に進み、CPU210は、位置情報の数、即ち、タッチしている指の本数が増えたかどうかを調べ、新たな指によるタッチが検知された場合はS105へ進み、そうでなければS106へ進む。具体的な条件は、直前の指本数Fn-1が「0」で、現在の指本数Fnが「1」以上であれば、新たな指によるタッチが行われたと判定する。
【0028】
S105でCPU210は、操作対象となるオブジェクトを判別してRAM217に記憶する。操作対象とするオブジェクトの判別方法は、アプリケーションに応じて適宜設定できる。例えば、タッチパネル203上でタッチしている指の座標の中央位置に対応して、表示部202の画面の最前面に表示されているオブジェクトである。また別の例としては、タッチパネル203上でタッチしている指の座標の中央位置で、表示部202の画面の最前面に表示されているオブジェクトを包含するリストオブジェクトである。
【0029】
S104で、新たな指によるタッチが検出されないときはS106に進み、CPU210は、それまでタッチしていた指がタッチパネル203上で移動されたか否かを判定する。指が移動されたと判定するとS107に進み、そうでなければS108へ進む。タッチパネル203上での指の移動の検知は、直前の位置情報に含まれる各指の座標値と、対応する各指の現在の位置情報に含まれる座標値とを比較することにより行う。ここで一つでも一致しない座標値があれば、タッチされている指が移動したと判定する。例えば図3に示すような位置情報の場合、図3(A)の座標1のx座標は「306」で、図3(B)の座標1のx座標は「302」であり、これらは一致しない。この場合、座標1に対応する指がタッチパネル203上で移動したと判定する。図3の例では座標1〜3のいずれも移動しているため、3本の指がタッチパネル203上で移動していると判定される。
【0030】
S107でCPU210は、図5を参照して後述する、指が移動されたと判定した場合の処理を実行する。
【0031】
またS108では、CPU210は全ての指が離されたかどうかを調べ、全ての指が離されたことを検知した場合はS109へ進み、そうでなければS102に進む。即ち、S108では、直前の指の接触本数Fn-1が1以上で、現在の指本数Fnが「0」の場合に、全ての指が離されたと判定する。S109において、CPU210は別途定める指が離された場合の処理を行う。尚、S109では、全ての指がタッチパネル203から離されると、次に指でタッチパネル203の画面上をはじく操作が行われると想定している。
【0032】
図5は、図4のS107の処理に該当する、実施形態1に係るタッチパネル203にタッチしている指が移動した場合の処理を説明するフローチャートである。
【0033】
まずS501で、CPU210は、その指でタッチされているオブジェクトの移動可能な方向を決定する。前述の図4のS105で決定した、対象となるオブジェクトによっては、そのオブジェクトが移動できる方向が決まっている場合がある。例えば、そのオブジェクトがリストの場合、そのオブジェクトは、そのリストを構成する要素が並ぶ方向にしか移動できないのが一般的である。よってCPU210は、S105で決定したオブジェクトに基づいて、移動可能な方向情報を取得することで、移動可能な方向がx方向であるか、y方向であるか、全方向であるかを決定する。
【0034】
次にS502に進み、CPU210は、タッチパネル203上で移動された指の移動量を算出する。ここではCPU210は、現在の位置情報Pnと直前の位置情報Pn-1とから、各指のx座標、y座標それぞれについて座標値の差分を計算する。
【0035】
図3(C)は、このようにして求められた各指の座標値の差分の算出結果を示している。CPU210は更に、3本の指に対応する座標値の差分の平均値を、x座標、y座標毎に算出する。図3(C)の平均は、その結果を示しており、3本の指の移動量の平均値がx方向に「6」、y方向に「4」であることを示している。尚、ここでは、S501で決定した移動方向以外の方向の移動量の算出は省略して良い。例えば、オブジェクトがx方向にのみ移動する場合は、y方向の移動量は算出しなくてもよい。
【0036】
次にS503に進み、CPU210は、対象オブジェクトの移動量を算出する。このオブジェクトの移動量は、指の移動量に指の本数の関数を乗じたものとする。即ち、n番目の検知でのオブジェクトの移動量Dnは、Dn=(Pn−Pn-1)×f(Fn)で表される。ここで、f(Fn)は指の本数Fnの関数である。関数f(Fn)として最も単純なものは、指の本数そのもの、即ち、f(Fn)=Fnである。この場合、オブジェクトの移動量Dnは、Dn=(Pn−Pn-1)×Fnとなる。
【0037】
ここで、指の移動量に対してオブジェクトの移動量を増加させたい場合は、例えばf(Fn)=2×Fnなどの関数を適用することで実現可能である。f(Fn)或いはDnは、アプリケーションに応じて自由に変更可能である。後述する実施形態2及び実施形態3では、これらを変更した例を説明する。以下、ここではオブジェクトの移動量の算出式として、Dn=(Pn−Pn-1)×Fnを用いた場合を例に説明する。図3(C)において、前述したように指の移動量はx方向に「6」、y方向に「4」である。また指の本数Fnは「3」であるため、この場合のオブジェクトの移動量Dnは、x方向に6×3=18、y方向に4×3=12となる。
【0038】
次にS504に進み、CPU210は、オブジェクトの移動処理を行う。オブジェクトの位置は、位置情報と同じ座標系で保持されている。例えば、オブジェクトの位置情報と、指がタッチしている位置情報とが一致する場合、オブジェクトと指とは同じ位置に存在すると言える。またオブジェクトの移動は、オブジェクトの座標値を変更して再描画することで可能となる。S504では、オブジェクトの座標値に、S503で求めた移動量分を加算し、再度、そのオブジェクトの描画処理を行うことでオブジェクトの移動を実現する。但し、座標値の加算はS501で求めた方向に対してのみ行う。
【0039】
図6は、図4のS109の指が離された場合の処理、即ち、タッチパネル203上で指をはじいた場合の処理を説明するフローチャートである。
【0040】
まずS601で、CPU210は、図5のS501と同様にして、オブジェクトの移動方向が、x方向か、y方向か、全方向かを決定する。次にS602に進み、CPU210は、指の移動速度を算出する。この指の移動速度算出は、所定の回数分の過去の位置情報Pn-m及び検知時刻Tn-mと、直前の位置情報Pn-1及び検知時刻Tn-1とを用いて行う。これらデータの指毎の座標値の差分(Pn-1−Pn-m)の平均値を、その移動に要した時間(Tn-1−Tn-m)で割ることにより、単位時間当たりの速度が求められる。
【0041】
次にS603に進み、CPU210は、S602で求められた単位時間当たりの移動速度に、所定の回数分の過去での指の本数Fn-mを乗じ、これを単位時間当たりのオブジェクトの移動量としてRAM217に記憶する。尚、ここでは指の移動速度と指の本数を基にして移動量を算出しているが本発明はこれに限定されない。例えば、S602で、移動速度ではなく加速度を求め、これと指の本数から移動量を決定してもよい。
【0042】
次にS604に進み、CPU210は、S601で求めた方向へ、S603で求めた単位時間当たりのオブジェクトの移動量分、所定の表示更新周期で繰り返しオブジェクトを移動する。尚、この表示更新周期ごとの移動量は、検知時刻Tnごとに更新される単位時間当たりの速度に応じて適宜変更される。
【0043】
図7は、実施形態1に係る情報端末の表示部202に表示された過去のジョブ情報を示すジョブ履歴画面700で、接触している指を移動することにより画面をスクロールする例を説明する図である。
【0044】
ジョブ履歴情報は公知の方法でIEEE802.11bモジュール211を介して画像形成装置102で取得されたものである。ここでは操作対象オブジェクトの一例としてジョブ履歴を示しているが、操作対象はどんなものでも構わない。例えば写真などの画像やWebページでも良い。
【0045】
ここで図4の指の移動検出処理フローを適用した場合の指と移動対象オブジェクトの位置関係について図7を用いて具体的に説明する。尚、ここでは特にS107において図5の指の本数に応じた移動処理を適用した例と、S109において図6の指のはじき処理を適用した例について詳しく説明する。
【0046】
図7(A)は、時刻X時X分X秒0ミリ秒の時に、ジョブ履歴の内容を表すジョブリストに2本の指を接触した状態を表している。図7(B)は、時刻X時X分X秒200ミリ秒の時の状況を示しており、図7(A)から指703が白抜き矢印704の方向へ移動した状態を示している。図7(A)の状態から指の移動を検知すると、図4のS107の指の移動検出処理において、図5のフローチャートで示す移動処理が実行される。
【0047】
このジョブリストは上下方向にしか動かない事を予め指定してあり、これによりS501では移動する方向はy方向と決定される。またS502で求められる指703の移動量は、ジョブリストの2行分である(白抜き矢印704の先端から終端までの差分)。更に、S503では、指の移動量に指の本数である「2」が乗じられることで、オブジェクトの移動量はジョブリストの4行分となる。これらから、S504では、黒矢印705で示すように、ジョブリストがy方向へ4行分スクロールされる。
【0048】
ここでは、指703による押下の検知が移動前と移動後の2回のみとしている。しかし、前述のように図4の指の移動検出処理は所定の間隔で繰り返し行われる。通常この間隔は十分短いため、図7(A)から図7(B)の状態へ変遷する間に、図5の指の本数に応じた指が移動した場合の処理は複数回実行される可能性がある。但し、この場合でも、それぞれの検知時点で前回位置との差分を計算し、その都度移動処理を行えば最終的には同じ位置に移動されることになるため、結果は変わらない。
【0049】
尚、指の押下の検出間隔が十分小さければ、指を途中で離したり、タッチする指を追加した場合、指の本数が影響するのは各移動処理時点での移動量である。そのため、指を動かしながら指の数を増減させることでオブジェクトの移動速度の加減速が可能になる。
【0050】
以下、更に図7(B)の状況の直後に指が全て離された状況を考える。指が全て離されたとき、S109において図6の指が離された場合の処理が実行される。
【0051】
このジョブリストは、前述したように上下方向にしか移動しないことを予め指定してあり、これによりS601では移動する方向はy方向と決定される。ここで、指の検知が20ms毎に1回行われ、S602における参照する過去に遡るデータの個数(前記所定の回数)が「10」であると仮定する。この場合、S602では、200ms前のデータ(即ち図7(A)の状況)と、直前のデータ(図7(B)の状況)とを比較する。これら2つを比較すると、指は200msでリスト2行分動いている(白矢印704)ため、10行/sの速さで指が動いていることが分かる。
【0052】
更に、S603では、この速さに指の本数である「2」を乗じ、オブジェクトの単位時間当たりの移動量を20行/sと決定する。そしてS604において、表示更新周期毎にこの速さでジョブリストをスクロールする。例えば、表示更新周期が50msであった場合は、表示更新周期(50ms)ごとに20行/s×0.05=1行分だけスクロールする。
【0053】
以上説明したように実施形態1によれば、スクロール操作や移動操作において、接触する指の本数を変更することにより、その操作量(移動量)を変更することが可能となる。これによりユーザは、大量のデータを含むリストをスクロール表示する場合や、非常に大きな画像(例えば地図画像)を移動するような場合に、より少ない時間で目的のデータや場所を表示することが可能になる。
【0054】
またその操作量の変更は、指の数を変更するだけであるため、単純かつ容易にできる。またその変更量も指の数の倍数、或いはその定数倍という直観的な変更量であるため、より利便性の高いスクロール操作やオブジェクトの移動を実現できる。
【0055】
[実施形態2]
次に本発明の実施形態2について説明する。尚、実施形態2に係る情報端末100の構成等は前述の実施形態1と同じであるため、その説明を省略する。
【0056】
実施形態2では、精密な操作を要するアプリケーションにおける移動制御処理を示す。実施形態1では、図5の指の本数に応じた移動処理において、オブジェクトの移動量を指の移動量に指の本数を乗じたものとした。この目的は、大量のデータをより速く移動する点にあった。
【0057】
一方、実施形態2では、精密な操作を実現することを目的とし、S503におけるオブジェクトの移動量を、指の移動量を指の本数で除算したものとする。即ち、オブジェクトの移動量Dnの算出式において、f(Fn)=1/Fnを利用し、Dn=(Pn−Pn-1)/Fnとする。この移動量がS504によりオブジェクトの座標値に加算される。尚、オブジェクトの座標値は、内部的には実数値で保持されており、小数点以下の情報も保持可能である。そして表示する時には整数部のみを用いる。
【0058】
以下、図8を用いて具体的な例を示す。
【0059】
図8は、実施形態2に係る情報端末100の表示部202で画像の移動を説明する図である。ここでは、画像編集画面として2つの画像(画像A801、画像B802)を表示している。ユーザはドラッグ操作を行うことで、これら2つの画面を編集領域803内の任意の場所へ移動することが出来る。図8(A)は、画像B802に指804をタッチした状態を示し、図8(B)は、図8(A)から指804が白抜き矢印805のように移動された後の様子を示している。
【0060】
このとき、S503におけるオブジェクトの移動量を、指の移動量を指の本数で割ったものとすれば、指の本数が2本であるため、オブジェクトの移動量は黒矢印806で示すように、指の移動量(白矢印805の先端から末尾までの距離)の半分となる。この結果、図8(B)のように画像B802は画像A801に隣接する位置まで移動される。
【0061】
尚、前述したように、タッチする指の数を変更することによるオブジェクトの移動量の変更は、指の数の変更後、即座に反映される。例えば図8(A)において、ユーザが画像B802を画像B801にぴったりと隣接させたいとする。このとき画像B802がより画像A801に近づくまでは1本の指で操作することで、等倍の移動量でオブジェクト(画像B802)を移動できる。そして画像B802が画像A801に近づき、微調整が必要な位置になると、タッチしている指の数を2本にする。これにより、1/2の移動量で操作が可能となる。
【0062】
また場合によっては、指を離すときに別の座標が検知され、それによりオブジェクトが微調整後の位置より更に移動してしまう可能性がある。この問題は、微調整後、所定の時間、指の静止状態が続いたらオブジェクトの移動を確定させる処理を追加することによって解決できる。また或いは、移動確定ボタンを用意し、微調整中に移動確定ボタンが押下されると、移動している画像の位置を確定するようにしても良い。
【0063】
以上説明したように実施形態2によれば、ユーザがオブジェクトの精密な移動操作を行いたい場合に、タッチする指の数を増やすことにより、指の移動量に対するオブジェクトの移動量を減少させて、オブジェクトの移動量の微調整を行うことが可能となる。これにより、座標検知精度が低いタッチスクリーンを利用するユーザや、指位置の微調整が難しいユーザでも、オブジェクトの精密な位置調整が可能となるため、利便性が高くなる。例えば、タッチパネルの座標検知精度が低く、静止状態でも検知する座標値が常に1画素程度前後するような端末でも、4本の指を用いればその誤差も4分の1になり、精密な操作がし易くなる。また同様に、指位置の微調整が難しい姿勢での操作時や、身体上の理由などにより指の震えがあっても、接触させる指の本数を増やすことで、指の震えによる影響を抑えることが可能となるため、操作性が向上できるという効果がある。
【0064】
[実施形態3]
次に本発明を実施するための第3の実施形態について説明する。尚、実施形態3に係る情報端末100の構成等は前述の実施形態1,2と同じであるため、その説明を省略する。
【0065】
実施形態3では、その他のアプリケーションにおける適用例として、電子文書のページめくり操作を要するアプリケーションにおける制御処理を説明する。
【0066】
図9は、実施形態3に係る情報端末における指の本数に応じたページめくり処理を説明するフローチャートである。尚、この処理を実行するプログラムはFLASH ROM216に記憶されており、そのプログラムをCPU210の制御の下に実行することにより実現される。
【0067】
S901とS902の処理は、それぞれ図5のS501及びS502と同等の処理である。そしてS903に進み、CPU210は、現在の操作でページめくり処理を行うか否かを判定する。具体的にはまず、指の押下位置に対して所定の距離以上指が移動されたかを判定し、所定の距離以上指が移動されないと判定した場合は、ページめくり処理は行わないと判定する。また、現在の表示ページが終端のページであり、それ以上めくるべきページが無い場合にページめくり処理は行わないと判定する。また、現在のドラッグ操作において、既にページめくりが実行されている場合にページめくりを行わないと判定する。即ち、一度指を離すまで2回ページめくる処理を行うことはしない。これらの条件を基にページめくりを行うか否かを判定し、ページめくり処理を行うと判定した場合S904に進むが、そうでないときはこのページめくり処理を終了する。
【0068】
S904では、CPU210は、ページの移動量(めくるページ数)を指の本数Fnとする。次にS905に進み、CPU210は、予め定義されるページの移動処理を、S904で求めたページ数分行う。ここでは、めくられたページの表示方法については問わない、単純に現在のページ画像と同じ位置に移動先のページの画像を表示するだけでも良いし、その間に画像をめくるように見せるアニメーションを追加しても良い。
【0069】
以下、図10を用いて具体的な例を説明する。
【0070】
図10は、実施形態3に係るページめくり処理を説明する図である。図10では、情報端末100の表示部202に電子文書ビューア画面として2つのページ画像(ページ1(1001)、ページ2(1002))を表示している状態を示している。ユーザはページ2(1002)上で左方向に指でドラッグ操作を行うことにより、ページめくり操作を行うことができる。図10(A)と図10(B)はそれぞれ、ページめくり操作の前と後の指の動きと表示画面の関係を示している。指1003を白矢印1004のように動かすと、S904で、めくるページ数は、タッチしている指の本数に応じて「2」と決定される。また続いてS905で、2ページ分のページ移動処理が行われる。こうして最終的に、図10(B)に示すように、図10(A)の状態に対して2ページ分のページがめくられた、5,6ページが表示された状態となる。
【0071】
以上説明したように実施形態3によれば、ページめくり操作において、接触する指の本数を変更することで、そのめくるページ数を変更することができる。これによりユーザは、接触している指の本数分だけページをめくることができるため、より直観的なページめくり操作が可能となる。
【0072】
尚、上記実施形態1〜3では、タッチパネルへの指による接触を例に説明したが本発明はこれに限定されるものでなく、ペン等の物体を接触させても良く、複数の物体が接触されているとき、それらの個数を識別できる構成であれば良い。
【0073】
以上説明した本実施形態によれば、ユーザは大量のデータを含むリストをスクロールする場合や、非常に大きな画像(例えば地図画像)を移動するような場合に、より少ない時間で目的のデータや場所を表示することが可能になる。また、座標検知精度が低いタッチスクリーンを利用するユーザや、指位置の微調整が難しいユーザでも、オブジェクトの精密な位置調整が可能となるため、利便性の高い操作制御が可能となる。
【0074】
(その他の実施例)
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態の一部を適宜組み合わせてもよい。
【0075】
また、上述の情報処理装置は、様々な装置を含むものである。例えば、パーソナルコンピュータやPDA、携帯電話端末に限らず、プリンタ、スキャナ、FAX、複写機、複合機、カメラ、ビデオカメラ、その他の画像ビューワ等を含む。
【0076】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
タッチパネルを備えた表示部を有する情報処理装置であって、
前記タッチパネルに接触している物体の移動量を検出する移動検出手段と、
前記タッチパネルに接触している物体の個数を検出する個数検出手段と、
前記表示部に表示されているオブジェクトであって、前記タッチパネルに接触している物体により指示されているオブジェクトを判別する判別手段と、
前記移動検出手段により検出された前記移動量と前記個数検出手段により検出された前記物体の個数とに応じて、前記判別手段で判別された前記オブジェクトの操作量を決定して前記オブジェクトの表示を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記操作量は、前記物体の移動量と前記物体の個数の関数との積で求められ、前記制御手段は、前記操作量に応じて前記オブジェクトを移動することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記操作量は、前記物体の移動量を前記物体の個数の関数で除算した値で求められ、前記制御手段は、前記操作量に応じて前記オブジェクトを移動することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
所定の時間あたりの前記移動量を基に、前記タッチパネルに接触している物体の移動速度を求める速度算出手段を更に有し、
前記制御手段は、前記物体の個数の関数と前記移動速度とに基づいて前記オブジェクトをスクロールさせることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記オブジェクトがページを示す場合、前記タッチパネルに接触している物体の移動方向及び前記タッチパネルに接触している物体の個数を基に前記オブジェクトのページをめくるページ数を算出する算出手段を更に有し、
前記制御手段は、前記算出手段により算出された前記ページ数を前記操作量とし、前記ページ数に従って前記オブジェクトのページをめくるように表示することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
タッチパネルを備えた表示部を有する情報処理装置を制御する制御方法であって、
移動検出手段が、前記タッチパネルに接触している物体の移動量を検出する移動検出工程と、
個数検出手段が、前記タッチパネルに接触している物体の個数を検出する個数検出工程と、
判別手段が、前記表示部に表示されているオブジェクトであって、前記タッチパネルに接触している物体により指示されているオブジェクトを判別する判別工程と、
制御手段が、前記移動検出工程で検出された前記移動量と前記個数検出工程で検出された前記物体の個数とに応じて、前記判別工程で判別された前記オブジェクトの操作量を決定して前記オブジェクトの表示を制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−105461(P2013−105461A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−251021(P2011−251021)
【出願日】平成23年11月16日(2011.11.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】