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

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

▶ エヌビディア コーポレーションの特許一覧

特開2023-56442ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント
<>
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図1
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図2A
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図2B
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図2C
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図3
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図4A
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図4B
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図5
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図6A
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図6B
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図6C
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図7
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図8
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図9
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図10
  • 特開-ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023056442
(43)【公開日】2023-04-19
(54)【発明の名称】ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメント
(51)【国際特許分類】
   G10L 13/10 20130101AFI20230412BHJP
   G10L 25/30 20130101ALI20230412BHJP
【FI】
G10L13/10 111F
G10L13/10 111A
G10L13/10 111E
G10L25/30
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021174285
(22)【出願日】2021-10-26
(31)【優先権主張番号】17/496,569
(32)【優先日】2021-10-07
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.BLUETOOTH
(71)【出願人】
【識別番号】501450960
【氏名又は名称】エヌビディア コーポレーション
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ケビン シー
(72)【発明者】
【氏名】ホセ ラファエル バリェ ゴメス ダ コスタ
(72)【発明者】
【氏名】ローハン バドラニ
(72)【発明者】
【氏名】エイドリアン ランクッキ
(72)【発明者】
【氏名】ウェイ ピン
(72)【発明者】
【氏名】ブライアン カタンザーロ
(57)【要約】      (修正有)
【課題】推論時の音素継続長の変化を容易にするために、音声リズムをサンプリング可能な分布としてさらにモデル化するモデルを含む、合成音声を生成するコンピュータ実装方法及びプロセッサを提供する。
【解決手段】合成音声を生成するプロセスは、複数のオーディオ・セグメントから、それぞれの音素継続長、音素ピッチ及び音素エネルギーを決定するステップと、前記音素継続長に対応する第1の分布に少なくとも部分的に基づいて、合成済み音声のオーディオ・セグメントのアライメントを決定するステップと、テキスト・シーケンスについて、前記アライメント及び前記音素ピッチに対応する第2の分布又は前記音素エネルギーに対応する第3の分布のうちの少なくとも1つに少なくとも部分的に基づいて、テキスト・シーケンスの合成済みの朗読を含むオーディオ・セグメントを生成するステップと、を含む。
【選択図】図6A
【特許請求の範囲】
【請求項1】
複数のオーディオ・セグメントから、それぞれの音素継続長、音素ピッチ、及び音素エネルギーを決定するステップと、
前記音素継続長に対応する第1の分布に少なくとも部分的に基づいて、合成済み音声のオーディオ・セグメントのアライメントを決定するステップと、
テキスト・シーケンスについて、前記アライメント、及び前記音素ピッチに対応する第2の分布、又は前記音素エネルギーに対応する第3の分布のうちの少なくとも1つに少なくとも部分的に基づいて、前記テキスト・シーケンスの合成済みの朗読を含むオーディオ・セグメントを生成するステップと
を含む、コンピュータ実装方法。
【請求項2】
第4の分布に少なくとも部分的に基づいて、前記合成済みの朗読に関連する1つ又は複数の特性に対応する前記第4の分布を生成するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記テキスト・シーケンスと合計音声継続長と間のアライメント行列を決定するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
指定された範囲外の音素と継続長のペアを除外するための事前分布を前記アライメント行列に適用するステップをさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記事前分布が葉巻状である、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記事前分布がベータ二項分布から構築される、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記テキスト・シーケンスから、複数のテキスト・トークンを決定するステップと、
前記アライメントに少なくとも部分的に基づいて、前記複数のテキスト・トークンのそれぞれを、それぞれのメル・フレームにアライメントするステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記アライメントが、第1の時点の前記メル・フレームと前記テキスト・シーケンス内のテキスト音素との間のL2距離に少なくとも部分的に基づく、請求項7に記載のコンピュータ実装方法。
【請求項9】
前記合成済みの朗読が、第1の合成済みの朗読が第2の合成済みの朗読と異なるように、生成的であり、前記第1の合成済みの朗読及び前記第2の合成済みの朗読のそれぞれが、前記テキスト・シーケンスに基づく、請求項1に記載のコンピュータ実装方法。
【請求項10】
人間の音声を含む複数のオーディオ・サンプルから、前記複数のオーディオ・サンプルのテキストと、前記複数のオーディオ・サンプルの継続長と、前記オーディオ・サンプルのピッチ又は前記オーディオ・サンプルのエネルギーのうちの少なくとも1つとの間のアライメントを決定するステップと、
前記アライメントに少なくとも部分的に基づいて、アライメント分布を生成するステップと、
前記アライメント分布から、1つ又は複数の話者特性に対応する1つ又は複数のベクトルを決定するステップと、
テキスト・シーケンスを受信するステップと、
前記テキスト・シーケンス及び前記1つ又は複数のベクトルに少なくとも部分的に基づいて、前記テキスト・シーケンスに対応する合成オーディオ・クリップを生成するステップと
を含む、方法。
【請求項11】
前記アライメントが、ベータ二項分布を有するアライメント行列に少なくとも部分的に基づく、請求項10に記載の方法。
【請求項12】
前記合成オーディオ・クリップを生成するためのエンコーダ及びデコーダが並列に動作する、請求項10に記載の方法。
【請求項13】
前記テキスト・シーケンスと前記アライメント分布のメル・フレームとの間のソフト・アライメントを決定するステップと、
前記テキスト・シーケンスと前記アライメント分布の前記メル・フレームと間のハード・アライメントを決定するステップと
をさらに含む、請求項10に記載の方法。
【請求項14】
前記テキスト・シーケンスから第2の合成オーディオ・クリップを生成するステップであって、前記第2の合成オーディオ・クリップが前記第1の合成オーディオ・クリップとは異なる、生成するステップをさらに含む、請求項10に記載の方法。
【請求項15】
音素分布、ピッチ分布、又はエネルギー分布のうちの少なくとも1つを生成するステップと、
前記音素分布、前記ピッチ分布、又は前記エネルギー分布のうちの少なくとも1つからサンプリングするステップと
をさらに含む、請求項10に記載の方法。
【請求項16】
メルスペクトログラムとして表される人間の音声のオーディオ・クリップを受信し、
前記オーディオ・クリップ内のテキスト・シーケンス及び前記オーディオ・クリップの継続長を表す複数のメル・フレームについてのアライメントを決定し、
前記オーディオ・クリップに関連するピッチ及びエネルギーの1つ又は複数の分布を決定し、
第2のテキスト・シーケンスを受信し、
前記アライメント及び前記1つ又は複数の分布に少なくとも部分的に基づいて、前記第2のテキスト・シーケンスの第2のオーディオ・クリップを生成する
ための1つ又は複数の処理ユニットを備える、プロセッサ。
【請求項17】
前記1つ又は複数の処理ユニットがさらに、前記第2のオーディオ・クリップを生成するためのエンコーダ及びデコーダを実装し、前記エンコーダ及びデコーダが並列に動作する、請求項16に記載のプロセッサ。
【請求項18】
前記1つ又は複数の処理ユニットがさらに、
確率分布に正規化されたアライメント行列を生成し、
前記アライメント行列にベータ二項分布を当てはめる、
請求項16に記載のプロセッサ。
【請求項19】
前記ベータ二項分布が、指定された範囲外の音素とメル・フレームのペアを除外する、請求項18に記載のプロセッサ。
【請求項20】
前記1つ又は複数の処理ユニットがさらに、前記第2のテキスト・シーケンスから第3のオーディオ・クリップを生成し、前記第2のオーディオ・クリップが、前記第3のオーディオ・クリップとは異なる、請求項16に記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラル・ネットワークを使用したテキスト・ツー・音声合成のための教師なしアライメントに関するものである。
【背景技術】
【0002】
音声合成は、一般に、自己回帰方式でモデル化され、統計モデルを使用して、入力テキスト・シーケンスに基づいて出力音声が生成される。これらのモデルは、入力テキスト・シーケンスの様々な音素長を予測するが、予測が不十分なたった1つのオーディオ・フレームが、合成済み音声のシーケンス全体にわたってさらなるエラーを引き起こすことがある。自己回帰モデルはまた、特にシーケンス長が長くなるとスケーリングが不十分になる。さらに、自己回帰モデルを並列アーキテクチャに統合しようとすると、オーディオとテキストのアライメントの問題など、自己回帰モデル独自の問題が発生する。さらに、自己回帰モデルは合成音声の結果に多様性がなく、モデルが実行されるたびに入力テキスト・シーケンスが同様の出力となり、これは、多くのアプリケーションで望ましくない場合がある。
【発明の概要】
【課題を解決するための手段】
【0003】
図面を参照しながら、本開示による様々な実施例を説明する。
【図面の簡単な説明】
【0004】
図1】少なくとも一実施例による、音声合成のためのパイプラインの実例を示す図である。
図2A】少なくとも一実施例による、音声合成のための訓練パイプラインの実例を示す図である。
図2B】少なくとも一実施例による、音声合成のための推論パイプラインの実例を示す図である。
図2C】少なくとも一実施例による、アライメント・アーキテクチャを示す図である。
図3】少なくとも一実施例による、アライメント注意行列の実例を示す図である。
図4A】少なくとも一実施例による、実例音素分布を示す図である。
図4B】少なくとも一実施例による、実例ピッチ分布を示す図である。
図5】少なくとも一実施例による、音声合成のための実例環境を示す図である。
図6A】少なくとも一実施例による、合成音声を生成するためのプロセスの実例フローチャートである。
図6B】少なくとも一実施例による、合成音声を生成するためのプロセスの実例フローチャートである。
図6C】少なくとも一実施例による、テキスト・ツー・音声システムを訓練するためのプロセスの実例フローチャートである。
図7】少なくとも一実施例による、例示的なデータ・センタ・システムを示す図である。
図8】少なくとも一実施例による、コンピュータ・システムを示す図である。
図9】少なくとも一実施例による、コンピュータ・システムを示す図である。
図10】少なくとも一実施例による、1つ又は複数の実施例による、グラフィックス・プロセッサの少なくとも一部分を示す図である。
図11】少なくとも一実施例による、1つ又は複数の実施例による、グラフィックス・プロセッサの少なくとも一部分を示す図である。
【発明を実施するための形態】
【0005】
様々な実施例による手法は、エンド・ツー・エンドのテキスト・ツー・音声(TTS:text-to-speech)モデルのためのシステム及び方法を提供する。少なくとも一実施例では、TTSモデルは、並列又は少なくとも部分的に並列である。様々な実施例は、推論中のトークン継続長(duration)の変化を容易にするために、音声リズムをサンプリング可能な分布としてさらにモデル化するモデルを含むことができる。少なくとも一実施例では、システム及び方法は、音声とテキストのアライメントのオンライン抽出を提供する。
【0006】
様々な実施例は、主に並列のエンド・ツー・エンド・モデルを使用したTTS生成のためのシステム及び方法に関する。実施例は、長さが変化する可能性がある個々の音素を対応するテキストとアライメントするために確率的判定を使用する、教師なしアライメントを含む。尤もらしい音素継続長の分布全体をサンプリングするための生成モデルが使用され、可能性が低い又は非現実的な継続長の考慮を排除するための境界が設定されてもよい。さらに、訓練フェーズ中に抽出され得る様々な音素のピッチ及びエネルギーのための別の生成モデルが開発されてもよい。同じ確率分布から多様な位置をサンプリングすることによって、多様性を実現することができる。システム及び方法はまた、合成されたデータを訓練中にタグ付け/分類し、次いで推論時に無視してもよい又は使用しなくてもよいという分布を考慮したデータ拡張を使用して訓練を改善することを目的とし得る。
【0007】
本開示の様々な実施例は、TTSでの従来のアライメント・ツールに関連する問題を克服することを目的とし、これらの従来のツールは、推論の前にアライメントの抽出を試みるか、又は注意メカニズムに依存する。強制的なアライナを使用すると、能力が制限される場合があり、たとえば、特定の言語又はアルファベットに対してアライナを利用することができない。さらに、アライナの注意メカニズムは不安定であることが証明されており、有意義な解に収束しない可能性がある。本開示のシステム及び方法は、注意ベースのメカニズムを拡張して事前分布を追加することによって、これらの問題及び他の問題に対処することができ、1つ又は複数の実施例では、事前分布は葉巻形状であってもよい。さらに、システム及び方法は、所与の信号のテキストの最尤の文字列を識別するために、順方向サブ・アルゴリズム及びビタビなどの隠れマルコフ法(HMM:Hidden Markov Method)に関連する様々な手法を展開することができる。
【0008】
実施例はまた、訓練に使用されるデータ・セットが不十分である又は小さいことに関連する問題にも対処することができる。TTS合成訓練パイプラインに関しては、多くの場合、拡張されたデータ・サンプルと同じように聞こえるようにテキストを合成することは望ましくないため、これらのサンプルはモデル化に望ましい分布の範囲外と見なされる可能性があるので、拡張されたデータ・サンプルが組み込まれることはめったにない。少なくとも一実施例では、システム及び方法は、推論結果に影響を及ぼすことなく、モデルの一般化を改善するためのデータ拡張を組み込むことができる。たとえば、拡張されたデータは、1つ又は複数の生成された分布内でラベル付けされるか又は他の方法で識別されてもよく、推論中のサンプリングは、拡張されたデータの領域を回避する。
【0009】
本開示のシステム及び方法を使用して、合成済み音声による多様性にも対処する。少なくとも一実施例では、同じテキストが複数回合成されてもよく、各結果は、尤もらしく、且つ質的に異なる。生成モデル(正規化フロー)を利用して、推論時に尤もらしい音素継続長をサンプリングすることができ、音声に関する重要なバリエーションの1つが音素継続長であるので、これにより多様性を向上させることができる。システム及び方法は、ピッチ及びエネルギーのモデル化し、それにより合成済み音声の多様性についてより多くの選択肢を提供することを目的とし得る。少なくとも一実施例では、ピッチ及びエネルギーがモデル化されてもよく、確率的成分は、出力音声を生成するときにこれらのモデルからサンプリングしてもよい。
【0010】
様々な実施例はまた、話者の条件付け変数を改善することができる。たとえば、従来の複数話者TTSモデルは、特定の話者に次元ベクトルを割り当て、次いで、出力を生成するときにそのベクトルを適用する場合がある。しかし、話者に対して単一のベクトルを使用すると、話者の個々の分散をモデル化することなく、同様に聞こえる出力又は異なって聞こえる出力を生成するモデルの能力が制限される可能性がある。実施例は、推論時に話者の分布全体にわたる入力及びモデルの関数としてベクトルを生成することができる。
【0011】
図1に、テキスト入力に対応し得る入力102を含む、音声合成と呼ばれることもあるテキスト・ツー・音声(TTS)パイプライン100を示す。入力が、ユーザによって提供された入力などの最初のテキスト入力、評価された後にテキストに変換された発話などの変換済みのテキスト入力、入力画像又は入力映像から抽出されたテキスト・シーケンスなどであってもよいことを認識すべきである。少なくとも一実施例では、入力102は、他のアプリケーションのなかでもとりわけ、ユーザのクエリに応答して回答を提供する会話型人工知能(AI:artificial intelligence)システムなどのユーザによって提供される質問又はコメントに応答してもよい。図示の入力102は、処理フレームワーク104内に含めるようにフォーマットされてもよく、処理フレームワーク104は、1つ又は複数の特徴について入力102を評価するための1つ又は複数の訓練済み機械学習システムを含んでもよく、これにより、入力102を、人間の音声をエミュレートするオーディオ出力に変換することを可能にすることができる。
【0012】
この実例では、処理フレームワーク104は、自然言語理解(NLU:natural language understanding)システム106と、韻律モデル108と、TTSモジュール110とを含む。認識されるように、NLUシステム106は、人間がデバイスと自然に対話できるようにするために、1つ又は複数の会話型AIシステムとともに利用されてもよい。NLUシステム106を利用して、入力102のコンテキスト及び意図を解釈し、応答を生成してもよい。たとえば、入力102は前処理されてもよく、前処理には、トークン化、レンマ化、ステミング、及び他のプロセスが含まれてもよい。さらに、NLUシステム106は、エンティティ認識、意図認識、感情分析などの機能を可能にするために、BERTモデルなどの1つ又は複数の深層学習モデルを含んでもよい。さらに、NLUシステム106によって、入力102の言語単位を音素に変換することができ、次いで、韻律モデル108を使用して音素を組み立てることができる。
【0013】
少なくとも一実施例では、TTSモデル110は、NLUシステム106によって生成されたテキスト応答を受け取り、テキスト応答を自然に聞こえる音声に変更してもよい。様々な実施例では、韻律モデル108がTTSモデル110の一部であってもよいことを認識すべきである。NLUシステム106からの出力は、言語分析、合成など、TTSモデル110に関連する様々なプロセスを経てもよい。さらに、音声の一部がタグ付けされてもよい。様々な実施例では、発音を洗練させ、単語の継続長を算出し、発話の韻律構造を解読し、文法情報を理解するために、出力がさらに分析されてもよい。また、テキストをメルスペクトログラムに変換してボコーダ112に出力し、自然に聞こえる音声を生成してもよい。上記のように、様々な実施例では、ボコーダ112がTTSモデル110に組み込まれてもよいことを認識すべきである。したがって、人間の音声のように聞こえるオーディオ出力114が生成される。
【0014】
音声合成は、完全に自己回帰的な方法で逐次的にモデル化されることがあり、この場合、シーケンス長が長くなると、訓練速度及び干渉速度をスケーリングできないか、又は非効率的なスケーリングになる。さらに、1つ又は複数のオーディオ・フレーム内のエラーが、合成済み音声の他の部分に伝播する可能性がある。音声合成の並列化は望ましいが、音素長に関連する問題が発生する可能性がある。たとえば、音素を合成することなく音素の個々の長さを知ることは困難である。さらに、最初に入力テキスト内の音素を決定し、次いでメルスペクトログラムからサンプリングする可能性のある方法は、本開示のシステム及び方法の完全なエンド・ツー・エンドの並列化を見落としている。本開示のシステム及び方法は、多様な結果を推論するための生成モデルの実装とともに、オンライン・アライメントを含むエンド・ツー・エンド・システムを目的とし得る。
【0015】
並列アーキテクチャでは、多くの場合、既存のアライメント技法では不十分であるか又は使用に適さない。たとえば、既存の技法は、自己回帰モデルから、2段階プロセスを組み込んだ並列アーキテクチャを抜き出すことができるが、これは訓練にコストがかかる可能性がある。また、これらの技法は、多くの場合、システムで使用される個々の言語又はアルファベットに対して独立した訓練が使用されるので、制限される。さらに、これらの技法は、多くの場合、音声リズムの変動など推論の多様性を損なうことになる。システム及び方法は、トークン継続長について、別個のモデルであり得る1つ又は複数の生成モデルを組み込むことによって、これらの欠点を克服することができる。
【0016】
図2Aに示す訓練パイプライン200は、テキスト入力及び話者情報が与えられた場合にメルスペクトログラムをサンプリングするための生成モデルを構築するために利用されてもよい。この実例では、拡張206のために、メルスペクトログラム202に、話者固有の特性を符号化することができる話者ベクトル204(ξ)が提供される。たとえば、メルスペクトログラムは、メルスペクトログラム・テンソル
【数1】

