(58)【調査した分野】(Int.Cl.,DB名)
前記検出部は、前記数値として、前記抽出部によって抽出された前記信号部分の各々によって示される加速度信号波形の波形部分の面積に応じた数値を導出し、前記数値がより大きい信号部分を選択する
請求項4に記載の半導体装置。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しつつ説明する。なお、各図面において同一または対応する構成要素には同一の参照符号を付与している。
【0013】
[第1の実施形態]
図1は、運動検出装置として機能する、本発明の実施形態に係る半導体装置10のハードウェア構成を示すブロック図である。なお、
図1には、半導体装置10とともに使用される加速度センサ20も示されている。
【0014】
加速度センサ20は、3次元直交座標系におけるX軸、Y軸およびZ軸の各軸の方向に生じた加速度を検出し、検出した加速度の大きさに応じた加速度信号を軸毎に出力する。すなわち、加速度センサ20は、X軸の加速度の大きさを示す加速度信号S
aX、Y軸の加速度を示す加速度信号S
aY、Z軸の加速度を示す加速度信号S
aZを出力する。加速度センサ20は、X軸、Y軸およびZ軸の加速度を単一のデバイスで検出する3軸加速度センサであってもよい。また、加速度センサ20は、軸毎に異なるデバイスで構成されていてもよい。
【0015】
半導体装置10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、入出力ポート(I/Oポート)14およびこれらを相互に接続するバス15を含むマイクロコンピュータである。
【0016】
CPU11は、半導体装置10の全体の制御を司る。ROM13は、CPU11によって実行される後述する運動検出プログラム16および指定軸の設定順序を示す順序情報17を記憶した記憶媒体である。RAM12は、CPU11における演算処理に使用するデータや命令等を一時的に格納するワークエリアを提供する記憶媒体である。加速度センサ20から出力される加速度信号S
aX、S
ay、およびS
aZは、入出力ポート14を介してCPU11に供給される。また、CPU11が運動検出プログラム16を実行することによって生成される後述する検出信号S
dは、入出力ポート14を介して外部に出力される。
【0017】
図2は、加速度センサ20から出力されるX軸、Y軸およびZ軸の加速度信号S
aX、S
aYおよびS
aZの一例を示す図である。
図2において、横軸は時間であり、縦軸は加速度である。
図2は、加速度センサ20にY軸方向に沿った正方向の運動を生じさせた場合の例である。このように、外部から力を加えて加速度センサ20に運動(加速度)を生じさせることを以降「シェイキング」と称する。例えば、加速度センサ20をY軸に沿った正方向のシェイキングを行うと、加速度センサ20は、
図2に示すように、正側(上側)にピークを有する加速度信号S
aYを出力する。また、この場合、Z軸およびX軸における加速度信号S
aXおよびS
aZは略ゼロレベルとなる。加速度信号のゼロレベルは、加速度センサ20に運動(加速度)が生じていないことを示し、加速度信号の正負は、当該軸に沿った加速度の向きを示す。
【0018】
半導体装置10は、各軸の加速度信号S
aX、S
ay、およびS
aZが、これらについて設定された上限閾値(正側の閾値)を超えた場合または下限閾値(負側の閾値)未満となった場合に、当該軸の方向に沿った運動(シェイキング)が行われたものと判定する。例えば、
図2に示す例では、Y軸の加速度信号S
aYは、正側について設定された閾値T
Y1を超えているので、半導体装置10は、Y軸方向に沿った運動(シェイキング)が行われたものと判定する。なお、加速度信号が負側について設定された閾値未満となるとは、負の方向の加速度の絶対値が、負側について設定された閾値の絶対値よりも大きくなること意味する。
【0019】
半導体装置10は、後述する運動検出プログラム16を実行することにより、以下のように動作する。すなわち、半導体装置10は、ROM13に記憶された順序情報17に基づいて3軸のうちから選択される複数の軸の各々を、所定の順序で指定軸として設定する。半導体装置10は、加速度センサ20から供給される各軸の加速度信号S
aX、S
ay、およびS
aZに基づいて検出した運動の方向が、設定された指定軸の各々に沿った方向であると判定した場合に検出信号S
dを出力する。
【0020】
ここで、
図3は、順序情報17の内容の一例を示す図である。
図3に示す例では、1番目にX軸が指定軸として設定され、2番目にY軸が指定軸として設定され、3番目にZ軸が指定軸として設定され、4番目にX軸が指定軸として設定される場合が示されている。
【0021】
図4(A)は、運動検知プログラム16に基づいて動作する半導体装置10の動作の一例を示す図であり、指定軸の設定順序が、
図3に示すように、X軸、Y軸、Z軸、X軸の順とされている場合の動作例である。
【0022】
半導体装置10は、順序情報17に基づいて1番目にX軸を指定軸に設定する。半導体装置10は、X軸が指定軸に設定されている場合にX軸方向の運動(シェイキング)を検出すると、順序情報17に基づいて2番目の指定軸としてY軸を設定する。半導体装置10は、Y軸が指定軸に設定されている場合にY軸方向の運動(シェイキング)を検出すると、順序情報17に基づいて3番目の指定軸としてZ軸を設定する。半導体装置10は、Z軸が指定軸に設定されている場合にZ軸方向の運動(シェイキング)を検出すると、順序情報17に基づいて4番目の指定軸としてX軸を指定軸に設定する。半導体装置10は、4番目の指定軸としてX軸が設定されている場合にX軸方向の運動(シェイキング)を検出すると、組み合わせシェイキングが成立したものと判定して検出信号S
dを出力する。すなわち、指定軸の方向に沿ったシェイキングが、全ての指定軸について行われた場合に検出信号S
dが出力される。なお、組み合わせシェイキングとは、全ての指定軸について指定軸方向の運動(シェイキング)を行うことをいう。
【0023】
図4(B)は、運動検知プログラム16に基づいて動作する半導体装置10の動作の他の例を示す図であり、指定軸の設定順序が、
図3に示すように、X軸、Y軸、Z軸、X軸の順とされている場合の動作例である。
【0024】
半導体装置10は、
図4(B)に示すように、1番目にX軸を指定軸に設定する。半導体装置10は、X軸が指定軸に設定されている場合にX軸方向の運動(シェイキング)を検出すると、2番目の指定軸としてY軸を設定する。半導体装置10は、Y軸が指定軸に設定されている場合に指定軸とは異なるZ軸の方向の運動(シェイキング)を検出すると、組み合わせシェイキングが失敗したものと判定し、先に検出された指定軸(X軸)方向の運動は検出されなかったものとし、指定軸の設定を1番目に戻す。
【0025】
このように、半導体装置10は、三次元直交座標系の3つの軸の各軸毎の加速度を示す加速度信号の入力を受け付け、3つの軸のうちから選択される複数の軸を、所定の順序で指定軸として設定する。半導体装置10は、入力された各軸の加速度信号に基づいて検出した運動の方向が、設定された指定軸の各々に沿った方向であると判定した場合に検出信号S
dを出力する。このような態様によれば、互いに異なる複数の軸が指定軸として設定されるので、歩行時や階段昇降時に生じる単調な運動によって検出信号S
dが出力されることを防止できる。すなわち、ユーザによる意図的なシェイキング以外の運動によって検出信号S
dが出力されることを防止できる。
【0026】
ところで、ユーザは、加速度センサ20を内蔵した携帯端末装置等の電子機器に対して、例えば、任意の軸の正の向きに振動を加える場合、通常、当該電子機器を自身の手に把持した状態で当該軸の正の向きに自身の腕を振る動作を行う。このとき、ユーザは、正の向きに腕を振る前に、無意識に当該軸の負の向きに腕を振るいわゆる振りかぶり動作を行う場合が多い。
【0027】
図5は、振りかぶり動作を伴うシェイキングが行われた場合の加速度信号S
aX、S
aYおよびS
aZの一例を示す図である。例えば、Y軸の方向に沿って振りかぶり動作を伴うシェイキングが行われた場合、
図5に示すように、正側および負側の双方にピークを有する加速度信号S
aYが加速度センサ20から出力され得る。なお、
図5に示す例では、負側のピークが振りかぶり動作に対応し、正側のピークが正規のシェイキングに対応している。
図5に示すように、各ピークの絶対値がそれぞれ閾値の絶対値を超えた場合において、それぞれのピークを、別々の運動として検出した場合には、組み合わせシェイキングを成立させることが困難となる。本実施形態に係る半導体装置10は、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外するように構成されている。
【0028】
図6は、半導体装置10の機能構成を示す機能ブロック図である。半導体装置10は、CUP11が、ROM13に記憶された後述する運動検出プログラム16を実行することによって入力部31、抽出部32、検出部33、設定部34および出力部35として機能する。
【0029】
入力部31は、加速度センサ20から出力される各軸の加速度信号S
aX、S
aYおよびS
aZの入力を受け付ける機能を有する。
【0030】
抽出部32は、入力部31に入力された各軸の加速度信号S
aX、S
aYおよびS
aZの所定期間内における時間推移の各々から、加速度ゼロを含む所定範囲の上限閾値(正側の閾値)を超えた信号部分及び上記所定範囲の下限閾値(負側の閾値)未満の信号部分を抽出する機能を有する。すなわち、加速度信号のうち、その絶対値が、上限閾値(正側の閾値)の絶対値および下限閾値(負側の閾値)の絶対値を超えた信号部分が抽出される。
【0031】
図7は、抽出部32における処理の内容の一例を示す図である。抽出部32は、いずれかの軸における加速度信号の絶対値が、正側または負側について設定された閾値の絶対値を超えた場合、各軸の加速度信号S
aX、S
aYおよびS
aZの値を所定期間に亘りサンプリングし、当該サンプリングデータをRAM12に記憶する。例えば、
図7に示す場合において、抽出部32は、Y軸における加速度信号S
aYの絶対値が負側について設定された閾値T
Y2の絶対値を超えた時刻t
1から所定時間(例えば0.5秒)が経過するまでの間、各軸の加速度信号S
aX、S
aYおよびS
aZの値をサンプリングし、当該サンプリングデータをRAM12に記憶する。
【0032】
抽出部32は、RAM12に記憶されたサンプリングデータによって構成される、各軸の加速度信号の所定時間内における時間推移を示す加速度信号波形の各々から、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分を抽出する。例えば、
図7に示す場合において、抽出部32は、Y軸における加速度信号S
ayについての加速度信号波形から、時刻t
1から時刻t
2までの波形部分P
Y1および時刻t
3から時刻t
4までの波形部分P
Y2を抽出する。
【0033】
検出部33は、抽出部32によって抽出された波形部分の各々を軸毎に比較した結果に基づいて波形部分の選択を軸毎に行い、軸毎に選択した波形部分に基づいて各軸の方向に沿った運動を検出する。すなわち、抽出部32によって抽出された波形部分のうち、選択されない波形部分は、運動の検出において考慮されない。
【0034】
図8は、検出部33における処理の内容の一例を示す図である。検出部33は、抽出部32によって抽出された波形部分P
Y1およびP
Y2の比較を以下のようにして行う。すなわち、検出部33は、波形部分P
Y1およびP
Y2の各々に関する数値を導出し、導出した数値の比較を行う。より具体的には、検出部33は、波形部分P
Y1に関する数値として、波形部分P
Y1のおおよその面積に相当する、下記の(1)式によって示される数値Q
Y1を導出するとともに、波形部分P
Y2に関する数値として、波形部分P
Y2のおおよその面積に相当する、下記の(2)式によって示される数値Q
Y2を導出する。
【0035】
Q
Y1=T1×A1/2 ・・・(1)
Q
Y2=T2×A2/2 ・・・(2)
【0036】
(1)において、T1は、加速度信号波形が負側について設定された閾値T
Y2未満となった期間(時刻t
1から時刻t
2までの期間)であり、A1は、時刻t
1から時刻t
2の間に存在する、加速度信号波形の負側のピーク値B1と、負側の閾値T
Y2と、の差の絶対値である。すなわち、数値Q
Y1は、
図8においてハッチングで示される下側の三角形の面積に相当し、波形部分P
Y1のおおよその面積に相当する。
【0037】
同様に、(2)式において、T2は、加速度信号波形が正側について設定された閾値T
Y1を超えた期間(時刻t
3から時刻t
4までの期間)であり、A2は、時刻t
3から時刻t
4の間に存在する、加速度信号波形の側のピーク値B2と、正側の閾値T
Y1との差の絶対値である。すなわち、数値Q
Y2は、
図8においてハッチングで示される上側の三角形の面積に相当し、波形部分P
Y2のおおよその面積に相当する。
【0038】
検出部33は、波形部分の各々について導出した数値を軸毎に比較し、比較した結果に基づいて波形部分の選択を軸毎に行う。すなわち、
図8に示す場合において、検出部33は、Y軸について抽出された波形部分P
Y1およびP
Y2に関する数値Q
Y1とQ
Y2のうち、より大きい数値Q
Y2を有する波形部分P
Y2を選択する。
【0039】
ユーザによる正規のシェイキングに対応する波形部分の面積は、ユーザが意図しない振りかぶり動作に対応する波形部分の面積よりも大きいことが想定される。従って、抽出された波形部分の選択において、面積の大きいもの選択することで、正規のシェイキングに対応する波形部分を選択できる可能性が高くなる。換言すれば、波形部分の選択において、振りかぶり動作に対応する波形部分を除外できる可能性が高くなる。なお、
図8に示す例では、Y軸についてのみ波形部分が抽出された場合が例示されているが、X軸またはZ軸についても波形部分が抽出された場合には、検出部33は、これらの軸についても同様に波形部分の選択を行う。
【0040】
検出部33は、選択した波形部分に基づいて当該軸の方向に沿った運動を検出する。すなわち、
図8に示す場合において、検出部33は、選択した波形部分P
Y2に基づいて、Y軸上における正方向の運動を検出する。換言すれば、選択されない波形部分P
Y1は、Y軸上の運動の検出に際して考慮されない。このように、本実施形態に係る半導体装置10によれば、各軸における加速度信号の絶対値が所定時間内に複数回に亘って閾値の絶対値を超えた場合でも、当該所定期間内における運動の検出は、各軸につき1回とされる。
【0041】
設定部34は、X軸、Y軸およびZ軸のうちから選択される複数の軸の各々を、所定の順序で指定軸として設定する機能を有する。
【0042】
出力部35は、検出部33によって検出された運動の方向が設定部34によって設定された各指定軸の方向と一致する場合に、検出信号S
dを出力する機能を有する。
【0043】
図9は、半導体装置10のCPU11がROM13に記憶された運動検出プログラム16を実行することにより実施される運動検出処理の流れを示すフローチャートである。
【0044】
ステップS1において、CPU11は、ROM13に記憶された順序情報17を読み込む。順序情報17は、X軸、Y軸およびZ軸の3軸のうちから選択される複数の指定軸の設定順序を示す情報である。
【0045】
ステップS2において、CPU11は、設定部34として機能し、順序情報17に基づいて、X軸、Y軸およびZ軸のうち、1番目の指定軸を設定する。
【0046】
ステップS3において、CPU11は、入力部31として機能し、X軸、Y軸およびZ軸の各々の加速度信号S
aX、S
ay、およびS
aZを加速度センサ20から取得する。
【0047】
ステップS4において、CPU11は、ステップS3の処理を開始してからの時間が、所定のタイムアウト時間に到達したか否かを判定する。CPU11は、タイムアウト時間にはまだ到達していないと判定した場合には、処理をステップS5に移行し、タイムアウト時間を超えたと判定した場合には、処理をステップS2に戻す。
【0048】
ステップS5において、CPU11は、いずれかの軸の加速度信号が、正側について設定された閾値を超えたか否かを判定するとともに、負側について設定された閾値未満となったか否かを判定する。CPU11は、いずれかの軸の加速度信号が、正側について設定された閾値を超えたと判定した場合、または負側について設定された閾値未満となったと判定した場合には、処理をステップS6に移行し、それ以外の場合には、処理をステップS3に戻す。
【0049】
ステップS6において、CPU11は、抽出部32として機能し、各軸の加速度信号S
aX、S
aYおよびS
aZの値を所定時間に亘りサンプリングし、当該サンプリングデータをRAM12に記憶する。その後、CPU11は、RAM12に記憶されたサンプリングデータによって構成される、各軸の加速度信号の所定時間内における時間推移を示す加速度信号波形を取得する。
【0050】
ステップS7において、CPU11は、抽出部32として機能し、
図7に例示するように、ステップS6において取得した各軸の加速度信号波形から、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分を抽出する。
【0051】
ステップS8において、CPU11は、検出部33として機能し、ステップS7において抽出した波形部分を軸毎に比較し、比較した結果に基づいて、波形部分を軸毎に選択する。具体的には、CPU11は、
図8に例示するように、ステップS7において抽出した波形部分の各々の面積に応じた数値Qを、(1)式または(2)式に準じて導出する。CPU11は、導出した数値Qのうち、より大きい数値に対応する波形部分を選択する処理を軸毎に行う。
【0052】
ステップS9において、CPU11は、検出部33として機能し、ステップS8において選択した波形部分に基づいて軸毎に運動を検出する。すなわち、CPU11は、ステップS8において選択した波形部分に対応する軸の方向に沿った運動を検出する。
【0053】
ステップS8およびS9の処理によれば、いずれかの軸の所定時間内における加速度信号波形において、正側の閾値を超えた波形部分および負側の閾値未満となった波形部分が存在した場合でも、各軸において、1つの波形部分が選択され、選択された波形部分に基づいて運動の検出が行われる。つまり、抽出された波形部分が複数存在した場合でも、複数の波形部分の各々に基づいて複数回に亘り運動が検出されることが防止される。
【0054】
ステップS10において、CPU11は、ステップS9において検出された運動の方向が、現在設定されている指定軸の方向と一致するか否かを判定する。CPU11は、ステップS9において検出された運動の方向が、現在設定されている指定軸の方向と一致すると判定した場合には処理をステップS11に移行し、一致しないと判定した場合には、処理をステップS12に移行する。
【0055】
ステップS11において、CPU11は、現在設定されている指定軸の方向の運動を検出したことを示す指定軸検出情報をRAM12に記憶する。
【0056】
ステップS12において、CPU11は、RAM12に記憶されている全ての指定軸検出情報を消去して処理をステップS2に戻す。すなわち、現在設定されている指定軸の方向とは異なる方向の運動を検出した場合には、これまでに検出された指定軸方向の運動は全て検出されなかったものとされ、初期状態に戻される。
【0057】
ステップS13において、CPU11は、全ての指定軸について、指定軸方向の運動を検出したか否かを判定する。CPU11は、全ての指定軸について指定軸方向の運動を検出したと判定した場合には処理をステップS15に移行し、全ての指定軸について指定軸方向の運動を検出したと判定しない場合には処理をステップS14に移行する。
【0058】
ステップS14において、CPU11は、次の指定軸を設定して処理をステップS3に戻す。
【0059】
ステップS15において、CPU11は、組み合わせシェイキングが成立したものとして、検出信号S
dを生成し、これを入出力ポート14から出力して本ルーチンを終了させる。
【0060】
以上のように、本実施形態に係る半導体装置10によれば、互いに異なる複数の軸が指定軸として設定されるので、歩行時や階段昇降時に生じる単調な運動によって検出信号S
dが出力されることを防止できる。すなわち、ユーザによる意図的なシェイキング以外の運動によって検出信号S
dが出力されることを防止できる。
【0061】
また、本実施形態に係る半導体装置10によれば、各軸における加速度信号の絶対値が所定期間内において複数回に亘って閾値の絶対値を超えた場合でも、当該所定期間内における運動の検出は各軸につき1回とされる。従って、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外することができ、組み合わせシェイキングの成立が困難となることを防止することができる。
【0062】
また、本実施形態に係る半導体装置10によれば、抽出された波形部分の各々の面積に応じた数値を導出し、数値がより大きい波形部分を選択し、選択した波形部分に基づいて運動の検出を行う。かかる態様によれば、正規のシェイキングに付随して振りかぶり動作が行われた場合でも、正規のシェイキングに対応する波形部分を選択することが可能となり、正規のシェイキングに基づいて運動の検出を行うことが可能となる。換言すれば、振りかぶり動作に対応する波形部分に基づいて運動の検出が行われてしまうことを防止できる。
【0063】
なお、抽出された波形部分の各々について導出した数値を比較する場合に、所定範囲内にない数値を比較対象から除外してもよい。例えば、歩行動作等の比較的周期の長い振動は、正規のシェイキングよりも数値が顕著に大きくなることが想定される。一方、電車乗車時の振動等の比較的周期の短い振動は、正規のシェイキングよりも数値が著しく小さくなることが想定される。従って、比較対象とする数値の範囲を限定することで、歩行動作や電車乗車時の振動を運動の検出対象から除外することが可能となる。
【0064】
また、上記の実施形態では、抽出された波形部分を選択するための数値として、各波形部分の面積に応じた数値を用いることとしているが、これに限定されるものではない。例えば、抽出された波形部分の傾き(角度)に相当する数値を適用してもよい。波形部分の傾き(角度)は、例えば、加速度信号波形が閾値を超えた点(または閾値未満となった点)と加速度信号波形のピーク点とを結ぶ直線の傾き(角度)であってもよい。この場合、正規のシェイキングに対応する波形部分の傾き(角度)の理想値を記憶しておき、抽出された波形部分のうち、理想値に最も近い数値を有するものを選択してもよい。
【0065】
[第2の実施形態]
例えば、ユーザがY軸方向に沿ってシェイキングを行ったつもりでも、実際には、X軸方向成分およびY軸方向成分の双方を含む斜め方向のシェイキングが行われてしまうことがある。
図10は、加速度センサ20に対してX軸方向成分およびY軸方向成分の双方を含む、斜め方向のシェイキングが行われた場合の加速度信号の一例を示す図である。斜め方向のシェイキングが行われると、X軸およびY軸の双方の加速度信号S
aX、S
aYにおいてピークが出現し、各ピークの絶対値が閾値の絶対値を超える場合がある。また、X軸における加速度信号S
aXの位相および振幅は、Y軸における加速度信号S
aYの位相および振幅と異なるものとなり得る。
【0066】
上記した第1の実施形態に係る半導体装置10によれば、各軸について抽出した波形部分の選択を軸毎に行い、軸毎に選択した波形部分に基づいて、各軸の運動を検出するので、
図10に示すような加速度信号が入力された場合には、最初にY軸方向の運動を検出し、その後わずかに遅れたタイミングでX軸方向の運動を検出する可能性がある。すなわち、第1の実施形態に係る半導体装置10によれば、斜め方向のシェイキングが行われた場合に、複数の軸において運動を検出してしまう可能性があり、組み合わせシェイキングを成立させることが困難となるおそれがある。従って、第1の実施形態に係る半導体装置10によれば、ユーザは、指定軸の方向からずれないように各指定軸の方向に沿って正確にシェイキングを行うことが要求される。第2の実施形態に係る半導体装置10は、斜め方向のシェイキングが行われた場合でも、1つの軸に沿った運動のみを検出することで、組み合わせシェイキングの成立が困難となることを防止している。
【0067】
第2の実施形態に係る半導体装置10は、検出部33における処理が第1の実施形態とは異なる。すなわち、第1の実施形態に係る検出部33は、抽出部32によって各軸について抽出された波形部分の各々を軸毎に比較し、比較結果に基づいて波形部分を選択する処理を軸毎に行い、軸毎に1つずつ選択した波形部分に基づいて各軸の方向に沿った運動を検出するものであった。これに対して第2の実施形態に係る検出部33は、抽出部32によって各軸について抽出された全ての波形部分を比較対象として比較し、比較結果に基づいて、各軸について抽出された全ての波形部分の中から1つを選択し、選択した波形部分に対応する軸の方向に沿った運動を検出する。抽出部32によって各軸について抽出された波形部分のうち、選択されない波形部分は、運動の検出において考慮されない。
【0068】
以下に、第2の実施形態に係る半導体装置10の動作の一例を、
図11を参照しつつ説明する。
図11に示すように、X軸およびY軸の双方の加速度信号S
aX、S
aYにおいてピークが出現し、各ピークの絶対値が閾値の絶対値を超えている場合、抽出部32は、Y軸についての加速度信号波形から波形部分P
Y1およびP
Y2を抽出し、X軸についての加速度信号波形から波形部分P
X1およびP
X2を抽出する。
【0069】
検出部33は、抽出部32によって抽出された波形部分P
Y1、P
Y2、P
X1およびP
X2のそれぞれについて、(1)式または(2)式に準じて、これらの波形部分のおおよその面積に相当する数値Q
Y1、Q
Y2、Q
X1およびQ
X2を導出する。検出部33は、波形部分の各々について導出した全ての数値Q
Y1、Q
Y2、Q
X1およびQ
X2の中から値が最も大きい数値に対応する波形部分を選択する。
図11に示す例では、波形部分P
Y2について導出された数値Q
Y2が最も大きいので、検出部33は、波形部分P
Y2を選択する。
【0070】
斜め方向のシェイキングが行われた場合には、ユーザが意図した方向の加速度信号のピーク値は、ユーザが意図しない方向の加速度信号のピーク値よりも大きくなると考えられる。すなわち、
図11に示す例においては、ユーザはY軸方向に沿ったシェイキングを意図したものと考えられる。本実施形態に係る半導体装置10によれば、抽出部32によって抽出された波形部分のうち、面積が最も大きい波形部分が選択されるので、ユーザが意図したシェイキングの方向に対応する波形部分を選択できる可能性が高くなる。
【0071】
検出部33は、選択した波形部分P
Y2に基づいてY軸の方向に沿った運動が生じたものと判定する。すなわち、選択されない波形部分P
Y1、P
X1およびP
X2は、運動の検出に際して考慮されない。このように、本実施形態に係る半導体装置10によれば、斜め方向のシェイキングが行われたことによって、所定時間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、当該所定時間内においては、選択された波形部分に対応する1つの軸の方向に沿った運動のみが検出される。また、第1の実施形態に係る半導体装置と同様、振りかぶり動作等の、正規のシェイキングに付随する、ユーザが意図しない運動を検出対象から除外することができる。
【0072】
図12は、第2の実施形態に係る半導体装置10のCPU11がROM13に記憶された運動検出プログラムを実行することにより実施される運動検出処理の流れを示すフローチャートである。
【0073】
第2の実施形態に係る運動検出プログラムは、第1の実施形態に係る運動検出プログラム(
図9参照)におけるステップS8およびS9の処理に代えて、ステップS8AおよびS9Aの処理を有する。他のステップS1〜S7およびS10〜S15の処理は、第1の実施形態に係る運動検出プログラムと同様であるので、重複する説明は省略する。
【0074】
ステップS8Aにおいて、CPU11は、検出部33として機能し、ステップS7において抽出した、全ての波形部分を比較対象として比較した結果に基づいて、全ての軸に亘る波形部分の中から1つの波形部分を選択する。具体的には、CPU11は、ステップS7において抽出した波形部分の各々の面積に応じた数値Qを、(1)式または(2)式に準じて導出する。CPU11は、導出した各数値Qのうち、最も大きい数値を有する波形部分を1つ選択する。
【0075】
ステップS9Aにおいて、CPU11は、検出部33として機能し、ステップS8Aにおいて選択した波形部分に基づいて軸毎に運動を検出する。すなわち、CPU11は、ステップS8Aにおいて選択した波形部分に対応する軸の方向に沿った運動を検出する。
【0076】
ステップS8AおよびS9Aの処理によれば、斜め方向のシェイキングが行われたことによって、所定期間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、当該所定期間内においては、1つの軸の方向に沿った運動のみが検出される。
【0077】
このように、本発明の第2の実施形態に係る半導体装置10によれば、斜め方向のシェイキングが行われたことによって、
図10および
図11に示すように、所定期間内に複数の軸において加速度信号の絶対値が閾値の絶対値を超えた場合でも、複数の軸のそれぞれについて運動を検出してしまうことを防止することができる。従って、斜め方向のシェイキングが行われた場合に組み合わせシェイキングの成立が困難となることを防止できる。すなわち、第2の実施形態に係る半導体装置10によれば、指定軸の方向に沿った正確なシェイキングを行うことを要しないので、第1の実施形態と比較して操作性を向上させることができる。
【0078】
[第3の実施形態]
図13は、上記した第1および第2の実施形態に係る半導体装置10および加速度センサ20を内蔵した本発明の第3の実施形態に係る携帯端末装置50の平面図である。携帯端末装置50は、携帯電話やスマートフォンのような携帯通信端末装置であってもよい。
【0079】
携帯端末装置50は、上面中央に表示画面51が設けられている。加速度センサ20(
図13において図示せず)は、X軸が表示画面51の左右方向に対応し、Y軸が表示画面51の上下方向に対応し、Z軸が表示画面51の前後方向に対応するように、携帯端末装置50の内部に搭載されている。
【0080】
図14は、携帯端末装置50の構成を示すブロック図である。携帯端末装置50は、加速度センサ20、半導体装置10、メインコンピュータ60およびアプリケーションソフトウェア70を含んで構成されている。
【0081】
メインコンピュータ60は、携帯端末装置50全体の制御を司るコンピュータであり、図示しないCPU、RAM、ROMを含んで構成されている。メインコンピュータ60は、マイクロコンピュータを含んで構成される半導体装置10よりも回路規模の大きい半導体集積回路によって構成されている。なお、メインコンピュータ60は、本発明に係る携帯端末装置の制御部に対応する。
【0082】
メインコンピュータ60は、半導体装置10の入出力ポート14に接続されており、入出力ポート14から出力される検出信号S
dがメインコンピュータ60に供給されるようになっている。アプリケーションソフトウェア70は、メインコンピュータ60にインストールされている。アプリケーションソフトウェア70は、一例として、電子メールを送受信および閲覧等するための機能を提供するものであってもよく、他の例として、音声データを再生する機能を提供するものであってもよい。
【0083】
メインコンピュータ60は、半導体装置10から検出信号S
dを受信した場合に、所定の動作を行う。一例として、メインコンピュータ60は、半導体装置10から検出信号S
dを受信すると、アプリケーションソフトウェア70を起動させてもよい。他の例として、メインコンピュータ60は、半導体装置10から検出信号S
dを受信すると、アプリケーションソフトウェア70によって提供される機能を発揮させてもよい。例えば、アプリケーションソフトウェア70が電子メールを送受信および閲覧等するための機能を提供するものである場合には、メインコンピュータ60は、検出信号S
dに応じて電子メールの送信を行うようにしてもよい。
【0084】
このように、加速度センサ20および半導体装置10を内蔵した本発明の実施形態に係る携帯端末装置50によれば、携帯端末装置50をシェイキングによって操作することが可能となる。検出信号S
dは、組み合わせシェイキングが成立した場合に出力されるので、歩行時や階段昇降時に生じる単調な運動によって携帯端末装置50が操作されてしまうことを防止することができる。
【0085】
ここで、半導体装置10によって実施される運動検出処理をメインコンピュータ60に行わせることとすると、メインコンピュータ60は加速度センサ20からの加速度信号を常時監視することとなる。メインコンピュータ60は、比較的回路規模の大きい半導体集積回路で構成されており、常時動作させた場合には、消費電力が大きくなり、バッテリ消費が増大する。本実施形態に係る携帯端末装置50によれば、メインコンピュータ60よりも回路規模の小さいマイクロコンピュータで構成される半導体装置10が運動検出処理を行うので、メインコンピュータ60が運動検出処理を行う場合と比較して、消費電力を低減することができる。
【0086】
以上、本発明の実施形態について説明したが、本発明は上記各実施形態の態様に限定されるものではなく、種々の変更が可能である。上記の各実施形態においては、指定軸の設定順序を示す順序情報17をROM13に記憶する場合を例示したが、順序情報17を適宜書き換えることができるように構成してもよい。
【0087】
また、半導体装置10において、複数の組み合わせシェイキングを規定し、各組み合わせシェイキングに対応した検出信号S
dを出力するように構成してもよい。例えば、半導体装置10は、第1の組み合わせシェイキングが成立した場合に第1の検出信号S
d1を出力し、第1の組み合わせシェイキングとは異なる第2の組み合わせシェイキングが成立した場合に第2の検出信号S
d2を出力してもよい。この場合において、携帯端末装置50は、第1の検出信号S
d1に応じて第1の動作を行い、第2の検出信号S
d2に応じて第1の動作とは異なる第2の動作を行ってもよい。
【0088】
また、半導体装置10は、組み合わせシェイキングが成立した場合に検出信号S
dを出力することに代えて、携帯端末装置50に対して動作内容を指示するコマンドを出力してもよい。また、半導体装置10は、加速度センサ20と一体的に構成されたモジュールの形態を有していてもよい。