IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ミクシィの特許一覧

特許7510042情報処理システム、端末装置、端末装置の制御方法、及びプログラム
<>
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図1
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図2
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図3
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図4
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図5
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図6
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図7
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図8
  • 特許-情報処理システム、端末装置、端末装置の制御方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】情報処理システム、端末装置、端末装置の制御方法、及びプログラム
(51)【国際特許分類】
   H04L 67/50 20220101AFI20240626BHJP
   G06F 3/16 20060101ALI20240626BHJP
   G10L 13/00 20060101ALI20240626BHJP
【FI】
H04L67/50
G06F3/16 630
G06F3/16 650
G06F3/16 690
G10L13/00 100M
G10L13/00 100V
【請求項の数】 10
(21)【出願番号】P 2020010989
(22)【出願日】2020-01-27
(65)【公開番号】P2021117762
(43)【公開日】2021-08-10
【審査請求日】2022-11-15
(73)【特許権者】
【識別番号】500033117
【氏名又は名称】株式会社MIXI
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】▲高▼田 信一
(72)【発明者】
【氏名】信田 春満
【審査官】前田 健人
(56)【参考文献】
【文献】中国特許出願公開第107577661(CN,A)
【文献】国際公開第2019/058673(WO,A1)
【文献】特開2018-001403(JP,A)
【文献】特開2004-340836(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G10L 13/00
G10L 15/00
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
互いに通信可能に接続されたサーバと端末装置とを含む情報処理システムであって、
前記サーバは、
前記端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を、前記端末装置へ送信する送信手段を含み、
前記端末装置は、
前記サーバから、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を受信する受信手段と、
前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、
前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、
を含み、
この実行手段が、前記受信したアクション情報が所定の音声データの指定を含む場合は、前記合成された音声データの再生時間を表す第1の再生時間と、前記所定の音声データの再生時間を表す第2の再生時間のうち長い方に基づいて、前記アクションの継続時間を制御する情報処理システム。
【請求項2】
サーバとの間で通信可能に接続される端末装置であって、
前記サーバから、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を受信する受信手段と、
前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、
前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、
を含み、
前記実行手段は、前記受信したアクション情報が所定の音声データの指定を含む場合は、前記合成された音声データの再生時間を表す第1の再生時間と、前記所定の音声データの再生時間を表す第2の再生時間のうち長い方に基づいて、前記アクションの継続時間を制御する端末装置。
【請求項3】
請求項2に記載の端末装置であって、
前記実行手段は、
前記音声データの再生中に、少なくともアニメーションの再生を行い、
前記音声データの再生時間に基づいて、前記音声データとともに再生するアニメーションの継続時間を制御する端末装置。
【請求項4】
請求項3に記載の端末装置であって、
前記アニメーションは、開始アニメーションと、中間アニメーションと、終了アニメーションとを含む複数の部分アニメーションを含み、
前記実行手段は、前記音声データの再生時間に基づいて、前記開始アニメーションと、前記中間アニメーションと、前記終了アニメーションのそれぞれの再生時間を制御する端末装置。
【請求項5】
請求項4に記載の端末装置であって、
前記実行手段は、前記音声データの再生時間が、前記開始アニメーションの再生時間以内であれば、前記音声データの再生中に、前記開始アニメーションを再生する端末装置。
【請求項6】
請求項4又は5に記載の端末装置であって、
前記実行手段は、前記音声データの再生時間が、前記開始アニメーションの再生時間を超え、前記開始アニメーションと終了アニメーションとの再生時間の和以下の時間であれば、前記音声データの再生中に、前記開始アニメーションと終了アニメーションとを再生する端末装置。
【請求項7】
請求項4乃至6のいずれかに記載の端末装置であって、
前記実行手段は、前記音声データの再生時間が、前記開始アニメーションと終了アニメーションとの再生時間の和を超える場合は、前記音声データの再生中、前記開始アニメーションを再生した後、前記音声データの再生時間から、前記開始アニメーションと終了アニメーションとの再生時間の和を差し引いて求められる時間だけ前記中間アニメーションを再生する処理を繰り返し、その後、前記終了アニメーションを再生する端末装置。
【請求項8】
請求項3に記載の端末装置であって、
前記アニメーションは、開始アニメーションと、少なくとも一つの中間アニメーションと、終了アニメーションとを含む複数の部分アニメーションを含み、
前記実行手段は、
前記音声データの再生時間が、前記開始アニメーションの再生時間以内であれば、前記音声データの再生中に、前記開始アニメーションを再生し、
前記音声データの再生時間が、前記開始アニメーションの再生時間を超え、前記開始アニメーションと終了アニメーションとの再生時間の和以下の時間であれば、前記音声データの再生中に、前記開始アニメーションと終了アニメーションとを再生し、
前記音声データの再生時間が、前記開始アニメーションと終了アニメーションとの再生時間の和を超える場合は、前記音声データの再生中、前記開始アニメーションを再生した後、前記音声データの再生時間から、前記開始アニメーションと終了アニメーションとの再生時間の和を差し引いて求められる時間だけ前記中間アニメーションのいずれかを選択して再生する処理を繰り返し、その後、前記終了アニメーションを再生する端末装置。
【請求項9】
サーバとの間で通信可能に接続される端末装置の制御方法であって、
受信手段が、前記サーバから、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を受信し、
音声合成手段が、前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成し、
実行手段が、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御し、前記受信したアクション情報が所定の音声データの指定を含む場合は、前記合成された音声データの再生時間を表す第1の再生時間と、前記所定の音声データの再生時間を表す第2の再生時間のうち長い方に基づいて、前記アクションの継続時間を制御する端末装置の制御方法。
【請求項10】
端末装置を、
端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、
前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、
として機能させ、
前記実行手段として機能させる際には、端末装置に、前記アクション情報が所定の音声データの指定を含む場合は、前記合成された音声データの再生時間を表す第1の再生時間と、前記所定の音声データの再生時間を表す第2の再生時間のうち長い方に基づいて、前記アクションの継続時間を制御させるプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、端末装置、端末装置の制御方法、及びプログラム
に関する。
【背景技術】
【0002】
ロボットを制御する装置として、ロボットの発話に関するタイミングでジェスチャを行うよう設定するべく、事前に用意された対話シナリオに基づく設定を行う技術が開発されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-032468号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の技術では、対話シナリオに基づく設定をするものであり、自由発話文については考慮がされていないため対話のバリエーションが少ない。一方で、自由発話文を用いる場合、自由発話文の内容に基づいて音声合成を行い、再生するという場合、予め計測された時間内に発話が終了するとは限らないので、再生時間に応じてジェスチャ等の動きの継続時間を決定する必要がある。
【0005】
本発明は上記実情に鑑みて為されたもので、文字列情報に基づいて端末装置で再生する音声に合わせて実行するアクションを、柔軟に調整可能な情報処理システム、端末装置、端末装置の制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0006】
上記従来例の問題点を解決する本発明の一態様は、互いに通信可能に接続されたサーバと端末装置とを含む情報処理システムであって、前記サーバは、前記端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を、前記端末装置へ送信する送信手段を含み、前記端末装置は、前記サーバからアクション情報を受信する受信手段と、前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、を含むこととしたものである。
【発明の効果】
【0007】
本発明によると、文字列情報に基づいて端末装置で再生する音声に合わせて実行するアクションを、柔軟に調整可能となる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態に係る情報処理システムの構成例を表すブロック図である。
図2】本発明の実施の形態に係る端末装置の構成例を表すブロック図である。
図3】本発明の実施の形態に係るサーバの例を表す機能ブロック図である。
図4】本発明の実施の形態に係る情報処理システムで利用されるアクションデータベースの内容例を表す説明図である。
図5】本発明の実施の形態に係る端末装置の例を表す機能ブロック図である。
図6】本発明の実施の形態に係る端末装置が用いる設定情報の例を表す説明図である。
図7】本発明の実施の形態に係る情報処理システムの動作例を表す流れ図である。
図8】本発明の実施の形態に係る情報処理システムの動作例を表すもう一つの流れ図である。
図9】本発明の実施の形態に係る情報処理システムの動作例を表すタイミングチャート図である。
【発明を実施するための形態】
【0009】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム1は、図1に例示するように、互いにネットワーク等の通信手段を介して通信可能に接続されたサーバ10と、端末装置20とを含んで構成される。
【0010】
ここでサーバ10は、図1に示したように、制御部11と、記憶部12と、通信部13とを含んで構成される。また、端末装置20は、ロボットであり、図2に例示するように、脚部21と、本体部22とを少なくとも含み、本体部22に、制御部31と、記憶部32と、センサ部33と、表示部34と、音声出力部35と、通信部36と、駆動部37とを収納している。また脚部21と本体部22とは、少なくとも1軸まわりに回転可能なアクチュエータを介して連結されており、脚部21に対して本体部22の向きを回動可能となっている。
【0011】
サーバ10の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、端末装置20からアクションのリクエスト情報を受け入れる。またこの制御部11は、当該受け入れたリクエスト情報に対応して、端末装置20にて実行されるアクションを指示するアクション指示と、端末装置20にて発声される音声の内容を表す文字列情報とを含むアクション情報を、上記リクエスト情報の送信元である端末装置20へ送信する。この制御部11の詳しい処理の内容については、後に説明する。
【0012】
記憶部12は、ディスクデバイスまたはメモリデバイスであり、制御部11によって実行されるプログラムを保持する。この記憶部12は、また、制御部11のワークメモリとしても動作する。本実施の形態の一例では、この記憶部12には、端末装置20への指示を生成するための情報が格納されていてもよい。この情報の内容については後に述べる。
【0013】
通信部13は、ネットワークインタフェース等であり、制御部11から入力される指示に従い、ネットワークを介して端末装置20宛に種々の情報を送出する。またこの通信部13は、ネットワークを介して受信した情報を、制御部11に出力する。
【0014】
端末装置20の制御部31は、CPU等のプログラム制御デバイスであり、記憶部32に格納されたプログラムに従って動作する。本実施の形態では、この制御部31は、所定のタイミングで、サーバ10に対してアクションのリクエスト情報を送出する。またこの制御部31は、サーバ10からアクション情報を受信する。制御部31は、アクション情報を受信すると、当該アクション情報に含まれる文字列情報に基づき、音声データを合成する。また制御部31は、ここで合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する。
【0015】
本実施の形態の一例では、端末装置20の制御部31は、後に説明するセンサ部33がユーザの音声の入力を受け入れると、当該入力された音声を文字列情報に変換する。この処理は、広く知られた音声認識の処理を用いることができ、制御部31は例えば音声認識処理を実行する音声認識サーバに入力された音声の情報を送出し、認識した文字列情報を受信することでこの処理を実行してもよい。
【0016】
また制御部31は、ユーザにより音声が入力されたことなど、予め定められた動作の契機となる事象(トリガ)が生じたことを検出すると、サーバ10に対してアクションのリクエスト情報を送出する。このリクエスト情報には、トリガを特定する情報(例えばユーザにより音声が入力された旨の情報)と、サーバ10での処理に必要な情報、例えば、ここではユーザが入力した音声の認識結果である文字列情報とを含む。
【0017】
すなわち制御部31は、予め定められたトリガが発生したと判断すると、サーバ10での処理に必要な情報を収集して、当該トリガを特定する情報とともに、当該収集した情報を含むリクエスト情報をサーバ10へ送出することとなる。このトリガは、先の例のように、ユーザにより音声が入力されたことのほか、所定の時刻になった、など、任意に定め得る。この制御部31の詳しい動作の内容についても後に説明する。
【0018】
記憶部32は、メモリデバイス等であり、制御部31によって実行されるプログラムを保持する。この記憶部32は、また、制御部31のワークメモリとしても動作する。本実施の形態では、この記憶部32には、上記トリガと、サーバ10に送出するべき情報を特定する情報等とを関連付けた設定情報が格納されていてもよい。この設定情報については後に具体的な例を挙げて説明する。
【0019】
さらに、本実施の形態のある例では、この記憶部32は、表示部34に表示するべきアニメーションの画像データを格納している。具体的に記憶部32は、笑顔の目の画像データ、涙の流れるアニメーションの目の画像データ…など目のアニメーションの画像データや、笑った状態で閉じた口の画像データ、泣いている状態での閉じた口の画像データ、発声中の口のアニメーションの画像データ…など、口のアニメーションの画像データ…といったように、表情を表す各部の複数の画像データを格納していてもよい。
【0020】
以下の例では、この記憶部32には、少なくとも、音声発声開始時の表情を表すアニメーションの画像データFSと、音声発声中の表情を表すアニメーションの画像データFIと、音声発声終了時の表情を表すアニメーションの画像データFEとが格納されているものとする。また、これらの画像データFS,FI,FEは、口の部分の画像のみとし、記憶部32が目の部分の画像データを別途格納していても構わない。
【0021】
センサ部33は、少なくとも音声センサであるマイクを含む。またこのセンサ部33は、タッチセンサや、加速度センサ等を含んでもよい。このセンサ部33は、各センサで検出した音声信号や、ユーザが触れた位置を表す情報、加速度の情報等を、制御部31に出力する。
【0022】
表示部34は、液晶ディスプレイ等であり、制御部31から入力される指示に従って画像データを表示する。本実施の形態の一例では、表示部34は、目や口の画像データを用いて、キャラクタの表情を表示する。音声出力部35は、スピーカー等であり、制御部31から入力される音声信号に従って音声を鳴動する。
【0023】
通信部36は、ネットワークインタフェースを含む。この通信部36は、無線または有線にてネットワークを介してサーバ10との間で情報を送受する。具体的に通信部36は、制御部31から入力される指示に従って、サーバ10に対してリクエスト情報等を送出する。また、この通信部36は、サーバ10から受信した情報を制御部31に出力する。
【0024】
駆動部37は、制御部31から入力される指示に従い、脚部21に対して本体部22を回転するようアクチュエータを駆動する。
【0025】
次に、本実施の形態のサーバ10の制御部11の動作について説明する。本実施の形態では、このサーバ10の制御部11は、図3に例示するように、受信部41と、アクション情報生成部42と、指示送信部43とを含んで構成される。
【0026】
受信部41は、端末装置20からリクエスト情報を受信する。本実施の形態では、サーバ10は、端末装置20にて実行するべき処理(アクション)を要求するリクエスト情報を、当該端末装置20から受け入れる。このリクエスト情報には、アクションの要求の原因(トリガ)を特定する情報を含む。トリガの種類については後述するが、例えばユーザによる音声の入力等がその一例となる。ユーザによる音声入力があったとのトリガに基づく上記リクエスト情報には、当該トリガを特定する情報とともに、ユーザにより入力された音声の内容を表す情報が含まれてもよい。ここでユーザにより入力された音声の内容を表す情報は、音声を認識した結果である文字列情報でよい。
【0027】
受信部41は、ここで受け入れたリクエスト情報に含まれる、トリガを特定する情報や、ユーザにより入力された音声の内容を表す文字列情報等を、アクション情報生成部42に出力する。
【0028】
アクション情報生成部42は、受信部41から入力される情報に基づいて端末装置20が実行するべきアクションを決定し、当該アクションを指示する情報(アクション指示)と、アクションの実行に必要となる情報(以下、パラメータ情報と呼ぶ)とを含むアクション情報を生成して指示送信部43に出力する。
【0029】
本実施の形態の一例では、サーバ10の記憶部12には、端末装置20への指示を生成するための情報として、図4に例示するように、トリガを特定する情報(T)と、ユーザにより入力された音声の内容を表す情報と比較する情報(V、以下、比較文字列情報と呼ぶ。ただしこの比較文字列情報は、トリガの種類によってはなくてもよい)と、アクション情報の生成のためにサーバ10が実行する処理を表す情報(S)とを互いに関連づけたレコード(R)を少なくとも一つ含む、アクションデータベースが格納されているものとする。
【0030】
アクション情報生成部42は、受信部41から入力されるトリガを特定する情報(T)に関連付けられた、比較文字列情報(V、あれば)とアクション情報の生成のためにサーバ10が実行するべき処理を表す情報とを取得する。
【0031】
そしてアクション情報生成部42は、比較文字列情報が取得されていれば、受信部41が出力する文字列情報と当該比較文字列情報とを比較する。そして、アクション情報生成部42は、受信部41が出力する文字列情報が比較文字列情報に一致していると判断すると、取得した情報が表す処理を実行して、アクション情報を生成する。
【0032】
また、アクション情報生成部42は、比較文字列情報が取得されていなければ、上記取得した情報が表す処理を実行して、アクション情報を生成する。
【0033】
具体的な例として、ここではアクションデータベースには、「ユーザによる音声入力があった」旨のトリガを特定する情報と、ユーザにより入力された音声の内容を表す情報と比較するべき比較文字列情報として「*ニュース[を|は]*[ない|教えて|読みあげて]*」などといった文字列の情報とに「ニュースの文字列情報を、インターネット上の所定のウェブサーバから取得し、当該文字列情報を読み上げるよう指示する」との情報を関連付けたレコードが記録されているものとする。
【0034】
なお、ここで比較文字列情報は、いわゆる正規表現で表されているものとする。上記の例では、「*」は、空白を含む任意の文字に合致する正規表現であり、[A|B|…]は、A,B…のいずれかに合致する正規表現である。従って上記の文字列は、
「今日のニュースを教えて」や、
「何かニュースはない?」
といった文字列情報に合致することとなる。
【0035】
アクション情報生成部42は、例えば受信部41から「ユーザによる音声入力があった」旨のトリガを特定する情報と、ユーザにより入力された音声の内容を表す情報として「何かニュースはない?」といった文字列情報との入力を受け入れると、当該トリガを特定する情報を含むレコードをアクションデータベースから検索する。
【0036】
ここではアクション情報生成部42は、上記のレコードをアクションデータベースから見出すこととなり、当該レコードに含まれる、比較文字列情報と、受け入れた文字列情報とを比較する。上記の例では受け入れた文字列情報「何かニュースはない?」が、比較文字列情報「*ニュース[を|は]*[ない|教えて|読みあげて]*」に合致すると判断されるので、アクション情報生成部42は、検索で見出した上記のレコードに含まれる、サーバ10が実行するべき処理を表す情報、
「(ステップ1)ニュースの文字列情報を、インターネット上の所定のウェブサーバから取得する、
(ステップ2)当該文字列情報を読み上げる指示を生成
(ステップ3)読み上げのときに再生するアニメーション情報を表示させる指示を生成する」を取得して、この情報に従った処理を実行する。
【0037】
なお、本実施の形態において特徴的なことの一つは、並行して行われるアクション処理の実行中に表示するアニメーション情報を、少なくとも、
(1)実行開始の時点
(2)実行中
(3)実行終了の時点
の3つのタイミングに分けて指定することである。
【0038】
すなわちアクション情報生成部42は、この読み出した情報に従って、インターネット上の所定のウェブサーバからニュースの文字列情報を取得する。またアクション情報生成部42は、並列して行われるアクション処理の実行開始の時点で表示するべきアニメーションの画像データと、実行中に表示するべきアニメーションの画像データと、実行終了の時点で表示するべきアニメーションの画像データとをそれぞれ特定する情報(各画像データのファイル名でよい)を含むアニメーション情報の表示指示を生成する。
【0039】
そしてこの例では、アクション情報生成部42は、アクション指示とパラメータ情報とを含んだアクション情報を生成して指示送信部43に出力する。ここでアクション指示には、文字列情報を読み上げるべき旨の指示と、アニメーション情報の表示指示とを含む。また、パラメータ情報には、上記取得した文字列情報と、アニメーションの画像データを特定する情報とを含む。
【0040】
指示送信部43は、アクション情報生成部42が生成したアクション情報を、受信部41が受信したリクエスト情報の送信元である端末装置20に対して送出する。
【0041】
次に、端末装置20の制御部31の動作について説明する。本実施の形態では、制御部31は、図5に例示するように、リクエスト送出部51と、アクション情報受信部52と、音声合成部53と、アクション処理実行部54とを機能的に含んで構成される。
【0042】
リクエスト送出部51は、予め定められたトリガが発生したと判断すると、サーバ10での処理に必要な情報を収集して、当該トリガを特定する情報とともに、当該収集した情報を含むリクエスト情報をサーバ10へ送出する。具体的にここでは、ユーザにより音声が入力されたことや、所定の時刻になったなどといったトリガを予め列挙して、設定情報に含め、記憶部32に格納しておく。
【0043】
一例として設定情報には、図6に例示するように、トリガごとに、それぞれの名称(トリガ名:N)に対して発生条件(C)や当該トリガに関係してサーバ10での処理に必要な情報を特定する情報(P)、インターバル時間(T)等のトリガの処理に関わる情報に関連付けて列挙して記録されているものとする。
【0044】
リクエスト送出部51は、この設定情報を参照して、発生条件が満足されたと判断すると、当該発生条件が満足されたトリガが発生したとして、当該トリガに関係してサーバ10での処理に必要な情報(P)を参照する。
【0045】
そしてリクエスト送出部51は、当該参照した情報で特定される、サーバ10での処理に必要な情報を収集し、当該収集した情報と、発生したトリガを特定する情報(トリガ名でよい)とを含むリクエスト情報を、サーバ10へ送出する。
【0046】
アクション情報受信部52は、サーバ10からアクション情報を受信して、当該受信したアクション情報を、アクション処理実行部54に出力する。
【0047】
音声合成部53は、後に説明するアクション処理実行部54から入力される文字列情報に基づいて、音声データを合成する。この音声合成部53は、合成して得られた音声データを、アクション処理実行部54に出力する。
【0048】
アクション処理実行部54は、サーバ10が送出したアクション情報から、アクション指示とパラメータ情報とを取り出し、アクション指示に従って処理を実行する。具体的に、上述の例のように、当該取得した文字列情報を読み上げるべき旨の指示と、上記アニメーション情報の表示指示とを含むアクション指示、及び、取得した文字列情報と、アニメーションの画像データとを含むパラメータ情報を含んだアクション情報を、アクション情報受信部52が受信した場合について説明する。
【0049】
この例ではアクション処理実行部54は、取得した文字列情報を音声合成部53に出力して、音声データを取得する。アクション処理実行部54は、取得した音声データの再生時間TVの情報を求める。この情報は、合成された音声データのエンコードの種別や、サンプリングレートなどの情報に基づいて公知の方法で演算できるので、ここでの詳しい説明は省略する。
【0050】
またここでアクション処理実行部54は、当該求められた音声データの再生時間TVに基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する。本実施の形態のここでの例では、音声データの再生と並行してアニメーションの画像データの表示が行われるので、アクション処理実行部54は、アニメーションの表示の継続時間を制御することとなる。
【0051】
具体的に、ここではアニメーションの画像データとして、並列して行われるアクション処理である、音声データの再生開始の時点で表示するべきアニメーションの画像データFSと、音声データの再生中に表示するべきアニメーションの画像データFIと、音声データの再生終了の時点で表示するべきアニメーションの画像データFEとをそれぞれ特定する情報がアクション情報に含まれているので、アクション処理実行部54は、これらのアニメーションの画像データを用いて次のように処理を行う。
【0052】
まず、アクション処理実行部54は、アクション情報に含まれる情報で特定されるアニメーションの画像データFS,FI,FEを記憶部32から読み出す。これらの画像データのうち、画像データFSが本発明の開始アニメーションに、画像データFIが本発明の中間アニメーションに、画像データFEが本発明の終了アニメーションをそれぞれ実現している。アクション処理実行部54は、ここで画像データFS,FEのそれぞれの再生時間(アニメーションの継続時間)の情報TFS,TFEを取得する。そしてアクション処理実行部54は、次のように画像データの再生方法を定める。すなわち、アクション処理実行部54は、
(1)音声データの再生開始の時点で表示するべきアニメーションの画像データFSの再生時間TFSよりも、音声データの再生時間TVが短いならば(TFS≧TVならば)、画像データFSのみを再生することとする。
(2)また、アクション処理実行部54は、音声データの再生時間TVが、画像データFSの再生時間TFSを超え、かつ、画像データFSの再生時間TFSと、音声データの再生終了の時点で表示するべきアニメーションの画像データFEの再生時間TFEとの和(TFS+TFE)よりも、音声データの再生時間TVが短いならば(TFS+TFE≧TVならば)、画像データFSと画像データFEとを続けて再生することとする。
(3)さらにアクション処理実行部54は、音声データの再生時間TVが、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和(TFS+TFE)を超えるならば(TFS+TFE<TVならば)、時間TI=TV-(TFS+TFE)、つまり、音声データの再生時間から、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和を差し引いて求められる時間TIを求める。アクション処理実行部54は、そして、このときには、画像データFSを再生した後、音声データの再生中に表示するべきアニメーションの画像データFIを時間TIだけ再生し、続けて画像データFEを再生することとする。ここで、画像データFIの再生時間TFIが、上記時間TIより短い場合は画像データFIを繰り返し再生することとする。
【0053】
アクション処理実行部54は、音声合成部53が出力した音声データを、音声出力部35に出力して、音声を鳴動させるとともに、上記決定した再生方法に従って、表示部34に画像データを出力して、アニメーションの画像データを再生する。
【0054】
これにより、この例のアクション処理実行部54は、音声データの再生時間に基づいて、開始アニメーションである画像データFSと、中間アニメーションである画像データFIと、終了アニメーションである画像データFEとのそれぞれの再生時間を制御することとなる。
【0055】
[動作]
本実施の形態の情報処理システムは、以上の構成を備えており、次の例のように動作する。なお以下の例ではサーバ10の記憶部12には、アクションの要求の原因であるトリガごとに、アクション情報の生成のためにサーバ10が実行する処理を表す情報が関連付けられて、アクションデータベースとして格納されているものとする。
【0056】
以下の例では、このアクションデータベースに含まれる情報の例として、図4に例示したように、
・トリガを特定する情報(T):ユーザによる音声入力があった
・比較文字列情報(V):「*ニュース[を|は]*[ない|教えて|読みあげて]*」
・実行する処理:
(ステップ1)ニュースの文字列情報を、インターネット上の所定のウェブサーバから取得する、
(ステップ2)当該文字列情報を読み上げる指示を生成
(ステップ3)読み上げのときに再生するアニメーション情報を表示させる指示を生成する
との情報が含まれるものとする。
【0057】
また、端末装置20の記憶部32は、設定情報として、図6に例示したように、トリガごとに、発生条件(C)や当該トリガに関係してサーバ10での処理に必要な情報を特定する情報(P)等を関連付けて格納している。
【0058】
以下の例では、この設定情報に、
・トリガを特定する情報(トリガ名N):ユーザによる音声入力があった
・発生条件(C):ユーザが所定のウェイクワードを発声した
・サーバ10での処理に必要な情報を特定する情報(P):
ユーザが発話した内容の文字列情報

といった情報が含まれるものとする。ここでウェイクワードとは、ユーザがその語を発話したときに、音声入力の開始として認識するべき、「ねえ聞いてよ」や「起きてよ」等の語であり、予め定められているものとする。端末装置20は、サーバ10での処理に必要となるユーザが発話した内容の文字列情報から、このウェイクワードに相当する文字列部分を除いてもよい。
【0059】
以下、このような設定の情報等を保持するサーバ10と、端末装置20との動作について、図7図8を参照しながら説明する。まず、図7に例示するように、ユーザが、端末装置20に対して「起きてよ。何かニュースないかな」と発話する(S11)と、端末装置20はこのユーザの音声を認識する処理を実行して(S12)、「起きてよ。何かニュースないかな」との文字列情報を取得する。既に述べたように、音声認識の処理は端末装置20自身が行わなくても、ネットワークを介して音声認識処理のサービスにアクセスすることで行ってもよい。
【0060】
端末装置20は、設定情報を参照して、いずれかのトリガの発生条件が満足されたかを調べる(S13)。ここでは、ユーザがウェイクワードである「起きてよ」を発声しているので、「ユーザによる音声入力があった」旨のトリガが発生したものとして(S13:Yes)、設定情報に従い、ユーザが発話した内容の文字列情報を収集する。なお、ステップS13において、いずれのトリガの発生条件も満足していないと判断すると(S13:No)、端末装置20は処理を終了する。
【0061】
ここでは、ユーザが発話した内容は既にステップS12にて、ユーザが発話した内容の文字列情報を取得しているので、端末装置20は、当該文字列情報と、発生したトリガを特定する情報(トリガ名「ユーザによる音声入力があった」)とを含むリクエスト情報をサーバ10宛に送出する(S14)。
【0062】
サーバ10では端末装置20からのリクエスト情報を受信し、記憶部12に格納している情報から、当該リクエスト情報に含まれるトリガを特定する情報「ユーザによる音声入力があった」に関連付けられた、比較文字列情報(V)と、アクション情報の生成のためにサーバ10が実行するべき処理を表す情報とを取得する(S15)。
【0063】
サーバ10は、比較文字列情報「*ニュース[を|は]*[ない|教えて|読みあげて]*」と、受信した文字列情報「起きてよ。何かニュースないかな」とを比較して一致しているか否かを判断する(S16)。ここで仮に一致していないと判断したとき(S16:No)には、サーバ10は処理を終了する。
【0064】
ここでの例では、受信した文字列情報「起きてよ。何かニュースないかな」が比較文字列情報「*ニュース[を|は]*[ない|教えて|読みあげて]*」に一致するため、サーバ10は、ステップS16で比較文字列情報と受信した文字列情報とが一致したと判断し(S16:Yes)、ステップS15で取得した情報で特定される処理を開始する。
【0065】
すなわちサーバ10は、インターネット上の所定のウェブサーバからニュースの文字列情報を取得する(S17)。またサーバ10は、並列して行われるアクション処理の実行開始の時点で表示するべきアニメーションの画像データFSと、実行中に表示するべきアニメーションの画像データFIと、実行終了の時点で表示するべきアニメーションの画像データFEとをそれぞれ特定する情報を含むアニメーション情報の表示指示を生成する(S18)。
【0066】
そしてサーバ10は、ステップS17で取得した文字列情報を読み上げるべき旨の指示と、ステップS18で生成したアニメーション情報の表示指示とを含むアクション情報を、端末装置20へ送出する(S19)。
【0067】
アクション情報を受信した端末装置20は、図8に例示するように、受信したアクション情報に含まれる文字列情報を音声合成して、音声データを取得する(S21)。
【0068】
そして端末装置20は、当該取得した音声データの再生時間TVの情報を求める(S22)。また端末装置20は、アクション情報に含まれる情報で特定されるアニメーションの画像データFS,FI,FEを記憶部32から読み出し、画像データFS,FEのそれぞれの再生時間(アニメーションの継続時間)の情報TFS,TFEを取得する(S23)。
【0069】
端末装置20は、ステップS22で求めた音声データの再生時間TVと、ステップS23で取得した画像データFS,FEのそれぞれの再生時間(アニメーションの継続時間)の情報TFS,TFEとを用いて、音声データの再生開始の時点で表示するべきアニメーションの画像データFSの再生時間TFSよりも、音声データの再生時間TVが短いか否か(TFS≧TVであるか)を判断する(S24)。
【0070】
ここで、TFS≧TVであれば(S24:Yes)、端末装置20は、画像データFSのみを再生することとして、ステップS21で取得した音声データを音声出力部35に出力して鳴動しつつ、画像データFSを再生したアニメーションを表示部34に表示する(S25)。
【0071】
この例では、図9(a)に示すように、音声データの再生(TV)がアニメーションの表示(TFS)に係る時間以下の期間内に終了することとなる。
【0072】
またステップS24でTFS≧TVでなければ(S24:No)、端末装置20は、音声データの再生時間TVが、画像データFSの再生時間TFSを超え、かつ、画像データFSの再生時間TFSと、音声データの再生終了の時点で表示するべきアニメーションの画像データFEの再生時間TFEとの和(TFS+TFE)よりも、音声データの再生時間TVが短いか否か(TFS+TFE≧TVか否か)を調べる(S26)。
【0073】
ここでTFS+TFE≧TVであれば(S26:Yes)、端末装置20は、画像データFSと画像データFEとを続けて再生することとして、ステップS21で取得した音声データを音声出力部35に出力して鳴動しつつ、画像データFSを再生したアニメーションを表示部34に表示し、画像データFSの再生が終了すると、続けて画像データFEを再生したアニメーションを表示部34に表示する(S27)。
【0074】
この例では、図9(b)に示すように、音声データの再生期間(TV)が画像データFSのアニメーションの表示(TFS)に係る時間を超え、その後、画像データFEのアニメーションが表示されている間(TFE)まで、音声データの再生が継続することとなる。
【0075】
またステップS26でTFS+TFE≧TVでなければ(S26:No)、つまり音声データの再生時間TVが、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和(TFS+TFE)を超えるならば(TFS+TFE<TVならば)、端末装置20は、時間TI=TV-(TFS+TFE)、つまり、音声データの再生時間から、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和を差し引いて求められる中間アニメーションの表示時間TIを求める(S28)。
【0076】
端末装置20は、ステップS21で取得した音声データを音声出力部35に出力して鳴動しつつ、画像データFSを再生したアニメーションを表示部34に表示し、画像データFSの再生が終了すると、続けてステップS28で求めた表示時間TIの間だけ、画像データFIを再生する(S29)。ここで画像データFIの一回の再生時間TFIが、上記時間TIより短い場合は、端末装置20は、画像データFIを繰り返し再生する。
【0077】
そして画像データFIの再生開始からステップS27で求めた表示時間TIが経過したところで、端末装置20は、画像データFIの再生を終了し(途中であれば中断してもよい)、続けて画像データFEを再生したアニメーションを表示部34に表示する(S29)。
【0078】
この例では、図9(c)に示すように、画像データFSのアニメーションの表示(TFS)が行われ、その後、画像データFIが時間TI=TV-(TFS+TFE)の間、繰り返して再生される。そしてその後、画像データFEのアニメーションが表示される。音声データは、これら3つの画像データが再生されている間、継続して再生される。
【0079】
このように本実施の形態によると、端末装置20側の処理で決定される音声再生の時間に合わせてアニメーションの表示時間が調整されることとなる。
【0080】
[トリガに対する他のアクション]
また本実施の形態の端末装置20は、トリガに対するアクションの処理を、
(1)トリガが発生した時点で実行する処理(トリガ発生時処理と呼ぶ)
(2)サーバ10から受信したアクション情報に基づく処理(応答処理と呼ぶ)
(3)受信したアクション情報に基づく処理の実行後に実行する処理(後処理と呼ぶ)
との各段階の処理に分けて実行してもよい。
【0081】
この例では端末装置20の制御部31は、リクエスト送出部51としての動作を行う際、いずれかのトリガが発生した場合に、当該トリガを特定する情報に関連付けて予め設定されたトリガ発生時処理があれば、当該トリガ発生時処理を特定する情報を、アクション処理実行部54に出力する。また、リクエスト送出部51は当該トリガに関係してサーバ10での処理に必要な情報(P)を参照し、当該参照した情報で特定される、サーバ10での処理に必要な情報を収集する。そしてリクエスト送出部51は、当該収集した情報と、発生したトリガを特定する情報とを含むリクエスト情報を、サーバ10へ送出する。
【0082】
アクション処理実行部54はリクエスト送出部51から入力された情報で特定されるトリガ発生時処理を実行する。ここで実行するトリガ発生時処理は、例えば、目を上に向けたキャラクタの表情を表すアニメーションを表示する処理であってもよい。この場合、サーバ10に問い合わせている間、キャラクタの目が上に向いたアニメーションが表示され、キャラクタ(端末装置20)があたかも考えているかのような印象をユーザに与えるとともに、サーバ10との通信中であることをユーザに知らせることが可能となる。
【0083】
アクション処理実行部54は、その後、サーバ10から受信したアクション情報の入力を、アクション情報受信部52から受け入れると、このトリガ発生時処理を終了する。そしてアクション処理実行部54は、応答処理として、サーバ10から受信したアクション情報に基づく処理を実行する。この応答処理の例は、既に述べたように、音声データの合成や、その再生時間の情報に基づくアニメーションの再生処理等である。
【0084】
さらにアクション処理実行部54は、応答処理の終了後に、予め定められた後処理実行条件を参照し、後処理を実行するか否かを判断する。この後処理実行条件は例えば、応答処理において、実行終了の時点で表示するべきアニメーションの画像データFEが再生されていないこと(つまり、表示しているキャラクタの表情が予め定められたデフォルトの表情となっていないこと)、などとして、応答処理において実行された処理の内容との関係で定められてもよい。
【0085】
アクション処理実行部54は、後処理を実行すると判断すると、予め定められた後処理を実行する。この後処理は、後処理実行条件ごとに、後処理実行条件に関連付けて定められてもよい。このようにすると、後処理実行条件ごとに異なる後処理を実行させることが可能となる。
【0086】
この後処理は例えば、キャラクタのデフォルトの表情を表す画像データ(デフォルト画像データ)を表示する処理などとする。
【0087】
なお、本実施の形態では、デフォルト画像データが予め用意され、端末装置20の記憶部32に格納されていてもよい。このデフォルト画像データは例えば口を閉じた状態のキャラクタの表情に対応するものとしておく。
【0088】
また本実施の形態のある例では、応答処理の実行中、脚部21に対する本体部22の向きを変更して、例えば本体部22の正面(表示部34の面)がやや上方を向くように制御してもよい。この例の場合、後処理では、脚部21に対する本体部22の向きを、所定のデフォルトの向きとなるよう制御する。これによると、端末装置20の発話中、キャラクタの表情を表示する表示部34がやや上方を向き、ユーザに向き合うように制御され、その後発話が終了すると、元の位置へ戻ることとなる。
【0089】
[複数の中間アニメーション]
また、本実施の形態の情報処理システム1では、中間アニメーションである画像データFIは、一つだけでなくてもよい。開始時に再生される画像データFSに続いて、処理の実行中に再生される画像データFIが複数指定される例では、端末装置20は、次のように動作する。
【0090】
すなわち端末装置20は、この例において音声データの再生時間TVが、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和(TFS+TFE)を超えるならば(TFS+TFE<TVならば)、画像データFSの再生時間TFSと画像データFEの再生時間TFEとの和を差し引いて求められる中間アニメーションの表示時間TIを求める。
【0091】
そして端末装置20は、求めた表示時間TIの間だけ、中間アニメーションとして指定された複数の画像データFIのいずれかを選択して再生する処理を繰り返す。
【0092】
具体的に端末装置20は、音声データの再生開始とともに画像データFSのアニメーションの表示を開始し、画像データFSの再生が終了した後、タイマー(不図示)を「0」に設定して計時を開始し、指定された複数の画像データFIのうち一つを所定の条件で(例えばランダムに)選択して再生する。
【0093】
端末装置20は、この再生が終了すると、タイマーを参照しその計時時間が求めた表示時間TIを超えていなければ、指定された複数の画像データFIのうち一つを所定の条件で(例えばランダムに)選択して再生する処理を繰り返す。
【0094】
また端末装置20は、ある画像データFIの再生が終了した時点で、タイマーの計時時間が求めた表示時間TIを超えていれば、続いて終了アニメーションである画像データFEを再生する。
【0095】
なお、複数の画像データFIを、例えばそれぞれA,E,I,O,Uの音を発音しているときのキャラクタの口の形の変化を表すアニメーションの画像とし、上記選択の条件をランダムでなく、例えば画像データFIを選択する時点で再生されている音声データの母音の音に基づいて対応する母音を発音しているときの口の形の変化を表すアニメーションの画像に対応する画像データFIを選択することとしてもよい。
【0096】
この例によると、発音されている母音に合わせてキャラクタの口の形が変化するアニメーションが表示されるため、より自然な印象をユーザに与えることが可能となる。
【0097】
[音声ファイルの再生]
また、本実施の形態のここまでの説明では、サーバ10がアクション情報に含めて送出した文字列情報に基づき、端末装置20が音声を合成することとしていたが、本実施の形態はこれに限られない。
【0098】
本実施の形態の一例ではサーバ10は、端末装置20で音声合成の対象とする文字列情報に代えて、あるいは文字列情報とともに、音声データそのものを送出してもよい。またこの音声データはサーバで音声合成したものであってもよいし、楽曲や効果音等の音声データであってもよい。この例では、端末装置20は、サーバ10から音声データを含むアクション情報を受信することとなる。
【0099】
端末装置20は、アクション処理実行部54としての動作において、サーバ10が送出したアクション情報から取り出したパラメータ情報に、音声データが含まれる場合は、他に音声合成の対象となる文字列情報が含まれていても、当該アクション情報から取り出した音声データの再生時間TVの情報を求めることとする。この情報もまた、合成された音声データのエンコードの種別や、サンプリングレートなどの情報に基づいて公知の方法で演算できる。
【0100】
そしてアクション処理実行部54は、既に述べた例のように、合成した音声データの再生時間に代えて、当該アクション情報から取り出した音声データの再生時間TVに基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する。この制御の方法は、既に述べた例と同様であるので、繰り返しての説明は省略する。
【0101】
あるいは、端末装置20は、アクション処理実行部54としての動作において、サーバ10が送出したアクション情報から取り出したパラメータ情報に、音声データと、音声合成の対象となる文字列情報とが含まれる場合、次のように処理を行ってもよい。すなわち端末装置20は、当該アクション情報から取り出した音声データの再生時間TV1の情報を求めるとともに、取り出した文字列情報を音声合成部53に出力し、合成された音声データを取得し、その再生時間TV2の情報を求める。
【0102】
そしてアクション処理実行部54は、アクション情報から取り出した音声データの再生時間TV1と、端末装置20にて合成した音声データの再生時間TV2とのうちいずれか長い方の再生時間TVを選択して用い、既に述べた例と同様、当該選択した再生時間TVに基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する。この制御の方法も、既に述べた例と同様であるので、繰り返しての説明は省略する。
【0103】
[端末装置に格納されたアクション情報]
上述の例では、アクション情報はサーバ10が生成して送出するものとしていたが本実施の形態はこれに限られず、端末装置20はサーバ10から受信するアクション情報のほか、端末装置20内に予めアクション情報を保持していてもよい。この例では、端末装置20は保持しているアクション情報に含まれる文字列情報に基づいて音声合成を行い、合成された音声データを再生してもよい。
【0104】
この例によると、サーバ10との通信が必要ないので、端末装置20がすぐに音声を再生できる。
【0105】
[アニメーション以外の処理]
また、ここまでの説明では、端末装置20が自身で合成した音声データの再生時間に応じて、並行して再生するアニメーションの再生時間を制御する例について説明したが、本実施の形態はこれに限られず、例えば、音声データの再生と並行して、アクチュエータを制御して脚部21に対する本体部22の回動制御を行う場合、端末装置20が自身で合成した音声データの再生時間に応じて、当該回転制御の継続時間を制御してもよい。
【0106】
この場合も、回動制御の内容を、音声データの再生開始の時点に行う制御である開始時制御(例えば右方向へ10度回転、など)と、その後引き続いて音声データの再生中に行う中間制御(例えば左方向へ20度、次に右方向へ20度、など)と、音声データの再生終了時に行う終了時制御(例えば左方向へ10度、など)とに制御の内容(制御の指示)を分けておく。そして端末装置20は、音声データの再生時間に応じて、開始時制御に要する時間よりも短いならば開始時制御のみを行い、開始時制御と終了時制御との双方を行う時間より短いが、開始時制御に要する時間よりも長いならば開始時制御と終了時制御とを行うよう制御する。
【0107】
また端末装置20は、開始時制御と終了時制御との双方を行う時間よりも、合成して得た音声データの再生時間が長ければ、まず開始時制御を行った上で、次に中間制御を所定の時間だけ継続して(中間制御に要する時間より当該所定の時間が長いならば中間制御を複数回繰り返して行い)、その後終了時制御を実行する。ここで所定の時間は、合成して得た音声データの再生時間から開始時制御と終了時制御との双方を行う時間を差し引いた時間とする。
【0108】
この例によると、アニメーション以外であっても、端末装置20における制御動作の継続時間を、合成した音声データの再生時間の長さに応じて調整でき、自然な動きを実現できる。
【0109】
[実施形態の構成・効果]
本実施の形態の情報処理システムは、互いに通信可能に接続されたサーバと端末装置とを含む情報処理システムであって、前記サーバは、前記端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を、前記端末装置へ送信する送信手段を含み、前記端末装置は、前記サーバからアクション情報を受信する受信手段と、前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、を含む。これにより、文字列情報に基づいて端末装置で再生する音声に合わせて実行するアクションを、柔軟に調整可能となる。
【0110】
また本実施の形態の端末装置は、サーバとの間で通信可能に接続される端末装置であって、前記サーバから、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を受信する受信手段と、前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、を含む。
【0111】
このように、端末装置が自身で合成した音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御するので、端末装置が自身で合成した音声の長さに応じて処理を調整できる。
【0112】
ここで前記実行手段は、前記受信したアクション情報が所定の音声データの指定を含む場合は、前記合成された音声データの再生時間を表す第1の再生時間と、前記所定の音声データの再生時間を表す第2の再生時間のうち長い方に基づいて、前記アクションの継続時間を制御することとしてもよい。
【0113】
この場合、音声合成の対象となる文字列情報とともに音声データが受け入れられた場合、合成して得た音声データと、受信した音声データとのどちらを再生することとしても、再生する音声の長さに応じて処理を調整できる。
【0114】
また前記実行手段は、前記音声データの再生中に、少なくともアニメーションの再生を行い、前記音声データの再生時間に基づいて、前記音声データとともに再生するアニメーションの継続時間を制御する。
【0115】
これにより、端末装置が自身で合成した音声の長さに応じてアニメーションの再生処理の継続時間を調整できる。
【0116】
具体的な例として、前記アニメーションは、開始アニメーションと、中間アニメーションと、終了アニメーションとを含む複数の部分アニメーションを含み、前記実行手段は、前記音声データの再生時間に基づいて、前記開始アニメーションと、前記中間アニメーションと、前記終了アニメーションのそれぞれの再生時間を制御することとしてもよい。これにより、合成した音声の長さに応じてアニメーションの再生処理の継続時間を調整できる。
【0117】
このとき前記実行手段は、前記音声データの再生時間が、前記開始アニメーションの再生時間以内であれば、前記音声データの再生中に、前記開始アニメーションを再生する。
【0118】
また前記実行手段は、前記音声データの再生時間が、前記開始アニメーションの再生時間を超え、前記開始アニメーションと終了アニメーションとの再生時間の和以下の時間であれば、前記音声データの再生中に、前記開始アニメーションと終了アニメーションとを再生する。
【0119】
さらに前記実行手段は、前記音声データの再生時間が、前記開始アニメーションと終了アニメーションとの再生時間の和を超える場合は、前記音声データの再生中、前記開始アニメーションを再生した後、前記音声データの再生時間から、前記開始アニメーションと終了アニメーションとの再生時間の和を差し引いて求められる時間だけ前記中間アニメーションを再生する処理を繰り返し、その後、前記終了アニメーションを再生する。
【0120】
これらの処理によると、端末装置が自身で合成した音声の長さに応じてアニメーションの再生処理の継続時間が調整される。
【0121】
また別の例では、前記アニメーションは、開始アニメーションと、少なくとも一つの中間アニメーションと、終了アニメーションとを含む複数の部分アニメーションを含み、前記実行手段は、前記音声データの再生時間が、前記開始アニメーションの再生時間以内であれば、前記音声データの再生中に、前記開始アニメーションを再生し、前記音声データの再生時間が、前記開始アニメーションの再生時間を超え、前記開始アニメーションと終了アニメーションとの再生時間の和以下の時間であれば、前記音声データの再生中に、前記開始アニメーションと終了アニメーションとを再生し、前記音声データの再生時間が、前記開始アニメーションと終了アニメーションとの再生時間の和を超える場合は、前記音声データの再生中、前記開始アニメーションを再生した後、前記音声データの再生時間から、前記開始アニメーションと終了アニメーションとの再生時間の和を差し引いて求められる時間だけ前記中間アニメーションのいずれかを選択して再生する処理を繰り返し、その後、前記終了アニメーションを再生する。
【0122】
この処理によると、端末装置が自身で合成した音声の長さに応じてアニメーションの再生処理の継続時間が調整される。
【0123】
また本実施の形態の一態様は、サーバとの間で通信可能に接続される端末装置の制御方法であって、受信手段が、前記サーバから、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報を受信し、音声合成手段が、前記受信したアクション情報に含まれる文字列情報に基づき、音声データを合成し、実行手段が、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する。これにより合成した音声の長さに応じて処理を調整できる。
【0124】
さらに本実施の形態の別の態様は、プログラムであって、端末装置を、端末装置にて実行されるアクションを指示するアクション指示と、発声される音声の内容を表す文字列情報とを含むアクション情報に含まれる文字列情報に基づき、音声データを合成する音声合成手段と、前記合成された音声データの再生時間に基づいて、音声データの再生と並行して実行するアクションの継続時間を制御する実行手段と、として機能させる。これにより合成した音声の長さに応じて処理を調整できる。
【符号の説明】
【0125】
1 情報処理システム、10 サーバ、11 制御部、12 記憶部、13 通信部、20 端末装置、21 脚部、22 本体部、31 制御部、32 記憶部、33 センサ部、34 表示部、35 音声出力部、36 通信部、37 駆動部、41 受信部、42 アクション情報生成部、43 指示送信部、51 リクエスト送出部、52 アクション情報受信部、53 音声合成部、54 アクション処理実行部。

図1
図2
図3
図4
図5
図6
図7
図8
図9