説明

モーション判定装置、モーション判定方法、およびコンピュータプログラム

【課題】ユーザが意図するモーションを従来よりも確実に判定する。
【解決手段】モーションセンサによって検知される、各時刻における特徴量に基づいて、次の処理を行う。各時刻の特徴量のうちの、相違する複数の時刻T12、T15それぞれにおける特徴量である特定特徴量を選出する。そして、これらの特定特徴量のうちの値の大きい方に基づいて、このモーションセンサまたはこのモーションセンサを備える装置に対して行われたモーションを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モーションセンサから得られる情報に基づいてユーザが行ったモーションを判定する装置および方法などに関する
【背景技術】
【0002】
近年、携帯電話端末、スマートフォン、PDA(Personal Digital Assistant)、および携帯型ゲーム機などの装置にモーションセンサが搭載されるようになった。「モーションセンサ」とは、装置に対するモーション(装置の使用者により装置に対して行われた動き)を検知するためのセンサであって、例えば加速度センサ、ジャイロセンサ、または地磁気センサなどである。
【0003】
モーションUIを操作することは、マウス、キーボード、タッチパネル、およびペン(特許文献3)などを操作することよりも簡単である。よって、モーションUIは、装置を簡単に操作するためのUIとして注目されている。
【0004】
モーションを特定する方法および装置が、幾つか提案されている。例えば、次のような装置が提案されている。入力情報処理装置は、ユーザに装着された加速度センサによって測定された信号を、加速度信号および筋音信号に分離する信号分離部と、前記加速度信号および前記筋音信号に基づいて、ユーザの操作対象の動作を制御する制御部を備える(特許文献1)。
【0005】
また、次のような方法が提案されている。携帯端末本体を所定の動作パターンで動かし、その動作パターンに対応した操作を行なう際に、携帯端末本体の動きの加速度を検出し、その検出された加速度に基づいて携帯端末の動作パターンを識別する前準備として、携帯端末の加速度が設定したしきい値以下である静止状態が一定時間持続したか確認し、静止状態が一定時間持続した後に、動作パターンを識別する処理を行なう(特許文献2)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−192004号公報
【特許文献2】特開2006−139537号公報
【特許文献3】特開平11−120360号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、ユーザがモーションUIを用いて同一の指令を装置に対して与えたつもりでも、モーションセンサは、装置を使用するユーザの癖などによって、ユーザの意図とは異なるモーションが行われたと判定することがある。また、ユーザが装置に対して指令を与える際に、ユーザの癖などにより、与えたい指令のモーション以外に、他の指令に相当するモーションが発生する場合がある。この場合にも、装置は、ユーザの意図するモーション以外に、意図しないモーションも行われたと判定される。
【0008】
本発明は、このような問題点に鑑み、ユーザの意図するモーションを従来よりも確実に判定できるようにすることを、目的とする。
【課題を解決するための手段】
【0009】
本発明の一形態に係るモーション判定装置は、モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションに基づき、一定の時間間隔にて、当該モーションセンサにより、当該モーションセンサまたは当該モーションセンサを備える装置の位置または姿勢の変化を示す検知情報を取得し、取得した検知情報と、当該検知情報を取得した時刻とを対応づけて記憶する、検知情報取得部と、前記検知情報のうちの、相違する複数の時刻それぞれにおける特徴を示す特徴量を算出する、特徴量算出部と、前記複数の特徴量のうちのいずれか1つに基づいて、前記モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションを判定する、モーション判定部と、を有する。
【0010】
好ましくは、前記特徴量算出部は、前記検知情報の絶対値が所定の値を超えてから所定の時間後の前記検知情報を前記特徴量の1つとして算出し、その後、前記検知情報の絶対値が前記所定の値未満になり再び前記所定の値を超えてから前記所定の時間後の前記検知情報を前記特徴量の他の1つとして算出する。
【0011】
または、前記特徴量算出部は、前記特徴量を、前記検知情報を表す山または谷のそれぞれのピーク時の前記検知情報を、前記特徴量として算出する。
【0012】
前記モーション判定部は、前記複数の特徴量のうちの絶対値が最も大きいものに基づいて、前記モーションを判定してもよい。または、前記複数の特徴量のうちの直前の変化率の絶対値が最も大きいものに基づいて、前記モーションを判定してもよい。
【0013】
なお、上述の特徴量は、所定の時間または所定の個数当たりの加速度の平均値であってもよい。
【発明の効果】
【0014】
本発明によると、ユーザが行ったつもりのモーションを従来よりも確実に判定できるようにすることができる。
【図面の簡単な説明】
【0015】
【図1】携帯端末の外観の例を示す図である。
【図2】携帯端末のハードウェア構成の例を示す図である。
【図3】携帯端末の機能的構成の例を示す図である。
【図4】モーション判定部の構成の例を示す図である。
【図5】モーション学習データベースおよびモーション特徴データの例を示す図である。
【図6】軸別モーション判定処理の流れの例を説明するフローチャートである。
【図7】軸別モーション判定処理の流れの例を説明するフローチャートである。
【図8】平均値AGyの変化の例を示す図である。
【図9】平均値AGyの変化の例を示す図である。
【図10】平均値AGyの変化の例を示す図である。
【図11】平均値AGyの変化の例を示す図である。
【図12】本動作の特徴量の例を示す図である。
【図13】軸別モーション判定処理の流れの例を説明するフローチャートである。
【図14】軸別モーション判定処理の流れの例を説明するフローチャートである。
【図15】平均値AGyの変化の例を示す図である。
【図16】平均値AGyの変化の例を示す図である。
【図17】平均値AGyの変化の例を示す図である。
【図18】平均値AGyの変化の例を示す図である。
【図19】角度θ1、θ2の例を示す図である。
【図20】モーション判定部の構成の変形例を示す図である。
【図21】角度θ3の例を示す図である。
【図22】角度θ3と時間Rとの関係の例を示す図である。
【図23】携帯端末の機能的構成の変形例を示す図である。
【図24】最終モーション決定処理の流れの例を説明するフローチャートである。
【図25】メタ知識データベースおよびメタ知識データの例を示す図である。
【図26】携帯端末の機能的構成の変形例を示す図である。
【図27】最終モーション決定処理の流れの例を説明するフローチャートである。
【図28】携帯端末の機能的構成の変形例を示す図である。
【図29】最終モーション決定処理の流れの例を説明するフローチャートである。
【図30】最終モーション決定処理の流れの例を説明するフローチャートである。
【図31】携帯端末の姿勢の例を示す図である。
【図32】姿勢テーブル、アプリケーション別有効軸テーブル、およびモーション候補テーブルの例を示す図である。
【図33】携帯端末の機能的構成の変形例を示す図である。
【図34】メタ知識調整処理の流れの例を説明するフローチャートである。
【図35】最終モーションおよびその正否の判定結果の例を示す図である。
【図36】モーションと処理との関係の例を示す図である。
【発明を実施するための形態】
【0016】
図1は携帯端末1の外観の例を示す図、図2は携帯端末1のハードウェア構成の例を示す図、図3は携帯端末1の機能的構成の例を示す図、図4はモーション判定部103の構成の例を示す図、図5はモーション学習データベース1313、1323、1333およびモーション特徴データ57の例を示す図である。
【0017】
携帯端末1は、携帯電話網を介して他の装置と通信を行う機能を備えた装置である。携帯端末1の筐体の大きさは人間の片手に収まる程度であり、形状は直方体である。以下、図1に示すように、携帯端末1の高さの軸、幅の軸、および厚さの軸をそれぞれ、「X軸」、「Y軸」、および「Z軸」と定義する。各軸のプラス(+)方向およびマイナス(−)方向も、図1に示す通りである。
【0018】
携帯端末1は、図2に示すように、CPU(Central Processing Unit)10a、メモリ10b、液晶タッチパネル10c、通信モジュール10d、マイク10e、スピーカ10f、電源供給部10g、およびモーションセンサ10hなどが含まれる。
【0019】
液晶タッチパネル10cは、液晶タイプのタッチパネルである。液晶タッチパネル10cには、ユーザの操作などに応じて様々な画面が表示される。また、ユーザの触れた位置を検知し、その位置を示す信号をCPU10aへ送る。
【0020】
なお、図1には、携帯端末1として、表側の面のほぼ全体に液晶タッチパネル10cが設けられている携帯端末を例示しているが、液晶タッチパネル10cとともにテンキーなどのボタンが配置された携帯端末を携帯端末1として用いてもよい。
【0021】
通信モジュール10dは、基地局などと無線通信を行うための装置である。マイク10eは、音声を集音しデジタル信号に変換する。スピーカ10fは、通信モジュール10dによって受信されたデジタル信号などに基づいて音声を出力する。
【0022】
電源供給部10gは、携帯端末1を構成する各ハードウェアへ充電池または商用電源などから電力を供給する。
【0023】
モーションセンサ10hは、携帯端末1に対するモーションを検知するためのセンサである。モーションセンサ10hとして、加速度センサ、角速度センサ、ジャイロセンサ、または地磁気センサなどが用いられる。
【0024】
例えば、モーションセンサ10hとして3軸加速度センサが用いられた場合は、X軸、Y軸、およびZ軸それぞれの方向の加速度を計測する。各軸の加速度の組合せは、携帯端末1の姿勢を表している。また、各軸の加速度を計測し続けることによって、携帯端末1の位置または姿勢の変化、つまり、モーション(アクション、ゼスチャ)を検知することができる。
【0025】
または、モーションセンサ10hとして3軸ジャイロセンサが用いられた場合は、X軸、Y軸、およびZ軸それぞれを回転軸とする角加速度を計測する。各軸の角加速度の組合せは、携帯端末1の姿勢を表している。また、各軸の角加速度を計測し続けることによって、携帯端末1の位置または姿勢の変化、つまり、モーション(動作)を検知することができる。
【0026】
このように、モーションセンサ10hは、携帯端末1の姿勢を表す値を計測する。さらに、その値の変化を観測することによって、携帯端末1は、自らになされたモーションを検知することができる。
【0027】
メモリ10bには、図3に示す前処理部101、特徴量算出部102、およびモーション判定部103などの機能を実現するためのプログラムおよびデータがインストールされている。これらのプログラムは、CPU10aによって実行される。
【0028】
ユーザは、所定のモーション(動作)を携帯端末1全体に対して行うことによって、種々の指令を携帯端末1に対して与えることができる。例えば、携帯端末1を右へ動かすことによって、画面のスクロールの指令を与えることができる。
【0029】
モーションの判定は、モーション判定部103が、モーションセンサ10hおよび図3に示す前処理部101ないし特徴量算出部102と連携して行う。その際に、モーション判定部103は、ユーザの癖を検知し排除する。これにより、モーションの判定を従来よりも正確に行うことができる。以下、モーションセンサ10hおよび図3に示す各部の処理内容などについて、順次説明する。
【0030】
モーションセンサ10hは、加速度または角加速度を計測し続ける。これにより、各軸の加速度または角加速度の変化を示すデータが得られる。以下、このデータを「変化データ50」と記載する。
【0031】
前処理部101は、変化データ50に対して、ノイズを除去する処理を行う。ノイズを除去する処理は、LPF(Low Pass Filter)を用いて行ってもよい。以下、この処理が施された変化データ50を「変化データ51」と記載する。
【0032】
特徴量算出部102は、変化データ51に示される加速度または角加速度の平均値および分散値をX軸、Y軸、およびZ軸ごとに算出したり、FFT(Fast Fourier Transform)などの計算方法を利用したりして、変化データ51に表れている、携帯端末1の動作の特徴を示す特徴量を算出する。
【0033】
以下、特徴量として、平均値AG、分散値VA、角度DAを、X軸、Y軸、およびZ軸ごとに算出する場合を例に説明する。また、X軸、Y軸、およびZ軸の平均値AGを、それぞれ「平均値AGx」、「平均値AGy」、および「平均値AGz」と、「x」〜「z」の添え字を付けて区別することがある。分散値VAおよび角度DAについても、同様である。
【0034】
また、以下、平均値AGとして、加速度の平均値が用いられる場合を例に説明する。加速度は、所定の時間(例えば、数ミリ秒〜数十ミリ秒)ごとに求められる。特徴量算出部102は、加速度が例えば2回計測されるごとに、平均値AGとして、この2回の加速度の平均値を算出する。また、特徴量算出部102は、加速度が例えば4回計測されるごとに、分散値VAとして、この4回の加速度の分散値を算出する。角度DAは、軸と地面との角度である。例えば、角度DAyは、Y軸と地面との角度である。
【0035】
モーション判定部103は、図4に示すように、第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133などを有する。モーション判定部103は、このような構成により、特徴量算出部102によって算出された平均値AG、分散値VA、および角度DAに基づいて、携帯端末1に対して行われたモーションを判定する。
【0036】
第一のモーション判定部131は、判定用データ取得部1311、事前事後特徴除去部1312、モーション学習データベース1313、およびモーション検索部1314などを有する。第一のモーション判定部131は、このような構成により、X軸に係る特徴量つまり平均値AGx、分散値VAx、および角度DAxに基づいて、携帯端末1に対して行われたモーションを判定する。
【0037】
同様に、第二のモーション判定部132は、判定用データ取得部1321、事前事後特徴除去部1322、モーション学習データベース1323、およびモーション検索部1324などを有する。第二のモーション判定部132は、このような構成により、Y軸に係る特徴量つまり平均値AGy、分散値VAy、および角度DAyに基づいて、携帯端末1に対して行われたモーションを判定する。
【0038】
また、第三のモーション判定部133は、判定用データ取得部1331、事前事後特徴除去部1332、モーション学習データベース1333、およびモーション検索部1334などを有する。第三のモーション判定部133は、このような構成により、Z軸に係る特徴量つまり平均値AGz、分散値VAz、および角度DAzに基づいて、携帯端末1に対して行われたモーションを判定する。
【0039】
第一のモーション判定部131、第二のモーション判定部132、第三のモーション判定部133は、どの軸に係る特徴量を用いるのかが違うが、モーションの判定の方法は同じである。以下、第二のモーション判定部132を例に、モーションの判定の処理について説明する。
【0040】
判定用データ取得部1321は、特徴量算出部102によって算出された特徴量の中から、Y軸に係る特徴量、つまり平均値AGy、分散値VAy、および角度DAyを取得する。
【0041】
ところで、ユーザが携帯端末1を動かす際の癖は、ユーザが意識して行うモーションの直前または直後に表れる。以下、ユーザが意識して行うモーションを「本動作」と記載する。また、本動作の直前に表れる癖を「事前動作」と記載し、直後に表れる癖を「事後動作」と記載する。事前動作および事後動作は、本動作に随伴する動作であるとも、言える。
【0042】
事前事後特徴除去部1322は、本動作、事前動作、および事後動作を検知し、本動作を表す特徴量のみを選出する。つまり、事前動作および事後動作を除去する。事前事後特徴除去部1322による処理の手順については、後述する。
【0043】
モーション学習データベース1323には、図5のように、モーションごとに、そのモーションが行われた際に表れる分散値、平均値、および角度を示すモーション特徴データ57が記憶されている。
【0044】
モーション検索部1324は、モーション学習データベース1323の中から、事前事後特徴除去部1322によって選出された特徴量に表れる特徴をすべて含むデータを検索し、検索したデータに係るモーションを、ユーザが行ったモーションに決定する。
【0045】
次に、本動作、事前動作、および事後動作の検知の方法の例を、フローチャートなどを参照しながら順次説明する。
【0046】
〔本動作、事前動作、および事後動作の検知の第一の方法〕
図6および図7は軸別モーション判定処理の流れの例を説明するフローチャート、図8〜図11は平均値AGyの変化の例を示す図、図12は本動作の特徴量の例を示す図である。
【0047】
事前事後特徴除去部1322(図4参照)は、判定用データ取得部1321によって取得される、Y軸の特徴量に基づいて、図6の#601〜図7の#611に示す手順で処理を実行する。
【0048】
事前事後特徴除去部1322は、判定用データ取得部1321によって次々に取得される平均値AGyの絶対値が閾値αを超えたか否かを監視する(図6の#601)。なお、閾値αは、携帯端末1が静止しているとみなせる程度の、正の値である。
【0049】
平均値AGyの絶対値が閾値αを超えたら(#602でYes)、事前事後特徴除去部1322は、超えた時刻Taから時間Sが経過した時刻Tbにおける平均値AGyを選出し、第一の特徴平均値AGy1として記憶(保存)する(#603)。なお、時間Sは、一定の時間であって、例えば、50ミリ秒である。
【0050】
事前事後特徴除去部1322は、時刻Tbから時間Rが経過するまでの間に、平均値AGyの絶対値が連続してずっと閾値α以下のままである状態の時間が存在し、かつ、そのような状態の時間が時間U以上であるか否かを、監視する(#604)。なお、時間Rは、一定の時間であって、例えば、200ミリ秒である。時間Uも、一定の時間であって、例えば、100ミリ秒である。
【0051】
そのような状態の時間が時間U以上であることを検知できた場合は(#605でYes)、事前事後特徴除去部1322は、第一の特徴平均値AGy1を、本動作の特徴を表す1つの値である本動作特徴平均値AGytとして選出する(図7の#611)。
【0052】
一方、そのような状態の時間が時間U以上であることを検知できなかった場合は(#605でNo)、事前事後特徴除去部1322は、時刻Tbから時間Rが経過するまでの間に、平均値AGyの絶対値が閾値α以下になり再び平均値AGyの絶対値が閾値αを超えたか否かを監視する(#606)。
【0053】
平均値AGyがそのように遷移したことを検知できなかった場合は(#607でNo)、事前事後特徴除去部1322は、第一の特徴平均値AGy1を、本動作特徴平均値AGytとして選出する(図7の#611)。
【0054】
一方、平均値AGyがそのように遷移したことを検知できた場合は(#607でYes)、事前事後特徴除去部1322は、再び平均値AGyの絶対値が閾値αを超えた時刻Tcから時間Sが経過した時刻Tdにおける平均値AGyを選出し、第二の特徴平均値AGy2として記憶(保存)する(#608)。
【0055】
そして、事前事後特徴除去部1322は、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値を比較し(#609)、絶対値の大きい方を本動作特徴平均値AGytとして選出する(#610)。
【0056】
ここで、図8〜図11を参照しながら、事前事後特徴除去部1322による本動作特徴平均値AGytの選出の具体例を説明する。
【0057】
例えば、図8に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0058】
事前事後特徴除去部1322は、時刻T11に、平均値AGyの絶対値が閾値αを超えたことを検知する(図6の#602でYes)。なお、時刻T11は、上述の時刻Taに相当する。
【0059】
すると、事前事後特徴除去部1322は、時刻T11から時間Sが経過した時刻T12の平均値AGy(値F11)を選出し、第一の特徴平均値AGy1として記憶する(#603)。なお、時刻T12は、上述の時刻Tbに相当する。
【0060】
時刻T12から時間Rが経過するまでの間(時刻T12〜時刻T16)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻T13〜時刻T14である。しかし、この時間帯の長さは時間U未満なので、事前事後特徴除去部1322は、この時間帯を検知しない(#605でNo)。
【0061】
しかも、時刻T12から時間Rが経過するまでの間に、平均値AGyの絶対値は、時刻T13で閾値α以下になり時刻T14で再び閾値αを超える。事前事後特徴除去部1322は、この遷移を検知する(#607でYes)。なお、時刻T14は、上述の時刻Tcに相当する。
【0062】
そこで、事前事後特徴除去部1322は、時刻T14から時間Sが経過した時刻T15における平均値AGy(値F12)を選出し、第二の特徴平均値AGy2として記憶する(#608)。
【0063】
事前事後特徴除去部1322は、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値とを比較する(#609)。図8の例では、後者のほうが大きい。そこで、事前事後特徴除去部1322は、第二の特徴平均値AGy2を、本動作特徴平均値AGytとして選出する(図7の#610)。なお、前者は、事前動作の特徴を表していると、言える。
【0064】
または、図9に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0065】
事前事後特徴除去部1322は、時刻T21に、平均値AGyの絶対値が閾値αを超えたことを検知する(図6の#602でYes)。なお、時刻T21は、上述の時刻Taに相当する。
【0066】
すると、事前事後特徴除去部1322は、時刻T21から時間Sが経過した時刻T22の平均値AGy(値F21)を選出し、第一の特徴平均値AGy1として記憶する(#603)。なお、時刻T22は、上述の時刻Tbに相当する。
【0067】
時刻T22から時間Rが経過するまでの間(時刻T22〜時刻T25)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻T23〜時刻T24である。しかし、この時間帯の長さは時間U未満なので、事前事後特徴除去部1322は、この時間帯を検知しない(#605でNo)。
【0068】
しかも、時刻T22から時間Rが経過するまでの間に、平均値AGyの絶対値は、時刻T23で閾値α以下になり時刻T24で再び閾値αを超える。事前事後特徴除去部1322は、この遷移を検知する(#607でYes)。なお、時刻T24は、上述の時刻Tcに相当する。
【0069】
そこで、事前事後特徴除去部1322は、時刻T24から時間Sが経過した時刻T26における平均値AGy(値F22)を選出し、第二の特徴平均値AGy2として記憶する(#608)。
【0070】
事前事後特徴除去部1322は、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値とを比較する(#609)。図9の例では、前者のほうが大きい。そこで、事前事後特徴除去部1322は、第一の特徴平均値AGy1を、本動作特徴平均値AGytとして選出する(図7の#610)。なお、後者は、事後動作の特徴を表していると、言える。
【0071】
または、図10に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0072】
事前事後特徴除去部1322は、時刻T31に、平均値AGyの絶対値が閾値αを超えたことを検知する(図6の#602でYes)。なお、時刻T31は、上述の時刻Taに相当する。
【0073】
すると、事前事後特徴除去部1322は、時刻T31から時間Sが経過した時刻T32の平均値AGy(値F31)を選出し、第一の特徴平均値AGy1として記憶する(#603)。なお、時刻T32は、上述の時刻Tbに相当する。
【0074】
時刻T32から時間Rが経過するまでの間(時刻T32〜時刻T33)に、平均値AGyの絶対値が閾値α以下になる時間帯は、存在しない。よって、事前事後特徴除去部1322は、この時間帯を検知しない(#605でNo)。
【0075】
また、時刻T32から時間Rが経過するまでの間に、平均値AGyの絶対値が閾値α以下になることは、ない。よって、事前事後特徴除去部1322は、平均値AGyの絶対値が閾値α以下になり再び閾値αを超えるという遷移を、検知しない(#607でNo)。
【0076】
したがって、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図7の#611)。
【0077】
または、図11に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0078】
事前事後特徴除去部1322は、時刻T41に、平均値AGyの絶対値が閾値αを超えたことを検知する(図6の#602でYes)。なお、時刻T41は、上述の時刻Taに相当する。
【0079】
すると、事前事後特徴除去部1322は、時刻T41から時間Sが経過した時刻T42の平均値AGy(値F41)を選出し、第一の特徴平均値AGy1として記憶する(#603)。なお、時刻T42は、上述の時刻Tbに相当する。
【0080】
時刻T42から時間Rが経過するまでの間(時刻T42〜時刻T45)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻T43〜時刻T44である。しかも、この時間帯の長さは時間U以上である。よって、事前事後特徴除去部1322は、この時間帯を検知する(#605でYes)。
【0081】
したがって、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図7の#611)。
【0082】
このように、図10および図11の例では、本動作の特徴のみが検出され、事前動作の特徴および事後動作の特徴は、検出されない。
【0083】
また、事前事後特徴除去部1322によると、本動作特徴平均値AGytが選出されるだけでなく、本動作が行われた時間帯を特定することができる。例えば、平均値AGyの絶対値が本動作特徴平均値AGytの表れる時刻の直前に閾値αを超えた時刻から直後に閾値α以下になった時刻までの時間帯を、本動作が行われた時間帯とすればよい。図8の例では、時刻T14から時刻T18までの時間帯を、本動作が行われた時間帯とすればよい。
【0084】
フローチャートの説明に戻って、図4のモーション検索部1324は、モーション学習データベース1323の中から、事前事後特徴除去部1322によって選出された本動作特徴平均値AGytのほか本動作が行われた時間帯における分散値VAyおよび角度DAyによって表される特徴(図12参照)がすべて表れているデータを検索する。なお、分散値VAyおよび角度DAyとして、特に、本動作特徴平均値AGytが表れた時刻付近のものを用いるのが、望ましい。そして、モーション検索部1324は、検索したデータに係るモーションを、ユーザが行ったモーションに決定する(#612)。
【0085】
なお、第二のモーション判定部132は、第一の特徴平均値AGy1を記憶した後、平均値AGyの絶対値が時間U以上ずっと閾値α以下に落ち着くまで(#614でNo、#613)、次のモーションの検知を行わない。
【0086】
第一のモーション判定部131および第三のモーション判定部133も、第二のモーション判定部132と同様に、それぞれ、X軸に係る特徴量およびZ軸に係る特徴量に基づいて本動作を特定し、モーションを判定する。
【0087】
なお、第一の特徴平均値AGy1および第二の特徴平均値AGy2だけでなく、3つ以上の平均値AGyを選出し、本動作、事前動作、および事後動作を判定しモーションを判定してもよい。
【0088】
〔本動作、事前動作、および事後動作の検知の第二の方法〕
図13および図14は軸別モーション判定処理の流れの例を説明するフローチャート、図15〜図18は平均値AGyの変化の例を示す図である。
【0089】
第一の方法によると、事前事後特徴除去部1322は、平均値AGyの絶対値が閾値αを超えた時刻(例えば、図8の時刻T11、時刻T14)から時間S後の時刻(例えば、図8の時刻T12、時刻T15)における平均値AGyを、第一の特徴平均値AGy1または第二の特徴平均値AGy2として選出した。
【0090】
第二の方法によると、事前事後特徴除去部1322は、平均値AGyの絶対値が閾値αを超えた時刻の直後のプラスまたはマイナスのピーク(頂点)の平均値AGyを第一の特徴平均値AGy1または第二の特徴平均値AGy2として選出する。以下、第二の方法を用いる場合の事前事後特徴除去部1322の処理の手順を、図13および図14に示すフローチャートを参照しながら説明する。なお、第一の方法と重複する点については、説明を省略する。
【0091】
事前事後特徴除去部1322は、判定用データ取得部1321によって取得される、Y軸の特徴量に基づいて、図13の#621〜図14の#631に示す手順で処理を実行する。
【0092】
事前事後特徴除去部1322は、第一の方法の場合と同様に、判定用データ取得部1321によって次々に取得される平均値AGyの絶対値が閾値αを超えたか否かを監視する(図13の#621)。
【0093】
平均値AGyの絶対値が閾値αを超えたら(#622でYes)、事前事後特徴除去部1322は、超えた時刻Kaの直後のプラスまたはマイナスのピークの平均値AGyを選出し、第一の特徴平均値AGy1として記憶する(#623)。
【0094】
事前事後特徴除去部1322は、第一の特徴平均値AGy1が表れた時刻Kbから時間Rが経過するまでの間に、平均値AGyの絶対値が連続してずっと閾値α以下のままである状態の時間が存在し、かつ、そのような状態の時間が時間U以上であるか否かを、監視する(#624)。
【0095】
そのような状態の時間が時間U以上であることを検知できた場合は(#625でYes)、第一の方法の場合と同様に、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図14の#631)。
【0096】
一方、そのような状態の時間が時間U以上であることを検知できなかった場合は(#625でNo)、事前事後特徴除去部1322は、時刻Kbから時間Rが経過するまでの間に、平均値AGyの絶対値が閾値α以下になり再び平均値AGyの絶対値が閾値αを超えたか否かを監視する(#626)。
【0097】
平均値AGyがそのように遷移したことを検知できなかった場合は(#627でNo)、第一の方法の場合と同様に、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図14の#631)。
【0098】
一方、平均値AGyがそのように遷移したことを検知できた場合は(#627でYes)、事前事後特徴除去部1322は、再び平均値AGyの絶対値が閾値αを超えた時刻Kcの直後のプラスまたはマイナスのピークの平均値AGyを選出し、第二の特徴平均値AGy2として記憶する(#628)。
【0099】
そして、事前事後特徴除去部1322は、第一の方法の場合と同様に、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値を比較し(#629)、絶対値の大きい方を本動作特徴平均値AGytとして選出する(#630)。
【0100】
ここで、図15〜図18を参照しながら、第二の方法における事前事後特徴除去部1322による本動作特徴平均値AGytの選出の具体例を説明する。
【0101】
例えば、図15に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0102】
事前事後特徴除去部1322は、時刻K11に、平均値AGyの絶対値が閾値αを超えたことを検知する(図13の#622でYes)。なお、時刻K11は、上述の時刻Kaに相当する。
【0103】
すると、事前事後特徴除去部1322は、時刻K11の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K12の平均値AGy(値G11)を選出し、第一の特徴平均値AGy1として記憶する(#623)。なお、時刻K12は、上述の時刻Kbに相当する。
【0104】
時刻K12から時間Rが経過するまでの間(時刻K12〜時刻K16)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻K13〜時刻K14である。しかし、この時間帯の長さは時間U未満なので、事前事後特徴除去部1322は、この時間帯を検知しない(#625でNo)。
【0105】
しかも、時刻K12から時間Rが経過するまでの間に、平均値AGyの絶対値は、時刻K13で閾値α以下になり時刻K14で再び閾値αを超える。事前事後特徴除去部1322は、この遷移を検知する(#627でYes)。なお、時刻K14は、上述の時刻Kcに相当する。
【0106】
そこで、事前事後特徴除去部1322は、時刻K14の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K15の平均値AGy(値G12)を選出し、第二の特徴平均値AGy2として記憶する(#628)。
【0107】
事前事後特徴除去部1322は、第一の方法と同様に、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値とを比較する(#629)。図15の例では、後者のほうが大きい。そこで、事前事後特徴除去部1322は、第二の特徴平均値AGy2を、本動作特徴平均値AGytとして選出する(図14の#630)。
【0108】
または、図16に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0109】
事前事後特徴除去部1322は、時刻K21に、平均値AGyの絶対値が閾値αを超えたことを検知する(図13の#622でYes)。なお、時刻K21は、上述の時刻Kaに相当する。
【0110】
すると、事前事後特徴除去部1322は、時刻K21の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K22の平均値AGy(値G21)を選出し、第一の特徴平均値AGy1として記憶する(#623)。なお、時刻K22は、上述の時刻Kbに相当する。
【0111】
時刻K22から時間Rが経過するまでの間(時刻K22〜時刻K26)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻K23〜時刻K24である。しかし、この時間帯の長さは時間U未満なので、事前事後特徴除去部1322は、この時間帯を検知しない(#625でNo)。
【0112】
しかも、時刻K22から時間Rが経過するまでの間に、平均値AGyの絶対値は、時刻K23で閾値α以下になり時刻K24で再び閾値αを超える。事前事後特徴除去部1322は、この遷移を検知する(#627でYes)。なお、時刻K24は、上述の時刻Kcに相当する。
【0113】
そこで、事前事後特徴除去部1322は、時刻K24の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K25の平均値AGy(値G22)を選出し、第二の特徴平均値AGy2として記憶する(#628)。
【0114】
事前事後特徴除去部1322は、第一の方法と同様に、第一の特徴平均値AGy1の絶対値と第二の特徴平均値AGy2の絶対値とを比較する(#629)。図16の例では、前者のほうが大きい。そこで、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図14の#630)。
【0115】
または、図17に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0116】
事前事後特徴除去部1322は、時刻K31に、平均値AGyの絶対値が閾値αを超えたことを検知する(図13の#622でYes)。なお、時刻K31は、上述の時刻Kaに相当する。
【0117】
すると、事前事後特徴除去部1322は、時刻K31の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K32の平均値AGy(値G31)を選出し、第一の特徴平均値AGy1として記憶する(#623)。なお、時刻K32は、上述の時刻Kbに相当する。
【0118】
時刻K32から時間Rが経過するまでの間(時刻K32〜時刻K33)に、平均値AGyの絶対値が閾値α以下になる時間帯は、存在しない。よって、事前事後特徴除去部1322は、この時間帯を検知しない(#625でNo)。
【0119】
また、時刻K32から時間Rが経過するまでの間に、平均値AGyの絶対値が閾値α以下になることは、ない。よって、事前事後特徴除去部1322は、平均値AGyの絶対値が閾値α以下になり再び閾値αを超えるという遷移を、検知しない(#627でNo)。
【0120】
したがって、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図14の#631)。
【0121】
または、図18に示すように平均値AGyが遷移した場合は、事前事後特徴除去部1322は、次のように本動作特徴平均値AGytを選出する。
【0122】
事前事後特徴除去部1322は、時刻K41に、平均値AGyの絶対値が閾値αを超えたことを検知する(図13の#622でYes)。なお、時刻K41は、上述の時刻Kaに相当する。
【0123】
すると、事前事後特徴除去部1322は、時刻K41の直後のプラスまたはマイナスのピークの平均値AGyつまり時刻K42の平均値AGy(値G41)を選出し、第一の特徴平均値AGy1として記憶する(#623)。なお、時刻K42は、上述の時刻Kbに相当する。
【0124】
時刻K42から時間Rが経過するまでの間(時刻K42〜時刻K45)に、平均値AGyの絶対値が閾値α以下になる時間帯が、ある。この時間帯は、時刻K43〜時刻K44である。しかも、この時間帯の長さは時間U以上である。よって、事前事後特徴除去部1322は、この時間帯を検知する(#625でYes)。
【0125】
したがって、事前事後特徴除去部1322は、第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出する(図14の#631)。
【0126】
図14のステップ#632以降の処理は、図7のステップ#612以降の処理と同様である。また、第二の方法においても、第一のモーション判定部131および第三のモーション判定部133は、第二のモーション判定部132と同様に、それぞれ、X軸に係る特徴量およびZ軸に係る特徴量に基づいて本動作を特定し、モーションを判定する。
【0127】
第一の方法または第二の方法によって、複数の軸のモーションが判定できた場合は、携帯端末1は、従来の決定木の手法を用いるなどして、モーションを確定しアプリケーションまたはサービスなどに通知すればよい。
【0128】
〔第一の方法および第二の方法の変形例〕
図19は角度θ1、θ2の例を示す図である。
【0129】
図7のステップ#610で説明したように、第一の方法においては、事前事後特徴除去部1322は、第一の特徴平均値AGy1および第二の特徴平均値AGy2のうちの絶対値が大きい方を本動作特徴平均値AGytとして選出したが、次のように選出してもよい。
【0130】
事前事後特徴除去部1322は、図6のステップ#603の後、平均値AGyの絶対値が閾値αを超えてから第一の特徴平均値AGy1を選出するまでの時間における平均値AGyの変化率の絶対値を算出する。例えば、図8に示すように平均値AGyが変化した場合は、時刻T11〜時刻T12における平均値AGyの変化率の絶対値を算出する。
【0131】
なお、変化率の絶対値が大きい程、時刻T11における平均値AGyと時刻T12における平均値AGyとを結ぶ直線と0軸との角度θ1(ただし、鋭角)が大きくなる。そこで、以下、変化率の絶対値の代わりに、図19に示すように、角度θ1を算出する場合を例に説明する。
【0132】
事前事後特徴除去部1322は、図6のステップ#608の後も同様に、平均値AGyの絶対値が閾値αを超えてから第二の特徴平均値AGy2を選出するまでの時間における平均値AGyの変化率の大きさを表す角度θ2を算出する。
【0133】
事前事後特徴除去部1322は、ステップ#609において、第一の特徴平均値AGy1と第二の特徴平均値AGy2とを比較する代わりに、角度θ1と角度θ2とを比較する。そして、ステップ#610において、角度θ1のほうが大きければ第一の特徴平均値AGy1を本動作特徴平均値AGytとして選出し、角度θ2のほうが大きければ第二の特徴平均値AGy2を本動作特徴平均値AGytとして選出する。
【0134】
図9に示す例においても同様に、角度θ1と角度θ2とを算出して比較し、本動作特徴平均値AGytを選出すればよい。
【0135】
また、第二の方法においても同様に、第一の特徴平均値AGy1と第二の特徴平均値AGy2とを比較する代わりに、角度θ1と角度θ2とを比較することによって、本動作特徴平均値AGytを選出することができる。
【0136】
〔監視時間の変更〕
図20はモーション判定部103の構成の変形例を示す図、図21は角度θ3の例を示す図、図22は角度θ3と時間Rとの関係の例を示す図である。
【0137】
時間Rは、第一の方法では一定の値に予め設定されていたが、第一の特徴平均値AGy1および第二の特徴平均値AGy2に基づいて、次のように変更してもよい。
【0138】
図20に示すように、監視時間変更部1325を第二のモーション判定部132に設ける。同様に、第一のモーション判定部131および第三のモーション判定部133にも、それぞれ、監視時間変更部1315および監視時間変更部1335を設ける。
【0139】
監視時間変更部1325は、事前事後特徴除去部1322によって第一の特徴平均値AGy1および第二の特徴平均値AGy2が算出されるごとに、図21に示すような、第一の特徴平均値AGy1と第二の特徴平均値AGy2とを結ぶ直線と0軸との角度θ3(ただし、鋭角)を算出する。
【0140】
そして、監視時間変更部1325は、角度θ3が大きいほど短くなるように時間Rを変更する。
例えば、図22に示すように定められた規則に従って、監視時間変更部1325は、時間Rを変更する。なお、監視時間変更部1325によるこれらの処理は、図6のステップ#603、608の後に行えばよい。
【0141】
事前事後特徴除去部1322は、監視時間変更部1325によって変更された最新の時間Rに基づいて、上述の第一の方法で処理を行う。ただし、最初は、時間Rの初期値に基づいて、上述の第一の方法で処理を行う。
【0142】
監視時間変更部1315および監視時間変更部1335も同様に、適宜、時間Rを変更する。なお、時間Rは、第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133のそれぞれにおいて、別々に管理してもよい。つまり、時間Rは、第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133それぞれにおけるローカル変数であってもよい。
【0143】
角度θ3の代わりに、図19に示した角度θ1または角度θ2に基づいて時間Rを変更してもよい。具体的には、角度θ1に応じて時刻T12〜時刻T16の時間Rを変更し、角度θ2に応じて時刻T15〜時刻T17の時間Rを変更してもよい。つまり、時間帯ごとの時間Rを、それぞれの直前の時間Sにおける角度(本例では、角度θ1、θ2)に応じて別々に変更してもよい。この場合は、時間Rが経過するごとに、毎回、時間Rを算出し直すことができる。
【0144】
〔複数のモーション判定部によって異なるモーションが判定された場合〕
図23は携帯端末1の機能的構成の変形例を示す図、図24は最終モーション決定処理の流れの例を説明するフローチャート、図25はメタ知識データベース106およびメタ知識データ58の例を示す図である。
【0145】
携帯端末1の形状は、図1に示したように、直方体である。ユーザが携帯端末1をいずれかの辺に平行に動かすと、理想的には、その辺に平行な軸のモーション判定部のみがモーションを判定する。例えば、ユーザが携帯端末1を幅方向に平行に動かすと、第二のモーション判定部132のみがモーションを判定するはずである。
【0146】
しかし、あるモーションを行おうとユーザが携帯端末1を動かしている間、本来は1つの軸のモーション判定部のみによってモーションが判定されるべきであるにも関わらず、他の軸のモーション判定部によってもモーションが判定されることがある。
【0147】
そうすると、第一のモーション判定部131ないし第三のモーション判定部133による判定結果に基づいて処理を行うアプリケーションにおいて、ユーザが期待する処理が実行されなかったり、ユーザが期待しない処理が実行されたりするおそれがある。
【0148】
そこで、第一のモーション判定部131ないし第三のモーション判定部133による判定結果に基づいて、モーション判定部103における最終的な判定結果とするモーションを次のように決定してもよい。なお、以下、第一のモーション判定部131ないし第三のモーション判定部133のいずれかによって判定されたモーションを「候補モーション」と記載し、最終的な判定結果とするモーションを「最終モーション」と記載する。
【0149】
図23に示すように、さらに、候補モーション保存部104、同時動作有無判定部105、メタ知識データベース(メタ知識DB)106、および最終モーション決定部107を携帯端末1に設ける。
【0150】
以下、候補モーション保存部104ないし最終モーション決定部107の機能および処理の手順を、図24に示すフローチャートなどを参照して説明する。
【0151】
第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133のうちのいずれかによって候補モーションが判定されると、その候補モーションが候補モーション保存部104に保存(記憶)される(図24の#651)。
【0152】
同時動作有無判定部105は、1番目の候補モーションが候補モーション保存部104に保存されてから時間の計測を開始する(#652)。そして、所定の時間が経過するまでの間(#653でNo)、他のモーション判定部による候補モーションの判定を監視し、ほぼ同時(厳密には、所定の時間内)に複数の判定がなされたか否かを判定する。
【0153】
所定の時間内に他のいずれか1つのモーション判定部によって候補モーションが判定された場合は(#654でYes)、その候補モーション(ここでは、2番目の候補モーション)を候補モーション保存部104に保存する(#655)。
【0154】
なお、候補モーション保存部104に保存(記憶)される候補モーションには、判定がなされた時刻も対応付けられる。
【0155】
ところで、メタ知識データベース106には、図25に示すように、複数のメタ知識データ58が記憶されている。なお、図25に記載する「前傾」は、携帯端末1の上部を前方つまりユーザ自身の方に傾けることを、意味する。「後傾」は、携帯端末1の上部を後方つまりユーザから離すように傾けることを、意味する。「右傾」は、携帯端末1の右部をユーザから離すように傾けることを、意味する。「左傾」は、携帯端末1の左部をユーザから離すように傾けることを、意味する。
【0156】
メタ知識データ58は、ほぼ同時に判定される可能性のある複数の候補モーションの組合せごとに、予め用意されている。
【0157】
メタ知識データ58には、「第一のモーション」、「第二のモーション」、「第三のモーション」、および「最終決定モーション」の4つのフィールドが含まれている。
【0158】
「第一のモーション」、「第二のモーション」、および「第三のモーション」には、それぞれ、同時期に複数の候補モーションが判定された場合の、1番目に判定された候補モーション、2番目に判定された候補モーション、および3番目に判定された候補モーションが示される。
【0159】
「最終決定モーション」には、「第一のモーション」、「第二のモーション」、および「第三のモーション」にそれぞれ示される候補モーションがその順番に同時期に発生した場合にユーザが意図したと考えられるモーションが、示される。
【0160】
フローチャートに戻って、最終モーション決定部107は、1番目に判定された候補モーションと「第一のモーション」に示されるモーションとが一致しかつ2番目に判定された候補モーションと「第二のモーション」に示されるモーションとが一致するメタ知識データ58を検索する(#656)。
【0161】
そして、そのようなメタ知識データ58が1つだけ見つかった場合は(#657でYes)、最終モーション決定部107は、そのメタ知識データ58の「最終決定モーション」に示されるモーションを、最終モーションに決定し、アプリケーションなどに対して通知する(#658)。
【0162】
一方、そのようなメタ知識データ58が見つからなかった場合またはそのようなメタ知識データ58が複数見つかった場合は(#657でNo)、1番目の候補モーションが保存されてから所定の時間が経過するまでの間(#653でNo)、再び、次の(ここでは、3番目の)候補モーションが判定されるのを待つ。
【0163】
3番目の候補モーションが判定された場合は、その候補モーションが候補モーション保存部104に保存される(#655)。
【0164】
そして、最終モーション決定部107は、1番目に判定された候補モーションと「第一のモーション」に示されるモーションとが一致し、2番目に判定された候補モーションと「第二のモーション」に示されるモーションとが一致し、かつ3番目に判定された候補モーションと「第三のモーション」に示されるモーションとが一致するメタ知識データ58を検索する(#656)。
【0165】
そのようなメタ知識データ58が見つかった場合は(#657でYes)、最終モーション決定部107は、そのメタ知識データ58の「最終決定モーション」に示されるモーションを、最終的な最終モーションに決定し、アプリケーションなどに対して通知する(#658)。
【0166】
一方、そのようなメタ知識データ58が見つからなかった場合は(#657でNo)、最終モーション決定部107は、最後に判定された候補モーション(ここでは、3番目の候補モーション)を最終モーションに決定し、アプリケーションなどに対して通知する(#660)。
【0167】
また、最終モーション決定部107は、1番目の候補モーションが保存されてから所定の時間が経過するまでにメタ知識データ58に基づく最終モーションの決定ができなかった場合も(653でYes)、最後の候補モーションを最終モーションに決定し、アプリケーションなどに対して通知する(#660)。
【0168】
〔複数のモーション判定部によって異なるモーションが判定された場合の変形例〕
図26は携帯端末1の機能的構成の変形例を示す図、図27は最終モーション決定処理の流れの例を説明するフローチャートである。
【0169】
複数の候補モーションがほぼ同時に判定された場合は、通常、ユーザが意図しない候補モーションのほうが、ユーザが意図する候補モーションよりも若干早く発生することが、多い。
【0170】
そこで、この場合に、最初の候補モーションを削除し、2番目以降の候補モーションをアプリケーションなどに通知するようにしてもよい。
【0171】
図26に示すように、さらに、候補モーション保存部124、同時動作有無判定部125、および最終モーション決定部127を携帯端末1に設ける。
【0172】
以下、候補モーション保存部124、同時動作有無判定部125、および最終モーション決定部127の機能および処理の手順を、図27に示すフローチャートを参照して説明する。
【0173】
第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133のうちのいずれかによって候補モーションが判定されると、その候補モーションが候補モーション保存部124に保存される(図27の#671)。
【0174】
同時動作有無判定部125は、1番目の候補モーションが候補モーション保存部124に保存されてから時間の計測を開始する(#672)。そして、所定の時間が経過するまでの間(#673でNo)、残りのモーション判定部による候補モーションの判定を監視し、ほぼ同時に複数の判定がなされたか否かを判定する。
【0175】
所定の時間内に残りのいずれかモーション判定部によって候補モーションが判定された場合は(#674でYes)、最終モーション決定部127は、それぞれの候補モーションを最終モーションとしてアプリケーションなどに通知する(#676)。この際に、候補モーション保存部124に保存されている1番目の候補モーションを削除する(#675)。
【0176】
一方、所定の時間内に残りのいずれのモーション判定部によっても候補モーションが判定されなかった場合は(#673でYes)、候補モーション保存部124に保存されている1番目の候補モーションを最終モーションとしてアプリケーションなどに通知する(#677)。
【0177】
〔アプリケーションに応じた判定結果の選択〕
図28は携帯端末1の機能的構成の変形例を示す図、図29および図30は最終モーション決定処理の流れの例を説明するフローチャート、図31は携帯端末1の姿勢の例を示す図、図32は姿勢テーブルTL1、アプリケーション別有効軸テーブルTL2、およびモーション候補テーブルTL3の例を示す図である。
【0178】
アプリケーションまたはサービスによって、第一のモーション判定部131ないし第三のモーション判定部133の候補モーションの重要度が変わることがある。例えば、万歩計(登録商標)のアプリケーションの場合は、鉛直方向のモーションを検知することが最も重要である。
【0179】
そこで、第一のモーション判定部131ないし第三のモーション判定部133の候補モーションに基づいて、動作中のアプリケーションまたはサービスに応じて次のようにアプリケーションまたはサービスへ通知するようにしてもよい。
【0180】
図28に示すように、さらに、端末姿勢判定部151、動作アプリケーション検出部152、候補モーション保存部153、同時動作有無判定部154、メタ知識データベース155、および最終モーション決定部156を携帯電話端末1に設ける。
【0181】
以下、端末姿勢判定部151ないし最終モーション決定部156の機能および処理の手順を、図29および図30に示すフローチャートなどを参照して説明する。
【0182】
端末姿勢判定部151は、特徴量算出部102によって算出される分散値および平均値に基づいて携帯端末1の姿勢を例えば次のように判定する。
【0183】
例えば、端末姿勢判定部151は、全ての軸の分散値を取得し(#681)、全ての軸の分散値の合計が閾値未満であれば(図29の#682でYes)、X軸とY軸の平均値の絶対値を比較する(#683)。
【0184】
そして、端末姿勢判定部151は、X軸の平均値の絶対値がY軸の平均値の絶対値よりも大きければ(#684でYes)、図31(A)に示すように携帯端末1が縦向きであると、判定する(#685)。そうでない場合は(#684でNo)、端末姿勢判定部151は、図31(B)に示すように携帯端末1が縦向きであると、判定する(#686)。
【0185】
端末姿勢判定部151による処理と並行してまたは前後して、動作アプリケーション検出部152は、携帯端末1で動作中であるアプリケーションおよびサービスを検出する(#687)。
【0186】
第一のモーション判定部131、第二のモーション判定部132、および第三のモーション判定部133のうちのいずれかによって候補モーションが判定されると、候補モーションが候補モーション保存部153に保存(記憶)される(図30の#688)。
【0187】
同時動作有無判定部154は、1番目の候補モーションが候補モーション保存部153に保存されてから時間の計測を開始する(#689)。そして、所定の時間が経過するまでの間、残りのモーション判定部による候補モーションの判定を監視し、ほぼ同時(厳密には、所定の時間内)に複数の判定がなされたか否かを判定する。
【0188】
所定の時間内に残りのいずれかのモーション判定部によって候補モーションが判定された場合は(#690でYes)、その候補モーション(つまり、2番目の候補モーション)を候補モーション保存部153に保存する(#691)。
【0189】
ところで、メタ知識データベース155には、姿勢テーブルTL1、アプリケーション別有効軸テーブルTL2、およびモーション候補テーブルTL3が記憶されている。
【0190】
姿勢テーブルTL1は、図32(A)のように、姿勢ごとに、携帯端末1がその姿勢であるときにX軸、Y軸、およびZ軸のうちのどれが上下方向(鉛直方向)の軸および前後方向の軸と平行になるのかを、示している。
【0191】
アプリケーション別有効軸テーブルTL2は、図32(B)のように、アプリケーションおよびサービスごとに、上下方向、前後方向、および左右方向の各軸(以下、「上下軸」、「前後軸」、および「左右軸」と記載する)のうち特に重要な軸(有効軸)および不要な軸(無効軸)を示している。
【0192】
モーション候補テーブルTL3は、図32(C)のように、X軸、Y軸、およびZ軸それぞれの動作が検知された場合にユーザが行おうとしたと考えられるモーションを示している。
【0193】
フローチャートに戻って、最終モーション決定部156は、所定の時間内に判定された複数の候補モーション、端末姿勢判定部151によって判定された姿勢、および動作アプリケーション検出部152によって検出されたアプリケーションまたはサービスと、メタ知識データベース155に記憶されている各テーブルとを、次のように照合し最終モーションを決定する(#692、#693)。
【0194】
最終モーション決定部156は、まず、端末姿勢判定部151によって判定された姿勢と姿勢テーブルTL1とを照合し、この姿勢を示すレコードを抽出する。次に、抽出したレコードの「有効軸」に示される軸に対応する軸を選出する。例えば、万歩計(登録商標)のアプリケーションが検出されておりかつ姿勢が「縦」であると判定されている場合は、最終モーション決定部156は、X軸を選出する。そして、選出した軸に対応する候補モーションを、最終モーションに決定する。ただし、モーション候補テーブルTL3に、選出した軸に対応するモーションが示される場合は、そのモーションを最終モーションに決定する。
【0195】
または、最終モーション決定部156は、抽出したレコードの「無効軸」に示される軸に対応する軸を選出する。例えば、モーションUIのサービスが検出されておりかつ姿勢が「横」であると判定されている場合は、最終モーション決定部156は、Z軸を選出する。そして、選出した軸に対応する候補モーションを削除し、それ以外の軸の候補モーションを最終モーションに決定する。ただし、モーション候補テーブルTL3に、それ以外の軸に対応するモーションが示される場合は、そのモーションを最終モーションに決定する。
【0196】
そして、最終モーション決定部156は、決定した最終モーションをアプリケーションまたはサービスに通知する(#694)。
【0197】
一方、所定の時間内に残りのいずれのモーション判定部によっても候補モーションが判定されなかった場合は(#690でNo)、最終モーション決定部156は、1番目の候補モーションを最終モーションに決定し、アプリケーションまたはサービスに通知する(#695)。
【0198】
〔ユーザに応じたメタ知識データベース106の調整〕
図33は携帯端末1の機能的構成の変形例を示す図、図34はメタ知識調整処理の流れの例を説明するフローチャート、図35は最終モーションおよびその正否の判定結果の例を示す図である。
【0199】
メタ知識データベース(メタ知識DB)106には、図25に示したように、複数のメタ知識データ58が記憶されている。メタ知識データ58の内容は、一般的な人間の操作に基づいて予め決められる。
【0200】
しかし、極端に動作が速いユーザおよび遅いユーザが携帯端末1を使用すると、期待通りに携帯端末1によってモーションが検知されるとは、限らない。
【0201】
そこで、携帯端末1を次のように構成し、同時動作有無判定部105のカスタマイズを行ってもよい。
【0202】
図33に示すように、判定結果履歴データベース161、誤認識発生判定部162、メタ知識生成部163、およびメタ知識調整部164を、さらに、携帯端末1に設ける。
【0203】
以下、判定結果履歴データベース161ないしメタ知識調整部164などの機能および処理の手順を、図34に示すフローチャートなどを参照して説明する。
【0204】
最終モーション決定部107によって決定(判定)された最終モーションは、同時期に判定された候補モーションとともに、判定結果履歴データベース161に記憶される。
【0205】
誤認識発生判定部162は、判定結果履歴データベース161に記憶されている最終モーションが正しいか否かを判定する(図34の#701)。
【0206】
例えば、最終モーションがアプリケーションに伝えられた後、短い時間(例えば、1秒)以内にキャンセルボタンが押されるなど所定の操作が行われた場合は、誤認識発生判定部162は、その最終モーションが誤りであると判定する。そうでない場合は、正しいと判定する。
【0207】
正否の判定結果は、図35に示すように、その最終モーションと対応付けられて、判定結果履歴データベース161に記憶される(#702)。
【0208】
メタ知識生成部163は、誤りの最終モーション(以下、「第一の最終モーション」と記載する。)が行われた後、他の最終モーションが一定の数(例えば、3つ)判定されるまでまたは一定の時間(例えば、10秒)以内に、正しい最終モーション(以下、「第二の最終モーション」と記載する。)が判定結果履歴データベース161に記憶されているか否かをチェックする。そして、そのような2つの最終モーションがあれば(#703でYes)、さらに、両者に対応付けられている各軸の候補モーション同士を比較する。
【0209】
いずれかの軸の候補モーションが同一であれば、メタ知識生成部163は、ユーザが第二の最終モーションを行おうとしたが誤って第一の最終モーションであると判定されたと、推定する。そして、第一の最終モーションに対応する各候補モーションと第二の最終モーションとを示すメタ知識データ58を生成する。
【0210】
メタ知識調整部164は、生成されたメタ知識データ58をメタ知識データベース106に記憶させる。これにより、メタ知識が調整される。
【0211】
図35の例では、「前傾」と誤って判定された第一の最終モーションは、直後の第二の最終モーションとY軸の候補モーションが共通する。そこで、メタ知識生成部163は、X軸、Y軸、およびZ軸それぞれの候補モーションとして、この第一の最終モーションのX軸、Y軸、およびZ軸それぞれの候補モーションを示し、かつ、最終モーションとしてこの第二の最終モーションを示すメタ知識データ58を生成する。
【0212】
〔アプリケーションにおける最終モーションの使用〕
図36はモーションと処理との関係の例を示す図である。
【0213】
アプリケーションは、モーション判定部103または最終モーション決定部107、127、156で判定された候補モーションまたは最終モーションに応じて処理を行う。図36にその一例を示す。
【0214】
上に述べた各実施形態によると、ユーザが行ったつもりのモーションを従来よりも確実に判定することができる。特に、ユーザの癖の特徴を除去し、判定の確実性を高めることができる、
図3などに示す各部をIC(Integrated Circuit)またはLSI(Large Scale Integration)などによって構成してもよい。
【0215】
携帯端末1の筐体は、本実施形態では図1に示したように直方体であったが、折畳み式の筐体の場合にも、本発明を適用することができる。
【0216】
本発明は、上述の携帯端末だけでなく、携帯電話端末、PDA(Personal Digital Assistant)および携帯型ゲーム装置など様々な可搬型装置に適用することができる。
【0217】
その他、携帯端末1の全体または各部の構成、処理内容、処理順序、テーブルの構成および値などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【0218】
1 携帯端末(モーション判定装置)
102 特徴量算出部(加速度情報取得手段)
106 メタ知識データベース(モーション関係記憶手段)
107、127、156、 最終モーション決定部(第二のモーション判定手段)
131 第一のモーション判定部(第一のモーション判定手段)
1312、1322、1332 事前事後特徴除去部(特定加速度選出手段)
1314、1324、1334 モーション検索部(モーション判定手段)
1315、1325、1335 監視時間変更部(補正手段)
132 第二のモーション判定部(第一のモーション判定手段)
133 第三のモーション判定部(第一のモーション判定手段)
161 判定結果履歴データベース(判定履歴記憶手段)
163 メタ知識生成部(共通判定モーション選出手段)
164 メタ知識調整部(モーション関係調整手段)

【特許請求の範囲】
【請求項1】
モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションに基づき、一定の時間間隔にて、当該モーションセンサにより、当該モーションセンサまたは当該モーションセンサを備える装置の位置または姿勢の変化を示す検知情報を取得し、取得した検知情報と、当該検知情報を取得した時刻とを対応づけて記憶する、検知情報取得部と、
前記検知情報のうちの、相違する複数の時刻それぞれにおける特徴を示す特徴量を算出する、特徴量算出部と、
前記複数の特徴量のうちのいずれか1つに基づいて、前記モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションを判定する、モーション判定部と、
を有するモーション判定装置。
【請求項2】
前記特徴量算出部は、前記検知情報の絶対値が所定の値を超えてから所定の時間後の前記検知情報を前記特徴量の1つとして算出し、その後、前記検知情報の絶対値が前記所定の値未満になり再び前記所定の値を超えてから前記所定の時間後の前記検知情報を前記特徴量の他の1つとして算出する、
請求項1記載のモーション判定装置。
【請求項3】
前記特徴量算出部は、前記特徴量を、前記検知情報を表す山または谷のそれぞれのピーク時の前記検知情報を、前記特徴量として算出する、
請求項1記載のモーション判定装置。
【請求項4】
前記モーション判定部は、前記複数の特徴量のうちの絶対値が最も大きいものに基づいて、前記モーションを判定する、
請求項1ないし請求項3のいずれかに記載のモーション判定装置。
【請求項5】
前記モーション判定部は、前記複数の特徴量のうちの直前の変化率の絶対値が最も大きいものに基づいて、前記モーションを判定する、
請求項1ないし請求項3のいずれかに記載のモーション判定装置。
【請求項6】
前記変化率が大きいほど前記所定の時間を短くなるように補正する補正部、を有する、
請求項5記載のモーション判定装置。
【請求項7】
判定されたモーションの組合せと、最終的に判定されたモーションとを、対応付けて記憶する、モーション関係記憶部、を有し、
前記モーション判定部は、前記複数の特徴量のそれぞれが示すモーションの組合せを照合し、一致する組み合わせに対応付けられている前記最終的に判断されたモーションを、前記モーションであると判定する、
請求項1ないし請求項6のいずれかに記載のモーション判定装置。
【請求項8】
前記モーション判定部は、前記モーションセンサが用いられているアプリケーションまたはサービスおよび前記モーションセンサの姿勢に応じて、前記モーションを判定する、
請求項1ないし請求項7のいずれかに記載のモーション判定装置。
【請求項9】
前記モーションのうちの誤りのある誤判定モーションおよび正しく判定された正判定モーションを記憶する、判定履歴記憶部と、
前記誤判定モーションの判定がなされた後、前記正判定モーションのうちの、所定の判定の回数または所定の時間内に判定され、かつ、基になる前記モーションのいずれかが共通する、共通判定モーションを選出する、共通判定モーション選出部と、
前記共通判定モーションを前記最終的に判断されたモーションとして、かつ、前記誤判定モーションの基になる前記モーションを前記判定されたモーションの組合せとして、両者を対応付けて前記モーション関係記憶部に記憶させる、モーション関係調整部と、を有する、
請求項1ないし請求項8のいずれかに記載のモーション判定装置。
【請求項10】
前記モーションセンサは、加速度センサ、角速度センサ、ジャイロセンサ、または地磁気センサのいずれかである
請求項1ないし請求項9のいずれかに記載のモーション判定装置。
【請求項11】
モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションに基づき、一定の時間間隔にて、当該モーションセンサにより、当該モーションセンサまたは当該モーションセンサを備える装置の位置または姿勢の変化を示す検知情報を取得し、
取得した検知情報と、当該検知情報を取得した時刻とを対応づけて記憶し、
前記検知情報のうちの、相違する複数の時刻それぞれにおける特徴を示す特徴量を算出し、
前記複数の特徴量のうちのいずれか1つに基づいて、前記モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションを判定する、
モーション判定方法。
【請求項12】
コンピュータに、
モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションに基づき、一定の時間間隔にて、当該モーションセンサにより、当該モーションセンサまたは当該モーションセンサを備える装置の位置または姿勢の変化を示す検知情報を取得する処理と、
取得した検知情報と、当該検知情報を取得した時刻とを対応づけて記憶する処理と、
前記検知情報のうちの、相違する複数の時刻それぞれにおける特徴を示す特徴量を算出する処理と、
前記複数の特徴量のうちのいずれか1つに基づいて、前記モーションセンサまたは当該モーションセンサを備える装置に対して行われたモーションを判定する処理と、
を実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate


【公開番号】特開2011−197992(P2011−197992A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−63656(P2010−63656)
【出願日】平成22年3月19日(2010.3.19)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】