[第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は、動作検出装置2を腕に装着したユーザが、腕の動きによって電子機器1を操作する様子を示す。図3では一例として電子機器1はスタンドにより支持される。代替例として電子機器1は壁に立てかけられたり、テーブルに置かれたりしてもよい。動作検出装置2はユーザの動作を検出し、検出データを電子機器1に出力する。電子機器1のコントローラ11は、受け取った検出データから判定されるユーザ動作に基づく処理を行う。ユーザ動作に基づく処理とは、ディスプレイ14に表示された画面のスクロール、およびディスプレイ14に表示された画面の拡大または縮小等である。本実施形態において、電子機器1から独立した動作検出装置2がユーザの動作を検出して検出データを電子機器1に出力する。そのため、電子機器1に実装される近接センサを用いる場合と比較して、より離れた場所から電子機器1のジェスチャ操作が可能である。
図3に示す電子機器1はスマートフォンである。代替例として電子機器1は例えば、携帯電話端末、ファブレット、タブレットまたはフィーチャーフォン等でもよい。また、電子機器1は、上記のものに限定されず、例えば、PDA、リモコン端末、携帯音楽プレイヤー、ゲーム機、電子書籍リーダ、カーナビゲーション、家電製品、産業用機器(FA機器)等でもよい。
また、図3に示す動作検出装置2は腕時計型のウェアラブル端末(ウェアラブルデバイス)である。本実施形態において、動作検出装置2は腕に装着可能な腕時計型のウェアラブル端末であるが、これに限定されるものではない。代替例として動作検出装置2は指に装着可能なリング型のウェアラブル端末、または、顔に装着可能な眼鏡型のウェアラブル端末でもよい。また、動作検出装置2は例えばユーザが把持可能なペン型デバイスであってもよい。
図4は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図4の例で、ユーザは料理のレシピ(手順書)を電子機器1のディスプレイ14に表示しながら、キッチンでレシピに従って料理をしている。ここで、例えばユーザがディスプレイ14の長手方向で下方から上方へと手を動かすジェスチャに連動して、ディスプレイ14に表示された画面が下方から上方へとスクロールしてもよい。しかし、料理中の様々な動作(例えばボールを持ち上げる動作等)によって、誤って現在の進行状況よりも先までレシピがスクロールしてしまうとかえってユーザにとって不便になる。そこで、利便性を高めるために、本実施形態の電子機器1および動作検出装置2は、図5および図6を参照して説明する以下の処理を連動して実行する。
(電子機器側の処理)
電子機器1はモードを複数有する。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態、動作状況)を意味する。モードは同時に1つだけ選択可能である。電子機器1は第1モードおよび第2モードを有する。本実施形態において、第2モードは、キッチンでレシピを表示しながら料理を行うのに最適な電子機器1の動作モード(キッチンモード)である。レシピは料理において所定の動作(例えば材料を切る、かき混ぜる等)を実行する手順を定めた手順情報の一例である。一方、第1モードは、例えばキッチン以外の部屋、および外出先等での使用に適している通常の動作モード(通常モード)である。電子機器1は起動時に第1モードに設定される。
図5は、電子機器1が実行するレシピの表示処理の一例を示すフローチャートである。まず、コントローラ11は動作検出装置2との通信を確立する。コントローラ11は、動作検出装置2とペアリングできるまで待機する(ステップS1のNo)。そして、コントローラ11は、動作検出装置2とペアリングするとステップS2の処理に進む(ステップS1のYes)。
コントローラ11は、動作検出装置2とのペアリングが完了すると、モードを第2モード(キッチンモード)に設定する(ステップS2)。ここで、ステップS2の処理はステップS1の前に実行されてもよい。
そして、コントローラ11は、ユーザによって選択されたレシピをディスプレイ14に表示させる(ステップS3)。
コントローラ11は、料理の進行状況に応じたユーザ動作の情報を動作検出装置2に出力する(ステップS4)。ユーザ動作の情報とは、ユーザが料理で次に行う動作を示すものであり、例えばxy軸方向動作、回転動作、z軸方向動作等を含む。例えば、料理の進行状況が、次に材料をかき混ぜる段階にあるとする。このとき、コントローラ11は、ユーザ動作の情報として「回転動作」を動作検出装置2に出力する。ここで、コントローラ11は、ディスプレイ14に表示されたレシピの内容を料理の進行状況とすることができる。コントローラ11は、ディスプレイ14に表示されたレシピが、次に行う動作を示唆(動作と関連することの一例)した場合に、動作検出装置2にユーザ動作の情報を出力する。ここで、z軸方向とは高さ方向であり、xy軸方向はz軸に垂直な水平面上の方向である。
コントローラ11は、動作検出装置2から検出データを取得するまで待機する(ステップS5のNo)。そして、動作検出装置2から検出データを取得すると(ステップS5のYes)、検出データに基づいてディスプレイ14に表示される画面を遷移させる。ここで、検出データは、先にコントローラ11が動作検出装置2に出力したユーザ動作の情報に対応する動作を検出したものである。コントローラ11は、動作検出装置2から検出データを取得することで、ユーザの料理の状況がレシピの次の段階に進行したことを把握できる。そして、ディスプレイ14に表示されるレシピの内容を次の段階に進めて、料理の状況に応じた適切な内容をユーザに対して表示することができる。コントローラ11は、ユーザが例えばタッチスクリーンに接触操作してレシピの内容を進めなくても、料理の進行状況を把握してレシピを自動的にスクロールすることができる。ここで、コントローラ11は、ユーザが所定の動作の終了を検出したタイミングでディスプレイ14に表示される画面を更新してもよい。また、コントローラ11は、ユーザが所定の動作の開始を検出したタイミングでディスプレイ14に表示される画面を更新してもよい。
コントローラ11は、ディスプレイ14に表示されている内容がレシピの最後であって、料理が完了したか否かを判定する(ステップS7)。コントローラ11は、検出データからレシピの最後のユーザ動作が完了したと判定する場合に(ステップS7のYes)、ステップS8の処理に進む。コントローラ11は、レシピの最後でないと判定した場合に(ステップS7のNo)、ステップS4の処理に戻る。
コントローラ11は、レシピの最後であると判定した場合に、終了指示を動作検出装置2に出力する(ステップS8)。そして、コントローラ11は、モードを第1モード(通常モード)に設定する(ステップS9)。
(動作検出装置側の処理)
図6は、動作検出装置2が実行するユーザ動作の検出処理の一例を示すフローチャートである。動作検出装置2は、電子機器1が実行するレシピの表示処理(図5)と連動して、以下の処理を実行する。
まず、動作検出装置2のコントローラ31は電子機器1との通信が確立するまで待機する(ステップS11のNo)。そして、コントローラ31は、電子機器1との通信が確立するとステップS12の処理に進む(ステップS11のYes)。
コントローラ31は、電子機器1からユーザ動作の情報を取得するまで待機する(ステップS12のNo)。コントローラ31は、ユーザ動作の情報を取得すると(ステップS12のYes)、ユーザが料理で次に行う動作の種類を判定する(ステップS13)。本実施形態において、コントローラ31は、ユーザ動作の情報がxy軸方向動作、回転動作、またはz軸方向動作であるかを判定する。
コントローラ31は、ユーザ動作の情報がxy軸方向動作の場合、ユーザの左右および前後の動きを検出するために加速度センサ38を動作させる(ステップS14)。ユーザの左右および前後の動きは、加速度センサ38が検出したx軸およびy軸の加速度合成ベクトルの値から把握可能である。
コントローラ31は、ユーザ動作の情報が回転動作の場合、ユーザが腕等を回す動きを検出するためにジャイロセンサ39を動作させる(ステップS15)。ユーザの回転に関する動きは、ジャイロセンサ39が検出したx軸、y軸およびz軸周りの角速度の値から把握可能である。
コントローラ31は、ユーザ動作の情報がz軸方向動作の場合、ユーザの手等の上下移動を検出するために気圧センサ40を動作させる(ステップS16)。ユーザの上下に移動させる動きは、気圧センサ40が検出した気圧の変化から把握可能である。
ここで、加速度センサ38でz軸方向の動きを検出することも可能であるが、z軸方向の動きをxy軸方向とは別に気圧センサ40で検出することによって、高さ方向のユーザの動きが明確に切り分けられる。そのため、動きをより正確に把握することが可能になる。また、加速度センサ38、ジャイロセンサ39、および気圧センサ40のうち2つ以上が同時に動作してもよい。例えば、コントローラ31は、ユーザ動作の情報がxy軸方向動作およびz軸方向動作を含む場合に、加速度センサ38および気圧センサ40を動作させる。
コントローラ31は、動作しているセンサが検出した値(検出データ)を電子機器1に出力する(ステップS17)。そして、コントローラ31は、動作しているセンサを停止させる(ステップS18)。
コントローラ31は、電子機器1から終了指示があれば一連の処理を終了する(ステップS19のYes)。コントローラ31は、電子機器1から終了指示がなければ、ステップS12の処理に戻る(ステップS19のNo)。
以上に説明したように、電子機器1は、ユーザの所定の動作(例えば材料を切る、かき混ぜる等)を検出するモーションセンサ(本実施形態において、加速度センサ38、ジャイロセンサ39、および気圧センサ40)を備える動作検出装置2と通信ユニット17によって通信する。そして、電子機器1のコントローラ11は、ディスプレイ14に表示された画面(本実施形態ではレシピ)がユーザの所定の動作と関連する場合に、モーションセンサを起動させる。そして、コントローラ11は、モーションセンサが所定の動作の開始または終了を検出した場合に、ディスプレイ14に表示された画面(本実施形態ではレシピ)を更新する。近接センサを用いる電子機器と比較して、より離れた場所からジェスチャ操作(レシピの表示の遷移)が可能である。よって、利便性を高めた電子機器1を提供することができる。
本実施形態において、ユーザの所定の動作は複数の動き(左右および前後の動き、腕等を回す動き、および手等を上下に移動させる動き)を含む。また、モーションセンサは、複数の動きのそれぞれを検出する複数のセンサ(加速度センサ38、ジャイロセンサ39、および気圧センサ40)を備える。そして、コントローラ11は、ディスプレイ14に表示されたレシピが一の動き(例えば腕等を回す動き)と関連する場合に、一の動きを検出するセンサ(例えばジャイロセンサ39)を起動させる。したがって、料理中のレシピで予定されているユーザの動作以外の動作(例えばボールを移動させる動作等)によって、誤って現在の進行状況よりも先までレシピがスクロールしてしまうことがない。つまり、電子機器1はユーザに対して適切なレシピの表示が可能である。また、レシピの進行に応じて必要なセンサだけを動作させるため、動作検出装置2の電力消費を抑えることが可能である。例えば気圧センサ40は、一般に加速度センサ38に比べると消費電力が大きい。本実施形態において、レシピの進行に応じて必要な場合だけ気圧センサ40が動作し、検出データを出力させた後に停止する。そのため、動作検出装置2の低消費電力化が可能である。
ここで、本実施形態において、動作検出装置2のコントローラ31は、検出データの送信後に動作しているセンサを停止させた。しかし、コントローラ31は加速度センサ38を動作させ続けてもよい。そして、コントローラ11は、通常モードにおいて(またはキッチンモードでもユーザの指示により)、加速度センサ38を動作させて、その検出データを取得してもよい。このとき、コントローラ11は、ユーザの左右および前後の動きに応じて、ディスプレイ14に表示される画面を調整することが可能である。例えば、ユーザがディスプレイ14の長手方向で下方から上方へと手を動かすジェスチャを行うと、ディスプレイ14に表示された画面が下方から上方へとスクロールしてもよい。このとき、コントローラ31はジャイロセンサ39を動作させてもよい。コントローラ11は、ユーザの回転動作に応じてディスプレイ14に表示される画面を調整してもよい。また、コントローラ11は、ディスプレイ14に表示される画面を調整することに限らず、様々なアプリケーションの制御についてジェスチャ操作を受け付けてもよい。例えば、離れたところで電子機器1のアラームが鳴動している場合に、動作検出装置2を身に付けたユーザがジェスチャで鳴動を停止させてもよい。また、ハンズフリー通話やメール確認(表示または読み上げ)についても、動作検出装置2を身に付けたユーザがジェスチャで操作できてもよい。
[第2実施形態]
第2実施形態に係る電子機器1について図7および図8を参照しながら説明する。本実施形態では、以下に説明する処理によって、第1実施形態よりもユーザの動作を一層正確に検出できる。電子機器1および動作検出装置2の構成は第1実施形態と同じであるため説明を省略する。また、第1実施形態と同様に、ユーザがキッチンで料理をする際に電子機器1が使用されている。この例では、レシピの動作のうちかき混ぜ動作に着目し、かき混ぜ動作について詳細に説明する(他の動作については詳細な説明を省略する)。
(電子機器側の処理)
図7は、電子機器1が実行するレシピの表示処理の一例を示すフローチャートである。まず、コントローラ11は動作検出装置2との通信を確立する。コントローラ11は、動作検出装置2とペアリングできるまで待機する(ステップS21のNo)。そして、コントローラ11は、動作検出装置2とペアリングするとステップS22の処理に進む(ステップS21のYes)。
コントローラ11は、動作検出装置2とのペアリングが完了すると、モードを第2モード(キッチンモード)に設定する(ステップS22)。
そして、コントローラ11は、ユーザによって選択されたレシピをディスプレイ14に表示させる(ステップS23)。
コントローラ11は、かき混ぜ動作の情報を動作検出装置2に出力する(ステップS24)。かき混ぜ動作は回転動作を含み、動作検出装置2のジャイロセンサ39が検出するx軸、y軸およびz軸周りの角速度の値から把握可能である。
コントローラ11は、かき混ぜ動作の前の工程(例えば材料を切る工程)が完了するまで待機する(ステップS25のNo)。そして、コントローラ11は、前の工程が完了すると(ステップS25のYes)、ステップS26の処理を実行する。
ここで、後述するように、動作検出装置2はかき混ぜ動作が十分か否かについて判定する。また、動作検出装置2はかき混ぜ時間についても管理する。コントローラ11は、動作検出装置2から受け取るかき混ぜ不足の通知、およびかき混ぜ完了の通知に基づいて、かき混ぜ動作の状況をユーザに知らせる(例えばディスプレイ14へかき混ぜ不足である旨を表示する)ことができる。
コントローラ11は、「かき混ぜ動作中である旨」および「かき混ぜ時間」の少なくとも一方をディスプレイ14に表示させる(ステップS26)。
コントローラ11は、動作検出装置2からかき混ぜ不足の通知があるか否かを判定する(ステップS27)。かき混ぜ不足の通知がある場合(ステップS27のYes)、コントローラ11は「かき混ぜ不足である旨」をディスプレイ14に表示させる(ステップS28)。そして、コントローラ11はステップS27の処理に戻る。
一方、コントローラ11は、かき混ぜ不足の通知がない場合(ステップS27のNo)、動作検出装置2からかき混ぜ完了の通知があるか否かを判定する(ステップS29)。かき混ぜ完了の通知がある場合(ステップS29のYes)、コントローラ11はステップS30の処理に進む。一方、かき混ぜ完了の通知がない場合(ステップS29のNo)、コントローラ11はステップS27の処理に戻る。
コントローラ11は、かき混ぜ完了の通知がある場合、ディスプレイ14に表示される画面を遷移させる。つまり、コントローラ11は、レシピの次の工程までディスプレイ14に表示される画面をスクロールさせる(ステップS30)。
その後、コントローラ11は、終了指示を動作検出装置2に出力する(ステップS31)。そして、コントローラ11は、モードを第1モード(通常モード)に設定する(ステップS9)。
(動作検出装置側の処理)
図8は、動作検出装置2が実行するユーザ動作の検出処理の一例を示すフローチャートである。動作検出装置2は、電子機器1が実行するレシピの表示処理(図7)と連動して、以下の処理を実行する。
まず、動作検出装置2のコントローラ31は電子機器1との通信が確立するまで待機する(ステップS41のNo)。そして、コントローラ31は、電子機器1との通信が確立するとステップS42の処理に進む(ステップS41のYes)。
コントローラ31は、電子機器1からかき混ぜ動作の情報を取得するまで待機する(ステップS42のNo)。コントローラ31は、かき混ぜ動作の情報を取得すると(ステップS42のYes)、ユーザが腕等を回す動きを検出するためにジャイロセンサ39を動作させる(ステップS43)。本実施形態において、かき混ぜ動作の情報は、レシピに記載のかき混ぜの時間(例えば1分等)の情報を含む。
コントローラ31は、ジャイロセンサ39によって回転を検出するまで待機する(ステップS44のNo)。コントローラ31は、ジャイロセンサ39によって回転を検出すると(ステップS44のYes)、ステップS45の処理に進む。
コントローラ31は、ジャイロセンサ39の検出データから、ユーザのかき混ぜ時間をカウントする(ステップS45)。つまり、コントローラ31は、ユーザがどれだけ長くかき混ぜ動作をしているかをカウントする。
コントローラ31は、ユーザのかき混ぜ時間がレシピに記載の時間以上か否かを判定する(ステップS46)。コントローラ31は、かき混ぜ時間がレシピに記載の時間以上であれば(ステップS46のYes)、かき混ぜ完了の通知を電子機器1に出力する(ステップS47)。そして、コントローラ31は、ジャイロセンサ39を停止させる(ステップS48)。この例では、かき混ぜ不足が問題になる料理のレシピであるため、かき混ぜ時間がレシピに記載の時間以上であればよいとしている。しかし、かき混ぜ過ぎも問題になる料理のレシピであれば、ステップS46でかき混ぜ時間に達したか否かを判定すればよい。
コントローラ31は、電子機器1から終了指示があれば一連の処理を終了する(ステップS49のYes)。コントローラ31は、電子機器1から終了指示がなければ、ステップS42の処理に戻る(ステップS49のNo)。
一方、ステップS46において、コントローラ31はかき混ぜ時間がレシピに記載の時間未満と判定した場合(ステップS46のNo)、かき混ぜ不足の通知を電子機器1に出力する(ステップS50)。そして、コントローラ31はステップS44の処理に戻る。
以上に説明したように、本実施形態においても、近接センサを用いる電子機器と比較して、より離れた場所からジェスチャ操作(レシピの表示の遷移)が可能である。よって、第1実施形態と同様に、利便性を高めた電子機器1を提供することができる。
さらに、本実施形態においては、ユーザが装着する動作検出装置2が、ユーザのかき混ぜ時間がレシピに記載の時間以上か否かを判定する。例えばユーザが途中で休憩したとしても、動作検出装置2はそのことを容易に把握可能である。よって、動作検出装置2が実際のかき混ぜ時間を正確に測定するため、第1実施形態よりもユーザの動作を一層正確に検出できる。
本実施形態においては、電子機器1は、動作検出装置2からかき混ぜ不足の通知、およびかき混ぜ完了の通知を受け取る。電子機器1は、例えば検出データから残りのかき混ぜ時間を演算する必要がない。そのため、第1実施形態と比べて、電子機器1の演算負荷を低減することが可能である。ここで、電子機器1は、かき混ぜ完了の通知を受け取るまで、かき混ぜ不足であると判定してもよい。このとき、動作検出装置2はかき混ぜ不足の通知を省略することができる。
(その他の実施形態)
本発明を図面や実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
上記のいくつかの実施形態においては、コントローラ11がモードを切り替えていた。しかし、モードはユーザによって手動で設定されてもよい。ユーザは、例えば設定画面から第1モードまたは第2モードを設定してもよい。また、モードの設定は、例えば画面の端部をスワイプ等することで現れるノーティフィケーション(通知画面)から実行可能であってもよい。ノーティフィケーションが利用できる場合、ユーザは複数階層の設定画面をたどることなく、容易に素早くモード変更が可能である。
上記の第1実施形態においては、コントローラ11は、動作検出装置2からの検出データに基づいて料理の進行状況を把握してレシピを自動的にスクロールした。ここで、コントローラ11は、動作検出装置2からの検出データがレシピの内容と合致しないと判定する場合には、調理工程が異なることを警告する画像および文字の少なくとも一方を、ディスプレイ14に表示させてもよい。例えば、かき混ぜ動作を行う工程で、ジャイロセンサ39が動作しており、例えばユーザの指示によって加速度センサ38も動作しているとする。このとき、コントローラ11が、しばらくの間、加速度センサ38の検出データだけを取得した場合に、かき混ぜ動作を促すメッセージをディスプレイ14に表示させてもよい。
上記の第2実施形態においては、ジャイロセンサ39が動作して、かき混ぜる調理工程が完了するまでをコントローラ31が判定する例を示した。別の例として、加速度センサ38が動作して、材料を切る調理工程が完了するまでをコントローラ31が判定してもよい。コントローラ31は、例えば加速度センサ38が検出した振動を示すデータに基づいて、切る作業の進行状況を把握することが可能である。ここで、コントローラ31は、加速度センサ38が検出した振動の振幅が大きい場合にはユーザの歩行の振動と、それよりも小さい場合には切る作業であると判定可能である。また、コントローラ31は、加速度の周期および周期の安定度から、切る作業の上達度を判定してユーザにアドバイスしてもよい。また、コントローラ31は、振動の回数と所要時間から、切り方の細かさ等を判定してもよい。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、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もしくは情報を格納可能な他の有形の記憶媒体またはこれらいずれかの組合せが含まれる。メモリは、プロセッサ/プロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性その他のメモリを意味する。つまり、「メモリ」は特定の種類や数に限定されない。また、記憶が格納される媒体の種類も限定されない。