本出願に係る電子機器、制御方法、及び制御プログラムを実施するための複数の実施形態を、図面を参照しつつ詳細に説明する。本出願に係る電子機器は、例えば、タブレット型端末、スマートフォン、モバイルフォン、携帯型パソコン、ヘッドマウントディスプレイ、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、ウエアラブルデバイス、又はゲーム機等を含むが、これに限定されない。
図1から図3を参照しながら、実施形態に係る電子機器1の全体的な構成について説明する。図1から図3に示すように、電子機器1は、ハウジング20を有する。ハウジング20は、フロントフェイス1Aと、バックフェイス1Bと、サイドフェイス1C1〜1C4とを有する。フロントフェイス1Aは、ハウジング20の正面である。バックフェイス1Bは、ハウジング20の背面である。サイドフェイス1C1〜1C4は、フロントフェイス1Aとバックフェイス1Bとを接続する側面である。以下では、サイドフェイス1C1〜1C4を、どの面であるかを特定することなく、サイドフェイス1Cと総称することがある。
電子機器1は、タッチスクリーンディスプレイ2と、照度センサ4と、カメラ12とをフロントフェイス1Aに有する。電子機器1は、カメラ13をバックフェイス1Bに有する。電子機器1は、ボタン3A〜3Cと、コネクタ14とをサイドフェイス1Cに有する。以下では、ボタン3A〜3Cを、どのボタンであるかを特定することなく、ボタン3と総称することがある。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。図1の例では、ディスプレイ2A及びタッチスクリーン2Bはそれぞれ略長方形状であるが、ディスプレイ2A及びタッチスクリーン2Bの形状はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、それぞれが正方形又は円形等のどのような形状もとりうる。図1の例では、ディスプレイ2A及びタッチスクリーン2Bは重なって位置しているが、ディスプレイ2A及びタッチスクリーン2Bの位置はこれに限定されない。ディスプレイ2A及びタッチスクリーン2Bは、例えば、並んで位置してもよいし、離れて位置してもよい。図1の例では、ディスプレイ2Aの長辺はタッチスクリーン2Bの長辺に沿っており、ディスプレイ2Aの短辺はタッチスクリーン2Bの短辺に沿っているが、ディスプレイ2A及びタッチスクリーン2Bの重ね方はこれに限定されない。ディスプレイ2Aとタッチスクリーン2Bとが重なって位置する場合、例えば、ディスプレイ2Aの1ないし複数の辺は、タッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、又は無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触した位置を検出することができる。以下の説明では、タッチスクリーン2Bに対して接触する指、ペン、又はスタイラスペン等を、「接触オブジェクト」又は「接触物」と呼ぶことがある。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者は電子機器1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
電子機器1は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいてジェスチャの種別を判別する。ジェスチャは、タッチスクリーン2Bに対して行われる操作である。電子機器1によって判別されるジェスチャは、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトを含むがこれらに限定されない。
電子機器1は、タッチスクリーン2Bを介して判別するこれらのジェスチャに従って動作を行う。このため、利用者にとって直感的で使いやすい操作性が実現される。判別されるジェスチャに従って電子機器1が行う動作は、ディスプレイ2Aに表示されている画面に応じて異なることがある。以下の説明では、説明を簡単にするために、「タッチスクリーン2Bが接触を検出し、検出された接触に基づいてジェスチャの種別を電子機器1がXと判別すること」を、「電子機器がXを検出する」、又は「コントローラがXを検出する」と記載することがある。
図4は、電子機器1のブロック図である。電子機器1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、スピーカ7と、マイク8と、ストレージ9と、コントローラ10と、赤外線センサ11と、カメラ12及び13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17とを有する。以下の説明において、電子機器1を「自機」と表記する場合がある。
タッチスクリーンディスプレイ2は、上述したように、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aは、文字、画像、記号、及び図形等を表示する。タッチスクリーン2Bは、接触を検出する。コントローラ10は、電子機器1に対するジェスチャを検出する。具体的には、コントローラ10は、タッチスクリーン2Bと協働することによって、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する操作(ジェスチャ)を検出する。
ボタン3は、利用者によって操作される。ボタン3は、ボタン3A〜ボタン3Cを有する。コントローラ10は、ボタン3と協働することによってボタン3に対する操作を検出する。ボタン3に対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、プッシュ、及びマルチプッシュを含むが、これらに限定されない。
ボタン3Aは、例えば、電子機器1のパワーオン/オフボタンである。ボタン3Aは、スリープ/スリープ解除ボタンを兼ねてもよい。ボタン3B及び3Cは、例えば、音量ボタンである。
照度センサ4は、電子機器1の周囲光の照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、電子機器1が物体に近付けられたことを検出する。照度センサ4及び近接センサ5は、一つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。赤外線センサ11は、受光した赤外線の変化に基づいて物体の存在を非接触で検出する。赤外線センサ11は、例えば、電子機器1が物体に近接しているかの推定に用いられる。
通信ユニット6は、無線により通信できる。通信ユニット6によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、2G、3G、4G等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、CDMA2000(Wideband Code Division Multiple Access 2000)、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等を含む。無線通信規格として、さらに、例えば、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)等を含む。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
電子機器1は、照度センサ4、近接センサ5、赤外線センサ11、加速度センサ15、方位センサ16及びジャイロスコープ17を、ハウジング20内に設けている。
スピーカ7は、音を出力する音出力部の1つの例である。スピーカ7は、コントローラ10から送信される音信号を音として出力できる。スピーカ7は、例えば、通知音、アラーム音及び音楽を出力するために用いてもよい。マイク8は、音を入力する音入力部の1つの例である。マイク8は、利用者の音声等を音信号へ変換してコントローラ10へ送信できる。
ストレージ9は、プログラム及びデータを記憶できる。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用してもよい。ストレージ9は、記録媒体を含む。記録媒体は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに第2画面を表示させ、タッチスクリーン2Bを介して検出されるジェスチャに応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。第2画面は、例えば、ロック画面、ホーム画面、スタート画面等を含む。ロック画面とは、電子機器のディスプレイ2Aが消灯している状態から点灯したときに最初に表示される画面であってよい。また、ホーム画面やスタート画面とは、ロック画面のロックが解除されたときに最初に表示される画面であってよい。
ストレージ9は、例えば、制御プログラム9A、アプリケーション9B、傾きデータ9X、延長状態データ9Y、及び設定データ9Zを記憶する。傾きデータ9Xは、電子機器1の傾きを示す情報を含む。延長状態データ9Yは、電子機器1のスリープ機能が延長状態であるか否かを示す情報を含む。設定データ9Zは、電子機器1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、電子機器1を稼働させるための各種制御に関する機能を提供してもよい。制御プログラム9Aは、例えば、通信ユニット6等を制御することによって、通信を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。制御プログラム9Aが提供する機能には、近接センサ5を制御することによって、物体の接近を推定する機能が含まれる。物体は、例えば、人体、物、自機を収容する収容物等を含む。制御プログラム9Aが提供する機能は、他のプログラムが提供する機能と組み合わせて利用されることがある。
制御プログラム9Aは、電子機器1の移動状態(言い換えると、電子機器1を携帯する利用者の移動状態)を判別する機能を提供できる。電子機器1は、制御プログラム9Aを実行することによって、加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果と判別データとに基づいて、電子機器1の移動状態を判別する。例えば、電子機器1の複数の移動状態は、停止状態、静止状態、歩行状態、走行状態、乗り物での移動状態、自転車での移動状態を含む。停止状態は、自機を携帯している利用者が停止している状態を含む。静止状態は、自機が置かれた状態を含む。歩行状態は、自機を携帯している利用者が歩行している状態を含む。走行状態は、自機を携帯している利用者が走行している状態を含む。乗り物での移動状態は、自機を携帯している利用者が乗り物で移動している状態を含む。乗り物は、例えば、自動車、電車、バス、飛行機、バイク等を含む。自転車での移動状態は、自機を携帯している利用者が自転車で移動している状態を含む。
制御プログラム9Aは、例えば、初期状態、アプリケーション9Bの実行時等の場合、ディスプレイ2Aを所定の輝度で点灯させる機能を提供できる。制御プログラム9Aは、電子機器1の消費電力を抑えるスリープ機能を提供できる。スリープ機能は、電子機器1がディスプレイ2Aを点灯させている状態で、一定期間にわたってユーザによる入力操作がなかった場合、ディスプレイ2Aの消費電力を抑える機能を含む。スリープ機能は、電子機器1が通常状態からスリープ状態に遷移した場合、起動中のアプリケーション9B等を終了させることなく、ディスプレイ2Aの輝度を低くしたり、バックライトあるいはディスプレイ2Aを消灯したりする機能を含む。
アプリケーション9Bは、ユーザの操作によって起動される。アプリケーション9Bは、例えば、ブラウザアプリケーション、電子書籍アプリケーション、ナビゲートアプリケーション等を含む。アプリケーション9Bは、ユーザによって起動されると、第1画面をディスプレイ2Aに表示させる。第1画面は、上述した第2画面とは異なる画面である。第1画面は、ユーザが入力操作なしに暫く参照する可能性がある画面を含む。第1画面は、例えば、第2画面と同時にディスプレイ2Aに表示されない画面としてもよい。
傾きデータ9Xは、傾斜情報を時系列的に記憶できる。傾斜情報は、例えば、時間、傾斜角等の項目を含む。時間の項目は、傾斜角を検出した時間を示す情報が設定される。傾斜角の項目は、検出した傾斜角を示す情報が設定される。例えば、傾斜の項目には、後述するピッチ角、ロール角、ヨー角等を示す情報が設定される。傾きデータ9Xは、自機の傾きを検出するごとに更新される。
延長状態データ9Yは、例えば、延長状態へ遷移、延長状態の継続、延長状態の解除等を示す情報が設定される。
設定データ9Zは、消費電力を抑えるスリープ機能を有効にするか否かを示すデータを含む。設定データ9Zは、ユーザの操作を検出してから自機をスリープさせるまでの第1時間を示すデータを含む。設定データ9Zは、自機が傾いた状態でユーザに利用されているか否かを判定するための判定条件を含む。判定条件の一例については、後述する。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。コントローラ10は、電子機器1の動作を統括的に制御できる。コントローラ10の各種機能は、コントローラ10の制御に基づいて実現される。
具体的には、コントローラ10は、ストレージ9に記憶されているプログラムに含まれる命令を実行できる。コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照できる。コントローラ10は、データ及び命令に応じて機能部を制御する。コントローラ10は、機能部を制御することによって、各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、及びスピーカ7を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、赤外線センサ11、カメラ12、カメラ13、加速度センサ15、方位センサ16、及びジャイロスコープ17を含むが、これらに限定されない。
コントローラ10は、例えば、制御プログラム9Aを実行することにより、タッチスクリーン2Bを介して検出されたジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を実行してもよい。コントローラ10は、例えば、制御プログラム9Aを実行することにより、スリープ機能の処理を実現してもよい。コントローラ10は、例えば、制御プログラム9Aを実行することにより、自機が傾いた状態でユーザに利用されているかを判定する処理を実現してもよい。
コントローラ10は、計時部10aを含む。例えば、計時部10aは、設定された時間をカウントアップまたはカウントダウンし、当該時間が経過したことをコントローラ10に通知できる。計時部10aは、コントローラ10のハードウェアとして実現されてもよい。計時部10aは、コントローラ10がソフトウェアを実行することによって実現されてもよい。計時部10aは、タイマを用いてもよい。計時部10aは、コントローラ10とは異なるハードウェアで実現してもよい。
カメラ12及びカメラ13は、撮影した画像を電気信号へ変換できる。カメラ12は、フロントフェイス1Aに面している物体を撮影するインカメラである。カメラ13は、バックフェイス1Bに面している物体を撮影するアウトカメラである。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、及び通信装置を含むが、これらに限定されない。
加速度センサ15は、電子機器1に働く加速度の方向及び大きさを検出できる。方位センサ16は、地磁気の向きを検出できる。ジャイロスコープ17は、電子機器1の角度及び角速度を検出できる。加速度センサ15、方位センサ16、及びジャイロスコープ17の検出結果は、電子機器1の位置及び姿勢の変化を検出するために、組み合わせて利用してもよい。
図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、通信ユニット6による無線通信で他の装置からダウンロードされてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、ストレージ9に含まれる読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。図4においてストレージ9が記憶するプログラム及びデータの一部又は全部は、コネクタ14に接続される読み取り装置が読み取り可能な非一過的な記憶媒体に記憶されていてもよい。非一過的な記憶媒体は、例えば、CD(登録商標)、DVD(登録商標)、Blu−ray(登録商標)等の光ディスク、光磁気ディスク、磁気記憶媒体、メモリカード、及びソリッドステート記憶媒体を含むが、これらに限定されない。
図4に示した電子機器1の構成は一例であり、本発明の要旨を損なわない範囲において適宜変更してよい。例えば、ボタン3の数と種類は図1〜3の例に限定されない。電子機器1は、画面に関する操作のために、ボタンを備えてもよい。図4に示した例では、電子機器1が2つのカメラを備えるが、電子機器1は、1つのカメラのみを備えてもよいし、カメラを備えなくてもよい。図4に示した例では、電子機器1が位置及び姿勢を検出するために複数のセンサを備えるが、電子機器1は、このうちいくつかのセンサを備えなくてもよい。あるいは、電子機器1は、位置及び姿勢の少なくとも1つを検出するための他の種類のセンサを備えてもよい。
図5及び図6は、電子機器1の傾きと回転軸との関係の一例を示す図である。電子機器1は、図5に示すように、自機の長手方向を縦にしている場合、縦向きである。電子機器1は、図6に示すように、自機の長手方向を横にしている場合、横向きである。電子機器1は、縦向きまたは横向きでユーザに利用される。電子機器1が縦向きでユーザに利用されることとは、電子機器1が、アプリケーション2Bを含むアプリケーションプログラムが表示する第1画面や第2画面に含まれる文字、画像、記号、及び図形等の上下方向が自機の長手方向と一致した状態でユーザに利用されることである。電子機器1が横向きでユーザに利用されることとは、アプリケーション2Bを含むアプリケーションプログラムが表示する第1画面や第2画面に含まれる文字、画像、記号、及び図形等の上下方向が自機の短手方向と一致した状態でユーザに利用されることである。
例えば、ユーザは、電子機器1を長時間にわたって利用する場合、電子機器1を台所、浴室、リビング等で利用する場合等に、電子機器1を置き台100に置いて利用する可能性がある。この場合、電子機器1は、置き台100によって基準の姿勢から傾いた状態が維持される。基準の姿勢は、自機の傾きを判定するための予め設定された基準となる姿勢を含む。例えば、基準の姿勢は、垂直姿勢と、水平姿勢とを含む。垂直姿勢は、例えば、自機のディスプレイ2Aが重力方向に沿って垂直となる姿勢を含む。水平姿勢は、自機のディスプレイ2Aが重力方向と交わる姿勢を含む。水平姿勢は、例えば、机、テーブル等の上に自機が置かれた姿勢を含む。例えば、基準の姿勢は、電子機器1がディスプレイ2Aを点灯させた時点の自機の姿勢としてもよい。
電子機器1は、例えば、制御プログラム9Aを実行することにより、加速度センサ15、方位センサ16及びジャイロスコープ17を用いて、自機の傾きを検出できる。電子機器1は、例えば、直交3軸周りのそれぞれの回転角に基づいて自機の傾きを検出できる。直交3軸は、互いに直交する3つの回転軸を含む。直交3軸は、電子機器1の向きが縦向きと横向きとで異なっていても、3つの回転軸の割り当ては変わらない。直交3軸は、X軸と、Y軸と、Z軸とを有する。
直交3軸は、電子機器1が縦向きである場合、図5の一例に示すように設定することができる。X軸は、ハウジング20のサイドフェイス1C2の縁とディスプレイ2Aの短手方向の縁とに沿って延びる回転軸を含む。Y軸は、ハウジング20のサイドフェイス1C3の縁とディスプレイ2Aの長手方向の縁とに沿って延びる回転軸を含む。Z軸は、ディスプレイ2Aからユーザへ向かう垂直方向に沿って延びる回転軸を含む。
直交3軸は、電子機器1が横向きである場合、図6の一例に示すように設定することができる。X軸は、ハウジング20のサイドフェイス1C4の縁とディスプレイ2Aの長手方向の縁とに沿って延びる回転軸を含む。Y軸は、ハウジング20のサイドフェイス1C2の縁とディスプレイ2Aの短手方向の縁とに沿って延びる回転軸を含む。Z軸は、ディスプレイ2Aからユーザへ向かう垂直方向に沿って延びる回転軸を含む。
電子機器1は、X軸を回転軸として自機を回転させたピッチ角を検出できる。電子機器1は、Y軸を回転軸として自機を回転させたロール角を検出できる。電子機器1は、Z軸を回転軸として自機を回転させたヨー角を検出できる。電子機器1は、検出したピッチ角、ロール角及びヨー角に基づいて、自機の傾きを検出できる。
例えば、ユーザは、電子機器1を利用する場合、X軸に対する回転方向へは自機を動かすが、Y軸及びZ軸に対する回転方向へは自機を動かさない傾向にある。例えば、ユーザは、電子機器1を置き台100に置くときに、X軸に対する回転方向へ自機を回転させるが、Y軸及びZ軸に対する回転方向へは自機を回転させない傾向にある。X軸の回転方向におけるピッチ角は、電子機器1の傾きの加減を表すことができる。このため、電子機器1は、X軸の回転方向におけるピッチ角、ピッチ角の変化等に基づいて、ユーザがディスプレイ2Aを見ている可能性がある自機の傾きを判定できる。
本実施形態では、X軸及びY軸は、ディスプレイ2Aの縁に沿って設定する場合について説明するが、これに限定されない。例えば、X軸及びY軸は、ディスプレイ2Aの中央付近、ハウジング20の縁等を通るように設定してもよい。
本実施形態では、電子機器1は、ピッチ角、ロール角及びヨー角の3軸の角度に基づいて自機の傾斜を判定する場合について説明するが、これに限定されない。例えば、電子機器1は、ピッチ角、ロール角及びヨー角から合成ベクトルを求め、当該合成ベクトルに基づいて自機の傾斜を判定してもよい。
図7から図9は、電子機器1の傾きと傾斜範囲との関係の一例を示す図である。図7に示すように、電子機器1は、X軸の回転方向において、基準軸B1を設定している。基準軸B1は、重力方向に沿っている。電子機器1は、ユーザによって傾けられると、X軸を回転軸として、自機の傾きに応じた回転角(ピッチ角)θだけ回転する。この場合、X軸、Y軸及びZ軸は、電子機器1が傾斜しても、直交3軸が維持される。
電子機器1は、X軸の回転方向における第1傾斜範囲R1を示す情報を設定データ9Zに有している。第1傾斜範囲R1は、スリープ機能が有効である場合に、電子機器1が傾いた状態でユーザに利用されているか否かを判定するための傾斜範囲を含む。第1傾斜範囲R1は、第1角度A11から第2角度A12までの範囲となっている。図7に示す一例では、第1傾斜範囲R1は、30度から70度の傾斜範囲が設定されている。例えば、電子機器1は、第1傾斜範囲R1の第1角度A11と第2角度A12をユーザに設定させてもよい。例えば、電子機器1は、自機が利用されているときの自機の傾きの履歴を収集し、当該履歴に基づいて第1傾斜範囲R1を設定、変更してもよい。
電子機器1は、X軸の回転方向における解除用範囲R10を示す情報を設定データ9Zに有している。解除用範囲R10は、スリープ機能を終了する時間を延長する延長状態を、電子機器1の傾きによって解除する範囲を示す。解除用範囲R10は、第1傾斜範囲R1に対応して設定されている。解除用範囲R10は、第1角度A13から第2角度A14までの範囲となっている。図7に示す一例では、解除用範囲R10は、第1傾斜範囲R1を含み、当該第1傾斜範囲R1よりも広い範囲となっている。その結果、電子機器1は、解除用範囲R10を第1傾斜範囲R1よりも広くすることで、スリープ機能の延長状態への遷移と解除が頻繁に切り替わることを防止できる。解除用範囲R10は、第1傾斜範囲R1と同一の範囲としてもよい。
図8に示すように、電子機器1は、Y軸の回転方向において、基準軸B2を設定している。基準軸B2は、X軸に沿っている。電子機器1は、自機が傾けられた状態でユーザに利用される場合、Y軸の回転方向における回転は起こり難い。電子機器1は、Y軸の回転方向における第2傾斜範囲R2を示す情報を設定データ9Zに有している。第2傾斜範囲R2は、電子機器1が傾いた状態でユーザに利用されているか否かを判定するための範囲を含む。第2傾斜範囲R2は、第3角度A21から第4角度A22までの範囲となっている。電子機器1は、第2傾斜範囲R2の第3角度A21及び第4角度A22をユーザに設定させてもよい。
図9に示すように、電子機器1は、Z軸の回転方向において、基準軸B3を設定している。基準軸B3は、Y軸に沿っている。電子機器1は、自機が傾けられた状態でユーザに利用される場合、Z軸の回転方向における回転は起こり難い。電子機器1は、Z軸の回転方向における第2傾斜範囲R3を示す情報を設定データ9Zに有している。第2傾斜範囲R3は、自機が傾いた状態でユーザに利用されているか否かを判定するための範囲を含む。第2傾斜範囲R3は、第3角度A31から第4角度A32までの範囲となっている。電子機器1は、第2傾斜範囲R3の第3角度A31及び第4角度A32をユーザに設定させてもよい。
本実施形態では、Z軸の回転方向における第2傾斜範囲R3は、Y軸の回転方向における第2傾斜範囲R2と同じ範囲とした場合について説明するが、これに限定されない。例えば、第2傾斜範囲R3は、Y軸の回転方向における第2傾斜範囲R2と異なる傾斜範囲としてもよい。
図7から図9に示す一例では、電子機器1は、ユーザ操作によって傾きやすいX軸に対する回転方向の第1傾斜範囲R1を、ユーザ操作によって傾き難いY軸及びZ軸に対する回転方向の第2傾斜範囲R2,R3よりも大きくしている。電子機器1は、自機の傾きを複数の回転軸に分けて、条件を満たす傾斜範囲をそれぞれ設定することにより、ユーザが利用しているか否かの判定精度を向上できる。
図7から図9に示す一例では、第1傾斜範囲R1で最大の第2角度A12は、第2傾斜範囲R2,R3で最大の第4角度A22,A32よりも大きい。かつ、第1傾斜範囲R1で最小の第1角度A11は、第2傾斜範囲R2,R3で最小の第3角度A21,A31よりも大きい。かつ、第1傾斜範囲R1で最小の第1角度A11は、第2傾斜範囲R2,R3で最大の第4角度A22,A32よりも大きい。
図7から図9に示す一例では、電子機器1は、基準軸B1を基準とした回転角θ(ピッチ角)まで、ユーザによって傾けられている。電子機器1は、加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果に基づいて、X軸の回転方向における回転角θを検出できる。電子機器1は、ディスプレイ2Aを点灯させた状態でアプリケーション9Bが実行している場合に、第1傾斜範囲R1内の回転角θが所定時間継続して検出していると、自機がユーザによって利用されている可能性があると判定することができる。このとき、電子機器1は、Y軸の回転方向における角度が第2傾斜範囲R2内にあること、かつZ軸の回転方向における角度が第2傾斜範囲R3内にあることを判定してもよい。所定時間は、例えば、検出した自機の傾きを確定するまでの予め定められた時間を含む。
電子機器1は、ユーザ操作によって自機が傾けられた場合、傾きによって変化しやすい回転軸(例えばX軸)と、傾きによって変化しにくい回転軸(例えばY軸、Z軸)とがある。このため、電子機器1は、3つの回転軸のピッチ角、ロール角、ヨー角の角度成分に基づいて、条件を満たす傾斜範囲をそれぞれ設定することにより、自機がユーザによって見られている可能性があるとの推定精度を向上させることができる。
電子機器1は、ユーザの操作を検出してから自機をスリープさせるまでの第1時間を計時部10aによって計時する。電子機器1は、当該第1時間の計時が終了する前に、第1傾斜範囲R1内の自機の傾きを検出しても、第1時間の計時が終了するまでに、第1傾斜範囲R1内の自機の傾きが所定時間継続していない場合、第1時間の計時の終了に応じてディスプレイ2Aを消灯することができる。電子機器1は、自機の傾きの検出中に、スリープ機能の第1時間が経過した場合、スリープ機能を優先することで、スリープ機能が頻繁に延長状態へ遷移することを防止できる。
本実施形態では、電子機器1は、第1傾斜範囲R1及び第2傾斜範囲R2,R3を示す情報を設定データ9Zに記憶している。第1傾斜範囲R1及び第2傾斜範囲R2,R3の少なくとも一方を示す情報は、制御プログラム9Aに組み込まれてもよい。
例えば、第1傾斜範囲R1及び第2傾斜範囲R2,R3は、予め設定された範囲としてもよい。例えば、電子機器1は、ユーザによって利用されていた自機の傾きを蓄積し、蓄積した自機の傾きに基づいて、第1傾斜範囲R1及び第2傾斜範囲R2,R3を変更してもよい。例えば、電子機器1は、自機が置き台100に置かれた場合の自機の傾きを検出し、当該自機の傾きに基づいて、第1傾斜範囲R1及び第2傾斜範囲R2,R3を設定または変更してもよい。電子機器1は、自機が置き台100に置かれたことを、設定モードを用いてユーザに設定させてもよい。
電子機器1は、ディスプレイ2Aを点灯させた状態で、第2傾斜範囲R2及び第2傾斜範囲R3の少なくとも一方から逸脱した自機の角度を検出した場合、自機がユーザによって利用されていないと判定してもよい。
図10は、電子機器1のスリープ機能とディスプレイ2Aの制御との関係の一例を示す図である。図11は、電子機器1によるスリープ機能と表示する画面との一例を示す図である。
図10に示すように、電子機器1は、ディスプレイ2Aを消灯している状態で、制御プログラム9Aを実行している場合、第1操作を検出すると、ディスプレイ2Aを点灯するとともに、計時部10aによって第1時間の計時を開始する。
電子機器1は、第1操作を検出すると、図11のステップS11に示すように、上述した第2画面のうちの1つである画面40をディスプレイ2Aに表示する。第1操作は、例えば、電子機器1のパワーオン/オフボタンであるボタン3Aに対する操作、タッチスクリーンディスプレイ2に対するジェスチャ等を含む。画面40は、例えば、ユーザが画面を見続ける可能性が低い画面を含む。画面40は、例えば、ホーム画面を含む。画面40は、複数のアイコン50を配置することができる。それぞれのアイコン50は、電子機器1にインストールされているアプリケーションと予め対応付けられている。
電子機器1は、第1操作を検出した後から第1時間が経過するまでに、ディスプレイ2Aの点灯を維持する第2操作を検出しないと、第1時間が経過した時間t1においてディスプレイ2Aを消灯する。
電子機器1は、第1操作を検出した後から第1時間が経過するまでに、第2操作を検出すると、計時部10aによる第1時間の計時を終了し、再び計時部10aによって第1時間の計時を開始する。その結果、電子機器1は、第2操作を監視する時間を時間t2に変更し、ディスプレイ2Aの点灯状態を継続する。
電子機器1は、第2操作を検出すると、図11のステップS11に示すように、アイコン50に対応付けられているアプリケーションを実行してもよい。第2操作は、アイコン50に対するジェスチャを含んでもよい。第2操作は、アプリケーションが起動された後に、当該アプリケーションをジェスチャ等によって操作することを含んでよい。第2操作は、例えば、アプリケーションを実行していない状態で、ディスプレイ2Aの点灯を維持するタッチ、フリック等のジェスチャを含んでもよい。
図11に示す一例では、電子機器1は、ブラウザのアプリケーション9Bに対応付けられたアイコン50に対するタップを検出し、ブラウザのアプリケーション9Bを実行する。電子機器1は、図11のステップS12に示すように、上述した第1画面のうちの1つである、ブラウザの画面41をディスプレイ2Aに表示する。画面41は、例えば、ユーザが画面を見続ける可能性がある画面を含む。
図12及び図13は、電子機器1のスリープ機能の延長状態における制御の一例を示す図である。図12に示すように、電子機器1は、第1操作を検出してディスプレイ2Aを点灯した後、自機の傾きの検出を開始する。電子機器1は、第1操作を検出した後から第1時間が経過するまでに、所定時間継続した第1傾斜範囲R1内の傾き(ピッチ角)を検出すると、計時部10aによる第1時間の計時を終了する。電子機器1は、スリープ機能を延長状態に遷移し、計時部10aによって第2時間の計時を開始する。第2時間は、例えば、第1時間と同じ時間であってもよいし、第1時間と異なる時間であってもよい。第2時間は、例えば、第1時間よりも長い時間であってもよい。
電子機器1は、ユーザが第2操作を行わなくても、第1傾斜範囲R1内に自機が傾けられると、第1時間の経過によって終了する時間t1から、ディスプレイ2Aの点灯を維持する時間を時間t3に延長する。その結果、電子機器1は、ユーザ操作によって変化しうる自機の傾きを検出し、検出結果によってディスプレイ2Aの点灯時間を延長することができる。言い換えると、電子機器1は、第1傾斜範囲R1内の自機の傾きを検出していると、第2操作があった場合と同様に、ディスプレイ2Aを消灯させる時間を延長させることができる。
例えば、ユーザは、電子機器1がブラウザ、電子書籍などのアプリケーションを実行している場合、入力操作なしに暫く画面を見続けることがある。従来の電子機器は、スリープ機能が有効である場合、一定期間にわたってユーザの入力操作がないと、ユーザが利用しているにもかかわらず、ディスプレイ2Aを消灯されていた。例えば、ユーザは、電子機器1を台所、浴室等で利用するときに、手が汚れたり、手が濡れたりすると、電子機器1を触りたくないが、ディスプレイ2Aが消灯されたくない場合があった。
実施形態に係る電子機器1は、自機の傾きが第1傾斜範囲R1内で維持されている場合、ユーザの操作を必要とすることなく、ディスプレイ2Aの点灯を維持する時間を延長できるため、電子機器1の操作性及び利便性を向上させることができる。
電子機器1は、時間t3に到達した場合、第1傾斜範囲R1内の自機の傾きを検出すると、計時部10aによる第2時間の計時を終了し、再び計時部10aによって第2時間の計時を開始する。電子機器1は、自機の傾きが第1傾斜範囲R1内で維持されている場合、ディスプレイ2Aの点灯を維持する時間を、第2時間が経過する時間t4まで延長することができる。
電子機器1は、第2操作を検出した際に、第1画面である画面41をディスプレイ2Aに表示すると、第1傾斜範囲R1の自機の傾きを検出して、スリープ機能の時間を延長してもよい。これによれば、電子機器1は、ユーザが複数回の第2操作を行わなくても、第1傾斜範囲R1内に自機が傾けられると、第1時間の経過によって終了する時間t1から、ディスプレイ2Aの点灯を維持する時間を時間t3に延長する。なお、上述した、ユーザによって利用されていた自機の傾きを蓄積することとは、画面41を含む第1画面がディスプレイ2Aに表示されていたときの自機の傾きを蓄積することであってもよいし、第1画面か第2画面かにかかわらず、ディスプレイ2Aが点灯されていたときの自機の傾きを蓄積することであってもよい。
図13に示す例では、図12に示す時間t1までは同一であるため、異なる部分のみを説明する。電子機器1は、計時している時間が時間t3に到達する前に、自機の傾きが解除用範囲R10から外れたことを検出すると、計時部10aによる第2時間の計時を終了し、スリープ機能の延長状態を解除する。電子機器1は、スリープ機能の延長状態を解除した時点から計時部10aによる第1時間の計時を開始する。電子機器1は、第1時間が経過する時間t5までに第2操作を検出しない場合、ディスプレイ2Aを消灯する。その結果、電子機器1は、スリープ機能の延長状態を、自機の傾きの変化に応じて解除することができるため、消費電力を抑制するとともに電子機器1の操作性を向上させることができる。
本実施形態では、電子機器1は、ホーム画面である画面40を第2画面とし、ブラウザの画面41を第1画面とした場合について説明するが、これに限定されない。第2画面は、例えば、スタート画面、ロック画面等を含む。第1画面は、例えば、電子書籍の画面、ナビゲートの画面等を含む。
本実施形態では、電子機器1は、スリープ機能を実行しているときに、ディスプレイ2Aを消灯させる場合の一例について説明する。例えば、ディスプレイ2Aが液晶ディスプレイである場合、電子機器1は、バックライトを消灯するとともに液晶ディスプレイの駆動を停止させることで、ディスプレイ2Aを消灯してもよい。例えば、ディスプレイ2Aが液晶ディスプレイである場合、電子機器1は、まず、バックライトを消灯させ、所定時間が経過した後に、ディスプレイ2Aの駆動を停止させることで、ディスプレイ2Aを消灯してもよい。
電子機器1は、スリープ機能を延長状態へ遷移させて、計時部10aによって第2時間を計時している場合、第2操作を検出すると、当該第2時間の計時を終了する。電子機器1は、第2時間の計時を終了させると、計時部10aによって第1時間の計時を開始する。その結果、電子機器1は、スリープ機能を延長状態へ遷移させても、ユーザの第2操作によって延長状態を解除できるので、自機の傾きによるディスプレイ2Aの点灯時間の誤った延長を容易に解消できる。
図14は、電子機器1によるスリープ機能の制御に関する所定手順の一例を示すフローチャートである。図14に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図14に示す処理手順は、電子機器1がディスプレイ2Aを点灯させていない場合に、繰り返し実行される。
図14に示すように、電子機器1のコントローラ10は、ボタン3及びタッチスクリーン2Bの検出結果に基づいて、第1操作を検出したか否かを判定する(ステップS101)。コントローラ10は、第1操作を検出していないと判定した場合(ステップS101でNo)、ステップS101の処理を繰り返す。コントローラ10は、第1操作を検出したと判定した場合(ステップS101でYes)、処理をステップS102に進める。
コントローラ10は、ディスプレイ2Aを点灯させる(ステップS102)。例えば、コントローラ10は、ホーム画面の第2画面を点灯させたディスプレイ2Aに表示させてもよい。コントローラ10は、計時部10aによって第1時間の計時を開始する(ステップS103)。
コントローラ10は、計時部10aによる計時が終了したか否かを判定する(ステップS104)。例えば、コントローラ10は、計時している時間が経過していると、計時部10aによる計時が終了したと判定する。コントローラ10は、計時部10aによる計時が終了していないと判定した場合(ステップS104でNo)、処理をステップS105に進める。
コントローラ10は、ボタン3及びタッチスクリーン2Bの検出結果に基づいて、第2操作を検出しているか否かを判定する(ステップS105)。コントローラ10は、第2操作を検出していると判定した場合(ステップS105でYes)、処理をステップS106に進める。
コントローラ10は、計時部10aの計時を終了し、再び計時部10aによって第1時間の計時を開始する(ステップS106)。コントローラ10は、スリープ機能が延長状態であるか否かを判定する(ステップS107)。コントローラ10は、例えば、延長状態へ遷移または延長状態を継続が延長状態データ9Yに設定されている場合、延長状態であると判定する。コントローラ10は、延長状態ではないと判定した場合(ステップS107でNo)、処理を後述するステップS109に進める。コントローラ10は、延長状態であると判定した場合(ステップS107でYes)、処理をステップS108に進める。コントローラ10は、延長状態データ9Yに延長状態の解除を設定すると(ステップS108)、処理をステップS109に進める。
コントローラ10は、ボタン3及びタッチスクリーン2Bの検出結果に基づいて、終了操作を検出したか否かを判定する(ステップS109)。コントローラ10は、終了操作を検出していないと判定した場合(ステップS109でNo)、処理を既に説明したステップS104に戻す。コントローラ10は、終了操作を検出したと判定した場合(ステップS109でYes)、処理をステップS110に進める。
コントローラ10は、計時部10aによる計時を終了する(ステップS110)。コントローラ10は、ディスプレイ2Aを消灯させる(ステップS111)。コントローラ10は、ディスプレイ2Aを消灯させると、図14に示す処理手順を終了させる。
コントローラ10は、第2操作を検出していないと判定した場合(ステップS105でNo)、処理をステップS112に進める。
コントローラ10は、傾斜判別処理を実行する(ステップS112)。例えば、傾斜判別処理は、自機の傾きに基づいて、延長状態へ遷移するか、延長状態を継続するか、延長状態を解除するかを判別する。傾斜判別処理の一例については、後述する。コントローラ10は、傾斜判別処理が終了すると、処理をステップS113に進める。
コントローラ10は、スリープ機能が延長状態へ遷移したか否かを判定する(ステップS113)。コントローラ10は、例えば、延長状態へ遷移が延長状態データ9Yに設定されている場合、延長状態へ遷移したと判定する。コントローラ10は、延長状態へ遷移していないと判定した場合(ステップS113でNo)、処理を既に説明したステップS109に進める。コントローラ10は、既に説明したステップS109以降の処理を実行する。
コントローラ10は、延長状態へ遷移したと判定した場合(ステップS113でYes)、処理をステップS114に進める。コントローラ10は、計時部10aの計時を終了し、計時部10aによって第2時間の計時を開始する(ステップS114)。コントローラ10は、既に説明したステップS109以降の処理を実行する。
コントローラ10は、計時部10aによる計時が終了したと判定した場合(ステップS104でYes)、処理を既に説明したステップS111に進める。コントローラ10は、ステップS111の処理を実行することにより、ディスプレイ2Aを消灯させると、図14に示す処理手順を終了させる。
図14に示す処理手順では、コントローラ10は、第2操作を検出したか否かを判定した後に、傾斜判別処理を実行して延長状態へ遷移したか否かを判定するが、コントローラ10は、傾斜判別処理を実行して延長状態であるか否かを判定した後に、第2操作を検出したか否かを判定してもよい。その場合、コントローラ10は、延長状態へ遷移していないと判定すると、第2操作を検出したか否かを判定する。そして、コントローラ10は、第2操作を検出していないと判定すると、処理をステップS109に進め、ボタン3及びタッチスクリーン2Bの検出結果に基づいて、終了操作を検出したか否かを判定する。
図14に示す処理手順は、ディスプレイ2Aに第1画面を表示中であるか否かを判定する処理を含んでもよい。例えば、図14に示す処理手順は、第2操作を検出していない場合に、第1画面を表示中であるか否かの判定処理を含んでもよい。例えば、コントローラ10は、第2操作を検出していないと判定した場合に、第1画面を表示中であると、傾斜判別処理を実行する処理手順としてもよい。例えば、第1画面を表示中は、実行されたアプリケーション9Bの画面をディスプレイ2Aに表示している状態を含む。図14に示す処理手順は、ディスプレイ2Aに第1画面を表示中であるか否かを判定する処理を、第2操作を検出していると判定した後の処理として追加してもよい。
図15は、電子機器1による傾斜判別処理の所定手順の一例を示すフローチャートである。図15に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図15に示す処理手順は、図14に示す処理手順のステップS112が実行された場合に、実行される。
図15に示すように、電子機器1のコントローラ10は、自機の傾きを検出する(ステップS201)。例えば、コントローラ10は、傾きデータ9Xに基づいて、自機の傾きを検出する。例えば、コントローラ10は、加速度センサ15、方位センサ16、及びジャイロスコープ17を用いて検出したピッチ角、ロール角及びヨー角に基づいて、自機の傾きを検出してもよい。コントローラ10は、自機の傾きを検出すると、処理をステップS202に進める。
コントローラ10は、スリープ機能が延長状態であるか否かを判定する(ステップS202)。コントローラ10は、例えば、延長状態へ遷移または延長状態を継続が延長状態データ9Yに設定されている場合、延長状態であると判定する。コントローラ10は、延長状態ではないと判定した場合(ステップS202でNo)、処理を後述するステップS203に進める。
コントローラ10は、検出した自機の傾きが第1傾斜範囲R1内であるか否かを判定する(ステップS203)。例えば、コントローラ10は、自機の傾きのピッチ角が設定データ9Zの第1傾斜範囲R1内であると、傾きが第1傾斜範囲R1内であると判定する。例えば、コントローラ10は、自機の傾きの3軸の角度が第1傾斜範囲R1内かつ第2傾斜範囲R2,R3内である場合に、傾きが第1傾斜範囲R1内であると判定してもよい。コントローラ10は、傾きが第1傾斜範囲R1内ではないと判定した場合(ステップS203でNo)、図15に示す処理手順を終了させる。
コントローラ10は、傾きが第1傾斜範囲R1内であると判定した場合(ステップS203でYes)、処理をステップS204に進める。コントローラ10は、第1傾斜範囲R1内が所定時間継続しているか否かを判定する(ステップS204)。例えば、コントローラ10は、第1傾斜範囲R1内での自機の傾きが所定時間継続していることを傾きデータ9Xが示している場合、第1傾斜範囲R1内が所定時間継続していると判定する。コントローラ10は、第1傾斜範囲R1内が所定時間継続していないと判定した場合(ステップS204でNo)、図15に示す処理手順を終了させる。
コントローラ10は、第1傾斜範囲R1内が所定時間継続していると判定した場合(ステップS204でYes)、処理をステップS205に進める。コントローラ10は、延長状態データ9Yに延長状態へ遷移を設定する(ステップS205)。コントローラ10は、延長状態へ遷移を設定すると、図15に示す処理手順を終了させる。
コントローラ10は、延長状態であると判定した場合(ステップS202でYes)、処理をステップS206に進める。コントローラ10は、検出した自機の傾きが解除用範囲R10内であるか否かを判定する(ステップS206)。例えば、コントローラ10は、自機の傾きのピッチ角が設定データ9Zの解除用範囲R10内であると、傾きが解除用範囲R10内であると判定する。コントローラ10は、傾きが解除用範囲R10内であると判定した場合(ステップS206でYes)、処理をステップS207に進める。コントローラ10は、延長状態データ9Yに延長状態の継続を設定する(ステップS207)。コントローラ10は、延長状態の継続を設定すると、図15に示す処理手順を終了させる。
コントローラ10は、傾きが解除用範囲R10内ではないと判定した場合(ステップS206でNo)、処理をステップS208に進める。コントローラ10は、解除用範囲R10外が所定時間継続しているか否かを判定する(ステップS208)。例えば、コントローラ10は、解除用範囲R10外での自機の傾きが所定時間継続していることを傾きデータ9Xが示している場合、解除用範囲R10外が所定時間継続していると判定する。コントローラ10は、解除用範囲R10外が所定時間継続していないと判定した場合(ステップS208でNo)、図15に示す処理手順を終了させる。
コントローラ10は、解除用範囲R10外が所定時間継続していると判定した場合(ステップS208でYes)、処理をステップS209に進める。コントローラ10は、延長状態データ9Yに延長状態の解除を設定する(ステップS209)。コントローラ10は、延長状態の解除を設定すると、図15に示す処理手順を終了させる。
例えば、電子機器1は、自機が置かれた角度によってはユーザが使用していない場合に、ディスプレイ2Aを点灯し続ける可能性がある。そのため、電子機器1は、スリープ機能の延長状態を無効とする無効条件を設定することができる。
無効条件は、例えば、照度センサ4、近接センサ5、カメラ(インカメラ)12等を用いて、ユーザがディスプレイ2Aを見ていないことを、スリープ機能の延長状態への遷移を無効とする条件を含む。本実施形態では、電子機器1は、照度センサ4、近接センサ5及びカメラ(インカメラ)12を第2センサとして用いる場合について説明するが、これに限定されない。第2センサは、例えば、人感センサ、距離センサ等のセンサとしてもよい。
無効条件は、例えば、電子機器1の移動状態が歩行状態、走行状態、自転車での移動状態等の自機が静止していない場合に、スリープ機能の延長状態への遷移を無効とする条件としてもよい。無効条件は、例えば、電子機器1の移動状態が乗り物での移動状態である場合に、スリープ機能の延長状態への遷移を無効とする条件としてもよい。本実施形態では、電子機器1は、加速度センサ15、方位センサ16及びジャイロスコープ17を第3センサとして用いる場合について説明するが、これに限定されない。第3センサは、例えば、加速度センサ15のみとしてもよい。
電子機器1は、無効条件を示す情報を設定データ9Zに記憶できる。電子機器1は、制御プログラム9Aを実行することにより、センサの検出結果に基づいて無効条件を満たすと判定した場合、スリープ機能を延長状態へ遷移させない。電子機器1は、無効条件を満たしていないと判定した場合に、自機が第1傾斜範囲R1の傾きを維持していると、スリープ機能を延長状態へ遷移させる。
例えば、ユーザは、使用している電子機器1をカバンの中に収納したり、電子機器1を放置したりする可能性がある。例えば、電子機器1は、カバンの中などで電話の着信、電子メールの受信等でディスプレイ2Aを点灯したときに、自機が所定の角度で傾斜していると、スリープ機能を延長状態に遷移させる可能性がある。例えば、電子機器1は、セキュリティなしの設定の場合、ユーザがアプリケーション9Bを前回使っていた場合に、起動時にアプリケーション9Bの画面41をディスプレイ2Aに表示する可能性がある。
これらの場合に、電子機器1は、上述した第1傾斜範囲R1内の傾きで停止する可能性がある。電子機器1は、例えば、自機の周囲が暗く、ユーザがディスプレイ2Aを見ていることを判断できないと、無効条件を満たすと判定し、スリープ機能を延長状態へ遷移させない。その結果、電子機器1は、自機の周囲環境及び自機の移動状態が無効条件を満たしているか否かを判定することで、電話の着信等の割り込みでディスプレイ2Aを点灯したときに、スリープ機能を誤って延長状態へ遷移させる可能性を低減できる。
電子機器1は、スリープ機能におけるディスプレイ2Aの点灯時間を自機の傾きに基づいて延長する場合、延長時間の最大延長時間を設定することができる。電子機器1は、最大延長時間を示す情報を設定データ9Zに記憶できる。最大延長時間は、延長時間の最大値を設定することができる。最大延長時間は、ユーザに設定させてもよい。本実施形態では、最大延長時間は、例えば30分とした場合について説明する。電子機器1は、自機の傾きの検出に応じて延長した時間が最大延長時間に到達した場合に、スリープ機能の延長状態を解除することができる。その結果、電子機器1は、誤ってスリープ機能を延長状態へ遷移させても、最大延長時間になると、当該延長状態を途中で解除できるので、消費電力を抑制することができる。
図16は、電子機器1による傾斜判別処理の所定手順の他の一例を示すフローチャートである。図16に示す処理手順は、コントローラ10が制御プログラム9Aを実行することによって実現される。図16に示す処理手順は、図14に示す処理手順のステップS112が実行された場合に、実行される。
図16に示す例では、ステップS201からステップS209の処理は、図15に示すステップS201からステップS209の処理と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
図16に示すように、電子機器1のコントローラ10は、自機の移動状態及び自機の周囲環境を検出する(ステップS221)。例えば、コントローラ10は、加速度センサ15、方位センサ16及びジャイロスコープ17の検出結果と判別データとに基づいて、電子機器1の移動状態を判別する。例えば、コントローラ10は、照度センサ4、近接センサ5及びカメラ12の検出結果に基づいて、自機の周囲環境を検出する。自機の周囲環境は、例えば、自機の周囲が暗いか否かでもよいし、ユーザがディスプレイ2Aを見ているか否かでもよい。
コントローラ10は、検出した自機の移動状態及び自機の周囲環境と設定データ9Zとに基づいて、無効条件を満たすか否かを判定する(ステップS222)。例えば、コントローラ10は、自機の移動状態及び自機の周囲環境が無効条件を満たす場合に、無効条件を満たすと判定する。例えば、コントローラ10は、自機の移動状態及び自機の周囲環境の少なくとも一方が無効条件を満たす場合に、無効条件を満たすと判定する。コントローラ10は、無効条件を満たすと判定した場合(ステップS222でYes)、図16の処理手順を終了させる。その結果、コントローラ10は、既に説明した図15の傾斜判別処理のステップS201以降の処理を実行しないため、スリープ機能を延長状態へ遷移させない。
コントローラ10は、無効条件を満たしていないと判定した場合(ステップS222でNo)、処理を既に説明したステップS201に進める。コントローラ10は、既に説明した図15のステップS201以降の傾斜判別処理を実行する。
コントローラ10は、検出した自機の傾きが解除用範囲R10内であるか否かを判定する(ステップS206)。コントローラ10は、傾きが解除用範囲R10内であると判定した場合(ステップS206でYes)、処理をステップS231に進める。
コントローラ10は、延長時間が最大延長時間に到達したか否かを判定する(ステップS231)。例えば、コントローラ10は、第1傾斜範囲R1内の自機の傾きの検出に応じて延長した時間の累積時間が設定データ9Zの最大延長時間に到達したか否かを判定する。累積時間は、例えば、第2時間の計時を終了する毎にストレージ9に記憶してもよい。累積時間は、例えば、第2時間の計時結果に基づいて算出してもよい。
コントローラ10は、延長時間が最大延長時間に到達していないと判定した場合(ステップS231でNo)、処理を既に説明したステップS207に進める。コントローラ10は、ステップS207の実行により、延長状態データ9Yに延長状態の継続を設定すると、図16に示す処理手順を終了させる。その結果、延長時間が最大延長時間に到達していないため、コントローラ10は、図14に示した処理手順を実行することにより、スリープ機能の延長状態を継続することができる。
コントローラ10は、延長時間が最大延長時間に到達していると判定した場合(ステップS231でYes)、処理を既に説明したステップS209に進める。コントローラ10は、ステップS209の実行により、延長状態データ9Yに延長状態の解除を設定すると、図16に示す処理手順を終了させる。その結果、延長時間が最大延長時間に到達しているため、コントローラ10は、図14に示した処理手順を実行することにより、スリープ機能の延長状態を解除することができる。
図16に示す処理手順は、ステップS221からステップS222の処理を、無効条件を満たすか否かを判定する処理として追加する場合について説明したが、これに限定されない。例えば、ステップS221からステップS222の処理は、図14に示すステップS112の直前に設けてもよい。この場合、コントローラ10は、第2の操作を検出していないと判定した場合(ステップS105でNo)、ステップS221とステップS222とを順次実行する。コントローラ10は、無効条件を満たすと判定した場合(ステップS222でYes)、処理を図14のステップS113に進める。すなわち、コントローラ10は、ステップS112の傾斜判別処理を実行しない。また、コントローラ10は、無効条件を満たしていないと判定した場合(ステップS222でNo)、処理を図14のステップS112に進める。すなわち、コントローラ10は、ステップS112の傾斜判別処理を実行する。
上述した実施形態では、電子機器1は、自機が置き台100に置かれた状態、自機がユーザの手によって保持された状態等に対応した第1傾斜範囲R1及び第2傾斜範囲R2,R3を設定する場合について説明したが、これに限定されない。
例えば、ユーザは、寝転がった状態で水平に電子機器1を置いて操作する場合がある。例えば、ユーザは、置き台100、クレードル等を用いずに、電子機器1をテーブル上に直に置いて操作する場合がある。このため、電子機器1は、例えば、自機が水平に置かれた状態、水平に近い状態等に対応した第1傾斜範囲R1及び第2傾斜範囲R2,R3を設定してもよい。例えば、電子機器1は、ディスプレイ2Aにアプリケーション9Bの画面を表示している状態で、自機が水平の状態を所定時間維持していることを検出した場合に、スリープ機能を延長状態に遷移させてもよい。その結果、電子機器1は、ユーザの利用形態に応じてディスプレイ2Aの点灯時間を延長させることができるため、利便性の向上を図ることができる。
上述した実施形態では、電子機器1は、第1操作を検出した後から第1時間が経過するまでに、第2操作を検出すると、計時部10aによる第1時間の計時を終了する場合について説明したが、これに限定されない。例えば、電子機器1は、第1操作を検出した後から第1時間が経過するまでに、第2操作を検出すると、計時部10aによる第1時間の計時を終了した後に、再び計時部10aによって第1時間の計時を開始してもよい。
実施形態に係る電子機器1は、ディスプレイ2Aを消灯させた後すぐにディスプレイ2Aを点灯されたことを検出した場合、または、ディスプレイ2Aを点灯させてから一定時間経過し、ディスプレイ2Aの明るさを下げた後すぐにタッチのジェスチャを検出した場合、自機の傾きの検出を開始してもよい。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。