(57)【要約】      （修正有）【課題】ユーザの移動状態を推定するためのモデルを作成し、該モデルに基づいてユーザの移動状態を携帯端末装置を用いて自動的に推定する方法及びシステムに関する。【解決手段】少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該ＣＰＵが時系列に前記メモリに格納された１又は複数のパラメータから構成される推定用特徴パラメータと１又は複数のパラメータから構成される各該代表特徴パラメータとのパラメータ毎の差に基づいて、該複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、該選定された第１クラスタに対応する該第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定するステップと、からなる方法。【選択図】図６
2010286344.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのＣＰＵ（中央処理装置）とメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、
前記選定された第１クラスタに対応する前記第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定するステップと、
からなる方法。
【請求項２】
請求項１において、前記第１確率表は、前記各第１クラスタに含まれる学習用特徴パラメータに対応する移動状態毎の確率データを移動状態毎に有する、方法。
【請求項３】
少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、
前記選定された第１クラスタに対応する前記第１確率表に基づいて時系列に推定用セグメント確率表を算出するステップと、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成するステップと、
１又は複数のパラメータから構成される前記推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、前記複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、
前記選定された第２クラスタに対応する前記第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定するステップと、
からなる方法。
【請求項４】
請求項３において、前記第１確率表は、前記各第１クラスタに含まれる学習用特徴パラメータに対応する移動状態毎の確率データを移動状態毎に有し、前記第２確率表は、前記各第２クラスタに含まれる学習用セグメント確率表に対応する移動状態毎の確率データを移動状態毎に有する、方法。
【請求項５】
少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、
前記選定された第１クラスタに対応する前記第１確率表に基づいて算出された時系列にメモリに格納された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定ステップと、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成するステップと、
１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、複数のクラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、
前記選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定ステップと、
前記第１の推定ステップ、および前記第２の推定ステップにより推定された結果を用いて移動状態を推定するステップと、
からなる方法。
【請求項６】
少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵは、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、
前記選定された第１クラスタに対応する前記第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定ステップと、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成するステップと、
１又は複数のパラメータから構成される前記推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、前記複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、
前記選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定ステップと、
前記第１の推定ステップ、および前記第２の推定ステップにより推定された結果が第５の条件を満足する場合に、該第５の条件により求められた結果に対応するフレームをキーフレームとして、フレーム・リストへ順次格納することによりフレーム・リストを生成するステップと、
前記生成されたフレーム・リストにおいて、一のキーフレームと、その直前の一のキーフレームとが同一の移動状態に対応する場合に、
前記一のキーフレームに対応する移動状態が、所定の移動状態の場合に、前記一のキーフレームと、前記その直前の一のキーフレームとの間において、所定の条件を満たしているか判定するステップと、
前記所定の条件を満たしている場合に、前記直前の一のキーフレームから前記一のキーフレームに対応する移動状態を前記キーフレームに対応する移動状態として確定することにより、移動状態を推定するステップと、
からなる方法。
【請求項７】
少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態の推定に用いるモデルを生成する方法であって、該ＣＰＵが、
時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の前記学習用特徴パラメータからなる第１クラスタの群を生成するステップと、
前記第１クラスタの群において、前記第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とに対応する第１クラスタを生成するステップと、
を含む方法。
【請求項８】
少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態の推定に用いる第１及び第２モデルを生成する方法であって、該ＣＰＵが、
時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の前記学習用特徴パラメータからなる第１クラスタの群を生成するステップと、
前記第１クラスタの群において、前記第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とが対応する第１クラスタを生成するステップと、
前記学習用特徴パラメータ毎に、前記学習用特徴パラメータと、代表特徴パラメータとのパラメータ毎の差に基づいて、該差が所定の条件を満足する１の第１クラスタを順次選定するステップと、
前記順次選定された第１のクラスタの所定数毎に、各第１クラスタに対応する各第１確率表に基づいて、学習用セグメント確率表を算出するステップと、
前記算出された各学習用セグメント確率表を複数の第２クラスタにクラスタリングし、該各第２クラスタは１又は複数の前記学習用セグメント確率表からなる第２クラスタの群を生成するステップと、
前記第２クラスタの群において、第２クラスタ毎に、前記各第２クラスタを代表する１の第２代表確率表と、各移動状態が出現する確率を表す第２確率表と、が対応する第２クラスタを生成するステップと、
を含む方法。
【請求項９】
少なくとも１つのＣＰＵと、歩数計と、アンテナと、加速度センサとを備える携帯端末装置の移動状態の変化を検知する方法であって、該携帯端末装置は該歩数計により第１の情報を、該アンテナにより第２の情報を、該加速度センサにより第３の情報を取得可能であって、該ＣＰＵは、
推定された移動状態が第１の移動状態の場合には第１の情報のみを取得し、該第１の情報が該第１の移動状態に対応している場合には、該推定された第１の移動状態を推定結果として取得し、前記第３の情報に変化があるか否かを監視するステップと、
推定された移動状態が第２の移動状態の場合には、前記第１の情報及び第２の情報を取得し、前記第１の情報及び前記第２の情報が第２の移動状態に対応している場合には、該推定された第２の移動状態を推定結果として取得し、前記第１の情報及び前記第２の情報に変化があるか否かを監視するステップと、
推定された移動状態が第３の移動状態の場合には、前記第１の情報を取得し、前記第１の情報が第３の移動状態に対応している場合には、該推定された第３の移動状態を推定結果として取得し、前記第１の情報に変化があるか否かを監視するステップと、
からなる移動状態の変化を検知する方法。
【請求項１０】
携帯端末装置の移動状態を推定する携帯端末装置であって、
複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、
ＣＰＵと、であって、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、
前記選定された第１クラスタに対応する前記確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する、
携帯端末装置。
【請求項１１】
請求項１０において、前記第１確率表は、前記各第１クラスタに含まれる学習用特徴パラメータに対応する移動状態毎の確率データを移動状態毎に有する、携帯端末装置。
【請求項１２】
携帯端末装置の移動状態を推定する携帯端末装置であって、
複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、
ＣＰＵと、であって、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、
前記選定された第１クラスタに対応する前記第１確率表に基づいて時系列に推定用セグメント確率表を算出し、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、
１又は複数のパラメータから構成される前記推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、前記複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定し、
前記選定された第２クラスタに対応する前記第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する、
携帯端末装置。
【請求項１３】
請求項１２において、前記第１確率表は、前記各第１クラスタに含まれる学習用特徴パラメータに対応する移動状態毎の確率データを移動状態毎に有し、前記第２確率表は、前記各第２クラスタに含まれる学習用セグメント確率表に対応する移動状態毎の確率データを移動状態毎に有する、携帯端末装置。
【請求項１４】
携帯端末装置の移動状態を推定する携帯端末装置であって、
複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、
ＣＰＵと、であって、該ＣＰＵが
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、
前記選定された第１クラスタに対応する前記第１確率表に基づいて算出された時系列にメモリに格納された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定をし、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、
１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、複数のクラスタから該差が第３の条件を満足する１の第２クラスタを選定し、
前記選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定をし、
前記第１の推定ステップ、および前記第２の推定ステップにより推定された結果を用いて移動状態を推定する、
携帯端末装置。
【請求項１５】
携帯端末装置の移動状態を推定する携帯端末装置であって、
複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、
ＣＰＵと、であって、該ＣＰＵが、
時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、前記複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、
前記選定された第１クラスタに対応する前記第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定をし、
前記推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、
１又は複数のパラメータから構成される前記推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、前記複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定し、
前記選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定をし、
前記第１の推定ステップ、および前記第２の推定ステップにより推定された結果が第５の条件を満足する場合に、該第５の条件により求められた結果に対応するフレームをキーフレームとして、フレーム・リストへ順次格納することによりフレーム・リストを生成し、
前記生成されたフレーム・リストにおいて、一のキーフレームと、その直前の一のキーフレームとが同一の移動状態に対応する場合に、
前記一のキーフレームに対応する移動状態が、所定の移動状態の場合に、前記一のキーフレームと、前記その直前の一のキーフレームとの間において、所定の条件を満たしているか判定し、
前記所定の条件を満たしている場合に、前記直前の一のキーフレームから前記一のキーフレームに対応する移動状態を前記キーフレームに対応する移動状態として確定することにより、移動状態を推定する、
携帯端末装置。
【請求項１６】
携帯端末装置の移動状態の推定に用いるモデルを生成するシステムであって、
全ての移動状態に対応する複数の学習用特徴パラメータを時系列に格納しているメモリと、
ＣＰＵと、であって、該ＣＰＵが
時系列に前記メモリに格納されている全ての移動状態に対応する前記複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の前記学習用特徴パラメータからなる第１クラスタの群を生成し、
前記第１クラスタの群において、前記第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とに対応する第１クラスタを生成する、
システム。
【請求項１７】
携帯端末装置の移動状態の推定に用いる第１及び第２モデルを生成するシステムであって、
全ての移動状態に対応する複数の学習用特徴パラメータを時系列に格納しているメモリと、
ＣＰＵと、であって、該ＣＰＵが、
時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の前記学習用特徴パラメータからなる第１クラスタの群を生成し、
前記第１クラスタの群において、前記第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とが対応する第１クラスタを生成し、
前記学習用特徴パラメータ毎に、前記学習用特徴パラメータと、代表特徴パラメータとのパラメータ毎の差に基づいて、該差が所定の条件を満足する１の第１クラスタを順次選定し、
前記順次選定された第１のクラスタの所定数毎に、各第１クラスタに対応する各第１確率表に基づいて、学習用セグメント確率表を算出し、
前記算出された各学習用セグメント確率表を複数の第２クラスタにクラスタリングし、該各第２クラスタは１又は複数の前記学習用セグメント確率表からなる第２クラスタの群を生成し、
前記第２クラスタの群において、第２クラスタ毎に、前記各第２クラスタを代表する１の第２代表確率表と、各移動状態が出現する確率を表す第２確率表と、が対応する第２クラスタを生成する、
システム。
【請求項１８】
少なくとも１つのＣＰＵと、歩数計と、アンテナと、加速度センサとを備える携帯端末装置の移動状態の変化を検知する携帯端末装置であって、該携帯端末装置は該歩数計により第１の情報を、該アンテナにより第２の情報を、該加速度センサにより第３の情報を取得可能であって、該ＣＰＵは、
推定された移動状態が第１の移動状態の場合には第１の情報のみを取得し、該第１の情報が該第１の移動状態に対応している場合には、該推定された第１の移動状態を推定結果として取得し、前記第３の情報に変化があるか否かを監視し、
推定された移動状態が第２の移動状態の場合には、前記第１の情報及び第２の情報を取得し、前記第１の情報及び前記第２の情報が第２の移動状態に対応している場合には、該推定された第２の移動状態を推定結果として取得し、前記第１の情報及び前記第２の情報に変化があるか否かを監視し、
推定された移動状態が第３の移動状態の場合には、前記第１の情報を取得し、前記第１の情報が第３の移動状態に対応している場合には、該推定された第３の移動状態を推定結果として取得し、前記第１の情報に変化があるか否かを監視する、
ことにより、移動状態の変化を検知する携帯端末装置。
【発明の詳細な説明】
【発明の属する技術分野】
【０００１】
本願発明は、ユーザの移動状態を推定する方法及びシステムに関し、特には、ユビキタス環境下におけるユーザの移動状態を携帯端末装置を用いて自動的に推定する方法及びシステムに関する。
【背景技術】
【０００２】
近年、ユーザの移動状態を検出し、あるいはユーザの移動状態を正確に自動認識・識別する必要性が生じており、ユーザの移動状態の推定に関する技術が種々提案されている。しかしながら、従来、ユーザの一定の状態、例えば停止している状態、自動車、バス、電車に乗っている状態等を識別することは、ユーザからの情報を長時間にわたって測定しても移動状態の推定精度は低かった。従来、ユーザの移動状態を推定する際には、ユーザが有する加速度センサから得られるデータを用いて一定時間毎に１つのパワースペクトルを選定し、当該選定されたパワースペクトルと、各移動状態を代表するそれぞれの代表パワースペクトルとを比較して移動状態を推定していた。従って、選定された１つのパワースペクトルは時系列変化を含まず、突発的に加速度センサの変化が起こると、正しくユーザの状態を推定することができない場合があった。このため、従来のパワースペクトルのパターンマッチングでは突発的なノイズや振動パターンのぶれに対応することは困難であり、移動状態の推定精度の低下を招いた。
【０００３】
さらに、非特許文献１においては、身体の複数箇所に加速度センサを装着し、「座る」「立つ」「歩く」「階段を上る」「階段を下る」「握手」「黒板への書き込み」「キーボードのタイピング」などの動作推定を行っている。また、非特許文献２、及び３は両手首、両足首、腿の５箇所に加速度センサを装着し、２０種類の動作推定を行っている。
【０００４】
しかしながら、これらの非特許文献においては、様々なセンサを用いて、人間の様々な動作状態を推定可能であるが、センサ装着箇所が複数必要であったり、装着方法が固定化されたりしている。従って、これらの方式を用いてユーザの移動状態を推定する場合、ユーザは重装備となるため利便性が低下し望ましくない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Nicky Kern、 "A Model for Human Interruptability: Experimental Evaluation and Automatic Estimation from Wearable Sensors、" ISWC'04、pp.158-165(2004).
【非特許文献２】Stephen S.Intille、 "Acquiring In Situ Training Data for Context-Aware Ubiquitous Computing Applications、"CHI 2004、 ACM Press、 pp. 1-9(2004).
【非特許文献３】L. Bao and S. S. Intille、"Activity recognition from user-annotated acceleration data、" in Proceedings of PERVASIVE 2004、vol. LNCS 3001、 A. Ferscha and F. Mattern、 Eds. Berlin Heidelberg: Springer-Verlag、2004、 pp. 1-17.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願発明は、上記の問題点の解決を目的とするものであり、人の手のひらサイズに収まる携帯端末装置に搭載された加速度センサ等の外部環境情報取得装置を用いて、ユーザの移動状態を短時間で精度高く自動的に推定する方法及びシステムを提供するものである。ここで、ユーザの移動状態とは例えば、走行、歩行、停止といった人間の活動状態と、自転車、自動車、バス、電車といった交通機関の乗車状態を指している。以下、上述した状態をそれぞれ、停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態、電車状態と記す。また、自動車状態、バス状態、電車状態をまとめて電動車状態と記す。なお、携帯端末装置は人の手のひらサイズに収まる大きさであっても、それよりも小さい大きさであっても良い。
【０００７】
従来、ユーザの移動状態を推定する際には、ユーザが有する加速度センサから得られるデータを用いて一定時間毎に１つのパワースペクトルを選定し、当該選定されたパワースペクトルと、各移動状態を代表するそれぞれの代表パワースペクトルとを比較して移動状態を推定していた。しかしながら、選定された１のパワースペクトルは、一般的に複数の移動状態に対応する代表パワースペクトルの特徴を含む。従って、１のパワースペクトルが、他の移動状態におけるパワースペクトルと類似する場合に、高い推定精度で移動状態を推定することが困難であった。
【０００８】
また、選定された１つのパワースペクトルは時系列変化を含まず、突発的に加速度センサの変化が起こると、正しくユーザの状態を推定することができない場合があった。このため、従来のパワースペクトルのパターンマッチングでは突発的なノイズや振動パターンのぶれに対応することは困難であり、移動状態の推定精度の低下を招いた。
【０００９】
また、従来は、様々なセンサを用いて、人間の様々な動作状態を推定していた。しかしながら、センサ装着箇所が複数必要であったり、装着方法が固定化されたりしている。さらに複数の装置は多くの電力を消費する。従って、これらの方式を用いてユーザの移動状態を推定する場合、ユーザは重装備となるため利便性が低下し望ましくない。
【課題を解決するための手段】
【００１０】
本願発明は、ユーザの移動状態を推定するためのモデルを生成し、該生成されたモデルを用いて、移動状態にあるユーザの特徴パラメータから移動状態を特定することによりユーザの移動状態を推定することを目的とする。
【００１１】
本願発明は、ユーザの加速度センサから得られる特徴パラメータの情報が、一般的に１又は複数の移動状態に対応する特徴を有していることに着目して、移動状態を推定することを特徴とする。本願発明は、ユーザの有する加速度センサから得られる１の推定用特徴パラメータに基づいて、実際のユーザの移動状態を、移動状態毎に確率として求め、もっとも確率の高い移動状態を選定することにより、移動状態の推定精度を高めるものである。また、本願発明により、ポケットや鞄に入れた状態、手に所持した状態、腕等に装着している状態等、携帯端装置の所持状態を推定することも可能となる。さらに、本願発明により、携帯端末装置を保有している人物を特定することも可能となる。
【００１２】
また、本願発明は、特定の参照状態にて取得された学習用加速度データ・リストから生成されたクラスタ群からなるモデルを生成し、該生成されたモデルを用いて、ユーザの移動状態を推定するものである。単に加速度センサより得られたユーザの加速度データ値をフーリエ変換することにより求められたパワースペクトルは、加速度データの時系列変化に関する情報を有さない。本願発明はユーザの有する加速度センサから得られる特徴パラメータの時系列データを用いてモデルを作成し、該モデルを用いてユーザの移動状態を推定する。従って、本願発明においては、ユーザの移動状態を示す時系列のデータを用いてユーザの移動状態を推定するため、ユーザ移動状態に突発的な変化を含む場合や、他状態と類似する時間帯が発生する場合であっても、ユーザの移動状態を正しく推定することが可能となる。
【００１３】
また、本願発明は、特定の参照状態にて取得された学習用加速度データ・リストから生成されたクラスタ群からなるモデルを用いて、ユーザの移動状態を推定するものである。１の加速度データから求められる特徴パラメータは、複数の移動状態における特徴パラメータと類似する場合がある。本願発明は、１の加速度データから求められる特徴パラメータが複数の移動状態における特徴パラメータと類似する場合であっても、モデルを用いることにより、該特徴パラメータが各移動状態に現れる頻度から移動状態を推定することが可能となる。従って、複数の移動状態における特徴パラメータと類似する場合であっても、ユーザの移動状態を高い精度で推定可能である。
【００１４】
また、本願発明は、ユーザの移動状態推定の際に、複数の推定用モデル、即ち、第１モデル及び第２モデルを生成し、第１モデルから得られた推定結果と第２モデルから得られた推定結果とが等しいときに、第１モデルによって推定された移動状態は信頼性が高いとして、推定された移動状態を、ユーザの移動状態として特定する。このように本願発明は得られた推定結果の信頼性を評価し、信頼性が高い時間帯のみを抽出することにより、より信頼性の高い推定を可能とするものである。
【００１５】
さらに、本願発明は、携帯端末装置が有する加速度センサを用いて主にユーザの移動状態を推定するものである。また、本願発明においては、加速度センサから得られる情報の他に、携帯端末装置に備える他の外部情報取得装置から得られる情報に基づいてユーザの移動状態を推定することも可能である。従って、ユーザは携帯端末装置の他に、装置を装備することなく、軽装備で移動状態の推定をすることが可能である。また、これらの外部情報取得装置は、加速度センサに比較して消費電力の少なく、外部情報を取得する際の処理負荷も小さい。本願発明において、通常は、ユーザの移動状態に変化があるか否かを、加速度センサに比してより消費電力の小さい、処理負荷の小さいこれらの外部情報取得装置により判断する。変化がある場合には、加速度センサを用いて移動状態を推定することにより、全体の推定処理にかかる処理負荷を低減させ、省電力化することが可能となる。
【００１６】
また、本願発明は、加速度センサから得られる加速度に加えて、他の外部情報取得装置を複合的に用いることにより、移動状態を推定する。このように複数種類のユーザの外部情報を取得することにより、ユーザの移動状態の推定精度をさらに高めることが可能となる。
【００１７】
以上より、本願発明は携帯端末装置の所持状態に依存せず、ユーザの置かれている環境に依存せず、ユーザによる操作を必要としないで自動で移動状態を推定することを特徴とする。また、比較的短期間に得られたセンサのデータを用いることで一回の推定処理にかかる負荷を低減すると共に、ユーザの移動状態の変化を短時間で検知することを特徴とする。
【００１８】
本願発明は、少なくとも１つのＣＰＵ（中央処理装置）とメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータ（第１平均パワースペクトル）と、移動状態毎の確率を有する１の第１確率表（確率表）とに対応する複数の第１クラスタを格納し、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータ（推定用パワースペクトル）と、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、選定された第１クラスタに対応する第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定するステップと（第１推定）からなる方法を特徴とする。
【００１９】
ここで、第１確率表は、各第１クラスタに含まれる学習用特徴パラメータに対応する移動状態毎の確率データを移動状態毎に有することを特徴とする。
【００２０】
また、本願発明は、少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータ（第１平均パワースペクトル）と、移動状態毎の確率を有する１の第１確率表（確率表）とに対応する複数の第１クラスタを格納し、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータ（推定用パワースペクトル）と、１又は複数のパラメータから構成される各代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、選定された第１クラスタに対応する第１確率表に基づいて時系列に推定用セグメント確率表を算出するステップと、推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表（第２平均確率表）と、移動状態毎の確率を有する１の第２確率表（移動状態ランク表）とに対応する、複数の第２クラスタを生成するステップと、１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各第２代表確率表（第２平均確率表）とのパラメータ毎の差に基づいて、複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、選定された第２クラスタに対応する前記第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定するステップと、（第２推定）からなる方法を特徴とする。
【００２１】
ここで、第２確率表（移動状態ランク表）は、前記各第２クラスタに含まれる学習用セグメント確率表に対応する移動状態毎の確率データを移動状態毎に有することを特徴とする。
【００２２】
また、本願発明は、少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵが、時系列にメモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、選定された第１クラスタに対応する第１確率表に基づいて算出された時系列にメモリに格納された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定ステップと（第１推定）、推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成するステップと、１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各前記第２代表確率表とのパラメータ毎の差に基づいて、複数のクラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定ステップと、第１の推定ステップ、および第２の推定ステップにより推定された結果を用いて移動状態を推定するステップと、からなる方法を特徴とする。
【００２３】
さらに、本願発明はキーフレームを用いた移動状態推定を特徴とする。より詳細には、本願発明は、少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態を推定する方法であって、該メモリは、複数の第１クラスタであって、それぞれ該第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する複数の第１クラスタを格納し、該ＣＰＵは、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定するステップと、選定された第１クラスタに対応する第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定ステップと（第１推定）、
推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成するステップと、１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各第２代表確率表（第２平均確率表）とのパラメータ毎の差に基づいて、複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定するステップと、選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定ステップと（第２推定）、第１の推定ステップ、および第２の推定ステップにより推定された結果が第５の条件を満足する場合に、該第５の条件により求められた結果に対応するフレームをキーフレームとして、フレーム・リストへ順次格納することによりフレーム・リストを生成するステップと、生成されたフレーム・リストにおいて、一のキーフレームと、その直前の一のキーフレームとが同一の移動状態に対応する場合に、該一のキーフレームに対応する移動状態が、所定の移動状態の場合に、該一のキーフレームと、該その直前の一のキーフレームとの間において、所定の条件を満たしているか判定するステップと、該所定の条件を満たしている場合に、該直前の一のキーフレームから該一のキーフレームに対応する移動状態を該キーフレームに対応する移動状態として確定することにより、移動状態を推定するステップと、からなる方法を特徴とする。
【００２４】
さらに、本願発明は、クラスタリングにより第１モデルを生成することを特徴とする。より詳細には、本願発明は、少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態の推定に用いるモデルを生成する方法であって、該ＣＰＵが、時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の該学習用特徴パラメータからなる第１クラスタの群を生成するステップと、該第１クラスタの群において、該第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とに対応する第１クラスタを生成するステップと（第１モデル）、を含む方法を特徴とする。
【００２５】
さらに、本願発明は、クラスタリングにより第１モデル、及び第２モデルを生成することを特徴とする。より詳細には、本願発明は、少なくとも１つのＣＰＵとメモリとを備える携帯端末装置の移動状態の推定に用いる第１及び第２モデルを生成する方法であって、該ＣＰＵが、時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータ（学習用パワースペクトル）を複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の学習用特徴パラメータからなる第１クラスタの群を生成するステップと、第１クラスタの群において、該第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とが対応する第１クラスタを生成するステップと（第１モデル）、学習用特徴パラメータ毎に、該学習用特徴パラメータと、代表特徴パラメータとのパラメータ毎の差に基づいて、該差が所定の条件を満足する１の第１クラスタを順次選定するステップと、該順次選定された第１のクラスタの所定数毎に、各第１クラスタに対応する各第１確率表に基づいて、学習用セグメント確率表を算出するステップと、該算出された各学習用セグメント確率表を複数の第２クラスタにクラスタリングし、該各第２クラスタは１又は複数の学習用セグメント確率表からなる第２クラスタの群を生成するステップと、第２クラスタの群において、第２クラスタ毎に、該各第２クラスタを代表する１の第２代表確率表と、各移動状態が出現する確率を表す第２確率表と、が対応する第２クラスタを生成するステップと（第２モデル）、を含む方法を特徴とする。
【００２６】
さらに、本願発明は、歩数、基地局情報を用いた移動状態の推定を特徴とする。より詳細には、本願発明は、少なくとも１つのＣＰＵと、歩数計と、アンテナと、加速度センサとを備える携帯端末装置の移動状態の変化を検知する方法であって、該携帯端末装置は該歩数計により第１の情報（歩数）を、該アンテナにより第２の情報（基地局情報）を、該加速度センサにより第３の情報（加速度）を取得可能であって、該ＣＰＵは、推定された移動状態が第１の移動状態（走行、歩行、自転車状態）の場合には第１の情報のみを取得し、該第１の情報が該第１の移動状態に対応している場合には、該推定された第１の移動状態を推定結果として取得し、前記第３の情報に変化があるか否かを監視するステップと、推定された移動状態が第２の移動状態（停止状態）の場合には、前記第１の情報及び第２の情報を取得し、前記第１の情報及び前記第２の情報が第２の移動状態に対応している場合には、該推定された第２の移動状態を推定結果として取得し、前記第１の情報（歩数）及び前記第２の情報に変化があるか否かを監視するステップと、推定された移動状態が第３の移動状態（電車、自動車、バス状態）の場合には、前記第１の情報を取得し、前記第１の情報が第３の移動状態に対応している場合には、該推定された第３の移動状態を推定結果として取得し、前記第１の情報に変化があるか否かを監視するステップと、からなる移動状態の変化を検知する方法を特徴とする。
【００２７】
さらに、本願発明は、携帯端末装置の移動状態を推定する携帯端末装置に関する。より詳細には、携帯端末装置の移動状態を推定する携帯端末装置であって、複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、ＣＰＵとであって、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、選定された第１クラスタに対応する確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する（第１推定）携帯端末装置を特徴とする。
【００２８】
さらに、本願発明は、携帯端末装置の移動状態を推定する携帯端末装置であって、
複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、ＣＰＵと、であって、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、該複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、選定された第１クラスタに対応する第１確率表に基づいて時系列に推定用セグメント確率表を算出し、推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各第２代表確率表とのパラメータ毎の差に基づいて、複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定し、選定された第２クラスタに対応する前記第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する（第２推定）携帯端末装置と特徴とする。
【００２９】
さらに、本願発明は、携帯端末装置であって、複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、ＣＰＵと、であって、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、選定された第１クラスタに対応する前記第１確率表に基づいて算出された時系列にメモリに格納された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定をし（第１推定）、推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、１又は複数のパラメータから構成される推定用セグメント確率表と、１又は複数のパラメータから構成される各第２代表確率表とのパラメータ毎の差に基づいて、複数のクラスタから該差が第３の条件を満足する１の第２クラスタを選定し、選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定をし（第２推定）、第１の推定ステップ、および前記第２の推定ステップにより推定された結果を用いて移動状態を推定する、携帯端末装置を特徴とする。
【００３０】
さらに、本願発明は、携帯端末装置の移動状態を推定する携帯端末装置であって、複数の第１クラスタを格納するメモリであって、該各第１クラスタは、該各第１クラスタを代表する１の代表特徴パラメータと、移動状態毎の確率を有する１の第１確率表とに対応する、メモリと、ＣＰＵと、であって、該ＣＰＵが、時系列に前記メモリに格納された、１又は複数のパラメータから構成される推定用特徴パラメータと、１又は複数のパラメータから構成される各前記代表特徴パラメータとのパラメータ毎の差に基づいて、複数の第１クラスタから該差が第１の条件を満足する１の第１クラスタを選定し、選定された第１クラスタに対応する前記第１確率表に基づいて算出された推定用セグメント確率表から、第２の条件を満足する移動状態を特定することにより移動状態を推定する第１の推定をし（第１推定）、推定用セグメント確率表を用いて複数の第２クラスタを生成するステップであって、それぞれ該第２クラスタを代表する１の第２代表確率表と、移動状態毎の確率を有する１の第２確率表とに対応する、複数の第２クラスタを生成し、１又は複数のパラメータから構成される前記推定用セグメント確率表と、１又は複数のパラメータから構成される各第２代表確率表とのパラメータ毎の差に基づいて、複数の第２クラスタから該差が第３の条件を満足する１の第２クラスタを選定し、選定された第２クラスタに対応する第２確率表から、第４の条件を満足する移動状態を選定することにより移動状態を推定する第２の推定をし（第２推定）、前記第１の推定ステップ、および前記第２の推定ステップにより推定された結果が第５の条件を満足する場合に、該第５の条件により求められた結果に対応するフレームをキーフレームとして、フレーム・リストへ順次格納することによりフレーム・リストを生成し、前記生成されたフレーム・リストにおいて、一のキーフレームと、その直前の一のキーフレームとが同一の移動状態に対応する場合に、前記一のキーフレームに対応する移動状態が、所定の移動状態の場合に、前記一のキーフレームと、前記その直前の一のキーフレームとの間において、所定の条件を満たしているか判定し、前記所定の条件を満たしている場合に、前記直前の一のキーフレームから前記一のキーフレームに対応する移動状態を前記キーフレームに対応する移動状態として確定することにより、移動状態を推定する携帯端末装置を特徴とする。
【００３１】
さらに、本願発明は、携帯端末装置の移動状態の推定に用いるモデルを生成するシステムであって、全ての移動状態に対応する複数の学習用特徴パラメータを時系列に格納しているメモリと、ＣＰＵと、であって、該ＣＰＵが時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の学習用特徴パラメータからなる第１クラスタの群を生成し、該第１クラスタの群において、該第１クラスタ毎に該各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とに対応する第１クラスタを生成する（第１モデル）、を含むシステムを特徴とする。
【００３２】
さらに、本願発明は、携帯端末装置の移動状態の推定に用いる第１及び第２モデルを生成するシステムであって、全ての移動状態に対応する複数の学習用特徴パラメータを時系列に格納しているメモリと、ＣＰＵと、であって、該ＣＰＵが、時系列にメモリに格納されている全ての移動状態に対応する複数の学習用特徴パラメータを複数の第１クラスタにクラスタリングし、該各第１クラスタは１又は複数の該学習用特徴パラメータからなる第１クラスタの群を生成し、該第１クラスタの群において、該第１クラスタ毎に前記各第１クラスタを代表する１の代表特徴パラメータと、各移動状態が出現する確率を有する第１確率表とが対応する第１クラスタを生成し（第１モデル）、該学習用特徴パラメータ毎に、該学習用特徴パラメータと、代表特徴パラメータとのパラメータ毎の差に基づいて、該差が所定の条件を満足する１の第１クラスタを順次選定し、該順次選定された第１のクラスタの所定数毎に、各第１クラスタに対応する各第１確率表に基づいて、学習用セグメント確率表を算出し、該算出された各学習用セグメント確率表を複数の第２クラスタにクラスタリングし、該各第２クラスタは１又は複数の該学習用セグメント確率表からなる第２クラスタの群を生成し、該第２クラスタの群において、第２クラスタ毎に、該各第２クラスタを代表する１の第２代表確率表と、各移動状態が出現する確率を表す第２確率表と、が対応する第２クラスタを生成する（第２モデル）、システムを特徴とする。
【００３３】
さらに、本願発明は、少なくとも１つのＣＰＵと、歩数計と、アンテナと、加速度センサとを備える携帯端末装置の移動状態の変化を検知するシステムであって、該携帯端末装置は該歩数計により第１の情報を、該アンテナにより第２の情報を、該加速度センサにより第３の情報を取得可能であって、該ＣＰＵは、推定された移動状態が第１の移動状態の場合には第１の情報のみを取得し、該第１の情報が該第１の移動状態に対応している場合には、該推定された第１の移動状態を推定結果として取得し、前記第３の情報に変化があるか否かを監視し、推定された移動状態が第２の移動状態の場合には、該第１の情報及び第２の情報を取得し、該第１の情報及び該第２の情報が第２の移動状態に対応している場合には、該推定された第２の移動状態を推定結果として取得し、該第１の情報及び前記第２の情報に変化があるか否かを監視し、推定された移動状態が第３の移動状態の場合には、該第１の情報を取得し、該第１の情報が該第３の移動状態に対応している場合には、該推定された第３の移動状態を推定結果として取得し、第１の情報に変化があるか否かを監視する、移動状態の変化を検知するシステムを特徴とする。
【図面の簡単な説明】
【００３４】
【図１】本願発明の一実施態様におけるシステム構成図である。
【図２】学習用モデル作成処理のフロー図である。
【図３】学習用パワースペクトル（ＰＳ）・リストの生成処理のフロー図である。
【図４】学習用パワースペクトル・リストの群をクラスタリングする処理のフロー図である。
【図５】学習用セグメント確率表リストのクラスタリング処理のフロー図である
【図６】第１モデル及び第２モデルを用いた移動状態の推定処理のフロー図である。
【図７】本願発明の他の実施態様におけるシステム構成図である。
【図８】第１モデル及び第２モデルを用いた推定に加えて、外部情報取得装置からの情報を用いて移動状態を推定する処理のフロー図である。
【図９】第１モデル及び第２モデルを用いた推定に加えて、外部情報取得装置からの情報を用いて移動状態を推定する他の実施態様における処理のフロー図である。
【図１０】キーフレーム区間の解除処理のフロー図である。
【図１１Ａ】本願発明において生成されるデータ表を示した図である。学習用パワースペクトル・リストの群のデータ構成を示した図である。
【図１１Ｂ】本願発明において生成されるデータ表を示した図である。第１クラスタの群のデータ構成を示した図である。
【図１１Ｃ】本願発明において生成されるデータ表を示した図である。学習用シンボル列のデータ構成を示した図である。
【図１１Ｄ】本願発明において生成されるデータ表を示した図である。学習用セグメント確率表リストのデータ構成を示した図である。
【図１１Ｅ】本願発明において生成されるデータ表を示した図である。第２クラスタの群のデータ構成を示した図である。
【図１１Ｆ】本願発明において生成されるデータ表を示した図である。推定用パワースペクトル・リストのデータ構成を示した図である。
【図１１Ｇ】本願発明において生成されるデータ表を示した図である。推定用シンボル列のデータ構成を示した図である。
【図１１Ｈ】本願発明において生成されるデータ表を示した図である。第１モデル及び第２モデルによる推定結果と、フレーム・リストとを時系列にメモリに格納したデータ構成を示した図である。
【発明を実施するための最良の形態】
【００３５】
図１は本願発明の一態様によるユーザ移動状態推定方式のシステム構成を示した図である。ユーザ移動状態推定方式は、例えば携帯端末装置に搭載され、携帯端末装置（Ａ１）は加速度センサ（Ａ５０）、メモリ、中央演算装置（ＣＰＵ）（Ａ１０）を含む。メモリにはヒープメモリ（Ａ２０）、フラッシュメモリ（Ａ３０）があっても良い。ここで、加速度センサは、加速度データを取得し、センサ内のメモリ空間へ加速度データを格納する。ＣＰＵは例えば、プログラムをフラッシュメモリからロードして、ヒープメモリへ格納するよう命令する。フラッシュメモリは例えば、データ取得関数等のプログラムを格納する。ヒープメモリは例えば、フラッシュメモリに格納されているプログラムを一時的に格納する。
モデルの生成
図２はモデルを生成するためのフロー図である。まず、全ての参照状態における学習用加速度データを参照状態毎に取得し、学習用特徴パラメータの群を生成する。本実施態様においては、学習用特徴パラメータの群として、学習用パワースペクトル・リストの群を生成する（Ｂ１）。学習用パワースペクトルのリストの群は、ＣＰＵによる演算により、学習用加速度データから、加速度値からなる関数をその周波成分の連続スペクトルに分解（例えば、フーリエ変換）することにより生成され、フラッシュメモリに格納される。なお、学習用特徴パラメータは、学習用パワースペクトル（学習用ＰＳ）の最大振幅周波数や、学習用加速度の３軸加速度ベクトル、加速度値の２乗和、加速度値の２乗和の分散値とすることもできる。学習用パワースペクトル・リストの群は、全ての移動状態の学習用パワースペクトル・リストからなり、学習用パワースペクトル・リストは、ある参照状態における全ての学習用パワースペクトルからなる。それぞれの学習用パワースペクトルはそれぞれ一の参照状態における移動状態に対応している。参照状態には、人間の活動状態だけではなく、人間が乗車している状態まで含めた状態、例えば歩行状態、走行状態、停止状態、自転車状態、自動車状態、バス状態、電車状態が含まれ、携帯端末装置を有しているユーザがとりうると想定される状態を参照状態として予め規定しておく。モデルの作成にあたって、事前に様々な条件下で参照状態毎に参照ユーザの有する加速度センサからの学習用加速度データを取得しておく。参照状態におけるユーザのデータは、想定しうる携帯端末装置の所持状態、例えばポケットや鞄に入れた状態、手のひらに所持している状態、腕等に装着している等、さまざまな状態に基づいて取得することができる。また、参照状態におけるユーザのデータは、想定しうるユーザの特徴、例えば性別、年齢、身長や体重等に基づいて取得することもできる。そしてモデルは、該参照状態において取得された十分なバリエーションのデータを元に生成される。
【００３６】
より詳細には、ＣＰＵが、あらかじめ、モデル作成関数（フーリエ変換関数、クラスタリング関数、パターンマッチング関数、シンボル列生成関数で構成）をフラッシュメモリから読み込み、ヒープメモリ上にロードする。モデル作成関数内のフーリエ変換関数により、ＣＰＵが学習用パワースペクトル・リストを計算し、算出結果をヒープメモリに蓄積する。
【００３７】
次に、生成された学習用パワースペクトル・リストの群をクラスタリングする（Ｂ２）。より詳細には、モデル作成関数内のクラスタリング関数により、ＣＰＵが全ての参照状態に対応する学習用パワースペクトル・リストの群に含まれる、全ての学習用パワースペクトル（Ｎ個）をフラッシュメモリから読み込みし、ヒープメモリに展開した上で、クラスタリング関数に読み込ませることにより、クラスタリングする。ここで、学習用パワースペクトル・リストの群は、全ての参照状態に対応する学習用パワースペクトル・リストからなる群である。移動状態毎に個別のＩＤが設定されており、各学習用パワースペクトルには、参照状態における移動状態のＩＤがそれぞれ関連付けられている。学習用パワースペクトル・リストの群は、１の学習用パワースペクトル毎に、対応する１の移動状態のＩＤと、周波数（ｉ）毎の学習用パワースペクトルの振幅とから構成される（図１１Ａ）。本実施態様においては、図１１Ａに示されるように７つの移動状態を全ての参照状態とする。また、ｎは任意の整数であり、iは任意の正の数である。クラスタリングとは、分類対象の集合を、内的結合と外的分離が達成されるような部分集合に分割することをいう。なお、学習用パワースペクトルのクラスタリングは、図４に示される処理フローに従って行われる。
第１モデルの生成
次に、モデルの生成（第１モデルの生成）を行う（Ｂ３）。第１モデルは、学習用パワースペクトル・リストの群に含まれる学習用パワースペクトルの各々をクラスタリングすることにより生成される。従って、第１モデルは、１又は複数の学習用パワースペクトルを有するクラスタの集まり（第１クラスタの群）で構成される。ここで、クラスタとは、一般的にある集合を分割した後の各部分集合をいい、クラスタ群とは、このようなクラスタの集まりをいう。
【００３８】
第１モデルに含まれる各第１クラスタは、それぞれ１又は複数の学習用特徴パラメータを有し、また各第１クラスタは、それぞれ１の第１代表特徴パラメータ、及び１の確率表に対応する。本実施態様においては、ＣＰＵによる演算により、各第１クラスタを代表する第１代表特徴パラメータとして、第１平均パワースペクトル（ＰＳ）が求められる。第１平均パワースペクトルは、第１クラスタ内に含まれる各学習用パワースペクトルの周波数毎の振幅の平均値を求め、求められた平均値を周波数毎の大きさとすることにより求められる。なお、本実施形態においては第１代表特徴パラメータとして平均パワースペクトルを用いているが、第１代表特徴パラメータは、対応するクラスタを代表する特徴パラメータで構成されるものであれば良く、種々の条件に基づいて求めることができる。第１平均パワースペクトルは、クラスタリング過程、即ち図４のステップ実行中は、ヒープメモリへ格納され、クラスタリング完了後はフラッシュメモリに格納される。また、各第１クラスタに対応する確率表は、各第１クラスタに含まれる全ての学習用パワースペクトルにおいて、各学習用パワースペクトルに対応する移動状態のＩＤが含まれる確率を、移動状態毎に求めることにより生成される。従って、確率表は、各学習用パワースペクトルに対応する各移動状態のＩＤがクラスタ内に含まれる確率を移動状態毎に求めた値と、それに対応する移動状態のＩＤとを関連付けるデータ表である。そして、ＣＰＵは、クラスタ毎に生成された確率表をフラッシュメモリに書き込む。以上より、ＣＰＵは、クラスタリングされた第１クラスタ（Ｍ個）のそれぞれに対して、クラスタのＩＤと第１平均パワースペクトル、及び確率表を対応させ、第１クラスタ群を構成する（図１１Ｂ）。
【００３９】
次に、学習用パワースペクトルと最近傍の第１平均パワースペクトルに対応する第１クラスタを選定する（Ｂ４）。より詳細には、モデル作成関数内のパターンマッチング関数により、学習用パワースペクトルからなるクラスタ群の内の各クラスタにおける第１平均パワースペクトルと、学習用パワースペクトルとをそれぞれパターンマッチングする。即ち、学習用パワースペクトル・リストへ時系列に格納された１の学習用パワースペクトル・リストをＣＰＵがロードし、クラスタ群の各クラスタに対応するそれぞれ１の第１平均パワースペクトルとの、周波数毎の振幅の誤差の総和（パワースペクトルの場合）を算出する。ＣＰＵは、算出された総和が最小の第１平均パワースペクトルを求め、求められた第１平均パワースペクトルを、学習用パワースペクトルと最近傍の第１平均パワースペクトルとして選定し、当該第１平均パワースペクトルに対応するクラスタのシンボルをメモリへ格納する（シンボル化）。ここで、各クラスタには個別のシンボルがそれぞれ１つ割り振られている。
【００４０】
次に、ＣＰＵは、学習用パワースペクトル・リストの群に含まれる全ての学習用パワースペクトルがシンボル化されたか否か判定する（Ｂ５）。ステップＢ５において、全ての学習用パワースペクトルがシンボル化されていない場合は、前回ロードされた学習用パワースペクトルの次に格納されている学習用パワースペクトルをロードし、該ロードされた学習用パワースペクトルに対して、ステップＢ４を繰り返し、前回に格納されたシンボルの次のアドレスへ第１平均パワースペクトルに対応するクラスタのシンボルをシンボル列へ格納する。一方、ステップＢ５において、学習用パワースペクトル・リストの群に含まれる全ての学習用パワースペクトルがシンボル化されている場合は、メモリへ格納されたシンボル化されたシンボルの列を、学習用シンボル列（図１１Ｃ）として、ヒープメモリに格納する（Ｂ６）。
【００４１】
次に、学習用セグメント確率表を生成する（Ｂ７）。より詳細には、まずＣＰＵが、学習用シンボル列の一定区間（セグメント）において格納されている各シンボルに対応する確率表をそれぞれフラッシュメモリからロードする。ここで、学習用シンボル列に含まれる個々の第１クラスタのシンボルには１の確率表がそれぞれ対応している。一定区間は、予め定められおり、複数個（ａ個）のシンボルが含まれる一定の区間である。本一定区間が短すぎると、突発的に発生するノイズによる影響を大きく受けて推定誤差が大きくなることがある。また本区間が長すぎると、期間内に発生しうる移動状態の変化をタイミング良く把握できなくなることがある。そして、ＣＰＵによる演算によりロードされた各確率表の１の移動状態における確率の平均を、移動状態毎に算出する。学習用セグメント確率表は、一定区間に対する移動状態毎に算出された平均確率と、移動状態とを関連付けたデータ表である。生成された学習用セグメント確率表は、一定区間毎にヒープメモリへ時系列に格納される。
【００４２】
次に、学習用セグメント確率表が、学習用シンボル列の全区間（Ｎ／ａ区間）において生成されたか否か判定する（Ｂ８）。ここで、学習用シンボル列の全区間とは、学習用シンボル列の全体を一定区間毎に区切った場合の全ての区間である。ステップＢ８において、学習用シンボル列の全区間に対応する学習用セグメント確率表が生成されていない場合は、ステップＢ７の処理を繰り返す。ここで、学習用セグメント確率表を時系列に格納したものを、学習用セグメント確率表リストとする。ステップＢ８において、学習用シンボル列の全区間に対応する学習用セグメント確率表が生成されている場合は、学習用セグメント確率表リストの生成は終了し（Ｂ９）、生成結果はヒープメモリへ格納される。
【００４３】
次に、生成された学習用セグメント確率表リストに含まれる全ての学習用セグメント確率表をクラスタリングする（Ｂ１０）。より詳細には、モデル作成関数内のクラスタリング関数により、ＣＰＵが学習用セグメント確率表リストに含まれる全ての学習用セグメント確率表を対象にクラスタリングを行う。なお、学習用セグメント確率表のクラスタリングは、図５に示される処理フローに従って行われる。
第２モデルの生成
次に、第２モデルの生成を行う（Ｂ１１）。第２モデルは、学習用セグメント確率表リストに含まれる学習用セグメント確率表の各々をクラスタリングすることにより生成される。従って、第２モデルは、１又は複数の学習用セグメント確率表をそれぞれ有するクラスタの集まり（第２クラスタの群）で構成される。まず、ＣＰＵによる演算により、学習用セグメント確率表をクラスタリングする。そして、クラスタリング結果はフラッシュメモリへ格納される。
【００４４】
クラスタリングにより、第２モデルを構成する第２クラスタ群に含まれる各第２クラスタは、それぞれ１又は複数の学習用セグメント確率表を有する。また、各第２クラスタはそれぞれ１の第２代表確率表、及び１の移動状態ランク表に対応する。本実施態様においては、ＣＰＵによる演算により、各第２クラスタに対応する第２代表確率表として、第２平均確率表が求められる。第２平均確率表は、第２クラスタ内に含まれる各学習用セグメント確率表の移動状態毎の確率の平均値を求め、求められた平均値を移動状態毎の確率とすることにより求められる。なお、本実施形態においては第２代表確率表として各学習用セグメント確率表の平均を用いているが、第２代表確率表は、対応するクラスタを代表する特徴パラメータで構成されるものであれば良く、種々の条件に基づいて求めることができる。
【００４５】
また、各第２クラスタに対応する移動状態ランク表は、各第２クラスタに含まれる全ての学習用セグメント確率表において、各学習用セグメント確率表に対応する移動状態のＩＤが含まれる確率を、移動状態毎に求めることにより生成される。従って、移動状態ランク表は、第２クラスタに含まれる各学習用セグメント確率表に対応する各移動状態のＩＤがクラスタ内に含まれる確率を移動状態毎に求めた値と、それに対応する移動状態のＩＤとを関連付けるデータ表である。そして、ＣＰＵは、クラスタ毎に生成された移動状態ランク表をフラッシュメモリに書き込む。以上より、ＣＰＵは、クラスタリングされた第２クラスタ（Ｐ個）のそれぞれに対して、クラスタのＩＤと第２代表確率表、及び移動状態ランク表とを対応させ、第２クラスタ群を構成する（図１１Ｅ）。
学習用特徴パラメータ・リストの生成
図３は学習用特徴パラメータ・リストの生成処理のフロー図である。図２のステップＢ１に対応する処理である。本実施態様においては、学習用特徴パラメータ・リストとして、学習用パワースペクトル・リストを生成する。学習用パワースペクトル・リストは、学習用モデルを生成するために利用されるデータ・リストであり、ある特定の移動状態における参照状態のデータを一定期間取得することにより生成される。ここで、学習用特徴パラメータは、学習用パワースペクトルの最大振幅周波数や、学習用加速度の３軸加速度値ベクトル、学習用加速度の加速度値の２乗和、加速度値の２乗和の分散値とすることも可能である。
【００４６】
まず、加速度センサから参照状態の学習用加速度データ(x、y、z)を取得する（Ｃ１）。なお、ここではｘ、ｙ、ｚは３軸上の加速度であるが、１軸、または２軸上の加速度でも良い。より詳細には、ＣＰＵは、あらかじめ、学習用パワースペクトル・リスト生成関数（加速度値算出、時間間隔判定、加速度値の時間窓データ算出関数、ＦＦ変換関数）、及び加速度センサのデバイス・ドライバをフラッシュメモリから読み込み、ヒープメモリ上にロードする。そして、ＣＰＵがデバイス・ドライバにより、加速度センサを起動し、計測を開始する。デバイス・ドライバは、加速度センサの測定値（学習用加速度データ）を読み出し、ヒープメモリに蓄積する。
【００４７】
次に、加速度値算出関数により、ＣＰＵがヒープメモリから学習用加速度データを読み込み、ＣＰＵによる演算により学習用加速度データから加速度値α＝（x2+y2+z2）1/2を生成し（Ｃ２）、ヒープメモリへ蓄積する。
【００４８】
そして、加速度値の時間窓データ算出関数により、ＣＰＵは所定期間（例えば２秒間）にわたって加速度値αを生成し、加速度の学習用の時間窓データを生成し（Ｃ３）、その結果をヒープメモリへ蓄積する。ここで、例えばサンプリングレートを１２８Ｈｚとすると、加速度の学習用の時間窓データは２秒間で２５６個の加速度値αからなる。また、サンプリングレートが２５６Ｈｚの加速度センサであれば、所定期間は１秒間でも良い。
【００４９】
次に、時間間隔判定関数により、ＣＰＵが前回の学習用パワースペクトル生成時刻をヒープメモリから読み出し、経過時間を計測し、閾値を超えているか判断し、閾値を超えていない場合は加速度の学習用の時間窓データを生成するステップを繰り返す（Ｃ４）。閾値を超えている場合はステップＤ５に移る。
【００５０】
次に、ＣＰＵは、ＦＦ変換関数により、ヒープメモリから加速度の時間窓データの束（ここで、取得された時間窓データの束を時系列データ・リストという）を読み出し、それぞれの時間窓データをフーリエ変換して学習用パワースペクトルを算出し（Ｃ５）、ヒープメモリへそれぞれ蓄積する。なお、時間窓データをフーリエ変換して得られた学習用パワースペクトルのうち、所定の周波数帯域のスペクトル、例えば１〜１０Ｈｚのスペクトルを用いることができる。加速度の時間窓データを取得するステップを繰り返す間隔は、前記所定期間であっても良いし、それよりも長いまたは短い間隔でもよい。本実施態様においては、例えば２秒間の時間窓のずらし幅を０．５秒間に設定する。
【００５１】
以上により、格納された学習用パワースペクトルのリストを学習用パワースペクトル・リストとする。
学習用特徴パラメータ・リストの群のクラスタリング
図４は学習用特徴パラメータ・リストの群のクラスタリング処理フロー図である。本処理は図２のステップＢ２に対応する処理である。本実施態様においては、学習用特徴パラメータ・リストとして、学習用パワースペクトル・リストを用いる。ここで、学習用パワースペクトル・リストとは、１の移動状態における参照状態の学習用パワースペクトルから構成されるリストであり、学習用パワースペクトル・リストの群とは、全移動状態の参照状態における学習用パワースペクトル・リストから構成されるリスト群である。
【００５２】
学習用パワースペクトル・リストの群に含まれる全ての学習用パワースペクトルのクラスタリングにより、分類対象である複数の学習用パワースペクトルは、類似する学習用パワースペクトルが同じ部分集合になるように分類される。代表的なクラスタリング手法にはｋ−ｍｅａｎｓ法がある。ｋ−ｍｅａｎｓ法は、入力データからＫ個のランダムな個体を初期クラスタの中心として選択し、以降、クラスタの重心を移動させるステップを繰り返すことでクラスタリングを行う非階層的手法である。ここでは、例えばｋ−ｍｅａｎｓ法を用いてクラスタリングを行う。なお、Ｋ−ｍｅａｎｓ法に代えて、ＳＶＭ等を用いることも可能である。ＳＶＭ(Support Vector Machine)は２クラスの分類を行う学習機械の一種で、与えられた訓練点のなかでサポートベクトルと呼ばれるクラス境界近傍に位置する訓練点と識別面との距離であるマージンを最大化するように分離超平面を構築しクラス分類を行う。
【００５３】
まず、ＣＰＵは、モデル作成関数内のクラスタリング関数をフラッシュメモリから読み込みヒープメモリに展開する。そして、学習用パワースペクトル・リストの群に含まれる全ての学習用パワースペクトルをランダムに２つのクラスタに分類する（Ｄ１）。分類結果はヒープメモリに格納に格納される。「全ての学習用パワースペクトル」とは、当初は、全参照状態分の学習用パワースペクトル・リストに含まれる全ての学習用パワースペクトルである。この当初の全参照状態分の学習用パワースペクトル・リストに含まれる全ての学習用パワースペクトルの集合を学習用パワースペクトルの「初期母集団」とする。また、ステップＤ１において、これから各クラスタに分類されるであろう、全ての学習用パワースペクトルの集合を「母集団」とする。なお、本実施態様においては２つのクラスタへ分類している。これは、３以上のクラスタへ分類すると、一つの群に最も特徴のある学習用パワースペクトルが集中して分類され、他の群における学習用パワースペクトルの特徴は考慮されなくなるため、複数の移動状態を推定することが困難となる場合があるためである。なお、最も特徴のある１の移動状態のみを推定する場合には、３以上へのクラスタへ分類することも有効である。
【００５４】
次に、ステップＤ１にて分類されたクラスタ内の全ての学習用パワースペクトルから、平均パワースペクトルを求め、該求められた平均パワースペクトルを代表パワースペクトルとする（Ｄ２）。より詳細には、各学習用パワースペクトルの周波数毎の振幅の平均値を求め、求められた平均値を周波数毎の大きさとする平均パワースペクトルを代表パワースペクトルとする。なお、本実施形態においては代表パワースペクトルとして平均パワースペクトルを用いているが、代表パワースペクトルは、対応するクラスタを代表する特徴パラメータで構成されるものであれば良く、種々の条件に基づいて求めることができる。
【００５５】
次に、母集団内の全ての学習用パワースペクトルを、距離の近い代表パワースペクトルへ分類する（Ｄ３）。より詳細には、例えばそれぞれ１の学習用パワースペクトルと、各クラスタの代表パワースペクトルとの周波数毎の振幅の誤差の総和を算出する。そして、算出された総和が小さい方の代表パワースペクトルに対応するクラスタへ１の学習用パワースペクトルを分類する。従って、それぞれの学習用パワースペクトルは、周波数毎の誤差の総和の差がより小さい、即ち、より距離の近い代表パワースペクトルを有する一方のクラスタへ分類される。
【００５６】
次に、ステップＤ３における分類結果に基づいて、各クラスタに含まれる全ての学習用パワースペクトルからそれらの平均パワースペクトルを算出し、算出された結果を各クラスタの代表パワースペクトルとして更新する（Ｄ４）。より詳細には、分類されたクラスタに含まれる全ての学習用パワースペクトルに基づいて、周波数毎に学習用パワースペクトルの大きさの平均値を算出する。そして、算出された平均値を周波数毎に有する新たなパワースペクトルを新たな代表パワースペクトルとして、クラスタ毎にそれぞれ更新し、ヒープメモリへ格納する。
【００５７】
次に、ステップＤ３において学習用パワースペクトルが各クラスタへ分類された結果が、直前の分類結果と同等か否か判定する（Ｄ５）。本実施態様においては、例えばそれぞれのクラスタに含まれる分類された学習用パワースペクトルの周波数毎の平均値が、直前に分類された学習用パワースペクトルの周波数毎の平均値と同じか否か判定する。ここで、それぞれのクラスタに含まれる分類された学習用パワースペクトルの平均値と、直前に分類された学習用パワースペクトルの周波数毎の平均値との誤差を算出し、誤差の総和がしきい値以下か否か判定しても良い。しきい値に基づいて判定する場合はより早く分類結果が収束するため、処理速度が向上する。分類された結果が直前の分類結果と同等ではない場合、ステップＤ３、及びＤ４の処理を繰り返す。分類された結果が直前の分類結果と同等の場合、各クラスタに含まれる学習用パワースペクトルの個数が、どちらのクラスタに多いか／少ないかを比較する（Ｄ６）。
【００５８】
分類されたクラスタに含まれる個数が少ない場合は、該クラスタに属する学習用パワースペクトルに基づいて確率表が生成される（Ｄ７）。そして、生成結果はヒープメモリへ格納される。より詳細には、確率表は、該クラスタに含まれる全ての学習用パワースペクトルにおいて、各学習用パワースペクトルに対応する移動状態のＩＤが含まれる確率を、移動状態毎に求め、求められた移動状態毎のＩＤが含まれる確率と、それに対応する移動状態とを関連付けることにより生成される。即ち、確率表は、各学習用パワースペクトルに対応する各移動状態のＩＤがクラスタ内に含まれる確率を移動状態毎に求めた値と、それに対応する移動状態のＩＤとを関連付けたデータ・リストである。そして、ＣＰＵは、該個数の少ないクラスタに属する全ての学習用パワースペクトルを母集団から除き（Ｄ８）、ヒープメモリへ格納する。該個数の少ないクラスタに属する全ての学習用パワースペクトルを除いた母集団が、次の母集団となる。次に、該個数の少ないクラスタに含まれる学習用パワースペクトルの数が、初期母集団の一定割合以下かの判定（母集団の規模判定）、又は更なるクラスタリングが不可能であるかの判定をする（Ｄ８）。ここで、一定割合とは、初期母集団に含まれる学習用パワースペクトルの数と、分類されたクラスタに含まれる学習用パワースペクトルの数との割合であり、予め規定されている。また、更なるクラスタリングが不可能である場合とは、全ての学習用パワースペクトルが、片方のクラスタにマッピングされた状態をいう。ここで、母集団の規模判定や、更なるクラスタリングが不可能であるかの判定に加えて、例えば、移動状態の分布の偏りに基づいて判定することもできる。移動状態の分布の偏りに基づく判定とは、該個数の少ないクラスタに属する全ての学習用パワースペクトルを用いて、各移動状態の出現する確率を算出し、最高確率に対応する移動状態の確率が、第２位の確率に対応する移動状態の確率の倍以上であるか否かを判定することをいう。ここで、倍以上である場合には、該クラスタのクラスタリング処理が終了し１つの第1モデルが生成される。倍以下である場合には、ステップＤ１へ戻り引き続きクラスタリング処理が行われる。
【００５９】
一方、分類されたクラスタに含まれる個数が多い場合は、該クラスタに含まれる学習用パワースペクトルの数が、初期母集団の一定割合以下か、又は更なるクラスタリングが不可能であるか判定する（Ｄ９）。ステップＤ９における判定の結果が否定的である場合、さらにステップＤ１からＤ６の処理を繰り返す。これは、クラスタに含まれる学習用パワースペクトルの個数が多いため、更なるクラスタリング処理によって、学習用パワースペクトルの分類が必要であることを意味する。一方、ステップＤ９における判定の結果が肯定的である場合、クラスタリングにより学習用パワースペクトルの分類が収束しており、クラスタリングによりクラスタが、すでに適切な大きさに細分化されていることを意味する。そして、当該クラスタに対応する確率表を生成し、学習用パワースペクトル・リストのクラスタリング処理は終了する。クラスタリングにより、全ての学習用パワースペクトルは、１のクラスタ（ここでは、第１クラスタ）に含まれるよう分類され、１のクラスタには１の確率表が対応するよう構成される。
学習用セグメント確率表リストのクラスタリング
図５は学習用セグメント確率表リストのクラスタリング処理フロー図である。本処理は、図２のステップＢ１０に対応する処理である。ステップＢ９にて学習用シンボル列の全区間において学習用セグメント確率表を算出することにより、複数の学習用セグメント確率表からなる学習用セグメント確率表リストが生成される。学習用セグメント確率表リストに含まれる学習用セグメント確率表をクラスタリングすることにより、分類対象である複数の学習用セグメント確率表は、類似する学習用セグメント確率表が同じ部分集合になるように分類される。
【００６０】
まず、ＣＰＵは、モデル作成関数内のクラスタリング関数をフラッシュメモリから読み込みヒープメモリに展開する。そして、学習用セグメント確率表リストに含まれる全ての学習用セグメント確率表をランダムに２つのクラスタに分類する（Ｅ１）。分類結果はヒープメモリに格納に格納される。「全ての学習用セグメント確率表」とは、当初は、ステップＢ９にて生成された全ての学習用セグメント確率表である。この当初の全ての学習用セグメント確率表、即ち、ステップＢ９にて生成された全ての学習用セグメント確率表の集合を学習用セグメント確率表の「初期母集団」とする。また、ステップＥ１において、これから各クラスタに分類されるであろう、全ての学習用セグメント確率表の集合を「母集団」とする。
【００６１】
次に、ステップＥ１にて分類されたクラスタ内の学習用セグメント確率表から、平均確率表を求め、該求められた平均確率表を代表確率表とする（Ｅ２）。より詳細には、各学習用セグメント確率表の移動状態毎に平均確率を求め、求められた平均確率を移動状態毎の代表確率とする代表確率表を求める。
【００６２】
次に、母集団内の全ての学習用セグメント確率表を、距離の近い代表確率表へ分類する（Ｅ３）。より詳細には、例えばそれぞれ１の学習用セグメント確率表と、各クラスタの代表確率表との移動状態毎の確率の誤差の総和を算出する。そして、算出された総和が小さい方の代表確率表に対応するクラスタへ１の学習用セグメント確率表を分類する。従って、それぞれの学習用セグメント確率表は、移動状態毎の確率の誤差の総和の差がより小さい、即ち、より距離の近い代表確率表を有する一方のクラスタへ分類される。
【００６３】
次に、ステップＥ３における分類結果に基づいて、各クラスタに含まれる全ての学習用セグメント確率表からそれらを平均した平均確率表を算出し、算出された結果を各クラスタの代表確率表として更新する（Ｅ４）。より詳細には、分類されたクラスタに含まれる全ての学習用セグメント確率表に基づいて、移動状態毎に確率の平均値を算出する。そして、算出された平均値を移動状態毎に有する新たな確率表を新たな代表確率表として、クラスタ毎にそれぞれ更新し、ヒープメモリへ格納する。
【００６４】
次に、ステップＥ３において学習用セグメント確率表が各クラスタへ分類された結果が、直前の分類結果と同等か判定する（Ｅ５）。本実施態様においては、例えばそれぞれのクラスタに含まれる分類された学習用セグメント確率表の移動状態毎の平均確率が、直前に分類された学習用セグメント確率表の移動状態毎の平均確率と同じか否か判定する。ここで、それぞれのクラスタに含まれる分類された学習用セグメント確率表の移動状態毎の平均確率と、直前に分類された学習用セグメント確率表の移動状態毎の平均確率との誤差を算出し、誤差の総和がしきい値以下か否か判定しても良い。しきい値に基づいて判定する場合はより早く分類結果が収束するため、処理速度が向上する。分類された結果が直前の分類結果と同等ではない場合、ステップＥ３、及びＥ４の処理を繰り返す。分類された結果が直前の分類結果と同等の場合、各クラスタに含まれる学習用セグメント確率表の個数が、どちらのクラスタに多いか／少ないかを比較する（Ｅ６）。
【００６５】
分類されたクラスタに含まれる個数が少ない場合は、該クラスタに属する学習用セグメント確率表からなる群の移動状態ランク表が生成される（Ｅ７）。そして、生成結果はヒープメモリへ格納される。より詳細には、移動状態ランク表は、各第２クラスタに含まれる全ての学習用セグメント確率表に基づいて、各学習用セグメント確率表に対応する移動状態のＩＤが含まれる確率を移動状態毎に求めることにより生成される。即ち、移動状態ランク表は、クラスタ内に含まれる全ての学習用セグメント確率表に対応する各移動状態のＩＤがクラスタ内に含まれる確率を移動状態毎に求めた値と、それに対応する移動状態のＩＤとを関連付けたデータ・リストである。そして、ＣＰＵは、該個数の少ないクラスタに属する全ての学習用セグメント確率表を母集団から除き（Ｅ７）、ヒープメモリへ格納する。該個数の少ないクラスタに属する全ての学習用セグメント確率表を除いた母集団が、次の母集団となる。次に、該個数の少ないクラスタに含まれる学習用セグメント確率表の数が、初期母集団の一定割合以下かの判定（母集団の規模判定）、又は更なるクラスタリングが不可能であるかの判定をする（Ｅ８）。ここで、一定割合とは、初期母集団に含まれる学習用セグメント確率表の数と、分類されたクラスタに含まれる学習用セグメント確率表の数との割合であり、予め規定されている。また、更なるクラスタリングが不可能である場合とは、全ての学習用セグメント確率表が、片方のクラスタにマッピングされた状態をいう。ここで、母集団の規模判定や、更なるクラスタリングが不可能であるかの判定に加えて、例えば、移動状態の分布の偏りに基づいて判定することもできる。移動状態の分布の偏りに基づく判定とは、該個数の少ないクラスタに属する全ての学習用セグメント確率表を用いて、各移動状態の出現する確率を算出し、最高確率に対応する移動状態の確率が、第２位の確率に対応する移動状態の確率の倍以上であるか否かを判定することをいう。ここで、倍以上である場合には、該クラスタのクラスタリング処理が終了し１つの第２モデルが生成される。倍以下である場合には、ステップＥ１へ戻り引き続きクラスタリング処理が行われる。
【００６６】
一方、分類されたクラスタに含まれる個数が多い場合は、該クラスタに含まれる学習用セグメント確率表の数が、初期母集団の一定割合以下か、又は更なるクラスタリングが不可能であるか判定する（Ｅ９）。ステップＥ９における判定の結果が否定的である場合、さらにステップＥ１からＥ６の処理を繰り返す。これは、クラスタに含まれる学習用セグメント確率表の個数が多いため、更なるクラスタリング処理によって、学習用セグメント確率表の分類が必要であることを意味する。一方、ステップＥ９における判定の結果が肯定的である場合、クラスタリングにより学習用セグメント確率表の分類が収束しており、クラスタリングにより学習用セグメント確率表が、すでに適切な大きさに細分化されていることを意味する。そして、当該クラスタに対応する移動状態ランク表を生成し、学習用セグメント確率表のクラスタリング処理は終了する。クラスタリングにより、全ての学習用セグメント確率表は、１のクラスタ（ここでは、第２クラスタ）に含まれるよう分類され、１のクラスタには１の移動状態ランク表が対応するよう構成される。
ユーザの移動状態の推定
図６は、ユーザの移動状態を推定するためのフロー図である。ユーザの移動状態の推定は、学習用パワースペクトルを用いて生成されたモデル、即ち第１モデル及び／又は第２モデルを用いて行う。
【００６７】
一実施態様では、第１モデルのみを用いることによりユーザの移動状態を推定することが可能である。第１モデルのみを用いることによりユーザの移動状態を推定するための処理負荷が軽減される。
【００６８】
さらに別の実施態様では、第２モデルのみを用いることにより移動状態を推定することが可能である。第２モデルのみを用いることによりユーザの移動状態を推定するための処理負荷が軽減される。
【００６９】
また、さらに別の実施態様では、第１モデルと第２モデルを合わせてユーザの移動状態を推定することが可能であり、これによりさらに移動状態の推定誤差を少なくすることが可能である。具体的には、第１モデルを用いることにより得られる移動状態の推定結果（第１推定結果）と、第２モデルを用いることにより得られる移動状態の推定結果（第２推定結果）とが同一である場合に、移動状態を選定し、これを推定結果とする。これにより第１モデルによる推定された結果の信頼性を、第２モデルを用いて評価することが可能となり、信頼性の高い推定結果を得ることが可能となる。
第１モデルによる推定結果の取得
図６のフロー図に従って、移動状態の推定方式を以下に詳述する。まず、移動状態を推定するユーザの有する携帯端末装置に備えられている加速度センサから加速度データを取得し、加速度からなる関数をその周波成分の連続スペクトルに分解すること（例えば、フーリエ変換）により推定用パワースペクトル・リストを生成する（Ｆ１）。推定用パワースペクトル・リストには、各推定用パワースペクトルのＩＤと、各推定用パワースペクトル（Ｑ個）に対応する周波数毎の振幅が時系列に格納されている（図１１Ｆ）。
【００７０】
次に、第１モデルを用いて、推定用パワースペクトル・リストのうち１の推定用パワースペクトルと、最近傍の第１平均パワースペクトルに対応する第１クラスタを選定する（Ｆ２）。より詳細には、例えば、ＣＰＵは、クラスタ群の各第１クラスタにおけるそれぞれ１の第１平均パワースペクトルと、推定用パワースペクトルとの周波数毎の振幅の誤差の総和を算出する。そして、算出された総和が最小の第１平均パワースペクトルに対応する第１クラスタを、推定用パワースペクトルと最近傍の第１平均パワースペクトルとして選定する。なお、最近傍の第１平均パワースペクトルは、移動状態毎の確率の差の２乗の総和が最小となる第１平均パワースペクトルを選定すること等により求めても良い。
【００７１】
次に、選定された最近傍の第１クラスタに対応するシンボルを推定用シンボル列へ格納（シンボル化）する（Ｆ３）。各第１クラスタには、１の第１平均パワースペクトル、及び１の確率表が対応しており、各第１クラスタに対してそれぞれ１の異なるシンボルが割り振られている。
【００７２】
次に、推定用パワースペクトル・リストにおける一定区間内の推定用パワースペクトルが全てシンボル化されたか否か判定する（Ｆ４）。ここで、一定区間は、予め定められており、移動状態を推定するために必要な最小個数（ｂ個）の推定用パワースペクトルに対応する一定の区間である。本一定区間が短すぎると、突発的に発生するノイズによる影響を大きく受けて推定誤差が大きくなることがある。また本区間が長すぎると、期間内に発生しうる移動状態の変化をタイミング良く把握できなくなることがある。一定区間内の推定用パワースペクトルが全てシンボル化されていない場合は、全てのシンボル化が終了するまでステップＦ２、Ｆ３を繰り返す。一定区間内の推定用パワースペクトルが全てシンボル化された場合は、ステップＦ５へ進む。
【００７３】
次に、生成された推定用シンボル列（図１１Ｇ）に基づいて、推定用セグメント確率表を生成する（Ｆ５）。推定用セグメント確率表とは、推定用シンボル列において、一定区間の連続したシンボルに対応する各確率表に基づいて求められる確率表である。推定用セグメント確率表は、推定用シンボル列の一定区間内に格納された複数のシンボルにそれぞれ対応する第１クラスタの確率表を用いて、移動状態毎に確率の平均値を算出することにより求められる。推定用セグメント確率表は、算出された移動状態毎の一定区間毎の平均確率を移動状態毎に有する表である。
【００７４】
次に、ＣＰＵは推定用セグメント確率表を参照し、移動状態毎にある平均確率のうち、最高の確率に対応する移動状態を選定する（第１モデルによる移動状態の推定結果取得）（Ｆ６）。なお、本実施形態においては最高確率に対応する移動状態を選定しているが、選定するにあたって、他の所定の条件を設けることができる。例えば、携帯端末装置の所持状態には、ポケットや鞄に入れた状態、手に所持した状態、腕等に装着している状態等がある。これらの所持状態を推定する場合は、推定用セグメント確率表の、例えば上位から複数の確率に対応する状態を選定することにより、所持状態を推定することができる。さらに、本実施態様においては、移動状態を選定しているが、同様の方法を用いて、例えば携帯端末装置を保有している人物を特定することもできる。また、例えば上位から複数の確率に対応する状態を選定することにより、可能性の高い複数の人物を特定することも可能となる。
【００７５】
そして、ＣＰＵは、選定された移動状態に対応するＩＤを推定結果としてメモリへ格納する。ＣＰＵは、時系列にメモリに格納された推定用パワースペクトルを用いて、推定用セグメント確率表を参照し、最高の確率に対応する移動状態を順次選定していく。そして、第１モデルによるユーザの移動状態の推定結果が、時系列にメモリへ格納される（図１１Ｈの第1モデル推定結果）。以上より、時系列データを用いた第１モデルによるユーザの移動状態の推定がなされる。ユーザ移動状態に突発的な変化を含む場合や、他状態と類似する時間帯が発生する場合であっても、ユーザの移動状態を正しく推定することが可能となる。また、ユーザの加速度センサから得られる１のパワースペクトルの情報は、１又は複数の移動状態に対応する特徴を有している場合がある。本願発明は、１の加速度データから求められる特徴パラメータが複数の移動状態における特徴パラメータと類似する場合であっても、第１モデルを用いることにより、該特徴パラメータが各移動状態に現れる頻度から移動状態を推定することが可能となる。従って、複数の移動状態における特徴パラメータと類似する場合であっても、ユーザの移動状態を高い精度で推定可能である。
推定用パワースペクトル・リストの生成
推定用パワースペクトルの生成（ステップＦ１）を以下に詳述する。ある移動状態にいるユーザの移動状態を推定するために用いる推定用パワースペクトル・リストは、学習用パワースペクトル・リストの選定と同様のプロセスにより行われる。より詳細には、ある移動状態にいるユーザが有する加速度センサから所定期間に亘って推定用の加速度データを取得し、得られた推定用加速度データから加速度の時間窓データを生成する。
【００７６】
そして、推定用加速度の時間窓データの生成を所定回数繰り返し、推定用加速度の時系列データ・リスト（推定用データ・リスト）を取得する。尚、推定用加速度の時間窓データの生成は、ユーザの移動状態を推定するために必要なデータ数が得られるまで、所定回数繰り返す。そして、ＣＰＵによる演算により、複数の推定用加速度の時間窓データはそれぞれフーリエ変換され、複数の推定用パワースペクトルからなる推定用パワースペクトル・リストが算出される。
第２モデルによる推定結果の取得
次に、ＣＰＵは、第２モデルを用いて推定用セグメント確率表と、最近傍の第２代表確率表を有する第２クラスタを選定する（Ｆ７）。本実施態様においては、第２代表確率表として、第２平均確率表を用いる。より詳細には、第２平均確率表は、例えば、第２モデルを構成するクラスタ群に含まれる各クラスタにおいて、各第２クラスタに対応する１又は複数の学習用セグメント確率表を用いて、移動状態毎に平均確率を求めることにより、クラスタ毎に生成される。また、第２平均確率表は、移動状態毎の平均確率と、それに対応する移動状態のＩＤとを関連付けたデータ表である。ここで、推定用セグメント確率表と最近傍の第２平均確率表は、例えば、第２モデルを構成する各クラスタに対応する、それぞれ１の第２平均確率表と、推定用セグメント確率表との移動状態毎の確率の差を求め、その差の総和が最小の第２平均確率表を選定することにより求められる。なお、最近傍の第２平均確率表は、移動状態毎の差の総和の２乗が最小となる確率表を選定することにより求めても良い。
【００７７】
次に、ＣＰＵは、該選定された第２クラスタに対応する移動状態ランク表に基づいて、最高確率に対応する移動状態のＩＤを選定することより第２モデルによるユーザの移動状態を選定する（第２モデルによる移動状態の推定結果取得）（Ｆ８）。そして、ＣＰＵは選定された移動状態のＩＤを推定結果としてメモリへ格納する。ここで、第２モデルを構成する第２クラスタには、クラスタ毎に１の第２平均確率表、及び１の移動状態ランク表が対応している（図１１Ｅ）。移動状態ランク表は、第２クラスタに含まれる全ての学習用セグメント確率表において、各学習用セグメント確率表に対応する各移動状態のＩＤがクラスタ内に含まれる確率を移動状態毎に求めた値と、それに対応する移動状態のＩＤとを関連付けたデータ表である。
【００７８】
ＣＰＵは、生成された推定用セグメント確率表を用いて、推定用セグメント確率表と最近傍の第２平均確率表に対応するクラスタを選定し、該クラスタに対応する移動状態ランク表を参照し、最高の確率に対応する移動状態を順次選定していく。そして、第２モデルによるユーザの移動状態の推定結果が、時系列にメモリへ格納される（図１１Ｈ）。以上より、時系列データを用いた、第２モデルによるユーザの移動状態の推定がなされる。従って、本実施態様においては、ユーザの移動状態を示す時系列のデータを用いてユーザの移動状態を推定するため、ユーザ移動状態に突発的な変化を含む場合や、他状態と類似する時間帯が発生する場合であっても、ユーザの移動状態を正しく推定することが可能となる。また、該得られた確率表の特徴が他の移動状態における確率表の特徴と類似している場合であっても、高い精度で移動状態を推定することができる。
キーフレームの判定
次に、メモリへ格納された第１モデル推定結果と第２モデル推定結果とが同一の移動状態か否か判定する（Ｆ９）。より詳細には、ステップＦ９において、一定区間において第１モデルにより選定された移動状態のＩＤが、第２モデルにより選定された移動状態のＩＤと同一か否か判定する。ステップＦ９において判定した結果が同一ではない場合、第１モデル、第２モデルにより選定されたユーザの移動状態は信頼性が高くないとして、この一定区間に対応する１のフレームを、未確定フレーム（ｕｎｋｎｏｗｎ）としてフレーム・リストの１のフレームへ格納する（Ｆ１１）。そして、さらにステップＦ１からステップＦ９の処理を繰り返す。
【００７９】
一方、ステップＦ９において判定した結果が同一の移動状態である場合、第１モデル、及び第２モデルにより得られた推定結果は信頼性が高いとして、この一定区間に対応する１のフレームを、キーフレーム（ｋｎｏｗｎ）として、フレーム・リストの１のフレームへ格納する（Ｆ１０）。フレーム・リストとは、１の一定区間に１のフレームが対応した、複数のフレームから構成されるリストである。各フレームは、当該フレームがキーフレームか、又は未確定フレームかをそれぞれ時系列に格納されている。
【００８０】
以上より、図６に示されるように、第１モデルを用いた移動状態の推定と、第２モデルを用いた移動状態の推定とを行うことにより、両モデルによる推定結果が一致した場合に、推定精度が高いとして移動状態を推定することにより、推定精度を高めることが可能となる。
歩数、基地局情報を用いた移動状態推定方式
図７は、外部情報取得装置を用いた移動状態推定方式のシステム構成を示した図である。図７は図１の構成に加えて、外部情報取得装置としてアンテナ（Ｇ６０）、歩数計（Ｇ７０）を含む構成である。携帯端末装置は、アンテナ（Ｇ６０）を通じて、基地局と通信することにより携帯端末装置に最も近い基地局の緯度、経度の情報を取得する。また、携帯端末装置は、基地局情報として基地局のＩＤ情報を取得することもできる。なお、基地局情報は、ＣＤＭＡ基地局や、無線タグ、無線ＬＡＮ等の基地局からも取得することもできる。本実施態様においては、外部情報取得装置を用いて得られた情報をさらに用いることにより、更なる移動状態の推定精度を高め、処理負荷を軽減することができる。
【００８１】
基地局の緯度、経度情報は直接ヒープメモリへ格納される。また、歩数計（Ｇ７０）は、一定レベル以上の振動（加速度）が加わることで作動し、ユーザの歩数をカウントする。携帯端末装置に搭載されている歩数計は、一般にハードウェア化されており、加速度センサに比べ小電力で動作することが可能である。本実施態様においては、得られた推定移動状態の信頼性が高い場合には、消費電力の低い歩数計のみを用いて移動状態に変化が無いか否か判定する。さらに、得られた推定移動状態が停止状態や、電動車状態、即ち、自動車状態、バス状態、電車状態の場合は、歩数が変化しないことのみを検出し、その他の移動状態の場合には歩数のリズムをのみを検出することにより、移動状態の変化を判定することができる。ここで、歩数のリズムの検出とは、一定時間にカウントされる歩数を検出することにより行う。このように、移動状態に変化がある場合に、ユーザの情報を取得する装置を適切に選択することにより、移動状態の推定にかかる処理負荷を軽減させることができる。
【００８２】
ここで、歩数計から取得される歩数やアンテナから取得される基地局情報はＣＰＵによる動作無し（低負荷な処理により）に、メモリへアクセスすることにより取得することが可能である。従って、加速度センサを常時動作させることにより移動状態を推定するよりも、低い消費電力で移動状態の推定が可能である。さらに、加速度センサを常時動作させて加速度値を取得するよりも、ＣＰＵの負荷を低減させ、高速に外部情報の取得が可能となり、かつ低消費電力で動作可能であることからより長期間の移動状態推定が可能となる。なお、携帯端末装置の位置を取得するために、グローバル・ポジショニング・システム（ＧＰＳ）基地局からの情報を利用することもできる。
【００８３】
図８は、第１、及び第２モデルを用いた推定に加えて、外部情報取得装置、から取得された情報を用いて移動状態を推定するための処理フロー図である。本実施態様により、第１モデル、及び第２モデルを用いることにより得られた推定結果に基づいて選定された、キーフレーム区間の推定結果の妥当性を評価することができる。これにより、さらに移動状態推定の精度を向上させることができる。
【００８４】
図８による移動状態を推定方式は、第１、及び第２モデルを用いた推定をした後に、ユーザの有する歩数計Ｇ７０から得られる歩数情報、アンテナＧ６０から得られる基地局情報を用いて、第１、第２モデルにより推定された移動状態の妥当性を評価するものである。アンテナから得られる基地局情報は、例えば、ユーザの有する携帯端末装置に最も近い基地局の、緯度、経度情報により構成される。本推定方式では、図６に示される推定処理を経た後に、図８に示される推定処理フローに従って移動状態が推定される。
【００８５】
まず、現在のキーフレームに対応する移動状態が、直前に登録されたキーフレームに対応する移動状態と同一か否か判定する（Ｈ1）。現在のキーフレームに対応する移動状態のＩＤと、直前に登録されたキーフレームに対応する移動状態のＩＤとを比較し、それらが同一ではない場合、得られた現在のキーフレームと、直前に登録されたキーフレームにおいて、選定された移動状態の信頼性は低いと考えられるため、再度ステップＦ１に戻り、推定処理を開始する。
【００８６】
現在のキーフレームに対応する移動状態が、直前に登録されたキーフレームに対応する移動状態と同一である場合、ステップＨ２に進む。ステップＨ２において、キーフレームに対応する移動状態が第１、第２、第３のいずれの移動状態かを判定する（Ｈ２）。ここで、第１の移動状態とは、例えば走行状態、歩行状態、自転車状態をいう。また、第２の移動状態とは、例えば停止状態をいう。第３の移動状態とは、例えば、電車状態、自動車状態、バス状態をいう。全ての移動状態は、歩数、基地局情報に関連して、予め第１、２及び３の移動状態へ分類されている。本実施態様においては、外部情報取得装置、例えば歩数計及び／又はアンテナにより取得された情報から推定されるユーザの移動状態と、第１、及び第２モデルを用いた推定移動状態が対応しているか否か判定する。ここで、ＣＰＵは、歩数、基地局情報をフラッシュメモリから取得し、ヒープメモリへ格納して判定する（Ｈ２）。そして、判定結果はヒープメモリに格納される。
【００８７】
キーフレームに対応する移動状態が第１の移動状態である場合、直前に登録されたキーフレームから、現在のキーフレームまでの間の全てのフレームにおいて、歩数計から得られる歩数が増加しているか否かが判定される（Ｈ３）。歩数計によるユーザの歩数情報の測定は常時行われており、歩数計から取得された歩数は、ステップＦ１０にて構成されるフレーム毎に時系列にヒープメモリに格納されている。ＣＰＵは、一定区間のフレーム毎にメモリへ格納されている歩数情報を取得し、ＣＰＵは、得られた歩数情報において、全てのフレームで歩数が増加しているか否か判定する。なお、自転車状態の場合、全てのフレームで歩数が増加していなくても良く、１以上のフレームにおいて歩数が増加しているか否かによって判定することもできる。推定対象のユーザが自転車状態にある場合、ペダルを漕がずに下り坂を下っている場合等、全てのフレームで歩数が増加しない場合があるからである。
【００８８】
全てのフレームにおいて歩数が増加している場合は、キーフレームに対応する移動状態、即ち第１の移動状態は正しいと判定される。即ち、歩数の増加は、ユーザ自身が移動している状態に該当するため、走行、歩行、自転車状態を含む第１の移動状態に対応する。従って、第１モデル、第２モデルで推定された結果の信頼性が高いと認定される。そして、直前に登録されたキーフレームから現在のキーフレームまでの区間をキーフレーム区間として確定する（Ｈ６）。一方、判定の結果、歩数が増加していない場合は、モデルにより推定結果として得られた移動状態は信頼性が低いとして、再度推定処理を行う（Ｆ１）。
【００８９】
キーフレームに対応する移動状態が第２の移動状態である場合、直前に登録されたキーフレームから、現在のキーフレームまでの間の全てのフレームにおいて歩数、基地局に変化がないかが判定される（Ｈ４）。より詳細には、現在のキーフレームまでの間の全てのフレームに対応する歩数情報、及び基地局情報は、それぞれメモリへ格納されており、ＣＰＵは、ステップＦ１０にて構成される一定区間のフレーム毎に、メモリへ格納されている歩数情報、及び基地局情報を取得する。そしてＣＰＵは、得られた歩数情報、及び基地局情報に基づいて、全てのフレームで歩数が増加していないか、基地局に変化がないか否か判定する。歩数が増加しておらず、基地局に変化がない状態はユーザがほぼ停止している状態に該当するため、第２の移動状態に対応する。従って、第１モデル、第２モデルで推定された結果の信頼性が高いと認定される。そして、直前に登録されたキーフレームから現在のキーフレームまでの区間をキーフレーム区間として確定する（Ｈ６）。判定の結果、歩数が増加している場合、又は、基地局の変化がある場合は、モデルにより推定結果として得られた移動状態は信頼性が低いとして、再度推定処理を行う（Ｆ１）。
【００９０】
キーフレームに対応する移動状態が第３の移動状態である場合、直前に登録されたキーフレームから、現在のキーフレームまでの間の全てのフレームにおいて歩数に変化がないかが判定される（Ｈ５）。より詳細には、現在のキーフレームまでの間の全てのフレームに対応する歩数情報はメモリへ格納されており、ＣＰＵは、ステップＦ１０にて構成される一定区間のフレーム毎に、メモリへ格納されている歩数情報を取得する。そしてＣＰＵは、得られた歩数情報に基づいて、全てのフレームで歩数が増加していないか否か判定する。歩数が増加していないが、基地局に変化がある／ない場合は、ユーザ自身は移動していないが、ユーザが乗車している車両が移動／停止している状態に該当するため、電車状態、自動車状態、バス状態である第３の移動状態に対応する。そして、直前に登録されたキーフレームから現在のキーフレームまでの区間をキーフレーム区間として確定する（Ｈ６）。判定の結果、歩数が増加している場合は、モデルにより推定結果として得られた移動状態は信頼性が低いとして、再度推定処理を行う（Ｆ１）。
【００９１】
次に、キーフレーム区間内の全てのフレームは、キーフレームに対応する移動状態が対応付けられている（図１１Ｈ）。これにより、ＣＰＵは移動状態の推定結果を確定する（Ｈ７）。そして、推定結果が第２の移動状態である場合、即ちここでは停止状態である場合、加速度データの取得を止め、歩数、基地局情報のみを取得する（歩数・基地局情報監視モードへの移行）。推定結果が第３の移動状態である場合、即ちここでは電車状態、自動車状態、バス状態である場合、加速度データの取得を止め、歩数のみを取得する（歩数監視モードへの移行）。このように、加速度データの取得を止めること（低消費電力モードへの移行）で、省電力化を図ることが可能となる。一方、推定結果が第１の移動状態の場合、即ち、ここでは走行状態、歩行状態、自転車状態の場合、加速度データの取得を続ける。第２の移動状態、及び第３の移動状態の場合は、加速度データを用いることなく歩数及び／又は基地局情報のみを取得することで、第２の移動状態及び第３の移動状態を保持し続けていることを把握することが可能であるのに対し、第１の移動状態の場合には、歩数及び基地局情報のみでは第１の移動状態を保持し続けているかを把握することが難しい場合があるからである。
【００９２】
図９は、更なる実施態様についての処理フローを示す。図９に示される処理フローは、図８に示される処理フローと類似しているが、更なる実施態様においては、現在のキーフレームに対応する移動状態が、直前のキーフレームに対応する移動状態と同一か否かを判定し、判定結果が同一ではない場合に、さらに現在のキーフレームに対応する移動状態が第３の移動状態であるか判定する。本実施態様においては、現在のキーフレームに対応する移動状態が第３の移動状態である場合、キーフレーム区間内に第２の移動状態に対応するキーフレームが存在する場合でも、第３の移動状態であるとしてキーフレーム区間を確定する。これは、例えば、第３の移動状態である自動車状態やバス状態において、車両が渋滞等で頻繁に停止する場合、直前のキーフレームに対応する移動状態と、現在のキーフレームに対応する移動状態とが異なるためにキーフレーム区間を確定できなくなることを避けるためである。
【００９３】
より詳細には、まず、現在のキーフレームに対応する移動状態が、直前のキーフレームに対応する移動状態と同一か否かを判定する（Ｉ１）。判定結果が同一である場合には、この移動状態が第１、第２、第３のいずれの移動状態かを判定する（Ｉ２）。そして、Ｉ３からＩ７までは、図８のその後の対応する処理（Ｈ３からＨ７まで）と同一の処理を行う。一方、判定結果が同一ではない場合に、直前のキーフレームに対応する移動状態が第２の移動状態であって、かつ現在のキーフレームに対応する移動状態が第３の移動状態であるか判定する（Ｈ８）。ここで、直前のキーフレームに対応する移動状態が第３の移動状態であって、かつ現在のキーフレームに対応する移動状態が第２の移動状態であるかも同様に判定することができる。Ｈ８による判定の結果が肯定的である場合は、直前のキーフレームから、現在のキーフレームまでの区間を、第３の移動状態に対応するキーフレーム区間であるとして確定する（Ｈ６）。ここで、直前の移動状態が第３で、現在の移動状態が第２である場合も、現在のキーフレームまでの区間を第３の移動状態に対応するキーフレーム区間であるとして確定する。以上のように、第３の移動状態である自動車状態やバス状態において、車両が渋滞等で頻繁に停止する場合であっても、第３の移動状態であるとしてキーフレーム区間を確定し、より早くキーフレーム区間の確定を行うことができる。
キーフレーム区間の解除処理
図１０はキーフレーム区間の解除処理のフローを示す。キーフレーム区間は一旦設定されると、次のキーフレームが検知されるか、若しくは歩数及び／又は基地局情報に変化があるまでは解除されることはない。
【００９４】
移動状態推定処理（Ｆ１からＦ１０及びＨ１からＨ７）が行われた後に、図１０によるキーフレーム区間の解除処理が行われる。ステップＨ７、又はＩ７により、移動状態が推定された後、推定結果が第２の移動状態である場合、即ちここでは停止状態である場合、加速度データの取得を止め、歩数、基地局情報のみを取得する。推定結果が第３の移動状態である場合、即ちここでは電車状態、自動車状態、バス状態である場合、加速度データの取得を止め、歩数のみを取得する。推定結果が第１の移動状態の場合、即ち、ここでは走行状態、歩行状態、自転車状態の場合、加速度データが取得される（Ｆ１）。
【００９５】
次に、ＣＰＵは、キーフレーム区間のキーフレームに対応する移動状態が第１、第２、第３の移動状態のいずれであるかを判定する（Ｊ１）。キーフレームに対応する移動状態が第１の移動状態である場合には、ＣＰＵによる演算により、新たなキーフレームを検知する（Ｊ２）。即ち、ステップＦ１からＦ１０までの処理を、新たなキーフレームが検知されるまで繰り返す。次に、検知されたキーフレームに対応する移動状態が、直前のキーフレームに対応する移動状態と同一か否か判定する（Ｊ３）。判定の結果、同一の移動状態ではない場合、キーフレーム区間を解除する（Ｊ４）。即ち、直前のキーフレームの次にあるフレームから、検知されたキーフレームまでのフレーム区間に対応する全てのフレームを、未確定フレームとしてそれぞれ確定する。ここで、キーフレーム区間の解除とは、キーフレーム（ｋｎｏｗｎ）を未確定フレーム（ｕｎｋｎｏｗｎ）へ戻す処理をいう。そして、次のフレーム区間の推定処理（Ｆ１からＦ１０）を実施する（Ｊ５）。一方、判定の結果、同一の移動状態である場合は、次のフレーム区間の推定処理（Ｆ１からＦ１０）を実施する（Ｊ５）。
【００９６】
次に、キーフレームに対応する移動状態が第２の移動状態である場合には、ＣＰＵは歩数、若しくは基地局情報に変化があるか否か判定する（Ｊ６）。歩数、若しくは基地局情報に変化がある場合には、キーフレーム区間を解除する（Ｊ４）。即ち、直前のキーフレームの次にあるフレームから、検知されたキーフレームまでのフレーム区間に対応する全てのフレームを、未確定フレームとしてそれぞれ確定する。そして、次のフレーム区間の推定処理を実施する（Ｊ５）。一方、判定の結果、歩数、若しくは基地局情報に変化がない場合は、次のフレーム区間の推定処理（Ｆ１からＦ１０）を実施する（Ｊ５）。
【００９７】
次に、キーフレームに対応する移動状態が第３の移動状態である場合には、ＣＰＵは歩数に変化があるか否か判定する（Ｊ７）。歩数に変化がある場合には、キーフレーム区間を解除する（Ｊ４）。即ち、直前のキーフレームの次にあるフレームから、検知されたキーフレームまでのフレーム区間に対応する全てのフレームを、未確定フレームとしてそれぞれ確定する。そして、次のフレーム区間の推定処理を実施する（Ｊ５）。一方、判定の結果、歩数に変化がない場合は、次のフレーム区間の推定処理（Ｆ１からＦ１０）を実施する（Ｊ５）。
【００９８】
以上より、キーフレーム区間は、キーフレームに対応する移動状態の種別によって、異なる方法で解除される。以上より、キーフレーム区間を用いることにより、キーフレーム区間が解除されるまでは低消費電力モードで移動状態を推定することが可能となると共に、移動状態の変更を検知することが可能となる。
【図１】
2010286344.tif 000003
【図２】
2010286344.tif 000004
【図３】
2010286344.tif 000005
【図４】
2010286344.tif 000006
【図５】
2010286344.tif 000007
【図６】
2010286344.tif 000008
【図７】
2010286344.tif 000009
【図８】
2010286344.tif 000010
【図９】
2010286344.tif 000011
【図１０】
2010286344.tif 000012
【図１１Ａ】
2010286344.tif 000013
【図１１Ｂ】
2010286344.tif 000014
【図１１Ｃ】
2010286344.tif 000015
【図１１Ｄ】
2010286344.tif 000016
【図１１Ｅ】
2010286344.tif 000017
【図１１Ｆ】
2010286344.tif 000018
【図１１Ｇ】
2010286344.tif 000019
【図１１Ｈ】
2010286344.tif 000020