本出願に係る電子機器、制御方法、及び制御プログラムを実施するための実施形態を、図面を参照しつつ詳細に説明する。以下では、電子機器の一例として、スマートフォンを取り上げて説明する。
(実施形態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が表示する文字、画像、記号、及び図形等を含む画面には、ロック画面と呼ばれる画面、及びホーム画面と呼ばれる画面が含まれる。ホーム画面は、デスクトップ、待受画面、アイドル画面又は標準画面と呼ばれることもある。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、又はスタイラスペン等の接触を検出する。タッチスクリーン2Bは、複数の指、ペン、又はスタイラスペン等(以下、単に「指」という)がタッチスクリーン2Bに接触した位置を検出することができる。タッチスクリーン2Bは、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対する指の接触を、接触された場所のタッチスクリーンディスプレイ2上での位置とともに、コントローラ10に通知する。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(又は超音波方式)、赤外線方式、電磁誘導方式、及び荷重検出方式等の任意の方式でよい。以下の説明では、説明を簡単にするため、利用者はスマートフォン1を操作するために指を用いてタッチスクリーン2Bに接触するものと想定する。
コントローラ10(スマートフォン1)は、タッチスクリーン2Bにより検出された接触、接触が検出された位置、接触が検出された位置の変化、接触が検出された間隔、及び接触が検出された回数の少なくとも1つに基づいて、ジェスチャの種別を判別する。ジェスチャは、指を用いて、タッチスクリーン2B(タッチスクリーンディスプレイ2)に対して行われる操作である。コントローラ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、SMSアプリケーション9B、Eメールアプリケーション9C、メモ帳アプリケーション9D、動画アプリケーション9E、ブラウザアプリケーション9F、及び設定データ9Zなどを記憶する。
制御プログラム9Aは、スマートフォン1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、対話型のインタフェース機能を提供する。対話型のインタフェース機能には、対話型のインタフェース機能の実行中であることを示す実行画面をディスプレイ2Aに表示させる機能が含まれる。対話型のインタフェース機能には、マイク8により入力される音声を認識し、認識結果に応じて音声及び文字などで応答する機能が含まれる。
さらに、制御プログラム9Aは、ユーザにより入力される音声を認識し、認識結果に基づいて処理を実行する機能を提供する。この機能には、音声の認識に成功した場合に、ストレージ9に記憶されているアプリケーションの一覧の中から、認識結果に対応するアプリケーションを自動的に起動する機能が含まれる。
さらに、制御プログラム9Aは、ユーザにより入力される音声を認識し、認識結果に基づいて処理を実行できない場合に、ストレージ9に記憶されているアプリケーションの一覧を表示する機能を提供する。認識結果に基づいて処理を実行できない場合には、例えば、音声の認識に失敗した場合、あるいは、ストレージ9に記憶されているアプリケーションの中から、認識結果に対応するアプリケーションを検出できないと判定した場合が含まれる。
その他、制御プログラム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)などを用いた通信を実現させるための機能を提供する。
制御プログラム9Aは、通信ユニット6などを制御することによって、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)、WPAN(Wireless Personal Area Network)等を用いた近距離無線通信を実現させるための機能を提供する。
制御プログラム9Aは、例えば、通信ユニット6及びマイク8などを制御することによって、通話を実現させるための機能を提供する。
制御プログラム9Aにより提供される機能は、通話を実現させる場合、通話アプリケーション又はメールアプリケーションなど、ストレージ9に記憶される他のプログラムなどが提供する機能と組み合わせて利用されることがある。例えば、制御プログラム9Aにより提供される上記対話型のインタフェース機能と、制御プログラム9Aにより提供される他の機能とは、組み合わせて利用されることがある。制御プログラム9Aにより提供される各機能は、複数のプログラムモジュールに分割されていてもよいし、他のプログラムと結合されていてもよい。例えば、制御プログラム9Aにより提供される対話型のインタフェース機能は、他のモジュールに分割されていてもよい。
SMSアプリケーション9Bは、SMS(Short Messeage Service)として、所定の文字数以内のメールを送受信するための機能を提供する。Eメールアプリケーション9Cは、電子メールの作成、送信、受信、及び表示等のための電子メール機能を提供する。メモ帳アプリケーション9Dは、テキストデータの作成及び管理するためのテキストエディタ機能を提供する。動画アプリケーション9Eは、動画の再生などを行うための機能を提供する。ブラウザアプリケーション9Fは、ブラウジング機能を提供する。ストレージ9に記憶されるアプリケーションは一例に過ぎない。図1に示すもの以外に、通話アプリケーション、ナビゲートアプリケーション、音楽プレイヤーアプリケーション、計算機アプリケーション、付箋アプリケーションなど、複数のアプリケーションが記憶されていてもよい。
設定データ9Zは、スマートフォン1の動作に関連する各種の設定及び処理に関する情報を含む。
コントローラ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を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、ボタン3、照度センサ4、近接センサ5、マイク8、カメラ12、及び姿勢検出ユニット15を含むが、これらに限定されない。
コントローラ10は、制御プログラム9Aを実行することにより、対話型のインタフェースによる処理を実行する。例えば、コントローラ10は、対話型のインタフェース機能の実行中であることを示す実行画面をディスプレイ2Aに表示させる。例えば、コントローラ10は、マイク8により入力される音声を認識し、認識結果に応じて音声及び文字などで応答する。
さらに、コントローラ10は、制御プログラム9Aを実行することにより、ユーザにより入力される音声を認識し、認識結果に基づいて処理を実行する。例えば、コントローラ10は、音声の認識に成功した場合に、ストレージ9に記憶されているアプリケーションの一覧の中から、認識結果に対応するアプリケーションを自動的に起動する。
さらに、コントローラ10は、制御プログラム9Aを実行することにより、ユーザにより入力される音声を認識し、認識結果に基づいて処理を実行できない場合に、ストレージ9に記憶されているアプリケーションの一覧を表示する。認識結果に基づいて処理を実行できない場合には、例えば、音声の認識に失敗した場合、または、ストレージ9に記憶されているアプリケーションの中から、認識結果に対応するアプリケーションを検出できないと判定した場合が含まれる。
スピーカ11は、音出力部である。スピーカ11は、コントローラ10から送信される音信号を音として出力する。スピーカ11は、例えば、着信音及び音楽を出力するために用いられる。レシーバ7及びスピーカ11の一方が、他方の機能を兼ねてもよい。
カメラ12は、撮影した画像を電気信号へ変換する。カメラ12には、例えば、ディスプレイ2Aに面している物体を撮影するインカメラ、ディスプレイ2Aの反対側の面に面している物体を撮影するアウトカメラが含まれる。
姿勢検出ユニット15は、スマートフォン1の姿勢を検出する。姿勢検出ユニット15は、姿勢を検出するために、加速度センサ、方位センサ、及びジャイロスコープの少なくとも1つを備える。
バイブレータ18は、スマートフォン1の一部又は全体を振動させる。バイブレータ18は、振動を発生させるために、例えば、圧電素子、又は偏心モータなどを有する。バイブレータ18による振動は、着信等の各種のイベントを利用者に報知するために用いられる。
図1に示したスマートフォン1の機能構成は例であり、本発明の要旨を損なわない範囲において適宜変更してよい。
図2及び図3を用いて、実施形態1におけるスマートフォン1により実行される処理の一例について説明する。図2及び図3に登場するF1は、ユーザの指を示す。図2及び図3では、いわゆるロック画面がディスプレイ2Aに表示されている場合の処理の一例について説明するが、対話型のインタフェースを起動可能な状況であれば、同様の処理を実現できる。以下の説明において、“操作”と表記するものは、スマートフォン1(コントローラ10)が、タッチスクリーン2Bを介して、検出可能な任意のタッチジェスチャであってよい。
図2は、音声の認識に成功したときの処理の一例を示す図である。図2に示すように、スマートフォン1は、ディスプレイ2Aにロック画面40を表示している。ロック画面40は、スマートフォン1がロック状態にある場合に表示される。スマートフォン1は、ディスプレイ2Aにロック画面40が表示されている場合、特定の操作を除いて、ユーザの操作を受け付けない。特定の操作には、例えば、ロック状態を解除するための操作、及び通知画面をディスプレイ2Aに表示させるための操作が含まれる。ロック状態には、単に、ユーザの操作を受け付けない状態だけでなく、セキュリティロック状態を含んでもよい。図2に示すように、ロック画面40には、対話型のインタフェースを起動させるためのアイコン40aが配置されている。
スマートフォン1は、タッチスクリーン2Bを介して、ロック画面40に配置されているアイコン40aに対する操作を検出すると(ステップS11)、ディスプレイ2Aに対話型のインタフェースの実行画面50を表示する(ステップS12)。このとき、スマートフォン1は、音声ガイダンスをスピーカ11から出力するとともに、音声ガイダンスに対応する文字を吹き出し形式でディスプレイ2Aに表示する。例えば、スマートフォン1は、“ご用件をお話ください”という音声ガイダンスを出力し、音声ガイダンスに対応する文字(O−1)を実行画面50に表示する。
続いて、スマートフォン1は、マイク8により音声が入力されると、入力された音声の認識処理を実行する。認識に成功した場合、スマートフォン1は、認識結果に対応するアプリケーションを自動的に起動し、アプリケーションの画面をディスプレイ2Aに表示する(ステップS13〜ステップS14)。例えば、スマートフォン1は、マイク8により入力された音声を“メモ帳”であると認識すると、メモ帳アプリケーション9Dを起動し、メモ帳アプリケーション9Dの画面61をディスプレイ2Aに表示する。
ステップS13〜ステップS14の処理において、スマートフォン1は、マイク8により入力される音声の認識処理の結果に基づいて、音声に対応する文字を吹き出し形式で実行画面50に表示する。例えば、スマートフォン1は、“メモ帳”という文字(I−1)を実行画面50に表示する。アプリケーションを起動する際、スマートフォン1は、起動する旨の音声ガイダンスを出力してもよい。例えば、“メモ帳を起動します”という音声ガイダンスを出力することができる。
図3は、音声の認識結果に対応するアプリケーションを検出できないと判定した場合の処理の一例を示す図である。以下の説明において、“連携アプリケーション”と表記するものは、ストレージ9に記憶されているアプリケーションに該当する。
図3に示すように、スマートフォン1は、ロック画面40をディスプレイ2Aに表示している。スマートフォン1は、ロック画面40に配置されているアイコン40aに対する操作を検出すると(ステップS21)、ディスプレイ2Aに対話型のインタフェースの実行画面50を表示する(ステップS22)。
続いて、スマートフォン1は、マイク8により音声が入力されると、入力された音声の認識処理を実行する。音声の認識結果に対応するアプリケーションを検出できないと判定した場合、スマートフォン1は、ボタン50aを実行画面50に表示させる(ステップS23〜ステップS24)。ボタン50aは、ストレージ9に記憶されているアプリケーションの一覧を表示させるためのものである。このアプリケーションの一覧には、文字情報を入力することが可能なアプリケーションが含まれている。
図3に示すステップS23〜ステップS24において、スマートフォン1は、マイク8により入力される音声の認識処理の結果に基づいて、音声に対応する文字を吹き出し形式で実行画面50に表示する。例えば、スマートフォン1は、“クリオネ”という文字(I−2)を実行画面50に表示する。認識結果に対応するアプリケーションがストレージ9に記憶されていないと判定した場合、スマートフォン1は、起動させるアプリケーションを検出できなかった旨の音声ガイダンスを出力するとともに、音声ガイダンスに対応する文字を吹き出し形式でディスプレイ2Aに表示してもよい。例えば、スマートフォン1は、“連携アプリが見つかりませんでした”という音声ガイダンスを出力し、音声ガイダンスに対応する文字(O−2)を実行画面50に表示することができる。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、実行画面50に表示されるボタン50aに対応する操作を検出すると(ステップS25)、アプリケーションの一覧を実行画面50に表示する(ステップS26)。実行画面50には、SMSアプリケーション9Bに対応するアイコンA1、Eメールアプリケーション9Cに対応するアイコンA2、メモ帳アプリケーション9Dに対応するアイコンA3、動画アプリケーション9Eに対応するアイコンA4、及びブラウザアプリケーション9Fに対応するアイコンA5が表示される。さらに、スマートフォン1は、実行画面50に、対話型のインタフェースを終了させるためのボタン50b、及び音声の入力をやり直すためのボタン50cを表示する。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、動画アプリケーション9Eに対応するアイコンA4に対する操作を検出すると(ステップS27)、動画アプリケーション9Eを起動し、動画アプリケーション9Eの画面62をディスプレイ2Aに表示する(ステップS28)。動画アプリケーション9Eを起動する際、スマートフォン1は、音声の認識結果を動画アプリケーション9Eに受け渡し、例えば、画面62にある検索入力ボックス62aに、音声の認識結果に対応する文字が入力された状態で画面62を表示させてもよい。
スマートフォン1は、対話型のインタフェースを介してマイク8により入力される音声の認識には成功しても、音声の認識結果に対応するアプリケーションを判別できなければ、アプリケーションを自動的に起動することができない。図3に示すように、スマートフォン1は、例えば、入力された音声を“クリオネ”であると認識したとしても、“クリオネ”に対応するアプリケーションを判別できない場合が起こり得る。そこで、スマートフォン1は、音声の認識結果に対応するアプリケーションを判別することができなくても、アプリケーションの一覧を表示させて、ユーザ自身に選択させる。このように、実施形態1によれば、従来はアプリケーションの起動失敗で終了していた処理を、アプリケーションの起動まで連携させることができ、対話型のインタフェースを介する処理を改善することができる。
スマートフォン1は、マイク8により入力される音声の認識結果を、例えば、文字情報として、アプリケーションの一覧から起動させるアプリケーションに受け渡すことにより、対話型のインタフェース上でのやり取りを有効活用することもできる。
スマートフォン1は、図3に示すステップS23〜ステップS24の処理を省略してもよい。スマートフォン1は、音声の認識結果に対応するアプリケーションを検出できないと判定した場合、ステップS23〜ステップS24の処理を経由することなく、直接、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示するようにしてもよい。
図3では、音声の認識結果に対応するアプリケーションを検出できないと判定した場合のスマートフォン1による処理の一例を説明したが、例えば、マイク8により入力される音声の認識失敗した場合も、図3で説明した処理と同様の処理を適用できる。この場合、図3に示すステップS23〜ステップS24において、入力された音声に対応する文字を表示しなくてもよいし、認識結果に基づいて可能性がより高い文字を推測して表示するようにしてもよい。
図4を用いて、実施形態1に係るスマートフォン1による処理手順の一例を説明する。図4に示す処理手順は、コントローラ10が、ストレージ9に記憶されている制御プログラム9Aなどを実行することによって実現される。
図4に示すように、コントローラ10は、対話型のインタフェースの実行画面をディスプレイ2Aに表示させる(ステップS101)。コントローラ10は、例えば、タッチスクリーン2Bを介して、対話型のインタフェースを起動させるためのアイコン50aに対する操作を検出すると、対話型のインタフェースを起動し、インタフェースの実行画面50をディスプレイ2Aに表示させる(図2、3参照)。
続いて、コントローラ10は、マイク8により入力される音声の音声データを取得すると(ステップS102)、音声データの認識処理を実行し、音声の認識に成功したかを判定する(ステップS103)。
コントローラ10は、判定の結果、音声の認識に成功した場合には(ステップS103,Yes)、ストレージ9に記憶されているアプリケーションの中から、認識結果に対応するアプリケーションを検出できたかを判定する(ステップS104)。
コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できた場合には(ステップS104、Yes)、対応するアプリケーションを起動し(ステップS105)、図4に示す処理手順を終了する。
一方、コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できない場合には(ステップS104,No)、アプリケーションの一覧を表示させるためのボタン50a(図3参照)を実行画面50に表示させ、ボタン50aに対する操作を検出次第、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させる(ステップS106)。認識結果に対応するアプリケーションを検出できない場合、コントローラ10は、ボタン50aを実行画面50に表示させ、ボタン50aに対する操作を検出次第、連携アプリケーションの一覧などを実行画面50に表示させるという手順とは別の手順で処理してもよい。例えば、コントローラ10は、認識結果に対応するアプリケーションを検出できない場合には、直ちに、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させるようにしてもよい。
続いて、コントローラ10は、タッチスクリーン2Bを介して、実行画面50に対する操作が検出されたかを判定する(ステップS107)。
コントローラ10は、判定の結果、実行画面50に対する操作が検出されない場合には(ステップS107,No)、実行画面50に対する操作が検出されるまで、ステップS107の判定を繰り返し実行する。
コントローラ10は、判定の結果、実行画面50に対する操作が検出された場合には(ステップS107,Yes)、検出された操作がアプリケーションの選択であるかを判定する(ステップS108)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているアイコンA1〜A5(図3参照)のいずれかに対する操作であるかを判定する。
コントローラ10は、判定の結果、アプリケーションの選択である場合には(ステップS108,Yes)、選択されたアプリケーションを起動し(ステップS109)、図4に示す処理手順を終了する。
一方、コントローラ10は、判定の結果、アプリケーションの選択でない場合には(ステップS108,No)、検出された操作が音声再入力の選択であるかを判定する(ステップS110)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているボタン50c(図3参照)に対する操作であるかを判定する。
コントローラ10は、判定の結果、音声再入力の選択である場合には(ステップS110,Yes)、上記ステップS102の処理手順に戻って、マイク8により入力される音声データを再取得し、以降の処理手順を継続する。
コントローラ10は、判定の結果、音声再入力の選択でない場合には(ステップS110,No)、対話型のインタフェースの終了処理であるものと判定し、図4に示す処理手順を終了する。コントローラ10は、タッチスクリーン2Bを介して検出された操作がボタン50cに対する操作でない場合には、対話型のインタフェースを終了させるためのボタン50b(図3参照)に対する操作であるものと判定して、図4の処理手順を終了する。
上記ステップS103において、コントローラ10は、判定の結果、音声の認識に失敗した場合には(ステップS103,No)、上記ステップS106の処理手順に移り、以降の処理手順を継続する。コントローラ10は、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させて、実行画面50に対してユーザの操作が検出されるのを待つ。
図4に示す処理手順の順番は、図4に示す例に限定されない。例えば、上記ステップS108の処理手順による判定と、上記ステップS110の処理手順による判定の順番が逆であってもよい。
図4に示す処理手順では、音声の認識に失敗した場合に、連携アプリケーションの一覧などを実行画面50に表示させる例を説明したが、これには限定されない。例えば、一定回数連続して音声の認識を失敗した場合には、連携アプリケーションの一覧などを実行画面50に表示させるようにしてもよい。これにより、例えば、音声の入力ミスによるアプリケーションの起動失敗に迅速に対応できる。
制御プログラム9Aは、一定回数連続して音声の認識を失敗した場合に、連携アプリケーションの一覧などを実行画面50に表示させる機能を提供する。音声認識の失敗の回数は、特に限定されることなく、任意の回数を適用できる。
コントローラ10は、制御プログラム9Aを実行することにより、一定回数連続して音声の認識を失敗した場合に、連携アプリケーションの一覧などを実行画面50に表示させる。
図5は、実施形態1に係るスマートフォン1による処理手順の他の例を示す図である。図5に示す処理手順は、コントローラ10が、ストレージ9に記憶されている制御プログラム9Aなどを実行することによって実現される。図5に示す処理手順は、図4に示す処理手順に加えて、ステップS211に示す処理手順を含む。
図5に示すように、コントローラ10は、対話型のインタフェースの実行画面をディスプレイ2Aに表示させる(ステップS201)。コントローラ10は、例えば、タッチスクリーン2Bを介して、対話型のインタフェースを起動させるためのアイコン50aに対する操作を検出すると、対話型のインタフェースを起動し、インタフェースの実行画面50をディスプレイ2Aに表示させる(図2、3参照)。
続いて、コントローラ10は、マイク8により入力される音声の音声データを取得すると(ステップS202)、音声データの認識処理を実行し、音声の認識に成功したかを判定する(ステップS203)。
コントローラ10は、判定の結果、音声の認識に成功した場合には(ステップS203,Yes)、ストレージ9に記憶されているアプリケーションの中から、認識結果に対応するアプリケーションを検出できたかを判定する(ステップS204)。
コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できた場合には(ステップS204、Yes)、対応するアプリケーションを起動し(ステップS205)、図5に示す処理手順を終了する。
一方、コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できない場合には(ステップS204,No)、アプリケーションの一覧を表示させるためのボタン50a(図3参照)を実行画面50に表示させ、ボタン50aに対する操作を検出次第、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させる(ステップS206)。認識結果に対応するアプリケーションを検出できない場合、コントローラ10は、ボタン50aを実行画面50に表示させ、ボタン50aに対する操作を検出次第、連携アプリケーションの一覧などを実行画面50に表示させるという手順とは別の手順で処理を行ってもよい。例えば、コントローラ10は、認識結果に対応するアプリケーションを検出できない場合には、直ちに、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させるようにしてもよい。
続いて、コントローラ10は、タッチスクリーン2Bを介して、実行画面50に対する操作が検出されたかを判定する(ステップS207)。
コントローラ10は、判定の結果、実行画面50に対する操作が検出されない場合には(ステップS207,No)、実行画面50に対する操作が検出されるまで、ステップS207の判定を繰り返し実行する。
コントローラ10は、判定の結果、実行画面50に対する操作が検出された場合には(ステップS207,Yes)、検出された操作がアプリケーションの選択であるかを判定する(ステップS208)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているアイコンA1〜A5(図3参照)のいずれかに対する操作であるかを判定する。
コントローラ10は、判定の結果、アプリケーションの選択である場合には(ステップS208,Yes)、選択されたアプリケーションを起動し(ステップS209)、図5に示す処理手順を終了する。
一方、コントローラ10は、判定の結果、アプリケーションの選択でない場合には(ステップS208,No)、検出された操作が音声再入力の選択であるかを判定する(ステップS210)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているボタン50c(図3参照)に対する操作であるかを判定する。
コントローラ10は、判定の結果、音声再入力の選択である場合には(ステップS210,Yes)、上記ステップS202の処理手順に戻って、マイク8により入力される音声データを再取得し、以降の処理手順を継続する。
コントローラ10は、判定の結果、音声再入力の選択でない場合には(ステップS210,No)、対話型のインタフェースの終了処理であるものと判定し、図5に示す処理手順を終了する。コントローラ10は、タッチスクリーン2Bを介して検出された操作がボタン50cに対する操作でない場合には、対話型のインタフェースを終了させるためのボタン50b(図3参照)に対する操作であるものと判定して、図5の処理手順を終了する。
上記ステップS203において、コントローラ10は、判定の結果、音声の認識に失敗した場合には(ステップS203,No)、図4に示す処理手順とは異なり、一定回数連続して音声の認識に失敗したかを判定する(ステップS211)。
コントローラ10は、判定の結果、一定回数連続して音声の認識に失敗した場合には(ステップS211,Yes)、上記ステップS206の処理手順に移り、以降の処理手順を継続する。コントローラ10は、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させて、実行画面50に対してユーザの操作が検出されるのを待つ。
コントローラ10は、判定の結果、一定回数連続して音声の認識に失敗していない場合には(ステップS211,No)、上記ステップS202の処理手順に戻って、マイク8により入力される音声データを再取得し、以降の処理手順を継続する。このとき、コントローラ10は、音声の再入力を促すための音声ガイダンスを出力するようにしてもよい。
図5に示す処理手順の順番は、図5に示す例に限定されない。例えば、上記ステップS208の処理手順による判定と、上記ステップS210の処理手順による判定の順番が逆であってもよい。
(実施形態2)
実施形態1において、音声の認識結果に対応するアプリケーションを検出できないと判定した場合に、該当の認識結果を、アプリケーションを起動させるための呼び方として登録するようにしてもよい。これにより、次回以降の処理において、同一の音声によりアプリケーションを起動させることができる。
制御プログラム9Aは、音声の認識結果に対応するアプリケーションを検出できないと判定した場合に、認識結果をアプリケーションの呼び方として登録するための機能を提供する。
コントローラ10は、制御プログラム9Aを実行することにより、音声の認識結果に対応するアプリケーションを検出できないと判定した場合に、認識結果をアプリケーションの呼び方として登録するための処理を実行する。
図6及び図7を用いて、実施形態2におけるスマートフォン1により実行される処理の一例について説明する。図6及び図7に登場するF1は、ユーザの指を示す。以下では、いわゆるロック画面がディスプレイ2Aに表示されている場合の処理の一例について説明するが、いわゆるホーム画面がディスプレイ2に表示されている場合であっても、同様の処理を実現できる。
図6に示すように、スマートフォン1は、ディスプレイ2Aにロック画面40を表示している。そして、スマートフォン1は、タッチスクリーン2Bを介して、ロック画面40に配置されているアイコン40aに対する操作を検出すると(ステップS31)、ディスプレイ2Aに対話型のインタフェースの実行画面50を表示する(ステップS32)。
続いて、スマートフォン1は、マイク8により音声が入力されると、入力された音声の認識処理を実行する。認識結果に対応するアプリケーションがストレージ9に記憶されていないと判定した場合、スマートフォン1は、ストレージ9に記憶されているアプリケーションの一覧を表示させるためのボタン50a、及び認識結果をアプリケーションの呼び方として登録するためのボタン50dを実行画面50に表示させる(ステップS33〜ステップS34)。
図6に示すステップS33〜ステップS34において、スマートフォン1は、マイク8により入力される音声の認識処理の結果に基づいて、音声に対応する文字を吹き出し形式で実行画面50に表示する。例えば、スマートフォン1は、“検索”という文字(I−3)を実行画面50に表示する。音声の認識結果に対応するアプリケーションを検出できないと判定した場合、スマートフォン1は、起動させるアプリケーションを検出できなかった旨の音声ガイダンスを出力するとともに、音声ガイダンスに対応する文字を吹き出し形式でディスプレイ2Aに表示してもよい。例えば、スマートフォン1は、“連携アプリが見つかりませんでした。”という音声ガイダンスを出力し、音声ガイダンスに対応する文字(O−2)を実行画面50に表示することができる。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、実行画面50に表示されるボタン50dに対応する操作を検出すると(ステップS35)、呼び方を関連付けるアプリケーションを選択するための画面70に表示する(ステップS36)。画面70には、各アプリケーションに対応する画像が一覧表示される。呼び方の登録が行われているアプリケーションについては、呼び方が合わせて表示される。例えば、図6に示すように、SMSアプリケーション9Bについては、“ミニメール”という呼び方が登録済みものとして表示されている。画面70には、呼び方の登録の選択を促すメッセージ70aが表示される。画面70を表示する際、メッセージ70aに対応する音声ガイダンスを出力してもよい。メッセージ70aを画面70に表示せずに、音声ガイダンスのみを出力してもよいし、メッセージ70aの表示および音声ガイダンスの出力の双方を行わなくてもよい。
続いて、図7に示すように、スマートフォン1は、タッチスクリーン2Bを介して、画面70に表示されているブラウザアプリケーション9Fに対応する箇所への操作を検出すると(ステップS37)、呼び方の登録を行うか否かの確認画面71をディスプレイ2Aに表示する(ステップS38)。確認画面71には、ブラウザアプリケーション9Fの呼び方として“検索”を登録するかを確認するメッセージと、登録を許可する場合の操作位置(例えば、OKと表記される位置)、登録を許可しない場合の操作位置(例えば、キャンセルと表記される位置)が表示される。
続いて、スマートフォン1は、タッチスクリーン2Bを介して、確認画面71において“OK”と表記される位置への操作を検出すると(ステップS39)、ブラウザアプリケーション9Fの呼び方として“検索”を登録し、画面70をディスプレイ2Aに表示する(ステップS40)。画面70には、呼び方の登録が完了した旨のメッセージ70bが表示される。画面70を表示する際、メッセージ70bに対応する音声ガイダンスを出力してもよい。メッセージ70bを画面70に表示せずに、音声ガイダンスのみを出力してもよいし、メッセージ70bの表示および音声ガイダンスの出力の双方を行わなくてもよい。スマートフォン1は、呼び方の登録が完了した旨のメッセージ70bを含む画面70を表示した後、図6及び図7に示す処理を終了し、例えば、ロック画面40、又はいわゆるホーム画面などをディスプレイ2Aに表示させる。
ステップS39において、スマートフォン1は、タッチスクリーン2Bを介して、確認画面71において“キャンセル”と表記される位置への操作を検出した場合には、ステップS34の実行画面50に戻ってもよいし、対話型のインタフェースを終了してもよい。
図8〜図10を用いて、実施形態2に係るスマートフォン1による処理手順の一例を説明する。図8〜図10に示す処理手順は、コントローラ10が、ストレージ9に記憶されている制御プログラム9Aなどを実行することによって実現される。図8〜図10に示す処理手順は、実施形態1で説明した処理手順(図5)に加えて、ステップS306〜ステップS313に示す処理手順を含む。
図8に示すように、コントローラ10は、対話型のインタフェースの実行画面をディスプレイ2Aに表示させる(ステップS301)。
続いて、コントローラ10は、マイク8により入力される音声の音声データを取得すると(ステップS302)、音声データの認識処理を実行し、音声の認識に成功したかを判定する(ステップS303)。
コントローラ10は、判定の結果、音声の認識に成功した場合には(ステップS303,Yes)、ストレージ9に記憶されているアプリケーションの中から、認識結果に対応するアプリケーションを検出できたかを判定する(ステップS304)。
コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できた場合には(ステップS304、Yes)、対応するアプリケーションを起動して(ステップS305)、処理手順を終了する。
一方、コントローラ10は、判定の結果、認識結果に対応するアプリケーションを検出できない場合には(ステップS304,No)、連携アプリケーションの一覧を表示させるためのボタン50a、及び呼び方の登録を行うためのボタン50d(図6参照)を実行画面50に表示させる(ステップS306)。
続いて、コントローラ10は、タッチスクリーン2Bを介して、実行画面50に対する操作が検出されたかを判定する(ステップS307)。
コントローラ10は、判定の結果、実行画面50に対する操作が検出されない場合には(ステップS307,No)、実行画面50に対する操作が検出されるまで、ステップS307の判定を繰り返し実行する。
コントローラ10は、判定の結果、実行画面50に対する操作が検出された場合には(ステップS307,Yes)、検出された操作が呼び方の登録であるかを判定する(ステップS308)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているボタン50d(図6参照)に対する操作であるかを判定する。
コントローラ10は、判定の結果、呼び方の登録である場合には(ステップS308,Yes)、図9に示すように、呼び方を関連付けるアプリケーションを選択するための画面70(図7参照)をディスプレイ2Aに表示させる(ステップS309)。
続いて、コントローラ10は、タッチスクリーン2Bを介して検出される画面70でのアプリケーションの選択に応じて、呼び方の登録を実行するかを確認するための確認画面71をディスプレイ2Aに表示させる(ステップS310)。
続いて、コントローラ10は、呼び方の登録が許可されたかを判定する(ステップS311)。コントローラ10は、確認画面71において“OK”と表記される位置(図7参照)への操作を検出したかを判定する。
コントローラ10は、判定の結果、呼び方の登録が許可された場合には(ステップS311,Yes)、選択されたアプリケーションに関連付けて呼び方を登録し(ステップS312)、処理手順を終了する。コントローラ10は、ステップS309で選択されたアプリケーションに関連付けて、ステップS303の認識結果を呼び方として登録する(ステップS312)。コントローラ10は、アプリケーションに関連付けられる呼び方のデータを、例えば、ストレージ9の設定データ9Zに格納する。
コントローラ10は、判定の結果、呼び方の登録が許可されない場合には(ステップS311,No)、上記ステップS306に戻る。コントローラ10は、ボタン50aおよびボタン50dが表示される実行画面50をディスプレイ2Aに再表示させる。コントローラ10は、例えば、呼び方の登録をやめて、アプリケーションの一覧を表示させたいというユーザの心変わりに対処する。コントローラ10は、上記ステップS306に戻る手順に限定されるものではなく、例えば、処理手順を終了してもよい。
上記ステップS308において、コントローラ10は、判定の結果、検出された操作が呼び方の登録でない場合には(ステップS308,No)、アプリケーションの一覧などの表示であるものと判定して、図8に示すように、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示する(ステップS313)。
続いて、コントローラ10は、タッチスクリーン2Bを介して、実行画面50に対する操作が検出されたかを判定する(ステップS314)。
コントローラ10は、判定の結果、実行画面50に対する操作が検出されない場合には(ステップS314,No)、実行画面50に対する操作が検出されるまで、ステップS314の判定を繰り返し実行する。
コントローラ10は、判定の結果、実行画面50に対する操作が検出された場合には(ステップS314,Yes)、図10に示すように、検出された操作がアプリケーションの選択であるかを判定する(ステップS315)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているアイコンA1〜A5(図3参照)のいずれかに対する操作であるかを判定する。
コントローラ10は、判定の結果、アプリケーションの選択である場合には(ステップS315,Yes)、選択されたアプリケーションを起動し(ステップS316)、処理手順を終了する。
一方、コントローラ10は、判定の結果、アプリケーションの選択でない場合には(ステップS315,No)、検出された操作が音声再入力の選択であるかを判定する(ステップS317)。コントローラ10は、タッチスクリーン2Bを介して検出された操作が、実行画面50に表示されているボタン50c(図3参照)に対する操作であるかを判定する。
コントローラ10は、判定の結果、音声再入力の選択である場合には(ステップS317,Yes)、上記ステップS302の処理手順に戻って、マイク8により入力される音声データを再取得し、以降の処理手順を継続する。
コントローラ10は、判定の結果、音声再入力の選択でない場合には(ステップS317,No)、対話型のインタフェースの終了処理であるものと判定し、処理手順を終了する。コントローラ10は、タッチスクリーン2Bを介して検出された操作がボタン50cに対する操作でない場合には、対話型のインタフェースを終了させるためのボタン50b(図3参照)に対する操作であるものと判定して、処理手順を終了する。
上記ステップS303において、コントローラ10は、判定の結果、音声の認識に失敗した場合には(ステップS303,No)、一定回数連続して音声の認識に失敗したかを判定する(ステップS318)。
コントローラ10は、判定の結果、一定回数連続して音声の認識に失敗した場合には(ステップS318,Yes)、上記ステップS313の処理手順に移り、以降の処理手順を継続する。コントローラ10は、連携アプリケーションの一覧、音声再入力ボタン、及び終了ボタンを実行画面50に表示させて、実行画面50に対してユーザの操作が検出されるのを待つ。
コントローラ10は、判定の結果、一定回数連続して音声の認識に失敗していない場合には(ステップS318,No)、上記ステップS302の処理手順に戻って、マイク8により入力される音声データを再取得し、以降の処理手順を継続する。このとき、コントローラ10は、音声の再入力を促すための音声ガイダンスを出力するようにしてもよい。
図8〜図10に示す処理手順の順番は、図8〜図10に示す例に限定されない。例えば、上記ステップS315の処理手順と、上記ステップS317の処理手順の順番が逆であってもよい。図8〜図10に示す処理手順は、図に示すすべて処理手順を含んでいなくてもよい。例えば、ステップS318の処理手順を含んでいなくてもよい。
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成により具現化されるべきである。
例えば、図1に示した制御プログラム9A及び各アプリケーションは、複数のモジュールに分割されていてもよい。あるいは、図1に示した制御プログラム9Aは、他のプログラムと結合されていてもよい。
上記実施形態では、タッチスクリーンを備える装置の一例として、スマートフォンについて説明したが、添付の請求項に係る装置は、スマートフォンに限定されない。添付の請求項に係る装置は、スマートフォン以外の電子機器であってもよい。電子機器は、例えば、モバイルフォン、タブレット、携帯型パソコン、デジタルカメラ、メディアプレイヤ、電子書籍リーダ、ナビゲータ、及びゲーム機である。あるいは、添付の請求項に係る装置は、据え置き型の電子機器であってもよい。据え置き型の電子機器は、例えば、デスクトップパソコン、及びテレビ受像器である。
上記実施形態の対話型のインタフェースでは、音声入力に対して音声ガイダンスおよびディスプレイ表示によって応答しているが、いずれか一方によって応答するインタフェースを採用してもよい。
上記実施形態の対話型のインタフェースでは、音声入力によってアプリケーションを起動することができる。このスマートフォン1では、音声入力によって起動することになったアプリケーションが既に起動している場合、当該アプリケーションを実行する。上記実施形態において、スマートフォン1(コントローラ10)がプログラム(又は、アプリケーション)を起動する場合には、ストレージ9に記憶されているプログラムを新たに読み出してその処理を開始する場合と、既に読み出されているプログラムの処理を新たに開始する場合とが含まれる。上記実施形態において、スマートフォン1(コントローラ10)がプログラムを実行する場合には、プログラムを起動する場合と、中断中のプログラムを再開する場合と、起動済のプログラムの処理を継続する場合とが含まれる。