(57)【要約】      （修正有）【課題】ユーザがいる現在位置で、タッチパネルに対する入力操作を容易に実施することが可能なソフトキーボードを表示させる。【解決手段】タッチパネルを有する入力部３と、前記タッチパネルと重なる表示画面を有する表示部２と、前記タッチパネルに接触された複数の指の接触位置を検出する位置検出部４と、前記検出された複数の指の接触位置に基づいて、前記表示画面に表示させるキーボードの位置と、キーボードの大きさと、表示画面に対するキーボードの傾きおよび方向とを含む表示情報を決定する表示キーボード決定部と、前記表示キーボード決定部によって決定された表示情報に基づいて、キーボードを前記表示画面に表示させる表示制御部９とを備える。【選択図】図１
2014186469.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルを有する入力部と、
前記タッチパネルと重なる表示画面を有する表示部と、
前記タッチパネルに接触された複数の指の接触位置を検出する位置検出部と、
前記検出された複数の指の接触位置に基づいて、前記表示画面に表示させるキーボードの位置と、キーボードの大きさと、表示画面に対するキーボードの傾きおよび方向とを含む表示情報を決定する表示キーボード決定部と、
前記表示キーボード決定部によって決定された表示情報に基づいて、キーボードを前記表示画面に表示させる表示制御部とを備えたことを特徴とする情報処理装置。
【請求項２】
前記位置検出部は、少なくとも左手および右手のどちらか一方の手の親指の接触位置と、左手および右手のどちらか一方の手の親指以外の２本以上の指の接触位置とを検出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記位置検出部は、前記タッチパネルに接触された左手の５本の指および右手の５本の指の接触位置を検出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記表示キーボード決定部は、
前記検出された複数の指の接触位置から、親指の接触位置を判定する親指位置判定部と、
前記親指以外の複数の指の接触位置から、親指以外の複数の指が整列した方向を示す直線の傾きを計算する傾き計算部と、
前記検出された複数のすべての指の接触位置から、すべての指の中心点の位置を計算する中心点計算部と、
前記計算された中心点を通り、かつ前記計算された傾きを持つ一次関数である近似直線を算出する近似直線算出部と、
前記中心点を表示画面上のキーボードの表示領域の中心とし、前記複数の指の接触位置を前記キーボードの表示領域内部に含むように、キーボードの表示領域の大きさを設定し、前記キーボードの隣接する複数のキーの配列方向の傾きが、前記近似直線の傾きと平行となるように、キーボードの傾きを設定したキーボードの表示情報を生成するキーボード生成部とを備えることを特徴とする請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
前記キーボード生成部は、
前記表示するキーボードが長方形状の場合に、前記中心点を長方形領域の中心とし、前記複数の接触位置を長方形領域の内部に含むようにキーボードの大きさを設定し、
前記近似直線の傾きと長方形領域の長辺の傾きとが平行となるようにキーボードの傾きを設定したキーボードの表示情報を生成することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記キーボード生成部は、
前記親指位置判定部によって判定された親指の接触位置と、前記近似直線算出部によって算出された近似直線との前記表示画面に対する位置関係に基づいて、前記表示するキーボードの上方向の長辺の表示画面に対する位置を決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記キーボード生成部は、
前記表示画面を前記近似直線によって２つの表示領域に区切った場合、前記親指の接触位置が存在しない表示領域側に、前記表示するキーボードの上方向の長辺が配置されるように、前記キーボードに属する複数のキーの表示画面に対する表示方向を決定することを特徴とする請求項６に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置に関し、特に、タッチパネルに重ね合わせて、ソフトウェアキーボードを表示させる情報処理装置に関する。
【背景技術】
【０００２】
今日、スマートフォンやタブレット端末などの携帯端末，あるいは表示装置において、物理的なキーボードとは別に、タッチパネルと重ね合わせて配置された表示画面上に、仮想的なキーボード（ソフトウェアキーボード）を表示させて、所定の位置に表示された複数のキーのうち、ユーザが所望のキーの表示領域に接触（タッチ）することにより、文字や記号等の入力を行うことができるものが利用されている。
【０００３】
このような仮想的なキーボードは、主として、表示するキーボードの外枠が、一般的な長方形状の表示画面の４つの辺のいずれかと平行になるように、固定的に同一の大きさで表示される。
また、携帯端末の画面を見る方向を変更した場合には、ユーザから見て上方向に位置する外枠の辺に平行な位置に、仮想的なキーボードの上辺が表示されるように、表示位置が変更されるものもある。
また、ユーザの文字入力時の操作性を考慮して、ソフトウェアキーボードの大きさを所望の大きさに設定することのできる表示装置が提案されている（特許文献１参照）。
この特許文献１では、タッチセンサ上の２個所が同時に、所定時間以上タッチされたことを検出した場合に、その２点間の距離Ｌと中点Ｃを算出して、距離Ｌに対応する大きさのソフトウェアキーボードを選択して、中点の位置がソフトウェアキーボードの中心となるようにし、タッチセンサの外枠とソフトウェアキーボードの外枠とが平行になるように、選択したソフトウェアキーボードを表示する。
【０００４】
さらに、ユーザの手の大きさを検出して、その検出された手の大きさに対応した大きさの仮想的なキーボードを表示させるものも提案されている（特許文献２参照）。
この特許文献２では、タッチパネルに両手を接触したときに、左右の手の掌の接触領域と、それぞれの４本の指（人差指，中指、薬指、小指）の接触領域との位置関係と、接触された８つの指が一直線上に並んでいるかいないかに基づいて、仮想キーボードのサイズと位置を設定して、その仮想キーボードをディスプレイ上に表示させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１２２８９０号公報
【特許文献２】特開２０１１−１５９０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ソフトウェアキーボードを表示させることのできる端末や表示装置では、いずれも、表示させるソフトウェアキーボードの上方向が固定的に決定されているか、あるいは、表示画面の外枠との関係で、ソフトウェアキーボードの表示方向が予め設定されている。
すなわち、ユーザが端末や表示装置と対面したときに、表示画面の外枠の上方向の辺と、表示されるソフトウェアキーボードの上方向の辺とが平行になるように表示される。
この場合、ユーザが表示画面の正面にいる場合は、ソフトウェアキーボードを用いた入力操作は、良好である。
しかし、ユーザが表示画面の正面にいない場合や、複数のユーザが同一の表示画面を見ている状態で、表示画面の正面にいるユーザＡの隣にいる他のユーザＢが、ソフトウェアキーボードを用いて入力操作をしようとした場合、ユーザＢの自己の正面方向にソフトウェアキーボードの向きが正しく向いていないので、入力操作がしにくい場合がある。
【０００７】
あるいは、このユーザＢが入力操作をする場合、表示画面の向きが自己の正面の方向となるように、ソフトウェアキーボードが表示されたディスプレイを移動（あるいは回転）させれば、ユーザＢにとっては入力操作がしやすくなるが、逆に、ユーザＢ以外の他のユーザにとっては表示画面が見にくくなる場合がある。
したがって、複数のユーザが同一表示画面を見ている場合は、タッチパネルを有するディスプレイの位置を移動させないで、どのユーザも、ソフトウェアキーボードを用いた入力操作がしやすいことが望まれる。
【０００８】
そこで、この発明は、以上のような事情を考慮してなされたものであり、特に複数のユーザが同一表示画面を見ている状況等において、いずれのユーザもソフトキーボードによる入力操作を容易にすることのできるように、ソフトキーボードを表示させる情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
この発明は、タッチパネルを有する入力部と、前記タッチパネルと重なる表示画面を有する表示部と、前記タッチパネルに接触された複数の指の接触位置を検出する位置検出部と、前記検出された複数の指の接触位置に基づいて、前記表示画面に表示させるキーボードの位置と、キーボードの大きさと、表示画面に対するキーボードの傾きおよび方向とを含む表示情報を決定する表示キーボード決定部と、前記表示キーボード決定部によって決定された表示情報に基づいて、キーボードを前記表示画面に表示させる表示制御部とを備えたことを特徴とする情報処理装置を提供するものである。
これによれば、複数の指の接触位置に基づいて、表示画面に表示させるキーボードの位置や大きさ等を含む表示情報を決定するので、表示画面に対するユーザがいる現在位置で容易に入力操作が可能なキーボードが表示され、キー入力操作を容易にすることができる。
【００１０】
また、前記位置検出部は、少なくとも左手および右手のどちらか一方の手の親指の接触位置と、左手および右手のどちらか一方の手の親指以外の２本以上の指の接触位置とを検出することを特徴とする。
これによれば、どちらか一方の親指の接触位置を含む３本以上の指の接触位置を検出することにより、表示するキーボードの表示情報を決定するので、キーボードを表示させるためのユーザの入力操作を容易に行うことができる。
【００１１】
また、前記位置検出部は、前記タッチパネルに接触された左手の５本の指および右手の５本の指の接触位置を検出することを特徴とする。
【００１２】
また、前記表示キーボード決定部は、前記検出された複数の指の接触位置から、親指の接触位置を判定する親指位置判定部と、前記親指以外の複数の指の接触位置から、親指以外の複数の指が整列した方向を示す直線の傾きを計算する傾き計算部と、前記検出された複数のすべての指の接触位置から、すべての指の中心点の位置を計算する中心点計算部と、前記計算された中心点を通り、かつ前記計算された傾きを持つ一次関数である近似直線を算出する近似直線算出部と、前記中心点を表示画面上のキーボードの表示領域の中心とし、前記複数の指の接触位置を前記キーボードの表示領域内部に含むように、キーボードの表示領域の大きさを設定し、前記キーボードの隣接する複数のキーの配列方向の傾きが、前記近似直線の傾きと平行となるように、キーボードの傾きを設定したキーボードの表示情報を生成するキーボード生成部とを備えることを特徴とする。
これによれば、ユーザが複数の指をタッチパネルに接触すると、親指の接触位置，傾き，中心点，および近似直線を算出することにより、表示させるキーボードの表示情報が生成されるので、ユーザは通常の入力操作と同様な入力操作をするだけで、そのユーザがいる現在位置において容易な入力操作が可能なキーボードが表示される。
【００１３】
また、前記キーボード生成部は、前記表示するキーボードが長方形状の場合に、前記中心点を長方形領域の中心とし、前記複数の接触位置を長方形領域の内部に含むようにキーボードの大きさを設定し、前記近似直線の傾きと長方形領域の長辺の傾きとが平行となるようにキーボードの傾きを設定したキーボードの表示情報を生成することを特徴とする。
これによれば、複数の指の接触位置に基づいて、長方形状のキーボードの位置，大きさおよび傾きが設定された表示情報が生成されるので、ユーザがいる現在位置において、容易に入力操作が実施できるように、キーボードを表示することができる。
【００１４】
また、前記キーボード生成部は、前記親指位置判定部によって判定された親指の接触位置と、前記近似直線算出部によって算出された近似直線との前記表示画面に対する位置関係に基づいて、前記表示するキーボードの上方向の長辺の表示画面に対する位置を決定することを特徴とする。
【００１５】
また、前記キーボード生成部は、前記表示画面を前記近似直線によって２つの表示領域に区切った場合、前記親指の接触位置が存在しない表示領域側に、前記表示するキーボードの上方向の長辺が配置されるように、前記キーボードに属する複数のキーの表示画面に対する表示方向を決定することを特徴とする。
これによれば、２つの表示領域のうち親指の接触位置が存在しない表示領域側に、長方形状のキーボードの上方向の長辺が配置されるように表示方向が決定されるので、ユーザがいる現在位置において、容易に入力することが可能な方向を向いたキーボードが表示され、容易な入力操作環境を提供することができる。
【発明の効果】
【００１６】
この発明によれば、検出された複数の指の接触位置に基づいて、表示画面に表示させるキーボードの位置や表示画面に対するキーボードの傾き等を含む表示情報を決定するので、キー入力操作をしようとするユーザがいる位置において容易に入力操作を実施できるようにキーボードが表示され、ユーザは現在の位置を移動することなく、あるいは情報処理装置の表示部の向きを変更させることなく、表示画面に対するユーザの現在位置で、容易かつ便利な入力操作環境を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】この発明の情報処理装置の一実施例の構成ブロック図である。
【図２】この発明の情報処理装置におけるソフトキーボードの表示処理の一実施例のフローチャートである。
【図３】表示画面に対する１０本の指の接触位置から、傾きと、中心点と、近似直線とを求める場合の概略説明図である。
【図４】１０本の指の接触位置と、表示されるソフトキーボードとの位置関係の一実施例の説明図である。
【図５】１０本の指の接触位置と、表示されるソフトキーボードとの位置関係の一実施例の説明図である。
【図６】１０本の指の接触位置と、表示されるソフトキーボードとの位置関係の一実施例の説明図である。
【図７】表示画面に表示されるソフトキーボードの表示例の概略説明図である。
【発明を実施するための形態】
【００１８】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。なお、これによって、この発明が限定されるものではない。
＜情報処理装置の構成＞
図１に、この発明の情報処理装置の一実施例の構成ブロック図を示す。
この発明の情報処理装置は、パソコン，携帯端末等に相当し、特に、入力部と表示部とが重ね合わせて配置されている装置である。
携帯端末としては、たとえば、ノートパソコン，携帯電話，スマートフォン，タブレット端末などが該当する。
図１に示すように、情報処理装置は、主として、制御部１，表示部２，入力部３，位置検出部４，傾き計算部５，中心点計算部６，近似直線算出部７，親指位置判定部８，表示制御部９，キーボード生成部１０，および記憶部２０を備える。
【００１９】
制御部１は、この発明の情報処理装置が有する各機能を実現する部分であり、主として、ＣＰＵ，ＲＡＭ，ＲＯＭ，Ｉ／Ｏコントローラ，タイマー等からなるマイクロコンピュータにより構成される。
また、ＣＰＵは、ＲＯＭ等に記憶されたプログラムに基づいて、各種ハードウェアを有機的に動作させることにより、この発明の表示機能，入力位置（タッチ位置）検出機能等を実現させる。
たとえば、位置検出部４，傾き検出部５，中心点計算部６，近似直線算出部７，親指位置判定部８，キーボード生成部１０は、ＣＰＵが、プログラムに基づく所定の処理を実行することにより実現される。
ここで、傾き計算部５，中心点計算部６，近似直線算出部７，親指位置判定部８，キーボード生成部１０は、表示キーボード決定部を構成する。
表示キーボード決定部は、位置検出部４によって検出された複数の指の接触位置に基づいて、表示画面に表示させるキーボードの位置と、キーボードの大きさと、表示画面に対するキーボードの傾きおよび方向とを含む表示情報を決定する部分である。
【００２０】
表示部２は、文字，図形，画像等の各種情報を表示する部分であり、この発明では、特に、上記情報以外に、ソフトウェア的に生成されたキーボード（以下、ソフトキーボードと呼ぶ）を表示する。
入力部３は、ユーザが、文字，記号や機能選択等の指示を入力する部分であり、タッチパネル，ハードウェアとして構成されたキーボード、あるいは、マウス，トラックボール等のポインティングデバイスなどが用いられる。
【００２１】
この発明では、入力部３としては、少なくともタッチパネルを有するものとし、表示部２は、タッチパネルと重なる表示画面を有するものとする。またタッチパネル３は表示部２に重ね合わせて形成されるか、あるいは表示部２と一体的に形成される。
表示部２に、複数のキーからなるソフトキーボードが表示されている場合、ユーザが、特定のキーの表示領域に接触（以下、タッチとも呼ぶ）したとき、その表示領域に対応するタッチパネルの接触位置を示す情報（位置座標）が、タッチパネルから出力され、位置検出部４によって、タッチされた位置が検出され、ユーザによって入力されたキーが認識される。
以下の実施例では、入力部３としては、タッチパネルを用いるものとして説明する。
【００２２】
位置検出部４は、ユーザによって入力されたタッチパネル上の接触位置を検出する部分である。通常、タッチパネルへの入力は、指またはペンで行われる。たとえば、タッチパネルに接触された複数の指の接触位置を検出する。
タッチパネル３としては、同時に複数の位置を接触入力すること（複数点マルチタッチ）が可能なものを用い、たとえば、同時に、３つの指でそれぞれタッチパネルの異なる位置に接触した場合、それらの接触位置に相当する情報（以下、指座標と呼ぶ）が検出される。
すなわち、位置検出部４は、タッチパネルに接触された左手の５本の指および右手の５本の指の接触位置を検出するものとする。
ただし、後述するように、少なくとも左手および右手のどちらか一方の手の親指の接触位置と、左手および右手のどちらか一方の手の親指以外の２本以上の指の接触位置とを検出した場合に、ソフトキーボードを表示画面に表示させる。
【００２３】
図３（ａ）に、この発明の表示部を構成する表示画面の一実施例の説明図を示す。
図３（ａ）において、表示画面５０は、長方形状とし、４つの頂点のうち、所定の１つの頂点を原点（０，０）とし、その原点で直交する２辺の方向を、それぞれＸ軸とＹ軸とするＸＹ座標系を用いて、指の接触位置Ｐを、指座標（Ｘ，Ｙ）で示す。
【００２４】
この発明では、原則として、左手の５本の指と右手の５本の指がほぼ同時にタッチパネルに接触された場合に、ソフトキーボードを表示画面５０に表示させる。
ただし、１０本の指のうち、ソフトキーボードの位置や傾きを特定することが可能な複数の指の接触入力があった場合に、ソフトキーボードを表示させるようにしてもよい。
たとえば、少なくとも左手および右手のどちらか一方の手の親指の接触位置と、左手および右手のどちらか一方の手の親指以外の２本以上の指の接触位置とが、ほぼ同時に検出された場合、後述するような傾き，中心点，近似直線が計算することができれば、ソフトキーボードを表示してもよい。
接触入力の例として、左手の親指と、右手の人差指および中指とからなる３本の指による接触入力があった場合、あるいは、左手の親指と、左手の人指し指と、右手の人差し指からなる接触入力があった場合は、上記近似直線等が計算できれば、ソフトキーボードを表示することができる。
【００２５】
また、後述するように、接触入力された複数の指の接触位置（指座標）を解析することにより、ソフトキーボードの表示位置と表示方向を決定する。
たとえば、図３（ｂ）のように、１０本の指を接触入力した場合は、図４（ｄ）のような位置および方向となるように、ソフトキーボードを表示する。
また、図５（ａ）のような１０本の指の接触入力をした場合は、図５（ｄ）のような位置および方向にソフトキーボードを表示し、図６（ａ）のような接触入力をした場合は、図６（ｄ）のような位置および方向にソフトキーボードを表示する。
【００２６】
図３（ｂ）に、１０本の指を同時に接触入力した場合の接触位置の一実施例を示した説明図を示す。
ここで、左手の５本の指の位置は、Ａ〜Ｄ，Ｉで示しており、Ａが小指、Ｂが薬指、Ｃが中指、Ｄが人差指、Ｉが親指の位置を示している。また、右手の５本の指の位置は、Ｅ〜Ｈ，Ｊで示しており、Ｅが人差指、Ｆが中指、Ｇが薬指、Ｈが小指、Ｊが親指の位置を示している。
左手親指をＴｈＬ、右手親指をＴｈＲと呼ぶ。
【００２７】
傾き計算部５は、接触入力された複数の指のうち、２つの親指以外の複数の指の接触位置から、親指以外の複数の指が整列した方向を示す直線の傾きを計算する部分である。具体的には、複数の指の接触位置の指座標を用いて、最小二乗法により求めた直線の傾きを計算する部分である。
たとえば、図３（ｂ）に示すように、１０本の指が接触された場合、図３（ｃ）に示すように、親指を除く８本の指の指座標から、８つの点のほぼ中央部分を通る傾きＫの直線Ｌが計算される。
この直線Ｌの傾きＫは、従来から行われている最小二乗法などの手法を用いることにより計算することができる。
【００２８】
図３（ｃ）のように、ユーザの８本の指の接触位置が、傾きＫの直線上にほぼ整列している場合、ユーザは、表示画面５０のＸ軸方向の下辺の正面に向かってすわっているのではなく、表示画面５０のややななめ右方向にすわっており、両手をななめ右方向から表示画面上に伸ばしていると考えられる。
したがって、この場合は、後述するように、図４（ｄ）に示すように、右方上がりに傾いたソフトキーボードを表示させるようにすれば、そのユーザはキー入力操作を容易に行うことができると考えられる。
【００２９】
中心点計算部６は、タッチパネルへの接触が検出された複数のすべての指の接触位置から、接触されたすべての指の指座標の中心点となる位置（中心点Ｃと呼ぶ）の座標を計算する部分である。
具体的には、１０本の指が接触された場合、１０個の指座標のＸ座標の平均値Ｃxと、Ｙ座標の平均値Ｃyを求め、中心点Ｃの位置Ｃ（Ｃx，Ｃy）に設定する。
【００３０】
図３（ｄ）に、図３（ｂ）のように１０本の指を接触入力した場合の中心点Ｃの位置を示す。
図３（ｃ）の場合は、２つの親指の位置（ＴｈＬ，ＴｈＲ）が、傾きＫの直線Ｌよりも下側にあるので、中心点Ｃも傾きＫの直線Ｌよりも下側に存在する。
後述するように、この中心点Ｃの位置と、傾きＫとを用いて、表示するソフトキーボードの位置と傾きとを決定する。
たとえば、図３（ｄ）の場合は、図４（ｂ）に示すように、ソフトキーボードの表示位置と傾きが決定される。
【００３１】
近似直線算出部７は、中心点計算部６によって計算された中心点Ｃを通り、かつ傾き計算部５によって計算された傾きＫを持つ一次関数（以下、近似直線と呼ぶ）を算出する部分である。
近似直線は、ＸとＹの一次関数Ｙ＝Ｆ（ｘ）であり、傾きをＫ、Ｙ軸との交点をａとすると、Ｙ＝Ｆ（ｘ）＝Ｋｘ＋ａで表される。
このＦ（ｘ）は中心点Ｃ（Ｃx，Ｃy）を通るので、Ｃy＝Ｆ（Ｃx）＝ＫＣx＋ａである。
図３（ｄ）に、図３（ｂ）のように１０本の指を接触入力した場合の近似直線Ｆ（ｘ）の一実施例のグラフを示す。
ここで、図３（ｂ）の場合の２つの親指の接触位置は、近似直線Ｆ（ｘ）よりも下側に存在するものとする。
左手親指ＴｈＬの指座標を（ｘ1，ｙ1）、右手親指ＴｈＲの指座標を（ｘ2，ｙ2）とすると、図３（ｄ）の場合は、ｙ1＜Ｆ（ｘ1）、ｙ2＜Ｆ（ｘ2）である。
【００３２】
親指位置判定部８は、位置検出部４によって検出された複数の指の接触位置から、親指の接触位置を判定する部分である。
図３（ｂ）に示すように、１０本の指の接触入力があった場合、位置Ｉと位置Ｊの接触位置が、親指の位置であると判定される。
２つの親指の位置は、１０個の接触位置（指座標）を取得した後、たとえば、それぞれの接触面積を比較し、上位２つを左手/右手の親指とする。
【００３３】
判定された左手の親指ＴｈＬの指座標を（ｘ1，ｙ1）とし、右手の親指ＴｈＲの指座標を（ｘ2，ｙ2）に設定する。
この２つの親指の接触位置のｙ座標と、近似直線Ｆ（ｘ）との表示画面に対する位置関係に基づいて、ソフトキーボードを表示する方向、すなわち表示するソフトキーボードの上方向の長辺の表示画面に対する位置が決定される。
【００３４】
たとえば、図３（ｄ）の場合は、上記したように、ｙ1＜Ｆ（ｘ1）、ｙ2＜Ｆ（ｘ2）なので、図４（ｃ）に示すように、表示画面のななめ左上方向が、ソフトキーボードの上方向に決定される。
また、後述するように、図５（ａ）に示すように、１０本の指が接触入力された場合は、図５（ｂ）に示すように、２つの親指のｙ座標は、近似直線Ｆ（ｘ）よりも上側に存在するので、ｙ1＞Ｆ（ｘ1）、ｙ2＞Ｆ（ｘ2）となり、図５（ｃ）に示すように、表示画面のななめ右下方向が、ソフトキーボードの上方向に決定される。
【００３５】
表示制御部９は、表示データを表示部２に表示させる部分であり、たとえば、上記のようにして決定された傾き等の表示情報に基づいて、ソフトキーボードを表示画面に表示させる。
【００３６】
キーボード生成部１０は、表示画面上に表示させるソフトキーボードの表示情報を生成する部分である。
たとえば、上記したような傾きＫ，中心点Ｃ，親指位置などの表示情報を考慮して、ソフトキーボードの位置および方向を設定した後、記憶部２０に予め記憶されているソフトキーボード情報２６を、表示画面に表示すべき表示データとして変換する。
具体的には、中心点Ｃを、表示画面上に表示するキーボードの表示領域の中心とし、複数の指の接触位置をキーボードの表示領域内部に含むようにキーボードの表示領域の大きさを設定する。
さらに、表示するキーボードの中に含まれる隣接する複数のキーの配列方向の傾きが、近似直線の傾きと平行となるように、キーボードの傾きを設定する。そして、キーボード生成部１０は、このようにして設定したキーボードの中心，大きさ，傾きからなるキーボードの表示情報を生成する。
【００３７】
特に、表示するキーボードが長方形状の場合には、中心点Ｃを長方形領域の中心とし、複数の接触位置を長方形領域の内部に含むようにキーボードの大きさを設定し、さらに、近似直線の傾きと長方形領域の長辺の傾きとが平行となるように、キーボードの傾きを設定したキーボードの表示情報を生成する。
また、表示画面を近似直線によって２つの表示領域に区切った場合、親指の接触位置が存在しない表示領域側に、表示するキーボードの上方向の長辺が配置されるように、キーボードに属する複数のキーの表示画面に対する表示方向を決定する。
【００３８】
記憶部２０は、この発明の情報処理装置の各種機能を実行するために利用される情報やプログラムを記憶する部分であり、ＲＯＭ，ＲＡＭ，フラッシュメモリなどの半導体記憶素子，ＨＤＤ，ＳＳＤなどの記録装置、その他の記憶媒体が用いられる。
記憶部２０には、たとえば、入力座標点（指座標Ａ〜Ｊ）２１，親指座標２２，傾きＫ２３，中心点座標２４，近似直線２５，ソフトキーボード情報２６などが記憶される。
【００３９】
入力座標点２１は、図３（ｂ）に示したような１０本の指（Ａ〜Ｊ）の接触位置を示した指座標（ｘ，ｙ）である。これはタッチパネル３から出力される接触位置信号により取得される。
親指座標２２は、複数の指座標の中から、上記したように、親指位置判定部８により求められる座標であり、左手親指の座標ＴｈＬ（ｘ1，ｙ1）と、右手親指の座標ＴｈＲ（ｘ2，ｙ2）とからなる。
傾きＫ２３は、図３（ｃ）に示したように、親指以外の複数の指、たとえば８つの指（Ａ〜Ｈ）の指座標から求められる直線Ｌの傾きである。
中心点座標２４は、図３（ｄ）に示したように、接触入力されたすべての指、たとえば１０本の指の指座標から求められる中心点Ｃの座標値（Ｃx，Ｃy）である。
近似直線２５は、図３（ｄ）に示したように、中心点Ｃを通る傾きＫの直線の数式（一次関数）であり、たとえば、Ｙ＝Ｆ（ｘ）＝Ｋｘ＋ａで表される。
中心点Ｃを通るので、Ｃy＝Ｆ（Ｃx）という関係が成立する。
【００４０】
ソフトキーボード情報２６は、表示するソフトキーボードのもとになるキーボードの情報であり、ソフトキーボードに含まれる複数のキーの配列，形状，大きさなどが予め設定されている情報である。
たとえば、ＡＳＣＩＩやＪＩＳ等の規格に準拠したキーボード配列や、独自に定義したキーボード配列の情報が、予め記憶される。
表示画面に実際に表示されるソフトキーボードは、このソフトキーボード情報２６を基本データとして、その大きさ，位置，表示方向が変更される。
【００４１】
なお、長方形状の表示画面に対して、図３（ａ）のようなＸＹ座標系を設定し、このＸＹ座標系を基準として、ソフトキーボードの表示位置等を設定しているが、これ以外の手法を用いてもよい。たとえば、ＸＹ座標系で求めた傾きＫの直線Ｌを新たな横軸方向とするＸ'Ｙ'座標系を設定し、ＸＹ座標系で求めた複数の指座標を、Ｘ'Ｙ'座標系に変換した後、中心点Ｃ、近似直線等を算出して、表示するソフトキーボードの位置や方向を設定してもよい。
Ｘ'Ｙ'座標系への座標変換は、たとえば、直交座標系の平行移動とアフィン変換とを組み合わせて用いることにより、座標軸変換が可能となる。
【００４２】
＜ソフトキーボードの概略表示例＞
図３から図６に、表示画面に表示されるソフトキーボードの表示例の説明図を示す。
まず、図３と図４は、図３（ａ）の表示画面５０のやや右下側の位置にいるユーザが、１０本の指でタッチパネルに接触入力した場合に、表示画面５０に表示されるソフトキーボードの例を示している。
すでに説明したように、図３（ｂ）のように１０本の指が接触入力された場合、図３（ｄ）および図４（ａ）に示すように、８つの指座標から傾きＫが求められ、１０個の指座標から中心点Ｃが求められ、中心点Ｃを通る傾きＫの近似直線Ｙ＝Ｆ（ｘ）が求められる。
【００４３】
このとき、２つの親指のＹ座標と、近似直線Ｆ（ｘ）との位置関係を比較すると、ｙ1＜Ｆ（ｘ1）、ｙ2＜Ｆ（ｘ2）となるので、現在接触入力しているユーザのいる位置は、表示画面５０に対して、右下方向であると判断され、表示するソフトキーボードの上方向が、ななめ左上方向に設定される。
また、中心点Ｃの位置座標（Ｃx，Ｃy）から、表示するソフトキーボードの中心が決定され、近似直線の傾きＫからソフトキーボードの方向（傾きの角度）が決定され、１０個の指座標の位置からキーボードの大きさが決定される。
【００４４】
たとえば、図４（ｂ）に示すように、キーボードの大きさ，位置，方向が決定され、親指のＹ座標に基づいてキーボードの上方向が決定され、図４（ｃ）に示すように、ソフトキーボードの表示データが生成される。
この場合、図４（ｄ）に示すように、ソフトキーボードが表示される。
この後、ユーザは、一旦、１０本の指を表示画面から離した後、表示されたソフトキーボードの所望のキーの表示位置に接触入力することにより、キー入力操作を行えばよい。
【００４５】
図５は、図２（ａ）の表示画面５０に対して、やや左上側の位置にいるユーザが、１０本の指でタッチパネルに接触入力した場合に、表示画面５０に表示されるソフトキーボードの例を示している。
図５（ａ）には、ユーザが接触した１０本の指の接触位置を示している。ＴｈＬが左手の親指の接触位置で、ＴｈＲが右手の親指の接触位置である。
図５（ｂ）は、図５（ａ）の親指を除く８本の指の指座標から求めた傾きＫの直線Ｌと、１０本の指の指座標から求めた中心点Ｃの位置と、近似直線Ｆ（ｘ）とを示している。
ここでは、２つの親指の接触位置（ＴｈＬ，ＴｈＲ）は、近似直線Ｆ（ｘ）の上側にあるので、そのＹ座標は、ｙ1＞Ｆ（ｘ1）、ｙ2＞Ｆ（ｘ2）の関係を満たす。
以上のような傾きＫと、中心点Ｃと、近似直線Ｆ（ｘ）と、１０個の指座標と、親指のＹ座標と近似直線Ｆ（ｘ）との位置関係から、図５（ｃ）に示すようなソフトキーボードの表示位置，大きさ，方向が決定される。
【００４６】
図５（ｃ）の場合は、表示されるソフトキーボードの上方向は、表示画面５０に対して右下方向となる。
この場合、図５（ｄ）に示すように、ソフトキーボードが表示されるので、表示画面５０に対して、やや左上側の位置にいるユーザにとってキー入力操作が容易となる。
【００４７】
図６は、図２（ａ）の表示画面５０に対して、正面下側の位置にいるユーザが、１０本の指でタッチパネルに接触入力した場合に、表示画面に表示されるソフトキーボードの例を示している。
この場合は、図６（ｃ）に示すように、表示画面５０の上方向が、ソフトキーボードの上方向となる。
【００４８】
＜この発明のソフトキーボードの表示処理＞
図７に、この発明のソフトキーボードの表示処理の例の概略説明図を示す。
図７（ａ）は、表示画面上に、ユーザの両方の手を接触させようとしている状態を示している。
ここでは、表示画面に対して、左下方向にいるユーザが表示画面に接触しようとしている。
図７（ｂ）は、このユーザの１０本の指を表示画面に重ねて配置されたタッチパネルに接触した後の表示状態を示している。
ここでは、１０本の指の接触位置を判断して、ソフトキーボードが表示されている。
【００４９】
このソフトキーボードは、表示画面に対して、左上方向から右下方向に下がるように傾いており、キーボードの上方向が、表示画面の左下方向にいるユーザから遠ざかる方向になるように表示される。すなわち、右下方向にいるユーザにとって、キーの入力操作が容易となるように、ソフトキーボードが表示される。
上記したように、ユーザの１０本の指をすべて接触入力する必要はなく、たとえば、左手の親指と右手の人差指および中指の３本の指を接触入力してもよい。
すなわち、最小二乗法によって傾きＫを求め、中心点Ｃを求めて、ソフトキーボードの表示位置を決定することが可能な複数の指の接触入力があった場合に、図７（ｂ）のようにソフトキーボードが表示される。
【００５０】
図２に、この発明のソフトキーボードの表示処理の一実施例のフローチャートを示す。
ステップＳ１において、制御部１は、入力部３であるタッチパネルによって、接触入力があったか否か（タッチ入力の有無）をチェックする。
ステップＳ２において、上記チェックの結果、タッチパネル３に対する接触入力が、ほぼ同時に、１０点の位置において、あったか否かを確認する。ただし、１０本の指すべてが接触されていることは必要ではなく、少なくとも、どちらか一方の手の親指と、他のいずれか２本以上の指の接触入力があることが確認できればよい。
【００５１】
１０点の位置で接触入力があった場合は、ステップＳ３へ進み、そうでない場合は、ステップＳ１へ戻る。
また、たとえば、左手の親指と、人差指と中指の３本の指によって接触入力がされた場合など、キーボードの位置を決定することが可能な複数の指による接触入力があった場合は、ステップＳ３へ進む。
ただし、キーボードを表示させることを意図する入力でない場合、たとえば、１点のみの接触入力があった場合は、その入力位置に対応付けられた機能を実行して、ステップＳ１へ戻ってもよい。
【００５２】
ステップＳ３において、位置検出部４が、複数の指、たとえば１０本の指の接触入力位置を検出し、その入力位置（Ａ〜Ｊ）のＸＹ座標を、指座標（Ａ〜Ｊ）２１として記憶する。
ステップＳ４において、親指位置判定部８が、親指の位置（ＴｈＬ，ＴｈＲ）を検出し、親指座標２２として記憶する。
１０個の指座標（Ａ〜Ｊ）２１の中から、上記したように、たとえば、接触面積を用いることにより、２つの親指の位置が特定されるので、その位置のＸＹ座標を、２つの親指座標ＴｈＬ（ｘ1，ｙ1）、ＴｈＲ（ｘ2，ｙ2）とする。
【００５３】
ステップＳ５において、傾き計算部５が、接触入力された親指を除く８つの指（人差，中，薬，小）の指座標（Ａ〜Ｈ）から、最小二乗法を用いて、傾きＫの直線Ｌを求め、その傾きＫ２３を記憶する。ただし、８つの指の接触がなくてもよく、少なくとも２つ以上の指の接触入力があればよい。
これにより、たとえば、図３（ｃ）に示すように、８つの指座標（Ａ〜Ｈ）の近くを通る傾きＫの直線Ｌが求められる。
【００５４】
ステップＳ６において、中心点計算部６が、接触入力されたすべての指の１０個の指座標（Ａ〜Ｊ）から、中心点ＣのＸＹ座標２４（Ｃx，Ｃy）を計算し、記憶する。この中心点ＣのＸ座標は、例えば、指座標(A〜J)から重心を計算することにより、求める事ができる。
ステップＳ７において、近似直線算出部７が、傾きＫで，中心点Ｃを通る近似直線Ｙ＝（ｘ）を算出する。ここで、Ｙ＝Ｆ（ｘ）＝Ｋｘ＋ａ（ａは定数）で、表される。
たとえば、図３（ｄ）に示すように、中心点Ｃ，近似直線Ｆ（ｘ）が求められる。
【００５５】
ステップＳ８において、キーボード生成部１０が、近似直線Ｆ（ｘ）を利用して、ソフトキーボードの表示位置を決定する。
たとえば、図４（ｂ）に示すように、ソフトキーボードの輪隔が決定される。
ここで、表示するキーボードが横長の長方形状であるとすると、中心点Ｃが長方形の対角線の交点の位置にあって、１０個の指座標がその長方形領域の内部に含まれ、長方形の２つの長辺の傾きが、傾きＫと等しくなるように長方形の大きさが設定される。
この長方形の輪隔の位置に、ソフトキーボードが表示される。
【００５６】
ステップＳ９において、キーボード生成部１０が、近似直線Ｆ（ｘ）と、２つの親指のＹ座標ｙ1，ｙ2とを比較し、大小関係をチェックする。
すなわち、左手の親指ＴｈＬのＹ座標ｙ1と、左手の親指ＴｈＬのＸ座標ｘ1に対応する近似直線の数値Ｆ（ｘ1）とを比較し、ｙ1＜Ｆ（ｘ1）か否かをチェックする。
また、右手の親指ＴｈＲのＹ座標ｙ2と、右手の親指ＴｈＲのＸ座標ｘ2に対応する近似直線の数値Ｆ（ｘ2）とを比較し、ｙ2＜Ｆ（ｘ2）か否かをチェックする。すなわち、２つの親指の接触位置が、近似直線Ｆ（ｘ）よりも下側にあるか否かをチェックする。
【００５７】
ステップＳ１０において、ｙ1＜Ｆ（ｘ1），ｙ2＜Ｆ（ｘ2）の両方を満たす場合、ステップＳ１１へ進み、そうでない場合は、ステップＳ１２へ進む。
ステップＳ１１において、キーボード生成部１０によって、図３（ａ）の表示画面５０に対して、Ｙ軸の上方向と、表示されるキーボードの上方向の向きが一致するように、キーボードの向きが決定される。
たとえば、図４（ｃ）に示すように、キーボードの上下方向をそのままにして、ソフトキーボードが生成される。
その後、ステップＳ１４において、表示制御部９が、図４（ｄ）のように、生成されたキーボードを、表示部２に表示させ、ステップＳ１へ戻る。
【００５８】
一方、ステップＳ１２において、２つの親指のＹ座標が、近似直線Ｆ（ｘ）よりも上側にあるか否かをチェックする。
すなわち、ｙ1＞Ｆ（ｘ1），ｙ2＞Ｆ（ｘ2）を満たすか否かをチェックする。
ｙ1＞Ｆ（ｘ1）とｙ2＞Ｆ（ｘ2）の両方を満たす場合、ステップＳ１３へ進み、そうでない場合はステップＳ１５へ進む。
【００５９】
ステップＳ１３において、２つの親指の接触位置は、近似直線Ｆ（ｘ）よりも上側にあるので、図３（ａ）の表示画面５０に対して、キーボードの上方向の向きがＹ軸の下方向となるように、キーボードの向きが決定される。
たとえば、図５（ｃ）に示すように、キーボードの上下方向を反転させて、表示画面５０のななめ右下方向がキーボードの上方向となるようなソフトキーボードが生成される。
その後、ステップＳ１４へ進み、図５（ｄ）のように、ソフトキーボードを表示部２に表示させ、ステップＳ１へ戻る。
【００６０】
また、ステップＳ１５に進んだ場合は、２つの親指の接触位置と、近似直線Ｆ（ｘ）との位置関係が、ステップＳ１０やステップＳ１２の条件のいずれでもないので、キーボードの方向を決定することができない。
したがって、たとえば、ステップＳ１５において、ユーザに、１０本の指の再タッチを要求するために、所定の警告メッセージを表示部２に表示させ、再タッチされるのを待つために、ステップＳ１へ戻る。
【００６１】
以上のようにして、表示画面に表示させるソフトキーボードの位置と方向とを決定することにより、ユーザがいる方向からキー入力がしやすいようにソフトキーボードが表示される。
表示されるソフトキーボードの方向は、表示画面の外枠とは無関係に、ユーザの複数の指の接触位置に基づいて決定されるので、容易にキー入力操作をすることが可能となる。
【００６２】
また、ユーザは、通常のハードウェアキーボードと同様に、１０本の指あるいは所定の複数の指を、ほぼ同時にタッチパネル上に接触させるだけで、キー入力しやすい方向に向いたソフトキーボードが表示されるので、ソフトキーボードを表示させるための特別な入力操作をすることがなく、その入力負担を軽減でき、表示されたソフトキーボードを用いて、容易かつ迅速にキー入力操作を始めることができる。
【符号の説明】
【００６３】
１  制御部，  ２  表示部，  ３  入力部（タッチパネル），  ４  位置検出部，  ５  傾き計算部，  ６  中心点計算部，  ７  近似直線算出部，  ８  親指位置判定部，  ９  表示制御部，  １０  キーボード生成部，  ２０  記憶部，  ２１  入力座標点（指座標），  ２２  親指座標，  ２３  傾きＫ，  ２４  中心点座標，  ２５  近似直線，  ２６  ソフトキーボード情報
【図１】
2014186469.tif 000003
【図２】
2014186469.tif 000004
【図３】
2014186469.tif 000005
【図４】
2014186469.tif 000006
【図５】
2014186469.tif 000007
【図６】
2014186469.tif 000008
【図７】
2014186469.tif 000009