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

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

Info

Publication number
JP5615583B2
JP5615583B2 JP2010089715A JP2010089715A JP5615583B2 JP 5615583 B2 JP5615583 B2 JP 5615583B2 JP 2010089715 A JP2010089715 A JP 2010089715A JP 2010089715 A JP2010089715 A JP 2010089715A JP 5615583 B2 JP5615583 B2 JP 5615583B2
Authority
JP
Japan
Prior art keywords
character
contact
touch panel
input
finger
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.)
Expired - Fee Related
Application number
JP2010089715A
Other languages
English (en)
Other versions
JP2011221759A (ja
JP2011221759A5 (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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2010089715A priority Critical patent/JP5615583B2/ja
Priority to PCT/JP2011/058943 priority patent/WO2011126122A1/ja
Priority to US13/637,809 priority patent/US9182907B2/en
Priority to CN201180027933.4A priority patent/CN102934053B/zh
Publication of JP2011221759A publication Critical patent/JP2011221759A/ja
Publication of JP2011221759A5 publication Critical patent/JP2011221759A5/ja
Application granted granted Critical
Publication of JP5615583B2 publication Critical patent/JP5615583B2/ja
Expired - Fee Related 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
    • 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/018Input/output arrangements for oriental characters
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Telephone Function (AREA)

Description

本発明は、文字入力装置、文字入力方法および文字入力プログラムに関する。
近年、直感的な操作を可能にするとともに、キーボードのように物理的に大きな面積を必要とするデバイスを具備しない小型の文字入力装置を実現するために、タッチパネルが広く利用されるようになっている。タッチパネルを用いて文字を入力するための技術として、タッチパネル上で文字を手書き入力する技術(例えば、特許文献1)と、タッチパネル上に表示された仮想的なキーボード(以下、「仮想キーボード」という)を用いて文字を入力する技術(例えば、特許文献2)が知られている。
特開2003−141448号公報 特開2008−108233号公報
しかしながら、タッチパネル上で文字を手書き入力する従来技術には、入力と文字認識処理に時間がかかるため高速な文字入力が困難であるという問題があった。また、仮想キーボードを用いて文字を入力する従来技術でも、入力したい文字に対応するキーごとに指をタッチパネルに対して上げ下げする動作を繰り返す必要があったため、高速な文字入力が困難であった。
本発明は、上記に鑑みてなされたものであって、タッチパネル上で高速に文字を入力することを可能にする文字入力装置、文字入力方法および文字入力プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する。
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、英字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する。
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、接触検出部と、文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する。
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する。
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する。
上述した課題を解決し、目的を達成するために、本発明は、文字入力方法であって、文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する。
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する機能を発揮させる。
上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する機能を発揮させる。
また、上述した課題を解決し、目的を達成するために、本発明は、文字入力プログラムであって、文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する機能を発揮させる。
本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、タッチパネル上で高速に文字を入力することを可能にするという効果を奏する。
図1は、携帯電話端末の外観を示す正面図である。 図2は、タッチパネル上に表示される仮想キーボードを示す図である。 図3は、ボタン領域内を指が通過した例を示す図である。 図4は、ボタン領域内で指の移動方向が変化した例を示す図である。 図5は、ボタン領域内で指が回転する軌跡を描いた例を示す図である。 図6は、文字入力の操作例を示す図である。 図7−1は、候補の選択の操作例を示す図である。 図7−2は、記号入力の操作例を示す図である。 図7−3は、記号入力の他の操作例を示す図である。 図8は、入力文字列候補表示領域内での指の移動方向の変化の例を示す図である。 図9は、携帯電話端末の機能の概略構成を示すブロック図である。 図10は、仮想キーボードデータの一例を示す図である。 図11は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。 図12は、携帯電話端末による文字入力処理の処理手順を示すフロー図である。 図13は、入力文字バッファの一例を示す図である。 図14は、一時バッファの一例を示す図である。 図15は、文字入力判定処理の処理手順を示すフロー図である。 図16は、記号入力判定処理の処理手順を示すフロー図である。 図17は、候補選択判定処理の処理手順を示すフロー図である。 図18は、候補取得処理の処理手順を示すフロー図である。 図19は、記号の受け付け時に候補を確定する処理の一例を示す図である。
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、文字入力装置として携帯電話端末を例として説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、タッチパネルを備える各種装置、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
図1は、本発明の文字入力装置の一実施形態である携帯電話端末1の外観を示す正面図である。携帯電話端末1は、タッチパネル2と、ボタン3A、ボタン3Bおよびボタン3Cからなる入力部3を備える。タッチパネル2は、文字、図形、画像等を表示するとともに、指、スタイラス、ペン等(以下、単に「指」という)を用いてタッチパネル2に対して行われる各種動作を検出する。入力部3は、いずれかのボタンが押下された場合に、押下されたボタンに対応する機能を起動させる。
携帯電話端末1は、利用者から文字の入力を受け付けるために、図2に示すように、タッチパネル2上に仮想キーボード4を表示させる。また、図2に示すように、タッチパネル2には、入力文字列候補表示領域14と、記号領域15Aおよび15Bとが設けられる。入力文字列候補表示領域14には、仮想キーボード4に対して行われた動作から予測または変換された文字列が、入力された文字列の候補として表示される。記号領域15Aおよび15Bは、句点や読点等の記号を入力するために利用される。記号領域15Aおよび15Bは、仮想キーボード4が表示されている間のみ記号(例えば、句読点)を入力するための領域として機能する。
なお、記号領域15Aおよび15Bが記号を入力するための領域として機能する状態となっているときの外観は、外枠や背景色によってその領域の範囲が利用者に明確になるようなっていてもよいし、実行中のプログラムがその領域に表示している内容を利用者が視認できるように透明であってもよい。図2に示した例で、記号領域15Aには句点(「。」)が表示され、記号領域15Bには読点(「、」)が表示されているように、その領域に対応する記号を領域内に表示してもよい。
以下に、仮想キーボード4上で入力された文字を識別する方式と、入力文字列候補表示領域14内に表示された候補のどれが選択されたかを判定する方式と、記号領域15Aおよび15Bで入力された記号を識別する方式とについて説明する。なお、以下の説明では、記号領域15Aと記号領域15Bを特に区別しない場合には、これらを記号領域15と総称する。
まず、仮想キーボード4上で入力された文字を識別する方式について説明する。図2に示すように、仮想キーボード4は、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。例えば、利用者が仮想キーボード4内の「Q」のボタンに指を置いて(接触して)離す動作をすると、その動作がタッチパネル2によって検出され、携帯電話端末1は、「Q」という文字を入力として受け付ける。
携帯電話端末1は、さらに、仮想キーボード4上での連続方式による文字の入力を受け付ける。連続方式とは、利用者が指をタッチパネル2に接触させたまま仮想キーボード4上を移動させることによって複数の文字を連続して入力することを可能にする方式である。連続方式では、利用者は、例えば、指をタッチパネル2に接触させたままで、「W」のボタン、「E」のボタン、「T」のボタンの順に滑るように移動させることで「WET」という文字列を入力することができる。
このように、連続方式では、ボタン毎に指を上げ下げする動作を行わずに、タッチパネル2上で指を滑るように移動させるだけで複数の文字を入力することができるため、非常に高速に文字を入力することができる。
ただし、連続方式では、利用者が指を移動させた軌跡上にある各ボタンについて、利用者がそのボタンに対応する文字を入力するために意図的に触れたのか、あるいは、利用者が他のボタン上へ指を移動させるために単にその上を通過させたに過ぎないのかを判定する必要がある。例えば、仮想キーボード4の配列がQWERTY配列であり、利用者が上記の「WET」という単語を入力したいものとする。この場合、利用者の指は「E」のボタンから「T」のボタンへ移動する際に、それらのボタンの間にある「R」のボタン上を通過することになる。このため、「R」のボタンについては意図的に触れたわけではないと判定できなかった場合には、利用者の意図に反して「WERT」という文字列が入力として受け付けられてしまう。
そこで、携帯電話端末1は、利用者が指を移動させた軌跡上にあるボタンのうち、特定の動作がタッチパネル2によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末1は、指の接触を開始する動作がタッチパネル2によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末1は、指の移動が終了しタッチパネル2から離れる動作がタッチパネル2によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
また、携帯電話端末1は、指がタッチパネル2に触れたまま移動方向を変更する動作がタッチパネル2によって検出された場合、移動方向の変更が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。具体的には、携帯電話端末1は、指がボタンに進入したときの移動方向と指がボタンから出るときの移動方向とを比較し、移動方向の角度差が閾値よりも大きければ、利用者が意図的にそのボタンに触れたと判定する。
これは、他のボタンへの移動中において、単に通過するに過ぎない場合、指はボタン上を一定方向へ移動し、図3に示すように進入時の移動方向(ベクトル)を示すV1と脱出時の移動方向を示すV2の角度差は小さくなると考えられるためである。また、図4に示すように進入時の移動方向を示すV3と脱出時の移動方向を示すV4の角度差の角度差が大きい場合、利用者が意図的にそのボタンに触れた後に他のボタンに触れるために移動方向を変更した可能性が高いためである。つまり、このボタンが目的ボタンの一つであったと判定できる。
また、携帯電話端末1は、図5に示すように、指がタッチパネル2に触れたままあるボタン領域内で回転する軌跡を描いて移動する動作がタッチパネル2によって検出された場合に、利用者が意図的にそのボタンに触れたと判定する。単に通過するに過ぎない場合に指がこのような軌跡を描いて移動することはないと考えられるためである。なお、回転する軌跡に限らずに、山型や波状等の特徴的な形状の軌跡が指によってボタン領域内で描かれた場合に、利用者が意図的にそのボタンに触れたと判定することとしてもよい。
このようにボタン領域内で特徴的な形状の軌跡を描く指の移動が検出された場合にそのボタンが意図的に触れられたと判定することにより、利用者は同じ文字を容易に連続して入力することが可能になる。例えば、「W」という文字を3回連続して入力したい場合、利用者は「W」のボタン領域内で円を3回描くように指を移動させればよい。ここで、例えば、ボタン領域内での指の移動ベクトルの角度の総計が360度を超える度に1回転とカウントすることにより、回転数をカウントすることができる。
利用者が携帯電話端末1に「エレクトロニクス(EREKUTORONIKUSU)」と入力する場合の操作例を図6に示す。s1では、「E」のボタン領域内に指が置かれた後、指がタッチパネル2に触れたまま、「R」、「E」、「H」、「J」、「K」の順にボタンの上を通過している。この場合、携帯電話端末1は、指が置かれた「E」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「R」、「E」、「K」のボタンが意図的に触れられたと判断する。
s2では、指がタッチパネル2に触れたまま、「U」、「Y」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「U」、「T」のボタンが意図的に触れられたと判断する。s3では、指がタッチパネル2に触れたまま、「O」、「I」、「U」、「Y」、「T」、「R」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「R」のボタンが意図的に触れられたと判断する。
s4では、指がタッチパネル2に触れたまま、「O」、「K」、「N」、「J」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「N」のボタンが意図的に触れられたと判断する。s5では、指がタッチパネル2に触れたまま、「I」、「K」、「U」、「G」、「F」、「D」、「S」、「R」、「T」、「Y」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「I」、「K」、「U」、「S」のボタンが意図的に触れられたと判断する。
s6では、タッチパネル2に触れたまま「U」のボタンへ移動した指が、「U」のボタン領域内でタッチパネル2から離れている。この場合、携帯電話端末1は、指がタッチパネル2から離れた位置にある「U」のボタンが意図的に触れられたと判断する。
以上の操作により、携帯電話端末1は、「E」、「R」、「E」、「K」、「U」、「T」、「O」、「R」、「O」、「N」、「I」、「K」、「U」、「S」、「U」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「エレクトロニクス(EREKUTORONIKUSU)」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
図6の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作に基づいて精度よく判定して文字の入力を受け付ける。このため、利用者は、携帯電話端末1に対して文字を高速かつ正確に入力することができる。
なお、携帯電話端末1は、単に指が通過したに過ぎないと判定したボタンに対応する文字を無視するのではなく、入力精度を向上させるためにそれらの文字を利用する。具体的には、携帯電話端末1は、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列を辞書と照合し、該当する単語が見つからない場合は、単に指が通過したに過ぎないと判定したボタンに対応する文字を補完して辞書との照合をやり直して正当な単語を見つけ出す。
例えば、利用者が携帯電話端末1に対して「WET」という単語を入力したい場合、利用者は、「W」のボタン領域内に指を置いた後、タッチパネル2に触れたまま指を「T」のボタンの方向へ移動させ、「T」のボタン領域内で指をタッチパネル2から離す。この場合、指が置かれた「W」のボタンと指が離れた「T」のボタンは意図的に触れられたと判定されるが、指が移動する軌道上にある「E」と「R」のボタンは、進入方向と脱出方向の角度差が小さいため、単に通過したに過ぎないと判定される。
しかしながら、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列である「WT」は辞書に存在しない。そこで、携帯電話端末1は、単に通過したに過ぎないと判定したボタンに対応する文字を時系列に補完して、「WET」、「WRT」、「WERT」という候補を作成し、各候補を辞書と照合する。この場合、「WET」という単語が辞書に含まれるため、携帯電話端末1は、「WET」を入力された文字として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
ところで、「WET」という単語を入力する場合、利用者は、タッチパネル2に触れたまま指を「W」のボタンから「T」のボタンの方向へ移動させる最中に、「E」のボタンの中で回転する軌道を描いてもよい。このような操作をすることにより、利用者は、「E」のボタンに意図的に触れたことを携帯電話端末1に明示的に示して、入力した文字列の識別精度を向上させることができる。
続いて、入力文字列候補表示領域14内に表示された候補のどれが選択されたかを判定する方式について説明する。携帯電話端末1は、いずれかの候補の表示領域内に指を置いて(接触して)離す動作がタッチパネル2によって検出されると、その表示領域に表示されている候補が選択されたと判定する。
携帯電話端末1は、さらに、利用者が指をタッチパネル2に接触させたまま、いずれかの候補の表示領域内で特定の動作を行ったことがタッチパネル2によって検出された場合にも、その表示領域に表示されている候補が選択されたと判定する。ここで、特定の動作とは、指を他の場所に移動させるために候補の表示領域を通過させたのではないことが明確な動作であり、例えば、指がタッチパネル2に触れたままある候補の表示領域内で移動方向を変更する動作や、指がタッチパネル2に触れたままある候補の表示領域内で回転する軌跡を描いて移動する動作である。
このように、利用者が指をタッチパネル2に接触させたまま行った動作に基づいて予測や変換を行って入力された文字列の候補を表示し、利用者が指をタッチパネル2に接触させたまま行った動作に基づいてどの候補が選択されたかを判定することにより、指を上げ下げする動作を行うことなく候補を選択することが可能となる。このことは、上記のような連続方式による文字の入力を連続して高速に実行することを可能にする。
利用者が「北府中」という文字列を入力しようとしている場合における候補の選択の例を図7−1に示す。s11では、指は「K」のボタン領域内に置かれている。s12では、指はタッチパネル2に触れたまま、「I」、「U」、「Y」、「T」、「R」、「S」、「A」の順にボタンの上を通過した後、入力文字列候補表示領域14内に表示された候補を選択するために上方へ移動し、「Q」のボタン領域内に入っている。この場合、携帯電話端末1は、指が置かれた「K」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「I」、「T」、「A」のボタンが意図的に触れられたと判断する。
そして、携帯電話端末1は、意図的に触れられたと判断したボタンに対応する文字を連結した「KITA」から利用者が入力しようとしている文字列を予測し、漢字変換処理によって得られた「北」、「来た」、「着た」、「喜多」、「木田」、「キタ」の各文字列を入力文字列候補表示領域14内に表示する。また、携帯電話端末1は、s12の段階では、文字の入力先であるテキスト入力領域16に、「KITA」をひらがなへ変換した「きた」を仮の入力結果として反転表示する。なお、テキスト入力領域16は、ブラウザプログラム等の任意のプログラムによってタッチパネル2上に一時的に設けられた領域である。
s13では、指がタッチパネル2に触れたまま、「Q」のボタンの上を通過し、記号領域15Aを通過して、入力文字列候補表示領域14内に入って「喜多」の表示領域を通過した後、「北」の表示領域内に移動している。この場合、「Q」のボタンについては、進入方向と脱出方向の角度差が閾値以下であるため、単に通過したに過ぎないと判定され、入力文字列候補表示領域14内の表示はそのままとなる。また、記号領域15Aについても、進入方向と脱出方向の角度差が閾値以下であるため、単に通過したに過ぎないと判定される。s14では、「府中(FUCHUU)」を入力するため、指がタッチパネル2に触れたまま、「北」の表示領域内で移動方向を変更し、「喜多」の表示領域を通過し、記号領域15Aを通過した後、「F」のボタン領域へ移動している。
図7−1に示した例のs13からs14では、図8に示すように、「北」、「来た」、「着た」、「喜多」、「木田」、「キタ」の各候補が、それぞれ、入力文字列候補表示領域14の候補領域14A〜14F内に表示される。そして、「北」を表示する候補領域14Aでは、指の進入時の移動方向を示すV7と脱出時の移動方向を示すV8の角度差が閾値よりも大きくなる。このため、候補領域14A内で指の移動方向を変更する動作が検出され、携帯電話端末1は、「北」が選択されたと判定する。そして、携帯電話端末1は、テキスト入力領域16に、「北」を確定した入力結果として通常表示する。
一方、「喜多」を表示する候補領域14Dは、指によって2度通過されるが、1回目の通過における進入時の移動方向を示すV5と脱出時の移動方向を示すV6の角度差は閾値よりも小さい。また、2回目の通過における進入時の移動方向を示すV9と脱出時の移動方向を示すV10の角度差も閾値より小さい。このため、携帯電話端末1は、「喜多」が選択されたとは判定しない。
図7−1の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各候補領域について、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作に基づいて精度よく判定する。
続いて、記号領域15Aおよび15Bで入力された記号を識別する方式について説明する。記号領域15Aおよび15Bは、それぞれ、句点や読点のような記号と予め対応付けられる。そして、携帯電話端末1は、いずれかの記号領域15内に指を置いて(接触して)離す動作がタッチパネル2によって検出されると、その記号領域15と対応する記号を入力された文字として受け付ける。
携帯電話端末1は、さらに、利用者が指をタッチパネル2に接触させたまま、いずれかの記号領域15内で特定の動作を行ったことがタッチパネル2によって検出された場合にも、その記号領域15と対応する記号を入力された文字として受け付ける。ここで、特定の動作とは、指を他の場所に移動させるために記号領域15を通過させたのではないことが明確な動作であり、例えば、指がタッチパネル2に触れたままある記号領域15内で移動方向を変更する動作や、指がタッチパネル2に触れたままある記号領域15内で回転する軌跡を描いて移動する動作である。
例えば、図7−1に示したs13やs14では、記号領域15Aへの指の進入方向と脱出方向の角度差が小さく、指を他の場所に移動させるために記号領域15Aを通過させたと考えられるため、記号領域15Aに対応する記号が入力されたとは判定されない。一方、図7−2に示した例では、記号領域15Aへの指の進入方向と脱出方向の角度差が大きく、指を他の場所に移動させるために記号領域15を通過させたのではないことが明確であるため、記号領域15Aに対応する記号である句点が入力されたと判定される。また、図7−3に示した例では、指がタッチパネル2に触れたままある記号領域15内で回転する軌跡を描いて移動しており、指を他の場所に移動させるために記号領域15を通過させたのではないことが明確であるため、記号領域15Aに対応する記号である句点が入力されたと判定される。
このように、利用者が指をタッチパネル2に接触させたまま行った動作に基づいて記号の入力を受け付けることにより、指を上げ下げする動作を行うことなく記号を入力することが可能となる。このことは、上記のような連続方式による文字の入力を連続して高速に実行することを可能にする。
なお、記号領域15の数は2つに限定するものではなく、いくつあってもよい。また、記号領域15の位置は、仮想キーボード4と入力文字列候補表示領域14の間以外の位置、例えば、仮想キーボード4の下方であってもよい。
次に、携帯電話端末1の機能と制御部との関係を説明する。図9は、図1に示す携帯電話端末1の機能の概略構成を示すブロック図である。図9に示すように携帯電話端末1は、タッチパネル2と、入力部3と、電源部5と、通信部6と、スピーカ7と、マイク8と、記憶部9と、主制御部10と、RAM(Random Access Memory)11とを有する。
タッチパネル2は、表示部2Bと、表示部2Bに重畳されたタッチセンサ2Aとを有する。タッチセンサ2Aは、指を用いてタッチパネル2に対して行われた各種動作を、動作が行われた場所のタッチパネル2上での位置とともに検出する。タッチセンサ2Aによって検出される動作には、指をタッチパネル2の表面に接触させる動作や、指をタッチパネル2の表面に接触させたまま移動させる動作や、指をタッチパネル2の表面から離す動作が含まれる。なお、タッチセンサ2Aは、感圧式、静電式等のいずれの検出方式を採用していてもよい。表示部2Bは、例えば、液晶ディスプレイ(LCD、Liquid Crystal Display)や、有機EL(Organic Electro−Luminescence)パネルなどで構成され、文字、図形、画像等を表示する。
入力部3は、物理的なボタン等を通じて利用者の操作を受け付け、受け付けた操作に対応する信号を主制御部10へ送信する。電源部5は、蓄電池または外部電源から得られる電力を、主制御部10を含む携帯電話端末1の各機能部へ供給する。通信部6は、基地局によって割り当てられるチャネルを介し、基地局との間でCDMA方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。スピーカ7は、電話通信における相手側の音声や着信音等を出力する。マイク8は、利用者等の音声を電気的な信号へ変換する。
記憶部9は、例えば、不揮発性メモリや磁気記憶装置であり、主制御部10での処理に利用されるプログラムやデータを保存する。具体的には、記憶部9は、メールの送受信や閲覧のためのメールプログラム9Aや、WEBページの閲覧のためのブラウザプログラム9Bや、上述した連続方式での文字入力を受け付けるための文字入力プログラム9Cや、文字入力時にタッチパネル2に表示される仮想キーボードに関する定義を含む仮想キーボードデータ9Dや、入力文字列の予測や変換の為の情報が登録された辞書データ9Eを記憶する。記憶部9には、携帯電話端末1の基本的な機能を実現するオペレーティングシステムプログラムや、氏名、電話番号、メールアドレス等が登録されたアドレス帳データ等の他のプログラムやデータも記憶される。
主制御部10は、例えば、CPU(Central Processing Unit)であり、携帯電話端末1の動作を統括的に制御する。具体的には、主制御部10は、記憶部9に記憶されているデータを必要に応じて参照しつつ、記憶部9に記憶されているプログラムを実行して、タッチパネル2、通信部6等を制御することによって各種処理を実行する。主制御部10は、記憶部9に記憶されているプログラムや、処理を実行することによって取得/生成/加工されたデータを、一時的な記憶領域を提供するRAM11に必要に応じて展開する。なお、主制御部10が実行するプログラムや参照するデータは、通信部6による無線通信でサーバ装置からダウンロードすることとしてもよい。
ここで、記憶部9が記憶する仮想キーボードデータ9Dの一例を図10に示す。図10の例に示すように、仮想キーボードデータ9Dには、仮想キーボードに含まれるボタン毎に、ボタンに対応する文字、ボタンの位置(例えば、左上座標)、幅、高さ等が登録される。図8に示す例では、あるボタンに対応する文字が「Q」であり、そのボタンの左上座標がX=10、Y=10であり、そのボタンの幅と高さが20と40であること等が登録されている。
次に、携帯電話端末1が文字の入力を受け付ける場合の動作について説明する。図11および図12は、携帯電話端末1による文字入力処理の処理手順を示すフロー図である。図11および図12に示す文字入力処理は、主制御部10が記憶部9から文字入力プログラム9Cを読み出して実行することにより実現され、仮想キーボード4がタッチパネル2上に表示されている間、繰り返し実行される。なお、仮想キーボード4は、主制御部10が文字入力プログラム9Cまたは他のプログラムを実行することにより、タッチパネル2上に表示される。
まず、主制御部10は、ステップS10として、入力文字バッファ12をクリアし、ステップS11として、一時バッファ13をクリアし、ステップS12として記号入力バッファをクリアする。入力文字バッファ12は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が優先度と対応づけて格納される記憶領域であり、RAM11に設けられる。一時バッファ13は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンのうち、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が一時的に格納される記憶領域であり、RAM11に設けられる。記号バッファは、記号領域15に対する特定の動作によって受け付けられた記号が格納される記憶領域であり、RAM11に設けられる。
入力文字バッファ12の一例を図13に示す。図13は、タッチパネル2に対して図6に示した操作が行われた場合の入力文字バッファ12を示している。図13の例において、入力文字バッファ12の上段には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が格納され、下段には、上段の文字に対応づけられた優先度が格納されている。図13の例が示すように、入力文字バッファ12には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が時系列に格納される。
優先度は、入力文字バッファ12に含まれる文字を連結して文字列を構成する際に、対応付けられた文字を採用するか否かを決定するために用いられる。本実施例では、優先度の値が小さいほど、対応付けられた文字が優先的に採用されることとする。具体的には、指が意図的に触れたと判断されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判断されたボタンに対応する文字には優先度として「2」を対応付ける。
一時バッファ13の一例を図14に示す。図14は、図6のs1において指が「J」のボタンから出た時点での一時バッファ13を示している。図14の例が示すように、一時バッファ13には、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が、指がいずれかのボタンに意図的に触れたと判定されるまで、時系列に格納される。
入力文字バッファ12と一時バッファ13のクリアを終えると、主制御部10は、ステップS13として、RAM11に設けた入力完了フラグを0に設定する。入力完了フラグは、1回分の文字入力が完了したか否かを判定するために用いられる。ここでいう1回分の文字入力とは、指をタッチパネル2に接触させてから離すまでの間に行われる文字入力を意味する。
続いて、主制御部10は、ステップS14として、タッチパネル2の最新の検出結果を取得し、ステップS15として候補選択判定処理を実行する。候補選択判定処理において、主制御部10は、入力文字列候補表示領域14内に表示された候補のいずれかが選択されたかを判定する。なお、候補選択判定処理の詳細については後述する。
そして、入力文字列候補表示領域14内に表示された候補のいずれも選択されていなかった場合(ステップS16,No)、主制御部10は、ステップS17として、文字入力判定処理を実行し、ステップS18として、記号入力判定処理を実行する。その後、主制御部10は、ステップS23を実行する。
文字入力判定処理において、主制御部10は、指がタッチパネル2に接触したまま移動した軌跡上に表示されている各ボタンに対応する文字を入力文字バッファ12や一時バッファ13に格納していく。また、記号入力判定処理において、主制御部10は、記号領域15に対する特定の動作に基づいて受け付けた記号を記号バッファに格納する。なお、文字入力判定処理および記号入力処理の詳細については後述する。
一方、入力文字列候補表示領域14内に表示された候補のいずれかが選択されていた場合(ステップS16,Yes)、主制御部10は、ステップS19として、選択された候補を入力された文字列として受け付ける。そして、主制御部10は、文字の入力の受け付けを新たに始めるために、ステップS20として、入力文字バッファ12をクリアし、ステップS21として、一時バッファ13をクリアする。そして、主制御部10は、ステップS22として、入力文字列候補表示領域14内の候補の表示をクリアした後、ステップS23を実行する。
主制御部10は、ステップS23として、入力完了フラグが0のままであるかを判定し、ステップS24として、記号バッファが空であるかを判定する。ここで、入力完了フラグが0のままであり、かつ、記号バッファが空である場合、すなわち、1回分の文字入力がまだ完了おらず、記号が入力されていない場合(ステップS23,Yes、かつ、ステップS24,Yes)、主制御部10は、ステップS25として、候補取得処理を実行して入力文字バッファ12に格納されている文字を連結した文字列から予測または変換される文字列を辞書データ9Eから取得する。なお、候補取得処理の詳細については後述する。
続いて、主制御部10は、ステップS26として、候補取得処理によって得られた1ないし複数の文字列を入力文字列候補表示領域14に表示する。そして、主制御部10は、入力完了フラグが0でない、すなわち、1回分の文字入力が完了したとステップS23で判定されるか、あるいは、記号バッファが空でない、すなわち、記号が入力されたとステップS24で判定されるまで、ステップS14〜ステップS26を繰り返して実行する。
ステップS23で入力完了フラグが0でなくなっていた場合(ステップS23,No)、または、ステップS24で記号バッファが空でなかった場合(ステップS24,No)、主制御部10は、ステップS27として、候補取得処理を実行して入力文字バッファ12に格納されている文字を連結した文字列から予測または変換される文字列を辞書データ9Eから取得する。ここで、候補取得処理の処理結果として得られた文字列が1つだけであった場合(ステップS28,Yes)、主制御部10は、ステップS29として、候補取得処理の処理結果として得られた文字列を入力された文字列として受け付ける。
一方、候補取得処理の処理結果として得られた文字列が複数あった場合(ステップS28,No)、主制御部10は、ステップS30として、候補取得処理の処理結果として得られた複数の文字列を入力文字列候補表示領域14に表示する。そして、主制御部10は、ステップS31として、タッチパネル2の最新の検出結果を取得し、ステップS32として、候補選択判定処理を実行して、入力文字列候補表示領域14に表示した文字列のいずれかが選択されたかを判定する。
ここで、いずれの文字列も選択されていなければ(ステップS33,No)、主制御部10は、いずれかの文字列が選択されるまで、ステップS31〜ステップS33を繰り返して実行する。なお、ステップS33において利用者の指が入力文字列候補表示領域14以外の領域に触れるといった入力のキャンセルを示す動作が検出された場合に、主制御部10が、文字入力処理を終了させることとしてもよい。
ステップS33で入力文字列候補表示領域14に表示した文字列のいずれかが選択されていた場合(ステップS33,Yes)、主制御部10は、ステップS34として、選択された文字列を入力された文字列として受け付ける。そして、主制御部10は、ステップS35として、記号バッファが空であるかを確認し、空でない場合は(ステップS35,No)、ステップS36として、記号バッファ内の文字を入力された文字として受け付ける。
次に、図15に示したフロー図を参照しながら、図11のステップS17で実行される文字入力判定処理について説明する。主制御部10は、ステップS40として、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作、すなわち、指をタッチパネル2の表面に接触させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を開始する動作であった場合(ステップS40,Yes)、主制御部10は、ステップS41として、接触が開始された位置を仮想キーボードデータ9Dと照合して、接触が開始された位置がいずれかのボタン領域内であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合(ステップS41,Yes)、ボタンは意図して触れられたと考えられるので、主制御部10は、ステップS42として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。ボタンに対応する文字は、仮想キーボードデータ9Dから取得される。
そして、主制御部10は、ステップS43として、出力フラグを「1」に設定して文字入力判定処理を終了させる。出力フラグは、RAM11に設けられ、指が現在接触している位置に表示されているボタンに対応する文字を入力文字バッファ12または一時バッファ13に出力済みであるか否かを判定するために用いられる。出力フラグの値が「0」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれのバッファにもまだ出力していないことを示す。出力フラグの値が「1」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれかのバッファに出力済みであることを示す。
ステップS41において、接触が開始された位置がボタン領域内でなかった場合(ステップS41,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
ステップS40において、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作でなかった場合(ステップS40,No)、主制御部10は、ステップS44として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であった場合(ステップS44,Yes)、主制御部10は、ステップS45として、移動方向履歴をクリアする。移動方向履歴は、特定の領域内で指がどの方向へ移動したかを示す方向ベクトルが時系列に記録されるデータであり、RAM11に記憶される。
続いて、主制御部10は、ステップS46として、指がボタン領域内に進入した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS47として、出力フラグを「0」に設定して文字入力判定処理を終了させる。
なお、タッチパネル2の検出結果に指の移動方向を示す情報が含まれている場合、方向ベクトルは、タッチパネル2の検出結果から取得される。タッチパネル2の検出結果に指の移動方向を示す情報が含まれていない場合、方向ベクトルは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とから算出される。
ステップS44において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合(ステップS44,No)、主制御部10は、ステップS48として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であった場合(ステップS48,Yes)、主制御部10は、ステップS49として、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」でなかった場合、すなわち、指がそれまで内部に位置していたボタンに対応する文字をいずれかのバッファに出力済みの場合(ステップS49,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
一方、出力フラグが「0」であった場合(ステップS49,Yes)、主制御部10は、ステップS50として、最新の移動ベクトル、すなわち、指がボタンの外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指がボタンに進入したときの方向と指がボタンから脱出したときの方向の相違の大きさを表す。
算出された角度差が所定の閾値以下の場合(ステップS51,No)、指は単にボタンを通過したに過ぎないと考えられるため、主制御部10は、ステップS52として、そのボタンに対応する文字を一時バッファ13に追加して文字入力判定処理を終了させる。
一方、算出された角度差が所定の閾値より大きい場合(ステップS51,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS53以降の処理手順を実行する。
ステップS53として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS54として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS55として、一時バッファ13をクリアして文字入力判定処理を終了させる。
ステップS48において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作でなかった場合(ステップS48,No)、主制御部10は、ステップS56として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS56,Yes)、主制御部10は、ステップS57として、接触が終了された位置を仮想キーボードデータ9Dと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合(ステップS57,Yes)、ボタンは意図して触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS58以降の処理手順を実行する。
ステップS58として、主制御部10は、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」である場合、すなわち、意図して触れられたと考えられるボタンに対応する文字がまだいずれのバッファにも出力されていない場合(ステップS58,Yes)、主制御部10は、ステップS59として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。そして、主制御部10は、ステップS60として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。
そして、タッチパネル2への接触が終了させる動作が行われたということは、一回分の文字入力が完了したことを意味するので、主制御部10は、ステップS61として、入力完了フラグを「1」に設定して文字入力判定処理を終了させる。
接触が終了された位置がボタン領域内でなかった場合(ステップS57,No)、または、出力フラグが「0」でなかった場合(ステップS58,No)、主制御部10は、ステップS61として、入力完了フラグを「1」に設定する処理のみを行って文字入力判定処理を終了させる。
なお、接触が終了された位置がボタン領域内でなかった場合、または、出力フラグが「0」でなかった場合に、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加することとしてもよい。
ステップS56において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS56,No)、主制御部10は、ステップS62として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であった場合(ステップS62,Yes)、主制御部10は、ステップS63として、指がボタン領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS64として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動したかを判定する。
ここで、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動していた場合(ステップS64,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS65以降の処理手順を実行する。
ステップS65として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS66として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS67として、出力フラグを「1」に設定し、ステップS68として、移動方向履歴をクリアして文字入力判定処理を終了させる。
ステップS62において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作でなかった場合、すなわち、指が仮想キーボード4上のボタン外を移動していた場合(ステップS62,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
次に、図16に示したフロー図を参照しながら、図11のステップS18で実行される記号入力判定処理について説明する。主制御部10は、ステップS70として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を記号領域15内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指を記号領域15内に進入させる動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを、予め設定されている記号領域15の位置情報(例えば、左上座標と幅と高さ)と照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指を記号領域15内に進入させる動作であった場合(ステップS70,Yes)、主制御部10は、ステップS71として、移動方向履歴をクリアする。そして、主制御部10は、ステップS72として、指が記号領域15内に進入した方向を示す方向ベクトルを取得し、取得した方向ベクトルを移動方向履歴に追加して記号入力判定処理を終了させる。
ステップS70において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を記号領域15内に進入させる動作でなかった場合(ステップS70,No)、主制御部10は、ステップS73として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を記号領域15の外へ出す動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指を記号領域15の外へ出す動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを記号領域15の位置情報と照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指を記号領域15の外へ出す動作であった場合(ステップS73,Yes)、主制御部10は、ステップS74として、最新の移動ベクトル、すなわち、指が記号領域15の外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指が記号領域15に進入したときの方向と指が記号領域15から脱出したときの方向の相違の大きさを表す。
算出された角度差が所定の閾値以下の場合(ステップS75,No)、指は単に記号領域15を通過したに過ぎないと考えられるため、主制御部10は、特に処理を行わずに記号入力判定処理を終了させる。
一方、算出された角度差が所定の閾値より大きい場合(ステップS75,Yes)、記号領域15は意図的に触れられたと考えられるため、主制御部10は、ステップS76として、その記号領域15に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
ステップS73において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を記号領域15の外へ出す動作でなかった場合(ステップS73,No)、主制御部10は、ステップS77として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS77,Yes)、主制御部10は、ステップS78として、接触が終了された位置を記号領域15の位置情報と照合して、接触が終了された位置がいずれかの記号領域15内であったかを判定する。接触が終了された位置がいずれの記号領域15内でもなかった場合(ステップS78,No)、主制御部10は、特に処理を行わずに記号入力判定処理を終了させる。
一方、接触が終了された位置がいずれかの記号領域15内であった場合(ステップS78,Yes)、記号領域15は意図して触れられたと考えられるため、主制御部10は、ステップS79として、その記号領域15に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
ステップS77において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS77,No)、主制御部10は、ステップS80として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま記号領域15内で指を移動させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を保ったまま記号領域15内で指を移動させる動作であった場合(ステップS80,Yes)、主制御部10は、ステップS81として、指が記号領域15内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS82として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル2に触れたまま記号領域15内で回転する軌跡を描いて移動したかを判定する。
ここで、指がタッチパネル2に触れたまま記号領域15内で回転する軌跡を描いて移動していた場合(ステップS82,Yes)、記号領域15は意図的に触れられたと考えられるため、主制御部10は、ステップS83として、その記号領域15に対応する文字を記号バッファに格納して記号入力判定処理を終了させる。
ステップS80において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま記号領域15内で指を移動させる動作でなかった場合(ステップS80,No)、または、ステップS82において、指がタッチパネル2に触れたまま記号領域15内で回転する軌跡を描いて移動していなかった場合(ステップS82,No)、主制御部10は、特に処理を行わずに記号入力判定処理を終了させる。
次に、図17に示したフロー図を参照しながら、図11のステップS15および図12のステップS32で実行される候補選択判定処理について説明する。主制御部10は、ステップS90として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を候補領域内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
ここで、候補領域とは、入力文字列候補表示領域14内で各候補が表示される領域であり、例えば、各候補を囲む最小矩形に相当する。検出された動作がタッチパネル2への接触を保ったまま指を候補領域内に進入させる動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを、各候補を表示する際に決定された候補領域の位置情報(例えば、左上座標と幅と高さ)と照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指を候補領域内に進入させる動作であった場合(ステップS90,Yes)、主制御部10は、ステップS91として、移動方向履歴をクリアする。そして、主制御部10は、ステップS92として、指が候補領域内に進入した方向を示す方向ベクトルを取得し、取得した方向ベクトルを移動方向履歴に追加して候補選択判定処理を終了させる。
ステップS90において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を候補領域内に進入させる動作でなかった場合(ステップS90,No)、主制御部10は、ステップS93として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を候補領域の外へ出す動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指を候補領域の外へ出す動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを候補領域の位置情報と照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指を候補領域の外へ出す動作であった場合(ステップS93,Yes)、主制御部10は、ステップS94として、最新の移動ベクトル、すなわち、指が候補領域の外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指が候補領域に進入したときの方向と指が候補領域から脱出したときの方向の相違の大きさを表す。
算出された角度差が所定の閾値以下の場合(ステップS95,No)、指は単に候補領域を通過したに過ぎないと考えられるため、主制御部10は、特に処理を行わずに候補選択判定処理を終了させる。
一方、算出された角度差が所定の閾値より大きい場合(ステップS95,Yes)、候補領域は意図的に触れられたと考えられるため、主制御部10は、ステップS96として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
ステップS93において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指を候補領域の外へ出す動作でなかった場合(ステップS93,No)、主制御部10は、ステップS97として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS97,Yes)、主制御部10は、ステップS98として、接触が終了された位置を候補領域の位置情報と照合して、接触が終了された位置がいずれかの候補領域内であったかを判定する。接触が終了された位置がいずれの候補領域内でもなかった場合(ステップS98,No)主制御部10は、特に処理を行わずに候補選択判定処理を終了させる。
一方、接触が終了された位置がいずれかの候補領域内であった場合(ステップS98,Yes)、候補領域は意図して触れられたと考えられるため、主制御部10は、ステップS99として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
ステップS97において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS97,No)、主制御部10は、ステップS100として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま候補領域内で指を移動させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を保ったまま候補領域内で指を移動させる動作であった場合(ステップS100,Yes)、主制御部10は、ステップS101として、指が候補領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS102として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル2に触れたまま候補領域内で回転する軌跡を描いて移動したかを判定する。
ここで、指がタッチパネル2に触れたまま候補領域内で回転する軌跡を描いて移動していた場合(ステップS102,Yes)、候補領域は意図的に触れられたと考えられるため、主制御部10は、ステップS103として、その候補領域に対応する文字を記号バッファに格納して候補選択判定処理を終了させる。
ステップS100において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま候補領域内で指を移動させる動作でなかった場合(ステップS100,No)、または、ステップS102において、指がタッチパネル2に触れたまま候補領域内で回転する軌跡を描いて移動していなかった場合(ステップS102,No)、主制御部10は、特に処理を行わずに候補選択判定処理を終了させる。
次に、図18に示したフロー図を参照しながら、図11のステップS25および図12のステップS27で実行される候補取得処理について説明する。主制御部10は、ステップS110として、入力文字バッファ12から優先度が「1」である文字を取得し、取得した文字を組み合わせて第1候補文字列を生成する。
例えば、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、優先度が「1」の文字を格納順に連結して「A」という第1候補文字列を生成する。
続いて、主制御部10は、ステップS111として、予測処理または変換処理を行って第1候補文字列から入力文字列の候補を取得する。ここで、予測処理とは、入力途中の文字列から利用者が入力しようとしている文字列を予測する処理であり、変換処理とは、例えば、英数字の組み合わせとして入力された文字列を漢字や仮名へ変換する処理である。
予測処理の一例について説明する。例えば第1候補文字列が「ABC」の場合、「A*B*C*」というパターンにマッチする文字列を辞書データ9Eから検索することにより、入力文字列の候補を取得することができる。ここで、「*」は、任意の文字にマッチするワイルドカードである。すなわち、この例では、第1候補文字列と先頭の文字が一致し、第1候補文字列の2番目以降の各文字が、0個以上の文字を介在させて第1候補文字列と同じ順序で出現する文字列が、第1候補文字列とマッチすると文字列として検索される。
このようにマッチングさせることにより、指によって意図的に触れられたことを判別できないボタンがあった場合でも、入力された文字列を正しく識別することができる可能性を高めることができる。
入力文字列の候補として複数の文字列が得られた場合(ステップS112,Yes)、主制御部10は、候補を絞り込むために、ステップS113として、入力文字バッファ12から優先度が「2」である文字を取得し、取得した文字を第1候補文字列に補完して、1ないし複数の第2候補文字列を生成する。
例えば、上記と同様に、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、格納順序を守りつつ、第1候補文字列である「A」に優先度が「2」の文字を少なくとも1つ補完して、「ABD」、「ACD」、「ACDB」という3つの第2候補文字列を生成する。
続いて、主制御部10は、ステップS114として、予測処理または変換処理を行って第2候補文字列から入力文字列の候補を取得する。
そして、ステップS114において、いずれかの文字列が入力文字列の候補として得られた場合(ステップS115,Yes)、主制御部10は、ステップS116として、得られた文字列を取得結果として候補取得処理を終了させる。一方、ステップS114において、いずれの文字列も取得されなかった場合(ステップS115,No)、主制御部10は、ステップS117として、ステップS111において第1候補文字列から得られた入力文字列の候補を取得結果として候補取得処理を終了させる。
ステップS111において入力文字列の候補として1つの文字列のみが得られた場合(ステップS112,No、かつ、ステップS118,Yes)、主制御部10は、ステップS116として、得られた文字列を取得結果として候補取得処理を終了させる。ステップS111において入力文字列の候補として1つの文字列も得られなかった場合(ステップS118,No)、主制御部10は、ステップS119として、第1候補文字列、すなわち、優先度が「1」の文字を格納順に連結した文字列を取得結果として候補取得処理を終了させる。
上述してきたように、携帯電話端末1は、指をタッチパネル2から離さずに仮想キーボード上を移動させて文字を入力することを可能にし、また、指をタッチパネル2から離さずに入力候補の選択を可能にするため、高速な文字入力を実現することができる。
なお、携帯電話端末1の構成は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、本実施例では、指をタッチパネル2から離れずに移動した軌跡上の各ボタンに対応する文字に優先度として「1」または「2」を対応付けることとしたが、文字に対応付ける優先度をさらに細分化してもよい。
例えば、意図的に触れられたと判定されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判定されたボタンに対応する文字については優先度として「2」〜「5」のいずれかの値を対応付けることとしてもよい。
この場合、例えば、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指がボタンに進入したときの移動方向と指がボタンから出たときの移動方向の角度差が大きいほど高い優先度を対応付けることとしてもよい。角度差が大きいほど、意図的に触れられたボタンである可能性が高いためである。
また、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指が通過した軌跡がボタンの中心に近いほど高い優先度を対応付けることとしてもよい。通過した軌跡がボタンの中心に近いほど、意図的に触れられたボタンである可能性が高いためである。
そして、このように優先度を細分化した場合、候補取得処理においては、優先度の高い文字ほど第2候補文字列の作成時に優先的に使用される。具体的には、優先度が「1」の文字を組み合わせた第1候補文字列に複数の文字列がマッチした場合、まず、優先度が「2」の文字を第1候補文字列に補完して検索結果の絞込みが試みられる。そして、優先度が「2」の文字を補完しても複数の文字列がマッチした場合、優先度が「3」の文字を第1候補文字列にさらに補完して検索結果の絞込みが試みられる。
以下同様に、検索結果が1つに絞り込まれるまで、優先度が高い順に補完に文字が利用される。このように、優先度を細分化することにより、意図的に触れられた可能性が高い順に文字を組み合わせて検証対象の文字列を生成することができるため、入力された文字列の識別精度を向上させることができる。
また、図11および図12を参照しながら説明した文字入力処理では、主制御部10がタッチパネル2から新たに検出結果を取得するたびに入力文字列の候補を取得して入力文字列候補表示領域14に表示することとしているが、一回分の文字入力が完了するまではこのような表示は行わずに、一回分の文字入力が完了した後に候補取得処理で複数の文字列が入力文字列の候補として取得された場合にのみ検索された文字列を入力文字列候補表示領域14に表示することとしてもよい。
また、図18を参照しながら説明した候補取得処理における予測処理は、前方一致等の他のマッチング方式を用いることとしてもよい。また、予測処理においては、文字列の結びつきの強さや使用頻度等に基づいて、既に入力された文字列と入力途中の文字列から、利用者が入力しようとしている文字列を予測することとしてもよい。
また、図18を参照しながら説明した候補取得処理における予測処理や変換処理では、図19の例に示すように、文字の入力先であるテキスト入力領域16等に、その時点で最も有力な入力文字列の候補を仮の値として表示しておき、記号領域15内で特定の動作が検出された場合に、その値を入力された文字列として確定して受け付けた上で、その記号領域15に対応する記号を入力された文字として受け付けることとしてもよい。例えば、図19に示す例では、s21〜s22の連続方式で入力された「KI」に対応する「き」が仮の値としてテキスト入力領域16に反転表示されている状態で、指がタッチパネル2に触れたまま記号領域15A内で移動方向を変更する動作がs23において検出されたため、「き」が入力された文字として受け付けられ、さらに、記号領域15Aに対応する記号である句点が入力された文字として受け付けられている。
また、上記の実施例では、指がタッチパネル2に接触したまま移動した軌跡上に表示されているボタンに対応する文字のうち、特定の動作が検出された位置に表示されているボタンに対応する文字を優先して入力された文字列を識別することとしているが、本発明は、これに限定されるものではなく、指がタッチパネル2に接触したまま移動した軌跡上またはその近隣に表示されているボタンに対応する文字を含む文字列を入力された文字列として受け付けるものであればよい。
また、上記の実施例では、特定の動作として、ボタン領域内でタッチパネル2に接触する動作や、ボタン領域内でタッチパネル2から指を離す動作等について説明したが、これらの動作は特定の動作の例であり、他の動作を特定の動作として扱ってもよい。
以上のように、本発明に係る文字入力装置、文字入力方法および文字入力プログラムは、文字の入力に有効であり、タッチパネルを用いて文字を高速に入力することが必要な場合に特に適している。
1 携帯電話端末
2 タッチパネル
2A タッチセンサ
2B 表示部
3 入力部
3A、3B、3C ボタン
4 仮想キーボード
5 電源部
6 通信部
7 スピーカ
8 マイク
9 記憶部
9A メールプログラム
9B ブラウザプログラム
9C 文字入力プログラム
9D 仮想キーボードデータ
9E 辞書データ
10 主制御部
11 RAM
12 入力文字バッファ
13 一時バッファ
14 入力文字列候補表示領域
15、15A、15B 記号領域
16 テキスト入力領域

Claims (9)

  1. 接触検出部と、
    文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
    一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する文字入力装置。
  2. 接触検出部と、
    英字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
    一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する文字入力装置。
  3. 接触検出部と、
    文字がそれぞれ対応付けられた複数のキーを表示する表示部と、を有し、
    一の位置から他の位置までの連続的な接触を前記接触検出部が検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する文字入力装置。
  4. 文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する文字入力方法。
  5. 文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する文字入力方法。
  6. 文字入力装置が、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する文字入力方法。
  7. 文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた文字のうち少なくとも一つを抽出し、当該抽出した文字を用いて文字列を作成し、当該作成された文字列に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
  8. 文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示されたキーに対応付けられた英字のうち少なくとも一つを抽出し、当該抽出した英字を用いてかな文字を作成し、当該作成されたかな文字に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
  9. 文字入力装置に、一の位置から他の位置までの連続的な接触を検出した場合、当該連続的な接触の過程で、接触が留まらずに直線的に通過された位置に表示された複数のキーそれぞれに対応付けられた複数の文字のうち少なくとも一部の複数の文字を抽出し、当該抽出した複数の文字それぞれを用い複数の文字列を作成し、当該作成された複数の文字列に基づく予測変換候補を表示する機能を発揮させる文字入力プログラム。
JP2010089715A 2010-04-08 2010-04-08 文字入力装置、文字入力方法および文字入力プログラム Expired - Fee Related JP5615583B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010089715A JP5615583B2 (ja) 2010-04-08 2010-04-08 文字入力装置、文字入力方法および文字入力プログラム
PCT/JP2011/058943 WO2011126122A1 (ja) 2010-04-08 2011-04-08 文字入力装置および文字入力方法
US13/637,809 US9182907B2 (en) 2010-04-08 2011-04-08 Character input device
CN201180027933.4A CN102934053B (zh) 2010-04-08 2011-04-08 字符输入装置及字符输入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010089715A JP5615583B2 (ja) 2010-04-08 2010-04-08 文字入力装置、文字入力方法および文字入力プログラム

Publications (3)

Publication Number Publication Date
JP2011221759A JP2011221759A (ja) 2011-11-04
JP2011221759A5 JP2011221759A5 (ja) 2013-03-14
JP5615583B2 true JP5615583B2 (ja) 2014-10-29

Family

ID=44763056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010089715A Expired - Fee Related JP5615583B2 (ja) 2010-04-08 2010-04-08 文字入力装置、文字入力方法および文字入力プログラム

Country Status (4)

Country Link
US (1) US9182907B2 (ja)
JP (1) JP5615583B2 (ja)
CN (1) CN102934053B (ja)
WO (1) WO2011126122A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
KR101855149B1 (ko) * 2011-08-05 2018-05-08 삼성전자 주식회사 터치 디바이스에서 문자 입력 방법 및 장치
KR20130055404A (ko) * 2011-11-18 2013-05-28 삼성전자주식회사 터치 디바이스에서 문자 입력 방법 및 장치
US8904309B1 (en) * 2011-11-23 2014-12-02 Google Inc. Prediction completion gesture
US20150261310A1 (en) * 2012-08-01 2015-09-17 Whirlscape, Inc. One-dimensional input system and method
US9569107B2 (en) * 2012-10-16 2017-02-14 Google Inc. Gesture keyboard with gesture cancellation
US8701032B1 (en) * 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US9665246B2 (en) * 2013-04-16 2017-05-30 Google Inc. Consistent text suggestion output
US8825474B1 (en) 2013-04-16 2014-09-02 Google Inc. Text suggestion output using past interaction data
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US10203812B2 (en) * 2013-10-10 2019-02-12 Eyesight Mobile Technologies, LTD. Systems, devices, and methods for touch-free typing
US9940016B2 (en) 2014-09-13 2018-04-10 Microsoft Technology Licensing, Llc Disambiguation of keyboard input
JP6459640B2 (ja) * 2015-03-03 2019-01-30 オムロン株式会社 文字入力システム用のプログラムおよび情報処理装置
US9996258B2 (en) * 2015-03-12 2018-06-12 Google Llc Suggestion selection during continuous gesture input
CN107817942B (zh) * 2016-09-14 2021-08-20 北京搜狗科技发展有限公司 一种滑行输入方法、系统和一种用于滑行输入的装置
CN106843737B (zh) * 2017-02-13 2020-05-08 北京新美互通科技有限公司 文本输入方法、装置及终端设备
CN107203280B (zh) * 2017-05-25 2021-05-25 维沃移动通信有限公司 一种标点符号的输入方法及终端
CN108108054B (zh) * 2017-12-29 2021-07-23 努比亚技术有限公司 预测用户滑动操作的方法、设备及计算机可存储介质
CN110163045B (zh) * 2018-06-07 2024-08-09 腾讯科技(深圳)有限公司 一种手势动作的识别方法、装置以及设备
JP7243109B2 (ja) * 2018-10-02 2023-03-22 カシオ計算機株式会社 電子機器、電子機器の制御方法及びプログラム
KR20220049407A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 디스플레이 장치 및 그 제어 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292944A (ja) * 1995-04-24 1996-11-05 Matsushita Electric Ind Co Ltd 文字入力装置
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
JP2003141448A (ja) 2001-11-06 2003-05-16 Kyocera Corp 文字認識方法及び装置、コンピュータプログラム、並びに携帯端末
US7199786B2 (en) * 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7453439B1 (en) * 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
JP2004295578A (ja) * 2003-03-27 2004-10-21 Matsushita Electric Ind Co Ltd 翻訳装置
JP2004299896A (ja) * 2003-04-01 2004-10-28 Bridgestone Corp パイプコンベヤ用ブースター装置及びそれを用いたパイプコンベヤ装置
WO2005064445A1 (en) * 2003-12-23 2005-07-14 Nokia Corporation Method and apparatus for entering data with a four way input device
US7250938B2 (en) * 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
JP4927633B2 (ja) 2006-09-28 2012-05-09 京セラ株式会社 携帯端末及びその制御方法
WO2008047552A1 (en) 2006-09-28 2008-04-24 Kyocera Corporation Portable terminal and method for controlling the same
JP4207089B2 (ja) * 2007-07-02 2009-01-14 ソニー株式会社 文章入力装置及び方法
US8289193B2 (en) * 2007-08-31 2012-10-16 Research In Motion Limited Mobile wireless communications device providing enhanced predictive word entry and related methods
JP4982430B2 (ja) * 2008-05-27 2012-07-25 株式会社エヌ・ティ・ティ・ドコモ 文字入力装置及び文字入力方法
US20120001922A1 (en) * 2009-01-26 2012-01-05 Escher Marc System and method for creating and sharing personalized fonts on a client/server architecture
US8605039B2 (en) * 2009-03-06 2013-12-10 Zimpl Ab Text input

Also Published As

Publication number Publication date
JP2011221759A (ja) 2011-11-04
US9182907B2 (en) 2015-11-10
US20130021286A1 (en) 2013-01-24
WO2011126122A1 (ja) 2011-10-13
CN102934053B (zh) 2016-09-14
CN102934053A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
JP5615583B2 (ja) 文字入力装置、文字入力方法および文字入力プログラム
JP4950321B2 (ja) 文字入力装置、文字入力方法および文字入力プログラム
JP5697521B2 (ja) 文字入力装置、文字入力制御方法および文字入力プログラム
WO2011122627A1 (ja) 情報処理装置および文字入力方法
WO2011129398A1 (ja) 文字入力装置および文字入力方法
JP5739131B2 (ja) 携帯電子機器、携帯電子機器の制御方法及びプログラム
WO2004111921A1 (en) Improved recognition for character input in an electronic device
JP5487226B2 (ja) 文字入力装置
JP5627372B2 (ja) 文字入力装置、文字入力方法および文字入力プログラム
JP5615579B2 (ja) 文字入力装置、文字入力方法および文字入力プログラム
WO2012008425A1 (ja) 電子機器及びその制御方法
JP5455847B2 (ja) 文字入力装置、文字入力方法および文字入力プログラム
JP5503486B2 (ja) 文字入力装置、文字入力方法および文字編集プログラム
US9014762B2 (en) Character input device, character input method, and character input program
JP5641844B2 (ja) 電子機器及びその制御方法
US20120200508A1 (en) Electronic device with touch screen display and method of facilitating input at the electronic device
JP2014167712A (ja) 情報処理装置、情報処理方法およびプログラム
JP2012048588A (ja) 文字入力装置、文字入力方法および文字入力プログラム
JP5525320B2 (ja) 情報処理装置、属性情報入力方法およびオブジェクト管理プログラム
EP2485133A1 (en) Electronic device with touch-sensitive display and method of facilitating input at the electronic device
CA2766877A1 (en) Electronic device with touch-sensitive display and method of facilitating input at the electronic device
JP5687320B2 (ja) 携帯端末
KR20120024034A (ko) 알파벳 입력 가능한 휴대 단말기

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140627

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140707

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: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140910

R150 Certificate of patent or registration of utility model

Ref document number: 5615583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees