(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】最小限のトレーニングを使用した一般化されたステレオ背景からのパニングされたソースの分離
(51)【国際特許分類】
G10L 21/0272 20130101AFI20250109BHJP
【FI】
G10L21/0272 100Z
(21)【出願番号】P 2022575892
(86)(22)【出願日】2021-06-11
(86)【国際出願番号】 US2021037034
(87)【国際公開番号】W WO2021252912
(87)【国際公開日】2021-12-16
【審査請求日】2023-02-06
(32)【優先日】2020-06-11
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2020-06-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】マスター,アーロン スティーヴン
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2018-031910(JP,A)
【文献】特開2009-218663(JP,A)
【文献】特開2006-349840(JP,A)
【文献】国際公開第2017/141542(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/02-21/0364
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
方法であって、
1つ以上のプロセッサを用いて、複数の周波数サブバンドの複数の目標ソースのレベル及び空間分布から、第1サンプルセットの周波数ドメイン表現を取得するステップと、
前記1つ以上のプロセッサを用いて、前記複数の周波数サブバンドの複数の背景レベル及び空間分布から、第2サンプルセットの周波数ドメイン表現を取得するステップと、
前記1つ以上のプロセッサを用いて、前記第1サンプルセットと前記第2サンプルセットを加算して、結合サンプルセットを生成するステップと、
前記1つ以上のプロセッサを用いて、前記複数の周波数サブバンドの各サブバンドについて、前記結合サンプルセットのサンプル毎に、レベル及び空間パラメータを検出するステップと、
前記複数の周波数サブバンドの各サブバンドの中で、検出したレベル及び空間パラメータを、前記目標ソース及び背景のそれら各々のレベル及び空間分布により重み付けするステップと、
前記1つ以上のプロセッサを用いて、前記結合サンプルセットの各サンプルについて前記複数の周波数サブバンド内の重み付けしたレベル及び空間パラメータと信号対雑音比(SNR)をテーブルに格納するステップと、
前記1つ以上のプロセッサを用いて、前記重み付けしたレベルパラメータ、空間パラメータとサブバンドにより、前記テーブルを再インデックス化するステップであって、その結果、前記テーブルは前記重み付けされたレベル及び空間パラメータとサブバンドの目標パーセンタイルSNRを含み、量子化された検出した空間及びレベルパラメータとサブバンドの所与の入力について、前記量子化された検出した空間及びレベルパラメータとサブバンドに関連する推定SNRが前記テーブルから取得される、ステップと、
を含む方法。
【請求項2】
1つ以上の検出されたレベル、1つ以上の空間パラメータ又は周波数サブバンドに関してインデックス化されたデータを平滑化するステップ、を更に含む請求項1に記載の方法。
【請求項3】
前記周波数ドメイン表現は短時間フーリエ変換(STFT)ドメイン表現である、請求項1又は2に記載の方法。
【請求項4】
前記空間パラメータが混合オーディオ信号の2つのチャネル間のパニング及び位相差を含む、請求項1~3のいずれかに記載の方法。
【請求項5】
前記目標ソースが定べき法則を使用して振幅パニングされる、請求項1~4のいずれかに記載の方法。
【請求項6】
前記目標パーセンタイルSNRが25パーセンタイルである、請求項1~5のいずれかに記載の方法。
【請求項7】
方法であって、
1つ以上のプロセッサを使用して、2チャネルの時間ドメインオーディオ信号の1つ以上のフレームを複数の時間周波数タイルを含む時間周波数ドメイン表現に変換するステップであって、前記時間周波数ドメイン表現の周波数ドメインは複数のサブバンドにグループ化された複数の周波数ビンを含む、ステップと、
各時間周波数タイルについて、
前記1つ以上のプロセッサを使用して、時間周波数タイルの空間パラメータ及びレベルパラメータを計算するステップと、
前記1つ以上のプロセッサを使用して、パニングされた目標ソースについてトレーニングされた空間レベルフィルタリング(SLF)ルックアップテーブル
から、計算された前記空間パラメータ及び前記レベルパラメータに関連付けられた、時間周波数タイルの各周波数ビンのパーセンタイル信号対雑音比(SNR)を取得するステップであって、前記SLFルックアップテーブル
は請求項1~6のいずれか一項に記載の方法に
おいて再インデックス化するステップの後に得られたテーブルである、ステップと、
前記1つ以上のプロセッサを使用して、前記ビンの前記パーセンタイルSNRに基づく、前記ビンの分数値を生成するステップと、
前記1つ以上のプロセッサを使用して、前記時間周波数タイルの前記ビンの前記分数値を適用して、推定オーディオソースの修正時間周波数タイルを生成するステップと、
を含む方法。
【請求項8】
前記1つ以上のプロセッサを使用して、前記修正時間周波数タイルを複数の時間ドメインオーディオソース信号に変換するステップ、を更に含む請求項7に記載の方法。
【請求項9】
2チャネル時間ドメインオーディオ信号の1つ以上のフレームを周波数ドメイン信号に変換するステップは、前記2チャネル時間ドメインオーディオ信号に短時間周波数変換(STFT)を適用するステップを含む、請求項7又は8に記載の方法。
【請求項10】
複数の周波数ビンがオクターブサブバンド又はほぼオクターブサブバンドにグループ化される、請求項7~9のいずれかに記載の方法。
【請求項11】
機器であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに請求項1~10のいずれかに記載の方法を実行させる命令を格納しているメモリと、
を含む機器。
【請求項12】
命令を格納している非一時的コンピュータ可読記憶媒体であって、前記命令は、1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに、請求項1~10のいずれかに記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、米国仮特許出願番号第63/038,046号、2020年6月11日出願、及び欧州特許出願番号第20179449.2号、2020年6月11日出願、の優先権の利益を請求する。これらの出願は参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、概してオーディオ信号処理、特にオーディオソース分離技術に関するものである。
【背景技術】
【0003】
2チャネルオーディオミックス(例えば、ステレオミックス)は、複数のオーディオソースを一緒にミックスすることで作成される。2チャネルミックスから個々のオーディオソースを検出して抽出することが望ましい例は幾つかあり、以下を含むが、これに限定されない:オーディオソースを2チャネルミックスに再配置されるリミックスアプリケーション、オーディオソースをサラウンドサウンドミックスに配置又は再配置するアップミキシングアプリケーション、特定のオーディオソース(例えば、スピーチ/ダイアログ)をブーストして2チャネル又はサラウンドサウンドミックスに戻すオーディオソース拡張アプリケーションなどがある。
【発明の概要】
【0004】
開示される実装の詳細は、添付の図面及び以下の説明において説明される。他の特徴、目的、及び利点は、説明、図面、及び請求項から明らかになる。
【0005】
実施形態では、方法は、
1つ以上のプロセッサを用いて、複数の周波数サブバンドの複数の目標レベル及び空間分布から、第1サンプルセットの周波数ドメイン表現を取得するステップと、
前記1つ以上のプロセッサを用いて、前記複数の周波数サブバンドの複数の背景レベル及び空間分布から、第2サンプルセットの周波数ドメイン表現を取得するステップと、
前記1つ以上のプロセッサを用いて、前記第1サンプルセットと前記第2サンプルセットを加算して、結合サンプルセットを生成するステップと、
前記1つ以上のプロセッサを用いて、前記複数の周波数サブバンドの各サブバンドについて、前記結合サンプルセットのサンプル毎に、レベル及び空間パラメータを検出するステップと、
前記複数の周波数サブバンドの各サブバンドの中で、検出したレベル及び空間パラメータを、目標ソース及び背景のそれら各々のレベル及び空間分布により重み付けするステップと、
前記1つ以上のプロセッサを用いて、前記結合サンプルセットの各サンプルについて前記複数の周波数サブバンド内の重み付けしたレベル及び空間パラメータと信号対雑音比(SNR)をテーブルに格納するステップと、
前記1つ以上のプロセッサを用いて、前記重み付けしたレベル及び空間パラメータとサブバンドにより、前記テーブルを再インデックス化するステップであって、その結果、前記テーブルは前記重み付けされたレベル及び空間パラメータとサブバンドの目標パーセンタイルSNRを含み、量子化された検出した空間及びレベルパラメータとサブバンドの所与の入力について、前記量子化された検出した空間及びレベルパラメータとサブバンドに関連する推定SNRが前記テーブルから取得される、ステップと、
を含む。
【0006】
実施形態では、前記方法は1つ以上の検出されたレベル、1つ以上の空間パラメータ又は周波数サブバンドにインデックス化されたデータを平滑化するステップ、を更に含む。
【0007】
実施形態では、前記周波数ドメイン表現は短時間フーリエ変換(STFT)ドメイン表現である。
【0008】
実施形態では、前記空間パラメータが混合オーディオ信号の2つのチャネル間のパニング及び位相差を含む。
【0009】
実施形態では、前記目標ソースは定べき法則を使用して振幅パニングされる。
【0010】
実施形態では、前記目標パーセンタイルSNRは25パーセンタイルである。
【0011】
実施形態では、方法は、
1つ以上のプロセッサを使用して、2チャネルの時間ドメインオーディオ信号の1つ以上のフレームを複数の時間周波数タイルを含む時間周波数ドメイン表現に変換するステップであって、前記時間周波数ドメイン表現の前記周波数ドメインは複数のサブバンドにグループ化された複数の周波数ビンを含む、ステップと、
各時間周波数タイルについて、
前記1つ以上のプロセッサを使用して、空間パラメータ、及び時間周波数タイルのレベルを計算するステップと、
前記1つ以上のプロセッサを使用して、時間周波数タイルの各周波数ビンのパーセンタイル信号対雑音比(SNR)を生成するステップと、
前記1つ以上のプロセッサを使用して、前記ビンのSNRに基づく、前記ビンの分数値を生成するステップと、
前記1つ以上のプロセッサを使用して、前記時間周波数タイルの前記ビンの前記分数値を適用して、推定オーディオソースの修正時間周波数タイルを生成するステップと、
を含む。
【0012】
実施形態では、複数の時間周波数タイルの複数のフレームは複数のチャンクに組み立てられ、各チャンクは複数のサブバンドを含み、方法は、各チャンク内の各サブバンドについて、
1つ以上のプロセッサを使用して、チャンク内の各時間周波数タイルの空間パラメータ及びレベルを計算するステップと、
前記1つ以上のプロセッサを使用して、時間周波数タイルの各周波数ビンのパーセンタイル信号対雑音比(SNR)を生成するステップと、
前記1つ以上のプロセッサを使用して、前記ビンのSNRに基づく、前記ビンの分数値を生成するステップと、
前記1つ以上のプロセッサを使用して、前記時間周波数タイルの前記ビンの前記分数値を適用して、推定オーディオソースの修正時間周波数タイルを生成するステップと、
を含む。
【0013】
実施形態では、前記方法は、前記1つ以上のプロセッサを使用して、前記修正時間周波数タイルを複数の時間ドメインオーディオソース信号に変換するステップ、を含む。
【0014】
実施形態では、前記空間パラメータが、時間周波数タイルの各々について、チャネル間のパニング及び位相差を含む。
【0015】
実施形態では、前記分数値が、パニングされた目標ソースについてトレーニングされた空間レベルフィルタリング(SLF)システムのルックアップテーブル又は関数から取得される。
【0016】
実施形態では、2チャネル時間ドメインオーディオ信号の1つ以上のフレームを周波数ドメイン信号に変換するステップは、前記2チャネル時間ドメインオーディオ信号に短時間周波数変換(STFT)を適用するステップを含む。
【0017】
実施形態では、複数の周波数ビンが、オクターブサブバンド又はほぼオクターブサブバンドにグループ化される。
【0018】
本願明細書に開示される特定の実施形態は、以下の利点のうちの1つ以上を提供する。開示された実施形態は、ソースと幾つかの背景から構成されるミックスの記録から目標ソースを抽出(ソース分離)することを可能にする。より具体的には、開示された実施形態は、テレビや映画でダイアログが混合される最も一般的な方法である振幅パニングを使用して(純粋に又はほとんど)混合されたソースを抽出することを可能にする。そのようなソースを抽出することができることは、ダイアログの強化(ミックスでダイアログを抽出してからブーストする)又はアップミックスを可能にする。さらに、ソースの高品質の推定は、トレーニングデータ又は遅延がほとんどない状態で抽出される場合があり、これはソース分離に対する他のほとんどのアプローチとは異なる特徴である。
【図面の簡単な説明】
【0019】
以下で参照される添付の図面において、種々の実施形態は、ブロック図、フローチャート、及び他の図で示される。フローチャート又はブロック内の各ブロックは、指定された論理機能を実行するための1つ以上の実行可能命令を含むモジュール、プログラム、又はコードの部分を表してよい。これらのブロックは方法のステップを実行するために特定の順序で示されるが、それらは、必ずしも、図示された順序に厳密に従い実行される必要はない。例えば、それらは、各々の動作の特性に依存して、逆の順序で又は同時に実行されるかもしれない。留意すべきことに、ブロック図及び/又はフローチャートの中の各ブロック、及びそれらの組合せは、指定された機能/動作を実行する専用ソフトウェアベース又はハードウェアベースシステムにより、又は専用ハードウェア及びコンピュータ命令の組合せにより、実施されてよい。
【0020】
【
図1】実施形態に従って、時間ドメイン混合を説明するソース分離のための信号モデルを示す。
【0021】
【
図2】実施形態に従って、パニングされたソースを抽出するようにトレーニングされた空間レベルフィルタ(SLF)ルックアップテーブルを生成するシステムのブロック図である。
【0022】
【
図3】実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFルックアップテーブルの入力と出力の視覚的説明である。
【0023】
【
図4】実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFを使用して、2チャネルミックスから空間的に識別可能なサブバンドオーディオソースを検出及び抽出するためのシステムのブロック図である。
【0024】
【
図5】実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFルックアップテーブルを生成するための処理のフロー図である。
【0025】
【
図6】実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFを使用して、2チャネルミックスから空間的に識別可能なサブバンドオーディオソースを検出及び抽出する処理のフロー図である。
【0026】
【
図7】実施形態に従って、
図1~6を参照して説明されたシステム及び処理を実装するための装置アーキテクチャのブロック図である。
【0027】
種々の図面で使用される同じ参照符号は同様の要素を示す。
【発明を実施するための形態】
【0028】
信号モデル及び仮定
図1は、実施形態に従って、時間ドメイン混合を説明するソース分離のための信号モデル100を示す。信号モデル100は、目標ソースs
1と背景bを、文脈に応じて「左チャネル」(x
1又はX
L)と「右チャネル」(x
2又はX
R)と呼ばれる2つのチャネルに混合(mixing)する基本的な時間ドメインを想定する。この2つのチャネルは、以下を推定するソース分離システム101に入力される。
【数1】
【0029】
目標ソースs
1は、定べき法則(constant power law)を使用して振幅パニングされると仮定される。他のパニング法則は定べき法則に変換できるため、信号モデル100での定べき法則の使用は制限されない。定べき法則パニングでは、ソースs
1、左/右(L/R)チャネルへのミキシングは次のように記述される。
【数2】
これは、短時間フーリエ変換(Short Time Fourier Transform (STFT))ドメインで次式として表すことができる。
【数3】
【0030】
[STFTドメインで続けて、各チャネルへの背景Bの追加は、次のように表される。
【数4】
【0031】
背景Bには、追加のパラメータ∠BとφBが含まれているこれらのパラメータは、各々S1とBの左チャネル位相の位相差、及びSTFT空間の左及び右チャネルにおけるBの位相のチャネル間位相差を記述する。なお、パニングされたソースのチャネル間位相差は定義上0であるため、式[5]及び[6]にφS1パラメータを含める必要はない。目標S1と背景BはSTFT空間で特定の位相関係を共有しないと仮定されるため、∠Bの分布は一様としてモデル化される。
【0032】
目標ソースと背景には重要な空間的違いがある。空間的には、Θ1は特定の単一の値として扱われるが(目標ソースS1の「パニングパラメータ」)、ΘBとΦBは各々統計的分布を持つため、統計モデル(例えば、ベイズ(Bayesian)モデル)を使用してソース分離を行うことができる。
【0033】
その場合を吟味するために、「目標ソース」がパニングされると仮定されることは、Θ1によって特徴づけることができることを意味する。目標ソースのチャネル間位相差は0であると仮定される。また、そのレベルLS=|S1|にも分布があり、少なくともほぼオクターブのサブバンドにわたって既知であると仮定されている。空間情報は、ソースのパニングパラメータによって完全に指定されていると仮定されている。
【0034】
背景Bは、ΘB上に分布し、チャネル間位相差φB上にも分布していると特徴づけられる。また、背景レベルLB=|B|にも分布があり、少なくともほぼオクターブのサブバンドにわたって既知であると仮定されている。
【0035】
このモデルの目的のために、ソースと背景は、両方が「アクティブである」と仮定される時点でのみモデル化されるものとする。この意味で、現在の目的のソースと背景は常に「オン」又は「オフ」であると仮定され、分離は、目標ソースと背景の両方が「オン」であると仮定するものとする。目標ソースがアクティブであるが背景がアクティブでない場合でも、抽出はほぼ完全であることを示すことができる。目標ソースとパニングのパラメータが不明な場合は、当業者に知られている手法を使用して推定することができる。大部分が音楽でるような一部のケースでは、目標ソースと背景の間に調和関係がある場合がある。このような関係は、信号モデル100で個別にモデル化されない。分布は、特定の用途に適した高調波のある程度の重複を含むと想定される。
【0036】
トレーニング処理
図2は、実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFルックアップテーブルを生成するためのシステム200のブロック図である。SLFは、所与のレベル分布と空間パラメータを持つ背景を含むミックスから、所与のレベル分布と指定された空間パラメータを持つ目標ソースを抽出するようにトレーニングされたシステムである。
【0037】
システム200には、目標ソースパラメータデータベース201、目標ソース分布サンプラ202、変換部203、パラメータ検出部204、再インデックス部205、目標SNRセレクタ206、トレーニング済みSLFルックアップテーブル207、背景パラメータデータベース208、背景分布サンプラ209、変換部210が含まれている。分布サンプラ202、209と変換部203、210は、
図2では別々のブロックとして示されるが、実際には、サンプラ202、209と変換部203、210は、目標ソースと背景データベース201、208の両方で動作する単一のモジュール(例えば、ソフトウェアモジュール)に組み合わせることができる。
【0038】
システム200によって実装されるトレーニング手順の目標は、2チャネル入力(例えば、L/Rステレオ入力)が与えられたときに、各STFTドメインビン又はタイルの目標ソースに属するエネルギの相対割合を予測するベイズモデルを作成することである。この目標を達成するために、STFTドメイン内の2チャネル入力に対して検出可能な4つのパラメータが使用される。
【0039】
第1パラメータはbで、おおよそオクターブの周波数サブバンドを表す。このパラメータは、与えられた周波数ビンωからそれが属するサブバンドbへの自明なマッピングによって得られる。サブバンド境界の例を以下に示す。
【0040】
第2パラメータは、各(ω、t)タイルに対して検出された「パニング」であり、次のように定義される:
【数5】
ここで、「左端(full left)」は0、「右端(full right)」はπ/2である。
【0041】
第3パラメータは、各タイルで検出された「位相差」である。これは次のように定義される:
【数6】
これは-πからπの範囲で、0は検出された位相が両方のチャネルで同じであることを意味する。
【0042】
第4パラメータは、各タイルに対して検出された「レベル」であり、次のように定義される:
【数7】
これは、2つのチャネルの「ピタゴラス」の大きさにすぎない。これは、一種のモノのマグニチュードのスペクトログラムと考えることができる。
【0043】
各周波数ビンωは、特定の周波数を表すと理解される。ただし、データは、各周波数ビンωがサブバンドに属する、連続したビンの集合であるサブバンド内にグループ化されることもある。サブバンド内のデータのグループ化は、システムで実行される特定の推定タスクに特に役立つ。実施形態では、オクターブサブバンド又はほぼオクターブサブバンドが使用されるが、他のサブバンド定義が使用される場合もある。バンディングの例には、次のようにバンドエッジを定義するものがあり、値はHz単位で表示される:
【数8】
【0044】
「オクターブ」の定義に厳密に従うと、最も低いバンドが無限小の幅に近づくようなバンドが無限に存在する可能性があるため、有限数のサブバンドを許可するには何らかの選択が必要になることに注意する。実施形態では、最も低いバンドは2番目のバンドと同じサイズになるように選択されるが、他の実施形態では他の規則が使用される場合がある。ここでは、「サブバンド」と「バンド」という用語は同じ意味で使用される場合がある。
【0045】
これらの4つのパラメータに基づいてベイズシステムを構築する方法を理解するには、まず次のベイズの規則を思い出す:
【数9】
【0046】
この場合、トレーニングプロセスの目標は、幾つかの観測を考慮して、各スペクトログラムタイルのSNR上の分布を推定できるようにすることである。観測b、Θ、φ、Uについては前述した。ベイズの法則は以下で与えられる:
【数10】
【0047】
ここでの目標は、式[11]の右辺のすべての量を生成できるベイズシステムをトレーニングし、式[11]の左辺の量を推定できるようにすることである。そのためには、背景上の目標ソース上のレベル分布を考慮することによって、p(SNR)を推定する。
【0048】
p(b,Θ,φ,U|SNR)の条件付確率は、様々なSNRで目標と背景を混合したときの各周波数帯bにおけるパラメータ(Θ、φ、U)の分布から推定される。このデータを生成する手順は、分布サンプラ202、209を使用して既知又は仮定された空間及びレベル分布からサンプリングすることによって、目標ソースと背景各々について、データベース201、208からデータの多くのサンプルを生成することを含む。変換部203、210は、サンプルのプロパティを持つSTFTドメイン値を作成する。
【0049】
目標ソースは特定のパニングパラメータを持つと想定されているため、ここで説明するトレーニング手順では、後で抽出する目標ソースのパニングパラメータを明示的に指定することを思い出す。ここで説明する例の実施形態では、目標ソースがΘ1=π/4を持つと想定しており、これは中央のパニングされたソースに対応する。トレーニングデータを生成する場合、前述のように目標と背景の間にランダムな位相関係が存在すると想定される。実際には、1つの位相値を0に設定し、もう1つを単位円上の様々なサンプルに設定することで実装できる。
【0050】
トレーニングデータを作成するには、変換モジュール203、210によって出力された周波数ドメイン表現を(
図1の信号モデル100に示すように)加算して、結合周波数ドメイン表現を作成する。ベイズトレーニングを実行すると、目標データアイテムと背景データアイテムの組み合わせが非常に多くなることに注意する。しかし、この非常に多くの組み合わせは、均等に量子化された目標と背景の比率の数がはるかに少なくなる。
【0051】
この現実を効率的に活用するために、トレーニングプロセスでは、目標と背景のSNR(0から37dBであるが、より大きな範囲を選択することも可能))、目標と背景の位相差(0~2π)、背景Θ(0~π/2)、及び背景φの大きさ(0~π)の各々について、一様にサンプリングされたデータのセットを個別に作成する。このデータのすべての可能な組み合わせについて、トレーニングプロセスは検出された(Θ,φ,U)値を計算し、各々storeThetaHat、storePhiHat、及びstoreUdBHatに格納する。このような計算では、目標と背景各々の特定の空間及びレベル分布はまだ考慮されていないことに注意する。これらは、関連する入力属性のすべての可能な組み合わせから、検出されたΘ、φ、Uへとマッピングされたルックアップテーブルにすぎない。これらのテーブルを使用すると、後のトレーニングプロセスで効率が向上する。
【0052】
次に、目標と背景の特定の空間及びレベルデータが組み込まれる。目標はp(b、Θ、φ、U|SNR)を取得することであることを思い出す。実際には、(Θ、φ、U)の各変数上の分布は量子化確率密度関数(probability density function (pdf))で表すことができ、SNRも量子化することができる。実施形態では、φの大きさ(0からπ)に対して51個のレベルの量子化、Θ(0からπ/2)に対して51個のレベルの量子化、U(例えば範囲0から127dB)に対して1dB増加、DNR(例範囲-40dBから+60dB)に対して1dB増加が使用される。このような量子化が与えられた場合、情報p(b,Θ、φ、U|SNR)は、次のようなサイズの多次元配列「storePopularity」に格納される可能性がある。7バンド、101個のトレーニングされたSNR(-40から60)、51個のΘビン、51個のφビン、128個のdBレベル(例えば、0から127)。各項目について、配列に格納されている値は、配列内の他の組み合わせに対する特定の組み合わせの確率(又は、同様に「人気(popularity)」)を表す。例えば、配列要素(4、49、26、26、90)は、周波数帯域4と+8dB DNR(49番目の値)に対して、検出されたΘ値がπ/4(26番目の値)、φの大きさ値がπ/2(26番目の値)、レベルUが89dB(90番目の値)であることがどれだけ「人気がある」かを表す。
【0053】
p(b、Θ、φ、U|SNR)を得るために、トレーニングプロセスは、目標とソースの空間及びレベルデータの可能なすべての組み合わせを網羅的に(又はサンプリングを介して)サイクルする。このとき、トレーニングデータで特定のSNR、位相差、背景Θ、背景φが観測されると、以前にstoreThetaHat、storePhiHat、storeUdBHatに格納されていたデータを使用して、各々結果として生じるΘ、φ、Uを検索し、トレーニング計算を削減する。この検索は「パラメータ検出」とも呼ばれ、
図2のブロック204によって実行される。重要なのは、目標と背景上の空間及びレベル分布の値によって示されるように、このような各組み合わせの人気も使用されることである。これらはstorePopularity配列への貢献度を重み付けし、その際に必要に応じてp(SNR)を組み込む。このような組み合わせをすべて循環させ、その人気度を記録することで、上記のstorePopularity配列が作成される。この配列はまばらな場合もあれば、ノイズが多い場合もあるため、当業者に馴染みのある技術を使用して平滑化するものとする。技術の例としては、テーブルの1つ以上の次元にわたる平滑化がある。
【0054】
この段階では、ベイズ分析に必要なデータが取得されるが、目的のルックアップテーブル又は関数形式では提供されない。トレーニングプロセスの最後のステップは、使用可能なp(SNR|b、Θ、φ、U)を、以下のサイズのstorePopularity内のデータp(b、Θ、φ、U|SNR)p(SNR)から取得することである:7バンド、101個のトレーニングされたSNR(-40から60)、51個のΘビン、51個のφビン、128個のdBレベル(例えば、0から128)。これがp(b、Θ、φ、U|SNR)p(SNR)にどのように対応するかを理解するには、p(b、Θ、φ、U|SNR)p(SNR)がp(b、Θ、φ、U、SNR)として等しく表されるか、又は同等にp(b、SNR、Θ、φ、U)として表されることを思い出す。5つのインデックスは、storePopularityのインデックスと同じである。
【0055】
この再インデックス化又は再マッピングは、
図2のブロック205及び206によって行われる。目的のp(SNR|b、Θ、φ、U)は、単一の値の集合ではなく、各周波数帯域bに対して幾つかの検出された(Θ、φ、U)を与えられた場合の、SNR上の分布の集合であることに留意されたい。表現サイズを管理しやすいように、これらの分布を簡潔に記述する方法について決定がなされる。その典型的な方法には、平均、中央値、又はその他のパラメータを取ることが含まれる。このシステムが設計されている実用的なアプリケーションのニーズを考慮して、実施形態では、各SNR分布の25パーセンタイルと50パーセンタイルが使用される。
【0056】
p(SNR|b、Θ、φ、U)を取得するために、トレーニングプロセスは再インデックス化(ブロック205)と目標SNR選択(ブロック206)を実行するように動作する。基本的な目標は、周波数帯域bで検出された所定の(Θ、φ、U)トリプレットに対応するstorePopularityからすべてのSNRデータをアセンブルし、特徴付けることである。周波数帯域は独立して扱われるため、N個の周波数帯域ごとにp(SNR|Θ、φ、U)を見つけるためにN個の個別の演習を各々行うことが目標であると考えることと等価である。ブロック205はこのタスクを実行する。検出されたΘ、検出されたφ、検出されたレベルの変数について、すべての周波数帯域、及びすべてのサンプリングされた分布レベルを循環する。そのような値ごとに、検出されたΘ、φ、及びU値の特定の組み合わせが与えられた場合に、すべてのSNRとそれらがどれだけ人気があるかを含むバッファがstorePopularityから作成される。より具体的には、バッファは以下のようなstorePopularityのサブセットである:storePopularitySmoothed(バンドインデックス、(全データ)、Θインデックス、φインデックス、Uインデックス)。次のブロック206は値のバッファを分析し、実施形態では、トレーニング済みSLFルックアップテーブル(207)の25パーセンタイル値と50パーセンタイル値を検出して記録する。具体的には、これらの値は各々新しい配列、各々percentile25SNRvalues及びpercentile50SNRvaluesに記録され、各々が(バンドインデックス、検出Θインデックス、検出φインデックス、検出Uインデックス)によってインデックスされ、これは実際にp(SNR|b、Θ、φ、U)に対して求められる表現である。
【0057】
トレーニングデータが疎になる可能性があるため、パーセンタイルSNRが計算される一部のバッファには、信頼できるパーセンタイルSNR値を生成するためのデータポイントが少なすぎる場合がある。これに対処するために、2つの例示的な手法を使用できるが、他の手法を使用することもできる。1つの手法は、パーセンタイルSNRを計算する前に、(周波数帯域とUレベルの共有を優先して)隣接する周波数帯域、Θ値、φ値、又はU値からのデータを共有することである。もう1つの手法は、疎データからでもパーセンタイルSNRを計算し、不安定に見える場合は、パーセンタイルSNR値を隣接するU値からのSNR値、又は必要に応じて周波数帯域からのSNR値に置き換えるか平滑化することである。
【0058】
この段階で、再インデックス化が完了し、トレーニング済みシステムの適用について説明する。システムには再インデックス化されたテーブルがあり、テーブルのインデックスはΘ、φ、Uの量子化された値、並びに問題の周波数帯域のインデックスbを表す。このようなテーブルを使用してソフトマスク値を取得するために、関数は入力されたΘ、φ、Uの値を各々51、51、128個のレベルに量子化する。検出されたΘ、φ、U値からそれらのインデックスへの変換は自明であり、上記の量子化分布を作成するときに使用されるのと同じ量子化に従う。関数は、これらの量子化されたインデックスレベルに対応するテーブルの値(及び問題の周波数ビンωに対応する周波数帯域bのインデックス)にアクセスする。
【0059】
この場合、percentile25SNRvaluesとpercentile50SNRvaluesは特定のインデックスを持つテーブルから取得されるが、SNR値は実際には、Θ、φ、U、bの任意の(必ずしも量子化されていない)値を取る、より一般的な関数によって与えられる可能性があることに注意する。実際には、Θ、φ、U、bからソフトマスク値を取得しようとする関数は、ソフトマスク値を出力するためにテーブルにアクセスする必要がない。これは、テーブル内の値を近似及び/又は補間する曲線又は汎用関数(トレーニング済みニューラルネットワークを含む)を使用して、ソフトマスク値を直接計算できる。曲線がテーブル内に表されたデータに適合できることは、
図3(25パーセンタイルSNRシステムの表現)の検査から容易に分かる。テーブルを使用する実施形態では、テーブルは、ソフトマスク値を取得するための限定的方法ではなく、そうするための推奨される効率的な方法であると理解される。最小二乗曲線フィッティングから得られる関数や、テーブルを近似又は補間するニューラルネットワークなどの関数は、当業者に精通した技術を使用して構築することができる。
【0060】
図3は、実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFルックアップテーブルの入力と出力の視覚的説明である。より具体的には、
図3は、
図2を参照して説明されているように、中央のパニングされた目標ソースについてトレーニングされた25パーセンタイルの4次元(4D)SLFルックアップテーブルの視覚的な表現を示している。SLFのルックアップテーブルは大きいが、繰り返しも多い。当業者には馴染みのある技術を使用して、このテーブルに情報を格納するために必要なルックアップ時間とメモリを削減したり(例えばエントロピー符号化)、前述のように、テーブル内の情報を連続関数に変換したりすることができる。
【0061】
前述のように、
図3の視覚表現は4Dである。4つの入力変数は、各サブプロットの修正された左右Θ軸と入出力φ軸、及び垂直(サブバンドb)サブプロットインデックスと水平(レベルU)サブプロットインデックスである。実用上の理由から、水平サブプロット次元(レベルU)には、SLFルックアップテーブルに格納されているすべてのレベルが表示されるわけではないことに注意する。この場合、テーブル内の128dBの範囲で1dBの増分が使用されるため、128個の左右サブプロットが必要になる。実際には、より細かい又は粗い増分を使用して、各々精度を高めたり、検索効率を高めたりできる。
図3を見ると、左から右に多くの「表示されない」サブプロットがあることに注意する。
【0062】
SLFルックアップテーブルの出力変数は、両端を含む0から1までのソフトマスク値であり、各サブプロットの縦軸に表示される。ソフトマスク値は、出力に渡される対応する入力STFTの割合を表す。STFTタイルごとに1つの(4次元の)入力があるため、STFTタイルごとに1つの出力もある。SLFテーブル/関数を適用した結果は、0から1までの値で構成されるSTFTサイズの表現になる。
【0063】
前述のように、percentile25SNRvalues又はpercentile50SNRvaluesによって生成されたソフトマスク値を使用できるが、他のパーセンタイルを使用することもできる。一般的に、percentile25SNRvaluesの使用は、ソースの推定に幾つかの背景を含めることと、幾つかのアーティファクトを発生させることとのバランスを取るソース分離ソリューションをもたらす。percentile50SNRvaluesを使用すると、アーティファクトが少ないが、背景も多くなるソリューションにつながる。ソフトマスクパラメータの適用は、
図4のブロック404に示されている。
【0064】
実施形態では、ソフトマスク値及び/又は信号値は、当業者に精通した技術を使用して、時間と周波数にわたって平滑化される。4096ポイントのFFTを仮定すると、スムーサ[0.17 0.33 1.0 0.33 0.17]/sum([0.17 0.33 1.0 0.33 0.17])を使用する平滑化対周波数を使用できる。高い又は低いFFTサイズについては、平滑化範囲及び係数の幾つかの合理的なスケーリングを実行する必要がある。サンプルホップサイズを1024と仮定すると、約[0.1 0.55 1.0 0.55 0.1]/sum([0.1 0.55 1.0 0.55 0.1])の平滑化対時間を使用できる。ホップサイズ又はフレーム長を変更すると、平滑化を適切に調整できる。
【0065】
例示的な適用
図4は、実施形態に従って、SLFを使用して、2チャネルミックスから空間的に識別可能なサブバンドオーディオソースを検出及び抽出するためのシステムのブロック図である。システム400には、変換部401、パラメータ計算機402、テーブル検索部403、ソフトマスクアプリケータ404、逆変換部405が含まれる。テーブル検索部403は、
図2を参照して説明されているように、パニングされたソースを検出するようにトレーニングされたSLFルックアップテーブルを格納するデータベース406上で動作する。この例のアプリケーションでは、抽出される目標ソースが既知のパニングパラメータを持つか、又はそのようなパラメータの検出が当業者に知られている任意の数の技術を使用して実行されると仮定する。パニングパラメータを検出する一例の技術は、シータ値のレベル加重ヒストグラムからピークピックすることである。
【0066】
図4を参照すると、変換部401が2チャネル入力信号(例えば、ステレオミックス信号)に適用される。実施形態では、システム400は、当業者にとってソース分離問題に対して比較的最適であることが知られているウィンドウタイプとホップサイズを含むSTFTパラメータを使用する。しかしながら、他のSTFTパラメータを使用することもできるパラメータ計算機402は、STFT表現から、各オクターブサブバンドbのパラメータ(Θ、φ、U)の値を計算する。これらの値は、データベース406に格納されているSLFルックアップテーブルに対してテーブル検索を実行するために、テーブル検索部403によって使用される。テーブル検索では、各STFTタイル又はビンに対してパーセンタイルSNR(例えば、25パーセンタイル)が生成される。SNRから、システム400はベイズ推定として出力されるSTFT入力の割合を計算する。例えば、推定パーセンタイルSNRが0dBの場合、目標ソースと背景が同じレベルUを持つと推定されるため、渡される入力の割合は0.5又は50%になる。一般的な式は、Wienerフィルタの仮定に従っており、入力の割合=10^(SNR/20)/(10^(SNR/20)+1)となる。次に、ソフトマスクアプリケータ404は、各チャネルの入力STFTに、各STFTタイルの0から1までのこの分数値を乗算する。次に、逆変換部405は、STFT表現を反転して、推定された目標ソースを表す2チャネルの時間ドメイン信号を取得する。
【0067】
前述の例の実施形態では、STFT時間周波数表現(例えばタイル)を使用したが、任意の適切な時間周波数表現を使用できる。
【0068】
上記の例のソース分離アプリケーションではSLFルックアップテーブルを使用したが、他の実施形態ではルックアップテーブルの代わりにSLF関数を使用できる。
【0069】
例示的な処理
図5は、実施形態に従って、パニングされたソースを抽出するようにトレーニングされたSLFルックアップテーブルを生成するための処理500のフロー図である。処理500は、例えば、
図7を参照して記述された装置アーキテクチャ700によって実装することができる。
【0070】
処理500は、まず、サブバンド内の目標ソースレベルと空間分布からサンプルの周波数ドメイン表現を取得し(501)、背景レベルと空間分布からサンプルの周波数ドメイン表現を取得し(502)、
図2を参照して説明されているように、第1及び第2サンプルセットを加算して、結合サンプルセットを作成する(503)。
【0071】
処理500は、続いて、
図2を参照して記述されているように、各サブバンドの結合サンプルセット内の各サンプルのレベル及び空間パラメータを検出し(504)、各サブバンド内で、検出されたレベル及び空間パラメータを目標ソースと背景の各々のレベル及び空間分布によって重み付けする(505)。
【0072】
処理500は、続いて、
図2と3を参照して記述されているように、結合サンプルセット内の各サンプル、重み付けされたレベルと空間パラメータ、及びSNRをサブバンドと共にテーブルに格納する(506)。
【0073】
処理500は、続いて、格納されたパラメータとSNRSを再インデックス化して、
図2及び
図3を参照して説明したように、重み付きレベル及び空間パラメータとサブバンドの目標パーセンタイルSNRが含まれ、量子化された検出された空間及びレベルパラメータとサブバンドの所定の入力に対して、量子化された検出された空間及びレベルパラメータとサブバンドに関連付けられた推定SNRがテーブルに含まれるようにする(507)。その後、SLFルックテーブルは、
図4及び6を参照して説明されているようなソース分離アプリケーションで使用するためのデータベースに格納される。
【0074】
図6は、実施形態に従って、パニングされたソースを検出するようにトレーニングされたSLFを使用して、2チャネルミックスから空間的に識別可能なサブバンドオーディオソースを検出及び抽出する処理600のフロー図である。処理600は、例えば、
図7を参照して記述された装置アーキテクチャ700によって実装することができる。
【0075】
処理600は、先ず、2チャネルの時間ドメインオーディオ信号を、サブバンドにグループ化された複数の周波数ビンを持つ時間周波数タイルを含む周波数ドメイン表現に変換する(601)。例えば、STFTを使用して、2チャネルの時間ドメインオーディオ信号の各チャネルのSTFT表現を作成することができる。
【0076】
処理600は、続いて、各周波数ビンの空間及びレベルパラメータを計算する(602)。例えば、パラメータ(Θ、φ、U)は、式[7]-[9]を使用して計算することができる。
【0077】
処理600は、続いて、
図4を参照して説明されているように、タイルごとに、タイル内の各周波数ビンのパーセンタイルSNRを生成し(603)、周波数ビンのSNRに基づいて周波数ビンの分数値を生成し(604)、タイル内の各々の周波数ビンに分数値を適用して、推定オーディオソースの修正タイルを生成する(605)。SLFルックアップテーブル/関数は、
図2及び5を参照して説明されているように、パニングされたソースを検出するようにトレーニングされる。上記の分数値は、ここではソフトマスク値とも呼ばれ、両端を含む0から1までの実数であり、出力に渡される対応する入力STFTの分数を表す。SLFテーブル/関数を適用した結果は、0から1までの値で構成されるSTFTサイズの表現になる。実施形態では、ソフトマスク値及び/又はSNR値は、当業者に精通した技術を使用して、時間と周波数にわたって平滑化される。
【0078】
処理600は、任意で、
図4を参照して説明されているように、推定された目標オーディオソースの時間周波数タイルを目標オーディオソースの2チャネル時間ドメイン推定に逆変換する(606)。幾つかの実施形態では、推定されたオーディオソースの時間周波数タイルを周波数ドメインで利用することができ、他の実施形態では、推定されたオーディオソースの2チャネル時間ドメイン推定を利用することができることに注意する。
【0079】
装置アーキテクチャの例
図7は、実施形態に従って、
図1~6を参照して説明されたシステム及び処理を実装するための装置アーキテクチャ700のブロック図である。
装置アーキテクチャ700は、上記の数学的計算を実行することができる任意のコンピュータ又は電子装置で使用することができる。
【0080】
示されている例では、装置アーキテクチャ700は、1つ以上のプロセッサ701(例えば、CPU、DSPチップ、ASIC)、1つ以上の入力装置702(例えば、キーボード、マウス、タッチサーフェス)、1つ以上の出力装置(例えば、LED/LCDディスプレイ)、メモリ704(例えば、RAM、ROM、フラッシュ)、及びスピーカ706に結合されたオーディオサブシステム706(例えば、メディアプレイヤ、オーディオアンプ、サポート回路)を含む。これらの各コンポーネントは、1つ以上のバス707(例えば、システム、電源、周辺機器など)に結合されている。実施形態では、ここに記述された特徴と処理は、メモリ704又は他のコンピュータ可読媒体に格納されたソフトウェア命令として実装でき、1つ以上のプロセッサ701によって実行される。ここに記述された特徴と処理を実装するためにソフトウェアとハードウェアの組み合わせを使用するアーキテクチャなど、より多く又はより少ないコンポーネントを有する他のアーキテクチャも可能である。
【0081】
本願明細書は多数の特定の実装の詳細を含むが、これらは、請求され得るものの範囲に対する限定としてではなく、むしろ、特定の実装の特定の実装に固有の特徴の説明として考えられるべきである。別個の実施形態の文脈で本願明細書に記載された特定の特徴は、単一の実施形態において結合されて実装されてもよい。反対に、単一の実施形態の文脈で記載された種々の特徴は、複数の実施形態で別個に又は任意の適切な部分的組み合わせで実装されてもよい。更に、特徴は特定の組み合わせで動作するよう上述され、そのように初めに請求され得るが、請求される組み合わせからの1つ以上の特徴は、幾つかの場合には、組み合わせから切り離すことができ、請求される組み合わせは、部分的組み合わせ又は部分的組み合わせの変形に向けられてよい。図面に示された論理的フローは、望ましい結果を達成するために示された特定の順序又はシーケンシャルな順序を必要としない。更に、他のステップが設けられてよく、又はステップは記載されたフローから除去されてよく、記載されたシステムに他のコンポーネントが追加されてよく又は除去されてよい。したがって、他の実装は以下の特許請求の範囲の範囲内にある。