(57)【特許請求の範囲】
【請求項１】
原始データを変換手段により別種のデータに変換して目的の種別のデータを得るようにしたデータ変換システムにおいて、
少なくとも前記原始データを保持する蓄積手段を備え、
前記変換手段は、入力されたデータの処理に要する経過時間を把握する付属情報を、前記変換処理により得たデータとともに出力する機能を付加した構成とし、
また、前記蓄積手段は、前記原始データを受けて、その発生順序が特定できる情報とともに蓄積し、蓄積したデータは読出して前記情報を除去し前記変換手段に与えると共に、この変換手段からの変換結果のデータは、前記付属情報に基づいてどの原始データに対応するかを求めて得たその対応関係を特定する情報とともに保持する構成であることを特徴とするデータ蓄積変換システム。
【請求項２】
原始データを変換手段により別種のデータに変換して目的の種別のデータを得るようにしたシステムにおいて、
少なくとも前記原始データを保持する蓄積手段を備え、
前記変換手段は、入力されたデータの変換処理に要する経過時間を把握する付属情報を、前記変換処理により得られたデータとともに出力する機能を付加した構成とし、
また、前記蓄積手段は、前記原始データを受けて、その発生時点情報とともに蓄積し、蓄積したデータは読出して前記発生時点情報を除去して前記変換手段に与えると共に、この変換手段からの変換結果のデータは、前記付属情報に基づいて逆算することにより対応原始データを求め、その求めた情報とともに保持する構成としたことを特徴とするデータ蓄積変換システム。
【請求項３】
請求項２に記載のシステムにおいて、蓄積手段は、
データの生成または変換を行う変換手段とのデータ入出力をするメッセージ処理手段と、
前記変換手段とのデータ通信処理に関する情報を管理する外部プログラム情報管理手段と、
時刻データを出力するとともに、前記付属情報が入力されたときはこの付属情報から逆算して得られる時刻情報を出力する時刻生成手段と、
前記メッセージ処理部を介して得た前記変換手段からの入力データに前記時刻生成手段からの時刻データを挿入すると共に、この挿入時刻データは、前記付属情報があるときはこの付属情報から逆算して得た時刻情報とする時刻データ挿入手段と、
時刻データ挿入後の入力データを記憶するデータ蓄積手段と、
該データ蓄積手段から読出した出力データの時刻データを読出すと共に、時刻情報を除外したデータを前記処理手段に出力すべく処理する時刻データ読取り手段とを具備することを特徴とするデータ蓄積変換システム。
【請求項４】
原始データを変換ステップにより別種のデータに変換して目的の種別のデータを得るデータ変換方法において、
前記変換ステップでは、入力されたデータの処理に要した経過時間を把握してその情報を付属情報として、前記変換処理により得られたデータとともに出力させ、
また、前記原始データを受けて、その発生時点または順序が特定できる情報とともに蓄積し、蓄積したデータは読出して前記発生時点または順序が特定できる情報を除外し、前記変換ステップに与えると共に、この変換ステップにて得た変換結果のデータは、前記付属情報に基づいてどの原始データに対応するかを求めて得たその情報とともに保持して、原始データと各変換データとの対応を把握可能することを特徴とするデータ蓄積変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声、画像、テキスト等、複数の種類のデータを蓄積できると共に、これらのデータを、元となったデータの発生時点と対応付けて時系列的に管理し、授受できるようにするデータ蓄積装置およびデータ蓄積方法に関するものである。
【０００２】
【従来の技術】
コンピュータ技術の目覚ましい進展に伴い、音声、画像、テキスト等のメディアが扱えるようになり、その応用技術の裾野も日一日と広がっている。そして、今日では、音声からテキストへの変換を行う音声認識やその逆を行う音声合成、日本語と英語間などといった異種言語間の変換を行う自動翻訳、文書画像をテキストに変換するＯＣＲ（光学式文字読み取り装置）など、あるメディアから異種のメディアへの変換処理技術は、計算機のヒューマンインタフェースの要素技術として重要なものとなっている。そして、この種の技術としては、例えば、特開平７‐１４０９９８号公報に記載されている音声認識サーバを利用した音声認識インタフェース技術や、特開平４‐３０９０９３号公報に記載されている音声認識，合成音声を利用した音声対話システム技術などがある。
【０００３】
このようなメディア変換の処理はプロセッサに委ねられ、多くはコンピュータ上で稼働させることになるが、その際、音声入出力用のサウンドボードや画像入出力用のビデオボードなどのハードウエアリソースと、大容量の記憶を必要とする認識辞書や翻訳辞書などの知識データを、一つのプログラムに占有されず、効率良く使うようにするため、オーディオ・ビデオデータの入出力処理、認識、合成、翻訳等のメディア変換処理は、複数のアプリケーションと接続可能な形のサーバプログラムとして実装することが多い。
【０００４】
クライアント・サーバに基づく認識装置の処理に関しては、例えば、先の特開平７‐１４０９９８号公報に記載されている如きであり、上述のデータ入出力やメディア変換のサーバの動作は、クライアントとサーバ間で予め定めたメッセージにより制御できるようにするのが一般的であって、これにより、アプリケーション開発の際、サーバの処理内容をブラックボックス化して考えることができるので、リソースを効率的に利用できるだけでなく、応用システムの開発が容易になるという利点がある。
【０００５】
サーバ・クライアント型の処理に基づいて構成された従来の応用システムの例として、音声認識インタフェースを図８に示す。図８において、１はマイクロホンから音声を取り込んで音声波形データを出力するオーディオサーバ、２は入力した音声を認識して認識単語を出力する音声認識サーバ、３は認識結果を受け取って動作する応用プログラムである。
【０００６】
このような構成においてオーディオサーバ１は、マイクロホンから入力された音声の波形データを実時間で出力して音声認識サーバ２に与え、音声認識サーバ２は、この入力された音声データから、音声区間の検出、周波数分析、単語辞書との複合類似度法による照合を行って、音声波形データがどのような言葉であるを認識し、その認識の結果、得られた単語をクライアントの応用プログラム３に出力する。この音声認識サーバ２としては例えば、先の特開平７‐１４０９９８号公報に記載されているような技術を利用して実現できる。
【０００７】
応用プログラム３では、認識結果の単語を受けてこれを指令あるいは、応答等として受け止め、これに基づく対応の処理を行うことになる。
ところで、このような構成の場合、マイクロホンにて得た音声を音声認識により単語に変換し、その単語を応用プログラムに渡すということを行うことになるが、例えば、音声認識サーバの動作している計算機（コンピュータ）の負荷が大きくなったとするとその際、音声認識サーバの処理が遅れて入力音声データの取り込みができないといった事態が生じることがある。そして、このような事態が発生すると、音声データが一時欠落し、誤認識につながるという結果を招くことになる。すなわち、音声認識の処理は処理量が多いため、計算機負荷増大による処理速度への影響が大きく、リアルタイムで音声情報を音声認識サーバに渡して処理をさせると、場合によっては音声認識に誤りが生じることがある。
【０００８】
また、別の従来例として、異種言語翻訳技術について考えてみる。一例として、英日テキスト翻訳と音声合成を組み合わせることにより、英語テキストを日本語に翻訳して音声で出力すると同時に、音声出力中の日本語に対応する元の英語テキストを順次、画面表示するといった内容のアプリケーションを想定して説明する。
【０００９】
従来、このようなアプリケーションを実現するには、翻訳サーバと、音声合成サーバとオーディオサーバを用いて、図９に示すように構成する。図において、２１は全体制御のアプリケーション本体の全体制御部、２２は翻訳サーバ、２３は音声合成サーバ、２４はオーディオサーバ、２５はテキスト表示部である。本体制御部２１は、英語テキストを翻訳サーバ２２に渡してここで日本語に翻訳処理をさせることによって得られた翻訳結果の日本語テキストを、音声合成サーバ２３に渡し、音声合成サーバ２３はこの日本語テキストを日本語音声波形合成する。そして、スピーカはこの合成された日本語音声波形を受け取って音声として出力する。
【００１０】
出力中の音声に対応する元の英語の文を同時に画面表示するには、処理の単位を一文毎とし、一文の翻訳と合成が終わるたびに、その文の画面表示と音声出力を行うようにする。
【００１１】
従来システムはこのようなものであるが、しかし、翻訳、音声合成は、ともに演算量の多い処理であるために、処理時間短縮を図る必要がある。そのため、合成処理中に次の文の翻訳処理をはじめるいわゆるパイプライン化が行われる。
【００１２】
この場合、データにより、各処理の所要時間は様々であり、合成処理が完了しないうちに次の翻訳結果が出力されることを考慮し、翻訳した日本語テキストを一時記憶しておく必要があり、これは一文とは限らない。また、入力した元の英語テキストと音声波形の対応を記憶しておく必要がある。
【００１３】
また、処理を対話的ではなく、バッチ的に一括して行ってから、合成音の出力とそれに対応する元の英語テキストの表示とを行う場合の構成図を図１０に示す。図１０において、３１は全体制御のアプリケーション本体の全体制御部、３２は翻訳サーバ、３３は音声合成サーバ、３４はオーディオサーバ、３５はテキスト表示部、３６はデータ記憶部である。
【００１４】
本体制御部３１は英語テキストを翻訳サーバ３２に渡してここで日本語翻訳処理させ、得られた翻訳結果の日本語をデータ記憶部３６に記憶すると共に、音声合成サーバ３３に渡し、ここで、翻訳結果の日本語を日本語音声波形合成させる。合成された日本語音声波形をデータ記憶部３６に記憶する。そして、全てのテキストの翻訳と合成が終了した後、データ記憶部３６からテキストと日本語合成音声を読出してオーディオサーバ３４に渡し、スピーカから音声出力させる。
【００１５】
この場合にも、本体制御部１はテキスト文と音声波形との対応がとれるように、データ記憶部３６に記憶しておく必要がある。
これらの場合、本体制御部は翻訳サーバと合成サーバの入出力データの対応をとって記憶する処理が必要であるが、一般的には記憶するデータにその対応関係を示す情報を付加することになる。そして、この場合、データを発生する側のサーバには上記対応関係を示すデータを付加する機能を持たせる必要があり、これはアプリケーション装置に持たせる。そして、さらにアプリケーション装置側では当該付加したデータを用いて入出力データの対応関係を把握しながら必要なデータ処理を行うようにするといった機能を持たせる必要ができて、アプリケーション装置を開発する際に手間となる。
【００１６】
【発明が解決しようとする課題】
音声認識や音声合成、自動翻訳、文書画像からテキストへの変換など、あるメディアから異種のメディアへの変換処理技術は、計算機のヒューマンインタフェースの要素技術として重要なものとなっている。
【００１７】
そして、メディア変換処理には、従来、メディア変換処理サーバを使用することになるが、メディア変換処理サーバはどのような処理を対象としているかにより、負荷の軽重があり、処理内容の異なる複数のメディア変換処理サーバを組み合わせた場合、あるサーバは処理が重くて、処理時間が長くかかるといったようなときに、入力データに対して処理が間に合わなくなるという問題が生じることがある。
【００１８】
このような場合、入力した元データと、最終変換結果との対応をとるための処理を行う必要があり、この機能は従来、アプリケーション装置に持たせることになるのでその分、処理が複雑になるために、システム開発にコストがかかるという問題があった。
【００１９】
すなわち、計算機負荷が高い処理の一つである音声認識サーバは、この音声認識サーバの動作している計算機の負荷が大きくなった際、当該音声認識サーバの処理が遅れてリアルタイムで入力される音声データの処理が追い付かず、音声データが欠落して誤認識につながる問題があり、また、翻訳処理と音声合成とを組み合わせた場合での処理で、メディア変換処理サーバを組み合わせた場合、入力した元データと最終変換結果との対応をとるための処理を行う必要がある場合に、その対応をとるためには、そのための処理を含むことになるので、その分、アプリケーション本体の処理が複雑になる。
【００２０】
特に変換処理を多数、組み合わせた複雑なアプリケーションでは、例えば、音声からテキスト、テキストから他言語といった具合に、変換処理が多段に及ぶ時には、それぞれの処理の時点が元データ発生の時点からどんどん離れていくことになるために、元データが次々に発生するような場合、元データとの対応関係をとることが困難になることは容易に推察でき、それに対応できるようなアプリケーション装置を得ようとすると、システム全体の開発コストがかかるという問題があった。
【００２１】
そこで、この発明の目的とするところは、多種の変換サーバを順次経て元データ（原始データ）を最終目的のデータに変換するような場合に、それぞれの変換サーバで必要なデータを元データとの対応を以て授受できるようにするデータ蓄積変換システムおよびデータ蓄積変換方法を提供することにある。
【００２２】
【課題を解決するための手段】
上記目的を達成するため、本発明は次のように構成する。すなわち、おおもとのデータとしての原始データを変換手段により別種のデータに変換して目的の種別のデータを得るようにしたデータ変換システムにおいて、
前記原始データを受けて、その発生順序が特定できる情報とともに蓄積し、蓄積したデータは読出して前記情報を除去し前記変換手段に与えると共に、この変換手段からの変換結果のデータは、原始データとの対応関係を特定する情報とともに保持する蓄積手段を備える構成とする。
【００２３】
また、第２には、前記変換手段は、入力されたデータの処理に要する経過時間を把握する付属情報を、前記変換処理により得られたデータとともに出力する機能を付加した構成とし、
また、前記システムには前記原始データを受けて、その発生時点または順序が特定できる情報とともに蓄積し、蓄積したデータは読出して前記情報を除去し、前記変換手段に与えると共に、この変換手段からの変換結果のデータは、前記付属情報に基づいてどの原始データに対応するかを求めて得たその対応関係を特定する情報とともに保持する蓄積手段を備える。
【００２４】
更には、読出した蓄積データのうち、所要の時点でのデータについて選択的に出力する機能を蓄積手段に設ける。
また、本発明は、オーディオサーバや認識サーバなど、外部のプログラムと通信を行ってデータを入出力するメッセージ処理手段と、該外部プログラムとのデータ通信処理に関する情報を管理する外部プログラム情報管理手段と、外部プログラムからメッセージ処理部を介して入力された入力データに時刻データを挿入する時刻データ挿入手段と、前記時刻データを生成する挿入時刻生成手段と、時刻データ挿入後の入力データを記憶するデータ蓄積手段と、該データ蓄積手段から読出した出力データの時刻データを読出す時刻データ読取り手段とからなるデータ蓄積装置を用意し、
音声認識サーバなどのメディア変換サーバは、この蓄積装置に一旦記憶されたデータを受け取って処理を行うようにする。これにより、メディア変換サーバが連続データを入力として動作中、負荷の増大等により、連続データの入力が一時的にできなくなった場合でも、後から蓄積装置の中のデータを読出すことができるようになるため、入力データに欠落部ができるのを避けることができるようになる。
【００２５】
さらにデータ蓄積の際、入力データに時刻データを付加して一時記憶し、読出す際にこのデータに付加された時刻を読み取ってから接続されたメディア変換サーバに送り、変換処理後、その変換処理データと同時に、変換処理データと入力データとの対応情報を変換サーバから受取り、先の時刻をこの変換結果のデータに付与してから再び、記憶するようにする。これにより、メディア変換型のサーバの入出力データ間の対応をとって記憶できるため、変換処理による時間遅延をその都度、補正し、入出力データ間の対応をとりながら記憶できる。そして、この対応関係から所要の時点からのデータを抽出して渡すことができるようになる。
【００２６】
以上の構成によるデータ蓄積装置により、変換サーバの動作遅れ等により過去のデータが必要になった場合でも、蓄積装置に記憶されているデータを供給できるため、変換サーバの性能を低下させることがなくなる。
【００２７】
また、複数の変換サーバを接続して次々に変換を施すような処理の場合、変換結果のデータを変換の都度、蓄積装置に通すことにより、時間遅延の補正が行われ、最終変換結果と最初の入力データとの間の対応付けが容易に行えるようになる。これにより、アプリケーション毎にデータ間の対応付けを行う必要がなくなり、アプリケーションシステムを容易に開発することができるようになる。
【００２８】
従って、動作遅れ等により過去のデータが必要になった場合でも、必要なデータを供給できて変換サーバの性能を低下させることがなく、また、複数の変換サーバを接続して次々に変換を施すような処理の場合でも、最終変換結果と最初の入力データとの間の対応付けが容易に行えて、アプリケーション側でデータ間の対応付けを行う必要がなく、アプリケーションシステムの開発をその分、容易に行うことができるようになる。
【００２９】
【発明の実施の態様】
（具体例）
つぎに本発明の具体例を説明する。
図１は本発明装置の構成を示すブロック図である。図中Ｐ１〜Ｐｎは外部プログラム、１００は本発明によるデータ蓄積装置、２００は大容量記憶装置である。データ蓄積装置１００はメッセージ処理部１０１、外部プログラム情報管理部１０２、時刻データ挿入部１０３、時刻データ生成部１０４、データ蓄積部１０５、時刻データ読取り部１０６から構成されている。
【００３０】
外部プログラムＰ１〜Ｐｎは、種々の応用プログラムを示しており、オーディオサーバや音声認識サーバ、翻訳サーバ、音声合成サーバなどもその一つである。
【００３１】
データ蓄積装置１００は、外部プログラムＰ１〜Ｐｎから受けたデータを一旦蓄積し、再び外部プログラムＰ１〜Ｐｎに渡すと共に、データについては時間情報の付加等により時刻管理をすることができる構成の蓄積サーバである。大容量記憶装置２００はデータ蓄積装置１００からのデータを蓄積し、また読出してデータ蓄積装置１００に渡すものであり、この大容量記憶装置２００としては磁気ディスク、光磁気ディスク、大容量半導体メモリなど何でも良く、一つのデータストリームに対し、一つのファイルを割り当てて記憶するものであれば良い。
【００３２】
データ蓄積装置１００の構成要素のうち、メッセージ処理部１０１は、データ通信処理手段であり、メッセージ交換により外部プログラムＰとの間で情報をやりとりすることができるものである。
【００３３】
外部プログラム情報管理部１０２は、情報管理テーブルを有し、外部プログラムからの設定により、もしくはデフォルトで各外部プログラムの条件等の情報を登録保持する。
【００３４】
時刻データ生成部１０４は、時刻データを生成するものであり、また、時刻読取り部１０６から得た時刻データを用いて時刻読取り部１０６からメッセージ処理部１０１に送り出されたデータが何時の時刻での原始データであるのかを把握し、外部プログラムから受けたデータの付属データ内容から原始データにおける何時の時刻のデータの処理結果であるのかを求めて、該当の原始データの該当時刻情報を出力するといった機能を有する。
【００３５】
時刻データ挿入部１０３は、メッセージ処理部１０１からのデータに対して時刻データ生成部１０４の生成した時刻データを挿入してデータ蓄積部１０５に渡すものであり、外部プログラム情報管理部１０２の情報を参照して、データをどの外部プログラムから受取ったかにより、時刻読取り部１０６からの現時点での時刻データを挿入してデータ蓄積部１０５に送ったり、データ中の付属データを分離して時刻データ生成部１０４に送り、これにより得られる時刻データ生成部１０４からの原始データ対応の時刻データを挿入してデータ蓄積部１０５に送るといった機能を有する。
【００３６】
データ蓄積部１０５は、データの授受を行い、時刻データ挿入部１０３から受取ったデータを大容量外部記憶装置２００に蓄積すべく制御すると共に、蓄積したデータを読出して時刻データ読取り部１０６に与えるものである。
【００３７】
時刻データ読取り部１０６は、データ蓄積部１０５を介して与えられるデータから時刻データを読取り、データを解読することにより、保存時に付加されていた時刻データを認識して分離抽出し、その抽出時刻データを時刻データ挿入部１０３に送ると同時に、当該時刻データを削除したデータをメッセージ処理部１０１に出力する機能を有する。
【００３８】
メッセージ処理部１０１はこのデータを外部プログラムＰ１〜Ｐｎに出力したり、外部プログラムＰ１〜Ｐｎからのデータを取り込んで時刻データ読取り部１０６や外部プログラム情報管理部１０２に渡す機能を有する他、外部プログラムＰ１〜Ｐｎとの接続処理を行ったり、この接続処理を行った際に当該接続を行った外部プログラムについて外部プログラム情報管理部１０２の管理情報テーブルを埋めるため、設定情報送信要求を外部プログラムに出し、これにより外部プログラムから受け取った設定情報を外部プログラム情報管理部１０２に渡すといった処理機能を有するものである。
【００３９】
さらにまた、データ蓄積部１０５を介して読み出されたデータのうち、データを要求する外部プログラムが所要の時点からのデータについて要求する場合に、の時刻データ読取り部１０６の抽出する時刻データから対応する時刻でのデータを知って、これを選択出力してその要求元の外部プログラムに渡すことができる機能をこのメッセージ処理部１０１は有している。
【００４０】
つぎに上記構成のデータ蓄積装置１００の作用を説明する。
データ蓄積装置１００と外部プログラムＰ１〜Ｐｎとが、データ蓄積装置１００の構成要素であるメッセージ処理部１０１を介して接続され、つぎのような処理を行う。
【００４１】
メッセージ処理部１０１から入力された外部プログラムからの入力データは、外部プログラム情報管理部１０２に記憶されている外部プログラム毎の情報をもとに、時刻データ挿入部１０３において時刻データ生成部４により生成された時刻データを付加され、データ蓄積部１０５に送られ、データ蓄積部１０５はこのデータを入力チャネル毎に別ファイルとして大容量記憶装置２００に保存すべく制御して保存する。
【００４２】
保存されるデータはチャネルに応じた所定ブロックサイズのブロック単位で時刻データが付加されたものとなる。
時刻データ挿入部１０３は、外部プログラム情報管理部１０２に記憶されている外部プログラム毎のテーブル情報を参照することにより、どのチャネルの場合は原始データであり、どのチャネルの場合は変換データであるのかといったことを知り、原始データの場合は、時刻データ生成部１０４の生成する現時点での時刻を示す時刻データを挿入し、変換データである場合にはそのデータに付属する付属デ−タを分離抽出して時刻データ生成部１０４に渡し、これにより時刻データ生成部１０４から与えられる時刻デ−タ（対応する原始データに付与した時刻データ）を前記変換デ−タに挿入してデータ蓄積部１０５に送ることになる。
【００４３】
一方、大容量記憶装置２００に保存されたデータは、データ蓄積部１０５の制御のもとに読み出されて時刻データ読出し部１０６に与えられる。時刻データ読出し部１０６はこの読み出されて与えられたデータを解読することにより、保存時に付加されていた時刻データを認識してこれを分離抽出し、時刻データ生成部１０４にその抽出した時刻データを送ると同時に、当該時刻データを削除したデータはメッセージ処理部１０１に出力する。
【００４４】
そして、メッセージ処理部１０１はこのデータを外部プログラムＰ１〜Ｐｎのうち、受取りを待つ対象の外部プログラムに出力する。
外部プログラム情報管理部１０２は、以上のような処理の際に必要な情報をテーブルに記憶している。この情報テーブルの説明のため、後で説明する音声認識システムの全体構成例が図２の場合の情報管理テーブルを図３に示す。
【００４５】
外部プログラム情報管理部１０２の保持する情報管理テーブルは、図に示す例の場合、ＩＤが“１”のオーディオサーバ、ＩＤが“２”の音声認識サーバについて示してある。オーディオサーバの場合、接続チャネルＩＤが“1-1 ”と“1-2 ”、音声認識サーバが“2-1 ”と“2-2 ”であり、接続チャネルＩＤが“1-1 ”のものは種別が“入力”、“1-2 ”のものは種別が“出力”である。また、接続チャネルＩＤが“2-1 ”のものは種別が“入力”、“2-2 ”のものは種別が“出力”である。また、オーディオサーバは入力チャネルはなく、出力チャネルが１チャネルある。音声認識サーバは入力チャネルと出力チャネルがそれぞれ１チャネルある。
【００４６】
オーディオサーバの出力チャネルと音声認識サーバの入力チャネルは、そのデータ種別は“波形”であり、音声認識サーバの出力チャネルは“テキスト”である。オーディオサーバの出力と音声認識サーバの入力のブロックサイズは“１０２４”バイト、音声認識サーバの出力のブロックサイズは“不定”である。
【００４７】
オーディオサーバは入出力間同期は不要であるが、音声認識サーバは必要である。オーディオサーバは転送元チャネルＩＤはなく、音声認識サーバは入力側の転送元チャネルＩＤが“1-2 ”、出力側は無しである。オーディオサーバと音声認識サーバの入力サンプリング周波数はともに８ｋＨｚ、オーディオサーバの時刻挿入インタバルは出力側において“１０２４”バイト、音声認識サーバの時刻挿入インタバルは出力側において“単語”で入力する。オーディオサーバの最大蓄積容量は出力側のものを１００メガバイト、音声認識サーバの最大蓄積容量は出力側のものを１０キロバイトとする。このような内容が設定されている。
【００４８】
そして、この情報を利用して、入力要求のあったプログラムからのデータをブロック単位で、原始データ対応の時刻データ（すなわち、おおもとのデータの発生時刻情報）を付加してデータ蓄積させ、出力要求のあったプログラムに、読出して渡すといったことを行うようにしている。
【００４９】
本発明の特徴は、あるプログラム（サーバ等）から別の他のプログラム（サーバ等）にデータを受け渡す場合に、そのデータを一旦、発生時点の対応が特定できる情報と共に蓄積してから読出して渡すという点にあり、この発生時点の対応が特定できる情報を内部で付加して管理に用いると共に、外部に対しては除去して渡すようにすることによって、変換サーバの動作遅れなどにより、過去のデータが必要になった場合でも、原始データとの対応を以て支障なく時系列順に渡すことができ、また、処理内容の異なる複数の変換サーバとの間で逐次発生した個々の原始データをメディア変換した別種のデータとして受け渡して処理する場合に、どの原始データの変換結果であるのかを、対応がつくように管理できるようにしたことで、蓄積データを利用する他のプログラムの処理を円滑に実施させることができるように支援するようにしたものである。
【００５０】
（音声認識システムへの適用例）
具体例として、本発明を音声認識システムに適用した例を、図２を参照して説明する。この具体例において想定する音声認識システムは、原始データとして、音声を取り込んで、これをテキストデータに変換して応用プログラムに渡すといったシステムである。
【００５１】
図２に示すように、マイクロホンＭＩＣからの音声信号をデータ化して音声データとして出力するオーディオサーバ４００と、このオーディオサーバ４００からの音声データを取り込んで蓄積するとともに、蓄積データ（音声データ）を出力したり、音声認識結果の情報を蓄積する本発明のデータ蓄積装置１００、このデータ蓄積装置１００の音声データを入力して音声認識し、認識結果を再びデータ蓄積装置１００に出力する音声認識サーバ３００と、音声認識サーバ３００からの認識結果を読出し、認識結果に応じて所要の動作をする応用プログラムＰとから構成される。
【００５２】
外部プログラム情報管理部１０２の保持する情報管理テーブルには、データ蓄積装置１００に接続されている外部プログラムのＩＤ番号、外部プログラム名、入出力各々の接続チャネル数、チャネルＩＤ、データ種別、入出力データの１回の転送で行うブロックサイズ（例えば、バイト数でカウント）、入出力データ間の同期処理の要／不要、蓄積データの読出し用ファイルポインタ、時刻挿入インタバル、最大蓄積容量等が記憶されている。
【００５３】
図３の例では、ＩＤが１番の外部プログラムがオーディオ波形の入出力を行うオーディオサーバであり、接続されているチャネル数は出力のみの１ｃｈ（チャネル）、データの種別は波形、ブロックサイズは１０２４bytes 、サンプリング周波数は８kHz 、入出力間の同期処理は不要、となっていることを表す。
【００５４】
ここで、入力、出力は外部プログラム側から見た場合での関係で示してある。また、ＩＤが２番の外部プログラムが音声認識サーバであり、この音声認識サーバは入力および出力がそれぞれ１ｃｈずつで、入力チャネルは波形データを扱い、そのブロックサイズは１０２４bytes 、サンプリング周波数は８kHz 、出力チャネルはテキストを扱い、そのブロックサイズは不定、入出力間の対応付け要となっている。ブロックサイズが不定の場合、データをブロックに切らずに全て一括して転送するようにしている。
【００５５】
つぎにデータ蓄積装置１００の構成を説明する。基本的には図１で説明したものと機能的には変りはないが、音声認識システムに適用する場合にはつぎのようになる。
【００５６】
データ蓄積装置１００においては、図１と同様に、メッセージ処理部１０１、外部プログラム情報管理部１０２、時刻データ挿入部１０３、時刻データ生成部１０４、データ蓄積部１０５、大容量記憶装置２００を備える。
【００５７】
これらのうち、外部プログラムＰと接続してデータの入出力処理を行うメッセージ処理部１０１ではメッセージ交換によりオーディオサーバ４００、音声認識サーバ３００、プログラムＰとの間で情報をやりとりする。ここで、メッセージとは、オーディオサーバ４００，音声認識サーバ３００，外部プログラムＰと蓄積サーバ間で受け渡す全てのデータを指す。
【００５８】
メッセージ処理部１０１におけるメッセージによる通信は、例えば、ＴＰＣ，ＤＥＣｎｅｔ，Ｓｔｒｅａｍなどのバイトストリーム型のプロトコルを利用して実装する。蓄積サーバと他の外部プログラムとの間で交換されるメッセージの種類を図４に示す。
【００５９】
メッセージの種類としては、外部プログラムから蓄積サーバ（データ蓄積装置１００）への要求とその応答としての通知、蓄積サーバから外部プログラムＰへの要求と通知があり、送受信する波形やテキストなどのデータそのものは通知メッセージに含まれる。
【００６０】
具体的なメッセージの種類は図４に示す如く、外部プログラム側からメッセージ処理部側へは、“通信路接続／切断要求”、“設定変更要求”、“データ送受信要求”、“設定情報通知”、メッセージ処理部側から外部プログラム側へは、“設定情報要求”、“エラー通知”、“読出しデータ通知”である。
【００６１】
すなわち、オーディオサーバ４００，音声認識サーバ３００，外部プログラムＰから蓄積サーバであるデータ蓄積装置１００へのメッセージとしては、メッセージ交換するにあたって通信路を接続、または、解放するための通信路接続／切断要求、初期設定の内容を変更する設定変更要求、データの送受信を行うためのデータ送受信要求、データ蓄積装置１００からの要求に応じて設定情報を通知する設定情報通知などがある。
【００６２】
そして、データ蓄積装置１００からオーディオサーバ４００，音声認識サーバ３００，外部プログラムＰへのメッセージとしては、ブロックサイズや同期処理の要／不要など外部プログラムからの要求に応じた蓄積データの送信に相当する読出しデータ通知等がある。
【００６３】
以上に述べたメッセージによる外部プログラムとデータ蓄積装置１００との通信の手順を図５を参照して説明する。ここでは外部プログラムとして音声認識サーバ３００を例にとり、これとの通信手順を説明する。
【００６４】
まず、外部プログラム（音声認識サーバ３００）がデータ蓄積装置１００と接続を行うため、通信路設定要求をデータ蓄積装置１００に出力する（Ｓ１）。通信路設定要求を受けたデータ蓄積装置１００が当該外部プログラム（音声認識サーバ３００）との接続処理を終えると、接続完了の通知メッセージを外部プログラム（音声認識サーバ３００）に返す（Ｓ２）。
【００６５】
つぎにデータ蓄積装置１００のメッセージ処理部１０１は、外部プログラム情報管理部１０２の管理情報テーブルを埋めるため、設定情報送信要求を外部プログラム（音声認識サーバ３００）に出し（Ｓ３）、この要求を受けた外部プログラム（音声認識サーバ３００）は要求された設定情報をデータ蓄積装置１００に通知する（Ｓ４）。データ蓄積装置１００のメッセージ処理部１０１は、この通知された設定情報を外部プログラム情報管理部１０２に渡し、外部プログラム情報管理部１０２はこの設定情報を管理情報テーブルに登録する。
【００６６】
データ蓄積装置１００の外部プログラム情報管理部１０２は、設定情報が得られた場合にはこの設定情報を用いるが、設定情報が得られない場合は、デフォルト値を用いることになる。
【００６７】
これで、外部プログラムは、データ蓄積装置１００とデータの授受ができるようになる。
つぎに、データ入力の場合、外部プログラム（音声認識サーバ３００）がデータ蓄積装置１００にデータ送信要求を出し（Ｓ５）、これを受けてデータ蓄積装置１００はデータを送信する（Ｓ６）。
【００６８】
すなわち、データ送信要求をデータ蓄積装置１００ではメッセージ処理部１０１が受け、これに対処してメッセージ処理部１０１はデータ蓄積部１０５に当該要求に対するデータの読出しを指示する。読出すべきデータは、情報管理テーブルの登録内容より、何のファイルのデータであるのかがわかるため、その対応のファイルのデータを読出すべく、データ蓄積部１０５は記憶装置２００を読出し制御する。
【００６９】
例えば、要求した外部プログラムが音声認識サーバであれば、そのＩＤよりチャネルＩＤ“2-2 ”の入力チャネルに波形データを出すことが分かるので、波形データのファイルから時刻順にデータを読出して時刻データ読取り部１０６に出力し、ここで時刻データを取り除いてからメッセージ処理部１０１を介してチャネルＩＤ“2-2 ”のチャネルからそのデータを出力する。外部プログラムはこれを当該チャネルにて受取り、処理を進める。
【００７０】
データの出力の場合は、外部プログラムがデータ受信要求をデータ蓄積装置１００に出し（Ｓ７）、データ蓄積装置１００のメッセージ処理部１０１がこれを受取ると受信準備完了の通知を発生して前記受信要求を出した外部プログラムに出力し（Ｓ８）、それを受けて外部プログラムがデータを送信する（Ｓ９）。この送信データはデータ蓄積装置１００が受信して蓄積する。
【００７１】
すなわち、外部プログラムが例えば音声認識サーバであったとして、この音声認識サーバからデータ受信要求をデータ蓄積装置１００に出したとする。この要求は音声認識サーバが、取り込んだ音声波形をもとに音声認識して該当の言葉を得るとこれをデータ蓄積装置１００に送り出すべくデータ受信要求を送信する。
【００７２】
データ蓄積装置１００ではこの要求をメッセージ処理部１０１が受けて、受信可能な状態にあればその旨を示す応答を当該音声認識サーバに返すことになる。そして、音声認識サーバはこの応答を受けると認識結果をテキストとして送り出す。その際、音声認識サーバはデータを受取ってからこの送り出しまでに要した時間またはそれに相当する入力データ長をカウントしてそれを付属データとしてこのテキストに付加し、送り出すといったことを行う。
【００７３】
データ蓄積装置１００ではこのテキストをチャネルＩＤ“2-2 ”の出力チャネルを介してメッセージ処理部１０１が受けて、音声認識サーバからの受信データであることを認識し、この受信デ−タを時刻データ挿入部１０３に渡す。
【００７４】
時刻データ挿入部１０３では、得たデータから付属データを分離抽出し、処理に要した時間またはそれに相当する入力データ長を知って、その逆算により、元の時刻を求める。つまり、原始データをサーバによって変換してゆく結果、おおもとのデータである原始データが形を変えて現在のテキストになったわけであるから、その原始データとの対応がつくように処理時間またはそれに相当する入力データ長から逆算して元の時刻（原始データとして取得した時点の時刻）を求め、これを時刻データ挿入部１０３に返す。
【００７５】
時刻データ挿入部１０３ではこれを受けて、時刻データとして受信テキストにこれを付加し、データ蓄積部１０５に渡す。このとき、時刻データ挿入部１０３は、チャネルＩＤ“2-2 ”からのテキストデータであることをデータ蓄積部１０５に知らせるので、データ蓄積部１０５ではこの情報から音声認識サーバからの認識結果としてテキストデータあることを認識して、当該音声認識サーバの認識結果のテキストデータ用ファイルに、この時刻データ挿入部１０３からのテキストを蓄積すべく制御する。その結果、当該テキストは記憶装置２００の音声認識サーバ認識処理結果テキストデータ用ファイルに蓄積されることになる。
【００７６】
しかも、この蓄積されたデータは対応する原始ファイルの時刻データと同じ時刻情報が書き込まれているので、異種データ間での対応関係が掴めるように、データ蓄積装置１００では管理できることになる。
【００７７】
例えば、原始データとして時刻“００時００分００秒”に発生した「はい」と、時刻“００時００分０２秒”に発生した「そうです」という音声の波形データがあり、これが音声認識サーバに渡されてテキストデータ化されたものが「はい」および「そうです」というテキストデータであるとすると、この「はい」なるテキストデータには原始データでの時刻“００時００分００秒”が、そして、「そうです」というテキストデータには原始データでの時刻“００時００分０２秒”が付加されており、その結果、時刻“００時００分００秒”なるデータからテキストデータの「はい」は原始データの「はい」をテキスト化したもの、そして、時刻“００時００分０２秒”なるデータからテキストデータの「そうです」は原始データの「そうです」をテキスト化したものであることが分かることになる。
【００７８】
なお、データの送受信処理は、外部プログラム管理情報に設定されたブロック長のデータ毎に行うが、送受信の度にこのようなメッセージのやりとりを行うのは効率が悪いので、上述したＳ５、Ｓ７、Ｓ８でのメッセージは、データ処理の最初だけ行い、後からは省略するようにすることも可能である。
【００７９】
つぎにデータ蓄積装置１００の詳しい処理手順について説明する。
データ蓄積装置１００には、例えば、オーディオサーバや音声認識サーバ、音声合成サーバ、各種の応用プログラムなどといった複数の外部プログラムＰ１〜Ｐｎが接続され、複数のデータ入出力チャネルが設定される。そして、これら複数の外部プログラムとのデータ入出力処理を行うため、蓄積装置全体の動作は時分割で行う。
【００８０】
すなわち、データ蓄積装置１００のメッセージ処理部１０１は、接続状態にある各外部プログラムとそれぞれの所定のチャネルを使用して入力あるいは出力を時分割的に行うが、これは外部プログラム情報管理部１０２の現在出力中、あるいは入力中のあるデータについて、外部プログラム情報管理テーブルに記憶されている対応のものにおける設定登録されたブロック長分のデータの処理が終了後、つぎの外部プログラム用の１ブロック分の処理を行い、全外部プログラムに関する処理が終了後、つぎの時刻のデータブロックの処理に移る。
【００８１】
これを繰り返すことにより、全外部プログラムＰ１〜Ｐｎの全データに関する処理を行うようにしている。外部プログラム情報管理部１０２のブロック長の設定が「不定」の場合には、一度のメッセージで全データが渡されるようにしている。
【００８２】
大容量記憶装置２００はデータ蓄積装置１００における実際のデータ蓄積を行う部分であり、データ蓄積装置１００からのデータを蓄積し、また読出してデータ蓄積装置１００に渡すものであって、一つのデータストリームに対し、一つのファイルを割り当てて記憶する。データ蓄積装置１００への入力が始まってから、全データを記憶させるようにすることも、大容量記憶装置２００の容量の許す範囲では可能であるが、通常は固定容量を決め、現時点から遡ってその容量分だけ記憶し、古いものから消すようにする方が合理的である。そして、これにより、記憶容量が足りなくなるのを防ぐことができるようになる。
【００８３】
この固定容量の値は、外部プログラム情報管理部１０２の情報管理テーブルにおいて最大容量の項に設定されている値を用いるようにする。図３の例ではオーディオサーバの出力の場合、１００メガバイト(MByte) であり、現時点から遡って当該固定容量分の最新データを記憶するには、例えば、ファイル領域として固定値の領域をとり、サイズが“０”から記憶し始めて最大１００メガバイトに達したところで、つぎのデータはサイズ“０”の位置に記憶するようにする。
【００８４】
読出す際も、同様に、読出し位置がファイル領域の端に達したところで、サイズ“０”の位置に移って読出すようにする。データには時刻情報を付加してあるので、時刻を指定して読出すことも可能である。その場合、最も古いデータを格納している位置から読出し始めて、一致する時刻データが読み出された後のデータから出力するようにすることで実現可能である。
【００８５】
各外部プログラムＰ１〜Ｐｎに対する処理方法は、ケースにより異なっている。ケースはつぎの３種がある。すなわち、外部プログラムから蓄積サーバへのデータ出力のみである場合（“ケース１”）と、蓄積サーバから外部プログラムへのデータ入力のみである場合（“ケース２”）と、外部プログラムが入出力両方を行う場合（“ケース３”）であり、それぞれのケースで異なっている。
【００８６】
これら“ケース１”〜“ケース３”の判別は、現在処理中の外部プログラムのＩＤと、外部プログラム情報管理部１０２のテーブル情報とから行う。すなわち、外部プログラム情報管理部１０２の情報管理テーブルには、外部プログラムのデータチャネル情報が当該外部プログラムのＩＤ情報対応に登録されており、従って、現在処理中の外部プログラムのＩＤから、その外部プログラムのデータチャネルを調べることで、そのデータチャネルが入力のみであるのか、出力のみであるのか、入出力両方であるのかを知ることができる。
【００８７】
その結果、データチャネルが出力のみの設定の場合は“ケース１”、入力のみの設定の場合は“ケース２”、入力と出力両方ある場合は“ケース３”と判別できる。この判別は、時刻データ挿入部１０３と時刻データ読取り部１０６の中で行うようにする。
【００８８】
［ケース１での処理手順］
“ケース１”の場合、まずデータ入出力部であるメッセージ処理部１０１からの入力データに対し、時刻データ挿入部１０３において、処理中のチャネルＩＤからデータの種類に応じて入力データに時刻データを挿入し、データ蓄積部１０５に出力する。時刻データは通常、計算機のユーティリティにより容易に取得可能であり、例えば、計算機がワークステーションである場合は、当該ワークステーションのシステムコールにより取得する。
【００８９】
時刻データが取得できないシステムであれば、時刻の代わりに単に整数のカウンタ値を挿入する方法でも良い。そして、カウンタ値の場合は、ブロック毎にインクリメントするようにする。
【００９０】
時刻データもしくはカウンタ値は、例えば、図６に示すように、データ１ブロック毎に１個入れるようにするが、もっと細かい同期制御が必要な場合は、外部プログラムからの設定要求により、変更し、挿入頻度がより細かくなるように設定することが可能である。
【００９１】
システムが音声認識アプリケーションの場合、音声認識アプリケーションにおけるオーディオサーバの処理は、この“ケース１”にあたる。
時刻データの挿入方法はデータ種類によって異なるようにしており、音声波形や画像データなどの連続データならブロックおきに挿入し、テキストならば一文あるいは一単語おきを標準としているが、これらは外部プログラム情報管理部１０２に設定されている単位毎に行う。
【００９２】
図３の例では、音声波形ならば１０２４バイト／１ブロックおき、単語認識結果なら、単語テキストの先頭と最後、翻訳ならば、一文の先頭と最後等である。この設定は情報設定要求により変更することができる。
【００９３】
［ケース２での処理手順］
つぎに“ケース２”の場合、データ蓄積部１０５から出力データを読出して時刻データ読取り部１０６出力で時刻データを読取り、これを削除してメッセージ処理部１０１へ送る。
【００９４】
複数のデータストリームのデータの時刻を同期させて読出す場合には、各データストリームに関するファイルの最も古いデータから読出し、時刻が指定されている場合には、その時刻と時刻データが一致するまで読み飛ばし、時刻データ読取り部１０６で読み取った時刻が一致するまでデータ蓄積部１０５から読出し、同じ時刻のデータを同時に出力する。
【００９５】
このとき、ブロック処理の単位によって同じ時間長に相当するデータの処理回数が異なるのを避けるため、例えば、大きい方のブロック長に相当する時間長に合わせたブロック長にするようにする。
【００９６】
［ケース３での処理手順］
つぎに“ケース３”の場合の処理手順を、音声認識アプリケーションの音声認識サーバに関する処理を例にとり、データの流れを示す図７を参照しながら説明する。
【００９７】
図７はデータの流れの一例であり、「はい」という音声を含む音声データと、その認識結果である「はい」というテキストデータの各処理部における時間経過を示す。このアプリケーションでは音声データが原始データであり、この原始データを元に、変換処理して最終的に得られるものがテキストデータである。
【００９８】
まず音声データが、外部プログラムの一つであるオーディオサーバからデータ蓄積装置１００に入力されて、これがメッセージ処理部１０１を介して時刻データ挿入部１０６に与えられることにより、当該時刻データ挿入部１０６ではこのデータに時刻データを挿入する。そして、その後、当該時刻データ挿入部１０６はデータ蓄積部１０５にこれを与えて、このデータ蓄積部１０５に記憶させる。
【００９９】
当該記憶させたデータは、この後、すぐにこのデータ蓄積部１０５から読み出され、時刻データ読取り部１０６を通り、メッセージ処理部１０１を介して音声認識サーバに出力され、この音声認識サーバにおいて音声認識されることになる。そして、音声認識サーバは音声認識した後、音声認識結果を再びメッセージ処理部１０１に返す。するとメッセージ処理部１０１はこの音声認識結果を時刻データ挿入部１０３に渡す。
【０１００】
図７において、（Ａ）は外部プログラムの一つであるオーディオサーバから入力されたデータの時刻挿入部１０３における時間経過、（Ｂ）は同データが蓄積部１０５から読み出されて時刻データ読取り部１０６にあるときの時間経過、（Ｃ）は外部プログラムの一つである音声認識サーバにおける音声データ、（Ｄ）は当該音声認識サーバにおける認識結果のテキストデータ、（Ｅ）は同認識結果の蓄積サーバの時刻データ挿入部１０３における時間経過である。
【０１０１】
オーディオサーバからデータ蓄積装置１００に入力されたデータ（Ａ）は、このデータ蓄積装置１００において一旦、データ蓄積部１０５により記憶装置２００に蓄積されるが、すぐに読み出され、音声認識サーバへの出力データを処理する時刻データ読取り部１０６上におかれる。この保存と読出しにより、（Ｂ）のデータは２ブロック分、遅れ、図のような状態になる。なお、この遅れのブロック長は、記憶装置２００の制御方法により異なることもある。
【０１０２】
データ蓄積部１０５による読み出しの手間を省いて時間遅延を少なくするためには、（Ａ）のデータをそのまま認識サーバへの出力データとして用いるようにすることも可能であり、その場合、個々の時間遅延は“０”にできる。
【０１０３】
さらにこの波形データが認識サーバへ送られる際、１ブロック分、遅れることから、認識サーバの内部では（Ｃ）に示すような状態となっている。
外部プログラムの一つである認識サーバでは受取った波形データに対して音声認識処理が行われ、波形データの音声区間の終了後、認識処理に要した時間ｄｄ分の遅れの後に認識結果のテキストを生成して、蓄積サーバに与えることになるが、これが蓄積サーバにおいてファイルに記憶される段階では、データの入出力処理がブロック単位であるからブロック長単位の遅延ｄｒ相当分の遅れとなる。従って、蓄積サーバであるデータ蓄積装置１００の時刻データ挿入部１０３では（Ｅ）のような状態となっている。
【０１０４】
ここで時刻データ挿入部１０３では認識結果のテキストデータに、その入力である波形データの単語区間の始終端のデータ位置であるブロック数を挿入する。認識結果が出力されるまでの時間ｄｒは、認識データや認識処理方式によって異なるのが普通であるため、この時刻を蓄積サーバ側で決めることは困難である。
【０１０５】
そこで、本発明システムでは、外部プログラムの一つである認識サーバ側で、認識結果の出力時点から計った音声区間の始終端の時刻“ｄｗ＋ｄｒ”と“ｄｒ”とを計算して出力することができる構成としておき、当該“ｄｗ＋ｄｒ”と“ｄｒ”とを出力させるようにする。
【０１０６】
そして、このデータは認識結果の付属データとして外部プログラムから蓄積サーバであるデータ蓄積装置１００に受け渡すようにし、データ蓄積装置１００側でこの付属データを分離して逆算することで、原始データにおける取り込み時刻が何時であったかを計算する。具体的には、音声認識結果が蓄積サーバに送られて時刻データ挿入部１０３にあるときの状態（図７の（Ｅ））における時刻データ読取り部１０６上にある音声波形データの時刻を図７に示すようにＴ0 とすると、ｄｗ＋ｄｒ＋ｄａが単語の始端、ｄｒ＋ｄａが終端の時刻となる。その時刻を前記付属データと置き換えることで、変換した最終データであるテキストデータと、その元になった原始データとの対応がとれるようにする。
【０１０７】
ここで“ｄｗ”は音声区間長であり、“ｄａ”は蓄積サーバから音声認識サーバに波形データを送る際の遅れブロック数である。また、“ｄｒ”は音声区間の終端が検出されてから、認識結果が出力されるまでの所要時間または波形データのデータ位置であるブロック数を計れば良いだけなので、これらの値の計算は容易である。外部プログラムは音声認識サーバ以外にも種々のものがあるが、いずれにおいても同様に計算可能である。
【０１０８】
以上の処理の流れにより、外部プログラムの処理する入力データの形には何等変更を加えることなく、入出力データ間の時間対応をとることが可能となり、所要の時点でのデータについて選択的に抽出してメディア変換サーバに渡すことができるようになって、種々のメディア変換サーバを組み合わせたアプリケーションが容易に開発可能になる。
【０１０９】
なお、本発明の具体例では、データ蓄積サーバをデータ蓄積装置という呼称で説明したが、これを実現するのはハードウエアでも、ソフトウエアであっても良い。
【０１１０】
以上、本発明は、あるプログラム（サーバ等）で得られたデータ（おおもとのデータ、すなわち、原始データ）を別の他のプログラム（サーバ等）にデータを受け渡してここでこのデータを別の形式のデータに変換して取得するといった場合に、各段階でのデータを一旦、おおもとのデータとの対応がつくように、例えば、発生時点の対応がつくような情報と共に蓄積してから読出して渡すという点にあり、この発生時点の対応がつくようにする情報を内部で付加して内部での管理にのみ用いると共に、外部に対しては除去して渡すようにすることによって、変換サーバの動作遅れなどにより、過去のデータが必要になった場合でも、原始データとの対応を以て支障なく時系列順に渡すことができ、また、処理内容の異なる複数の変換サーバとの間で逐次発生した個々の原始データをメディア変換した別種のデータとして受け渡して処理する場合に、どの原始データの変換結果であるのかを、対応がつくように管理できるようにしたことで、蓄積データを利用する他のプログラムの処理を円滑に実施させることができるように、支援することができるようにしたものである。
【０１１１】
従って、計算機負荷が大きくなった場合に、入力の連続データが途切れることによる音声認識等のサーバの性能低下を防ぐことができる。また、メディア変換サーバを用いてアプリケーションシステムを開発する際、アプリケーション毎に特別な同期処理を行わなくとも、複数の外部プログラムから入出力されるデータ間の同期を簡単に取ることができるため、音声認識、音声合成、自動翻訳等のメディア変換プログラムを相互に接続した応用プログラムを相互に接続した応用プログラムを簡単に開発できるようになる。
【０１１２】
【発明の効果】
以上、詳述したように本発明によれば、計算機負荷が増大して処理が追い付かず入力の連続データを処理し切れず、データの途切れが生じることによる音声認識等のサーバの性能低下を防ぐことができる。また、メディア変換サーバを用いてアプリケーションシステムを開発する際、アプリケーション毎に特別な同期処理を行わなくとも、複数の外部プログラムから入出力されるデータ間の同期を簡単に取ることができるため、音声認識、音声合成、自動翻訳等のメディア変換プログラムを相互に接続した応用プログラムを簡単に開発できるようになる。
【図面の簡単な説明】
【図１】本発明を説明するための図であって、本発明システムの構成例を示すブロック図。
【図２】本発明を説明するための図であって、本発明を適用した音声認識システムの全体構成例を示すブロック図。
【図３】本発明を説明するための図であって、全体構成例が図２の場合での情報管理テーブル例を示す図。
【図４】本発明を説明するための図であって、蓄積サーバと他の外部プログラムとの間で交換されるメッセージの種類の例を示す図。
【図５】本発明を説明するための図であって、外部プログラムとデータ蓄積装置１００との通信の手順の例を説明するための図。
【図６】本発明を説明するための図であって、時刻データもしくはカウンタ値の挿入例を示す図。
【図７】本発明を説明するための図であって、“ケース３”の場合の処理手順を、音声認識アプリケーションの音声認識サーバに関する処理を例にとって説明する図。
【図８】従来の応用システムの例としての音声認識インタフェースを示す図。
【図９】従来例を説明するための図。
【図１０】従来例を説明するための図であって、処理を対話的ではなく、バッチ的に一括して行ってから、合成音の出力と、それに対応する元の英語テキストの表示を行う場合のシステムの構成図。
【符号の説明】
Ｐ１〜Ｐｎ…外部プログラム
１００は本発明によるデータ蓄積装置
２００は大容量記憶装置
１０１…メッセージ処理部
１０２…外部プログラム情報管理部
１０３…時刻データ挿入部
１０４…時刻データ生成部
１０５…データ蓄積部
１０６…時刻データ読取り部。
【図１】
0003691878.tif 000002
【図２】
0003691878.tif 000003
【図３】
0003691878.tif 000004
【図４】
0003691878.tif 000005
【図５】
0003691878.tif 000006
【図６】
0003691878.tif 000007
【図７】
0003691878.tif 000008
【図８】
0003691878.tif 000009
【図９】
0003691878.tif 000010
【図１０】
0003691878.tif 000011