(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-26
(45)【発行日】2023-10-04
(54)【発明の名称】歌声変換
(51)【国際特許分類】
G10L 21/007 20130101AFI20230927BHJP
G10L 21/01 20130101ALI20230927BHJP
G10L 25/18 20130101ALI20230927BHJP
G10L 25/30 20130101ALI20230927BHJP
【FI】
G10L21/007
G10L21/01
G10L25/18
G10L25/30
(21)【出願番号】P 2022545341
(86)(22)【出願日】2021-02-08
(86)【国際出願番号】 US2021017057
(87)【国際公開番号】W WO2021162982
(87)【国際公開日】2021-08-19
【審査請求日】2022-07-26
(32)【優先日】2020-02-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ユー,チェンギュ
(72)【発明者】
【氏名】ルー,ヘン
(72)【発明者】
【氏名】ウェン,チャオ
(72)【発明者】
【氏名】ユー,ドン
【審査官】菊地 陽一
(56)【参考文献】
【文献】国際公開第2013/008471(WO,A1)
【文献】国際公開第2018/159612(WO,A1)
【文献】Xin Chen et. al.,Singing voice conversion with non-parallel data,arxiv.org,2019年03月11日,https://arxiv.org/pdf/1903.04124.pdf
【文献】Yuxuan Wang et. al.,Tacotron: Towards End-to-End Speech Synthesis,arxiv.org,2018年03月24日,https://arxiv.org/pdf/1703.10135.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/007
G10L 21/01
G10L 25/18
G10L 25/30
(57)【特許請求の範囲】
【請求項1】
第1の歌声を第2の歌声に変換する方法であって:
コンピュータによって、前記第1の歌声に対応する1つ又は複数の音素に関連付けられたコンテキストをエンコーディングすることと;
前記コンピュータによって、エンコーディングされた前記コンテキストに基づいて前記1つ又は複数の音素を1つ又は複数のターゲット音響フレームに位置合わせすることと;
前記コンピュータによって、位置合わせされた前記音素及び前記ターゲット音響フレームから、
再帰的ニューラルネットワークによって1つ又は複数のメルスペクトログラム特徴を再帰的に生成すること
であって、前記再帰的ニューラルネットワークへの入力は、前記1つ又は複数の音素のシーケンス、前記1つ又は複数の音素の各々に関連付けられる継続時間、基本周波数、二乗平均平方根誤差値、及び話者に関連付けられるアイデンティティを含む、生成することと;
前記コンピュータによって、生成された前記メルスペクトログラム特徴を用いて、前記第1の歌声に対応するサンプルを前記第2の歌声に対応するサンプルに変換することと;を含む、
方法。
【請求項2】
前記エンコーディングすることは:
前記1つ又は複数の音素のシーケンスを受信することと;
受信した前記音素のシーケンスに関連付けられた連続的表現を含む1つ又は複数の隠れ状態のシーケンスを出力することと;を含む、
請求項1に記載の方法。
【請求項3】
前記1つ又は複数の音素を前記1つ又は複数のターゲット音響フレームに位置合わせすることは:
前記隠れ状態の出力されたシーケンスを前記第1の歌声に対応する情報と連結することと;
完全に接続された層を使用して連結された前記出力されたシーケンスに次元低減を適用することと;
各音素に関連付けられる継続時間に基づいて、次元低減された前記出力されたシーケンスを拡張することと;
拡張された前記出力されたシーケンスを前記ターゲット音響フレームに位置合わせすることと;を含む、
請求項2に記載の方法。
【請求項4】
1つ又は複数のフレームに位置合わせされた隠れ状態を、フレームレベル、二乗平均平方根誤差値、及び全てのフレームに関連付けられた相対位置と連結することをさらに含む、
請求項3に記載の方法。
【請求項5】
前記各音素の前記継続時間は、1つ又は複数の入力音素及び1つ又は複数の音響特徴に対して実行されるフォースアライメントから得られる、
請求項4に記載の方法。
【請求項6】
前記1つ又は複数のメルスペクトログラム特徴を
再帰的に生成することは:
前記1つ又は複数のターゲット音響フレームと位置合わせされた1つ又は複数のエンコーディングされた隠れ状態からアテンションコンテキストを計算することと;
計算された前記アテンションコンテキストにCBHG技法を適用することと;を含む、
請求項1に記載の方法。
【請求項7】
前記メルスペクトログラム特徴に関連付けられる損失値が最小化される、
請求項6に記載の方法。
【請求項8】
前記第1の歌声は、並列データなしに且つ前記第1の歌声に関連付けられるコンテンツを変えることなく、前記第2の歌声に変換される
請求項1に記載の方法。
【請求項9】
第1の歌声を第2の歌声に変換するコンピュータシステムであって、前記コンピュータシステムは:
コンピュータプログラムコードを記憶するように構成された1つ又は複数のコンピュータ可読非一時的記憶媒体と;
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって、請求項1乃至
8のいずれか1項に記載の方法を実行するように構成された1つ又は複数のコンピュータプロセッサと;を有する、
システム。
【請求項10】
第1の歌声を第2の歌声に変換するためのコンピュータプログラムであって、前記コンピュータプログラムは、1つ又は複数のコンピュータプロセッサに、請求項1乃至
8のいずれか1項に記載の方法を実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、その全体が参照により本出願に明示的に組み込まれる2020年2月13日に出願された米国特許出願第16/789,674号に対する優先権を主張する。
【0002】
本開示は、概して、コンピューティング(computing)の分野に関し、特に、データ処理に関する。
【背景技術】
【0003】
歌うことは人間の表現の重要な手段であり、コンピュータによる音声合成は長年関心を集めてきた。歌声変換(Singing voice conversion)は、既存の歌の中に存在する音楽的表現を他の歌手の声を用いて抽出及び再現することができる歌声を合成する1つの方法である。
【発明の概要】
【0004】
実施形態は、第1の歌声を第2の歌声に変換するための方法、システム、及びコンピュータ可読媒体に関する。一態様によれば、第1の歌声を第2の歌声に変換する方法が提供される。この方法は、コンピュータによって、第1の歌声に対応する1つ又は複数の音素に関連付けられたコンテキストをエンコーディングする(encoding)こと含み得る。コンピュータは、エンコーディングされたコンテキストに基づいて、1つ又は複数の音素を1つ又は複数のターゲット音響フレーム(target acoustic frames)に位置合わせし(align)得、位置合わせされた音素及びターゲット音響フレームから1つ又は複数のメルスペクトログラム特徴(mel-spectrogram features)を再帰的に生成し得る。第1の歌声に対応するサンプルが、生成されたメルスペクトログラム特徴を用いて、コンピュータによって第2の歌声に対応するサンプルに変換され得る。
【0005】
別の態様によれば、第1の歌声を第2の歌声に変換するコンピュータシステムが提供される。コンピュータシステムは、1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読メモリ、1つ又は複数のコンピュータ可読有形記憶装置、及び1つ又は複数のメモリのうちの少なくとも1つを介して1つ又は複数のプロセッサのうちの少なくとも1つによる実行のために、1つ又は複数の記憶装置のうちの少なくとも1つに記憶されたプログラム命令を含み、それによってコンピュータシステムは方法を実行することができる。この方法は、コンピュータによって、第1の歌声に対応する1つ又は複数の音素に関連付けられたコンテキストをエンコーディングすることを含み得る。コンピュータは、エンコーディングされたコンテキストに基づいて、1つ又は複数の音素を1つ又は複数のターゲット音響フレームに位置合わせし得、位置合わせされた音素及びターゲット音響フレームから1つ又は複数のメルスペクトログラム特徴を再帰的に生成し得る。第1の歌声に対応するサンプルは、生成されたメルスペクトログラム特徴を用いて、コンピュータによって第2の歌声に対応するサンプルに変換され得る。
【0006】
さらに別の態様によれば、第1の歌声を第2の歌声に変換するためのコンピュータ可読媒体が提供される。コンピュータ可読媒体は、1つ又は複数のコンピュータ可読記憶装置と、1つ又は複数の有形記憶装置のうちの少なくとも1つに記憶されたプログラム命令とを含み、プログラム命令は、プロセッサによって実行可能である。プログラム命令は、適宜に、コンピュータによって、第1の歌声に対応する1つ又は複数の音素に関連付けられたコンテキストをエンコーディングすることを含み得る方法を実行するためのプロセッサによって実行可能である。コンピュータは、エンコーディングされたコンテキストに基づいて、1つ又は複数の音素を1つ又は複数のターゲット音響フレームに位置合わせし得、位置合わせされた音素及びターゲット音響フレームから1つ又は複数のメルスペクトログラム特徴を再帰的に生成し得る。第1の歌声に対応するサンプルは、生成されたメルスペクトログラム特徴を用いて、コンピュータによって第2の歌声に対応するサンプルに変換され得る。
【図面の簡単な説明】
【0007】
これら及び他の目的、特徴及び利点は、添付の図面に関連して読まれる例示的な実施形態の以下の詳細な説明から明らかになるであろう。図面の種々の特徴は、図面が、詳細な説明に関連して当業者の理解を容易にすることを明確にするためのものであるため、正確なスケールではない。
【
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す。
【
図2】少なくとも1つの実施形態による、第1の歌声を第2の歌声に変換するプログラムのブロック図である。
【
図3】少なくとも1つの実施形態による、第1の歌声を第2の歌声に変換するプログラムによって実行されるステップを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による、
図1に示されたコンピュータ及びサーバの内部及び外部コンポーネントのブロック図である。
【
図5】少なくとも1つの実施形態による、
図1に示されるコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
【
図6】少なくとも1つの実施形態による、
図5の例示的なクラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0008】
請求項に係る構造及び方法の詳細な実施形態が本明細書に開示されているが、開示された実施形態は、単に、種々の形態で実施され得る請求項に係る構造及び方法を例示するに過ぎないことを理解することができる。しかしながら、これらの構造及び方法は、多くの異なる形態で具体化することができ、本明細書に記載の例示的な実施形態に限定されるものと解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が完全かつ完全であり、当業者に範囲を完全に伝えるように提供される。説明では、良く知られた特徴及び技術の詳細は、提示された実施形態を不必要に不明瞭にすることを避けるために省略され得る。
【0009】
実施形態は、概して、コンピューティングの分野に関し、より詳細には、データ処理に関する。以下に説明する例示的な実施形態は、特に、第1の歌声のコンテンツ(内容(content))を変更することなく、第1の話者の声の音色を第2の話者の声の音色に変換するためのシステム、方法及びプログラム製品を提供する。従って、いくつかの実施形態は、並列データなしで歌声を変換するためにディープニューラルネットワークの使用を可能にすることによって、データ処理の分野を改善する能力を有する。
【0010】
先に述べたように、歌うことは人間の表現の重要な手段であり、コンピュータによる音声合成は長年関心を集めてきた。歌声変換は、既存の歌の中に存在する音楽的表現を他の歌手の声を用いて抽出及び再現することができる歌声を合成する1つの方法である。しかしながら、歌声変換は、音声変換と同様であり得るが、歌声変換は、音声変換よりも広い範囲の周波数変動の処理、並びに歌声内に存在する音量及びピッチ(pitch)のより鋭い変化を必要とし得る。歌変換のパフォーマンスは、変換された歌の音楽的表現と、ターゲット歌手の声と比較した変換された声の音色(voice timbre)の類似性とに大きく依存する。伝統的な歌合成システムは、連結又は隠れマルコフモデルベースのアプローチを使用し得る、又はソース歌手とターゲット歌手の両方が歌う同じ曲などの並列データを必要とし得る。従って、トレーニングのために並列データを必要とせずに、歌声変換のために機械学習及びニューラルネットワークを使用することは有利であり得る。
【0011】
様々な実施形態による方法、装置(システム)、及びコンピュータ可読媒体のフロー図及び/又はブロック図を参照して、態様が本明細書に記載される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0012】
以下に説明する例示的な実施形態は、第1の歌声を第2の歌声に変換するシステム、方法、及びプログラム製品を提供する。本実施形態によれば、並列データを必要としないこの教師なしの歌声変換アプローチは、複数話者(multi-speaker)トレーニング中に1又は複数の話者に関連する埋め込みデータを学習することによって達成され得る。従って、システムは、単に話者を埋め込み間で切り替えることによって、そのコンテンツを変更することなく歌の音色を変換することができる。
【0013】
次に、
図1を参照すると、第1の歌声の第2の歌声への改良された変換のための歌声変換システム100(以下、「システム」という)を示すネットワーク化されたコンピュータ環境の機能ブロック図が示されている。
図1は、1つの実装の例示にすぎず、異なる実施形態が実装され得る環境に関するいかなる限定も意味しないことを理解されたい。図示された環境に対する多くの修正は、設計及び実装要件に基づいて行われ得る。
【0014】
システム100は、コンピュータ102及びサーバコンピュータ114を含み得る。コンピュータ102は、通信ネットワーク110(以下、「ネットワーク」という)を介してサーバコンピュータ114と通信し得る。コンピュータ102は、プロセッサ104と、データ記憶装置106に記憶され、ユーザとインターフェースし、サーバコンピュータ114と通信することを可能にするソフトウェアプログラム108とを含み得る。
図4を参照して後述するように、コンピュータ102は、それぞれ内部コンポーネント800A及び外部コンポーネント900Aを含み得、サーバコンピュータ114は、それぞれ内部コンポーネント800B及び外部コンポーネント900Bを含み得る。コンピュータ102は、例えば、モバイルデバイス、電話、パーソナルデジタルアシスタント、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、又はプログラムを実行し、ネットワークにアクセスし、データベースにアクセスすることができる任意の種類のコンピューティングデバイスであり得る。
【0015】
サーバコンピュータ114はまた、
図5及び
図6に関して後述するように、サービスとしてのソフトウェア(SaaS)、サービスとしてのプラットフォーム(PaaS)、又はサービスとしてのインフラストラクチャ(IaaS)のようなクラウドコンピューティングサービスモデルにおいて動作し得る。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウドのようなクラウドコンピューティング展開モデルに位置し得る。
【0016】
第1の歌声を第2の歌声に変換するために使用され得るサーバコンピュータ114は、データベース112と対話し得る歌声変換プログラム116(以下、「プログラム」という)を実行することができる。歌声変換プログラム方法は、
図3に関して以下により詳細に説明される。一実施形態では、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作し得、一方、プログラム116は、主としてサーバコンピュータ114上で動作し得る。代替的な実施形態では、プログラム116は、主として1つ又は複数のコンピュータ102上で動作し得、一方、サーバコンピュータ114は、プログラム116によって使用されるデータの処理及び記憶のために使用され得る。プログラム116は、スタンドアロンプログラムであり得る又はより大きな歌声変換プログラムに統合され得ることに留意されたい。
【0017】
しかしながら、プログラム116のための処理は、ある場合には、コンピュータ102とサーバコンピュータ114との間で任意の比率で共有され得ることに留意されたい。別の実施形態では、プログラム116は、1より多いコンピュータ、サーバコンピュータ、又はコンピュータとサーバコンピュータのいくつかの組み合わせ、例えば、ネットワーク110を介して単一のサーバコンピュータ114と通信する複数のコンピュータ102で動作し得る。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバコンピュータ114上で動作し得る。代替的には、プログラムは、ネットワークを介してサーバ及び複数のクライアントコンピュータと通信するネットワークサーバ上で動作し得る。
【0018】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、又はそれらのいくつかの組み合わせを含み得る。一般に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続とプロトコルの任意の組み合わせであることができる。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、公衆交換電話ネットワーク(PSTN)のような電気通信ネットワーク、無線ネットワーク、公衆交換ネットワーク、衛星ネットワーク、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多重アクセス(CDMA)ネットワーク等)、公衆陸上移動ネットワーク(PLMN)、大都市エリアネットワーク(MAN)、専用ネットワーク、アドホックネットワーク、イントラネット、光ファイバベースのネットワーク等、及び/又はこれらの又は他のタイプのネットワークの組合せのような種々のタイプのネットワークを含み得る。
【0019】
図1に示すデバイス及びネットワークの数及び配置は、一例として提供される。実際には、
図1に示されたものよりも、追加のデバイス及び/又はネットワーク、より少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、又は異なる配置のデバイス及び/又はネットワークが存在し得る。さらに、
図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、又は
図1に示す単一のデバイスは、複数の分散デバイスとして実装されてもよい。追加的に、又は代替的に、システム100のデバイスのセット(例えば、1つ又は複数のデバイス)は、システム100のデバイスの別のセットによって実行されるものとして説明される1つ又は複数以上の機能を実行してもよい。
【0020】
図2を参照すると、
図1の歌声変換プログラム116のブロック
図200が示されている。
図2は、
図1に示された例示的な実施形態の助けを借りて説明することができる。従って、歌声変換プログラム116は、特に、エンコーダ202、アライメントモジュール204、及びデコーダ206を含み得る。一実施形態によれば、歌声変換プログラム116は、コンピュータ102(
図1)に位置し得る。代替的な実施形態によれば、歌声変換プログラム116は、サーバコンピュータ114(
図1)に位置し得る。
【0021】
従って、エンコーダ202は、埋め込みモジュール208と、完全に接続された層(fully connected layer)210と、CBHG(1次元畳み込みバンク+ハイウェイネットワーク+双方向ゲート付き回帰ユニット)モジュール212とを含み得る。埋め込みモジュール208は、音声合成及び歌の合成(speech and singing synthesis)の両方のために、データリンク224を介して音素シーケンス入力(phoneme sequence input)を受信し得る。エンコーダ202は、入力音素に関連付けられた連続的な(シーケンシャルな)表現(sequential representation)を含む隠れ状態(hidden states)のシーケンスを出力し得る。
【0022】
アライメントモジュール204は、完全に接続された層214、及び状態拡張モジュール216を含み得る。状態拡張モジュール216は、データリンク226を介して音素継続時間(phoneme duration)入力、データリンク228を介して二乗平均平方根誤差(RMSE)入力、及びデータリンク230を介して基本周波数(F0)入力を受信し得る。アライメントモジュール204は、データリンク234によってエンコーダ202に結合され得る。アライメントモジュールは、自己回帰生成(autoregressive generation)のための入力として使用され得る1つ又は複数のフレームに位置合わせされた隠れ状態(frame-aligned hidden states)を生成し得る。エンコーダ202からの出力隠れシーケンスは、埋め込まれた話者情報と連結され得る。完全に接続された層214は、次元低減(dimension reduction)のために使用され得る。次元低減後の出力隠れ状態は、データリンク226を介して受信した各音素の継続時間データにしたがって拡張され得る。状態拡張は、例えば、受信した音素継続時間に応じた隠れ状態の複製であり得る。各音素の継続時間は、入力音素及び音響特徴に対して実行されるフォースアライメント(force alignments)から得られ得る。次に、フレームに位置合わせされた隠れ状態は、フレームレベル、RMSE、及び各音素内の全てのフレームの相対位置と連結される。ボコーダを使用して、歌のリズム及びメロディを反映し得る基本周波数F0を抽出し得る。従って、入力は、音素シーケンス、音素継続時間、F0、RMSE、及び話者のアイデンティティを含み得る。
【0023】
デコーダ206は、完全に接続された層218と、再帰的ニューラルネットワーク220と、メルスペクトログラム生成モジュール222とを含み得る。完全に接続された層218は、データリンク232を介してフレーム入力を受信し得る。デコーダ206は、データリンク236によってアライメントモジュール204に結合され得る。再帰的ニューラルネットワーク220は、2つの自己回帰RNN層から構成され得る。アテンション値(attention value)は、ターゲットフレームと位置合わせされ得る少数のエンコーディングされた隠れ状態から計算され得、これは、エンドツーエンドシステムにおいて観察され得るアーチファクトを低減し得る。一実施形態によれば、タイムステップ当たり2つのフレームがデコーディングされ得る。しかしながら、タイムステップ当たりの任意の数のフレームが、利用可能な計算能力に基づいてデコーディングされ得ることが理解され得る。再帰的ニューラルネットワーク220の各再帰(each recursion)からの出力は、とりわけ、予測されるメルスペクトログラムの品質を改善するためにポストCBHG技術を実行し得るメルスペクトログラム生成モジュール222を通過され得る。デコーダは、メルスペクトログラムを再構成するようにトレーニングされ得る。トレーニング段階では、埋め込まれたデータは音声サンプルに対応し、1又は複数の話者の歌のサンプルは共同で最適化され得る。デコーダ206は、ポストCBHGステップの前後のメルスペクトログラムに関連する予測損失値を最小化するようにトレーニングされ得る。モデルがトレーニングされた後、それは、任意の歌をターゲット話者の声に変換するために使用され得る。変換後のモデルからの生成されたメルスペクトログラムは、第2の歌声の波形生成のためのモデルとして使用され得る。
【0024】
次に、
図3を参照すると、第1の歌声を第2の歌声に変換するプログラムによって実行されるステップを示す動作フローチャート400が示されている。
図3は、
図1及び
図2の助けを借りて説明することができる。前述したように、歌声変換プログラム116(
図1)は、歌声を迅速かつ効果的に変換し得る。
【0025】
302において、1つ又は複数の音素に関連付けられ、第1の歌声に対応するコンテキストが、コンピュータによってエンコーディングされる。エンコーダの出力は、入力音素の連続的表現を含む隠れ状態のシーケンスであり得る。動作中、エンコーダ202(
図2)は、データリンク224(
図2)を介して音素シーケンスデータを受信し得、埋め込みモジュール208(
図2)、完全に接続された層210(
図2)、及びCBHGモジュール212(
図2)を介してデータを通過させ得る。
【0026】
304において、1つ又は複数の音素は、エンコーディングされたコンテキストに基づいて1つ又は複数のターゲット音響フレームに位置合わせされる。アライメントモジュールは、自己回帰生成のための入力として使用されるフレームに位置合わせされた隠れ状態を生成し得る。これは、とりわけ、ソース音素がそれらの意図されたターゲット音素と一致し得ることを確実にし得る。動作中に、アライメントモジュール204(
図2)は、データリンク234(
図2)を介してエンコーダ202(
図2)から音素データを受信し得る。完全に接続された層214(
図2)は、音素データの次元を減少させ得る。状態拡張モジュール216(
図2)は、それぞれ、データリンク226、228、230(
図2)を介して、音素継続時間データ、RMSEデータ、及び基本周波数データを受信し得、音素データを処理するためのいくつかの隠れ状態を作成し得る。
【0027】
306において、1つ又は複数のメルスペクトログラム特徴が、位置合わせされた音素及びターゲット音響フレームから再帰的に生成される。メルスペクトログラム特徴の生成は、1つ又は複数のターゲット音響フレームと位置合わせされた1つ又は複数のエンコーディングされた隠れ状態からアテンションコンテキスト(attention context)を計算し、計算されたアテンションコンテキストにCBHG技法を適用することを含み得る。動作中、デコーダ206(
図2)は、データリンク236(
図2)を介してアライメントモジュール204(
図2)から音素を受信し得る。このデータは、再帰的ニューラルネットワーク220(
図2)に渡され得る。フレーム入力データは、データリンク232(
図2)を介して完全に接続された層218(
図2)によって受信され得る。フレーム入力データ及び音素データは、再帰的ニューラルネットワーク220及び完全に接続された層218によって再帰的に処理され得る。各再帰の結果は、メルスペクトログラム生成モジュール222(
図2)に渡され得、このモジュールは、各再帰の結果を集約し、メルスペクトログラムを生成するためにCBHG操作(CBHG operation)を実行し得る。
【0028】
308において、第1の歌声に対応するサンプルが、生成されたメルスペクトログラム特徴を用いて、コンピュータによって第2の歌声に対応するサンプルに変換される。歌声変換方法は、トレーニングのために並列データ(すなわち、異なる歌手によって生成された同一の歌)を必要とせず、高度に表現が豊か(expressive)で自然に響く(natural-sounding)変換された歌声を生成し得る自動回帰生成モジュールを含み得る。動作中、歌声変換プログラム116(
図1)は、生成されたメルスペクトログラムを使用して、第1の話者の歌声を第2の話者の歌声に変換する。歌声変換プログラム116は、オプションで、通信ネットワーク110(
図1)を介してコンピュータ102(
図1)に第2の話者の声の出力を送信し得る。
【0029】
図3は、1つの実装の例示のみを提供し、異なる実施形態がどのように実装され得るかに関していかなる限定も意味しないことが理解されよう。図示された環境に対する多くの修正は、設計及び実装要件に基づいて行われ得る。
【0030】
図4は、例示的な実施形態による、
図1に示されたコンピュータの内部及び外部コンポーネントのブロック
図400である。
図4は、1つの実装の例示にすぎず、異なる実施形態が実装され得る環境に関するいかなる限定も意味しないことを理解されたい。図示された環境に対する多くの修正が、設計及び実装要件に基づいて行われ得る。
【0031】
コンピュータ102(
図1)及びサーバコンピュータ114(
図1)は、
図4に示す内部コンポーネント800A、B及び外部コンポーネント900A、Bのそれぞれのセットを含み得る。内部コンポーネント800のセットの各々は、1つ又は複数のプロセッサ820、1つ又は複数のバス826上の1つ又は複数のコンピュータ可読RAM822及び1つ又は複数のコンピュータ可読ROM824、1つ又は複数のオペレーティングシステム828、及び1つ又は複数のコンピュータ可読有形記憶装置830を含む。
【0032】
プロセッサ820は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装される。プロセッサ820は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実装では、プロセッサ820は、機能を実行するようにプログラムされることができる1つ又は複数のプロセッサを含む。バス826は、内部コンポーネント800A、B間の通信を可能にするコンポーネントを含む。
【0033】
1つ又は複数のオペレーティングシステム828、ソフトウェアプログラム108(
図1)及びサーバコンピュータ114(
図1)上の歌声変換プログラム116(
図1)は、それぞれのRAM822(典型的にはキャッシュメモリを含む)の1つ又は複数を介してそれぞれのプロセッサ820のうちの1つ又は複数による実行のために、それぞれのコンピュータ可読有形記憶装置830のうちの1つ又は複数に記憶される。
図4に示す実施形態では、コンピュータ可読有形記憶装置830の各々は、内部ハードドライブの磁気ディスク記憶装置である。代替的には、コンピュータ可読有形記憶装置830の各々は、ROM824、EPROM、フラッシュメモリ、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル汎用ディスク(DVD)、フロッピー(登録商標)ディスク、カートリッジ、磁気テープ、及び/又は、コンピュータプログラム及びデジタル情報を記憶することができる他のタイプの非一時的コンピュータ可読有形記憶装置のような半導体記憶装置である。
【0034】
内部コンポーネント800A、Bの各セットはまた、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク又は半導体記憶装置のような1つ又は複数のポータブルコンピュータ可読有形記憶装置936から読み書きするためのR/Wドライブ又はインターフェース832を含む。ソフトウェアプログラム108(
図1)及び歌声変換プログラム116(
図1)などのソフトウェアプログラムは、それぞれのポータブルコンピュータ可読有形記憶装置936の1つ又は複数に記憶され、それぞれのR/Wドライブ又はインターフェース832を介して読み込まれ、それぞれのハードドライブ830にロードされることができる。
【0035】
内部コンポーネント800A、Bの各セットはまた、TCP/IPアダプタカード、無線Wi-Fiインターフェースカード、又は3G、4G、若しくは5G無線インターフェースカード又は他の有線若しくは無線通信リンクなどのネットワークアダプタ又はインターフェース836を含む。ソフトウェアプログラム108(
図1)及びサーバコンピュータ114(
図1)上の歌声変換プログラム116(
図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク又は他の広域ネットワーク)及びそれぞれのネットワークアダプタ又はインターフェース836を介して、外部コンピュータからコンピュータ102(
図1)及びサーバコンピュータ114にダウンロードすることができる。ネットワークアダプタ又はインターフェース836から、ソフトウェアプログラム108及びサーバコンピュータ114上の歌声変換プログラム116がそれぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含み得る。
【0036】
外部コンポーネント900A、Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、及びコンピュータマウス934を含むことができる。外部コンポーネント900A、Bはまた、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、及び他のヒューマンインターフェースデバイスを含むことができる。内部コンポーネント800A、Bのセットの各々はまた、コンピュータディスプレイモニタ920、キーボード930及びコンピュータマウス934にインターフェースするためのデバイスドライバ840を含む。デバイスドライバ840、R/Wドライブ又はインターフェース832、及びネットワークアダプタ又はインターフェース836は、ハードウェア及びソフトウェア(記憶装置830及び/又はROM824に記憶される)を備える。
【0037】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装は、クラウドコンピューティング環境に限定されないことが、予め理解される。むしろ、いくつかの実施形態は、現在知られているか、又は後に開発される任意の他のタイプのコンピューティング環境と共に実装されることができる。
【0038】
クラウドコンピューティングは、最小限の管理努力又はサービスの提供者とのやりとりで迅速にプロビジョン及びリリースすることができる構成可能なコンピューティングリソース(ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、サービス)の共有プールへの便利でオンデマンドなネットワークアクセスを可能にするためのサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含み得る。
【0039】
特徴は以下の通りである:
オンデマンドセルフサービス:クラウドコンシューマは、サービスプロバイダとの人的なやりとりを必要とせずに、必要に応じて自動的に、サーバの時間やネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
広域ネットワークアクセス:能力は、ネットワーク経由で利用可能であり、異種のシン又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準メカニズムを通じてアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供するためにプールされ、様々な物理リソースと仮想リソースが、需要に応じて動的に割り当てられ、再割り当てされる。コンシューマは、一般に、提供されたリソースの正確な位置に関する制御や知識を持たないが、より高いレベルの抽象化(例えば、国、州、データセンタ)で位置を指定できる場合があるという点で、位置の独立性の感覚がある。
迅速な拡張性(Rapid elasticity):能力は、場合によっては自動的に、迅速にスケールアウトし、迅速にスケールインするために、迅速にかつ弾力的にプロビジョニングされることができる。コンシューマにとって、プロビジョニングに利用可能な能力はしばしば無制限であるように見え、いつでも任意の量で購入できる。
測定されるサービス(Measured service):クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適したあるレベルの抽象化で計量能力(metering capability)機能を利用することにより、自動的にリソースの使用を制御し、最適化する。リソースの使用を監視し、制御し、報告して、利用サービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0040】
サービスモデルは次のとおりである:
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラ上で動作するプロバイダのアプリケーションを利用することである。アプリケーションは、Webブラウザ(例えば、Webベースの電子メール)のようなシンクライアントインターフェースを介して、さまざまなクライアントデバイスからアクセスできる。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージ、さらには個々のアプリケーション機能を含む基盤にあるクラウドインフラストラクチャを管理又は制御しないが、限られたユーザ固有のアプリケーション構成設定の可能性のある例外がある。
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダがサポートするプログラミング言語及びツールを使用して作成された、コンシューマが作成又は取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む基盤となるクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーションや、場合によってはアプリケーションホスティング環境の構成に対する制御を有する。
サービスとしてのインフラストラクチャ(laaS):コンシューマに提供される機能は、処理、ストレージ、ネットワーク、及びその他の基本的なコンピューティングリソースをプロビジョニングすることであり、コンシューマは、オペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアを展開及び実行することができる。コンシューマは、基盤となるクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーション、及び場合によっては選択されたネットワークコンポーネント(例えば、ホストファイアウォール)の限定された制御を有する。
【0041】
展開モデルは、以下の通りである:
プライベートクラウド:クラウドインフラストラクチャは組織のためだけに運用される。組織又は第三者によって管理され、オンプレミス(on-premises)又はオフプレミス(off-premises)に存在し得る。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織で共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンスの考慮事項)を持つ特定のコミュニティをサポートする。組織又は第三者によって管理され、オンプレミス又はオフプレミスに存在し得る。
パブリッククラウド:クラウドインフラストラクチャは、一般の人々又は大規模な業界団体が利用できるようにされ、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、ユニークなエンティティのままであるが、データとアプリケーションの移植性(例えば、クラウド間の負荷分散のためのクラウドバースト)を可能にする標準化された又は独自の技術によって結合されている2つ以上のクラウド(プライベート、コミュニティ、パブリック)の構成である。
【0042】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を当てたサービス指向である。クラウドコンピューティングの核心は、相互接続されたノードのネットワークを有するインフラストラクチャである。
【0043】
図5を参照すると、例示的なクラウドコンピューティング環境500が示されている。図示のように、クラウドコンピューティング環境500は、1つ又は複数のクラウドコンピューティングノード10を含み、クラウドコンシューマによって使用される、例えば、携帯デジタルアシスタント(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は自動車コンピュータシステム54Nなどのローカルコンピューティングデバイスが、それらと通信し得る。クラウドコンピューティングノード10は、互いに通信し得る。それらは、物理的又は仮想的に、上述のようなプライベート、コミュニティ、パブリック、又はハイブリッドクラウド、又はそれらの組み合わせのような1つ又は複数のネットワークにおいてグループ化(図示せず)され得る。これは、クラウドコンピューティング環境500が、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要のないサービスとして、インフラストラクチャ、プラットフォーム及び/又はソフトウェアを提供することを可能にする。
図5に示すコンピューティングデバイス54A~Nのタイプは、例示的なものに過ぎず、クラウドコンピューティングノード10及びクラウドコンピューティング環境500は、任意のタイプのネットワーク及び/又はネットワークアドレス指定可能接続(例えば、ウェブブラウザを使用する)を介して任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【0044】
図6を参照すると、クラウドコンピューティング環境500(
図5)によって提供される機能抽象化層のセット600が示されている。
図6に示すコンポーネント、層、及び機能は、例示的なものに過ぎず、実施形態はこれに限定されるものではないことを予め理解されたい。図示のように、以下の層及び対応する機能が提供される:
【0045】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は:メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62;サーバ63;ブレードサーバ64;記憶装置65;並びにネットワーク及びネットワークコンポーネント66;を含む。いくつかの実施形態では、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を含む。
【0046】
仮想化層70は、抽象化層を提供し、そこから、仮想エンティティの次の例が提供され得る:仮想サーバ71;仮想ストレージ72;仮想プライベートネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;及び仮想クライアント75。
【0047】
一例では、管理層80は、以下に記載される機能を提供し得る。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソース及びその他のリソースの動的調達を提供する。メータリング及びプライシング(Metering and Pricing)82は、クラウドコンピューティング環境内でリソースが利用されるときのコスト追跡、及びこれらのリソースの消費に対する請求又はインボイス送付(billing or invoicing)を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウドコンシューマとタスクのためのID確認(identity verification)、並びにデータ及びその他のリソースの保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)の計画及び履行85は、SLAに従って将来の要件が予測されるクラウドコンピューティングリソースの事前準備及び調達を提供する。
【0048】
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例は:マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育配信93;データ分析処理94;トランザクション処理95;及び歌声変換96;を含む。歌声変換96は、第1の歌声を第2の歌声に変換し得る。
【0049】
いくつかの実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータ可読媒体に関連し得る。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読非一時的記憶媒体を含み得る。
【0050】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置であることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又はこれらの任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは次のものを含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル汎用ディスク(DVD)、メモリスティック、フロッピー(登録商標)ディスク、パンチカード又はそれらに記録された命令を有する溝内の隆起構造のような機械的にエンコーディングされた装置、及びこれらの任意の適切な組み合わせ。本明細書で使用されるとき、コンピュータ可読記憶媒体は、それ自体、例えば、電波又は他の自由に伝搬する電磁波、導波管又は他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通って伝送される電気信号のような、一時的な信号であると解釈されるべきではない。
【0051】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング/処理装置に、あるいは、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含み得る。各コンピューティング/処理装置内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、各コンピューティング/処理装置内のコンピュータ可読記憶媒体に記憶するために転送する。
【0052】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又はSmalltalk、C++などのようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は類似のプログラミング言語などの手続型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書かれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上で且つ部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で、実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続され得る、又は、接続は、外部コンピュータ(例えば、インターネットサービスプロバイダを使用するインターネットを介して)に行われ得る。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、態様又は動作を実行するために、電子回路をパーソナライズするためにコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【0053】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック(複数)に指定された機能/行為を実装するための手段を生成するように、機械を作り得る。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、及び/又は他の装置を特定の方法で機能させることができるコンピュータ可読記憶媒体に記憶されてもよく、その結果、その中に記憶された命令を有するコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図のブロック又はブロック(複数)に指定された機能/行為の態様を実装する命令を含む製造品を含む。
【0054】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他の装置にロードされて、コンピュータ、他のプログラマブル装置、又は他の装置で実行される命令がフローチャート及び/又はブロック図のブロック又はブロック(複数)に指定された機能/行為を実装するように、コンピュータ、他のプログラマブル装置又は他の装置に一連の動作ステップを実行させて、コンピュータ実装プロセスを生成させ得る。
【0055】
図中のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータ可読媒体の可能な実装のアーキテクチャ、機能、及び動作を示す。この点に関し、フローチャート又はブロック図の各ブロックは、特定の論理機能(複数可)を実装するための1つ以上の実行可能な命令を含む、モジュール、セグメント、又は命令の一部を表し得る。この方法、コンピュータシステム、及びコンピュータ可読媒体は、図面に示されたものよりも、追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含み得る。いくつかの代替的な実装では、ブロックに記載された機能は、図に記載された順序から外れて生じてもよい。例えば、連続して示される2つのブロックは、実際には、同時又は実質的に同時に実行されてもよく、又は、ブロックは、関連する機能に応じて、逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する又は専用のハードウェア及びコンピュータ命令の組み合わせを実行する専用のハードウェアベースのシステムによって実装することができることに留意されたい。
【0056】
本明細書に記載したシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせの異なる形態で実装され得ることは明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェア及びハードウェアは、本明細書の記載に基づいてシステム及び/又は方法を実装するように設計され得ることが理解される。
【0057】
本明細書中で使用されるいかなる要素、行為、又は命令も、明示的に記述されない限り、重要又は必須と解釈されるべきではない。また、本明細書で使用される場合、冠詞「1つの(「a」及び「an」)」は、1つ又は複数のアイテムを含むことを意図し、「1つ又は複数」と互換的に使用され得る。さらに、本明細書で使用される場合、用語「セット」は、1つ又は複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムの組み合わせなど)を含むことを意図し、「1つ又は複数」と互換的に使用され得る。1つのアイテムのみが意図される場合、用語「1つ」又は類似の言語が使用される。また、本明細書で使用される場合、用語「有する」、「有する」、「有している」などは、オープンエンドの用語であることが意図されている。さらに、語句「に基づく」は、明示的に別段の記載がない限り、「少なくとも部分的に基づく」を意味することが意図されている。
【0058】
種々の態様及び実施形態の説明は、説明のために提示されてきたが、開示された実施形態を網羅することを意図するものではなく、限定するものでもない。特徴の組み合わせが特許請求の範囲に記載される及び/又は明細書に開示されているとしても、これらの組み合わせは、可能な実装の開示を限定するものではない。実際、これらの特徴の多くは、請求項に具体的に記載されていない及び/又は明細書に開示されていない方法で組み合わせることができる。以下に列挙される各従属請求項は、1つの請求項のみに直接従属し得るが、可能な実装の開示は、請求項のセット中の他の全ての請求項と組み合わせの各従属請求項を含む。多くの修正及び変形は、説明した実施形態の範囲から逸脱することなく、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見出される技術に対する実際的な応用又は技術的な改良を最もよく説明するため、又は当業者が本明細書で開示される実施形態を理解することを可能にするために選択された。