[第1実施例]
図1を参照して、この発明の第1実施例である情報処理装置10はCPU12を含む。CPU12には、バス30を介して、RAM14、タッチパネル制御回路16、描画制御回路18およびHDD(ハードディスクドライブ)24が接続される。また、タッチパネル制御回路16にはタッチパネル20が接続され、描画制御回路18にはディスプレイ22が接続される。
この第1実施例の情報処理装置10は、タブレット端末、スマートフォン、PC、電子机(デジタルテーブル)、電子黒板などの各種の情報機器ないし電子機器に適用される。
また、この第1実施例では、入力手段の一例として、タッチパネル20が用いられる場合について説明するが、タッチパネル20に代えて、タッチパッドを用いることもできる。また、情報処理装置10には、他の入力手段として、操作パネルのようなハードウェアの操作ボタンが設けられたり、ハードウェアのキーボードが接続されたりすることがある。
図1に戻って、CPU12は、情報処理装置10の全体的な制御を司る。RAM14は、CPU12のワーク領域およびバッファ領域として用いられる。
タッチパネル制御回路16は、タッチパネル20に必要な電圧などを付与するとともに、タッチパネル20のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ入力の位置(タッチ位置)を示すタッチ座標データをCPU12に出力する。
タッチパネル20を用いた操作(入力)としては、タップ(短押し)、スライド(ドラッグ)、フリック、ロングタップ(長押し)などがあり、この第1実施例では、これらを「タッチ操作」または「タッチ入力」のように総称する。また、タッチパネル20をタッチしていない状態からタッチしている状態に変化することをタッチオン(ペンダウン)と言い、タッチパネル20をタッチしている状態からタッチしていない状態に変化することをタッチオフ(ペンアップ)と言う。継続的なタッチ入力つまりスライドやフリックによる入力に対しては、タッチパネル20は、現在のタッチ位置に対応するタッチ座標データを所定周期よりも短い周期で出力する。たとえば、所定周期は、1〜数フレームであり、1フレームは1/30秒、1/60秒または1/120秒である。
タッチパネル20は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、赤外線方式など、任意の方式のものを用いることができる。この第1実施例では、タッチパネル20としては、静電容量方式のタッチパネルがディスプレイ22の表示面上に設けられる。ただし、タッチパネルは、ディスプレイ22の表示面上に設けられなくてもよい。
ユーザは、手指でタッチパネル20を操作する。ただし、ユーザは、専用のペンで操作することもできる。また、この第1実施例のタッチパネル20は、マルチタッチのタッチパネルであり、複数のタッチ入力を同時に検出することができる。したがって、タッチパネル20は、同時に、複数のタッチ入力を検出すると、各タッチ入力に対応するタッチ位置のそれぞれについてのタッチ座標データをCPU12に出力する。
描画制御回路18は、GPUおよびVRAMなどを含んでおり、CPU12の指示の下、GPUは、RAM14に記憶された画像データ(後述する描画データ304bおよび画像生成データ304c:図6参照)を用いてディスプレイ22に表示するための表示画像データをVRAMに生成し、生成した表示画像データをディスプレイ22に出力する。ディスプレイ22としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。
HDD24は、不揮発性のメモリであり、情報処理装置10のオペレーティングシステムや各種のアプリケーションソフトを記憶したり、各種のデータを記憶したりする。この第1実施例では、HDD24が情報処理装置10に内蔵される場合について示してあるが、HDD24は情報処理装置10の外部に通信可能に設けてもよい。また、HDD24に代えて、または、HDD24とともに、フラッシュメモリのような他の不揮発性の記憶媒体、メモリカードやメモリスティックのような記憶媒体または、CDまたはDVDなどのディスク記憶媒体を用いることもできる。
図2は図1に示すディスプレイ22に表示されるタッチ画面100の一例を示す図解図である。タッチ画面100には、ユーザが手書きした文字、図形または記号についての画像、或いは、それらの二種類以上を複合的に含む画像を表示する。以下、これらの画像を手書き画像と呼ぶことにする。ただし、情報処理装置10において、描画ソフト(描画アプリケーションプログラム)が実行され、編集モードが選択されると、白紙状態のタッチ画面100がディスプレイ22に表示される。
なお、この第1実施例では、ユーザが手書きした手書き画像をタッチ画面100に表示する場合について説明するが、これに限定される必要はない。たとえば、情報処理装置10のHDD24に記憶された画像データや情報処理装置10に接続された記憶媒体または通信可能に接続された他の情報処理装置10またはPCなどから取得した画像データに対応する画像が表示されてもよい。
詳細な説明は省略するが、編集モードでは、手書きの画像を描画したり、線色や塗り潰しの色を選択したり、文字、図形または記号を消去、コピー、切り取り、拡大または縮小したりするなど、様々な処理(編集処理)を実行することができる。また、この編集モードでは、ページを追加したり、ページを移動したり、編集した画像に対応するデータ(画像ファイル)をHDD24に保存したりすることもできる。
通常、タッチ画面100は、一ページについての画面であり、上述したように、ユーザの操作に従って、ページを移動(他のページを表示)することができる。たとえば、他のページは、未編集の白紙のページまたは既に手書き画像が描画された編集中または編集済みのページである。
たとえば、編集作業が進み、複数のページが作成(編集)された後に、所望のページを確認する場合には、ユーザは、当該所望のページについてのタッチ画面100をディスプレイ22に表示する。たとえば、複数のページを確認したい場合には、当該複数のページの各々についてのタッチ画面100を順次ディスプレイ22に表示する。
このため、確認するページが多数有る場合には、多数のページのそれぞれを順次ディスプレイ22に表示するのが面倒であり、確認するのに時間がかかってしまう。したがって、この第1実施例では、複数のページを一ページ(一画面)に集約して、ディスプレイ22に表示するようにしてある。ただし、この第1実施例では、直感的な操作で、簡単に所望の複数のページを集約できるようにしてある。
図3は、ディスプレイ22に表示されたタッチ画面100上において、ページを集約する場合に行う操作(以下、「集約操作」という。)の一例を説明するための図解図である。図4は、第1実施例において集約操作が実行された場合に表示される集約画面200の一例を示す図解図である。ただし、図3では、ユーザの手の一部のみを図示してある。また、図3では、ユーザの指がタッチパネル20をタッチしていることを楕円に斜線を付して図示してある。これらのことは、後述する第2実施例(図9)および第4実施例(図13)についても同じである。
図3に示すように、ユーザは、ディスプレイ22の表示面(タッチパネル20の検出面)上すなわちタッチ画面100上を、両手でタッチする。このとき、第1実施例では、ユーザは、集約したい連続するページの先頭と末尾のページ番号を左手の指と右手の指を用いて指定する。このタッチ操作に続けて、図3の白抜きの矢印で示すように、ユーザは、両手を接近させるようにスライドする。つまり、ユーザは、ピンチインするように、両手でタッチ操作を行う。このように、両手でタッチし、両手を接近させるようにスライドする操作ないし動作が第1実施例における集約操作である。ただし、両手を接近させるようにスライドする場合には、両手をスライドさせる必要は無く、左手および右手の一方を他方に接近させるようにスライドしてもよい。
図3に示す例では、左手の人差し指がタッチされ、右手の人差し指、中指および薬指がタッチされる。つまり、左手のタッチ数は1であり、右手のタッチ数は3である。この第1実施例では、左手でタッチしたタッチ数および右手でタッチしたタッチ数のそれぞれがページ番号に相当する。したがって、図3に示すように集約操作が行われると、第1ページから第3ページを集約することが指示される。ただし、集約操作では、左手および右手で異なるページ番号を指定すれば良いため、左手と右手のタッチ数は逆でもよい。
図3に示したように集約操作が行わると、図4に示すような集約画面200がディスプレイ22に表示される。この集約画面200は、タッチ画面100に代えて表示されてもよいし、タッチ画面100の前面に重ねて表示されてもよい。
図4に示すように、集約画面200には、画像202、画像204および画像206が表示される。画像202は、第1ページを縮小した縮小画像であり、画像204は、第2ページを縮小した縮小画像であり、そして、画像206は第3ページを縮小した縮小画像である。つまり、集約画面200は、第1ページ〜第3ページの各画像を縮小して、一ページ(一画面)に収まるように集約した集約画像である。以下、複数のページを一ページ(一画面)に収まるように集約する場合について同じである。
なお、図示は省略したが、編集モードにおいて、第2ページおよび第3ページについても作成され、図2に示したタッチ画面100において、第2ページを表示することが指示されると、当該第2ページについてのタッチ画面100が表示され、第3ページを表示することが指示されると、当該第3ページについてのタッチ画面100が表示される。ただし、第2ページの画像は、画像204をディスプレイ22の表示領域全体に拡大した画像に相当し、第3ページの画像は、画像206をディスプレイ22の表示領域全体に拡大した画像に相当する。
たとえば、集約画面200では、ページ番号が最も小さい縮小画像が左上に表示され、集約画面200(ディスプレイ22に表示面)に向かって、右方向および下方向に向かうに従ってページ番号が大きくなるように、各ページに対応する複数の縮小画像が並べられる。ただし、縮小画像の縮小率は、集約するページ数に応じて予め決定される。
ただし、集約するページの数が2である場合には、集約画面200に向かって、左側にページ番号が小さいページの縮小画像が配置され、右側にページ番号が大きいページの縮小画像が配置される。
次に集約操作が行われたかどうかを判断する方法について説明する。この第1実施例では、上述したように、集約操作では、両手でタッチし、両手を接近させるようにスライドする。このとき、左手と右手のそれぞれでページ番号が指定される。したがって、左手と右手で集約するページのページ番号を指定する場合には、タッチ位置の総数の最小値は3であり、タッチ位置の総数の最大値は9である。
まず、タッチ入力が検出されると、タッチ位置の総数を検出し、タッチ位置の総数が3以上であるかどうかが判断される。タッチ位置の総数が2以下であれば、集約操作ではないと判断され、タッチ入力に応じた他の処理(集約処理以外の編集処理)が実行される。タッチ位置の総数が3以上である場合には、続いて、両手が接近するようにスライドされたかどうかが判断される。なお、タッチ位置の総数が10以上である場合にも、ユーザによる集約操作でないと判断するようにしてもよい。
上述したように、左手のタッチ数および右手のタッチ数のそれぞれでページ番号を指定するため、両手が接近するようにスライドされたかどうかを判断する場合には、左手のタッチ入力(タッチ位置)のグループと、右手のタッチ入力(タッチ位置)のグループに複数のタッチ位置が分類され、二つのグループが次第に接近するかどうかが判断される。
ここで、複数のタッチ位置を二つのグループG1、G2に分類する方法について説明する。たとえば、左手または右手でページ数を指定する場合には、左手または右手でタッチ入力される複数の指は直径が所定長さR(たとえば、25cm)の範囲内に収まっていると考えられる。これは、実験等により、経験的に得た数値である。ただし、所定長さRは、タッチパネル20の検出範囲(ディスプレイ22の表示範囲)の大きさに応じて適宜変更される。
したがって、検出された複数のタッチ位置から基準の一つのタッチ位置P0を任意に決定し、当該基準のタッチ位置P0と他の複数のタッチ位置Pn(n=1,2,…,N−1)の各々との距離dmを算出する。ただし、距離dm(m=1,2,…,n)は数1に従って算出される。また、数1においては、基準のタッチ位置P0のタッチ座標を(x0,y0)とし、他のタッチ位置Pnのタッチ座標を(xn,yn)とする。
[数1]
dm=√{(xn−x0)2+(yn−y0)2}
図5(A)は検出された複数のタッチ位置の分布を示す図解図であり、図5(B)は複数のタッチ位置を二つのグループに分類した状態を示す図解図である。
図5(A)および図5(B)は、タッチパネル20に設定された二次元の座標系を示す。たとえば、タッチパネル20の左上の頂点が原点Oに設定され、左右方向がX軸方向であり、上下方向がY軸方向である。また、右方向がX軸のプラス方向であり、下方向がY軸のプラス方向である。図示は省略するが、たとえば、タッチパネル20に設定される座標系は、ディスプレイ22の表示面に設定される座標系と同じにされる。また、図5(A)および図5(B)においては、X軸およびY軸と点線で示す四角形がタッチパネル20の全検出範囲に相当する。
たとえば、図5に示すように、五つのタッチ位置が検出された場合には、上述したように、この五つのタッチ位置から基準のタッチ位置P0が任意に決定される。また、他の複数のタッチ位置P1、P2、P3、P4も決定される。このように、基準のタッチ位置P0および他の複数のタッチ位置Pnが決定されると、集約操作の有無が判断されるまで、各タッチ位置は、それぞれ、変数を用いてタッチオフされるまで追跡(監視)される。続いて、数1に従って、基準のタッチ位置P0と他の複数のタッチ位置Pnのそれぞれとの距離dmが算出される。
基準のタッチ位置P0との距離dmが所定距離R以下である場合には、距離dmを算出したときの他のタッチ位置Pnは、基準のタッチ位置P0と同じグループ(たとえば、グループG1)に決定される。一方、基準のタッチ位置P0との距離dmが所定距離Rを超えている場合には、距離dmを算出した時の他のタッチ位置Pnは他のグループ(たとえば、グループG2)に決定される。このように、距離dmに応じて、複数のタッチ位置は、二つのグループに分類される。図5(A)に示した例では、図5(Bに示すように、二つのグループG1およびG2に分類される。
さらに、グループG2に分類されたタッチ位置Pnが複数有る場合には、複数のタッチ位置Pnが所定距離Rの範囲(所定範囲)内に含まれるかどうかが判断される。ここでは、複数のタッチ位置Pnから任意に一つのタッチ位置Pnが選択され、選択されたタッチ位置Pnと残りのタッチ位置Pnのそれぞれとの距離dpが算出され、すべての距離dpが所定距離R以下であるかどうかが判断される。距離dpの算出方法は、数1に示した距離dmの算出方法と同じである。
距離dmが所定距離Rを超えるタッチ位置が一つでも有る場合には、グループが三つ以上であるため、集約操作で無いことが判断される。距離dpが所定距離Rを超えるタッチ位置が一つも無い場合には、複数のタッチ位置を二つのグループG1およびG2に分類できたことが判断される。
なお、この第1実施例では、基準のタッチ位置P0を複数のタッチ位置から任意に決定するようにしたが、両手でタッチしたときに、左手と右手が比較的近い場合に、他方の手に近いタッチ位置が基準のタッチ位置P0として決定されると、正しく二つのグループG1およびG2に分類できない場合もあると考えられる。したがって、基準のタッチ位置P0は、複数のタッチ位置のうち、最も右(X座標が最大)または左(X座標が最小)に位置するタッチ位置に決定するようにしてもよい。
複数のタッチ位置が二つのグループG1およびG2に分類されると、二つのグループG1およびG2が次第に接近するかどうかが判断される。第1実施例では、所定時間(たとえば、数フレーム〜数十フレーム)毎に、グループG1およびG2のそれぞれに含まれるタッチ位置の中心座標(平均座標)が算出され、中心間の距離dqが算出されて、算出された距離dqが次第に短くなっているかどうかが判断される。
中心間の距離dqが変化しない、または、中心間の距離dqが次第に離れている場合には、集約操作が有ることは判断されない。一方、中心間の距離dqが次第に短くなっている場合には、二つのグループG1およびG2が次第に接近していると判断され、集約操作が有ることが判断される。
集約操作が有ることが判断されると、二つのグループG1およびG2のそれぞれに含まれるタッチ位置の数(タッチ数)K1、K2が検出され、各グループG1およびG2のタッチ数K1、K2に応じて、集約処理が実行される。第1実施例では、上述したように、一方のグループ(たとえば、グループG1)のタッチ数K1に対応するページおよび他方のグループ(たとえば、グループG2)のタッチ数K2に対応するページと、それらのページの間のページが一画面(一ページ)に収まるように集約されて、ディスプレイ22に表示される。つまり、一方のタッチ数に対応するページから他方のタッチ数に対応するページまでの複数のページが一ページに集約される。したがって、図4に示したように、左手のタッチ数と右手のタッチ数で指定された複数のページがそのページ数に応じた縮小率で縮小され、複数のページのそれぞれの縮小画像を含む集約画面200がディスプレイ22に表示される。
図6は図1に示したRAM14のメモリマップ300の一例を示す図解図である。図6に示すように、RAM14は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302は、情報処理装置10で実行される描画アプリケーションプログラムのような情報処理プログラムを記憶し、描画アプリケーションプログラムは、入力検出プログラム302a、画像生成プログラム302b、表示プログラム302c、総数検出プログラム302d、グループ化プログラム302eおよび集約プログラム302fなどで構成される。この描画アプリケーションプログラムは、HDD24から読み出され、RAM14に記憶される。
入力検出プログラム302aは、タッチ入力を検出するためのプログラムであり、CPU12は、この入力検出プログラム302aに従って、タッチパネル20から出力されたタッチ座標データを取得し、取得したタッチ座標データを時系列に従ってRAM14に記憶する。ただし、上述したように、ハードウェアのボタンが設けられる場合およびハードウェアのキーボードが接続される場合には、入力検出プログラム302aに従って、ボタンないしキーの入力も検出される。
画像生成プログラム302bは、上記のタッチ画面100および集約画面200などの各種の表示画面についての画面データを生成するためのプログラムである。ただし、画像生成プログラム302bは、画面データを生成するとき、手書き画像についてのデータ(後述する描画データ304b)および後述する画像生成データ304cを使用する。また、画面データは、CPU12の指示の下、描画制御回路18に内蔵されるGPUによってVRAM上に生成される。
表示プログラム302cは、画像生成プログラム302bに従って生成された画面データに対応する表示画面をディスプレイ22に表示するためプログラムであり、CPU12は、描画制御回路18を制御して、VRAM上に生成された画面データをディスプレイ22に出力する。
総数検出プログラム302dは、タッチ位置の総数Nを検出するためのプログラムである。CPU12は、この総数検出プログラム302dに従って、同じフレームにおいて取得されたタッチ座標データの数をタッチ位置の総数Nとして検出する。
グループ化プログラム302eは、総数検出プログラム302dに従って検出されたタッチ位置の総数Nが3以上である場合に、複数のタッチ位置を二つのグループG1およびG2に分類するためのプログラムである。複数のタッチ位置を二つのグループG1およびG2に分類する方法は上述したとおりである。
集約プログラム302fは、グループ化プログラム302eに従って分類された二つのグループG1およびG2の中心座標が次第に近づくかどうかを判断することにより、集約操作が有るかどうかを判断して、集約操作が有る場合に、描画制御回路18を制御して、左手のタッチ数および右手のタッチ数に応じて指定された複数のページを一ページに集約するためのプログラムである。複数のページを一ページに集約する方法は上述したとおりである。なお、描画制御回路18において、複数のページのそれぞれを所定の縮小率で縮小し、縮小画像を並べて一画面に表示する方法はすでに周知であり、本願発明の本質的な内容では無いため、その説明は省略する。
図示は省略するが、プログラム記憶領域302には、編集モードの処理において、各種の機能を選択したり実行したりするためのプログラムなども記憶される。
また、データ記憶領域304には、操作入力データ304a、描画データ304b、画像生成データ304c、タッチ数データ304dおよび集約ページデータ304eが記憶される。
操作入力データ304aは、タッチパネル20から出力され、CPU12によって取得されたタッチ座標データを時系列に従って記憶したデータである。ただし、操作入力データ304aには、ハードウェアのボタンないしキーについての操作データが含まれる場合もある。
描画データ304bは、操作入力データ304aに含まれるタッチ座標データのうち、手書き画像についてのデータであり、ページ毎に管理される。画像生成データ304cは、タッチ画面100および集約画面200などの各種の画面を生成するときに使用されるデータであり、ポリゴンデータやテクスチャデータなどを含む。この画像生成データ304cは、HDD24から読み出され、RAM14に記憶される。
タッチ数データ304dは、複数のタッチ位置が二つのグループG1およびG2に分類された場合の各グループG1およびG2に属するタッチ位置のタッチ数K1およびK2についての数値データである。集約ページデータ304eは、集約操作が行われた場合に、タッチ数K1およびK2に応じて集約することが決定された複数のページの各ページ番号についての数値データである。
データ記憶領域304には、描画アプリケーションプログラムを実行するために必要な他のデータも記憶され、また、当該描画アプリケーションプログラムを実行するために必要なカウンタ(タイマ)および他のフラグなども設けられる。
図7および図8は図1に示したCPU12の編集モードの処理を示すフロー図である。編集モードの処理は、描画アプリケーションが起動(実行)されると、実行される。
図7に示すように、CPU12は編集モードの処理を開始すると、ステップS1で、タッチ入力が有るかどうかを判断する。ここでは、CPU12は、データ記憶領域304の操作入力データ304aに現フレームのタッチ座標データが含まれるかどうかを判断する。図示は省略するが、編集モードの処理が開始されると、白紙のページがディスプレイ22に表示される。ただし、保存された画像ファイルが読み込まれた場合には、編集途中または編集済みのページがディスプレイ22に表示される。
ステップS1で“NO”であれば、つまりタッチ入力が無ければ、同じステップS1に戻る。一方、ステップS1で“YES”であれば、つまりタッチ入力が有れば、ステップS3で、タッチ位置の総数Nを検出する。ここでは、CPU12は、データ記憶領域304に記憶された操作入力データ304aを参照して、現フレームのタッチ座標データの個数を検出する。
なお、図示は省略するが、CPU12は、描画アプリケーションが起動されると、タッチパネル20から出力されるタッチ座標データを取得し、データ記憶領域304に記憶する処理を、編集モードの処理と並行して実行する。
続くステップS5では、タッチ位置の総数Nが3以上であるかどうかを判断する。ステップS5で“NO”であれば、つまりタッチ位置の総数Nが2以下であれば、ステップS7で、タッチ入力に応じた他の処理を実行して、ステップS9に進む。ステップS7では、タッチ入力に応じて、複数のページを集約する処理以外の編集処理を実行したり、ページを追加したり、ページを移動したり、画像ファイルを保存したりする。
ステップS9では、終了かどうかを判断する。ここでは、CPU12は、ユーザによって編集モードの処理(描画アプリケーション)の終了を指示されたかどうかを判断する。ステップS9で“NO”であれば、つまり終了でなければ、ステップS1に戻る。一方、ステップS9で“YES”であれば、終了であれば、編集モードの処理を終了する。
また、ステップS5で“YES”であれば、つまりタッチ位置の総数Nが3以上であれば、ステップS11で、基準のタッチ位置P0と他の複数のタッチ位置Pnの各々の距離を算出する。ただし、ステップS11では、CPU12は、複数のタッチ位置から基準のタッチ位置P0を任意に決定するとともに、他の複数のタッチ位置Pnも決定する。
続くステップS13では、複数のタッチ位置を所定距離R(たとえば、15cm)内に含まれるグループに分類する。次のステップS15では、グループが二つであるかどうかを判断する。ステップS15で“NO”であれば、つまりグループが一つまたは三つ以上であれば、ステップS17で、タッチ位置が変化したかどうかを判断する。ここでは、CPU12は、現フレームのタッチ位置が前フレームのタッチ位置と異なるかどうかを判断する。ただし、検出された複数のタッチ位置のうちのいずれか1つでも変化されていれば、タッチ位置が変化したと判断される。上述したように、基準のタッチ位置P0および他の複数のタッチ位置Pnが決定された後では、それぞれ、タッチオフされるまで変数を用いて追跡(監視)される。
ステップS17で“NO”であれば、つまりタッチ位置が変化していなければ、同じステップS17に戻る。ただし、所定時間以上、タッチ位置が変化しない場合には、タッチ位置を変化させるか、一旦タッチオフするべき旨のメッセージを表示して、ステップS1に戻るようにしてもよい。一方、ステップS17で“YES”であれば、つまりタッチ位置が変化していれば、ステップS3に戻る。
また、ステップS15で“YES”であれば、つまりグループが二つであれば、ステップS19で、各グループG1、G2のタッチ数K1およびK2を検出する。このとき、タッチ数K1およびK2に対応するタッチ数データ304dがデータ記憶領域304に記憶されるとともに、集約するページ(ページ番号)についての集約ページデータ304eがデータ記憶領域304に記憶される。
続くステップS21では、二つのグループG1およびG2の中心座標が次第に近づいているかどうかを判断する。このステップS21では、上述したように、CPU12は、二つのグループの中心座標間の距離dqを数フレームまたは数十フレーム毎に算出し、距離dqが次第に短くなっているかどうかを判断する。
ステップS21で“NO”であれば、つまり二つのグループG1およびG2の中心座標が近づいていなければ、同じステップS21に戻る。一方、ステップS21で“YES”であれば、つまり二つのグループG1およびG2の中心座標が次第に近づいていれば、集約操作が有ると判断して、ステップS23で、タッチ数K1に対応するページ、タッチ数K2に対応するページおよびそれらのページの間のページを一ページに集約し、ディスプレイ22に表示して、ステップS1に戻る。ただし、ステップS23では、CPU12は、集約ページデータ304eを参照して、集約するページ(ページ番号)を取得する。
この第1実施例によれば、ユーザが両手でピンチインするようにタッチ操作したとき、左手のタッチ数に対応するページ、右手のタッチ数に対応するページおよびそれらのページの間のページを一ページに集約してディスプレイに表示するので、集約操作を行うときにディスプレイ22に表示されているページに関係なく、直感的な操作で、所望の複数のページを簡単に一ページに集約してディスプレイ22に表示することができる。このため、所望のページを容易に確認することができる。
なお、この第1実施例では、集約操作の有無を判断するために、分類された二つのグループG1およびG2の中心座標が次第に近づいているかどうかを判断するようにしたが、これに限定される必要はない。たとえば、分類された二つのグループG1およびG2のそれぞれから代表のタッチ位置を決定し、代表のタッチ位置間の距離が次第に近づいているかどうかを判断するようにしてもよい。また、二つのグループG1およびG2の中心座標間の距離dqに代えて、中心座標の二次元成分の少なくとも一方が近づいているかどうかを判断するようにしてもよい。このことは、代表のタッチ位置を決定する場合も同様である。
また、この第1実施例では、集約操作が有ることが判断された場合に、ページを集約して表示するようにしたが、集約操作が有ることが判断され、すべての指がタッチオフされた後に、ページを集約して表示するようにしてもよい。
さらに、この第1実施例では、検出したタッチ位置の総数Nが3以上である場合に、複数のタッチ位置を二つのグループG1およびG2に分類するようにしたが、これに限定される必要はない。たとえば、操作ガイドで、ページを集約する場合には、左手と右手とを或る程度の時間(たとえば、2〜3秒)だけずらしてタッチする旨を説明しておき、時間的に先に検出されたタッチ入力に対応するタッチ位置と、時間的に後に検出されたタッチ入力に対応するタッチ位置を二つのグループG1およびG2に分類するようにしてもよい。
[第2実施例]
第2実施例の情報処理装置10は、分類された二つのグループが次第に遠ざかっている場合に、タッチ数K1に対応するページとタッチ数K2に対応するページとを集約するようにした以外は、第1実施例と同じである。したがって、第1実施例と異なる内容について説明し、重複する内容については、簡単に説明する、または、説明を省略する。
図9は第2実施例における集約操作を説明するための図解図である。図10は集約操作が実行された場合の集約画面の他の例を示す図解図である。
図9に示すように、第2実施例では、両手でタッチ画面100上をタッチし、白抜きの矢印で示すように、左手と右手が次第に遠ざかる(離反する)ように、左手または右手或いは両手をスライドさせると、左手のタッチ数に対応するページと右手のタッチ数に対応するページとが一ページに集約される。つまり、ピンチアウトするように左手と右手でタッチ操作すると、ページを集約することができる。
図9に示す例では、左手のタッチ数は「1」であり、右手のタッチ数は「3」であるため、第1ページと第3ページとが集約される。つまり、第1ページに対応する画像が縮小されるとともに、第3ページに対応する画図が縮小され、各縮小画像が所定の位置に配置される。
したがって、図10に示すような集約画面200´がディスプレイ22に表示される。この集約画面200´では、第1ページの縮小画像である画像202と第3ページの縮小画像である画像206とが左右に並んで表示される。
なお、第2実施例では、左手および右手の各々で指定した二つのページが集約されるため、集約する場合に、画像を縮小する縮小率は予め決定される。また、第2実施例では、左手および右手の各々で指定した二つのページを集約するため、二つのページのうち、向かって左側にページ番号の小さい画像が表示され、向かって右側にページ番号の大きい画像が表示される。
また、第2実施例では、第1実施例と同様に、タッチ位置の総数Nが所定数(たとえば、3)以上である場合に、複数のタッチ位置が二つのグループG1およびG2に分類される。そして、二つのグループG1およびG2の中心座標間の距離が次第に長くなる(離反する)場合に、集約操作が有ることが判断される。
したがって、第2実施例では、集約プログラム302fは、二つのグループG1およびG2の中心座標間の距離dqが次第に長くなる(離反する)かどうかを判断する点が第1実施例とは異なる。ただし、上述したように、第2実施例では、一ページに集約されるのは、左手のタッチ数に対応するページと右手のタッチ数に対応するページである。
図11は第2実施例におけるCPU12の編集モードの処理の一部であって、図7に後続するフロー図である。
具体的な編集モードの処理については、図7および図8に示した第1実施例の編集モードの処理において、図11に示すように、図8の一部の処理が変更される。したがって、同じ処理には同じ参照符号を付してある。
図11に示すように、第2実施例の編集モードの処理では、CPU12は、ステップS19で、各グループのタッチ数K1およびK2を検出すると、ステップS31で、二つのグループG1およびG2の中心座標が次第に遠ざかっているかどうかを判断する。ここでは、CPU12は、二つのグループG1およびG2の中心座標間の距離を数フレームまたは数十フレーム毎に算出し、距離が次第に長くなっているかどうかを判断する。
ステップS31で“NO”であれば、つまり二つのグループG1およびG2の中心座標が遠ざかっていなければ、そのまま同じステップS31に戻る。一方、ステップS31で“YES”であれば、つまり二つのグループの中心座標が次第に遠ざかっていれば、ステップS33で、タッチ数K1に対応するページとタッチ数K2に対応するページを一ページに集約し、ディスプレイ22に表示して、ステップS1に戻る。
この第2実施例によれば、第1実施例と同様に、集約操作を行うときにディスプレイ22に表示されているページに関係なく、直感的な操作で、所望の二つのページを一ページに簡単に集約してディスプレイ22に表示することができる。
なお、この第2実施例では、集約操作の有無を判断するために、分類された二つのグループG1およびG2の中心座標が次第に遠ざかっているかどうかを判断するようにしたが、これに限定される必要はない。たとえば、分類された二つのグループG1およびG2のそれぞれから代表のタッチ位置を決定し、代表のタッチ位置間の距離が次第に遠ざかっているかどうかを判断するようにしてもよい。また、二つのグループG1およびG2の中心座標間の距離dqに代えて、中心座標の二次元成分の少なくとも一方が遠ざかっているかどうかを判断するようにしてもよい。このことは、代表のタッチ位置を決定する場合も同様である。
[第3実施例]
第3実施例では、分類された二つのグループが次第に近づいている場合には、タッチ数K1に対応するページ、タッチ数K2に対応するページおよびそれらの間のページを一ページに集約し、分類された二つのグループが次第に遠ざかっている場合には、タッチ数K1に対応するページとタッチ数K2に対応するページとを一ページに集約するようにした以外は、第1実施例と同じである。したがって、第1実施例と異なる内容について説明し、重複する内容については、簡単に説明する、または、説明を省略する。
この第3実施例では、図3に示したように、ユーザがピンチインするように両手でタッチ操作した場合には、図4に示したように、左手のタッチ数に対応するページ、右手のタッチ数に対応するページおよびそれらの間のページが一ページに集約された集約画面200がディスプレイ22に表示される。一方、図9に示したように、ユーザがピンチアウトするように両手でタッチ操作した場合には、図10に示したように、左手のタッチ数に対応するページと右手のタッチ数に対応するページとが一ページに集約される。
したがって、第3実施例では、集約プログラム302fは、二つのグループG1およびG2の中心座標間の距離dqが次第に短くなるかどうかを判断するとともに、二つのグループG1およびG2の中心座標間の距離dqが次第に長くなるかどうかを判断する。そして、集約プログラム302fは、距離dqが次第に短くなる場合には、タッチ数K1に対応するページ、タッチ数K2に対応するページおよびそれらの間のページを一ページに集約するが、距離dqが次第に長くなる場合には、タッチ数K1に対応するページとタッチ数K2に対応するページとを一ページに集約する。
図12は第3実施例における編集モードの処理の一部であって、図7に後続するフロー図である。
具体的な編集モードの処理については、図7および図8に示した第1実施例の編集モードの処理において、図12に示すように、図8に示した処理に図11に示した一部の処理が追加される。したがって、同じ処理には同じ参照符号を付してある。
図12に示すように、CPU12は、ステップS19で、各グループのタッチ数K1およびK2を検出すると、ステップS21で、二つのグループG1およびG2の中心座標が次第に近づいているかどうかを判断する。ステップS21で“YES”であれば、ステップS23で、タッチ数K1に対応するページ、タッチ数K2に対応するページおよびそれらのページの間のページを一ページに集約し、ディスプレイ22に表示して、ステップS1に戻る。
一方、ステップS21で“NO”であれば、ステップS31で、二つのグループG1およびG2の中心座標が次第に遠ざかっているかどうかを判断する。ステップS31で“NO”であれば、ステップS21に戻る。一方、ステップS31で“YES”であれば、ステップS33で、タッチ数K1に対応するページとタッチ数K2に対応するページを集約し、ディスプレイ22に表示して、ステップS1に戻る。
なお、第3実施例では、二つのグループG1およびG2が次第に近づいているか、遠ざかっているかに応じて、集約される複数のページが異なるため、集約する複数のページに対応する集約ページデータ304eは、ステップS21で“YES”またはステップS31で“YES”となったときに、タッチ数K1およびK2に基づいてRAM304に記憶される。
第3実施例においても、第1実施例と同様に、集約操作を行うときにディスプレイ22に表示されているページに関係なく、直感的な操作で、所望の二つのページを一ページに簡単に集約してディスプレイ22に表示することができる。
また、第3実施例では、集約操作において左手または右手或いは両手をスライドさせる向きに応じて、所望の二つのページまたは所望の三つ以上の連続するページを一ページに集約することができるので、利便性が高い。
[第4実施例]
第4実施例では、タッチ数で指定できないページについてもさらに集約可能にした以外は、第1実施例と同じであるため、異なる内容について説明し、重複した内容については、説明を省略する、または、簡単に説明することにする。
図13は、タッチ数によらないで集約するページを指定(選択)し、選択した複数のページを一ページに集約する場合の操作方法を説明するための図解図である。図14は、タッチ数によらないで集約する複数のページを選択する場合にディスプレイ22に表示されるページ選択画面の一例を示す図解図である。
図13に示すように、左手のすべての指でタッチし、この状態が所定時間(たとえば、2〜3秒)継続すると、タッチ数によらないで複数のページを集約する処理(機能)が実行され、図14に示すページ選択画面500がディスプレイ22に表示される。
なお、図13に示す例では、左手でタッチするようにしてあるが、右手でタッチしてもよい。また、ページ選択画面500は、タッチ画面100に代えて表示されてもよいし、タッチ画面100の前面に重ねて表示されてもよい。
図14に示すように、ページ選択画面500は、ページを選択するための複数のアイコン502が表示される。図14では、第1ページ(P1)から第2ページ(P20)までのアイコン502が表示されるが、ページ数が20に満たない場合には、当該ページ数に応じた数のアイコン502が表示される。また、ページ数が20を越える場合には、たとえば、ページ選択画面500のうち、アイコン502が表示される領域(部分)がスクロールされ、第21ページ以降のアイコン502も選択可能にアイコン502が表示される。
たとえば、ページ選択画面500では、アイコン502を一度タッチすると、タッチされたアイコン502に対応するページが選択された状態となり、選択された状態のページに対応するアイコン502がタッチされると、当該アイコン502に対応するページが選択されていない状態に変化される。図14では、アイコン502に対応するページが選択された状態を、当該アイコン502に斜線を付して示してある。後述する他のアイコン504、506、508についても同様である。
また、ページ選択画面500の上部(複数のアイコン502の上方)には、アイコン504、506および508が表示される。アイコン504は、選択された状態の二つのページおよびそれらの間のページを一ページに集約することを選択するために設けられる。したがって、アイコン504がタッチされている状態で、二つのアイコン502がタッチされると、当該二つのアイコン502に対応する二つのページとそれらの間のページが集約する複数のページとして選択されるのである。アイコン506は、選択された状態の複数のページを一ページに集約することを選択するために設けられる。つまり、アイコン504および506は、ページの集約方法を選択するためのアイコンである。
アイコン508は、集約するページの選択および集約方法を決定し、選択されたページを選択された集約方法に従って一ページに集約し、ディスプレイ22に表示するために設けられる。したがって、集約可能な状態になる前においては、アイコン508はタッチできない状態にされる。タッチできない状態とは、アイコン508がたとえばグレーアウト(または、半透明)で表示され、仮にアイコン508がタッチされたとしても、何ら処理が実行されない状態を意味する。また、集約可能な状態とは、少なくとも二つページが選択された状態である。
したがって、図14に示す状態において、アイコン508がタッチされると、図示は省略するが、ページ7(P7)からページ(P14)までの8ページが集約された集約画面がディスプレイ22に表示される。
この第4実施例では、左手または右手のすべての指がタッチされていることを検出するため、タッチ位置の総数Nが5である場合に、五つのタッチ位置が所定距離Rの範囲(所定範囲)内に収まっているかどうかが判断される。具体的には、五つのタッチ位置のうちから一つのタッチ位置を任意に選択し、当該選択した一つのタッチ位置と他の四つのタッチ位置の各々と距離を算出する。そして、算出した距離がすべて所定距離R以内であれば、左手または右手のすべての指でタッチされていることが判断される。
ただし、タッチオンしたときに、左手のタッチ数と右手のタッチ数を合わせると、タッチ位置の総数Nが5であり、五つのタッチ位置が所定距離Rの範囲内に収まっていることもあり得る。したがって、第4実施例では、タッチ位置が変化することなく、五つのタッチ位置が所定距離Rの範囲内に収まっている状態が所定時間以上継続するかどうかを判断するようにしているのである。
したがって、第4実施例では、集約プログラム302fは、第1実施例で示した集約処理に加えて、タッチ位置の総数Nが5であり、タッチ位置が変化することなく、五つのタッチ位置が所定距離Rの範囲内に収まっている状態が所定時間以上継続する場合には、タッチ数によらないで複数のページを選択し、選択した複数のページを一ページに集約する処理が実行される。
図15は第4実施例の編集モードの処理の一部であって、図7および図8に示した編集モードの処理に、タッチ数によらないで複数のページを選択し、選択した複数のページを一ページに集約するための処理を加えたフロー図である。したがって、以下においては、第1実施例と異なる処理について説明することにする。
図15に示すように、CPU12は、図7に示したステップS5で“YES”であれば、つまりタッチ位置の総数Nが3以上であれば、ステップS51で、タッチ位置の総数Nが5であるかどうかを判断する。
ステップS51で“NO”であれば、つまりタッチ位置の総数Nが3、4または6〜9であれば、図7に示したステップS11に進む。一方、ステップS51で“YES”であれば、つまりタッチ位置の総数Nが5であれば、ステップS53で、五つのタッチ位置から基準のタッチ位置を選択し、当該基準のタッチ位置と他のタッチ位置の各々との距離を算出する。
続いて、ステップS55では、五つのタッチ位置が所定距離Rの範囲内に収まっているかどうかを判断する。ステップS55で“NO”であれば、つまり五つのタッチ位置が所定距離Rの範囲内に収まっていない場合には、図7に示したステップS13に進む。一方、ステップS55で“YES”であれば、つまり五つのタッチ位置が所定距離Rの範囲内に収まっている場合には、ステップS57で、タッチ位置の変化があるかどうかを判断する。
ステップS57で“YES”であれば、つまりタッチ位置の変化がある場合には、図7に示したステップS3に戻る。一方、ステップS57で“NO”であれば、つまりタッチ位置の変化が無い場合には、ステップS59で、所定時間(たとえば、2〜3秒)を経過したかどうかを判断する。図示は省略したが、CPU12は、タイマを用いて、ステップS55で“YES”と判断されてから時間のカウントを開始し、ステップS59で、五つのタッチ位置が変化しない状態が所定時間以上継続したかどうかを判断する。
ステップS59で“NO”であれば、つまり所定時間を経過していなければ、そのままステップS57に戻る。一方、ステップS59で“YES”であれば、つまり所定時間を経過すれば、タッチ数によらないで集約するページを選択する処理を実行すると判断し、ステップS61で、図14に示したようなページ選択画面500をディスプレイ22に表示する。
続くステップS63では、決定かどうかを判断する。ここでは、CPU12は、アイコン508がタッチされたかどうかを判断する。ただし、上述したように、少なくとも二つのページが選択された状態でなければ、アイコン508はタッチできない状態であるため、この場合には、ステップS63では“NO”と判断される。
ステップS63で“NO”であれば、つまり決定でなければ、ステップS65で、ユーザの操作に従って、ページ選択または選択解除などの処理を実行して、ステップS61に戻る。ステップS65では、アイコン502がタッチされたことに応じて、当該アイコン502に対応するページが選択された状態にされたり、当該アイコン502に対応するページが選択されていない状態に戻されたりする。また、ステップS65では、アイコン504または506がタッチされたことに応じて、タッチされたアイコン504または506に応じた編集方法が選択された状態にされ、タッチされていないアイコン504または506に応じた編集方法が選択されていない状態にされる。
一方、ステップS63で“YES”であれば、つまり決定されれば、ステップS67で、ページ間選択かどうかを判断する。ここでは、CPU12は、ページ選択画面500において、アイコン504が選択状態であるかどうかを判断する。
ステップS67で“YES”であれば、つまりページ間選択であれば、ステップS69で、選択された二つのページとそれらの間のページを一ページに集約し、ディスプレイ22に表示して、ステップS1に戻る。一方、ステップS67で“NO”であれば、つまり選択ページのみであれば、ステップS71で、選択された複数のページのみを一ページに集約し、ディスプレイ22に表示して、ステップS1に戻る。
第4実施例によれば、タッチ数で指定できないページについては、タッチ数によらないで複数のページを選択し、選択した複数のページを一ページに集約するので、集約されるページが指の本数に限定されることはない。
なお、第4実施例では、左手または右手のすべての指でタッチした状態であり、タッチ位置が変化されない状態が所定時間以上継続した場合に、タッチ数によらないで複数のページを選択し、選択した複数のページを集約する処理を実行するようにしたが、これに限定される必要はない。たとえば、両手のすべての指をタッチした状態であり、タッチ位置が変化されない状態が所定時間以上継続した場合に、タッチ数によらないで集約するページを選択し、選択した複数のページを一ページに集約する処理を実行するようにしてもよい。ただし、両手のすべての指をタッチした場合には、タッチ位置が変化されない状態が所定時間以上継続しなくても、タッチ数によらないで集約するページを選択し、選択した複数のページを一ページに集約する処理を実行してもよい。
また、第4実施例の変形は、第2実施例および第3実施例にも適用することができる。
さらに、第1実施例〜第3実施例では、分類された二つのグループG1およびG2が次第に近づいている場合に、タッチ数K1に対応するページ、タッチ数K2に対応するページおよびそれらの間のページを一ページに集約し、分類された二つのグループG1およびG2が次第に遠ざかる場合に、タッチ数K1に対応するページとタッチ数K2に対応するページとを集約するようにしたが、集約方法は逆であってもよい。
また、上述の各実施例で挙げた画面および具体的な数値等は一例であり、実際の製品に応じて適宜変更することが可能である。また、同じ効果が得られる場合には、フロー図に示した各ステップの順番は適宜変更されてもよい。