(57)【要約】【課題】ユーザの特性に応じたソフトウェアキーボードのレイアウトを、従来よりも適切に生成することを目的とする。【解決手段】  領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータに、前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、前記第一のキーにより入力された文字の削除を検出し、前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行させることを特徴とする文字入力プログラム。【選択図】図６
2014007439.tif 000002
【特許請求の範囲】
【請求項１】
領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータに、
前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、
前記第一のキーにより入力された文字の削除を検出し、
前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、
前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、
前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行させることを特徴とする文字入力プログラム。
【請求項２】
前記コンピュータに、さらに、
前記ユーザの情報に応じて、前記閾値を算出する処理を実行させ、
算出された前記閾値に基づいて、前記補正する処理が実行されることを特徴とする請求項１記載の文字入力プログラム。
【請求項３】
前記コンピュータに、前記閾値を算出する処理において、
前記ユーザによる過去の押下操作の回数に対する、前記距離が過去の閾値以下であると判定された過去の回数の割合に基づいて、前記閾値を算出することを特徴とする請求項２記載の文字入力プログラム。
【請求項４】
前記コンピュータに、
前記補正において、前記第一の押下位置が前記第二のキーとして認識される範囲に含まれる補正を行うことを特徴とする請求項１乃至請求項３のいずれかひとつに記載の文字入力プログラム。
【請求項５】
前記コンピュータに、
前記距離が閾値よりも大きい場合には、前記第一の押下位置に基づいて、前記第一のキーとして認識される範囲を補正する処理を実行させることを特徴とする請求項１乃至請求項４のいずれかひとつに記載の文字入力プログラム。
【請求項６】
前記コンピュータに、
前記距離が閾値よりも大きい場合には、前記第二の押下位置に基づいて、前記第二のキーとして認識される範囲を補正する処理を実行させることを特徴とする請求項１乃至請求項５のいずれかひとつに記載の文字入力プログラム。
【請求項７】
前記コンピュータに、さらに、
前記第一のキーおよび前記第二のキーを含む複数のキー各々と、該複数のキーそれぞれの該領域における配置の基準となる基準座標とが対応付けられた対応情報を参照し、
前記領域を構成する画素各々と、該複数のキー各々の該基準座標との距離に基づいて、該複数のキー各々への入力として認識される範囲を設定する処理を実行させることを特徴とする請求項１乃至請求項６のいずれかひとつに記載の文字入力プログラム。
【請求項８】
前記補正する処理において、前記対応情報における前記第二のキーに対応する基準座標を、前記第一の押下位置に基づいて算出した他の基準座標に更新することを特徴とする請求項７記載の文字入力プログラム。
【請求項９】
領域へのユーザによる押下操作に基づいて文字入力を行う情報処理装置であって、
前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得するとともに、他の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得する取得部と、
前記第一のキーにより入力された文字の削除を検出する検出部と、
前記削除が検出された場合に、前記第一の押下位置と前記第二のキーとの距離が、閾値以下であるか判定する判定部と、
前記判定部による判定の結果に応じて、前記第一の押下位置に基づき、前記領域内で前記第二のキーとして認識される範囲を補正する補正部とを有することを特徴とする情報処理装置。
【請求項１０】
領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータが、
前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、
前記第一のキーにより入力された文字の削除を検出し、
前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、
前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、
前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行することを特徴とする文字入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示する技術は、文字入力を制御する技術に関する。
【背景技術】
【０００２】
近年、スマートフォンやスレートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）／ｉＰａｄ（登録商標）をはじめとしたタブレット型デバイスなど、物理的なキーボードを有さないキーボードレスデバイスの市場が急拡大している。キーボードレスデバイスにおける文字入力は、文字入力インターフェースとして、ソフトウェアキーボードが利用されることが多い。ソフトウェアキーボードには、タッチパネルを利用するタイプや、カメラやレーザー等を利用するタイプ等がある。
【０００３】
タッチパネルを利用するソフトウェアキーボードは、タッチパネル式のディスプレイにキーボードイメージを表示する。そして、当該ソフトウェアキーボードは、タッチパネルに対するユーザの接触位置を検出することで、文字入力を実現する。
【０００４】
また、カメラを利用するタイプのソフトウェアキーボードとして、操作者の指元を上方から撮影するカメラと、奥側から撮影するカメラとを用いる仮想キーボードが知られている（例えば、特許文献１参照）。このような仮想キーボードは、２台のカメラを用いて、平面等に配置された操作者の指先の画像を撮影する。そして、仮想キーボードは、ＸＹＺの各軸であらわされる３次元座標軸のＺ方向における操作者の指先の位置と基準位置とを比較し、さらにＸＹ平面における仮想キーに関する位置情報を参照する事で、操作者が意図した仮想キーを検出する。
【０００５】
また、ソフトウェアキーボードは、ハードウェアキーボードとは異なり、各キーの認識範囲を変更する事で、各キーの配置や大きさ等を変更することが可能である。例えば、タッチパネルを利用するキーボード装置が、ユーザがタッチパネルのキーの誤入力を行った事を検出し、その結果に応じて任意のキーの入力受け付け範囲を調整する技術が知られている（例えば、特許文献２参照）。
【０００６】
当該キーボード装置は、削除やバックスペース等の修正キーの入力を検出すると、キーコードや入力座標、目的のキーからの変位などのデータを利用して学習を行い。そして、キーボード装置は、タッチパネルにおけるキーのタッチ入力受け付け範囲を調整する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２８８１５６号公報
【特許文献２】特開２０００−６６８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ユーザが誤入力を修正する場合には、次の２通りの場合が考えられる。一つ目は、ユーザにとって、ソフトウェアキーボードのレイアウトが使いにくいこと等に起因して、ユーザによる押下位置が、ユーザの意図したキーの認識範囲とは異なる場合である。この場合、ソフトウェアキーボードは、ユーザによる押下位置に基づいて入力キーを特定し、入力キーに基づいた文字を確定する。しかし、ユーザは、意図したキーと異なるキーを押下してしまったことを認識し、確定された文字を削除し、再度自身の所望するキーの押下を再度試みる。
【０００９】
例えば、ユーザが押下した位置には、文字「Ｆ」が割り当てられたキーの認識範囲であったとする。ソフトウェアキーボードは「Ｆ」を入力文字として確定するが、ユーザは文字「Ｇ」を入力するつもりであれば、文字「Ｆ」の削除を行い、文字「Ｇ」が割り当てられたキーの押下を試みる。
【００１０】
二つ目は、ソフトウェアキーボードのレイアウトの使いやすさ等とは関係なく、ユーザがはじめから誤ったキーを押下した場合である。例えば、ソフトウェアキーボードは、ユーザによる押下位置に基づいて、文字「Ｍ」が割り当てられたキーの押下を認識したとする。その後、ユーザは、文字「Ｍ」ではなく、本来、文字「Ｇ」を入力すべきであったと気がついた場合、「Ｍ」の削除を行い、再度正しい「Ｇ」の入力を行う。
【００１１】
従来技術に開示されたキーボード装置は、修正キーの入力を検出した場合に、上記２通りの場合を区別することはない。したがって、学習後のレイアウトは、必ずしも適切なレイアウトにはならない。
【００１２】
そこで、本実施例に開示の技術は、ユーザの特性に応じたソフトウェアキーボードのレイアウトを、従来技術よりも適切に生成することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決する為に、本実施例に開示の文字入力プログラムは、領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータに、前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、前記第一のキーにより入力された文字の削除を検出し、前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行させる。
【発明の効果】
【００１４】
本発明の一観点によれば、ユーザの特性に応じたソフトウェアキーボードのレイアウトを、従来よりも適切に生成することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】図１は、情報処理装置１０の利用形態の一例を示す図である。
【図２】図２は、本実施例における修正操作を説明する為の図である。
【図３】図３は、情報処理装置１０の機能ブロック図である。
【図４】図４は、対応テーブルのデータ構成例を示す図である。
【図５】図５ＡおよびＢは、操作履歴情報のデータ構成例を示す図である。
【図６】図６は、実施例１に係る文字入力処理のフローチャートである。
【図７】図７は、補正処理のフローチャートである。
【図８】図８Ａおよび図８Ｂは、キーの認識範囲およびレイアウトの変化を説明する為の図である。
【図９】図９は、本実施例の効果を説明する為の図である。
【図１０】図１０は、実施例２に係る情報処理装置により実行される文字入力処理のフローチャートである。
【図１１】図１１は、実施例３に係る情報処理装置２０の機能ブロック図である。
【図１２】図１２は、熟練度に応じた閾値の設定を説明する為の図である。
【図１３】図１３は、情報処理装置３０の利用形態の一例を示す図である。
【図１４】図１４は情報処理装置１０のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、詳細な本発明の実施例に関して説明する。なお、以下の各実施例は、処理の内容を矛盾させない範囲で適宜組み合わせることが可能である。以下、図面に基づいて各実施例について説明する。
（実施例１）
図１は、情報処理装置１０の利用形態の一例を示す図である。例えば、情報処理装置１０はタッチパネル１１を有する。情報処理装置１０は、コンピュータであり、例えば、スマートフォンや、スレートＰＣ、タブレット型デバイスなどである。
【００１７】
ここで、図１の例では、情報処理装置１０の一例であるタッチパネルを搭載したタブレット型デバイスの実施例を示している。これに限らず、本実施例に開示の技術は、カメラやレーザー等のセンサを搭載したソフトウェアキーボードデバイス等にも適用される。
【００１８】
タッチパネル１１は、表示装置と位置入力装置とを有する。位置入力装置は、タッチパネルに対する押下操作の位置を検出してセンサ等である。タッチパネルにおける押下操作の検出方法としては、例えば、抵抗膜方式、静電容量方式、投影型静電容量方式、電磁誘導方式等、種々の方式が採用される。
【００１９】
図１の例では、タッチパネル１１は、キーボードイメージ表示領域１２と入力文字表示領域１３とを有する。キーボードイメージ表示領域１２は、種々の文字入力方式に合致したキーボードイメージを表示する領域である。図１は、英数入力方式において、ＱＷＥＲＴＹ配列方式のキーボードイメージの例である。
【００２０】
また、入力文字表示領域１３は、ユーザによる入力された文字を表示する領域である。例えば、入力文字表示領域１３は、図１の例では、メーラにおいて、ユーザが作成したメッセージ「Ｈｅｌｌｏ＿」を表示する。なお、「＿」は文字入力のカーソル位置を示す。
【００２１】
本実施例における情報処理装置１０は、タッチパネルに対する押下位置に基づいてキーを特定し、特定したキーに基づいて入力文字として確定する。さらに、情報処理装置１０は、キーの認識範囲をユーザの操作履歴に基づいて、補正する。
【００２２】
キーの認識範囲は、各キーに割り当てられた範囲を示す情報である。例えば、タッチパネルを利用した情報処理装置１０は、タッチパネル上の座標に基づいて、キーの認識範囲を設定する。また、カメラが取得した画像を解析することで、ユーザの押下位置を特定する形態の情報処理装置である場合には、キーの認識範囲は、画像における座標に基づいて、キーの認識範囲を設定する。
【００２３】
具体的には、各キーに対して設定された基準座標に基づいて、認識範囲は設定される。キーボードイメージ表示領域１２を構成する画素各々について、複数の基準座標の内にもっとも近い基準座標を持つキーが特定される。そして、キーボードイメージ表示領域１２を構成する画素のうち、もっとも近いキーが同一となる画素群が、ひとつのキーの認識範囲を構成する。
【００２４】
情報処理装置１０は、キーボードイメージをタッチパネル１１に表示する際に、もっとも近い基準座標が同一となる画素群を線で囲う等、各キーの認識範囲をユーザが視認可能となる態様で表示する。また、他の変形例としては、キーの認識範囲を、関数や、下限および上限の座標で規定しても良い。
【００２５】
キーの認識範囲が補正される事で、キーボードのレイアウトが、ユーザの操作履歴を反映したレイアウトへ変更される。つまり、ユーザの特性に応じたキーボードレイアウトが生成される。本実施例においては、レイアウトが変更されるとは、キーボードを構成するキーの位置が変更されることや、キーの大きさが変更されることを言う。
【００２６】
さらに、本実施例においては、ユーザの操作履歴のうち、特に、修正操作の履歴を利用する。修正操作とは、入力された文字の削除操作と、その後のキー押下操作を含む。つまり、あるキーの押下操作に応じて、ある文字が入力された後に、当該文字に対する削除が指示される。そして、新たなキーの押下操作が実行され、新たなキーの押下操作に応じて、新たな文字が入力される。
【００２７】
また、本実施例においては、削除操作前の押下位置と、削除操作後に入力されたキーとの距離を利用する。そして、情報処理装置１０は、当該距離に基づいて、修正前の押下位置を用いて、修正後の入力キーの基準座標を補正するか否かを判定する。あるキーの基準座標が補正されることは、あるキーの認識範囲が補正されることになり、引いては、キーボード全体のレイアウトが変更されることになる。
【００２８】
つまり、各キーの基準座標に基づいて認識範囲を設定する処理において、キーボードイメージ表示領域１２を構成する画素の中には、複数の基準座標の内にもっとも近い基準座標を持つキーが、あるキーの基準座標に対する補正前後で変化する画素が出てくる。補正後の基準座標に基づいて、キーボードイメージ表示領域１２を構成する画素各々について、複数の基準座標の内にもっとも近い基準座標を持つキーが特定することで、キーボードにおける複数のキーの認識範囲が変化する。引いては、キーボードのレイアウトが変更される。
【００２９】
本実施例においては、キーの基準座標を補正することで、キーの認識範囲は必然的に補正される。また、あるキーの基準座標が補正されることで、キーボードのレイアウトも補正される。なお、各キーの認識範囲を、予めＸ座標およびＹ座標の範囲として定義づける場合には、当該範囲を補正することで、キーの認識範囲は補正される。
【００３０】
図２は、本実施例における修正操作を説明する為の図である。位置１０１、１０２、１０３は、各々ユーザが押下操作を行ったタッチパネル上の位置である。
【００３１】
本実施例における情報処理装置１０は、削除操作前の押下位置と、削除操作後に入力されたキーとの距離が閾値以下である場合に、削除操作前の押下位置を用いて、削除操作後に入力されたキーの認識範囲を補正する。
【００３２】
例えば、削除操作前の押下位置と、削除操作後に入力されたキーの基準座標との距離が閾値以下である場合に、削除操作後の入力キーの基準座標を補正する。これは、キーの認識範囲がユーザにとって操作性が良くない為に、ユーザが押下操作を誤ったと考えられる為である。よって、情報処理装置１０は、削除操作後の入力キーの基準座標を補正することで、認識範囲を、ユーザの特性に合わせて改良する。
【００３３】
一つ目のケースにおいて、例えば、ユーザによる押下操作の結果、情報処理装置１０のタッチパネル１１は、位置１０２への押下を検出する。情報処理装置１０は、位置１０２に応じた入力文字「Ｇ」に対する削除操作を検出した場合に、入力文字「Ｇ」を削除する。さらに、情報処理装置１０は、削除後に、新たに位置１０１への押下を検出する。
【００３４】
一つ目のケースでは、位置１０２と、位置１０１に基づくキーの基準座標との距離が、閾値以下であるとする。情報処理装置１０は、削除操作前の押下位置である位置１０２を用いて、削除操作後のキー（文字「Ｆ」が割り当てられたキー）の基準座標を補正する。なお、以下、文字「Ｆ」が割り当てられたキーを、キー「Ｆ」とする。キー「Ｆ」の基準座標が補正されることで、キー「Ｆ」の認識範囲は補正される。
【００３５】
ここで、情報処理装置１０は、キー「Ｆ」の基準座標を押下位置１０２に近づける補正や、キー「Ｆ」の認識範囲に位置１０２を含める補正を行う。補正前には、位置１０２はキー「Ｇ」の認識範囲に含まれているが、ユーザにより修正操作が行われたということは、位置１０２がキー「Ｆ」の認識範囲に含まれた方が、ユーザにとって操作性が高いと推測できる為である。
【００３６】
なお、ユーザによる修正操作が一回行われた場合に、情報処理装置１０は、位置１０２に削除操作後に入力されたキー「Ｆ」が割当てる補正を行う必要はなく、複数回の修正操作に基づいて補正を行ってもよい。
【００３７】
一方、二つ目のケースにおいて、例えば、ユーザによる押下操作の結果、情報処理装置１０のタッチパネル１１は、位置１０３への押下を検出する。情報処理装置１０は、位置１０３に応じた入力文字「Ｍ」に対する削除操作を検出した場合に、入力文字「Ｍ」を削除する。さらに、情報処理装置１０は、削除後に、新たに位置１０１への押下を検出する。
【００３８】
図２における二つ目のケースは、位置１０３と、位置１０１に基づくキーの基準座標との距離が、閾値よりも大きい場合である。２つ目のケースにおいて、情報処理装置１０は、削除操作前の押下位置である位置１０３を用いて、削除操作後に入力されたキー「Ｆ」の基準座標を補正する処理は行わない。これは、キー「Ｆ」の基準座標および認識範囲を、不要に補正することにつながる為である。
【００３９】
ユーザにとって、キーボードレイアウトの操作性が低いことに起因する入力ミスは、修正操作を利用して、キーボードのレイアウトを改善する必要がある。しかし、レイアウトの操作性とは関連が低いことが推定される入力ミスについては、修正操作を利用したレイアウト変更は不要である。よって、レイアウトの操作性とは関連が低いことが推定される入力ミスを除外して、修正操作を利用したレイアウトの変更を行うことで、ソフトウェアキーボードのレイアウトの操作性を改善することができる。
【００４０】
図３は、情報処理装置１０の機能ブロック図である。情報処理装置１０は、表示制御部２１、取得部２２、検出部２３、判定部２４、補正部２５、記憶部２６を有する。
【００４１】
表示制御部２１は、タッチパネル１１にキーボードイメージを表示する。表示制御部２１は、各キーの認識範囲がユーザに識別可能な態様で、キーボードイメージ表示領域１２にキーボードイメージを表示する。また、表示制御部２１は、キー操作により入力された入力文字を、入力文字表示領域１３に表示する。
【００４２】
例えば、表示制御部２１は、各キーの基準座標と、キーボードイメージ表示領域の各画素の座標とに基づいて、各キーの認識範囲を設定する。そして、表示制御部２１は、各キーの認識範囲と、キーボードイメージ表示領域における各キーの表示範囲とが合致するように、キーボードイメージを表示する。
【００４３】
取得部２２は、押下位置に対応するキーを取得する。例えば、取得部２２は、タッチパネル上の押下位置（Ｘ座標およびＹ座標）を取得し、対応情報を参照し、押下位置に対応するキーを取得する。対応情報は、キー毎に、各キーの認識範囲に関する情報を規定した情報である。対応情報の一例は、対応テーブルである。
【００４４】
例えば、対応テーブルは、各キーの認識範囲に関する情報として、キー毎にキーの基準座標を記憶する。取得部２２は、対応テーブルに記憶された基準座標に基づいて、押下位置との距離が最も近い基準座標を特定する。そして、取得部２２は、特定した基準座標に対応するキーを取得する。
【００４５】
そして、取得部２２は、取得したキーに基づいて、入力文字を決定する。各キーには入力方式に応じて複数の文字が割り当てられている場合には、入力方式に応じて、複数の文字のうちいずれかの文字を、入力文字として決定する。
【００４６】
検出部２３は、入力された文字の削除操作を検出する。例えば、検出部２３は、ユーザによる削除キーの押下を検出する。削除キーは、入力された文字の削除を行う為のキーであって、例えば、Ｂａｃｋ  ＳｐａｃｅキーやＤｅｌｅｔｅキーである。
【００４７】
判定部２４は、検出された削除操作に係る修正操作をキーの認識範囲の補正に利用するか否かを判定する。ひいては、判定部２４は、修正操作をキーボードレイアウトの変更に利用するか否かを判定することとなる。
【００４８】
例えば、検出部２３による検出された文字の削除後に、取得部２２が、新たな押下位置に対応するキーを取得した場合に、判定部２４は、削除対象となった文字に対する押下操作時の押下位置と、新たに取得したキーの基準座標との距離を算出する。
【００４９】
距離が閾値以下であれば、判定部２４は、修正操作をキーの認識範囲の補正に利用すると判定し、補正部２５へ補正を指示する。一方、距離が閾値より大きい場合は、判定部２４は、修正操作をキーの認識範囲の補正に利用しないと判定する。
【００５０】
補正部２５は、判定部２４の判定結果に基づいて、各キーの認識範囲を補正する。例えば、削除操作前の押下位置が、削除操作後の入力キーの認識範囲に含まれるように補正を行う。補正部２５は、削除操作前の押下位置を用いて、削除操作後の入力キーの基準座標を補正する。なお、基準座標が補正されることによって、キーの認識範囲も補正される。補正部２５は、例えば、数１および数２を用いて補正を行う。
【００５１】
（数１）
ｘ＿ｒｅｆ２＿ａｆｔｅｒ＝  ｘ＿ｒｅｆ１＿ａｆｔｅｒ  ×  Ａ＋  ｘ＿ｂｅｆｏｒｅ×（１  -  Ａ）
【００５２】
（数２）
ｙ＿ｒｅｆ２＿ａｆｔｅｒ  ＝  ｙ＿ｒｅｆ１＿ａｆｔｅｒ  ×  Ａ  ＋  ｙ＿ｂｅｆｏｒｅ×（１  -  Ａ）
なお、ｘ＿ｒｅｆ１＿ａｆｔｅｒおよびｙ＿ｒｅｆ１＿ａｆｔｅｒは、削除操作後の入力キーの基準座標であって、補正前の基準座標である。ｘ＿ｒｅｆ２＿ａｆｔｅｒおよびｙ＿ｒｅｆ２＿ａｆｔｅｒは、削除操作後の入力キーの基準座標であって、補正後の基準座標である。ｘ＿ｂｅｆｏｒｅおよびｙ＿ｂｅｆｏｒｅは、削除操作前の押下位置である。Ａは、忘却係数であって、０より大きく１より小さい範囲で、適宜設定される。例えば、Ａは０．７等に設定される。忘却係数が小さいほど、１度の修正操作により大きく補正されることとなる。
【００５３】
削除操作後の入力キーに係る基準座標は、削除操作前の押下位置に近づけように補正される。補正された基準座標に基づいて設定される認識範囲は、当該押下位置を含む範囲となる可能性が高く、複数回の補正によればさらに当該可能性は高くなる。
【００５４】
また、表示制御部２１は、補正部による補正によって、あるキーの基準座標が補正された場合に、新たな基準座標に基づいて、各キーの認識範囲を設定する。つまり、表示制御部２１は、補正された認識範囲に基づき、各キーの認識範囲が識別可能な態様で、新たなキーボードイメージをキーボードイメージ表示領域１２に表示する。
【００５５】
次に、記憶部２６は、対応情報を記憶する。例えば、記憶部２６は、対応情報として対応テーブル２６１を記憶する。また、記憶部２６は、操作履歴情報を記憶する。
【００５６】
図４は、対応テーブルのデータ構成例を示す図である。なお、対応テーブル２６１は、記憶部２６に記憶される。対応テーブル２６１は、キーごとに、キーＩＤと基準座標とを対応付けて記憶する。
【００５７】
キーＩＤはキーを各々識別するための情報である。また、対応テーブル２６１は、さらに、入力方式に応じて、各キーＩＤのキーに割り当てられる文字を記憶してもよい。例えば、対応テーブル２６１は、キーＩＤ「キー１」に対して、日本語入力方式では「あ」が、英数入力方式においては「Ｑ」を対応付けて記憶しても良い。
【００５８】
基準座標は、各キーの認識範囲を決定する際の基準となる座標である。例えば、キーＩＤ「キー１」であるキーは、基準座標（ｘ１，ｙ１）を基準に認識範囲が設定される。
【００５９】
図５ＡおよびＢは、操作履歴情報のデータ構成例を示す図である。なお、操作履歴情報は、記憶部２６に記憶される。操作履歴情報は、取得部２２が取得した押下位置と、押下位置に対応するキーのキーＩＤとを含む情報である。
【００６０】
操作履歴情報として、本実施例においては、最新の操作に係る操作履歴情報を記憶する。ただし、削除操作が検出された場合には、削除操作の直前の押下操作に係る操作履歴情報と、削除操作後の押下操作に係る操作履歴情報とを記憶する。なお、全てのキー押下操作に係る操作履歴情報を時刻情報とともに記憶してもよい。
【００６１】
例えば、図５Ａに示す操作履歴情報２６２は、あるキー押下操作において、取得部２２は、押下位置（ｘａ、ｙａ）、および押下位置に応じたキーのキーＩＤ「キー１」を取得したことを示す。また、図５Ｂに示す操作履歴情報２６３は、削除操作の次に行われたキー押下操作において、取得部２２は、押下位置（ｘｂ、ｙｂ）、および押下位置に応じたキーのキーＩＤ「キー２」を取得したことを示す。
【００６２】
削除操作を検出した場合に、判定部２４は、削除操作前後の操作履歴情報に基づいて、修正操作をキーの認識範囲の補正に利用するか否かを判定することができる。また、削除操作にあたる押下操作は、操作履歴情報として記憶しないこととするが、記憶してもよい。
【００６３】
図６は、実施例１に係る文字入力処理のフローチャートである。なお、本実施例においては、文字入力処理の過程で補正処理を行う事とするが、文字入力処理と補正処理とを時間的に独立に行ってもよい。また、図６に示すフローチャートに先駆け、表示制御部２１は、対応情報に基づいて、キーボードイメージをタッチパネル１１のキーボードイメージ表示領域１２に表示する。
【００６４】
まず、取得部２２は、押下位置に対応するキーを取得する（Ｏｐ．１）。例えば、取得部２２は、対応テーブル２６１を参照し、押下位置にもっとも近い基準座標に対応するキーＩＤを取得する。取得部２２は、取得したキーに基づいて、入力方式に応じて入力文字を決定する（Ｏｐ．２）。
【００６５】
取得部２２は、押下位置および取得したキーのキーＩＤを含む操作履歴情報を、記憶部２６に記憶する（Ｏｐ．３）。なお、Ｏｐ．２とＯｐ．３は順不同である。さらに、表示制御部２１は、決定された入力文字をタッチパネル１１の入力文字表示領域１３に表示する（Ｏｐ．４）。なお、Ｏｐ．３とＯｐ．４とは順不同である。
【００６６】
次に、検出部２３が削除操作を検出した場合は（Ｏｐ．５Ｙｅｓ）、取得部２２は、新たな押下操作を検出するまで待機した後、新たな押下操作に係る押下位置に対応する新たなキーを取得する（Ｏｐ．６）。取得部２２は、取得したキーに基づいて、入力文字を決定する（Ｏｐ．７）。取得部２２は、押下位置および取得したキーのキーＩＤを含む操作履歴情報を、新たに記憶部２６に記憶する（Ｏｐ．８）。さらに、表示制御部２１は、決定された入力文字をタッチパネル１１の入力文字表示領域１３に表示する（Ｏｐ．９）。なお、Ｏｐ．７とＯｐ．８、およびＯｐ．８とＯｐ．９は順不同である。
【００６７】
次に、判定部２４は、操作履歴情報に基づいて、修正操作をキーの認識範囲の補正に利用するか否かを判定する（Ｏｐ．１０）。例えば、判定部２４は、削除対象となった文字に対する押下操作時の押下位置と、削除後に入力されたキーの基準座標との距離を算出する。距離が閾値以下であれば（Ｏｐ．１０Ｙｅｓ）、判定部２４は、補正部２５に補正処理の開始を指示する。
【００６８】
補正部２５は、補正処理（Ｏｐ．１１）を実行する。補正処理については、詳細は後述する。そして、情報処理装置１０は、文字入力処理を終了する。一方、検出部２３が削除を検出しない場合（Ｏｐ．５Ｎｏ）、および、距離が閾値より大きい場合（Ｏｐ．１０Ｎｏ）、情報処理装置１０は、文字入力処理を終了する。
【００６９】
図７は、補正処理のフローチャートである。補正部２５は、削除操作前の押下位置に基づいて、削除操作後の入力キーの認識範囲を補正する。例えば、補正部２５は、操作履歴情報、数１、および数２に基づいて、補正部２５は、削除操作後の入力キーの基準座標を新たに算出する（Ｏｐ．２１）。
【００７０】
補正部２５は、対応テーブル２６１を参照し、新たに算出した基準座標と、削除操作後の入力キー以外のキーの基準座標との距離が、いずれも閾値以下であるか判定する（Ｏｐ．２２）。いずれも閾値以下である場合には（Ｏｐ．２２Ｙｅｓ）、補正部２５は、対応テーブルにおける削除操作後の入力キーの基準座標を、新たに算出された基準座標に更新する（Ｏｐ．２３）。そして、補正処理を終了する。
【００７１】
一方、閾値より大きい他のキーが存在する場合には（Ｏｐ．２２Ｎｏ）、補正部２５は、対応テーブルにおける削除操作後の入力キーの基準座標を、新たに算出された基準座標に更新する事になしに、終了する。なお、補正処理において、Ｏｐ．２２およびＯｐ．２３を省略することもできる。
【００７２】
以上の処理により、キーボードレイアウトの操作性とは関連が低いことが想定される入力ミスは除外して、キーの認識範囲を補正することができる。よって、ユーザにとって操作性がより向上するキーボードレイアウトを生成することができる。
【００７３】
図８Ａおよび図８Ｂは、各キーの認識範囲およびレイアウトの変化を説明する為の図である。図８Ａは、補正前の各キーの基準座標およびキーボードレイアウトを表している。図８Ｂは、補正後の各キーの基準座標およびキーボードレイアウトを表している。
【００７４】
図８Ａにおけるキー２０１が、削除操作後の入力キーであるとする。なお、キー２０１の外形は、キー２０１に認識範囲を示している。そして、基準座標２００が基準座標３００に補正された場合、キー２０１の認識範囲は、キー３００の外形で示される範囲に変更される。
【００７５】
さらに、キー２０２乃至２０６についても、各々の認識範囲は、キー３０２乃至３０６の外形で示される範囲に変更される。キーボードイメージ表示領域１２を構成する各画素の座標と、補正後の全キーの基準座標との距離に基づいて、各キーの認識範囲は設定される為、あるキーの基準座標が補正されたことに応じて、複数のキーの認識範囲が変化する。
【００７６】
例えば、図２において、修正操作前に押下された位置１０２は、補正処理前は、キー「Ｇ」の認識範囲に含まれていた。しかし、本実施例における補正処理を行う事で、位置１０２は、キー「Ｆ」の認識範囲に含まれるようになる。したがって、本実施例の情報処理装置１０は、ユーザにとって、より操作性の高いソフトウェアキーボードを提供することができる。
【００７７】
図９は、本実施例の効果を説明する為の図である。図９において、横軸は、修正操作回数である。なお、修正操作の回数は、削除操作の回数と同じである。また、縦軸は、基準座標と押下位置との距離を示す。つまり、基準座標と押下位置との距離が小さいということは、基準位置に基づくキーボードのレイアウトは、ユーザにとって操作性が高いレイアウトであるということになる。
【００７８】
四角で示すデータは、本実施例に開示の手法で、あるキーの基準座標を補正した場合の実験結果である。ひし形で示すデータは、比較例であって、全ての修正操作を用いてあるキーの基準座標を補正した場合の実験結果である。なお、実験においては、２０％の割合で、図２における二つ目のケースのように、削除対象となった文字に対する押下操作時の押下位置と、削除後に入力されたキーの基準座標との距離が閾値以上となるような入力ミスが発生したと仮定する。
【００７９】
本実施例の場合には、複数回の補正によって、押下位置と、あるキーの基準座標との距離が小さくなることが確認できる。一方、比較例においては、複数回の補正を行っても、押下位置と、あるキーの基準座標との距離が、本実施例よりも大きいことが確認できる。
【００８０】
つまり、比較例のように、キーボードレイアウトの操作性とは関連が低いことが想定される入力ミスを利用して削除後に入力されたキーの基準座標を補正した場合に、ユーザにとって操作性の高いレイアウトとはならないことが分かる。
【００８１】
したがって、本実施例のように、キーボードレイアウトの操作性とは関連が低いことが想定される入力ミスは除外することで、ユーザにとって操作性がより向上するキーボードレイアウトを生成することができる。
（実施例２）  
実施例２は、削除を検出しない場合（図７におけるＯｐ．５）、削除対象となった文字に対する押下操作時の押下位置と、削除後に入力されたキーの基準座標との距離が閾値以下でない場合（Ｏｐ．１０Ｎｏ）において、他の補正処理を実行するものである。
【００８２】
図１０は、実施例２に係る情報処理装置により実行される文字入力処理のフローチャートである。実施例１における処理フローと同様の処理については、同様の番号を付し、説明を省略する。なお、実施例２における情報処理装置１０は、実施例１と同様の機能ブロック図であらわされる。
【００８３】
削除を検出しない場合（Ｏｐ．５Ｎｏ）、または距離が閾値よりも大きい場合（Ｏｐ．１０Ｎｏ）、補正部２５は、他の補正処理を実行する（Ｏｐ．１２）。
【００８４】
他の補正処理においては、補正部２５は、直近の押下操作に係る押下位置に基づいて、直近の押下操作における入力キーの認識範囲を補正する。例えば、数３および数４を用いて補正がなされる。
【００８５】
（数３）
ｘ＿ｒｅｆ２＿ｐｒｅｖｉｏｕｓ＝  ｘ＿ｒｅｆ１＿ｐｒｅｖｉｏｕｓ  ×  Ｂ＋  ｘ＿ｐｒｅｖｉｏｕｓ×（１  -  Ｂ）
【００８６】
（数４）
ｙ＿ｒｅｆ２＿ｐｒｅｖｉｏｕｓ  ＝  ｙ＿ｒｅｆ１＿ｐｒｅｖｉｏｕｓ  ×  Ｂ  ＋  ｙ＿ｐｒｅｖｉｏｕｓ×（１  -  Ｂ）
なお、ｘ＿ｒｅｆ１＿ｐｒｅｖｉｏｕｓおよびｙ＿ｒｅｆ１＿ｐｒｅｖｉｏｕｓは、直近の押下操作による入力キーの基準座標であって、補正前の基準座標である。ｘ＿ｒｅｆ２＿ｐｒｅｖｉｏｕｓおよびｙ＿ｒｅｆ２＿ｐｒｅｖｉｏｕｓは、直近の押下操作による入力キーの基準座標であって、補正後の基準座標である。ｘ＿ｐｒｅｖｉｏｕｓおよびｙ＿ｐｒｅｖｉｏｕｓは、直近の押下操作における押下位置である。Ｂは、忘却係数であって、０より大きく１より小さい範囲で、適宜設定される。例えば、Ｂは０．７等に設定される。忘却係数が小さいほど、１度の修正操作による影響を大きくうける補正が行われる。
【００８７】
削除を検出しない場合（Ｏｐ．５Ｎｏ）は、Ｏｐ．３において記憶された操作履歴情報に基づいて、入力キーの基準座標を補正する。正しい押下操作が行われた場合に、押下位置を用いて、入力キーの基準座標を補正することで、よりユーザの押下操作の特性に合致するレイアウトを生成することができる。
【００８８】
また、削除対象となった文字に対する押下操作時の押下位置と、削除後に入力されたキーの基準座標との距離が閾値より大きい場合は（Ｏｐ．１０Ｎｏ）、Ｏｐ．８において記憶された操作履歴情報に基づいて、入力キーの基準座標を補正する。なお、Ｏｐ．５において記憶された操作履歴情報に基づいて、削除前に入力されたキーの基準座標を補正してもよい。
【００８９】
削除対象となった文字に対する押下操作時の押下位置と、削除後に入力されたキーの基準座標との距離が閾値より大きい場合は、キーボードレイアウトの操作性とは関連が低い入力ミスであると推測できる。つまり、ユーザが意思をもって入力した結果であると考えられる。したがって、ユーザが意思をもって入力した押下位置を用いて、入力キーの基準座標を補正することで、よりユーザの押下操作の特性に合致するレイアウトを生成することができる。
【００９０】
以上の処理により、削除操作前の押下位置を利用して、削除操作後の入力キーの認識範囲を補正する処理については、レイアウトの操作性とは関連が低いことが想定される入力ミスは除外することができる。一方、レイアウトの操作性とは関連が低いことが想定される入力ミスや、正しい入力については、直近の押下操作を利用して、直近の押下操作における入力キーの認識範囲を補正することができる。よって、多くの操作を利用して、よりユーザの特性に合致したキーボードレイアウトを生成することができる。
（実施例３）
実施例３は、Ｏｐ１０の判定処理において用いられる閾値を、ユーザの情報に基づいて設定するものである。ユーザの情報は、プロフィール情報やユーザの熟練度に関する情報である。
【００９１】
以下、ユーザの熟練度γに応じて閾値が設定される例を説明する。熟練度γは、レイアウトの操作性に関連することが想定される入力ミスの発生割合に基づいて、ユーザがソフトウェアキーボードにどの程度慣れているかを推定する値である。
【００９２】
レイアウトの操作性に関連することが想定される入力ミスが多く発生するほど、ユーザはソフトウェアキーボードに対して慣れていないことが推定できる。一方、当該ミスの発生割合が小さいほど、熟練度γが大きくなる。また、熟練度γが大きいほど、閾値は小さな値となる。
【００９３】
つまり、熟練度γが大きなユーザについては、より小さな閾値を判定部２４が利用することで、レイアウトの操作性とは関連することが想定される入力ミスの判定を厳しくする。
【００９４】
図１１は、実施例３に係る情報処理装置２０の機能ブロック図である。情報処理装置２０は、実施例１に係る情報処理装置１０の各機能部に加え、算出部２７を有する。
【００９５】
算出部２７は、熟練度γに応じた閾値Ｔｈを算出する。なお、実施例３により生成された閾値Ｔｈを用いて、判定部２４は判定処理（ＯＰ．１０）を行う。例えば、算出部２７は、次の式により熟練度γおよび閾値Ｔｈ＿ａｆｔｅｒを算出する。
【００９６】
（数５）
γ＝  １  -  （δ×Ｍ／Ｎ）    
【００９７】
（数６）
Ｔｈ＿ａｆｔｅｒ  ＝  Ｔｈ＿ｂｅｆｏｒｅ  ×  （γ＿ｂｅｆｏｒｅ  ／  γ＿ａｆｔｅｒ  ）    
Ｎは、過去の押下操作の回数である。Ｍは、レイアウトの操作性に関連することが想定される入力ミスの回数である。つまり、Ｍは、削除操作のうち、距離が閾値以下と判定された過去の削除操作の回数である。Ｍ／Ｎは、レイアウトの操作性に関連することが想定される入力ミスの発生割合である。
【００９８】
βは任意の調整係数であって、０より大きく、Ｎ／Ｍよりも小さい値に設定される。つまり、本実施例においては、算出部２７は、文字入力処理において、押下操作がなされた回数および入力ミスの回数を計数する。
【００９９】
Ｔｈ＿ａｆｔｅｒは、新たに算出された閾値である。Ｔｈ＿ｂｅｆｏｒｅは、過去の熟練度に応じて算出された閾値である。なお、初期状態においては、Ｔｈ＿ｂｅｆｏｒｅは設定値となる。例えば、ディスプレイの大きさや画素数に応じて、適当な値が設定される。
【０１００】
γ＿ｂｅｆｏｒｅは、過去の熟練度である。γ＿ａｆｔｅｒは、新たな熟練度である。なお、レイアウトの操作性に関連することが想定される入力ミスが検出されるたびに、閾値Ｔｈを更新する場合においては、数５において、ＭおよびＮに各々１が加算された熟練度γがγ＿ａｆｔｅｒとなり、加算される前の熟練度γがγ＿ｂｅｆｏｒｅである。
【０１０１】
なお、ユーザ毎に過去の入力回数等を記憶し、ユーザ毎の熟練度γを記憶してもよい。例えば、ひとつの情報処理装置２０を、複数のユーザで利用する場合に、ログインユーザごとに熟練度γを記憶してもよい。さらに、ログインユーザ毎に、対応テーブルを記憶してもよい。各ユーザの特性に応じたレイアウトを生成することができる。
【０１０２】
本実施例によれは、熟練度に応じて、判定部２４による判定に用いられる閾値を変更することができる。よって、ユーザの熟練度が大きくなるほど、修正操作が行われた場合に、レイアウトの操作性とは関連が低いことが想定される入力ミスと判定される可能性が大きくなる。つまり、削除操作前の押下位置に基づいて、削除操作後の入力キーの認識範囲を補正する対象として有効である可能性が小さい入力ミスを、より除外することができる。
【０１０３】
図１２は、熟練度に応じた閾値の設定を説明する為の図である。熟練度が低い時点では、閾値Ｔｈ１に基づいて、判定処理が行われることとなる。削除操作後の入力キー４００における基準座標を中心とした半径Ｔｈ１の範囲４０１内に、削除操作前の押下位置が含まれる場合、削除操作前の押下位置に基づいて、キー４００の基準座標は補正される。例えば、押下位置４０２であれば、当該押下位置を利用した補正が行われる。
【０１０４】
一方、熟練度が高くなると、閾値Ｔｈ１よりも小さな閾値Ｔｈ２に基づいて、判定処理が行われることとなる。削除操作後の入力キー４０３における基準座標を中心とした半径Ｔｈ２の範囲４０４内に、削除操作前の押下位置が含まれる場合、削除操作前の押下位置に基づいて、キー４０３の基準座標は補正される。例えば、押下位置４０５であれば、範囲４０４に含まれない為、押下位置４０５を利用した補正は行われない。
【０１０５】
以上のとおり、熟練度γの変化に応じた閾値Ｔｈが設定されることで、より適切な判定処理を行うことができる。  なお、プロフィール情報に基づいて閾値が設定される場合には、ユーザの年齢や性別等に基づいて、閾値を設定する。例えば、年齢が高いほど、大きな閾値が設定されるとしてもよい。
（変形例）
タッチパネルを有する情報処理装置以外にも、装置とは独立した場所に仮想のキーボードを設定して文字入力を行う情報処理装置においても上記実施例は適用可能である。
【０１０６】
図１３は、情報処理装置３０の利用形態の一例を示す図である。情報処理装置３０は、情報処理装置３０とは独立した場所に仮想のキーボード４０を設定する。そして、情報処理装置３０は、仮想のキーボード４０に対する手４１の操作に基づいて、文字入力を行う。
【０１０７】
情報処理装置３０は、例えば、プロジェクター３１、センサ３２およびセンサ３３を有する。プロジェクター３１は、キーボードレイアウトに基づいて、キーボードイメージを投影する。センサ３２およびセンサ３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）センサ又はＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサであって、手４１を撮影する。
【０１０８】
情報処理装置３０は、２つのセンサからの出力に基づいて、３次元の手の位置を特定することができる。情報処理装置３０は、押下操作を検出するとともに、押下位置を取得し、押下されたキーを特定する。
【０１０９】
さらに、情報処理装置３０は、削除操作を検出した場合に、削除操作前の押下位置を利用して、削除操作後の入力キーの認識範囲を補正する。補正処理によって、ユーザの文字入力の特性を考慮したキーボードレイアウトが生成される。さらに、操作性の向上が見込まれるキーボードイメージがプロジェクター３１により投影される。
【０１１０】
他の変形例として、例えば、あるキーの基準座標を補正した場合に、補正前後の基準座標の変位に基づいて、他のキーボードの基準座標も補正するとしてもよい。具体的には、情報処理装置１０は、補正の対象となったキーについて、補正前後の基準座標の変位を、X座標およびY座標の各々について算出する。そして、情報処理装置１０は、他のキーの基準座標も、同様にX軸およびY軸について変更することで、キーボードレイアウトを変更する。
【０１１１】
図１４は情報処理装置１０のハードウェア構成の一例を示す図である。なお、情報処理装置２０も同様の構成である。コンピュータ１０００は、上述した文字入力処理を実行し、情報処理装置１０として機能する。コンピュータ１０００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２，ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３，ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１００５、表示装置１００７、媒体読取装置１００９を有しており、各部はバス１００８を介して相互に接続されている。そしてＣＰＵ１００１による管理下で相互にデータの送受を行うことができる。
【０１１２】
各実施例のフローチャートに示した文字入力処理および補正処理が記述された文字入力プログラムは、コンピュータが読み取り可能な記録媒体に記録される。コンピュータが読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。
【０１１３】
光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ  −  ＯＰｔｉｃａｌ  ｄｉｓｋ）などがある。このプログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売されることが考えられる。
【０１１４】
そして文字入力プログラムを実行するコンピュータ１０００は、例えば媒体読取装置１００９が、文字入力プログラムを記録した記録媒体から、該プログラムを読み出す。なお、読みだすプログラムによって、コンピュータ１０００は、情報処理装置１０、情報処理装置２０として機能する。ＣＰＵ１００１は、読み出されたプログラムをＨＤＤ１００５若しくはＲＯＭ１００２、ＲＡＭ１００３に格納する。
【０１１５】
ＣＰＵ１００１は、情報処理装置１０全体の動作制御を司る中央処理装置である。ＨＤＤ１００５には、上記の各実施例に示した情報処理装置１０と同様の機能をコンピュータに発揮させるプログラムとして、各処理をコンピュータに実行させるプログラムが記憶されている。
【０１１６】
そして、ＣＰＵ１００１が、文字入力プログラムをＨＤＤ１００５から読み出して実行することで、図３に示す表示制御部２１、取得部２２、検出部２３、判定部２４、補正部２５として機能するようになる。さらに、ＣＰＵ１００１は、図１１に示す算出部２７として機能する場合もある。また、文字入力プログラムはＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されていても良い。
【０１１７】
さらにＨＤＤ１００５にはＣＰＵ１００１の管理下で図３に示す記憶部２６として機能する。つまり、図４や図５に示す情報を記憶する。プログラム同様、記憶部のデータテーブルに相当する情報はＣＰＵ１００１とアクセス可能なＲＯＭ１００２またはＲＡＭ１００３に格納されても良い。つまり、記憶部２６のデータは、ＨＤＤ１００５や、ＲＯＭ１００２またはＲＡＭ１００３などの記憶装置に格納される。また、ＲＯＭ１００２またはＲＡＭ１００３は、処理の過程で一時的に生成された情報も記憶する。表示装置１００７は、各画面を表示する。
【０１１８】
また、情報処理装置１０として機能するコンピュータ１０００は、通信装置１００４、入力装置１００６、をさらに有してもよい。通信装置１００４はネットワークを介して他の装置からの信号を受信し、その信号の内容をＣＰＵ１００１に渡す。さらに通信装置１００４はＣＰＵ１００１からの指示に応じてネットワークを介して他の装置に信号を送信する。
【０１１９】
入力装置１００６は、ユーザからの情報の入力を受け付ける。入力装置１００６は、物理キーボードであってもよいが、コンピュータ１０００においては、本実施例に開示された文字入力処理によって文字入力が実現される。また、入力装置１００６および表示装置１００７が一体となって、タッチパネルが採用される場合もある。
【０１２０】
また、情報処理装置３０のように、センサやプロジェクターを有してもよい。さらに、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）センサ又はＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサを有するカメラを備えてもよい。カメラは、所定のフレーム間隔でユーザの手を撮影し、撮影した画像をＣＰＵ１００１に対して出力する。
【０１２１】
以下に付記する。
（付記１）領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータに、前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、前記第一のキーにより入力された文字の削除を検出し、前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行させることを特徴とする文字入力プログラム。
（付記２）前記コンピュータに、さらに、前記ユーザの情報に応じて、前記閾値を算出する処理を実行させ、算出された前記閾値に基づいて、前記補正する処理が実行されることを特徴とする付記１記載の文字入力プログラム。
（付記３）前記コンピュータに、前記閾値を算出する処理において、前記ユーザによる過去の押下操作の回数に対する、前記距離が過去の閾値以下であると判定された過去の回数の割合に基づいて、前記閾値を算出することを特徴とする付記２記載の文字入力プログラム。
（付記４）前記コンピュータに、前記補正において、前記第一の押下位置が前記第二のキーとして認識される範囲に含まれる補正を行うことを特徴とする付記１乃至付記３のいずれかひとつに記載の文字入力プログラム。
（付記５）前記コンピュータに、前記距離が閾値よりも大きい場合には、前記第一の押下位置に基づいて、前記第一のキーとして認識される範囲を補正する処理を実行させることを特徴とする付記１乃至付記４のいずれかひとつに記載の文字入力プログラム。
（付記６）前記コンピュータに、前記距離が閾値よりも大きい場合には、前記第二の押下位置に基づいて、前記第二のキーとして認識される範囲を補正する処理を実行させることを特徴とする付記１乃至付記５のいずれかひとつに記載の文字入力プログラム。
（付記７）前記コンピュータに、さらに、前記第一のキーおよび前記第二のキーを含む複数のキー各々と、該複数のキーそれぞれの該領域における配置の基準となる基準座標とが対応付けられた対応情報を参照し、前記領域を構成する画素各々と、該複数のキー各々の該基準座標との距離に基づいて、該複数のキー各々への入力として認識される範囲を設定する処理を実行させることを特徴とする付記１乃至付記６のいずれかひとつに記載の文字入力プログラム。
（付記８）前記補正する処理において、前記対応情報における前記第二のキーに対応する基準座標を、前記第一の押下位置に基づいて算出した他の基準座標に更新することを特徴とする付記７記載の文字入力プログラム。
（付記９）領域へのユーザによる押下操作に基づいて文字入力を行う情報処理装置であって、前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得するとともに、他の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得する取得部と、前記第一のキーにより入力された文字の削除を検出する検出部と、前記削除が検出された場合に、前記第一の押下位置と前記第二のキーとの距離が、閾値以下であるか判定する判定部と、前記判定部による判定の結果に応じて、前記第一の押下位置に基づき、前記領域内で前記第二のキーとして認識される範囲を補正する補正部とを有することを特徴とする情報処理装置。
（付記１０）領域へのユーザによる押下操作に基づいて文字入力を行うコンピュータが、前記押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、前記第一のキーにより入力された文字の削除を検出し、前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行することを特徴とする文字入力方法。
（付記１１）メモリとプロセッサとを有する情報処理装置であって、前記プロセッサは、領域への押下操作が行われた第一の押下位置と、該第一の押下位置に対応する第一のキーとを取得し、前記第一のキーにより入力された文字の削除を検出し、前記削除を検出した場合、次の押下操作が行われた第二の押下位置と、該第二の押下位置に対応する第二のキーとを取得し、前記第一の押下位置と前記第二のキーとの距離が閾値以下であるか判定し、前記距離が閾値以下である場合に、前記第一の押下位置に基づいて、前記領域内で前記第二のキーとして認識される範囲を補正する処理を実行する。
【符号の説明】
【０１２２】
１０、２０、３０        情報処理装置
１１        タッチパネル
２１        表示制御部
２２        取得部
２３        検出部
２４        判定部
２５        補正部
２６        記憶部
２７        算出部
１０００    コンピュータ
１００１    ＣＰＵ
１００２    ＲＯＭ
１００３    ＲＡＭ
１００４    通信装置
１００５    ＨＤＤ
１００６    入力装置
１００７    表示装置
１００８    バス
１００９    媒体読取装置
【図１】
2014007439.tif 000003
【図２】
2014007439.tif 000004
【図３】
2014007439.tif 000005
【図４】
2014007439.tif 000006
【図５】
2014007439.tif 000007
【図６】
2014007439.tif 000008
【図７】
2014007439.tif 000009
【図８】
2014007439.tif 000010
【図９】
2014007439.tif 000011
【図１０】
2014007439.tif 000012
【図１１】
2014007439.tif 000013
【図１２】
2014007439.tif 000014
【図１３】
2014007439.tif 000015
【図１４】
2014007439.tif 000016