(57)【要約】  複数の文字キーが配置された文字キーレイアウト表示（５０１）を用いた、ユーザによる文字入力操作の情報を取得する操作入力部（１５０）と、複数の候補文字列を保持する辞書（１７０）を格納する辞書格納部（１５５）と、文字入力操作の情報から、文字キーレイアウト表示（５０１）における、文字入力操作の位置を示す指示位置（５２１）と、文字入力操作の移動方向を示す指示方向（５２２）とを検出する指示移動検出部（１５２）と、文字キーレイアウト表示（５０１）における、指示位置（５２１）を基点として指示方向（５２２）側に位置する文字範囲（５２３）を決定するフィルタ生成部（１０１）と、辞書（１７０）に保持される複数の候補文字列のうち、文字範囲（５２３）に含まれる文字のいずれかを含む予測文字列を検索する辞書検索部（１５６）とを備える。
2012132291.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得する第１操作入力部と、
複数の候補文字列を保持する辞書を格納する辞書格納部と、
前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトを格納する文字キーレイアウト管理部と、
前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す第１指示位置と、前記第１文字入力操作の移動方向を示す第１指示方向とを検出する第１指示移動検出部と、
前記第１指示位置と前記第１指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１文字範囲を決定するフィルタ生成部と、
前記辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索する辞書検索部とを備える
文字入力予測装置。
【請求項２】
前記文字入力予測装置は、さらに、
前記第１文字入力操作により入力された入力文字の情報を取得する文字入力部と、
入力された順に前記入力文字を並べた入力文字列を生成する文字列生成部とを備え、
前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、前記入力文字列の直後に前記第１文字範囲に含まれる文字のいずれかを加えた文字列が、文字列の先頭に含まれる予測文字列を検索する
請求項１に記載の文字入力予測装置。
【請求項３】
前記文字入力予測装置は、さらに、
指示起点を保持する指示位置格納部を備え、
前記第１指示移動検出部は、
前記第１指示位置を所定の時間ごとに検出し、
前記指示起点が前記第１指示位置格納部に保持されていない場合、取得した前記第１指示位置を前記指示起点として、前記指示位置格納部に保持させ、
前記指示起点を起点として、新たに取得した指示位置の方向を前記移動方向として検出する
請求項２に記載の文字入力予測装置。
【請求項４】
前記第１指示移動検出部は、前記第１文字入力操作により文字が入力された場合、当該文字に対応する文字キーの位置を前記指示起点として、前記指示位置格納部に保持させる
請求項３に記載の文字入力予測装置。
【請求項５】
前記第１操作入力部は、文字入力操作の移動方向が垂直方向及び水平方向に限定されている入力装置を介して入力された文字入力操作の情報を取得する
請求項１に記載の文字入力予測装置。
【請求項６】
前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、
前記文字入力予測装置は、さらに、
前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、
前記第１指示移動検出部は、前記指示位置格納部が保持する複数の指示位置を用いて前記第１指示方向を算出する
請求項１又は２に記載の文字入力予測装置。
【請求項７】
前記フィルタ生成部は、前記文字入力操作が、前記指示起点から、前記指示起点に対して第１方向に位置する第１指示位置に移動したのち、当該第１指示位置から、当該第１指示位置に対して前記第１方向と反対の第２方向に位置する第２指示位置に移動した場合、前記指示起点と前記第２指示位置との間の範囲を前記第１文字範囲と判定する
請求項３又は４に記載の文字入力予測装置。
【請求項８】
前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、
前記文字入力予測装置は、さらに、
前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、
前記第１指示移動検出部は、さらに、前記複数の指示位置から前記第１文字入力操作の移動速度を算出し、
前記フィルタ生成部は、前記移動速度が第１速度以上の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１の大きさの範囲を前記第１文字範囲として決定し、前記移動速度が前記第１速度未満の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する、前記第１の大きさより小さい第２の範囲を前記第１文字範囲として決定する
請求項１又は２に記載の文字入力予測装置。
【請求項９】
前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、
前記文字入力予測装置は、さらに、
前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、
前記第１指示移動検出部は、さらに、前記複数の指示位置から前記第１文字入力操作の移動速度を算出し、
前記フィルタ生成部は、前記移動速度が第２速度未満の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１の大きさの範囲を前記第１文字範囲として決定し、前記移動速度が前記第２速度以上の場合、前記第１の大きさの範囲から、当該第１の大きさの範囲に含まれる前記第１指示位置側の範囲を除外した第２の範囲を前記第１文字範囲として決定する
請求項１又は２に記載の文字入力予測装置。
【請求項１０】
前記第１指示移動検出部は、前記第１文字入力操作の移動角度であり、前記第１指示方向を細分化した指示角度を算出し、
前記フィルタ生成部は、前記第１指示方向ごとに定められた基準範囲から、前記指示角度ごとに定められた削除範囲を除外することにより、前記第１文字範囲を判定する
請求項１又は２に記載の文字入力予測装置。
【請求項１１】
前記文字入力予測装置は、さらに、
前記文字キーレイアウト表示を用いた、ユーザによる第２文字入力操作の情報を取得する第２操作入力部と、
前記第２文字入力操作の情報から、前記文字キーレイアウト表示における、前記第２文字入力操作の位置を示す第２指示位置と、前記第２文字入力操作の移動方向を示す第２指示方向とを検出する第２指示移動検出部と、
前記第２指示位置と前記第２指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第２指示位置を基点として前記第２指示方向側に位置する第２文字範囲を判定するフィルタ生成部と、
前記第１文字範囲及び前記第２文字範囲に共に含まれる第３文字範囲を抽出するフィルタ合成部とを備え、
前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、前記第３文字範囲に含まれる文字のいずれかを含む予測文字列を検索する
請求項１に記載の文字入力予測装置。
【請求項１２】
前記フィルタ生成部は、さらに、前記第１文字入力操作が移動し、かつ、前記第２文字入力操作の移動量が予め定められた閾値以下の場合、前記第１文字範囲に含まれ、かつ、前記第２指示位置を基点として前記第１指示位置側の範囲を前記第３文字範囲に決定する
請求項１１に記載の文字入力予測装置。
【請求項１３】
前記フィルタ生成部は、さらに、前記第１文字入力操作が移動し、かつ、前記第２文字入力操作の移動量が予め定められた閾値以下の場合、前記第１文字範囲に含まれ、かつ、基準点を基点として前記第１指示位置側の範囲を前記第３文字範囲に決定し、
前記基準点は、前記第１指示位置と前記第２指示位置との間の点である
請求項１１に記載の文字入力予測装置。
【請求項１４】
前記フィルタ生成部は、さらに、
前記第２文字入力操作より前記第１文字入力操作の移動量が大きい場合、前記第１文字範囲を前記第３文字範囲に決定し、
前記第１文字入力操作より前記第２文字入力操作の移動量が大きい場合、前記第２文字範囲を前記第３文字範囲に決定する
請求項１１に記載の文字入力予測装置。
【請求項１５】
前記第１フィルタ生成部は、
所定の時間ごとに前記第１文字範囲を決定するとともに、古い第１文字範囲と新たな第１文字範囲との変化量を範囲し、
前記変化量が予め定められた閾値以上の場合に、第１文字範囲を前記新たな第１文字範囲に更新し、
前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、更新された前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索する
請求項１〜１４のいずれか１項に記載の文字入力予測装置。
【請求項１６】
前記文字入力予測装置は、前記第１文字範囲を前記文字キーレイアウト表示上に表示する
請求項１５に記載の文字入力予測装置。
【請求項１７】
前記文字入力予測装置は、前記辞書検索部により検索された、前記第１文字範囲に含まれる文字のいずれかを含む前記予測文字列を表示する
請求項１５に記載の文字入力予測装置。
【請求項１８】
複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得するステップと、
前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す指示位置と、前記文字入力操作の移動方向を示す指示方向とを検出するステップと、
前記指示位置と、前記指示方向と、前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記指示位置を基点として前記指示方向側に位置する文字範囲を決定するステップと、
辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索するステップとを含む
文字入力予測方法。
【請求項１９】
請求項１８に記載の文字入力予測方法をコンピュータに実行させるための
プログラム。
【請求項２０】
請求項１９に記載のプログラムが格納されている
記録媒体。
【請求項２１】
複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得する第１操作入力部と、
複数の候補文字列を保持する辞書を格納する辞書格納部と、
前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトを格納する文字キーレイアウト管理部と、
前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す第１指示位置と、前記第１文字入力操作の移動方向を示す第１指示方向とを検出する第１指示移動検出部と、
前記第１指示位置と前記第１指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１文字範囲を決定するフィルタ生成部と、
前記辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索する辞書検索部とを備える
集積回路。
【請求項２２】
請求項１〜１７のいずれか１項に記載の文字入力予測装置と、
前記第１文字入力操作が入力される入力装置とを備える
文字入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字入力予測装置、文字入力予測方法及び文字入力システムに関し、特に、ユーザが入力する文字列を予測する文字入力予測装置に関するものである。
【背景技術】
【０００２】
従来の文字列入力効率を向上させる予測候補の制御方法として、例えば、特許文献１記載の文字列予測方法がある。当該方法は、文字キーに、予め設定された条件で複数の文字を割り当てる。そして、当該方法は、既に入力されている文字列と、文字キーに設定された文字とのそれぞれを組み合わせて文字列を作る。次に、当該方法は、各文字列を先頭部分に持つ読みの文字列を単語辞書から検索することで、対応する文字列から予測文字列を生成する。さらに、当該方法は、ある定められた手順により、複数の予測文字列の表示順を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１４９５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような文字入力予測装置では、より高速に予測文字列を絞り込むことが求められている。【０００５】
本発明は、上記従来の課題を解決するもので、高速に予測文字列を絞り込むことができる文字入力予測装置及び文字入力予測方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記従来の課題を解決するために、本発明の一形態に係る文字入力予測装置は、複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得する第１操作入力部と、複数の候補文字列を保持する辞書を格納する辞書格納部と、前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトを格納する文字キーレイアウト管理部と、前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す第１指示位置と、前記第１文字入力操作の移動方向を示す第１指示方向とを検出する第１指示移動検出部と、前記第１指示位置と前記第１指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１文字範囲を決定するフィルタ生成部と、前記辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索する辞書検索部とを備える。【０００７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
以上より、本発明は、高速に予測文字列を絞り込むことができる文字入力予測装置及び文字入力予測方法を提供できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態１に係る文字入力予測装置のブロック図である。
【図２】図２は、本発明の実施の形態１に係る文字入力予測処理のフローチャートである。
【図３】図３は、本発明の実施の形態１に係る文字入力予測装置のブロック図である。
【図４】図４は、本発明の実施の形態１に係る文字キーレイアウトの構成を示す図である。
【図５Ａ】図５Ａは、本発明の実施の形態１に係る文字入力予測装置の動作例を示す図である。
【図５Ｂ】図５Ｂは、本発明の実施の形態１に係る指示位置の一例を示す図である。
【図６】図６は、本発明の実施の形態１に係る文字範囲定義の構成を示す図である。
【図７】図７は、本発明の実施の形態１に係る文字キーレイアウトの構成を示す図である。
【図８Ａ】図８Ａは、本発明の実施の形態１に係る文字入力予測装置の動作例を示す図である。
【図８Ｂ】図８Ｂは、本発明の実施の形態１に係る指示位置の一例を示す図である。
【図９】図９は、本発明の実施の形態１に係る文字キーレイアウトの一例を示す図である。
【図１０】図１０は、本発明の実施の形態２に係る文字入力予測装置のブロック図である。
【図１１Ａ】図１１Ａは、本発明の実施の形態２に係る文字入力予測装置の動作例を示す図である。
【図１１Ｂ】図１１Ｂは、本発明の実施の形態２に係る指示位置の一例を示す図である。
【図１１Ｃ】図１１Ｃは、本発明の実施の形態２に係る指示起点の一例を示す図である。
【図１２】図１２は、本発明の実施の形態２に係る文字範囲定義の構成を示す図である。
【図１３】図１３は、本発明の実施の形態２に係る文字入力予測処理のフローチャートである。
【図１４Ａ】図１４Ａは、本発明の実施の形態３に係る文字入力予測装置の動作例を示す図である。
【図１４Ｂ】図１４Ｂは、本発明の実施の形態３に係る指示位置の一例を示す図である。
【図１４Ｃ】図１４Ｃは、本発明の実施の形態３に係る指示起点の一例を示す図である。
【図１５】図１５は、本発明の実施の形態３に係る文字入力予測処理のフローチャートである。
【図１６Ａ】図１６Ａは、本発明の実施の形態４に係る文字入力予測装置の動作例を示す図である。
【図１６Ｂ】図１６Ｂは、本発明の実施の形態４に係る指示位置の一例を示す図である。
【図１６Ｃ】図１６Ｃは、本発明の実施の形態４に係る指示起点の一例を示す図である。
【図１７Ａ】図１７Ａは、本発明の実施の形態５に係る文字入力予測装置の動作例を示す図である。
【図１７Ｂ】図１７Ｂは、本発明の実施の形態５に係る指示位置の一例を示す図である。
【図１８Ａ】図１８Ａは、本発明の実施の形態６に係る文字入力予測装置の動作例を示す図である。
【図１８Ｂ】図１８Ｂは、本発明の実施の形態６に係る指示位置の一例を示す図である。
【図１８Ｃ】図１８Ｃは、本発明の実施の形態６に係る指示起点の一例を示す図である。
【図１９】図１９は、本発明の実施の形態６に係る文字範囲定義の構成を示す図である。
【図２０Ａ】図２０Ａは、本発明の実施の形態７に係る文字入力予測装置の動作例を示す図である。
【図２０Ｂ】図２０Ｂは、本発明の実施の形態７に係る指示位置の一例を示す図である。
【図２１】図２１は、本発明の実施の形態７に係る文字入力予測装置の動作例を示す図である。
【図２２】図２２は、本発明の実施の形態７に係る文字範囲定義の構成を示す図である。
【図２３Ａ】図２３Ａは、本発明の実施の形態８に係る文字入力予測装置の動作例を示す図である。
【図２３Ｂ】図２３Ｂは、本発明の実施の形態８に係る指示位置の一例を示す図である。
【図２４】図２４は、本発明の実施の形態８に係る文字範囲定義の構成を示す図である。
【図２５Ａ】図２５Ａは、本発明の実施の形態８に係る文字入力予測装置の動作例を示す図である。
【図２５Ｂ】図２５Ｂは、本発明の実施の形態８に係る指示位置の一例を示す図である。
【図２６Ａ】図２６Ａは、本発明の実施の形態８に係る文字入力予測装置の動作例を示す図である。
【図２６Ｂ】図２６Ｂは、本発明の実施の形態８に係る指示位置の一例を示す図である。
【図２７Ａ】図２７Ａは、本発明の実施の形態９に係る文字入力予測装置の動作例を示す図である。
【図２７Ｂ】図２７Ｂは、本発明の実施の形態９に係る指示位置の一例を示す図である。
【図２７Ｃ】図２７Ｃは、本発明の実施の形態９に係る入力文字位置の一例を示す図である。
【図２８】図２８は、本発明の実施の形態９に係る文字入力予測装置の表示例を示す図である。
【図２９】図２９は、本発明の実施の形態９に係る辞書に保持されている文字列の一例を示す図である。
【図３０】図３０は、本発明の実施の形態９に係る表示エリアの一例を示す図である。
【図３１】図３１は、本発明の実施の形態９に係る表示エリアの一例を示す図である。
【図３２】図３２は、本発明の実施の形態９に係る表示エリアの一例を示す図である。
【図３３】図３３は、本発明の実施の形態９に係る表示エリアの一例を示す図である。
【図３４】図３４は、本発明の実施の形態１０に係る入力装置を示す図である。
【図３５】図３５は、本発明の実施の形態１０に係る文字入力予測装置のブロック図である。
【図３６Ａ】図３６Ａは、本発明の実施の形態１０に係る文字入力予測装置の動作例を示す図である。
【図３６Ｂ】図３６Ｂは、本発明の実施の形態１０に係る指示位置の一例を示す図である。
【図３６Ｃ】図３６Ｃは、本発明の実施の形態１０に係る指示位置の一例を示す図である。
【図３７Ａ】図３７Ａは、本発明の実施の形態１１に係る文字入力予測装置の動作例を示す図である。
【図３７Ｂ】図３７Ｂは、本発明の実施の形態１１に係る指示位置の一例を示す図である。
【図３７Ｃ】図３７Ｃは、本発明の実施の形態１１に係る指示位置の一例を示す図である。
【図３８Ａ】図３８Ａは、本発明の実施の形態１２に係る文字入力予測装置の動作例を示す図である。
【図３８Ｂ】図３８Ｂは、本発明の実施の形態１２に係る指示位置の一例を示す図である。
【図３８Ｃ】図３８Ｃは、本発明の実施の形態１２に係る指示位置の一例を示す図である。
【図３９Ａ】図３９Ａは、本発明の実施の形態１３に係る文字入力予測装置の動作例を示す図である。
【図３９Ｂ】図３９Ｂは、本発明の実施の形態１３に係る指示位置の一例を示す図である。
【図３９Ｃ】図３９Ｃは、本発明の実施の形態１３に係る指示位置の一例を示す図である。
【図４０】図４０は、文字入力予測装置のブロック図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
本発明者は、以下の課題を見出した。
【００１１】
図４０は、本発明を適用していない文字列予測装置を示すブロック図である。
【００１２】
図４０に示す文字入力予測装置９００は、文字が入力される文字入力部９５３と、入力された文字から文字列を生成する文字列生成部９５４と、複数の候補文字列を保持する辞書を格納する辞書格納部９５５と、文字列生成部９５４で生成された文字列に基づいて予測文字列を辞書から検索する辞書検索部９５６と、予測文字列の出力順及び出力先の表示方法を管理する出力文字列バッファ部９５７と、予測文字列を表示装置に出力する出力部９６１とを備える。
【００１３】
しかしながら、この構成は、文字が入力された時点で単語辞書等を検索し、入力順で構成された文字で始まる文字列（単語）を抽出する。ただし、予測文字列が多い場合には、ユーザは求めている入力文字列を見つけ出すことに手間取ることがあった。つまり、このような文字入力予測装置では、より高速に予測文字列を絞り込むことが求められている。
【００１４】
本発明は、上記課題を解決するもので、高速に予測文字列を絞り込むことができる文字入力予測装置及び文字入力予測方法を提供することを目的とする。
【００１５】
前記課題を解決するために、本発明の一形態に係る文字入力予測装置は、複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得する第１操作入力部と、複数の候補文字列を保持する辞書を格納する辞書格納部と、前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトを格納する文字キーレイアウト管理部と、前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す第１指示位置と、前記第１文字入力操作の移動方向を示す第１指示方向とを検出する第１指示移動検出部と、前記第１指示位置と前記第１指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１文字範囲を決定するフィルタ生成部と、前記辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索する辞書検索部とを備える。
【００１６】
この構成によれば、本発明の一形態に係る文字入力予測装置は、ユーザによる文字入力操作の移動方向に応じて、入力される文字範囲を絞り込み、当該文字範囲に含まれる文字を含む予測文字列を検索する。これにより、当該文字入力予測装置は、ユーザが文字を入力し終わる前に、予測文字列を絞り込むことができるので、高速に予測文字列を絞り込むことができる。
【００１７】
また、前記文字入力予測装置は、さらに、前記第１文字入力操作により入力された入力文字の情報を取得する文字入力部と、入力された順に前記入力文字を並べた入力文字列を生成する文字列生成部とを備え、前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、前記入力文字列の直後に前記第１文字範囲に含まれる文字のいずれかを加えた文字列が、文字列の先頭に含まれる予測文字列を検索してもよい。
【００１８】
また、前記文字入力予測装置は、さらに、指示起点を保持する指示位置格納部を備え、前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、前記指示起点が前記第１指示位置格納部に保持されていない場合、取得した前記第１指示位置を前記指示起点として、前記指示位置格納部に保持させ、前記指示起点を起点として、新たに取得した指示位置の方向を前記移動方向として検出してもよい。
【００１９】
この構成によれば、本発明の一形態に係る文字入力予測装置は、指示起点を用いて指示方向を検出できる。
【００２０】
また、前記第１指示移動検出部は、前記第１文字入力操作により文字が入力された場合、当該文字に対応する文字キーの位置を前記指示起点として、前記指示位置格納部に保持させてもよい。
【００２１】
この構成によれば、本発明の一形態に係る文字入力予測装置は、入力された文字キーの位置を基準として指示方向を判定できるので、より適切な指示方向を検出できる。
【００２２】
また、前記第１操作入力部は、文字入力操作の移動方向が垂直方向及び水平方向に限定されている入力装置を介して入力された文字入力操作の情報を取得してもよい。
【００２３】
この構成によれば、本発明の一形態に係る文字入力予測装置は、十字キー等の入力装置を用いる場合にも対応できる。
【００２４】
また、前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、前記文字入力予測装置は、さらに、前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、前記第１指示移動検出部は、前記指示位置格納部が保持する複数の指示位置を用いて前記第１指示方向を算出してもよい。
【００２５】
この構成によれば、本発明の一形態に係る文字入力予測装置は、複数の指示位置を用いて指示方向を検出できる。
【００２６】
また、前記フィルタ生成部は、前記文字入力操作が、前記指示起点から、前記指示起点に対して第１方向に位置する第１指示位置に移動したのち、当該第１指示位置から、当該第１指示位置に対して前記第１方向と反対の第２方向に位置する第２指示位置に移動した場合、前記指示起点と前記第２指示位置との間の範囲を前記第１文字範囲と判定してもよい。
【００２７】
この構成によれば、本発明の一形態に係る文字入力予測装置は、指示位置が行って戻ってくるような操作が行われた場合にも、適切な文字範囲を判定できる。
【００２８】
また、前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、前記文字入力予測装置は、さらに、前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、前記第１指示移動検出部は、さらに、前記複数の指示位置から前記第１文字入力操作の移動速度を算出し、前記フィルタ生成部は、前記移動速度が第１速度以上の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１の大きさの範囲を前記第１文字範囲として決定し、前記移動速度が前記第１速度未満の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する、前記第１の大きさより小さい第２の範囲を前記第１文字範囲として決定してもよい。
【００２９】
この構成によれば、本発明の一形態に係る文字入力予測装置は、文字入力操作の移動速度を用いて、より適切な文字範囲を判定できる。
【００３０】
また、前記第１指示移動検出部は、前記第１指示位置を所定の時間ごとに検出し、前記文字入力予測装置は、さらに、前記第１指示移動検出部で検出された複数の指示位置を保持する指示位置格納部を備え、前記第１指示移動検出部は、さらに、前記複数の指示位置から前記第１文字入力操作の移動速度を算出し、前記フィルタ生成部は、前記移動速度が第２速度未満の場合、前記文字キーレイアウト表示における、前記第１指示位置を基点として前記第１指示方向側に位置する第１の大きさの範囲を前記第１文字範囲として決定し、前記移動速度が前記第２速度以上の場合、前記第１の大きさの範囲から、当該第１の大きさの範囲に含まれる前記第１指示位置側の範囲を除外した第２の範囲を前記第１文字範囲として決定してもよい。
【００３１】
この構成によれば、本発明の一形態に係る文字入力予測装置は、文字入力操作の移動速度を用いて、より適切な文字範囲を判定できる。
【００３２】
また、前記第１指示移動検出部は、前記第１文字入力操作の移動角度であり、前記第１指示方向を細分化した指示角度を算出し、前記フィルタ生成部は、前記第１指示方向ごとに定められた基準範囲から、前記指示角度ごとに定められた削除範囲を除外することにより、前記第１文字範囲を判定してもよい。
【００３３】
この構成によれば、本発明の一形態に係る文字入力予測装置は、文字入力操作の移動角度を用いて、より適切な文字範囲を判定できる。
【００３４】
また、前記文字入力予測装置は、さらに、前記文字キーレイアウト表示を用いた、ユーザによる第２文字入力操作の情報を取得する第２操作入力部と、前記第２文字入力操作の情報から、前記文字キーレイアウト表示における、前記第２文字入力操作の位置を示す第２指示位置と、前記第２文字入力操作の移動方向を示す第２指示方向とを検出する第２指示移動検出部と、前記第２指示位置と前記第２指示方向と前記文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記第２指示位置を基点として前記第２指示方向側に位置する第２文字範囲を判定するフィルタ生成部と、前記第１文字範囲及び前記第２文字範囲に共に含まれる第３文字範囲を抽出するフィルタ合成部とを備え、前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、前記第３文字範囲に含まれる文字のいずれかを含む予測文字列を検索してもよい。
【００３５】
この構成によれば、本発明の一形態に係る文字入力予測装置は、２つの文字入力操作を用いる場合に、高速に予測文字列を絞り込むことができる。
【００３６】
また、前記フィルタ生成部は、さらに、前記第１文字入力操作が移動し、かつ、前記第２文字入力操作の移動量が予め定められた閾値以下の場合、前記第１文字範囲に含まれ、かつ、前記第２指示位置を基点として前記第１指示位置側の範囲を前記第３文字範囲に決定してもよい。
【００３７】
この構成によれば、本発明の一形態に係る文字入力予測装置は、２つの文字入力操作の一方のみが移動している場合に、より適切な文字範囲を範囲できる。
【００３８】
また、前記フィルタ生成部は、さらに、前記第１文字入力操作が移動し、かつ、前記第２文字入力操作の移動量が予め定められた閾値以下の場合、前記第１文字範囲に含まれ、かつ、基準点を基点として前記第１指示位置側の範囲を前記第３文字範囲に決定し、前記基準点は、前記第１指示位置と前記第２指示位置との間の点であってもよい。
【００３９】
この構成によれば、本発明の一形態に係る文字入力予測装置は、２つの文字入力操作の一方のみが移動している場合に、より適切な文字範囲を範囲できる。
【００４０】
また、前記フィルタ生成部は、さらに、前記第２文字入力操作より前記第１文字入力操作の移動量が大きい場合、前記第１文字範囲を前記第３文字範囲に決定し、前記第１文字入力操作より前記第２文字入力操作の移動量が大きい場合、前記第２文字範囲を前記第３文字範囲に決定してもよい。
【００４１】
この構成によれば、本発明の一形態に係る文字入力予測装置は、２つの文字入力操作が逆方向に移動している場合に、より適切な文字範囲を範囲できる。
【００４２】
また、前記第１フィルタ生成部は、所定の時間ごとに前記第１文字範囲を決定するとともに、古い第１文字範囲と新たな第１文字範囲との変化量を範囲し、前記変化量が予め定められた閾値以上の場合に、第１文字範囲を前記新たな第１文字範囲に更新し、前記辞書検索部は、前記辞書に保持される複数の候補文字列のうち、更新された前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索してもよい。
【００４３】
この構成によれば、本発明の一形態に係る文字入力予測装置は、予測結果が大きく変化する場合にのみ、予測結果の表示等を更新することで、予測結果の表示等が頻繁に更新されることを防止できる。
【００４４】
また、前記文字入力予測装置は、前記第１文字範囲を前記文字キーレイアウト表示上に表示してもよい。
【００４５】
この構成によれば、本発明の一形態に係る文字入力予測装置は、予測した文字範囲をユーザに明示できる。
【００４６】
また、前記文字入力予測装置は、前記辞書検索部により検索された、前記第１文字範囲に含まれる文字のいずれかを含む前記予測文字列を表示してもよい。
【００４７】
この構成によれば、本発明の一形態に係る文字入力予測装置は、予測した文字を含む予測文字列をユーザに強調して表示できる。
【００４８】
なお、本発明は、このような文字入力予測装置として実現できるだけでなく、文字入力予測装置に含まれる特徴的な手段をステップとする文字入力予測方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の非一時的なコンピュータ読み取り可能な記録媒体、及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【００４９】
さらに、本発明は、このような文字入力予測装置の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現したり、このような文字入力予測装置を含む文字入力システムとして実現したりできる。
【００５０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲によって特定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
【００５１】
（実施の形態１）
本発明の実施の形態１に係る文字入力予測装置は、ユーザによる文字入力操作の移動方向に応じて、入力される文字範囲を絞り込み、当該文字範囲に含まれる文字を含む予測文字列を検索する。これにより、当該文字入力予測装置は、ユーザが次の文字を入力し終わる前に、予測文字列を絞り込むことができるので、高速に予測文字列を絞り込むことができる。
【００５２】
具体的には、当該文字入力予測装置は、文字入力操作の移動方向に含まれる文字キーレイアウトに割り当てた文字を使用して予測文字列を生成する。
【００５３】
なお、本発明の実施の形態１では、文字入力操作の位置を示す指示位置１点と、文字入力操作の移動方向を示す指示方向１方向とから、ユーザが入力する文字範囲１点を予測する場合の例を示す。
【００５４】
まず、本発明の実施の形態１に係る文字入力予測装置の基本構成を説明する。
【００５５】
図１は、本発明の実施の形態１に係る文字入力予測装置１００の基本構成を示すブロック図である。
【００５６】
図１に示す文字入力予測装置１００は、ユーザが文字を入力する前にユーザが入力する文字範囲を予測し、予測結果に応じて予測文字列を出力する。
【００５７】
この文字入力予測装置１００は、フィルタ生成部１０１と、操作入力部１５０と、文字キーレイアウト管理部１５１と、指示移動検出部１５２と、辞書格納部１５５と、辞書検索部１５６とを備える。
【００５８】
操作入力部１５０は、複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる文字入力操作の情報である文字入力操作情報を取得する。
【００５９】
辞書格納部１５５は、複数の候補文字列を保持する辞書１７０を格納する。
【００６０】
文字キーレイアウト管理部１５１は、文字キーレイアウト表示における複数の文字キーの配置を示す文字キーレイアウト３０１を格納する。
【００６１】
指示移動検出部１５２は、操作入力部１５０により取得された文字入力操作情報から、文字キーレイアウト表示における、文字入力操作の位置を示す指示位置５２１と、文字入力操作の移動方向を示す指示方向５２２とを検出する。
【００６２】
フィルタ生成部１０１は、指示位置５２１と指示方向５２２と文字キーレイアウト３０１とを用いて、文字キーレイアウト表示における、指示位置５２１を基点として指示方向５２２側に位置する文字範囲５２３を判定する。
【００６３】
辞書検索部１５６は、辞書に保持される複数の候補文字列のうち、文字範囲５２３に含まれる文字のいずれかを含む文字列（以下、予測文字列）を検索する。
【００６４】
次に、文字入力予測装置１００による動作の流れを説明する。
【００６５】
図２は、本発明の実施の形態１に係る文字入力予測装置１００による文字入力予測処理のフローチャートである。
【００６６】
まず、指示移動検出部１５２は、操作入力部１５０を介して、ユーザによる文字入力操作が発生したことを確認する（Ｓ１０１）。
【００６７】
次に、指示移動検出部１５２は、当該文字入力操作に基づき、指示位置５２１と指示方向５２２とを検出する（Ｓ１０２）。
【００６８】
次に、フィルタ生成部１０１は、文字キーレイアウト表示において、指示位置５２１を基点として指示方向５２２側に位置する文字範囲５２３を判定する（Ｓ１０３）。
【００６９】
次に、辞書検索部１５６は、辞書に保持される複数の候補文字列のうち、文字範囲５２３に含まれる予測文字のいずれかを含む予測文字列を検索する（Ｓ１０４）。
【００７０】
以下、本発明の実施の形態１に係る文字入力予測装置１００の詳細な構成及び動作を説明する。
【００７１】
なお、以下では、各図において同一の要素には同一の符号を付し、重複する説明は省略する。
【００７２】
図３は、本発明の実施の形態１に係る文字入力予測装置１００Ａの詳細な構成を示すブロック図である。
【００７３】
図３に示す文字入力予測装置１００Ａは、ユーザが文字を入力する前にユーザが入力する文字範囲を予測し、予測結果に応じて予測文字列を出力する。
【００７４】
この文字入力予測装置１００Ａは、図１に示す構成に加え、さらに、文字入力部１５３と、文字列生成部１５４と、出力文字列バッファ部１５７と、予測表示条件管理部１５８と、予測制御部１５９と、出力制御部１６０と、出力部１６１とを備える。
【００７５】
文字入力部１５３は、複数の文字キーに対するユーザの操作により入力された入力文字を取得する。
【００７６】
文字列生成部１５４は、文字入力部１５３に入力された入力文字から文字列を生成する。具体的には、文字列生成部１５４は、文字が入力されていない状態では、新たに入力された文字を文字列として生成する。また、文字列生成部１５４は、次の文字が入力された場合、現在の文字列の直後に新たに入力された文字を加えた文字列を新たな文字列として生成する。
【００７７】
文字キーレイアウト管理部１５１は、文字を割り当てた複数の文字キーの配置を示す文字キーレイアウト３０１を格納する。
【００７８】
図４は、文字キーレイアウト３０１の一例を示す図である。
【００７９】
図４に示すように、文字キーレイアウト３０１は、複数の文字３０２と、各文字３０２に対応するレイアウト位置３０３とを含む。複数の文字３０２は、文字キーに配置されている表示文字を示す。レイアウト位置３０３は、文字キーにおける、対応する文字３０２の表示位置（座標）を示す。
【００８０】
レイアウト位置３０３は、文字位置の開始位置３０４と文字位置の終了位置３０５とを含む。例えば、各文字３０２は、四角形で表示されており、開始位置３０４及び終了位置３０５は、当該四角形の対角となる２つの角の座標である。開始位置３０４は、Ｘ軸座標３４１及びＹ軸座標３４２を含む。終了位置３０５は、Ｘ軸座標３５１及びＹ軸座標３５２を含む。
【００８１】
指示移動検出部１５２は、ユーザによる文字入力操作の位置を示す指示位置５２１と、文字入力操作の移動方向を示す指示方向５２２とを検出する。具体的には、指示移動検出部１５２は、ユーザが入力操作をしている操作位置をＸ軸座標及びＹ軸座標を用いて表し、指示位置５２１として検出する。また、指示移動検出部１５２は、文字入力操作の移動方向を指示方向５２２として検出する。
【００８２】
また、ユーザの文字の入力方法としては、以下の方法がある。第１の方法は、マウス、タッチパッド又は十字キー等によりポインタを移動させ、マウスのクリック、又はボタンの押下によりポインタ位置の文字を選択する方法である。この場合、指示位置５２１は、ポインタの位置であり、指示方向５２２はポインタが移動する方向である。
【００８３】
第２及び第３の方法はタッチパネルを用いる方法である。第２の方法は、ユーザが指を、タッチパネル上をなぞるように移動させる方法である。また、文字の選択は、ユーザがパネルを強く押す、又は、所定の時間以上指を静止させることで行われる。この場合、指示位置５２１は、タッチパネルに接触しているユーザの指の位置であり、指示方向５２２は、ユーザの指の移動方向である。
【００８４】
第３の方法は、ユーザがタッチパネル上の文字位置をタッチすることで文字を入力する方法である。この場合、指示位置５２１は、ユーザがタッチした位置である。また、指示方向５２２は、ユーザがタッチパネルから指を離した方向である。この情報は、タッチパネルと指の接触面のうち、どの方向の部分から指が離れ始めるかを検知することで検出できる。
【００８５】
図５Ａは、文字キーレイアウト表示５０１の一例を示す図である。
【００８６】
指示位置５２１は、ユーザによる文字入力操作の位置を示すものであって、ユーザの入力動作によって移動する。
【００８７】
指示方向５２２は、ユーザが入力する文字位置に向けて操作する様子を表現しており、文字入力操作の移動方向を示す。
【００８８】
文字範囲５２３は、当該文字入力予測装置が予測した、ユーザが入力する文字の範囲を示す。
【００８９】
座標Ｘｂ５３１は、指示位置５２１のＸ軸座標５０２を示す。
【００９０】
座標Ｙｂ５３２は、指示位置５２１のＹ軸座標５０３を示す。
【００９１】
図５Ｂは、指示位置５２１の具体例を示す図である。図５Ｂに示すように、指示位置５２１は、座標Ｘｂ５３１及び座標Ｙｂ５３２を含む。
【００９２】
フィルタ生成部１０１は、指示移動検出部１５２によって検出された指示位置５２１と指示方向５２２とから入力操作が行われたと判断して、ユーザが入力する文字範囲５２３を予測する。つまり、フィルタ生成部１０１は、文字キーレイアウト３０１において、指示位置５２１を基点として指示方向５２２側に位置する文字範囲５２３を抽出する。
【００９３】
例えば、フィルタ生成部１０１は、フィルタ生成部１０１が保持する文字範囲定義４０１と、指示位置５２１に含まれる座標Ｘｂ５３１及び座標Ｙｂ５３２と、指示方向５２２とを用いて、文字範囲条件４０３を決定する。さらに、フィルタ生成部１０１は、文字範囲条件４０３と、文字キーレイアウト管理部１５１からの文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３の範囲内であるかを判断して、ユーザが文字を入力する文字範囲５２３を予測する。また、ユーザの入力文字として文字範囲５２３を文字入力部１５３用に準備する。
【００９４】
図６は、フィルタ生成部１０１が保持する文字範囲定義４０１の一例を示す図である。
【００９５】
文字範囲定義４０１は、複数の指示方向４０２と、複数の指示方向４０２の各々に対応する文字範囲条件４０３とを含む。
【００９６】
指示方向４０２は、ユーザによる文字入力操作の方向を示し、上述した指示方向５２２に対応する。
【００９７】
文字範囲条件４０３は、指示方向４０２が、対応する指示方向４０２の場合に文字範囲５２３を算出するために用いる関数を示す。この文字範囲条件４０３は、開始位置４０４と終了位置４０５とを含む。また、座標Ｘｂ４１１は、指示位置５２１に含まれる座標Ｘｂ５３１であり、座標Ｙｂ４１２は、指示位置５２１に含まれる座標Ｙｂ５３２である。
【００９８】
辞書検索部１５６は、文字入力部１５３に入力された文字に基づいて予測文字列を辞書１７０から検索する。具体的には、辞書検索部１５６は、文字列生成部１５４で生成された文字列を先頭に含む文字列（以下、検索文字列）を検索する。
【００９９】
出力文字列バッファ部１５７は、辞書検索部１５６で検索された検索文字列を一時的に保持するとともに、検索文字列の出力順及び出力先の表示方法を管理する。
【０１００】
予測表示条件管理部１５８は、文字範囲５２３を用いた表示非表示を含む表示条件を有する。例えば、予測表示条件管理部１５８は、検索文字列のうち、文字範囲５２３に含まれる文字のいずれかを含む予測文字列は表示し、その他の文字列は非表示にする。なお、予測表示条件管理部１５８は、全ての検索文字列を表示するとともに、予測文字列を強調表示してもよい。
【０１０１】
予測制御部１５９は、出力文字列バッファ部１５７から出力された文字列群を予測表示条件管理部１５８からの表示条件を用いて条件別に表示分けを行う。
【０１０２】
出力制御部１６０は、予測制御部１５９によって条件別に表示分けされた文字列を表示装置に合わせて成型する。
【０１０３】
出力部１６１は、出力制御部１６０により成型された文字列を表示装置に出力する。
【０１０４】
続いて、実施の形態１に係る文字入力予測装置１００Ａの動作の具体例を説明する。
【０１０５】
図５Ａ及び図５Ｂに示す例のように、指示位置５２１に含まれる座標Ｘｂ５３１が「８００」であり、座標Ｙｂ５３２が「３００」であるとする。また、指示方向５２２が「水平方向左」であるとする。
【０１０６】
この場合、図６に示す指示方向４０２が水平方向左４２１の場合に対応する。よって、フィルタ生成部１０１は、文字範囲条件４０３として「（０，０）：（座標Ｘｂ４１１，５００）」を選択する。さらに、フィルタ生成部１０１は、座標Ｘｂ４１１に座標Ｘｂ５３１（＝８００）を代入する。これにより、文字範囲条件４０３は「（０，０）：（８００，５００）」となる。
【０１０７】
次に、フィルタ生成部１０１は文字範囲５２３を算出する。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（８００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３「（０，０）：（８００，５００）」の範囲内か範囲外かを判断する。
【０１０８】
ここでは、その結果、文字範囲５２３に「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」が含まれる。
【０１０９】
以上より、本発明の実施の形態１に係る文字入力予測装置１００Ａは、指示方向５２２に応じて、入力される文字範囲５２３を絞り込み、当該文字範囲５２３に含まれる文字を含む予測文字列を検索する。これにより、文字入力予測装置１００Ａは、ユーザが文字を入力し終わる前に予測文字列を絞り込むことができるので、高速に予測文字列を絞り込むことができる。
【０１１０】
なお、上記説明では、辞書検索部１５６が、複数の候補文字列から、文字列生成部１５４に生成された文字列を含む検索文字列を検索し、予測制御部１５９が検索文字列から、予測文字を含む予測文字列を検索するとしたが、予測文字列以外を表示しない場合には、辞書検索部１５６が複数の候補文字列から予測文字列を検索してもよい。
【０１１１】
また、本発明は、ユーザが文字列の２文字目以降を入力する場合に限らず、１文字目を入力する場合にも適用できる。また、この場合の機能は、上述した文字入力部１５３及び文字列生成部１５４を備えなくても実現可能である。
【０１１２】
また、ここでは、日本語の文字入力を行う場合について説明したが、これ以外の言語についても同様に本実施の形態を適用することができる。また、以下の実施の形態では主に日本語入力に本発明を適用した場合について説明するが、以下の実施の形態も同様に他の言語に適用できることは言うまでもない。
【０１１３】
一例として、英文字入力を行う場合について説明する。
【０１１４】
図７は、英字入力用の文字キーレイアウト３０１の一例を示す図である。図８Ａは、英文字入力用の文字キーレイアウト表示５０１の一例を示す図である。また、図８Ｂは、この場合の指示位置５２１の具体例を示す図である。
【０１１５】
以下、英文字入力を用いる場合の文字入力予測装置１００Ａの動作の具体例を説明する。
【０１１６】
図８Ａ及び図８Ｂに示す例のように、指示位置５２１に含まれる座標Ｘｂ５３１が「４００」であり、座標Ｙｂ５３２が「２００」であるとする。また、指示方向５２２が「水平方向左」であるとする。
【０１１７】
この場合、図６に示す指示方向４０２が水平方向左４２１の場合に対応する。よって、フィルタ生成部１０１は、文字範囲条件４０３として「（０，０）：（座標Ｘｂ４１１，５００）」を選択する。さらに、フィルタ生成部１０１は、座標Ｘｂ４１１に座標Ｘｂ５３１（＝４００）を代入する。これにより、文字範囲条件４０３は「（０，０）：（４００，５００）」となる。
【０１１８】
次に、フィルタ生成部１０１は文字範囲５２３を算出する。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（４００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３「（０，０）：（４００，５００）」の範囲内か範囲外かを判断する。
【０１１９】
ここでは、その結果、文字範囲５２３に「１、２、３、４、Ｑ、Ｗ、Ｅ、Ｒ、Ａ、Ｓ、Ｄ、Ｆ、Ｚ、Ｘ、Ｃ、Ｖ」が含まれる。
【０１２０】
なお、図８Ａに示す例では、文字キーレイアウト表示５０１に数字が含まれているが含まれてなくてもよい。同様に、文字キーレイアウト表示５０１には記号「，」及び「．」並びに「スペース」は含まれなくてもよい。なお、文字キーレイアウト表示５０１には、上記以外の記号等が含まれてもよい。また、文字キーの配置は図９に示すように、縦方向に段差を設けた配置でもよい。
【０１２１】
（実施の形態２）
実施の形態２では、指示方向５２２を算出する具体的な処理方法を説明する。
【０１２２】
図１０は、本発明の実施の形態２に係る文字入力予測装置１００Ｂの構成を示すブロック図である。
【０１２３】
図１０に示す文字入力予測装置１００Ｂは、図３に示す構成に加え、さらに、指示位置格納部１０２を備える。なお、図１０において、図３と同一の要素については同一の符号を用いている。
【０１２４】
また、図１１Ａは、本発明の実施の形態２における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。
【０１２５】
指示移動検出部１５２は、所定時間ごとに指示位置５２１を検出する。
【０１２６】
指示位置格納部１０２は、指示位置５２１を指示移動検出部１５２から取得し、順次格納する。また、指示位置格納部１０２は、指示位置格納部１０２に指示起点７２１が保持されていない時、指示移動検出部１５２から通知される指示位置５２１を指示起点７２１として保持する。ここで、指示起点７２１は、ユーザによる文字入力操作の開始位置を示す。
【０１２７】
座標Ｘａ７３１は、指示起点７２１のＸ軸座標５０２を示す。
【０１２８】
座標Ｙａ７３２は、指示起点７２１のＹ軸座標５０３を示す。
【０１２９】
図１１Ｂは、本発明の実施の形態２における指示位置５２１具体例を示す図である。図１１Ｂに示すように、指示位置５２１は、さらに、時間経過５４１を含む。また、座標Ｘｂ５３１及び座標Ｙｂ５３２は、時間経過５４１ごとに設定されている。時間経過５４１は、文字入力操作の経過を示す。
【０１３０】
図１１Ｃは、本発明の実施の形態２における指示起点７２１の具体例を示す図である。指示起点７２１は座標Ｘａ７３１及び座標Ｙａ７３２を含む。
【０１３１】
また、指示位置格納部１０２に指示起点７２１が保持されている時、指示移動検出部１５２は、指示位置格納部１０２に保持されている指示起点７２１と、指示移動検出部１５２が検出した新たな指示位置５２１とから、指示方向５２２を判定する。具体的には、指示移動検出部１５２は、指示起点７２１に対して、新たな指示位置５２１がどの方向に位置するかに応じて指示方向５２２を判定する。
【０１３２】
なお、指示移動検出部１５２が指示方向５２２を判定するのではなく、フィルタ生成部１０１が、指示起点７２１と新たな指示位置５２１とから、直接、文字範囲５２３を予測してもよい。
【０１３３】
例えば、フィルタ生成部１０１は、フィルタ生成部１０１が保持する文字範囲定義４０１Ａと、指示位置５２１と、指示起点７２１とを用いて、文字範囲条件４０３を決定する。
【０１３４】
図１２は、この場合のフィルタ生成部１０１が備える文字範囲定義４０１Ａの一例を示す図である。図１２に示す文字範囲定義４０１Ａは、図６に示す文字範囲定義４０１Ａに対して、指示方向４０２Ａの定義が異なる。
【０１３５】
文字範囲定義４０１Ａは、複数の指示方向４０２Ａと、複数の指示方向４０２Ａの各々に対応する文字範囲条件４０３を含む。
【０１３６】
指示方向４０２Ａは、ユーザによる文字入力操作の方向を示し、指示起点７２１と指示位置５２１とで決定される。
【０１３７】
次に、この場合の文字入力予測装置１００Ｂの動作の流れを説明する。
【０１３８】
図１３は、文字入力予測装置１００Ｂによる文字入力予測処理のフローチャートである。また、図１３に示すステップＳ１０１、Ｓ１０３及びＳ１０４の処理は、図２に示すステップＳ１０１、Ｓ１０３及びＳ１０４の処理と同様である。また、図１３に示すステップＳ１１１〜Ｓ１１４の処理は、図２に示すステップＳ１０２の処理の具体例である。
【０１３９】
ステップＳ１０１の後、指示移動検出部１５２は、ユーザの文字入力操作に基づき、指示位置５２１を取得する（Ｓ１１１）。
【０１４０】
次に、指示移動検出部１５２は、指示位置格納部１０２に、指示起点７２１が保持されているかどうかを確認する（Ｓ１１２）。
【０１４１】
指示起点７２１が保持されていない場合（Ｓ１１２でＮｏ）、指示移動検出部１５２は、指示位置５２１を指示起点７２１として指示位置格納部１０２に保持し、ステップＳ１０１へ進む（Ｓ１１３）。
【０１４２】
一方、指示起点７２１が保持されている場合（Ｓ１１２でＹｅｓ）、指示移動検出部１５２は、指示位置５２１と指示起点７２１とから指示方向５２２を判定する（Ｓ１１４）。そして、フィルタ生成部１０１は、指示位置５２１と指示方向５２２とを用いて文字範囲５２３を予測する（Ｓ１０３）。
【０１４３】
続いて、図１２の文字範囲定義４０１Ａを用いる場合の文字入力予測装置１００Ｂによる動作の具体例として図１１Ａ〜図１１Ｃに示す例を説明する。図１１Ａ〜図１１Ｃに示す例では、時間経過５４１が「１」の時点における指示位置５２１は、座標Ｘｂ５３１が「８００」であり、と座標Ｙｂ５３２が「３００」である。この場合、指示起点７２１の座標Ｘａ７３１に「８００」が、座標Ｙａ７３２に「３００」が設定される。
【０１４４】
次に、ユーザによる文字入力操作に移動があり、時間経過５４１が「２」の時点になる。そして、指示位置５２１の座標Ｘｂ５３１は「７００」になり、座標Ｙｂ５３２は「３００」になる。このとき、既に指示起点７２１が保持されているので、次に、フィルタ生成部１０１は文字範囲５２３を判定する。
【０１４５】
具体的には、図１２に示す指示方向４０２Ａが「座標Ｘａ７３１＞座標Ｘｂ５３１、座標Ｙａ７３２＝座標Ｙｂ５３２」の場合なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝７００）が代入されて、文字範囲条件４０３は、「（０，０）：（７００，５００）」となる。そして、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（７００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（７００，５００）」の範囲内か範囲外かを判断する。
【０１４６】
その結果、文字範囲５２３は、「た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。
【０１４７】
以上より、本発明の実施の形態２に係る文字入力予測装置１００Ｂは、指示起点７２１を用いて適切な指示方向５２２を検出できる。
【０１４８】
（実施の形態３）
実施の形態３では、上記指示起点７２１の決定方法の詳細を説明する。
【０１４９】
なお、実施の形態３に係る文字入力予測装置１００の構成は、例えば、図１０に示す構成と同様である。
【０１５０】
図１４Ａは、本発明の実施の形態３における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。
【０１５１】
図１４Ａに示す文字９２１は、ユーザにより入力された文字である。また、図１４Ａに示す例では、文字９２１が「つ」の場合が例示されている。
【０１５２】
図１４Ｂは、この場合の指示位置５２１の具体的な数値例を示す図である。
【０１５３】
図１４Ｃは、この場合の指示起点７２１の具体的な数値例を示す図である。図１４Ｃに示す指示起点７２１は、さらに、時間経過７４１を含む。また、座標Ｘａ７３１及び座標Ｙａ７３２は、時間経過７４１ごとに設定されている。時間経過７４１は、文字の入力による指示起点７２１の更新の経過を示す。
【０１５４】
また、指示位置格納部１０２は、指示起点７２１が保持されていない時、指示移動検出部１５２から通知される指示位置５２１を指示起点７２１として保持する。また、指示位置格納部１０２は、指示起点７２１を保持している時において、ユーザが文字を入力すると、当該文字に対尾する文字キーの位置を指示起点７２１として保持する。具体的には、指示移動検出部１５２は、文字入力部１５３から当該文字３０２を受け取る。そして、指示移動検出部１５２は、文字キーレイアウト３０１と、文字入力部１５３からの文字３０２とを用いて、当該文字３０２に対応する文字キーの位置を指示位置５２１として算出する。そして、指示移動検出部１５２は、算出した指示位置５２１を、指示起点７２１として指示位置格納部１０２に保持する。
【０１５５】
次に、実施の形態３に係る文字入力予測装置の動作の流れを説明する。
【０１５６】
図１５は、実施の形態３に係る文字入力予測装置による文字入力予測処理のフローチャートである。図１５に示す処理は、図１３に示す処理に対して。ステップＳ１２１及びＳ１２２の処理が追加されている。
【０１５７】
ステップＳ１０１の後、指示移動検出部１５２は、ユーザによる文字入力操作により文字３０２が入力されたか否かを判定する（Ｓ１２１）。
【０１５８】
文字入力操作情報により文字が入力されたことが示される場合（Ｓ１２１でＹｅｓ）、指示移動検出部１５２は、文字入力部１５３からの文字の情報と、文字キーレイアウト３０１とを用いて指示位置５２１を算出する（Ｓ１２２）。次に、指示移動検出部１５２は、ステップＳ１２２で算出された指示位置５２１を指示起点７２１として指示位置格納部１０２に保持し、ステップＳ１０１へ進む（Ｓ１１３）。
【０１５９】
なお、文字が入力されていない場合（Ｓ１２１でＮｏ）の処理は、図１３の処理と同様である。
【０１６０】
続いて、実施の形態３に係る文字入力予測装置による動作の具体例として図１４Ａ〜図１４Ｃに示す例を説明する。図１４Ａ〜図１４Ｃに示す例では、時間経過５４１が「１」の時点における最初の指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。また、時間経過７４１が「１」の時点における指示起点７２１の座標Ｘａ７３１に「８００」が、座標Ｙａ７３２に「３００」が設定される。
【０１６１】
次に、ユーザによる文字入力操作に移動があり、時間経過５４１が「２」の時点になる。そして、指示位置５２１の座標Ｘｂ５３１は「７００」になり、座標Ｙｂ５３２は「３００」になる。
【０１６２】
次に、ユーザの文字入力操作により、移動先の位置に配置されている文字「つ」が選択される。文字が入力されると、時間経過５４１が「２」の時点における指示位置５２１である座標Ｘｂ５３１（＝７００）及び座標Ｙｂ５３２（＝３００）が、時間経過７４１が「２」における時点における指示起点７２１の座標Ｘａ７３１及び座標Ｙａ７３２「３００」に設定される。
【０１６３】
次の文字入力操作により、時間経過５４１が「３」の時点における指示位置５２１の座標Ｘｂ５３１は「８００」になり、座標Ｙｂ５３２は「３００」になる。
【０１６４】
次に、フィルタ生成部１０１は文字範囲５２３を判定する。具体的には、図１２に示す、指示方向４０２Ａが「座標Ｘａ７３１＜座標Ｘｂ５３１、座標Ｙａ７３２＝座標Ｙｂ５３２」の場合なので、文字範囲条件４０３は「（座標Ｘｂ４１１，０）：（１０００，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝８００）が代入されて、文字範囲条件４０３が「（８００，０）：（１０００，５００）」となる。そして、フィルタ生成部１０１は、文字範囲条件４０３「（８００，０）：（１０００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（８００，０）：（１０００，５００）」の範囲内か範囲外かを判断する。
【０１６５】
その結果、文字範囲５２３は、「あ、い、う、え、お、か、き、く、け、こ」となる。
【０１６６】
以上より、本発明の実施の形態３に係る文字入力予測装置は、入力された文字キーの位置を基準として指示方向５２２を判定できるので、より適切な指示方向５２２を検出できる。
【０１６７】
（実施の形態４）
実施の形態４では、ユーザによる文字入力操作が、十字キー等により行われる場合の動作を説明する。つまり、文字入力操作は、指示方向５２２が垂直方向と水平方向とに限定される場合である。
【０１６８】
なお、実施の形態４に係る文字入力予測装置の構成は、例えば、図１０と同様である。
【０１６９】
図１６Ａは、この場合の、文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。また、文字範囲５２３Ａ及び文字範囲５２３Ｂは、ユーザが入力する文字位置が予測される範囲を示し、上述した文字範囲５２３に相当する。
【０１７０】
図１６Ｂは、この場合の指示位置５２１の具体的な数値例を示す図である。図１６Ｃは、この場合の指示起点７２１の具体的な数値例を示す図である。
【０１７１】
以下、図１６Ａ〜図１６Ｃに示す例における、文字入力予測装置１００の動作の具体例を説明する。
【０１７２】
図１６Ａ〜図１６Ｃに示す例では、時間経過５４１が「１」の時点における最初の指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。また、指示起点７２１の座標Ｘａ７３１は「８００」であり、座標Ｙａ７３２は「３００」である。
【０１７３】
次に、ユーザによる十字キー操作により、文字入力操作の位置が垂直方向上に移動する。そして、時間経過５４１が「２」の時点で、指示位置５２１の座標Ｘｂ５３１は「８００」になり、座標Ｙｂ５３２は「２００」になる。
【０１７４】
このとき、指示方向４０２Ａは「座標Ｘａ７３１＝座標Ｘｂ５３１、座標Ｙａ７３２＞座標Ｙｂ５３２」なので、文字範囲条件４０３は「（０，０）：（１０００，座標Ｙｂ４１２）」となる。さらに、座標Ｙｂ４１２に座標Ｙｂ５３２＝２００）が代入されて、文字範囲条件４０３が「（０，０）：（１０００，２００）」となる。次に、文字範囲５２３Ａが求められる。
【０１７５】
具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（１０００，２００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（１０００，２００）」の範囲内か範囲外かを判断する。
【０１７６】
その結果、文字範囲５２３Ａは、「あ、い、か、き、さ、し、た、ち、な、に、は、ひ、ま、み、や、ゆ、ら、り、わ、を」となる。
【０１７７】
次に、ユーザによる十字キー操作により、文字入力操作の一が水平方向左に移動する。そして、時間経過５４１が「３」の時点で、指示位置５２１の座標Ｘｂ５３１は「７００」になり、座標Ｙｂ５３２は「２００」になる。
【０１７８】
このとき、指示方向４０２Ａは「座標Ｘａ７３１＞座標Ｘｂ５３１、座標Ｙａ７３２＞座標Ｙｂ５３２」なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，座標Ｙｂ４１２）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝７００）が代入されるとともに、座標Ｙｂ４１２に座標Ｙｂ５３２（＝２００）が代入されることで、文字範囲条件４０３が「（０，０）：（７００，２００）」となる。次に、文字範囲５２３Ｂが求められる。
【０１７９】
具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（７００，２００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（７００，２００）」の範囲内か範囲外かを判断する。
【０１８０】
その結果、文字範囲５２３Ａは、「た、ち、な、に、は、ひ、ま、み、や、ゆ、ら、り、わ、を」となる。
【０１８１】
以上より、本発明の実施の形態４に係る文字入力予測装置は、十字キー等の入力装置を用いる場合にも対応できる。
【０１８２】
（実施の形態５）
上述した実施の形態２では、指示方向５２２を、指示起点７２１を用いて算出する例を述べた。実施の形態５では、指示方向５２２を算出する別の処理方法を説明する。
【０１８３】
実施の形態５に係る文字入力予測装置は、複数の指示位置５２１を用いて、指示方向５２２を算出する。
【０１８４】
なお、実施の形態５に係る文字入力予測装置の構成は、例えば、図１０と同様である。
【０１８５】
図１７Ａは、本発明の実施の形態５における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図１７Ｂは、本発明の実施の形態５における指示位置５２１の具体的な数値例を示す図である。
【０１８６】
また、フィルタ生成部１０１は、図６に示す文字範囲定義４０１を用いるとする。
【０１８７】
指示移動検出部１５２は、所定時間ごとに指示位置５２１を検出する。
【０１８８】
指示位置格納部１０２は、指示移動検出部１５２により検出された複数の指示位置５２１を保持する。
【０１８９】
また、指示移動検出部１５２は、指示位置格納部１０２に保持されている複数の指示位置５２１を用いて指示方向５２２を算出する。そして、フィルタ生成部１０１は、算出された指示方向５２２を用いて文字範囲条件４０３を決定する。
【０１９０】
続いて、実施の形態５に係る文字入力予測装置の動作の具体例を図１７Ａ及び図１７Ｂを用いて説明する。
【０１９１】
図１７Ａ及び図１７Ｂに示す例では、時間経過５４１が「１」の時点における指示位置５２１の座標Ｘｂ５３１は「７００」であり、座標Ｙｂ５３２は「３００」である。時間経過５４１が「２」の時点における指示位置５２１の座標Ｘｂ５３１は「６００」であり、座標Ｙｂ５３２「３００」である。時間経過５４１が「３」の時点における指示位置５２１の座標Ｘｂ５３１は「５００）であり、座標Ｙｂ５３２は「３００）」である。
【０１９２】
この場合、指示移動検出部１５２は、時間経過５４１が「１」から「３」の間に座標Ｘｂ５３１が「７００」から「５００」に変化し、かつ、座標Ｙｂ５３２が「３００」のまま変化していないことから、指示方向５２２を「水平方向左」と判断する。つまり、指示移動検出部１５２は、時間的に連続する３つの指示位置５２１が同じ方向に変化している場合に、当該方向を指示方向５２２と判断する。
【０１９３】
ここでは、指示方向４０２が水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に、時間経過５４１が「３」の時点における指示位置５２１の座標Ｘｂ５３１（＝５００）が代入されて、文字範囲条件４０３が「（０，０）：（５００，５００）」となる。
【０１９４】
次に、フィルタ生成部１０１は、文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（５００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（５００，５００）」の範囲内か範囲外かを判断する。
【０１９５】
その結果、文字範囲５２３は、「は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。
【０１９６】
以上より、本発明の実施の形態５に係る文字入力予測装置は、複数の指示位置５２１を用いて適切な指示方向５２２を検出できる。
【０１９７】
なお、上記説明では、指示移動検出部１５２は、３つの指示位置５２１を用いて指示方向５２２を判定しているが、２つ、又は、４つ以上の指示位置５２１を用いて指示方向５２２を判定してもよい。
【０１９８】
（実施の形態６）
実施の形態６では、複数の指示位置５２１と指示起点７２１とを用いて文字範囲５２３を決定する例を説明する。具体的には、指示位置５２１が行って戻ってくるような操作が行われた場合の動作を説明する。
【０１９９】
なお、実施の形態６に係る文字入力予測装置の構成は、例えば、図１０と同様である。
【０２００】
図１８Ａは、本発明の実施の形態６における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図１８Ｂは、本発明の実施の形態６における指示位置５２１の具体的な数値例を示す図である。図１８Ｃは、本発明の実施の形態６における指示起点７２１の具体的な数値例を示す図である。
【０２０１】
図１９は、本発明の実施の形態６におけるフィルタ生成部１０１が備える文字範囲定義４０１Ｂの一例を示す図である。
【０２０２】
図１８Ｂ及び図１８Ｃに示すように、指示位置格納部１０２は、指示移動検出部１５２で検出された複数の指示位置５２１を保持する。また、指示位置格納部１０２は指示起点７２１を保持する。なお、指示起点７２１の決定方法は、上述した実施の形態２又は実施の形態３と同様である。
【０２０３】
指示移動検出部１５２は、指示位置格納部１０２に保持されている複数の指示位置５２１、及び指示起点７２１を用いて、指示方向５２２を判定する。
【０２０４】
フィルタ生成部１０１は、指示位置格納部１０２に保持されている指示起点７２１と、最新の指示位置５２１と、指示方向５２２とを用いて文字範囲５２３を予測する。
【０２０５】
具体的には、フィルタ生成部１０１は、フィルタ生成部１０１が保持する文字範囲定義４０１Ｂと、最新の指示位置５２１と、指示起点７２１とを用いて、文字範囲条件４０３を決定する。より具体的には、フィルタ生成部１０１は、文字入力操作が、指示起点７２１から、指示起点７２１に対して第１方向に位置する第１指示位置に移動したのち、当該第１指示位置から、当該第１位置に対して第１方向と反対の第２方向に位置する第２指示位置に移動した場合、指示起点７２１と第２指示位置との間の範囲を文字範囲５２３と判定する。
【０２０６】
さらに、フィルタ生成部１０１は、文字範囲条件４０３と、文字キーレイアウト管理部１５１に保持されている文字キーレイアウト３０１に含まれるレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３の範囲内であるかを判断することで文字範囲５２３を予測する。
【０２０７】
続いて、実施の形態６に係る文字入力予測装置の動作の具体例を説明する。
【０２０８】
図１８Ａ〜図１８Ｃに示す例では、時間経過５４１が「１」の時点における指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。指示起点７２１の座標Ｘａ７３１は「８００」であり、座標Ｙａ７３２は「３００」である。
【０２０９】
次に、文字入力操作が水平方向左に移動し、時間経過５４１が「２」の時点で指示位置５２１の座標Ｘｂ５３１は「５００」になり、座標Ｙｂ５３２は「３００」になる。
【０２１０】
次に、文字入力操作が水平方向右に移動し、時間経過５４１が「３」の時点で指示位置５２１の座標Ｘｂ５３１は「６００」になり、座標Ｙｂ５３２は「３００」になる。
【０２１１】
このように、時間経過５４１が「１」から「３」の間に座標Ｘｂ５３１が「８００」から「５００」に変化し、次に「６００」に変化し、かつ、座標Ｙｂ５３２が「３００」のまま変化していない。よって、このような指示位置５２１の変化に基づき、フィルタ生成部１０１は、文字入力操作が一旦水平方向左に移動したのち、指示起点７２１に向かって戻っていると判定する。そして、フィルタ生成部１０１は、図１９に示す文字範囲定義４０１Ｂを使用して文字範囲条件４０３を決定する。
【０２１２】
具体的には、図１９に示す指示方向４０２Ａが「座標Ｘａ７３１＞座標Ｘｂ５３１、座標Ｙａ７３２＝座標Ｙｂ５３２」なので、文字範囲条件４０３は「（座標Ｘｂ４１１，０）：（座標Ｘａ７３１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝６００）が代入されて、文字範囲条件４０３が「（６００，０）：（８００，５００）」となる。
【０２１３】
次に、フィルタ生成部１０１は文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（６００，０）：（８００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（６００，０）：（８００，５００）」の範囲内か範囲外かを判断する。
【０２１４】
その結果、文字範囲５２３は、「さ、し、す、せ、そ、た、ち、つ、て、と」となる。
【０２１５】
以上より、本発明の実施の形態６に係る文字入力予測装置は、指示位置５２１が行って戻ってくるような操作が行われた場合にも、適切な文字範囲５２３を判定できる。
【０２１６】
（実施の形態７）
実施の形態７では、文字入力操作の移動速度である指示速度に応じて、文字範囲５２３を決定する例を説明する。
【０２１７】
なお、実施の形態７に係る文字入力予測装置の構成は、例えば、図１０と同様である。
【０２１８】
指示位置格納部１０２は、指示移動検出部１５２で検出された複数の指示位置５２１を保持する。
【０２１９】
また、指示移動検出部１５２は、複数の指示位置５２１から、文字入力操作の移動速度である指示速度を算出する。
【０２２０】
フィルタ生成部１０１は、さらに、指示速度を用いて文字範囲５２３を予測する。
【０２２１】
図２０Ａは、本発明の実施の形態７における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図２０Ｂは、本発明の実施の形態７における指示位置５２１の具体的な数値例を示す図である。なお、時間経過５４１は、対応する指示位置５２１を保持した時刻を示す。言い換えると、各指示位置５２１は、当該指示位置５２１が保持された（検出された）時刻と関連付けられている。
【０２２２】
図２２は、本発明の実施の形態７におけるフィルタ生成部１０１が備える文字範囲定義４０１Ｃの一例を示す図である。この文字範囲定義４０１Ｃは、指示速度がある定められた値より遅い時に文字範囲５２３を限定する例を示している。
【０２２３】
つまり、フィルタ生成部１０１は、指示速度が予め定められた速度より遅い場合は、図２２に示す文字範囲定義４０１Ｃを使用する。また、フィルタ生成部１０１は、指示速度が予め定められた速度より速い場合は、例えば、図６に示す文字範囲定義４０１を使用する。言い換えると、フィルタ生成部１０１は、指示速度が予め定められた速度より遅い場合は、最新の指示位置５２１を基点として、指示方向側の第１範囲を文字範囲５２３に決定する。また、フィルタ生成部１０１は、指示速度が予め定められた速度より速い場合は、最新の指示位置５２１を基点として、第１範囲より広い指示方向側の第２範囲を文字範囲５２３に決定する。
【０２２４】
なお、ここでは、一つの閾値を用いる例を述べたが、フィルタ生成部１０１は、複数の閾値を用いてもよい。この場合、フィルタ生成部１０１は、指示速度が遅いほど、文字範囲５２３を狭くすればよい。
【０２２５】
具体的には、フィルタ生成部１０１は、フィルタ生成部１０１が保持する文字範囲定義４０１Ｃと、指示方向５２２とを用いて文字範囲条件４０３を決定する。さらに、フィルタ生成部１０１は、文字範囲条件４０３と、文字キーレイアウト管理部１５１からの文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３の範囲内であるかを判断して、ユーザが文字を入力する文字範囲５２３を予測する。
【０２２６】
続いて、実施の形態７に係る文字入力予測装置の動作の具体例を説明する。
【０２２７】
図２０Ａ及び図２０Ｂに示す例では、時間経過５４１が「１」の時点で指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。時間経過５４１が「２」の時点で指示位置５２１の座標Ｘｂ５３１は「７５０」であり、座標Ｙｂ５３２は「３００」である。時間経過５４１が「３」の時点で指示位置５２１の座標Ｘｂ５３１は「７００」であり、座標Ｙｂ５３２は「３００」である。
【０２２８】
この場合、時間経過５４１が「１」から「３」の間における座標Ｘｂ５３１の変化量は「１００」である。例えば、閾値を、時間経過５４１が「１」から「３」の間に座標Ｘｂ５３１の変化量が「３００」である場合とする。この場合、フィルタ生成部１０１は、指示速度が閾値より遅いと判定する。そして、フィルタ生成部１０１は、文字範囲定義４０１Ｃを使用して文字範囲条件４０３を決定する。
【０２２９】
また、指示方向４０２は水平方向左４２１なので、文字範囲条件４０３は「（座標Ｘｂ４１１−２００，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１（＝７００）が代入されて、文字範囲条件４０３が「（５００，０）：（７００，５００）」となる。
【０２３０】
次に、フィルタ生成部１０１は文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（５００，０）：（７００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（５００，０）：（７００，５００）」の範囲内か範囲外かを判断する。
【０２３１】
その結果、文字範囲５２３は、「た、ち、つ、て、と、な、に、ぬ、ね、の」となる。
【０２３２】
以上より、本発明の実施の形態７に係る文字入力予測装置は、文字入力操作の移動速度を用いて、より適切な文字範囲５２３を判定できる。具体的には、指示速度が遅い場合には、ユーザが入力しようとしている文字が、指示位置５２１の近くにある可能性が高い。よって、当該文字入力予測装置は、指示速度が遅い場合には、指示位置５２１の近くの範囲に文字範囲５２３を限定することにより、候補となる予測文字の数を削減できる。これにより、ユーザは、意図する文字列を選択しやすくなる。
【０２３３】
また、上記説明では、指示速度が遅い場合の例を説明したが、指示速度が速い場合に、文字範囲５２３を限定してもよい。この場合、フィルタ生成部１０１は、指示速度が第２速度未満の場合、最新の指示位置５２１を基点として、指示方向側に位置する第１の大きさの範囲を文字範囲５２３として決定する。また、フィルタ生成部１０１は、指示速度が第２速度以上の場合、上記第１の大きさの範囲から、当該第１の大きさの範囲に含まれる指示位置５２１側の範囲を除外した第２の範囲を文字範囲５２３として決定する。言い換えると、この第２の範囲は、指示方向側に指示位置５２１から離れた範囲である。
【０２３４】
例えば、図２１に示すように、指示速度が速い場合には、文字範囲５２３は、指示方向側に指示位置５２１から離れた範囲に決定される。
【０２３５】
ここで、指示速度が速い場合には、ユーザが入力しようとしている文字が、指示位置５２１から遠くにある可能性が高い。よって、当該文字入力予測装置は、指示速度が速い場合には、指示位置５２１の遠くの範囲に文字範囲５２３を限定することにより、候補となる予測文字の数を削減できる。これにより、ユーザは、意図する文字列を選択しやすくなる。
【０２３６】
（実施の形態８）
実施の形態８では、文字入力操作の移動角度を用いて、文字範囲５２３を決定する例を説明する。
【０２３７】
なお、実施の形態８に係る文字入力予測装置の構成は、例えば、図１０と同様である。
【０２３８】
指示位置格納部１０２は、指示移動検出部１５２で検出された複数の指示位置５２１を保持する。
【０２３９】
また、指示移動検出部１５２は、複数の指示位置５２１から、指示方向５２２に加え、指示方向の角度である指示角度５３３を算出する。
【０２４０】
フィルタ生成部１０１は、さらに、指示角度５３３を用いて文字範囲５２３を予測する。
【０２４１】
図２３Ａは、本発明の実施の形態８における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図２３Ｂは、本発明の実施の形態８における指示位置５２１の具体的な数値例を示す図である。図２３Ｂに示すように、指示位置５２１は、時間経過５４１ごとに対応付けられた指示角度５３３を含む。
【０２４２】
フィルタ生成部１０１は、文字範囲定義４０１Ｄを参照し、指示方向５２２及び指示角度５３３に基づき、文字範囲５２３を決定する。
【０２４３】
図２４は、本発明の実施の形態８におけるフィルタ生成部１０１が備える文字範囲定義４０１Ｄの一例を示す図である。
【０２４４】
図２４に示す文字範囲定義４０１Ｄは、さらに、角度範囲４０６を含む。また、指示方向４０２ごと（この例では指示方向４０２のうち斜め方向ごと）に、基準範囲４０７と、削除範囲４０８とが対応付けられている。削除範囲４０８は角度範囲４０６ごとに設定されている。ここで、各角度範囲４０６は、対応する指示方向４０２に含まれる角度を複数に分割した部分範囲である。図２４に示す例では、左斜め下４２４の０度より大きくかつ９０度未満の範囲を、０度より大きくかつ３０度未満の範囲と、３０度以上かつ６０度以下の範囲と、６０度より大きくかつ９０度未満の範囲との三つの角度範囲に分割している。なお、対応する指示方向４０２に含まれる角度の分割方法はこれに限定されない。例えば、当該角度を２つ以上に分割すればよい。
【０２４５】
フィルタ生成部１０１は、指示方向４０２に対応する基準範囲４０７から、指示角度が含まれる角度範囲４０６の削除範囲４０８を除外した範囲を、文字範囲５２３に決定する。
【０２４６】
続いて、実施の形態８に係る文字入力予測装置の動作の具体例を説明する。
【０２４７】
図２３Ａ及び図２３Ｂに示す例では、時間経過５４１が「１」の時点で指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「０」である。時間経過５４１が「２」の時点で指示位置５２１の座標Ｘｂ５３１は「７５０」であり、座標Ｙｂ５３２は「１００」である。時間経過５４１が「３」の時点で指示位置５２１の座標Ｘｂ５３１は「７００」であり、座標Ｙｂ５３２は「２００」である。
【０２４８】
この場合、時間経過５４１が「２」及び「３」における指示角度は「６３度」である。そして、フィルタ生成部１０１は、文字範囲定義４０１Ｄを使用して文字範囲条件４０３を決定する。
【０２４９】
ここでは、指示方向４０２は左斜め下４２４であり、指示角度は「６３度」なので、基準範囲４０７の文字範囲条件４０３は「（座標Ｘｂ４１１−５００，座標Ｙｂ４１２）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１及び座標Ｙｂ４１２に指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１（＝７００）及び座標Ｙｂ５３２（＝２００）が代入されて、基準範囲４０７の文字範囲条件４０３が「（２００，２００）：（７００，５００）」となる。
【０２５０】
また、削除範囲４０８の文字範囲条件４０３は「（座標Ｘｂ４１１−５００，座標Ｙｂ４１２）：（座標Ｘｂ４１１−３００，座標Ｙｂ＋２００）」となる。さらに、座標Ｘｂ４１１及び座標Ｙｂ４１２に指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１（＝７００）及び座標Ｙｂ５３２（＝２００）が代入されて、削除範囲４０８の文字範囲条件４０３が「（２００，２００）：（４００，４００）」となる。
【０２５１】
次に、フィルタ生成部１０１は文字範囲５２３を求める。
【０２５２】
具体的には、フィルタ生成部１０１は、基準範囲４０７の文字範囲条件４０３「（２００，２００）：（７００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（２００，２００）：（７００，５００）」の範囲内か範囲外かを判断する。
【０２５３】
その結果、基準範囲４０７は、「つ、て、と、ぬ、ね、の、ふ、へ、ほ、む、め、も、よ」となる。
【０２５４】
さらに、フィルタ生成部１０１は、削除範囲４０８の文字範囲条件４０３「（２００，２００）：（４００，４００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（２００，２００）：（４００，４００）」の範囲内か範囲外かを判断する。
【０２５５】
その結果、削除範囲４０８は、「む、め、よ」となる。
【０２５６】
さらに、フィルタ生成部１０１は、基準範囲４０７に含まれる文字から削除範囲４０８に含まれる文字を除外することで文字範囲５２３を決定する。その結果、文字範囲５２３は、「つ、て、と、ぬ、ね、の、ふ、へ、ほ、も」となる。
【０２５７】
以下、図２５Ａ、図２５Ｂ、図２６Ａ及び図２６Ｂを用いて、別の動作例を説明する。
【０２５８】
図２５Ａは、本発明の実施の形態８における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図２５Ｂは、本発明の実施の形態８における指示位置５２１の具体的な数値例を示す図である。
【０２５９】
この場合、指示方向４０２は左斜め下４２４であり、指示角度は「４５度」である。よって、基準範囲４０７の文字範囲条件４０３は、図２３Ａ及び図２３Ｂの場合と同様に「（２００，２００）：（７００，５００）」となる。
【０２６０】
また、削除範囲４０８の文字範囲条件４０３は「（座標Ｘｂ４１１−１００，４００）：（座標Ｘｂ４１１，５００）」及び「（座標Ｘｂ４１１−５００，座標Ｙｂ４１２）：（座標Ｘｂ４１１−３００，座標Ｙｂ＋１００）」となる。さらに、座標Ｘｂ４１１及び座標Ｙｂ４１２に指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１（＝７００）及び座標Ｙｂ５３２（＝２００）が代入されて、削除範囲４０８の文字範囲条件４０３が「（６００，４００）：（７００，５００）」及び「（２００，２００）：（４００，３００）」となる。
【０２６１】
次に、フィルタ生成部１０１は文字範囲５２３を求める。
【０２６２】
具体的には、基準範囲４０７は、図２３Ａ及び図２３Ｂの場合と同様に「つ、て、と、ぬ、ね、の、ふ、へ、ほ、む、め、も、よ」となる。
【０２６３】
さらに、フィルタ生成部１０１は、削除範囲４０８の文字範囲条件４０３「（６００，４００）：（７００，５００）」及び「（２００，２００）：（４００，３００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（６００，４００）：（７００，５００）」及び「（２００，２００）：（４００，３００）」の範囲内か範囲外かを判断する。
【０２６４】
その結果、削除範囲４０８は、「と、よ、む」となる。
【０２６５】
さらに、フィルタ生成部１０１は、基準範囲４０７に含まれる文字から削除範囲４０８に含まれる文字を除外することで文字範囲５２３を決定する。その結果、文字範囲５２３は、「つ、て、ぬ、ね、の、ふ、へ、ほ、め、も」となる。
【０２６６】
図２６Ａは、本発明の実施の形態８における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図２６Ｂは、本発明の実施の形態８における指示位置５２１の具体的な数値例を示す図である。
【０２６７】
この場合、指示方向４０２は左斜め下４２４であり、指示角度は「２６度」である。よって、基準範囲４０７の文字範囲条件４０３は、図２３Ａ及び図２３Ｂの場合と同様に「（２００，２００）：（７００，５００）」となる。
【０２６８】
また、削除範囲４０８の文字範囲条件４０３は「（座標Ｘｂ４１１−１００，座標Ｙｂ４１２＋１００）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１及び座標Ｙｂ４１２に指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１（＝７００）及び座標Ｙｂ５３２（＝２００）が代入されて、削除範囲４０８の文字範囲条件４０３が「（６００，３００）：（７００，５００）」となる。
【０２６９】
次に、フィルタ生成部１０１は文字範囲５２３を求める。
【０２７０】
具体的には、基準範囲４０７は、図２３Ａ及び図２３Ｂの場合と同様に「つ、て、と、ぬ、ね、の、ふ、へ、ほ、む、め、も、よ」となる。
【０２７１】
さらに、フィルタ生成部１０１は、削除範囲４０８の文字範囲条件４０３「（６００，３００）：（７００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（６００，３００）：（７００，５００）」の範囲内か範囲外かを判断する。
【０２７２】
その結果、削除範囲４０８は、「て、と」となる。
【０２７３】
さらに、フィルタ生成部１０１は、基準範囲４０７に含まれる文字から削除範囲４０８に含まれる文字を除外することで文字範囲５２３を決定する。その結果、文字範囲５２３は、「つ、ぬ、ね、の、ふ、へ、ほ、む、め、も、よ」となる。
【０２７４】
以上より、本発明の実施の形態８に係る文字入力予測装置は、文字入力操作の移動角度を用いて、より適切な文字範囲５２３を判定できる。
【０２７５】
（実施の形態９）
実施の形態９では、表示する予測結果を更新するタイミングについて説明する。
【０２７６】
図２７Ａは、本発明の実施の形態９における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。
【０２７７】
入力文字位置７５１は、ユーザにより入力された文字を示す。図２７Ａでは、入力文字が「つ」の場合が例示されている。
【０２７８】
図２７Ｂは、本発明の実施の形態９における指示位置５２１の具体的な数値例を示す図である。
【０２７９】
図２７Ｃは、本発明の実施の形態９における入力文字位置７５１の具体的な数値例を示す図である。座標Ｘｍ７６１は、入力文字位置７５１のＸ軸座標を示す。座標Ｙｍ７６２は、入力文字位置７５１のＹ軸座標を示す。
【０２８０】
図２７Ａ〜図２７Ｃに示す例では、時間経過５４１が「１」の時点における指示位置５２１の座標Ｘｂ５３１は「７００」であり、座標Ｙｂ５３２は「３００）」である。また、当該指示位置５２１に配置されている文字「つ」が入力される。
【０２８１】
このとき、例えば、実施の形態９に係る入力文字予測装置は、辞書格納部１５５が格納している複数の候補文字列から、読みの頭文字が「つ」の文字列を表示する。
【０２８２】
次の文字入力操作により、時間経過５４１が「２」の時点で、指示位置５２１の座標Ｘｂ５３１が「６００」にあり、座標Ｙｂ５３２が「３００」になる。
【０２８３】
この場合、指示方向４０２が水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝６００）が代入されて、文字範囲条件４０３が「（０，０）：（６００，５００）」となる。
【０２８４】
次に、フィルタ生成部１０１は、文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（６００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（６００，５００）」の範囲内か範囲外かを判断する。
【０２８５】
その結果、文字範囲５２３は、「な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。ここで、文字範囲５２３に含まれる文字数は「２７」である。
【０２８６】
次の文字入力操作により、時間経過５４１が「３」の時点において、指示位置５２１の座標Ｘｂ５３１が「５００」になり、座標Ｙｂ５３２が「３００」になる。
【０２８７】
この場合、指示方向４０２が水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝５００）が代入されて、文字範囲条件４０３が「（０，０）：（５００，５００）」となる。
【０２８８】
次に、フィルタ生成部１０１は文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（５００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（５００，５００）」の範囲内か範囲外かを判断する。
【０２８９】
その結果、文字範囲５２３は、「は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。ここで、文字範囲５２３に含まれる文字数は、「２２」である。
【０２９０】
次に、フィルタ生成部１０１は、時間経過５４１が「２」の時点と、時間経過５４１が「３」の時点とにおける文字範囲５２３に含まれる文字数を比較する。そして、フィルタ生成部１０１は、表示する文字列に影響が少ない場合は、予測表示条件管理部１５８で使用する表示条件に時間経過５４１が「３」の時点の文字範囲５２３を用いない。つまり、フィルタ生成部１０１は文字範囲５２３を更新しない。
【０２９１】
具体的には、例えば、フィルタ生成部１０１は、文字範囲５２３に含まれる文字数の変化量が予め定められた閾値より小さい場合に、文字範囲５２３を更新せず、当該文字数の変化量が当該閾値より大きい場合に、文字範囲５２３を更新する。なお、フィルタ生成部１０１は、文字範囲５２３に含まれる文字の変化量が予め定められた閾値より小さい場合に、文字範囲５２３を更新せず、当該文字の変化量が当該閾値より大きい場合に、文字範囲５２３を更新してもよい。ここで、文字の変化量とは、新たな文字範囲５２３と直前の文字範囲５２３との一方のみに含まれる文字の数である。また、フィルタ生成部１０１は、最終的に表示される予測文字列の変化量が予め定められた閾値より小さい場合に、文字範囲５２３を更新せず、当該予測文字列の変化量が当該閾値より大きい場合に、文字範囲５２３を更新してもよい。ここで、予測文字列の変化量とは、新たな予測文字列群と直前の予測文字列群との一方のみに含まれる予測文字列の数である。さらに、フィルタ生成部１０１は、上述した複数の判定基準を組み合わせてもよい。
【０２９２】
次に時間経過５４１が「４」の時点になり、指示位置５２１の座標Ｘｂ５３１が「４００」になり、座標Ｙｂ５３２が「２００」になる。この場合、指示方向５２２は垂直方向上である。よって、指示方向４０２は垂直方向上４２２なので、文字範囲条件４０３は「（０，０）：（１０００，座標Ｙｂ４１２）」となる。さらに、座標Ｙｂ４１２に座標Ｙｂ５３２（＝２００）が代入されて、文字範囲条件４０３が「（０，０）：（１０００，２００）」となる。
【０２９３】
次に、フィルタ生成部１０１は文字範囲５２３を求める。具体的には、フィルタ生成部１０１は、文字範囲条件４０３「（０，０）：（１０００，２００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（１０００，２００）」の範囲内か範囲外かを判断する。
【０２９４】
その結果、文字範囲５２３は、「あ、い、か、き、さ、し、た、ち、な、に、は、ひ、ま、み、や、ゆ、ら、り、わ、を」となる。また、この文字範囲５２３に含まれる文字数は「２０」である。
【０２９５】
次に、フィルタ生成部１０１は、時間経過５４１が「２」の時点と時間経過５４１が「４」の時点との文字範囲５２３に含まれる文字数を比較する。ここでは、フィルタ生成部１０１は、表示する文字列に影響があると判断して、予測表示条件管理部１５８で使用する表示条件に、時間経過５４１が「４」の時点における文字範囲５２３を用いる。
【０２９６】
次に、本発明の実施の形態９に係る文字入力予測装置による具体的な表示例を説明する。
【０２９７】
図２８は、本発明の実施の形態９における文字キーレイアウト表示５０１の表示例を示す図である。
【０２９８】
図２８に示す文字範囲表示７７１及び７７２は、ユーザの文字入力操作から予測した文字範囲５２３を文字キーレイアウト表示５０１に表示した枠である。
【０２９９】
上記図２７Ａ〜図２７Ｃの例では、時間経過５４１が「２」の時点で、文字範囲表示７７１が表示される。また、時間経過５４１が「３」の時点で、文字範囲表示７７１は更新されず、時間経過５４１が「４」の時点で、文字範囲表示７７２が表示される。
【０３００】
このように、文字範囲５２３を文字キーレイアウト表示５０１上に表示することにより、現在の文字範囲５２３をユーザに明示できるので、ユーザの操作性が向上する。
【０３０１】
次に、予測文字列の表示方法を説明する。
【０３０２】
図２９は、本発明の実施の形態９における辞書格納部１５５が格納している辞書１７０の一例を示す図である。辞書１７０は、複数の候補文字列７８１を保持する。なお、図２９には、読みの頭文字が「つ」の検索文字列が例示されている。
【０３０３】
図３０は、本発明の実施の形態９における出力部１６１が検索文字列を表示している様子の一例を示す図である。この図３０の例は、文字「つ」が入力された時点における表示例であり、表示エリア７８２には、読みの頭文字が「つ」の検索文字列が例示されている。
【０３０４】
図３１は、本発明の実施の形態９における出力部１６１が検索文字列を表示している様子の一例を示す図である。この図３１の例は、文字範囲５２３が判定された後における表示例である。また、図３１に示す確認表示７８３には、文字範囲５２３に含まれる予測文字を含む予測文字列を強調表示するために用いられている。ここで、頭文字「つ」につづき、予測文字を含む予測文字列が強調表示されている。これにより、ユーザは予測状況を適宜確認できる。
【０３０５】
以下、英字入力の場合の例を説明する。
【０３０６】
図３２は、本発明の実施の形態９における出力部１６１が検索文字列を表示している様子の一例を示す図である。この図３２の例は、文字「ｂｕ」が入力された時点における表示例であり、表示エリア７８２には、先頭の文字列が「ｂｕ」の検索文字列が例示されている。
【０３０７】
図３３は、本発明の実施の形態９における出力部１６１が検索文字列を表示している様子の一例を示す図である。この図３３の例は、文字範囲５２３が判定された後における表示例である。また、図３３に示す確認表示７８３には、文字範囲５２３に含まれる予測文字を含む予測文字列を強調表示するために用いられている。ここで、先頭の文字列「ｂｕ」につづき、図８Ａに示す予測文字を含む予測文字列が強調表示されている。これにより、ユーザは予測状況を適宜確認できる。
【０３０８】
以上より、本発明の実施の形態９に係る文字入力予測装置は、予測結果が大きく変化する場合にのみ、予測結果の表示等を更新することで、予測結果の表示等が頻繁に更新されることを防止できる。
【０３０９】
また、本発明の実施の形態９に係る文字入力予測装置は、文字範囲表示７７１及び７７２を用いることで、予測した文字範囲５２３をユーザに明示できる。
【０３１０】
また、本発明の実施の形態９に係る文字入力予測装置は、予測した文字を含む予測文字列をユーザに強調して表示できる。
【０３１１】
なお、文字範囲表示７７１、７７２、及び確認表示７８３としては、枠、又は色などを用いて、対象となる予測文字、及び予測文字列を強調表示できる。なお、表示方法は、枠又は色を用いる方法に限定されず、その他の方法であってもよい。
【０３１２】
また、当該文字入力予測装置は、予測文字列と、それ以外の検索文字列とで表示順を変更してもよい。例えば、当該文字入力予測装置は、予測文字列を、それ以外の検索文字列より上に表示してもよい。
【０３１３】
また、予測文字列を表示する領域と、それ以外の検索文字列を表示する領域とを個別に設けてもよい。
【０３１４】
また、当該文字入力予測装置は、予測文字列の数が予め定められた値より少ないときは、上記の表示制御を行なわず、予測文字列の数が上記値より多いときに、上記の表示制御を行なってもよい。
【０３１５】
また、予測文字を含む予測文字列の表示順についても、ポインタに近い文字列から表示させる工夫を施してもかまわない。
【０３１６】
また、効果的に予測文字又は予測文字列を表示するために、当該文字入力予測装置は、文字列の入力操作の開始時から終了前までの期間のみに予測文字又は予測文字列を表示してもよい。また、ポインタの移動方向に変更が生じた時など、大きく予測文字又は予測文字列が変わる時に、当該文字入力予測装置は、予測文字又は予測文字列の表示を更新してもよい。これにより、ユーザは予測文字又は予測文字列を容易に確認できる。
【０３１７】
特に、最初の文字を入力する時は、文字入力操作の全てが、予測文字又は予測文字列の表示制御に反映される。よって、当該文字入力予測装置は、ユーザが予測文字又は予測文字列の確認が困難にならないように予測文字又は予測文字列を、ユーザが意図する状態変化の時に表示させるなどの工夫を施す。具体的には、この状態変化とは、ポインタが起点から離れた直後、ポインタ位置が大きく変化した時、又は、ポインタの軌道が大きく変化した時である。また、入力装置によっては、この状態変化とは、フリック等の離れたときの状態、着地した時、スライドが変化した時、移動初期の状態、スピードが弱まった時、又は、起点からのポインタが動作する角度に変更があった時等である。
【０３１８】
（実施の形態１０）
実施の形態１０〜実施の形態１２では、文字入力操作の位置を示す指示位置が２点の場合を説明する。
【０３１９】
図３４は、このような２点の指示位置が用いられる入力装置の一例を示す図である。
【０３２０】
入力装置８０１は、２つのタッチセンサ（左タッチセンサ８０２Ｌ、右タッチセンサ８０２Ｒ）を備えている。この２つのタッチセンサは、それぞれユーザの左手及び右手で操作される。ユーザは２つのタッチセンサを操作することにより、画面に表示されている２つのポインタの各々を操作する。また、例えば、ユーザはタッチセンサを押下することにより、ポインタ位置の文字キーを選択する。
【０３２１】
図３５は、本発明の実施の形態１０に係る文字入力予測装置１００Ｃのブロック図である。
【０３２２】
この文字入力予測装置１００Ｃは、フィルタ生成部１０１Ｌ及び１０１Ｒと、指示位置格納部１０２Ｌ及び１０１Ｒと、文字キーレイアウト管理部１５１Ｌ及び１５１Ｒと、指示移動検出部１５２Ｌ及び１５２Ｒと、操作入力部１５０Ｌ及び１５０Ｒと、フィルタバッファ部１０３と、フィルタ合成部１０４とを備える。また、図示していないが、文字入力予測装置１００Ｃは、上述した文字入力予測装置１００Ａと同様に、文字入力部１５３と、文字列生成部１５４と、辞書格納部１５５と、辞書検索部１５６と、出力文字列バッファ部１５７と、予測表示条件管理部１５８と、予測制御部１５９と、出力制御部１６０と、出力部１６１とを備える。
【０３２３】
フィルタ生成部１０１Ｌと、指示位置格納部１０２Ｌと、文字キーレイアウト管理部１５１Ｌと、指示移動検出部１５２Ｌと、操作入力部１５０Ｌとは、左側の文字入力操作のために設けられている。フィルタ生成部１０１Ｒと、指示位置格納部１０２Ｒと、文字キーレイアウト管理部１５１Ｒと、指示移動検出部１５２Ｒと、操作入力部１５０Ｒとは、右側の文字入力操作のために設けられている。
【０３２４】
また、フィルタ生成部１０１Ｌ及び１０１Ｒと、指示位置格納部１０２Ｌ及び１０１Ｒと、文字キーレイアウト管理部１５１Ｌ及び１５１Ｒと、指示移動検出部１５２Ｌ及び１５２Ｒと、操作入力部１５０Ｌ及び１５０Ｒとの機能は、それぞれ、上述したフィルタ生成部１０１と、指示位置格納部１０２と、文字キーレイアウト管理部１５１と、指示移動検出部１５２と、操作入力部１５０との機能と同様である。
【０３２５】
フィルタバッファ部１０３は、フィルタ生成部１０１Ｒが予測した文字範囲５２３をフィルタ生成部１０１Ｒに関連付けて保持する。また、フィルタバッファ部１０３は、フィルタ生成部１０１Ｌが予測した文字範囲５５３をフィルタ生成部１０１Ｌに関連付けて保持する。
【０３２６】
フィルタ合成部１０４は、フィルタバッファ部１０３に保持された文字範囲５２３及び文字範囲５５３を用いて、ユーザの操作を予測する１つの文字範囲５８３を生成する。具体的には、フィルタ合成部１０４は、文字範囲５２３と文字範囲５５３とに共に含まれる範囲を文字範囲５８３として生成する。この文字範囲５８３は、予測表示条件管理部１５８に供給され、上述した他の実施の形態と同様の処理が行われる。
【０３２７】
図３６Ａは、本発明の実施の形態１０における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。
【０３２８】
指示位置５５１は、もう一つのユーザによる文字入力操作の位置を示すものであって、ユーザの入力動作によって移動する。
【０３２９】
指示方向５５２は、指示位置５５１の移動方向を示す。
【０３３０】
文字範囲５５３は、指示位置５５１に関連する、予測された文字の範囲を示す。
【０３３１】
座標Ｘｃ５６１は、指示位置５５１のＸ軸座標を示す。座標Ｙｃ５６２は、指示位置５５１のＹ軸座標を示す。
【０３３２】
図３６Ｂは、本発明の実施の形態１０における指示位置５２１の具体的な数値例を示す図である。図３６Ｃは、本発明の実施の形態２における指示位置５５１の具体的な数値例を示す図である。
【０３３３】
続いて、実施の形態１０に係る文字入力予測装置１００Ｃの動作の具体例を説明する。
【０３３４】
図３６Ａ〜図３６Ｃに示す例では、指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。また、指示方向５２２は水平方向左である。
【０３３５】
指示方向４０２は水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝８００）が代入されて、文字範囲条件４０３が「（０，０）：（８００，５００）」となる。
【０３３６】
次に、フィルタ生成部１０１Ｒは文字範囲５２３を求める。具体的には、フィルタ生成部１０１Ｒは、文字範囲条件４０３「（０，０）：（８００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（８００，５００）」の範囲内か範囲外かを判断する。
【０３３７】
その結果、文字範囲５２３は、「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。そして、この文字範囲５２３が、フィルタバッファ部１０３に保持される。
【０３３８】
また、指示位置５５１の座標Ｘｃ５６１は「４００」であり、座標Ｙｃ５６２は「３００」である。また、指示方向５５２は水平方向右である。
【０３３９】
指示方向４０２は水平方向右４２３なので、文字範囲条件４０３は「（座標Ｘｂ４１１，０）：（１０００，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｃ５６１（＝４００）が代入されて、文字範囲条件４０３が「（４００，０）：（１０００，５００）」となる。
【０３４０】
次に、フィルタ生成部１０１Ｌは文字範囲５５３を求める。具体的には、フィルタ生成部１０１Ｌは、文字範囲条件４０３「（４００，０）：（１０００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３「（４００，０）：（１０００，５００）」の範囲内か範囲外かを判断する。
【０３４１】
その結果、文字範囲５５３は、「あ、い、う、え、お、か、き、く、け、こ、さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」となる。そして、この文字範囲５５３が、フィルタバッファ部１０３に保持される。
【０３４２】
次に、フィルタ合成部１０４は、文字範囲５２３の「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」と、文字範囲５５３の「あ、い、う、え、お、か、き、く、け、こ、さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」とに共通に含まれる文字である「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」を含む文字範囲５８３を生成する。
【０３４３】
以上より、本発明の実施の形態１０に係る文字入力予測装置は、２つの文字入力操作を用いる場合に、高速に予測文字列を絞り込むことができる。
【０３４４】
なお、上記説明では、２つの文字入力操作に対して、個別の文字キーレイアウト管理部１５１Ｌ及び１５１Ｒを設けているが、一つの文字キーレイアウト管理部を２つの文字入力操作に対して共通に用いてもよい。
【０３４５】
（実施の形態１１）
実施の形態１１では、２つの指示位置５２１及び５５１のうち一方のみが移動する場合の文字範囲５８３の決定方法を説明する。
【０３４６】
なお、実施の形態１１に係る文字入力予測装置の構成は、例えば、図３５に示す構成と同様である。
【０３４７】
図３７Ａは、本発明の実施の形態１１における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図３７Ｂは、本発明の実施の形態１１における指示位置５２１の具体的な数値例を示す図である。図３７Ｃは、本発明の実施の形態１１における指示位置５５１の具体的な数値例を示す図である。
【０３４８】
時間経過５７１は、文字入力操作の経過を示す。
【０３４９】
フィルタ合成部１０４は、指示位置５２１及び５５１の一方のみが変化している場合、変化している指示位置及び指示方向から算出された文字範囲と、他方の指示位置とを用いて、文字範囲５８３を決定する。
【０３５０】
指示位置５２１が変化し、指示位置５５１が変化しない場合を説明する。この場合、フィルタ合成部１０４は、文字範囲５２３と、指示位置５５１とを用いて文字範囲５８３を決定する。具体的には、指示位置５２１が指示位置５５１の方向に移動している場合には、フィルタ合成部１０４は、文字範囲５２３に含まれ、かつ、指示位置５５１を基点として指示位置５２１側の範囲を文字範囲５８３に決定する。
【０３５１】
より具体的には、フィルタ生成部１０１Ｒは、文字キーレイアウト管理部１５１Ｒが保持する文字キーレイアウト３０１と、指示位置格納部１０２Ｒが保持する複数の指示位置５２１とを用いて文字範囲５２３を予測するとともに、文字範囲５２３と複数の指示位置５２１と関連付けして保持する。
【０３５２】
指示位置格納部１０２Ｌは、指示移動検出部１５２Ｌから通知される複数の指示位置５５１を保持する。
【０３５３】
フィルタ生成部１０１Ｌは、文字キーレイアウト管理部１５１Ｌが保持する文字キーレイアウト３０１と、指示位置格納部１０２Ｌが保持する複数の指示位置５５１とを用いて文字範囲５５３を予測するとともに、文字範囲５５３を複数の指示位置５５１と関連付けして保持する。
【０３５４】
フィルタバッファ部１０３は、フィルタ生成部１０１Ｒが予測した文字範囲５２３に関連付けされた複数の指示位置５２１のうち、最新の指示位置５２１を誘導位置として保持する。
【０３５５】
または、フィルタバッファ部１０３は、フィルタ生成部１０１Ｌが予測した文字範囲５５３に関連付けされた複数の指示位置５５１のうち、最新の指示位置５５１を誘導位置として保持する。
【０３５６】
指示移動検出部１５２Ｒ又は１５２Ｌは、誘導位置が他方からの位置情報である時、誘導位置と複数の指示位置のいずれかとを用いて指示方向を生成する。
【０３５７】
または、指示移動検出部１５２Ｒ又は１５２Ｌは、誘導位置が他方からの位置情報である時、誘導位置と複数の指示位置のいずれかを用いた位置関係とから新たな指示位置と指示方向とを生成する。
【０３５８】
さらに、フィルタ生成部１０１Ｒ又はフィルタ生成部１０１Ｌは指示移動検出部からの新たな指示位置と指示方向とを用いて文字範囲を予測する。
【０３５９】
続いて、実施の形態１１に係る文字入力予測装置の動作の具体例を説明する。
【０３６０】
図３７Ａ〜図３７Ｃに示す例では、時間経過５４１が「１」の時点の指示位置５２１の座標Ｘｂ５３１は「９００」であり、座標Ｙｂ５３２は「３００」である。また、時間経過５４１が「２」の時点の指示位置５２１の座標Ｘｂ５３１は「８５０」であり、座標Ｙｂ５３２は「３００」である。時間経過５４１が「３」の時点の指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。
【０３６１】
つまり、時間経過５４１が「１」から「３」の間に座標Ｘｂ５３１が「９００」から「８００」に変化し、座標Ｙｂ５３２が「３００」から変化していない。よって、指示方向５２２は「水平方向左」である。
【０３６２】
指示方向４０２は水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝８００）が代入されて、文字範囲条件４０３が「（０，０）：（８００，５００）」となる。
【０３６３】
次に、フィルタ生成部１０１Ｒは文字範囲５２３を求める。具体的には、フィルタ生成部１０１Ｒは、文字範囲条件４０３「（０，０）：（８００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（０，０）：（８００，５００）」の範囲内か範囲外かを判断する。
【０３６４】
その結果、文字範囲５２３は、「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。そして、この文字範囲５２３が、フィルタバッファ部１０３に保持される。
【０３６５】
また、時間経過５７１が「１」の時点の指示位置５５１のみが保持されているため、指示位置５５１の移動方向は判断できない。言い換えると、指示位置５５１が停止していることがわかる。よって、最新の指示位置５２１（時間経過５４１が「３」の時点）の座標Ｘｂ５３１である「８００」と、座標Ｙｂ５３２である「３００」とが誘導位置となる。
【０３６６】
次に、指示移動検出部１５２Ｌは、指示位置５５１（時間経過５７１が「１」の時点）の座標Ｘｃ５６１「４００」及び座標Ｙｃ５６２「３００」と、誘導位置の座標Ｘ「８００」及び座標Ｙ「３００」とを用いて、指示方向５５２を「水平方向右」と判断する。
【０３６７】
指示方向４０２は水平方向右４２３なので、文字範囲条件４０３は「（座標Ｘｂ４１１，０）：（１０００，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｃ５６１（＝４００）が代入されて、文字範囲条件４０３が「（４００，０）：（１０００，５００）」となる。
【０３６８】
次に、フィルタ生成部１０１Ｌは文字範囲５５３を求める。具体的には、フィルタ生成部１０１Ｌは、文字範囲条件４０３「（４００，０）：（１０００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３「（４００，０）：（１０００，５００）」の範囲内か範囲外かを判断する。
【０３６９】
その結果、文字範囲５５３は、「あ、い、う、え、お、か、き、く、け、こ、さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」となる。そして、この文字範囲５５３が、フィルタバッファ部１０３に保持される。
【０３７０】
次に、フィルタ合成部１０４は、文字範囲５２３の「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ、ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」と、文字範囲５５３の「あ、い、う、え、お、か、き、く、け、こ、さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」とに共通に含まれる文字である「さ、し、す、せ、そ、た、ち、つ、て、と、な、に、ぬ、ね、の、は、ひ、ふ、へ、ほ」を含む文字範囲５８３を生成する。
【０３７１】
なお、上記説明では、指示位置５２１及び５５１の一方が停止いている場合の例を説明したが、指示位置５２１及び５５１の一方の移動量又は移動速度が一定値以下の場合に、同様の処理を行なってもよい。
【０３７２】
以上より、本発明の実施の形態１１に係る文字入力予測装置は、２つの文字入力操作の一方のみが移動している場合に、より適切な文字範囲を範囲できる。
【０３７３】
（実施の形態１２）
実施の形態１２では、２つの指示位置５２１及び５５１のうち一方のみが移動する場合の、実施の形態１１とは異なる文字範囲５８３の決定方法を説明する。
【０３７４】
図３８Ａは、本発明の実施の形態１２における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図３８Ｂは、本発明の実施の形態１２における指示位置５２１の具体的な数値例を示す図である。図３８Ｃは、本発明の実施の形態１２における指示位置５５１の具体的な数値例を示す図である。
【０３７５】
フィルタ合成部１０４は、指示位置５２１及び５５１の一方のみが変化している場合、変化している指示位置及び指示方向から算出された文字範囲と、他方の指示位置とを用いて、文字範囲５８３を決定する。
【０３７６】
指示位置５２１が変化し、指示位置５５１が変化しない場合を説明する。この場合、フィルタ合成部１０４は、文字範囲５２３と、指示位置５５１とを用いて文字範囲５８３を決定する。具体的には、指示位置５２１が指示位置５５１の方向に移動している場合には、フィルタ合成部１０４は、文字範囲５２３に含まれ、かつ、基準点より指示位置５２１側に位置する範囲を文字範囲５８３に決定する。ここで、基準点とは、指示位置５５１と指示位置５２１との間の点である。例えば、基準点は、指示位置５５１と指示位置５２１との中点である。なお、基準点は、指示位置５５１及び指示位置５２１の一方から他方側に第１距離移動した点でもよい。ここで第１距離とは、予め定められた値でもよいし、指示位置５５１と指示位置５２１との距離に応じて変化する値でもよい。
【０３７７】
以上より、本発明の実施の形態１２に係る文字入力予測装置は、２つの文字入力操作の一方のみが移動している場合に、より適切な文字範囲を範囲できる。
【０３７８】
（実施の形態１３）
実施の形態１３では、２つの指示位置が逆方向に移動する場合の動作を説明する。具体的には、フィルタ合成部１０４は、文字範囲５２３と文字範囲５５３とに重複する文字が含まれていない場合、文字範囲５２３と文字範囲５５３とのうち、指示速度が速い側の文字範囲を文字範囲５８３に決定する。
【０３７９】
図３９Ａは、本発明の実施の形態１３における文字キーレイアウト表示５０１を用いた文字入力操作状況の一例を示す図である。図３９Ｂは、本発明の実施の形態１３における指示位置５２１の具体的な数値例を示す図である。図３９Ｃは、本発明の実施の形態１３における指示位置５５１の具体的な数値例を示す図である。
【０３８０】
続いて、実施の形態１３に係る文字入力予測装置の動作の具体例を説明する。
【０３８１】
図３９Ａ〜図３９Ｃに示す例では、最新の指示位置５２１の座標Ｘｂ５３１が「８００」であり、座標Ｙｂ５３２が「３００」である。また、指示方向５２２は水平方向右である。
【０３８２】
指示方向４０２は水平方向右４２３なので、文字範囲条件４０３は「（座標Ｘｂ４１１，０）：（１０００，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｂ５３１（＝８００）が代入されて、文字範囲条件４０３が「（８００，０）：（１０００，５００）」となる。
【０３８３】
次に、フィルタ生成部１０１Ｒは文字範囲５２３を求める。具体的には、フィルタ生成部１０１Ｒは、文字範囲条件４０３「（８００，０）：（１０００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、各文字３０２が文字範囲条件４０３「（８００，０）：（１０００，５００）」の範囲内か範囲外かを判断する。
【０３８４】
その結果、文字範囲５２３は、「あ、い、う、え、お、か、き、く、け、こ」となる。そして、この文字範囲５２３が、フィルタバッファ部１０３に保持される。
【０３８５】
また、最新の指示位置５５１の座標Ｘｃ５６１は「４００」であり、座標Ｙｃ５６２は「３００」である。また、指示方向５５２は水平方向左４２１である。
【０３８６】
指示方向４０２は水平方向左４２１なので、文字範囲条件４０３は「（０，０）：（座標Ｘｂ４１１，５００）」となる。さらに、座標Ｘｂ４１１に座標Ｘｃ５６１（＝４００）が代入されて、文字範囲条件４０３が「（０，０）：（４００，５００）」となる。
【０３８７】
次に、フィルタ生成部１０１Ｌは文字範囲５５３を求める。具体的には、フィルタ生成部１０１Ｌは、文字範囲条件４０３「（０，０）：（４００，５００）」と文字キーレイアウト３０１のレイアウト位置３０３とを用いて、文字３０２が文字範囲条件４０３「（０，０）：（４００，５００）」の範囲内か範囲外かを判断する。
【０３８８】
その結果、文字範囲５５３は、「ま、み、む、め、も、や、ゆ、よ、ら、り、る、れ、ろ、わ、を、ん、−」となる。そして、この文字範囲５５３が、フィルタバッファ部１０３に保持される。
【０３８９】
次に、フィルタ合成部１０４は、フィルタバッファ部１０３からの文字範囲５２３と文字範囲５５３とに共通に含まれる文字があるか否かを判定する。この場合、共通の文字が確認できないため、フィルタ合成部１０４は、文字範囲５２３及び５５３に関連付けされた指示位置５２１及び指示位置５５１の移動量に応じて、一方の文字範囲を選択する。
【０３９０】
具体的には、時間経過５４１が「１」の時点における指示位置５２１の座標Ｘｂ５３１は「６００」で座標Ｙｂ５３２「３００」である。時間経過５４１が「２」の時点における指示位置５２１の座標Ｘｂ５３１は「７００」であり、座標Ｙｂ５３２は「３００」である。時間経過５４１が「３」の時点における指示位置５２１の座標Ｘｂ５３１は「８００」であり、座標Ｙｂ５３２は「３００」である。よって、時間経過５４１が「１」から「３」の間における座標Ｘｂ５３１の変化量は「２００」である。
【０３９１】
また、時間経過５７１が「１」の時点における指示位置５５１の座標Ｘｃ５６１は「５００」であり、座標Ｙｃ５６２は「３００」である。時間経過５７１が「２」の時点における指示位置５５１の座標Ｘｃ５６１は「４５０」であり、座標Ｙｃ５６２は「３００」である。時間経過５７１が「３」の時点における指示位置５５１の座標Ｘｃ５６１は「４００」であり、座標Ｙｃ５６２は「３００」である。よって、時間経過５７１が「１」から「３」の間における座標Ｘｃ５６１の変化量は「１００」である。
【０３９２】
次に、フィルタ合成部１０４は、求めた指示位置５２１及び指示位置５５１の変化量を比較して、変化量が多い指示位置がユーザの操作方向であると判断する。
【０３９３】
その結果、フィルタ合成部１０４は、変化量の多い側の文字範囲５２３「あ、い、う、え、お、か、き、く、け、こ」を文字範囲５８３として選択する。
【０３９４】
以上より、本発明の実施の形態１３に係る文字入力予測装置は、２つの文字入力操作が逆方向に移動している場合に、より適切な文字範囲を範囲できる。
【０３９５】
なお、上記説明において、複数文字桁への適応又は複数の入力装置への対応として、フィルタ合成部１０４を設けたが、フィルタ生成部１０１が、直接、予測表示条件管理部１５８にフィルタの情報を提供してもよい。
【０３９６】
以上、本発明の実施の形態に係る文字入力予測装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【０３９７】
また、上記実施の形態に係る文字入力予測装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０３９８】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０３９９】
また、本発明の実施の形態に係る、文字入力予測装置の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０４００】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０４０１】
つまり、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。
【０４０２】
すなわち、このプログラムは、コンピュータに、複数の文字キーが配置された文字キーレイアウト表示を用いた、ユーザによる第１文字入力操作の情報を取得するステップと、前記第１文字入力操作の情報から、前記文字キーレイアウト表示における、前記第１文字入力操作の位置を示す指示位置と、前記文字入力操作の移動方向を示す指示方向とを検出するステップと、前記指示位置と、前記指示方向と、前記文字キーレイアウト表示における前記複数の文字キーの配置を示す文字キーレイアウトとを用いて、前記文字キーレイアウト表示における、前記指示位置を基点として前記指示方向側に位置する文字範囲を決定するステップと、辞書に保持される複数の候補文字列のうち、前記第１文字範囲に含まれる文字のいずれかを含む予測文字列を検索するステップとを実行させる。
【０４０３】
また、上記実施の形態１〜１３に係る、文字入力予測装置、及びそれら変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０４０４】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【０４０５】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０４０６】
また、フローチャートにおける処理手順は一例であり、同様の処理結果を実現できる他の処理手順を用いてもよい。例えば、上記のステップが実行される順序は、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０４０７】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【０４０８】
本発明は、文字入力予測装置に適用できる。また、本発明に係る文字入力予測装置を用いた入力装置は、文字入力の入力効率を向上できるとともに、ＩＴリテラシーの有無に関係なく、誰にでも容易利用できるので、スマートフォン、又は電子書籍端末として有用である。また、本発明は、十字キー等の既存の入力装置にも適用できる。
【符号の説明】
【０４０９】
１００、１００Ａ、１００Ｂ、１００Ｃ、９００  文字入力予測装置
１０１、１０１Ｌ、１０１Ｒ  フィルタ生成部
１０２、１０２Ｌ、１０２Ｒ  指示位置格納部
１０３  フィルタバッファ部
１０４  フィルタ合成部
１５０、１５０Ｌ、１５０Ｒ  操作入力部
１５１、１５１Ｌ、１５１Ｒ  文字キーレイアウト管理部
１５２、１５２Ｌ、１５２Ｒ  指示移動検出部
１５３、９５３  文字入力部
１５４、９５４  文字列生成部
１５５、９５５  辞書格納部
１５６、９５６  辞書検索部
１５７、９５７  出力文字列バッファ部
１５８  予測表示条件管理部
１５９  予測制御部
１６０  出力制御部
１６１、９６１  出力部
１７０  辞書
３０１  文字キーレイアウト
３０２、９２１  文字
３０３  レイアウト位置
３０４  開始位置
３０５  終了位置
３４１、３５１  Ｘ軸座標
３４２、３５２  Ｙ軸座標
４０１、４０１Ａ、４０１Ｂ、４０１Ｃ、４０１Ｄ  文字範囲定義
４０２、４０２Ａ  指示方向
４０３  文字範囲条件
４０４  開始位置
４０５  終了位置
４０６  角度範囲
４０７  基準範囲
４０８  削除範囲
４１１  座標Ｘｂ
４１２  座標Ｙｂ
４２１  水平方向左
４２２  垂直方向上
４２３  水平方向右
４２４  左斜め下
５０１  文字キーレイアウト表示
５０２  Ｘ軸座標
５０３  Ｙ軸座標
５２１、５５１  指示位置
５２２、５５２  指示方向
５２３、５２３Ａ、５２３Ｂ、５５３、５８３  文字範囲
５３１  座標Ｘｂ
５３２  座標Ｙｂ
５３３  指示角度
５４１、５７１、７４１  時間経過
５６１  座標Ｘｃ
５６２  座標Ｙｃ
７２１  指示起点
７３１  座標Ｘａ
７３２  座標Ｙａ
７５１  入力文字位置
７６１  座標Ｘｍ
７６２  座標Ｙｍ
７７１、７７２  文字範囲表示
７８１  文字列
７８２  表示エリア
７８３  確認表示
８０１  入力装置
８０２Ｌ  左タッチセンサ
８０２Ｒ  右タッチセンサ
【図１】
2012132291.tif 000003
【図２】
2012132291.tif 000004
【図３】
2012132291.tif 000005
【図４】
2012132291.tif 000006
【図５Ａ】
2012132291.tif 000007
【図５Ｂ】
2012132291.tif 000008
【図６】
2012132291.tif 000009
【図７】
2012132291.tif 000010
【図８Ａ】
2012132291.tif 000011
【図８Ｂ】
2012132291.tif 000012
【図９】
2012132291.tif 000013
【図１０】
2012132291.tif 000014
【図１１Ａ】
2012132291.tif 000015
【図１１Ｂ】
2012132291.tif 000016
【図１１Ｃ】
2012132291.tif 000017
【図１２】
2012132291.tif 000018
【図１３】
2012132291.tif 000019
【図１４Ａ】
2012132291.tif 000020
【図１４Ｂ】
2012132291.tif 000021
【図１４Ｃ】
2012132291.tif 000022
【図１５】
2012132291.tif 000023
【図１６Ａ】
2012132291.tif 000024
【図１６Ｂ】
2012132291.tif 000025
【図１６Ｃ】
2012132291.tif 000026
【図１７Ａ】
2012132291.tif 000027
【図１７Ｂ】
2012132291.tif 000028
【図１８Ａ】
2012132291.tif 000029
【図１８Ｂ】
2012132291.tif 000030
【図１８Ｃ】
2012132291.tif 000031
【図１９】
2012132291.tif 000032
【図２０Ａ】
2012132291.tif 000033
【図２０Ｂ】
2012132291.tif 000034
【図２１】
2012132291.tif 000035
【図２２】
2012132291.tif 000036
【図２３Ａ】
2012132291.tif 000037
【図２３Ｂ】
2012132291.tif 000038
【図２４】
2012132291.tif 000039
【図２５Ａ】
2012132291.tif 000040
【図２５Ｂ】
2012132291.tif 000041
【図２６Ａ】
2012132291.tif 000042
【図２６Ｂ】
2012132291.tif 000043
【図２７Ａ】
2012132291.tif 000044
【図２７Ｂ】
2012132291.tif 000045
【図２７Ｃ】
2012132291.tif 000046
【図２８】
2012132291.tif 000047
【図２９】
2012132291.tif 000048
【図３０】
2012132291.tif 000049
【図３１】
2012132291.tif 000050
【図３２】
2012132291.tif 000051
【図３３】
2012132291.tif 000052
【図３４】
2012132291.tif 000053
【図３５】
2012132291.tif 000054
【図３６Ａ】
2012132291.tif 000055
【図３６Ｂ】
2012132291.tif 000056
【図３６Ｃ】
2012132291.tif 000057
【図３７Ａ】
2012132291.tif 000058
【図３７Ｂ】
2012132291.tif 000059
【図３７Ｃ】
2012132291.tif 000060
【図３８Ａ】
2012132291.tif 000061
【図３８Ｂ】
2012132291.tif 000062
【図３８Ｃ】
2012132291.tif 000063
【図３９Ａ】
2012132291.tif 000064
【図３９Ｂ】
2012132291.tif 000065
【図３９Ｃ】
2012132291.tif 000066
【図４０】
2012132291.tif 000067
【国際調査報告】
2012132291.tif 000068
2012132291.tif 000069