(57)【要約】【課題】  音声データ及び台詞データから音素セグメンテーションを行ない、当該音素セグメンテーションの結果を多数のユーザに提供するリップシンクサーバシステムを提供する。【解決手段】  リップシンクサーバシステム６０は、クライアント端末とデータの送受信を行ない、ユーザの情報及びリクエストの実行を管理するためのユーザ管理サーバ８０と、音素セグメンテーションを行なうための音声認識装置である１又は複数の音声認識サーバ８４と、音声認識サーバ８４を使用して音素セグメンテーションを行ない、結果をユーザ管理サーバ８０に返信するためのリップシンクサービスサーバ８２と、ユーザ管理サーバ８０とリップシンクサービスサーバ８２との間に設けられたファイアウォール７６とを含む。【選択図】        図２
2009103735.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、音声データと当該音声データの台詞をテキスト化した台詞データとを含むリクエストを受け、前記リクエストに基づいてリップシンクアニメーションに関するデータを作成しユーザに返送するサービスを提供するためのリップシンクサーバシステムであって、
音素セグメンテーションに必要な資源を管理するための資源管理手段と、
前記ネットワークを介し、クライアント端末から前記リクエストを受信するための受信手段と、
前記資源管理手段によって管理されている資源を用い、前記受信手段が受信した前記リクエストに含まれる音声データ及び台詞データに対して前記音素セグメンテーションを行なうことにより、リップシンクアニメーションに関するデータを生成するための生成手段と、
前記生成手段によって生成されたデータを、前記ネットワークを介してユーザのクライアント端末に返送するための返送手段とを含む、リップシンクサーバシステム。
【請求項２】
前記資源管理手段は、前記音素セグメンテーションを行なうために必要な音響モデルを管理するためのモデル管理手段を含み、
前記リクエストはさらに、前記モデル管理手段に含まれる音響モデルを指定するモデル指定情報を含み、
前記生成手段は、前記資源管理手段により管理される音響モデルのうち、前記受信手段が受信した前記リクエストに含まれる前記音響モデルを指定するモデル指定情報により指定される音響モデルを用い、前記受信手段が受信したリクエストに含まれる音声データ及び台詞データに対して前記音素セグメンテーションを行ない、リップシンクアニメーションに関するデータを生成するための手段を含む、請求項１に記載のリップシンクサーバシステム。
【請求項３】
前記生成手段は、前記資源管理手段によって管理されている資源及び前記台詞データに基づいて、前記音声データ内の、前記台詞データに対応する各音素の継続長を判定して、各音素と対応する継続長とからなる音素・継続長情報を出力するための音素・継続長情報出力手段を含む、請求項１に記載のリップシンクサーバシステム。
【請求項４】
前記生成手段はさらに、前記音素・継続長情報出力手段によって出力された音素・継続長情報に基づいて、当該音素・継続長に対応する口の動きを持つリップシンクアニメーションを生成するためのアニメーション生成手段を含む、請求項３に記載のリップシンクサーバシステム。
【請求項５】
前記返送手段は、前記アニメーション生成手段によって生成されたアニメーションを、前記ネットワークを介して前記クライアント端末にストリームとして返送するためのストリーム返送手段を含む、請求項４に記載のリップシンクサーバシステム。
【請求項６】
前記リップシンクサーバシステムはさらに、前記受信手段が受信したリクエストと、前記リクエストに基づくリップシンクアニメーションに関するデータの生成工程に関する情報とを管理するための第１のリクエスト管理手段を含み、
前記生成手段は、
前記受信手段が受信したリクエストと、前記リクエストに基づくリップシンクアニメーションに関するデータとを管理するための第２のリクエスト管理手段と、
前記第２のリクエスト管理手段によって管理されているリクエスト、及びリップシンクアニメーションに関するデータの生成工程に関する情報と、前記第１のリクエスト管理手段によって管理されているリクエスト、及びリップシンクアニメーションに関するデータの生成工程に関する情報とを同期させるための同期手段と、
前記資源管理手段によって管理されている資源を使用して、前記第２のリクエスト管理手段に記憶されているリクエストの中で、前記音素セグメンテーションが行なわれておらず、かつ前記第１のリクエスト管理手段に最も早く記憶されたリクエストに対して、前記音素セグメンテーションを行ない、リップシンクアニメーションに関するデータを生成するためのキュー管理生成手段とを含み、
前記返送手段は、
前記第１のリクエスト管理手段によって管理されているリクエストに基づくリップシンクアニメーションに関するデータを取得し、前記ネットワークを介して前記データをユーザのクライアント端末に返送するための手段を含む、請求項１に記載のリップシンクサーバシステム。
【請求項７】
前記受信手段は、
前記リップシンクサーバシステムを利用するユーザのユーザアカウントを管理するためのユーザ管理手段と、
前記ユーザ管理手段によって管理されているユーザアカウントに基づいて、前記ネットワークを介してクライアント端末から前記リップシンクサーバシステムにアクセスを試みるユーザに対して、前記リップシンクサーバシステムへのアクセスが許可されているか否かをチェックするためのユーザ認証手段と、
前記ユーザ認証手段によりアクセスが許可されていると判定されたユーザに対して、前記ネットワークを介して前記クライアント端末から前記リクエストを受信するためのリクエスト受信手段とを含む、請求項１に記載のリップシンクサーバシステム。
【請求項８】
ネットワーク接続機能を有するコンピュータにより実行されると、当該コンピュータを、前記ネットワークを介して、音声データと当該音声データの台詞をテキスト化した台詞データとを含むリクエストを受け、前記リクエストに基づいてリップシンクアニメーションに関するデータを作成しユーザに返送するサービスを提供するためのリップシンクサーバシステムとして動作させるコンピュータプログラムであって、前記コンピュータプログラムは、前記コンピュータを、
音素セグメンテーションに必要な資源を管理するための資源管理手段と、
前記ネットワークを介し、クライアント端末から前記リクエストを受信するための受信手段と、
前記資源管理手段によって管理されている資源を用い、前記受信手段が受信した前記リクエストに含まれる音声データ及び台詞データに対して前記音素セグメンテーションを行なうことにより、リップシンクアニメーションに関するデータを生成するための生成手段と、
前記生成手段によって生成されたデータを、前記ネットワークを介してユーザのクライアント端末に返送するための返送手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声データ及び台詞データから音素セグメンテーションを行なうリップシンクサーバシステムに関し、特に、該音素セグメンテーションの結果を多数のユーザに提供するリップシンクサーバシステム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
音声認識技術の発達並びに携帯電話及びＰＤＡ（Ｐｅｒｓｏｎａｌ Ｄｉｇｉｔａｌ Ａｓｓｉｓｔａｎｔ）等の携帯端末の普及に伴い、携帯端末を用いた音声認識サービスが今後広く使われることが予想される。音声認識サービスとしては種々の形態が考えられる。典型的には、利用者からの何らかの問合せを音声認識し、その結果を用いて何らかの情報を作成し、作成された情報を音声合成によって利用者に返す、というものがある。音声翻訳サービス、バスの時刻表情報サービス等がこれにあたる。
【０００３】
しかし、音声認識技術を用いた技術はこのようなものには限定されず、今後も多種多様なものが出現することが考えられる。例えば、不特定の話者の音声にあわせ、特定のキャラクタの顔画像を用いたアニメーションを作成するサービスが考えられる。
【０００４】
ところで、例えば特定のキャラクタの顔画像を用いたアニメーションを作成する場合には、顔の動きと音声とができるだけ一致していることが望ましい。そのためには、音声認識等の技術により、音声内の各音素の継続長を知る必要がある。現在の音声認識技術では、隠れマルコフモデルを用いた動的な音声認識によって、音声認識とともにその音素の継続長を判定することができる。音声を音素列に分解し、各音素の継続長を判定する作業を「音素セグメンテーション」と呼ぶ。音声認識の対象となる音声の内容が予め分かっている場合には、高い精度で音素セグメンテーションを行なえることが知られている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、音声認識技術には、音響モデルのようにかなり大きな資源が必要とされる。したがって、例えばこうしたサービスを携帯端末で行なうことは非常に困難である。さらに、上記したような作業を多国語で行なおうとした場合には、必要な資源を準備することさえ困難になるという問題がある。
【０００６】
したがって、本発明の目的は、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずにそうしたサービスを提供することができる音素セグメンテーション利用サービス提供システムを提供することである。
【０００７】
本発明の他の目的は、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずに、そうしたサービスを提供することができ、かつ同時に多数の利用者にもそうしたサービスを提供できる音素セグメンテーション利用サービス提供システムを提供することである。
【０００８】
本発明のさらに他の目的は、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずに、そうしたサービスをセキュアに提供することができる音素セグメンテーション利用サービス提供システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係るリップシンクサーバシステムは、ネットワークを介して、音声データと当該音声データの台詞をテキスト化した台詞データとを含むリクエストを受け、リクエストに基づいてリップシンクアニメーションに関するデータを作成しユーザに返送するサービスを提供するためのリップシンクサーバシステムであって、音素セグメンテーションに必要な資源を管理するための資源管理手段と、ネットワークを介し、クライアント端末からリクエストを受信するための受信手段と、資源管理手段によって管理されている資源を用い、受信手段が受信したリクエストに含まれる音声データ及び台詞データに対して音素セグメンテーションを行なうことにより、リップシンクアニメーションに関するデータを生成するための生成手段と、生成手段によって生成されたデータを、ネットワークを介してユーザのクライアント端末に返送するための返送手段とを含む。
【００１０】
リップシンクサーバシステムは、資源管理手段によって音素セグメンテーションに必要な資源を管理し、ネットワークを介してユーザからのリクエストの受信と、当該リクエストに基づく音素セグメンテーションによるリップシンクアニメーションに関するデータの生成と、生成されたリップシンクアニメーションに関するデータの返送とを行なう。したがって、ユーザは、音声認識技術に必要な大きな資源を端末に準備させることなく、ネットワークを介して当該リップシンクサーバシステムを利用すれば、音声データ及び台詞データに基づくリップシンクアニメーションを端末上で享受することができる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずにそうしたサービスを提供することができる音素セグメンテーション利用サービス提供システムを提供することができる。
【００１１】
好ましくは、資源管理手段は、音素セグメンテーションを行なうために必要な音響モデルを管理するためのモデル管理手段を含み、リクエストはさらに、モデル管理手段に含まれる音響モデルを指定するモデル指定情報を含み、生成手段は、資源管理手段により管理される音響モデルのうち、受信手段が受信したリクエストに含まれる音響モデルを指定するモデル指定情報により指定される音響モデルを用い、受信手段が受信したリクエストに含まれる音声データ及び台詞データに対して音素セグメンテーションを行ない、リップシンクアニメーションに関するデータを生成するための手段を含む。
【００１２】
モデル管理手段は、音素セグメンテーションに必要な音響モデルを管理し、ユーザは、音響モデルを自由に指定することができる。したがって、ユーザは、多国語に対応した音声認識技術に必要な大きな資源を端末に準備することなく、ネットワークを介して当該リップシンクサーバシステムを利用すれば、多国語の音声データ及び台詞データに基づくリップシンクアニメーションを端末上で享受することができる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずにそうしたサービスを提供することができる音素セグメンテーション利用サービス提供システムを提供することができる。
【００１３】
より好ましくは、生成手段は、資源管理手段によって管理されている資源及び台詞データに基づいて、音声データ内の、台詞データに対応する各音素の継続長を判定して、各音素と対応する継続長とからなる音素・継続長情報を出力するための音素・継続長情報出力手段を含む。
【００１４】
音素・継続長情報出力手段は、リップシンクアニメーションの作成に必要な音素列と継続長とを出力するので、ユーザは、ネットワークを介してその音素列と継続長とを端末上で受けて、それらに基づいてユーザが用意したキャラクタのリップシンクアニメーションを作成することができる。
【００１５】
さらに好ましくは、生成手段はさらに、音素・継続長情報出力手段によって出力された音素・継続長情報に基づいて、当該音素・継続長に対応する口の動きを持つリップシンクアニメーションを生成するためのアニメーション生成手段を含む。
【００１６】
アニメーション作成手段は、リップシンクアニメーションを作成するので、ユーザは、ネットワークを介してそのリップシンクアニメーションを受けて、端末上で享受することができる。
【００１７】
さらに好ましくは、返送手段は、アニメーション生成手段によって生成されたアニメーションを、ネットワークを介してクライアント端末にストリームとして返送するためのストリーム返送手段を含む。
【００１８】
ストリーム返送手段は、リップシンクアニメーションをストリームとして返送するので、ユーザは、ネットワークを介してそのリップシンクアニメーションを受けて、端末上で動画としてそのまま享受することができる。
【００１９】
さらに好ましくは、リップシンクサーバシステムはさらに、受信手段が受信したリクエストと、リクエストに基づくリップシンクアニメーションに関するデータの生成工程に関する情報とを管理するための第１のリクエスト管理手段を含む。生成手段は、受信手段が受信したリクエストと、リクエストに基づくリップシンクアニメーションに関するデータとを管理するための第２のリクエスト管理手段と、第２のリクエスト管理手段によって管理されているリクエスト、及びリップシンクアニメーションに関するデータの生成工程に関する情報と、第１のリクエスト管理手段によって管理されているリクエスト、及びリップシンクアニメーションに関するデータの生成工程に関する情報とを同期させるための同期手段と、資源管理手段によって管理されている資源を使用して、第２のリクエスト管理手段に記憶されているリクエストの中で、音素セグメンテーションが行なわれておらず、かつ第１のリクエスト管理手段に最も早く記憶されたリクエストに対して、音素セグメンテーションを行ない、リップシンクアニメーションに関するデータを生成するためのキュー管理生成手段とを含む。返送手段は、第１のリクエスト管理手段によって管理されているリクエストに基づくリップシンクアニメーションに関するデータを取得し、ネットワークを介してデータをユーザのクライアント端末に返送するための手段を含む。
【００２０】
キュー管理生成手段は、第１のリクエスト管理手段に最も早く記憶されたリクエストから順番に音素セグメンテーション処理を行なうので、複数のユーザから多くの音素セグメンテーションのリクエストを受信しても、リクエストの順番を管理しながら適切に音素セグメンテーション処理を行なうことができる。さらに、第１及び第２のリクエスト管理手段の両方は、ユーザからのリクエストと生成工程を管理するための情報とを管理するので、外部から第２のリクエスト管理手段に侵入することがほぼ不可能な構成となっている。したがって、ネットワーク上であっても多数のユーザが当該サービスをセキュアに利用することが可能となる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずに、そうしたサービスを提供することができ、かつ同時に多数の利用者にもそうしたサービスを提供できる音素セグメンテーション利用サービス提供システムを提供することができる。
【００２１】
さらに好ましくは、受信手段は、リップシンクサーバシステムを利用するユーザのユーザアカウントを管理するためのユーザ管理手段と、ユーザ管理手段によって管理されているユーザアカウントに基づいて、ネットワークを介してクライアント端末からリップシンクサーバシステムにアクセスを試みるユーザに対して、リップシンクサーバシステムへのアクセスが許可されているか否かをチェックするためのユーザ認証手段と、ユーザ認証手段によりアクセスが許可されていると判定されたユーザに対して、ネットワークを介してクライアント端末からリクエストを受信するためのリクエスト受信手段とを含む。
【００２２】
受信手段は、当該リップシンクサーバシステムを利用可能なユーザを管理し、管理しているユーザにのみアクセスを許可するので、不正な目的を持ったユーザからのアクセスを禁止することができる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずに、そうしたサービスをセキュアに提供することができる音素セグメンテーション利用サービス提供システムを提供することができる。
【００２３】
さらに好ましくは、ユーザ管理手段は、リップシンクサーバシステムを利用するユーザのユーザアカウントを記憶するためのユーザ記憶手段と、ユーザ記憶手段に記憶されているユーザアカウントに基づいて、ユーザがリップシンクサーバの管理者であるか否かを判定するための管理者判定手段と、管理者判定手段によって管理者であると判定されたユーザに対して、ユーザ記憶手段へのユーザアカウントの追加、ユーザ管理手段に記憶されているユーザアカウントの変更、及びユーザ管理手段からユーザアカウントの削除を許可するための手段とを含む。
【００２４】
ユーザ管理手段は、管理者にのみ一般ユーザの追加、変更、及び削除を許可するので、不正な目的を持った一般ユーザが悪意を持って他のユーザのユーザアカウントを更新することが不可能となる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずに、そうしたサービスをセキュアに提供することができる音素セグメンテーション利用サービス提供システムを提供することができる。
【００２５】
本発明の第２の局面に係るコンピュータプログラムは、ネットワーク接続機能を有するコンピュータにより実行されると、当該コンピュータを、ネットワークを介して、音声データと当該音声データの台詞をテキスト化した台詞データとを含むリクエストを受け、リクエストに基づいてリップシンクアニメーションに関するデータを作成しユーザに返送するサービスを提供するためのリップシンクサーバシステムとして動作させるコンピュータプログラムである。このコンピュータプログラムは、コンピュータを、音素セグメンテーションに必要な資源を管理するための資源管理手段と、ネットワークを介し、クライアント端末からリクエストを受信するための受信手段と、資源管理手段によって管理されている資源を用い、受信手段が受信したリクエストに含まれる音声データ及び台詞データに対して音素セグメンテーションを行なうことにより、リップシンクアニメーションに関するデータを生成するための生成手段と、生成手段によって生成されたデータを、ネットワークを介してユーザのクライアント端末に返送するための返送手段として機能させる。
【００２６】
このコンピュータプログラムをコンピュータにより実行させると、資源管理手段によって音素セグメンテーションに必要な資源を管理し、ネットワークを介してユーザからのリクエストの受信と、当該リクエストに基づく音素セグメンテーションによるリップシンクアニメーションのためのデータ生成と、生成されたリップシンクアニメーションに関するデータの返送とを行なうことができる。したがって、ユーザは、音声認識技術に必要な大きな資源を端末に準備させることなく、ネットワークを介して当該コンピュータプログラムを利用すれば、音声データ及び台詞データに基づくリップシンクアニメーションを端末上で享受することができる。その結果、音素セグメンテーションを使用したサービスを必要とする利用者に、過度な負担をかけずにそうしたサービスを提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、添付図面に基づき詳細に説明する。なお、以下の実施の形態の説明では、同一の部品には同一の参照番号を付してある。それらの機能及び名称も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２８】
［構成］
図１に、本発明の実施の形態に係るリップシンクサーバシステム６０の動作環境を示す。図１を参照して、リップシンクサーバシステム６０は、クライアント端末５０、クライアント端末５２、及びクライアント端末５４等、複数のクライアント端末と通信網５６を介して通信する。通信網５６は、例えばインターネット及び電話回線等、複数の端末を接続するための回線網である。
【００２９】
図２は、リップシンクサーバシステム６０の提供するサービスを説明する機能ブロック図である。図２を参照して、リップシンクサーバシステム６０は、クライアント端末から音声データ７２、及び音声データ７２の台詞をテキスト化した台詞データ７４を含む音素セグメンテーションのリクエスト（以下単に「リクエスト」と呼ぶ。）を受け、台詞データ７４を利用して音声データ７２に対して音素セグメンテーションを行ない、得られた音素列をその継続長とともに音素・音素継続長データ７８としてクライアント端末に返送するサービスを提供するためのものである。
【００３０】
図２を参照して、リップシンクサーバシステム６０は、通信網５６（図１参照）に接続可能で、通信網５６を介してクライアント端末とデータの送受信を行ない、サービスを利用可能なユーザの情報、及びユーザから要求されたリクエストの実行を管理するためのユーザ管理サーバ８０と、音素セグメンテーションを行なうための音声認識装置である１又は複数の音声認識サーバ８４と、ユーザ管理サーバ８０において管理されているデータをユーザ管理サーバ８０から取得してユーザ管理サーバ８０と同様に管理し、音声認識サーバ８４を使用して音素セグメンテーションを行ない、結果をユーザ管理サーバ８０に返信するためのリップシンクサービスサーバ８２と、ユーザ管理サーバ８０とリップシンクサービスサーバ８２との間に設けられたファイアウォール７６とを含む。ファイアウォール７６の存在と、後述するようにユーザ管理サーバ８０とリップシンクサービスサーバ８２との間の通信を規制することとによって、リップシンクサービスサーバ８２及び音声認識サーバ８４が外部からの侵入を受けるおそれは極めて低くなっている。
【００３１】
なお、図２においてはリップシンクサービスサーバ８２と音声認識サーバ８４とはそれぞれ１台ずつしか示していないが、本システムでは、リップシンクサービスサーバ８２と音声認識サーバ８４とを一組として、それらを複数個、リップシンクサーバシステム６０内に設けることができる。それらが独立してユーザ管理サーバ８０とともに動作することにより、複数の音素セグメンテーションを並列で処理することができる。
【００３２】
（ユーザ管理サーバ８０の構成）
図３に、ユーザ管理サーバ８０の構成を示す。図３を参照して、ユーザ管理サーバ８０は、ｈｔｔｐ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いてクライアント端末からのリクエストを受け付ける処理を行なうための、ＷｅｂサーバによるＷｅｂＩＦ（Ｗｅｂ  Ｉｎｔｅｒｆａｃｅ）９０と、ユーザの情報及びリクエストを、それぞれ第１のユーザ情報テーブル９６及び第１のリクエスト情報テーブル９８として記憶するためのキューＤＢ（Ｄａｔａｂａｓｅ）９４と、ＷｅｂＩＦ９０がクライアント端末から受けたユーザ管理情報及びリクエスト、並びにリップシンクサービスサーバ８２から受けた要求及びリップシンクサービスサーバ８２からのデータにしたがってキューＤＢ９４を更新するためのキュー管理処理部９２とを含む。
【００３３】
キューＤＢ９４は、ユーザ情報を格納する第１のユーザ情報テーブル９６と、ユーザから受けたリクエストに関する情報が格納される第１のリクエスト情報テーブル９８とを含む。
【００３４】
図４に、ユーザがリップシンクサーバシステム６０のサービスにログインする際にクライアント端末に表示されるログイン画面の例を示す。このログイン画面は単なるＨＴＭＬファイルであって、クライアント端末にウェブブラウザ（以下単に「ブラウザ」と呼ぶ。）を起動し、ＷｅｂＩＦ９０のＷｅｂサーバのＵＲＬを指定することによってＷｅｂＩＦ９０からクライアント端末に返信される。
【００３５】
図４を参照して、このログイン画面は、メールアドレス及びパスワードをそれぞれ入力するための二つのテキストボックスを含む。ユーザは、これらテキストボックスにそれぞれ適切な文字列をタイプした後、「ログイン」と表示されたコマンドボタンを押下することによって、ログイン要求がＷｅｂＩＦ９０に送信される。
【００３６】
図５に、図３に示す第１のユーザ情報テーブル９６の構成を示す。図５を参照して、第１のユーザ情報テーブル９６は、１又は複数のユーザアカウントレコードを含む。各ユーザアカウントレコードは、ユーザＩＤフィールド、メールアドレスフィールド、ユーザ名フィールド、パスワードフィールド、削除フラグフィールド、及び管理者フラグフィールドを含む。
【００３７】
ユーザＩＤは、リップシンクサーバシステム６０がユーザを一意に識別するための番号である。メールアドレスフィールドには、ユーザが自由な値を設定できる。ただし、このフィールドに入る値は、図４に示すメールアドレスと一致する必要がある。したがって、異なるユーザでこのメールアドレスの値が一致してはならない。本実施の形態では、ユーザ名フィールド及びパスワードフィールドにも、ユーザが自由に設定したユーザ名及びパスワードが格納されるが、後述するようにリクエストはユーザ名で管理されるので、ユーザ名もシステム内では一意でなければならない。
【００３８】
削除フラグフィールドには削除フラグが格納される。削除フラグは、そのユーザが削除されたか否かを判別するためのものである。削除フラグの値は、ＴＲＵＥ又はＦＡＬＳＥである。削除フラグがＴＲＵＥの場合、そのユーザの情報はリップシンクサーバシステム６０の中において削除されたことを示し、そのユーザはリップシンクサーバシステム６０を利用できない。削除フラグがＦＡＬＳＥの場合、そのユーザはリップシンクサーバシステム６０を利用することができる。
【００３９】
管理者フラグフィールドには、そのユーザが管理者であるかどうかを判別するための管理者フラグが格納される。管理者フラグの値は、ＴＲＵＥ又はＦＡＬＳＥである。管理者フラグがＴＲＵＥの場合、そのユーザが管理者であることを示し、管理者フラグがＦＡＬＳＥの場合、ユーザが一般ユーザであることを示す。あるユーザが管理者としてリップシンクサーバシステム６０にログインした場合、そのユーザは、ユーザの登録及び削除等の、第１のユーザ情報テーブル９６に対するメンテナンスを、リップシンクサーバシステム６０を介して行なうことができる。同じユーザが一般ユーザとしてリップシンクサーバシステム６０にログインした場合、そのユーザは、リクエストの登録、音素セグメンテーションの結果の表示、及び結果のダウンロード等を、リップシンクサーバシステム６０に要求することができる。第１のユーザ情報テーブル９６の構造が上記したようになっている関係上、同一のユーザであっても、管理者ユーザとしてログインする場合と、一般ユーザとしてログインする場合とでは、別々のアカウントを使用する必要がある。
【００４０】
図６に、第１のリクエスト情報テーブル９８の構成を示す。図６を参照して、第１のリクエスト情報テーブル９８は１又は複数のリクエストレコードを含む。各リクエストレコードは、リクエストＩＤフィールド、言語指定フィールド、音響モデル指定フィールド、ユーザＩＤフィールド、音声データフィールド、台詞データフィールド、ステータスフィールド及び処理結果フィールドを含む。リクエストＩＤは、リップシンクサーバシステム６０の中でリクエストを一意に識別するための番号である。
【００４１】
言語指定フィールドには、リクエストの音素セグメンテーションを行なうにあたって使用する音響モデルのための言語を指定する値が格納される。言語指定フィールドには、日本語及び英語等の諸外国語のための、予めリップシンクサーバシステム６０内に準備された音響モデルの言語のうちの一つを、ユーザが自由に指定することができる。なお、本実施の形態では日本語と英語との二ヶ国語のみを扱うものとする。
【００４２】
音響モデルは、所定の言語における音声から得られた音響的特徴量の系列が、ある音素から得られた尤度を計算するための統計的確率モデルである。本実施の形態では、音響モデルは、特定の言語の音素ラベルによりラベル付けされた音声コーパスから予め学習済みの多数のＨＭＭ（隠れマルコフモデル）を含む。本実施の形態では、各言語に対し、音響モデルとして「成人男性」、「成人女性」、「子供」、及び「演技音声」のうち、使用を希望するものを選択できる。音響モデル指定フィールドには、複数の音響モデルを指定することもできる。
【００４３】
ユーザＩＤフィールドには、リクエストを発信したユーザの、第１のユーザ情報テーブル９６に示すユーザＩＤが格納される。
【００４４】
音声データフィールド及び台詞データフィールドには、本実施の形態では、リクエストに付して送信されてきた音声データ（図２に示す音声データ７２）及び台詞データ（同じく台詞データ７４）が記憶される。
【００４５】
ステータスフィールドは、リクエストの現在のステータスを示す値が格納される。ステータスの値は、「未同期」、「同期済」、「処理中」、及び「完了」のいずれか一つである。それらのステータスの意味については後述する。
【００４６】
処理結果フィールドには、図２に示す音素・音素継続長データ７８のように音素セグメンテーションの結果がテキストで格納される。ＮＵＬＬは、結果が未だ存在しないこと、すなわち音素セグメンテーションがまだ完了していないことを意味する。
【００４７】
（リップシンクサービスサーバ８２の構成）
図７に、リップシンクサービスサーバ８２の構成を示す。図７を参照して、リップシンクサービスサーバ８２は、図５に示す第１のユーザ情報テーブル９６と同じ構成を持つ第２のユーザ情報テーブル１０４と、図６に示す第１のリクエスト情報テーブル９８とほぼ同じ構成を持つ第２のリクエスト情報テーブル１０６とを記憶するためのリップシンクＤＢ１０２と、ファイアウォール７６を介してユーザ管理サーバ８０にアクセスすることによって、キューＤＢ９４とリップシンクＤＢ１０２とを同期させる処理を実行するとともに、リップシンクＤＢ１０２に含まれる未処理のリクエストを音声認識サーバ８４に与えて音素セグメンテーションを行ない、その結果で第２のリクエスト情報テーブル１０６を更新するためのリップシンクサービス処理部１００とを含む。
【００４８】
図８に、第２のリクエスト情報テーブル１０６の構成を示す。図８を参照して、第２のリクエスト情報テーブル１０６は、図６に示す第１のリクエスト情報テーブル９８とほぼ同様の構成を有するが、ＬＥＸデータフィールド及びＡＮＳＷＥＲデータフィールドをさらに持つ点において、第１のリクエスト情報テーブル９８と異なる。
【００４９】
ＬＥＸデータフィールドは、図６の台詞データフィールドに格納された台詞データから作成される、音素セグメンテーション処理での音声認識のための語彙を列挙したファイル（本実施の形態では、このファイルを「ＬＥＸファイル」と呼ぶ。）のファイル名を格納するためのものである。ＡＮＳＷＥＲデータフィールドは、同じく台詞データから作成される、音素セグメンテーション処理での音声認識の正解データとなる音素列を格納したファイル（本実施の形態では、このファイルを「ＡＮＳＷＥＲファイル」と呼ぶ。）のファイル名を格納するためのものである。
【００５０】
なお、本実施の形態の説明では、ファイル名をモジュール間で授受する場合には、ファイル名を受取ったモジュールはそのファイル名のファイルをハードディスクなどの記憶装置から読出すことを想定している。したがって、単に「ファイル名を送信する。」といった場合には、ファイルの内容がモジュール間で送信されていることについては特に言及しなくても、実質的にはそのファイルの内容がモジュール間で送信されることに注意すべきである。
【００５１】
ここで、第１のリクエスト情報テーブル９８及び第２のリクエスト情報テーブル１０６のステータスフィールドに格納される「ステータス」の意味について説明する。「未同期」とは、あるリクエストが、第１のリクエスト情報テーブル９８に記憶されているが、第２のリクエスト情報テーブル１０６には記憶されていないことを意味する。「同期済」とは、あるリクエストが、第１のリクエスト情報テーブル９８及び第２のリクエスト情報テーブル１０６の両方に記憶されているが、当該リクエストの音素セグメンテーションの要求はまだされていないことを意味する。「処理中」とは、リクエストの音素セグメンテーション要求がされたが、未だ結果が完了していないことを意味する。「完了」とは、音素セグメンテーションが完了し、その結果が、第２のリクエスト情報テーブル１０６に記憶されたことを意味する。
【００５２】
（キュー管理処理部９２の構成）
図９に、キュー管理処理部９２の構成を示す。図９を参照して、キュー管理処理部９２は、ＷｅｂＩＦ９０を介して受信したクライアント端末からの要求に対し、キューＤＢ９４に対する操作を行ない、その結果をＷｅｂＩＦ９０を介してクライアント端末に返信し、かつリップシンクサーバシステム６０を利用するユーザのセッションの管理を行なうためのＷｅｂＩＦ応答部１２０を含む。なお、ＷｅｂＩＦ応答部１２０は、セッションのための情報として、セッションＩＤ、ユーザのクライアント端末のＩＰアドレス、及びセッションの有効期限を管理する。また、ＷｅｂＩＦ応答部１２０は、確立されたセッションの有効期限を常にチェックし、有効期限を過ぎたセッションが存在する場合に、それらのセッションを無効化する処理を行なう。さらに、ＷｅｂＩＦ応答部１２０は、ユーザから要求があったときに、当該要求のＩＰアドレスに関するセッションＩＤが有効であるか否かを判定し、無効である場合に、当該要求を拒否する。
【００５３】
キュー管理処理部９２はさらに、リップシンクサービスサーバ８２からファイアウォール７６を介して受信した要求に対し、キューＤＢ９４に対する操作を行ない、その結果をリップシンクサービスサーバ８２に返信するためのサービスサーバ応答部１２２を含む。
【００５４】
図９に示すように、クライアント端末からの要求を処理するキュー管理処理部９２と、リップシンクサービスサーバ８２からの要求を処理するサービスサーバ応答部１２２とを分離し、サービスサーバ応答部１２２がリップシンクサービスサーバ８２から要求を受けたときのみリップシンクサービスサーバ８２に対してデータを送信するようにしたことにより、外部からリップシンクサービスサーバ８２に侵入されるおそれをなくすことができる。
【００５５】
（リップシンクサービス処理部１００の構成）
図１０に、リップシンクサービス処理部１００の構成を示す。図１０を参照して、リップシンクサービス処理部１００は、ユーザ管理サーバ８０に対して定期的に第１のユーザ情報テーブル９６及び第２のユーザ情報テーブル１０４の同期要求を与え、応答してユーザ管理サーバ８０から送信されてくるユーザデータに基づいて第２のユーザ情報テーブル１０４を操作するためのユーザ管理処理部１３０と、ユーザ管理サーバ８０に対して定期的にリクエストに関する同期要求を与え、応答してユーザ管理サーバ８０から送信されてくるリクエストに関するデータに基づいて第２のリクエスト情報テーブル１０６を操作し、さらに、未処理のリクエストがあり、かつアイドル状態の音声認識サーバ８４があればその音声認識サーバ８４に新たにそのリクエストに関する音素セグメンテーション処理を要求するためのリクエスト管理処理部１３２とを含む。
【００５６】
リップシンクサービスサーバ８２と音声認識サーバ８４とからなる複数個の組をユーザ管理サーバ８０に接続したときには、ユーザ管理サーバ８０内の第１のリクエスト情報テーブル９８が複数個のリップシンクサービスサーバ８２により独立に更新される。その結果、リップシンクサービスサーバ８２と音声認識サーバ８４との複数個の組がユーザ管理サーバ８０に接続されているときに、それらが複数のリクエストを別々に処理することが可能になる。
【００５７】
＜リップシンクサーバシステム６０のソフトウェア構成＞
図１１〜図２０に、ＷｅｂＩＦ応答部１２０、サービスサーバ応答部１２２、ユーザ管理処理部１３０、及びリクエスト管理処理部１３２を実現するためのプログラムの制御構造をフローチャート形式で示す。ＷｅｂＩＦ応答部１２０及びサービスサーバ応答部１２２のプログラムは、実質的にはコンピュータであるユーザ管理サーバ８０によって実行される。また、ユーザ管理処理部１３０及びリクエスト管理処理部１３２のプログラムは、実質的にはコンピュータであるリップシンクサービスサーバ８２によって実行される。
【００５８】
なお、図３に示すＷｅｂＩＦ９０は典型的なＷｅｂサーバプログラムによって実現可能である。この場合、ブラウザから指定されたＵＲＬがファイル名（例えばＨＴＭＬファイル）を示す場合には、ＷｅｂＩＦ９０はそのファイル名に対応するＨＴＭＬファイルを読出してブラウザに返信し、指定されたＵＲＬ（特にファイルのいわゆる拡張子）が特定の値であるときには、ＷｅｂＩＦ９０はそのＵＲＬと、ＵＲＬに付随するパラメータとをキュー管理処理部９２に渡す。このＵＲＬとパラメータの並びとにより、キュー管理処理部９２で実行すべきプログラム（機能）とそのプログラムに渡すべき引数とが決定される。これらは通常のＷｅｂサーバの通常提供しているＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）機能を利用することにより実現できる。
【００５９】
（ＷｅｂＩＦ応答部１２０のためのプログラム構造）
図１１は、ＷｅｂＩＦ応答部１２０の機能を実現するためのプログラムの制御構造を示すフローチャートである。図１１を参照して、このプログラムは、「ユーザ認証」、「一般ユーザ用の要求」、「管理者ユーザ用の要求」、「パスワード変更」、及び「ログアウト」のいずれかの要求を、ＷｅｂＩＦ９０から受信するまで待機するステップ１４０を含む。ステップ１４０はさらに、受信した要求が「ユーザ認証」以外の要求であり、かつセッションが確立されたユーザからの要求である場合に、当該セッションの有効期限を更新する。ただし、ステップ１４０は、「ユーザ認証」以外の要求で、セッションが確立されていないユーザからの要求である場合には、当該要求の受信を拒否し、ＷｅｂＩＦ９０から新たな要求を受信するまで待機し続ける。
【００６０】
「ユーザ認証」とは、図４に示すログイン画面から送られてくる要求である。この要求は、一般ユーザからの場合と、管理ユーザからの場合との二つの場合がある。「一般ユーザ用の要求」とは、リクエストに関する要求であって、後述する「リクエスト情報取得」、「リクエスト登録」、「リクエスト削除」、「リクエスト作成画面表示」、「音素セグメンテーション結果表示（以下、「結果表示」と呼ぶ。）」、及び「音素セグメンテーション結果ダウンロード（以下、「結果ダウンロード」と呼ぶ。）」の要求の総称である。また、「管理者ユーザ用の要求」とは、管理者ユーザからユーザ情報のメンテナンスのために送られてくる要求であって、後述する「ユーザ情報取得」、「ユーザ作成画面表示」、「ユーザ登録」、「ユーザ削除」、「ユーザ詳細画面表示」、及び「ユーザ情報更新」の要求の総称である。さらに、一般ユーザ及び管理者ユーザの双方から来る可能性がある要求であって、「パスワード変更」とは、後述する「パスワード変更画面表示」、「パスワード変更登録」、及び「情報取得」の要求の総称である。
【００６１】
ここで、各要求のパラメータについて述べる。なお、どの処理を実行するかは、Ｗｅｂブラウザにより指定されるＵＲＬ中に含まれるファイル名によって定まる。パラメータは、ＵＲＬの末尾で「？」の記号の後に付された文字列をパーズすることにより得られる。
【００６２】
「ユーザ認証」のパラメータは、図４に示すログイン画面から分かるように、メールアドレス及びパスワードである。なお、ユーザ認証が成功するとユーザＩＤが分かる。このユーザＩＤは全ての処理でキーとなるものであり、以後の全ての要求にユーザＩＤがパラメータとして付随する。
【００６３】
本実施の形態では、「リクエスト情報取得」、「ユーザ削除」、及び「ユーザ詳細画面表示」のパラメータはユーザＩＤのみである。ただし、ユーザ削除の場合には、削除対象のユーザＩＤが繰返される。「リクエスト削除」、「結果表示」、及び「結果ダウンロード」のパラメータは、リクエストＩＤ及びユーザＩＤである。「リクエスト登録」のパラメータは、ユーザＩＤ、言語指定情報、音響モデル指定情報、音声データ、及び台詞データである。「ユーザ登録」のパラメータはメールアドレス、ユーザ名、及びパスワードである。「ユーザ情報更新」のパラメータは、ユーザＩＤ、メールアドレス、ユーザ名、及びパスワードである。「パスワード変更登録」のパラメータは、ユーザＩＤ、第１のパスワード、第２のパスワード、及び第３のパスワードである。第１〜第３のパスワードは、後述する「旧パスワード」、「新パスワード」、及び「新パスワード（確認）」にそれぞれ対応する。これら以外の要求にはパラメータはない。
【００６４】
このプログラムはさらに、ステップ１４０において受信した要求が「ユーザ認証」である場合に、当該要求を送信元であるユーザとリップシンクサーバシステム６０とのセッションを確立し、認証結果により適切な処理を行なって、ステップ１４０に制御を戻すステップ１４２を含む。
【００６５】
このプログラムはさらに、ステップ１４０において受信した要求が「一般ユーザ用の要求」である場合に、第１のリクエスト情報テーブル９８を操作するリクエスト管理処理を行ない、ステップ１４０に制御を戻すステップ１４４と、ステップ１４０において受信した要求が「管理者ユーザ用の要求」である場合に、第１のユーザ情報テーブル９６を操作するユーザ管理処理を行ない、ステップ１４０に制御を戻すステップ１４６と、ステップ１４０において受信した要求が「パスワード変更登録」である場合に、受信したパラメータを用いて第１のユーザ情報テーブル９６内のパスワードを操作するパスワード変更処理を行ない、ステップ１４０に制御を戻すステップ１４８と、ステップ１４０において受信した要求が「ログアウト」である場合に、当該ユーザＩＤのユーザのログアウト処理を行ない、ステップ１４０に制御を戻すステップ１４１とを含む。
【００６６】
図１２は、図１１のステップ１４２の詳細なフローを示す図である。図１２を参照して、このルーチンは、キューＤＢ９４を参照して、ユーザ認証を実行し、かつ当該ユーザのクライアント端末のＩＰアドレスを取得して、当該ＩＰアドレスにセッションＩＤを付与し、セッションの有効期限を新規に設定してユーザとのセッションを確立するステップ１５０を含む。具体的には、キューＤＢ９４の第１のユーザ情報テーブル９６において、パラメータとして渡されたメールアドレス及びパスワードを、それぞれメールアドレスフィールド及びパスワードフィールドに持つレコードを検索する。そうしたレコードが存在し、かつ削除フラグがＦＡＬＳＥである場合には認証は成功し、それ以外の場合には認証は失敗する。
【００６７】
このルーチンはさらに、ステップ１５０の処理の結果が認証成功であるか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ１５６と、ステップ１５６における判定結果がＹＥＳであり、且つ当該ユーザが管理者ユーザのときに実行され、図１６に示すユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２と、ステップ１５６における判定結果がＹＥＳであり、且つ当該ユーザが一般ユーザのときに実行され、図１７に示す、当該ユーザからのリクエストの状況を一覧で示すリクエスト一覧表示処理を行ない、このルーチンを出るステップ１５４と、ステップ１５６における判定結果がＮＯのときに実行され、認証が失敗したことを告知するための画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１５８とを含む。
【００６８】
図１３は、図１１のステップ１４４の詳細なフローを示す図である。図１３を参照して、このルーチンは、受信した要求がリクエスト情報取得である場合に、図１４のステップ１５４と同じリクエスト一覧表示処理を行ない、このルーチンを出るステップ１５４Ａと、受信した要求がリクエスト登録である場合に、受信した要求にパラメータとして付随するリクエストＩＤ、言語指定情報、音響モデル指定情報、ユーザＩＤ、音声データ、台詞データ、ステータス、及び処理結果から、第１のリクエスト情報テーブル９８に新たなレコードを追加するステップ１６０と、ステップ１６０の後、図１４のステップ１５４と同じリクエスト一覧表示処理を行ない、このルーチンを出るステップ１５４Ｂとを含む。新規リクエストレコードを作成する際には、「ステータス」は「未同期」、「処理結果」はＮＵＬＬとする。
【００６９】
このルーチンはさらに、受信した要求がリクエスト削除である場合に、第１のリクエスト情報テーブル９８から、リクエストＩＤ及びユーザＩＤが、それぞれ要求のパラメータのリクエストＩＤ及びユーザＩＤと一致するリクエストを削除するステップ１６２と、ステップ１６２の後、図１４のステップ１５４と同じリクエスト一覧表示処理を行ない、このルーチンを出るステップ１５４Ｃとを含む。
【００７０】
このルーチンはさらに、受信した要求が、新規なリクエストの作成を行なうための画面を表示させるための「リクエスト作成画面表示」である場合に、後述するリクエスト作成画面をＷｅｂＩＦ９０に送信するステップ１６４と、受信した要求が結果表示である場合に、キューＤＢ９４の第１のリクエスト情報テーブル９８から、リクエストＩＤ及びユーザＩＤが、それぞれ要求のパラメータのリクエストＩＤ及びユーザＩＤと一致するリクエストの処理結果を取得するステップ１６６と、ステップ１６６の後、取得した処理結果に基づいて結果表示画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１７０とを含む。
【００７１】
このルーチンはさらに、図１１に示すステップ１４０において受信した要求が、音素セグメンテーション結果のダウンロードを指定する「結果ダウンロード」である場合に、キューＤＢ９４の第１のリクエスト情報テーブル９８から、リクエストＩＤ及びユーザＩＤが、それぞれ要求のパラメータのリクエストＩＤ及びユーザＩＤと一致するリクエストの処理結果ファイルを取得するステップ１６８と、ステップ１６８の後、取得した処理結果ファイルをＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１７２とを含む。
【００７２】
図１４は、図１１のステップ１４６の詳細なフローを示す図である。図１４を参照して、このルーチンは、ステップ１４０において受信した要求がユーザの一覧表示を指定するユーザ情報取得の要求である場合に、図１２に示すステップ１５２と同じユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２Ａと、受信した要求がユーザ作成画面表示の要求である場合に、後述するユーザ登録画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１８０と、受信した要求がユーザ登録の要求である場合に、パラメータで受信したユーザＩＤ、メールアドレス、ユーザ名、パスワード、削除フラグ、及び管理者フラグを、それぞれ新規のユーザＩＤの番号、パラメータのメールアドレス、パラメータのユーザ名、パラメータのパスワード、ＦＡＬＳＥ、及びＦＡＬＳＥとして、キューＤＢ９４の第１のユーザ情報テーブル９６に新たなユーザアカウントレコードを追加するステップ１８２と、ステップ１８２の後、図１２に示すステップ１５２と同じユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２Ｂとを含む。ユーザ登録の要求は、ステップ１８０で作成されたユーザ登録画面によりクライアント端末のブラウザによって作成され、送信されてくる。
【００７３】
このルーチンはさらに、図１１に示すステップ１４０において受信した要求がユーザ削除の要求である場合に、キューＤＢ９４の第１のユーザ情報テーブル９６から、ユーザＩＤが要求により指定されたユーザＩＤのいずれかと一致する全てのユーザアカウントレコードの削除フラグをＴＲＵＥに変更するステップ１８４と、ステップ１８４の後、図１２に示すステップ１５２と同じユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２Ｃと、受信した要求がユーザ詳細画面表示の要求である場合に、キューＤＢ９４の第１のユーザ情報テーブル９６において、要求に付随するパラメータのユーザＩＤと一致するユーザアカウントレコードを検索し、当該ユーザのメールアドレス、ユーザ名、及びパスワードを表示したユーザ詳細画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１８６と、図１１に示すステップ１４０において受信した要求がユーザ情報更新である場合に、キューＤＢ９４の第１のユーザ情報テーブル９６において、ユーザＩＤが要求のパラメータのユーザＩＤと一致するユーザアカウントレコードのメールアドレス、ユーザ名、及びパスワードを、それぞれパラメータのメールアドレス、パラメータのユーザ名、及びパラメータのパスワードに変更するステップ１８８と、ステップ１８８の後、図１２に示すステップ１５２と同じユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２Ｄとを含む。
【００７４】
図１５は、図１１のステップ１４８の詳細なフローを示す図である。図１５を参照して、このルーチンは、図１１に示すステップ１４０において受信した要求がパスワード変更画面表示の要求である場合に、後述するパスワード変更画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１９０と、受信した要求がパスワード変更登録の要求である場合に、第１のユーザ情報テーブル９６内に、パスワードがパラメータの第１のパスワードと一致するユーザアカウントレコードが存在するか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ１９６と、ステップ１９６の判定結果がＹＥＳのときに実行され、パラメータの第２のパスワードが第３のパスワードと一致するか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ１９８と、ステップ１９８の判定結果がＹＥＳのときに実行され、当該ユーザアカウントレコードのパスワードをパラメータの第２のパスワードに変更して、キューＤＢ９４に記憶させるステップ１９２と、ステップ１９２の後、パスワード変更画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１９０と、ステップ１９６及びステップ１９８のいずれかにおいて判定結果がＮＯであるときに実行され、エラーメッセージを表示したパスワード変更画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ１９１とを含む。
【００７５】
このルーチンはさらに、図１１に示すステップ１４０において受信した要求が情報取得の要求である場合に、キューＤＢ９４の第１のユーザ情報テーブル９６を参照して、ユーザＩＤがパラメータのユーザＩＤと一致するユーザアカウントレコードの管理者フラグがＴＲＵＥか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ１９４と、ステップ１９４の判定結果がＹＥＳのときに実行され、図１２に示すステップ１５２と同じユーザ一覧表示処理を行ない、このルーチンを出るステップ１５２Ｅと、ステップ１９４の判定結果がＮＯのときに実行され、図１４のステップ１５４と同じリクエスト一覧表示処理を行ない、このルーチンを出るステップ１５４Ｄとを含む。
【００７６】
図１６は、図１２に示すステップ１５２の詳細なフローを示す図である。図１４、及び図１５にそれぞれ示すステップ１５２Ａ〜１５２Ｅでも同じ処理が実行される。図１６を参照して、このルーチンは、キューＤＢ９４の第１のユーザ情報テーブル９６から、全ユーザアカウントレコードを取得するステップ２００と、ステップ２００の後、取得したユーザアカウントレコードのデータから作成したユーザ一覧画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ２０２とを含む。
【００７７】
図１７は、図１２に示すステップ１５４の詳細なフローを示す図である。図１３、及び図１５に示されるステップ１５４Ａ〜１５４Ｄでも同じ処理が実行される。図１７を参照して、このルーチンは、キューＤＢ９４の第１のリクエスト情報テーブル９８から、ユーザＩＤがパラメータのユーザＩＤと一致するリクエストレコードを全て取得するステップ２１０と、ステップ２１０の後、取得したリクエストレコードのデータから作成したリクエスト一覧画面をＷｅｂＩＦ９０に送信し、このルーチンを出るステップ２１２とを含む。
【００７８】
（サービスサーバ応答部１２２のためのプログラム構造）
図１８は、サービスサーバ応答部１２２の機能を実現するためのプログラムの制御構造を示すフローチャートである。図１８を参照して、このプログラムは、「ユーザ情報取得」、「リクエスト情報取得」、「リクエスト情報変更」、及び「音素セグメンテーション結果登録（以下、「結果登録」と呼ぶ。）」のいずれかの要求を、リップシンクサービスサーバ８２から受信するまで待機するステップ２２０を含む。
【００７９】
リクエスト情報変更の要求は、パラメータとして、ユーザＩＤ、リクエストＩＤ、及びステータスが付される。結果登録の要求には、パラメータとして、ユーザＩＤ、リクエストＩＤ、及び音素セグメンテーションの結果が付される。それ以外の要求には、パラメータはない。
【００８０】
このプログラムはさらに、ステップ２２０において受信した要求がユーザ情報取得の要求である場合に、キューＤＢ９４の第１のユーザ情報テーブル９６から全ユーザアカウントレコードを取得するステップ２２２と、ステップ２２２の後、取得したユーザアカウントレコードをリップシンクサービスサーバ８２に送信し、ステップ２２０に制御を戻すステップ２３０と、受信した要求がリクエスト情報取得の要求である場合に、キューＤＢ９４の第１のリクエスト情報テーブル９８から、ステータスが「未同期」であるリクエストレコードのうちで最もリクエストＩＤが若いものを取得するステップ２２４と、ステップ２２４の後、ステップ２２４で取得したリクエストレコードをリップシンクサービスサーバ８２に送信し、ステップ２２０に制御を戻すステップ２３０とを含む。
【００８１】
このプログラムはさらに、受信した要求がリクエスト情報変更の要求である場合に、キューＤＢ９４の第１のリクエスト情報テーブル９８において、ユーザＩＤ及びリクエストＩＤがそれぞれパラメータのユーザＩＤ及びリクエストＩＤと一致するリクエストレコードを検索し、そうしたリクエストレコードが存在すれば、当該リクエストレコードのステータスを、リクエスト情報変更の要求に付されたステータスパラメータの値に更新して、ステップ２２０に制御を戻すステップ２２６と、受信した要求が結果登録の要求である場合に、キューＤＢ９４の第１のリクエスト情報テーブル９８において、ユーザＩＤ及びリクエストＩＤがそれぞれパラメータのユーザＩＤ及びリクエストＩＤと一致するリクエストレコードを検索し、そうしたリクエストレコードが存在すれば、処理結果に音素セグメンテーションの結果を登録し、ステップ２２０に制御を戻すステップ２２８とを含む。
【００８２】
（ユーザ管理処理部１３０のためのプログラム構造）
図１９は、ユーザ管理処理部１３０の機能を実現するためのプログラムの制御構造を示すフローチャートである。図１９を参照して、このプログラムは、キュー管理処理部９２にユーザ情報取得の要求を送信するステップ２４０と、ステップ２４０の後、キュー管理処理部９２から返信があるまで待機するステップ２４２と、ステップ２４２において返信があった場合に、キュー管理処理部９２から返信されたユーザアカウントレコードと、リップシンクＤＢ１０２の第２のユーザ情報テーブル１０４内で同じユーザＩＤを持つユーザアカウントレコードとを比較して、違いがある場合は、第２のユーザ情報テーブル１０４のユーザアカウントレコードを受信したレコードと同じ内容に更新し、ステップ２４０に制御を戻すステップ２４４とを含む。
【００８３】
このプログラムにより、第２のユーザ情報テーブル１０４が第１のユーザ情報テーブル９６と同期される。
【００８４】
（リクエスト管理処理部１３２のためのプログラム構造）
図２０は、リクエスト管理処理部１３２の機能を実現するためのプログラムの制御構造を示すフローチャートである。図２０を参照して、このプログラムは、キュー管理処理部９２にリクエスト情報取得の要求を送信するステップ２５０と、ステップ２５０の後、キュー管理処理部９２からの返信があるまで待機するステップ２５２と、ステップ２５２において返信があった場合に、第２のリクエスト情報テーブル１０６において、キュー管理処理部９２から受信したリクエストレコードと同じリクエストＩＤを持つリクエストレコードのステータスを「同期済」に変更し、リクエスト情報変更の要求をキュー管理処理部９２に送信するステップ２５４とを含む。ここで、ステップ２５４において送信するリクエスト情報変更の要求のパラメータは、そのリクエストのユーザＩＤ、リクエストＩＤ、及びステータス＝「同期済」を示す情報である。
【００８５】
このプログラムはさらに、ステップ２５４の後、ステップ２５２で受信したリクエストレコードをリップシンクＤＢ１０２の第２のリクエスト情報テーブル１０６に追加するステップ２５６と、ステップ２５６の後、リップシンクＤＢ１０２の第２のリクエスト情報テーブル１０６から、ステータスが「同期済」であるリクエストレコードの言語指定情報、音響モデル指定情報、音声データファイル（ＷＡＶＥファイル形式）のファイル名、及び台詞データを取得するステップ２５８と、ステップ２５８の後、音声データを所定フォーマットのＷＡＶＥファイル形式に変換するステップ２５１とを含む。本実施の形態では、音声認識サーバ８４が処理する音声データは、サンプリング周波数１６ｋＨｚ，データのビット数１６ビット、モノラル、及びビッグ・エンディアン形式であることが前提とされている。ステップ２５１では、ＷＡＶＥファイル内の音声データがこうしたフォーマットと一致していない場合には、フォーマットを変換する。
【００８６】
このプログラムはさらに、ステップ２５１の後、台詞データからＬＥＸファイル及びＡＮＳＷＥＲファイルをそれぞれ記憶装置内に作成するステップ２５３と、ステップ２５３の後、言語指定情報、音響モデル指定情報、ＷＡＶＥファイル名、ＬＥＸファイル名、及びＡＮＳＷＥＲファイル名を音声認識サーバ８４に送信して音素セグメンテーションを要求するステップ２６０と、ステップ２６０の後、ステップ２５８において取得したリクエストのリクエスト情報変更を「処理中」に更新する要求をキュー管理処理部９２に送信するステップ２６２とを含む。ステップ２６２において送信するリクエスト情報変更の要求のパラメータは、ステップ２５８において取得したリクエストレコード中のユーザＩＤ、リクエストＩＤ、及びステータス＝「処理中」を示す情報である。
【００８７】
このプログラムはさらに、ステップ２６２の後、ステップ２５８において取得したリクエストレコードのステータスを「処理中」に変更して、リップシンクＤＢ１０２の第２のリクエスト情報テーブル１０６を更新するステップ２６４と、ステップ２６４の後、音声認識サーバ８４からの返信があるまで待機するステップ２６６と、ステップ２６６において返信があった場合に、リクエストのステータスを「完了」に変更し、さらに音素セグメンテーション結果を、リップシンクＤＢ１０２の処理中のリクエストレコードの処理結果フィールドに格納するよう第２のリクエスト情報テーブル１０６を更新するステップ２６８と、ステップ２６８の後、リクエストレコードのステータス変更及び結果登録の要求をキュー管理処理部９２に送信して、ステップ２５０に制御を戻すステップ２７０とを含む。ここで、ステップ２７０において送信するリクエストレコードのステータス変更の要求のパラメータは、リクエストのユーザＩＤ、リクエストＩＤ、及びステータス＝「完了」を示す情報である。また、ステップ２７０において送信する結果登録の要求のパラメータは、リクエストのユーザＩＤ、リクエストＩＤ、及び音素セグメンテーションの結果である。
【００８８】
＜リップシンクサーバシステム６０が表示する画面の構成＞
図２１に、図１７に示すステップ２１２において、クライアント端末に表示されるリクエスト一覧画面の例を示す。図２１を参照して、リクエスト一覧画面には、当該ユーザが要求したリクエストの一覧が複数行にわたりリスト形式で表示される。リストの各行は、当該リクエストを削除するか否かを指定するためのチェックボックス、リクエストＩＤ、言語指定情報、音響モデル指定情報、音声データのファイル名、台詞データのファイル名、リクエストの受付日時及び完了日時、リクエストのステータス、及び処理結果のダウンロード及び表示のためのリンクをそれぞれ示すテキスト「ダウンロード」及び「表示」を含む。画面左下には、「チェックしたデータを削除」というボタンが表示される。右下には、「表示更新」ボタンと「新規リクエストを作成」ボタンが表示される。
【００８９】
いずれかのチェックボックスをオンにして、「チェックしたデータを削除」のコマンドボタンが押下された場合、該当するリクエストのリクエストＩＤをパラメータとしたリクエスト削除のための要求が、ＷｅｂＩＦ９０に送信される。複数のチェックボックスがチェックされた場合には、この要求内には、それに対応する全てのリクエストＩＤが含まれる。「表示更新」ボタンが押下された場合、ログイン中のユーザのユーザＩＤをパラメータとしたリクエスト情報取得の要求が、ＷｅｂＩＦ９０に送信される。画面上の結果のダウンロードのリンクを選択した場合、リクエストＩＤ及びユーザＩＤをパラメータとして結果ダウンロードの要求が、ＷｅｂＩＦ９０に送信される。画面上の結果の表示のリンクを選択した場合、リクエストＩＤとユーザＩＤとをパラメータとして、結果表示の要求がＷｅｂＩＦ９０に送信される。「新規リクエストを作成」ボタンが押下された場合、リクエスト作成画面表示の要求がＷｅｂＩＦ９０に送信される。
【００９０】
図２２に、図１３に示すステップ１６４において、クライアント端末に表示されるリクエスト作成画面の例を示す。図２２を参照して、ユーザは、当該画面において音素セグメンテーションで使用する言語、音響モデル、セグメンテーションの対象となる音声データのファイル名、及び音素セグメンテーションの正解を与える台詞データのファイル名を指定することができる。画面右下には「リストに戻る」ボタンが表示される。「実行」のコマンドボタンが押下された場合、画面上で選択した言語指定情報、音響モデル指定情報、音声データファイル名、台詞データファイル名、及びユーザＩＤをパラメータとしたリクエスト登録の要求が、ＷｅｂＩＦ９０に送信される。「リストに戻る」のコマンドボタンが押下された場合、ユーザＩＤをパラメータとしたリクエスト情報取得の要求が、ＷｅｂＩＦ９０を介してＷｅｂＩＦ応答部１２０に送信される。
【００９１】
図２３に、図１３に示すステップ１７０において、クライアント端末に表示される結果表示画面の例を示す。図２３を参照して、結果表示画面には、使用した言語名、音響モデル名、音声データのファイル名、台詞データのファイル名、及び音素セグメンテーションの結果得られた音素とその継続長との組からなるテキストと、「リストに戻る」ボタンとが表示される。「リストに戻る」のコマンドボタンが押下された場合、ユーザＩＤをパラメータとしたリクエスト情報取得の要求が、ＷｅｂＩＦ９０を介してＷｅｂＩＦ応答部１２０に送信される。
【００９２】
図２４に、図１６に示すステップ２０２において、クライアント端末に表示されるユーザ一覧画面の例を示す。図２４を参照して、ユーザ一覧画面にはユーザ情報のリストが複数行に渡り表示される。各行は、対応するユーザを削除するか否かを指定するためのチェックボックスと、メールアドレスと、ユーザ名と、当該ユーザの詳細情報へのリンクを示す「詳細」というテキストとを含む。画面には、「チェックしたユーザを削除」ボタンと「新規ユーザを作成」ボタンとが表示される。
【００９３】
あるユーザに対応する行のチェックボックスをオンにして、「チェックしたユーザを削除」のコマンドボタンを押下した場合、ユーザＩＤをパラメータとしたユーザ削除のための要求が、ＷｅｂＩＦ９０を介してＷｅｂＩＦ応答部１２０に送信される。複数のチェックボックスをオンにしておけば、この要求には、その数だけのユーザＩＤが含まれる。
【００９４】
「新規ユーザを作成」のコマンドボタンを押下すると、「ユーザ作成画面表示」の要求がＷｅｂＩＦ９０に送信される。画面上の各ユーザの詳細へのリンクを選択すると、ユーザＩＤをパラメータとして、ユーザ詳細画面表示の要求がＷｅｂＩＦ９０に送信される。
【００９５】
図２５に、図１４に示すステップ１８０において、クライアント端末に表示されるユーザ登録画面の例を示す。ユーザ登録画面にはメールアドレス、ユーザ名、及びパスワードのテキストボックスと、「新規追加」ボタンと、「ユーザリストに戻る」ボタンとが表示される。「新規追加」ボタンが押下された場合、メールアドレス、ユーザ名、及びパスワードをパラメータとしたユーザ登録の要求が、ＷｅｂＩＦ９０に送信される。「ユーザリストに戻る」ボタンが押下された場合、ユーザ情報取得の要求が、ＷｅｂＩＦ９０に送信される。
【００９６】
図２６に、図１５に示すステップ１９０において、クライアント端末に表示されるパスワード変更画面の例を示す。図２６を参照して、パスワード変更画面には旧パスワード、新パスワード、及び新パスワード（確認）のテキストボックスと、「パスワード変更」ボタンと、「リストに戻る」ボタンとが表示される。「パスワード変更」ボタンが押下されると、ユーザＩＤ、並びに旧パスワード、新パスワード、及び新パスワード（確認）のテキストボックスに入力されたものからなる第１〜第３のパスワードをパラメータとして、パスワード変更登録の要求がＷｅｂＩＦ９０に送信される。「リストに戻る」ボタンが押下されると、ユーザＩＤをパスワードとして、情報取得の要求がＷｅｂＩＦ９０に送信される。
【００９７】
図２７に、図１４に示すステップ１８６において、クライアント端末に表示されるユーザ詳細画面の例を示す。図２７を参照して、このユーザ詳細画面は、ユーザのメールアドレス、ユーザ名、及びパスワードを表示し、かつそれらのユーザの情報を変更するための画面である。ユーザ詳細画面にはメールアドレス、ユーザ名称及びパスワードを入力するためのテキストボックスと、「更新」ボタンと、「ユーザリストに戻る」ボタンとが表示される。「更新」ボタンが押下されると、ユーザＩＤ、及び３つのテキストボックスに入力されたテキストをパラメータとしたユーザ情報更新の要求がＷｅｂＩＦ９０に送信される。「ユーザリストに戻る」ボタンが押下されると、ユーザＩＤをパスワードとしたユーザ情報取得の要求が、ＷｅｂＩＦ９０に送信される。
【００９８】
図２１〜図２７に示す画面において、「ログアウト」のボタンが押下されると、ログアウトの要求が、ＷｅｂＩＦ９０を介してＷｅｂＩＦ応答部１２０に送信される。
【００９９】
［動作］
上記した構成を持つリップシンクサーバシステム６０は以下のように動作する。
【０１００】
＜ユーザ管理サーバ８０の動作＞
（ログイン時の動作）
図１を参照して、ユーザは、クライアント端末から通信網５６を介してログイン画面を示す所定のＵＲＬ（ログイン画面のＨＴＭＬファイル名）を指定してリップシンクサーバシステム６０にアクセスする。当該要求に応答して、ＷｅｂＩＦ９０は、当該要求の送信元のクライアント端末に対して、指定されたＵＲＬのＨＴＭＬファイルを送信する。これをブラウザが解釈することにより、クライアント端末上に図４に示すログイン画面が表示される。図４を参照して、ユーザが、メールアドレス及びパスワードを入力して、ログインボタンを押下する。応答して、ユーザ認証の要求がＷｅｂＩＦ９０を介してキュー管理処理部９２のＷｅｂＩＦ応答部１２０に到達する。ＷｅｂＩＦ応答部１２０は、キューＤＢ９４を参照してユーザ認証を行なう。ユーザ認証が失敗である場合、ＷｅｂＩＦ応答部１２０は、その結果をクライアント端末に送信する。ユーザ認証が成功である場合、ＷｅｂＩＦ応答部１２０は、当該ユーザとのセッションを確立し、その後、ＷｅｂＩＦ応答部１２０は以下のように動作する。なお、ＷｅｂＩＦ応答部１２０は、セッションの有効期限を常にチェックし、有効期限が過ぎたセッションがある場合に、それらのセッションを無効にする。また、ＷｅｂＩＦ応答部１２０は、セッションが確立されたユーザからアクセスがある度に、当該ユーザのセッションの有効期限を更新する処理を行なう。
【０１０１】
（一般ユーザ使用時の動作）
ユーザ認証が成功であり、当該ユーザが一般ユーザである場合に、ＷｅｂＩＦ応答部１２０は、キューＤＢ９４を参照して、当該ユーザのユーザＩＤと一致する値をユーザＩＤフィールドに持つ全リクエストレコードを取得し、図１２に示すリクエスト一覧画面を作成してユーザのクライアント端末のブラウザに送信する。
【０１０２】
ブラウザにより図２１に示すリクエスト一覧画面が表示されているときに、ユーザがリクエスト一覧画面の「新規リクエストを作成」ボタンを押下すると、ＷｅｂＩＦ応答部１２０にリクエスト作成画面表示の要求が送信される。ＷｅｂＩＦ応答部１２０は、図２２に示すリクエスト作成画面をクライアント端末に返信し、ブラウザに表示させる。
【０１０３】
一方、リクエスト一覧画面が表示されているときに、ユーザが「表示」のリンクを選択すると、結果表示の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、当該要求に対する音素セグメンテーションの結果をキューＤＢ９４から取得し、図２３に示す結果表示画面を作成してクライアント端末５０に返信し、ブラウザに表示させる。
【０１０４】
リクエスト一覧画面が表示されているときに、ユーザが「ダウンロード」のリンクを選択すると、結果ダウンロードの要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、当該要求に対する音素セグメンテーションの結果を格納したファイルをキューＤＢ９４から取得し、クライアント端末にファイル送信する。
【０１０５】
リクエスト一覧画面が表示されているときに、ユーザが「表示更新」ボタンを押下すると、リクエスト情報取得の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０を介して、キュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。これに応答して、ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のリクエスト情報テーブル９８から当該ユーザのユーザＩＤと一致する値をユーザＩＤフィールドに持つ全リクエストを取得してリクエスト一覧画面を作成してクライアント端末５０に返信し、ブラウザにリクエスト一覧画面を表示させる。
【０１０６】
リクエスト一覧画面が表示されているときに、ユーザがいくつかのチェックボックスをオンにして「チェックしたデータを削除」ボタンを押下すると、チェックしたリクエストの数のリクエスト削除の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。各要求には、削除対象のリクエストのリクエストＩＤがパラメータとして付随する。当該要求は、ＷｅｂＩＦ９０を介して、キュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、それらの要求に基づいて、キューＤＢ９４からリクエストを削除する。リクエスト削除後、ＷｅｂＩＦ応答部１２０はログオン中のユーザのリクエスト一覧画面を作成し、クライアント端末５０に送信する。
【０１０７】
リクエスト一覧画面が表示されているときに、ユーザが「パスワード変更」ボタンを押下すると、パスワード変更画面表示の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。これに応答して、ＷｅｂＩＦ応答部１２０は、図１１のステップ１４８の処理により、図２６に示すパスワード変更画面をクライアント端末に表示させる。
【０１０８】
リクエスト一覧画面が表示されているときに、ユーザが「ログアウト」ボタンを押下すると、ログアウトの要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、これに応答し、図１１に示すステップ１４１のログアウト処理を行なう。
【０１０９】
図２２に示すリクエスト登録画面がクライアント端末に表示されているときに、ユーザが「リストに戻る」ボタン、「パスワード変更」ボタン、及び「ログアウト」ボタンを押下したときのＷｅｂＩＦ応答部１２０の動作は、それぞれリクエスト一覧画面において「表示更新」ボタン、「パスワード変更」ボタン、及び「ログアウト」ボタンを押下したときと同様である。一方、ユーザがリクエスト登録画面上において、言語及び音響モデルを指定し、音声データのファイル名、及び台詞データのファイル名を入力して「実行」ボタンを押下すると、リクエスト登録の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求は、ＷｅｂＩＦ９０からさらにキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。
【０１１０】
図２８は、クライアント端末５０からリップシンクサーバシステム６０に対してリクエスト登録の要求が送信され、ユーザ管理サーバ８０においてリクエストの登録がされるまでの動作を示すシーケンス図である。図２８を参照して、矢印２８０により示される様に、最初にクライアント端末５０からＷｅｂＩＦ９０に向けてリクエスト登録の要求が送信される。ＷｅｂＩＦ９０は、矢印２８２により示すように、この要求をキュー管理処理部９２に与える。キュー管理処理部９２のＷｅｂＩＦ応答部１２０がその要求を受取り、リクエスト登録処理を行なう。すなわち、キューＤＢ９４の第１のリクエスト情報テーブル９８に、当該要求に基づいて新規のリクエストを追加する。
【０１１１】
その後、キュー管理処理部９２は、矢印２８４により示される様に、リクエストの登録が成功すると、このユーザのリクエスト一覧画面を作成し、ＷｅｂＩＦ９０に与える。ＷｅｂＩＦ９０は、矢印２８６により示される様にこのリクエスト一覧画面をクライアント端末５０に返信する。これによって、新たに登録されたリクエストを含むリクエスト一覧画面がクライアント端末５０に表示される。
【０１１２】
リクエストの登録に失敗すると、リクエスト一覧画面と同じ経路でリクエスト登録画面が再度表示される。この場合、画面には登録失敗を示すエラーメッセージが表示される。
【０１１３】
図２３に示す結果表示画面がクライアント端末に表示されているときに、ユーザが「リストに戻る」ボタン、「パスワード変更」ボタン、及び「ログアウト」ボタンを押下したときのＷｅｂＩＦ応答部１２０の動作は、それぞれリクエスト一覧画面において「表示更新」ボタン、「パスワード変更」ボタン、及び「ログアウト」ボタンを押下したときと同様である。
【０１１４】
（管理ユーザ使用時の動作）
一方、ユーザ認証が成功であり、当該ユーザが管理者ユーザである場合は、ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のユーザ情報テーブル９６を参照して、削除フラグがＦＡＬＳＥである全ユーザのレコードを取得し、図２４に示すユーザ一覧画面を作成してクライアント端末５０に返信する。
【０１１５】
ユーザ一覧画面がクライアント端末に表示されているときにユーザが「新規ユーザを作成」ボタンを押下すると、ユーザ管理サーバ８０のＷｅｂＩＦ９０にリクエスト作成画面表示の要求が送信される。ＷｅｂＩＦ９０はこの要求をキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与える。これに応答して、ＷｅｂＩＦ応答部１２０は、図２５に示すユーザ登録画面を作成し、クライアント端末５０に返信する。
【０１１６】
ユーザ一覧画面がクライアント端末に表示されているとき、ユーザがいくつかのチェックボックスをオンにして「チェックしたユーザを削除」ボタンを押下すると、チェックしたユーザを全て削除することを示すユーザ削除要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。ＷｅｂＩＦ９０はこれらの要求をキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与える。ＷｅｂＩＦ応答部１２０は、それらの要求に基づいて、キューＤＢ９４の第１のユーザ情報テーブル９６に記憶されている、要求により指定された全てのユーザの削除フラグをＴＲＵＥに変更する。ＷｅｂＩＦ応答部１２０は、削除フラグがＦＡＬＳＥである全てのユーザのレコードを取得し、ユーザ一覧画面を作成してクライアント端末５０に返信する。
【０１１７】
ユーザ一覧画面が表示されているときに、ユーザがある行の「詳細」のリンクを選択すると、その行のユーザＩＤを指定したユーザ詳細画面表示の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、これに応答し、第１のユーザ情報テーブル９６のうち、指定されたユーザＩＤを持つユーザアカウントレコードを検索し、図２７に示すユーザ詳細画面を作成してクライアント端末に返信する。
【０１１８】
ユーザ一覧画面が表示されているときに、ユーザが「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときのＷｅｂＩＦ応答部１２０の動作は、それぞれ図２１に示すリクエスト一覧画面において「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときと同様である。
【０１１９】
図２５に示すユーザ登録画面がクライアント端末５０に表示されているときに、ユーザが「ユーザリストに戻る」ボタンを押下すると、ユーザ情報取得の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求はさらに、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のユーザ情報テーブル９６から削除フラグがＦＡＬＳＥでない全ユーザのレコードを取得して、ユーザ一覧画面を作成し、クライアント端末に返信する。
【０１２０】
クライアント端末５０においてユーザ登録画面が表示されているときに、ユーザがメールアドレス、ユーザ名、及びパスワードを画面上のテキストボックスに入力し、「新規追加」ボタンを押下すると、ユーザ登録の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求は、ＷｅｂＩＦ９０を介して、キュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、当該要求に基づいてキューＤＢ９４にユーザ情報を追加する。追加が成功すると、ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のユーザ情報テーブル９６から削除フラグがＦＡＬＳＥでない全ユーザのユーザアカウントレコードを取得して、ユーザ一覧画面を作成し、クライアント端末に返信する。
【０１２１】
クライアント端末５０においてユーザ登録画面が表示されているときに、ユーザが「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときのＷｅｂＩＦ応答部１２０の動作は、それぞれ図２１に示すリクエスト一覧画面において「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときと同様である。
【０１２２】
図２７に示すユーザ詳細画面が表示されているときに、ユーザが「ユーザリストに戻る」ボタンを押下したときには、ＷｅｂＩＦ応答部１２０は、それぞれ図２５に示すユーザ登録画面において「ユーザリストに戻る」ボタンを押下したときと同様に動作する。
【０１２３】
ユーザ詳細画面が表示されているときに、ユーザがメールアドレス、ユーザ名、及びパスワードを画面上のテキストボックスに入力し、「更新」ボタンを押下すると、ユーザ情報更新の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、当該要求に基づいてキューＤＢ９４の第１のユーザ情報テーブル９６を更新する。更新に成功すると、ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のユーザ情報テーブル９６から削除フラグがＦＡＬＳＥでない全ユーザのレコードを取得して、ユーザ一覧画面を作成し、クライアント端末５０に送信する。
【０１２４】
クライアント端末５０においてユーザ詳細画面が表示されているときに、ユーザが「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときには、ＷｅｂＩＦ応答部１２０は、それぞれ図２１に示すリクエスト一覧画面において「パスワード変更」ボタン及び「ログアウト」ボタンが押下されたときと同様に動作する。
【０１２５】
（パスワード変更画面表示時の動作）
図２６に示すパスワード変更画面が表示されているときに、ユーザが「リストに戻る」ボタンを押下すると、情報取得の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。当該要求は、ＷｅｂＩＦ９０からキュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、キューＤＢ９４の第１のリクエスト情報テーブル９８を参照して、当該ユーザの管理者フラグがＴＲＵＥか否かを判定する。判定の結果、管理者フラグがＴＲＵＥであった場合は、ユーザ一覧画面を作成し、クライアント端末５０にユーザ一覧画面を返信する。管理者フラグがＦＡＬＳＥであった場合は、ＷｅｂＩＦ応答部１２０はリクエスト一覧画面を作成し、クライアント端末５０に送信する。
【０１２６】
パスワード変更画面が表示されているときに、ユーザが「旧パスワード」、「新パスワード」、及び「新パスワード（確認）」の３つのテキストボックスにテキストを入力し、「パスワード変更」ボタンを押下すると、パスワード変更ＤＢ登録の要求がユーザ管理サーバ８０のＷｅｂＩＦ９０に送信される。この要求は、ＷｅｂＩＦ９０を介して、キュー管理処理部９２のＷｅｂＩＦ応答部１２０に与えられる。ＷｅｂＩＦ応答部１２０は、当該要求に基づき、エラーがなければ与えられた要求にしたがってキューＤＢ９４の第１のユーザ情報テーブル９６を更新する。ＷｅｂＩＦ応答部１２０はさらに、新たなパスワード変更画面を作成し、クライアント端末５０に送信する。
【０１２７】
ユーザ詳細画面が表示されているときに、ユーザが「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときには、ＷｅｂＩＦ応答部１２０は、それぞれ図２１に示すリクエスト一覧画面において「パスワード変更」ボタン及び「ログアウト」ボタンを押下したときと同様に動作する。
【０１２８】
＜リップシンクサービスサーバ８２の動作＞
（ユーザ管理処理部１３０の動作）
ユーザ管理処理部１３０は、サービスサーバ応答部１２２に対してユーザ情報取得の要求を送信し、その返信である第１のユーザ情報管理テーブルと、リップシンクＤＢ１０２の第２のユーザ情報テーブルとを比較する。違いがある場合には、ユーザ管理処理部１３０は第２のユーザ情報テーブルを第１のユーザ情報テーブルの通りに更新する。
【０１２９】
（リクエスト管理処理部１３２の動作）
図２９は、リップシンクサービスサーバ８２においてリクエストが登録され、音素セグメンテーションの結果が生成されるまでのリクエスト管理処理部１３２の動作を示すシーケンス図である。図２９を参照して、矢印２９０により示される様に、リップシンクサービス処理部１００は、キュー管理処理部９２に対してリクエスト情報取得の要求を定期的に送信する。キュー管理処理部９２は、新規リクエスト取得の要求を前回受けた後、今回の要求の受信までに新規に登録されたリクエストレコードがあれば、そのリクエストレコードをリップシンクサービス処理部１００に返信する。もしも新規に登録されたリクエストレコードがなければ、その旨を示す情報がリップシンクサービス処理部１００に返される。
【０１３０】
リップシンクサービス処理部１００は、新規リクエストレコードがなかった場合には、一定時間休止し、その後、再度キュー管理処理部９２に対し新規リクエスト取得の要求を送信することを繰返す。
【０１３１】
一方、リップシンクサービス処理部１００は、キュー管理処理部９２から新規リクエストレコードを受けると、矢印２９２により示される様に、受取ったリクエストレコードをリップシンクＤＢ１０２の第２のリクエスト情報テーブル１０６に追加する。このとき、リップシンクサービス処理部１００は、このリクエストレコードののステータスを「同期済」に変更する。この追加終了後、リップシンクサービス処理部１００は、矢印２９４により示される様に、新たなリクエストレコードの「ステータス」を「同期済」に更新することを要求するリクエスト情報変更の要求をキュー管理処理部９２に送信する。
【０１３２】
この後、リップシンクサービス処理部１００は、矢印２９６により示されるように、リップシンクＤＢ１０２において、ステータスが「同期済」であるリクエストレコードの検索を要求し、矢印２９８により示すようにその検索結果のリクエストレコードを受取る。ここでは、リップシンクサービス処理部１００は、リップシンクＤＢ１０２からリクエストの言語指定情報、音響モデル指定情報、音声データファイル名、及び台詞データファイル名を取得する。
【０１３３】
続いてリップシンクサービス処理部１００は、矢印３００により示される様に、矢印２９８で取得した音声データファイル名により示されるＷＡＶＥファイルのフォーマットを検査し、サンプリング周波数１６ｋＨｚ，データビット数１６ビット、モノラル、ビッグ・エンディアンのフォーマットでなければそのフォーマットに変換する。この変換を行なう際には、新たな音声ファイルを作成し、そこに変換後の音声データを格納する。図示していないが、この場合には、リップシンクＤＢ１０２内の第２のリクエスト情報テーブル１０６、及びキューＤＢ９４内の第１のリクエスト情報テーブル９８中の処理対象のリクエストレコードの音声ファイル名情報を、新たなファイル名で更新する。
【０１３４】
リップシンクサービス処理部１００はさらに、矢印３０２により示される様に、矢印２９８で取得した台詞データから、音声セグメンテーションで使用する語彙からなるファイルであるＬＥＸファイル、及び音声セグメンテーションの正解データとなる音素列を格納したＡＮＳＷＥＲファイルを記憶装置内に作成する。ここでは、図示していないが、リップシンクサービス処理部１００は、第２のリクエスト情報テーブル１０６内の処理対象のリクエストレコードのＬＥＸデータフィールドとＡＮＳＷＥＲデータフィールドとに、作成したＬＥＸファイルのファイル名及びＡＮＳＷＥＲファイルのファイル名を格納する。
【０１３５】
次にリップシンクサービス処理部１００は、矢印３０４で示される様に、音声認識サーバ８４に対して、リクエストレコードを引数として渡して音素セグメンテーションをするように要求する。このとき、リップシンクサービス処理部１００は、矢印３０６及び３０８により示される様に、第１のユーザ情報テーブル９６及び第２のリクエスト情報テーブル１０６において、音素セグメンテーションを要求したリクエストに対応するリクエストレコードのステータスを「処理中」に更新するよう、キュー管理処理部９２及びリップシンクＤＢ１０２に対し要求する。
【０１３６】
この後、リップシンクサービス処理部１００は音声認識サーバ８４からの音素セグメンテーションの結果待ちの状態となる。
【０１３７】
一方、音声認識サーバ８４は、この音素セグメンテーションの要求を受けると、指定された音響ファイルに格納された音声データ、ＬＥＸファイル、及びＡＮＳＷＥＲファイルを読出し、読出された音声データに対し、指定された音響モデル、指定された言語、及び指定されたＬＥＸを用いて、ＡＮＳＷＥＲファイルと一致する音素列が得られるように音声認識を用いた音素セグメンテーションを行なう。音声認識サーバ８４は、この音素セグメンテーションの結果（音素＋音素継続長の組）をテキスト形式でログファイルに書出すとともに、リップシンクサービス処理部１００に対し、音素セグメンテーションが正常に完了したことを示す情報を送信する。
【０１３８】
矢印３１０により示される様に、リップシンクサービス処理部１００が、音声認識サーバ８４から音素セグメンテーションが正常に終了したことを示す情報を受信すると、リップシンクサービス処理部１００は、音素セグメンテーションの結果をログファイルから読出し、矢印３１２により示される様に、リップシンクＤＢ１０２内の第２のリクエスト情報テーブル１０６の該当するリクエストレコードの結果フィールドに記憶させる。このとき、リップシンクサービス処理部１００は、リップシンクＤＢ１０２内の第２のリクエスト情報テーブル１０６の処理対象のリクエストレコードのステータスを「完了」に修正する。
【０１３９】
最後に、リップシンクサービス処理部１００は、キュー管理処理部９２に対し、第１のユーザ情報テーブル９６内の処理対象のリクエストレコードに音素セグメンテーション結果を登録する要求を送る。キュー管理処理部９２は、この要求に応答して、該当するリクエストレコードに、音素セグメンテーション結果を登録し、そのステータスを「完了」に変更する。
【０１４０】
［コンピュータによる実現］
上述の実施の形態に係るユーザ管理サーバ８０、リップシンクサービスサーバ８２、及び音声認識サーバ８４は、いずれもコンピュータシステム及びコンピュータシステム上で実行されるプログラムによって実現され得る。ただし、上記した実施の形態では、これらコンピュータは互いに別々のものである。以下、これらを実現するために必要なコンピュータハードウェアについて説明するが、上記した３種類のサーバに必要なコンピュータハードウェアには特に相違がないので、ここではユーザ管理サーバ８０を例としてそのハードウェア構成について説明する。
【０１４１】
図３０はユーザ管理サーバ８０で用いられるコンピュータシステム３３０の外観を示し、図３１はコンピュータシステム３３０のブロック図を示す。なお、ここで示すコンピュータシステム３３０は単なる例であって、他の構成も利用可能である。
【０１４２】
図３０を参照して、コンピュータシステム３３０は、コンピュータ３４０と、全てコンピュータ３４０に接続された、モニタ３４２と、キーボード３４６と、マウス３４８と、スピーカ３７２と、マイクロフォン３７０とを含む。さらに、コンピュータ３４０はＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ：ディジタル多用途ディスク）ドライブ３５０と、半導体メモリドライブ３５２とを含む。
【０１４３】
図３１を参照して、コンピュータ３４０はさらに、ＤＶＤドライブ３５０と半導体メモリドライブ３５２とに接続されたバス３６６と、全てバス３６６に接続された、ＣＰＵ３５６と、コンピュータ３４０のブートアッププログラムを記憶するＲＯＭ３５８と、ＣＰＵ３５６によって使用される作業領域を提供するとともにＣＰＵ３５６によって実行されるプログラムのための記憶領域となるＲＡＭ３６０と、プログラム、音声データ等の各種ファイルを記憶するためのハードディスクドライブ３５４とを含む。
【０１４４】
上述の実施の形態に係るユーザ管理サーバ８０のシステムを実現するソフトウェアは、ＤＶＤ−ＲＯＭ３６２又は半導体メモリ３６４等の媒体に記録されたオブジェクトコードファイル又はスクリプトファイルの形で流通し、ＤＶＤドライブ３５０又は半導体メモリドライブ３５２等の読出装置を介してコンピュータ３４０に提供され、ハードディスクドライブ３５４に記憶される。ＣＰＵ３５６がプログラムを実行する際には、プログラムはハードディスクドライブ３５４から読出されてＲＡＭ３６０に記憶される。図示しないプログラムカウンタによって指定されたアドレスから命令がフェッチされ、その命令が実行される。ＣＰＵ３５６は、ＣＰＵ３５６内のレジスタ、ＲＡＭ３６０、又はハードディスクドライブ３５４から処理すべきデータを読出し、処理の結果を、これもまたＣＰＵ３５６内のレジスタ、ＲＡＭ３６０、又はハードディスクドライブ３５４に記憶する。
【０１４５】
コンピュータシステム３３０の一般的動作は周知であるので、詳細な説明は省略する。
【０１４６】
リップシンクサービスサーバ８２及び音声認識サーバ８４をそれぞれ実現するためのコンピュータシステムの構成も、図３０に示すコンピュータシステム３３０の構成と同様である。
【０１４７】
［本実施の形態の効果］
以上の説明から明らかなように、本実施の形態に係るリップシンクサーバシステム６０を使用することにより、Ｗｅｂ上において、クライアント端末からの音声データ及び台詞データ等に対して音素セグメンテーション処理を行ない、その結果をクライアント端末に出力することが可能となる。
【０１４８】
また、管理者ユーザが多数の一般ユーザの情報を管理し、かつ一般ユーザが当該サービスを利用する際にパスワード等を入力させてユーザ認証を行なう。さらに、ファイアウォールを採用し、外部からリップシンクサービスサーバ８２及び音声認識サーバ８４に侵入することがほぼ不可能なサーバ構成を採用した。したがって、Ｗｅｂ上であっても多数のユーザが当該サービスをセキュアに利用することが可能となる。
【０１４９】
必要な資源（音響モデル等）は全てサーバで管理されるため、一般ユーザはそれらモデルの維持管理をする必要がない。
【０１５０】
また、ユーザ管理サーバ８０でリクエストをキューＤＢ９４に登録し、リップシンクサービスサーバ８２がアイドル状態となると、ユーザ管理サーバ８０から新たなリクエストを取り出して処理する形式とした。そのため、リップシンクサービスサーバ８２及び音声認識サーバ８４を複数個設けることにより、アイドル状態となったリップシンクサービスサーバ８２及び音声認識サーバ８４によって複数のリクエストを並列的に処理することが可能である。そのため、リクエスト数が増大してもリップシンクサービスサーバ８２及び音声認識サーバ８４の組の数を増加させることにより、容易に対応することができる。
【０１５１】
［変形例］
上記した実施の形態では、リップシンクサービスサーバ８２と音声認識サーバ８４とを別体とした。しかし本発明はそのような実施の形態には限定されず、両者を同一のコンピュータ上で実現するようにしてもよい。
【０１５２】
また、上記実施の形態では、音素セグメンテーションの結果をテキスト形式でクライアント端末に返信している。しかし本発明はそのような実施の形態には限定されない。例えば、このようにして得られた音素セグメンテーションの結果と、台詞データとに基づき、その台詞を発話する何らかのキャラクタのアニメーションを作成し、それを返信するようにしてもよい。キャラクタは、予め準備した複数個のキャラクタの中からユーザに選択させるようにしてもよいし、特定のキャラクタに固定しておいてもよい。
【０１５３】
このようにするためには、上記した音素セグメンテーション結果を用いたリップシンクアニメーションの作成システムを、上記した実施の形態の音声認識サーバ８４の後段に接続してアニメーションを所定のファイルに作成するようにし、リクエストレコードには、作成されたアニメーションのファイル名を格納する新たなフィールドを設けるようにすればよい。この場合にも、アニメーションファイルをそのままのファイルとしてクライアント端末に返信するようにしてもよいし、アニメーションをストリームとしてクライアント端末に返信することによりクライアント端末でアニメーションを再生するようにしてもよい。
【０１５４】
さらに、上記した実施の形態では、課金処理については何も触れていないが、例えば音声認識サーバ８４で音素セグメンテーション又はそれに加えてアニメーション作成に要したＣＰＵパワーに応じて、そのリクエストを行なったユーザに課金を行なうようにしてもよい。
【０１５５】
また、上記した実施の形態では、言語としては日本語と英語とを選択可能としたが、もちろんこれ以外の言語を処理するようにしてもよい。その場合には、それらの言語の音響モデルが新たに必要となる。
【０１５６】
さらに、上記した実施の形態では、音響モデルの種類として成人男性、成人女性、子供、及び演技音声の内のいずれかを選択できるようにした。しかし本発明はそのような実施の形態には限定されない。例えば、各音響モデルを、さらにその年齢により細かく分類してもよい。
【０１５７】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【図面の簡単な説明】
【０１５８】
【図１】本発明の一実施の形態に係るリップシンクサーバシステム６０のネットワーク環境を示す図である。
【図２】本発明の一実施の形態に係るリップシンクサーバシステム６０のブロック図である。
【図３】図２に示すユーザ管理サーバ８０のブロック図である。
【図４】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するためのログイン画面を示す図である。
【図５】図３に示すキューＤＢ９４が保持する第１のユーザ情報テーブルの構成を示す図である。
【図６】図３に示すキューＤＢ９４が保持する第１のリクエスト情報テーブルの構成を示す図である。
【図７】図２に示すリップシンクサービスサーバ８２のブロック図である。
【図８】図７に示すリップシンクＤＢ１０２が保持する第２のリクエスト情報テーブルの構成を示す図である。
【図９】図３に示すキュー管理処理部９２の詳細なブロック図である。
【図１０】図７に示すリップシンクサービス処理部１００の詳細なブロック図である。
【図１１】図９に示すＷｅｂＩＦ応答部１２０を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図１２】図１１のステップ１４２の詳細なフローを示す図である。
【図１３】図１１のステップ１４４の詳細なフローを示す図である。
【図１４】図１１のステップ１４６の詳細なフローを示す図である。
【図１５】図１１のステップ１４８の詳細なフローを示す図である。
【図１６】図１２、１４、及び１５のステップ１５２の詳細なフローを示す図である。
【図１７】図１２、１３、及び１５のステップ１５４の詳細なフローを示す図である。
【図１８】図９に示すサービスサーバ応答部１２２を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図１９】図１０に示すユーザ管理処理部１３０を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図２０】図１０に示すリクエスト管理処理部１３２を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図２１】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するためのリクエスト一覧画面を示す図である。
【図２２】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するためのリクエスト作成画面を示す図である。
【図２３】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するための結果表示画面を示す図である。
【図２４】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するユーザ一覧画面を示す図である。
【図２５】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するユーザ登録画面を示す図である。
【図２６】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するパスワード変更画面を示す図である。
【図２７】本発明の一実施の形態に係るリップシンクサーバシステム６０がユーザに提供するユーザ詳細画面を示す図である。
【図２８】本発明の一実施の形態に係るリップシンクサーバシステム６０において、リクエスト登録を行なうときのシーケンスを示す図である。
【図２９】本発明の一実施の形態に係るリップシンクサーバシステム６０において、リクエスト登録を行なうときのシーケンスを示す図である。
【図３０】コンピュータシステム３３０のハードウェア構成を示す図である。
【図３１】コンピュータシステム３３０のブロック図である。
【符号の説明】
【０１５９】
５０，５２，５４  クライアント端末
５６  通信網
６０  リップシンクサーバシステム
７２  音声データ
７４  台詞データ
７６  ファイアウォール
７８  音素・音素継続長データ
８０  ユーザ管理サーバ
８２  リップシンクサービスサーバ
８４  音声認識サーバ
９０  ＷｅｂＩＦ
９２  キュー管理処理部
９４  キューＤＢ
９６  第１のユーザ情報テーブル
９８  第１のリクエスト情報テーブル
１００  リップシンクサービス処理部
１０２  リップシンクＤＢ
１０４  第２のユーザ情報テーブル
１０６  第２のリクエスト情報テーブル
１２０  ＷｅｂＩＦ応答部
１２２  サービスサーバ応答部
１３０  ユーザ管理処理部
１３２  リクエスト管理処理部
【図１】
2009103735.tif 000003
【図２】
2009103735.tif 000004
【図３】
2009103735.tif 000005
【図４】
2009103735.tif 000006
【図５】
2009103735.tif 000007
【図６】
2009103735.tif 000008
【図７】
2009103735.tif 000009
【図８】
2009103735.tif 000010
【図９】
2009103735.tif 000011
【図１０】
2009103735.tif 000012
【図１１】
2009103735.tif 000013
【図１２】
2009103735.tif 000014
【図１３】
2009103735.tif 000015
【図１４】
2009103735.tif 000016
【図１５】
2009103735.tif 000017
【図１６】
2009103735.tif 000018
【図１７】
2009103735.tif 000019
【図１８】
2009103735.tif 000020
【図１９】
2009103735.tif 000021
【図２０】
2009103735.tif 000022
【図２１】
2009103735.tif 000023
【図２２】
2009103735.tif 000024
【図２３】
2009103735.tif 000025
【図２４】
2009103735.tif 000026
【図２５】
2009103735.tif 000027
【図２６】
2009103735.tif 000028
【図２７】
2009103735.tif 000029
【図２８】
2009103735.tif 000030
【図２９】
2009103735.tif 000031
【図３０】
2009103735.tif 000032
【図３１】
2009103735.tif 000033