として表され得る人間の音声のオーディオ・クリップに対するものであり、ここで、Tは時間軸上のメル・フレーム数であり、Cmelはフレームごとの次元のバンド数である。話者ベクトル204は、データ分布に関連する対応する変更に関する情報を含んでもよい。この実例では、拡張206は、話者ベクトル204への対応する変更とともにメルスペクトログラム202を変更することができる一定の確率を用いて適用されてもよく、次いで、訓練パイプライン208に対して出力が行われる。メルスペクトログラム202が、入力テキスト210とともに拡張することなく訓練パイプライン208に対しても行われることを認識すべきであり、これは、
【数2】

によって示される埋め込まれたテキスト・シーケンスのテンソルとして表されてもよく、ここで、Nは長さである。結果として得られる出力は、潜在空間にわたる最尤推定(MLE:maximum likelihood estimation)212である。この出力は、最適化されたメル及び継続長(音声速度)の潜在確率変数に対応してもよい。
【0017】
図2Bに示す推論パイプライン250は、入力サンプル252を生成するために、MLE212からサンプリングすることができる。MLE212のランダム・サンプリングによって、多様な推論結果が可能になる場合がある。少なくとも一実施例では、推論パイプライン254によってサンプル252が処理されて、第2のメルスペクトログラム256が出力され、次いで、第2のメルスペクトログラム256が処理されて、出力オーディオ・クリップが生成されてもよい。
【0018】
本開示の様々な実施例は、モデル化のための並列アーキテクチャを維持しながら、推論時間におけるメルスペクトログラム・フレームとメルスペクトログラム・フレームの継続長と両方のサンプリングを可能にする。動作に際して、オーディオ・クリップ(たとえば、メルスペクトログラム202)とテキスト(たとえば、入力テキスト210)との間の時間的アライメントが開発される。アライメントは、
【数3】

として表されてもよい。したがって、条件付き分布は、方程式(1)によって表されてもよい。
P(X,A,F,E|Φ,ξ)=Pmel(X|Φ,ξ,A,F,E)Pdur(A|Φ,ξ)Ppitch(F|Φ,ξ)Penergy(E|Φ,ξ) (1)
【0019】
前述のように、条件付き表現では、Xはメルスペクトログラム・テンソルを表し、Aはアライメントを表し、Fはピッチを表し、Eはエネルギーを表す。したがって、以下で説明するように、様々な実施例は、継続長、ピッチ、エネルギー、並びに、イントネーション、強勢、テンポ、リズムなどであるがこれらに限定されない、継続長、ピッチ、及びエネルギーによって捕捉されない音声の他の特性を含み得る様々な分布にわたるサンプリングを可能にすることができる。
【0020】
様々な実施例では、方程式(1)の少なくとも一部を実行するための命令(たとえば、ソフトウェア命令)の1つ又は複数の部分が並列であり得ることを認識すべきである。例として、Pmelは並列である可能性がある。しかし、方程式(1)の1つ若しくは複数の他の部分、又は部分の構成要素は、継続長、ピッチ、エネルギー、及びテキストなどの1つ又は複数の自己回帰構成要素を含み得る。したがって、様々な実施例の異なる構成要素は、費用のかかる訓練ステップのバランスをとることができる。
【0021】
動作に際して、TTSにおけるメル符号化に正規化フローが適用される。分布は、分布の各時間ステップを単純な分布からサンプリングできるようにモデル化されてもよい。様々な実施例では、同一に分布した単独の確率変数が想定される。したがって、データ・サンプルxに関するMLE212は、方程式(2)
log□p(x)=log□p(g-1(x))+log|det□J(g-1(x))| (2)
によって表されてもよい。
【0022】
ここで、p(x)は各メル・フレームPmel()の未知の尤度関数を表し、p(z)はガウス尤度関数を表し、Jはz=g-1(x)であるような可逆変換gのヤコビアンである。
【0023】
1つ又は複数の実施例では、推論は、方程式(3)で表されるように実行されてもよい。
z~N(O,I)であり、x=g(z) (3)
【0024】
推論中、音素フローを利用して、アライメントAに対応し得る音素ごとの継続長を得ることができ、継続長は、Pmel()をモデル化する並列のメル・デコーダ・フローへの入力を準備するために使用される。このデコーダは、本明細書に記載のように、MLE212などからの潜在ベクトルをサンプリングし、次いで、潜在ベクトルを尤もらしく聞こえるメル・フレームにマッピングしてもよい。外部アライナに依存しないテキストと音声との間のアライメントは、エンド・ツー・エンドのTTSシステムを提供するための重要なプロセスである。本開示の様々な実施例は、スケール・パラメータ及び並進パラメータの推測に使用するために、1つ又は複数のアフィン結合層を利用して入力データを分割することができる。様々な実施例では、入力は、時間次元に関連し得るコンテキスト上の条件であってもよい。アフィン結合層を使用して、1つ又は複数のコンテキスト行列を生成することができる。話者依存の情報を提供するだけでなくテキスト情報とメルスペクトログラム・フレームとの間の時間的アライメントを伴う行列を提供するために、コンテキスト行列は話者埋込みベクトルとともに使用されてもよい。最近の研究では、フロー・ベースのモデルを利用して、メルスペクトログラム・フレームを潜在ベクトルにマッピングすることができる。この方法では安定した結果が得られる可能性があるが、非可逆アーキテクチャでは、多くの場合、注意が自明な解に陥ることになり、他のモデルへの転換性が制限される可能性がある。さらに上記のように、フロー・ベースのモデルは、推論の多様性における損失を考慮しない。したがって、本開示のシステム及び方法は、既存のモデルよりも優れた改善を引き続き示している。
【0025】
図2Cに、本開示の実施例で利用され得る機械学習システムの1つ又は複数の部分を形成し得るアライメント・アーキテクチャ270を示す。この実例では、入力テキスト210と、メルスペクトログラム202に少なくとも部分的に対応し得るメル・フレーム272との両方が、エンコーダ274において符号化され、エンコーダ274は、メル・フレーム用と入力テキスト210用の別個のエンコーダを含んでもよい。たとえば、テキスト・エンコーダは、テキスト・トークン(たとえば、音素埋込み)を評価してもよい。少なくとも一実施例では、入力210及びフレーム272はそれぞれ、局所的なコンテキストを組み込むための限定された受容野を有する1D畳込みニューラル・ネットワーク(convnet)を用いて符号化される。エンコーダ274は、ソフトマックス関数276への入力を提供する出力を生成し、ソフトマックス関数276は、テキスト及びメル・フレームの確率の1つ又は複数のベクトルを含む確率行列278を生成することができ、本明細書に記載のように、確率行列278を利用して、1つ又は複数の視覚化を生成することができる。
【0026】
様々な実施例が、教師なし又は部分的に教師なしのアライメント学習を可能にすることができる。外部アライナに依存せずに、アライメントを開発することができる。少なくとも一実施例では、ハード・アライメントとソフト・アライメントの両方をそれぞれ学習するために、隠れマルコフ・モデル(HMM:Hidden Markov Model)で使用されるビタビ・アルゴリズムと順方向逆方向アルゴリズムとの組合せが利用されてもよい。上記のように、アライメントは、
【数4】

