(57)【要約】【課題】  簡単なシナリオを記述するだけで複数の情報処理動作を互いに指定されたタイミングで同期をとりながら実行することができる。【解決手段】  動作実行部３は、シナリオ記憶部２から読み込んだシナリオに基づいて次の動作を取得して実行し、動作が終了し且つ相手の動作が終了していなければ「待ち合わせ動作」を行い、動作が終了せず且つ相手の動作が終了していれば「急ぐ動作」を行い、動作が終了せず且つ相手も終了していなければ「通常動作」を行う。このように、動作の途中で同期を取って、動作の途中から動作の速度を変化させたり待ち合わせを行ったりすることが可能になる。【選択図】図１
2006155299.tif 000002
【特許請求の範囲】
【請求項１】
情報処理動作の動作内容を指示するテキスト情報が記憶されているテキスト情報記憶手段と、
上記テキスト情報記憶手段から上記テキスト情報を読み出し、この読み出されたテキスト情報で指示された動作内容を取得し、この取得した動作内容に従って情報処理動作を実行する動作実行手段と、
上記動作実行手段からの指示に従って、他の装置から送出される同期情報を検出する同期検出手段と
を備え、
上記動作実行手段は、上記テキスト情報上における予め設定された位置で、上記同期検出手段を介して取得した同期情報に基づいて、上記他の装置が実行する情報処理動作との同期を取りながら、上記情報処理動作を実行することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
上記テキスト情報には、上記他の装置が実行する情報処理動作との同期をとるべき位置を指定する同期命令が記述されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得して上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか否かを判断し、先行している場合には上記他の装置が実行している情報処理動作の終了を待つ待ち合わせ動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置において、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して遅れているか否かを判断し、遅れている場合には現在実行している情報処理動作を急ぐ急ぎの動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項５】
請求項２に記載の情報処理装置において、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断し、先行している場合には上記他の装置が実行している情報処理動作の終了を待つ待ち合わせ動作を行い、遅れている場合には現在実行している情報処理動作を急ぐ急ぎの動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
上記同期検出手段を介して得られる同期情報には、次の同期位置までの予測時間を表す情報が含まれており、
上記動作実行手段は、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断する際に、上記同期情報に含まれた次の同期位置までの予測時間を表す情報に基づいて上記先行あるいは遅れの度合いを求め、この度合いに応じて現在実行している情報処理動作の動作速度を連続的に切り換えるようになっていることを特徴とする情報処理装置。
【請求項７】
請求項１に記載の情報処理装置において、
上記テキスト情報には、上記同期をとるべき位置と、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行している場合に実行する情報処理動作および遅れている場合に実行する情報処理動作の少なくとも一方とを指定する同期命令が記述されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得すると共に、この取得した同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断し、この判断結果に応じて当該同期命令が指定する情報処理動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項８】
請求項１に記載の情報処理装置において、
上記テキスト情報は、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に同期している場合に実行する情報処理動作の動作内容を指示する部分と、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行している場合に実行する情報処理動作の動作内容および遅れている場合に実行する情報処理動作の動作内容の少なくとも一方を指示する部分とを含むと共に、上記同期を取るべき位置を指定する同期命令が付加されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得すると共に、この取得した同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断し、当該テキスト情報における上記判断結果に応じた部分で指示された情報処理動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっていることを特徴とする情報処理装置。
【請求項９】
請求項１に記載の情報処理装置において、
上記動作実行手段は複数存在すると共に、夫々の動作実行手段は上記同期検出手段に対して上記同期情報を送出するようになっており、
上記同期検出手段は、上記夫々の動作実行手段からの指示を受け付けて、少なくとも上記各動作実行手段のうちの何れかから送出された同期情報を検出するようになっている
ことを特徴とする情報処理装置。
【請求項１０】
請求項１に記載の情報処理装置において、
上記動作実行手段が処理する情報は、画像情報,音声情報,音楽情報,機器の制御情報およびロボットの制御情報のうちの何れか１つであることを特徴とする情報処理装置。
【請求項１１】
コンピュータを、
請求項１におけるテキスト情報記憶手段,動作実行手段および同期検出手段
として機能させることを特徴とする情報処理プログラム。
【請求項１２】
請求項１１に記載の情報処理プログラムが記録されたことを特徴とするコンピュータ読出し可能なプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ・グラフィックスや音声合成や音楽再生等のマルチメディアを用いたマルチメディア・ユーザー・インタフェースとして機能する情報処理装置,情報処理プログラムおよびプログラム記録媒体に関する。
【背景技術】
【０００２】
コンピュータが大衆化するのに伴って、より自然なユーザー・インタフェース技術が必要とされている。例えば、近年においては、ＣＧ(コンピュータ・グラフィックス)によるアニメーションと音声合成とを使組み合わせたエージェント技術等、複数の異なるメディアを用いたユーザー・インタフェースが研究されている。
【０００３】
通常、このような複雑なユーザー・インタフェースを実現するためには、ＣＧや音声合成等の処理を独立させたモジュールに分割し、並列に実行させることがよく行われる。ここで言うモジュールとは、単一プログラム内の複数の機能モジュールだけではなく、単一コンピュータ内で同時に実行される複数のプログラムや、ネットワークで接続された複数コンピュータで分散実行されるプログラムであってもよい。あるいは、コンピュータグラフィックではなく、物理的な動作を行うロボットや電子機器と考えてもよい。また、複数のモジュールは必ずしも画像と音声とのように異なるタイプとは限らず、音声合成と音声合成と言った同一のモジュールの場合もある。
【０００４】
ＣＧや音声合成等の処理を、このような複数のモジュールに分割した場合、モジュール同士を同期させる必要がある。そして、例えば音声合成に合せてアニメーションキャラクタ(エージェント)の口を動かして自然に見せるリップシンク技術のように、複数のメディアを同期させる技術が研究されている。但し、上記リップシンク技術は、音声に対して画像を一方的に合わせるものであり、動作も口の周辺に止まるために、エージェントが歩いたりある方向を指示したりする等の体全体の動作と音声合成とを同期させることは行われない。
【０００５】
口以外の動作を同期させる技術として、例えば特開２００３‐２１６１７３号公報(特許文献１)に開示された「合成音声及び映像の同期制御装置」がある。この特許文献１には、音声合成の韻律情報に基づいて、ＣＧによるアニメーションキャラクタの動作を制御する方法が開示されている。この技術によれば、音声合成によって「てく、てく、てく」と言いながらエージェントが歩くといった事が可能になる。
【０００６】
しかしながら、上記従来の特許文献１に開示された合成音声および映像の同期制御装置には、以下のような問題がある。すなわち、ＣＧのアニメーションで表現されるエージェントの動作は、例えばエージェントが画面上を移動する場合、どの位の距移を移動するのか、またどの位の速度で移動するかに依存している。また、音声合成に必要な時間は、合成すべきテキストの量や発声速度に依存している。そして、エージェントの動作時間と音声合成時間とは、同期するように調整する必要がある。ところが、エージェントの動作時間と音声合成時間との調整は、ある程度は可能であるが、自然な動作や自然な発声にするためには調整できる範囲に限界がある。
【０００７】
これを無視して、上記特許文献１に開示された合成音声および映像の同期制御装置の場合のように、何れかに強制的に同期させることは不自然さを招くことになる。例えば、ある場面において、エージェントの動作に必要な時間に対して音声合成用のテキストが短い場合には、音声合成側に動作を合わせると、動作が完了しないうちに次の場面が開始するため、動作が不連続になったり、無理に発声時間内に合せることで動作が不自然に早くなったりする。逆に、動作側に音声合成を合せると、音声合成が先に終わってからしばらく音のない状態で動作したり、無理に動作時間に合せるために発声速度を遅くすると、発声が不自然に遅くなったりする。
【０００８】
これらのことを防ぐためには、動作や発声テキストを作成する際に十分な検討を重ねて設計することが必要である。ところが、状況に応じて発声内容や動作内容が変化するエージェントの場合には、全ての状況に対して発声テキストと動作内容との同期を調整しながらシナリオを作成する事は現実的でないだけではなく、種々の状況が起こる場合に対処できないのである。
【０００９】
次に、複数の音声合成モジュールを同期させる場合について述べる。従来の音声合成モジュールを用いて、複数の音声合成を同期させる場合には、次のような課題がある。図１０〜図１２は、音声合成装置に与えるシナリオと、それを合成した場合の実際の音声出力の時間的な流れとを示している。ここで、目的とする出力は、図１２に示すように、話者Ａ,Ｂが同時に発声し、話者Ａの発声を話者Ｂが遮るという状況を音声で実現することである。
【００１０】
図１０は、一般的な音声合成装置を使ってシナリオを順次読み上げさせる場合を示す。話者Ａと話者Ｂとは同時に発声しないため、話者Ａが「本日は晴天なり、本日は」という発声を終了してから、話者Ｂが「もう結構」と発声するため、話者Ｂが話者Ａの発声を遮ったという印象を与えないという問題がある。
【００１１】
図１１は、シナリオを分割し、部分毎に話者Ａ用の音声合成モジュールと話者Ｂ用の音声合成モジュールとを並列して動作させることによって、目的の出力に近づける方法の例を示す。シナリオ中の話者「Ｂ＋」は、直前の発声終了を待たずに同時に発声を開始することを示している。図の例では、話者Ａの発声を「本日は晴天なり、本日は」と「晴天なり」とに分割し、後半の「晴天なり」を話者Ｂの「もう結構です。黙って」と並列に発声させる。そして、その後、話者Ａの「はい」と話者Ｂの「ください」とを並列に発話させている。この方法は、一見目的に叶っているように見えるが、文章を途中で区切っているために、発声される音声のイントネーションがおかしくなってしまう。これは、音声合成技術においては、一連の文章単位でイントネーションを生成するため、途中で区切られた文章の場合には、自然なイントネーションが生成できなくなるためである。
【００１２】
図１２は、シナリオの中に休止(ポーズ)の時間を指定し、話者Ａ,話者Ｂ夫々の音声合成モジュールを同時に実行する方法を示す。ここで、各音声合成モジュールによる出力音声は、自動的に合成されてスピーカから出力されるものとする。ここで、ポーズの指定には「＜ＰＡＵ＝１＞」または「＜ＰＡＵ＝３＞」という命令を用い、１秒や３秒という絶対的な時間で指定している。このようにポーズを指定して２つの音声合成モジュールを同時に実行することによって、目的の出力結果を得ている。しかしながら、この方法では、テキストの内容が変化した場合には、もう一度ポーズの時間を設定し直す必要があり、様々な状況に対応したシナリオを作成するのが困難である。そのために、動作や発声テキストが状況によって変化するエージェントのようなユーザー・インタフェースの場合には対応できないと言う問題がある。
【特許文献１】特開２００３‐２１６１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで、この発明の課題は、簡単なシナリオを記述するだけで複数の情報処理動作を互いに指定されたタイミングで同期をとりながら実行することができる情報処理装置、情報処理プログラム、および、プログラム記録媒体を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、この発明の情報処理装置は、
情報処理動作の動作内容を指示するテキスト情報が記憶されているテキスト情報記憶手段と、
上記テキスト情報記憶手段から上記テキスト情報を読み出し、この読み出されたテキスト情報で指示された動作内容を取得し、この取得した動作内容に従って情報処理動作を実行する動作実行手段と、
上記動作実行手段からの指示に従って、他の装置から送出される同期情報を検出する同期検出手段と
を備え、
上記動作実行手段は、上記テキスト情報上における予め設定された位置で、上記同期検出手段を介して取得した同期情報に基づいて、上記他の装置が実行する情報処理動作との同期を取りながら、上記情報処理動作を実行することを特徴としている。
【００１５】
上記構成によれば、同じテキスト情報あるいは互いに関連を有する異なるテキスト情報に基づいて上記他の装置と同期を取りながら情報処理動作を実行する際に、上記テキスト情報の開始時点や終了時点を上記他の装置と同期させることが可能になる。その場合、本情報処理装置と上記他の装置との同期を取るために、上記テキスト情報を分割したり、上記テキスト情報中に区切りを入れたりする必要がない。したがって、上記情報処理動作が音声合成動作である場合に、発話内容を指示するテキスト情報に基づいて文章単位でイントネーションを生成することができ、自然なイントネーションの合成音声を生成・出力することができる。
【００１６】
さらに、本情報処理装置が音声合成装置であり上記他の装置がＣＧ装置である場合に、ＣＧキャラクタの動作の１歩に音声合成の１文字を割り当てるようなことが、上記テキスト情報に対して複雑な設定等を行うことなく実現することができるのである。
【００１７】
また、１実施の形態の情報処理装置では、
上記テキスト情報には、上記他の装置が実行する情報処理動作との同期をとるべき位置を指定する同期命令が記述されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得して上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００１８】
この実施の形態によれば、上記テキスト情報に記載された上記同期命令の位置で本情報処理装置の動作と上記他の装置の動作との同期を取ることができ、設計者は、上記テキスト情報上における上記同期を取る箇所を自由に設定することが可能になる。さらに、その場合であっても、上記情報処理動作が音声合成動作である場合には、上記テキスト情報に記述された同期命令を音声合成用のテキストから除外することによって、自然なイントネーションの合成音声を生成・出力することができる。
【００１９】
また、１実施の形態の情報処理装置では、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか否かを判断し、先行している場合には上記他の装置が実行している情報処理動作の終了を待つ待ち合わせ動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００２０】
この実施の形態によれば、上記テキスト情報に記載された上記同期命令の位置で本情報処理装置の情報処理動作が上記他の装置の情報処理動作に対して先行しているか否かが判断され、この判断結果に応じた情報処理動作が実行されて上記他の装置の情報処理動作との同期が取られる。したがって、極自然な状態で上記情報処理動作間の同期を取ることができる。
【００２１】
また、１実施の形態の情報処理装置では、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して遅れているか否かを判断し、遅れている場合には現在実行している情報処理動作を急ぐ急ぎの動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００２２】
この実施の形態によれば、上記テキスト情報に記載された上記同期命令の位置で本情報処理装置の情報処理動作が上記他の装置の情報処理動作に対して遅れているか否かかが判断され、この判断結果に応じた情報処理動作が実行されて上記他の装置の情報処理動作との同期が取られる。したがって、極自然な状態で上記情報処理動作間の同期を取ることができる。
【００２３】
また、１実施の形態の情報処理装置では、
上記動作実行手段は、上記同期検出手段を介して取得した上記同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断し、先行している場合には上記他の装置が実行している情報処理動作の終了を待つ待ち合わせ動作を行い、遅れている場合には現在実行している情報処理動作を急ぐ急ぎの動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００２４】
この実施の形態によれば、上記テキスト情報に記載された上記同期命令の位置で本情報処理装置の情報処理動作が上記他の装置の情報処理動作に対して先行しているか遅れているかが判断され、この判断結果に応じた情報処理動作が実行されて上記他の装置の情報処理動作との同期が取られる。したがって、極自然な状態で上記情報処理動作間の同期を取ることができる。
【００２５】
また、１実施の形態の情報処理装置では、
上記同期検出手段を介して得られる同期情報には、次の同期位置までの予測時間を表す情報が含まれており、
上記動作実行手段は、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断する際に、上記同期情報に含まれた次の同期位置までの予測時間を表す情報に基づいて上記先行あるいは遅れの度合いを求め、この度合いに応じて現在実行している情報処理動作の動作速度を連続的に切り換えるようになっている。
【００２６】
この実施の形態によれば、現在実行している情報処理動作の上記他の装置の情報処理動作に対する先行あるいは遅れの度合いに応じて、現在実行している情報処理動作の動作速度を連続的に切り換えるので、上記他の装置の情報処理動作との同期をより自然な形で取ることができる。
【００２７】
また、１実施の形態の情報処理装置では、
上記テキスト情報には、上記同期をとるべき位置と、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行している場合に実行する情報処理動作および遅れている場合に実行する情報処理動作の少なくとも一方とを指定する同期命令が記述されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得すると共に、この取得した同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているかを判断し、この判断結果に応じて当該同期命令が指定する情報処理動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００２８】
この実施の形態によれば、上記同期命令によって、現在実行している情報処理動作が上記他の装置の情報処理動作に対して先行している場合に実行する情報処理動作、および、遅れている場合に実行する情報処理動作の少なくとも一方を予め指定するので、同期を取る場面に応じて様々な動作を設定することができる。例えば、音声合成装置における急ぎの動作であれば、発声を途中で中止する動作や、発話速度を速めて最後まで発声する動作や、「とばします」と言いながら次の場面へ進む動作等、場面に応じた動作を設定することができる。さらに、待ち合わせ動作であれば、「えー」と言いながら待つ動作や「それでー」と言いながら待つ動作の切り換えが可能になり、より自然な表現が可能になる。
【００２９】
また、１実施の形態の情報処理装置では、
上記テキスト情報は、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に同期している場合に実行する情報処理動作の動作内容を指示する部分と、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行している場合に実行する情報処理動作の動作内容および遅れている場合に実行する情報処理動作の動作内容の少なくとも一方を指示する部分とを含むと共に、上記同期を取るべき位置を指定する同期命令が付加されており、
上記動作実行手段は、現在実行している情報処理動作の上記テキスト情報上における位置が上記同期命令に至ると、上記同期検出手段を介して上記同期情報を取得すると共に、この取得した同期情報と当該同期命令との比較から、現在実行している情報処理動作が上記他の装置が実行する情報処理動作に比して先行しているか遅れているか同期しているかを判断し、当該テキスト情報における上記判断結果に応じた部分で指示された情報処理動作を行うことによって、上記他の装置が実行する情報処理動作との同期を取るようになっている。
【００３０】
この実施の形態によれば、現在実行している情報処理動作が上記他の装置の情報処理動作に比して先行している場合と遅れている場合との少なくとも一方に実行する情報処理動作の動作内容を上記テキスト情報として記述するので、設計者は、現在実行している情報処理動作が上記他の装置の情報処理動作に同期している場合に実行する情報処理動作の動作内容を、上記他の装置の情報処理動作に比して長くなるか短くなるかを気にすることなく設定することができる。
【００３１】
また、１実施の形態の情報処理装置では、
上記動作実行手段は複数存在すると共に、夫々の動作実行手段は上記同期検出手段に対して上記同期情報を送出するようになっており、
上記同期検出手段は、上記夫々の動作実行手段からの指示を受け付けて、少なくとも上記各動作実行手段のうちの何れかから送出された同期情報を検出するようになっている。
【００３２】
この実施の形態によれば、上記動作実行手段を複数有しているので、例えば、各動作実行手段を話者Ａ用の音声合成手段と話者Ｂ用の音声合成手段と話者Ａ,Ｂのアニメーション画像生成手段で構成して、互いの情報処理動作を同期させることが可能になる。
【００３３】
また、１実施の形態の情報処理装置では、
上記動作実行手段が処理する情報は、画像情報,音声情報,音楽情報,機器の制御情報およびロボットの制御情報のうちの何れか１つである。
【００３４】
この実施の形態によれば、画像情報処理装置,音声情報処理装置,音楽情報処理装置,機器の制御情報処理装置およびロボットの制御情報処理装置の間において、簡単なテキスト情報を記述するだけで互いに指定されたタイミングで同期を取りながら情報処理動作を行うことができる。
【００３５】
例えば、アニメーション合成装置の場合には、画面に表示されるエージェントの動作を同期させることが可能になる。また、音声合成装置の場合には、発話内容を同期させることが可能になる。また、音声再生装置の場合には、再生の開始や停止、フェードイン、フェードアウト等の制御を同期させることが可能になる。また、ロボットの制御装置の場合には、ロボットの物理的動作のタイミングを同期させることが可能になる。また、機器の制御装置の場合には、所定の動作や設定の変更を同期させることが可能になる。
【００３６】
また、この発明の情報処理プログラムは、
コンピュータを、
この発明の情報処理装置におけるテキスト情報記憶手段,動作実行手段および同期検出手段
として機能させることを特徴としている。
【００３７】
上記構成によれば、上記テキスト情報に基づいて上記他の装置と同期を取りながら情報処理動作を実行する際に、上記テキスト情報の開始時点や終了時点を上記他の装置と同期させることが可能になる。その場合、本情報処理装置と上記他の装置との同期を取るために、上記テキスト情報を分割したり、上記テキスト情報中に区切りを入れたりする必要がない。
【００３８】
また、この発明のプログラム記録媒体は、
この発明の情報処理プログラムが記録されたことを特徴としている。
【００３９】
上記構成によれば、上記テキスト情報に基づいて上記他の装置と同期を取りながら情報処理動作を実行する際に、上記テキスト情報の開始時点や終了時点を上記他の装置と同期させることが可能になる。その場合、本情報処理装置と上記他の装置との同期を取るために、上記テキスト情報を分割したり、上記テキスト情報中に区切りを入れたりする必要がない。
【発明の効果】
【００４０】
以上より明らかなように、この発明によれば、動作実行手段によって、テキスト情報上における予め設定された位置で、同期検出手段を介して取得した同期情報に基づいて、他の装置が実行する情報処理動作との同期を取りながら情報処理動作を実行するので、本情報処理装置と上記他の装置との同期を取るために、上記テキスト情報を分割したり、上記テキスト情報中に区切りを入れたりすることなく、上記テキスト情報の開始時点や終了時点を上記他の装置と同期させることができる。したがって、上記情報処理動作が音声合成動作である場合に、発話内容を指示するテキスト情報に基づいて文章単位でイントネーションを生成することができ、自然なイントネーションの合成音声を生成・出力することができる。
【００４１】
すなわち、簡単なテキスト情報を記述するだけで複数の情報処理動作を互いに指定されたタイミングで同期を取りながら実行する情報処理装置を実現する事ができるのである。
【発明を実施するための最良の形態】
【００４２】
以下、この発明を図示の実施の形態により詳細に説明する。
【００４３】
・第１実施の形態
図１は、本実施の形態の情報処理装置における構成を示すブロック図である。本情報処理装置１は、シナリオを記憶するシナリオ記憶部２と、上記シナリオに従って情報処理動作を実行する動作実行部３と、動作実行の結果を出力する出力部４と、動作実行部３の要求に応じて他の情報処理装置との同期情報の交換を行って上記他の情報処理装置の同期情報を検出する同期検出部５を含んで構成されている。ここで、上記シナリオとは、動作実行部３が実行する情報処理動作(以下、単に動作と言う)の動作内容を指示するテキスト情報である。
【００４４】
上記シナリオは予めシナリオ記憶部２に格納されている場合も考慮して、図１においては上記シナリオを入力する手段は特に記載していない。しかしながら、上記シナリオは、一般に外部から与えられるため、上記シナリオを入力するシナリオ入力手段を別途設けても差し支えない。また、出力部４は、本情報処理装置１がアニメーション合成装置である場合には、グラフィックス描画ドライバ,Ｄ/Ａ変換装置およびディスプレイ装置等がこれに相当する。または、音声合成装置である場合には、音声出力用ドライバ,Ｄ/Ａ変換装置,アンプおよびスピーカ等がこれに相当する。また、同期検出部５は、他の情報処理装置による処理が終了したかあるいは何処まで進行したか等の同期情報を検出して取得する。また、動作実行部３による処理については、以下に説明する。
【００４５】
図２は、上記動作実行部３によって実行される情報処理動作のフローチャートである。以下、図２に従って、シナリオ記憶部２に記憶されたシナリオに従って、他の情報処理装置による処理動作との同期をとりながら本情報処理装置１の動作を制御する情報処理動作について、具体的に説明する。
【００４６】
ステップＳ1で、上記シナリオ記憶部２からシナリオが検索される。ステップＳ2で、上記検索の結果に基づいて、シナリオ記憶部２に未処理のシナリオが在るか否かを判別することによって、シナリオ完了であるか否かが判別される。その結果、シナリオ完了でなければ(つまり、未処理のシナリオが在れば)ステップＳ3に進み、シナリオ完了であれば情報処理動作を終了する。ステップＳ3で、シナリオ記憶部２における未処理のシナリオが読み込まれ、この読み込まれたシナリオに基づいて次の動作が取得される。ステップＳ4で、上記ステップＳ3において取得された本情報処理装置１の動作が完了したか否かが判別される。その結果、完了していればステップＳ5に進む一方、完了していなければステップＳ8に進む。
【００４７】
ステップＳ5で、上記同期検出部５を介して、本情報処理装置１に関する動作の進行状況を表す同期情報を他の情報処理装置に送出すると共に、同期検出部５から上記他の情報処理装置に関する動作の進行状況を表す同期情報を取得する。ステップＳ6で、上記取得された上記他の情報処理装置の同期情報に基づいて、上記他の情報処理装置の動作が終わったか否かが判別される。その結果、終わっていれば上記ステップＳ1に戻って、次のシナリオに関する処理に移行する。一方、終わっていなければステップＳ7に進む。ステップＳ7で、本情報処理動作の動作を予め定められた第１所定時間だけ停止して、上記他の情報処理装置の動作が終わるのを待つ「待ち合わせ動作」が実行される。そうした後、上記ステップＳ4に戻って上記ステップＳ3において読み出されたシナリオに基づく本情報処理装置１の動作が完了したか否かが判別される。ところが、この場合、上記シナリオに基づく本情報処理装置１の動作は完了しているため、再び上記ステップＳ6に進むことになる。こうして、上記ステップＳ6において、上記他の情報処理装置の動作が終わったと判別されると上記ステップＳ1に戻って、次のシナリオに関する処理に移行するのである。
【００４８】
ステップＳ8で、上記同期検出部５を介して、本情報処理装置１に関する動作の進行状況を表す同期情報を他の情報処理装置に送出すると共に、同期検出部５から上記他の情報処理装置に関する動作の進行状況を表す同期情報を取得する。ステップＳ9で、上記取得した上記他の情報処理装置の同期情報に基づいて、上記他の情報処理装置の動作が終わったか否かが判別される。その結果、終わっていればステップＳ10に進む一方、終わっていなければステップＳ11に進む。
【００４９】
ステップＳ10で、上記他の情報処理装置の動作が終わっているにも拘わらず本情報処理装置１の動作が終わっていないので、本情報処理装置１の動作速度が予め定められた速度分だけ早められる「急ぐ動作」が、予め定められた第２所定時間だけ実行される。そうした後に、上記ステップＳ4に戻って上記ステップＳ3において読み出されたシナリオに基づく本情報処理装置１の動作が完了したか否かが判別される。ステップＳ11で、本情報処理装置１の動作も上記他の情報処理装置の動作も終わっていないので、上記ステップＳ3において読み込まれたシナリオに基づく本情報処理装置１の動作(以下、「通常動作」と言う)が、予め定められた第３所定時間だけ実行される。そうした後、上記ステップＳ4に戻って上記ステップＳ3において読み出されたシナリオに基づく本情報処理装置１の動作が完了したか否かが判別される。
【００５０】
こうして、上記ステップＳ4において本情報処理装置１の動作が完了したと判断され、上記ステップＳ6において上記他の情報処理装置の動作が終わったと判断され、上記ステップＳ2においてシナリオ記憶部２に記憶されているシナリオに関する動作が総て完了したと判断されると、情報処理動作を終了するのである。
【００５１】
ここで、上記ステップＳ7における待ち合わせ動作,上記ステップＳ10における急ぐ動作あるいは上記ステップＳ11における通常動作は、ステップＳ3において上記未処理のシナリオに基づいて取得された動作を１回の動作で実行するのではなく、上述のように「第１,第２,第３所定時間」の細かい単位に区切って処理を行うのである。その場合における上記区切り単位は、例えば、シナリオに基づいて取得した動作が、目的位置まで歩くアニメーションの動作であるとすれば、一歩進む動作のような歩く動作を分解した単位である。あるいは、例えば、音声合成の場合は、未処理のシナリオに基づいて取得された１つの文章を１回で合成するのではなく、１文字あるいは数ミリ秒から数１００ミリ秒程度の出力音声に区切った単位で合成するのである。
【００５２】
こうすることによって、上記シナリオに基づく動作の途中経過を他の情報処理装置に伝えると共に、動作の途中で同期を取って、動作の途中から動作の速度を変化させたり待ち合わせを行ったりすることが可能になるのである。
【００５３】
ところで、図２に示すフローチャートにおいては、上記他の情報処理装置との同期を取るタイミングが、上記読み出されたシナリオに基づく各動作が完了するタイミングであるため、図１２に示す「話者Ａの発声を話者Ｂの発声で遮る」場合のように、シナリオの各動作の途中に設定された特定の位置で同期を取る場合に対応することができない。このような場合には、動作実行部３は、図３に示す情報処理動作のフローチャートに従って本情報処理装置１の動作を制御すればよい。
【００５４】
ステップＳ21で、上記シナリオ記憶部２からシナリオが検索される。ステップＳ22で、上記検索の結果に基づいて、シナリオ記憶部２に未処理のシナリオが在るか否かを判別することによって、シナリオ完了であるか否かが判別される。その結果、シナリオ完了でなければ(つまり、未処理のシナリオが在れば)ステップＳ23に進み、シナリオ完了であれば情報処理動作を終了する。ステップＳ23で、シナリオ記憶部２における未処理のシナリオが読み込まれ、この読み込まれたシナリオに基づいて次の動作が取得される。ステップＳ24で、上記ステップＳ23において取得された本情報処理装置１の動作が終了したか否かが判別される。その結果、終了していればステップＳ21に戻って次のシナリオに関する処理に移行する。一方、終了していなければステップＳ25に進む。
【００５５】
ステップＳ25で、現在処理中のシナリオに記載されている同期位置Ｔnに到達したか否かが判別される。その結果、到達した場合にはステップＳ26に進む一方、到達していない場合にはステップＳ27に進む。ステップＳ26で、同期検出部５を介して、他の情報処理装置に対して同期位置Ｔnを送出する。ステップＳ27で、同期検出部５を介して、他の情報処理装置が現在到達している同期位置Ｔmを取得する。ここで、上記同期位置を示す「Ｔn,Ｔm」は、上記シナリオＡおよびシナリオＢ中に記載されると共に、出現順に大きくなる数値を含むたマーカーである。
【００５６】
ステップＳ28で、処理対象のシナリオにおける本情報処理装置１が到達した位置を表す同期位置Ｔnと他の情報処理装置が到達している位置を表す同期位置Ｔmとに含まれる数値の大小が比較される。但し、未だ同期位置に到達していない場合には上記数値を「０」とする。その結果、Ｔn＞Ｔmである(すなわち、本情報処理装置１が他の情報処理装置よりも先行している)場合にはステップＳ29に進み、そうでなければステップＳ30に進む。ステップＳ29で、本情報処理動作の動作を予め定められた第１所定時間だけ停止して、上記他の情報処理装置の動作の進行を待つ「待ち合わせ動作」が実行される。そうした後に、上記ステップＳ24に戻って上記ステップＳ23において読み込まれたシナリオに基づく本情報処理装置１の動作が終了したか否かが判別される。ところが、この場合、上記シナリオに基づく本情報処理装置１の動作は完了しておらず、然も同期位置Ｔnに到達しているため、再び上記ステップＳ25〜ステップＳ28が実行される。そして、上記他の情報処理装置の動作が進行して同期位置Ｔmが更新され、上記ステップＳ28においてＴn＞Ｔmではないと判別されるとステップＳ30に進む。
【００５７】
ステップＳ30で、本情報処理装置１側の同期位置Ｔnと他の情報処理装置側の同期位置Ｔmとに含まれる数値の大小が比較される。その結果、Ｔn＜Ｔmである(すなわち、本情報処理装置１が他の情報処理装置よりも遅れている)場合にはステップＳ31に進み、そうでなければステップＳ32に進む。ステップＳ31で、本情報処理装置１の動作速度が予め定められた速度分だけ早められる「急ぐ動作」が、予め定められた第２所定時間だけ実行される。そうした後、上記ステップＳ24に戻って上記ステップＳ23において読み込まれたシナリオに基づく本情報処理装置１の動作が終了したか否かが判別される。ところが、この場合、上記シナリオに基づく本情報処理装置１の動作は完了していないため、更に上記ステップＳ25〜ステップＳ28およびステップＳ30が実行される。そして、本情報処理装置１の動作が進行して同期位置Ｔnが更新され、上記ステップＳ28においてＴn＜Ｔmではない(つまり、Ｔn＝Ｔmである)と判別されるとステップＳ32に進む。ステップＳ32で、上記ステップＳ23において取得された動作が実行される「通常動作」が、予め定められた第３所定時間だけ実行される。そうした後、上記ステップＳ24に戻って上記ステップＳ23において取得された本情報処理装置１の動作が完了したか否かが判別される。
【００５８】
こうして、上記ステップＳ24において本情報処理装置１の動作が完了したと判断され、上記ステップＳ22においてシナリオ記憶部２に記憶されている未処理のシナリオが無いためにシナリオ完了であると判断されると、情報処理動作を終了するのである。
【００５９】
尚、図３に示す情報処理動作においては、本情報処理装置１側の動作として「待ち合わせ動作」と「急ぐ動作」と「通常動作」との３通りの場合を例に示しているが、これに限定されるものではない。例えば、図３に示すフローチャートの上記ステップＳ26において他の情報処理装置に送出する同期位置Ｔnや、ステップＳ27において取得する他の情報処理装置からの同期位置Ｔmとして、上述のような「同期位置であるか否かを表す」離散的な同期情報だけではなく、次の同期位置まであとどの位の時間があるかを予想した値を付加することも可能である。そして、この同期情報を受け取った本情報処理装置１側では、上記次の同期位置までの予想時間の値に基づいて、急ぐ度合いを多段階に切り換えたり、遅くする動作を加えたり、上記通常動作の速度(０＝停止を含む)を連続的に切り換えたりすることも可能になる。
【００６０】
以下、上記動作実行部３が、図３に示す情報処理動作のフローチャートに従って本情報処理装置１の動作を制御する場合を、実施例によって具体的に説明する。
【００６１】
(実施例１)
図４は、図１１と同じような話者Ａと話者Ｂとによる音声合成装置の出力結果を、図３に示す情報処理動作のフローチャートに従って得るためのシナリオ(図４(a))と出力合成音声(図４(b))との例を示す。すなわち、図１に示す情報処理装置は、図４(a)に示すシナリオＡ「本日は晴天なり、本日は＜＃１＞晴天なり。＜＃２＞はい。」に基づいて、発話内容「本日は晴天なり  本日は晴天なり  はい」を、話者Ａの声で合成する音声合成装置と、シナリオＢ「＜＃１＞もう結構です。黙って＜＃２＞ください。」に基づいて、発話内容「もう結構です  黙ってください」を、話者Ｂの声で合成する音声合成装置との何れか一方である。そして、他方の音声合成装置が、図３に示すフローチャートの説明文における上記他の情報処理装置となる。
【００６２】
以下においては、話者Ａの声を合成する音声合成装置を本情報処理装置１であるとして説明を行う。この場合、話者Ｂの声を合成する音声合成装置である他の情報処理装置も、本情報処理装置１と同じ構成を有している。尚、上記図３に示すフローチャートには記載していないが、最初に「Ｔn＝０」、即ち「＜＃０＞」を送出するものとする。
【００６３】
先ず、図３に示すフローチャートの上記ステップＳ23において、シナリオ記憶部２から未処理のシナリオＡ「本日は晴天なり、本日は＜＃１＞晴天なり。＜＃２＞はい。」が読み込まれる。そして、このシナリオに基づいて、話者Ａの声による「本日は晴天なり  本日は晴天なり  はい」なる合成音声を生成する動作内容が取得されて、実行される。そして、＜＃１＞の位置までの合成音声「本日は晴天なり  本日は」を出力し、上記ステップＳ26において、同期検出部５を介して、話者Ｂの声を合成する他の情報処理装置に対して同期位置Ｔn「＜＃１＞」を送出する。
【００６４】
その間、上記他の情報処理装置では、読み込んだシナリオＢ「＜＃１＞もう結構です。黙って＜＃２＞ください。」の先頭に、同期位置Ｔm「＜＃１＞」が在るため同期位置Ｔm「＜＃１＞」を本情報処理装置１に送出する一方、本情報処理装置１からの同期位置Ｔn「＜＃０＞」を受け取って、同期位置Ｔmと同期位置Ｔnとを比較する。そして、同期位置Ｔm「＜＃１＞」に含まれている数値「１」が同期位置Ｔnに含まれている数値「０」よりも大きいために音声合成を停止する「待ち合わせ動作」を行っている。そして、本情報処理装置１からの同期位置Ｔn「＜＃１＞」を受け取ると、Ｔm「＜＃１＞」＝Ｔn「＜＃１＞」であるため話者Ｂの声による「もう結構です  黙って」なる合成音声の生成および出力を開始する。
【００６５】
その間、上記本情報処理装置１では、上記ステップＳ27において他の情報処理装置からの同期位置Ｔm「＜＃１＞」を受け取り、同期位置Ｔn「＜＃１＞」と同期位置Ｔm「＜＃１＞」とを比較する。そして、Ｔn「＜＃１＞」＝Ｔm「＜＃１＞」であるため、引き続き＜＃２＞の位置まで合成音声「晴天なり」を生成して出力し、他の情報処理装置に対して同期位置Ｔn「＜＃２＞」を送出する。そうした後に、同期位置Ｔn「＜＃２＞」と同期位置Ｔm「＜＃１＞」とを比較し、Ｔn「＜＃２＞」＞Ｔm「＜＃１＞」であるため、音声合成を停止して「待ち合わせ動作」に移行する。
【００６６】
その間、上記他の情報処理装置では、同期位置Ｔm「＜＃２＞」に至るまで、合成音声「もう結構です  黙って」を出力した後に、本情報処理装置１に対して同期位置Ｔm「＜＃２＞」を送出する。そして、同期位置Ｔm「＜＃２＞」＝同期位置Ｔn「＜＃２＞」であるから、引き続き最後まで合成音声「ください」を生成して出力する。
【００６７】
その間、上記本情報処理装置１では、上記他の情報処理装置からの同期位置Ｔm「＜＃２＞」を受け取り、同期位置Ｔn「＜＃２＞」＝同期位置Ｔm「＜＃２＞」であるから、合成音声「はい」の生成および出力を行うのである。
【００６８】
このようにして、話者Ａ,Ｂが同時に発声し、話者Ａの発声を話者Ｂが遮るという状況を音声で実現することができる。その場合、上記本情報処理装置１および他の情報処理装置は、共にシナリオ中に挿入されている同期位置Ｔn,Ｔmの有無に拘わらず、文章単位でイントネーションが生成するようになっており、然も同期位置Ｔn,Ｔmの箇所で途切れることなく音声が合成される。したがって、図１１に示す例の場合とは異なり、自然なイントネーションの合成音声を生成・出力することができるのである。また、話者Ａのシナリオと話者Ｂのシナリオとに同様に同期位置Ｔn,Ｔmを挿入するだけで自動的に同期位置Ｔn,Ｔmの箇所で、同期を取るようになっている。したがって、音声合成パラメータとして話者Ａ,話者Ｂの発声速度が夫々別の速度に設定されても、また、発声速度が変更されたとしても、シナリオを変更することなく自然な対話を行っているような合成音声を出力することができるのである。
【００６９】
上記実施例１においては、上記シナリオＡおよびシナリオＢには、共に「待ち合わせ動作」は指定されていないが、何も合成しないで待つ動作が設定されている場合を例示している。また、「急ぐ動作」は、本実施例のシナリオでは必要ないので、特に設定してはいない。
【００７０】
(実施例２および実施例３)
本実施例は、「待ち合わせ動作」や「急ぐ動作」の動作内容を指定する場合であり、同期位置中で動作の指定を行う場合の例について説明する。尚、以下、上述のように動作の指定を含む同期位置を「同期命令」と呼ぶことにする。
【００７１】
図５および図６においては、話者Ａのシナリオ中の同期命令＜＃２＞で動作の指定をしている。ここで、＜＃２：えー／ＳＴＯＰ＞において、「／」の前で「待ち合わせ動作」を指定し、「／」の後で「急ぐ動作」を指定しており、待ち合わせ動作として「えー」と発声し、急ぐ動作として発声を中断(ＳＴＯＰ)することを指定している。
【００７２】
図５に示す実施例２では、図５(a)に示すように、シナリオの内容は図４(a)と同じである。したがって、話者Ａの２回めの発声「はい」の前で「待ち合わせ動作」に入って「えー」という合成音声が挿入されることになる。
【００７３】
これに対して、図６に示す実施例３では、図６(a)に示すように、シナリオＡの内容が図４(a)に比して長くなっている。したがって、＜＃２＞の位置には話者Ｂが先に到達することになる。そのために、話者Ａ側の情報処理装置は、話者Ｂ側の情報処理装置からの同期位置Ｔm「＜＃２＞」を受け取ると、同期位置Ｔn「＜＃１＞」と同期位置Ｔm「＜＃２＞」との比較結果から「急ぐ動作」に切り換わり、発声「本日は晴天なり」の途中であるにも換わらず「本日は晴天」で中断し、次のシナリオＡの音声「はい」を合成するのである。
【００７４】
その場合、話者Ａが発声を中断する位置は、話者Ａと話者Ｂとの発話速度の差に依存して自動的に調整される。したがって、シナリオを作成する際に、話者Ａと話者Ｂとの実際の発話速度が予測できない場合であっても、合成音声によって自然な対話を実現することができるのである。
【００７５】
また、上述したような同期命令＜＃２：えー／ＳＴＯＰ＞で「待ち合わせ動作」と「急ぐ動作」との動作内容を指定することによって、シナリオＡに文章の追加や削除が行われてシナリオＢに対する相対長さが長くなったり短くなったりしても、自動的に、「えー」が発声されて「待ち合わせ動作」が行われたり、発声が中断されて「急ぐ動作」が行われる。したがって、シナリオ作成者は、同期位置の設定箇所を気にすることなく、シナリオを変更することが可能になる。
【００７６】
尚、上記実施例２および実施例３においては、待ち合わせ動作」と「急ぐ動作」との両方の動作内容を設定しているが、何れか一方のみを設定することも可能である。
【００７７】
また、上記実施例１〜実施例３においては、上記同期命令の書式を「＜＃ｎ＞：ｎは正の整数」としたが、この書式に限定されるものではない。要は、シナリオの内容と容易に識別可能であり、シナリオ中での出現順位が判定できる書式であればよいのである。
【００７８】
また、上記実施例１〜実施例３においては、この実施の形態における情報処理装置が、話者Ａと話者Ｂとの２つの音声合成装置である場合を例に説明した。しかしながら、この２つの音声合成装置に、話者Ａおよび話者Ｂのアニメーション画像生成装置を追加して、互いを同期させることも考えられる。その場合、図１における同期検出部５は、他の情報処理装置として、２つ以上の情報処理装置を対象に同期を検出する必要がある。その場合に、同期を検出する２つ以上の情報処理装置のうち何れの情報処理装置の動作を優先して検出するかが問題になる。一般には、最も動作が遅い情報処理装置に合わせるのが妥当と考えられるが、目的によってはこの限りではなく、何れの情報処理装置に合わせるかは情報処理装置の設計者あるいはシナリオの作成者に任されるために、一概には決まらない。その場合には、同期対象とする情報処理装置名をシナリオの中に記述し、同期検出部５はシナリオの中に記述された情報処理装置の同期位置や同期命令を取得することも可能である。
【００７９】
・第２実施の形態
図７は、本実施の形態の情報処理装置における構成を示すブロック図である。この情報処理装置１１は、第１処理装置１３から第３処理装置１５までの３つの処理装置を有しており、各処理装置１１〜１３には、シナリオ入力部１６によって、シナリオ記憶部１２から第１処理装置１３用のシナリオＡ,第２処理装置１４用のシナリオＢおよび第３処理装置１５用のシナリオＣが読み出されて個別に送出される。そして、各処理装置１３〜１５は、基本的には第１実施の形態の情報処理装置における動作実行部３と同様の機能を有して、動作実行部３と同様に動作する。尚、本実施の形態においては、シナリオ記憶部１２に、各処理装置１３〜１５毎に別のシナリオを格納して、個別のシナリオを各処理装置１３〜１５に与えるようにしている。しかしながら、これに限定されるものではなく、シナリオ記憶部１２には各処理装置１３〜１５用のシナリオを１つのデータとして格納して、各処理装置１３〜１５に同じシナリオを与え、各処理装置１３〜１５内で自処理装置用のシナリオのみを選択して実行するようにしてもよい。
【００８０】
同期伝達部１７は、各処理装置１３〜１５の同期情報を受け取って、要求に応じて必要とする各処理装置１３〜１５に伝達する。ここで、同期伝達部１７は、必ずしも能動的な機能を有している必要はなく、各処理装置１３〜１５間で共有されて各処理装置１３〜１５の同期情報を一時記憶するメモリであっても差し支えない。尚、その場合には、各処理装置１３〜１５は、必要に応じて同期伝達部(メモリ)１７にアクセスして、他の処理装置の同期情報を取得するのである。また、各処理装置１３〜１５の他に物理的に異なる装置に分散されている他の処理装置との同期を取る必要がある場合には、同期伝達部１７は、通信部２０を介して、上記他の処理装置機との間で通信を行って動作状況の取得・伝達を行う。尚、通信部２０としては、従来の有線や無線や赤外線等の通信モジュールを使用すればよい。
【００８１】
上記各処理装置１３〜１５から出力された情報は、画像情報や音声情報等の情報の種類毎に第１,第２統合出力部１８,１９によって統合されてユーザーに提示される。図７の場合には、第２処理装置１４からの出力と第３処理装置１５からの出力とが、第２統合出力部１９によって統合されて出力されるようになっている。
【００８２】
尚、本実施の形態においては、上記第１処理装置１３〜第３処理装置１５までの３つの処理装置を有し、そのうち第２,第３処理装置１４,１５からの出力を第２統合出力部１９で統合するようにしている。しかしながら、処理装置の数、何れの処理装置からの出力を統合するか、出力が統合される処理装置の数等は、構築しようとしているマルチメディア・ユーザー・インタフェースの構造に応じて適宜変更しても差し支えない。
【００８３】
以下、上記構成を有する情報処理装置の動作について、以下の実施例に従って具体的に説明する。
【００８４】
(実施例４)
本実施例は、画像の処理装置と音声合成の処理装置とを用いて、エージェントの画像と音声とによってコンピュータ操作の説明を行う情報処理装置の例を示す。
【００８５】
本実施例においては、図７における第１処理装置１３が画像処理装置であり、第２処理装置１４が音声合成処理装置であるとする。そして、図８(a)は、画像処理装置１３からの画像情報を出力する第１統合出力部１８の表示画面を示す。尚、図８(b)はエージェント２１に関する画像用のシナリオを示し、図８(b)はエージェント２１に関する音声合成用のシナリオを示し、本実施例の場合では個別のデータとなっている。本実施例における同期命令は「Ｔ０」の如く各シナリオの先頭に記述されている。
【００８６】
各シナリオにおける「  」内には、対応する処理装置の動作内容と、その動作が終了した場合における待ち合わせ動作の動作内容と、他の処理装置が先に動作を終了した場合における急ぎの動作の動作内容とが、「／」で区切って記述されている。つまり、各シナリオは、「通常動作／待ち合わせ動作／急ぎの動作」の如く記述されている。当然ながら、シナリオの記述方法は、これに限定されるものではない。以下、図８(b)および図８(b)のシナリオに沿って、本実施例における動作を説明する。
【００８７】
先ず、エージェント２１は、同期命令「Ｔ０」で「位置Ａを指示」しながら「まず」と発声する。ここで、発声「まず」が終了してもアクション「位置Ａを指示」が終了しない場合には、音声合成側は「待ち合わせ動作」に移行して音声で「えー」と付け加える。
【００８８】
次に、同期命令「Ｔ１」で、エージェント２１は、アクションを止めながら「このアイコンＡでボタンを押して」と発声する。この場合は、アクションの停止が先に終了するので、画像側は「待ち合わせ動作」に移行して「棒を振る」アクションを行う。
【００８９】
次に、同期命令「Ｔ２」で、エージェント２１は、「アイコンＡの位置からアイコンＢの位置へ移動」しながら「そのままドラッグして」と発声する。ここで、アクション「ＡからＢへの移動」が先に終了した場合には、画像側は「待ち合わせ動作」に移行して発声が終わるまでエージェント２１はアクション「口パク」を行い、発声中であることを表現する。逆に、ＡからＢへの移動に時間が掛かり、発声が先に終わった場合には、画像側は「急ぎの動作」に移行してアクション「走る」に切り替わり、同時に音声合成側は「待ち合わせ動作」に移行して移動が終了するまで「よいしょ、よいしょ」と発声する。
【００９０】
次に、同期命令「Ｔ３」で、エージェント２１は、無言で「位置Ｂを指示」する。
【００９１】
次に、同期命令「Ｔ４」で、エージェント２１は、アクションを止めながら「このＢで放して下さい」と発声する。この場合は、アクションの停止が先に終了するので、画像側は「待ち合わせ動作」に移行してアクション「棒を振る」を行う。
【００９２】
このように、各シナリオの先頭には同期命令「Ｔｎ：ｎは０と正の整数」を付加し、各シナリオを「通常動作／待ち合わせ動作／急ぎの動作」の如く記述するので、実際に掛かる処理時間に応じて画像処理装置と音声合成処理装置との動作内容を自動的に切り換えることができ、自然な画像情報と音声情報との提示を行うことができる。また、その場合、シナリオのポーズの位置や時間を個別に設定する必要なく、シナリオの作成が困難になることはない。
【００９３】
・第３実施の形態
図９は、本実施の形態の情報処理装置を、コンピュータを用いて実現した場合の構成を示すブロック図を示す。情報処理装置３１は、ＣＰＵ(中央演算処理装置)３２,記憶部３３,入力部３４,出力部３５およびプログラム読込部３６がバス３７に接続されて構成されている。プログラム読込部３６は、外部のプログラム記録媒体３８から情報処理プログラムを読み込む。ここで、プログラム記録媒体３８としては、光ディスク,磁気ディスク,フレキシブルディスク,読み出し専用メモリあるいは書き換え可能なメモリ等が用いられ、本コンピュータを上記第１,第２実施の形態の情報処理装置として機能させる情報処理プログラムが記録されている。
【００９４】
上記プログラム読込部３６によって読み込まれた情報処理プログラムは、記憶部３３に記憶される。記憶部３３は一般に磁気ディスクや書き換え可能なメモリで構成される。ＣＰＵ３２は、記憶部３３に記憶された情報処理プログラムに従って、各部を制御して情報処理装置としての動作を行う。また、記憶部３３は、ＣＰＵ３２によって行われる情報処理動作における作業領域としても一部が使用される。入力部３４は、ユーザーからの入力を受付けて、情報処理プログラム実行や処理の切換等を指示する。この入力部３４は、キーボード,マイク,タブレットおよびポインティングデバイス等に相当する。また、出力部３５は、ＣＰＵ３２による情報処理の結果をユーザーに提示するものである。この出力部３５は、文字や画像を出力するディスプレイや、音声や楽音等を出力するスピーカまたはヘッドホンに相当する。
【００９５】
また、上記出力部３５は、工業用や家庭用の電気機器やロボットに対する制御信号を出力するようにしても構わない。あるいは、出力部３５は、別の機器を操作するための制御信号を出力しても構わない。
【００９６】
さらに、上記構成の情報処理装置３１を複数組み合わせて情報処理を行う場合には、同期のための通信部が各情報処理装置に必要となるのは言うまでもない。
【図面の簡単な説明】
【００９７】
【図１】この発明の情報処理装置における構成を示すブロック図である。
【図２】図１における動作実行部によって実行される情報処理動作のフローチャートである。
【図３】図２とは異なる情報処理動作のフローチャートである。
【図４】図１におけるシナリオ記憶部に記憶されるシナリオとそれに基づく出力合成音声とを示す図である。
【図５】図４とは異なるシナリオとそれに基づく出力合成音声とを示す図である。
【図６】図４および図５とは異なるシナリオとそれに基づく出力合成音声とを示す図である。
【図７】図１とは異なる情報処理装置における構成を示すブロック図である。
【図８】図７におけるシナリオ記憶部に記憶されるシナリオとそれに基づく出力画像と出力合成音声とを示す図である。
【図９】図１および図７の情報処理装置をコンピュータを用いて実現した場合の構成を示すブロック図である。
【図１０】一般的な音声合成装置を用いてシナリオを読み上げる場合のシナリオと合成音声の時間的な流れとを示す図である。
【図１１】話者別の音声合成モジュールを並列して動作させる場合のシナリオと合成音声の時間的な流れとを示す図である。
【図１２】シナリオ中にポーズを指定して話者別の音声合成モジュールを同時に動作させる動作させる場合のシナリオと合成音声の時間的な流れとを示す図である。
【符号の説明】
【００９８】
１,１１,３１…情報処理装置、
２,１２…シナリオ記憶部、
３…動作実行部、
４…出力部、
５…同期検出部、
１３…第１処理装置、
１４…第２処理装置、
１５…第３処理装置、
１６…シナリオ入力部、
１７…同期伝達部、
１８…第１統合出力部、
１９…第２統合出力部、
２０…通信部、
２１…エージェント、
３２…ＣＰＵ、
３３…記憶部、
３４…入力部、
３５…出力部、
３６…プログラム読込部、
３７…バス、
３８…プログラム記録媒体。
【図１】
2006155299.tif 000003
【図２】
2006155299.tif 000004
【図３】
2006155299.tif 000005
【図４】
2006155299.tif 000006
【図５】
2006155299.tif 000007
【図６】
2006155299.tif 000008
【図７】
2006155299.tif 000009
【図８】
2006155299.tif 000010
【図９】
2006155299.tif 000011
【図１０】
2006155299.tif 000012
【図１１】
2006155299.tif 000013
【図１２】
2006155299.tif 000014