(57)【要約】      （修正有）【課題】ユーザの状況に応じて、より正確に進行方向を推定する。【解決手段】情報処理装置は、加速度取得部５１と、下り判定部５３ａと、行動推定部５３と、進行方向推定部５５を備える。加速度取得部５１は、ユーザの行動によって発生する加速度を取得する。下り判定部５３ａは、ユーザが下り道を進行しているか否かを判定する。行動推定部５３は、加速度取得部５１によって取得された加速度及び下り判定部５３ａの判定結果に基づいて、ユーザの行動が下り歩行であるか、平地又は登り歩行であるかを推定する。また、行動推定部５３は、ユーザの行動の推定結果に基づいて、ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する。進行方向推定部５５は、行動推定部５３によって選択された方向推定方法によって、ユーザの進行方向を推定する。【選択図】図２
2016211932.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの行動によって発生する加速度を取得する加速度取得手段と、
ユーザが下り道を進行しているか否かを判定する下り判定手段と、
前記加速度取得手段によって取得された加速度及び前記下り判定手段の判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定手段と、
前記行動推定手段の推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択手段と、
前記推定方法選択手段によって選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記推定方法選択手段は、
前記行動推定手段によって前記ユーザの行動が下り歩行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で最も近い、または時間軸における過去方向で２番目に近い極値が示す方向を前記ユーザの進行方向であると推定し、
前記行動推定手段によって前記ユーザの行動が歩行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で２番目に近い、または時間軸における過去方向で最も近い極値が示す方向を前記ユーザの進行方向であると推定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記行動推定手段は、前記加速度取得手段によって取得された加速度に基づいて、前記ユーザの行動が走行であるかをさらに推定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記推定方法選択手段は、
前記行動推定手段によって前記ユーザの行動が走行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、前記加速度の鉛直成分における上方向の極値と同じ半周期の期間に属する極値が示す方向を前記ユーザの進行方向であると推定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記行動推定手段によって前記ユーザの行動が下り歩行あるいは平地または登り歩行であると推定された場合に、前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタを適用する歩行用フィルタ処理手段と、
前記行動推定手段によって前記ユーザの行動が走行であると推定された場合に、前記加速度取得手段によって取得された加速度の波形に対して、走行時に対応する周波数帯域を通過させる走行用フィルタを適用する走行用フィルタ処理手段と、
を備え、
前記行動推定手段は、前記歩行用フィルタまたは前記走行用フィルタによるフィルタ処理後の前記加速度の波形に基づいて、前記ユーザの行動が歩行であるか走行であるかを推定することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記行動推定手段は、前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタ及び走行時に対応する周波数帯域を通過させる走行用フィルタを適用し、前記歩行用フィルタ及び前記走行用フィルタの処理結果において、極値がより明確であるフィルタに対応する行動を前記ユーザの行動として推定することを特徴とする請求項３または４に記載の情報処理装置。
【請求項７】
前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域及び走行時に対応する周波数帯域を通過させる共通フィルタを適用する共通フィルタ処理手段を備え、
前記行動推定手段は、前記共通フィルタによるフィルタ処理後の前記加速度に基づいて、前記ユーザの行動が歩行であるか走行であるかを推定することを特徴とする請求項３または４に記載の情報処理装置。
【請求項８】
情報処理装置で実行される進行方向推定方法であって、
ユーザの行動によって発生する加速度を取得する加速度取得ステップと、
ユーザが下り道を進行しているか否かを判定する下り判定ステップと、
前記加速度取得ステップにおいて取得された加速度及び前記下り判定ステップにおける判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定ステップと、
前記行動推定ステップの推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択ステップと、
前記推定方法選択ステップにおいて選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定ステップと、
を含むことを特徴とする進行方向推定方法。
【請求項９】
情報処理装置を制御するコンピュータに、
ユーザの行動によって発生する加速度を取得する加速度取得機能と、
ユーザが下り道を進行しているか否かを判定する下り判定機能と、
前記加速度取得機能によって取得された加速度及び前記下り判定機能の判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定機能と、
前記行動推定機能の推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択機能と、
前記推定方法選択機能によって選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、進行方向推定方法及びプログラムに関する。
【背景技術】
【０００２】
従来、加速度センサの入力信号に基づいて、歩行者の現在位置を自律的に推定する技術が知られている。
例えば、特許文献１には、加速度センサにより検出された加速度に基づいて、歩行者の進行方向を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４２１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術は、ユーザが歩行していることを前提として進行方向を推定している。また、特許文献１に記載の技術では、ユーザが進行する道の影響が考慮されていない。
そのため、特許文献１に記載の技術では、ユーザが走行している場合や、道路が平坦でない場合等には、進行方向の推定に誤りが生じる可能性がある。
即ち、従来の技術においては、ユーザの状況に応じて、正確に進行方向を推定することが困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、ユーザの状況に応じて、より正確に進行方向を推定することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の情報処理装置は、
ユーザの行動によって発生する加速度を取得する加速度取得手段と、
ユーザが下り道を進行しているか否かを判定する下り判定手段と、
前記加速度取得手段によって取得された加速度及び前記下り判定手段の判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定手段と、
前記行動推定手段の推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択手段と、
前記推定方法選択手段によって選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザの状況に応じて、より正確に進行方向を推定することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る情報処理装置のハードウェアの構成を示すブロック図である。
【図２】図１の情報処理装置の機能的構成のうち、進行方向推定処理を実行するための機能的構成を示す機能ブロック図である。
【図３】ユーザの行動における鉛直方向及び前後方向の加速度（縦軸）と時間（横軸）との対応関係を示す模式図であり、図３（Ａ）は、下り歩行時における加速度と時間との対応関係図３（Ｂ）は、平地・登り歩行時における加速度と時間との対応関係、図３（Ｃ）は走行時における加速度と時間との対応関係を示す図である。
【図４】図２の機能的構成を有する図１の情報処理装置が実行する進行方向推定処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
［ハードウェア構成］
図１は、本発明の一実施形態に係る情報処理装置１のハードウェアの構成を示すブロック図である。
情報処理装置１は、例えばスマートフォンとして構成され、使用時には、腰等の体幹に近い部位に装着される。
【００１１】
情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）部１６と、センサ部１７と、入力部１８と、出力部１９と、記憶部２０と、通信部２１と、ドライブ２２と、を備えている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、または、記憶部２０からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。例えば、ＣＰＵ１１は、後述する進行方向推定処理のためのプログラムに従って、進行方向推定処理を実行する。
【００１３】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１４】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、ＧＰＳ部１６、センサ部１７、入力部１８、出力部１９、記憶部２０、通信部２１及びドライブ２２が接続されている。
【００１５】
ＧＰＳ部１６は、アンテナを含み複数のＧＰＳ衛星から送信されるＧＰＳ信号を受信して、情報処理装置１の位置情報を取得する。
センサ部１７は、３軸加速度センサ、地磁気センサ及び気圧センサ等の各種センサを備えている。
【００１６】
入力部１８は、各種釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部１９は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部２０は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部２１は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００１７】
ドライブ２２には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２２によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部２０にインストールされる。また、リムーバブルメディア３１は、記憶部２０に記憶されている画像のデータ等の各種データも、記憶部２０と同様に記憶することができる。
【００１８】
［機能的構成］
次に、情報処理装置１の機能的構成のうち、進行方向推定処理を実行するための機能的構成を、図２を参照して説明する。
図２は、このような図１の情報処理装置１の機能的構成のうち、進行方向推定処理を実行するための機能的構成を示す機能ブロック図である。
進行方向推定処理とは、センサからの入力信号に基づいて情報処理装置１を装着したユーザの進行方向を推定して、現在位置を地図上に表示する一連の処理をいう。
【００１９】
進行方向推定処理が実行される場合、図２に示すように、ＣＰＵ１１において、加速度取得部５１と、鉛直方向推定部５２と、行動推定部５３と、下り判定部５３ａと、フィルタ処理部５４と、進行方向推定部５５と、現在位置算出部５６と、表示制御部５７とが機能する。
【００２０】
また、記憶部２０の一領域には、地図データ記憶部７１が設定される。
地図データ記憶部７１には、進行方向推定処理において表示される地図のデータが記憶される。
【００２１】
加速度取得部５１は、所定時間毎（例えば０．２秒毎）にセンサ部１７から加速度データを取得する。
鉛直方向推定部５２は、加速度取得部５１が取得した加速度データに基づいて、鉛直方向ベクトルを算出する。
具体的には、鉛直方向推定部５２は、加速度取得部５１が取得した加速度データ（鉛直成分）において、予め設定した時間（例えば、４秒等）の平均値を算出することにより鉛直方向ベクトルを算出する。
【００２２】
行動推定部５３は、加速度データに基づいて、推定されるユーザの行動が歩行であるか走行であるかの判定を行う。
なお、人間が走行する場合には、ユーザの両足が同時に地表から離れ、人間が歩行する場合には、ユーザの両足が同時に地表から離れることがないため、本実施形態における「歩行」と「走行」とは、このような観点で区別される。
具体的には、行動推定部５３は、取得した鉛直方向及び前後方向の加速度それぞれについて、各加速度の大きさが走行判定用の加速度閾値以上であって、各加速度のピークが示すピッチ（ピークの時間間隔）が走行判定用のピッチ閾値以下である場合に、ユーザが走行していると判定する。他方、行動推定部５３は、各加速度の大きさが走行判定用の加速度閾値未満、または、各加速度のピークが示すピッチが走行判定用のピッチ閾値未満である場合には、ユーザが歩行していると判定する。ここで、鉛直方向及び前後方向の加速度に関する走行判定用の加速度閾値及びピッチ閾値は、実験値やシミュレーション値を基に設定することができる。
【００２３】
下り判定部５３ａは、ユーザが下り道を進行しているか否かの判定（以下、適宜「下り判定」と呼ぶ。）を行う。具体的には、下り判定部５３ａは、センサ部１７における気圧センサから気圧データを取得し、気圧の変化に基づいて、下り判定を行う。例えば、下り判定部５３ａは、進行距離に対する気圧低下の割合が設定された閾値以上となっている場合に、ユーザが下り道を進行していると判定する。本実施形態において、下り判定部５３ａは、行動推定部５３によってユーザの行動が歩行であると判定された場合に、下り判定を行う。
なお、下り判定部５３ａにおいて、気圧センサを用いて下り判定を行う場合の他、地図データにおける勾配を参照して下り判定を行ったり、ＧＰＳを用いて取得された高度の変化に基づいて下り判定を行ったり、下り道を歩行する際の加速度等の波形モデルと検出値とをパターンマッチングした行動推定結果に基づいて下り判定を行ったりしてもよい。また、これらを組み合わせて下り判定を行うこととしてもよい。
行動推定部５３によるユーザの行動の推定結果（歩行または走行）及び下り判定部５３ａによる下り判定の結果（下り歩行）に応じて、進行方向推定部５５におけるユーザの進行方向の推定方法（図３（Ａ）〜（Ｃ）参照）が切り替えられる。
【００２４】
フィルタ処理部５４は、加速度取得部５１が取得した加速度データに対して、行動推定部５３において推定したユーザの行動に応じたフィルタ処理を実行する。
具体的には、フィルタ処理部５４は、行動推定部５３において推定したユーザの行動が歩行である場合、取得した加速度データ（水平成分）に対して、２．０Ｈｚを中心して所定範囲の周波数帯域を通過させるバンドパスフィルタ（歩行用バンドパスフィルタ）による処理を実行する。フィルタ処理部５４は、行動推定部５３において推定したユーザの行動が走行である場合に、取得した加速度データ（水平成分）に対して、３．０Ｈｚを中心として所定範囲の周波数帯域を通過させるバンドパスフィルタ（走行用バンドパスフィルタ）による処理を実行する。
【００２５】
進行方向推定部５５は、ユーザの行動（即ち、下り歩行、平地・登り歩行または走行）毎に、鉛直方向推定部５２が算出した鉛直方向ベクトル及びフィルタ処理部５４がフィルタ処理した後の加速度データに基づいて、異なる進行方向推定方法（下り歩行時用の進行方向推定方法、平地・登り歩行時用の進行方向推定方法または走行時用の進行方向推定方法）によって、鉛直方向ベクトルの極値（ピーク）のタイミングと加速タイミングとの関係から進行方向を推定する。
具体的には、行動推定部５３がユーザの行動を歩行であると判定し、下り判定部５３ａにおいてユーザが下り道を進行していると判定した場合、進行方向推定部５５は、鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、時間軸における未来方向で最も近い（または時間軸における過去方向で２番目に近い）加速度データ（水平成分）の極値の方向を前方と推定する。また、行動推定部５３がユーザの行動を歩行であると判定し、下り判定部５３ａにおいてユーザが下り道を進行していない（平地または登りである）と判定した場合、進行方向推定部５５は、鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、時間軸における未来方向で２番目に近い（または時間軸における過去方向で最も近い）加速度データ（水平成分）の極値の方向を前方と推定する。一方、行動推定部５３がユーザの行動を走行であると判定した場合、進行方向推定部５５は、鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、同じ半周期の期間に属する加速度データ（水平成分）の極値の方向を前方と推定する。
【００２６】
ここで、進行方向推定部５５における進行方向の推定方法について、図３を参照して説明する。なお、図３に示す進行方向の推定方法は、人間の基本的な身体的構造に基づくものであるため、個人差を排除して一般化することができる。
図３は、ユーザの行動における鉛直方向及び前後方向の加速度（縦軸）と時間（横軸）との対応関係を示す模式図であり、図３（Ａ）は、下り歩行時における加速度と時間との対応関係図３（Ｂ）は、平地・登り歩行時における加速度と時間との対応関係、図３（Ｃ）は走行時における加速度と時間との対応関係を示す図である。
図３においては、縦軸の正側が鉛直方向の上方及び前後方向の前方に対応し、縦軸の負側が鉛直方向の下方及び前後方向の後方に対応している。なお、縦軸の正側及び負側と前後方向の前方及び後方との関係は、進行方向推定部５５によって推定される進行方向によって決定され、ユーザの進行方向が変化した場合、縦軸の正側及び負側に対して、前後方向の前方及び後方は逐次入れ替わることとなる。
【００２７】
図３（Ａ）に示すように、鉛直方向ベクトルが上方向の極値Ｐｖ１を示すタイミングに対して、時間軸における未来方向（右方向）で最も近い水平方向の加速度の極値Ｐｈ３（または時間軸における過去方向で加速度の極値Ｐｈ２に次いで、２番目に近い水平方向の加速度の極値Ｐｈ１）の方向（縦軸の正側）が、下り歩行時における進行方向の前方と推定される。
【００２８】
また、図３（Ｂ）に示すように、鉛直方向の加速度における上方向の極値Ｐ’ｖ１を示すタイミングに対して、時間軸における未来方向（右方向）で、加速度の極値Ｐ’ｈ２に次いで、２番目に近い水平方向の加速度の極値Ｐ’ｈ３（または時間軸における過去方向で最も近い水平方向の加速度Ｐ’ｈ１）の方向（縦軸の正側）が、平地・登り歩行時における進行方向の前方と推定される。
【００２９】
また、図３（Ｃ）に示すように、鉛直方向の加速度における上方向の極値Ｐ”ｖ１を示すタイミングに対して、同じ半周期の期間に属する水平方向の加速度の極値Ｐ”ｈ１の方向（縦軸の正側）が、走行時における進行方向の前方と推定される。
【００３０】
このように、本実施形態においては、行動推定部５３によって推定されたユーザの行動、及び、下り判定部５３ａによる下り判定の結果（即ち、下り歩行、平地・登り歩行あるいは走行のいずれであるか）に応じて、進行方向の推定方法を切り替えている。
そのため、進行方向の推定方法として、単一の方法を用いる場合には、ユーザの状況によっては、進行方向を適切に推定することが困難になるところ、本実施形態の情報処理装置では、ユーザの状況によらず、進行方向を適切に推定することが可能となる。
【００３１】
図２に戻り、現在位置算出部５６は、進行方向の推定結果に応じて、水平方向の加速度のデータから現在位置を算出する。これにより、ＧＰＳ等の測位システムを利用することなく、自律的に現在位置が算出される。
表示制御部５７は、地図データ記憶部７１に記憶された地図のデータを参照し、現在位置算出部５６によって算出された現在位置を地図上に表示する。
【００３２】
［動作］
次に、動作を説明する。
図４は、図２の機能的構成を有する図１の情報処理装置１が実行する進行方向推定処理の流れを説明するフローチャートである。
進行方向推定処理は、所定の時間以上、ＧＰＳ部１６においてＧＰＳ信号を受信できない場合に開始され、ＧＰＳ部１６においてＧＰＳ信号を受信可能となるまで、繰り返し実行される。
【００３３】
ステップＳ１１において、加速度取得部５１は、所定時間毎（例えば０．２秒毎）にセンサ部１７から加速度データを取得する。
ステップＳ１２において、加速度取得部５１が取得した加速度データ（鉛直成分）において、予め設定した時間（例えば、４秒等）の平均値を算出することにより鉛直方向ベクトルを算出する。
【００３４】
ステップＳ１３において、行動推定部５３は、加速度データに基づいて、推定されるユーザの行動が歩行であるか否かの判定を行う。具体的には、行動推定部５３は、ステップＳ１１において取得した各加速度の大きさが走行判定用の加速度閾値未満、または、各加速度のピーク（極値）が示すピッチが走行判定用のピッチ閾値未満である場合には、ユーザが歩行していると判定する。
ユーザの行動が歩行である場合、ステップＳ１３においてＹＥＳと判定されて、処理はステップＳ１４に移行する。
一方、ユーザの行動が歩行でない場合、ステップＳ１３においてＮＯと判定されて、処理はステップＳ１９に移行する。
【００３５】
ステップＳ１４において、フィルタ処理部５４は、ステップＳ１１において取得した加速度データ（水平成分）に対して、２．０Ｈｚを中心して所定範囲の周波数帯域を通過させるバンドパスフィルタ（歩行用バンドパスフィルタ）による処理を実行する。
【００３６】
ステップＳ１５において、下り判定部５３ａは、センサ部１７における気圧センサから気圧データを取得する。
ステップＳ１６において、下り判定部５３ａは、気圧の変化に基づいて、ユーザが下り道を進行しているか否かの判定（下り判定）を行う。なお、このとき、下り判定部５３ａにおいて、気圧センサを用いて下り判定を行う場合の他、地図データにおける勾配を参照して下り判定を行ったり、ＧＰＳを用いて取得された高度の変化に基づいて下り判定を行ったり、下り道を歩行する際の加速度等の波形モデルと検出値とをパターンマッチングした行動推定結果に基づいて下り判定を行ったりしてもよい。また、これらを組み合わせて下り判定を行うこととしてもよい。
ユーザが下り道を進行している場合、ステップＳ１６においてＹＥＳと判定されて、処理はステップＳ１７に移行する。
一方、ユーザが下り道を進行していない場合、ステップＳ１６においてＮＯと判定されて、処理はステップＳ１８に移行する。
【００３７】
ステップＳ１７において、進行方向推定部５５は、ステップＳ１２において特定した鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、時間軸における未来方向で最も近い（または時間軸における過去方向で２番目に近い）加速度データ（水平成分）の極値の方向を前方と推定する。即ち、進行方向推定部５５は、下り歩行時用の進行方向推定方法を実行する。
【００３８】
ステップＳ１８において、進行方向推定部５５は、ステップＳ１２において特定した鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、時間軸における未来方向で２番目に近い（または時間軸における過去方向で最も近い）加速度データ（水平成分）の極値の方向を前方と推定する。即ち、進行方向推定部５５は、平地・登り歩行時用の進行方向推定方法を実行する。
【００３９】
ステップＳ１９において、行動推定部５３は、加速度データに基づいてユーザの行動が走行であるか否かの判定を行う。具体的には、行動推定部５３は、ステップＳ１１において取得した鉛直方向及び前後方向の加速度それぞれについて、各加速度の大きさが走行判定用の加速度閾値以上であって、各加速度のピークが示すピッチ（ピークの時間間隔）が走行判定用のピッチ閾値以下である場合に、ユーザが走行していると判定する。
ユーザの行動が走行である場合、ステップＳ１９においてＹＥＳと判定されて、処理はステップＳ２０に移行する。
一方、ユーザの行動が走行でない場合、ステップＳ１９においてＮＯと判定されて、進行方向推定処理が繰り返される。
【００４０】
ステップＳ２０において、フィルタ処理部５４は、ステップＳ１１において取得した加速度データ（水平成分）に対して、３．０Ｈｚを中心として所定範囲の周波数帯域を通過させるバンドパスフィルタ（走行用バンドパスフィルタ）による処理を実行する。
【００４１】
ステップＳ２１において、進行方向推定部５５は、ステップＳ１２において特定した鉛直方向ベクトルが上方向の極値（ピーク）を示すタイミングに対して、同じ半周期の期間に属する加速度データ（水平成分）の極値の方向を前方と推定する。即ち、進行方向推定部５５は、走行時用の進行方向推定方法を実行する。
【００４２】
ステップＳ１７，Ｓ１８，Ｓ２１の後、ステップＳ２２において、現在位置算出部５６は、進行方向の推定結果に応じて、水平方向の加速度のデータから現在位置を算出する。
ステップＳ２３において、表示制御部５７は、地図データ記憶部７１に記憶された地図のデータを参照し、現在位置算出部５６によって算出された現在位置を地図上に表示する。
ステップＳ２３の後、終了条件が充足されるまで、進行方向推定処理が繰り返される。
【００４３】
以上のように構成される情報処理装置１は、加速度取得部５１と、下り判定部５３ａと、行動推定部５３と、進行方向推定部５５を備える。
加速度取得部５１は、ユーザの行動によって発生する加速度を取得する。
下り判定部５３ａは、ユーザが下り道を進行しているか否かを判定する。
行動推定部５３は、加速度取得部５１によって取得された加速度及び下り判定部５３ａの判定結果に基づいて、ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する。
また、行動推定部５３は、ユーザの行動の推定結果に基づいて、ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する。
進行方向推定部５５は、行動推定部５３によって選択された方向推定方法によって、前記ユーザの進行方向を推定する。
これにより、ユーザが下り道を歩行している場合と平地または登り道を歩行している場合とで、ユーザの進行方向を推定するための進行方向推定方法が切り替えられる。
したがって、ユーザの状況に応じて、より正確に進行方向を推定することができる。
【００４４】
行動推定部５３は、ユーザの行動が下り歩行であると判定された場合、加速度取得部５１によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、加速度取得部５１によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で最も近い、または時間軸における過去方向で２番目に近い極値が示す方向を前記ユーザの進行方向であると推定する。
また、行動推定部５３は、ユーザの行動が平地または登り歩行であると判定された場合、加速度取得部５１によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、加速度取得部５１によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で２番目に近い、または時間軸における過去方向で最も近い極値が示す方向を前記ユーザの進行方向であると推定する。
これにより、下り歩行時及び平地または登り歩行時における進行方向をより適切に推定することが可能となる。
【００４５】
また、行動推定部５３は、加速度取得部５１によって取得された加速度に基づいて、ユーザの行動が走行であるかをさらに推定する。
これにより、ユーザが歩行している場合と走行している場合とで、ユーザの進行方向を推定するための進行方向推定方法がさらに切り替えられる。
したがって、ユーザの行動状況に応じて、より正確に進行方向を推定することができる。
【００４６】
行動推定部５３は、ユーザの行動が走行であると判定された場合、加速度取得部５１によって取得された加速度の鉛直成分における上方向の極値を示すタイミングに対して、加速度取得部５１によって取得された加速度の水平成分における極値のうち、加速度の鉛直成分における上方向の極値と同じ半周期の期間に属する極値が示す方向をユーザの進行方向であると推定する。
これにより、歩行時及び走行時における進行方向をより適切に推定することが可能となる。
【００４７】
また、情報処理装置１は、フィルタ処理部５４をさらに備える。
フィルタ処理部５４は、行動推定部５３によってユーザの行動が下り歩行あるいは平地または登り歩行であると推定された場合に、加速度取得部５１によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタを適用する。
また、フィルタ処理部５４は、行動推定部５３によってユーザの行動が走行であると推定された場合に、加速度取得部５１によって取得された加速度の波形に対して、走行時に対応する周波数帯域を通過させる走行用フィルタを適用する。
行動推定部５３は、歩行用フィルタまたは走行用フィルタによるフィルタ処理後の加速度の波形に基づいて、ユーザの行動が歩行であるか走行であるかを推定する。
これにより、取得された加速度の波形に対して、ユーザの行動が歩行であるか走行であるかに応じたフィルタ処理を実行することができるため、加速度の波形におけるノイズが除去され、より正確に進行方向を推定することが可能となる。
【００４８】
また、行動推定部５３は、加速度取得部５１によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタ及び走行時に対応する周波数帯域を通過させる走行用フィルタを適用し、歩行用フィルタ及び走行用フィルタの処理結果において、極値がより明確であるフィルタに対応する行動をユーザの行動として推定する。
これにより、進行方向の推定において用いられる加速度の波形から、ユーザの行動が歩行であるか走行であるかを推定することができるため、進行方向の推定結果と整合性が高いユーザの行動の推定を行うことが可能となる。
【００４９】
また、フィルタ処理部５４は、加速度取得部５１によって取得された加速度の波形に対して、歩行時に対応する周波数帯域及び走行時に対応する周波数帯域を通過させる共通フィルタを適用する。
行動推定部５３は、共通フィルタによるフィルタ処理後の加速度に基づいて、ユーザの行動が歩行であるか走行であるかを推定する。
これにより、歩行時及び走行時に対応する１つのフィルタを用意することで、加速度の波形における一定のノイズを抑制して、より正確に進行方向を推定することが可能となる。
【００５０】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５１】
上述の実施形態では、図４に示す進行方向制御処理のステップＳ１３において、推定されるユーザの行動が歩行であるか否かの判定を行い、ステップＳ１６において、ユーザが下り道を進行しているか否かの判定を行うものとして説明したが、これに限られない。即ち、ステップＳ１３において、推定されるユーザの行動が歩行であるか否か、及び、ユーザが下り道を進行しているか否かの判定を行うこととしてもよい。
【００５２】
上述の実施形態では、ユーザの行動が歩行であるか走行であるか、及び、歩行である場合に、下り歩行であるか、平地・登り歩行であるかを全て判定するものとして説明したが、これに限られない。即ち、少なくとも、歩行時におけるユーザの行動が下り歩行であるか、平地・登り歩行であるかを判定できればよい。
【００５３】
上述の実施形態では、情報処理装置１において、フィルタ処理部５４は、ユーザの行動が歩行であるか走行であるかによって異なる周波数帯域によるバンドパスフィルタ処理を行うこととしたが、これに限られない。
例えば、フィルタ処理部５４におけるバンドパスフィルタ処理は、ユーザの行動が歩行である場合及び走行である場合のいずれの加速度も通過させるような帯域設定（例えば、２．５Ｈｚを中心とする所定の範囲の周波数帯域）にしてもよい。即ち、フィルタ処理部５４は、歩行用と走行用との共通のフィルタによりバンドパスフィルタ処理を行ってもよい。
なお、上述の実施形態に記載されるフィルタ処理部５４によるバンドパスフィルタ処理における周波数帯域は例示に過ぎず、歩行または走行における加速度を適切に抽出可能な帯域を適宜設定することができる。
【００５４】
また、上述の実施形態において、行動推定部５３は、加速度の大きさや加速度のピーク間の間隔に基づいて、ユーザの行動が歩行であるか走行であるかを推定することとしたが、これに限られない。
例えば、フィルタ処理部５４によって、加速度の波形に対して、歩行用バンドパスフィルタ及び走行用バンドパスフィルタによる処理を行い、行動推定部５３は、波形のピークがより明確に表れるフィルタに対応する行動をユーザの行動として推定することができる。
これにより、進行方向の推定において用いられる加速度の波形から、ユーザの行動が歩行であるか走行であるかを推定することができるため、進行方向の推定結果と整合性が高いユーザの行動の推定を行うことが可能となる。
【００５５】
また、上述の実施形態において、行動推定部５３は、ユーザの行動が下り歩行であるか、平地・登り歩行であるか、あるいは、走行であるかを推定したが、自転車に乗っている状態等、下り歩行、平地・登り歩行及び走行以外の行動を推定してもよい。
【００５６】
また、上述の実施形態において、進行方向推定処理は、ＧＰＳ信号を受信できない場合に実行することとしたが、これに限られない。即ち、ＧＰＳ信号を受信できる場合においても、進行方向推定処理を併せて行い、ＧＰＳ信号に基づく進行方向と進行方向推定処理に基づく進行方向のうち、より信頼できる進行方向を採用してもよい。
【００５７】
また、上述の実施形態では、本発明が適用される情報処理装置１は、スマートフォンを例として説明したが、特にこれに限定されない。
例えば、本発明は、加速度センサを備え、体幹近くに装着可能な電子機器一般に適用することができる。具体的には、例えば、本発明は、歩数計、ウェアラブル端末、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００５８】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００５９】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００６０】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図２のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ），Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部２０に含まれるハードディスク等で構成される。
【００６１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００６２】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６３】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
ユーザの行動によって発生する加速度を取得する加速度取得手段と、
ユーザが下り道を進行しているか否かを判定する下り判定手段と、
前記加速度取得手段によって取得された加速度及び前記下り判定手段の判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定手段と、
前記行動推定手段の推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択手段と、
前記推定方法選択手段によって選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定手段と、
を備えることを特徴とする情報処理装置。
［付記２］
前記推定方法選択手段は、
前記行動推定手段によって前記ユーザの行動が下り歩行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で最も近い、または時間軸における過去方向で２番目に近い極値が示す方向を前記ユーザの進行方向であると推定し、
前記行動推定手段によって前記ユーザの行動が歩行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の加速度の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、時間軸における未来方向で２番目に近い、または時間軸における過去方向で最も近い極値が示す方向を前記ユーザの進行方向であると推定することを特徴とする付記１に記載の情報処理装置。
［付記３］
前記行動推定手段は、前記加速度取得手段によって取得された加速度に基づいて、前記ユーザの行動が走行であるかをさらに推定することを特徴とする付記１または２に記載の情報処理装置。
［付記４］
前記推定方法選択手段は、
前記行動推定手段によって前記ユーザの行動が走行であると判定された場合、前記加速度取得手段によって取得された加速度の鉛直成分における上方向の極値を示すタイミングに対して、前記加速度取得手段によって取得された加速度の水平成分における極値のうち、前記加速度の鉛直成分における上方向の極値と同じ半周期の期間に属する極値が示す方向を前記ユーザの進行方向であると推定することを特徴とする付記３に記載の情報処理装置。
［付記５］
前記行動推定手段によって前記ユーザの行動が下り歩行あるいは平地または登り歩行であると推定された場合に、前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタを適用する歩行用フィルタ処理手段と、
前記行動推定手段によって前記ユーザの行動が走行であると推定された場合に、前記加速度取得手段によって取得された加速度の波形に対して、走行時に対応する周波数帯域を通過させる走行用フィルタを適用する走行用フィルタ処理手段と、
を備え、
前記行動推定手段は、前記歩行用フィルタまたは前記走行用フィルタによるフィルタ処理後の前記加速度の波形に基づいて、前記ユーザの行動が歩行であるか走行であるかを推定することを特徴とする付記３または４に記載の情報処理装置。
［付記６］
前記行動推定手段は、前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域を通過させる歩行用フィルタ及び走行時に対応する周波数帯域を通過させる走行用フィルタを適用し、前記歩行用フィルタ及び前記走行用フィルタの処理結果において、極値がより明確であるフィルタに対応する行動を前記ユーザの行動として推定することを特徴とする付記３または４に記載の情報処理装置。
［付記７］
前記加速度取得手段によって取得された加速度の波形に対して、歩行時に対応する周波数帯域及び走行時に対応する周波数帯域を通過させる共通フィルタを適用する共通フィルタ処理手段を備え、
前記行動推定手段は、前記共通フィルタによるフィルタ処理後の前記加速度に基づいて、前記ユーザの行動が歩行であるか走行であるかを推定することを特徴とする付記３または４に記載の情報処理装置。
［付記８］
情報処理装置で実行される進行方向推定方法であって、
ユーザの行動によって発生する加速度を取得する加速度取得ステップと、
ユーザが下り道を進行しているか否かを判定する下り判定ステップと、
前記加速度取得ステップにおいて取得された加速度及び前記下り判定ステップにおける判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定ステップと、
前記行動推定ステップの推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択ステップと、
前記推定方法選択ステップにおいて選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定ステップと、
を含むことを特徴とする進行方向推定方法。
［付記９］
情報処理装置を制御するコンピュータに、
ユーザの行動によって発生する加速度を取得する加速度取得機能と、
ユーザが下り道を進行しているか否かを判定する下り判定機能と、
前記加速度取得機能によって取得された加速度及び前記下り判定機能の判定結果に基づいて、前記ユーザの行動が下り歩行であるか、平地または登り歩行であるかを推定する行動推定機能と、
前記行動推定機能の推定結果に基づいて、前記ユーザの進行方向を推定するための複数の方向推定方法から１つを選択する推定方法選択機能と、
前記推定方法選択機能によって選択された方向推定方法によって、前記ユーザの進行方向を推定する方向推定機能と、
を実現させることを特徴とするプログラム。
【符号の説明】
【００６４】
１・・・情報処理装置，１１・・・ＣＰＵ，１２・・・ＲＯＭ，１３・・・ＲＡＭ，１４・・・バス，１５・・・入出力インターフェース，１６・・・ＧＰＳ部，１７・・・センサ部，１８・・・入力部，１９・・・出力部，２０・・・記憶部，２１・・・通信部，２２・・・ドライブ，３１・・・リムーバブルメディア，５１・・・加速度取得部，５２・・・鉛直方向推定部，５３・・・行動推定部，５３ａ・・・下り判定部，５４・・・フィルタ処理部，５５・・・進行方向推定部，５６・・・現在位置算出部，５７・・・表示制御部，７１・・・地図データ記憶部
【図１】
2016211932.tif 000003
【図２】
2016211932.tif 000004
【図３】
2016211932.tif 000005
【図４】
2016211932.tif 000006