(57)【要約】【課題】ユーザが会話中であっても、ユーザの意図する通りにユーザの発声する音声に基づく制御を行うことができる画像表示装置および画像表示プログラム提供する。【解決手段】ＣＰＵは、マイクが収音した音データから第一ユーザが発声した第一音声データを切り出し、音声認識でテキストデータに変換したら（Ｓ１３１）、単語Ａとして取得する（Ｓ１４５）。ＣＰＵは、単語Ａをコマンド辞書と比較し（Ｓ１４７）、登録コマンドであり（Ｓ１４９：ＹＥＳ）、会話中でなければ（Ｓ１５１：ＮＯ）、単語Ａに対応するコマンドを実行してＨＭＤを制御する。会話中の場合（Ｓ１５１：ＹＥＳ）、ＣＰＵはコマンドを実行しない。会話中であっても、第二ユーザが発話中である場合と（Ｓ１５３：ＹＥＳ）、第一ユーザが操作ワードを複数回発声した場合には（Ｓ１６１：ＹＥＳ）、ＣＰＵはコマンドを実行する。【選択図】図８
2014192769.tif 000002
【特許請求の範囲】
【請求項１】
第一ユーザの頭部に装着可能な画像表示装置であって、
前記第一ユーザおよび前記第一ユーザとは異なる第二ユーザが発声する音声データを取得する取得手段と、
前記取得手段が取得した前記音声データが、前記第一ユーザが発声する第一音声データであると決定する第一決定手段と、
前記取得手段が取得した前記音声データが、前記第二ユーザが発声する第二音声データであると決定する第二決定手段と、
前記第一決定手段が決定した前記第一音声データと、前記第二決定手段が決定した前記第二音声データとに基づいて、前記第一ユーザと前記第二ユーザが会話中であるか否か判断する第一判断手段と、
前記第一ユーザが発声する音声に含まれる、前記画像表示装置の制御を指示する操作ワードに対応する指示データを、前記第一音声データから検出する検出手段と、
前記検出手段が前記指示データを検出し、且つ、前記第一判断手段が会話中でないと判断した場合、前記指示データに基づいて前記画像表示装置を制御する制御信号を出力する一方、前記検出手段が前記指示データを検出し、且つ、前記第一判断手段が会話中であると判断した場合は前記制御信号の出力を行わない制御信号出力手段と
を備えたことを特徴とする画像表示装置。
【請求項２】
前記第一音声データに同一種類の前記指示データが複数含まれるか否かを判断する第二判断手段をさらに備え、
前記第一判断手段が会話中であると判断し、且つ、前記第二判断手段が前記第一音声データに同一種類の前記指示データが複数含まれると判断した場合、前記制御信号出力手段は、前記指示データに基づく前記制御信号を出力することを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記第二決定手段が決定した第二音声データに基づいて前記第二ユーザが発声中であるか否か判断する第三判断手段をさらに備え、
第一判断手段が会話中であると判断し、且つ、前記第三判断手段が前記第二ユーザの発声中であると判断した場合、前記制御信号出力手段は、前記指示データに基づく前記制御信号を出力することを特徴とする請求項１または２に記載の画像表示装置。
【請求項４】
前記第一音声データをテキストデータに変換する変換手段をさらに備え、
前記制御信号出力手段は、前記テキストデータに前記指示データが含まれる場合に、前記指示データに基づく前記制御信号を出力することを特徴とする請求項１から３のいずれかに記載の画像表示装置。
【請求項５】
前記第一ユーザが発声する音声を収音し、前記第一音声データを生成可能な収音装置と、
ネットワークを介して前記第二音声データを受信可能な通信装置と
をさらに備え、
前記第一決定手段は、前記取得手段が前記収音装置を介して取得した前記音声データを前記第一音声データとして決定し、
前記第二決定手段は、前記取得手段が前記通信装置を介して取得した前記音声データを前記第二音声データとして決定することを特徴とする請求項１から４のいずれかに記載の画像表示装置。
【請求項６】
音声を収音し、前記音声データを生成可能な収音装置と、
前記収音装置が生成した前記音声データが前記第一音声データであるか前記第二音声データであるか判断する第四判断手段と
をさらに備え、
前記第一決定手段は、前記第四判断手段の判断結果に基づき前記収音装置が生成し、前記取得手段が取得した前記音声データを前記第一音声データとして決定し、
前記第二決定手段は、前記第四判断手段の判断結果に基づき前記収音装置が生成し、前記取得手段が取得した前記音声データを前記第二音声データとして決定することを特徴とする請求項１から４のいずれかに記載の画像表示装置。
【請求項７】
第一ユーザの頭部に装着可能な画像表示装置のコンピュータが実行可能なプログラムであって、
前記コンピュータに、
前記第一ユーザおよび前記第一ユーザとは異なる第二ユーザが発声する音声データを取得する取得ステップと、
前記取得ステップにおいて取得された前記音声データが、前記第一ユーザが発声する第一音声データであると決定する第一決定ステップと、
前記取得ステップにおいて取得された前記音声データが、前記第二ユーザが発声する第二音声データであると決定する第二決定ステップと、
前記第一決定ステップにおいて決定された前記第一音声データと、前記第二決定ステップにおいて決定された前記第二音声データとに基づいて、前記第一ユーザと前記第二ユーザが会話中であるか否か判断する第一判断ステップと、
前記第一ユーザが発声する音声に含まれる、前記画像表示装置の制御を指示する操作ワードに対応する指示データを、前記第一音声データから検出する検出ステップと、
前記検出ステップにおいて前記指示データが検出され、且つ、前記第一判断ステップにおいて会話中でないと判断された場合、前記指示データに基づいて前記画像表示装置を制御する制御信号を出力する一方、前記検出ステップにおいて前記指示データが検出され、且つ、前記第一判断ステップにおいて会話中であると判断された場合は前記制御信号の出力を行わない制御信号出力ステップと
を実行させることを特徴とする画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの頭部に装着可能で画像等を表示可能な画像表示装置および画像表示プログラムに関する。
【背景技術】
【０００２】
作業者の頭部に装着する投影装置（ヘッドディスプレイ）に、作業に関する情報等を示す画像を表示できる画像表示装置（ヘッドマウントディスプレイ）が知られている。ヘッドマウントディスプレイは、音声を収音するマイクロフォン（以下、「マイク」と略す。）と、音声を出力するスピーカまたはイヤホンを内蔵するヘッドセットを備えることができる。ヘッドマウントディスプレイは、ヘッドセットを介して入出力される音声を、有線または無線で接続される他のコンピュータ等に対して送受信することができる。このヘッドマウントディスプレイを装着した作業者は、他のコンピュータなどを操作する作業者と会話することができる。作業者は、ヘッドセットを介して作業者から作業に関する指示を伝えられ、ヘッドディスプレイに表示される画像を参照し、作業を行うことができる。
【０００３】
マイクを介して入力された音声を認識し、認識結果が事前に登録されたキーワードに一致するとき、ヘッドディスプレイに表示する画像の切り換え等を指示する指示信号を送信するヘッドマウントディスプレイが知られている（例えば特許文献１参照）。作業者と指示者との会話中に、作業者が発声する音声に登録キーワードと一致する言葉が含まれていた場合、ヘッドマウントディスプレイは作業者の意図しない動作を行う可能性がある。特許文献１のヘッドマウントディスプレイは、音声認識処理のオン・オフを切り換える音声制御切り換えスイッチを備える。特許文献１のヘッドマウントディスプレイは、作業者が音声制御切り換えスイッチをオフに操作すれば、作業者の音声に登録キーワードと一致する言葉が含まれていても指示信号を送信しない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１６５１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１において、作業者は、音声認識によるヘッドマウントディスプレイの操作を行うために、手動で音声制御切り換えスイッチを操作する必要がある。このため作業者は、作業中に手にする工具を手放したり、音声制御切り換えスイッチの位置を確認するため作業対象物から目を離したりする必要があった。
【０００６】
本発明は、上記の問題点を解決するためになされたものであり、ユーザが会話中であっても、ユーザの意図する通りにユーザの発声する音声に基づく制御を行うことができる画像表示装置および画像表示プログラム提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様によれば、第一ユーザの頭部に装着可能な画像表示装置であって、前記第一ユーザおよび前記第一ユーザとは異なる第二ユーザが発声する音声データを取得する取得手段と、前記取得手段が取得した前記音声データが、前記第一ユーザが発声する第一音声データであると決定する第一決定手段と、前記取得手段が取得した前記音声データが、前記第二ユーザが発声する第二音声データであると決定する第二決定手段と、前記第一決定手段が決定した前記第一音声データと、前記第二決定手段が決定した前記第二音声データとに基づいて、前記第一ユーザと前記第二ユーザが会話中であるか否か判断する第一判断手段と、前記第一ユーザが発声する音声に含まれる、前記画像表示装置の制御を指示する操作ワードに対応する指示データを、前記第一音声データから検出する検出手段と、前記検出手段が前記指示データを検出し、且つ、前記第一判断手段が会話中でないと判断した場合、前記指示データに基づいて前記画像表示装置を制御する制御信号を出力する一方、前記検出手段が前記指示データを検出し、且つ、前記第一判断手段が会話中であると判断した場合は前記制御信号の出力を行わない制御信号出力手段とを備えた画像表示装置が提供される。
【０００８】
第１態様の画像表示装置は、第一ユーザが操作ワードを発声したとき、第一ユーザが第二ユーザと会話中であれば制御信号を出力しないので、第一ユーザが第二ユーザとの会話の流れでたまたま操作ワードと同じ単語を発声した場合に誤作動することがない。したがって、画像表示装置は、第一ユーザの意図する通りに第一ユーザの発声する音声に基づく制御を行うことができる。
【０００９】
第１態様の画像表示装置は、前記第一音声データに同一種類の前記指示データが複数含まれるか否かを判断する第二判断手段をさらに備えてもよい。この場合に、前記第一判断手段が会話中であると判断し、且つ、前記第二判断手段が前記第一音声データに同一種類の前記指示データが複数含まれると判断した場合、前記制御信号出力手段は、前記指示データに基づく前記制御信号を出力してもよい。第１態様の画像表示装置は、第一ユーザが第二ユーザと会話中であっても、第一ユーザが操作ワードを複数回発声すれば、制御信号を出力することができる。したがって第一ユーザは、たとえ会話中であっても、手などを用いた操作ではなく、発声によって画像表示装置を操作することができる。
【００１０】
第１態様の画像表示装置は、前記第二決定手段が決定した第二音声データに基づいて前記第二ユーザが発声中であるか否か判断する第三判断手段をさらに備えてもよい。この場合に、第一判断手段が会話中であると判断し、且つ、前記第三判断手段が前記第二ユーザの発声中であると判断した場合、前記制御信号出力手段は、前記指示データに基づく前記制御信号を出力してもよい。第１態様の画像表示装置は、第一ユーザが第二ユーザと会話中であっても、第二ユーザが発声中であれば、第一ユーザの発声する操作ワードに基づいて制御信号を出力することができる。したがって第一ユーザは、第二ユーザとの会話を継続しながらも、手などを用いた操作ではなく、発声によって、画像表示装置を操作することができる。
【００１１】
第１態様の画像表示装置は、前記第一音声データをテキストデータに変換する変換手段をさらに備えてもよい。この場合に、前記制御信号出力手段は、前記テキストデータに前記指示データが含まれる場合に、前記指示データに基づく前記制御信号を出力してもよい。第一音声データから直接指示データを検出する場合、発音やイントネーションがユーザによって異なるため、一種類の指示データに対し、第一音声データと比較する複数パターンの音声データを用意する必要がある。第１態様の画像表示装置は、変換手段が第一音声データをテキストデータに変換することができるので、テキストを比較するという単純な処理によって、指示データの検出を行うことができる。
【００１２】
第１態様の画像表示装置は、前記第一ユーザが発声する音声を収音し、前記第一音声データを生成可能な収音装置と、ネットワークを介して前記第二音声データを受信可能な通信装置とをさらに備えてもよい。この場合に、前記第一決定手段は、前記取得手段が前記収音装置を介して取得した前記音声データを前記第一音声データとして決定し、前記第二決定手段は、前記取得手段が前記通信装置を介して取得した前記音声データを前記第二音声データとして決定してもよい。第１態様の画像表示装置は、収音装置を介して取得した第一音声データのみを対象として指示データを検出できる。
【００１３】
第１態様の画像表示装置は、音声を収音し、前記音声データを生成可能な収音装置と、前記収音装置が生成した前記音声データが前記第一音声データであるか前記第二音声データであるか判断する第四判断手段とをさらに備えてもよい。この場合に、前記第一決定手段は、前記第四判断手段の判断結果に基づき前記収音装置が生成し、前記取得手段が取得した前記音声データを前記第一音声データとして決定し、前記第二決定手段は、前記第四判断手段の判断結果に基づき前記収音装置が生成し、前記取得手段が取得した前記音声データを前記第二音声データとして決定してもよい。第１態様の画像表示装置は、収音装置が、第一ユーザの音声だけでなく、第二ユーザの音声を収音してしまっても、決定手段が、収音した音声データから、第一音声データを決定することができるので、第一音声データを対象として指示データを検出できる。
【００１４】
本発明の第２態様によれば、第一ユーザの頭部に装着可能な画像表示装置のコンピュータが実行可能なプログラムであって、前記コンピュータに、前記第一ユーザおよび前記第一ユーザとは異なる第二ユーザが発声する音声データを取得する取得ステップと、前記取得ステップにおいて取得された前記音声データが、前記第一ユーザが発声する第一音声データであると決定する第一決定ステップと、前記取得ステップにおいて取得された前記音声データが、前記第二ユーザが発声する第二音声データであると決定する第二決定ステップと、前記第一決定ステップにおいて決定された前記第一音声データと、前記第二決定ステップにおいて決定された前記第二音声データとに基づいて、前記第一ユーザと前記第二ユーザが会話中であるか否か判断する第一判断ステップと、前記第一ユーザが発声する音声に含まれる、前記画像表示装置の制御を指示する操作ワードに対応する指示データを、前記第一音声データから検出する検出ステップと、前記検出ステップにおいて前記指示データが検出され、且つ、前記第一判断ステップにおいて会話中でないと判断された場合、前記指示データに基づいて前記画像表示装置を制御する制御信号を出力する一方、前記検出ステップにおいて前記指示データが検出され、且つ、前記第一判断ステップにおいて会話中であると判断された場合は前記制御信号の出力を行わない制御信号出力ステップとを実行させる画像表示プログラムが提供される。画像表示装置のコンピュータが第２態様の画像表示プログラムを実行することで、第１態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】ＨＭＤ１の外観を示す斜視図である。
【図２】ＨＭＤ１およびＰＣ８０の電気的構成を示すブロック図である。
【図３】音声認識プログラムのローカル音データ分析処理を示すフローチャートである。
【図４】音声認識プログラムのリモート音データ分析処理を示すフローチャートである。
【図５】音声認識プログラムの音声認識処理を示すフローチャートである。
【図６】音声認識プログラムの会話検出処理を示すフローチャートである。
【図７】音声認識プログラムの重畳判定処理を示すフローチャートである。
【図８】音声認識プログラムのコマンド検出処理を示すフローチャートである。
【図９】第一ユーザおよび第二ユーザの発声する音声の認識に関する処理を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明を具体化した一実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。図示された装置の構成等は、その形態のみに限定する趣旨ではなく、単なる説明例である。
【００１７】
図１に示すように、本発明に係る画像表示装置（以下、「ヘッドマウントディスプレイ」または「ＨＭＤ」という。）１は、投影装置（以下、「ヘッドディスプレイ」または「ＨＤ」という。）１０と制御装置（以下、「コントロールボックス」または「ＣＢ」という。）５０を備える。作業者は、ＨＤ１０を頭部に装着し、ＣＢ５０を腰ベルトや腕等に装着してＨＭＤ１を使用する。ＨＭＤ１は、指示者が利用し、作業者に対する指示の情報をＨＭＤ１に送信するパーソナルコンピュータ（以下、「ＰＣ」という。図２参照）８０と、無線通信または有線通信を介して接続し、システムを構成する。以下の説明において、図１の上方、下方、右斜め下方、左斜め上方、右斜め上方および左斜め下方がそれぞれ、ＨＭＤ１の上方、下方、前方、後方、右方および左方である。
【００１８】
ＨＤ１０は専用の装着具である眼鏡５に装着して使用する。ＨＤ１０は、作業者が日常的に使用する眼鏡、ヘルメット、ヘッドホンなど、他の装着具に取り付けてもよい。ＨＤ１０は、作業者の眼に画像光を照射する。ＨＤ１０はハーネス７を介してＣＢ５０と着脱可能に接続する。ＣＢ５０は、ＨＤ１０を制御する。
【００１９】
ＨＤ１０の構成について説明する。ＨＤ１０は筐体２を備える。筐体２は、作業者側から見て右端側（図１における左側）にハーフミラー３を備える。ハーフミラー３は、作業者がＨＤ１０を頭部に装着したとき、作業者の眼（例えば左眼）の前方に配置される。ＨＤ１０は、筐体２の内部に、画像表示部１４（図２参照）と接眼光学系（図示略）を備える。画像表示部１４は、ＣＢ５０からハーネス７を介して送信される映像信号に基づいて画像を表示する。画像表示部１４は、例えば、液晶素子等の空間変調素子および光源である。画像表示部１４は、画像信号に応じた強度のレーザ光を２次元走査して画像表示を行う網膜走査型表示部や、有機ＥＬ（Organic Electro-luminescence）素子等であってもよい。
【００２０】
接眼光学系は、画像表示部１４に表示された画像を示す画像光を、作業者の眼に導くために集光する。接眼光学系から射出された画像光は、筐体２の左側に設けられたハーフミラー３によって少なくとも一部（例えば半分）が反射され、作業者の一方（例えば左）の眼球（図示略）に入射する。ハーフミラー３は外界の実像からの光の少なくとも一部を透過するので、作業者は、自己の視野において実像（外界の風景）に重畳して画像を見ることができる。
【００２１】
眼鏡５は、ＨＤ１０を作業者の頭部に保持するための構成である。眼鏡５は、フレーム６において、左眼用レンズを支えるリム部の上面右端（作業者から見て上面左端）に、支持部４を備える。支持部４は、ＨＤ１０の筐体２を保持し、眼鏡５に取り付ける。支持部４は、筐体２の保持位置を上下方向および左右方向に調整することができる。作業者は、眼球の位置に合わせた位置にハーフミラー３を配置することができる。
【００２２】
眼鏡５は、フレーム６において、右耳に掛けるテンプル部に、マイク１７およびイヤホン１８を内蔵するヘッドセット１６を備える。詳細は後述するが、作業者は、ＨＭＤ１の各種操作等の実行命令（コマンド）としてあらかじめ登録された登録コマンドに対応する操作ワードをヘッドセット１６のマイク１７へ向けて発声することによって、使用時における各種操作等を行うことが可能である。ヘッドセット１６には骨伝導型のものを用いてもよい。なお、眼鏡５自体の形状は通常の眼鏡に類似のため、詳細な説明は省略する。
【００２３】
ＣＢ５０の構成について説明する。ＣＢ５０は、略直方体状で縁部を丸めた箱型の筐体を有する。ＣＢ５０は電源ランプ６３を内蔵する電源スイッチ６２を含む操作部６１を備える。作業者は、電源スイッチ６２を操作し、ＨＭＤ１の電源をオンまたはオフにすることができる。作業者は、ＨＤ１０における各種設定や、使用時における各種操作等を、操作部６１を介して行うことが可能である。
【００２４】
ＣＢ５０は、公知の無線通信を介してＰＣ８０と接続し、ＰＣ８０との間で音データや画像データを含む各種データの送受信を行う。ＣＢ５０は有線通信のインターフェイスを備え、通信ケーブルを用いてネットワーク９（図２参照）に接続し、ＰＣ８０と接続してもよい。あるいはＣＢ５０は、ＵＳＢインターフェイスを備え、ＵＳＢケーブルを用い、ＰＣ８０に接続してもよい。なお、後述するＰＣ８０は、パーソナルコンピュータであるが、スマートフォンやタブレット型携帯端末など、その他の機器であってもよい。
【００２５】
図２を参照し、ＨＭＤ１の電気的構成について説明する。ＨＤ１０は、ＨＤ１０全体の制御を司るＣＰＵ１１を備える。ＣＰＵ１１は、ＲＡＭ１２、プログラムＲＯＭ１３、画像表示部１４、インターフェイス１５、および接続コントローラ１９と電気的に接続する。ＣＰＵ１１は、インターフェイス１５を介してヘッドセット１６と電気的に接続する。ＲＡＭ１２は、各種データを一時的に記憶する。プログラムＲＯＭ１３は、ＣＰＵ１１が実行する各種プログラム等を記憶する。各種プログラムは、ＨＤ１０の出荷時にプログラムＲＯＭ１３に記憶される。なおＣＰＵ１１は、後述するＣＢ５０のフラッシュＲＯＭ５４に記憶されたプログラムも実行することができる。
【００２６】
画像表示部１４は前述の通り、映像信号に基づいて画像を表示する。インターフェイス１５はヘッドセット１６に接続し、信号の入出力を制御する。接続コントローラ１９は、ハーネス７を介してＣＢ５０の接続コントローラ５８に接続し、有線通信を行う。ヘッドセット１６はマイク１７およびイヤホン１８を備える。ヘッドセット１６はマイク１７が受け取るアナログの音をデジタルの音データに変換し、インターフェイス１５を介してＣＰＵ１１に送信する。ヘッドセット１６はインターフェイス１５を介してＣＰＵ１１から受信するデジタルの音データをアナログの音に変換し、イヤホン１８から出力する。なお、ＨＤ１０は、ヘッドセット１６の代わりに、筐体２にマイクとスピーカを内蔵してもよい。
【００２７】
ＣＢ５０の電気的構成について説明する。ＣＢ５０は、ＣＢ５０全体の制御を司るＣＰＵ５１を備える。ＣＰＵ５１は、ＲＡＭ５２、プログラムＲＯＭ５３、フラッシュＲＯＭ５４、インターフェイス５５、ビデオＲＡＭ５６、画像処理部５７、接続コントローラ５８、および無線通信部５９と電気的に接続する。
【００２８】
ＲＡＭ５２は、各種フラグ、各種データ等を一時的に記憶する。後述する音声認識プログラムの実行において、ＣＰＵ５１は、ＲＡＭ５２に、ローカル音データ記憶エリア６５と、リモート音データ記憶エリア６６の記憶領域を確保する。ローカル音データ記憶エリア６５は、ＨＤ１０のマイク１７が収音する音をデジタル変換した音データ（以下、「ローカル音データ」という。）を所定の記憶容量分、ＦＩＦＯ処理で記憶する。リモート音データ記憶エリア６６は、無線通信部５９を介してＰＣ８０から受信する音データ（以下、「リモート音データ」という。）を所定の記憶容量分、ＦＩＦＯ処理で記憶する。なお、本実施形態では、音をデータ化したものを「音データ」といい、ヒトの発声する音声をデータ化したものを「音声データ」という。よって、音声データは音データに含まれる。
【００２９】
プログラムＲＯＭ５３は、ＣＰＵ５１が実行する各種プログラム、各種プログラムが使用するフラグやデータの初期値等を記憶する。プログラムＲＯＭ５３は、少なくとも、メインプログラム記憶エリア６７と、音声認識プログラム記憶エリアの記憶領域を確保している。メインプログラム記憶エリア６７は、ＣＰＵ５１がＨＭＤ１の各種動作を制御するために実行するメインプログラムを記憶する。なお、メインプログラムはマルチタスク型の基本ソフト（ＯＳ）であり、音声認識プログラムを含む各種プログラムを並列処理によって実行する。音声認識プログラム記憶エリア６８は、ＣＰＵ５１が、作業者の発声する音声に基づいてＨＭＤ１の各種操作等を行うための音声認識プログラム（後述）を記憶する。音声認識プログラムは、メインプログラムに従ってＣＰＵ５１が実行する各種プログラムのうちの一つである。メインプログラムおよび音声認識プログラムを含む各種プログラムは、ＨＭＤ１の出荷時にプログラムＲＯＭ５３に記憶される。なおＣＰＵ５１は、フラッシュＲＯＭ５４に記憶されたプログラムも実行可能である。
【００３０】
フラッシュＲＯＭ５４は、ＣＢ５０の出荷後にインストールされた各種プログラム、各種プログラムが使用するフラグやデータの設定値等を記憶する。インターフェイス５５は電源スイッチ６２および電源ランプ６３を含む操作部６１に接続し、作業者による操作の入力信号やランプの点灯信号等の入出力を行う。画像処理部５７は、ＨＤ１０の画像表示部１４に表示する画像を形成する処理を行う。ビデオＲＡＭ５６は、画像処理部５７が形成した画像を画像表示部１４に表示するための映像信号を生成するため、画像を仮想的に表示した仮想画面を記憶領域内に形成する。接続コントローラ５８は、ハーネス７を介してＨＤ１０の接続コントローラ１９に接続し、有線通信を行う。無線通信部５９は、ネットワーク９のアクセスポイント（図示略）へ無線で接続し、ネットワーク９に接続する他の機器（本実施形態ではＰＣ８０）と通信を行う。なお、無線通信部５９はネットワーク９を介さずに、直接ＰＣ８０と無線による接続を行ってもよい。
【００３１】
ＰＣ８０は、指示者が使用する公知のパーソナルコンピュータである。ＰＣ８０は、ＰＣ８０全体の制御を司るＣＰＵ８１を備える。ＣＰＵ８１は、データバスを介してＲＯＭ８２、ＲＡＭ８３、および入出力バス（以下、「Ｉ／Ｏバス」という。）８５と電気的に接続する。ＲＯＭ８２は、ＣＰＵ８１が実行するＢＩＯＳ等のプログラムを記憶する読出し専用の記憶装置である。ＲＡＭ８３は、データを一時的に記憶する読み書き可能な記憶装置である。
【００３２】
Ｉ／Ｏバス８５には、ハードディスクドライブ（以下、「ＨＤＤ」という。）８４、通信部８６、音声制御部８７、および表示制御部８８が接続されている。ＨＤＤ８４は、ＯＳやプログラム等がインストールされる記憶装置である。通信部８６は、有線通信、またはアクセスポイント（図示略）を介して無線通信でネットワーク９へ接続する。音声制御部８７はマイク９０およびイヤホン９１を内蔵するヘッドセット８９に接続し、ＰＣ８０を利用する指示者の音声の入出力を制御する。表示制御部８８は、画像等をディスプレイ９２に表示するための描画処理を行う。また、図示しないが、Ｉ／Ｏバス８５にはマウスやキーボード等の入力デバイスも接続されている。
【００３３】
図３〜図９を参照し、音声認識プログラムについて説明する。ＨＭＤ１は、上記したように、あらかじめプログラムＲＯＭ５３に音声認識プログラムを記憶した状態で出荷される。音声認識プログラムは、ＨＭＤ１のＣＢ５０のＣＰＵ５１が実行するプログラムである。音声認識プログラムを実行したＣＰＵ５１は、作業者が発声した音声の認識処理を行う。ＣＰＵ５１は、作業者がＨＭＤ１の各種操作等の登録コマンド（後述）に対応する操作ワードを発声した場合、登録コマンドに応じたＨＭＤ１の各種操作等を実行する。音声認識プログラムは、本実施形態では６つのプログラムモジュールによって構成される。具体的には、音声認識プログラムは、ローカル音データ分析処理、リモート音データ分析処理、音声認識処理、会話検出処理、重畳判定処理、およびコマンド検出処理（図３〜図８参照）によって構成される。ＣＰＵ５１は、各プログラムモジュールを並列処理によって実行する。
【００３４】
音声認識プログラムで使用する各種フラグおよびタイマーについて説明する。「第一発声フラグ」は、ＨＤ１０のマイク１７によって収音されたローカル音データに含まれる音声データが、作業者の発声した音声に基づく音声データである場合に成立し、オンとなるフラグである。第一発声フラグは、ローカル音データから作業者の音声データを切り出して音声認識を行う音声認識処理（図５参照）を実行するトリガーとして使用される。また第一発声フラグは、会話検出処理（図６参照）や重畳判定処理（図７参照）において、各種処理の判断条件としても使用される。
【００３５】
「第二発声フラグ」は、ＨＤ１０のマイク１７によって収音されたローカル音データに含まれる音声データが、作業者ではない他者（指示者もしくは第三者）の発声した音声に基づく音声データである場合に成立し、オンとなるフラグである。第二発声フラグは、会話検出処理（図６参照）や重畳判定処理（図７参照）において、各種処理の判断条件として使用される。なお、第二発声フラグが成立する状況として、例えば、作業者の近くで作業者と他者（指示者もしくは第三者）とが会話し、作業者と他者の音声がマイク１７に収音され、ローカル音データが生成される場合がある。音声認識プログラムにおいて、ＣＰＵ５１は、声紋認識を行い、ローカル音データに基づく音声を発声した発話者が作業者ではないと認識した場合に、第二発声フラグをオンにする。
【００３６】
「第三発声フラグ」は、ネットワーク９を介して無線通信部５９が受信したリモート音データに音声データが含まれる場合に成立し、オンとなるフラグである。第三発声フラグは、上記同様、会話検出処理（図６参照）や重畳判定処理（図７参照）において、各種処理の判断条件として使用される。なお、リモート音データに含まれる音声データは、指示者もしくは第三者が発声した音声に基づく音声データであり、作業者ではない。
【００３７】
このようにＣＰＵ５１は、音声認識プログラムにおいて、音データに含まれる音声データに基づく音声を発声した者が作業者であるか否かによって異なる発声フラグの成立を行っている。作業者ではない他者には指示者も含まれるため、以下では便宜上、作業者を「第一ユーザ」とし、指示者を含む他者を「第二ユーザ」として、音声認識プログラムの説明を行う。
【００３８】
「認識結果取得フラグ」は、第一ユーザの発声に区切りがつき、ＣＰＵ５１が、ローカル音データから第一ユーザの音声データを切り出して音声認識を行った場合に成立し、オンとなるフラグである。認識結果取得フラグは、音声データの認識結果に基づき登録コマンド（後述）の検出を行うコマンド検出処理（図８参照）の実行におけるトリガーとして使用される。なお、ローカル音データに基づく第一ユーザの音声が連続する２回の無声期間に挟まれた場合に、ＣＰＵ５１は、第一ユーザの発声に区切りがついたものと判断する。無声期間とは、音データに基づく音の周波数にヒトの発声する音声の周波数帯が含まれていない期間をいう。また、第一ユーザと第二ユーザとが同時に発声しており無声期間が生じていない場合においても、第一ユーザの発声が途切れた場合に、ＣＰＵ５１は、第一ユーザの発声に区切りがついたものと判断する。
【００３９】
「会話フラグ」は、ＣＰＵ５１が、第一ユーザと第二ユーザとが会話を行っていると判断した場合に成立し、オンとなるフラグである。会話フラグは、コマンド検出処理において、コマンドの実行に係る判断処理の判断条件として使用される。
【００４０】
「会話検出タイマーＴ１」は、会話検出処理（図６参照）において、会話フラグをオフにする条件として、第一ユーザと第二ユーザとが行う会話の途切れの検出に用いられる。ＣＰＵ５１は、第一ユーザまたは第二ユーザの発声に区切りがつくと会話検出タイマーＴ１をスタートし、あらかじめ設定された会話検出時間βが経過する前に第二ユーザまたは第一ユーザが発声した場合、会話が継続すると判断する。
【００４１】
「発声重畳タイマーＴ２」は、重畳判定処理（図７参照）において、第一ユーザの発声と第二ユーザの発声とが重畳した場合に、その重畳が、会話における発声の語尾と語頭との単なる重なりであるか否かを判定するのに用いられる。ＣＰＵ５１は、第一ユーザと第二ユーザの発声が重なると発声重畳タイマーＴ２をスタートする。例えば会話中に、第一ユーザの発声と第二ユーザの発声とが一部被っただけであれば、第一ユーザと第二ユーザの発声の重畳は、あらかじめ設定された重畳許容時間γが経過する前に解消する。発声重畳タイマーＴ２による判定処理は、重畳許容時間γが経過しても発声の重なりが続く場合、第一ユーザと第二ユーザとがもはや会話を行っていないとみなし、ＣＰＵ５１が会話フラグをオフにするために行われる。
【００４２】
「再発話タイマーＴ３」は、コマンド検出処理（図８参照）において、第一ユーザと第二ユーザとが会話中に、第一ユーザの発声した単語が操作ワードであった場合に、第二ユーザとの会話の流れでたまたま発声した単語であるか否か判定するために用いられる。ＣＰＵ５１は、登録コマンド（後述）の検出時に会話中であった場合、再発話タイマーＴ３をスタートし、あらかじめ設定された再発話受付時間αが経過する前に同一の登録コマンドが検出された場合に、第一ユーザが操作ワードを発声したと判断する。再発話タイマーＴ３による判定処理は、操作ワードを発声したにも関わらず登録コマンドが実行されなかった場合、第一ユーザが、同じ操作ワードを再度発声する可能性があるため行われる。
【００４３】
「登録コマンド」は、ＨＭＤ１の各種操作等を実行する制御信号を表す制御コードに対応付けられた実行命令（コマンド）であり、あらかじめ登録されたコマンドである。ＨＭＤ１の各種操作等の例として、画像表示部１４に表示する画像の切り換え（ファイルオープン、ページめくり等）、拡大、縮小、スクロール、回転、輝度変更などが挙げられる。登録コマンドは、例えば上記例にそれぞれ対応付けられたコマンドである。本実施形態のＣＰＵ５１は、第一ユーザの音声データをテキスト変換し、登録コマンドと比較する。本実施形態における登録コマンドは、あらかじめコマンド辞書に登録したテキストデータであり、コマンドを実行するために他の制御プログラム（図示略）に対して出力する制御信号を表す制御コードと対応付けられている。なお、登録コマンドは、音声データであってもよい。
【００４４】
前述したように、メインプログラムはマルチタスク型のＯＳであり、音声認識プログラムを含む各種プログラムを並列処理によって実行する。上記したフラグやタイマー等は、各プログラムモジュール間で共有して利用される。図３〜図８に示す各プログラムモジュールのフローチャート中には省略するが、ＣＰＵ５１は、割込みを禁止または解除したり、データをスタックへ退避または復帰したりする処理等、排他制御を行っている。なお、メインプログラムがマルチタスク型のＯＳでない場合、各プログラムモジュールは、例えば音声入力などハードウェアからのイベント割込みで駆動してもよい。
【００４５】
次に、音声認識プログラムの実行に伴いＣＰＵ５１が行う処理について説明する。第一ユーザ（作業者）がＨＭＤ１のＣＢ５０に設けられた電源スイッチ６２を操作すると、ＣＰＵ５１は起動時における所定の動作をメインプログラムの実行に従って行う。ＣＰＵ５１は無線通信部５９を稼働させ、ネットワーク９に接続する。ＣＰＵ５１は、音声認識プログラムを含む各種プログラムを実行する。
【００４６】
音声認識プログラムにおいて、ＣＰＵ５１は、起動時に行う初期設定処理（図示略）を行う。ＣＰＵ５１は、ＲＡＭ５２に記憶するフラグやデータを初期化し、プログラムＲＯＭ５３に記憶されているフラグやデータの初期値と、フラッシュＲＯＭ５４に記憶されているフラグやデータの設定値をＲＡＭ５２に書き込む。ＣＰＵ５１は音声認識プログラムの初回実行時にフラッシュＲＯＭ５４にコマンド辞書を構築する。ＣＰＵ５１はＲＡＭ５２に、ローカル音データ記憶エリア６５とリモート音データ記憶エリア６６の記憶領域を確保する。本実施形態では、第一ユーザは音声認識プログラムの実行中に、音声認識プログラムの動作をカスタマイズする各種設定を設定画面（図示略）で行うことができる。例えば、第一ユーザは任意のコマンドを制御コードに対応付けてコマンド辞書に登録することができる。また、第一ユーザは、後述する声紋認識処理（図示略）の有効化または無効化を設定することができ、有効化する場合、あらかじめ第一ユーザの声紋を登録することができる。ＣＰＵ５１は、設定内容をＲＡＭ５２のフラグやデータに反映し、フラッシュＲＯＭ５４に設定値として記憶する。ＣＰＵ５１は、ネットワーク９を介してＰＣ８０と接続する。ＣＰＵ５１は、ヘッドセット１６のマイク１７で収音した音の音データ（ローカル音データ）を、ネットワーク９を介してＰＣ８０に送信する処理を開始する。ＣＰＵ５１は、ネットワーク９を介してＰＣ８０から受信した音データ（リモート音データ）を、ヘッドセット１６のイヤホン１８から出力する処理を開始する。
【００４７】
ＣＰＵ５１は上記の初期設定処理が終了すると、音声認識プログラムを構成する６つのプログラムモジュールを並行して実行する。図３を参照し、ローカル音データ分析処理について説明する。ローカル音データ分析処理において、ＣＰＵ５１は、ヘッドセット１６からローカル音データを受信し、ＲＡＭ５２のローカル音データ記憶エリア６５に保存する処理を開始する（Ｓ１１）。ＣＰＵ５１は、ＲＡＭ５２に記憶したローカル音データを分析する。ＣＰＵ５１は音の分析処理を行う公知のプログラムモジュール（図示略）を実行し、ローカル音データが表す音の周波数を検出する（Ｓ１３）。ＣＰＵ５１は、分析したローカル音データが表す音の周波数に、ヒトの発声する音声の周波数帯が含まれない場合、マイク１７への音声入力はないと判断し（Ｓ１５：ＮＯ）、Ｓ３５に処理を進める。ＣＰＵ５１は、第一ユーザが電源スイッチ６２を操作した場合に実行するシステム終了処理（図示略）の実行が開始されていなければ（Ｓ３５：ＮＯ）、Ｓ１３に処理を戻し、ＲＡＭ５２に保存された新たなローカル音データの分析を行う。
【００４８】
Ｓ１３における音の分析処理の結果、ローカル音データが表す音の周波数に音声の周波数帯が含まれる場合、ＣＰＵ５１は、マイク１７への音声入力があると判断し（Ｓ１５：ＹＥＳ）、Ｓ１７に処理を進める。初期設定において声紋認識処理（図示略）が無効化されている場合（Ｓ１７：ＮＯ）、ＣＰＵ５１は、ローカル音データに基づく音声が第一ユーザ（作業者）の発声した音声であるとみなし、第一発声フラグをオンにし（Ｓ１９）、第二発声フラグをオフにして（Ｓ２１）、Ｓ２９に処理を進める。声紋認識処理が有効化されている場合（Ｓ１７：ＹＥＳ）、ＣＰＵ５１は、声紋認識処理を行う公知のプログラムモジュール（図示略）を実行する。ＣＰＵ５１は、ローカル音データに基づく音声の声紋が、あらかじめ登録された第一ユーザの音声の声紋と一致するか否か判断する（Ｓ２３）。ローカル音データに基づく音声の声紋が第一ユーザの音声の声紋と一致する場合（Ｓ２３：ＹＥＳ）、ＣＰＵ５１は、第一発声フラグをオンにし（Ｓ１９）、第二発声フラグをオフにして（Ｓ２１）、Ｓ２９に処理を進める。一方、ローカル音データに基づく音声の声紋が第一ユーザの音声の声紋と一致しない場合（Ｓ２３：ＮＯ）、ＣＰＵ５１は、第一ユーザの近くで第二ユーザ（指示者もしくは第三者）が発声し、マイク１７が収音した音声であるとみなす。ＣＰＵ５１は、第一発声フラグをオフにし（Ｓ２５）、第二発声フラグをオンにして（Ｓ２７）、Ｓ２９に処理を進める。
【００４９】
Ｓ２９において、ＣＰＵ５１は、上記した音の分析処理を行うプログラムモジュールを実行し、ローカル音データが表す音の周波数を検出する（Ｓ３１）。ＣＰＵ５１は、分析したローカル音データが表す音の周波数に、ヒトの音声の周波数帯が含まれる場合、第一ユーザまたは第二ユーザが発声中であると判断し（Ｓ３１：ＮＯ）、Ｓ１７に処理を戻す。ＣＰＵ５１は、第一ユーザまたは第二ユーザが発声している間、Ｓ１７〜Ｓ３１の処理を繰り返して実行し、第一ユーザの発声に対応する第一発声フラグと、ローカルでの第二ユーザの発声に対応する第二発声フラグのオン・オフを行う。
【００５０】
ローカル音データが表す音の周波数に、ヒトの音声の周波数帯が含まれない場合、ＣＰＵ５１は、第一ユーザおよび第二ユーザが発声を終了し、発声のない無声期間であると判断し（Ｓ３１：ＹＥＳ）、Ｓ３３に処理を進める。ＣＰＵ５１は、第一発声フラグおよび第二発声フラグをそれぞれオフにして（Ｓ３３）、Ｓ３５に処理を進める。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ３５：ＮＯ）、上記同様、Ｓ１３〜Ｓ３５の処理を繰り返して実行し、新たに保存されたローカル音データの分析結果に基づいて、第一発声フラグおよび第二発声フラグのオン・オフを行う。Ｓ３５において、システム終了処理が実行されている場合（Ｓ３５：ＹＥＳ）、ＣＰＵ５１は、ヘッドセット１６から受信するローカル音データの保存処理を終了し（Ｓ３７）、ローカル音データ分析処理の実行を終了する。
【００５１】
図４を参照し、リモート音データ分析処理について説明する。リモート音データ分析処理において、ＣＰＵ５１は、ネットワーク９を介して無線通信部５９がＰＣ８０から受信するリモート音データを、ＲＡＭ５２のリモート音データ記憶エリア６６に保存する処理を開始する（Ｓ４１）。ＣＰＵ５１は、ＲＡＭ５２に記憶したリモート音データの分析を、上記同様、音の分析処理を行うプログラムモジュールを実行して行い、リモート音データが表す音の周波数を検出する（Ｓ４３）。ＣＰＵ５１は、分析したリモート音データが表す音の周波数に、ヒトの発声する音声の周波数帯が含まれない場合、ＰＣ８０から受信したリモート音データに第二ユーザの音声は含まれないと判断し（Ｓ４５：ＮＯ）、Ｓ５５に処理を進める。ＣＰＵ５１は、システム終了処理（図示略）の実行が開始されていなければ（Ｓ５５：ＮＯ）、Ｓ４３に処理を戻し、ＲＡＭ５２に保存された新たなリモート音データの分析を行う。
【００５２】
Ｓ４３における音の分析処理の結果、リモート音データが表す音の周波数に音声の周波数帯が含まれる場合、ＣＰＵ５１は、第二ユーザの音声がリモート音データに含まれると判断し（Ｓ４５：ＹＥＳ）、Ｓ４７に処理を進める。リモート音データに基づく音声は第二ユーザ（指示者もしくは第三者）の発声した音声であるので、ＣＰＵ５１は、第三発声フラグをオンにする（Ｓ４７）。ＣＰＵ５１は、音の分析処理を行うプログラムモジュールを実行し、リモート音データが表す音の周波数を検出する（Ｓ４９）。ＣＰＵ５１は、分析したローカル音データが表す音の周波数に、ヒトの音声の周波数帯が含まれる場合、第二ユーザが発声中であると判断し（Ｓ５１：ＮＯ）、Ｓ７７に処理を戻す。ＣＰＵ５１は、第二ユーザが発声している間、Ｓ４７〜Ｓ５１の処理を繰り返して実行し、リモートでの第二ユーザの発声に対応する第三発声フラグがオンの状態を維持する。
【００５３】
リモート音データが表す音の周波数に、ヒトの音声の周波数帯が含まれない場合、ＣＰＵ５１は、リモートの第二ユーザが発声を終了し、発声のない無声期間であると判断し（Ｓ５１：ＹＥＳ）、Ｓ５３に処理を進める。ＣＰＵ５１は、第三発声フラグをオフにする（Ｓ５３）。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ５５：ＮＯ）、上記同様、Ｓ１３〜Ｓ３５の処理を繰り返して実行し、新たに保存されたリモート音データの分析結果に基づいて、第三発声フラグのオン・オフを行う。Ｓ５５において、システム終了処理が実行されている場合（Ｓ５５：ＹＥＳ）、ＣＰＵ５１は、ＰＣ８０から受信するリモート音データの保存処理を終了し（Ｓ５７）、リモート音データ分析処理の実行を終了する。
【００５４】
図５を参照し、音声認識処理について説明する。音声認識処理において、ＣＰＵ５１は、第一ユーザの発声に基づく第一発声フラグがオンであるか否か判断し、オフである場合には（Ｓ６１：ＮＯ）、Ｓ７３に処理を進める。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ７３：ＮＯ）、Ｓ６１に処理を戻す。ローカル音データ分析処理（図３参照）で第一発声フラグがオンになると（Ｓ６１：ＹＥＳ）、ＣＰＵ５１は、第一ユーザの音声入力が開始されたものして、このタイミングを入力期間の開始時期に設定する。ＣＰＵ５１は、第一発声フラグがオフであるか否か判断するＳ６３の処理を繰り返して行い（Ｓ６３：ＮＯ）、第一発声フラグが再びオフになるのを待つ。ローカル音データ分析処理で第一発声フラグがオフになると（Ｓ６３：ＹＥＳ）、ＣＰＵ５１は、第一ユーザの音声入力が終了したものして、このタイミングを入力期間の終了時期に設定する。
【００５５】
ＣＰＵ５１は、ＲＡＭ５２のローカル音データ記憶エリア６５に保存されたローカル音データから、入力期間（すなわち第一発声フラグがオンであった期間）の音データを切り出して（Ｓ６５）、ＲＡＭ５２の作業用の記憶領域（ワークエリア）に保存する。ＣＰＵ５１は、音声認識処理を行う公知のプログラムモジュール（図示略）を実行し、切り出した音データ、すなわち第一ユーザの音声データに対する音声認識を行う（Ｓ６７）。音声認識処理において、ＣＰＵ５１は、認識した音声データをテキストデータに変換して出力する。ＣＰＵ５１は、変換したテキストデータをＲＡＭ５２のワークエリアに保存し（Ｓ６９）、後述するコマンド検出処理に対して第一ユーザの音声に対する認識がなされたことを報せる認識結果取得フラグをオンにする（Ｓ７１）。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ７３：ＮＯ）、上記同様、Ｓ６１〜Ｓ７３の処理を繰り返して実行し、入力期間ごと、すなわち第一ユーザの発声に区切りがつくごとに、第一ユーザの音声データに対する音声認識を行う。Ｓ７３において、システム終了処理が実行されている場合（Ｓ７３：ＹＥＳ）、ＣＰＵ５１は、音声認識処理の実行を終了する。
【００５６】
図６を参照し、会話検出処理について説明する。会話検出処理において、ＣＰＵ５１は、会話フラグをオフにして初期状態にする（Ｓ８１）。ＣＰＵ５１は、第一発声フラグ、第二発声フラグ、第三発声フラグのうちのいずれかの発声フラグがオンであるか判断する（Ｓ８３）。第一発声フラグ、第二発声フラグおよび第三発声フラグがいずれもオフである場合（Ｓ８３：ＮＯ）、ＣＰＵ５１はＳ１０７に処理を進める。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ１０７：ＮＯ）、Ｓ８３に処理を戻し、いずれかの発声フラグがオンになるのを待つ。
【００５７】
いずれかの発声フラグがオンになると（Ｓ８３：ＹＥＳ）、ＣＰＵ５１は、オンになった発声フラグが第一発声フラグ、第二発声フラグおよび第三発声フラグのうちのいずれの発声フラグであるかを示す情報を、ＲＡＭ５２に記憶する。すなわちＣＰＵ５１は、現在発声を行っている発話者に関する情報として、オンになった発声フラグの情報を取得する（Ｓ８５）。ＣＰＵ５１は、取得した発声フラグがオンである間、その発声フラグがオフになったか否か判断するＳ８７の処理を繰り返して行い（Ｓ８７：ＮＯ）、現在の発話者が発声を終了するのを待つ。取得した発声フラグがオフになると（Ｓ８７：ＹＥＳ）、ＣＰＵ５１は、発話者による発声が終了したものして、会話検出タイマーＴ１を０にセットして、計時をスタートする（Ｓ８９）。
【００５８】
ＣＰＵ５１は、再度、第一発声フラグ、第二発声フラグ、第三発声フラグのうちのいずれかの発声フラグがオンであるか判断する（Ｓ９１）。第一発声フラグ、第二発声フラグおよび第三発声フラグがいずれもオフである場合（Ｓ９１：ＮＯ）、ＣＰＵ５１は、会話検出タイマーＴ１の値が会話検出時間βより小さいか否か判断する（Ｓ９３）。Ｔ１がβよりも小さい場合（Ｓ９３：ＹＥＳ）、ＣＰＵ５１は、システム終了処理の実行の有無を判断する（Ｓ９５）。システム終了処理が実行されていなければ（Ｓ９５：ＮＯ）、ＣＰＵ５１は処理をＳ９１に戻し、次の発話者が発声を開始することによって、いずれかの発声フラグがオンになるのを待つ。
【００５９】
Ｓ９１〜Ｓ９５の処理を繰り返して実行する間に、いずれかの発声フラグがオンになった場合（Ｓ９１：ＹＥＳ）、ＣＰＵ５１は、次の発話者が発声を開始したものとして、Ｓ８５で行った処理と同様に、オンになった発声フラグの情報を取得する（Ｓ９７）。ＣＰＵ５１は、今回取得した発声フラグの情報が、前回取得した発声フラグの情報とは異なる情報であるか否か判断する（Ｓ９９）。今回取得した発声フラグの情報が、前回取得した発声フラグの情報と異なる場合とは、前回の発話者が発声を終了し、会話検出時間βが経過する前に異なる発話者が発声を開始した場合である。具体的に、例えば図９に示すように、Ｐ１時に第一ユーザが発声を開始し、Ｐ２時に発声を終了してから、会話検出時間βが経過するＰ４時よりも前のＰ３時に、第二ユーザが発声を開始した場合である。図６に示すように、この場合（Ｓ９９：ＹＥＳ）、ＣＰＵ５１は、後述するコマンド検出処理に対して第一ユーザと第二ユーザとが会話中であることを報せる会話フラグをオンにして（Ｓ１０１）、Ｓ８７に処理を戻す。一方、今回取得した発声フラグの情報が、前回取得した発声フラグの情報と同じである場合（Ｓ９９：ＮＯ）、ＣＰＵ５１は、同じ発話者が続けざまに発声しているものとして、そのままＳ８７に処理を戻す。
【００６０】
ＣＰＵ５１は、上記同様、今回取得した発声フラグの情報に基づき発話者の発声終了を待ち（Ｓ８７：ＮＯ）、発声が終了すると（Ｓ８７：ＹＥＳ）、会話検出タイマーＴ１を再スタートする（Ｓ８９）。そして、Ｓ９１〜Ｓ９５の処理を繰り返して実行する間に、会話検出タイマーＴ１の計時が進み、Ｔ１がβ以上となった場合（Ｓ９３：ＮＯ）、ＣＰＵ５１は、会話フラグをオフにする（Ｓ１０３）。Ｔ１がβ以上となる場合とは、発話者の発声終了後、会話検出時間βが経過しても、次の発話者による発声が開始されず、第一ユーザと第二ユーザの会話が終了したとみなされる場合である。具体的に、例えば図９に示すように、Ｐ５時に第二ユーザの発声が終了した後、会話検出時間βが経過するＰ６時までに、第一ユーザもしくは第二ユーザが発声を開始せず、会話が途切れた場合である。図６に示すように、ＣＰＵ５１は、会話検出タイマーＴ１の計時をストップし、Ｓ１０７に処理を進める。上記同様、システム終了処理が実行されていなければ（Ｓ１０７：ＮＯ）、ＣＰＵ５１はＳ８３に処理を戻す。いずれかの発声フラグがオンになるのを待つ間に、Ｓ９５またはＳ１０７において、システム終了処理が実行されている場合（Ｓ９５：ＹＥＳまたはＳ１０７：ＹＥＳ）、ＣＰＵ５１は、会話検出処理の実行を終了する。
【００６１】
図７を参照し、重畳判定処理について説明する。重畳判定処理において、ＣＰＵ５１は、第一発声フラグがオンであり、且つ、第二発声フラグまたは第三発声フラグの少なくとも一方がオンであるか否か判断する（Ｓ１１１）。第一発声フラグがオフである場合、または、第二発声フラグおよび第三発声フラグが共にオフである場合（Ｓ１１１：ＮＯ）、ＣＰＵ５１はＳ１２３に処理を進める。ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ１２３：ＮＯ）、Ｓ１１１に処理を戻し、発声フラグの状態に基づく判断処理を行う。
【００６２】
例えば、第一ユーザと第二ユーザとが会話を行っており、第一ユーザの発声が終了する前に第二ユーザが発声を開始し、第一ユーザと第二ユーザの発声が被る場合がある。この場合、第一発声フラグはオンとなり、且つ、第二発声フラグおよび第三発声フラグの少なくとも一方がオンとなる（Ｓ１１１：ＹＥＳ）。ＣＰＵ５１は、第一ユーザと第二ユーザとが同時に発声しているものとして、発声重畳タイマーＴ２を０にセットして、計時をスタートする（Ｓ１１３）。
【００６３】
ＣＰＵ５１は、発声重畳タイマーＴ２の値が重畳許容時間γより小さいか否か判断する（Ｓ１１５）。Ｔ２がγよりも小さい場合（Ｓ１１５：ＹＥＳ）、ＣＰＵ５１は、第一発声フラグがオンであり、且つ、第二発声フラグまたは第三発声フラグの少なくとも一方がオンであるか否か判断する（Ｓ１１７）。すなわち、Ｓ１１７において、ＣＰＵ５１は、第一ユーザと第二ユーザの発声が被った状態が継続しているか否か、発声フラグの状態に基づく判断処理を行う。第一発声フラグがオンであり、且つ、第二発声フラグまたは第三発声フラグの少なくとも一方がオンであって、第一ユーザと第二ユーザの発声が被った状態が継続している場合（Ｓ１１７：ＹＥＳ）、ＣＰＵ５１はＳ１１５に処理を戻す。
【００６４】
重畳許容時間γが経過する前に、第一発声フラグがオフとなるか、第二発声フラグおよび第三発声フラグが共にオフとなった場合（Ｓ１１７：ＮＯ）、ＣＰＵ５１はＳ１２１に処理を進める。第一ユーザと第二ユーザの発声の被りは、重畳許容時間γ内に終了したことから、会話において発話者が切り替わる場合に生じ得る発声の被りであったものとみなすことができる。具体的に、例えば図９に示すように、Ｐ７時に第一ユーザが発声を開始し、発声を終了する前のＰ８時に第二ユーザが発声を開始すると、第一発声フラグと第二または第三発声フラグとが共にオンになり、ＣＰＵ５１は発声重畳タイマーＴ２をスタートする。第一ユーザはＰ８時より後のＰ９時に発声を終了するが、この時点で第二ユーザが発声を行っているので、ＣＰＵ５１は会話検出処理（図６参照）のＳ１０１での処理で会話フラグをオンにする。重畳許容時間γが経過するＰ１０時よりも前のＰ９時に第一ユーザが発声を終了すると、会話における発声が被りであるとみなされ、ＣＰＵ５１は、Ｐ１０時以降も発声フラグをオンの状態に維持する。図７に示すように、ＣＰＵ５１は、発声重畳タイマーＴ２の計時をストップし（Ｓ１２１）、Ｓ１２３に処理を進め、上記同様、システム終了処理が実行されていなければ（Ｓ１２３：ＮＯ）、Ｓ１１１に処理を戻す。
【００６５】
Ｓ１１５、Ｓ１１７の処理を繰り返して実行する間に、発声重畳タイマーＴ２の計時が進み、Ｔ２がγ以上となった場合（Ｓ１１５：ＮＯ）、ＣＰＵ５１は、会話フラグをオフにして（Ｓ１１９）、Ｓ１２１に処理を進める。例えば、第一ユーザと第二ユーザとがそれぞれ任意に発声を行っており、会話として成り立っていない場合がある。このような場合であっても、ＣＰＵ５１は、会話検出処理（図６参照）において、第一ユーザと第二ユーザとが会話中であると判断し、会話フラグをオンにする場合がある。ＣＰＵ５１は、重畳許容時間γが経過しても第一ユーザと第二ユーザの発声が被った状態が継続する場合、もはや会話が行われていないとみなし、会話フラグをオフにする。具体的に、例えば図９に示すように、Ｐ１６時に第一ユーザが発声を開始し、Ｐ１７時に第二ユーザも発声を開始すると、第一発声フラグと第二または第三発声フラグとが共にオンになり、ＣＰＵ５１は発声重畳タイマーＴ２をスタートする。重畳許容時間γが経過するＰ１８時においても第一発声フラグと第二または第三発声フラグとが共にオンの状態が維持されていれば、ＣＰＵ５１は、会話フラグをオフにする。図７に示すように、Ｓ１１１、Ｓ１２３の処理を繰り返して実行する間に、Ｓ１２３において、システム終了処理が実行されている場合（Ｓ１２３：ＹＥＳ）、ＣＰＵ５１は、重畳判定処理の実行を終了する。
【００６６】
図８を参照し、コマンド検出処理について説明する。コマンド検出処理において、ＣＰＵ５１は、認識結果フラグがオンであるか否か判断する（Ｓ１３１）。音声認識処理（図５参照）において、第一ユーザの音声データに対する音声認識がまだ行われておらず、認識結果取得フラグがオフである場合（Ｓ１３１：ＮＯ）、ＣＰＵ５１は、Ｓ１３３に処理を進める。ＣＰＵ５１は、再発話タイマーＴ３が作動中であるか否か判断し、作動中でなければ（Ｓ１３３：ＮＯ）、Ｓ１３７に処理を進める。ＣＰＵ５１は、ＣＰＵ５１は、システム終了処理が実行されていなければ（Ｓ１３７：ＮＯ）、Ｓ１３１に処理を戻し、Ｓ１３１、Ｓ１３３、Ｓ１３７の処理を繰り返して実行し、認識結果取得フラグがオンになるのを待つ。
【００６７】
Ｓ１３１において、認識結果取得フラグがオンであった場合（Ｓ１３１：ＹＥＳ）、ＣＰＵ５１は、認識結果取得フラグをオフにして（Ｓ１４１）、Ｓ１４３に処理を進める。ＣＰＵ５１は、再発話タイマーＴ３が作動中でなければ（Ｓ１４３：ＮＯ）、音声認識処理（図５参照）においてＲＡＭ５２のワークエリアに保存されたテキストデータを、単語Ａとして取得する（Ｓ１４５）。ＣＰＵ５１は、単語Ａを、フラッシュＲＯＭ５４に構築したコマンド辞書に登録された登録コマンドと比較する（Ｓ１４７）。単語Ａが登録コマンドに含まれない場合（Ｓ１４９：ＮＯ）、第一ユーザは操作ワードを発声しておらず、ＣＰＵ５１は処理をＳ１３１に戻す。単語Ａが登録コマンドに含まれる場合（Ｓ１４９：ＹＥＳ）、ＣＰＵ５１は、会話フラグがオンであるか否か判断する（Ｓ１５１）。会話フラグがオフである場合（Ｓ１５１：ＮＯ）、ＣＰＵ５１は、第一ユーザが操作ワードを発声したと判断し、単語Ａに対応するコマンドを実行してコマンドに応じた制御信号を出力した後（Ｓ１６３）、Ｓ１３１に処理を戻す。
【００６８】
Ｓ１５１において、会話フラグがオンであった場合（Ｓ１５１：ＹＥＳ）、ＣＰＵ５１は、現在、第二ユーザが発声中であるかについて、第二発声フラグまたは第三発声フラグの少なくとも一方がオンであるか否かによって判断する（Ｓ１５３）。第二発声フラグまたは第三発声フラグの少なくとも一方がオンであり、第二ユーザが発声中であれば（Ｓ１５３：ＹＥＳ）、ＣＰＵ５１は、処理をＳ１６３に進め、単語Ａに対応するコマンドを実行する（Ｓ１６３）。第一ユーザは、第二ユーザと会話中であっても、操作ワードを発声してＨＭＤ１の操作を行いたい場合がある。操作ワードは通常、単語であるため、本実施形態では、重畳許容時間γは、操作ワードの発声にかかる時間よりも長く設定されており、重畳判定処理（図７参照）において会話フラグはオンの状態に維持される。具体的に、例えば図９に示すように、第二ユーザがＰ８時からＰ１５時まで発声を行い、その発声中であるＰ１２時に、第一ユーザが操作ワードを発声すると、ＣＰＵ５１は発声重畳タイマーＴ２をスタートする。操作ワードの発声時間が短く、重畳許容時間γが経過するＰ１４時よりも前のＰ１３時に終了すると、ＣＰＵ５１は会話フラグをオフにしない。故に、図８に示すように、ＣＰＵ５１は、会話中であり（Ｓ１５１：ＹＥＳ）、第二ユーザの発声中に（Ｓ１５３：ＹＥＳ）、第一ユーザが操作ワードを発声した場合、対応するコマンドを実行することができる（Ｓ１６３）。
【００６９】
第一ユーザが操作ワードを発声し、登録コマンドが検出されたときに（Ｓ１４９：ＹＥＳ）、会話中であり（Ｓ１５１：ＹＥＳ）、第二ユーザが発声していなければ（Ｓ１５３：ＮＯ）、ＣＰＵ５１は、ワークエリアに単語Ａを記憶する（Ｓ１５５）。第二ユーザとの会話の流れで第一ユーザが発声した単語がたまたま操作ワードと同じ単語であった可能性があるため、ＣＰＵ５１は、第一ユーザが同じ操作ワードを発声し、同じ登録コマンドを再度検出するため、単語Ａを記憶する。ＣＰＵ５１は、再発話タイマーＴ３を０にセットして、計時をスタートし（Ｓ１５７）、処理をＳ１３１に戻す。
【００７０】
ＣＰＵ５１は、Ｓ１３３において、再発話タイマーＴ３が作動中であるので（Ｓ１３３：ＹＥＳ）、再発話タイマーＴ３の値が再発話受付時間αより小さいか否か判断する（Ｓ１３５）。Ｔ３がαよりも小さい場合（Ｓ１３５：ＹＥＳ）、システム終了処理が実行されていなければ（Ｓ１３７：ＮＯ）、ＣＰＵ５１は処理をＳ１３１に戻し、認識結果取得フラグがオンになるか、再発話受付時間αが経過するまで待つ。第一ユーザが同じ操作ワードを発声せず、認識結果取得フラグがオンになる前に再発話受付時間αが経過した場合（Ｓ１３５：ＮＯ）、ＣＰＵ５１は再発話タイマーＴ３の計時をストップし、Ｓ１３１に処理を戻す。
【００７１】
再発話受付時間αが経過する前に第一ユーザが発声し、認識結果取得フラグがオンになると（Ｓ１３１：ＹＥＳ）、ＣＰＵ５１は、Ｓ１４３において、再発話タイマーＴ３が作動中であるので（Ｓ１４３：ＹＥＳ）、処理をＳ１５９に進める。ＣＰＵ５１は、音声認識処理（図５参照）においてＲＡＭ５２のワークエリアに新たに保存されたテキストデータを単語Ｂとして取得し（Ｓ１５９）、単語Ａと単語Ｂとを比較する（Ｓ１６１）。単語Ａと単語Ｂとが同じ単語でない場合（Ｓ１６１：ＮＯ）、ＣＰＵ５１は、第一ユーザが操作ワードを発声しなかったとして、処理をＳ１３１に戻す。単語Ａと単語Ｂとが同じ単語である場合（Ｓ１６１：ＹＥＳ）、ＣＰＵ５１は、第一ユーザが操作ワードを言い直すために再度発声したとして、Ｓ１６３に処理を進め、単語Ａに対応するコマンドを実行する（Ｓ１６３）。ＣＰＵ５１は処理をＳ１３１に戻し、第一ユーザの次回の発声に基づいて、認識結果取得フラグがオンになるのを待つ。Ｓ１３７において、システム終了処理が実行されている場合（Ｓ１３７：ＹＥＳ）、ＣＰＵ５１は、コマンド検出処理の実行を終了する。
【００７２】
以上説明したように、ＣＰＵ５１は、第一ユーザが操作ワードを発声したとき、第一ユーザが第二ユーザと会話中であれば、登録コマンドを検出しても制御信号を出力しないので、第一ユーザが第二ユーザとの会話の流れでたまたま操作ワードと同じ単語を発声した場合に誤作動することがない。したがって、ＣＰＵ５１は、第一ユーザの意図する通りに第一ユーザの発声する音声に基づくＨＭＤ１の制御を行うことができる。また、ＣＰＵ５１は、第一ユーザが第二ユーザと会話中であっても、第一ユーザが操作ワードを複数回発声すれば、制御信号を出力することができる。したがって第一ユーザは、たとえ会話中であっても、手などを用いた操作ではなく、発声によってＨＭＤ１を操作することができる。また、ＣＰＵ５１は、第一ユーザが第二ユーザと会話中であっても、第二ユーザが発声中であれば、第一ユーザの発声する操作ワードに基づいて制御信号を出力することができる。したがって第一ユーザは、第二ユーザとの会話を継続しながらも、手などを用いた操作ではなく、発声によって、ＨＭＤ１を操作することができる。
【００７３】
第一音声データから直接登録コマンドを検出する場合、発音やイントネーションがユーザによって異なるため、一種類の登録コマンドに対し、第一音声データと比較する複数パターンの音声データを用意する必要がある。ＣＰＵ５１は、音声認識処理を行う公知のプログラムモジュールを用いて、第一音声データをテキストデータに変換することができるので、テキストデータをコマンド辞書で比較するという単純な処理によって、登録コマンドの検出を容易かつ確実に行うことができる。
【００７４】
ＣＰＵ５１は、ネットワーク９を介して第二ユーザの第二音声データを取得する場合、登録コマンドの検出をマイク１７を介して取得した第一音声データのみを対象として行えばよく、容易かつ確実に登録コマンドを検出することができる。また、ＣＰＵ５１は、マイク１７が第一ユーザの音声だけでなく、第二ユーザの音声を収音してしまっても、声紋認識処理を行う公知のプログラムモジュールを用いることで、収音した音声データから第一音声データを決定することができる。ゆえに、ＣＰＵ５１は、第一音声データを対象として登録コマンドの検出を行えばよく、容易かつ確実に登録コマンドを検出することができる。
【００７５】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々変更を加え得ることが可能である。コマンド検出処理において、ＣＰＵ５１は、単語Ａとして記憶した登録コマンドを、第一ユーザが次回に発声した単語Ｂと比較して、同じ単語であれば、単語Ａに対応するコマンドを実行したが、単語Ａを複数回分の単語と比較して、それぞれ同じ単語であれば、単語Ａに対応するコマンドを実行してもよい。あるいは、単語Ａを複数回分の単語と比較し、一つでも同じ単語があれば、単語Ａに対応するコマンドを実行してもよい。
【００７６】
ＣＢ５０は、ＨＤ１０を制御する専用コントローラの例として説明したが、ＨＤ１０に接続する機器は専用コントローラに限るものではない。例えば、スマートフォン、タブレット型端末、ノート型パーソナルコンピュータなど汎用のコンピュータ機器に、音声認識プログラムに相当する専用のプログラムをインストールしてＨＤ１０と接続し、本発明に係る画像形成装置を構成してもよい。
【００７７】
本実施形態では、メインプログラムおよび音声認識プログラムを含む各種プログラムは、ＨＭＤ１の出荷時にプログラムＲＯＭ５３に記憶されるものとしたが、必ずしもプログラムＲＯＭ５３に記憶された状態で出荷されなくともよい。例えば、ＣＢ５０が記憶媒体（光学メディア、メモリカードなど）の読取手段を備え、ＣＰＵ５１が、各種プログラムを記憶した記憶媒体から各種プログラムを読み出してフラッシュＲＯＭ５４にインストールしてもよい。あるいは、ＣＰＵ５１は、無線通信部５９を介して、ダウンロードサーバのＨＤＤなど外部の記憶部に保存された各種プログラムをダウンロードして、フラッシュＲＯＭ５４にインストールしてもよい。なお、メインプログラムも含めて各種プログラムをフラッシュＲＯＭ５４にインストールしてＨＭＤ１の駆動を行えば、プログラムＲＯＭ５３はなくともよい。
【００７８】
ヘッドセット１６は、公知のノイズキャンセリング機能を搭載したものであってもよい。ＨＭＤ１は、有線通信によってネットワーク９と接続し、ＰＣ８０と通信してもよい。また、ＨＭＤ１は、無線通信部５９を有さず、第二ユーザの音声がマイク１７を介してのみ収音されるものであってもよい。
【００７９】
また、ＲＡＭ５２は、第二発声フラグと第三発声フラグとを統括した第四発声フラグを有してもよい。この場合、第四発声フラグは、第二発声フラグおよび第三発声フラグの少なくとも一方がオンであればオンとなり、第二発声フラグおよび第三発声フラグが共にオフの場合にオフとなるようにすればよい。重畳判定処理のＳ１１１およびＳ１１７において、ＣＰＵ５１は、第一発声フラグがオンであり、且つ、第四発声フラグがオンである場合にＹＥＳに処理を進め、第一発声フラグまたは第四発声フラグがオフの場合にＮＯに処理を進めればよい。
【００８０】
なお、本実施形態において、登録コマンドの検出対象となる単語Ａは、入力期間中の音データに基づく音声データを音声認識したテキストデータを一つの単語として扱うものである。入力期間中の音声の一部に登録コマンドと同じ単語が含まれていても、その単語を抜き出して、登録コマンドとして扱うものではない。
【００８１】
なお、本実施の形態においては、ＨＭＤ１が本発明の「画像表示装置」に相当する。Ｓ１１で、ローカル音データをＲＡＭ５２に保存し、Ｓ４１で、リモート音データをＲＡＭ５２に保存するＣＰＵ５１が、「取得手段」に相当する。Ｓ１９で、第一発声フラグをオンにするＣＰＵ５１が、「第一決定手段」に相当する。Ｓ２５、Ｓ４７で第二または第三発声フラグをオンにするＣＰＵ５１が、「第二決定手段」に相当する。Ｓ１５１で、会話フラグがオンであるか否か判断するＣＰＵ５１が、「第一判断手段」に相当する。登録コマンドが「指示データ」に相当する。コマンド辞書との比較結果に基づき、Ｓ１４９で、単語Ａが登録コマンドであると判断するＣＰＵ５１が、「検出手段」に相当する。Ｓ１４９およびＳ１５１における判断処理の結果に基づいて、Ｓ１６３で、単語Ａに対応するコマンドを実行し、もしくはＳ１６３の処理を行わず、コマンドを実行しないＣＰＵ５１が、「制御信号出力手段」に相当する。
【００８２】
Ｓ１６１で、第一ユーザが発声した単語Ｂが、登録コマンドである単語Ａと同じ単語であるか否か判断するＣＰＵ５１が、「第二判断手段」に相当する。Ｓ１５３で、第二ユーザが発話中であるか否か判断するＣＰＵ５１が、「第三判断手段」に相当する。Ｓ６７で、第一音声データをテキストデータに変換するＣＰＵ５１が、「変換手段」に相当する。マイク１７が、「収音装置」に相当する。無線通信部５９が、「通信装置」に相当する。Ｓ２３で、声紋認識により音声データが第一ユーザが発声した第一音声データであるか否か判断するＣＰＵ５１が、「決定手段」に相当する。
【符号の説明】
【００８３】
１    ヘッドマウントディスプレイ（ＨＭＤ）
１６    ヘッドセット
１７    マイク
１８    イヤホン
５１    ＣＰＵ
５２    ＲＡＭ
５３    プログラムＲＯＭ
５９    無線通信部
６５    ローカル音データ記憶エリア
６６    リモート音データ記憶エリア
６７    メインプログラム記憶エリア
６８    音声認識プログラム記憶エリア
８０    パーソナルコンピュータ（ＰＣ）
α    再発話受付時間
β    会話検出時間
γ    重畳許容時間
【図１】
2014192769.tif 000003
【図２】
2014192769.tif 000004
【図３】
2014192769.tif 000005
【図４】
2014192769.tif 000006
【図５】
2014192769.tif 000007
【図６】
2014192769.tif 000008
【図７】
2014192769.tif 000009
【図８】
2014192769.tif 000010
【図９】
2014192769.tif 000011