(57)【要約】【課題】操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える技術を提供する。【解決手段】表示部３は、複数の文字キーを配列したキーパッドの画像を表示器１０の画面に表示する。操作位置検知部４は、表示器１０の画面上の押圧位置を検知する。スコア算出機能部２１は、キーパッドの画像の文字キー毎に、表示器１０の画面上の押圧位置に対するスコアを算出する。スコアデータ生成機能部２２は、文字列入力期間において、操作位置検知部４が検知した表示器１０の画面上の押圧位置毎に、その押圧位置に対して、スコア算出機能部２１が算出した各文字キーのスコアを登録したスコアデータを生成する。入力文字列推定機能部２３は、スコアデータ生成機能部２２が生成したスコアデータを用いて、入力された文字列を推定する。【選択図】図１
2018113643.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字キーを配列したキーパッドの画像を表示器の画面に表示する表示部と、
前記表示器の画面上の押圧位置を検知する操作位置検知部と、
前記キーパッドの画像の文字キー毎に、前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出部と、
文字列入力期間において、前記操作位置検知部が検知した前記表示器の画面上の押圧位置毎に、その押圧位置に対して、前記スコア算出部が算出した各文字キーのスコアを登録したスコアデータを生成するスコアデータ生成部と、
前記スコアデータ生成部が生成したスコアデータを用いて、入力された文字列を推定する入力文字列推定部と、を備えた文字列入力装置。
【請求項２】
前記スコアデータ生成部は、前記操作位置検知部による前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、その要素値を前記スコア算出部が算出したスコアとしたスコアデータを生成する、請求項１に記載の文字列入力装置。
【請求項３】
前記操作位置検知部は、文字列入力期間において、前記表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する、請求項１、または２に記載の文字列入力装置。
【請求項４】
前記スコア算出部は、前記表示器の画面上における文字キーの表示位置と、前記操作位置検知部が検知した前記表示器の画面上の押圧位置との近さを示す値をスコアとして算出する、請求項１〜３のいずれかに記載の文字列入力装置。
【請求項５】
前記入力文字列推定部は、文字列入力期間において、前記操作位置検知部が最初に検知した前記表示器の画面上の押圧位置に対して、前記スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の先頭の文字に確定する、請求項１〜４のいずれかに記載の文字列入力装置。
【請求項６】
前記入力文字列推定部は、文字列入力期間において、前記操作位置検知部が最後に検知した前記表示器の画面上の押圧位置に対して、前記スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の末尾の文字に確定する、請求項１〜５のいずれかに記載の文字列入力装置。
【請求項７】
文字列毎に、基準スコアデータを対応付けて記憶した文字列データベースを備え、
前記入力文字列推定部は、前記スコアデータ生成部が生成したスコアデータと、前記文字列データベースが文字列毎に記憶している基準スコアデータと、を照合し、その類似度によって入力された文字列を推定する、請求項１〜６のいずれかに記載の文字列入力装置。
【請求項８】
文字列毎に、基準スコアデータの特徴量を対応付けて記憶した文字列データベースを備え、
前記入力文字列推定部は、前記スコアデータ生成部が生成したスコアデータの特徴量と、前記文字列データベースが文字列毎に記憶している基準スコアデータの特徴量と照合し、その類似度によって入力された文字列を推定する、請求項１〜６のいずれかに記載の文字列入力装置。
【請求項９】
複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置について、文字キー毎にスコアを算出するスコア算出ステップと、
文字列入力期間に検知した前記表示器の画面上の押圧位置毎に、その押圧位置に対して、前記スコア算出ステップで算出した各文字キーのスコアを登録したスコアデータを生成するスコアデータ生成ステップと、
前記スコアデータ生成ステップで生成したスコアデータを用いて、入力された文字列を推定する入力文字列推定ステップと、をコンピュータが実行する入力文字列推定方法。
【請求項１０】
複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置について、文字キー毎にスコアを算出するスコア算出ステップと、
文字列入力期間に検知した前記表示器の画面上の押圧位置毎に、その押圧位置に対して、前記スコア算出ステップで算出した各文字キーのスコアを登録したスコアデータを生成するスコアデータ生成ステップと、
前記スコアデータ生成ステップで生成したスコアデータを用いて、入力された文字列を推定する入力文字列推定ステップと、をコンピュータに実行させる入力文字列推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、操作者が指やペン等で画面をなぞるように操作することによって文字列を入力する技術に関する。
【背景技術】
【０００２】
従来、複数の文字キーを配列したキーパッドの画像を表示器の画面に表示し、操作者に指やペン等で画面をなぞるように操作させる文字列の入力装置がある（例えば、特許文献１参照）。この文字列の入力は、一般にジェスチャ入力と呼ばれている。
【０００３】
特許文献１に示されているように、文字列の入力装置は、タッチパネルを表示器の画面上に貼付している。操作者は、表示器の画面に表示されているキーパッドの画像上で、入力する文字列の文字キーを先頭から順番に押圧するように、指やペン等で表示器の画面をなぞるように操作する。文字列入力装置は、予め定められたサンプリング周期で、表示器の画面上の押圧位置を繰り返し検知することによって、表示器の画面上における操作者が指やペン等でなぞったラインの軌跡を取得する。文字列入力装置は、取得した軌跡における移動方向や移動速度の変化によって、ユーザが文字列を入力するためになぞった文字キーであるか、ある文字キーから別の文字キーへの移動経路の途中に位置しているためになぞった文字キーであるか（入力するためになぞった文字キーでない。）を判断し、ユーザが入力した文字列を推定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＵＳ８６６７４１４Ｂ２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
最近、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列を推定する技術の開発が盛んに行われている。そして、操作者が指やペン等でなぞったラインの軌跡における移動方向や移動速度の変化を検出する処理にかかる負荷が大きいことから、比較的簡単な処理で入力された文字列を推定する技術が要望されている。
【０００６】
この発明の目的は、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える技術を提供することにある。
【課題を解決するための手段】
【０００７】
この発明の文字列入力装置は、上記目的を達するために、以下のように構成している。
【０００８】
表示部が、複数の文字キーを配列したキーパッドの画像を表示器の画面に表示する。操作位置検知部は、表示器の画面上の押圧位置を検知する。
【０００９】
スコア算出部は、キーパッドの画像の文字キー毎に、表示器の画面上の押圧位置に対するスコアを算出する。このスコア算出部は、例えば、表示器の画面上における文字キーの表示位置と、表示器の画面上の押圧位置との近さを示す値をスコアとして算出する。
【００１０】
スコアデータ生成部は、文字列入力期間において、操作位置検知部が検知した表示器の画面上の押圧位置毎に、その押圧位置に対して、スコア算出部が算出した各文字キーのスコアを登録したスコアデータを生成する。スコアデータ生成部は、例えば操作位置検知部による表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、その要素値をスコア算出部が算出したスコアとしたスコアデータを生成する。このスコアデータは、マトリクスデータであることから、スコア算出部が算出したスコアが画像値である画像データとみなすことができる。
【００１１】
入力文字列推定部は、スコアデータ生成部が生成したスコアデータを用いて、入力された文字列を推定する。
【００１２】
例えば、文字列毎に、基準スコアデータを対応付けて、文字列データベースに記憶する。この場合、入力文字列推定部は、スコアデータ生成部が生成したスコアデータと、特徴量データベースが文字列毎に記憶している基準スコアデータと、を照合し、その類似度によって入力された文字列を推定する。
【００１３】
また、文字列毎に、基準スコアデータの特徴量を対応付けて文字列データベースに記憶する。この場合、入力文字列推定部が、スコアデータ生成部が生成したスコアデータの特徴量と、特徴量データベースが文字列毎に記憶している基準スコアデータの特徴量と、を照合し、その類似度によって入力された文字列を推定する。
【００１４】
入力文字列推定部が、スコアデータ生成部が生成したスコアデータを画像データとみなして処理することによって、操作者が指やペン等でなぞったラインの軌跡における移動方向や移動速度の変化を検出することなく、入力された文字列を推定することができる。すなわち、操作者が指やペン等で表示器の画面をなぞった文字列の入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
【００１５】
また、入力文字列推定部は、文字列入力期間において、操作位置検知部が最初に検知した表示器の画面上の押圧位置に対して、スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の先頭の文字に確定する構成にしてもよい。通常、操作者は、文字列を入力するために表示器の画面をなぞる操作を開始するとき、表示器の画面上において、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。すなわち、操作者は、文字列入力期間の開始タイミングにおいて、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧している。この構成によれば、入力文字列推定部は、先頭の文字が確定した文字と同じである文字列についてのみ、入力された文字列であるかどうかを推定すればよいので、処理負荷が一層低減される。
【００１６】
また、入力文字列推定部は、文字列入力期間において、操作位置検知部が最後に検知した表示器の画面上の押圧位置に対して、スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の末尾の文字に確定する構成にしてもよい。通常、操作者は、文字列を入力するための表示器の画面をなぞる操作を終了するとき、表示器の画面上において、入力する文字列の末尾の文字に対応する文字キーを押圧している指やペン等を離す。すなわち、操作者は、文字列入力期間の終了タイミングにおいて、入力する文字列の末尾の文字に対応する文字キーを指やペン等で押圧している。この構成によれば、入力文字列推定部は、末尾の文字が確定した文字と同じである文字列についてのみ、入力された文字列であるかどうかを推定すればよいので、処理負荷が一層低減される。
【発明の効果】
【００１７】
この発明によれば、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
【図面の簡単な説明】
【００１８】
【図１】この例にかかる文字列入力装置の主要部の構成を示すブロック図である。
【図２】文字列の入力操作を説明する図である。
【図３】文字キーのスコアｄ０を算出する手法を説明する図である。
【図４】文字キーのスコアｄ０を算出する別の手法を説明する図である。
【図５】スコアデータを示す図である。
【図６】文字列入力処理を示すフローチャートである。
【図７】文字列推定処理を示すフローチャートである。
【図８】別の例にかかる文字列推定処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、この発明の実施形態である文字列入力装置について説明する。
【００２０】
図１は、この例にかかる文字列入力装置の主要部の構成を示すブロック図である。この例にかかる文字列入力装置１は、制御部２と、表示部３と、操作位置検知部４と、キーパッド画像記憶部５と、文字列データ記憶部６とを備えている。この文字列入力装置１は、例えばスマートフォンやタブレット端末等の携帯端末の一部の機能として構成することもできれば、机上に据え置いて使用するデスクトップパソコン等の情報処理装置の一部の機能として構成することもできる。
【００２１】
制御部２は、この文字列入力装置１本体各部の動作を制御する。この制御部２は、ハードウェアＣＰＵ、メモリ、その他の電子回路によって構成されている。ハードウェアＣＰＵが、スコア算出機能部２１、スコアデータ生成機能部２２、入力文字列推定機能部２３、および候補文字列出力機能部２４として機能する。また、メモリは、この発明にかかる文字列入力プログラムを展開する領域、文字列入力装置１本体の動作時に生じたデータを一時的に記憶する領域等を有する。制御部２は、ハードウェアＣＰＵ、メモリ等を一体化したＬＳＩで構成してもよい。制御部２が有する、スコア算出機能部２１、スコアデータ生成機能部２２、入力文字列推定機能部２３、および候補文字列出力機能部２４の詳細については後述する。
【００２２】
表示部３は、制御部２から指示された画像（例えば、後述するキーパッド画像）を、表示器１０の画面に表示する。
【００２３】
操作位置検知部４は、指やペン等で押圧された表示器１０の画面上の位置を検知する。この例では、操作位置検知部４は、表示器１０の画面に貼付したタッチパネル１１を用いて、指やペン等で押圧された表示器１０の画面上の位置を検知する。操作位置検知部４は、予め定められているサンプリング周期（例えば、１０〜５０ｍｓｅｃ）で、表示器１０の画面上の押圧位置を繰り返し検知する。
【００２４】
キーパッド画像記憶部５は、複数の文字キーを配列したキーパッドの画像を１つ以上記憶する。制御部２は、キーパッド画像記憶部５が記憶しているキーパッド画像であって、その時点で選択されているキーパッドの画像を表示器１０に表示することを表示部３に指示する。図１では、アルファベット２６文字の文字キーからなるキーパッドの画像が表示器１０の画面に表示されている例を示している。
【００２５】
文字列データ記憶部６は、文字列毎に、その文字列と基準データとを対応付けた特徴情報を記憶する。文字列データ記憶部６は、キーパッド画像記憶部５が記憶するキーパッドの画像毎に、特徴情報を記憶する。基準データは、ｎ行Ｍ列のマトリクスデータである。ｎは、対応するキーパッドの画像に配列されている文字キーの個数である。Ｍは、予め定めた値である。基準データの詳細については、後述する。
【００２６】
なお、ここでは、基準データは、ｎ行Ｍ列のマトリクスデータであるとして説明するが、行と列とを入れ替えたＭ行ｎ列のマトリクスデータであってもよい。
【００２７】
図１に示す例では、キーパッド画像記憶部５、および文字列データ記憶部６を、それぞれ制御部２とは異なる構成として図示しているが、キーパッド画像記憶部５、および文字列データ記憶部６は、制御部２が備えるメモリで構成してもよい。
【００２８】
操作者は、表示器１０の画面上に表示されているキーパッドの画像を指やペン等でなぞることで文字列を入力する。具体的には、操作者は、入力する文字列を構成する文字を先頭から順番に、その文字に対応する文字キーを押圧するように、表示器１０の画面上に表示されているキーパッドの画像を指やペン等でなぞる。例えば、図２は、操作者が「ａｃｔｉｏｎ」という６文字からなる文字列を入力するために、表示器１０の画面上に表示されているキーパッドの画像を指やペン等でなぞった軌跡を示している。図２に示すように、操作者は、入力する文字列「ａｃｔｉｏｎ」にかかる文字の文字キー「Ａ」、「Ｃ」、「Ｔ」、「Ｉ」、「Ｏ」、「Ｎ」の上方だけでなく、他の文字の文字キー（例えば、「Ｚ」、「Ｘ」等）の上方も押圧する。
【００２９】
ここで、制御部２が有するスコア算出機能部２１、スコアデータ生成機能部２２、入力文字列推定機能部２３、および候補文字列出力機能部２４について説明する。この制御部２が、この発明にかかる入力文字列推定方法を実行する。また、この発明にかかる入力文字列推定プログラムは、制御部２にインストールされる。
【００３０】
スコア算出機能部２１は、表示器１０の画面に表示している画像であるキーパッドの文字キー毎に、操作者が指やペン等で押圧した表示器１０の画面上の押圧位置に対するスコアｄ０を算出する。図３は、各文字キーのスコアｄ０を算出する手法を説明する図である。表示器１０の画面には、図３（Ａ）に示すように、複数の文字キーからなるキーパッドの画像が表示されている。図３（Ａ）に示すｐ１、ｐ２、およびｐ３は、操作位置検知部４によって検知された、操作者が指やペン等で押圧した表示器１０の画面上の押圧位置を示している。例えば、押圧位置ｐ１は、操作位置検知部４がタイミングｔｉで検知した押圧位置であり、押圧位置ｐ２は、操作位置検知部４がタイミングｔｊで検知した押圧位置であり、押圧位置ｐ３は、操作位置検知部４がタイミングｔｋで検知した押圧位置である。タイミングｔｉ、ｔｊ、ｔｋは、それぞれが異なるタイミングである。
【００３１】
スコア算出機能部２１は、表示器１０の画面上の押圧位置ｐに対する文字キーのスコアｄ０を、その文字キーの中心と押圧位置ｐとの距離ｘにかかる値として算出する。この例では、図３（Ｂ）に示すように、文字キーのスコアｄ０は、
ｄ０＝ｄ−ｘ
により算出する。但し、ｄ＜ｘであるとき、ｄ０＝０とする。
【００３２】
この例では、算出されるスコアｄ０の値は、距離ｘが長くなるにつれて小さくなり、距離ｘがある長さ（ここでは、ｄ）を越えると、一定値（ｄ０＝０）になる。また、この例では文字キーを矩形とし、この文字キーの外接円の半径をｄとしている。文字キーは、正方形であってもよいし、長方形であってもよい。
【００３３】
例えば、図３（Ｃ）に示す押圧位置ｐ１に対するスコアｄ０が０以外の値になる文字キーは、「Ｏ」、および「Ｋ」の２つの文字キーである（その他の文字キーは、スコアｄ０が０である。）。また、図３（Ｃ）に示す押圧位置ｐ２に対するスコアｄ０が０以外の値になる文字キーは、「Ｏ」のみである（その他の文字キーは、スコアｄ０が０である。）。また、図３（Ｃ）に示す押圧位置ｐ３に対するスコアｄ０が０以外の値になる文字キーは、「Ｏ」、「Ｉ」および「Ｋ」の３つの文字キーである（その他の文字キーは、スコアｄ０が０である。）。
【００３４】
なお、上記の例では、スコアｄ０の最大値はｄになる。例えば、スコアの最大値を、２５５にしてもよい。具体的には、スコアｄ０を
ｄ０＝（２５５／ｄ）（ｄ−ｘ）
により算出し、小数点以下を四捨五入（切上げ、切捨てであってもよい。）すればよい。  但し、ｄ＜ｘであるとき、ｄ０＝０である。これにより、スコアｄ０を２５６階調の値として用いることができる。
【００３５】
また、スコアｄ０の算出式は、上述した式に限らず、距離ｘが長くなるにつれて値が小さくなる、または値が大きくなるものであれば、どのような算出式であってもよい。例えば、スコアｄ０の算出式は、
ｄ０＝ｄ2−ｘ2
であってもよい。但し、ｄ＜ｘであるとき、ｄ０＝０である。
【００３６】
また、上記の例では、ｄは、文字キーの外接円の半径であるとしたが、この外接円の半径よりも少し大きい値にしてもよい。また、文字キーが正方形である場合には、文字キーの内接円の半径をｄにしてもよい。また、文字キーが長方形である場合には、図４（Ａ）に示すように文字キーに外接する楕円の長径の半分（１／２）をｄにしてもよい。また、図４（Ｂ）に示すように文字キーの中心と押圧位置ｐを結ぶ直線が文字キーに外接する楕円と交わる交点と、文字キーの中心との距離をｄにしてもよい。図４（Ｂ）に示す例では、ｄは、一定の値ではなく、押圧位置ｐに応じて変化する。
【００３７】
スコアデータ生成機能部２２は、文字列入力期間において、操作位置検知部４がサンプリング周期で検知した押圧位置毎に、スコア算出機能部２１が算出した各文字キーのスコアを登録したスコアデータを生成する。スコアデータ生成機能部２２は、操作位置検知部４が前回表示器１０の画面上の押圧位置を検知しておらず、今回表示器１０の画面上の押圧位置を検知したタイミングを、文字列入力期間の開始タイミングであると判定する。また、スコアデータ生成機能部２２は、操作位置検知部４が前回表示器１０の画面上の押圧位置を検知しており、今回表示器１０の画面上の押圧位置を検知していないとき、前回表示器１０の画面上の押圧位置を検知したタイミングを、文字列入力期間の終了タイミングであると判定する。
【００３８】
したがって、文字列入力期間の時間長さによって、操作位置検知部４が文字列入力期間に検知する表示器１０の画面上の押圧位置の個数ｍが変化する。文字キーの個数ｎは、表示器１０の画面に表示されているキーパッドによって決まる。この例（図１や、図２に示す例）では、文字キーの個数ｎは２６である。スコア算出機能部２１は、文字入力期間において、スコアｄ０をｍ×ｎ個算出する。
【００３９】
スコアデータ生成機能部２２は、ｎ行ｍ列（行と列を入れ替えて、ｍ行ｎ列であってもよい。）のマトリクスデータ（図５参照）を、スコアデータとして生成する。図５に示すスコアデータの各行は、文字キーに対応する。また、図５に示すスコアデータの各列は、操作位置検知部４が表示器１０の画面上の押圧位置を検知したタイミングに相当し、行方向（図５における横方向）に時間的に連続している。要素値は、スコア算出機能部２１が算出したスコアである。このスコアデータは、ｎ行ｍ列のマトリクスデータであるので、要素値を画素値とみなすことによって、画像データとみなすことができる。
【００４０】
また、上述したように、文字列入力期間の時間長さによって、操作位置検知部４が文字列入力期間に検知する表示器１０の画面上の押圧位置の個数ｍが変化する。文字列入力期間の時間長さは、入力する文字列の文字数や、操作者が表示器１０の画面上に表示されているキーバッドの画像をなぞる速度等によって変化する。スコアデータ生成機能部２２は、スコアデータとして生成したｎ行ｍ列のマトリクスデータを、文字列入力期間の時間長さに依存しない、ｎ行Ｍ列のマトリクスデータに変換する正規化を行う。例えば、スコアデータ生成機能部２２は、ｍ＞Ｍである場合、線形補間等によって、生成したｎ行ｍ列のマトリクスデータから列を減らして、ｎ行Ｍ列のマトリクスデータに変換する。また、スコアデータ生成機能部２２は、ｍ＜Ｍである場合、線形補間等によって、生成したｎ行ｍ列のマトリクスデータに列を増やして、ｎ行Ｍ列のマトリクスデータに変換する。以下の説明では、正規化したｎ行Ｍ列のマトリクスデータを正規化したスコアデータという場合もある。
【００４１】
なお、スコアデータ生成機能部２２は、ｍ＝Ｍの場合、生成したスコアデータを正規化したスコアデータにする。
【００４２】
入力文字列推定機能部２３は、スコアデータ生成機能部２２が正規化したスコアデータを画像データとみなし、公知の画像照合技術により文字列を推定する。上述したように、文字列データ記憶部６は、文字列毎に、その文字列と基準データとを対応付けた特徴情報を記憶している。そして、基準データは、ｎ行Ｍ列のマトリクスデータである。具体的には、基準データは、対応する文字列の入力を繰り返し、文字列の入力毎に生成された正規化したスコアデータを統計的に処理して作成したものである。上述したように、文字列データ記憶部６は、キーパッド画像記憶部５が記憶するキーパッドの画像毎に、特徴情報を記憶する。基準データが、この発明で言う基準スコアデータに相当する。
【００４３】
入力文字列推定機能部２３は、正規化したスコアデータとの類似度が、予め定めた閾値を越えている基準データに対応する文字列を入力された文字列の候補であると推定する。
【００４４】
候補文字列出力機能部２４は、表示部３に対して、入力文字列推定機能部２３が推定した文字列の候補を表示器１０に表示することを指示する。表示部３は、この指示にしたがって、入力文字列推定機能部２３が推定した文字列の候補を表示器１０の画面に表示する。このとき、文字列の候補は、正規化したスコアデータとの類似度が高い基準データに対応する文字列から順番に表示器１０に表示してもよいし、アルファベット順や５０音順等で表示器１０に表示してもよい。
【００４５】
制御部２は、操作者がいずれかの候補を選択すると、選択された文字列を入力された文字列として確定する。操作者は、表示器１０の画面上で、選択する候補文字列が表示されている位置を押圧することにより候補文字列の選択を行う。
【００４６】
次に、この文字列入力装置における文字列の入力処理について説明する。図６は、文字列入力装置における文字列の入力処理を示すフローチャートである。文字列入力装置１は、表示器１０の画面上に複数の文字キーからなるキーパッドの画像（この時点で選択されているキーパッドの画像）を表示している。文字列入力装置１は、文字列入力期間の開始タイミングであるかどうかの判定を繰り返す（ｓ１）。上述したように、操作位置検知部４は、予め定められたサンプリング周期で表示器１０の画面上の押圧位置を検知し、検知した押圧位置を制御部２に入力している。スコア算出機能部２１は、操作位置検知部４から、前回表示器１０の画面上の押圧位置が入力されておらず（操作位置検知部４において、前回表示器１０の画面上の押圧位置が検知されていない。）、今回表示器１０の画面上の押圧位置が入力されていると（操作位置検知部４において、今回表示器１０の画面上の押圧位置が検知されている。）、文字列入力期間の開始タイミングであると判定する。
【００４７】
この文字列入力期間の開始タイミングは、操作者が文字列を入力するために、指やペン等で表示器１０の画面上を押圧し、なぞり始めたタイミングである。
【００４８】
スコア算出機能部２１は、ｓ１で文字列入力期間の開始タイミングであると判定すると、今回の文字列入力期間の終了タイミングに達するまで、操作位置検知部４から入力されている表示器１０の画面上の押圧位置を収集する（ｓ２、ｓ３）。ｓ２では、スコア算出機能部２１は、操作位置検知部４から入力されている表示器１０の画面上の押圧位置を時系列にメモリに記憶する。また、ｓ３では、スコア算出機能部２１は、操作位置検知部４から、前回表示器１０の画面上の押圧位置が入力されており（操作位置検知部４において、前回表示器１０の画面上の押圧位置が検知されている。）、今回表示器１０の画面上の押圧位置が入力されていないと（操作位置検知部４において、今回表示器１０の画面上の押圧位置が検知されていない。）、前回表示器１０の画面上の押圧位置が検知されたタイミングを、文字列入力期間の終了タイミングであると判定する。
【００４９】
この文字列入力期間の終了タイミングは、操作者が表示器１０の画面上をなぞり終え、指やペン等を表示器１０の画面上から離す直前のタイミングである。
【００５０】
ｓ２では、文字列入力期間において、操作位置検知部４がサンプリング周期間隔で検知した表示器１０の画面上の押圧位置が収集される。
【００５１】
制御部２は、ｓ３で文字列入力期間の終了タイミングであると判定すると、各文字キーに対するスコアｄ０の算出を行う（ｓ４）。ｓ４では、スコア算出機能部２１が、今回の文字列入力期間中に収集した、表示器１０の画面上の押圧位置毎に、各文字キーに対するスコアｄ０を算出する。このｓ４にかかる処理は、文字列入力期間の終了タイミングを待つことなく、操作位置検知部４から表示器１０の画面上の押圧位置が入力されていれば実行するようにしてもよい。すなわち、ｓ２にかかる処理と、ｓ４にかかる処理を並行して行う構成であってもよい。
【００５２】
スコアデータ生成機能部２２は、スコア算出機能部２１が表示器１０の画面上の押圧位置毎に算出した、各文字キーのスコアｄ０を登録したスコアデータ（図５参照）を生成する（ｓ５）。このスコアデータは、上述したようにｎ行ｍ列のマトリクスデータであり、ｍは、文字列入力期間の時間長さによって変化する。文字列入力期間の時間長さは、入力する文字列の文字数や、操作者が表示器１０の画面上に表示されているキーバッドの画像を構成する文字キーをなぞる速度等によって変化する。
【００５３】
スコアデータ生成機能部２２は、ｓ５で生成したｎ行ｍ列のマトリクスデータであるスコアデータを、ｎ行Ｍ列のマトリクスデータに変換する正規化を行う（ｓ６）。ｓ６では、ｓ５で生成したスコアデータを、正規化したスコアデータに変換する。ｎ行ｍ列のマトリクスデータを、ｎ行Ｍ列のマトリクスデータに変換する正規化は、上述したように線形補間等で行う。
【００５４】
入力文字列推定機能部２３は、正規化したスコアデータを用いて、今回入力された文字列を推定する文字列推定処理を行う（ｓ７）。図７は、このｓ７にかかる文字列推定処理を示すフローチャートである。
【００５５】
入力文字列推定機能部２３は、今回入力された文字列の先頭の文字、および末尾の文字を確定する（ｓ２１、ｓ２２）。通常、操作者は、表示器１０の画面をなぞる文字列の入力にかかる操作を開始するとき、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。すなわち、操作者は、文字列入力期間の開始タイミングにおいて、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。また、操作者は、表示器１０の画面をなぞる文字列の入力にかかる操作を終了するとき、入力する文字列の末尾の文字に対応する文字キーを押圧している指やペン等を表示器１０の画面から離す。すなわち、操作者は、文字列入力期間の終了タイミングの直前において、入力する文字列の末尾の文字に対応する文字キーを指やペン等で押圧している。ｓ２１では、今回の文字列入力期間の開始タイミングにおいて、スコアｄ０が最大である文字キーにかかる文字を、今回入力された文字列の先頭の文字に確定する。また、ｓ２２では、今回の文字列入力期間の終了タイミングにおいて、スコアｄ０が最大である文字キーにかかる文字を、今回入力された文字列の末尾の文字に確定する。
【００５６】
なお、ｓ２１、ｓ２２にかかる処理の順番は、逆であってもよい。
【００５７】
入力文字列推定機能部２３は、文字列データ記憶部６に記憶している文字列の中で、ｓ２１で確定した文字が先頭の文字であり、且つｓ２２で確定した文字が末尾の文字である文字列を抽出する（ｓ２３）。入力文字列推定機能部２３は、ｓ２３で抽出した文字列毎に、その文字列の基準データと、ｓ６で正規化したスコアデータと、の照合を行う（ｓ２４）。入力文字列推定機能部２３は、ｓ２４における照合で、類似度が予め定めた閾値を超えている文字列を、入力候補文字列であると推定する（ｓ２５）。ｓ２５では、入力候補文字列が１つ以上推定されることもあれば、１つも推定されないこともある。
【００５８】
なお、ｓ２１〜ｓ２３にかかる処理は、ｓ２４にかかる処理の処理負荷を抑えるものであり、処理能力が高い制御部２であれば、特に設けなくてもよい。また、ｓ２１、またはｓ２２の一方を設け、他方を設けない構成にしてもよい。
【００５９】
図６に戻って、候補文字列出力機能部２４が、ｓ７で推定された入力候補文字列の出力処理を行う（ｓ８）。候補文字列出力機能部２４は、表示部３に対して、ｓ７で推定された入力候補文字列を表示器１０の画面に表示することを指示する。表示部３は、この指示にしたがって、入力候補文字列を表示器１０の画面に表示する。
【００６０】
なお、ｓ７で、入力文字列推定機能部２３が入力候補文字列を１つも推定していない場合、候補文字列出力機能部２４は、ｓ８で表示部３に対して、文字列の入力操作のやり直しを案内するメッセージを表示器１０の画面に表示することを指示する。
【００６１】
制御部２は、ｓ８で出力した候補文字列のいずれかを選択する選択操作があると（ｓ９）、選択された候補文字列を今回入力された文字列に確定し（ｓ１０）、ｓ１に戻る。
【００６２】
このように、この文字列入力装置１は、操作者が表示器１０の画面上に表示されているキーパッドの画像をなぞって入力した文字列を、操作者がなぞったラインの軌跡における移動方向や移動速度の変化を検出して推定するのではなく、画像照合技術を応用して推定する。したがって、この文字列入力装置１は、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
【００６３】
また、上記の例では、文字列データ記憶部６は、文字列毎に、基準データとして、その文字列にかかるｎ行Ｍ列のマトリクスデータを記憶するとしたが、このｎ行Ｍ列のマトリクスデータの特徴量を記憶する構成にしてもよい。特徴量は、ｎ行Ｍ列のマトリクスデータを画像データとみなし、公知の画像の特徴量を抽出する技術を利用することで取得できる。
【００６４】
この場合、ｓ７にかかる文字列推定処理は、図８に示す処理にすればよい。具体的には、入力文字列推定機能部２３は、今回入力された文字列の先頭の文字、および末尾の文字を確定する（ｓ３１、ｓ３２）。そして、入力文字列推定機能部２３は、文字列データ記憶部６に記憶している文字列の中で、ｓ３１で確定した文字が先頭の文字であり、且つｓ３２で確定した文字が末尾の文字である文字列を抽出する（ｓ３３）。このｓ３１〜ｓ３３にかかる処理は、上述したｓ２１〜ｓ２３にかかる処理と同じである。
【００６５】
入力文字列推定機能部２３は、ｓ６で正規化したスコアデータを画像データとみなし、特徴量を抽出する（ｓ３４）。入力文字列推定機能部２３は、ｓ３３で抽出した文字列毎に、その文字列の特徴量と、ｓ３４で抽出した特徴量と、の照合を行う（ｓ３５）。入力文字列推定機能部２３は、ｓ３５における照合で、類似度が予め定めた閾値を超えている文字列を、入力候補文字列であると推定する（ｓ３６）。
【００６６】
このように構成すれば、文字列データ記憶部６の記憶容量を抑えることができる。
【００６７】
また、文字列入力装置１は、操作者が文字列の入力ために表示器１０の画面上をなぞったラインの軌跡を、表示器１０に表示するようにしてもよい。このように構成すれば、操作者に対して、文字列の入力にかかる操作ミス等を確認させることができる。操作者が文字列の入力ために表示器１０の画面上をなぞったラインの軌跡は、ｓ２で収集している操作位置を表示器１０の画面上に表示することで行える。また、操作者が文字列の入力ために表示器１０の画面上をなぞったラインの軌跡は、ｓ９で候補文字列の選択を受け付けたときや、文字列入力期間の終了タイミングから一定時間経過したとき等に、表示器１０における表示を消去すればよい。
【００６８】
また、入力文字列推定機能部２３を人工知能（ＡＩ）で構成し、操作者が文字列を入力する表示器１０の画面上をなぞる操作を学習させ、入力された文字列の推定精度の向上を図るようにしてもよい。
【００６９】
また、スコア算出機能部２１は、例えば文字列入力期間の開始タイミングから予め定めた時間経過したタイミングを、文字列入力期間の終了タイミングであると判定してもよいし、他の条件で文字列入力期間の終了タイミングであると判定してもよい。同様に、スコア算出機能部２１は、上記以外の他の条件で、文字列入力期間の開始タイミングであるかどうかを判定してもよい。さらには、文字列入力期間の開始タイミングであると判定する条件を複数設定しておき、いずれかの条件が満足したときに、文字列入力期間の開始タイミングであると判定してもよい。同様に、文字列入力期間の終了タイミングであると判定する条件を複数設定しておき、いずれかの条件が満足したときに、文字列入力期間の終了タイミングであると判定してもよい。
【符号の説明】
【００７０】
１…文字列入力装置
２…制御部
３…表示部
４…操作位置検知部
５…キーパッド画像記憶部
６…文字列データ記憶部
１０…表示器
１１…タッチパネル
２１…スコア算出機能部
２２…スコアデータ生成機能部
２３…入力文字列推定機能部
２４…候補文字列出力機能部
【図１】
2018113643.tif 000003
【図２】
2018113643.tif 000004
【図３】
2018113643.tif 000005
【図４】
2018113643.tif 000006
【図５】
2018113643.tif 000007
【図６】
2018113643.tif 000008
【図７】
2018113643.tif 000009
【図８】
2018113643.tif 000010