(57)【要約】      （修正有）【課題】音声による操作の利便性を向上できる電子機器を提供する。【解決手段】電子機器は、接続手段と取得手段と第１制御手段とを具備する。接続手段は、電子機器をユーザが装着可能なウェアラブル機器に、有線または無線で接続する。取得手段は、ウェアラブル機器から、ユーザによる発話を集音することによって得られた音声データを取得する。第１制御手段（音声制御プログラム）は、音声認識モードが音声データから複数の第１コマンドの１つを認識する第１認識処理が実行される第１モードに設定された場合、第１モードを示す情報を電子機器上で実行されている１つ以上のホストアプリケーションプログラムに送出し、音声認識モードが音声データから複数の第２コマンドの１つを認識する第２認識処理が繰り返し実行される第２モードに設定された場合、第２モードを示す情報をホストアプリケーションプログラムに送出する。【選択図】図７
2020047062.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが携行可能な電子機器であって、
当該電子機器を前記ユーザが装着可能なウェアラブル機器に有線または無線で接続する接続手段と、
前記ウェアラブル機器から、前記ユーザによる発話を集音することによって得られた音声データを取得する取得手段と、
音声認識モードが、前記音声データから複数の第１コマンドの１つを認識する第１認識処理が実行される第１モードに設定された場合、前記第１モードを示す第１モード情報を前記電子機器上で実行されている１つ以上のアプリケーションプログラムに送出し、前記音声認識モードが、前記音声データから複数の第２コマンドの１つを認識する第２認識処理が繰り返し実行される第２モードに設定された場合、前記第２モードを示す第２モード情報を前記アプリケーションプログラムに送出する第１制御手段とを具備する電子機器。
【請求項２】
前記音声認識モードが前記第１モードに設定された場合、前記第１モード情報を用いて、前記音声認識モードが前記第１モードであることを前記ユーザに通知し、前記音声認識モードが前記第２モードに設定された場合、前記第２モード情報を用いて、前記音声認識モードが前記第２モードであることを前記ユーザに通知する第２制御手段をさらに具備する請求項１記載の電子機器。
【請求項３】
前記第２制御手段は、
前記音声認識モードが前記第１モードに設定された場合、前記第１モードを表すオブジェクトを前記ウェアラブル機器に設けられるディスプレイの画面に表示し、
前記音声認識モードが前記第２モードに設定された場合、前記第２モードを表すオブジェクトを前記画面に表示する請求項２記載の電子機器。
【請求項４】
前記第１制御手段はさらに、
前記音声認識モードが前記第１モードに設定された場合、前記第１認識処理で認識されたコマンドを示す情報を前記アプリケーションプログラムに送出し、
前記音声認識モードが前記第２モードに設定された場合、前記第２認識処理で認識されたコマンドを示す情報を前記アプリケーションプログラムに送出する請求項１記載の電子機器。
【請求項５】
前記第１制御手段は、
前記音声認識モードが前記第１モードに設定された場合、前記第１モード情報を前記電子機器上で実行されている第１アプリケーションプログラムに送出し、前記第１認識処理で認識されたコマンドを示す情報を前記電子機器上で実行されている第２アプリケーションプログラムに送出し、
前記音声認識モードが前記第２モードに設定された場合、前記第２モード情報を前記第１アプリケーションプログラムに送出し、前記第２認識処理で認識されたコマンドを示す情報を前記第２アプリケーションプログラムに送出する請求項１記載の電子機器。
【請求項６】
前記第１制御手段は、前記音声認識モードが前記音声データから１つ以上の第３コマンドの１つを認識する第３モードに設定された場合、前記第３モードを示す第３モード情報を前記アプリケーションプログラムに送出する請求項１記載の電子機器。
【請求項７】
前記音声認識モードが前記第１モードに設定された場合、前記第１モード情報を用いて、前記音声認識モードが前記第１モードであることを前記ユーザに通知し、前記音声認識モードが前記第２モードに設定された場合、前記第２モード情報を用いて、前記音声認識モードが前記第２モードであることを前記ユーザに通知し、前記音声認識モードが前記第３モードに設定された場合、前記第３モード情報を用いて、前記音声認識モードが前記第３モードであることを前記ユーザに通知する第２制御手段をさらに具備する請求項６記載の電子機器。
【請求項８】
前記第２制御手段は、
前記音声認識モードが前記第１モードに設定された場合、前記第１モードを表すオブジェクトを、前記ウェアラブル機器に設けられるディスプレイの画面に表示し、
前記音声認識モードが前記第２モードに設定された場合、前記第２モードを表すオブジェクトを前記画面に表示し、
前記音声認識モードが前記第１モードから前記第３モードに切り替えられた場合、前記第１モードを表すオブジェクトを前記画面から消去し、
前記音声認識モードが前記第２モードから前記第３モードに切り替えられた場合、前記第２モードを表すオブジェクトを前記画面から消去する請求項７記載の電子機器。
【請求項９】
前記第２制御手段は、
前記音声認識モードが前記第１モードに設定された場合、前記第１モードを表すオブジェクトを、前記ウェアラブル機器に設けられるディスプレイの画面に表示し、
前記音声認識モードが前記第２モードに設定された場合、前記第２モードを表すオブジェクトを前記画面に表示し、
前記音声認識モードが前記第３モードに設定された場合、前記第３モードを表すオブジェクトを前記画面に表示する請求項７記載の電子機器。
【請求項１０】
前記第１制御手段は、
前記音声認識モードが前記第１モードに設定された場合、前記第１モード情報を前記電子機器上で実行されている第１アプリケーションプログラムに送出し、前記第１認識処理で認識されたコマンドを示す情報を前記電子機器上で実行されている第２アプリケーションプログラムに送出し、
前記音声認識モードが前記第２モードに設定された場合、前記第２モード情報を前記第１アプリケーションプログラムに送出し、前記第２認識処理で認識されたコマンドを示す情報を前記第２アプリケーションプログラムに送出し、
前記音声認識モードが前記第３モードに設定された場合、前記第３モード情報を前記第１アプリケーションプログラムに送出する請求項７記載の電子機器。
【請求項１１】
前記音声認識モードが初期状態として前記第３モードに設定された場合、前記音声データから認識された前記第３コマンドの１つに応じて、前記音声認識モードを前記第１モードと前記第２モードのいずれかに切り替えるモード制御手段をさらに具備する請求項６記載の電子機器。
【請求項１２】
前記モード制御手段は、
前記音声データから、前記第３コマンドの１つが認識された場合、前記音声認識モードを前記第３モードから前記第１モードに切り替え、
前記音声データから、前記複数の第１コマンドに含まれる連続音声操作の開始を示す第４コマンドが認識された場合、前記音声認識モードを前記第１モードから前記第２モードに切り替え、
前記音声データから、前記複数の第１コマンドの内、前記第４コマンド以外の第６コマンドが認識された場合、前記音声認識モードを前記第１モードから前記第３モードに切り替え、
前記音声データから、前記複数の第２コマンドに含まれる連続音声操作の終了を示す第５コマンドが認識された場合、前記音声認識モードを前記第２モードから前記第３モードに切り替え、
前記音声データから、前記複数の第２コマンドの内、前記第５コマンド以外の第７コマンドが認識された場合、前記音声認識モードを前記第２モードに維持する請求項１１記載の電子機器。
【請求項１３】
前記モード制御手段は、
前記音声データから、前記１つ以上の第３コマンドに含まれる音声操作の開始を示す第８コマンドが認識された場合、前記音声認識モードを前記第３モードから前記第１モードに切り替え、
前記音声データから、前記複数の第１コマンドの１つが認識された場合、前記音声認識モードを前記第１モードから前記第３モードに切り替え、
前記音声データから、前記１つ以上の第３コマンドに含まれる連続音声操作の開始を示す第４コマンドが認識された場合、前記音声認識モードを前記第３モードから前記第２モードに切り替え、
前記音声データから、前記複数の第２コマンドに含まれる連続音声操作の終了を示す第５コマンドが認識された場合、前記音声認識モードを前記第２モードから前記第３モードに切り替え、
前記音声データから、前記複数の第２コマンドの内、前記第５コマンド以外の第７コマンドが認識された場合、前記音声認識モードを前記第２モードに維持する請求項１１記載の電子機器。
【請求項１４】
前記第３コマンドは、前記第１モードとして音声操作開始を示すトリガーコマンド、および前記第２モードとして連続音声操作開始を示すトリガーコマンド、を含む請求項１１記載の電子機器。
【請求項１５】
ユーザが携行可能な電子機器の制御方法であって、
当該電子機器を前記ユーザが装着可能なウェアラブル機器に有線または無線で接続し、
前記ウェアラブル機器から、前記ユーザによる発話を集音することによって得られた音声データを取得し、
音声認識モードが、前記音声データから複数の第１コマンドの１つを認識する第１認識処理が実行される第１モードに設定された場合、前記第１モードを示す情報を前記電子機器上で実行されている１つ以上のアプリケーションプログラムに送出し、
前記音声認識モードが、前記音声データから複数の第２コマンドの１つを認識する第２認識処理が繰り返し実行される第２モードに設定された場合、前記第２モードを示す情報を前記アプリケーションプログラムに送出する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、電子機器および制御方法に関する。
【背景技術】
【０００２】
多くのモノがインターネットでつながるＩｏＴ時代となり、オフィス、工場、その他様々な場面において、ネットワークコミュニケーションや情報共有のツールとしてエッジコンピューティングと呼ばれる技術が求められている。このエッジコンピューティングを実現するために、データセンター（あるいはクラウド）とは別に作業者（ユーザ）がその場で使用可能な、高度の汎用性と処理能力を持つ実用的なモバイルエッジコンピューティングデバイス（ＭＥＣＤ）の開発が必要とされている。これにより、作業現場等での業務効率化や生産性向上、あるいは、データの負荷分散やネットワーク環境の改善等を図ることが期待される。
【０００３】
ＭＥＣＤのようなモバイル機器は、メガネ型やブレスレット型のような各種のウェアラブル機器と一緒に用いられることがある。モバイル機器とウェアラブル機器とは相互にデータを送受信し、これにより、例えば、ウェアラブル機器に設けられたカメラやセンサにより生成されたデータをモバイル機器が処理することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１８４８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ユーザがモバイル機器を携行し、メガネ型やブレスレット型等の各種のウェアラブル機器を装着してハンズフリー作業を行う場合、マイクで集音したユーザによる発話の音声データを用いてモバイル機器やウェアラブル機器が操作されることがある。音声で操作できることにより、例えばキーボードやマウスのような入力デバイスをモバイル機器に接続して操作を行う必要がなく、ユーザによる作業を効率化できる。
【０００６】
スマートスピーカーのような音声認識装置では、例えば音声による操作のトリガーとなる特定の言葉（トリガーワード）が認識された後に、１つの命令が認識される。つまり、ユーザはトリガーワードを発話した後に１つの命令を発話できる。しかし、ユーザはトリガーワードを発話した後に複数の命令を連続して発話したい場合もある。
【０００７】
本発明が解決しようとする課題は、音声による操作の利便性を向上できる電子機器および制御方法を提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、ユーザが携行可能な電子機器は、接続手段と、取得手段と、第１制御手段とを具備する。前記接続手段は、当該電子機器を前記ユーザが装着可能なウェアラブル機器に有線または無線で接続する。前記取得手段は、前記ウェアラブル機器から、前記ユーザによる発話を集音することによって得られた音声データを取得する。前記第１制御手段は、音声認識モードが、前記音声データから複数の第１コマンドの１つを認識する第１認識処理が実行される第１モードに設定された場合、前記第１モードを示す情報を前記電子機器上で実行されている１つ以上のアプリケーションプログラムに送出し、前記音声認識モードが、前記音声データから複数の第２コマンドの１つを認識する第２認識処理が繰り返し実行される第２モードに設定された場合、前記第２モードを示す情報を前記アプリケーションプログラムに送出する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る電子機器（モバイルＰＣ）と当該電子機器に接続されるウェアラブルデバイスとの外観の例を示す斜視図。
【図２】第１実施形態の電子機器の正面、側面、および上面の外観の例を示す図。
【図３】第１実施形態の電子機器のシステム構成例を示すブロック図。
【図４】図１のウェアラブルデバイスの外観の例を示す斜視図。
【図５】図１のウェアラブルデバイスの本体の外観の例を示す斜視図。
【図６】図１のウェアラブルデバイスの本体のシステム構成例を示すブロック図。
【図７】第１実施形態の電子機器によって実行される音声制御プログラムおよびホストアプリケーションプログラムの機能構成の例を示すブロック図。
【図８】第１実施形態の電子機器における音声認識モードの遷移の例を示す図。
【図９】第１実施形態の電子機器によって用いられるトリガーモード辞書データの一構成例を示す図。
【図１０】第１実施形態の電子機器によって用いられるシングルモード辞書データの一構成例を示す図。
【図１１】第１実施形態の電子機器によって用いられるマルチモード辞書データの一構成例を示す図。
【図１２】図１のウェアラブルデバイスのディスプレイに表示される画面画像の例を示す図。
【図１３】図１のウェアラブルデバイスのディスプレイに表示される、シングルモードを示す情報を含む画面画像の例を示す図。
【図１４】図１のウェアラブルデバイスのディスプレイに表示される、マルチモードを示す情報を含む画面画像の例を示す図。
【図１５】第１実施形態の電子機器によって実行される音声制御処理の手順の例を示すフローチャート。
【図１６】第１実施形態の電子機器によって実行されるトリガーモード認識処理の手順の例を示すフローチャート。
【図１７】第１実施形態の電子機器によって実行されるシングルモード認識処理の手順の例を示すフローチャート。
【図１８】第１実施形態の電子機器によって実行されるマルチモード認識処理の手順の例を示すフローチャート。
【図１９】第１実施形態の電子機器によって実行されるホスト制御処理の手順の例を示すフローチャート。
【図２０】第２実施形態の電子機器における音声認識モードの遷移の例を示す図。
【図２１】第２実施形態の電子機器によって用いられるトリガーモード辞書データの一構成例を示す図。
【図２２】第２実施形態の電子機器によって用いられるシングルモード辞書データの一構成例を示す図。
【図２３】第２実施形態の電子機器によって用いられるマルチモード辞書データの一構成例を示す図。
【図２４】第２実施形態の電子機器によって実行される音声制御処理の手順の例を示すフローチャート。
【図２５】第３実施形態の電子機器によって実行される音声制御プログラムおよびホストアプリケーションプログラムの機能構成の例を示すブロック図。
【図２６】第４実施形態の電子機器によって実行される音声制御プログラムおよびホストアプリケーションプログラムの機能構成の例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。なお、開示はあくまで一例にすぎず、以下の実施形態に記載した内容により発明が限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各部分のサイズ、形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、対応する要素には同じ参照数字を付して、詳細な説明を省略する場合もある。
【００１１】
［制御システム］  
まず、図１を参照して、一実施形態に係る電子機器を含む制御システム１の構成例を説明する。この電子機器はユーザが携行可能な電子機器であり、例えばモバイルエッジコンピューティングデバイス（ＭＥＣＤ）を含むモバイルパーソナルコンピュータ（ＰＣ）や、スマートフォン、携帯電話機、ＰＤＡ等の携帯情報端末として実現され得る。以下では、この電子機器がモバイルＰＣ２として実現される場合を例示する。
【００１２】
制御システム１はモバイルＰＣ２とウェアラブルデバイス３とから構成される。ユーザはモバイルＰＣ２を携行し、ウェアラブルデバイス３を装着する。ウェアラブルデバイス３は、ユーザの身体（例えば、腕、首、頭、等）に装着可能なウェアラブル機器である。ウェアラブルデバイス３としては、メガネ型、ブレスレット型、腕時計型、ヘッドフォン型等のウェアラブルデバイスを使用することができる。以下では、ウェアラブルデバイス３がメガネ型ウェアラブルデバイスである場合を例示する。
【００１３】
ウェアラブルデバイス３は、メガネフレーム１４２とウェアラブルデバイス本体４とを備える。メガネフレーム１４２は一般的なメガネからレンズを取り除いた形状でもよく、作業者の顔に装着される。メガネフレーム１４２はレンズが取り付けられる構造としてもよい。作業者がメガネを常用する場合、常用しているメガネと同様な度数のレンズがメガネフレーム１４２に取り付けられてもよい。
【００１４】
ウェアラブルデバイス本体４はメガネフレーム１４２のテンプルに沿った側面部２４１と作業者の一方の眼球の視線上に位置する前面部２４２とからなる。側面部２４１に対する前面部２４２の角度は調節可能である。
【００１５】
モバイルＰＣ２とウェアラブルデバイス３とは有線または無線により接続される。図１に示す例では、モバイルＰＣ２とウェアラブルデバイス３とはケーブル１４６により接続されている。このケーブル１４６は、例えばＵＳＢ  Ｔｙｐｅ−Ｃ（登録商標）規格のケーブルである。なお、モバイルＰＣ２とウェアラブルデバイス３とは、無線ＬＡＮやブルートゥース（登録商標）のような各種の無線通信方式で接続されてもよい。
【００１６】
図１に示すように、ウェアラブルデバイス本体４の側面部２４１の後端には、ケーブル１４６の一端のプラグ１４６Ａが挿入されるＵＳＢ  Ｔｙｐｅ−Ｃ規格のレセプタクル１３２が設けられる。ケーブル１４６の他端のプラグ１４６Ｂは、モバイルＰＣ２の上部端面に設けられるＵＳＢ  Ｔｙｐｅ−Ｃ規格のレセプタクル２０７に挿入される。このように、ウェアラブルデバイス本体４はＵＳＢ  Ｔｙｐｅ−Ｃ規格のケーブル１４６を介してモバイルＰＣ２に接続され、各種の信号がウェアラブルデバイス本体４とモバイルＰＣ２との間で伝送される。なお、プラグとレセプタクルとは設計等に応じて置き換え可能であり、総称してコネクタとも云う。また、ウェアラブルデバイス本体４とモバイルＰＣ２とは、無線ＬＡＮ、ブルートゥース等の無線通信によりデータを伝送してもよい。
【００１７】
本実施形態では、ウェアラブルデバイス本体４は駆動電源としてのバッテリまたはＤＣ端子を備えず、駆動電源はモバイルＰＣ２からＵＳＢ  Ｔｙｐｅ−Ｃケーブル１４６を介してウェアラブルデバイス本体４に供給される例を示す。しかし、ウェアラブルデバイス本体４が駆動電源を備えていてもよい。
【００１８】
［モバイルＰＣ２］  
図２はモバイルＰＣ２の外観の一例を示す。モバイルＰＣ２は片手で把持可能な小型ＰＣであり、そのサイズは、幅が約１０ｃｍ以下、高さが約１８ｃｍ以下、厚さが２ｃｍ程度であり、重量は約３００ｇ程度と、小型で軽量である。このため、モバイルＰＣ２は作業着のポケット、ベルトに装着されるホルスタ、あるいはショルダーケースに収納でき、ウェアラブルである。モバイルＰＣ２は、ＣＰＵや半導体メモリ等の半導体チップやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）等のストレージデバイスを内蔵するが、ディスプレイと文字入力用のハードウェアキーボードは備えない。
【００１９】
モバイルＰＣ２の正面にはアップボタン２０２ａ、ライトボタン２０２ｂ、ダウンボタン２０２ｃ、レフトボタン２０２ｄ、および決定ボタン（センターボタン、エンターボタンとも称する）２０２ｅからなるカーソルボタン２０２が配置され、その下に指紋センサ２０４が配置される。文字入力用のハードウェアキーボードが設けられておらず、暗証番号（ＰＩＮとも称する）を入力することができないので、指紋センサ２０４はモバイルＰＣ２にログインする際のユーザ認証のために用いられる。カーソルボタン２０２は特定の処理の実行命令を入力するために用いられ得る。
【００２０】
カーソルボタン２０２の操作方法はプログラムによって決められる。  
例えば、  
決定ボタン２０２ｅが１回押されると、項目の選択／項目の実行がなされ、  
決定ボタン２０２ｅが長押しされると、終了または操作の取り消しがなされ、  
アップボタン２０２ａが１回押されると、カーソルが上に移動され、  
アップボタン２０２ａが長押しされると、起動中のアプリケーションの一覧が表示され、  
ダウンボタン２０２ｃが１回押されると、カーソルが下に移動され、  
ダウンボタン２０２ｃが長押しされると、クイックセッティングメニューが表示され、
レフトボタン２０２ｄが１回押されると、右のアイコンが選択され、  
ライトボタン２０２ｂが１回押されると、左のアイコンが選択される。
【００２１】
モバイルＰＣ２の上部側面には、ＵＳＢ３．０規格のレセプタクル２０６とＵＳＢ  Ｔｙｐｅ−Ｃ規格のレセプタクル２０７とオーディオジャック２０８が設けられる。
【００２２】
モバイルＰＣ２の一方の側面（正面から見て左側の側面）には、メモリカード用のカードスロット２１８が設けられる。メモリカードは、例えばＳＤカード、マイクロＳＤカード（登録商標）等を含む。
【００２３】
モバイルＰＣ２の他方の側面（正面から見て右側の側面）には、ケンジントンロック（登録商標）のためのスロット２１０、電源スイッチ２１２、パワーＬＥＤ２１３、ＤＣ  ＩＮ／バッテリＬＥＤ２１４、ＤＣ端子２１６、および冷却用の通風口２２２が設けられる。パワーＬＥＤ２１３は電源スイッチ２１２の近傍に配置され、電源オンの期間点灯する。ＤＣ  ＩＮ／バッテリＬＥＤ２１４はバッテリが充電中であるか否か等のモバイルＰＣ２の状態とバッテリの残量を表示する。モバイルＰＣ２はバッテリで駆動可能であるが、ＤＣ端子２１６にＡＣアダプタを接続した状態でも駆動可能である。図示しないが、裏面はワンタッチでバッテリが交換可能に構成されている。
【００２４】
図３はモバイルＰＣ２のシステム構成例を示す。モバイルＰＣ２はシステムコントローラ３０２を備え、システムコントローラ３０２はプロセッサ（ＣＰＵ）とコントローラ・ハブからなる。プロセッサには、主メモリ３０８、ＢＩＯＳ−ＲＯＭ３１０、パワーＬＥＤ２１３、ＤＣ  ＩＮ／バッテリＬＥＤ２１４、ＵＳＢコントローラ３２２が接続される。コントローラ・ハブには、フラッシュメモリ３２６、メモリカードコントローラ３２８、ＨＤＤまたはＳＳＤからなるストレージデバイス３３０、ＵＳＢ切替器３２４、オーディオコーデック３３４、３Ｇ／ＬＴＥ／ＧＰＳデバイス３３６、指紋センサ２０４、ＵＳＢ３．０レセプタクル２０６、ブルートゥース／無線ＬＡＮデバイス３４０、ＥＣ／ＫＢＣ３４４が接続される。
【００２５】
システムコントローラ３０２はストレージデバイス３３０から主メモリ３０８にロードされる様々なプログラムを実行する。システムコントローラ３０２は、これらプログラムに含まれる命令群を実行することによりモバイルＰＣ２内の各部の動作を制御する。
【００２６】
これらプログラムは、ＯＳ３０８Ａ、音声制御プログラム３０８Ｂ、および各種のアプリケーションプログラム３０８Ｃを含む。音声制御プログラム３０８Ｂは、モバイルＰＣ２およびウェアラブルデバイス３をユーザによって発話されたコマンドで制御するための機能を有する。コマンドは、例えば単語や簡易な文で構成される言葉であり、音声制御プログラム３０８Ｂによって用いられる辞書で規定されている。
【００２７】
音声制御プログラム３０８Ｂは、例えば、モバイルＰＣ２上で実行であって、ユーザが現在操作可能であるアクティブなアプリケーションプログラム（ホストアプリケーションプログラムとも称する）３０８Ｃに対して、ユーザによって発話された様々なコマンドを供給する。つまり、音声制御プログラム３０８Ｂはホストアプリケーションプログラム３０８Ｃと連携して動作する。
【００２８】
オーディオコーデック３３４は、再生対象のデジタルの音声信号をアナログの音声信号に変換して、オーディオジャック２０８に供給する。また、オーディオコーデック３３４は、オーディオジャック２０８から入力されるアナログの音声信号をデジタルの音声信号に変換する。
【００２９】
メモリカードコントローラ３２８は、メモリカードスロット２１８に挿入されるメモリカード（例えばＳＤカード）にアクセスして、メモリカードに対するデータの読み書きを制御する。
【００３０】
ＵＳＢコントローラ３２２は、ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル２０７に接続されるプラグを有するＵＳＢ  Ｔｙｐｅ−Ｃケーブル、またはＵＳＢ３．０レセプタクル２０６に接続されるプラグを有するＵＳＢ３．０ケーブル（図示せず）に対するデータの送受信を制御する。ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル２０７には、ＵＳＢハブやポート拡張アダプタを接続することにより、ＵＳＢ、ＨＤＭＩ（登録商標）等のインターフェースを使用できる。
【００３１】
ブルートゥース／無線ＬＡＮデバイス３４０は、外部機器またはネットワークとの接続のためにブルートゥース規格の無線通信またはＩＥＥＥ８０２．１１規格の無線ＬＡＮ通信を実行する。なお、ネットワークとの接続は無線通信によらず、ＩＥＥＥ８０２．３規格の有線ＬＡＮ通信によってもよい。  
指紋センサ２０４はモバイルＰＣ２が起動された際の指紋認証のために使用される。
【００３２】
ＥＣ／ＫＢＣ３４４には、サブプロセッサ３４６、電源スイッチ２１２およびカーソルボタン２０２が接続される。ＥＣ／ＫＢＣ３４４は、電源スイッチ２１２の操作に応じてモバイルＰＣ２をパワーオンまたはパワーオフする機能を有する。パワーオンおよびパワーオフの制御は、ＥＣ／ＫＢＣ３４４と電源回路３５０との協働動作によって実行される。ＥＣ／ＫＢＣ３４４はモバイルＰＣ２がパワーオフされている期間中も、バッテリ３５２またはＡＣアダプタ３５８からの電力によって動作する。電源回路３５０は、バッテリ３５２からの電力または外部電源として接続されるＡＣアダプタ３５８からの電力を用いて、各コンポーネントへ供給すべき電力を生成する。電源回路３５０は電圧レギュレータモジュール３５６を含み、電圧レギュレータモジュール３５６はシステムコントローラ３０２内のプロセッサに接続される。
【００３３】
なお、モバイルＰＣ２をウェアラブルデバイス本体４と別体として構成したが、モバイルＰＣ２をウェアラブルデバイス本体４内に組み込んで、両者を一体として構成してもよい。
【００３４】
［ウェアラブルデバイス３］  
図４および図５を参照して、モバイルＰＣ２に接続されるウェアラブルデバイス３の外観の一例を説明する。上述したように、ウェアラブルデバイス３はメガネフレーム１４２とウェアラブルデバイス本体４とを備える。
【００３５】
メガネフレーム１４２は、ウェアラブルデバイス本体４が着脱される取付具１４４を左右のテンプルに備える。図４では、作業者の右側に位置するテンプルの取付具１４４はウェアラブルデバイス本体４に隠され、示されていない。ウェアラブルデバイス本体４はディスプレイ１２４を備え、作業者はディスプレイ１２４の画面を片目で見る。そのため、ウェアラブルデバイス本体４が各作業者の利き目側に取り付けられるように、取付具１４４は左右のテンプルに設けられている。
【００３６】
なお、ウェアラブルデバイス本体４は取付具１４４によりメガネフレーム１４２に着脱自在に取り付けられなくてもよく、ウェアラブルデバイス本体４がメガネフレーム１４２に固定された右眼用または左眼用のウェアラブルデバイス３であってもよい。さらに、ウェアラブルデバイス本体４を、メガネフレーム１４２ではなく、作業者の頭部に装用されるヘルメット、ゴーグル等に取り付けてもよい。
【００３７】
ウェアラブルデバイス本体４は、図５に示すその係合片１２８が取付具１４４の上下の枠内に押し込まれることにより、メガネフレーム１４２に取り付けられる。ウェアラブルデバイス本体４をメガネフレーム１４２から取り外す場合は、この係合片１２８が取付具１４４から引き抜かれる。
【００３８】
係合片１２８は、取付具１４４に取り付けられた状態において、取付具１４４内で前後に多少は移動可能である。そのため、作業者の焦点がディスプレイ１２４の画面に合うように、ウェアラブルデバイス本体４の前後位置が調整可能である。
【００３９】
さらに、取付具１４４はテンプルに直交する軸１４４Ａを中心に回転可能であり、ウェアラブルデバイス本体４がメガネフレーム１４２に取り付けられた後、ディスプレイ１２４が作業者の視線上に位置するように上下位置が調整可能である。取付具１４４の回転角度は９０度程度であり、取付具１４４を上方向に大きく回転することにより、ウェアラブルデバイス本体４をメガネフレーム１４２からはね上げることができる。これにより、ウェアラブルデバイス本体４により視野が邪魔され実物を見ることが困難な場合や、狭い場所でウェアラブルデバイス本体４が周囲の物体に干渉する場合でも、ウェアラブルデバイス３全体を顔から外すことおよび再装着することなく、ウェアラブルデバイス本体４を作業者の視野から一時的に外すことおよび戻すことができる。
【００４０】
［ウェアラブルデバイス本体４］  
上述したように、ウェアラブルデバイス本体４はメガネフレーム１４２のテンプルに沿った側面部２４１と作業者の一方の眼球の視線上に位置する前面部２４２とからなる。側面部２４１に対する前面部２４２の角度は調節可能である。
【００４１】
図４に示すように、前面部２４２の外側表面にはカメラ１１６、フラッシュライト１１８、およびカメラＬＥＤ１２０が設けられる。フラッシュライト１１８は暗部の撮影時に発光する補助照明である。カメラＬＥＤ１２０は写真や動画の撮影時に点灯し、撮影対象者に撮影していることを認識させるためのものである。
【００４２】
右側のテンプルに取り付けられたウェアラブルデバイス本体４の側面部２４１の上側面に第１、第２、第３ボタン１０２、１０４、１０６が設けられる。なお、作業者の利き目が左眼の場合、ウェアラブルデバイス本体４は左側のテンプルに取り付けられる。右側に取り付けられるか左側に取り付けられるかで、ウェアラブルデバイス本体４の上下が反転するので、側面部２４１の上側面と下側面の両面に第１、第２、第３ボタン１０２、１０４、１０６が設けられてもよい。
【００４３】
側面部２４１の外側表面にはタッチパッド１１０、第４ボタン１０８、マイク１１２、および照度センサ１１４が設けられる。タッチパッド１１０と第４ボタン１０８は人差し指で操作可能である。ボタン１０２、１０４、１０６は、ウェアラブルデバイス本体４が右側に取り付けられた際、それぞれ人差し指、中指、薬指で操作可能な位置に配置される。
【００４４】
タッチパッド１１０は、その表面上で矢印に示すように作業者が指を上下前後に移動させたことを検出できるようにしている。この移動の検出は、指を接触したまま移動するドラッグの動きに加え指をさっと擦るフリックの動きも含む。タッチパッド１１０は、作業者の指の上下前後移動を検出すると、ウェアラブルデバイス本体４に対する特定の処理の実行命令を入力する。
【００４５】
第１〜第４ボタン１０２、１０４、１０６、１０８、タッチパッド１１０の操作方法はプログラムによって決められている。  
例えば、  
第３ボタン１０６が１回押されると、項目の選択／項目の実行がなされ（モバイルＰＣ２では、決定ボタン２０２ｅの１回押しに相当）、  
第３ボタン１０６が長押しされると、起動中のアプリケーションの一覧が表示され（モバイルＰＣ２では、アップボタン２０２ａの長押しに相当）、  
第２ボタン１０４が１回押されると、ホーム画面に戻り、  
第２ボタン１０４が長押しされると、クイックセッティングメニューが表示され（モバイルＰＣ２では、ダウンボタン２０２ｃの長押しに相当）、  
第１ボタン１０２が１回押されると、操作の取り消し（モバイルＰＣ２では、決定ボタン２０２ｅの１回押しに相当、あるいはキーボードのＥｓｃキーと同様の動作）が実行される。
【００４６】
タッチパッド１１０の操作に関しては、例えば、  
上下にドラッグされると、カーソルが上下に移動され、  
前にフリックされると、左のアイコンが選択され（連続してスクロール）（モバイルＰＣ２では、ライトボタン２０２ｂの１回押しに相当）、  
後ろにフリックされると、右のアイコンが選択され（連続してスクロール）（モバイルＰＣ２では、レフトボタン２０２ｄの１回押しに相当）、  
前にドラッグされると、左のアイコンが選択され（１項目ずつスクロール）（モバイルＰＣ２では、ライトボタン２０２ｂの１回押しに相当）、  
後ろにドラッグされると、右のアイコンが選択され（１項目ずつスクロール）（モバイルＰＣ２では、レフトボタン２０２ｄの１回押しに相当）る。
【００４７】
第１ボタン１０２は人差し指、第２ボタン１０４は中指、第３ボタン１０６は薬指、第４ボタン１０８は小指で操作できるような位置に配置される。なお、第４ボタン１０８が側面部２４１の上部ではなく側面部２４１の外側表面に設けられるのは、スペースの関係上であり、第４ボタン１０８も第１〜第３ボタン１０２、１０４、１０６と同様に側面部２４１の上部に設けられてもよい。
【００４８】
ウェアラブルデバイス本体４のボタン１０２、１０４、１０６、１０８とタッチパッド１１０とを用いた操作は、上述したモバイルＰＣ２に設けられたカーソルボタン２０２でも同様の操作が可能である。ウェアラブルデバイス本体４のボタン１０２、１０４、１０６、１０８とタッチパッド１１０で操作している様子を作業者は視認することができないので、作業者によっては意図した操作ができるまでに慣れが必要な場合もある。また、ボタン１０２、１０４、１０６、１０８とタッチパッド１１０は小型であるので、操作しづらい場合もある。本実施形態では、モバイルＰＣ２のカーソルボタン２０２でも同じ操作ができるので、上記の懸念は解消できる。
【００４９】
照度センサ１１４はディスプレイ１２４の輝度（すなわち明るさ）を自動調整するために周囲の照度を検出する。
【００５０】
図５はウェアラブルデバイス本体４の裏面の外観を例示する。前面部２４２の内側には、例えばＬＣＤであるディスプレイ１２４が設けられる。側面部２４１の内側にはマイク１２６、スピーカ１３０、および係合片１２８が設けられる。マイク１２６は側面部２４１の前方に、スピーカ１３０および係合片１２８は側面部２４１の後方に、設けられる。スピーカ１３０の代わりにヘッドフォンが用いられてもよい。その場合、マイクとヘッドフォンがインカムとして一体的に設けられてもよい。
【００５１】
図６はウェアラブルデバイス本体４のシステム構成の一例を示す。ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１３２はミキサ１６６に接続される。ディスプレイコントローラ１７０とＵＳＢハブ１６４はミキサ１６６の第１端子および第２端子にそれぞれ接続される。ディスプレイ１２４はディスプレイコントローラ１７０に接続される。カメラコントローラ１６８、オーディオコーデック１７２、およびセンサコントローラ１６２はＵＳＢハブ１６４に接続される。カメラ１１６とフラッシュライト１１８とカメラＬＥＤ１２０がカメラコントローラ１６８に接続される。マイク１１２、１２６からの音声信号がオーディオコーデック１７２に入力され、オーディオコーデック１７２からの音声信号がアンプ１７４を介してスピーカ１３０に入力される。
【００５２】
センサコントローラ１６２に、モーションセンサ（例えば、加速度／地磁気／重力／ジャイロセンサ等）１７６、照度センサ１１４、近接センサ１７８、タッチパッド１１０、第１〜第４ボタン１０２、１０４、１０６、１０８、およびＧＰＳセンサ１８０が接続される。センサコントローラ１６２はモーションセンサ１７６、照度センサ１１４、近接センサ１７８、タッチパッド１１０、第１〜第４ボタン１０２、１０４、１０６、１０８、およびＧＰＳセンサ１８０からの検出信号を処理して、モバイルＰＣ２へ命令やデータ等を供給する。図５には示していないが、モーションセンサ１７６および近接センサ１７８はウェアラブルデバイス本体４の内部に配置される。
【００５３】
モーションセンサ１７６はウェアラブルデバイス本体４の動き、向き、姿勢等を検出する。センサコントローラ１６２およびディスプレイコントローラ１７０は、モーションセンサ１７６によって検出された動き、向き、姿勢等に基づいてディスプレイ１２４に表示される画面画像の向きを自動的に調整する向きオート機能を有している。
【００５４】
近接センサ１７８は作業者の顔、指等の接近によりウェアラブルデバイス３の装着を検出する。
【００５５】
またセンサコントローラ１６２およびディスプレイコントローラ１７０は、照度センサ１１４によって検出された照度に基づき、ディスプレイ１２４の輝度を自動的に調整する輝度オート機能を有している。また、センサコントローラ１６２およびカメラコントローラ１６８は、照度センサ１１４によって検出された照度に基づき、フラッシュライト１１８のオンまたはオフを自動的に切り替えるＬＥＤライトオート機能を有している。
【００５６】
ところで、スマートスピーカーのような音声認識装置では、例えば音声による操作のトリガーとなる特定の言葉（トリガーワード）が認識された後に、１つの音声コマンド（命令）が認識される。つまり、ユーザはトリガーワードを発話した後に１つの音声コマンドを発話できる。しかし、ユーザはトリガーワードを発話した後に複数の音声コマンドを連続して発話したい場合もある。
【００５７】
ホストアプリケーションプログラム３０８ＣのＧＵＩを音声で操作する場合には、ＧＵＩに対して多数の操作が連続して行われることがある。例えばＧＵＩを含む画面において、音声による操作で、カーソルをあるオブジェクト（例えばボタン）上に移動させる場合、カーソルを一定量ずつ上下左右に移動させる操作が繰り返し行われ得る。このような状況において、操作のための音声コマンドを発話しようとする度に、事前にトリガーワードを発話しなければならないことは、ユーザにとって非常に煩雑である。そのため、連続して行われる複数の操作のための複数の音声コマンドを認識できる新たな機能の実現が必要とされる。
【００５８】
本実施形態では、トリガーワードが認識された後に１つの音声コマンドだけを認識可能なシングルモードと、トリガーワードが認識された後に複数の音声コマンドを連続して認識可能なマルチモードとが設けられる。ユーザはこれから行おうとする操作の内容に応じて音声認識のモードを切り替えることができるので、音声による操作の利便性を向上できる。またモード毎に別々の辞書データが用いられることにより、音声データから認識される音声コマンドが各モードで認識されるべきコマンドだけに限定されるので、誤認識の発生や処理の遅延を低減できる。
【００５９】
図７は、モバイルＰＣ２上で実行される音声制御プログラム３０８Ｂおよびホストアプリケーションプログラム３０８Ｃの機能構成の例を示す。音声制御プログラム３０８Ｂは、辞書記憶領域５８に格納されている音声認識モード毎の複数の辞書データ５８１，５８２，５８３を用いて、音声データからユーザによって発話された内容を認識する。辞書記憶領域５８は、例えばストレージデバイス３３０等の不揮発性メモリ内に設けられている。
【００６０】
音声制御プログラム３０８Ｂはホストアプリケーションプログラム３０８Ｃと連携して動作する。音声制御プログラム３０８Ｂは、連携する特定のホストアプリケーションプログラム３０８Ｃに音声認識結果を示す情報を送出する。以下では、音声制御プログラム３０８Ｂと連携するホストアプリケーションプログラム３０８Ｃが、カメラ１１６を用いた撮影機能を有する場合を例示する。
【００６１】
音声制御プログラム３０８Ｂは、音声取得部５１、音声認識部５２、モード制御部５４、辞書管理部５５、および通知制御部５６を備える。
【００６２】
音声取得部５１は、例えばウェアラブルデバイス３から、ユーザによる発話を集音することによって得られた音声データを、ケーブル１４６等を介して取得する。音声データは、ウェアラブルデバイス３のマイク１１２，１２６等を用いて集音された音声の信号を、オーディオコーデック１７２によってアナログ−デジタル（ＡＤ）変換して得られた音声データである。また音声取得部５１は、モバイルＰＣ２のオーディオジャック２０８に接続されたマイク（図示せず）を用いて集音された音声の信号を、オーディオコーデック３３４によってＡＤ変換して得られた音声データを取得してもよい。音声データは、例えばユーザがモバイルＰＣ２およびウェアラブルデバイス３を使用している間、常時取得されている。音声データは音声ファイルであってもよい。
【００６３】
モード制御部５４は、音声制御プログラム３０８Ｂ（モバイルＰＣ２）の音声認識モードを制御する。モード制御部５４は、音声データから認識された音声コマンドに応じて、音声制御認識モードを、例えばトリガーモードとシングルモードとマルチモードのいずれかに設定する。
【００６４】
トリガーモードでは、関連付けられたトリガーモード辞書データ５８１に含まれる１つ以上のトリガーコマンド（トリガーワードとも称する）の１つを認識する処理が実行される。各トリガーコマンドは、例えば音声操作の開始を示す。シングルモードでは、関連付けられたシングルモード辞書データ５８２に含まれる複数の音声コマンドの１つを認識する処理が実行される。またマルチモードでは、関連付けられたマルチモード辞書データ５８３に含まれる複数の音声コマンドの１つを認識する処理が繰り返し（連続して）実行され得る。
【００６５】
なお、音声制御プログラム３０８Ｂはタイマ５３をさらに備えていてもよい。タイマ５３は、ある音声認識モードでのタイムアウトを検出する。タイマ５３には、例えばある音声認識モードに遷移してからタイムアウトが検出されるべきタイミングまでの時間が設定される。例えば音声認識モードがシングルモードに遷移してから閾値時間（例えば１０秒）が経過したことに応じて、タイマ５３によりタイムアウトが検出されてもよい。タイムアウトが検出されたことに応じて、音声認識モードは初期状態に戻る。初期状態の音声認識モードは例えばトリガーモードであるが、他のモードであってもよい。
【００６６】
図８は、モード制御部５４によって音声認識モードの遷移が制御される例を示す。初期状態では音声認識モードは、例えばトリガーモードＭ１に設定される。モード制御部５４は、音声データから認識されたコマンドの種類に応じて、以下のように音声認識モードを切り替える。  
（Ａ１）モード制御部５４は、トリガーモードＭ１に設定された音声認識モードを、トリガーコマンド（すなわち音声操作開始を示す音声コマンド）が認識されたことに応じてシングルモードＭ２に切り替える。  
（Ａ２）モード制御部５４は、シングルモードＭ２に設定された音声認識モードを、連続音声操作開始を示す音声コマンドが認識されたことに応じてマルチモードＭ３に切り替える。  
（Ａ３）モード制御部５４は、シングルモードＭ２に設定された音声認識モードを、連続音声操作開始を示す音声コマンド以外の音声コマンドが認識されたことに応じて、あるいはタイムアウトに応じて、トリガーモードＭ１に切り替える。連続音声操作開始を示す音声コマンド以外の音声コマンドは、ホストアプリケーションプログラム３０８Ｃを操作するための音声コマンド（以下、ホスト操作コマンドとも称する）である。  
（Ａ４）モード制御部５４は、マルチモードＭ３に設定された音声認識モードを、連続音声操作終了を示す音声コマンドが認識されたことに応じてトリガーモードＭ１に切り替える。  
（Ａ５）モード制御部５４は、マルチモードＭ３に設定された音声認識モードを、連続音声操作終了を示す音声コマンド以外の音声コマンドが認識されている間、マルチモードＭ３に維持する。連続音声操作終了を示す音声コマンド以外の音声コマンドは、ホストアプリケーションプログラム３０８Ｃを操作するための音声コマンド（すなわちホスト操作コマンド）である。
【００６７】
図７に戻り、通知制御部５６は、現在設定されている音声認識モード（すなわち音声認識のステータス）を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出（通知）する。通知制御部５６は、例えばモード制御部５４によって音声認識モードが切り替えられたことに応じて、モード情報をホストアプリケーションプログラム３０８Ｃに送出する。
【００６８】
より具体的には、音声認識モードがトリガーモードＭ１からシングルモードＭ２に切り替えられたことに応じて、通知制御部５６はシングルモードＭ２を示す情報をホストアプリケーションプログラム３０８Ｃに送出する。音声認識モードがシングルモードＭ２からマルチモードＭ３に切り替えられたことに応じて、通知制御部５６はマルチモードＭ３を示す情報をホストアプリケーションプログラム３０８Ｃに送出する。音声認識モードがシングルモードＭ２からトリガーモードＭ１に切り替えられたことに応じて、通知制御部５６はトリガーモードＭ１を示す情報をホストアプリケーションプログラム３０８Ｃに送出する。音声認識モードがマルチモードＭ３からトリガーモードＭ１に切り替えられたことに応じて、通知制御部５６はトリガーモードＭ１を示す情報をホストアプリケーションプログラム３０８Ｃに送出する。
【００６９】
なお、通知制御部５６は、切り替えられた前後のモードを示す情報をホストアプリケーションプログラム３０８Ｃに送出してもよい。また通知制御部５６は、ホストアプリケーションプログラム３０８Ｃによってモード情報が要求された場合に、モード情報をホストアプリケーションプログラム３０８Ｃに送出してもよい。
【００７０】
辞書管理部５５は、設定された音声認識モードに関連付けられた辞書データを辞書記憶領域５８から読み出し、音声認識部５２に供給する。すなわち音声認識モードがトリガーモードＭ１である場合、辞書管理部５５は辞書記憶領域５８からトリガーモード辞書データ５８１を読み出し、音声認識部５２に供給する。音声認識モードがシングルモードＭ２である場合、辞書管理部５５は辞書記憶領域５８からシングルモード辞書データ５８２を読み出し、音声認識部５２に供給する。音声認識モードがマルチモードＭ３である場合、辞書管理部５５は辞書記憶領域５８からマルチモード辞書データ５８３を読み出し、音声認識部５２に供給する。
【００７１】
トリガーモード辞書データ５８１は、トリガーモードＭ１で用いられる１つ以上のトリガーコマンドを音声認識するための辞書データである。シングルモード辞書データ５８２は、シングルモードＭ２で用いられる複数の音声コマンドを音声認識するための辞書データである。マルチモード辞書データ５８３は、マルチモードＭ３で用いられる複数の音声コマンドを音声認識するための辞書データである。
【００７２】
音声認識部５２は、モード制御部５４により設定された音声認識モードで、辞書管理部５５によって供給されたいずれかの辞書データ５８１，５８２，５８３を用いて、音声データに音声認識処理を施す。音声認識処理は、音声データに対する音響分析、特徴抽出、辞書データ５８１，５８２，５８３とのマッチング等を含む。音声データに音声認識処理を施すことにより、音声データに含まれるコマンドが得られる。音声認識部５２は、音声取得部５１によって常時取得されている音声データに対して、リアルタイムで音声認識処理を施すことができる。
【００７３】
音声認識部５２は、例えば音声データを解析して特徴量を算出し、算出された特徴量に、あるコマンドに対応する特徴量が含まれる場合に、音声データからそのコマンドが認識されたと判断する。あるいは音声認識部５２は、例えば文字単位の音素の特徴量を含む音素辞書データ（図示せず）を用いて、音素辞書データ内の特徴量と、音声データ内のある区間の音声パターンの特徴量とをマッチングすることにより、その区間の音声パターンに対応する文字（音素）を決定する。このようにして音声データ内の区間毎の音声パターンに対応する文字を順に決定し、決定された文字で構成される文字列があるコマンドの言葉を示す文字列と一致する場合に、音声認識部５２は音声データからそのコマンドが認識されたと判断してもよい。
【００７４】
音声認識モードがトリガーモードＭ１である場合、音声認識部５２は、トリガーモード辞書データ５８１に示される１つ以上のトリガーコマンドの１つを音声データから認識する処理を実行する。
【００７５】
音声認識モードがシングルモードＭ２である場合、音声認識部５２は、シングルモード辞書データ５８２に示される複数の音声コマンドの１つを音声データから認識する処理を実行する。つまり音声認識モードがシングルモードＭ２である間に、音声認識部５２は１つの音声コマンドだけを認識する。
【００７６】
通知制御部５６は、シングルモード辞書データ５８２に示される複数の音声コマンドの内、連続音声操作の開始を示す音声コマンド以外の音声コマンド（すなわちホスト操作コマンド）が認識された場合、その認識された音声コマンドを示すコマンド情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃは、このコマンド情報に応じて動作する。
【００７７】
また、音声認識モードがマルチモードＭ３である場合、音声認識部５２は、マルチモード辞書データ５８３に示される複数の音声コマンドの１つを音声データから認識するための処理を繰り返し実行し得る。つまり音声認識モードがマルチモードＭ３である間に、音声認識部５２は複数の音声コマンドを認識し得る。認識される複数の音声認識コマンドには、同一の音声コマンドが含まれていてもよい（例えば「シャッターを押す」を示す音声コマンドが複数含まれていてもよい）し、異なる音声コマンドが含まれていてもよい。
【００７８】
通知制御部５６は、マルチモード辞書データ５８３に示される複数の音声コマンドの内、連続音声操作の終了を示す音声コマンド以外の音声コマンド（すなわちホスト操作コマンド）が認識された場合、その認識された音声コマンドを示すコマンド情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃは、この音声コマンドを示す情報に応じて動作する。
【００７９】
通知制御部５６は、ホストアプリケーションプログラム３０８Ｃとの間でプロセス間通信のための接続を確立し、このプロセス間通信を用いて、モード情報およびコマンド情報をホストアプリケーションプログラム３０８Ｃに送出（通知）する。モード情報およびコマンド情報をホストアプリケーションプログラム３０８Ｃに送出する方法は、プロセス間通信に限られず、例えば音声認識モードに対応するキーコードを発行する方法、および認識された音声コマンドに対応するキーコードを発行する方法が用いられてもよい。ホストアプリケーションプログラム３０８Ｃの動作は、発行されたキーコードに応じて制御される。
【００８０】
図９から図１１を参照して各辞書データ５８１，５８２，５８３の構成について説明する。
【００８１】
図９はトリガーモード辞書データ５８１の一構成例を示す。トリガーモード辞書データ５８１は、トリガーモードＭ１で用いられる１つ以上のトリガーコマンドに対応する１つ以上のレコードを含む。各レコードは、例えばトリガーコマンドＩＤのフィールドと内容のフィールドとを含む。
【００８２】
あるトリガーコマンドに対応するレコードにおいて、トリガーコマンドＩＤのフィールドはそのトリガーコマンドの識別情報を示す。内容のフィールドは、そのトリガーコマンドを音声入力するためにユーザが発話すべき内容を示す。
【００８３】
図９に示す例では、トリガーコマンドＩＤのフィールドに“トリガーコマンド１”が設定され、内容のフィールドに“音声操作開始”が設定されたレコード１−１が示されている。このレコード１−１に示されるトリガーコマンド１は、音声データから複数の音声コマンドの１つを認識する処理が実行されるシングルモードＭ２を開始するために用いられる。したがってトリガーコマンドは、音声認識モードを変更するためのモード変更コマンドであるとも云える。
【００８４】
図１０はシングルモード辞書データ５８２の一構成例を示す。シングルモード辞書データ５８２は、シングルモードＭ２で用いられる複数の音声コマンドに対応する複数のレコードを含む。各レコードは、例えばコマンドＩＤのフィールドと内容のフィールドとを含む。
【００８５】
ある音声コマンドに対応するレコードにおいて、コマンドＩＤのフィールドはその音声コマンドの識別情報を示す。内容のフィールドは、その音声コマンドを入力するためにユーザが発話すべき内容を示す。
【００８６】
図１０に示す例では、以下のレコードが示されている。  
・コマンドＩＤのフィールドに“コマンド１”が設定され、内容のフィールドに“シャッターを押す”が設定されたレコード２−１  
・コマンドＩＤのフィールドに“コマンド２”が設定され、内容のフィールドに“ズームする”が設定されたレコード２−２  
・コマンドＩＤのフィールドに“コマンド３”が設定され、内容のフィールドに“ズームアウトする”が設定されたレコード２−３  
・コマンドＩＤのフィールドに“コマンド４”が設定され、内容のフィールドに“連続音声操作開始”が設定されたレコード２−４
【００８７】
レコード２−１に示されるコマンド１は、カメラ１１６を用いた撮影により静止画像を取得する処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード２−２に示されるコマンド２は、カメラ１１６のズームインのための処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード２−３に示されるコマンド３は、カメラ１１６のズームアウトのための処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード２−４に示されるコマンド４は、音声データから複数の音声コマンドの１つを認識する処理が繰り返し実行されるマルチモードＭ３を開始するために用いられる。
【００８８】
レコード２−１，２−２，２−３に示されるコマンド１，２，３は、ホストアプリケーションプログラム３０８Ｃに対する操作のために用いられるホスト操作コマンドである。上述したホスト操作コマンドは一例であって、ホスト操作コマンドには、ホストアプリケーションプログラム３０８Ｃが有する機能に応じた様々なコマンドが用いられ得る。
【００８９】
一方、レコード２−４に示されるコマンド４は、音声認識モードの変更のために用いられるモード変更コマンドである。なお、各レコードには、対応するコマンドがホスト操作コマンドとモード変更コマンドのいずれであるかの種別を示すフィールドがさらに含まれていてもよい。例えばモード制御部５４は、認識された音声コマンドの種別に応じて音声認識モードの遷移を制御してもよい。
【００９０】
図１１はマルチモード辞書データ５８３の一構成例を示す。マルチモード辞書データ５８３は、マルチモードＭ３で用いられる複数の音声コマンドに対応する複数のレコードを含む。各レコードは、例えばコマンドＩＤのフィールドと内容のフィールドとを含む。
【００９１】
ある音声コマンドに対応するレコードにおいて、コマンドＩＤのフィールドはその音声コマンドの識別情報を示す。内容のフィールドはその音声コマンドを入力するためにユーザが発話すべき内容を示す。
【００９２】
図１１に示す例では、以下のレコードが示されている。  
・コマンドＩＤのフィールドに“コマンド１”が設定され、内容のフィールドに“シャッターを押す”が設定されたレコード３−１  
・コマンドＩＤのフィールドに“コマンド２”が設定され、内容のフィールドに“ズームする”が設定されたレコード３−２  
・コマンドＩＤのフィールドに“コマンド３”が設定され、内容のフィールドに“ズームアウトする”が設定されたレコード３−３  
・コマンドＩＤのフィールドに“コマンド５”が設定され、内容のフィールドに“連続音声操作終了”が設定されたレコード３−４
【００９３】
レコード３−１，３−２，３−３に示されるコマンド１，２，３は、図１０を参照して上述したシングルモード辞書データ５８２のレコード２−１，２−２，２−３に示されるコマンド１，２，３とそれぞれ同一である。したがって、レコード３−１，３−２，３−３に示されるコマンド１，２，３はホスト操作コマンドである。
【００９４】
レコード３−４に示されるコマンド５は、音声データから複数の音声コマンドの１つを認識する処理が繰り返し実行されるマルチモードＭ３を終了するために用いられるモード変更コマンドである。なお、各レコードには、対応するコマンドがホスト操作コマンドとモード変更コマンドのいずれであるかの種別を示すフィールドがさらに含まれていてもよい。
【００９５】
トリガーモード辞書データ５８１は、予め規定されたものであってもよいし、作成または更新（例えば、変更、追加、削除等）されるものであってもよい。トリガーモード辞書データ５８１は、モバイルＰＣ２がサーバ等の外部機器から取得するファイル（例えばテキストファイル）を用いて作成または更新されてもよいし、ホストアプリケーションプログラム３０８Ｃ等のＧＵＩを用いたユーザによる操作に応じて作成または更新されてもよい。
【００９６】
辞書記憶領域５８には、モバイルＰＣ２上で実行される複数のアプリケーションプログラムにそれぞれ関連付けられる複数のシングルモード辞書データ５８２および複数のマルチモード辞書データ５８３が格納され得る。この場合、辞書管理部５５は、ユーザによって現在操作可能であるアクティブなアプリケーションプログラム（すなわちホストアプリケーションプログラム３０８Ｃ）を検出し、シングルモードＭ２ではそのアプリケーションプログラムに関連付けられたシングルモード辞書データ５８２を取得し、マルチモードＭ３ではそのアプリケーションプログラムに関連付けられたマルチモード辞書データ５８３を取得する。
【００９７】
シングルモード辞書データ５８２およびマルチモード辞書データ５８３は、予め規定されたものであってもよいし、作成または更新（例えば、変更、追加、削除等）されるものであってもよい。シングルモード辞書データ５８２およびマルチモード辞書データ５８３はそれぞれ、モバイルＰＣ２が外部機器から取得するファイルを用いて作成または更新されてもよいし、ホストアプリケーションプログラム３０８Ｃ等のＧＵＩを用いたユーザによる操作に応じて作成または更新されてもよい。
【００９８】
また、ホストアプリケーションプログラム３０８Ｃは制御部５９を備える。制御部５９は、音声制御プログラム３０８Ｂの通知制御部５６によって送出されるモード情報およびコマンド情報を受信する。制御部５９は、受信されたモード情報とコマンド情報の少なくとも一方を用いて、ホストアプリケーションプログラム３０８Ｃの動作を制御する。
【００９９】
より具体的には、“シャッターを押す”を示すコマンド情報を通知制御部５６から受信した場合、制御部５９はカメラ１１６を用いた撮影により静止画像を取得するための処理を実行する。“ズームする”を示すコマンド情報を通知制御部５６から受信した場合、制御部５９はカメラ１１６のズームインのための処理を実行する。また、“ズームアウトする”を示すコマンド情報を通知制御部５６から受信した場合、制御部５９はカメラ１１６のズームアウトのための処理を実行する。
【０１００】
また制御部５９は、音声認識モードがシングルモードＭ２に設定された場合、すなわちシングルモードＭ２を示すモード情報を通知制御部５６から受信した場合、音声認識モードがシングルモードＭ２であることをユーザに通知する。制御部５９は、例えばシングルモードＭ２を表すオブジェクトを、ウェアラブルデバイス３に設けられるディスプレイ１２４の画面に表示する。
【０１０１】
音声認識モードがマルチモードＭ３に設定された場合、すなわちマルチモードＭ３を示すモード情報を通知制御部５６から受信した場合、制御部５９は音声認識モードがマルチモードＭ３であることをユーザに通知する。制御部５９は、例えばマルチモードＭ３を表すオブジェクトをディスプレイ１２４の画面に表示する。オブジェクトは、対応する音声認識モードをユーザに認識させられればよく、インジケータ、マーク、テキストのようないずれ形態であってもよい。
【０１０２】
さらに音声認識モードがトリガーモードＭ１に設定された場合、すなわちトリガーモードＭ１を示すモード情報を通知制御部５６から受信した場合、制御部５９は音声認識モードがトリガーモードＭ１であることをユーザに通知する。制御部５９は、例えばシングルモードＭ２またはマルチモードＭ３で表示されていたオブジェクトをディスプレイ１２４の画面から消去する。あるいは制御部５９は、音声認識モードがトリガーモードＭ１に設定された場合、トリガーモードＭ１を表すオブジェクトをディスプレイ１２４の画面に表示してもよい。
【０１０３】
図１２から図１４を参照して、現在の音声認識モードを示すオブジェクトがディスプレイ１２４の画面に表示される例について説明する。ここでは、ホストアプリケーションプログラム３０８Ｃがカメラ１１６を用いた撮影機能を有することを想定する。
【０１０４】
図１２は音声認識モードがトリガーモードＭ１である場合に、ディスプレイ１２４に表示されるホストアプリケーションプログラム３０８Ｃの画面画像８−１の例を示す。
【０１０５】
画面画像８−１には、カメラ１１６によって撮影されている画像がリアルタイムで表示されるカメラビュー領域６１１と、ホストアプリケーションプログラム３０８Ｃに対して使用可能な１つ以上の音声コマンド（すなわちホスト操作コマンド）を示すコマンドリスト領域６１２とが設けられている。コマンドリスト領域６１２には、各音声コマンドについて、音声コマンドとして発話すべき言葉と、その音声コマンドに対応したホストアプリケーションプログラム３０８Ｃの動作とが示されている。
【０１０６】
図１３に示すように、ユーザがトリガーコマンドを発話し、トリガーモードＭ１からシングルモードＭ２に遷移したことに応じて、シングルモードＭ２であることを表すオブジェクト６１３を含む画面画像８−２がディスプレイ１２４に表示される。ユーザはこのオブジェクト６１３により、現在の音声認識モードがシングルモードＭ２であることを認識できる。これによりユーザは、コマンドリスト領域６１２に示されている複数の音声コマンドの１つか、あるいは連続音声操作を開始するための音声コマンドが発話可能な状態（すなわちモバイルＰＣ２に対して入力可能な状態）であることを認識できる。
【０１０７】
さらに図１４に示すように、ユーザが連続音声操作を開始するための音声コマンドを発話し、シングルモードＭ２からマルチモードＭ３に遷移したことに応じて、マルチモードＭ３であることを表すオブジェクト６１４を含む画面画像８−３がディスプレイ１２４に表示される。ユーザはこのオブジェクト６１４により、現在の音声認識モードがマルチモードＭ３であることを認識できる。これによりユーザは、コマンドリスト領域６１２に示されている複数の音声コマンドの１つか、あるいは連続音声操作を終了するための音声コマンドが発話可能な状態であることを認識できる。
【０１０８】
なお、図１２に示す画面画像８−１には、トリガーモードＭ１を表すオブジェクトが含まれていない。例えば、音声認識モードがシングルモードＭ２である場合にユーザがホスト操作コマンドを発話し、シングルモードＭ２からトリガーモードＭ１に遷移したことに応じて、シングルモードＭ２を表すオブジェクト６１３が消去された画面画像８−１が表示される。あるいは音声認識モードがマルチモードＭ３である場合にユーザが連続音声操作を終了するための音声コマンドを発話し、マルチモードＭ３からトリガーモードＭ１に遷移したことに応じて、マルチモードＭ３を表すオブジェクト６１４が消去された画面画像８−１が表示される。
【０１０９】
上述したようにシングルモードＭ２およびマルチモードＭ３では各モードを表すオブジェクト６１３，６１４が表示されるのに対して、トリガーモードＭ１では画面にオブジェクトが表示されていない。したがってユーザは、音声認識モードを表すオブジェクトが何も表示されていないことにより、現在の音声認識モードがトリガーモードＭ１であることを認識できる。
【０１１０】
なお、画面画像８−１にトリガーモードＭ１を表すオブジェクトが含まれていてもよい。また各画面画像８−１，８−２，８−３には、トリガーコマンド、連続音声操作を開始するための音声コマンドの内容（例えば発話すべき言葉）、連続音声操作を終了するための音声コマンドの内容等がさらに含まれていてもよい。
【０１１１】
ユーザに現在の音声認識モードを通知するための方法は、音声認識モードを示すオブジェクトを画面に表示する方法に限られず、音声認識モードを示す自動音声やビープ音を再生する方法等、ユーザが現在の音声認識モードを認識できる方法のいずれであってもよい。
【０１１２】
以上の構成により、ユーザがトリガーコマンドを発話したことに応じて、モード制御部５４は音声認識モードをトリガーモードＭ１からシングルモードＭ２に切り替え、通知制御部５６はシングルモードＭ２を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面にシングルモードＭ２を示すオブジェクト６１３を表示する。
【０１１３】
またユーザが連続音声操作の開始を示す音声コマンドを発話したことに応じて、モード制御部５４は音声認識モードをシングルモードＭ２からマルチモードＭ３に切り替え、通知制御部５６はマルチモードＭ３を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面にマルチモードＭ３を示すオブジェクト６１４を表示する。
【０１１４】
さらにユーザがホスト操作コマンドを発話したことに応じて、あるいはシングルモードＭ２のタイムアウトが検出されたことに応じて、モード制御部５４は音声認識モードをシングルモードＭ２からトリガーモードＭ１に切り替え、通知制御部５６はトリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面に表示されていたシングルモードＭ２を表すオブジェクト６１３を消去する。
【０１１５】
あるいは、ユーザが連続音声操作の終了を示す音声コマンドを発話したことにより、モード制御部５４は音声認識モードをマルチモードＭ３からトリガーモードＭ１に切り替え、通知制御部５６はトリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面に表示されていたマルチモードＭ３を表すオブジェクト６１４を消去する。
【０１１６】
より具体的な例として、カメラ１１６を用いた撮影で静止画像を取得する機能を有するホストアプリケーションプログラム３０８Ｃを、ユーザが音声で操作するシナリオ１およびシナリオ２について説明する。
【０１１７】
（シナリオ１）  
音声認識が開始されたとき、トリガーモードＭ１である音声認識モードで音声入力が待ち受けられる。ユーザが「音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からシングルモードＭ２に遷移し、シングルモードＭ２を表すオブジェクト６１３が画面に表示される。
【０１１８】
次にユーザが「ズームする」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６のズームインのための処理を実行し、音声認識モードはトリガーモードＭ１に戻り、オブジェクト６１３が画面から消去される。
【０１１９】
そしてユーザが再度、「音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からシングルモードＭ２に再び遷移し、シングルモードＭ２を表すオブジェクト６１３が画面に表示される。
【０１２０】
次にユーザが「シャッターを押す」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６を用いた撮影により静止画像を取得するための処理を実行し、音声認識モードはトリガーモードＭ１に戻り、オブジェクト６１３が画面から消去される。
【０１２１】
ユーザは、画面上のオブジェクト６１３の有無に基づいて、音声認識モードがトリガーモードＭ１であるか、それともシングルモードＭ２であるかを容易に判別できる。
【０１２２】
（シナリオ２）  
音声認識が開始されたとき、トリガーモードＭ１である音声認識モードで音声入力が待ち受けられる。ユーザが「音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からシングルモードＭ２に遷移し、シングルモードＭ２を表すオブジェクト６１３が画面に表示される。
【０１２３】
次にユーザが「連続音声操作開始」と発話したことに応じて、音声認識モードはシングルモードＭ２からマルチモードＭ３に遷移し、シングルモードＭ２を表すオブジェクト６１３が画面から消去されると共に、マルチモードＭ３を表すオブジェクト６１４が画面に表示される。
【０１２４】
その後、ユーザが「ズームする」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６のズームインのための処理を実行し、さらにユーザが「シャッターを押す」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６を用いた撮影により静止画像を取得するための処理を実行する。この間、マルチモードＭ３を表すオブジェクト６１４は画面に表示されたままである。
【０１２５】
そしてユーザが「連続音声操作終了」と発話したことに応じて、音声認識モードはマルチモードＭ３からトリガーモードＭ１に戻り、オブジェクト６１４が画面から消去される。
【０１２６】
ユーザは、画面上にオブジェクトが表示されているか否かと、表示されている場合のオブジェクトの種別に基づいて、音声認識モードがトリガーモードＭ１とシングルモードＭ２とマルチモードＭ３のいずれであるかを容易に判別できる。
【０１２７】
以上のように、モード情報に基づく通知（例えば音声認識モードを示すオブジェクトの表示）により、ユーザは現在の音声認識モードとその切り替わりを認識できるので、現在の音声認識モードにおいて利用可能なコマンドを容易に把握できる。したがって音声操作中に、いずれのコマンドを発話すればよいか迷うような状況が起こることがなく、音声による操作の利便性を向上できる。なお、上述した例では、ホストアプリケーションプログラム３０８Ｃがモード情報を用いて、音声認識モードを表すオブジェクトの表示を制御する構成を例示した。しかしながらホストアプリケーションプログラム３０８Ｃは、オブジェクトの表示に限られない様々な動作（処理）を、モード情報を用いて制御し得る。
【０１２８】
図１５から図１８のフローチャートを参照して、モバイルＰＣ２によって実行される音声制御処理の手順の例を説明する。この音声制御処理は、音声制御プログラム３０８Ｂを実行しているモバイルＰＣ２によって実現される。
【０１２９】
図１５に示すように、まずモバイルＰＣ２は音声認識モードをトリガーモードＭ１に設定し、使用する辞書をトリガーモード辞書データ５８１に設定する（ステップＳ１０１）。モバイルＰＣ２は、トリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ１０２）。
【０１３０】
そしてモバイルＰＣ２は、トリガーモードＭ１での音声認識処理であるトリガーモード認識処理を実行する（ステップＳ１０２）。トリガーモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、トリガーモード辞書データ５８１に登録された１つ以上のトリガーコマンドの１つが認識される。１つのトリガーコマンドが認識されたことに応じてトリガーモード認識処理は終了する。トリガーモード認識処理の具体的な手順については、図１６を参照して後述する。
【０１３１】
ステップＳ１０３のトリガーモード認識処理が終了したならば、すなわち１つのトリガーコマンドが認識されたならば、モバイルＰＣ２は音声認識モードをシングルモードＭ２に設定し、使用する辞書をシングルモード辞書データ５８２に設定する（ステップＳ１０４）。モバイルＰＣ２は、シングルモードＭ２を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ１０５）。
【０１３２】
そしてモバイルＰＣ２は、シングルモードＭ２での音声認識処理であるシングルモード認識処理を実行する（ステップＳ１０６）。シングルモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、シングルモード辞書データ５８２に登録された複数の音声コマンドの１つが認識される。シングルモードＭ２の１つの音声コマンドが認識されたことに応じてシングルモード認識処理は終了する。シングルモード認識処理の具体的な手順については、図１７を参照して後述する。
【０１３３】
ステップＳ１０６のシングルモード認識処理が終了したならば、モバイルＰＣ２は、シングルモード認識処理において連続音声操作開始を示す音声コマンドが認識されたか否かを判定する（ステップＳ１０７）。連続音声操作開始を示す音声コマンドが認識されていない場合（ステップＳ１０７のＮＯ）、モバイルＰＣ２は、シングルモード認識処理においてタイムアウトが検出されたか否かを判定する（ステップＳ１０８）。
【０１３４】
タイムアウトが検出されていない場合（ステップＳ１０８のＮＯ）、モバイルＰＣ２は、シングルモード認識処理で認識された音声コマンドを示す情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ１０９）。一方、タイムアウトが検出された場合（ステップＳ１０８のＹＥＳ）、ステップＳ１０１に戻り、トリガーモードＭ１での音声認識処理が再度開始される。
【０１３５】
また連続音声操作開始を示す音声コマンドが認識された場合（ステップＳ１０７のＹＥＳ）、モバイルＰＣ２は音声認識モードをマルチモードＭ３に設定し、使用する辞書をマルチモード辞書データ５８３に設定する（ステップＳ１１０）。モバイルＰＣ２は、マルチモードＭ３を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ１１１）。
【０１３６】
そしてモバイルＰＣ２は、マルチモードＭ３での音声認識処理であるマルチモード認識処理を実行する（ステップＳ１１２）。マルチモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、マルチモード辞書データ５８３に登録された複数の音声コマンドの１つが認識される。マルチモードＭ３の１つの音声コマンドが認識されたことに応じてマルチモード認識処理は終了する。マルチモード認識処理の具体的な手順については、図１８を参照して後述する。
【０１３７】
ステップＳ１１２のマルチモード認識処理が終了したならば、すなわちマルチモードＭ３の１つの音声コマンドが認識されたならば、モバイルＰＣ２は、マルチモード認識処理において連続音声操作終了を示す音声コマンドが認識されたか否かを判定する（ステップＳ１１３）。連続音声操作終了を示す音声コマンドが認識された場合（ステップＳ１１３のＹＥＳ）、ステップＳ１０１に戻り、トリガーモードＭ１での音声認識処理が再度開始される。
【０１３８】
連続音声操作終了を示す音声コマンドが認識されていない場合（ステップＳ１１３のＮＯ）、モバイルＰＣ２は、マルチモード認識処理で認識された音声コマンドを示す情報をホストアプリケーションプログラム３０８Ｃに送出し（ステップＳ１１４）、ステップＳ１１２に戻る。したがって、連続音声操作終了を示す音声コマンドが認識されるまで、連続してマルチモード認識処理が行われる。
【０１３９】
以上により、ユーザによる発話に基づくコマンドに応じて、音声認識モードの切り替えが制御されると共に、実行中のホストアプリケーションプログラム３０８Ｃにモード情報およびコマンド情報が送出される。これによりモバイルＰＣ２は、ホストアプリケーションプログラム３０８Ｃをモード情報およびコマンド情報に応じて動作させることができる。また、各音声認識モードでは、その音声認識モードで認識されるべきコマンドのみを含む辞書が使用されるので、認識されるべきコマンドを全て含む単一の辞書が使用される場合よりも、音声認識処理に要する時間を短くでき、且つ認識結果の精度を向上できる。
【０１４０】
図１６のフローチャートは、モバイルＰＣ２によって実行されるトリガーモード認識処理の手順の例を示す。このトリガーモード認識処理は、図１５を参照して上述した音声制御処理のステップＳ１０３に相当する。
【０１４１】
まずモバイルＰＣ２は音声データが取得されたか否かを判定する（ステップＳ２１）。モバイルＰＣ２は、例えばウェアラブルデバイス３によって送出された音声データを、ケーブル１４６等を介して取得する。音声データが取得されていない場合（ステップＳ２１のＮＯ）、ステップＳ２１に戻り、音声データが取得されたか否かが再度判定される。
【０１４２】
音声データが取得された場合（ステップＳ２１のＹＥＳ）、モバイルＰＣ２は、取得された音声データからトリガーモード辞書データ５８１に示されるトリガーコマンドを認識するための処理を行う（ステップＳ２２）。この処理では、例えば、音声データから特徴量が算出され、算出された特徴量に、トリガーモード辞書データ５８１に示されるあるトリガーコマンドに対応する特徴量が含まれる場合に、音声データからそのトリガーコマンドが認識されたと判断される。
【０１４３】
モバイルＰＣ２は、音声データからトリガーコマンドが認識されたか否かを判定する（ステップＳ２３）。音声データからトリガーコマンドが認識されていない場合（ステップＳ２３のＮＯ）、ステップＳ２１に戻り、新たに取得される音声データからトリガーコマンドを認識するための処理が続行される。
【０１４４】
一方、音声データからトリガーコマンドが認識された場合（ステップＳ２３のＹＥＳ）、モバイルＰＣ２は認識されたトリガーコマンドを示す認識結果を返し（ステップＳ２４）、処理を終了する。この認識結果は図１５の音声制御処理で用いられ得る。なお、音声制御処理において、トリガーモード辞書データ５８１に示されるトリガーコマンドの内のいずれが認識されたかを示す情報が必要でない場合には、ステップＳ２４は省略されてもよい。  
以上により、音声データからトリガーコマンドを認識できる。
【０１４５】
図１７のフローチャートは、モバイルＰＣ２によって実行されるシングルモード認識処理の手順の例を示す。このシングルモード認識処理は、図１５を参照して上述した音声制御処理のステップＳ１０６に相当する。
【０１４６】
まずモバイルＰＣ２はタイマ５３を起動する（ステップＳ３１）。タイマ５３にはシングルモードＭ２のタイムアウトを検出すべき時間が設定されている。
【０１４７】
次にモバイルＰＣ２は、音声データが取得されたか否かを判定する（ステップＳ３２）。音声データが取得された場合（ステップＳ３２のＹＥＳ）、モバイルＰＣ２は、取得された音声データからシングルモード辞書データ５８２に示される音声コマンドを認識するための処理を行う（ステップＳ３３）。この処理では、例えば、音声データから特徴量が算出され、算出された特徴量に、シングルモード辞書データ５８２に示される１つの音声コマンドに対応する特徴量が含まれる場合に、音声データからその音声コマンドが認識されたと判断される。
【０１４８】
モバイルＰＣ２は、音声データから音声コマンドが認識されたか否かを判定する（ステップＳ３４）。音声データから音声コマンドが認識された場合（ステップ３４のＹＥＳ）、モバイルＰＣ２は認識された音声コマンドを示す認識結果を返し（ステップＳ３５）、処理を終了する。認識結果は、シングルモード辞書データ５８２に含まれるいずれかの音声コマンドを示し、図１５の音声制御処理で用いられる。
【０１４９】
一方、音声データから音声コマンドが認識されていない場合（ステップＳ３４のＮＯ）、あるいは音声データが取得されていない場合（ステップＳ３２のＮＯ）、モバイルＰＣ２はタイマ５３によりタイムアウトが検出されたか否かを判定する（ステップＳ３６）。タイムアウトが検出されていない場合（ステップＳ３６のＮＯ）、ステップＳ３２に戻り、新たに取得される音声データから音声コマンドを認識するための処理が続行される。
【０１５０】
タイムアウトが検出された場合（ステップＳ３６のＹＥＳ）、モバイルＰＣ２はタイムアウトを示す情報を返し（ステップＳ３７）、処理を終了する。タイムアウトを示す情報は、図１５の音声制御処理で用いられる。  
以上により、音声データからシングルモードＭ２の音声コマンドを認識するか、シングルモードＭ２のタイムアウトを検出できる。
【０１５１】
図１８のフローチャートは、モバイルＰＣ２によって実行されるマルチモード認識処理の手順の例を示す。このマルチモード認識処理は、図１５を参照して上述した音声制御処理のステップＳ１１２に相当する。
【０１５２】
まずモバイルＰＣ２は音声データが取得されたか否かを判定する（ステップＳ４１）。音声データが取得されていない場合（ステップＳ４１のＮＯ）、ステップＳ４１に戻り、音声データが取得されたか否かが再度判定される。
【０１５３】
音声データが取得された場合（ステップＳ４１のＹＥＳ）、モバイルＰＣ２は、取得された音声データからマルチモード辞書データ５８３に示される音声コマンドを認識するための処理を行う（ステップＳ４２）。この処理では、例えば音声データから特徴量が算出され、算出された特徴量に、マルチモード辞書データ５８３に示される１つの音声コマンドに対応する特徴量が含まれる場合に、音声データからその音声コマンドが認識されたと判断される。
【０１５４】
モバイルＰＣ２は、音声データから音声コマンドが認識されたか否かを判定する（ステップＳ４３）。音声データから音声コマンドが認識されていない場合（ステップＳ４３のＮＯ）、ステップＳ４１に戻り、新たに取得される音声データから音声コマンドを認識するための処理が続行される。
【０１５５】
一方、音声データから音声コマンドが認識された場合（ステップＳ４３のＹＥＳ）、モバイルＰＣ２は認識された音声コマンドを示す認識結果を返し（ステップＳ４４）、処理を終了する。この認識結果は、マルチモード辞書データ５８３に含まれるいずれかの音声コマンドを示し、図１５の音声制御処理で用いられる。  
以上により、音声データからマルチモードＭ３の音声コマンドを認識できる。
【０１５６】
次いで図１９のフローチャートは、モバイルＰＣ２によって実行されるホスト制御処理の手順の例を示す。このホスト制御処理は、ホストアプリケーションプログラム３０８Ｃを実行しているモバイルＰＣ２によって実現される。
【０１５７】
まずモバイルＰＣ２は、現在の音声認識モードを示すモード情報を受信したか否かを判定する（ステップＳ５０１）。モード情報は、図１５を参照して上述した音声制御処理において送出される情報である。モード情報を受信した場合（ステップＳ５０１のＹＥＳ）、モバイルＰＣ２は、そのモード情報に示されるモードの種類に応じて処理を分岐する（ステップＳ５０２）。
【０１５８】
モード情報がトリガーモードＭ１を示す場合（ステップＳ５０２のトリガーモード）、モバイルＰＣ２はウェアラブルデバイス３のディスプレイ１２４の画面から、表示されているシングルモードＭ２またはマルチモードＭ３を表すオブジェクト６１３，６１４を消去する（ステップＳ５０３）。モード情報がシングルモードＭ２を示す場合（ステップＳ５０２のシングルモード）、モバイルＰＣ２は、シングルモードＭ２を示すオブジェクト６１３をディスプレイ１２４の画面に表示する（ステップＳ５０４）。またモード情報がマルチモードＭ３を示す場合（ステップＳ５０２のマルチモード）、モバイルＰＣ２は、マルチモードＭ３を示すオブジェクト６１４をディスプレイ１２４の画面に表示する（ステップＳ５０５）。
【０１５９】
モード情報を受信していない場合（ステップＳ５０１のＮＯ）、モバイルＰＣ２は認識された音声コマンド（ここではホスト操作コマンド）を示すコマンド情報を受信したか否かを判定する（ステップＳ５０６）。コマンド情報は、図１５を参照して上述した音声制御処理において送出される情報である。コマンド情報を受信していない場合（ステップＳ５０６のＮＯ）、ステップＳ５０１に戻り、モード情報を受信したか否かが再度判定される。
【０１６０】
コマンド情報を受信した場合（ステップＳ５０６のＹＥＳ）、モバイルＰＣ２はコマンド情報に示されるコマンドの種類に応じて処理を分岐する（ステップＳ５０７）。コマンド情報がコマンド１（“シャッターを押す”）を示す場合（ステップＳ５０７のコマンド１）、モバイルＰＣ２はカメラ１１６を用いた撮影により静止画像を生成する（ステップＳ５０８）。コマンド情報がコマンド２（“ズームする”）を示す場合（ステップＳ５０７のコマンド２）、モバイルＰＣ２はカメラ１１６のズームインを行う（ステップＳ５０９）。またコマンド情報がコマンド３（“ズームアウトする”）を示す場合（ステップＳ５０７のコマンド３）、モバイルＰＣ２はカメラ１１６のズームアウトを行う（ステップＳ５１０）。
【０１６１】
以上によりモバイルＰＣ２は、モード情報またはコマンド情報に応じてホストアプリケーションプログラム３０８Ｃの動作を制御できる。すなわちモード情報に応じて、ホストアプリケーションプログラム３０８Ｃの画面画像上の音声認識モードを示すオブジェクトの表示を制御できる。またコマンド情報に応じて、ホストアプリケーションプログラム３０８Ｃが有するカメラ１１６を用いた撮影に関する動作を制御できる。
【０１６２】
（第２実施形態）  
第１実施形態では、トリガーコマンドが認識されたことに応じて、音声認識モードがトリガーモードＭ１からシングルモードＭ２に遷移する。これに対して第２実施形態では、トリガーコマンドが認識されたことに応じて、音声認識モードがトリガーモードＭ１からシングルモードＭ２とマルチモードＭ３のいずれかに遷移する。
【０１６３】
第２実施形態に係るモバイルＰＣ２およびウェアラブルデバイス３の構成は第１実施形態のモバイルＰＣ２およびウェアラブルデバイス３と同様であり、第２実施形態と第１実施形態とでは、モード制御部５４および通知制御部５６によって実行される処理の手順のみが異なる。以下、第１実施形態と異なる点のみを説明する。
【０１６４】
図２０は、モード制御部５４によって音声認識モードの遷移が制御される別の例を示す。初期状態では音声認識モードは、例えばトリガーモードＭ１に設定される。モード制御部５４は、音声データから認識されたコマンドの種類に応じて、以下のように音声認識モードを切り替える。  
（Ｂ１）モード制御部５４は、トリガーモードＭ１に設定された音声認識モードを、音声操作開始を示すトリガーコマンドが認識されたことに応じてシングルモードＭ２に切り替える。  
（Ｂ２）モード制御部５４は、シングルモードＭ２に設定された音声認識モードを、ホストアプリケーションプログラム３０８Ｃを操作するための音声コマンド（すなわちホスト操作コマンド）が認識されたことに応じて、あるいはタイムアウトに応じて、トリガーモードＭ１に切り替える。  
（Ｂ３）モード制御部５４は、トリガーモードＭ１に設定された音声認識モードを、連続音声操作開始を示すトリガーコマンドが認識されたことに応じてマルチモードＭ３に切り替える。  
（Ｂ４）モード制御部５４は、マルチモードＭ３に設定された音声認識モードを、連続音声操作終了を示す音声コマンドが認識されたことに応じてトリガーモードＭ１に切り替える。  
（Ｂ５）モード制御部５４は、マルチモードＭ３に設定された音声認識モードを、連続音声操作終了を示す音声コマンド以外の音声コマンドが認識されている間、マルチモードＭ３に維持する。連続音声操作終了を示す音声コマンド以外の音声コマンドは、ホストアプリケーションプログラム３０８Ｃを操作するための音声コマンド（すなわちホスト操作コマンド）である。
【０１６５】
図２１から図２３を参照して、第２実施形態のモバイルＰＣ２で用いられるトリガーモード辞書データ５８１、シングルモード辞書データ５８２、およびマルチモード辞書データ５８３の構成についてそれぞれ説明する。
【０１６６】
図２１はトリガーモード辞書データ５８１の一構成例を示す。図２１に示す例では、以下のレコードが示されている。  
・コマンドＩＤのフィールドに“トリガーコマンド１”が設定され、内容のフィールドに“音声操作開始”が設定されたレコード５−１  
・コマンドＩＤのフィールドに“トリガーコマンド２”が設定され、内容のフィールドに“連続音声操作開始”が設定されたレコード５−２
【０１６７】
レコード５−１に示されるトリガーコマンド１は、音声データから複数の音声コマンドの１つを認識する処理が実行されるシングルモードＭ２を開始するために用いられる。またレコード５−２に示されるトリガーコマンド２は、音声データから複数の音声コマンドの１つを認識する処理が繰り返し実行されるマルチモードＭ３を開始するために用いられる。したがってトリガーコマンド１，２は、音声認識モードを変更するためのモード変更コマンドであるとも云える。
【０１６８】
図２２はシングルモード辞書データ５８２の一構成例を示す。図２２に示す例では、以下のレコードが示されている。  
・コマンドＩＤのフィールドに“コマンド１”が設定され、内容のフィールドに“シャッターを押す”が設定されたレコード６−１  
・コマンドＩＤのフィールドに“コマンド２”が設定され、内容のフィールドに“ズームする”が設定されたレコード６−２  
・コマンドＩＤのフィールドに“コマンド３”が設定され、内容のフィールドに“ズームアウトする”が設定されたレコード６−３
【０１６９】
レコード６−１に示されるコマンド１は、カメラ１１６を用いた撮影により静止画像を取得する処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード６−２に示されるコマンド２は、カメラ１１６のズームインのための処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード６−３に示されるコマンド３は、カメラ１１６のズームアウトのための処理をホストアプリケーションプログラム３０８Ｃに実行させるために用いられる。レコード６−１，６−２，６−３に示されるコマンド１，２，３は、ホストアプリケーションプログラム３０８Ｃに対する操作のために用いられるホスト操作コマンドである。
【０１７０】
このシングルモード辞書データ５８２には、モード変更コマンドは含まれていない。そのため通知制御部５６は、シングルモード辞書データ５８２に示される複数の音声コマンドの１つが認識された場合、その認識された音声コマンドを示す情報をホストアプリケーションプログラム３０８Ｃに送出する。
【０１７１】
図２３はマルチモード辞書データ５８３の一構成例を示す。図２３に示す例では、以下のレコードが示されている。  
・コマンドＩＤのフィールドに“コマンド１”が設定され、内容のフィールドに“シャッターを押す”が設定されたレコード７−１  
・コマンドＩＤのフィールドに“コマンド２”が設定され、内容のフィールドに“ズームする”が設定されたレコード７−２  
・コマンドＩＤのフィールドに“コマンド３”が設定され、内容のフィールドに“ズームアウトする”が設定されたレコード７−３  
・コマンドＩＤのフィールドに“コマンド４”が設定され、内容のフィールドに“連続音声操作終了”が設定されたレコード７−４
【０１７２】
レコード７−１，７−２，７−３に示されるコマンド１，２，３は、図２２を参照して上述したシングルモード辞書データ５８２のレコード６−１，６−２，６−３に示されるコマンド１，２，３とそれぞれ同一である。したがって、レコード７−１，７−２，７−３に示されるコマンド１，２，３はホスト操作コマンドである。レコード７−４に示されるコマンド４は、音声データから複数の音声コマンドの１つを認識する処理が繰り返し実行されるマルチモードＭ３を終了するために用いられるモード変更コマンドである。なお、各レコードには、対応するコマンドがホスト操作コマンドとモード変更コマンドのいずれであるかを示すフィールドがさらに含まれていてもよい。
【０１７３】
以上の構成により、ユーザがトリガーコマンドである“音声操作開始”を発話したことに応じて、モード制御部５４は音声認識モードをトリガーモードＭ１からシングルモードＭ２に切り替え、通知制御部５６はシングルモードＭ２を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面にシングルモードＭ２を示すオブジェクト６１３を表示する。
【０１７４】
さらにユーザがホスト操作コマンドを発話したことに応じて、あるいはシングルモードＭ２のタイムアウトが検出されたことに応じて、モード制御部５４は音声認識モードをシングルモードＭ２からトリガーモードＭ１に切り替え、通知制御部５６はトリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面に表示されていたシングルモードＭ２を表すオブジェクト６１３を消去する。
【０１７５】
またユーザがトリガーコマンドである“連続音声操作開始”を発話したことにより、モード制御部５４は音声認識モードをトリガーモードＭ１からマルチモードＭ３に切り替え、通知制御部５６はマルチモードＭ３を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面にマルチモードＭ３を示すオブジェクト６１４を表示する。
【０１７６】
さらにユーザが連続音声操作の終了を示す音声コマンドを発話したことにより、モード制御部５４は音声認識モードをマルチモードＭ３からトリガーモードＭ１に切り替え、通知制御部５６はトリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する。ホストアプリケーションプログラム３０８Ｃはこのモード情報を用いて、ウェアラブルデバイス３のディスプレイ１２４の画面に表示されていたマルチモードＭ３を表すオブジェクト６１４を消去する。
【０１７７】
より具体的な例として、カメラ１１６を用いた撮影で静止画像を取得する機能を有するホストアプリケーションプログラム３０８Ｃを、ユーザが音声で操作するシナリオ３およびシナリオ４を用いて説明する。
【０１７８】
（シナリオ３）  
音声認識が開始されたとき、トリガーモードＭ１である音声認識モードで音声入力が待ち受けられる。ユーザが「音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からシングルモードＭ２に遷移し、シングルモードＭ２を表すオブジェクト６１３が画面に表示される。
【０１７９】
次にユーザが「ズームする」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６のズームインのための処理を実行し、音声認識モードはトリガーモードＭ１に戻り、オブジェクト６１３が画面から消去される。
【０１８０】
そしてユーザが再度、「音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からシングルモードＭ２に再び遷移し、シングルモードＭ２を表すオブジェクト６１３が画面に表示される。
【０１８１】
次にユーザが「シャッターを押す」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６を用いた撮影により静止画像を取得するための処理を実行し、音声認識モードはトリガーモードＭ１に戻り、オブジェクト６１３が画面から消去される。
【０１８２】
ユーザは、画面上のオブジェクト６１３の有無に基づいて、音声認識モードがトリガーモードＭ１であるか、それともシングルモードＭ２であるかを容易に判別できる。
【０１８３】
（シナリオ４）  
音声認識が開始されたとき、トリガーモードＭ１である音声認識モードで音声入力が待ち受けられる。ユーザが「連続音声操作開始」と発話したことに応じて、音声認識モードはトリガーモードＭ１からマルチモードＭ３に遷移し、マルチモードＭ３を表すオブジェクト６１４が画面に表示される。
【０１８４】
次にユーザが「ズームする」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６のズームインのための処理を実行し、さらにユーザが「シャッターを押す」と発話したことに応じて、ホストアプリケーションプログラム３０８Ｃはカメラ１１６を用いた撮影により静止画像を取得するための処理を実行する。この間、マルチモードＭ３を表すオブジェクト６１４は画面に表示されたままである。
【０１８５】
そしてユーザが「連続音声操作終了」と発話したことに応じて、音声認識モードはマルチモードＭ３からトリガーモードＭ１に戻り、オブジェクト６１４が画面から消去される。
【０１８６】
ユーザは、画面上のオブジェクト６１４の有無に基づいて、音声認識モードがトリガーモードＭ１であるか、それともマルチモードＭ３であるかを容易に判別できる。
【０１８７】
以上のように、ユーザは現在の音声認識モードを容易に認識できるので、音声による操作の利便性を向上できる。
【０１８８】
図２４のフローチャートを参照して、モバイルＰＣ２によって実行される音声制御処理の手順の例を説明する。
【０１８９】
まずモバイルＰＣ２は音声認識モードをトリガーモードＭ１に設定し、使用する辞書をトリガーモード辞書データ５８１に設定する（ステップＳ６０１）。モバイルＰＣ２は、トリガーモードＭ１を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ６０２）。
【０１９０】
そしてモバイルＰＣ２は、トリガーモードＭ１での音声認識処理であるトリガーモード認識処理を実行する（ステップＳ６０３）。トリガーモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、トリガーモード辞書データ５８１に登録された１つ以上のトリガーコマンドの１つが認識される。１つのトリガーコマンドが認識されたことに応じてトリガーモード認識処理は終了する。トリガーモード認識処理の具体的な手順については、図１６のフローチャートを参照して上述した通りである。
【０１９１】
ステップＳ６０３のトリガーモード認識処理が終了したならば、すなわち１つのトリガーコマンドが認識されたならば、モバイルＰＣ２はその認識されたトリガーコマンドに応じて処理を分岐する（ステップＳ６０４）。認識されたトリガーコマンドが音声操作開始を示すトリガーコマンドであるならば（ステップＳ６０４の音声操作開始）、モバイルＰＣ２は音声認識モードをシングルモードＭ２に設定し、使用する辞書をシングルモード辞書データ５８２に設定する（ステップＳ６０５）。モバイルＰＣ２は、シングルモードＭ２を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ６０６）。
【０１９２】
そしてモバイルＰＣ２は、シングルモードＭ２での音声認識処理であるシングルモード認識処理を実行する（ステップＳ６０７）。シングルモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、シングルモード辞書データ５８２に登録された複数の音声コマンドの１つが認識される。シングルモード認識処理の具体的な手順については、図１７のフローチャートを参照して上述した通りである。
【０１９３】
ステップＳ６０７のシングルモード認識処理が終了したならば、モバイルＰＣ２はシングルモード認識処理においてタイムアウトが検出されたか否かを判定する（ステップＳ６０８）。タイムアウトが検出されていない場合（ステップＳ６０８のＮＯ）、モバイルＰＣ２は、シングルモード認識処理で認識された音声コマンドを示す情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ６０９）。一方、タイムアウトが検出された場合（ステップＳ６０８のＹＥＳ）、ステップＳ６０１に戻り、トリガーモードＭ１での音声認識処理が再度開始される。
【０１９４】
また、認識されたトリガーコマンドが連続音声操作開始を示す音声コマンドであるならば（ステップＳ６０４の連続音声操作開始）、モバイルＰＣ２は音声認識モードをマルチモードＭ３に設定し、使用する辞書をマルチモード辞書データ５８３に設定する（ステップＳ６１０）。モバイルＰＣ２は、マルチモードＭ３を示すモード情報をホストアプリケーションプログラム３０８Ｃに送出する（ステップＳ６１１）。
【０１９５】
そしてモバイルＰＣ２は、マルチモードＭ３での音声認識処理であるマルチモード認識処理を実行する（ステップＳ６１２）。マルチモード認識処理では、例えばウェアラブルデバイス３からモバイルＰＣ２に入力された音声データから、マルチモード辞書データ５８３に登録された複数の音声コマンドの１つが認識される。マルチモードＭ３の１つの音声コマンドが認識されたことに応じてマルチモード認識処理は終了する。マルチモード認識処理の具体的な手順については、図１８のフローチャートを参照して上述した通りである。
【０１９６】
ステップＳ６１２のマルチモード認識処理が終了したならば、すなわちマルチモードＭ３の１つの音声コマンドが認識されたならば、モバイルＰＣ２はマルチモード認識処理において連続音声操作終了を示す音声コマンドが認識されたか否かを判定する（ステップＳ６１３）。連続音声操作終了を示す音声コマンドが認識された場合（ステップＳ６１３のＹＥＳ）、ステップＳ６０１に戻り、トリガーモードＭ１での音声認識処理が再度開始される。
【０１９７】
連続音声操作終了を示す音声コマンドが認識されていない場合（ステップＳ６１３のＮＯ）、モバイルＰＣ２は、マルチモード認識処理で認識された音声コマンドを示す情報をホストアプリケーションプログラム３０８Ｃに送出し（ステップＳ６１４）、ステップＳ６１２に戻る。したがって、連続音声操作終了を示す音声コマンドが認識されるまで、連続してマルチモード認識処理が行われる。
【０１９８】
以上により、ユーザによる発話に基づくコマンドに応じて、音声認識モードの切り替えが制御されると共に、実行中のホストアプリケーションプログラム３０８Ｃにモード情報およびコマンド情報が送出される。これによりモバイルＰＣ２は、ホストアプリケーションプログラム３０８Ｃをモード情報およびコマンド情報に応じて動作させることができる。また、各音声認識モードでは、その音声認識モードで認識されるべきコマンドのみを含む辞書が使用されるので、認識されるべきコマンドを全て含む単一の辞書が使用される場合よりも、音声認識処理に要する時間を短くでき、且つ認識結果の精度を向上できる。
【０１９９】
（第３実施形態）  
第１および第２実施形態では、モード情報およびコマンド情報が１つのホストアプリケーションプログラム３０８Ｃに送出される。これに対して第３実施形態では、モード情報およびコマンド情報が複数のホストアプリケーションプログラム３０８Ｃに送出される。
【０２００】
第３実施形態に係るモバイルＰＣ２およびウェアラブルデバイス３の構成は第１および第２実施形態のモバイルＰＣ２およびウェアラブルデバイス３と同様であり、第３実施形態と第１および第２実施形態とでは、通知制御部５６によって実行される処理の手順のみが異なる。以下、第１および第２実施形態と異なる点のみを説明する。
【０２０１】
図２５に示すように、通知制御部５６は、複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎにそれぞれモード情報およびコマンド情報を送出し得る。通知制御部５６は、例えば複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎとの間でプロセス間通信のための接続をそれぞれ確立し、それら複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎにモード情報およびコマンド情報を送出する。複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎに設けられる各制御部５９−１，……，５９−Ｎは、モード情報およびコマンド情報を用いて動作を制御する。
【０２０２】
このような場合、例えばユーザが現在操作可能である一方のホストアプリケーションプログラム３０８Ｃ−１の制御部５９−１は、モード情報を用いて現在の音声認識モードを示すオブジェクトをディスプレイ１２４の画面に表示する。その後、他方のアプリケーションプログラム３０８−Ｎがユーザによって操作可能となったならば、そのアプリケーションプログラム３０８−Ｎの制御部５９−Ｎが、モード情報を用いて現在の音声認識モードを示すオブジェクトをディスプレイ１２４の画面に表示してもよい。
【０２０３】
以上のように、モバイルＰＣ２はモード情報およびコマンド情報を用いて、複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎの動作を制御できる。したがってユーザによる音声操作に応じて並行して、複数のホストアプリケーションプログラム３０８Ｃ−１，……，３０８Ｃ−Ｎを制御できるので、音声操作の利便性を向上できる。
【０２０４】
（第４実施形態）  
第１乃至第３実施形態では、モード情報およびコマンド情報が１つ以上のホストアプリケーションプログラム３０８Ｃに送出される。これに対して第４実施形態では、モード情報が第１のホストアプリケーションプログラム３０８Ｃに送出され、コマンド情報が第２のホストアプリケーションプログラム３０８Ｃに送出される。
【０２０５】
第４実施形態に係るモバイルＰＣ２およびウェアラブルデバイス３の構成は第１乃至第３実施形態のモバイルＰＣ２およびウェアラブルデバイス３と同様であり、第４実施形態と第１乃至第３実施形態とでは、通知制御部５６によって実行される処理の手順のみが異なる。以下、第１乃至第３実施形態と異なる点のみを説明する。
【０２０６】
図２６に示すように、通知制御部５６は複数のホストアプリケーションプログラム３０８Ｃ−１，３０８Ｃ−２の一方にモード情報を送出し、他方にコマンド情報を送出する。通知制御部５６は、例えば２つのホストアプリケーションプログラム３０８Ｃ−１，３０８Ｃ−２との間でプロセス間通信のための接続をそれぞれ確立し、第１ホストアプリケーションプログラム３０８Ｃ−１にモード情報のみを送出し、第２ホストアプリケーションプログラム３０８Ｃ−２にコマンド情報のみを送出する。第１ホストアプリケーションプログラム３０８Ｃ−１の制御部５９−１は、モード情報を用いて動作を制御する。また第２ホストアプリケーションプログラム３０８Ｃ−２の制御部５９−２は、コマンド情報を用いて動作を制御する。
【０２０７】
第１ホストアプリケーションプログラム３０８Ｃ−１の制御部５９−１は、モード情報を用いて第２ホストアプリケーションプログラム３０８Ｃ−２の動作を制御することもできる。例えば、制御部５９−１はモード情報を用いて、第２ホストアプリケーションプログラム３０８Ｃ−２に対して、現在の音声認識モードを示すオブジェクトをディスプレイ１２４の画面に表示することを要求する。第２ホストアプリケーションプログラム３０８Ｃ−２の制御部５９−２はこの要求に応じて、現在の音声認識モードを示すオブジェクトをディスプレイ１２４の画面に表示する。
【０２０８】
このように、連携して動作する２つのホストアプリケーションプログラム３０８Ｃ−１，３０８Ｃ−２に対して、モード情報とコマンド情報とを別々に送出することもできる。なお、第２ホストアプリケーションプログラム３０８Ｃ−２の制御部５９−２が、コマンド情報を用いて第１ホストアプリケーションプログラム３０８Ｃ−１の動作を制御してもよい。
【０２０９】
以上のように、モバイルＰＣ２はモード情報およびコマンド情報を用いて、連携する複数のホストアプリケーションプログラム３０８Ｃ−１，３０８Ｃ−２の動作を制御できる。したがってユーザによる音声操作に応じて並行して、複数のホストアプリケーションプログラム３０８Ｃ−１，３０８Ｃ−２を制御できるので、音声操作の利便性を向上できる。
【０２１０】
以上説明したように第１乃至第４実施形態によれば、音声による操作の利便性を向上できる。ＵＳＢ  Ｔｙｐｅ−Ｃ  レセプタクル２０７、ブルートゥース／無線ＬＡＮデバイス等の接続部は、モバイルＰＣ２をユーザが装着可能なウェアラブルデバイス３に有線または無線で接続する。音声取得部５１は、ウェアラブルデバイス３から、ユーザによる発話を集音することによって得られた音声データを取得する。通知制御部５６は、音声認識モードが、音声データから複数の第１コマンドの１つを認識する第１認識処理が実行される第１モードに設定された場合、第１モードを示す情報をモバイルＰＣ２上で実行されている１つ以上のホストアプリケーションプログラム３０８Ｃに送出し、音声認識モードが、音声データから複数の第２コマンドの１つを認識する第２認識処理が繰り返し実行される第２モードに設定された場合、第２モードを示す情報を１つ以上のホストアプリケーションプログラム３０８Ｃに送出する。
【０２１１】
ホストアプリケーションプログラム３０８Ｃは送出されたモード情報を用いて動作できる。例えば送出されたモード情報を用いて、モード情報に示される各モードがユーザに通知される場合、ユーザは現在の音声認識モードを把握できるので、音声操作におけるユーザによる利便性を向上できる。
【０２１２】
第１乃至第４実施形態に記載された様々な機能の各々は、回路（処理回路）によって実現されてもよい。処理回路の例には、中央処理装置（ＣＰＵ）のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム（命令群）を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。第１乃至第４実施形態に記載されたＣＰＵ以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
【０２１３】
また、第１乃至第４実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、第１乃至第４実施形態と同様の効果を容易に実現することができる。
【０２１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１５】
１…制御システム、２…モバイルＰＣ、３…ウェアラブルデバイス、３０８Ａ…ＯＳ、３０８Ｂ…音声制御プログラム、３０８Ｃ…ホストアプリケーションプログラム、５１…音声取得部、５２…音声認識部、５３…タイマ、５４…モード制御部、５５…辞書管理部、５６…通知制御部、５８…辞書記憶領域、５８１…トリガーモード辞書データ、５８２…シングルモード辞書データ、５８３…マルチモード辞書データ、５９…制御部。
【図１】
2020047062.tif 000003
【図２】
2020047062.tif 000004
【図３】
2020047062.tif 000005
【図４】
2020047062.tif 000006
【図５】
2020047062.tif 000007
【図６】
2020047062.tif 000008
【図７】
2020047062.tif 000009
【図８】
2020047062.tif 000010
【図９】
2020047062.tif 000011
【図１０】
2020047062.tif 000012
【図１１】
2020047062.tif 000013
【図１２】
2020047062.tif 000014
【図１３】
2020047062.tif 000015
【図１４】
2020047062.tif 000016
【図１５】
2020047062.tif 000017
【図１６】
2020047062.tif 000018
【図１７】
2020047062.tif 000019
【図１８】
2020047062.tif 000020
【図１９】
2020047062.tif 000021
【図２０】
2020047062.tif 000022
【図２１】
2020047062.tif 000023
【図２２】
2020047062.tif 000024
【図２３】
2020047062.tif 000025
【図２４】
2020047062.tif 000026
【図２５】
2020047062.tif 000027
【図２６】
2020047062.tif 000028