本発明を実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、本発明に係る携帯電子機器の一例として、スマートフォンについて説明する。
(実施形態1)
実施形態に係るスマートフォン1の機能構成の一例を説明する。図1は、実施形態1に係るスマートフォンの機能構成を示すブロック図である。以下の説明においては、同様の構成要素に同一の符号を付すことがある。さらに、重複する説明は省略することがある。
図1に示すように、スマートフォン1は、タッチスクリーンディスプレイ2と、ボタン3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12と、姿勢検出ユニット15と、バイブレータ18とを備える。
タッチスクリーンディスプレイ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が表示する文字、画像、記号、及び図形等を含む画面には、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面が含まれる。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面又はランチャー画面と呼ばれることもある。実施形態1において、ディスプレイ2Aは、電話着信を通知する画面を表示する。電話着信を通知する画面には、電話着信の際に、電話着信に対して応答するための操作を受け付ける応答操作用のオブジェクト(以下、応答アイコン)が含まれる。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等(以下、単に「指」という)がタッチスクリーン2Bに接触した位置を検出することができる。タッチスクリーン2Bは、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する指の接触を、接触された場所のタッチスクリーンディスプレイ2上での位置とともに、コントローラ10に通知する。実施形態1において、タッチスクリーン2Bは、例えば、電話着信があった場合に、タッチスクリーンディスプレイ2に対する指の接触、及びタッチスクリーンディスプレイ2上での位置を、コントローラ10に通知する。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
コントローラ10(スマートフォン1)は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。ジェスチャは、指を用いて、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対して行われる操作である。コントローラ10(スマートフォン1)が、タッチスクリーン2Bを介して判別するジェスチャには、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、及びピンチアウトが含まれるが、これらに限定されない。実施形態1において、コントローラ10(スマートフォン1)は、タッチスクリーン2Bから通知される指の接触及び接触の位置に基づいて、上記応答アイコンに対するジェスチャを判別し、オフフックする処理などを実行する。
ボタン3は、利用者からの操作入力を受け付ける。ボタン3の数は、単数であっても、複数であってもよい。
照度センサ4は、スマートフォン1の周囲光の照度を検出する。照度は、光の強さ、明るさ、又は輝度を示す。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
近接センサ5は、近隣の物体の存在を非接触で検出する。近接センサ5は、磁界の変化又は超音波の反射波の帰還時間の変化等に基づいて物体の存在を検出する。近接センサ5は、例えば、ディスプレイ2Aが顔に近づけられたことを検出する。照度センサ4及び近接センサ5は、1つのセンサとして構成されていてもよい。照度センサ4は、近接センサとして用いられてもよい。
通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる無線通信規格には、例えば、2G、3G、4G等のセルラーフォンの通信規格と、近距離無線の通信規格がある。セルラーフォンの通信規格としては、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。近距離無線の通信規格としては、例えば、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等がある。WPANの通信規格には、例えば、ZigBee(登録商標)がある。通信ユニット6は、上述した通信規格の1つ又は複数をサポートしていてもよい。
通信ユニット6は、GPS衛星からの所定の周波数帯の電波信号を受信し、受信した電波信号の復調処理を行って、処理後の信号をコントローラ10に送出する。スマートフォン1は、GPS衛星との通信機能を通信ユニット6から分散させて、通信ユニット6から独立した個別の通信部を設けてもよい。
レシーバ7は、音出力部である。レシーバ7は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。マイク8は、音声入力部である。マイク8は、利用者の音声等を音声信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラム及びデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランド又はバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。フォアグランドで実行されるアプリケーションは、例えば、ディスプレイ2Aに画面が表示される。制御プログラムには、例えば、OSが含まれる。アプリケーション及び制御プログラムは、通信ユニット6による無線通信又は非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9A、通話アプリケーション9B、メールアプリケーション9C、カレンダーアプリケーション9D、カメラアプリケーション9E、受話動作姿勢判別データ9Zなどを記憶する。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、電話着信の際に、マイク8に対して音声入力を受け付けた場合には、オフフックするための機能を提供する。具体的には、制御プログラム9Aは、タッチスクリーン2Bを介して、電話着信に対する応答操作を検出した場合にはオフフックし、タッチスクリーン2Bを介して、電話着信に対する応答操作が検出されない場合には、マイク8による音声入力の受け付けを開始し、音声入力を受け付けた場合にはオフフックするための機能を提供する。電話着信に対応する応答操作が検出されない場合には、例えば、上記応答アイコンに対する不完全な操作が検出された場合を含む。
その他、制御プログラム9Aは、通信ユニット6などを制御することによって、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、WiMAX(Worldwide Interoperability for Microwave Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)などを用いた通信を実現させるための機能、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等を用いた近距離無線通信を実現させるための機能、並びに、通信ユニット6及びマイク8などを制御することによって、通話を実現させるための機能を提供する。
制御プログラム9Aにより提供される機能は、通話を実現させる場合、通話アプリケーション9B又はメールアプリケーション9Cなど、ストレージ9に記憶される他のプログラムなどが提供する機能と組み合わせて利用されることがある。制御プログラム9Aにより提供される機能は、複数のプログラムモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。
通話アプリケーション9Bは、無線通信による通話のための通話機能を提供する。メールアプリケーション9Cは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。カレンダーアプリケーション9Dは、スケジュール管理等のためのカレンダー機能を提供する。カメラアプリケーション9Eは、画像および動画像の撮影、編集および管理などを行うための機能を提供する。ストレージ9に記憶されるアプリケーションは一例に過ぎない。図1に示すもの以外に、メモ帳アプリケーション、ブラウザアプリケーション、ナビゲートアプリケーション、音楽プレイヤーアプリケーション、動画再生アプリケーション、計算機アプリケーション、付箋アプリケーションなどが記憶されていてもよい。
受話動作姿勢判別データ9Zは、コントローラ10が、姿勢検出ユニット15による検出結果に基づいて、スマートフォン1の姿勢が受話動作に一致するかを判定するためのデータである。例えば、利用者が受話動作を取ったときに、重力加速度の方向と、利用者に所持されるスマートフォン1の方向とのなす角度のデータなどが記憶される。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、及びFPGA(Field−Programmable Gate Array)を含むが、これらに限定されない。コントローラ10は、スマートフォン1の動作を統括的に制御して各種の機能を実現する。コントローラ10は、制御部の一例である。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、マイク8、及びスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、及び姿勢検出ユニット15を含むが、これらに限定されない。
コントローラ10は、制御プログラム9Aを実行することにより、電話着信の際に、マイク8に対して音声入力を受け付けた場合には、オフフックする処理を実行する。具体的には、コントローラ10は、タッチスクリーン2Bを介して、電話着信に対する応答操作を検出した場合にはオフフックし、タッチスクリーン2Bを介して、電話着信に対する応答操作が検出されない場合には、マイク8による音声入力の受け付けを開始し、音声入力を受け付けた場合にはオフフックする。電話着信に対応する応答操作が検出されない場合には、例えば、上記応答アイコンに対する不完全な操作が検出された場合を含む。
スピーカ11は、音出力部である。スピーカ11は、コントローラ10から送信される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
カメラ12は、撮影した画像を電気信号へ変換する。カメラ12には、例えば、ディスプレイ2Aに面している物体を撮影するインカメラ、ディスプレイ2Aの反対側の面に面している物体を撮影するアウトカメラが含まれる。
姿勢検出ユニット15は、スマートフォン1の姿勢を検出する。姿勢検出ユニット15は、姿勢を検出するために、加速度センサ、方位センサ、及びジャイロスコープの少なくとも1つを備える。姿勢検出ユニット15は、例えば、加速度センサ、方位センサ、及びジャイロスコープなどの検出結果に基づいて、例えば、スマートフォン1の姿勢を検出する。姿勢検出ユニット15は、スマートフォン1の姿勢の検出結果をコントローラ10に送る。
バイブレータ18は、スマートフォン1の一部又は全体を振動させる。バイブレータ18は、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。バイブレータ18による振動は、着信等の各種のイベントを利用者に報知するために用いられる。
続いて、図2を用いて、実施形態1に係るスマートフォン1により実行される制御の一例について説明する。図2は、実施形態1に係るスマートフォン1による制御の流れを示すフローチャートである。図2に示す制御は、コントローラ10が、制御プログラム9Aなどをストレージ9から読込んで実行することにより実現される。図2は、着信が検出されてから着信が継続中、もしくはオフフックされるまでの制御の流れを示す。
図2に示すように、コントローラ10は、着信を検出すると(ステップS101)、着信から一定時間内に応答操作が検出されるかを判定する(ステップS102)。ステップS102の判定は、電話着信に対して予め想定される通常の応答操作(例えば、応答アイコンのフリック)が受け付けられたかを判定し、応答操作に失敗した場合には、応答操作の検出に含まれない。コントローラ10は、ステップS102の判定結果がNoである場合には、通常の応答操作に失敗したものと判断して、以下に説明するように、電話が通じているものと思い込んで通話行動を行う利用者が混乱することのないように、利用者の通話の意思に応じてオフフックさせる制御を実現する。
コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出されない場合には(ステップS102,No)、マイク8を起動する(ステップS103)。続いて、コントローラ10は、マイク8により入力されるデータを解析し(ステップS104)、音声入力が受け付けられたかを判定する(ステップS105)。
コントローラ10は、判定の結果、音声入力が受け付けられている場合には(ステップS105,Yes)、オフフックして(ステップS106)、図2に示す制御を終了する。これとは反対に、コントローラ10は、判定の結果、音声入力が受け付けられていない場合には(ステップS105,No)、上記ステップS104に戻る。
上記ステップS102において、コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出された場合には(ステップS102,Yes)、上記ステップS106の手順に移動して、オフフックし、図2に示す制御を終了する。
上記図2に示す制御では、上記ステップS105〜ステップS106において、コントローラ10が、音声入力を受け付けてオフフックする場合に限定されない。例えば、コントローラ10は、マイク8により入力されるデータを解析して、所定のキーワードが一定時間内に検出された場合に、オフフックするようにしてもよい。あるいは、コントローラ10は、マイク8により入力されるデータを解析して、所定のキーワードが一定時間内に複数検出された場合に、オフフックするようにしてもよい。所定のキーワードとしては、例えば、「もしもし」、「はい」など電話に対する受け答えとして想定されるキーワードであればよい。
上記図2に示す制御では、上記ステップS102において、コントローラ10が、一定時間内に通常の応答操作を検出したかを判定する例を説明したが、この例には限定されない。例えば、通常の応答操作を検出したかを判定することなく、マイク8を起動し、音声入力があれば、オフフックするようにしてもよい。
上記図2に示す制御において、スマートフォン1は、利用者の受話動作を検出した場合に、マイク8を起動するようにしてもよい。そこで、以下では、図3及び図4を用いて、実施形態1に係るスマートフォン1により実行される他の制御の例について説明する。図3は、実施形態1に係るスマートフォン1により実行される他の制御の流れを示すフローチャートである。図4は、受話動作の検出について説明するための図である。図3に示す制御は、コントローラ10が、制御プログラム9Aなどをストレージ9から読込んで実行することにより実現される。図3に示す制御は、ステップS203の手順が、図2に示す制御とは異なる。図3は、着信が検出されてから着信が継続中、もしくはオフフックされるまでの制御の流れを示す。
図3に示すように、コントローラ10は、着信を検出すると(ステップS201)、着信から一定時間内に応答操作が検出されるかを判定する(ステップS202)。
コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出されない場合には(ステップS202,No)、続いて、スマートフォン1の姿勢の検出結果を取得し(ステップS203)、受話動作が検出されたかを判定する(ステップS204)。
具体的には、コントローラ10は、姿勢検出ユニット15による検出結果に基づいて、スマートフォン1の姿勢を判定し、受話動作が検出されたかを判定する。姿勢検出ユニット15は、加速度センサ、方位センサ、及びジャイロスコープなどの検出結果に基づいて、スマートフォン1の姿勢を検出する。例えば、図4に示すように、姿勢検出ユニット15は、重力加速度の方向D1と、利用者H1に所持されるスマートフォン1の方向D2とのなす角度“θ1”を検出して、コントローラ10に送る。スマートフォン1の方向D2は、スマートフォン1にレシーバ7が搭載される側の筐体の面F1及びマイク8が搭載される側の面F2に鉛直で、かつスマートフォン1の筐体の面F3に並行な方向である。筐体の面F1及び面F2と、筐体の面F3とは垂直に交わっているものとする。コントローラ10は、姿勢検出ユニット15から、重力加速度の方向D1とスマートフォン1の方向D2のなす角度“θ1”を取得すると、この角度“θ1”が、利用者により受話動作が行われたときの角度に一致するか否かを判定する。そして、角度が一致する場合には、コントローラ10は、スマートフォン1の姿勢が受話動作と一致するものと判定し、受話動作であると検出する。そして、姿勢検出ユニット15は、受話動作を検出した旨をコントローラ10に送る。コントローラ10は、姿勢検出ユニット15から受話動作を検出した旨を受け付けると、受話動作を検出したものと判定する。
コントローラ10は、判定の結果、受話動作が検出された場合には(ステップS204,Yes)、マイク8を起動する(ステップS205)。続いて、コントローラ10は、マイク8により入力されるデータを解析し(ステップS206)、音声入力が受け付けられたかを判定する(ステップS207)。
コントローラ10は、判定の結果、音声入力が受け付けられている場合には(ステップS207,Yes)、オフフックして(ステップS208)、図3に示す制御を終了する。これとは反対に、コントローラ10は、判定の結果、音声入力が受け付けられていない場合には(ステップS207,No)、上記ステップS206に戻る。
上記ステップS204において、コントローラ10は、判定の結果、受話動作が検出されない場合には(ステップS204,No)、上記ステップS203に戻り、スマートフォン1の姿勢の検出結果を再び取得する。
上記ステップS202において、コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出された場合には(ステップS202,Yes)、上記ステップS208の手順に移動して、オフフックし、図3に示す制御を終了する。
上記図2及び図3に示す制御では、着信から一定時間内に応答操作が検出されない場合、音声入力の受付に応じて、オフフックする制御の例を説明した。すなわち、上記図2及び図3に示す制御は、利用者が混乱して、通常の応答操作に何度も失敗している状態に対処するものであるが、音声入力の前に、通常の応答操作を検出した場合には、オフフックしてもよい。
上述してきたように、実施形態1では、スマートフォン1は、電話着信の際、例えば、着信から一定時間内に応答操作が検出されない場合には、音声入力の受付に応じてオフフックする。このため、実施形態1によれば、電話着信に対する応答を容易にすることができる。例えば、スマートフォン1の利用者が年配である場合には、応答アイコンのフリックなど、タッチスクリーン2Bに対するタッチ操作に何度も失敗することが考えられる。実施形態1では、スマートフォン1が、タッチ操作に失敗しても、音声入力があれば、オフフックするので、年配の利用者であっても、電話着信に対する応答が容易となる。
実施形態1では、スマートフォン1は、電話着信の際、例えば、着信から一定時間内に応答操作が検出されない場合には、受話動作が検出されたかを判定する。そして、スマートフォン1は、受話動作が検出された場合には、音声入力の受付に応じてオフフックする。このため、実施形態1によれば、電話着信に対する応答を容易にする制御を効率良く実施することができる。例えば、スマートフォン1の利用者が年配である場合には、応答アイコンのフリックなどのタッチ操作に成功したものと勘違いして、直ぐに受話動作を取ることが考えられる。通常、受話動作が行われた後に音声入力があるものと考えられるので、スマートフォン1は、受話動作が検出された後に、マイク8を起動して、音声入力があれば、オフフックする。このため、電話着信に対する応答を容易にする制御を効率良く実施することができる。
上記の実施形態1において、スマートフォン1は、電話着信の際、受話動作が検出されれば、オフフックしてもよい。あるいは、スマートフォン1は、例えば、一定時間内に通常の応答操作が検出されない状態で、その後、受話動作が検出された場合には、オフフックしてもよい。
(実施形態2)
上記の実施形態1では、電話着信の際、例えば、着信から一定時間内に応答操作が検出されない場合には、音声入力の受付を契機としてオフフックする制御の例を説明した。以下の実施形態2では、音声入力の内容がオフフックするための条件を満足する場合にオフフックする制御、及び受話動作に応じてオフフックするための条件を変更する制御の例について説明する。
図5は、実施形態2に係るスマートフォンの機能構成を示すブロック図である。実施形態2に係るスマートフォン1の機能構成は、以下に説明する点が実施形態1とは異なる。
ストレージ9は、制御プログラム9A、通話アプリケーション9B、メールアプリケーション9C、カレンダーアプリケーション9D、カメラアプリケーション9E、及び受話動作姿勢判別データ9Zに加えて、応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yをさらに記憶する。
制御プログラム9Aは、電話着信に対して予め想定される通常の応答操作の失敗と判断できる状況に応じて、後述する応答状態レベル管理データ9Xに記録されている応答状態レベルを更新するための機能を提供する。具体的には、制御プログラム9Aは、電話着信の際に、着信から一定時間内に通常の応答操作(例えば、応答アイコンのフリック)が検出されない場合には、姿勢検出ユニット15による姿勢の検出結果に基づいて受話動作が検出されることを条件として、応答状態レベルを1段階上げるための機能を提供する。
さらに、制御プログラム9Aは、後述する応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照して、電話着信の際、利用者から受け付けた操作が、応答状態レベルに対応する操作である場合に、オフフックするための機能を提供する。
応答状態レベル管理データ9Xは、スマートフォン1における応答状態レベルを記録したデータである。応答状態レベルとは、電話着信に対する通常の応答操作の失敗状況に応じて更新される情報である。図6は、実施形態2に係る応答状態レベル管理データの一例を示す図である。図6に示すように、応答状態レベル管理データ9Xには、スマートフォン1における現在の応答状態レベル(例えば、レベル0)が記録される。本実施形態において、応答状態レベルは、例えば、レベル0、レベル1、レベル2の3段階のレベルが存在する。レベル0は、電話着信に対する通常の応答操作(例えば、応答アイコンのフリック)でオフフックを実行するレベルである。応答状態レベル管理データ9Xに記憶される応答状態レベルは、通常の応答操作に失敗したと判断できる状況に応じて、レベル0→レベル1→レベル2というように更新される。通常の応答操作に失敗したと判断できる状況としては、例えば、通常の応答操作が行われる前に、受話動作が検出された場合に該当する。
応答状態レベル対応操作データ9Yは、電話着信に対してオフフックするための条件を、スマートフォン1における応答状態レベルごとに記録したデータである。図7は、実施形態2に係る応答状態レベル対応操作データの一例を示す図である。図7に示すように、応答状態レベル対応操作データ9Yには、応答状態レベル(レベル0〜レベル2)に対応付けて、オフフックを実行するための条件の内容が記録される。例えば、図7に示すように、応答状態レベルが“レベル0”である場合には、オフフック条件として“応答アイコンのフリック”が対応付けられている。図7に示すように、応答状態レベルが“レベル1”である場合には、オフフック条件として“一定時間内に所定のキーワードを2回検出”が対応付けられている。図7に示すように、応答状態レベルが“レベル2”である場合には、オフフック条件として“一定時間内に所定のキーワードを1回検出”が対応付けられている。応答状態レベルがレベル1からレベル2になると、オフフックする条件である音声入力の内容が緩やかな条件に変更される。このように、応答状態レベルが上がるほど、応答操作が単純かつ簡易なものとなるように調整されている。図7に示す応答操作の内容は一例に過ぎず、図7に示す例には限定されるものではなく、応答状態レベルが高くなるほど、より単純で簡易な操作が対応付けられるものであればよい。
コントローラ10は、制御プログラム9Aを実行することにより、電話着信の際に、着信から一定時間内に通常の応答操作(例えば、応答アイコンのフリック)が検出されない場合には、姿勢検出ユニット15による姿勢の検出結果を取得する。そして、コントローラ10は、受話動作が検出された場合には、応答状態レベルを1段階上げる。
さらに、コントローラ10は、応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照して、電話着信の際、音声入力の内容がオフフックするための条件を満足する場合には、オフフックする処理を実行する。
続いて、図8及び図9を用いて、実施形態2に係るスマートフォン1により実行される制御の一例について説明する。図8及び図9は、実施形態2に係るスマートフォン1による制御の流れを示すフローチャートである。図8及び図9に示す制御は、コントローラ10が、制御プログラム9Aなどをストレージ9から読込んで実行することにより実現される。
図8を用いて、音声入力の内容がオフフックするための条件を満足する場合に、オフフックする制御の例について説明する。
図8に示すように、コントローラ10は、着信を検出すると(ステップS301)、着信から一定時間内に応答操作が検出されたかを判定する(ステップS302)。
コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出されない場合には(ステップS302,No)、マイク8を起動する(ステップS303)。続いて、コントローラ10は、マイク8により入力されるデータを解析し(ステップS304)、ストレージ9に記憶されている応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照する(ステップS305)。
続いて、コントローラ10は、ステップS304の解析により得られる音声入力の内容が、オフフック条件を満足するかを判定する(ステップS306)。
コントローラ10は、判定の結果、音声入力の内容が、オフフック条件を満足する場合には(ステップS306,Yes)、オフフックして(ステップS307)、図8に示す制御を終了する。これとは反対に、コントローラ10は、判定の結果、音声入力の内容が、オフフック条件を満足しない場合には(ステップS306,No)、上記ステップS304の手順に戻る。
上記ステップS302において、コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出された場合には(ステップS302,Yes)、上記ステップS307の手順に移動して、オフフックし、図8に示す制御を終了する。
図9を用いて、応答状態レベルの更新制御の例について説明する。図9に示すように、図9に示す制御は、図8に示す制御と並列に実行される。図9に示すように、コントローラ10は、着信を検出すると(ステップS401)、着信から一定時間内に応答操作が検出されたかを判定する(ステップS402)。
コントローラ10は、判定の結果、応答操作が検出されない場合には(ステップS402,No)、姿勢検出ユニット15による検出結果を取得して(ステップS403)、受話動作が検出されたかを判定する(ステップS404)。
コントローラ10は、判定の結果、受話動作が検出された場合には(ステップS404,Yes)、応答状態レベルを1段階上げる(ステップS405)。そして、コントローラ10は、着信が継続中であるかを判定する(ステップS406)。
コントローラ10は、判定の結果、着信が継続中である場合には(ステップS406,Yes)、上記ステップS403の手順に戻る。これとは反対に、コントローラ10は、判定の結果、着信が継続中ではない場合には(ステップS406,No)、応答状態レベルをレベル0に戻して(ステップS407)、図9に示す制御を終了する。
上記ステップS402において、コントローラ10は、判定の結果、着信から一定時間内に応答操作が検出された場合には(ステップS402,Yes)、図9に示す制御を終了する。
上記ステップS404において、コントローラ10は、判定の結果、受話動作が検出されない場合には(ステップS404,No)、上記ステップS406の手順に進む。
上記図9に示す制御では、着信に対する応答操作が行われないままで、受話動作が検出された場合には、応答アイコンのフリックなどの通常の応答操作に失敗したものと判断して、オフフックの条件である音声入力の内容がより緩やかなものとなるように(オフフックされやすくなるように)、応答状態レベルを更新する。
上記図9に示す制御では、受話動作が検出されたかに基づいて、オフフックの条件である音声入力の内容がより緩やかなものとなるように(オフフックされやすくなるように)、応答状態レベルを更新する制御を説明したが、これには限定されない。例えば、着信後に、タッチスクリーン2Bに対する応答操作以外の操作(オフフックするための操作とは判定されない応答アイコンに対するタッチ、不十分なスワイプなど)を記録し、記録された応答操作以外の操作の頻度に基づいて、応答状態レベルを更新してもよい。
(実施形態3)
以下の実施形態3では、利用者の操作が、オフフックするための条件を満足する場合にオフフックする制御、及び、利用者の音声入力又は操作入力に応じてオフフックするための条件を変更する制御の例について説明する。
実施形態3に係るスマートフォン1の機能構成は、以下に説明する点が実施形態2とは異なる。
制御プログラム9Aは、電話着信に対して予め想定される通常の応答操作の失敗と判断できる状況に応じて、後述する応答状態レベル管理データ9Xに記録されている応答状態レベルを更新するための機能を提供する。具体的には、制御プログラム9Aは、電話着信の際に、マイク8を起動して、一定時間内にマイク8により入力されるデータを解析し、一定時間内にマイク8に入力されたデータの中から、所定のキーワードが検出された場合には、応答状態レベルを1段階上げるための機能を提供する。これとは反対に、制御プログラム9Aは、電話着信の際に、マイク8を起動して、一定時間内にマイク8により入力されるデータを解析し、一定時間内にマイク8に入力されたデータの中から、所定のキーワードが検出されない場合には、応答状態レベルを1段階下げるための機能を提供する。
さらに、制御プログラム9Aは、後述する応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照して、電話着信の際、利用者から受け付けた操作が、応答状態レベルに対応する操作である場合に、オフフックするための機能を提供する。
応答状態レベル管理データ9Xは、上記実施形態2と同様に、スマートフォン1における応答状態レベルを記録したデータ(例えば、図6参照)であり、電話着信に対する通常の応答操作の失敗状況に応じて更新される。実施形態3において、応答状態レベルは、例えば、レベル0、レベル1、レベル2の3段階のレベルが存在する。レベル0は、電話着信に対する通常の応答操作(応答アイコンのフリック)でオフフックすることが可能なレベルである。応答状態レベル管理データ9Xに記憶される応答状態レベルは、通常の応答操作に失敗したと判断できる状況に応じて、レベル0→レベル1→レベル2というように更新される。通常の応答操作に失敗したと判断できる状況としては、例えば、通常の応答操作が行われる前に、所定のキーワード又は所定の操作が検出された場合が含まれる。応答状態レベルは、利用者の応答操作の状況に応じて、1段階ずつダウンする場合もある。
応答状態レベル対応操作データ9Yは、上記実施形態2と同様に、電話着信に対してオフフックするための条件を、スマートフォン1における応答状態レベルごとに記録したデータである。図10は、実施形態3に係る応答状態レベル対応操作データの一例を示す図である。図10に示すように、応答状態レベル対応操作データ9Yには、応答状態レベル(レベル0〜レベル2)に対応付けて、オフフックを実行するためのオフフック条件の内容が記録される。例えば、図10に示すように、応答状態レベルが“レベル0”である場合には、オフフック条件として“応答アイコンのフリック”が対応付けられている。図10に示すように、応答状態レベルが“レベル1”である場合には、オフフック条件として“応答アイコンへのタップ”が対応付けられている。図10に示すように、応答状態レベルが“レベル2”である場合には、オフフック条件として“ディスプレイへのタッチ”が対応付けられている。このように、応答状態レベルが上がるほど、通常の応答操作、すなわち、応答アイコンのフリックよりも単純かつ簡易な操作が対応付けられている。図10に示す応答操作の内容は一例に過ぎず、応答状態レベルが高くなるほど、より単純で簡易な操作が対応付けられるものであればよい。
コントローラ10は、制御プログラム9Aを実行することにより、電話着信の際に、マイク8を起動して、一定時間内にマイク8により入力されるデータを解析し、一定時間内にマイク8に入力されたデータの中から、所定のキーワードが検出された場合には、応答状態レベルを1段階上げる処理を実行する。一方、コントローラ10は、制御プログラム9Aを実行することにより、電話着信の際に、マイク8を起動して、一定時間内にマイク8により入力されるデータを解析し、一定時間内にマイク8に入力されたデータの中から、所定のキーワードが検出されない場合には、応答状態レベルを1段階下げる処理を実行する。
さらに、コントローラ10は、応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照して、電話着信の際、利用者から受け付けた操作が、応答状態レベルに対応する操作である場合に、オフフックする処理を実行する。
続いて、図11〜図14を用いて、実施形態3に係るスマートフォン1により実行される制御の一例について説明する。図11〜図14は、実施形態3に係るスマートフォン1による制御の流れを示すフローチャートである。図11〜図14に示す制御は、コントローラ10が、制御プログラム9Aなどをストレージ9から読込んで実行することにより実現される。
図11を用いて、応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yに基づくオフフックの制御について説明する。
図11に示すように、コントローラ10は、着信を検出すると(ステップS501)、タッチスクリーン2Bを介して、操作が検出されたかを判定する(ステップS502)。コントローラ10は、判定の結果、操作が検出されていない場合には(ステップS502,No)、操作の検出を継続する。
一方、コントローラ10は、判定の結果、操作が検出された場合には(ステップS502,Yes)、ストレージ9に記憶されている応答状態レベル管理データ9X及び応答状態レベル対応操作データ9Yを参照する(ステップS503)。続いて、コントローラ10は、ステップS502において検出された操作が、オフフック条件を満足するか(現在の応答状態レベルに対応する操作に一致するか)を判定する(ステップS504)。
コントローラ10は、判定の結果、ステップS502において検出された操作が、オフフック条件を満足する場合には(ステップS504,Yes)、オフフックして(ステップS505)、図11に示す制御を終了する。
一方、コントローラ10は、判定の結果、ステップS502において検出された操作が、オフフック条件を満足しない場合には(ステップS504,No)、上記ステップS502に戻り、次の操作が検出されたかを判定する。
図12を用いて、音声入力による応答状態レベルの更新制御について説明する。図12に示す制御は、図11に示す制御と並列に実行される。図12に示すように、コントローラ10は、着信を検出すると(ステップS601)、マイク8を起動して(ステップS602)、一定時間内にマイク8に入力されたデータを解析する(ステップS603)。一定時間は、予め設定される。マイク8の起動直後である場合、ステップS603における一定時間はマイク8の起動からの一定時間に該当し、マイク8の起動直後でない場合、ステップS603における一定時間は、前回の解析完了直後から一定時間である。
続いて、コントローラ10は、マイク8に入力されるデータから所定のキーワードが検出されたかを判定する(ステップS604)。所定のキーワードは、例えば、「もしもし」、「はい」など電話に対する受け答えとして想定されるキーワードに該当する。
コントローラ10は、判定の結果、所定のキーワードが検出された場合には(ステップS604,Yes)、応答状態レベルを1段階上げる(ステップS605)。
一方、コントローラ10は、判定の結果、所定のキーワードが検出されない場合には(ステップS604,No)、応答状態レベルを1段階下げる(ステップS606)。コントローラ10は、ステップS605及びステップS606の処理に伴って、ストレージ9に記憶されている応答状態レベル管理データ9Xのデータを更新する。
続いて、コントローラ10は、着信が継続中であるかを判定する(ステップS607)。コントローラ10は、例えば、図12に示す制御においてオフフックが行われたか、あるいは着信が途絶えたかを判定する。
コントローラ10は、判定の結果、着信が継続中である場合には(ステップS607,Yes)、上記ステップS603に戻り、応答状態レベルの更新に係る制御を継続する。これとは反対に、コントローラ10は、判定の結果、着信が継続中ではない場合には(ステップS607,No)、応答状態レベルをレベル0に戻して(ステップS608)、図12に示す制御を終了する。
上記図12に示す制御について事例を交えて説明する。例えば、コントローラ10は、マイク8の起動直後から5秒以内に「もしもし」というキーワードが検出された場合には、応答状態レベルを1段階上げる。コントローラ10は、着信継続中の状態で、「もしもし」または「はい」というキーワードが検出された後、5秒以内に再び「もしもし」または「はい」というキーワードが検出された場合には、応答状態レベルをさらに1段階上げる。コントローラ10は、応答状態レベルがレベル2である場合には、レベル2のままとする。一方で、コントローラ10は、着信継続中である場合、「もしもし」または「はい」というキーワードの検出に応じて応答状態レベルを1段階上げた後、5秒以内に「もしもし」または「はい」というキーワードが検出されない場合には、応答状態レベルを1段階下げる。コントローラ10は、応答状態レベルがレベル0である場合には、レベル0のままとする。このようにして、コントローラ10は、電話着信の際、一定時間内における所定のキーワードの検出に応じて、応答状態レベルを調整する。
上記図12に示す制御において、スマートフォン1は、電話着信の際、一定時間内に所定のキーワードが検出された場合には、応答状態レベルを1段階上げる例を説明したが、所定のキーワードの検出時間及びキーワードの検出回数を詳細に制御してもよい。例えば、スマートフォン1は、10秒以内に所定のキーワードが3回検出された場合には、次の検出タイミングで、10秒以内に所定のキーワードが2回検出されたかを判定するようにしてもよい。あるいは、スマートフォン1は、例えば、10秒以内に所定のキーワードが1回検出された場合には、次に、20秒以内に所定のキーワードが1回検出されたかを判定してもよい。このように、スマートフォン1は、利用者が通常の応答操作(例えば、応答アイコンのフリック)に失敗したと考えられる状況が継続している場合には、応答状態レベル対応操作がより単純で簡易なものとなるように、応答状態レベルを更新する。
図13を用いて、受話動作が検出された場合にマイク8を起動する制御について説明する。図13に示すように、コントローラ10は、着信を検出すると(ステップS701)、姿勢検出ユニット15による検出結果を取得し(ステップS702)、受話動作が検出されたかを判定する(ステップS703)。
コントローラ10は、判定の結果、受話動作が検出された場合には(ステップS703,Yes)、マイク8を起動して(ステップS704)、一定時間内にマイク8に入力されたデータを解析する(ステップS705)。
続いて、コントローラ10は、マイク8に入力されるデータから所定のキーワードが検出されたかを判定する(ステップS706)。
コントローラ10は、判定の結果、所定のキーワードが検出された場合には(ステップS706,Yes)、応答状態レベルを1段階上げる(ステップS707)。これとは反対に、コントローラ10は、判定の結果、所定のキーワードが検出されない場合には(ステップS706,No)、応答状態レベルを1段階下げる(ステップS708)。
続いて、コントローラ10は、着信が継続中であるかを判定する(ステップS709)。コントローラ10は、判定の結果、着信が継続中である場合には(ステップS709,Yes)、上記ステップS705に戻り、応答状態レベルの更新に係る制御を継続する。これとは反対に、コントローラ10は、判定の結果、着信が継続中ではない場合には(ステップS709,No)、応答状態レベルをレベル0に戻して(ステップS710)、図13に示す制御を終了する。
上記ステップS703において、コントローラ10は、判定の結果、受話動作が検出されない場合には(ステップS703,No)、上記ステップS702に戻り、姿勢検出ユニット15による検出結果を再び取得する。
図14を用いて、操作入力による応答状態レベルの更新制御について説明する。図14に示すように、コントローラ10は、着信を検出すると(ステップS801)、タッチスクリーン2Bを介して、一定時間内に検出される操作を記録する(ステップS802)。一定時間は、予め設定される。着信直後である場合、ステップS802における一定時間は着信直後からの一定時間に該当し、着信直後でない場合、ステップS802における一定時間は、前回の検出完了直後から一定時間である。コントローラ10は、ステップS802の手順により、利用者による通常の応答操作の失敗を記録することを目的とする。コントローラ10は、例えば、オフフックするための操作とは判別されない応答アイコンに対するタッチ、あるいは不十分なスワイプなどを記録する。
続いて、コントローラ10は、ステップS802において記録された操作の中に、所定の操作が検出されたかを判定する(ステップS803)。コントローラ10は、例えば、オフフックするための操作とは判定しない応答アイコンに対するタッチ、不十分なスワイプなどの所定の操作が検出されたかを判定する。
コントローラ10は、判定の結果、所定の操作が検出された場合には(ステップS803,Yes)、応答状態レベルを1段階上げる(ステップS804)。これとは反対に、コントローラ10は、判定の結果、所定の操作が検出されない場合には(ステップS803,No)、応答状態レベルを1段階下げる(ステップS805)。
続いて、コントローラ10は、着信が継続中であるかを判定する(ステップS806)。コントローラ10は、判定の結果、着信が継続中である場合には(ステップS806,Yes)、上記ステップS802に戻り、応答状態レベルの更新に係る制御を継続する。これとは反対に、コントローラ10は、判定の結果、着信が継続中ではない場合には(ステップS806,No)、応答状態レベルをレベル0に戻して(ステップS807)、図14に示す制御を終了する。
上記図14に示す制御において、スマートフォン1は、電話着信の際、一定時間内に所定の操作が検出された場合には、応答状態レベルを1段階上げる例を説明したが、所定の操作の検出時間及び所定の操作の検出回数を制御してもよい。例えば、スマートフォン1は、10秒以内に所定の操作が3回検出された場合には、次の検出タイミングで、10秒以内に所定の操作が2回検出されたかを判定するようにしてもよい。あるいは、スマートフォン1は、例えば、10秒以内に所定の操作が1回検出された場合には、次に、20秒以内に所定の操作が1回検出されたかを判定してもよい。このように、スマートフォン1は、利用者が通常の応答操作(例えば、応答アイコンのフリック)に失敗するほど、応答状態レベル対応操作がより単純で簡易なものとなるように、応答状態レベルを更新する。
上述してきたように、実施形態3では、一定時間内に所定のキーワード又は所定の操作が検出された場合には、応答状態レベル対応操作がより単純で簡易なものとなるように、応答状態レベルを更新する。このため、実施形態3によれば、実施形態1及び実施形態2で説明したように、音声入力によりオフフックさせるのではなく、タッチスクリーンディスプレイ2に対する操作によりオフフックさせる場合にも、電話着信に対する応答が容易となる。
例えば、図10に示す応答状態レベル対応操作データ9Yでは、応答状態レベルに対して、タッチスクリーンディスプレイ2に対する操作を、オフフックを実行するための条件として対応付ける例を説明したが、これには限定されない。図15は、応答状態レベル対応操作データの他の例を示す図である。図15に示すように、例えば、応答状態レベルがレベル0である場合には、オフフック条件として、応答アイコンのフリックという条件を対応付け、レベル1である場合には、オフフック条件として、10秒以内に所定のキーワードを2回検出という条件を対応付け、レベル2である場合には、オフフック条件として、受話動作の検出という条件を対応付けてもよい。このように、応答状態レベルが上がるほどオフフックが実行されやすくなるように、タッチ操作の内容、音声入力の内容、受話動作の検出というような異なる条件を応答状態レベルに対応付けてもよい。
上記の実施形態では、添付の請求項に係る装置の例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、通話機能及びタッチスクリーン機能を備える電子機器であれば、スマートフォン以外であってもよい。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。