(57)【要約】【課題】各種活動のデータに目的やデータ特性に応じた処理を行なう。【解決手段】活動記録データ処理装置が提供される。この装置は、演算部により、一連の活動に対して得られたデータと、これと関連付けられた、一連の活動における行動推定情報とを取得して、行動推定情報に基づいて、データから対象とすべき対象行動データを抽出して、抽出した対象行動データに対してクラスタリングを行なう。【選択図】図２９
2019028919.tif 000002
【特許請求の範囲】
【請求項１】
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得して、
前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出して、
前記対象行動データに対してクラスタリングを行なう演算部を具備する、活動記録データ処理装置。
【請求項２】
前記クラスタリングは、前記対象行動データに対して平均と標準偏差とを算出し、所定数で分割し、分割した前記対象行動データをラベリングすることによって行なわれる、請求項１に記載の活動記録データ処理装置。
【請求項３】
前記データは、最小分割幅の情報が関連付けられており、
前記クラスタリングは、前記所定数での分割における分割幅が設定され、前記分割幅は、前記最小分割幅以上である、請求項２に記載の活動記録データ処理装置。
【請求項４】
前記一連の活動は、サイクリングであり、前記データは、速度と、前傾角と、ギア値と、ケイデンスと、高度と、温度と、勾配と、横方向き角との少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の活動記録データ処理装置。
【請求項５】
前記データと関連付けられた、前記一連の活動における行動推定情報は、シッティング、ダンシング、慣性走行、歩行、停止の少なくとも１つを含む、請求項４に記載の活動記録データ処理装置。
【請求項６】
前記一連の活動は、トレッキングであり、前記データは、速度と、高度と、温度と、斜度との少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の活動記録データ処理装置。
【請求項７】
前記データと関連付けられた、前記一連の活動における行動推定情報は、歩行、走行、乗り物、停止の少なくとも１つを含む、請求項６に記載の活動記録データ処理装置。
【請求項８】
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得することと、
前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出することと、
前記対象行動データに対してクラスタリングを行なうことと、を含む、活動記録データ処理方法。
【請求項９】
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得することと、
前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出することと、
前記対象行動データに対してクラスタリングを行なうことと、をコンピュータに実行させる、活動記録データ処理のためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、活動記録データ処理装置、活動記録データ処理方法及び活動記録データ処理プログラムに関する。
【背景技術】
【０００２】
従来、サイクリング時の各種データを記録するサイクリング用のデータロガーとして、所謂、サイクルコンピュータ、サイクロコンピュータ（「サイクル」と「マイクロコンピュータ」を組み合わせた造語）と呼称される機器が利用されている。
【０００３】
この種のサイクルコンピュータは、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）受信部や、スピードセンサ、ケイデンスセンサ等の各種センサを備え、サイクリング中の移動軌跡や各種センサのデータを記録できる。
【０００４】
上述したような機器で取得・解析したデータを目的に応じて適切な形に加工することは、一般的に重要なことである。例えば、特許文献１には、モバイル機器で取得したワークアウトに関するデータが、ユーザが設定した閾値に基づいて区分され、複数の色で適宜色分けされてユーザに視覚的に伝えられることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１３−５４３１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、ワークアウトに関して取得したデータが色分け加工される。しかしながら、各種活動のデータにどのような加工を行なうかは、目的やデータ特性に応じて様々であり、一律ではない。
【０００７】
そこで、本発明は、各種活動のデータに目的やデータ特性に応じた処理を行なうことができる活動記録データ処理装置、活動記録データ処理方法及び活動記録データ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態は、一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得して、前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出して、前記対象行動データに対してクラスタリングを行なう演算部を具備する、活動記録データ処理装置である。
【発明の効果】
【０００９】
本発明によれば、各種活動のデータに目的やデータ特性に応じた処理を行なうことができる活動記録データ処理装置、活動記録データ処理方法及び活動記録データ処理プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るウェアラブルデバイスのサイクリング時の使用環境を例示する図。
【図２Ａ】本発明の一態様における実施形態に係るウェアラブルデバイスの電子回路の機能構成を示すブロック図。
【図２Ｂ】本発明の他の態様における実施形態に係るウェアラブルデバイス及び外部機器の電子回路の機能構成を示すブロック図。
【図３】同実施形態に係るメインルーチンの処理内容を示すフローチャートである。
【図４】同実施形態に係る軸補正の処理を説明する図。
【図５】同実施形態に係る図３の行動・ケイデンス推定（Ｍ１０５）のサブルーチンのフローチャート。
【図６】同実施形態に係る図５のシッティング判定（Ｓ１１５，Ｓ１２０）のサブルーチンのフローチャート。
【図７】同実施形態に係る図６のシッティング判定１（Ｓ２０１）のサブルーチンの詳細な処理内容を示すフローチャート。
【図８】同実施形態に係る３人のサイクリストそれぞれのシッティング時のジャイロセンサのｙ軸方向の出力ＧｙｒＹの変化の程度を例示する図。
【図９】同実施形態に係る分散と自己共分散との境界線ＢＤによる線形分離の例を示す図。
【図１０】同実施形態に係る図６のシッティング判定２（Ｓ２０４）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１１】同実施形態に係る図１０のジャイロセンサ出力に対する極値間補正（Ｓ２２２）の内容を例示する図。
【図１２】同実施形態に係る図６のシッティング判定３（Ｓ２０７）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１３】同実施形態に係る加速度センサのｙ軸方向の出力ＡｃｃＹの検出波形を例示する図。
【図１４】同実施形態に係る図５、図７、図１０、図１２のケイデンス推定（Ｓ１０２，Ｓ２１１，Ｓ２２１，Ｓ２３１）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１５】同実施形態に係る自己相関係数に現出する、ノイズによる高周波の極大値を例示する図。
【図１６】同実施形態に係る図５の第１のケイデンス値のセット（ケイデンスセット（１）（Ｓ１１１）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１７】同実施形態に係る図５の第２のケイデンスセット（Ｓ１１８，Ｓ１２３）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１８】同実施形態に係る図５のケイデンス値の更新（ケイデンスセット（２）（Ｓ１２７）のサブルーチンの詳細な処理内容を示すフローチャート。
【図１９】同実施形態に係る図１８のケイデンス安定化（Ｓ６０２）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２０】同実施形態に係る図３の軌跡推定（Ｍ１０７）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２１】同実施形態に係る図２０のギア値／歩幅更新（Ｓ７０３）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２２】同実施形態に係る路面状況に応じた加速度波形を例示する図。
【図２３】同実施形態に係る図２０のデッドレコニング（Ｓ７０４）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２４】同実施形態に係る図２３の地磁気の信頼度推定（Ｓ７３４）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２５】同実施形態に係る地磁気に対する外乱の影響を説明する図。
【図２６】同実施形態に係る図３のカロリー推定（Ｍ１０９）のサブルーチンの詳細な処理内容を示すフローチャート。
【図２７】同実施形態に係るシッティング及びダンシング時と歩行時のＭＥＴｓ値の特性を例示する図。
【図２８】同実施形態に係るサイクリストのポジションと、ウェアラブルデバイスの取付位置の高さとに応じた前傾角の推定内容を例示する図。
【図２９】同実施形態に係る図３のクラスタリング（Ｍ１１２）のサブルーチンの詳細な処理内容を示すフローチャート。
【図３０】同実施形態に係るクラスタリングで用いる参照テーブルの内容を例示する図。
【図３１】同実施形態に係る図３のパワー推定（Ｍ１１３）のサブルーチンの詳細な処理内容を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明をウェアラブルデバイスに適用した場合の一実施形態について、図面を参照して詳細に説明する。  
本実施形態においては、特にサイクリングやトレッキング、トレイルランニング等のアウトドアスポーツに特化したウェアラブルデバイスに適用した場合について説明する。
【００１２】
図１は、自転車ＢＣに乗ってサイクリングを行なうサイクリストＣＬが、ウェアラブルデバイス１０を装着した状態を例示するものである。サイクリストＣＬは、ウェアラブルデバイス１０を、腰部の背面側中央に位置させるべく、例えばサイクルパンツのベルト部分にウェアラブルデバイス１０の本体に付属したクリップにより装着する。
【００１３】
図２Ａは、本発明の一態様における上記ウェアラブルデバイス１０の電子回路の機能構成を示すブロック図である。同図において、このウェアラブルデバイス１０は、ＣＰＵ１１、メインメモリ１２、及びプログラムメモリ１３からなるコントローラＣＮＴを中心として動作する。
【００１４】
ここでＣＰＵ１１が、フラッシュメモリ等の不揮発性メモリで構成されるプログラムメモリ１３に記憶されている動作プログラムや各種固定データ等を読み出し、ＳＲＡＭ等で構成されるメインメモリ１２に展開して保持させた上で、その動作プログラムを順次実行することで、後述する動作等を統括して制御する。もちろん、ＣＰＵ以外のプロセッサ、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等が用いられてもよい。
【００１５】
このＣＰＵ１１、メインメモリ１２、及びプログラムメモリ１３に対し、バスＢを介して、通信インタフェイス（Ｉ／Ｆ）１４、ＧＰＳ受信部１５、操作部１６、メモリカード１７、及びセンサインタフェイス（Ｉ／Ｆ）１８が接続される。
【００１６】
通信インタフェイス１４は、アンテナ１９を用いて、例えばＩＥＥＥ８０２．１１ａ／１１ｂ／１１ｇ／１１ｎ規格による無線ＬＡＮ技術、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＬＥ（Ｌｏｗ  Ｅｎｅｒｇｙ）による近距離無線通信技術等を用いて、外部の図示しないスマートフォンやパーソナルコンピュータ（ＰＣ）、デジタルカメラ等の機器とデータ通信を行なう回路である。
【００１７】
ＧＰＳ受信部１５は、ＧＰＳアンテナ２０を用いて、図示しない複数のＧＰＳ衛星からの到来電波を受信し、現在位置の絶対的な３次元座標位置（緯度／経度／高度）と現在時刻とを算出する。
【００１８】
なお上記ＧＰＳアンテナ２０及びＧＰＳ受信部１５は、上記ＧＰＳ以外の衛星測位システム、例えばＧＬＯＮＡＳＳ（ＧＬＯｂａｌ  ＮＡｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）や我が国の地域航法衛星システムである準天頂衛星システムＱＺＳＳ（Ｑｕａｓｉ−Ｚｅｎｉｔｈ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）等にも対応して、それらの衛星からの到来電波も受信し、より高い精度で現在位置の３次元座標と現在時刻とを算出できるものでも良い。
【００１９】
その場合、下記動作時の説明においてＧＰＳ測位を行なうと記述した際には、上記ＧＰＳ以外の衛星測位システムによる測位動作も合わせて実行するものとする。
【００２０】
操作部１６は、このウェアラブルデバイス１０に設けられた、電源キーや活動内容をセットするセットキー、計測のスタート／エンドを指示するキー等の操作を受付け、上記ＣＰＵ１１へ操作キー信号を送信する。
【００２１】
メモリカード１７は、カードスロットＣＳを介してこのウェアラブルデバイス１０に着脱自在に設けられるもので、外部の機器等との無線接続ができない状態でも、このウェアラブルデバイス１０で検出した各種データを記録するために装着される。
【００２２】
センサインタフェイス１８は、例えば加速度センサ２１、ジャイロセンサ２２、地磁気センサ２３、気圧センサ２４、温度センサ２５、及び心拍センサ２６を接続し、各センサの検出出力を受付けてデジタルデータ化し、上記ＣＰＵ１１へ送出する。
【００２３】
加速度センサ２１は、互いに直交する３軸に沿ったそれぞれの加速度を検出することで、このウェアラブルデバイス１０を装着しているメンバーの姿勢（重力加速度方向を含む）と与えられる外力の方向とを検出する。
【００２４】
ジャイロセンサ２２は、互いに直交する３軸に沿ったそれぞれの角速度を検出する、振動型ジャイロスコープで構成され、このウェアラブルデバイス１０の姿勢変化の度合いを検出する。振動型ジャイロスコープ以外の他の角速度センサであってもよい。
【００２５】
地磁気センサ２３は、互いに直交する３軸に沿ったそれぞれの磁北方向に対する地磁気強度を検出する、磁気抵抗効果素子（ＭＲセンサ）で構成され、磁北方向を含めてこのウェアラブルデバイス１０が移動している方位を検出する。
【００２６】
上記加速度センサ２１、ジャイロセンサ２２、及び地磁気センサ２３の各検出出力を組み合わせることにより、上記ＧＰＳアンテナ２０、ＧＰＳ受信部１５による現在位置の絶対値を検出できない、屋内、トンネル内などの環境下でも、３次元空間内での自律航法（デッドレコニング（ＤＲ））に基づく、方位を考慮した行動軌跡を得ることができる。
【００２７】
気圧センサ２４は、気圧を検出することで、気圧状態の変化を検出すると共に、上記ＧＰＳ受信部１５の出力から得られる高度情報と組み合わせて、その後にＧＰＳ測位ができなくなった場合の高度の推定にも利用できる。
【００２８】
温度センサ２５は、温度を検出する。
【００２９】
心拍センサ２６は、このウェアラブルデバイス１０を装着するサイクリストＣＬが左胸部に装着した心電検出素子（不図示）からの検出信号を受けて、サイクリストＣＬの心拍を検出する。
【００３０】
図２Ｂは、本発明の他の態様における上記ウェアラブルデバイス１０及び外部機器３０の電子回路の機能構成を示すブロック図である。同図において、ウェアラブルデバイス１０は、図２Ａに示すものと同様であるため、その説明は省略する。
【００３１】
外部機器３０は、スマートフォン、ＰＣなどの電子機器である。外部機器３０は、ＣＰＵ３１、メインメモリ３２、及びプログラムメモリ３３からなるコントローラＣＮＴ１を中心として動作する。
【００３２】
ここでＣＰＵ３１が、フラッシュメモリ等の不揮発性メモリで構成されるプログラムメモリ３３に記憶されている動作プログラムや各種固定データ等を読み出し、ＳＲＡＭ等で構成されるメインメモリ３２に展開して保持させた上で、その動作プログラムを順次実行することで、後述する動作等を統括して制御する。もちろん、ＣＰＵ以外のプロセッサ、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等が用いられてもよい。
【００３３】
このＣＰＵ３１、メインメモリ３２、プログラムメモリ３３、さらにディスプレイ３４に対し、バスＢ１を介して、通信インタフェイス（Ｉ／Ｆ）３５が接続される。通信インタフェイス３５は、アンテナ３６を用いて、上述の近距離無線通信技術等によりウェアラブルデバイス１０とデータ通信を行う回路である。すなわち、ウェアラブルデバイス１０の通信インタフェイス１４が、アンテナ１９、３６を介して、外部機器３０の通信インタフェイス３５とデータ通信を行う。
【００３４】
次に本実施形態の動作について説明する。  
ここでは、ウェアラブルデバイス１０を装着したサイクリストＣＬが、サイクリングに際して、動作モードを「サイクリング」にセットした上で計測を開始し、サイクリングを終えた時点で計測を終了し、その後に当該サイクリングの行程解析を行なう間での一連の処理について説明する。
【００３５】
例えば、図２Ａに示すウェアラブルデバイス１０は、計測から解析までの一連の処理を実行可能である。また、図２Ｂに示すウェアラブルデバイス１０は、計測から解析までの一連の処理の一部を実行し、残りの処理をスマートフォンやＰＣ等の外部機器３０が実行する。
【００３６】
以下では、図２Ａに示すウェアラブルデバイス１０が計測から解析までの一連の処理を実行するものとして説明する。
【００３７】
図３は、ＣＰＵ１１が実行するメインルーチンの処理内容を示すフローチャートである。その処理当初、ＣＰＵ１１は操作部１６のスタート／エンドキーの操作に基づいて処理を開始し、計測動作が継続中であることを確認した上で（ステップＭ１０１のＹｅｓ）、センサインタフェイス１８を介して加速度センサ２１、ジャイロセンサ２２、地磁気センサ２３、気圧センサ２４、温度センサ２５、及び心拍センサ２６の各検出データを取得する（ステップＭ１０２）。
【００３８】
この各種センサによる計測動作は、予め設定された時間間隔（これを解析周期と定義する）、例えば１［秒］毎に１回の頻度で実行し、センサデータを即時メモリカード１７に記録すると共に、基本的に過去５［秒］分のセンサデータに基づいて以下の動作を実行する。
【００３９】
まずＣＰＵ１１は、加速度センサ２１、ジャイロセンサ２２、及び地磁気センサ２３の出力により軸補正の処理を実行する（ステップＭ１０３）。  
図４は、この軸補正の処理を説明する図である。図４（Ａ）には、軸補正前のｙ軸方向及びｚ軸方向が示されている。すなわち、図４（Ａ）に示すように、ウェアラブルデバイス１０を装着したサイクリストＣＬの腰部の傾斜角度分だけ、本来鉛直方向と平行となるべきｚ軸方向、及び、サイクリストＣＬの進行方向と平行となるべきｙ軸方向が傾斜している。
【００４０】
そのため、加速度センサ２１で得られる重力加速度の方向に基づいて、図４（Ｂ）−１、図４（Ｂ）−２に示すように、反重力方向をｚ軸の正方向、サイクリストＣＬの進行方向と反対の方向をｙ軸の正方向、サイクリストＣＬの進行方向と直交する左方向をｘ軸の正方向となるように、加速度センサ２１の検出データを補正する。ここでのｘ軸方向及びｙ軸方向は、サイクリストＣＬが向いている方向を正面として設定した方向である。
【００４１】
このように、各種センサから検出される、図４（Ａ）に示す各軸が、図４（Ｂ）に示すように補正される。本実施形態では、各軸が図４（Ｂ）に示すように定義される。
【００４２】
加えて、ｘ，ｙ，ｚの各軸の正方向に対し、各角速度は、原点位置から見てその右回りが正となる角速度となるように、ジャイロセンサ２２の検出データを補正する。
【００４３】
上記軸補正の処理後、ＣＰＵ１１は各センサのデータに対し、ローパスフィルタ処理、及び外れ値除去の処理によりノイズ成分を低減する（ステップＭ１０４）。
【００４４】
こうして軸補正、及びノイズ成分の低減を行なったセンサデータを用いて、ＣＰＵ１１は、サイクリストＣＬの行動とケイデンスとを推定する（ステップＭ１０５）。
【００４５】
ここで行動推定とは、各種センサの検出したデータに基づいて、サイクリング時におけるサイクリストＣＬの一定時間継続した動作を推定することである。本実施形態では、行動推定により以下の５つの行動のいずれかに分類する。すなわち、
・シッティング：自転車ＢＣのサドルに座ってペダルを漕いでいる状態  
・ダンシング：サドルから立ってペダルを漕いでいる状態  
・慣性走行：ペダルを漕がずに慣性で進んでいる状態  
・歩行：自転車を降りて歩いている状態（押し歩きを含む）  
・停止：上記以外の行動。主に止まっている状態を想定。
【００４６】
またケイデンス推定とは、上記行動の内、シッティング、ダンシング、歩行の３つについて、単位時間（通常は１分）当たりの自転車ＢＣのクランクペダルの回転数（シッティング、及びダンシングの場合）、または歩数（歩行の場合）を推定することである。
【００４７】
図５は、上記ステップＭ１０５の行動・ケイデンス推定の詳細な処理内容を示すサブルーチンのフローチャートである。その当初にＣＰＵ１１は、初期設定として、積算更新用ケイデンスの値、及び最大更新用ケイデンスの値を共に無効値に設定する（ステップＳ１０１）。
【００４８】
次にＣＰＵ１１は、ステップＳ１０２〜Ｓ１１０の行動判定１の処理を実行する。この行動判定１においては、行動が「ダンシングまたは歩行」であるか、またはそれら以外であるかを判定する。すなわち、ダンシング及び歩行においては、サイクリストＣＬの腰が周期的に上下に動くために、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの周期性が顕著に見られるものとなるので、判定に出力ＡｃｃＺが用いられる。
【００４９】
その当初にＣＰＵ１１は、詳細を後述するケイデンス推定の処理を実行して、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの自己相関係数を算出する（ステップＳ１０２）。
【００５０】
次にＣＰＵ１１は、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの分散が、第１の閾値Ｔｈ１、例えば１．４より大きく、且つ加速度センサ２１のｚ軸方向の出力ＡｃｃＺの自己相関係数が、第２の閾値Ｔｈ２、例えば０．４７より大きいか否かにより、路面からの振動などの小さな振幅をノイズとして除去した上で上記行動判定１を実行する（ステップＳ１０３）。
【００５１】
上記ステップＳ１０３において、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの分散が第１の閾値Ｔｈ１より大きく、且つ同出力ＡｃｃＺの自己相関係数が第２の閾値Ｔｈ２より大きく、行動がダンシングまたは歩行であると判定した場合（ステップＳ１０３のＹｅｓ）、ＣＰＵ１１は移動速度の情報が信頼できる否かを判断する（ステップＳ１０４）。なお、詳細は後述するが、ＧＰＳ測位情報の信頼度が高い場合を移動速度の情報が信頼できる場合とする。
【００５２】
ここで、移動速度の情報が安定して得られており、信頼できると判断した場合（ステップＳ１０４のＹｅｓ）、次にＣＰＵ１１は、その速度が第３の閾値Ｔｈ３、例えば２．４［ｍ／秒］より小さく、且つ加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４、例えば２．０より大きいか否かにより、移動速度が一定値より小さく、且つ進行方向の加速度の分散が大きいために、歩行、特に足の着知時の衝撃（ブレーキショック）があるか否かを判断する（ステップＳ１０５）。
【００５３】
ここで移動速度が第３の閾値Ｔｈ３より小さく、且つ加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４より大きいため、移動速度が一定値より小さく、進行方向の加速度の分散が大きいと判断した場合（ステップＳ１０５のＹｅｓ）、ＣＰＵ１１はその時点での行動を歩行であるものと判定し（ステップＳ１０６）、以上で行動判定１の処理を終える。
【００５４】
また上記ステップＳ１０５において、移動速度が第３の閾値Ｔｈ３以上であるか、または加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４以下であるため、移動速度が一定値以上であるか、または進行方向の加速度の分散が小さいと判断した場合（ステップＳ１０５のＮｏ）、ＣＰＵ１１はその時点での行動をダンシングであるものと判定し（ステップＳ１０７）、以上で行動判定１の処理を終える。
【００５５】
さらに上記ステップＳ１０４において、移動速度の情報が安定して得られておらず、信頼できないと判断した場合（ステップＳ１０４のＮｏ）、次にＣＰＵ１１は、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４、例えば２．０より大きいか否かの判断のみにより、進行方向の加速度の分散が大きいために、歩行の特に足の着知時の衝撃（ブレーキショック）があるか否かを判断する（ステップＳ１０８）。
【００５６】
ここで加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４より大きいため、進行方向の加速度の分散が大きいと判断した場合（ステップＳ１０８のＹｅｓ）、ＣＰＵ１１はその時点での行動を歩行であるものと判定し（ステップＳ１０９）、以上で行動判定１の処理を終える。
【００５７】
また上記ステップＳ１０８において、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの分散が第４の閾値Ｔｈ４以下であり、進行方向の加速度の分散が小さいと判断した場合（ステップＳ１０８のＮｏ）、ＣＰＵ１１はその時点での行動をダンシングであるものと判定し（ステップＳ１１０）、以上で行動判定１の処理を終える。
【００５８】
そして、上記ステップＳ１０６，Ｓ１０７，Ｓ１０９，Ｓ１１０での行動判定の処理後、ＣＰＵ１１は、ダンシングまたは歩行に応じた第１のケイデンス値のセット（ケイデンスセット（１））を行なう（ステップＳ１１１）。この第１のケイデンス値のセットの詳細な処理内容は後述する。
【００５９】
また上記ステップＳ１０３において、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの分散が第１の閾値Ｔｈ１以下であるか、同出力ＡｃｃＺの自己相関係数が第２の閾値Ｔｈ２以下であるかの少なくとも一方であり、行動がダンシングと歩行のいずれでもないと判定した場合（ステップＳ１０３のＮｏ）、ＣＰＵ１１は移動速度の情報が信頼できる否かを判断する（ステップＳ１１２）。なお、詳細は後述するが、ＧＰＳ測位情報の信頼度が高い場合を移動速度の情報が信頼できる場合とする。
【００６０】
ここで、移動速度の情報が安定して得られており、信頼できると判断した場合（ステップＳ１１２のＹｅｓ）、次にＣＰＵ１１は、その速度が第５の閾値Ｔｈ５、例えば０．６４［ｍ／秒］より小さいか否かにより、行動が停止であるか否かを判断する（ステップＳ１１３）。
【００６１】
ここで移動速度が第５の閾値Ｔｈ５より小さいと判断した場合（ステップＳ１１３のＹｅｓ）、ＣＰＵ１１はその時点での行動を停止であるものと判定し（ステップＳ１１４）、以上で行動判定２の処理を終える。
【００６２】
このように、信頼できる移動速度が一定値より小さい場合には、サイクリストＣＬが自転車ＢＣを止めて体操を行なう場合などの定義不能な詳細な行動を考慮するものとして、停止中の予想できない動きをシッティングや慣性走行と誤判定してしまう可能性を極力回避するものとしている。
【００６３】
また上記ステップＳ１１３において、移動速度が第５の閾値Ｔｈ５以上であると判断した場合（ステップＳ１１３のＮｏ）、ＣＰＵ１１はステップＳ１１５〜Ｓ１１９の行動判定３に移行し、慣性走行とシッティングの判定を行なう。
【００６４】
この行動判定３において、ＣＰＵ１１は以下に示すシッティング判定を実行する（ステップＳ１１５）。
【００６５】
図６は、このシッティング判定のサブルーチンの詳細な処理内容を示すフローチャートである。まずＣＰＵ１１は、シッティング判定１により、シッティング時の特徴であるジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺに周期性があるか否かにより、シッティングであるかどうかを判定する（ステップＳ２０１）。
【００６６】
図７は、このシッティング判定１のサブルーチンの詳細な処理内容を示すフローチャートである。ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺを用いる理由は、個人差はあるが、サイクリストＣＬがペダルを漕ぐ際の腰の回転運動が、ｙ軸方向とｚ軸方向の何れか、または双方に現出し易いためである。
【００６７】
ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺの周期性の検出方法について述べる。
【００６８】
図８は、３人のサイクリストＣＬ、ＣＬ−Ａ，ＣＬ−Ｂ，ＣＬ−Ｃそれぞれのシッティング時のジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの変化の程度を例示するものである。このように、シッティング動作には個人毎の動きの大小の差が大きく、分散と自己相関係数の独立な閾値により周期性の有無を判断するのみでシッティング判定をするのは不十分である。
【００６９】
そのため、図９に示すように、分散と自己共分散との境界線ＢＤによる線形分離により、周期性の有無を判断する。
【００７０】
ここで自己相関係数ではなく、自己共分散を利用する理由は、自己相関係数が、自己共分散を分散で除算したものであり、分散の影響が二重になるのを防ぐためである。
【００７１】
これにより、サイクリストＣＬの腰の動きが小さい（＝分散が小さい）シッティング動作であっても、その分散に相当する自己共分散があるかどうかを判断することで、周期性を検出することができる。
【００７２】
また、上記図９のように、線形分離に加えて、ある一定以下の小さすぎる分散である場合は、シッティングではない条件も加えるものとする。
【００７３】
図７の具体的な処理においては、まず、後述するケイデンス推定を実行する（ステップＳ２１１）。
【００７４】
その後にＣＰＵ１１は、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己相関係数が第７の閾値Ｔｈ７、例えば０．５１より大きく、且つ同出力ＧｙｒＹの分散が第８の閾値Ｔｈ８、例えば０．０１より大きいか、あるいはジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己相関係数が上記第７の閾値Ｔｈ７より大きく、且つ同出力ＧｙｒＺの分散が上記第８の閾値Ｔｈ８より大きいか、の少なくとも一方であるか否かを判断する（ステップＳ２１２）。
【００７５】
上記ステップＳ２１２の判断では、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺの振幅が十分に大きく、明確に周期性があるものを抽出することで、明らかにシッティングである場合を確定することを目的とするべく、上記第７の閾値Ｔｈ７、及び第８の閾値Ｔｈ８は大きめに設定している。
【００７６】
この条件が成立すると判断した場合には（ステップＳ２１２のＹｅｓ）、ＣＰＵ１１は行動がシッティングであるものと判定する（ステップＳ２１３）。
【００７７】
また上記ステップＳ２１２における条件が成立しないと判断した場合（ステップＳ２１２のＮｏ）、ＣＰＵ１１は、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己共分散が第９の閾値Ｔｈ９、例えば０．００１６より小さいか、または同出力ＧｙｒＹの分散が第１０の閾値Ｔｈ１０、例えば０．００４７より小さく、且つ、ジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己共分散が上記第９の閾値Ｔｈ９より小さいか、または同出力ＧｙｒＺの分散が上記第１０の閾値Ｔｈ１０より小さいかを判断する（ステップＳ２１４）。
【００７８】
上記ステップＳ２１４の判断では、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺの振幅が非常に小さく、明確に周期性が低いものを抽出することで、明らかにシッティングではない場合を確定する。そのため、第９の閾値Ｔｈ９と第１０の閾値Ｔｈ１０は、小さめに設定している。
【００７９】
この条件が成立すると判断した場合には（ステップＳ２１４のＹｅｓ）、ＣＰＵ１１は行動がシッティングではないものと判定する（ステップＳ２１５）。
【００８０】
さらに上記ステップＳ２１４における条件が成立しないと判断した場合（ステップＳ２１４のＮｏ）、ＣＰＵ１１はジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己共分散が、同出力ＧｙｒＹの分散に上記図９の境界線ＢＤの傾きａ１、例えば０．３１１３を乗算し、接点（切片）値ｂ１、例えば０．００１８を加算した値より大きいか、あるいはジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己共分散が、同出力ＧｙｒＺの分散に上記図９の境界線ＢＤの傾きａ１を乗算し、接点（切片）値ｂ１を加算した値より大きいか、の少なくとも一方であるか否かを判断する（ステップＳ２１６）。
【００８１】
上記の通り、シッティング動作時の漕ぎ方には個人差が大きく、分散に閾値を設けるのみで周期性の有無を評価することは難しい。例えば、動きが大きくて周期性が出ているサイクリスト（図８（Ｃ））もいれば、動きが中程度あるいは動きが小さくても周期性が出ているサイクリスト（図８（Ｂ）や図８（Ａ））もいる。このため、ステップＳ２１２あるいはステップＳ２１４のように分散に１つの閾値を設けるのみで周期性を判断することは難しい場合がある。これに対処するために、ステップＳ２１６では、相関係数と分散とを別々に評価するのではなく、２つを回帰したような形式で自己共分散と分散とを評価することにより、シッティング判定を行なう。
【００８２】
上記図９で示した境界線ＢＤによる線形分離を行なうことで、シッティングの判定を行なっている。上記ステップＳ２１６の条件が成立すると判断した場合（ステップＳ２１６のＹｅｓ）、ＣＰＵ１１は行動がシッティングであるものと判定する（ステップＳ２１７）。ステップＳ２１６の判断により、ステップＳ２１２、Ｓ２１４ではシッティングと判断されなかったような分散の低い場合であってもシッティングであると判定可能である。
【００８３】
また上記ステップＳ２１６の条件が成立しないと判断した場合（ステップＳ２１６のＮｏ）、ＣＰＵ１１は行動がシッティングではないものと判定する（ステップＳ２１８）。
【００８４】
上記図７のシッティング判定１の処理後、ＣＰＵ１１は上記図６の処理に戻り、上記シッティング判定１で行動がシッティングであると判定したかどうかを判断する（ステップＳ２０２）。
【００８５】
ここで行動がシッティングであると判定した場合（ステップＳ２０２のＹｅｓ）、あらためて行動がシッティングであるものとし（ステップＳ２０３）、合わせて同判定の信頼性が高いものとして、ケイデンス判定で得られたケイデンスを最大ケイデンスの算出にも利用するものとする。
【００８６】
また上記ステップＳ２０２において、行動がシッティングではないと判定したと判断した場合（ステップＳ２０２のＮｏ）、ＣＰＵ１１は続いてシッティング判定２を実行する（ステップＳ２０４）。
【００８７】
図１０は、このシッティング判定２における詳細な処理内容を示すサブルーチンのフローチャートである。ＣＰＵ１１は、まず、後述するケイデンス推定を実行する（ステップＳ２２１）。
【００８８】
その後にＣＰＵ１１は、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹと同ｚ軸方向の出力ＧｙｒＺ、双方の極値間補正を行なう（ステップＳ２２２）。
【００８９】
図１１（Ａ）−１は、シッティング時における補正前のジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹを例示するものであり、同ｙ軸方向の出力ＧｙｒＹの極値間の中間位置を０（ゼロ）に補正した結果を図１１（Ａ）−２に示す。図１１（Ａ）−１では、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹにある程度の周期性が見られるが、このままで後述する判断に用いるとシッティングでないと判定される場合がある。これを回避するために、ステップＳ２２２において、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの極大値と極小値との中間位置の値を０（ゼロ）にもっていく処理を行なう。この図１１（Ａ）−２は成功例であり、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹが不規則且つ振幅の小さい場合であっても、シッティング判定のために安定化することで、判定をより正確に実行できる。
【００９０】
一方、図１１（Ｂ）−１は、シッティング時における補正前のジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺを例示するものであり、同ｚ軸方向の出力ＧｙｒＺの極値間の中間位置を０（ゼロ）に補正した結果を図１１（Ｂ）−２に示す。この図１１（Ｂ）−２は失敗例であり、ジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺにかかるノイズを含めて周期性ありと判断してしまうことで、シッティング判定が正確に実行できない場合を例示している。
【００９１】
この極値間の補正処理後、ＣＰＵ１１はジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己相関係数が第１１の閾値Ｔｈ１１、例えば０．４９より大きく、且つ同出力ＧｙｒＹの分散が第１２の閾値Ｔｈ１２、例えば０．０１８より大きいか、あるいはジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己相関係数が上記第１１の閾値Ｔｈ１１より大きく、且つ同出力ＧｙｒＺの分散が上記第１２の閾値Ｔｈ１２より大きいか、の少なくとも一方であるか否かを判断する（ステップＳ２２３）。
【００９２】
上記ステップＳ２２３の判断では、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺの振幅が十分に大きく、明確に周期性があるものを抽出することで、明らかにシッティングである場合を確定することを目的とするべく、上記第１１の閾値Ｔｈ１１、及び第１２の閾値Ｔｈ１２は大きめに設定している。
【００９３】
この条件が成立すると判断した場合には（ステップＳ２２３のＹｅｓ）、ＣＰＵ１１は行動がシッティングであるものと判定する（ステップＳ２２４）。
【００９４】
また上記ステップＳ２２３における条件が成立しないと判断した場合（ステップＳ２２３のＮｏ）、ＣＰＵ１１は、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己共分散が第１３の閾値Ｔｈ１３、例えば０．０００１７より小さいか、または同出力ＧｙｒＹの分散が第１４の閾値Ｔｈ１４、例えば０．００２より小さく、且つ、ジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己共分散が上記第１３の閾値Ｔｈ１３より小さいか、または同出力ＧｙｒＺの分散が上記第１４の閾値Ｔｈ１４より小さいかを判断する（ステップＳ２２５）。
【００９５】
上記ステップＳ２２５の判断では、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹ、同ｚ軸方向の出力ＧｙｒＺの振幅が非常に小さく、明確に周期性が低いものを抽出することで、明らかにシッティングではない場合を確定する。そのため、第１３の閾値Ｔｈ１３と第１４の閾値Ｔｈ１４は、小さめに設定している。
【００９６】
この条件が成立すると判断した場合には（ステップＳ２２５のＹｅｓ）、ＣＰＵ１１は行動がシッティングではないものと判定する（ステップＳ２２６）。
【００９７】
さらに上記ステップＳ２２５における条件が成立しないと判断した場合（ステップＳ２２５のＮｏ）、ＣＰＵ１１はジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹの自己共分散が、同出力ＧｙｒＹの分散に上記図９の境界線ＢＤの傾きａ２、例えば０．５０６５を乗算し、接点（切片）値ｂ２、例えば０．０００４１を加算した値より大きいか、あるいはジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺの自己共分散が、同出力ＧｙｒＺの分散に上記図９の境界線ＢＤの傾きａ２を乗算し、接点（切片）値ｂ２を加算した値より大きいか、の少なくとも一方であるか否かを判断する（ステップＳ２２７）。
【００９８】
上記図９で示した境界線ＢＤによる線形分離を行なうことで、シッティングの判定を行なっている。上記ステップＳ２２７の条件が成立すると判断した場合（ステップＳ２２７のＹｅｓ）、ＣＰＵ１１は行動がシッティングであるものと判定する（ステップＳ２２８）。ステップＳ２２７の判断により、ステップＳ２２３、Ｓ２２５ではシッティングと判断されなかったような分散の低い場合であってもシッティングと判定可能である。
【００９９】
また上記ステップＳ２２７の条件が成立しないと判断した場合（ステップＳ２２７のＮｏ）、ＣＰＵ１１は行動がシッティングではないものと判定する（ステップＳ２２９）。
【０１００】
なお、ステップＳ２２２におけるジャイロ極値間補正はノイズを強調する処理に等しいため、ステップＳ２０１のシッティング判定１よりも前にステップＳ２０４のシッティング判定２を行なうべきではない。シッティング判定２は、シッティング判定１を行なった後に、シッティングであるがシッティング判定１ではそう判定されなかったものを拾うために行なうものである。初めからシッティング判定２を行なってしまうと、後述するように正しいケイデンスの計算もできなくなるため、ＣＰＵ１１はシッティング判定１を行なった後にシッティング判定２を行なう。
【０１０１】
上記図１０のシッティング判定２の処理後、ＣＰＵ１１は上記図６の処理に戻り、上記シッティング判定２で行動がシッティングであると判定したかどうかを判断する（ステップＳ２０５）。
【０１０２】
ここで行動がシッティングであると判定した場合（ステップＳ２０５のＹｅｓ）、あらためて行動をシッティングであると判定するが（ステップＳ２０６）、同判定の信頼性は低いものとして、ケイデンス判定で得られたケイデンスを最大ケイデンスの算出には利用しないものとする。
【０１０３】
また上記ステップＳ２０５において、行動がシッティングではないと判定したと判断した場合（ステップＳ２０５のＮｏ）、ＣＰＵ１１は続いてシッティング判定３を実行する（ステップＳ２０７）。このシッティング判定３においては、加速度センサ２１のｙ軸方向の出力ＡｃｃＹにより、シッティング判定を行なう。すなわち、シッティング判定３では、非常にゆっくり漕いでいて角速度がほとんど検出されないようなサイクリストを対象としたシッティング判定を行なう。
【０１０４】
図１２は、このシッティング判定３における詳細な処理内容を示すサブルーチンのフローチャートである。ＣＰＵ１１は、まず、後述するケイデンス推定を実行する（ステップＳ２３１）。
【０１０５】
その後にＣＰＵ１１は、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの自己相関係数が第１５の閾値Ｔｈ１５、例えば０．６５より大きく、且つ同出力ＡｃｃＹの分散が第１６の閾値Ｔｈ１６、例えば０．０７１より大きいか否かを判断する（ステップＳ２３２）。
【０１０６】
ここで上記ステップＳ２３２の条件が成立すると判断した場合（ステップＳ２３２のＹｅｓ）、ＣＰＵ１１は行動がシッティングであるものと判定する（ステップＳ２３３）。
【０１０７】
また上記ステップＳ２３２の条件が成立しないと判断した場合（ステップＳ２３２のＮｏ）、ＣＰＵ１１は行動がシッティングではないものと判定する（ステップＳ２３４）。
【０１０８】
上記ステップＳ２３２の処理では、例えば後述するギア値が大きく、ケイデンスが低い状態でのシッティングの場合など、ジャイロセンサ２２のｙ，ｚ軸方向の出力ＧｙｒＹ，ＧｙｒＺに周期性が見られない場合でも、ペダルを漕いだときの推進力が加速度センサ２１のｙ軸方向の出力ＡｃｃＹで知見できるために、上記判断を行なっている。
【０１０９】
そのため、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの自己相関係数が第１５の閾値Ｔｈ１５より大きく、且つ同出力ＡｃｃＹの分散が第１６の閾値Ｔｈ１６より大きい場合に、シッティングと判定する。
【０１１０】
例えば、ギア値が大きくて身体の状態を使って漕いでいる場合などには、シッティング判定１やシッティング判定２ではシッティングと判定されなくても、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの自己相関係数と分散とからシッティング判定３でシッティングと判定可能である。
【０１１１】
図１３は、加速度センサ２１のｙ軸方向の出力ＡｃｃＹの検出波形を例示する図である。図１３（Ａ）は、加速度センサ２１のｙ軸方向の出力ＡｃｃＹから周期性を検出できた成功例を示している。
【０１１２】
一方で、図１３（Ｂ）は、加速度センサ２１のｙ軸方向の出力ＡｃｃＹにノイズが重畳された状態で、そのノイズから周期性ありと判断した、検出の失敗例を示している。
【０１１３】
このため後述するケイデンスの計算においては、シッティング判定１の手法は、安定したシッティングの検出方法であるものの、シッティング判定２及びシッティング判定３の手法は、やや不安定なシッティングの検出方法であるものとして区別する。
【０１１４】
上記図１２のシッティング判定３の処理後、ＣＰＵ１１は上記図６の処理に戻り、上記シッティング判定３で行動がシッティングであると判定したかどうかを判断する（ステップＳ２０８）。
【０１１５】
ここで行動がシッティングであると判定した場合（ステップＳ２０８のＹｅｓ）、あらためて行動をシッティングであると判定するが（ステップＳ２０６）、同判定の信頼性は低いものとして、ケイデンス判定で得られたケイデンスを最大ケイデンスの算出には利用しないものとする。
【０１１６】
また上記ステップＳ２０８において、行動がシッティングではないと判定したと判断した場合（ステップＳ２０８のＮｏ）、ＣＰＵ１１は行動がシッティングではないものと判定し（ステップＳ２０９）、以上で図６のサブルーチンを終了して、図５の処理に戻る。
【０１１７】
図５の上記ステップＳ１１５において、シッティング判定の処理を行なった後、ＣＰＵ１１はその結果から行動がシッティングであると判定したかどうかを判断する（ステップＳ１１６）。
【０１１８】
ここで行動がシッティングであると判定した場合（ステップＳ１１６のＹｅｓ）、ＣＰＵ１１はあらためて行動をシッティングとする（ステップＳ１１７）。その後にＣＰＵ１１は、後述するケイデンスセット（２）の処理を実行し（ステップＳ１１８）、以上で行動判定３の処理を終える。
【０１１９】
また上記ステップＳ１１６において、検出したデータに周期性がなく、行動がシッティングではないと判定した場合（ステップＳ１１６のＮｏ）、ＣＰＵ１１は行動を慣性走行とし（ステップＳ１１９）、以上で行動判定３の処理を終える。
【０１２０】
また上記行動判定２のステップＳ１１２において、速度が信頼できないと判断した場合（ステップＳ１１２のＮｏ）、ＣＰＵ１１はステップＳ１２０〜Ｓ１２６の行動判定４を実行する。この行動判定４においては、ＣＰＵ１１は行動が「シッティング」と「慣性走行」と「停止」とのいずれであるかの判定を行なう。上記行動判定２において、ＧＰＳ受信部１５からの出力から得られる移動速度の情報が信頼できないと判定されており、また、デッドレコニングにより推定される移動速度の情報も誤差等により信頼できないと考えられるため、行動判定４では停止の判定に先立ってシッティング判定を行なう。
【０１２１】
この行動判定４において、ＣＰＵ１１は、まず停止の判定に先立って、上記ステップＳ１１５と同様にシッティング判定の処理を実行する（ステップＳ１２０）。
【０１２２】
このシッティング判定の処理を行なった後、ＣＰＵ１１はその結果から行動がシッティングであると判定したかどうかを判断する（ステップＳ１２１）。
【０１２３】
ここで行動がシッティングであると判定した場合（ステップＳ１２１のＹｅｓ）、ＣＰＵ１１はあらためて行動をシッティングとする（ステップＳ１２２）。その後にＣＰＵ１１は、後述するケイデンスセット（２）の処理を実行し（ステップＳ１２３）、以上で行動判定４の処理を終える。
【０１２４】
また上記ステップＳ１２１において、行動がシッティングではないと判定した場合（ステップＳ１２１のＮｏ）、ＣＰＵ１１は加速度センサ２１のｚ軸方向の出力ＡｃｃＺの微分の分散が、第６の閾値Ｔｈ６、例えば０．１９より大きいか否かにより、路面の微振動が検出できているか否かを判断する（ステップＳ１２４）。
【０１２５】
ここで加速度センサ２１のｚ軸方向の出力ＡｃｃＺの微分の分散が第６の閾値Ｔｈ６より大きく、路面の微振動を検出できていると判断した場合（ステップＳ１２４のＹｅｓ）には、行動が慣性走行であるものとして（ステップＳ１２５）、以上で行動判定４の処理を終える。
【０１２６】
上記の通り、行動判定２において、ＧＰＳ受信部１５からの出力から得られる移動速度の情報が信頼できないと判定されているため、行動判定４では移動速度の情報は使えない。それ故、ステップＳ１１３でのような速度に基づいた停止の判断はできない。そこで、ステップＳ１２４では、残る行動（慣性走行または停止）を速度に基づかずに判断するために、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの微分の分散、すなわち路面から受ける細かい振動の検出の有無を用いる。
【０１２７】
また上記ステップＳ１２４において、加速度センサ２１のｚ軸方向の出力ＡｃｃＺの微分の分散が第６の閾値Ｔｈ６以下であり、路面の微振動を検出できていないと判断した場合（ステップＳ１２４のＮｏ）には、行動が停止であるものとして（ステップＳ１２６）、以上で行動判定４の処理を終える。
【０１２８】
次に上記図５のステップＳ１０２、図７のステップＳ２１１、図１０のステップＳ２２１、図１２のステップＳ２３１におけるケイデンス推定の詳細な処理内容を説明する。  
ケイデンスは、上述した如く、随時変化する、サイクリストＣＬが自転車ＢＣのクランクペダルを漕ぐ回転数を示す値であり、通常は直近の１分間当たりの回転数として単位［ｒｐｍ］で表す。
【０１２９】
最大ケイデンスは、全行程中でのケイデンスの最大値であり、自転車競技能力指標の１つとして一般的に用いられている。
【０１３０】
積算回転数は、全行程でペダルを漕いだ総回転数であり、歩行における歩数に相当する。
【０１３１】
本実施形態では、行動がダンシング、シッティング、及び歩行である場合に、周期性があるものとしてケイデンスを算出する。
【０１３２】
一方で、行動が慣性走行、及び停止である場合には、周期性がないためにケイデンスの算出は行なわないものとする。
【０１３３】
図１４は、各行動に共通するケイデンス推定のサブルーチンを示すフローチャートである。その当初にＣＰＵ１１は、サンプルラグに初期値「０」を設定する（ステップＳ３０１）。
【０１３４】
次にＣＰＵ１１は、上記サンプルラグの値を「＋１」更新設定する（ステップＳ３０２）。ＣＰＵ１１は、この更新設定したサンプルラグに従って自己相関係数を算出し（ステップＳ３０３）、算出した自己相関係数をメインメモリ１２内部のバッファに保存する（ステップＳ３０４）。
【０１３５】
次にＣＰＵ１１は、それまでに「０」を下回った自己相関係数があったか否かを判断する（ステップＳ３０５）。
【０１３６】
ここで「０」を下回った自己相関係数があったと判断した場合（ステップＳ３０５のＹｅｓ）、次にＣＰＵ１１は、その値が第１７の閾値Ｔｈ１７、例えば０．２以上の極大値であるか否かを判断する（ステップＳ３０６）。
【０１３７】
上記ステップＳ３０５において、「０」を下回った自己相関係数がなかったと判断した場合（ステップＳ３０５のＮｏ）、及び上記ステップＳ３０６において、自己相関係数の値が第１７の閾値Ｔｈ１７よりは小さいと判断した場合（ステップＳ３０６のＮｏ）、ＣＰＵ１１はその自己相関係数を採用しないものとして、さらにサンプルがまだあるかどうかを判断する（ステップＳ３０７）。
【０１３８】
まだあると判断した場合（ステップＳ３０７のＹｅｓ）、再び上記ステップＳ３０２からの処理に戻って、同様の動作を繰返す。
【０１３９】
こうしてサンプルラグを順次更新設定して、「０」から順に走査しながら、自己相関係数が極大となるサンプルラグをサーチする。
【０１４０】
上記ステップＳ３０６において、算出した自己相関係数が第１７の閾値Ｔｈ１７以上の極大値であると判断した場合（ステップＳ３０６のＹｅｓ）、ＣＰＵ１１はその極大のサンプルラグをセンサのサンプリング周波数（サンプルｆ）で除算した商を用い、定数６０［秒］をさらに除算することで、ケイデンス値［ｒｐｍ］を取得する（ステップＳ３０９）。
【０１４１】
また上記ステップＳ３０７において、サンプルがもうないと判断した場合（ステップＳ３０７のＮｏ）、ケイデンスを算出することができなかったものとして、ケイデンス値に固定値０（ゼロ）［ｒｐｍ］を設定する（ステップＳ３０８）。
【０１４２】
上記ステップＳ３０９または上記ステップＳ３０８によりケイデンスの値を得た後、ＣＰＵ１１は対象の信号が加速度センサ２１のｚ軸方向の出力ＡｃｃＺであるか否かにより、行動が歩行であるかを判断する（ステップＳ３１０）。
【０１４３】
ここで対象の信号が加速度センサ２１のｚ軸方向の出力ＡｃｃＺであり、行動が歩行であると判断した場合にのみ（ステップＳ３１０のＹｅｓ）、ＣＰＵ１１はクランクペダルの回転数との整合により、算出したケイデンス値［ｒｐｍ］を１／２に更新設定した上で（ステップＳ３１１）、以上でこのケイデンス推定の処理を終了する。
【０１４４】
また上記ステップＳ３１０において、対象の信号が加速度センサ２１のｚ軸方向の出力ＡｃｃＺではなく、行動が歩行ではないと判断した場合（ステップＳ３１０のＮｏ）、ＣＰＵ１１は上記ステップＳ３１１の処理を行なわずに、以上でこのケイデンス推定の処理を終了する。
【０１４５】
上記ステップＳ３０５において、サンプルラグの自己相関係数に対して第１７の閾値Ｔｈ１７を用いた極大値の採用判定を行なっている。これは、図１５に示すように、高周波の極大値の影響を排除するためである。
【０１４６】
図１５（Ａ）は、対象となる入力信号の波形を例示するものである。この入力信号から自己相関係数を算出した結果を図１５（Ｂ）に示す。同図（Ｂ）中のＸＶ部分に示すように、ノイズによる高周波の極大値が現出する場合があり、上記ステップＳ３０５ではそのような事態を不採用とするべく判定を行なっている。
【０１４７】
次に、各行動状態におけるケイデンスの算出方法について説明する。  
積算回転数と最大ケイデンスは、利用するケイデンス値を分けるものとする。これは、積算回転数が各時刻での推定に多少の誤差があった場合でも、トータルでの最終的な積算値に大きな誤差は及ぼさない一方で、最大ケイデンスはある時刻で大きなケイデンス値を出力した場合、その後に修正できないので、安定したケイデンスを利用する必要があることに由来する。
【０１４８】
まず、行動が歩行とダンシングの場合のケイデンスの算出方法について説明する。  
図１６は、上記図５のステップＳ１１１における第１のケイデンス値のセット（ケイデンスセット（１））のサブルーチンの詳細な処理内容を示すフローチャートである。
【０１４９】
ＣＰＵ１１は、まず加速度センサ２１のｚ軸方向の出力ＡｃｃＺの周期をケイデンス値としてカウントし、積算更新用ケイデンスとする（ステップＳ４０１）。
【０１５０】
その後にＣＰＵ１１は、ジャイロセンサ２２のｙ軸方向の出力ＧｙｒＹに基づくケイデンス値と、同ｚ軸方向の出力ＧｙｒＺに基づくケイデンス値とで、自己相関係数が大きい方のケイデンス値ＧｙｒＹＺを用い、上記加速度センサ２１のｚ軸方向の出力ＡｃｃＺのケイデンス値との差の絶対値が、第１８の閾値Ｔｈ１８、例えば１０より小さいか否かにより、加速度センサ２１のｚ軸方向の出力ＡｃｃＺのケイデンス値の信頼性があるか否かを判断する（ステップＳ４０２）。
【０１５１】
ここでケイデンス値ＧｙｒＹＺと出力ＡｃｃＺのケイデンス値との差の絶対値が、第１８の閾値Ｔｈ１８より小さく、加速度センサ２１のｚ軸方向の出力ＡｃｃＺのケイデンス値の信頼性があると判断した場合（ステップＳ４０２のＹｅｓ）、ＣＰＵ１１はそのまま加速度センサ２１のｚ軸方向の出力ＡｃｃＺのケイデンス値を最大更新用ケイデンスとして採用し（ステップＳ４０３）、以上でこの第１のケイデンス値のセットの処理を終了する。
【０１５２】
また上記ステップＳ４０２において、ケイデンス値ＧｙｒＹＺと出力ＡｃｃＺのケイデンス値との差の絶対値が、第１８の閾値Ｔｈ１８以上であり、加速度センサ２１のｚ軸方向の出力ＡｃｃＺのケイデンス値の信頼性がないと判断した場合（ステップＳ４０２のＮｏ）、ＣＰＵ１１は、無効値を最大更新用ケイデンスとして採用し（ステップＳ４０４）、以上でこの第１のケイデンス値のセットの処理を終了する。
【０１５３】
上記ケイデンス値ＧｙｒＹＺと出力ＡｃｃＺのケイデンス値との差の絶対値を第１８の閾値Ｔｈ１８と比較したのは、行動が歩行とダンシングの場合に現出する、ノイズによる極端に大きなケイデンスのカウント分を排除するためであり、上記２つのケイデンスの差の絶対値が閾値Ｔｈ１８以下であり、両者がほぼ同じケイデンス値を示している場合に、信頼性が高いと判断するものである。
【０１５４】
次に、行動がシッティングの場合のケイデンスの算出方法について説明する。  
図１７は、上記図５のステップＳ１１８，Ｓ１２３における第２のケイデンス値のセット（ケイデンスセット（２））のサブルーチンの詳細な処理内容を示すフローチャートである。
【０１５５】
その処理当初にＣＰＵ１１は、上記図６の、シッティング判定１、シッティング判定２、及びシッティング判定３のいずれによってシッティング判定されたかを判断する（ステップＳ５０１）。
【０１５６】
ここでシッティング判定１であったと判断した場合、上記出力ＧｙｒＹ，ＧｙｒＺの信頼性、安定性が高いものとして、ＣＰＵ１１は、ジャイロセンサ２２のｙ軸またはｚ軸方向の出力ＧｙｒＹＺの周期をカウントしたケイデンス値をそのまま積算更新用ケイデンス値としてセットする（ステップＳ５０２）。
【０１５７】
加えてＣＰＵ１１は、上記ケイデンス値ＧｙｒＹＺを最大更新用ケイデンス値としてセットし（ステップＳ５０３）、以上でこの図１７の処理を終了する。
【０１５８】
また上記ステップＳ５０１において、シッティング判定２であったと判断した場合、極値の修正を行なった上記出力ＧｙｒＹ，ＧｙｒＺに鑑み、ＣＰＵ１１は、上記ケイデンス値ＧｙｒＹＺを積算更新用ケイデンス値としてセットする（ステップＳ５０４）。
【０１５９】
加えてＣＰＵ１１は、最大更新用ケイデンス値に無効値をセットし（ステップＳ５０５）、以上でこの図１７の処理を終了する。
【０１６０】
これは、上記図１１（Ｂ）−１、図１１（Ｂ）−２で示したように、極値の補正でノイズを強調し、高周波を生成する危険性があることに起因している。
【０１６１】
また上記ステップＳ５０１において、シッティング判定３であったと判断した場合、加速度センサ２１のｙ軸方向の出力ＡｃｃＹによりシッティングであると判定した場合であるため、ＣＰＵ１１は、上記出力ＡｃｃＹの周期のカウント値によるケイデンス値を積算更新用ケイデンス値としてセットする（ステップＳ５０６）。
【０１６２】
加えてＣＰＵ１１は、最大更新用ケイデンス値に無効値をセットし（ステップＳ５０７）、以上でこの図１７の処理を終了する。
【０１６３】
これは、上記図１３（Ｂ）で示したように、上記出力ＡｃｃＹの信号がノイズを多く含み易く、高周波を生成する危険性があることに起因している。
【０１６４】
このように、安定した周期性の判定を先に行なう一方で、やや不安定な周期性判定を後で行なうことで、安定性の高いケイデンスとやや安定性に欠けるケイデンスとを明確に分離して処理することが可能となる。
【０１６５】
上記図５において、行動判定１〜行動判定４の各処理を実行した後、ＣＰＵ１１はケイデンスの更新処理を実行する（ステップＳ１２７）。
【０１６６】
図１８は、上記ケイデンスの更新処理のサブルーチンの詳細な処理内容を示すフローチャートである。  
ＣＰＵ１１は、まずその時点の積算更新用ケイデンスの値を対象ケイデンスとして設定した状態で（ステップＳ６０１）、当該ケイデンスの安定化処理を実行する（ステップＳ６０２）。
【０１６７】
図１９は、上記ケイデンスの安定化処理のサブルーチンの詳細な処理内容を示すフローチャートである。  
ＣＰＵ１１は、まず対象のケイデンスをメインメモリ１２内に設定したＦＩＦＯ形式のバッファメモリに格納する（ステップＳ６２１）。ここでのバッファメモリの容量は、例えばケイデンス値５個分であるものとする。
【０１６８】
ＣＰＵ１１は当該バッファメモリがすべて埋まっているか否かを判断する（ステップＳ６２２）。まだ埋まっていないと判断した場合（ステップＳ６２２のＮｏ）、ＣＰＵ１１は、安定化ケイデンスとしてバッファメモリに無効値を保持設定し（ステップＳ６２９）、以上でこの図１９の処理を終了する。なお、この無効値のセットに関し、バッファメモリ中に無効値が保持されている場合も、以後の処理ではその無効値をデータとしてカウントするものとする。
【０１６９】
また上記ステップＳ６２２において、無効値も含めてバッファメモリが埋まっていると判断した場合（ステップＳ６２２のＹｅｓ）、ＣＰＵ１１はバッファメモリに保持されている、例えば５つのケイデンス値の内の中央値を選択して変数Ｍｅｄｉａｎに設定する（ステップＳ６２３）。
【０１７０】
次いでＣＰＵ１１は、変数Ｍｅｄｉａｎの値との差の絶対値が第１９の閾値Ｔｈ１９、例えば２０以下である上記バッファメモリ内のケイデンス値の個数を取得して変数ＭｅｄＮに設定する（ステップＳ６２４）。
【０１７１】
ＣＰＵ１１は、このＭｅｄＮに設定したケイデンス値の数が、第２０の閾値ＴＨ２０、例えば３より大きいか否かにより、バッファメモリに保持されているケイデンス値の安定度が高いか否かを判断する（ステップＳ６２５）。
【０１７２】
ＭｅｄＮに設定したケイデンス値の数が第２０の閾値ＴＨ２０より大きく、バッファメモリに保持されているケイデンス値の安定度が高いと判断した場合（ステップＳ６２５のＹｅｓ）、ＣＰＵ１１は、バッファメモリの保持内容から、上記変数Ｍｅｄｉａｎとの差の絶対値が上記第１９の閾値ＴＨ１９以下であるケイデンス値の平均値を算出し、算出したケイデンス値の平均値をあらためて安定化したケイデンス値として設定する（ステップＳ６２６）。
【０１７３】
また上記ステップＳ６２５において、ＭｅｄＮに設定したケイデンス値の数が第２０の閾値ＴＨ２０以下であり、バッファメモリに保持されているケイデンス値の安定度があまり高くないと判断した場合（ステップＳ６２５のＮｏ）、ＣＰＵ１１は、バッファメモリの保持内容から、上記変数Ｍｅｄｉａｎとの差の絶対値が上記第１９の閾値ＴＨ１９以下であるケイデンス値の中で、最後に保持されたケイデンス値を読出し、読出したケイデンス値をそのまま安定化したケイデンス値として設定する（ステップＳ６２７）。
【０１７４】
上記ステップＳ６２６またはＳ６２７の処理後、ＣＰＵ１１は対象となるケイデンス値が無効値であるか否かを判断する（ステップＳ６２８）。
【０１７５】
ここで対象となるケイデンス値、ここでは積算更新用ケイデンスの値が無効値であると判断した場合にのみ（ステップＳ６２８のＹｅｓ）、ＣＰＵ１１は安定化ケイデンスの値を無効値に設定し（ステップＳ６２９）、以上でこの図１９の処理を終了すると共に、上記図１８の処理に戻る。
【０１７６】
また上記ステップＳ６２８において、対象となるケイデンス値、ここでは積算更新用ケイデンスの値が無効値ではないと判断した場合には、上記ステップＳ６２９の処理は行なわない。
【０１７７】
このように、対象となるケイデンス値が無効値である場合でも、バッファメモリ内に他に有効なケイデンス値が保持されている場合、その有効なケイデンス値が安定化したケイデンス値として設定されてしまうのを回避するべく、最後の処理で、対象となるケイデンス値が無効値である場合には安定化したケイデンス値に同様に無効値を設定するものとする。
【０１７８】
図１８において、上記ステップＳ６０２の処理で設定した安定化ケイデンス値を積算更新用ケイデンスに設定する（ステップＳ６０３）。
【０１７９】
その後、ＣＰＵ１１は、安定化した積算更新用ケイデンス値を６０で除算し解析周期を乗算したものに前回の積算回転数を加算した値を、積算回転数として設定する（ステップＳ６０４）。
【０１８０】
その後、積算更新用ケイデンスの値をそのまま現時点のケイデンス値として設定する（ステップＳ６０５）。
【０１８１】
以上で積算更新用ケイデンスに関する更新処理を終え、次に最大更新用ケイデンスの値を対象ケイデンスとして設定した状態で（ステップＳ６０６）、当該ケイデンスの安定化処理を実行する（ステップＳ６０７）。
【０１８２】
このケイデンスの安定化処理は、上記ステップＳ６０２で実行した、図１９の内容と同様であるため、その詳細についての説明は省略する。
【０１８３】
ここでは最大更新用ケイデンスを対象としていることにより、第１９の閾値ＴＨ１９には、例えば２０、第２０の閾値Ｔｈ２０には、例えば４を使用する。
【０１８４】
ＣＰＵ１１は、上記ステップＳ６０７の処理で設定した安定化ケイデンス値を最大更新用ケイデンスに設定する（ステップＳ６０８）。
【０１８５】
その後、ＣＰＵ１１は、直前のステップＳ６０８で設定した最大更新用ケイデンスが、それまでの最大ケイデンスより大きいか否かを判断する（ステップＳ６０９）。
【０１８６】
ここで、最大更新用ケイデンスが、それまでの最大ケイデンスであると判断した場合にのみ（ステップＳ６０９のＹｅｓ）、ＣＰＵ１１は最大更新用ケイデンスの値を用いて最大ケイデンスを更新設定し（ステップＳ６１０）、以上でこの図１８の処理を終了すると共に、上記図５の処理も終了して、上記図３のメインルーチンに戻る。
【０１８７】
また上記ステップＳ６０９において、最大更新用ケイデンスが、それまでの最大ケイデンス以下であると判断した場合には（ステップＳ６０９のＮｏ）、最大ケイデンスの更新は必要ないものとして、上記ステップＳ６１０の処理は行なわない。
【０１８８】
図３のメインルーチンに戻って、ＣＰＵ１１は次に勾配の推定を行なう（ステップＭ１０６）。ここでＣＰＵ１１は、単位距離、例えば直近の過去３０［ｍ］当たりで変動した高度情報の変動量から現時点での勾配を算出し、その算出結果が正であれば登り坂、負であれば下り坂であると定義する。
【０１８９】
勾配を参照する際に使用する高度情報の変化量は、ＧＰＳ受信部１５で取得するＧＰＳ測位情報が高い信頼度を有すると判断できる場合は、ＧＰＳ測位情報を用いる一方で、ＧＰＳ測位情報が高い信頼度を有していないと判断した場合は、気圧センサ２４の検知出力を用いる。
【０１９０】
上記勾配推定の処理後、ＣＰＵ１１はこれまでの移動の軌跡推定を行なう（ステップＭ１０７）。
【０１９１】
図２０は、上記ステップＭ１０７の軌跡推定のサブルーチンの詳細な処理内容を示すフローチャートである。
【０１９２】
まずＣＰＵ１１は、その時点でＧＰＳ受信部１５から得られるＧＰＳ測位情報の信頼度を、「高」「中」「低」の３段階で判定する（ステップＳ７０１）。
【０１９３】
ＧＰＳ測位情報の信頼度は、例えば測位処理の過程で取得できる、ＧＰＳの精度低下率を示すＤＯＰ（Ｄｉｌｕｔｉｏｎ  Ｏｆ  Ｐｒｅｃｉｓｉｏｎ）値により判定する。例えば、ＣＰＵ１１は、ＤＯＰ値が比較的小さい場合にはＧＰＳ測位情報の信頼度が高いと判定し、ＤＯＰ値が中程度の場合にはＧＰＳ測位情報の信頼度が中程度であると判定し、ＤＯＰ値が比較的大きい場合にはＧＰＳ測位情報の信頼度が低いと判定する。
【０１９４】
上記ステップＳ７０１において、ＧＰＳの測位情報の信頼度が高いと判定した場合、ＣＰＵ１１はそのままＧＰＳの測位情報を用いて現在位置の経度及び緯度を設定する（ステップＳ７０２）。
【０１９５】
さらにＣＰＵ１１は、後述するデッドレコニング処理で使用する、その時点で使用している自転車ＢＣのギア値（行動がシッティングまたはダンシングである場合）、または歩幅（行動が歩行である場合）を更新設定する（ステップＳ７０３）。このギア値／歩幅更新は、ＧＰＳ測位情報の信頼度が高い場合にのみ実行される。
【０１９６】
ギア値は、自転車ＢＣのクランクペダルが１回転する間に進む距離であり、サイクリストＣＬがギアチェンジを行なうことで随時変化する。
【０１９７】
歩幅は、上記ギア値と対応させるべく、歩行時に２歩当たりで進む距離であるものとし、これもサイクリストＣＬの疲労度合いや状況等によって随時変化する。
【０１９８】
図２１は、このギア値／歩幅更新のサブルーチンの詳細な処理内容を示すフローチャートである。  
まずＣＰＵ１１は、行動推定がシッティングまたはダンシングであるか否かにより、更新する対象がギア値であるかどうかを判断する（ステップＳ７１１）。
【０１９９】
ここで行動推定がシッティングまたはダンシングであり、更新する対象がギア値であると判断した場合（ステップＳ７１１のＹｅｓ）、ＣＰＵ１１は、進行方向に進んだ距離とケイデンスの比例関係を乱す要因となる複数の判定を行なうことで、ギア値の更新を行なうか否かを判断する。
【０２００】
具体的には、第１点としてケイデンスが不安定であるか否かを判断する（ステップＳ７１２）。これは、ギアチェンジの途中、または直後においてクランプペダルの空漕ぎ（ペダルの回転がギアに伝わらない状態）が発生している場合を除外するためである。
【０２０１】
ＣＰＵ１１は、判断基準として、例えば前回と今回のケイデンスの差が２［ｒｐｍ］以上ある場合を不安定であるものと判断して（ステップＳ７１２のＹｅｓ）、ギア値の更新を行なわない。すなわち、ケイデンスが不安定であると判定された場合には、ＣＰＵ１１は、ギア値を更新せずに図２１の処理を終了する。一方、ケイデンスが不安定でない、すなわち安定していると判定された場合（ステップＳ７１２のＮｏ）には、処理はステップＳ７１３に進む。
【０２０２】
第２点として、直前の上記ステップＭ１０６で得た勾配推定の結果から、一定角度以上の下り坂であるか否かを判断する（ステップＳ７１３）。これも、上記空漕ぎを除外する目的を含む。ＣＰＵ１１は、判断基準として、下り坂であり、且つ勾配が例えば−３［％］より（数値が）低い場合を判断して（ステップＳ７１３のＹｅｓ）、ギア値の更新を行なわない。すなわち、下り坂であると判定された場合には、ＣＰＵ１１は、ギア値を更新せずに図２１の処理を終了する。一方、下り坂でないと判定された場合（ステップＳ７１３のＮｏ）には、処理はステップＳ７１４に進む。
【０２０３】
第３点として、路面状況が粗いかどうかを判断する（ステップＳ７１４）。これは、直前の慣性走行時に判定した路面状況において、未舗装路などのように粗い路面となっていた場合、タイヤが浮くことによる断続的な空漕ギア、進行方向に進んだ距離として算出されない左右や上方向の細かな蛇行を除外することが目的である。そのため、判断基準として、直前の慣性走行時に路面が粗いと判断した場合（ステップＳ７１４のＹｅｓ）、ギア値の更新を行なわない。すなわち、路面状況が粗いと判定された場合には、ＣＰＵ１１は、ギア値を更新せずに図２１の処理を終了する。路面状況判定の詳細は後述する。
【０２０４】
上記ステップＳ７１４において、路面が粗くなく滑らかであると判断した場合（ステップＳ７１４のＮｏ）、上記３点の判定基準を満たしたものとして、ＣＰＵ１１はケイデンスと距離とから、以下の式  
ギア値［ｍ／ｒｅｖ］＝距離［ｍ］／(ケイデンス［ｒｐｍ］／６０)  
によりギア値を更新する（ステップＳ７１５）。そして、ＣＰＵ１１は、図２１の処理を終了すると共に、上記図２０の処理も終了する。
【０２０５】
このように、行動推定結果がシッティングまたはダンシングである場合（ステップＳ７１１のＹｅｓ）には、ＣＰＵ１１は、ケイデンスの安定性（ステップＳ７１２）、直前の経路の勾配（ステップＳ７１３）及び路面の粗さ（ステップＳ７１４）に関する判定に基づいて、ギア値の更新の有無を決定する。すなわち、上記３つのステップにおける判定基準に該当しなかった場合のみ、上記式に基づいてギア値が更新される。
【０２０６】
また上記ステップＳ７１１において、行動推定がシッティング及びダンシングのいずれでもないと判断した場合（ステップＳ７１１のＮｏ）、次にＣＰＵ１１は、行動推定が歩行であるか否かを判断する（ステップＳ７１６）。
【０２０７】
ここで行動推定が歩行であると判断した場合（ステップＳ７１６のＹｅｓ）、ＣＰＵ１１は更新する対象がギア値ではなく歩幅であるものとして、ケイデンスと距離とから、以下の式  
歩幅［ｍ／２歩］＝距離［ｍ］／(ケイデンス［２歩／分］／６０)  
により歩幅を更新する（ステップＳ７１７）。そして、ＣＰＵ１１は、図２１の処理を終了すると共に、上記図２０の処理も終了する。
【０２０８】
上記式に関連し、動作の周期の観点から、自転車のクランクペダル１回転は歩行の２歩に相当するため、ケイデンスの単位を［ｒｐｍ］（ｒｅｖｏｌｕｔｉｏｎｓ  ｐｅｒ  ｍｉｎｕｔｅ）から［２歩／分］に置換している。
【０２０９】
また上記ステップＳ７１６において、行動推定が歩行でもないと判断した場合（ステップＳ７１６のＮｏ）、次にＣＰＵ１１は、行動推定が慣性走行であるか否かを判断する（ステップＳ７１８）。
【０２１０】
ここで行動推定が慣性走行であると判断し場合（ステップＳ７１８のＹｅｓ）、ＣＰＵ１１は、上述したギア値の更新判定で使用する路面状況を決めるため、加速度センサ２１の出力から重力加速度成分を除去した、加速度３軸ノルムの分散により路面状況が粗いかどうかを判断する（ステップＳ７１９）。
【０２１１】
これは、ペダルを漕いでいない慣性走行時の加速度の情報中に、路面状況に応じた振動が現出するからである。
【０２１２】
図２２は、滑らかに舗装された路面での慣性走行時の加速度（図２２（Ａ））と、粗い路面での慣性走行時の加速度（図２２（Ｂ））を例示する。図示されるように、滑らかに舗装された路面を慣性走行しているときの加速度３軸ノルムの時間変動は比較的小さいが、粗い路面を慣性走行しているときの加速度３軸ノルムの時間変動は、路面から受ける振動の影響に起因して比較的大きい。どの程度の加速度ノルムの分散を粗いと判断するのかは、上述したギア値更新の精度と応答性との兼ね合い次第であるが、例えば０．７以上であれば粗いと判断するものとすれば良い。
【０２１３】
したがってＣＰＵ１１は、粗い路面であると判断した場合（ステップＳ７１９のＹｅｓ）、路面状況を示すメインメモリ１２内の該当フラグレジスタに、粗いことを示すフラグを設定する（ステップＳ７２０）。そして、ＣＰＵ１１は、図２１の処理を終了すると共に、上記図２０の処理も終了する。
【０２１４】
また上記ステップＳ７１９において、粗い路面ではないと判断した場合（ステップＳ７１９のＮｏ）、路面状況を示すメインメモリ１２内の該当フラグレジスタに、滑らかであることを示すフラグを設定する（ステップＳ７２１）。そして、ＣＰＵ１１は、図２１の処理を終了すると共に、上記図２０の処理も終了する。
【０２１５】
このように、行動推定が慣性走行であると判断された場合（ステップＳ７１８のＹｅｓ）には、ＣＰＵ１１は、ギア値及び歩幅のいずれも更新しないが、路面状況の粗さ／滑らかさを示すフラグの設定を行う。
【０２１６】
また上記ステップＳ７１８において、行動推定が慣性走行でもないと判断した場合（ステップＳ７１８のＮｏ）、ＣＰＵ１１は、ギア値及び歩幅のいずれも更新することなく、この図２１の処理を終了すると共に、上記図２０の処理も終了する。これに該当するのは、行動推定結果が停止の場合である。
【０２１７】
また上記図２０のステップＳ７０１において、ＧＰＳの測位情報の信頼度が中であると判定した場合、ＣＰＵ１１は、まずデッドレコニング処理を実行する（ステップＳ７０４）。
【０２１８】
図２３は、ステップＳ７０４のデッドレコニングのサブルーチンの詳細な処理内容を示すフローチャートである。
【０２１９】
ＣＰＵ１１は、まずその時点の行動推定が歩行であるか否かを判断する（ステップＳ７３１）。行動推定が歩行であると判断した場合（ステップＳ７３１のＹｅｓ）、ＣＰＵ１１はその時点で設定されている歩幅とケイデンスとから、以下の式  
速度［ｍ／秒］＝歩幅［ｍ／２歩］×(ケイデンス［２歩／分］／６０)  
により歩行時の速度を算出する（ステップＳ７３２）。
【０２２０】
また上記ステップＳ７３１において、行動推定が歩行ではないと判断した場合（ステップＳ７３１のＮｏ）、ＣＰＵ１１はその時点で設定されているギア値とケイデンスとから、以下の式  
速度［ｍ／秒］＝ギア値［ｍ／ｒｅｖ］×(ケイデンス［ｒｅｖ／分］／６０)  
により自転車走行時の速度を算出する（ステップＳ７３３）。なお、慣性走行の場合はケイデンスが０であるが、直前の０ではないケイデンスが維持されているものとして、上記式を用いて自転車走行時の速度算出が行われる。
【０２２１】
こうして、現在の速度を算出した後、ＣＰＵ１１は地磁気の信頼度推定の処理を実行する（ステップＳ７３４）。
【０２２２】
この地磁気の信頼度推定は、信頼度が高い場合に、進行方向の方位角が直接検出できるため、長時間のデッドレコニングでも、ジャイロセンサ２２の出力による角速度の誤差の累積の影響を極力排除して、正しい進行方向の推定ができることに起因するものである。
【０２２３】
しかしながら、地磁気は外乱の影響で正しい方位を検出できない場合もある。特に自転車走行時に車道を走行する場合は、すぐ近くを磁性体である自動車が通過することにより外乱の影響を受け易く、地磁気の信頼度推定が重要となる。
【０２２４】
図２４は、この地磁気の信頼度推定のサブルーチンの詳細な処理内容を示すフローチャートである。
【０２２５】
ＣＰＵ１１は、まず地磁気センサ２３の出力により直前の検出時との相対角（１）を算出する（ステップＳ７４１）。
【０２２６】
次にＣＰＵ１１は、ジャイロセンサ２２の出力により直前の検出時との相対角（２）を算出する（ステップＳ７４２）。
【０２２７】
さらにＣＰＵ１１は、地磁気センサ２３の３軸ノルムの直前の所定時間分、例えば１分間分の平均（３）を算出する（ステップＳ７４３）。
【０２２８】
ＣＰＵ１１は、上記地磁気センサ２３から得た相対角（１）とジャイロセンサ２２から得た相対角（２）の平均値の絶対誤差が、第１の閾値Ｔｈ１、例えば５［°］より小さく（条件式１）、且つ、地磁気センサ２３の３軸ノルムから得た平均（３）に対する、地磁気センサ２３の３軸ノルムの分散が、第２の閾値Ｔｈ２，例えば１０（地磁気の単位が［μＴ］である場合）より小さい（条件式２）か否かにより、地磁気の外乱が少なく信頼度が高いかどうかを判断する（ステップＳ７４４）。
【０２２９】
ここで、上記２条件が共に成立し、地磁気の外乱が少なく信頼度が高いと判断した場合（ステップＳ７４４のＹｅｓ）、ＣＰＵ１１は地磁気信頼度が高いと設定し（ステップＳ７４５）、以上でこの図２４の処理を終えて、上記図２３の処理に戻る。
【０２３０】
また上記ステップＳ７４４において、上記２条件の少なくとも一方が成立せず、地磁気の外乱が大きく信頼度が低いと判断した場合（ステップＳ７４４のＮｏ）、ＣＰＵ１１は地磁気信頼度が低いと設定し（ステップＳ７４６）、以上でこの図２４の処理を終えて、上記図２３の処理に戻る。
【０２３１】
図２５は、地磁気に対する外乱の影響を説明する図である。図２５（Ａ）は、外乱の影響が少ない場合を示す。この場合、図２５（Ａ）−１に示すように、上記条件式１の角速度の相対角と地磁気の相対角とが略等しく、それらの平均絶対誤差が非常に小さな値となることがわかる。また図２５（Ａ）−２に示すように、上記条件式２における左辺、地磁気の３軸ノルムにおける平均値からの分散も小さいことが知見できる。
【０２３２】
一方で、図２５（Ｂ）は、地磁気に対する外乱の影響が大きい場合を示す。この場合、図２５（Ｂ）−１に示すように、上記条件式１における角速度の相対角と地磁気の相対角との乖離が明らかに大きくなっていることがわかる。また図２５（Ｂ）−２に示すように、上記条件式２における左辺、地磁気の３軸ノルムにおける平均値からの分散は、上記図２５（Ａ）−１の場合よりも大きくなっているものの、それほど明らかな相違とは知見できない状態となっている。
【０２３３】
この例のように、条件式２だけでは外乱の影響の有無が判別できないことがあり、逆に条件式１の左辺は小さいが条件式２の左辺が大きくなる場合もあり得る。そのため、２つの条件式を共に満たす場合のみを地磁気の信頼度が高いと見做すことで、より正確に地磁気の信頼度を判定できる。
【０２３４】
こうして地磁気に対する信頼度推定を行なった後、図２３の処理では、ＣＰＵ１１が地磁気の信頼度が高いと設定したかどうかを判断する（ステップＳ７３５）。
【０２３５】
ここで地磁気の信頼度が高いと設定したと判断した場合（ステップＳ７３５のＹｅｓ）、ＣＰＵ１１はステップＳ７３２あるいはステップＳ７３３で算出した速度と地磁気センサ２３で得られる地磁気の検出内容とから、現地点の経度と緯度とを推定する（ステップＳ７３６）。
【０２３６】
また上記ステップＳ７３５において、地磁気の信頼度が高くなく、低いと設定したと判断した場合（ステップＳ７３５のＮｏ）、ＣＰＵ１１は、ステップＳ７３２あるいはステップＳ７３３で算出した速度と、ジャイロセンサ２２から得られる水平面方向の角速度の検出内容とから、現地点の経度と緯度とを推定する（ステップＳ７３７）。すなわち、地磁気の信頼度が低い場合には、地磁気センサ２３から得られる地磁気の検出内容に代えてジャイロセンサ２２から角速度の検出内容に基づいて、現地点の経度と緯度とを推定する。
【０２３７】
こうして図２３のデッドレコニングの処理を終了した後、上記図２０に戻る。図２０において、ＧＰＳの信頼度が中程度である場合、ＣＰＵ１１は、ＧＰＳ測位情報の信頼度に応じて適宜設定可能な変数ｒ（０＜ｒ＜１）に応じて、次式  
経緯度＝ｒ×ＧＰＳ＋(１−ｒ)×ＤＲ  
（但し、ＧＰＳ：ＧＰＳ測位による経度と緯度、  
ＤＲ：デッドレコニング測位による経度と緯度。）  
により、ＧＰＳ測位情報とデッドレコニング測位情報を組み合わせる重み付け処理を実行し（ステップＳ７０５）、以上でこの図２０の軌跡推定の処理を終了する。
【０２３８】
また上記ステップＳ７０１において、ＧＰＳの測位情報の信頼度が低であると判定した場合、ＣＰＵ１１は、デッドレコニング処理を実行する（ステップＳ７０６）。
【０２３９】
このデッドレコニングの処理は上記ステップＳ７０４で実行した処理と同様、上記図２３で詳細な処理内容を説明した通りである。
【０２４０】
デッドレコニングの処理の終了後、ＣＰＵ１１は、デッドレコニングで得た測位情報のみによる経度と緯度の更新処理を実行し（ステップＳ７０７）、以上でこの図２０の軌跡推定の処理を終了する。
【０２４１】
以上により、本実施形態では、サイクリングの軌跡を推定する軌跡推定装置が提供される。軌跡推定装置は、例えば、衛星測位情報の信頼度を判定する信頼度判定部と、衛星測位情報の信頼度に基づいて、サイクリングの軌跡を推定するためのパラメータを更新するタイミングを判定する更新タイミング判定部と、タイミングの判定結果に基づいてパラメータを更新する更新部と、パラメータを用いて自律航法により軌跡を推定する軌跡推定部と、を有する。ウェアラブルデバイス１０が軌跡推定装置としての機能を備え、ウェアラブルデバイス１０のＣＰＵ１１が、上記信頼度判定部、更新タイミング判定部、更新部及び軌跡推定部としての機能を備える。
【０２４２】
本実施形態では、移動速度の算出にケイデンスとギア値（歩行時は歩幅）というパラメータを導入したことにより、ギアが変わらない限りは、ケイデンスさえ得られれば安定して速度算出が可能である。
【０２４３】
また、本実施形態では、サイクリングの軌跡を推定する軌跡推定装置が提供される。軌跡推定装置は、角速度と地磁気の各々から算出した値を用いて、角速度と地磁気のいずれを方向指定として選択するのかを判定する地磁気信頼度判定部と、方向指定で選択した角速度又は地磁気を用いて自律航法により軌跡を推定する軌跡推定部と、を有する。ウェアラブルデバイス１０が軌跡推定装置としての機能を備え、ウェアラブルデバイス１０のＣＰＵ１１が、上記地磁気信頼度判定部及び軌跡推定部としての機能を備える。
【０２４４】
例えば、進行方向について、本来は誤差の累積しない地磁気を積極的に採用したいが、サイクリングの場合自動車に近づいたときに生じる外乱により乱れが頻繁に発生するため、地磁気の信頼度推定を行なうことにより、選択的に地磁気かジャイロを使用している。
【０２４５】
本実施形態によれば、ＧＰＳの観測環境が悪くても、サイクリングなどにおける移動軌跡を精度良く算出することが可能となる。
【０２４６】
図３のメインルーチンにおいて、ステップＳ１０７の軌跡推定の処理後、ＣＰＵ１１は、速度推定の処理を実行する（ステップＭ１０８）。速度に関し、ＧＰＳ測位情報の信頼度が高い場合、ＣＰＵ１１は、ＧＰＳ測位で得られるドップラーシフト値により０．１［ｍ／秒］以下の精度で移動速度の情報を取得する。
【０２４７】
またＧＰＳ測位情報の信頼度が低い場合、ＣＰＵ１１は、上記軌跡推定により得た軌跡の距離と時間とから速度を算出する。
【０２４８】
その後にＣＰＵ１１は、カロリー推定の処理を実行する（ステップＭ１０９）。
【０２４９】
本実施形態では、カロリー推定として、国立・栄養研究所が公開している「改訂版『身体活動のメッツ（ＭＥＴｓ）表』」に準拠して、ウェアラブルデバイス１０で解析した情報を加味して消費カロリーを推定するものとする。ＭＥＴｓ（ＭＥＴａｂｏｌｉｃ  ｅｑｕｉｖａｌｅｎｔｓ）は、運動強度の単位であり、安静時を１として、その何倍のエネルギーを消費するかで活動の強度を表すものである。
【０２５０】
図２６は、カロリー推定のサブルーチンの詳細な処理内容を示すフローチャートである。ＣＰＵ１１は、まず行動推定がシッティングまたはダンシングであるか否かを判断する（ステップＳ８０１）。
【０２５１】
行動推定がシッティングまたはダンシングであると判断した場合（ステップＳ８０１のＹｅｓ）、ＣＰＵ１１は、速度と勾配とからＭＥＴｓを算出する（ステップＳ８０２）。
【０２５２】
図２７（Ａ）は、シッティング／ダンシングの場合のＭＥＴｓを説明する図である。図２７（Ａ）−１が速度ＭＥＴｓを示し、図２７（Ａ）−２が勾配ＭＥＴｓを示す。これら、速度ＭＥＴｓと勾配ＭＥＴｓとを加算した和を求める。
【０２５３】
図２７（Ａ）−１に示すように、速度ＭＥＴｓでは、  
速度７．２３［ｋｍ／時］未満で、固定値１．８ＭＥＴｓ、  
速度７．２３［ｋｍ／時］以上、速度３６．７６［ｋｍ／時］未満で、  
ＭＥＴｓ＝０．４７×速度［ｋｍ／時］−１．６３                    …(1)  
速度３６．７６［ｋｍ／時］以上で、固定値１５．８ＭＥＴｓ  
となる。
【０２５４】
また図２７（Ａ）−２に示すように、勾配ＭＥＴｓでは、勾配０［％］以上で、
ＭＥＴｓ＝０．５５×勾配［％］                                      …(2)  
を速度ＭＥＴｓと加算する。
【０２５５】
さらにＣＰＵ１１は、行動推定がダンシングであるか否かを判断する（ステップＳ８０３）。行動推定がダンシングであると判断した場合にのみ（ステップＳ８０３のＹｅｓ）、ＣＰＵ１１は、上記算出したＭＥＴｓに固定値１．５ＭＥＴｓを加算して更新する（ステップＳ８０４）。
【０２５６】
上記式（１）は、ＭＥＴｓ表から自転車の走行速度に言及している項目（コード：０１０１８，０１０１９，０１０２０，０１０３０，０１０４０，０１０５０）を抽出し、それぞれの中間速度でＭＥＴｓ値を定め（図２７（Ａ）−１のプロット点位置を参照）、線形回帰によりモデル化した。
【０２５７】
速度７．２３［ｋｍ／時］未満については、後述する慣性走行時のＭＥＴｓを１．８ＭＥＴｓと定めたために下限値として設定した固定値である。
【０２５８】
また速度３６．７６［ｋｍ／時］以上では、自転車の速度に関するＭＥＴｓ表の上限が１５．８ＭＥＴｓであったため、それを上回らないように上限を設定した結果である。
【０２５９】
さらに式（２）の勾配ＭＥＴｓは、ＭＥＴｓ表のコード：０１００３とコード：０１００９に基づき、自転車走行時の登り坂分のＭＥＴｓを５．５ＭＥＴｓと算出し、その際の勾配を１０［％］と仮定して、勾配によるＭＥＴｓ増加分を線形回帰によりモデル化した結果である。
【０２６０】
また上記ステップＳ８０４で説明したダンシング時の増加分は、ＭＥＴｓ表のコード：０１０６６と、上記式（１）における１９．３［ｋｍ／時］時のＭＥＴｓ値を算出し、ダンシング時の増加分として算出した結果である。
【０２６１】
また上記ステップＳ８０１において、行動推定がシッティングまたはダンシングではないと判断した場合（ステップＳ８０１のＮｏ）、次にＣＰＵ１１は、行動推定が歩行であるか否かを判断する（ステップＳ８０５）。  
行動推定が歩行であると判断した場合（ステップＳ８０５のＹｅｓ）、ＣＰＵ１１は、速度ＭＥＴｓと勾配ＭＥＴｓとから、ＭＥＴｓを算出する（ステップＳ８０６）。
【０２６２】
図２７（Ｂ）は、歩行時のＭＥＴｓを説明する図である。図２７（Ｂ）−１が速度ＭＥＴｓを示し、図２７（Ｂ）−２が勾配ＭＥＴｓを示す。これら、速度ＭＥＴｓと勾配ＭＥＴｓとを加算した和を求める。
【０２６３】
図２７（Ｂ）−１に示すように、速度ＭＥＴｓでは、  
速度３．２［ｋｍ／時］未満で、  
ＭＥＴｓ＝０．４７×速度［ｋｍ／時］＋１．３                        …(3)  
速度３．２［ｋｍ／時］以上、速度８．０［ｋｍ／時］未満で、  
ＭＥＴｓ＝０．２４×速度２−１．５×速度＋５．２                    …(4)  
速度８．０［ｋｍ／時］以上で、固定値８．４ＭＥＴｓ  
となる。
【０２６４】
また図２７（Ｂ）−２に示すように、勾配ＭＥＴｓでは、勾配０［％］以上で、
ＭＥＴｓ＝０．４２×勾配［％］                                        …(5)  
を速度ＭＥＴｓと加算する。
【０２６５】
さらにＣＰＵ１１は、歩行時全般において、固定値０．８ＭＥＴｓを加算して更新する。
【０２６６】
上記式（３）は、後述する停止時のＭＥＴｓを１．３と定めたため、速度０［ｋｍ／時］のＭＥＴｓを１．３、ＭＥＴｓ表で定義されている歩行速度の下限３．２［ｋｍ／時］とその時のＭＥＴｓ値２．８から、線形回帰によりモデル化した。
【０２６７】
上記式（４）は、ＭＥＴｓ表から歩行速度に言及している項目（コード：１７１５２，１７１７０，１７１９０，１７２００，１７２２０，１７２３０，１７２３１）を抽出し、（図２７（Ｂ）−１のプロット点位置を参照）、非線形回帰によりモデル化した。
【０２６８】
速度８．０［ｋｍ／時］以上については、歩行速度として定義されている上限である８．０［ｋｍ／時］で打ち切るものとし、上記式（４）によりそのときのＭＥＴｓを算出した。
【０２６９】
また勾配ＭＥＴｓの式（５）では、歩行時の速度と勾配についてＭＥＴｓ表で言及している項目（コード：１７２１０，１７２１１，１７２３５）を抽出し、上記式（４）から速度分のＭＥＴｓを減算して、歩行時の勾配による増加分を線形回帰によりモデル化した。
【０２７０】
さらに、歩行時全般において、固定値０．８ＭＥＴｓを加算したのは、本実施形態で主に対象とする歩行が、自転車の押し歩きである可能性が高いことを踏まえて、比較的に自転車の押し歩きに近い状況とその時の速度に言及しているＭＥＴｓ表の項目（コード：１７１００）を抽出し、上記式（４）から速度分のＭＥＴｓを減算し、歩行時の自転車の押し歩きによる増加分として算出したものである。
【０２７１】
また上記ステップＳ８０５において、行動推定が歩行でもないと判断した場合（ステップＳ８０５のＮｏ）、次にＣＰＵ１１は、行動推定が慣性走行であるか否かを判断する（ステップＳ８０７）。  
行動推定が慣性走行であると判断した場合（ステップＳ８０７のＹｅｓ）、ＣＰＵ１１は、ＭＥＴｓ値を固定値１．８とする（ステップＳ８０８）。  
すなわち、慣性走行は静止状態に近いが、自転車の走行によって生じる空気抵抗や路面からの振動に対して主に上半身でバランスをとっている分、カロリー消費が発生するものと仮定して、比較的状況の似通った項目（コード：１５４０８）をＭＥＴｓ表から抽出した結果が、固定値１．８ＭＥＴｓである。
【０２７２】
また上記ステップＳ８０７において、行動推定が慣性走行でもないと判断した場合（ステップＳ８０７のＮｏ）、自動的に行動推定は静止であることとなるので、ＣＰＵ１１は、ＭＥＴｓ値を固定値１．３とする（ステップＳ８０９）。  
これは、ＭＥＴｓ表から該当する項目（コード：０７０２１）を抽出した結果である。
【０２７３】
以上、行動推定が、シッティングまたはダンシングである場合、歩行である場合、慣性走行である場合、及び静止である場合についてそれぞれＭＥＴｓ値を算出した後、ＣＰＵ１１は、消費カロリーを、次式  
カロリー＝ＭＥＴｓ値×１．０５×単位時間［秒］×体重［ｋｇ］  
により算出し（ステップＳ８１０）、以上で上記図２６のカロリー推定を終了する。
【０２７４】
図３のメインルーチンにおいて、ＣＰＵ１１は次に前傾角推定の処理を実行する（ステップＭ１１０）。前傾角は、サイクリストＣＬが腰に装着したウェアラブルデバイス１０が重力軸である鉛直方向からどれだけ進行方向に傾いているのかを表す。
【０２７５】
これは特に、自転車ＢＣがロードレーサータイプである場合において、ドロップハンドルを持つ手のポジション（ドロップポジション、ブラケットポジション、アップライトポジションなど）が、自転車ＢＣを漕いでいる区間の地形や競技状況に応じて随時変化するため、自転車での活動を表現する上で重要となる。特に、ロードバイクにおいては、上記各ポジションは、サイクリストＣＬが頑張って漕いでいる区間やリラックスして漕いでいる区間などを反映するため、自転車での一連の活動を把握する上で重要である。
【０２７６】
図２８は、サイクリストＣＬのブラケットポジション及びドロップポジションと、サイクリストＣＬのウェアラブルデバイス１０の取付位置の高さ（低／中／高）とに応じた、ウェアラブルデバイス１０の前傾角の推定内容を例示する図である。
【０２７７】
ＣＰＵ１１は、加速度センサ２１の出力から、無限インパルス応答フィルタであるカルマンフィルタ処理により、重力方向のｘ軸回りの角を算出することで、上記前傾角を推定する。図２８に示すように、取付位置が低いときの前傾角は、例えば、ブラケットポジションで０［°］、ドロップポジションで５［°］と推定される。また、取付位置が中程度のときの前傾角は、例えば、ブラケットポジションで１５［°］、ドロップポジションで２５［°］と推定される。さらに、取付位置が高いときの前傾角は、例えば、ブラケットポジションで３５［°］、ドロップポジションで５５［°］と推定される。
【０２７８】
前傾角推定を終えると、ＣＰＵ１１は以上で計測、推定した解析結果を取り纏めてメモリカード１７に記録、保存させると共に、このウェアラブルデバイス１０とペアリングしている外部機器３０が設定されている場合には、通信インタフェイス１４を介して上記解析結果を当該外部機器３０に送信する（ステップＭ１１１）。
【０２７９】
ＣＰＵ１１は、以上で活動時に一定周期、例えば１［秒］毎に行なう一連の計測処理を終え、次の計測に備えて上記ステップＭ１０１からの処理に戻る。
【０２８０】
こうして上記ステップＭ１０１〜Ｍ１１１の処理を繰返し実行することにより、ＣＰＵ１１は活動中の各種センサを用いた計測動作を実行し、その解析結果を順次格納していく。
【０２８１】
その後、ＣＰＵ１１が、操作部１６の計測のスタート／エンドを指示するキーの操作を受付け、上記ステップＭ１０１において、計測を継続しないと判断すると（ステップＭ１０１のＮｏ）、次にＣＰＵ１１は、それまでの活動中に蓄積したデータに対するクラスタリング処理を実行する（ステップＭ１１２）。
【０２８２】
クラスタリング処理は、ウェアラブルデバイス１０のＣＰＵ１１で実行してもよいし、ウェアラブルデバイス１０から解析結果を受信した外部機器３０のＣＰＵ３１が実行してもよい。すなわち、クラスタリング処理を実行する活動記録データ処理装置は、ウェアラブルデバイス１０であってもよいし、スマートフォンやＰＣなどの外部機器３０であってもよい。
【０２８３】
クラスタリング処理では、任意の解析項目を適切に表現してユーザに提示する。速度を例にした場合、ユーザの身体能力や活動の目的によって、速度が採り得る値の平均や範囲は大きく異なるものとなる。速度をヒートマップの如く色分けして表示する場合、画一的な絶対値で色分けを行なうと、ユーザの感覚では遅速をつけたつもりでもほぼ一色で表示されてしまうなど、所望しない結果が得られることもあり得る。そこでクラスタリング処理を行なうことで、同一活動内での速度などの後述する対象項目の相対的な変化を適切に表現することが可能となる。
【０２８４】
クラスタリングのもう一つの目的として、項目の絶対値では判断が困難であり、あるいは意味が判読できない解析結果に、適切な意味を付与することがある。ここでは、例えば前傾角とギア値とについて説明する。
【０２８５】
前傾角は、図２８を参照して上述したように、サイクリストＣＬがウェアラブルデバイス１０を装着する位置の変化、サイクリストＣＬのポジションの変化によって、容易に検出結果が異なることとなる。ウェアラブルデバイス１０をクリップでサイクリストＣＬのウエアに装着する場合、その日にサイクリストＣＬが着用するウエアによってもウェアラブルデバイス１０の装着位置は容易に変化する。そのため、ウェアラブルデバイス１０で得られる前傾角の絶対値のみでは、サイクリストＣＬのポジションを示す前傾の度合いを判断することは難しい。そこで、前述したクラスタリング処理を実行することにより、同一活動中でのポジションを示す前傾の度合いを適切に表現することが可能となる。
【０２８６】
ギア値は、本実施形態ではクランクペダル１回転当たりで進む距離を示すものとする。一般的なユーザの感覚では、ギアの重さを示す指標に相当する。このギア値は、自転車ＢＣのタイヤ径やギア比によって変化するため、絶対値だけでは判断を行なうことが難しいが、クラスタリング処理を実行することで、同一活動中でのギアの重さを適切に分類して表現することが可能となる。
【０２８７】
本実施形態では、クラスタリング処理の前提として、ウェアラブルデバイス１０のユーザが、予め任意の解析項目をクラスタリング処理の対象として選択しているものとする。また、クラスタ数及び値の幅は不明であり、クラスタ間のサイズに大きな偏りがあるとする。
【０２８８】
図２９は、ＣＰＵ１１が実行するクラスタリング処理のサブルーチンの詳細な処理内容を示すフローチャートである。ＣＰＵ１１は、まずクラスタリング処理を行なうべく設定されている対象項目があるか否かを判断する（ステップＳ９０１）。
【０２８９】
対象項目があると判断すると（ステップＳ９０１のＹｅｓ）、ＣＰＵ１１はその活動全体での対象項目のデータをメモリカード１７から読出すと共に、対応する参照テーブルをプログラムメモリ１３から読出して取得する（ステップＳ９０２）。
【０２９０】
図３０は、プログラムメモリ１３に記憶される参照テーブルの内容を例示するものである。ここでは「サイクリング」と「トレッキング」の２つの活動に応じて行動分類を定義している。加えて、その活動に適した項目毎に、対象とする行動と、最小分割幅となる基本単位とを定義している。最小分割幅は、サイクリストあるいはトレッカーの身体能力や活動の目的に応じて適宜設定可能である。
【０２９１】
サイクリングの場合には、上記の通り、シッティング、ダンシング、慣性走行、歩行、停止の５つの行動分類がある。また、クラスタリング処理の対象として、速度、前傾角、ギア値、ケイデンス、高度、温度、勾配、横傾き角の８つの項目がある。速度、前傾角、ギア値、ケイデンス、高度、温度、勾配は、既出である。横傾き角は、鉛直方向に対するサイクリストＣＬの身体の傾きの角度であり、ジャイロセンサ２２のｚ軸方向の出力ＧｙｒＺから算出される（体動を除いた）角速度と速度から算出される遠心力と、重力の比から取得される値である。項目ごとに対象とする行動と最小分割幅が設定されており、例えば、項目が速度である場合の対象とする行動はシッティング、ダンシング、慣性走行であり、最小分割幅は、例えば２［ｋｍ／ｈ］である。
【０２９２】
ウェアラブルデバイス１０は、サイクリングの他、トレッキングにおける活動記録にも用いられる。トレッキングの場合には、歩行、走行、乗り物、停止の４つの行動分類がある。すなわち、
・歩行：所定の移動速度以上の速度で進んでいる状態  
・走行：歩行よりも早い所定の移動速度以上の速度で進んでいる状態  
・乗り物：電車、自動車、ロープウェイ等の乗り物に乗って移動している状態  
・停止：上記以外の行動。主に止まっている状態を想定。
【０２９３】
これら４つの行動が、一連のトレッキング活動記録に対して本実施形態から類推される行動推定処理によって行動推定結果として得られる。
【０２９４】
また、クラスタリング処理の対象として、速度、高度、温度、斜度の４つの項目がある。項目ごとに対象とする行動と最小分割幅が設定されており、例えば、項目が速度である場合の対象とする行動は、歩行、走行であり、最小分割幅は、例えば０．５［ｋｍ／ｈ］である。
【０２９５】
次にＣＰＵ１１は、取得した参照テーブルとその時点の対象項目とにより、行動推定結果から該当する時刻値分のデータのみを抽出する（ステップＳ９０３）。
【０２９６】
例えば対象項目が前傾角である場合、取得した参照テーブルに基づけば、対象とする行動はシッティング、ダンシング、慣性走行である。すなわち、行動推定結果が歩行あるいは停止である時点での前傾角のデータは、自転車による活動の観点からは重要ではなく、ノイズ要素となるため、この抽出処理によって除外するものとする。すなわち、ノイズ除去の一種として行動推定結果が利用される。
【０２９７】
次にＣＰＵ１１は、抽出したデータから、極端に外れた値をノイズ成分として除去する（ステップＳ９０４）。
【０２９８】
その後、ＣＰＵ１１は残ったデータに対して平均と正規分布に基づく標準偏差とを算出する（ステップＳ９０５）。算出した平均と標準偏差とにより、所定σ内を所定数で分割する（ステップＳ９０６）。
【０２９９】
ここで所定σは、データ分布中のどの程度の散らばりまでを着目したいかによって決定されるもので、例えば平均値から±３σの範囲を対象とする。
【０３００】
また分割する所定数は、最大で何分割まで定義するか、あるいは分割幅の分解能をどの程度にするか、によって予め設定される。例えば３分割すると設定されていた場合、所定σ内を３分割し、さらに所定σを外れる、所定σ以上、所定σ以下を含んで計５分割として、最大クラスタ数が定められる。
【０３０１】
ＣＰＵ１１は、上記分割により定められた分割幅が、参照テーブルで定義される最小分割幅よりも小さいか否かを判断する（ステップＳ９０７）。
【０３０２】
ここで上記分割により定められた分割幅が最小分割幅よりも小さいと判断した場合にのみ（ステップＳ９０７のＹｅｓ）、ＣＰＵ１１は定義されている最小分割幅によって再分割を行なう（ステップＳ９０８）。
【０３０３】
この最小分割幅による再分割は、例えば対象項目が前傾角であって同一活動中に常に同じポジションで走行していた場合、殆ど角度が変化しないため、１つのクラスタとして出力されることが望ましいと考えられるので、予め定義された最小分割幅、例えば前傾角は２［°］、により、過度に分割を行なうことを防ぐ目的で行なう処理である。
【０３０４】
上記ステップＳ９０７において、上記分割により定められた分割幅が最小分割幅以上であると判断した場合（ステップＳ９０７のＮｏ）、ＣＰＵ１１は上記ステップＳ９０８の再分割処理を実行しない。
【０３０５】
最後に、ＣＰＵ１１は分割した領域毎にラベリングを行なう（ステップＳ９０９）。この際、目的に応じて、上記ステップＳ９０３で抽出しなかった行動推定結果の領域や、ステップＳ９０４で除去した外れ値についても、相当するラベリングを行なっても良い。これは例えば、対象項目が速度であった場合に、クラスタリングの計算からは歩行時の速度は除外したいが、最終的な分類毎の色分けには、表示上の連続性の点からも反映したい場合などが考えられる。すなわち、最終的には、クラスタリングの計算では除外した歩行時の速度も含めた同一活動中の全ての速度を連続的にラベリングすることができる。
【０３０６】
こうして１つの対象項目についてラベリングまでの処理を一連のクラスタリング処理として、ＣＰＵ１１は上記ステップＳ９０１に戻り、対象項目毎に同様の処理を実行する。
【０３０７】
そして、全ての対象項目について上記クラスタリング処理を実行した後、上記ステップＳ９０１において、対象項目がないと判断すると（ステップＳ９０１のＮｏ）、以上でこの図２９によるクラスタリング処理を終了する。
【０３０８】
クラスタリング処理終了後、処理済みの対象項目のデータがサイクリスト等のユーザに提示される。例えば、ウェアラブルデバイス１０のＣＰＵ１１がクラスタリング処理を実行した場合には（図２Ａ参照）、バスＢを介して、ウェアラブルデバイス１０の不図示のディスプレイに処理済みの対象項目の色分けされたデータが表示されてもよいし、バスＢから通信インタフェイス１４、アンテナ１９を介して外部機器のディスプレイに表示されてもよい。また、例えば、外部機器３０のＣＰＵ３１がクラスタリング処理を実行した場合には（図２Ｂ参照）、バスＢ１を介して、外部機器３０のディスプレイ３４に処理済みの対象項目の色分けされたデータが表示されてよい。例えば、対象項目が速度である場合、計測・解析された一連の活動の軌跡上に色分けされた速度データが重ねて表示される。
【０３０９】
なお、クラスタリング処理の対象項目の行動（行動推定結果）ごとにステップＳ９０５〜Ｓ９０８の処理を変えることも可能である。例えば、対象項目がケイデンスである場合、図３０の参照テーブルから、クラスタリング処理の対象とする行動はシッティング、ダンシング、歩行であるが、シッティング時やダンシング時のケイデンスは歩行時のケイデンスと大きく異なりうる。そこで、各行動に対応するクラスタ数に対して異なる最小分割幅での処理を行なうことにより、より適切なクラスタリングを行なうことが可能となる。
【０３１０】
以上により、本実施形態では、一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得して、行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出して、対象行動データに対してクラスタリングを行なう演算部を有する活動記録データ処理装置が提供される。ウェアラブルデバイス１０のＣＰＵ１１あるいは外部機器３０のＣＰＵ３１が活動記録データ処理装置の演算部としての機能を備える。
【０３１１】
本実施形態におけるクラスタリング処理では、各項目におけるクラスタ数が未知であったり、クラスタ間のサイズにも大きく差があったりする場合においても、平均・標準偏差等の基本的な手法を用いて、項目に応じた適切なクラスタリング処理を行うことが可能である。
【０３１２】
特に、このようなクラスタリング処理は、サイクリングやトレッキング、あるいはランニング、パドリング、サーフィンなどのアウトドアスポーツの活動記録に限らず、クラスタ数が未知であったりクラスタ間のサイズにばらつきがあったりする一連のデータの相対的な変化を適切に強調して提示したり、単なる絶対値表示ではそのものの持つ意味がわかりにくいデータをよりわかりやすく提示したりするのに有用である。
【０３１３】
また、本実施形態では、一連の活動記録に含まれる複数の項目（速度、前傾角、ギア値等）の各々に対して独立にクラスタリング処理を行なうことが可能である。これにより、ウェアラブルデバイス１０で取得可能な種々の項目に関して、ユーザに適切な提示を与えることができる。
【０３１４】
図３のメインルーチンでは、クラスタリング処理に続いて、ＣＰＵ１１がパワー推定の処理を実行する（ステップＭ１１３）。
【０３１５】
図３１は、パワー推定のサブルーチンの詳細な処理内容を示すフローチャートである。ＣＰＵ１１は、活動中の各時点のデータに関して、それぞれ以下のパワー推定を行なう。
【０３１６】
まずＣＰＵ１１は、その時点の気圧と気温のデータ取得する（ステップＳ９５１）。
【０３１７】
次にＣＰＵ１１は、空気密度係数を次式  
空気密度係数＝気圧[ｈＰａ]/(２．８７×(気温[℃]＋２７３．１５))/１．２９３  
により算出する（ステップＳ９５２）。
【０３１８】
さらにＣＰＵ１１は、前傾角の上記ステップＭ１１２でのクラスタリング結果から、ポジション係数を取得する（ステップＳ９５３）。因みにポジション係数としては、例えば  
ドロップポジション：ポジション係数＝１．０  
ブラケットポジション：ポジション係数＝１．２５  
アップライトポジション：ポジション係数＝１．３７５  
ダンシング：ポジション係数＝１．７２５  
を用いる。
【０３１９】
上記ドロップポジション、ブラケットポジション、及びアップライトポジションについては上記クラスタリングで行動推定がシッティングである場合を３つのクラスタに分割した結果から判別する一方で、ダンシングは行動推定の結果から判別する。
【０３２０】
次にＣＰＵ１１は、速度のデータを取得する（ステップＳ９５４）。
【０３２１】
ＣＰＵ１１は、上記取得した結果に基づいて空気抵抗を、次式  
空気抵抗［ｋｇｆ］＝０．００００７６３８×身長[ｃｍ]０．７２５×体重[ｋｇｆ]０．４２５ 
×速度[ｍ/秒]２×空気密度係数×ポジション係数  
により算出する（ステップＳ９５５）。
【０３２２】
なお、上記ウェアラブルデバイス１０で取得、解析したデータに加えて、ウェアラブルデバイス１０のユーザであるサイクリストＣＬの身長、体重、体重と上記自転車ＢＣや図示しない荷物の総和としての重さ、などは、いずれも事前にウェアラブルデバイス１０に設定済であるものとする。
【０３２３】
続いてＣＰＵ１１は、その時点の路面係数を直前の慣性走行の区間時に得た加速度から、重力加速度成分を除去した加速度３軸ノルムの分散により算出する（ステップＳ９５６）。
【０３２４】
上記図２２で説明した如く、路面状態によって慣性走行時の加速度の相違が現出する。路面係数は、滑らかに舗装された路面を１．０とし、舗装されていない路面を５．０程度として、加速度３軸ノルムの値に応じてその間で変動するように正規化する。
【０３２５】
ＣＰＵ１１は、得た路面係数を用いて、転がり抵抗係数を次式  
転がり抵抗係数＝タイヤ係数×路面係数  
により算出する（ステップＳ９５７）。
【０３２６】
ここでタイヤ係数は、一般的なロードレーサー用であれば、例えば０．００４程度、一般的なマウンテンバイク用であれば０．００８程度とするなど、使用するタイヤによって、０．００３〜０．０１０程度の範囲内で定めるが、ここでは既知の値であるものとする。
【０３２７】
次にＣＰＵ１１は、その時点での勾配のデータ取得する（ステップＳ９５８）。
【０３２８】
ＣＰＵ１１は、取得した勾配のデータを用いて、転がり抵抗を次式  
転がり抵抗[ｋｇｆ]＝重さ[ｋｇｆ]×cos(asin(勾配[％]×０．０１))
×転がり抵抗係数  
により算出する（ステップＳ９５９）。
【０３２９】
さらにＣＰＵ１１は、登坂抵抗を次式  
登坂抵抗[ｋｇｆ]＝重さ[ｋｇｆ]×勾配［％］×０．０１  
により算出する（ステップＳ９６０）。
【０３３０】
上記算出した空気抵抗、転がり抵抗、及び登坂抵抗により、ＣＰＵ１１は総合的な抵抗を、次式  
抵抗[ｋｇｆ]＝空気抵抗[ｋｇｆ]＋転がり抵抗[ｋｇｆ]＋登坂抵抗[ｋｇｆ]  
により算出する（ステップＳ９６１）。
【０３３１】
最後にＣＰＵ１１は、その時点のパワーを、次式  
パワー[Ｗ]＝抵抗[ｋｇｆ]×速度[ｍ／秒]×９．８１  
により算出する（ステップＳ９６２）。
【０３３２】
上記一連のパワー推定の処理を、活動中に記録した各時点において繰返し実行することにより、その活動全体を通して使用したパワーの総出力値［ｋＷｈ］を算出することができる。
【０３３３】
図３のメインルーチンにあっては、上記ステップＭ１１３のパワー推定の処理をもって一連の動作を終了する。
【０３３４】
なお、上記図３のステップＭ１１２以下のクラスタリング及びパワー推定の各処理に対する動作は、ウェアラブルデバイス１０の内部で実行するのではなく、ウェアラブルデバイス１０からのデータを受け取って格納した外部機器３０、例えばスマートフォンやパーソナルコンピュータ等で、予めインストールしていたアプリケーションプログラムに基づいて実行するものとしても良い。
【０３３５】
以上詳述した如く本実施形態によれば、装置の構成とその取り扱いとを簡易化しながら、サイクリング等を含む各種活動時の状況を克明に解析して記録することが可能となる。
【０３３６】
また上記実施形態にあっては、ウェアラブルデバイス１０にＧＰＳアンテナ２０及びＧＰＳ受信部１５を設けて、３次元空間内での経度／緯度／高度の絶対値を随時算出して、その信頼度に化する情報と共に活動状態の判定と解析に用いるものとしたので、測位衛星からの到来電波が利用できる環境下では、より正確且つ客観的に通過同状態を判定できる。
【０３３７】
さらに本実施形態にあっては、活動のジャンルとしてサイクリングをセットした場合に、サイクリストＣＬが身体に装着するウェアラブルデバイス１０のみによって、活動状態がシッティング、ダンシング、慣性走行、歩行、及び停止のいずれかであるかを判定して、さらに細部の情報と共に記録するものとしたので、一般的なサイクルコンピュータに比して取扱いをより一層簡易化しながら、詳細な情報を記録することができる。
【０３３８】
特にサイクリングの活動中のダンシング（立ち漕ぎ）と自転車を降りての歩行に関しては、身体の上下動の周期性等から、より正確にそれらの状態を判定することができる。
【０３３９】
加えて、サイクリングの活動中のシッティング（座り漕ぎ）に関しても、ジャイロセンサの出力する角速度と、加速度センサが出力する加速度の、経時的な変化の度合いから正確に状態を判定することができる。
【０３４０】
さらに上記シッティングの判定に関しては、ジャイロセンサの出力する角速度と、加速度センサが出力する加速度の信頼度に応じて、複数段階に分けて判定を行ない、その判定結果に基づいて、後に実行するケイデンスの算出等への利用の可否を設定するものとしたので、より信頼性の高い判定結果として活用可能となる。
【０３４１】
加えて上記実施形態では、サイクリングの活動中のシッティング、ダンシング、及び歩行時においては、合わせてケイデンスの値も算出するものとしたので、サイクリング時の状態をより詳細に判定することができる。
【０３４２】
上記ケイデンスの算出に当たっては、加速度センサとジャイロセンサの経時的な変化から正確な値を算出することができる。
【０３４３】
また上記実施形態では、活動中の速度と勾配とを合わせて判定するものとしたので、各種活動時の状況をさらに詳細に解析して記録することが可能となる。
【０３４４】
加えて本実施形態では、活動状態の判定結果に基づく消費カロリーを推定により算出し、算出した消費カロリーの推定値を活動判定の結果と合わせて記録するようにしたので、活動行程の各時点での消費カロリー及び全行程を通じての消費カロリーを認識することができ、栄養補給のタイミング等を適切に判断することができる。
【０３４５】
同様に本実施形態では、活動状態の判定結果に基づく出力パワーを推定により算出し、算出した出力パワーの推定値を活動判定の結果と合わせて記録するようにしたので、活動行程の各時点での出力パワー及び全行程を通じての出力パワーを認識することができ、活動行程でのペース配分等を適切に判断することができる。
【０３４６】
なお上記実施形態は、サイクリングの活動時に活動状態を判定する場合について説明したが、本発明は活動内容を限定するものではなく、サイクリング以外の活動、例えばトレッキング、トレイルランニング、カヌーイング、サーフィン等のアウトドアスポーツ、アウトドアとインドアとを問わず各種の球技スポーツ等においても、センサでの検出出力に対する適正な閾値設定を行なうことで、活動状態の判定を行なうことができる。
【０３４７】
その他、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０３４８】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得して、前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出して、前記対象行動データに対してクラスタリングを行なう演算部を具備する、活動記録データ処理装置。
［２］前記クラスタリングは、前記対象行動データに対して平均と標準偏差とを算出し、所定数で分割し、分割した前記対象行動データをラベリングすることによって行なわれる、［１］に記載の活動記録データ処理装置。
［３］前記データは、最小分割幅の情報が関連付けられており、前記クラスタリングは、前記所定数での分割における分割幅が設定され、前記分割幅は、前記最小分割幅以上である、［２］に記載の活動記録データ処理装置。
［４］前記一連の活動は、サイクリングであり、前記データは、速度と、前傾角と、ギア値と、ケイデンスと、高度と、温度と、勾配と、横方向き角との少なくとも１つを含む、［１］乃至［３］のいずれか１に記載の活動記録データ処理装置。
［５］前記データと関連付けられた、前記一連の活動における行動推定情報は、シッティング、ダンシング、慣性走行、歩行、停止の少なくとも１つを含む、［４］に記載の活動記録データ処理装置。
［６］前記一連の活動は、トレッキングであり、前記データは、速度と、高度と、温度と、斜度との少なくとも１つを含む、［１］乃至［３］のいずれか１に記載の活動記録データ処理装置。
［７］前記データと関連付けられた、前記一連の活動における行動推定情報は、歩行、走行、乗り物、停止の少なくとも１つを含む、［６］に記載の活動記録データ処理装置。
［８］一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得することと、前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出することと、前記対象行動データに対してクラスタリングを行なうことと、を含む、活動記録データ処理方法。
［９］一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得することと、前記行動推定情報に基づいて、前記データから対象とすべき対象行動データを抽出することと、前記対象行動データに対してクラスタリングを行なうことと、をコンピュータに実行させる、活動記録データ処理のためのプログラム。
【符号の説明】
【０３４９】
１０…ウェアラブルデバイス
１１…ＣＰＵ
１２…メインメモリ
１３…プログラムメモリ
１４…通信インタフェイス（Ｉ／Ｆ）
１５…ＧＰＳ受信部
１６…操作部
１７…メモリカード
１８…センサインタフェイス（Ｉ／Ｆ）
１９…アンテナ
２０…ＧＰＳアンテナ
２１…加速度センサ
２２…ジャイロセンサ
２３…地磁気センサ
２４…気圧センサ
２５…温度センサ
２６…心拍センサ
３０…外部機器
３１…ＣＰＵ
３２…メインメモリ
３３…プログラムメモリ
３４…ディスプレイ
３５…通信インタフェイス（Ｉ／Ｆ）
３６…アンテナ
Ｂ…バス
ＢＣ…自転車
ＣＬ…サイクリスト
ＣＮＴ…コントローラ
ＣＳ…カードスロット
【図１】
2019028919.tif 000003
【図２Ａ】
2019028919.tif 000004
【図２Ｂ】
2019028919.tif 000005
【図３】
2019028919.tif 000006
【図４】
2019028919.tif 000007
【図５】
2019028919.tif 000008
【図６】
2019028919.tif 000009
【図７】
2019028919.tif 000010
【図８】
2019028919.tif 000011
【図９】
2019028919.tif 000012
【図１０】
2019028919.tif 000013
【図１１】
2019028919.tif 000014
【図１２】
2019028919.tif 000015
【図１３】
2019028919.tif 000016
【図１４】
2019028919.tif 000017
【図１５】
2019028919.tif 000018
【図１６】
2019028919.tif 000019
【図１７】
2019028919.tif 000020
【図１８】
2019028919.tif 000021
【図１９】
2019028919.tif 000022
【図２０】
2019028919.tif 000023
【図２１】
2019028919.tif 000024
【図２２】
2019028919.tif 000025
【図２３】
2019028919.tif 000026
【図２４】
2019028919.tif 000027
【図２５】
2019028919.tif 000028
【図２６】
2019028919.tif 000029
【図２７】
2019028919.tif 000030
【図２８】
2019028919.tif 000031
【図２９】
2019028919.tif 000032
【図３０】
2019028919.tif 000033
【図３１】
2019028919.tif 000034
【手続補正書】
【提出日】平成30年10月9日(2018.10.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得する取得手段と、
前記行動推定情報に基づいて、前記データから当該データの一部のデータを抽出する抽出手段と、
前記一部のデータに対してクラスタリングを行なうクラスタリング手段と、
を具備する、活動記録データ処理装置。
【請求項２】
前記クラスタリング手段は、前記一部のデータに対して平均と標準偏差とを算出し、所定数で分割し、分割した前記一部のデータをラベリングすることによって前記一部のデータに対してクラスタリングを行なう、請求項１に記載の活動記録データ処理装置。
【請求項３】
前記データは、最小分割幅の情報が関連付けられており、
前記クラスタリングは、前記所定数での分割における分割幅が設定され、前記分割幅は、前記最小分割幅以上である、請求項２に記載の活動記録データ処理装置。
【請求項４】
前記一連の活動は、サイクリングであり、前記データは、速度と、前傾角と、ギア値と、ケイデンスと、高度と、温度と、勾配と、横傾き角との少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の活動記録データ処理装置。
【請求項５】
前記データと関連付けられた、前記一連の活動における行動推定情報は、シッティング、ダンシング、慣性走行、歩行、停止の少なくとも１つを含む、請求項４に記載の活動記録データ処理装置。
【請求項６】
前記一連の活動は、トレッキングであり、前記データは、速度と、高度と、温度と、斜度との少なくとも１つを含む、請求項１乃至３のいずれか１項に記載の活動記録データ処理装置。
【請求項７】
前記データと関連付けられた、前記一連の活動における行動推定情報は、歩行、走行、乗り物、停止の少なくとも１つを含む、請求項６に記載の活動記録データ処理装置。
【請求項８】
活動記録データ処理装置における活動記録データ処理方法であって、
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得する取得工程と、
前記行動推定情報に基づいて、前記データから当該データの一部のデータを抽出する抽出工程と、
前記一部のデータに対してクラスタリングを行なうクラスタリング工程と、
を含む、活動記録データ処理方法。
【請求項９】
活動記録データ処理装置のコンピュータを、
一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得する取得手段、
前記行動推定情報に基づいて、前記データから当該データの一部のデータデータを抽出する抽出手段、
前記一部のデータに対してクラスタリングを行なうクラスタリング手段、
として機能させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の一実施形態は、一連の活動に対して得られたデータと、前記データと関連付けられた、前記一連の活動における行動推定情報とを取得する取得手段と、前記行動推定情報に基づいて、前記データから当該データの一部のデータを抽出する抽出手段と、前記一部のデータに対してクラスタリングを行なうクラスタリング手段と、を具備する、活動記録データ処理装置である。