(57)【要約】【課題】  利用者が振ったり傾けたりして電子機器を動かすことにより特定処理を実行させる際の操作性を向上させることである。【解決手段】  本電子機器は、キー操作手段、検知手段、記憶手段、案内情報出力手段、保存手段及び制御手段を備えている。検知手段は電子機器の動きを検知するためのものである。案内情報出力手段は、キー操作手段に対して所定のキー操作を行わせ、かつ、特定処理を実行させるための電子機器の動きをそのキー操作後に行わせるための案内情報を出力する。保存手段は、案内情報出力後におけるキー操作後の動きを検知したときの検知データ又はこれを演算したデータから得られる動き特定データを記憶手段に保存する。制御手段は、動き特定データを保存した後に電子機器の動きの検知を行って得た検知データ又はこれを演算したデータとその動き特定データとの比較結果に応じて、上記特定処理を実行する。【選択図】  図１
2006031307.tif 000002
【特許請求の範囲】
【請求項１】
利用者により操作されるキーを備えたキー操作手段と、当該電子機器の動きを検知するための検知手段とを備えた電子機器において、
当該電子機器の動きを特定するための動き特定データを記憶する記憶手段と、
上記キー操作手段に対して所定のキー操作を促し、かつ、該所定のキー操作の後に特定処理に対応する当該電子機器の動きを生じさせる当該電子機器の操作を促す案内情報を出力する案内情報出力手段と、
該案内情報出力手段により該案内情報を出力した後における該所定のキー操作後の当該電子機器の動きを上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該動き特定データを、該記憶手段に保存する保存手段と、
該動き特定データを保存した後に該検知手段により当該電子機器の動きの検知を行って得た検知データ又はこれを演算したデータと該動き特定データとの比較結果に応じて、該特定処理を実行する制御手段とを有することを特徴とする電子機器。
【請求項２】
請求項１の電子機器において、
上記案内情報出力手段は、上記制御手段が実行可能な複数の特定処理についての各案内情報を出力し、
上記保存手段は、該案内情報出力手段により一の案内情報を出力した後における該所定のキー操作後の当該電子機器の動きを上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該動き特定データを、該一の案内情報に係る特定処理に対応する動き特定データとして上記記憶手段に保存する処理を、該複数の特定処理について行い、
上記制御手段は、上記検知手段により上記動きの検知を行って得た検知データ又はこれを演算したデータと該記憶手段に記憶された複数の動き特定データとを比較し、該検知データ又はこれを演算したデータが含まれる動き特定データに対応した特定処理を実行することを特徴とする電子機器。
【請求項３】
請求項１又は２の電子機器において、
上記検知手段として、当該電子機器に発生する加速度を検知する加速度検知手段を用いたことを特徴とする電子機器。
【請求項４】
請求項３の電子機器において、
上記加速度検知手段は、上記加速度の大きさ及び向きを検知するものであることを特徴とする電子機器。
【請求項５】
請求項１又は２の電子機器において、
上記検知手段として、当該電子機器の姿勢変化を検知する姿勢変化検知手段を用いたことを特徴とする電子機器。
【請求項６】
請求項５の電子機器において、
上記姿勢変化検知手段として、当該電子機器に発生する回転角変位又は回転角速度並びに回転方向を検知する回転検知手段を用いたことを特徴とする電子機器。
【請求項７】
利用者により操作されるキーを備えたキー操作手段と、当該電子機器の姿勢を検知するための検知手段とを備えた電子機器において、
当該電子機器の基本姿勢を特定するための基本姿勢データを記憶する基本姿勢データ記憶手段と、
上記キー操作手段の特定キーに対するキー操作時の当該電子機器の姿勢を上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該基本姿勢データを、該基本姿勢データ記憶手段に保存する保存手段と、
該基本姿勢データを保存した後、該検知手段により当該電子機器の姿勢の検知を行って得た検知データ又はこれを演算したデータと該基本姿勢データとの差分に基づいて特定処理を実行する制御手段とを有することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者により操作されるキーを備えたキー操作手段と、当該電子機器の動きや姿勢を検知するための検知手段とを備えた電子機器に関するものである。
【背景技術】
【０００２】
この種の電子機器としては、例えば特許文献１に記載されているように、姿勢検知を行う姿勢検知手段を備えた小型情報処理装置が知られている。この小型情報処理装置は、キー操作手段としてのスクロール開始スイッチが押下されると、検知手段としての傾きセンサによりこの時点での表示部の傾き角度（重力方向に対する傾き角度）を検出する。この検出後、再び傾きセンサにより表示部の傾き角度を検出し、このときに検出した傾き角度から上記押下時の傾き角度（基本姿勢データ）を減算して上記押下時からの相対的な傾き角度を算出する。そして、この相対的な傾き角度に基づいて表示部の画面スクロールを行う。具体的には、この相対的な傾き角度から、押下時からの相対的な表示部の傾き方向を把握し、その傾き方向に対応する方向へ画面をスクロールさせる処理を行う。また、この相対的な傾き角度が、予め決められた角度（動き特定データ）未満であるときには画面のスクロールスピードを遅くし、予め決められた角度以上であるときには画面のスクロールスピードを速くする処理も行う。
【０００３】
また、特許文献２に記載されているように、加速度の検知を行う加速度検知手段を備えた携帯端末も知られている。この携帯端末は、これを利用者が振ったときに発生する加速度が予め決められた閾値（動き特定データ）以上であるか否かを判断する手段を備えている。この特許文献２には、加速度が予め決められた閾値以上であるときの回数をカウントし、そのカウント値に対応する電話番号を発呼する処理を行うという具体例が記載されている。上記閾値は、利用者が振ったことにより発生した加速度と、利用者が振っていないとき、例えば交通機関を利用しているときに加わった振動等とを区別するために設定される値である。上記特許文献２には、この閾値の設定方法として、キー操作手段としての「ＦＣＮ」キー及び「５」キーが押されたら閾値を検出するモードへ移行し、２４時間の間に加速度検知手段で検知された加速度の最大値にその数パーセントから５０パーセントの値を加えた数値を上記閾値として用いることが記載されている。この２４時間の間に検知された加速度の最大値は、利用者が振っていないときに発生する加速度の最大値である。したがって、この最大値より数パーセントから５０パーセントの値を加えた数値を上記閾値として用いれば、利用者が振ったことにより発生した加速度を、利用者が振っていないときに発生する加速度と区別して認識することが可能となる。
【０００４】
【特許文献１】特開平７−６４７５４号公報
【特許文献２】特開２００２−３３０２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の小型情報処理装置において、表示部を傾かせるように装置全体の姿勢を変化させる際の取り扱い方法は、利用者ごとに様々である。そのため、画面のスクロールスピードの緩急を決定する閾値となる上記予め決められた角度は、利用者ごとにそれぞれ最適な角度が存在する。しかし、この小型情報処理装置においては、上記予め決められた角度が、利用者の別を問わず予め固定されたものであった。そのため、その固定された角度が自分に適した角度でない利用者にとっては、操作性が悪いという問題があった。
加えて、この小型情報処理装置においては、スクロール開始スイッチが押下されると、この時点での表示部の傾き角度を検出して基本姿勢データを取得すると同時に、表示部の画面をスクロールさせる処理を開始する。このように、基本姿勢データの取得タイミングと、この基本姿勢データを用いた処理の開始タイミングとが同時であると、基本姿勢データを取得した後、別のタイミングで基本姿勢データを用いた処理を開始させるという動作ができない。そのため、例えば、その処理の開始時における表示部の姿勢を基本姿勢としたくない利用者にとっては、その処理の基本姿勢が自分の希望する基本姿勢と一致しないこととなる。その結果、その処理に対する操作性が悪くなるという問題が生じる。
【０００６】
また、上記特許文献２の携帯端末において、携帯端末を振るときに発生する加速度の大きさは、その振り方や力加減で変わってくる。そして、その振り方や力加減は、利用者ごとに様々である。そのため、利用者が携帯端末を振ったときに発生する加速度を、振っていないときに発生する加速度と区別するための上記閾値の最適値は、利用者ごとに互いに相違する。したがって、上記特許文献２に記載された閾値の設定方法を用いるなどして、利用者が携帯端末を振ったときに発生する加速度と振っていないときに発生する加速度とを区別できるように設定された上記閾値が自分に適したものでない場合、その利用者にとって操作性が悪いという問題があった。
【０００７】
なお、以上の説明は、姿勢が変化したり加速度が発生したりするように動かすと、画面のスクロールスピードを変える処理や電話番号を発呼する処理が行われる例であるが、上記問題はこのような処理に限られるものではない。
【０００８】
本発明は、上記問題に鑑みなされたものであり、その目的とするところは、どのような利用者に対しても、利用者が振ったり傾けたりして当該電子機器を動かすことにより特定処理を実行させる際の操作性を向上させることができる電子機器を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１の発明は、利用者により操作されるキーを備えたキー操作手段と、当該電子機器の動きを検知するための検知手段とを備えた電子機器において、当該電子機器の動きを特定するための動き特定データを記憶する記憶手段と、上記キー操作手段に対して所定のキー操作を促し、かつ、該所定のキー操作の後に特定処理に対応する当該電子機器の動きを生じさせる当該電子機器の操作を促す案内情報を出力する案内情報出力手段と、該案内情報出力手段により該案内情報を出力した後における該所定のキー操作後の当該電子機器の動きを上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該動き特定データを、該記憶手段に保存する保存手段と、該動き特定データを保存した後に該検知手段により当該電子機器の動きの検知を行って得た検知データ又はこれを演算したデータと該動き特定データとの比較結果に応じて、該特定処理を実行する制御手段とを有することを特徴とするものである。
この電子機器においては、まず、案内情報を出力して、利用者に対し、所定のキー操作を行わせ、かつ、特定処理に対応する動きを生じさせる電子機器の操作をそのキー操作後に行わせる。この動きが検知手段に検知されると、その検知データ又はこれを演算したデータ（以下、適宜「検知データ等」という。）から得られる動き特定データが、記憶手段に保存される。この動き特定データは、上記特定処理を実行させるための当該電子機器の動きを特定するためのものとなる。この動き特定データは、上記検知データ等そのものであっても、上記検知データ等に基づいて得られる電子機器の動きの範囲を特定するものであってもよい。そして、この保存後の任意のタイミングで利用者が当該電子機器を動かし、その動きが検知手段に検知されると、この検知で得た検知データ等と上記動き特定データとの比較がなされ、その比較結果に応じて上記特定処理が実行される。
以上より、本電子機器によれば、利用者が自分に適した動きの検知データ等から得られる動き特定データが、特定処理を実行させるための動きを特定する動き特定データとして保存される。したがって、その特定処理を実行させるための動きをその利用者に適したものに設定することができる。
【００１０】
また、請求項２の発明は、請求項１の電子機器において、上記案内情報出力手段は、上記制御手段が実行可能な複数の特定処理についての各案内情報を出力し、上記保存手段は、該案内情報出力手段により一の案内情報を出力した後における該所定のキー操作後の当該電子機器の動きを上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該動き特定データを、該一の案内情報に係る特定処理に対応する動き特定データとして上記記憶手段に保存する処理を、該複数の特定処理について行い、上記制御手段は、上記検知手段により上記動きの検知を行って得た検知データ又はこれを演算したデータと該記憶手段に記憶された複数の動き特定データとを比較し、該検知データ又はこれを演算したデータが含まれる動き特定データに対応した特定処理を実行することを特徴とするものである。
この電子機器においては、複数の特定処理についての各案内情報を出力して、利用者に、各特定処理に対応する動きを生じさせる電子機器の操作を所定のキー操作後に行わせる。なお、各特定処理に対応する動きを行う際の所定のキー操作は、各特定処理について同じものであっても、各特定処理ごとに異なるものであってもよい。この各特定処理に対応する動きは、検知手段に検知されて、その検知データ等から得られる動き特定データが、各特定処理に対応する動き特定データとしてそれぞれ記憶手段に保存される。そして、この保存後の任意のタイミングで利用者が当該電子機器を動かしたとき、上記複数の特定処理のうち、その動きに係る検知データ等が含まれる動き特定データに対応した特定処理が実行される。
以上より、本電子機器によれば、利用者が自分に適した動きで、その動きの違いにより上記複数の特定処理を選択的に実行させることができる。
【００１１】
また、請求項３の発明は、請求項１又は２の電子機器において、上記検知手段として、当該電子機器に発生する加速度を検知する加速度検知手段を用いたことを特徴とするものである。
この電子機器においては、利用者が当該電子機器を振ったり移動させたりする当該電子機器に加速度を発生させる動作を行うことにより、特定処理を実行させることができる。
【００１２】
また、請求項４の発明は、請求項３の電子機器において、上記加速度検知手段は、上記加速度の大きさ及び向きを検知するものであることを特徴とするものである。
この電子機器においては、利用者が当該電子機器を振る強さや振る方向あるいは当該電子機器を移動させる速さや移動させる方向により、当該電子機器の動きをより詳細に検知することができる。
【００１３】
また、請求項５の発明は、請求項１又は２の電子機器において、上記検知手段として、当該電子機器の姿勢変化を検知する姿勢変化検知手段を用いたことを特徴とするものである。
この電子機器においては、利用者が当該電子機器を傾けたり回転させたりして当該電子機器の姿勢を変化させる動作を行うことにより、特定処理を実行させることができる。
【００１４】
また、請求項６の発明は、請求項５の電子機器において、上記姿勢変化検知手段として、当該電子機器に発生する回転角変位又は回転角速度並びに回転方向を検知する回転検知手段を用いたことを特徴とするものである。
この電子機器においては、利用者が当該電子機器を傾けたり回転させたりしたときの回転角変位又は回転角速度並びにその回転方向により、当該電子機器の姿勢変化をより詳細に検知することができる。
【００１５】
また、請求項７の発明は、利用者により操作されるキーを備えたキー操作手段と、当該電子機器の姿勢を検知するための検知手段とを備えた電子機器において、当該電子機器の基本姿勢を特定するための基本姿勢データを記憶する基本姿勢データ記憶手段と、上記キー操作手段の特定キーに対するキー操作時の当該電子機器の姿勢を上記検知手段により検知したときの検知データ又はこれを演算したデータから得られる該基本姿勢データを、該基本姿勢データ記憶手段に保存する保存手段と、該基本姿勢データを保存した後、該検知手段により当該電子機器の姿勢の検知を行って得た検知データ又はこれを演算したデータと該基本姿勢データとの差分に基づいて特定処理を実行する制御手段とを有することを特徴とするものである。
この電子機器においては、利用者が特定キーに対してキー操作を行うと、その時の当該電子機器の姿勢が検知手段により検知され、この検知データ又はこれを演算したデータから得られる基本姿勢データが基本姿勢データ記憶手段に保存される。そして、この保存後、検知手段の検知データ又はこれを演算したデータと保存した基本姿勢データとの差分に基づいて特定処理を実行する。このように、本電子機器によれば、基本姿勢データを用いる特定処理を、その基本姿勢データの保存後に行うことができる。よって、利用者は、その特定処理の開始時における当該電子機器の姿勢とは独立して、特定キーを操作することで基本姿勢を決めることができる。
【００１６】
なお、上記「電子機器」には、移動体通信端末のほか、携帯型情報端末（ＰＤＡ：Personal Digital Assistance）やゲーム機等も含まれる。また、上記「移動体通信端末」には、ＰＤＣ（Personal Digital Cellular）方式、ＧＳＭ（Global System for Mobile Communication）方式、ＴＩＡ（Telecommunications Industry Association）方式等の携帯電話機、ＩＭＴ（International Mobile Telecommunications）−２０００で標準化された携帯電話機、ＴＤ−ＳＣＤＭＡ（Time Division ynchronous Code Division Multiple Access）方式の一つであるＴＤ−ＳＣＤＭＡ（ＭＣ：Multi Carrier）方式の携帯電話機、ＰＨＳ（Personal Handyphone Service）などが挙げられる。また、「移動体通信端末」には、ＰＨＳ（Personal Handyphone Service）、自動車電話等の電話機のほか、携帯電話モジュールを付加した移動体通信端末も含まれる。また、上記「電子機器」には、通信機能を有しない電子機器も含まれる。
また、上記電子機器における制御は、これに設けられたコンピュータで所定のプログラムを実行することによって実現することもできる。このコンピュータで用いるプログラムの受け渡しは、デジタル情報としてプログラムを記録したＦＤ，ＣＤ−ＲＯＭ等の記録媒体を用いて行ってもいいし、コンピュータネットワーク等の通信ネットワークを用いて行ってもよい。
【発明の効果】
【００１７】
請求項１乃至６の発明によれば、特定処理を実行させるために必要な電子機器の動きを、その利用者に適したものに設定することができるので、どのような利用者に対しても、その特定処理を実行させる際の操作性を操作性を向上させることができるという優れた効果が奏される。
特に、請求項２の発明によれば、利用者が自分に適した動きで、その動きの違いにより複数の特定処理を選択的に実行させることができるようになるという優れた効果が奏される。
また、請求項３及び４の発明によれば、利用者が電子機器を振ったり移動させたりして特定処理を実行させることができるようになるという優れた効果が奏される。
特に、請求項４の発明によれば、電子機器の動きをより詳細に検知できるので、利用者が意図しないときに誤って特定処理が実行される事態の発生を抑制することが可能となるという優れた効果が奏される。なお、その結果、特定処理を実行させるには利用者に対してより正確に電子機器を動かすことが要求されるようになるが、その動きは利用者ごとに最適化されているので操作性が悪化することはない。
また、請求項５及び６の発明によれば、利用者が当該電子機器を傾けたり回転させたりして当該電子機器の姿勢を変化させることにより特定処理を実行させることができるようになるという優れた効果が奏される。
特に、請求項６の発明によれば、電子機器の動きをより詳細に検知できるので、利用者が意図しないときに誤って特定処理が実行される事態の発生を抑制することが可能となるという優れた効果が奏される。なお、その結果、特定処理を実行させるには利用者に対してより正確に電子機器を動かすことが要求されるようになるが、その動きは利用者ごとに最適化されているので操作性が悪化することはない。
請求項７の発明によれば、特定処理の開始時における姿勢に制限されることなく、利用者の希望に応じて自由に基本姿勢を決めることができるので、どのような利用者に対しても、その特定処理を実行させる際の操作性を操作性を向上させることができるという優れた効果が奏される。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を電子機器としての移動体通信端末である携帯電話機に適用した一実施形態について、図面を参照しながら説明する。
図２は、本実施形態に係る携帯電話機が利用可能な移動体通信システムの全体構成を説明するための説明図である。
この移動体通信システムにおいて、ユーザー１が使用する携帯電話機２０は、ユーザー１によって登録されたアプリケーションプログラムを実行可能な構成を有している。本実施形態において、このアプリケーションプログラムは、プラットフォームに依存しないオブジェクト指向プログラミングによって開発されたものである。このようなアプリケーションプログラムとしては、ＪＡＶＡ（登録商標。以下同様。）で記述されたアプリケーションプログラム、ＢＲＥＷ（登録商標。以下同様。）のアプリケーション実行環境上で動作するアプリケーションプログラムなどが挙げられる。この携帯電話機２０は、通信ネットワークとしての携帯電話通信網１０に接続可能である。また、この携帯電話通信網１０には、プログラム提供用サーバとしてのアプリケーションプログラムダウンロードサーバ（以下、「ダウンロードサーバ」という。）１１が接続されている。このダウンロードサーバ１１は、携帯電話機２０からのダウンロード要求を受け付けると、その要求に係るアプリケーションプログラムを携帯電話機２０に対して送信する。
【００１９】
ダウンロードサーバ１１から提供されるアプリケーションプログラムは、アプリケーションプログラムの開発元２から提供される。具体的には、例えば、アプリケーションプログラム開発元２側のパーソナルコンピュータ等から、専用回線や公衆回線を介してダウンロードサーバ１１にアップロードして提供する。なお、開発したアプリケーションプログラムを記録した光ディスクや磁気ディスク等の記録媒体を、アプリケーションプログラム開発元２からダウンロードサーバ１１を管理・運営する通信事業者に送り、その記録媒体内のアプリケーションプログラムをダウンロードサーバ１１で読み取るようにして、提供してもよい。このようにして提供されたアプリケーションプログラムは、携帯電話機２０から携帯電話通信網１０を介してダウンロード可能な状態でダウンロードサーバ１１に登録される。
【００２０】
図３は、上記ダウンロードサーバ１１のハードウェア構成を示す概略構成図である。
このダウンロードサーバ１１は、システムバス１００、ＣＰＵ１０１、内部記憶装置、外部記憶装置１０４、入力装置１０５及び出力装置１０６を備えている。上記内部記憶装置は、ＲＡＭ１０２やＲＯＭ１０３等で構成されている。上記外部記憶装置は、ハードディスクドライブ（ＨＤＤ）や光ディスクドライブ等で構成されている。上記入力装置１０５は、外部記憶装置１０４、マウスやキーボード等で構成されている。上記出力装置１０６は、ディスプレイやプリンタ等で構成されている。更に、このダウンロードサーバ１１は、携帯電話通信網１０を介して各ユーザー１の携帯電話機２０と通信するための携帯電話用通信装置１０７を備えている。
上記ＣＰＵ１０１やＲＡＭ１０２等の構成要素は、システムバス１００を介して、互いにデータやプログラムの命令等のやり取りを行っている。このダウンロードサーバ１１を所定の手順に従って動作させるためのプログラムは、ＲＯＭ１０３や外部記憶装置１０４に記憶されており、必要に応じてＣＰＵ１０１やＲＡＭ１０２上の作業エリアに呼び出されて実行される。また、このダウンロードサーバ１１には、携帯電話機２０に提供するアプリケーションプログラムが外部記憶装置１０４に記憶されている。ダウンロードサーバ１１は、携帯電話機２０からのダウンロード要求に応じ、ＣＰＵ１０１、ＲＡＭ１０２、携帯電話通信網用通信装置１０７等が協働して、外部記憶装置１０４に記憶されているアプリケーションプログラムを、携帯電話通信網１０を介して携帯電話機２０に送信する機能を有している。なお、このダウンロードサーバ１１は、専用の制御装置として構成してもいいし、汎用のコンピュータシステムを用いて構成してもよい。また、１台のコンピュータで構成してもいいし、複数の機能をそれぞれ受け持つ複数台のコンピュータをネットワークで結んで構成してもよい。
【００２１】
図４は、上記携帯電話機２０の外観を示す正面図であり、図５は、その携帯電話機２０のハードウェア構成を示す概略構成図である。
この携帯電話機２０は、クラムシェル（折り畳み）タイプの携帯電話機であり、システムバス２００、ＣＰＵ２０１、ＲＡＭ２０２やＲＯＭ２０３等からなる内部制御装置、入力装置２０４、出力装置２０５、携帯電話用通信装置２０６、加速度センサ２０７、地磁気センサ２０８を備えている。ＣＰＵ２０１やＲＡＭ２０２等の構成要素は、システムバス２００を介して、互いに各種データや後述のプログラムの命令等のやり取りを行っている。上記入力装置２０４は、データ入力キー（テンキー、＊キー、＃キー）２１、通話開始キー２２、終話キー２３、スクロールキー２４、多機能キー２５、マイク２６などから構成されている。上記出力装置２０５は、案内情報出力手段である表示手段としての液晶ディスプレイ（ＬＣＤ）２７、スピーカ２８等から構成されている。上記携帯電話用通信装置２０６は、携帯電話通信網１０を介して他の携帯電話機や上記ダウンロードサーバ１１と通信するためのものである。また、ＲＡＭ２０２内には、後述する電話機プラットフォームが管理する第１の記憶手段としてのプラットフォーム用記憶領域と、後述するアプリケーション実行環境上で管理される第２の記憶手段としてのアプリケーション用記憶領域とが存在する。
【００２２】
上記加速度センサ２０７は、データ入力キーが設けられた操作面に対して平行な面内で互いに直交する２方向（図４中、Ｘ軸方向及びＹ軸方向）に向かう加速度αX，αYと、その面の法線方向（図４中、Ｚ軸方向）に向かう加速度αZとを検出する３軸の加速度センサである。この加速度センサ２０７は、携帯電話機２０の内部に設けられた図示しない回路基板上に実装されており、上記加速度αX，αY，αZを検出できる公知のものを用いることができる。
また、上記地磁気センサ２０８は、上記Ｘ軸、Ｙ軸、Ｚ軸からなる３次元座標上における地磁気の磁界強度成分（磁束密度成分）を検知する３軸のセンサである。そして、本実施形態では、この地磁気センサ２０８の検知結果を利用して、Ｘ軸、Ｙ軸及びＺ軸のまわりの角度θX，θY，θZを検出する。具体的には、地磁気の方向が、基準となる地磁気の方向（基準方向）に対して変化したときの変化量を、Ｘ軸、Ｙ軸及びＺ軸のまわりの角度θX，θY，θZを用いて検出する。これにより、地磁気の方向が基準方向にあるときの姿勢から携帯電話機がその姿勢を変化させたとき、その変化後の姿勢を各角度θX，θY，θZによって特定することができる。なお、以下の説明では、Ｘ軸まわりの角度θXをピッチ角といい、Ｙ軸まわりの角度θYをロール角といい、Ｚ軸まわりの角度θZをヨー角という。また、ここでいうヨー角θZは、上記Ｙ軸を水平面上に投影した水平投影Ｙ軸と北方位との角度を示すものである。よって、このヨー角θZにより、携帯電話機２０の水平投影Ｙ軸が向いている方位を把握することができる。この地磁気センサ２０８も、携帯電話機２０の内部に設けられた図示しない回路基板上に実装されている。
【００２３】
なお、上記加速度センサ２０７及び上記地磁気センサ２０８は、携帯電話機２０の本体とは別体の装置として構成してもよい。この場合、上記加速度センサ２０７及び上記地磁気センサ２０８については、これらのセンサ２０７，２０８を備えた外部装置を、携帯電話機２０の本体と一体になるように、詳しくは携帯電話機２０の液晶ディスプレイ２７と一体になるように接続する。
【００２４】
図６は、上記携帯電話機２０の主要部を抽出して示したブロック図であり、図７は、その携帯電話機２０におけるソフトウェア構造の説明図である。
この携帯電話機２０は、無線通信手段としての電話通信部２１１及びデータ通信部２１２、キー操作手段としての操作部２１３、アプリケーションプログラム実行手段としてのアプリケーションプログラム実行管理部２１４、主制御部２１５、出力部２１６、検知手段としてのセンサ検知部２１７等を備えている。
【００２５】
上記電話通信部２１１は、他の携帯電話機や固定電話機と電話通信を行うために、携帯電話通信網１０の基地局と無線通信を行うものであり、上述のハードウェア構成上の携帯電話用通信装置２０６等に対応する。
上記データ通信部２１２は、上記電話通信部２１１と同様に、上述のハードウェア構成上の携帯電話用通信装置２０６等に対応する。このデータ通信部２１２は、携帯電話通信網１０を介して他の携帯電話機とメールのやり取りを行ったり、携帯電話通信網１０からゲートウェイサーバを介して、インターネット等の外部の通信ネットワークに接続し、インターネット上での電子メールのやり取りやＷｅｂページの閲覧等を行ったりするためのものである。また、このデータ通信部２１２は、携帯電話通信網１０を介して、ダウンロードサーバ１１が提供するアプリケーションプログラムをダウンロードするためにも用いられる。
【００２６】
上記操作部２１３は、ユーザー１により操作される上述のテンキー２１、通話開始キー２２、終話キー２３等で構成されている。この操作部２１３の各種キーを操作することにより、ユーザーは、携帯電話機２０に対してＵＲＬ等のデータを入力したり、電話着信の際に通話の開始及び終了を行ったり、アプリケーションプログラムの選択、起動及び停止を行ったりすることができる。また、ユーザーは操作部２１３の各種キーを操作することにより、上記ダウンロードサーバ１１からアプリケーションプログラムをダウンロードすることもできる。
【００２７】
上記アプリケーションプログラム実行管理部２１４は、上述のシステムバス２００、ＣＰＵ２０１やＲＡＭ２０２の一部等で構成されている。このアプリケーションプログラム実行管理部２１４は、図７のソフトウェア構造上において中央の「アプリケーション実行環境」に対応しており、オブジェクト指向プログラミングで開発されたアプリケーションプログラムに利用されるクラスライブラリ、実行環境管理ライブラリ、アプリケーション管理等のソフトウェアを提供し、アプリケーションプログラムの実行環境を管理する。このアプリケーション実行環境は、実行するアプリケーションプログラムに応じて適宜選定される。例えば、実行するアプリケーションプログラムがＪＡＶＡで記述されたものである場合には、ＪＡＶＡのアプリケーション実行環境を選定する。また、実行するアプリケーションプログラムがＢＲＥＷの実行環境上で動作するＣ言語で記述されたものである場合には、ＢＲＥＷのアプリケーション実行環境を選定する。なお、実行するアプリケーションプログラムがＪＡＶＡで記述されたものである場合には、ＢＲＥＷのアプリケーション実行環境上に更にＪＡＶＡのアプリケーション実行環境を構築することで、これを実行することができる。
【００２８】
ここで、アプリケーションプログラムは、クラスライブラリＡＰＩ（アプリケーションインターフェース）を介して上記アプリケーション実行環境内にある関数等のｆクラスライブラリを呼び出して使用できるようになっている。この関数等のクラスライブラリの呼び出しの履歴は、アプリケーションプログラムの仮想的な実行環境（仮想マシン：ＶＭ）が終了するまで、ＲＡＭ２０２内におけるアプリケーション用記憶領域に記憶される。また、アプリケーション実行環境は、アプリケーションプログラムの実行に際して用いる各種データも、そのアプリケーション用記憶領域に保存する。そして、この各種データを用いるときには、このアプリケーション用記憶領域から読み出したり、書き込んだりする。また、アプリケーション実行環境内の実行環境管理ライブラリは、電話機プラットフォームＡＰＩを介して後述の電話機プラットフォーム内の電話機プラットフォームライブラリを呼び出して使用できるようになっている。
【００２９】
本実施形態において、加速度センサ２０７及び地磁気センサ２０８等で構成される後述のセンサ検知部２１７で検知した検知データ（加速度αX，αY，αZ及びピッチ角θX、ロール角θY、ヨー角θZ）は、アプリケーションプログラムで利用される。従来のアプリケーション実行環境においては、アプリケーションプログラムが上記検知データを利用する手段がなかったため、本実施形態では、クラスライブラリに新しいクラス（Orientationクラス）を追加している。このOrientationクラスには、加速度αX，αY，αZのデータを取得するためのgetXGravity()、getYGravity()及びgetZGravity()や、ピッチ角θX、ロール角θY、ヨー角θZの各データを取得するためのgetPitch()、getRoll()、getCompassBearing()等の命令セットであるメソッドが用意されている。よって、本実施形態によれば、アプリケーションプログラムは、これらのメソッドを使用して上記検知データを取得し、これを利用することができる。
【００３０】
上記主制御部２１５は、上記電話通信部２１１、データ通信部２１２、出力部２１６、センサ検知部２１７を制御するものであり、上述のシステムバス２００、ＣＰＵ２０１やＲＡＭ２０２等で構成されている。この主制御部２１５は、アプリケーションプログラム実行管理部２１４との間で制御命令や各種データのやりとりを行い、これと協働して制御を行う。主制御部２１５は、図７のソフトウェア構造上において最下部の「電話機プラットフォーム」に対応しており、上記電話通信部２１１等を制御するための制御用プログラムやユーザインターフェースを実行したり、電話機プラットフォームライブラリを提供したりする。この電話機プラットフォームは、上記アプリケーション実行環境内の実行環境管理ライブラリに対してイベントを送ることにより、アプリケーションプログラムにおいて各種処理を実行したり、アプリケーション管理ＡＰＩを介して上記アプリケーション実行環境内のアプリケーション管理のソフトウェアを呼び出して使用したりできるようになっている。また、アプリケーション実行環境が電話機プラットフォームＡＰＩを介して電話機プラットフォームライブラリを呼び出して使用したとき、電話機プラットフォームは、その電話機プラットフォームライブラリに応じた処理を実行する。例えば、電話機プラットフォームは、電話機プラットフォームライブラリを利用したアプリケーション実行環境からの指示に基づき、ＲＡＭ２０２内における電話機プラットフォームが管理するプラットフォーム用記憶領域に記憶されたデータを読み出して、これをアプリケーション用記憶領域に移行することができる。
【００３１】
上記出力部２１６は、上述の液晶ディスプレイ２７、スピーカ２８等からなる出力装置２０５等で構成されている。この出力部２１６は、上記データ通信部２１２で受信したＷｅｂページ画面を液晶ディスプレイ２７に表示する。また、この出力部２１６の液晶ディスプレイ２７は、上記電話通信部２１１やデータ通信部２１２で情報を着信した旨をユーザーに報知するときに用いられる。具体的には、その情報を着信すると、主制御部２１５により、出力部２１６の液晶ディスプレイ２７に着信報知画像を表示したり、スピーカ２８から着信音を出力させたりする。更に、この出力部２１６は、アプリケーション実行環境で実行されるアプリケーションプログラムの実行中に、そのプログラム実行に関連したメニュー画面等の表示、操作方法を説明するための案内情報の案内画面の表示、音楽の出力にも用いられる。
【００３２】
上記センサ検知部２１７は、上述の加速度センサ２０７や地磁気センサ２０８等で構成されている。このセンサ検知部２１７は、上記主制御部２１５の制御の下で動作し、その検知データは主制御部２１５が取得する。検知データである加速度αX，αY，αZのデータ、ピッチ角θX、ロール角θY及びヨー角θZのデータは、上述したようにＲＡＭ２０２のプラットフォーム用記憶領域に記憶される。例えば利用者が携帯電話機２０を振ったり動かしたりして携帯電話機２０に加速度が発生すると、その加速度のＸ軸方向、Ｙ軸方向及びＺ軸方向の各成分が、センサ検知部２１７を構成する加速度センサ２０７によって検知される。検知データが主制御部２１５に入力されると、主制御部２１５は、その検知データからＸ軸方向、Ｙ軸方向及びＺ軸方向の各加速度を把握することができる。加速度αX，αY，αZのデータは、主制御部２１５によって、ＲＡＭ２０２内のプラットフォーム用記憶領域に一時保存される。
また、携帯電話機２０の姿勢が変わると、その姿勢の変化後における磁界強度成分（磁束密度成分）がセンサ検知部２１７を構成する地磁気センサ２０８によって検知される。センサ検知部２１７は、地磁気センサ２０８で検知された検出信号から姿勢変化後のそれぞれの角度θx，θY，θZを算出する。算出した各角度θx，θY，θZのデータは、加速度αx，αY，αZの場合と同様に、主制御部２１５へ出力され、主制御部２１５によってＲＡＭ２０２内のプラットフォーム用記憶領域に一時保存される。
また、携帯電話機２０の向きが変わると、その向きの変化後における磁界強度成分（磁束密度成分）がセンサ検知部２１７を構成する地磁気センサ２０８によって検知される。センサ検知部２１７は、地磁気センサ２０８で検知された検出信号から向きの変化後におけるヨー角θZを算出する。算出したヨー角θZのデータも、同様に、主制御部２１５へ出力され、主制御部２１５によってＲＡＭ２０２内のプラットフォーム用記憶領域に一時保存される。
【００３３】
なお、プラットフォーム記憶領域へ保存する加速度αx，αY，αZや各角度θx，θY，θZのデータを、主制御部２１５がセンサ検知部２１７から取得する方法としては、次のようなものが挙げられる。例えば、主制御部２１５からセンサ検知部２１７へリクエストを送り、これに応じてセンサ検知部２１７が出力したデータを主制御部２１５が受信する取得方法である。また、例えば、リクエストがなくてもセンサ検知部２１７が連続的に出力するデータを、主制御部２１５が適宜受信する取得方法を採用してもよい。また、アプリケーションプログラムがアプリケーションプログラム実行管理部２１４を介して出力したリクエストに応じて主制御部２１５がセンサ検知部２１７へリクエストを送り、これに応じてセンサ検知部２１７が出力したデータを主制御部２１５が受信する取得方法を採用することもできる。
【００３４】
携帯電話機２０を所定の手順に従って動作させる電話機プラットフォームを構築するための制御用プログラムは、ＲＡＭ２０２やＲＯＭ２０３に記憶されている。また、基本ＯＳ（オペレーティングシステム）のプログラムや、上記アプリケーション実行環境を構築するためのプログラム及びアプリケーションプログラムも、ＲＡＭ２０２やＲＯＭ２０３に記憶されている。そして、これらのプログラムは、必要に応じてＣＰＵ２０１やＲＡＭ２０２中の作業エリアに呼び出されて実行される。
【００３５】
次に、上記加速度αx，αY，αZや各角度θx，θY，θZのデータを用いたアプリケーションプログラムを実行するための処理動作について説明する。本実施形態では、このアプリケーションプログラムは、ゲームであるフライトシミュレータである。
【００３６】
図８は、フライトシミュレータ用アプリケーションプログラムを実行するための処理の流れを示すフローチャートである。
まず、ユーザー１は、フライトシミュレータ用アプリケーションプログラムを上記ダウンロードサーバ１１からダウンロードして取得し、これを登録する（Ｓ１）。具体的には、ユーザー１は、操作部２１３のキーを操作して、ダウンロードサーバ１１にアクセスする。これにより、ダウンロード可能なアプリケーションプログラムを選択するためのダウンロード選択画面が液晶ディスプレイ２７上に表示される。そして、そのダウンロード選択画面において、実行対象となるアプリケーションプログラムをスクロールキー２４を用いて選択し、多機能キー２５を押下すると、主制御部２１５がデータ通信部２１２を制御して、そのアプリケーションプログラムをダウンロードサーバ１１からダウンロードする。このようにしてダウンロードされたアプリケーションプログラムは、主制御部２１５により、ＲＡＭ１０２に記憶される。
【００３７】
ダウンロードしたアプリケーションプログラムを実行する場合、ユーザー１は、操作部２１３のキーを操作して、実行するアプリケーションプログラムを選択するためのアプリケーション選択画面を液晶ディスプレイ２７上に表示させる。そして、そのアプリケーション選択画面において、実行対象であるフライトシミュレータ用アプリケーションプログラムをスクロールキー２４を用いて選択し、多機能キー２５を押下する。すると、図７に示した電話機プラットフォームすなわち図６に示した主制御部２１５に、アプリケーションプログラムの実行指示が入力される（Ｓ２）。これにより、主制御部２１５は、フライトシミュレータ用アプリケーションプログラムを読み出してこれを起動する（Ｓ３）。アプリケーションプログラムが起動すると、図７に示したアプリケーション実行環境すなわち図６に示したアプリケーションプログラム実行管理部２１４上で、そのアプリケーションプログラムが動作する。
【００３８】
このプログラムが起動すると、まず、液晶ディスプレイ２７にメニュー画面が表示される（Ｓ４）。このメニュー画面は、ゲームモードと、後述する設定モードとのいずれかを選択するための画面である。ユーザー１は、操作部２１３のスクロールキー２４を操作するか又は後述する動作例２の設定モードの実行により設定された動きをさせるかして、後述する設定モードを選択すると（Ｓ５）、初期設定処理が行われる（Ｓ２０）。この初期設定処理についての詳細は後述する。
【００３９】
一方、ユーザー１は、ゲームを開始する場合、操作部２１３のスクロールキー２４を操作するか又は後述する設定モードの実行により設定した動きをさせるかして、ゲームモードを選択する（Ｓ５）。これにより、出力部２１６の液晶ディスプレイ２７に、基本姿勢の設定についての案内情報が表示される（Ｓ６）。この案内情報は、例えば、「ゲームを行うときの携帯電話機の持ち方を決めて多機能キーを押下してください。」というようなメッセージとして表示する。なお、この案内情報の出力に関しては、液晶ディスプレイ２７の表示とともに又はこれに代えて、出力部２１６の外部スピーカ等を用いて音声で案内するようにしてもよい。また、このような案内情報の内容は、取扱説明書等で説明し、案内情報の出力を省略してもよい。この案内情報により案内を受けたユーザー１は、自分がゲームを行いやすい持ち方、例えば携帯電話機が図１０（ａ）に示すような姿勢となるように、携帯電話機を把持した後、特定キーである多機能キー２５を押下する（Ｓ７）。すると、アプリケーションプログラム実行管理部２１４は、保存手段として機能し、その押下時にアプリケーションプログラムが取得した角度データθX，θY，θZを、基本姿勢データθX0，θY0，θZ0として、ＲＡＭ２０２内のアプリケーション用記憶領域（基本姿勢データ記憶手段）に保存する（Ｓ８，Ｓ９）。この基本姿勢データに基づき、多機能キーの押下時における携帯電話機２０の姿勢（基本姿勢）を把握することができる。
【００４０】
その後、ユーザー１がゲームを開始するためのキー操作を行うと（Ｓ１０）、ゲームが開始される。これにより、出力部２１６の液晶ディスプレイ２７に、飛行機の操縦席からの視界を擬似的に表したゲーム画面が表示される。そして、アプリケーションプログラムは、センサ検知部２１７によって検知されるピッチ角θX、ロール角θY及びヨー角θZのデータをほぼリアルタイムで取得するための角度データ取得処理を開始する。そして、そのプログラムは、取得したデータに応じて液晶ディスプレイ２７に表示されるゲーム画面の内容を更新する。例えば、ユーザー１が携帯電話機２０のアンテナ側を鉛直方向下方に傾けると、これによりピッチ角θXが変化し、ゲーム上の飛行機の機首が鉛直方向下方に向いたゲーム画面に更新される。また、例えば、ユーザー１が携帯電話機２０の液晶ディスプレイ２７の表示面を左側に傾けると、これによりロール角θYが変化し、ゲーム上の飛行機が左側に傾いたゲーム画面に更新される。
【００４１】
具体的に説明すると、例えば、ユーザー１がゲーム上の飛行機の機首を鉛直方向下方に向けるべく、携帯電話機２０を図１０（ａ）中矢印Ａに示す方向に傾けると、携帯電話機２０は図１０（ｂ）に示す姿勢をとる。この姿勢変化後の姿勢がセンサ検知部２１７の地磁気センサ２０８によって検知され、その角度θX，θY，θZのデータがアプリケーションプログラムに受け渡される（Ｓ１１）。これにより、アプリケーションプログラム実行管理部２１４は、アプリケーションプログラムの内容に従い、液晶ディスプレイ２７にゲーム画面を表示させるためのゲーム画面情報を更新する（Ｓ１２）。例えば携帯電話機２０を図１０（ａ）の基本姿勢から図１０（ｂ）に示す姿勢へ変化させた場合、飛行機の操縦席からの視界を擬似的に表したゲーム画面が画面上方向へスクロールし、あたかもゲーム上の飛行機の機首が鉛直方向下方に向いたようなゲーム画面情報に更新する。その後、更新後のゲーム画面を液晶ディスプレイ２７の表示面に描画するための処理を実行する（Ｓ１３）。このように基本姿勢からの姿勢変化に基づいてゲーム画面情報の更新処理を行うことで、ユーザー１がゲームを行う際の携帯電話機の姿勢がどのような姿勢であっても、適切な更新処理を行うことができる。
【００４２】
なお、角度データの取得処理においては、図９に示すように、アプリケーション実行環境において、起動したアプリケーションプログラムが、アプリケーションプログラム実行管理部２１４に対して、角度データの取得要求を送る。これを受けたアプリケーションプログラム実行管理部２１４は、電話機プラットフォームの主制御部２１５に対してデータ移行命令である角度データの取得要求を送る。これを受けた主制御部２１５は、ＲＡＭ２０２内のプラットフォーム用記憶領域に記憶したピッチ角θX、ロール角θY及びヨー角θZのデータを、アプリケーションプログラム実行管理部２１４に送り、これらのデータはアプリケーションプログラムに渡される。そして、ピッチ角θX、ロール角θY及びヨー角θZのデータを取得したアプリケーションプログラムは、そのデータを、ＲＡＭ２０２内のアプリケーション用記憶領域に記憶する。そして、ピッチ角θX、ロール角θY及びヨー角θZに基づいて、出力部２１６へ出力するゲーム画面情報を更新する。
【００４３】
上記ゲーム画面情報の更新処理の具体的な内容は、次のとおりである。
アプリケーションプログラムを実行するアプリケーションプログラム実行管理部２１４は、上記Ｓ９で取得した各角度θX，θY，θZのデータと、アプリケーション用記憶領域に記憶された基本姿勢データθX0，θY0，θZ0との差分をそれぞれ算出する。ここで、例えば、携帯電話機２０を図１０（ａ）の基本姿勢から図１０（ｂ）に示す姿勢へ変化させたとする。この場合、ピッチ角θXだけが基本姿勢から変化する。このときのピッチ角θXのデータと基本姿勢データθX0との差分を算出することにより、携帯電話機２０のＹ軸が図１０（ａ）に示した基本姿勢からＸ軸のまわりをマイナス方向（回転方向）へどのくらいの角度（回転角変位）で回転したかを把握することができる。そして、アプリケーションプログラム実行管理部２１４は、把握した回転方向及び回転角変位に応じて、飛行機の操縦席からの視界を擬似的に表したゲーム画面が画面上方向へスクロールし、あたかもゲーム上の飛行機の機首が鉛直方向下方に向いたようなゲーム画面情報に更新する。
【００４４】
〔動作例１〕
次に、本発明の特徴部分である初期設定処理について説明する。
図１は、メニュー画面においてユーザー１が設定モードを選択したときに行われる初期設定処理のうち、最大ピッチ角と最大ロール角を設定する処理の流れを示すフローチャートである。ここで、最大ピッチ角の設定とは、ゲーム上の飛行機において操縦可能な最大のピッチ角に対応するピッチ角θXを設定することを意味する。また、最大ロール角の設定とは、ゲーム上の飛行機において操縦可能な最大のロール角に対応するロール角θYを設定することを意味する。なお、本実施形態では、ゲーム上の飛行機を操縦するにあたりヨー角データは用いないので、最大ヨー角の設定については行わない。
【００４５】
ユーザー１がメニュー画面において設定モードを選択して表示された設定モード選択画面において、ユーザー１が最大ピッチ角と最大ロール角の設定モードを選択すると、出力部２１６の液晶ディスプレイ２７に、最大ピッチ角の設定についての案内情報が表示される（Ｓ２１）。この案内情報は、例えば、「多機能キーを押下した後、ゲーム上の飛行機において操縦可能な最大のピッチ角とする角度まで、アンテナが奥側へ移動するように携帯電話機を傾けた後、もう一度多機能キーを押下してください。」というようなメッセージとして表示する。なお、この案内情報の出力に関しては、液晶ディスプレイ２７の表示とともに又はこれに代えて、出力部２１６の外部スピーカ等を用いて音声で案内するようにしてもよい。後述する案内情報についても同様である。この案内情報により案内を受けたユーザー１が多機能キーを押下すると（Ｓ２２）、アプリケーションプログラムは、センサ検知部２１７によって検知されるピッチ角θXのデータをほぼリアルタイムで取得するための角度データ取得処理を開始する（Ｓ２３）。そして、ユーザー１は、携帯電話機２０を傾けていき、そのピッチ角θXがゲーム上の飛行機において操縦可能な最大のピッチ角になる自分の好みの角度になったところで多機能キーを押下する。これにより、アプリケーションプログラム実行管理部２１４は、保存手段として機能し、その押下時点におけるピッチ角θXのデータを、動き特定データである最大ピッチ角基準データθXmaxとして、ＲＡＭ２０２内のアプリケーション用記憶領域における基準データ記憶領域（記憶手段）に保存する（Ｓ２４）。
【００４６】
このようにして最大ピッチ角の設定処理が終わったら、続いて最大ロール角の設定処理を行う。具体的には、上記Ｓ２４の保存処理が終了したら、出力部２１６の液晶ディスプレイ２７に、最大ロール角の設定についての案内情報を表示する（Ｓ２５）。この案内情報では、例えば、「多機能キーを押下した後、ゲーム上の飛行機において操縦可能な最大のロール角とする角度まで、キー操作面上の縦軸（Ｙ軸）が回転軸となるように携帯電話機を傾けた後、もう一度多機能キーを押下してください。」というようなメッセージとして表示する。この案内情報により案内を受けたユーザー１が多機能キーを押下すると（Ｓ２６）、アプリケーションプログラムは、センサ検知部２１７によって検知されるロール角θYのデータをほぼリアルタイムで取得するための角度データ取得処理を開始する（Ｓ２７）。そして、ユーザー１は、携帯電話機２０を傾けていき、そのピッチ角θYがゲーム上の飛行機において操縦可能な最大のロール角になる自分の好みの角度になったところで多機能キーを押下する。これにより、アプリケーションプログラム実行管理部２１４は、保存手段として機能し、その押下時点におけるロール角θYのデータを、動き特定データである最大ロール角基準データθYmaxとして、ＲＡＭ２０２内のアプリケーション用記憶領域における基準データ記憶領域に保存する（Ｓ２８）。
【００４７】
以上のようにして、最大ピッチ角と最大ロール角についての初期設定処理を終えた後、ユーザー１はゲームを開始する。このゲーム中におけるゲーム画面情報の更新処理において、アプリケーションプログラム実行管理部２１４は、まず、上記Ｓ９で取得した各角度θX，θY，θZのデータと、基準データ記憶領域に記憶された基本姿勢データθX0，θY0，θZ0との差分をそれぞれ算出する。ここで、例えば、携帯電話機２０を図１０（ａ）の基本姿勢から図１０（ｂ）に示す姿勢へ変化させたとき、このときのピッチ角θXのデータと基本姿勢データθX0との差分データが算出される。これにより、携帯電話機２０のＹ軸が図１０（ａ）に示した基本姿勢からＸ軸のまわりをマイナス方向（回転方向）へどのくらいの角度（回転角変位）で回転したかを把握することができる。そして、アプリケーションプログラム実行管理部２１４は、制御手段として機能し、算出した差分データの絶対値を、上記基準データ記憶領域に記憶されている最大ピッチ角基準データθXmaxで割った値を算出する。この算出値は、携帯電話機２０のＹ軸が図１０（ａ）に示した基本姿勢からＸ軸のまわりを最大ピッチ角の何パーセント回転したかを示すものとなる。その後、アプリケーションプログラム実行管理部２１４は、この算出値と把握した回転方向とに応じてゲーム画面情報に更新する処理（特定処理）を行う。
【００４８】
この算出値が大きいほど、ゲーム上の飛行機のピッチ角の変化が大きく、この算出値が小さいほど、ゲーム上の飛行機のピッチ角の変化が小さい。よって、ゲーム上において飛行機を繊細に操縦したいユーザーは、最大ピッチ角の初期設定処理時に、最大ピッチ角基準データθXmaxが大きな値をとるように設定すればよい。この場合、携帯電話機２０の姿勢を変えたときのピッチ角θXが同じとき、最大ピッチ角基準データθXmaxが小さい場合に比べて、上記算出値が小さくなり、ゲーム上の飛行機のピッチ角の変化が小さくなる。したがって、ゲーム上の飛行機のピッチ角をより細かく変化させることが可能となり、繊細な操縦が可能になる。
なお、回転角変位だけでなく、回転角速度をゲーム上の飛行機の操縦に反映させてもよい。例えば、携帯電話機２０の姿勢変化が急激に行われると、ピッチ角θXについての回転角速度が大きくなる。この場合、ゲーム上の飛行機のピッチ角も急激に変化したとして、ゲーム内容に反映させることができる。回転角速度は、例えばピッチ角θXについては、取得したピッチ角θXをその取得タイミングの周期で割った値を用いることができる。
以上の説明では、ピッチ角θXについて説明したが、ロール角θYについても同様の効果を得ることができる。
【００４９】
〔動作例２〕
次に、メニュー画面においてユーザー１が設定モードを選択したときに行われる初期設定処理のうち、モード選択の操作方法を設定する処理について説明する。本処理は、メニュー画面においてゲームモードと設定モードとのいずれかを選択するための操作方法を、ユーザー１の好みに応じて設定するものである。
図１１は、モード選択の操作方法を設定する処理の流れを示すフローチャートである。ユーザー１がメニュー画面において設定モードを選択して表示された設定モード選択画面において、ユーザー１がモード選択の操作方法の設定モードを選択すると、出力部２１６の液晶ディスプレイ２７に、カーソル移動操作の設定についての案内情報が表示される（Ｓ３１）。この案内情報は、例えば、「多機能キーを押下した後、メニュー画面上のカーソルを進ませるための動作を行ってください。」というようなメッセージとして表示する。この案内情報により案内を受けたユーザー１が多機能キーを押下すると（Ｓ３２）、アプリケーションプログラムは、センサ検知部２１７によって検知される加速度αX，αY，αZのデータをほぼリアルタイムで取得するための加速度データ取得処理を開始する（Ｓ３３）。そして、ユーザー１は、自分の好みの方向及び強さで、携帯電話機２０を移動させる。これにより、アプリケーションプログラム実行管理部２１４は、携帯電話機に加速度が発生してからその加速度がなくなるまでの間の各加速度αX，αY，αZのデータの絶対値の最大値を取得する。そして、アプリケーションプログラム実行管理部２１４は、保存手段として機能し、取得した各加速度について、その最大値を中心とした所定の大きさ範囲及びその方向を中心とした所定の角度範囲（以下、これらの範囲を「加速度範囲」という。）をそれぞれ特定するためのデータを、動き特定データであるカーソル移動基準データとして、ＲＡＭ２０２内のアプリケーション用記憶領域における基準データ記憶領域（記憶手段）に保存する（Ｓ３４）。
【００５０】
このようにしてカーソル移動操作の設定処理が終わったら、続いて選択決定操作の設定処理を行う。具体的には、上記Ｓ３４の保存処理が終了したら、出力部２１６の液晶ディスプレイ２７に、選択決定操作の設定についての案内情報を表示する（Ｓ３５）。この案内情報は、例えば、「多機能キーを押下した後、メニュー画面上のカーソルの選択を確定させるための動作を行ってください。ただし、メニュー画面上のカーソルを進ませるための動作とは異なる動作を行ってください。」というようなメッセージとして表示する。この案内情報により案内を受けたユーザー１が多機能キーを押下すると（Ｓ３６）、アプリケーションプログラムは、センサ検知部２１７によって検知される加速度αX，αY，αZのデータをほぼリアルタイムで取得するための加速度データ取得処理を開始する（Ｓ３７）。そして、ユーザー１は、自分の好みに応じて、カーソル移動操作について設定した動きとは異なる方向及び強さで、携帯電話機２０を移動させる。これにより、アプリケーションプログラム実行管理部２１４は、携帯電話機に加速度が発生してからその加速度がなくなるまでの間の各加速度αX，αY，αZのデータの絶対値の最大値を取得する。そして、アプリケーションプログラム実行管理部２１４は、保存手段として機能し、取得した各加速度について、その加速度範囲をそれぞれ特定するためのデータを、動き特定データである選択決定移動基準データとして、上記基準データ記憶領域（記憶手段）に保存する（Ｓ３８）。
【００５１】
図１２は、メニュー画面においてモード選択を行うときの処理の流れを示すフローチャートである。
モード選択の操作方法についての初期設定処理を終えた後、液晶ディスプレイ２７に表示されたメニュー画面においてモード選択を行う。この場合、ユーザー１は、上記モード選択操作方法の設定処理で設定した動きを行うことで、メニュー画面上のカーソルを移動させたり、カーソルで選択されたモードを決定したりすることができる。具体的には、メニュー画面が液晶ディスプレイ２７に表示されているときに（Ｓ４１）、ユーザー１が携帯電話機２０を移動させると、センサ検知部２１７の加速度センサ２０７によって加速度が検知され、その加速度αX，αY，αZのデータがアプリケーションプログラムに受け渡される（Ｓ４２）。アプリケーションプログラム実行管理部２１４は、制御手段として機能し、この取得した各角度θX，θY，θZのデータが、上記基準データ記憶領域に記憶されたカーソル移動基準データにより特定される加速度範囲内に含まれるか否かを判断する（Ｓ４３）。このＳ４３の判断において含まれると判断されたら、アプリケーションプログラム実行管理部２１４は、カーソル移動処理（特定処理）を行う（Ｓ４４）。具体的には、メニュー画面上に表示されているカーソル画像の位置を、次のモードの位置へ移動させる処理を行う。一方、上記Ｓ４３の判断において含まれないと判断されたら、アプリケーションプログラム実行管理部２１４は、この取得した各角度θX，θY，θZのデータが、上記基準データ記憶領域に記憶された選択決定基準データにより特定される加速度範囲内に含まれるか否かを判断する（Ｓ４５）。このＳ４５の判断において含まれると判断されたら、アプリケーションプログラム実行管理部２１４は、メニュー画面上においてカーソルで選択されているモードへ移行する処理（特定処理）を行う（Ｓ４６）。具体的には、カーソルがゲームモードを選択している場合には上述したゲームが開始され、カーソルが設定モードを選択している場合には上述した設定モードが開始される。
【００５２】
なお、以上の説明では、加速度αx，αY，αZのデータを用いてカーソルの移動及び選択決定を行う場合について説明したが、各角度θx，θY，θZのデータを用いても同様に行うことができる。
【００５３】
なお、本実施形態では、センサ検知部２１７から送信されてくる加速度αx，αY，αZや各角度θx，θY，θZのデータを、電話機プラットフォーム上に構築されるアプリケーション実行環境上で動作するプラットフォームに依存しないアプリケーションプログラムで利用する場合について説明したが、プラットフォームに依存するアプリケーションプログラムすなわち電話機プラットフォーム上で直接動作するものであっても同様である。
また、本発明は、上述したフライトシミュレータのようなゲームのほか、例えば、液晶ディスプレイ２７に表示されるゲーム画面上においてゲーム内の仮想のボールを穴に落とすというゲームに適用しても有用である。この場合、そのアプリケーションプログラムは、例えば、携帯電話機２０を傾けることで、仮想のボールがその傾きの方向に移動するような内容とする。
また、本実施形態では、ゲーム上の飛行機を操縦するための処理、メニュー画面のモードを選択する処理を例に挙げて説明したが、本発明は、他の処理にも広く適用することができる。例えば、メール閲覧画面や、登録された知人の電話番号等を閲覧する登録データ閲覧画面などの画面スクロールにも同様に適用することができる。
また、本発明は、上述した携帯電話機２０に限らず、広く電子機器全般について適用することができる。
【図面の簡単な説明】
【００５４】
【図１】実施形態における携帯電話機で実行されるアプリケーションプログラム中に用いる最大ピッチ角と最大ロール角を設定する初期設定処理の流れを示すフローチャート。
【図２】同携帯電話機が利用可能な移動体通信システムの全体構成を説明するための説明図。
【図３】同移動体通信システムを構成するダウンロードサーバのハードウェア構成を示す概略構成図。
【図４】同携帯電話機の外観を示す正面図。
【図５】同携帯電話機のハードウェア構成を示す概略構成図。
【図６】同携帯電話機の主要部を抽出して示したブロック図。
【図７】同携帯電話機におけるソフトウェア構造の説明図。
【図８】同携帯電話機でアプリケーションプログラムを実行するための処理の流れを示すフローチャート。
【図９】同携帯電話機でアプリケーションプログラムを実行する際のシーケンスフロー図。
【図１０】及び（ｂ）は、同携帯電話機をＸ軸まわりに回転させて姿勢を変えたときの説明図。
【図１１】携帯電話機でアプリケーションプログラムを実行する際のメニュー画面において行うモード選択の操作方法を設定する処理の流れを示すフローチャート。
【図１２】同メニュー画面においてモード選択を行うときの処理の流れを示すフローチャート。
【符号の説明】
【００５５】
１０  携帯電話通信網
１１  ダウンロードサーバ
２０  携帯電話機
２７  液晶ディスプレイ
２０７  加速度センサ
２０８  地磁気センサ
２１４  アプリケーションプログラム実行管理部
２１５  主制御部
２１６  出力部
２１７  センサ検知部
【図１】
2006031307.tif 000003
【図２】
2006031307.tif 000004
【図３】
2006031307.tif 000005
【図４】
2006031307.tif 000006
【図５】
2006031307.tif 000007
【図６】
2006031307.tif 000008
【図７】
2006031307.tif 000009
【図８】
2006031307.tif 000010
【図９】
2006031307.tif 000011
【図１０】
2006031307.tif 000012
【図１１】
2006031307.tif 000013
【図１２】
2006031307.tif 000014