JP5454133B2 - 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム - Google Patents

検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP5454133B2
JP5454133B2 JP2009294487A JP2009294487A JP5454133B2 JP 5454133 B2 JP5454133 B2 JP 5454133B2 JP 2009294487 A JP2009294487 A JP 2009294487A JP 2009294487 A JP2009294487 A JP 2009294487A JP 5454133 B2 JP5454133 B2 JP 5454133B2
Authority
JP
Japan
Prior art keywords
detection information
axis
correction
detected
data
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
JP2009294487A
Other languages
English (en)
Other versions
JP2011133416A (ja
Inventor
愛 矢野
隆一 松倉
潤 角田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009294487A priority Critical patent/JP5454133B2/ja
Priority to US12/971,771 priority patent/US8942759B2/en
Priority to EP10196455.9A priority patent/EP2343626B1/en
Publication of JP2011133416A publication Critical patent/JP2011133416A/ja
Application granted granted Critical
Publication of JP5454133B2 publication Critical patent/JP5454133B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1636Sensing arrangement for detection of a tap gesture on the housing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Gyroscopes (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Measuring Fluid Pressure (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本発明は、モーションセンサによって検知される検知情報を補正する装置および方法などに関する。
近年、携帯電話端末、スマートフォン、PDA(Personal Digital Assistant)、および携帯型ゲーム機などの装置にモーションセンサが搭載されるようになった。「モーションセンサ」とは、携帯電話端末1のモーションを検知するためのセンサであって、例えば加速度センサ、ジャイロセンサ、または地磁気センサなどである。
モーションセンサを用いた技術が幾つか提案されている。例えば、幼児の動きを検出するために、次のようにモーションセンサが用いられる。保育園などで保育される各幼児に加速度センサー等の移動量検出手段を装着して、幼児の行動を連続的に記録する。また、画像処理用のTVカメラ等の位置検出手段で幼児を撮影し、各幼児100の位置を幼児自身を同定することなく検出する。そして、移動量検出手段により検出した幼児の移動量情報と、位置検出手段により検出した幼児の位置情報とを照合し、各幼児の連続する位置を、各幼児を個々に特定しつつ検出する(特許文献1)。
または、モーションセンサは、撮影装置の手振れ補正用のユニットに次のように組み込まれている。手振れ補正ユニットは、揺れを検知する揺れ検知センサと、撮像素子および光学系を有する撮像ユニットと、撮像ユニットを支持する筐体と、アクチュエータとを備える。アクチュエータは、揺れ検知センサで検出された揺れに応じて撮像ユニットと筐体とを相対的に駆動することによって手振れを補正する。筐体は、少なくとも、側面部と底面部とで撮像ユニットを覆っている。揺れ検知センサは、筐体の側面部の外側表面よりも内側に配置されている(特許文献2)。
また、モーションセンサの搭載が進むにつれて、今後、モーションUI(User Interface)が普及すると考えられる。「モーションUI」とは、ユーザが装置を傾けたり水平移動させたりすることによって装置に対して指令を与えたりデータを入力したりするなどの操作を行うことができる、UIである。マウス、キーボード、およびタッチパネルなどの代わりに用いられまたは併用される。
モーションUIを操作することは、マウス、キーボード、およびタッチパネルなどを操作することよりも簡単である。よって、モーションUIは、装置を簡単に操作するためのUIとして注目されている。
モーションUIを適用した携帯電話装置が、提案されている。例えば、携帯電話装置に、三次元加速度センサ等の動作検出センサを備える。これにより、ユーザが携帯電話装置を振ったりする動作を検出する。携帯電話装置は、動作検出センサによって検出された動作に応じて楽音発生を制御し、ユーザの動作に応じて制御された楽音をスピーカから放音する。
特開2004−96501号公報 特開2006−154345号公報 特開2003−76368号公報
しかし、ユーザがモーションUIを用いて同一の指令を装置に対して与えたつもりでも、モーションセンサは、装置を使用するユーザ、装置の持ち方、または装置が使用される環境(電車の中、歩行中など)などの状況によって、異なる加速度を検知する。なお、装置の持ち方の例として、装置を左手で持つ、右手で持つ、両手で持つ、装置の上の方を持つ、下の方を持つ、装置の表示面を地面に平行にして持つ、および装置の表示面を鉛直方向に平行にして持つなどが挙げられる。
状況によって加速度が検知されると、ユーザが装置に対して与えようとした指令を装置が誤認識してしまうおそれがある。
本発明は、このような問題点に鑑み、ユーザが与えようとした指令などの誤認識が従来よりも低減されるように、モーションセンサによって検知される検知情報を補正することを、目的とする。
本発明の一形態に係る検知情報補正装置は、可搬型の装置に設けられているモーションセンサによって検知される検知情報を補正する検知情報補正装置であって、ユーザが前記可搬型の装置を持つ手の位置を検知する持ち手位置検知手段と、前記可搬型の装置が使用される状態として前記可搬型の装置の姿勢を、検知された前記検知情報に基づいて検知する使用状態検知手段と、特定のタイミングごとに、前記検知情報を補正するためのデータである補正用データを、検知された前記状態および前記位置に応じて取得する補正用データ取得手段と、最新の前記補正用データを用いて、検知された前記検知情報を補正する検知情報補正手段と、を有する。
または、前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置の幅方向の第一の軸、高さ方向の第二の軸、および奥行き方向の第三の軸それぞれと地面との角度である第一の角度、第二の角度、および第三の角度を検知し、前記モーションセンサは、前記検知情報として、前記第一の軸、前記第二の軸、および前記第三の軸それぞれの方向の加速度である第一の加速度、第二の加速度、および第三の加速度を検知し、前記補正用データ取得手段は、前記補正用データとして、検知された前記第一の角度、前記第二の角度、および前記第三の角度それぞれの余弦であって前記第一の加速度、第二の加速度、および第三の加速度それぞれに掛けるための第一の係数、第二の係数、および第三の係数を取得する。
または、前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置に揺れが生じているか否かを検知し、前記補正用データ取得手段は、前記補正用データとして、前記揺れを示すデータを取得し、前記検知情報補正手段は、検知された前記検知情報を、当該検知情報の変化を表す波から前記補正用データに示される前記揺れの成分が除去されるように、補正する。
または、前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置に揺れが生じているか否かを検知し、前記補正用データ取得手段は、前記揺れが検知されたタイミングで前記補正用データを取得する。
本発明によると、ユーザが与えようとした指令などの誤認識が従来よりも低減されるように、モーションセンサによって検知される検知情報を補正することができる。
携帯電話端末の外観の例を示す図である。 携帯電話端末のハードウェア構成の例を示す図である。 携帯電話端末の機能的構成の例を示す図である。 携帯電話端末とユーザの手との位置関係の例を示す図である。 モーション処理対応テーブルの例を示す図である。 第一の方法を適用した場合の携帯電話端末の機能的構成の例を示す図である。 第一の補正処理の流れの例を説明するフローチャートである。 モーションセンサの配置の例を示す図である。 補正値テーブルの例を示す図である。 第二の方法を適用した場合の携帯電話端末の機能的構成の例を示す図である。 第二の補正処理の流れの例を説明するフローチャートである。 第三の方法を適用した場合の携帯電話端末の機能的構成の例を示す図である。 第三の補正処理の流れの例を説明するフローチャートである。 第四の方法を適用した場合の携帯電話端末の機能的構成の例を示す図である。 閾値補正処理の流れの例を説明するフローチャートである。 第四の方法を適用した場合の携帯電話端末の機能的構成の変形例を示す図である。 第五の方法を適用した場合の携帯電話端末の機能的構成の例を示す図である。 補正値調整処理の流れの例を説明するフローチャートである。
図1は携帯電話端末1の外観の例を示す図、図2は携帯電話端末1のハードウェア構成の例を示す図、図3は携帯電話端末1の機能的構成の例を示す図、図4は携帯電話端末1とユーザの手との位置関係の例を示す図、図5はモーション処理対応テーブルTLAの例を示す図である。
携帯電話端末1は、携帯電話網を介して他の装置と通信を行う機能を備えた装置である。携帯電話端末1の筐体の大きさは人間の片手に収まる程度であり、形状は直方体である。以下、図1に示すように、携帯電話端末1の高さの軸、幅の軸、および厚さの軸をそれぞれ、「X軸」、「Y軸」、および「Z軸」と定義する。各軸のプラス(+)方向およびマイナス(−)方向も、図1に示す通りである。
携帯電話端末1は、図2に示すように、CPU(Central Processing Unit)10a、メモリ10b、液晶タッチパネル10c、通信モジュール10d、マイク10e、スピーカ10f、電源供給部10g、モーションセンサ10h、および接触センサ10iなどが含まれる。
液晶タッチパネル10cは、液晶タイプのタッチパネルである。液晶タッチパネル10cには、ユーザの操作などに応じて様々な画面が表示される。また、ユーザの触れた位置を検知し、その位置を示す信号をCPU10aへ送る。
なお、図1には、携帯電話端末1として、表側の面のほぼ全体に液晶タッチパネル10cが設けられている携帯電話端末を例示しているが、液晶タッチパネル10cとともにテンキーなどのボタンが配置された携帯電話端末を携帯電話端末1として用いてもよい。
通信モジュール10dは、基地局などと無線通信を行うための装置である。マイク10eは、音声を集音しデジタル信号に変換する。スピーカ10fは、通信モジュール10dによって受信されたデジタル信号などに基づいて音声を出力する。
電源供給部10gは、携帯電話端末1を構成する各ハードウェアへ充電池または商用電源などから電力を供給する。
モーションセンサ10hは、携帯電話端末1のモーションを検知するためのセンサである。モーションセンサ10hとして、加速度センサ、角速度センサ、ジャイロセンサ、または地磁気センサなどが用いられる。
例えば、モーションセンサ10hとして加速度センサが用いられた場合は、X軸、Y軸、およびZ軸それぞれの方向の加速度を計測する。各軸の加速度の組合せは、携帯電話端末1の姿勢を表している。また、各軸の加速度を計測し続けることによって、携帯電話端末1の位置または姿勢の変化、つまり、モーション(動作)を検知することができる。
または、モーションセンサ10hとしてジャイロセンサが用いられた場合は、X軸、Y軸、およびZ軸それぞれを回転軸とする角加速度を計測する。各軸の角加速度の組合せは、携帯電話端末1の姿勢を表している。また、各軸の角加速度を計測し続けることによって、携帯電話端末1の位置または姿勢の変化、つまり、モーション(動作)を検知することができる。
このように、モーションセンサ10hは、携帯電話端末1の姿勢を表す値を計測する。さらに、その値の変化を観測することによって、携帯電話端末1は、自らになされたモーションを検知することができる。
接触センサ10iは、ユーザの手が携帯電話端末1のどの部分を触れているかを検知するためのセンサである。接触センサ10iとして、照度センサ、温度センサ、または近接センサなどが用いられる。または、液晶タッチパネル10cを接触センサ10iの一部分または全部として用いてもよい。
メモリ10bには、図3に示す前処理部101、変化データ補正部102、特徴量算出部103、モーション学習データベース104、およびモーション判定部105などの機能を実現するためのプログラムおよびデータがインストールされている。これらのプログラムは、CPU10aによって実行される。
ユーザは、所定のモーション(動作)を携帯電話端末1全体に対して行うことによって、種々の指令を携帯電話端末1に対して与えることができる。例えば、携帯電話端末1を右へ動かすことによって、画面のスクロールの指令を与えることができる。
モーションの判定は、主にモーションセンサ10hおよび接触センサ10iのほか図3に示す各部が連携して行う。特に、変化データ補正部102は、携帯電話端末1の動きの変化量を補正する処理を行う。これにより、モーションの判定を従来よりも正確に行うことができる。以下、モーションセンサ10h、接触センサ10i、および図3に示す各部の処理内容などについて、順次説明する。
モーションセンサ10hは、加速度または角加速度を計測し続ける。これにより、各軸の加速度または角加速度の変化を示すデータが得られる。以下、このデータを「変化データ30」と記載する。
接触センサ10iは、ユーザによって触れられている部分を検知する。これにより、検知された部分を示すデータが得られる。以下、このデータを「接触データ40」と記載する。
前処理部101は、変化データ30に対して、ノイズを除去する処理を行う。ノイズを除去する処理は、LPF(Low Pass Filter)を用いて行ってもよい。以下、この処理が施された変化データ30を「変化データ31」と記載する。
ところで、変化データ31は、携帯電話端末1が使用されている条件の特徴が表れる。例えば、同一のユーザが使用する場合であっても、走行中の電車の中で使用するという状況、歩きながら使用するという状況、および何の乗り物にも乗らず椅子に座って使用するという状況それぞれにおいて、変化データ31には異なった特徴が表れる。
また、同一の状況の下であっても、携帯電話端末1を使用するユーザが異なれば、変化データ31には異なった特徴が表れる。なぜなら、携帯電話端末1の操作の仕方にユーザごとの癖が見られるからである。
また、同一のユーザが同一の状況の下で同一のモーションを行ったつもりでも、携帯電話端末1の持ち方によって、変化データ31には異なった特徴が表れる。例えば、図4(a)〜(f)に示すように、携帯電話端末1を縦長の姿勢または横長の姿勢にして、ユーザから向かって左側を持ったり右側を持ったり下側を持ったりするが、同じユーザが持った場合であっても、これらの持ち方によって変化データ31には異なった特徴が表れる。
携帯電話端末1が使用される状況、携帯電話端末1を使用するユーザ、または携帯電話端末1の持ち方によって変化データ31に異なった特徴が表れると、ユーザが携帯電話端末1に対してどのようなモーションを行ったのかを正確に判定することが難しい。
そこで、変化データ補正部102は、変化データ31に基づいて、携帯電話端末1が現在使用されている状況またはユーザの癖などを検出する。さらに、接触データ40に基づいて、携帯電話端末1の持ち方を検出する。そして、これらの検出結果に基づいて、変化データ31を補正する処理を行う。以下、補正の処理が施された変化データ31を「変化データ32」と記載する。
特徴量算出部103は、変化データ32に示される加速度または角加速度の平均値または分散値をX軸、Y軸、およびZ軸ごとに算出したり、FFT(Fast Fourier Transform)などの計算方法を利用したりして、変化データ32に表れている、携帯電話端末1の動作の特徴を示す量(以下、「特徴量U」と記載する。)を算出する。
モーション学習データベース104には、図5に示すように、各特徴量F(Fa、Fb、Fc、…)に応じたモーションを示すモーション処理対応テーブルTLAが予め記憶されている。
モーション判定部105は、特徴量算出部103によって算出された特徴量Uおよびモーション学習データベース104に記憶されているモーション処理対応テーブルTLAに基づいて、携帯電話端末1に対して行われたモーションを判定する。
例えば、特徴量Uに含まれるX軸、Y軸、およびZ軸それぞれの値(Gx,Gy,Gz)とモーション処理対応テーブルTLAに示される各特徴量FのX軸、Y軸、およびZ軸それぞれの値(Fx,Fy,Fz)とを比較する。そして、3軸すべてについて特徴量Uに含まれる値(Gx,Gy,Gz)がモーション処理対応テーブルTLAに示されるいずれかの特徴量Fの各値(Fx,Fy,Fz)以上であった場合、つまり、Gx≧Fx、Gy≧Fy、およびGz≧Fzの条件をすべて満たした場合に、モーション判定部105は、この特徴量Fに係るモーションが行われたと、判定する。一方、この条件を満たす特徴量Fが1つもない場合は、モーション判定部105は、モーションが行われなかったと判定する。以下、この条件を「モーション条件」と記載する。
行われたモーションが判定できれば、携帯電話端末1は、モーション処理対応テーブルTLAに基づいて、そのモーションに対応する処理を行う。例えば「端末を前に傾ける」というモーションが行われたと判定した場合は、画面を下にスクロールする処理を行う。
変化データ補正部102による変化データ31の補正は、様々な方法で行うことができる。以下、変化データ31の補正の方法の例を順次説明する。
〔変化データ31の補正の第一の方法〕
図6は第一の方法を適用した場合の携帯電話端末1の機能的構成の例を示す図、図7は第一の補正処理の流れの例を説明するフローチャート、図8はモーションセンサ10ja〜10jdの配置の例を示す図、図9は補正値テーブルTLBの例を示す図である。
図6に示すように、図3の変化データ補正部102に、端末姿勢判定部121、持ち手位置判定部122、補正値データベース123、補正値取得部124、および補正演算部125を設けておく。
モーションセンサ10hとして、加速度センサが用いられる。モーションセンサ10hは、携帯電話端末1の姿勢およびその変化を計測し、それらを示す変化データ30を生成する。
接触センサ10iは、前述の通り、ユーザの手が携帯電話端末1のどの部分を触れているかを検知し、その結果を示す接触データ40を生成する。
前処理部101は、前に図3を参照しながら説明した通り、モーションセンサ10hによって生成された変化データ30に対してノイズの除去の処理を施すことによって、変化データ31を生成する。
変化データ31には、前処理部101による処理が施された、一定の個数の時刻における各軸の加速度のデータが含まれている。
変化データ補正部102の各部は、図7のフローチャートに示す手順で変化データ31を補正することによって変化データ32を生成する。
端末姿勢判定部121は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの分散値を算出し(図7の#601)、それらがすべて閾値未満である場合に(#602でYes)、変化データ31に基づいて携帯電話端末1自身の姿勢を次のように判別する(#603〜#605)。
本実施形態では、端末姿勢判定部121は、携帯電話端末1を、図4(a)〜(c)に示すように縦長の姿勢で持っているか、図4(d)〜(f)に示すように横長の姿勢で持っているかを判定する。そこで、端末姿勢判定部121は、変化データ31に示される、X軸およびY軸それぞれの最新の加速度の絶対値に基づいて縦長の姿勢であるか横長の姿勢であるかを判定する。
すなわち、端末姿勢判定部121は、X軸の加速度の絶対値がY軸の加速度の絶対値よりも大きければ(#603でYes)、縦長の姿勢であると判定する(#604)。そうでなければ(#603でNo)、横長の姿勢であると判定する(#605)。
持ち手位置判定部122は、接触センサ10iによって生成された接触データ40に基づいて、ユーザが携帯電話端末1のどの部分(位置)に触れて持っているのか、つまり、ユーザと携帯電話端末1との接触の位置を判定する(#606)。以下、この位置を「持ち手位置」と記載する。
図4から分かるように、携帯電話端末1の持ち方によって携帯電話端末1の触れられる部分が異なる。
そこで、例えば、予め、標準的な大きさの手の人が、図4(a)〜(f)に示すそれぞれの持ち手位置(持ち方)で携帯電話端末1を持った場合の、触れられる部分(接触部分)を示すデータを取得し、テンプレートとして携帯電話端末1に登録しておく。そして、持ち手位置判定部122は、接触データ40に示される接触部分と各テンプレートに示される接触部分とをマッチングし、重複する部分が最も多いテンプレートに係る持ち手位置を、現在の持ち手位置であると判定する。
以下、図4(a)および(d)に示す各持ち手位置を「左」と記載し、図4(b)および(e)に示す各持ち手位置を「下」と記載し、図4(c)および(f)に示す各持ち手位置を「右」と記載する。
または、携帯電話端末1の複数の個所にモーションセンサを接触センサ10iの代わりに設け、それらのモーションセンサから得られるデータに基づいて持ち手位置および姿勢の両方を判定してもよい。例えば、携帯電話端末1を正面視したときの4隅に、図8のようにモーションセンサ10ja〜10jdを1つずつ設ける。ユーザは、通常、携帯電話端末1を持っているときは、無意識に携帯電話端末1を動かしている。このとき、携帯電話端末1は、ユーザに持たれている位置に近いほどあまり動かず、遠いほどよく動く。
したがって、図4(a)〜(f)に示す持ち手位置および姿勢の場合それぞれにおいて、各モーションセンサのデータの変化の大きさの順番が異なる。例えば、ユーザが携帯電話端末1を図4(a)に示すように左手で縦長の姿勢で持っているときは、各モーションセンサのデータは、モーションセンサ10jb、10jd、10ja、10jcの順に変化が小さい。つまり、データの変化の順を小さい順に並べたときにモーションセンサ10jb、10jd、10ja、10jcの各データである場合は、左手で縦長の姿勢で持っていると、判定できる。
このように、各モーションセンサのデータの変化の大きさの順番を検知することによって、持ち手位置および姿勢を判定することができる。
なお、モーションセンサ10ja〜10jdのいずれかがモーションセンサ10hを兼用ねてもよい。また、モーションセンサ10ja〜10jdの位置は、4隅に限られない。例えば、モーションセンサ10ja〜10jdを各辺の中点付近に設けてもよい。
ところで、上述したように、変化データ31は、携帯電話端末1の持ち方によって異なった特徴が表れる。そこで、持ち方による影響を低減するために、後述する変化データ31の補正のための演算処理に用いられる値(以下、「補正値」と記載する。)が、持ち方ごとに用意され、補正値データベース123に記憶されている。
第一の方法では、図9のように、各姿勢および各持ち手位置との組合せごとの補正値テーブルTLB(TLB1〜TLB6)が補正値データベース123に記憶されている。補正値テーブルTLBには、6つの補正値が示されているが、これらの用い方は後に説明する。
図3および図7に戻って、補正値取得部124は、持ち手位置判定部122によって判定された持ち手位置および端末姿勢判定部121によって判定された姿勢に対応する補正値テーブルTLBを補正値データベース123から取得する(#607)。例えば、持ち手位置が「左」であると判定されかつ姿勢が「縦長」であると判定された場合は、補正値取得部124は、図9(a)に示す補正値テーブルTLB1を取得する。
このように端末姿勢判定部121は、ステップ#601において算出した特徴量の各軸の成分がすべて閾値未満である場合に、携帯電話端末1自身の姿勢を判定する。この閾値は、携帯電話端末1が静止しているとみなせる程度の値である。つまり、ゼロに近い値である。すなわち、端末姿勢判定部121は、ユーザが携帯電話端末1に対してモーションを行っていないときに、姿勢を判定する。ただし、電源がオンになった直後など、姿勢が未だ求められていない場合は、閾値未満であるか否かに関わらず、端末姿勢判定部121は、姿勢を判定する。そして、補正値取得部124は、端末姿勢判定部121および持ち手位置判定部122それぞれの最新の判定結果に基づいて、補正値テーブルTLBを取得する。よって、モーション後に姿勢が変わった場合であっても、好適な補正値テーブルTLBを取得し直すことができる。
補正演算部125は、変化データ31を補正する演算処理を、最近に取得された補正値テーブルTLBに基づいて次のように行う(#608〜#612)。
補正値テーブルTLBには、X軸、Y軸、およびZ軸ごとに、プラス方向の補正値およびマイナス方向の補正値が1組ずつ示されている。
補正演算部125は、次の(1)式の演算処理を行うことによって変化データ31を補正し、変化データ32を生成する。
(Qxt,Qyt,Qzt)
=(Pxt×Kx,Pyt×Ky,Pzt×Kz) …… (1)
ただし、Pxt、Pyt、およびPztは、変化データ31に示される時刻tにおけるX軸、Y軸、およびZ軸それぞれの加速度である。Kxは、取得された補正値テーブルTLBに示されるX軸の補正値であるが、Pxtが0以上である場合はプラス方向の補正値が用いられ、0未満である場合はマイナス方向の補正値が用いられる。同様に、Kyは、取得された補正値テーブルTLBに示されるY軸の補正値であるが、Pytが0以上である場合はプラス方向の補正値が用いられ、0未満である場合はマイナス方向の補正値が用いられる。Kzは、取得された補正値テーブルTLBに示されるZ軸の補正値であるが、Pztが0以上である場合はプラス方向の補正値が用いられ、0未満である場合はマイナス方向の補正値が用いられる。Qxt、Qyt、およびQztは、それぞれ、補正後のPxt,Pyt,およびPztである。
例えば、姿勢が「縦長」であると判定されかつ持ち手位置が「左」であると判定された場合において、ユーザが右手側から左手側へ携帯電話端末1をY軸に平行に移動(水平移動)させたとする。このとき、変化データ31に加速度(ax,ay,az)=(0.047,0.138,0.173)というデータが含まれていたとする。このようなケースにおいては、補正値取得部124は、図9(a)に示す補正値テーブルTLB1を取得する。そして、補正演算部125は、X軸、Y軸、およびZ軸それぞれの加速度の正負に基づいて補正値を選択し、加速度(a’x,a’y,a’z)=(0.047×1.5,0.138×1.5,0.173×1)=(0.071,0.207,0.173)という演算処理を行うことによって、加速度(ax,ay,az)を加速度(a’x,a’y,a’z)に補正する。
この演算結果の例から分かるように、持ち手位置が「左」である場合は、補正演算部125による補正によって、Y軸のプラス方向の加速度が強調される。
このように補正演算部125は、変化データ31に示される各時刻におけるX軸、Y軸、およびZ軸の加速度を補正することによって、変化データ32を生成する。
なお、後述する第二ないし第五の方法においても、補正値が適宜取得し直され、最新の補正値を用いて補正が行われる。
特徴量算出部103は、補正演算部125によって得られた変化データ32に基づいて、特徴量Uを算出する。モーション判定部105は、特徴量Uおよびモーション処理対応テーブルTLA(図5参照)に基づいて、携帯電話端末1に対して行われたモーションを判定する。
上述の通り、補正演算部125は、持ち手位置が「左」である場合は、Y軸のプラス方向の加速度を強調した変化データ32を生成する。よって、モーション判定部105は、携帯電話端末1の右への水平移動のモーションおよび携帯電話端末1の左への水平移動のモーションを従来よりも確実に検知することができる。
補正値テーブルTLBに用意されている各組合せの補正値によると、他の軸に平行に移動する場合にも、本来大きく変化すべき軸に係る変化が大きくなるように補正がなされる。
しかも、持ち手位置によっては、本来大きく変化すべき軸に係る変化が他の持ち手位置における変化に比べて大きく表れにくいことがあるが、補正値テーブルTLBに用意されている各組合せの補正値によると、従来よりも適正に補正することができる。
例えば、左手で縦向きに持っているとき、端末を左に平行移動すると、本来はY軸のプラス方向のデータ(加速度)が大きく発生するはずが、ユーザにとって動かしにくい方向なので大きく変化せず、モーション判定部105が正しく判定することができない場合がある。しかし、第一の方法によると、動かしにくい持ち手位置であっても、判定に重要な軸のデータ値を変化データ補正部102によって大きくすることで、モーション判定部105は、正しく判定することができる。
〔変化データ31の補正の第二の方法〕
図10は第二の方法を適用した場合の携帯電話端末1の機能的構成の例を示す図、図11は第二の補正処理の流れの例を説明するフローチャートである。
図10に示すように、図3の変化データ補正部102に、端末角度算出部131、補正値算出部132、および補正演算部133を設けておく。
モーションセンサ10hとして、加速度センサが用いられる。モーションセンサ10hは、携帯電話端末1の姿勢およびその変化(つまり、各時刻の各軸の加速度)を計測し、それらを示す変化データ30を生成する。
第一の方法の場合と同様に、前処理部101は、変化データ30に対して、ノイズを除去する処理を行う。これにより、変化データ31が得られる。変化データ31には、第一の方法の場合と同様に、前処理部101による処理が施された、一定の個数の時刻それぞれにおける各軸の加速度のデータが含まれている。
変化データ補正部102の各部は、図11のフローチャートに示す手順で変化データ31を補正することによって変化データ32を生成する。
端末角度算出部131は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの分散値を算出し(図11の#621)、それらがすべて閾値以下である場合に(#622でYes)、X軸、Y軸、およびZ軸それぞれの、地面に対する角度θxt、θyt、およびθztを、次のように算出する(#623)。
一般に、重力加速度は、鉛直下向き方向の1G(約9.8m/s2)の大きさの加速度である。モーションセンサ10hは、重力に反応するが、静止していれば重力加速度以外の加速度は生じない。よって、携帯電話端末1が静止していると判断したとき(つまり、上記の分散値がすべて閾値以下である場合)は、変化データ31に示されるX軸、Y軸、およびZ軸のある時刻の加速度がそれぞれPx、Py、およびpzであれば、
Px=1G×Sin(θx)
Py=1G×Sin(θy)
Pz=1G×Sin(θz)
の関係が成り立つ。
端末角度算出部131は、アークサイン(arcsin)関数を用いてθx、θy、およびθzを算出する。
この計算方法によると、例えば、Px、Py、およびPzがそれぞれ0.64、−0.06、および0.76であれば、θx、θy、およびθzはそれぞれ約40°、0°、および50°になる。
補正値算出部132は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの加速度の鉛直下向き方向の成分を求めるための補正値を、端末角度算出部131が算出した角度を使用して次のように算出する(#624)。
携帯電話端末1が静止していると判断したときに端末角度算出部131によって算出された角度がθx、θy、およびθzであれば、X軸、Y軸、およびZ軸それぞれの補正値として、cos(θx)、cos(θy)、およびcos(θz)を算出する。例えば、
携帯電話端末1が静止していると判断したときのX軸、Y軸、およびZ軸の加速度Pxt、Pyt、およびPztがそれぞれ0.64、−0.06、および0.76であれば、上述の通り、θx、θy、およびθzはそれぞれ約40°、0°、および50°になる。よって、X軸、Y軸、およびZ軸の補正値は、それぞれ、およそcos40°=0.77、cos0°=1、およびcos50°=0.64になる。
第二の方法においても、第一の方法の場合と同様に、端末角度算出部131および補正値算出部132は、ステップ#621において算出した特徴量の各軸の成分がすべて閾値未満である場合(つまり、ユーザが携帯電話端末1に対してモーションを行っていない場合)に、補正値を算出するための処理を行う。よって、モーション後に姿勢が変わった場合であっても、好適な補正値を算出し直すことができる。
補正演算部133は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの加速度を、補正値算出部132によって算出されたそれぞれの軸の最新の補正値を掛けることによって、補正する(#625〜#628)。
例えば、静止しているときの加速度Px、Py、およびPzがそれぞれ0.64、−0.06、および0.76であれば、上述の通り、X軸、Y軸、およびZ軸それぞれの補正値は0.77、1、および0.64である。よって、それぞれ、0.64×0.77=0.49、−0.06×1=−0.06、0.76×0.64=0.48、と補正される。
また、その後にユーザが右手側から左手側へ携帯電話端末1をY軸に平行に移動(水平移動)させたとする。移動中のある時刻tにおける加速度Pxt、Pyt、およびPztがそれぞれ0.047、0.138、および0.173であったとする。これらを上述の演算方法で補正すると、0.047×0.77=0.036、0.138×1=0.138、および0.173×0.64=0.11となり、Y軸のプラス方向のデータが他の軸のデータよりも目立つように変化することが、分かる。
このように補正演算部133は、変化データ31に示される各時刻におけるX軸、Y軸、およびZ軸の加速度を補正することによって、変化データ32を生成する。
特徴量算出部103は、補正演算部133によって得られた変化データ32に基づいて、特徴量Uを算出する。モーション判定部105は、特徴量Uおよびモーション処理対応テーブルTLA(図5参照)に基づいて、携帯電話端末1に対して行われたモーションを判定する。
通常、ユーザが携帯電話端末1を鉛直方向に持ちまたは水平に持つ場合(つまり、水平面に立てるような姿勢または寝かせるような姿勢で持つ場合)は、X軸、Y軸、およびZ軸のうちのいずれか1つに平行に移動した際に大きく変化する軸(=判定軸)は1軸のみである。第二の方法によると、この判定軸の加速度が強調されるように変化データ31を補正し変化データ32を得るので、このような移動を伴うモーションを従来よりも確実に判定することができる。
また、通常、X軸、Y軸、およびZ軸のうちのいずれか1つに平行に携帯電話端末1を移動させたつもりでも、実際には残りの軸のプラス方向またはマイナス方向にも移動することがある。例えば、ユーザが携帯電話端末1を表示面が鉛直方向に対して斜めになるように持って携帯電話端末1を移動させた場合に、そのようなことが起こりやすい。しかし、第二の方法によると、ユーザが本来移動させたい方向に係る軸の成分を強調させることができるので、ユーザが所望するモーションを従来よりも確実に判定することができる。つまり、個人の持ち方の差(携帯電話端末1を保持しているときの携帯電話端末1と地面との角度の個人差)を無くすことができ、判定に重要な軸がわかりやすくなり、正しく認識可能となる。
〔変化データ31の補正の第三の方法〕
図12は第三の方法を適用した場合の携帯電話端末1の機能的構成の例を示す図、図13は第三の補正処理の流れの例を説明するフローチャートである。
携帯電話端末1のモーションセンサ10hは、本来、ユーザがモーションによる操作を行わなければ、加速度などの変化を検知しないはずである。しかし、実際は、ユーザが携帯電話端末1を持っているだけでも手振れが発生するので、携帯電話端末1は動き、モーションセンサ10hは変化を検知する。また、ユーザが歩いているときや電車などの乗り物に乗っているときにも、揺れが発生するので、携帯電話端末1は動き、モーションセンサ10hは変化を検知する。
第三の方法によると、ユーザが携帯電話端末1に対してモーションを行っていないときであっても定常的に発生している揺れの特徴を変化データ31から除去し、モーションの誤認識の防止を図る。
図12に示すように、図3の変化データ補正部102に、揺れ算出部141および補正演算部142を設けておく。
モーションセンサ10hとして、加速度センサが用いられる。モーションセンサ10hは、携帯電話端末1の姿勢およびその変化(つまり、各時刻の各軸の加速度)を計測し、それらを示す変化データ30を生成する。
第一の方法および第二の方法の場合と同様に、前処理部101は、変化データ30に対して、ノイズを除去する処理を行う。これにより、変化データ31が得られる。変化データ31には、第一の方法および第二の方法の場合と同様に、前処理部101による処理が施された、一定の個数の時刻における各軸の加速度のデータが含まれている。
変化データ補正部102の各部は、図13のフローチャートに示す手順で変化データ31を補正することによって変化データ32を生成する。
揺れ算出部141は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの分散値を算出し(図13の#631)、各軸それぞれの分散値が一定範囲内にある場合に(#632でYes)、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの加速度の変化を表す波のプラス方向の振幅およびマイナス方向の振幅のほか、その波の全振幅および周波数を算出する(#633)。つまり、加速度の変化の揺れの発生を検知しその揺れの状態を算出する。
「全振幅」とは、プラス方向のピーク値(振幅)とマイナス方向のピーク値(振幅)との幅を意味する。したがって、プラス方向のピーク値−マイナス方向のピーク値、を算出することによって求められる。例えば、X軸の全振幅は、変化データ31に示されるX軸のプラス方向のピーク値からX軸のマイナス方向のピーク値を減算することによって求められる。
重力加速度と全振幅および周波数とには、次の(2)式の関係がある。
重力加速度[G]
=(全振幅/2)×10-3×(2π×周波数)2×(1/9.8) … (2)
よって、X軸、Y軸、およびZ軸それぞれの周波数fx、fy、fzは、次の(3)式によって求められる。
fx=(1/2)π×((ax/Lx)×2×103×9.8)1/2 … (3)
ただし、axはX軸の加速度であり、LxはX軸の全振幅である。
周波数は、軸ごとにそれぞれ求めてもよいが、通常は、各軸の周波数は同じなので、いずれか1つの軸についてのみ求めればよい。または、1秒間に観察されるプラスのピーク値またはマイナスのピーク値の個数を計数することによって周波数を求めてもよい。
揺れ算出部141によって求められ生成されたデータは、第一の方法および第二の方法で用いられたような係数ではないものの、次に説明するように、変化データ31を補正するために用いられる。よって、以下、揺れ算出部141によって求められたデータも補正値を示すものである。
補正演算部142は、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの加速度の変化を表す波に対して、揺れ算出部141によって算出された周波数またはX軸、Y軸、およびZ軸それぞれの振幅を用いてフィルタ処理を行う(#634〜#637)。
例えば、振幅を用いる場合は、補正演算部142は、それぞれの軸の加速度に対して次のような補正を行う。変化データ31に示されるプラス方向の加速度のうちプラス方向の振幅未満の加速度については0(ゼロ)に補正し、それ以外の加速度についてはプラス方向の振幅を引いた値に補正する。例えば、X軸のプラス方向の加速度のうちプラス方向の振幅未満の加速度については0に補正し、それ以外の加速度についてはX軸のプラス方向の振幅を引いた値に補正する。
マイナス方向の加速度も同様に補正する。つまり、変化データ31に示されるマイナス方向の加速度のうちマイナス方向の振幅未満の加速度については0に補正し、それ以外の加速度についてはマイナス方向の振幅を引いた値に補正する。
または、周波数を用いる場合は、補正演算部142は、次のように補正する。変化データ31に示されるX軸、Y軸、およびZ軸それぞれの加速度の変化を表す波のうち、この波の周波数と揺れ算出部141によって求められた周波数とがほぼ一致する部分つまり両者の差が所定の値未満である部分については、加速度を0に補正する。それ以外の部分はそのままにする。
または、変化データ31に示される波が高周波である場合は、LPFを用いることによって、変化データ31の補正を行ってもよい。
このように、補正演算部142によって、ユーザが歩いているときや乗り物に乗っているときなどに生じる定常的な揺れの特徴が変化データ31から削除される。このような削除の補正がなされた変化データ31が、変化データ32である。
特徴量算出部103は、補正演算部142によって得られた変化データ32に基づいて、特徴量Uを算出する。モーション判定部105は、特徴量Uおよびモーション処理対応テーブルTLA(図5参照)に基づいて、携帯電話端末1に対して行われたモーションを判定する。
〔変化データ31の補正の第四の方法〕
図14は第四の方法を適用した場合の携帯電話端末1の機能的構成の例を示す図、図15は閾値補正処理の流れの例を説明するフローチャート、図16は第四の方法を適用した場合の携帯電話端末1の機能的構成の変形例を示す図である。
第一の方法および第二の方法では、ユーザが携帯電話端末1を持っているだけでありモーションしていないときに補正値テーブルTLBを取得しまたは補正値を算出した。また、ユーザが歩いたり乗り物に乗ったりしていないことを前提とした。
しかし、この前提の下であっても身体の動きの癖によって携帯電話端末1に定常的な揺れが発生することがある。そうすると、第一の方法または第二の方法を用いて補正値テーブルTLBを取得したり補正値を算出したりすることが、上手くできない。
そこで、第四の方法では、定常的に揺れが発生しているときであっても、ユーザが携帯電話端末1を持っているだけでありモーションしていないことをより確実に検知し、補正値テーブルTLBを取得しまたは補正値を算出する。
図14に示すように、図3の変化データ補正部102に、端末姿勢判定部151、持ち手位置判定部152、補正値データベース153、補正値取得部154、補正演算部155、揺れ算出部156、および閾値補正部157を設けておく。以下、第一の方法、第二の方法、または第三の方法と共通する点については、説明を省略する。
変化データ補正部102の各部は、図15のフローチャートに示す手順で変化データ31を補正することによって変化データ32を生成する。
揺れ算出部156は、第三の方法における揺れ算出部141(図12参照)と同様に、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの分散値を算出し(図15の#641)、各軸それぞれの分散値が一定範囲内にある場合に(#642でYes)、変化データ32に示されるX軸、Y軸、およびZ軸それぞれの加速度の変化を表す波のプラス方向の振幅、マイナス方向の振幅、全振幅、および周波数を算出する(#643)。つまり、加速度の変化の揺れを求める。
ところで、変化データ補正部102の各部は、第一の方法の場合と同様に、図7のフローチャートに示した手順で変化データ31を補正することによって変化データ32を生成する。例えば、端末姿勢判定部151は、第一の方法における端末姿勢判定部121(図6参照)と同様に、変化データ31に示されるX軸、Y軸、およびZ軸それぞれの分散値を算出し(図7の#601)、それらがすべて閾値未満である場合に(#602でYes)、変化データ31に基づいて携帯電話端末1自身の姿勢を算出する(#603〜#605)。特徴量算出部103の処理以降も、第一の方法と同様である。
ただし、第四の方法では、ステップ#602で使用する閾値を、揺れ算出部156によって算出された振幅に応じて予め補正しておく(#644、#645)。補正は、閾値補正部157が次のように実行する。
例えば、閾値補正部157は、閾値を、プラス方向の振幅に変更する。または、マイナス方向の振幅に変更してもよいし、全振幅の1/2に変更してもよい。または、プラス方向の振幅、マイナス方向の振幅、および全振幅の1/2のうちのいずれかのα倍(ただし、α>1。例えば、α=1.5)変更してもよい。
または、図16に示すように、図3の変化データ補正部102に、端末角度算出部161、補正値算出部162、補正演算部163、揺れ算出部164、および閾値補正部165を設ける。
端末角度算出部161、補正値算出部162、および補正演算部163は、それぞれ、第二の方法における端末角度算出部131、補正値算出部132、および補正演算部133(図10参照)と同様の処理を行う。つまり、図11のフローチャートに示す手順で補正値を算出する処理を行う。ただし、ステップ#622で用いられる閾値は、揺れ算出部164および閾値補正部165によって補正される。
揺れ算出部164および閾値補正部165は、それぞれ、図14の揺れ算出部156および閾値補正部157と同様の役割を果たし、図15のフローチャートに示す手順で、図11のフローチャートのステップ#622で用いられる閾値を補正する。
〔変化データ31の補正の第五の方法〕
図17は第五の方法を適用した場合の携帯電話端末1の機能的構成の例を示す図、図18は補正値調整処理の流れの例を説明するフローチャートである。
第一ないし第三の方法では、図3のモーション判定部105は、特徴量算出部103によって得られた特徴量Uに基づいて、携帯電話端末1に対してユーザが行ったモーションを判定した。
しかし、携帯電話端末1の持ち方および動かし方は、ユーザごとに少しずつ異なる。また、標準的な持ち方および動かし方と比べて大きく異なる持ち方および動かし方をするユーザも、存在する。例えば、所定の軸に対して平行に動かすべきところをかなり斜めに(例えば、所定の軸に対して45°に近い角度で)動かす癖のあるユーザ、および、定常的な揺れの振幅および周波数とモーションの際の振幅および周波数とがほぼ一致するユーザなどである。
第五の方法では、変化データ31を、それに表れているユーザごとの個人差の特徴がなくなるように補正する。このように補正すれば、標準的な特徴量Uが得られ、モーションの誤判定を第一ないし第三の方法よりも減らすことができる。
第五の方法においては、メモリ10bには、図17に示す前処理部201、変化データ補正部202、特徴量算出部203、モーション学習データベース204、モーション判定部205、判定結果履歴データ生成部211、判定履歴データベース212、誤認識発生判定部213、誤認識原因データ抽出部214、補正値再算出部215、および補正値調整部216などの機能を実現するためのプログラムおよびデータがインストールされている。以下、第一の方法、第二の方法、または第三の方法と共通する点については、説明を省略する。
前処理部201、変化データ補正部202、特徴量算出部203、モーション学習データベース204、およびモーション判定部205は、それぞれ、第一の方法における前処理部101、変化データ補正部102、特徴量算出部103、モーション学習データベース104、およびモーション判定部105と同様の機能を有する。
判定結果履歴データ生成部211ないし補正値調整部216は、変化データ補正部202が使用する、変化データ31を補正するための補正値を調整(補正)するための処理を、図18に示す手順で実行する。
判定結果履歴データ生成部211は、モーションの判定がモーション判定部205によって行われるごとに、判定の結果を示すデータおよび判定の際に使用されたすべてのデータ(変化データ31、変化データ32、特徴量Uなど)を、判定履歴データ51として判定履歴データベース212に記憶させる(図18の#651)。以下、判定の結果を示すデータを「判定結果データ51a」と記載し、判定の際に使用されたデータを「判定時使用データ51b」と記載する。
判定結果データ51aには、モーション判定部205が判定したモーションの識別子(例えば、モーションの名称またはコード)のほか、判定の成否を示すデータ(以下、「成否データ」と記載する。)が含まれる。
「判定の成否」は、モーション判定部205によって判定されたモーションがユーザが意図したモーションと一致するか否かである。一致する場合は、成否データは、「成功」を示す。一方、一致しない場合は、成否データは、「誤判定」を示す。モーション判定部205によってモーションを特定できなかった場合、つまり、ユーザが何らかのモーションを行ったと推定できるがモーション学習データベース104に登録されているいずれのモーションにも該当しない場合も、本実施形態では、誤判定が発生したものとして取り扱う。よって、この場合の成否データも、「誤判定」を示す。
判定結果履歴データ生成部211は、モーションの識別子および成否データを次のようにして得る。
モーション判定部205がモーションを判定すると、判定結果履歴データ生成部211は、判定されたモーションの識別子をモーション判定部205から通知してもらう。
また、前に述べたように、モーションの判定後、モーション処理対応テーブルTLAに示されるそのモーションに対応する処理が実行される。しかし、モーション判定部205による判定が誤判定であったことが原因で、ユーザが意図した処理とは異なる処理が実行されることがある。このような場合にユーザは、次の操作を行うまでにまたは所定の時間内に所定の操作(例えば、キャンセルボタンに相当するキーを押す操作)を行う。所定の操作が行われた場合は、判定結果履歴データ生成部211は、判定が誤判定であったと検知する。一方、所定の操作が行われなかった場合は、判定結果履歴データ生成部211は、判定が正しかったと検知する。このように、判定結果履歴データ生成部211は、成否データをユーザから取得する。
また、上述のモーション条件を満たす特徴量Uが特徴量算出部203によって得られたにも関わらず、モーション判定部205によってモーションを特定できなかった場合は、判定結果履歴データ生成部211は、誤判定であることを示す情報をモーション判定部205から通知してもらう。
判定結果履歴データ生成部211は、モーション判定部205によってモーションの判定の処理が実行されるごとに、その判定に関する情報を上述のように取得し、取得した情報および判定に使用されたデータを用いて判定履歴データ51を生成する。そして、判定履歴データ51を判定履歴データベース212に記憶させる。
誤認識発生判定部213は、誤認識が発生したか否かを次のように判定する。モーションの誤判定が発生したことを検出すると、その後の一定時間内に成功した、モーションの判定の検出を試みる(#652)。誤判定および成功した判定の検知は、判定履歴データベース212に順次蓄積される判定履歴データ51に含まれる判定結果データ51aをチェックすることによって行われる。
成功した判定を検出できたら(#652でYes)、誤認識発生判定部213は、検出した誤判定の判定履歴データ51に含まれる判定時使用データ51bの各項目の各軸の値と、その成功した判定の際の判定履歴データ51に含まれる判定時使用データ51bの各項目の各軸の値とを比較することによって、両者の差または比率が一定の範囲内であるか否かをチェックする(#653)。誤認識発生判定部213は、両者の差または比率が一定の範囲内であれば、両者が一致しているとみなす。
さらに、誤認識発生判定部213は、両者が一致しているとみなした項目の個数(以下、「一致個数」と記載する。)を数える。そして、一致個数が閾値(例えば、全項目の個数の半数)を超える場合に(#653でYes)、誤認識が発生したと判定する(#654)。一方、閾値を超えない場合は、誤認識が発生していないと判定する。
または、モーションの誤判定が発生したことを検出した後の一定の回数以内の判定の中から、成功した判定を検出してもよい。
誤認識原因データ抽出部214は、誤認識が発生したと誤認識発生判定部213によって判定された場合に、モーションの誤判定の判定時使用データ51bの中から、その判定に起因する項目のデータを抽出する(#655)。
例えば、誤判定の判定時使用データ51bに示されるX軸、Y軸、およびZ軸それぞれの加速度が0.11、−0.03、および0.33であり、成功した判定の判定時使用データ51bに示されるX軸、Y軸、およびZ軸それぞれの加速度が0.49、0.02、および0.29であり、かつ両者の差が0.3未満であれば両者が一致するとみなされる場合は、X軸の加速度が、誤認識の発生の判定に起因する項目のデータの1つである。そこで、誤認識原因データ抽出部214は、X軸の加速度を、起因する項目のデータの1つとして抽出する。
補正値再算出部215は、誤認識原因データ抽出部214によって抽出された判定時使用データ51bが使用された場合であってもモーションの判定が成功するように、変化データ補正部202で使用される各値を次のように算出する(#656)。補正値調整部216は、現在の補正値を、補正値再算出部215によって算出された補正値に変更する(#657)。
変化データ補正部202による変化データ31の補正の処理が第一の方法で行われる場合は、変化データ補正部202が有する補正値データベースに記憶されている各補正値テーブルTLB(図9参照)の各補正値を次のように補正する。
補正値再算出部215は、次の(4)〜(9)式より、新たな補正値を算出する(#656)。ただし、誤認識の発生の判定に起因する項目の補正値のみを算出し直す。上のX軸、Y軸、およびZ軸の加速度の例の場合は、X軸の補正値のみを算出し直す。
K’xp=Kxp×(β1x/β2x) … (4)
K’yp=Kyp×(β1y/β2y) … (5)
K’zp=Kzp×(β1z/β2z) … (6)
K’xm=Kxm×(β1x/β2x) … (7)
K’ym=Kym×(β1y/β2y) … (8)
K’zm=Kzm×(β1z/β2z) … (9)
ただし、KxpはX軸のプラス方向の現在の補正値であり、K’xpはX軸のプラス方向の新たな補正値である。KypはY軸のプラス方向の現在の補正値であり、K’ypはY軸のプラス方向の新たな補正値である。KzpはZ軸のプラス方向の現在の補正値であり、K’zpはZ軸のプラス方向の新たな補正値である。KxmはX軸のマイナス方向の現在の補正値であり、K’xmはX軸のマイナス方向の新たな補正値である。KymはY軸のマイナス方向の現在の補正値であり、K’ymはY軸のマイナス方向の新たな補正値である。KzmはZ軸のマイナス方向の現在の補正値であり、K’zmはZ軸のマイナス方向の新たな補正値である。β1xは成功した判定の判定時使用データ51bのX軸の値であり、β2xは誤判定の判定時使用データ51bのX軸の値である。β1yは成功した判定の判定時使用データ51bのY軸の値であり、β2yは誤判定の判定時使用データ51bのY軸の値である。β1zは成功した判定の判定時使用データ51bのZ軸の値であり、β2zは誤判定の判定時使用データ51bのZ軸の値である。
そして、補正値調整部216は、各補正値テーブルTLBの現在の各補正値を、算出された新たな補正値に置き換える(#657)。
または、変化データ補正部202による変化データ31の補正の処理が第二の方法で行われる場合は、次のように補正する。
例えば、X軸と地面との角度がモーションの誤判定に起因している場合は、次のように補正する。誤判定の際のX軸と地面との角度をθx1とする。成功した判定の際のX軸と地面との角度を(θa+γ)とする。
cos(θa+γ)
=cos(θa)cos(γ)−sin(θa)sin(γ) …(10)
である。(10)式から角度γを算出する。第二の方法においては、前に説明した通り、端末角度算出部(図10参照)は、X軸の補正値としてcos(θx)を算出した。補正値再算出部215は、新たな補正値としてcos(θx+γ)を算出する(#656)。補正値調整部216は、X軸の現在の補正値を、算出された新たな補正値に置き換える(#657)。他の軸と地面との角度が誤判定に起因している場合も、同様に補正することができる。
または、変化データ補正部202による変化データ31の補正の処理が第三の方法で行われる場合は、次のように補正する。
補正値再算出部215は、揺れ算出の補正値が振幅に係る場合は、誤判定に起因する軸の振幅に、(1/4)倍、(1/2)倍、2倍、4倍、6倍、…、と段階的に係数を掛ける。そして、係数倍した振幅と成功した判定の際の振幅との差が誤差の範囲内(つまり、所定の値以下)になったら、補正演算部(図12参照)によって算出された、誤判定に起因する軸の値にそのときの係数を掛けることによって新たな補正値を求める(#656)。補正値調整部216は、現在の補正値を、算出された新たな補正値に置き換える(#657)。
揺れ算出の補正値が周波数である場合も同様に、補正値再算出部215は、誤判定に起因する軸の振幅に段階的に係数を掛ける。そして、係数倍した周波数と成功した判定の際の周波数との差が誤差の範囲内になったら、補正演算部(図12参照)によって算出された、誤判定に起因する軸の値にそのときの係数を掛けることによって新たな補正値を求める(#656)。補正値調整部216は、現在の補正値を、算出された新たな補正値に置き換える(#657)。
本実施形態によると、ユーザが与えようとした指令の誤認識を従来よりも低減することができる。
本実施形態では、図3などに示す各部をIC(Integrated Circuit)またはLSI(Large Scale Integration)などによって構成してもよい。この場合は、変化データ補正部102を前処理部101に設けてもよい。
携帯電話端末1の筐体は、本実施形態では図1に示したように直方体であったが、折畳み式の筐体の場合にも、本発明を適用することができる。
本発明は、携帯電話端末だけでなく、PDA(Personal Digital Assistant)および携帯型ゲーム装置など様々な可搬型装置に適用することができる。
その他、携帯電話端末1の全体または各部の構成、処理内容、処理順序、テーブルの構成および値などは、本発明の趣旨に沿って適宜変更することができる。
1 携帯電話端末(可搬型の装置、可搬型装置)
10a CPU(検知情報補正装置)
121、151 端末姿勢判定部(使用状態検知手段)
122、152 持ち手位置判定部(持ち手位置検知手段)
131、161 端末角度算出部(使用状態検知手段)
141 揺れ算出部(使用状態検知手段、補正用データ取得手段)
124、154 補正値取得部(補正用データ取得手段)
132、162 補正値算出部(補正用データ取得手段)
125、133、142、155、163 補正演算部(検知情報補正手段)
105、205 モーション判定部(指令判定手段)

Claims (7)

  1. 可搬型の装置に設けられているモーションセンサによって検知される検知情報を補正する検知情報補正装置であって、
    ユーザが前記可搬型の装置を持つ手の位置を検知する持ち手位置検知手段と、
    前記可搬型の装置が使用される状態として前記可搬型の装置の姿勢を、検知された前記検知情報に基づいて検知する使用状態検知手段と、
    特定のタイミングごとに、前記検知情報を補正するためのデータである補正用データを、検知された前記状態および前記位置に応じて取得する補正用データ取得手段と、
    最新の前記補正用データを用いて、検知された前記検知情報を補正する検知情報補正手段と、
    を有する検知情報補正装置。
  2. 前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置の幅方向の第一の軸、高さ方向の第二の軸、および奥行き方向の第三の軸それぞれと地面との角度である第一の角度、第二の角度、および第三の角度を検知し、
    前記モーションセンサは、前記検知情報として、前記第一の軸、前記第二の軸、および前記第三の軸それぞれの方向の加速度である第一の加速度、第二の加速度、および第三の加速度を検知し、
    前記補正用データ取得手段は、前記補正用データとして、検知された前記第一の角度、前記第二の角度、および前記第三の角度それぞれの余弦であって前記第一の加速度、第二の加速度、および第三の加速度それぞれに掛けるための第一の係数、第二の係数、および第三の係数を取得する、
    請求項1記載の検知情報補正装置。
  3. 前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置に揺れが生じているか否かを検知し、
    前記補正用データ取得手段は、前記補正用データとして、前記揺れを示すデータを取得し、
    前記検知情報補正手段は、検知された前記検知情報を、当該検知情報の変化を表す波から前記補正用データに示される前記揺れの成分が除去されるように、補正する、
    請求項1記載の検知情報補正装置。
  4. 前記使用状態検知手段は、前記状態として、さらに前記可搬型の装置に揺れが生じているか否かを検知し、
    前記補正用データ取得手段は、前記揺れが検知されたタイミングで前記補正用データを取得する、
    請求項または記載の検知情報補正装置。
  5. モーションセンサが備えられた可搬型装置であって、
    当該可搬型装置が使用される状態を、前記モーションセンサによって検知された検知情報に基づいて検知する使用状態検知手段と、
    特定のタイミングごとに、前記検知情報を補正するためのデータである補正用データを、検知された前記状態に応じて取得する補正用データ取得手段と、
    最新の前記補正用データを用いて前記検知情報を補正する検知情報補正手段と、
    ユーザが当該可搬型装置に対して与えた指令を、補正された前記検知情報に基づいて判定する指令判定手段と、
    を有し、
    前記補正用データ取得手段は、前記指令判定手段によって判定された前記指令が前記ユーザの意図するものとは異なる場合に、前記補正用データを新たに取得し直す、
    を有する可搬型装置。
  6. 可搬型の装置に設けられているモーションセンサによって検知される検知情報を補正する検知情報補正方法であって、
    ユーザが前記可搬型の装置を持つ手の位置を検知し、
    前記可搬型の装置の姿勢を、検知された前記検知情報に基づいて検知し、
    特定のタイミングごとに、前記検知情報を補正するためのデータである補正用データを、検知した前記姿勢および前記位置に応じて取得し、
    最新の前記補正用データを用いて、検知された前記検知情報を補正する、
    検知情報補正方法。
  7. 可搬型の装置に設けられているモーションセンサによって検知される検知情報を補正するコンピュータに用いられるコンピュータプログラムであって、
    前記コンピュータに、
    ユーザが前記可搬型の装置を持つ手の位置を検知する処理を実行させ、
    前記可搬型の装置の姿勢を、検知された前記検知情報に基づいて検知する処理を実行させ、
    特定のタイミングごとに、前記検知情報を補正するためのデータである補正用データを、検知した前記姿勢および前記位置に応じて取得する処理を実行させ、
    最新の前記補正用データを用いて、検知された前記検知情報を補正する処理を実行させる、
    コンピュータプログラム。
JP2009294487A 2009-12-25 2009-12-25 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム Expired - Fee Related JP5454133B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009294487A JP5454133B2 (ja) 2009-12-25 2009-12-25 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム
US12/971,771 US8942759B2 (en) 2009-12-25 2010-12-17 Detected information correction apparatus and method
EP10196455.9A EP2343626B1 (en) 2009-12-25 2010-12-22 Detected information correction apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009294487A JP5454133B2 (ja) 2009-12-25 2009-12-25 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011133416A JP2011133416A (ja) 2011-07-07
JP5454133B2 true JP5454133B2 (ja) 2014-03-26

Family

ID=43827563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009294487A Expired - Fee Related JP5454133B2 (ja) 2009-12-25 2009-12-25 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US8942759B2 (ja)
EP (1) EP2343626B1 (ja)
JP (1) JP5454133B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8018440B2 (en) 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
US8261213B2 (en) 2010-01-28 2012-09-04 Microsoft Corporation Brush, carbon-copy, and fill gestures
US9411504B2 (en) 2010-01-28 2016-08-09 Microsoft Technology Licensing, Llc Copy and staple gestures
US9519356B2 (en) 2010-02-04 2016-12-13 Microsoft Technology Licensing, Llc Link gestures
US9367205B2 (en) 2010-02-19 2016-06-14 Microsoft Technolgoy Licensing, Llc Radial menus with bezel gestures
US9965165B2 (en) 2010-02-19 2018-05-08 Microsoft Technology Licensing, Llc Multi-finger gestures
US9310994B2 (en) 2010-02-19 2016-04-12 Microsoft Technology Licensing, Llc Use of bezel as an input mechanism
US9454304B2 (en) 2010-02-25 2016-09-27 Microsoft Technology Licensing, Llc Multi-screen dual tap gesture
JP2012043194A (ja) * 2010-08-19 2012-03-01 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP5712663B2 (ja) * 2011-02-18 2015-05-07 株式会社ニコン 電子装置、補正方法およびプログラム
US8644884B2 (en) * 2011-08-04 2014-02-04 Qualcomm Incorporated Sensor-based user interface control
US9141194B1 (en) 2012-01-04 2015-09-22 Google Inc. Magnetometer-based gesture sensing with a wearable device
FR2985583B1 (fr) 2012-01-06 2014-01-17 Movea Dispositif de commande gestuelle d'un systeme, et procede associe
US9519419B2 (en) 2012-01-17 2016-12-13 Microsoft Technology Licensing, Llc Skinnable touch device grip patterns
FR2989484A1 (fr) * 2012-04-12 2013-10-18 Inst Mines Telecom Generation perfectionnee de commandes dans un equipement a ecran tactile
CN103543842B (zh) * 2012-07-16 2017-05-24 联想(北京)有限公司 终端设备
WO2014045765A1 (ja) * 2012-09-19 2014-03-27 Necカシオモバイルコミュニケーションズ株式会社 携帯端末、その制御方法及びプログラム
US9008725B2 (en) 2012-10-11 2015-04-14 Blackberry Limited Strategically located touch sensors in smartphone casing
US9582122B2 (en) 2012-11-12 2017-02-28 Microsoft Technology Licensing, Llc Touch-sensitive bezel techniques
US9165533B2 (en) * 2013-06-06 2015-10-20 Microsoft Technology Licensing, Llc Display rotation management
US9316778B2 (en) 2013-06-21 2016-04-19 Microsoft Technology Licensing, Llc Hybrid concentrator for a backlight
CN104460958B (zh) * 2013-09-17 2019-06-14 中兴通讯股份有限公司 一种屏幕显示调整方法、装置及移动终端
JP5992890B2 (ja) * 2013-09-24 2016-09-14 京セラ株式会社 電子機器、電子機器の制御方法、および電子機器の制御プログラム
JP2015064680A (ja) * 2013-09-24 2015-04-09 京セラ株式会社 電子機器、電子機器の制御方法、および電子機器の制御プログラム
TWI560642B (en) * 2013-10-11 2016-12-01 Multi-functional care system and sensing method for multi-functional care system
GB2519558A (en) * 2013-10-24 2015-04-29 Ibm Touchscreen device with motion sensor
US9477337B2 (en) 2014-03-14 2016-10-25 Microsoft Technology Licensing, Llc Conductive trace routing for display and bezel sensors
KR20160036242A (ko) * 2014-09-25 2016-04-04 현대자동차주식회사 제스처 인식 장치, 그를 가지는 차량 및 그 제어 방법
JP7406340B2 (ja) * 2019-10-18 2023-12-27 株式会社小松製作所 加速度検出装置、作業機械および加速度検出方法
CN113340322B (zh) * 2021-06-25 2023-04-07 歌尔科技有限公司 一种计步方法、装置、电子设备及可读存储介质
CN116418914A (zh) * 2021-12-31 2023-07-11 中兴通讯股份有限公司 移动终端接触区域检测方法、装置、移动终端和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4225413C1 (de) * 1992-07-31 1994-03-17 Deutsche Forsch Luft Raumfahrt Verfahren zur Bewegungskompensation von SAR-Bildern mittels eines Kurs/Lage-Referenzsystems und Einrichtung zur Durchführung des Verfahrens
US6233009B1 (en) * 1993-09-08 2001-05-15 Canon Kabushiki Kaisha Image-shake correcting device for detecting vibration frequency and for changing vibration characteristics
JP3661367B2 (ja) * 1997-09-09 2005-06-15 コニカミノルタフォトイメージング株式会社 振れ補正機能付きカメラ
US6573883B1 (en) 1998-06-24 2003-06-03 Hewlett Packard Development Company, L.P. Method and apparatus for controlling a computing device with gestures
US6466198B1 (en) 1999-11-05 2002-10-15 Innoventions, Inc. View navigation and magnification of a hand-held device with a display
JP4779264B2 (ja) 2001-09-05 2011-09-28 ヤマハ株式会社 移動通信端末、楽音生成システム、楽音生成装置および楽音情報提供方法
US8460103B2 (en) * 2004-06-18 2013-06-11 Igt Gesture controlled casino gaming system
JP4482269B2 (ja) * 2002-08-28 2010-06-16 ソニー株式会社 電子機器装置、信号補償装置及び信号補償方法
JP2004096501A (ja) 2002-08-30 2004-03-25 Ntt Advanced Technology Corp 移動体の位置検出システム、移動体の位置検出方法、及びプログラム
FI119746B (fi) 2004-06-24 2009-02-27 Nokia Corp Elektronisen laitteen ohjaaminen
JP2006154345A (ja) 2004-11-30 2006-06-15 Konica Minolta Holdings Inc 手振れ補正ユニットおよび撮像装置
WO2007074502A1 (ja) 2005-12-26 2007-07-05 C & N Inc 携帯端末装置
JP4400611B2 (ja) * 2006-10-26 2010-01-20 カシオ計算機株式会社 撮像装置、ブレ補正方法、およびプログラム
JP5060798B2 (ja) * 2007-02-23 2012-10-31 任天堂株式会社 情報処理プログラムおよび情報処理装置
WO2008156764A1 (en) * 2007-06-15 2008-12-24 The Johns Hopkins University Methods for motion compensated image reconstruction and systems related thereto
US7889175B2 (en) 2007-06-28 2011-02-15 Panasonic Corporation Touchpad-enabled remote controller and user interaction methods
JP4805892B2 (ja) * 2007-09-28 2011-11-02 京セラ株式会社 携帯電子機器
JP4581004B2 (ja) 2008-06-06 2010-11-17 シャープ株式会社 画像形成装置、画像調整処理方法、及びプログラム

Also Published As

Publication number Publication date
US20110159915A1 (en) 2011-06-30
US8942759B2 (en) 2015-01-27
EP2343626A2 (en) 2011-07-13
EP2343626B1 (en) 2013-09-18
JP2011133416A (ja) 2011-07-07
EP2343626A3 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
JP5454133B2 (ja) 検知情報補正装置、可搬型装置、検知情報補正方法、およびコンピュータプログラム
US8686961B2 (en) Electronic apparatus, processing method, and program
US11467674B2 (en) Performing an action associated with a motion based input
EP3114556B1 (en) Proximity sensor-based interactions
KR101469312B1 (ko) 움직임 센서들을 사용하는 가상 버튼들의 생성
US9207781B2 (en) Input apparatus, control system, handheld apparatus, and calibration method
US9448250B2 (en) Detecting mount angle of mobile device in vehicle using motion sensors
US20130085711A1 (en) Techniques for improved pedometer readings
US20130019192A1 (en) Pickup hand detection and its application for mobile devices
CN104049759A (zh) 触摸屏和行为感知联合的指令输入与防护方法
US20070234779A1 (en) Motion Determination Apparatus and Method Thereof
JPWO2009072583A1 (ja) 入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置
CN108153422A (zh) 一种显示对象控制方法和移动终端
JP5392157B2 (ja) モーション判定装置、モーション判定方法、およびコンピュータプログラム
Baek et al. Posture monitoring system for context awareness in mobile computing
JP2013029512A (ja) 携帯型電子デバイスのための、磁場センサおよび加速度計を使用して姿勢および角速度を検知するシステムおよび方法
JP2013232816A (ja) 携帯端末
US20140366130A1 (en) Electronic device
JP2010262563A (ja) 携帯端末、軌跡情報取得方法およびプログラム
US20190222688A1 (en) Electronic device, protection method and related product
CN210716984U (zh) 管道检测装置
JPWO2007074502A1 (ja) 携帯端末装置
JPWO2013005665A1 (ja) 電子機器及び入力方法
US12099684B2 (en) Input location correction based on device motion
US11755150B2 (en) Input location correction based on device motion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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: 20131210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees