(57)【要約】【課題】ユーザに歩数計等でのコースを体感させることができること。【解決手段】歩行検出部１０７０は、歩行を検出する。昇降判定部１０７２は、歩行検出部１０７０が検出した歩行が、高度変化を伴うものであるか否かを判定する。歩数計数部１０７３は、昇降判定部１０７２の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する。【選択図】図１
2012168818.tif 000002
【特許請求の範囲】
【請求項１】
歩行を検出する歩行検出部と、
前記歩行検出部が検出した歩行が、高度変化を伴うものであるか否かを判定する昇降判定部と、
前記昇降判定部の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する歩数計数部と、
を備えることを特徴とする電子機器。
【請求項２】
前記歩数計数部は、前記昇降判定部が高度変化を伴わない歩行と判定した場合に、当該歩行を、高度変化を伴わない歩行の歩数として計数することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記昇降判定部は、高度変化が予め定めた閾値より大きいときは、高度変化を伴う歩行であると判定することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記昇降判定部は、上りの歩行であるか、下りの歩行であるかを判定し、
前記歩数計数部は、前記昇降判定部が上りの歩行であると判定した場合には、当該歩行を上りの歩行として、前記昇降判定部が下りの歩行であると判定した場合には、当該歩行を下りの歩行として、歩数を計数することを特徴とする請求項１から３のいずれか１項に記載の電子機器。
【請求項５】
前記歩数計数部が計数した上りの歩行の歩数、下りの歩行の歩数をそれぞれ別に表示する表示部を備えることを特徴とする請求項１から４のいずれか１項に記載の電子機器。
【請求項６】
前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが等しいときには、当該歩行によって、歩数を計数することを特徴とする請求項１から５のいずれか１項に記載の電子機器。
【請求項７】
前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが異なるときには、当該歩行を未加算歩行として、この歩行による歩数を計数した歩数に加えないことを特徴とする請求項１から６のいずれか１項に記載の電子機器。
【請求項８】
前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが等しいときに、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが異なるときに歩数に加えなかった前記未加算歩行による歩数を、歩数に加えることを特徴とする請求項５に記載の電子機器。
【請求項９】
請求項１から８のいずれか１項に記載の電子機器を備える歩数計。
【請求項１０】
電子機器のコンピュータに、歩行検出部が検出した歩行が、高度変化を伴うものであるか否かを判定する昇降判定手順、
前記昇降判定手順の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する歩数計数手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、歩数計、及びプログラムに関する。
【背景技術】
【０００２】
歩数計には、予め入力されたデータから出発地と目的地によって決定されるコースを選択し、歩数、及び歩幅から算出される歩行距離に基づいて、コースの距離に対する現在までの歩行の度合いをグラフ表示するものが知られている（特許文献１）。また、コースの高度変化の情報である高度変化係数のデータを保持し、高度変化計数に基づいて歩行コース上の歩行距離を補正して表示する歩行シミュレーション装置が開示されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１３９９６４号公報
【特許文献２】特開２００９−２０４５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１、及び２に記載の技術では、例えば、歩数計等のコースが登山コースであるにもかかわらず、実際には平坦な道を歩行してもコース上を進んでしまう。つまり、従来技術では、ユーザに歩数計等でのコースを体感させることができない場合があるという問題があった。
【０００５】
本発明は上記の点に鑑みてなされたものであり、ユーザに歩数計等でのコースを体感させることができる電子機器、歩数計、及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
（１）本発明は、上記の課題を解決するためになされたものであり、本発明の一様態は、歩行を検出する歩行検出部と、前記歩行検出部が検出した歩行が、高度変化を伴うものであるか否かを判定する昇降判定部と、前記昇降判定部の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する歩数計数部と、を備えることを特徴とする電子機器である。
【０００７】
（２）また、本発明の一様態は、上記の電子機器において、前記歩数計数部は、前記昇降判定部が高度変化を伴わない歩行と判定した場合に、当該歩行を、高度変化を伴わない歩行の歩数として計数することを特徴とする。
【０００８】
（３）また、本発明の一様態は、上記の電子機器において、前記昇降判定部は、高度変化が予め定めた閾値より大きいときは、高度変化を伴う歩行であると判定することを特徴とする。
【０００９】
（４）また、本発明の一様態は、上記の電子機器において、前記昇降判定部は、上りの歩行であるか、下りの歩行であるかを判定し、前記歩数計数部は、前記昇降判定部が上りの歩行であると判定した場合には、当該歩行を上りの歩行として、前記昇降判定部が下りの歩行であると判定した場合には、当該歩行を下りの歩行として、歩数を計数することを特徴とする。
【００１０】
（５）また、本発明の一様態は、上記の電子機器において、前記歩数計数部が計数した上りの歩行の歩数、下りの歩行の歩数をそれぞれ別に表示する表示部を備えることを特徴とする。
【００１１】
（６）また、本発明の一様態は、上記の電子機器において、前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが等しいときには、当該歩行によって、歩数を計数することを特徴とする。
【００１２】
（７）また、本発明の一様態は、上記の電子機器において、前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが異なるときには、当該歩行を未加算歩行として、この歩行による歩数を計数した歩数に加えないことを特徴とする。
【００１３】
（８）また、本発明の一様態は、上記の電子機器において、前記歩数計数部は、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが等しいときに、予め定められたコース上の高度変化と前記歩行検出部が検出した歩行時の高度変化とが異なるときに歩数に加えなかった前記未加算歩行による歩数を、歩数に加えることを特徴とする。
【００１４】
（９）また、本発明の一様態は、上記の電子機器を備える歩数計である。
【００１５】
（１０）また、本発明の一様態は、電子機器のコンピュータに、歩行検出部が検出した歩行が、高度変化を伴うものであるか否かを判定する昇降判定手順、前記昇降判定手順の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する歩数計数手順、を実行させるためのプログラムである。
【発明の効果】
【００１６】
本発明によれば、ユーザに歩数計等でのコースを体感させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る歩数計の構成を示す概略ブロック図である。
【図２】本実施形態に係る歩数計におけるＲＡＭに記憶されるデータの一例を示した図である。
【図３】本実施形態に係る歩数計における動作の一例を示したフローチャートである。
【図４】本実施形態に係る歩数計における表示の一例を示した図である。
【図５】本発明の第２の実施形態に係る歩数計の構成を示す概略ブロック図である。
【図６】本実施形態に係るコースデータの一例を示す概略図である。
【図７】本実施形態に係る歩数計における動作の一例を示したフローチャートである。
【図８】本実施形態に係る歩数計における表示の一例を示した図である。
【図９】本発明の第３の実施形態に係る歩数計の構成を示す概略ブロック図である。
【図１０】本実施形態に係る歩数計におけるＲＡＭに記憶されるデータの一例を示した図である。
【図１１】本実施形態に係る歩数計における別の動作の一例を示したフローチャートである。
【図１２】本実施形態に係る歩数計における表示の一例を示した図である。
【図１３】本実施形態に係る歩数計における歩行コースと表示とメモリで記憶する未加算歩数の関係を示す概略図である。
【発明を実施するための形態】
【００１８】
（第１の実施形態）
以下、図面を参照しながら本発明の第１の実施形態について詳しく説明する。
【００１９】
図１は、本発明の第１の実施形態に係る歩数計１（電子機器）の構成を示す概略ブロック図である。図示する例では、歩数計１は、加速度センサー１０１、Ａ／Ｄ変換部１０２、圧力センサー１０３、Ａ／Ｄ変換部１０４、ランダムアクセスメモリ（ＲＡＭ）１０５、読み出し専用メモリ（ＲＯＭ）１０６、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央演算装置）１０７、表示部１０８、時刻計測部１０９、入力部１１０、発振回路１１１、分周回路１１２、及び電池１１３を含んで構成される。ＣＰＵ１０７は、歩行検出部１０７０、高度算出部１０７１、昇降判定部１０７２、歩数計数部１０７３、総消費カロリー算出部１０７４、歩行距離算出部１０７５を含んで構成される。
【００２０】
加速度センサー１０１は、直交座標系のＸ成分、Ｙ成分、Ｚ成分について、歩数計１の加速度を検出する。加速度センサー１０１は、検出した各成分の加速度を示す電圧信号を生成し、生成した電圧信号をＡ／Ｄ変換部１０２に出力する。
Ａ／Ｄ変換部１０２は、加速度センサー１０１が出力した電圧信号をデジタル信号（加速度信号という）に変換する。Ａ／Ｄ変換部１０２は、変換後の加速度信号を歩行検出部１０７０に出力する。
圧力センサー１０３は、ピエゾ素子などを用いた圧力測定子を内蔵し、大気の圧力を測定する。圧力センサー１０３は、測定した圧力を示す電圧信号を生成し、生成した電圧信号をＡ／Ｄ変換部１０４に出力する。
Ａ／Ｄ変換部１０４は、圧力センサー１０３が出力した電圧信号をデジタル信号（圧力信号という）に変換する。Ａ／Ｄ変換部１０４は、変換後の圧力信号を高度算出部１０７１に出力する。
ＲＡＭ１０５は、ＣＰＵ１０７からデータを書き込まれ、読み出される。
ＲＯＭ１０６は、ＣＰＵ１０７が読み出すプログラム及びデータを記憶する。
【００２１】
ＣＰＵ１０７は、分周回路１１２から入力されたクロック信号に同期して演算処理を行う。ＣＰＵ１０７は、ＲＡＭ１０５及びＲＯＭ１０６が記憶するプログラム及びデータに基づいて、演算処理を行う。
ＣＰＵ１０７は、入力部１１０から、ユーザが入力した情報、例えば、歩数計の起動、終了、歩行コース選択等の情報を入力される。ＣＰＵ１０７は、時刻計測部１０９から計測した時刻を示す時刻情報を入力される。ＣＰＵ１０７は、入力された情報、及び、ＣＰU１０７の各部が生成した情報に基づいて表示情報を生成し、生成した表示情報を表示部１０８に出力する。
歩行検出部１０７０は、Ａ／Ｄ変換部１０２から入力された加速度信号に基づいて、歩行動作（一歩の歩行のことをいう）があったか否かを検出する。歩行検出部１０７０は、歩行動作があったと判定した場合は、歩行があったことを示す信号を昇降判定部１０７２に出力する。
高度算出部１０７１は、予めＲＯＭ１０６に記憶された圧力と高度との関係を表す変換係数に基づいて、Ａ／Ｄ変換部１０４から入力された圧力信号を高度値に変換する。高度算出部１０７１は、変換後の高度値を示す信号を昇降判定部１０７２に出力する。
【００２２】
昇降判定部１０７２は、歩行検出部１０７０から歩行があったことを示す信号が入力されたとき、高度算出部１０７１から入力された信号が示す高度値（歩行後高度値）と、ＲＡＭ１０５に書き込まれている高度値（歩行前高度値）とに基づき、現在の歩行が上り、平坦、下りのいずれであるかを判定する。ここで、歩行前高度値は、前回、歩行検出部１０７０から歩行があったことを示す信号が入力されたときに、高度算出部１０７１から入力された信号が示す高度値を、昇降判定部１０７２がＲＡＭ１０５に書き込みをしたものである。すなわち、昇降判定部１０７２は、歩行検出部１０７０が検出した歩行が、上り或いは下り（高度変化）を伴うものであるか、又は、平坦であるか（高度変化を伴わないものであるか）を判定する。
昇降判定部１０７２は、判定結果を示す信号を歩数計数部１０７３に出力する。また、昇降判定部１０７２は、高度算出部１０７１から入力された信号が示す高度値を、ＲＡＭ１０５に書き込む。
【００２３】
歩数計数部１０７３は、昇降判定部１０７２から入力された信号が示す判定結果に基づいて、ＲＡＭ１０５から読み出した歩数のうち、上り、平坦、又は、下りいずれかの歩数に、「１」を加える。具体的には、歩数計数部１０７３は、昇降判定部１０７２が上りの歩行であると判定した場合は、上りの歩数（上り歩数とも称する）に「１」を加える。歩数計数部１０７３は、昇降判定部１０７２が下りの歩行であると判定した場合には、下りの歩数（下り歩数とも称する）に「１」を加える。歩数計数部１０７３は、昇降判定部１０７２が平坦の歩行であると判定した場合には、平坦の歩数（平坦歩数とも称する）に「１」を加える。
歩数計数部１０７３は、いずれかの歩数に加算した場合には、加算後の歩数で、ＲＡＭ１０５に記憶された加算対象の歩数を更新する。
【００２４】
総消費カロリー算出部１０７４は、ＲＡＭ１０５に記憶された上り歩数、平坦歩数、下り歩数、及び、予め記憶された上り、平坦、下り毎の一歩あたり消費カロリーに基づいて、消費カロリーを算出する（式（１）参照）。なお、歩くピッチが速いか、遅いかに応じて、上り、平坦、下り毎の一歩あたり消費カロリーを変更しても良い。例えば、予め定められた時間に、歩数計測部が計測する歩数に比例して、ＲＡＭ１０５に記憶された一歩あたり消費カロリーを変更しても良い。総消費カロリー算出部１０７４は、算出した消費カロリーをＲＡＭ１０５に書き込む。
歩行距離算出部１０７５は、ＲＡＭ１０５に記憶された上り、平坦、下り毎の歩数、及び、予め記憶された上り、平坦、下り毎の一歩あたり歩幅に基づいて、歩行距離を算出する（式（２）参照）。歩行距離算出部１０７５は、算出した歩行距離をＲＡＭ１０５に書き込む。
表示部１０８は、入力された情報、及び、ＣＰU１０７の各部が生成した情報に基づいて生成された表示情報を表示する。
【００２５】
時刻計測部１０９は、時刻を計測し、計測した時刻を示す時刻情報をＣＰＵ１０７に出力する。
入力部１１０は、外部からの入力を受ける。例えば、ユーザは、歩数計の起動、終了、選択した歩行コース等を入力する場合に、入力部１１０に設けられたスイッチを用いて入力する。入力部１１０は、入力された情報をＣＰＵ１０７に出力する。
【００２６】
発振回路１１１は、内蔵する水晶振動子等の発振子が出力する信号を取得し、取得した信号を分周回路１１２に出力する。
分周回路１１２は、発振回路１１１から入力された信号を予め定めた分周比に応じて分周（周波数の低減）したクロック信号を出力する。予め定められた分周比とは、分周回路１１２において、ＣＰＵ１０７が動作するクロック周波数の範囲のクロック信号を出力するように定めたパラメータである。分周回路１１２は、発振回路１１１から入力した発振信号をカウンタ回路で計数し、その計数された値が分周比で設定した値に達したときに、一つのデジタルパルスをＣＰＵ１０７に出力する。
電池１１３は、歩数計の各部に電力を供給する。
【００２７】
図２は、本実施形態に係る歩数計におけるＲＡＭ１０５に記憶されるデータの一例を示した図である。この図において、ＲＡＭ１０５に記憶されるデータは、歩数、歩幅、一歩あたり消費カロリー（一歩歩む毎に消費するカロリー）、高度値、歩行距離、消費カロリーである。ここで、歩数、歩幅、一歩あたりカロリーは、上り、平坦、下り毎に記憶される。
【００２８】
歩数は、計測開始からの歩数の和であり、上り、平坦、下り毎に計数される。歩幅（ｍ）、及び、一歩あたりカロリー（ＫＣａｌ／歩）は、ユーザが入力部１１０を通じて入力された情報である。
高度値は、Ａ／Ｄ変換部１０４から入力された圧力情報に基づいて、高度算出部１０７１が算出したものであり、圧力情報が示す圧力値に予め定めた係数を乗じることにより求められたものである。
消費カロリーは総消費カロリー算出部１０７４が以下の式（１）を用いて算出したものである。また、歩行距離は、歩行距離算出部１０７５が式（２）を用いて算出したものである。
【００２９】
消費カロリー＝上り歩数×上り一歩あたりカロリー
＋平坦歩数×平坦一歩あたりカロリー
＋下り歩数×下り一歩あたりカロリー  ・・・  （１）
【００３０】
歩行距離＝上り歩数×上り歩幅
+平坦歩数×平坦歩幅
+下り歩数×下り歩幅  ・・・  （２）
【００３１】
次に、本実施形態に係る歩数計１の動作の一例について説明する。
図３は、本実施形態に係る歩数計１における動作の一例を示したフローチャートである。
【００３２】
（ステップＳ１０１）歩数計１は、歩数計１が動作するために必要な各種初期化を行う。具体的には、歩数計１は、発振回路１１１、及び分周回路１１２を起動する。分周回路１１２は、クロック信号を生成し、ＣＰＵ１０７を起動する。その後、ＣＰＵ１０７は、入力部１１０、時刻計測部１０９、表示部１０８などの初期化を行う。高度算出部１０７１は、Ａ／Ｄ変換部１０４から入力された圧力情報に基づいて、高度値を算出し、ＲＡＭ１０５に書き込む。ＣＰＵ１０７は、ＲＡＭ１０５に記憶された上り、平坦、下りの各歩数、歩行距離、高度値、及び消費カロリーに「０」を書き込む。その後、ステップＳ１０２に進む。
【００３３】
（ステップＳ１０２）歩行検出部１０７０は、Ａ／Ｄ変換部１０２が出力した加速度信号に基づき、歩行動作があったか否かを判定する。例えば、歩行検出部１０７０は、Ａ／Ｄ変換部１０２が出力した加速度信号の大きさが予め設定した閾値を超え、その後、予め定めた期間内に予め設定した別の閾値より小さくなったときに、一歩の歩行（歩行動作）があったと判定する。歩行検出部１０７０は、歩行動作があったと判定した場合には、ステップＳ１０３に進む。歩行動作がなかったと判定した場合には、ステップＳ１０２に戻る。
（ステップＳ１０３）高度算出部１０７１は、Ａ／Ｄ変換部１０４から入力された圧力情報に基づき、高度値（歩行後高度値）を算出する。昇降判定部１０７２は、高度算出部１０７１が算出した歩行後高度値を取得する。その後ステップＳ１０４に進む。
【００３４】
（ステップＳ１０４）昇降判定部１０７２は、ステップＳ１０３で算出された歩行後高度値と、ＲＡＭ１０５に書き込まれている歩行前高度値とに基づき、上り歩行中か否かを判定する。
具体的には、昇降判定部１０７２は、歩行後高度値から歩行前高度値を減じた値が予め定めた値（例えば、２０ｃｍ）を超える場合には、ステップＳ１０２で判定された歩行動作の歩行が上り歩行であると判定する（Ｙｅｓ）。その後、ステップＳ１０６に進む。一方、昇降判定部１０７２は、歩行後高度値から歩行前高度値を減じた値が予め定めた値以下の場合には、ステップＳ１０２で判定された歩行動作の歩行が上り歩行でないと判定する（Ｎｏ）。この場合、ステップＳ１０５に進む。
【００３５】
（ステップＳ１０５）昇降判定部１０７２は、ステップＳ１０３で算出された歩行後高度値と、ＲＡＭ１０５に書き込まれている歩行前高度値とに基づき、下り歩行中か否かを判定する。
具体的には、昇降判定部１０７２は、歩行後高度値から歩行前高度値を減じた値が予め定めた値（例えば、−２０ｃｍ）未満の場合は、ステップＳ１０２で判定された歩行動作の歩行が下り歩行であると判定する（Ｙｅｓ）。その後、ステップＳ１０７に進む。一方、昇降判定部１０７２は、歩行後高度値から歩行前高度値を減じた値が予め定めた値以上の場合には、ステップＳ１０２で判定された歩行動作の歩行が下り歩行でないと判定する（Ｎｏ）。この場合、ステップＳ１０８に進む。
【００３６】
（ステップＳ１０６）歩数計数部１０７３は、ＲＡＭ１０５から上り歩数を読み出し、読み出した上り歩数に「１」を加えた値を新たな上り歩数としてＲＡＭ１０５に書き込む。その後ステップＳ１０９に進む。
（ステップＳ１０７）歩数計数部１０７３は、ＲＡＭ１０５から下り歩数を読み出し、読み出した下り歩数に「１」を加えた値を新たな下り歩数としてＲＡＭ１０５に書き込む。その後ステップＳ１０９に進む。
（ステップＳ１０８）歩数計数部１０７３は、ＲＡＭ１０５から平坦歩数を読み出し、読み出した平坦歩数に「１」を加えた値を新たな平坦歩数としてＲＡＭ１０５に書き込む。その後ステップＳ１０９に進む。
なお、ステップＳ１０６、Ｓ１０７、Ｓ１０８において、昇降判定部１０７２は、ステップＳ１０３で取得した高度値をＲＡＭ１０５に書き込む。
【００３７】
（ステップＳ１０９）総消費カロリー算出部１０７４は、ＲＡＭ１０５から読み出した上り歩数、平坦歩数、下り歩数、及び、上り、平坦、下り各々での一歩あたりカロリーに基づいて、消費カロリーを算出する。総消費カロリー算出部１０７４は、算出した消費カロリーをＲＡＭ１０５に書き込む。
歩行距離算出部１０７５は、ＲＡＭ１０５から読み出した上り歩数、平坦歩数、下り歩数、及び、上り、平坦、下り各々での歩幅に基づいて、歩行距離を算出する。歩行距離算出部１０７５は、算出した歩行距離をＲＡＭ１０５に書き込む。その後ステップＳ１１０に進む。
【００３８】
（ステップＳ１１０）ＣＰＵ１０７は、ＲＡＭ１０５から歩行距離、歩数、上り、平坦、下りの各歩数、及び消費カロリーを読み出し、表示部１０８に表示する。表示の例については図４を用いて後述する。その後、ステップＳ１１１に進む。
（ステップＳ１１１）入力部１１０は、ユーザからの歩数計の終了の旨の入力があったか否かをＣＰＵ１０７に出力する。ＣＰＵ１０７は入力部１１０からの入力に基づき、歩数計の動作を終了するか否かを判定する。歩数計の動作を終了すると判定したとき（Ｙｅｓ）は、終了処理に進む。歩数計の動作を終了しないと判定したとき（Ｎｏ）は、ステップＳ１０２に戻る。
【００３９】
図４は、本実施形態に係る歩数計１における表示の一例を示す概略図である。図４において、歩数計１には、歩行距離、歩行数、平坦歩数、上り歩数、下り歩数、消費カロリーが表示されている。すなわち、表示部１０８は、平坦歩数、上り歩数、下り歩数をそれぞれ別に表示する。
【００４０】
このように、本実施形態によれば、歩行検出部１０７０が歩行を検出する。昇降判定部１０７２が、歩行検出部１０７０の検出した歩行が、高度変化を伴うものであるか否かを判定する。歩数計数部１０７３が、昇降判定部１０７２の判定結果に基づいて、高度変化を伴う歩行の歩数を計数する。歩数計数部１０７３が、昇降判定部１０７２が高度変化を伴わない歩行と判定した場合に、当該歩行を、高度変化を伴わない歩行の歩数として計数する。ここで、歩数計数部１０７３は、昇降判定部１０７２が上りの歩行であると判定した場合には、この歩行を上りの歩行として、昇降判定部１０７２が下りの歩行であると判定した場合には、この歩行を下りの歩行として、歩数を計数する。
これにより、歩数計１は、ユーザに、高度変化を伴う歩行の歩数と高度変化を伴わない歩行の歩数とを知らせることができ、高度変化を伴うコースを体感させることができる。
【００４１】
（第２の実施形態）
以下、本発明の第２の実施形態について、図面を参照しながら説明する。
本実施形態では、歩数計は、予め定められたコース上の高度変化（上り、平坦、下り）と検出した歩行時の高度変化とが等しいときに、歩数を計数する。
【００４２】
図５は、本実施形態に係る歩数計２の概略ブロック図を示す。本実施形態に係る歩数計２と第１の実施形態に係る歩数計１（図１）と、を比較すると、歩行コース選択部２０７６、位置判定部２０７７、及び、歩数計数部２０７３が異なる。しかし、他の構成要素の持つ機能は、第１の実施形態と同じである。第１の実施形態と同じ構成要素については説明を省略する。
【００４３】
歩行コース選択部２０７６は、ＲＯＭ１０６から、歩行コースの各コース名を読み出す。歩行コース選択部２０７６は、ＲＯＭ１０６から読み出した歩行コースの各コース名を表示部１０８に出力する。ユーザはコース名を選択し、入力部１１０を通じて、選択した歩行コースを入力する。入力部１１０は、ユーザから入力された歩行コースを歩行コース選択部２０７６に出力する。歩行コース選択部２０７６は、選択された歩行コースのコースデータ（図６参照）をＲＯＭ１０６から読み出し、読み出したコースデータをＲＡＭ１０５に書き込む。ここで、コースデータでは、コース名で識別される歩行コース各々についてコース情報が対応付けられている。コース情報では、区間を識別する区間番号、その区間の終了地点と歩行コースの出発地点からの距離、及び、その区間が上り、下り、平坦のいずれであるかを示す区間傾斜番号が対応けられている（図６参照）。
【００４４】
位置判定部２０７７は、ＲＡＭ１０５からコースデータ及び歩行距離を読み出す。位置判定部２０７７は、読み出したコース情報における歩行コースでの距離と、読み出した歩行距離に基づいて、ユーザが現在歩行している歩行区間を判定し、判定した区間の区間番号を決定する。具体的には、区間番号をｉ、区間番号ｉに対応する距離を距離（ｉ）としたときに、距離（ｉ−１）＜歩行距離≦距離（ｉ）を満たす区間番号ｉを決定する
位置判定部２０７７は、決定した区間番号に対応する区間傾斜番号に基づいて、歩行コースの傾斜を判定する。位置判定部２０７７は、決定した区間番号に対応する距離から歩行距離を減じた値を算出し、算出した値を目標地点までの距離として、ＲＡＭ１０５に書き込む。
【００４５】
歩数計数部２０７３は、昇降判定部１０７２から入力された信号が示す判定結果と、位置判定部２０７７が決定した区間番号に対応する区間傾斜番号と、に基づいて、ＲＡＭ１０５から読み出した歩数のうち、上り、平坦、又は、下りいずれかの歩数に、「１」を加える。
具体的には、歩数計数部２０７３は、昇降判定部１０７２が上りの歩行であると判定したときに、区間傾斜番号が上りを示す場合には上り歩数に「１」を加え、区間傾斜番号が上り以外を示す場合には上り歩数に「１」を加えない。歩数計数部２０７３は、昇降判定部１０７２が下りの歩行であると判定したときに、区間傾斜番号が下りを示す場合には下り歩数に「１」を加え、区間傾斜番号が下り以外を示す場合には下り歩数に「１」を加えない。歩数計数部２０７３は、昇降判定部１０７２が平坦の歩行であると判定したときに、区間傾斜番号が平坦を示す場合には平坦歩数に「１」を加え、区間傾斜番号が平坦以外を示す場合には平坦歩数に「１」を加えない。
つまり、歩数計数部２０７３は、昇降判定部１０７２が判定した上り、平坦、又は、下りと、区間傾斜番号が示す上り、平坦、又は、下りと、が一致した場合にのみ、その歩数に「１」を加える。すなわち、歩数計数部２０７３は、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが等しいときにのみ、この歩行によって、歩数を計数する。歩数計数部２０７３は、いずれかの歩数に加算した場合には、加算後の歩数で、ＲＡＭ１０５に記憶された加算対象の歩数を更新する。
【００４６】
図６は、本実施形態に係るコースデータの一例を示す概略図である。コースデータでは、コース名で識別される歩行コース各々についてコース情報が対応付けられている。コース情報では、区間番号、距離、及び、区間傾斜番号が対応けられている（図６参照）。
区間番号は１から始まる自然数であり、歩行コースの第１番目の区間を１として、歩行コースの最後の区間まで１ずつ増加する値を与えられる。距離は、コース開始地点から区間終了地点までの地図上の距離を表す。区間傾斜番号は、地図上のコースが上り、平坦、下りのいずれかを示す番号である。図６では、上りの値を１、平坦の値を０、下りの値を−１とする。地名は、各区間の終了する点の地名を表す。
【００４７】
次に、本実施形態に係る歩数計２の動作の一例について説明する。
図７は、本発明の第２の実施形態に係る歩数計２における動作の一例を示したフローチャートである。
【００４８】
（ステップＳ２０１）歩数計２は、歩数計２が動作するために必要な各種初期化を行う。具体的には、歩数計１は、発振回路１１１、及び分周回路１１２を起動する。分周回路１１２は、クロック信号を生成し、ＣＰＵ１０７を起動する。その後、ＣＰＵ１０７は、入力部１１０、時刻計測部１０９、表示部１０８などの初期化を行う。ＣＰＵ１０７は、Ａ／Ｄ変換部１０４から入力された圧力情報に基づいて、高度値を算出し、ＲＡＭ１０５に書き込む。ＣＰＵ１０７は、上り、平坦、下りの各歩数、歩行距離、及び消費カロリーを「０」に設定する。その後、ステップＳ２０２に進む。
【００４９】
（ステップＳ２０２）歩行コース選択部２０７６は、ＲＯＭ１０６から、歩行コースのコース名を読み出す。歩行コース選択部２０７６は、ＲＯＭ１０６から読み出した歩行コースのコース名を表示部１０８に出力する。ユーザは、入力部１１０を通じて、歩行コースを選択する。入力部１１０は、ユーザが選択した歩行コース名を歩行コース選択部２０７６に出力する。歩行コース選択部２０７６は、入力部１１０から入力された歩行コース名のコースデータをＲＯＭ１０６から読み出す。その後ステップＳ２０３に進む。
【００５０】
ステップＳ２０３〜ステップＳ２０６の各処理は、第１の実施形態（図３）におけるステップＳ１０２〜ステップＳ１０５の各処理と同様であるので、説明は省略する。ただし、ステップＳ２０５の判定が（Ｙｅｓ）の場合にステップＳ２０７に進み、ステップＳ２０６の判定が（Ｙｅｓ）の場合にステップＳ２０８に進み、及びステップＳ２０６の判定が（Ｎｏ）の場合にステップＳ２０９に進む。
【００５１】
（ステップＳ２０７）位置判定部２０７７は、ＲＯＭ１０６から読み出した歩行コースの距離と、ＲＡＭ１０５から読み出した歩行距離に基づいて、歩行距離に対応する歩行コースの区間番号を決定する。ＣＰＵ１０７は、位置判定部２０７７によって決定された区間番号に対応する区間傾斜番号に基づいて、歩行コースが上りであるか否か判定する。区間傾斜番号が「１」（上り）である場合（Ｙｅｓ）は、ステップＳ２１０に進む。それ以外は（Ｎｏ）ステップＳ２１５に進む。
（ステップＳ２０８）位置判定部２０７７は、ステップＳ２０７で決定した区間番号に対応する区間傾斜番号に基づいて、歩行コースが下りであるか否かを判定する。区間傾斜番号が「−１」（下り）である場合（Ｙｅｓ）は、ステップＳ２１１に進む。それ以外は（Ｎｏ）ステップＳ２１５に進む。
【００５２】
（ステップＳ２０９）位置判定部２０７７は、ステップＳ２０７で決定した区間番号に対応する区間傾斜番号に基づいて、歩行コースが平坦であるか否かを判定する。区間傾斜番号が「０」（平坦）である場合（Ｙｅｓ）は、ステップＳ２１２に進む。それ以外は（Ｎｏ）ステップＳ２１５に進む。
ステップＳ２１０〜ステップＳ２１２の各処理は、第１の実施形態（図３）におけるステップＳ１０６〜ステップＳ１０８の各処理と同様であるので、説明は省略する。
【００５３】
（ステップＳ２１３）総消費カロリー算出部１０７４は、ＲＡＭ１０５から読み出した上り歩数、平坦歩数、下り歩数、及び、上り、平坦、下り各々での一歩あたりカロリーに基づいて、消費カロリーを算出する。総消費カロリー算出部１０７４は、算出した消費カロリーをＲＡＭ１０５に書き込む。
歩行距離算出部１０７５は、ＲＡＭ１０５から読み出した上り歩数、平坦歩数、下り歩数、及び、上り、平坦、下り各々での歩幅に基づいて、歩行距離を算出する。歩行距離算出部１０７５は、算出した歩行距離をＲＡＭ１０５に書き込む。
位置判定部２０７７は、目標地点までの距離を算出し、ＲＡＭ１０５に書き込む。その後ステップＳ２１４進む。
【００５４】
（ステップＳ２１４）ＣＰＵ１０７は、表示部１０８に、目標地点までの距離、歩行距離、歩行数、平坦歩数、上り歩数、下り歩数、消費カロリーを表示する。その後ステップＳ２１５に進む。
（ステップＳ２１５）入力部１１０は、ユーザからの歩数計の終了の旨の入力があったか否かをＣＰＵ１０７に出力する。ＣＰＵ１０７は入力部１１０からの入力に基づき、歩数計の動作を終了するか否かを判定する。歩数計の動作を終了すると判定したとき（Ｙｅｓ）は、終了処理に進む。歩数計の動作を終了しないと判定したとき（Ｎｏ）は、ステップＳ２０３に戻る。
【００５５】
図８は、本実施形態に係る歩数計２における表示の一例を示す概略図である。図８において、歩数計１には、地名、目標地点までの距離、歩行距離、歩行数、平坦歩数、上り歩数、下り歩数、消費カロリーが表示されている。
【００５６】
このように、本実施形態によれば、歩数計数部２０７３は、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが等しいときには、この歩行によって、歩数を計数する。また、歩数計数部２０７３は、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが異なる場合には、この歩行を未加算歩行として、この歩行による歩数（未加算歩数という）を計数した歩数に加えない。
これにより、歩数計２では、ユーザに対して、コースを進行するためにコース上の高度変化と同じ高度変化の歩行を実際に行うよう促すことができ、また、高度変化の違いによる運動負荷を体感させることができる。
【００５７】
（第３の実施形態）
以下、本発明の第３の実施形態について、図面を参照しながら説明する。
本実施形態では、歩数計は、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが等しいときに、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが異なるときに歩数に加えなかった未加算歩行による歩数を、歩数に加える。
【００５８】
図９は、本実施形態に係る歩数計３の構成を表す概略ブロック図である。本実施形態に係る歩数計３と第２の実施形態に係る歩数計２（図５）と、を比較すると、コース昇降変化判定部３０７８、総歩行距離算出部３０７９、及び、歩数計数部３０７３が異なる。しかし、他の構成要素の持つ機能は、第２の実施形態と同じである。第２の実施形態と同じ構成要素については説明を省略する。
【００５９】
コース昇降変化判定部３０７８は、ＲＡＭ１０５から読み出したコースデータの区間番号に対応する距離を読み出す。コース昇降変化判定部３０７８は、歩行距離からコースの区間番号に対応する距離を減じた値（値Ａと呼ぶ）が正であるか否かを判定する。値Ａが正であると判定した場合は、コース昇降変化判定部３０７８は、新たな区間に入ったことを意味するため、区間番号を「１」増加させ、ＲＡＭ１０５に書き込む。
コース昇降変化判定部３０７８は、番号「１」増加させる前と後の区間番号に対応する区間傾斜番号が異なるか否かを判定する。区間傾斜番号が異なると判定した場合には、コース昇降変化判定部３０７８は、コースの高度変化（上り、平坦、下り）が変化したと判定して、番号「１」増加させた後の区間番号（新区間番号という）に対応する区間傾斜番号を、ＲＡＭ１０５に書き込む。
【００６０】
総歩行距離算出部３０７９は、ＲＡＭ１０５からコースの距離を読み出す。総歩行距離算出部３０７９は、ＲＡＭ１０５から上り歩数、平坦歩数、下り歩数、及び、上り、平坦、下り毎の未加算歩数、歩幅に基づいて、式（３）を用いて総歩行距離を算出する。
【００６１】
総歩行距離＝（上り歩数＋上り未加算歩数）×上り歩幅
+（平坦歩数＋平坦未加算歩数）×平坦歩幅
+（下り歩数＋下り未加算歩数）×下り歩幅  ・・・  （３）
【００６２】
歩数計数部３０７３は、第２の実施形態に係る歩数計数部２０７３が持つ機能に加えて、次の機能を持つ。
歩数計数部３０７３は、昇降判定部１０７２が判定した上り、平坦、又は、下りと、区間傾斜番号が示す上り、平坦、又は、下りと、が一致しない場合に、昇降判定部１０７２が判定した上り、平坦、又は、下りの未加算歩数に「１」を加える。歩数計数部３０７３は、いずれかの未加算歩数に加算した場合には、加算後の歩数で、ＲＡＭ１０５に記憶された加算対象の未加算歩数を更新する。
歩数計数部３０７３は、コース昇降変化判定部３０７８が区間傾斜番号が異なると判定した場合に、新区間番号に対応する未加算歩数を読み出し、新区間番号に対応する歩数に加算する。歩数計数部３０７３は、加算後に、新区間番号に対応する未加算歩数を「０」にする。
【００６３】
図１０は、本実施形態に係るＲＡＭ１０５に記憶されるデータを示す図である。本実施形態に係るＲＡＭ１０５に記憶されるデータは、第１の実施形態におけるＲＡＭ１０５に記憶されるデータ（図２）に加えて、区間番号、区間傾斜番号、及び未加算歩数の項目が新たに設けられている。図２で説明した項目については、説明を省略する。
未加算歩数は、昇降判定部１０７２が判定した上り、平坦、又は、下りと、区間傾斜番号が示す上り、平坦、又は、下りと、が一致しない場合に検出された歩行の歩数である。
【００６４】
次に、本実施形態に係る歩数計３の動作の一例について説明する。
図１１は、本発明の第３の実施形態に係る歩数計３における動作の一例を示したフローチャートである。
【００６５】
（ステップＳ３０１）歩数計３は、歩数計３が動作するために必要な各種初期化を行う。具体的には、歩数計３は、発振回路１１１、及び分周回路１１２を起動する。分周回路１１２は、クロック信号を生成し、ＣＰＵ３０７を起動する。その後、ＣＰＵ３０７は、入力部１１０、時刻計測部１０９、表示部１０８などの初期化を行う。ＣＰＵ３０７は、Ａ／Ｄ変換部１０４から入力された圧力情報に基づいて、高度値を算出し、ＲＡＭ１０５に書き込む。ＣＰＵ３０７は、上り、平坦、下りの各歩数、未加算歩数、歩行距離、実傾斜番号及び総消費カロリーに「０」を代入する。ＣＰＵ３０７は、区間番号に「１」を代入する。その後、ステップ３０２に進む。
ステップＳ３０２〜ステップＳ３１２の各処理は、第２の実施形態（図７）におけるステップＳ２０２〜ステップＳ２１２の各処理と同様であるので、説明は省略する。
【００６６】
（ステップＳ３１３）歩数計数部３０７３は、ＲＡＭ１０５から上り未加算歩数を読み出す。歩数計数部３０７３は、読み出した上り未加算歩数に「１」を加える。ＣＰＵはＲＡＭ１０５に上り未加算歩数を書き込む。
（ステップＳ３１４）歩数計数部３０７３は、ＲＡＭ１０５から下り未加算歩数を読み出す。歩数計数部３０７３は、読み出した下り未加算歩数に１を加える。ＣＰＵはＲＡＭ１０５に下り未加算歩数を書き込む。
（ステップＳ３１５）歩数計数部３０７３は、ＲＡＭ１０５から平坦未加算歩数を読み出す。歩数計数部３０７３は、読み出した平坦未加算歩数に１を加える。ＣＰＵはＲＡＭ１０５に平坦未加算歩数を書き込む。
【００６７】
（ステップＳ３１６）コース昇降変化判定部３０７８は、コースの高度変化（上り、平坦、下り）が変化したか否かを判定する。コースの高度変化が変化したと判定した場合は、ステップＳ３１７に進む。コースの高度変化が変化しなかったと判定した場合は、ステップＳ３１９に進む。
（ステップＳ３１７）歩数計数部３０７３は、新区間番号に対応する未加算歩数を読み出す。その後、ステップＳ３１８に進む。
（ステップＳ３１８）歩数計数部３０７３は、新区間番号に対応する未加算歩数を０にする。その後ステップＳ３１９に進む。
【００６８】
ステップＳ３１９、ステップＳ３２０の各処理は、第２の実施形態（図７）におけるステップＳ２１３、ステップＳ２１４の各処理と同様であるので、説明は省略する。
【００６９】
（ステップＳ３２１）総歩行距離算出部３０７９は、ＲＡＭ１０５から上り、平坦、下りの各歩数、各歩幅を読み出し、総歩行距離を算出する。その後、ステップＳ３２２に進む。
（ステップＳ３２２）ＣＰＵ３０７は、ＲＡＭ１０５から、コースの最後の区間の距離を読み出す。ＣＰＵ３０７は、総歩行距離算出部３０７９から出力された総歩行距離とコースの距離を比較し、総歩行距離がコースの最後の区間の距離の、例えば９５％を越える場合、ＣＰＵ３０７は、総歩行距離がコースの距離に近いと判定する。総歩行距離がコースの距離に近いと判断した場合（Ｙｅｓ）はステップＳ３２３に進む。総歩行距離がコースの距離に近くないと判断した場合（Ｎｏ）は、ステップＳ３２４に進む。
（ステップＳ３２３）ＣＰＵ３０７は、ステップＳ３２２で読み出したコースの最後の区間の距離から、総歩行距離を減じ、その値に基づいて、表示部１０８で表示される表示内容を、コース終点までの距離を含む表示に変更する。
（ステップＳ３２４）ＣＰＵ３０７は、入力部１１０から、歩数計の終了の信号の入力があったか否かを判定する。歩数計の終了の信号の入力があったと判定した場合は、終了処理へ進む。歩数計の終了の信号の入力がなかったと判定した場合は、ステップＳ３０３に進む。
【００７０】
図１２にステップS３２３において、コース終点までの距離を含む表示に変更された後の歩数計の表示の一例を示す。本例では、上から順に、コース終点までの距離、上り歩数、平坦歩数、下り歩数、消費カロリーが表示されている。
【００７１】
図１３は、本実施形態に係る歩数計３における歩行コースと表示とメモリで記憶する未加算歩数の関係を示す概略図である。
この図において、コースは、歩行コース選択部２０７６がＲOＭ１０６から読み込んだ歩行コースを表す。表示は、歩数計数部３０７３が計数し、表示部１０８に表示される歩数を表す。メモリは、ＲＡＭ１０５が記憶する上り、平坦、下り毎の未加算歩数を表す。
例えば、出発地点を含む区間の区間傾斜番号は、「０」（平坦）である。この場合、歩数計数部３０７３は、昇降判定部１０７２が平坦の歩行であると判定したときのみ、平坦歩数に「１」を加え、表示部１０８はその平坦歩数に表示を更新する。この場合、歩数計数部３０７３は、昇降判定部１０７２が上りの歩行であると判定したときには、上り未加算歩数に「１」を加えて、ＲＡＭ１０５に記憶する。一方、歩数計数部３０７３は、昇降判定部１０７２が下りの歩行であると判定したときには、下り未加算歩数に「１」を加えて、ＲＡＭ１０５に記憶する。
【００７２】
このように、本実施形態によれば、歩数計数部３０７３は、予め定められたコース上の高度変化と昇降判定部１０７２が検出した歩行時の高度変化とが等しいときに、予め定められたコース上の高度変化と歩行検出部１０７０が検出した歩行時の高度変化とが異なるときに歩数に加えなかった未加算歩行による歩数を、歩数に加える。
これにより、歩数計３では、ユーザに対して、コースを進行し、総歩数を増やすために、必要とされる高度変化の伴う歩行をするよう促すことができる。
【００７３】
なお、上述の各実施形態においては、高度を測定するために、圧力センサーが出力した圧力と、予めＲＯＭ１０６に記憶された圧力変化と高度変化の変換係数に基づいて、高度値を算出したが、高度の測定法はこれに限られず、ＧＰＳ（Ｇｒｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）が出力する高度データを用いても良い。また、上り、下りの判別には、加速度センサーが出力する加速度波形の上り、下りによる差異を利用してもよい。
【００７４】
なお、上述した各実施形態における歩数計が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００７５】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７６】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００７７】
１、２、３・・・歩数計（電子機器）、１０１・・・加速度センサー、１０２・・・Ａ／Ｄ変換部、１０３・・・圧力センサー（高度変化計測部）、１０４・・・Ａ／Ｄ変換部、１０５・・・ＲＯＭ、１０６・・・ＲＡＭ、１０７、２０７、３０７・・・ＣＰＵ、１０７０・・・歩行検出部、１０７１・・・高度算出部、１０７２・・・昇降判定部、１０７３、２０７３、３０７３・・・歩数計数部、１０７４・・・総消費カロリー算出部、１０７５・・・歩行距離算出部、２０７６・・・歩行コース選択部、２０７７・・・位置判定部、３０７８・・・コース昇降判定部、３０７９・・・総歩行距離算出部、１０８・・・表示部、１０９・・・時刻計測部、１１０・・・入力部、１１１・・・発振回路、１１２・・・分周回路、１１３・・・電池
【図１】
2012168818.tif 000003
【図２】
2012168818.tif 000004
【図３】
2012168818.tif 000005
【図４】
2012168818.tif 000006
【図５】
2012168818.tif 000007
【図６】
2012168818.tif 000008
【図７】
2012168818.tif 000009
【図８】
2012168818.tif 000010
【図９】
2012168818.tif 000011
【図１０】
2012168818.tif 000012
【図１１】
2012168818.tif 000013
【図１２】
2012168818.tif 000014
【図１３】
2012168818.tif 000015