[go: up one dir, main page]

JP6131822B2 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program 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
Japanese (ja)
Other versions
JP2015081834A (en
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/en
Publication of JP2015081834A publication Critical patent/JP2015081834A/en
Application granted granted Critical
Publication of JP6131822B2 publication Critical patent/JP6131822B2/en
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

本件開示の発明は、加速度センサのセンサ出力に対する情報処理装置、情報処理方法及びプログラムに関する。   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つの時系列データを比較して類似度を評価したりする。   Patent Documents 1 to 3 propose a method for determining a walking state of a user who carries an information processing device using an output value of an acceleration sensor. In these documents, acceleration information in the vertical direction (vertical direction or gravity direction) of the information processing device is calculated using the output value of the acceleration sensor, or similarity is evaluated by comparing two time-series data. .

特開2010−257395号公報JP 2010-257395 A 特開2012−63208号公報JP 2012-63208 A 特開2012−247991号公報JP 2012-247991 A

しかし、情報処理装置を携帯するユーザの動作状態を判定するには、上下方向の加速度の大きさに加えて、左右方向の加速度の大きさや前後方向の加速度の大きさも検出されることが望ましい。   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.

図1は、一実施形態における携帯電話端末のハードウェア構成を示す概略構成図である。FIG. 1 is a schematic configuration diagram illustrating a hardware configuration of a mobile phone terminal according to an embodiment. 図2は、一実施形態における携帯電話端末の機能部を示す機能構成図である。FIG. 2 is a functional configuration diagram illustrating a functional unit of the mobile phone terminal according to the embodiment. 図3は、一実施形態におけるサブマイコンの概略構成図である。FIG. 3 is a schematic configuration diagram of a sub-microcomputer according to an embodiment. 図4Aは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。FIG. 4A is a diagram illustrating a sensor output vector of the acceleration sensor according to the embodiment. 図4Bは、一実施形態における加速度センサのセンサ出力のベクトルを示す図である。FIG. 4B is a diagram illustrating a sensor output vector of the acceleration sensor according to the embodiment. 図5Aは、一実施形態におけるユーザの歩行状態を示す模式図である。FIG. 5A is a schematic diagram illustrating a user's walking state according to an embodiment. 図5Bは、一実施形態におけるユーザの歩行状態を示す模式図である。Drawing 5B is a mimetic diagram showing a user's walk state in one embodiment. 図6Aは、一実施形態におけるローパスフィルタの動作を示すシーケンス線図である。FIG. 6A is a sequence diagram illustrating an operation of the low-pass filter according to the embodiment. 図6Bは、一実施形態におけるローパスフィルタにおいて実行される処理のフローチャートの一部を示す図である。FIG. 6B is a diagram illustrating a part of a flowchart of processing executed in the low-pass filter according to the embodiment. 図7Aは、一実施形態における遅延回路の動作を示すシーケンス線図である。FIG. 7A is a sequence diagram illustrating an operation of the delay circuit according to the embodiment. 図7Bは、一実施形態における遅延回路において実行される処理のフローチャートの一部を示す図である。FIG. 7B is a diagram illustrating a part of a flowchart of processing executed in the delay circuit according to the embodiment. 図8は、一実施形態における相関演算処理部の動作を示すシーケンス線図である。FIG. 8 is a sequence diagram showing the operation of the correlation calculation processing unit in one embodiment. 図9は、一実施形態における相関演算処理部のバッファの構成を示す模式図である。FIG. 9 is a schematic diagram illustrating the configuration of the buffer of the correlation calculation processing unit in one embodiment. 図10は、一実施形態における動作判定用のテンプレートの構成例を示す表である。FIG. 10 is a table illustrating a configuration example of the operation determination template according to the embodiment. 図11は、一実施形態における相関演算処理部において実行される処理のフローチャートの一部を示す図である。FIG. 11 is a diagram illustrating a part of a flowchart of processing executed in the correlation calculation processing unit in the embodiment. 図12は、一実施形態における相関演算処理部において実行される処理を説明するグラフである。FIG. 12 is a graph illustrating processing executed in the correlation calculation processing unit in one embodiment. 図13は、一実施形態における相関演算処理部において実行される処理のフローチャートの一部を示す図である。FIG. 13 is a diagram illustrating a part of a flowchart of processing executed in the correlation calculation processing unit in one embodiment.

以下、一実施形態における携帯電話端末及びその制御方法について、図面を参照しながら説明する。   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 mobile phone terminal 10 in this embodiment includes an antenna 101, an RF (Radio Frequency) unit 102, a main microcomputer 103, a sub-microcomputer 104, and a button 10.
5, a display 106, a touch panel 107, a ROM (Read Only Memory) 108, a RAM (Random-Access Memory) 109, and an acceleration sensor 110. Note that the mobile phone terminal 10 corresponds to an example of an information processing apparatus. However, the technology disclosed in the present embodiment is not limited to the mobile phone terminal 10 and can be applied to information processing apparatuses in general. In the present embodiment, the mobile phone terminal 10 is carried by the user.

携帯電話端末10は、アンテナ101を経由して基地局等の外部の無線送受信装置(図示せず)と無線通信を行う。RF部102は、外部の無線送受信装置との送受信において、送信時にベースバンド信号を周波数帯(RF帯)に変調し、受信時にこれらの周波数帯の信号をベースバンド信号に復調する。   The mobile phone terminal 10 performs wireless communication with an external wireless transmission / reception device (not shown) such as a base station via the antenna 101. In transmission / reception with an external wireless transmission / reception device, the RF unit 102 modulates a baseband signal to a frequency band (RF band) at the time of transmission, and demodulates a signal of these frequency bands to a baseband signal at the time of reception.

メインマイコン103は、ROM108に記憶された制御プログラム108aを実行して、携帯電話端末10が有する各種機能を実現する。サブマイコン104は、サブマイコン104に組み込まれている加速度センサ出力処理プログラム104aを実行して、加速度センサ110のセンサ出力を演算処理し、携帯電話端末10のユーザの座標系、すなわちグローバル座標系の加速度に変換する。さらに、サブマイコン104は、動作状態判定プログラム104bを実行して、携帯電話端末10のユーザの動作状態の判定結果を生成する。なお、本実施形態における種々の演算処理を1以上のサブマイコンを用いて実行する構成としてもよい。また、加速度センサ出力処理プログラム104a及び動作状態判定プログラム104bを1つのプログラムとして構成してもよい。   The main microcomputer 103 executes the control program 108a stored in the ROM 108, and realizes various functions of the mobile phone terminal 10. The sub-microcomputer 104 executes the acceleration sensor output processing program 104a incorporated in the sub-microcomputer 104, performs arithmetic processing on the sensor output of the acceleration sensor 110, and performs the coordinate system of the user of the mobile phone terminal 10, that is, the global coordinate system. Convert to acceleration. Further, the sub-microcomputer 104 executes the operation state determination program 104b to generate a determination result of the operation state of the user of the mobile phone terminal 10. In addition, it is good also as a structure which performs the various arithmetic processing in this embodiment using a 1 or more submicrocomputer. Further, the acceleration sensor output processing program 104a and the operation state determination program 104b may be configured as one program.

ボタン105は、ユーザが携帯電話端末10の操作に使用するハードウェアキーである。ディスプレイ106は、携帯電話端末10において実行される各種処理の結果等の種々の情報を表示する。また、ディスプレイ106は、メインマイコン103やサブマイコン104により実行される種々の処理の処理結果や処理状態、コンテンツ等を表示する。タッチパネル107は、ユーザのタッチ操作等を受け付ける。タッチパネル107はディスプレイ106と重なるように配置されている。ユーザは、タッチパネル107を指等でタッチ操作等することで、ディスプレイ106に表示されたアイコン等の表示項目の選択等を行う。   The button 105 is a hardware key that the user uses to operate the mobile phone terminal 10. The display 106 displays various information such as the results of various processes executed in the mobile phone terminal 10. The display 106 displays processing results, processing states, contents, and the like of various processes executed by the main microcomputer 103 and the sub-microcomputer 104. The touch panel 107 receives a user's touch operation and the like. The touch panel 107 is disposed so as to overlap the display 106. The user selects a display item such as an icon displayed on the display 106 by touching the touch panel 107 with a finger or the like.

ROM108は、携帯電話端末10において実行される各種プログラムや後述する動作判定用のテンプレートのデータを格納する。ROM108が、テンプレート記憶部の一例である。RAM109は、メインマイコン103やサブマイコン104が種々の処理を実行する際に一時的な記憶領域として使用される。すなわち、RAM109はワークエリアとして用いられ、各種プログラムや端末番号等の携帯電話端末の固有情報が格納される。また、RAM109には、ユーザが入力した設定やプログラムの情報、ディスプレイ106等を介してユーザに提供されるデータ等が格納される。   The ROM 108 stores various programs executed in the mobile phone terminal 10 and data of an operation determination template described later. The ROM 108 is an example of a template storage unit. The RAM 109 is used as a temporary storage area when the main microcomputer 103 and the sub-microcomputer 104 execute various processes. That is, the RAM 109 is used as a work area, and stores unique information of the mobile phone terminal such as various programs and terminal numbers. The RAM 109 stores settings input by the user, program information, data provided to the user via the display 106, and the like.

メインマイコン103は、高速演算処理を実行することができるが、消費電力が大きい。したがって、長時間動作状態に保つことは好ましくないため、メインマイコン103の動作時間には一定の制限が課せられ、一時的に休止状態に移行される。ところで、ユーザ
の動作状態を判定する場合、ユーザの動作データを長時間にわたって取得し、取得した動作データに基づいて動作状態を判定する。
The main microcomputer 103 can execute high-speed arithmetic processing, but consumes a large amount of power. Therefore, since it is not preferable to keep the operation state for a long time, a certain restriction is imposed on the operation time of the main microcomputer 103, and the operation state is temporarily shifted to the rest state. By the way, when determining a user's operation state, a user's operation data is acquired over a long time, and an operation state is determined based on the acquired operation data.

そこで、本実施形態では、サブマイコン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 acceleration sensor 110, performs arithmetic processing on the sensor output, and performs acceleration in the global coordinate system. Generate data. The sub-microcomputer 104 executes processing with a low processing load such as simple arithmetic processing such as four arithmetic operations and access processing to a memory such as the ROM 108 and the RAM 109. However, since the sub-microcomputer 104 has low power consumption, it can execute the acceleration sensor output processing program 104a and the operation state determination program 104b for a long time.

したがって、メインマイコン103が動作状態となることは抑制され、サブマイコン104がユーザの動作状態の判定結果に基づいて、ユーザにわかりやすい値にセンサ出力を変換したり統計情報を作成したりして、生成した情報をディスプレイ106に表示する。なお、生成した情報は、アンテナ101を介して外部に送信してもよい。   Therefore, it is suppressed that the main microcomputer 103 becomes an operation state, and the sub microcomputer 104 converts the sensor output into a value that is easy for the user to understand based on the determination result of the user's operation state or creates statistical information. The generated information is displayed on the display 106. The generated information may be transmitted to the outside via the antenna 101.

本実施形態では、携帯電話端末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 ROM 108 of the mobile phone terminal 10 is executed by the sub-microcomputer 104. By executing such an application, as shown in FIG. 2, the sub-microcomputer 104 of the mobile phone terminal 10 functions as a time delay unit 201, an inner product value calculation unit 202, and an operation determination unit 203. However, any one or more of the time delay unit 201, the inner product value calculation unit 202, and the operation determination unit 203 may be a hardware circuit.

次に、本実施形態において、携帯電話端末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 sub-microcomputer 104 of the mobile phone terminal 10 will be described. FIG. 3 shows an outline of a part of the configuration of the sub microcomputer 104 and the algorithm executed by the sub microcomputer 104 in the present embodiment. As shown in FIG. 3, the sub-microcomputer 104 includes a low-pass filter (LPF) 104c, a delay circuit 104d, an inner product calculation processing unit 104e, and a correlation calculation processing unit 104f. The delay circuit 104d is an example of a time delay unit. The inner product calculation processing unit 104e is an example of an inner product value calculation unit. Furthermore, the correlation calculation processing unit 104f is an example of an operation determination unit.

本実施形態では、加速度センサ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 LPF 104c with respect to the sensor output A of the acceleration sensor 110. On the other hand, the LPF 104c is connected to the delay circuit 104d. Since the delay circuit 104d outputs the input signal after a predetermined time, the past gravity direction vector G 'is output from the delay circuit 104d. Then, the inner product calculation processing unit 104e calculates the inner product of the gravity direction vector G detected by the LPF 104c and the gravity direction vector G ′ output from the delay circuit 104d. The inner product value p obtained by the calculation of the inner product calculation processing unit 104e is sent to the correlation calculation processing unit 104f. The correlation calculation processing unit 104f performs a correlation calculation on the inner product value p output from the inner product calculation processing unit 104e using the template stored in the ROM 108, and determines the user's operation.

ここで、加速度センサ110のセンサ出力Aを、携帯電話端末10を携帯するユーザの座標系、すなわちいわゆるグローバル座標系における加速度に変換する処理について、本実施形態の利点を説明する。   Here, the advantage of the present embodiment will be described regarding the process of converting the sensor output A of the acceleration sensor 110 into the acceleration in the coordinate system of the user carrying the mobile phone terminal 10, that is, the so-called global coordinate system.

図4A及び図4Bは、携帯電話端末を携帯するユーザの姿勢が不明な場合に、加速度センサのセンサ出力から、ユーザの座標系における上下方向(鉛直方向)の加速度情報を取り出す方法の一例を示す図である。ここでは、ユーザが歩行中である場合を想定している。図4Aに示すように、互いに直交するX軸、Y軸、Z軸が携帯電話端末のローカル座標
系を構成する。図4Aにおいて、加速度センサのセンサ出力AはA=(x,y,z)で与えられる。なお、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 trunk 20 corresponds to the portion from the human hip joint to the head, and the legs 20L and 20R correspond to the left leg and the right leg, respectively. As shown in FIG. 5A and FIG. 5B, during walking, the human right and left legs 20L and 20R alternately touch the ground, and the trunk 20 swings up and down, left and right, and front and rear. Further, as shown in FIGS. 5A and 5B, the period of the vertical movement of the trunk 20 is a period from when one of the left and right legs 20L and 20R arrives again from the ground and then arrives again after the other leaves the ground. Matches. On the other hand, the left and right shaking of the trunk 20 swings to the left of the person while the left leg 20L is on the ground, and swings to the right of the person while the right leg 20R is on the ground. Therefore, the period of the left and right shaking of the trunk 20 during human walking is twice as long as the period of vertical movement, that is, a frequency of 1/2.

また、人間は、歩行中、左脚20Lまたは右脚20Rを地面に着地させる瞬間が最も下方向の加速度が大きくなる。そして、左脚20Lまたは右脚20Rの着地後、体幹20を上昇させる時に上方向の加速度が発生し、体幹20が到達する最上点で当該上方向の加速度が最小になり、以後は代わりに下方向の加速度が発生する。また、左右方向の加速度については、左脚20Lを着地させると左方向の加速度が発生し、右脚20Rを着地させると右方向の加速度が発生する。   In addition, when a human is walking, the moment of landing the left leg 20L or the right leg 20R on the ground has the greatest downward acceleration. Then, after the landing of the left leg 20L or the right leg 20R, an upward acceleration is generated when the trunk 20 is raised, and the upward acceleration is minimized at the highest point reached by the trunk 20, and thereafter Acceleration in the downward direction occurs. As for the left-right acceleration, when the left leg 20L is landed, leftward acceleration is generated, and when the right leg 20R is landed, rightward acceleration is generated.

図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 LPF 104c and processing executed in the LPF 104c in the present embodiment. As shown in FIG. 6A, in the LPF 104c, the sensor output value X of the acceleration sensor 110 is stored in n buffers BF0 to BFn−1 in synchronization with the clock CLK synchronized with the sampling clock of the acceleration sensor 110. . The clock CLK is an example of a predetermined time interval that determines the execution timing of the operation determination process in the present embodiment. Then, an average value of n consecutive sensor values X is calculated by an averaging process using the adder 104g and the divider 104h that multiplies the input value by 1 / n. That is, the LPF 104c can be realized by executing an averaging process for obtaining an average of the values X of n sensor outputs. Therefore, when executing the acceleration sensor output processing program 104a, the sub-microcomputer 104 stores the sensor output value X in the buffer one by one, adds the previous n sensor output values, and divides by n. , The LPF 104c is processed.

図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 LPF 104c, when the value X is input, when the input is the first time, the value held by each buffer is set to X through S101 to S107, and the total value is calculated. The process of multiplying the total value by 1 / n is executed. In the figure, in S101 to S113, “index” indicates an index set in each buffer. “Buf [index]” indicates an input value held by a buffer having an index indicated by the value of “index”. In the figure, other symbols follow so-called C language rules. The same applies to the description of other flowcharts below. When the input of the value X is not the first time, S108 to S113 are repeatedly executed in units of clocks, whereby an averaging process using values sequentially input after the input is executed. The output of the divider 104h is sent to the delay circuit 104d.

次に、図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 delay circuit 104d and processing executed in the delay circuit 104d in the present embodiment. As shown in FIG. 7A, the delay circuit 104d has m buffers BF0 to BFm-1. The number of buffers is appropriately determined according to the delay time of the gravity direction vector G by the delay circuit 104d. As shown in FIG. 7A, in this embodiment, m buffers are connected.

図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 delay circuit 104d, when the value X is input, when the input is the first time, initialization is performed to set the value held in each buffer to 0 through S201 to S206. When the input of the value X is not the first time, S207 to S211 are repeatedly executed in units of clock CLK, so that the input value X is sequentially transferred from the buffer BF0 having the index 0 to the subsequent buffers BF1 to BFm-1. To go. Further, the value output from the buffer BFm-1 having the index M-1 is sent to the inner product calculation processing unit 104e. In the present embodiment, the value output from the buffer BFm−1 is the past gravity direction vector G ′.

図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 calculation processing unit 104e receives the gravity direction vector G output from the LPF 104c and the past gravity direction vector G ′ output from the delay circuit 104d. The inner product calculation processing unit 104e obtains an inner product value p of the vector G and the vector G ′ by the following equation (4).
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 calculation processing unit 104e is sent to the correlation calculation processing unit 104f.

ところで、一例として人間の歩行時について、いわゆるピッチ軸、ロール軸、ヨー軸を設定して考えると、股関節はピッチ方向には大きく回転し、ロール方向の回転は、ピッチ方向の回転に比べて小さい。すなわち、加速度センサ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 acceleration sensor 110, even if the rotation around the pitch axis cannot be calculated, the rotation around the axis parallel to the horizontal plane can be calculated. This rotation can be regarded as a rotation about the pitch axis.

そして、ベクトル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 calculation processing unit 104f in the present embodiment. As shown in FIG. 8, the correlation calculation processing unit 104f includes a plurality of template data storage units 104i, 104j, and 104k. The template data storage units 104i, 104j, and 104k are input with values stored in a template value column for operation determination described later. The values stored in the template data storage units 104i, 104j, and 104k are input to different subtracters 104l, 104m, and 104n, respectively. Although FIG. 8 shows three template data storage units and three subtracters, the number of template data storage units and subtracters can be changed as appropriate according to the number of indexes of the template for operation determination described later. .

相関演算処理部104fは、k個のバッファBF0〜BFk−1を有する。内積演算処理部104eから出力される内積値p(図中「入力X」)は、バッファBF0に格納され、次の内積値が相関演算処理部104fに入力されると、バッファBF0に格納されている値は、後段のバッファBF1に渡される。このように、内積値が相関演算処理部104fに入力される度に、各バッファに格納されている値は後段のバッファに順次渡される。なお、バッファBFk−1に格納された値は、次にバッファBFk−1に入力される値で更新される。   The correlation calculation processing unit 104f includes k buffers BF0 to BFk-1. The inner product value p ("input X" in the figure) output from the inner product operation processing unit 104e is stored in the buffer BF0, and when the next inner product value is input to the correlation operation processing unit 104f, it is stored in the buffer BF0. The value is passed to the subsequent buffer BF1. In this way, each time the inner product value is input to the correlation calculation processing unit 104f, the values stored in each buffer are sequentially passed to the subsequent buffer. Note that the value stored in the buffer BFk-1 is updated with the value input to the buffer 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であるバッファに戻って格納される。
An example of the operation determination process of the correlation calculation processing unit 104f in the present embodiment will be described with reference to FIGS. FIG. 9 shows buffers BF0 to BF of the correlation calculation processing unit 104f.
An example of the inner product value p stored in k−1 is shown. The inner product value p output from the inner product calculation processing unit 104e is sequentially stored from a buffer having a small index value. In the case of FIG. 9, the inner product value p is sequentially output as 3, 2, 5, 5 from the inner product calculation processing unit 104e, and is sequentially stored in the correlation calculation processing unit 104f from the buffer whose index is index0. When the inner product value p is stored in the buffer whose index is indexK-1, the inner product value p that is input next to the correlation calculation processing unit 104f is stored back to the buffer whose index is index0.

図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 calculation processing unit 104f in the present embodiment. In the correlation calculation processing unit 104f, when the value X is input, when the input is the first time, initialization is performed to set the value held by each buffer to 0 through S301 to S306. If the input of the value X is not the first time, the degree of coincidence with the template for operation determination is calculated by repeatedly executing S307 to S316 in units of clock CLK.

ここで、動作判定用のテンプレートとの一致度とは、過去の所定の時間範囲において相関演算処理部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 calculation processing unit 104f in the past predetermined time range and the change of the value indicated by the action determination template. It is an index indicating the degree of. Here, the past predetermined time range is determined by the time range in which the value changes in the operation determination template to be used.

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 calculation processing unit 104f is stored in the right end buffer (index is K-1, see FIG. 9), the inner product value p input next is The index value is changed so as to be stored in the buffer (index is 0, see FIG. 9).

一例として、図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 acceleration sensor 110 approaches the time change of the inner product value indicated by the motion determination template.

図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 calculation processing unit 104f is calculated retroactively from the present to the past. The coincidence degree COR indicating the correlation between these values is calculated.

図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 calculation processing unit 104f in the present embodiment. This flowchart is started each time the integration of the degree of coincidence COR is completed through S315 or S316 according to the flowchart shown in FIG. As shown in FIG. 13, in S401, it is determined whether or not the value of the degree of coincidence COR integrated by the flowchart shown in FIG. 11 is equal to or less than a predetermined threshold Th. The operation determination template used in the present embodiment is a template for determining whether or not a user carrying the mobile phone terminal 10 bends as an example. Therefore, when the value of the matching degree COR is equal to or less than the predetermined threshold Th (S401: Y), it is determined that the user has bent down. Further, when the value of the matching degree COR exceeds the predetermined threshold Th (S401: N), it is determined that the user is not performing an action of bending his / her waist.

図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 RAM 109 of the mobile phone terminal 10, displayed on the display 106, or transmitted to an external device by the RF unit 102 and the antenna 101.

以上が本実施形態に関する説明であるが、上記の情報処理装置の構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記では、ユーザが腰を屈めたか否かを判定する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 ROM 108 or the like, and the above processing is repeated for each template, so that it is possible to determine how to bend multiple patterns of the hips. it can. Further, not only a template for determining whether or not the user is bent, but also a template for determining various operations such as sitting, bowing, jumping, and the like can be stored in the ROM 108 or the like for each operation. Thereby, it can be set as the structure which can determine various operation | movement of the user who carries the mobile telephone terminal 10. FIG.

<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定を行うための管理ツール、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. Supplementary note 1 wherein if the degree of coincidence is less than a predetermined threshold, it is determined that the predetermined action has occurred, and if the calculated degree of coincidence is not less than a predetermined threshold, it is determined that the predetermined action has not occurred. The information processing apparatus described.

(付記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 appendix 2, wherein the degree of coincidence is calculated with respect to a temporal change of an inner product value including the inner product value stored in the item 2.

(付記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 appendix 4.

(付記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 appendix 5, wherein the degree of coincidence is calculated with respect to a temporal change of the inner product value including the inner product value stored in the item 5.

(付記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 appendix 7.

(付記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 Sub-microcomputer 104a Acceleration sensor output processing program 104b Operation state determination program 104c LPF
104d Delay circuit 104e Inner product calculation processing unit 104f Correlation calculation processing unit 104g, 104o Adder 104h Dividers 104i-104k Template data storage units 104l-104n Subtractor 108 ROM
109 RAM
DESCRIPTION OF SYMBOLS 110 Acceleration sensor 201 Time delay part 202 Inner product value calculation part 203 Motion determination part

Claims (5)

3次元空間の加速度を検出する加速度センサと、
前記加速度センサのセンサ出力から重力成分ベクトルの信号を抽出するローパスフィルタと、
前記重力成分ベクトルの信号に時間遅延を付与する時間遅延部と、
前記ローパスフィルタにより抽出された重力成分ベクトルの信号と前記時間遅延部により時間遅延を付与された重力成分ベクトルの信号との内積値を算出する内積値算出部と、
所定の動作における前記内積値の時間変化を示すテンプレートをあらかじめ記憶するテンプレート記憶部と、
前記テンプレートを用いて、所定時間にわたって前記内積値算出部により算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定する動作判定部と、
を備える情報処理装置。
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:
前記動作判定部は、前記テンプレートマッチングにおいて、前記所定時間にわたって前記内積値算出部により算出された内積値と前記テンプレートが示す内積値との差分を積算した値を一致度として算出し、前記算出した一致度が所定の閾値未満であれば前記所定の動作が発生したと判定し、前記算出した一致度が所定の閾値以上であれば前記所定の動作が発生していないと判定する、請求項1に記載の情報処理装置。   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. The determination is made that the predetermined operation has occurred if the degree of coincidence is less than a predetermined threshold value, and it is determined that the predetermined operation has not occurred if the calculated degree of coincidence is equal to or greater than the predetermined threshold value. The information processing apparatus described in 1. 前記動作判定部は、前記内積値算出部により算出された内積値を所定の時間間隔で時系列に記憶し、前記内積値算出部により算出された内積値を新たに記憶したときに、前記新たに記憶した内積値を含む内積値の時間変化に対して前記一致度を算出する、請求項2に記載の情報処理装置。   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 claim 2, 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. 3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
を有する情報処理方法。
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:
3次元空間の加速度を検出するステップと、
前記加速度から重力成分ベクトルの信号を抽出するステップと、
前記重力成分ベクトルの信号に時間遅延を付与するステップと、
前記抽出された重力成分ベクトルの信号と前記時間遅延を付与された重力成分ベクトルの信号との内積値を算出するステップと、
所定の動作における前記内積値の時間変化を示すテンプレートを用いて、所定時間にわたって前記算出された内積値の時間変化に対してテンプレートマッチングを行うことにより、前記所定の動作が発生したか否かを判定するステップと、
をコンピュータに実行させるためのプログラム。
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.
JP2013219661A 2013-10-22 2013-10-22 Information processing apparatus, information processing method, and program Expired - Fee Related JP6131822B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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