(57)【要約】      （修正有）【課題】手首に装着される情報表示装置においてジェスチャーの検出精度をより高める。【解決手段】ＣＰＵ１１は、情報表示装置１の初期の静止状態において、加速度センサ１２２が取得した重力により生じた加速度をＲＡＭ１５に記憶し、加速度センサ１２２が取得した情報表示装置１に加えられる動きによって生じる加速度を取得し、取得した加速度を所定区間毎に累算し、累算された加速度を、ＲＡＭ１５に記憶された、重力により生じた加速度に一致させることで、姿勢パラメータを補正し、補正された姿勢パラメータに基づいて、液晶表示部１３に時刻画像を表示するか否かを制御する。【選択図】図３
2014182612.tif 000002
【特許請求の範囲】
【請求項１】
所定の情報が表示される表示部と、
前記表示部を有する筐体と、
前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得する第１取得手段と、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶する第１記憶制御手段と、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出する算出手段と、
この算出された加速度を累算する第１累算手段と、
この第１累算手段により累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正する第１補正手段と、
前記第１補正手段により補正された前記姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する表示制御手段と、を備える情報表示装置。
【請求項２】
前記第１取得手段により取得された角速度を時系列に記憶する角速度記憶制御手段と、
前記角速度記憶制御手段により記憶された角速度の時系列パターンと、予め定められた角速度の時系列パターンとの類似度を算出する類似度算出手段と、
前記表示制御手段は、前記類似度算出手段により算出された前記類似度に基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、請求項１に記載の情報表示装置。
【請求項３】
前記加速度センサが取得した加速度に基づいて、前記筐体の移動距離を算出する移動距離算出手段と、
前記所定の情報のうち、前記表示部に表示される情報の範囲を決定する表示範囲決定手段と、を更に備え、
前記表示範囲決定手段は、前記算出された移動距離に応じて、前記表示される情報の範囲を決定する、請求項１又は２に記載の情報表示装置。
【請求項４】
前記筐体の互いに直交する３軸それぞれの方向に生じる磁気を検出する磁気センサと、
前記筐体の静止状態において前記磁気センサにより検出された地磁気による磁気、及び当該静止状態における姿勢パラメータをメモリに記憶する第２記憶制御手段と、
前記磁気センサが検出した磁気を取得する第２取得手段と、
前記第２取得手段が取得した前記磁気の各軸成分を累算する第２累算手段と、
この第２累算手段により累算された磁気を、前記メモリに記憶された磁気と一致するように姿勢パラメータを補正する第２補正手段と、を更に備え、
前記表示制御手段は、前記第１補正手段及び前記第２補正手段により補正された前記姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、
請求項１から３のいずれかに記載の情報表示装置。
【請求項５】
所定の情報が表示される表示部と、前記表示部を有する筐体と、前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、を有する情報表示装置が実行する方法であって、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得し、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶し、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新し、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出し、
この算出された加速度を累算し、
この累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正し、
この補正された姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、方法。
【請求項６】
所定の情報が表示される表示部と、前記表示部を有する筐体と、前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、を有する情報表示装置として用いられるコンピュータに、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得する取得ステップと、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出する算出ステップと、
この算出された加速度を累算する累算ステップと、
この累算ステップにより累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正する補正ステップと、
この補正された姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する表示制御ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報表示装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、手首に装着するタイプの情報表示装置では、装着者による視認等を判別するために、装着者が腕時計で時刻を見る動作、即ち、肘を曲げた状態で腕を持ち上げながら、時刻表示部がほぼ上空側に向くようになるジェスチャーの検出が重要になる。ジェスチャーの検出において、例えば、特許文献１では、加速度センサを用いて、装置の回転運動を検出する方法が提案されている。
【０００３】
しかしながら、特許文献１における方法では加速度センサだけでジェスチャーの検出が行われていたため、検出精度が十分ではなかった。これに対し、例えば、特許文献２では、加速度センサに加え角速度センサを用いて、装置の姿勢を検出する方法が提案されている。この方法によって、ジェスチャーの検出精度を高めることが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２４２８３２号公報
【特許文献２】特開２０１１−２５３４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、人間の動作には類似するものも多いため、加速度センサに加え角速度センサを用いて装置の姿勢を検出する方法によっても、ジェスチャーの検出精度としては十分ではなかった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、手首に装着される情報表示装置においてジェスチャーの検出精度をより高めることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様の情報表示装置は、
所定の情報が表示される表示部と、
前記表示部を有する筐体と、
前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得する第１取得手段と、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶する第１記憶制御手段と、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出する算出手段と、
この算出された加速度を累算する第１累算手段と、
この第１累算手段により累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正する第１補正手段と、
前記第１補正手段により補正された前記姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する表示制御手段と、
を備える。
【発明の効果】
【０００８】
本発明によれば、手首に装着される情報表示装置においてジェスチャーの検出精度をより高めることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の情報表示装置の一実施形態の概要を示す図である。
【図２】本発明の情報表示装置の一実施形態の概要を示す図である。
【図３】本発明の情報表示装置の構成を示すブロック図である。
【図４】本発明の情報表示装置についての詳細を説明する図である。
【図５】本発明の情報表示装置の一実施形態に係るワールド座標系について説明する図である。
【図６】本発明の情報表示装置のＣＰＵが実行する情報表示処理の流れを示すフローチャートである。
【図７】姿勢センサと姿勢の初期化処理の流れを示すフローチャートである。
【図８】姿勢推定処理の流れを示すフローチャートである。
【図９】移動量推定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を用いて説明する。
【００１１】
以下、添付図面を参照して、本発明の実施形態について説明する。
図１及び図２は、本発明の一実施形態の情報表示装置１の概要を示す図である。
情報表示装置１は、本実施形態では、ユーザの手首に装着される腕時計である。矢印２に示すように、ユーザにより、肘を曲げた状態で腕を持ち上げながら情報表示装置１の液晶表示部１３（後述）が略垂直方向に向くようなジェスチャーがなされると、情報表示装置１は、このジェスチャーを検出し、時刻の情報である時刻画像を液晶表示部１３に表示する。ここで、垂直方向とは、図１の紙面に垂直かつ紙面を奥から手前に貫く方向である。
本実施形態の情報表示装置１は、装置に生じる角速度を検出しており、検出した角速度の時系列のデータと、腕時計の時刻を見る動作のジェスチャーパターンを表す角速度の時系列データとを比較して、その類似度を基にジェスチャーを検出する。
これにより、情報表示装置１におけるジェスチャーの検出精度をより高めることができる。
さらに、ユーザが矢印３の方向に情報表示装置１を移動させると、情報表示装置１がその移動を検出する。そして、ユーザによる情報表示装置１の移動に連動して、液晶表示部１３の時刻画像「６：３０：１５」が、矢印３の方向とは反対方向にスライドして、「６：３０」として表示される。一方、ユーザが矢印４の方向に情報表示装置１を移動させると、同様に、この移動が検出され、移動に連動して液晶表示部１３の時刻画像「６：３０：１５」が矢印４の方向とは反対方向にスライドして、「３０：１５」として表示される。
即ち、図２に示すように、情報表示装置１が、矢印３又は矢印４の方向に移動すると、移動量と移動方向に応じて、液晶表示部１３における表示対象である時刻画像「６：３０：１５」の一部が表示される。
ここで、情報処理装置１の移動方向は、矢印３又は矢印４の方向に限られず、３６０度どの方向であっても、移動に連動して表示をスライドさせることが可能である。
これにより、ユーザによる情報表示装置１の移動と連動して、実装されている表示画面よりも大きい画面を仮想的に形成して情報を表示することができる。
【００１２】
［情報表示装置１の構成］
図３は、情報表示装置１の構成を示すブロック図である。図３に示すように、情報表示装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、姿勢センサ１２、液晶表示部１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、及び入力部１６から構成される。
姿勢センサ１２は、地磁気方向を計測する３軸の磁気センサ１２１、情報表示装置１に加わる加速度を測定するための３軸の加速度センサ１２２、及び情報表示装置の回転動作を計測する３軸の角速度センサ１２３から構成される。各センサは３つの軸ｘ、ｙ、ｚの軸方向の計測が可能になっている。
【００１３】
図４を参照して、本実施形態では、情報表示装置１の液晶表示部１３における表示面が存在する平面上の軸をｙ軸とし、表示面が存在する平面上でｙ軸と直交する軸をｘ軸とし、ｘ軸及びｙ軸と直交する軸をｚ軸としている。磁気センサ１２１は、地磁気ベクトルのｘ軸、ｙ軸、ｚ軸のそれぞれの成分の地磁気値を取得できる。また、加速度センサ１２２は、ｘ軸、ｙ軸、ｚ軸のそれぞれの成分の加速度値を取得できる。また角速度センサ１２３は軸それぞれを中心とする角速度の成分の値（ωｘ、ωｙ、ωｚ）を取得できる。
ここで、ユーザは、情報表示装置１を手首に装着した状態で、腕や手首などを移動させる動作を行うことで、情報表示装置１に対して回転運動や平行運動などを生じさせる。これらの運動による磁気センサ値、加速度センサ値、及び角速度センサ値を姿勢センサ１２が検出して、ＣＰＵ１１に送信する。
【００１４】
図３に戻り、ＣＰＵ１１は、姿勢センサ１２が検出した加速度値、角速度値、地磁気方向と強度を読み出し、これらの値に応じて、情報表示装置１の姿勢、及び、移動量の検出を行う。これにより、ＣＰＵ１１は、液晶表示部１３に、時刻画像の表示を行うか否か、及び、時刻画像が表示される範囲（切り出し範囲）を決定する。
【００１５】
液晶表示部１３には、ＣＰＵ１１によって切り出された、時刻画像の一部分が表示される。ＲＯＭ１４は、ＣＰＵ１１が実行する各種処理の処理プログラム、即ち、前述したように、姿勢センサ１２によるセンサ値の取得、時刻画像の切り出し処理などの処理プログラムを格納する。ＲＡＭ１５は、姿勢センサ１２の各センサ値、各種処理において取得され或いは生成された値を格納する。また、入力部１６は、各種スイッチ（図示せず）を有し、ユーザからの各種指示入力を受け付ける。
【００１６】
［座標系の説明］
次に、本実施形態における情報表示装置１の姿勢、及びワールド座標系について図５を参照して説明する。ここでワールド座標とは、情報表示装置１の位置や向きに関係なく、水平面上で東方向をＸ軸、北方向をＹ軸、水平面に対して垂直上方向をＺ軸と定義された座標系である。したがって、ワールド座標は、図４で記載した情報表示装置１の３軸であるｘ軸、ｙ軸、ｚ軸とは異なる。なお、図５では、液晶表示部１３の表示面の法線方向であるｚ軸のみ図示した。
本実施形態では、情報表示装置１の３軸を、ローカル座標系と呼び小文字で表すのに対して、ワールド座標系では３軸を大文字で表す。ユーザが情報表示装置１を移動させると時間とともにローカル座標とワールド座標との関係が変わっていく。ワールド座標系から見て、情報表示装置１のローカル座標系の向きがどのようになっているかを情報表示装置１の姿勢と呼ぶ。
【００１７】
また、情報表示装置１が移動すると、ワールド座標系の原点からみたローカル座標系の原点も移動する。ワールド座標系から見たローカル座標系の原点を情報表示装置１の位置と呼ぶ。
【００１８】
［情報表示装置１の処理］
【００１９】
続いて、本実施形態の情報表示処理について説明する。初めに、図６を参照しながら情報表示装置１において実行される情報表示処理について概要説明をする。
【００２０】
図６は、情報表示装置１のＣＰＵ１１が実行する情報表示処理の流れを示すフローチャートである。ＣＰＵ１１は、ＲＯＭ１４から情報表示処理に関するプログラムコードを読み出して実行する。情報表示処理のステップＳ３〜Ｓ２１は、ＣＰＵ１１によって定期的なインターバル（２０ｍ秒ごと等）で実行される。
【００２１】
まず、ＣＰＵ１１は、姿勢センサ１２が有する各種センサの初期化とＲＡＭ１５のデータのクリアなどを含むイニシャライズ処理を実行する（ステップＳ１）。イニシャライズ処理が終了すると、ＣＰＵ１１は、姿勢センサ１２が有する各種センサのもつデバイスのばらつきや温度によって変化するオフセットやゲイン調整などを実行する（ステップＳ２）。ステップＳ２の処理の詳細については、図７を参照して後述する。
【００２２】
次に、ＣＰＵ１１は、姿勢センサ１２から加速度値、角速度値、及び地磁気の方向と強度を読み出して、ＲＡＭ１５に記憶する（ステップＳ３）。
【００２３】
ＣＰＵ１１は、ＲＡＭ１５に記憶された、加速度値、角速度値、及び地磁気の方向と強度に応じて情報表示装置１の姿勢の推定を実行し（ステップＳ４）、次に、情報表示装置１の平行移動の移動量推定を実行する（ステップＳ５）。姿勢推定の処理は、図８を参照して後述する。また、移動量推定の処理は、図９を参照して後述する。
次に、ＣＰＵ１１は、ＶｉｅｗモードがＯＮに設定されているか否かの確認を行う（ステップＳ６）。Ｖｉｅｗモードとは時刻画像の一部が表示されている状態であるか否かを表す状態情報でＲＡＭ１５に格納されている。初期状態では、ＶｉｅｗモードはＯＦＦにセットされている。したがって、初回の処理では、ステップＳ６において、ＣＰＵ１１は、ＮＯと判断し、処理をステップＳ７に移す。なお、後述するステップＳ１１において、ＶｉｅｗモードがＯＮに設定されるまでは、ステップＳ６におけるＣＰＵ１１の判断はＮＯとなる。
【００２４】
次に、ＣＰＵ１１は、ステップＳ３においてＲＡＭ１５に記憶された角速度値を、角速度時系列データとして、ＲＡＭ１５の所定の領域（角速度時系列データ領域）に格納する（ステップＳ７）。したがって、このステップＳ７が実行される度に、角速度時系列データ領域には、ステップＳ７が実行された時点における角速度値が時系列に記憶されていく。
次に、ＣＰＵ１１は、ステップＳ７において記憶された角速度時系列データと、予めＲＯＭ１４に記憶されている、腕時計の時刻を見る動作のジェスチャーパターンを表す角速度の時系列データと、が類似するか否かの判定を行う（ステップＳ８）。当該ジェスチャーパターンは複数あり、夫々のパターンに対応して、角速度の時系列データが記憶されている。なお、この類似するか否かの判定は、正規化相関法などの手法を用いて類似度が算出されることにより実行され、算出された類似度に応じて類似又は非類似が判断される。類似しない場合には、ＣＰＵ１１は、再度、ステップＳ３から処理を実行する。
【００２５】
一方、類似する場合には、ＣＰＵ１１は、ステップＳ４において推定された姿勢パラメータ（後述）に基づいて、情報表示装置１の液晶表示部１３の表示面の法線方向（ｚ軸（図５参照））と、ワールド座標系の垂直上方向（Ｚ軸（図５参照））とのなす角度θを求める（ステップＳ９）。
次に、ＣＰＵ１１は、この角度θの大きさが、予め決められた閾値αより小さいか否かの判定を行う（ステップＳ１０）。ここで、閾値α以上であると判定された場合には、液晶表示部１３の表示面の法線方向（ｚ軸（図５参照））が、略垂直上方向を向いていないと判断される。即ち、腕時計の時刻を見るような動作がなされなかったと判断される。したがって、ＣＰＵ１１は、再度、ステップＳ３から処理を実行する。一方、閾値αより小さいと判定された場合には、液晶表示部１３が水平面に対して略垂直上方向に向いていることになり、腕時計の時刻を見るような動作がなされたと判断され、ＣＰＵ１１は、処理をステップＳ１１に移す。
【００２６】
次に、ＣＰＵ１１は、ＶｉｅｗモードをＯＮに設定し（ステップＳ１１）、カーソル位置を示す変数Ｃｕｒｓｏｒを、液晶表示部１３の表示位置の左端を示す０に初期化し、（ステップＳ１２）、表示時間を計測するカウンターを０に初期化する（ステップＳ１３）。この表示時間を計測するカウンターは自動的に更新されるような回路構成となっている。
次に、ＣＰＵ１１は、液晶表示部１３における表示対象である時刻画像の作成を行う（ステップＳ１７）。表示例として、ＣＰＵ１１は、現在の時刻情報をＣＰＵ１１が内部に備えるＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）回路（図示せず）から読み出し、その値に応じて、図２に示す「６：３０：１５」というデジタル数字の時刻画像を生成する。
続いて、ＣＰＵ１１は、現在の、変数Ｃｕｒｓｏｒが示す位置を始点として、時刻画像「６：３０：１５」のうち、液晶表示部１３に表示する範囲の領域を切り出して、液晶表示部１３に、切り出された領域の表示データを転送する（ステップＳ１８）。ステップＳ１８の処理が終了すると、ＣＰＵ１１は、再度、ステップＳ３から処理を実行する。
【００２７】
ここで、一旦ＶｉｅｗモードがＯＮに設定され、ステップＳ３からの処理が実行されると、ＣＰＵ１１は、ステップＳ６において、ＹＥＳと判断し、ステップＳ１４に処理を移す。
【００２８】
ＣＰＵ１１は、ステップＳ４において推定された姿勢パラメータに基づいて、情報表示装置１の液晶表示部１３の表示面の法線方向（ｚ軸（図５参照））と、ワールド座標系の垂直上方向（Ｚ軸（図５参照））とのなす角度θを求める（ステップＳ１４）。
次に、ＣＰＵ１１は、この角度θの大きさが、予め決められた閾値αより小さいか否かの判定を行う（ステップＳ１５）。閾値αより小さいと判定された場合には、液晶表示部１３が水平面に対して略垂直上方向に向き続けられていることになり、腕時計の時刻が継続して見られていると判断され、ＣＰＵ１１は、処理をステップＳ１６に移す。
【００２９】
ＣＰＵ１１は、ステップＳ５において推定された情報表示装置１の移動量に定数Ｇを乗算した値と、変数Ｃｕｒｓｏｒとを加算して、変数Ｃｕｒｓｏｒを更新する（ステップＳ１６）。この定数Ｇは、情報表示装置１の移動量に基づいて、液晶表示部１３における時刻画像「６：３０：１５」をスライドして表示させる際の移動量を求めるための比である。
次に、ＣＰＵ１１は、上述したように、液晶表示部１３における表示対象である時刻画像の作成を行う（ステップＳ１７）。
続いて、ＣＰＵ１１は、現在の、変数Ｃｕｒｓｏｒが示す位置を始点として、時刻画像「６：３０：１５」のうち、液晶表示部１３に表示する範囲の領域を切り出して、液晶表示部１３に、切り出された領域の表示データを転送する（ステップＳ１８）。ステップＳ１８の処理が終了すると、ＣＰＵ１１は、再度、ステップＳ３から処理を実行する。
【００３０】
ところで、ステップＳ１５において、角度θの大きさが、予め決められた閾値α以上であると判定された場合には、液晶表示部１３の表示面の法線方向（ｚ軸（図５参照））が、略垂直上方向を向いていないと判断される。即ち、ユーザが時計を見終わって、腕を下ろしたと判断されて、ＣＰＵ１１は、処理をステップＳ１９に移す。
【００３１】
ＣＰＵ１１は、表示時間を計測するカウンターの値を参照して、液晶表示部１３に表示された表示時間が３０秒を超えたか否かを判定する（ステップＳ１９）。３０秒以下であると判定された場合、ＣＰＵ１１は、再度、ステップＳ３から処理を実行し、３０秒を超えたと判定された場合、ＣＰＵ１１は、ＶｉｅｗモードをＯＦＦに設定し（ステップＳ２０）、液晶表示部１３の表示をＯＦＦし（ステップＳ２１）、再度、ステップＳ３から処理を実行する。
【００３２】
［姿勢センサと姿勢の初期化］
図７を参照して、図６のステップＳ２の姿勢センサ１２と姿勢の初期化処理の詳細説明を行う。
【００３３】
図７は、姿勢センサ１２と姿勢の初期化処理の流れを示すフローチャートである。
【００３４】
まず、ＣＰＵ１１は、ユーザに情報表示装置１を様々な方向に向ける動作をさせるための所定の表示を行う（ステップＳ３１）。所定の表示の例として、ＣＰＵ１１は、液晶表示部１３に「様々な方向に動かして下さい」なるメッセージを表示する。
【００３５】
更に、ＣＰＵ１１は、磁気センサ１２１のオフセットとゲインの補正データを求める（ステップＳ３２）。具体的には、ＣＰＵ１１は、ステップＳ３６の処理に応じて、ユーザが様々な方向に情報表示装置１を向けたときの地磁気の値を磁気センサ１２１により計測し、計測した地磁気の値を用いて補正データを求める。オフセットとゲインの値の求め方の例として、ＣＰＵ１１は、磁気センサ１２１の各軸の最大値及び最小値からその中央値を算出し、算出した中央値を各軸のオフセット値とする。
【００３６】
また、ＣＰＵ１１は、各軸の中央から最大値までの値が同じになるようにゲイン補正値を算出し、算出したオフセット値とゲイン補正値をＲＡＭ１５に記憶する。以降のステップにおいて、ＣＰＵ１１は、磁気センサ１２１の値を読み出したとき、読み出した値からオフセット値を引いて、更に補正ゲインを掛けることで、地磁気の値を補正して検出値とする。
【００３７】
次に、ＣＰＵ１１は、ユーザに情報表示装置１を静止してもらうように、所定の表示を行う（ステップＳ３３）。所定の表示の例として、ＣＰＵ１１は、液晶表示部１３に「表示面を上にして静止してください」なるメッセージを表示する。
【００３８】
次に、ＣＰＵ１１は、角速度センサ１２３の各軸のデータを読み出す。角速度センサ１２３は通常、デバイスのばらつきや温度変動により、角速度０であるときのオフセット値が変動する。ＣＰＵ１１は、角速度センサ１２３の値をオフセット値としてＲＡＭ１５に記憶する（ステップＳ３４）。以降のステップでは、ＣＰＵ１１は、角速度センサ１２３の値を読み出したとき、読み出した値からこのオフセット値を引くことで、情報表示装置１が静止しているときの角速度が０となるように調整する。
【００３９】
次に、ＣＰＵ１１は、加速度センサ１２２の各軸のデータを読み出して、前回の加速度と比較し重力方向の変化を検出したか否かを判断する（ステップＳ３５）。具体的には、情報表示装置１の静止状態では、加速度センサ１２２の値は重力方向の各軸成分のみを示すことになるので、ＣＰＵ１１は、各軸成分の値に変化がない場合に、情報表示装置１が静止状態であることを検出できる。本実施形態では、ＣＰＵ１１は、１秒程度変化がない場合に、情報表示装置１が静止状態であることを検出する。ＣＰＵ１１は、情報表示装置１が静止状態であることを検出した場合には、角速度のオフセット値の登録を完了して、ステップＳ３６に処理を移す。一方、ＣＰＵ１１は、情報表示装置１が動作したことを検出した場合、ステップＳ３４に処理を移し、再度オフセット値の登録をやり直す。
【００４０】
続いて、ＣＰＵ１１は、姿勢の初期化を行う（ステップＳ３６）。具体的には、ＣＰＵ１１は、加速度センサの値の反対方向をワールド座標系のＺ軸方向とする。次に地磁気センサが検出している値から、Ｚ軸方向の成分を除いた値が水平方向の北をしめすので、これをワールド座標系の北方向（Ｙ軸方向）とする。Ｘ軸方向はＺ軸、Ｙ軸に直交するので自動的に決まる。このようにワールド座標系とローカル座標系の関係を初期化する。また、ＣＰＵ１１は、当該初期化時点における角速度、加速度及び地磁気の各軸成分をＲＡＭ１５に記憶する。
なお、角速度センサ１２３及び磁気センサ１２１のセンサ値の補正処理の順番は、入れ替わってもよい。
【００４１】
［姿勢推定］
図８を参照して、図６のステップＳ４の姿勢推定処理の詳細説明を行う。
【００４２】
図８は、姿勢推定処理の流れを示すフローチャートである。
ワールド座標系から見たローカル座標系のｘ軸、ｙ軸、ｚ軸の基底ベクトルをｅｘ，ｅｙ，ｅｚとして、各基底ベクトルを列に並べた行列ＴＬ→Ｗ＝（ｅｘｅｙｅｚ）を定義すると、ローカル座標系の点ｐ＝（ｘｙｚ）Ｔと、この点ｐに対応するワールド座標系の点Ｐ＝（ＸＹＺ）Ｔとの間には、次の関係式（１）、（２）が成り立つ（演算記号Ｔは転置行列を意味する）。
Ｐ＝ＴＬ→Ｗｐ    （１）      ｐ＝ＴＬ→ＷＴＰ      （２）
【００４３】
このように、ＴＬ→Ｗは２つの座標系の関係を示すものであるので、このように、２つの座標系同士の関係などを用いて現在の情報表示装置１の姿勢状態を表すことができる。なお、姿勢の表現方法としては、ピッチ、ヨー、ロールなどの角度を用いてもよい。
【００４４】
ところで、今回時刻ｔで読み取った角速度センサ１２３の値からローカル座標系の各軸成分を持つ３次の角速度ベクトルを取得できる。この３次の角速度ベクトルの各軸成分の値に角速度センサ１２３のサンプリング時間であるδＴを掛け算することで、回転角ベクトルθｔ＝（θｘｔθｙｔθｚｔ）Ｔを求められる。
【００４５】
この回転角ベクトルによって情報表示装置１の姿勢を求めることができる。具体的には、時刻ｔにおける姿勢ＴＬ→Ｗｔは、ｘ軸を中心としたθｘｔの回転、ｙ軸を中心としたθｙｔの回転、及びｚ軸を中心としたθｚｔの回転の合成行列Ｒａｌｌ（θｔ）と、前回の姿勢ＴＬ→Ｗｔ−１とを用いて、ＴＬ→Ｗｔ＝Ｒａｌｌ（θｔ）・ＴＬ→Ｗｔ−１と推定できる。このように、ＣＰＵ１１は、今回の角速度センサ１２３の値に基づいて、前回の姿勢を更新させて、今回の姿勢を推定する（ステップＳ５１）。
【００４６】
ところが、このようにして求めた姿勢は誤差が累積していく。また、姿勢が一度間違ってしまうと、その後の姿勢推定の精度が著しく悪化する。例えば、情報表示装置１のｙ軸が前方水平から右水平に向かって回転したことを想定する。最初に水平でなく垂直方向の回転に誤差が入ると情報表示装置１のｙ軸先端の軌跡は斜めに上がりながら回転することになる。その後、この姿勢に関してまた、新しい回転が加わっていくので加速的に本来の姿勢からずれる。したがって、重力推定を行うことで、姿勢推定の補正を行い、姿勢の精度を高める。
【００４７】
加速度センサ１２２で検出される加速度ベクトルはローカル座標系での各軸の成分から構成される。この加速度ベクトルをステップＳ５１で求めた姿勢情報を用いて、ワールド座標系ベクトルで表す。
【００４８】
外力が加わらなければ、加速度センサ１２２は重力のみを検出することになるので、加速度センサ１２２が検出したローカル座標系での加速度ベクトルをワールド座標系に変換すると、常に同じ方向を示すことになる。しかし、情報表示装置１の動作中は遠心力などの外力が加わるので常に同じ方向を向くとは限らない。また、ユーザが、表示を見るために情報表示装置１を静止させたり、腕を下ろして情報表示装置１を静止させたりしたときなど、いたるときに速度は０になる。即ち、加速度ベクトルから重力成分を除いた外力の積分はいたるときに０になる。よってワールド座標系の加速度ベクトルを積分したベクトルは概ね重力方向を示すことになる。この性質を用いてワールド座標系の重力方向を推定する。
【００４９】
具体的には、ＣＰＵ１１は、今回時刻ｔで読み取った加速度センサ１２２が取得した各軸成分の加速度値をＬＡＴ＝（ＡｘｔＡｙｔＡｚｔ）Ｔとし、これはローカル座標系であるので、式（３）に基づいて、ワールド座標系に変換算出する（ステップＳ５２）。
ＷＡＴ＝ＴＬ→Ｗｔ・ＬＡＴ      （３）
【００５０】
次に、ＣＰＵ１１は、ワールド座標系に変換された加速度ベクトルの値について各成分について、現時刻から所定時間前までの平均値を算出して、平均加速度ベクトルを求める。所定時間はユーザの動作による情報表示装置１の動作状態などで実験的に決定される。ＣＰＵ１１は、この平均加速度ベクトルを重力方向ベクトルＷｅｇｔと推定する（ステップＳ５３）。
具体的には、下記の式（式（４））を定義し、再帰加算によって累算を行う。Ｋｇはダンピング係数で、ユーザの動作による情報表示装置１の動作状態などで実験的に決定される。
Ｇｗｔ＝ｋｇ・Ｇｗｔ−１＋ＷＡｔ      （４）
このＧｗｔからワールド座標系の重力方向ベクトルＷｅｇｔをＷｅｇｔ＝Ｇｗｔ／｜Ｇｗｔ｜と推定する。
【００５１】
次に、ＣＰＵ１１は、この重力方向ベクトルＷｅｇｔがＺ軸の負の方向ベクトル（０  ０  −１）Ｔになるように、姿勢パラメータＴＬ→Ｗｔを修正する（ステップＳ５４）。具体的には、ＣＰＵ１１は、重力方向ベクトルＷｅｇｔと負の方向ベクトル（０  ０  −１）Ｔとの２つのベクトルに直行する軸を中心に、これら２つのベクトルのなす角度分を回転する操作を行うことで、姿勢パラメータＴＬ→Ｗｔを修正する。これにより、重力方向の補正が行われるので、姿勢推定の精度が向上する。
【００５２】
前述した姿勢補正は重力方向のみであるので、Ｚ軸を中心としたヨー角の誤差累積が残る。本実施形態では、地磁気を用いた方法を提案する。
【００５３】
ＣＰＵ１１は、今回時刻ｔで読み取った磁気センサ１２１から求めた地磁気ベクトルの値をＬＭＴ＝（ＭｘｔＭｙｔＭｚｔ）Ｔとし、これはローカル座標系であるので、式（５）に基づいて、ワールド座標系に変換する（ステップＳ５６）。
ＷＭＴ＝ＴＬ→Ｗｔ・ＬＭＴ      （５）
【００５４】
次に、ＣＰＵ１１は、例えばＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタを実行し平滑化を行う。この平滑して得られた方向を現在の地磁気方向Ｗｅｍｔと推定する（ステップＳ５７）。
具体的には、下記のＩＩＲフィルタ演算（式（６））を実行し平滑化を行う。ｋｍはフィルタ係数でスイング状態などで実験的に決定される。
Ｍｗｔ＝（１−ｋｍ）・Ｍｗｔ−１＋ｋｍ・ＷＡｔ      （６）
このＭｗｔからワールド座標系の現在の地磁気方向ベクトルＷｅｍｔを
Ｗｅｍｔ＝Ｍｗｔ／｜Ｍｗｔ｜と推定する。
【００５５】
続いて、ＣＰＵ１１は、初期状態でのワールド座標系における地磁気の方向Ｗｅｍ０＝（０，１，０）をＲＡＭ１５に記録し、現在の地磁気方向Ｗｅｍｔと、初期状態でのワールド座標系における地磁気の方向Ｗｅｍ０の方向とが、ワールド座標系のＸＹ平面で同じ方向を向くような回転行列を求め、この回転行列を用いて姿勢パラメータＴＬ→Ｗｔの補正を行う（ステップＳ５８）。これにより、地磁気方向の補正が行われるので、姿勢推定の精度が向上する。
この回転行列は、具体的には、各ベクトルのＺ成分を０にしたベクトルを考え、その２つのベクトル方向から、重力補正と同様、中心に２つのベクトルのなす角度の長さのベクトルであって、これら２つのベクトルに直交するベクトルを考え、この各成分の値の回転の合成行列変換で表現できる。
【００５６】
［位置推定］
図９を参照して、図６のステップＳ５の移動量推定処理の詳細説明を行う。
【００５７】
図９は、移動量推定処理の流れを示すフローチャートである。
情報表示装置１の移動量推定する際に、図８のステップＳ５３において、ワールド座標の重力方向Ｗｅｇｔを推定した。ＣＰＵ１１は、ワールド座標系の加速度ベクトルからその重力方向Ｗｅｇｔの成分を除いたベクトルを求め、このベクトルを外力による加速度ＷＦＴと定義する（ステップＳ６１）。更に、ＣＰＵ１１は、外力による加速度ＷＦＴを積分して移動速度Ｗｖｔを求め、更にこの移動速度Ｗｖｔを積分して水平面の移動量ＷＤｔを求める（ステップＳ６２）。
【００５８】
以上、本実施形態の情報表示装置１の構成及び処理について説明した。
本実施形態においては、ＣＰＵ１１は、加速度センサ１２２が検出した加速度及び角速度センサ１２３が検出した角速度を一定タイミング毎に取得するとともに、情報表示装置１の初期の静止状態において、加速度センサ１２２により検出された重力による加速度を含み、当該初期の静止状態における姿勢パラメータをＲＡＭ１５に記憶する。そしてＣＰＵ１１は、一定タイミング毎に角速度センサ１２３が検出した角速度に応じて、この姿勢パラメータの更新を行い、この更新された姿勢パラメータに基づいて、検出された加速度からワールド座標系での加速度を算出する。更に、ＣＰＵ１１は、この算出された加速度を所定区間毎に累算し、累算された加速度を、ＲＡＭ１５に記憶された初期の重力による加速度と一致するように姿勢パラメータを補正し、補正された姿勢パラメータに基づいて、液晶表示部１３に時刻画像を表示するか否かを制御する。
よって、情報表示装置を動作させた場合において、重力方向を補正することで、情報表示装置の姿勢推定の精度を向上させることにより、腕時計で時刻を見るジェスチャーの検出精度をより高めることができる。
【００５９】
また、本実施形態においては、ＣＰＵ１１は、取得された角速度を時系列にＲＡＭ１５に記憶し、記憶された角速度の時系列パターンと、予め定められた複数の、角速度の時系列パターンとの類似度を算出する。更に、ＣＰＵ１１は、算出された類似度に基づいて、液晶表示部に時刻画像を表示するか否かを制御する。
よって、実際に腕時計で時刻を見るジェスチャーを角速度の時系列パターンとして、予め複数定めておくことによって、実際に腕時計で時刻を見るジェスチャーに類似する動きが情報表示装置に対してなされた場合にのみ、時刻画像が表示されるようにできる。したがって、無駄な電力消費を省くことができる。
【００６０】
また、本実施形態においては、ＣＰＵ１１は、加速度センサ１２２が取得した加速度に基づいて、情報表示装置１の移動距離を算出し、算出された移動距離に応じて、時刻画像のうち、液晶表示部１３に表示される画像の範囲を決定する。
よって、限られた表示領域において、当該表示領域を超える範囲の時刻画像を部分的に表示することができると共に、当該表示領域に表示されていない部分の画像を、情報表示装置１を移動させることによって、表示することができる。したがって、腕時計のように、表示領域が狭い場合であっても、時刻の文字情報を大きく表示させることが可能になる。これにより、例えば、ジョギングを行いながらラップの計測時間が見易くなる等、良好なユーザーインターフェースを実現できる。
【００６１】
また、本実施形態においては、ＣＰＵ１１は、情報表示装置１の初期の静止状態において、磁気センサ１２１によって、情報表示装置１の互いに直交する３軸それぞれの方向に生じる地磁気成分を検出し、前述の姿勢パラメータに基づいてワールド座標系の地磁気成分に変換してＲＡＭ１５に記憶する。そして、磁気センサ１２１が検出する各軸の地磁気成分を一定タイミング毎に取得し、取得した一定タイミング毎の各軸の地磁気成分を姿勢パラメータに基づいて、ワールド座標系の地磁気成分に変換する。さらこの変換された各地磁気成分を所定区間毎に累算し、この累算された各地磁気成分を、ＲＡＭ１５に記憶された各地磁気成分に一致させるように補正する。
よって、情報表示装置１を動作させた場合において、重力方向に加えて地磁気方向を補正することで、情報表示装置１の姿勢推定の精度を向上させることにより、腕時計で時刻を見るジェスチャーの検出精度をより高めることができる。
【００６２】
以上、本発明の実施形態について説明したが、実施形態は例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換など種々の変更を行うことができる。これら実施形態やその変形は、本明細書などに記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６３】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１]
所定の情報が表示される表示部と、
前記表示部を有する筐体と、
前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、
前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得する第１取得手段と、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶する第１記憶制御手段と、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新手段と、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出する算出手段と、
この算出された加速度を累算する第１累算手段と、
この第１累算手段により累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正する第１補正手段と、
前記第１補正手段により補正された前記姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する表示制御手段と、を備える情報表示装置。
［付記２]
前記第１取得手段により取得された角速度を時系列に記憶する角速度記憶制御手段と、
前記角速度記憶制御手段により記憶された角速度の時系列パターンと、予め定められた角速度の時系列パターンとの類似度を算出する類似度算出手段と、
前記表示制御手段は、前記類似度算出手段により算出された前記類似度に基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、付記１に記載の情報表示装置。
［付記３]
前記加速度センサが取得した加速度に基づいて、前記筐体の移動距離を算出する移動距離算出手段と、
前記所定の情報のうち、前記表示部に表示される情報の範囲を決定する表示範囲決定手段と、を更に備え、
前記表示範囲決定手段は、前記算出された移動距離に応じて、前記表示される情報の範囲を決定する、付記１又は２に記載の情報表示装置。
［付記４]
前記筐体の互いに直交する３軸それぞれの方向に生じる磁気を検出する磁気センサと、
前記筐体の静止状態において前記磁気センサにより検出された地磁気による磁気、及び当該静止状態における姿勢パラメータをメモリに記憶する第２記憶制御手段と、
前記磁気センサが検出した磁気を取得する第２取得手段と、
前記第２取得手段が取得した前記磁気の各軸成分を累算する第２累算手段と、
この第２累算手段により累算された磁気を、前記メモリに記憶された磁気と一致するように姿勢パラメータを補正する第２補正手段と、を更に備え、
前記表示制御手段は、前記第１補正手段及び前記第２補正手段により補正された前記姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、
付記１から３のいずれかに記載の情報表示装置。
［付記５]
所定の情報が表示される表示部と、前記表示部を有する筐体と、前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、を有する情報表示装置が実行する方法であって、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得し、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶し、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新し、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出し、
この算出された加速度を累算し、
この累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正し、
この補正された姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する、方法。
［付記６]
所定の情報が表示される表示部と、前記表示部を有する筐体と、前記筐体の互いに直交する３軸それぞれの方向に生じる加速度を検出する加速度センサと、前記直交する３軸それぞれを中心とする角速度を検出する角速度センサと、を有する情報表示装置として用いられるコンピュータに、
前記加速度センサが検出した加速度及び前記角速度センサが検出した角速度を取得する取得ステップと、
前記筐体の静止状態において、前記加速度センサにより検出された重力による加速度を含み、当該静止状態における姿勢パラメータをメモリに記憶する記憶制御ステップと、
前記角速度が検出される毎に取得した角速度の値に応じて前記メモリに記憶された姿勢パラメータを更新する更新ステップと、
前記更新された姿勢パラメータに基づいて、前記検出された加速度から所定の座標系における加速度を算出する算出ステップと、
この算出された加速度を累算する累算ステップと、
この累算ステップにより累算された加速度を、前記メモリに記憶された前記重力による加速度と一致するように姿勢パラメータを補正する補正ステップと、
この補正された姿勢パラメータに基づいて、前記表示部に前記所定の情報を表示するか否かを制御する表示制御ステップと、
を実行させるプログラム。
【符号の説明】
【００６４】
１・・・情報表示装置、２・・・矢印、３・・・矢印、４・・・矢印、１１・・・ＣＰＵ、１２・・・姿勢センサ、１３・・・液晶表示部、１４・・・ＲＯＭ、１５・・・ＲＡＭ、１６・・・入力部、１２１・・・磁気センサ、１２２・・・加速度センサ、１２３・・・角速度センサ
【図１】
2014182612.tif 000003
【図２】
2014182612.tif 000004
【図３】
2014182612.tif 000005
【図４】
2014182612.tif 000006
【図５】
2014182612.tif 000007
【図６】
2014182612.tif 000008
【図７】
2014182612.tif 000009
【図８】
2014182612.tif 000010
【図９】
2014182612.tif 000011