(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】入力受付プログラムおよび入力受付システム
(51)【国際特許分類】
G06F 3/04883 20220101AFI20240402BHJP
G06F 3/0485 20220101ALI20240402BHJP
G09G 5/00 20060101ALI20240402BHJP
G09G 5/34 20060101ALI20240402BHJP
G09G 5/377 20060101ALI20240402BHJP
【FI】
G06F3/04883
G06F3/0485
G09G5/00 510H
G09G5/34 E
G09G5/00 530T
G09G5/00 550B
G09G5/377 100
(21)【出願番号】P 2020145630
(22)【出願日】2020-08-31
【審査請求日】2023-05-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】秋山 勝彦
【審査官】星野 裕
(56)【参考文献】
【文献】特開2020-009256(JP,A)
【文献】特開2006-150039(JP,A)
【文献】特開2014-096074(JP,A)
【文献】特開2017-126243(JP,A)
【文献】特開平01-072293(JP,A)
【文献】特開2012-168620(JP,A)
【文献】特開2014-006671(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G09G 5/00
G09G 5/34
G09G 5/377
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
タッチ操作を受け付けた座標を検出する座標検出装置に対するドラッグ操作を受け付けた場合に、前記ドラッグ操作の軌跡に応じて、表示装置に表示されている画面をスクロールさせ、
前記スクロール中に受け付ける前記軌跡の情報を記憶装置に記憶し、
前記軌跡
の情報に基づいて、前記軌跡の始点の数または終点の数のうち少なくとも一方の数と、前記軌跡の屈折点の数とを計数し、
計数した前記始点の数または前記終点の数のうち少なくとも一方の数と、前記屈折点の数とに基づいて算出された値に応じて手書き入力であるか否かを判定し、
手書き入力であると判定した場合、前記スクロールを開始した時点の画面に表示を戻し、
前記記憶装置に記憶した前記軌跡の情報を用いて、前記軌跡を表示する
処理を実行させることを特徴とする入力受付プログラム。
【請求項2】
前記軌跡を表示する処理は、前記ドラッグ操作を受け付けた時点から前記軌跡の表示を開始することを特徴とする請求項1に記載の入力受付プログラム。
【請求項3】
前記ドラッグ操作の受け付けが中断した時点から所定時間経過しても次のドラッグ操作が再開されない場合に、前記記憶装置に記憶した前記軌跡の情報を消去する処理をさらに実行させることを特徴とする請求項1または2に記載の入力受付プログラム。
【請求項4】
前記軌跡に発生した終点、始点または屈曲点の数を計数し、計数した数を前記ドラッグ操作の時間で除算した値が閾値以上である場合に、前記スクロールを開始した時点の画面に表示を戻し、前記記憶装置に記憶した前記軌跡の情報を用いて、前記軌跡を表示することを特徴とする請求項1、2または3に記載の入力受付プログラム。
【請求項5】
前記スクロール中に受け付ける前記軌跡を薄く画面に重畳表示する処理をさらに実行させることを特徴とする請求項1~4のいずれか一つに記載の入力受付プログラム。
【請求項6】
前記スクロールの開示時点の画面を薄く画面に重畳表示する処理を更に実行することを特徴とする請求項5に記載の入力受付プログラム。
【請求項7】
タッチ操作を受け付けた座標を検出する座標検出装置と、情報処理装置から出力される画面の情報を表示する表示装置と、前記情報処理装置とを有する入力受付システムであって、
前記情報処理装置は、
前記座標検出装置に対するドラッグ操作を受け付けた場合に、前記ドラッグ操作の軌跡に応じて、表示装置に表示されている画面をスクロールさせる画面制御部と、
前記スクロール中に受け付ける前記軌跡の情報を記憶部に記憶する軌跡登録処理部とを有し、
前記画面制御部は、前記軌跡
の情報に基づいて、前記軌跡の始点の数または終点の数のうち少なくとも一方の数と、前記軌跡の屈折点の数とを計数し、計数した前記始点の数または前記終点の数のうち少なくとも一方の数と、前記屈折点の数とに基づいて算出された値に応じて手書き入力であるか否かを判定し、手書き入力であると判定した場合、前記スクロールを開始した時点の画面に表示を戻し、前記記憶部に記憶された前記軌跡の情報を用いて、前記軌跡を表示する
ことを特徴とする入力受付システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力受付プログラム等に関する。
【背景技術】
【0002】
会議や授業等において、複数人による情報共有やディスカッションを行う場合に、電子白板システムが用いられる。電子白板システムでは、利用者は、論理的に大きな画面(スクリーン)をスクロールさせながら、注釈等を手書き入力している。電子白板システムで、スクロール操作と、手書き入力とを切り替える技術として下記のような従来技術がある。
【0003】
たとえば、従来技術1では、電子白板の画面の一部にグリップ領域を設けておき、かかるグリップ領域に対する操作を受け付けた場合に、画面をスクロールさせ、グリップ領域以外の領域で入力を受け付けた場合に、手書き入力として、入力軌跡を表示させる。
【0004】
また、句読点等の所定の形状の手書き入力を受け付けた場合に、自動で画面をスクロールさせる従来技術2等もある。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2012/108350号
【文献】特開2010-176190号公報
【文献】特開2012-168620号公報
【文献】特開2016-162032号公報
【文献】特開平3-278286号公報
【文献】特開2018-152129号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来技術では、利用者が特別な指示を行うことなく、手書き入力とスクロール操作との双方を使い分けることができないという問題がある。
【0007】
たとえば、従来技術1では、グリップ領域以外において、スクロール操作を行うことができず、利便性に欠ける。また、従来技術2では、所定の形状の手書き入力を行わないと、自動でスクロールされない。
【0008】
電子白板システムを利用する場合には、電子白板上のどこでもスクロールできる利便性を保ちつつ、煩わしい手間なしで手書き入力を行うことが望ましい。また、かかる課題は、電子白板システムに限らず、手書き入力、スクロール操作を実行可能なタッチパネルの機能を有するタブレットやPC(Personal Computer)でも発生し得る課題である。
【0009】
1つの側面では、本発明は、利用者が特別な指示を行うことなく、手書き入力とスクロール操作との双方を使い分けることができる入力受付プログラムおよび入力受付システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、タッチ操作を受け付けた座標を検出する座標検出装置に対するドラッグ操作を受け付けた場合に、ドラッグ操作の軌跡に応じて、表示装置に表示されている画面をスクロールさせる。コンピュータは、スクロール中に受け付ける軌跡の情報を記憶装置に記憶する。コンピュータは、軌跡に、所定数以上の終点、始点または屈曲点が発生したと判定した場合に、スクロールを開始した時点の画面に表示を戻し、記憶装置に記憶した軌跡の情報を用いて、軌跡を表示する。
【発明の効果】
【0011】
利用者が特別な指示を行うことなく、手書き入力とスクロール操作の双方を使い分けることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本実施例に係る入力受付システムの処理を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図3】
図3は、軌跡情報テーブルのデータ構造の一例を示す図である。
【
図4】
図4は、判定部が実行する計数処理を示すフローチャートである。
【
図5】
図5は、入力受付システムの処理手順を示すフローチャート(1)である。
【
図6】
図6は、入力受付システムの処理手順を示すフローチャート(2)である。
【
図7】
図7は、入力受付システムの処理手順を示すフローチャート(3)である。
【
図8】
図8は、入力受付システムの処理手順を示すフローチャート(4)である。
【
図9】
図9は、入力受付システムの処理手順を示すフローチャート(5)である。
【
図10】
図10は、入力受付システムの処理手順を示すフローチャート(6)である。
【
図11】
図11は、その他の計数処理の処理手順を示すフローチャートである。
【
図12】
図12は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する入力受付プログラムおよび入力受付システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【0014】
図1は、本実施例に係る入力受付システムの処理を説明するための図である。本実施例では、ポインティングデバイスの一例として、タッチパネル110と、スタイラスペン50とを用いて説明を行う。タッチパネル110は、情報処理装置に接続され、情報処理装置から出力される画面情報を表示する。たとえば、画面情報には、複数のオブジェクト10a,10bが含まれる。タッチパネル110は、スタイラスペン50によるタッチ操作を受け付けた場合に、タッチ操作に関する情報を、情報処理装置に出力する。タッチ操作に関する情報には、タッチ操作による入力座標の情報等が含まれる。利用者は、スタイラスペン50を操作して、各種のタッチ操作を行う。
【0015】
情報処理装置は、タッチパネル110に対するドラッグ操作(タッチ操作)が行われると、ドラッグ操作の軌跡に応じて、タッチパネル110の画面をスクロールさせる。情報処理装置は、スクロール中に受け付ける軌跡の情報と、スクロール開始時からの画面の移動情報とを記憶部に記憶しておく。
【0016】
情報処理装置は、軌跡に所定数以上の終点、始点または屈曲点が発生したと判定した場合に、タッチパネル110の画面を、スクロールを開始した時点の画面に表示を戻す。また、情報処理装置は、記憶部に記憶した軌跡の情報を用いて、軌跡(手書き文字に相当する軌跡)をタッチパネル110に表示する。
【0017】
一方、情報処理装置は、軌跡に所定数以上の終点、始点または屈曲が発生していない場合には、タッチパネル110に表示している画面をそのままにし、軌跡をタッチパネル110に表示しない。
【0018】
図1のステップS10について説明する。情報処理装置は、タッチパネル110に対するドラッグ操作を受け付けると、軌跡50aに応じて、タッチパネル110の画面をスクロールさせる。これによって、タッチパネル110に表示されるオブジェクト10a,10bが、下方向に移動する。情報処理装置は、スクロール開始前からの画面の移動情報として、座標(x
a1,y
a1)を記憶部に記憶する。これは、スクロール開始前の基準点の座標が、スクロール操作によって、座標(x
a1,y
a1)まで移動したことを意味する。たとえば、情報処理装置は、スクロール開始前の基準点を、画面の左上隅(原点)とする。情報処理装置は、軌跡50aについて、所定数以上の始点、終点または屈曲点が発生していないため、タッチパネル110の画面をそのままとする。
【0019】
情報処理装置は、所定時間、タッチ操作(ドラッグ操作)を受け付けない場合に、記憶部に記憶された移動量の情報となる座標(xa1,ya1)を消去する。
【0020】
図1のステップS11について説明する。情報処理装置は、タッチパネル110に対するドラッグ操作を受け付けると、軌跡50bに応じて、タッチパネル110の画面を細かくスクロールさせる。これによって、タッチパネル110に表示されるオブジェクト10a,10bが、細かく移動する。
【0021】
情報処理装置は、スクロール開始時からの画面の移動情報を、記憶部に記憶しておく。情報処理装置は、軌跡50bについて、所定数以上の始点、終点または屈曲点が発生していないため、タッチパネル110の画面をそのままとする。情報処理装置は、軌跡50bの情報を、記憶部に記憶する。
【0022】
図1のステップS12について説明する。情報処理装置は、タッチパネル110に対するドラッグ操作を受け付けると、軌跡50cに応じて、タッチパネル110の画面を細かくスクロールさせる。これによって、タッチパネル110に表示されるオブジェクト10a,10bが、細かく移動する。情報処理装置は、軌跡50cについて、所定数以上の始点、終点または屈曲点が発生していないため、タッチパネル110の画面をそのままとする。情報処理装置は、軌跡50cの情報を、記憶部に記憶する。情報処理装置は、記憶部に記憶した、スクロール開始時からの画面の移動情報を更新する。
【0023】
図1のステップS13について説明する。情報処理装置は、タッチパネル110に対するドラッグ操作を受け付けると、軌跡50dに応じて、タッチパネル110の画面を細かくスクロールさせる。これによって、タッチパネル110に表示されるオブジェクト10a,10bが、細かく移動する。情報処理装置は、軌跡50dの情報を、記憶部に記憶する。また、スクロール開始前の基準点に相当する座標が、ステップS11~S13のスクロール操作によって、座標(x
a2,y
a2)まで移動している場合には、移動情報として、座標(x
a2,y
a2)が、記憶部に記憶される。ここで、情報処理装置は、軌跡50dについて、所定数以上の始点、終点または屈曲点が発生すると、ステップS14に示す処理を実行する。
【0024】
図1のステップS14について説明する。情報処理装置は、軌跡50dに所定数以上の終点、始点または屈曲点が発生したと判定した場合に、スクロールを開始した時点の画面に表示を戻し、記憶部に記憶した軌跡50dの情報を用いて、軌跡50dをタッチパネル110に表示する。たとえば、情報処理装置は、移動情報として、座標(x
a2,y
a2)が記憶部に記憶されている場合には、画像の各座標を、(-x
a2,-y
a2)だけそれぞれ移動させることで、スクロールを開始した時点の画面に表示を戻す。
【0025】
図1で説明したように、本実施例に係る情報処理装置によれば、ドラッグ操作に応じて画面をスクロールさせる。情報処理装置は、ドラッグ操作の軌跡の終点、始点または屈曲点に基づいて、手書き入力であると判定した時点において、スクロールの位置を開始位置に戻し、入力軌跡の文字を表示させる。これによって、利用者が特別な指示を行うことなく、手書き入力とスクロール操作との双方を使い分けることができる。
【0026】
次に、本実施例に係る情報処理装置の構成の一例について説明する。情報処理装置は、「入力受付システム」の一例である。
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、この情報処理装置100は、タッチパネル110に接続される。情報処理装置100は、通信部120と、記憶部140と、制御部150とを有する。ここでは、情報処理装置100と、タッチパネル110とが、外部接続されている場合について説明するが、情報処理装置100は、タッチパネル110を有していてもよい。
【0027】
タッチパネル110は、情報処理装置100に接続され、情報処理装置100から出力される画面情報を表示する。タッチパネル110は、スタイラスペン50等によるタッチ操作を受け付けた場合に、タッチ操作(ドラッグ操作)に関する情報を、情報処理装置100に出力する。タッチ操作に関する情報には、タッチ操作された入力座標の情報等が含まれる。タッチパネル110は、座標検出装置および表示装置に対応する。
【0028】
通信部120は、有線又は無線で外部装置等に接続され、外部装置等との間で情報の送受信を行う。たとえば、通信部120は、NIC(Network Interface Card)等によって実現される。通信部120は、図示しないネットワークに接続されていてもよい。
【0029】
タイマ130は、現在の日時情報を、制御部150に出力するタイマである。
【0030】
記憶部140は、画面情報141、軌跡情報テーブル142、移動情報143を有する。記憶部140は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0031】
画面情報141は、タッチパネル110に表示させる画面の情報である。画面情報141には、
図1で説明したオブジェクト10a,10bの画像が含まれる。たとえば、画面情報141の論理的な大きさは、タッチパネル110の表示画面の大きさよりも大きいものとする。
【0032】
軌跡情報テーブル142は、タッチ操作(ドラッグ操作)による軌跡の情報を保持するテーブルである。たとえば、軌跡情報テーブル142は、タッチ操作による一定時間毎の入力座標の情報を保持する。
図3は、軌跡情報テーブルのデータ構造の一例を示す図である。
図3に示すように、この軌跡情報テーブル142は、入力時刻と、入力座標とを対応付ける。入力時刻は、タッチ操作による入力を受け付けた時刻を示す。入力座標は、タッチ操作による入力を受け付けたタッチパネル110上の座標を示す。
【0033】
移動情報143は、スクロール操作を開始した時点から現時点までの画面の移動に関する情報を含む。移動情報は、基準点の座標によって示される。たとえば、移動情報として、基準点の座標(xd,yd)が登録されている場合には、スクロール操作を開始した時点の左上隅の基準点が、座標(xd,yd)まで移動したことを意味する。
【0034】
図2の説明に戻る。制御部150は、入力受付部151、軌跡登録処理部152、移動情報登録部153、判定部154、状態リセット部155、画面制御部156を有する。制御部150は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実現される。また、制御部150は、例えばASIC(Application specific Integrated Circuit)やFPGA(Field Programmable gate Array)等の集積回路により実行されてもよい。
【0035】
入力受付部151は、タッチパネル110から、タッチ操作による入力座標の情報を受け付ける処理部である。入力受付部151は、受け付けた入力座標の情報を、軌跡登録処理部152、状態リセット部155、画面制御部156に出力する。
【0036】
軌跡登録処理部152は、入力受付部151からタッチ操作による軌跡の情報を取得し、軌跡の情報を軌跡情報テーブル142に登録する処理部である。たとえば、軌跡登録処理部152は、入力受付部151から入力座標を取得し、取得した時刻(入力時刻)と、入力座標とを対応付けて、軌跡情報テーブル142に登録する。軌跡登録処理部152は、入力時刻を、タイマ130から取得する。
【0037】
移動情報登録部153は、スクロール操作を開始した時点において、タッチパネル110の表示画面の左上隅に相当する位置に、基準点を設定する。スクロール操作の開始時点において、基準点の座標を(0,0)とする。移動情報登録部153は、後述する画面制御部156による画面をスクロールする操作によって、基準点の座標が(xB,yB)に移動した場合には、移動先の基準点の座標(xB,yB)を、移動情報143に登録する。タッチパネル110の画面情報の座標を(-xB,-yB)だけ移動させることで、スクロール操作の開始時点の表示画面に戻る。
【0038】
本実施例では、スクロール操作を開始した時点の基準点を、タッチパネル110の表示画面の左上隅に設定する場合について説明したがこれに限定されるものではない。たとえば、移動情報登録部153は、スクロール操作を開始した時点におけるオブジェクトの中心位置を、基準点に設定してもよい。
【0039】
判定部154は、軌跡情報テーブル142に登録された軌跡の情報を基にして、現在のタッチ操作(ドラッグ操作)が、手書き入力であるか否かを判定する処理部である。判定部154は、判定結果を、画面制御部156に出力する。以下に説明するように、判定部154は、計数処理と、判定処理を実行する。また、判定部154は、タップ入力を判定する処理、手書き入力の終了を判定する処理も実行する。
【0040】
判定部154が実行する計数処理について説明する。判定部154は、計数処理によって、軌跡の形状の屈曲点の数を計数する。計数処理では、軌跡の始点、終点を無視し、一つのつながりの軌跡として、屈曲点を計数する。たとえば、タッチパネル110からのタッチ操作に関する情報に基づいて、直線状の軌跡が「=」の形に平行に入力された場合、判定部154は、屈曲点の数を「2」とする。この屈曲点の内訳は、一本目のドラッグ操作の終点で一つ、二本目のドラッグ操作の始点でもう一つとなる。
【0041】
図4は、判定部が実行する計数処理を示すフローチャートである。
図4に示すように、判定部154は、軌跡情報テーブル142を参照し、軌跡を構成する点(入力座標)の中で、時間的に隣り合う点のなす距離と角度を算出する(ステップS50)。
【0042】
判定部154は、軌跡の先頭から辿って点の間の距離を足していき、距離が一定以上になるまで点を追跡する(ステップS51)。判定部154は、距離が一定以上となったところで区切り、区切りの最初の点と、最後の点との間のなす角度を算出する(ステップS52)。
【0043】
判定部154は、区切りの最後の点からまた点の間の距離を足していき、距離が一定以上となるまで点を追跡する(ステップS53)。判定部154は、前の区切りの区間の角度と、現在の区切りの角度とを比較する(ステップS54)。判定部154は、角度差が一定角度以上である場合に、屈曲数をカウントアップする(ステップS55)。
【0044】
判定部154は、軌跡情報テーブル142に残りの点がある場合には(ステップS56,Yes)、ステップS53に移行する。一方、判定部154は、軌跡情報テーブル142に残りの点がない場合には(ステップS56,No)、処理を終了する。
【0045】
ここでは、
図4を用いて、判定部154が屈曲点を計数する処理について説明したが、どのような従来技術を用いて軌跡の屈曲点を計数してもよい。
【0046】
判定部154が実行する判定処理について説明する。判定部154は、軌跡情報テーブル142に記憶された軌跡の情報について、屈曲点の数、始点または終点の数を特定し、軌跡の入力に要した時間で除算することで、評価値を算出する。たとえば、判定部154は、式(1)に基づいて、評価値Rを算出する。
【0047】
R=(α×Nc+β×Nd)/T・・・(1)
【0048】
式(1)において、Ncは、上記の計数処理によって計数される屈曲点の数に対応する。Ndは、始点の数に対応する。α、βは、あらかじめ設定される定数である。ここでは、Ndを、始点の数としているが、これに限定されるものではなく、終点の数としてもよいし、始点の数と終点の数とを合計した数であってもよい。ここで、始点とは、スタイラスペン50が押下された点であり、終点とは、スタイラスペン50が離れた点である。
【0049】
判定部154は、軌跡情報テーブル142を参照し、軌跡情報テーブル142の最初の入力座標を、始点としてカウントする。判定部154は、前後の入力時刻の差分を算出し、差分が所定の閾値以上となる場合に、スタイラスペン50が離れたと判定する。たとえば、判定部154は、時刻tnと、時刻tn+1との差分が閾値以上となる場合、時刻tnにおいて、スタイラスペン50が離れたと判定し、時刻tnの入力座標を、終点の入力座標と判定する。判定部154は、時刻tn+1の入力座標を、始点の入力座標と判定する。判定部154は、他の周知技術によって、始点、終点を判定し、始点の数、終点の数を計数してもよい。
【0050】
式(1)において、Tは、軌跡の入力時間に対応する。たとえば、判定部154は、軌跡情報テーブル142に登録された最後の入力時刻から、最初の入力時刻を減算することで、軌跡の入力時間Tを算出する。
【0051】
判定部154は、評価値Rが、あらかじめ設定される閾値Rtよりも大きい場合に、現在のドラッグ操作が、手書き入力であると判定する。判定部154は、判定結果を、画面制御部156に出力する。
【0052】
判定部154が、タップ入力を判定する処理について説明する。タップ入力とは、押下してほとんどドラッグせずに離す操作である。
【0053】
判定部154は、軌跡情報テーブル142を基にして、タッチ操作による入力点が終点の場合に、第1時間の計測を開始し、次のタッチ操作による始点の入力を受け付けるまで、第1時間の計測を継続する。判定部154は、第1時間がT1秒となる前にタップ入力があったか否かを判定し、第1時間がT1秒となる前にタップ入力が入った場合には、手書き入力モードに切り替えることを判定する。判定部154は、軌跡がタップ入力であると判定した場合には、タップ入力を受け付けた旨の情報を、画面制御部156に出力する。
【0054】
判定部154が手書き入力の終了を判定する処理について説明する。たとえば、判定部154は、現在のドラッグ操作が、手書き入力であると判定した後、タッチ操作による入力点が終点の場合に、第2時間の計測を開始する。判定部154は、終点に対応するタッチ操作から、次のタッチ操作による始点の入力を受け付けるまで、第2時間の計測を継続する。判定部154は、第2時間が、所定時間T2以上の場合には、手書き入力が終了したと判定する。判定部154は、手書き入力が終了したと判定した場合には、手書き入力が終了した旨の情報を、画面制御部156に出力する。
【0055】
図2の説明に戻る。状態リセット部155は、軌跡情報テーブル142を参照し、タッチパネル110に対する最後のタッチ操作が行われた後に、一定時間、次のタッチ操作が行われない場合に、軌跡情報テーブル142の情報を消去する処理部である。たとえば、状態リセット部155は、1秒間、次のタッチ操作が行われない場合に、軌跡情報テーブル142の情報を消去する。ここでは、消去を判定する場合の時間を1秒間としたが、0.5~1秒の間で適宜調整してもよい。
【0056】
また、状態リセット部155は、後述する画面制御部156によって、軌跡情報テーブル142に記憶された軌跡の情報が読み出され、タッチパネル110に軌跡が表示された場合に、軌跡情報テーブル142の情報を消去する。
【0057】
画面制御部156は、画面情報141をタッチパネル110に表示させ、ドラッグ操作に応じて、画面のスクロールや、手書き入力の軌跡の表示を行う処理部である。画面制御部156の処理は、
図1のステップS10~S14で説明した処理に対応する。以下において、画面表示部156の処理の一例について説明する。
【0058】
画面制御部156は、画面情報141をタッチパネル110に出力して、画面情報141を、タッチパネル110に表示させる。画面制御部156は、入力受付部151からタッチ操作による入力座標の情報を受け付け、入力座標の軌跡に合わせて、画面情報141をスクロールさせる制御命令を、タッチパネル110に出力する。かかる処理は、画面制御部156によるドラッグスクロールの処理となる。
【0059】
画面制御部156は、判定部154から、手書き入力である旨の判定結果を取得した場合には、タッチパネル110の画面を、スクロール開始時点の画面に戻す処理を実行する。画面制御部156は、移動情報143を参照して、基準点の座標を取得し、基準点が移動した分だけ、画面情報の表示位置を基に戻す。たとえば、移動情報143に登録された基準点の座標が(xB1,yB1)である場合には、タッチパネル110に、画面情報の各画素の座標を(-xB1,-yB1)だけ移動させる制御信号を、タッチパネル110に出力する。
【0060】
続いて、画面制御部156は、軌跡情報テーブル142を参照し、入力座標をつなげた軌跡の情報(手書き文字に対応する情報)を、タッチパネル110に出力して表示させる。軌跡情報テーブル142に記憶された軌跡の情報を、タッチパネル110に出力して表示する処理は、画面制御部156による手書き入力の処理となる。
【0061】
ところで、画面制御部156は、判定部154から、タップ入力を受け付けた旨の情報を取得した場合には、タッチパネル110の画面を、スクロール開始時点の画面に戻す処理を実行する。画面制御部156は、移動情報143を参照して、基準点の座標を取得し、基準点が移動した分だけ、画面情報の表示位置を基に戻す。そして、画面制御部156は、軌跡情報テーブル142の記憶された軌跡の情報を、タッチパネル110に表示させる。たとえば、アンダーラインを引いた後に、一定時間内にタップ入力を行うことで、スクロールを元に戻しつつ、軌跡情報テーブル142に記憶しておいた軌跡の情報を手書き入力として表示しなおすことができる。この場合、画面制御部156は、切り替えに用いられたタップ入力を、手書き入力として認識せず、タッチパネル110に表示しないものとする。
【0062】
また、画面制御部156は、タップ入力を受け付けてから一定時間をあけて、手書き入力の処理に移行してもよい。画面制御部156は、タップ入力を受け付けてから、一定時間内にタッチ操作を受け付けた場合には、上記の軌跡登録処理部152によって、タップ入力も含めて、軌跡の情報が、軌跡情報テーブル142に登録される。かかる処理を実行することで、文字の中に現れる句読点の入力等が意図に反して手書き入力切り替えへのタップ入力に判定されてしまうことを抑止する。
【0063】
画面制御部156は、タップ入力の前後の一定時間内にタッチ操作を受け付けない場合に、手書き入力の処理に移行する。画面制御部156は、手書き入力の処理に移行した場合には、スクロール操作を実行しない。画面制御部156は、手書き入力モードに移行すると、入力受付部151からタッチ操作による入力座標の情報を受け付けた場合に、入力座標をつなげた軌跡の情報を、タッチパネル110に表示させる。
【0064】
画面制御部156は、判定部154から、手書き入力が終了した旨の情報を受け付けた場合には、上記のドラッグスクロールの処理に移行する。
【0065】
次に、本実施例に係る入力受付システムの処理手順の一例について説明する。
図5~
図10は、入力受付システムの処理手順を示すフローチャートである。
図5について説明する。情報処理装置100は、タッチパネル110から、タッチ操作による入力座標を受け付ける(ステップS101)。情報処理装置100の画面制御部156は、手書き入力モードであるか否かを判定する(ステップS102)。
【0066】
画面制御部156は、現在のモードが手書き入力モードである場合には(ステップS102,Yes)、手書き入力の処理を実行し(ステップS103)、
図8のステップS120の処理に移行する。
【0067】
画面制御部156は、現在のモードが手書き入力モードでない場合には(ステップS102,No)、ステップS104に移行する。情報処理装置100の軌跡登録処理部152は、入力座標を軌跡情報テーブル142に登録する(ステップS104)。
【0068】
情報処理装置100の判定部154は、軌跡情報テーブル142を基にして、屈曲点の数を計数する(ステップS105)。
図5のステップS105の処理は、
図4で説明した処理手順に対応する。
【0069】
判定部154は、軌跡情報テーブル142を基にして、始点の数Ndを計数する(ステップS106)。判定部154は、式(1)を基にして評価値Rを算出(ステップS107)、
図6のステップS108に移行する。
【0070】
図6の説明に移行する。判定部154は、評価値Rが、閾値Rt以上となるか否かを判定する(ステップS108)。判定部154は、評価値Rが、閾値Rt以上となる場合には(ステップS108,Yes)、ドラッグ操作が手書き入力であると判定する(ステップS109)。
【0071】
画面制御部156は、移動情報143を基にして、表示位置をスクロール開始時点の位置に戻す(ステップS110)。画面制御部156は、現在のモードを手書き入力モードに変更する(ステップS111)。画面制御部156は、軌跡情報テーブル142に記憶された軌跡の情報を読み出して、タッチパネル110に表示させる(ステップS112)。情報処理装置100の状態リセット部155は、軌跡情報テーブル142に記憶されている軌跡の情報を消去する(ステップS113)。
【0072】
ところで、判定部154は、評価値Rが、閾値Rt以上とならない場合には(ステップS108,No)、ドラッグ操作が手書き入力でないと判定する(ステップS114)。画面制御部156は、ドラッグスクロールの処理を実行し(ステップS115)、
図7のステップS116に移行する。
【0073】
図7の説明に移行する。判定部154は、タッチ操作による入力点が始点か否かを判定する(ステップS116)。判定部154は、タッチ操作による入力点が始点の場合には(ステップS116,Yes)、第1時間の計測を停止する(ステップS117)。
【0074】
一方、判定部154は、タッチ操作による入力点が始点でない場合には(ステップS16,No)、タッチ操作による入力点が終点であるか否かを判定する(ステップS118)。判定部154は、タッチ操作による入力点が終点である場合には(ステップS118,Yes)、第1時間の計測を開始する(ステップS119)。
【0075】
一方、判定部154は、タッチ操作による入力点が終点でない場合には(ステップS118,No)、処理を終了する。
【0076】
図8の説明に移行する。判定部154は、タッチ操作による入力点が始点か否かを判定する(ステップS120)。判定部154は、タッチ操作による入力点が始点の場合には(ステップS120,Yes)、第2時間の計測を停止する(ステップS121)。
【0077】
一方、判定部154は、タッチ操作による入力点が始点でない場合には(ステップS120,No)、タッチ操作による入力点が終点であるか否かを判定する(ステップS122)。判定部154は、タッチ操作による入力点が終点である場合には(ステップS122,Yes)、第1時間の計測を開始する(ステップS123)。
【0078】
一方、判定部154は、タッチ操作による入力点が終点でない場合には(ステップS122,No)、処理を終了する。
【0079】
図9の説明に移行する。情報処理装置100の判定部154は、第1時間がT1秒となる前にタップ入力を受け付けたか否かを判定する(ステップS201)。判定部154によって、第1時間がT1となる前にタップ入力を受け付けていない場合には(ステップS201,No)、情報処理装置100の移動情報登録部153は、基準点の位置を初期化する(ステップS202)。
【0080】
情報処理装置100の状態リセット部155は、軌跡情報テーブル142から軌跡の情報を消去する(ステップS203)。
【0081】
一方、判定部154は、第1時間がT1秒となる前にタップ入力を受け付けた場合には(ステップS201,Yes)、タップ入力を受け付けたと判定し、手書き入力モードに切り替える(ステップS204)。
【0082】
図10の説明に移行する。情報処理装置100の判定部154は、第2時間がT2以上となったか否かを判定する(ステップS301)。判定部154によって、第2時間がT2以上と判定された場合には(ステップS301,Yes)、画面制御部156は、ドラッグスクロールの処理に移行する(ステップS302)。
【0083】
一方、判定部154によって、第2時間がT2以上でないと判定された場合には(ステップS301,No)、画面制御部156は、手書き入力の処理を継続する(ステップS303)。
【0084】
次に、本実施例に係る入力受付システムの効果について説明する。入力受付システムでは、情報処理装置100は、ドラッグ操作に応じて画面をスクロールさせる。情報処理装置100は、ドラッグ操作の軌跡の終点、始点または屈曲点に基づいて、手書き入力であると判定した時点において、スクロールの位置を開始位置に戻し、入力軌跡の文字を表示させる。これによって、利用者が特別な指示を行うことなく、手書き入力とスクロール操作との双方を使い分けることができる。
【0085】
情報処理装置は100、タッチパネル110に対する最後のタッチ操作が行われた後に、一定時間、次のタッチ操作が行われない場合に、軌跡情報テーブル142の情報を消去する。これによって、利用者のドラッグ操作がスクロールであった場合に、スクロール操作に伴う手書き入力ではない軌跡を消去することができる。
【0086】
情報処理装置100は、軌跡に発生した終点、始点または屈曲点の数を計数し、計数した数をドラッグ操作の時間で除算した値が閾値以上である場合に、スクロールを開始した時点の画面に表示を戻し、記憶装置に記憶した軌跡の情報を用いて、軌跡を表示する。これによって、手書き入力を精度よく判定して、スクロールの処理から手書き入力の処理に移行することができる。
【0087】
ところで、上述した実施例は一例であり、情報処理装置100は、その他の処理を実行してもよい。以下において、情報処理装置100が実行するその他の処理について説明する。
【0088】
情報処理装置100の判定部154が実行する計数処理の一例として、
図4を用いて説明したが、例えば、
図11に示す処理手順によって、計数処理を実行してもよい。
図11は、その他の計数処理の処理手順を示すフローチャートである。
図11に示すように、情報処理装置100の判定部154は、軌跡情報テーブル142を参照し、軌跡を構成する点(入力座標)の中で、最初の点と最後の点を結ぶ直線Lから各点までの距離をすべて算出する(ステップS60)。
【0089】
判定部154は、直線Lから最も遠い位置にある点Pを抽出する(ステップS61)。判定部154は、直線Lと点Pとの距離が閾値Dを超えている場合に、点Pの前後で座標列を2分割する(ステップS62)。判定部154は、直線Lをさらに分割可能であるか否かを判定する(ステップS63)。
【0090】
判定部154は、直線Lをさらに分割可能である場合には(ステップS63,Yes)、分割した各直線Lについて、直線Lから各点までの距離をそれぞれ算出し(ステップS64)、ステップS61に移行する。
【0091】
判定部154は、直線Lをさらに分割可能でない場合には(ステップS63,No)、分割区間のそれぞれで最初の点と最後の点との角度を算出する(ステップS65)。判定部154は、前後の分割区間で角度差を求め、角度差が所定の角度以上となる部分を屈曲点とし、屈曲点の数を計数する(ステップS66)。
【0092】
なお、判定部154は、
図11で示した処理手順によって、屈曲点の数を計数してもよい。
【0093】
情報処理装置100の画面制御部156は、ドラッグスクロールの処理を実行している間でも、ドラッグ操作で入力された軌跡を一定時間、通常の濃度よりも薄く、タッチパネル110に表示してもよい。通常の濃度とは、画面制御部156が、手書き入力の処理を行う場合の軌跡の濃度に対応する。利用者が手書き入力のつもりで、ドラッグ操作を行っている場合、手書き入力と判定されるまでタイムラグがある。しばらくドラッグスクロールが発生するが、画面制御部156が、一定期間、軌跡をタッチパネル110に表示することで、手書き入力の軌跡を確認できる。画面制御部156は、時間経過とともに、タッチパネル110に表示した軌跡を徐々に薄くしていき、最終的に軌跡を表示させないように軌跡の表示を制御してもよい。
【0094】
画面制御部156は、ドラッグスクロールの処理から、手書き入力の処理に移行する場合に、スクロール開始時点の画面に戻す処理を実行しているが、画面を戻す前に、戻す前の画面に、戻した後の画面を薄く重畳表示させてもよい。利用者が手書き入力のつもりで、ドラッグ操作を行っている場合、手書き入力と判定されるまでタイムラグがある。しばらくドラッグスクロールが発生するが、利用者は画面に表示された内容に対して注釈を入力している場合、画面の内容と、筆跡との位置関係が重要になってくる。手書き入力と判定された場合に戻される画面を重畳表示させておくことで、利用者は、画面が元に戻る前であっても、画面の内容と、筆跡との位置関係を正しく把握することができる。
【0095】
本実施例では、座標検知装置、表示装置の一例として、タッチパネル110を用いて説明したが、これに限定されるものではない。情報処理装置100は、タッチ操作の座標を検出する座標検出装置、制御部150からの画像を表示する表示装置にそれぞれ接続されていてもよい。表示装置は、電子白板等であってもよい。
【0096】
画面制御部156は、軌跡を薄く重畳表示することの他に、スクロール開始時点の画面を薄く重畳表示してもよい。この構成により、例えば下に表示されている文書に丸を書こうとしたとき、スクロール前の画面も薄く表示しているのでどこに丸を書いているのかが筆記中わかりやすくなる。
【0097】
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図12は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0098】
図12に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからタッチ操作を受け付け、画像を表示するタッチパネル202とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置203と、インタフェース装置204とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM205と、ハードディスク装置206とを有する。そして、各装置201~206は、バス207に接続される。
【0099】
ハードディスク装置206は、入力受付プログラム206a、軌跡登録処理プログラム206b、移動情報登録プログラム206c、判定プログラム206d、状態リセットプログラム206e、画面制御プログラム206fを有する。また、CPU201は、各プログラム206a~206fを読み出してRAM205に展開する。
【0100】
入力受付プログラム206aは、入力受付プロセス205aとして機能する。軌跡登録処理プログラム206bは、軌跡登録処理プロセス205bとして機能する。移動情報登録プログラム206cは、移動情報登録プロセス205cとして機能する。判定プログラム206dは、判定プロセス205dとして機能する。状態リセットプログラム206eは、状態リセットプロセス205eとして機能する。画像制御プログラム206fは、画像制御プロセス205fとして機能する。
【0101】
入力受付プロセス205aの処理は、入力受付部151の処理に対応する。軌跡登録処理プロセス205bの処理は、軌跡登録処理部152の処理に対応する。移動情報登録プロセス205の処理は、移動情報登録部153の処理に対応する。判定プロセス205dの処理は、判定部154の処理に対応する。状態リセットプロセス205eの処理は、状態リセット部155の処理に対応する。画面制御プロセス205fの処理は、画面制御部156fの処理に対応する。
【0102】
なお、各プログラム206a~206fについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム206a~206fを読み出して実行するようにしてもよい。
【0103】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0104】
(付記1)コンピュータに、
タッチ操作を受け付けた座標を検出する座標検出装置に対するドラッグ操作を受け付けた場合に、前記ドラッグ操作の軌跡に応じて、表示装置に表示されている画面をスクロールさせ、
前記スクロール中に受け付ける前記軌跡の情報を記憶装置に記憶し、
前記軌跡に、所定数以上の終点、始点または屈曲点が発生したと判定した場合に、前記スクロールを開始した時点の画面に表示を戻し、
前記記憶装置に記憶した前記軌跡の情報を用いて、前記軌跡を表示する
処理を実行させることを特徴とする入力受付プログラム。
【0105】
(付記2)前記軌跡を表示する処理は、前記ドラッグ操作を受け付けた時点から前記軌跡の表示を開始することを特徴とする付記1に記載の入力受付プログラム。
【0106】
(付記3)前記ドラッグ操作の受け付けが中断した時点から所定時間経過しても次のドラッグ操作が再開されない場合に、前記記憶装置に記憶した前記軌跡の情報を消去する処理をさらに実行させることを特徴とする付記1または2に記載の入力受付プログラム。
【0107】
(付記4)前記軌跡に発生した終点、始点または屈曲点の数を計数し、計数した数を前記ドラッグ操作の時間で除算した値が閾値以上である場合に、前記スクロールを開始した時点の画面に表示を戻し、前記記憶装置に記憶した前記軌跡の情報を用いて、前記軌跡を表示することを特徴とする付記1、2または3に記載の入力受付プログラム。
【0108】
(付記5)前記スクロール中に受け付ける前記軌跡を薄く画面に重畳表示する処理をさらに実行させることを特徴とする付記1~4のいずれか一つに記載の入力受付プログラム。
【0109】
(付記6)前記スクロールの開示時点の画面を薄く画面に重畳表示する処理を更に実行することを特徴とする付記5に記載の入力受付プログラム。
【0110】
(付記7)タッチ操作を受け付けた座標を検出する座標検出装置と、情報処理装置から出力される画面の情報を表示する表示装置と、前記情報処理装置とを有する入力受付システムであって、
前記情報処理装置は、
前記座標検出装置に対するドラッグ操作を受け付けた場合に、前記ドラッグ操作の軌跡に応じて、表示装置に表示されている画面をスクロールさせる画面制御部と、
前記スクロール中に受け付ける前記軌跡の情報を記憶部に記憶する軌跡登録処理部とを有し、
前記画面制御部は、前記軌跡に、所定数以上の終点、始点または屈曲点が発生したと判定した場合に、前記スクロールを開始した時点の画面に表示を戻し、前記記憶部に記憶された前記軌跡の情報を用いて、前記軌跡を表示する
ことを特徴とする入力受付システム。
【0111】
(付記8)前記画面制御部は、前記ドラッグ操作を受け付けた時点から前記軌跡の表示を開始することを特徴とする付記7に記載の入力受付システム。
【0112】
(付記9)前記ドラッグ操作の受け付けが中断した時点から所定時間経過しても次のドラッグ操作が再開されない場合に、前記記憶装置に記憶した前記軌跡の情報を消去する状態リセット部155をさらに有することを特徴とする付記7または8に記載の入力受付システム。
【0113】
(付記10)前記画面制御部は、前記軌跡に発生した終点、始点または屈曲点の数を計数し、計数した数を前記ドラッグ操作の時間で除算した値が閾値以上である場合に、前記スクロールを開始した時点の画面に表示を戻し、前記記憶装置に記憶した前記軌跡の情報を用いて、前記軌跡を表示することを特徴とする付記7、8または9に記載の入力受付システム。
【0114】
(付記11)前記画面制御部は、前記スクロール中に受け付ける前記軌跡を薄く画面に重畳表示する処理をさらに実行させることを特徴とする付記7~10のいずれか一つに記載の入力受付システム。
【0115】
(付記12)前記画面制御部は、前記スクロールの開示時点の画面を薄く画面に重畳表示する処理を更に実行することを特徴とする付記11に記載の入力受付システム。
【符号の説明】
【0116】
100 情報処理装置
110 タッチパネル
120 通信部
130 タイマ
140 記憶部
141 画面情報
142 軌跡情報テーブル
143 移動情報
150 制御部
151 入力受付部
152 軌跡登録処理部
153 移動情報登録部
154 判定部
155 状態リセット部
156 画面制御部