(57)【要約】【課題】この発明は、ユーザが音声入出力装置を備えたクライアント側機器を介してサーバと音声対話を行うことにより、制御対象となるクライアント側機器をサーバに制御させることができるようになる機器制御システムを提供することを目的とする。【解決手段】複数のクライアント側機器がサーバに接続されている機器制御システムにおいて、複数のクライアント側機器のうち少なくとも１つのクライアント側機器は音声入出力装置を備えており、サーバは、音声入出力装置を備えているクライアント側機器を介してユーザと音声対話を行うことによって、制御に必要な情報を取得するための音声対話処理手段、および音声対話処理手段によって得られた情報に基づいて、制御対象となるクライアント側機器を制御する手段を備えている。【選択図】  図１
2005031856.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント側機器がサーバに接続されている機器制御システムにおいて、
複数のクライアント側機器のうち少なくとも１つのクライアント側機器は音声入出力装置を備えており、
サーバは、音声入出力装置を備えているクライアント側機器を介してユーザと音声対話を行うことによって、制御に必要な情報を取得するための音声対話処理手段、および音声対話処理手段によって得られた情報に基づいて、制御対象となるクライアント側機器を制御する手段を備えていることを特徴とする機器制御システム。
【請求項２】
音声入出力装置を備えているクライアント側機器は、ユーザに制御対象機器を特定するための制御対象機器特定情報を入力させるための手段、および入力された制御対象機器特定情報をサーバに送信する手段を備えており、
サーバは、上記クライアント側機器から送られてきた制御対象機器特定情報に基づいて、制御対象機器を特定する手段を備えていることを特徴とする請求項１に記載の機器制御システム。
【請求項３】
音声入出力装置を備えているクライアント側機器は、ユーザに制御種類を特定するための制御種類特定情報を入力させるための手段、および入力された制御種類特定情報をサーバに送信する手段を備えており、
サーバは、上記クライアント側機器から送られてきた制御種類特定情報に基づいて、その制御種類に応じた制御情報を取得するための対話モードを設定する手段を備えていることを特徴とする請求項２に記載の機器制御システム。
【請求項４】
サーバは、音声入出力装置を備えているクライアント側機器から送られてきた音声データに対する音声認識結果を上記クライアント側機器に送る手段を備えており、上記クライアント側機器はサーバから送られてきた音声認識結果を出力させる手段、ユーザにその音声認識結果が正しいか誤っているかを示す正誤判定情報を入力させる手段、および入力された正誤判定情報をサーバに送信する手段を備えており、サーバは、上記クライアント側機器から音声認識結果が誤っていることを示す正誤判定情報が送られてきた場合には、上記音声認識結果に対して次候補があるか否かを判別し、次候補がある場合にはその次候補を音声認識結果として上記クライアント側に送信する手段を備えていることを特徴とする請求項１、２および３のいずれかに記載の機器制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機器制御システムに関する。
【０００２】
【従来の技術】
家庭内において、ＴＶ、ＶＴＲ、冷蔵庫、照明機器等の各クライアント側機器をサーバに接続し、サーバによって各機器を制御できるようにしたシステムが既に開発されている。
【０００３】
【発明が解決しようとする課題】
この発明は、ユーザが音声入出力装置を備えたクライアント側機器を介してサーバと音声対話を行うことにより、制御対象となるクライアント側機器をサーバに制御させることができるようになる機器制御システムを提供することを目的とする。
【０００４】
【課題を解決するための手段】
請求項１に記載の発明は、複数のクライアント側機器がサーバに接続されている機器制御システムにおいて、複数のクライアント側機器のうち少なくとも１つのクライアント側機器は音声入出力装置を備えており、サーバは、音声入出力装置を備えているクライアント側機器を介してユーザと音声対話を行うことによって、制御に必要な情報を取得するための音声対話処理手段、および音声対話処理手段によって得られた情報に基づいて、制御対象となるクライアント側機器を制御する手段を備えていることを特徴とする。
【０００５】
請求項２に記載の発明は、請求項１に記載の機器制御システムにおいて、音声入出力装置を備えているクライアント側機器は、ユーザに制御対象機器を特定するための制御対象機器特定情報を入力させるための手段、および入力された制御対象機器特定情報をサーバに送信する手段を備えており、サーバは、上記クライアント側機器から送られてきた制御対象機器特定情報に基づいて、制御対象機器を特定する手段を備えていることを特徴とする。
【０００６】
請求項３に記載の発明は、請求項２に記載の機器制御システムにおいて、音声入出力装置を備えているクライアント側機器は、ユーザに制御種類を特定するための制御種類特定情報を入力させるための手段、および入力された制御種類特定情報をサーバに送信する手段を備えており、サーバは、上記クライアント側機器から送られてきた制御種類特定情報に基づいて、その制御種類に応じた制御情報を取得するための対話モードを設定する手段を備えていることを特徴とする。
【０００７】
請求項４に記載の発明は、請求項１乃至３に記載の機器制御システムにおいて、サーバは、音声入出力装置を備えているクライアント側機器から送られてきた音声データに対する音声認識結果を上記クライアント側機器に送る手段を備えており、上記クライアント側機器はサーバから送られてきた音声認識結果を出力させる手段、ユーザにその音声認識結果が正しいか誤っているかを示す正誤判定情報を入力させる手段、および入力された正誤判定情報をサーバに送信する手段を備えており、サーバは、上記クライアント側機器から音声認識結果が誤っていることを示す正誤判定情報が送られてきた場合には、上記音声認識結果に対して次候補があるか否かを判別し、次候補がある場合にはその次候補を音声認識結果として上記クライアント側に送信する手段を備えていることを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面を参照して、  この発明をホームネットワークシステムに適用した場合の実施の形態について説明する。
【０００９】
〔１〕第１の実施の形態の説明
【００１０】
図１は、ホームネットワークシステムの構成を示している。
【００１１】
複数の家庭内機器（以下、クライアントという）１０−１、１０−２、１０−３、…、１０−Ｎが、サーバ２０に接続されている。
【００１２】
各クライアント１０−１、１０−２、１０−３、…１０−Ｎは、図示しないが、ユーザがサーバ２０と音声対話を行うための音声入出力装置を備えている。
【００１３】
例えば、クライアント１０−１はテレビジョン受像機（ＴＶ）であり、クライアント１０−２は冷蔵庫であり、クライアント１０−３はＶＴＲである。また、クライアント１０−Ｎは、他の機器をサーバ２０を介して制御するための専用の端末機である。
【００１４】
この実施の形態では、任意のクライアント１０−１、１０−２、１０−３、…、１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、任意のクライアント１０−１、１０−２、１０−３、…、１０−Ｎをサーバ２０によって制御させることが可能である。
【００１５】
例えば、クライアント１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、サーバ２０にクライアント１０−３（ＶＴＲ）の録画設定を行わせることが可能である。
【００１６】
以下、クライアント１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、他のクライアントを制御する場合について説明する。
【００１７】
図２は、クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示している。
【００１８】
クライアント１０−Ｎは、制御部１１、マイク１２、スピーカ１３、操作部１４、表示部１５等を備えている。
【００１９】
サーバ２０は、音声対話処理部３０を備えている。音声対話処理部３０は、対話管理部３１、音声認識部３２、制御対象機器特定部３３、対話モード設定部３４、音声合成部３５、制御信号送信部３６等を備えている。
【００２０】
図３はクライアント１０−Ｎ側の処理手順を、図４はサーバ２０側の処理手順を、それぞれ示している。
【００２１】
まず、図３を参照して、クライアント１０−Ｎの処理手順について説明する。
【００２２】
ユーザは、まず、クライアント１０−Ｎに制御対象機器を特定するための情報（制御対象機器特定情報）を入力する。制御対象機器特定情報の入力は、例えば、各クライアントに割り当てられたＩＤを入力することにより行われる。
【００２３】
クライアント１０−Ｎの制御部１１は、制御対象機器特定情報が入力されると（ステップ１０１）、制御対象機器特定情報をサーバ２０に送信する（ステップ１０２）。
【００２４】
また、ユーザは、制御種類を特定するための情報（制御種類特定情報）を入力する。制御種類には、ＶＴＲの録画予約、エアコンの温度設定等がある。制御種類特定情報の入力は、例えば、制御種類毎に割り当てられたコードを入力することによって行われる。
【００２５】
クライアント１０−Ｎの制御部１１は、制御種類特定情報が入力されると（ステップ１０３）、制御種類特定情報をサーバ２０に送信する（ステップ１０４）。
【００２６】
この後、ユーザとサーバ２０とが音声対話を行うことにより、制御対象機器を制御するのに必要な情報がサーバ２０に与えられる。
【００２７】
クライアント１０−Ｎの制御部１１は、一定時間内に、マイク１２を介してユーザから音声が入力されたか否かを判別する（ステップ１０５）。ユーザからの音声入力があれば、クライアント１０−Ｎの制御部１１は、入力された音声データをサーバ２０に送信する（ステップ１０６）。そして、クライアント１０−Ｎの制御部１１は、サーバ２０から応答音声データが送られてくるのを待つ（ステップ１０７）。サーバ２０からの応答音声データを受信すると、クライアント１０−Ｎの制御部１１は、受信した音声データをスピーカ１３から出力させる（ステップ１０８）。そして、ステップ１０５に戻る。このようにして、ステップ１０５〜１０８の処理を繰り返し実行する。
【００２８】
クライアント１０−Ｎの制御部１１は、ステップ１０５において、一定時間内にユーザから音声が入力がないと判別すると、今回の処理を終了する。
【００２９】
次に、図４を参照して、サーバ２０の処理手順について説明する。
【００３０】
サーバ２０は、クライアント１０−Ｎからの制御対象機器特定情報を受信すると（ステップ２０１）、この情報に基づいて制御対象機器を特定する（ステップ２０２）。また、サーバ２０は、クライアント１０−Ｎからの制御種類特定情報を受信すると（ステップ２０３）、制御種類を特定するとともに特定した制御種類に応じた対話モードを設定する（ステップ２０４）。つまり、その制御種類において制御に必要な情報を取得するための対話モードを設定する。
【００３１】
サーバ２０は、一定時間内にクライアント１０−Ｎからの音声データを受信したか否かを判別する（ステップ２０５）。一定時間内に音声データを受信した場合には、サーバ２０は、制御に必要な情報を取得するために、受信した音声データに対して音声認識を行う（ステップ２０６）。
【００３２】
そして、サーバ２０は、制御に必要な情報を全て取得できたか否か、つまり制御を行うことが可能か否かを判別する（ステップ２０７）。制御に必要な情報を全て取得できていない場合には、サーバ２０は、応答内容を生成し（ステップ２０８）、生成した応答内容を音声合成した後（ステップ２０９）、合成音声データをクライアント１０−Ｎに送信する（ステップ２１０）。そして、ステップ２０５に戻る。このようにして、ステップ２０５〜２１０の処理を繰り返し実行する。
【００３３】
制御に必要な情報を全て取得すると、ステップ２０７でＹＥＳとなるので、サーバ２０は、制御信号を生成し（ステップ２１１）、上記ステップ２０２で特定した制御対象機器に制御信号を送信する（ステップ２１２）。この後、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信する（ステップ２１３）。そして、今回の処理を終了する。
【００３４】
なお、上記ステップ２０５において、一定時間内にクライアント１０−Ｎからの音声データを受信できなかった場合には、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信した後（ステップ２１３）、今回の処理を終了する。
【００３５】
クライアント１０−Ｎに音声入力を行うユーザと、サーバ２０との対話例を以下に示しておく。Ｕは、ユーザによって入力された音声の内容を、Ｓはサーバ２０から送られてきた合成音声の内容を表している。
【００３６】
Ｕ：録画予約
Ｓ：録画予約ですね。番組名をおっしゃって下さい。
Ｕ：ニュースステーション
Ｓ：いつのニュースステーションですか？
Ｕ：今週の水曜日
Ｓ：今週の水曜日のニュースステーションですね？
Ｕ：はい
Ｓ：わかりました。今週の水曜日のニュースステーションを録画予約しました。
【００３７】
なお、制御対象機器特定情報および制御種類特定情報を、ユーザに音声入力させるようにしてもよい。この場合には、クライアント１０−Ｎは音声入力された音声データをサーバ２０に送る。サーバ２０は、送られてきた音声データに対して音声認識を行うことにより、制御対象機器を特定するとともに、制御種類を特定する。
【００３８】
〔２〕第２の実施の形態の説明
【００３９】
この実施の形態においても、ホームネットワークシステムの構成は図１と同じである。
【００４０】
クライアント１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、他のクライアントを制御する場合について説明する。
【００４１】
図５は、クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示している。
【００４２】
クライアント１０−Ｎは、図２と同様に、制御部１１、マイク１２、スピーカ１３、操作部１４、表示部１５等を備えている。
【００４３】
サーバ２０は、音声対話処理部３０を備えている。音声対話処理部３０は、対話管理部３１、音声認識部２２、制御対象機器特定部２３、対話モード設定部２４、音声合成部３５、制御信号送信部３６の他、正誤判定情報受信部３７および認識結果送信部３８を備えている。
【００４４】
この実施の形態では、サーバ２０は、クライアント１０−Ｎからの音声データを音声認識した場合には、認識結果送信部３８によって、その音声認識結果を示す表示データをクライアント１０−Ｎに送信する。クライアント１０−Ｎは、サーバ２０からの音声認識結果を表すテキストデータを受信すると、そのテキストデータを表示部１５に表示させ、ユーザにその認識結果が正しいか誤っているかを示す正誤判定情報を入力させる。クライアント１０−Ｎは、ユーザによって入力された正誤判定情報をサーバ２０に送る。サーバ２０は、正誤判定情報受信部３７によって正誤判定情報を受信し、その正誤判定情報に応じた処理を行う。
【００４５】
図６はクライアント１０−Ｎ側の処理手順を示し、図７はサーバ２０側の処理手順を示している。
【００４６】
まず、図６を参照して、クライアント１０−Ｎの処理手順について説明する。
【００４７】
ユーザは、まず、クライアント１０−Ｎに制御対象機器を特定するための情報（制御対象機器特定情報）を入力する。クライアント１０−Ｎの制御部１１は、制御対象機器特定情報が入力されると（ステップ１１１）、制御対象機器特定情報をサーバ２０に送信する（ステップ１１２）。
【００４８】
また、ユーザは、制御種類を特定するための情報（制御種類特定情報）を入力する。クライアント１０−Ｎの制御部１１は、制御種類特定情報が入力されると（ステップ１１３）、制御種類特定情報をサーバ２０に送信する（ステップ１１４）。
【００４９】
この後、ユーザとサーバ２０とが音声対話を行うことにより、制御対象機器を制御するのに必要な情報がサーバ２０に与えられる。
【００５０】
クライアント１０−Ｎの制御部１１は、一定時間内に、マイク１２を介してユーザから音声が入力されたか否かを判別する（ステップ１１５）。一定時間内にユーザからの音声入力があれば、クライアント１０−Ｎの制御部１１は、入力された音声データをサーバ２０に送信する（ステップ１１６）。
【００５１】
そして、クライアント１０−Ｎの制御部１１は、サーバ２０からの認識結果を表すテキストデータを受信したか否か（ステップ１１７）、サーバ２０からの応答音声データを受信したか否か（ステップ１１８）を判別する。
【００５２】
認識結果を表すテキストデータを受信した場合には、クライアント１０−Ｎの制御部１１は、認識結果を表示部１５に表示する（ステップ１１９）。ユーザは、表示された認識結果を見て、その認識結果が正しいか誤っているかを示す正誤判定情報を入力する。クライアント１０−Ｎの制御部１１は、ユーザによって入力された正誤判定情報をサーバ２０に送信する（ステップ１２０）。そして、ステップ１１７に戻る。
【００５３】
サーバ２０からの応答音声データを受信したときには（ステップ１１８でＹＥＳ）、クライアント１０−Ｎの制御部１１は、受信した応答音声データをスピーカ１３から出力させる（ステップ１２１）。そして、ステップ１１５に戻る。このようにして、ステップ１１５〜１２１の処理を繰り返し実行する。
【００５４】
クライアント１０−Ｎの制御部１１は、ステップ１１５において、一定時間内にユーザから音声が入力がないと判別すると、今回の処理を終了する。
【００５５】
次に、図７を参照して、サーバ２０の処理手順について説明する。
【００５６】
サーバ２０は、クライアント１０−Ｎからの制御対象機器特定情報を受信すると（ステップ２２１）、この情報に基づいて制御対象機器を特定する（ステップ２２２）。また、サーバ２０は、クライアント１０−Ｎからの制御種類特定情報を受信すると（ステップ２２３）、制御種類を特定するとともに特定した制御種類に応じた対話モードを設定する（ステップ２２４）。
【００５７】
サーバ２０は、一定時間内にクライアント１０−Ｎからの音声データを受信したか否かを判別する（ステップ２２５）。一定時間内に音声データを受信した場合には、サーバ２０は、制御に必要な情報を取得するために、受信した音声データに対して音声認識を行う（ステップ２２６）。サーバ２０は、その認識結果を表すテキストデータをクライアント１０−Ｎに送信する（ステップ２２７）。そして、サーバ２０は、クライアント１０−Ｎから上記認識結果に対する正誤判定情報が送られてくるのを待つ（ステップ２２８）。
【００５８】
正誤判定情報を受信すると、サーバ２０は、受信した正誤判定情報に基づいて上記認識結果が正しかったか否かを判別し（ステップ２２９）、正しければ、制御に必要な情報を全て取得できたか否か、つまり制御を行うことが可能か否かを判別する（ステップ２３０）。制御に必要な情報を全て取得できていない場合には、サーバ２０は、応答内容を生成し（ステップ２３１）、生成した応答内容を音声合成した後（ステップ２３２）、合成音声データをクライアント１０−Ｎに送信する（ステップ２３３）。そして、ステップ２２５に戻る。
【００５９】
上記ステップ２２９において認識結果が誤っていると判別した場合には、サーバ２０は、次の認識結果候補があるか否かを判別する（ステップ２３４）。次の認識結果候補がある場合には、サーバ２０は、当該次の認識結果を取得して（ステップ２３５）、その認識結果を表すテキストデータをクライアント１０−Ｎに送信する（ステップ２２７）。そして、ステップ２２８に移行する。
【００６０】
上記ステップ２３４において、次の認識結果候補がないと判別した場合には、サーバ２０は、「音声認識を誤ったため、再度、音声入力を行って下さい」といった再入力を促す応答内容を生成し（ステップ２３６）、生成した応答内容を音声合成した後（ステップ２３２）、合成音声データをクライアント１０−Ｎに送信する（ステップ２３３）。そして、ステップ２２５に戻る。
【００６１】
制御に必要な情報を全て取得すると、ステップ２３０でＹＥＳとなるので、サーバ２０は、制御信号を生成し（ステップ２３７）、上記ステップ２２２で特定した制御対象機器に制御信号を送信する（ステップ２３８）。この後、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信する（ステップ２３９）。そして、今回の処理を終了する。
【００６２】
なお、上記ステップ２２５において、一定時間内にクライアント１０−Ｎからの音声データを受信できなかった場合には、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信した後（ステップ２３９）、今回の処理を終了する。
【００６３】
上記実施の形態では、音声認識結果をテキストデータとしてサーバ２０からクライアント１０−Ｎに送信し、クライアント１０−Ｎ側でそれを表示するという例を示したが、音声認識結果であるテキストデータをサーバ２０側で音声合成し、合成音声をサーバ２０からクライアント１０−Ｎ側に送信し、クライアント１０−Ｎ側でそれをスピーカから出力するようにしてもよい。
【００６４】
〔３〕第３の実施の形態の説明
【００６５】
この実施の形態においても、ホームネットワークシステムの構成は図１と同じである。
【００６６】
クライアント１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、他のクライアントを制御する場合について説明する。
【００６７】
図８は、クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示している。
【００６８】
クライアント１０−Ｎは、図２と同様に、制御部１１、マイク１２、スピーカ１３、操作部１４、表示部１５等を備えている。
【００６９】
サーバ２０は、音声対話処理部３０を備えている。音声対話処理部３０は、対話管理部３１、音声認識部２２、制御対象機器特定部２３、対話モード設定部２４、音声合成部３５、制御信号送信部３６の他、個人認証部３９および対話履歴記憶部４０を備えている。
【００７０】
個人認証部３９は、音声対話を行うユーザを、音声、指紋、顔画像等によって特定するものである。対話履歴記憶部４０は、各ユーザとの対話履歴を、個人認証部３９によって特定したユーザ毎に記憶するものである。
【００７１】
この実施の形態では、サーバ２０は、対話を開始する前にユーザを認証し、対話履歴記憶部４０を参照して、そのユーザに対応する対話履歴をチェックする。そのユーザに対応する対話履歴に基づいて、伝達事項があるか否かを判別し、伝達事項がある場合には、伝達事項を表す合成音声データを生成して、クライアントに送信する。
【００７２】
サーバ２０が、対話履歴に基づいて伝達事項があると判別し、伝達事項を表す合成音声データを送信する場合の具体例について説明する。Ｕは、ユーザによって入力された音声の内容を、Ｓはサーバ２０から送られてきた合成音声の内容を表している。
【００７３】
・対話履歴（ある日におけるユーザとサーバとの対話）
Ｕ：今日の阪神の試合を録画して。
Ｓ：はい、今日の阪神の試合を録画予約しました。
・伝達事項の送信（翌日におけるユーザとサーバとの対話）
Ｕ：昨日の試合録画できた。
Ｓ：昨日は雨で中止になりましたので、録画するのをやめました。
【００７４】
図９はクライアント１０−Ｎ側の処理手順を示し、図１０はサーバ２０側の処理手順を示している。
【００７５】
まず、図９を参照して、クライアント１０−Ｎの処理手順について説明する。
【００７６】
ユーザは、まず、個人認証用の音声入力を行う。クライアント１０−Ｎの制御部１１は、個人認証用の音声が入力されると（ステップ１３１）、個人認証用の音声データをサーバ２０に送信する（ステップ１３２）。
【００７７】
次に、クライアント１０−Ｎの制御部１１は、一定時間内に、サーバ２０から伝達事項を表す音声データが送られてきるか否かを判別する（ステップ１３３）。一定時間内に、サーバ２０からの伝達事項を表す音声データを受信した場合には、クライアント１０−Ｎの制御部１１は、受信した音声データをスピーカ１３から出力させた後（ステップ１３４）、ステップ１３５に移行する。一定時間内に、サーバ２０からの伝達事項を表す音声データを受信しなかった場合には、ステップ１３５に移行する。
【００７８】
ステップ１３５では、クライアント１０−Ｎの制御部１１は、一定時間内に制御対象機器を特定するための情報（制御対象機器特定情報）が入力されたか否かを判別する。一定時間内に制御対象機器特定情報が入力されると、クライアント１０−Ｎの制御部１１は、制御対象機器特定情報をサーバ２０に送信する（ステップ１３６）。なお、一定時間内に、制御対象機器特定情報が入力されなかったときには、今回の処理を終了する。
【００７９】
次に、クライアント１０−Ｎの制御部１１は、制御種類を特定するための情報（制御種類特定情報）が入力されるのを待つ（ステップ１３７）。制御種類特定情報が入力されると、制御種類特定情報をサーバ２０に送信する（ステップ１３８）。
【００８０】
この後、ユーザとサーバ２０とが音声対話を行うことにより、制御対象機器を制御するのに必要な情報がサーバ２０に与えられる。
【００８１】
クライアント１０−Ｎの制御部１１は、一定時間内に、マイク１２を介してユーザから音声が入力されたか否かを判別する（ステップ１３９）。一定時間内にユーザからの音声入力があれば、クライアント１０−Ｎの制御部１１は、入力された音声データをサーバ２０に送信する（ステップ１４０）。そして、クライアント１０−Ｎの制御部１１は、サーバ２０から応答音声データが送られてくるのを待つ（ステップ１４１）。サーバ２０からの応答音声データを受信すると、クライアント１０−Ｎの制御部１１は、受信した応答音声データをスピーカ１３から出力させる（ステップ１４２）。そして、ステップ１３９に戻る。このようにして、ステップ１３９〜１４２の処理を繰り返し実行する。
【００８２】
クライアント１０−Ｎの制御部１１は、ステップ１３９において、一定時間内にユーザから音声が入力がないと判別すると、今回の処理を終了する。
【００８３】
次に、図１０を参照して、サーバ２０の処理手順について説明する。
【００８４】
サーバ２０は、個人認証用音声を受信すると（ステップ２４１）、個人認証を行う（ステップ２４２）。そして、サーバ２０は、当該ユーザの対話履歴をチェックし（ステップ２４３）、伝達事項があるか否かを判別する（ステップ２４４）。
【００８５】
伝達事項がない場合には、ステップ２４８に移行する。伝達事項がある場合には、伝達事項に応じた応答内容を生成し（ステップ２４５）、生成した応答内容を音声合成した後（ステップ２４６）、合成音声データをクライアント１０−Ｎに送信する（ステップ２４７）。そして、ステップ２４８に移行する。
【００８６】
ステップ２４８では、サーバ２０は、一定時間内に制御対象機器特定情報を受信したか否かを判別する。一定時間内にクライアント１０−Ｎからの制御対象機器特定情報を受信すると（ステップ２４８）、サーバ２０は、この情報に基づいて制御対象機器を特定する（ステップ２４９）。また、サーバ２０は、クライアント１０−Ｎからの制御種類特定情報を受信すると（ステップ２５０）、制御種類を特定するとともに特定した制御種類に応じた対話モードを設定する（ステップ２５１）。
【００８７】
次に、サーバ２０は、一定時間内にクライアント１０−Ｎからの音声データを受信したか否かを判別する（ステップ２５２）。一定時間内に音声データを受信した場合には、制御に必要な情報を取得するために、受信した音声データに対して音声認識を行う（ステップ２５３）。
【００８８】
そして、サーバ２０は、当該ユーザに対する対話履歴を更新する（ステップ２５４）。また、サーバ２０は、制御に必要な情報を全て取得できたか否か、つまり制御を行うことが可能か否かを判別する（ステップ２５５）。制御に必要な情報を全て取得できていない場合には、サーバ２０は、応答内容を生成し（ステップ２５６）、生成した応答内容を音声合成した後（ステップ２５７）、合成音声データをクライアント１０−Ｎに送信する（ステップ２５８）。そして、ステップ２５２に戻る。このようにして、ステップ２５２〜２５８の処理を繰り返し実行する。
【００８９】
制御に必要な情報を全て取得すると、ステップ２５５でＹＥＳとなるので、サーバ２０は、制御信号を生成し（ステップ２５９）、制御対象機器に制御信号を送信する（ステップ２６０）。この後、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信する（ステップ２６１）。そして、今回の処理を終了する。
【００９０】
なお、上記ステップ２４８において一定時間内に制御対象機器特定情報を受信できなかった場合、または上記ステップ２５１において一定時間内にクライアント１０−Ｎからの音声データを受信できなかった場合には、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信した後（ステップ２６１）、今回の処理を終了する。
【００９１】
〔４〕第４の実施の形態の説明
【００９２】
この実施の形態においても、ホームネットワークシステムの構成は図１と同じである。
【００９３】
クライアント１０−Ｎを介してユーザがサーバ２０と音声対話を行うことにより、他のクライアントを制御する場合について説明する。
【００９４】
クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）の構成は、図２と同じである。
【００９５】
この実施の形態では、クライアント１０−Ｎからサーバ２０に動作開始指示が送られると、対話進行のための案内が全てサーバ２０側によって行われる。
【００９６】
図１１はクライアント１０−Ｎ側の処理手順を、図１２はサーバ２０側の処理手順を、それぞれ示している。
【００９７】
まず、ユーザ操作によって動作開始指令が入力されると（ステップ１５１）、クライアント１０−Ｎの制御部１１は、動作開始指令をサーバ２０に送信する（ステップ１５２）。
【００９８】
この後においては、クライアント１０−Ｎの制御部１１は、サーバ２０からの音声データ（合成音声データ）が送られてくるのを待つ（ステップ１５３）。サーバ２０からの音声データを受信すると、クライアント１０−Ｎの制御部１１は、受信した音声データが、終了を意味する音声データ（終了情報）であるか否かを判別する（ステップ１５４）。
【００９９】
受信した音声データが終了を意味する音声データでない場合には、クライアント１０−Ｎの制御部１１は、受信した音声データをスピーカ１３から出力（音声出力）させる（ステップ１５５）。次に、クライアント１０−Ｎの制御部１１は、ユーザからの音声入力を待つ（ステップ１５６）。ユーザからの音声入力があると、クライアント１０−Ｎの制御部１１は、入力された音声データをサーバ２０に送信した後（ステップ１５７）、ステップ１５３に戻る。
【０１００】
上記ステップ１５４で、サーバから受信した音声データが終了を意味する音声データであると判別した場合には、クライアント１０−Ｎの制御部１１は、受信した音声データをスピーカ１３から出力させる（ステップ１５８）。そして、今回の処理を終了する。
【０１０１】
次に、図１２を参照して、サーバ２０の処理手順について説明する。
【０１０２】
サーバ２０は、クライアント１０−Ｎからの動作開始指令を受信すると（ステップ２７１）、制御対象機器を特定するための情報（制御対象機器特定情報）の入力を要求するための合成音声データを送信する（ステップ２７２）。
【０１０３】
そして、サーバ２０は、一定時間内にクライアント１０−Ｎからの制御対象機器特定情報を受信したか否かを判別する（ステップ２７３）。一定時間内にクライアント１０−Ｎからの制御対象機器特定情報を受信すると、サーバ２０は、この情報に基づいて制御対象機器を特定する（ステップ２７４）。
【０１０４】
次に、サーバ２０は、制御種類を特定するための情報（制御種類特定情報）の入力を要求するための合成音声データを送信する（ステップ２７５）。そして、サーバ２０は、一定時間内にクライアント１０−Ｎからの制御種類特定情報を受信したか否かを判別する（ステップ２７６）。一定時間内にクライアント１０−Ｎからの制御種類特定情報を受信すると、サーバ２０は、制御種類を特定するとともに特定した制御種類に応じた対話モードを設定する（ステップ２７７）。
【０１０５】
そして、サーバ２０は、応答内容を生成し（ステップ２７８）、生成した応答内容を音声合成した後（ステップ２７９）、合成音声データをクライアント１０−Ｎに送信する（ステップ２８０）。
【０１０６】
次に、サーバ２０は、一定時間内にクライアント１０−Ｎからの音声データを受信したか否かを判別する（ステップ２８１）。音声データを受信した場合には、サーバ２０は、制御に必要な情報を取得するために、受信した音声データに対して音声認識を行う（ステップ２８２）。
【０１０７】
そして、サーバ２０は、制御に必要な情報を全て取得できたか否か、つまり制御を行うことが可能か否かを判別する（ステップ２８３）。制御に必要な情報を全て取得できていない場合には、サーバ２０は、ステップ２７８に戻って応答内容を生成し、生成した応答内容を音声合成した後（ステップ２７９）、合成音声データをクライアント１０−Ｎに送信する（ステップ２８０）。そして、ステップ２８１に移行する。このようにして、ステップ２７８〜２８３の処理を繰り返し実行する。
【０１０８】
制御に必要な情報を全て取得すると、ステップ２８３でＹＥＳとなるので、サーバ２０は、制御信号を生成し（ステップ２８４）、制御対象機器に制御信号を送信する（ステップ２８５）。この後、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信する（ステップ２８６）。そして、今回の処理を終了する。
【０１０９】
なお、上記ステップ２７３において一定時間内に制御対象機器特定情報を受信できなかった場合、上記ステップ２７６において一定時間内に制御種類特定情報を受信できなかった場合、または上記ステップ２８１において、一定時間内に音声データを受信できなかった場合には、サーバ２０は、終了を意味する合成音声データを生成して、クライアント１０−Ｎに送信した後（ステップ２８６）、今回の処理を終了する。
【０１１０】
上記各実施の形態においては、サーバ２０からの応答音声を出力した後に、ユーザからの音声入力を受け付けるという処理となっているが、サーバ２０からの応答音声出力中に、ユーザからの音声入力を受け付けるようにしてもよい。
【０１１１】
【発明の効果】
この発明によれば、ユーザが音声入出力機器を備えたクライアント側機器を介してサーバと音声対話を行うことにより、制御対象となるクライアント側機器をサーバに制御させることができるようになる。
【図面の簡単な説明】
【図１】ホームネットワークシステムの構成を示すブロック図である。
【図２】クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示すブロック図である。
【図３】第１の実施の形態におけるクライアント１０−Ｎ側の処理手順を示すフローチャートである。
【図４】第１の実施の形態におけるサーバ２０側の処理手順を示すフローチャートである。
【図５】クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示すブロック図である。
【図６】第２の実施の形態におけるクライアント１０−Ｎ側の処理手順を示すフローチャートである。
【図７】第２の実施の形態におけるサーバ２０側の処理手順を示すフローチャートである。
【図８】クライアント１０−Ｎ、サーバ２０および制御対象機器であるクライアント（例えば１０−３）を示すブロック図である。
【図９】第３の実施の形態におけるクライアント１０−Ｎ側の処理手順を示すフローチャートである。
【図１０】第３の実施の形態におけるサーバ２０側の処理手順を示すフローチャートである。
【図１１】第４の実施の形態におけるクライアント１０−Ｎ側の処理手順を示すフローチャートである。
【図１２】第４の実施の形態におけるサーバ２０側の処理手順を示すフローチャートである。
【符号の説明】
１０−１〜１０−Ｎ  クライアント
２０  サーバ
【図１】
2005031856.tif 000003
【図２】
2005031856.tif 000004
【図３】
2005031856.tif 000005
【図４】
2005031856.tif 000006
【図５】
2005031856.tif 000007
【図６】
2005031856.tif 000008
【図７】
2005031856.tif 000009
【図８】
2005031856.tif 000010
【図９】
2005031856.tif 000011
【図１０】
2005031856.tif 000012
【図１１】
2005031856.tif 000013
【図１２】
2005031856.tif 000014