JP6131822B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6131822B2
JP6131822B2 JP2013219661A JP2013219661A JP6131822B2 JP 6131822 B2 JP6131822 B2 JP 6131822B2 JP 2013219661 A JP2013219661 A JP 2013219661A JP 2013219661 A JP2013219661 A JP 2013219661A JP 6131822 B2 JP6131822 B2 JP 6131822B2
Authority
JP
Japan
Prior art keywords
inner product
product value
value
component vector
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013219661A
Other languages
English (en)
Other versions
JP2015081834A (ja
Inventor
陽介 千田
陽介 千田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013219661A priority Critical patent/JP6131822B2/ja
Publication of JP2015081834A publication Critical patent/JP2015081834A/ja
Application granted granted Critical
Publication of JP6131822B2 publication Critical patent/JP6131822B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本件開示の発明は、加速度センサのセンサ出力に対する情報処理装置、情報処理方法及びプログラムに関する。
近年普及している携帯電話端末等の情報処理装置には、その高機能化に伴い、さまざまなセンサが搭載されている。例えば、加速度センサを有する装置は、センサの出力値に基づいて、装置の現在の状態を判定する。
特許文献1〜3では、加速度センサの出力値を利用して、情報処理装置を携帯するユーザの歩行状態を判定する方法等が提案されている。これらの文献では、加速度センサの出力値を用いて情報処理装置の上下方向(鉛直方向もしくは重力方向)の加速度情報を算出したり、2つの時系列データを比較して類似度を評価したりする。
特開2010−257395号公報 特開2012−63208号公報 特開2012−247991号公報
しかし、情報処理装置を携帯するユーザの動作状態を判定するには、上下方向の加速度の大きさに加えて、左右方向の加速度の大きさや前後方向の加速度の大きさも検出されることが望ましい。
ところで、携帯電話端末等の情報処理装置には、ユーザの操作を処理したり通信を実行したりするためのメインマイコンと、加速度センサ等からの出力情報を処理するサブマイコンを備えるものがある。メインマイコンは、装置全体の制御の他、例えばゲームやブラウザ等のユーザが実行するアプリケーションも動作させるため高性能である。一般に、マイコンの性能と消費電力は比例関係にあると考えてよい。そして、情報処理装置において駆動時間(電池の持続時間)は重要な要素の1つである。情報処理装置における消費電力を抑えれば、情報処理装置の駆動時間を長くすることができる。そこで、メインマイコンはできるだけ休止状態にされる。そのため、通常は、メインマイコンで加速度センサの出力を長時間モニタリングしない構成が採用される。
そこで、情報処理装置のサブマイコンが使用される。一般に、サブマイコンの消費電力はメインマイコンの1/200〜1/1000程度である。すなわち、サブマイコンは長時間動作状態としても、電力浪費の観点からは支障がない。ただし、サブマイコンの性能は非力であり、整数の四則演算とメモリ操作といった単純な処理であれば実行できる。サブマイコンを用いてユーザの行動評価を行うためには、上記のような単純な演算に基づいて処理を行う。
例えば、加速度センサの座標系で出力された値を、上下左右前後のいわゆるグローバル座標系における値に変換する場合、回転行列を利用した演算を行うことでそのような変換を行うことができる。このような変換は座標変換と呼ばれ、通常は三角関数を用いて行う。しかし、上述のように、整数の四則演算とメモリ操作程度の処理が可能なサブマイコン
では、処理負荷の高い三角関数の演算等を行うことはできない。
本件開示の技術は、上記に鑑みてなされたものであり、その目的とするところは、単純な演算処理により、情報処理装置を携帯するユーザの動作状態を判定することである。
本件開示の情報処理装置は、1つの側面では、3次元空間の加速度を検出する加速度センサと、加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、ローパスフィルタにより抽出された重力成分ベクトルの信号と時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、所定の動作における内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、テンプレートを用いて、所定時間にわたって内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、所定の動作が発生したか否かを判定する動作判定部とを備える。
本件開示の技術によれば、単純な演算処理により、情報処理装置を携帯するユーザの動作状態を判定することができる。
図1は、一実施形態における携帯電話端末のハードウェア構成を示す概略構成図である。 図2は、一実施形態における携帯電話端末の機能部を示す機能構成図である。 図3は、一実施形態におけるサブマイコンの概略構成図である。 図4Aは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図4Bは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。 図5Aは、一実施形態におけるユーザの歩行状態を示す模式図である。 図5Bは、一実施形態におけるユーザの歩行状態を示す模式図である。 図6Aは、一実施形態におけるローパスフィルタの動作を示すシーケンス線図である。 図6Bは、一実施形態におけるローパスフィルタにおいて実行される処理のフローチャートの一部を示す図である。 図7Aは、一実施形態における遅延回路の動作を示すシーケンス線図である。 図7Bは、一実施形態における遅延回路において実行される処理のフローチャートの一部を示す図である。 図8は、一実施形態における相関演算処理部の動作を示すシーケンス線図である。 図9は、一実施形態における相関演算処理部のバッファの構成を示す模式図である。 図10は、一実施形態における動作判定用のテンプレートの構成例を示す表である。 図11は、一実施形態における相関演算処理部において実行される処理のフローチャートの一部を示す図である。 図12は、一実施形態における相関演算処理部において実行される処理を説明するグラフである。 図13は、一実施形態における相関演算処理部において実行される処理のフローチャートの一部を示す図である。
以下、一実施形態における携帯電話端末及びその制御方法について、図面を参照しながら説明する。
図1に示すように、本実施形態における携帯電話端末10は、アンテナ101、RF(Radio Frequency)部102、メインマイコン103、サブマイコン104、ボタン10
5、ディスプレイ106、タッチパネル107、ROM(Read Only Memory)108、RAM(Random-Access Memory)109、加速度センサ110を備える。なお、携帯電話端末10が、情報処理装置の一例に相当する。ただし、本実施形態に開示された技術は、携帯電話端末10に限定されず、情報処理装置一般に適用できる。本実施形態において、携帯電話端末10はユーザが携帯している。
携帯電話端末10は、アンテナ101を経由して基地局等の外部の無線送受信装置(図示せず)と無線通信を行う。RF部102は、外部の無線送受信装置との送受信において、送信時にベースバンド信号を周波数帯(RF帯)に変調し、受信時にこれらの周波数帯の信号をベースバンド信号に復調する。
メインマイコン103は、ROM108に記憶された制御プログラム108aを実行して、携帯電話端末10が有する各種機能を実現する。サブマイコン104は、サブマイコン104に組み込まれている加速度センサ出力処理プログラム104aを実行して、加速度センサ110のセンサ出力を演算処理し、携帯電話端末10のユーザの座標系、すなわちグローバル座標系の加速度に変換する。さらに、サブマイコン104は、動作状態判定プログラム104bを実行して、携帯電話端末10のユーザの動作状態の判定結果を生成する。なお、本実施形態における種々の演算処理を1以上のサブマイコンを用いて実行する構成としてもよい。また、加速度センサ出力処理プログラム104a及び動作状態判定プログラム104bを1つのプログラムとして構成してもよい。
ボタン105は、ユーザが携帯電話端末10の操作に使用するハードウェアキーである。ディスプレイ106は、携帯電話端末10において実行される各種処理の結果等の種々の情報を表示する。また、ディスプレイ106は、メインマイコン103やサブマイコン104により実行される種々の処理の処理結果や処理状態、コンテンツ等を表示する。タッチパネル107は、ユーザのタッチ操作等を受け付ける。タッチパネル107はディスプレイ106と重なるように配置されている。ユーザは、タッチパネル107を指等でタッチ操作等することで、ディスプレイ106に表示されたアイコン等の表示項目の選択等を行う。
ROM108は、携帯電話端末10において実行される各種プログラムや後述する動作判定用のテンプレートのデータを格納する。ROM108が、テンプレート記憶部の一例である。RAM109は、メインマイコン103やサブマイコン104が種々の処理を実行する際に一時的な記憶領域として使用される。すなわち、RAM109はワークエリアとして用いられ、各種プログラムや端末番号等の携帯電話端末の固有情報が格納される。また、RAM109には、ユーザが入力した設定やプログラムの情報、ディスプレイ106等を介してユーザに提供されるデータ等が格納される。
メインマイコン103は、高速演算処理を実行することができるが、消費電力が大きい。したがって、長時間動作状態に保つことは好ましくないため、メインマイコン103の動作時間には一定の制限が課せられ、一時的に休止状態に移行される。ところで、ユーザ
の動作状態を判定する場合、ユーザの動作データを長時間にわたって取得し、取得した動作データに基づいて動作状態を判定する。
そこで、本実施形態では、サブマイコン104は、少なくともユーザの動作が発生している間は動作状態に保たれ、加速度センサ110のセンサ出力を受け取り、センサ出力を演算処理してグローバル座標系の加速度データを生成する。サブマイコン104は、四則演算等の単純な演算処理やROM108やRAM109等のメモリへのアクセス処理等の処理負荷が低い処理を実行する。しかし、サブマイコン104は、消費電力が小さいので、長時間にわたり、加速度センサ出力処理プログラム104aや動作状態判定プログラム104bを実行することができる。
したがって、メインマイコン103が動作状態となることは抑制され、サブマイコン104がユーザの動作状態の判定結果に基づいて、ユーザにわかりやすい値にセンサ出力を変換したり統計情報を作成したりして、生成した情報をディスプレイ106に表示する。なお、生成した情報は、アンテナ101を介して外部に送信してもよい。
本実施形態では、携帯電話端末10のROM108に記憶されているアプリケーション等が、サブマイコン104によって実行される。このようなアプリケーション等の実行により、図2に示すように、携帯電話端末10のサブマイコン104は、時間遅延部201、内積値算出部202、動作判定部203として機能する。ただし、時間遅延部201、内積値算出部202、動作判定部203のいずれか1つ以上が、ハードウェア回路であってもよい。
次に、本実施形態において、携帯電話端末10のサブマイコン104において実行される、ユーザが行った所定の動作を検知するための構成、アルゴリズム及び処理について説明する。図3に、本実施形態における、サブマイコン104の構成の一部とサブマイコン104が実行するアルゴリズムの概略を示す。図3に示すように、サブマイコン104は、ローパスフィルタ(LPF)104c、遅延回路104d、内積演算処理部104e、相関演算処理部104fを有する。なお、遅延回路104dが時間遅延部の一例である。また、内積演算処理部104eが、内積値算出部の一例である。さらに、相関演算処理部104fが、動作判定部の一例である。
本実施形態では、加速度センサ110のセンサ出力Aに対してLPF104cを通すことで重力方向ベクトルGが検出される。一方、LPF104cは遅延回路104dに接続されている。遅延回路104dは、入力される信号を所定時間後に出力するので、遅延回路104dから過去の重力方向ベクトルG’が出力される。そして、内積演算処理部104eは、LPF104cにより検出された重力方向ベクトルGと遅延回路104dから出力された重力方向ベクトルG’との内積を演算する。内積演算処理部104eの演算により得られた内積値pは、相関演算処理部104fに送られる。相関演算処理部104fは、ROM108に格納されたテンプレートを用いて、内積演算処理部104eから出力された内積値pに対する相関演算を行ってユーザの動作判定を行う。
ここで、加速度センサ110のセンサ出力Aを、携帯電話端末10を携帯するユーザの座標系、すなわちいわゆるグローバル座標系における加速度に変換する処理について、本実施形態の利点を説明する。
図4A及び図4Bは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下方向(鉛直方向)の加速度情報を取り出す方法の一例を示す図である。ここでは、ユーザが歩行中である場合を想定している。図4Aに示すように、互いに直交するX軸、Y軸、Z軸が携帯電話端末のローカル座標
系を構成する。図4Aにおいて、加速度センサのセンサ出力AはA=(x,y,z)で与えられる。なお、Tは転置行列を意味する。そして、図4Aに示すように、加速度センサのセンサ出力Aは、ユーザの歩行に伴う振動Sと重力加速度Gの合成と考えることができる。
ここで、人間の歩行について概説する。図5A及び図5Bは、人間の歩行における体幹と両足の動きを模式的に表す図である。図5Aは、人間の歩行を真上(鉛直上方)から見た図であり、図5Bは、人間の歩行を真横(水平方向)から見た図である。体幹20は、人間の股関節から頭部までの部分に対応し、脚20L、20Rはそれぞれ左脚と右脚に対応する。図5A及び図5Bに示すように、人間は、歩行中、左右の脚20L、20Rが交互に地面に着き、体幹20は上下、左右、前後の各方向にそれぞれ揺れる。また、図5A及び図5Bに示すように、体幹20の上下動の周期は、左右の脚20L、20Rの一方が地面から離れて再び着き、さらに他方が地面から離れて再び着くまでの期間と一致する。一方、体幹20の左右の揺れについては、左脚20Lが地面に着いている間は人間の左方向に揺れ、右脚20Rが地面に着いている間は人間の右方向に揺れる。したがって、人間の歩行時における体幹20の左右の揺れの周期は、上下動の周期の2倍の周期、すなわち1/2の周波数である。
また、人間は、歩行中、左脚20Lまたは右脚20Rを地面に着地させる瞬間が最も下方向の加速度が大きくなる。そして、左脚20Lまたは右脚20Rの着地後、体幹20を上昇させる時に上方向の加速度が発生し、体幹20が到達する最上点で当該上方向の加速度が最小になり、以後は代わりに下方向の加速度が発生する。また、左右方向の加速度については、左脚20Lを着地させると左方向の加速度が発生し、右脚20Rを着地させると右方向の加速度が発生する。
図4A及び図4Bに戻ると、図5A及び図5Bを用いて説明したように、ユーザの歩行に伴う振動Sは、所定の周期の繰り返し運動であると言える。したがって、加速度センサのセンサ出力Aを、適切なカットオフ周波数のLPFやハイパスフィルタ(HPF)に通すと、センサ出力Aを振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルとに分離することができる。歩行に伴う上下方向の加速度は、振動Sの振動成分ベクトルにおける重力加速度Gの重力成分ベクトルと平行なベクトルVで表せる。ベクトルVの大きさをvとし、振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルのなす角をθとすると、vは以下の式で与えられる。
v = |S| cosθ ・・・(1)
ここで振動Sと重力加速度Gの内積について考える。内積は、ベクトルのx、y、z成分同士を乗算した後に、乗算した各成分の和を求めることで得られる。なお、振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルの内積は、定義より以下の式で与えられる。
S + G = |S| |G| cosθ ・・・(2)
式(2)を式(1)に当てはめると、以下の式(3)が得られる。
v = S ・ G / |G| ・・・(3)
ここで重力加速度Gの大きさ|G|は、地球上ではほぼ一定である。すなわち、加速度センサのセンサ出力Aに対して、LPFとHPFを通し、各フィルタの出力の内積を取ることでユーザの歩行運動に伴う上方向の加速度に比例した数値と下方向の加速度に比例した数値とを得ることができる。なお、上記では、ユーザが歩行中であることを想定して説明した。しかし、ユーザが歩行以外の動作を行う場合も、上記のアルゴリズムを踏まえて、加速度センサのセンサ出力Aに対して、LPFとHPFを通すことで、振動成分ベクト
ルと重力成分ベクトルがそれぞれ得られる。
ところで、上記の方法では、加速度センサのセンサ出力をHPFに通すことで、振動Sの振動成分ベクトルを算出する。ところが、人間の動作には、例えばお辞儀をしたり体を横にしたりするなど、体幹の回転運動が伴う動作が含まれる。このような動作においては、体幹の運動とともに加速度センサから見た重力方向の向きも大きく変化する。また、仮に、このような動作が発生した際に端末の位置が体幹の回転運動の回転中心にあると、端末の位置は回転中心から変化しないため、加速度センサでは回転運動に伴う振動成分を検出できない。
一方、このような動作に伴う回転運動を検出するために、端末に角速度センサを設け、角速度センサの出力を適当な座標変換を用いて、グローバル座標系における回転情報を取得する構成が考えられる。しかし、角速度センサは、コリオリ力を検出するために、内部で微細な動きを発生させているため、一般に加速度センサよりも大きな電力を必要とする。したがって、端末の消費電力の観点から言えば、ユーザの運動の解析に角速度センサを採用することは好ましくない。そこで、本実施形態では、以下に説明する構成を用いて、加速度センサのセンサ出力からユーザの各種動作を判定するために必要な回転運動の量を抽出する。これにより、本実施形態では、三角関数等の複雑な演算を用いず、四則演算を用いた単純な演算を行うことでユーザの動作判定を行うことができるため、演算に伴う消費電力を抑えることができる。
図6A及び図6Bに、本実施形態におけるLPF104cの構成例及びLPF104cにおいて実行される処理を示す。図6Aに示すように、LPF104cでは、加速度センサ110のセンサ出力の値Xが、n個のバッファBF0〜BFn−1に、加速度センサ110のサンプリングクロックに同期したクロックCLKに同期して記憶される。なお、クロックCLKが、本実施形態における動作判定処理の実行タイミングを定める所定の時間間隔の一例である。そして、加算器104gと入力値を1/n倍する除算器104hとを用いた平均化処理により、連続するn個のセンサ値Xの平均値が算出される。すなわち、LPF104cは、n個のセンサ出力の値Xの平均を求める平均化処理を実行することにより実現できる。したがって、サブマイコン104は、加速度センサ出力処理プログラム104aを実行する際に、センサ出力の値Xを逐一バッファに記憶し、直前のn個のセンサ出力の値を加算してnで除算することで、LPF104cの演算処理を行う。
図6Bに示すように、LPF104cでは、値Xが入力された場合、当該入力が初回であるときに、S101〜S107を経て、各バッファが保持する値をXとし、その合計値が算出されて、合計値を1/n倍する処理が実行される。図中、S101〜S113において、「index」は、各バッファに設定されたインデックスを示す。また、「buf[index]」は、「index」の値が示すインデックスを有するバッファが保持する入力値を示す。図中、その他の記号は、いわゆるC言語の規則に従う。なお、以下の他のフローチャートの説明でも同様である。値Xの入力が初回でない場合は、S108〜S113がクロック単位で繰り返し実行されることで、当該入力以降に順次入力される値を用いた平均化処理が実行される。除算器104hの出力は、遅延回路104dに送られる。
次に、図7A及び図7Bに、本実施形態における遅延回路104dの構成例及び遅延回路104dにおいて実行される処理を示す。図7Aに示すように、遅延回路104dはm個のバッファBF0〜BFm−1を有する。バッファの数は、遅延回路104dによる重力方向ベクトルGの遅延時間に応じて適宜決定される。図7Aに示すように、本実施形態では、m個のバッファが連結されている。
図7Bに示すように、遅延回路104dでは、値Xが入力された場合、当該入力が初回であるときに、S201〜S206により各バッファが保持する値を0とする初期化が行われる。値Xの入力が初回でない場合は、クロックCLK単位でS207〜S211が繰り返し実行されることで、入力値Xは、インデックス0を有するバッファBF0から、後段のバッファBF1〜BFm−1に順次渡されていく。また、インデックスM−1を有するバッファBFm−1から出力された値は、内積演算処理部104eに送られる。本実施形態では、バッファBFm−1から出力される値が過去の重力方向ベクトルG’である。
図3に示すように、内積演算処理部104eには、LPF104cから出力される重力方向ベクトルGと遅延回路104dから出力される過去の重力方向ベクトルG’が入力される。内積演算処理部104eは、以下の式(4)によりベクトルGとベクトルG’の内積値pを求める。
p = G ・ G’ = |G| |G’| cosθ ・・・(4)
ここで、ベクトルGとベクトルG’とのなす角をθとする。内積演算処理部104eから出力される内積値pは、相関演算処理部104fに送られる。
ところで、一例として人間の歩行時について、いわゆるピッチ軸、ロール軸、ヨー軸を設定して考えると、股関節はピッチ方向には大きく回転し、ロール方向の回転は、ピッチ方向の回転に比べて小さい。すなわち、加速度センサ110のセンサ出力からユーザの歩行を含む種々の動作状態を判定するにあたって、ピッチ軸まわりの回転を計算することができなくても、水平面に平行な軸周りの回転が計算できれば、この回転をほぼピッチ軸周りの回転とみなすことができる。
そして、ベクトルGとベクトルG’も重力ベクトルであるため、その大きさはほぼ重力加速度である。これよりGとG’の内積は、これら2つのベクトルのなす角の余弦を定数(重力加速度の二乗)倍したものであると考えてよい。さらに、余弦は0°から180°に至るまでは単調減少を示す。すなわち、逆関数を用いて式(4)を角度θの式に変換しなくても、以下に示すように、余弦の値自体を動作判定処理に用いることができる。したがって、本実施形態では、角速度センサを用いて三角関数等の演算を行うことなく、ユーザの動作判定を行うことができる。
図8に、本実施形態における相関演算処理部104fの構成の一部を示す。図8に示すように相関演算処理部104fは、複数のテンプレートデータ格納部104i、104j、104kを有する。テンプレートデータ格納部104i、104j、104kには、後述する動作判定用のテンプレートの値欄に格納された値が入力される。テンプレートデータ格納部104i、104j、104kに格納された値は、それぞれ異なる減算器104l、104m、104nに入力される。なお、図8にはテンプレートデータ格納部と減算器をそれぞれ3つ示すが、テンプレートデータ格納部と減算器の数は、後述する動作判定用のテンプレートのインデックス数に合わせて適宜変更することができる。
相関演算処理部104fは、k個のバッファBF0〜BFk−1を有する。内積演算処理部104eから出力される内積値p(図中「入力X」)は、バッファBF0に格納され、次の内積値が相関演算処理部104fに入力されると、バッファBF0に格納されている値は、後段のバッファBF1に渡される。このように、内積値が相関演算処理部104fに入力される度に、各バッファに格納されている値は後段のバッファに順次渡される。なお、バッファBFk−1に格納された値は、次にバッファBFk−1に入力される値で更新される。
図9及び図10を参照しながら、本実施形態における相関演算処理部104fの動作判定処理の例について説明する。図9に、相関演算処理部104fのバッファBF0〜BF
k−1に格納された内積値pの例を示す。内積演算処理部104eから出力される内積値pは、小さいインデックスの値を有するバッファから順次格納されていく。図9の場合、内積演算処理部104eから内積値pが順番に3、2、5、5と出力され、相関演算処理部104fにおいてインデックスがindex0であるバッファから順次格納されている。なお、インデックスがindexK−1であるバッファに内積値pが格納された場合、次に相関演算処理部104fに入力される内積値pは、インデックスがindex0であるバッファに戻って格納される。
図10に、動作判定用のテンプレートのデータ構造例を示す。図10において、「サンプリング用インデックス」及び「時間(t)」の各値は、後述するように、バッファから値を取得する減算器を指定するために用いられる。また、「値(d)」は、テンプレートデータ格納部に格納される値である。「サンプリング用インデックス」、「時間(t)」、「値(d)」の各値は組み合わせて使用される。すなわち、「サンプリング用インデックス」及び「時間(t)」により指定された減算器に対して、「値(d)」の値が入力される。具体例は、後述のフローチャートを説明する際に示す。
図11は、本実施形態における相関演算処理部104fにおいて実行される動作判定処理のフローチャートを示す。相関演算処理部104fでは、値Xが入力された場合、当該入力が初回であるときに、S301〜S306により各バッファが保持する値を0とする初期化が行われる。値Xの入力が初回でない場合は、クロックCLK単位でS307〜S316が繰り返し実行されることで、動作判定用のテンプレートとの一致度が算出される。
ここで、動作判定用のテンプレートとの一致度とは、過去の所定の時間範囲において相関演算処理部104fに入力された内積値pの変化と動作判定用のテンプレートが示す値の変化との一致の度合い示す指標である。ここで、過去の所定の時間範囲は、使用する動作判定用のテンプレートにおいて値が変化する時間範囲によって決まる。
S307では、現在指定されているインデックスに対応するバッファに値Xが格納される。ここで、現在指定されているインデックスとは、値Xの入力が初回である場合、すなわちいずれのバッファにも値が格納されていない場合、S301〜S306によって各バッファの値が初期化されて「index=0」の処理が実行されるため、index0である。また、値Xの入力が初回でない場合、すなわち既にバッファに値が格納されている場合、現在指定されているインデックスとは、S314によってインクリメントされたインデックスである。次いで、処理はS308に進む。
S308及びS309では、一致度CORの値と変数jの値がそれぞれ0とされる。ここで、変数jは、図10のサンプリング用インデックスの値である。次いで、処理はS310に進む。S310〜S313では、動作判定用のテンプレートのサンプリング用インデックスの値によって定まる時間に入力されたバッファの値と、動作判定用のテンプレートの値との絶対値の差分を順次算出する。まず、S311では、現在のindexの値により特定されるバッファを起点として、サンプリング用インデックスの値と組になっている時間(t)だけ遡った時間に入力されたバッファの位置(i)が決まる。S311に示す式によりiの値が算出されたら、処理はS312に進む。S312では、動作判定用のテンプレートにおいてサンプリング用インデックスの値と組になっている値(d)と、S311によって決まる位置のバッファが有する値との差分を一致度CORとして積算する。
本実施形態では、図10に示すように、動作判定用のテンプレートは、0〜M−1のM個のサンプリング用インデックスを有する。したがって、S310〜S313の処理がM
回繰り返された後、処理はS314に進む。S314〜S316では、相関演算処理部104fに入力された内積値pが右端のバッファ(インデックスはK−1。図9参照)に格納された場合、次に入力される内積値pが、左端のバッファ(インデックスは0。図9参照)に格納されるようにindexの値を変更する。
一例として、図9及び図10に示す場合において、インデックスがindex4であるバッファに格納された値「5」が最新の内積pの入力値であるとする。この場合、S310〜S313の処理により、最初に、動作判定用のテンプレートにおけるサンプリング用インデックスの値と時間(t)と値(d)の組「0、0、0」を用いて一致度が算出される。時間(t)の値は「0」であるため、S311により決まるバッファは、インデックスがindex4のバッファである。さらに、値(d)の値は0であるため、S312により算出される一致度CORはCOR=|0−0|=0である。
次にS313、S310を経て、jが1だけインクリメントされて再度S311、S312が実行される場合、サンプリング用インデックスの値と時間(t)と値(d)の組「1、3、10」を用いて一致度が算出される。時間(t)の値は「3」S311により決まるバッファは、インデックスがindex1のバッファである。さらに、値(d)の値は「10」であるため、S312により算出される一致度CORは、前回算出されたCORは上記の通り0であるから、COR=0+|5−10|=5である。このように、サンプリング用インデックスの値と時間(t)と値(d)の各組の値を用いて、一致度CORが積算される。このように、一致度CORが小さくなるほど、加速度センサ110のセンサ出力から算出される内積値の時間変化が、動作判定用のテンプレートが示す内積値の時間変化に近づく。
図12は、本実施形態における上記の一致度を算出する処理を模式的に示す図である。図12に示すように、判定対象の動作について所定の時間範囲における内積値の変化が曲線Cで与えられるとする。そして、曲線Cにおいて、時間軸上のK個のサンプリング位置を定める。サンプリング位置に対して現在の時間から近い順にサンプリング用インデックスの値を0から順次割り当てる。また、各サンプリング位置における現在の時間との時間差を「時間(t)」とし、曲線Cの取る内積値を「値(d)」とする。これら、サンプリング用インデックスの値と「時間(t)」の値と「値(d)」の値の組をまとめることで動作判定用のテンプレートが作成される。そして、上記のフローチャートの処理を実行することで、現在から過去に遡って、動作判定用のテンプレートの示す内積値と実際に相関演算処理部104fに入力される値との差分を算出することで、これらの値の相関関係を示す一致度CORが算出される。
図13に、本実施形態において、相関演算処理部104fにより実行される動作判定処理のフローチャートを示す。本フローチャートは、図11に示すフローチャートによりS315又はS316を経て一致度CORの積算が完了する度に開始される。図13に示すように、S401では、図11に示すフローチャートにより積算された一致度CORの値が所定の閾値Th以下であるか否かが判定される。本実施形態で使用される動作判定用のテンプレートは、一例として携帯電話端末10を携帯するユーザが腰を屈めたか否かを判定するためのテンプレートである。したがって、一致度CORの値が所定の閾値Th以下である場合(S401:Y)、ユーザは腰を屈めたと判定される。また、一致度CORの値が所定の閾値Thを超える場合(S401:N)、ユーザは腰を屈める動作を行っていないと判定される。
図13に示すフローチャートによる判定処理の結果は、携帯電話端末10のRAM109に記憶したり、ディスプレイ106に表示したり、RF部102及びアンテナ101により外部の装置に送信したりすることができる。
以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記では、ユーザが腰を屈めたか否かを判定する1つのテンプレートを動作判定用のテンプレートとして使用しているが、テンプレートの数や種類はこれに限定されるものではない。例えば、ユーザの性別や体格等により腰を屈める動作には個体差がある。すなわち、腰を屈めたか否かを判定する複数のテンプレートをROM108等に記憶しておき、テンプレートごとに上記の処理を繰り返すことで、複数パターンの腰の屈め方を判定可能な構成とすることができる。さらに、腰を屈めたか否かを判定するテンプレートだけでなく、座ったり、お辞儀をしたり、ジャンプしたり等、さまざまな動作を判定するテンプレートを動作別にROM108等に記憶することもできる。これにより、携帯電話端末10を携帯するユーザのさまざまな動作を判定可能な構成とすることができる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。ここで、設定とは、例えばボタン機能の割付等を意味する。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、携帯電話端末等である。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
3次元空間の加速度を検出する加速度センサと、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
前記重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、
所定の動作における前記内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、
前記テンプレートを用いて、所定時間にわたって前記内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定する動作判定部と、
を備える情報処理装置。
(付記2)
前記動作判定部は、前記テンプレートマッチングにおいて、前記所定時間にわたって前記内積値算出部により算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の
動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記1に記載の情報処理装置。
(付記3)
前記動作判定部は、前記内積値算出部により算出された内積値を所定の時間間隔で時系列に記憶し、前記内積値算出部により算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記2に記載の情報処理装置。
(付記4)
3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
を有する情報処理方法。
(付記5)
前記所定の動作が発生したか否かを判定するステップは、前記テンプレートマッチングにおいて、前記所定時間にわたって前記算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記4に記載の情報処理方法。
(付記6)
前記所定の動作が発生したか否かを判定するステップは、前記算出された内積値を所定の時間間隔で時系列に記憶し、前記算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記5に記載の情報処理装置。
(付記7)
3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
をコンピュータに実行させるためのプログラム。
(付記8)
前記所定の動作が発生したか否かを判定するステップは、前記テンプレートマッチングにおいて、前記所定時間にわたって前記算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記7に記載のプログラム。
(付記9)
前記所定の動作が発生したか否かを判定するステップは、前記算出された内積値を所定の時間間隔で時系列に記憶し、前記算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記8に記載のプログラム。
104 サブマイコン
104a 加速度センサ出力処理プログラム
104b 動作状態判定プログラム
104c LPF
104d 遅延回路
104e 内積演算処理部
104f 相関演算処理部
104g、104o 加算器
104h 除算器
104i〜104k テンプレートデータ格納部
104l〜104n 減算器
108 ROM
109 RAM
110 加速度センサ
201 時間遅延部
202 内積値算出部
203 動作判定部

Claims (5)

  1. 3次元空間の加速度を検出する加速度センサと、
    前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
    前記重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、
    前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、
    所定の動作における前記内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、
    前記テンプレートを用いて、所定時間にわたって前記内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定する動作判定部と、
    を備える情報処理装置。
  2. 前記動作判定部は、前記テンプレートマッチングにおいて、前記所定時間にわたって前記内積値算出部により算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、請求項1に記載の情報処理装置。
  3. 前記動作判定部は、前記内積値算出部により算出された内積値を所定の時間間隔で時系列に記憶し、前記内積値算出部により算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、請求項2に記載の情報処理装置。
  4. 3次元空間の加速度を検出するステップと、
    前記加速度から重力成分ベクトルの信号を抽出するステップと、
    前記重力成分ベクトルの信号に時間遅延を付与するステップと、
    前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
    所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
    を有する情報処理方法。
  5. 3次元空間の加速度を検出するステップと、
    前記加速度から重力成分ベクトルの信号を抽出するステップと、
    前記重力成分ベクトルの信号に時間遅延を付与するステップと、
    前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
    所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
    をコンピュータに実行させるためのプログラム。
JP2013219661A 2013-10-22 2013-10-22 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP6131822B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013219661A JP6131822B2 (ja) 2013-10-22 2013-10-22 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013219661A JP6131822B2 (ja) 2013-10-22 2013-10-22 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015081834A JP2015081834A (ja) 2015-04-27
JP6131822B2 true JP6131822B2 (ja) 2017-05-24

Family

ID=53012505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013219661A Expired - Fee Related JP6131822B2 (ja) 2013-10-22 2013-10-22 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6131822B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4967368B2 (ja) * 2006-02-22 2012-07-04 ソニー株式会社 体動検出装置、体動検出方法および体動検出プログラム
JP5417970B2 (ja) * 2009-04-28 2014-02-19 富士通株式会社 歩数計及び歩数計数方法
JP2012063208A (ja) * 2010-09-15 2012-03-29 Fujitsu Ltd 状態判定装置および状態判定プログラム
US9436231B2 (en) * 2011-04-07 2016-09-06 Qualcomm Incorporated Rest detection using accelerometer
JP2012247991A (ja) * 2011-05-27 2012-12-13 Kddi Corp 類似度評価装置及び方法

Also Published As

Publication number Publication date
JP2015081834A (ja) 2015-04-27

Similar Documents

Publication Publication Date Title
JP5900655B2 (ja) 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム
EP2784631B1 (en) Method and wearable device to sense motion of user
US10337868B2 (en) Method and apparatus for recognizing motion feature of user, using orthogonal semisupervised non-negative matrix factorization (OSSNMF)-based feature data
JP5865997B2 (ja) モーションキャプチャのための近接センサーメッシュ
Zhang et al. WatchOut: extending interactions on a smartwatch with inertial sensing
CN106705989B (zh) 记步方法、设备及终端
EP3671119B1 (en) Attitude matrix calculating method and device
KR102697424B1 (ko) 대표 파형 제공 장치 및 방법
Park et al. MagTouch: Robust finger identification for a smartwatch using a magnet ring and a built-in magnetometer
US8547352B2 (en) Method, apparatus for sensing moved touch and computer readable record-medium on which program for executing method thereof
JP2018513722A5 (ja)
CN104238924A (zh) 一种控制可穿戴设备屏幕点亮的方法及装置
US20120179385A1 (en) Trajectory creating apparatus
EP2987060A1 (en) Id tracking of gesture touch geometry
JP6270557B2 (ja) 情報入出力装置及び情報入出力方法
JP2017136165A (ja) センサ情報処理装置、センサユニット、及び、センサ情報処理プログラム
WO2017039893A1 (en) System for sensor-based objective determination
CN104898942A (zh) 一种可穿戴设备的控制方法及装置
JP6131822B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20150153878A1 (en) Method of processing data by touch screen, storage medium, and electronic device
Kim et al. VibAware: Context-Aware Tap and Swipe Gestures Using Bio-Acoustic Sensing
JP6491920B2 (ja) 生体信号処理装置及び生体信号処理方法
KR101639351B1 (ko) 웨어러블 입력 시스템 및 모션 인식 방법
CN111580660B (zh) 一种操作触发方法、装置、设备及可读存储介质
JP2013195363A (ja) 移動状況判定プログラム及び移動状況判定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170403

R150 Certificate of patent or registration of utility model

Ref document number: 6131822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees