本出願に係る実施形態を、図面を参照しつつ詳細に説明する。以下の説明において、同様の構成要素について同一の符号を付すことがある。さらに、重複する説明は省略することがある。以下では、本出願に係る電子機器の一例として、スマートフォンを取り上げて説明する。
図1は、実施形態に係るスマートフォンの機能構成の一例を示すブロック図である。以下の説明において、同様の構成要素について同一の符号を付すことがある。以下の説明において、重複する説明は省略することがある。以下の説明において、スマートフォン1を「自機」と表記する場合がある。
図1に示すように、スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12と、カメラ13と、コネクタ14と、加速度センサ15と、方位センサ16と、角速度センサ17と、気圧センサ18と、GPS受信機19とを含む。
タッチスクリーンディスプレイ2は、ディスプレイ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は、文字、画像、記号、及び図形等のオブジェクトを画面内に表示する。ディスプレイ2Aが表示するオブジェクトを含む画面は、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面を含む。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面又はランチャー画面と呼ばれることもある。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触又は近接を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等がタッチスクリーン2Bに接触又は近接したときのタッチスクリーン2B上の位置を検出することができる。以下の説明において、タッチスクリーン2Bが検出する複数の指、ペン、及びスタイラスペン等がタッチスクリーン2Bに接触又は近接した位置を「検出位置」と表記する。タッチスクリーン2Bは、タッチスクリーン2Bに対する指の接触又は近接を、検出位置とともにコントローラ10に通知する。タッチスクリーン2Bは、検出位置の通知をもって接触又は近接の検出をコントローラ10に通知してよい。タッチスクリーン2Bが行える動作を、タッチスクリーン2Bを有するタッチスクリーンディスプレイ2は実行できる。言い換えると、タッチスクリーン2Bが行う動作は、タッチスクリーンディスプレイ2が行ってもよい。
コントローラ10は、タッチスクリーン2Bにより検出された接触又は近接、検出位置、検出位置の変化、接触又は近接が継続した時間、接触又は近接が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。コントローラ10が行える動作を、コントローラ10を有するスマートフォン1は実行できる。言い換えると、コントローラ10が行う動作は、スマートフォン1が行ってもよい。ジェスチャは、指を用いて、タッチスクリーン2Bに対して行われる操作である。タッチスクリーン2Bに対して行われる操作は、タッチスクリーン2Bを有するタッチスクリーンディスプレイ2により行われてもよい。コントローラ10が、タッチスクリーン2Bを介して判別するジェスチャには、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトが含まれるが、これらに限定されない。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式、赤外線方式、及び荷重検出方式等の任意の方式でよい。
ボタン3は、ユーザからの操作入力を受け付ける。ボタン3の数は、単数であっても、複数であってもよい。
照度センサ4は、照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、赤外線を照射する発光素子と、発光素子から照射された赤外線の反射光を受光する受光素子を有する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる無線通信規格には、例えば、2G、3G、4G、5G等のセルラーフォンの通信規格と、近距離無線の通信規格とが含まれる。セルラーフォンの通信規格としては、例えば、LTE(Long Term Evolution)、W−CDMA(登録商標)(Wideband Code Division Multiple Access)、CDMA2000、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)、WPAN(Wireless Personal Area Network)等が含まれる。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
レシーバ7は、コントローラ10から送出される音信号を音として出力する。マイク8は、入力されるユーザの声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域として利用されてもよい。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する支援プログラム(図示略)とが含まれる。アプリケーションは、例えば、フォアグランドで実行される場合、当該アプリケーションに係る画面を、ディスプレイ2Aに表示する。支援プログラムには、例えば、OS(Operating System)が含まれる。プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、制御プログラム9A、キャリブレーションプログラム9B、照度センサデータ9C、近接センサデータ9D、加速度センサデータ9E、キャリブレーション実行条件9F、及び設定データ9Zなどを記憶できる。
制御プログラム9Aは、スマートフォン1の各種動作に関する処理を実現するための機能をそれぞれ提供できる。制御プログラム9Aが提供する機能は、照度センサ4の検出結果に基づいて、ディスプレイ2Aの輝度を調整する機能を含む。制御プログラム9Aが提供する機能は、近接センサ5の検出結果に基づいて、タッチスクリーン2Bに対する操作を無効とする機能を含む。制御プログラム9Aが提供する機能は、通信ユニット6、レシーバ7、及びマイク8等を制御することによって、通話を実現させる機能を含む。制御プログラム9Aが提供する機能は、カメラ12、及びカメラ13の撮影処理を制御する機能を含む。制御プログラム9Aが提供する機能は、コネクタ14を介して接続される外部機器との間の通信を制御する機能を含む。制御プログラム9Aが提供する機能は、タッチスクリーン2Bの検出結果に基づいて判別したジェスチャに応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能を含む。制御プログラム9Aが提供する機能は、加速度センサ15の検出結果に基づいて、スマートフォン1を携帯するユーザの移動、停止等を検出する機能を含む。制御プログラム9Aが提供する機能は、GPS受信機より取得する信号に基づいて、現在位置に基づく処理を実行する機能を含む。
キャリブレーションプログラム9Bは、照度センサデータ9C及び近接センサデータ9Dがキャリブレーション実行条件9Fを満足することを条件として、近接センサ5の検出値の補正に用いる基準値(以下、適宜「オフセット」と記載する)を更新する機能を提供できる。キャリブレーションプログラム9Bは、照度センサデータ9Cに含まれる複数のデータサンプルから、赤外線成分に対応するデータ及び可視光成分に対応するデータを抽出し、赤外線成分に対応するデータと可視光成分に対応するデータとの比が閾値以下であるかを判定する機能を提供できる。キャリブレーションプログラム9Bは、近接センサデータ9Dに含まれる複数のデータサンプルの平均値を算出し、算出した平均値が閾値以下であるかを判定する機能を提供できる。キャリブレーションプログラム9Bによるオフセットの更新処理は、例えば、ユーザの操作によって開始される。キャリブレーションプログラム9Bは、キャリブレーションに関連するユーザインタフェースを提供できる。
照度センサデータ9Cは、照度センサ4により検出される検出値の全データである。近接センサデータ9Dは、近接センサ5により検出される検出値の全データである。加速度センサデータ9Eは、加速度センサ15により検出される検出値の全データである。加速度センサデータ9Eは、スマートフォン1に作用する加速度の方向及び大きさを含む。加速度センサデータ9Eは、加速度センサ15により取得される全ての測定結果を含んでよい。例えば、加速度センサデータ9Eは、加速度の方向及び大きさの時系列変化で構成される加速度パターンを含んでよい。例えば、加速度センサデータ9Eは、加速度センサ15がx軸方向、y軸方向、及びz軸方向の加速度を検出する3軸型である場合、各軸における加速度の方向及び大きさ、並びに3軸の加速度を合成した合成ベクトルを含んでよい。
キャリブレーション実行条件9Fは、近接センサ5のオフセットを更新するための条件を含む。図2は、実施形態に係るキャリブレーション実行条件の一例を示す図である。図2に示す例では、照度センサ4の検出値d1が閾値th1以下であり、かつ近接センサ5の検出値d2が閾値th2以下である場合、キャリブレーションを実行することが規定されている。一方、図2に示す例では、照度センサ4の検出値d1が閾値th1より大きく、かつ近接センサ5の検出値d2が閾値th2よりも大きい場合、キャリブレーションを実行しないことが規定されている。
すなわち、照度センサ4の検出値d1が閾値th1より大きい場合を、キャリブレーションを実行しない必要条件の1つとして組み入れることにより、例えば、晴れた日中の屋外などの明る過ぎる場所など、赤外線型の近接センサ5のキャリブレーションに適していない場所でキャリブレーションが実行されることを避けることができる。近接センサ5の検出値d2が閾値th2より大きい場合を、キャリブレーションを実行しない必要条件の1つとして組み入れることにより、例えば、近接センサ5の上部に障害物がある状況など、赤外線型の近接センサ5のキャリブレーションに適していない状況でのキャリブレーションを避けることができる。照度センサ4の検出値d1は、例えば、照度センサデータ9Cに含まれる複数のデータサンプルから抽出した赤外線成分に対応するデータと可視光成分に対応するデータとの比を含む。すなわち、赤外線成分が可視光に含まれる割合に基づいて、晴れた日中の屋外などの明る過ぎる場所を特定できる。近接センサ5の検出値d2は、近接センサデータ9Dに含まれる複数のデータサンプルの平均値を含む。キャリブレーション実行条件9Fは、更新条件の一例である。
設定データ9Zは、スマートフォン1の動作に関する各種設定の情報を含む。
スマートフォン1は、通信ユニット6を介してクラウドストレージと連携し、当該クラウドストレージが記憶するファイル及びデータにアクセスしてもよい。クラウドストレージは、ストレージ9に記憶されるプログラム及びデータの一部又は全部を記憶してもよい。
コントローラ10は、演算処理装置を含む。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−Chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、およびコプロセッサを含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、マイク8、スピーカ11及びGPS受信機19を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、角速度センサ17、及び気圧センサ18を含むが、これらに限定されない。
コントローラ10は、制御プログラム9Aを実行することにより、スマートフォン1の動作に関する各種制御を実現できる。
コントローラ10は、キャリブレーションプログラム9Bを実行することにより、キャリブレーション実行条件9Fを満足することを条件として、近接センサ5のオフセットを設定する処理を実現できる。コントローラ10は、例えば、照度センサデータ9Cに含まれる複数のデータサンプルから、赤外線成分に対応するデータ及び可視光成分に対応するデータを抽出し、赤外線成分に対応するデータと可視光成分に対応するデータとの比を算出して、算出した比が閾値以下であるかを判定することにより、キャリブレーション実行条件9Fを満足するかを判定する処理を実行できる。コントローラ10は、例えば、近接センサデータ9Dに含まれる複数のデータサンプルの平均値を算出し、算出した平均値が閾値以下であるかを判定する処理を実行できる。
スピーカ11は、コントローラ10から送出される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
カメラ12及びカメラ13は、撮影した画像を電気信号へ変換する。カメラ12は、ディスプレイ2Aに面している物体を撮影するインカメラである。カメラ13は、ディスプレイ2Aの反対側の面に面している物体を撮影するアウトカメラである。カメラ12及びカメラ13は、インカメラ及びアウトカメラを切り換えて利用可能なカメラユニットとして、機能的及び物理的に統合された状態でスマートフォン1に実装されてもよい。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、MHL(Mobile High−difinition Link)、ライトピーク(Light Peak)、サンダーボルト(登録商標)(Thunderbolt)、LANコネクタ(Local Area Network connector)、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用に設計された端子でもよい。コネクタ14に接続される装置は、例えば、充電器、外部ストレージ、スピーカ、通信装置、及び情報処理装置を含むが、これらに限定されない。
加速度センサ15は、スマートフォン1に作用する加速度の方向及び大きさを検出できる。実施形態の1つの例として、X軸方向、Y軸方向、及びZ軸方向の加速度を検出する3軸型の加速度センサ15を採用できる。加速度センサ15は、ピエゾ抵抗型、静電容量型、圧電素子型(圧電式)、熱検知型によるMEMS(Micro Electro Mechanical Systems)式、動作させた可動コイルをフィードバック電流により元に戻すサーボ式、あるいは歪みゲージ式などにより構成することができる。加速度センサ15は、検出結果をコントローラ10に送出する。コントローラ10は、加速度センサ15の検出結果に基づいて各種制御を実行できる。例えば、スマートフォン1に作用している重力が加速度として加速度センサ15から出力されると、コントローラ10は、スマートフォン1に作用する重力方向を反映した制御を実行できる。
方位センサ16は、地磁気の向きを検出できる。方位センサ16は、検出結果をコントローラ10に送出する。コントローラ10は、方位センサ16の検出結果に基づいて各種制御を実行できる。例えば、コントローラ10は、地磁気の向きからスマートフォン1の向き(方位)を特定し、特定したスマートフォン1の方位を反映した制御を実行できる。
角速度センサ17は、スマートフォン1の角速度を検出できる。角速度センサ17は、検出結果をコントローラ10に送出する。コントローラ10は、角速度センサ17の検出結果に基づいて各種制御を実行できる。例えば、コントローラ10は、角速度センサ17から出力される角速度の有無に基づいて、スマートフォン1の回転を反映した制御を実現できる。
コントローラ10は、加速度センサ15、方位センサ16、及び角速度センサ17の各検出結果を個別に利用する場合に限定されず、各検出結果を組み合わせて利用することもできる。
気圧センサ18は、スマートフォン1に作用する気圧を検出できる。気圧センサ18の検出結果は、単位時間あたりの気圧変化量を含んでよい。気圧変化量は、絶対値もしくはスカラー量を累積した値であってよい。単位時間は、任意の時間を設定してよい。気圧センサ18は、検出結果をコントローラ10に送出する。
GPS受信機19は、GPS衛星からの所定の周波数帯の電波信号を受信できる。GPS受信機は、受信した電波信号の復調処理を行って、処理後の信号をコントローラ10に送出する。
スマートフォン1は、バイブレータを備えてもよい。バイブレータは、スマートフォン1の一部又は全体を振動させる。バイブレータは、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。スマートフォン1は、上述のセンサの他、温度センサ、湿度センサ、圧力センサなどを備えてもよい。スマートフォン1は、バッテリなど、スマートフォン1の機能を維持するために当然に用いられる機能部、及びスマートフォン1の制御を実現するために当然に用いられる検出部を実装する。
図3は、実施形態に係るスマートフォンの正面図である。以下の説明において、スマートフォンの正面は、スマートフォン1を利用するユーザと対面する、あるいはユーザに接する面であり、以下の説明おいて「正面」及び「表示面」と記載する場合がある。図3に示すように、スマートフォン1は、ディスプレイ2A、近接センサ5、及びカメラ12などが設けられる表示面側に、表示面の全面を覆う保護シート21が設けられる。すなわち、保護シート21は、近接センサ5の赤外線照射口の真上、すなわち、赤外線照射口全体を覆うように重畳されて設置される。保護シート21は、所定の接着層を有し、ユーザによる貼り換え自在に構成される。保護シート21は、落下等の衝撃からディスプレイ2Aの破損を防止する。
図4は、図3に示すI−I線における断面を模式的に示す図である。図3は、近接センサの設置位置の周辺をxz平面に平行な面で切断したときの断面を示している。図3に示すように、近接センサ5の上部に、保護シート21、接着層22、及び強化ガラス23が設置されている。保護シート21は、接着層22により強化ガラス23に貼り付けられている。近接センサ5と強化ガラス23との間に、エアギャップAG1が存在する。近接センサ5から照射される赤外線L1は、近接検知対象物に到達する前に、保護シート21、接着層22、及び強化ガラス23の表面で少なからず反射し、反射光L2となって近接センサ5により受光される。このように、エアギャップAG1、保護シート21、接着層22、及び強化ガラス23は、近接センサ5から照射される赤外線L1の透過率に影響を与える。保護シート21は、図3に示すように、近接センサ5の赤外線照射口の全面を覆うので、保護シート21、接着層22、及び強化ガラス23からの反射光L2が、近接センサ5によって検出されるときの検出値(以下、適宜「クロストーク値」と記載する)を考慮して、検知対象物との距離が所望の距離で反応するように、近接センサ5のオフセットを設定する必要がある。
図5は、実施形態に係る近接センサの出力と検知距離との関係を示す図である。図5に示す5Aは、近接センサ5の出力を示す。図5に示す5Bは、例えば、図3及び図4に示す近接センサ5により検出されるクロストーク値に相当する出力を示す。図5に示す5Cは、例えば、検知距離を30ミリメートルに設定した場合における近接センサ5のクロストーク値の変化許容幅を示す。例えば、何らかの要因で、クロストーク値が大きくなり、変化許容幅(5C)を超えると、近接センサが所望の検知距離(例えば、30ミリメートル)で反応しなくなってしまう。
保護シート21は、例えば、ユーザによる貼り換えが自在に行えるように構成されるので、保護シート21の貼り換えが行われた場合、貼り換えられた保護シート21の素材並びに接着層22の材料、保護シート21と強化ガラス23との貼付状況などにより、クロストーク値が変化するおそれがある。このため、保護シート21の貼り換え後は、再びオフセットを更新する必要がある。そこで、実施形態に係るスマートフォン1は、保護シート21の貼り換えが行われた場合、近接センサ5のキャリブレーションを実行する方法を提案する。
図6及び図7を用いて、実施形態に係るスマートフォン1による処理の例を説明する。図6は、実施形態に係るスマートフォンによる処理の一例を示すフローチャートである。図7は、実施形態に係るユーザインタフェースの一例を示す図である。図6に示す処理は、コントローラ10がキャリブレーションプログラム9Bを実行することにより実現される。図10に示す処理は、スマートフォン1が動作可能な状態であれば、給電を一部制御するモード、いわゆる省電力モードのときにも実行される。
図6に示すように、コントローラ10は、近接センサ5の感度補正開始指示があったかを判定する(ステップS101)。具体的には、図7に示すように、スマートフォン1は、ディスプレイ2Aに表示する各種設定画面SC1において、「近接センサ感度補正」に対する操作を受け付けると(図7の「U1」参照)、近接センサ感度補正画面SC2をディスプレイ2Aに表示する(図7の「U2」参照)。そして、スマートフォン1は、近接センサ感度補正画面SC2において、「開始」に対する操作を受け付けると(図7の「U2」参照)、近接センサ5の感度補正開始指示があったものと判定する。
コントローラ10は、判定の結果、近接センサ5の感度補正開始指示があった場合(ステップS101,Yes)、照度センサデータ9Cを取得する(ステップS102)。続いて、コントローラ10は、近接センサデータ9Dを取得する(ステップS103)。
コントローラ10は、照度センサデータ9C及び近接センサデータ9Dがキャリブレーション実行条件9Fを満足するか否かを判定する(ステップS104)。
コントローラ10は、判定の結果、照度センサデータ9C及び近接センサデータ9Dがキャリブレーション実行条件9Fを満足する場合(ステップS104,Yes)、近接センサ5のオフセットを更新する(ステップS105)。
続いて、コントローラ10は、近接センサ5の感度補正に成功した旨のメッセージを表示して(ステップS106)、図6に示す処理を終了する。例えば、コントローラ10は、図7に示すように、ディスプレイ2Aに表示する処理結果画面SC3に近接センサ5の感度補正に成功した旨のメッセージを表示する(図7の「U3」参照)。
ステップS104において、コントローラ10は、判定の結果、照度センサデータ9C及び近接センサデータ9Dがキャリブレーション実行条件9Fを満足しない場合(ステップS104,No)、近接センサ5の感度補正に失敗した旨のメッセージを表示して(ステップS107)、図6に示す処理を終了する。例えば、コントローラ10は、図7に示すように、ディスプレイ2Aに表示する処理結果画面SC4に近接センサ5の感度補正に失敗した旨のメッセージを表示する(図7の「U4」参照)。
ステップS101において、コントローラ10は、判定の結果、近接センサ5の感度補正開始指示がない場合(ステップS101,No)、図6に示す処理を終了する。
上記の実施形態では、スマートフォン1が、保護シート21の貼り換えを行ったユーザによるキャリブレーション実行操作を検出して、近接センサ5のキャリブレーションを実行し、近接センサ5のオフセットを更新できる。このため、スマートフォン1は、例えば、保護シート21の貼り換えを原因とする近接センサ5の動作の不具合を防止できる。
上記の実施形態において、スマートフォン1は、図7に示す処理結果画面SC3及び処理結果画面SC4にメッセージを表示することにより、感度補正の処理結果を通知する例を説明したが、これには限定されず、ポップアップ表示、バナー表示、ステータスバーへのアイコン表示、メッセージの音声出力などの方法により通知してもよい。
(他の実施形態)
上記の実施形態では、ユーザによるキャリブレーション実行操作を検出してオフセットの更新を実行する例を説明したが、以下の実施形態では、オフセットの自動更新について説明する。
他の実施形態に係るスマートフォン1の機能的な構成は、基本的には、上記の実施形態と同様であるが、以下に説明する点が異なる。
キャリブレーションプログラム9Bは、オフセットの更新後、所定の周期で、照度センサ4及び近接センサ5の検出値、並びに加速度センサ15の検出値がキャリブレーション実行条件9Fを満足するか否かを判定し、判定の結果、キャリブレーション実行条件9Fを満足する場合、オフセットを更新する機能を提供できる。所定の周期は、例えば、近接センサのオフセットについて定期的な見直しを実施する目的で任意の時間が設定される。所定の周期は、任意の時間が設定されてよい。
図8は、他の実施形態に係るキャリブレーション実行条件の一例を示す図である。図8に示す例では、照度センサ4の検出値d1が閾値th1以下であり、近接センサ5の検出値d2が閾値th2以下であり、さらに、加速度センサ15の検出値d3が閾値th3以下である場合、キャリブレーションを実行することが規定されている。一方、図8に示す例では、照度センサ4の検出値d1が閾値th1より大きく、かつ近接センサ5の検出値d2が閾値th2よりも大きく、さらに、加速度センサ15の検出値d3が閾値th3より大きい場合、キャリブレーションを実行しないことが規定されている。
すなわち、図2に示す例に加えて、加速度センサ15の検出値d3が閾値th3より大きい場合を、キャリブレーションを実行しない必要条件の1つとして組み入れることにより、スマートフォン1を手に持って移動している状態など、スマートフォン1が不安定で、赤外線型の近接センサ5のキャリブレーションに適していない状況下でキャリブレーションが実行されることを避けることができる。キャリブレーション実行条件9Fは、更新条件の一例である。
コントローラ10は、キャリブレーションプログラム9Bを実行することにより、オフセットの更新後、所定の周期で、照度センサ4及び近接センサ5の検出値、並びに加速度センサ15の検出値がキャリブレーション実行条件9Fを満足するか否かを判定し、判定の結果、キャリブレーション実行条件9Fを満足する場合、オフセットを更新する処理を実現する。
図9は、他の実施形態に係るスマートフォンによる処理の一例を示すフローチャートである。図9に示す処理は、コントローラ10がキャリブレーションプログラム9Bを実行することにより実現される。図9に示す処理は、スマートフォン1が動作可能な状態であれば、給電を一部制御するモード、いわゆる省電力モードのときにも実行される。
図9に示すように、コントローラ10は、近接センサ5の感度補正の実行周期に到達しているかを判定する(ステップS201)。
コントローラ10は、判定の結果、感度補正の実行周期に到達している場合(ステップS201,Yes)、照度センサデータ9Cを取得する(ステップS202)。続いて、コントローラ10は、近接センサデータ9Dを取得する(ステップS203)。続いて、コントローラ10は、加速度センサデータ9Eを取得する(ステップS204)。
コントローラ10は、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足するか否かを判定する(ステップS205)。
コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足する場合(ステップS205,Yes)、近接センサ5のオフセットを更新する(ステップS206)。
一方、コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足しない場合(ステップS205,No)、近接センサ5の感度補正に失敗した旨のメッセージを表示して(ステップS207)、図9に示す処理を終了する。
ステップS201において、コントローラ10は、判定の結果、感度補正を実行しない場合(ステップS201,No)、図9に示す処理を終了する。
図9に示す処理において、スマートフォン1は、図6及び図7に示すように、感度補正に成功した旨のメッセージを表示するステップを実行してもよい。
上記の他の実施形態によれば、スマートフォン1は、近接センサ5のオフセットを定期的に更新するので、近接センサ5の感度をできるだけ維持することができる。
近接センサ5のオフセットの更新は、所定の周期以外の種々の契機で実行されてよい。以下では、図10及び図11を用いて、近接センサ5のオフセットを更新するタイミングに関する他の例について説明する。図10及び図11は、他の実施形態に係るスマートフォンによる処理の一例を示すフローチャートである。
図10は、近接センサ5のクロストーク値の変化に基づいて、近接センサのオフセットの更新を実行する処理の例を示す。
図10に示すように、コントローラ10は、近接センサ5のクロストーク値が閾値以上であるかを判定する(ステップS301)。例えば、コントローラ10は、近接センサ5の出力からクロストーク値を推定し、推定したクロストーク値と設定中のオフセット(製品出荷時の初期設定値)との差分(変化量)が、閾値(例えば、変化許容幅5C(図5参照))以上であるかを判定する。製品出荷後、ユーザの手元で使用されているときのクロストーク値は、例えば、近接センサが反応していない時(所定の距離を検知していないとき)の出力の平均から推定できる。平均は、任意の時間内に検出された近接センサの出力に基づいて算出してよい。
コントローラ10は、判定の結果、クロストーク値が閾値以上である場合(ステップS301,Yes)、照度センサデータ9Cを取得する(ステップS302)。続いて、コントローラ10は、近接センサデータ9Dを取得する(ステップS303)。続いて、コントローラ10は、加速度センサデータ9Eを取得する(ステップS304)。
コントローラ10は、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足するか否かを判定する(ステップS305)。
コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足する場合(ステップS305,Yes)、近接センサ5のオフセットを更新する(ステップS306)。
一方、コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足しない場合(ステップS305,No)、近接センサ5の感度補正に失敗した旨のメッセージを表示して(ステップS307)、図10に示す処理を終了する。
ステップS301において、コントローラ10は、判定の結果、クロストーク値が閾値以上ではない場合(ステップS301,No)、図10に示す処理を終了する。
図10に示す処理においても、スマートフォン1は、図6及び図7に示すように、感度補正に成功した旨のメッセージを表示するステップを実行してもよい。
例えば、スマートフォン1を使用することによって、保護シート21の表面に損傷が発生して保護シート21の光の透過率などが変化したり、熱又は光などにより接着層22が劣化して接着層22の光の透過率などが変化したりする場合が考えられる。図10に示す例では、スマートフォン1が、近接センサ5のクロストーク値の変化をモニタリングするので、例えば、保護シート21の損傷並びに接着層22の劣化がクロストーク値の変化という形で顕出した場合に対処できる。そして、スマートフォン1は、クロストーク値の変化に追従して近接センサ5のオフセットを更新できるので、近接センサ5の感度を有効な状態で管理しやすい。
図11は、指紋認証が実行されたタイミングで近接センサのオフセットの更新を実行する処理の例を示す。
図11に示すように、コントローラ10は、指紋認証が実行されたかを判定する(ステップS401)。
コントローラ10は、判定の結果、指紋認証が実行された場合(ステップS401,Yes)、照度センサデータ9Cを取得する(ステップS402)。続いて、コントローラ10は、近接センサデータ9Dを取得する(ステップS403)。続いて、コントローラ10は、加速度センサデータ9Eを取得する(ステップS404)。
コントローラ10は、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足するか否かを判定する(ステップS405)。
コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足する場合(ステップS405,Yes)、近接センサ5のオフセットを更新する(ステップS406)。
一方、コントローラ10は、判定の結果、照度センサデータ9C、近接センサデータ9D、及び加速度センサデータ9Eがキャリブレーション実行条件9Fを満足しない場合(ステップS405,No)、近接センサ5の感度補正に失敗した旨のメッセージを表示して(ステップS407)、図11に示す処理を終了する。
ステップS401において、コントローラ10は、判定の結果、指紋認証が実行されていない場合(ステップS401,No)、図11に示す処理を終了する。
図11に示す処理においても、スマートフォン1は、図6及び図7に示すように、感度補正に成功した旨のメッセージを表示するステップを実行してもよい。
図11に示す処理において、スマートフォン1は、近接センサデータ9Dをキャリブレーション実行条件9Fの判定対象から除外してもよい。すなわち、スマートフォン1において指紋認証が実行される場合、近接センサ5の上部に障害物がない場合が想定されるので、近接センサ5の上部に障害物があるか否かの判定指標である近接センサデータ9Dを始めから除外する趣旨である。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記の実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。