JP6131822B2 - Information processing apparatus, information processing method, and program - Google Patents
Information processing apparatus, information processing method, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Description
本件開示の発明は、加速度センサのセンサ出力に対する情報処理装置、情報処理方法及びプログラムに関する。 The present disclosure relates to an information processing apparatus, an information processing method, and a program for sensor output of an acceleration sensor.
近年普及している携帯電話端末等の情報処理装置には、その高機能化に伴い、さまざまなセンサが搭載されている。例えば、加速度センサを有する装置は、センサの出力値に基づいて、装置の現在の状態を判定する。 In recent years, information sensors such as mobile phone terminals have been equipped with various sensors as their functions have increased. For example, a device having an acceleration sensor determines the current state of the device based on the output value of the sensor.
特許文献1〜3では、加速度センサの出力値を利用して、情報処理装置を携帯するユーザの歩行状態を判定する方法等が提案されている。これらの文献では、加速度センサの出力値を用いて情報処理装置の上下方向(鉛直方向もしくは重力方向)の加速度情報を算出したり、2つの時系列データを比較して類似度を評価したりする。
しかし、情報処理装置を携帯するユーザの動作状態を判定するには、上下方向の加速度の大きさに加えて、左右方向の加速度の大きさや前後方向の加速度の大きさも検出されることが望ましい。 However, in order to determine the operating state of the user carrying the information processing apparatus, it is desirable to detect not only the vertical acceleration magnitude but also the horizontal acceleration magnitude and the longitudinal acceleration magnitude.
ところで、携帯電話端末等の情報処理装置には、ユーザの操作を処理したり通信を実行したりするためのメインマイコンと、加速度センサ等からの出力情報を処理するサブマイコンを備えるものがある。メインマイコンは、装置全体の制御の他、例えばゲームやブラウザ等のユーザが実行するアプリケーションも動作させるため高性能である。一般に、マイコンの性能と消費電力は比例関係にあると考えてよい。そして、情報処理装置において駆動時間(電池の持続時間)は重要な要素の1つである。情報処理装置における消費電力を抑えれば、情報処理装置の駆動時間を長くすることができる。そこで、メインマイコンはできるだけ休止状態にされる。そのため、通常は、メインマイコンで加速度センサの出力を長時間モニタリングしない構成が採用される。 Some information processing apparatuses such as mobile phone terminals include a main microcomputer for processing user operations and executing communication, and a sub-microcomputer for processing output information from an acceleration sensor or the like. The main microcomputer is high-performance because it controls not only the entire apparatus but also applications such as games and browsers that are executed by users. In general, it can be considered that the performance of the microcomputer and the power consumption are in a proportional relationship. In the information processing apparatus, driving time (battery duration) is one of important factors. If power consumption in the information processing apparatus is suppressed, the drive time of the information processing apparatus can be extended. Therefore, the main microcomputer is put into a sleep state as much as possible. For this reason, a configuration in which the output of the acceleration sensor is not monitored for a long time by the main microcomputer is usually employed.
そこで、情報処理装置のサブマイコンが使用される。一般に、サブマイコンの消費電力はメインマイコンの1/200〜1/1000程度である。すなわち、サブマイコンは長時間動作状態としても、電力浪費の観点からは支障がない。ただし、サブマイコンの性能は非力であり、整数の四則演算とメモリ操作といった単純な処理であれば実行できる。サブマイコンを用いてユーザの行動評価を行うためには、上記のような単純な演算に基づいて処理を行う。 Therefore, a sub-microcomputer of the information processing apparatus is used. In general, the power consumption of the sub-microcomputer is about 1/200 to 1/1000 of the main microcomputer. That is, even if the sub-microcomputer is operated for a long time, there is no problem from the viewpoint of power consumption. However, the performance of the sub-microcomputer is weak, and it can be executed if it is a simple process such as four arithmetic operations of integers and memory operations. In order to evaluate a user's behavior using a sub-microcomputer, processing is performed based on the simple calculation as described above.
例えば、加速度センサの座標系で出力された値を、上下左右前後のいわゆるグローバル座標系における値に変換する場合、回転行列を利用した演算を行うことでそのような変換を行うことができる。このような変換は座標変換と呼ばれ、通常は三角関数を用いて行う。しかし、上述のように、整数の四則演算とメモリ操作程度の処理が可能なサブマイコン
では、処理負荷の高い三角関数の演算等を行うことはできない。
For example, when a value output in the coordinate system of the acceleration sensor is converted into a value in a so-called global coordinate system in the vertical and horizontal directions, such conversion can be performed by performing an operation using a rotation matrix. Such conversion is called coordinate conversion, and is usually performed using a trigonometric function. However, as described above, a sub-microcomputer capable of processing four arithmetic operations with integers and a memory operation cannot perform trigonometric functions with a high processing load.
本件開示の技術は、上記に鑑みてなされたものであり、その目的とするところは、単純な演算処理により、情報処理装置を携帯するユーザの動作状態を判定することである。 The technology of the present disclosure has been made in view of the above, and an object thereof is to determine an operation state of a user carrying the information processing apparatus by simple arithmetic processing.
本件開示の情報処理装置は、1つの側面では、3次元空間の加速度を検出する加速度センサと、加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、ローパスフィルタにより抽出された重力成分ベクトルの信号と時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、所定の動作における内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、テンプレートを用いて、所定時間にわたって内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、所定の動作が発生したか否かを判定する動作判定部とを備える。 In one aspect, the information processing apparatus according to the present disclosure includes an acceleration sensor that detects acceleration in a three-dimensional space, a low-pass filter that extracts a gravity component vector signal from the sensor output of the acceleration sensor, and time for the gravity component vector signal. A time delay unit for adding a delay, an inner product value calculation unit for calculating an inner product value of the signal of the gravity component vector extracted by the low-pass filter and the signal of the gravity component vector given the time delay by the time delay unit, and a predetermined By performing template matching on the temporal change of the inner product value calculated by the inner product value calculation unit over a predetermined time using the template storage unit that stores in advance a template indicating the temporal change of the inner product value in the operation of An operation determining unit that determines whether or not a predetermined operation has occurred.
本件開示の技術によれば、単純な演算処理により、情報処理装置を携帯するユーザの動作状態を判定することができる。 According to the technique of the present disclosure, it is possible to determine the operation state of the user carrying the information processing apparatus by simple arithmetic processing.
以下、一実施形態における携帯電話端末及びその制御方法について、図面を参照しながら説明する。 Hereinafter, a mobile phone terminal and a control method thereof according to an embodiment will be described with reference to the drawings.
図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はユーザが携帯している。
As shown in FIG. 1, the
5, a
携帯電話端末10は、アンテナ101を経由して基地局等の外部の無線送受信装置(図示せず)と無線通信を行う。RF部102は、外部の無線送受信装置との送受信において、送信時にベースバンド信号を周波数帯(RF帯)に変調し、受信時にこれらの周波数帯の信号をベースバンド信号に復調する。
The
メインマイコン103は、ROM108に記憶された制御プログラム108aを実行して、携帯電話端末10が有する各種機能を実現する。サブマイコン104は、サブマイコン104に組み込まれている加速度センサ出力処理プログラム104aを実行して、加速度センサ110のセンサ出力を演算処理し、携帯電話端末10のユーザの座標系、すなわちグローバル座標系の加速度に変換する。さらに、サブマイコン104は、動作状態判定プログラム104bを実行して、携帯電話端末10のユーザの動作状態の判定結果を生成する。なお、本実施形態における種々の演算処理を1以上のサブマイコンを用いて実行する構成としてもよい。また、加速度センサ出力処理プログラム104a及び動作状態判定プログラム104bを1つのプログラムとして構成してもよい。
The
ボタン105は、ユーザが携帯電話端末10の操作に使用するハードウェアキーである。ディスプレイ106は、携帯電話端末10において実行される各種処理の結果等の種々の情報を表示する。また、ディスプレイ106は、メインマイコン103やサブマイコン104により実行される種々の処理の処理結果や処理状態、コンテンツ等を表示する。タッチパネル107は、ユーザのタッチ操作等を受け付ける。タッチパネル107はディスプレイ106と重なるように配置されている。ユーザは、タッチパネル107を指等でタッチ操作等することで、ディスプレイ106に表示されたアイコン等の表示項目の選択等を行う。
The
ROM108は、携帯電話端末10において実行される各種プログラムや後述する動作判定用のテンプレートのデータを格納する。ROM108が、テンプレート記憶部の一例である。RAM109は、メインマイコン103やサブマイコン104が種々の処理を実行する際に一時的な記憶領域として使用される。すなわち、RAM109はワークエリアとして用いられ、各種プログラムや端末番号等の携帯電話端末の固有情報が格納される。また、RAM109には、ユーザが入力した設定やプログラムの情報、ディスプレイ106等を介してユーザに提供されるデータ等が格納される。
The
メインマイコン103は、高速演算処理を実行することができるが、消費電力が大きい。したがって、長時間動作状態に保つことは好ましくないため、メインマイコン103の動作時間には一定の制限が課せられ、一時的に休止状態に移行される。ところで、ユーザ
の動作状態を判定する場合、ユーザの動作データを長時間にわたって取得し、取得した動作データに基づいて動作状態を判定する。
The
そこで、本実施形態では、サブマイコン104は、少なくともユーザの動作が発生している間は動作状態に保たれ、加速度センサ110のセンサ出力を受け取り、センサ出力を演算処理してグローバル座標系の加速度データを生成する。サブマイコン104は、四則演算等の単純な演算処理やROM108やRAM109等のメモリへのアクセス処理等の処理負荷が低い処理を実行する。しかし、サブマイコン104は、消費電力が小さいので、長時間にわたり、加速度センサ出力処理プログラム104aや動作状態判定プログラム104bを実行することができる。
Therefore, in the present embodiment, the sub-microcomputer 104 is kept in an operating state at least during a user's operation, receives the sensor output of the
したがって、メインマイコン103が動作状態となることは抑制され、サブマイコン104がユーザの動作状態の判定結果に基づいて、ユーザにわかりやすい値にセンサ出力を変換したり統計情報を作成したりして、生成した情報をディスプレイ106に表示する。なお、生成した情報は、アンテナ101を介して外部に送信してもよい。
Therefore, it is suppressed that the
本実施形態では、携帯電話端末10のROM108に記憶されているアプリケーション等が、サブマイコン104によって実行される。このようなアプリケーション等の実行により、図2に示すように、携帯電話端末10のサブマイコン104は、時間遅延部201、内積値算出部202、動作判定部203として機能する。ただし、時間遅延部201、内積値算出部202、動作判定部203のいずれか1つ以上が、ハードウェア回路であってもよい。
In the present embodiment, an application or the like stored in the
次に、本実施形態において、携帯電話端末10のサブマイコン104において実行される、ユーザが行った所定の動作を検知するための構成、アルゴリズム及び処理について説明する。図3に、本実施形態における、サブマイコン104の構成の一部とサブマイコン104が実行するアルゴリズムの概略を示す。図3に示すように、サブマイコン104は、ローパスフィルタ(LPF)104c、遅延回路104d、内積演算処理部104e、相関演算処理部104fを有する。なお、遅延回路104dが時間遅延部の一例である。また、内積演算処理部104eが、内積値算出部の一例である。さらに、相関演算処理部104fが、動作判定部の一例である。
Next, in the present embodiment, a configuration, algorithm, and processing for detecting a predetermined operation performed by the user, which is executed in the
本実施形態では、加速度センサ110のセンサ出力Aに対してLPF104cを通すことで重力方向ベクトルGが検出される。一方、LPF104cは遅延回路104dに接続されている。遅延回路104dは、入力される信号を所定時間後に出力するので、遅延回路104dから過去の重力方向ベクトルG’が出力される。そして、内積演算処理部104eは、LPF104cにより検出された重力方向ベクトルGと遅延回路104dから出力された重力方向ベクトルG’との内積を演算する。内積演算処理部104eの演算により得られた内積値pは、相関演算処理部104fに送られる。相関演算処理部104fは、ROM108に格納されたテンプレートを用いて、内積演算処理部104eから出力された内積値pに対する相関演算を行ってユーザの動作判定を行う。
In the present embodiment, the gravity direction vector G is detected by passing the
ここで、加速度センサ110のセンサ出力Aを、携帯電話端末10を携帯するユーザの座標系、すなわちいわゆるグローバル座標系における加速度に変換する処理について、本実施形態の利点を説明する。
Here, the advantage of the present embodiment will be described regarding the process of converting the sensor output A of the
図4A及び図4Bは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下方向(鉛直方向)の加速度情報を取り出す方法の一例を示す図である。ここでは、ユーザが歩行中である場合を想定している。図4Aに示すように、互いに直交するX軸、Y軸、Z軸が携帯電話端末のローカル座標
系を構成する。図4Aにおいて、加速度センサのセンサ出力AはA=(x,y,z)Tで与えられる。なお、Tは転置行列を意味する。そして、図4Aに示すように、加速度センサのセンサ出力Aは、ユーザの歩行に伴う振動Sと重力加速度Gの合成と考えることができる。
4A and 4B show an example of a method for extracting vertical (vertical) acceleration information in the user's coordinate system from the sensor output of the acceleration sensor when the posture of the user carrying the mobile phone terminal is unknown. FIG. Here, it is assumed that the user is walking. As shown in FIG. 4A, the X axis, the Y axis, and the Z axis orthogonal to each other constitute a local coordinate system of the mobile phone terminal. In FIG. 4A, the sensor output A of the acceleration sensor is given by A = (x, y, z) T. T means a transposed matrix. As shown in FIG. 4A, the sensor output A of the acceleration sensor can be considered as a combination of vibration S and gravity acceleration G accompanying the user's walking.
ここで、人間の歩行について概説する。図5A及び図5Bは、人間の歩行における体幹と両足の動きを模式的に表す図である。図5Aは、人間の歩行を真上(鉛直上方)から見た図であり、図5Bは、人間の歩行を真横(水平方向)から見た図である。体幹20は、人間の股関節から頭部までの部分に対応し、脚20L、20Rはそれぞれ左脚と右脚に対応する。図5A及び図5Bに示すように、人間は、歩行中、左右の脚20L、20Rが交互に地面に着き、体幹20は上下、左右、前後の各方向にそれぞれ揺れる。また、図5A及び図5Bに示すように、体幹20の上下動の周期は、左右の脚20L、20Rの一方が地面から離れて再び着き、さらに他方が地面から離れて再び着くまでの期間と一致する。一方、体幹20の左右の揺れについては、左脚20Lが地面に着いている間は人間の左方向に揺れ、右脚20Rが地面に着いている間は人間の右方向に揺れる。したがって、人間の歩行時における体幹20の左右の揺れの周期は、上下動の周期の2倍の周期、すなわち1/2の周波数である。
Here, we outline human walking. 5A and 5B are diagrams schematically illustrating the movement of the trunk and both feet in human walking. FIG. 5A is a diagram of a human walking viewed from directly above (vertically upward), and FIG. 5B is a diagram of a human walking viewed from right side (horizontal direction). The
また、人間は、歩行中、左脚20Lまたは右脚20Rを地面に着地させる瞬間が最も下方向の加速度が大きくなる。そして、左脚20Lまたは右脚20Rの着地後、体幹20を上昇させる時に上方向の加速度が発生し、体幹20が到達する最上点で当該上方向の加速度が最小になり、以後は代わりに下方向の加速度が発生する。また、左右方向の加速度については、左脚20Lを着地させると左方向の加速度が発生し、右脚20Rを着地させると右方向の加速度が発生する。
In addition, when a human is walking, the moment of landing the
図4A及び図4Bに戻ると、図5A及び図5Bを用いて説明したように、ユーザの歩行に伴う振動Sは、所定の周期の繰り返し運動であると言える。したがって、加速度センサのセンサ出力Aを、適切なカットオフ周波数のLPFやハイパスフィルタ(HPF)に通すと、センサ出力Aを振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルとに分離することができる。歩行に伴う上下方向の加速度は、振動Sの振動成分ベクトルにおける重力加速度Gの重力成分ベクトルと平行なベクトルVで表せる。ベクトルVの大きさをvとし、振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルのなす角をθとすると、vは以下の式で与えられる。
v = |S| cosθ ・・・(1)
Returning to FIGS. 4A and 4B, as described with reference to FIGS. 5A and 5B, it can be said that the vibration S accompanying the walking of the user is a repetitive motion with a predetermined cycle. Therefore, when the sensor output A of the acceleration sensor is passed through an LPF or high-pass filter (HPF) having an appropriate cutoff frequency, the sensor output A is separated into a vibration component vector of vibration S and a gravity component vector of gravitational acceleration G. Can do. The vertical acceleration associated with walking can be expressed by a vector V parallel to the gravity component vector of the gravitational acceleration G in the vibration component vector of the vibration S. When the magnitude of the vector V is v and the angle between the vibration component vector of the vibration S and the gravity component vector of the gravitational acceleration G is θ, v is given by the following equation.
v = | S | cosθ (1)
ここで振動Sと重力加速度Gの内積について考える。内積は、ベクトルのx、y、z成分同士を乗算した後に、乗算した各成分の和を求めることで得られる。なお、振動Sの振動成分ベクトルと重力加速度Gの重力成分ベクトルの内積は、定義より以下の式で与えられる。
S + G = |S| |G| cosθ ・・・(2)
Consider the inner product of vibration S and gravitational acceleration G. The inner product is obtained by multiplying the x, y, and z components of the vector and then calculating the sum of the multiplied components. Note that the inner product of the vibration component vector of the vibration S and the gravity component vector of the gravitational acceleration G is given by the following expression from the definition.
S + G = | S | | G | cosθ (2)
式(2)を式(1)に当てはめると、以下の式(3)が得られる。
v = S ・ G / |G| ・・・(3)
When equation (2) is applied to equation (1), the following equation (3) is obtained.
v = S · G / | G | (3)
ここで重力加速度Gの大きさ|G|は、地球上ではほぼ一定である。すなわち、加速度センサのセンサ出力Aに対して、LPFとHPFを通し、各フィルタの出力の内積を取ることでユーザの歩行運動に伴う上方向の加速度に比例した数値と下方向の加速度に比例した数値とを得ることができる。なお、上記では、ユーザが歩行中であることを想定して説明した。しかし、ユーザが歩行以外の動作を行う場合も、上記のアルゴリズムを踏まえて、加速度センサのセンサ出力Aに対して、LPFとHPFを通すことで、振動成分ベクト
ルと重力成分ベクトルがそれぞれ得られる。
Here, the magnitude | G | of the gravitational acceleration G is substantially constant on the earth. In other words, the sensor output A of the acceleration sensor is passed through LPF and HPF, and the inner product of the output of each filter is taken to obtain a value proportional to the acceleration in the upward direction accompanying the user's walking motion and proportional to the acceleration in the downward direction You can get a numerical value. In the above description, it is assumed that the user is walking. However, even when the user performs an operation other than walking, based on the above algorithm, the vibration component vector and the gravity component vector can be obtained by passing the LPF and HPF through the sensor output A of the acceleration sensor.
ところで、上記の方法では、加速度センサのセンサ出力をHPFに通すことで、振動Sの振動成分ベクトルを算出する。ところが、人間の動作には、例えばお辞儀をしたり体を横にしたりするなど、体幹の回転運動が伴う動作が含まれる。このような動作においては、体幹の運動とともに加速度センサから見た重力方向の向きも大きく変化する。また、仮に、このような動作が発生した際に端末の位置が体幹の回転運動の回転中心にあると、端末の位置は回転中心から変化しないため、加速度センサでは回転運動に伴う振動成分を検出できない。 By the way, in the above method, the vibration component vector of the vibration S is calculated by passing the sensor output of the acceleration sensor through the HPF. However, human motion includes motion accompanied by rotational motion of the trunk, such as bowing or lying down. In such an operation, the direction of the gravitational direction viewed from the acceleration sensor greatly changes with the movement of the trunk. In addition, if the terminal position is at the rotational center of the rotational movement of the trunk when such an operation occurs, the position of the terminal does not change from the rotational center. It cannot be detected.
一方、このような動作に伴う回転運動を検出するために、端末に角速度センサを設け、角速度センサの出力を適当な座標変換を用いて、グローバル座標系における回転情報を取得する構成が考えられる。しかし、角速度センサは、コリオリ力を検出するために、内部で微細な動きを発生させているため、一般に加速度センサよりも大きな電力を必要とする。したがって、端末の消費電力の観点から言えば、ユーザの運動の解析に角速度センサを採用することは好ましくない。そこで、本実施形態では、以下に説明する構成を用いて、加速度センサのセンサ出力からユーザの各種動作を判定するために必要な回転運動の量を抽出する。これにより、本実施形態では、三角関数等の複雑な演算を用いず、四則演算を用いた単純な演算を行うことでユーザの動作判定を行うことができるため、演算に伴う消費電力を抑えることができる。 On the other hand, in order to detect the rotational motion associated with such an operation, a configuration in which an angular velocity sensor is provided in the terminal and rotation information in the global coordinate system is acquired using an appropriate coordinate transformation for the output of the angular velocity sensor is conceivable. However, since the angular velocity sensor generates a fine movement internally in order to detect the Coriolis force, it generally requires a larger electric power than the acceleration sensor. Therefore, from the viewpoint of the power consumption of the terminal, it is not preferable to employ the angular velocity sensor for analyzing the user's movement. Therefore, in the present embodiment, the amount of rotational motion necessary for determining various user operations is extracted from the sensor output of the acceleration sensor using the configuration described below. As a result, in this embodiment, the user's motion determination can be performed by performing a simple operation using four arithmetic operations without using a complicated operation such as a trigonometric function, thereby reducing power consumption associated with the operation. Can do.
図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の演算処理を行う。
6A and 6B show a configuration example of the
図6Bに示すように、LPF104cでは、値Xが入力された場合、当該入力が初回であるときに、S101〜S107を経て、各バッファが保持する値をXとし、その合計値が算出されて、合計値を1/n倍する処理が実行される。図中、S101〜S113において、「index」は、各バッファに設定されたインデックスを示す。また、「buf[index]」は、「index」の値が示すインデックスを有するバッファが保持する入力値を示す。図中、その他の記号は、いわゆるC言語の規則に従う。なお、以下の他のフローチャートの説明でも同様である。値Xの入力が初回でない場合は、S108〜S113がクロック単位で繰り返し実行されることで、当該入力以降に順次入力される値を用いた平均化処理が実行される。除算器104hの出力は、遅延回路104dに送られる。
As shown in FIG. 6B, in the
次に、図7A及び図7Bに、本実施形態における遅延回路104dの構成例及び遅延回路104dにおいて実行される処理を示す。図7Aに示すように、遅延回路104dはm個のバッファBF0〜BFm−1を有する。バッファの数は、遅延回路104dによる重力方向ベクトルGの遅延時間に応じて適宜決定される。図7Aに示すように、本実施形態では、m個のバッファが連結されている。
Next, FIG. 7A and FIG. 7B show a configuration example of the
図7Bに示すように、遅延回路104dでは、値Xが入力された場合、当該入力が初回であるときに、S201〜S206により各バッファが保持する値を0とする初期化が行われる。値Xの入力が初回でない場合は、クロックCLK単位でS207〜S211が繰り返し実行されることで、入力値Xは、インデックス0を有するバッファBF0から、後段のバッファBF1〜BFm−1に順次渡されていく。また、インデックスM−1を有するバッファBFm−1から出力された値は、内積演算処理部104eに送られる。本実施形態では、バッファBFm−1から出力される値が過去の重力方向ベクトルG’である。
As shown in FIG. 7B, in the
図3に示すように、内積演算処理部104eには、LPF104cから出力される重力方向ベクトルGと遅延回路104dから出力される過去の重力方向ベクトルG’が入力される。内積演算処理部104eは、以下の式(4)によりベクトルGとベクトルG’の内積値pを求める。
p = G ・ G’ = |G| |G’| cosθ ・・・(4)
ここで、ベクトルGとベクトルG’とのなす角をθとする。内積演算処理部104eから出力される内積値pは、相関演算処理部104fに送られる。
As shown in FIG. 3, the inner product
p = G ・ G '= | G | | G' | cosθ (4)
Here, the angle between the vector G and the vector G ′ is θ. The inner product value p output from the inner product
ところで、一例として人間の歩行時について、いわゆるピッチ軸、ロール軸、ヨー軸を設定して考えると、股関節はピッチ方向には大きく回転し、ロール方向の回転は、ピッチ方向の回転に比べて小さい。すなわち、加速度センサ110のセンサ出力からユーザの歩行を含む種々の動作状態を判定するにあたって、ピッチ軸まわりの回転を計算することができなくても、水平面に平行な軸周りの回転が計算できれば、この回転をほぼピッチ軸周りの回転とみなすことができる。
By the way, when a person walks as an example, when the so-called pitch axis, roll axis, and yaw axis are set, the hip joint rotates greatly in the pitch direction, and the rotation in the roll direction is smaller than the rotation in the pitch direction. . That is, in determining various motion states including the user's walking from the sensor output of the
そして、ベクトルGとベクトルG’も重力ベクトルであるため、その大きさはほぼ重力加速度である。これよりGとG’の内積は、これら2つのベクトルのなす角の余弦を定数(重力加速度の二乗)倍したものであると考えてよい。さらに、余弦は0°から180°に至るまでは単調減少を示す。すなわち、逆関数を用いて式(4)を角度θの式に変換しなくても、以下に示すように、余弦の値自体を動作判定処理に用いることができる。したがって、本実施形態では、角速度センサを用いて三角関数等の演算を行うことなく、ユーザの動作判定を行うことができる。 Since the vector G and the vector G ′ are also gravity vectors, the magnitude thereof is almost the gravitational acceleration. From this, the inner product of G and G ′ may be considered to be a constant (square of gravity acceleration) times the cosine of the angle formed by these two vectors. Further, the cosine decreases monotonically from 0 ° to 180 °. In other words, the cosine value itself can be used for the operation determination process without converting the expression (4) into an angle θ expression using an inverse function, as shown below. Therefore, in this embodiment, it is possible to determine the user's motion without performing an arithmetic operation such as a trigonometric function using the angular velocity sensor.
図8に、本実施形態における相関演算処理部104fの構成の一部を示す。図8に示すように相関演算処理部104fは、複数のテンプレートデータ格納部104i、104j、104kを有する。テンプレートデータ格納部104i、104j、104kには、後述する動作判定用のテンプレートの値欄に格納された値が入力される。テンプレートデータ格納部104i、104j、104kに格納された値は、それぞれ異なる減算器104l、104m、104nに入力される。なお、図8にはテンプレートデータ格納部と減算器をそれぞれ3つ示すが、テンプレートデータ格納部と減算器の数は、後述する動作判定用のテンプレートのインデックス数に合わせて適宜変更することができる。
FIG. 8 shows a part of the configuration of the correlation
相関演算処理部104fは、k個のバッファBF0〜BFk−1を有する。内積演算処理部104eから出力される内積値p(図中「入力X」)は、バッファBF0に格納され、次の内積値が相関演算処理部104fに入力されると、バッファBF0に格納されている値は、後段のバッファBF1に渡される。このように、内積値が相関演算処理部104fに入力される度に、各バッファに格納されている値は後段のバッファに順次渡される。なお、バッファBFk−1に格納された値は、次にバッファBFk−1に入力される値で更新される。
The correlation
図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であるバッファに戻って格納される。
An example of the operation determination process of the correlation
An example of the inner product value p stored in k−1 is shown. The inner product value p output from the inner product
図10に、動作判定用のテンプレートのデータ構造例を示す。図10において、「サンプリング用インデックス」及び「時間(t)」の各値は、後述するように、バッファから値を取得する減算器を指定するために用いられる。また、「値(d)」は、テンプレートデータ格納部に格納される値である。「サンプリング用インデックス」、「時間(t)」、「値(d)」の各値は組み合わせて使用される。すなわち、「サンプリング用インデックス」及び「時間(t)」により指定された減算器に対して、「値(d)」の値が入力される。具体例は、後述のフローチャートを説明する際に示す。 FIG. 10 shows an example of the data structure of the operation determination template. In FIG. 10, each value of “sampling index” and “time (t)” is used to designate a subtractor that obtains a value from a buffer, as will be described later. The “value (d)” is a value stored in the template data storage unit. The values “sampling index”, “time (t)”, and “value (d)” are used in combination. That is, the value of “value (d)” is input to the subtracter specified by “sampling index” and “time (t)”. A specific example will be shown when explaining a flowchart described later.
図11は、本実施形態における相関演算処理部104fにおいて実行される動作判定処理のフローチャートを示す。相関演算処理部104fでは、値Xが入力された場合、当該入力が初回であるときに、S301〜S306により各バッファが保持する値を0とする初期化が行われる。値Xの入力が初回でない場合は、クロックCLK単位でS307〜S316が繰り返し実行されることで、動作判定用のテンプレートとの一致度が算出される。
FIG. 11 is a flowchart of the operation determination process executed in the correlation
ここで、動作判定用のテンプレートとの一致度とは、過去の所定の時間範囲において相関演算処理部104fに入力された内積値pの変化と動作判定用のテンプレートが示す値の変化との一致の度合い示す指標である。ここで、過去の所定の時間範囲は、使用する動作判定用のテンプレートにおいて値が変化する時間範囲によって決まる。
Here, the degree of coincidence with the action determination template is the coincidence between the change of the inner product value p input to the correlation
S307では、現在指定されているインデックスに対応するバッファに値Xが格納される。ここで、現在指定されているインデックスとは、値Xの入力が初回である場合、すなわちいずれのバッファにも値が格納されていない場合、S301〜S306によって各バッファの値が初期化されて「index=0」の処理が実行されるため、index0である。また、値Xの入力が初回でない場合、すなわち既にバッファに値が格納されている場合、現在指定されているインデックスとは、S314によってインクリメントされたインデックスである。次いで、処理はS308に進む。 In S307, the value X is stored in the buffer corresponding to the currently designated index. Here, the currently designated index means that when the value X is input for the first time, that is, when no value is stored in any of the buffers, the values of the respective buffers are initialized by S301 to S306. Since the process of “index = 0” is executed, it is index0. When the value X is not input for the first time, that is, when the value is already stored in the buffer, the currently designated index is the index incremented in S314. Next, the process proceeds to S308.
S308及びS309では、一致度CORの値と変数jの値がそれぞれ0とされる。ここで、変数jは、図10のサンプリング用インデックスの値である。次いで、処理はS310に進む。S310〜S313では、動作判定用のテンプレートのサンプリング用インデックスの値によって定まる時間に入力されたバッファの値と、動作判定用のテンプレートの値との絶対値の差分を順次算出する。まず、S311では、現在のindexの値により特定されるバッファを起点として、サンプリング用インデックスの値と組になっている時間(t)だけ遡った時間に入力されたバッファの位置(i)が決まる。S311に示す式によりiの値が算出されたら、処理はS312に進む。S312では、動作判定用のテンプレートにおいてサンプリング用インデックスの値と組になっている値(d)と、S311によって決まる位置のバッファが有する値との差分を一致度CORとして積算する。 In S308 and S309, the value of the matching degree COR and the value of the variable j are each set to 0. Here, the variable j is the value of the sampling index in FIG. Next, the process proceeds to S310. In S310 to S313, the difference between the absolute values of the buffer value input at the time determined by the value of the sampling index of the motion determination template and the value of the motion determination template is sequentially calculated. First, in S311, the position (i) of the input buffer is determined at a time traced back by the time (t) paired with the sampling index value, starting from the buffer specified by the current index value. . If the value of i is calculated by the formula shown in S311, the process proceeds to S312. In S312, the difference between the value (d) paired with the value of the sampling index in the operation determination template and the value of the buffer at the position determined by S311 is integrated as the matching degree COR.
本実施形態では、図10に示すように、動作判定用のテンプレートは、0〜M−1のM個のサンプリング用インデックスを有する。したがって、S310〜S313の処理がM
回繰り返された後、処理はS314に進む。S314〜S316では、相関演算処理部104fに入力された内積値pが右端のバッファ(インデックスはK−1。図9参照)に格納された場合、次に入力される内積値pが、左端のバッファ(インデックスは0。図9参照)に格納されるようにindexの値を変更する。
In the present embodiment, as shown in FIG. 10, the operation determination template has M sampling indexes of 0 to M−1. Therefore, the processing of S310 to S313 is M.
After being repeated a number of times, the process proceeds to S314. In S314 to S316, when the inner product value p input to the correlation
一例として、図9及び図10に示す場合において、インデックスがindex4であるバッファに格納された値「5」が最新の内積pの入力値であるとする。この場合、S310〜S313の処理により、最初に、動作判定用のテンプレートにおけるサンプリング用インデックスの値と時間(t)と値(d)の組「0、0、0」を用いて一致度が算出される。時間(t)の値は「0」であるため、S311により決まるバッファは、インデックスがindex4のバッファである。さらに、値(d)の値は0であるため、S312により算出される一致度CORはCOR=|0−0|=0である。 As an example, in the case shown in FIGS. 9 and 10, it is assumed that the value “5” stored in the buffer whose index is index4 is the input value of the latest inner product p. In this case, by the processing of S310 to S313, first, the degree of coincidence is calculated by using the sampling index value and the set of time (t) and value (d) “0, 0, 0” in the operation determination template. Is done. Since the value of time (t) is “0”, the buffer determined by S311 is a buffer whose index is index4. Further, since the value (d) is 0, the matching degree COR calculated in S312 is 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のセンサ出力から算出される内積値の時間変化が、動作判定用のテンプレートが示す内積値の時間変化に近づく。
Next, through S313 and S310, when j is incremented by 1 and S311 and S312 are executed again, the set “1, 3, 10” of the sampling index value, time (t) and value (d) is set. Using this, the degree of coincidence is calculated. The buffer whose time (t) value is determined by “3” S311 is a buffer whose index is index1. Further, since the value (d) is “10”, the matching degree COR calculated in S312 is 0 as described above, so that COR = 0 + | 5−10 | = 5 It is. In this way, the degree of coincidence COR is integrated using the values of the sampling index and the values of each set of time (t) and value (d). Thus, as the degree of coincidence COR decreases, the time change of the inner product value calculated from the sensor output of the
図12は、本実施形態における上記の一致度を算出する処理を模式的に示す図である。図12に示すように、判定対象の動作について所定の時間範囲における内積値の変化が曲線Cで与えられるとする。そして、曲線Cにおいて、時間軸上のK個のサンプリング位置を定める。サンプリング位置に対して現在の時間から近い順にサンプリング用インデックスの値を0から順次割り当てる。また、各サンプリング位置における現在の時間との時間差を「時間(t)」とし、曲線Cの取る内積値を「値(d)」とする。これら、サンプリング用インデックスの値と「時間(t)」の値と「値(d)」の値の組をまとめることで動作判定用のテンプレートが作成される。そして、上記のフローチャートの処理を実行することで、現在から過去に遡って、動作判定用のテンプレートの示す内積値と実際に相関演算処理部104fに入力される値との差分を算出することで、これらの値の相関関係を示す一致度CORが算出される。
FIG. 12 is a diagram schematically showing the process of calculating the degree of coincidence in the present embodiment. As shown in FIG. 12, it is assumed that a change in the inner product value in a predetermined time range is given by a curve C for the operation to be determined. Then, in curve C, K sampling positions on the time axis are determined. The sampling index values are sequentially assigned from 0 in order of increasing proximity to the sampling position from the current time. Also, the time difference from the current time at each sampling position is “time (t)”, and the inner product value taken by the curve C is “value (d)”. A template for determining an operation is created by combining a set of the value of the sampling index, the value of “time (t)”, and the value of “value (d)”. Then, by executing the processing of the above flowchart, the difference between the inner product value indicated by the operation determination template and the value actually input to the correlation
図13に、本実施形態において、相関演算処理部104fにより実行される動作判定処理のフローチャートを示す。本フローチャートは、図11に示すフローチャートによりS315又はS316を経て一致度CORの積算が完了する度に開始される。図13に示すように、S401では、図11に示すフローチャートにより積算された一致度CORの値が所定の閾値Th以下であるか否かが判定される。本実施形態で使用される動作判定用のテンプレートは、一例として携帯電話端末10を携帯するユーザが腰を屈めたか否かを判定するためのテンプレートである。したがって、一致度CORの値が所定の閾値Th以下である場合(S401:Y)、ユーザは腰を屈めたと判定される。また、一致度CORの値が所定の閾値Thを超える場合(S401:N)、ユーザは腰を屈める動作を行っていないと判定される。
FIG. 13 shows a flowchart of the operation determination process executed by the correlation
図13に示すフローチャートによる判定処理の結果は、携帯電話端末10のRAM109に記憶したり、ディスプレイ106に表示したり、RF部102及びアンテナ101により外部の装置に送信したりすることができる。
The result of the determination process according to the flowchart shown in FIG. 13 can be stored in the
以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記では、ユーザが腰を屈めたか否かを判定する1つのテンプレートを動作判定用のテンプレートとして使用しているが、テンプレートの数や種類はこれに限定されるものではない。例えば、ユーザの性別や体格等により腰を屈める動作には個体差がある。すなわち、腰を屈めたか否かを判定する複数のテンプレートをROM108等に記憶しておき、テンプレートごとに上記の処理を繰り返すことで、複数パターンの腰の屈め方を判定可能な構成とすることができる。さらに、腰を屈めたか否かを判定するテンプレートだけでなく、座ったり、お辞儀をしたり、ジャンプしたり等、さまざまな動作を判定するテンプレートを動作別にROM108等に記憶することもできる。これにより、携帯電話端末10を携帯するユーザのさまざまな動作を判定可能な構成とすることができる。
The above is the description regarding the present embodiment, but the configuration and processing of the information processing apparatus are not limited to the above-described embodiment, and may be variously within a range that does not lose the technical idea of the present invention. Can be changed. For example, in the above description, one template for determining whether or not the user has bent down is used as a template for motion determination, but the number and types of templates are not limited to this. For example, there are individual differences in the behavior of bending the waist depending on the gender and physique of the user. In other words, a plurality of templates for determining whether or not the hips are bent are stored in the
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。ここで、設定とは、例えばボタン機能の割付等を意味する。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、携帯電話端末等である。
<Computer-readable recording medium>
A management tool for setting the information processing apparatus in a computer or other machine or device (hereinafter referred to as a computer or the like), a program for realizing an OS or the like can be recorded on a computer-readable recording medium. Here, the setting means, for example, assignment of button functions. The function can be provided by causing a computer or the like to read and execute the program of the recording medium. Here, the computer is, for example, a mobile phone terminal.
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。 Here, a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like. Say. Examples of such a recording medium that can be removed from a computer or the like include a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a Blu-ray disk, a DAT, an 8 mm tape, a flash memory, and the like. There are cards. Moreover, there are a hard disk, a ROM, and the like as a recording medium fixed to a computer or the like.
以上の実施形態に関し、さらに以下の付記を開示する。 Regarding the above embodiment, the following additional notes are disclosed.
(付記1)
3次元空間の加速度を検出する加速度センサと、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
前記重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、
所定の動作における前記内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、
前記テンプレートを用いて、所定時間にわたって前記内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定する動作判定部と、
を備える情報処理装置。
(Appendix 1)
An acceleration sensor for detecting acceleration in a three-dimensional space;
A low-pass filter for extracting a gravity component vector signal from the sensor output of the acceleration sensor;
A time delay unit for adding a time delay to the signal of the gravity component vector;
An inner product value calculation unit for calculating an inner product value of the signal of the gravity component vector extracted by the low-pass filter and the signal of the gravity component vector given a time delay by the time delay unit;
A template storage unit that stores in advance a template indicating a temporal change of the inner product value in a predetermined operation;
An operation determination unit that determines whether or not the predetermined operation has occurred by performing template matching on a temporal change of the inner product value calculated by the inner product value calculation unit over a predetermined time using the template; ,
An information processing apparatus comprising:
(付記2)
前記動作判定部は、前記テンプレートマッチングにおいて、前記所定時間にわたって前記内積値算出部により算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の
動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記1に記載の情報処理装置。
(Appendix 2)
In the template matching, the motion determination unit calculates, as the degree of coincidence, a value obtained by integrating the difference between the inner product value calculated by the inner product value calculation unit and the inner product value indicated by the template over the predetermined time.
(付記3)
前記動作判定部は、前記内積値算出部により算出された内積値を所定の時間間隔で時系列に記憶し、前記内積値算出部により算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記2に記載の情報処理装置。
(Appendix 3)
The motion determination unit stores the inner product value calculated by the inner product value calculation unit in a time series at predetermined time intervals, and newly stores the inner product value calculated by the inner product value calculation unit. The information processing apparatus according to
(付記4)
3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
を有する情報処理方法。
(Appendix 4)
Detecting acceleration in a three-dimensional space;
Extracting a gravity component vector signal from the acceleration;
Providing a time delay to the signal of the gravity component vector;
Calculating an inner product value of the extracted gravity component vector signal and the time delay-added gravity component vector signal;
It is determined whether or not the predetermined operation has occurred by performing template matching on the temporal change of the calculated inner product value over a predetermined time using a template indicating the temporal change of the inner product value in a predetermined operation. A determining step;
An information processing method comprising:
(付記5)
前記所定の動作が発生したか否かを判定するステップは、前記テンプレートマッチングにおいて、前記所定時間にわたって前記算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記4に記載の情報処理方法。
(Appendix 5)
In the template matching, the step of determining whether or not the predetermined operation has occurred is calculated as a degree of coincidence by integrating a difference between the calculated inner product value and the inner product value indicated by the template over the predetermined time. If the calculated degree of coincidence is less than a predetermined threshold, it is determined that the predetermined action has occurred. If the calculated degree of coincidence is equal to or greater than the predetermined threshold, it is determined that the predetermined action has not occurred. The information processing method according to
(付記6)
前記所定の動作が発生したか否かを判定するステップは、前記算出された内積値を所定の時間間隔で時系列に記憶し、前記算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記5に記載の情報処理装置。
(Appendix 6)
The step of determining whether or not the predetermined operation has occurred stores the calculated inner product value in a time series at predetermined time intervals, and newly stores the calculated inner product value when the calculated inner product value is newly stored. The information processing apparatus according to
(付記7)
3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
をコンピュータに実行させるためのプログラム。
(Appendix 7)
Detecting acceleration in a three-dimensional space;
Extracting a gravity component vector signal from the acceleration;
Providing a time delay to the signal of the gravity component vector;
Calculating an inner product value of the extracted gravity component vector signal and the time delay-added gravity component vector signal;
It is determined whether or not the predetermined operation has occurred by performing template matching on the temporal change of the calculated inner product value over a predetermined time using a template indicating the temporal change of the inner product value in a predetermined operation. A determining step;
A program that causes a computer to execute.
(付記8)
前記所定の動作が発生したか否かを判定するステップは、前記テンプレートマッチングにおいて、前記所定時間にわたって前記算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、付記7に記載のプログラム。
(Appendix 8)
In the template matching, the step of determining whether or not the predetermined operation has occurred is calculated as a degree of coincidence by integrating a difference between the calculated inner product value and the inner product value indicated by the template over the predetermined time. If the calculated degree of coincidence is less than a predetermined threshold, it is determined that the predetermined action has occurred. If the calculated degree of coincidence is equal to or greater than the predetermined threshold, it is determined that the predetermined action has not occurred. The program according to
(付記9)
前記所定の動作が発生したか否かを判定するステップは、前記算出された内積値を所定の時間間隔で時系列に記憶し、前記算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、付記8に記載のプログラム。
(Appendix 9)
The step of determining whether or not the predetermined operation has occurred stores the calculated inner product value in a time series at predetermined time intervals, and newly stores the calculated inner product value when the calculated inner product value is newly stored. The program according to appendix 8, wherein the degree of coincidence is calculated with respect to a temporal change in the inner product value including the inner product value stored in the item 8.
104 サブマイコン
104a 加速度センサ出力処理プログラム
104b 動作状態判定プログラム
104c LPF
104d 遅延回路
104e 内積演算処理部
104f 相関演算処理部
104g、104o 加算器
104h 除算器
104i〜104k テンプレートデータ格納部
104l〜104n 減算器
108 ROM
109 RAM
110 加速度センサ
201 時間遅延部
202 内積値算出部
203 動作判定部
104
109 RAM
DESCRIPTION OF
Claims (5)
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
前記重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、
所定の動作における前記内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、
前記テンプレートを用いて、所定時間にわたって前記内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定する動作判定部と、
を備える情報処理装置。 An acceleration sensor for detecting acceleration in a three-dimensional space;
A low-pass filter for extracting a gravity component vector signal from the sensor output of the acceleration sensor;
A time delay unit for adding a time delay to the signal of the gravity component vector;
An inner product value calculation unit for calculating an inner product value of the signal of the gravity component vector extracted by the low-pass filter and the signal of the gravity component vector given a time delay by the time delay unit;
A template storage unit that stores in advance a template indicating a temporal change of the inner product value in a predetermined operation;
An operation determination unit that determines whether or not the predetermined operation has occurred by performing template matching on a temporal change of the inner product value calculated by the inner product value calculation unit over a predetermined time using the template; ,
An information processing apparatus comprising:
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
を有する情報処理方法。 Detecting acceleration in a three-dimensional space;
Extracting a gravity component vector signal from the acceleration;
Providing a time delay to the signal of the gravity component vector;
Calculating an inner product value of the extracted gravity component vector signal and the time delay-added gravity component vector signal;
It is determined whether or not the predetermined operation has occurred by performing template matching on the temporal change of the calculated inner product value over a predetermined time using a template indicating the temporal change of the inner product value in a predetermined operation. A determining step;
An information processing method comprising:
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
をコンピュータに実行させるためのプログラム。 Detecting acceleration in a three-dimensional space;
Extracting a gravity component vector signal from the acceleration;
Providing a time delay to the signal of the gravity component vector;
Calculating an inner product value of the extracted gravity component vector signal and the time delay-added gravity component vector signal;
It is determined whether or not the predetermined operation has occurred by performing template matching on the temporal change of the calculated inner product value over a predetermined time using a template indicating the temporal change of the inner product value in a predetermined operation. A determining step;
A program that causes a computer to execute.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013219661A JP6131822B2 (en) | 2013-10-22 | 2013-10-22 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013219661A JP6131822B2 (en) | 2013-10-22 | 2013-10-22 | Information processing apparatus, information processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015081834A JP2015081834A (en) | 2015-04-27 |
| JP6131822B2 true JP6131822B2 (en) | 2017-05-24 |
Family
ID=53012505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013219661A Expired - Fee Related JP6131822B2 (en) | 2013-10-22 | 2013-10-22 | Information processing apparatus, information processing method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6131822B2 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4967368B2 (en) * | 2006-02-22 | 2012-07-04 | ソニー株式会社 | Body motion detection device, body motion detection method, and body motion detection program |
| JP5417970B2 (en) * | 2009-04-28 | 2014-02-19 | 富士通株式会社 | Pedometer and step counting method |
| JP2012063208A (en) * | 2010-09-15 | 2012-03-29 | Fujitsu Ltd | State determination device and state determination program |
| US9436231B2 (en) * | 2011-04-07 | 2016-09-06 | Qualcomm Incorporated | Rest detection using accelerometer |
| JP2012247991A (en) * | 2011-05-27 | 2012-12-13 | Kddi Corp | Similarity evaluation device and method |
-
2013
- 2013-10-22 JP JP2013219661A patent/JP6131822B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015081834A (en) | 2015-04-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5900655B2 (en) | Acceleration sensor output processing program, processing method, processing device, and gait evaluation program | |
| 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 (en) | Proximity sensor mesh for motion capture | |
| Zhang et al. | WatchOut: extending interactions on a smartwatch with inertial sensing | |
| KR102697424B1 (en) | Representative waveform providing apparatus and method | |
| CN106705989B (en) | step recording method, device and terminal | |
| EP3671119B1 (en) | Attitude matrix calculating method and device | |
| 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 | |
| US20140306910A1 (en) | Id tracking of gesture touch geometry | |
| CN104238924A (en) | Method and device for controlling illumining of screen of wearable device | |
| US20120179385A1 (en) | Trajectory creating apparatus | |
| JP2017136165A (en) | Sensor information processing device, sensor unit, and sensor information processing program | |
| JP6270557B2 (en) | Information input / output device and information input / output method | |
| CN105068657B (en) | The recognition methods of gesture and device | |
| WO2017039893A1 (en) | System for sensor-based objective determination | |
| CN104898942A (en) | Control method and device of wearable equipment | |
| Kim et al. | VibAware: Context-Aware Tap and Swipe Gestures Using Bio-Acoustic Sensing | |
| JP6131822B2 (en) | Information processing apparatus, information processing method, and program | |
| JP6491920B2 (en) | Biological signal processing apparatus and biological signal processing method | |
| CN111580660B (en) | An operation triggering method, apparatus, device and readable storage medium | |
| JP2013195363A (en) | Movement state determination program and movement state determination apparatus | |
| JP6277674B2 (en) | Information processing apparatus, method of operating information processing apparatus, and program | |
| KR101639351B1 (en) | Wearable input system and method for recognizing motion |
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 |