JP6859711B2 - 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム - Google Patents

文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム Download PDF

Info

Publication number
JP6859711B2
JP6859711B2 JP2017004305A JP2017004305A JP6859711B2 JP 6859711 B2 JP6859711 B2 JP 6859711B2 JP 2017004305 A JP2017004305 A JP 2017004305A JP 2017004305 A JP2017004305 A JP 2017004305A JP 6859711 B2 JP6859711 B2 JP 6859711B2
Authority
JP
Japan
Prior art keywords
character string
score
character
display
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017004305A
Other languages
English (en)
Other versions
JP2018113643A (ja
Inventor
泰正 笹野
泰正 笹野
賢一 鵜飼
賢一 鵜飼
拓也 中山
拓也 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2017004305A priority Critical patent/JP6859711B2/ja
Priority to EP17196786.2A priority patent/EP3349108B1/en
Priority to US15/808,763 priority patent/US20180203598A1/en
Publication of JP2018113643A publication Critical patent/JP2018113643A/ja
Application granted granted Critical
Publication of JP6859711B2 publication Critical patent/JP6859711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

この発明は、操作者が指やペン等で画面をなぞるように操作することによって文字列を入力する技術に関する。
従来、複数の文字キーを配列したキーパッドの画像を表示器の画面に表示し、操作者に指やペン等で画面をなぞるように操作させる文字列の入力装置がある(例えば、特許文献1参照)。この文字列の入力は、一般にジェスチャ入力と呼ばれている。
特許文献1に示されているように、文字列の入力装置は、タッチパネルを表示器の画面上に貼付している。操作者は、表示器の画面に表示されているキーパッドの画像上で、入力する文字列の文字キーを先頭から順番に押圧するように、指やペン等で表示器の画面をなぞるように操作する。文字列入力装置は、予め定められたサンプリング周期で、表示器の画面上の押圧位置を繰り返し検知することによって、表示器の画面上における操作者が指やペン等でなぞったラインの軌跡を取得する。文字列入力装置は、取得した軌跡における移動方向や移動速度の変化によって、ユーザが文字列を入力するためになぞった文字キーであるか、ある文字キーから別の文字キーへの移動経路の途中に位置しているためになぞった文字キーであるか(入力するためになぞった文字キーでない。)を判断し、ユーザが入力した文字列を推定している。
US8667414B2
最近、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列を推定する技術の開発が盛んに行われている。そして、操作者が指やペン等でなぞったラインの軌跡における移動方向や移動速度の変化を検出する処理にかかる負荷が大きいことから、比較的簡単な処理で入力された文字列を推定する技術が要望されている。
この発明の目的は、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える技術を提供することにある。
この発明の文字列入力装置は、上記目的を達するために、以下のように構成している。
表示部が、複数の文字キーを配列したキーパッドの画像を表示器の画面に表示する。操作位置検知部は、表示器の画面上の押圧位置を検知する。
スコア算出部は、キーパッドの画像の文字キー毎に、表示器の画面上の押圧位置に対するスコアを算出する。このスコア算出部は、例えば、表示器の画面上における文字キーの表示位置と、表示器の画面上の押圧位置との近さを示す値をスコアとして算出する。
スコアデータ生成部は、文字列入力期間において、操作位置検知部が検知した表示器の画面上の押圧位置毎に、その押圧位置に対して、スコア算出部が算出した各文字キーのスコアを登録したスコアデータを生成する。スコアデータ生成部は、例えば操作位置検知部による表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、その要素値をスコア算出部が算出したスコアとしたスコアデータを生成する。このスコアデータは、マトリクスデータであることから、スコア算出部が算出したスコアが画素値である画像データとみなすことができる。
入力文字列推定部は、スコアデータ生成部が生成したスコアデータを用いて、入力された文字列を推定する。
例えば、文字列毎に、基準スコアデータを対応付けて、文字列データベースに記憶する。この場合、入力文字列推定部は、スコアデータ生成部が生成したスコアデータと、特徴量データベースが文字列毎に記憶している基準スコアデータと、を照合し、その類似度によって入力された文字列を推定する。
また、文字列毎に、基準スコアデータの特徴量を対応付けて文字列データベースに記憶する。この場合、入力文字列推定部が、スコアデータ生成部が生成したスコアデータの特徴量と、特徴量データベースが文字列毎に記憶している基準スコアデータの特徴量と、を照合し、その類似度によって入力された文字列を推定する。
入力文字列推定部が、スコアデータ生成部が生成したスコアデータを画像データとみなして処理することによって、操作者が指やペン等でなぞったラインの軌跡における移動方向や移動速度の変化を検出することなく、入力された文字列を推定することができる。すなわち、操作者が指やペン等で表示器の画面をなぞった文字列の入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
また、入力文字列推定部は、文字列入力期間において、操作位置検知部が最初に検知した表示器の画面上の押圧位置に対して、スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の先頭の文字に確定する構成にしてもよい。通常、操作者は、文字列を入力するために表示器の画面をなぞる操作を開始するとき、表示器の画面上において、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。すなわち、操作者は、文字列入力期間の開始タイミングにおいて、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧している。この構成によれば、入力文字列推定部は、先頭の文字が確定した文字と同じである文字列についてのみ、入力された文字列であるかどうかを推定すればよいので、処理負荷が一層低減される。
また、入力文字列推定部は、文字列入力期間において、操作位置検知部が最後に検知した表示器の画面上の押圧位置に対して、スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の末尾の文字に確定する構成にしてもよい。通常、操作者は、文字列を入力するための表示器の画面をなぞる操作を終了するとき、表示器の画面上において、入力する文字列の末尾の文字に対応する文字キーを押圧している指やペン等を離す。すなわち、操作者は、文字列入力期間の終了タイミングにおいて、入力する文字列の末尾の文字に対応する文字キーを指やペン等で押圧している。この構成によれば、入力文字列推定部は、末尾の文字が確定した文字と同じである文字列についてのみ、入力された文字列であるかどうかを推定すればよいので、処理負荷が一層低減される。
この発明によれば、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
この例にかかる文字列入力装置の主要部の構成を示すブロック図である。 文字列の入力操作を説明する図である。 文字キーのスコアdを算出する手法を説明する図である。 文字キーのスコアdを算出する別の手法を説明する図である。 スコアデータを示す図である。 文字列入力処理を示すフローチャートである。 文字列推定処理を示すフローチャートである。 別の例にかかる文字列推定処理を示すフローチャートである。
以下、この発明の実施形態である文字列入力装置について説明する。
図1は、この例にかかる文字列入力装置の主要部の構成を示すブロック図である。この例にかかる文字列入力装置1は、制御部2と、表示部3と、操作位置検知部4と、キーパッド画像記憶部5と、文字列データ記憶部6とを備えている。この文字列入力装置1は、例えばスマートフォンやタブレット端末等の携帯端末の一部の機能として構成することもできれば、机上に据え置いて使用するデスクトップパソコン等の情報処理装置の一部の機能として構成することもできる。
制御部2は、この文字列入力装置1本体各部の動作を制御する。この制御部2は、ハードウェアCPU、メモリ、その他の電子回路によって構成されている。ハードウェアCPUが、スコア算出機能部21、スコアデータ生成機能部22、入力文字列推定機能部23、および候補文字列出力機能部24として機能する。また、メモリは、この発明にかかる文字列入力プログラムを展開する領域、文字列入力装置1本体の動作時に生じたデータを一時的に記憶する領域等を有する。制御部2は、ハードウェアCPU、メモリ等を一体化したLSIで構成してもよい。制御部2が有する、スコア算出機能部21、スコアデータ生成機能部22、入力文字列推定機能部23、および候補文字列出力機能部24の詳細については後述する。
表示部3は、制御部2から指示された画像(例えば、後述するキーパッド画像)を、表示器10の画面に表示する。
操作位置検知部4は、指やペン等で押圧された表示器10の画面上の位置を検知する。この例では、操作位置検知部4は、表示器10の画面に貼付したタッチパネル11を用いて、指やペン等で押圧された表示器10の画面上の位置を検知する。操作位置検知部4は、予め定められているサンプリング周期(例えば、10〜50msec)で、表示器10の画面上の押圧位置を繰り返し検知する。
キーパッド画像記憶部5は、複数の文字キーを配列したキーパッドの画像を1つ以上記憶する。制御部2は、キーパッド画像記憶部5が記憶しているキーパッド画像であって、その時点で選択されているキーパッドの画像を表示器10に表示することを表示部3に指示する。図1では、アルファベット26文字の文字キーからなるキーパッドの画像が表示器10の画面に表示されている例を示している。
文字列データ記憶部6は、文字列毎に、その文字列と基準データとを対応付けた特徴情報を記憶する。文字列データ記憶部6は、キーパッド画像記憶部5が記憶するキーパッドの画像毎に、特徴情報を記憶する。基準データは、n行M列のマトリクスデータである。nは、対応するキーパッドの画像に配列されている文字キーの個数である。Mは、予め定めた値である。基準データの詳細については、後述する。
なお、ここでは、基準データは、n行M列のマトリクスデータであるとして説明するが、行と列とを入れ替えたM行n列のマトリクスデータであってもよい。
図1に示す例では、キーパッド画像記憶部5、および文字列データ記憶部6を、それぞれ制御部2とは異なる構成として図示しているが、キーパッド画像記憶部5、および文字列データ記憶部6は、制御部2が備えるメモリで構成してもよい。
操作者は、表示器10の画面上に表示されているキーパッドの画像を指やペン等でなぞることで文字列を入力する。具体的には、操作者は、入力する文字列を構成する文字を先頭から順番に、その文字に対応する文字キーを押圧するように、表示器10の画面上に表示されているキーパッドの画像を指やペン等でなぞる。例えば、図2は、操作者が「action」という6文字からなる文字列を入力するために、表示器10の画面上に表示されているキーパッドの画像を指やペン等でなぞった軌跡を示している。図2に示すように、操作者は、入力する文字列「action」にかかる文字の文字キー「A」、「C」、「T」、「I」、「O」、「N」の上方だけでなく、他の文字の文字キー(例えば、「Z」、「X」等)の上方も押圧する。
ここで、制御部2が有するスコア算出機能部21、スコアデータ生成機能部22、入力文字列推定機能部23、および候補文字列出力機能部24について説明する。この制御部2が、この発明にかかる入力文字列推定方法を実行する。また、この発明にかかる入力文字列推定プログラムは、制御部2にインストールされる。
スコア算出機能部21は、表示器10の画面に表示している画像であるキーパッドの文字キー毎に、操作者が指やペン等で押圧した表示器10の画面上の押圧位置に対するスコアdを算出する。図3は、各文字キーのスコアdを算出する手法を説明する図である。表示器10の画面には、図3(A)に示すように、複数の文字キーからなるキーパッドの画像が表示されている。図3(A)に示すp1、p2、およびp3は、操作位置検知部4によって検知された、操作者が指やペン等で押圧した表示器10の画面上の押圧位置を示している。例えば、押圧位置p1は、操作位置検知部4がタイミングtで検知した押圧位置であり、押圧位置p2は、操作位置検知部4がタイミングtで検知した押圧位置であり、押圧位置p3は、操作位置検知部4がタイミングtで検知した押圧位置である。タイミングt、t、tは、それぞれが異なるタイミングである。
スコア算出機能部21は、表示器10の画面上の押圧位置pに対する文字キーのスコアdを、その文字キーの中心と押圧位置pとの距離xにかかる値として算出する。この例では、図3(B)に示すように、文字キーのスコアdは、
=d−x
により算出する。但し、d<xであるとき、d=0とする。
この例では、算出されるスコアdの値は、距離xが長くなるにつれて小さくなり、距離xがある長さ(ここでは、d)を越えると、一定値(d=0)になる。また、この例では文字キーを矩形とし、この文字キーの外接円の半径をdとしている。文字キーは、正方形であってもよいし、長方形であってもよい。
例えば、図3(C)に示す押圧位置p1に対するスコアdが0以外の値になる文字キーは、「O」、および「K」の2つの文字キーである(その他の文字キーは、スコアdが0である。)。また、図3(C)に示す押圧位置p2に対するスコアdが0以外の値になる文字キーは、「O」のみである(その他の文字キーは、スコアdが0である。)。また、図3(C)に示す押圧位置p3に対するスコアdが0以外の値になる文字キーは、「O」、「I」および「K」の3つの文字キーである(その他の文字キーは、スコアdが0である。)。
なお、上記の例では、スコアdの最大値はdになる。例えば、スコアの最大値を、255にしてもよい。具体的には、スコアd
=(255/d)(d−x)
により算出し、小数点以下を四捨五入(切上げ、切捨てであってもよい。)すればよい。 但し、d<xであるとき、d=0である。これにより、スコアdを256階調の値として用いることができる。
また、スコアdの算出式は、上述した式に限らず、距離xが長くなるにつれて値が小さくなる、または値が大きくなるものであれば、どのような算出式であってもよい。例えば、スコアdの算出式は、
=d2−x2
であってもよい。但し、d<xであるとき、d=0である。
また、上記の例では、dは、文字キーの外接円の半径であるとしたが、この外接円の半径よりも少し大きい値にしてもよい。また、文字キーが正方形である場合には、文字キーの内接円の半径をdにしてもよい。また、文字キーが長方形である場合には、図4(A)に示すように文字キーに外接する楕円の長径の半分(1/2)をdにしてもよい。また、図4(B)に示すように文字キーの中心と押圧位置pを結ぶ直線が文字キーに外接する楕円と交わる交点と、文字キーの中心との距離をdにしてもよい。図4(B)に示す例では、dは、一定の値ではなく、押圧位置pに応じて変化する。
スコアデータ生成機能部22は、文字列入力期間において、操作位置検知部4がサンプリング周期で検知した押圧位置毎に、スコア算出機能部21が算出した各文字キーのスコアを登録したスコアデータを生成する。スコアデータ生成機能部22は、操作位置検知部4が前回表示器10の画面上の押圧位置を検知しておらず、今回表示器10の画面上の押圧位置を検知したタイミングを、文字列入力期間の開始タイミングであると判定する。また、スコアデータ生成機能部22は、操作位置検知部4が前回表示器10の画面上の押圧位置を検知しており、今回表示器10の画面上の押圧位置を検知していないとき、前回表示器10の画面上の押圧位置を検知したタイミングを、文字列入力期間の終了タイミングであると判定する。
したがって、文字列入力期間の時間長さによって、操作位置検知部4が文字列入力期間に検知する表示器10の画面上の押圧位置の個数mが変化する。文字キーの個数nは、表示器10の画面に表示されているキーパッドによって決まる。この例(図1や、図2に示す例)では、文字キーの個数nは26である。スコア算出機能部21は、文字入力期間において、スコアdをm×n個算出する。
スコアデータ生成機能部22は、n行m列(行と列を入れ替えて、m行n列であってもよい。)のマトリクスデータ(図5参照)を、スコアデータとして生成する。図5に示すスコアデータの各行は、文字キーに対応する。また、図5に示すスコアデータの各列は、操作位置検知部4が表示器10の画面上の押圧位置を検知したタイミングに相当し、行方向(図5における横方向)に時間的に連続している。要素値は、スコア算出機能部21が算出したスコアである。このスコアデータは、n行m列のマトリクスデータであるので、要素値を画素値とみなすことによって、画像データとみなすことができる。
また、上述したように、文字列入力期間の時間長さによって、操作位置検知部4が文字列入力期間に検知する表示器10の画面上の押圧位置の個数mが変化する。文字列入力期間の時間長さは、入力する文字列の文字数や、操作者が表示器10の画面上に表示されているキーバッドの画像をなぞる速度等によって変化する。スコアデータ生成機能部22は、スコアデータとして生成したn行m列のマトリクスデータを、文字列入力期間の時間長さに依存しない、n行M列のマトリクスデータに変換する正規化を行う。例えば、スコアデータ生成機能部22は、m>Mである場合、線形補間等によって、生成したn行m列のマトリクスデータから列を減らして、n行M列のマトリクスデータに変換する。また、スコアデータ生成機能部22は、m<Mである場合、線形補間等によって、生成したn行m列のマトリクスデータに列を増やして、n行M列のマトリクスデータに変換する。以下の説明では、正規化したn行M列のマトリクスデータを正規化したスコアデータという場合もある。
なお、スコアデータ生成機能部22は、m=Mの場合、生成したスコアデータを正規化したスコアデータにする。
入力文字列推定機能部23は、スコアデータ生成機能部22が正規化したスコアデータを画像データとみなし、公知の画像照合技術により文字列を推定する。上述したように、文字列データ記憶部6は、文字列毎に、その文字列と基準データとを対応付けた特徴情報を記憶している。そして、基準データは、n行M列のマトリクスデータである。具体的には、基準データは、対応する文字列の入力を繰り返し、文字列の入力毎に生成された正規化したスコアデータを統計的に処理して作成したものである。上述したように、文字列データ記憶部6は、キーパッド画像記憶部5が記憶するキーパッドの画像毎に、特徴情報を記憶する。基準データが、この発明で言う基準スコアデータに相当する。
入力文字列推定機能部23は、正規化したスコアデータとの類似度が、予め定めた閾値を越えている基準データに対応する文字列を入力された文字列の候補であると推定する。
候補文字列出力機能部24は、表示部3に対して、入力文字列推定機能部23が推定した文字列の候補を表示器10に表示することを指示する。表示部3は、この指示にしたがって、入力文字列推定機能部23が推定した文字列の候補を表示器10の画面に表示する。このとき、文字列の候補は、正規化したスコアデータとの類似度が高い基準データに対応する文字列から順番に表示器10に表示してもよいし、アルファベット順や50音順等で表示器10に表示してもよい。
制御部2は、操作者がいずれかの候補を選択すると、選択された文字列を入力された文字列として確定する。操作者は、表示器10の画面上で、選択する候補文字列が表示されている位置を押圧することにより候補文字列の選択を行う。
次に、この文字列入力装置における文字列の入力処理について説明する。図6は、文字列入力装置における文字列の入力処理を示すフローチャートである。文字列入力装置1は、表示器10の画面上に複数の文字キーからなるキーパッドの画像(この時点で選択されているキーパッドの画像)を表示している。文字列入力装置1は、文字列入力期間の開始タイミングであるかどうかの判定を繰り返す(s1)。上述したように、操作位置検知部4は、予め定められたサンプリング周期で表示器10の画面上の押圧位置を検知し、検知した押圧位置を制御部2に入力している。スコア算出機能部21は、操作位置検知部4から、前回表示器10の画面上の押圧位置が入力されておらず(操作位置検知部4において、前回表示器10の画面上の押圧位置が検知されていない。)、今回表示器10の画面上の押圧位置が入力されていると(操作位置検知部4において、今回表示器10の画面上の押圧位置が検知されている。)、文字列入力期間の開始タイミングであると判定する。
この文字列入力期間の開始タイミングは、操作者が文字列を入力するために、指やペン等で表示器10の画面上を押圧し、なぞり始めたタイミングである。
スコア算出機能部21は、s1で文字列入力期間の開始タイミングであると判定すると、今回の文字列入力期間の終了タイミングに達するまで、操作位置検知部4から入力されている表示器10の画面上の押圧位置を収集する(s2、s3)。s2では、スコア算出機能部21は、操作位置検知部4から入力されている表示器10の画面上の押圧位置を時系列にメモリに記憶する。また、s3では、スコア算出機能部21は、操作位置検知部4から、前回表示器10の画面上の押圧位置が入力されており(操作位置検知部4において、前回表示器10の画面上の押圧位置が検知されている。)、今回表示器10の画面上の押圧位置が入力されていないと(操作位置検知部4において、今回表示器10の画面上の押圧位置が検知されていない。)、前回表示器10の画面上の押圧位置が検知されたタイミングを、文字列入力期間の終了タイミングであると判定する。
この文字列入力期間の終了タイミングは、操作者が表示器10の画面上をなぞり終え、指やペン等を表示器10の画面上から離す直前のタイミングである。
s2では、文字列入力期間において、操作位置検知部4がサンプリング周期間隔で検知した表示器10の画面上の押圧位置が収集される。
制御部2は、s3で文字列入力期間の終了タイミングであると判定すると、各文字キーに対するスコアdの算出を行う(s4)。s4では、スコア算出機能部21が、今回の文字列入力期間中に収集した、表示器10の画面上の押圧位置毎に、各文字キーに対するスコアdを算出する。このs4にかかる処理は、文字列入力期間の終了タイミングを待つことなく、操作位置検知部4から表示器10の画面上の押圧位置が入力されていれば実行するようにしてもよい。すなわち、s2にかかる処理と、s4にかかる処理を並行して行う構成であってもよい。
スコアデータ生成機能部22は、スコア算出機能部21が表示器10の画面上の押圧位置毎に算出した、各文字キーのスコアdを登録したスコアデータ(図5参照)を生成する(s5)。このスコアデータは、上述したようにn行m列のマトリクスデータであり、mは、文字列入力期間の時間長さによって変化する。文字列入力期間の時間長さは、入力する文字列の文字数や、操作者が表示器10の画面上に表示されているキーバッドの画像を構成する文字キーをなぞる速度等によって変化する。
スコアデータ生成機能部22は、s5で生成したn行m列のマトリクスデータであるスコアデータを、n行M列のマトリクスデータに変換する正規化を行う(s6)。s6では、s5で生成したスコアデータを、正規化したスコアデータに変換する。n行m列のマトリクスデータを、n行M列のマトリクスデータに変換する正規化は、上述したように線形補間等で行う。
入力文字列推定機能部23は、正規化したスコアデータを用いて、今回入力された文字列を推定する文字列推定処理を行う(s7)。図7は、このs7にかかる文字列推定処理を示すフローチャートである。
入力文字列推定機能部23は、今回入力された文字列の先頭の文字、および末尾の文字を確定する(s21、s22)。通常、操作者は、表示器10の画面をなぞる文字列の入力にかかる操作を開始するとき、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。すなわち、操作者は、文字列入力期間の開始タイミングにおいて、入力する文字列の先頭の文字に対応する文字キーを指やペン等で押圧する。また、操作者は、表示器10の画面をなぞる文字列の入力にかかる操作を終了するとき、入力する文字列の末尾の文字に対応する文字キーを押圧している指やペン等を表示器10の画面から離す。すなわち、操作者は、文字列入力期間の終了タイミングの直前において、入力する文字列の末尾の文字に対応する文字キーを指やペン等で押圧している。s21では、今回の文字列入力期間の開始タイミングにおいて、スコアdが最大である文字キーにかかる文字を、今回入力された文字列の先頭の文字に確定する。また、s22では、今回の文字列入力期間の終了タイミングにおいて、スコアdが最大である文字キーにかかる文字を、今回入力された文字列の末尾の文字に確定する。
なお、s21、s22にかかる処理の順番は、逆であってもよい。
入力文字列推定機能部23は、文字列データ記憶部6に記憶している文字列の中で、s21で確定した文字が先頭の文字であり、且つs22で確定した文字が末尾の文字である文字列を抽出する(s23)。入力文字列推定機能部23は、s23で抽出した文字列毎に、その文字列の基準データと、s6で正規化したスコアデータと、の照合を行う(s24)。入力文字列推定機能部23は、s24における照合で、類似度が予め定めた閾値を超えている文字列を、入力候補文字列であると推定する(s25)。s25では、入力候補文字列が1つ以上推定されることもあれば、1つも推定されないこともある。
なお、s21〜s23にかかる処理は、s24にかかる処理の処理負荷を抑えるものであり、処理能力が高い制御部2であれば、特に設けなくてもよい。また、s21、またはs22の一方を設け、他方を設けない構成にしてもよい。
図6に戻って、候補文字列出力機能部24が、s7で推定された入力候補文字列の出力処理を行う(s8)。候補文字列出力機能部24は、表示部3に対して、s7で推定された入力候補文字列を表示器10の画面に表示することを指示する。表示部3は、この指示にしたがって、入力候補文字列を表示器10の画面に表示する。
なお、s7で、入力文字列推定機能部23が入力候補文字列を1つも推定していない場合、候補文字列出力機能部24は、s8で表示部3に対して、文字列の入力操作のやり直しを案内するメッセージを表示器10の画面に表示することを指示する。
制御部2は、s8で出力した候補文字列のいずれかを選択する選択操作があると(s9)、選択された候補文字列を今回入力された文字列に確定し(s10)、s1に戻る。
このように、この文字列入力装置1は、操作者が表示器10の画面上に表示されているキーパッドの画像をなぞって入力した文字列を、操作者がなぞったラインの軌跡における移動方向や移動速度の変化を検出して推定するのではなく、画像照合技術を応用して推定する。したがって、この文字列入力装置1は、操作者が指やペン等で表示器の画面をなぞった入力操作に対して、その操作者が入力した文字列の推定が比較的簡単な処理で行える。
また、上記の例では、文字列データ記憶部6は、文字列毎に、基準データとして、その文字列にかかるn行M列のマトリクスデータを記憶するとしたが、このn行M列のマトリクスデータの特徴量を記憶する構成にしてもよい。特徴量は、n行M列のマトリクスデータを画像データとみなし、公知の画像の特徴量を抽出する技術を利用することで取得できる。
この場合、s7にかかる文字列推定処理は、図8に示す処理にすればよい。具体的には、入力文字列推定機能部23は、今回入力された文字列の先頭の文字、および末尾の文字を確定する(s31、s32)。そして、入力文字列推定機能部23は、文字列データ記憶部6に記憶している文字列の中で、s31で確定した文字が先頭の文字であり、且つs32で確定した文字が末尾の文字である文字列を抽出する(s33)。このs31〜s33にかかる処理は、上述したs21〜s23にかかる処理と同じである。
入力文字列推定機能部23は、s6で正規化したスコアデータを画像データとみなし、特徴量を抽出する(s34)。入力文字列推定機能部23は、s33で抽出した文字列毎に、その文字列の特徴量と、s34で抽出した特徴量と、の照合を行う(s35)。入力文字列推定機能部23は、s35における照合で、類似度が予め定めた閾値を超えている文字列を、入力候補文字列であると推定する(s36)。
このように構成すれば、文字列データ記憶部6の記憶容量を抑えることができる。
また、文字列入力装置1は、操作者が文字列の入力ために表示器10の画面上をなぞったラインの軌跡を、表示器10に表示するようにしてもよい。このように構成すれば、操作者に対して、文字列の入力にかかる操作ミス等を確認させることができる。操作者が文字列の入力ために表示器10の画面上をなぞったラインの軌跡は、s2で収集している操作位置を表示器10の画面上に表示することで行える。また、操作者が文字列の入力ために表示器10の画面上をなぞったラインの軌跡は、s9で候補文字列の選択を受け付けたときや、文字列入力期間の終了タイミングから一定時間経過したとき等に、表示器10における表示を消去すればよい。
また、入力文字列推定機能部23を人工知能(AI)で構成し、操作者が文字列を入力する表示器10の画面上をなぞる操作を学習させ、入力された文字列の推定精度の向上を図るようにしてもよい。
また、スコア算出機能部21は、例えば文字列入力期間の開始タイミングから予め定めた時間経過したタイミングを、文字列入力期間の終了タイミングであると判定してもよいし、他の条件で文字列入力期間の終了タイミングであると判定してもよい。同様に、スコア算出機能部21は、上記以外の他の条件で、文字列入力期間の開始タイミングであるかどうかを判定してもよい。さらには、文字列入力期間の開始タイミングであると判定する条件を複数設定しておき、いずれかの条件が満足したときに、文字列入力期間の開始タイミングであると判定してもよい。同様に、文字列入力期間の終了タイミングであると判定する条件を複数設定しておき、いずれかの条件が満足したときに、文字列入力期間の終了タイミングであると判定してもよい。
1…文字列入力装置
2…制御部
3…表示部
4…操作位置検知部
5…キーパッド画像記憶部
6…文字列データ記憶部
10…表示器
11…タッチパネル
21…スコア算出機能部
22…スコアデータ生成機能部
23…入力文字列推定機能部
24…候補文字列出力機能部

Claims (11)

  1. 複数の文字キーを配列したキーパッドの画像を表示器の画面に表示する表示部と、
    文字列入力期間において、前記表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知部と、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知部が検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出部と、
    文字列入力期間において、前記操作位置検知部による前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出部によって算出されたスコアであるスコアデータを生成するスコアデータ生成部と、
    文字列毎に、前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータを記憶した文字列データベースと、
    前記スコアデータ生成部が生成したスコアデータと、前記文字列データベースが文字列毎に記憶している基準スコアデータとを照合し、その類似度によって入力された文字列を推定する入力文字列推定部と、を備えた文字列入力装置。
  2. 複数の文字キーを配列したキーパッドの画像を表示器の画面に表示する表示部と、
    文字列入力期間において、前記表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知部と、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知部が検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出部と、
    文字列入力期間において、前記操作位置検知部による前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出部によって算出されたスコアであるスコアデータを生成するスコアデータ生成部と、
    文字列毎に、前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータの特徴量を記憶した文字列データベースと、
    前記スコアデータ生成部が生成したスコアデータの特徴量と、前記文字列データベースが文字列毎に記憶している基準スコアデータの特徴量とを照合し、その類似度によって入力された文字列を推定する入力文字列推定部と、を備えた文字列入力装置。
  3. 前記入力文字列推定部は、前記スコアデータ生成部が生成したスコアデータに対して、そのスコアデータの要素値の個数を、前記基準スコアデータの要素値の個数に合わせる正規化を行い、正規化したスコアデータを基準スコアデータと照合する、請求項1に記載の文字列入力装置。
  4. 前記入力文字列推定部は、前記スコアデータ生成部が生成したスコアデータに対して、そのスコアデータの要素値の個数を、前記基準スコアデータの要素値の個数に合わせる正規化を行い、正規化したスコアデータの特徴量と、基準スコアデータの特徴量とを照合する、請求項2に記載の文字列入力装置。
  5. 前記スコア算出部は、前記表示器の画面上における文字キーの表示位置と、前記操作位置検知部が検知した前記表示器の画面上の押圧位置との近さを示す値をスコアとして算出する、請求項1〜4のいずれかに記載の文字列入力装置。
  6. 前記入力文字列推定部は、文字列入力期間において、前記操作位置検知部が最初に検知した前記表示器の画面上の押圧位置に対して、前記スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の先頭の文字に確定する、請求項1〜5のいずれかに記載の文字列入力装置。
  7. 前記入力文字列推定部は、文字列入力期間において、前記操作位置検知部が最後に検知した前記表示器の画面上の押圧位置に対して、前記スコア算出部が算出したスコアが最大であった文字キーにかかる文字を、推定する文字列の末尾の文字に確定する、請求項1〜6のいずれかに記載の文字列入力装置。
  8. 複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知ステップと、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知ステップで検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出ステップと、
    文字列入力期間に、前記操作位置検知ステップによる前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出ステップで算出したスコアであるスコアデータを生成するスコアデータ生成ステップと、
    前記スコアデータ生成ステップで生成したスコアデータと、文字列データベースが文字列毎に記憶している前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータとを照合し、その類似度によって入力された文字列を推定する入力文字列推定ステップと、をコンピュータが実行する入力文字列推定方法。
  9. 複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知ステップと、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知ステップで検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出ステップと、
    文字列入力期間に、前記操作位置検知ステップによる前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出ステップで算出したスコアであるスコアデータを生成するスコアデータ生成ステップと、
    前記スコアデータ生成ステップで生成したスコアデータの特徴量と、文字列データベースが文字列毎に記憶している前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータの特徴量とを照合し、その類似度によって入力された文字列を推定する入力文字列推定ステップと、をコンピュータが実行する入力文字列推定方法。
  10. 複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知ステップと、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知ステップで検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出ステップと、
    文字列入力期間に、前記操作位置検知ステップによる前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出ステップで算出したスコアであるスコアデータを生成するスコアデータ生成ステップと、
    前記スコアデータ生成ステップで生成したスコアデータと、文字列データベースが文字列毎に記憶している前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータとを照合し、その類似度によって入力された文字列を推定する入力文字列推定ステップと、をコンピュータに実行させる入力文字列推定プログラム。
  11. 複数の文字キーを配列したキーパッドの画像を表示した表示器の画面上の押圧位置を予め定めたサンプリング周期で繰り返し検知する操作位置検知ステップと、
    前記キーパッドの画像の文字キー毎に、前記操作位置検知ステップで検知した前記表示器の画面上の押圧位置に対するスコアを算出するスコア算出ステップと、
    文字列入力期間に、前記操作位置検知ステップによる前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータであり、各要素値が対応する検知タイミングに対応する文字キーについて前記スコア算出ステップで算出したスコアであるスコアデータを生成するスコアデータ生成ステップと、
    前記スコアデータ生成ステップで生成したスコアデータの特徴量と、文字列データベースが文字列毎に記憶している前記表示器の画面上の押圧位置の検知タイミングと、文字キーとを関連付けたマトリクスデータである基準スコアデータの特徴量とを照合し、その類似度によって入力された文字列を推定する入力文字列推定ステップと、をコンピュータに実行させる入力文字列推定プログラム。
JP2017004305A 2017-01-13 2017-01-13 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム Active JP6859711B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017004305A JP6859711B2 (ja) 2017-01-13 2017-01-13 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム
EP17196786.2A EP3349108B1 (en) 2017-01-13 2017-10-17 Character string input apparatus, input character string inference method, and input character string presumption program
US15/808,763 US20180203598A1 (en) 2017-01-13 2017-11-09 Character string input apparatus, input character string inference method, and input character string presumption program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017004305A JP6859711B2 (ja) 2017-01-13 2017-01-13 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム

Publications (2)

Publication Number Publication Date
JP2018113643A JP2018113643A (ja) 2018-07-19
JP6859711B2 true JP6859711B2 (ja) 2021-04-14

Family

ID=60138224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017004305A Active JP6859711B2 (ja) 2017-01-13 2017-01-13 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム

Country Status (3)

Country Link
US (1) US20180203598A1 (ja)
EP (1) EP3349108B1 (ja)
JP (1) JP6859711B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708473B (zh) * 2020-05-25 2022-02-18 维沃移动通信有限公司 应用程序的操作控制方法、装置和电子设备
CN113779311A (zh) * 2020-11-04 2021-12-10 北京沃东天骏信息技术有限公司 一种数据处理的方法、装置和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251367B2 (en) * 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7382358B2 (en) * 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
GB201200643D0 (en) * 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US8667414B2 (en) * 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US8713464B2 (en) * 2012-04-30 2014-04-29 Dov Nir Aides System and method for text input with a multi-touch screen
JP2015041845A (ja) * 2013-08-21 2015-03-02 カシオ計算機株式会社 文字入力装置及びプログラム
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding

Also Published As

Publication number Publication date
JP2018113643A (ja) 2018-07-19
US20180203598A1 (en) 2018-07-19
EP3349108A1 (en) 2018-07-18
EP3349108B1 (en) 2021-12-29

Similar Documents

Publication Publication Date Title
JP4560062B2 (ja) 筆跡判定装置、方法およびプログラム
US9030416B2 (en) Data entry system and method of entering data
JP5852930B2 (ja) 入力文字推定装置およびプログラム
Bi et al. Bimanual gesture keyboard
JP3131287B2 (ja) パターン認識装置
CN105229574A (zh) 减少基于触摸的键盘的错误率
JP2015148946A (ja) 情報処理装置、情報処理方法及びプログラム
WO2010010350A1 (en) Data input system, method and computer program
JP2009093291A (ja) ジェスチャー判定装置及び方法
JP2011081778A (ja) ディスプレイ非依存のコンピュータによるガイダンス方法および装置
JP2004342101A (ja) データ処理装置及び方法
JP6859711B2 (ja) 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム
EP3260955A1 (en) Slide input method and apparatus
JP2005251222A (ja) 手書き入力装置、手書き入力プログラム、および、プログラム記録媒体
CN110765735B (zh) 数学表达式输入方法、装置及电子设备
TWI505173B (zh) 提高手持裝置觸碰鍵盤辨識率的系統和方法
JP2012098891A (ja) 情報処理システムおよび情報処理方法
JP6430011B6 (ja) 漢字入力方法及び装置
JP2017536630A6 (ja) 漢字入力方法及び装置
US20150347004A1 (en) Indic language keyboard interface
JP4912076B2 (ja) 文字列予測装置及び文字列予測プログラム
KR102530995B1 (ko) 소프트웨어로 구현된 문자 입력 장치
EP4139771B1 (en) Apparatus and method for entering logograms into an electronic device
CN110765736B (zh) 数学表达式输入方法、装置及移动设备
JP5666011B1 (ja) 方法及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6859711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150