(57)【要約】【課題】オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクさせる方法および装置を提供する。【解決手段】一実施形態において、これは、オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、デジタル化スピーチオーディオを受け取り、送出する音声フレームワーク１１０を使用することにより達成される。音声フレームワーク１１０は、受け取ったデジタル化スピーチオーディオをコンピュータ読取可能テキストに変換する。さらに音声フレームワーク１１０は、スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、コンピュータ読取可能テキストを受け取り、スピーチ駆動アプリケーションに送出する。音声フレームワーク１１０は、次に、コンピュータ読取可能テキストを変換する。【選択図】図１
2006031701.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、かつ、スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクする音声フレームワーク。
【請求項２】
オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクする前記音声フレームワークが、
前記オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、デジタル化スピーチオーディオを受け取りかつ送出するオーディオ対応デバイスアダプタ、
を具備する、請求項１に記載の音声フレームワーク。
【請求項３】
スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクする前記音声フレームワークが、
前記スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、前記スピーチ駆動アプリケーションからコンピュータ読取可能テキストを受け取りかつ送出するスピーチ駆動アプリケーションアダプタ、
を具備する、請求項２に記載の音声フレームワーク。
【請求項４】
前記受け取ったデジタル化スピーチオーディオを前記コンピュータ読取可能テキストに変換し、かつ前記受け取ったコンピュータ読取可能テキストを前記デジタル化スピーチオーディオに変換するスピーチエンジンハブであって、スピーチエンジンに依存しないスピーチエンジンハブ、
を具備する、請求項３に記載の音声フレームワーク。
【請求項５】
前記スピーチエンジンハブが、
前記受け取ったデジタル化スピーチオーディオを前記コンピュータ読取可能テキストに変換するスピーチ認識エンジンと、
前記コンピュータ読取可能テキストを前記デジタル化スピーチオーディオに変換するテキスト・スピーチ変換（ＴＴＳ）エンジンと、
を備えている、請求項４に記載の音声フレームワーク。
【請求項６】
スピーチエンジンハブと、
特定のオーディオ対応デバイスと前記スピーチエンジンハブとの間にオーディオ対応デバイス独立インタフェースを提供するオーディオ対応デバイスアダプタであって、該オーディオ対応デバイスアダプタは、オーディオ対応デバイス独立およびソフトウェアプラットフォーム独立パラメータのうちの特定のものを指定することなく、前記特定のオーディオ対応デバイスからデジタル化スピーチオーディオを受け取り、前記スピーチエンジンハブは、該オーディオ対応デバイスアダプタに通信可能に結合されて、前記デジタル化オーディオスピーチをコンピュータ読取可能テキストに変換する、オーディオ対応デバイスアダプタと、
前記スピーチエンジンハブに通信可能に結合されて、スピーチ駆動アプリケーションと前記スピーチエンジンハブとの間にスピーチ駆動アプリケーション独立インタフェースを提供するスピーチ駆動アプリケーションアダプタであって、前記スピーチエンジンハブは、前記コンピュータ読取可能テキストを前記スピーチ駆動アプリケーションアダプタに送出し、該スピーチ駆動アプリケーションアダプタは、スピーチ駆動アプリケーション独立およびソフトウェアプラットフォーム独立パラメータのうちの特定のものを指定することなく前記デジタル化オーディオスピーチを特定のスピーチ駆動アプリケーションに送出する、スピーチ駆動アプリケーションアダプタと、
を具備するシステム。
【請求項７】
前記スピーチ駆動アプリケーションアダプタは、前記スピーチ駆動アプリケーション独立およびソフトウェアプラットフォーム独立パラメータのうちの特定のものを指定することなく、特定のスピーチ駆動アプリケーションから前記コンピュータ読取可能テキストを受け取り、前記スピーチエンジンハブは、前記スピーチ駆動アプリケーションアダプタから受け取った前記コンピュータ読取可能テキストを前記デジタル化スピーチオーディオに変換する、請求項６に記載のシステム。
【請求項８】
前記スピーチエンジンハブは、前記デジタル化スピーチオーディオを前記オーディオ対応デバイスアダプタに送出し、該オーディオ対応デバイスアダプタは、前記オーディオ対応デバイス独立およびソフトウェアプラットフォーム独立パラメータのうちの特定のものを指定することなく、前記デジタル化スピーチオーディオを特定のオーディオ対応デバイスに送出する、請求項７に記載のシステム。
【請求項９】
前記スピーチエンジンハブが、
前記デジタル化スピーチオーディオを前記コンピュータ読取可能テキストに変換するスピーチ認識エンジンと、
前記コンピュータ読取可能テキストを前記デジタル化スピーチオーディオに変換するＴＴＳエンジンと、
を備えている、請求項６に記載のシステム。
【請求項１０】
前記スピーチエンジンハブが、
アプリケーションニーズに基づき該スピーチエンジンハブを起動し構成することにより、特定のスピーチエンジンサービスをロードするスピーチレジスタ、
をさらに備えている、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはスピーチ対応（speech enabled）コンピューティングに関し、特に、スピーチ対応コンピューティングのための音声フレームワークに関する。
【背景技術】
【０００２】
今日のますます競争的になってきているビジネス環境において、会社は、消費者、従業員および取引先と連絡を取り続けるためのより効率的かつ有効な方法を見つけなければならない。競争力を保つために、会社は、企業資源、取引データおよび他の情報に対し容易にどこからでもアクセスすることができるようにしなければならない。かかるサービスを提供するために、現行のインフラストラクチャに統合され、柔軟性およびスケーラビリティを維持し、かつオープン業界ソフトウェア標準を使用する音声ソリューションが必要とされている。
【０００３】
音声ソリューションに対する（人々と対話するための）現行の音声フレームワークは、電話、ＰＤＡ（携帯情報端末）、ラップトップおよびデスクトップ等のオーディオ対応デバイスに組み込まれたオーディオ入力デバイス（マイクロフォン）およびオーディオ出力デバイス（スピーカ）に依存するスピーチ駆動アプリケーションを使用する。オーディオ入力デバイスから受け取られるオーディオ入力データ（発話語（spoken word）データ）は、オーディオ回路を介してスピーチ認識エンジンに提供することができ、そこでコンピュータ認識可能テキストに変換される。そして、変換されたコンピュータ認識可能テキストは、一般に、電気通信アプリケーション、カスタマイズアプリケーション、ポータル、ウェブアプリケーション、ＣＲＭアプリケーション（顧客関係管理アプリケーション）、知識管理システムおよびさまざまなデータベース等、さまざまなスピーチ駆動ビジネスアプリケーションに送信される。オーディオ入力デバイスおよびオーディオ出力デバイスを有する各オーディオ対応デバイスは、それら自体の固有のスピーチ認識エンジンが、オーディオ対応デバイス依存パラメータに起因して、オーディオ回路を介してオーディオ入力データおよびオーディオ出力データをスピーチ駆動アプリケーションに提供することを必要とする場合がある。
【０００４】
同様に、現行の音声アプリケーションは、スピーチ駆動アプリケーションにおいて発生するコンピュータ認識可能テキストをテキスト・スピーチ変換（ＴＴＳ）エンジンに送出し、ＴＴＳエンジンは、オーディオ回路を介してオーディオ出力デバイスに提供されるオーディオ出力データに変換する。スピーチ駆動アプリケーションとオーディオ対応デバイスとの間におけるコンピュータ認識可能テキストのかかる転送に適応するために、ＴＴＳエンジンは、メディアトランスポートプロトコルおよびメディアトランスポート特定パラメータ、たとえばフレームサイズおよびパケット遅延等のアプリケーション依存パラメータのために、特有でなければならない場合がある。
【０００５】
さらに、スピーチ認識およびＴＴＳエンジンは、ＳＡＰＩ（スピーチアプリケーションプログラミングインタフェース）、ＶｏｉｃｅＸＭＬ（音声拡張マークアップ言語）および他のかかるカスタムソリューション等、進化しつつあるスピーチアプリケーションプラットフォームに準拠していなければならない場合もある。このため、スピーチ認識およびＴＴＳエンジンは、スピーチアプリケーションプラットフォーム依存パラメータのために特有でなければならない場合もある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したデバイス、アプリケーションおよびプラットフォーム依存パラメータのために、スピーチ認識エンジンおよびＴＴＳエンジンを含む現行の音声フレームワークでは、オーディオ対応デバイス、スピーチアプリケーションプラットフォームおよびスピーチ駆動アプリケーションにおける動的変化に適応するために広範囲なリアルタイムの変更が必要な場合がある。音声フレームワークに対するかかるリアルタイムの変更は、非常に費用および時間がかかる可能性がある。さらに、上述した依存パラメータのために、現行の音声フレームワークは柔軟性がなく、一般にスケーラブルでない可能性がある。さらに上述した依存パラメータために、現行の音声フレームワークは、オーディオ対応デバイス、スピーチ駆動アプリケーション、スピーチエンジンおよびスピーチアプリケーションプラットフォーム依存のままである。さらに、現行のソリューションは、計算集約的であって、特別なハードウェアインフラストラクチャが必要である場合があり、それは非常に費用がかかる可能性がある。
【０００７】
したがって、既存のウェブおよびデータ資源を複製しないが利用する方法で音声ソリューションを提供することができ、現行のインフラストラクチャに統合され、柔軟性およびスケーラビリティを維持し、プラットフォーム独立であり、オープン業界ソフトウェア標準を使用する販売、保険、銀行業務、小売りおよび健康管理等の垂直アプリケーションにわたって容易に配備することができる、費用効率のよい音声フレームワークが必要とされている。
【課題を解決するための手段】
【０００８】
本発明は、オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクさせる音声フレームワークを提供する。一例としての実施形態では、本主題の音声フレームワークは、オーディオ対応デバイスアダプタと、スピーチエンジンハブと、スピーチ駆動アプリケーションアダプタと、を有する。この例としての実施形態では、オーディオ対応デバイスアダプタは、オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、デジタル化スピーチオーディオを受け取りスピーチエンジンハブに送出する。そして、スピーチエンジンは、受け取ったデジタル化オーディオスピーチをコンピュータ読取可能テキストに変換する。実施形態によっては、スピーチエンジンを、受け取ったデジタル化オーディオスピーチをコンピュータ読取可能データに変換するように想定することができる。そして、スピーチ駆動アプリケーションアダプタは、スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、コンピュータ読取可能テキストを受け取りスピーチ駆動アプリケーションに送出する。
【０００９】
この一例としての実施形態においてさらに、スピーチ駆動アプリケーションアダプタは、スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、コンピュータ読取可能テキストをスピーチ駆動アプリケーションから受け取り送出する。そして、スピーチエンジンハブは、コンピュータ読取可能テキストをデジタル化オーディオスピーチに変換する。そして、オーディオ対応デバイスアダプタは、オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、デジタル化スピーチオーディオを受け取りオーディオ対応デバイスに送出する。
【発明を実施するための最良の形態】
【００１０】
本主題は、スピーチエンジンハブを介してスピーチ駆動アプリケーションを１つまたは複数のオーディオ対応デバイスにリンクする音声フレームワークを提供する。さらに、本技法は、オーディオデバイスと、スピーチ駆動アプリケーションと、スピーチ対応アプリケーション、すなわち「話し聞く」能力を有し人間と対話することができるアプリケーションを構築するために使用することができるスピーチアプリケーションプラットフォーム独立音声フレームワークと、を提供する。さらに、音声フレームワークは、垂直またはさまざまなビジネスアプリケーションにわたって実施することができるように柔軟性を提供する。一例としての実施形態では、これを、一般に音声アプリケーションにみられる基本的なコンポーネントを使用することによって達成する。音声フレームワークは、オーディオ対応デバイスと、スピーチ駆動アプリケーションと、音声アプリケーションに対し費用効率がよくかつ配備がより容易なソリューションを提供するスピーチアプリケーションプラットフォーム独立コンポーネントと、を含む。
【００１１】
本発明のさまざまな実施形態の以下の詳細な説明では、本明細書の一部を形成し、本発明を実施することができる特定の実施形態を例として示す添付図面を参照する。これらの実施形態について、当業者が本発明を実施することができるほど十分詳細に説明する。また、他の実施形態を利用してもよく、本発明の範囲から逸脱することなく変更を行ってもよい、ということを理解すべきである。したがって、以下の詳細な説明は、限定する意味でとられるべきではなく、本発明の範囲は添付の特許請求の範囲によってのみ定義される。
【００１２】
図１は、本発明のさまざまな実施形態による、オーディオ対応デバイスをスピーチ駆動アプリケーションにリンクする動作を示す音声フレームワークのブロック図１００である。図１に示すブロック図１００は、１つまたは複数のオーディオ対応デバイス１０５と、音声フレームワーク１１０と、スピーチ駆動アプリケーションモジュール１５０と、を示す。図１に示すように、１つまたは複数のオーディオ対応デバイス１０５は、コンピュータネットワーク１２５を介して音声フレームワーク１１０に通信可能に結合される。また、図１には、コンピュータネットワーク１２５を介して音声フレームワーク１１０に通信可能に結合されたスピーチ駆動アプリケーションモジュール１５０も示す。
【００１３】
さらに図１に示すように、スピーチ駆動アプリケーションモジュール１５０は、電気通信アプリケーション、カスタマイズアプリケーション、ポータル、ウェブアプリケーション、ＣＲＭシステムおよび知識管理システム等の１つまたは複数のスピーチ駆動アプリケーションを含む。さらに図１に示すように、音声フレームワーク１１０は、オーディオ対応デバイスアダプタ１２０と、スピーチエンジンハブ１３０と、マークアップインタプリタモジュール１６０と、セキュリティモジュール１６２と、スピーチ駆動アプリケーションアダプタ１４０と、を有する。また、図１には、オーディオ対応デバイスアダプタ１２０と、スピーチエンジンハブ１３０と、マークアップインタプリタモジュール１６０と、セキュリティモジュール１６２と、スピーチ駆動アプリケーションアダプタ１４０と、に通信可能に結合されたアプリケーション管理サービスモジュール１６６も示されている。さらに、図１に示すように、スピーチエンジンハブ１３０は、スピーチ認識エンジン１３２とテキスト・スピーチ変換（ＴＴＳ）エンジン１３４と、を有する。
【００１４】
動作時、オーディオ対応デバイスアダプタ１２０は、オーディオ対応デバイス独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、１つまたは複数のオーディオ対応デバイス１０５からデジタル化スピーチオーディオを受け取る。実施形態によっては、オーディオ対応デバイスアダプタ１２０は、ネットワーク１２５を介して１つまたは複数のオーディオ対応デバイス１０５からデジタル化スピーチオーディオを受信する。１つまたは複数のオーディオ対応デバイス１０５は、電話、携帯電話、ＰＤＡ（携帯情報端末）、ラップトップコンピュータ、スマートフォン、タブレットパーソナルコンピュータ（タブレットＰＣ）およびデスクトップコンピュータ等のデバイスを含むことができる。オーディオ対応デバイスアダプタ１２０には、電話アダプタ、ＰＤＡアダプタ、ウェブアダプタ、ラップトップコンピュータアダプタ、スマートフォンアダプタ、タブレットＰＣアダプタ、ＶｏＩＰアダプタ、ＤＴＭＦ（dual-tone-multi-frequency）アダプタ、組み込みシステムアダプタおよびデスクトップコンピュータアダプタ等の関連アダプタが含まれる。
【００１５】
そして、スピーチエンジンハブ１３０は、オーディオ対応デバイスアダプタ１２０を介して１つまたは複数のオーディオ対応デバイス１０５からデジタル化スピーチオーディオを受け取り、そのデジタル化オーディオスピーチをコンピュータ読取可能テキストに変換する。実施形態によっては、スピーチ認識エンジン１３２は、受け取ったデジタル化オーディオスピーチをコンピュータ読取可能データに変換する。音声フレームワーク１１０で使用されるスピーチエンジンハブ１３０は汎用的であってもよく、概して任意のベンダのスピーチエンジンをサポートすることができる。さらに、スピーチエンジンハブ１３０は、音声フレームワーク１１０が音声フレームワーク１１０内の他のモジュールと対話するために必要なルーチンおよび本質的なアクティビティを実行するコンポーネントを有することができる。
【００１６】
これらの実施形態では、スピーチエンジンハブ１３０は、スピーチ認識およびスピーチ合成動作を実行し、すなわち、発話語はコンピュータ読取可能テキストに変換され、コンピュータ読取可能テキストは音声フレームワーク１１０の要求に応じてデジタル化スピーチオーディオに変換される。スピーチエンジンハブ１３０は、システム管理者によってより容易に構成されるように設計される。スピーチエンジンハブ１３０のアーキテクチャは、音声認識の精度を自動的に向上させる能力を有することができる。これを、文法モジュールを使用することによって達成する。マークアップインタプリタモジュール１６０とともにスピーチエンジンハブ１３０は、ＳＡＬＴ（音声アプリケーション言語タグ）およびＶｏｉｃｅＸＭＬ等、マークアップ言語に対して必要なサポートを提供する。さらに、スピーチエンジンハブ１３０はまた、複数の言語を使用する能力を提供するようにほとんどの言語を翻訳する能力も有する。
【００１７】
またこれらの実施形態では、スピーチエンジンハブ１３０は、スピーチエンジンハブ１３０の性能を向上させるために必要な微調整により、認識の精度を向上させる手段を提供する。スピーチエンジンハブ１３０はまた、規格の準拠を支援するＳＡＬＴおよびＶｏｉｃｅＸＭＬ等のさまざまな新生の音声マークアップ言語に対する事前に定義された文法および支援をロードするインタフェースも提供することができる。これを、言語トランスレータモジュール２３０（図２に示す）を使用して適当な言語アダプタを利用することにより達成する。
【００１８】
さらにこれらの実施形態では、ＴＴＳエンジン１３４は、基礎となるスピーチ認識エンジンを抽象化し音声フレームワーク１１０に対し一様なインタフェースを提供する、スピーチ認識部１３６を含む。たとえば、スピーチ認識タスクを要求している発呼者が、基礎となるスピーチエンジンに気付かない場合がある。かかる場合、発呼者は、音声入力を図２に示すスピーチ認識部１３６に送出することができ、文字に置き換えられたテキストストリングを取得することができる。またこれらの実施形態では、ＴＴＳエンジン１３４は、基礎となるスピーチ合成エンジンを抽象化し音声フレームワーク１１０に対し一様なインタフェースを提供する、図２に示すスピーチ合成部１３８を有する。同様に、スピーチ合成タスクを要求している発呼者は、基礎となるスピーチエンジンに気付かない場合がある。かかる場合、発呼者は、テキストストリングを合成部に対する入力として送出し、スピーチストリームを取得することができる。
【００１９】
そして、スピーチ駆動アプリケーションアダプタ１４０は、スピーチ駆動アプリケーション独立およびスピーチアプリケーションプラットフォーム独立パラメータのうちの特定のものを指定することなく、スピーチエンジンハブ１３０からコンピュータ読取可能テキストを受け取り、そのコンピュータ読取可能テキストを、ネットワーク１２５を介してスピーチ駆動アプリケーションモジュール１５０に送信する。スピーチ駆動アプリケーションモジュール１５０は、電話アプリケーション、カスタマイズアプリケーション、ポータル、ウェブアプリケーション、ＣＲＭシステム、知識管理システム、対話スピーチ対応音声応答システム、マルチモーダルアクセス対応ポータル等、１つまたは複数の企業アプリケーションを含むことができる。スピーチ駆動アプリケーションアダプタ１４０は、ウェブ／ＨＴＭＬ（ハイパーテキストマークアップ言語）アダプタ、データベースアダプタ、レガシアプリケーションアダプタ、ウェブサービスアダプタ等の関連するアダプタを含むことができる。
【００２０】
ここで図２を参照すると、本発明のさまざまな実施形態による、図１に示す音声フレームワークの一例としての実施態様のブロック図２００が示されている。図２に示すブロック図２００は、ヘッドエンドサーバ２１２と、特権サーバ２１４と、構成マネージャ２１６と、ログマネージャ２１８と、警報マネージャ２２０と、スピーチエンジンハブ１３０と、マークアップインタプリタモジュール１６０と、データサーバ２２４と、機能ネゴシエータ２２２と、オーディオストリーマ２２６と、生オーディオアダプタ２２８と、言語トランスレータモジュール２３０と、スピーチ駆動アプリケーションアダプタ１４０と、を示す。
【００２１】
図２に示すように、マークアップインタプリタモジュール１６０は、ＶｏｉｃｅＸＭＬインタプリタ２５２と、ＳＡＬＴインタプリタ２５４と、命令インタプリタ２５６と、を有する。さらに図２に示すように、スピーチエンジンハブ１３０は、スピーチ認識エンジン１３２と、ＴＴＳエンジン１３４と、スピーチレジスタ２６０と、を有する。また、図２に示すように、スピーチ駆動アプリケーションアダプタ１４０は、ウェブアダプタ、ＰＤＡアダプタ、ＤＴＭＦアダプタ、ＶｏＩＰ（ボイスオーバインターネットプロトコル）アダプタおよび組み込みシステムアダプタ等のアダプタを有する。
【００２２】
動作時、マークアップインタプリタモジュール１６０により、スピーチ駆動アプリケーションおよびオーディオ対応デバイス１０５は、ＶｏｉｃｅＸＭＬインタプリタ２５２、ＳＡＬＴインタプリタ２５４、命令インタプリタ２５６、およびオーディオデバイスが音声フレームワーク１１０と通信するのを可能にするのを促進することができる他のかかるプロプラエタリ命令インタプリタ等のインタプリタを使用して、業界準拠命令セットおよびマークアップ言語を介して音声フレームワーク１１０と通信することができる。
【００２３】
実施形態によっては、スピーチレジスタ２６０は、特定のアプリケーション要求に基づいてスピーチエンジンハブ１３０を起動し構成することにより特定のスピーチエンジンサービスをロードする。スピーチレジスタ２６０は、スピーチ認識部１３６およびスピーチ合成部１３８に関する構成情報を保持し、音声フレームワーク１１０が、スピーチレジスタ２６０を使用して、アプリケーション要求に基づいてスピーチエンジン合成部と認識部とのうちのいずれをロードすべきかを判断することができる。たとえば、これらのバージョンの各々を含む新たなモジュールを、レジストリの情報を更新することによって音声フレームワーク１１０にプラグインすることができる。これらの実施形態では、音声フレームワーク１１０は、スピーチ合成部およびスピーチ認識部の複数のインスタンスをサポートすることができる。スピーチレジスタ２６０はまた、単層ファイルまたはデータベース等、複数の方法で構成情報を保持することも可能である。これらの実施形態では、ヘッドエンドサーバ２１２は、図２に示すようにスピーチ駆動アプリケーションアダプタ１４０を起動し管理する。
【００２４】
実施形態によっては、構成マネージャ２１６は、スピーチ駆動アプリケーションアダプタ１４０に関連する構成情報、すなわち音声フレームワーク１１０のスピーチ駆動アプリケーション１５０に関連する構成情報を維持する。これらの実施形態では、構成マネージャ２１６は、音声フレームワーク１１０に関連するすべての構成情報のための中央リポジトリであり得る。構成マネージャ２１６は、音声フレームワーク１１０のモジュールの各々がどこにあるかと、それらがいかに構成されるかと、に関する情報を含む。これは、概して、構成マネージャ２１６における管理モジュールを使用して、いくつかのモジュールを音声フレームワーク１１０の一部としてセットアップし、かつ／または他のモジュールをオフにすることにより達成される。
【００２５】
これらの実施形態では、構成マネージャ２１６は、管理モジュールが要求するようにデータの翻訳を管理する構成データ提示部を備える。構成マネージャ２１６はまた、音声フレームワーク１１０に対する構成情報を検索し更新するために使用することも可能である。さらにこれらの実施形態では、構成マネージャ２１６は、構成データ格納および検索を管理する構成データディスパッチャを有する。構成データディスパッチャは、音声フレームワーク１１０におけるアクティビティの残りから各データ格納および検索アクティビティを抽出する。さらに、構成データ提示部は、構成データディスパッチャと対話することにより、異なる構成情報格納アクティビティからデータを送出し取得する。さらにこれらの実施形態では、構成マネージャ２１６は、構成格納アクティビティの実際の実施態様を発行する構成データ発行部を有する。
【００２６】
他の実施形態では、ログマネージャ２１８は、音声フレームワーク１１０の動作を追跡する。さらに、ログマネージャ２１８は、動作メッセージを追跡し、ログ記録された動作メッセージの報告を生成する。これらの実施形態では、ログマネージャ２１８は、概して音声フレームワーク１１０に対しロギング能力を提供する。ログマネージャ２１８は、ＸＭＬ準拠であってもよい。また、ログマネージャ２１８を、ログメッセージスキーマ、重大度、出力ストリーム等、さまざまなロギングパラメータに対して構成してもよい。
【００２７】
実施形態によっては、ログマネージャ２１８は、シリアライズすることができる、ＸＭＬ準拠のメッセージオブジェクトモジュールを含む。メッセージオブジェクトモジュールは、メッセージの所有者、メッセージ送信者の名前、メッセージタイプ、タイムスタンプ等、受け取ったメッセージに関するすべての情報を含む。またこれらの実施形態では、ログマネージャ２１８は、受け取ったメッセージのすべてをその中間形態で、すなわちメッセージがポストされた時とメッセージがロギングのために処理された時との間で保持するログメッセージ待ち行列モジュールを含む。メッセージ待ち行列モジュールはまた、ログエンジンサービスの非同期動作メカニズムに有用である。これらの実施形態では、待ち行列を、待ち行列にアクセスするインタフェースを開示（expose）するクラスによってカプセル化することができる。またこれらの実施形態では、ログマネージャ２１８を、ログマネージャ２１８のみがログメッセージ待ち行列にアクセスすることができるようにセットアップすることができる。待ち行列クラスを、受け取ったメッセージに対し新たなポスティングがある場合にログマネージャ２１８に通知されるようにセットアップしてもよい。さらに、これらの実施形態では、ログマネージャ２１８は、ログマネージャ２１８によってインスタンス化することができるログプロセッサを含む。これらの実施形態におけるログプロセスの役割は、ログメッセージを処理し、それらをログライタにディスパッチすることである。これらの実施形態において、ログプロセッサは、構成ファイルにおけるポリシ特定情報セットを顧慮し、ログメッセージに対し任意の指定されたルールを適用することができる。
【００２８】
実施形態によっては、音声フレームワーク１１０は、特権サーバ２１４を有し、それは、音声フレームワーク１１０の動作中、クライアントに対し音声フレームワーク１１０にアクセスする特権を認証し、認可し、許可する。これらの実施形態では、データサーバ２２４は、データ記憶システムおよびデータ検索システムをスピーチエンジンハブ１３０にインタフェースするのを容易にする。
【００２９】
実施形態によっては、警報マネージャ２２０は、音声フレームワークモジュール内にかつ複数箇所に配備された音声フレームワーク１１０間に警報をポストする。たとえば、モジュールがシャットダウンしまたはモジュールにエラーが発生した場合に、警報マネージャ２２０に対し警報をポストすることができる。そして、警報マネージャ２２０は、受け取った警報メッセージに対しポリシを適用し、シャットダウンおよび／または発生したエラーによって影響を受けるモジュールに対し警報を転送することができる。警報マネージャ２２０はまた、肯定応答を処理することもでき、モジュールが使用不能である場合に再試行することができる。これは、モジュールがマシンにわたって分散されている場合であり、ネットワーク状態がメッセージを再度送信することを必要とする可能性がある場合に、特に有用であり得る。
【００３０】
これらの実施形態では、警報マネージャ２２０は、警報待ち行列モジュールを含む。警報待ち行列モジュールは、音声フレームワーク１１０における異なるコンポーネントにポストされるメッセージを保持する。警報マネージャ２２０は、入来メッセージを待ち行列に配置する。これらの実施形態ではまた、警報マネージャ２２０は警報プロセッサとともに、受け取った新たなメッセージに対し警報待ち行列をポーリングしそのメッセージをフェッチする。警報プロセッサは、ポリシエンジンと対話することにより、再試行回数、メッセージクライアント、満了時刻、肯定応答要求等、受け取ったメッセージに対して適用するルールを抽出することができる。これらの実施形態において、警報プロセッサは、待ち行列からメッセージをフェッチする。メッセージは、受取側モジュールから肯定応答を受け取るまで待ち行列に残ることができる。
【００３１】
さらにこれらの実施形態では、警報マネージャ２２０は、警報ディスパッチャを有し、これは、さまざまなメッセージクライアントに対する実際のメッセージディスパッチングを処理することができる音声フレームワーク１１０のワーカモジュールである。警報ディスパッチャは、警報プロセッサからメッセージエンベロープを受け取り、再試行、メッセージクライアントタイプ等の指定されたルールを読み出す。そして、警報ディスパッチャは、通知者（notifier）レジスタに問合せすることにより、意図された受信者が理解することができるフォーマットに従ってメッセージを翻訳することができる適当な通知者オブジェクトを取得する。そして、警報ディスパッチャはメッセージを通知者にポストする。もし何らかの理由によりメッセージが音声フレームワークを通過しない場合には、警報ディスパッチャが再試行の動作を行い、メッセージを再送信する。
【００３２】
またこれらの実施形態では、警報マネージャは、さまざまなメッセージに関するポリシ情報の格納および検索のすべてを抽象化するポリシエンジンを有する。これらの実施形態では、ポリシエンジンは、優先順位に基づくメッセージフィルタリング、再試行回数、満了時刻等に基づくポリシ情報を維持する。ポリシマネージャはまた、データベースおよび／または単層ファイルに対して実行されるさまざまな格納動作中にポリシ情報を維持することも可能である。
【００３３】
警報マネージャ２２０はまた、報告マネージャを有することもでき、それは、肯定応答待ち行列からメッセージ肯定応答を抽出する。そして、報告マネージャは、ポリシエンジンに対し、各肯定応答をいかに処理するかに関する情報を問い合わせる。報告マネージャによる動作は、肯定応答が受け取られると警報待ち行列からオリジナルメッセージを除去することであることができる。
【００３４】
警報マネージャ２２０はまた、音声フレームワーク１１０におけるさまざまな通知者から肯定応答メッセージを受け取る、肯定応答待ち行列モジュールを有することもできる。そして、報告マネージャは、待ち行列を読み出すことにより、肯定応答特定動作を実行する。警報マネージャ２２０はまた、音声フレームワーク１１０によって支援されるさまざまな通知者に関する情報を含むことができる通知者レジスタを有することもできる。通知者レジスタの情報は、後に警報ディスパッチャが、特定のメッセージの提供をインスタンス化するべく通知者のタイプを決定するために問い合わせることができる。警報マネージャ２２０はさらに、標準インタフェースを使用して異なるメッセージ受信者を抽象化する通知者を有することができる。警報ディスパッチャは、メッセージ受信者の基礎となる複雑性と通知者にメッセージを送信する方法とに気付かない可能性がある。通知者はまた、メッセージの提供が成功すると、肯定応答待ち行列モジュールに肯定応答を送出することもできる。
【００３５】
実施形態によっては、音声フレームワーク１１０は、ネットワーク１２５を介して音声フレームワーク１１０に結合されたオーディオ対応デバイスの機能をネゴシエートする機能ネゴシエータ２２２を有する。音声フレームワーク１１０はまた、オーディオデータの連続したストリームをオーディオ対応デバイスに提供するオーディオストリーマ２２６を有することもできる。またこれらの実施形態では、音声フレームワーク１１０は、音声データをニュートラルフォーマットで格納しオーディオデータを要求されたオーディオフォーマットに変換する生オーディオアダプタ２２８を有する。さらに、音声フレームワーク１１０は、言語トランスレータ２３０を有することができ、それは、スピーチエンジンハブ１３０と協働して、１つの言語で受け取られたテキストを別の言語に変換する。たとえば、言語トランスレータ２３０は、英語で受け取られたテキストを中国語またはヒンディー語等に変換する。言語トランスレータ２３０は、スピーチエンジンハブ１３０が英語以外の言語をサポートする場合、英語以外の言語で受け取られたテキストを変換する翻訳を実行することができる。
【００３６】
ここで図３を参照すると、図１および図２に示す音声フレームワーク１１０を介してスピーチ駆動アプリケーションを１つまたは複数のオーディオ対応デバイスにリンクする一例としての方法３００が示されている。３１０において、この一例としての方法３００は、オーディオ対応デバイス独立およびプラットフォーム独立パラメータのうちの特定のものを指定することなく、特定のオーディオ対応デバイスからデジタル化オーディオスピーチを受け取る。実施形態によっては、入力バッファは、特定のオーディオ対応デバイスからのデジタル化スピーチオーディオを受け取り格納するように構成される。
【００３７】
３２０において、受け取られたデジタル化オーディオスピーチを、コンピュータ読取可能テキストに変換する。実施形態によっては、デジタル化オーディオスピーチを、スピーチエンジンハブを使用してコンピュータ読取可能テキストに変換する。
【００３８】
３３０において、変換されたコンピュータ読取可能テキストを、コンピュータ読取可能テキストを転送するために必要なスピーチ駆動アプリケーション独立およびプラットフォーム独立パラメータのうちの特定のものを指定することなく、特定のスピーチ駆動アプリケーションに転送する。実施形態によっては、出力バッファは、デジタル化スピーチオーディオを特定のオーディオ対応デバイスに格納し送信するように構成される。
【００３９】
３４０において、コンピュータ読取可能テキストを、スピーチ駆動アプリケーション独立およびプラットフォーム独立パラメータのうちの特定のものを指定することなく、特定のスピーチ駆動アプリケーションから受け取ることができる。３５０において、特定のスピーチ駆動アプリケーションから受け取られたコンピュータ読取可能テキストを、デジタル化スピーチオーディオに変換する。実施形態によっては、コンピュータ読取可能テキストを、スピーチエンジンハブを使用してデジタル化スピーチオーディオに変換する。
【００４０】
３６０において、コンピュータ読取可能テキストを転送するために必要なスピーチ駆動アプリケーション独立およびプラットフォーム独立パラメータのうちの特定のものを指定せずに、デジタル化スピーチオーディオを特定のオーディオ対応デバイスに転送する。音声フレームワークを介してスピーチ駆動アプリケーションを１つまたは複数のオーディオ対応デバイスにリンクする動作については、図１および図２を参照してより詳細に説明している。
【００４１】
本発明のさまざまな実施形態を、図４に示す環境（後述する）においてまたは他の任意の適当なコンピューティング環境において実行することができるソフトウェアで実施することができる。本発明の実施形態は、複数の汎用または専用コンピューティング環境で動作可能である。コンピューティング環境によっては、コンピュータ読取可能媒体に格納されたコードを実行する、パーソナルコンピュータ、汎用コンピュータ、サーバコンピュータ、ハンドヘルドデバイス（限定されないが、すべてのタイプの電話および携帯情報端末（ＰＤＡ）を含む）、ラップトップデバイス、マルチプロセッサ、マイクロプロセッサ、セットトップボックス、プログラム可能な家電、ネットワークコンピュータ、ミニコンピュータ、メインフレームコンピュータ、分散コンピューティング環境等を含む。本発明の実施形態を、コンピュータが実行するプログラムモジュール等、機械実行可能命令として部分的にまたは全体として実施してもよい。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。分散コンピューティング環境では、プログラムモジュールを、ローカル記憶デバイスに配置してもよくまたはリモート記憶デバイスに配置してもよい。
【００４２】
図４は、本発明の実施形態を実施する適当なコンピューティングシステム環境の一例を示す。図４および以下の論考は、本明細書に含まれる発明的概念のいくつかの実施形態を実施することができる適当なコンピューティング環境の簡単で包括的な説明を提供するように意図されている。
【００４３】
コンピュータ４１０の形態の一般的なコンピューティングデバイスは、処理装置４０２と、メモリ４０４と、リムーバブル記憶装置４１２と、非リムーバブル記憶装置４１４と、を有することができる。コンピュータ４１０は、さらに、バス４０５とネットワークインタフェース（ＮＩ）４０１とを有する。
【００４４】
コンピュータ４１０は、１つまたは複数の入力要素４１６と、１つまたは複数の出力要素４１８と、ネットワークインタフェースカードまたはＵＳＢ接続等の１つまたは複数の通信接続４２０と、を含むコンピューティング環境を有することができ、またはそれにアクセスすることができる。コンピュータ４１０は、ネットワーク環境において１つまたは複数のリモートコンピュータに接続する通信接続４２０を使用して動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他のネットワークノードおよび／または同様のものを含むことができる。通信接続は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）および／または他のネットワークを含むことができる。
【００４５】
メモリ４０４は、揮発性メモリ４０６と不揮発性メモリ４０８とを有することができる。種々のコンピュータ読取可能媒体を、揮発性メモリ４０６および不揮発性メモリ４０８、リムーバブル記憶装置４１２および非リムーバブル記憶装置４１４等、コンピュータ４１０のメモリ要素に格納し、かつそこにアクセスすることができる。コンピュータメモリ要素は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、ハードドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、ディスケット、磁気テープカートリッジ、メモリカード、メモリスティック（商標）等を操作するリムーバブルメディアドライブ、化学的記憶機構、生物学的記憶機構および他のタイプのデータ記憶機構等、データおよび機械読取可能命令を格納する任意の適当なメモリデバイス（複数可）を含むことができる。
【００４６】
本明細書で使用する「プロセッサ」または「処理装置」は、限定されないが、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、明示的並列命令コンピューティング（ＥＰＩＣ）マイクロプロセッサ、グラフィックスプロセッサ、デジタル信号プロセッサまたは他の任意のタイプのプロセッサまたは処理回路等、任意のタイプの計算回路を意味する。この用語はまた、汎用またはプログラマブルロジックデバイスまたはアレイ、特定用途向け集積回路、シングルチップコンピュータ、スマートカード等の組み込みコントローラを含む。
【００４７】
本発明の実施形態を、タスクを実行するかもしくは抽象データタイプまたは低レベルハードウェアコンテキストを定義する、機能、手続き、データ構造、アプリケーションプログラム等を含むプログラムモジュールとともに実施してもよい。
【００４８】
上述した記憶媒体のうちの任意のものに格納された機械読取可能命令は、コンピュータ４１０の処理装置４０２によって実行可能である。たとえば、コンピュータプログラム４２５は、本発明の教示および本明細書で説明した実施形態に従ってオーディオ対応デバイスをスピーチ駆動アプリケーションにリンクすることができる機械読取可能命令を含むことができる。一実施形態では、コンピュータプログラム４２５を、ＣＤ−ＲＯＭに含め、そのＣＤ−ＲＯＭから不揮発性メモリ４０８のハードドライブにロードしてもよい。機械読取可能命令により、コンピュータ４１０は、本発明の実施形態による音声フレームワークを使用してオーディオ対応デバイスをスピーチ駆動アプリケーションに通信可能にリンクする。
【００４９】
本発明の音声フレームワークは、「分散された構成可能アーキテクチャ（Distributed Configurable Architecture）」の形態で使用するという意味でモジュール式であり柔軟である。その結果、音声フレームワークのいくつかの部分を、選択されるモデルに応じて、ネットワークの異なるポイントに配置することができる。たとえば、スピーチエンジンハブをサーバに配備してもよく、スピーチ認識とスピーチ合成とはともに、同じサーバで実行され、入力と出力とはそれぞれクライアントからサーバへかつその逆に流れる。ハブを各クライアントに配置し、データベース管理を集中化してもよい。かかる柔軟性により、より高速な配備が変化するビジネスニーズに対し費用効率のよいソリューションを提供することができる。
【００５０】
上記説明は、例示的であることが意図されており、限定的であるようには意図されていない。当業者には他の多くの実施形態が明らかとなろう。したがって、本発明の範囲は、添付の特許請求の範囲と、かかる特許請求の範囲に対して権利が与えられる等価物の完全な範囲と、によって決定されるべきである。
【００５１】
（結論）
上述した方法および装置は、スピーチ駆動アプリケーションを、音声フレームワークを介して１つまたは複数のオーディオ対応デバイスにリンクするさまざまな実施形態を提供する。
【００５２】
上記説明は、例示的あることが意図されており限定的であるようには意図されていない、ということを理解すべきである。上記説明を検討することにより、当業者には他の多くの実施形態が明らかとなろう。したがって、本主題の範囲を、添付の特許請求の範囲と、かかる特許請求の範囲に対して権利が与えられる等価物の完全な範囲と、に関して決定すべきである。
【００５３】
本明細書に示すように、本発明を、さまざまな方法、回路、Ｉ／Ｏデバイス、システム、および関連する命令を有する機械アクセス可能媒体を備える物品を含む複数の異なる実施形態で実施することができる。
【００５４】
当業者には、他の実施形態が容易に明らかとなろう。要素、アルゴリズム、動作の順序を、特定の要求に適合するようにすべて変更することができる。図３に示す方法に関して上述した動作を、本明細書に示し説明したものとは異なる順序で実行してもよい。
【００５５】
図１、図２、図３および図４は、単に代表的なものであり、一定の比例尺では描かれていない。その中には、いくらか大きさが誇張されているものもあり、最小にされているものもある。図１乃至図４は、当業者が理解し適当に実行することができる本発明のさまざまな実施形態を示す。
【００５６】
要約書は、読者がその技術的開示の性質と要点とを即座に確かめることができるようにする要約書を要求する、米国特許法施行規則（３７Ｃ．Ｆ．Ｒ．）第１．７２条（ｂ）項に従うように提供される、ということが強調される。それは、特許請求の範囲または意味を解釈しまたは限定するために使用されるものではないという了解の下に提出される。
【００５７】
本発明の実施形態の上述した詳細な説明では、開示を簡素化するためにさまざまな特徴を一まとめにして１つの実施形態にしている。この開示の方法は、本発明の請求される実施形態が各特許請求の範囲において明示的に列挙されるより多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、添付の特許請求の範囲が反映するように、発明の主題は、単一の開示された実施形態のすべての特徴にはない。このため、添付の特許請求の範囲は、これにより本発明の実施形態の詳細な説明に組み込まれ、各請求項は、別々の好ましい実施形態として独立している。
【図面の簡単な説明】
【００５８】
【図１】本主題のさまざまな実施形態によるオーディオ対応デバイス、スピーチ駆動アプリケーションおよびアプリケーションプラットフォーム独立音声フレームワークを示すブロック図である。
【図２】本主題のさまざまな実施形態による図１に示す音声フレームワークの実施態様を示すブロック図である。
【図３】図１および図２に示す音声フレームワークを介してスピーチ駆動アプリケーションを１つまたは複数のオーディオ対応デバイスにリンクする一例としての方法を示すフローチャートである。
【図４】本主題の一実施形態による図１乃至図３に示す音声フレームワークを使用してスピーチ駆動アプリケーションを１つまたは複数のオーディオ対応デバイスにリンクするために使用される典型的なコンピュータシステムのブロック図である。
【符号の説明】
【００５９】
１０５：オーディオ対応デバイス
１１０：音声フレームワーク
１２０：オーディオ対応デバイスアダプタ
１２５：コンピュータネットワーク
１３０：スピーチエンジンハブ
１４０：スピーチ駆動アプリケーションアダプタ
１５０：スピーチ駆動アプリケーションモジュール
１６６：アプリケーション管理サービスモジュール
【図１】
2006031701.tif 000003
【図２】
2006031701.tif 000004
【図３】
2006031701.tif 000005
【図４】
2006031701.tif 000006