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

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

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

特表2023-550605機械学習支援による空間ノイズ推定及び抑制
<>
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図1
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図2
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図3
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図4A
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図4B
  • 特表-機械学習支援による空間ノイズ推定及び抑制 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-04
(54)【発明の名称】機械学習支援による空間ノイズ推定及び抑制
(51)【国際特許分類】
   G10L 21/0232 20130101AFI20231127BHJP
   G10L 25/30 20130101ALI20231127BHJP
【FI】
G10L21/0232
G10L25/30
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023526932
(86)(22)【出願日】2021-11-04
(85)【翻訳文提出日】2023-06-29
(86)【国際出願番号】 US2021058131
(87)【国際公開番号】W WO2022098920
(87)【国際公開日】2022-05-12
(31)【優先権主張番号】63/110,228
(32)【優先日】2020-11-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/210,215
(32)【優先日】2021-06-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】カートライト,リチャード ジェイ.
(72)【発明者】
【氏名】ワーン,ニーン
(57)【要約】
実施形態において、本方法は:入力オーディオ信号のパワー・スペクトルのバンドとマイクロフォン共分散とを受信するステップと、各バンドについて:機械学習分類器を用いて、スピーチ及びノイズのそれぞれの確率を推定し;指向性モデルを用いて、スピーチ及びノイズの平均のセット、又は、スピーチ及びノイズの平均及び共分散のセットを、確率及びバンドに対するマイクロフォン共分散に基づいて推定し;レベル・モデルを用いて、ノイズ・パワーの平均及び共分散を、確率及びパワー・スペクトルに基づいて推定し;第1のノイズ抑制ゲインを指向性モデルに基づいて決定し;第2のノイズ抑制ゲインをレベル・モデルに基づいて決定し;第1若しくは第2のノイズ抑制ゲイン又はそれらの合計を入力オーディオ信号の信号対雑音比に基づいて選択し;入力信号の時間-周波数表現を、選択されたノイズ抑制ゲインによってスケーリングするステップを含む。
【特許請求の範囲】
【請求項1】
オーディオ処理方法であって:
少なくとも1つのプロセッサを用いて、入力オーディオ信号のパワー・スペクトルのバンドと各バンドのマイクロフォン共分散とを受信するステップであって、前記マイクロフォン共分散は、前記入力オーディオ信号を捕捉するために使用されるマイクロフォンの配置に基づいている、ステップ;
各バンドについて:
機械学習分類器を用いて、スピーチ及びノイズのそれぞれの確率を推定し;
指向性モデルを用いて、スピーチ及びノイズの平均のセット、又は、スピーチ及びノイズの平均及び共分散のセットを、前記確率及び前記バンドに対する前記マイクロフォン共分散に基づいて推定し;
レベル・モデルを用いて、ノイズ・パワーの平均及び共分散を、前記確率及び前記パワー・スペクトルに基づいて推定し;
前記少なくとも1つのプロセッサを用いて、第1のノイズ抑制ゲインを、前記指向性モデルの第1の出力に基づいて決定し;
前記少なくとも1つのプロセッサを用いて、第2のノイズ抑制ゲインを、前記レベル・モデルの第2の出力に基づいて決定し;
前記少なくとも1つのプロセッサを用いて、前記第1のノイズ抑制ゲイン、前記第2のノイズ抑制ゲイン、又は、前記第1のノイズ抑制ゲインと前記第2のノイズ抑制ゲインとの合計のうちの1つを、前記入力オーディオ信号の信号対雑音比に基づいて選択し;
前記少なくとも1つのプロセッサを用いて、前記入力オーディオ信号の時間-周波数表現を、前記バンドについて選択された第1又は第2のノイズ抑制ゲインによってスケーリングし;及び
前記少なくとも1つのプロセッサを用いて、前記時間-周波数表現を出力オーディオ信号に変換するステップ;
を含む方法。
【請求項2】
請求項1に記載の方法において、更に:
前記少なくとも1つのプロセッサを用いて、複数のブロック/フレームを含む入力オーディオ信号を受信するステップ;
各ブロック/フレームについて:
前記少なくとも1つのプロセッサを用いて、前記ブロック/フレームを、複数のサブバンドであって各サブバンドは他のサブバンドと相違するスペクトルを有する複数のサブバンドに変換し;
前記少なくとも1つのプロセッサを用いて、前記サブバンドをバンドに結合し;及び
前記少なくとも1つのプロセッサを用いて、バンド化されたパワーを決定するステップ;
を含む方法。
【請求項3】
請求項1に記載の方法において、前記機械学習分類器は、ニューラル・ネットワークである、方法。
【請求項4】
請求項1又は2に記載の方法において、前記マイクロフォン共分散は、正規化されたベクトルとして表現されている、方法。
【請求項5】
請求項1-4のうちの何れか1項に記載の方法において、前記第1のノイズ抑制ゲインを決定するステップは:
前記バンドに対するスピーチの確率を計算し;
前記バンドに対するスピーチの確率が閾値未満であった場合に、前記第1のノイズ抑制ゲインを、最大抑制ゲインに等しくなるように設定し;及び
スピーチの確率を増やすために、前記第1のノイズ抑制ゲインを、前記最大抑制ゲインからゼロに向かってランピングすることにより設定するステップ;
を含む、方法。
【請求項6】
請求項5に記載の方法において、前記スピーチの確率は、前記指向性モデルにより推定された前記共分散、スピーチ及びノイズの平均のセットを用いて計算される、方法。
【請求項7】
請求項5に記載の方法において、前記スピーチの確率は、前記指向性モデルにより推定された前記共分散、スピーチ及びノイズの平均のセット、及び多変数同時ガウシアン密度関数を用いて計算される、方法。
【請求項8】
請求項1-7のうちの何れか1項に記載の方法において、前記第2のノイズ抑制ゲインを決定するステップは:
前記バンドのパワーが第1の閾値未満であった場合に、前記第2のノイズ抑制ゲインを、最大抑制ゲインに等しくなるように設定し;及び
スピーチの確率を増やすために、前記ノイズ抑制ゲインを、前記最大抑制ゲインからゼロに向かってランピングすることにより設定するステップ;
を含む、方法。
【請求項9】
請求項1-8のうちの何れか1項に記載の方法において、前記指向性モデルを用いて推定するステップは、スピーチ及びノイズとして分類された時間-周波数タイルであって、残響として分類されたものを除外した時間-周波数タイルを利用している、方法。
【請求項10】
請求項1-9のうちの何れか1項に記載の方法において、指向性モデル又はレベル・モデルを用いて、スピーチの平均を、前記スピーチの確率及び前記バンドに対する前記マイクロフォン共分散に基づいて推定するステップは、更に:
前記マイクロフォン共分散及びスピーチの平均をフィルター入力とする一次ロー・パス・フィルターを用いて、前記スピーチの平均の時間平均推定を演算し、前記フィルター入力を前記スピーチの確率により重み付けするステップ;
を含む、方法。
【請求項11】
請求項1-10のうちの何れか1項に記載の方法において、指向性モデル又はレベル・モデルを用いて、ノイズの平均を、前記ノイズの確率及び前記バンドに対する前記マイクロフォン共分散に基づいて推定するステップは、更に:
前記マイクロフォン共分散ベクトル及びノイズの平均をフィルター入力とする一次ロー・パス・フィルターを用いて、前記ノイズの平均の時間平均推定を演算し、前記フィルター入力を前記ノイズの確率により重み付けするステップ;
を含む、方法。
【請求項12】
請求項1-11のうちの何れか1項に記載の方法において、指向性モデル又はレベル・モデルを用いて、スピーチの共分散を、前記スピーチの確率及び前記バンドに対する前記マイクロフォン共分散に基づいて推定するステップは、更に:
前記マイクロフォン共分散ベクトル及びスピーチの共分散をフィルター入力とする一次ロー・パス・フィルターを用いて、前記スピーチの共分散の時間平均推定を演算し、前記フィルター入力を前記スピーチの確率により重み付けするステップ;
を含む、方法。
【請求項13】
請求項1-12のうちの何れか1項に記載の方法において、指向性モデル又はレベル・モデルを用いて、ノイズの共分散を、前記ノイズの確率及び前記バンドに対する前記マイクロフォン共分散に基づいて推定するステップは、更に:
前記マイクロフォン共分散ベクトル及びノイズの共分散をフィルター入力とする一次ロー・パス・フィルターを用いて、前記ノイズの共分散の時間平均推定を演算し、前記フィルター入力を前記ノイズの確率により重み付けするステップ;
を含む、方法。
【請求項14】
少なくとも1つのコンピュータ・プロセッサ:及び
命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体;
を含むシステムであって、前記命令は、前記1つ以上のコンピュータ・プロセッサにより実行されると、前記1つ以上のコンピュータ・プロセッサに、請求項1-13のうちの何れか1項に記載の方法を実行させる、システム。
【請求項15】
命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、前記1つ以上のコンピュータ・プロセッサにより実行されると、前記1つ以上のコンピュータ・プロセッサに、請求項1-13のうちの何れか1項に記載の方法を実行させる、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 関連出願の相互参照
本件出願は、2020年11月5日付で出願された米国仮出願第63/110,228号及び2021年6月14日付で出願された米国仮出願第63/210,215号に対する優先権を主張しており、それぞれその全体が参照により援用されている。
【0002】
[0002] 技術分野
本件の開示は、一般にオーディオ信号処理に関連し、特に音声通信におけるノイズ推定及び抑制に関連する。
【背景技術】
【0003】
[0003] 音声通信のノイズ抑制アルゴリズムは、電話機、ラップトップ、会議システムのようなエッジ・デバイスに効果的に実装されている。双-方向音声通信の一般的な問題は、各ユーザーの場所における背景ノイズが、ユーザーの音声信号と共に送信されてしまうことである。エッジ・デバイスで受信される統合された信号の信号対雑音比(SNR)が低すぎる場合、再構築された音声の明瞭性が劣化することになり、ユーザー・エクスペリエンスは乏しい結果となる。
【発明の概要】
【0004】
[0004] 機械学習支援による空間ノイズ推定及び抑制のための実装を説明する。一部の実施形態において、オーディオ処理方法は:
入力オーディオ信号のパワー・スペクトルのバンドと各バンドのマイクロフォン共分散(microphone covariance)とを受信するステップであって、マイクロフォン共分散は、入力オーディオ信号を捕捉するために使用されるマイクロフォンの配置に基づいている、ステップ;
各バンドについて:
機械学習分類器を用いて、スピーチ及びノイズのそれぞれの確率を推定し;
指向性モデルを用いて、スピーチ及びノイズの平均のセット、又は、スピーチ及びノイズの平均及び共分散のセットを、確率及びバンドに対するマイクロフォン共分散に基づいて推定し;
レベル・モデルを用いて、ノイズ・パワーの平均及び共分散を、確率及びパワー・スペクトルに基づいて推定し;
第1のノイズ抑制ゲインを、指向性モデルの第1の出力に基づいて決定し;
第2のノイズ抑制ゲインを、レベル・モデルの第2の出力に基づいて決定し;
第1のノイズ抑制ゲイン、第2のノイズ抑制ゲイン、又は、第1のノイズ抑制ゲインと第2のノイズ抑制ゲインとの合計のうちの1つを、入力オーディオ信号の信号対雑音比に基づいて選択するステップ;
入力信号の時間-周波数表現を、バンドについて選択された第1又は第2のノイズ抑制ゲインによってスケーリングし;及び
時間-周波数表現を出力オーディオ信号に変換するステップを含む。
【0005】
[0005] 一部の実施形態において、本方法は、更に:少なくとも1つのプロセッサを用いて、複数のブロック/フレームを含む入力オーディオ信号を受信するステップ;
各ブロック/フレームについて:
少なくとも1つのプロセッサを用いて、ブロック/フレームを、複数のサブバンドに変換するステップ(各サブバンドは他のサブバンドと相違するスペクトルを有する);少なくとも1つのプロセッサを用いて、サブバンドをバンドにコンバインし;及び、少なくとも1つのプロセッサを用いて、バンド化されたパワーを決定するステップを含む。
【0006】
[0006] 一部の実施形態において、一部の実施形態において、機械学習分類器は、入力層と、出力層と、1つ以上の隠れ層とを含むニューラル・ネットワークである。一例では、ニューラル・ネットワークは、3以上の層、好ましくは3より多い層を含むディープ・ニューラル・ネットワークである。
【0007】
[0007] 一部の実施形態において、マイクロフォン共分散は、正規化されたベクトルとして表現される。
【0008】
[0008] 一部の実施形態において、本方法は、更に、第1のノイズ抑制ゲインを決定するステップが、更に:バンドに対するスピーチの確率を計算し;バンドに対するスピーチの確率が閾値未満であった場合に、第1のノイズ抑制ゲインを、最大抑制ゲインに等しくなるように設定し;及び、バンドに対するスピーチの算出された確率が閾値より大きかった場合に、第1のノイズ抑制ゲインを、ゲイン・ランプ(gain ramp)に基づいて設定するステップを含む、ということを含む。
【0009】
[0009] 一部の実施形態において、スピーチの確率は、指向性モデルにより推定された共分散、スピーチ及びノイズの平均のセットを用いて計算される。
【0010】
[0010] 一部の実施形態において、スピーチの確率は、指向性モデルにより推定された共分散ベクトル、スピーチ及びノイズの平均のセット、及び多変数同時ガウシアン密度関数(multi-variable, joint Gaussian density function)を用いて計算される。
【0011】
[0011] 一部の実施形態において、本方法は、更に:第2のノイズ抑制ゲインを決定するステップが、更に:バンドのパワーが第1の閾値未満であった場合に、第2のノイズ抑制ゲインを、最大抑制ゲインに等しくなるように設定し;バンドのパワーが第1の閾値と第2の閾値との間にあった場合に、第2のノイズ抑制ゲインをゼロに設定し(第2の閾値は第1の閾値より高い);及びバンド・パワーが第2の閾値より高かった場合に、第2のノイズ抑制ゲインを、ゲイン・ランプに基づいて設定するステップを含む、ということを含む。
【0012】
[0012] 一部の実施形態において、指向性モデルを用いて推定するステップは、スピーチ及びノイズとして分類された時間-周波数タイルであって、残響(reverberation)として分類されたものを除外した時間-周波数タイルを利用している。
【0013】
[0013] 一部の実施形態において、本方法は、更に:指向性モデル又はレベル・モデルを用いて、スピーチの平均を、スピーチの確率及びバンドに対するマイクロフォン共分散に基づいて推定するステップは、更に:マイクロフォン共分散ベクトル及びスピーチの平均をフィルター入力とする一次ロー・パス・フィルターを用いて、フィルター入力をスピーチの確率により重み付けすることで、スピーチの平均の時間平均推定(time average estimate)を演算するステップを含む、ということを含む。
【0014】
[0014] 一部の実施形態において、本方法は、更に:指向性モデル又はレベル・モデルを用いて、ノイズの平均を、ノイズの確率及びバンドに対するマイクロフォン共分散に基づいて推定するステップは、更に:マイクロフォン共分散ベクトル及びノイズの平均をフィルター入力とする一次ロー・パス・フィルターを用いて、フィルター入力をノイズの確率により重み付けすることにで、ノイズの平均の時間平均推定を演算するステップを含む、ということを含む。
【0015】
[0015] 一部の実施形態において、本方法は、更に:指向性モデル又はレベル・モデルを用いて、スピーチの共分散を、スピーチの確率及びバンドに対するマイクロフォン共分散に基づいて推定するステップは、更に:マイクロフォン共分散ベクトル及びスピーチの共分散をフィルター入力とする一次ロー・パス・フィルターを用いて、フィルター入力をスピーチの確率により重み付けすることで、スピーチの共分散の時間平均推定を演算するステップを含む、ということを含む。
【0016】
[0016] 一部の実施形態において、本方法は、更に:指向性モデル又はレベル・モデルを用いて、ノイズの共分散を、ノイズの確率及びバンドに対するマイクロフォン共分散に基づいて推定するステップは、更に:マイクロフォン共分散ベクトル及びスピーチの共分散をフィルター入力とする一次ロー・パス・フィルターを用いて、フィルター入力をノイズの確率により重み付けすることで、スピーチの共分散の時間平均推定を演算するステップを含む、ということを含む。
【0017】
[0017] 一部の実施形態において、システムは、少なくとも1つのコンピュータ・プロセッサ:及び、命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体を含み、命令は、1つ以上のコンピュータ・プロセッサにより実行されると、1つ以上のコンピュータ・プロセッサに、上記の何れかの方法を実行させる。
【0018】
[0018] 一部の実施形態において、非一時的なコンピュータ読み取り可能な媒体は命令を記憶し、命令は、1つ以上のコンピュータ・プロセッサにより実行されると、1つ以上のコンピュータ・プロセッサに、上記の何れかの方法を実行させる。
【0019】
[0019] 本件で開示される他の実装は、システム、装置、及びコンピュータ読み取り可能な媒体を対象としている。開示される実装の詳細は、添付の図面及び以下の説明において述べられている。その他の特徴、目的、及び利点は、明細書、図面及び特許請求の範囲から明らかである。
【0020】
[0020] 本件で開示される特定の実装は、以下の利点のうちの1つ以上を提供する。開示される実施形態は、指向性と機械学習(例えば、ニューラル・ネットワーク)を使用して、低コストで高品質のノイズ推定と抑制を音声通信アプリケーションにもたらす。ノイズ推定と抑制についての開示される実施形態は、様々なエッジ・デバイスで実装されることが可能であり、複数のマイクロフォンを必須としていない。ニューラル・ネットワークを使用することで、背景雑音の大きな多様性と変動性に対してスケーリングすることができる。
【図面の簡単な説明】
【0021】
[0021] 図面には、デバイス、ユニット、命令ブロック、及びデータ要素を表すもの等のように図式的要素の具体的な配置や順序が、説明の簡易化のために示されている。しかしながら、図中の図式的要素の具体的な配置や順序は、処理の特定の順序やシーケンス、又はプロセスの分け方が必須とされることを示すようには意図されていないことを、当業者は理解するはずである。更に、図面に図式的要素を包含させていることは、そのような要素が全ての実施形態で必須とされること、又は、そのような要素によって表される特徴が、一部の実装では他の要素に含まれないか又は組み合わせられない可能性があることを示すようには意図されていない。
【0022】
[0022] 更に、実線、破線又は矢印のような接続要素は、2つ以上の他の図式的要素の間又は中での接続、関係、又は関連性を示すために使用されている図面の中で、そのような何らかの接続要素が無いことは、接続、関係、又は関連性が存在し得ないことを示すようには意図されていない。換言すれば、開示を不明瞭化しないように、要素間の何らかの接続、関係、又は関連性は図面に示されていない場合がある。更に、説明の簡明性のために、単一の接続要素を使用して、要素間の複数の接続、関係、又は関連性を表す場合がある。例えば、接続要素が信号、データ、又は命令の通信を表す場合、そのような要素は、通信に影響を及ぼす1つ又は複数の信号経路を必要に応じて表現していることを、当業者は理解するはずである。
図1】[0023] 図1は、一部の実施形態による機械学習支援による空間ノイズ推定及び抑制システムのブロック図である。
図2】[0024] 図2は、一部の実施形態によるレベル・モデルに基づくノイズ抑制ゲイン演算を説明するための図である。
図3】[0025] 図3は、一部の実施形態による指向性モデルに基づくノイズ抑制ゲイン演算を説明するための図である。
図4A】[0026] 図4Aは、一部の実施形態による、指向性及び機械学習を用いた音声通信におけるノイズ推定及び抑制プロセスのフローチャートを示す。
図4B】[0026] 図4Bは、一部の実施形態による、指向性及び機械学習を用いた音声通信におけるノイズ推定及び抑制プロセスのフローチャートを示す。
図5】[0027] 図5は、一部の実施形態による、図1-4に関連して説明される特徴及びプロセスを実装するためのシステムのブロック図である。 [0028] 様々な図面で使用されている同じ参照記号は同様な要素を示す。
【発明を実施するための形態】
【0023】
[0029] 以下の詳細な説明では、説明される様々な実施形態の十分な理解をもたらすために、多数の具体的な詳細が述べられている。説明される様々な実装はこれらの具体的な詳細なしに実現される可能性がある、ということは当業者にとって明らかであろう。他の例では、良く知られた方法、手順、構成要素、及び回路は、実施形態の態様を不必要に不明瞭にしないように、詳細には説明されていない。以下、それぞれが互いに独立して、又は他の特徴との何らかの組み合わせで使用することが可能な幾つもの特徴を説明する。
【0024】
[0030] 用語体系
本件で使用される場合、「~を含む(include)」という用語及びその変形は、「~を含んでいるが、それに限定されない」ことを意味するオープン・エンドの用語として理解されるべきである。「又は(or)」という用語は、文脈上明らかに別意を示していない限り、「及び/又は(and/or)」として理解されるべきである。「~に基づいて(based on)」という用語は、「~に少なくとも部分的に基づいて」として理解されるべきである。「ある例示的な実装」及び「例示的な実装」という用語は、「少なくとも1つの例示的な実装」として理解されるべきである。「別の実装」という用語は、「少なくとも1つの他の実装」として理解されるべきである。用語「決定された(determined)」、「決定する(determines)」、又は「決定している(determining)」は、取得、受信、演算、計算、推定、予測、又は導出として理解されるべきである。更に、以下の説明及びクレームにおいて、別意に定められていない限り、本件で使用される全ての技術的及び科学的な用語は、本開示が属する技術分野の当業者によって一般的に理解されているものと同じ意味を有する。
【0025】
[0031] 概要
従来のノイズ抑制ソリューションは、2つ以上のマイクロフォンを使用して背景雑音を捕捉しており、その場合において、一方のマイクロフォンはユーザーの口の近くにあり、他方は遠くにある。2つのマイクロフォンからの信号は、両方の信号に共通する背景雑音を除去するために減算される。しかしながら、この技法は、1つのマイクロフォンしか有しないエッジ・デバイスや、或いは、携帯電話の場合に、喋りながらユーザーが電話機を揺らしたり回転させたりするような場合には、機能しない。他のノイズ抑制アルゴリズムは、オーディオ信号におけるノイズ・パターンを継続的に検出し、フレームごと又はブロックごとに音声を処理することによってそれに適応しようとしており、その場合において、各ブロックは2つ以上のフレームを含む可能性がある。これらの既存の適応アルゴリズムは、特定のユース・ケースでは良好に機能するが、多様性及び変動性の大きな背景雑音にスケーリングしているとは言えない。
【0026】
[0032] 最近、音声通信におけるノイズを抑制するために、ディープ・ニューラル・ネットワークが使用されている。しかしながら、これらのソリューションはかなりの演算能力を必要とし、リアル・タイム通信システムに実装することは困難である。開示される実施形態は、指向性と機械学習(例えばディープ・ニューラル・ネットワーク)の結合を利用して、音声通信アプリケーションのために低コストで高品質のノイズ推定及び抑制をもたらす。
【0027】
[0033] 図1は、一部の実施形態による、機械学習支援による空間ノイズ推定及び抑制システム100のブロック図である。システム100は、フィルターバンク101、バンド化ユニット102、機械学習分類器103(例えば、ディープ・ニューラル・ネットワーク(DNN)のようなニューラル・ネットワーク)、方向検出ユニット104、スピーチ/ノイズ指向性モデル105、ノイズ・レベル・モデル106、ノイズ抑制ゲイン・ユニット107、乗算ユニット108、及びインバース・フィルターバンク109を含む。一部の実施形態において、フィルターバンク101(例えば、短時間フーリエ変換(short-time Fourier transform,STFT))は、時間ドメイン入力オーディオ信号を受信し、その時間ドメイン入力オーディオ信号を、複数のサブバンドに変換し、各サブバンドは異なる周波数スペクトルを有する(例えば、それらは時間/周波数タイルである)。各ブロック/フレームのサブバンドは、バンド化ユニット102に入力され、バンド化ユニット102は、心理音響モデルに従ってブロック/フレームのサブバンドをバンドに組み合わせ、バンド化されたパワー110(例えば、dBで表現されるバンド化されたパワー)を出力する。フィルターバンク101によって出力されたサブバンドは、マイクロフォン共分散ベクトル112を生成して出力する方向検出ユニット104にも入力される。一部の実施形態では、各バンドに対して1つの共分散ベクトルがあり、バンド化ユニット102及び方向検出ユニット104において、共通のバンディング行列が使用される。一部の実装では、バンド化ユニット102と方向検出ユニット104は、デシベル単位におけるバンド・パワーと各バンドの共分散ベクトルとを生成する単一のユニットである。
【0028】
[0034] バンド・パワー110は、機械学習分類器103に入力される。実施形態では、機械学習分類器103は、事前に訓練されたニューラル・ネットワーク分類器であって複数のクラスの確率111を推定及び出力するものであり、クラスは、各ブロック/フレーム及び各バンドに対するスピーチ・クラス、静的ノイズ・クラス、非静止ノイズ・クラス、及び残響クラスを含むがこれらに限定されない。一部の実施形態では、静止ノイズ・クラスは、スピーチ/ノイズ指向性モデル105及びノイズ・レベル・モデル106を動作させるために使用される。
【0029】
[0035] 以下の開示では、機械学習分類器は、スピーチ及び静的ノイズの確率を推定して出力することを仮定している。機械学習分類器が残響の確率を出力する実施形態では、スピーチ、静的ノイズ、非静的ノイズ、及び残響の推定された確率は、残響をノイズから分離するために使用される。一部の実施形態では、残響として分類される如何なる時間-周波数タイルも、スピーチ/ノイズ指向性モデル105やノイズ・レベル・モデル106に加えられない。
【0030】
[0036] 確率111は、マイクロフォン共分散ベクトル112とともにスピーチ/ノイズ指向性モデル105に入力される。確率111は、バンド化されたパワー110とともに、スピーチ/ノイズ・レベル・モデル106にも入力される。各バンド及び各ブロック/フレームについて、スピーチ/ノイズ指向性モデル105は、マイクロフォン共分散ベクトル112に基づいて、各バンドのスピーチ及びノイズに対するそれぞれの平均及び/又は共分散114を推定及び出力する。ノイズ・レベル・モデル106は、各ブロック/フレームについて、各バンドのノイズ・パワーの平均及び分散113を推定して出力する。一部の実施形態では、ノイズ・レベル・モデル106は、スピーチの平均及び分散も出力する。
【0031】
[0037] ノイズ抑制ゲイン・ユニット107は、スピーチ/ノイズ指向性モデル105とノイズ・レベル・モデル106の出力113,114、バンド化されたパワー110、及びマイクロフォン共分散ベクトル112それぞれを受け取る。ノイズ抑制ゲイン・ユニット107は、乗算ユニット108により使用される抑制ゲインを計算して出力し、フィルターバンク101により出力されるサブバンドをスケーリングして、各サブバンドのノイズを抑制する。その後、サブバンドは、インバース・フィルターバンク109によって時間ドメイン出力オーディオ信号に変換される。以下、システム100の各構成要素を更に詳細に説明する。一部の実施形態では、機械学習分類器103の出力は、ノイズ・ゲインとして直接的に、又はノイズ抑制ゲインを計算するために使用される。
【0032】
[0038] 機械学習分類器
上述したように、機械学習分類器103は、バンド化されたパワー110を入力として取り、出力として、次のように与えられるスピーチとノイズの確率111を提供する:
【0033】
【数1】
ここで、tはブロック/フレーム番号であり、fはバンド・インデックスであり、下付の“s”はスピーチを表し、下付の“n”はノイズを表す。一部の実施形態では、ノイズは静的ノイズであり、これはある仮定に基づいており、その仮定では、関心のある話者は1人であり、あまり動き回らず、従ってノイズ・フィールドは比較的静的である。これらの仮定に反する場合、105と106によって実行されるモデリングは不適切になる可能性がある。一部の実施形態では、機械学習分類器103の出力は、非静的ノイズ及び残響の確率、ノイズ抑制利得ユニット107によって直接使用できるノイズ抑制ゲインも含む可能性がある。
【0034】
[0039] 図示の例では、機械学習分類器103はニューラル・ネットワーク(NN)を含む。例示的なNN 103への入力は、現在のフレームの61個のバンド化されたパワーを含み、入力線形密度層(input linear dense layer)は、バンド化されたパワーを256個の特徴にマッピングする。256個の特徴は、それぞれが256個の隠しユニットを含むGRU層のセットを通過し、最終的に、幾つかの非線形カーネルを有する高密度層(dense layer)に至る。NN 103は、softmax関数を使用して確率に変換される、各クラス及び各バンドの相対的な重みを出力する。NN 103は、ノイズが混合されたラベル付き音声を使用し、クロス・エントロピーをコスト関数として使用して訓練される。実施形態では、ニューラル・ネットワークの訓練にアダム(Adam)オプティマイザが使用されている。機械学習分類器の他の例は、k-最近傍法、サポート・ベクター・マシン、又は決定木を含むが、これらに限定されない。
【0035】
[0040] 実施形態では、NN 103は次のようにして訓練されることが可能である:
1.近接マイクで録音されたドライ・クリーン・スピーチのセット(a set of close-mic recorded dry clean speech)を取得する。例えば、VCTK(Centre for Speech Technology Voice Cloning Toolkit)が使用される;
2.ノイズ・データのセットを取得する。例えば、http://research.google.com/audioset/ において利用可能なAudioSetデータが使用される;及び
3.訓練プロセスが始まる前に、スピーチ及びノイズ・データの特徴を抽出する。例えば、61個のバンド・エネルギー(dB単位)が、例えば、50Hz及び8000Hzの間のバンド間隔に対して、例えば50Hzのレートで算出される。
【0036】
4.特徴抽出プロセスの一部分として:
a.各スピーチ・ベクトルのスピーチ・パワーの測定値(measure)を決定する。例えば、スピーチ・ファイルは、音声アクティビティ検出器(voice activity detector,VAD)を介して受け渡され、VADを通過する全ての音声のスピーチに対する平均A-加重パワー(mean A-weighted power)が計算される(例えば、dBFS);及び
b.各ノイズ・ベクトルのノイズ・パワーの測定値を決定する。例えば、平均A-加重パワー(例えば、dBFS)がベクトルにわたって計算される。
【0037】
5.各訓練エポックにおける各スピーチ・ベクトルに関し:
a.そのスピーチに関連するノイズ・データセットから、ランダム・ノイズ・ベクトルを選択する;
b.スピーチとノイズを混合するランダムSNRを引き出す。例えば、平均値が例えば平均が20dB SNRであり標準偏差が例えば10dB SNRである正規分布から行われる;
c.選択したSNRからのスピーチとノイズを混合するゲイン(dB)、事前に決定されたスピーチ・パワー(S)、及び事前に決定されたノイズ・パワー(N)をgain=SNR-S+N に従って決定する;
d.スピーチに残響(reverb)を適用し、時間-周波数タイルの有意リバーブ(time-frequency tiles significant reverb)が加えられている中で録音する;
e.与えられたゲインを用いて、反響したスピーチとノイズを混合する。特徴はdBスケールにおけるものであるので、「混合」は、各々の時間-周波数タイルにおいて、反響スピーチ・パワーとゲイン適用ノイズ・パワーのmax()を取ることによって近似することができる。そうしている間に、どの時間周波数タイル・ノイズが、最終的に反響スピーチよりも支配的になるかを記録する。訓練中にNNに提示する最終的な訓練ベクトルは、上記の手順の間に各時間-周波数タイルでノイズ、スピーチ、又は残響が支配的であるかどうかに基づくグランド・トゥルース・クラス・ラベルとともに、フレーム当たり61個のバンド・エネルギーで構成されている;及び
f.訓練ベクトルはネットワークに示され、上記の手順の際に算出されたグランド・トゥルースに対してクロス・エントロピー損失を下降させる。
【0038】
[0041] マイクロフォン共分散行列
一部の実施形態では、フィルターバンク101は短時間フーリエ変換(STFT)を用いて実装される。Xt(k)を、全てのマイクロフォン入力に対するブロック/フレームtのSTFTのk番目のビン・データ(サブバンド)であるとする。Xt(k)は長さNのベクトルであり、ここで、Nはマイクロフォンの数であり、Mはサブバンドの数であり、αは、過去の及び推定された共分散の寄与を重み付けする加重因子である。リアル・タイム・オーディオ処理では、バンドfのマイクロフォン共分散は以下により計算される:
【0039】
【数2】
ここで、B(f)は、バンドfに属する全てのSTFTビン(即ち、サブバンド)のセットである。
【0040】
[0042] 式[2]及び[3]は、「矩形バンド化(rectangular banding)」について成立することに留意すべきであり、各サブバンドは1というゲインで正確に1つの出力バンドに貢献する。一般に、レンジ[0,1]の中に何らかのウェイトwkfが存在し、これは入力サブバンドkが出力バンドfにどの程度貢献するかを示す。1つのサブバンドkに対して、全ての重みwkfは、全てのバンドfにわたる合計が1になる必要がある。このようにして、任意の形状のバンディングを実行することが可能である。例えば、線形、log、又はMel周波数における余弦又は三角形のバンディングが、矩形バンディングに加えて使用されることが可能である。
【0041】
【数3】
[0043] 一実施形態では、バンド化されたパワーはフィルターバンク101から直接的に算出することが可能である。例えば、不均一フィルターバンクであり、これは組み込まれたバンディング・スキームを有する。そのような実施形態では、デシメーションは使用されず、ブロック・レートはブロック・フレームtを定める。
【0042】
[0044] 表記をシンプルにするために、正規化された共分散行列は実数ベクトル112vt,fにアレンジされ、なぜなら共分散行列はエルミート(Hermitian)であり、その対角要素は実数だからである。正規化された共分散は、共分散行列をそのトレースで除算したものであり、その結果、それは方向のみを表し、如何なるレベル成分も除去される。
【0043】
[0045] この共分散行列の要素をcm,nと表すならば、3マイクロフォン・システムに対するリ・アレンジされたベクトルは、次のように与えられ、ここで、m及びnは共分散行列要素のインデックスである:
【0044】
【数4】
[0046] 一部の実施形態では、vt,fは正規化される。より多くの又はより少ないマイクロフォンを備えるシステムは、より多くの又はより少ない要素を有することになり、従って本システムは任意の数のマイクロフォンを備えるシステムに対してスケーラブルである。
【0045】
[0047] スピーチ/ノイズ指向性モデル
一部の実施形態では、スピーチ/ノイズ指向性モデル105は、共分散ベクトル(バンドごとに1つ)と、機械学習分類器103によって出力された確率111とを入力として受け取り、vt,fの平均及び/又は共分散行列を推定する。vt,fの平均及び/又は共分散行列を推定するための少なくとも2つの実施形態が存在し、それらは次のように述べられる:
1.スピーチとノイズの平均のみを推定し、推定された平均を方向性モデルとして使用する:
【0046】
【数5】
[0048] 式 [7]及び[8]において、μn(t,f)及びμs(t,f)はそれぞれブロック/フレームt及び周波数バンドfに対するノイズ及びスピーチの指向性モデルである。これらは、正規化されたマイクロフォン共分散行列の平均である。式[7]及び[8]並びに以降で使用されるwは、時間平均化ウィンドウの長さを制御する重み付け係数であり、スピーチとノイズ又は平均と分散で異なる可能性があることに留意されたい。
【0047】
2.ノイズ及びスピーチの平均及び共分散ベクトルは空間モデルを定義し、それは次のようにして計算することができる:
【0048】
【数6】
[0049] ノイズ・レベル・モデル
ノイズ・レベル・モデル106は、バンド化されたパワー110(Lt,f)をdBで入力として受け取り、バンドfとブロック/フレームtに対するノイズの平均と分散を推定する:
【0049】
【数7】
[0050] 式[7]-[14]では、確率過程がエルゴード的(ergodic)であり且つ或る期間にわたって静的であるという仮定の下で、確率変数(レベル又は方向性の何れか)の平均と共分散を推定するために、時間平均が使用されることに留意されたい。平均は、一次ロー・パス・フィルター・モデルを使用して達成され、この場合において、各フレームについて、ロー・パス・フィルターへの入力(平均又は共分散)は、スピーチ又はノイズの確率によって重み付けされる。
【0050】
[0051] レベル・モデルに基づくノイズ抑制ゲインの計算
図2は、一部の実施形態による、ノイズ・レベル・モデル106に基づくノイズ抑制ゲインGL(b,f)の計算を示す図である。縦軸はdB単位のゲインであり、横軸はdB単位のレベルである。図2において、G0は最大抑制ゲインであり、ゲイン・ランプ(gain ramp)の傾斜β及びkはチューニング・パラメータである:
【0051】
【数8】
[0052] 現在の信号対雑音レベルが事前に定義された信号対雑音比の閾値(式[19]参照)よりも大きい場合、雑音抑制ゲインはGLであり、それ以外の場合、Gsを計算するためにスピーチ/ノイズ指向性モデル105が使用される。システムは、少なくとも2つの方法のうちの何れかを使用して、バンドfとブロック/フレームtに対するスピーチの確率を計算する:
1.正規化されたマイクロフォン共分散ベクトルvt,fの平均とスピーチ/ノイズ指向性モデル105を使用して、スピーチの確率を計算する:
【0052】
【数9】
2.平均及びベクトルvt,fを指向性モデルとして使用して(ベクトルvt,fの要素は同時ガウシアンであると仮定している)、スピーチの確率を計算する:
【0053】
【数10】
ここで、N(x,μ,Σ)は多変数同時ガウシアン確率密度関数である。

