[実施の形態1]
図1に、移動状態の第1例を示す。図1は、ユーザが歩行している様子を示している。ユーザが背負っているバッグには、携帯端末装置101が入れられている。そのため、ユーザが移動するとともに、携帯端末装置101も移動する。携帯端末装置101は、加速度センサを備えており、加速度センサにより計測された加速度データに基づいて、水平方向の移動速度を算出する。つまり、携帯端末装置101は、加速度センサを用いて、水平方向の移動速度を測定する。矢印103は、携帯端末装置101によって測定された水平方向の移動速度を模式的に示している。ユーザが歩行している場合に、携帯端末装置101によって測定された水平方向の移動速度は、所定の閾値よりも大きい。
図2に、静止状態の第1例を示す。図2は、ユーザがベンチに腰掛けている様子を示している。図1の場合と同様に、ユーザが背負っているバッグには、携帯端末装置101が入れられている。矢印201は、携帯端末装置101によって測定された水平方向の移動速度を模式的に示している。この例のようにユーザが静止している場合に、携帯端末装置101によって測定された水平方向の移動速度は、所定の閾値よりも小さい。
図3に、移動状態の第2例を示す。図3は、ユーザがエスカレータに乗っている様子を示している。図1及び図2の場合と同様に、ユーザが背負っているバッグには、携帯端末装置101が入れられている。矢印301は、携帯端末装置101によって測定された水平方向の移動速度を模式的に示している。ユーザがエスカレータに乗っている場合に、携帯端末装置101によって測定された水平方向の移動速度は、所定の閾値よりも大きい。
図1乃至図3に示した例では、携帯端末装置101によって測定された水平方向の移動速度によって、ユーザが移動している状態(以下、移動状態という。)とユーザが静止している状態(以下、静止状態という。)とが区別される。しかし、携帯端末装置101で所定の閾値よりも大きな水平方向の移動速度を検出したとしても、実際には静止状態である場合も有る。
図4に、静止状態の第2例を示す。図4は、ユーザがロッキングチェアーに座って携帯端末装置101を保持している様子を示している。ロッキングチェアーの揺れによって、ユーザの上体は周期的に前後している。それに併せて、ユーザが保持している携帯端末装置101も前後に揺れている。更に、携帯端末装置101の姿勢角も、周期的に変化している。矢印401は、携帯端末装置101によって測定された水平方向の移動速度を模式的に示している。ユーザがロッキングチェアーで揺れている場合に、携帯端末装置101によって測定された水平方向の移動速度は、所定の閾値よりも大きい。
図4の場合、実際にはユーザは移動していないにもかかわらず、移動している場合と同様の測定結果となる。従って、水平方向の移動速度だけでユーザの状態を判定しようとすると、誤判定することになる。本実施の形態では、このような誤判定を防止する。以降、図1、図3及び図4に示したように、水平方向の移動速度が所定の閾値よりも大きい場合について説明する。
本実施の形態における携帯端末装置101は、更に、地磁気センサを備えており、磁気の変化量も測定する。図1に示した携帯端末装置101は、送電線105より放出される電磁波の磁気成分による磁気の変化量を検出する。波模様107は、送電線105より放出される電磁波の磁気成分を模式的に示している。
図3に示した携帯端末装置101は、エレベータを駆動させるモータ303より放出される電磁波の磁気成分による磁気の変化量を検出する。波模様305は、モータ303より放出される電磁波の磁気成分を模式的に示している。図1及び図3に示したように、携帯端末装置101は、街中において電磁波による磁気の影響を受けることが多い。
図4の場合には、ロッキングチェアーの揺れに伴って、携帯端末装置101の姿勢角が周期的に変化している。従って、携帯端末装置101の地磁気センサの向きも周期的に変化する。そして、地磁気センサで測定される地磁気による磁束密度も、周期的に変化することになる。従って、図4の場合にも、携帯端末装置101において磁気の変化が検出されることになる。
本実施の形態では、図1及び図3のように、実際に移動している場合に電磁波から受ける磁気の変化と、図4のように、携帯端末装置101の姿勢角の変化によって生じる地磁気の変化を区別するために、周波数の違いに着目する。図1及び図3の場合に検出される磁気の変化における周波数は、図4の場合に検出される磁気の変化における周波数に比べて高い。
図1及び図3に例示したような電磁波による磁気成分の変化を、模式的に図5に示す。この例では、X軸、Y軸及びZ軸の3方向において計測されると想定される磁気の大きさを示している。尚、これらの3つの軸は、互いに直交する。上段のグラフは、X軸方向において計測されると想定される磁気の大きさと時間との関係を示している。中段のグラフは、Y軸方向において計測されると想定される磁気の大きさと時間との関係を示している。下段のグラフは、Z軸方向において計測されると想定される磁気の大きさと時間との関係を示している。いずれのグラフも、横軸方向に時間を示し、縦軸方向に磁気の大きさを示している。図5の場合には、短い周期で磁気が変動している。
図4に例示したように、ユーザの取り扱いによって携帯端末装置101の姿勢角が変化する状況で計測される磁気の変化を、模式的に図6に示す。図5の場合と同様に、上段のグラフは、X軸方向において計測されると想定される磁気の大きさと時間との関係を示している。中段のグラフも、同じくY軸方向において計測されると想定される磁気の大きさと時間との関係を示している。下段のグラフも、同じくZ軸方向において計測されると想定される磁気の大きさと時間との関係を示している。図6の場合も、横軸方向に時間を示し、縦軸方向に磁気の大きさを示している。ユーザの取り扱いによって携帯端末装置101の姿勢角が変化することによる磁気の変化の周期は、電磁波の磁気成分における周期よりも長い。
図7に、図5の場合における周波数分布を模式的に示す。横軸は、周波数を示し、縦軸は、磁気の大きさを示している。図5の場合、所定の閾値よりも高い周波数において、大きい磁気が現れる。
図8に、図6の場合における周波数分布を模式的に示す。図7と同様に、横軸は、周波数を示し、縦軸は、磁気の大きさを示している。図6の場合、低い周波数において、大きい磁気が現れる。
このように、大きい磁気が現れる周波数に着目すれば、例えば図1及び図3に示した移動状態と、例えば図4に示した静止状態とを区別することができる。本実施の形態では、所定の閾値よりも低い周波数における磁気成分を除去し、所定の閾値よりも高い周波数における磁気成分を検出することによって、移動状態と静止状態とを判別しやすくする。
図9に、図6に示した磁気の変化から低周波数成分を除去した例を示す。図5及び図6の場合と同様に、上段のグラフは、X軸方向において計測されると想定される磁気の大きさと時間との関係を示している。中段のグラフも、同じくY軸方向において計測されると想定される磁気の大きさと時間との関係を示している。下段のグラフも、同じくZ軸方向において計測されると想定される磁気の大きさと時間との関係を示している。図6の場合も、横軸方向に時間を示し、縦軸方向に磁気の大きさを示している。いずれの軸方向においても、低周波数成分を除去すると、磁気の変化は見られない。
図10に、図9の場合における周波数分布を模式的に示す。図7及び図8と同様に、横軸は、周波数を示し、縦軸は、磁気の大きさを示している。低周波数成分が除去されているので、図10の場合には、いずれの周波数においても、大きい磁気は現れない。このように、地磁気に由来する成分は除去される。
尚、例えば建築物に使用されている鋼材の磁気のような、残留磁気がある場合に、上述したように低周波数成分を除去すれば、残留磁気に由来する成分も除去される。
続いて、本実施の形態における携帯端末装置101のハードウエア構成について説明する。図11に、携帯端末装置101のハードウエア構成例を示す。携帯端末装置101は、CPU(Central Processing Unit)1101、記憶回路1103、無線通信用アンテナ1111、無線通信制御回路1113、スピーカ制御回路1115、スピーカ1117、マイク制御回路1119、マイク1121、LCD(Liquid Crystal Display)制御回路1123、LCD1125、タッチパッド1127、キー群1129、GPS(Global Positioning System)装置1131、マイクロコントローラ1133、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139を有している。
CPU1101は、モデムCPUとアプリケーションCPUとからなることもある。記憶回路1103は、例えば、ROM(Read Only Memory)1105とRAM(Random Access Memory)1107とフラッシュメモリ1109とを有している。ROM1105は、例えば、オペレーティングシステムなどのプログラムや予め設定されているデータを格納している。RAM1107は、例えばアプリケーションなどのプログラムを展開する領域を含んでいる。RAM1107は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ1109は、例えば、アプリケーションなどのプログラムや保持すべきデータを格納している。
LCD制御回路1123は、指定された動作周波数でクロック回路を動作させ、LCD1125を駆動させる。LCD1125は、表示画面を表示する。タッチパッド1127は、例えば、LCD1125の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、LCD1125とタッチパッド1127とを一体としたタッチパネルとして用いられる。キー群1129の各ハードキーは、筐体の一部に設けられている。
無線通信用アンテナ1111は、例えば、セルラー方式、無線LAN(Local Area Network)方式、近距離通信方式などによる無線電波を受信する。無線通信制御回路1113は、各方式における使用周波数に応じて無線通信の制御を行う。無線通信の制御により、例えば電話の音声通信やインターネットを介したデータ通信が行われる。
スピーカ制御回路1115は、音データに関するデジタル/アナログ変換を行う。スピーカ1117は、アナログデータを音として出力する。マイク制御回路1119は、音データに関するアナログ/デジタル変換を行う。マイク1121は、音をアナログデータに変換する。
CPU1101には、マイクロコントローラ1133が接続されている。マイクロコントローラ1133には、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139が接続されている。マイクロコントローラ1133は、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139を制御する。地磁気センサ1135は、地磁気を含む磁気成分を計測する。この例では、地磁気センサ1135は、直行する3つの軸の各方向における磁気成分を計測する。加速度センサ1137は、加速度を計測する。この例では、加速度センサ1137は、直行する3つの軸の各方向における加速度を計測する。ジャイロセンサ1139は、携帯端末装置101の姿勢を検出する。この例では、ジャイロセンサ1139は、直行する3つの軸の各方向における傾き角を計測する。加速度センサ1137とジャイロセンサ1139とは、更に、重力方向を検出する。
この例で、CPU1101は、マイクロコントローラ1133を介して地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139の計測結果を取得する。但し、CPU1101に、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139を接続するようにしてもよい。そして、CPU1101は、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139の計測結果を直接取得するようにしてもよい。
尚、図11に示した携帯端末装置101は、携帯電話器(フィーチャーフォンとスマートフォンとを含む)であり、携帯型の電子機器の例である。但し、本実施の形態を、他の携帯型の電子機器に適用してもよい。例えば腕時計型やめがね型などのウエラブル端末、タブレット端末、ゲーム機、歩数計、録音機、音楽再生機、カメラ、画像再生機、テレビ放送受信機、ラジオ放送受信機、コントローラ、電子時計、電子辞書、電子翻訳機、無線機、GPS発信機、計測器、健康支援機器又は医療機器などの携帯型の電子機器において、携帯端末装置101と同様のモジュールを設け、以下に述べる処理を実行するようにしてもよい。
図12に、マイクロコントローラ1133の構成例を示す。マイクロコントローラ1133は、入出力インターフェース回路1201、演算回路1203、記憶回路1205及びタイマー回路1207を有する。
入出力インターフェース回路1201は、地磁気センサ1135、加速度センサ1137及びジャイロセンサ1139へ計測命令を出力する。また、入出力インターフェース回路1201は、地磁気センサ1135で計測した磁気データ、加速度センサ1137で計測した加速度データ及びジャイロセンサ1139で計測した姿勢データを入力する。更に、入出力インターフェース回路1201は、CPU1101へデータ(例えば、命令や通知)を送り、CPU1101からデータ(例えば、命令や通知)を受けることもある。
入出力インターフェース回路1201は、演算回路1203に接続されている。演算回路1203は、記憶回路1205及びタイマー回路1207にも接続されている。演算回路1203は、演算処理を行なう。記憶回路1205は、データを記憶する。記憶回路1205は、例えば揮発性のメモリ及び不揮発性のメモリを含んでいる。タイマー回路1207は、時刻及び経過時間を計測する。
図13に、識別部1301のモジュール構成例を示す。識別部1301は、移動状態と静止状態とを識別する。この例で、識別部1301は、マイクロコントローラ1133における処理によって実現される。但し、識別部1301は、CPU1101における処理によって実現されるようにしてもよい。
識別部1301は、第1受付部1303、検出部1305、第1算出部1307、判定部1309、第3記憶部1311及び通知部1313を有している。第1受付部1303は、地磁気センサ1135から地磁気データを受け付ける。地磁気データを受け付けた場合に、第1受付部1303は、検出部1305へ受け付けた地磁気データを渡す。また、第1受付部1303は、加速度センサ1137から加速度データを受け付ける。加速度データを受け付けた場合に、第1受付部1303は、第1算出部1307へ受け付けた加速度データを渡す。検出部1305は、受け付けた地磁気データから磁気の変化量を検出する。第1算出部1307は、受け付けた加速度データから水平方向の移動速度を算出する。判定部1309は、磁気の変化量と水平方向の移動速度とに基づいて、移動状態と静止状態との別を判定する。第3記憶部1311は、判定部1309による判定結果のデータを記憶する。通知部1313は、判定結果をCPU1101へ通知する。
検出部1305は、第1除去部1321、合成部1323、第2算出部1325及び第1記憶部1327を有する。第1除去部1321は、磁気データに含まれる低周波数成分を除去する。低周波数成分は、所定の閾値以下の周波数の成分のことである。つまり、第1除去部1321は、ハイパスフィルターである。この例で、第1除去部1321は、X軸方向の磁気データ、Y軸方向の磁気データ及びZ軸方向の磁気データの各々について、低周波数成分を除去する。
合成部1323は、各々低周波数成分を除去されたX軸方向の磁気データ、Y軸方向の磁気データ及びZ軸方向の磁気データを合成する。合成部1323による3軸合成値の算出は、従来の方法による。
第2算出部1325は、合成部1323から得られる合成値を積分する。つまり、第2算出部1325は、微小間隔を空けて合成部1323から得られる合成値の総和を算出することによって、合成値の積分値を求める。
第1記憶部1327は、第1パラメータを記憶する。第1パラメータは、合成値の積算値を求めるための内部パラメータである。
第1算出部1307は、第2除去部1331、第3除去部1333、第3算出部1335及び第2記憶部1337を有する。第2除去部1331は、加速度データの高周波数成分を除去する。高周波数成分は、所定の閾値以上の周波数の成分のことである。この例で、第2除去部1331は、0.1Hz以下の周波数成分を求めることで、重力成分を求める。つまり、第2除去部1331は、ローパスフィルターである。
第3除去部1333は、加速度データから、下限の閾値から上限の閾値までの所定範囲の周波数成分を抽出する。つまり、第3除去部1333は、バンドパスフィルターである。この例における第3除去部1333は、1Hzから3Hzまでの周波数成分を抽出することで、移動成分を求める。1Hzから3Hzまでの範囲は、例えば、ユーザが歩く場合に発生する周波数、ユーザが走る場合に発生する周波数、あるいはユーザが自転車で走行する場合に発生する周波数を含んでいる。例えば、貧乏ゆすりや携帯端末装置101を手で振ることにより発生する周波数成分は、除去される。
第3算出部1335は、第2除去部1331で求めた重力成分と、第3除去部1333で求めた移動成分との外積を求めることによって、水平方向の加速度成分を導く。尚、第1算出部1307は、他の方法によって水平方向の加速度成分を算出するようにしてもよい。そして、第3算出部1335は、水平方向の加速度成分を積分して、水平方向の移動速度を求める。
第2記憶部1337は、第2パラメータを記憶する。第2パラメータは、水平方向の加速度成分の積分値を求めるための内部パラメータである。
第1記憶部1327の第1パラメータによって、微小間隔を空けて得られる合成値が合計され、所定の周期における磁気の変化量が求められる。第2記憶部1337の第2パラメータによって、微小間隔を空けて得られる水平方向の加速度成分が合計され、所定の周期における水平方向の移動速度が求められる。そして、判定部1309は、第1記憶部1327に記憶されている磁気の変化量及び第2記憶部1337に記憶されている水平方向の移動速度を用いて、所定の周期における移動状態と静止状態とを判定する。
上述した識別部1301、第1受付部1303、検出部1305、第1算出部1307、判定部1309、通知部1313、第1除去部1321、合成部1323、第2算出部1325、第2除去部1331、第3除去部1333及び第3算出部1335は、ハードウエア資源(例えば、図11及び図12)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した第1記憶部1327、第2記憶部1337及び第3記憶部1311は、ハードウエア資源(例えば、図11及び図12)を用いて実現される。
次に、識別部1301におけるメイン処理について説明する。図14に、メイン処理フローの例を示す。第2算出部1325は、第1記憶部1327に記憶されている第1パラメータに、初期値として0を設定する(S1401)。第3算出部1335は、第2記憶部1337に記憶されている第2パラメータに、初期値として0を設定する(S1403)。判定部1309は、積分を行なう周期の終期を設定する(S1405)。つまり、終期は、微小時間による積分における積分区間の終端に相当する。
そして、第1受付部1303は、地磁気センサ1135から磁気データを受け付けたか否かを判定する(S1407)。磁気データを受け付けたと判定した場合には、検出部1305は、検出処理を実行する(S1409)。
図15に、検出処理フローの例を示す。第1除去部1321は、第1除去処理を実行する(S1501)。第1除去処理において、第1除去部1321は、磁気データに含まれる低周波数成分(例えば、1Hz以下の周波数成分)を除去する。このようにすれば、地磁気に由来する周波数成分は、除去される。この例では、X軸方向の磁気データ、Y軸方向の磁気データ及びZ軸方向の磁気データの各々について、低周波数成分が除去される。
尚、第1除去処理における閾値は、ユーザの取り扱いによる揺れ(例えば、ロッキングチェアーの揺れ、貧乏ゆすりによる揺れ或いは手の振りによる揺れ)に伴う携帯端末装置101の姿勢の変化における振動の周波数以上であってもよい。また、第1除去処理における閾値は、例えば商用電源の周波数より低い値であってもよい。更に、第1除去処理における閾値は、作動中のエスカレータから生じる電磁波の周波数より低い値であってもよい。
次に、合成部1323は、合成処理を実行する(S1503)。合成処理において、合成部1323は、低周波数成分を除去されたX軸方向の磁気データ、Y軸方向の磁気データ及びZ軸方向の磁気データを合成する。つまり、合成部1323は、3軸合成値を算出する。第2算出部1325は、合成処理により求められた合成値を第1記憶部1327に記憶されている第1パラメータに加算する(S1505)。そして、図14に示したS1415に戻る。
図14の説明に戻る。S1407において、磁気データを受け付けていないと判定した場合には、第1受付部1303は、加速度センサ1137から加速度データを受け付けたか否かを判定する(S1411)。加速度データを受け付けたと判定した場合には、第1算出部1307は、算出処理を実行する(S1413)。
図16に、算出処理フローの例を示す。第2除去部1331は、第2除去処理を実行する(S1601)。第2除去処理において、第2除去部1331は、受け付けた加速度データから高周波数成分を除去する。この例で、第2除去部1331は、上述したように0.1Hz以下の低周波数成分を求める。求められた低周波数成分のみ有する加速度は、重力成分に相当する。
第3除去部1333は、第3除去処理を実行する(S1603)。第3除去処理において、第3除去部1333は、受け付けた加速度データから所定範囲の周波数成分を抽出する。この例で、第3除去部1333は、上述したように1Hz〜3Hzの範囲の周波数成分を求める。抽出された周波数成分のみ有する加速度は、移動成分に相当する。
第3算出部1335は、上述した通りS1601で求めた周波数成分(重力成分)とS1603で求めた周波数成分(移動成分)との外積を求める(S1605)。ここで求められた外積は、水平方向の加速度に相当する。外積による水平方向の加速度の算出は、従来の方法による。第3算出部1335は、S1605で求めた外積を第2記憶部1337に記憶されている第2パラメータに加算する(S1607)。そして、図14に示したS1415に戻る。
図14の説明に戻る。S1411において、加速度データを受け付けていないと判定した場合には、判定部1309は、終期に至ったか否かを判定する(S1415)。終期に至っていないと判定した場合には、S1407の処理に戻り、上述した処理を繰り返す。一方、終期に至ったと判定した場合には、判定部1309は、判定処理を実行する(S1417)。
図17に、判定処理フローの例を示す。判定部1309は、第2記憶部1337から水平方向の速度を取得する(S1701)。水平方向の速度は、終期における第2パラメータの値である。そして、判定部1309は、水平方向の速度が第1閾値を超えたか否かを判定する(S1703)。第1閾値は、例えばユーザの遅目の歩行速度であってもよい。
水平方向の速度が第1閾値を超えていないと判定した場合には、判定部1309は、静止状態であると判定する(S1705)。例えば、図2に示した状況では、S1705において静止状態であると判定される。判定部1309は、計測した時間帯と判定結果とを第3記憶部1311に書く(S1715)。
S1703において、水平方向の速度が第1閾値を超えたと判定した場合には、判定部1309は、第1記憶部1327から磁気の変化量を取得する(S1707)。磁気の変化量は、終期における第1パラメータの値である。そして、判定部1309は、磁気の変化量が第2閾値を超えたか否かを判定する(S1709)。磁気の変化量が第2閾値を超えたと判定した場合には、判定部1309は、移動状態であると判定する(S1711)。例えば、図1又は図3に示した状況では、S1711において移動状態であると判定される。判定部1309は、計測した時間帯と判定結果とを第3記憶部1311に書く(S1715)。
一方、S1709において、磁気の変化量が第2閾値を超えていないと判定した場合には、判定部1309は、静止状態であると判定する(S1713)。例えば、図4に示した状況では、S1713において静止状態であると判定される。判定部1309は、計測した時間帯と判定結果とを第3記憶部1311に書く(S1715)。図14に示したS1419に戻る。
ここで、第3記憶部1311に記憶される判定結果データについて説明する。図18に、判定結果データの例を示す。各レコードにおいて、計測した時間帯と判定結果とが対応付けられている。時間帯は、時:分:秒の形式で示されている。尚、この例において当該時間帯は、合成値の積分における積分区間及び水平方向の加速度の積分における積分区間に相当する。
この例における第1レコードは、「00:00:00〜00:00:02」の時間帯における計測によって、「静止状態」と判定されたことを示している。同じく第2レコードは、「00:00:02〜00:00:04」の時間帯における計測によって、「静止状態」と判定されたことを示している。
第3レコードは、「00:00:04〜00:00:06」の時間帯における計測によって、「移動状態」と判定されたことを示している。同じく第4レコードは、「00:00:06〜00:00:08」の時間帯における計測によって、「移動状態」と判定されたことを示している。同じく第5レコードは、「00:00:08〜00:00:10」の時間帯における計測によって、「移動状態」と判定されたことを示している。同じく第6レコードは、「00:00:10〜00:00:12」の時間帯における計測によって、「移動状態」と判定されたことを示している。
省略したレコードを除く第7レコードは、「00:03:00〜00:03:02」の時間帯における計測によって、「移動状態」と判定されたことを示している。
第8レコードは、「00:03:02〜00:03:04」の時間帯における計測によって、「静止状態」と判定されたことを示している。同じく第9レコードは、「00:03:04〜00:03:06」の時間帯における計測によって、「静止状態」と判定されたことを示している。同じく第10レコードは、「00:03:06〜00:03:08」の時間帯における計測によって、「静止状態」と判定されたことを示している。同じく第11レコードは、「00:03:08〜00:03:10」の時間帯における計測によって、「静止状態」と判定されたことを示している。
図14の説明に戻る。通知部1313は、通知処理を実行する(S1419)。この例で、通知部1313は、新しい状態に切り替わってから、その状態が所定回数繰り返されたときに新しい状態をCPU1101へ通知する。
図19に、通知処理フローの例を示す。通知部1313は、今回より前の回に遡って、移動状態が所定回数連続したか否かを判定する(S1901)。移動状態が所定回数連続したと判定した場合には、通知部1313は、既に移動状態を通知しているか否かを判定する(S1903)。未だ移動状態を通知していないと判定した場合には、通知部1313は、移動状態をCPU1101へ通知する(S1905)。
S1903において、既に移動状態を通知していると判定した場合には、そのまま、通知処理を終える。
S1901において、移動状態が所定回数連続していないと判定した場合には、通知部1313は、今回より前の回に遡って、静止状態が所定回数連続したか否かを判定する(S1907)。静止状態が所定回数連続したと判定した場合には、通知部1313は、既に静止状態を通知しているか否かを判定する(S1909)。未だ静止状態を通知していないと判定した場合には、通知部1313は、静止状態をCPU1101へ通知する(S1911)。
S1909において、既に静止状態を通知していると判定した場合には、そのまま、通知処理を終える。
また、S1907において、静止状態が所定回数連続していないと判定した場合には、そのまま、通知処理を終える。通知処理を終えると、図14に示したS1401に戻る。以上で、本実施の形態における処理フローの説明を終える。
本実施の形態によれば、所定の閾値よりも低い周波数の成分として検出される磁気(例えば、地磁気)の影響を排除し、ユーザの周囲から受ける磁気の変化の大きさに基づいて、ユーザが移動している状態をより正しく識別することができる。
更に、所定の閾値よりも低い周波数の成分として検出される磁気(例えば、地磁気)の影響を排除し、ユーザの周囲から受ける磁気の変化の小ささに基づいて、ユーザが静止している状態をより正しく識別することもできる。
更に、磁気データから低い周波数の成分を除去した後に、磁気の変化の大きさを算出するので、所定の閾値より高い周波数による磁気の変化の大きさを、比較的簡単に算出することができる。
更に、ユーザの取り扱いに伴う携帯端末装置101の姿勢の変化における振動の周波数以上の所定の閾値より高い周波数で変化する磁気を検出するので、通常の使用態様における地磁気成分を除去することができる。従って、地磁気の影響による誤判定を少なくすることができる。
更に、商用電源の周波数より低い所定の閾値より高い周波数で変化する磁気を検出するので、例えば、送電線から生じる電磁波の影響に基づき、ユーザが移動している状態を判定できる。
更に、作動中のエスカレータから生じる電磁波の周波数より低い所定の閾値より高い周波数で変化する磁気を検出するので、作動中のエスカレータから生じる電磁波の影響に基づき、ユーザが移動している状態を判定できる。
更に、移動速度が、ユーザの遅目の歩行速度である所定の閾値を超えたことを判定するので、ユーザの遅目の歩行速度よりも遅い移動に関して、誤ってユーザが移動している状態であると判定されることを防げる。
[実施の形態2]
実施の形態2乃至5では、識別部1301における識別結果の応用例について説明する。実施の形態2では、識別結果に基づいてデバイス(例えば、GPS装置1131)を制御する例について説明する。
図20に、第1応用部2001のモジュール構成例を示す。第1応用部2001は、CPU1101における処理により実現される。第1応用部2001は、識別結果に基づきデバイスを起動させ、あるいは停止させる。第1応用部2001は、第2受付部2003、起動部2005及び停止部2007を有している。第2受付部2003は、識別部1301の通知部1313から移動状態の通知、あるいは静止状態の通知を受け付ける。起動部2005は、移動状態の通知を受け付けた場合に、デバイスを起動させる。停止部2007は、静止状態の通知を受け付けた場合に、デバイスを停止させる。
図21に、第1応用処理フローの例を示す。第2受付部2003は、移動状態の通知を受け付けたか否かを判定する(S2101)。移動状態の通知を受け付けたと判定した場合には、起動部2005は、デバイスを起動させる(S2103)。そして、S2101の処理に戻る。
一方、S2101において、移動状態の通知を受け付けていないと判定した場合には、第2受付部2003は、静止状態の通知を受け付けたか否かを判定する(S2105)。静止状態の通知を受け付けたと判定した場合には、停止部2007は、デバイスを停止させる(S2107)。そして、S2101の処理に戻る。
S2105において、静止状態の通知を受け付けていないと判定した場合には、S2101の処理に戻る。
以上、移動状態の通知を受け付けた場合に、起動部2005がデバイスを起動させ、静止状態の通知を受け付けた場合に、停止部2007がデバイスを停止させる例について説明した。但し、第1応用部2001は、逆に制御するようにしてもよい。つまり、静止状態の通知を受け付けた場合に、起動部2005がデバイスを起動させ、移動状態の通知を受け付けた場合に、停止部2007がデバイスを停止させるようにしてもよい。
本実施の形態によれば、例えば移動状態において使用されるデバイスを自動的に起動させることができる。従って、移動状態において使用されるデバイスを起動させるための操作を省くことができる。
更に、例えば静止状態において使用されないデバイスを自動的に停止させることができる。従って、静止状態において使用されないデバイスを停止させるための操作を省くことができる。また、デバイスの動作による電力消費を抑制することができる。
逆に制御すれば、例えば静止状態において使用されるデバイスを自動的に起動させることができる。従って、静止状態において使用されるデバイスを起動させるための操作を省くことができる。
更に、例えば移動状態において使用されないデバイスを自動的に停止させることができる。従って、移動状態において使用されないデバイスを停止させるための操作を省くことができる。また、デバイスの動作による電力消費を抑制することができる。
[実施の形態3]
実施の形態2では、識別結果に基づいてデバイスを制御する例について説明したが、実施の形態3では、識別結果に基づいてプログラム(例えば、アプリケーションプログラム)を制御する例について説明する。
本実施の形態においても、第1応用部2001が応用処理を行なう。第1応用部2001の構成は、図20に示した通りである。但し、起動部2005は、移動状態の通知を受け付けた場合に、プログラムを起動させる。また、停止部2007は、静止状態の通知を受け付けた場合に、プログラムを停止させる。
図22に、第2応用処理フローの例を示す。第2受付部2003は、移動状態の通知を受け付けたか否かを判定する(S2201)。移動状態の通知を受け付けたと判定した場合には、起動部2005は、プログラムを起動させる(S2203)。そして、S2201の処理に戻る。
一方、S2201において、移動状態の通知を受け付けていないと判定した場合には、第2受付部2003は、静止状態の通知を受け付けたか否かを判定する(S2205)。静止状態の通知を受け付けたと判定した場合には、停止部2007は、プログラムを停止させる(S2207)。そして、S2201の処理に戻る。
S2205において、静止状態の通知を受け付けていないと判定した場合には、S2201の処理に戻る。
以上、移動状態の通知を受け付けた場合に、起動部2005がプログラムを起動させ、静止状態の通知を受け付けた場合に、停止部2007がプログラムを停止させる例について説明した。但し、第1応用部2001は、逆に制御するようにしてもよい。つまり、静止状態の通知を受け付けた場合に、起動部2005がプログラムを起動させ、移動状態の通知を受け付けた場合に、停止部2007がプログラムを停止させるようにしてもよい。
本実施の形態によれば、例えば移動状態において使用されるプログラムを自動的に起動させることができる。従って、移動状態において使用されるプログラムを起動させるための操作を省くことができる。
更に、例えば静止状態において使用されないプログラムを自動的に停止させることができる。従って、静止状態において使用されないプログラムを停止させるための操作を省くことができる。また、プログラムの実行による電力消費を抑制することができる。
逆に制御すれば、例えば静止状態において使用されるプログラムを自動的に起動させることができる。従って、静止状態において使用されるプログラムを起動させるための操作を省くことができる。
更に、例えば移動状態において使用されないプログラムを自動的に停止させることができる。従って、移動状態において使用されないプログラムを停止させるための操作を省くことができる。また、プログラムの実行による電力消費を抑制することができる。
[実施の形態4]
上述した実施の形態では、識別結果に基づいてモードを制御する例について説明する。
図23に、第2応用部2301のモジュール構成例を示す。第2受付部2003は、図20に示したものと同様である。第2応用部2301は、切替部2303を有する。切替部2303は、移動状態の通知を受け付けた場合に、第1モード(例えば、通常モード)から第2モード(例えば、省電力モード)へ切り替え、静止状態の通知を受け付けた場合に、第2モードから第1モードへ切り替える。
図24に、第3応用処理フローの例を示す。第2受付部2003は、移動状態の通知を受け付けたか否かを判定する(S2401)。移動状態の通知を受け付けたと判定した場合には、切替部2303は、第1モードから第2モードへ切り替える(S2403)。そして、S2401の処理に戻る。
一方、S2401において、移動状態の通知を受け付けていないと判定した場合には、第2受付部2003は、静止状態の通知を受け付けたか否かを判定する(S2405)。静止状態の通知を受け付けたと判定した場合には、切替部2303は、第2モードから第1モードへ切り替える(S2407)。そして、S2401の処理に戻る。
S2405において、静止状態の通知を受け付けていないと判定した場合には、S2401の処理に戻る。
本実施の形態によれば、例えば移動状態に適したモードに自動的に切り替えることができる。従って、移動状態に適したモードに切り替えるための操作を省くことができる。
更に、例えば静止状態に適したモードに自動的に切り替えることができる。従って、静止状態に適したモードに切り替えるための操作を省くことができる。
[実施の形態5]
実施の形態4では、識別結果に基づいてモードを制御する例について説明したが、本実施の形態5では、識別結果に基づいて画面の表示を制御する例について説明する。
本実施の形態においても、第2応用部2301が応用処理を行なう。第2応用部2301の構成は、図23に示した通りである。但し、切替部2303は、移動状態の通知を受け付けた場合に、第1画面(例えば、メニュー画面)の表示から第2画面(例えば、メッセージ画面)の表示へ切り替え、静止状態の通知を受け付けた場合に、第2画面の表示から第1画面の表示へ切り替える。
図25に、第4応用処理フローの例を示す。第2受付部2003は、移動状態の通知を受け付けたか否かを判定する(S2501)。移動状態の通知を受け付けたと判定した場合には、切替部2303は、第1画面の表示から第2画面の表示へ切り替える(S2503)。そして、S2501の処理に戻る。
一方、S2501において、移動状態の通知を受け付けていないと判定した場合には、第2受付部2003は、静止状態の通知を受け付けたか否かを判定する(S2505)。静止状態の通知を受け付けたと判定した場合には、切替部2303は、第2画面の表示から第1画面の表示へ切り替える(S2507)。そして、S2501の処理に戻る。
S2505において、静止状態の通知を受け付けていないと判定した場合には、S2501の処理に戻る。
本実施の形態によれば、例えば移動状態に適した画面の表示に自動的に切り替えることができる。従って、移動状態に適した画面の表示に切り替えるための操作を省くことができる。
更に、例えば静止状態に適した画面の表示に自動的に切り替えることができる。従って、静止状態に適した画面の表示に切り替えるための操作を省くことができる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
以上述べた実施の形態をまとめると、以下のようになる。
一態様の電子機器は、第1の閾値より高い周波数で変化する磁気を検出する検出部と、自らの水平方向の移動速度を算出する第1算出部と、算出された移動速度が第2の閾値を超え、且つ検出された磁気の変化の大きさが第3の閾値を超えた場合に、ユーザが移動している状態であると判定する判定部とを有する。
このようにすれば、第1の閾値よりも低い周波数の成分として検出される磁気(例えば、地磁気)の影響を排除し、ユーザの周囲から受ける磁気の変化の大きさに基づいて、ユーザが移動している状態をより正しく識別することができる。
更に、上記判定部は、検出された磁気の変化の大きさが、第3の閾値を超えない場合に、ユーザが静止している状態であると判定するようにしてもよい。
このようにすれば、第1の閾値よりも低い周波数の成分として検出される磁気(例えば、地磁気)の影響を排除し、ユーザの周囲から受ける磁気の変化の小ささに基づいて、ユーザが静止している状態をより正しく識別することができる。
上記電子機器は、更に、磁気を計測するセンサを有するようにしてもよい。上記検出部は、計測された磁気の第1データから第1の閾値より低い周波数の成分を除去する除去部を有するようにしてもよい。更に、上記検出部は、上記成分が除去された磁気の第2データに基づいて、磁気の変化の大きさを算出する算出部を有するようにしてもよい。
このようにすれば、第1の閾値より高い周波数による磁気の変化の大きさを、比較的簡単に算出することができる。
上記検出部は、ユーザの取り扱いに伴う電子機器の姿勢の変化における振動の周波数以上の第1の閾値より高い周波数で変化する磁気を検出するようにしてもよい。
このようにすれば、通常の使用態様における地磁気成分を除去することができる。従って、地磁気の影響による誤判定を少なくすることができる。
上記検出部は、商用電源の周波数より低い第1の閾値より高い周波数で変化する磁気を検出するようにしてもよい。
このようにすれば、例えば、送電線から生じる電磁波の影響に基づき、ユーザが移動している状態を判定できる。
上記検出部は、作動中のエスカレータから生じる電磁波の周波数より低い第1の閾値より高い周波数で変化する磁気を検出するようにしてもよい。
このようにすれば、作動中のエスカレータから生じる電磁波の影響に基づき、ユーザが移動している状態を判定できる。
上記判定部は、算出された移動速度が、ユーザの遅目の歩行速度である第2の閾値を超えたことを判定するようにしてもよい。
このようにすれば、ユーザの遅目の歩行速度よりも遅い移動に関して、誤ってユーザが移動している状態であると判定されることを防げる。
上記電子機器は、更に、上記移動している状態であると判定された場合に、デバイスを起動する起動部を有するようにしてもよい。
このようにすれば、例えばユーザが移動している状態において使用されるデバイスを自動的に起動させることができる。従って、ユーザが移動している状態において使用されるデバイスを起動させるための操作を省くことができる。
上記電子機器は、更に、上記移動している状態であると判定された場合に、プログラムを起動する起動部を有するようにしてもよい。
このようにすれば、例えばユーザが移動している状態において使用されるプログラムを自動的に起動させることができる。従って、ユーザが移動している状態において使用されるプログラムを起動させるための操作を省くことができる。
上記電子機器は、更に、上記移動している状態であると判定された場合に、モードを切り替える切替部を有するようにしてもよい。
このようにすれば、例えばユーザが移動している状態に適したモードに自動的に切り替えることができる。従って、ユーザが移動している状態に適したモードに切り替えるための操作を省くことができる。
上記電子機器は、更に、上記移動している状態であると判定された場合に、表示する画面を切り替える切替部を有するようにしてもよい。
このようにすれば、例えばユーザが移動している状態に適した画面の表示に自動的に切り替えることができる。従って、ユーザが移動している状態に適した画面の表示に切り替えるための操作を省くことができる。
なお、上記処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の閾値より高い周波数で変化する磁気を検出する検出部と、
自らの水平方向の移動速度を算出する第1算出部と、
算出された前記移動速度が第2の閾値を超え、且つ検出された前記磁気の変化の大きさが第3の閾値を超えた場合に、ユーザが移動している状態であると判定する判定部と
を有する電子機器。
(付記2)
前記判定部は、検出された前記磁気の変化の大きさが、前記第3の閾値を超えない場合に、前記ユーザが静止している状態であると判定する
付記1記載の電子機器。
(付記3)
前記電子機器は、更に、
磁気を計測するセンサを有し、
前記検出部は、
計測された前記磁気の第1データから前記第1の閾値より低い周波数の成分を除去する除去部と、
前記成分が除去された磁気の第2データに基づいて、前記磁気の変化の大きさを算出する第2算出部と
を有する付記1又は2記載の電子機器。
(付記4)
前記検出部は、
前記ユーザの取り扱いに伴う前記電子機器の姿勢の変化における振動の周波数以上の第1の閾値より高い周波数で変化する磁気を検出する
付記1乃至3のいずれか1つ記載の電子機器。
(付記5)
前記検出部は、
商用電源の周波数より低い第1の閾値より高い周波数で変化する磁気を検出する
付記1乃至4のいずれか1つ記載の電子機器。
(付記6)
前記検出部は、
作動中のエスカレータから生じる電磁波の周波数より低い第1の閾値より高い周波数で変化する磁気を検出する
付記1乃至4のいずれか1つ記載の電子機器。
(付記7)
前記判定部は、
算出された前記移動速度が、ユーザの遅目の歩行速度である第2の閾値を超えたことを判定する
付記1乃至6のいずれか1つ記載の電子機器。
(付記8)
更に、
前記移動している状態であると判定された場合に、デバイスを起動する起動部
を有する付記1乃至7のいずれか1つ記載の電子機器。
(付記9)
更に、
前記移動している状態であると判定された場合に、プログラムを起動する起動部
を有する付記1乃至7のいずれか1つ記載の電子機器。
(付記10)
更に、
前記移動している状態であると判定された場合に、モードを切り替える切替部
を有する付記1乃至7のいずれか1つ記載の電子機器。
(付記11)
更に、
前記移動している状態であると判定された場合に、表示する画面を切り替える切替部
を有する付記1乃至7のいずれか1つ記載の電子機器。
(付記12)
第1の閾値より高い周波数で変化する磁気を検出する処理と、
電子機器の水平方向の移動速度を算出する処理と、
算出された前記移動速度が第2の閾値を超え、且つ検出された前記磁気の変化の大きさが、第3の閾値を超えた場合に、ユーザが移動している状態であると判定する処理と
を前記電子機器のプロセッサに実行させるための移動判定プログラム。