(57)【特許請求の範囲】
【請求項１】
互いに異なる複数の方向の各々に沿った加速度成分の各々を示す複数の加速度信号が入力される入力部と、
前記複数の方向のうちから選択される１つの方向に沿った軸を、所定の順序で指定軸として設定する設定部と、
前記加速度信号の各々の所定時間内における時間推移の各々から加速度ゼロを含む所定範囲の上限閾値を超えた信号部分及び前記所定範囲の下限閾値未満の信号部分を抽出する抽出部と、
前記抽出部によって抽出された前記信号部分同士の比較結果に基づいて前記信号部分の選択を行い、選択した信号部分に対応する方向の運動を検出し、検出した運動の方向が、前記設定部において設定された指定軸の方向である場合、当該指定軸について指定軸検出情報を生成して記憶し、検出した運動の方向が前記設定部において設定された指定軸の方向とは異なる方向である場合、記憶した全ての指定軸検出情報を消去して指定軸の設定を最初に戻す検出部と、
前記設定部において設定された全ての指定軸について前記指定軸検出情報が記憶された場合に検出信号を出力する出力部と、
を含む半導体装置。
【請求項２】
前記検出部は、前記抽出部によって抽出された前記信号部分の選択を軸毎に行う
請求項１に記載の半導体装置。
【請求項３】
前記検出部は、前記抽出部によって抽出された前記信号部分の全ての中から１つの信号部分を選択する
請求項１に記載の半導体装置。
【請求項４】
前記検出部は、前記抽出部によって抽出された前記信号部分の各々に関する数値を導出し、前記数値同士を比較した結果に基づいて前記信号部分の選択を行う
請求項１から請求項３のいずれか１項に記載の半導体装置。
【請求項５】
前記検出部は、前記数値として、前記抽出部によって抽出された前記信号部分の各々によって示される加速度信号波形の波形部分の面積に応じた数値を導出し、前記数値がより大きい信号部分を選択する
請求項４に記載の半導体装置。
【請求項６】
前記検出部は、前記数値のうち所定範囲内に含まれない数値を比較対象から除外する請求項４または請求項５に記載の半導体装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の半導体装置と、
前記加速度信号を出力する加速度センサと、
前記検出信号に応じて所定の動作を行う制御部と、
を含む携帯端末装置。
【請求項８】
互いに異なる複数の方向のうちから選択される１つの方向に沿った軸を、所定の順序で指定軸として設定し、
前記複数の方向の成分を有する複数の軸の各々に沿った加速度を各々が示す複数の加速度信号の所定期間内における時間推移を示す複数の加速度信号波形の各々から、正側および負側における閾値を超えた信号部分を抽出し、
抽出した前記信号部分の各々の比較結果に基づいて前記信号部分の選択を行い、
選択した信号部分に対応する軸の方向に沿った運動を検出し、
検出した運動の方向が、設定された指定軸の方向である場合、当該指定軸について指定軸検出情報を生成して記憶し、検出した運動の方向が設定された指定軸の方向とは異なる方向である場合、記憶した全ての指定軸検出情報を消去して指定軸の設定を最初に戻し、
設定された全ての指定軸について前記指定軸検出情報が記憶された場合に検出信号を出力する
運動検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、携帯端末装置および運動検出方法に関する。
【背景技術】
【０００２】
加速度センサから出力される加速度信号に基づいて運動を検出する運動検出装置を備えた携帯端末装置が提案されている（例えば特許文献１および特許文献２参照）。
【０００３】
特許文献２に記載の運動検出装置は、三軸加速度センサから出力された加速度成分データの各々を、ローパスフィルタ処理して得られた静止成分と、加速度成分データの各々から静止成分の各々を除いた動き成分とに分離する。この運動検出装置は、静止成分が最大となる軸を重力軸と判定し、最大の値を示す動き成分に対応する軸が、重力軸以外の軸である場合に、最大の値を示す動き成分に基づいて、いずれの軸方向に運動したかを検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１２−５２９２５３号公報
【特許文献２】特開２０１２−９８２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
携帯端末装置に対する入力操作を、当該携帯端末装置を所定の方向に振る動作（シェイキング）によって行うものが知られている。この種の携帯端末装置は、所定の運動を検出した場合に、所定の動作を行うように構成されている。このような携帯端末装置においては、ユーザが意図的に行う運動とは異なる運動をも検知してしまうという問題がある。例えば、ユーザは、当該携帯端末装置に対して、任意の軸の正の向きに振動を加える場合、通常、当該携帯端末装置を自身の手に把持した状態で当該軸の正の向きに自身の腕を振る動作を行う。ユーザは、正の向きに腕を振る前に、無意識に当該軸の負の向きに腕を振るいわゆる振りかぶり動作を行う場合が多い。ユーザの振りかぶり動作が、正規のシェイキングと同様に検出された場合には、ユーザが意図しない運動が携帯端末装置に対する入力操作として入力されることになり、携帯端末装置を意図したとおりに操作することが困難となる。
【０００６】
本発明は、上記した点に鑑みてなされたものであり、ユーザが意図しない運動の誤検知を防止することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る半導体装置は、互いに異なる複数の方向の各々に沿った加速度成分の各々を示す複数の加速度信号が入力される入力部と、前記複数の方向のうちから選択される１つの方向に沿った軸を、所定の順序で指定軸として設定する設定部と、前記加速度信号の各々の所定時間内における時間推移の各々から加速度ゼロを含む所定範囲の上限閾値を超えた信号部分及び前記所定範囲の下限閾値未満の信号部分を抽出する抽出部と、前記抽出部によって抽出された前記信号部分同士の比較結果に基づいて前記信号部分の選択を行い、選択した信号部分に対応する方向の運動を検出し、検出した運動の方向が、前記設定部において設定された指定軸の方向である場合、当該指定軸について指定軸検出情報を生成して記憶し、検出した運動の方向が前記設定部において設定された指定軸の方向とは異なる方向である場合、記憶した全ての指定軸検出情報を消去して指定軸の設定を最初に戻す検出部と、前記設定部において設定された全ての指定軸について前記指定軸検出情報が記憶された場合に検出信号を出力する出力部と、を含む。
【０００８】
本発明に係る携帯端末装置は、上記の半導体装置と、前記加速度信号を出力する加速度センサと、前記検出信号に応じて所定の動作を行う制御部と、を含む。
【０００９】
本発明に係る運動検出方法は、互いに異なる複数の方向のうちから選択される１つの方向に沿った軸を、所定の順序で指定軸として設定し、前記複数の方向の各々に沿った加速度成分の各々を示す複数の加速度信号の各々の所定時間内における時間推移の各々から加速度ゼロを含む所定範囲の上限閾値を超えた信号部分及び前記所定範囲の下限閾値未満の信号部分を抽出し、抽出した前記信号部分同士の比較結果に基づいて前記信号部分の選択を行い、選択した信号部分に対応する方向の運動を検出し、検出した運動の方向が、設定した指定軸の方向である場合、当該指定軸について指定軸検出情報を生成して記憶し、検出した運動の方向が前記設定部において設定された指定軸の方向とは異なる方向である場合、記憶した全ての指定軸検出情報を消去して指定軸の設定を最初に戻し、設定した全ての指定軸について前記指定軸検出情報が記憶された場合に検出信号を出力することを含む。
【発明の効果】
【００１０】
本発明によれば、ユーザが意図しない運動の誤検知を防止することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る半導体装置の構成を示すブロック図である。
【図２】各軸毎の加速度信号の一例を示す図である。
【図３】本発明の実施形態に係る順序情報の内容の一例を示す図である。
【図４】（Ａ）および（Ｂ）は、本発明の実施形態に係る運動検出装置の動作の一例を示す図である。
【図５】振りかぶり動作を伴うシェイキングが行われた場合の各軸毎の加速度信号の一例を示す図である。
【図６】本発明の実施形態に係る半導体装置の機能構成を示す機能ブロック図である。
【図７】本発明の実施形態に係る抽出部における処理の内容を示す図である。
【図８】本発明の実施形態に係る検出部における処理の内容を示す図である。
【図９】本発明の実施形態に係る運動検出処理の流れを示すフローチャートである。
【図１０】斜め方向のシェイキングが行われた場合の加速度信号の一例を示す図である。
【図１１】本発明の実施形態に係る検出部における処理の内容を示す図である。
【図１２】本発明の実施形態に係る運動検出処理の流れを示すフローチャートである。
【図１３】本発明の実施形態に係る携帯端末装置の平面図である。
【図１４】本発明の実施形態に係る携帯端末装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照しつつ説明する。なお、各図面において同一または対応する構成要素には同一の参照符号を付与している。
【００１３】
［第１の実施形態］
図１は、運動検出装置として機能する、本発明の実施形態に係る半導体装置１０のハードウェア構成を示すブロック図である。なお、図１には、半導体装置１０とともに使用される加速度センサ２０も示されている。
【００１４】
加速度センサ２０は、３次元直交座標系におけるＸ軸、Ｙ軸およびＺ軸の各軸の方向に生じた加速度を検出し、検出した加速度の大きさに応じた加速度信号を軸毎に出力する。すなわち、加速度センサ２０は、Ｘ軸の加速度の大きさを示す加速度信号ＳａＸ、Ｙ軸の加速度を示す加速度信号ＳａＹ、Ｚ軸の加速度を示す加速度信号ＳａＺを出力する。加速度センサ２０は、Ｘ軸、Ｙ軸およびＺ軸の加速度を単一のデバイスで検出する３軸加速度センサであってもよい。また、加速度センサ２０は、軸毎に異なるデバイスで構成されていてもよい。
【００１５】
半導体装置１０は、ＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、ＲＯＭ（Read Only Memory）１３、入出力ポート（Ｉ／Ｏポート）１４およびこれらを相互に接続するバス１５を含むマイクロコンピュータである。
【００１６】
ＣＰＵ１１は、半導体装置１０の全体の制御を司る。ＲＯＭ１３は、ＣＰＵ１１によって実行される後述する運動検出プログラム１６および指定軸の設定順序を示す順序情報１７を記憶した記憶媒体である。ＲＡＭ１２は、ＣＰＵ１１における演算処理に使用するデータや命令等を一時的に格納するワークエリアを提供する記憶媒体である。加速度センサ２０から出力される加速度信号ＳａＸ、Ｓａｙ、およびＳａＺは、入出力ポート１４を介してＣＰＵ１１に供給される。また、ＣＰＵ１１が運動検出プログラム１６を実行することによって生成される後述する検出信号Ｓｄは、入出力ポート１４を介して外部に出力される。
【００１７】
図２は、加速度センサ２０から出力されるＸ軸、Ｙ軸およびＺ軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの一例を示す図である。図２において、横軸は時間であり、縦軸は加速度である。図２は、加速度センサ２０にＹ軸方向に沿った正方向の運動を生じさせた場合の例である。このように、外部から力を加えて加速度センサ２０に運動（加速度）を生じさせることを以降「シェイキング」と称する。例えば、加速度センサ２０をＹ軸に沿った正方向のシェイキングを行うと、加速度センサ２０は、図２に示すように、正側（上側）にピークを有する加速度信号ＳａＹを出力する。また、この場合、Ｚ軸およびＸ軸における加速度信号ＳａＸおよびＳａＺは略ゼロレベルとなる。加速度信号のゼロレベルは、加速度センサ２０に運動（加速度）が生じていないことを示し、加速度信号の正負は、当該軸に沿った加速度の向きを示す。
【００１８】
半導体装置１０は、各軸の加速度信号ＳａＸ、Ｓａｙ、およびＳａＺが、これらについて設定された上限閾値（正側の閾値）を超えた場合または下限閾値（負側の閾値）未満となった場合に、当該軸の方向に沿った運動（シェイキング）が行われたものと判定する。例えば、図２に示す例では、Ｙ軸の加速度信号ＳａＹは、正側について設定された閾値ＴＹ１を超えているので、半導体装置１０は、Ｙ軸方向に沿った運動（シェイキング）が行われたものと判定する。なお、加速度信号が負側について設定された閾値未満となるとは、負の方向の加速度の絶対値が、負側について設定された閾値の絶対値よりも大きくなること意味する。
【００１９】
半導体装置１０は、後述する運動検出プログラム１６を実行することにより、以下のように動作する。すなわち、半導体装置１０は、ＲＯＭ１３に記憶された順序情報１７に基づいて３軸のうちから選択される複数の軸の各々を、所定の順序で指定軸として設定する。半導体装置１０は、加速度センサ２０から供給される各軸の加速度信号ＳａＸ、Ｓａｙ、およびＳａＺに基づいて検出した運動の方向が、設定された指定軸の各々に沿った方向であると判定した場合に検出信号Ｓｄを出力する。
【００２０】
ここで、図３は、順序情報１７の内容の一例を示す図である。図３に示す例では、１番目にＸ軸が指定軸として設定され、２番目にＹ軸が指定軸として設定され、３番目にＺ軸が指定軸として設定され、４番目にＸ軸が指定軸として設定される場合が示されている。
【００２１】
図４（Ａ）は、運動検知プログラム１６に基づいて動作する半導体装置１０の動作の一例を示す図であり、指定軸の設定順序が、図３に示すように、Ｘ軸、Ｙ軸、Ｚ軸、Ｘ軸の順とされている場合の動作例である。
【００２２】
半導体装置１０は、順序情報１７に基づいて１番目にＸ軸を指定軸に設定する。半導体装置１０は、Ｘ軸が指定軸に設定されている場合にＸ軸方向の運動（シェイキング）を検出すると、順序情報１７に基づいて２番目の指定軸としてＹ軸を設定する。半導体装置１０は、Ｙ軸が指定軸に設定されている場合にＹ軸方向の運動（シェイキング）を検出すると、順序情報１７に基づいて３番目の指定軸としてＺ軸を設定する。半導体装置１０は、Ｚ軸が指定軸に設定されている場合にＺ軸方向の運動（シェイキング）を検出すると、順序情報１７に基づいて４番目の指定軸としてＸ軸を指定軸に設定する。半導体装置１０は、４番目の指定軸としてＸ軸が設定されている場合にＸ軸方向の運動（シェイキング）を検出すると、組み合わせシェイキングが成立したものと判定して検出信号Ｓｄを出力する。すなわち、指定軸の方向に沿ったシェイキングが、全ての指定軸について行われた場合に検出信号Ｓｄが出力される。なお、組み合わせシェイキングとは、全ての指定軸について指定軸方向の運動（シェイキング）を行うことをいう。
【００２３】
図４（Ｂ）は、運動検知プログラム１６に基づいて動作する半導体装置１０の動作の他の例を示す図であり、指定軸の設定順序が、図３に示すように、Ｘ軸、Ｙ軸、Ｚ軸、Ｘ軸の順とされている場合の動作例である。
【００２４】
半導体装置１０は、図４（Ｂ）に示すように、１番目にＸ軸を指定軸に設定する。半導体装置１０は、Ｘ軸が指定軸に設定されている場合にＸ軸方向の運動（シェイキング）を検出すると、２番目の指定軸としてＹ軸を設定する。半導体装置１０は、Ｙ軸が指定軸に設定されている場合に指定軸とは異なるＺ軸の方向の運動（シェイキング）を検出すると、組み合わせシェイキングが失敗したものと判定し、先に検出された指定軸（Ｘ軸）方向の運動は検出されなかったものとし、指定軸の設定を１番目に戻す。
【００２５】
このように、半導体装置１０は、三次元直交座標系の３つの軸の各軸毎の加速度を示す加速度信号の入力を受け付け、３つの軸のうちから選択される複数の軸を、所定の順序で指定軸として設定する。半導体装置１０は、入力された各軸の加速度信号に基づいて検出した運動の方向が、設定された指定軸の各々に沿った方向であると判定した場合に検出信号Ｓｄを出力する。このような態様によれば、互いに異なる複数の軸が指定軸として設定されるので、歩行時や階段昇降時に生じる単調な運動によって検出信号Ｓｄが出力されることを防止できる。すなわち、ユーザによる意図的なシェイキング以外の運動によって検出信号Ｓｄが出力されることを防止できる。
【００２６】
ところで、ユーザは、加速度センサ２０を内蔵した携帯端末装置等の電子機器に対して、例えば、任意の軸の正の向きに振動を加える場合、通常、当該電子機器を自身の手に把持した状態で当該軸の正の向きに自身の腕を振る動作を行う。このとき、ユーザは、正の向きに腕を振る前に、無意識に当該軸の負の向きに腕を振るいわゆる振りかぶり動作を行う場合が多い。
【００２７】
図５は、振りかぶり動作を伴うシェイキングが行われた場合の加速度信号ＳａＸ、ＳａＹおよびＳａＺの一例を示す図である。例えば、Ｙ軸の方向に沿って振りかぶり動作を伴うシェイキングが行われた場合、図５に示すように、正側および負側の双方にピークを有する加速度信号ＳａＹが加速度センサ２０から出力され得る。なお、図５に示す例では、負側のピークが振りかぶり動作に対応し、正側のピークが正規のシェイキングに対応している。図５に示すように、各ピークの絶対値がそれぞれ閾値の絶対値を超えた場合において、それぞれのピークを、別々の運動として検出した場合には、組み合わせシェイキングを成立させることが困難となる。本実施形態に係る半導体装置１０は、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外するように構成されている。
【００２８】
図６は、半導体装置１０の機能構成を示す機能ブロック図である。半導体装置１０は、ＣＵＰ１１が、ＲＯＭ１３に記憶された後述する運動検出プログラム１６を実行することによって入力部３１、抽出部３２、検出部３３、設定部３４および出力部３５として機能する。
【００２９】
入力部３１は、加速度センサ２０から出力される各軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの入力を受け付ける機能を有する。
【００３０】
抽出部３２は、入力部３１に入力された各軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの所定期間内における時間推移の各々から、加速度ゼロを含む所定範囲の上限閾値（正側の閾値）を超えた信号部分及び上記所定範囲の下限閾値（負側の閾値）未満の信号部分を抽出する機能を有する。すなわち、加速度信号のうち、その絶対値が、上限閾値（正側の閾値）の絶対値および下限閾値（負側の閾値）の絶対値を超えた信号部分が抽出される。
【００３１】
図７は、抽出部３２における処理の内容の一例を示す図である。抽出部３２は、いずれかの軸における加速度信号の絶対値が、正側または負側について設定された閾値の絶対値を超えた場合、各軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの値を所定期間に亘りサンプリングし、当該サンプリングデータをＲＡＭ１２に記憶する。例えば、図７に示す場合において、抽出部３２は、Ｙ軸における加速度信号ＳａＹの絶対値が負側について設定された閾値ＴＹ２の絶対値を超えた時刻ｔ１から所定時間（例えば０．５秒）が経過するまでの間、各軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの値をサンプリングし、当該サンプリングデータをＲＡＭ１２に記憶する。
【００３２】
抽出部３２は、ＲＡＭ１２に記憶されたサンプリングデータによって構成される、各軸の加速度信号の所定時間内における時間推移を示す加速度信号波形の各々から、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分を抽出する。例えば、図７に示す場合において、抽出部３２は、Ｙ軸における加速度信号Ｓａｙについての加速度信号波形から、時刻ｔ１から時刻ｔ２までの波形部分ＰＹ１および時刻ｔ３から時刻ｔ４までの波形部分ＰＹ２を抽出する。
【００３３】
検出部３３は、抽出部３２によって抽出された波形部分の各々を軸毎に比較した結果に基づいて波形部分の選択を軸毎に行い、軸毎に選択した波形部分に基づいて各軸の方向に沿った運動を検出する。すなわち、抽出部３２によって抽出された波形部分のうち、選択されない波形部分は、運動の検出において考慮されない。
【００３４】
図８は、検出部３３における処理の内容の一例を示す図である。検出部３３は、抽出部３２によって抽出された波形部分ＰＹ１およびＰＹ２の比較を以下のようにして行う。すなわち、検出部３３は、波形部分ＰＹ１およびＰＹ２の各々に関する数値を導出し、導出した数値の比較を行う。より具体的には、検出部３３は、波形部分ＰＹ１に関する数値として、波形部分ＰＹ１のおおよその面積に相当する、下記の（１）式によって示される数値ＱＹ１を導出するとともに、波形部分ＰＹ２に関する数値として、波形部分ＰＹ２のおおよその面積に相当する、下記の（２）式によって示される数値ＱＹ２を導出する。
【００３５】
ＱＹ１＝Ｔ１×Ａ１／２    ・・・（１）
ＱＹ２＝Ｔ２×Ａ２／２    ・・・（２）
【００３６】
（１）において、Ｔ１は、加速度信号波形が負側について設定された閾値ＴＹ２未満となった期間（時刻ｔ１から時刻ｔ２までの期間）であり、Ａ１は、時刻ｔ１から時刻ｔ２の間に存在する、加速度信号波形の負側のピーク値Ｂ１と、負側の閾値ＴＹ２と、の差の絶対値である。すなわち、数値ＱＹ１は、図８においてハッチングで示される下側の三角形の面積に相当し、波形部分ＰＹ１のおおよその面積に相当する。
【００３７】
同様に、（２）式において、Ｔ２は、加速度信号波形が正側について設定された閾値ＴＹ１を超えた期間（時刻ｔ３から時刻ｔ４までの期間）であり、Ａ２は、時刻ｔ３から時刻ｔ４の間に存在する、加速度信号波形の側のピーク値Ｂ２と、正側の閾値ＴＹ１との差の絶対値である。すなわち、数値ＱＹ２は、図８においてハッチングで示される上側の三角形の面積に相当し、波形部分ＰＹ２のおおよその面積に相当する。
【００３８】
検出部３３は、波形部分の各々について導出した数値を軸毎に比較し、比較した結果に基づいて波形部分の選択を軸毎に行う。すなわち、図８に示す場合において、検出部３３は、Ｙ軸について抽出された波形部分ＰＹ１およびＰＹ２に関する数値ＱＹ１とＱＹ２のうち、より大きい数値ＱＹ２を有する波形部分ＰＹ２を選択する。
【００３９】
ユーザによる正規のシェイキングに対応する波形部分の面積は、ユーザが意図しない振りかぶり動作に対応する波形部分の面積よりも大きいことが想定される。従って、抽出された波形部分の選択において、面積の大きいもの選択することで、正規のシェイキングに対応する波形部分を選択できる可能性が高くなる。換言すれば、波形部分の選択において、振りかぶり動作に対応する波形部分を除外できる可能性が高くなる。なお、図８に示す例では、Ｙ軸についてのみ波形部分が抽出された場合が例示されているが、Ｘ軸またはＺ軸についても波形部分が抽出された場合には、検出部３３は、これらの軸についても同様に波形部分の選択を行う。
【００４０】
検出部３３は、選択した波形部分に基づいて当該軸の方向に沿った運動を検出する。すなわち、図８に示す場合において、検出部３３は、選択した波形部分ＰＹ２に基づいて、Ｙ軸上における正方向の運動を検出する。換言すれば、選択されない波形部分ＰＹ１は、Ｙ軸上の運動の検出に際して考慮されない。このように、本実施形態に係る半導体装置１０によれば、各軸における加速度信号の絶対値が所定時間内に複数回に亘って閾値の絶対値を超えた場合でも、当該所定期間内における運動の検出は、各軸につき１回とされる。
【００４１】
設定部３４は、Ｘ軸、Ｙ軸およびＺ軸のうちから選択される複数の軸の各々を、所定の順序で指定軸として設定する機能を有する。
【００４２】
出力部３５は、検出部３３によって検出された運動の方向が設定部３４によって設定された各指定軸の方向と一致する場合に、検出信号Ｓｄを出力する機能を有する。
【００４３】
図９は、半導体装置１０のＣＰＵ１１がＲＯＭ１３に記憶された運動検出プログラム１６を実行することにより実施される運動検出処理の流れを示すフローチャートである。
【００４４】
ステップＳ１において、ＣＰＵ１１は、ＲＯＭ１３に記憶された順序情報１７を読み込む。順序情報１７は、Ｘ軸、Ｙ軸およびＺ軸の３軸のうちから選択される複数の指定軸の設定順序を示す情報である。
【００４５】
ステップＳ２において、ＣＰＵ１１は、設定部３４として機能し、順序情報１７に基づいて、Ｘ軸、Ｙ軸およびＺ軸のうち、１番目の指定軸を設定する。
【００４６】
ステップＳ３において、ＣＰＵ１１は、入力部３１として機能し、Ｘ軸、Ｙ軸およびＺ軸の各々の加速度信号ＳａＸ、Ｓａｙ、およびＳａＺを加速度センサ２０から取得する。
【００４７】
ステップＳ４において、ＣＰＵ１１は、ステップＳ３の処理を開始してからの時間が、所定のタイムアウト時間に到達したか否かを判定する。ＣＰＵ１１は、タイムアウト時間にはまだ到達していないと判定した場合には、処理をステップＳ５に移行し、タイムアウト時間を超えたと判定した場合には、処理をステップＳ２に戻す。
【００４８】
ステップＳ５において、ＣＰＵ１１は、いずれかの軸の加速度信号が、正側について設定された閾値を超えたか否かを判定するとともに、負側について設定された閾値未満となったか否かを判定する。ＣＰＵ１１は、いずれかの軸の加速度信号が、正側について設定された閾値を超えたと判定した場合、または負側について設定された閾値未満となったと判定した場合には、処理をステップＳ６に移行し、それ以外の場合には、処理をステップＳ３に戻す。
【００４９】
ステップＳ６において、ＣＰＵ１１は、抽出部３２として機能し、各軸の加速度信号ＳａＸ、ＳａＹおよびＳａＺの値を所定時間に亘りサンプリングし、当該サンプリングデータをＲＡＭ１２に記憶する。その後、ＣＰＵ１１は、ＲＡＭ１２に記憶されたサンプリングデータによって構成される、各軸の加速度信号の所定時間内における時間推移を示す加速度信号波形を取得する。
【００５０】
ステップＳ７において、ＣＰＵ１１は、抽出部３２として機能し、図７に例示するように、ステップＳ６において取得した各軸の加速度信号波形から、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分を抽出する。
【００５１】
ステップＳ８において、ＣＰＵ１１は、検出部３３として機能し、ステップＳ７において抽出した波形部分を軸毎に比較し、比較した結果に基づいて、波形部分を軸毎に選択する。具体的には、ＣＰＵ１１は、図８に例示するように、ステップＳ７において抽出した波形部分の各々の面積に応じた数値Ｑを、（１）式または（２）式に準じて導出する。ＣＰＵ１１は、導出した数値Ｑのうち、より大きい数値に対応する波形部分を選択する処理を軸毎に行う。
【００５２】
ステップＳ９において、ＣＰＵ１１は、検出部３３として機能し、ステップＳ８において選択した波形部分に基づいて軸毎に運動を検出する。すなわち、ＣＰＵ１１は、ステップＳ８において選択した波形部分に対応する軸の方向に沿った運動を検出する。
【００５３】
ステップＳ８およびＳ９の処理によれば、いずれかの軸の所定時間内における加速度信号波形において、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分が存在した場合でも、各軸において、１つの波形部分が選択され、選択された波形部分に基づいて運動の検出が行われる。つまり、抽出された波形部分が複数存在した場合でも、複数の波形部分の各々に基づいて複数回に亘り運動が検出されることが防止される。
【００５４】
ステップＳ１０において、ＣＰＵ１１は、ステップＳ９において検出された運動の方向が、現在設定されている指定軸の方向と一致するか否かを判定する。ＣＰＵ１１は、ステップＳ９において検出された運動の方向が、現在設定されている指定軸の方向と一致すると判定した場合には処理をステップＳ１１に移行し、一致しないと判定した場合には、処理をステップＳ１２に移行する。
【００５５】
ステップＳ１１において、ＣＰＵ１１は、現在設定されている指定軸の方向の運動を検出したことを示す指定軸検出情報をＲＡＭ１２に記憶する。
【００５６】
ステップＳ１２において、ＣＰＵ１１は、ＲＡＭ１２に記憶されている全ての指定軸検出情報を消去して処理をステップＳ２に戻す。すなわち、現在設定されている指定軸の方向とは異なる方向の運動を検出した場合には、これまでに検出された指定軸方向の運動は全て検出されなかったものとされ、初期状態に戻される。
【００５７】
ステップＳ１３において、ＣＰＵ１１は、全ての指定軸について、指定軸方向の運動を検出したか否かを判定する。ＣＰＵ１１は、全ての指定軸について指定軸方向の運動を検出したと判定した場合には処理をステップＳ１５に移行し、全ての指定軸について指定軸方向の運動を検出したと判定しない場合には処理をステップＳ１４に移行する。
【００５８】
ステップＳ１４において、ＣＰＵ１１は、次の指定軸を設定して処理をステップＳ３に戻す。
【００５９】
ステップＳ１５において、ＣＰＵ１１は、組み合わせシェイキングが成立したものとして、検出信号Ｓｄを生成し、これを入出力ポート１４から出力して本ルーチンを終了させる。
【００６０】
以上のように、本実施形態に係る半導体装置１０によれば、互いに異なる複数の軸が指定軸として設定されるので、歩行時や階段昇降時に生じる単調な運動によって検出信号Ｓｄが出力されることを防止できる。すなわち、ユーザによる意図的なシェイキング以外の運動によって検出信号Ｓｄが出力されることを防止できる。
【００６１】
また、本実施形態に係る半導体装置１０によれば、各軸における加速度信号の絶対値が所定期間内において複数回に亘って閾値の絶対値を超えた場合でも、当該所定期間内における運動の検出は各軸につき１回とされる。従って、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外することができ、組み合わせシェイキングの成立が困難となることを防止することができる。
【００６２】
また、本実施形態に係る半導体装置１０によれば、抽出された波形部分の各々の面積に応じた数値を導出し、数値がより大きい波形部分を選択し、選択した波形部分に基づいて運動の検出を行う。かかる態様によれば、正規のシェイキングに付随して振りかぶり動作が行われた場合でも、正規のシェイキングに対応する波形部分を選択することが可能となり、正規のシェイキングに基づいて運動の検出を行うことが可能となる。換言すれば、振りかぶり動作に対応する波形部分に基づいて運動の検出が行われてしまうことを防止できる。
【００６３】
なお、抽出された波形部分の各々について導出した数値を比較する場合に、所定範囲内にない数値を比較対象から除外してもよい。例えば、歩行動作等の比較的周期の長い振動は、正規のシェイキングよりも数値が顕著に大きくなることが想定される。一方、電車乗車時の振動等の比較的周期の短い振動は、正規のシェイキングよりも数値が著しく小さくなることが想定される。従って、比較対象とする数値の範囲を限定することで、歩行動作や電車乗車時の振動を運動の検出対象から除外することが可能となる。
【００６４】
また、上記の実施形態では、抽出された波形部分を選択するための数値として、各波形部分の面積に応じた数値を用いることとしているが、これに限定されるものではない。例えば、抽出された波形部分の傾き（角度）に相当する数値を適用してもよい。波形部分の傾き（角度）は、例えば、加速度信号波形が閾値を超えた点（または閾値未満となった点）と加速度信号波形のピーク点とを結ぶ直線の傾き（角度）であってもよい。この場合、正規のシェイキングに対応する波形部分の傾き（角度）の理想値を記憶しておき、抽出された波形部分のうち、理想値に最も近い数値を有するものを選択してもよい。
【００６５】
［第２の実施形態］
例えば、ユーザがＹ軸方向に沿ってシェイキングを行ったつもりでも、実際には、Ｘ軸方向成分およびＹ軸方向成分の双方を含む斜め方向のシェイキングが行われてしまうことがある。図１０は、加速度センサ２０に対してＸ軸方向成分およびＹ軸方向成分の双方を含む、斜め方向のシェイキングが行われた場合の加速度信号の一例を示す図である。斜め方向のシェイキングが行われると、Ｘ軸およびＹ軸の双方の加速度信号ＳａＸ、ＳａＹにおいてピークが出現し、各ピークの絶対値が閾値の絶対値を超える場合がある。また、Ｘ軸における加速度信号ＳａＸの位相および振幅は、Ｙ軸における加速度信号ＳａＹの位相および振幅と異なるものとなり得る。
【００６６】
上記した第１の実施形態に係る半導体装置１０によれば、各軸について抽出した波形部分の選択を軸毎に行い、軸毎に選択した波形部分に基づいて、各軸の運動を検出するので、図１０に示すような加速度信号が入力された場合には、最初にＹ軸方向の運動を検出し、その後わずかに遅れたタイミングでＸ軸方向の運動を検出する可能性がある。すなわち、第１の実施形態に係る半導体装置１０によれば、斜め方向のシェイキングが行われた場合に、複数の軸において運動を検出してしまう可能性があり、組み合わせシェイキングを成立させることが困難となるおそれがある。従って、第１の実施形態に係る半導体装置１０によれば、ユーザは、指定軸の方向からずれないように各指定軸の方向に沿って正確にシェイキングを行うことが要求される。第２の実施形態に係る半導体装置１０は、斜め方向のシェイキングが行われた場合でも、１つの軸に沿った運動のみを検出することで、組み合わせシェイキングの成立が困難となることを防止している。
【００６７】
第２の実施形態に係る半導体装置１０は、検出部３３における処理が第１の実施形態とは異なる。すなわち、第１の実施形態に係る検出部３３は、抽出部３２によって各軸について抽出された波形部分の各々を軸毎に比較し、比較結果に基づいて波形部分を選択する処理を軸毎に行い、軸毎に１つずつ選択した波形部分に基づいて各軸の方向に沿った運動を検出するものであった。これに対して第２の実施形態に係る検出部３３は、抽出部３２によって各軸について抽出された全ての波形部分を比較対象として比較し、比較結果に基づいて、各軸について抽出された全ての波形部分の中から１つを選択し、選択した波形部分に対応する軸の方向に沿った運動を検出する。抽出部３２によって各軸について抽出された波形部分のうち、選択されない波形部分は、運動の検出において考慮されない。
【００６８】
以下に、第２の実施形態に係る半導体装置１０の動作の一例を、図１１を参照しつつ説明する。図１１に示すように、Ｘ軸およびＹ軸の双方の加速度信号ＳａＸ、ＳａＹにおいてピークが出現し、各ピークの絶対値が閾値の絶対値を超えている場合、抽出部３２は、Ｙ軸についての加速度信号波形から波形部分ＰＹ１およびＰＹ２を抽出し、Ｘ軸についての加速度信号波形から波形部分ＰＸ１およびＰＸ２を抽出する。
【００６９】
検出部３３は、抽出部３２によって抽出された波形部分ＰＹ１、ＰＹ２、ＰＸ１およびＰＸ２のそれぞれについて、（１）式または（２）式に準じて、これらの波形部分のおおよその面積に相当する数値ＱＹ１、ＱＹ２、ＱＸ１およびＱＸ２を導出する。検出部３３は、波形部分の各々について導出した全ての数値ＱＹ１、ＱＹ２、ＱＸ１およびＱＸ２の中から値が最も大きい数値に対応する波形部分を選択する。図１１に示す例では、波形部分ＰＹ２について導出された数値ＱＹ２が最も大きいので、検出部３３は、波形部分ＰＹ２を選択する。
【００７０】
斜め方向のシェイキングが行われた場合には、ユーザが意図した方向の加速度信号のピーク値は、ユーザが意図しない方向の加速度信号のピーク値よりも大きくなると考えられる。すなわち、図１１に示す例においては、ユーザはＹ軸方向に沿ったシェイキングを意図したものと考えられる。本実施形態に係る半導体装置１０によれば、抽出部３２によって抽出された波形部分のうち、面積が最も大きい波形部分が選択されるので、ユーザが意図したシェイキングの方向に対応する波形部分を選択できる可能性が高くなる。
【００７１】
検出部３３は、選択した波形部分ＰＹ２に基づいてＹ軸の方向に沿った運動が生じたものと判定する。すなわち、選択されない波形部分ＰＹ１、ＰＸ１およびＰＸ２は、運動の検出に際して考慮されない。このように、本実施形態に係る半導体装置１０によれば、斜め方向のシェイキングが行われたことによって、所定時間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、当該所定時間内においては、選択された波形部分に対応する１つの軸の方向に沿った運動のみが検出される。また、第１の実施形態に係る半導体装置と同様、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外することができる。
【００７２】
図１２は、第２の実施形態に係る半導体装置１０のＣＰＵ１１がＲＯＭ１３に記憶された運動検出プログラムを実行することにより実施される運動検出処理の流れを示すフローチャートである。
【００７３】
第２の実施形態に係る運動検出プログラムは、第１の実施形態に係る運動検出プログラム（図９参照）におけるステップＳ８およびＳ９の処理に代えて、ステップＳ８ＡおよびＳ９Ａの処理を有する。他のステップＳ１〜Ｓ７およびＳ１０〜Ｓ１５の処理は、第１の実施形態に係る運動検出プログラムと同様であるので、重複する説明は省略する。
【００７４】
ステップＳ８Ａにおいて、ＣＰＵ１１は、検出部３３として機能し、ステップＳ７において抽出した、全ての波形部分を比較対象として比較した結果に基づいて、全ての軸に亘る波形部分の中から１つの波形部分を選択する。具体的には、ＣＰＵ１１は、ステップＳ７において抽出した波形部分の各々の面積に応じた数値Ｑを、（１）式または（２）式に準じて導出する。ＣＰＵ１１は、導出した各数値Ｑのうち、最も大きい数値を有する波形部分を１つ選択する。
【００７５】
ステップＳ９Ａにおいて、ＣＰＵ１１は、検出部３３として機能し、ステップＳ８Ａにおいて選択した波形部分に基づいて軸毎に運動を検出する。すなわち、ＣＰＵ１１は、ステップＳ８Ａにおいて選択した波形部分に対応する軸の方向に沿った運動を検出する。
【００７６】
ステップＳ８ＡおよびＳ９Ａの処理によれば、斜め方向のシェイキングが行われたことによって、所定期間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、当該所定期間内においては、１つの軸の方向に沿った運動のみが検出される。
【００７７】
このように、本発明の第２の実施形態に係る半導体装置１０によれば、斜め方向のシェイキングが行われたことによって、図１０および図１１に示すように、所定期間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、複数の軸のそれぞれについて運動を検出してしまうことを防止することができる。従って、斜め方向のシェイキングが行われた場合に組み合わせシェイキングの成立が困難となることを防止できる。すなわち、第２の実施形態に係る半導体装置１０によれば、指定軸の方向に沿った正確なシェイキングを行うことを要しないので、第１の実施形態と比較して操作性を向上させることができる。
【００７８】
［第３の実施形態］
図１３は、上記した第１および第２の実施形態に係る半導体装置１０および加速度センサ２０を内蔵した本発明の第３の実施形態に係る携帯端末装置５０の平面図である。携帯端末装置５０は、携帯電話やスマートフォンのような携帯通信端末装置であってもよい。
【００７９】
携帯端末装置５０は、上面中央に表示画面５１が設けられている。加速度センサ２０（図１３において図示せず）は、Ｘ軸が表示画面５１の左右方向に対応し、Ｙ軸が表示画面５１の上下方向に対応し、Ｚ軸が表示画面５１の前後方向に対応するように、携帯端末装置５０の内部に搭載されている。
【００８０】
図１４は、携帯端末装置５０の構成を示すブロック図である。携帯端末装置５０は、加速度センサ２０、半導体装置１０、メインコンピュータ６０およびアプリケーションソフトウェア７０を含んで構成されている。
【００８１】
メインコンピュータ６０は、携帯端末装置５０全体の制御を司るコンピュータであり、図示しないＣＰＵ、ＲＡＭ、ＲＯＭを含んで構成されている。メインコンピュータ６０は、マイクロコンピュータを含んで構成される半導体装置１０よりも回路規模の大きい半導体集積回路によって構成されている。なお、メインコンピュータ６０は、本発明に係る携帯端末装置の制御部に対応する。
【００８２】
メインコンピュータ６０は、半導体装置１０の入出力ポート１４に接続されており、入出力ポート１４から出力される検出信号Ｓｄがメインコンピュータ６０に供給されるようになっている。アプリケーションソフトウェア７０は、メインコンピュータ６０にインストールされている。アプリケーションソフトウェア７０は、一例として、電子メールを送受信および閲覧等するための機能を提供するものであってもよく、他の例として、音声データを再生する機能を提供するものであってもよい。
【００８３】
メインコンピュータ６０は、半導体装置１０から検出信号Ｓｄを受信した場合に、所定の動作を行う。一例として、メインコンピュータ６０は、半導体装置１０から検出信号Ｓｄを受信すると、アプリケーションソフトウェア７０を起動させてもよい。他の例として、メインコンピュータ６０は、半導体装置１０から検出信号Ｓｄを受信すると、アプリケーションソフトウェア７０によって提供される機能を発揮させてもよい。例えば、アプリケーションソフトウェア７０が電子メールを送受信および閲覧等するための機能を提供するものである場合には、メインコンピュータ６０は、検出信号Ｓｄに応じて電子メールの送信を行うようにしてもよい。
【００８４】
このように、加速度センサ２０および半導体装置１０を内蔵した本発明の実施形態に係る携帯端末装置５０によれば、携帯端末装置５０をシェイキングによって操作することが可能となる。検出信号Ｓｄは、組み合わせシェイキングが成立した場合に出力されるので、歩行時や階段昇降時に生じる単調な運動によって携帯端末装置５０が操作されてしまうことを防止することができる。
【００８５】
ここで、半導体装置１０によって実施される運動検出処理をメインコンピュータ６０に行わせることとすると、メインコンピュータ６０は加速度センサ２０からの加速度信号を常時監視することとなる。メインコンピュータ６０は、比較的回路規模の大きい半導体集積回路で構成されており、常時動作させた場合には、消費電力が大きくなり、バッテリ消費が増大する。本実施形態に係る携帯端末装置５０によれば、メインコンピュータ６０よりも回路規模の小さいマイクロコンピュータで構成される半導体装置１０が運動検出処理を行うので、メインコンピュータ６０が運動検出処理を行う場合と比較して、消費電力を低減することができる。
【００８６】
以上、本発明の実施形態について説明したが、本発明は上記各実施形態の態様に限定されるものではなく、種々の変更が可能である。上記の各実施形態においては、指定軸の設定順序を示す順序情報１７をＲＯＭ１３に記憶する場合を例示したが、順序情報１７を適宜書き換えることができるように構成してもよい。
【００８７】
また、半導体装置１０において、複数の組み合わせシェイキングを規定し、各組み合わせシェイキングに対応した検出信号Ｓｄを出力するように構成してもよい。例えば、半導体装置１０は、第１の組み合わせシェイキングが成立した場合に第１の検出信号Ｓｄ１を出力し、第１の組み合わせシェイキングとは異なる第２の組み合わせシェイキングが成立した場合に第２の検出信号Ｓｄ２を出力してもよい。この場合において、携帯端末装置５０は、第１の検出信号Ｓｄ１に応じて第１の動作を行い、第２の検出信号Ｓｄ２に応じて第１の動作とは異なる第２の動作を行ってもよい。
【００８８】
また、半導体装置１０は、組み合わせシェイキングが成立した場合に検出信号Ｓｄを出力することに代えて、携帯端末装置５０に対して動作内容を指示するコマンドを出力してもよい。また、半導体装置１０は、加速度センサ２０と一体的に構成されたモジュールの形態を有していてもよい。
【符号の説明】
【００８９】
１０  半導体装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  入出力ポート
１６  運動検出プログラム
１７  順序情報
２０  加速度センサ
３１  入力部
３２  抽出部
３３  判定部
３４  設定部
３５  出力分
５０  携帯端末装置
６０  メインコンピュータ
【図１】
0006608106.tif 000002
【図２】
0006608106.tif 000003
【図３】
0006608106.tif 000004
【図４】
0006608106.tif 000005
【図５】
0006608106.tif 000006
【図６】
0006608106.tif 000007
【図７】
0006608106.tif 000008
【図８】
0006608106.tif 000009
【図９】
0006608106.tif 000010
【図１０】
0006608106.tif 000011
【図１１】
0006608106.tif 000012
【図１２】
0006608106.tif 000013
【図１３】
0006608106.tif 000014
【図１４】
0006608106.tif 000015