(57)【要約】【課題】活動量の信頼性を示す指標を生成すること。【解決手段】活動量算出プログラムは、コンピュータを、加速度センサ１０によって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出する算出部２７０と、加速度値が加速度センサ１０の測定レンジの上限値又は下限値と一致することをサチュレーションとし、サチュレーションが発生する回数をサチュレーション回数としたとき、加速度値に基づいてサチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する生成部（２５０，２６０）として機能させる。【選択図】図３
2018102490.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出する算出部と、
前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、
前記加速度値に基づいて前記サチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する生成部と
して機能させる活動量算出プログラム。
【請求項２】
前記コンピュータを更に、
前記加速度センサによって過去に得られた複数の加速度値のうちの最大値を最大加速度値としたとき、現在の加速度値が前記最大加速度値より大きいかを判定し、前記現在の加速度値が前記最大加速度値より大きい場合、前記最大加速度値を前記現在の加速度値に更新する更新部と、
前記更新部によって前記最大加速度値が更新されず、且つ、前記現在の加速度値が前記最大加速度値と一致する場合、前記サチュレーション回数を増やす計数部
として機能させる請求項１に記載の活動量算出プログラム。
【請求項３】
前記加速度センサの推定される測定レンジを推定測定レンジとしたとき、前記最大加速度値に基づいて、前記推定測定レンジを特定する推定部として更に機能させ、
前記計数部は、前記現在の加速度値が前記最大加速度値と一致していない場合、前記現在の加速度値が前記推定測定レンジに応じて定まる許容値以上であるとき、前記サチュレーション回数を増やす
請求項２に記載の活動量算出プログラム。
【請求項４】
前記加速度センサによって、第１軸方向の加速度値である第１加速度値と、第２軸方向の加速度値である第２加速度値とが得られ、
前記加速度センサによって過去に得られた複数の前記第１加速度値のうちの最大値を第１最大加速度値とし、前記加速度センサによって過去に得られた複数の前記第２加速度値のうちの最大値を第２最大加速度値としたとき、
前記推定部は、前記現在の第１加速度値が前記第１最大加速度値より大きい場合、現在の第１加速度値に基づいて前記推定測定レンジを特定し、
前記更新部は、
前記第１最大加速度値を前記現在の第１加速度値に更新し、
現在の第２加速度値が前記第２最大加速度値より小さい場合であっても、前記第２最大加速度値が前記推定測定レンジに応じた規定値より小さい場合には、前記第２最大加速度値を前記規定値に更新する
請求項３に記載の活動量算出プログラム。
【請求項５】
前記生成部は、前記サチュレーション回数が多いほど、前記活動量の信頼性が低い指標を生成する
請求項１から４のいずれか一項に記載の活動量算出プログラム。
【請求項６】
前記コンピュータを更に、
前記サチュレーション回数に基づいて、前記活動量を補正する補正部として機能させる
請求項１から５のいずれか一項に記載の活動量算出プログラム。
【請求項７】
加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出し、
前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、
前記加速度値に基づいて前記サチュレーション回数を特定し、
特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する
活動量算出方法。
【請求項８】
加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出する算出部と、
前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、
前記加速度値に基づいて前記サチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する生成部と
を備える携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、活動量算出プログラム、活動量算出方法および携帯端末に関する。
【背景技術】
【０００２】
ユーザの活動量を算出する活動量計が提供されている。特許文献１は、精度よく活動量を計測することが可能な運動消費エネルギー推定装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０６４４２６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年は、スマートフォンの需要の増加に伴い、スマートフォンに対応した種々のアプリケーションが開発されている。種々のアプリケーションの１つに、ユーザの活動量を算出するものがある。そのようなアプリケーションがインストールされたスマートフォンを利用することで、ユーザは、従来の活動量計の機能と同様の機能を手にすることができる。
【０００５】
ユーザの活動量を算出するアプリケーションの多くは、スマートフォンに内蔵された加速度センサを使用している。加速度センサが搭載されたスマートフォンで従来の活動量計の機能と同様の機能を実現しようとする場合、以下の問題がある。
【０００６】
多種多様なスマートフォンの個々の性能に合わせて、最適化されたアプリケーションを開発することが難しい。なぜなら、スマートフォンの機種に応じて、搭載されている加速度センサの性能が異なることが多いからである。例えば、搭載されている加速度センサの測定レンジが−２Ｇ以上２Ｇ以下の場合（以下、Ｇは重力加速度を表す。）、２Ｇより大きい加速度値または−２Ｇより小さい加速度値を検出することができない。活動量が加速度値に基づいて算出されるので、加速度センサの測定レンジを超える加速度が発生した場合、本来の活動量よりも低い活動量が得られやすくなる。
【０００７】
加速度センサの測定レンジを超える加速度が発生したことに起因して、本来の活動量よりも低い活動量が算出された場合、誤った活動量がユーザに通知されてしまう虞がある。
【０００８】
本発明は、上述の事情に鑑みてなされたものであり、活動量の信頼性を示す指標を生成する活動量算出プログラム、活動量算出方法および携帯端末を提供することを解決課題の一つとする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するために、本発明の一態様の活動量算出プログラムは、コンピュータを、加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出する算出部と、前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、前記加速度値に基づいて前記サチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する生成部として機能させる。
【００１０】
算出部は、加速度センサによって得られた加速度値に基づいて、活動量を算出する。一方、生成部は、加速度値に基づいて、サチュレーション回数を特定する。サチュレーション回数とは、加速度センサによって得られた加速度値が加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとするとき、そのサチュレーションが発生する回数である。そして、生成部は、特定したサチュレーション回数に基づいて、活動量の信頼性を表す指標を生成する。加速度センサの測定レンジを超える加速度が発生したことに起因して、本来の活動量よりも低い活動量が算出された場合、誤った活動量がユーザに通知されてしまう虞がある。しかしながら、活動量の信頼性を表す指標が生成されるので、算出された活動量にどの程度の信頼性があるかをユーザは把握することができる。
【００１１】
前記活動量算出プログラムは、前記コンピュータを更に、前記加速度センサによって過去に得られた複数の加速度値のうちの最大値を最大加速度値としたとき、現在の加速度値が前記最大加速度値より大きいかを判定し、前記現在の加速度値が前記最大加速度値より大きい場合、前記最大加速度値を前記現在の加速度値に更新する更新部と、前記更新部によって前記最大加速度値が更新されず、且つ、前記現在の加速度値が前記最大加速度値と一致する場合、前記サチュレーション回数を増やす計数部として機能させてもよい。
【００１２】
更新部は、これまでに得られたどの加速度値よりも大きな加速度値を検出すると、最大加速度値を現在の加速度値に更新する。現在の加速度値が最大加速度値より大きいということは、サチュレーションが発生していないことを意味する。そして、計数部は、最大加速度値が更新されず、且つ、現在の加速度値が最大加速度値と一致する場合、サチュレーションが発生したとして、サチュレーション回数を増やす。よって、サチュレーションの発生を効率よく捉えることができる。
【００１３】
前記活動量算出プログラムは、前記加速度センサの推定される測定レンジを推定測定レンジとしたとき、前記最大加速度値に基づいて、前記推定測定レンジを特定する推定部として更に機能させ、前記計数部は、前記現在の加速度値が前記最大加速度値と一致していない場合、前記現在の加速度値が前記推定測定レンジに応じて定まる許容値以上であるとき、前記サチュレーション回数を増してもよい。
【００１４】
推定部は、最大加速度値に基づいて、推定測定レンジを特定する。推定測定レンジとは、加速度センサの推定される測定レンジである。計数部は、現在の加速度値が最大加速度値と一致していなくても、現在の加速度値が推定測定レンジに応じて定まる許容値以上であるとき、サチュレーションが発生したとして、サチュレーション回数を増やす。このように、現在の加速度値が最大加速度値と一致していなくてもよいので、サチュレーションの発生を的確に捉えることができる。
【００１５】
前記加速度センサによって、第１軸方向の加速度値である第１加速度値と、第２軸方向の加速度値である第２加速度値とが得られ、前記加速度センサによって過去に得られた複数の前記第１加速度値のうちの最大値を第１最大加速度値とし、前記加速度センサによって過去に得られた複数の前記第２加速度値のうちの最大値を第２最大加速度値としたとき、前記推定部は、前記現在の第１加速度値が前記第１最大加速度値より大きい場合、現在の第１加速度値に基づいて前記推定測定レンジを特定し、前記更新部は、前記第１最大加速度値を前記現在の第１加速度値に更新し、現在の第２加速度値が前記第２最大加速度値より小さい場合であっても、前記第２最大加速度値が前記推定測定レンジに応じた規定値より小さい場合には、前記第２最大加速度値を前記規定値に更新してもよい。
【００１６】
更新部は、第１最大加速度値を現在の第１加速度値に更新し、現在の第２加速度値が第２最大加速度値より小さい場合であっても、第２最大加速度値が推定測定レンジに応じた規定値より小さい場合には、第２最大加速度値を規定値に更新する。つまり、第１最大加速度値が現在の第１加速度値に更新されたとき、第２最大加速度値が小さな値であれば、更新部は、第２最大加速度値を規定値に更新しておく。このことにより、推定部が推定測定レンジを特定する効率を上げることができる。
【００１７】
前記生成部は、前記サチュレーション回数が多いほど、前記活動量の信頼性が低い指標を生成してもよい。
【００１８】
前記活動量算出プログラムは、前記コンピュータを更に、前記サチュレーション回数に基づいて、前記活動量を補正する補正部として機能させてもよい。
【００１９】
サチュレーション回数が多いほど、活動量の信頼性が低い指標を生成部が生成する。補正部は、サチュレーション回数に基づいて、活動量を補正する。よって、活動量の信頼性が低いことが分かる上、適切な活動量をユーザは把握することができる。
【００２０】
本発明の一態様の活動量算出方法は、加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出し、前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、前記加速度値に基づいて前記サチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する。
【００２１】
加速度センサによって得られた加速度値に基づいて、活動量を算出し、サチュレーション回数を特定する。サチュレーション回数とは、加速度センサによって得られた加速度値が加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとするとき、そのサチュレーションが発生する回数である。そして、特定したサチュレーション回数に基づいて、活動量の信頼性を表す指標を生成する。加速度センサの測定レンジを超える加速度が発生したことに起因して、本来の活動量よりも低い活動量が算出された場合、誤った活動量がユーザに通知されてしまう虞がある。しかしながら、活動量の信頼性を表す指標が生成されるので、算出された活動量にどの程度の信頼性があるかをユーザは把握することができる。
【００２２】
本発明の一態様の携帯端末は、加速度センサによって得られた加速度値に基づいて、生体の活動の大きさを示す活動量を算出する算出部と、前記加速度値が前記加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとし、前記サチュレーションが発生する回数をサチュレーション回数としたとき、前記加速度値に基づいて前記サチュレーション回数を特定し、特定したサチュレーション回数に基づいて、前記活動量の信頼性を表す指標を生成する生成部とを備える。
【００２３】
算出部は、加速度センサによって得られた加速度値に基づいて、活動量を算出する。一方、生成部は、加速度値に基づいて、サチュレーション回数を特定する。サチュレーション回数とは、加速度センサによって得られた加速度値が加速度センサの測定レンジの上限値又は下限値と一致することをサチュレーションとするとき、そのサチュレーションが発生する回数である。そして、生成部は、特定したサチュレーション回数に基づいて、活動量の信頼性を表す指標を生成する。加速度センサの測定レンジを超える加速度が発生したことに起因して、本来の活動量よりも低い活動量が算出された場合、誤った活動量がユーザに通知されてしまう虞がある。しかしながら、活動量の信頼性を表す指標が生成されるので、算出された活動量にどの程度の信頼性があるかをユーザは把握することができる。
【図面の簡単な説明】
【００２４】
【図１】携帯端末１の模式図である。
【図２】加速度センサ１０に携帯端末１の位置がＹ軸の正方向に変化した場合に加速度センサ１０から得られたＹ軸方向の加速度値ＡＹ（ｔ）を例示するグラフである。
【図３】携帯端末１の構成例を示す機能ブロック図である。
【図４】条件テーブル３３０の一例を示す図である。
【図５】規定値テーブル３４０の一例を例示する図である。
【図６Ａ】時刻ｔ１における加速度値ＡＸ（ｔ１）、ＡＹ（ｔ１）およびＡＺ（ｔ１）からどのように測定レンジＲＭＡＸが推定されるかを説明するための図である。
【図６Ｂ】更新されなかった最大加速度値ＡＮＭＡＸがどのように規定値Ｔｈ＋または規定値Ｔｈ−に更新されるかを説明するための図である。
【図７】加速度センサ１０によって得られたＸ軸方向の加速度値ＡＸ（ｔ）を例示するグラフである。
【図８】サチュレーション率ＲＳとユーザの消費エネルギーの誤差率ＲＥとの間の関係を例示するグラフである。
【図９Ａ】補正前の消費エネルギーＥＥと、本来の消費エネルギーＥ１との間の関係を例示するグラフである。
【図９Ｂ】補正後の消費エネルギーＥＥＣと、本来の消費エネルギーＥ１との間の関係を例示するグラフである。
【図１０Ａ】プロセッサ２０の動作を例示するフローチャートである。
【図１０Ｂ】プロセッサ２０の動作を例示するフローチャートである。
【図１０Ｃ】プロセッサ２０の動作を例示するフローチャートである。
【図１０Ｄ】プロセッサ２０の動作を例示するフローチャートである。
【図１０Ｅ】プロセッサ２０の動作を例示するフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面を参照しながら本発明に係る実施形態を説明する。また、以下に記載する実施形態は、本発明の好適な具体例である。このため、本実施形態には、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【００２６】
＜実施形態＞
１．概要
実施形態の概要について述べる。図１は、実施形態の携帯端末１の模式図である。携帯端末１は、加速度センサ１０と、プロセッサ２０とを有する。携帯端末１の他の構成については後述する。
【００２７】
携帯端末１は、例えば、スマートフォンである。代替的に、携帯端末１は、携帯電話機であってもよい。携帯端末１には、ユーザの活動量を算出するアプリケーション（後述の活動量算出プログラム３１０）がインストールされている。このアプリケーションにより、携帯端末１は、活動量の算出に加え、算出した活動量の信頼性をユーザに通知する。活動量の信頼性が通知されるので、ユーザは、算出された活動量にどの程度の信頼性があるかをユーザは把握することができる。
【００２８】
本願明細書において、「活動量」とは、加速度値に基づいて、身体の活動の大きさを示す指標のことである。活動量には、例えば、身体の活動によって消費されるエネルギーである運動消費エネルギーが該当する。
【００２９】
加速度センサ１０は、例えば、３軸加速度センサである。図１に示すように、加速度センサ１０を基準として、Ｘ軸、Ｙ軸およびＺ軸を定めた場合、加速度センサ１０は、Ｘ軸方向の加速度値ＡＸ（ｔ）と、Ｙ軸方向の加速度値ＡＹ（ｔ）と、Ｚ軸方向の加速度値ＡＺ（ｔ）とを検出する。ｔは、任意の時刻を表す。また、加速度センサ１０は、測定レンジＲＭＡＸを超える加速度が発生しても、測定レンジＲＭＡＸを超える加速度値を検出することができない。
【００３０】
なお、測定レンジＲＭＡＸは、加速度センサ１０が加速度値を測定可能な範囲であって、加速度値の取り得る下限値から上限値までの範囲を持つ。
【００３１】
以下の説明では、加速度センサ１０に発生した加速度がＸ軸の正方向成分を持つとき、Ｘ軸方向の加速度値ＡＸ（ｔ）は、正の値をとる。逆に、発生した加速度がＸ軸の負方向成分を持つとき、Ｘ軸方向の加速度値ＡＸ（ｔ）は、負の値をとる。
同様に、加速度センサ１０に発生した加速度がＹ軸の正方向成分を持つとき、Ｙ軸方向の加速度値ＡＹ（ｔ）は、正の値をとる。逆に、発生した加速度がＹ軸の負方向成分を持つとき、Ｙ軸方向の加速度値ＡＹ（ｔ）は、負の値をとる。
同様に、加速度センサ１０に発生した加速度がＺ軸の正方向成分を持つとき、Ｚ軸方向の加速度値ＡＺ（ｔ）は、正の値をとる。逆に、発生した加速度がＺ軸の負方向成分を持つとき、Ｚ軸方向の加速度値ＡＺ（ｔ）は、負の値をとる。
【００３２】
プロセッサ２０は、例えば、ＣＰＵ（Central Processing Unit）である。プロセッサ２０は、携帯端末１の全体を制御するコントローラとして機能する。なお、プロセッサ２０は、ＤＳＰ（Digital Signal Processor）の機能を包含していてもよいし、サブのＣＰＵを包含していてもよい。プロセッサ２０の構成は、特定の構成に限定されない。
【００３３】
プロセッサ２０の機能の概要は、次の通りである。第１に、プロセッサ２０は、加速度センサ１０によって得られたＸ軸方向の加速度値ＡＸ（ｔ）と、Ｙ軸方向の加速度値ＡＹ（ｔ）と、Ｚ軸方向の加速度値ＡＺ（ｔ）とに基づいて、活動量を算出する。第２に、プロセッサ２０は、加速度値のサチュレーションが何回発生したかを示すサチュレーション回数に基づいて、活動量の信頼性を表す指標を生成する。
【００３４】
本願明細書において、「加速度値のサチュレーション」とは、加速度センサ１０の測定レンジＲＭＡＸを超える加速度が加速度センサ１０に発生し、加速度センサ１０によって測定された加速度値が測定レンジＲＭＡＸの上限値又は下限値と一致することを言う。また、３軸方向の加速度のいずれか１つでも測定レンジＲＭＡＸを超えれば、加速度値のサチュレーションが発生したことになる。
【００３５】
図２は、ユーザによって携帯端末１の位置がＹ軸の正方向に変化した場合に加速度センサ１０から得られたＹ軸方向の加速度値ＡＹ（ｔ）を例示するグラフである。例えば、加速度センサ１０の測定レンジＲＭＡＸが−２Ｇ以上２Ｇ以下であると仮定する。図２の例では、加速度センサ１０は、−２Ｇ以上２Ｇ以下の加速度値を検出可能である。しかしながら、点線で示すように、２Ｇを超える加速度が発生したとしても、加速度センサ１０は、２Ｇを超える加速度値を検出することができない。図２の例では、加速度値のサチュレーションが発生した箇所は、点線で示すように、加速度値ＡＹ（ｔ）が測定レンジＲＭＡＸの２Ｇを超えている箇所である。
【００３６】
２．構成
図３は、携帯端末１の構成例を示す機能ブロック図である。携帯端末１は、加速度センサ１０と、プロセッサ２０とに加え、記憶装置３０と、タッチパネル４０と、通信部５０とを有する。記憶装置３０は、ユーザの活動量を算出する活動量算出プログラム３１０を格納している。なお、加速度センサ１０およびプロセッサ２０が設けられていれば、携帯端末１の構成は、図３の例に限定されない。例えば、携帯端末１がカメラを更に有していてもよい。
【００３７】
加速度センサ１０は、加速度値ＡＸ（ｔ）、ＡＹ（ｔ）、ＡＺ（ｔ）を検出し、検出した加速度値ＡＸ（ｔ）、ＡＹ（ｔ）、ＡＺ（ｔ）を取得部２１０に出力する。加速度センサ１０の検出方式は、静電容量方式でもよいし、ピエゾ方式でもよく、特定の方式に限定されない。なお、加速度センサ１０の出力は、デジタル信号であってもいし、アナログ信号であってもよい。加速度センサ１０の出力がアナログ信号である場合、プロセッサ２０に設けられたＡ／Ｄコンバータがアナログ信号をデジタル信号に変換する。
【００３８】
プロセッサ２０は、活動量算出プログラム３１０を記憶装置３０から読み出し、活動量算出プログラム３１０を実行することで、取得部２１０と、第１更新部２２０と、推定部２３０と、第２更新部２４０と、計数部２５０と、指標生成部２６０と、算出部２７０と、補正部２８０との機能を実現する。なお、第１更新部２２０および第２更新部２４０が1つの更新部として構成されていてもよい。計数部２５０および指標生成部２６０が１つの生成部として構成されていてもよい。
【００３９】
記憶装置３０は、不揮発性メモリと、揮発性メモリとを包含する。記憶装置３０は、活動量算出プログラム３１０に加え、履歴データ３２０と、後述の条件テーブル３３０と、後述の規定値テーブル３４０とを格納する。活動量算出プログラム３１０は、実施形態の活動量算出方法の処理手順が所定のコンピュータ言語で記述されたものである。
【００４０】
履歴データ３２０には、次の加速度値が記録されている。
１）Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ
Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸとは、加速度センサ１０によって過去に得られたＸ軸の正方向における複数の加速値の中で最も大きい正の値をとる加速度値である。つまり、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸとは、Ｘ軸の正方向における過去の最大値を意味する。
２）Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ
Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸとは、加速度センサ１０によって過去に得られたＸ軸の負方向における複数の加速値の中で最も大きい負の値をとる加速度値である。つまり、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸとは、Ｘ軸の負方向における過去の最大値を意味する。
３）Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸ
Ｙ軸方向の最大加速度値ＡＹ＋ＭＡＸとは、加速度センサ１０によって過去に得られたＹ軸の正方向における複数の加速値の中で最も大きい正の値をとる加速度値である。つまり、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸとは、Ｙ軸の正方向における過去の最大値を意味する。
４）Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸ
Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸとは、加速度センサ１０によって過去に得られたＹ軸の負方向における複数の加速値の中で最も大きい負の値をとる加速度値である。つまり、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸとは、Ｙ軸の負方向における過去の最大値を意味する。
５）Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸ
Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸとは、加速度センサ１０によって過去に得られたＺ軸の正方向における複数の加速値の中で最も大きい正の値をとる加速度値である。つまり、Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸとは、Ｚ軸の正方向における過去の最大値を意味する。
６）Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸ
Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸとは、加速度センサ１０によって過去に得られたＺ軸の負方向における複数の加速値の中で最も大きい負の値をとる加速度値である。つまり、Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸとは、Ｚ軸の負方向における過去の最大値を意味する。
【００４１】
なお、記憶装置３０は、例えば、非一過性（non-transitory）の記録媒体である。更に言えば、記憶装置３０は、公知の任意の形式の記録媒体、例えば、半導体記録媒体、磁気式記録媒体または光学式記録媒体である。代替的に、記憶装置３０は、これらの記録媒体が組み合わされた記録媒体であってもよい。本願明細書において、非一過性の記録媒体とは、一過性の伝播信号（transitory, propagating signal）を除く全てのコンピュータ読み取り可能な記録媒体を含み、揮発性の記録媒体を除外するものではない。
【００４２】
タッチパネル４０は、例えば、静電容量方式のタッチパネルである。タッチパネル４０は、入力デバイスおよび表示デバイスの双方の機能を持つ。タッチパネル４０は、入力デバイスの機能として、ユーザによるタッチ操作を検出し、検出結果をユーザの指示としてプロセッサ２０に出力する。タッチパネル４０は、表示デバイスの機能として、プロセッサ２０の指示に従って、プロセッサ２０の出力結果を表示する。なお、タッチパネル４０の代わりに、入力デバイス（テンキーを含む複数のボタン）および表示デバイスを携帯端末１が有していてもよい。
【００４３】
通信部５０は、携帯端末１の外部と通信可能に構成されている。具体的には、通信部５０は、例えば、携帯端末１が位置するセルの基地局を経由して通話先の携帯端末と音声通信する。更に、通信部５０は、例えば、携帯端末１が位置するセルの基地局を経由してコンテンツサーバ装置と通信する。
【００４４】
３．プロセッサの機能
プロセッサ２０の機能は、次の通りである。取得部２１０は、Ｘ軸方向の加速度値ＡＸ（ｔ）と、Ｙ軸方向の加速度値ＡＹ（ｔ）と、Ｚ軸方向の加速度値ＡＺ（ｔ）とを加速度センサ１０から取得し、これらの加速度値を第１更新部２２０に出力する。
【００４５】
第１更新部２２０は、Ｘ軸方向の加速度値ＡＸ（ｔ）、Ｙ軸方向の加速度値ＡＹ（ｔ）およびＺ軸方向の加速度値ＡＺ（ｔ）の各々について、次の処理を実行する。第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）が正の値をとるならば、記憶装置３０に格納されている履歴データ３２０からＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを読み出す。そして、第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸより大きいかを判定する。現在の加速度値ＡＸ（ｔ）が最大加速度値ＡＸ＋ＭＡＸより大きい場合（ＡＸ（ｔ）＞ＡＸ＋ＭＡＸ）、第１更新部２２０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを現在の加速度値ＡＸ（ｔ）に更新する。つまり、第１更新部２２０は、履歴データ３２０に記録されているＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを加速度値ＡＸ（ｔ）で上書きする。そうでない場合、第１更新部２２０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを現在の加速度値ＡＸ（ｔ）に更新しない。
【００４６】
同様に、第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）が負の値をとるならば、記憶装置３０に格納されている履歴データ３２０からＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸを読み出す。そして、第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）がＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸ（＜０）より小さいかを判定する。現在の加速度値ＡＸ（ｔ）が最大加速度値ＡＸ−ＭＡＸより小さい場合（ＡＸ（ｔ）＜ＡＸ−ＭＡＸ）、第１更新部２２０は、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸを現在の加速度値ＡＸ（ｔ）に更新する。つまり、第１更新部２２０は、履歴データ３２０に記録されている最大加速度値ＡＸ−ＭＡＸを現在の加速度値ＡＸ（ｔ）で上書きする。そうでない場合、第１更新部２２０は、Ｘ軸の負方向の最小加速度値ＡＸＭＩＮを現在の加速度値ＡＸ（ｔ）に更新しない。
【００４７】
Ｙ軸方向の現在の加速度値ＡＹ（ｔ）およびＺ軸方向の現在の加速度値ＡＺ（ｔ）に関しても、第１更新部２２０は、同様の処理を実行する。
【００４８】
推定部２３０の概要は、次の通りである。上述した６つの最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸのうちの１つでも第１更新部２２０が更新した場合、これは、加速度センサ１０によって検出された加速度値が測定レンジＲＭＡＸの上限値又は下限値と一致していないことを意味する。推定部２３０は、これらの最大加速度値に基づいて、加速度センサ１０の推定測定レンジＲＭＡＸｅを特定する。推定測定レンジＲＭＡＸｅは、加速度センサ１０において推定される測定レンジである。ただし、推定部２３０は、最終的な推定測定レンジＲＭＡＸｅを１回の処理で得るのではない。推定部２３０は、加速度値ＡＸ（ｔ）、ＡＹ（ｔ）およびＡＺ（ｔ）のうちのいずれかが、これまでに得られたどの加速度値よりも大きければ、推定測定レンジＲＭＡＸｅを拡げていく。つまり、推定部２３０は、これまでに得られたどの加速度値よりも大きな加速度値を検出する度に、推定測定レンジＲＭＡＸｅを更新する。推定測定レンジＲＭＡＸｅの更新を何回も繰り返すことで、推定測定レンジＲＭＡＸｅの精度を高めることが可能となる。
【００４９】
推定部２３０の詳細は、次の通りである。上述のように、履歴データ３２０には、６つの最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸが記録されている。推定部２３０は、これらの中から絶対値が最も大きい値を抽出する。以下、抽出された値を最大値ＡＭＡＸと呼ぶ。推定部２３０は、抽出された最大値ＡＭＡＸに基づいて、加速度センサ１０の推定測定レンジＲＭＡＸｅを推定する。
【００５０】
より詳細には、推定部２３０は、記憶装置３０に格納されている条件テーブル３３０を参照する。条件テーブル３３０は、後述の図４に示すように、最大値ＡＭＡＸを推定測定レンジＲＭＡＸｅに関連付けたテーブルである。推定部２３０は、最大値ＡＭＡＸに関連付けられた加速度値が加速度センサ１０の現在の推定測定レンジＲＭＡＸｅであると特定する。なお、本願明細書では、説明を簡単にするため、抽出された最大値ＡＭＡＸが負をとる場合、その値の絶対値について考える。
【００５１】
条件テーブル３３０について説明する。図４は、条件テーブル３３０の一例を示す図である。本実施形態では、最大値ＡＭＡＸの取り得る範囲を複数に区分する。そして、複数の区分の各々をレベルと称する。条件テーブル３３０は、複数のレベルの各々に、推定測定レンジＲＭＡＸｅを関連付けたテーブルである。各レベルの推定測定レンジＲＭＡＸｅは、図４に示すように、下限値と上限値とを持つ。図４の例では、最大値ＡＭＡＸのとる範囲が８個のレベルに区分されている。８個のレベルの各々には、推定測定レンジＲＭＡＸｅが関連付けられている。
【００５２】
１）レベル１：最大値ＡＭＡＸが１．８Ｇ以上、かつ２．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±２Ｇであると特定する（−２Ｇ≦ＲＭＡＸｅ≦２Ｇ）。
２）レベル２：最大値ＡＭＡＸが２．２Ｇ以上、かつ３．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±３Ｇであると特定する（−３Ｇ≦ＲＭＡＸｅ≦３Ｇ）。
３）レベル３：最大値ＡＭＡＸが３．２Ｇ以上、かつ４．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±４Ｇであると特定する（−４Ｇ≦ＲＭＡＸｅ≦４Ｇ）。
４）レベル４：最大値ＡＭＡＸが４．２Ｇ以上、かつ５．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±５Ｇであると特定する（−５Ｇ≦ＲＭＡＸｅ≦５Ｇ）。
５）レベル５：最大値ＡＭＡＸが５．２Ｇ以上、かつ６．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±６Ｇであると特定する（−６Ｇ≦ＲＭＡＸｅ≦６Ｇ）。
６）レベル６：最大値ＡＭＡＸが６．２Ｇ以上、かつ７．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±７Ｇであると特定する（−７Ｇ≦ＲＭＡＸｅ≦７Ｇ）。
７）レベル７：最大値ＡＭＡＸが７．２Ｇ以上、かつ８．２Ｇよりも小さい場合、推定部２３０は、推定測定レンジＲＭＡＸｅが±８Ｇであると特定する（−８Ｇ≦ＲＭＡＸｅ≦８Ｇ）。
８）レベル８：最大値ＡＭＡＸが８．２Ｇ以上である場合、推定部２３０は、推定測定レンジＲＭＡＸｅが−８Ｇより小さく、８Ｇより大きいと特定する（ＲＭＡＸｅ＜−８Ｇ、ＲＭＡＸｅ＞８Ｇ）。
【００５３】
推定部２３０は、最大値ＡＭＡＸがどのレベルに適合するかを判定する。そして、推定部２３０は、適合したレベルに対応する推定測定レンジＲＭＡＸｅを用いる。
【００５４】
なお、レベル１から７の各々における最大値ＡＭＸの上限値に着目すると、小数第一位が０ではなく２となっている。これは、加速度センサ１０の感度およびオフセットのばらつきを考慮したためである。説明を簡単にするため、加速度センサ１０の測定レンジＲＭＡＸが±２Ｇであり、−２Ｇから２Ｇまでの範囲が２５６段階の電圧で得られるとする。また、−２Ｇが最小電圧０Ｖに対応付けられ、２Ｇが最大電圧３Ｖに対応付けられたとする。例えば、加速度センサ１０によって得られた電圧（例えば、Ｘ軸方向の加速度値）が最大電圧の半分の１．５Ｖであった場合、理想的には、０Ｇの加速度値が得られればよい。しかしながら、同じ加速度センサ１０であっても、加速度センサ１０の出力の誤差により、０Ｇが検出されない場合がある。つまり、加速度センサ１０の出力が本来の出力でないことがある。このような場合、上述の小数第一位が０であると、最大値ＡＭＡＸがどのレベルに適合するか推定部２３０が誤った判定をすることがある。よって、レベル１から７の各々における最大値ＡＭＸの上限値が大きめにとられている。
【００５５】
第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋より小さい最大加速度値ＡＮＭＡＸがあるかを判定する。その結果、規定値Ｔｈ＋より小さい最大加速度値ＡＮＭＡＸがある場合、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを規定値Ｔｈ＋に更新する。同様に、第２更新部２４０は、記憶装置３０に格納された規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−より大きい最大加速度値ＡＮＭＡＸがあるかを判定する。その結果、規定値Ｔｈ−より大きい最大加速度値ＡＮＭＡＸがある場合、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを規定値Ｔｈ−に更新する。
【００５６】
規定値Ｔｈ＋および規定値Ｔｈ−の各々は、一律ではなく、推定部２３０による現在の推定測定レンジＲＭＡＸｅに応じた値によって定まる。より詳細には、規定値Ｔｈ＋は、現在の推定測定レンジＲＭＡＸｅの上限値より小さい正の値をとり、規定値Ｔｈ−は、現在の推定測定レンジＲＭＡＸｅの下限値より大きい負の値をとる。また、規定値Ｔｈ−の絶対値は、規定値Ｔｈ＋と同じである。規定値Ｔｈ＋および規定値Ｔｈ−の具体例については、後述する。
【００５７】
例えば、第１更新部２２０がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸのみをＸ軸方向の現在の加速度値ＡＸ（ｔ）に更新した場合を考える。Ｙ軸方向の現在の加速度値ＡＹ（ｔ）がＹ軸の正方向の最大加速度値ＡＹ＋ＭＡＸより小さい場合、第２更新部２４０は、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸが規定値Ｔｈ＋より小さいかを判定する。Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸが規定値Ｔｈ＋より小さい場合、第２更新部２４０は、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸを規定値Ｔｈ＋に更新する。Ｚ軸の正方向の最大加速度値Ｚ＋ＭＡＸについても、第２更新部２４０は、同様の処理を実行する。
【００５８】
また、第２更新部２４０は、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸが規定値Ｔｈ−より大きいかを判定する。Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸが規定値Ｔｈ−より大きい場合、第２更新部２４０は、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸを規定値Ｔｈ−に更新する。Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸについても、第２更新部２４０は、同様の処理を実行する。
【００５９】
また、第２更新部２４０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中で、第１更新部２２０が最大加速度値（例えば、ＡＸ＋ＭＡＸ）を現在の加速度値に更新したにもかかわらず、更新後の加速度値が規定値Ｔｈ＋より小さい場合も、第１更新部２２０によって一度更新された最大加速値を更に規定値Ｔｈ＋に更新する。同様に、第２更新部２４０は、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中で、第１更新部２２０が最大加速度値（例えば、ＡＸ−ＭＡＸ＜０）を現在の加速度値（ＡＸ（ｔ）＜０）に更新したにもかかわらず、更新後の加速度値が規定値Ｔｈ−より大きい場合も、第１更新部２２０によって一度更新された最大加速値を更に規定値Ｔｈ−に更新する。
【００６０】
第２更新部２４０が設けられていることにより、次の効果が得られる。例えば、図１に示すＸ−Ｙ面で、ユーザによってＸ軸の正方向またはＸ軸の負方向に携帯端末１の位置が変化する場合を考える。この場合、Ｚ軸方向の加速度値ＡＺ（ｔ）の変動は、相対的に小さい。よって、第２更新部２４０が設けられていない場合、Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸを第１更新部２２０が小さな加速度値ＡＺ（ｔ）に更新してしまう。このような更新が何度も発生すると、処理の無駄が大きくなる、しかしながら、第２更新部２４０が設けられているので、このような処理の無駄が抑制される。
【００６１】
図５は、規定値テーブル３４０の一例を示す図である。規定値テーブル３４０は、複数レベルの各々に割り当てられた最大値ＡＭＡＸに規定値Ｔｈ＋および規定値Ｔｈ−を関連付けたテーブルである。図５の例では、規定値Ｔｈ＋に関しては、７段階の規定値Ｔｈ＋１〜Ｔｈ＋７が設けられている。規定値Ｔｈ−に関しても、７段階の規定値Ｔｈ−１〜Ｔｈ−７が設けられている。これらの規定値Ｔｈ＋１〜Ｔｈ＋７、Ｔｈ−１〜Ｔｈ−７は、推定部２３０によって推定される現在の測定レンジＲＭＡＸに応じた値で定まる。
【００６２】
１）現在の推定測定レンジＲＭＡＸｅが−３Ｇ以上３Ｇ以下である場合、規定値Ｔｈ＋１は、２．５Ｇをとり、規定値Ｔｈ−１は、−２．５Ｇをとる。
２）現在の推定測定レンジＲＭＡＸｅが−４Ｇ以上４Ｇ以下である場合、規定値Ｔｈ＋２は、３．５Ｇをとり、規定値Ｔｈ−２は、−３．５Ｇをとる。
３）現在の推定測定レンジＲＭＡＸｅが−５Ｇ以上５Ｇ以下である場合、規定値Ｔｈ＋３は、４．５Ｇをとり、規定値Ｔｈ−３は、−４．５Ｇをとる。
４）現在の推定測定レンジＲＭＡＸｅが−６Ｇ以上６Ｇ以下である場合、規定値Ｔｈ＋４は、５．５Ｇをとり、規定値Ｔｈ−４は、−５．５Ｇをとる。
５）現在の推定測定レンジＲＭＡＸｅが−７Ｇ以上７Ｇ以下である場合、規定値Ｔｈ＋５は、６．５Ｇをとり、規定値Ｔｈ−５は、−６．５Ｇをとる。
６）現在の推定測定レンジＲＭＡＸｅが−８Ｇ以上８Ｇ以下である場合、規定値Ｔｈ＋６は、７．５Ｇをとり、規定値Ｔｈ−６は、−７．５Ｇをとる。
７）現在の推定測定レンジＲＭＡＸｅが−８Ｇより小さく、８Ｇより大きい場合、規定値Ｔｈ＋７は、９Ｇをとり、規定値Ｔｈ−７は、−９Ｇをとる。
【００６３】
なお、各規定値Ｔｈ＋１〜Ｔｈ＋７は、対応する推定測定レンジＲＭＡＸｅの上限値よりも小さい値をとり、各規定値Ｔｈ−１〜Ｔｈ−７は、対応する推定測定レンジＲＭＡＸｅの下限値よりも大きい値をとれば、図５の例に限定されない。例えば、各規定値Ｔｈ＋１〜Ｔｈ＋７は、対応する推定測定レンジＲＭＡＸｅの上限値の９０パーセントの値であり、各規定値Ｔｈ−１〜Ｔｈ−７は、対応する推定測定レンジＲＭＡＸｅの下限値の９０パーセントの値であってもよい。代替的に、各規定値Ｔｈ＋１〜Ｔｈ＋７は、対応する推定測定レンジＲＭＡＸｅの上限値の８０パーセント以上の値であり、各Ｔｈ−１〜Ｔｈ−７は、対応する推定測定レンジＲＭＡＸｅの下限値の８０パーセント以下の値であってもよい。
【００６４】
以下に、第１更新部２２０の処理および推定部２３０の処理を図６Ａに関連付けて説明する。図６Ａは、時刻ｔ１における加速度値ＡＸ（ｔ１）、ＡＹ（ｔ１）およびＡＺ（ｔ１）からどのように測定レンジＲＭＡＸが推定されるかを説明するための図である。
図６Ａにおいて、黒丸の記号は、時刻ｔ１における加速度値ＡＸ（ｔ１）、ＡＹ（ｔ１）およびＡＺ（ｔ１）を表す。白丸の記号は、初期の時刻ｔ０における６つの最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸを表す。
また、「＋Ｘ」は、Ｘ軸の正方向の加速度値を表す。「＋Ｙ」および「＋Ｚ」についても同様である。「−Ｘ」は、Ｘ軸の負方向の加速度値を表す。「−Ｙ」および「−Ｚ」についても同様である。
【００６５】
説明を簡単にするため、履歴データ３２０には、次のような最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸが予め記録されていると仮定する。
Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ＝１．８Ｇ
Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ＝−１．８Ｇ
Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸ＝１．８Ｇ
Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸ＝−１．８Ｇ
Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸ＝１．８Ｇ
Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸ＝−１．８Ｇ
【００６６】
次に、黒丸の記号で示すように、時刻ｔ１における加速度値ＡＸ（ｔ１）、ＡＹ（ｔ１）およびＡＺ（ｔ１）が次の値をとったと仮定する。
加速度値ＡＸ（ｔ１）＝３．９Ｇ
加速度値ＡＹ（ｔ１）＝２．１Ｇ
加速度値ＡＺ（ｔ１）＝−３．６Ｇ
【００６７】
第１更新部２２０は、Ｘ軸方向の加速度値ＡＸ（ｔ１）が正の値をとるので、加速度値ＡＸ（ｔ１）がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸより大きいか判定する。加速度値ＡＸ（ｔ１）が３．９Ｇであり、最大加速度値ＡＸ＋ＭＡＸが１．８Ｇであるので、前者が後者より大きい。よって、第１更新部２２０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを３．９Ｇに更新する。
【００６８】
第１更新部２２０は、Ｙ軸方向の加速度値ＡＹ（ｔ１）が正の値をとるので、加速度値ＡＸ（ｔ１）がＹ軸の正方向の最大加速度値ＡＹ＋ＭＡＸより大きいかを判定する。加速度値ＡＹ（ｔ１）が２．１Ｇであり、最大加速度値ＡＸ＋ＭＡＸが１．８Ｇであるので、前者が後者より大きい。よって、第１更新部２２０は、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸを２．１Ｇに更新する。
【００６９】
第１更新部２２０は、Ｚ軸方向の加速度値ＡＺ（ｔ１）が負の値をとるので、加速度値ＡＺ（ｔ１）がＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸより小さいかを判定する。加速度値ＡＺ（ｔ１）が−３．６Ｇであり、最大加速度値ＡＺ−ＭＡＸが−１．８Ｇであるので、前者が後者より小さい。よって、第１更新部２２０は、Ｚ軸の負方向の最大加速度値ＡＸ−ＭＡＸを−３．６Ｇに更新する。
【００７０】
以上の結果、第１更新部２２０は、次のような最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸおよびＡＺ−ＭＡＸを履歴データ３２０に記録することとなる。
Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ＝３．９Ｇ（更新済）
Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ＝−１．８Ｇ
Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸ＝２．１Ｇ（更新済）
Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸ＝−１．８Ｇ
Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸ＝１．８Ｇ
Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸ＝−３．６Ｇ（更新済）
【００７１】
続いて、推定部２３０は、履歴データ３２０に記録されている最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＩＮ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸの中から、絶対値が最も大きい値を最大値ＡＭＡＸとして抽出する。図６Ａの例では、推定部２３０は、３．９Ｇを最大値ＡＭＡＸとして抽出する。続いて、推定部２３０は、条件テーブル３３０を参照し、最大値ＡＭＡＸがどのレベルに適合するかを判定する。図６Ａの例では、最大値ＡＭＡＸが３．９Ｇである。よって、推定部２３０は、最大値ＡＭＡＸがレベル３に適合すると判定する。その結果、推定部２３０は、加速度センサ１０の現在の推定測定レンジＲＭＡＸｅが±４Ｇであると推定する。
【００７２】
次に、第２更新部２４０の処理を図６Ｂに関連付けて説明する。図６Ｂは、更新されなかった最大加速度値ＡＮＭＡＸがどのように規定値Ｔｈ＋または規定値Ｔｈ−に更新されるかを説明するための図である。図６Ｂにおいて、白三角の記号は、更新されなかった最大加速度値を表す。黒三角の記号は、第２更新部２４０によって規定値Ｔｈ＋または規定値Ｔｈ−に更新された加速度値を表す。
【００７３】
図６Ａの例において、更新されなかった最大加速度値ＡＮＭＡＸは、Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸ、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸおよびＹ軸の負方向の最大加速度値ＡＹ−ＭＡＸであった。また、推定部２３０によって加速度センサ１０の現在の推定測定レンジＲＭＡＸｅが４Ｇであると特定されている。
【００７４】
以上の場合、第２更新部２４０は、規定値テーブル３４０を参照し、現在の推定測定レンジＲＭＡＸｅに対応する規定値Ｔｈ＋２および規定値Ｔｈ−２を抽出する。続いて、第２更新部２４０は、更新されなかったＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸ（＜０）が規定値Ｔｈ−２（＜０）より大きいかを判定する。更新されなかった最大加速度値ＡＸ−ＭＡＸが−１．８Ｇであり、規定値Ｔｈ−２が−３．５Ｇであるので、前者が後者より大きい。よって、第２更新部２４０は、更新されなかったＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸを規定値Ｔｈ−２に更新する。同様に、第２更新部２４０は、更新されなかったＹ軸の負方向の最大加速度値ＡＹ−ＭＡＸを規定値Ｔｈ−２に更新する。
【００７５】
第２更新部２４０は、更新されなかったＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸが規定値Ｔｈ＋２より小さいかを判定する。更新されなかった最大加速度値ＡＺ＋ＭＡＸが１．８Ｇであり、規定値Ｔｈ＋２が３．５Ｇであるので、前者が後者より小さい。よって、第２更新部２４０は、更新されなかったＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸを規定値Ｔｈ＋２に更新する。
【００７６】
また、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸは、第１更新部２２０によって１．８Ｇから２．１Ｇに更新されたが、規定値Ｔｈ＋２の３．５Ｇより小さい。この場合についても、第２更新部２４０は、第１更新部２２０によって一度更新された最大加速度値を更に規定値Ｔｈ＋２に更新する。よって、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸは、２回更新されることとなる。
【００７７】
計数部２５０は、加速度値のサチュレーションが発生する回数を示すサチュレーション回数Ｎを特定する。サチュレーション回数Ｎは、Ｘ軸方向の加速度値ＡＸ（ｔ）のサチュレーション回数ＮＸと、Ｙ軸方向の加速度値ＡＹ（ｔ）のサチュレーション回数ＮＹと、Ｚ軸方向の加速度値ＡＺ（ｔ）のサチュレーション回数ＮＺとの合計で表される（Ｎ＝ＮＸ＋ＮＹ＋ＮＺ）。
【００７８】
計数部２５０は、Ｘ軸方向のサチュレーション回数ＮＸを次のように計測する。あるサンプリング時刻ｔｎ−１において、Ｘ軸方向の加速度値ＡＸ（ｔｎ）が正の値をとり、加速度値ＡＸ（ｔｎ）がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸよりも大きいため、第１更新部２２０が最大加速度値ＡＸ＋ＭＡＸを更新したとする。この場合、現在の推定測定レンジＲＡＭＸｅが本来の測定レンジＲＭＡＸではなかったとして、計数部２５０は、サチュレーション回数ＮＸを０にリセットする。その後、今回のサンプリング時刻ｔｎにおいてＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸが更新されず、且つ、今回のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸに一致した場合、計数部２５０は、サチュレーション回数ＮＸを増やす。
【００７９】
Ｘ軸方向のサチュレーション回数ＮＸについて着目して、もう少し具体的に述べる。今回のサンプリング時刻ｔｎにおいて、第１更新部２２０が最大加速度値ＡＸ＋ＭＡＸを更新しなかった場合、加速度値のサチュレーションが発生した可能性がある。そのため、計数部２５０は、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸと一致するかを判定する。なお、本実施形態は、前者が後者と完全に一致すること要求しない。今回の加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸと一致している場合、計数部２５０は、サチュレーションが発生したと推定し、サチュレーション回数ＮＸをインクリメントする（ＮＸ＝ＮＸ＋１）。その後、次のサンプリング時刻ｔｎ＋１においても、最大加速度値ＡＸ＋ＭＡＸが更新されず、サンプリング時刻ｔｎ＋１における加速度値ＡＸ（ｔｎ＋１）が最大加速度値ＡＸ＋ＭＡＸと一致した場合、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。言い換えれば、最大加速度値ＡＸ＋ＭＡＸが更新された後、最大加速度値ＡＸ＋ＭＡＸと同じ大きさの加速度値が得られるたびに、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。このように、サチュレーション回数ＮＸを計数することで、Ｘ軸方向の加速度値ＡＸ（ｔ）のサチュレーションが発生した総時間が分かる。
【００８０】
上述の説明では、正の値をとる加速度値ＡＸ（ｔｎ）を例に挙げた。加速度値ＡＸ（ｔｎ）が負の値をとる場合、計数部２５０は、今回のサンプリング時刻ｔｎにおいてＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸが更新されず、且つ、今回のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ−ＭＡＸと一致した場合、サチュレーション回数ＮＸを増やす。また、Ｙ軸方向の加速度値ＡＹ（ｔ）のサチュレーション回数ＮＹおよびＺ軸方向の加速度値ＡＺ（ｔ）のサチュレーション回数ＮＺに関しても、計数部２５０は、同じ処理を実行する。
【００８１】
上述の説明では、処理対象の軸方向における加速度値に関して、最大加速度値が更新されず、且つ、現在の加速度値が最大加速度値に一致した場合、計数部２５０は、サチュレーションが発生したと推定する。しかしながら、最大加速度値が更新されず、且つ現在の加速度値が最大加速度値と一致するかという判定だけでは、加速度値のサチュレーションを捉えることが難しい場合がある。それは、サンプリング周波数の高低に起因している。
【００８２】
図７は、加速度センサ１０によって得られたＸ軸方向の加速度値ＡＸ（ｔ）を例示するグラフである。図７の実線Ｌ１は、測定レンジＲＭＡＸが−４Ｇ以上４Ｇ以下である加速度センサ１０によって得られた加速度値ＡＸ（ｔ）を示している。図７の点線Ｌ２は、本来のＸ軸方向の加速度値ＡＸ（ｔ）を示している。図７の例では、点線Ｌ２で示すように、サンプリング時刻ｔｎ−１からｔｎにかけて、加速度値ＡＸ（ｔ）のサチュレーションが発生している。しかしながら、サンプリング周波数が相対的に低いために、簡単に言えば、サンプリングが粗いために、実線Ｌ１で示すように、加速度値ＡＸ（ｔ）のサチュレーションを捉えることができない場合がある。それは、次の理由による。図７の例では、サンプリング時刻ｔｎ−１における加速度値ＡＸ（ｔｎ−１）が４Ｇよりわずかに小さい。次のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）は、前回のサンプリング時刻ｔｎ−１における加速度値ＡＸ（ｔｎ−１）と同じである。また、説明を分かりやすくするため、Ｘ軸の正方向における現在の最大加速度値ＡＸ＋ＭＡＸが４Ｇであるとする。この場合、サンプリング時刻ｔｎ−１における加速度値ＡＸ（ｔｎ−１）が最大加速度値ＡＸ＋ＭＡＸより小さいので、第１更新部２２０は、最大加速度値ＡＸ＋ＭＡＸを加速度値ＡＸ（ｔｎ−１）に更新しない。その上、サンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸと一致しない。よって、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。その結果、サンプリング時刻ｔｎ−１からｔｎにかけて発生しているサチュレーションを捉えることができない。
【００８３】
また、点線Ｌ２で示すように、サンプリング時刻ｔｎ＋１４からｔｎ＋１５にかけて加速度値ＡＸ（ｔ）のサチュレーションが発生しているにもかかわらず、このサチュレーションも捉えることができない。それは、次の理由による。図７の例では、サンプリング時刻ｔｎ＋１４における加速度値ＡＸ（ｔｎ＋１４）が先のサンプリング時刻ｔｎ−１における加速度値ＡＸ（ｔｎ−１）より大きいものの、測定レンジＲＡＭＸよりは小さい。その上、サンプリング時刻ｔｎ＋１５における加速度値ＡＸ（ｔｎ＋１５）が前回のサンプリング時刻ｔｎ＋１４より小さい。この場合も、サンプリング時刻ｔｎ＋１４における加速度値ＡＸ（ｔｎ＋１４）が最大加速度値ＡＸ＋ＭＡＸより小さいので、第１更新部２２０は、最大加速度値ＡＸ＋ＭＡＸを加速度値ＡＸ（ｔｎ＋１４）に更新しない。その上、サンプリング時刻ｔｎ＋１５における加速度値ＡＸ（ｔｎ＋１５）が最大加速度値ＡＸ＋ＭＡＸと一致しない。よって、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。その結果、サンプリング時刻ｔｎ＋１４からｔｎ＋１５にかけて発生しているサチュレーションを捉えることができない。
【００８４】
そこで、計数部２５０は、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）が正の値をとるとき、加速度値ＡＸ（ｔｎ）が許容値Ｔ＋Ａ以上であるかを判定する。その上で、計数部２５０は、前回のサンプリング時刻ｔｎ−１におけるＸ軸方向の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ＋Ａ以上であるかを判定する。許容値Ｔ＋Ａは、現在の推定測定レンジＲＭＡＸｅの上限値に応じて定まる正の値であって、例えば、現在の推定測定レンジＲＭＡＸｅの上限値に０．９を乗じた値である。例えば、現在の推定測定レンジＲＭＡＸｅが−４Ｇ以上４Ｇ以下である場合、許容値Ｔ＋Ａは、３．６Ｇ（＝４Ｇ×０．９）となる。今回の加速度値ＡＸ（ｔｎ）が許容値Ｔ＋Ａ許容値以上であり（ＡＸ（ｔｎ）≧Ｔ＋Ａ）、且つ前回の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ＋Ａ以上である場合（ＡＸ（ｔｎ−１）≧Ｔ＋Ａ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。図７の例では、サンプリング時刻ｔｎおよびサンプリング時刻ｔｎ＋１５の双方において、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。
【００８５】
一方、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）が許容値Ｔ＋Ａより小さい場合（ＡＸ（ｔｎ）＜Ｔ＋Ａ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。同様に、前回のサンプリング時刻ｔｎ−１に検出されたＸ軸方向の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ＋Ａ以下である場合についても（ＡＸ（ｔｎ−１）≦ＴＡ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。
【００８６】
一方、計数部２５０は、今回のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が負の値をとるとき、加速度値ＡＸ（ｔｎ）が許容値Ｔ−Ａ以下であるかを判定する。その上で、計数部２５０は、前回のサンプリング時刻ｔｎ−１におけるＸ軸方向の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ−Ａ以下であるかを判定する。許容値Ｔ−Ａは、現在の推定測定レンジＲＭＡＸｅの下限値に応じて定まる負の値であって、例えば、現在の推定測定レンジＲＭＡＸｅの下限値に０．９を乗じた値である。今回の加速度値ＡＸ（ｔｎ）が許容値Ｔ−Ａ許容値以下であり（ＡＸ（ｔｎ）≦Ｔ−Ａ）、且つ前回の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ−Ａ以下である場合（ＡＸ（ｔｎ−１）≦Ｔ−Ａ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。
【００８７】
代替的に、許容値Ｔ＋Ａは、現在の推定測定レンジＲＭＡＸｅの上限値に０．８５を乗じた値であり、許容値Ｔ−Ａは、現在の推定測定レンジＲＭＡＸｅの下限値に０．８５を乗じた値であってもよい。ただし、現在の推定測定レンジＲＭＡＸｅに乗じる値が小さすぎても、大きすぎても、加速度値のサチュレーションの発生を的確に捉えることが難しくなる。よって、実用的には、現在の推定測定レンジＲＭＡＸｅに乗じる値は、０．８以上、０．９以下である。
【００８８】
Ｙ軸方向の加速度値ＡＹ（ｔ）のサチュレーション回数ＮＹおよびＺ軸方向の加速度値ＡＺ（ｔ）のサチュレーション回数ＮＺに関しても、計数部２５０は、サチュレーション回数ＮＸの場合と同じ処理を実行する。以上のように、最大加速度値が更新されず、且つ現在の加速度値が最大加速度値と一致するかという判定条件が緩和される。よって、サンプリング周波数が相対的に低くても、加速度値のサチュレーションを的確に捉えることができる。
【００８９】
指標生成部２６０は、サチュレーション回数Ｎに基づいて、活動量の信頼性を表す指標を生成する。活動量の信頼性を表す指標の一つとして、単位時間あたりに、本来の加速度値をどの程度正しく捉えることができたかを表す指標がある。この指標を用いる場合、指標生成部２６０は、次の式（１）に基づいて、以下の補足率Ｒｅを算出し、算出した補足率Ｒｅをタッチパネル４０に出力する。
Ｒｅ＝（ＮＳＡＭＰＬＩＮＧ−Ｎ）／ＮＳＡＭＰＬＩＮＧ×１００  （％）
…（１）
【００９０】
式（１）において、ＮＳＡＭＰＬＩＮＧは、単位時間（例えば、１分間）あたりのサンプリング回数を表す。補足率Ｒｅは、単位時間あたりに加速度値（ＡＸ（ｔ）、ＡＹ（ｔ）、ＡＺ（ｔ））を何回補足することができたかを示す。当然ながら、サチュレーション回数Ｎが多いほど、活動量の補足率Ｒｅは低くなる。その結果として、活動量の信頼性も低くなる。
【００９１】
また、活動量の信頼性を表す指標の一つとして、単位時間（例えば、１分間）あたりにサチュレーションが何回発生したかを表す指標がある。（１）式の替わりに、指標生成部２６０は、次の式（２）に基づいて、サチュレーション率ＲＳを活動量の信頼性を表す指標として算出してもよい。
ＲＳ＝Ｎ／ＮＳＡＭＰＬＩＮＧ×１００  （％）    …（２）
【００９２】
式（２）に示すとおり、サチュレーション回数Ｎが多いほど、サチュレーション率ＲＳも高くなる。その結果として、活動量の信頼性は低くなる。
【００９３】
活動量の信頼性を表す他の指標として、どの程度の誤差が単位時間あたりの消費エネルギーに含まれるかを表す指標がある。この指標を用いる場合、指標生成部２６０は、次に述べる誤差率ＲＥを活動量の信頼性を表す指標として算出してもよい。
【００９４】
加速度センサ１０の本来の測定レンジＲＭＡＸの大きさによるが、サチュレーション率ＲＳと消費エネルギーの誤差率ＲＥとの間には相関がある。図８は、サチュレーション率ＲＳとユーザの消費エネルギーの誤差率ＲＥとの間の関係を例示するグラフである。黒丸の点は、携帯端末１を持ったユーザが走った場合に得られた値を示したものである。なお、加速度センサ１０の本来の測定レンジＲＭＡＸは、−４Ｇ以上４Ｇ以下であった。
【００９５】
図８において、縦軸に示す消費エネルギーの誤差率ＲＥは、加速度値のサチュレーションが発生しなかった場合に、消費エネルギーにどの程度の誤差があるかを示し、次の式（３）で表される。
ＲＥ＝｜Ｅ１−Ｅ２｜／Ｅ１×１００  （％）    …（３）
【００９６】
式（３）において、Ｅ１は、測定レンジＲＭＡＸが十分に大きい理想的な加速度センサを用いた場合に得られる本来の消費エネルギーを示す。つまり、Ｅ１は、加速度値のサチュレーションが発生しない場合に得られると推定される消費エネルギーを示す。Ｅ２は、加速度センサ１０を用いた場合に得られる消費エネルギーを示す。
【００９７】
図８に示すように、サチュレーション率ＲＳが高いほど、消費エネルギーの誤差率ＲＥも高くなる傾向にある。図８の例では、両者の間の関係に正の相関が見られることを本願発明者は確認している。そこで、指標生成部２６０は、以下の推定誤差率Ｅを次の式（４）を用いて算出する。推定誤差率Ｅは、図８におけるサチュレーション率ＲＳと消費エネルギーの誤差率ＲＥとの間の関係に示すように、あるサチュレーション率ＲＳに対して、消費エネルギーにどの程度の誤差が含まれるかを推定したものである。指標生成部２６０は、算出した推定誤差率Ｅをタッチパネル４０に出力する。
Ｅ＝α×ＲＳ２＋βＲＳ  （％）    …（４）
【００９８】
式（４）において、αおよびβは、サチュレーション率ＲＳおよび消費エネルギーの誤差率ＲＥから決まる係数である。例えば、指標生成部２６０は、図８に示す複数の黒丸の点から２次関数を求めることによって、αおよびβを算出する。
【００９９】
指標生成部２６０が設けられているので、仮に誤った活動量が測定されたとしても、測定された活動量を本来の活動量であるとユーザが信頼してしまう虞がなくなる。
【０１００】
算出部２７０は、ユーザの活動量を算出する。活動量は、例えば、以下の式（５）に示すユーザの消費エネルギーＥＥである。算出部２７０は、式（５）を用いて、単位時間（例えば、１分）あたりの消費エネルギーＥＥを算出する。
ＥＥ＝ａ１＋ｂ１×Ｘ×Ｗ＋ｃ１×ＦＦＭ＋ｄ１×Ａ＋ｆ１×Ｓ      …（５）
【０１０１】
式（５）において、Ｘは、加速度値の大きさであって、（ＡＸ（ｔ）２＋ＡＹ（ｔ）２＋ＡＺ（ｔ）２）１／２で表される。Ｗは、ユーザの体重を示す。ＦＦＭは、ユーザの除脂肪率を示す。Ａは、ユーザの年齢を示す。Ｓは、性別を示し、性別に応じた値をとる。ａ１、ｂ１、ｃ１、ｄ１およびｆ１は、与えられた定数を示す。算出部２７０は、算出した消費エネルギーＥＥを補正部２８０に出力する。
【０１０２】
代替的に、算出部２７０は、次の式（６）を用いて、ユーザの消費エネルギーＥＥを算出してもよい。
ＥＥ＝ａ２＋ｂ２×Ｘ×Ｗ＋ｃ２×ＦＦＭ＋ｄ２×ＦＭ＋ｅ２×Ａ＋ｆ２×Ｓ
…（６）
【０１０３】
式（６）において、ＦＭは、ユーザの脂肪量を示す。ａ２、ｂ２、ｃ２、ｄ２およびｆ２は、与えられた定数を示す。なお、消費エネルギーＥＥの算出方法は、式（５）に示す方法または式（６）に示す方法に限定されない。
【０１０４】
補正部２８０は、サチュレーション回数Ｎに基づいて、算出部２７０が算出したユーザの活動量を補正する。換言すれば、補正部２８０は、加速度値のサチュレーションの発生がないと仮定した場合に得られるユーザの活動量を算出する。補正部２８０の詳細は、次の通りである。補正部２８０は、次の式（７）を用いて、消費エネルギーＥＥを補正する。
ＥＥＣ＝（１＋Ｅ）×ＥＥ      …（７）
【０１０５】
ＥＥＣは、補正後の消費エネルギーを示す。Ｅは、推定される誤差率である。推定誤差率Ｅ、サチュレーション率ＲＳおよびサチュレーション回数Ｎを用いると、補正後の消費エネルギーＥＥＣは、次の式（８）で表される。
ＥＥＣ＝［１＋（α×ＲＳ２＋βＲＳ）］×ＥＥ
＝［１＋（α×（Ｎ／ＮＳＡＭＰＬＩＮＧ）２＋β×Ｎ／ＮＳＡＭＰＬＩＮＧ）］×ＥＥ
…（８）
【０１０６】
式（８）に示すように、補正部２８０は、サチュレーション率ＲＳを用いて消費エネルギーＥＥを補正する。本実施形態では、サチュレーション率ＲＳを直接用いる替わりに、補正部２８０は、サチュレーション回数Ｎに加え、消費エネルギーをＥＥと、単位時間当たりのサンプリング数ＮＳＡＭＰＬＩＮＧとに基づいて、消費エネルギーＥＥを補正する。そして、補正部２８０は、補正した消費エネルギーＥＥＣをタッチパネル４０に出力する。
【０１０７】
以下に、補正部２８０の効果を図９Ａおよび図９Ｂに関連付けて説明する。図９Ａは、補正前の消費エネルギーＥＥと、本来の消費エネルギーＥ１との間の関係を例示するグラフである。横軸に示す消費エネルギーＥＥは、補正部２８０によって補正されていない消費エネルギー（ｋｃａｌ/分）を示す。縦軸に示す消費エネルギーＥ１は、測定レンジＲＭＡＸが十分に大きい加速度センサを用いた場合に得られる本来の消費エネルギーを示す（ｋｃａｌ/分）。図９Ａに示すように、本来の消費エネルギーＥ１が増えるほど、補正前の消費エネルギーＥＥが実線から遠ざかるように分布している。このことは、両者の間の相関が小さいことを意味する。
【０１０８】
一方、図９Ｂは、補正後の消費エネルギーＥＥＣと、本来の消費エネルギーＥ１との間の関係を例示するグラフである。横軸に示す消費エネルギーＥＥＣは、補正部２８０による補正後の消費エネルギーを示す（ｋｃａｌ/分）。縦軸に示す消費エネルギーＥ１は、図９Ａと同様に、測定レンジＲＭＡＸが十分に大きい理想的な加速度センサを用いた場合に得られる消費エネルギーを示す（ｋｃａｌ/分）。図９Ａの例と比較すると、図９Ｂの例では、実際の消費エネルギーＥ１が増えても、補正後の消費エネルギーＥＥＣが実線に沿うように分布している。このことは、両者の間の相関が大きいことを意味する。補正部２８０が設けられていることにより、本来の活動量に近い活動量が得られる。
【０１０９】
なお、式（８）に示す補正後の消費エネルギーＥＥＣは、式（１）に示す補足率Ｒｅを用いて表すことができる。その詳細は、次の通りである。式（２）は、次の式（９）のように変形することができる。
Ｎ＝ＮＳＡＭＰＬＩＮＧ×ＲＳ    …（９）
【０１１０】
式（９）を式（１）に代入すると、次の式（１０）が得られる。
ＲＳ＝１−Ｒｅ      …（１０）
【０１１１】
式（１０）を式（８）に代入することにより、補正後の消費エネルギーＥＥＣは、次の式（１１）で表される。
ＥＥＣ＝［１＋（α×ＲＳ２＋βＲＳ）］×ＥＥ
＝［１＋｛α×（１−Ｒｅ）２＋β×（１−Ｒｅ）｝］×ＥＥ  …（１１）
【０１１２】
サチュレーション率ＲＳを用いる替わりに、補正部２８０は、式（１１）に示すように、補足率Ｒｅを用いて消費エネルギーＥＥを補正してもよい。
【０１１３】
４．動作
図１０Ａから図１０Ｃは、プロセッサ２０の動作を例示するフローチャートである。プロセッサ２０は、活動量算出プログラム３１０を初めて起動したとき、初期化を実行する（ステップＳ０）。第１に、プロセッサ２０は、現在の推定測定レンジＲＭＡＸｅを初期値に設定する。この初期値は、例えば、−２Ｇ以上２Ｇ以下である。初期の下限値は、例えば、−１．８Ｇ以上１．８Ｇ以下であっても差し支えはない。第２に、計数部２５０は、サチュレーション回数Ｎを０にリセットする。具体的には、計数部２５０は、サチュレーション回数ＮＸ、ＮＹ、ＮＺをリセットする。第３に、プロセッサ２０は、以下のような最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸを履歴データ３２０に設定する。
【０１１４】
Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ＝１．８Ｇ
Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ＝−１．８Ｇ
Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸ＝１．８Ｇ
Ｙ軸の負方向の最大加速度値ＡＹ＋ＭＡＸ＝−１．８Ｇ
Ｚ軸の正方向の最大加速度値ＡＺ＋ＭＡＸ＝１．８Ｇ
Ｚ軸の負方向の最大加速度値ＡＺ−ＭＡＸ＝−１．８Ｇ
【０１１５】
続いて、取得部２１０は、Ｘ軸方向の加速度値ＡＸ（ｔ）と、Ｙ軸方向の加速度値ＡＹ（ｔ）と、Ｚ軸方向の加速度値ＡＺ（ｔ）とを加速度センサ１０から取得し、これらの加速度を第１更新部２２０に出力する（ステップＳ１）。続いて、推定部２３０は、現在の推定測定レンジＲＭＡＸｅが−８Ｇ以上８Ｇ以下であるかを判定する（−８Ｇ≦ＲＭＡＸｅ≦８Ｇ）（ステップＳ２）。ステップＳ２の処理は、推定測定レンジＲＭＡＸｅの特定が必要かどうかを判定するために設けられている。図１０Ａの例では、推定測定レンジＲＭＡＸｅが−８Ｇから８Ｇの範囲になければ、加速度センサ１０の性能が十分であり、推定測定レンジＲＭＡＸｅの特定が不要であるとしている。
【０１１６】
現在の推定測定レンジＲＭＡＸｅが−８Ｇ以上８Ｇ以下である場合（ステップＳ２：ＹＥＳ）、推定測定レンジＲＭＡＸｅを特定するため、プロセッサ２０は、ステップＳ３の処理を進める。一方、現在の推定測定レンジＲＭＡＸｅが−８Ｇ以上８Ｇ以下の範囲にない場合（ＲＭＡＸｅ＜−８Ｇ、かつＲＭＡＸｅ＞８Ｇ）（ステップＳ２：ＮＯ）、推定測定レンジＲＭＡＸｅの特定は不要であるとして、プロセッサ２０は、図１０Ｂに示すステップＳ７の処理を進める。
【０１１７】
ステップＳ２の結果が肯定の場合（ＹＥＳ）、第１更新部２２０は、Ｘ軸方向の加速度値ＡＸ（ｔ）、Ｙ軸方向の加速度値ＡＹ（ｔ）およびＺ軸方向の加速度値ＡＺ（ｔ）の各々について、次の処理を実行する。ここでは、Ｘ軸方向の加速度値ＡＸ（ｔ）を例に挙げる。Ｘ軸方向の加速度値ＡＸ（ｔ）が正の値をとる場合、第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸより大きいかを判定する（ステップＳ３）。Ｘ軸方向の加速度値ＡＸ（ｔ）が負の値をとる場合、第１更新部２２０は、Ｘ軸方向の現在の加速度値ＡＸ（ｔ）がＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸより小さいかを判定する（ステップＳ３）。
【０１１８】
ステップＳ３の判定結果が肯定の場合（ステップＳ３：ＹＥＳ）、Ｘ軸方向の加速度値ＡＸ（ｔ）が正の値をとるならば、第１更新部２２０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸをＸ軸方向の現在の加速度値ＡＸ（ｔ）に更新する（ステップＳ４）。Ｘ軸方向の加速度値ＡＸ（ｔ）が負の値をとるならば、第１更新部２２０は、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸをＸ軸方向の現在の加速度値ＡＸ（ｔ）に更新する（ステップＳ４）。一方、ステップＳ３の結果が否定の場合（ステップＳ３：ＮＯ）、第１更新部２２０は、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸを加速度値ＡＸ（ｔ）に更新しないし、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸも加速度値ＡＸ（ｔ）に更新しない。Ｙ軸方向の加速度値ＡＹ（ｔ）およびＺ軸方向の加速度値ＡＺ（ｔ）に関しても、第１更新部２２０は、ステップＳ３の結果に応じて、ステップＳ４の処理と同様の処理を実行する。
【０１１９】
続いて、ステップＳ３において、推定部２３０は、最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸのうちのいずれかが更新されたかを判定する（ステップＳ５）。ステップＳ５の判定結果が肯定である場合（ＹＥＳ）、推定部２３０は、加速度センサ１０の推定測定レンジＲＭＡＸｅを特定する（ステップＳ６）。ステップＳ６の詳細については後述する。一方、ステップＳ５の結果が否定である場合（ＮＯ）、現在の推定測定レンジＲＭＡＸｅに変更がないとして、推定部２３０は、推定測定レンジＲＭＡＸｅを新たに特定しない。
【０１２０】
次に、プロセッサ２０は、図１０Ｂに示すステップＳ７の処理を進める。最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸのうちのいずれかを第１更新部２２０が更新し（ステップＳ７：ＹＥＳ）、更に推定部２３０が推定測定レンジＲＭＡＸｅを更新した場合（ステップＳ８：ＹＥ）計数部２５０は、サチュレーション回数ＮＸを０にリセットする。同様に、計数部２５０は、サチュレーション回数ＮＹを０にリセットし、サチュレーション回数ＮＺを０にリセットする（ステップＳ９）。これは、現在の推定測定レンジＲＭＡＸｅが加速度センサ１０の本来の測定レンジＲＭＡＸではないためである。一方、最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸ、ＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸのうちのいずれかを第１更新部２２０が更新したにもかかわらず（ステップＳ７：ＹＥＳ）、推定部２３０が推定測定レンジＲＭＡＸｅを更新しなかった場合（ステップＳ８：ＮＯ）、プロセッサ２０は、図１０Ｃに示すステップＳ１４の処理を進める。
【０１２１】
ステップＳ７の判定結果が否定であった場合（ステップＳ７：ＮＯ）、つまり、最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸのうちのいずれも更新されなかった場合、計数部２５０は、サチュレーション回数Ｎに関して、次の処理を実行する。ここでは、Ｘ軸方向の加速度値のサチュレーション回数ＮＸを例に挙げる。Ｘ軸方向の加速度値ＡＸ（ｔｎ）が正の値をとるとき、計数部２５０は、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）がＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸと一致するかを判定する（ステップＳ１０）。Ｘ軸方向の加速度値ＡＸ（ｔｎ）が負の値をとるとき、計数部２５０は、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）がＸ軸の負方向の最大加速度値ＡＸ−ＭＡＸと一致するかを判定する（ステップＳ１０）。Ｘ軸方向の加速度値ＡＸ（ｔｎ）が正の値をとる場合でも、負の値をとる場合でも、ステップＳ１０の結果が肯定である場合（ＹＥＳ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントする（ステップＳ１１）。
【０１２２】
ただし、ステップＳ１０の結果が否定であっても（ＮＯ）、ステップＳ１２およびＳ１３の双方の条件を満たす場合には、計数部２５０は、サチュレーション回数ＮＸをインクリメントする。具体的には、今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）が正の値をとるとき、計数部２５０は、加速度値ＡＸ（ｔｎ）が許容値Ｔ＋Ａ以上であるかを判定する（ステップＳ１２）。ステップＳ１２の結果が肯定である場合（ＹＥＳ）、計数部２５０は、前回のサンプリング時刻ｔｎ−１におけるＸ軸方向の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ＋Ａ以上であるかを判定する（ステップＳ１３）。今回のサンプリング時刻ｔｎにおけるＸ軸方向の加速度値ＡＸ（ｔｎ）が負の値をとるとき、計数部２５０は、加速度値ＡＸ（ｔｎ）が許容値Ｔ−Ａ以下であるかを判定する（ステップＳ１２）。テップＳ１２の結果が肯定である場合（ＹＥＳ）、計数部２５０は、前回のサンプリング時刻ｔｎ−１におけるＸ軸方向の加速度値ＡＸ（ｔｎ−１）が許容値Ｔ−Ａ以下であるかを判定する（ステップＳ１３）。ステップＳ１２の結果が肯定であり（ＹＥＳ）、且つステップＳ１３の結果が肯定である場合（ＹＥＳ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントする（ステップＳ１１）。
【０１２３】
ステップＳ１２の結果が否定である場合（ＮＯ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。同様に、ステップＳ１３の結果が否定である場合も（ＮＯ）、計数部２５０は、サチュレーション回数ＮＸをインクリメントしない。
【０１２４】
Ｙ軸方向の加速度値ＡＹ（ｔ）のサチュレーション回数ＮＹおよびＺ軸方向の加速度値ＡＺ（ｔ）のサチュレーション回数ＮＺに関しても、計数部２５０は、ステップＳ１０からＳ１３と同様の処理を実行する。
【０１２５】
続いて、プロセッサ２０は、ステップＳ１で取得された加速度値ＡＸ（ｔ）、ＡＹ（ｔ）およびＡＺ（ｔ）にフィルタリング処理を施す（ステップＳ１４）。フィルタリング処理は、例えば、加速度値ＡＸ（ｔ）、ＡＹ（ｔ）およびＡＺ（ｔ）からノイズ成分を除去する処理を含む。続いて、プロセッサ２０の時間判定部（図示しない）は、一定時間（例えば、１分）が経過したかを判定する（ステップＳ１５）。一定時間が経過したとプロセッサ２０の時間判定部が判定した場合（ＹＥＳ）、指標生成部２６０は、サチュレーション回数Ｎに基づいて、ユーザの活動量の信頼性を表す指標を生成する（ステップＳ１６）。活動量の信頼性を表す指標は、式（１）に示す補足率Ｒｅでもよいし、式（２）に示すサチュレーション率ＲＳでもよいし、式（４）に示す推定誤差率Ｅでもよい。あるいは、活動量の信頼性を表す指標は、補足率Ｒｅ、サチュレーション率ＲＳおよび推定誤差率Ｅのうちの任意の２つでもよいし、全てでもよい。そして、指標生成部２６０は、生成した信頼性を表す指標をタッチパネル４０に出力する。続いて、算出部２７０は、式（５）に示すユーザの消費エネルギーＥＥを用いて、ユーザの活動量を算出する（ステップＳ１７）。続いて、補正部２８０は、サチュレーション回数Ｎに基づいて、算出部２７０が算出したユーザの活動量を補正する（ステップＳＴ１８）。具体的には、補正部２８０は、式（７）を用いて、消費エネルギーＥＥを補正する。代替的に、補正部２８０は、式（１１）を用いて、消費エネルギーＥＥを補正してもよい。そして、補正部２８０は、補正した消費エネルギーＥＥＣをタッチパネル４０に出力する。ステップＳＴ１８の処理の後、プロセッサ２０は、ステップＳ１の処理に戻る。ステップＳ１５で一定時間が経過していない場合についても（ＮＯ）、プロセッサ２０は、ステップＳ１の処理に戻る。
【０１２６】
以上の説明の通り、プロセッサ２０は、活動量算出プログラム３１０を一度起動すると、ステップＳ１からＳ１８の処理を繰り返し、推定測定レンジＲＭＡＸｅを特定する。また、プロセッサ２０は、活動量を計測する処理のバックグラウンドで加速度センサ１０の推定測定レンジＲＭＡＸｅを特定する。よって、携帯端末１のユーザは、活動量を算出するアプリケーション（活動量算出プログラム３１０）を普段どおりに使うだけでよい。加速度センサ１０の推定測定レンジＲＭＡＸｅを得るためだけに、携帯端末１を振ると言った面倒な操作が不要である。
【０１２７】
以下に、図１０Ａに示すステップＳ６の処理を説明する。図１０Ｄおよび図１０Ｅは、プロセッサ２０の動作を例示するフローチャートである。推定部２３０は、最大加速度値ＡＸ＋ＭＡＸ、ＡＹ＋ＭＡＸ、ＡＺ＋ＭＡＸＡＸ−ＭＡＸ、ＡＹ−ＭＡＸ、ＡＺ−ＭＡＸの中から絶対値が最も大きい値を最大値ＡＭＡＸとして抽出する（ステップＳ６１）。
【０１２８】
推定部２３０は、最大値ＡＭＡＸが１．８Ｇ以上、かつ２．２Ｇよりも小さいかを判定する（ステップＳ６２）。ステップＳ６２の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−２Ｇ以上２Ｇ以下であると特定する（ステップＳ６３）。
【０１２９】
ステップＳ６２の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが２．２Ｇ以上、かつ３．２Ｇよりも小さいかを判定する（ステップＳ６４）。ステップＳ６４の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−３Ｇ以上３Ｇ以下であると特定する（ステップＳ６５）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の２．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６６）。判定の結果が肯定の場合（ステップＳ６６：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを２．５Ｇに更新する（ステップＳ６７）。一方、判定の結果が否定の場合（ステップＳ６６：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを２．５Ｇに更新しない。
【０１３０】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−２．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６６）。判定の結果が肯定の場合（ステップＳ６６：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−２．５Ｇに更新する（ステップＳ６７）。一方、判定の結果が否定の場合（ステップＳ６６：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−２．５Ｇに更新しない。
【０１３１】
以下、プロセッサ２０は、ステップＳ６４からＳ６７と同様の処理を繰り返す。その詳細は、次の通りである。ステップＳ６４の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが３．２Ｇ以上、かつ４．２Ｇよりも小さいかを判定する（ステップＳ６８）。ステップＳ６８の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−４Ｇ以上４Ｇ以下であると特定する（ステップＳ６９）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の３．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１０）。判定の結果が肯定の場合（ステップＳ６１０：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを３．５Ｇに更新する（ステップＳ６１１）。一方、判定の結果が否定の場合（ステップＳ６１０：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを３．５Ｇに更新しない。
【０１３２】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−３．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１０）。判定の結果が肯定の場合（ステップＳ６１０：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−３．５Ｇに更新する（ステップＳ６１１）。一方、判定の結果が否定の場合（ステップＳ６１０：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−３．５Ｇに更新しない。
【０１３３】
ステップＳ６８の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが４．２Ｇ以上、かつ５．２Ｇよりも小さいかを判定する（ステップＳ６１２）。ステップＳ６１２の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−５Ｇ以上５Ｇ以下であると推定する（ステップＳ６１３）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の４．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１４）。判定の結果が肯定の場合（ステップＳ６１４：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを４．５Ｇに更新する（ステップＳ６１５）。一方、判定の結果が否定の場合（ステップＳ６１４：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを４．５Ｇに更新しない。
【０１３４】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−４．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１４）。判定の結果が肯定の場合（ステップＳ６１４：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−４．５Ｇに更新する（ステップＳ６１５）。一方、判定の結果が否定の場合（ステップＳ６１４：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−４．５Ｇに更新しない。
【０１３５】
ステップＳ６１２の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが５．２Ｇ以上、かつ６．２Ｇよりも小さいかを判定する（ステップＳ６１６）。ステップＳ６１６の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−６Ｇ以上６Ｇ以下であると推定する（ステップＳ６１７）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の５．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１８）。判定の結果が肯定の場合（ステップＳ６１８：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを５．５Ｇに更新する（ステップＳ６１９）。一方、判定の結果が否定の場合（ステップＳ６１８：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを５．５Ｇに更新しない。
【０１３６】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−５．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６１８）。判定の結果が肯定の場合（ステップＳ６１８：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−５．５Ｇに更新する（ステップＳ６１８）。一方、判定の結果が否定の場合（ステップＳ６１８：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−５．５Ｇに更新しない。
【０１３７】
ステップＳ６１６の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが６．２Ｇ以上、かつ７．２Ｇよりも小さいかを判定する（ステップＳ６２０）。ステップＳ６２０の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−７Ｇ以上７Ｇ以下であると特定する（ステップＳ６２１）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の６．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２２）。判定の結果が肯定の場合（ステップＳ６２２：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを６．５Ｇに更新する（ステップＳ６２３）。一方、判定の結果が否定の場合（ステップＳ６２２：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを６．５Ｇに更新しない。
【０１３８】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−６．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２２）。判定の結果が肯定の場合（ステップＳ６２２：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−６．５Ｇに更新する（ステップＳ６２３）。一方、判定の結果が否定の場合（ステップＳ６２２：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−６．５Ｇに更新しない。
【０１３９】
ステップＳ６２０の結果が否定の場合（ＮＯ）、推定部２３０は、最大値ＡＭＡＸが７．２Ｇ以上、かつ８．２Ｇよりも小さいかを判定する（ステップＳ６２４）。ステップＳ６２４の結果が肯定の場合（ＹＥＳ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−８Ｇ以上８Ｇ以下であると特定する（ステップＳ６２５）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の７．５Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２６）。判定の結果が肯定の場合（ステップＳ６２６：ＹＥＳ）、推定部２３０は、その最大加速度値ＡＮＭＡＸを７．５Ｇに更新する（ステップＳ６２７）。一方、判定の結果が否定の場合（ステップＳ６２６：ＮＯ）、推定部２３０は、その最大加速度値ＡＮＭＡＸを７．５Ｇに更新しない。
【０１４０】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−７．５Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２６）。判定の結果が肯定の場合（ステップＳ６２６：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−７．５Ｇに更新する（ステップＳ６２７）。一方、判定の結果が否定の場合（ステップＳ６２６：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−７．５Ｇに更新しない。
【０１４１】
ステップＳ６２４の結果が否定の場合（ＮＯ）、推定部２３０は、推定測定レンジＲＭＡＸｅが−８Ｇより小さく、８Ｇより大きいと推定する（ステップＳ６２８）。続いて、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の正方向の最大加速度値ＡＸ＋ＭＡＸ、Ｙ軸の正方向の最大加速度値ＡＹ＋ＭＡＸおよびＺ軸の正方向の最大加速度値ＡＺ＋ＭＡＸの中に、規定値Ｔｈ＋の９．０Ｇより小さい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２９）。判定の結果が肯定の場合（ステップＳ６２９：ＹＥＳ）、第１更新部２２０は、その最大加速度値ＡＮＭＡＸを９Ｇに更新する（ステップＳ６３０）。一方、判定の結果が否定の場合（ステップＳ６２９：ＮＯ）、第１更新部２２０は、その最大加速度値ＡＮＭＡＸを９Ｇに更新しない。
【０１４２】
同様に、第２更新部２４０は、規定値テーブル３４０を参照し、Ｘ軸の負方向の最大加速度値ＡＸ−ＭＡＸ、Ｙ軸の負方向の最大加速度値ＡＹ−ＭＡＸおよびＺ軸の負方向の最大加速度値ＡＺ−ＭＡＸの中に、規定値Ｔｈ−の−９．０Ｇより大きい最大加速度値ＡＮＭＡＸがあるかを判定する（ステップＳ６２９）。判定の結果が肯定の場合（ステップＳ６２９：ＹＥＳ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−９．０Ｇに更新する（ステップＳ６３０）。一方、判定の結果が否定の場合（ステップＳ６２９：ＮＯ）、第２更新部２４０は、その最大加速度値ＡＮＭＡＸを−９．０Ｇに更新しない。
【０１４３】
以上の実施形態により、仮に誤った活動量が算出されたとしても、算出された活動量を本来の活動量であるとユーザが信頼してしまう虞がなくなる。また、加速度値のサチュレーションの発生がないと仮定した場合に得られるユーザの活動量が算出されるので、ユーザにとっては便利である。アプリケーションの開発者にとっても、携帯端末１にどのような種類の加速度センサ１０が搭載されているかに左右されないという利点がある。その上、携帯端末１に搭載されるＯＳの仕様に左右されない。例えば、あるＯＳには、加速度センサの本来の測定レンジを得るためのコマンドが用意されている。しかしながら、このコマンドによって得られた測定レンジが正確であるとは限らない。推定測定レンジＲＭＡＸｅが特定されるので、このような場合においても、本実施形態は顕著な効果を奏する。
【０１４４】
＜変形例＞
本発明の一例として実施形態を説明したが、本発明はこれに限定されるものではなく、以下に述べる各種の変形が可能である。更に、以下の例示から任意に選択された２以上の態様は、技術的に矛盾しない限り適宜併合され得る。
【０１４５】
（１）変形例１
実施形態では、図１０Ｃに示すように、ステップＳ１６で指標生成部２６０がユーザの活動量の信頼性を表す指標を生成した後に、ステップＳ１７で算出部２７０がユーザの活動量を算出する。続いて、ステップＳ１８で補正部２８０がユーザの活動量を補正する。代替的に、ステップＳ１６の処理は、ステップＳ１８の処理の後でもよい。つまり、補正部２８０がユーザの活動量を補正した後に、指標生成部２６０がユーザの活動量の信頼性を表す指標を通知してもよい。変形例１においても、実施形態と同様の効果が得られる。
【０１４６】
（２）変形例２
実施形態では、図１０Ｃに示すように、ステップＳ１４でプロセッサ２０が３軸方向の加速度値ＡＸ（ｔ）、ＡＹ（ｔ）およびＡＺ（ｔ）にフィルタリング処理を施す。代替的に、取得部２１０がステップＳ１４の処理をステップＳ１で実行してもよい。つまり、取得部２１０が３軸方向の加速度値ＡＸ（ｔ）、ＡＹ（ｔ）およびＡＺ（ｔ）にフィルタリング処理を施し、ノイズが除去されたこれらの加速度値を第１更新部２２０に出力してもよい。変形例２においても、実施形態と同様の効果が得られる。
【０１４７】
（３）変形例３
実施形態では、図１０Ａに示すように、ステップＳ２の結果が否定である場合（ＮＯ）、推定測定レンジＲＭＡＸｅを推定するため、プロセッサ２０は、ステップＳ３の処理を進める。代替的に、ステップＳ２の結果が否定である場合（ＮＯ）、本来の測定レンジＲＭＡＸが既に推定されているとして、プロセッサ２０がステップＳ１４の処理を進めてもよい。この場合、プロセッサ２０は、ステップＳ３からステップＳ１３にかけての処理を実行しなくてもよい。変形例３においても、実施形態と同様の効果が得られる上、活動量算出プログラム３１０の処理速度が向上する。
【０１４８】
（４）変形例４
実施形態では、プロセッサ２０は、ステップＳ１からＳ１８の処理を繰り返す。よって、アプリケーション（活動量算出プログラム３１０）の終了命令をプロセッサ２０が受け付けると、その時点で、現在の推定測定レンジＲＭＡＸｅが消去されることとなる。上述の終了命令の後も、最後に特定された推定測定レンジＲＭＡＸｅから処理を再開できるように、プロセッサ２０の機能（活動量算出プログラム３１０）が構成されていてもよい。例えば、ステップ６で特定した推定測定レンジＲＭＡＸｅを推定部２３０が不揮発性記憶装置に格納しておく。アプリケーション（活動量算出プログラム３１０）が復帰したとき、ステップＳ０で、プロセッサ２０は、現在の推定測定レンジＲＭＡＸｅの下限値を最後に特定した推定測定レンジＲＭＡＸｅに設定する。
【０１４９】
（５）変形例５
活動量の信頼性を表す指標の1つとして、推定される測定レンジＲＭＡＸを推定部２３０がタッチパネル４０に表示してもよい。測定レンジＲＭＡＸの表示は、携帯端末１のユーザあるいはアプリケーション（活動量算出プログラム３１０）の開発者にとって有意義である。
【０１５０】
（６）変形例６
実施形態では、Ｘ軸方向の加速度値ＡＸ（ｔ）が正の値をとる場合に着目すると、今回のサンプリング時刻ｔｎにおいてＸ軸の正方向の最大加速度値ＡＸ＋ＭＡＸが更新されず、且つ、今回のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸに一致した場合、計数部２５０は、サチュレーションが発生したと推定し、サチュレーション回数ＮＸをインクリメントする。代替的に、最大加速度値ＡＸ＋ＭＡＸと同じ大きさの加速度値ＡＸ（ｔｎ）が連続するひとつの期間を１回のサチュレーションとして計数部２５０が計数してもよい。例えば、実施形態と同様に、今回のサンプリング時刻ｔｎにおいてＸ軸の正方向の最大加速度値ＡＸＭＡＸが更新されず、且つ、今回のサンプリング時刻ｔｎにおける加速度値ＡＸ（ｔｎ）が最大加速度値ＡＸ＋ＭＡＸに一致した場合に、計数部２５０は、フラグを立てる。その後、加速度値ＡＸが最大加速度値ＡＸ＋ＭＡＸに一致しなくなった場合に、そのフラグを下げて、サチュレーション回数ＮＸをインクリメントする。Ｙ軸方向のサチュレーション回数ＮＹ、およびＺ軸方向のサチュレーション回数ＮＺに関しても、同様である。変形例６においても、実施形態と同様の効果が得られる。
【符号の説明】
【０１５１】
１…携帯端末、１０…加速度センサ、２０…プロセッサ、３０…記憶装置、４０…タッチパネル、５０…通信部、２１０…取得部、２２０…第１更新部、２３０…推定部、２４０…第２更新部、２５０…計数部、２６０…指標生成部、２７０…算出部、２８０…補正部、３１０…活動量算出プログラム、３２０…履歴データ、３３０…条件テーブル、３４０…規定値テーブル。
【図１】
2018102490.tif 000003
【図２】
2018102490.tif 000004
【図３】
2018102490.tif 000005
【図４】
2018102490.tif 000006
【図５】
2018102490.tif 000007
【図６Ａ】
2018102490.tif 000008
【図６Ｂ】
2018102490.tif 000009
【図７】
2018102490.tif 000010
【図８】
2018102490.tif 000011
【図９Ａ】
2018102490.tif 000012
【図９Ｂ】
2018102490.tif 000013
【図１０Ａ】
2018102490.tif 000014
【図１０Ｂ】
2018102490.tif 000015
【図１０Ｃ】
2018102490.tif 000016
【図１０Ｄ】
2018102490.tif 000017
【図１０Ｅ】
2018102490.tif 000018