(57)【特許請求の範囲】
【請求項１】
編集対象の文字列を記憶する文字列記憶部を備え、該文字列記憶部に記憶されている文字列のうち、入力位置より前の文字列に基づいて、上記入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記文字列記憶部に記憶されている文字列の上記入力位置に入力する文字入力装置において、
上記入力位置の直前の文字が単語を区切る区切り文字であるか否かを判断する区切り文字判断手段と、
上記区切り文字判断手段の判断の結果、上記入力位置の直前の文字が区切り文字である場合に、上記区切り文字の直前の単語に続けて入力される単語の候補を入力候補とする第１候補決定手段と、
上記区切り文字判断手段の判断の結果、上記入力位置の直前の文字が区切り文字以外の文字である場合に、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする第２候補決定手段と、
単語と該単語に続けて入力される単語とが対応付けて記憶されている連鎖単語記憶部とを備え、
上記連鎖単語記憶部には、単語と該単語に続けて入力される単語と、これらの単語の間に入力される区切り文字とが対応付けて記憶されており、
上記第２候補決定手段は、上記直前文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている区切り文字を入力候補とし、
上記第１候補決定手段は、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とすることを特徴とする文字入力装置。
【請求項２】
上記第２候補決定手段は、上記直前文字列が上記連鎖単語記憶部に記憶されている単語の先頭部分と一致する場合に、該単語の一致している部分に続く文字列を入力候補とすることを特徴とする請求項１に記載の文字入力装置。
【請求項３】
所定の文字数の文字列と、該文字列に続けて入力される１文字である一文字候補とを対応付けて予め記憶する一文字候補記憶部を備え、
上記第２候補決定手段は、上記入力位置の直前の上記所定の文字数の文字列に続けて入力される一文字候補を入力候補とすることを特徴とする請求項１または２に記載の文字入力装置。
【請求項４】
上記表示部に表示させた各文字に対応する文字入力キーを、隣接する文字入力キーの間でフォーカスを移動させながら選択することによって上記入力位置への文字の入力がなされるようになっており、
上記第２候補決定手段は、上記一文字候補を入力候補として決定する場合には、上記表示部において、フォーカスされている文字入力キーの位置から遠い文字入力キーに対応する文字の一文字候補を優先して入力候補とすることを特徴とする請求項３に記載の文字入力装置。
【請求項５】
入力確定処理を行うことによって、上記文字列記憶部に記憶されている文字列が自装置の外部に出力されるようになっており、
上記連鎖単語記憶部には、単語と該単語の入力後に実行される上記入力確定処理とが対応付けて記憶されており、
上記第２候補決定手段は、上記直前文字列が、上記連鎖単語記憶部に記憶されている単語と一致した場合に、上記入力確定処理を入力候補とすることを特徴とする請求項１から４の何れか１項に記載の文字入力装置。
【請求項６】
上記文字列記憶部に記憶されている文字列を自装置の外部に出力するときに、該出力する文字列から区切り文字と単語とを切り出し、単語と該単語に続けて入力される単語と、これらの単語の間に入力される区切り文字とを対応付けて上記連鎖単語記憶部に記憶する学習手段を備えていることを特徴とする請求項１から５の何れか１項に記載の文字入力装置。
【請求項７】
上記第２候補決定手段は、ＵＲＬ（Uniform Resource Locator）の入力時に、上記入力位置の直前の区切り文字から入力位置の直前の文字までの文字数が所定の文字数を超えている場合に、ピリオドを入力候補とすることを特徴とする請求項１から６の何れか１項に記載の文字入力装置。
【請求項８】
上記第１候補決定手段は、ＵＲＬの入力時に、上記入力位置の前であって“://”の後に“/”が存在するか否かに応じた定型の文字列を入力候補とすることを特徴とする請求項１から７の何れか１項に記載の文字入力装置。
【請求項９】
上記第１候補決定手段は、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理を入力候補とすることを特徴とする請求項１から８の何れか１項に記載の文字入力装置。
【請求項１０】
文字列を自装置の外部から上記文字列記憶部に読み込む文字列読み込み手段と、
上記文字列読み込み手段が、自装置の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理、及びスペースの少なくとも一方を入力候補とする編集用候補決定手段とを備えていることを特徴とする請求項１から９の何れか１項に記載の文字入力装置。
【請求項１１】
上記第１候補決定手段は、上記入力位置に入力する単語の候補の文字数が、上記候補選択キーに表示可能な最大文字数を超える場合には、上記入力位置に入力する単語の候補を、該単語の候補の先頭から上記最大文字数以下の文字数だけ切り出して上記入力候補とするものであり、
上記第２候補決定手段は、上記直前文字列を単語として完成させるための文字列が、上記候補選択キーに表示可能な最大文字数を超える場合には、上記直前文字列を単語として完成させるための文字列を、該文字列の先頭から上記最大文字数以下の文字数だけ切り出して上記入力候補とすることを特徴とする請求項１から１０の何れか１項に記載の文字入力装置。
【請求項１２】
上記第１候補決定手段及び第２候補決定手段は、上記最大文字数以下の文字数だけ切り出して上記入力候補が決定されることにより、複数の入力候補の文字列が同一になった場合には、同一の文字列からなる入力候補の何れか１つのみを入力候補として決定することを特徴とする請求項１１に記載の文字入力装置。
【請求項１３】
上記候補選択キーに割り当てる入力候補の文字列を当該候補選択キー上に表示すると共に、上記直前文字列の末尾の文字列を、上記候補選択キーに割り当てる入力候補の文字列と併せて表示し、複数の候補選択キーに表示する文字列が、上記直前文字列の末尾の文字列を含む場合には、各候補選択キーに表示する上記直前文字列の末尾の文字列を一致させる入力候補割当手段を備えていることを特徴とする請求項１から１２の何れか１項に記載の文字入力装置。
【請求項１４】
上記第２候補決定手段は、日本語を入力する場合に、上記直前文字列に対して仮名漢字変換が行われていない場合には、上記直前文字列を仮名漢字変換する処理を入力候補とすることを特徴とする請求項１から１３の何れか１項に記載の文字入力装置。
【請求項１５】
請求項１から１４の何れか１項に記載の文字入力装置を備えていると共にブラウザ機能を有する情報処理装置と、該情報処理装置の出力するブラウザ画面を表示する表示装置とを含むシステムにおいて、
上記表示装置に表示されたブラウザ画面に、上記文字入力装置にて文字入力を行うことができるようになっていることを特徴とするシステム。
【請求項１６】
編集対象の文字列を記憶する文字列記憶部を備え、該文字列記憶部に記憶されている文字列のうち、入力位置より前の文字列に基づいて、上記入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを、表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記文字列記憶部に記憶されている文字列の上記入力位置に入力する文字入力装置の文字入力制御方法において、
上記文字入力装置が備える区切り文字判断手段が、上記入力位置の直前の文字が単語を区切る区切り文字であるか否かを判断する区切り文字判断ステップと、
上記区切り文字判断ステップの判断の結果、上記入力位置の直前の文字が区切り文字である場合に、上記文字入力装置が備える第１候補決定手段が、上記区切り文字の直前の単語に続けて入力される単語の候補を入力候補とする第１候補決定ステップと、
上記区切り文字判断ステップの判断の結果、上記入力位置の直前の文字が区切り文字以外の文字である場合に、上記文字入力装置が備える第２候補決定手段が、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする第２候補決定ステップとを含み、
上記文字入力装置は、単語と該単語に続けて入力される単語とが対応付けて記憶されている連鎖単語記憶部を備え、
上記連鎖単語記憶部には、単語と該単語に続けて入力される単語と、これらの単語の間に入力される区切り文字とが対応付けて記憶されており、
上記第２候補決定ステップでは、上記直前文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている区切り文字を入力候補とし、
上記第１候補決定ステップでは、上記文字入力装置が備える第１候補決定手段が、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とすることを特徴とする文字入力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力済みの文字列に基づいて入力位置への文字入力を支援する入力装置に関するものである。
【背景技術】
【０００２】
従来から、キーボード等を用いずに文字入力を行うための文字入力装置が広く用いられている。例えば、携帯電話機、テレビジョン受像機、オーディオ機器、及び携帯型の音楽プレイヤーのような、キーボード等を用いることが困難な電子機器において、文字入力を行うための文字入力装置が用いられている。
【０００３】
このような文字入力装置では、一般に文字入力キーの配置可能なスペースが狭いので、全ての文字入力キーを文字入力装置上に配置することが困難な場合が多い。そのため、文字入力装置では、文字入力を行うための方法として、一つの文字入力キーに複数の文字を割り当てる方法や、文字の一覧を表示し、表示された文字を選択することで文字入力を行う方法等が採用されている。
【０００４】
ここで、上記のような文字入力方法を採用した場合には、アルファベットのそれぞれに対応する入力キーを備えているキーボードを使用する場合と比べて、文字入力にかかる時間と手間とが大きくなってしまうという課題がある。そこで、文字入力装置にて、より容易に、また迅速に文字入力を行うことができるように様々な工夫が試みられている。
【０００５】
例えば、下記の特許文献１では、タッチパネルに文字入力キーを表示させて文字入力を行うようにしている。そして、タッチパネルに表示させる文字入力キーのレイアウトを、入力済みの文字列に応じて変化させることにより、ユーザの操作性を向上させている。
【０００６】
また、下記の特許文献２では、入力済みの文字列と先頭部分が一致する単語を入力候補として表示し、該表示した入力候補の単語を候補選択用のキーを用いて入力できるようにしている。この構成によれば、ユーザは、単語の先頭部分を入力した場合に、その単語が入力候補として表示されたときには、ワンタッチでその単語の入力を行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許５，１２８，６７２号明細書
【特許文献２】米国特許６，４０５，０６０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の文字入力装置では、表示される入力候補の確度が低いという問題がある。すなわち、上記従来の文字入力装置では、入力済みの文字列が予め登録していた単語の先頭部分と一致し、かつ該単語がユーザの入力しようとしていた単語と一致した場合にのみ、ユーザの文字入力操作における手間が軽減されることになり、それ以外の場合には、表示されている入力候補は何の意味もなさない。
【０００９】
この問題に対処する方法としては、例えばできるだけ多くの単語を予め登録しておき、できるだけ多くの入力候補を表示することが考えられる。このようにすることにより、候補選択キーで単語の入力を行うことができる確率を上げることができる。
【００１０】
しかしながら、文字入力装置には、入力キー等の構成を配置するためのスペースが狭いという制約がある場合が多いので、多くの候補選択キーを搭載することや、多くの入力候補を表示することは現実的ではない。また、入力候補を多数表示させた場合には、ユーザが所望の入力候補を見つけるためにかえって時間がかかるという問題もある。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、確度の高い入力候補を候補選択キーに割り当て、これによりユーザが文字入力を簡単かつ迅速に行うことのできる文字入力装置等を実現することにある。
【課題を解決するための手段】
【００１２】
本発明の文字入力装置は、上記課題を解決するために、編集対象の文字列を記憶する文字列記憶部を備え、該文字列記憶部に記憶されている文字列のうち、入力位置より前の文字列に基づいて、上記入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記文字列記憶部に記憶されている文字列の上記入力位置に入力する文字入力装置において、上記入力位置の直前の文字が単語を区切る区切り文字であるか否かを判断する区切り文字判断手段と、上記区切り文字判断手段の判断の結果、上記入力位置の直前の文字が区切り文字である場合に、上記区切り文字の直前の単語に続けて入力される単語の候補を入力候補とする第１候補決定手段と、上記区切り文字判断手段の判断の結果、上記入力位置の直前の文字が区切り文字以外の文字である場合に、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする第２候補決定手段と、単語と該単語に続けて入力される単語とが対応付けて記憶されている連鎖単語記憶部とを備え、上記第１候補決定手段は、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とすることを特徴としている。
【００１３】
また、本発明の文字入力制御方法は、上記課題を解決するために、編集対象の文字列を記憶する文字列記憶部を備え、該文字列記憶部に記憶されている文字列のうち、入力位置より前の文字列に基づいて、上記入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを、表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記文字列記憶部に記憶されている文字列の上記入力位置に入力する文字入力装置の文字入力制御方法において、上記入力位置の直前の文字が単語を区切る区切り文字であるか否かを判断する区切り文字判断ステップと、上記区切り文字判断ステップの判断の結果、上記入力位置の直前の文字が区切り文字である場合に、上記区切り文字の直前の単語に続けて入力される単語の候補を入力候補とする第１候補決定ステップと、上記区切り文字判断ステップの判断の結果、上記入力位置の直前の文字が区切り文字以外の文字である場合に、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする第２候補決定ステップとを含み、上記文字入力装置は、単語と該単語に続けて入力される単語とが対応付けて記憶されている連鎖単語記憶部とを備え、上記第１候補決定ステップでは、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とすることを特徴としている。
【００１４】
上記の構成によれば、入力位置の直前の文字が区切り文字であるか否かが判断される。そして、区切り文字である場合と、それ以外の文字である場合とでそれぞれ異なる手段にて入力候補が決定される。
【００１５】
ここで、区切り文字は、単語を区切る文字であるから、区切り文字の次には単語が入力されることが予測される。一方、直前が区切り文字ではない場合には、直前の文字列が単語として完成していなければ、続けて文字列が入力されることが予測され、直前の文字列が単語として完成していれば、区切り文字が入力されることが予測される。
【００１６】
すなわち、上記本発明の構成のように、入力位置の直前が区切り文字である場合と、それ以外の文字である場合とで入力候補の決定方法を異ならせることによって、入力位置に入力される可能性の高い候補が入力候補として候補選択キーに割り当てられる。
【００１７】
したがって、入力位置の直前の文字が区切り文字であるか否かの判別を行わない従来の文字入力装置と比べて、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００１８】
さらに、上記の構成によれば、入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語が入力候補として決定される。したがって、ユーザが連続して入力する確率の高い単語を予め記憶させておくことができるので、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００１９】
そして、上記の構成によれば、入力位置の直前が区切り文字がどのような区切り文字であっても（記憶されている区切り文字と異なっていても）次に入力される単語を入力候補として決定することができる。
【００２０】
また、上記文字入力装置は、上記第１候補決定手段は、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とすることが好ましい。
【００２１】
上述のように、第２候補決定手段は、区切り文字判断手段の判断の結果、入力位置の直前の文字が区切り文字以外の文字である場合に、入力候補を決定する手段である。そして、この場合に、直前の文字列が単語として完成していなければ、上記直前文字列を単語として完成させるための文字列が入力位置に入力されることが予測される。
【００２２】
そこで、上記の構成によれば、単語が単語記憶部に格納されており、直前文字列が上記単語記憶部に記憶されている単語の先頭部分と一致する場合に、該単語の一致している部分に続く文字列を入力候補としている。
【００２３】
したがって、上記の構成によれば、入力位置の直前の文字が区切り文字以外の文字である場合には、直前文字列を単語として完成させるための文字列が入力候補として決定されると共に、入力位置の直前の文字が区切り文字である場合には、上記とは異なる入力候補を決定することができる。
【００２４】
このように、入力位置の直前の文字が区切り文字であるか否かに応じて候補選択キーに割り当てる入力候補の決定方法を変えることにより、状況に応じた適切な入力候補が候補選択キーに割り当てられることになる。したがって、上記の構成によれば、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００２５】
なお、単語の一致している部分に続く文字列を候補選択キーに表示するときには、直前文字列の末尾の文字列、すなわち入力済みの文字列も併せて表示することにより、ユーザが単語の完成形を認識しやすくなるので好ましい。また、このときには、入力済みの文字列と入力候補とが識別できるように、例えば色分けする等して表示することが好ましい。
【００２６】
また、上記文字入力装置は、単語を記憶する単語記憶部を備え、上記第２候補決定手段は、上記直前文字列が上記単語記憶部に記憶されている単語の先頭部分と一致する場合に、該単語の一致している部分に続く文字列を入力候補とすることが好ましい。
【００２７】
上述のように、第２候補決定手段は、区切り文字判断手段の判断の結果、入力位置の直前の文字が区切り文字以外の文字である場合に、入力候補を決定する手段である。そして、この場合に、直前の文字列が単語として完成していなければ、上記直前文字列を単語として完成させるための文字列が入力位置に入力されることが予測される。
【００２８】
そこで、上記の構成によれば、単語が単語記憶部に格納されており、直前文字列が上記単語記憶部に記憶されている単語の先頭部分と一致する場合に、該単語の一致している部分に続く文字列を入力候補としている。
【００２９】
したがって、上記の構成によれば、入力位置の直前の文字が区切り文字以外の文字である場合には、直前文字列を単語として完成させるための文字列が入力候補として決定されると共に、入力位置の直前の文字が区切り文字である場合には、上記とは異なる入力候補を決定することができる。
【００３０】
このように、入力位置の直前の文字が区切り文字であるか否かに応じて候補選択キーに割り当てる入力候補の決定方法を変えることにより、状況に応じた適切な入力候補が候補選択キーに割り当てられることになる。したがって、上記の構成によれば、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００３１】
なお、単語の一致している部分に続く文字列を候補選択キーに表示するときには、直前文字列の末尾の文字列、すなわち入力済みの文字列も併せて表示することにより、ユーザが単語の完成形を認識しやすくなるので好ましい。また、このときには、入力済みの文字列と入力候補とが識別できるように、例えば色分けする等して表示することが好ましい。
【００３２】
また、上記文字入力装置は、単語を記憶する単語記憶部を備え、上記第２候補決定手段は、上記直前文字列が上記単語記憶部に記憶されている単語と一致する場合に、区切り文字を入力候補とすることが好ましい。
【００３３】
上述のように、第２候補決定手段は、区切り文字判断手段の判断の結果、入力位置の直前の文字が区切り文字以外の文字である場合に、入力候補を決定する手段である。そして、この場合に、直前の文字列が単語として完成していれば、区切り文字が入力位置に入力されることが予測される。
【００３４】
そこで、上記の構成によれば、単語が単語記憶部に格納されており、直前文字列が上記単語記憶部に記憶されている単語と一致する場合に、区切り文字を入力候補としている。
【００３５】
したがって、上記の構成によれば、入力位置の直前の文字が区切り文字である場合には、区切り文字が入力候補として決定されると共に、入力位置の直前の文字が区切り文字ではない場合には、上記とは異なる入力候補を決定することができる。
【００３６】
このように、入力位置の直前の文字が区切り文字であるか否かに応じて候補選択キーに割り当てる入力候補の決定方法を変えることにより、状況に応じた適切な入力候補が候補選択キーに割り当てられることになる。したがって、上記の構成によれば、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００３７】
また、上記文字入力装置は、単語と該単語に続けて入力される区切り文字とが対応付けて記憶されている連鎖区切り文字記憶部を備え、上記第２候補決定手段は、上記直前文字列が上記連鎖区切り文字記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている区切り文字を入力候補とすることが好ましい。
【００３８】
上記の構成によれば、直前文字列が上記連鎖区切り文字記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている区切り文字が入力候補として決定される。したがって、ユーザが入力する確率の高い区切り文字を予め記憶させておくことができるので、候補選択キーに割り当てる区切り文字の確度を高めることができ、これにより、ユーザは文字入力を簡単かつ迅速に行うことができる。
【００３９】
また、上記文字入力装置は、所定の文字数の文字列と、該文字列に続けて入力される１文字である一文字候補とを対応付けて予め記憶する一文字候補記憶部を備え、上記第２候補決定手段は、上記入力位置の直前の上記所定の文字数の文字列に続けて入力される一文字候補を入力候補とすることが好ましい。
【００４０】
ここで、予め単語を記憶しておくことで、該単語の先頭部分または、該単語の全文字列が直前文字列と一致したときに、その単語を入力候補として決定することができる。しかしながら、直前文字列と予め記憶している単語とが全く一致しない場合には、入力候補を候補選択キーに割り当てることができない。また、予め記憶している単語以外の入力が行われる場合には、割り当てた入力候補は使用されない。
【００４１】
そこで、上記の構成では、所定の文字数の文字列と、該文字列に続けて入力される１文字である一文字候補とを対応付けて予め記憶している。そして、入力位置の直前の上記所定の文字数の文字列に続けて入力される一文字候補を入力候補としている。
【００４２】
これにより、直前文字列が予め記憶していた単語と一致しない場合であっても入力候補を割り当てることができる。また、予め記憶していた単語以外の単語を入力する場合であっても、候補選択キーをもちいて文字入力を行うことが可能になる。
【００４３】
また、上記文字入力装置は、上記表示部に表示させた各文字に対応する文字入力キーを、隣接する文字入力キーの間でフォーカスを移動させながら選択することによって上記入力位置への文字の入力がなされるようになっており、上記第２候補決定手段は、上記一文字候補を入力候補として決定する場合には、上記表示部において、フォーカスされている文字入力キーの位置から遠い文字入力キーに対応する文字の一文字候補を優先して入力候補とすることが好ましい。
【００４４】
上記文字入力装置には、様々な文字入力方法を採用することができるが、例えば表示部に文字入力キーを表示させ、隣接する文字入力キーの間でフォーカスを移動させながら選択することによって文字入力を行う構成とすることができる。この場合には、フォーカス位置から近い文字を入力する場合にはあまり手数はかからないが、遠い文字ほど入力に手数がかかることになる。
【００４５】
そこで、上記の構成によれば、フォーカスされている文字入力キーの位置から遠い文字入力キーに対応する文字の一文字候補を優先して入力候補としている。これにより、次にユーザが入力する文字がフォーカス位置の近くである場合には操作の手数は少なくて済み、フォーカス位置から遠い文字を入力する場合にも候補選択キーを用いることによってユーザ操作の手数が少なくて済む。
【００４６】
また、上記文字入力装置は、入力確定処理を行うことによって、上記文字列記憶部に記憶されている文字列が自装置の外部に出力されるようになっており、単語と該単語の入力後に実行される上記入力確定処理とを対応付けて記憶する連鎖処理記憶部を備え、上記第２候補決定手段は、上記直前文字列が、上記連鎖処理記憶部に記憶されている単語と一致した場合に、上記入力確定処理を入力候補とすることが好ましい。
【００４７】
上記の構成によれば、入力確定処理を行うことによって、上記文字列記憶部に記憶されている文字列が自装置の外部に出力されるようになっている。なお、自装置の外部とは、文字入力装置によって文字を入力する対象となる入力フィールドである。すなわち、上記の構成によれば、文字入力装置内で作成された文字列が完成した状態にて確定処理が行われ、これにより入力フィールドに上記完成した文字列が入力されるようになっている。
【００４８】
ここで、文字入力を行う場合には、例えば自分の名前や住所、挨拶文等のように、同じ文字列を繰り返し入力することがある。このような場合に、名前や住所、挨拶文等の文字列を予め記憶し、これらの文字列を入力候補として候補選択キーに割り当てることで入力操作を簡略化することができる。このように、予め記憶した文字列を候補選択キーに割り当てることは、従来から行われていた。
【００４９】
これに対し、上記本発明の構成によれば、単語を記憶するだけではなく、単語と該単語の入力後に実行される入力確定処理とを対応付けて記憶している。そして、直前文字列が、連鎖処理記憶部に記憶されている単語と一致した場合に、入力確定処理を候補選択キーに割り当てている。
【００５０】
すなわち、上記本発明の構成によれば、文字列を入力した後の確定処理まで候補選択キーで実行させることが可能になっている。これにより、ユーザは、文字列の入力とその確定処理とを簡単な操作で迅速に行うことができる。
【００５１】
また、上記文字入力装置は、上記文字列記憶部に記憶されている文字列を自装置の外部に出力するときに、該出力する文字列から区切り文字と単語とを切り出し、単語と該単語に続く区切り文字とを対応付けて連鎖区切り文字記憶部に記憶すると共に、区切り文字を挟んで連続する２単語を対応付けて連鎖単語記憶部に記憶する学習手段を備えていることが好ましい。
【００５２】
上記の構成によれば、文字入力装置に入力されて確定された文字列に含まれている単語と区切り文字とが切り分けられて記憶される。また、単語と該単語に続く区切り文字とが対応付けて記憶されると共に、区切り文字を挟んで連続する２単語が対応付けて記憶される。
【００５３】
これにより、入力位置の直前文字列が、上記のようにして記憶された単語に一致するときには、該単語に続く区切り文字を入力候補として決定することができる。また、上記の構成によれば、区切り文字を挟んで連続する２単語が対応付けて記憶されている。これによって、入力位置の直前が区切り文字であり、かつ該区切り文字の直前の文字列が上記のようにして記憶された単語に一致するときには、入力位置の直前が区切り文字がどのような区切り文字であっても（記憶されている区切り文字と異なっていても）次に入力される単語を入力候補として決定することができる。
【００５４】
すなわち、上記の構成によれば、単語を区切る区切り文字が変わった場合であっても、連続する単語を入力候補とすることができる。例えば、“Ｔｏｋｙｏ，Ｊａｐａｎ”との文字列を学習した場合に、“Ｔｏｋｙｏ−”と入力したときには、“Ｔｏｋｙｏ”の次の区切り文字が変わっているにも関わらず、入力候補として“Ｊａｐａｎ”が決定される。このように、上記の構成によれば、区切り文字の変化にも柔軟に対応して、適切な入力候補を決定することができる。
【００５５】
上記第２候補決定手段は、ＵＲＬ（Uniform Resource Locator）の入力時に、上記入力位置の直前の区切り文字から入力位置の直前の文字までの文字数が所定の文字数を超えている場合に、ピリオドを入力候補とすることが好ましい。
【００５６】
ＵＲＬの入力を行う場合に入力される文字列には、一定の法則性がある。すなわち、ＵＲＬにおいては、一続きの文字列は主にピリオドで区切られる。したがって、ピリオドやスラッシュ等の区切り文字が入力されずにある程度の文字数が入力された場合には、その文字列を区切るためにピリオドが入力される可能性が高い。
【００５７】
そこで、上記の構成によれば、入力位置の直前の区切り文字から入力位置の直前の文字までの文字数が所定の文字数を超えている場合に、ピリオドを入力候補としている。これにより、ユーザがピリオドを入力する可能性の高い状況でピリオドが候補選択キーに割り当てられるので、ユーザは、ＵＲＬ入力を容易かつ迅速に行うことができる。なお、上記所定の文字数は、特に限定されないが、一般に一文字をピリオドで区切ることは少ないので、例えば２文字や３文字に設定すればよい。
【００５８】
なお、ＵＲＬの入力時であることは、文字列記憶部に格納されている文字列の先頭部分が“http://”または“www”に一致するか否かによって判断することができる。また、入力フィールドがＵＲＬ入力欄（ブラウザのアドレス欄）であるか否かによって判断するようにしてもよい。
【００５９】
上記第１候補決定手段は、ＵＲＬの入力時に、上記入力位置の前であって“://”の後に“/”が存在するか否かに応じた定型の文字列を入力候補とすることが好ましい。
【００６０】
上述のように、ＵＲＬの入力を行う場合に入力される文字列には、一定の法則性がある。例えば、ＵＲＬは、“http://”のような定型の文字列で始まる。そして、“http://”の次にピリオドが入力されると、その直後には“com”等の定型の文字列が入力されることが多い。また、“com”の後にＵＲＬが続く場合には、“com”の直後にスラッシュ“/”が入力され、ＵＲＬの末尾は“.html/”のような定型の文字列となる場合が多い。
【００６１】
そこで、上記の構成によれば、入力位置の前であって“://”の後に“/”が存在するか否かに応じた定型の文字列を入力候補としている。これにより、ユーザが入力する可能性の高い文字列が入力状況に応じた適切なタイミングで候補選択キーに割り当てられるので、ユーザは、ＵＲＬ入力を容易かつ迅速に行うことができる。
【００６２】
上記第１候補決定手段は、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理を入力候補とすることが好ましい。
【００６３】
英字（アルファベット）を入力する場合には、文頭及びスペースまたはピリオドの直後を大文字で入力することがある。そこで、上記の構成では、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理を上記候補選択キーに割り当てている。したがって、ユーザは、小文字入力から大文字入力への変換を、候補選択キーを用いて簡単な操作で迅速に行うことができる。
【００６４】
また、上記の構成によれば、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、上記処理を候補選択キーに割り当てるので、それ以外の場合には単語の候補等を候補選択キーに割り当てることが可能になる。
【００６５】
すなわち、上記の構成によれば、小文字入力と大文字入力との切り換え処理が行われる確度が高いときに候補選択キーに割り当て、それ以外のときには他の入力候補を選択候補キーに割り当てることが可能になるので、候補選択キーを有効に活用することができる。
【００６６】
また、上記文字入力装置は、文字列を自装置の外部から上記文字列記憶部に読み込む文字列読み込み手段と、上記文字列読み込み手段が、自装置の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理、及びスペースの少なくとも一方を入力候補とする編集用候補決定手段とを備えていることが好ましい。
【００６７】
文字列を自装置の外部から読み込むことができれば、読み込んだ文字列を文字入力装置にて加工、編集して再出力することが可能になるので好ましい。例えば、キーワード検索を行うための文字列を入力する場合には、キーワードを入力する入力フィールド内に既にキーワードが入力されていることがある。
【００６８】
このような場合に、上記入力済みのキーワードにさらに新たなキーワードを追加して検索を行うときには、ユーザは、入力済みのキーワードの後にスペースを入力し、その後に新たなキーワードを入力することになる。
【００６９】
そこで、上記の構成によれば、自装置の外部から文字列を読み込んだときに、スペースを上記候補選択キーに割り当てている。したがって、上記の構成によれば、読み込んだ文字列に新たな文字列を追加する場合に、候補選択キーを用いてスペースを簡単な操作で迅速に入力することができる。
【００７０】
また、読み込んだ文字列を使用しない場合も考えられるので、自装置の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理を上記候補選択キーに割り当てるようにしてもよい。このようにすることにより、読み込んだ文字列を使用しない場合に、上記読み込んだ文字列を、候補選択キーを用いて簡単な操作で迅速に全消去することができる。
【００７１】
また、上記第１候補決定手段は、上記入力位置に入力する単語の候補の文字数が、上記候補選択キーに表示可能な最大文字数を超える場合には、上記入力位置に入力する単語の候補を、該単語の候補の先頭から上記最大文字数以下の文字数だけ切り出して上記入力候補とするものであり、上記第２候補決定手段は、上記直前文字列を単語として完成させるための文字列が、上記候補選択キーに表示可能な最大文字数を超える場合には、上記直前文字列を単語として完成させるための文字列を、該文字列の先頭から上記最大文字数以下の文字数だけ切り出して上記入力候補とすることが好ましい。
【００７２】
上述のように、文字入力装置は、入力キーを配置するスペースや入力候補を表示するスペースに制限がある場合が多く、入力候補の全文字列を候補選択キーに表示することが難しいことがある。一般に、このような場合には、入力候補の先頭部分のみを表示させ、該入力候補が割り当てられた候補選択キーが選択されたときには、上記入力候補の全文字列（候補選択キーに表示されていない文字列を含む）が入力位置に入力されるようにしていた。
【００７３】
しかしながら、候補選択キーに表示されていない文字列までが入力位置に入力されるようにすると、候補選択キーに表示されている文字列と入力される文字列とが異なるので、混乱するユーザも居ると考えられる。
【００７４】
そこで、上記本発明の構成によれば、候補選択キーに表示可能な最大文字数を超える場合には、上記直前文字列を単語として完成させるための文字列を、該文字列の先頭から上記最大文字数以下の文字数だけ切り出して入力候補としている。
【００７５】
上記の構成によれば、切り出された文字列が入力候補に決定されるので、候補選択キーに表示されている文字列と入力される文字列とが完全に一致する。したがって、ユーザが混乱することもない。
【００７６】
上記第１候補決定手段及び第２候補決定手段は、上記最大文字数以下の文字数だけ切り出して上記入力候補が決定されることにより、複数の入力候補の文字列が同一になった場合には、同一の文字列からなる入力候補の何れか１つのみを入力候補として決定することが好ましい。
【００７７】
単語を構成する文字列の一部を切り出した場合には、異なる単語から同じ文字列が切り出されることがある。このような場合に、同じ文字列を入力候補として決定してしまうと、ユーザはどちらの候補を選べばよいか分からず混乱してしまう。また、同じ文字列が入力される入力候補が複数の候補選択キーに割り当てられてしまうと、他の入力候補を割り当てることができなくなるので好ましくない。
【００７８】
そこで、上記の構成によれば、複数の入力候補の文字列が同一になった場合には、同一の文字列からなる入力候補の何れか１つのみを入力候補として決定している。したがって、ユーザがどちらの候補を選べばよいか分からず混乱することもなく、また候補選択キーにより有用な入力候補を割り当てることが可能になる。
【００７９】
また、上記文字入力装置は、上記候補選択キーに割り当てる入力候補の文字列を当該候補選択キー上に表示すると共に、上記直前文字列の末尾の文字列を、上記候補選択キーに割り当てる入力候補の文字列と併せて表示し、複数の候補選択キーに表示する文字列が、上記直前文字列の末尾の文字列を含む場合には、各候補選択キーに表示する上記直前文字列の末尾の文字列を一致させる入力候補割当手段を備えていることが好ましい。
【００８０】
上記の構成によれば、直前文字列の末尾の文字列が入力候補の文字列と併せて表示されるので、ユーザは、単語の完成形を認識しやすく、所望の入力候補を選択しやすくなる。ここで、表示する上記末尾の文字列の長さ（文字数）が各入力候補間で異なっていた場合には、入力済みの文字列と、これから入力する文字列との境界がユーザに認識され難くなってしまう。
【００８１】
そこで、上記本発明の構成によれば、複数の候補選択キーに表示する文字列が、上記直前文字列の末尾の文字列を含む場合には、各候補選択キーに表示する上記直前文字列の末尾の文字列を一致させている。したがって、ユーザは、入力済みの文字列と、これから入力する文字列との境界を認識しやすく、それゆえ所望の入力候補を選択しやすくなる。
【００８２】
上記第２候補決定手段は、日本語を入力する場合に、上記直前文字列に対して仮名漢字変換が行われていない場合には、上記直前文字列を仮名漢字変換する処理を入力候補とすることを特徴とする請求項７から２２の何れか１項に記載の文字入力装置。
【００８３】
日本語入力を行う場合には、仮名漢字変換を行う必要があるので、仮名漢字変換処理を入力候補として候補選択キーに割り当てることで、仮名漢字変換処理を簡単かつ迅速に行うことができる。
【００８４】
しかしながら、仮名漢字変換処理は、日本語入力を行う場合のどのような状況でも常に使用されるということはないので、仮名漢字変換処理を候補選択キーに固定的に割り当てることは好ましくない。例えば、入力位置の直前が既に仮名漢字変換済みである場合や、入力位置が文頭である場合には、仮名漢字変換処理を候補選択キーに割り当てる意味がない。
【００８５】
そこで、上記の構成によれば、直前文字列に対して仮名漢字変換が行われていない場合には、上記直前文字列を仮名漢字変換する処理を入力候補としている。すなわち、上記の構成によれば、仮名漢字変換処理が行われる確度が高いときに候補選択キーに割り当て、それ以外のときには他の入力候補を選択候補キーに割り当てることが可能になるので、候補選択キーを有効に活用することができる。
【００８６】
また、上記文字入力装置を備えていると共にブラウザ機能を有する情報処理装置と、該情報処理装置の出力するブラウザ画面を表示する表示装置とを含むシステムにおいて、上記表示装置に表示されたブラウザ画面に、上記文字入力装置にて文字入力を行うことができるようになっているシステムであれば、ブラウザ画面に簡単かつ迅速に文字入力を行うことができる。
【発明の効果】
【００８７】
本発明の文字入力装置は、以上のように、入力位置の直前の文字が単語を区切る区切り文字であるか否かを判断する区切り文字判断手段と、上記区切り文字判断手段の判断の結果、入力位置の直前の文字が区切り文字である場合に、上記区切り文字の直前の単語に続けて入力される単語の候補を入力候補とする第１候補決定手段と、上記区切り文字判断手段の判断の結果、上記入力位置の直前の文字が区切り文字以外の文字である場合に、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする第２候補決定手段とを備え、単語と該単語に続けて入力される単語とが対応付けて記憶されている連鎖単語記憶部とを備え、上記第１候補決定手段は、上記入力位置の直前の区切り文字以外で構成される一続きの文字列が上記連鎖単語記憶部に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とする構成である。
【００８８】
したがって、入力位置の直前の文字が区切り文字であるか否かに応じた、確度の高い入力候補をユーザに提示することができる。そして、これにより、ユーザは、簡単かつ迅速に文字入力を行うことができる。
【００８９】
さらに、上記の構成によれば、ユーザが連続して入力する確率の高い単語を予め記憶させておくことができるので、候補選択キーに割り当てる入力候補の確度を高めることができ、これにより、ユーザは文字入力をさらに簡単かつ迅速に行うことができる。
【００９０】
そして、上記の構成によれば、入力位置の直前が区切り文字がどのような区切り文字であっても（記憶されている区切り文字と異なっていても）次に入力される単語を入力候補として決定することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施形態を示すものであり、文字入力装置の要部構成を示すブロック図である。
【図２】本発明の実施形態を示すものであり、画像表示システムの概略構成を示すブロック図である。
【図３】上記画像表示システムで使用される遠隔操作装置の構成例を示す図である。
【図４】上記文字入力装置が表示装置に表示させる入力ウインドウの一例を示す図である。
【図５】上記文字入力装置が備える予測メモリのデータ構造の一例を示す図である。
【図６】上記予測メモリのデータを用いて入力候補を決定する方法を示す図である。
【図７】同図（ａ）は、学習によって上記予測メモリに格納されるデータの一例を示す図であり、同図（ｂ）は、同図（ａ）の状態で、さらに別の文字列を学習した場合に上記予測メモリに格納されるデータの一例を示す図である。
【図８】上記文字入力装置が実行する学習処理の一例を示すフローチャートである。
【図９】上記学習処理における単語登録処理の一例を示すフローチャートである。
【図１０】上記学習処理におけるセパレータ情報登録処理の一例を示すフローチャートである。
【図１１】上記セパレータ情報登録処理におけるセパレータ情報の更新方法を説明する図である。
【図１２】上記学習処理における単語情報登録処理の一例を示すフローチャートである。
【図１３】上記文字入力装置が実行する入力候補決定処理の一例を示すフローチャートである。
【図１４】上記入力候補決定処理における次単語候補予測処理の一例を示すフローチャートである。
【図１５】上記入力候補決定処理におけるセパレータ候補予測処理の一例を示すフローチャートである。
【図１６】上記入力候補決定処理における短縮候補予測処理の一例を示すフローチャートである。
【図１７】上記入力候補決定処理における次文字候補予測処理の一例を示すフローチャートである。
【図１８】上記入力候補決定処理におけるＵＲＬモード設定処理の一例を示すフローチャートである。
【図１９】上記入力候補決定処理におけるＵＲＬ候補予測処理の一例を示すフローチャートである。
【図２０】上記ＵＲＬ候補予測処理にて決定される入力候補の一例を示す図である。
【図２１】上記入力候補決定処理における候補文字列生成処理の一例を示すフローチャートである。
【図２２】上記入力候補決定処理における候補文字列統一処理の一例を示すフローチャートである。
【図２３】上記候補文字列生成処理及び候補文字列統一処理にて決定される候補文字列の一例を示す図である。
【図２４】上記文字入力装置において候補選択キーに割り当てられた入力候補の入力を行う方法を説明する図である。
【図２５】上記文字入力装置においてＣａｐｓキーを候補選択キーに割り当てるときの表示例を示す図である。
【図２６】上記文字入力装置においてスペースキーを候補選択キーに動的に割り当てるときの表示例を示す図である。
【図２７】上記文字入力装置の学習方法の利点を説明する図である。
【図２８】上記文字入力装置において“ｍｕｓｉｃ”との単語が予測メモリに登録されている場合に、“ｍｕ”と入力したときに表示される画面例を示している。
【図２９】上記文字入力装置においてアドレスを入力する場合の表示例を示している。
【図３０】上記文字入力装置における入力候補の表示例を示す図である。
【図３１】上記文字入力装置において“ichinomotocho”、“index”、及び“is”の３つの単語が予測メモリに格納されている場合の表示例を示す図である。
【図３２】上記文字入力装置において入力済み文字列の長さを全ての入力候補で同じにしたときの表示例を示す図である。
【図３３】フォーカスの位置から遠い文字を優先的に選択候補として決定する方法を説明する図である。
【図３４】上記文字入力装置において入力フィールドに入力済みの文字列を読み込んだときの表示例を示す図である。
【図３５】上記文字入力装置においてＤｏｎｅキーを候補選択キーに割り当てた場合の表示例を示す図である。
【図３６】上記文字入力装置において日本語入力を行う場合の表示例を示している。
【図３７】上記文字入力装置において日本語入力を行う場合に候補選択キーに表示された文字列のみが入力されるようにしたときの表示例を示す図である。
【図３８】上記文字入力装置において“コントロールパネル”及び“コントロールプラス”との単語が予測メモリに格納されている場合に、“コントロール”と入力したときの表示例を示している。
【図３９】上記文字入力装置において日本語入力を行う場合に、入力フィールドの文字列を読み込んだときの表示例を示す図である。
【図４０】上記文字入力装置において“太郎”との単語の後に決定操作が行われたことを学習した後で、“佐藤  太郎”との文字列を入力した場合の表示例を示す図である。
【図４１】上記文字入力装置において変換キーを候補選択キーに割り当てた場合の表示例を示す図である。
【発明を実施するための形態】
【００９２】
〔画像表示システム１の構成〕
本発明の一実施形態について図１から図４１に基づいて説明すると以下の通りである。まず、本発明の画像表示システム１の概要について図２に基づいて説明する。図２は、画像表示システム１の概略構成を示すブロック図である。図示のように、画像表示システム１は、表示装置２、情報処理装置３、及び遠隔操作装置４を備えている構成である。
【００９３】
表示装置２は、表示部を備え、該表示部に画像を表示する装置である。また、図示のように、表示装置２は、情報処理装置３と接続されており、情報処理装置３とデータの送受信ができるようになっている。すなわち、情報処理装置３が出力する画像データは、表示装置の表示部に表示されるようになっている。また、表示装置２は、遠隔操作装置４からの操作に従って動作するようになっている。
【００９４】
なお、表示装置２は、情報処理装置３が出力する画像データを受信し、表示することができるものであればよく、特に限定されないが、ここでは表示装置２は、テレビジョン受像機であることを想定している。すなわち、表示装置２は、チューナを備えており、該チューナで受信した画像及び音声を出力できるようになっている。
【００９５】
情報処理装置３は、図示のように、文字入力装置５と通信装置６とを備えている。通信装置６は、ブラウザ機能及び通信機能を備える装置であり、図示のように、ネットワークに接続している。すなわち、通信装置６は、情報処理装置３の制御に従ってネットワークに接続し、様々なデータを取得できるようになっており、取得したデータを表示装置２に出力して表示させることができるようになっている。また、情報処理装置３も遠隔操作装置４にて操作できるようになっている。
【００９６】
なお、上記ネットワークとしては、公知の様々な通信ネットワークを適用することができるが、ここでは上記ネットワークがインターネットである例について説明する。また、ここでは、情報処理装置３がパーソナルコンピュータ（ＰＣ）であることを想定している。ただし、情報処理装置３としてはＰＣに限らず、ブラウザ機能を有するＴＶ受像機のように表示装置と情報処理装置とが一体となっているものも当然含まれる。
【００９７】
以上のように、情報処理装置３は、通信装置６の機能によってインターネットに接続し、ウェブページを表示装置２に表示させることができる。ここで、ウェブページの中には、検索サイトや掲示板、ウェブログ等の文字入力が必要になるものがある。また、インターネットのアドレス（ＵＲＬ）を入力する場合にも文字入力を行う必要がある。ここでは、文字入力を行う対象となる位置を入力フィールドと呼ぶ。一般的なＰＣでは、マウス等のポインティングデバイスで入力フィールドを指定し、キーボード等の入力装置を用いて上記指定した入力フィールドに文字入力を行うようになっている。
【００９８】
これに対し、画像表示システム１では、遠隔操作装置４にて入力フィールドを選択できるようにすると共に、入力フィールドが選択されたときに、文字入力装置５が表示装置２に入力ウインドウを表示させて、該入力ウインドウを用いて文字入力を行うことができるようにしている。すなわち、画像表示システム１では、キーボード等のハードウェアを用いることなく、文字入力を行うことができるようになっている。
【００９９】
遠隔操作装置４は、表示装置２及び情報処理装置３に対する操作入力を行うための装置である。遠隔操作装置４の表面には、各操作入力に対応付けられた入力ボタンが設けられており、入力ボタンを押下することによって、該入力ボタンに対応付けられた操作入力信号が表示装置２または情報処理装置３に送信されるようになっている。
【０１００】
具体的には、遠隔操作装置４は、表示装置２の電源のオン／オフ、チャンネル変更、表示するデータソースの切り替え（テレビからＰＣへの切り換え、またはＰＣからテレビへの切り換え）等を行うことができる。また、遠隔操作装置４は、情報処理装置３の電源のオン／オフ、文字入力装置５の操作入力等も行うことができる。さらに、遠隔操作装置４は、表示装置３の表示画面に表示された入力フィールドを選択するポインティングデバイスとしての機能を備えている。なお、遠隔操作装置４は、例えば赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ等の通信手段を用いて上記のような操作入力を表示装置２または情報処理装置３に送信するようになっている。
【０１０１】
〔具体的な構成例〕
ここで、遠隔操作装置４の具体的な構成例、及び文字入力装置５が表示装置２に表示させる入力ウインドウの具体例について図３及び図４に基づいて説明する。
【０１０２】
遠隔操作装置４は、例えば図３に示すような構成とすることができる。図３は、遠隔操作装置４の構成例を示す図である。なお、画像表示システム１では、文字入力装置５による文字入力処理に主な特徴があるので、同図では、遠隔操作装置４の備えている入力ボタンのうち、文字入力処理に関する入力ボタンが表示されている部分のみを示している。図示のように、遠隔操作装置４の表面には、決定ボタン１１、方向ボタン１２、ＥＸＩＴボタン１３、ＲＥＴＵＲＮボタン１４、及び候補決定ボタン１５が設けられている。
【０１０３】
これらの各ボタンには、文字入力を行うための機能がそれぞれ割り当てられており、ユーザは、入力ウインドウを見ながら、上記各ボタンを操作することにより、文字入力を行うことができるようになっている。
【０１０４】
図４は、文字入力装置５が表示装置２に表示させる入力ウインドウの一例を示す図である。図示のように、入力ウインドウ２０内には、入力枠２１、入力モード切り換えキー２２、文字入力キー２３、編集処理キー２４、候補選択キー２５、及びフォーカス２６が表示されている。
【０１０５】
入力枠２１は、文字入力装置５に入力された文字列を表示させる欄である。なお、ここでは、特に断りのない限り、１文字または複数文字の並びを文字列と呼ぶ。また、アルファベット、ひらがな、カタカナ、漢字等の文字に加え、“.”（ピリオド）、“,”（カンマ）、“  ”（スペース）、“?”（疑問符）、“!”（感嘆符）、“-”（ハイフン）、“/”（スラッシュ）、“＠”（アットマーク）、“_”（アンダーライン）“。”（句点）、“、”（読点）等の記号、及び数字も文字列と呼ぶ。なお、上記各記号は、単語の区切りに用いられることが多いので、ここではこれらの記号を特にセパレータ（区切り文字）と呼ぶ。なお、セパレータとみなす文字列は、上記の例に限られず、必要に応じて適宜設定することができる。
【０１０６】
また、状況に応じてセパレータとみなす文字列を変更するようにしてもよい。例えば、文章やＵＲＬの入力であれば“＆”や“.”がセパレータとすることが好ましい。一方、小数点を含む数値入力を行う場合には、“.”をセパレータとしないほうが合理的である。
【０１０７】
そして、例えば電話番号を入力する場合に、“-”（ハイフン）をセパレータとみなさないときは、電話番号が一連の文字列となる。一方、“-”（ハイフン）をセパレータとみなす場合には、電話番号がセパレータで区切られた複数の文字列となる。後で述べるように、候補として表示できる領域が狭い場合や、市外局番が同一の電話番号を複数入力するような場合には、“-”をセパレータとしたほうが効率よく入力する事ができる。
【０１０８】
このように、候補として表示する領域の広さや、どのような文字列を入力しているか等に応じてどのような文字列をセパレータとみなすかを変化させることによって、文字入力を効率よく行うことができるようになる。
【０１０９】
入力モード切り換えキー２２には、現在の入力モードが表示されると共に、入力モード切り換えキー２２を操作することによって、入力モードの切り換えを行うことができるようになっている。また、入力モードを切り換えることによって、文字入力キー２３に表示される文字が変化するようになっている。例えば、図示の例では、入力モードがアルファベットになっているので、文字入力キー２３にはアルファベットが表示されている。
【０１１０】
なお、ここでは、アルファベット入力モード、ひらがな入力モード、カタカナ入力モード、及び記号入力モードの４種類の入力モードがあることを想定しているが、入力モードの種類及び数は、必要に応じて適宜変更することができる。
【０１１１】
文字入力キー２３は、文字を入力するためのキーである。文字入力キー２３にフォーカス２６を合わせて決定ボタン１１を押下することによって、当該文字入力キー２３に表示されている文字が入力されて、入力枠２１内に表示されるようになっている。
【０１１２】
編集処理キー２４は、文字入力に付随する文字入力以外の処理を行うためのキーである。編集処理キー２４にフォーカス２６を合わせて決定ボタン１１を押下することにより、当該編集処理キー２４に表示されている処理が実行されるようになっている。
【０１１３】
〔編集処理キー２４について〕
ここでは、図４に示すように、編集処理キー２４として、Ｃａｐｓキー、Ｄｏｎｅキー、Ｑｕｉｔキー、Ｌキー及びＲキー、Ｄｅｌｅｔｅキー、Ｃｌｅａｒキー、及び改行キーを表示することを想定している。
【０１１４】
Ｃａｐｓキーは、アルファベットの大文字入力と小文字入力とを切り換えるためのキーである。図示の例では、Ｃａｐｓキーに「Ｃａｐｓ  ＯＦＦ」と表示されており、これは文字入力キー２３のアルファベットが表示されているキーに、フォーカス２６を合わせて決定ボタン１１を押下したときに、アルファベットの小文字が入力される（入力枠２１内に表示される）ようになっていることを示している。
【０１１５】
ここで、Ｃａｐｓキーにフォーカス２６を合わせて決定ボタン１１を押下すると、Ｃａｐｓキーの表示が「Ｃａｐｓ  ＯＮ」に切り換わる。Ｃａｐｓキーに「Ｃａｐｓ  ＯＮ」と表示されている状態で文字入力キー２３のアルファベットが表示されているキーにフォーカス２６を合わせて決定ボタン１１を押下すると、アルファベットの大文字が入力される。なお、「Ｃａｐｓ  ＯＮ」の状態で文字を一文字入力すると、「Ｃａｐｓ  ＯＦＦ」の状態に戻る。
【０１１６】
また、「Ｃａｐｓ  ＯＮ」の状態でさらにＣａｐｓキーにフォーカス２６を合わせて決定ボタン１１を押下すると、Ｃａｐｓキーの表示が「Ｃａｐｓ  ＬＯＣＫ」に切り換わる。「Ｃａｐｓ  ＬＯＣＫ」が表示されている状態では、常にアルファベットの大文字が入力される。
【０１１７】
Ｄｏｎｅキーは、入力枠２１内に表示されている編集中の文字列を確定し、表示装置２の入力フィールドに表示させるためのキーである。上述のように、文字入力キー２３にフォーカス２６を合わせて決定ボタン１１を押下することによって、該文字入力キー２３に表示されている文字が入力枠２１内に表示される。ここで、Ｄｏｎｅキーにフォーカス２６を合わせて決定ボタン１１を押下すると、入力枠２１内に表示されている上記文字列が表示装置２の入力フィールドに入力される。
【０１１８】
なお、入力フィールドとは、例えばウェブページにおいて文字入力を行うことが可能なテキストボックス等を指す。具体的には、キーワード検索を行う検索サイトにおいて、キーワードを入力するためのテキストボックスやＵＲＬを入力するためのテキストボックス等が入力フィールドとなる（図３４（ａ）参照）。
【０１１９】
Ｑｕｉｔキーは、入力枠２１内に表示されている文字列を破棄して文字入力を終了させるためのキーである。また、図示の例では、Ｑｕｉｔキーに「ＥＸＩＴ」との文字が表示されている。これは、Ｑｕｉｔキーが、図３に示す遠隔操作装置４のＥＸＩＴボタン１３に対応していることを示している。すなわち、遠隔操作装置４のＥＸＩＴボタン１３を押下することにより、Ｑｕｉｔキーにフォーカス２６を合わせて決定ボタン１１を押下した場合と同じ処理が実行されるようになっている。
【０１２０】
Ｌキー及びＲキーは、入力枠２１内の入力位置を移動させるためのキーである。ここで、上記入力位置について説明する。図４には示していないが、入力枠２１内には、入力位置を示すカーソルが表示される。すなわち、文字入力キー２３等を用いて入力した文字列は、入力枠２１内において、上記カーソルの位置に挿入されるようになっている。
【０１２１】
Ｄｅｌｅｔｅキーは、入力位置の直前の１文字を消去するためのキーである。また、図示の例では、Ｄｅｌｅｔｅキーに「Ｒｅｔｕｒｎ」との文字が表示されている。これは、Ｄｅｌｅｔｅキーが、図３に示す遠隔操作装置４のＲＥＴＵＲＮボタン１４に対応していることを示している。すなわち、遠隔操作装置４のＲＥＴＵＲＮボタン１４を押下することにより、Ｄｅｌｅｔｅキーにフォーカス２６を合わせて決定ボタン１１を押下した場合と同じ処理が実行されるようになっている。
【０１２２】
Ｃｌｅａｒキーは、入力枠２１内に表示されている文字列を全消去するためのキーである。改行キーは、入力枠２１内に表示されている文字列を改行するためのキーである。なお、ここでは、入力枠２１に表示される文字列が１行であることを想定しているので、改行キーにフォーカス２６を合わせて決定ボタン１１を押下した場合には、入力枠２１内で改行が行われるのではなく、入力枠２１内に改行位置を示す改行マークが表示されるようにしている。そして、改行マークを含む文字列を入力フィールドに入力した場合に、上記改行マークの位置で上記文字列が改行されるようにしている。
【０１２３】
〔候補選択キー２５について〕
候補選択キー２５には、入力枠２１に入力する文字列の候補が表示される。そして、候補選択キー２５にフォーカス２６を合わせて決定ボタン１１を押下することによって、当該候補選択キー２５に表示された文字列が入力枠２１内の入力位置（カーソル位置）に入力される。
【０１２４】
ここで、遠隔操作装置４には、候補選択キー２５に一対一で対応する候補決定ボタン１５が設けられている。例えば、図４の例ではＡ〜Ｄの文字が付された４つの候補選択キー２５が表示されており、図３の例ではＡ〜Ｄの文字が付された４つの候補決定ボタン１５が設けられている。
【０１２５】
すなわち、遠隔操作装置４の候補決定ボタン１５は、それぞれ候補選択キー２５に対応しており、候補決定ボタン１５を押下することによって、該押下された候補決定ボタン１５に対応する候補選択キー２５の入力を行うことができるようになっている。このように、遠隔操作装置４のボタンと候補選択キー２５とを一対一に対応させることによって、候補選択キー２５を容易に選択することができる。
【０１２６】
なお、図４の例では、「Ｄ」の文字が付された候補選択キー２５に「Ｓｐａｃｅ」と記載されている。すなわち、「Ｄ」の文字が付された候補選択キー２５は、スペースを入力するキー、すなわちスペースキーとして用いられており、遠隔操作装置４において「Ｄ」の文字が付された候補決定ボタン１５を押下することによって、入力位置にスペースが入力されるようになっている。
【０１２７】
文字入力時には、他の文字や編集操作と比べて、スペースを入力する頻度が高いので、特定の候補選択キー２５にスペースキーを割り当てることによって、ユーザの操作性を高めることができる。なお、スペースキーについても文字入力キー２３や編集処理キー２４と同じように入力ウインドウ２０内に配置してもよい。
【０１２８】
詳細については後述するが、文字入力装置５では、入力枠２１内の文字列であって、入力位置より前の文字列に基づいて、上記入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キー２５を表示装置２に表示する。すなわち、候補選択キー２５には、入力位置より前に入力されている文字列から、当該入力位置に入力されると予測される文字列が入力候補として割り当てられる。
【０１２９】
そして、上述のように、表示装置２に表示された候補選択キー２５を、遠隔操作装置４の候補決定ボタン１５にて選択することによって、該選択された候補選択キー２５に割り当てられた入力候補の文字列を、上記入力位置に入力することができるようになっている。
【０１３０】
したがって、入力位置に入力しようとする文字列が、入力候補として候補選択キー２５に割り当てられている場合には、文字入力キー２３に順次フォーカス２６を合わせて決定ボタン１１を押下しながら文字列を入力する場合と比べて、ボタンを押下する回数を減らすことができ、これにより文字入力装置５のユーザは、簡単かつ迅速に文字列の入力を行うことができる。
【０１３１】
なお、当然のことながら、ユーザが入力位置に入力しようとする文字列が、入力候補として候補選択キー２５に割り当てられていない場合には、文字入力キー２３に順次フォーカス２６を合わせて決定ボタン１１を押下しながら文字列を入力する必要がある。すなわち、入力候補の予測精度が低い場合には、入力候補を候補選択キー２５に割り当てることによるメリットは得られない。
【０１３２】
そこで、詳細については後述するが、文字入力装置５では、入力位置より前に入力されている文字列が単語を区切るセパレータであるか否かに基づいて、候補選択キー２５に割り当てる入力候補を動的に変化させる。これにより、入力候補の予測精度を高めることができるので、簡単かつ迅速に文字列の入力を行うことができる。
【０１３３】
〔文字入力装置５の構成〕
続いて、文字入力装置５のより詳細な構成について、図１に基づいて説明する。図１は、文字入力装置５の要部構成を示すブロック図である。図示のように、文字入力装置５は、入力ウインドウ表示制御部３０、操作取得部３１、文字列表示制御部３２、文字列読み込み部（文字列読み込み手段）３３、入力候補表示制御部３４、文字列更新部３５、文字列編集用メモリ３６、区切り文字判断部（区切り文字判断手段）３７、第１候補決定部（処理候補決定手段、第１候補決定手段）３８、第２候補決定部（処理候補決定手段、一文字候補決定手段、第２候補決定手段）３９、編集用候補決定部（処理候補決定手段、編集用補決定手段）４０、学習部（学習手段）４１、予測メモリ（連鎖処理記憶部、単語記憶部、連鎖区切り文字記憶部、連鎖単語記憶部）４２、一文字予測メモリ（一文字候補記憶部）４３、及び入力候補割当部（入力候補割当手段）４４を備えている。
【０１３４】
入力ウインドウ表示制御部３０は、表示装置２の表示部上で文字入力の対象となる入力フィールドが選択された場合に、文字列の入力及び編集等を行うための各種キーが含まれる入力ウインドウを上記表示部に表示させる。入力ウインドウは、例えば図４に示したような態様とすることができる。無論、入力ウインドウに含まれるキーの種類及び配置は、図示の例に限られず、必要に応じて適宜変更することができる。
【０１３５】
操作取得部３１は、遠隔操作装置４から送られる入力操作を取得し、取得した入力操作に応じて予め定められた処理を実行する。具体的には、遠隔操作装置４は、その表面に設けられた各種入力ボタンにてユーザの入力操作を受け付けて、該入力操作に対応する操作信号を情報処理装置３に送信するようになっているので、操作取得部３１は、上記操作信号を情報処理装置３経由で取得する。そして、操作取得部３１は、情報処理装置３から受け取った上記操作信号に応じて、文字入力装置５の各部に所定の指示を行うことにより、上記遠隔操作装置４への入力操作に対応する処理を実行させる。
【０１３６】
文字列表示制御部３２は、文字入力装置５に入力された文字列を表示装置２に表示させる。具体的には、文字列表示制御部３２は、文字列編集用メモリ３６に格納されている文字列を読み出して、上記入力ウインドウ内（図４の例では入力枠２１内）に表示させる。また、文字列表示制御部３２は、文字列編集用メモリ３６に格納されている文字列が更新されたときには、それに合わせて表示させる文字列も更新する。さらに、文字列表示制御部３２は、操作取得部３１が、文字列の確定操作（図４のＤｏｎｅキーに対する操作）を取得した場合に、文字列編集用メモリ３６に格納されている文字列を読み出して、表示装置２の入力フィールドに表示させる。
【０１３７】
文字列読み込み部３３は、文字入力装置５の外部の文字列を読み込んで文字列編集用メモリ３６に格納する。文字入力装置５の外部とは入力フィールドである。すなわち、ウェブページ等で、文字入力が可能なフィールドには、既に文字列が入力されている場合がある。文字列読み込み部３３は、入力フィールドが選択されて、入力ウインドウが表示されるときに、該入力フィールドに既に入力されている文字列を読み込んで文字列編集用メモリ３６に格納する。
【０１３８】
ここで、文字列編集用メモリ３６に格納されている文字列は、文字列表示制御部３２によって、入力ウインドウに表示される。したがって、表示装置２上の文字列が既に入力されている箇所を入力フィールドとして選択した場合には、入力ウインドウが表示されるときに該入力ウインドウ内に上記文字列が表示される。
【０１３９】
入力候補表示制御部３４は、入力候補割当部４４から送られてくる入力候補を、入力ウインドウの候補選択キー上に表示する。
【０１４０】
文字列更新部３５は、操作取得部３１の指示に従って、文字列編集用メモリ３６に格納されている文字列を更新する。具体的には、操作取得部３１は、文字列の入力操作を取得した場合には、当該文字列を挿入するように文字列更新部３５に指示する。指示を受けた操作取得部３１は、上記文字列を文字列編集用メモリ３６内に設定されている入力位置に挿入して、文字列編集用メモリ３６内に格納されている文字列を更新する。
【０１４１】
文字列編集用メモリ３６は、文字入力装置５に入力された文字列を編集のために一時的に格納するメモリである。上述のように、文字列編集用メモリ３６内の文字列には、入力位置が設定されており、文字列編集用メモリ３６に格納されている文字列に対する編集操作は、この入力位置に対して実行されるようになっている。
【０１４２】
区切り文字判断部３７は、文字列編集用メモリ３６に格納されている文字列を読み出し、該読み出した文字列に設定されている入力位置の直前の文字がセパレータであるか否かを判断する。そして、区切り文字判断部３７は、入力位置の直前の文字がセパレータである場合には、第１候補決定部３８に上記読み出した文字列を送り、入力位置の直前の文字がセパレータ以外の文字である場合には、第２候補決定部３９に上記読み出した文字列を送る。これにより、セパレータの有無に応じた入力候補が出力されることになる。
【０１４３】
第１候補決定部３８は、入力位置の直前の文字がセパレータである場合に、セパレータの直前の単語に続けて入力される単語の候補を入力候補とする。また、第１候補決定部３８は、入力位置の直前のセパレータ以外で構成される一続きの文字列が予測メモリ４２に記憶されている単語と一致する場合に、該単語と対応付けて記憶されている単語を入力候補とする。さらに、第１候補決定部３８は、ＵＲＬの入力時に、入力位置の前であって“://”の後に“/”が存在するか否かに応じた定型の文字列を入力候補とする。
【０１４４】
そして、第１候補決定部３８は、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理（Ｃａｐｓキー）を入力候補とする。このように、第１候補決定部３８は、文字列以外に、所定の処理を入力候補とする場合もある。所定の処理を入力候補とした場合に、該入力候補が選択されたときには、上記所定の処理が実行される。すなわち、第１候補決定部３８は、文字入力に付随する処理であって、ユーザが利用可能な処理を上記候補選択キーに割り当てる機能を有する。
【０１４５】
第２候補決定部３９は、入力位置の直前の文字がセパレータ以外の文字である場合に、入力位置の直前の文字を末尾とし、セパレータを含まない一続きの文字列である直前文字列を単語として完成させるための文字列の候補を入力候補とする。具体的には、第２候補決定部３９は、上記直前文字列が予測メモリ４２に記憶されている単語の先頭部分と一致する場合に、該単語の一致している部分に続く文字列を入力候補とする。
【０１４６】
また、第２候補決定部３９は、上記直前文字列が予測メモリ４２に記憶されている単語と一致する場合に、セパレータを入力候補とする。そして、第２候補決定部３９は、上記直前文字列が予測メモリ４２に記憶されている単語と一致する場合に、該単語と対応付けて記憶されているセパレータを入力候補とする。
【０１４７】
さらに、第２候補決定部３９は、一文字予測メモリ４３を参照し、入力位置の直前の２文字に続けて入力される一文字候補を入力候補とする。なお、一文字候補の決定方法については、一文字予測メモリ４３の説明を行う際に説明する。
【０１４８】
また、第２候補決定部３９は、ＵＲＬ（Uniform Resource Locator）の入力時に、入力位置の直前のセパレータから入力位置の直前の文字までの文字数が所定の文字数を超えている場合に、ピリオドを入力候補とする。
【０１４９】
そして、第２候補決定部３９は、日本語を入力する場合に、上記直前文字列に対して仮名漢字変換が行われていない場合には、上記直前文字列を仮名漢字変換する処理を入力候補とする。このように、第２候補決定部３９は、文字列以外に、所定の処理を入力候補とする場合もある。所定の処理を入力候補とした場合に、該入力候補が選択されたときには、上記所定の処理が実行される。すなわち、第２候補決定部３９は、文字入力に付随する処理であって、ユーザが利用可能な処理を上記候補選択キーに割り当てる機能を有する。
【０１５０】
編集用候補決定部４０は、文字列読み込み部３３が、文字入力装置５の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理（Ｃｌｅａｒキー）、またはスペースキーの少なくとも一方を入力候補とする。すなわち、編集用候補決定部４０は、文字入力に付随する処理であって、ユーザが利用可能な処理（読み込んだ文字列の全消去処理）を上記候補選択キーに割り当てる機能を有する。
【０１５１】
学習部４１は、文字列編集用メモリ３６に対して確定処理（Ｄｏｎｅキーへの入力）が行われたときに、文字列編集用メモリ３６に格納されている文字列からセパレータと単語とを切り出し、単語と該単語に続くセパレータとを対応付けて予測メモリ４２に記憶すると共に、セパレータを挟んで連続する２単語を対応付けて予測メモリ４２に記憶する。すなわち、文字入力装置５を用いて文字列を入力フィールドに入力した場合には、予測メモリ４２が学習部４１によって更新される。
【０１５２】
予測メモリ４２は、第１候補決定部３８及び第２候補決定部３９が入力候補を決定するために使用するデータベースである。また、予測メモリ４２は、学習部４１によって更新されるようになっている。これにより、ユーザが入力し、確定した文字列が予測メモリ４２に反映されるので、ユーザが使用する頻度の高い単語等が入力候補として候補選択キーに割り当てられるようになる。予測メモリ４２及び文字列の学習方法の詳細については後述する。
【０１５３】
一文字予測メモリ４３は、任意の２文字からなる文字列と、該文字列に続く確率の高い１文字とを対応付けて格納するデータベースである。具体的には、一文字予測メモリ４３には、任意の２文字からなる文字列に対し、該文字列に続く確率の高い順に、複数の一文字候補が対応付けられている。このデータベースを用いることによって、第２候補決定部は、入力位置の直前の２文字に続くと予想される一文字を入力候補として決定することができる。なお、一文字予測メモリ４３は、任意の３文字からなる文字列と、該文字列に続く確率の高い１文字とを対応付けて格納するものであってもよい。
【０１５４】
また、一文字予測メモリ４３には、スペース等の区切り文字も一文字候補として格納されていてもよい。例えば、“on”との文字列は、単語の末尾に使用される頻度が高い文字列であるから、“on”との文字列に対応付けてスペースを格納しておくことにより、“on”との文字列が入力された場合に、スペースを入力候補とすることができる。
【０１５５】
入力候補割当部４４は、第１候補決定部３８、第２候補決定部３９、及び編集用候補決定部４０の少なくとも１つが決定した入力候補を入力候補表示制御部３４に送って候補選択キーに表示させる。また、入力候補割当部４４は、複数の候補選択キーに表示する文字列が、入力位置の直前の文字列における末尾の文字列（入力済み文字列）を含む場合には、各候補選択キーに表示する上記直前の文字列における末尾の文字列（入力済み文字列）を一致させる。
【０１５６】
〔予測メモリ４２の構成〕
ここで、予測メモリ４２のより詳細な構成について、図５〜７に基づいて説明する。文字入力装置５の予測メモリ４２のデータ構造は、従来にはない特徴的な構成となっており、これによって、少ないデータ量で予測精度の高い入力候補を出力できるようになっている。
【０１５７】
図５は、予測メモリ４２のデータ構造の一例を示している。図示のように、予測メモリ４２は、インデクス（ｉ）と、単語文字列（ｓｐｅｌｌ）と、セパレータ情報（ｓｅｐ（０）〜ｓｅｐ（３））と、単語情報（ｗｄ（０）〜ｗｄ（３））と、優先度（ｐｒｉ）とが対応付けられたデータ構造となっている。
【０１５８】
単語文字列（ｓｐｅｌｌ）には、予測メモリ４２に登録されている単語が格納される。単語文字列（ｓｐｅｌｌ）に格納される単語は、学習部４１が学習処理を行うことによって追加される。また、高頻度の使用が予想される単語を予め格納しておいてもよい。
【０１５９】
セパレータ情報のｓｅｐ（０）〜ｓｅｐ（３）には、単語文字列（ｓｐｅｌｌ）に後続するセパレータ（セパレータ候補）が格納される。また、単語情報ｗｄ（０）〜ｗｄ（３）には、単語文字列（ｓｐｅｌｌ）に後続する単語（次単語候補）が格納される。セパレータ情報及び単語情報は、単語文字列（ｓｐｅｌｌ）に後続する文字列を示す情報、すなわち単語文字列（ｓｐｅｌｌ）の接続情報と言うことができる。これらの接続情報は、単語文字列（ｓｐｅｌｌ）が入力位置の直前の文字列と一致した場合に、入力候補として決定される。
【０１６０】
優先度（ｐｒｉ）は、上記接続情報を入力候補とする場合の優先度を示すデータである。優先度（ｐｒｉ）は、入力候補の数が候補選択キーの数よりも多い場合に、入力候補を候補選択キーの数以下に絞り込むために用いられる。すなわち、入力候補の数が候補選択キーの数よりも多い場合には、複数の入力候補のうち、優先度の高い順に入力候補が決定されるようになっている。
【０１６１】
ここでは、優先度をゼロ以上の整数で表し、優先度がゼロに近い値ものを優先することを想定している。また、ここでは、最も新しく学習された単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度を高くすることを想定している。これにより、ユーザが最近入力した文字列の傾向を反映した入力候補が決定される。
【０１６２】
具体的には、単語文字列（ｓｐｅｌｌ）及びその接続情報の学習が行われた時点で、該単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度をゼロに設定する。そして、他の単語文字列（ｓｐｅｌｌ）及びその接続情報が学習されると、該単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度をゼロに設定すると共に、既に学習されていた上記単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度を１に更新する。これにより、ユーザが最近入力した文字列の傾向を反映した入力候補が決定される。
【０１６３】
なお、優先度を設定することによって、入力候補の絞り込みにユーザの入力傾向を反映させることができるので、優先度の設定を行うことが好ましいが、優先度の設定は文字入力装置５に必須の構成ではない。また、ここでは、最も新しく学習された単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度を高くする例を示すが、優先度の設定方法はこれに限られない。例えば、単語文字列（ｓｐｅｌｌ）及びその接続情報を、ユーザが入力候補の中から選択した回数または頻度をカウントしておき、選択された回数または頻度の高い単語文字列（ｓｐｅｌｌ）及びその接続情報の優先度を高くするようにしてもよい。
【０１６４】
インデクス（ｉ）は、単語文字列（ｓｐｅｌｌ）と該単語文字列（ｓｐｅｌｌ）に対応付けられている接続情報とからなる一連のデータに付される識別番号である。すなわち、予測メモリ４２に格納される、単語文字列（ｓｐｅｌｌ）と接続情報との組み合わせからなる各データは、それぞれインデクス（ｉ）によって管理されている。ここでは、インデクス（ｉ）と単語文字列（ｓｐｅｌｌ）と該単語文字列（ｓｐｅｌｌ）に対応付けられている接続情報とからなる一連のデータを、インデクス（ｉ）のデータまたはＭ（ｉ）と表記する。
【０１６５】
なお、図５は、予測メモリ４２のデータ構造の一例を示すものであり、文字入力装置５で使用される予測メモリ４２のデータ構造は図示の例に限られない。すなわち、ここでは、図４に示すように、候補選択キーがＡ〜Ｄの４つであることを想定しているので、単語文字列（ｓｐｅｌｌ）の次に入力される文字列の候補は、最大で４つまでしか表示することができない。そこで、図５の例では、単語文字列（ｓｐｅｌｌ）に４つのセパレータｓｅｐ（０）〜ｓｅｐ（３）と、４つの単語情報ｗｄ（０）〜ｗｄ（３）を記憶するようにしているのであるが、単語文字列（ｓｐｅｌｌ）に対応付けて記憶するセパレータの数、及び単語情報の数は、必要に応じて適宜変更することができる。
【０１６６】
文字入力装置５では、上記のようなデータ構造を有する予測メモリ４２を用いることによって、単語の次に入力されるセパレータと、該セパレータの次に入力される単語とを入力候補として決定する。これについて、図６に基づいて説明する。図６は、予測メモリ４２のデータを用いて入力候補を決定する方法を示す図である。なお、図６では、セパレータ情報ｓｅｐ（０）〜ｓｅｐ（３）のうち、ｓｅｐ（０）〜ｓｅｐ（２）のみを、また単語情報ｗｄ（０）〜ｗｄ（３）のうち、ｗｄ（０）〜ｗｄ（２）のみを示しているが、ｓｅｐ（０３）及びｗｄ（３）についても、ｓｅｐ（０）〜ｓｅｐ（２）及びｗｄ（０）〜ｗｄ（２）と同様に扱われる。
【０１６７】
図示のように、単語文字列（ｓｐｅｌｌ）の次には、セパレータｓｅｐ（０）〜ｓｅｐ（２）が続くようになっている。そして、セパレータｓｅｐ（０）〜ｓｅｐ（２）の次には、単語情報ｗｄ（０）〜ｗｄ（２）が続くようになっている。
【０１６８】
ここで、図示のように、単語文字列（ｓｐｅｌｌ）の次には、セパレータｓｅｐ（０）〜ｓｅｐ（２）以外のセパレータが続いていてもよい。そして、単語文字列（ｓｐｅｌｌ）の次には、セパレータｓｅｐ（０）〜ｓｅｐ（２）以外のセパレータが続いている場合にも、該セパレータの次には、単語情報ｗｄ（０）〜ｗｄ（２）が続くようになっている。
【０１６９】
すなわち、予測メモリ４２には、単語文字列（ｓｐｅｌｌ）と、該単語文字列（ｓｐｅｌｌ）の次に続くセパレータｓｅｐ（０）〜ｓｅｐ（３）とが対応付けて記憶されているので、入力位置の直前の文字列が単語文字列（ｓｐｅｌｌ）に一致した場合に、該単語文字列（ｓｐｅｌｌ）に対応付けられているセパレータｓｅｐ（０）〜ｓｅｐ（３）を入力候補とすることができる。
【０１７０】
また、予測メモリ４２には、単語文字列（ｓｐｅｌｌ）と、該単語文字列（ｓｐｅｌｌ）の次に続く単語情報ｗｄ（０）〜ｗｄ（３）とが対応付けて記憶されているので、入力位置の直前の文字列が任意のセパレータ（ｓｅｐ（０）〜ｓｅｐ（３）またはその他のセパレータであり、該セパレータの直前の文字列が、単語文字列（ｓｐｅｌｌ）に一致した場合に、該単語文字列（ｓｐｅｌｌ）に対応付けられている単語情報ｗｄ（０）〜ｗｄ（３）を入力候補とすることができる。
【０１７１】
〔学習方法〕
文字入力装置５では、学習部４１が、確定処理（Ｄｏｎｅキー操作）が行われたときに、文字列編集用メモリ３６に格納されている文字列からセパレータと単語とを切り出し、単語と該単語に続くセパレータとを対応付けて予測メモリ４２に記憶すると共に、セパレータを挟んで連続する２単語を対応付けて予測メモリ４２に記憶するようになっている。
【０１７２】
ここでは、予測メモリ４２にどのようにデータが格納されるかについて、図７（ａ）（ｂ）に基づいて説明する。図７（ａ）は、学習によって予測メモリ４２に格納されるデータの一例を示す図であり、図７（ｂ）は、図７（ａ）の状態で、さらに別の文字列を学習した場合に予測メモリ４２に格納されるデータの一例を示す図である。
【０１７３】
より具体的には、図７（ａ）は、“Ｋｙｏｔｏ‐Ｃｉｔｙ，Ｋｙｏｔｏ‐Ｐｒｅｆｅｃｔｕｒｅ，Ｊａｐａｎ”との文字列が文字列編集用メモリ３６に格納されている状態で、確定処理が行われたときに予測メモリ４２に格納されるデータの一例を示している。
【０１７４】
図示のように、“Ｋｙｏｔｏ‐Ｃｉｔｙ，Ｋｙｏｔｏ‐Ｐｒｅｆｅｃｔｕｒｅ，Ｊａｐａｎ”との文字列に含まれる単語、すなわち“Ｋｙｏｔｏ”、“Ｃｉｔｙ”、“Ｐｒｅｆｅｃｔｕｒｅ”、及び“Ｊａｐａｎ”の文字列がインデクス０〜３のそれぞれに対応する単語文字列（ｓｐｅｌｌ）として格納されている。
【０１７５】
また、“Ｋｙｏｔｏ‐Ｃｉｔｙ，Ｋｙｏｔｏ‐Ｐｒｅｆｅｃｔｕｒｅ，Ｊａｐａｎ”との文字列において、“Ｋｙｏｔｏ”との単語の次の文字は、セパレータ“‐”となっている。そこで、図示の例では、“Ｋｙｏｔｏ”にセパレータ情報“‐”が対応付けて格納されている。同様に、“Ｐｒｅｆｅｃｔｕｒｅ”及び“Ｃｉｔｙ”には、セパレータ情報“，”が対応付けて格納されている。
【０１７６】
ここで、図示の例では、“Ｊａｐａｎ”の文字列のセパレータ情報として、“Ｅｎｄ”とのデータが格納されている。これは、“Ｊａｐａｎ”の文字列が入力された後に、確定処理（Ｄｏｎｅキー操作）が行われたことを示している。このように、予測メモリ４２には、セパレータ及び単語に加えて、所定の処理が格納されていてもよい。
【０１７７】
例えば、図示のデータが予測メモリ４２に格納されている場合に、入力位置の直前の文字列が“Ｊａｐａｎ”に一致したときには、確定処理（Ｄｏｎｅキー）が入力候補に決定される。これにより、ユーザは、文の末尾が“Ｊａｐａｎ”となる文字列を入力した場合に、該入力した文字列をスムーズに決定することができる。これは、例えば、住所や氏名等を入力する場合のように、同じ文字列を何度も入力する場合に有効である。
【０１７８】
また、“Ｋｙｏｔｏ‐Ｃｉｔｙ，Ｋｙｏｔｏ‐Ｐｒｅｆｅｃｔｕｒｅ，Ｊａｐａｎ”との文字列において、“Ｋｙｏｔｏ”の次の単語は、“Ｃｉｔｙ”及び“Ｐｒｅｆｅｃｔｕｒｅ”である。従って、図示のように、“Ｋｙｏｔｏ”の単語情報として“Ｃｉｔｙ”及び“Ｐｒｅｆｅｃｔｕｒｅ”のインデクスが格納される。なお、単語情報は、文字列であってもよいが、図示の例のようにインデクスを単語情報とすることで、予測メモリ４２のデータ量を削減することができる。同様に、“Ｐｒｅｆｅｃｔｕｒｅ”の単語情報には、“Ｊａｐａｎ”のインデクスが格納され、“Ｃｉｔｙ”の単語情報には、“Ｋｙｏｔｏ”のインデクスが格納される。
【０１７９】
そして、図示の例では、“Ｋｙｏｔｏ‐Ｃｉｔｙ，Ｋｙｏｔｏ‐Ｐｒｅｆｅｃｔｕｒｅ，Ｊａｐａｎ”との文字列が学習された後、他の文字列の学習が行われていないことを想定しているので、上記学習により生成されたインデクス０〜４の全てについて、優先度がゼロに設定されている。
【０１８０】
ここで、予測メモリ４２に図７（ａ）に示すデータが格納されている状態にて、“Ｋｙｏｔｏ  Ｓｔａｔｉｏｎ”との文字列が学習されると、予測メモリ４２に格納されているデータは、図７（ｂ）に示すような状態に更新される。
【０１８１】
新たに文字列が学習されることにより、図７（ａ）の状態で学習されていたインデクス０〜３のデータの優先度はそれぞれ１になるが、インデクス０のデータの単語文字列（ｓｐｅｌｌ）は、新たに学習された文字列“Ｋｙｏｔｏ  Ｓｔａｔｉｏｎ”にも含まれているので、インデクス０のデータは、優先度が０になる。
【０１８２】
また、新たに学習された文字列“Ｋｙｏｔｏ  Ｓｔａｔｉｏｎ”には、図７（ａ）の状態では格納されていなかった単語“Ｓｔａｔｉｏｎ”が含まれているので、“Ｓｔａｔｉｏｎ”との単語がインデクス４のデータとして追加されている。文字列“Ｋｙｏｔｏ  Ｓｔａｔｉｏｎ”が学習されたということは、“Ｓｔａｔｉｏｎ”との単語が入力された後で、確定処理（Ｄｏｎｅキー操作）が行われたことを示しているので、インデクス４のデータのセパレータ情報には、“Ｅｎｄ”が格納される。また、インデクス４のデータは、最新の学習結果に基づくものであるから、優先度がゼロに設定される。
【０１８３】
そして、新たに学習された文字列“Ｋｙｏｔｏ  Ｓｔａｔｉｏｎ”では、“Ｋｙｏｔｏ”の次のセパレータが“  ”（スペース）であり、“Ｋｙｏｔｏ”の次の単語が“Ｓｔａｔｉｏｎ”である。したがって、インデクス０のデータのセパレータ情報に“  ”（スペース）が追加され、インデクス０のデータの単語情報にインデクス４が追加される。
【０１８４】
〔学習処理〕
以上のように、文字入力装置５では、図５及び図７（ａ）に示すようなデータ構造の予測メモリ４２を持ち、文字列が新たに学習された場合には、学習部４１が図７（ｂ）に示すような態様で予測メモリ４２を更新する。以下では、学習部４１が文字列の学習及び予測メモリ４２の更新を行う処理について図８〜１２に基づいて説明する。
【０１８５】
〔学習処理の全体の流れ〕
図８は、学習処理の一例を示すフローチャートである。上述のように、文字入力装置５では、文字列編集用メモリ３６に文字列が格納された状態にて、確定処理（Ｄｏｎｅキー操作）が行われたときに上記文字列編集用メモリ３６に格納されている文字列の学習が行われる。より詳細には、確定処理（Ｄｏｎｅキー操作）が行われると、操作取得部３１が確定処理（Ｄｏｎｅキー操作）が行われたことを学習部４１に伝達する。そして、伝達を受けた学習部４１が文字列編集用メモリ３６から文字列を読み出すことによって、学習処理が開始される。
【０１８６】
まず、学習部４１は、文字列編集用メモリ３６から読み出した文字列をセパレータと単語とに切り分ける（Ｓ１）。なお、学習部４１は、セパレータで区切られる一続きの文字列を単語とみなす。また、どのような文字列をセパレータとみなすかは、予め定めておく。
【０１８７】
これにより、上記読み出した文字列から、単語Ｗ（０）〜Ｗ（Ｎ）及びセパレータＳ（０）〜Ｓ（Ｎ）が取得される。なお、Ｎは、０以上の整数である。また、上記読み出した文字列にセパレータが含まれていない場合には、該文字列を１つの単語として取り扱う。この場合には、セパレータは格納されず、単語と「Ｅｎｄ」とが対応付けて格納される。
【０１８８】
次に、学習部４１は、予測メモリ４２の全要素の優先度を所定の量下げる（Ｓ２）。具体的には、学習部４１は、予測メモリ４２に格納されているインデクスのデータの全てについて、優先度を１ずつ増加させる。
【０１８９】
続いて、学習部４１は、上記文字列の切り分けによって得た単語を、上記読み出した文字列の先頭から順に１単語ずつ取り出す（Ｓ３）。ここでは、取り出した単語をＷ（ｎ）とする。なお、１≦ｎ≦Ｎであり、ｎは整数である。単語Ｗ（ｎ）を取り出した学習部４１は、取り出した単語Ｗ（ｎ）が上記文字列の最後（末尾）の単語であるか否かを判断する（Ｓ４）。
【０１９０】
末尾の単語ではない場合（Ｓ４でＮＯ）には、学習部４１は、上記取り出した単語Ｗ（ｎ）が上記読み出した文字列の最初（先頭）の単語であるか否かを判断する（Ｓ５）。最初の単語である場合（Ｓ５でＹＥＳ）には、学習部４１は、上記取り出した単語Ｗ（ｎ）の登録処理を行う（Ｓ６）。そして、学習部４１は、登録処理を行った後、再度Ｓ３に戻って単語の取り出しを行う。
【０１９１】
一方、最初の単語ではない場合（Ｓ５でＮＯ）には、学習部４１は、上記取り出した単語Ｗ（ｎ）の登録処理を行い（Ｓ７）、続いて、上記読み出した文字列において、単語Ｗ（ｎ）と、該単語Ｗ（ｎ）の直前の単語Ｗ（ｎ−１）との接続情報を学習する（Ｓ８）。そして、学習部４１は、接続情報の学習を行った後、再度Ｓ３に戻って単語の取り出しを行う。なお、Ｓ６の処理とＳ７の処理とは同じ処理である。
【０１９２】
以上のように、Ｓ３〜５のループにより、上記読み出した文字列の先頭から順に取り出された各単語と、その単語の接続情報とが登録される。ここで、Ｓ３において取り出された単語Ｗ（ｎ）が上記読み出した文字列の末尾の単語である場合（Ｓ４でＹＥＳ）には、学習部４１は、上記取り出した単語Ｗ（ｎ）と、該単語Ｗ（ｎ）の直前の単語Ｗ（ｎ−１）との接続情報を学習し（Ｓ９）、学習処理を終了する。これにより、上記読み出した文字列に含まれる全ての単語が予測メモリ４２に登録されると共に、登録された各単語間の接続情報が予測メモリ４２に登録される。なお、Ｓ８の処理とＳ９の処理とは同じ処理である。
【０１９３】
〔単語登録処理〕
続いて、図８のフローチャートにおける単語登録処理（Ｓ６及びＳ７）の詳細について、図９に基づいて説明する。図９は、単語登録処理の一例を示すフローチャートである。まず、学習部４１は、取得した単語Ｗ（ｎ）が既に予測メモリ４２に登録されているか否かを確認するため、単語Ｗ（ｎ）を予測メモリ４２内で検索する（Ｓ１１）。そして、学習部４１は、単語Ｗ（ｎ）が予測メモリ４２内で検出されたか否かを確認する（Ｓ１２）。
【０１９４】
単語Ｗ（ｎ）が予測メモリ４２内で検出されたことが確認されなかった場合（Ｓ１２でＮＯ）には、学習部４１は、単語Ｗ（ｎ）を登録する登録先番号（ｉ）を取得する（Ｓ１３）。この登録先番号（ｉ）がインデクスである。すなわち、単語Ｗ（ｎ）は、インデクス（ｉ）のデータとしてＭ（ｉ）に登録される。
【０１９５】
次に、学習部４１は、Ｍ（ｉ）に単語Ｗ（ｎ）を登録する（Ｓ１４）。具体的には、学習部４１は、Ｍ（ｉ）の単語文字列（ｓｐｅｌｌ）として、単語Ｗ（ｎ）の文字列を登録する。したがって、Ｓ１４の処理は、Ｍ（ｉ）の単語文字列（ｓｐｅｌｌ）をＭ（ｉ）．ｓｐｅｌｌと表すと、Ｍ（ｉ）．ｓｐｅｌｌ＝Ｗ（ｎ）と表記することができる。
【０１９６】
そして、学習部４１は、単語Ｗ（ｎ）を登録したＭ（ｉ）の優先度を設定する（Ｓ１５）。ここでは、最も新しく登録されたインデクスのデータの優先度をゼロにすることを想定しているので、Ｓ１５の処理は、Ｍ（ｉ）の優先度（ｐｒｉ）をＭ（ｉ）．ｐｒｉと表すと、Ｍ（ｉ）．ｐｒｉ＝０と表記することができる。
【０１９７】
一方、Ｓ１２において、Ｗ（ｎ）が予測メモリ４２内で検出されたことが確認された場合（Ｓ１２でＹＥＳ）には、学習部４１は、単語文字列（ｓｐｅｌｌ）がＷ（ｎ）であるインデクスのデータの優先度を変更する。例えば、Ｗ（ｎ）が予測メモリ４２内のＭ（ｉ）に単語文字列（ｓｐｅｌｌ）として登録されていた場合には、学習部４１は、Ｍ（ｉ）の優先度をゼロにする（Ｓ１５）。
【０１９８】
以上のように、単語登録処理では、取得した単語Ｗ（ｎ）が予測メモリ４２に単語文字列（ｓｐｅｌｌ）として登録されていない場合には、単語Ｗ（ｎ）を予測メモリ４２のＭ（ｉ）に登録して、Ｍ（ｉ）の優先度をゼロにする。一方、取得した単語Ｗ（ｎ）が予測メモリ４２に単語文字列（ｓｐｅｌｌ）として登録されている場合には、単語Ｗ（ｎ）が登録されているＭ（ｉ）の優先度をゼロにする。
【０１９９】
〔接続情報登録処理（セパレータ情報登録処理）〕
続いて、図８のフローチャートにおける接続情報登録処理（Ｓ８及びＳ９）の詳細について、図１０に基づいて説明する。なお、接続情報登録処理には、セパレータ情報を登録するセパレータ情報登録処理と、単語情報を登録する単語情報登録処理とがある。図１０では、セパレータ情報登録処理の一例を示している。
【０２００】
まず、学習部４１は、上記取得した単語Ｗ（ｎ）と、その直前の単語Ｗ（ｎ−１）との間に位置するセパレータＳ（ｎ−１）を取得する。続いて、学習部４１は、直前の単語Ｗ（ｎ−１）の登録番号（ｉ）を取得し、Ｍ（ｉ）の接続情報内でＳ（ｎ−１）を検索する（Ｓ２１）。そして、学習部４１は、Ｍ（ｉ）の接続情報内でＳ（ｎ−１）が検出されたか否かを確認する（Ｓ２２）。
【０２０１】
Ｍ（ｉ）の接続情報内でＳ（ｎ−１）が検出されたことが確認されなかった場合（Ｓ２２でＮＯ）には、学習部４１は、Ｍ（ｉ）の接続情報のセパレータ情報に格納されているｓｅｐ（０）〜ｓｅｐ（３）を、それぞれｓｅｐ（１）〜ｓｅｐ（４）にシフトさせる（Ｓ２３）。なお、図５に示すように、ここではセパレータ情報は、ｓｅｐ（０）〜ｓｅｐ（３）の４つのみである。すなわち、ｓｅｐ（４）にシフトさせるということは、その情報を忘れる（予測メモリ４２から消去する）ということを意味する。このように、予測メモリ４２に格納される接続情報は常に４つ以下となるので、学習処理を繰り返した場合であっても予測メモリ４２の記憶容量が増大することがない。
【０２０２】
一方、Ｍ（ｉ）の接続情報内でＳ（ｎ−１）が検出されたことが確認された場合（Ｓ２２でＹＥＳ）には、学習部４１は、セパレータ情報内での優先度を変更する。すなわち、Ｍ（ｉ）の接続情報内のｓｅｐ（ｋ）でＳ（ｎ−１）が検出されたとすると、学習部４１は、ｓｅｐ（０）〜ｓｅｐ（ｋ−１）を、ｓｅｐ（１）〜ｓｅｐ（ｋ）にシフトさせる（Ｓ２５）。なお、０≦ｋ≦３であり、ｋは整数である。
【０２０３】
以上のように、Ｓ２３またはＳ２４にて、セパレータ情報がシフトされるので、セパレータ情報ｓｅｐ（０）〜ｓｅｐ（３）のうち、ｓｅｐ（０）が空く。学習部４１は、この空いたｓｅｐ（０）にセパレータＳ（ｎ−１）を登録する（Ｓ２４）。この処理は、Ｍ（ｉ）．ｓｅｐ（０）＝Ｓ（ｎ−１）と表すことができる。
【０２０４】
ここで、上記Ｓ２３及びＳ２５の処理について図１１に基づいて説明する。図１１は、セパレータ情報の更新方法を説明する図である。なお、図１１では、図示のように、学習前にセパレータ情報ｓｅｐ（０）〜ｓｅｐ（３）の各位置にそれぞれセパレータＡ〜Ｄが格納されていることを想定している。
【０２０５】
図１１の左側に示すように、セパレータＡ〜Ｄとは異なるセパレータＸが登録された場合（図１０のＳ２３の場合）には、セパレータＡ〜Ｄは、それぞれ同図の右側にシフトされる。より詳細には、セパレータＡは、ｓｅｐ（０）からｓｅｐ（１）にシフトされ、セパレータＢは、ｓｅｐ（１）からｓｅｐ（２）にシフトされ、セパレータＣは、ｓｅｐ（２）からｓｅｐ（３）にシフトされる。そして、セパレータＤは、セパレータ情報から外される（忘れられる）。そして、新規に登録されたセパレータＸは、ｓｅｐ（０）に格納される。
【０２０６】
一方、図１１の右側に示すように、既にセパレータ情報として格納されているセパレータＣが登録された場合（図１０のＳ２５の場合）には、セパレータＣの左側に格納されているセパレータＡ及びＢは、それぞれ同図の右側にシフトされる。より詳細には、セパレータＡは、ｓｅｐ（０）からｓｅｐ（１）にシフトされ、セパレータＢは、ｓｅｐ（１）からｓｅｐ（２）にシフトされる。なお、セパレータＤの格納位置は変わらない。そして、新規に登録されたセパレータＣは、ｓｅｐ（０）に格納される。
【０２０７】
このように、学習部４１は、新規に登録するセパレータの格納位置を固定し、セパレータが新規に登録される度に、既に登録されているセパレータの格納位置をシフトさせている。これにより、セパレータ情報には、常に最新の４つのセパレータが格納されることになる。
【０２０８】
また、既に登録されているセパレータが再度登録された場合には、該登録されたセパレータは、上記新規に登録するセパレータの格納位置（ｓｅｐ（０））に格納される。これより、セパレータ情報内でｓｅｐ（０）〜ｓｅｐ（３）が登録順に並ぶので、これを優先度として利用することができる。例えば、入力候補の数が候補選択キーの数よりも多い場合に、入力候補を候補選択キーの数以下に絞り込む必要が生じたときには、予測処理中に優先度順に並べ直す必要がないため高速に、最新に更新された順で入力候補を決定することができる。
【０２０９】
〔接続情報登録処理（単語情報登録処理）〕
続いて、図８のフローチャートにおける接続情報登録処理（Ｓ８及びＳ９）の詳細について、図１２に基づいて説明する。上述のように、接続情報登録処理には、セパレータ情報を登録するセパレータ情報登録処理と、単語情報を登録する単語情報登録処理とがある。図１２は、単語情報登録処理の一例を示している。
【０２１０】
まず、学習部４１は、上記取得した単語Ｗ（ｎ）の直前の単語Ｗ（ｎ−１）の予測メモリ４２内の番号、すなわちインデクス（ｉ）を取得する。また、学習部４１は、上記取得した単語Ｗ（ｎ）のインデクス（ｊ）を取得する。そして、学習部４１は、直前の単語Ｗ（ｎ−１）の接続情報（単語情報）内で単語Ｗ（ｎ）を検索する（Ｓ３１）。なお、図７（ａ）（ｂ）に示すように、予測メモリ４２の接続情報にはインデクスが格納されることを想定しているので、学習部４１は、Ｍ（ｉ）の接続情報（単語情報）内で単語Ｗ（ｎ）のインデクス（ｊ）を検索する。そして、学習部４１は、Ｍ（ｉ）の接続情報内でインデクス（ｊ）が検出されたか否かを確認する（Ｓ３２）。
【０２１１】
Ｍ（ｉ）の接続情報内でインデクス（ｊ）が検出されたことが確認されなかった場合（Ｓ３２でＮＯ）には、学習部４１は、Ｍ（ｉ）の接続情報の単語情報に格納されているｗｄ（０）〜ｗｄ（３）を、それぞれｗｄ（１）〜ｗｄ（４）にシフトさせる（Ｓ３３）。なお、図５に示すように、ここでは単語情報は、ｗｄ（０）〜ｗｄ（３）の４つのみである。すなわち、ｗｄ（４）にシフトさせるということは、その情報を忘れる（予測メモリ４２から消去する）ということを意味する。
【０２１２】
一方、Ｍ（ｉ）の接続情報内でインデクス（ｊ）が検出されたことが確認された場合（Ｓ３２でＹＥＳ）には、学習部４１は、単語情報内での優先度を変更する。すなわち、Ｍ（ｉ）の接続情報内のｗｄ（ｋ）でインデクス（ｊ）が検出されたとすると、学習部４１は、ｗｄ（０）〜ｗｄ（ｋ−１）を、ｗｄ（１）〜ｗｄ（ｋ）にシフトさせる（Ｓ３５）。なお、０≦ｋ≦３であり、ｋは整数である。
【０２１３】
以上のように、Ｓ３３またはＳ３４にて、単語情報がシフトされるので、単語情報ｗｄ（０）〜ｗｄ（３）のうち、ｗｄ（０）が空く。学習部４１は、この空いたｗｄ（０）にインデクス（ｊ）を登録する（Ｓ３４）。この処理は、Ｍ（ｉ）．ｗｄ（０）＝ｊと表すことができる。
【０２１４】
このように、学習部４１は、新規に登録する単語の格納位置を固定し、単語が新規に登録される度に、既に登録されている単語の格納位置をシフトさせている。これにより、単語情報には、常に最新の４つの単語が格納されることになる。
【０２１５】
また、既に登録されている単語が再度登録された場合には、該登録された単語は、上記新規に登録する単語の格納位置（ｗｄ（０））に格納される。これより、単語情報内でｗｄ（０）〜ｗｄ（３）が登録順に並ぶので、これを優先度として利用することができる。例えば、入力候補の数が候補選択キーの数よりも多い場合に、入力候補を候補選択キーの数以下に絞り込む必要が生じたときには、予測処理中に優先度順に並べ直す必要がないため高速に、最新に更新された順で入力候補を決定することができる。
【０２１６】
〔入力候補決定処理〕
文字入力装置５では、第１候補決定部３８または第２候補決定部３９が、以上説明した学習処理によって更新される予測メモリ４２を用いて、入力候補を決定する。以下では、入力候補決定処理について、図１３から図２３に基づいて説明する。
【０２１７】
〔入力候補決定処理の全体の流れ〕
入力候補決定処理の全体の流れを図１３に基づいて説明する。図１３は、入力候補決定処理の一例を示すフローチャートである。
【０２１８】
ここで、入力候補決定処理は、文字列編集用メモリ３６に格納されている文字列が更新されたタイミングで実行される。具体的には、入力候補決定処理は、文字列更新部３５によって文字列編集用メモリ３６が更新されたタイミング、または文字列読み込み部３３によって文字列編集用メモリ３６が更新されたタイミングで実行される。図１３では、文字列読み込み部３３によって文字列編集用メモリ３６が更新されたタイミングで実行される場合の処理を示していないので、まずこの場合の処理について説明する。
【０２１９】
上述のように、文字列読み込み部３３は、入力フィールドに入力されている文字列を文字列編集用メモリ３６に格納する。このとき、文字列読み込み部３３は、編集用候補決定部４０に文字列を文字列編集用メモリ３６に格納したことを伝達する。編集用候補決定部４０は、文字列を文字列編集用メモリ３６に格納した旨の伝達を受けると、文字列編集用メモリ３６に格納された上記文字列を全消去する処理（Ｃｌｅａｒキー）と、スペースキーとを入力候補として入力候補割当部４４に送る。
【０２２０】
これにより、ユーザは、入力フィールドに入力されている文字列を全消去する操作を容易に行うことができ、また入力フィールドに入力されている文字列の後に“  ”（スペース）を入力する操作を容易に行うことができる。これは、検索サイト等でキーワード検索を行う場合に便利である。
【０２２１】
例えば、検索キーワードＡが所定の位置に入力されている状態で、該所定の位置を入力フィールドとした場合には、上記検索キーワードＡの文字列が文字列読み込み部３３によって文字列編集用メモリ３６に読み込まれる。
【０２２２】
ここで、上記検索キーワードＡの代わりに別の検索キーワードＢで検索を行う場合には、検索キーワードＡを全消去する必要がある。上記の構成によれば、このような場合に、文字列を全消去する処理（Ｃｌｅａｒキー操作）を候補選択キーで行うことができるので便利である。
【０２２３】
また、上記検索キーワードＡにキーワードＢを追加して検索を行う場合には、検索キーワードＡの直後に“  ”（スペース）を入力する必要がある。上記の構成によれば、このような場合に、“  ”（スペース）を候補選択キーで行うことができるので便利である。なお、編集用候補決定部４０は、図４の例のように、候補選択キーに常にスペースキーを割り当てる場合には、スペースキーを入力候補としない。
【０２２４】
ここで、図１３の説明に戻る。文字列読み込み部３３によって文字列編集用メモリ３６が更新された場合には、上述のような処理の後、図１３のフローチャートのＳ４１に示す処理が行われる。一方、文字列更新部３５によって文字列編集用メモリ３６が更新された場合には、Ｓ４１の処理から入力候補決定処理が開始される。
【０２２５】
すなわち、区切り文字判断部３７は、文字列更新部３５または文字列読み込み部３３によって文字列編集用メモリ３６が更新されると、文字列編集用メモリ３６に格納されている文字列を読み出し、該読み出した文字列がＵＲＬであるか否かの判断を行う（Ｓ４１）。読み出した文字列がＵＲＬである場合には、入力候補決定処理は、ＵＲＬモードに切り換えられる。ＵＲＬモードでは、第１候補決定部３８及び第２候補決定部３９は、ＵＲＬ入力時に適した入力候補を決定するようになっている。
【０２２６】
次に、区切り文字判断部３７は、上記読み出した文字列における、カーソル（入力位置）の直前の一文字を取得する（Ｓ４２）。そして、区切り文字判断部３７は、上記入力位置が文頭であるか、または上記取得した一文字がセパレータであるかを判断する（Ｓ４３）。そして、区切り文字判断部３７は、上記入力位置が文頭であるか、または上記取得した一文字がセパレータである場合には、第１候補決定部３８に上記読み出した文字列を送る。一方、上記取得した一文字がセパレータ以外の文字である場合には、区切り文字判断部３７は、第２候補決定部３９に上記読み出した文字列を送る。
【０２２７】
上記入力位置が文頭であるか、または上記取得した一文字がセパレータである場合（Ｓ４３でＹＥＳ）には、第１候補決定部３８は、区切り文字判断部３７が上記取得した一文字がＣａｐｓ用セパレータであるか否かを判断する（Ｓ４４）。なお、Ｃａｐｓ用セパレータとは、セパレータのうち、該セパレータの次に大文字入力が行われる場合のあるセパレータであり、どのようなセパレータをＣａｐｓ用セパレータとするかは、予め決められている。例えば、“.”（ピリオド）、“,”（カンマ）、及び“  ”（スペース）等をＣａｐｓ用セパレータとすることができる。
【０２２８】
そして、上記入力位置が文頭であるか、または上記取得した一文字がＣａｐｓ用セパレータである場合（Ｓ４４でＹＥＳ）には、第１候補決定部３８は、小文字入力と大文字入力とを切り換える処理（Ｃａｐｓキー）を入力候補として決定し、該決定した入力候補を入力候補割当部４４に送る（Ｓ４５）。
【０２２９】
Ｓ４５にて小文字入力と大文字入力とを切り換える処理（Ｃａｐｓキー）を入力候補として決定した後、またはＳ４４にて上記入力位置が文頭でなく、かつ上記取得した一文字がＣａｐｓ用セパレータではない場合（Ｓ４４でＮＯ）には、第１候補決定部３８は、入力位置が文頭であるか否かを判断する（Ｓ４６）。
【０２３０】
入力位置が文頭である場合（Ｓ４６でＹＥＳ）には、第１候補決定部３８は、入力候補割当部４４に入力候補決定処理が終了したことを伝達する。そして、入力候補割当部４４は、入力候補決定処理が終了した旨の伝達を受けると、入力候補を候補選択キーに表示させるために、表示用候補文字列を統一する（Ｓ４８）。
【０２３１】
一方、入力位置が文頭ではない場合（Ｓ４６でＮＯ）には、第１候補決定部３８は、次単語候補を予測する（Ｓ４７）。次単語候補を予測する処理は、入力位置の直前の単語に続く単語を入力候補として決定する処理である。第１候補決定部３８は、上記決定した入力候補を入力候補割当部４４に送ると共に、入力候補割当部４４に入力候補決定処理が終了したことを伝達し、これにより処理はＳ４８に移行する。
【０２３２】
以上のように、Ｓ４３にてカーソル（入力位置）が文頭にあるか、またはカーソル（入力位置）の直前の一文字がセパレータであると判断された場合（Ｓ４３でＹＥＳ）には、第１候補決定部３８によって、入力候補が決定される。一方、Ｓ４３にてカーソル（入力位置）の直前の一文字がセパレータ以外の文字であると判断された場合（Ｓ４３でＮＯ）には、第２候補決定部３９によって入力候補が決定される。
【０２３３】
すなわち、入力位置の直前の一文字がセパレータ以外の文字である場合（Ｓ４３でＮＯ）には、区切り文字判断部３７は、第２候補決定部３９に上記読み出した文字列を送る。そして、第２候補決定部３９は、上記文字列を受け取ると、セパレータ候補を予測する（Ｓ４９）。なお、セパレータ候補の予測とは、上記文字列において入力位置の直前の文字列に続くセパレータを入力候補として決定する処理を指す。また、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送る。
【０２３４】
続いて、第２候補決定部３９は、Ｓ４９にて決定した入力候補の数がＮ以上であるか否かを確認する（Ｓ５０）。なお、Ｎは、候補選択キーに割り当てることができる入力候補の最大数を示し、ゼロ以上の整数である。例えば図４の例において、候補選択キー２５にスペースキーを固定的に割り当てた場合には、Ｎ＝３となる。入力候補の数がＮ以上である場合（Ｓ５０でＹＥＳ）には、第２候補決定部３９は、入力候補割当部４４に入力候補決定処理が終了したことを伝達し、これにより処理はＳ４８に移行する。
【０２３５】
一方、入力候補の数がＮより小さい場合（Ｓ５０でＮＯ）には、第２候補決定部３９は、短縮候補を予測する（Ｓ５１）。なお、短縮候補の予測とは、上記文字列において入力位置の直前の文字列を単語として完成させるための文字列を入力候補として決定する処理を指す。また、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送る。
【０２３６】
短縮候補の予測が終了すると、第２候補決定部３９は、Ｓ４９及びＳ５１にて決定した入力候補の合計数がＮ以上であるか否かを確認する（Ｓ５２）。入力候補の数がＮ以上である場合（Ｓ５２でＹＥＳ）には、第２候補決定部３９は、入力候補割当部４４に入力候補決定処理が終了したことを伝達し、これにより処理はＳ４８に移行する。
【０２３７】
一方、入力候補の数がＮより小さい場合（Ｓ５２でＮＯ）には、第２候補決定部３９は、ＵＲＬ候補を予測する（Ｓ５３）。ＵＲＬ候補の予測処理とは、ＵＲＬ入力の際に用いられる定型の文字列等を入力候補として決定する処理を指す。また、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送る。なお、ＵＲＬ候補の予測は、Ｓ４１にてＵＲＬモードに設定されている場合にのみ実行される。Ｓ４１にてＵＲＬモードに設定されていない場合には、Ｓ５２の次にＳ５５の処理が実行される。
【０２３８】
ＵＲＬ候補の予測が終了すると、第２候補決定部３９は、Ｓ４９、Ｓ５１、及びＳ５３にて決定した入力候補の合計数がＮ以上であるか否かを確認する（Ｓ５４）。入力候補の数がＮ以上である場合（Ｓ５４でＹＥＳ）には、第２候補決定部３９は、入力候補割当部４４に入力候補決定処理が終了したことを伝達し、これにより処理はＳ４８に移行する。
【０２３９】
一方、入力候補の数がＮより小さい場合（Ｓ５４でＮＯ）には、第２候補決定部３９は、次文字候補を予測する（Ｓ５５）。次文字候補の予測処理とは、入力位置の直前の２文字に続く一文字候補を入力候補として決定する処理を指す。なお、Ｓ５５では、Ｓ４９、Ｓ５１、Ｓ５３、及びＳ５５で決定された入力候補の総数がＮ以上となる個数だけ、１文字の入力候補が決定される。そして、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送ると共に、入力候補割当部４４に入力候補決定処理が終了したことを伝達し、これにより処理はＳ４８に移行する。
【０２４０】
なお、上述の例は、入力候補決定処理の一例を示すものであり、入力候補決定処理は上述の例に限られず、適宜変更することが可能である。例えば、図１３のフローチャートの入力候補決定処理は、入力候補数がＮ以上となった時点で終了するようになっている。したがって、Ｓ４９、Ｓ５１、Ｓ５３、及びＳ５５の処理のうち、先に実行される処理にて全ての入力候補が決定された場合、後続の処理は行われなくなる。
【０２４１】
そこで、必要に応じて、Ｓ４９、Ｓ５１、Ｓ５３、及びＳ５５の処理で生成される入力候補のうち、候補選択キーにより優先して割り当てたい入力候補を生成する処理が先に実行されるように、Ｓ４９、Ｓ５１、Ｓ５３、及びＳ５５の処理を入れ替えればよい。例えば、Ｓ５１の短縮候補予測処理とＳ４９のセパレータ候補予測処理とを入れ替えることにより、短縮候補予測処理にて入力候補が決定された場合に、該入力候補が確実に候補選択キーに割り当てられる。
【０２４２】
〔次単語候補予測処理〕
続いて、次単語候補予測処理の詳細について、図１４に基づいて説明する。図１４は、次単語候補予測処理の一例を示すフローチャートである。なお、次単語候補予測処理は、図１３のフローチャートにおけるＳ４７の処理に相当する。すなわち、次単語候補予測処理は、第１候補決定部３８によって実行される。
【０２４３】
まず、第１候補決定部３８は、区切り文字判断部３７から受け取った、文字列編集用メモリ３６に格納されている文字列から、カーソル位置（入力位置）直前のセパレータより前のセパレータ以外で構成される文字列Ｗを取得する（Ｓ６１）。すなわち、第１候補決定部３８は、入力位置の直前の単語を取得する。
【０２４４】
次に、第１候補決定部３８は、予測メモリ４２を参照し、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するインデックスのデータをインデクス（０）のデータから昇順に検索する。ここで、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するインデックスのデータが検出された場合には、第１候補決定部３８は、該検出されたインデックスのデータから、単語情報の検索を行う（Ｓ６２）。
【０２４５】
なお、ここでは、Ｍ（ｉ）の単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致したとする。また、Ｍ（ｉ）の単語情報をｗｄ（ｊ）とする。Ｓ６２では、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）の検索を行う。
【０２４６】
単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）が検出されなかった場合（Ｓ６３でＮＯ）には、第１候補決定部３８は、次単語候補予測処理を終了する。すなわち、この場合には、入力候補として次単語は出力されない。
【０２４７】
一方、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）が検出された場合（Ｓ６３でＹＥＳ）には、第１候補決定部３８は、入力候補割当部４４に送った入力候補の総数ｋが候補選択キーに割当可能な入力候補の最大数ｋｍａｘより小さいか否かを判断する（Ｓ６４）。なお、ｋは自然数であり、ｋｍａｘは図１３のＮと同じ値である。
【０２４８】
入力候補割当部４４に送った入力候補の総数がｋｍａｘ以上である場合（Ｓ６４でＮＯ）には、第１候補決定部３８は、次単語候補予測処理を終了する。一方、入力候補割当部４４に送った入力候補の総数がｋｍａｘより少ない場合（Ｓ６４でＹＥＳ）には、第１候補決定部３８は、Ｍ（ｉ）の単語情報を参照し、次単語情報ｗｄ（ｊ）がまだあるか否かを確認する（Ｓ６５）。なお、ｊの初期値は０である。
【０２４９】
次単語情報ｗｄ（ｊ）がもうない場合（Ｓ６５でＮＯ）には、第１候補決定部３８は、次単語候補予測処理を終了する。一方、次単語情報ｗｄ（ｊ）がまだある場合（Ｓ６５でＹＥＳ）には、第１候補決定部３８は、ｗｄ（１）を入力候補として決定し、該決定した入力候補を入力候補割当部４４に送る（Ｓ６６）。そして、処理は再度Ｓ６４に移行し、第１候補決定部３８は、候補数がｋｍａｘより少ないか否かを判断する。
【０２５０】
以上のように、次単語候補予測処理では、文字列Ｗに一致する単語が予測メモリ４２内で検出された場合には、入力候補の総数がｋｍａｘ以上となるか、または文字列Ｗが登録されているインデクスのデータ内の全単語情報を入力候補とするまで処理が行われる。本実施形態では、単語情報ｗｄ（ｊ）を優先度順に記憶しておき、図１４のフローチャートに示すように、優先度順に入力候補を決定している。したがって、入力候補の総数がｋｍａｘ以上となったときには、最も優先度の高い入力候補が自動的に決定されている。
【０２５１】
〔セパレータ候補予測処理〕
続いて、セパレータ候補予測処理の詳細について、図１５に基づいて説明する。図１５は、セパレータ候補予測処理の一例を示すフローチャートである。なお、セパレータ候補予測処理は、図１３のフローチャートにおけるＳ４９の処理に相当する。すなわち、セパレータ候補予測処理は、第２候補決定部３９によって実行される。
【０２５２】
まず、第２候補決定部３９は、区切り文字判断部３７から受け取った、文字列編集用メモリ３６に格納されている文字列から、カーソル位置（入力位置）直前のセパレータ以外で構成される文字列Ｗを取得する（Ｓ７１）。すなわち、第２候補決定部３９は、入力位置の直前のセパレータを検出し、該セパレータの次の一文字で始まり、入力位置の直前の一文字で終わる文字列Ｗを取得する。なお、入力位置の前にセパレータが検出されない場合には、第２候補決定部３９は、入力位置の前の全文字列を文字列Ｗとして取得する。
【０２５３】
次に、第２候補決定部３９は、予測メモリ４２を参照し、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するインデックスのデータをインデクス（０）のデータから昇順に検索する。ここで、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するインデックスのデータが検出された場合には、第２候補決定部３９は、該検出されたインデックスのデータから、セパレータ情報の検索を行う（Ｓ７２）。
【０２５４】
なお、ここでは、Ｍ（ｉ）の単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致したとする。また、Ｍ（ｉ）のセパレータ情報をｓｅｐ（ｊ）とする。Ｓ７２では、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）の検索を行う。単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）が検出されなかった場合（Ｓ７３でＮＯ）には、第２候補決定部３９は、セパレータ候補予測処理を終了する。すなわち、この場合には、入力候補としてセパレータは出力されない。
【０２５５】
一方、単語文字列（ｓｐｅｌｌ）が文字列Ｗに一致するＭ（ｉ）が検出された場合（Ｓ７３でＹＥＳ）には、第２候補決定部３９は、入力候補割当部４４に送った入力候補の総数がｋｍａｘより小さいか否かを判断する（Ｓ７４）。
【０２５６】
入力候補割当部４４に送った入力候補の総数がｋｍａｘ以上である場合（Ｓ７４でＮＯ）には、第２候補決定部３９は、セパレータ候補予測処理を終了する。一方、入力候補割当部４４に送った入力候補の総数がｋｍａｘより少ない場合（Ｓ７４でＹＥＳ）には、第２候補決定部３９は、Ｍ（ｉ）のセパレータ情報を参照し、セパレータ情報ｓｅｐ（ｊ）がまだあるか否かを確認する（Ｓ７５）。なお、ｊの初期値は０である。
【０２５７】
セパレータ情報ｓｅｐ（ｊ）がもうない場合（Ｓ７５でＮＯ）には、第２候補決定部３９は、セパレータ候補予測処理を終了する。一方、セパレータ情報ｓｅｐ（ｊ）がまだある場合（Ｓ７５でＹＥＳ）には、第２候補決定部３９は、ｓｅｐ（１）を入力候補として決定し、該決定した入力候補を入力候補割当部４４に送る（Ｓ７６）。そして、処理は再度Ｓ７４に移行し、第２候補決定部３９は、候補数がｋｍａｘより少ないか否かを判断する。
【０２５８】
以上のように、セパレータ候補予測処理では、文字列Ｗに一致する単語が予測メモリ４２内で検出された場合には、入力候補の総数がｋｍａｘ以上となるか、または文字列Ｗが登録されているインデクスのデータ内の全セパレータ情報を入力候補とするまで処理が行われる。
【０２５９】
また、本実施形態では、セパレータ情報ｓｅｐ（ｊ）を優先度順に記憶しておき、図１４のフローチャートに示すように、優先度順に入力候補を決定している。したがって、入力候補の総数がｋｍａｘ以上となったときには、最も優先度の高い入力候補が自動的に決定されている。
【０２６０】
〔短縮候補予測処理〕
続いて、短縮候補予測処理の詳細について、図１６に基づいて説明する。図１６は、短縮候補予測処理の一例を示すフローチャートである。なお、短縮候補予測処理は、図１３のフローチャートにおけるＳ５１の処理に相当する。すなわち、短縮候補予測処理は、第２候補決定部３９によって実行される。
【０２６１】
まず、第２候補決定部３９は、区切り文字判断部３７から受け取った、文字列編集用メモリ３６に格納されている文字列から、カーソル位置（入力位置）直前のセパレータ以外で構成される文字列Ｗを取得する（Ｓ８１）。すなわち、第２候補決定部３９は、入力位置の直前のセパレータを検出し、該セパレータの次の一文字で始まり、入力位置の直前の一文字で終わる文字列Ｗを取得する。なお、入力位置の前にセパレータが検出されない場合には、第２候補決定部３９は、入力位置の前の全文字列を文字列Ｗとして取得する。
【０２６２】
次に、第２候補決定部３９は、予測メモリ４２を参照し、単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータを、インデクス（０）のデータから昇順に検索し（Ｓ８２）、単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータが検出されたか否かを確認する（Ｓ８３）。
【０２６３】
単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータが検出されなかった場合（Ｓ８３でＮＯ）には、第２候補決定部３９は、短縮候補予測処理を終了する。すなわち、この場合には、入力候補として短縮候補は出力されない。
【０２６４】
一方、単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデクスのデータが検出された場合（Ｓ８３でＹＥＳ）には、第２候補決定部３９は、上記検出されたインデクスのデータの優先度を検出し、既に入力候補として検出した短縮候補（設定済み候補）の中で、上記検出したインデクスのデータよりも優先度の低いものを検索する（Ｓ８４）。そして、第２候補決定部３９は、上記検出されたインデクスのデータの優先度が、上記設定済み候補の中で最も優先度が低いものよりも高いか否かを確認する（Ｓ８５）。
【０２６５】
なお、ここでは、Ｍ（ｉ）の単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致したとする。また、ここでは、上記設定済み候補をＨ（ｊ）と呼び、上記設定済み候補の中で最も優先度の低いものをＨ（ａ）と呼ぶ（ａ≧ｊ）。したがって、Ｓ８４の処理は、Ｍ（ｉ）より優先度の低いＨ（ｊ）を検索する処理と表現することができ、Ｓ８５の処理は、Ｍ（ｉ）の優先度がＨ（ａ）の優先度よりも高いか否かを判断する処理と表現することができる。
【０２６６】
Ｍ（ｉ）の優先度がＨ（ａ）の優先度よりも低い場合（Ｓ８５でＮＯ）には、第２候補決定部３９は、入力候補割当部４４に送った入力候補の総数と、短縮候補決定処理で決定された入力候補の総数との和が候補選択キーに割当可能な入力候補の最大数ｋｍａｘより小さいか否かを判断する（Ｓ８６）。
【０２６７】
ｋｍａｘ以上である場合（Ｓ８６でＮＯ）には、第２候補決定部３９は、Ｓ８２の処理に戻って上記優先度を比較したＭ（ｉ）の次のインデクスのデータ（Ｍ（i＋１））から昇順に単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータを検索する。
【０２６８】
一方、ｋｍａｘより少ない場合（Ｓ８６でＹＥＳ）には、第２候補決定部３９は、Ｍ（ｉ）の単語文字列（Ｍ（ｉ）．ｓｐｅｌｌ）を入力候補Ｈ（ｋ）として決定する（Ｓ８７）。そして、第２候補決定部３９は、Ｓ８２の処理に戻ってＭ（i）の次のインデクスのデータ（Ｍ（i＋１））から昇順に、単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータを検索する。
【０２６９】
ここで、Ｓ８５において、Ｍ（ｉ）の優先度がＨ（ａ）の優先度よりも高い場合（Ｓ８５でＹＥＳ）には、第２候補決定部３９は、Ｍ（ｉ）よりも優先度の低いＨ（ａ）を後ろにシフトし、Ｍ（ｉ）．ｓｐｅｌｌを入力候補Ｈ（ｋ）として決定する（Ｓ８８）。なお、ここでＨ（ａ）を後ろにシフトするとは、Ｈ（ａ）を設定済みの入力候補の中における優先順位を下げることを指す。
【０２７０】
続いて、第２候補決定部３９は、入力候補割当部４４に送った入力候補の総数と、短縮候補決定処理で決定された入力候補の総数との和が候補選択キーに割当可能な入力候補の最大数ｋｍａｘより小さいか否かを判断する（Ｓ８９）。
【０２７１】
ｋｍａｘ以上である場合（Ｓ８９でＮＯ）には、第２候補決定部３９は、Ｓ８２の処理に戻ってＭ（i）の次のインデクスのデータから昇順に単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータを検索する。
【０２７２】
一方、ｋｍａｘより少ない場合（Ｓ８９でＹＥＳ）には、第２候補決定部３９は、Ｍ（ｉ）の単語文字列（Ｍ（ｉ）．ｓｐｅｌｌ）を入力候補Ｈ（ｋ）として決定する（Ｓ９０）。そして、第２候補決定部３９は、Ｓ８２の処理に戻ってＭ（i）の次のインデクスのデータから昇順に単語文字列（ｓｐｅｌｌ）の先頭部分が文字列Ｗに一致するインデックスのデータを検索する。
【０２７３】
以上のように、短縮候補予測処理では、予測メモリ４２に格納されている全ての単語文字列のうち、先頭部分が文字列Ｗと一致するものが検索される。そして、検出された単語文字列のうち、優先度が最も高いものが入力候補として決定される。
【０２７４】
〔次文字候補予測処理〕
続いて、次文字候補予測処理の詳細について、図１７に基づいて説明する。図１７は、次文字候補予測処理の一例を示すフローチャートである。なお、次文字候補予測処理は、図１３のフローチャートにおけるＳ５５の処理に相当する。すなわち、次文字候補予測処理は、第２候補決定部３９によって実行される。
【０２７５】
まず、第２候補決定部３９は、区切り文字判断部３７から受け取った、文字列編集用メモリ３６に格納されている文字列から、カーソル位置（入力位置）直前の２文字を取得する（Ｓ９１）。なお、第２候補決定部３９は、文頭より前には、スペースが入力されているものと判断する。例えば、入力位置の直前に「ａ」の一文字のみが入力されている場合には、第２候補決定部３９は、入力位置の直前には、“  ”（スペース）、“ａ”と入力されていると判断する。
【０２７６】
次に、第２候補決定部３９は、入力候補割当部４４に送った入力候補の総数と、次文字候補決定処理で決定された入力候補の総数との和が候補選択キーに割当可能な入力候補の最大数ｋｍａｘより小さいか否かを判断する（Ｓ９２）。なお、ここでは、次文字候補決定処理で決定された入力候補をＨ（ｋ）と表記する。
【０２７７】
ｋｍａｘ以上である場合（Ｓ９２でＮＯ）であって、複数のＨ（ｋ）が決定されている場合には、第２候補決定部３９は、Ｈ（ｋ）の文字候補部分をアルファベット順にソートする（Ｓ９６）。なお、Ｈ（ｋ）の文字候補部分とは、入力位置の直前の２文字に続く１文字の部分である。Ｓ９６の処理は、必須の処理ではないが、アルファベット順にソートすることによって、候補選択キーに表示させたときに、ユーザが所望の候補選択キーを選択しやすくなるので、Ｓ９６の処理を行うことが好ましい。Ｓ９５にてソート処理を終了すると、第２候補決定部３９は、決定したＨ（ｋ）をソートされた順に入力候補割当部４４に送る。
【０２７８】
一方、ｋｍａｘより少ない場合（Ｓ９２でＹＥＳ）には、第２候補決定部３９は、入力位置の直前の２文字に続く確率の高い文字Ｃを予め作成したテーブル（一文字予測メモリ４３）から取得することを試みて（Ｓ９３）、文字Ｃが取得されたか否かを確認する（Ｓ９４）。
【０２７９】
第２候補決定部３９は、文字Ｃの取得に成功した場合（Ｓ９４でＹＥＳ）には、該取得した文字Ｃを入力候補として決定する（Ｓ９５）。そして、第２候補決定部３９は、Ｓ９２の処理に戻って入力候補割当部４４に送った入力候補の総数と、次文字候補決定処理で決定された入力候補の総数との和が候補選択キーに割当可能な入力候補の最大数ｋｍａｘより小さいか否かを判断する。
【０２８０】
一方、文字Ｃの取得に失敗した場合（Ｓ９４でＮＯ）には、第２候補決定部３９は、Ｓ９６の処理に進んで、複数のＨ（ｋ）が決定されている場合には、Ｈ（ｋ）の文字候補部分をアルファベット順にソートし、ソートした入力候補を入力候補割当部４４に送る。
【０２８１】
以上のように、次文字候補予測処理では、図１３のＳ４９のセパレータ候補予測処理、Ｓ５１の短縮候補予測処理、Ｓ５３のＵＲＬ候補予測処理、及びＳ５５の次文字候補予測処理にて決定された入力候補の総数が、候補選択キーに割当可能な入力候補の最大数ｋｍａｘと等しくなるように、一文字の入力候補が決定される。
【０２８２】
〔ＵＬＲ候補予測処理〕
続いて、ＵＲＬ候補予測処理の詳細について図１８〜図２０に基づいて説明する。上述のように、ＵＲＬ候補予測処理は、図１３のフローチャートにおけるＳ４１の処理において、ＵＲＬモードに設定された場合に実行される。そこで、まず図１８に基づいてＵＲＬモードの設定処理について説明する。図１８は、ＵＲＬモード設定処理の一例を示すフローチャートである。なお、ＵＲＬモード設定処理は、区切り文字判断部３７によって実行される。
【０２８３】
区切り文字判断部３７は、文字列編集用メモリ３６に格納されている文字列を読み出すと、該読み出した文字列の先頭の文字列を取得する（Ｓ１０１）。続いて、区切り文字判断部３７は、上記取得した先頭の文字列が“http://”または“www”に一致するか否かを確認する（Ｓ１０２）。
【０２８４】
そして、区切り文字判断部３７は、上記取得した先頭の文字列が“http://”または“www”に一致していることを確認した場合（Ｓ１０２でＹＥＳ）には、ＵＲＬモードをセットする（Ｓ１０３）。これにより、図１３のフローチャートにおけるＳ５３の処理が実行されるようになる。
【０２８５】
一方、区切り文字判断部３７は、上記取得した先頭の文字列が“http://”または“www”に一致していることが確認できなかった場合（Ｓ１０２でＮＯ）には、ＵＲＬモードをクリアする（Ｓ１０４）。これにより、図１３のフローチャートにおけるＳ５３の処理が実行されなくなる。
【０２８６】
なお、上記Ｓ１０１及びＳ１０２の処理は一例であり、この例に限られない。例えば、ＵＲＬモードのセット及びクリアを上記とは別の文字列で判断するようにしてもよい。具体的には、先頭の文字列が“https://”に一致している場合にＵＲＬモードにセットするようにしてもよいし、“http://”、“www”、及び“https://”の一部（例えば“htt”、“http”、“:/”、“://”等）が文字列に含まれている場合にＵＲＬモードにセットするようにしてもよい。また、入力フィールドがＵＲＬの入力欄である旨の情報を情報処理装置から受信して、該情報を受信した場合にＵＲＬモードをセットするようにしてもよい。
【０２８７】
以上のような処理によってＵＲＬモードにセットされた状態にて実行されるＵＲＬ候補予測処理について、図１９に基づいて説明する。図１９は、ＵＲＬ候補予測処理の一例を示すフローチャートである。
【０２８８】
なお、図１３では、入力位置の直前の一文字がセパレータ以外の文字である場合（Ｓ４３でＮＯ）に実行されるＵＲＬ候補予測処理のみを示しているが、入力位置の直前の一文字がセパレータである場合（Ｓ４３でＹＥＳ）にもＵＲＬ候補予測処理は実行される。この場合には、ＵＲＬ候補予測処理は、Ｓ４３とＳ４４との間、Ｓ４５とＳ４６との間、またはＳ４７とＳ４８との間の何れかで実行される。図１９では、入力位置の直前の一文字がセパレータ以外の文字である場合のＵＲＬ候補予測処理とセパレータである場合のＵＲＬ候補予測処理とを合わせて示している。以下では、まず第２候補決定部３９が実行するＵＲＬ候補予測処理について説明し、次に第１候補決定部３８が実行するＵＲＬ候補予測処理について説明する。
【０２８９】
まず、第２候補決定部３９は、カーソル（入力位置）直前の単語またはセパレータを取得する（Ｓ１１１）。すなわち、第２候補決定部３９は、入力位置より前の全文字列を取得する。そして、第２候補決定部３９は、入力位置の直前の文字列が先頭の単語であるか否かを確認する（Ｓ１１２）。すなわち、第２候補決定部３９は、入力位置よりも前にセパレータがあるか否かを確認する。セパレータがない場合には、入力位置の直前の文字列が先頭の単語（または単語の一部）であると判断する。
【０２９０】
入力位置の直前の文字列が先頭の単語（または単語の一部）である（Ｓ１１２でＹＥＳ）には、第２候補決定部３９は、入力中文字列Ｗ、すなわち入力位置の直前の文字列における先頭部分が“http://”または“www”の先頭部分に一致するか否かを確認する（Ｓ１１３）。そして、第２候補決定部３９は、一致していない場合（Ｓ１１３でＮＯ）には、入力候補を決定せずにＵＲＬ候補予測処理を終了する。なお、ここでは“http://”及び“https://”については、特別に１単語とみなしている。
【０２９１】
一方、入力位置の直前の文字列における先頭部分が“http://”または“www”の先頭部分に一致する場合（Ｓ１１３でＹＥＳ）には、第２候補決定部３９は、短縮候補“http://”または“www”を入力候補Ｈ（ｋ）に設定し、該設定した入力候補Ｈ（ｋ）を入力候補割当部４４に送る。なお、短縮候補を入力候補Ｈ（ｋ）に設定するとは、入力位置の直前の文字列を、単語として完成させるための文字列を入力候補として決定することを指す。この場合には、入力位置の直前の文字列を“http://”または“www”として完成させるための文字列が入力候補として決定される。
【０２９２】
ここで、Ｓ１１２において、入力位置の直前の単語が先頭の単語ではない（Ｓ１１２でＮＯ）ことを確認した場合には、第２候補決定部３９は、カーソル（入力位置）以前には“://”以後の“/”がないか否かを確認する（Ｓ１１５）。すなわち、第２候補決定部３９は、入力位置より前の全文字列に、“://”との文字列が含まれており、かつ“://”の後であって入力位置より前の文字列に“/”が含まれていないかどうかを確認する。
【０２９３】
入力位置より前の全文字列に、“://”との文字列が含まれており、かつ“://”の後であって入力位置より前の文字列に“/”が含まれていない場合（Ｓ１１５でＹＥＳ）には、第２候補決定部３９は、セパレータの後ろが３文字以上であるか否か、すなわち入力位置の直前にあるセパレータの次の一文字から、入力位置の直前の一文字までの間の文字列が、３文字以上であるか否かを確認する（Ｓ１１６）。
【０２９４】
３文字以上である場合（Ｓ１１６でＹＥＳ）には、第２候補決定部３９は、“．”（ピリオド）を入力候補として決定する（Ｓ１１７）。そして、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送り、ＵＲＬ候補予測処理を終了する。
【０２９５】
なお、ここでは、セパレータの後ろが３文字以上でピリオドを入力候補とする例を示しているが、３文字に限定されず、任意の文字数でピリオドを入力候補とすることができる。しかしながら、一般に、“://”の後に“/”が含まれていない場合には、３文字以上の文字列が入力された後でピリオドを入力することが多いので、セパレータの後ろが３文字以上となったタイミングでピリオドを入力候補とすることが好ましい。
【０２９６】
一方、入力位置の直前にあるセパレータの次の一文字から、入力位置の直前の一文字までの間の文字列が２文字以下である場合（Ｓ１１６でＮＯ）には、第２候補決定部３９は、入力位置の直前の文字列が“.com”または“.net”であるか否かを確認する（Ｓ１２０）。なお、図１９では、Ｓ１１６の次に、カーソル（入力位置）直前が“．”であるか否かを確認するステップ（Ｓ１１８）が挿入されているが、これは第１候補決定部３８がＵＲＬ候補予測処理を行う場合のみに実行されるステップである。第１候補決定部３８が実行するＵＲＬ候補予測処理については後述する。
【０２９７】
Ｓ１２０において、入力位置の直前の文字列が“.com”または“.net”である場合（Ｓ１２０でＹＥＳ）には、第２候補決定部３９は、セパレータ候補“/”を入力候補Ｈ（ｋ）として決定する（Ｓ１２１）。一方、入力位置の直前の文字列が“.com”または“.net”ではない場合（Ｓ１２０でＮＯ）には、第２候補決定部３９は、入力候補を決定せずにＵＲＬ候補予測処理を終了する。
【０２９８】
ここで、Ｓ１１５において、入力位置より前の文字列に、“://”との文字列が含まれており、かつ“://”の後であって入力位置より前の文字列に“/”が含まれている場合（Ｓ１１５でＮＯ）には、第２候補決定部３９は、セパレータの後ろが２文字以上であるか否か、すなわち入力位置の直前にあるセパレータの次の一文字から、入力位置の直前の一文字までの間の文字列が、２文字以上であるか否かを確認する（Ｓ１２２）。
【０２９９】
２文字以上である場合（Ｓ１２２でＹＥＳ）には、第２候補決定部３９は、“．”（ピリオド）を入力候補として決定する（Ｓ１１７）。そして、第２候補決定部３９は、上記決定した入力候補を入力候補割当部４４に送り、ＵＲＬ候補予測処理を終了する。一方、入力位置の直前にあるセパレータの次の一文字から、入力位置の直前の一文字までの間の文字列が１文字である場合（Ｓ１２２でＮＯ）には、第２候補決定部３９は、入力候補を決定せずにＵＲＬ候補予測処理を終了する。
【０３００】
なお、ここでは、セパレータの後ろが２文字以上でピリオドを入力候補とする例を示しているが、２文字に限定されず、任意の文字数でピリオドを入力候補とすることができる。しかしながら、一般に、“://”の後に“/”が含まれている場合には、２文字以上の文字列が入力された後でピリオドを入力することが多いので、セパレータの後ろが２文字以上となったタイミングでピリオドを入力候補とすることが好ましい。
【０３０１】
続いて、第１候補決定部３８が実行するＵＲＬ候補予測処理について説明する。第１候補決定部３８が実行するＵＲＬ候補予測処理は、図１９のＳ１１５から開始される。すなわち、第１候補決定部３８は、まず入力位置より前の文字列に“://”以後の“/”がないか否かを確認する（Ｓ１１５）。
【０３０２】
入力位置より前の全文字列に、“://”との文字列が含まれており、かつ“://”の後であって入力位置より前の文字列に“/”が含まれていない場合（Ｓ１１５でＹＥＳ）には、第１候補決定部３８は、カーソル（入力位置）直前が“．”であるか否かを確認する（Ｓ１１８）。
【０３０３】
すなわち、第１候補決定部３８が実行するＵＲＬ候補予測処理では、入力位置の直前はセパレータであるから、Ｓ１１６の処理は実行されず、Ｓ１１５でＹＥＳの場合には、Ｓ１１８の処理が実行される。同様に、Ｓ１１５でＮＯの場合には、Ｓ１２２の処理は実行されず、Ｓ１２３の処理が実行される。
【０３０４】
入力位置直前が“．”ではない場合（Ｓ１１８でＮＯ）には、第１候補決定部３８は、入力候補を決定せずにＵＲＬ候補予測処理を終了する。一方、入力位置直前が“．”である場合（Ｓ１１８でＹＥＳ）には、次単語候補として“com”と“net”とを出力する（Ｓ１１９）。すなわち、第１候補決定部３８は、“com”及び“net”との文字列をそれぞれ入力候補として決定し、決定した入力候補を入力候補割当部４４に送り、ＵＲＬ候補予測処理を終了する。なお、入力候補として決定する文字列は、“com”及び“net”の何れか一方でもよい。また、上記の例の他に“org”などを入力候補としてもよい。
【０３０５】
ここで、Ｓ１１５において、入力位置より前の全文字列に、“://”との文字列が含まれており、かつ“://”の後であって入力位置より前の文字列に“/”が含まれている場合（Ｓ１１５でＮＯ）には、第１候補決定部３８は、カーソル（入力位置）直前が“．”であるか否かを確認する（Ｓ１２３）。
【０３０６】
入力位置直前が“．”ではない場合（Ｓ１２３でＮＯ）には、第１候補決定部３８は、入力候補を決定せずにＵＲＬ候補予測処理を終了する。一方、入力位置直前が“．”である場合（Ｓ１２３でＹＥＳ）には、次単語候補として“htm”と“html”とを出力する（Ｓ１２４）。すなわち、第１候補決定部３８は、“htm”及び“html”との文字列をそれぞれ入力候補として決定し、決定した入力候補を入力候補割当部４４に送り、ＵＲＬ候補予測処理を終了する。なお、入力候補として決定する文字列は、“htm”及び“html”の何れか一方でもよく、また“asp”等の文字列を入力候補としてもよい。
【０３０７】
以上のように、ＵＲＬ候補予測処理では、入力位置の直前の一文字がセパレータであるか否かに応じて、また入力位置の直前のセパレータから入力位置の直前の一文字までの文字数に応じて、さらに“://”の後に“/”があるか否かに応じて入力候補が動的に決定されるようになっている。これにより、入力状況に応じた適切な入力候補が候補選択キーに割り当てられることになるので、ユーザはＵＲＬを容易に入力することができる。
【０３０８】
〔ＵＲＬ予測の具体例〕
ここで、上述のＵＲＬ候補予測処理にて入力候補が決定される具体例を図２０に基づいて説明する。図２０は、ＵＲＬ候補予測処理にて決定される入力候補の一例を示す図である。なお、図２０は、“http://www.prediction.com/index.html”を入力する場合における、入力文字列と、該入力文字列が入力された（文字列編集用メモリ３６に格納された）状態にて決定される入力候補の一例とを示している。
【０３０９】
図示のように、“ht”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“ht”は、“http://”及び“https://”の先頭部分と一致するので、図１９のＳ１１３及びＳ１１４の処理により、“http://”及び“https://”が入力候補として決定される。なお、ここでは、入力文字列の先頭部分が“ht”と一致した場合にＵＲＬモードに設定されることを想定している。
【０３１０】
次に、“http://www”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“http://www”との文字列には、“://”の後に“/”がなく、入力位置の直前のセパレータ“/”（２つ目）の後ろが３文字（www）であるから、図１９のＳ１１５〜Ｓ１１７の処理により、“.”（ピリオド）が入力候補として決定される。
【０３１１】
続いて、“http://www.prediction”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“http://www.prediction”との文字列には、“://”の後に“/”がなく、入力位置の直前のセパレータ“.”の後ろが３文字以上（prediction）であるから、図１９のＳ１１５〜Ｓ１１７の処理により、“.”（ピリオド）が入力候補として決定される。なお、“prediction”の“pre”まで入力した段階で“.”（ピリオド）が入力候補として決定されるようになる。
【０３１２】
次に、“http://www.prediction.”との文字列を入力した（文字列編集用メモリ３６に格納した）場合には、“http://www.prediction.”との文字列には、“://”の後に“/”がなく、入力位置の直前が“.”であるから、図１９のＳ１１５、Ｓ１１８、及びＳ１１９の処理により、“com”、“net”、及び“org”が入力候補として決定される。
【０３１３】
続いて、“http://www.prediction.com”との文字列を入力した（文字列編集用メモリ３６に格納させた）場合には、“http://www.prediction.com”との文字列には、“://”の後に“/”がなく、入力位置の直前が“.”ではなく“.com”であるから、図１９のＳ１１５、Ｓ１１８、Ｓ１２０、及びＳ１２１の処理により、“/”が入力候補として決定される。
【０３１４】
次に、“http://www.prediction.com/index”との文字列を入力した（文字列編集用メモリ３６に格納させた）場合には、“http://www.prediction.com/index”との文字列には、“://”の後に“/”があり、入力位置の直前のセパレータ“/”の後ろが２文字以上であるから、図１９のＳ１１５、Ｓ１２２、及びＳ１１７の処理により、“.”が入力候補として決定される。なお、“index”の“in”まで入力した段階で“.”が入力候補として決定されるようになる。
【０３１５】
そして、“http://www.prediction.com/index.”との文字列を入力した（文字列編集用メモリ３６に格納させた）場合には、“http://www.prediction.com/index.”との文字列には、“://”の後に“/”があり、入力位置の直前が“.”であるから、図１９のＳ１１５、Ｓ１２３、及びＳ１２４の処理により、“htm”、“html”、及び“asp”が入力候補として決定される。
【０３１６】
〔候補文字列生成処理〕
続いて、以上のような処理によって決定された入力候補を候補選択キーに表示させるための候補文字列生成処理について、図２１に基づいて説明する。候補文字列生成処理は、第１候補決定部３８が次単語候補を入力候補として決定したとき（図１３のＳ４７）、及び第２候補決定部３９がセパレータ候補、短縮候補、または次文字候補を入力候補として決定したとき（図１３のＳ５１、Ｓ５５）に実行する処理である。ここでは、まず第２候補決定部３９が短縮候補を入力候補として決定したときに実行する処理について説明する。
【０３１７】
図２１は、候補文字列生成処理の一例を示すフローチャートである。第２候補決定部３９は、短縮候補を入力候補として決定したときに、短縮候補単語Ｈと入力済み文字列Ｗとを取得する（Ｓ１３１）。短縮候補単語Ｈとは、短縮候補予測処理にて検出された単語であり、入力済み文字列Ｗとは、上記短縮候補単語Ｈを構成する文字列のうち、既に入力済みの文字列であり、入力位置の直前の文字列（入力位置直前のセパレータの次文字から入力位置直前の文字までの文字で構成される文字列）である。
【０３１８】
次に、第２候補決定部３９は、短縮候補単語Ｈから入力済み文字列Ｗを除いた後半の文字列Ｓを求める（Ｓ１３２）。したがって、上記のようにして求めた文字列Ｓを入力位置に入力することにより、入力済み文字列Ｗが短縮候補単語Ｈとして完成されることになる。すなわち、上記文字列Ｓが入力候補である。ここでは、Ｓを入力候補の文字列と呼ぶ。
【０３１９】
続いて、第２候補決定部３９は、短縮候補単語Ｈが８文字以下であるか否かを判断する（Ｓ１３３）。これは、ここでは候補選択キーに表示可能な文字数が８文字であることを想定しているためである。すなわち、短縮候補単語Ｈの文字数が候補選択キーに表示可能な文字数を越えた場合には、そのままでは候補選択キーに表示することができないので、Ｓ１３３では短縮候補単語Ｈの文字数が候補選択キーに表示可能な文字数を超えているか否かが判断される。もちろん、候補選択キーに表示可能な文字数が変われば、Ｓ１３３で短縮候補単語Ｈの文字数と比較する数値もそれに合わせて変更される。なお、以下では、候補選択キーに表示可能な文字数を表示可能文字数Ｌと呼ぶ。
【０３２０】
短縮候補単語Ｈが８文字以下である場合（Ｓ１３３でＹＥＳ）には、第２候補決定部３９は、文字列（Ｗ）Ｓを生成する（Ｓ１３４）。すなわち、第２候補決定部３９は、入力済み文字列Ｗと入力候補の文字列Ｓとを結合させた文字列を生成する。このように、入力候補の文字列と入力済み文字列とが組み合わされた文字列を、ここでは候補文字列と呼ぶ。
【０３２１】
なお、入力済み文字列Ｗは、短縮候補単語Ｈの入力済み部分であり、入力候補の文字列Ｓは短縮候補単語Ｈの未入力部分であるから、Ｓ１３４で生成される候補文字列は短縮候補単語Ｈの文字列と一致する。
【０３２２】
ここで、入力済み文字列Ｗと入力候補の文字列Ｓとを結合させた文字列を表示させるときには、入力済み文字列Ｗと入力候補の文字列Ｓとがユーザに識別できるように表示する。すなわち、文字列（Ｗ）ＳのＷに括弧を付しているのは、入力済み文字列Ｗと入力候補の文字列Ｓとを識別可能にすることを示している。なお、入力済み文字列Ｗと入力候補の文字列Ｓとは、ユーザが識別可能に表示されていればよく、その表示方法は特に限定されないが、ここでは入力済み文字列Ｗと入力候補の文字列Ｓとを色分けして表示することを想定している。
【０３２３】
次に、第２候補決定部３９は、入力候補の文字列Ｓと同じものが既に入力候補に設定されているか否かを確認する（Ｓ１３５）。入力候補の文字列Ｓと同じものが入力候補に設定されている場合（Ｓ１３５でＹＥＳ）には、第２候補決定部３９は、入力候補の文字列Ｓを入力候補とせずに候補文字列生成処理を終了する。
【０３２４】
一方、入力候補の文字列Ｓと同じものが既に候補に設定されていない場合（Ｓ１３５でＮＯ）には、第２候補決定部３９は、文字列（Ｗ）Ｓを候補Ｈ（ｋ）に代入する（Ｓ１３６）。これにより、文字列（Ｗ）Ｓが候補選択キーに表示される。そして、第２候補決定部３９は、入力候補の決定後、候補文字列生成処理を終了する。
【０３２５】
ここで、Ｓ１３３において、短縮候補単語Ｈが９文字以上である場合（Ｓ１３３でＮＯ）には、第２候補決定部３９は、入力済み文字列Ｗが３文字以下であるか否かを判断する（Ｓ１３７）。
【０３２６】
これは、ここでは短縮候補単語Ｈの全体を候補選択キーに表示できない場合に、短縮候補単語Ｈを候補選択キーに表示するときには、入力済み文字列を３文字で示すことを想定しているためである。具体的には、上記の場合に入力済み文字列が４文字以上であるときには、該入力済み文字列を（‥＋入力済み文字列の最後の一文字）で表すことを想定している。例えば、入力済み文字列が「ａｂｃｄｅ」である場合には、これを「‥ｅ」と表示する。
【０３２７】
入力済み文字列Ｗが３文字以下である場合（Ｓ１３７でＹＥＳ）には、第２候補決定部３９は、入力候補の文字列Ｓの長さが、｛表示可能文字数Ｌ−入力済み文字列Ｗの文字数ｌｅｎ（Ｗ）｝となるように、後部を削除した入力候補の文字列Ｓ’を求める。すなわち、第２候補決定部３９は、入力候補の文字列Ｓの先頭からＬ−ｌｅｎ（Ｗ）文字分の文字列を入力候補の文字列Ｓ’とする。なお、Ｓ１３７の処理は、Ｓ’＝ｓｕｂｓｔｒ（Ｓ，０，Ｌ−ｌｅｎ（Ｗ））と表される。したがって、この場合には、入力済み文字列Ｗの全文字と、入力候補の文字列Ｓの先頭部分Ｓ’とが入力候補となる。そして、第２候補決定部３９は、入力候補の文字列Ｓ’を生成すると、Ｓ１３５の処理に移行する。
【０３２８】
ここで、Ｓ１３７において、入力済み文字列Ｗが４文字以上である場合（Ｓ１３７でＮＯ）には、第２候補決定部３９は、入力済み文字列Ｗの省略形Ｗ’の長さＫを求める（Ｓ１４０）。具体的には、第２候補決定部３９は、Ｋ＝Ｌ−ｌｅｎ（Ｓ）の式で文字列Ｗの省略形Ｗ’の長さ（文字数）Ｋを求める。
【０３２９】
続いて、第２候補決定部３９は、上記求めたＫの値が３未満であるか否かを判断する（Ｓ１４１）。３未満である場合（Ｓ１４１でＹＥＳ）には、第２候補決定部３９は、Ｗの省略形Ｗ’を、“‥”＋“Ｗの最後の一文字”による３文字にする（Ｓ１４２）。Ｓ１４２の処理は、Ｗ’＝“‥”＋ｓｕｂｓｔｒ（Ｗ，ｌｅｎ（Ｗ）−１,１）と表される。
【０３３０】
一方、Ｋが３以上である場合（Ｓ１４１でＮＯ）には、第２候補決定部３９は、Ｗの省略形Ｗ’を、“‥”＋“Ｗの最後の（Ｋ−２）文字”にする（Ｓ１４３）。Ｓ１４３の処理は、Ｗ’＝“‥”＋ｓｕｂｓｔｒ（Ｗ，ｌｅｎ（Ｗ）−（Ｋ−２）,Ｋ−２）と表される。
【０３３１】
以上のようにして、Ｓ１４２またはＳ１４３にてＷの省略形Ｗ’を求めた第２候補決定部３９は、入力候補の文字列Ｓの長さがＬ−ｌｅｎ（Ｗ’）になるように、末尾の文字列を削除して文字列Ｓ’を求める（Ｓ１４４）。Ｓ１４４の処理は、Ｓ’＝ｓｕｂｓｔｒ（Ｓ，０，Ｌ−ｌｅｎ（Ｗ’））と表される。
【０３３２】
そして、第２候補決定部３９は、上記のようにして求めた文字列Ｓ’とＷの省略形Ｗ’とを用いて候補文字列（Ｗ’）Ｓ’を生成する（Ｓ１４５）。候補文字列（Ｗ’）Ｓ’を生成した第２候補決定部３９は、Ｓ１３５の処理に移行する。
【０３３３】
以上のように第２候補決定部３９が候補文字列を生成することにより、入力済み文字列が候補選択キーに表示される。これにより、ユーザはどの候補選択キーを選べばどのような単語が入力されるかを認識しやすくなり、ユーザの操作性が向上する。
【０３３４】
また、上記Ｓ１３５及びＳ１３６の処理によれば、候補選択キーに表示可能な最大文字数以下の文字数だけ切り出して入力候補が決定されることにより、複数の入力候補の文字列が同一になった場合には、同一の文字列からなる入力候補の何れか１つのみが上記候補選択キーに割り当てられる。これにより、複数の候補選択キーに同じ文字列が割り当てられることがなくなるので、候補選択キーを有効に利用することができる。
【０３３５】
同様に、第２候補決定部３９がセパレータ候補または次文字候補を入力候補として決定したときには、Ｈ＝Ｗ＋Ｓ（Ｓは一文字候補）という候補を生成した後、図２１に示す処理が実行される。これにより、一文字候補の直前の文字列と、該文字列に続く一文字候補とが候補選択キーに表示される。また、第１候補決定部３８が次単語候補を入力候補として決定したときには、Ｗ＝“”（空文字列）として、図２１に示す候補文字列処理が実行される。なお、セパレータ候補及び次単語候補については、候補文字列生成処理を行わない構成としてもよい。
【０３３６】
〔候補文字列統一処理〕
続いて、図１３のＳ４８にて実行される候補文字列統一処理の詳細について図２２に基づいて説明する。図２２は、候補文字列統一処理の一例を示すフローチャートである。候補文字列統一処理は、入力候補割当部４４によって実行される。
【０３３７】
すなわち、入力候補割当部４４は、第１候補決定部３８または第２候補決定部３９から入力候補決定処理が終了した旨の伝達を受けると、第１候補決定部３８または第２候補決定部３９から受け取った全ての候補文字列を取得する（Ｓ１５１）。上述のように、候補文字列とは、入力候補の文字列と入力済み文字列とが組み合わされた文字列である。ここではこの候補文字列をＨ（ｉ）（０≦ｉ≦Ｃ−１）と表記する。ｉはゼロ以上の整数であり、Ｃは候補選択キーに割当可能な候補数である。
【０３３８】
続いて、入力候補割当部４４は、上記取得した候補文字列Ｈ（ｉ）が複数である場合に、検出された候補文字列に含まれる入力済み文字列Ｗ’の中で最も短い（文字数が少ない）ものをＷｓとする（Ｓ１５２）。Ｓ１５２の処理は、Ｗｓ＝ｍｉｎ（Ｗ’（ｉ））と表せる。
【０３３９】
そして、入力候補割当部４４は、上記取得した各候補文字列の入力済み文字列Ｗ’を上記Ｗｓに置き換える（Ｓ１５３）。Ｓ１５３の処理は、Ｗ’（ｉ）＝Ｗ’ｓと表せる。候補文字列の入力済み文字列Ｗ’を上記Ｗｓに置き換えた後、入力候補割当部４４は、上記置き換え後の候補文字列を含む全ての入力候補を入力候補表示制御部３４に送って、候補選択キーに表示させる。
【０３４０】
以上のように、候補文字列統一処理では、複数の候補選択キーに表示する文字列が入力済み文字列Ｗ’を含むときには、各候補選択キーに表示する上記直前文字列の末尾の文字列を最も短い入力済み文字列Ｗ’、すなわちＷｓに統一する。これにより、候補選択キーに表示される入力済みの文字列が全ての入力候補キーで等しい長さで表示されるので、ユーザは入力済み文字列と、入力位置に入力される入力候補の文字列とを識別しやすくなる。
【０３４１】
なお、Ｗｓの長さは、必ずしも最も短い入力済み文字列に統一する必要はなく、全ての入力候補において、入力済み文字列の長さが統一されていれば、ユーザは入力済み文字列と、入力位置に入力される入力候補の文字列とを識別しやすくなる。しかしながら、最も短いものに統一することにより、表示される入力候補の文字列を長くすることができるので、入力済み文字列は、最も短いものに統一することが好ましい。
【０３４２】
〔候補表示の具体例〕
ここで、上述の候補文字列生成処理及び候補文字列統一処理にて候補文字列が生成される具体例を図２３に基づいて説明する。図２３は、候補文字列生成処理及び候補文字列統一処理にて決定される候補文字列の一例を示す図である。なお、図２３では、予測メモリ４２内に“internet”、“international”、及び“internationalization”の３語が登録されている場合における、入力文字列と、該入力文字列が入力された（文字列編集用メモリ３６に格納された）状態にて表示される候補文字列の一例とを示している。
【０３４３】
ここで、“int”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“int”は、“internet”、“international”、及び“internationalization”の先頭部分と一致するので、図１６に示す短縮候補決定処理により、これらの３単語が入力候補として決定される。すなわち、上記の３単語が、図２１における短縮候補単語Ｈということになる。
【０３４４】
ここで、“internet”は８文字（ｌｅｎ（Ｈ）＝８）、“international”は１３文字（ｌｅｎ（Ｈ）＝１３）、そして“internationalization”は２０文字（ｌｅｎ（Ｈ）＝２０）である。また、ここでは“int”が入力済み文字列Ｗということになる。
【０３４５】
また、入力済み文字列が３文字であるから、“internet”の入力候補の文字列Ｓは“ernet”（ｌｅｎ（Ｓ）＝５）であり、“international”の入力候補の文字列Ｓは“ernational” （ｌｅｎ（Ｓ）＝１０）であり、“internationalization”の入力候補の文字列Ｓは“ernationalization” （ｌｅｎ（Ｓ）＝１７）である。
【０３４６】
したがって、短縮候補単語“internet”は、図２１のＳ１３３及びＳ１３４の処理によって、入力済み文字列“int”と、入力候補の文字列“ernet”とが組み合わされた候補文字列“（int）ernet”として表示される。なお、“int”に付した括弧は、“int”と“ernet”とを識別可能に表示することを示している。実際には、入力済み文字列と、入力候補の文字列とは、括弧を表示する態様の他、色分けして表示する等の任意の表示方法によって識別可能に表示される。以下の記載においても同様である。
【０３４７】
これに対し、短縮候補単語“international”及び“internationalization”は、図２１のＳ１３３及びＳ１３７の処理を経由してＳ１３８の処理に供される。ここで、短縮候補単語“international”及び“internationalization”の両方において、Ｓ’が“ernat”となる。したがって、Ｓ１３９の処理では、“international”及び“internationalization”の両方において、同じ候補文字列“（int）ernat”が生成されることになる。
【０３４８】
ここで、図２１の候補文字列生成処理は、１つの短縮候補単語Ｈが検出される度に実行されるようになっており、１つの候補文字列が決定されると、Ｓ１３５の処理によって同じ候補文字列は生成されないようになっている。したがって、この場合には、“international”及び“internationalization”のうち、先に短縮候補単語Ｈとして決定された方のみが候補文字列“（int）ernat”として決定される。なお、“international”及び“internationalization”の何れが候補文字列として決定された場合であっても、同じ候補文字列が表示される。また、何れの単語に由来する候補文字列が表示された場合であっても、選択された場合には同じ文字列（この場合には“ernat”）が入力される。
【０３４９】
以上のようにして、２つの候補文字列“（int）ernet”及び“（int）ernat”が生成される。ここでは、入力候補数は３つ（Ｎ＝３）であることを想定しているので、図１３のＳ５２及びＳ５５の処理により、一文字候補が入力候補として決定される。すなわち、入力位置の直前の２文字“nt”の次に入力される可能性の高い一文字が一文字予測メモリ４３から読み出されて入力候補として決定される。図示の例では、“nt”の次に入力される可能性の高い一文字が“e”であることを想定している。
【０３５０】
そして、一文字候補が入力候補として決定されると、上述のように、図２１においてＨ＝Ｗ＋Ｓとして候補文字列が生成される。すなわち、ここでは入力済み文字列Ｗが“int”であることを想定しているので、図２１のＳ１３３及びＳ１３４の処理にて、“（int）e”との文字列が候補文字列として生成される。
【０３５１】
次に、“intern”との文字列を入力する（文字列編集用メモリ３６に格納する）と、図２１のＳ１３３〜Ｓ１３５の処理により、短縮単語候補“internet”から“（intern）et”が候補文字列として生成される。また、図２１のＳ１３３、Ｓ１３７、Ｓ１４０、Ｓ１４１、Ｓ１４３、Ｓ１４５、及びＳ１４６の処理によれば、短縮候補単語“international”及び“internationalization”の両方において、“（‥n）ation”が候補文字列となるので、Ｓ１３５の処理でこれらの何れか一方が候補文字列として決定される。
【０３５２】
そして、残った１つの入力候補として一文字候補が決定される。ここでは、入力位置の直前の２文字“rn”の次に入力される可能性の高い一文字が“i”であることを想定している。また、一文字候補は、候補文字列生成処理に供される。この場合には、候補文字列は“（intern）i”となる。
【０３５３】
以上のように、“intern”との文字列を入力した状態では、“internet”から“（intern）et”、“international”及び“internationalization”から“（‥n）ation”、そして一文字候補から“（intern）i”がそれぞれ候補文字列として生成される。ここで、上記３つの候補文字列には、異なる長さの入力済み文字列（“intern”と“‥n”）が含まれている。
【０３５４】
したがって、図２２の候補文字列統一処理によって、最も短い入力済み文字列に統一される。すなわち、この場合には、“‥n”が最も短い入力済み文字列であるから、入力済み文字列を含む全ての候補文字列について、入力済み文字列が“‥n”に置き換えられる。これにより、図示のように、“（‥n）et”、“（‥n）ation”、及び“（‥n）i”の３つの候補文字列が表示される。
【０３５５】
次に、“interne”との文字列を入力する（文字列編集用メモリ３６に格納する）と、図２１のＳ１３３〜Ｓ１３５の処理により、短縮単語候補“internet”から“（interne）t”が候補文字列として生成される。ここで、入力済み文字列“interne”は、“international”及び“internationalization”の何れの先頭部分とも一致しないので、これらの単語は短縮候補とならない。
【０３５６】
そこで、残る２つの入力候補として、一文字候補が決定される。ここでは、入力済み文字列“interne”の末尾２文字が“ne”であるから、“ne”の次に入力される可能性の高いものから順に一文字候補に決定される。ここでは、“s”と“a”とが一文字候補として決定されたことを想定している。これらの一文字候補は、候補文字列生成処理に供される。この場合には候補文字列は“（interne）s”及び“（interne）a”と決定される。
【０３５７】
以上のように、“interne”との文字列を入力した状態では、“internet”から“（interne）t”、一文字候補から“（interne）s”及び“（interne）a”が候補文字列として決定されて、図２３のように表示される。なお、図示のように、短縮候補と一文字候補とは特に区別されずに表示される。
【０３５８】
一方、“internat”との文字列を入力する（文字列編集用メモリ３６に格納する）と、入力済み文字列“internat”は、“internet”の先頭部分と一致しないので短縮候補とならない。この場合には、“international”及び“internationalization”が短縮候補となる。
【０３５９】
図２１の処理に従って短縮候補“international”及び“internationalization”から候補文字列を生成した場合には、“international”及び“internationalization”の両方において、“（‥n）ional”との候補文字列が生成される。したがって、この場合にも、“international”及び“internationalization”からは、“（‥n）ional”との候補文字列のみが生成される。
【０３６０】
そこで、残る２つの入力候補として、一文字候補が決定される。ここでは、“e”と“i”とが一文字候補として決定されたことを想定している。これらの一文字候補は、候補文字列生成処理に供されるので、この場合には候補文字列は“（‥ernat）e”及び“（‥ernat）i”と決定される。
【０３６１】
このようにして決定された上記３つの候補文字列では、入力済み文字列の長さが異なっているので、最も短いものに統一される。これにより、図２３に示すように、“（‥n）ional”、“（‥n）e”、及び“（‥n）i”が入力候補として表示される。
【０３６２】
続いて、“internati”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“internati”との入力済み文字列は、“international”及び“internationalization”の先頭部分と一致するので、“international”及び“internationalization”が短縮候補となる。
【０３６３】
図２１の処理に従って短縮候補“international”及び“internationalization”から候補文字列を生成すると、“international”からは“（‥n）onal”との候補文字列が生成され、“internationalization”からは“（‥n）onali”との候補文字列が生成される。すなわち、“internati”まで入力することにより、“international”と“internationalization”とが別の候補文字列となるので、これら２つの単語に由来する候補文字列がそれぞれ別の入力候補として表示されることになる。
【０３６４】
以下、上記と同様に、一文字候補が決定され、候補文字列統一処理が行われることにより、図２３に示すように、“（‥i）onal”、“（‥i）onali”、及び“（‥i）o”が候補文字列として表示される。なお、“（‥i）o”は、短縮候補である。
【０３６５】
ここで、“international”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“international”との入力済み文字列は、“international”に完全に一致するので、図１３のＳ４９の処理、すなわちセパレータ候補予測処理によって、“international”の次に入力されるセパレータの有無が検索される。ここでは、“international”のセパレータ情報として、“，”が登録されていることを想定しているので、“，”が入力候補として決定される。
【０３６６】
また、“international”との入力済み文字列は、“internationalization”の先頭部分に一致するので、“internationalization”が短縮候補となる。図２１の処理に従って、“internationalization”から候補文字列を決定すると、“（‥l）izati”との候補文字列が決定される。
【０３６７】
以上の処理により、２つの入力候補が決定されるので、残り１つの入力候補を埋めるために一文字候補が決定される。ここでは、“i”が一文字候補として決定されたことを想定している。そして、上記決定された一文字候補は、候補文字列生成処理により、“（ational）i”との候補文字列となる。
【０３６８】
これにより、３つの入力候補が全て揃うので、上記決定された３つの入力候補について図２２の候補文字列統一処理が行われ、図２３に示すような候補文字列、すなわち“（‥l）izati”、“（‥l），”、及び“（‥l）i”が表示される。このように、セパレータを入力候補とする場合にも、セパレータと併せて入力済み文字列を表示するようにしてもよい。
【０３６９】
続いて、“internationaliz”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“internationaliz”との入力済み文字列は、“internationalization”の先頭部分に一致するので、“internationalization”が短縮候補となる。図２１の処理に従って “internationalization”から候補文字列を決定すると、“（‥z）ation”との候補文字列が決定される。
【０３７０】
そして、残り２つの入力候補として一文字候補が決定される。ここでは、“a”と“e”とが入力候補として決定されたことを想定している。そして、上記決定された一文字候補は、候補文字列生成処理により、入力済み文字列を含む候補文字列となる。
【０３７１】
これにより、３つの入力候補が全て揃うので、上記決定された３つの入力候補について図２２の候補文字列統一処理が行われ、図２３に示すような候補文字列、すなわち“（‥z）ation”、“（‥z）a”、及び“（‥z）e”が表示される。このように、“internationaliz”まで入力された段階で、“internationalization”との単語を完成させるための文字列が最後まで表示される。
【０３７２】
最後に、“internationalization”との文字列を入力する（文字列編集用メモリ３６に格納する）と、“internationalization”との入力済み文字列は、“internationalization”に完全に一致するので、セパレータ候補予測処理によって、“internationalization”の次に入力されるセパレータの有無が検索される。ここでは、“internationalization”のセパレータ情報として、“  ”（スペース）が登録されていることを想定しているので、“  ”（スペース）が入力候補として決定される。
【０３７３】
そして、残り２つの入力候補として一文字候補が決定される。ここでは、“i”と“s”とが入力候補として決定されたことを想定している。そして、上記決定された一文字候補は、候補文字列生成処理により、入力済み文字列を含む候補文字列となる。
【０３７４】
これにより、３つの入力候補が全て揃うので、上記決定された３つの入力候補について図２２の候補文字列統一処理が行われ、図２３に示すような候補文字列、すなわち“（‥n）＿”、“（‥n）i”、及び“（‥n）s”が表示される。なお、図２３では、スペースをアンダーライン（＿）で示している。このように、スペースを何らかの記号で表すようにしてもよいし、図４に示すように「Ｓｐａｃｅ」との文字列を表示してもよい。要は、ユーザが、当該候補選択キーの操作によってスペースが入力されることを認識できるようにしておけばよい。
【０３７５】
〔具体例〕
続いて、図３に示す遠隔操作装置４にて、図４に示す入力ウインドウ２０を用いて文字入力を行った場合の表示例について、図２４〜図４１に基づいて説明する。
【０３７６】
〔候補選択キーに表示された入力候補の入力例〕
図２４は、候補選択キー２５に割り当てられた入力候補の入力を行う方法を説明する図である。ここでは、“Hollywood”との単語が予測メモリ４２に登録されており、“Hollywood”の単語情報に“movies”及び“los”が登録されているものとする。
【０３７７】
また、同図（ａ）に示すように、入力枠２１には、“Hollywood”との文字列の次にスペースが入力されており、スペースの次にカーソルが表示されている。このカーソルの位置が入力位置である。
【０３７８】
上述のように、文字入力装置５では、文字列編集用メモリ３６に格納されている文字列が更新されると、文字列表示制御部３２が文字列編集用メモリ３６に格納されている文字列を入力枠２１に表示するようになっている。したがって、入力枠２１には、文字列編集用メモリ３６に格納されている最新の文字列が表示されている。そして、この文字列編集用メモリ３６に格納されている最新の文字列において、上記カーソルの位置が入力位置に設定されている。
【０３７９】
同図（ａ）の例では、入力位置の直前がスペースであるから、図１３のＳ４１〜Ｓ４５の処理により、大文字と小文字とを切り換える処理（Ｃａｐｓキー）が候補選択キー２５に割り当てられている。また、ここでは、“Hollywood”の単語情報に“movies”及び“los”が登録されていることを想定しているので、図１３のＳ４１〜Ｓ４６の処理により、“movies”及び“los”が候補選択キー２５に割り当てられている。
【０３８０】
具体的には、図示の例では、Ｃａｐｓキーが「Ａ」の文字が表示されている候補選択キー２５に割り当てられており、“movies”が「Ｂ」の文字が表示されている候補選択キー２５に割り当てられており、“los”が「Ｃ」の文字が表示されている候補選択キー２５に割り当てられている。また、「Ｄ」の文字が表示されている候補選択キー２５にはスペースキーが固定的に割り当てられている。
【０３８１】
ここで、図３に示す遠隔操作装置４の候補決定ボタン１５のうち、「Ｂ」の文字が付された候補決定ボタン１５が押下されると、図２４（ｃ）に示すように、「Ｂ」の文字が表示されている候補選択キー２５に割り当てられている入力候補“movies”が入力位置に入力される。このように、候補決定ボタン１５を使用することにより、“movies”との文字列をワンタッチで入力することができる。
【０３８２】
なお、図２４（ｂ）に示すように、「Ｂ」の文字が表示されている候補選択キー２５にフォーカス２６を合わせた状態で、遠隔操作装置４の決定ボタン１１を押下した場合であっても、図２４（ｃ）に示すように、「Ｂ」の文字が表示されている候補選択キー２５に割り当てられている入力候補“movies”が入力位置に入力される。この場合であっても、文字入力キー２３から一文字一文字を選択しながら“movies”を入力する場合と比べて、容易かつ迅速に入力を行うことができる。
【０３８３】
〔Ｃａｐｓキーの動的な割り当てを行うときの表示例〕
図２５は、Ｃａｐｓキーを候補選択キー２５に割り当てるときの表示例を示す図である。同図（ａ）では、入力枠２１に文字が表示されておらず、カーソルが入力枠の左端に表示されている。すなわち、同図（ａ）は、入力位置が文頭である状態を示している。
【０３８４】
文字入力装置５では、図１３のＳ４４及びＳ４５の処理により、入力位置が文頭である場合には、同図（ａ）に示すように、候補選択キー２５に大文字と小文字とを切り換える処理すなわちＣａｐｓキーが割り当てられる。図示の例では、図２４（ａ）の例と同様に、「Ａ」の文字が表示されている候補選択キー２５に割り当てられている。このように、特定の処理を候補選択キー２５の特定の位置に割り当てることで、ユーザがキーの割り当て位置を認識しやすくなるので好ましい。
【０３８５】
ここで、図２５（ａ）の状態にて、「Ａ」の文字が表示されている候補選択キー２５に入力操作を行うと、入力ウインドウ２０は同図（ｂ）に示す表示状態に更新される。なお、候補選択キー２５に入力操作を行うとは、図２４で説明したように、候補選択キー２５に対応する候補決定ボタン１５を押下するか、またはフォーカス２６を合わせて決定ボタン１１を押下する操作を指す。
【０３８６】
図２５（ｂ）では、編集処理キーのＣａｐｓキーの表示が「Ｃａｐｓ  ＯＮ」に切り換わっている。また、文字入力キーが大文字に切り換わっている。なお、ここでは、入力位置は文頭のまま変わらないので、「Ａ」の文字が表示されている候補選択キー２５には引き続きＣａｐｓキーが割り当てられている。
【０３８７】
また、文字入力装置５では、図１３のＳ４４及びＳ４５の処理により、入力位置の直前がＣａｐｓ用セパレータである場合にも、候補選択キー２５にＣａｐｓキーが割り当てられる。したがって、図２５（ｃ）に示すように、入力枠２１内に文字列が入力されている場合であって、入力位置の直前がスペース（Ｃａｐｓ用セパレータ）である場合にも、候補選択キー２５にＣａｐｓキーが割り当てられる。
【０３８８】
〔スペースキーの動的な割り当てを行うときの表示例〕
図２６は、スペースキーを候補選択キー２５に動的に割り当てるときの表示例を示す図である。同図（ａ）では、入力枠２１“ｍ”の一文字が表示されており、“ｍ”の次にカーソルが表示されている。ここで、同図（ａ）の候補選択キー２５には、スペースキーが割り当てられていない。すなわち、上述の例では、スペースキーを候補選択キー２５に固定的に割り当てる態様を示していたが、ここではスペースキーを候補選択キー２５に固定的に割り当てず、必要に応じてスペースキーを候補選択キー２５に動的に割り当てる例を示している。ただし、候補選択キー２５にスペースが割り当てられていない場合にもスペースを入力できるよう、図示の例では編集処理キー２４としてスペースキーを配置している（改行キーの上側）。
【０３８９】
また、図示のように、「Ａ」〜「Ｄ」の候補選択キー２５には、それぞれ“movies”、“msn”、“mail”、及び“map”と表示されている。すなわち、図２６の例では、少なくともこれら４単語が予測メモリ４２に格納されていることを想定している。このように、スペースキーを固定的に割り当てない場合には、スペースキーの入力される確度が低いときに、スペースキー以外の入力候補を候補選択キーに割り当てることができ、候補選択キーをより有効に活用することができる。
【０３９０】
そして、同図（ａ）の状態にて、「Ａ」の候補選択キー２５に入力操作を行ったときの表示例が同図（ｂ）である。図示のように、「Ａ」の候補選択キー２５に入力操作を行うことにより、入力枠２１には、「Ａ」の候補選択キー２５に割り当てられていた入力候補“movies”が入力される。
【０３９１】
ここで、同図（ｂ）の状態では、カーソルの直前の文字列が予測メモリ４２に格納されている単語“movies”に完全に一致する。したがって、図１３のＳ４９の処理、すなわちセパレータ候補予測処理にて、“movies”に続くセパレータ候補が入力候補として決定される。したがって、予測メモリ４２内において、“movies”に続くセパレータとしてスペースが格納されている場合には、図示のように候補選択キー２５には、スペースキーが割り当てられることになる。
【０３９２】
なお、スペースキーは、短縮候補や次単語候補の入力候補と紛れないように、候補選択キー２５の予め決まった位置に表示させることが好ましい。ここでは、スペースキーを常に「Ｄ」の候補選択キー２５に割り当てるようにしている。
【０３９３】
〔セパレータと単語とを分けて学習するメリット〕
図５から１１に基づいて説明したように、文字入力装置５では、ユーザが入力した文字列をそのまま予測メモリ４２に格納するのではなく、ユーザが入力した文字列からセパレータと単語とを切り出し、単語と該単語に続くセパレータとを対応付けて記憶すると共に、セパレータを挟んで連続する２単語を対応付けて記憶する。これにより、入力されるセパレータが変化した場合にも柔軟に対応することができる。ここでは、セパレータと単語とを分けて学習するメリットについて、図２７に基づいて説明する。
【０３９４】
同図（ａ）では、“Ｔｏｋｙｏ，Ｊａｐａｎ”及び“Ｔｏｋｙｏ．ｐｌａｃｅ”の２つの文字列を学習させた状態にて、“Ｔｏｋｙｏ”と入力した場合の表示例を示している。“Ｔｏｋｙｏ，Ｊａｐａｎ”及び“Ｔｏｋｙｏ．ｐｌａｃｅ”を学習させた場合には、図８に示す学習処理により、学習部４１は、“Ｔｏｋｙｏ”、“Ｊａｐａｎ”及び“ｐｌａｃｅ”の単語を予測メモリ４２に格納すると共に、“Ｔｏｋｙｏ”のセパレータ情報として“，”及び“．”を格納する。また、“Ｔｏｋｙｏ”の単語情報として“Ｊａｐａｎ”及び“ｐｌａｃｅ”を格納する。
【０３９５】
ここで、“Ｔｏｋｙｏ”と入力した状態では、カーソル直前の文字列が予測メモリ４２内の単語“Ｔｏｋｙｏ”に一致するので、図示のように、“Ｔｏｋｙｏ”に対応付けられているセパレータ“，”及び“．”が候補選択キー２５に割り当てられる。なお、ここでは「Ｄ」の候補選択キー２５にはスペースキーが固定的に割り当てられているものとする。
【０３９６】
そして、同図（ａ）の状態にて、「Ｄ」の候補選択キー２５を操作して“Ｔｏｋｙｏ”の次にスペースを入力した状態を同図（ｂ）に示している。図示のように、“Ｔｏｋｙｏ”の単語情報として予測メモリ４２に格納されている“Ｊａｐａｎ”及び“ｐｌａｃｅ”が候補選択キー２５に割り当てられる。
【０３９７】
すなわち、文字入力装置５では、“Ｔｏｋｙｏ”の次が、上記学習したセパレータ“，”または“．”でない場合にも、“Ｔｏｋｙｏ”の次単語候補として、“Ｊａｐａｎ”及び“ｐｌａｃｅ”が決定されるようになっている。つまり、文字入力装置５では、単語の次に、学習していない任意のセパレータが入力された場合であっても、その単語の次に続く単語の候補を出力することができる。
【０３９８】
〔短縮候補とセパレータ候補と一文字候補との混在表示〕
文字入力装置５では、図１３のフローにしたがって入力候補を決定するので、ＣａｐｓキーやＤｏｎｅキーなどの操作キーに対応する候補、次単語候補、セパレータ候補、短縮候補、ＵＲＬ候補、及び次文字候補が候補選択キー２５に動的に割り当てられる。すなわち、文字入力装置５では、上記のような入力候補決定方法を組み合わせることにより、状況に応じた適切な入力候補が候補選択キー２５に動的に割り当てられるようにしている。
【０３９９】
図２８は、“ｍｕｓｉｃ”との単語が予測メモリ４２に登録されている場合に、“ｍｕ”と入力したときの表示例を示している。入力済み文字列“ｍｕ”が登録単語“ｍｕｓｉｃ”の先頭部分に一致しているので、図示のように“ｍｕｓｉｃ”が候補選択キー２５に割り当てられる。また、入力済み文字列“ｍｕ”に続くと予測される一文字が一文字候補として、「Ｂ」及び「Ｃ」の候補選択キー２５に割り当てられている。なお、「Ｄ」の候補選択キー２５には、スペースキーが固定的に割り当てられている。
【０４００】
このように、文字入力装置５では、図１３に示すような、多様な入力候補決定処理を組み合わせて実行するので、決定される入力候補も多様な候補が組み合わされて出力される。これにより、候補選択キー２５に割り当てる入力候補が入力状態に応じて適切に決定される。図示の例では、候補選択キー２５が「Ａ」〜「Ｄ」の４つしかないので、入力状態に応じて入力候補を切り換えることは重要である。
【０４０１】
特に、文字入力装置５では、直前文字列に基づいて入力候補を決定すると共に、入力位置の直前の文字列であって所定の文字数の文字列に対応付けて記憶されている一文字候補を入力候補として決定している。
【０４０２】
一文字候補は、所定の文字数の文字列に対応付けて記憶されている一文字であるから、任意の文字の組み合わせに対して一文字候補を用意しておくことができる。すなわち、一文字候補であれば、入力位置の直前の文字列がどのような文字列であっても入力候補として決定することができる。
【０４０３】
したがって、上記の構成によれば、直前文字列が予め記憶している単語と一致しない場合であっても入力候補を候補選択キーに割り当てることができ、また予め記憶している単語がユーザの入力したい単語と異なっている場合であっても、ユーザの文字入力の一助となる一文字候補を候補選択キーに割り当てることができる。その結果、ユーザの所望の文字列を、候補選択キーを用いて簡単な操作で迅速に入力することができる。
【０４０４】
〔ＵＲＬ入力時の表示例〕
次に、ＵＲＬモードにて入力を行う場合の表示例について図２９に基づいて説明する。図２９は、“http://abc.com/”とのアドレスを入力する場合の表示例を示している。同図の左端の図では、入力枠２１に“http://abc”との文字列が入力されている。この場合には、入力済み文字列の先頭部分が“http://”に一致するので、図１８の処理によってＵＲＬモードに設定される。
【０４０５】
また、図示の例では、カーソルより前に“//”以後の“/”がなく、カーソルより前のセパレータ（この場合には“/”）からカーソル直前までの文字数が３文字であるから、図１９のＳ１１５、Ｓ１１６、及びＳ１１７の処理により、セパレータ候補として“．”が決定されることになる。これにより、図示のように、候補選択キー２５に“．”が割り当てられることになる。
【０４０６】
図２９の左端の図に示す状態において、“．”を入力すると、入力ウインドウ２０は、同図の中央に示す状態に切り替わる。すなわち、カーソルより前に“//”以後の“/”がなく、カーソル直前が“．”であることから、図１９のＳ１１５、Ｓ１１８、及びＳ１１９の処理により、候補選択キー２５に“ｃｏｍ”及び“ｎｅｔ”が割り当てられ、図示のように表示される。
【０４０７】
そして、図２９の中央に示す状態において、“ｃｏｍ”を入力すると、入力ウインドウ２０は、同図の右端に示す状態に切り替わる。すなわち、カーソルより前に“//”以後の“/”がなく、カーソル直前が“ｃｏｍ”であることから、図１９のＳ１１５、Ｓ１２０、及びＳ１２１の処理により、候補選択キー２５に“/”が割り当てられ、図示のように表示される。
【０４０８】
すなわち、文字入力装置５によれば、“http://abc”と入力された状態から、候補選択キー２５に２回の入力操作を行うだけで、“http://abc.com/”とのアドレスを入力することができる。このように、文字入力装置５を用いることによって、ユーザはＵＲＬの入力を簡単なキー操作で迅速に行うことができる。
【０４０９】
〔入力候補の表示例〕
文字入力装置５では、候補選択キー２５に表示可能な文字数が限られているので、入力候補の表示方法に工夫を施すことにより、限られた文字数でもユーザに分かり易い表示が実現されている。ここでは、図３０に基づいて入力候補の表示例について説明する。図３０は、入力候補の表示例を示す図である。
【０４１０】
同図（ａ）は、“index”、“is”、及び“ice”との３つの単語が予測メモリ４２に格納されている場合に、“i”との文字を入力したときの表示例を示している。この場合には、“i”で始まる“index”、“is”、及び“ice”が短縮候補として選択されて、さらに入力候補に決定される。そして、図２１に示す候補文字列決定処理によって候補文字列が生成され、該生成された候補文字列が候補選択キー２５に表示されている。
【０４１１】
ここでは、「Ａ」〜「Ｄ」の候補選択キー２５に表示可能な文字数が８文字であることを想定しているので、上記３つの単語は、入力済みの文字“i”を含めた単語の全文字列が候補選択キー２５に表示されている。
【０４１２】
ここで、上記３つの単語に加えて、“ichinomotostation”及び“ichinomotocho”の２単語を学習させた場合に、“i”との文字を入力したときの表示例を同図（ｂ）に示す。“ichinomotostation”及び“ichinomotocho”は、いずれも単語の文字数が８文字を超えているので、単語の全文字列を候補選択キー２５に表示させることはできない。
【０４１３】
上記２単語については、その先頭部分のみを表示させることが考えられるが、“ichinomotostation”及び“ichinomotocho”の先頭８文字は、いずれも“ichinomo”で共通している。したがって、“ichinomotostation”及び“ichinomotocho”の先頭８文字を両方とも候補選択キー２５に表示した場合には、同じ表記の候補選択キー２５が２つ表示される。そして、その一方には、“ichinomotostation”が割り当てられており、他方には“ichinomotocho”が割り当てられている状態となる。このような状態では、ユーザはいずれの候補選択キー２５を選択すればよいのか判断に困ることになるので好ましくない。
【０４１４】
そこで、文字入力装置５では、図２１のＳ１３５の処理により、同一の文字列からなる複数の候補文字列が決定されないようにしている。したがって、図３０（ｂ）に示すように、“ichinomotostation”及び“ichinomotocho”の２つの単語が登録されている場合であっても、これらの単語に対応する候補選択キー２５は、“ichinomo”との候補文字列が表示された「Ａ」の候補選択キー２５のみとなる。これにより、ユーザがどの候補選択キー２５を選択すればよいのか判断に困ることがなくなる。
【０４１５】
なお、“ichinomo”との文字列が表示された「Ａ」の候補選択キー２５に入力操作を行うことによって、入力ウインドウ２０は、同図（ｃ）に示す状態に更新される。図示のように、入力枠２１には、“ichinomo”との文字列が表示されており、「Ａ」の候補選択キー２５には“‥otosta”との文字列が表示されており、「Ｂ」の候補選択キー２５には“‥otocho”との文字列が表示されている。
【０４１６】
このように、文字入力装置５では、単語の一部が切り出されて候補文字列となることによって、候補選択キー２５に表示される候補文字列が同じになる場合には、その１つのみを候補選択キー２５に割り当てるようにしている。
【０４１７】
そして、複数の入力候補に対応する候補文字列が表示されている候補選択キー２５が入力操作を受けた場合には、同図（ｃ）に示すように、候補文字列に含まれる入力候補の文字列のみ（この例では“ichinomo”）を入力するようにしている。
【０４１８】
これにより、ユーザは、“ichinomotostation”を入力する場合には、「Ａ」の候補選択キー２５を用いればよく、一方“ichinomotocho”を入力する場合には、「Ｂ」の候補選択キー２５を用いればよいことを容易に認識することができる。
【０４１９】
なお、文字入力装置５では、候補選択キー２５に入力操作を行った場合には、当該候補選択キー２５に表示されている候補文字列のうち、入力候補の文字列のみが入力されるようにしている。すなわち、文字入力装置５では、図３０の例のように、複数の入力候補が同じ候補文字列となる場合に限らず、常に候補選択キー２５に表示されている候補文字列のうち、入力候補の文字列のみが入力されるようにしている。
【０４２０】
これについて、図３１に基づいて説明する。図３１では、“ichinomotocho”、“index”、及び“is”の３つの単語が予測メモリ４２に格納されている場合の表示例を示している。同図（ａ）に示すように、“i”の文字が入力されると、“ichinomotocho”、“index”、及び“is”が短縮候補に決定されて候補選択キー２５に割り当てられる。このとき、“ichinomotocho”は、候補選択キー２５に表示可能な文字数を超えているので、その先頭部分“ichinomo”のみが表示される。
【０４２１】
そして、同図（ａ）の状態にて、“ichinomo”との候補文字列が表示されている候補選択キー２５を選択すると、入力ウインドウ２０は、同図（ｂ）に示す状態に更新される。すなわち、図示のように、入力枠２１には、候補選択キー２５に表示されていた“ichinomo”との文字列が表示されている。そして、候補選択キー２５には、“ichinomo”との入力済み文字列を単語“ichinomotocho”として完成させるための入力候補“‥otocho”が割り当てられている。
【０４２２】
このように、文字入力装置５では、候補文字列の文字数が候補選択キー２５の表示可能文字数を超える場合には、上記候補文字列に含まれる入力候補の文字列の先頭部分を候補選択キー２５に割り当てる。そして、割り当てられた上記先頭部分のみを先に確定させた後、上記先頭部分に続く後半部分を入力候補として候補選択キー２５に割り当てている。
【０４２３】
なお、候補文字列に含まれる入力候補の文字列の先頭部分のみを候補選択キー２５に表示させた場合に、その先頭部分に続く単語が１つしかないときには、先頭部分が割り当てられた候補選択キー２５に入力操作を行うことにより、上記の単語の全文字列を入力するようにしてもよい。例えば、図３１（ａ）の状態にて、「Ａ」の候補選択キー２５に入力操作を行うことにより、“ichinomotocho”の全文字列が入力されるようにしてもよい。
【０４２４】
しかしながら、この場合には、“ichinomo”と表示されている候補選択キー２５に入力操作を行っているのに、“ichinomotocho”との文字列が入力されるので、ユーザが混乱するおそれがある。そのため、文字入力装置５では、常に、候補選択キー２５に表示されている候補文字列のうち入力候補の文字列のみが入力されるようにしている。
【０４２５】
また、文字入力装置５では、候補選択キー２５に候補文字列、すなわち入力候補の文字列と入力済み文字列とを組み合わせた文字列を表示している。これにより、ユーザは単語の完成形を認識し易くなるので所望の入力候補を選び易い。また、文字入力装置５では、候補選択キー２５に表示させる入力済み文字列の長さが全ての入力候補で同じになるようにしている。
【０４２６】
図３２は、入力済み文字列の長さを全ての入力候補で同じにしたときの表示例を示す図である。同図（ａ）は、“ichinomotostation”、“ichinomotocho”、“index”、及び“is”が予測メモリ４２に格納されている状態で“i”を入力した場合の表示例を示している。図示のように、全ての入力候補には、入力済み文字列“i”が表示されている。
【０４２７】
なお、図２４〜図４１では、入力済み文字列と入力候補とを特に区別することなく表示する例を示しているが、入力済み文字列と入力候補とは、例えば表示色を変える等してユーザが入力済み文字列と入力候補とを識別できるように表示することが好ましい。
【０４２８】
ここで、図３２（ａ）の状態にて、“ichinomo”と表示されている候補選択キー２５に入力操作を行うと、同図（ｂ）の状態となる。図示のように、“ichinomo”との入力済み文字列に先頭部分が一致する単語“ichinomotostation”及び“ichinomotocho”が候補選択キー２５に割り当てられている。また、「Ｃ」の候補選択キー２５には、一文字候補“ｎ”が割り当てられている。
【０４２９】
同図（ｂ）に示すように、全ての候補選択キー２５において、入力済み文字列が“‥o”となっている。これにより、ユーザは、入力済み文字列と入力候補とを識別し易くなる。このような表示は、図２１の候補文字列生成処理にて実現される。
【０４３０】
〔一文字候補の選択方法について〕
上述のように、一文字候補は、文字の連鎖確率に基づいて予め作成されたデータベース（一文字予測メモリ４３）を用いて、入力位置の直前２文字に続く確率の高い一文字の入力候補である。
【０４３１】
ここで、一文字候補を候補選択キー２５に割り当てる理由は、ユーザ操作の手数を減らすためである。したがって、フォーカス２６から少ない操作数で入力できる文字、すなわちフォーカス２６近傍の文字を候補選択キー２５に割り当てるメリットは少なく、フォーカス２６から遠い文字を候補選択キー２５に割り当てることが好ましい。
【０４３２】
そこで、第２候補決定部３９が、一文字候補を入力候補として決定するときに、入力ウインドウ２０上のフォーカス２６の位置を取得し、フォーカス２６の位置から遠い文字を優先的に選択候補として決定するようにしてもよい。これについて、図３３に基づいて説明する。図３３は、フォーカス２６の位置から遠い文字を優先的に選択候補として決定する方法を説明する図である。
【０４３３】
図示のように、入力枠２１には、“ｐｋ”の２文字が入力されている。また、図示のように、フォーカス２６は、文字入力キー２３の「ｋ」の文字に合わされている。このような場合に、一文字候補を決定するときには、第２候補決定部３９は、一文字予測メモリ４３から“ｐｋ”の２文字に続く確率の高い一文字を、その確率が高い順に読み出す。ここでは、確率の高い順に、“ｅ”、“ｉ”、“ｓ”、及び“ａ”の４文字が読み出されたとする。
【０４３４】
ここで、第２候補決定部３９は、操作取得部３１にフォーカス２６の現在位置を通知するように要求する。ここでは、図示のように、フォーカス２６は、文字入力キー２３の「ｋ」の文字に合わされているので、その旨が操作取得部３１から第２候補決定部３９に通知される。通知を受けた第２候補決定部３９は、フォーカス２６の近傍の文字が上記読み出した一文字候補に含まれているか否かを確認する。
【０４３５】
なお、上記近傍の文字については、予め定めておけばよい。例えば、フォーカス２６の位置の上下または左右に隣接する位置がフォーカス２６の近傍であると予め定めておくことで、フォーカス位置の近傍か否かの判断を行うことができる。図３３に示すように、フォーカス２６は、「ｅ」の文字入力キー２３と上下方向に隣接している。したがって、「ｅ」の文字入力キー２３は、遠隔操作装置４の「上」の方向ボタン１２を１回押下し、そこで決定ボタン１１を押下することで入力することができる。すなわち、「ｅ」の文字入力キー２３は、方向ボタン１２と決定ボタン１１とを用いた場合であっても、それほどの手間をかけずに入力することができる。
【０４３６】
そこで、第２候補決定部３９は、このような近傍の文字を一文字候補から外し、図３３に示すようにフォーカス２６からより離れた（入力操作に手数がかかる）文字を入力候補として決定している。具体的には、一文字予測メモリ４３から読み出した“ｅ”、“ｉ”、“ｓ”、及び“ａ”のうち、“ｅ”を除外した“ｉ”、“ｓ”、及び“ａ”が入力候補として決定されている。これにより、次にユーザが“ｅ”を入力する場合にも操作の手数は少なくて済み、“ｉ”、“ｓ”、及び“ａ”を入力する場合にもユーザ操作の手数が少なくて済む。
【０４３７】
なお、上記近傍の文字とは、フォーカス２６を上記文字に合わせるために必要な操作の回数が少ない文字を指し、物理的なキー配置の遠近のみを指すわけではない。言い換えれば、遠隔操作装置４の方向ボタン１２の押下回数が少ない文字が上記近傍の文字である。したがって、例えばフォーカス２６が斜め方向に移動可能である場合には、文字入力キーの上下左右斜めに隣接する８文字を近傍の文字として扱うようにしてもよい。
【０４３８】
また、上記の例では、現在のフォーカス２６の位置から、遠隔操作装置４の方向ボタン１２を一回押下することで入力可能となる文字を近傍の文字として取り扱う例を示したが、近傍の文字の設定方法はこの例に限られない。例えば、遠隔操作装置４の方向ボタン１２を２回押下することで入力可能となる文字を近傍の文字として取り扱うようにしてもよいし、３回押下することで入力可能となる文字を近傍の文字として取り扱うようにしてもよい。
【０４３９】
〔読み込んだ文字列の編集〕
上述のように、文字入力装置５は、入力フィールドにすでに文字列が入力されていた場合には、文字列読み込み部３３が上記入力されていた文字列を読み込んで文字列編集用メモリ３６に格納する。これにより、上記入力されていた文字列にさらに文字列を追加する等の編集操作を行うことができる。ここでは、入力フィールドに入力済みの文字列を読み込んだときの表示例について図３４に基づいて説明する。
【０４４０】
同図（ａ）は、ウェブページの画面を示している。より詳細には、キーワードを入力して、該入力したキーワードに関連する情報を、インターネットを介して検索する検索サイトの画面を示している。ここでは、図示のように、検索キーワードを入力するためのテキストボックス５１には、“ａｂｃ”との文字列が入力されている。
【０４４１】
ここで、テキストボックス５１を入力フィールドに設定した場合には、同図（ｂ）に示す入力ウインドウ２０が、上記ウェブページが表示されている画面と同じ画面に表示される。図示のように、入力枠２１には、テキストボックス５１に入力されていた文字列“ａｂｃ”が表示されている。また、図示のように「Ａ」の候補選択キー２５には、Ｃｌｅａｒキーが割り当てられており、「Ｄ」の候補選択キー２５には、スペースキーが割り当てられている。
【０４４２】
したがって、ユーザは、テキストボックス５１に入力されていた文字列“ａｂｃ”を消去して別のキーワードで検索を行いたい場合には、「Ａ」の候補選択キー２５に操作入力を行えばよく、文字列“ａｂｃ”に、別の検索キーワードを加えて検索を行いたい場合には、「Ｄ」の候補選択キー２５に操作入力を行えばよい。いずれにせよ、ユーザは、ワンタッチで必要な操作を行うことができる。
【０４４３】
〔Ｄｏｎｅキーの表示例〕
文字入力装置５では、文字列を入力し、Ｄｏｎｅキーを操作して該文字列を確定することによって、上記入力した文字列が入力フィールドに入力されるようになっている。そして、Ｄｏｎｅキーに対する操作をトリガとして学習処理を行うようになっており、Ｄｏｎｅキー操作を行う直前に入力された単語と、Ｄｏｎｅキー操作とを対応付けて記憶するようにしている（図７（ｂ）等参照）。そして、Ｄｏｎｅキー操作を行う直前に入力された単語が入力された場合には、Ｄｏｎｅキーを入力候補として候補選択キー２５に割り当てるようにしている。
【０４４４】
ここでは、Ｄｏｎｅキーを候補選択キー２５に割り当てた場合の表示例である図３５について説明する。なお、ここでは“Ｔａｒｏ  Ｓａｔｏ”との文字列が入力されて確定された（Ｄｏｎｅキーが操作された）ことが学習部４１によって既に学習済みであることを想定している。
【０４４５】
“Ｔａｒｏ  Ｓａｔｏ”との文字列が入力されると、予測メモリ４２から、入力位置の直前の単語“Ｓａｔｏ”のセパレータ情報が読み出される。ここでは、“Ｔａｒｏ  Ｓａｔｏ”との文字列が入力されて確定された（Ｄｏｎｅキーが操作された）ことが学習部４１によって既に学習済みであることを想定しているので、“Ｓａｔｏ”との単語のセパレータ情報には、“Ｅｎｄ”との情報が格納されている（図７（ａ）参照）。
【０４４６】
すなわち、予測メモリ４２では、“Ｓａｔｏ”の次には、Ｄｏｎｅキー操作が行われることが対応付けて記憶されている。このような場合に、第２候補決定部３９は、Ｄｏｎｅキーを入力候補として決定する。これにより、図３５に示すように、候補選択キー２５に「Ｄｏｎｅ」との文字列が表示される。そして、「Ｄｏｎｅ」との文字列が表示されている候補選択キー２５に入力操作を行うことにより、文字列の入力を確定することができる。
【０４４７】
〔日本語入力の例〕
上記では、アルファベットを入力する例について説明したが、文字入力装置５では、アルファベットに限らず、様々な文字の入力を行うことができる。ここでは、アルファベット以外の入力例として、日本語入力を行う場合について図３６〜図４１に基づいて説明する。
【０４４８】
日本語入力を行う場合も、文字入力装置５が行う処理の内容はほぼ同様である。すなわち、日本語入力を行う場合においても、図１３のフローチャートに示す流れで入力候補が決定される。これにより、例えば図３６に示すような入力候補が候補選択キー２５に表示されることになる。
【０４４９】
図３６は、日本語入力を行う場合の入力ウインドウ２０の表示例を示している。図示のように、モード切り換えキー２２が「かな」となっており、文字入力キー２３にはひらがなと句読点が表示されている。また、編集処理キー２４では、Ｃａｐｓキーの代わりに仮名漢字変換を行うための変換キーが表示されている。ここでは、“こ”で始まる単語として、“コントロール”及び“子供”の２単語が予測メモリ４２に登録されていることを想定している。
【０４５０】
なお、日本語入力を行う場合には、このように平仮名、カタカナ、及び漢字等が混在するので、予測メモリ４２には、単語の綴りに加えて単語の読みについても登録が行われている。すなわち、入力済み文字列と登録単語（または登録単語の先頭部分）とが一致した場合に加え、入力済み文字列の読みと登録単語（または登録単語の先頭部分）の読みとが一致した場合にも、入力済み文字列と登録単語とが一致したと判断する。この点では、日本語入力とアルファベット入力とは異なっている。
【０４５１】
図示のように、入力枠２１には、“こ”との文字が入力されているので、上記登録されている“コントロール”及び“子供”が候補選択キー２５に割り当てられて表示される。また、アルファベットと同様に一文字予測も行うことができる。図示の例において、「Ｃ」の候補選択キー２５には、“こ”に続く一文字候補として“は”が表示されている。
【０４５２】
なお、同図では「Ｄ」の候補選択キー２５には、スペースキーを割り当てる例を示しているが、日本語入力を行う場合には、スペースキーを用いる頻度がアルファベット入力時ほど多くないので、他の入力候補を割り当てるようにしてもよい。
【０４５３】
また、日本語入力を行う場合においても、候補選択キー２５に表示された候補文字列のうち、入力候補の文字列のみが入力されるようにすることが好ましい。これについて図３７に基づいて説明する。図３７（ａ）は、“お茶の水”との単語が予測メモリ４２に登録されている状態にて、“お”との文字を入力したときの表示例を示す図である。なお、ここでは、候補選択キー２５に表示可能な最大文字数が、全角文字で３文字であることを想定している。
【０４５４】
同図（ａ）に示すように、“お”との文字を入力することにより、入力枠２１内には、“お”との文字が表示される。“お”との文字は、予測メモリ４２に登録されている“お茶の水”との単語の先頭部分と一致するので、“お茶の水”が入力候補として決定される。
【０４５５】
ここでは、候補選択キー２５に表示可能な最大文字数は３文字であることを想定しているから、全角文字４文字で構成される“お茶の水”の全文字列を表示することはできない。そこで、同図（ａ）に示すように、“お茶の水”の先頭三文字、すなわち“お茶の”を候補選択キー２５に表示する。
【０４５６】
ここで、“お茶の”と表示された候補選択キー２５に入力操作を行うと、入力ウインドウ２０は、同図（ｂ）に示すような状態に切り替わる。すなわち、候補選択キー２５に表示されていた“お茶の”との文字が入力枠２１に入力されると共に、入力済み文字列“お茶の”に続く“水”との文字が、入力済みの“お茶の”との文字列の省略形である“…の”との文字列と併せて表示されている。
【０４５７】
また、日本語入力を行う場合においても、入力済み文字列の長さは全ての候補選択キー２５でそろえることが好ましい。図３８は、“コントロールパネル”及び“コントロールプラス”との単語が予測メモリ４２に格納されている場合に、“コントロール”と入力したときの表示例を示している。
【０４５８】
この場合には、予測メモリ４２に登録されている“コントロールパネル”及び“コントロールプラス”との単語の先頭部分と、入力済み文字列“コントロール”とが一致するので、“コントロールパネル”及び“コントロールプラス”とが入力候補に決定される。これにより、２つの入力候補が決定されるので、残る１つの入力候補として、一文字候補が決定される。ここでは、入力位置の直前２文字である“ール”に続く一文字候補として“セ”が決定されたものとする。
【０４５９】
これにより、３つの入力候補の全てが決定されるが、“コントロールパネル”及び“コントロールプラス”は、何れも候補選択キー２５に表示可能な文字数を超えているので、単語を構成する全文字数を表示することはできない。
【０４６０】
そこで、図示のように“コントロールパネル”及び“コントロールプラス”については、入力済み文字列“コントロール”をその省略形である“…ル”に変換して、候補文字列をそれぞれ“…ルパネル”及び“…ルプラス”と表示する。また、一文字候補“セ”については、入力済み文字列を最大限まで表示する場合には“…トロールセ”との候補文字列となるが、候補選択キー２５に含まれる入力済み文字列の長さが異なっていると、入力済み文字列と入力候補との境界がユーザに認識され難いので、全ての入力候補において、入力済み文字列を“…ル”に統一している。
【０４６１】
また、日本語入力を行う場合においても、アルファベット入力を行う場合と同様に、入力フィールドの文字列を読み込んだときにＣｌｅａｒキーやスペースキーを候補選択キー２５に割り当てる。図３９は、日本語入力を行う場合に、入力フィールドの文字列を読み込んだときの表示例を示す図である。
【０４６２】
ここでは、図３４（ａ）と同様に、キーワードを入力して、該入力したキーワードに関連する情報を、インターネットを介して検索する検索サイトの画面において、検索キーワードを入力するためのテキストボックス５１を入力フィールドにする例を説明する。なお、ここでは図３９（ａ）に示すようにテキストボックス５１には“奈良”との文字列が入力されていることを想定している。
【０４６３】
そして、図３９（ａ）に示すようにテキストボックス５１を入力フィールドに設定したときには、同図（ｂ）に示す入力ウインドウ２０が表示される。図示のように、テキストボックス５１に入力されていた“奈良”との文字列が入力枠２１に表示されている。また、図示のように、候補選択キー２５には、Ｃｌｅａｒキーとスペースキーとが割り当てられている。
【０４６４】
これにより、“奈良”との文字列をワンタッチで消去して別の検索キーワードを入力することもできる。また、ワンタッチで“奈良”との文字列の後にスペースを入力することができるので、検索キーワードの追加も容易に行うことができる。
【０４６５】
また、日本語入力を行う場合においても、アルファベット入力を行う場合と同様に、単語を入力した後で確定操作（Ｄｏｎｅキー操作）を行うことにより、確定操作の直前に入力された単語とＤｏｎｅキーとを対応付けて予測メモリ４２に格納する。これにより、確定操作の直前に入力された単語が入力された場合に、Ｄｏｎｅキーを候補選択キー２５に割り当てることができる。
【０４６６】
図４０は、“太郎”との単語の後に確定操作が行われたことを学習した後で、“佐藤  太郎”との文字列を入力した場合の表示例を示す図である。図示のように、入力枠２１には、“佐藤  太郎”との文字列が表示されていると共に、候補選択キー２５にはＤｏｎｅキーが割り当てられている。これにより、ユーザは“佐藤  太郎”との文字列をワンタッチで確定させることができる。
【０４６７】
また、日本語入力を行う場合には、仮名漢字変換を行うための変換キーを候補選択キー２５に割り当てるようにしてもよい。これについて、図４１に基づいて説明する。図４１は、変換キーを候補選択キー２５に割り当てた場合の表示例を示す図である。
【０４６８】
図示のように、入力枠２１には、“てん”との文字列が入力されている。また、図示のように、候補選択キー２５には、変換キーが割り当てられている。これにより、“てん”との入力済み文字列をワンタッチでカタカナまたは漢字に変換することができる。
【０４６９】
なお、変換キーは、例えば入力位置の直前の２文字が、仮名漢字変換が行われていない場合に、候補選択キー２５に割り当てるようにすればよい。これは、平仮名二文字を漢字にする場合が比較的多いと考えられるためである。もちろん、入力位置の直前の一文字が、仮名漢字変換が行われていない場合に、候補選択キー２５に割り当てるようにしてもよい。
【０４７０】
〔候補選択キー２５に割り当てる機能の例〕
上述の例では、候補選択キー２５にＣａｐｓキー、Ｄｏｎｅキー、Ｃｌｅａｒキー、及び変換キー等の編集用キーを割り当てる例を示したが、これら以外の機能を候補選択キー２５に割り当てるようにしてもよい。
【０４７１】
例えば、図４に示すＱｕｉｔキー、Ｌキー及びＲキー、Ｄｅｌｅｔｅキー、改行キー、及び入力モード切換キー２２の少なくとも１つを必要に応じて候補選択キー２５に割り当てるようにしてもよい。また、ここに挙げたもの以外にも、文字列の入力及び編集に使用する任意の機能を候補選択キー２５に割り当てることができる。
【０４７２】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０４７３】
〔ソフトウェアによる実現方法〕
最後に、文字入力装置５の各ブロック、特に区切り文字判断部３７、第１候補決定部３８、第２候補決定部３９、編集用候補決定部４０、学習部４１、及び入力候補割当部４４は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０４７４】
すなわち、文字入力装置５は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである文字入力装置５の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記文字入力装置５に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０４７５】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０４７６】
また、文字入力装置５を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０４７７】
以上のように、本発明の文字入力装置は、入力位置より前の文字列に基づいて、入力位置に入力する文字列を入力候補として決定すると共に、該決定した入力候補を割り当てた候補選択キーを表示部にユーザが選択可能に表示し、該表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記入力位置に入力する文字入力装置において、文字入力に付随する処理であって、ユーザが利用可能な処理を上記候補選択キーに割り当てる処理候補決定手段を備えていることを特徴としている。
【０４７８】
また、本発明の文字入力制御方法は、入力位置より前の文字列に基づいて、入力位置に入力する文字列を入力候補として決定すると共に、該決定した入力候補を割り当てた候補選択キーを表示部にユーザが選択可能に表示し、該表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記入力位置に入力する文字入力装置の文字入力制御方法において、文字入力に付随する処理であって、ユーザが利用可能な処理を上記候補選択キーに割り当てる処理候補決定ステップを含むことを特徴としている。
【０４７９】
上記の構成によれば、文字列を入力するための入力候補が候補選択キーに割り当てられると共に、文字入力に付随する処理が候補選択キーに割り当てられる。なお、文字入力に付随する処理は、文字列の入力以外の処理であって、入力済み文字列の全消去、一文字消去、改行、確定、入力位置の移動、小文字入力と大文字入力との切り換え（アルファベット入力の場合）、仮名漢字変換（日本語入力の場合）等の処理を含む、文字入力装置で一般的に用いられる処理（機能）である。
【０４８０】
このように、文字入力を行う場合には、単に文字列を入力するのみならず、上記のような様々な処理を行う。従来は、このような処理を、文字列を入力する場合と同様に、各処理が割り当てられた特定の入力キー等を用いて実行させていた。すなわち、従来は、文字入力に付随する処理が特定のキーに固定的に割り当てられていた。
【０４８１】
これに対し、上記本発明の構成によれば、文字入力処理に付随する処理のうち、ユーザが利用可能な処理が候補選択キーに割り当てられる。したがって、本発明の構成によれば、文字入力に付随する処理も候補選択キーを用いて簡単かつ迅速に実行させることができ、これによりユーザは簡単かつ迅速に文字入力を行うことができる。
【０４８２】
なお、ここで、文字列とは、一文字または一続きの複数文字を指す。また、ここでは、文字列に記号及び数字等も含むものとする。
【０４８３】
また、上記文字入力装置は、入力確定処理を行うことによって、編集対象の文字列を記憶する文字列記憶部に記憶されている文字列が自装置の外部に出力されるようになっており、単語と該単語の入力後に実行される上記入力確定処理とを対応付けて記憶する連鎖処理記憶部を備え、上記処理候補決定手段は、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列が、上記連鎖処理記憶部に記憶されている単語と一致した場合に、上記入力確定処理を上記候補選択キーに割り当てることが好ましい。
【０４８４】
上記の構成によれば、入力確定処理を行うことによって、上記文字列記憶部に記憶されている文字列が自装置の外部に出力されるようになっている。なお、自装置の外部とは、文字入力装置によって文字を入力する対象となる入力フィールドである。すなわち、上記の構成によれば、文字入力装置内で文字列が完成された状態にて確定処理が行われ、これにより入力フィールドに上記完成した文字列が入力されるようになっている。
【０４８５】
ここで、文字入力を行う場合には、例えば自分の名前や住所、挨拶文等のように、同じ文字列を繰り返し入力することがある。このような場合に、名前や住所、挨拶文等の文字列を予め記憶し、これらの文字列を入力候補として候補選択キーに割り当てることで入力操作を簡略化することができる。このように、予め記憶した文字列を候補選択キーに割り当てることは、従来から行われていた。
【０４８６】
これに対し、上記本発明の構成によれば、単語を記憶するだけではなく、単語と該単語の入力後に実行される入力確定処理とを対応付けて記憶している。そして、直前文字列が、連鎖処理記憶部に記憶されている単語と一致した場合に、入力確定処理を候補選択キーに割り当てている。
【０４８７】
すなわち、上記本発明の構成によれば、文字列を入力した後の確定処理まで候補選択キーで実行させることが可能になっている。これにより、ユーザは、文字列の入力とその確定処理とを簡単な操作で迅速に行うことができる。
【０４８８】
また、上記処理候補決定手段は、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理を上記候補選択キーに割り当てることが好ましい。
【０４８９】
英字（アルファベット）を入力する場合には、文頭及びスペースまたはピリオドの直後を大文字で入力することがある。そこで、上記の構成では、英字を入力する際に、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、小文字入力と大文字入力との切り換え処理を上記候補選択キーに割り当てている。したがって、ユーザは、小文字入力から大文字入力への変換を、候補選択キーを用いて簡単な操作で迅速に行うことができる。
【０４９０】
また、上記の構成によれば、入力位置が文頭であるか、または入力位置の直前がスペースまたはピリオドである場合に、上記処理を候補選択キーに割り当てるので、それ以外の場合には単語の候補等を候補選択キーに割り当てることが可能になる。
【０４９１】
すなわち、上記の構成によれば、小文字入力と大文字入力との切り換え処理が行われる確度が高いときに候補選択キーに割り当て、それ以外のときには他の入力候補を選択候補キーに割り当てることが可能になるので、候補選択キーを有効に活用することができる。
【０４９２】
また、上記文字入力装置は、文字列を自装置の外部から読み込む文字列読み込み手段を備え、上記処理候補決定手段は、上記文字列読み込み手段が、自装置の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理を上記候補選択キーに割り当てることが好ましい。
【０４９３】
文字列を自装置の外部から読み込むことができれば、読み込んだ文字列を文字入力装置にて加工、編集して再出力することが可能になるので好ましい。しかしながら、読み込んだ文字列を使用しない場合も考えられる。この場合には、ユーザは読み込んだ文字列を消去するという余計な手間をかける必要がある。
【０４９４】
上記の構成によれば、自装置の外部から文字列を読み込んだときに、上記読み込んだ文字列の全消去処理を上記候補選択キーに割り当てている。したがって、上記の構成によれば、読み込んだ文字列を使用しない場合に、上記読み込んだ文字列を、候補選択キーを用いて簡単な操作で迅速に全消去することができる。
【０４９５】
また、本発明の文字入力装置は、入力位置より前の文字列に基づいて、入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを、表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記入力位置に入力する文字入力装置において、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列に基づいて上記入力候補を決定する入力候補決定手段と、所定の文字数の文字列と、該文字列に続けて入力される１文字である一文字候補とを対応付けて予め記憶する一文字候補記憶部と、上記一文字候補記憶部を参照し、上記入力位置の直前の上記所定の文字数の文字列に対応付けて記憶されている一文字候補を入力候補として決定する一文字候補決定手段とを備えていることを特徴としている。
【０４９６】
また、本発明の文字入力制御方法は、入力位置より前の文字列に基づいて、入力位置に入力する文字列の候補である入力候補を割り当てた候補選択キーを、表示部にユーザが選択可能に表示し、上記表示された候補選択キーが選択された場合に、該選択された候補選択キーに割り当てられた入力候補の文字列を上記入力位置に入力する文字入力装置の文字入力制御方法において、上記入力位置の直前の文字を末尾とし、区切り文字を含まない一続きの文字列である直前文字列に基づいて上記入力候補を決定する入力候補決定ステップと、所定の文字数の文字列と、該文字列に続けて入力される１文字である一文字候補とを対応付けて予め記憶する一文字候補記憶部を参照し、上記入力位置の直前の上記所定の文字数の文字列に対応付けて記憶されている一文字候補を入力候補として決定する一文字候補決定ステップとを含むことを特徴としている。
【０４９７】
ここで、直前文字列に基づいて入力候補を決定する場合には、直前文字列と予め記憶している単語の少なくとも一部とが一致する必要がある。言い換えれば、直前文字列と少なくとも一部が一致する単語を予め記憶していなければ入力候補は決定されない。また、直前文字列と予め記憶している単語の少なくとも一部とが一致した場合であっても、該一致した単語がユーザの入力しようとする単語と異なっていた場合には、候補選択キーは使用されない。
【０４９８】
そこで、上記の構成によれば、直前文字列に基づいて入力候補を決定すると共に、入力位置の直前の文字列であって所定の文字数の文字列に対応付けて記憶されている一文字候補を入力候補として決定している。
【０４９９】
一文字候補は、所定の文字数の文字列に対応付けて記憶されている一文字であるから、任意の文字の組み合わせに対して一文字候補を用意しておくことができる。すなわち、一文字候補であれば、入力位置の直前の文字列がどのような文字列であっても入力候補として決定することができる。
【０５００】
したがって、上記の構成によれば、直前文字列が予め記憶している単語と一致しない場合であっても入力候補を候補選択キーに割り当てることができ、また予め記憶している単語がユーザの入力したい単語と異なっている場合であっても、ユーザの文字入力の一助となる一文字候補を候補選択キーに割り当てることができる。その結果、ユーザの所望の文字列を、候補選択キーを用いて簡単な操作で迅速に入力することができる。
【０５０１】
また、上記文字入力装置は、上記表示部に表示させた各文字に対応する文字入力キーを、隣接する文字入力キーの間でフォーカスを移動させながら選択することによって上記入力位置への文字の入力がなされるようになっており、上記一文字候補決定手段は、上記一文字候補を入力候補として決定する場合には、上記表示部において、フォーカスされている文字入力キーの位置から遠い文字入力キーに対応する文字の一文字候補を優先して入力候補とすることが好ましい。
【０５０２】
上記文字入力装置には、様々な文字入力方法を採用することができるが、例えば表示部に文字入力キーを表示させ、隣接する文字入力キーの間でフォーカスを移動させながら選択することによって文字入力を行う構成とすることができる。この場合には、フォーカス位置から近い文字を入力する場合にはあまり手数はかからないが、遠い文字ほど入力に手数がかかることになる。すなわち、ここで、フォーカスされている文字入力キーの位置から遠い文字入力キーとは、該文字入力キーの文字を選択するために必要な手数（操作数）が多い文字入力キーということを指す。
【０５０３】
そこで、上記の構成によれば、フォーカスされている文字入力キーの位置から遠い文字入力キーに対応する文字の一文字候補を優先して入力候補としている。これにより、次にユーザが入力する文字がフォーカス位置の近くである場合には操作の手数は少なくて済み、フォーカス位置から遠い文字を入力する場合にも候補選択キーを用いることによってユーザ操作の手数が少なくて済む。
【産業上の利用可能性】
【０５０４】
本発明の文字入力装置によれば、入力状況に応じた適切な入力候補が候補選択キーに割り当てられるので、ユーザは文字入力を容易かつ迅速に行うことができる。したがって、本発明の文字入力装置は、テレビとパーソナルコンピュータとを接続した上記画像表示システムに限らず、テレビやオーディオ機器等、文字入力を行う様々な電子機器に適用することができる。特に、本発明の文字入力装置は、入力ウインドウに表示可能な情報量が限られている場合にも適切な入力候補を割り当てることができるので、携帯電話機や携帯型音楽プレイヤー等に好適に適用することができる。
【符号の説明】
【０５０５】
１    画像表示システム
２    表示装置
３    情報処理装置
４    遠隔操作装置
５    文字入力装置
６    通信装置
１１    決定ボタン
１２    方向ボタン
１３    Ｅｘｉｔボタン
１４    ＲＥＴＵＲＮボタン
１５    候補決定ボタン
２０    入力ウインドウ
２１    入力枠
２２    入力モード切り換えキー
２３    文字入力キー
２４    編集処理キー
２５    候補選択キー
２６    フォーカス
３０    入力ウインドウ表示制御部
３１    操作取得部
３２    文字列表示制御部
３３    文字列読み込み部（文字列読み込み手段）
３４    入力候補表示制御部
３５    文字列更新部
３６    文字列編集用メモリ
３７    区切り文字判断部（区切り文字判断手段）
３８    第１候補決定部（処理候補決定手段、第１候補決定手段）
３９    第２候補決定部（処理候補決定手段、一文字候補決定手段、第２候補決定手段）
４０    編集用候補決定部（処理候補決定手段、編集用候補決定手段）
４１    学習部（学習手段）
４２    予測メモリ（連鎖処理記憶部、単語記憶部、連鎖区切り文字記憶部、連鎖単語記憶部）
４３    一文字予測メモリ（一文字候補記憶部）
４４    入力候補割当部（入力候補割当手段）
【図１】
0005236575.tif 000002
【図２】
0005236575.tif 000003
【図３】
0005236575.tif 000004
【図４】
0005236575.tif 000005
【図５】
0005236575.tif 000006
【図６】
0005236575.tif 000007
【図７】
0005236575.tif 000008
【図８】
0005236575.tif 000009
【図９】
0005236575.tif 000010
【図１０】
0005236575.tif 000011
【図１１】
0005236575.tif 000012
【図１２】
0005236575.tif 000013
【図１３】
0005236575.tif 000014
【図１４】
0005236575.tif 000015
【図１５】
0005236575.tif 000016
【図１６】
0005236575.tif 000017
【図１７】
0005236575.tif 000018
【図１８】
0005236575.tif 000019
【図１９】
0005236575.tif 000020
【図２０】
0005236575.tif 000021
【図２１】
0005236575.tif 000022
【図２２】
0005236575.tif 000023
【図２３】
0005236575.tif 000024
【図２４】
0005236575.tif 000025
【図２５】
0005236575.tif 000026
【図２６】
0005236575.tif 000027
【図２７】
0005236575.tif 000028
【図２８】
0005236575.tif 000029
【図２９】
0005236575.tif 000030
【図３０】
0005236575.tif 000031
【図３１】
0005236575.tif 000032
【図３２】
0005236575.tif 000033
【図３３】
0005236575.tif 000034
【図３４】
0005236575.tif 000035
【図３５】
0005236575.tif 000036
【図３６】
0005236575.tif 000037
【図３７】
0005236575.tif 000038
【図３８】
0005236575.tif 000039
【図３９】
0005236575.tif 000040
【図４０】
0005236575.tif 000041
【図４１】
0005236575.tif 000042