として表されてもよく、異なるアライメントは、「ハード」アライメント又は「ソフト」アライメントとして指定されてもよい。Asoftは、Asoftのすべての列が確率分布に正規化されるように、それぞれ長さNのテキストΦと長さTのメル・フレームXとの間のアライメントを表してもよい。Asoftは、すべてのフレームについて確率質量が単一の記号に集中するような単調な2値化されたアライメント行列Ahardを抽出するように処理されてもよく、
【数5】

は、あらゆる記号の継続長のベクトルを生み出す。
【0027】
ソフト・アライメントは、すべてのテキスト・トークンφ∈Φとメル・フレームx∈Xと間の学習済みの対での類似度に基づいてもよく、これは、方程式(4)及び方程式(5)において表されるテキスト次元全体でソフトマックスを用いて正規化されてもよい。
【数6】

soft=softmax(-D,dim=0) (5)
【0028】
方程式(4)及び方程式(5)に関して、xenc及びφencは、x及びφの、それぞれ2層又は3層の1D畳込み層を使用して符号化されたバリアントである。様々な実施例では、損失モジュールを利用して、それぞれ最初のテキスト・トークンで開始し最後のテキスト・トークンで終了し、各テキスト・トークンを1回使用し、メル・フレームの前進ごとに0個又は1個のテキスト・トークンだけ前進を可能にする、単調シーケンスを開発することができる。
【0029】
様々な実施例が、対角に近い経路上の要素を進行させる事前分布(prior)を使用して、アライメント学習の加速を可能にする。ベータ二項分布を使用して、注意メカニズムの順方向移動を促進することができる。このベータ二項分布を使用して、行列の中心で広がり角に向かって狭くなる葉巻形状の2D事前分布をAsoftの対角線上に構築することができる。事前分布は、重み付け又はスケーリングされてもよく、重みが小さいほど事前分布の幅が広がる可能性がある。
【0030】
継続長予測によって生成されるアライメントは本質的に2値であるので、訓練テストのドメイン・ギャップの作成を回避するために、モデルには、2値化されたアライメント行列が条件付けられてもよい。これは、単調なアライメントに同じ制約を適用しながら、ビタビ・アルゴリズムを使用して実現することができ、これにより、単調な経路上の分布から最尤の単調なアライメントを提供することができる。さらに、損失を最小限に抑えることによって、AsoftがAhardと可能な限り一致するように結果を管理することができる。
【0031】
図3に、ベータ二項事前分布の視覚化302、事前分布の視覚化とのソフト・アライメント304、及びハード・アライメント306とともに、ソフト・アライメントの視覚化300を示す。これらの実例では、メル・フレームをx軸308上で表し、テキスト・トークンをy軸310上で表している。ソフト・アライメント300は、時間期間にわたる様々な異なる潜在的なアライメントを示し、最尤のアライメントは、オーディオ・クリップの開始時間及び終了時間に対応する角(たとえば、左下角及び右上角)の近くのより明るい陰影として示されている。事前分布312の適用は視覚化302に示されており、事前分布312は葉巻形状であり(たとえば、縁よりも中央が広い)、左下から右上まで実質的に対角線に沿って延在する。上記のように、この構成は、開始(左下)及び終了(右上)など、アライメントされる可能性が高い部分でのアライメントの制限を可能にし、それによって潜在的に精度を向上させることができる。事前分布312は、視覚化304に示すように、分布の最も可能性の高い部分にわたってサンプリングを制限するために境界を適用することができ、最も可能性の高い部分ではソフト・アライメントが改善されており、事前分布312によって表される対角線に沿って示されたより明るい陰影によって示され得る。視覚化306は、事前分布312の角度及びサイズに実質的に一致するさらに改善されたアライメントを示す。したがって、合成済み音声は、合成済み音声を生成するためにサンプリングされた音素継続長をどのように適用するかを決定するために、事前分布を使用して開発されたアライメントを利用することができる。
【0032】
図4Aに、サンプルの音素レベルの継続長分布400を示す。この実例では、「気候(climate)」という単語を形成する音素が示されている。図示のように、x軸402は「気候」という単語を形成する音素404を表し、この場合、音素は「k」、「l」、「ayi」、「m」、「ahd」、及び「t」に対応する。これらの音素404A~404Fはそれぞれ、y軸408で表される、継続長に対応する分布406A~406Fのそれぞれのセットを含む。これらの分布は、「気候」という単語を話している一連の話者の、各音素を朗読するのにかかる時間を決定するための評価に基づいて生成されてもよい。図示のように、音素404A~404Fはそれぞれ、わずかに異なる継続長を有する可能性があり、その結果、固定された継続長を使用してテキストと音声との間のアライメントを強制しようとすると、不自然な響きのオーディオ出力につながる。すなわち、「ayi」の継続長は「k」の約2倍である可能性があり、各音素の継続長が固定されると、「k」の後の休止若しくは遅延、又は「ayi」のクリッピング又は急いだ応答のいずれかにつながることになる。前述のように、本開示の様々な実施例は、様々な音素の異なる分布にわたってサンプリングすることによって、多様性の向上を可能にすることができる。例として、この実例では、「k」に対応する音素404Aは、3つの異なる分布406A(たとえば、わずかに異なる継続長を有する分布のセット)を有する。したがって、推論時に、分布のうちの1つが選択されてもよく、その分布内で、継続長が選択されてもよい。別の実例では、同様の音を使用して、異なる分布及び継続長が選択されてもよい。このように、合成済み音声の多様性の向上は、推論時に異なる音素継続長を提供することによって、又は少なくとも、異なる継続長が選択される可能性を提供することによって可能になる。
【0033】
図4Bに、本明細書に記載のように合成音声に関する多様性を向上させるために利用できるピッチ分布420を示す。図示のように、x軸422は時間に対応し、y軸424は相対的なピッチに対応する。この実例では、分布420は、たとえば、1つ又は複数の訓練段階中に文又は単語のグループを評価することによって計算されてもよい。合成済み音声のさらなる多様性を提供するために、推論中に分布420からピッチもサンプリングされてよい。すなわち、同じ単語を合成するための異なる試みが、異なるピッチが提示される多様な結果のセットにつながる可能性がある。さらに図4Aの音素継続長の選択と組み合わせると、同じ単語を、全く異なる話者からのように異なって聞こえるようにしながら合成することができる。
【0034】
図5に、本明細書で前述した1つ又は複数の構成要素を含み得る合成音声システム500を示す。説明の目的で構成要素はグループ化される場合があるが、1つ又は複数のシステムがシステム500の異なる構成要素に統合されるか又は異なる要素とともに使用されてもよいことを認識すべきである。さらに、1つ又は複数のシステムは、1つ又は複数の機械学習システムに関連するアーキテクチャを利用するか又は共有してもよい。したがって、異なる構成要素が、1つ又は複数の機能に基づく別個のモジュール又はシステムとして説明される場合があるが、単一の統合システムの一部であってもよい。この実例では、TTSシステム502を利用して、テキスト入力504及び話者ベクトル506に少なくとも部分的に基づいて合成音声を生成することができる。少なくとも一実施例では、話者ベクトル506は、所望のピッチ、エネルギー、トーン、アクセントなどの1つ又は複数の話者特性を含む。様々な実施例では、話者ベクトル506は、合成して生成された音声に適用され得る、音声の様々な部分に対応する重み付け特性を含んでもよい。さらに、話者ベクトル506は、他の特徴のなかでもとりわけ、声変換を可能にするための調整可能な構成要素であってもよい。さらに、少なくとも一実施例では、話者ベクトル506は、話者ベクトルの分布又はデータベースから選択されてもよい。さらに、少なくとも一実施例では、分布から、話者ベクトル506の異なる成分がサンプリングされてもよく、又は別の方法で取得されてもよい。
【0035】
この実例では、入力テキスト504及び話者ベクトル506は、TTSシステム502への入力として提供され、ここで入力テキスト504を評価して、継続長を少なくとも部分的に決定することができる。たとえば、入力テキスト504を形成する個々の音素のそれぞれの継続長を決定するために、継続長モジュール508(たとえば、継続長システム)を使用して、1つ又は複数の分布にわたってサンプリングしてもよい。前述のように、訓練データを利用して音素分布を生成することができ、それぞれの長さを決定するために、分布から入力テキスト504を形成する個々の音素がサンプリングされてもよい。少なくとも一実施例では、音素が評価されるたびに長さが異なる可能性があり、これによって、出力される合成済み音声の多様性が向上する。次いで、本明細書に記載するように、継続長の決定はアライメント中に利用されてもよい。
【0036】
入力テキスト504を形成する異なる音素のピッチ(たとえば、基本周波数)及びエネルギー(たとえば、振幅)を取得するためにそれぞれの分布をサンプリングするために利用することができるピッチ・モジュール510及びエネルギー・モジュール512がさらに示されている。少なくとも一実施例では、ピッチ及びエネルギーの少なくとも一部は、話者ベクトル506によって少なくとも部分的に決定されてもよい。たとえば、話者ベクトル506は、ピッチ及びエネルギーに影響を与える重みを提供してもよい。一定の実施例では、ピッチ及びエネルギーは、声変換を目的とする試みなど、話者ベクトル506によって決定されてもよい。様々な実施例では、継続長、エネルギー、及びピッチの分布は、推論時にアクセスすることができる分布データ・ストア514に記憶されてもよい。認識されるように、分布は、言語又はアルファベットに基づいて変化する可能性があり、さらに、1つ又は複数の訓練プロセスを使用して更新されてもよい。継続長、ピッチ、及びエネルギーは、サンプリングに使用される成分として説明される場合があるが、他の様々なデータ点及び分布がサンプリングに利用されてもよいことを認識すべきである。単に一例として、強調、コントラスト、フォーカス、又は他の方法では話者による文法上の選択で表現されない1つ又は複数の要素など、韻律に関連する様々な特徴も同様にサンプリングに使用することができる。さらに、評価の追加の因子には、イントネーション、強勢、テンポ、リズム、休止などが含まれ得る。
【0037】
少なくとも一実施例では、入力テキストと出力オーディオとの間のアライメントは、1つ又は複数のアライメント・モジュール516を介して実行されてもよく、アライメント・モジュール516は、入力テキスト504を形成する異なる音素間の最尤の又は最も確率が高いアライメントを決定するために確率のセットに対して再帰的な計算を部分的に可能にする様々な機械学習システムを含んでもよい。(テキストからの)音素と(オーディオ訓練データからの)メル・サンプルとの間のアライメント尤度は、L2距離に基づいており、本明細書に記載のように、L2距離はガウス尤度に比例すると解釈することができる。この実例では、オーディオ長モジュール520は、入力テキスト504及び/又は入力テキストを形成する音素の継続長に少なくとも部分的に基づいてオーディオ長を決定してもよい。さらに、テキスト長モジュール522はテキスト長を決定してもよく、次いで、テキスト長は、オーディオ長に相関され、行列生成モジュール524によって形成され得る行列として提示されてもよい。少なくとも一実施例では、行列生成モジュール524を利用して、音素の位置に対する潜在的な音素継続長の行列を生成することができ、次いで、事前分布モジュール518は、評価を最尤の位置に拘束するか又は別の方法で制限するために、行列に事前分布を適用してもよい。例として、方程式(6)に示すように、ベータ二項分布から葉巻形状の事前分布が構築されてもよい。
P(mel,text,alignment)=P(meltext|alignment)P(alignment) (6)
【0038】
ここで、P(alignment)は、ベータ二項による葉巻形状の事前分布であり、P(mel,text|alignment)は、時間ステップtでのメル・サンプルとシーケンス内のn番目のテキスト音素との間のL2距離である。本明細書に記載のように、事前分布は、境界を含んでもよく、左下角から右上角まで伸びる対角線上に配置されてもよい。事前分布は異なる境界を利用できるように調整可能であってもよいことを認識すべきである。したがって、入力テキスト504とオーディオ継続長との間のアライメントを生成することができる。
【0039】
少なくとも一実施例では、オーディオ生成モジュール526は、話者ベクトル506及び/又はピッチ、エネルギーなどの他の特徴のなかでもとりわけ、アライメント並びに入力テキスト504に少なくとも部分的に基づいて、出力オーディオを生成してもよい。様々な実施例では、推論時の様々な分布からのサンプリングは、異なる音素継続長を変更又は修正することができ、この変更又は修正が、異なるアライメント、したがって異なる出力音声につながるので、オーディオ生成の多様性が向上する可能性がある。さらに、ピッチ又はエネルギーへのサンプリングの変更は、出力の多様性をさらに向上させる可能性がある。
【0040】
様々な実施例は、TTSシステム502を改善する際に使用するための合成訓練データの生成を可能にし得る、1つ又は複数の訓練システム528も含んでよい。様々な実施例では、訓練システム528は、分布を考慮した拡張を可能にすることができ、合成訓練情報を生成し、訓練で使用し、次いで推論時に除去することができる。例として、合成音声生成530は、サンプル・データ・ストア532からサンプルを取得し、他の可能性のなかでもとりわけ、ピッチ若しくはエネルギーを変更すること、又は様々な音素長を修正することなどによって、音声の1つ又は複数の特性を修正してもよい。この合成音声は、後の識別のためにメタデータなどの情報を合成音声に添付することができるラベル・モジュール534を使用してラベル付されてもよく、又は他の方法で識別されてもよい。この識別はすべての合成音声に適用されてもよく、実際のグラウンド・トゥルース訓練データと比較した場合、合成音声は「ダーティ(dirty)」又は「アンクリーン(unclean)」と見なされることがある。他の実施例では、閾値と比較するための1つ又は複数の特徴の識別など、1つ又は複数の特性を評価して、データがクリーンと見なされるかダーティと見なされるかを判定してもよい。次いで、分布生成器536は、合成音声からの情報を使用して1つ又は複数の分布を修正又は生成してもよい。次いで、これらの生成された分布は、訓練目的で使用されてもよいが、推論中、ラベルを使用するなどして合成音声が識別され、次いで除去されてもよい。このようにして、モデルを改善するために追加の訓練データを生成することができるが、推論時は、グラウンド・トゥルース情報を形成するデータのみが、ユーザ入力に応答する合成音声の生成に使用される。
【0041】
図6Aは、合成済み音声を生成するための実例プロセス600を示す。本明細書で提示する上記のプロセス及び他のプロセスについて、同様の順番で、若しくは代替的な順番で、又は少なくとも一部が並行して実行される追加の、より少ない、又は代替的なステップが、別段の記載のない限り様々な実施例の範囲内で存在してもよいことが理解されるべきである。この実例では、複数のオーディオ・セグメントが受信される602。オーディオ・セグメントは、音声の異なる部分の異なる態様を決定するために評価される訓練データのセットの少なくとも一部を形成してもよい。様々な実施例では、オーディオ・セグメントは、単語、ピッチ、エネルギーなどを形成する音素など、オーディオ・セグメントの異なる部分を抽出するための1つ又は複数の前処理ステップ又は処理ステップの対象となってもよい。少なくとも一実施例では、複数のオーディオ・セグメントから、音素継続長、音素ピッチ、及び音素エネルギーが決定される604。次いで、複数の音素から抽出された情報を利用して、オーディオ・セグメントにおいて見出される特定の特徴を示す1つ又は複数の分布を生成してもよい。たとえば、音素継続長を使用して第1の分布を生成してもよく606、音素ピッチを使用して第2の分布を生成してもよく608、音素エネルギーを使用して第3の分布を生成してもよい610。音声の他の部分又はオーディオ・セグメントの特徴を捕捉するための追加の分布が生成されてもよいことを認識すべきである。
【0042】
様々な実施例では、分布を利用して、会話型AIに関連するような合成音声を生成することができる。システムは、テキスト・シーケンスとして表されるテキスト入力を受信し、テキスト・シーケンスとオーディオ長との間のアライメントを決定してもよい612。アライメントは、テキスト入力を形成する異なる音素を音素のそれぞれの継続長に相関させる第1の分布に少なくとも部分的に基づいてもよい。様々な実施例では、音素継続長を選択するために、分布はそれぞれの音素についてサンプリングされる。推論時にサンプリングすることによって、たとえば他の要因のなかでもとりわけ音素継続長の違いに起因して、同じテキスト入力が異なる出力オーディオとして提示される可能性があるので、このタイプの確率的サンプリングは生成された合成音声の多様性を向上させる可能性があることを認識すべきである。したがって、アライメント、第2の分布、及び第3の分布に少なくとも部分的に基づいて、合成済み音声が生成されてもよい614。さらに、上記のように、様々な実施例では、1つ又は複数の追加の分布を利用して、合成済み音声を生成することもできる。
【0043】
図6Bは、合成済み音声を生成するための実例プロセス620を示す。この実例では、複数のオーディオ・セグメントのテキストと複数のオーディオ・セグメントの継続長との間のそれぞれのアライメントが決定される622。たとえば、複数のオーディオ・セグメントは、異なる単語又は句の音素長の分布を決定するために決定される訓練情報に対応してもよい。アライメント分布が生成されてもよく、アライメント分布は、それぞれのアライメントに少なくとも部分的に基づいてもよい624。アライメント分布は、特定の音素がテキストサンプルの特定の部分とアライメントする確率的尤度を示す行列の形式で提示されてもよい。少なくとも一実施例では、アライメント分布から、1つ又は複数のベクトルが決定される626。1つ又は複数のベクトルは、1つ又は複数の話者特性に対応してもよい。
【0044】
前述のように、様々な実施例を使用して合成済み音声を生成することができ、ここで、テキスト・シーケンスが受信される628。テキスト・シーケンスは、他の選択肢のなかでも、ユーザによって入力されるか、又は画像から抽出されてもよい。合成オーディオ・クリップは、テキスト・シーケンス及び1つ又は複数のベクトルに少なくとも部分的に基づいて生成されてもよく、合成オーディオ・クリップはテキスト・シーケンスに対応する630。
【0045】
図6Cは、TTSシステムを訓練するための実例プロセス650を示す。この実例では、1つ又は複数の合成訓練クリップが生成される652。合成訓練クリップは、他の選択肢のなかでもとりわけ、TTSシステムを訓練するために提供されるグラウンド・トゥルース訓練データに対応し得る1つ又は複数のサンプル・オーディオ・セグメントに少なくとも部分的に基づいて生成されてもよい。少なくとも一実施例では、合成訓練クリップは、音声のピッチ又は速度を変更するなど、サンプル・オーディオ・セグメントの1つ又は複数の特性を修正する。合成訓練クリップは、分布内の合成訓練クリップの位置を特定すること又はメタデータをクリップに関連付けることなどによってラベル付けされてもよい654。次いで、サンプル・オーディオ・セグメントの少なくともいくつか及び1つ又は複数の合成訓練クリップの少なくともいくつかを使用して、1つ又は複数の機械学習システムが訓練されてもよい656。合成訓練クリップによって、より大きい訓練セットが使用可能になり、より大きい訓練セットによって、その後の推論を改善することができる。
【0046】
少なくとも一実施例では、訓練済み機械学習システムを利用して、合成オーディオ・クリップを生成する。合成音声を生成するよう求める要求が受信されてもよい658。この音声は、TTSシステムを使用してテキスト入力を処理することによって生成されてもよく、TTSは、出力オーディオを生成するために音声の一部を異なる継続長にアライメントすることができる。少なくとも一実施例では、合成訓練クリップに関連する、分布内の1つ又は複数の位置が識別され660、これらの位置は、合成音声の生成中に回避されるか又はサンプリングされない662。このように、合成訓練クリップは、データ・セットを増加させることによってモデル化を改善するために使用することができるが、推論中には使用することができない。
【0047】
データ・センタ
図7は、少なくとも一実施例が使用されてもよい例示的なデータ・センタ700を示す。少なくとも一実施例では、データ・センタ700は、データ・センタ・インフラストラクチャ層710、フレームワーク層720、ソフトウェア層730、及びアプリケーション層740を含む。
【0048】
図7に示すように、少なくとも一実施例では、データ・センタ・インフラストラクチャ層710は、リソース・オーケストレータ712と、グループ化済みコンピューティング・リソース714と、ノード・コンピューティング・リソース(「ノードC.R.」)716(1)~716(N)とを含んでもよく、ここで「N」は任意の正の整数を表す。少なくとも一実施例では、ノードC.R.716(1)~716(N)は、任意の数の中央処理装置(「CPU」)又は(アクセラレータ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、グラフィックス・プロセッサなどを含む)他のプロセッサ、メモリ・デバイス(たとえば、ダイナミック読取り専用メモリ)、ストレージ・デバイス(たとえば、半導体ドライブ又はディスク・ドライブ)、ネットワーク入力/出力(「NW I/O」:network input/output)デバイス、ネットワーク・スイッチ、仮想機械(「VM」:virtual machine)、電源モジュール、及び冷却モジュールを含んでもよいが、これらに限定されない。少なくとも一実施例では、ノードC.R.716(1)~716(N)のうち1つ又は複数のノードC.R.は、上述したコンピューティング・リソースのうちの1つ又は複数を有するサーバであってもよい。
【0049】
少なくとも一実施例では、グループ化済みコンピューティング・リソース714は、1つ若しくは複数のラック(図示せず)内に収容されたノードC.R.の別々のグループ、又は様々なグラフィカル・ロケーション(同じく図示せず)においてデータ・センタに収容された多数のラックを含んでもよい。グループ化済みコンピューティング・リソース714内のノードC.R.の別々のグループは、1つ若しくは複数のワークロードをサポートするように構成又は配分されてもよいグループ化済みのコンピュート・リソース、ネットワーク・リソース、メモリ・リソース、又はストレージ・リソースを含んでもよい。少なくとも一実施例では、CPU又はプロセッサを含むいくつかのノードC.R.は、1つ又は複数のラック内でグループ化されて、1つ又は複数のワークロードをサポートするためのコンピュート・リソースが提供されてもよい。少なくとも一実施例では、1つ又は複数のラックはまた、任意の数の電源モジュール、冷却モジュール、及びネットワーク・スイッチを任意の組合せで含んでもよい。
【0050】
少なくとも一実施例では、リソース・オーケストレータ712は、1つ又は複数のノードC.R.716(1)~716(N)及び/若しくはグループ化済みコンピューティング・リソース714を構成してもよく、又は他のやり方で制御してもよい。少なくとも一実施例では、リソース・オーケストレータ712は、データ・センタ700用のソフトウェア設計インフラストラクチャ(「SDI」:software design infrastructure)管理エンティティを含んでもよい。少なくとも一実施例では、リソース・オーケストレータは、ハードウェア、ソフトウェア、又はこれらの何らかの組合せを含んでもよい。
【0051】
図7に示す少なくとも一実施例では、フレームワーク層720は、ジョブ・スケジューラ722、構成マネージャ724、リソース・マネージャ726、及び分配ファイル・システム728を含む。少なくとも一実施例では、フレームワーク層720は、ソフトウェア層730のソフトウェア732、及び/又はアプリケーション層740の1つ若しくは複数のアプリケーション742をサポートするためのフレームワークを含んでもよい。少なくとも一実施例では、ソフトウェア732又はアプリケーション742はそれぞれ、アマゾン・ウェブ・サービス、グーグル・クラウド、及びマイクロソフト・アジュールによって提供されるものなど、ウェブ・ベースのサービス・ソフトウェア又はアプリケーションを含んでもよい。少なくとも一実施例では、フレームワーク層720は、大規模なデータ処理(たとえば「ビック・データ」)のために分配ファイル・システム728を使用することができるApache Spark(登録商標)(以下「Spark」)など、無料でオープン・ソースのソフトウェア・ウェブ・アプリケーション・フレームワークの一種であってもよいが、これに限定されない。少なくとも一実施例では、ジョブ・スケジューラ722は、データ・センタ700の様々な層によってサポートされるワークロードのスケジューリングを容易にするために、Sparkドライバを含んでもよい。少なくとも一実施例では、構成マネージャ724は、ソフトウェア層730、並びに大規模なデータ処理をサポートするためのSpark及び分配ファイル・システム728を含むフレームワーク層720などの異なる層を構成することが可能であってもよい。少なくとも一実施例では、リソース・マネージャ726は、分配ファイル・システム728及びジョブ・スケジューラ722をサポートするようにマッピング若しくは配分されたクラスタ化済み又はグループ化済みのコンピューティング・リソースを管理することが可能であってもよい。少なくとも一実施例では、クラスタ化済み又はグループ化済みのコンピューティング・リソースは、データ・センタ・インフラストラクチャ層710にあるグループ化済みコンピューティング・リソース714を含んでもよい。少なくとも一実施例では、リソース・マネージャ726は、リソース・オーケストレータ712と連携して、これらのマッピング又は配分されたコンピューティング・リソースを管理してもよい。
【0052】
少なくとも一実施例では、ソフトウェア層730に含まれるソフトウェア732は、ノードC.R.716(1)~716(N)、グループ化済みコンピューティング・リソース714、及び/又はフレームワーク層720の分配ファイル・システム728のうちの少なくとも一部分によって使用されるソフトウェアを含んでもよい。1つ又は複数のタイプのソフトウェアは、インターネット・ウェブ・ページ検索ソフトウェア、電子メール・ウイルス・スキャン・ソフトウェア、データベース・ソフトウェア、及びストリーミング・ビデオ・コンテンツ・ソフトウェアを含んでもよいが、これらに限定されない。
【0053】
少なくとも一実施例では、アプリケーション層740に含まれるアプリケーション742は、ノードC.R.716(1)~716(N)、グループ化済みコンピューティング・リソース714、及び/又はフレームワーク層720の分配ファイル・システム728のうちの少なくとも一部分によって使用される1つ若しくは複数のタイプのアプリケーションを含んでもよい。1つ若しくは複数のタイプのアプリケーションは、任意の数のゲノム学アプリケーション、認識コンピュート、並びに訓練若しくは推論のソフトウェア、機械学習フレームワーク・ソフトウェア(たとえば、PyTorch、TensorFlow、Caffeなど)を含む機械学習アプリケーション、又は1つ若しくは複数の実施例と併せて使用される他の機械学習アプリケーションを含んでもよいが、これらに限定されない。
【0054】
少なくとも一実施例では、構成マネージャ724、リソース・マネージャ726、及びリソース・オーケストレータ712のうちのいずれかは、任意の技術的に実行可能なやり方で取得された任意の量及びタイプのデータに基づき、任意の数及びタイプの自己修正措置を実装してもよい。少なくとも一実施例では、自己修正措置は、データ・センタ700のデータ・センタ演算子が、不良の恐れのある構成を決定しないようにし、十分に利用されていない且つ/又は性能の低いデータ・センタの部分をなくせるようにしてもよい。
【0055】
少なくとも一実施例では、データ・センタ700は、1つ若しくは複数の機械学習モデルを訓練し、又は本明細書に記載の1つ若しくは複数の実施例による1つ若しくは複数の機械学習モデルを使用して情報を予測若しくは推論するためのツール、サービス、ソフトウェア、又は他のリソースを含んでもよい。たとえば、少なくとも一実施例では、機械学習モデルは、データ・センタ700に関して上述したソフトウェア及びコンピューティング・リソースを使用して、ニューラル・ネットワーク・アーキテクチャに従って重みパラメータを計算することによって、訓練されてもよい。少なくとも一実施例では、1つ又は複数のニューラル・ネットワークに対応する訓練済み機械学習モデルは、本明細書に記載の1つ又は複数の技法によって計算された重みパラメータを使用することにより、データ・センタ700に関して上述したリソースを使用して、情報を推論又は予測するために使用されてもよい。
【0056】
少なくとも一実施例では、データ・センタは、上述したリソースを使用して訓練及び/又は推論を実行するために、CPU、特定用途向け集積回路(ASIC)、GPU、FPGA、又は他のハードウェアを使用してもよい。さらに、上述した1つ又は複数のソフトウェア及び/又はハードウェアのリソースは、画像認識、音声認識、又は他の人工知能サービスなどの情報の訓練又は推論の実行を、ユーザが行えるようにするためのサービスとして構成されてもよい。
【0057】
こうした構成要素を使用して、合成音声を生成することができる。
【0058】
コンピュータ・システム
図8は、例示的なコンピュータ・システムを示すブロック図であり、このコンピュータ・システムは、少なくとも一実施例による、命令を実行するための実行ユニットを含んでもよいプロセッサとともに形成された、相互接続されたデバイス及び構成要素、システム・オン・チップ(SoC)、又はこれら800の何らかの組合せを有するシステムであってもよい。少なくとも一実施例では、コンピュータ・システム800は、本明細書に記載の実施例などにおいて本開示に従ってデータを処理するためのアルゴリズムを実行する論理を含む実行ユニットを使用するための、プロセッサ802などの構成要素を、限定することなく含んでもよい。少なくとも一実施例では、コンピュータ・システム800は、カリフォルニア州サンタクララのインテルコーポレーションから入手可能なPENTIUM(登録商標)プロセッサ・ファミリー、XeonTM、Itanium(登録商標)、XScaleTM及び/又はStrongARMTM、Intel(登録商標)Core(商標)、又はIntel(登録商標)Nervana(商標)マイクロプロセッサなどのプロセッサを含んでもよいが、(他のマイクロプロセッサ、エンジニアリング・ワークステーション、セット・トップ・ボックスなどを有するPCを含め)他のシステムが使用されてもよい。少なくとも一実施例では、コンピュータ・システム800は、ワシントン州、レドモンドのマイクロソフトコーポレーションから入手可能なWINDOWS(登録商標)のオペレーティング・システムのあるバージョンを実行してもよいが、他のオペレーティング・システム(たとえば、UNIX(登録商標)及びLinux(登録商標))、組み込みソフトウェア、及び/又はグラフィカル・ユーザ・インターフェースが使用されてもよい。
【0059】
実施例は、携帯型デバイス及び組み込みアプリケーションなど、他のデバイスで使用されてもよい。携帯型デバイスのいくつかの例は、セルラー・フォン、インターネット・プロトコル・デバイス、デジタル・カメラ、パーソナル・デジタル・アシスタント(「PDA」:personal digital assistants)、及び携帯型PCを含む。少なくとも一実施例では、組み込みアプリケーションは、マイクロコントローラ、デジタル信号プロセッサ(「DSP」:digital signal processor)、システム・オン・チップ、ネットワーク・コンピュータ(「NetPC」:network computers)、エッジ・コンピューティング・デバイス、セット・トップ・ボックス、ネットワーク・ハブ、広域ネットワーク(「WAN」:wide area network)スイッチ、又は少なくとも一実施例による1つ又は複数の命令を実行することができる任意の他のシステムを含んでもよい。
【0060】
少なくとも一実施例では、コンピュータ・システム800は、限定することなくプロセッサ802を含んでもよく、このプロセッサ802は限定することなく、本明細書に記載の技法による機械学習モデルの訓練及び/又は推論を実行するための1つ又は複数の実行ユニット808を含んでもよい。少なくとも一実施例では、コンピュータ・システム800は、シングル・プロセッサのデスクトップ又はサーバ・システムであるが、別の実施例では、コンピュータ・システム800はマルチプロセッサ・システムであってもよい。少なくとも一実施例では、プロセッサ802は、限定することなく、複合命令セット・コンピュータ(「CISC」:complex instruction set computer)マイクロプロセッサ、縮小命令セット・コンピューティング(「RISC」)マイクロプロセッサ、超長命令語(「VLIW」)マイクロプロセッサ、命令セットの組合せを実装するプロセッサ、又は任意の他のプロセッサ・デバイス、たとえばデジタル信号プロセッサなどを含んでもよい。少なくとも一実施例では、プロセッサ802は、プロセッサ・バス810に結合されてもよく、このプロセッサ・バスは、プロセッサ802とコンピュータ・システム800内の他の構成要素との間でデータ信号を送信してもよい。
【0061】
少なくとも一実施例では、プロセッサ802は、限定することなく、レベル1(「L1」)の内部キャッシュ・メモリ(「キャッシュ」)804を含んでもよい。少なくとも一実施例では、プロセッサ802は、単一の内部キャッシュ又は複数レベルの内部キャッシュを有してもよい。少なくとも一実施例では、キャッシュ・メモリは、プロセッサ802の外部にあってもよい。他の実施例は、特定の実装形態及び必要性に応じて、内部キャッシュと外部キャッシュの両方の組合せも含んでよい。少なくとも一実施例では、レジスタ・ファイル806は、整数レジスタ、浮動小数点レジスタ、状態レジスタ、及び命令ポインタ・レジスタを限定することなく含む様々レジスタに、異なるタイプのデータを記憶してもよい。
【0062】
少なくとも一実施例では、整数及び浮動小数点の演算を実行するための論理を限定することなく含む実行ユニット808も、プロセッサ802にある。少なくとも一実施例では、プロセッサ802は、ある一定のマクロ命令のためのマイクロコードを記憶するマイクロコード(「uコード」)読取り専用メモリ(「ROM」:read only memory)も含んでよい。少なくとも一実施例では、実行ユニット808は、パック命令セット809に対処する論理を含んでもよい。少なくとも一実施例では、パック命令セット809を、命令を実行する関連回路とともに汎用プロセッサの命令セットに含めることにより、多くのマルチメディア・アプリケーションによって使用される演算を、汎用プロセッサ802のパック・データを使用して実行することができる。1つ又は複数の実施例では、プロセッサのデータ・バスの全幅を使用してパック・データの演算を実行することによって、多くのマルチメディア・アプリケーションを加速し、より効率的に実行することができ、これにより、1度に1つのデータ要素に対して1つ又は複数の演算を実行するためにプロセッサのデータ・バス間でより小さい単位のデータを転送する必要をなくすことができる。
【0063】
少なくとも一実施例では、実行ユニット808はまた、マイクロコントローラ、組み込みプロセッサ、グラフィックス・デバイス、DSP、及び他のタイプの論理回路において使用されてもよい。少なくとも一実施例では、コンピュータ・システム800は、限定することなくメモリ820を含んでもよい。少なくとも一実施例では、メモリ820は、ダイナミック・ランダム・アクセス・メモリ(「DRAM」)デバイス、スタティック・ランダム・アクセス・メモリ(「SRAM」)デバイス、フラッシュ・メモリ・デバイス、又は他のメモリ・デバイスとして実装されてもよい。少なくとも一実施例では、メモリ820は、プロセッサ802によって実行されてもよいデータ信号によって表される命令819、及び/又はデータ821を記憶してもよい。
【0064】
少なくとも一実施例では、システム論理チップが、プロセッサ・バス810及びメモリ820に結合されてもよい。少なくとも一実施例では、システム論理チップは、限定することなく、メモリ・コントローラ・ハブ(「MCH」:memory controller hub)816を含んでもよく、プロセッサ802は、プロセッサ・バス810を介してMCH816と通信してもよい。少なくとも一実施例では、MCH816は、命令及びデータを記憶するため、及びグラフィックス・コマンド、データ、及びテクスチャを記憶するために、高帯域幅メモリ経路818をメモリ820に提供してもよい。少なくとも一実施例では、MCH816は、プロセッサ802と、メモリ820と、コンピュータ・システム800の他の構成要素との間でデータ信号を導き、プロセッサ・バス810と、メモリ820と、システムI/Oインターフェース822との間でデータ信号をブリッジしてもよい。少なくとも一実施例では、システム論理チップは、グラフィックス・コントローラに結合するためのグラフィックス・ポートを提供してもよい。少なくとも一実施例では、MCH816は、高帯域幅メモリ経路818を介してメモリ820に結合されてもよく、グラフィックス/ビデオカード812は、アクセラレーテッド・グラフィックス・ポート(「AGP」:Accelerated Graphics Port)相互接続814を介してMCH816に結合されてもよい。
【0065】
少なくとも一実施例では、コンピュータ・システム800は、MCH816をI/Oコントローラ・ハブ(「ICH」:I/O controller hub)830に結合するためのプロプライエタリ・ハブ・インターフェース・バスであるシステムI/O822を使用してもよい。少なくとも一実施例では、ICH830は、ローカルのI/Oバスを介していくつかのI/Oデバイスに直接接続を提供してもよい。少なくとも一実施例では、ローカルI/Oバスは、周辺装置をメモリ820、チップセット、及びプロセッサ802に接続するための高速I/Oバスを、限定することなく含んでもよい。例としては、オーディオ・コントローラ829、ファームウェア・ハブ(「フラッシュBIOS」)828、ワイヤレス・トランシーバ826、データ・ストレージ824、ユーザ入力及びキーボードのインターフェース825を含むレガシーI/Oコントローラ823、ユニバーサル・シリアル・バス(「USB」:Universal Serial Bus)などのシリアル拡張ポート827、及びネットワーク・コントローラ834が、限定することなく含まれてもよい。データ・ストレージ824は、ハード・ディスク・ドライブ、フロッピー(登録商標)・ディスク・ドライブ、CD-ROMデバイス、フラッシュ・メモリ・デバイス、又は他の大容量ストレージ・デバイスを備えてもよい。
【0066】
少なくとも一実施例では、図8は、相互接続されたハードウェア・デバイス又は「チップ」を含むシステムを示すが、一方他の実施例では、図8は例示的なシステム・オン・チップ(「SoC」)を示してもよい。少なくとも一実施例では、デバイスは、プロプライエタリ相互接続、標準相互接続(たとえば、PCIe)、又はこれらの何らかの組合せで相互接続されてもよい。少なくとも一実施例では、コンピュータ・システム800の1つ又は複数の構成要素は、コンピュート・エクスプレス・リンク(CXL:compute express link)相互接続を使用して相互接続されてもよい。
【0067】
こうした構成要素を使用して、合成音声を生成することができる。
【0068】
図9は、少なくとも一実施例による、プロセッサ910を利用するための電子デバイス900を示すブロック図である。少なくとも一実施例では、電子デバイス900は、たとえば限定することなく、ノートブック、タワー・サーバ、ラック・サーバ、ブレード・サーバ、ラップトップ、デスクトップ、タブレット、モバイル・デバイス、電話、組み込みコンピュータ、又は任意の他の好適な電子デバイスであってもよい。
【0069】
少なくとも一実施例では、システム900は、任意の好適な数又は種類の構成要素、周辺装置、モジュール、若しくはデバイスに通信可能に結合されたプロセッサ910を、限定することなく含んでもよい。少なくとも一実施例では、プロセッサ910は、I°Cバス、システム・マネージメント・バス(「SMBus」:System Management Bus)、ロー・ピン・カウント(LPC:Low Pin Count)バス、シリアル・ペリフェラル・インターフェース(「SPI」:Serial Peripheral Interface)、ハイ・デフィニション・オーディオ(「HDA」:High Definition Audio)バス、シリアル・アドバンス・テクノロジー・アタッチメント(「SATA」:Serial Advance Technology Attachment)バス、ユニバーサル・シリアル・バス(「USB」)(バージョン1、2、3)、又はユニバーサル非同期レシーバ/トランスミッタ(「UART」:Universal Asynchronous Receiver/Transmitter)バスなどのバス若しくはインターフェースを使用して結合される。少なくとも一実施例では、図9は、相互接続されたハードウェア・デバイス又は「チップ」を含むシステムを示すが、一方他の実施例では、図9は例示的なシステム・オン・チップ(「SoC」)を示してもよい。少なくとも一実施例では、図9に示すデバイスは、プロプライエタリ相互接続、標準相互接続(たとえば、PCIe)、又はこれらの何らかの組合せで相互接続されてもよい。少なくとも一実施例では、図9の1つ又は複数の構成要素は、コンピュート・エクスプレス・リンク(CXL)相互接続を使用して相互接続されてもよい。
【0070】
少なくとも一実施例では、図9は、ディスプレイ924、タッチ画面925、タッチ・パッド930、近距離無線通信ユニット(「NFC」:Near Field Communications unit)945、センサ・ハブ940、熱センサ946、エクスプレス・チップセット(「EC」:Express Chipset)935、トラステッド・プラットフォーム・モジュール(「TPM」:Trusted Platform Module)938、BIOS/ファームウェア/フラッシュ・メモリ(「BIOS、FWフラッシュ」:BIOS/firmware/flash memory)922、DSP960、ソリッド・ステート・ディスク(「SSD」:Solid State Disk)若しくはハード・ディスク・ドライブ(「HDD」:Hard Disk Drive)などのドライブ920、ワイヤレス・ローカル・エリア・ネットワーク・ユニット(「WLAN」:wireless local area network unit)950、Bluetoothユニット952、ワイヤレス広域ネットワーク・ユニット(「WWAN」:Wireless Wide Area Network unit)956、全地球測位システム(GPS:Global Positioning System)ユニット955、USB3.0カメラなどのカメラ(「USB3.0カメラ」)954、及び/又は、たとえばLPDDR3規格に実装された低電力ダブル・データ・レート(「LPDDR」:Low Power Double Data Rate)メモリ・ユニット(「LPDDR3」)915を含んでもよい。これらの構成要素は、それぞれ任意の好適なやり方で実装されてもよい。
【0071】
少なくとも一実施例では、上述した構成要素を介して、他の構成要素がプロセッサ910に通信可能に結合されてもよい。少なくとも一実施例では、加速度計941、周囲光センサ(「ALS」:Ambient Light Sensor)942、コンパス943、及びジャイロスコープ944が、センサ・ハブ940に通信可能に結合されてもよい。少なくとも一実施例では、熱センサ939、ファン937、キーボード946、及びタッチ・パッド930が、EC935に通信可能に結合されてもよい。少なくとも一実施例では、スピーカ963、ヘッドフォン964、及びマイクロフォン(「mic」)965が、オーディオ・ユニット(オーディオ・コーデック及びクラスdアンプ)962に通信可能に結合されてもよく、このオーディオ・ユニットが、DSP960に通信可能に結合されてもよい。少なくとも一実施例では、オーディオ・ユニット964は、たとえば限定することなく、オーディオ・コーダ/デコーダ(「コーデック」)及びクラスDアンプリファイアを含んでもよい。少なくとも一実施例では、SIMカード(「SIM」)957は、WWANユニット956に通信可能に結合されてもよい。少なくとも一実施例では、WLANユニット950及びBluetoothユニット952などの構成要素、並びにWWAN956は、次世代フォーム・ファクタ(「NGFF」:Next Generation Form Factor)に実装されてもよい。
【0072】
こうした構成要素を使用して、合成音声を生成することができる。
【0073】
図10は、少なくとも一実施例による処理システムのブロック図である。少なくとも一実施例では、システム1000は、1つ又は複数のプロセッサ1002、及び1つ又は複数のグラフィックス・プロセッサ1008を含み、単一プロセッサのデスクトップ・システム、マルチプロセッサのワークステーション・システム、又は多数の一括で若しくは別々に管理されるプロセッサ1002若しくはプロセッサ・コア1007を有するサーバ・システム若しくはデータ・センタであってもよい。少なくとも一実施例では、システム1000は、モバイル・デバイス、携帯型デバイス、又は組み込みデバイスで使用するためのシステム・オン・チップ(SoC)集積回路内に組み込まれた処理プラットフォームである。
【0074】
少なくとも一実施例では、システム1000は、サーバ・ベースのゲーミング・プラットフォーム、クラウド・コンピューティング・ホスト・プラットフォーム、仮想化コンピューティング・プラットフォーム、ゲーム及びメディアのコンソールを含むゲーム・コンソール、携帯型ゲーム・コンソール、ハンドヘルド・ゲーム・コンソール、若しくはオンライン・ゲーム・コンソールを含んでもよく、又はそれらに組み込まれてもよい。少なくとも一実施例では、システム1000は、モバイル・フォン、スマート・フォン、タブレット・コンピューティング・デバイス、又はモバイル・インターネット・デバイスである。少なくとも一実施例では、処理システム1000はまた、スマート・ウォッチ・ウェアラブル・デバイス、スマート・アイウェア・デバイス、拡張現実デバイス、エッジデバイス、モノのインターネット(「IoT:Internet of Things」)デバイス、若しくは仮想現実デバイスなどのウェアラブル・デバイスを含んでもよく、それらに結合されてもよく、又はそれらのなかに一体化されてもよい。少なくとも一実施例では、処理システム1000は、1つ又は複数のプロセッサ1002と、1つ又は複数のグラフィックス・プロセッサ1008によって生成されるグラフィカル・インターフェースとを有するテレビ又はセット・トップ・ボックス・デバイスである。
【0075】
少なくとも一実施例では、1つ又は複数のプロセッサ1002はそれぞれ、実行されたときにシステム及びユーザ・ソフトウェアのための動作を実行する命令を処理するための1つ又は複数のプロセッサ・コア1007を含む。少なくとも一実施例では、1つ又は複数のプロセッサ・コア1007のそれぞれは、特定の命令セット1009を処理するように構成される。少なくとも一実施例では、命令セット1009は、複合命令セット・コンピューティング(CISC)、縮小命令セット・コンピューティング(RISC)、又は超長命令語(VLIW)を介したコンピューティングを容易にしてもよい。少なくとも一実施例では、プロセッサ・コア1007はそれぞれ、異なる命令セット1009を処理してもよく、この命令セットは、他の命令セットのエミュレーションを容易にする命令を含んでもよい。少なくとも一実施例では、プロセッサ・コア1007はまた、デジタル信号プロセッサ(DSP)などの他の処理デバイスを含んでもよい。
【0076】
少なくとも一実施例では、プロセッサ1002はキャッシュ・メモリ1004を含む。少なくとも一実施例では、プロセッサ1002は、単一の内部キャッシュ又は複数レベルの内部キャッシュを有してもよい。少なくとも一実施例では、キャッシュ・メモリは、プロセッサ1002の様々な構成要素間で共有される。少なくとも一実施例では、プロセッサ1002はまた、外部キャッシュ(たとえば、レベル3(L3)キャッシュ又はラスト・レベル・キャッシュ(LLC))(図示せず)を使用し、このキャッシュは、知られているキャッシュ・コヒーレンス技法を使用して、プロセッサ・コア1007間で共有されてもよい。少なくとも一実施例では、さらにレジスタ・ファイル1006がプロセッサ1002に含まれ、このレジスタ・ファイルは、異なるタイプのデータを記憶するための異なるタイプのレジスタ(たとえば、整数レジスタ、浮動小数点レジスタ、状態レジスタ、及び命令ポインタ・レジスタ)を含んでもよい。少なくとも一実施例では、レジスタ・ファイル1006は、汎用レジスタ又は他のレジスタを含んでもよい。
【0077】
少なくとも一実施例では、1つ又は複数のプロセッサ1002は、1つ又は複数のインターフェース・バス1010に結合されて、アドレス、データ、又は制御信号などの通信信号を、プロセッサ1002とシステム1000内の他の構成要素との間で送信する。少なくとも一実施例では、インターフェース・バス1010は、一実施例では、ダイレクト・メディア・インターフェース(DMI)バスのバージョンなどのプロセッサ・バスとすることができる。少なくとも一実施例では、インターフェース1010は、DMIバスに限定されず、1つ又は複数のペリフェラル・コンポーネント・インターコネクト・バス(たとえば、PCI、PCIエクスプレス)、メモリ・バス、又は他のタイプのインターフェース・バスを含んでもよい。少なくとも一実施例では、プロセッサ1002は、統合メモリ・コントローラ1016、及びプラットフォーム・コントローラ・ハブ1030を含む。少なくとも一実施例では、メモリ・コントローラ1016は、メモリ・デバイスとシステム1000の他の構成要素との間の通信を容易にし、一方でプラットフォーム・コントローラ・ハブ(PCH)1030は、ローカルI/Oバスを介してI/Oデバイスへの接続を提供する。
【0078】
少なくとも一実施例では、メモリ・デバイス1020は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、フラッシュ・メモリ・デバイス、相変化メモリ・デバイス、又はプロセス・メモリとしての役割を果たすのに好適な性能を有する何らかの他のメモリ・デバイスとすることができる。少なくとも一実施例では、メモリ・デバイス1020は、システム1000のためのシステム・メモリとして動作して、1つ又は複数のプロセッサ1002がアプリケーション若しくはプロセスを実行するときに使用するためのデータ1022及び命令1021を記憶することができる。少なくとも一実施例では、メモリ・コントローラ1016はまた、任意選択の外部グラフィックス・プロセッサ1012と結合しており、このグラフィックス・プロセッサは、プロセッサ1002内の1つ又は複数のグラフィックス・プロセッサ1008と通信して、グラフィックス及びメディアの動作を実行してもよい。少なくとも一実施例では、ディスプレイ・デバイス1011は、プロセッサ1002に接続することができる。少なくとも一実施例では、ディスプレイ・デバイス1011は、モバイル電子デバイス又はラップトップ・デバイスのような内部ディスプレイ・デバイス、又はディスプレイ・インターフェース(たとえば、ディスプレイ・ポートなど)を介して取り付けられる外部ディスプレイ・デバイスのうちの1つ又は複数を含むことができる。少なくとも一実施例では、ディスプレイ・デバイス1011は、仮想現実(VR)アプリケーション又は拡張現実(AR)アプリケーションで使用するための立体ディスプレイ・デバイスなどの頭部装着型ディスプレイ(HMD)を含むことができる。
【0079】
少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030は、周辺装置が高速I/Oバスを介してメモリ・デバイス1020及びプロセッサ1002に接続できるようにする。少なくとも一実施例では、I/O周辺装置は、オーディオ・コントローラ1046、ネットワーク・コントローラ1034、ファームウェア・インターフェース1028、ワイヤレス・トランシーバ1026、タッチ・センサ1025、データ・ストレージ・デバイス1024(たとえば、ハード・ディスク・ドライブ、フラッシュ・メモリなど)を含むが、これらに限定されない。少なくとも一実施例では、データ・ストレージ・デバイス1024は、ストレージ・インターフェース(たとえば、SATA)を介して、又はペリフェラル・コンポーネント・インターコネクト・バス(たとえば、PCI、PCIエクスプレス)などのペリフェラル・バスを介して、接続することができる。少なくとも一実施例では、タッチ・センサ1025は、タッチ画面センサ、圧力センサ、又は指紋センサを含むことができる。少なくとも一実施例では、ワイヤレス・トランシーバ1026は、WiFiトランシーバ、Bluetoothトランシーバ、又は3G、4G、若しくはLong Term Evolution(LTE)トランシーバなどのモバイル・ネットワーク・トランシーバとすることができる。少なくとも一実施例では、ファームウェア・インターフェース1028は、システム・ファームウェアとの通信を可能にし、たとえば、ユニファイド・エクステンシブル・ファームウェア・インターフェース(UEFI)とすることができる。少なくとも一実施例では、ネットワーク・コントローラ1034は、有線ネットワークへのネットワーク接続を可能にすることができる。少なくとも一実施例では、高性能ネットワーク・コントローラ(図示せず)は、インターフェース・バス1010と結合する。少なくとも一実施例では、オーディオ・コントローラ1046は、多チャネル・ハイ・デフィニション・オーディオ・コントローラである。少なくとも一実施例では、システム1000は、レガシー(たとえば、パーソナル・システム2(PS/2))デバイスをシステムに結合するための任意選択のレガシーI/Oコントローラ1040を含む。少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030は、キーボードとマウス1043の組合せ、カメラ1044、又は他のUSB入力デバイスなど、1つ又は複数のユニバーサル・シリアル・バス(USB)コントローラ1042の接続入力デバイスにも接続することができる。
【0080】
少なくとも一実施例では、メモリ・コントローラ1016及びプラットフォーム・コントローラ・ハブ1030のインスタンスは、外部グラフィックス・プロセッサ1012などの個別の外部グラフィックス・プロセッサに一体化されてもよい。少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030及び/又はメモリ・コントローラ1016は、1つ又は複数のプロセッサ1002の外部にあってもよい。たとえば、少なくとも一実施例では、システム1000は、外部のメモリ・コントローラ1016及びプラットフォーム・コントローラ・ハブ1030を含むことができ、これらは、プロセッサ1002と通信するシステム・チップセット内のメモリ・コントローラ・ハブ及び周辺装置コントローラ・ハブとして構成されてもよい。
【0081】
こうした構成要素を使用して、合成音声を生成することができる。
【0082】
図11は、少なくとも一実施例による、1つ又は複数のプロセッサ・コア1102A~1102N、統合メモリ・コントローラ1114、及び統合グラフィックス・プロセッサ1108を有するプロセッサ1100のブロック図である。少なくとも一実施例では、プロセッサ1100は、破線の四角によって表される追加コア1102Nを含むそれ以下の数の追加コアを含むことができる。少なくとも一実施例では、プロセッサ・コア1102A~1102Nのそれぞれは、1つ又は複数の内部キャッシュ・ユニット1104A~1104Nを含む。少なくとも一実施例では、各プロセッサ・コアはまた、1つ又は複数の共有キャッシュ・ユニット1106にアクセスできる。
【0083】
少なくとも一実施例では、内部キャッシュ・ユニット1104A~1104N、及び共有キャッシュ・ユニット1106は、プロセッサ1100内のキャッシュ・メモリ階層を表す。少なくとも一実施例では、キャッシュ・メモリ・ユニット1104A~1104Nは、各プロセッサ・コア内の命令及びデータのキャッシュの少なくとも1つのレベル、並びにレベル2(L2)、レベル3(L3)、レベル4(L4)などの共有中間レベル・キャッシュの1つ又は複数のレベル、又はキャッシュの他のレベルを含んでもよく、ここで外部メモリの前の最高レベルのキャッシュは、LLCとして分類される。少なくとも一実施例では、キャッシュ・コヒーレンス論理は、様々なキャッシュ・ユニット1106及び1104A~1104N間でコヒーレンスを維持する。
【0084】
少なくとも一実施例では、プロセッサ1100はまた、1つ又は複数のバス・コントローラ・ユニット1116とシステム・エージェント・コア1110のセットを含んでもよい。少なくとも一実施例では、1つ又は複数のバス・コントローラ・ユニット1116は、1つ又は複数のPCI若しくはPCIエクスプレス・バスなどのペリフェラル・バスのセットを管理する。少なくとも一実施例では、システム・エージェント・コア1110は、様々なプロセッサ構成要素のための管理機能を提供する。少なくとも一実施例では、システム・エージェント・コア1110は、様々な外部メモリ・デバイス(図示せず)へのアクセスを管理するための1つ又は複数の統合メモリ・コントローラ1114を含む。
【0085】
少なくとも一実施例では、プロセッサ・コア1102A~1102Nの1つ又は複数は、同時マルチスレッディングのサポートを含む。少なくとも一実施例では、システム・エージェント・コア1110は、マルチスレッドの処理中にコア1102A~1102Nを調整し動作させるための構成要素を含む。少なくとも一実施例では、システム・エージェント・コア1110はさらに、電力制御ユニット(PCU)を含んでもよく、このユニットは、プロセッサ・コア1102A~1102N及びグラフィックス・プロセッサ1108の1つ又は複数の電力状態を調整するための論理及び構成要素を含む。
【0086】
少なくとも一実施例では、プロセッサ1100はさらに、グラフィックス処理動作を実行するためのグラフィックス・プロセッサ1108を含む。少なくとも一実施例では、グラフィックス・プロセッサ1108は、共有キャッシュ・ユニット1106と、1つ又は複数の統合メモリ・コントローラ1114を含むシステム・エージェント・コア1110とに結合する。少なくとも一実施例では、システム・エージェント・コア1110はまた、1つ又は複数の結合されたディスプレイに対してグラフィックス・プロセッサの出力を行わせるためのディスプレイ・コントローラ1111を含む。少なくとも一実施例では、ディスプレイ・コントローラ1111はまた、少なくとも1つの相互接続を介してグラフィックス・プロセッサ1108に結合された別個のモジュールであってもよく、又はグラフィックス・プロセッサ1108内に一体化されていてもよい。
【0087】
少なくとも一実施例では、プロセッサ1100の内部構成要素を結合するために、リング・ベースの相互接続ユニット1112が使用される。少なくとも一実施例では、ポイントツーポイント相互接続、スイッチ相互接続、又は他の技法などの代替的な相互接続ユニットが使用されてもよい。少なくとも一実施例では、グラフィックス・プロセッサ1108は、I/Oリンク1113を介してリング相互接続1112と結合する。
【0088】
少なくとも一実施例では、I/Oリンク1113は、様々なプロセッサ構成要素と、eDRAMモジュールなどの高性能組み込みメモリ・モジュール1118との間の通信を容易にするオン・パッケージI/O相互接続を含む多様なI/O相互接続のうちの少なくとも1つを表す。少なくとも一実施例では、プロセッサ・コア1102A~1102Nのそれぞれ及びグラフィックス・プロセッサ1108は、共有ラスト・レベル・キャッシュとして組み込みメモリ・モジュール1118を使用する。
【0089】
少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、共通の命令セット・アーキテクチャを実行する同種のコアである。少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、命令セット・アーキテクチャ(ISA)の観点から見れば異種であり、ここでプロセッサ・コア1102A~1102Nのうちの1つ又は複数は、共通の命令セットを実行するが、プロセッサ・コア1102A~1102Nのうちの1つ又は複数の他のコアは、共通の命令セットのサブセット、又は異なる命令セットを実行する。少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、マイクロ・アーキテクチャの観点から見れば異種であり、ここで電力消費量が相対的に高い1つ又は複数のコアは、電力消費量がより低い1つ又は複数のコアと結合する。少なくとも一実施例では、プロセッサ1100は、1つ又は複数のチップ上に、又はSoC集積回路として実装することができる。
【0090】
こうした構成要素を使用して、合成音声を生成することができる。
【0091】
他の変形形態は、本開示の範囲内にある。したがって、開示した技法は、様々な修正及び代替的な構成が可能であるが、それらのうち一定の例示的な実施例が図面に示され、上で詳細に説明されてきた。しかし、特定の1つ又は複数の開示された形に本開示を限定する意図はなく、その反対に、特許請求の範囲に定義される開示の趣旨及び範囲に入るすべての修正形態、代替的な構成、及び等価物を網羅することを意図している。
【0092】
開示される実施例を説明する文脈において(特に、以下の特許請求の範囲の文脈において)「a」及び「an」及び「the」という用語、並びに同様の指示語を使用することは、本明細書に別段の記載のない限り、又は文脈によって明らかに否定されない限り、単数と複数の両方を網羅すると解釈されるべきであり、用語の定義であると解釈されるべきではない。「備える(comprising)」、「有する(having)」、「含む(including)」、「収容する(containing)」という用語は、別段の記載のない限り、オープンエンドの用語(「含むが、これに限定されない」を意味する)と解釈される。「接続される」という用語は、修飾されずに物理的接続を指している場合には、何か介在するものがあったとしても、部分的に又は完全に中に収容される、取り付けられる、又は互いに接合されるものとして解釈される。本明細書において値の範囲を詳述することは、本明細書において別段の記載がない限り、またそれぞれ別々の値が、本明細書に個々に詳述されているかのように明細書に組み込まれていない限り、範囲内に含まれるそれぞれ別々の値を個々に参照する簡潔な方法として機能することを単に意図しているにすぎない。「セット」(たとえば、「アイテムのセット」)又は「サブセット」という用語の使用は、文脈によって別段の記載がない、又は否定されていない限り、1つ又は複数の部材を備える空ではない集合として解釈されるべきである。さらに、文脈によって別段の記載がない、又は否定されていない限り、対応するセットの「サブセット」という用語は、対応するセットの厳密なサブセットを必ずしも指すのではなく、サブセットと対応するセットは等しくてもよい。
【0093】
「A、B、及びCのうちの少なくとも1つ」又は「A、B、及びCのうちの少なくとも1つ」という形の言い回しなどの結合語は、別段の具体的な記載のない限り、又は文脈によって明確に否定されていない限り、項目、用語などが、AかBかCである、又はAとBとCのセットのいずれかの空でないサブセットであることを提示するために一般に使用される文脈で理解される。たとえば、3つの部材を有するセットの説明的な例では、「A、B、及びCのうちの少なくとも1つ」並びに「A、B、及びCのうちの少なくとも1つ」という結合句は、次のセットのうちのいずれかを指す:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。したがって、こうした結合語は、ある一定の実施例が、少なくとも1つのA、少なくとも1つのB、及び少なくとも1つのCのそれぞれの存在を必要とすることを全体的に暗示するものではない。さらに、別段の記載のない、又は文脈によって否定されていない限り、「複数」という用語は、複数である状態を示す(たとえば、「複数の項目(a plurality of items)」は複数の項目(multiple items)を示す)。複数とは、少なくとも2つの項目であるが、明示的に、又は文脈によって示されている場合にはそれより多くてもよい。さらに、別段の記載のない、又は文脈からそうでないことが明らかでない限り、「~に基づく」という言い回しは、「少なくとも部分的に~に基づく」を意味し、「~だけに基づく」を意味しない。
【0094】
本明細書に記載のプロセスの動作は、本明細書に別段の記載のない、又は文脈によって明確に否定されない限り、任意の好適な順序で実行することができる。少なくとも一実施例では、本明細書に記載のプロセス(又はその変形及び/又は組合せ)などのプロセスは、実行可能命令で構成された1つ又は複数のコンピュータ・システムの制御下で実行され、1つ又は複数のプロセッサ上で、ハードウェアによって、又はそれらの組合せによって集合的に実行されるコード(たとえば、実行可能な命令、1つ若しくは複数のコンピュータ・プログラム、又は1つ若しくは複数のアプリケーション)として実装される。少なくとも一実施例では、コードは、たとえば1つ又は複数のプロセッサによって実行可能な複数の命令を備えるコンピュータ・プログラムの形で、コンピュータ読取り可能ストレージ媒体に記憶される。少なくとも一実施例では、コンピュータ読取り可能ストレージ媒体は、一時的な信号(たとえば、伝播する一時的な電気若しくは電磁送信)を除外するが、一時的な信号のトランシーバ内の非一時的なデータ・ストレージ回路(たとえば、バッファ、キャッシュ、及びキュー)を含む非一時的なコンピュータ読取り可能ストレージ媒体である。少なくとも一実施例では、コード(たとえば、実行可能コード又はソース・コード)は、1つ又は複数の非一時的なコンピュータ読取り可能ストレージ媒体のセットに記憶され、このストレージ媒体には、コンピュータ・システムの1つ又は複数のプロセッサによって実行されたときに(すなわち、実行された結果として)、コンピュータ・システムに本明細書に記載の動作を実行させる実行可能命令が記憶されている(又は、実行可能命令を記憶するための他のメモリを有する)。非一時的なコンピュータ読取り可能ストレージ媒体のセットは、少なくとも一実施例では、複数の非一時的なコンピュータ読取り可能ストレージ媒体を備え、複数の非一時的なコンピュータ読取り可能ストレージ媒体の個々の非一時的なストレージ媒体のうちの1つ又は複数には、すべてのコードがないが、複数の非一時的なコンピュータ読取り可能ストレージ媒体は、集合的にすべてのコードを記憶している。少なくとも一実施例では、実行可能命令は、異なる命令が異なるプロセッサによって実行されるように実行され、たとえば、非一時的なコンピュータ読取り可能ストレージ媒体は命令を記憶し、メインの中央処理装置(「CPU」)は一部の命令を実行し、グラフィックス・プロセッシング・ユニット(「GPU」)及び/又はデータ・プロセッシング・ユニット(「DPU」)は他の命令を実行する。少なくとも一実施例では、コンピュータ・システムの異なる構成要素は、別々のプロセッサを有し、異なるプロセッサは、命令の異なるサブセットを実行する。
【0095】
したがって、少なくとも一実施例では、コンピュータ・システムは、本明細書に記載のプロセスの動作を単独で又は集合的に実行する1つ又は複数のサービスを実装するように構成され、こうしたコンピュータ・システムは、動作の実行を可能にする適用可能なハードウェア及び/又はソフトウェアで構成される。さらに、本開示の少なくとも一実施例を実装するコンピュータ・システムは、単一のデバイスであり、別の実施例では、異なるやり方で動作する複数のデバイスを備える分散型のコンピュータ・システムであり、それにより単一のデバイスがすべての動作を実行しないように分散型のコンピュータ・システムが本明細書に記載の動作を実行する。
【0096】
本明細書に提供されるあらゆる例、又は例示的な言葉(たとえば、「など」)の使用は、本開示の実施例をより明らかにすることだけを意図しており、別段の主張のない限り、本開示の範囲に制限を加えるものではない。本明細書のいかなる言葉も、特許請求されていない任意の要素を、本開示の実践に不可欠なものとして示すと解釈されるべきではない。
【0097】
本明細書に引用される出版物、特許出願、及び特許を含むすべての参考文献は、各参考文献が参照により組み込まれることがあたかも個別に明確に示され、その全体が本明細書に記載されたかのように、それと同程度まで参照により本明細書に組み込まれる。
【0098】
明細書及び特許請求の範囲において、「結合される」及び「接続される」という用語が、その派生語とともに使用されてもよい。これらの用語は、互いに同義語として意図されていない場合があることを理解すべきである。むしろ、特定の例では、「接続される」又は「結合される」は、2つ以上の要素が物理的又は電気的に互いに直接又は間接的に接触していることを示すために使用されてもよい。また「結合される」は、2つ以上の要素が直接互いに接触していないが、なお互いに連動又は相互作用することを意味してもよい。
【0099】
別段の具体的な記載のない限り、明細書全体を通して「処理する」、「コンピューティング」、「計算する」、又は「判定する」などの用語は、コンピューティング・システムのレジスタ及び/又はメモリ内の、電子的などの物理的な量として表されるデータをコンピューティング・システムのメモリ、レジスタ、又は他のそのような情報ストレージ・デバイス、送信デバイス、若しくはディスプレイ・デバイス内の物理的な量として同様に表される他のデータになるよう操作及び/又は変換するコンピュータ若しくはコンピューティング・システム、又は同様の電子コンピューティング・デバイスの行為及び/又はプロセスを指す。
【0100】
同様に、「プロセッサ」という用語は、レジスタ及び/又はメモリからの電子データを処理し、その電子データを、レジスタ及び/又はメモリに記憶することができる他の電子データに変換する任意のデバイス、又はデバイスの一部分を指してもよい。非限定的な例として、「プロセッサ」は、CPU、GPU、又はDPUなどの汎用処理が可能な任意のプロセッサであってもよい。非限定的な例として、「プロセッサ」は、任意のマイクロコントローラ、又はDSP、画像信号プロセッサ(「ISP:image signal processor」)、算術論理装置(「ALU:arithmetic logic unit」)、視覚処理装置(「VPU:vision processing unit」)、ツリー・トラバーサル・ユニット(「TTU:tree traversal unit」)、レイ・トレーシング・コア、テンソル・トレーシング・コア、テンソル処理装置(「TPU:tensor processing unit」)、組み込み制御ユニット(「ECU:embedded control unit」)などの専用処理装置であってもよい。非限定的な例として、「プロセッサ」は、PVA:programmable vision accelerator(プログラマブル・ビジョン・アクセラレータ)、DLA:deep learning accelerator(深層学習アクセラレータ)などのハードウェア・アクセラレータであってもよい。非限定的な例として、「プロセッサ」はまた、1つ又は複数の仮想マシンを実行する基礎となるハードウェア構成要素上でホストされる、CPU、GPUなどの1つ又は複数の仮想インスタンスを含んでもよい。「コンピューティング・プラットフォーム」は、1つ又は複数のプロセッサを備えてもよい。本明細書で使用する「ソフトウェア」プロセスは、たとえば、タスク、スレッド、及び知的エージェントなど、経時的にワークを実行するソフトウェア及び/又はハードウェアのエンティティを含んでもよい。また、各プロセスは、命令を直列で又は並列で連続的に又は断続的に実行するための複数のプロセスを指してもよい。「システム」及び「方法」という用語は、1つ又は複数の方法をシステムが具体化することができ、方法がシステムと考えられてもよい場合に限り、本明細書において交換可能に使用される。
【0101】
本明細書では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又はそれらをサブシステム、コンピュータ・システム、又はコンピュータ実装機械に入力することに言及することができる。アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力することは、関数呼出し、又はアプリケーション・プログラミング・インターフェースへの呼出しのパラメータとしてデータを受信するなど、様々なやり方で実現することができる。いくつかの実装形態では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力するプロセスは、直列又は並列のインターフェースを介してデータを転送することによって実現することができる。別の実装形態では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力するプロセスは、提供するエンティティから取得するエンティティにコンピュータ・ネットワークを介してデータを転送することによって実現することができる。また、アナログ・データ又はデジタル・データを提供する、出力する、送信する、送る、又は提示することにも言及することができる。様々な例では、アナログ・データ又はデジタル・データを提供する、出力する、送信する、送る、又は提示するプロセスは、関数呼出しの入力又は出力のパラメータ、アプリケーション・プログラミング・インターフェース若しくはプロセス間通信機構のパラメータとしてデータを転送することによって実現することができる。
【0102】
上の議論は、説明した技法の例示的な実装形態について述べているが、記載した機能を実装するために他のアーキテクチャが使用されてもよく、この他のアーキテクチャは、本開示の範囲内にあることが意図される。さらに、議論を目的として、役割の具体的な分配が定義されているが、様々な機能及び役割は、状況に応じて異なるやり方で分配及び分割されてもよい。
【0103】
さらに、主題は、構造的特徴及び/又は方法論的動作に特有の言語で説明されてきたが、添付の特許請求の範囲で特許請求される主題は、説明した特有の特徴又は動作に必ずしも限定されないことが理解されるべきである。むしろ、特有の特徴及び動作は、特許請求の範囲を実装する例示的な形として開示されている。
図1
図2A
図2B
図2C
図3
図4A
図4B
図5
図6A
図6B
図6C
図7
図8
図9
図10
図11
【外国語明細書】