[0053] 指向性モデルに基づくノイズ抑制ゲインの計算
図3は、スピーチ/ノイズ指向性モデル105に基づくノイズ抑制ゲインの計算を示す図である。縦軸はdB単位のゲインであり、横軸はスピーチの確率であり、ノイズ抑制ゲインは次のようにして与えられる:
【0054】
【数11】
ここで、γ及びksはチューニング・パラメータである。
【0055】
[0054] 最終的な抑制ゲインG(t,f)は、各バンドfと各ブロック/フレームtに対して(例えば、ノイズ抑制ゲイン・ユニット107により)次のようにして計算される:
【0056】
【数12】
ここで、SNR0は事前に定義された信号対雑音比の閾値であり、SNR~はブロック/フレームtの推定された信号対雑音比である。
【0057】
[0055] 一部の実施形態では、[19]における推定されたSNR~を取得することは、VAD(Voice activity detector)の出力を使用して、自動ゲイン制御(automatic gain control,AGC)構成要素(不図示)を駆動して、スピーチ・レベルを事前に定義された電力レベル(dB)と同等にし、その事前に定義された電力レベルから、推定されたノイズ・レベルμL(t,f)を減算し、スピーチ・レベルを、ノイズ推定で使用したものと同様な方法を使用して推定することによって、行うことが可能である:
【0058】
【数13】
SNR~は次のようにして計算される:
【0059】
【数14】
[0056] 最終抑制ゲインG(t,f)は乗算ユニット108で使用され、フィルターバンク101により出力されるサブバンドをスケーリングして、各サブバンドのノイズを抑制する。例えば、ゲインG(t,f)は、バンドfに属する全てのサブバンドkに適用される:
【0060】
【数15】
ここで、Yt(k)は乗算ユニット108の出力である。
【0061】
[0057] 乗算ユニット108の出力は、その後、インバース・フィルターバンク109によって、時間ドメイン出力オーディオ信号に変換され、ノイズ抑制された出力信号に到達する。
【0062】
[0058] プロセス例
図4A及び図4Bは、一部の実施形態による、指向性及びディープ・ニューラル・ネットワークを使用した音声通信におけるノイズ推定及び抑制のためのプロセス400のフロー図である。プロセス400は、図5に示すシステム500を使用して実装することが可能である。
【0063】
[0059] プロセス400は、多数のブロック/フレームを含む入力オーディオ信号を受信することを開始する(401)。各ブロック/フレームについて、プロセス400は、ブロック/フレームをサブバンド(複数)に変換し(ここで、各サブバンドは他のサブバンドとは異なるスペクトルを有する)(402)、サブバンド(複数)をバンド(複数)に結合して各バンドのパワーを決定し(403)、サブバンドに基づいてマイクロフォン共分散を決定する(404)ことに続く。
【0064】
[0060] プロセス400は、各バンド及び各ブロック/フレームごとに、機械学習分類器(例えば、ニューラル・ネットワーク)を使用して、スピーチとノイズのそれぞれの確率を推定し(405)、指向性モデルを使用して、スピーチとノイズの平均のセット、又は、スピーチとノイズの平均と共分散のセットを、マイクロフォン共分散と確率に基づいて推定し(406)、レベル・モデルを使用して、確率とバンド・パワーに基づいて、ノイズ・パワーの平均と分散を推定し(407)、指向性モデルの第1の出力に基づいて、第1のノイズ抑制ゲインを計算し(408)、レベル・モデルの第2の出力に基づいて、第2のノイズ抑制ゲインを決定し(409)、第1のノイズ抑制ゲイン、又は第2のノイズ抑制ゲイン、又は第1のノイズ抑制ゲインと第2のノイズ抑制ゲインの合計のうちの1つを、入力オーディオ信号の信号対雑音比に基づいて選択する(410)ことに続く。
【0065】
[0061] プロセス400は、各バンドの各サブバンドを、バンドに対して選択された第1又は第2のノイズ抑制ゲインによってスケーリングし(411)、スケーリングされたサブバンドを出力オーディオ信号に変換する(412)ことに続く。
【0066】
[0062] システム・アーキテクチャ例
図5は、実施形態に従って図1-5に関連して説明された特徴とプロセスを実装するための例示的なシステムのブロック図を示す。システム500はオーディオを再生することが可能な任意のデバイスを含み、そのデバイスは、スマート・フォン、タブレット・コンピュータ、ウェアラブル・コンピュータ、車両コンピュータ、ゲーム・コンソール、サラウンド・システム、キオスクを含むがこれらに限定されない。
【0067】
[0063] 図示されるように、システム500は中央処理ユニット(CPU)501を含み、CPUは、例えばリード・オンリー・メモリ(ROM)502に格納されたプログラムや、例えば記憶ユニット508からランダム・アクセス・メモリ(RAM)503にロードされたプログラムに従って、様々な処理を実行することが可能である。RAM 503には、CPU 501が様々な処理を行う際に必要なデータも、必要に応じて格納される。CPU 501、ROM 502、RAM 503はバス509を介して互いに接続されている。入/出力(I/O)インターフェース505もバス504に接続されている。
【0068】
[0064] 次の構成要素:キーボード、マウスなどを含む可能性がある入力ユニット506;液晶ディスプレイ(LCD)のようなディスプレイと1つ以上のスピーカーを含む可能性がある出力ユニット507;ハード・ディスクを含む記憶ユニット508、又は適切な他の適切なストレージ・デバイス;ネットワークカード(例えば、有線又は無線)のようなネットワーク・インターフェース・カードを含む通信ユニット509が、I/Oインターフェース505に接続されている。
【0069】
[0065] 一部の実装では、入力ユニット506は、(ホスト・デバイスによって異なる)異なる位置にある1つ以上のマイクロフォンを含み、様々な形式(例えば、モノラル、ステレオ、空間、イマーシブ、その他の適切な形式)でオーディオ信号のキャプチャを可能にする。
【0070】
[0066] 一部の実装では、出力ユニット507は、様々な数のスピーカーを備えるシステムを含む。図5に示すように、出力ユニット507は(ホスト・デバイスの機能に応じて)様々な形式(例えば、モノラル、ステレオ、イマーシブ、バイノーラル、その他の適切な形式)でオーディオ信号をレンダリングすることができる。
【0071】
[0067] 通信ユニット509は、他のデバイスと(例えば、ネットワーク経由で)通信するように構成されている。必要に応じて、ドライブ510もI/Oインターフェース505に接続される。磁気ディスク、光ディスク、磁気-光ディスク、フラッシュ・ドライブのような取り外し可能なメディア511又は適切な他の取り外し可能な媒体がドライブ510に搭載されており、その結果、そこから読み込まれるコンピュータ・プログラムがストレージ・デバイス508に必要に応じてインストールされる。システム500は、上記の構成要素を含むように説明されているが、実際のアプリケーションでは、これらの構成要素のうちの幾つかを追加、削除、及び/又は置換することが可能であり、これらの全ての変更又は代替は、全て本開示の範囲内に含まれることを、当業者は理解するであろう。
【0072】
[0068] 本件で説明されるシステムの態様は、デジタル又はデジタル化されたオーディオ・ファイルを処理するための適切なコンピュータ・ベースのサウンド処理ネットワーク環境で実装されることが可能である。適応オーディオ・システムの部分は、所望の任意数の個別マシンを含む1つ以上のネットワークを含む可能性があり、コンピュータ間で伝送されるデータをバッファリングしてルーティングする役割を果たす1つ以上のルーター(不図示)を含む。このようなネットワークは、様々な異なるネットワーク・プロトコルにおいて構築される可能性があり、インターネット、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、又はそれらの任意の組み合わせである可能性がある。
【0073】
[0069] 本開示の例示的な実施形態に従って、上記のプロセスは、コンピュータ・ソフトウェア・プログラムとして、又はコンピュータ読み取り可能な記憶媒体において実装される可能性がある。例えば、本開示の実施形態は、マシン読み取り可能な媒体に有形的に具現化されたコンピュータ・プログラムを含むコンピュータ・プログラム製品、方法を実行するためのプログラム・コードを含むコンピュータ・プログラムを含む。このような実施形態では、コンピュータ・プログラムは、図5に示すように、通信ユニット509を介してネットワークからダウンロードされて搭載され、及び/又はリムーバブル・メディア511からインストールされる可能性がある。
【0074】
[0070] 一般に、本開示の様々な例示的な実施形態は、ハードウェア又は特殊目的回路(例えば、制御回路)、ソフトウェア、ロジック、又はそれらの任意の組み合わせで実装されることが可能である。例えば、上記で議論されたユニットは、制御回路(例えば、図5の他の構成要素と組み合わせたCPU)によって実行することが可能であり、従って、制御回路は本開示で説明される動作を実行することが可能である。一部の態様は、ハードウェアで実装されることが可能である一方、他の態様は、ファームウェア又はソフトウェアであって、コントローラ、マイクロプロセッサ又はその他の演算デバイス(例えば、制御回路)によって実行されることが可能であるものにおいて実装される可能性がある。本開示の例示的な実施形態の様々な側面は、ブロック図、フローチャートとして、又は何らか他の図式表現を使用して説明及び記述されているが、本件で説明されているブロック、装置、システム、技術又は方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特殊目的の回路又はロジック、汎用ハードウェア又はコントローラ又はその他の演算デバイス、又はそれらの何らかの組み合わせで実装されてもよい、ということは理解されるであろう。
【0075】
[0071] 更に、フローチャートに示されている様々なブロックは、方法ステップとして、及び/又はコンピュータ・プログラム・コードのオペレーションの結果として生じるオペレーションとして、及び/又は関連する機能を実行するために構築される複数の結合された論理回路要素として、見ることができる。例えば、本開示の実施形態は、マシン読み取り可能な媒体に有形的に具現化されたコンピュータ・プログラムを含むコンピュータ・プログラム製品、上記の方法を実行するように構成されたプログラム・コードを含むコンピュータ・プログラムを含む。
【0076】
[0072] 本開示の文脈において、マシン読み取り可能な媒体は、命令実行システム、装置、又はデバイスによる使用のための、又はそれに関連する使用のためのプログラムを含む、又は格納することが可能な任意の有形媒体である可能性がある。マシン読み取り可能な媒体は、マシン読み取り可能な信号媒体又はマシン読み取り可能な記憶媒体である可能性がある。マシン読み取り可能な媒体は、非一時的なものである可能性があり、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体的なシステム、装置、デバイス、又はこれらの適切な任意の組み合わせを含む可能性があるが、これらに限定されない。マシン読み取り可能な記憶媒体のより具体的な例は、1つ以上のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能でプログラム可能なリード・オンリー・メモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせを含む。
【0077】
[0073] 本開示の方法を実行するためのコンピュータ・プログラム・コードは、1つ以上のプログラミング言語の任意の組み合わせで記述されてもよい。これらのコンピュータ・プログラム・コードは、汎用コンピュータのプロセッサ、専用コンピュータ、又はその他のプログラム可能なデータ処理装置であって制御回路を有するものに提供されることが可能であり、その結果、プログラム・コードは、コンピュータのプロセッサ又はその他のデータ処理装置によって実行されると、フローチャート及び/又はブロック図で指定されている機能/動作が実行されることを引き起こす。プログラム・コードは、完全にコンピュータ上で、部分的にコンピュータ上で、スタンド・アロンのソフトウェア・パッケージとして、部分的にコンピュータ上で且つ部分的にリモート・コンピュータ上で、又は、完全にリモート・コンピュータ又はサーバー上で、又は、1つ以上のリモート・コンピュータ及び/又はサーバーに分散されて実行される可能性がある。
【0078】
[0074] 本件明細書は、多くの具体的な実装の詳細を含んでいるが、これらは、クレームされることが可能な範囲に関する制限として解釈されるべきではなく、むしろ特定の実施形態に固有である可能性がある特徴の説明として解釈されるべきである。個別の実施形態の文脈で本件明細書に記載されている特定の特徴は、単独の実施形態における組み合わせの中で実現されることも可能である。逆に、単独の実施形態の文脈で記載されている様々な機能もまた、複数の実施形態で個別的に、又は任意の適切なサブ・コンビネーションにおいて実現されることが可能である。更に、特徴は、特定の組み合わせで動作するものとして上述され且つ当初はそのようにクレームされている可能性さえあるが、場合によっては、クレームされている組み合わせの中の1つ以上の特徴が、組み合わせから摘出されることが可能であり、クレームされる組み合わせは、サブ・コンビネーション又はサブ・コンビネーションの変形例を対象としている可能性がある。図示されている論理フローは、所望の結果を得るために、図示の特定の順序、又は連続的な順序を必須としていない。更に、他のステップが提供されてもよいし、説明されているフローからステップが削除されてもよいし、説明されているシステムに対して他の構成要素が追加又は削除されてもよい。従って、その他の実装は以下のクレームの範囲内にある。
図1
図2
図3
図4A
図4B
図5
【国際調査報告】