以下に、図1を参照して、本発明の一実施形態による画像形成装置100について説明する。
本実施形態の画像形成装置100は、たとえば、タンデム方式のカラー複合機であり、コピー、プリント、スキャナおよびファックスなどの複数種のジョブを実行することができる。この画像形成装置100の構成としては、操作パネル101、画像読取部102およびエンジン部(給紙部103、搬送路104、画像形成部105、中間転写部106、定着部107および両面搬送路108)などを備える。
操作パネル101は、文字入力装置に相当し、たとえば、図1中の破線で示された箇所に配置される。この操作パネル101には、図2に示すように、液晶表示部11が設けられている。液晶表示部11には、各種設定などを行うためのメニューおよび設定キー(ソフトキー)が表示されるとともに、装置状態などを示すメッセージも表示される。そして、ユーザーは、液晶表示部11に表示された設定キーを押下することで、各種設定などを行うことができる。なお、液晶表示部11は、その表示面がタッチパネルで覆われた形態をとる。これにより、液晶表示部11に表示された設定キーがユーザーによって押下されたとき(タッチパネルが押下されたとき)、タッチパネルの出力に基づいて押下位置の座標を検出できるようになっている。
また、操作パネル101には、テンキー12やスタートキー13などのハードキーが設けられている。テンキー12は、数値入力が必要な設定指示をユーザーから受け付けるためのハードキーである。スタートキー13は、各種ジョブの実行開始の指示をユーザーから受け付けるためのハードキーである。
さらに、操作パネル101には、コピーキー14、送信キー15およびボックスキー16などのハードキーも設けられている。そして、コピーキー14がユーザーによって押下されると、コピーを利用する上で必要な設定キー(ソフトキー)やメッセージなどが液晶表示部11に表示される。送信キー15がユーザーによって押下されると、スキャナおよびファックスを利用する上で必要な設定キーやメッセージなどが液晶表示部11に表示される。ボックスキー16がユーザーによって押下されると、ボックスを利用する上で必要な設定キーやメッセージなどが液晶表示部11に表示される。なお、ボックスというのは、ボックスと呼ばれる所定の保存領域(たとえば、後述する記憶部113に設けられたフォルダ)に画像データなどを保存しておくジョブである。
図1に戻って、画像読取部102は、原稿を読み取り、原稿の画像データを形成する。画像読取部102には、図示しないが、露光ランプ、ミラー、レンズおよびイメージセンサーなどの光学系部材が設けられている。この画像読取部102は、コンタクトガラス21に載置される原稿にビームを照射し、その原稿の反射ビームを受けたイメージセンサーの各画素の出力値をA/D変換することにより、画像データを生成する。これにより、画像読取部102による原稿の読み取り動作によって得られた画像データに基づき印刷を行うことができる(コピー)。また、画像読取部102による原稿の読み取り動作によって得られた画像データを蓄積することもできる(スキャナ)。なお、画像読取部102による原稿の読み取り時には、コンタクトガラス21に載置された原稿を原稿カバー22で押えることができる。
給紙部103は、記録媒体としての用紙Pを収容するカセット31を複数有し、それら複数のカセット31に収容された用紙Pを搬送路104に供給する。また、この給紙部103には、収容された用紙Pを引き出すピックアップローラー32や、用紙Pの重送を抑制するための分離ローラー対33などが設けられている。
搬送路104は、装置内部において用紙Pを搬送するものである。具体的に言うと、給紙部103から供給された用紙Pは、搬送路104によって、中間転写部106および定着部107をこの順番で通過して排出トレイ109に導かれる。この搬送路104には、用紙Pを中間転写部106の手前で待機させ、タイミングを合わせて中間転写部106に送り出すレジストローラー対41などが設けられている。
画像形成部105は、画像データに基づいてトナー像を形成するものであって、4色分の画像形成部50(ブラックのトナー像を形成する画像形成部50Bk、イエローのトナー像を形成する画像形成部50Y、シアンのトナー像を形成する画像形成部50C、および、マゼンダのトナー像を形成する画像形成部50M)と、露光装置5とを備えている。なお、画像形成部50Bk、50Y、50Cおよび50Mは、互いに異なる色のトナー像を形成するが、いずれも基本的に同様の構成である。したがって、以下の説明では、各色を表す符号(Bk、Y、CおよびM)を省略する。
各画像形成部50のそれぞれは、図3に示すように、感光体ドラム1、帯電装置2、現像装置3および清掃装置4を含んでいる。
各感光体ドラム1は、外周面にトナー像を担持するものであって、外周面に感光層を有するとともに、周方向に回転可能に支持されている。各帯電装置2は、対応する感光体ドラム1を一定の電位で帯電させる。各現像装置3は、対応する色の現像剤を収容し、対応する感光体ドラム1にトナーを供給する。各清掃装置4は、対応する感光体ドラム1の清掃を行う。そして、各感光体ドラム1の外周面は、露光装置5によって露光される。これにより、各感光体ドラム1の外周面に静電潜像が形成される。
露光装置5は、図示しないが、半導体レーザー素子、ポリゴンミラー、ポリゴンモーター、Fθレンズおよび反射ミラーなどを含む。なお、これら露光装置5の構成部材は、各色の画像形成部50に対して1セットずつ設けられていてもよい。あるいは、半導体レーザー素子、Fθレンズおよび反射ミラーのみを各色の画像形成部50に対して1セットずつ設け、ポリゴンミラーおよびポリゴンモーターについては2色分(または、4色分)の画像形成部50で共用してもよい。
図1に戻って、中間転写部106は、画像形成部105からトナー像の1次転写を受けた後、用紙Pに2次転写を行う。中間転写部106は、中間転写ベルト61と、各画像形成部50にそれぞれ割り当てられた1次転写ローラー62Bk、62Y、62Cおよび62Mとを少なくとも含んでいる。1次転写ローラー62Bk、62Y、62Cおよび62Mは、対応する画像形成部50(具体的には、感光体ドラム1)との間で中間転写ベルト61を挟み込んでいるとともに、転写用電圧(転写バイアス)が印加されるようになっている。
また、中間転写部106は、駆動ローラー63および従動ローラー64も含んでいる。そして、駆動ローラー63および従動ローラー64は、1次転写ローラー62Bk、62Y、62Cおよび62Mと共に、中間転写ベルト61を張架している。このため、駆動ローラー63が回転駆動すると、中間転写ベルト61が循環移動する。
さらに、中間転写部106は、2次転写ローラー65も含んでいる。この2次転写ローラー65は、駆動ローラー63との間で中間転写ベルト61を挟み込んでいるとともに、転写用電圧(転写バイアス)が印加されるようになっている。
そして、各画像形成部50で形成されたトナー像は、転写用電圧が印加された1次転写ローラー62Bk、62Y、62Cおよび62Mにより、順次、ずれなく重畳して中間転写ベルト61に1次転写される。すなわち、中間転写ベルト61にフルカラートナー像が転写される。その後、中間転写ベルト61に1次転写されたトナー像は、転写用電圧が印加された2次転写ローラー65により、用紙Pに2次転写される。
また、中間転写部106は、ベルト清掃装置66も含んでいる。そして、このベルト清掃装置66によって、中間転写ベルト61から用紙Pへのトナー像の2次転写の後、中間転写ベルト61の清掃が行われる。
定着部107は、用紙Pに2次転写されたトナー像を加熱・加圧して定着させるものである。この定着部107は、発熱源を内蔵する定着ローラー71と、定着ローラー71に圧接される加圧ローラー72とを含んでいる。そして、トナー像が2次転写された用紙Pは、定着ローラー71と加圧ローラー72との間を通過することで、加熱・加圧される。これにより、用紙Pにトナー像が定着される。
そして、用紙Pは、定着部107を通過した後、排出トレイ109に排出される。これによって、画像形成処理が完了する。
また、両面搬送路108は、両面印刷を可能とするものである。この両面搬送路108は、定着ローラー71および加圧ローラー72の下流側おいて搬送路104と分岐し、レジストローラー対41の上流側において搬送路104と合流している。そして、両面搬送路108には、搬送路104との分岐点に配置された切替爪81、排出トレイ109に繋がる排出口109aに配置されているとともに正逆回転の切り換えが可能な排出ローラー対82、および、用紙Pを搬送する搬送ローラー対83などが設けられている。
両面印刷を行う場合、切替爪81は、両面搬送路108を閉じるポジションとなり、定着部107から送られた用紙Pを排出トレイ109に導く。また、排出ローラー対82は、ひとまず正回転して用紙Pの一部分を排出トレイ109に排出する。この後、排出ローラー対82は、用紙Pが排出ローラー対82を通過しきる前に逆回転する。このとき、切替爪81は、両面搬送路108を開く方向に回動する。これにより、片面印刷された用紙Pは、両面搬送路108に導かれる。
両面搬送路108に導かれた用紙Pは、搬送ローラー対83により搬送され、レジストローラー対41の上流側に至る。そして、再び、中間転写部106から定着部107へと送られる。このときには、用紙Pの表裏が逆転しているので、用紙Pの裏面(未印刷面)に対して、2次転写処理および定着処理がなされる。そして、両面印刷が終わった用紙Pは、排出トレイ109に排出される。
次に、図4を参照して、画像形成装置100のハードウェア構成について説明する。
画像形成装置100は、主制御部110を有する。この主制御部110は、中央演算処理装置であるCPU111や画像処理部112などを含む。また、主制御部110は、操作パネル101、画像読取部102およびエンジン部(給紙部103、搬送路104、画像形成部105、中間転写部106、定着部107および両面搬送路108)などと接続されている。そして、主制御部110は、記憶部113に記憶された各種のプログラムおよびデータに基づき、各部の制御や演算などを行う。なお、主制御部110は、全体制御や画像処理を行うメイン制御部と、画像形成や各種回転体を回転させるモーターのオン/オフを制御するエンジン制御部とに分割されていてもよい。
記憶部113は、ROM113a、RAM113bおよびHDD113cなどの揮発性の記憶装置と不揮発性の記憶装置とを含む。そして、記憶部113に記憶された各種のプログラムおよびデータは、ROM113aに記憶され、RAM113bに展開される。
記憶部113に記憶されるプログラムとしては、複数種のジョブをそれぞれ実行するための複数のアプリケーションプログラムがあり、たとえば、コピーを実行するためのコピーアプリ、プリントを実行するためのプリントアプリ、スキャナを実行するためのスキャナアプリ、ファックスを実行するためのファックスアプリ、および、ボックスを実行するためのボックスアプリなどが挙げられる。なお、これら基本的なジョブに対応したアプリ以外の種々のアプリが記憶されていてもよい。
また、主制御部110は、通信部114と接続される。通信部114は、たとえば、外部のコンピューター200とネットワーク(あるいは、ケーブル)を介して通信可能に接続される。これにより、コンピューター200から送信された画像データに基づき印刷を行うことができる(プリント)。さらに、画像読取部102による原稿の読み取り動作によって得られた画像データをコンピューター200に送信することもできる(スキャナ)。さらに、たとえば、通信部114にモデムなどを内蔵してもよく、この場合、電話回線などのネットワークを介して、外部のファックス装置300とファックス通信を行うことができる(ファックス)。
主制御部110に接続される操作パネル101は、表示制御部17を有する。表示制御部17は、CPUやICなどからなり、液晶表示部11の表示動作を制御する。また、表示制御部17は、液晶表示部11(タッチパネル)に表示されたソフトキーがユーザーによって押下されると、タッチパネルの出力を受けて押下位置の座標を特定する。これによって、液晶表示部11に対してユーザーが押下した位置(選択したソフトキー)が特定される。たとえば、タッチパネルの出力と押下位置の座標との対応を示すテーブルなどのデータは、記憶部18に記憶される。
たとえば、ユーザーがコピーキー14を押下した場合、表示制御部17は、コピーに関する設定指示を受け付けるための設定画面(ソフトキーとしての設定キーやメッセージなどが配された画面)を液晶表示部11に表示させる。液晶表示部11に表示された設定キーをユーザーが押下すると、表示制御部17は、ユーザーによって押下(選択)された設定キーを検知し、その検知結果を主制御部110に出力する。これにより、コピーに関する設定内容が設定変更される。
なお、設定画面を含む種々の操作画面を液晶表示部11に表示させるための操作画面データは、たとえば、記憶部18に記憶されている。そして、表示制御部17は、ユーザーが操作パネル101に対して行った操作に基づいて、液晶表示部11に表示すべき操作画面に応じたデータを記憶部18から読み出し、液晶表示部11に適切な操作画面を表示させる。
また、たとえば、表示制御部17は、実行するジョブに関する設定指示をユーザーから受け付けた後、ソフトキーとしてのスタートキーを液晶表示部11に表示させる。これにより、ユーザーは、液晶表示部11に表示されたスタートキーを押下することによって、ジョブの実行を開始することができる。あるいは、ハードキーとしてのスタートキー13をユーザーが押下した場合にも、ジョブの実行が開始される。
また、表示制御部17は、図5に示すように、ソフトウェアキーボードKBを含む操作画面を液晶表示部11に表示させることがある。一例を挙げると、表示制御部17は、ユーザー認証のための入力操作(ユーザー名やパスワードなどの入力操作)をユーザーから受け付けるとき、ソフトウェアキーボードKBを含む操作画面を液晶表示部11に表示させる。
たとえば、操作パネル101に設けられたシステムメニューキー19(図2参照)がユーザーによって押下されると、表示制御部17は、ユーザー認証という項目を含む種々の項目を液晶表示部11に表示させる。そして、ユーザー認証という項目をユーザーが選択(押下)すれば、表示制御部17は、図6に示すようなユーザー認証画面(ユーザー名やパスワードなどの入力操作をユーザーから受け付けるための画面)を液晶表示部11に表示させる。
このユーザー認証画面には、「キーボード」というソフトキーSKが設けられている。そして、表示制御部17は、ソフトキーSKがユーザーによって押下されたとき、図5に示したようなソフトウェアキーボードKBを含む操作画面を液晶表示部11に表示させる。これにより、ユーザーは、ソフトウェアキーボードKBに対して入力操作を行うことによって、ユーザー名の入力を行うことができる。
ソフトウェアキーボードKBは、ローマ字表記の文字列の入力を受け付けるため、複数のアルファベットをそれぞれ入力するための複数の文字入力キーK(ソフトキー)を有している。そして、たとえば、ユーザーは、「kara」というローマ字表記の文字列を入力する場合、「k」、「a」、「r」および「a」の順番で各アルファベットに対応する文字入力キーKを押下する。この後、ソフトウェアキーボードKBの変換キーCK(ソフトキー)がユーザーによって押下されると、表示制御部17は、ユーザーによって入力された文字列を日本語に変換する。
なお、「kara」という文字列の日本語への変換候補は、「から」、「カラ」、「空」および「唐」など多数ある。このため、表示制御部17は、変換キーCKがユーザーによって押下される度に、変換候補を順次切り換えて表示する。あるいは、変換候補を羅列表示する。そして、ユーザーは、変換候補のうちから所望の日本語を選択し、確定キーDK(ソフトキー)を押下する。
ところで、文字列をユーザーが入力する際に、ユーザーが入力ミスを起こすことが多々ある。たとえば、「kara(から)」と入力すべきところを、「k」の文字入力キーKと「l」の文字入力キーKとが隣接していることに起因して、「lara」と入力することがある。別の例として、「sore(それ)」と入力すべきところを、「o」の文字入力キーKと「p」の文字入力キーKとが隣接していることに起因して、「spre」と入力することがある。
さらに、文字入力キーKの配置位置に起因する入力ミスとして、「ari(あり)」と入力すべきところを、互いに隣接する「r」および「t」のそれぞれの文字入力キーKを略同時に押下してしまい、「arti」と入力することもある。また、「uke(うけ)」と入力するところを、互いに隣接する「d」および「e」のそれぞれの文字入力キーKを略同時に押下してしまい、「ukde」と入力することもある。
これら以外にも、「masu(ます)」と入力するところを、「s」と「u」の並び順を逆にしてしまい、「maus」と入力することもある。あるいは、末尾に余分な文字を付けてしまい、「masus」と入力することも有る。
このような入力ミスをユーザーが起こすときには、文字列を成す各アルファベットの入力速度が一定でないことが多い。たとえば、「ari(あり)」と入力すべきところを「arti」と入力してしまうミスが起きた場合、「r」の文字入力キーKを押下してから次の「t」の文字入力キーKを押下するまでの時間間隔と、「t」の文字入力キーKを押下してから次の「i」の文字入力キーKを押下するまでの時間間隔との差が大きく異なる。すなわち、互いに隣接する「r」および「t」のそれぞれの文字入力キーKが略同時に押下されているとすると、「r」の文字入力キーKを押下してから次の「t」の文字入力キーKを押下するまでの時間間隔が非常に短くなる。
そこで、本実施形態では、文字列を成す各アルファベットが一定の時間間隔で入力されなかったとき、文字列に誤入力文字が存在するか否かを判定し、誤入力文字が存在すると判定した場合に、誤入力文字を含む文字列を補正する、という一連の処理が自動的に行われるようになっている(誤入力自動補正処理)。
文字列に誤入力文字が存在するか否かを判定し、誤入力文字を含む文字列を補正するための補正情報は、記憶部18に記憶されている。そして、判定処理および補正処理は、補正情報に基づいて表示制御部17が行う。なお、表示制御部17が行う判定処理および補正処理の基となる補正情報は、ローマ字表記における各アルファベットの使用頻度、および、ローマ字表記における母音文字と子音文字との組み合わせの法則に基づき文字列を補正するための情報である。
以下、表示制御部17が行う判定動作について説明する。
ローマ字表記の文字列を入力する場合、使用頻度の高いアルファベットと使用頻度の低いアルファベットとが存在する。たとえば、「a」、「i」、「u」、「e」および「o」の5つの母音文字は使用頻度が非常に高い。また、「k」、「s」、「t」、「n」、「h」、「m」、「y」、「r」、「w」、「g」、「z」、「d」、「b」および「p」などの子音文字も使用頻度が高い。一方で、「l」、「c」、「q」および「x」などは使用頻度が低い。なお、アルファベット以外にも、「;」や「^」などの記号は使用頻度が低い。このため、使用頻度の低いアルファベット(記号を含む)が文字列に含まれている場合、使用頻度の低いアルファベットは誤入力文字である可能性が高いと言える。
したがって、上述した補正情報では、文字列に使用頻度の低いアルファベットが含まれていることを、文字列に誤入力文字が存在していると判定する条件としている。これにより、表示制御部17は、判定動作時に、使用頻度の低いアルファベットが文字列に含まれている場合に、文字列に誤入力文字が存在すると判定する。
たとえば、ユーザーが「kara(から)」と入力するところを「lara」と入力した場合、表示制御部17は、「lara」という文字列に使用頻度の低い「l」という子音文字が含まれていることから、「lara」という文字列に誤入力文字が存在する(入力ミスが有る)と判定する。なお、ユーザーが「kara(から)」と入力するところをそのまま入力していれば、表示制御部17は、「kara」という文字列に使用頻度の低いアルファベットが含まれていないことから、「kara」という文字列に誤入力文字が存在しない(入力ミスが無い)と判定する。
さらに、ローマ字表記の文字列を入力する場合、文字列の最後の入力文字が子音文字になることは殆どない。このため、文字列の最後の入力文字が子音文字の場合には、最後の入力文字(子音文字)は誤入力文字である可能性が高いと言える。また、連続入力された2つの子音文字が文字列に含まれている場合にも、2つの子音文字のうちのいずれかは誤入力文字である可能性が高いと言える。
したがって、上述した補正情報では、文字列に使用頻度の低いアルファベットが含まれていることに加えて、文字列の最後の入力文字が子音文字であること、および、連続入力された2つの子音文字が文字列に含まれていること、のうちの少なくとも一方を、文字列に誤入力文字が存在していると判定する条件としている。これにより、表示制御部17は、判定動作時に、文字列の最後の入力文字が子音文字である場合、および、連続入力された2つの子音文字が文字列に含まれている場合、のうちの少なくとも一方の場合にも、文字列に誤入力文字が存在すると判定する。
たとえば、ユーザーが「masu(ます)」と入力するところを「maus」と入力した場合、表示制御部17は、「maus」という文字列の最後の入力文字である「s」が子音文字であることから、「maus」という文字列に誤入力文字が存在する(入力ミスが有る)と判定する。なお、ユーザーが「masu(ます)」と入力するところをそのまま入力していれば、表示制御部17は、「masu」という文字列の最後の入力文字である「u」が子音文字ではない(母音文字である)ことから、「masu」という文字列に誤入力文字が存在しない(入力ミスが無い)と判定する。
また、たとえば、ユーザーが「sore(それ)」と入力するところを「spre」と入力した場合、表示制御部17は、「spre」という文字列に連続入力された2つの子音文字が含まれている(子音文字である「s」および「p」が連続入力されている)ことから、「spre」という文字列に誤入力文字が存在する(入力ミスが有る)と判定する。なお、ユーザーが「sore(それ)」と入力するところをそのまま入力していれば、表示制御部17は、「sore」という文字列に連続入力された2つの子音文字が含まれていないことから、「sore」という文字列に誤入力文字が存在しない(入力ミスが無い)と判定する。
なお、「kyo(きょ)」や「sho(しょ)」などは、連続入力された2つの子音文字を含むが、ローマ字表記の文字列において一般的に使用する。さらに、「nn(ん)」は、最後の入力文字が子音文字であり、かつ、連続入力された2つの子音文字を含むが、ローマ字表記の文字列において一般的に使用する。したがって、上述した補正情報では、文字列の最後の入力文字が子音文字であったり、連続入力された2つの子音文字が文字列に含まれていたりしたとしても、文字列に誤入力文字が存在していると判定する条件とはしない場合がある。
続いて、以下に、表示制御部17が行う補正動作について説明する。
まず、使用頻度の低いアルファベットが文字列に含まれている場合について説明する。この場合には、使用頻度の低いアルファベットの文字入力キーKと、その使用頻度の低いアルファベットの文字入力キーKに隣接する使用頻度の高いアルファベットの文字入力キーKとの間において、ユーザーが文字入力キーKの押し間違いを起こした可能性が高い。したがって、表示制御部17は、使用頻度の低いアルファベットの文字入力キーKと隣接する文字入力キーKのうちから、使用頻度の高いアルファベットの文字入力キーKを抽出する。そして、表示制御部17は、使用頻度の低いアルファベットを、抽出した文字入力キーKに対応する使用頻度の高いアルファベットに補正する。
たとえば、ユーザーが「lara」と入力し、その結果、「lara」に誤入力文字が存在すると表示制御部17が判定したとする。すなわち、ユーザーが入力した「lara」という文字列に使用頻度の低い「l」という子音文字が含まれていると表示制御部17が判定したとする。この場合、使用頻度の低い子音文字である「l」の文字入力キーKと隣接する文字入力キーKのうち、使用頻度の高い子音文字に対応する文字入力キーKは、「k」の文字入力キーKである。したがって、表示制御部17は、使用頻度の低い「l」という子音文字を、使用頻度の高い「k」という子音文字に補正する。すなわち、表示制御部17は、ユーザーが入力した「lara」という文字列を、「kara」という文字列に補正する。
次に、文字列の最後の入力文字が子音文字の場合について説明する。この場合、最後の子音文字の直前に2つの母音文字が連続入力されていれば(母音文字→母音文字→子音文字という順番であれば)、最後の子音文字の文字入力キーKと、2つの母音文字のうちの2番目の母音文字の文字入力キーKとの間において、ユーザーが文字入力キーKを押す順番を間違えた可能性が高い。したがって、表示制御部17は、最後の子音文字と、連続入力された2つの母音文字のうちの2番目の母音文字とを入れ替える補正を行う。
たとえば、ユーザーが「maus」と入力し、その結果、「maus」に誤入力文字が存在すると表示制御部17が判定したとする。すなわち、ユーザーが入力した「maus」という文字列の最後が「s」という子音文字であると表示制御部17が判定したとする。この場合、最後の子音文字である「s」の直前に「a」および「u」という2つの母音文字が連続入力されている。したがって、表示制御部17は、最後の子音文字である「s」と、連続入力された2つの母音文字のうちの「u」とを入れ替える補正を行う。すなわち、表示制御部17は、ユーザーが入力した「maus」という文字列を、「masu」という文字列に補正する。
なお、文字列の最後の入力文字が子音文字であったとしても、連続入力された2つの母音文字が文字列に含まれていなければ、表示制御部17は、最後の子音文字を削除する補正を行う。たとえば、ユーザーが「masus」と入力し、その結果、「masus」に誤入力文字が存在すると表示制御部17が判定したとする。この場合には、表示制御部17は、最後の子音文字である「s」を削除する補正を行う。すなわち、表示制御部17は、ユーザーが入力した「masus」という文字列を、「masu」という文字列に補正する。
次に、連続入力された2つの子音文字が文字列に含まれている場合について説明する。この場合、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係となっており、かつ、連続入力された2つの子音文字の直後に入力された文字が子音文字であれば(子音文字→子音文字→子音文字という順番であれば)、2番目の子音文字の文字入力キーKと、その2番目の子音文字の文字入力キーKに隣接する母音文字の文字入力キーKとの間において、ユーザーが文字入力キーKの押し間違いを起こした可能性が高い。したがって、表示制御部17は、2番目の子音文字の文字入力キーKと隣接する文字入力キーKのうちから、母音文字の文字入力キーKを抽出する。そして、表示制御部17は、2番目の子音文字を、抽出した文字入力キーKに対応する母音文字に補正する。
なお、上述した補正を行うためには、表示制御部17は、連続入力された2つの子音文字の各文字入力キーKが互いに離れているか否か(互いに接近しているか否か)を判断しなければならない。
このため、本実施形態では、複数の文字入力キーKを、互いに接近する所定数(たとえば、2つ以上)の文字入力キーKをそれぞれ含む複数のグループに分類している。たとえば、複数の文字入力キーKは、図7に示すように、主に左手で操作される文字入力キーKを含むグループG1と、主に右手で操作される文字入力キーKを含むグループG2との2つに分類されている。あるいは、左手のグループG1および右手のグループG2のそれぞれがさらに細かく分類されていてもよい。
そして、表示制御部17は、たとえば、連続入力された2つの子音文字が「r」および「t」であるとき、連続入力された2つの子音文字の各文字入力キーKが同一グループに属しているので、連続入力された2つの子音文字の各文字入力キーKが互いに接近した位置関係であると判断する。
一方で、表示制御部17は、たとえば、連続入力された2つの子音文字が「s」および「p」であるとき、連続入力された2つの子音文字の各文字入力キーKが同一グループに属していないので、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係であると判断する。
たとえば、ユーザーが「spre」と入力し、その結果、「spre」に誤入力文字が存在すると表示制御部17が判定したとする。すなわち、ユーザーが入力した「spre」という文字列に、連続入力された2つの子音文字である「s」および「p」が含まれていると表示制御部17が判定したとする。この場合、連続入力された2つの子音文字である「s」および「p」の各文字入力キーKが互いに離れた位置関係であり、2番目の子音文字である「p」の直後に入力された「r」が子音文字である。また、2番目の子音文字である「p」の文字入力キーKと隣接する文字入力キーKのうち、母音文字に対応する文字入力キーKは、「o」の文字入力キーKである。したがって、表示制御部17は、2番目の子音文字である「p」を、母音文字である「o」に補正する。すなわち、表示制御部17は、「spre」という文字列を、「sore」という文字列に補正する。
また、連続入力された2つの子音文字が文字列に含まれている場合において、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係となっており(連続入力された2つの子音文字の各文字入力キーKが同一グループに属しておらず)、かつ、連続入力された2つの子音文字の直後に入力された文字が母音文字であれば(子音文字→子音文字→母音文字という順番であれば)、2番目の子音文字の文字入力キーKをユーザーが間違えて押した可能性が高い。したがって、表示制御部17は、2番目の子音文字を削除する補正を行う。
たとえば、ユーザーが「ukde」と入力し、その結果、「ukde」に誤入力文字が存在すると表示制御部17が判定したとする。すなわち、ユーザーが入力した「ukde」という文字列に、連続入力された2つの子音文字である「k」および「d」が含まれていると表示制御部17が判定したとする。この場合、連続入力された2つの子音文字である「k」および「d」の各文字入力キーKが互いに離れた位置関係であり、2番目の子音文字である「d」の直後に入力された「e」が母音文字である。したがって、表示制御部17は、2番目の子音文字である「d」を削除する補正を行う。すなわち、表示制御部17は、「ukde」という文字列を、「uke」という文字列に補正する。
次に、連続入力された2つの子音文字が文字列に含まれているが、連続入力された2つの子音文字の各文字入力キーKが互いに接近した位置関係となっている(連続入力された2つの子音文字の各文字入力キーKが同一グループに属している)場合について説明する。この場合、連続入力された2つの子音文字の直後に入力された文字が母音文字であれば(子音文字→子音文字→母音文字という順番であれば)、2番目の子音文字の文字入力キーKをユーザーが間違えて押した可能性が高い。あるいは、2つの子音文字の各文字入力キーKが互いに接近した位置関係となっているので、2つの子音文字の各文字入力キーKをユーザーが意図せず略同時に押した可能性もある。したがって、表示制御部17は、2番目の子音文字を削除する補正を行う。
たとえば、ユーザーが「arti」と入力し、その結果、「arti」に誤入力文字が存在すると表示制御部17が判定したとする。すなわち、ユーザーが入力した「arti」という文字列に、連続入力された2つの子音文字である「r」および「t」が含まれていると表示制御部17が判定したとする。この場合、連続入力された2つの子音文字である「r」および「t」の各文字入力キーKが互いに接近した位置関係であり、2番目の子音文字である「t」の直後に入力された「i」が母音文字である。したがって、表示制御部17は、2番目の子音文字である「t」を削除する補正を行う。すなわち、表示制御部17は、「arti」という文字列を、「ari」という文字列に補正する。
なお、複数の文字入力キーKのグループ分けは、図7に示した例に限定されるわけではない。たとえば、複数の文字入力キーKをユーザーが任意にグループ分けしてもよい。あるいは、過去の入力ミスに関する情報を記憶部18に記憶させ、その情報を基に表示制御部17に複数の文字入力キーKのグループ分けを自動的に行わせてもよい。
ところで、表示制御部17は、図8に示すように、ユーザーが入力した文字列を補正した後、補正後の文字列に対応した日本語変換候補のリストLを液晶表示部11に表示させる。このとき、表示制御部17は、補正後の文字列に対応した日本語変換候補に加えて、補正前の文字列の日本語変換候補もリストLにリストアップする。
たとえば、表示制御部17による補正の結果、「lara」という文字列が「kara」という文字列に自動的に補正されたとする。この場合、表示制御部17は、「kara」という文字列に対応する日本語変換候補(たとえば、「から」、「カラ」、「空」および「唐」など)に加えて、補正前の文字列に対応する日本語変換候補もリストLにリストアップする。
以下に、図9を参照して、誤入力自動補正処理の一連の流れについて説明する。
まず、図9のフローのスタート時点では、ソフトウェアキーボードKB(複数の文字入力キーK)を使ってユーザーが文字列を入力しているとする。そして、ユーザーによって変換キーCKが押下されたとき、図9のフローがスタートする。
ステップS1において、表示制御部17は、文字列を成す各アルファベットの入力速度が一定であったか否かを判断する。なお、文字列を成す各アルファベットの入力速度は、たとえば、記憶部18に記憶されている。
そして、文字列を成す各アルファベットの入力速度が一定でなかった場合には、ステップS2に移行する。ステップS2に移行すると、表示制御部17は、文字列に誤入力文字が存在するか否かの判定処理を行う。続いて、ステップS3において、表示制御部17は、判定処理を行った結果、文字列に誤入力文字が存在すると判定した場合に、ステップS4に移行し、文字列の補正処理を行う。その後、ステップS5において、表示制御部17は、補正した文字列を日本語に変換する。
その一方、ステップS3において、文字列に誤入力文字が存在しないと判定した場合には、ステップS5に移行する。すなわち、表示制御部17は、文字列の補正処理は行わず、文字列をそのまま日本語に変換する。なお、ステップS1において、文字列を成す各アルファベットの入力速度が一定であった場合にも、ステップS5に移行し、表示制御部17は、文字列の補正処理は行わず、文字列をそのまま日本語に変換する。
次に、図10を参照して、図9のフローのステップS2において行われる判定処理について詳細に説明する。なお、図10のフローは、上述したように、文字列を成す各アルファベットの入力速度が一定でなかった場合にスタートする。
ステップS11において、表示制御部17は、使用頻度の低いアルファベットが文字列に含まれているか否かを判断する。そして、使用頻度の低いアルファベットが文字列に含まれている場合には、ステップS12に移行する。ステップS12に移行すると、表示制御部17は、文字列に誤入力文字が存在すると判定する。
その一方、ステップS11において、使用頻度の低いアルファベットが文字列に含まれていない場合には、ステップS13に移行する。ステップS13に移行すると、表示制御部17は、文字列の最後の入力文字が子音文字であるか否かを判断する。文字列の最後の入力文字が子音文字である場合、ステップS12に移行し、表示制御部17は、文字列に誤入力文字が存在すると判定する。
さらに、ステップS13においては、表示制御部17は、文字列の最後の入力文字が子音文字であるか否かの判断を行うのと同時に、連続入力された2つの子音文字が文字列に含まれているか否かの判断も行う。そして、連続入力された2つの子音文字が文字列に含まれている場合、ステップS12に移行し、表示制御部17は、文字列に誤入力文字が存在すると判定する。
また、ステップS13において、文字列の最後の入力文字が子音文字でない(母音文字である)場合、あるいは、連続入力された2つの子音文字が文字列に含まれていない場合には、ステップS14に移行する。ステップS14に移行すると、表示制御部17は、文字列に誤入力文字が存在しないと判定する。
次に、図11を参照して、図9のフローのステップS4において行われる補正処理について詳細に説明する。なお、図11のフローは、上述したように、文字列に誤入力文字が存在すると判定された場合にスタートする。
ステップS21において、表示制御部17は、使用頻度の低いアルファベットが文字列に含まれているか否かを判断する。使用頻度の低いアルファベットが文字列に含まれている場合には、ステップS22に移行する。ステップS22に移行すると、表示制御部17は、使用頻度の低いアルファベットの文字入力キーKと隣接する文字入力キーKのうちから、使用頻度の高い文字入力キーKを抽出する(使用頻度の高いアルファベットを抽出する)。続いて、ステップS23において、表示制御部17は、使用頻度の低いアルファベットを、抽出した文字入力キーKに対応する使用頻度の高いアルファベットに補正する。この後、ステップS24に移行する。
なお、ステップS21において、使用頻度の低いアルファベットが文字列に含まれていない場合にも、ステップS24に移行する。
ステップS24に移行すると、表示制御部17は、文字列の最後の入力文字が子音文字であるか否かを判断する。文字列の最後の入力文字が子音文字である場合には、ステップS25に移行する。
ステップS25に移行すると、表示制御部17は、最後の子音文字の直前に2つの母音文字が連続入力されているか否かを判断する。そして、最後の子音文字の直前に2つの母音文字が連続入力されている場合には、ステップS26に移行する。ステップS26に移行すると、表示制御部17は、最後の子音文字と、2つの母音文字のうちの2番目の母音文字とを入れ替える補正を行う。
その一方、ステップS25において、最後の子音文字の直前に2つの母音文字が連続入力されていない場合には、ステップS27に移行する。ステップS27に移行すると、表示制御部17は、最後の子音文字を削除する補正を行う。
ステップS26およびステップS27の補正処理の後は、ステップS28に移行する。
なお、ステップS24において、文字列の最後の入力文字が子音文字でない(母音文字である)場合にも、ステップS28に移行する。
ステップS28に移行すると、表示制御部17は、連続入力された2つの子音文字が文字列に含まれているか否かを判断する。連続入力された2つの子音文字が文字列に含まれている場合、ステップS29に移行し、表示制御部17は、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係となっているか否かを判断する。そして、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係となっている場合には、ステップS30に移行する。
なお、ステップS28において、連続入力された2つの子音文字が文字列に含まれていない場合には、補正処理を終了する。
ステップS30に移行すると、表示制御部17は、連続入力された2つの子音文字の直後に入力された文字が子音文字であるか否かを判断する。連続入力された2つの子音文字の直後に入力された文字が子音文字である場合、ステップS31に移行し、表示制御部17は、2番目の子音文字の文字入力キーKと隣接する文字入力キーKのうちから、母音文字の文字入力キーKを抽出する(母音文字を抽出する)。続いて、ステップS32において、表示制御部17は、2番目の子音文字を、抽出した文字入力キーKに対応する母音文字に補正し、補正処理を終了する。
一方で、ステップS30において、連続入力された2つの子音文字の直後に入力された文字が子音文字でない(母音文字である)場合には、ステップS33に移行する。そして、ステップS33において、表示制御部17は、2番目の子音文字を削除する補正を行って補正処理を終了する。
また、ステップS29において、連続入力された2つの子音文字の各文字入力キーKが互いに離れた位置関係となっていない場合(連続入力された2つの子音文字の各文字入力キーKが互いに接近した位置関係となっている場合)にも、ステップS33に移行し、表示制御部17は、2番目の子音文字を削除する補正を行って補正処理を終了する。
本実施形態では、上記のように、記憶部18は、ローマ字表記における各アルファベットの使用頻度、および、ローマ字表記における母音文字と子音文字との組み合わせの法則に基づき文字列を補正するための補正情報を記憶しており、表示制御部17は、補正情報に基づいて、文字列に誤入力文字が存在するか否かを判定し、文字列に誤入力文字が存在すると判定した場合に、文字列の補正を自動的に行う。これにより、文字列に誤入力文字が存在するか否かを判定し、文字列に誤入力文字が存在すると判定した場合に、文字列の補正を自動的に行う、という一連の処理(誤入力自動補正処理)に際して形態素解析が不要となる(膨大な量の文法や単語の辞書データを参照する必要がない)。その結果、誤入力自動補正処理を簡素化することが可能となる。そして、誤入力自動補正処理の簡素化(形態素解析の不要化)が可能となれば、高度な処理能力を制御部に持たせる必要はない。したがって、処理能力が低い文字入力装置にも、誤入力自動補正処理を行わせることができる。
また、本実施形態では、上記のように、表示制御部17は、文字列を成す各アルファベットの入力速度を記憶部18に記憶させ、文字列を成す各アルファベットが一定の時間間隔で入力されなかったときに、補正情報に基づいて、文字列に誤入力文字が存在するか否かを判定し、誤入力文字が存在すると判定した場合に、文字列の補正を自動的に行う。このように構成すれば、入力ミスの起きた可能性が低いとき(文字列を成す各アルファベットが一定の時間間隔で入力されたとき)には不要な処理(誤入力自動補正処理)が行われない。
なお、文字列を成す各アルファベットが一定の時間間隔で入力されなかったとしても、入力ミスが起きていないこともある。したがって、この構成では、文字列を成す各アルファベットが一定の時間間隔で入力されなかったことを、文字列に誤入力文字が存在すると判定する条件とはしていない。このため、文字列を成す各アルファベットが一定の時間間隔で入力されなかったときに、入力ミスが起きていないにもかかわらず不要な処理(誤入力自動補正処理)が行われるのを抑制することができる。
また、本実施形態では、上記のように、表示制御部17は、判定動作時に、ローマ字表記において使用頻度の低いアルファベットおよびその使用頻度の低いアルファベットよりも使用頻度の高いアルファベットのうち、使用頻度の低いアルファベットが文字列に含まれている場合に、文字列に誤入力文字が存在すると判定する。このように構成すれば、文字列に誤入力文字が存在するか否かの判定に際して、高度な処理能力が不要となる。
使用頻度の低いアルファベットが文字列に含まれている場合に、文字列に誤入力文字が存在すると表示制御部17が判定する構成において、表示制御部17は、補正動作時に、使用頻度の低いアルファベットの文字入力キーKと隣接する文字入力キーKのうちから、使用頻度の高いアルファベットの文字入力キーKを抽出し、使用頻度の低いアルファベットを、抽出した文字入力キーKに対応する使用頻度の高いアルファベットに補正する。ここで、使用頻度の低いアルファベットが文字列に含まれている場合には、使用頻度の低いアルファベットの文字入力キーKと、その使用頻度の低いアルファベットの文字入力キーKに隣接する使用頻度の高いアルファベットの文字入力キーKとの間において、ユーザーが文字入力キーKの押し間違いを起こした可能性が高い。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
また、本実施形態では、上記のように、表示制御部17は、判定動作時に、文字列の最後の入力文字が子音文字である場合、および、連続入力された2つの子音文字が文字列に含まれている場合、のうちの少なくとも一方の場合に、文字列に誤入力文字が存在すると判定する。このように構成すれば、文字列に誤入力文字が存在するか否かの判定に際して、高度な処理能力が不要となる。
文字列の最後の入力文字が子音文字である場合に、文字列に誤入力文字が存在すると表示制御部17が判定する構成において、文字列の最後の入力文字が子音文字であるとき、表示制御部17は、最後の子音文字の直前に2つの母音文字が連続入力されているか否かを判断し、最後の子音文字の直前に2つの母音文字が連続入力されている場合に、最後の子音文字と、2つの母音文字のうちの2番目の母音文字とを入れ替える補正を行う。ここで、文字列の最後の入力文字が子音文字で、その最後の子音文字の直前に2つの母音文字が連続入力されている場合には、最後の子音文字の文字入力キーKと、2つの母音文字のうちの2番目の母音文字の文字入力キーKとの間において、ユーザーが文字入力キーKを押す順番を間違えた可能性が高い。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
この構成において、表示制御部17は、最後の子音文字の直前に2つの母音文字が連続入力されていない場合には、最後の子音文字を削除する補正を行う。ここで、文字列の最後の入力文字が子音文字で、その最後の子音文字の直前に2つの母音文字が連続入力されていない場合には、最後の子音文字の文字入力キーKをユーザーが間違えて押した可能性が高い。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
連続入力された2つの子音文字が文字列に含まれている場合に、文字列に誤入力文字が存在すると表示制御部17が判定する構成において、複数の文字入力キーKは、互いに接近した位置関係となっている2つ以上の文字入力キーKをそれぞれ含む複数のグループに分類され、連続入力された2つの子音文字が文字列に含まれているとき、表示制御部17は、2つの子音文字の各文字入力キーKが同一グループに属しているか否かを判断するとともに、2つの子音文字の各文字入力キーKが同一グループに属していない場合に、2つの子音文字の直後に入力された文字が子音文字であれば、2つの子音文字のうちの2番目の子音文字の文字入力キーKと隣接する文字入力キーKのうちから、母音文字の文字入力キーKを抽出し、2番目の子音文字を、抽出した文字入力キーKに対応する母音文字に補正する。ここで、連続入力された2つの子音文字が文字列に含まれているとともに、2つの子音文字の各文字入力キーKが互いに離れた位置関係(2つの子音文字の各文字入力キーKが同一グループに属さないような位置関係)となっており、かつ、2つの子音文字の直後に入力された文字が子音文字である場合には、2番目の子音文字の文字入力キーKと、その2番目の子音文字の文字入力キーKに隣接する母音文字の文字入力キーKとの間において、ユーザーが文字入力キーKの押し間違いを起こした可能性が高い。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
この構成において、表示制御部17は、連続入力された2つの子音文字の各文字入力キーKが同一グループに属していない場合に、2つの子音文字の直後に入力された文字が子音文字でなければ、2番目の子音文字を削除する補正を行う。ここで、連続入力された2つの子音文字が文字列に含まれているとともに、2つの子音文字の各文字入力キーKが互いに離れた位置関係(2つの子音文字の各文字入力キーKが同一グループに属さないような位置関係)となっており、かつ、2つの子音文字の直後に入力された文字が子音文字でない(母音文字である)場合には、2番目の子音文字の文字入力キーKをユーザーが間違えて押した可能性が高い。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
さらに、表示制御部17は、連続入力された2つの子音文字の各文字入力キーKが同一グループに属している場合に、2つの子音文字の直後に入力された文字が子音文字でなければ、2番目の子音文字を削除する補正を行う。ここで、連続入力された2つの子音文字が文字列に含まれているとともに、2つの子音文字の各文字入力キーKが互いに接近した位置関係(2つの子音文字の各文字入力キーKが同一グループに属するような位置関係)となっており、かつ、2つの子音文字の直後に入力された文字が子音文字でない(母音文字である)場合には、2番目の子音文字の文字入力キーKをユーザーが間違えて押した可能性が高い。あるいは、2つの子音文字の各文字入力キーKをユーザーが意図せず略同時に押した可能性もある。したがって、先述のように構成すれば、容易に、誤入力文字を含む文字列を正しく補正することができる。
今回開示された実施形態は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記実施形態の説明ではなく特許請求の範囲によって示され、さらに、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。