(57)【要約】      （修正有）【課題】周囲の状況を検出するセンサの検出データに基づいてユーザの移動状況を推定する携帯情報処理端末において、推定処理に消費される電力を小さく抑えるとともに、複数の検出データが混在することによる状況推定精度低下を防止する。【解決手段】周囲の状況を検出するセンサ、低速プロセッサ３０ａ及び高速プロセッサ３０ｂを備え、低速プロセッサ３０ａは、センサから検出データを取得して記憶する記憶手段３１と、前回検出データとの差分を符号化する符号化手段３３と、符号化されたデータを格納するバッファ格納部３４と、格納されたデータ総数３５ａが所定の閾値を超えた場合、高速プロセッサ３０ｂに送信する送信手段３７とを有し、高速プロセッサ３０ｂは、低速プロセッサから３０ａから符号化データを受信して、逆符号化して元のデータに変換する変換手段３９と、変換されたデータに基づいて移動状況を推定する推定手段４１とを有する。【選択図】図３
2011139301.tif 000002
【特許請求の範囲】
【請求項１】
周囲の状況を検出するセンサ、第１のプロセッサ及びこの第１のプロセッサより高速で動作する第２のプロセッサを備えた情報処理端末であって、
前記第１のプロセッサは、
前記センサから検出データを取得してこの検出データを記憶する記憶手段と、
前記センサから検出データを取得した際、この検出データと、前記記憶手段により記憶された前回の検出データとの差分を符号化する符号化手段と、
前記符号化部により符号化されたデータをバッファに格納するバッファ格納部と、
前記バッファに格納されたデータのデータ総数を計数する計数手段と、
前記データ総数が所定の閾値を超えた場合、前記バッファ内の符号化データを前記第２のプロセッサに送信する第１の通信手段とを有し、
前記第２のプロセッサは、
前記第１のプロセッサから前記符号化データを受信して、この符号化データを逆符号化して元のデータに変換する変換手段と、
前記変換手段により変換されたデータに基づいて移動状況を推定する推定手段とを有することを特徴とする情報処理端末。
【請求項２】
前記第２のプロセッサは、
前記推定手段により推定された移動状況に基づいて前記所定の閾値を変更するとともに、変更後の閾値を前記第１のプロセッサに送信する第２の通信手段を備え、
前記第１のプロセッサの第１の通信手段は、前記第２のプロセッサの第２の通信手段から前記変更後の閾値を受信して、前記所定の閾値にこの変更後の閾値を設定することを特徴とする請求項１記載の情報処理端末。
【請求項３】
前記バッファ格納手段は、前記バッファにおいて、前記符号化部により符号化されたデータを格納できる空き容量がなかった場合、格納可能な容量が確保されるまで、先に格納されたデータから順に一つずつ削除することを特徴とする請求項１記載の情報処理端末。
【請求項４】
前記第１のプロセッサの第１の通信手段は、前記データ総数が第１の閾値以上であった場合、あるいは第２の閾値以下であった場合、前記第２のプロセッサに前記バッファ内の符号化データを送信し、
前記第２のプロセッサの推定手段は、前記符号化データを受信した際、前記データ総数が前記第１の閾値以上であった場合、移動状況が「静止中」または「乗り物乗車中」のいずれかであると推定し、前記データ総数が前記第２の閾値以下であった場合、移動状況が「歩行中」または「走行中」であると推定することを特徴とする請求項１記載の情報処理端末。
【請求項５】
前記第２のプロセッサは、
前記推定手段により移動状況が「静止中」であると推定された場合、前記第１の閾値を前記データ総数の取り得る値の最大値に変更するとともに、前記第２の閾値を前記データ総数から一定数減算した値に変更して、変更後の第１の閾値及び第２の閾値を前記第１のプロセッサに送信する第２の通信手段を備え、
前記第１のプロセッサの第１の通信手段は、前記第２のプロセッサの第２の通信手段から前記変更後の第１の閾値及び第２の閾値を受信して、前記所定の閾値にこれらの変更後の閾値を設定することを特徴とする請求項４記載の情報処理端末。
【請求項６】
前記第２のプロセッサは、
前記推定手段により移動状況が「乗り物に乗車中」であると推定された場合、前記第１の閾値を前記データ総数に一定数加算した値に変更するとともに、前記第２の閾値を所定の定数に変更して、変更後の第１の閾値及び第２の閾値を前記第１のプロセッサに送信する第２の通信手段を備え、
前記第１のプロセッサの第１の通信手段は、前記第２のプロセッサの第２の通信手段から前記変更後の第１の閾値及び第２の閾値を受信して、前記所定の閾値にこれらの変更後の閾値を設定することを特徴とする請求項４記載の情報処理端末。
【請求項７】
前記第２のプロセッサは、
前記推定手段により移動状況が「歩行中」であると推定された場合、前記第１の閾値を所定の定数に変更するとともに、前記第２の閾値を前記データ総数から一定数減算した値に変更して、変更後の第１の閾値及び第２の閾値を前記第１のプロセッサに送信する第２の通信手段を備え、
前記第１のプロセッサの第１の通信手段は、前記第２のプロセッサの第２の通信手段から前記変更後の第１の閾値及び第２の閾値を受信して、前記所定の閾値にこれらの変更後の閾値を設定することを特徴とする請求項４記載の情報処理端末。
【請求項８】
前記第２のプロセッサは、
前記推定手段により移動状況が「走行中」であると推定された場合、前記第１の閾値を前記データ総数に一定数加算した値に変更するとともに、前記第２の閾値を前記データ総数の取り得る最大値に変更して、変更後の第１の閾値及び第２の閾値を前記第１のプロセッサに送信する第２の通信手段を備え、
前記第１のプロセッサの第１の通信手段は、前記第２のプロセッサの第２の通信手段から前記変更後の第１の閾値及び第２の閾値を受信して、前記所定の閾値にこれらの変更後の閾値を設定することを特徴とする請求項４記載の情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサで周囲の状況を検出し、その検出データに基づいてユーザの移動状況を推定することができる情報処理端末に関する。
【背景技術】
【０００２】
近年、加速度や生体情報などを検出して検出データを無線通信によって送信することのできる小型の情報端末が多く開発されている。例えば特許文献１には、資源の限られたセンサノードに、より多く格納してセンシングデータの欠落を抑制するセンサノードが記載されている。このセンサノードは、生体情報を測定するセンサと、センサを駆動してデータを取得するＣＰＵと、ＣＰＵと無線通信部及びセンサに電力を供給する電池とを備えたセンサノードにおいて、データを格納するＲＡＭと、無線通信で送信ができないときに、ＲＡＭのデータを圧縮する圧縮部と、圧縮されたデータを格納するフラッシュメモリを備えたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３１０６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
端末を保持するユーザの移動状況を推定するために、ユーザの移動状況に応じて変動する加速度センサを搭載した携帯端末も増えてきている。しかし、移動状況を推定するために瞬時的な加速度データを取得するだけでは加速度変化の特徴的なパターンを把握できないため移動状況の判断が難しい。そのため、これらの携帯端末においては、数秒間から数十秒間の加速度データをバッファリングしてそれに基づいて移動状況が推定されている。この際、処理時間の大部分が、計算量の多い推定処理ではなく、計算量の少ない加速度データの収集に使用される。したがって、状況の推定処理を高速なプロセッサのみで行うと、実際の計算量が多くないにも関わらず大きな電力が消費されてしまう。
【０００５】
そこで、携帯端末に高速なプロセッサと低速なプロセッサを備えさせ、データの収集とバッファリングを電力消費の少ない低速なプロセッサで行わせ、推定処理の際にはバッファリングされたデータを高速なプロセッサに移して行わせる手法が考えられる。しかしながら、この手法においては、電力消費の少ない低速のプロセッサではバッファリングに必要なＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の容量を確保できないという問題があり、さらに、高速なプロセッサを動かす頻度を落とさなければ効果的な電力消費削減ができないが、逆に頻度を上げなければ状況の変化を素早く検知できない、というトレードオフが発生していた。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、ユーザに携帯され、周囲の状況を検出するセンサの検出データに基づいてユーザの移動状況を推定する情報処理端末であって、移動状況の推定処理に消費される電力を小さく抑えるとともに、複数の移動状況の検出データが混在することによる状況推定の精度低下を防止することができる情報処理端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理端末は、周囲の状況を検出するセンサ、第１のプロセッサ及びこの第１のプロセッサより高速で動作する第２のプロセッサを備えた情報処理端末であって、前記第１のプロセッサは、前記センサから検出データを取得してこの検出データを記憶する記憶手段と、前記センサから検出データを取得した際、この検出データと、前記記憶手段により記憶された前回の検出データとの差分を符号化する符号化手段と、前記符号化部により符号化されたデータをバッファに格納するバッファ格納部と、前記バッファに格納されたデータのデータ総数を計数する計数手段と、前記データ総数が所定の閾値を超えた場合、前記バッファ内の符号化データを前記第２のプロセッサに送信する第１の通信手段とを有し、前記第２のプロセッサは、前記第１のプロセッサから前記符号化データを受信して、この符号化データを逆符号化して元のデータに変換する変換手段と、前記変換手段により変換されたデータに基づいて移動状況を推定する推定手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明に係る情報処理端末によると、ユーザに携帯され、周囲の状況を検出するセンサの検出データに基づいてユーザの移動状況を推定する情報処理端末であって、移動状況の推定処理に消費される電力を小さく抑えるとともに、複数の移動状況の検出データが混在することによる状況推定の精度低下を防止することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る情報処理端末（携帯電話機）の斜視図。
【図２】本発明に係る情報処理端末（携帯電話機）の機能を示すブロック図。
【図３】本発明に係る情報処理端末（携帯電話機）において移動状況推定機能を実現するためのソフトウェア構成を示すブロック図。
【図４】データ変化符号表を示すデータ構成図。
【図５】移動状況毎の加速度の検出データの一例を示すグラフ。
【図６】本発明に係る情報処理端末（携帯電話機）が検出データ入力処理を行う際の手順を示すフローチャート。
【図７】本発明に係る情報処理端末（携帯電話機）が符号化データ入力処理を行う際の手順を示すフローチャート。
【図８】本発明に係る情報処理端末（携帯電話機）が状態変化監視処理を行う際の手順を示すフローチャート。
【図９】本発明に係る情報処理端末（携帯電話機）が状況推定処理を行う際の手順を示すフローチャート。
【図１０】本発明に係る情報処理端末（携帯電話機）が閾値決定処理を行う際の手順を示すフローチャート。
【図１１】本発明に係る情報処理端末（携帯電話機）が、推定結果が「静止」であった場合の「静止」閾値決定処理を行う際の手順を示すフローチャート。
【図１２】本発明に係る情報処理端末（携帯電話機）が、推定結果が「乗車」であった場合の「乗車」閾値決定処理を行う際の手順を示すフローチャート。
【図１３】本発明に係る情報処理端末（携帯電話機）が、推定結果が「歩行」であった場合の「歩行」閾値決定処理を行う際の手順を示すフローチャート。
【図１４】本発明に係る情報処理端末（携帯電話機）が、推定結果が「走行」であった場合の「走行」閾値決定処理を行う際の手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
本発明に係る情報処理端末の実施形態について、添付図面を参照しながら説明する。本発明に係る情報処理端末として、ユーザの「静止」、「歩行」などの移動状況を推定するための加速度センサを備えた携帯電話機１を例に挙げて説明する。
【００１１】
図１は、携帯電話機１の斜視図である。携帯電話機１は、図１に示すように、矩形の板状の筐体１０を備えている。筐体１０の一方の面には、データを表示するとともに接触によりデータを入力するタッチスクリーン１１、音声を出力するスピーカ１２、音声を入力するマイクロフォン１３、データを入力する操作キー１４が設けられている。
【００１２】
タッチスクリーン１１は、データを表示する表示機能、及び、ユーザが指や専用のペンで画面に触れた際にこの接触位置を検知することにより指示を入力する入力機能の双方の機能を備えたディスプレイである。タッチスクリーン１１は、例えばディスプレイの上に、表面に接触を検知するための素子が複数配置され、さらにその上に透明なスクリーンが積層されることにより形成されている。タッチスクリーン１１の接触を感知する方法は、圧力の変化を感知する感圧式であっても、静電気による電気信号を感知する静電式であっても、その他の方法であっても良い。
【００１３】
図２は、携帯電話機１の機能を示すブロック図である。携帯電話機１は、図３に示すように、主制御部２０、電源回路部２１、操作入力制御部２２、表示制御部２３、音声制御部２４、通信制御部２５、記憶部２６及び移動状況推定部２７を有している。
【００１４】
主制御部２０は、携帯電話機１の総括的な制御を行う。電源回路部２１は、電源供給源（バッテリ等）を備え、例えば操作キー１４を介した入力に基づいて情報処理端末１の電源のＯＮ／ＯＦＦ状態を切り替え、電源がＯＮ状態の場合に電力供給源から各部に対して電力を供給して、携帯電話機１を動作可能にする。
【００１５】
操作入力制御部２２はタッチスクリーン１１に対する入力インタフェースを備えていて、タッチスクリーン１１に接触があったことを検知すると、その接触があった位置を示す信号を生成して主制御部２０に伝送する。信号を受信した主制御部２０は、この信号に基づいて様々な処理を行う。表示制御部２３はタッチスクリーン１１に対する表示インタフェースを備え、主制御部２０の制御に基づいて、画面表示用データを生成してタッチスクリーン１１に表示させる。
【００１６】
音声制御部２４は、主制御部２０の制御に基づいて、マイクロフォン１３で集音されたアナログ音声信号をデジタル音声信号に変換する。また音声制御部２４は、デジタル音声信号を取得すると、主制御部２０の制御に基づいて、このデジタル音声信号をアナログ音声信号に変換し、スピーカ１２から出力する。
【００１７】
通信制御部２５はアンテナ２５ａを備えていて、主制御部２０の制御に基づいて、基地局からアンテナ２５ａを介して受信した受信信号をスペクトラム逆拡散処理してデータを復元する。このデータは、主制御部２０の指示により、音声制御部２４に伝送されてスピーカ１２から出力されたり、表示制御部２３に伝送されてタッチスクリーン１１に表示されたり、または記憶部２６に記録されたりする。また通信制御部２５は、主制御部２０の制御に基づいて、音声制御部２４によってデジタル信号に変換された音声データや、タッチスクリーン１１を介して入力されたデータや記憶部２６に記憶されたデータを取得すると、これらのデータに対してスペクトラム拡散処理を行い、基地局に対してアンテナ２５ａを介して送信する。
【００１８】
記憶部２６は、主制御部２０が行う処理について、処理プログラムや処理に必要なデータなどを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスク、不揮発性メモリ、主制御部２０が処理を行う際に使用されるデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。また、主制御部２０が後述する移動状況推定処理などの様々な処理を行う際の処理プログラムは、例えばＲＯＭに記憶されているものとする。
【００１９】
移動状況推定部２７は、携帯電話機１に加わっている加速度を検出する加速度センサ２８を備えていて、加速度の検出データに基づいてユーザの移動状況を推定する移動推定処理を行う。この移動推定処理については後に詳細に説明する。
【００２０】
携帯電話機１は、ユーザの移動状況に応じて加速度が変動することを利用して、加速度センサ２８の検出データによりユーザの移動状況を推定する機能を備えている。この際、携帯電話機１は、消費電力の少ない低速のプロセッサ（後述する低速プロセッサ３０ｂ）で加速度センサ２８の検出データを収集して、加速度の変化量に基づく符号化によって圧縮を行ってからバッファに格納し、格納された加速度データのデータ総数が所定の閾値をまたいだ（越えた）ことを契機にして消費電力の大きい高速のプロセッサ（後述する高速プロセッサ３０ａ）で状況推定の処理を実行する。これにより、移動状況が変化した可能性があるときにのみ、高速のプロセッサが移動状況を推定する処理を行うことができるため、推定処理の際の消費電力を小さくすることができる。
【００２１】
図３は、携帯電話機１の移動状況推定部２７において、ユーザの移動状況を推定する移動状況推定機能を実現するためのソフトウェア構成図である。図３に示すように、携帯電話機１は、計算速度は遅いが消費電力が小さいことを特徴とする低速プロセッサ３０ａと、計算速度は高速だが電力消費が大きいことを特徴とする高速プロセッサ３０ｂとを備えている。そして携帯電話機１の移動状況推定部２７は、処理の内容に応じてこれらのプロセッサを使い分けることにより、消費電力を小さく抑えつつ正確に移動状況を推定することを可能にしている。なお、高速プロセッサ３０ｂにおいて低速動作モードに切り替えられる場合には、低速プロセッサ３０ａを高速プロセッサ３０ｂの低速動作モードで代用することもできる。
【００２２】
図３に示すように、移動状況推定部２７は、低速プロセッサ３０ａを用いる機能として、検出データ受信部３１、符号化部３３、バッファ格納部３４、バッファ部３５、監視部３６、符号化データ送信部３７、閾値受信部４５を備えているとともに、高速プロセッサ３０ｂを用いる機能として、符号化データ受信部３８、逆符号化部３９、状況推定部４１、閾値設定部４２、閾値送信部４４を備えている。
【００２３】
低速プロセッサ３０ａにおいて、検出データ受信部３１は、一定時間経過毎に加速度センサ２８から検出データを取得して、符号化部３３に伝送する。検出データを取得した符号化部３３は、検出データの差分ベクトルを所定の符号に変換するためのデータ変化符号表３２を取得して、この表に基づいて検出データの差分ベクトルを符号化する。そして符号化部３３は、符号化データをバッファ格納部３４に格納する。
【００２４】
図４は、データ変化符号表３２のデータ構成図である。図４に示すように、データ変化符号表３２は、加速度センサ２８により検出されたｘ方向の加速度の変化量ｄｘの値を示すｄｘ情報３２ａ、ｙ方向の加速度の変化量ｄｙの値を示すｄｙ情報３２ｂ、ｚ方向の加速度の変化量であるｄｚの値を示すｄｘ情報３２ｃの組み合わせに対して、それぞれ符号を示す符号情報３２ｄが対応付けられた表である。データ変化符号表３２は、加速度の変化の絶対値が小さいほど小さい符号が割り当てられるように構成されていて、加速度の変化が小さいデータの出現頻度が高いことを利用して圧縮を行う。
【００２５】
例えば図４によると、データ変化符号表３２において、加速度の変化が検出されなかった場合に符号が最小の「０」になるとともに、加速度の変化が大きくなるにつれて符号が大きくなっていく。
【００２６】
バッファ部３５は符号化データを格納するためのバッファを備えている。このバッファは、記憶部２６で使用される記憶装置の一部であっても、記憶部２６とは別個に設けられた記憶装置であっても良い。バッファ格納部３４は、符号化データをバッファ部３５のバッファに格納するとともに、バッファに格納されているデータのデータ総数３５ａを更新する。
【００２７】
監視部３６は、静止、乗り物乗車（以下、単に「乗車」または「乗車中」と言う。）への切り替わりを検知するための閾値Ａ、「歩行」、「走行」への切り替わりを検知するための閾値Ｂを記憶している。そして監視部３６は、一定時間毎に、あるいはバッファ部３５のバッファにデータが格納される毎に、これらの閾値Ａ、Ｂに基づいて、携帯電話機１の移動状況が変更されていないか監視する。
【００２８】
例えば移動状況が「静止」から「歩行」に変わった場合には加速度の変化が大きくなり符号化データが大きくなるため、バッファのデータ総数３５ａが小さくなる。そして再び移動状況が「歩行」から「乗車中」に変わるとバッファのデータ総数３５ａが回復する。「静止」から「歩行」を経ずに「乗車中」になる、あるいは「乗車中」から「歩行」を経ずに「静止」になることはないため、状況の変化には必ずバッファのデータ量の変化を伴う。そこで、監視部３６がバッファのデータ総数３５ａを監視し、データ総数３５ａが所定の閾値をまたいだ時にのみ状況推定処理を実施することで、移動状況を推定する処理の回数を少なくして、かつ状況の変化を素早く検知することが可能になる。
【００２９】
移動状況が変更されたら、監視部３６は符号化データ送信部３７に符号化データを送信するように指示する。指示を受けた符号化データ送信部３７は、バッファ部３５からバッファに格納されている符号化データを取得して、高速プロセッサ３０ｂの符号化データ受信部３８に対して送信する。
【００３０】
高速プロセッサ３０ｂの符号化データ受信部３８は、低速プロセッサ３０ａから符号化データを受信すると、その符号化データを逆符号化部３９に伝送する。逆符号化部３９は、データ変化符号表３２を取得して、受信した符号化データを検出データに変換する。そして逆符号化部３９は検出データを状況推定部４１に伝送する。
【００３１】
検出データを受信した状況推定部４１は、その複数の検出データに基づいて移動状況を推定する。そして状況推定部４１は推定される移動状況を閾値設定部４２に伝送し、閾値設定部４２は、その移動状況に基づいた閾値を算出して閾値Ａ、Ｂに設定する。閾値設定部４２は閾値を設定した際に、閾値送信部４４に設定された閾値Ａ、閾値Ｂの値を低速プロセッサ３０ａに送信するように指示する。指示を受けた閾値送信部４４は、低速プロセッサ３０ａに閾値Ａ、Ｂの値を送信する。
【００３２】
低速プロセッサ３０ａにおいて、閾値受信部４５は、高速プロセッサ３０ｂから閾値Ａと閾値Ｂの値をそれぞれ受信して、受信した閾値の値を監視部３６に通知する。監視部３６は、通知された閾値の値をそれぞれ閾値Ａ、Ｂとして記憶する。
【００３３】
なお、閾値設定部４２は、携帯電話機１で実行中のアプリケーションプログラムによって、「静止」、「乗車」、「歩行」、「走行」のうちの不要な移動状況（処理に用いられない移動状況）があった場合には、これを考慮して閾値Ａ、Ｂを設定する。
【００３４】
図５は、携帯電話機１を保持するユーザが移動することにより、携帯電話機１の移動状況が「静止」、「歩行」、「乗車」、「歩行」に順序で変化した場合の、携帯電話機１に加わるｘ方向、ｙ方向、ｚ方向のそれぞれの加速度の変化の一例を示すグラフである。図５に示すように、移動状況が「静止」のときには加速度の変動がほとんどなく、「静止」から「歩行」に変位すると大きな変動があり、また、「歩行」から「乗車」に変位すると変動が小さくなり、「乗車」から「歩行」に変位すると再び大きな変動があることがわかる。
【００３５】
図５において移動状況が「歩行」から「乗車」に変位したときに、バッファのデータ総数３５ａが最も変化するのは、「歩行」時のデータが古くなってバッファから削除されるときである。従って閾値を適切に設定することで、バッファに「歩行」時の検出データを含まなくなったタイミングで状況推定の処理が可能となる。これにより、複数の移動状況下の加速度データが混在することによる状況推定の精度低下を防ぐことが可能になる。
【００３６】
始めに、携帯電話機１が移動状況の推定処理を行う際に、低速プロセッサ３０ａが加速度センサ２８から加速度の検出データを取得して符号化する検出データ入力処理を行う際の手順について、図６に示すフローチャートに基づいて説明する。
【００３７】
まず検出データ受信部３１は、加速度センサ２８から検出データを取得する（Ｓ１０１）。この際、検出データ受信部３１は一定時間毎に加速度センサ２８に検出データの送信を要求すると良い。符号化部３３は、入力された検出データのうちの最新のデータを逐次記憶していて、検出データ受信部３１が検出データを取得すると、前回入力された検出データと今回入力された検出データとの差分ベクトルを算出する（Ｓ１０３）。この際、符号化部３３は、ｘ方向の差分、ｙ方向の差分、ｚ方向の差分をそれぞれ算出する。
【００３８】
符号化部３３は、ステップＳ１０３にて算出した差分ベクトル（ステップＳ１０３にて算出したｘ方向の差分、ｙ方向の差分、ｚ方向の差分の組み合わせ）がデータ変化符号表３２に存在するか否かを判断する（Ｓ１０５）。
【００３９】
差分ベクトルがデータ変化符号表３２に存在した場合（Ｓ１０５のＹｅｓ）は、符号化部３３は、出力の符号表利用ビットに“１”を設定する（Ｓ１０７）。また符号化部３３は、ステップＳ１０３にて算出した差分ベクトルの組み合わせに対応する符号化データをデータ変化符号表３２から取得して、出力に設定する（Ｓ１０９）。
【００４０】
一方で、差分ベクトルがデータ変化符号表３２に存在しなかった場合（Ｓ１０５のＮｏ）は、符号化部３３は、出力の符号表利用ビットに“０”を設定する（Ｓ１１１）。また符号化部３３は、ステップＳ１０３にて算出した差分ベクトルを出力に設定する（Ｓ１１３）。そして符号化部３３は、ステップＳ１０１にて入力された検出データを記憶する（Ｓ１１５）。この記憶された検出データは、次回に加速度の差分を算出するときに使用される。
【００４１】
次に、データ変化符号表３２に基づいて符号化された検出データを、低速プロセッサ３０ａがバッファ部３５が有するバッファに入力する符号化データ入力処理を行う際の手順について、図７に示すフローチャートに基づいて説明する。
【００４２】
バッファ格納部３４は、ステップＳ１１５にて符号化部３３にデータが設定されると、バッファ部３５のバッファにこのデータを格納するのに充分な空き領域があるか否かを判断する（Ｓ２０１）。バッファに充分な空き容量がなかった場合（Ｓ２０１のＮｏ）は、バッファ格納部３４は、バッファ部３５のバッファに格納されているデータのうちの最も古いデータを一つ削除する（Ｓ２０３）。そしてバッファ格納部３４は、データ総数３５ａの値から“１”を減算する（Ｓ２０５）。ステップＳ２０１に戻って、バッファ格納部３４は再びバッファに充分な空き容量があるか否かを判断する。
【００４３】
バッファに充分な空き容量があった場合（Ｓ２０１のＹｅｓ）は、バッファ格納部３４は、符号化データをバッファ部３５のバッファに格納する（Ｓ２０７）。そしてバッファ格納部３４は、データ総数３５ａの値に“１”を加算する（Ｓ２０９）。
【００４４】
次に、バッファ部３５のバッファに格納されたデータのデータ総数３５ａに基づいて、低速プロセッサ３０ａが携帯電話機１の状態変化を監視して高速プロセッサ３０ｂに通知するか否かを判断する状態変化監視処理を行う際の手順について、図８に示すフローチャートに基づいて説明する。
【００４５】
監視部３５は、バッファ部３５のバッファに格納されているデータのデータ総数３５aが閾値Ａ以上であるか否かを判断する（Ｓ３０１）。携帯電話機１の移動状況が「静止」、「乗車」に切り替わった場合に、データ総数３５ａが閾値Ａ以上になる。
【００４６】
データ総数３５ａが閾値Ａ以上でなかった場合（Ｓ３０１のＮｏ）は、監視部３５は、データ総数３５ａが閾値Ｂ以下であるか否かを判断する（Ｓ３０３）。携帯電話機１の移動状況が「歩行」、「走行」に切り替わった場合に、データ総数ａが閾値Ｂ以下になる。
【００４７】
データ総数３５ａが閾値Ａ以上であった場合（Ｓ３０１のＹｅｓ）、あるいはデータ総数３５ａが閾値Ｂ以下であった場合（Ｓ３０３のＹｅｓ）は、監視部３５は、符号化データ送信部３７に、携帯電話機１の状態変化を高速プロセッサ３０ｂに通知するように指示する。指示を受けた符号化データ送信部３７は、状態変化を高速プロセッサ３０ｂに通知する（Ｓ３０５）とともに、バッファ部３５のバッファに格納された符号化データを高速プロセッサ３０ｂに送信する（Ｓ３０７）。
【００４８】
一方、データ総数３５ａが閾値Ａ以上でなく、閾値Ｂ以下でもなかった場合（Ｓ３０３のＮｏ）は、監視部３５は移動状況が変化していないものと判断し、携帯電話機１の状態変化を高速プロセッサ３０ｂに通知せずに、状態変化監視処理を継続する。
【００４９】
このようにして携帯電話機１は、加速度センサ２８から検出データを取得すると、データ変化符号表３２に基づいて検出データの差分ベクトルを符号化する。また携帯電話機１は、バッファ部３５のバッファに十分な空き容量があった場合にはバッファに符号化データを格納し、十分な空き容量がなかった場合にはバッファからデータを削除した後にバッファに符号化データを格納する。さらに携帯電話機１において、低速プロセッサ３０ａはデータ総数３５ａが閾値Ａ以上であった場合と閾値Ｂ以下であった場合に、移動状況が変化した可能性が高いものと判断して、状態変化を高速プロセッサ３０ｂに通知して移動状況の推定を依頼する。
【００５０】
加速度の変化が小さい場合は符号化データが小さいためバッファに多くのデータが蓄えられるが、加速度の変化が大きい場合には符号化データが大きいためバッファに蓄えられるデータの総数が小さくなる。低速プロセッサ３０ａは、上記手順で符号化データのバッファへの格納を行った後、状況推定処理の実行が必要であるかを判断し、必要と判断すれば符号化データを高速プロセッサ３０ｂに送信して高速プロセッサ３０ｂに状況推定処理を開始させる。
【００５１】
ここで、移動状況の推定方法を説明する。データ総数３５ａが閾値Ａ以上に変化した場合に低速プロセッサ３０ａは状態変化を高速プロセッサ３０ｂに通知する。この判断処理は、移動状況が「静止」または「乗車」に切り替わったことを検知するための処理である。移動状況が「静止」または「乗車」である場合、加速度の変化が小さく、従ってデータ総数３５ａが相対的に多い状態になるからである。
【００５２】
加えて、データ総数３５ａが閾値Ｂ以下に変化した場合、低速プロセッサ３０ａは同様に状態変化を高速プロセッサ３０ｂに通知する。この判断処理は、移動状況が「歩行」または「走行」に切り替わったことを検知するための処理である。移動状況が「歩行」または「走行」であった場合、加速度の変化が大きく、従ってデータ総数３５ａが相対的に小さい状態になるからである。
【００５３】
以上の２条件のいずれかを満たし、状態変化が高速プロセッサ３０ｂに通知されると、割り込み機構によって高速プロセッサ３０ｂが推定処理を開始する。これにより、移動状況が切り替わったときにだけ高速プロセッサ３０ｂの推定処理を実行するので、電力消費の大きい高速プロセッサ３０ｂの動作回数を小さく抑えることができる。
【００５４】
次に、高速プロセッサ３０ｂが、低速プロセッサ３０ａから状態変化の通知を受けた際に、加速度の検出データから移動状況を推定する状況推定処理を行う際の手順について、図９に示すフローチャートに基づいて説明する。
【００５５】
高速プロセッサ３０ｂの符号化データ受信部３８は、低速プロセッサ３０ａの符号化データ送信部３７から、ステップＳ３０７にて送信された符号化データを取得する（Ｓ４０１）。逆符号化部３９は、ステップＳ４０１にて符号化データ受信部３８が受信した符号化データを、ステップＳ４０１と逆の処理を行うことにより、時系列に並べられた元の３軸加速度の検出データに戻す（Ｓ４０３）。すなわち逆符号化部３９は、受信した符号化データを、データ変化符号表３２に基づいて、ｘ方向、ｙ方向、ｚ方向の加速度の変化量に変換する。そして逆符号化部３９は、各々の方向において加速度の変化量を積算することにより、図５に示すような検出データを算出する。この検出データから、歩行中は静止や乗り物乗車中に比べ加速度の振幅が大きく、また静止中は乗り物乗車中に比べ動きが少なく、振幅が平均値から外れることが少ないことが分かる。
【００５６】
まず状況推定部４１は、逆符号化部３９から加速度の検出データを取得して、得られた加速度データより重力方向を推測し重力成分を除去して正規化する（Ｓ４０５）。そして状況推定部４１は、例えば各方向の加速度の最大振幅や平均値などを特徴量として算出する（Ｓ４０７）。
【００５７】
状況推定部４１は、加速度の上記のような特徴を利用し、特徴量からニューラルネットにより移動状況を推定する（Ｓ４０９）。すなわち状況推定部４１は、得られた特徴量をニューラルネットによるパターン分類処理へと入力し移動状況を推定、「静止」、「歩行」、「走行」、「乗車」の４つの移動状況それぞれの確信度を得る。
【００５８】
状況推定部４１は、得られた確信度を直前に推定した移動状況と対照し、移動状況と移動状況の間の遷移しやすさを示す遷移確率モデルによって確信度の補正を行う（Ｓ４１１）。状況推定部４１は、最終的に最も確信度の高い移動状況を状況推定結果として出力する（Ｓ４１３）。
【００５９】
このようにして状況推定結果が出力されると、高速プロセッサ３０ｂは推定された移動状況に基づいて閾値を設定する閾値設定処理を行う。高速プロセッサ３０ｂがこの閾値設定処理を行う際の手順について、図１０乃至図１４に示すフローチャートに基づいて説明する。なお、図１１は、推定結果が「静止」であった場合の「静止」閾値決定処理の手順を示すフローチャートであり、図１２は、推定結果が「乗車」であった場合の「乗車」閾値決定処理の手順を示すフローチャートであり、図１３は、推定結果が「歩行」であった場合の「歩行」閾値決定処理の手順を示すフローチャートであり、図１４は、推定結果が「走行」であった場合の「走行」閾値決定処理の手順を示すフローチャートである。
【００６０】
閾値設定部４２は、状況推定部４１からステップＳ４１３にて出力された状況推定結果を取得する（Ｓ５０１）。そして閾値設定部４２は、推定された結果が「静止」であったか否かを判断する（Ｓ５０３）。
【００６１】
「静止」であった場合（Ｓ５０３のＹｅｓ）は、閾値設定部４２は「静止」閾値決定処理を行う（Ｓ５０５）。現在の状況が「静止」である場合、それ以上動きが少ない移動状況が存在しない、すなわち、それ以上データ総数３５ａが多くなることは考えなくてよい。従ってデータ総数３５ａが増大していることを判定する閾値Ａにデータ総数の取りうる最大値を設定し、データ総数３５ａの増大を検知しないようにする。閾値Ｂについては、アプリケーションプログラムの移動状況の利用要求に応じて設定する値を変化させる。
【００６２】
そのとき実行されているアプリケーションプログラムが「乗車」の判定を不要としている場合、「歩行」または「走行」への変化だけを検知すればよいので、加速度の大きな変化を捉えたときに状況推定部の処理を行えばよいことから、事前に設定した定数によって閾値Ａを設定する。一方、アプリケーションプログラムが「乗車」の判定を必要とする場合は、加速度の微妙な変化を捉える必要があり、最終的に「静止」なのか「乗車」なのかは状況推定部４１の処理を行わなければ判定できない。しかし、「静止」である現状よりは動きがあると言えることから、現在のデータ総数３５ａよりも一定数減算した値を閾値Ｂとして設定する。
【００６３】
よって、図１１に示すように、閾値設定部４２は、閾値Ａにデータ総数３５ａの取り得る最大値を設定する（Ｓ６０１）。閾値設定部４２は、アプリケーションプログラムの移動状況において「乗車」が不要であるか否かを判断する（Ｓ６０３）。「乗車」が不要であった場合（Ｓ６０３のＹｅｓ）は、閾値設定部４２は閾値Ｂに定数を設定する（Ｓ６０５）。「乗車」が必要であった場合（Ｓ６０３のＮｏ）は、閾値Ｂに現在のデータ総数３５ａより一定数小さい値を設定する（Ｓ６０７）。
【００６４】
「静止」でなかった場合（Ｓ５０３のＮｏ）は、閾値設定部４２は推定結果が「乗車」であるか否かを判断する（Ｓ５０７）。そして「乗車」であった場合（Ｓ５０７のＹｅｓ）は、閾値設定部４２は「乗車」閾値決定処理を行う（Ｓ５０９）。現在状況が「乗車」である場合、それ以上動きが少ない移動状況は「静止」のみである。アプリケーションプログラムが「静止」の判定を必要としない場合、データ総数３５ａの増大を検知しないように閾値Ａにデータ総数の取りうる最大値を設定する。アプリケーションプログラムが「静止」の判定を必要とする場合、「静止」なのか「乗車」なのかは状況推定部の処理を行わなければ判定できないが、いずれにしても「乗車」である現状よりは動きが少ないことから、現在のデータ総数３５ａに一定数加えた値を閾値Ａとして設定する。閾値Ｂについては加速度の大きな変化を捉えたときに状況推定部の処理を行えばよいことから、事前に設定した定数によって閾値を設定する。
【００６５】
よって、図１２に示すように、閾値設定部４２は、アプリケーションプログラムの移動状況において「静止」が不要であるか否かを判断する（Ｓ７０１）。「静止」が不要であった場合（Ｓ７０１のＹｅｓ）は、閾値設定部４２は閾値Ａにデータ総数３５ａの取り得る最大値を設定する（Ｓ７０３）。また、「静止」が必要であった場合（Ｓ７０３のＮｏ）は、閾値設定部４２は閾値Ａに現在のデータ総数３５ａより一定数大きい値を設定する（Ｓ７０５）。そして閾値設定部４２は閾値Ｂに定数を設定する（Ｓ７０７）。
【００６６】
「静止」及び「乗車」でなかった場合（Ｓ５０７のＮｏ）は、閾値設定部４２は推定結果が「歩行」であるか否かを判断する（Ｓ５１１）。そして「歩行」であった場合（Ｓ５１１のＹｅｓ）は、閾値設定部４２は「歩行」閾値決定処理を行う（Ｓ５１３）。現在状況が「歩行」である場合、動きの少ない「静止」または「乗車」への変化が起きる場合は、データ総数３５ａが大きく増えるため、閾値Ａは事前に設定した定数によって閾値を設定する。アプリケーションプログラムが「走行」の判定を必要としない場合、データ総数３５ａの増大を検知しないように閾値Ｂにデータ総数３５ａの取り得る最小値を設定する。「走行」の判定を必要とする場合、「歩行」なのか「走行」なのかは状況推定部４１の処理を行わなければ判定できないが、「歩行」である現状よりは動きが多いことから、現在のデータ総数３５ａから一定数減算した値を閾値Ｂとして設定する。
【００６７】
よって、図１３に示すように、閾値設定部４２は閾値Ａに定数を設定する（Ｓ８０１）。また閾値設定部４２は、アプリケーションプログラムの移動状況において「走行」が不要であるか否かを判断する（Ｓ８０３）。「走行」が不要であった場合（Ｓ８０３のＹｅｓ）は、閾値設定部４２は閾値Ｂにデータ総数３５ａの取り得る最小値を設定する（Ｓ８０５）。また、「走行」が必要であった場合（Ｓ８０５のＮｏ）は、閾値設定部４２は閾値Ｂに現在のデータ総数３５ａより一定数小さい値を設定する（Ｓ８０７）。
【００６８】
「静止」、「乗車」、「歩行」のいずれでもなかった場合、すなわち「走行」であった場合（Ｓ５１１のＮｏ）は、閾値設定部４２は「走行」閾値決定処理を行う（Ｓ５１７）。現在状況が「走行」である場合、アプリケーションプログラムが「歩行」の判定を必要としない場合、「静止」または「乗車」への変化だけを検知すればよいので、データ総数３５ａが大きく増えたときに状況推定部４１の処理を行えばよいことから、事前に設定した定数によって閾値Ａを設定する。アプリケーションプログラムが「歩行」の判定を必要とする場合、「歩行」なのか「走行」なのかは状況推定部４１の処理を行わなければ判定できないが、「走行」である現状よりは動きが少ないことから、現在のデータ総数３５ａに一定数加えた値を閾値Ａとして設定する。閾値Ｂについては、「走行」よりも動きの多い移動状況が存在しない、すなわち、それ以上データ総数３５ａが小さくなることは考えなくてよいことから、データ総数３５ａの取りうる最小値を設定し、データ総数３５ａの減少を検知しないようにする。
【００６９】
よって、図１４に示すように、閾値設定部４２は、アプリケーションプログラムの移動状況において「走行」が不要であるか否かを判断する（Ｓ９０１）。「走行」が不要であった場合（Ｓ９０１のＹｅｓ）は、閾値設定部４２は閾値Ａに定数を設定する（Ｓ９０３）。また、「走行」が必要であった場合（Ｓ９０１のＮｏ）は、閾値設定部４２は閾値Ａに現在のデータ総数３５ａより一定数大きい値を設定する（Ｓ９０５）。そして閾値設定部４２は閾値Ｂにデータ総数３５ａの取り得る最小値を設定する（Ｓ９０７）。
【００７０】
このようにして携帯電話機１において、状況推定部４１にて移動状況の推定が完了すると、閾値設定部４２は状況推定結果ごとに異なるロジックを用いて閾値Ａ、閾値Ｂを決定する。そして閾値送信部４４は、決定された閾値Ａと閾値Ｂの組み合わせを低速プロセッサ３０ａに送信する（Ｓ５１９）。低速プロセッサ３０ｂは、閾値受信部４５にて閾値の組み合わせを受信すると、受信した閾値Ａ、Ｂを監視部３６の閾値Ａ、Ｂとして設定する。
【００７１】
携帯電話機１において、移動状況を推定するために端末に加わっている加速度の小さな変化をとらえなければならない場面と、大きな変化をとらえなければならない場面とが考えられる。そこで携帯電話機１は、各々の場面を切り分け、かつアプリケーションプログラムによる処理がその変化後の移動状況に依存していないと思われる場合は状況推定処理を開始しないようにすることができることから、電力消費の大きい高速プロセッサ３０ｂの動作回数を抑えることができる。
【００７２】
高速プロセッサ３０ｂで動作する状況推定部４１の実行を、低速プロセッサ３０ａで動作する監視部３６にて制御することにより、状況推定の必要がない場合は高速プロセッサ３０ｂを動作させる必要がなくなり、消費電力を抑えて移動状況を推定することを可能にする。また、携帯電話機１に加わる加速度の小さな変化をとらえなければならない場合と大きな変化をとらえなければならない場合を切り分けることを可能にする。
【００７３】
さらに、起動されているアプリケーションプログラムが特定の移動状況についての情報を必要としない場合、その不要な状況についての状況推定処理は行わないようにすることで、アプリケーションプログラムがプロセッサを利用する頻度を落として消費電力を抑えることを可能にする。
【００７４】
なお、携帯電話機１の移動状況を推定するために加速度センサ２８が用いられる例について説明したが、これに限定されず、照度センサ、近接センサ、位置センサ、地磁気センサなど、様々なセンサを用いて移動状況を推定することができる。
【００７５】
本発明に係る情報処理端末（携帯電話機１）によると、加速度データを圧縮することによって電力消費の少ないプロセッサでも加速度データのバッファリングを可能になる上、処理量を増やすことなく移動状況の切り替わりを検知できるようにしたことにより、移動状況の切り替わりを契機にした状況推定処理の開始が可能となり、全体の状況推定処理の電力消費を少なく抑え、さらに複数の移動状況の加速度データが混在することによる状況推定の精度低下を防止することが可能となる。
【００７６】
本発明の説明として、携帯電話機１について説明したが、これに限らず、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＭＩＤ（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅ）、携帯音楽プレイヤー、携帯ビデオカメラ、携帯ゲーム機など、いずれかのセンサを備えている情報処理端末であれば、任意の情報処理端末であっても良い。
【符号の説明】
【００７７】
１…携帯電話機，１０…筐体，１１…タッチスクリーン，１２…スピーカ，１３…マイクロフォン，１４…操作キー，２０…主制御部，２１…電源回路部，２２…操作入力制御部，２３…表示制御部，２４…音声制御部，２５…通信制御部，２５ａ…アンテナ，２６…記憶部，２７…移動状況推定部，２８…加速度センサ，３０ａ…低速プロセッサ，３０ｂ…高速プロセッサ，３１…検出データ受信部，３２…データ変化符号表，３３…符号化部，３４…バッファ格納部，３５…バッファ部，３５ａ…データ総数情報，３６…監視部，３６ａ…閾値情報，３７…符号化データ送信部，３８…符号化データ受信部，３９…逆符号化部，４１…状況推定部，４２…閾値設定部，４３…アプリケーションプログラム，４４…閾値送信部，４５…閾値受信部。
【図１】
2011139301.tif 000003
【図２】
2011139301.tif 000004
【図３】
2011139301.tif 000005
【図４】
2011139301.tif 000006
【図５】
2011139301.tif 000007
【図６】
2011139301.tif 000008
【図７】
2011139301.tif 000009
【図８】
2011139301.tif 000010
【図９】
2011139301.tif 000011
【図１０】
2011139301.tif 000012
【図１１】
2011139301.tif 000013
【図１２】
2011139301.tif 000014
【図１３】
2011139301.tif 000015
【図１４】
2011139301.tif 000016