(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、図面を参照して説明する。まず、本発明の実施形態に係る情報処理装置1の概要について説明する。以下の説明では、主に情報処理装置1がノートPCである場合を例にする。情報処理装置1は、必ずしもノートPCに限られず、タブレット端末装置、スマートフォン、などであってもよい。
【0023】
図1、
図2は、それぞれ本実施形態に係る情報処理装置1の外形を示す斜視図である。情報処理装置1は、第1筐体101と、第2筐体102と、ヒンジ機構121a、121bと、を備える。第1筐体101と第2筐体102は、それぞれの一側面に沿ってヒンジ機構121a、121bを介して相互に向かい合って結合されている。第1筐体101は、第2筐体102に対して、ヒンジ機構121a、121bがなす回転軸の周りに相対的に回動可能とする。回転軸の方向は、ヒンジ機構121a、121bが設置されている側面に対して平行である。
【0024】
第1筐体101は、Aカバー、ディスプレイ筐体とも呼ばれる。第2筐体102は、Cカバー、システム筐体とも呼ばれる。以下の説明では、第1筐体101と第2筐体102がそれぞれ有する側面のうち、ヒンジ機構121a、121bが備えられた側面を、「背面」と呼ぶ。背面に対面する側面を「前面」と呼ぶ。また、前面から背面に向かう方向、背面から前面に向かう方向を、「後」と呼び、背面から前面に向かう方向を、「前」と呼ぶ。後方に対して右方、左方を、それぞれ「右」、「左」と呼ぶ。また、第1筐体101が第2筐体102に対して重なり合った状態を、「閉じた状態」もしくは「第1筐体が第2筐体に対して閉じた状態」と呼び、完全に閉じた状態において第1筐体101が第2筐体102に対して重なっている方向を「上」と呼び、第1筐体101が第2筐体102に支持されている方向を「下」と呼ぶ。
【0025】
図1は、第1筐体101が第2筐体102に対して開いた状態(以下、単に「開いた状態」と呼ぶことがある)を示す。開いた状態は、第1筐体101の前面が第2筐体102の前面に対して離れた状態である。開いた状態では、第1筐体101、第2筐体102それぞれの内面が表れ、情報処理装置1は通常の動作を実行可能とする。第1筐体101の内面は、第1筐体101の表面に対して裏面に相当する。第1筐体101の内面には、ディスプレイ103が搭載されている。第1筐体101の右側面のうち、ヒンジ機構121a、121bが備えられた背面よりも、その前面に近い部位に加速度センサ104aが設置されている。
【0026】
第2筐体102の内面には、キーボード107と、タッチパッド109とが搭載されている。第2筐体102の前面にLEDランプ141が設置され、右側面に加速度センサ104cが設置されている。第2筐体102の左側面には、操作スイッチ108が設置されている。但し、
図1には操作スイッチ108は表れていない。操作スイッチ108は、第1筐体101が第2筐体102に対して開いた状態において、ユーザの操作によって押下されることにより情報処理装置1を起動するために用いられる。
【0027】
図2は、第1筐体101が第2筐体102に対して閉じた状態を示す。閉じた状態では、第1筐体101、第2筐体102、それぞれの内面は表れず、第1筐体101の表面が上方に表れ、第2筐体102の底面が、その下方から第2筐体102を支持する台に接する。閉じた状態では、ディスプレイ103は第2筐体102の内面に、キーボード107及びタッチパッド109は第1筐体101の内面に覆われ、情報処理装置1は通常の動作を実行しない。また、閉じた状態において、加速度センサ104aは、加速度センサ104cを表面視した位置から所定範囲内に近接した位置に配置される。即ち、第1筐体101の背面から加速度センサ104aまでの距離と、第2筐体102の背面から加速度センサ104cまでの距離は等しいか、これらの距離の差が所定範囲内となるように近似している。
【0028】
第1筐体101の表面のうち背面よりも前面に十分に近接した部位には、マイクロホン125と、スピーカ126が配置されている。マイクロホン125は、左端と右端の間のほぼ中央部に配置されている。スピーカ126は、右端よりも左端に近い部位に配置されている。加速度センサ104aから遠ざけることで、スピーカ126が発生する音による振動が加速度センサ104aに到達する過程で減衰する。また、この配置により、第1筐体101が第2筐体102に対して開いた状態であるか閉じた状態かに関わらず、マイクロホン125による収音、スピーカ126による放音が妨げられない。
【0029】
図3は、本実施形態に係る情報処理装置1の概略ブロック図である。
情報処理装置1は、システムデバイスと、周辺デバイスと、を含んで構成される。情報処理装置1は、システムデバイスには、CPU(Central Processing Unit)151と、GPU(Graphics Processing Unit)153と、I/O(Input Output)コントローラ163と、が含まれる。システムデバイスは、第2筐体102に搭載される。
【0030】
CPU151には、システムメモリ155とI/Oコントローラ163が接続されている。
GPU153には、ディスプレイ103とI/Oコントローラ163に接続されている。
I/Oコントローラ163には、CPU151、GPU153、オーディオデバイス157、通信モジュール159、HDD(Hard Disk Drive)161及びEC(Embedded Controller;エンベデッドコントローラ)171が接続されている。オーディオデバイス157として、マイクロホン125とスピーカ126が該当する。
EC171は、プロセッサ、記憶媒体及びプログラマブルロジック回路を含んで構成されるマイクロコンピュータである。プロセッサとして、例えば、CPU151とは別個のCPUが含まれる。記憶媒体として、例えば、ROM(Read only memory)、RAM(Random Access Memory)が含まれる。EC171は、CPU151とは独立して動作し、主に情報処理装置1内部もしくは周辺の動作環境を管理する。
【0031】
EC171のプロセッサは、ROMに予め記憶された制御プログラムを読み出し、読み出した制御プログラムに記述された各種の命令で指示される処理を行って、後述する各部の機能の一部又は全部を実現する。本実施形態では、プログラムに記述された命令で指示される処理を行うことを、「(プログラムを)実行」と呼ぶことがある。また、実行を開始することを、「起動」と呼ぶことがある。
EC171には、加速度センサ104a、104c、LEDランプ141、操作スイッチ108、入力デバイス177、DC/DCコンバータ189の信号線及び電源ユニット191の信号線が接続されている。
【0032】
加速度センサ104a、104cは、それぞれ自部の加速度を検出し、検出した加速度を示す加速度データをEC171に出力する。加速度センサ104a、104cは、それぞれ3軸の加速度センサである。加速度センサ104a、104cのそれぞれが有する3個の感度軸は、3次元空間において互いに直交する方向に向けられている。また、第1筐体101が第2筐体102に対して閉じた状態において、加速度センサ104aの感度軸の方向と、加速度センサ104cの感度軸の方向が等しくしておく。検出される加速度は、振動の成分と重力加速度の成分を含む3次元のベクトル量である。後述するように、EC171は、加速度センサ104a、104cから入力される加速度データに基づいて、検出された振動を解析する。
【0033】
DC(Direct Current)/DCコンバータ189は、EC171の制御のもとで動作し、電源ユニット191から供給される電力の電圧を変換し、情報処理装置1を構成する各デバイスに所定の電圧の電力を供給する。DC/DCコンバータ189は、EC171から入力される電力制御信号の指示に応じて各デバイスへの電力を供給する。例えば、操作スイッチ108への押下を検出するとき、EC171は、情報処理装置1を起動すると判定し、各デバイスへの電力の供給を示す電力制御信号をDC/DCコンバータ189に出力する。また、EC171には、情報処理装置1本体のシステムの動作モードとして標準モードからスリープモードへの遷移への準備完了のイベントを示すイベント情報がCPU151からI/Oコントローラ163を介して入力されることがある。このとき、EC171は、システムデバイスへの電力供給の停止を示す電力制御信号をDC/DCコンバータ189に指示する。
【0034】
電源ユニット191は、DC/DCコンバータ189に電力を供給する。電源ユニット191は、電池、充電器。AC(Alternating Current)/DCアダプタを含んで構成される。
【0035】
次に、EC171の機能構成について説明する。
EC171は、加速度処理部201、開閉判定部203、操作検出部205及び実行制御部207を含んで構成される制御部として機能する。
加速度処理部201は、加速度センサ104a、104cから入力される加速度データが示す加速度を解析する。以下の説明では、加速度センサ104a、104cから入力される加速度データを、それぞれ第1加速度データ、第2加速度データと呼ぶ。加速度処理部201は、第1加速度データが示す各時刻の第1加速度、第2加速度データが示す各時刻の第2加速度から、それぞれ重力加速度の成分を示す第1重力値、第2重力値を計算する。第1重力値、第2重力値は、それぞれ加速度センサ104a、104cがそれぞれ設置された第1筐体101、第2筐体102の向きを表す3次元のベクトル量となる。加速度処理部201は、第1加速度、第2加速度からそれぞれ第1重力値、第2重力値を差し引いて得られる第1振動成分の大きさを示す第1振動強度、第2振動強度を計算する。第1振動強度、第2振動強度は、それぞれスカラー量である。加速度処理部201は、計算した各時刻の第1振動強度を示す第1振動強度データと各時刻の第2振動強度を示す第2振動強度データを操作検出部205に出力する。加速度処理部201による振動強度算出処理については、後述する。
【0036】
開閉判定部203は、第1筐体101の第2筐体102に対する開閉状態を判定する。開閉判定部203は、例えば、加速度処理部201から各時刻の第1重力値を示す第1重力データと、各時刻の第2重力値を示す第2重力データとを取得し、第1重力値が示す第1筐体101の向きと第2重力値が示す第2筐体102の向きとのなす角度である開き角を示す角度パラメータを算出する。開閉判定部203は、角度パラメータとして、例えば、第1重力値と第2重力値との内積をそれぞれの絶対値で正規化して得られる余弦値(コサイン値)を算出する。開閉判定部203は、算出した角度パラメータが示す開き角が所定の開き角の閾値(例えば、60°〜90°)を超えるとき、第1筐体101が第2筐体102に対して開いた状態と判定する。開閉判定部203は、算出した角度パラメータが示す開き角が所定の開き角の閾値以下であるとき、閉じた状態と判定する。開閉判定部203は、判定した開閉状態を示す開閉状態データを操作検出部と実行制御部207に出力する。
【0037】
操作検出部205は、開閉判定部203から入力される開閉状態データが閉じた状態を示すとき、次に説明する接触判定処理を実行し、開閉状態データが開いた状態を示すとき、接触判定処理を実行しない。接触判定処理は、第1振動強度データと第2振動強度データを用いて第1筐体101への操作による接触を判定する処理である。この処理により、タッピング動作による第1筐体101への接触に伴う振動と、情報処理装置1が載置されたテーブルから第2筐体102の底面を介して伝達された振動とが判別される。タッピング動作は、指などの身体の一部やスタイラスなどの器具を接触させる動作である。
【0038】
操作検出部205は、第1振動強度データが示す第1振動強度と第2振動強度データが示す第2振動強度との相対的特性に基づいて第1筐体101への接触の有無を判定する。操作検出部205は、相対的特性として、例えば、第2振動強度に対する第1振動強度の強度比を算出する。操作検出部205は、算出した強度比が所定の強度比の閾値より大きいとき、第1筐体101への接触がなされたと判定し、算出した強度比が所定の強度比の閾値以下であるとき、第1筐体101への接触がなされないと判定する。操作検出部205は、第1筐体101への接触の有無を示す接触状態データをコマンド実行部209に出力する。接触判定部105は、テーブルから伝達された振動を判別するとき、テーブルから伝達された振動を示す接触状態データを実行制御部207に出力してもよい。接触判定処理の例については後述する。
【0039】
実行制御部207は、操作検出部205から入力される接触状態データに基づいて所定のコマンドが示す処理の実行を制御する。以下の説明では、コマンドで指示される処理を実行することを「(コマンドの)実行」と呼ぶことがある。また、コマンドで指示される処理を「コマンド処理」と呼ぶことがある。
実行制御部207は、接触状態データが第1筐体101への接触を示すとき、所定のコマンドを実行する。接触状態データが第1筐体101への接触を示さないとき、そのコマンドを実行しない。なお、実行制御部207は、第1筐体101への接触を示す接触状態データが入力される毎にそのコマンドの実行の要否を切り替えてもよい(トグル)。
【0040】
実行制御部207は、所定のコマンドを実行させるときLEDランプ141を点灯させ、そのコマンドを実行しないときLEDランプ141を消灯する。コマンド実行部209は、LEDランプ141を点灯させるとき、LEDランプ141への電力供給の開始を示す電力制御信号をDC/DCコンバータ189に出力する。実行制御部207は、LEDランプ141を消灯するとき、LEDランプ141への電力供給の停止を示す電力制御信号をDC/DCコンバータ189に出力する。
なお、実行制御部207は、入力される接触状態データがテーブルから伝達された振動を示すとき、上述のコマンドとは別個の第2のコマンドを実行すると判定してもよい。コマンド実行部209は、テーブルから伝達された振動を示す接触状態データが入力される毎に第2のコマンドの実行の要否を切り替えてもよい。
【0041】
また、実行制御部207は、コマンド処理の実行中において、閉じた状態を示す開閉状態データが開閉判定部203から入力されるとき、その所定のコマンド処理を停止させてもよい。見方を変えれば、開閉判定部203は、閉じた状態において操作状態に応じて所定のコマンド処理を実行可能とし、開いた状態において操作状態に関わらず所定のコマンド処理を実行しない(
図8参照)。
【0042】
所定のコマンド処理として、主に閉じた状態であってもその機能を発揮できる入力、出力の一方もしくは両方を伴う処理が実行可能である。例えば、音声コマンド処理のようにマイクロホン125からの音声信号の入力、スピーカ126からの音声の再生を伴う処理を所定のコマンド処理として採用されてもよい。音声コマンド処理は、ユーザが発話した音声から所定の音声コマンドを認識する過程と、認識した音声コマンドで指示される処理(以下、「音声指示処理」と呼ぶ)を実行する過程とを含む。音声指示処理には、例えば、通話、録音、音声合成(テキスト読み上げ)などが採用されてもよい。また、通話、録音、音声合成のいずれかが単独で、所定のコマンド処理として指示されてもよい。
なお、情報処理装置1は、第1筐体101の表面にディスプレイ103とは別個にディスプレイ(図示せず、以下、「第2ディスプレイ」と呼ぶ)を備えてもよい。その場合、所定のコマンド処理として、第2ディスプレイへの情報の表示が採用されてもよいし、第2ディスプレイに表示させる情報が音声コマンドで指示されてもよい。また、上記の第2のコマンドに係る第2コマンド処理として、所定のコマンド処理とは異なる処理が採用されればよい。例えば、所定のコマンド処理、第2のコマンド処理として、それぞれ通話、音声合成が採用されてもよい。
【0043】
(振動強度算出処理)
次に、振動強度算出処理について説明する。
加速度処理部201は、加速度センサ104aから各時刻tにおける第1加速度S(t)を示す第1加速度データを取得する。第1加速度S(t)は、S
X(t)、S
Y(t)、S
Z(t)をいずれも要素として含む3次元のベクトル量である。ここで、X、Y、Zは、加速度センサ104aが有する3つの互いに直交する感度軸の方向を示す。X、Y、Zは、例えば、それぞれ第1筐体101が閉じた状態において右、後、上である。tは、サンプリング時刻を示すインデックスである。サンプリング周波数は、例えば、100〜1000Hzである。
【0044】
加速度処理部201は、式(1)に示すように、時刻tにおける感度軸方向毎の第1重力値G
X(t),G
Y(t),G
Z(t)を、前時刻t−1におけるそれぞれの方向の第1重力値G
X(t−1),G
Y(t−1),G
Z(t−1)と、時刻tにおけるそれぞれの方向の第1加速度S
X(t),S
Y(t),S
Z(t)とを加重平均して算出する。
【0046】
式(1)において、αは、忘却係数、即ち、前時刻t−1における第1重力値の現時刻tにおける第1重力値に対する寄与度を示す。αの値として、0より大きく1よりも小さい実数値、例えば、0.8が用いられる。式(1)は、最新の第1加速度を順次累積して得られる加重平均値を第1重力値として推定することと、現時刻に近い時刻の第1加速度ほど第1重力値に対する寄与度が高いことを示す。1−αは、最新の第1加速度の寄与度を示す。即ち、αが大きいほど、現時刻に近い時刻の第1加速度の第1重力値に対する寄与度が低くなる。なお、第1重力値の初期値G
X(0),G
Y(0),G
Z(0)は、例えば、それぞれ0である。
【0047】
次に、加速度処理部201は、式(2)に示すように感度軸方向毎に第1加速度S
X(t),S
Y(t),S
Z(t)から第1重力値G
X(t),G
Y(t),G
Z(t)を差し引いて第1振動値L
X(t),L
Y(t),L
Z(t)を算出する。
【0049】
加速度処理部201は、式(3)に示すように感度軸方向毎の第1振動値L
X(t),L
Y(t),L
Z(t)の平方和の平方根に所定の定数Kを乗じて第1振動強度I
a(t)を算出する。
【0051】
加速度処理部201は、第2加速度データに対しても、第1加速度データと同様の処理を行って、第2重力値と第2振動強度を算出することができる。
【0052】
(振動強度の例)
次に、加速度処理部201により算出される振動強度の例について説明する。
図4は、振動強度の例を示す図である。
図4は、情報処理装置1がテーブルに載置された状態において、第1筐体101がユーザによりタッピングされるときに観測される第1振動強度、第2振動強度を例示する。第1振動強度、第2振動強度は、それぞれ
図4(1)、(2)に示す。縦軸、横軸は、それぞれ振動強度(無単位)、時刻(単位:msec)を示す。
【0053】
第1振動強度は、全体として第2振動強度よりも5〜6倍大きい数値となる。第1筐体101がタッピングされると、タッピングによって生じた振動は加速度センサ104aに直接伝達し、ヒンジ機構121a、121bを経て第2筐体102に設置された加速度センサ104cに到来する。即ち、加速度センサ104aの方が加速度センサ104cよりも振動が伝達する経路が短く、かつ経路が直接的であるため振動源となるタッピング箇所からの減衰量が小さくなる。そのため、第1振動強度の方が第2振動強度よりも大きくなると考えられる。
【0054】
図5は、振動強度の他の例を示す図である。
図5は、情報処理装置1が第2筐体102の底面を介してテーブルに載置された状態において、テーブルがユーザによりタッピングされるときに観測される第1振動強度、第2振動強度を例示する。第1振動強度、第2振動強度を、それぞれ
図5(1)、(2)に示す。
第1振動強度は、全体として第2振動強度よりも大きい数値となるが、第2振動強度に対する第1振動強度の比(以下、「強度比」と呼ぶ)は、
図4に示す例よりも小さくなる。テーブルがタッピングされると、タッピングによって生じた振動は、第2筐体102の底面を経て第2筐体102に設置された加速度センサ104cに到来するとともに、ヒンジ機構121a、121bを経て第1筐体101に設置された加速度センサ104aに到来する。そのため、振動源となるタッピング箇所からの加速度センサ104aまでの距離と、タッピング箇所から加速度センサ104cまでの距離の差は、
図4に示す例よりも小さくなる。よって、距離による減衰量の加速度センサ104aと加速度センサ104cとの間の差も少なくなる。また、ヒンジ機構121a、121bにより第1筐体101に対して第2筐体102が回動可能に結合されることで、ヒンジ機構121a、121bを経て伝達する振動により第1筐体101の振動が励起される。そのため、
図5に示す例では、第2筐体102に設置された加速度センサ104cで検出される加速度に基づく第2振動強度の方が第1振動強度よりも、むしろ大きくなる。それでもなお、強度比は、
図4に示す例よりも有意に小さくなる。従って、操作検出部205は、算出した強度比に基づいて第1筐体101への接触状態を判定することができる。
【0055】
(コマンド実行制御)
次に、本実施形態に係るコマンド実行制御の例について説明する。
図6は、本実施形態に係るコマンド実行制御の例を示すフローチャートである。
EC171は、次に説明するコマンド実行制御を、第1筐体101が第2筐体102に対して開いた状態と判定されるときに実行する。また、操作検出部205が、第1筐体101への接触の態様として、ダブルタッピングを検出する場合を例にする。ダブルタッピングとは、短時間(例えば、0.1〜0.5秒)内に複数回(典型的には、2回)繰り返す動作である。
【0056】
(ステップS101)操作検出部205は、加速度処理部201から第1振動強度データと第2振動強度データを取得する。その後、ステップS103の処理に進む。
(ステップS103)操作検出部205は、第1振動強度データ、第2振動強度データのそれぞれについてダブルタッピング検出処理を行い、ダブルタッピングを検出したか否かを判定する。ダブルタッピング検出処理において、操作検出部205は、現時点までの所定期間内(例えば、1秒)において振動強度の極大値を検出する。操作検出部205は、極大値を検出するとき、検出した最新の極大値と次に新しい極大値それぞれの強度と、これらの2つの極大値の時間間隔がいずれもダブルタッピングとしての所定の範囲内の値であるか否かを判定する。操作検出部205は、いずれも所定の範囲内の値であると判定するとき、ダブルタッピングを検出したと判定し、それ以外の場合、ダブルタッピングを検出しないと判定する。操作検出部205は、第1振動強度データ、第2振動強度データのいずれについてもダブルタッピングを検出するとき(ステップS103 YES)、ステップS105の処理に進む。操作検出部205は、第1振動強度データ、第2振動強度データの少なくとも一方についてダブルタッピングを検出しないとき(ステップS103 NO)、ステップS101の処理を繰り返す。
【0057】
(ステップS105)操作検出部205は、第1振動強度データ、第2振動強度データのそれぞれについてダブルタッピング検出時における平均振動強度(AVS:Average Vibration Strength)として、第1AVS、第2AVSをそれぞれ算出する。AVSの算出に係るダブルタッピング検出時は、例えば、最新の極大値を検出した時刻を含む所定の長さ(例えば、20ms〜100ms)の区間である。その後、ステップS107の処理に進む。
【0058】
(ステップS107)操作検出部205は、第1AVSを第2AVSで除算してAVS比(AVS Ratio)として算出する。その後、ステップS109の処理に進む。
(ステップS109)操作検出部205は、算出したAVS比が所定のAVS比の閾値よりも大きいか否かを判定する。操作検出部205が、所定のAVS比の閾値よりも大きいと判定するとき(ステップS109 YES)、ステップS111の処理に進む。操作検出部205が、所定のAVS比の閾値以下と判定するとき(ステップS109 NO)、ステップS115の処理に進む。
【0059】
(ステップS111)操作検出部205は、第1筐体101への接触(即ち、タッピング)を識別する。その後、ステップS113の処理に進む。
(ステップS113)実行制御部207は、第1筐体101へのタッピングに対応する所定のコマンドを実行する。所定のコマンドを実行しているとき、実行制御部207は、LEDランプ141を点灯させる。その後、ステップS101の処理に戻る。
【0060】
(ステップS115)実行制御部207は、テーブルからの振動の伝達(即ち、テーブルへのタッピング)を識別する。その後、ステップS117の処理に進む。
(ステップS117)実行制御部207は、テーブルへのタッピングに対応する第2のコマンドを実行する。第2のコマンドを実行しているとき、実行制御部207は、LEDランプ141を点灯させる。その後、ステップS101の処理に戻る。
【0061】
なお、ステップS113に進んだ時点において、所定のコマンドを実行している場合には、実行制御部207は、そのコマンドの実行を停止してもよい(トグル)。ステップS113に進んだ時点において、第2のコマンドを実行している場合には、実行制御部207は、第2のコマンドの実行を停止して、第1のコマンドだけを実行してもよい。
ステップS117に進んだ時点において、第2のコマンドを実行している場合には、実行制御部207は、第2のコマンドの実行を停止してもよい(トグル)。ステップS117に進んだ時点において、所定のコマンドを実行している場合には、実行制御部207は、所定のコマンドの実行を停止して、第2のコマンドだけを実行してもよい。
【0062】
また、ステップS109において、ステップS115の処理に進むための判定閾値として、ステップS111の処理に進むための所定の閾値よりも小さい第2の閾値が用いられてもよい。そして、操作検出部205は、算出したAVS比が第2の閾値以下と判定するとき(ステップS109 NO)、ステップS115の処理に進む。操作検出部205は、算出したAVS比が第2の閾値よりも大きく所定の閾値以下と判定するとき、再度のタッピングを促すための案内通知を行い、ステップS101の処理に戻ってもよい。
【0063】
実行制御部207は、第2のコマンドを実行するときにLEDランプ141を点灯させるときの態様(例えば、色、輝度、点滅パターン、等)は、所定のコマンドを実行しているときの態様とは異なっていてもよい。これにより、ユーザは、実行中のコマンドが所定のコマンドと第2のコマンドのいずれであるかを容易に識別することができる。
【0064】
所定のコマンドもしくは第2のコマンドの実行を通知する通知部として、LEDランプ141に代えて、もしくはLEDランプとともにスピーカ126が用いられてもよい。スピーカ126を用いる場合には、実行制御部207は、例えば、所定の案内音声として「もう一度たたいて下さい」とのメッセージを示す音声をスピーカ126に再生させる。実行制御部207には、その音声を示す音声データを予め設定しておき、設定したおいた音声データをスピーカ126に出力する。
その他、通知部として第1筐体101の表面に備わる第2ディスプレイが用いられてもよい。実行制御部207は、例えば、所定の案内表示として「もう一度たたいて下さい」とのメッセージを示す文字列を第2のディスプレイに表示させる。従って、より正確に判別を可能とするAVS比によりコマンドの実行の要否が判別され、正確な判別が難しい場合において、再度判別を行うためのタッピングが促される。
【0065】
なお、以上の説明では、主に実行制御部207自体が所定のコマンド処理と第2のコマンド処理を実行する場合を例にしたが、これには限られない。実行制御部207は、所定のコマンド処理もしくは第2のコマンド処理の一方又は双方の一部もしくは全部を、システムデバイス(即ち、CPU151、GPU153、I/Oコントローラ163のいずれか、又はその任意の組み合わせ)に実行させてもよい。システムデバイスにこれらの処理を実行させる際には、実行制御部207は、実行に係るデバイスへの電力の供給を示す電力制御信号をDC/DCコンバータ189に出力し、それらのデバイスに対して電力を供給される。但し、所定のコマンド処理や第2のコマンド処理に要する消費電力は、情報処理装置1の通常の動作時における消費電力よりも少ないことが望ましい。また、所定のコマンド処理もしくは第2のコマンド処理を実行するデバイスが、それらの処理の実行中にLEDランプ141を点灯させ、実行を行わないときにLEDランプ141を消灯させてもよい。
【0066】
図6に示す処理において、所定のコマンドと第2のコマンドのいずれか一方が実行される機会が設けられなくてもよい。例えば、ステップS115、S117の処理が省略される場合、ステップS109の処理において、AVS比が所定の閾値以下と判定されるとき(ステップS109 NO)、ステップS101の処理に戻る。ステップS111、S113の処理が省略される場合、ステップS109の処理において、AVS比が所定の閾値よりも大きいと判定されるとき(ステップS109 YES)、ステップS101の処理に戻る。
【0067】
なお、上述の例では、主に第1振動強度と第2振動強度との相対的特性として強度比(AVS比)を用いる場合を例にしたが、これには限られない。相対的特性として第1振動と第2振動との検出タイミングの時間差が用いられてもよい。一般に、振動源に近接したセンサで検出される振動ほど早く検出される。
図7に示すように、第1筐体101がタッピングされる場合には、第1振動の方が、第2振動よりも早く検出される。そこで、操作検出部205は、ステップS105、S107(
図6)の処理に代えて、第1振動と第2振動との検出時間差を算出する。つまりその場合、操作検出部205は、第1振動が第2振動よりも早く検出されたとき第1筐体への接触を判定し、第2振動が第1振動よりも早く検出されたとき第1筐体への接触を判定しない。
【0068】
なお、
図6に示す例では、ステップS103においてダブルタッピングを検出する場合を例にしたが、これには限られない。ステップS101の処理の後、ステップS103を省略し、ステップS105の処理に進んでもよい。また、ステップS103において、検出対象のタッピングの態様は、必ずしもダブルタッピングに限られない。単独のタッピング(シングルタッピング)でもよいし、所定のリズムを有するタッピング系列を検出対象としてもよい。
【0069】
操作検出部205は、例えば、第1振動強度の最新の極大値の時刻から第2振動強度の最新の極大値の時刻の差を時間差として算出する。算出される時間差は、振動源から加速度センサ104a、104cへの振動の到達時間差に相当する。操作検出部205は、現時点までの所定の長さの区間内の第1振動強度の時系列と、サンプリング時刻をずらした第2振動強度の時系列との相互相関係数を、サンプリング時刻のずれ時間毎に算出してもよい。そして、操作検出部205は、算出した相互相関係数のうち、相互相関係数を最大とするずれ時間を時間差として定める。定めた時間差が負値であることは、第1振動強度の方が先行することを示し、時間差が正値であることは、第2振動強度の方が先行していることを示す。そこで、ステップS109の処理において、操作検出部205は、算出した時間差が第1閾値よりも小さいとき、ステップS111の処理に進み、算出した時間差が第2閾値よりも大きいとき、ステップS115の処理に進むようにしてもよい。ここで、第1閾値は、0よりも小さい所定の値である。第2閾値は、0よりも大きい所定の値である。算出した時間差が、第1閾値以上であって、第2閾値以下である場合には、操作検出部205は、再度のタッピングを促すための案内通知を行い、ステップS101の処理に戻る。即ち、時間差が、有意に0よりも大きいか、0に近似されるか、有意に0よりも小さいかにより、所定のコマンドを実行させるか、案内通知を行うか、第2のコマンドを実行させるかを高精度に判定することができる。
【0070】
但し、判定に用いる時間差を正確に求めるために、第1振動強度、第2振動強度、ひいては第1加速度、第2加速度のサンプリング周波数を高くする(例えば、200Hz〜1kHz)ことを要する。そのため、処理に要する消費電力が多くなる。他方、相対的特性として強度比を用いる場合には、接触による極大値を検出できればよいため、要求されるサンプリング周波数は必ずしも高くなくてもよい。そのため、処理に要する消費電力を低くすることができる。但し、判定に用いる閾値を事前に実験を行って定めておく必要がある。
【0071】
なお、第1筐体101に設置する加速度センサ104aの数N、第2筐体102に設置する加速度センサ104cの数Mは、それぞれ2以上であってもよい。加速度処理部201は、それぞれの加速度センサから取得された加速度データに基づいて振動強度を示す振動強度データを生成する。操作検出部205は、N個の加速度センサ104aのいずれかの加速度データと、M個の加速度センサ104cのいずれかの加速度データの組み合わせのそれぞれについて、上述の相対的特性を算出してもよい。操作検出部205は、算出した相対的特性の統計的特性(例えば、平均値)に基づいて第1筐体101への接触、案内通知、テーブルからの振動の伝達のいずれかを判定する。
【0072】
また、操作検出部205は、N個の加速度センサ104aの加速度データのそれぞれから得られた第1振動強度のうち、最も第1振動強度が大きい加速度センサ104aのチャネルを判定してもよい。操作検出部205には、予めチャネル毎に実行させるコマンドを示すコマンド対応テーブルを設定しておき、コマンド対応テーブルを参照して判定したチャネルに対応するコマンドを特定する。そして、操作検出部205は、そのチャネルの第1振動強度といずれかの第2振動強度との相対的特性に基づいて、上述の所定コマンドに代えて特定したコマンドの実行の要否を判定する。第1筐体101への操作において接触した箇所に最も近接した加速度センサ104aに対応するコマンドの実行の要否が判定されるので、操作により接触した箇所に応じて異なるコマンドが実行される。
【0073】
(操作スイッチに対する操作)
次に、操作スイッチ108に対する操作に基づくコマンド処理の実行制御の例について説明する。操作検出部205は、操作スイッチ108に対する操作を検出する。操作検出部205は、例えば、操作スイッチ108に対する押下を検出する際、操作スイッチ108のボタンに付随した第1接点が押下によって、操作スイッチ108の基盤に設置された第2接点に接触するときに生ずる電流を検出する。操作検出部205は、操作を検出するとき、操作の検出を示す操作状態データを実行制御部207に出力する。
【0074】
実行制御部207は、開閉判定部203から入力される開閉状態データが開いた状態を示し、かつ、操作の検出を示す操作状態データが入力される場合、情報処理装置1の本体を起動させる。この場合、実行制御部207は、情報処理装置1の本体を構成する各デバイスへの電力の供給を示す電力制御信号をDC/DCコンバータ189に出力し、その後、各デバイスを起動させる。情報処理装置1の本体を構成するデバイスとは、上記のシステムデバイスやシステムデバイスの制御下で動作するデバイスを意味し、EC171やEC171の制御下で動作するデバイス、EC171の動作に要するDC/DC189及び電源ユニット191は含まない。
【0075】
これに対し、実行制御部207は、開閉判定部203から入力される開閉状態データが閉じた状態を示し、かつ、操作の検出を示す操作状態データが入力される場合、情報処理装置1の本体を起動させなくてもよい。この場合、実行制御部207は、操作状態データが入力される毎に所定のコマンドの実行の要否を切り替えてもよい(トグル)。見方を変えれば、開閉判定部203は、閉じた状態において操作状態に応じて所定のコマンド処理を実行可能とし、開いた状態において操作状態に関わらず所定のコマンド処理を実行せずに(
図8参照)、情報処理装置1の本体を起動させる。つまり、開閉状態に応じて操作スイッチ108に対する操作で指示される指示内容が異なる。
【0076】
なお、操作スイッチ108は、操作検出部205にユーザの操作を検出させることできれば、検出原理を問わない。操作スイッチ108は、必ずしもボタンに限られず、例えば、圧力センサ、静電容量センサ、赤外線センサ、光センサ、などのいずれかを含んで構成されてもよい。
【0077】
また、第1筐体101の第2筐体102に対する開閉状態の検出において、主に加速度センサ104a、104cが用いられる場合を例にしたが、これには限られない。例えば、情報処理装置1は、第1筐体101の前面と第2筐体102の前面のいずれか一方に永久磁石を備え、他方に磁力センサを備えてもよい。磁力センサは、永久磁石が生ずる磁場を検出し、検出した磁場の強度を示す磁場データを開閉判定部203に出力する。開閉判定部203は、磁力センサから入力される磁場データが示す強度が所定の強度の閾値を超えるとき、第1筐体101が第2筐体に対して閉じた状態と判定する。開閉判定部203は、磁力データが示す磁場の強度が所定の強度の閾値以下であるとき、第1筐体101が第2筐体に対して開いた状態と判定する。
【0078】
以上に説明したように、本実施形態に係る情報処理装置1は、少なくとも1個の第1振動検出部(例えば、加速度センサ104a)を設置した第1筐体(例えば、第1筐体101)と、少なくとも1個の第2振動検出部(例えば、加速度センサ104c)を設置した第2筐体(例えば、第2筐体102)とを備える。また、情報処理装置1は、第1振動検出部が検出した振動である第1振動の第2振動検出部が検出した振動である第2振動に対する相対的特性に基づいて第1筐体の接触状態を判定する制御部(例えば、EC171)と、を備える。
また、制御部は、第1筐体への接触状態に応じて、所定の機能(例えば、所定コマンドの実行)の要否を判定する。
この構成によれば、振動源である接触箇所から第1筐体、接触箇所から第2筐体のそれぞれの振動の伝達特性の差異により、第1筐体が振動源として接触されているか否かが判定される。判定において、相対的特性を用いることで、接触の強度による影響が相殺される。そのため、第1筐体への接触状態、ひいては所定の機能の要否が的確に判定される。
そして、情報処理装置1は、制御部が所定の機能を要と判定するとき、当該所定の機能が動作中である状態を通知する通知部(例えば、LEDランプ141)を備える。
この構成により、通知部による通知に接することで、ユーザは、その機能の動作状態を容易に把握することができる。
【0079】
また、上記の相対的特性は、第2振動に対する第1振動の強度比であり、制御部は、強度比が所定の強度比の閾値よりも大きいとき第1筐体への接触を判定し、強度比が所定の強度比の閾値以下であるとき第1筐体への接触を判定しない。
この構成によれば、制御部は、相対的特性として第2振動に対する第1振動の強度比が比較的大きいときに第1筐体への接触を判定し、強度比がより小さいときに第1筐体への接触を判定しない。従って、第1筐体への接触の有無の判定を経済的に実現することができる。
【0080】
また、上記の制御部は、第1振動と第2振動のそれぞれについて、強度の極大値が所定範囲内となる複数の区間であって、当該複数の区間の間隔が所定期間の範囲内となる当該複数の区間を主振動区間として定め、前記相対的特性は、前記主振動区間の少なくとも一部における相対的特性である。
この構成によれば、複数回の接触により生じる振動のパターンが、接触による振動のパターンとして期待される範囲内である区間について、第1筐体への接触の有無を判定する。そのため、振動のパターンが期待される範囲内となるように操作を行うことで(例えば、ダブルタッピング)、第1筐体への接触の有無の判定を指示することができる。また、期待される範囲内となる振動のパターンをもたらす振動を用いることで、第1筐体への接触の有無をより的確に判定することができる。
【0081】
また、上記の第1振動検出部と、第2振動検出部は、それぞれ加速度センサであり、第1振動検出部と第2振動検出部がそれぞれ検出した加速度から重力加速度の成分を差し引いて第1振動の強度と第2振動の強度を算出する。
この構成により、加速度センサにより検出される加速度から抽出される振動の強度が第1筐体への接触の有無の判定に用いられる。そのため、検出された加速度を他の用途(例えば、第1筐体の第2筐体に対する開閉状態の判定)と共用するとともに、第1筐体への接触の有無の判定を経済的に実現することができる。
【0082】
また、情報処理装置1は、第1筐体と第2筐体のそれぞれの一部を相互に結合しながら第1筐体を第2筐体に対して開閉可能にする開閉機構(例えば、ヒンジ機構121a、121b)とを備える。第1筐体が第2筐体に対して閉じているとき、制御部は、第1筐体への接触状態を判定する。
この構成により、第1筐体への接触状態の判定が、第1筐体が閉じているときになされ、開いているときにはなされない。そのため、第1筐体が閉じ、本体部を動作させないときに提供させる機能の要否を制御することができる。
【0083】
また、制御部は、第1振動検出部と第2振動検出部がそれぞれ検出した重力加速度の方向に基づいて第1筐体の前記第2筐体に対する開閉状態を検出する。
この構成により、開閉状態の検出に用いる検出部を別途備える必要がないため、開閉状態の検出機能を経済的に実装することができるとともに、比較的に簡素な処理により開閉状態を検出することができる。
【0084】
また、制御部は、前記第1振動検出部と前記第2振動検出部は、それぞれ前記開閉機構が設置された第1の側面(例えば、背面)よりも、前記第1の側面に対面した第2の側面(例えば、前面)に近い位置に設置されている。
開閉機構からほぼ等距離となる位置に第1振動検出部と、第2振動検出部が設置されるため、第1筐体への接触による振動は、開閉機構を介して第2振動検出部に伝達され、第2筐体を載置する台から第2筐体の底面を介して伝達される振動は、開閉機構を介して第1振動検出部に伝達される。そのため、第1振動検出部、第2振動検出部のそれぞれへの、第1筐体への接触による振動と、第2筐体の底面を介して伝達される振動との伝達特性の差異が大きくなる。よって、第1振動の第2振動に対する相対的特性に基づく第1筐体への接触状態の判定を、より的確に行うことができる。
【0085】
また、情報処理装置1は、第1筐体と、第2筐体と、第1筐体と第2筐体のそれぞれの一部を相互に結合しながら第1筐体を前記第2筐体に対して開閉可能にする開閉機構と、
制御部と、を備える。そして、制御部は、自装置への操作を検出し、第1筐体が第2筐体に対して開いているとき、操作に応じた処理として第1処理を実行させ、第1筐体が第2筐体に対して閉じているとき、操作に応じた処理として第1処理とは異なる第2処理を実行させる。
この構成により、第1筐体が第2筐体に対して開いているか否かにより、自装置への操作に対して実行させる機能を切り替えることができる。例えば、第1筐体が第2筐体に対して開いているとき、自装置(例えば、操作スイッチ108)への操作に応じて情報処理装置1の本体部を起動するのに対し、第1筐体が第2筐体に対して閉じているとき、その操作に応じて、所定のコマンド(音声コマンド処理、等)を実行可能とすることができる。
【0086】
また、上記実施形態では第1筐体に第1振動検出部、第2筐体に第2検出部が設置されているが、本発明はこれに限定されない。
例えば、情報処理装置1がタブレットやスマートフォンであるとき、制御部は1つの筐体に設けた2つの振動検出部のそれぞれから取得される第1加速度データと第2加速度データを設けて上述の接触判定処理を実行してもよい。具体的には、筐体は、その第1面(例えば、ディスプレイが装着される面、つまり表面)の振動を検出する第1振動検出部、第1面とは異なる第2面(例えば、背面)の振動を検出する第2振動部を有していればよい。情報処理装置1は、例えば、自装置の向きを検出する方向検出部(例えば、ジャイロセンサ)を備え、制御部は、第1面と第2面のうち重力方向との余弦値(コサイン値)が正値となる法線方向を有する面を、テーブル等に自装置が載置されている(接している)側の面として決定する。そして、制御部は、上述したように第1加速度データと第2加速度データから得られる第1振動強度と第2振動強度との相対的特性を用いて筐体がタッピングされたか、テーブルがタッピングされたかの接触判定を行えばよい。
例えば、第2面がテーブルに接している場合、制御部は、第2振動に対する第1振動の強度比が所定の強度比の閾値よりも大きいときと、第1振動が第2振動よりも早く検出されたときのいずれか一方、又はその両方のとき第1筐体への接触を判定し、それ以外のとき、第1筐体への接触を判定しない。
なお、制御部は、自装置が載置されている側の面を決定する際、第1加速度データから得られる第1重力値と、第2加速度データから得られる第2重力値の一方又は両方の平均値の各感度軸方向の成分から判定される重力方向を用いてもよい。各感度軸方向と第1面もしくは第2面との位置関係は予め定められているため、制御部は、定めた重力方向と第1面の法線方向もしくは第2面の法線方向との余弦値を算出することができる。従って、情報処理装置1は、第1振動検出部と第2振動検出部とは別個に方向検出部を必ずしも備える必要はない。
【0087】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【0088】
1…情報処理装置、101…第1筐体、102…第2筐体、103…ディスプレイ、104a,104c…加速度センサ、107…キーボード、108…操作スイッチ、109…タッチパッド、121a,121b…ヒンジ機構、125…マイクロホン、126…スピーカ、141…LEDランプ、151…CPU、153…GPU、155…システムメモリ、157…オーディオデバイス、159…通信モジュール、161…HDD、171…EC(制御部)、177…入力デバイス、189…DC/DCコンバータ、191…電源ユニット、201…加速度処理部、203…開閉判定部、205…操作検出部、207…実行制御部