(57)【特許請求の範囲】
【請求項１】
携帯可能であって表示画面を有する情報処理装置の第１の状態における傾き又は加速度を受け付ける第１の受付手段と、
前記情報処理装置の第２の状態における傾き又は加速度を受け付ける第２の受付手段と、
前記第１の受付手段によって受け付けられた傾き又は加速度と前記第２の受付手段によって受け付けられた傾き又は加速度に基づいて、前記表示画面上の位置を指し示すための印の前記第２の状態における座標を決定する座標決定手段と、
前記表示画面に対する操作者による操作の位置を受け付ける操作位置受付手段と、
前記操作位置受付手段によって受け付けられた位置と前記座標決定手段によって決定された位置との距離を、予め定められた閾値と比較して、該操作位置受付手段によって受け付けられた位置又は該座標決定手段によって決定された位置を変更する位置変更手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記第１の受付手段と前記第２の受付手段が受け付ける傾き又は加速度は、前記情報処理装置におけるｘ軸、ｙ軸、ｚ軸のそれぞれにおける値であり、
前記座標決定手段は、前記第１の状態における傾き又は加速度のｙｚ平面への射影と前記第２の状態における傾き又は加速度のｙｚ平面への射影との角度差に基づいて、前記表示画面上の上下方向における座標を決定し、該第１の状態における傾き又は加速度のｘｙ平面への射影と該第２の状態における傾き又は加速度のｘｙ平面への射影との角度差及び該第１の状態における傾き又は加速度のｘｚ平面への射影と該第２の状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、該表示画面上の左右方向における座標を決定し、
前記表示画面は、前記ｘ軸と前記ｙ軸が作る平面と平行であり、
前記「傾き又は加速度のｙｚ平面への射影」とあるのは、「傾きのｙｚ平面への射影」又は「加速度のｙｚ平面への射影」の意であり、
前記「傾き又は加速度のｘｙ平面への射影」とあるのは、「傾きのｘｙ平面への射影」又は「加速度のｘｙ平面への射影」の意であり、
前記「傾き又は加速度のｘｚ平面への射影」とあるのは、「傾きのｘｚ平面への射影」又は「加速度のｘｚ平面への射影」の意であり、
前記傾きは前記情報処理装置の重力方向への向きである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記座標決定手段は、
前記第１の状態における傾き若しくは加速度のｘｙ平面への射影の大きさ又は前記第２の状態における傾き若しくは加速度のｘｙ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、該第１の状態における傾き又は加速度のｘｚ平面への射影と該第２の状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、前記表示画面上の左右方向における座標を決定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記座標決定手段は、
前記第１の状態における傾き若しくは加速度のｘｚ平面への射影の大きさ又は前記第２の状態における傾き若しくは加速度のｘｚ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、該第１の状態における傾き又は加速度のｘｙ平面への射影と該第２の状態における傾き又は加速度のｘｙ平面への射影との角度差に基づいて、該表示画面上の左右方向における座標を決定する
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記座標決定手段によって決定された前記表示画面上の座標の位置に、前記印を表示する表示手段
をさらに具備することを特徴とする請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記表示手段による印の表示、非表示を切り替える表示切替手段
をさらに具備することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記操作位置受付手段は、操作者より前記表示画面に対する接触位置を受け付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
コンピュータを、
携帯可能であって表示画面を有する情報処理装置の第１の状態における傾き又は加速度を受け付ける第１の受付手段と、
前記情報処理装置の第２の状態における傾き又は加速度を受け付ける第２の受付手段と、
前記第１の受付手段によって受け付けられた傾き又は加速度と前記第２の受付手段によって受け付けられた傾き又は加速度に基づいて、前記表示画面上の位置を指し示すための印の前記第２の状態における座標を決定する座標決定手段と、
前記表示画面に対する操作者による操作の位置を受け付ける操作位置受付手段と、
前記操作位置受付手段によって受け付けられた位置と前記座標決定手段によって決定された位置との距離を、予め定められた閾値と比較して、該操作位置受付手段によって受け付けられた位置又は該座標決定手段によって決定された位置を変更する位置変更手段
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、従来の情報表示装置では、実際の書籍の操作性と異なるために訓練が必要である、操作のための部品が画面の一部を占有するため表示できる情報量が減少する、連続してページをめくる場合にローラを回し続ける等の連続操作により操作性が低下するという問題を課題とし、装置に加わる力を検出して表示部品に生ずるべき加速度を算出する表示加速度生成手段を有し、表示画面上の操作部品や多数の画面等を用いることなく装置を傾けるだけで連続的なページめくりが可能であり、書籍の見出しやしおりと同様な表示及び操作が可能な見出し入力手段を有し、自然な操作で自由なページ移動が可能であり、回転入力デバイスを駆動する回転駆動手段を有することにより、連続操作の操作量を低減可能であるとともにページめくり状態の触覚的な応答が可能であることが開示されている。
【０００３】
特許文献２には、携帯型情報端末の保持方向あるいは画像表示装置の表示面方向を変更するだけで、操作者の好みの方向に画像表示方向を変更することができるようにすることを課題とし、画像表示装置と重力検出装置を備えた携帯型情報端末であって、重力検出装置は磁気センサを用いたものであり、重力検出装置により検出された携帯型情報端末の保持方向、又は画像表示装置の上下面反転に伴う表示面方向にしたがって、前記画像表示装置に表示する画像の表示方向を変更すること、また、入力装置としてタッチパネルを有する第一の画像表示装置と、第一の画像表示装置に連結され且つ入力装置としてタッチパネルを有する第二の画像表示装置と、重力検出装置と、を備え、第一と第二の画像表示装置のいずれかにキー配列を表示する携帯型情報端末であって、重力検出装置により検出された携帯型情報端末の保持方向にしたがって、第一と第二の画像表示装置に表示する画像とキー配列の表示方向を操作者に正対する向きに変更することが開示されている。
【０００４】
特許文献３には、主としてタッチパネルを背面から操作可能な携帯端末において，タッチパネルの操作位置が確認できる携帯端末を提供することを課題とし、操作圧力の検出が可能なタッチパネルを設け、操作圧力により、タッチパネルへの入力操作をカーソル表示（移動）のモードとして処理するか、データ入力のモードとして処理するか、カーソル消去のモードとして処理するかを切り替えることにより、例えば、操作圧力が弱いときはカーソル表示のみ行い、強い圧力で操作されたときにのみ入力データの処理を行うことが開示されている。
【０００５】
特許文献４には、ユーザによる一連の動作に機能を割り当て、意図しない機能の実行を防止することを課題とし、ＣＰＵは、３軸加速度センサからの出力に基づいて、ポータブルコンピュータの本体に対して、所定の一連の動作（第１の動作及び第２の動作の組合せ）が行われたか否かを判定し、所定の一連の動作が行われた場合、ユーザインタフェースが表示画面に表示され、ユーザインタフェースが表示画面に表示された状態で、所定の一連の動作が再度行われた場合、ユーザインタフェースの表示画面への表示が終了されることが開示されている。
【０００６】
特許文献５には、タッチパッドの操作量と操作対象の移動表示制御量との間における、ユーザの感覚的なズレを補正して、操作対象を正確に操作可能とすることを課題とし、制御部は、タッチパッドが操作される際に、基準となる携帯電話機の傾き角（ニュートラルポジション）に対する、当該携帯電話機の現在の傾き角の差分角度を検出し、この検出した差分角度に対応する１単位移動操作量を差分角度／操作量対応テーブルから検出し、そして、ユーザがタッチパッドを操作することで得られた該指の移動量を上記１単位移動操作量に基づいて補正し、この補正した指の移動量、移動時間、及び移動方向に対応するように、操作対象を移動表示制御し、これにより、ユーザは、当該携帯電話機の傾き角を調整しながらタッチパッドを操作することで、該ユーザの感覚に合致した操作対象の移動状態を得ることができ、正確な操作を可能とすることができることが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−１６１６１９号公報
【特許文献２】特開２００１−２４２８４５号公報
【特許文献３】特開２００３−０５８３１６号公報
【特許文献４】特開２００８−１４００６４号公報
【特許文献５】特開２００９−２５１８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、携帯可能であって表示画面を有する情報処理装置を操作する場合にあって、第１の状態と第２の状態における情報処理装置の傾き又は加速度によって、表示画面上の印の座標を決定するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、携帯可能であって表示画面を有する情報処理装置の第１の状態における傾き又は加速度を受け付ける第１の受付手段と、前記情報処理装置の第２の状態における傾き又は加速度を受け付ける第２の受付手段と、前記第１の受付手段によって受け付けられた傾き又は加速度と前記第２の受付手段によって受け付けられた傾き又は加速度に基づいて、前記表示画面上の位置を指し示すための印の前記第２の状態における座標を決定する座標決定手段と、前記表示画面に対する操作者による操作の位置を受け付ける操作位置受付手段と、前記操作位置受付手段によって受け付けられた位置と前記座標決定手段によって決定された位置との距離を、予め定められた閾値と比較して、該操作位置受付手段によって受け付けられた位置又は該座標決定手段によって決定された位置を変更する位置変更手段を具備することを特徴とする情報処理装置である。
【００１０】
請求項２の発明は、前記第１の受付手段と前記第２の受付手段が受け付ける傾き又は加速度は、前記情報処理装置におけるｘ軸、ｙ軸、ｚ軸のそれぞれにおける値であり、前記座標決定手段は、前記第１の状態における傾き又は加速度のｙｚ平面への射影と前記第２の状態における傾き又は加速度のｙｚ平面への射影との角度差に基づいて、前記表示画面上の上下方向における座標を決定し、該第１の状態における傾き又は加速度のｘｙ平面への射影と該第２の状態における傾き又は加速度のｘｙ平面への射影との角度差及び該第１の状態における傾き又は加速度のｘｚ平面への射影と該第２の状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、該表示画面上の左右方向における座標を決定し、前記表示画面は、前記ｘ軸と前記ｙ軸が作る平面と平行であり、前記「傾き又は加速度のｙｚ平面への射影」とあるのは、「傾きのｙｚ平面への射影」又は「加速度のｙｚ平面への射影」の意であり、前記「傾き又は加速度のｘｙ平面への射影」とあるのは、「傾きのｘｙ平面への射影」又は「加速度のｘｙ平面への射影」の意であり、前記「傾き又は加速度のｘｚ平面への射影」とあるのは、「傾きのｘｚ平面への射影」又は「加速度のｘｚ平面への射影」の意であり、前記傾きは前記情報処理装置の重力方向への向きであることを特徴とする請求項１に記載の情報処理装置である。
【００１１】
請求項３の発明は、前記座標決定手段は、前記第１の状態における傾き若しくは加速度のｘｙ平面への射影の大きさ又は前記第２の状態における傾き若しくは加速度のｘｙ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、該第１の状態における傾き又は加速度のｘｚ平面への射影と該第２の状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、前記表示画面上の左右方向における座標を決定することを特徴とする請求項２に記載の情報処理装置である。
【００１２】
請求項４の発明は、前記座標決定手段は、前記第１の状態における傾き若しくは加速度のｘｚ平面への射影の大きさ又は前記第２の状態における傾き若しくは加速度のｘｚ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、該第１の状態における傾き又は加速度のｘｙ平面への射影と該第２の状態における傾き又は加速度のｘｙ平面への射影との角度差に基づいて、該表示画面上の左右方向における座標を決定することを特徴とする請求項２又は３に記載の情報処理装置である。
【００１４】
請求項５の発明は、前記座標決定手段によって決定された前記表示画面上の座標の位置に、前記印を表示する表示手段をさらに具備することを特徴とする請求項１から４のいずれか一項に記載の情報処理装置である。
【００１５】
請求項６の発明は、前記表示手段による印の表示、非表示を切り替える表示切替手段をさらに具備することを特徴とする請求項５に記載の情報処理装置である。
【００１６】
請求項７の発明は、前記操作位置受付手段は、操作者より前記表示画面に対する接触位置を受け付けることを特徴とする請求項１に記載の情報処理装置である。
【００１７】
請求項８の発明は、コンピュータを、携帯可能であって表示画面を有する情報処理装置の第１の状態における傾き又は加速度を受け付ける第１の受付手段と、前記情報処理装置の第２の状態における傾き又は加速度を受け付ける第２の受付手段と、前記第１の受付手段によって受け付けられた傾き又は加速度と前記第２の受付手段によって受け付けられた傾き又は加速度に基づいて、前記表示画面上の位置を指し示すための印の前記第２の状態における座標を決定する座標決定手段と、前記表示画面に対する操作者による操作の位置を受け付ける操作位置受付手段と、前記操作位置受付手段によって受け付けられた位置と前記座標決定手段によって決定された位置との距離を、予め定められた閾値と比較して、該操作位置受付手段によって受け付けられた位置又は該座標決定手段によって決定された位置を変更する位置変更手段として機能させることを特徴とする情報処理プログラムである。
【発明の効果】
【００１９】
請求項１の情報処理装置によれば、携帯可能であって表示画面を有する情報処理装置を操作する場合にあって、第１の状態と第２の状態における情報処理装置の傾き又は加速度によって、表示画面上の印の座標を決定することができる。また、操作者による操作の位置又は決定された表示画面上の印の位置を変更することができる。
【００２０】
請求項２の情報処理装置によれば、ｘ軸、ｙ軸、ｚ軸におけるｙｚ平面、ｘｙ平面、ｘｚ平面への射影を用いて、表示画面上の印の座標を決定することができる。
【００２１】
請求項３、４の情報処理装置によれば、閾値との関係に応じて、表示画面上の印の座標を決定することができる。
【００２３】
請求項５の情報処理装置によれば、決定された表示画面上の座標に印を表示することができる。
【００２４】
請求項６の情報処理装置によれば、印の表示、非表示を切り替えることができる。
【００２５】
請求項７の情報処理装置によれば、操作者より表示画面に対する接触位置を受け付けることができる。
【００２６】
請求項８の情報処理プログラムによれば、携帯可能であって表示画面を有する情報処理装置を操作する場合にあって、第１の状態と第２の状態における情報処理装置の傾き又は加速度によって、表示画面上の印の座標を決定することができる。また、操作者による操作の位置又は決定された表示画面上の印の位置を変更することができる。
【図面の簡単な説明】
【００２８】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】携帯情報処理装置の外観例を示す説明図である。
【図４】本実施の形態を具現化した場合のシステム構成例を示す説明図である。
【図５】ｘｙｚ空間の例を示す説明図である。
【図６】表示画面内の座標の例を示す説明図である。
【図７】ｙｚ平面における携帯情報処理装置の傾きの例を示す説明図である。
【図８】表示画面内のカーソルの動きの例を示す説明図である。
【図９】ｘｙ平面における携帯情報処理装置の傾きの例を示す説明図である。
【図１０】表示画面内のカーソルの動きの例を示す説明図である。
【図１１】ｘｚ平面における携帯情報処理装置の傾きの例を示す説明図である。
【図１２】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１３】第２の実施の形態による処理例を示すフローチャートである。
【図１４】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２９】
まず、本実施の形態の説明の理解を容易にするために、タッチパネルを用いた一般的な操作インタフェースについて説明する。
タッチパネルを用いた操作インタフェースにおいては、指、ペン等がタッチパネル上に接触していること、及びその接触位置を検出するという特性上、様々な制約が発生する。
例えば、パーソナルコンピュータ（ＰＣ）によるマウス操作インタフェースでは、画面上のカーソルの位置のみを移動させるような操作があるが、タッチパネル操作インタフェースでは、クリックを伴わないような操作は検出できない。
【００３０】
また、例えばウェブブラウザによるホームページの閲覧などにおいては、ホームページの提供側は閲覧側の操作インタフェースを必ずしも特定できず、また特定できる場合においても、操作インタフェースの各々に異なる操作方法を提供することは、作成、維持上のコストの面で不利である。また操作者にとっても、マウス操作の場合とタッチパネル操作の場合で異なる操作方法が提供される場合には、各々の操作を学習する必要がある。
【００３１】
従来の多くのタッチパネル操作インタフェースにおいては、タッチパネル上のある箇所を短時間接触する操作を、マウス操作における、マウスボタンのクリックに対応付けている。また、タッチパネル上のある箇所で接触を開始し、異なる箇所まで接触を保持したまま移動する操作を、マウス操作における、マウスボタンを押したままマウスを移動する操作（マウスドラッグ）に対応付けている。
しかしながら、マウスボタンを押さずにマウスを動かして、画面上のカーソルを特定の位置に移動させる操作を、多くのタッチパネル操作インタフェースでは実現できていない。主にマウス操作を想定したホームページや、ソフトウェアにおいては、例えば特定のボタンを表す領域にマウスカーソルが移動されたことを検知した場合には、そのボタンの表示方法を変えてボタンをクリック可能であることを強調したり、そのボタンの説明を一時的に表示したりして、操作者の利便性を向上することが行われている。しかし、タッチパネル操作インタフェースでは、タッチパネルに接触せずにカーソルを移動させることができないため、そのような処理は行えないようになっている。
【００３２】
さらに、マウス操作インタフェースによるクリックでは、カーソル位置を画面上で確認した後にクリックを行うことができるのに対し、タッチパネルでのクリック操作では、タッチした時点で初めてタッチ位置が検出されるため、操作者は詳細なクリック位置を予測できないため誤操作を招くことがある。特に指によるタッチ操作では、指の角度により画面に触れる位置が操作者の想定と異なる場合があり、詳細な位置を指定する操作は困難となることがある。
【００３３】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３４】
第１の実施の形態である情報処理装置は、携帯可能であって表示画面を有する携帯情報処理装置を操作するものであって、図１の例に示すように、携帯端末１００とカーソル位置決定モジュール１２０を有している。携帯端末１００とカーソル位置決定モジュール１２０は接続されている。携帯端末１００とカーソル位置決定モジュール１２０は、同一筐体内にあってもよいし、それぞれ別の筐体内にあってもよい。
【００３５】
携帯端末１００は、表示画面１０２、タッチセンサ１０４、傾き・加速度センサ１０６を有している。携帯端末１００は、携帯可能である。ここで、携帯可能であるとは、操作者が携帯端末１００そのものを傾ける、回転する、振る等の操作を行い得る形態であることをいう。また、操作としては、操作者がタッチセンサ１０４と一体となった表示画面１０２上で行う操作も含まれる。
【００３６】
図３は、携帯情報処理装置３００の外観例を示す説明図である。携帯情報処理装置３００は、タッチパネルである表示画面３１０を有している。また、携帯情報処理装置３００は、図１に例示した携帯端末１００を有しており、表示画面３１０は携帯端末１００の表示画面１０２に該当する。図３（ａ）に例示の携帯情報処理装置３００は、縦長に利用する場合の配置であり、図３（ｂ）に例示の携帯情報処理装置３００は、横長に利用する場合の配置である。いずれの配置の利用であってもよいし、１つの携帯情報処理装置３００を図３（ａ）、図３（ｂ）に例示の配置のいずれかに切り替えられるようにしてもよい。
【００３７】
なお、カーソル位置決定モジュール１２０は、携帯情報処理装置３００で動作するＯＳの一部として実現し、カーソル表示モジュール１２２によって表示しようとしているカーソルの位置情報を、ＯＳ上で動作する各アプリケーションに送出するように構成してもよい。
また、カーソル位置決定モジュール１２０は、携帯情報処理装置３００で動作するアプリケーションの一部として実現するように構成してもよい。
【００３８】
また、カーソル位置決定モジュール１２０は、携帯情報処理装置３００と通信回線を介して接続されている情報処理装置内にあってもよい。
また、カーソル位置決定モジュール１２０を実現するソフトウェアを、サーバーから通信回線であるネットワークを経由して取得し、携帯情報処理装置３００で実行させるように構成してもよい。図４は、本実施の形態を具現化した場合のシステム構成例を示す説明図である。携帯情報処理装置３００Ａ、携帯情報処理装置３００Ｂ、携帯情報処理装置３００Ｃ、Ｗｅｂサーバー４１０は、通信回線４９０を介して接続されている。このような構成において、カーソル位置決定モジュール１２０を実現するソフトウェアを例えばＪａｖａＳｃｒｉｐｔ（登録商標）として用意し、ＨＴＭＬなどで表現されているＷｅｂページをＷｅｂサーバー４１０上のブラウザソフトウェアで閲覧するときに、そのＪａｖａＳｃｒｉｐｔを動作させることにより、カーソル位置決定モジュール１２０を実現し得る。
【００３９】
携帯端末１００内の表示画面１０２は、液晶ディスプレイ等であり、文字、図形、画像、動画等を表示し得るものである。
携帯端末１００内のタッチセンサ１０４は、表示画面１０２に対する操作者による操作の位置を受け付ける。タッチセンサ１０４は、表示画面１０２と一体となっており、表示画面１０２上に表示されたもの（メニュー等）に、操作者が指、ペン等で接触することによって操作を行うための装置である。一般に、タッチセンサ１０４と一体となった表示画面１０２は、タッチパネル、タッチスクリーン等ともいわれている（以下、単にタッチパネルともいう）。タッチセンサ１０４は、指、ペン等の接触した位置を検出する。タッチセンサ１０４は、抵抗膜方式、静電容量方式、表面弾性波方式、赤外線方式等によって実現され得る。なお、前述の説明では表示画面１０２の接触された位置を検出するとしたが、例えば、赤外線方式であれば、赤外線が遮られた位置を検出することになる。ただし、赤外線検出の位置を表示画面１０２の表面上に密着させることによって、接触された位置を検出することと同じこととなるので、以下、表示画面１０２の接触された位置を検出するという。また、タッチセンサ１０４と一体となった表示画面１０２があることによって、マウス等の装置を接続することは不要であるが、必ずしもマウス等の装置の接続を妨げるものではない。
【００４０】
携帯端末１００内の傾き・加速度センサ１０６は、携帯端末１００の傾き又は加速度を検出する装置である。ジャイロセンサ、加速度センサ、磁気センサ等によって実現され得る。例えば、３軸の加速度センサを備えている場合は、加速度は３次元のベクトルとして検出する。ここで、携帯情報処理装置３００（図１における携帯端末１００を含む）におけるｘｙｚ空間を図５に例示する。つまり、ｘ軸は左右方向を示しており、ｙ軸は上下方向（重力方向）を示しており、ｚ軸は前後方向を示している。傾き・加速度センサ１０６は図５に例示したｘ軸、ｙ軸、ｚ軸に沿って配置され、各々のセンサで観測された加速度値をそのまま加速度ベクトルのｘ、ｙ、ｚ成分として説明する。
【００４１】
また、携帯情報処理装置３００に備えられた２次元の表示画面１０２は、図５に例示のｘ軸とｙ軸が作る平面（ｘｙ平面）に並行に設置されているとし、表示画面１０２内の座標の説明としても、図５に例示のｘ軸、ｙ軸を符号も含めて共通に用いる。例えば、図６に示すように、表示画面３１０（図１における表示画面１０２に該当する）内の座標系を定める。また、操作者の視線の方向は、ｚ軸の正方向からあるものとする。したがって、ｘ軸の正方向は操作者にとって右方向となり、ｘ軸の負方向は操作者にとって左方向となる。
なお、携帯情報処理装置３００がほぼ静止又は定速運動をしている場合には、携帯情報処理装置３００にかかる加速度は重力加速度のみであり、傾き・加速度センサ１０６によって検出された加速度ベクトルの向きが重力の向きである。また、携帯情報処理装置３００の傾きは、重力の向きから相対的に求められる。
【００４２】
カーソル位置決定モジュール１２０は、カーソル表示モジュール１２２、カーソル表示切替モジュール１２４、位置補正モジュール１２６、傾き・加速度受付モジュール１２８、定常状態決定モジュール１３０、カーソルｘ座標決定モジュール１３２、カーソルｙ座標決定モジュール１３４を有している。
【００４３】
傾き・加速度受付モジュール１２８は、携帯端末１００の第１の状態における傾き又は加速度を受け付ける。そして、携帯端末１００の第２の状態における傾き又は加速度を受け付ける。携帯端末１００の傾き又は加速度は、傾き・加速度センサ１０６によって検出され、それを受け付ける。
ここで、第１の状態（以下、定常状態ともいう）とは、例えば、予め定められた時間内で検知された傾き又は加速度の変動量が予め定められた範囲内である状態、タッチセンサ１０４が表示画面１０２への最新の接触（タッチ操作）を検出したときの状態、操作者の操作によって定常状態であることが指定されたときの状態、又は携帯端末１００の電源をオンにしたときの状態等をいう。
【００４４】
第２の状態（以下、カーソル位置決定状態ともいう）とは、カーソルの位置を決定すべき状態をいう。カーソルの位置は、定常状態が決定された後に決定されるので、第２の状態は、第１の状態での携帯端末１００の傾き又は加速度を受け付けた後である。なお、カーソルとは、表示画面１０２上の位置を指し示すための印（一般的には、矢印形状の画像等）をいう。ただし、カーソルは、表示画面１０２上に常に表示されている必要はなく、潜在的に存在している場合もある。潜在的に存在している場合は、カーソルｘ座標決定モジュール１３２、カーソルｙ座標決定モジュール１３４によってカーソルの位置を決定するようにしてもよいし、潜在的になる前のカーソルの位置に固定していてもよい。
また、傾き・加速度受付モジュール１２８が受け付ける携帯端末１００の傾き又は加速度は、携帯端末１００におけるｘ軸、ｙ軸、ｚ軸のそれぞれにおける値であってもよい。
【００４５】
定常状態決定モジュール１３０は、傾き・加速度受付モジュール１２８が受け付けた携帯端末１００の定常状態における傾き又は加速度に基づいて、携帯端末１００の定常状態における傾き又は加速度を決定する。例えば、携帯端末１００の傾きとは、携帯端末１００の重力方向への向きである。定常状態として、予め定められた時間内で検知された傾き又は加速度の変動量が予め定められた範囲内であったときとした場合は、その時間内での携帯端末１００の傾き又は加速度の統計的値（例えば、平均値、最頻値、中央値等）を、携帯端末１００の定常状態における傾き又は加速度とする。また、定常状態として、タッチセンサ１０４が表示画面１０２への最新の接触を検出したときの状態、操作者の操作によって定常状態であることが指定されたときの状態、又は携帯端末１００の電源をオンにしたときの状態等の場合は、その状態において傾き・加速度受付モジュール１２８が受け付けた携帯端末１００の傾き又は加速度を定常状態における傾き又は加速度とする。
【００４６】
カーソルｘ座標決定モジュール１３２、カーソルｙ座標決定モジュール１３４は、定常状態とカーソル位置決定状態における傾き又は加速度の変化量に対応して、表示画面１０２上におけるカーソルの位置を決定する。
カーソルｘ座標決定モジュール１３２は、定常状態決定モジュール１３０によって決定された携帯端末１００の定常状態における傾き又は加速度と傾き・加速度受付モジュール１２８によって受け付けられた携帯端末１００のカーソル位置決定状態における傾き又は加速度に基づいて、カーソルのカーソル位置決定状態におけるｘ座標を決定する。
カーソルｘ座標決定モジュール１３２は、定常状態における傾き又は加速度のｘｙ平面への射影とカーソル位置決定状態における傾き又は加速度のｘｙ平面への射影との角度差及び定常状態における傾き又は加速度のｘｚ平面への射影とカーソル位置決定状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、表示画面１０２上の左右方向における座標（ｘ座標）を決定する。
【００４７】
さらに、カーソルｘ座標決定モジュール１３２は、定常状態における傾き若しくは加速度のｘｙ平面への射影の大きさ又はカーソル位置決定状態における傾き若しくは加速度のｘｙ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、定常状態における傾き又は加速度のｘｚ平面への射影とカーソル位置決定状態における傾き又は加速度のｘｚ平面への射影との角度差に基づいて、表示画面１０２上の左右方向における座標（ｘ座標）を決定してもよい。ここでの「予め定められた関係」とは、定常状態における傾き若しくは加速度のｘｙ平面への射影の大きさ又はカーソル位置決定状態における傾き若しくは加速度のｘｙ平面への射影の大きさが、予め定められた閾値よりも小さい又は予め定められた閾値以下である関係をいう。
【００４８】
さらに、カーソルｘ座標決定モジュール１３２は、定常状態における傾き若しくは加速度のｘｚ平面への射影の大きさ又はカーソル位置決定状態における傾き若しくは加速度のｘｚ平面への射影の大きさを、予め定められた閾値と比較して、予め定められた関係を有している場合は、定常状態における傾き又は加速度のｘｙ平面への射影とカーソル位置決定状態における傾き又は加速度のｘｙ平面への射影との角度差に基づいて、表示画面１０２上の左右方向における座標（ｘ座標）を決定するようにしてもよい。ここでの「予め定められた関係」とは、定常状態における傾き又は加速度のｘｚ平面への射影の大きさ、又はカーソル位置決定状態における傾き又は加速度のｘｚ平面への射影の大きさが、予め定められた閾値よりも小さい又は予め定められた閾値以下である関係をいう。
【００４９】
カーソルｙ座標決定モジュール１３４は、定常状態決定モジュール１３０によって決定された携帯端末１００の定常状態における傾き又は加速度と傾き・加速度受付モジュール１２８によって受け付けられた携帯端末１００のカーソル位置決定状態における傾き又は加速度に基づいて、カーソルのカーソル位置決定状態におけるｙ座標を決定する。
例えば、カーソルｙ座標決定モジュール１３４は、定常状態における傾き又は加速度のｙｚ平面への射影とカーソル位置決定状態における傾き又は加速度のｙｚ平面への射影との角度差に基づいて、表示画面１０２上の上下方向における座標（ｙ座標）を決定する。
【００５０】
カーソル表示モジュール１２２は、カーソルｘ座標決定モジュール１３２によって決定されたｘ座標とカーソルｙ座標決定モジュール１３４によって決定されたｙ座標によって示される表示画面１０２上の位置に、カーソルを表示する。
カーソル表示切替モジュール１２４は、カーソルの位置、操作者の操作に基づいて、カーソル表示モジュール１２２によるカーソルの表示、非表示を切り替える。例えば、「カーソルの位置に基づいて」とは、予め定められた範囲内にカーソルが移動した場合は、カーソルを非表示の状態に切り替えるようにすることが該当する。「操作者の操作に基づいて」とは、操作者が表示画面１０２に接触した場合、携帯端末１００を傾ける等の操作を行った場合に、カーソルを表示する状態に切り替えるようにすることが該当する。
位置補正モジュール１２６は、タッチセンサ１０４によって受け付けられた位置とカーソルｘ座標決定モジュール１３２とカーソルｙ座標決定モジュール１３４によって決定された位置との距離を、予め定められた閾値と比較して、タッチセンサ１０４によって受け付けられた位置又はカーソルｘ座標決定モジュール１３２とカーソルｙ座標決定モジュール１３４によって決定された位置を変更する。例えば、前述のように視覚差等によって、操作者が接触した位置（又は接触したと思っている位置）とカーソルの位置とが異なる場合に、その差を減ずるようにするものである。より具体的には、（１）タッチセンサ１０４によって受け付けられた位置をカーソルｘ座標決定モジュール１３２とカーソルｙ座標決定モジュール１３４によって決定された位置に変更すること、（２）カーソルｘ座標決定モジュール１３２とカーソルｙ座標決定モジュール１３４によって決定された位置をタッチセンサ１０４によって受け付けられた位置に変更すること、（３）タッチセンサ１０４によって受け付けられた位置、カーソルｘ座標決定モジュール１３２とカーソルｙ座標決定モジュール１３４によって決定された位置のいずれか一方又は両者を、両者の位置を用いて変更すること（例えば、両者を結ぶ直線の中間の位置（中間とは、必ずしも両者の１／２の位置でなくてもよく、例えば、タッチセンサ１０４によって受け付けられた位置に近い３／４の位置等であってもよい）に変更すること）等であってもよい。
【００５１】
図２は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、傾き・加速度受付モジュール１２８が、傾き・加速度センサ１０６が検出した定常状態における傾き又は加速度を受け付ける。
ステップＳ２０４では、定常状態決定モジュール１３０が、ステップＳ２０２で受け付けた傾き又は加速度に基づいて、定常状態における傾き又は加速度を決定する。例えば、定常状態における重力加速度ベクトルを（Ｓｘ，Ｓｙ，Ｓｚ）とする。
ステップＳ２０６では、傾き・加速度受付モジュール１２８が、傾き・加速度センサ１０６が検出したカーソル位置決定状態における傾き又は加速度を受け付ける。例えば、カーソル位置決定状態における重力加速度ベクトルを（Ｔｘ，Ｔｙ，Ｔｚ）とする。
【００５２】
ステップＳ２０８では、カーソルｙ座標決定モジュール１３４が、カーソルのｙ座標を決定する。
より詳細に説明する。重力加速度ベクトル（Ｓｘ、Ｓｙ、Ｓｚ）のｙｚ平面への射影と、ｚ軸の正の向きとの角度をＡ１ｓとして求める。また、重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｙｚ平面への射影と、ｚ軸の正の向きとの角度をＡ１ｔとして求める。ここで角度の正負は、ｚ軸正方向からｙ軸負方向への角度が正の９０度となるように定義する。
表示画面上のカーソルの、ｙ軸方向の位置Ｃｙを、
Ｃｙ  ＝  Ｍ１  ×  （Ａ１ｔ  −  Ａ１ｓ）  ＋  Ｐ１      （１）式
として求める。このようにカーソルの位置を求めれば、係数Ｍ１が正の値であるときは、操作者から見て、携帯情報処理装置３００の上部が操作者から離れるように傾ければ、カーソルは上に動き、逆の向きに傾ければカーソルは下に動くことになる。
【００５３】
操作者の好みなどによって携帯情報処理装置３００の傾きとカーソルの移動方向の対応を逆にする場合には、係数Ｍ１の値を負にすればよい。また、係数Ｍ１の絶対値の大小は、どれだけ傾ける（Ａｔが変化する）とどれだけカーソルが動くかを決定する。Ｍ１が大きい場合はわずかな傾きの変更でカーソルが大きく動くことになり、カーソルを画面上で大きく動かす場合には好適であるが、わずかなカーソル位置の調整には不利になる。Ｍ１が小さい場合は大きな傾きの変更でもカーソルはわずかな動きとなり、カーソル位置の微調整の場合には好適であるが、カーソルを大きく動かす場合には不利になる。Ｍ１の値は、携帯情報処理装置３００として一意に決めておいてもよいし、操作者の設定に応じて値を変更してもよいし、また操作中の操作内容などに応じて動的に変更してもよい。
係数Ｐ１は傾きの変化に関わらず予め定められたオフセットを与える効果を持ち、Ａ１ｔがＡ１ｓに等しいときのカーソルのｙ軸位置を示す。Ｐ１の値の例としては、定常時のカーソルのｙ軸位置、最新のタッチ操作におけるタッチ位置のｙ座標値、表示画面のｙ軸方向の中央（図８での原点位置）に相当するｙ座標値が好ましい。
【００５４】
図７は、ｙｚ平面における携帯情報処理装置３００の傾きの例を示す説明図である。図７（ａ）は、定常状態における携帯情報処理装置３００の例を示したものである。定常状態における重力加速度ベクトル（Ｓｘ，Ｓｙ，Ｓｚ）のｙｚ平面への射影７０２と、ｚ軸の正の向きとの角度であるＡ１ｓを表している。これは、携帯情報処理装置３００を目よりも下におき、携帯情報処理装置３００の上部を上に傾けた状態（携帯情報処理装置３００の操作状態としては一般的な状態）である。この場合の表示画面３１０内のカーソルの位置は、図８に例示するような原点にあるカーソル８０２とする。
【００５５】
この状態から、図７（ｂ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の上部を操作者から離れる向きに傾けた場合（携帯情報処理装置３００を水平状態に近づける場合）は、図８に例示するようにカーソル８０２からカーソル８０４の位置へ移動する。図７（ｂ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｙｚ平面への射影７０４と、ｚ軸の正の向きとの角度であるＡ１ｔを表している。Ａ１ｔ＞Ａ１ｓの関係にあるので、（１）式のかっこ内は正となり、Ｍ１が正であれば、Ｃｙは正の方向へ動くことになる。
また、逆に傾ける場合、図７（ｃ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の上部を操作者に近づけるように傾けた場合（携帯情報処理装置３００を垂直状態に近づける場合）は、図８に例示するようにカーソル８０２からカーソル８０６の位置へ移動する。図７（ｃ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｙｚ平面への射影７０６と、ｚ軸の正の向きとの角度であるＡ１ｔを表している。Ａ１ｔ＜Ａ１ｓの関係にあるので、（１）式のかっこ内は負となり、Ｍ１が正であれば、Ｃｙは負の方向へ動くことになる。
【００５６】
ステップＳ２１０では、カーソルｘ座標決定モジュール１３２が、カーソルのｘ座標を決定する。
より詳細に説明する。重力加速度ベクトル（Ｓｘ、Ｓｙ、Ｓｚ）のｘｙ平面への射影と、ｘ軸の正の向きとの角度をＡ２ｓ、重力加速度ベクトル（Ｓｘ、Ｓｙ、Ｓｚ）のｘｚ平面への射影と、ｘ軸の正の向きとの角度をＡ３ｓとして求める。また、重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｙ平面への射影と、ｘ軸の正の向きとの角度をＡ２ｔ、重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｚ平面への射影と、ｘ軸の正の向きとの角度をＡ３ｔとして求める。ここで角度の正負は、ｘ軸正方向からｙ軸正方向への角度、ｘ軸正方向からｚ軸正方向への角度が正の９０度となるように定義する。
表示画面上のカーソルの、ｘ軸方向の位置Ｃｘを、
Ｃｘ  ＝  Ｍ２  ×  （Ａ２ｔ  −  Ａ２ｓ）  ＋  Ｍ３  ×  （Ａ３ｔ  −  Ａ３ｓ）  ＋  Ｐ２      （２）式
として求める。
このようにカーソルの位置を求めれば、係数Ｍ２が正の値であるときは、操作者から見て、携帯情報処理装置３００の上部を右に傾ければ、カーソルは右に動き、逆の向きに傾ければカーソルは左に動くことになる。
また、携帯情報処理装置３００の右辺が奥に行くように回転すれば（携帯情報処理装置３００の右辺が操作者から離れるように傾ければ）、カーソルは右に動き、逆の向きに回転すればカーソルは左に動くことになる。
【００５７】
なお、このように２つの平面（ｘｙ平面、ｘｚ平面）への射影角を用いるのは、操作者が端末を保持する態様として、表示画面が地面に対して垂直に近くなる（重力加速度ベクトルのｘｚ平面への射影の大きさが小さくなる）ように保持する場合や、表示画面が地面に対して水平に近くなる（重力加速度ベクトルのｘｙ平面への射影の大きさが小さくなる）ように保持する場合があるためである。
係数Ｍ２、Ｍ３の値に関しては、ｙ軸方向で係数Ｍ１について説明したのと同様である。係数Ｐ２の値に関しては、ｙ軸方向で係数Ｐ１について説明したのと同様である。
【００５８】
図９は、ｘｙ平面における携帯情報処理装置３００の傾きの例を示す説明図である。図９（ａ）は、定常状態における携帯情報処理装置３００の例を示したものである。定常状態における重力加速度ベクトル（Ｓｘ，Ｓｙ，Ｓｚ）のｘｙ平面への射影９０２と、ｘ軸の正の向きとの角度であるＡ２ｓを表している。この場合の表示画面３１０内のカーソルの位置は、図１０に例示するような原点にあるカーソル１００２とする。
【００５９】
この状態から、図９（ｂ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の上部を右側に傾けた場合は、図１０に例示するようにカーソル１００２からカーソル１００４の位置へ移動する。図９（ｂ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｙ平面への射影９０４と、ｘ軸の正の向きとの角度であるＡ２ｔを表している。Ａ２ｔ＞Ａ２ｓの関係にあるので、（２）式の最初のかっこ内は正となり、Ｍ２が正であれば、Ｃｘは正の方向へ動くことになる。
また、逆に傾ける場合、図９（ｃ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の上部を左側に傾けた場合は、図１０に例示するようにカーソル１００２からカーソル１００６の位置へ移動する。図９（ｃ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｙ平面への射影９０６と、ｘ軸の正の向きとの角度であるＡ２ｔを表している。Ａ２ｔ＜Ａ２ｓの関係にあるので、（２）式の最初のかっこ内は負となり、Ｍ２が正であれば、Ｃｘは負の方向へ動くことになる。
【００６０】
図１１は、ｘｚ平面における携帯情報処理装置３００の傾きの例を示す説明図である。図１１（ａ）は、定常状態における携帯情報処理装置３００の例を示したものである。定常状態における重力加速度ベクトル（Ｓｘ，Ｓｙ，Ｓｚ）のｘｚ平面への射影１１０２と、ｘ軸の正の向きとの角度であるＡ３ｓを表している。この場合の表示画面３１０内のカーソルの位置は、図１０に例示するような原点にあるカーソル１００２とする。
【００６１】
この状態から、図１１（ｂ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の右辺を奥に回転した場合（携帯情報処理装置３００の右辺を操作者から離れるように回転した場合）は、図１０に例示するようにカーソル１００２からカーソル１００４の位置へ移動する。図１１（ｂ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｚ平面への射影１１０４と、ｘ軸の正の向きとの角度であるＡ３ｔを表している。Ａ３ｔ＞Ａ３ｓの関係にあるので、（２）式の２番目のかっこ内は正となり、Ｍ３が正であれば、Ｃｘは正の方向へ動くことになる。
また、逆に傾ける場合、図１１（ｃ）に例示するような状態にした場合、つまり、携帯情報処理装置３００の左辺を奥に回転した場合（携帯情報処理装置３００の左辺を操作者から離れるように回転した場合）は、図１０に例示するようにカーソル１００２からカーソル１００６の位置へ移動する。図１１（ｃ）は、カーソル位置決定状態における重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｚ平面への射影１１０６と、ｘ軸の正の向きとの角度であるＡ３ｔを表している。Ａ３ｔ＜Ａ３ｓの関係にあるので、（２）式の２番目のかっこ内は負となり、Ｍ３が正であれば、Ｃｘは負の方向へ動くことになる。
【００６２】
また、重力加速度ベクトル（Ｓｘ、Ｓｙ、Ｓｚ）又は重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｙ平面への射影の大きさが予め定められた値より小さい場合には、ｘｙ平面上での角度の変動は無視して、
Ｃｘ  ＝  Ｍ３  ×  （Ａ３ｔ  −  Ａ３ｓ）  ＋  Ｐ２      （３）式
として求めてもよい。これは（２）式の係数Ｍ２の値を０として計算することと同等である。こうすることにより、加速度ベクトルのｘｙ平面への射影の大きさが小さい場合は、ｘｙ平面上での角度は誤差成分により大きく変わり得るので、操作者の意図と異なる動作を引き起こすことを防止するために採用する。
【００６３】
同様に、重力加速度ベクトル（Ｓｘ、Ｓｙ、Ｓｚ）又は重力加速度ベクトル（Ｔｘ、Ｔｙ、Ｔｚ）のｘｚ平面への射影の大きさが予め定められた値より小さい場合には、ｘｚ平面上での角度の変動は無視して、
Ｃｘ  ＝  Ｍ２  ×  （Ａ２ｔ  −  Ａ２ｓ）  ＋  Ｐ２      （４）式
として求めてもよい。これは（２）式の係数Ｍ３の値を０として計算することと同等である。こうすることにより、加速度ベクトルのｘｚ平面への射影の大きさが小さい場合は、ｘｚ平面上での角度は誤差成分により大きく変わり得るので、操作者の意図と異なる動作を引き起こすことを防止するために採用する。
【００６４】
ステップＳ２１２では、カーソル表示モジュール１２２が、カーソルを表示するか否かを判断し、表示する場合はステップＳ２１４へ進み、それ以外の場合はステップＳ２１６へ進む。この判断は、カーソル表示切替モジュール１２４によって切り替えられた表示又は非表示にしたがう。
ステップＳ２１４では、カーソル表示モジュール１２２が、表示画面１０２上にカーソルを表示する。
ステップＳ２１６では、カーソル位置に応じた処理を行う。例えば、カーソルが予め定められたボタン領域に移動されたことを検知した場合には、そのボタン領域の表示方法を変えてボタンをクリック可能であることを強調したり、そのボタンの説明を一時的に表示したりする。
ステップＳ２１８では、タッチ位置を検知してタッチ操作が開始されたか否かを判断し、タッチ操作が開始された場合はステップＳ２２０へ進み、それ以外の場合はステップＳ２９９（終了）へ進む。
ステップＳ２２０では、位置補正モジュール１２６が、ステップＳ２０８とステップＳ２１０で決定したカーソル位置及びステップＳ２１８で検知したタッチ位置を用いて、タッチ位置を補正する。
ステップＳ２２２では、タッチ位置に応じた処理を行う。例えば、短時間のタッチであればクリック操作と見なし、タッチ位置がボタンの領域内であれば、ボタンに割り当てられた処理を実行する。
【００６５】
図１２は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
第２の実施の形態である情報処理装置は、携帯可能であって表示画面を有する携帯情報処理装置を操作するものであって、図１２の例に示すように、携帯端末１２００とカーソル位置決定モジュール１２２０を有している。携帯端末１２００とカーソル位置決定モジュール１２２０は接続されている。なお、第１の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。携帯端末１２００は第１の実施の形態の携帯端末１００に、カーソル位置決定モジュール１２２０は第１の実施の形態のカーソル位置決定モジュール１２０に、それぞれ該当し、図３から図６の説明は、第２の実施の形態においてもあてはまる。
第２の実施の形態は、携帯情報処理装置の加速度をカーソル位置の決定に用いるものである。
【００６６】
携帯端末１２００は、表示画面１０２、タッチセンサ１０４、加速度センサ１２０６を有している。
加速度センサ１２０６は、携帯端末１２００の加速度を検出する装置であり、第１の実施の形態の傾き・加速度センサ１０６の加速度を検出する部分に該当する。例えば、３軸の加速度センサを備えている場合は、加速度は３次元のベクトルとして検出する。
重力による加速度は、携帯情報処理装置３００がほぼ静止又は定速運動をしている場合に、加速度センサ１２０６によって検出される値であり、例えば、定められた時間内で観測された加速度が予め定められた範囲内であったとき、検出されている加速度を重力加速度と見なし、その後のある時刻に観測された加速度と重力加速度との差は、携帯情報処理装置３００の運動による加速度（操作者が携帯情報処理装置３００を振る等の動かすことによる操作）と見なすことができる。このように求める加速度ベクトルを（Ａｘ，  Ａｙ，  Ａｚ）とする。
【００６７】
カーソル位置決定モジュール１２２０は、カーソル表示モジュール１２２、カーソル表示切替モジュール１２４、位置補正モジュール１２６、加速度受付モジュール１２２８、カーソルｘ座標決定モジュール１２３２、カーソルｙ座標決定モジュール１２３４を有している。
加速度受付モジュール１２２８は、携帯端末１２００の上下方向及び左右方向における加速度を受け付ける。前述の加速度ベクトル（Ａｘ，  Ａｙ，  Ａｚ）を受け付ける。
カーソルｘ座標決定モジュール１２３２は、予め定められた期間における加速度受付モジュール１２２８によって受け付けられた上下方向における加速度の和に基づいて、表示画面１０２のカーソルのｘ座標を決定する。
表示画面１０２上のカーソルの時刻ｔでのｘ座標は、
Ｃｘ  ＝  Ｍｘ  ×  ∫ｐ（Ａｘ，  Ｆｘ）ｄｔ  ＋  Ｄｘ      （５）式
として求める。
カーソルｙ座標決定モジュール１２３４は、予め定められた期間における加速度受付モジュール１２２８によって受け付けられた左右方向における加速度の和に基づいて、表示画面１０２のカーソルのｙ座標を決定する。
表示画面１０２上のカーソルの時刻ｔでのｙ座標は、
Ｃｙ  ＝  Ｍｙ  ×  ∫ｐ（Ａｙ，  Ｆｙ）ｄｔ  ＋  Ｄｙ      （６）式
として求める。
【００６８】
ここで∫ｄｔは時間積分を表すが、加速度センサ１２０６は予め定められた間隔の時刻の加速度を検出する場合が多いため、各時刻の値の合計値により近似するようにしてもよい。
また、関数ｐ（ａ，  ｂ）は、
ｐ（ａ，  ｂ）  ＝  ａ  ＋  ｂ    （ａ  ≦  −ｂ）                （７）式
ｐ（ａ，  ｂ）  ＝  ０    （ａ  ＞  −ｂ  かつ  ａ  ＜  ｂ）      （８）式
ｐ（ａ，  ｂ）  ＝  ａ  −  ｂ    （ａ  ≧  ｂ）                  （９）式
で定義される関数である。このような関数ｐ（ａ，  ｂ）によって、カーソルの座標を決めることにより、携帯情報処理装置３００の加速度の絶対値が小さいとき（Ｆｘ、Ｆｙよりも小）には、カーソル座標は変わらず、微小な振動や測定誤差によって操作者の意図に反してカーソルが移動することを防止し得る。また、ある程度より速い動作で装置を振るとカーソルが動き、速く振るほどカーソルの移動量は大きくなる。定数Ｆｘ、Ｆｙが大きいほど、振動等による誤動作が少なくなる反面、同じカーソル移動量を得るのに速い動作が必要となる。係数Ｍｘ、Ｍｙは加速度の大きさに応じてどれだけカーソルを動かすかを決定する。Ｆｘ、Ｆｙ、Ｍｘ、Ｍｙの値は、携帯情報処理装置３００に予め定められた値としておいてもよいし、操作者の設定に応じて値を変更してもよいし、また操作中の操作内容などに応じて動的に変更してもよい。また、Ｄｘ、Ｄｙは、直前のカーソルのｘ座標、ｙ座標である。
【００６９】
図１３は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ１３０２では、加速度受付モジュール１２２８が、加速度センサ１２０６が検出した加速度を受け付ける。
ステップＳ１３０４では、加速度受付モジュール１２２８が、ｘ軸方向、ｙ軸方向のそれぞれの加速度を加算する。ｐ（Ａｘ，  Ｆｘ）、ｐ（Ａｘ，  Ｆｘ）による値を加算してもよい。
ステップＳ１３０６では、加速度受付モジュール１２２８が、予め定められた期間か否かを判断し、予め定められた期間である場合はステップＳ１３０８へ進み、それ以外の場合はステップＳ１３０２からの処理を行う。つまり、ステップＳ１３０４、ステップＳ１３０６によって、∫ｐ（Ａｘ，  Ｆｘ）ｄｔ、∫ｐ（Ａｙ，  Ｆｙ）ｄｔの計算をする。
【００７０】
ステップＳ１３０８では、カーソルｘ座標決定モジュール１２３２が、カーソルのｘ座標を（５）式によって決定する。
ステップＳ１３１０では、カーソルｙ座標決定モジュール１２３４が、カーソルのｙ座標を（６）式によって決定する。
ステップＳ１３１２では、カーソル表示モジュール１２２が、カーソルを表示するか否かを判断し、表示する場合はステップＳ１３１４へ進み、それ以外の場合はステップＳ１３１６へ進む。この判断は、カーソル表示切替モジュール１２４によって切り替えられた表示又は非表示にしたがう。
ステップＳ１３１４では、カーソル表示モジュール１２２が、表示画面１０２上にカーソルを表示する。
ステップＳ１３１６では、カーソル位置に応じた処理を行う。例えば、カーソルが予め定められたボタン領域に移動されたことを検知した場合には、そのボタン領域の表示方法を変えてボタンをクリック可能であることを強調したり、そのボタンの説明を一時的に表示したりする。
ステップＳ１３１８では、タッチ位置を検知してタッチ操作が開始されたか否かを判断し、タッチ操作が開始された場合はステップＳ１３２０へ進み、それ以外の場合はステップＳ１３９９（終了）へ進む。
ステップＳ１３２０では、位置補正モジュール１２６が、ステップＳ１３０８とステップＳ１３１０で決定したカーソル位置及びステップＳ１３１８で検知したタッチ位置を用いて、タッチ位置を補正する。
ステップＳ１３２２では、タッチ位置に応じた処理を行う。例えば、短時間のタッチであればクリック操作と見なし、タッチ位置がボタンの領域内であれば、ボタンに割り当てられた処理を実行する。
【００７１】
なお、本実施の形態としてのプログラムが実行されるコンピュータ（携帯情報処理装置３００、Ｗｅｂサーバー４１０等）のハードウェア構成は、図１４に例示するように、一般的なコンピュータであり、具体的には携帯型パーソナルコンピュータ（携帯情報処理装置３００の場合）、サーバー（Ｗｅｂサーバー４１０の場合）となり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１４０１を用い、記憶装置としてＲＡＭ１４０２、ＲＯＭ１４０３、ＨＤ１４０４を用いている。ＨＤ１４０４として、例えばハードディスクを用いてもよい。カーソル表示モジュール１２２、カーソル表示切替モジュール１２４、位置補正モジュール１２６、傾き・加速度受付モジュール１２８、定常状態決定モジュール１３０、カーソルｘ座標決定モジュール１３２、カーソルｙ座標決定モジュール１３４、加速度受付モジュール１２２８、カーソルｘ座標決定モジュール１２３２、カーソルｙ座標決定モジュール１２３４等のプログラムを実行するＣＰＵ１４０１と、そのプログラムやデータを記憶するＲＡＭ１４０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１４０３と、補助記憶装置であるＨＤ１４０４と、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置１４０６と、液晶ディスプレイ等の出力装置１４０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１４０７、そして、それらをつないでデータのやりとりをするためのバス１４０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００７２】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１４に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１４に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１４に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。
【００７３】
なお、前述の携帯情報処理装置３００は、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、携帯型ゲーム機、携帯音楽再生装置等として実現してもよい。
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む）、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００７４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７５】
１００…携帯端末
１０２…表示画面
１０４…タッチセンサ
１０６…傾き・加速度センサ
１２０…カーソル位置決定モジュール
１２２…カーソル表示モジュール
１２４…カーソル表示切替モジュール
１２６…位置補正モジュール
１２８…傾き・加速度受付モジュール
１３０…定常状態決定モジュール
１３２…カーソルｘ座標決定モジュール
１３４…カーソルｙ座標決定モジュール
３００…携帯情報処理装置
３１０…表示画面
４１０…Ｗｅｂサーバー
１２００…携帯端末
１２０６…加速度センサ
１２２０…カーソル位置決定モジュール
１２２８…加速度受付モジュール
１２３２…カーソルｘ座標決定モジュール
１２３４…カーソルｙ座標決定モジュール
【図１】
0005732792.tif 000002
【図２】
0005732792.tif 000003
【図３】
0005732792.tif 000004
【図４】
0005732792.tif 000005
【図５】
0005732792.tif 000006
【図６】
0005732792.tif 000007
【図７】
0005732792.tif 000008
【図８】
0005732792.tif 000009
【図９】
0005732792.tif 000010
【図１０】
0005732792.tif 000011
【図１１】
0005732792.tif 000012
【図１２】
0005732792.tif 000013
【図１３】
0005732792.tif 000014
【図１４】
0005732792.tif 000015