[第1実施形態]
(電子機器の構成)
図1に示すように一実施形態の電子機器1は、ディスプレイ14と、ストレージ16と、通信ユニット17と、コントローラ11と、を備える。電子機器1はさらに、タイマー12と、カメラ13と、マイク15と、を備える。図1は例示である。電子機器1は図1に示す構成要素の全てを含まなくてもよい。また、電子機器1は図1に示す以外の構成要素を備えていてもよい。例えば、電子機器1はさらに太陽光等に含まれる紫外線(Ultraviolet)量を測定することができるUVセンサを備えていてもよい。また、例えば、電子機器1はさらに周囲光の照度を検出する照度センサを備えていてもよい。
ディスプレイ14は画面を表示する。画面は、例えば文字、画像、記号および図形等の少なくとも一つを含む。ディスプレイ14は、液晶ディスプレイ(Liquid Crystal Display)、有機ELパネル(Organic Electro-Luminescence Panel)、または無機ELパネル(Inorganic Electro-Luminescence Panel)等であってもよい。本実施形態において、ディスプレイ14は、タッチスクリーンと一体化されてタッチパネルを構成する。タッチスクリーンは、指またはスタイラスペン等の接触を検出して、その接触位置を特定する。ディスプレイ14と一体化されたタッチスクリーンは、指またはスタイラスペン等が接触した位置を同時に複数検出することができる。
ストレージ16は記憶部としてプログラムおよびデータを記憶する。ストレージ16は、コントローラ11の処理結果を一時的に記憶する。ストレージ16は、半導体記憶デバイス、および磁気記憶デバイス等の任意の記憶デバイスを含んでよい。ストレージ16は、複数の種類の記憶デバイスを含んでよい。ストレージ16は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ16に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとを含む。アプリケーションは、例えば所定の情報をディスプレイ14に表示させる処理をコントローラ11に実行させる。制御プログラムは、例えば、OS(Operating System)である。アプリケーションおよび制御プログラムは、通信ユニット17による通信または記憶媒体を介してストレージ16にインストールされてもよい。
通信ユニット17は、有線または無線により通信するためのインタフェースである。一実施形態の通信ユニット17によって行われる通信方式は、無線通信規格である。例えば、無線通信規格として、2G、3G、4G等のセルラーフォンの通信規格がある。例えばセルラーフォンの通信規格は、LTE(Long Term Evolution)、W−CDMA(WidebandCode Division MultipleAccess)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobilecommunications)、PHS(Personal Handy-phone System)等を含む。例えば、無線通信規格として、WiMAX(WorldwideInteroperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(InfraredData Association)、NFC(Near Field Communication)等がある。通信ユニット17は、上述した通信規格の1つまたは複数をサポートすることができる。本実施形態において、通信ユニット17は、Bluetooth(登録商標)を用いて図2に示す動作検出装置2の通信ユニット37と通信する。電子機器1は、安定した通信環境を確保するために、通信開始時に動作検出装置2とのペアリングを行う。
コントローラ11は、例えばCPU(Central Processing Unit)等のプロセッサである。コントローラ11は、他の構成要素が統合されたSoC(System-on-a-Chip)等の集積回路であってもよい。コントローラ11は、複数の集積回路を組み合わせて構成されてもよい。コントローラ11は、電子機器1の動作を統括的に制御して各種の機能を実現する。
具体的にはコントローラ11は、ストレージ16に記憶されているデータを必要に応じて参照する。コントローラ11は、ストレージ16に記憶されているプログラムに含まれる命令を実行してディスプレイ14等の他の機能部を制御することによって各種機能を実現する。
後述する通り、コントローラ11は、動作検出装置2が検出したユーザの動作に応じて、ディスプレイ14の画面表示を制御する。
タイマー12はコントローラ11からタイマー動作の指示を受け、所定時間経過した時点で、その旨を示す信号をコントローラ11に出力する。タイマー12は図1に示すようにコントローラ11の外部に備えられていてもよいし、コントローラ11の内部に含まれてもよい。
カメラ13は、電子機器1の周囲の被写体を撮像する。カメラ13は一例として、電子機器1のディスプレイ14が設けられる面に設けられるインカメラである。
マイク15は、人が発する声を含む、電子機器1の周囲の音を検出する。
(動作検出装置の構成)
図2に示される動作検出装置2は電子機器1と通信して、電子機器1の制御に用いられるデータを出力する装置である。動作検出装置2も一種の電子機器であるが、電子機器1と区別するために本明細書ではこの名称を用いる。動作検出装置2は、ストレージ36と、通信ユニット37と、加速度センサ38と、ジャイロセンサ39と、気圧センサ40と、コントローラ31と、を備える。動作検出装置2はさらに、タイマー32と、カメラ33と、ディスプレイ34と、マイク35と、地磁気センサ41と、スピーカー42と、を備える。図2は例示である。動作検出装置2は図2に示す構成要素の全てを含まなくてもよい。また、動作検出装置2は図2に示す以外の構成要素を備えていてもよい。本実施形態において、ユーザの動作を検出するモーションセンサは、加速度センサ38と、ジャイロセンサ39と、気圧センサ40と、で構成される。
ストレージ36は記憶部としてプログラムおよびデータを記憶する。ストレージ36は、コントローラ31の処理結果を一時的に記憶する。ストレージ36は、半導体記憶デバイス、および磁気記憶デバイス等の任意の記憶デバイスを含んでよい。ストレージ36は、複数の種類の記憶デバイスを含んでよい。ストレージ36は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ36に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとを含む。アプリケーションは、例えば電子機器1からの情報をディスプレイ34に表示させる処理をコントローラ31に実行させる。制御プログラムは、例えばバッテリーの残量を管理するバッテリー管理プログラムである。アプリケーションおよび制御プログラムは、通信ユニット37による通信または記憶媒体を介してストレージ36にインストールされてもよい。
通信ユニット37は、有線または無線により通信するためのインタフェースである。一実施形態の通信ユニット37によって行われる通信方式は、無線通信規格である。通信ユニット37は、上記の電子機器1の通信ユニット17で説明した通信規格の1つまたは複数をサポートすることができる。本実施形態において、通信ユニット37は、Bluetooth(登録商標)を用いて電子機器1の通信ユニット17と通信する。
加速度センサ38は、動作検出装置2に働く加速度の方向および大きさを検出する。加速度センサ38は、x軸方向、y軸方向およびz軸方向の加速度を検出する3軸(3次元)タイプである。加速度センサ38の種類は限定されない。加速度センサ38は、例えばピエゾ抵抗型であってもよい。また、加速度センサ38は例えば静電容量型であってもよい。また、加速度センサ38は例えば圧電素子(圧電式)または熱検知型によるMEMS(Micro Electro Mechanical Systems)式であってもよい。また、加速度センサ38は、例えば可動コイルを動かしてフィードバック電流によってもとに戻すサーボ式であってもよい。また、加速度センサ38は、加速度によって生じる歪を歪ゲージによって測定する歪ゲージ式であってもよい。
ジャイロセンサ39は、動作検出装置2の角速度を検出する。ジャイロセンサ39は、例えば振動したアームに作用するコリオリ力による構造体の変形から角速度を検出する3軸タイプの振動ジャイロセンサである。ここで、構造体は、例えば水晶、圧電セラミックス等の圧電材料を素材としてもよい。また、ジャイロセンサ39は、構造体をシリコン等の素材として、MEMS(Micro Electro Mechanical Systems)技術で形成されてもよい。また、ジャイロセンサ39は光学式ジャイロセンサであってもよい。コントローラ31は、ジャイロセンサ39により取得された角速度を1回時間積分することにより、動作検出装置2の向きを測定することができる。
気圧センサ40は、動作検出装置2の外側の気圧(大気圧)を検出する。気圧センサ40は、例えば気圧変化を抵抗値に変換する抵抗変化型センサである。気圧センサ40は、例えば気圧変化を静電量の変化に変換する静電容量型センサであってもよい。また、気圧センサ40は、例えば圧力変化を発振周波数に変換する水晶発振周波数型センサであってもよい。本実施形態において、気圧センサ40は、高さ数センチメートルの気圧の変化を検出する分解能を有する。
コントローラ31は、例えばCPU(Central Processing Unit)等のプロセッサである。コントローラ31は、他の構成要素が統合されたSoC(System-on-a-Chip)等の集積回路であってもよい。コントローラ31は、複数の集積回路を組み合わせて構成されてもよい。コントローラ31は、動作検出装置2の動作を統括的に制御して各種の機能を実現する。具体的にはコントローラ31は、ストレージ36に記憶されているデータを必要に応じて参照する。コントローラ31は、ストレージ36に記憶されているプログラムに含まれる命令を実行して通信ユニット37等の他の機能部を制御することによって各種機能を実現する。
地磁気センサ41は、地磁気の向きを検出する。例えば動作検出装置2の向きを地面に平行な面上に投影した成分が、地磁気センサ41で取得される向き情報である。地磁気センサ41で取得される向き情報は、動作検出装置2の方位である。
スピーカー42は音を出力する。例えばハンズフリー通話やメール確認の読み上げの際に、相手の音声やメールの内容がスピーカー42から音で出力される。
タイマー32、カメラ33、ディスプレイ34およびマイク35は、それぞれ電子機器1のタイマー12、カメラ13、ディスプレイ14およびマイク15と同様である。
(電子機器の操作)
図3に示す電子機器1はタブレットである。代替例として電子機器1は例えば、携帯電話端末、ファブレット、PDA、ゲーム機、電子書籍リーダ、家電製品、産業用機器(FA機器)等でもよい。電子機器1はディスプレイ14を備える。本実施形態においても、ディスプレイ14は、タッチスクリーンと一体化されてタッチパネルを構成する。タッチスクリーンは、指またはスタイラスペン等の接触を検出して、その接触位置を特定する。
また、図3に示す動作検出装置2はスタイラスペンである。本実施形態において、動作検出装置2はユーザが把持可能なペン型デバイスである。代替例として動作検出装置2は例えば、指に装着可能なリング型のウェアラブル端末であってもよい。ユーザは動作検出装置2を用いて、タッチパネル上に描画することが可能である。このとき、動作検出装置2と電子機器1のタッチパネルとが離れていてもよい。図3に示す電子機器1および動作検出装置2は、例えば教育用タブレット端末、デジタイザ等として使用される。図3に示されるように、z軸方向は電子機器1のディスプレイ14に垂直な高さ方向である。また、x軸およびy軸でつくるxy平面はディスプレイ14と平行である。
ここで、ユーザがディスプレイ14に表示される画面を拡大または縮小したい場合に、例えばピンチインまたはピンチアウト等の操作を行うことが一般的であった。このとき、ユーザは一度スタイラスペンを指から離す必要があった。また、ユーザはスタイラスペンを使って描く線の太さを変更したい場合に、メニュー画面で設定変更のための作業を行うことが一般的であった。このとき、ユーザは実行中の作業をしばらくの間、中断する必要があった。本実施形態の電子機器1および動作検出装置2は、図4および図5を参照して説明する以下の処理を連動して実行する。この処理によって、ユーザは効率的に、画面を拡大または縮小、および線の太さの変更を実行することができる。
(電子機器側の処理)
図4は、電子機器1が実行する表示処理の一例を示すフローチャートである。まず、コントローラ11は動作検出装置2との通信を確立する。コントローラ11は、動作検出装置2とペアリングできるまで待機する(ステップS51のNo)。そして、コントローラ11は、動作検出装置2とペアリングするとステップS52の処理に進む(ステップS51のYes)。
コントローラ11は、動作検出装置2とのペアリングが完了すると、画像等を表示する(ステップS52)。画像等とは、ユーザが描画のための作業を行う領域、メニュー等を示すものである。例えば画像等はペイントソフト(ペイント用のアプリケーション)の起動画面であってもよい。
コントローラ11は、ユーザが描く文字や図の線の太さを標準値(例えば12ポイント)に設定する(ステップS53)。ここで、コントローラ11は、気圧センサ40以外の他のセンサ(例えば加速度センサ38、ジャイロセンサ39および地磁気センサ41の少なくとも1つ)が検出した動作検出装置2の動きに応じた線をディスプレイ14に表示させることができる。
コントローラ11は、気圧センサ動作指示を動作検出装置2に出力する(ステップS54)。気圧センサ動作指示は、気圧センサ40が動作させるための制御信号である。コントローラ11は、気圧センサ40が検出する気圧の値から、動作検出装置2(この例ではスタイラスペン)の高さを把握可能である。このとき、コントローラ11は、他のセンサの動作指示も動作検出装置2に出力してもよい。コントローラ11は、他のセンサを動作させた場合には、以下に説明する気圧データと同様に、他のセンサからの検出データも取得する。
コントローラ11は、動作検出装置2から最初の気圧のデータを取得するまで待機する(ステップS55のNo)。最初の気圧のデータが示す動作検出装置2の高さが基準点となる。このとき、コントローラ11は基準点の高さをゼロとして、以降の処理において相対的な高さを演算で求めてもよい。そして、動作検出装置2から最初の気圧のデータを取得すると(ステップS55のYes)、コントローラ11は、ステップS56の処理に進む。
コントローラ11は、動作検出装置2を用いた操作が完了したか否かを判定する(ステップS56)。例えばユーザが実行中のアプリケーションの終了ボタンを押したことを検知したような場合に、コントローラ11は、動作検出装置2を用いた操作が完了したと判定して一連の処理を終了する(ステップS56のYes)。コントローラ11は、動作検出装置2を用いた操作が完了していないと判定する場合にステップS57の処理に進む。
コントローラ11は、動作検出装置2から気圧のデータ(2回目以降)を取得した場合に(ステップS57のYes)、ステップS58の処理に進む。コントローラ11は、動作検出装置2から気圧のデータを取得していない場合には(ステップS57のNo)、ステップS56の処理に戻る。
コントローラ11は、新たな気圧のデータを取得すると、前回データと比べた気圧の変化が閾値以上か否かを判定する(ステップS58)。上記のように、気圧センサ40は、高さ数センチメートルの気圧の変化を検出する分解能を有する。閾値は例えば高さ2センチメートルの差に対応する気圧の変化の値であってもよい。コントローラ11は、前回データと比べた気圧の変化が閾値以上であれば(ステップS58のYes)、動作検出装置2(この例ではスタイラスペン)の高さが大きく変化したと判定してステップS59の処理に進む。コントローラ11は、前回データと比べた気圧の変化が閾値未満であれば(ステップS58のNo)、ステップS56の処理に戻る。
コントローラ11は、気圧センサが検出した気圧の変化に応じて、ディスプレイ14の表示画面を拡大または縮小する(ステップS59)。本実施形態において、コントローラ11は、この変化が、気圧の上昇(すなわち動作検出装置2がz軸の上方から下方へと地面に近づく動作)であれば画面を拡大する。また、コントローラ11は、この変化が、気圧の下降(すなわち動作検出装置2がz軸の下方から上方へと地面から離れる動作)であれば画面を縮小する。このとき、気圧の変化が大きいほど、拡大率または縮小率が大きくなってもよい。
代替例として、気圧の上昇、下降と、画面の拡大、縮小との対応が上記と逆であってもよい。つまり、コントローラ11は、この変化が、気圧の上昇(すなわち動作検出装置2がz軸の上方から下方へと地面に近づく動作)であれば画面を縮小してもよい。また、コントローラ11は、この変化が、気圧の下降(すなわち動作検出装置2がz軸の下方から上方へと地面から離れる動作)であれば画面を拡大してもよい。
そして、コントローラ11は、気圧センサ40が検出した気圧の変化に応じてスタイラスペンを使って描く線の太さを変更し(ステップS60)、ステップS56の処理に戻る。本実施形態において、コントローラ11は、この変化が、気圧の上昇(すなわち動作検出装置2がz軸の上方から下方へと地面に近づく動作)であれば線を太くする。また、コントローラ11は、この変化が、気圧の下降(すなわち動作検出装置2がz軸の下方から上方へと地面から離れる動作)であれば線を細くする。このとき、気圧の変化が大きいほど、太さの変化が大きくなってもよい。
代替例として、気圧の上昇、下降と、線を太くすること、細くすることとの対応が上記と逆であってもよい。つまり、コントローラ11は、この変化が、気圧の上昇(すなわち動作検出装置2がz軸の上方から下方へと地面に近づく動作)であれば線を細くしてもよい。また、コントローラ11は、この変化が、気圧の下降(すなわち動作検出装置2がz軸の下方から上方へと地面から離れる動作)であれば線を太くしてもよい。
(動作検出装置側の処理)
図5は、動作検出装置2が実行するユーザ動作の検出処理の一例を示すフローチャートである。動作検出装置2は、電子機器1が実行する処理(図4)と連動して、以下の処理を実行する。
まず、動作検出装置2のコントローラ31は電子機器1との通信が確立するまで待機する(ステップS71のNo)。そして、コントローラ31は、電子機器1との通信が確立するとステップS72の処理に進む(ステップS71のYes)。
コントローラ31は、電子機器1から気圧センサ動作指示を取得するまで待機する(ステップS72のNo)。コントローラ31は、気圧センサ動作指示を取得すると(ステップS72のYes)、動作検出装置2(スタイラスペン)の高さを検出するために気圧センサ40を動作させる(ステップS73)。
コントローラ31は、気圧センサ40に気圧を検出させる(ステップS74)。そして、コントローラ31は、検出した気圧のデータを電子機器1に出力する(ステップS75)。ここで、コントローラ31は、定期的に(例えば1秒に1回)、または所定のタイミングで気圧センサ40に気圧を検出させてもよい。
コントローラ31は、動作検出装置2を用いた操作が完了したか否かを判定する(ステップS76)。例えばユーザが実行中のアプリケーションの終了ボタンを押したことを電子機器1から通知された場合に、コントローラ31は操作が完了したと判定して一連の処理を終了する(ステップS76のYes)。コントローラ31は、動作検出装置2を用いた操作が完了していないと判定する場合にステップS74の処理に戻る。
以上に説明したように、電子機器1は、気圧センサ40を備える動作検出装置2と通信ユニット17によって通信する。そして、電子機器1のコントローラ11は、気圧センサ40が検出した気圧の変化に応じて、ディスプレイ14の画面を拡大または縮小する。また、コントローラ11は、他のセンサ(例えば加速度センサ38、ジャイロセンサ39および地磁気センサ41の少なくとも1つ)が検出した動作検出装置2の動きに応じた線をディスプレイ14に表示させ、気圧センサ40が検出した気圧の変化に応じて線の太さを変更する。近接センサを用いる電子機器と比較して、より離れた場所からジェスチャ操作(画面の拡大、縮小、線の太さの変更等)が可能である。よって、利便性を高めた電子機器1を提供することができる。
さらに、本実施形態においては、コントローラ11は、気圧センサ40が検出した気圧の変化に応じてディスプレイ14の表示画面を拡大または縮小する。したがって、ユーザはスタイラスペン(動作検出装置2)から指を離すことなく、画面の拡大または縮小が可能である。また、本実施形態においては、コントローラ11は、気圧センサ40が検出した気圧の変化に応じてスタイラスペン(動作検出装置2)を使って描く線の太さを変更する。したがって、ユーザは線の太さを変更するために、作業画面からメニュー画面に移動する必要がない。よって、ユーザは効率的に、画面を拡大または縮小、および線の太さの変更を実行することができる。そのため、さらに利便性を高めた電子機器1を提供することができる。ここで、本実施形態においては、画面の拡大縮小と、線の太さの変更とが連動して実行されていたが、一方だけ(画面の拡大縮小または線の太さの変更)が実行されてもよい。
(変形例)
ここで、動作検出装置2は大型のディスプレイ34(例えば6インチ以上)を備える電子機器(例えば、スマートフォン)であってもよい。動作検出装置2がスマートフォンであって、ディスプレイ34に表示する画面の拡大または縮小を実行する変形例について以下に説明する。このとき、動作検出装置2は、電子機器1(タブレット)と連携動作をしてもよい。しかし、ディスプレイ34の画面の拡大または縮小の処理については、動作検出装置2が独立して実行可能であるため、以下に動作検出装置2の処理のみを説明する。
図6は、動作検出装置2が実行するユーザ動作の検出処理およびディスプレイ34の画面の拡大または縮小の処理の一例を示すフローチャートである。
まず、動作検出装置2(この例ではスマートフォン)のコントローラ31は、画像をディスプレイ34に表示する(ステップS81)。例えば、動作検出装置2は地図を表示するアプリケーションを起動して、地図をディスプレイ34に表示する。
そして、コントローラ31は、動作検出装置2の高さを検出するために気圧センサ40を動作させる(ステップS82)。
コントローラ31は、気圧センサ40に最初の気圧を検出させる(ステップS83)。最初の気圧のデータが示す動作検出装置2の高さが基準点となる。このとき、コントローラ31は基準点の高さをゼロとして、以降の処理において相対的な高さを演算で求めてもよい。
コントローラ31は、動作検出装置2を用いた操作が完了したか否かを判定する(ステップS84)。例えばユーザが地図を表示するアプリケーションを終了したことを検知したような場合に、コントローラ31は操作が完了したと判定して一連の処理を終了する(ステップS84のYes)。コントローラ31は、操作が完了していないと判定する場合にステップS85の処理に進む。
コントローラ31は、気圧センサ40に気圧(2回目以降)を検出させて、検出データを取得する。コントローラ31は、気圧を検出した場合に(ステップS85のYes)、ステップS86の処理に進む。コントローラ31は、新たな気圧を検出していない場合には(ステップS85のNo)、ステップS84の処理に戻る。
コントローラ31は、新たな気圧のデータを取得すると、前回データと比べた気圧の変化が閾値以上か否かを判定する(ステップS86)。コントローラ31は、前回データと比べた気圧の変化が閾値以上であれば(ステップS86のYes)、ステップS87の処理に進む。コントローラ31は、前回データと比べた気圧の変化が閾値未満であれば(ステップS86のNo)、ステップS84の処理に戻る。
コントローラ31は、気圧センサが検出した気圧の変化に応じて、ディスプレイ34の表示画面(地図)を拡大または縮小する(ステップS87)。コントローラ31は、この変化が、気圧の上昇(すなわち動作検出装置2がz軸の上方から下方へと地面に近づく動作)であれば画面を拡大する。また、コントローラ31は、この変化が、気圧の下降(すなわち動作検出装置2がz軸の下方から上方へと地面から離れる動作)であれば画面を縮小する。ここで、代替例として、気圧の上昇、下降と、画面の拡大、縮小との対応が上記と逆であってもよい。また、気圧の変化が大きいほど、拡大率または縮小率が大きくなってもよい。
そして、コントローラ31は、拡大後または縮小後の表示画面の縮尺(表示倍率)をロックする(ステップS88)。ロックされた表示画面は、その後所定の時間(例えば3秒)、動作検出装置2の高さが変化しても縮尺が維持される。画面をロックすることによって、ユーザが画面を拡大または縮小した後に動作検出装置2を手元に戻す動作をしても、誤って画面の縮尺が変化する(拡大または縮小の前の表示倍率に戻る)ことを回避することができる。ここで、この場合においても縮尺以外の画面変化はあり得る。例えばユーザは、縮尺がロックされた表示画面であっても上下左右に画面をスクロールすることが可能である。また、代替例として、所定の条件が満たされた場合にディスプレイ34の画面がロックされてもよい。例えば、所定の条件は、ユーザが動作検出装置2を振ったことを他のセンサ(気圧センサ40でない、例えば加速度センサ38)で検出したことであってもよい。
[第2実施形態]
第2実施形態に係る電子機器1について図7および図8を参照しながら説明する。本実施形態では、以下に説明する処理によって、電子機器1の利便性をさらに高めることができる。
(電子機器の構成)
図7に示すように本実施形態の電子機器1は、第1実施形態に係る電子機器1の構成にさらに気圧センサ19を備える。ここで、特に区別する場合には、気圧センサ19を第1の気圧センサ、動作検出装置2の気圧センサ40を第2の気圧センサという。電子機器1のその他の構成は、第1実施形態と同じであるため説明を省略する。また、動作検出装置2の構成は第1実施形態と同じであるため説明を省略する。
第1実施形態と同様に、電子機器1はタブレットである。また、動作検出装置2はスタイラスペンである(図3参照)。第1実施形態と同様に、電子機器1のコントローラ11は、画面を拡大または縮小を実行する。ここで、本実施形態の電子機器1は、図8を参照して説明する処理によって、画面の拡大時または縮小時の操作感を向上させて、さらに電力管理を行うことが可能である。
(電子機器側の処理)
ここで、電子機器1は第1モードおよび第2モードを有する。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態、動作状況)を意味する。モードは同時に1つだけ選択可能である。本実施形態において、第2モードは低電力モードである。低電力モードはコントローラ11を低速で動作させてバッテリーを長持ちさせるモードである。一方、第1モードは通常の動作モード(通常モード)である。
図8は、電子機器1が実行する描画処理の一例を示すフローチャートである。まず、コントローラ11は、電子機器1のモードを第1モード(通常モード)に設定する(ステップS101)。そして、コントローラ11は、動作検出装置2との通信を確立する。コントローラ11は、動作検出装置2とペアリングできるまで待機する(ステップS102のNo)。そして、コントローラ11は、動作検出装置2とペアリングするとステップS103の処理に進む(ステップS102のYes)。
コントローラ11は、動作検出装置2とのペアリングが完了すると、画像等を表示する(ステップS103)。画像等については第1実施形態と同様である。
コントローラ11は、電子機器1の高さを検出するために、気圧センサ19(第1の気圧センサ)を動作させる(ステップS104)。また、コントローラ11は、動作検出装置2の気圧センサ40(第2の気圧センサ)の動作を指示する(ステップS105)。コントローラ11は、気圧センサ40が検出する気圧の値から、動作検出装置2(この例ではスタイラスペン)の高さを把握可能である。
コントローラ11は、動作検出装置2から最初の気圧のデータを取得するまで待機する(ステップS106のNo)。そして、気圧センサ40が検出した動作検出装置2の最初の気圧データを取得すると(ステップS106のYes)、気圧センサ19が検出した電子機器1の最初の気圧データとの差を演算する(ステップS107)。つまり、コントローラ11は、最初の気圧の差を演算する。
コントローラ11は、気圧の差が所定の値以上であれば(ステップS108のYes)、電子機器1のモードを第2モード(低電力モード)に設定する(ステップS109)。ここで、所定の値は例えば高さに換算して30cm程度に対応する気圧差である。コントローラ11は、電子機器1(タブレット)と動作検出装置2(スタイラスペン)とが高さで30cm程度離れている場合には、使用状態にないと判定して低電力モードに移行する。例えば、机に電子機器1(タブレット)を置いたまま、ユーザが動作検出装置2(スタイラスペン)を手に持って思考中であるような場合に、これらは高さで30cm程度離れると考えられる。そして、コントローラ11はステップS112の処理に進む。
コントローラ11は、気圧センサ19(第1の気圧センサ)が検出した気圧と気圧センサ40(第2の気圧センサ)が検出した気圧との差が所定の値より小さい場合に(ステップS108のNo)、電子機器1が第2モードであるか否かを判定する(ステップS110)。コントローラ11は、電子機器1が第2モードであれば(ステップS110のYes)、第2モードから第1モード(通常モード)に切り替えて(ステップS111)、ステップS112の処理に進む。コントローラ11は、電子機器1が第2モードでなければ(ステップS110のNo)、ステップS112の処理に進む。
コントローラ11は、動作検出装置2を用いた操作が完了したか否かを判定する(ステップS112)。例えばユーザが実行中のアプリケーションの終了ボタンを押したことを検知したような場合に、コントローラ11は、動作検出装置2を用いた操作が完了したと判定して一連の処理を終了する(ステップS112のYes)。コントローラ11は、動作検出装置2を用いた操作が完了していないと判定する場合に(ステップS112のNo)、ステップS113の処理に進む。
コントローラ11は、動作検出装置2から気圧のデータ(2回目以降)を取得した場合に(ステップS113のYes)、ステップS114の処理に進む。コントローラ11は、動作検出装置2から気圧のデータを取得していない場合には(ステップS113のNo)、ステップS112の処理に戻る。
コントローラ11は、気圧センサ40が検出した動作検出装置2の新たな気圧データと、気圧センサ19が検出した電子機器1の新たな気圧データと、の差を演算する(ステップS114)。つまり、コントローラ11は気圧の差を演算する。
コントローラ11は、前回の気圧の差と比べて、新たな気圧が閾値以上変化したか否かを判定する(ステップS115)。閾値は例えば高さ2センチメートルの差に対応する気圧の変化の値であってもよい。コントローラ11は、前回の気圧の差と比べた新たな気圧の差の変化が閾値以上であれば(ステップS115のYes)、ステップS116の処理に進む。コントローラ11は、新たな気圧の差の変化が閾値より小さければ(ステップS115のNo)、ステップS108の処理に戻る。
コントローラ11は、気圧の差の前回からの変化に応じて、ディスプレイ14の表示画面を拡大または縮小する(ステップS116)。本実施形態において、コントローラ11は、この変化が、大きくなる(すなわち電子機器1と動作検出装置2とがより離れる)のであれば画面を拡大する。また、コントローラ11は、この変化が、小さくなる(すなわち電子機器1と動作検出装置2とがより近付く)のであれば画面を縮小する。ここで、代替例として、上記の変化が大きくなること、小さくなることと、画面の拡大、縮小との対応が上記と逆であってもよい。また、気圧の変化が大きいほど、拡大率または縮小率が大きくなってもよい。
以上に説明したように、本実施形態においても、近接センサを用いる電子機器と比較して、より離れた場所からジェスチャ操作(画面の拡大、縮小)が可能である。よって、第1実施形態と同様に、利便性を高めた電子機器1を提供することができる。
さらに、本実施形態においては、第1実施形態の場合と異なり、気圧センサ19(第1の気圧センサ)が検出した気圧と気圧センサ40(第2の気圧センサ)が検出した気圧との差の前回からの変化を拡大縮小処理に用いる。電子機器1と動作検出装置2との相対的な距離を示す気圧の差を用いるため、感度を高くすることなく、高い拡大率(または縮小率)を実現できる。また、電子機器1と動作検出装置2との間の距離を保ちながらユーザが1階から2階へと移動するような場合に、拡大処理または縮小処理が行われることはない。
さらに、本実施形態においては、気圧センサ19(第1の気圧センサ)が検出した気圧と気圧センサ40(第2の気圧センサ)が検出した気圧との差を所定の値と比較する。そして、この差が所定の値以上であれば(高さ方向で電子機器1と動作検出装置2とが離れていれば)、第1モード(通常モード)よりも低消費電力の第2モード(低電力モード)に切り替える。そして、この差が所定の値よりも小さければ(高さ方向で電子機器1と動作検出装置2とが近付けば)、第2モードから第1モードへと復帰する。そのため、ユーザは電子機器1を手にとって所定のキーを押し下げるといった手動の復帰処理を行う必要がない。つまり、ユーザが電子機器1(タブレット)と動作検出装置2(スタイラスペン)とを使用したい場合には、スタイラスペンをタブレットに近づけるという自然な動作だけで、第2モードから第1モードへと復帰することが可能である。よって、さらに利便性を高めた電子機器1を提供することができる。
(その他の実施形態)
本発明を図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
上記の実施形態においては、気圧センサ40以外の他のセンサは動作検出装置2の動きに応じた線をディスプレイ14に表示させるものであった。しかし、他のセンサの少なくとも一部は、電子機器1のジェスチャ操作で使用されてもよい。例えば、ペイントソフトがユーザによって一時的に中断された場合等に、コントローラ11は、加速度センサ38の検出データを取得してもよい。コントローラ11は、ユーザの左右および前後の動きに応じて、ディスプレイ14に表示される画面を調整することが可能である。例えば、ユーザがディスプレイ14の長手方向で下方から上方へと手を動かすジェスチャを行うと、ディスプレイ14に表示された画面が下方から上方へとスクロールしてもよい。このとき、コントローラ31はジャイロセンサ39を動作させてもよい。コントローラ11は、ユーザの回転動作に応じてディスプレイ14に表示される画面を調整してもよい。また、コントローラ11は、ディスプレイ14に表示される画面を調整することに限らず、様々なアプリケーションの制御についてジェスチャ操作を受け付けてもよい。例えば、離れたところで電子機器1のアラームが鳴動している場合に、動作検出装置2を身に付けたユーザがジェスチャで鳴動を停止させてもよい。また、ハンズフリー通話やメール確認(表示または読み上げ)についても、動作検出装置2を身に付けたユーザがジェスチャで操作できてもよい。
上記の第2実施形態において、コントローラ11は高さに換算して30cmに対応する気圧差を検出すると、電子機器1のモードを低電力モードに設定した。しかし、30cmは一例であり、これに限定されるものではない。低電力モードへ移行させる閾値(所定の値)は、高さに換算して30cmよりも大きな値、例えば45cmであってもよい。このとき、電子機器1と動作検出装置2との距離が高さで45cm未満の範囲にあれば、電子機器1は通常モードで動作する。例えば、近接センサを用いた電子機器のジェスチャの検出可能範囲は10cm程度であることが多い。これに対して、電子機器1は例えば45cm離れた動作検出装置2の動きに応じて画面の拡大縮小、描画等を実行することができる。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、PC(パーソナルコンピュータ)、専用コンピュータ、ワークステーション、PCS(Personal Communications System、パーソナル移動通信システム)、移動(セルラー)電話機、データ処理機能を備えた移動電話機、RFID受信機、ゲーム機、電子ノートパッド、ラップトップコンピュータ、GPS(Global Positioning System)受信機またはその他のプログラム可能なデータ処理装置が含まれる。各実施形態では、種々の動作、制御方法は、プログラム命令(ソフトウェア)で実装された専用回路(例えば、特定機能を実行するために相互接続された個別の論理ゲート)や、一以上のプロセッサにより実行される論理ブロックやプログラムモジュール等により実行されることに留意されたい。論理ブロックやプログラムモジュール等を実行する一以上のプロセッサには、例えば、一以上のマイクロプロセッサ、CPU(中央演算処理ユニット)、ASIC(Application Specific Integrated Circuit)、DSP(DigitalSignal Processor)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子機器、ここに記載する機能を実行可能に設計されたその他の装置および/またはこれらいずれかの組合せが含まれる。ここに示す実施形態は、例えば、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはこれらいずれかの組合せにより実装される。命令は、必要なタスクを実行するためのプログラムコードまたはコードセグメントであってもよい。そして、命令は、機械読取り可能な非一時的記憶媒体その他の媒体に格納することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラスまたは命令、データ構造もしくはプログラムステートメントのいずれかの任意の組合せを示すものであってもよい。コードセグメントは、他のコードセグメントまたはハードウェア回路と、情報、データ引数、変数または記憶内容の送信および/または受信を行い、これにより、コードセグメントが他のコードセグメントまたはハードウェア回路と接続される。
ここで用いられるストレージ16は、さらに、ソリッドステートメモリ、磁気ディスクおよび光学ディスクの範疇で構成されるコンピュータ読取り可能な有形のキャリア(媒体)として構成することができる。かかる媒体には、ここに開示する技術をプロセッサに実行させるためのプログラムモジュール等のコンピュータ命令の適宜なセットや、データ構造が格納される。コンピュータ読取り可能な媒体には、一つ以上の配線を備えた電気的接続、磁気ディスク記憶媒体、磁気カセット、磁気テープ、その他の磁気および光学記憶装置(例えば、CD(Compact Disk)、レーザーディスク(登録商標)、DVD(登録商標)(Digital Versatile Disc)、フロッピー(登録商標)ディスクおよびブルーレイディスク(登録商標))、可搬型コンピュータディスク、RAM(Random AccessMemory)、ROM(Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)もしくはフラッシュメモリ等の書換え可能でプログラム可能なROMもしくは情報を格納可能な他の有形の記憶媒体またはこれらいずれかの組合せが含まれる。メモリは、プロセッサ/プロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性その他のメモリを意味する。つまり、「メモリ」は特定の種類や数に限定されない。また、記憶が格納される媒体の種類も限定されない。