(57)【要約】【課題】表示画面上への筆跡の入力に関する操作性を向上させること。【解決手段】プログラムは、表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、処理をコンピュータに実行させる。【選択図】図３
2020009256.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記相対的な位置関係は、前記軌跡の位置の差である、
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記相対的な位置関係は、前記軌跡の方向の差である、
ことを特徴とする請求項１記載のプログラム。
【請求項４】
更に、前記程度が前記閾値未満である各入力の軌跡のサイズに基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータに実行させることを特徴とする請求項１乃至３いずれか一項記載のプログラム。
【請求項５】
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定する第１の判定部と、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定する第２の判定部と、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する第３の判定部と、
有することを特徴とする情報処理装置。
【請求項６】
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータが実行することを特徴とする筆跡入力判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び筆跡入力判定方法に関する。
【背景技術】
【０００２】
スマートフォン等のタッチパネルに表示されている、アイコンやソフトウェアキーボード等の表示要素を含む表示画面上に対して、筆跡の上書き入力を可能とするための技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−３１９５０２号公報
【特許文献２】特開２００５−０９２５３８号公報
【特許文献３】特開２００５−０８５２４２号公報
【特許文献４】特開２０１０−１７６１９０号公報
【特許文献５】特開２０１１−１８６７９２号公報
【特許文献６】米国特許出願公開第２０１１／００６６９８４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、筆跡の上書きをするために意図的な操作が必要とされたり、筆跡の上書きが自動判別されるまでに１文字分の入力が必要とされたりといったように、筆跡の入力に関する操作性について改善の余地が有ると考えられる。
【０００５】
そこで、一側面では、本発明は、表示画面上への筆跡の入力に関する操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、プログラムは、表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一側面として、表示画面上への筆跡の入力に関する操作性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態におけるスマート端末１０のハードウェア構成例を示す図である。
【図２】筆跡入力の判定条件を説明するための図である。
【図３】本発明の実施の形態におけるスマート端末１０の機能構成例を示す図である。
【図４】スマート端末１０が実行する処理手順の一例を説明するためのフローチャートである。
【図５】入力軌跡の座標列情報の構成例を示す図である。
【図６】例外的に直線的であると判定される入力軌跡の例を示す図である。
【図７】筆跡入力処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるスマート端末１０のハードウェア構成例を示す図である。図１において、スマート端末１０は、ＣＰＵ１０１、メモリ１０２、補助記憶装置１０３及びタッチパネル１０４等を有する。
【００１０】
補助記憶装置１０３は、スマート端末１０にインストールされたプログラム等を記憶する。メモリ１０２は、プログラムの起動指示があった場合に、補助記憶装置１０３からプログラムを読み出して記憶する。ＣＰＵ１０１は、メモリ１０２に記憶されたプログラムに従ってスマート端末１０に係る機能を実現する。
【００１１】
タッチパネル１０４は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル１０４は、表示装置１１１及び入力装置１１２等を含む。
【００１２】
表示装置１１１は、液晶ディスプレイ等であり、タッチパネル１０４の表示機能を担う。入力装置１１２は、表示装置１１１に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル１０４の接触面（表面）に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
【００１３】
なお、スマート端末１０の一例として、スマートフォン、タブレット端末、又はＰＣ（Personal  Computer）等が挙げられる。また、タッチパネル１０４の代わりにタッチパッドが用いられてもよい。すなわち、表示装置を含まない電子部品であって、接触面を有する入力装置が用いられてもよい。
【００１４】
スマート端末１０におけるホームアプリ等、上下左右にドラッグスクロール可能なアプリケーション（以下「アプリ」という。）に対するドラッグスクロールの操作には、以下のａ〜ｃの特徴が有ると考えられる。
特徴ａ）軌跡は直線的であり、大きく屈曲していない。
特徴ｂ）連続するドラッグスクロールはおおよそ同じような位置（水平方向又は垂直方法の位置）で行われる。
特徴ｃ）左右スクロールと上下スクロールとを頻繁に混在させて行われることは少ない。
【００１５】
本実施の形態では、ドラッグスクロール操作に関するこれらの特徴に鑑み、アプリ等の操作では通常発生しないであろうと考えられる入力操作を、表示画面上への筆跡の上書き入力（以下「筆跡入力」という。）として判別することで、高精度、かつ、入力開始後の早いタイミングでの筆跡入力の自動判別を可能とする。
【００１６】
上記特徴ａ〜特徴ｃに基づき、スマート端末１０は、以下の条件Ａ〜条件Ｃのいずれかの条件を満たす入力を、筆跡入力であると判定する。なお、以下において、入力軌跡とは、軌跡の入力が開始されてから終了するまでの１つの軌跡をいう。
【００１７】
図２は、筆跡入力の判定条件を説明するための図である。図２において、（Ａ）〜（Ｃ）は、順番に、条件Ａ、条件Ｂ、条件Ｃに対応する。
【００１８】
条件Ａは、図２（Ａ）に示されるような、一定以上の屈曲の有る軌跡が入力されることである。すなわち、条件Ａは、特徴ａに基づく条件である。一定以上の屈曲が有るかどうかは、例えば、最小二乗法などで直線性を測る方法や、軌跡の曲率を計算する方法など様々な方法が挙げられるが、本実施の形態に適用可能な方法は、特定の方法に限定されない。通常のＵＩ操作（例えばドラッグスクロール）では発生しない程度の屈曲を閾値とすることで、条件Ａへの該当の有無を切り分けることが出来る。
【００１９】
条件Ｂは、連続して入力された２つの軌跡のいずれもが直線的であった場合に、２つの軌跡の入力時刻の間隔が一定時間Ｔｓ以下であり、かつ、２つの軌跡の位置の差（すなわち、距離）が閾値以上であることである。図２（Ｂ）には、或る程度離れた２つの直線的な軌跡が示されている。すなわち、条件Ｂは、特徴ｂに基づく条件である。距離の測定方法としては様々な方法が考えられるが、本実施の形態に適用可能な方法は、特定の方法に限定されない。例えば、２つの軌跡の外接矩形において、水平方向又は垂直方向の間隔のどちらか大きい方を２つの軌跡の距離とするといった方法が考えられる。図２（Ｂ）の例では、垂直方法の間隔が当該距離として測定されることになる。距離に対する閾値は、通常のＵＩ操作において素早く２回直線状の軌跡が入力されたときの平均的な距離よりも大きめにしておくとよい。当該閾値は、例えば、通常のＵＩ操作において素早く２回直線状の軌跡が入力された際の２つの軌跡の距離の平均及び標準偏差から統計的に求められてもよい。「素早く２回」とは、入力軌跡間の入力時刻の間隔がＴｓ以内という意味である。なお、本実施の形態において、条件Ａに該当しない軌跡が直線的であると判定される。
【００２０】
条件Ｃは、連続して入力された２つの軌跡のいずれもが直線的であった場合に、２つの軌跡の入力時刻の間隔が一定時間Ｔｓ以下であり、かつ、２つの軌跡の方向の差（傾きの差）が一定以上であることである。図２（Ｃ）には、方向が略垂直である２つの直線的な軌跡が示されている。すなわち、条件Ｃは、特徴ｃに基づく条件である。なお、軌跡の方向とは、軌跡の進行方向（始点から終点への方向）ではなく、軌跡が描く線の傾きをいう。軌跡を直線近似する方法としては様々な方法が考えられるが、例えば、最小二乗法や始点と終点を結ぶ直線などが挙げられる。但し、本実施の形態に適用な方法は、特定の方法に限定されない。方向の差の閾値についても、通常のＵＩ操作において素早く２回直線状の軌跡が入力された際の２つの軌跡に関する実測値から統計的に求める方法が挙げられる。
【００２１】
したがって、図２（Ｄ）に示されるような入力軌跡は、筆跡入力ではないと判定される。
【００２２】
なお、条件（Ｂ）及び条件（Ｃ）は、連続して入力された２つの軌跡のいずれもが直線的であった場合に、２つの軌跡の入力時刻の間隔が一定時間Ｔｓ以下であり、かつ、２つの軌跡の相対的な位置関係が所定の条件を満たすこと、として汎化することができる。
【００２３】
図３は、本発明の実施の形態におけるスマート端末１０の機能構成例を示す図である。図３において、スマート端末１０は、座標列入力部１１、通常ＵＩ処理部１２、時間間隔判定部１３、状態リセット部１４、軌跡形状判定部１５、軌跡間関係判定部１６、筆跡判定制御部１７、状態復帰部１８及び筆跡処理部１９等を有する。これら各部は、スマート端末１０にインストールされた１以上のプログラムが、ＣＰＵ１０１に実行させる処理により実現される。スマート端末１０は、また、入力軌跡記憶部１２１及び復帰情報記憶部１２２を利用する。これら各記憶部は、例えば、メモリ１０２、又は補助記憶装置１０３等を用いて実現可能である。
【００２４】
座標列入力部１１は、入力装置１１２に対する操作位置を示す情報である座標列情報を、入力装置１１２から入力する。座標列情報は、例えば、１つの入力軌跡（入力が開始されてから入力が終了するまでの軌跡）から所定のサンプル周期でサンプリングされた座標値の時系列の集合である。本実施の形態において、座標列入力部１１は、１つの入力軌跡ごとに（例えば、指等がタッチパネル１０４から離れるたびに）座標列情報を入力することとする。
【００２５】
通常ＵＩ処理部１２は、座標列入力部１１が入力した座標列情報が示す軌跡に基づく操作（タップ、ドラッグ、長押し等の一般的なＵＩ操作）に応じた通常のＵＩ処理を起動する。通常のＵＩ処理（以下「通常ＵＩ処理」という。）とは、表示装置１１１に表示されている画面（表示画面）が操作された際に実行される処理をいう。例えば、画面のスクロールや、アイコンの移動、又はアイコンに対応するアプリの起動等が、通常ＵＩ処理の一例である。通常ＵＩ処理部１２は、また、座標列入力部１１が入力した座標列情報が示す軌跡が、筆跡入力であると判定された場合に、当該操作に応じて実行された通常ＵＩ処理を取り消した状態にすること(処理未適用状態への復帰)（すなわち、当該通常ＵＩ処理のアンドゥ）を可能とするために必要とされる情報（以下、「復帰情報」という。）を復帰情報記憶部１２２に記憶する。
【００２６】
時間間隔判定部１３は、各入力軌跡について、直前の入力軌跡（各入力軌跡が入力される前に最後に入力された軌跡）との入力時刻の間隔が、一定時間Ｔｓ以下であるか否かを判定する。直前の入力軌跡との入力時刻の間隔が一定時間Ｔｓ以下であると判定された入力軌跡を示す座標列情報は、入力軌跡記憶部１２１に記憶される。したがって、入力軌跡記憶部１２１には、入力時刻の間隔がＴｓ以下である各入力軌跡の座標列情報が記憶される。
【００２７】
状態リセット部１４は、直前の入力軌跡との入力時刻の間隔が一定時間Ｔｓを超えると判定された場合に、入力軌跡記憶部１２１に記憶されている座標列情報をリセットするとともに、復帰情報記憶部１２２に記憶された復帰情報をリセットする。ここで、リセットとは、例えば、記憶されている情報の削除をいう。但し、例えば、入力軌跡記憶部１２１又は復帰情報記憶部１２２において、有効な情報の開始位置を示すポインタを最後尾の情報の後ろの位置にずらすことによってリセットが実現されてよい。なお、削除によってリセットが実現される場合、ポインタの位置は、入力軌跡記憶部１２１又は復帰情報記憶部１２２の先頭に移動することと同義である。すなわち、この場合、削除以降に記憶される全ての情報が、リセット時点以降の情報となる。
【００２８】
軌跡形状判定部１５は、入力軌跡記憶部１２１に記憶されている最新の座標列情報に係る入力軌跡の形状が直線的であるか否かを判定する。
【００２９】
軌跡間関係判定部１６は、入力軌跡記憶部１２１に座標列情報が記憶された複数の入力軌跡を解析し、入力軌跡間の相対的な位置関係（位置の差（すなわち、距離）又は方向の差）が、それぞれ閾値以内であるか否かを判定する。ここで、入力軌跡記憶部１２１に座標列情報が記憶された複数の入力軌跡とは、入力軌跡記憶部１２１に関するポインタ以降の座標列情報に係る入力軌跡をいう。
【００３０】
筆跡判定制御部１７は、軌跡形状判定部１５によって最新の入力軌跡が直線的でないと判定された場合、又は軌跡間関係判定部１６によって入力軌跡間の位置の差若しくは方向の差が閾値以上であると判定された場合に、筆跡入力が行われたと判定する。
【００３１】
状態復帰部１８は、筆跡判定制御部１７によって筆跡入力が行われたと判定された場合に、復帰情報記憶部１２２に記憶されている復帰情報に基づいて、当該筆跡入力に係る操作によって実行された通常ＵＩ処理を取り消すための処理（以下「復帰処理」という。）を実行する。
【００３２】
筆跡処理部１９は、筆跡判定制御部１７によって筆跡入力が行われたと判定された場合に、当該筆跡入力に関する処理を実行する。
【００３３】
以下、スマート端末１０が実行する処理手順について説明する。図４は、スマート端末１０が実行する処理手順の一例を説明するためのフローチャートである。
【００３４】
入力装置１１２によってタッチパネル１０４に対する入力（ドラッグ操作、タップ操作等）が検知されると（Ｓ１０１でＹｅｓ）、座標列入力部１１は、当該入力に関する入力軌跡（以下、「対象軌跡」という。）を示す座標列情報を入力装置１１２から入力する（Ｓ１０２）。
【００３５】
図５は、入力軌跡の座標列情報の構成例を示す図である。図５に示されるように、座標列情報は、例えば、入力軌跡の始点から終点までの各サンプル点についての（ｘ，ｙ，ｔ）のような座標値及び時刻情報の時系列順の配列である。すなわち、ｘ，ｙは入力軌跡を構成する点の座標値、ｔは、当該点の入力時刻の時刻情報である。図５において、（ｘ１，ｙ１，ｔ１）は、始点に対応し、（ｘｎ，ｙｎ，ｔｎ）は、終点に対応する。すなわち、図５の座標列情報は、ｎ個の点の座標値及び時刻情報によって入力軌跡を示す。
【００３６】
座標値及び時刻情報は、例えば、３０ｍ秒など短い一定周期ごとに１回得られるものとする。時刻情報はどのようなものでも良いが、少なくともポインティング座標のサンプリング周期より短い分解能であることが望ましい。例えば、ＥＰＯＣ時刻（世界標準時刻の１９７０年１月１日０時０分０秒）からの経過時間をミリ秒単位で表した整数値などが時刻情報として用いられてもよい。なお、時刻情報は、少なくともタッチパネルへの押下点（始点）と押下の解除点（終点）の２つについて得られればよい。座標列入力部１１は、少なくとも始点の座標値と終点の座標値とに時刻情報が付与された座標列情報を、一時記憶領域である変数Ｓに記憶しておく。
【００３７】
続いて、時間間隔判定部１３は、対象軌跡について、前回（直前）の入力軌跡の入力時刻からの経過時間Δｔを算出する（Ｓ１０３）。具体的には、前回の入力軌跡の終点の時刻情報と、対象軌跡の始点の時刻情報との差分が経過時間Δｔとして算出される。
【００３８】
続いて、時間間隔判定部１３は、経過時間Δｔと一定時間Ｔｓとを比較する（Ｓ１０４）。経過時間Δｔが一定時間Ｔｓより長い場合（Ｓ１０４でＮｏ）、状態リセット部１４は、変数Ｕ及び変数Ｒの内容をリセットして（Ｓ１０５）、ステップＳ１０６へ進む。入力時刻の間隔が一定時間Ｔｓより長い場合、対象軌跡より前の入力軌跡群は、筆跡入力ではないと考えられるからである。ここで、Ｕは、復帰情報記憶部１２２として機能する変数（記憶領域）である。Ｒは、入力軌跡記憶部１２１として機能する変数（記憶領域）である。
【００３９】
一方、経過時間Δｔが一定時間Ｔｓ以下の場合は（Ｓ１０４でＹｅｓ）、ステップＳ１０５は実行されずにステップＳ１０６へ進む。
【００４０】
なお、一定時間Ｔｓは、通常、文字が書かれる際の筆画間の入力時間差より少し長めに設定されてもよい。例えば、筆画間の時間差の平均ａｖｇと標準偏差ｓｄｅｖから、Ｔｓ＝ａｖｇ＋ａ×ｓｄｅｖのように統計的に求められてもよい。ここで、ａは、例えば、１、２、又は３等の定数である。
【００４１】
ステップＳ１０６において、通常ＵＩ処理部１２は、対象軌跡を通常ＵＩ操作として処理する。すなわち、対象軌跡が筆跡入力であるか否かが確定される前に、通常ＵＩ操作が投機的に実行される。そうすることで、対象軌跡が筆跡入力でなかった場合における、操作レスポンスの劣化を回避することができる。例えば、通常ＵＩ処理部１２は、対象軌跡をドラッグスクロールとして解釈したり、対象軌跡をアイコンやソフトウェアキーボード等の操作部品のタップとして解釈したりして、解釈に応じた処理（ドラッグスクロール、アイコンのタップ、ソフトウェアキーボードのタップ等）を実行する。なお、通常ＵＩ処理としてアイコン等の操作部品のタップが実行される場合には、通常ＵＩ処理部１２は、当該操作部品のタップに応じた処理（例えば、アプリケーションの起動等）の開始について時間Ｔｓ分だけの待機を行ってもよい。そうすることで、対象軌跡が筆跡入力であると判定された場合に、例えば、アプリケーションの画面が投機的に表示されてから、復帰処理によって直ちに当該画面が消去されるといったような、ユーザにとって不自然な動作が実行されるのを回避することができる。すなわち、この場合、筆跡入力であると判定され、復帰処理が実行される際に、当該待機に係る通常ＵＩ処理の無効化が決定されてもよい。
【００４２】
続いて、通常ＵＩ処理部１２は、ステップＳ１０６において実行した通常ＵＩ処理に関する復帰情報を、変数Ｕの末尾に追加する（Ｓ１０７）。例えば、通常ＵＩ処理としてドラッグスクロールが実行されたのであれば、スクロールの移動量が復帰情報されてもよい。この場合、当該移動量の符号を反転させ分のドラッグスクロールを実行することで、元のドラッグスクロールを取り消すことができる。通常ＵＩ処理としてアイコン等の操作部品のタップであれば、当該タップに応じた処理を取り消すための命令等が復帰情報とされてもよい。
【００４３】
続いて、時間間隔判定部１３は、変数Ｒの末尾にＳの内容を追加する（Ｓ１０８）。なお、直前の入力軌跡からの経過時間が一定時間Ｔｓを超える場合には、変数Ｒの内容はリセットされるため、変数Ｒのポインタ以降に記憶されている座標列情報は、直前の入力軌跡との間隔が一定時間Ｔｓ以内である入力軌跡の座標列情報となる。変数Ｒは、複数の入力軌跡のそれぞれの座標列情報を時系列順に記憶可能な配列変数であってもよい。
【００４４】
続いて、軌跡形状判定部１５は、対象軌跡の屈曲度合いを計算する（Ｓ１０９）。本実施の形態において、軌跡の屈曲度合いは、軌跡の形状についての直線からの乖離の程度の一例である。屈曲度合いの計算方法は特定のものに限定されない。例えば、最小二乗法を用いる方法、始点と終点を結ぶ直線から最大の距離の点を見つけ、その最大距離と始点から終点までの距離との比を使う方法などが一例として挙げられる。
【００４５】
続いて、軌跡形状判定部１５は、計算結果である屈曲度合いと閾値αとを比較する（Ｓ１１０）。当該屈曲度合いが閾値α以上である場合（Ｓ１１０でＮｏ）、筆跡判定制御部１７は、筆跡入力が行われたと判定し、筆跡入力処理を起動する（Ｓ１１６）。筆跡入力処理は、変数Ｒのポインタ以降の座標列情報に係る入力軌跡を筆跡として扱う処理である。筆跡入力処理の詳細については後述される。
【００４６】
一方、当該屈曲度合いが閾値α未満である場合（Ｓ１１０でＹｅｓ）、軌跡間関係判定部１６は、変数Ｒから最後の２つの座標列情報（すなわち、対象軌跡の座標列情報、及び対象軌跡の直前の入力軌跡の座標列情報）を取得する（Ｓ１１１）。変数Ｒに記憶されている座標列情報は、入力時刻の間隔がＴｓ以下である入力に係る座標列情報である。したがって、ステップＳ１１１において取得される２つの座標列情報は、入力時刻の間隔がＴｓ以下である前後の入力の座標列情報である。なお、取得された座標列情報は、変数Ｒから削除されない。また、Ｒ内に１つしか座標列情報がない場合、軌跡間関係判定部１６は、当該１つの座標列情報の複製を生成し、２つの同じ座標列情報を取り出したこととする。なお、本実施の形態において、該屈曲度合いが閾値α未満である軌跡は、直線的な軌跡として扱われる。
【００４７】
続いて、軌跡間関係判定部１６は、取得した２つの座標列情報に係る入力軌跡の方向の差を算出する（Ｓ１１２）。続いて、軌跡間関係判定部１６は、当該方向の差と閾値βとを比較する（Ｓ１１３）。ここで、屈曲度合いが閾値α以上である入力軌跡については、筆跡入力処理が実行される。後述されるように、筆跡入力処理では、変数Ｒがリセットされる。したがって、変数Ｒのポインタ以降には、直線的な（屈曲度合いが閾値α未満である）軌跡の座標列情報が記憶される。すなわち、ステップＳ１１１において取得される２つの座標列情報が示すそれぞれの入力軌跡は、或る程度直線的である。そこで、軌跡間関係判定部１６は、２つの入力軌跡の方向の差を算出するために、当該２つの入力軌跡のそれぞれについて代表的な方向を求める。代表的な方向を求める方法は、最小二乗法や始点と終点とを結ぶ直線の傾きなど、任意の様々な方法を採用することができる。なお、ここでの「方向」は、入力軌跡の進行方向ではなく、入力軌跡が描く形状（線）の傾きである。したがって、真横に右方向に進む入力軌跡と、左方向に進む入力軌跡との間には、方向の差はない。
【００４８】
当該方向の差が閾値β以上である場合（Ｓ１１３でＮｏ）、筆跡判定制御部１７は、筆跡入力が行われたと判定し、筆跡入力処理を起動する（Ｓ１１６）。一方、当該方向の差が閾値β未満である場合（Ｓ１１３でＹｅｓ）、軌跡間関係判定部１６は、当該２つの入力軌跡の位置の差（すなわち、距離）を計算する（Ｓ１１４）。続いて、軌跡間関係判定部１６は、計算結果である当該差と、閾値γとを比較する（Ｓ１１５）。位置の差、すなわち、距離の定義は特定のものに限定されない。例えば、２つの入力軌跡の間で最も近い距離が選択されてもよい。又は、２つの入力軌跡の外接矩形において、水平方向又は垂直方向の間隔のどちらか大きい方が選択されてもよい。又は、２つの入力軌跡のそれぞれの重心の距離が計算されてもよい。
【００４９】
当該差が閾値γ以上である場合（Ｓ１１５でＮｏ）、筆跡判定制御部１７は、筆跡入力が行われたと判定し、筆跡入力処理を起動して（Ｓ１１６）、ステップＳ１０１へ戻る。一方、当該差が閾値γ未満である場合（Ｓ１１５でＹｅｓ）、筆跡入力処理は起動されずにステップＳ１０１へ戻る。
【００５０】
なお、ステップＳ１１０でＮｏ、ステップＳ１１３でＮｏ、又はステップＳ１１５でＮｏの場合、筆跡判定制御部１７は、更に、対象軌跡のサイズが一定以上大きいか否かを判定し、当該サイズが一定以上である場合に限って、筆跡入力が行われたと判定し、筆跡入力処理を起動するようにしてもよい。当該サイズとして、例えば、対象軌跡の外接矩形のうち、最長の辺の長さが採用されてもよい。
【００５１】
また、ステップＳ１０９及びＳ１１０において、軌跡形状判定部１５は、図６に示されるような入力軌跡（対象軌跡）について、例外的に、直線的である（屈曲度合いがα未満である）と判定してもよい。
【００５２】
図６は、例外的に直線的であると判定される入力軌跡の例を示す図である。入力軌跡（対象軌跡）が図６に示されるような場合、軌跡形状判定部１５は、入力軌跡の一部又は全部の平均的又は代表的な方向Ａを求める。方向Ａの求め方としては、例えば、最小二乗法や始点と終点とのなす方向など様々な方法が考えられるが、本実施の形態では、特定の方法に限定されない。
【００５３】
軌跡形状判定部１５は、入力軌跡について、方向Ａの幅ｗ１と、方向Ａに対して垂直方向の幅ｗ２を求める。軌跡形状判定部１５は、ｗ２／ｗ１が一定値より小さく、かつ、入力軌跡内に逆向きに折れ曲がる屈曲が一定数以上あるという条件（以下「条件Ｘ」という。）を満たすか否かを判定する。入力軌跡が条件Ｘを満たせば、軌跡形状判定部１５は、当該入力軌跡が直線的であると判定する（屈曲度合いがα未満であると判定する。）。或いは、軌跡形状判定部１５が屈曲度合いα以上であると軌跡形状判定部１５が判定した入力軌跡について、筆跡判定制御部１７が、条件Ｘを満たすか否かを判定し、当該入力軌跡が条件Ｘを満たす場合、筆跡判定制御部１７が、筆跡入力でないと判定する（すなわち、筆跡入力処理を起動しない）ようにしてもよい。
【００５４】
図６に示されるような入力軌跡について筆跡入力処理が実行されないことで、上下または左右にスクロールを往復させるような操作について、筆跡入力処理が実行されてしまうのを回避することができる。
【００５５】
また、図４の説明では、始点から終点までの軌跡が１つ入力されるたび（タッチパネル１０４から指等が離れるたび）にステップＳ１０１以降の処理が実行される例が示されている。但し、タッチパネル１０４から指等が離れるまでの間も、ポインティング座標が１つサンプリングされるごとにステップＳ１０１以降が実行されるようにしてもよい。この場合、最後の入力軌跡はサンプリングごとに随時更新されるため、最後の入力軌跡に対応する変数Ｒや変数Ｕの情報も随時更新されることになる。これにより、通常ＵＩ処理はタッチパネル１０４から指等が離れる前に即時的に行われ、筆跡入力の判定及び当該判定に関連する処理もドラッグ操作の途中で開始されることになり、レスポンスの即時性を向上させることができる。
【００５６】
また、図４では、最後の２つの入力軌跡の相対的な位置関係に基づいて筆跡入力であるか否かが判定されている。但し、最後から２番目以前の各入力軌跡と最後の入力軌跡との相対的な位置関係に基づいて筆跡入力であるか否かが判定されるようにしてもよい。
【００５７】
具体的には、最新の座標列情報が一つ入力されるたびに、当該座標列情報に係る入力軌跡と、既に変数Ｒに記憶されている、ポインタ以降の座標列情報に係る各入力軌跡との間で、ステップＳ１１０、Ｓ１１３、及びＳ１１５の判定が行われてもよい。つまり、変数Ｒに記憶されている座標列情報が、Ｘ１，・・・，Ｘｎのｎ個であった場合、図４では、Ｘｎ−１とＸｎとの関係のみが判定対象とされていたが、Ｘ１〜Ｘｎ−１とＸｎとの関係が判定対象とされてもよい。Ｘ１からＸｎ−１まで一つずつＸｎと比較して、一つでもステップＳ１１０、Ｓ１１３、又はＳ１１５でＮｏであった場合、筆跡入力処理が起動されてもよい。
【００５８】
更に、軌跡の入力が開始され、筆跡入力か否かの判定が行われるまでの期間において、入力軌跡の周辺に粒子状（パーティクル状）の模様（各粒子の位置はランダムに決定される。）が表示されるようにしてもよい。そうすることで、あまり目立たないように入力軌跡を示すことができる。
【００５９】
続いて、ステップＳ１１６の詳細について説明する。図７は、筆跡入力処理の処理手順の一例を説明するためのフローチャートである。
【００６０】
ステップＳ２０１において、状態復帰部１８は、変数Ｕの内容に基づいて、通常ＵＩ操作で起きた処理の取り消し、すなわち、復帰処理を実行する。なお、復帰処理が、アプリの操作についての取り消しであることもあるが、この場合には、一般的なアプリに備わっているＵｎｄｏ機能を利用して復帰処理が行われればよい。
【００６１】
続いて、筆跡処理部１９は、変数Ｒのポインタ以降の全ての座標列情報に係る各入力軌跡について、筆跡入力としての処理を実行する（Ｓ２０２）。筆跡入力としての処理は、実装に応じて様々な形態が可能である。例えば、筆跡処理部１９は、入力された筆跡を表示装置１１１に表示してもよい。また、筆跡処理部１９は、当該筆跡を示す座標列情報（変数Ｒの内容）を、所定の記憶領域に保存してもよい。また、筆跡処理部１９は、当該筆跡について文字認識を実行することで得られる文字を利用して、表示画面上における表示対象を絞り込んでもよい。例えば、多数のアイコンが配列されているホーム画面上に対して筆跡入力が行われた場合、筆跡処理部１９は、表示中のアイコンの中から、入力された筆跡が示す文字で始まるアイコンを検索し、表示対象のアイコンを、検索されたアイコンに限定してもよい。そうすることで、ユーザは、所望のアイコンを効率良く見つけ出すことができる。ここでは、アイコンを例としたが、例えば、リストボックスが表示されている状態等、多数の選択肢に係る表示要素が表示されている状態において、同様の処理（表示対象の絞り込み）が行われてもよい。
【００６２】
続いて、筆跡処理部１９は、変数Ｕ及び変数Ｒをリセットする（Ｓ２０３）。続いて、筆跡処理部１９は、スマート端末１０における入力モードを、筆跡入力モードに移行させる（Ｓ２０４）。筆跡入力モードとは、タッチパネル１０４に対するユーザによる全ての入力が、筆跡入力として解釈される状態をいう。
【００６３】
したがって、その後、ユーザによって入力が行われ、座標列入力部１１が座標列情報を入力装置１１２から入力すると（Ｓ２０５でＹｅｓ）、筆跡処理部１９は、当該座標列情報について筆跡入力としての処理を実行する（Ｓ２０６）。当該処理の内容は、ステップＳ２０２と同様でよい。ステップＳ２０６は、筆跡入力モードが終了するまで行われる（Ｓ２０７）。なお、筆跡入力モードは、一定時間のアイドル状態（何も入力されない状態）の経過によって終了してもよい。又は、ユーザによる所定の操作に基づいて筆跡入力モードが終了してもよい。例えば、筆跡入力モードへの移行の際に、筆跡処理部１９が、筆跡入力モードの終了を受け付けるためのボタン等を表示装置１１１に表示し、当該ボタンの押下が当該所定の操作とされてもよい。
【００６４】
また、上記では、１つの軌跡が入力されるたびに、筆跡入力としての処理（Ｓ２０２、Ｓ２０６）が実行される例を示した。この場合、複数の画数からなる文字の筆跡が入力される場合に、当該文字が入力されるまでに筆跡入力としての処理が複数回実行されることになる。そのような事態を回避したい場合には、複数の軌跡が入力されたタイミングで、筆跡入力としての処理が実行されるようにしてもよい。例えば、ステップＳ２０２において、筆跡処理部１９は、筆跡入力としての処理は実行せずに、筆跡入力の決定ボタンを表示装置に表示する。この場合、ステップＳ２０３において、変数Ｒはリセットされない。また、ステップＳ２０６において、筆跡処理部１９は、入力された座標列情報を変数Ｒに追加する。上記の決定ボタンが押下されたタイミング、又は筆跡入力モードが終了したタイミングで、筆跡処理部１９は、変数Ｒのポインタ以降に記憶されている座標列情報について筆跡入力としての処理を実行し、変数Ｒをリセットする。
【００６５】
上述したように、本実施の形態によれば、表示画面に対して所定の時間間隔（Ｔｓ）以内ごとに入力された複数の直線的な軌跡間の相対的な位置関係に基づいて、該軌跡の入力が筆跡入力か否かが判定される。したがって、筆跡を入力するために、ユーザによる意図的な操作は必要とされず、また、軌跡の入力後の早期のタイミング（例えば、１文字の入力途中等のタイミング）で筆跡入力であることが判定される。したがって、表示画面上への筆跡の入力に関する操作性を向上させることができる。
【００６６】
また、筆跡入力と判定された場合には、通常ＵＩ処理が実行されない筆跡入力モードに自動的に移行するため、ユーザは、任意の筆跡を確実に入力することができる。
【００６７】
なお、本実施の形態は、タッチパネルやタッチパッド等、接触面を介して行われる入力以外の入力に関して適用されてもよい。例えば、左ボタンが押下された状態でのマウスのポインタの軌跡に関して本実施の形態が適用されてもよい。すなわち、軌跡を入力可能な入力装置であれば、様々な入力装置に関して本実施の形態が適用されてもよい。
【００６８】
なお、本実施の形態において、スマート端末１０は、情報処理装置又はコンピュータの一例である。時間間隔判定部１３は、第１の判定部の一例である。軌跡形状判定部１５は、第２の判定部の一例である。軌跡間関係判定部１６及び筆跡判定制御部１７は、第３の判定部の一例である。
【００６９】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７０】
以上の説明に関し、更に以下の項を開示する。
（付記１）
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータに実行させることを特徴とするプログラム。
（付記２）
前記相対的な位置関係は、前記軌跡の位置の差である、
ことを特徴とする付記１記載のプログラム。
（付記３）
前記相対的な位置関係は、前記軌跡の方向の差である、
ことを特徴とする付記１記載のプログラム。
（付記４）
更に、前記程度が前記閾値未満である各入力の軌跡のサイズに基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータに実行させることを特徴とする付記１乃至３いずれか一項記載のプログラム。
（付記５）
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定する第１の判定部と、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定する第２の判定部と、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する第３の判定部と、
有することを特徴とする情報処理装置。
（付記６）
前記相対的な位置関係は、前記軌跡の位置の差である、
ことを特徴とする付記５記載の情報処理装置。
（付記７）
前記相対的な位置関係は、前記軌跡の方向の差である、
ことを特徴とする付記５記載の情報処理装置。
（付記８）
前記第３の判定部は、更に、前記程度が前記閾値未満である各入力の軌跡のサイズに基づいて、当該各入力が筆跡の入力であるか否かを判定する、
ことを特徴とする付記５乃至７いずれか一項記載の情報処理装置。
（付記９）
表示画面に対する複数回の各入力の入力時刻について、直前の入力の入力時刻との間隔が所定時間以内であるか否かを判定し、
前記所定時間以内である前記間隔の前後に係る各入力の軌跡の形状について、直線からの乖離の程度が閾値未満であるか否かを判定し、
前記程度が前記閾値未満である各入力の軌跡の相対的な位置関係に基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータが実行することを特徴とする筆跡入力判定方法。
（付記１０）
前記相対的な位置関係は、前記軌跡の位置の差である、
ことを特徴とする付記９記載の筆跡入力判定方法。
（付記１１）
前記相対的な位置関係は、前記軌跡の方向の差である、
ことを特徴とする付記９記載の筆跡入力判定方法。
（付記１２）
更に、前記程度が前記閾値未満である各入力の軌跡のサイズに基づいて、当該各入力が筆跡の入力であるか否かを判定する、
処理をコンピュータが実行することを特徴とする付記９乃至１１いずれか一項記載の筆跡入力判定方法。
【符号の説明】
【００７１】
１０          スマート端末
１１          座標列入力部
１２          通常ＵＩ処理部
１３          時間間隔判定部
１４          状態リセット部
１５          軌跡形状判定部
１６          軌跡間関係判定部
１７          筆跡判定制御部
１８          状態復帰部
１９          筆跡処理部
１０１        ＣＰＵ
１０２        メモリ
１０３        補助記憶装置
１０４        タッチパネル
１１１        表示装置
１１２        入力装置
１２１        入力軌跡記憶部
１２２        復帰情報記憶部
【図１】
2020009256.tif 000003
【図２】
2020009256.tif 000004
【図３】
2020009256.tif 000005
【図４】
2020009256.tif 000006
【図５】
2020009256.tif 000007
【図６】
2020009256.tif 000008
【図７】
2020009256.tif 000009