(57)【特許請求の範囲】
【請求項１】
タッチスクリーンを備えた端末の保持状態を、当該端末の加速度波形のうち、所定の時間内において、振幅が閾値以上となる高周波成分のピークの個数を閾値と比較することにより判定する判定部と、
前記判定部によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する補正部と
を有することを特徴とする入力装置。
【請求項２】
タッチスクリーンを備えた端末の保持状態を判定する判定部と、
前記判定部によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する補正部と、
過去に入力された入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する履歴記憶部と
を有し、
前記補正部は、前記履歴記憶部を参照し、閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする入力装置。
【請求項３】
前記判定部は、前記端末の表裏方向の加速度波形に基づいて、当該端末を保持した手と同じ側の手によって入力されるか、当該端末を保持した手と異なる側の手によって入力されるかを判定し、前記端末の前後方向の加速度波形に基づいて、当該端末が安定か不安定かを判定し、前記端末の左右方向の加速度波形に基づいて、当該端末が右手によって保持されるか左手によって保持されるかを判定する各判定のいずれか一つまたは複数を行うことを特徴とする請求項１又は２に記載の入力装置。
【請求項４】
過去に入力された入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する履歴記憶部をさらに有し、
前記補正部は、入力された入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量が、当該入力キーごとに設定される閾値以上である場合に、前記履歴記憶部を参照し、当該閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴に補正することを特徴とする請求項１に記載の入力装置。
【請求項５】
コンピュータに、
タッチスクリーンを備えた端末の保持状態を、当該端末の加速度波形のうち、所定の時間内において、振幅が閾値以上となる高周波成分のピークの個数を閾値と比較することにより判定し、
前記判定する処理によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する
各処理を実行させることを特徴とする入力プログラム。
【請求項６】
コンピュータによって実行される入力方法であって、
コンピュータが、
タッチスクリーンを備えた端末の保持状態を、当該端末の加速度波形のうち、所定の時間内において、振幅が閾値以上となる高周波成分のピークの個数を閾値と比較することにより判定し、
前記判定する処理によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する
各処理を実行することを特徴とする入力方法。
【請求項７】
コンピュータに、
タッチスクリーンを備えた端末の保持状態を判定し、
判定された前記保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正し、
入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて履歴記憶部に記憶する
各処理を実行させ、
前記補正する処理は、前記履歴記憶部を参照し、閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする入力プログラム。
【請求項８】
コンピュータによって実行される入力方法であって、
タッチスクリーンを備えた端末の保持状態を判定し、
判定された前記保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正し、
入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて履歴記憶部に記憶する
各処理を実行し、
前記補正する処理は、前記履歴記憶部を参照し、閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置、入力プログラム及び入力方法に関する。
【背景技術】
【０００２】
近年、スマートフォン、携帯電話機、電子書籍端末などの携帯端末装置において、タッチスクリーンを備えたものが普及している。タッチスクリーンを備えた携帯端末装置では、キーボードの画像をタッチスクリーンに表示して、タッチされた位置に応じて入力キーを判定するソフトウェアキーボードが採用される。ソフトウェアキーボードでは、ハードウェアキーボードと比較して、キーごとのボタンが無く入力面が平らであることや、利用者が押下した感触を得られないことから、利用者が本来押下したい入力キーとは異なるキーが誤入力されることがある。このため、誤入力を防止するための技術が種々提案されている。
【０００３】
例えば、入力された入力座標に対応する入力キーの重心から、その入力座標までのずれ量を測定し、測定したずれ量に応じて入力キーの表示位置を変更する技術が存在する。また、例えば、測定したずれ量に応じて、入力キーの検知領域を変更し、タッチスクリーンの角度が変わるごとに測定したずれ量を初期化する技術も存在する。また、例えば、運転者の位置などから操作者の位置を特定し、ディスプレイを左下から見ている場合に、視線の手前側に当たるスイッチの右、下方向に反応領域を拡大する技術が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４１８１３号公報
【特許文献２】特開２００９−０７５７７８号公報
【特許文献３】特開平０８−０９５７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、誤入力を防止することができないという問題があった。例えば、利用者が端末を右手で保持している場合に、左手で保持していた際に測定したずれ量を用いて入力キーの表示位置を変更しても、誤入力を防止することができなかった。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、誤入力を防止することができる入力装置、入力プログラム及び入力方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する技術は、一つの態様において、判定部と、補正部とを備える。判定部は、タッチスクリーンを備えた端末の保持状態を判定する。補正部は、判定部によって判定された保持状態に応じて、タッチスクリーンに対して入力された入力座標を補正する。
【発明の効果】
【０００８】
本願の開示する技術の一つの態様によれば、誤入力を防止することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る入力装置の機能構成を示すブロック図である。
【図２】図２は、入力装置のパラメータについて説明するための図である。
【図３】図３は、加速度波形記憶部に記憶される情報の一例を示す図である。
【図４】図４は、履歴記憶部に記憶される情報の一例を示す図である。
【図５】図５は、補正部が入力座標を補正する処理を説明するための図である。
【図６】図６は、補正処理の処理手順を示すフローチャートである。
【図７】図７は、判定処理の処理手順を示すフローチャートである。
【図８】図８は、推定処理の処理手順を示すフローチャートである。
【図９】図９は、補正値の算出方法の一例を説明するための図である。
【図１０】図１０は、入力プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する入力装置、入力プログラム及び入力方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
実施例１に係る入力装置の機能構成の一例について説明する。図１は、実施例１に係る入力装置の機能構成を示すブロック図である。入力装置１００は、タッチスクリーンによるキー入力を受け付けると、端末の保持状態を加速度センサで推定し、保持状態ごとに記録したずれ量の履歴を用いて入力キーを判定する。
【００１２】
図１に示すように、この入力装置１００は、例えば、入力部１０１と、出力部１０２と、通信制御部１０３と、記憶部１１０と、制御部１２０とを有する。入力装置１００は、例えば、スマートフォン、携帯電話機、電子書籍端末など、タッチスクリーンを備えた携帯端末装置に対応する。
【００１３】
入力部１０１は、各種情報の入力を受け付ける入力装置である。例えば、入力部１０１は、入力装置１００を利用する利用者から、タッチスクリーンに対する入力を受け付ける。入力部１０１は、受け付けた入力に対応する入力座標を後述の制御部１２０へ出力する。例えば、入力部１０１は、タッチスクリーンやキーボード、マウスなどに対応する。出力部１０２は、各種情報を出力する出力装置である。例えば、出力部１０２は、タッチスクリーンやディスプレイ、モニタなどに対応する。
【００１４】
通信制御部１０３は、ネットワークとの間で送受信される各種情報に関する通信を制御する。例えば、通信制御部１０３は、ネットワークインタフェースカード（ＮＩＣ：Network  Interface  Card）である。
【００１５】
記憶部１１０は、例えば、加速度波形記憶部１１１と、履歴記憶部１１２とを有する。記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、ハードディスク装置や光ディスク装置などの記憶装置に対応する。
【００１６】
加速度波形記憶部１１１は、加速度波形を記憶する。加速度波形記憶部１１１は、一例としては、図示しない加速度センサによって取得される加速度波形の時系列データを記憶する。
【００１７】
ここで、入力装置１００のパラメータについて説明する。図２は、入力装置１００のパラメータについて説明するための図である。図２には、入力装置１００のタッチスクリーン２ａを上に向けた状態を示す。このとき、左右方向の加速度成分をＸ成分とし、上下方向の加速度成分をＹ成分とし、表裏方向の加速度成分をＺ成分とする。また、Ｙ成分方向と平行な回転軸をロールとし、Ｘ成分方向と平行な回転軸をピッチとする。
【００１８】
図３は、加速度波形記憶部１１１に記憶される情報の一例を示す図である。図３の横軸は、時間の経過を示し、縦軸は、加速度を示す。図３には、一例として、タッチスクリーンがタッチされた時刻の前後の時間の加速度波形が抽出された場合を示す。これは、１回のキー入力によって引き起こされた入力装置１００の動きを解析するためである。図３の加速度成分３ａは、Ｘ成分を示し、加速度成分３ｂは、Ｙ成分を示し、加速度成分３ｃは、Ｚ成分を示すものとする。なお、加速度波形を取得するための技術としては、例えば、特開２０１１−２１４８３３号公報に記載された既存の技術を適宜選択して適用することができる。
【００１９】
履歴記憶部１１２は、過去に入力された入力座標が入力された際の保持状態と、その入力座標に対応する入力キーの中心座標からその入力座標までのずれ量と、その入力座標がその入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する。なお、この保持状態の説明については、判定部１２２の説明とともに後述する。
【００２０】
例えば、履歴記憶部１１２は、入力部１０１がタッチスクリーンに対するキー入力を受け付けるごとに、入力された入力座標と、入力キーと、ずれ量とが対応付けられたレコードが、後述の受付部１２１によって登録される。また、例えば、履歴記憶部１１２は、保持状態が後述の判定部１２２によって登録される。また、例えば、履歴記憶部１１２は、推定履歴が後述の推定部１２３又は補正部１２４によって登録される。また、例えば、履歴記憶部１１２は、判定部１２２、推定部１２３及び補正部１２４によって参照される。
【００２１】
一例としては、履歴記憶部１１２は、ＩＤ（Identification）、時刻、入力座標ｘ、入力座標ｙ、キーＩＤ、入力内容、ずれｘ、ずれｙ、推定内容及び保持状態が対応付けられたデータを記憶する。このうち、ＩＤは、履歴記憶部１１２に登録されたレコードを一意に識別するための識別子を指す。また、時刻は、入力装置１００が起動した時刻からの経過時刻を指す。また、入力座標ｘは、タッチスクリーンに対するキー入力を受け付けた座標のうち、水平方向の座標を指す。この座標は、例えば、タッチスクリーンの画面左上を原点とし、ピクセル単位で示される。また、入力座標ｙは、タッチスクリーンに対するキー入力を受け付けた座標のうち、垂直方向の座標を指す。また、キーＩＤは、入力座標ｘ及びｙに対応する入力キーを一意に識別するための識別子を指す。また、入力内容は、入力座標ｘ及びｙに対応する入力キーの内容を指す。また、ずれｘは、入力キーの中心座標から入力座標までのずれのｘ成分を指す。また、ずれｙは、入力キーの中心座標から入力座標までのずれのｙ成分を指す。また、推定内容は、入力装置１００の利用者が本来押下したいと考えていたと推定される入力キーの内容を指す。また、保持状態は、入力座標が入力された際に入力装置１００が利用者によって保持される状態を指し、保持方法及び保持角度を含む。この保持方法は、利用者によって入力装置１００が片手で保持されるのか、両手で保持されるのか、あるいは右手で入力されるのか、左手で入力されるのかなどを分類したものである。また、保持角度は、利用者によって入力装置１００が保持される角度を指す。例えば、保持角度は、入力装置１００のタッチスクリーン２ａを上に向けて水平にした状態を０°とし、ピッチ軸の右ねじ方向を正の角度として分類される。なお、保持方法及び保持角度の説明については、判定部１２２の説明とともに後述する。また、入力座標は、例えば、タッチスクリーンと利用者の指の接触面の重心に対応する。なお、推定内容は、推定履歴の一例である。また、ずれｘ及びずれｙは、ずれ量の一例である。
【００２２】
図４は、履歴記憶部１１２に記憶される情報の一例を示す図である。図４の１行目に示すレコードは、履歴記憶部１１２は、ＩＤ「１」、時刻「５１３６」、入力座標ｘ「３５４」、入力座標ｙ「５８０」、キーＩＤ「２８」、入力内容「ｋ」、ずれｘ「１１」、ずれｙ「６」が対応付けられたデータを記憶する。さらに、図４の１行目に示すレコードは、履歴記憶部１１２は、推定内容「ｋ」、保持方法「片手不安定右保持」及び保持角度「−２０〜＋２０」が対応付けられたデータを記憶する。つまり、図４の１行目に示すレコードは、ＩＤ「１」のキー入力が、入力装置１００の起動から５１３６ミリ秒後に入力座標（ｘ、ｙ）＝（３５４，５８０）で入力されたものであり、この入力座標に対応する入力キーがキーＩＤ「２８」の入力キー「ｋ」であることを示す。また、図４の１行目に示すレコードは、入力キー「ｋ」の中心座標から入力座標までのずれ量が（ｘ、ｙ）＝（１１，６）であり、このキー入力によって利用者が本来入力したかったキーが「ｋ」と推定されたことを示す。また、図４の１行目に示すレコードは、このキー入力が、保持角度「−２０〜＋２０」で保持方法「片手不安定右保持」の保持状態で入力されたことを示す。また、履歴記憶部１１２は、他のレコードについても同様に、ＩＤ、時刻、入力座標ｘ、入力座標ｙ、キーＩＤ、入力内容、ずれｘ、ずれｙ、推定内容及び保持状態が対応付けられたデータを記憶する。
【００２３】
制御部１２０は、受付部１２１と、判定部１２２と、推定部１２３と、補正部１２４とを有する。制御部１２０の機能は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路により実現することができる。また、制御部１２０の機能は、例えば、ＣＰＵ（Central  Processing  Unit）が所定のプログラムを実行することで実現することができる。
【００２４】
受付部１２１は、キー入力を受け付ける。例えば、受付部１２１は、入力部１０１によって受け付けた入力座標を、入力部１０１から受け付ける。受付部１２１は、入力部１０１から受け付けた入力座標に対応する入力キーを判定する。受付部１２１は、判定された入力キーの中心座標から入力座標までのずれ量を算出する。そして、受付部１２１は、入力された時刻と、入力座標と、入力キーと、入力キーのキーＩＤと、ずれ量とにＩＤを対応付けて履歴記憶部１１２に登録する。また、受付部１２１は、キー入力を受け付けた旨の情報を判定部１２２に出力する。
【００２５】
判定部１２２は、タッチスクリーンを備えた端末の保持状態を判定する。例えば、判定部１２２は、端末の表裏方向の加速度波形に基づいて、端末を保持した手と同じ側の手によって入力されるか、端末を保持した手と異なる側の手によって入力されるかを判定する。また、例えば、判定部１２２は、端末の前後方向の加速度波形に基づいて、端末が安定か不安定かを判定する。また、例えば、判定部１２２は、端末の左右方向の加速度波形に基づいて、端末が右手によって保持されるか左手によって保持されるかを判定する。
【００２６】
一態様としては、判定部１２２は、入力部１０１が入力を受け付けた時刻の前後の時間の加速度波形を、加速度波形記憶部１１１から抽出する。ここで、加速度波形を抽出する時間は、タッチスクリーンから指が離れた時から次の入力を受け付ける前に設定される。これは、タッチスクリーンに対して行われた１回の入力によって引き起こされた入力装置１００の加速度を解析するためである。そして、判定部１２２は、抽出した加速度波形から、入力装置１００の保持方法及び保持角度を判定する。
【００２７】
ここで、判定部１２２が入力装置１００の保持方法を判定する処理を説明する。例えば、判定部１２２は、入力装置１００が「両手」で入力されるか、「片手」で入力されるかを判定する。ここで、「両手」で入力する場合は、入力装置１００を保持した手と異なる側の手によって入力する場合に相当する。例えば、判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＺ成分のうち、振幅が閾値以上となる高周波成分のピークの個数をカウントする。この高周波成分の振幅は、例えば、１０Ｈｚ以上である。判定部１２２は、カウントしたピークの個数が所定数以上の場合に、入力装置１００を保持した手と異なる側の手によって入力される、すなわち「両手」で入力されると判定する。一方、判定部１２２は、カウントしたピークの個数が所定数未満の場合に、入力装置１００を保持した手と同じ側の手によって入力される、すなわち「片手」で入力されると判定する。なお、ここで高周波成分のピークの個数がカウントされるのは、入力装置１００を保持した手と異なる側の手によって入力される場合には、入力装置１００が安定に保持されるため、入力時の振動が高周波成分を多く含まれることになるからである。これに対して、入力装置１００を保持した手と同じ側の手によって入力される場合には、保持した手の親指の付け根が動くため、入力装置１００の動きに起因する低周波成分が加わることとなる。
【００２８】
また、例えば、判定部１２２は、「片手」で入力されると判定した場合に、入力装置１００が「安定」に保持されるか、「不安定」に保持されるかを判定する。ここで、「安定」とは、例えば、入力装置１００が指と掌とで保持される状態を指し、「不安定」とは、指のみで保持される状態を指す。判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＹ成分から、低周波成分を除去し、ピークの振幅が閾値以上の場合に「不安定」と判定する。一方、判定部１２２は、このピークの振幅が閾値未満の場合に「安定」と判定する。なお、ここで、加速度波形のＹ成分に着目するのは、入力装置１００が指のみで保持される場合には、保持するための指と入力するための指との重心の位置関係がずれることにより、入力する際にピッチ軸方向の回転が発生し、Ｙ成分の波形が変化するからである。
【００２９】
また、例えば、判定部１２２は、右手で保持する「右保持」か、左手で保持する「左保持」かを判定する。例えば、判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＸ成分から、低周波成分を除去した後に、極性と大きさについて調べる。判定部１２２は、抽出したピークに対してピークの中央値の極性がマイナス方向である場合に、「右保持」であると判定し、極性がプラス方向である場合に、「左保持」であると判定する。なお、ここで、加速度波形のＸ成分のピークの極性に着目するのは、タッチスクリーンに入力する際に、入力装置１００を保持した手の親指の付け根を中心としたロール軸方向の回転が発生し、この回転に起因する波形が加速度波形のＸ成分に現れるからである。すなわち、この回転は、右保持か左保持かに応じて回転方向が異なるため、加速度波形のＸ成分のピークの極性を検出することで右保持か左保持かが判別されるからである。また、ここでいう「右保持」は、利用者が入力装置１００を右手で保持しつつ右手で入力する場合と、右手で保持しつつ左手で入力する場合とに対応する。また、「左保持」は、利用者が入力装置１００を左手で保持しつつ左手で入力する場合と、左手で保持しつつ右手で入力する場合とに対応する。
【００３０】
以上のように、例えば、判定部１２２は、入力装置１００の保持方法を判定する。すなわち、判定部１２２は、「両手右保持」、「両手左保持」、「片手安定右保持」、「片手安定左保持」、「片手不安定右保持」及び「片手不安定左保持」の６パターンのうち、いずれの保持方法であるかを判定する。そして、判定部１２２は、図４の履歴記憶部１１２の保持方法に判定結果を登録する。
【００３１】
また、例えば、判定部１２２は、保持角度を判定する。一例としては、判定部１２２は、加速度波形のＹ成分及びＺ成分を計算することで、入力装置１００の保持角度を求める。そして、判定部１２２は、入力装置１００のタッチスクリーン２ａを上に向けて水平にした状態を０°とし、ピッチ軸の右ねじ方向を正の角度として分類する。例えば、判定部１２２は、「−２０°〜＋２０°」、「＋２０°〜＋６０°」、「＋６０°〜＋９０」、「＋９０°〜−２０」の４つのグループに分類する。そして、判定部１２２は、分類した４つのグループのいずれかを、履歴記憶部１１２の保持角度に登録する。なお、ここで、判定部１２２が保持角度を分類するのは、ピッチ軸方向の角度は入力装置１００の利用者の利用状態によって変化しやすく、この保持角度に応じてずれ位置が異なるからである。また、ここでは、判定部１２２が加速度波形のＹ成分及びＺ成分を用いることで、保持角度を判定する場合を説明したが、開示の技術はこれに限定されるものではない。例えば、判定部１２２は、図示しない入力装置１００のシステムから提供される角度情報を用いて、保持角度を判定しても良い。
【００３２】
推定部１２３は、例えば、入力装置１００の利用者が本来押下したいと考えていたと推定される入力キーを推定する。なお、ここで、推定部１２３が入力キーを推定するのは、入力装置１００の利用者が本来押下したいと考えていた入力キーが必ず押下されるとは限らず、押下位置がずれて、入力したいと考えていた入力キーとは異なるキーが押下されてしまうことがあるからである。
【００３３】
一例としては、推定部１２３は、履歴記憶部１１２を参照し、キー入力を訂正するための訂正キーを履歴記憶部１１２から検出する。この訂正キーには、例えば、後退キーや消去キーなどのキーが含まれる。推定部１２３は、訂正キーを検出すると、訂正キーの入力によって削除された入力キーが誤りであると判定し、そのキー入力が誤りである旨の情報を履歴記憶部１１２に登録する。推定部１２３は、訂正キーの後に入力された入力キーを、入力装置１００の利用者が本来押下したいと考えていた入力キーであると判定し、その旨の情報を履歴記憶部１１２に登録する。
【００３４】
図４を用いて、推定部１２３が入力キーを推定する処理を説明する。ここで、図４の履歴記憶部１１２の「ＢＳ」は、その直前の入力キーを削除するためのバックスペースキーに対応し、訂正キーの一例である。また、推定部１２３が入力キーを推定する処理を行う前には、図４の履歴記憶部１１２のＩＤ「７」に対応する推定内容には「ｙ」が登録されているものとする。
【００３５】
例えば、推定部１２３は、履歴記憶部１１２を参照し、ＩＤ「８」のＢＳを検出すると、ＢＳの直前に入力されたＩＤ「７」の入力内容「ｙ」が誤りであると判定する。そして、推定部１２３は、ＩＤ「７」の推定内容「ｙ」を「ｙ→誤」に更新する。推定部１２３は、ＢＳの直後に入力されたＩＤ「９」の入力キー「ｔ」を、入力装置１００の利用者が本来押下したいと考えていた入力キーであると判定する。そして、推定部１２３は、ＩＤ「７」の推定内容「ｙ→誤」を「ｙ→誤→ｔ」に更新する。なお、ここでは、推定部１２３が訂正キーを検出することで利用者が本来入力したいと考えていた入力キーを推定する場合を説明したが、開示の技術はこれに限定されるものではない。例えば、推定部１２３は、予測変換機能を用いて推定内容を推定しても良い。例えば、予測変換機能では、「ｙｏｔｅｍｏ」とキー入力された場合に、予測変換の候補として「とても」がタッチスクリーンに表示されることがある。この場合に、利用者によって「とても」が選択されると、推定部１２３は、「ｔｏｔｅｍｏ」が入力されたものと同義と見なし、「ｙ」が誤りであり、「ｔ」が本来入力したかったキーであると判定する。
【００３６】
補正部１２４は、例えば、判定部１２２によって判定された保持状態に応じて、タッチスクリーンに対して入力された入力座標を補正する。また、例えば、補正部１２４は、ずれ量が、入力キーごとに設定される閾値以上である場合に、履歴記憶部１１２を参照し、その閾値以上のずれ量を有する過去の入力座標に対応付けられた推定履歴に補正する。
【００３７】
一例としては、補正部１２４は、履歴記憶部１１２を参照し、その閾値以上のずれ量を有する過去の入力座標に対応付けられた推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを推定履歴に補正する。一方、補正部１２４は、その推定履歴の数が所定数未満の場合に、予め設定された補正値で入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定する。
【００３８】
図５を用いて、補正部１２４が入力座標を補正する処理を説明する。図５は、補正部１２４が入力座標を補正する処理を説明するための図である。ここでは、図４のＩＤ「１１」に対応するキー入力が受付部１２１によって受け付けられた場合を説明する。また、ここで受け付けられたキー入力の保持状態は、保持方法「片手不安定右保持」かつ保持角度「−２０〜＋２０」である場合を説明する。受付部１２１によって図４のＩＤ「１１」に対応するキー入力が受け付けられると、ずれ（ｘ、ｙ）＝（２７，３３）が履歴記憶部１１２に登録される。ずれ量が履歴記憶部１１２に登録されると、補正部１２４は、登録されたずれ量が閾値以上か否か判定する。この閾値は、例えば、入力装置１００の利用者が本来押下したいと考えていたと推定されるキー入力が誤りである可能性があるずれの大きさとして、入力内容ごとに予め設定される。例えば、ずれの閾値（ｘ、ｙ）＝（２０，２０）が設定され、これらの閾値以上のずれを有するキー入力を受け付けた場合には、そのキー入力が誤りである可能性があると推定される。ずれ（ｘ、ｙ）＝（２７，３３）が履歴記憶部１１２に登録されると、補正部１２４は、このキー入力がずれの閾値（ｘ、ｙ）＝（２０，２０）以上であると判定する。補正部１２４は、過去に登録された履歴記憶部１１２のうち、保持状態が保持方法「片手不安定右保持」かつ保持角度「−２０〜＋２０」に対応し、入力内容「ｙ」であり、ずれがこの閾値（ｘ、ｙ）＝（２０，２０）以上であるレコードを抽出する。
【００３９】
例えば、補正部１２４は、図５に示すように、７つのレコードを抽出する。補正部１２４は、抽出したレコード数が所定数以上か否かを判定する。ここで、例えば、所定数「５」が設定される場合には、補正部１２４は、抽出したレコードに基づいて、入力キーを補正する。補正部１２４は、抽出したレコードの推定内容が「ｙ→誤→ｔ」であるので、図４のＩＤ「１１」に対応する入力キー「ｙ」が誤りであり、入力装置１００の利用者が本来押下したいと考えていたキーが「ｔ」であると推定する。なお、ここでは、抽出された推定内容の全てが「ｙ→誤→ｔ」で同一である場合を説明したが、必ずしも推定内容が同一であるとは限らない。このため、補正部１２４は、受け付けた入力キーのずれと最も近いずれを有するレコードに対応する推定内容を用いることとしても良い。
【００４０】
一方、補正部１２４は、抽出したレコード数が所定数「５」未満であった場合には、予め設定された補正値で、入力された入力座標を補正する。この補正値は、例えば、補正値（ｘ、ｙ）＝（−２０，−２０）が入力内容ごとに予め設定される。例えば、補正部１２４は、抽出したレコード数が所定数「５」未満であった場合には、受け付けたＩＤ「１１」の入力キーの入力座標（ｘ、ｙ）＝（２２３，５２９）に補正値を加算し、入力座標を補正する。そして、補正部１２４は、補正した座標（ｘ、ｙ）＝（２０３，５０９）に対応する入力キーを判定する。一例としては、補正部は、受け付けた入力キーが「ｔ」であると推定する。
【００４１】
そして、補正部１２４は、推定した推定内容「ｔ」を出力する。例えば、補正部１２４は、キー入力を受け付けたアプリケーションに、推定内容を出力する。一態様としては、ＩＤ「１１」のキー入力を受け付けたアプリケーションがメールソフトであった場合には、補正部１２４は、そのキー入力による変換の候補として推定内容「ｔ」をメールソフトに出力する。
【００４２】
次に、実施例１に係る入力装置１００の処理手順について説明する。図６は、補正処理の処理手順を示すフローチャートである。図７は、判定処理の処理手順を示すフローチャートである。図８は、推定処理の処理手順を示すフローチャートである。図６に示す処理は、例えば、受付部１２１がキー入力を受け付けたことを契機として実行される。
【００４３】
図６に示すように、受付部１２１がキー入力を受け付けると（ステップＳ１０１肯定）、受付部１２１は、受け付けたキー入力に関連する情報を、履歴記憶部１１２に登録する（ステップＳ１０２）。例えば、受付部１２１は、入力部１０１から受け付けた入力座標に対応する入力キーを判定する。受付部１２１は、判定された入力キーの中心座標から入力座標までのずれ量を算出する。そして、受付部１２１は、入力された時刻と、入力座標と、入力キーと、入力キーのキーＩＤと、ずれ量とにＩＤを対応付けて履歴記憶部１１２に登録する。
【００４４】
判定部１２２は、入力装置１００の保持状態を判定する判定処理を行う（ステップＳ１０３）。ここで、判定部１２２によって実行される判定処理について、図７を用いて説明する。
【００４５】
図７に示すように、判定部１２２は、入力部１０１が入力を受け付けた時刻の前後の時間の加速度波形を、加速度波形記憶部１１１から抽出する（ステップＳ２０１）。判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＺ成分のうち、振幅が閾値以上となる高周波成分のピークの個数をカウントし、カウントしたピークの個数が所定数以上か否かを判定する（ステップＳ２０２）。カウントしたピークの個数が所定数以上の場合には（ステップＳ２０２肯定）、判定部１２２は、「片手」で入力されると判定する（ステップＳ２０３）。一方、カウントしたピークの個数が所定数未満の場合には（ステップＳ２０２否定）、判定部１２２は、「両手」で入力されると判定し（ステップＳ２０４）、ステップＳ２０８の処理へ移行する。
【００４６】
続いて、判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＹ成分から、低周波成分を除去し、ピークの振幅が閾値以上か否かを判定する（ステップＳ２０５）。ピークの振幅が閾値以上の場合には、（ステップＳ２０５肯定）、判定部１２２は、「不安定」と判定する（ステップＳ２０６）。一方、ピークの振幅が閾値未満の場合には、（ステップＳ２０５否定）、判定部１２２は、「安定」と判定し（ステップＳ２０７）、ステップＳ２０８の処理へ移行する。
【００４７】
続いて、判定部１２２は、加速度波形記憶部１１１から抽出した加速度波形のＸ成分から、低周波成分を除去した後に、加速度波形のＸ成分のピークの極性がプラス方向であるか否かを判定する（ステップＳ２０８）。極性がプラス方向である場合には（ステップＳ２０８肯定）、判定部１２２は、「左保持」と判定する（ステップＳ２０９）。一方、極性がマイナス方向である場合には（ステップＳ２０８否定）、判定部１２２は、「右保持」と判定する（ステップＳ２１０）。そして、判定部１２２は、保持角度を判定し（ステップＳ２１１）、ステップＳ１０４の処理へ移行する。
【００４８】
図６の説明に戻る。ずれ量が履歴記憶部１１２に登録されると、補正部１２４は、登録されたずれ量が閾値以上か否か判定する（ステップＳ１０４）。登録されたずれ量が閾値以上である場合には（ステップＳ１０４肯定）、補正部１２４は、保持状態及び入力内容が登録された入力キーと一致し、かつ、ずれが閾値以上であるレコードを抽出する（ステップＳ１０５）。一方、登録されたずれ量が閾値未満である場合には（ステップＳ１０４否定）、補正部１２４は、ステップＳ１０１の処理に移行する。
【００４９】
補正部１２４は、抽出したレコード数が所定数以上か否かを判定する（ステップＳ１０６）。抽出したレコード数が所定数以上である場合には（ステップＳ１０６肯定）、補正部１２４は、抽出したレコードに基づいて、入力キーを補正する（ステップＳ１０７）。一方、抽出したレコード数が所定数未満である場合には（ステップＳ１０６否定）、補正部１２４は、予め設定された補正値で、入力された入力座標を補正する（ステップＳ１０８）。そして、補正部１２４は、補正した座標に対応する入力キーを推定する（ステップＳ１０９）。
【００５０】
そして、補正部１２４は、推定した推定内容を出力する（ステップＳ１１０）。例えば、補正部１２４は、キー入力を受け付けたアプリケーションに、推定内容を出力する。一態様としては、ＩＤ「１１」のキー入力を受け付けたアプリケーションがメールソフトであった場合には、補正部１２４は、そのキー入力による変換の候補として推定内容「ｔ」をメールソフトに出力する。
【００５１】
次に、図８を用いて、推定処理の処理手順を説明する。図８に示す処理は、例えば、図示した各装置に電源から電力が供給される間、所定時間間隔で実行される。
【００５２】
図８に示すように、推定部１２３は、履歴記憶部１１２を参照し、訂正キーを履歴記憶部１１２から検出する（ステップＳ３０１）。推定部１２３は、訂正キーを受け付けた時刻と、訂正キーによって訂正されたキー入力の時刻との差が閾値未満であるか否かを判定する（ステップＳ３０２）。閾値未満である場合には（ステップＳ３０２肯定）、推定部１２３は、訂正した文字数が所定数以下であるか否かを判定する（ステップＳ３０３）。訂正した文字数が所定数以下である場合には（ステップＳ３０３肯定）、推定部１２３は、訂正キーの次に入力された入力キーが、入力装置１００の利用者が本来押下したいと考えていた入力キーであると推定する（ステップＳ３０４）。そして、推定部１２３は、推定した情報を履歴記憶部１１２に登録する（ステップＳ３０５）。
【００５３】
一方、閾値以上である場合には（ステップＳ３０２否定）、推定部１２３は、処理を終了する。また、訂正した文字数が所定数以上である場合には（ステップＳ３０３否定）、推定部１２３は、処理を終了する。
【００５４】
次に、実施例１に係る入力装置１００の効果について説明する。入力装置１００は、タッチスクリーンを備えた端末の保持状態を判定する。入力装置１００は、判定した保持状態に応じて、タッチスクリーンに対して入力された入力座標を補正する。このため、入力装置１００は、誤入力を防止することができる。例えば、入力装置１００は、端末の保持状態に応じて入力された入力座標を補正するので、利用者が端末を右手で保持している場合に、左手で保持していた際に測定したずれ量を用いて入力キーの表示位置を変更しても、誤入力を防止することができる。
【００５５】
また、例えば、入力装置１００は、履歴記憶部１１２を参照し、その閾値以上のずれ量を有する過去の入力座標に対応付けられた推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを推定履歴に補正する。また、入力装置１００は、その推定履歴の数が所定数未満の場合に、予め設定された補正値で入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定する。このため、入力装置１００は、入力座標に対応する入力キーを正確に推定することができる。
【実施例２】
【００５６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【００５７】
例えば、上記の実施例では、入力装置１００が保持状態に応じて入力キーごとに入力座標を補正する場合を説明したが、開示の技術はこれに限定されるものではない。例えば、入力装置１００は、タッチスクリーンの領域ごとに入力座標を補正することとしても良い。例えば、入力装置１００は、タッチスクリーンに入力する指からの距離に応じて補正量を決定しても良い。
【００５８】
また、例えば、上記の実施例では、抽出したレコード数が所定数未満であった場合に、補正部１２４によって用いられる補正値が予め設定される旨を説明した。開示の技術では、この補正値を、利用者の生体条件を用いて設定しても良い。図９は、補正値の算出方法の一例を説明するための図である。図９には、利用者と入力装置１００とを上から見た図を例示する。図９において、９ａは利用者の右目を示し、９ｂは利用者の左目を示し、９ｃはキー入力を行う利用者の指を示すものとする。また、利用者の効き目が右目９ａである場合を説明する。この場合に、利用者が入力装置１００の画面上の点９ｅを押下しようとすると、点９ｅが指９ｃに隠れて見えなくなる。そして、利用者は、右目９ａから点９ｅを見た際の指上の点９ｄを見ながら押下することとなるため、実際には画面上の点９ｆが押下されることとなる。すなわち、利用者の効き目が右目の場合、本来押下したかった点９ｅから右方向に距離９ｇずれることとなる。このため、補正部１２４は、下記の式（１）を用いて、ずれ９ｇに相当する補正値を算出する。
【００５９】
Ｚｄ＝Ｙｄ（Ｅｄ＋Ｍｄ）／Ｇｄ・・・（１）
【００６０】
式（１）において、Ｚｄは、ずれた距離９ｇに対応する。また、Ｙｄは、指の厚み９ｊに対応する。また、Ｅｄは、目の位置９ｈに対応する。また、Ｍｄは、利用者が押下したい画面上の点９ｅに対応する。また、Ｇｄは、効き目９ａから画面までの距離に対応する。例えば、補正部１２４は、式（１）を用いて算出したＺｄを補正値として用いる。なお、これらのパラメータは、利用者によって予め入力されても良く、平均的な値が用いられても良い。
【００６１】
また、例えば、実施例１において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６２】
また、図１に示した入力装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、入力装置１００の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００６３】
［プログラム］
図１０は、入力プログラムを実行するコンピュータの一例を示す図である。図１０に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからデータの入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読み取り装置３０４と、他の装置と接続するためのインターフェース装置３０５と、他の装置と無線により接続するための無線通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００６４】
ハードディスク装置３０８には、図１に示した判定部１２２及び補正部１２４との各処理部と同様の機能を有する抽出プログラムが記憶される。また、ハードディスク装置３０８には、入力プログラムを実現するための各種データが記憶される。
【００６５】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータを図１に示した判定部１２２及び補正部１２４として機能させることができる。
【００６６】
なお、上記の入力プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続された装置にこのプログラムを記憶させておき、コンピュータ３００がこれらからプログラムを読み出して実行するようにしても良い。
【００６７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６８】
（付記１）タッチスクリーンを備えた端末の保持状態を判定する判定部と、
前記判定部によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する補正部と
を有することを特徴とする入力装置。
【００６９】
（付記２）前記判定部は、前記端末の表裏方向の加速度波形に基づいて、当該端末を保持した手と同じ側の手によって入力されるか、当該端末を保持した手と異なる側の手によって入力されるかを判定し、前記端末の前後方向の加速度波形に基づいて、当該端末が安定か不安定かを判定し、前記端末の左右方向の加速度波形に基づいて、当該端末が右手によって保持されるか左手によって保持されるかを判定する各判定のいずれか一つまたは複数を行うことを特徴とする付記１に記載の入力装置。
【００７０】
（付記３）過去に入力された入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する履歴記憶部をさらに有し、
前記補正部は、入力された入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量が、当該入力キーごとに設定される閾値以上である場合に、前記履歴記憶部を参照し、当該閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴に補正することを特徴とする付記１または２に記載の入力装置。
【００７１】
（付記４）前記補正部は、前記履歴記憶部を参照し、前記閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする付記３に記載の入力装置。
【００７２】
（付記５）コンピュータに、
タッチスクリーンを備えた端末の保持状態を判定し、
前記判定する処理によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する
各処理を実行させることを特徴とする入力プログラム。
【００７３】
（付記６）前記判定する処理は、前記端末の表裏方向の加速度波形に基づいて、当該端末を保持した手と同じ側の手によって入力されるか、当該端末を保持した手と異なる側の手によって入力されるかを判定し、前記端末の前後方向の加速度波形に基づいて、当該端末が安定か不安定かを判定し、前記端末の左右方向の加速度波形に基づいて、当該端末が右手によって保持されるか左手によって保持されるかを判定する各判定のいずれか一つまたは複数を行うことを特徴とする付記５に記載の入力プログラム。
【００７４】
（付記７）前記補正する処理は、入力された入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量が、当該入力キーごとに設定される閾値以上である場合に、過去に入力された入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する履歴記憶部を参照し、当該閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴に補正することを特徴とする付記５または６に記載の入力プログラム。
【００７５】
（付記８）前記補正する処理は、前記履歴記憶部を参照し、前記閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする付記７に記載の入力プログラム。
【００７６】
（付記９）コンピュータによって実行される入力方法であって、
コンピュータが、
タッチスクリーンを備えた端末の保持状態を判定し、
前記判定する処理によって判定された保持状態に応じて、前記タッチスクリーンに対して入力された入力座標を補正する
各処理を実行することを特徴とする入力方法。
【００７７】
（付記１０）前記判定する処理は、前記端末の表裏方向の加速度波形に基づいて、当該端末を保持した手と同じ側の手によって入力されるか、当該端末を保持した手と異なる側の手によって入力されるかを判定し、前記端末の前後方向の加速度波形に基づいて、当該端末が安定か不安定かを判定し、前記端末の左右方向の加速度波形に基づいて、当該端末が右手によって保持されるか左手によって保持されるかを判定する各判定のいずれか一つまたは複数を行うことを特徴とする付記９に記載の入力方法。
【００７８】
（付記１１）前記補正する処理は、入力された入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量が、当該入力キーごとに設定される閾値以上である場合に、過去に入力された入力座標が入力された際の前記保持状態と、当該入力座標に対応する入力キーの中心座標から当該入力座標までのずれ量と、当該入力座標が当該入力キーとは異なる入力キーに推定された推定履歴とを対応付けて記憶する履歴記憶部を参照し、当該閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴に補正することを特徴とする付記９または１０に記載の入力方法。
【００７９】
（付記１２）前記補正する処理は、前記履歴記憶部を参照し、前記閾値以上のずれ量を有する過去の入力座標に対応付けられた前記推定履歴の数が所定数以上の場合に、入力された入力座標に対応する入力キーを当該推定履歴に補正し、当該推定履歴の数が所定数未満の場合に、予め設定された補正値で前記入力された入力座標を補正し、補正した入力座標に対応する入力キーを判定することを特徴とする付記１１に記載の入力方法。
【符号の説明】
【００８０】
１００      入力装置
１０１      入力部
１０２      出力部
１０３      通信制御部
１１０      記憶部
１１１      加速度波形記憶部
１１２      履歴記憶部
１２０      制御部
１２１      受付部
１２２      判定部
１２３      推定部
１２４      補正部
３００      コンピュータ
３０１      ＣＰＵ
３０２      入力装置
３０３      モニタ
３０４      媒体読み取り装置
３０５      インターフェース装置
３０６      無線通信装置
３０７      ＲＡＭ
３０８      ハードディスク装置
３０９      バス
【図１】
0005982951.tif 000002
【図２】
0005982951.tif 000003
【図３】
0005982951.tif 000004
【図４】
0005982951.tif 000005
【図５】
0005982951.tif 000006
【図６】
0005982951.tif 000007
【図７】
0005982951.tif 000008
【図８】
0005982951.tif 000009
【図９】
0005982951.tif 000010
【図１０】
0005982951.tif 000011