(57)【特許請求の範囲】
【請求項１】
音声を並行して合成する方法であって、
セグメント分割モジュールが、一つのテキストを複数のセグメントに分割するステップと、
隠れ状態取得モジュールが、前記一つのテキストに基づいて、前記複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するステップと、
音声並行合成モジュールが、前記複数の初期隠れ状態及び前記複数のセグメントの入力特徴に基づいて、前記複数のセグメントを並行して合成するステップと、を含むことを特徴とする、音声を並行して合成する方法。
【請求項２】
前記複数のセグメントの各セグメントは、音素、音節、及び韻律語のいずれか一つであり、
音声並行合成モジュールが前記複数のセグメントを並行して合成するステップは、
音声シリアル合成モジュールが、各セグメントの初期隠れ状態及び入力特徴に基づいて、各セグメントを自己回帰的にシリアルに合成するステップを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
隠れ状態取得モジュールが前記複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するステップは、
音素レベル入力特徴決定モジュールが、前記複数のセグメントにおける各セグメントの音素レベルの入力特徴を決定するステップと、
隠れ状態予測モジュールが、各セグメントの音素レベルの入力特徴に基づいて、トレーニングされた隠れ状態予測モデルを用いて各セグメントの初期隠れ状態を予測するステップと、を含むことを特徴とする、請求項１に記載の方法。
【請求項４】
音声並行合成モジュールが前記複数のセグメントを並行して合成するステップは、
フレームレベル入力特徴決定モジュールが、前記複数のセグメントの各セグメントのフレームレベルの入力特徴を決定するステップと、
サンプリングポイントレベル特徴取得モジュールが、前記フレームレベルの入力特徴に基づいて、音響条件モデルを用いてサンプリングポイントレベルの特徴を取得するステップと、
セグメント合成モジュールが、各セグメントの初期隠れ状態及び前記サンプリングポイントレベルの特徴に基づいて、リカレントニューラルネットワークに基づく音声合成モデルを用いて各セグメントを合成するステップと、を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
サンプリングポイントレベル特徴取得モジュールが音響条件モデルを用いてサンプリングポイントレベルの特徴を取得するステップは、
アップサンプリング繰り返しモジュールが、アップサンプリングを繰り返すことにより、前記サンプリングポイントレベルの特徴を取得するステップを含むことを特徴とする、請求項４に記載の方法。
【請求項６】
前記方法は、
音声合成モデルトレーニングモジュールが、トレーニングデータを用いて、リカレントニューラルネットワークに基づく音声合成モデルをトレーニングするステップと、
隠れ状態予測モデルトレーニングモジュールが、前記トレーニングデータ及びトレーニングされた前記音声合成モデルを用いて隠れ状態予測モデルをトレーニングするステップと、をさらに含むことを特徴とする、請求項１に記載の方法。
【請求項７】
音声合成モデルトレーニングモジュールが前記リカレントニューラルネットワークに基づく音声合成モデルをトレーニングするステップは、
第１の取得モジュールが、前記トレーニングデータにおけるトレーニングテキストのフレームレベルの入力特徴及び対応するトレーニング音声の音声サンプリングポイントを取得するステップであって、前記フレームレベルの入力特徴は、音素コンテキスト、韻律コンテキスト、フレーム位置、及び基本周波数の少なくとも１つを含むステップと、
第１のトレーニングモジュールが、前記トレーニングテキストの前記フレームレベルの入力特徴及び前記トレーニング音声の前記音声サンプリングポイントを用いて、前記音声合成モデルをトレーニングするステップと、を含むことを特徴とする、請求項６に記載の方法。
【請求項８】
隠れ状態予測モデルトレーニングモジュールが前記隠れ状態予測モデルをトレーニングするステップは、
第２の取得モジュールが、前記トレーニングテキストの音素レベルの入力特徴を取得するステップであって、前記音素レベルの入力特徴は、音素コンテキスト及び韻律コンテキストの少なくとも１つを含むステップと、
第３の取得モジュールが、トレーニングされた前記音声合成モデルから各音素の音素レベルの隠れ状態を取得するステップと、
第２のトレーニングモジュールが、前記音素レベルの入力特徴及び前記音素レベルの隠れ状態を用いて前記隠れ状態予測モデルをトレーニングするステップと、を含むことを特徴とする、請求項７に記載の方法。
【請求項９】
第２のトレーニングモジュールが前記隠れ状態予測モデルをトレーニングするステップは、
隠れ状態クラスター化モジュールが、前記音素レベルの隠れ状態をクラスター化して音素レベルのクラスター化隠れ状態を生成するステップと、
第３のトレーニングモジュールが、前記音素レベルの入力特徴及び前記音素レベルのクラスター化隠れ状態を用いて前記隠れ状態予測モデルをトレーニングするステップと、をさらに含むことを特徴とする、請求項８に記載の方法。
【請求項１０】
第３の取得モジュールがトレーニングされた前記音声合成モデルから各音素の音素レベルの隠れ状態を取得するステップは、
音素レベル隠れ状態決定モジュールが、各音素に対応する複数のサンプリングポイントのうちの１番目のサンプリングポイントの初期隠れ状態を各音素の音素レベルの隠れ状態として決定するステップを含むことを特徴とする、請求項８に記載の方法。
【請求項１１】
音声を並行して合成する装置であって、
一つのテキストを複数のセグメントに分割するように構成されるセグメント分割モジュールと、
前記一つのテキストに基づいて、前記複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するように構成される隠れ状態取得モジュールと、
前記複数の初期隠れ状態及び前記複数のセグメントの入力特徴に基づいて、前記複数のセグメントを並行して合成するように構成される音声並行合成モジュールと、を含むことを特徴とする、音声を並行して合成する装置。
【請求項１２】
前記複数のセグメントの各セグメントは、音素、音節、及び韻律語のいずれか一つであり、
前記音声並行合成モジュールは、
各セグメントの初期隠れ状態及び入力特徴に基づいて、各セグメントを自己回帰的にシリアルに合成するように構成される音声シリアル合成モジュールを含むことを特徴とする、請求項１１に記載の装置。
【請求項１３】
前記隠れ状態取得モジュールは、
前記複数のセグメントの各セグメントの音素レベルの入力特徴を決定するように構成される音素レベル入力特徴決定モジュールと、
各セグメントの音素レベルの入力特徴に基づいて、トレーニングされた隠れ状態予測モデルを用いて各セグメントの初期隠れ状態を予測するように構成される隠れ状態予測モデルと、を含むことを特徴とする、請求項１１に記載の装置。
【請求項１４】
前記音声並行合成モジュールは、
前記複数のセグメントの各セグメントのフレームレベルの入力特徴を決定するように構成されるフレームレベル入力特徴決定モジュールと、
前記フレームレベルの入力特徴に基づいて、音響条件モデルを用いてサンプリングポイントレベルの特徴を取得するように構成されるサンプリングポイントレベル特徴取得モジュールと、
各セグメントの初期隠れ状態及び前記サンプリングポイントレベルの特徴に基づいて、リカレントニューラルネットワークに基づく音声合成モデルを用いて各セグメントを合成するように構成されるセグメント合成モジュールと、を含むことを特徴とする、請求項１３に記載の装置。
【請求項１５】
前記サンプリングポイントレベル特徴取得モジュールは、
アップサンプリングを繰り返すことにより、前記サンプリングポイントレベルの特徴を取得するように構成されるアップサンプリング繰り返しモジュールを含むことを特徴とする、請求項１４に記載の装置。
【請求項１６】
前記装置は、
トレーニングデータを用いて、リカレントニューラルネットワークに基づく音声合成モデルをトレーニングするように構成される音声合成モデルトレーニングモジュールと、
前記トレーニングデータ及びトレーニングされた前記音声合成モデルを用いて隠れ状態予測モデルをトレーニングするように構成される隠れ状態予測モデルトレーニングモジュールと、をさらに含むことを特徴とする、請求項１１に記載の装置。
【請求項１７】
前記音声合成モデルトレーニングモジュールは、
前記トレーニングデータにおけるトレーニングテキストのフレームレベルの入力特徴及び対応するトレーニング音声の音声サンプリングポイントを取得するように構成される第１の取得モジュールであって、前記フレームレベルの入力特徴は、音素コンテキスト、韻律コンテキスト、フレーム位置、及び基本周波数の少なくとも１つを含む第１の取得モジュールと、
前記トレーニングテキストの前記フレームレベルの入力特徴及び前記トレーニング音声の前記音声サンプリングポイントを用いて、前記音声合成モデルをトレーニングするように構成される第１のトレーニングモジュールと、を含むことを特徴とする、請求項１６に記載の装置。
【請求項１８】
前記隠れ状態予測モデルトレーニングモジュールは、
前記トレーニングテキストの音素レベルの入力特徴を取得するように構成される第２の取得モジュールであって、前記音素レベルの入力特徴は、音素コンテキスト及び韻律コンテキストの少なくとも１つを含む第２の取得モジュールと、
トレーニングされた前記音声合成モデルから各音素の音素レベルの隠れ状態を取得するように構成される第３の取得モジュールと、
前記音素レベルの入力特徴及び前記音素レベルの隠れ状態を用いて前記隠れ状態予測モデルをトレーニングするように構成される第２のトレーニングモジュールと、を含むことを特徴とする、請求項１７に記載の装置。
【請求項１９】
前記第２のトレーニングモジュールは、
前記音素レベルの隠れ状態をクラスター化して音素レベルのクラスター化隠れ状態を生成するように構成される隠れ状態クラスター化モジュールと、
前記音素レベルの入力特徴及び前記音素レベルのクラスター化隠れ状態を用いて前記隠れ状態予測モデルをトレーニングするように構成される第３のトレーニングモジュールと、を含むことを特徴とする、請求項１８に記載の装置。
【請求項２０】
前記第３の取得モジュールは、
各音素に対応する複数のサンプリングポイントのうちの１番目のサンプリングポイントの初期隠れ状態を各音素の音素レベルの隠れ状態として決定するように構成される音素レベル隠れ状態決定モジュールを含むことを特徴とする、請求項１８に記載の装置。
【請求項２１】
一つ又は複数のプロセッサと、
一つ又は複数のプログラムを記憶するためのメモリと、を含む電子機器であって、
前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合、前記電子機器が請求項１から１０のいずれかに記載の方法を実現することを特徴とする、電子機器。
【請求項２２】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記プログラムがプロセッサによって実行される場合、請求項１から１０のいずれかに記載の方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施例は、全体的に、音声合成の技術分野に関し、より詳細には、リカレントニューラルネットワーク（ＲＮＮ）を用いて音声を並行して合成する方法、装置、機器及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００２】
音声合成とは、テキストを音声に変換する技術であり、テキスト・トゥ・スピーチ（Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈ、ＴＴＳ）とも呼ばれる。通常、音声合成技術では、コンピュータによってテキスト情報を、音質が良く、自然で流暢な音声情報に変換する。音声合成は、インテリジェントな音声対話技術のコア技術の一つであり、音声認識技術とともにインテリジェントな音声対話の不可欠な部分を構成する。
【０００３】
従来の音声合成は、主に、ボコーダパラメータに基づく音声合成方法とユニット選択スプライシングに基づく音声合成方法とを含んでいる。一般的には、音声合成の品質（音質と自然な流暢さ）は、ユーザのリスニングエクスペリエンス及び関連製品のユーザエクスペリエンスに直接影響する。近年、ディープラーニング技術の発展及び音声合成分野での広範な応用に伴い、音声合成の音質及び自然な流暢さが大幅に向上した。また、インテリジェントハードウェアの急速な普及に伴い、音声合成を使用して情報を取得するシーンもますます豊富になってきている。現在、音声合成は、音声放送、地図ナビゲーション、スマートカスタマーサービス、スマートスピーカーなどの分野及び製品に広く応用されている。
【発明の概要】
【０００４】
本開示の例示的な実施例によれば、音声を並行して合成する方法、装置、機器及びコンピュータ読み取り可能な記憶媒体が提供される。
【０００５】
本開示の第１の態様では、セグメント分割モジュールが、一つのテキストを複数のセグメントに分割するステップと、隠れ状態取得モジュールが、一つのテキストに基づいて、複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するステップと、音声並行合成モジュールが、複数の初期隠れ状態及び複数のセグメントの入力特徴に基づいて、複数のセグメントを並行して合成するステップと、を含む、音声を並行して合成する方法が提供される。
【０００６】
本開示の第２の態様では、一つのテキストを複数のセグメントに分割するように構成されるセグメント分割モジュールと、一つのテキストに基づいて、複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するように構成される隠れ状態取得モジュールと、複数の初期隠れ状態及び複数のセグメントの入力特徴に基づき、複数のセグメントを並行して合成するように構成される音声並行合成モジュールと、を含む、音声を並行して合成する装置が提供される。
【０００７】
本開示の第３の態様では、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するためのメモリと、を含む電子機器であって、一つ又は複数のプログラムが一つ又は複数のプロセッサによって実行される場合、前記電子機器が本開示の実施例に係る方法又はプロセスを実現する電子機器が提供される。
【０００８】
本開示の第４の態様では、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、当該プログラムがプロセッサによって実行される場合、本発明の実施例に係る方法又はプロセスが実現されるコンピュータ読み取り可能な記憶媒体が提供さるれ。
【０００９】
なお、発明の概要に記載された内容は、本開示の実施例の肝心又は重要な特徴を限定することを意図せず、本開示の範囲を限定することも意図しない。本開示の他の特徴は、以下の説明により容易に理解される。
【図面の簡単な説明】
【００１０】
図面により、また以下の詳細な説明を参照することにより、本発明の上記の及び他の特徴、利点および態様は、より明確になる。図面では、同一又は類似の符号は、同一又は類似の要素を示す。
【図１】本開示の実施例に係る音声を並行して合成するシーンの一例の概略図を示す。
【図２】本開示の実施例に係る音声を並行して合成する方法のフローチャートを示す。
【図３】本開示の実施例に係るセグメントの隠れ状態の連続性に基づいてリアルタイムで複数のセグメントの音声を並行して合成するプロセスの概略図を示す。
【図４】本開示の実施例に係る各セグメントを自己回帰的にシリアルに合成するプロセスの概略図を示す。
【図５】本開示の実施例に係るＲＮＮに基づく音声合成システムの例示的なアーキテクチャの概略図を示す。
【図６】本開示の実施例に係るＲＮＮに基づく音声合成システムのトレーニングプロセスの概略図を示す。
【図７】本開示の実施例に係る音声を並行して合成する装置のブロック図を示す。
【図８】本開示の複数の実施例を実施可能な電子機器のブロック図を示す。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本開示の実施例を詳細に説明する。図面には、本開示のいくつかの実施例が示されるが、本開示が様々な形態で実現されてもよく、ここで説明される実施例に限定されると解釈すべきではないと理解されたい。逆に、これらの実施例を提供する意図は、本開示が徹底的かつ完全に理解されることである。なお、本開示の図面及び実施例は、単なる例示に過ぎず、本開示の保護範囲を限定するものではないと理解されたい。
【００１２】
本開示の実施例の説明において、「含む」という用語及びその類似の用語とは、開放的に含まれることを意味し、即ち、「含むがこれらに限定されない」と理解されるべきである。「基づく」は、「少なくとも部分に基づく」と理解されるべきである。「一実施例」又は「当当該実施例」は、「少なくとも一つの実施例」と理解されるべきである。「第１」、「第２」などは、異なる又は同一の対象を指してもよい。以下の記載は、他の明確的及び暗黙的な定義を含むこともある。
【００１３】
従来の音声合成システムは、主に、ボコーダに基づくパラメータシステムと、ユニット選択に基づく波形スプライシングシステムとの２種類に分けられる。ボコーダに基づくパラメータシステムは、まず、テキスト入力表現をスペクトルや基本周波数などの音響パラメータにマッピングし、次にボコーダを用いてこれらの特徴を音声に変換する。ユニット選択に基づく波形スプライシングシステムは、同様に、まず、テキスト入力表現をスペクトルや基本周波数などの音響パラメータにマッピングし、テキストルールを利用するとともに、音響ターゲットコスト及び接続コストなどのユニット選択戦略を組み合わせて、音声ライブラリーから最適な波形セグメントシーケンスを選出し、最後に、選出されたセグメントをターゲット音声にスプライシングして合成する。ボコーダに基づくパラメータシステムは、音響モデルを用いて音響パラメータを予測するため、流暢であるが、ボコーダは人間の発音メカニズムに従って、音源−チャンネルモデルに基づいた単純化されたアルゴリズムであるため、パラメータシステムの合成音質が高くない。一方、ユニット選択に基づく波形スプライシングシステムは、音声ライブラリーから元の音声セグメントを直接選択するため、高音質を保証することができる。しかしながら、音声セグメントが適切に選択されないと、スプライシングが不連続になる問題が発生し、自然な流暢さない場合が多い。これにより分かるように、従来の音声合成システムでは、音質と自然な流暢さを両立させることが難しく、合成音声の品質と自然音声の品質との差が大きく、その品質が一般的に低い。
【００１４】
近年、従来の音声合成システムに対する改良により、ディープラーニングテクノロジーを使用したニューラル音声合成（Ｎｅｕｒａｌ  ＴＴＳ）システムが学習可能なディープモデルを用いて音声サンプリングポイントを直接モデル化し、従来の合成システムの複雑な設計を回避することができ、合成された音質および自然な流暢さが大幅に向上した。ニューラル音声合成技術によって合成された音声は、音質が良いだけでなく、流暢である。しかしながら、ニューラル音声合成では、一般的に積み重ねられた多層ネットワーク構造又は複雑な構造を使用して音声サンプリングポイントをモデル化するので、各音声サンプリングポイントの生成には大量の計算を行う必要があり、したがって、ニューラル音声合成には計算コストが嵩む。ＲＮＮに基づく音声合成システムを例とすると、ＲＮＮは、シリアルに、１ポイントずつ音声を生成する。例えば、サンプリング周波数が１６０００の音声を１秒生成するたびに、１６０００回の順方向計算を順次、実行する必要があり、通常、必要な計算時間が１秒を大幅に超える。このような高遅延によってリアルタイムレートが非常に低くなる。したがって、ＲＮＮに基づく音声合成システムは、音声合成品質が高いが、その計算量が大きいため、１ポイントずつ逐次的に音声を生成していくという特性により、リアルタイムでの音声合成の要件を満たすことが困難である。
【００１５】
ＲＮＮに基づくリアルタイムでの音声合成を達成するための主な改良方式は、以下の３つを含む。１つ目は、シングルステップ演算の計算量を減らすことである。最も直接的な方式は、隠れ層の次元を減らすことである。しかしこれはパフォーマンスの損失および合成音質の大幅な低下を直接引き起こしてしまう。別の方式は、重みマトリックスをスパースすることで非ゼロの重みの数を減らすことであり、このようにすることで、隠れ層の次元を不変とし、隠れ層の表示能力を維持することができる。また、元のゲーテッドリカレントユニット（ＧＲＵ）のｓｉｇｍｏｉｄ又はｔａｎｈ非線形関数の代わりに、計算がそれほど複雑でない非線形関数（例えば、ｓｏｆｔｓｉｇｎ関数）を用いることができる。しかしながら、単一のステップの計算量を減らす上記のこれらの単純化された処理により、全てパフォーマンス損失をもたらす。２つ目は、グラフィックス処理ユニット（ＧＰＵ）カーネルを最適化することである。一般的なＧＰＵでは、高速なリアルタイム合成を直接実現することができない。その主なボトルネックは、ビデオメモリとレジスタとの通信帯域幅の制限、及び毎回のカーネル演算の起動によるオーバーヘッドである。ＧＰＵの計算効率を向上させるために、レジスタがビデオメモリからデータをコピーする回数を減らし、モデルパラメータを一度にレジスタに読み込み、その中の一つの制限が、レジスタの数をモデルのパラメータの数と一致させる必要がある。また、カーネルの起動回数を少なくし、モデルパラメータを全てレジスタに読み込むことができると、文全体のサンプリングポイントの生成を最適化して一回のカーネル演算にマージし、これにより、多くのカーネル起動によるオーバーヘッドを回避することができる。しかし、リアルタイムでのコンピューティングをサポートするために、高パフォーマンスのコンピューティングアーキテクチャＧＰＵが必要であるため、ハードウェアコストが高くなる。３つ目は、サブスケール（ｓｕｂｓｃａｌｅ）バッチサンプリングポイントを生成することである。サブスケール戦略は、サンプリングポイントシーケンス確率の分解及び単純化処理を行うことにより、複数のサンプリングポイントを並行して生成することをサポートするが、これにより、サンプリングポイントのタイミング依存性が破壊され、ＲＮＮの隠れ状態の中断が発生し、パフォーマンスが低下する。また、サブスケールには最初のパケットのハード遅延という欠点があるので、最初のパケットのリアルタイム性が高いシーンでは、サブスケールによって大きな遅延が発生する。これから分かるように、上記の３つの改良方式は、モデルの単一のステップの計算量の単純化、高パフォーマンスハードウェア最適化の加速、及びサブスケールバッチサンプリングポイントの生成などの戦略により音声合成を加速することができるが、いずれも音質を犠牲にしているため、合成された音声の品質が悪い。
【００１６】
本開示の発明者は、ＲＮＮが自然なタイミング依存性（例えば、隠れ状態が連続的である）を有するので、ＲＮＮが理論的に並行して実行することが難しく、１ポイントずつ逐次的に音声を生成していくことしかできないことに気付いた。ＲＮＮに基づくリアルタイムでの音声合成を実現するために、本開示の実施例では、セグメントの隠れ状態の連続性に基づく音声を並行して合成する技術案が提案される。本開示の実施例では、ＲＮＮを用いて複数のセグメントを並行して合成するプロセスにおいて、隠れ状態予測モデルによってセグメントに初期隠れ状態を提供することにより、音声合成速度を向上させ、リアルタイムでの音声合成を実現することができるだけでなく、セグメント間の隠れ状態の中断を緩和することもできる。これにより、ＲＮＮ内部の隠れ状態の連続性を確保し、合成された音声の品質を確保することができる。
【００１７】
本開示で提案されたセグメントの隠れ状態の連続性に基づくＲＮＮを用いてリアルタイムで音声を並行して合成する技術により、ＲＮＮを用いてオンラインでリアルタイムに合成するという難題が創作的に解決され、ＲＮＮ合成の速度が大幅に向上する。本開示の技術案により、音声合成品質が高いことを確保することができるだけでなく、大規模なオンライン配置をサポートすることもできる。いくつかの実施例において、本開示で提案された、ＲＮＮに基づいて並行して合成する技術では、セグメント（例えば音素、音節、単語など）を基本的な合成ユニットとし、複数のセグメントを並行して合成し、各セグメントの内部を自己回帰的にシリアルに合成すると同時に、セグメント間のＲＮＮ隠れ状態の連続性を確保するために、本開示では、隠れ状態予測ネットワークを用いて各セグメントに初期隠れ状態を提供する。これにより、並行して合成することによるＲＮＮ隠れ状態の中断の問題が効果的に解決され、並行して合成する品質を高くすることができる。このようなセグメントの隠れ状態の連続性に基づくＲＮＮを用いてリアルタイムで音声を並行して合成する技術は、ＲＮＮを用いてリアルタイムで合成する場合の最大の障害を取り除き、従来のパラメータシステム及びスプライシングシステムからニューラル音声合成システムへの音声合成技術の変革を大幅に促進することができる。
【００１８】
図１は、本開示の実施例に係る音声を並行して合成するシーン１００の一例の概略図を示す。シーン１００は、単に本開示の実施例で実現可能なシーンの一例であり、本開示の保護範囲を限定するものではないと理解されたい。図１に示すように、合成対象音声の入力テキスト１１０（例えば、「明日の天気は晴れ、３−４級の北風である」というテキスト１１５）について、まず、ブロック１２０でテキストに対してテキスト分析を行う。例えば、テキストを文字−音声変換し、各文字の発音を決定する。多音字の場合には、多音字の発音を予測することができる。また、アクセント、ポーズなどの韻律情報をラベル付けするように、テキストの韻律分析を行うことができる。
【００１９】
次に、ブロック１３０で音声を合成する。本開示の実施例では、ＲＮＮに基づく音声合成モデル、例えば、ＷａｖｅＲＮＮモデルを用いて音声合成プロセスを実行する。なお、どのような既知の又は将来開発されるＲＮＮに基づく音声合成モデルでも、本開示の実施例と組み合わせて使用することができることを理解されたい。本開示の実施例では、各セグメントのＲＮＮ初期隠れ状態を予測して取得することができるため、音声品質にほとんど影響することなく複数のセグメントを並行して合成することができる。本開示のコンテキストでは、「初期隠れ状態」という用語とは、ＲＮＮにおける、各セグメントを合成する時の最初の隠れ状態を指す。図１に示すように、本開示の実施例は、セグメント１とセグメント２となどを同時に音声合成して、出力音声１４０、例えば音声１４５を取得することができる。以下に、図２−８を参照して、音声を並行して合成する例示的な実現を説明する。
【００２０】
本開示の実施例に係る音声を並行して合成する方法は、様々な電子機器に配置されてもよい。例えば、クライアント−サーバーアーキテクチャのシーンでは、本開示の実施例に係る音声を並行して合成する方法は、クライアント側で実現されてもよいし、サーバ側で実現されてもよい。又は、本開示の実施例に係る音声を並行して合成する方法は、一部がクライアント側で実現され、他の一部がサーバ側で実現されてもよい。
【００２１】
図２は、本開示の実施例に係る音声を並行して合成する方法２００を示すフローチャートである。方法２００を明確に説明するため、ここでは図３の音声を並行して合成するプロセス３００を参照しながら方法２００を説明する。
【００２２】
ブロック２０２で、一つのテキストを複数のセグメントに分割する。例えば、図３を参照すると、合成対象音声のテキスト３０５を複数のセグメント、例えば、セグメント３１１、３１２、３１３に分割する。いくつかの実施例では、各セグメントは、音素、音節及び韻律語のいずれか一つ、又はさらにより大きな発音単位であってもよい。音素は、音節を構成する最小の単位で最小の音声セグメントであり、音素は、母音と子音との２種類を含む。音節は、発音の基本単位であり、一つ又は複数の音素を含むことができる。例えば、中国語では、一つの漢字が一つの音節であってもよい。韻律語とは、韻律学の観点から規定された単語であり、複数の音節を含むことができる。なお、本開示の実施例におけるセグメントは、より大きな発音ユニットであってもよいことを理解されたい。例えば、各セグメントが音節である場合、テキスト（例えば中国語テキスト）を各漢字に応じて分割し、一つの音節（一つの漢字に対応する）が一つのセグメントである。
【００２３】
ブロック２０４で、一つのテキストに基づいて、複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得する。例えば、図３を参照すると、本開示の実施例に係る隠れ状態予測モデル３２０は、各セグメントのＲＮＮ初期隠れ状態を予測して、後続の音声を並行して合成することに用いることができる。ＲＮＮが自然なタイミング依存性を有し、次の時刻の計算は、一般的に、１つ前の時刻で生成された隠れ状態を必要とするが、音声を並行して合成すると、従来の方法は、隠れ状態の中断を引き起こす。逆に、本開示の実施例では、予めトレーニングされた隠れ状態予測モデル３２０を用いて、各セグメントの初期隠れ状態を予め予測することができ、１つ前の時刻の音声合成が完了するまで待ってから音声合成を実行する必要がない。このようにすることで、隠れ状態の連続性を確保することができる。
【００２４】
ブロック２０６で、複数の初期隠れ状態及び複数のセグメントの入力特徴に基づいて、複数のセグメントを並行して合成する。図３に示すように、ＲＮＮに基づく音声合成モデル３３０は、各セグメントの初期隠れ状態に基づいて、複数のセグメントを同時に合成することができ、１つ前のセグメントの合成が完了するまで待ってからセグメントを合成する必要がない。したがって、本開示の実施例では、隠れ状態予測モデルによって各セグメントに初期隠れ状態を提供することにより、音声合成速度を向上させ、リアルタイムでの音声合成を実現することができるだけでなく、セグメント間の隠れ状態の中断を緩和し、合成された音声の品質を確保することもできる。
【００２５】
したがって、本開示の実施例では、セグメントの隠れ状態の連続性に基づくＲＮＮを用いてリアルタイムで音声を並行して合成する技術が提案される。当該技術は、音声のセグメントをＲＮＮの基本的合成ユニットとし、セグメントは、音声学の観点から、音素、音節、韻律語、さらにより大きな発音ユニットなどを含むことができる。与えられた合成対象テキストを複数のセグメントに分割した後、複数のセグメントを並行して合成することができ、各セグメントの内部を自己回帰的にシリアルに合成することができる。このセグメントを並行して合成する方式により、ＲＮＮ合成速度を向上させ、リアルタイムでの合成の要件を満たすことができる。ＲＮＮは、内部のタイミング依存性があるため、理論的にシリアルに合成するしかなく、セグメントを並行して合成する方式により、セグメント間のＲＮＮ隠れ状態の連続性を破壊することになる。しかしながら、本開示の実施例では、隠れ状態予測モデルによって各セグメントに初期隠れ状態を提供することにより、セグメント間の状態の近似的な連続性を確保し、このようにリアルタイムで並行して合成することを実現するとともに、合成音質がほとんど低下しないことを確保するＲＮＮ隠れ状態予測方法が創作的に提案される。また、このようなセグメントの隠れ状態の連続性に基づくＲＮＮを用いてリアルタイムで音声を並行して合成する技術は、ＲＮＮのシリアルな合成に起因するエラーの累積効果をある程度緩和することができ、合成音声のホイッスル現象を効果的に低減することができる。
【００２６】
図３には、本開示の実施例に係るセグメントの隠れ状態の連続性に基づいてリアルタイムで複数のセグメントを並行して合成するプロセス３００の概略図を示す。合成対象テキスト３０５を複数のセグメント３１１、３１２、３１３に分割した後、隠れ状態予測モデル３２０は、各セグメント３１１、３１２、３１３の初期隠れ状態がそれぞれｈ０（１）、ｈ０（２）、ｈ０（３）であることを予測することができる。なお、図３に３つのセグメントだけが示されているが、テキスト３０５はより多くのセグメントに分割されてもよいことを理解されたい。
【００２７】
引き続き図３を参照すると、さらに、テキスト３０５から各セグメントのフレームレベルの入力特徴３４１が抽出される。例えば、各フレームが５ミリ秒であり、その後、音響条件モデル３４０によって処理されて、サンプリングポイントレベルの特徴３４５を生成することができる。ここで、音響条件モデル３４０は音響条件をモデル化することができ、その入力がテキストの言語的特徴であってもよい。以下に図５を参照して音響条件モデル３４０の例示的な構造を説明する。
【００２８】
ＲＮＮに基づく音声合成モデル３３０は、各セグメントの初期隠れ状態及びサンプリングポイントレベルの特徴に基づいて、音声を並行して合成する。図３に示すように、ブロック３３１で、セグメント３１１の初期隠れ状態及びそのサンプリングポイントレベルの特徴に基づいて、セグメント３１１を合成する。ブロック３３２では、セグメント３１２の初期隠れ状態及びそのサンプリングポイントレベルの特徴に基づいて、セグメント３１２を合成する。ブロック３３３で、セグメント３１３の初期隠れ状態及びそのサンプリングポイントレベルの特徴に基づいて、セグメント３１３を合成する。このようにすることで、複数のセグメント３１１、３１２、及び３１３を並行して合成することができ、合成音声の品質を犠牲にすることなく音声合成速度を向上させることができる。各セグメントの合成が完了した後、各セグメントの音声をスムーズに接続して最終的な完全な音声を得ることができる。
【００２９】
なお、本開示の実施例における隠れ状態予測モデル３２０によって導入される計算量は、ＲＮＮの計算量と比較して非常に小さく、ほとんど無視できる。本開示の実施例におけるセグメントの隠れ状態の連続性に基づくＲＮＮを用いて音声を並行して合成する方法により、ＲＮＮが並行して推論することが困難であるという問題を創作的に解決し、合成効率を大幅に向上させ、リアルタイム合成の要件を満たすとともに、合成品質がほぼ低下させずに済む。また、従来のパラメータシステム及びスプライシングシステムと比較して、本開示の実施例の音声合成システムは高品質であり、ニューラル音声合成システムの産業界での広範な応用に適している。
【００３０】
いくつかの実施例では、単一のセグメント内部の合成について、自己回帰的にシリアルに合成することができる。例えば、ブロック３３１における音声合成プロセスに対して、図４は、本開示の実施例に係るセグメントを自己回帰的にシリアルに合成するプロセス４００の概略図を示す。
【００３１】
図４にはセグメント３１１におけるサンプリング４１０、４２０、４３０などの出力を生成する例示的なプロセスが示されている。ｈ０は、セグメント３１１の初期隠れ状態であり、本開示の実施例に係る隠れ状態予測モデル３２０から取得される。各セグメントにおけるサンプリングポイントの生成プロセスにおいて、各サンプリングポイントの出力を生成するには、当該サンプリングポイントの入力する特徴、１つ前のサンプリングポイントの出力、及び１つ前のサンプリングポイントによって送信された隠れ状態に基づく必要がある。セグメント３１１のうちの１番目のサンプリングポイント４１０については、当該サンプリングポイントの特徴ｉ１のほかに、入力された隠れ状態ｈ０がセグメント３１１の初期隠れ状態であってもよく、入力された、１つ前のサンプリングポイントの出力ｓ０が０であってもよく、生成された出力がｓ１であってもよい。次に、２番目のサンプリングポイント４２０について、その入力が前のサンプリングポイント４１０によって生成された隠れ状態ｈ１、当該サンプリングポイントの特徴ｉ２、及び前のサンプリングポイント４１０の出力ｓ１を含む。単一のセグメント内で自己回帰的にシリアルに合成することにより、各セグメントの音声合成の品質を確保することができる。
【００３２】
図５は、本開示の実施例に係るＲＮＮに基づく音声合成システムの例示的なアーキテクチャ５００の概略図を示す。図５に示すように、隠れ状態予測モデル３２０は、１つの完全な接続（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ、ＦＣ）層及びＮ個の双方向準リカレントニューラルネットワーク（ＱＲＮＮ）層を含むことができる。音響条件モデル３４０は、２つの双方向ＱＲＮＮ層と１つのアップサンプリング繰り返し層を含み、ＲＮＮに基づく音声合成モデル３３０は、１層のゲーテッドリカレントユニット（ＧＲＵ）によって実現されてもよい。なお、図５に示されるアーキテクチャは、単なる例示であり、他の適切なアーキテクチャは本開示の実施形態と組み合わせて使用されてもよい。
【００３３】
図５を参照すると、隠れ状態予測モデル３２０は、各セグメントの音素レベルの入力特徴５１１及びフレームレベルの入力特徴３４１を取得した後、音素レベルの入力特徴５１１に基づいて各音素の初期隠れ状態５２１を予測し、その後、セグメントのうちの１番目の音素の初期隠れ状態を当該セグメントの初期隠れ状態として決定することができる。言語内の音素の数が音節の数よりも少ないため、音素レベルの入力特徴を使用することにより、隠れ状態予測モデル３２０をさらに容易にトレーニングすることができる。これにより、より正確な初期隠れ状態を予測するすることができる。
【００３４】
音響条件モデル３４０は、フレームレベルの入力特徴３４１に基づいて、アップサンプリングを繰り返す方法により、サンプリングポイントレベルの特徴３４５を取得する。例えば、各フレーム特徴が８０個の音声サンプリングポイントに対応すると仮定する場合、アップサンプリングを繰り返すことによりフレームレベルの特徴を８０部コピーして、ＲＮＮに基づく音声合成モデル３３０の条件入力とする。ＲＮＮに基づく音声合成モデル３３０は、初期隠れ状態５２１及びサンプリングポイントレベルの特徴３４５に基づいて各セグメントの音声を合成し、出力された合成音声５３１を取得する。
【００３５】
本開示の実施例は、従来のＲＮＮに基づく音声合成モデルに加えて、隠れ状態予測モデルを追加している。この２つのモデルを一緒にトレーニングしてもよいし、別々にトレーニングしてもよい。図６は、本開示の実施例に係るＲＮＮに基づく音声合成システムの個別のトレーニングプロセス６００の概略図を示す。例えば、まず、トレーニングデータを用いてＲＮＮに基づく音声合成モデルをトレーニングし、ＲＮＮに基づく音声合成モデルのトレーニングが完了した後、トレーニングデータ及びトレーニングされたＲＮＮを用いて隠れ状態予測モデルをトレーニングすることができる。
【００３６】
図６を参照すると、トレーニングデータ６１０にはトレーニングテキスト及び対応するトレーニング音声が含まれてもよい。トレーニングデータ６１０が与えられると、その中から、フレームレベルの入力特徴６１１、音声サンプリングポイント６１２、及び音素レベルの入力特徴６１３を抽出する。フレームレベルの入力特徴６１１及び音素レベルの入力特徴６１３は、トレーニングテキストから取得することができ、音声サンプリングポイント６１２は、トレーニング音声からサンプリングして取得することができる。いくつかの実施例において、フレームレベルの入力特徴６１１は、音素コンテキスト、韻律コンテキスト、フレーム位置及び基本周波数などを含むことができ、音素レベルの入力特徴６１３は、音素コンテキスト及び韻律コンテキストなどのテキストレベルの情報を含むことができる。
【００３７】
図６に示される個別のトレーニングプロセスでは、まず、ブロック６２０でフレームレベルの入力特徴６１１及び音声サンプリングポイント６１２を用いてＲＮＮに基づく音声合成モデル３３０をトレーニングする。その後、トレーニングされたＲＮＮに基づく音声合成モデルから音素レベルの隠れ状態６２５を取得する。例えば、各音素に対応する複数のサンプリングポイントのうちの１番目のサンプリングポイントの初期隠れ状態を当該音素の音素レベルの隠れ状態として決定することができる。
【００３８】
いくつかの実施例では、音素レベルの隠れ状態６２５及び音素レベルの入力特徴６１３を用いて隠れ状態予測モデルをトレーニングすることができる。トレーニングセットにおける全ての音素サンプルの数が少ない可能性があり、また、隠れ状態の次元（例えば８９６次元）が高い場合には、これらの高次元の隠れ状態をそのままターゲットとして隠れ状態予測モデルをトレーニングすると、モデルがオーバーフィッティングされやすくなる。したがって、トレーニング効率及びモデルの一般化能力を向上させるために、ブロック６３０で決定ツリーを用いて高次元の音素レベルの隠れ状態６２５をクラスター化し、音素レベルでクラスター化された隠れ状態６３５を取得し、これにより、隠れ状態の数を減らすことができる。クラスター化された隠れ状態は、クラス内の全ての元の隠れ状態の平均値を計算することで取得することができる。次に、ブロック６４０で、音素レベルの入力特徴６１３及び対応する音素レベルのクラスター化隠れ状態６３５を用いて隠れ状態予測モデルをトレーニングする。
【００３９】
いくつかの実施例では、隠れ状態予測モデルは、各音素の予測初期隠れ状態を予測し、その後、選択されたセグメントに応じた音素の境界を見出すことにより、各セグメントの初期隠れ状態を取得することができる。また、ＲＮＮに基づく音声合成モデルは、クロスエントロピー損失関数を用いてトレーニングすることができ、隠れ状態予測モデルは、Ｌ１損失関数を用いてトレーニングすることができる。
【００４０】
図７は、本開示の実施例に係る音声を並行して合成する装置７００のブロック図を示す。図７に示すように、装置７００は、セグメント分割モジュール７１０、隠れ状態取得モジュール７２０、及び音声並行合成モジュール７３０を含む。セグメント分割モジュール７１０は、一つのテキストを複数のセグメントに分割するように構成される。隠れ状態取得モジュール７２０は、一つのテキストに基づいて、複数のセグメントの、リカレントニューラルネットワークに用いられる複数の初期隠れ状態を取得するように構成される。音声並行合成モジュール７３０は、複数の初期隠れ状態及び複数のセグメントの入力特徴に基づいて、複数のセグメントを並行して合成するように構成される。
【００４１】
いくつかの実施例では、複数のセグメントの各セグメントは、音素、音節及び韻律語のいずれか一つであり、音声並行合成モジュール７３０は、各セグメントの初期隠れ状態及び入力特徴に基づいて、各セグメントを自己回帰的にシリアルに合成するように構成される音声シリアル合成モジュールを含む。
【００４２】
いくつかの実施例では、隠れ状態取得モジュール７２０は、複数のセグメントの各セグメントの音素レベルの入力特徴を決定するように構成される音素レベル入力特徴決定モジュールと、各セグメントの音素レベルの入力特徴に基づいて、トレーニングされた隠れ状態予測モデルを用いて各セグメントの初期隠れ状態を予測するように構成される隠れ状態予測モデルと、を含む。
【００４３】
いくつかの実施例では、音声並行合成モジュール７３０は、複数のセグメントの各セグメントのフレームレベルの入力特徴を決定するように構成されるフレームレベル入力特徴決定モジュールと、フレームレベルの入力特徴に基づいて、音響条件モデルを用いてサンプリングポイントレベルの特徴を取得するように構成されるサンプリングポイントレベル特徴取得モジュールと、各セグメントの初期隠れ状態及びサンプリングポイントレベルの特徴に基づいて、リカレントニューラルネットワークに基づく音声合成モデルを用いて各セグメントを合成するように構成されるセグメント合成モジュールと、を含む。
【００４４】
いくつかの実施例では、サンプリングポイントレベル特徴取得モジュールは、アップサンプリングを繰り返すことにより、サンプリングポイントレベルの特徴を取得して音声合成モデルの条件入力とするように構成されるアップサンプリング繰り返しモジュールを含む。
【００４５】
いくつかの実施例では、装置７００は、トレーニングデータを用いてリカレントニューラルネットワークに基づく音声合成モデルをトレーニングするように構成される音声合成モデルトレーニングモジュールと、トレーニングデータとトレーニングされた音声合成モデルを用いて隠れ状態予測モデルをトレーニングするように構成される隠れ状態予測モデルトレーニングモジュールとをさらに含む。
【００４６】
いくつかの実施例では、音声合成モデルトレーニングモジュールは、トレーニングデータにおけるトレーニングテキストのフレームレベルの入力特徴及び対応するトレーニング音声の音声サンプリングポイントを取得するように構成される第１の取得モジュールであって、フレームレベルの入力特徴は、音素コンテキスト、韻律コンテキスト、フレーム位置及び基本周波数の少なくとも１つを含む第１の取得モジュールと、トレーニングテキストのフレームレベルの入力特徴及びトレーニング音声の音声サンプリングポイントを用いて音声合成モデルをトレーニングするように構成される第１のトレーニングモジュールと、を含む。
【００４７】
いくつかの実施例では、隠れ状態予測モデルトレーニングモジュールは、トレーニングテキストの音素レベルの入力特徴を取得するように構成される第２の取得モジュールであって、音素レベルの入力特徴は、音素コンテキスト及び韻律コンテキストの少なくとも一つを含む第２の取得モジュールと、トレーニングされた音声合成モデルから各音素の音素レベルの隠れ状態を取得するように構成される第３の取得モジュールと、音素レベルの入力特徴及び音素レベルの隠れ状態を用いて隠れ状態予測モデルをトレーニングするように構成される第２のトレーニングモジュールと、を含む。
【００４８】
いくつかの実施例では、第２のトレーニングモジュールは、音素レベルの隠れ状態をクラスター化して音素レベルのクラスター化隠れ状態を生成するように構成される隠れ状態クラスター化モジュールと、音素レベルの入力特徴及び音素レベルのクラスター化隠れ状態を用いて隠れ状態予測モデルをトレーニングするように構成される第３のトレーニングモジュールと、を含む。
【００４９】
いくつかの実施例では、第３の取得モジュールは、各音素に対応する複数のサンプリングポイントのうちの１番目のサンプリングポイントの初期隠れ状態を各音素の音素レベルの隠れ状態として決定するように構成される音素レベル隠れ状態決定モジュールを含む。
【００５０】
なお、図７に示されるセグメント分割モジュール７１０、隠れ状態取得モジュール７２０、及び音声並行合成モジュール７３０は、一つ又は複数の電子機器に含まれてもよいことを理解されたい。しかも、図７に示されるモジュールは、本開示の実施例の方法又はプロセスにおけるステップ又は動作を実行することができることを理解されたい。
【００５１】
本開示の実施例に係るセグメントに基づいてＲＮＮを用いて並行して合成する技術案は、ＲＮＮを用いてシリアルに合成する効率が低いという問題を解決し、音声合成のリアルタイムレートを大幅に向上させ、リアルタイムでの音声合成をサポートすることができる。また、１ポイントずつ逐次的に音声を生成していく計算では、モデルアルゴリズムを特化する必要がないため、加速コストが低い。従来のサブスケールバッチサンプリングポイントを生成する戦略と比べ、本開示の実施例に係るセグメントに基づいてＲＮＮを用いて並行して合成する技術は、遅延が少ないという利点を有し、合成応答速度に対するユーザの要求が高いシーンでは、本開示の実施例は著しい利点を有する。
【００５２】
また、本開示の実施例では、隠れ状態予測モデルを用いて各セグメントに初期隠れ状態を提供することにより、並行して合成する際のセグメント間の隠れ状態が中断されるという問題を緩和し、並行して合成された音声の品質がシリアル合成とほぼ同等にし、合成パフォーマンスを犠牲にすることなく、ＲＮＮによって高速に合成することができる。隠れ状態予測モデルをトレーニングする際に、本開示のいくつかの実施例では、決定ツリーを用いて各音素の隠れ状態をクラスター化し、クラスター化された隠れ状態をトレーニングターゲットとする。このようにすることで、隠れ状態予測モデルの一般化能力を向上させることができる。
【００５３】
また、従来のパラメータシステム及びスプライシングシステムに対し、セグメントのＲＮＮに基づく並行合成システムは、高品質のニューラルリアルタイム音声合成システムであり、合成品質の面では従来のパラメータシステム及びスプライシングシステムを大幅に超え、ニューラル音声合成システムの産業界での広範な応用を促進する。
【００５４】
図８は、本開示の実施例を実施可能な機器８００の概略ブロック図を示す。機器８００は、本開示で説明されるものを実現するための音声を並行して合成する装置７００であってもよい。図示するように、装置８００は、読み出し専用メモリ（ＲＯＭ）８０２に記憶されたコンピュータプログラム命令、又は記憶ユニット８０８からランダムアクセスメモリ（ＲＡＭ）８０３にロードされたコンピュータプログラム命令に従って、様々な適切な動作及び処理を実行することができる中央処理装置（ＣＰＵ）８０１を備える。ＲＡＭ８０３には、機器８００の動作に必要な各種のプログラム及びデータも記憶されてもよい。ＣＰＵ８０１、ＲＯＭ８０２及びＲＡＭ８０３は、バス８０４を介して互いに接続される。入力／出力（Ｉ／Ｏ）インターフェース８０５もバス８０４に接続される。
【００５５】
キーボード、マウスなどの入力ユニット８０６と、各種のディスプレイ、スピーカなどの出力ユニット８０７と、磁気ディスク、光ディスクなどの記憶ユニット８０８と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット８０９とを含む、機器８００内の複数の構成要素は、Ｉ／Ｏインターフェース８０５に接続されている。通信ユニット８０９は、機器８００がインターネットなどのコンピュータネットワークおよび／または様々な電気通信ネットワークを介して他の機器と情報／データを交換することを許可する。
【００５６】
処理ユニット８０１は、上記で説明された各方法及びプロセス、例えば方法２００を実行する。例えば、いくつかの実施例では、方法は、記憶ユニット８０８などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ＲＯＭ８０２及び／又は通信ユニット８０９を介して機器８００にロード及び／又はインストールされてもよい。コンピュータプログラムがＲＡＭ８０３にロードされ、ＣＰＵ８０１によって実行される場合、上述した方法の一つ又は複数の動作又はステップを実行することができる。又は、他の実施例では、ＣＰＵ８０１は、他の任意の適切な方式（例えば、ファームウェアにより）で方法を実行するように構成されてもよい。
【００５７】
本明細書で上述した機能は、少なくとも部分的に一つ又は複数のハードウェア論理コンポーネントによって実行されてもよい。例えば、利用できる典型的なタイプのハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準製品（ＡＳＳＰ）、システムオンチップ（ＳＯＣ）、複雑なプログラマブルロジックデバイス（ＣＰＬＤ）などを含むが、これらに限定されない。
【００５８】
本開示の方法を実施するためのプログラムコードは、１つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。プログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供されてもよく、その結果、プログラムコードがプロセッサまたはコントローラによって実行されるとき、フローチャートおよび／またはブロック図において特定される機能および／または操作が実施される。プログラムコードは、全てマシン上で、部分的にマシン上で、スタンドアロンソフトウェアパッケージの一部として、そして部分的にリモートマシン上、または全部でリモートマシンまたはサーバ上で実行することができる。
【００５９】
本開示のコンテキストでは、機械読み取り可能な媒体は、命令実行システム、装置、または機器によって使用されるまたは命令実行システム、装置、またはデバイスと合わせて使用されるプログラムを含むまたは格納することができる有形の媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、または機器、あまたはこれらの任意の適切な組み合わせを含んでもよいが、それらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、１つまたは複数のラインに基づく電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読み出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含んでもよい。
【００６０】
また、動作を特定の順序で説明したが、これは、そのような動作が示された特定の順序または順番で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを要求することを理解されたい。一定の環境においてマルチタスキングおよび並列処理は有利な場合がある。同様に、いくつかの具体的な実装の詳細が上記の説明に含まれているが、これらは本開示の範囲を限定するものとして解釈されるべきではない。別々の実施例で説明されているいくつかの特徴は、単一の実施例において組み合わせて実現することもできる。逆に、単一の実施例で説明されている様々な特徴は、個別にまたは任意の適切なサブ組み合わせで複数の実施例で実現することができる。
【００６１】
構造的特徴及び／又は方法論的動作に特有の言語で本開示の実施例を説明したが、添付の特許請求の範囲で限定される主題が必ずしも上記の特定の特徴又は動作に限定されないことを理解されたい。むしろ、上述した特定の特徴及び動作は、単に特許請求の範囲を実現する例示的な形態である。
【図１】
0006983271.tif 000002
【図２】
0006983271.tif 000003
【図３】
0006983271.tif 000004
【図４】
0006983271.tif 000005
【図５】
0006983271.tif 000006
【図６】
0006983271.tif 000007
【図７】
0006983271.tif 000008
【図８】
0006983271.tif 000009