(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】フィルタバンク領域でオーディオサンプルを処理するための生成ニューラルネットワークモデル
(51)【国際特許分類】
G10L 25/30 20130101AFI20240514BHJP
G06N 3/0464 20230101ALI20240514BHJP
G06N 3/047 20230101ALI20240514BHJP
【FI】
G10L25/30
G06N3/0464
G06N3/047
(21)【出願番号】P 2023522981
(86)(22)【出願日】2021-10-15
(86)【国際出願番号】 EP2021078652
(87)【国際公開番号】W WO2022079263
(87)【国際公開日】2022-04-21
【審査請求日】2023-04-28
(32)【優先日】2020-10-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-12
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】エクストランド,ペール
(72)【発明者】
【氏名】クレイサ,ヤヌシュ
(72)【発明者】
【氏名】ティナイェロ,ペドロ ヤフェート ヴィラサーナ
(72)【発明者】
【氏名】ヴィレモース,ラルス
【審査官】大野 弘
(56)【参考文献】
【文献】国際公開第2019/199995(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/30
G06N 3/0464
G06N 3/047
(57)【特許請求の範囲】
【請求項1】
オーディオ信号のフィルタバンク表現の複数の現在フィルタバンクサンプル(x
m)を自己回帰的に生成するための、コンピュータにより実装されるニューラルネットワークシステムであって、前記現在フィルタバンクサンプルは現在時間スロット(m)に対応し、各現在フィルタバンクサンプルは
フィルタバンクの各々のチャネルに対応し、
最上位処理層(T
N-1)から最下位処理層(T
0)まで順序付けられた複数のニューラルネットワーク処理層(T
N-1,T
N-2,…,T
0)の階層であって、各処理層(T
j)は、前記フィルタバンク表現の以前のフィルタバンクサンプル(x
<m)と、少なくとも最上位層を除く各処理層については、前記階層の上位の処理層(T
j+1)によって生成された条件付け情報(c
j+1)に更に基づいて、条件付け情報(c
j)を生成するようにトレーニングされている、階層と、
前記フィルタバンク表現の1つ以上の以前の時間スロット(<m)に対応する以前のフィルタバンクサンプル(x
<m)と、
最下位処理層から生成された条件付け情報に基づいて前記複数の現在フィルタバンクサンプルの確率分布を生成するようにトレーニングされた出力段であって、前記出力段は前記確率分布をサンプリングして前記現在フィルタバンクサンプルを得るように構成される、出力段と、
を含み、
前記出力段は前記最下位処理層を含み、前記最下位処理層は複数の連続して実行されるサブレイヤに細分化され、各サブレイヤは前記フィルタバンクのチャネルの真部分集合に対応する1つ以上の現在フィルタバンクサンプルの確率分布を生成するようにトレーニングされており、少なくとも最初に実行されたサブレイヤを除くすべてのサブレイヤについて、各サブレイヤは、1つ以上の以前に実行されたサブレイヤによって生成された現在フィルタバンクサンプルに更に基づいて前記確率分布を生成するようにトレーニングされている、システム。
【請求項2】
各処理層は、前記現在時間スロットに提供された追加のサイド情報に更に基づいて、前記条件付け情報を生成するようにトレーニングされている、請求項1のシステム。
【請求項3】
前記生成された確率分布からのサンプリングによって、前記フィルタバンク表現の前記複数の現在フィルタバンクサンプルを生成するように構成された手段、を更に含む請求項1又は2に記載のシステム。
【請求項4】
各処理層は、前記フィルタバンク表現の前記以前のフィルタバンクサンプルを受信するために構成された畳み込みモジュールを含み、各畳み込みモジュールは、前記フィルタバンクのチャネル数と同じ数の入力チャネルを持ち、前記畳み込みモジュールのカーネルサイズは、前記階層内の前記最上位処理層から前記最下位処理層へと減少する、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
各処理層は、前記畳み込みモジュールからの出力の合計を入力として受信するように構成された少なくとも1つの回帰ユニットと、
最下位処理層以外の少なくとも各処理層について、前記少なくとも1つの回帰ユニットからの出力を入力として受信し、出力として条件付け情報を生成するように構成された少なくとも1つの学習済みアップサンプリングモジュールと、
を含む、請求項4に記載のシステム。
【請求項6】
前記最下位処理層のすべてのサブレイヤに共通であり、i)前記畳み込みモジュールからの出力の合計と、ii)前記少なくとも1つの回帰ユニットの出力と、の混合を入力として受信し、それに基づいて各サブレイヤの各々の副出力段への追加サイド情報(d
*)を生成するように構成される追加回帰ユニット、を更に含む請求項5に記載のシステム。
【請求項7】
前記最初に実行されたサブレイヤが、前記フィルタバンクの少なくとも最低チャネルに対応する1つ以上の現在フィルタバンクサンプルを生成し、最後に実行されたサブレイヤが、前記フィルタバンクの少なくとも最高チャネルに対応する1つ以上の現在フィルタバンクサンプルを生成する、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
前記現在フィルタバンクサンプルの前記確率分布が混合モデルを使用して得られる、請求項1~7のいずれか一項に記載のシステム。
【請求項9】
前記確率分布を生成することは、前記混合モデルの混合係数(j)に対する線形変換(L
j)の更新を提供することを含み、前記線形変換は、主対角線上に1を持つ三角行列によって定義され、前記三角行列は、1より大きく前記フィルタバンクのチャネル数より小さい、0でない対角線の数を持つ、請求項8に記載のシステム。
【請求項10】
前記サンプリングは、線形変換による変換を含む、請求項3に従属する請求項9に記載のシステム。
【請求項11】
オーディオ信号のフィルタバンク表現の複数の現在フィルタバンクサンプル(x
m)
を自己回帰的に生成するための、コンピュータにより実装されるニューラルネットワークシステムであって、前記現在フィルタバンクサンプルは、現在時間スロット(m)に対応し、各現在フィルタバンクサンプルは、
フィルタバンクの各々のチャネルに対応し、
最上位処理層(T
N-1)から最下位処理層(T0)まで順序付けられた複数のニューラルネットワーク処理層(T
N-1,T
N-2,…,T
0)の階層であって、各処理層(T
j)は、前記フィルタバンク表現の以前のフィルタバンクサンプル(x
<m)と、最上位層を除く少なくとも各処理層については、前記階層の上位の処理層(T
j+1)によって生成された条件付け情報(c
j+1)に更に基づいて、条件付け情報(c
j)を生成するようにトレーニングされている、階層と、
前記フィルタバンク表現の1つ以上の以前の時間スロット(<m)に対応する以前のフィルタバンクサンプル(x
<m)と、
最下位処理層から生成された条件付け情報に基づいて前記複数の現在フィルタバンクサンプルの確率分布を生成するようにトレーニングされた出力段であって、前記出力段は前記確率分布をサンプリングして前記現在フィルタバンクサンプルを得るように構成される、出力段と、
を含み、
各処理層は、前記フィルタバンク表現の以前のフィルタバンクサンプルを受信するように構成された畳み込みモジュールを含み、各畳み込みモジュールは、前記フィルタバンクのチャネル数と同じ数の入力チャネルを持ち、前記畳み込みモジュールのカーネルサイズは、前記階層内の前記最上位処理層から前記最下位処理層へと減少する、システム。
【請求項12】
オーディオ信号のフィルタバンク表現の複数の現在フィルタバンクサンプルを自己回帰的に生成する方法であって、前記現在フィルタバンクサンプルは現在時間スロットに対応し、各現在フィルタバンクサンプルは前記フィルタバンクの各々のチャネルに対応するものであり、請求項1~11のいずれか一項に記載のシステムを使用して確率分布を生成しサンプリングするステップを含む方法。
【請求項13】
前記複数のニューラルネットワーク処理層を使用して条件付け情報を生成するステップであって、前記条件付け情報は最下位処理層を使用して生成される、ステップと、
出力段を使用して、前記フィルタバンク表現の1つ以上の以前の時間スロットに対応する以前のフィルタバンクサンプルと、前記最下位処理層を使用して生成された前記条件付け情報に基づいて、前記確率分布を生成するステップと、
を含む請求項12に記載の方法。
【請求項14】
コンピュータハードウェアに属する少なくとも1つのコンピュータプロセッサによって実行されたときに、前記コンピュータハードウェア
に、請求項1~11のいずれか一項に記載のシステムを実装
させ及び/又は請求項12及び13に記載の方法を実行
させるプログラムを格納する非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、以下の優先権出願:2020年10月16日に出願された米国仮出願63/092,754(参照番号:D20037USP1)及び2020年11月12日に出願された欧州出願20207272.4(参照番号:D20037EP)の優先権を主張する。
【0002】
[技術分野]
本開示は、機械学習とオーディオ信号処理の共通部分に関するものである。特に、本開示は、フィルタバンク領域でサンプルを処理するための生成ニューラルネットワークモデルに関するものである。
【背景技術】
【0003】
生成ニューラルネットワークモデルは、トレーニングデータセットの真の分布を少なくとも近似的に学習するようにトレーニングされる場合があり、そのような学習された分布からのサンプリングによってモデルが新しいデータを生成する可能性がある。このように、生成ニューラルネットワークモデルは、音声とオーディオの合成、オーディオコーディング及びオーディオ拡張の両方を含む様々な信号合成スキームで有用であることが証明されている。このような生成モデルは、時間領域又は信号の周波数表現の振幅スペクトル(すなわちスペクトログラム上で)のいずれかで動作することが知られている。
【0004】
しかし、時間領域で動作する生成モデル(WaveNetやsampleRNNなど)は、等化に使用されるツールなど、周波数領域インターフェースを持つ他の信号処理ツールとの統合を常に容易にするとは限らず、多くの場合、並列化の可能性が制限される場合のある回帰ネットワークを使用する。さらに、スペクトログラム(例えば、MelNet)で動作する最新の生成モデルは、合成中にオーディオ信号の位相を再構成せず、代わりに、オーディオを適切に再構成するために、後処理として位相再構成アルゴリズム(例えば、Griffin-Lim)に頼っている。
【0005】
上記を考慮して、オーディオ信号処理のための改善された生成モデルが必要である。
【発明の概要】
【0006】
本開示は、上記の特定されたニーズを少なくとも部分的に満足させようとするものである。
【0007】
本開示の第1態様によれば、オーディオ信号のフィルタバンク表現について、複数の現在サンプルの確率分布を自己回帰的に生成するためのニューラルネットワークシステム(以下「システム」)が提供される。システムは、例えば、コンピュータ実装システムであってもよい。
【0008】
本開示に関する限り、現在サンプルは、現在時間スロットに対応し、各現在サンプルは、フィルタバンクの各々のチャネルに対応する。
【0009】
システムは、最上位層から最下位層に順序付けられた複数のニューラルネットワーク処理層(以下、「層」又は「tier」)の階層を含み、各層は、フィルタバンク表現のための以前のサンプルと、最上位層以外の少なくとも各処理層については、階層の上位の(例えば、層の階層の直上にある)処理層によって生成された条件付け情報に基づいて、条件付け情報を生成するようにトレーニングされている。
【0010】
システムはさらに、フィルタバンク表現のための1つ以上の以前の時間スロットに対応する以前のサンプルと、最低処理層から生成された条件付け情報に基づいて確率分布を生成するようにトレーニングされた出力段を含む。
【0011】
本開示の第2態様によれば、オーディオ信号のフィルタバンク表現について、複数の現在サンプルの確率分布を自己回帰的に生成する方法が提供される。現在サンプル現在スロットに対応し、各現在サンプルは、フィルタバンクの各々のチャネルに対応する。そのような方法は、例えば、そのような目標を達成するために、第1態様による(コンピュータで実装された)システムを使用することができる。
【0012】
本開示の第3態様によれば、非一時的コンピュータ可読媒体(以下「媒体」)が提供される。媒体は、コンピュータハードウェアに属する少なくとも1つのコンピュータプロセッサによって実行されたときに、コンピュータハードウェアを使用して第1態様のシステムを実装し及び/又は第2態様の方法を実行するよう動作可能な命令を格納する。
【0013】
本開示は、複数の方法で既存の技術を改善する。フィルタバンク領域で直接動作することにより、本開示による(例えば、第1態様のシステムにおける、第2態様の方法における、及び/又は第3態様のメディアを使用して実装/実行されるように)生成モデルは、例えば等化に使用されるツールのような、周波数領域インターフェースを持つ他の信号処理ツールとのより容易な統合を可能にすることができる。モデルは、例えば実数値フィルタバンクに固有のエイリアシングをキャンセルする方法を学習できる。オーディオ信号が専用の周波数帯に分離されるため、このモデルは、例えば静かな周波数帯や空の周波数帯を抑制したり、時間領域で動作するモデルよりも満足に一般的なオーディオ(例えば音楽)を処理したりするよう学習することもできる。別の観点からは、このモデルは、フィルタバンク表現に基づいて動作し、これはオーディオ信号の大きさと位相の両方を本質的に処理することと同等である。合成プロセスは、例えば位相情報を近似的に回復するための様々なスペクトログラム反転方法(例えばGriffin-Lim法など)を必要としない。以下により詳細に説明するように、幾つかの実施形態では、モデルはまた、オーディオ生成中に増加した並列処理能力を提供し、各ステップでフィルタバンクの時間スロット全体まで生成することができる。
【0014】
本開示の他の目的及び利点は、以下の説明、図面及び請求項から明らかになるであろう。本開示の範囲内では、例えば第1態様のシステムを参照して記述された生成モデルのすべての特徴及び利点は、第2態様の方法及び/又は第3態様の媒体にも関連しており、それらと組み合わせて使用することができ、またその逆も想定される。
【図面の簡単な説明】
【0015】
以下、添付図面を参照して実施例を説明する。
【0016】
【0017】
【
図2】信号処理スキームにおける本開示の1つ以上の実施形態による生成モデルの使用を概略的に示す。
【0018】
【
図3A】本開示による生成モデルを実装するシステムの2つ以上の実施形態を概略的に示す。
【
図3B】本開示による生成モデルを実装するシステムの2つ以上の実施形態を概略的に示す。
【0019】
【
図4A】本開示による生成モデルを実装するシステムの2つ以上の実施形態を概略的に示す。
【
図4B】本開示による生成モデルを実装するシステムの2つ以上の実施形態を概略的に示す。
【0020】
【
図5】本開示による方法の1つ以上の実施形態のフローを概略的に示す。
【0021】
図面では、特に明記されていない限り、同様の要素には同様の参照番号を使用する。明示的に反対の記述がない限り、図面は例示的な実施形態を説明するために必要な要素のみを示しており、他の要素は明確にするために省略され又は単に提案される。
【発明を実施するための形態】
【0022】
K次元のベクトル確率変数は記号Xで表すことができ、確率密度関数qX(x)を持つと仮定する。本開示では、このような確率変数の実現値(realization)をxで表し、例えばオーディオ信号の連続サンプルのベクトルを表すことができる。次元Kは任意に大きくすることができ、逆に述べられていない場合は、後に続くもので明示的に指定する必要はないと想定される。
【0023】
分布q
X(x)は原則として未知であり、トレーニングデータによってのみ記述されると仮定される。生成モデル(ここで説明するシステムによって実装される)は、確率密度関数p
X(x)を表し、生成モデルはq
X(x)とp
X(x)の間の分布一致を最大化するようにトレーニングされる。そのためには、幾つかの分布一致指標を使用することができる。例えば、例えば次式に従って、(未知の)関数q
X(x)と(トレーニング可能な)関数p
X(x)の間のKullback-Leibler(KL)情報量(divergence)を最小化するようにモデルをトレーニングすることが考えられる:
【数1】
【0024】
上記の式(1)の第2項のみがモデルのトレーニングによって影響を受け得るので、例えば、次式のように定義される負の対数尤度(negative log likelihood (NLL))を最小化することによって、D
KLを最小化することを想定することができる:
【数2】
【0025】
しかし、q
X(x)が不明であり、logp
X(x)の期待値を通常分析的に計算できないため、実際的な問題が発生する可能性がある。このような問題に対処するために、データ駆動近似を使用することができる。例えば、確率密度q
X(x)(すなわち、N個のベクトルxの集合)を持つ確率変数XのN個の実現値のセットがトレーニングデータで利用可能であり、そのようなセットをQで表すとすると、以下の近似を使用することが想定される:
【数3】
これは、Nが十分に大きい場合に正確であると考えられる(従って、モンテカルロサンプリングの形式に似ている)。実際には、集合Qはトレーニングデータのより小さな部分を構成し、「ミニバッチ」と呼ばれることがある。
【0026】
トレーニングされた生成モデルの主な特徴は、トレーニングされた(又は学習された)分布関数pXからのランダムサンプリングなどによって信号を再構成できることである。実際には、関数pXは(トレーニング可能な)ニューラルネットワークモデルによってパラメータ化される(つまり、入力値の大きな集合に対して関数pXの出力値の大きな集合を直接提供しようとするのではなく、ネットワークは代わりに、例えばガウス分布又は類似のものを完全に記述することができる、例えば平均、標準偏差、及び/又は追加モーメントなどの幾つかのパラメータを見つけようとする。
【0027】
例えば、オーディオ信号の形でメディア信号を扱う場合、そのような信号にしばしば見られる統計的な依存関係を捉えるためにp
Xを複雑にする必要があると予想される。その結果、関数p
Xを学習するために使用される関連するニューラルネットワークは大規模にする必要があるだろう。ニューラルネットワークの必要なサイズを減らすために、モデルの回帰形式を使用することができる。このような回帰モデルへの第1ステップとして、信号のサンプルはフレームへとブロック化される。ここで、x
nはn番目のそのようなフレームに属するベクトルxのすべてのサンプルを示すという表記を使用する。通常、以前の最先端のモデルでは、x
nはスカラ(オーディオ信号のサンプルを含む)である。次のステップとして、関数p
Xは回帰的に次式のように近似される:
【数4】
ここで、Tはフレームの総数であり、x
<nはフレームnより前のすべてのフレーム、つまx
0,x
1,…,x
n-1の簡略表記である。
【0028】
上式により、無条件確率密度pXの代わりに、条件付き確率密度pのモデルを構成できる可能性がある。これにより、無条件モデルと比較して、比較的少ない数のモデルパラメータ(すなわち、より小さなニューラルネットワーク)を使用できる可能性がある。このようなモデルのトレーニングの過程で、使用可能な以前のサンプルに対して調整を行うことができる。生成の過程で、モデルは一度に1つのフレームを生成し、以前に生成されたサンプルに対して調整を行うことができる。
【0029】
調整は通常、θで表される追加のサイド情報で拡張され、これにより式(4)が変更されて次式が読み取られる:
【数5】
【0030】
生成モデルを使用するタスクによっては、追加のサイド情報θがタスクに関連する補助情報を表す場合がある。例えば、コーディングタスクでは、θは、例えば、モデルの現在の回帰ステップで再構成されるフレームに対応する量子化済みパラメータ(すなわち、フレームnの場合、1つ以上の前のフレーム<nに依存する)を含むことができる。別の例では、信号拡張タスクでは、θは、例えば、歪んだ信号のサンプル、又は例えば歪んだ信号のサンプルから抽出された特徴を含むことができる。
【0031】
簡単のために、以下の説明ではθを省略する。ただし、生成モデルが特定の問題に適用されると、調整(条件付け)にθ(すなわち追加のサイド情報)が追加される可能性があることを理解する必要がある。
【0032】
モデルをトレーニング可能にするために、pは解析形式を持つと仮定する。これは、pのプロトタイプ分布を選択することで実現できる。例えば、ロジスティック分布、ラプラス分布、ガウス分布、又は類似の分布など、単純なパラメータ分布を使用することができる。例として、ガウス分布の場合を以下で説明する。
【0033】
次式のように仮定することができる:
【数6】
ここでNは、平均μと標準偏差σを含むパラメータがフレーム単位で実行された更新によりニューラルネットワークによって提供される正規(ガウス)分布を示す。このような結果を達成するために、ニューラルネットワークは、例えば逆伝播とNLL損失関数を使用してトレーニングされてもよい。
【0034】
しかし、実際には、混合モデルを使用することによって、改善されたモデリング能力が得られるかもしれない。このような状況では、プロトタイプ分布がガウス分布である場合、代わりに次式が仮定されてもよい:
【数7】
ここで、Jは混合モデル内の成分の数であり、w
jは混合成分の重み(ニューラルネットワークによっても提供される)である。したがって、幾つかの成分を使用することによって、単一のガウス分布よりも複雑な確率分布がニューラルネットワークによって推定される可能性がある。
【0035】
例えば、スカラケースでは、他のプロトタイプ分布を使用して、例えばロジスティック、ラプラス、又は同様の混合物を作成することも想定される場合がある。ベクトルの場合(M次元)、M次元の間の依存関係を導入するために、Mスカラ分布とM×M線形変換を使用して、混合成分を生成することができる。
【0036】
ここで先に議論したように、例えばオーディオのための以前に知られていた生成モデルは、時間領域又は(近似位相再構成の固有の必要性のために非可逆的に)スペクトログラムのいずれかで動作し、これは周波数領域インターフェースのみを提供するオーディオのための他の信号処理コンポーネントとの統合を複雑にする可能性がある。したがって、このような問題を克服するために、本開示は、信号のフィルタバンク表現で動作する生成モデルを提供する。結果として、xnは、以下では、フィルタバンク領域内の信号のサンプルに対応する多次元時間スロットとなる。
【0037】
説明のために、一般的なフィルタバンクを
図1を参照して説明する。
【0038】
図1は、生成フィルタバンク100の例を概略的に示す。フィルタバンク100では、信号(ここでは特定の時間ステップを示す)のサンプルx[n]を分析段110に通し、各サンプルを各々の分析フィルタH
0(z),H
1(z),…,H
M-1(z)を含む複数のチャネルに提供する(Mはそのような分析フィルタとチャネルの総数である)。各分析フィルタは、例えば、特定の周波数帯に対応することができる。2つのチャネルのみを含む最小のフィルタバンクでは、H
0(z)は、例えば、ローパスフィルタに対応し、H
1(z)は、例えば、ハイパスフィルタに対応することができる。2つ以上のチャネルを使用する場合、第1フィルタと最後のフィルタの間のフィルタは、例えば、適切にチューニングされた帯域通過フィルタになることがある。その後、各分析フィルタからの出力は、係数Mでダウンサンプリングされ、分析段110からの出力は、複数のフィルタバンクのサンプルx
0[m],x
1[m],…,x
M-1[m]であり、すべてが現在のフィルタバンクの時間スロットmに対応する。ここで、サンプルx
0[m],x
1[m],…,x
M-1[m]は、「フィルタバンク領域」にあると表されるか、入力信号x[n]の「フィルタバンク表現」を構成する。
【0039】
その後、フィルタバンク100の合成段120に提供される前に、サンプルxj[m]に対して様々な操作(例えば、追加のフィルタリング、異なるチャネル間の共依存特徴の抽出、各バンド/チャネル内のエネルギの推定など)が実行される。ここで、サンプルは、例えば、最初に係数Mでアップサンプリングされてから、フィルタバンク100の各チャネルの各々の合成フィルタF0(z),F1(z),…,FM-1(z)に渡される。その後、合成段120からの出力は、例えば、入力サンプルx[n]の時間遅延バージョンを表すことができる出力サンプルx'[n]を生成するために加算されてよい。様々な分析及び合成フィルタの正確な構成と、分析及び合成段110と120の間で実行される最終的な処理に応じて、出力信号x'[n]は入力信号x[n]の完全な再構成である場合とそうでない場合がある。例えばオーディオ信号の符号化/復号などの多くの状況では、フィルタバンクの分析部をエンコーダ側で使用してフィルタバンク領域の様々なサンプルを抽出し、様々な処理を適用して、例えばデコーダ側にある合成段で信号を十分に再構成するために必要なビット数を減らすために使用できる特徴を抽出することができる。例えば、フィルタバンク領域の様々なサンプルから抽出された情報を追加のサイド情報として提供し、フィルタバンク領域のサンプル自体を量子化及び/又は圧縮してから、追加のサイド情報とともにデコーダ側に転送することができる。別の例では、フィルタバンクのサンプル自体を省略して、追加のサイド情報だけをデコーダ側に転送することもできる。その後、デコーダは、提供された追加のサイド情報とともに、フィルタバンクの圧縮/量子化済みサンプル(利用可能な場合)に基づいて、元の入力信号x[n]に十分に似た信号x'[n]を再構成することができる。フィルタバンク100は、例えば、直交ミラーフィルタ(quadrature mirror filter (QMF))フィルタバンクであってもよいが、他の適切なタイプのフィルタバンクを使用してもよいことも想定されている。フィルタバンクは、例えば、クリティカルサンプリングフィルタバンクであってもよいが、他の変形も想定されている。フィルタバンクは、例えば、余弦変調フィルタバンクのような実数値演算であってもよいが、複素指数変調フィルタバンクのような他の変形も想定されている。
【0040】
本開示に従ったモデルを信号処理スキームでどのように使用できるかについて、
図2を参照してより詳細に説明する。
【0041】
図2は、処理スキーム200を概略的に示す。前処理フェーズ210では、時間領域データセット211は、例えばオーディオの(できれば大量の)時間サンプルを提供すると仮定される。例えば、時間領域データセット211は、例えば特定のサンプリングレートでサンプリングされた様々なサウンドの様々な記録を含むことができ、例えば、1つ以上のオーディオ信号の時間領域サンプルのベクトル212がデータセット211から抽出されるようにする。これらのベクトル212は、通常「グランドトゥルース」サンプルと呼ばれるものを含むと考えることができる。このような各サンプルは、例えば、特定のサンプリング時間における時間領域のオーディオ信号の振幅を表すことができる。時間領域データセット211は、例えば、(例えば、レガシーコーデックで復号される)時間領域の量子化済み波形、(例えば、レガシーコーデックのデコーダによって再構成される)時間領域から変換された量子化済みスペクトルデータ、スペクトル包絡データ、信号のパラメータ記述、又はフレームを記述するその他の情報を含む、時間領域サンプル212に関連する様々な特徴(又は追加のサイド情報)213を含むこともできる。このような特徴213は、必ずしもサンプル212ごとに更新されるとは限らず、代わりに複数の時間領域サンプル212を含むフレームごとに一度更新されることもある。
【0042】
時間領域サンプル212は、次に、フィルタバンクの少なくとも分析段214に提供され、ここで、(
図1を参照して前述したように)時間領域サンプルによって表される信号は、複数のフィルタバンク帯域/チャネルに分割され、例えば、同じ時間スロットmについて一緒にグループ化されることがあり、そのようにして、各々が異なるフィルタバンクチャネルに対応する複数のフィルタバンクサンプルは、ベクトルx
m=[x
0[m],x
1[m],…,x
M-1[m]]を構成する。ここで、Mは、ここで前述したように、フィルタバンクチャネルの総数である。追加のサイド情報213’もフィルタバンクを使用して抽出され、追加のサイド情報213と共に(又は補完として)提供されることが想定される。
【0043】
その後、フィルタバンク分析段214及び追加のサイド情報213及び/又は213’によって提供されたフィルタバンクサンプル215は、フィルタバンクデータセット221に提供される。フィルタバンクデータセット221は、データのトレーニングセット(モデルがそこから学習する)とデータの干渉セット(モデルがデータのトレーニングセットから学習した内容に基づいて予測を行うために使用できる)の両方を定義する。通常、データは、干渉セットにトレーニングデータセットと完全に同じオーディオ信号が含まれないように分割されるため、モデルは、すでに経験したオーディオ信号をコピーする方法だけを学習するのではなく、音声のより一般的な特徴を抽出して学習することを強制される。フィルタバンクサンプル215は、「フィルタバンクグランドトゥルース」サンプルと呼ばれることがある。
【0044】
トレーニング段220の間に、トレーニングデータセットに属するフィルタバンクグランドトゥルースサンプル222は、本開示に従うシステム224に提供される。システム224は、例えば、生成モデルを実装するためのコンピュータハードウェアを含むことができる。追加のサイド情報223もシステム224に提供されることがある。提供されたサンプル222(及び場合によっては提供された追加のサイド情報223)に基づいて、システム224は、1つ以上の以前の時間スロット<mに対して以前に生成されたフィルタバンクのサンプルを使用して、現在の時間スロットmのフィルタバンクのサンプルを予測するように繰り返しトレーニングされる。トレーニング段220の間、このような「以前に生成されたフィルタバンクのサンプル」は、例えば以前のグランドトゥルースサンプルであってもよい。最も一般的な実施形態では、システムは、現在の時間スロットに属するフィルタバンクのサンプルの確率分布を推定する方法を学習し、そのような分布からサンプリングすることによって実際のサンプルを得ることができる。
【0045】
各現在の(フィルタバンクの)時間スロットmについて、システム224のモデルは、p(xm|x<m)、したがってpX(x)を推定する方法を連続的に学習する。ここで既に説明したように、これは、損失関数を最小化しようとするために、例えば、上記の損失関数lNLLと一緒に、式(2)~(7)の1つ以上を参照することによって、逆伝播を使用することによって得ることができる。
【0046】
トレーニングに成功した後、システム224のモデルは、複数の最適化済みモデルパラメータ225(例えば、システムの様々な重みとバイアスを含む)によって定義される。トレーニング段220が終了すると、処理スキーム200は推定段220’に入ることができる。推定段では、トレーニング済みモデル224は、見えないデータに対して一般化して動作する場合がある。推定段220’では、システム224のモデルは、最適化済みモデルパラメータ225を使用する場合があり、フィルタバンクグランドトゥルースサンプルへのアクセスを必要としない。状況によっては、システム224のモデルは、追加のサイド情報223’へのアクセスを少なくとも許可されることが想定されており、これは、システム224が各時間スロットのフィルタバンクサンプルの確率分布を反復的に予測することによって再構成するオーディオ信号などの特徴に対応する場合がある。モデルは一般化することができ、展開されると推定段220’で動作する可能性があるため、追加のサイド情報223’は、トレーニング段220の間にシステム224のモデルに提供される追加のサイド情報223と同じではない。システム224のモデルは一般化することになっており、追加のサイド情報223’を使用して(トレーニングでは見えない)オーディオサンプルを生成することができる。
【0047】
後処理段230では、システム224(のモデル)によって生成された確率分布からサンプリングによって再構成されたフィルタバンクサンプル226は、例えば、(例えば時間領域で)出力信号232が生成されるように、少なくともフィルタバンクの合成段231を通過することができる。
【0048】
以下では、特に反対のことを明示しない限り、「システム」と「システムのモデル」は分離されない。言い換えると、「~するようトレーニングされているシステム」又は「~するよう学習するシステム」と呼ばれることがあり、そのような参照は、例えばシステムに含まれるコンピュータハードウェアを使用して実装されたシステムのモデルであり、トレーニング/学習されたものであると解釈されるべきである。
【0049】
図2から、本開示に従ったシステム224は、一度トレーニングされれば、例えば符号化/復号方式で使用され得ることが分かるであろう。例えば、ここで既に説明したように、システム224はデコーダ側の一部を形成し、それ自身の以前に生成したそのようなサンプルのみに基づき、及び例えばエンコーダから提供される追加のサイド情報に基づいて、現在のフィルタバンクのサンプルを予測するタスクを与えられる。したがって、エンコーダとデコーダの間のチャネルを介して十分な情報をストリーミングするためにより低いビットレートが必要になることが想定されるかもしれない。なぜなら、システム224は、例えばデコーダ側でオーディオ信号を十分に再構成するために、与えられた情報の「空白を埋める」方法をそれ自身で学習できるからである。ここで先に述べたように、システム224は、一度トレーニングされると、例えば信号拡張などの他のタスクにも使用される場合がある。
【0050】
本開示に従ったシステム(例えば、
図2を参照して説明されたシステム224など)の2つ以上の実施例について、
図3A及び3Bを参照して説明する。
【0051】
図3Aは、1つ以上のコンピュータに実装又は実装可能と想定されるシステム300を概略的に示している。システム300は、(ニューラルネットワーク処理)層T
N-1,T
N-2,…,T
0の階層310を含む。全体として、階層300は全部でN個の層を含む。
図3Aは、そのような層が少なくとも3つあることを示しているが、例えばT
1とT
0の2つだけのように、3つよりも少ない層がある場合も想定されている。
【0052】
層は、上の層から下の層へと階層的に並べられている。
図3Aに示す構成では、上の層は層T
N-1であり、下の層は層T
0である。後述するように、各階層T
j(jは0からN-1までの整数である)は、階層の次の下の層に継承される条件付け情報c
jを生成するようにトレーニングされている。例えば、層T
N-1によって生成された条件付け情報は、次の階層T
N-2に継承され、以下同様に続く。各層は、階層内の次の層にのみ条件付け情報を提供することが望ましいが、可能であれば、1つ以上の層が階層内のさらに下位の層に条件付け情報を提供することも想定される。
【0053】
各階層Tjは、以前の時間スロット<mの間にシステム300によって生成された以前のフィルタバンクサンプル{x<m}jに基づいて、その条件付け情報cjを生成するようにトレーニングされている。図に示されているように、各層に提供された以前のフィルタバンクサンプルのセットは必ずしも等しいとは限らない。幾つかの実施形態では、各層又は少なくとも幾つかの層は、異なる数の以前のサンプル(例えば、異なるフィルタバンクチャネルのセットの場合)及び/又は以前の時間スロットの異なるセットを受け取ることができる。幾つかの実施形態では、各層は、以前に生成されたフィルタバンクのサンプルの同じセットを受け取ることができる。
【0054】
幾つかの実施形態では、各層T
jは、追加のサイド情報{a}
jでも、その条件付け情報c
jを生成するようにトレーニングされている。図に示されているように、このような追加のサイド情報の内容は、すべての層で必ずしも等しいとは限らない。幾つかの実施例では、追加のサイド情報は層ごとに、又は少なくとも幾つかの層で異なる場合がある一方で、他の実施例では、各層に提供される追加のサイド情報は等しい場合がある。
図1の追加サイド情報にm-indexがないことからわかるように、追加サイド情報は時間帯ごとに必ずしも変化しないことが想定される。幾つかの実施例では、追加サイド情報は2つ以上の連続した時間帯で一定であってもよいが、他の実施例では、追加サイド情報は時間帯ごとに変化してもよい。ここで、追加サイド情報が「異なる」とは、例えば、各層のサイド情報が同じカテゴリのサイド情報に属しているが、例えば、ある層のサイド情報が他の層と比較してより頻繁に更新されていること、又は類似していることを含む。同様に、「異なる」とは、例えば、ある層に提供されたサイド情報が、別の層に提供されたサイド情報と同じカテゴリに属していないことなどを含むことができる。ここで、「カテゴリ」とは、例えば、量子化済み波形に関連するデータ、スペクトル包絡(エネルギ)データ、量子化済みフィルタバンク係数、パラメータ信号記述(例えば、ボコーダのパラメータ)、及び/又はここで説明するその他の追加サイド情報を含むことができる。
【0055】
なお、生成モデルは、追加サイド情報を条件付けしなくても、なお有用な結果をもたらす可能性がある。例としては、例えば、様々なノイズ、風の音、背景音、未知の楽曲などを生成するときに、音に「意味」がない(すなわち、スピーチ、歌詞、既知の曲、又は類似のものを含まない)状況が挙げられる。例えば、生成モデルは、トレーニング中に風の音の様々な録音にさらされ、その後、追加のサイド情報を必要とせずに、同様の「風の音」ノイズを(推定フェーズ中に)独自に再現する方法を学習することができる。生成された確率分布からランダムにサンプリングすることによって、このようなノイズを反復的でない方法で構成することができる。
【0056】
最下位層T
0の下では、システム300は、例えば多層パーセプトロン(multilayer perceptron (MLP))ネットワーク又は同様のものである追加のニューラルネットワーク380を含む。幾つかの実施形態では、MLPは完全に接続されているか、意図されたとおりに動作するために望ましい方法で構成されている。ニューラルネットワーク380は、最下位層T
0から条件付け情報c
0を受け取る。幾つかの実施例では、ニューラルネットワーク380は、以前に生成されたフィルタバンクのサンプルのセット{x
<m}
*を受け取ることもできる(これは、層に提供される他のそのようなサンプルのセットと等しい場合もあれば、等しくない場合もある)。また、幾つかの実施例では、ネットワーク380は、層に提供される他のそのような追加のサイド情報と等しい場合もあれば等しくない場合もある追加のサイド情報{a}
*を受け取ることもできる。ニューラルネットワーク380は、システム300の出力段320の一部を形成し、そこから推定確率分布p(x
m|x
<m)が生成される。
図3Aに示されているように、出力段320は、幾つかの実施例では、例えば最下層T
0の一部又は全部を含むこともあるが、他の実施例では、出力段はいかなる層も含まない。出力段が1つ以上の層を含むシステム300の実施例をさらに以下に示す。
【0057】
ここで説明するように、確率分布を生成/取得するために、出力段は、単一のプロトタイプ分布を含むモデル、又はそのような幾つかのプロトタイプ分布の合計を含む混合モデルを使用することができる(例えば、多層パーセプトロンネットワークを用いて対応するパラメータを推定する)。
【0058】
幾つかの実施例では、システム300は、生成された確率分布からのサンプリングによるフィルタバンク表現のための複数の現在サンプル(つまり、現在のフィルタバンクのサンプル)を生成する手段をさらに含むことができる。
【0059】
幾つかの実施例では、各層T
jは、以前に生成されたフィルタバンクサンプルを受信するように構成された1つ以上の畳み込みネットワーク又はモジュールを含むことができる。このような各畳み込みネットワーク/モジュールは、フィルタバンクサンプルの特徴を抽出することを学習することができる。幾つかの実施例では、このような畳み込みネットワークは、階層内の層順序の減少に伴って、つまり最上位層から最下位層へと、サイズが減少するカーネルを使用するように構成されている。カーネルサイズは、例えば、下位層の時間次元を減少させることができ、したがって時間分解能の増加を可能にする。幾つかの実施形態では、カーネルサイズは周波数次元では変更されないが、そのような変形も想定される場合がある。下位層のカーネルサイズを小さくするように想定されるそのような実施形態の1つは、例えば
図4Aを参照して、ここで後述する。
【0060】
幾つかの実施形態では、様々な層Tjは、各層に1つ以上の回帰ニューラルネットワークを含めることによって得られる、回帰的に動作するように構成される。例えば、各層は、畳み込みネットワークからの出力の合計を入力として受信するように構成される、少なくとも回帰ユニット(又はモジュール)を含むことができる。最低/最下位層を除く少なくとも各層は、少なくとも1つの回帰ユニットからの出力を入力として受け取り、その出力として条件付け情報cjを生成するように構成された、少なくとも1つの(学習済み)アップサンプリングモジュールを含むこともできる。幾つかの実施形態では、最低層は、そのような少なくとも1つの(学習済み)アップサンプリングモジュールを含むこともできる。例えば、最低層がアップサンプリングモジュールを含まない場合、最低層からの出力c0は、例えば、最低層T0の少なくとも1つの回帰ユニットからの出力とすることができる。
【0061】
このような回帰ネットワークでは、ネットワークの内部(潜在)状態が(高い程度又は低い程度で)記憶されているため、新しいこのような潜在状態を以前の状態の1つ以上に基づいて計算することができる。このような「記憶」の使用は、例えば、フィルタバンク(オーディオ)サンプルが時間スロットのシーケンスで互いに追従するような、シーケンシャルデータを処理する際に有益である。
【0062】
図3Bは、システム300の別の実施形態を概略的に示しており、出力段320は最下層を含み、出力段は幾つかの副層390-0、...、390-(L-1)に分割される(Lは副層の総数である)。出力段320では、各副層390-j層T
0の副層T
0,jを含む。副層は順次実行され、各副層は、フィルタバンクのチャネルの真部分集合(つまり、すべてではないが少なくとも1つ)に対応する1つ以上の現在サンプルの確率分布を生成するようにトレーニングされてもよい。例えば、真部分集合は各副層で異なる。真部分集合は重複していても(つまり、少なくとも1つのサブセットには、別のサブセットにも含まれるチャネルが含まれている)、重複していなくてもよい(各チャネルはいずれかのサブセットにのみ含まれる)。少なくとも最初に実行された副層を除くすべての副層について、各副層は、以前に実行された1つ以上の副層によって生成された現在サンプルにも基づいて確率分布を生成するようにトレーニングされてもよい。各副層T
0,jは、以前に生成されたサンプルのセット{x
≦m}
0,jを備えており、これは(後述するように)前の副層390-<jによって処理されるチャネルのために現在生成された1つ以上のフィルタバンクサンプルも含むことができる。同じことがニューラルネットワーク380-jにも適用され、これは以前に生成されたフィルタバンクサンプルのこのようなセット{x
≦m}
*
jを備えていることがあり、これは現在のステップ中に生成されたフィルタバンクサンプルを含むことができるが、問題の副層によって処理されているチャネルよりも低い(周波数の)チャネルのためである。下位チャネルのための現在サンプルを考慮すると、例えば、
図4Aも参照して後述するように、様々な副層に含まれる畳み込み層のマスクされたカーネルを使用して得ることができる。また、前述したように、各副層T
0,j及び各ニューラルネットワーク380-jは、各々追加サイド情報{a}
0,j及び{a}
*
jの各々のセットも受け取ることが想定されており、これは階層310の上位層に提供される対応する追加サイド情報と同一である場合とそうでない場合がある。
【0063】
幾つかの実施形態では、最初に実行された副層390-0が、フィルタバンクの少なくとも最低チャネルに対応する1つ以上の現在サンプルを生成し、最後に実行された副層が、フィルタバンクの少なくとも最高チャネルに対応する1つ以上の現在サンプルを生成してよい。各サブレイヤ390-jにおいて、対応する副層T0,jは、例えばMLPのような後続のニューラルネットワーク380-jに条件付け情報c0,jを提供する。
【0064】
出力段320のこのような細分化を複数のサブレイヤ/副層に使用するより詳細な例を、
図4A及び4Bを参照して次に示す。
【0065】
図4Aは、層の階層410を含むシステム400を概略的に示している。システム400の例では、階層410は3つの層T
2,T
1、及びT
0を含む。他の例では、階層は3つより少ないか、又はより多くの層を含むことが想定されている。
【0066】
各層では、以前に生成されたフィルタバンクのサンプル{x
<m}が、追加のサイド情報コンポーネントa
m及びb
mとともに受信される。
図4Aに示されている具体例では、サイド情報コンポーネントa
mはエンベロープエネルギを含み、サイド情報コンポーネントb
mはサンプルの量子化済み表現(例えば、レガシーコーデックからの再構成として得られる)を含む。ここで、追加のサイド情報は各時間スロットについて更新され(これによりインデックス"m")、例えば、すべての層で同じであってもよい。幾つかの実施例では、ここに記載されているシステム400及び他のシステムは、追加のサイド情報(提供されている場合)に関して「先読み(look-ahead)」を使用することも想定される場合があり、これは、1つ以上の「将来の」時間スロット>mの追加のサイド情報も使用され、様々な層に提供されることを意味する。幾つかの実施例では、1つ以上の将来のフレームについてのみ追加のサイド情報が層に提供されることも想定される場合がある。
【0067】
説明のために、フィルタバンクのサンプルは16チャネルに対応すると仮定してもよい。例えば、16チャネルQMFフィルタバンクは、システム400のトレーニングに使用されるフィルタバンクトレーニングデータセットに使用されるフィルタバンクのサンプルを提供している場合がある。したがって、各フィルタバンクのサンプルベクトルxmには16個の要素が含まれており、各々が16個のQMFフィルタバンクチャネルのいずれかに対応していると仮定する。
【0068】
各層において、受信した以前のサンプル{x<m}のセットには、最近生成された複数のサンプルベクトルを含めることができる。このような複数は、例えば、最新のZ個の生成されたサンプルベクトル、すなわち{x<m}={xm-Z,xm-Z+1,…,xm-1}を含むことができる。全体として、各サンプルベクトルが16個のフィルタバンクチャネルを表す場合、前のサンプルのセット{x<m}は16*Z個のチャネル要素を含む。この例では、各層が前のサンプルの同じセットを受け取ると想定できる。また、各層が前のサンプルの異なるセットを受け取ると想定することもできる。例えば、層410の階層を下に進むにつれて時間分解能が増加するので、システム400の幾つかの実施例は、より低い層のためのより少ない以前のサンプルを提供することを含む場合がある。ここで、「より少ない以前の」は、例えば、最後のZ’個のサンプル(ここで、Z’<Z)のみを含む場合があるが、より高い層(例えば層T2など)は、利用可能なすべてのZ個の以前のサンプルを受け取る場合がある。また、より低い層は、例えば、より高い層よりも頻繁にラン/実行される可能性があることにも注意されたい。
【0069】
最も上の(すなわち最上位)層T2は、入力として前のサンプルの集合{x<m}を取り入れる畳み込みネットワーク432を含む。畳み込みネットワーク432は、例えば、16個のチャネルを含み、15のカーネルサイズを使用することができる。層T2はさらに別の畳み込みネットワーク442を含み、エンベロープエネルギamを入力として取り入れる。畳み込みネットワーク442は例えば19個のチャネルを含むことができる。層T2はさらに畳み込みネットワーク452を含み、量子化済みサンプルbmを入力として取り入れる。畳み込みネットワーク452は、例えば16個のチャネルを含むことができる。畳み込みネットワーク442と452の各々のカーネルサイズとストライドは、例えば提供された追加のサイド情報コンポーネントamとbmの時間分解能に適応させることができる。一般に、様々な畳み込みネットワーク432、442、452の(及び、他の下位層の対応する畳み込みネットワークの)正確なカーネルサイズとストライドは、例えば前のサンプル{x<m}の提供されたフレームサイズ、追加サイド情報amとbmの時間分解能などを含む複数の要因に基づいて調整することができる。同じ層Tj内の様々な畳み込みネットワークからの時間(シーケンス)方向の出力サンプル数が異なる場合(ネットワーク432、442、452のカーネルサイズとストライドの選択を考えると)、様々な畳み込みネットワークからの出力が望ましい方法で合計されるように、1つ以上のアップサンプリングユニットも提供されることが想定される。量子化済みサンプルとエンベロープ条件の特定の組み合わせでは、量子化済みサンプルは層T2のamとbmの別々の初期処理によりローカライズされることがある。このようなローカライズは、例えば、量子化済みサンプルが下位層に提供される場合、カーネルサイズが短くなるにつれて、層410の階層でさらに改善される可能性がある。
【0070】
ここで、例えば、所与のカーネルサイズは単なる説明目的であり、例えば、処理されるオーディオの種類(例えば、スピーチ、一般的なオーディオ、音楽、単一の楽器など)に応じて、限られた実験によって得られる可能性があることに注意すべきである。様々な畳み込みネットワークは、例えば、各層のフレームサイズに等しい公称ストライドを使用することができる、すなわち、各層に提供される以前のサンプルベクトルの正確な数に依存する。様々な畳み込みネットワークの出力チャネルの数は、例えば、モデルで使用される隠れた次元の数に対応することができ、また、これらの数は、例えば、処理されるオーディオのタイプに基づいて見つけることができる。
【0071】
その後、畳み込みネットワーク432、442、452のすべてからの出力は、一緒に加算され、回帰ニューラルネットワーク(recurrent neural network (RNN))462への入力として提供される。RNN462は、例えば、ゲート型回帰ユニット(gated recurrent unit (GRU))、長期短期記憶ユニット(long short-term memory unit (LSTM))、準回帰ニューラルネットワーク、エルマンネットワーク、又は類似のものなど、1つ以上のステートフルネットワークユニットを使用して実装される。このようなRNNの主な特性は、各時間スロット間の隠れた潜在的な状態を(少なくともある程度は)記憶することである。
【0072】
一般に、畳み込みネットワークの少なくとも一部(例えば、432)は、例えば、畳み込みネットワークの最後に提供されることが想定されている合計段まで、すべてのフィルタバンクチャネルを分離したままにするために、可能な限り多くのグループを使用することが想定されている。言い換えると、各チャネルは独自のフィルタのセットで畳み込むことができる。これにより、ここで開示されているように、チャネル間の依存関係をモデル化/学習するシステムの能力が向上する可能性がある。
図4Aに明示的に示されていないが、例えば、畳み込みネットワーク432は畳み込み要素とそれに続く総和要素の両方を含むことが想定されている。
【0073】
RNN462からの出力は、例えば、転置畳み込みネットワークを使用して実装されるアップサンプリング段472への入力として提供される。ネットワーク自体が、そのようなアップサンプリングを実行する方法を正確に学習する可能性があることが想定されている。すなわち、段472によって提供されるアップサンプリングは、「学習済みアップサンプリング」であってよい。
【0074】
アップサンプリング段472からの出力は、条件付け情報c2として次の層T1に提供される。層T1は、最上位層T2と同じタイプのコンポーネントを含むことが想定されており、層T2に関して上記で説明したすべてのことは、以下で反対に述べていない場合は、層T1及び最低層T0,0,…,T0,L-1にも適用されることが想定されている。
【0075】
層間の1つの違いは、少なくとも一部の畳み込みネットワークが、上の層の対応する畳み込みネットワークよりも小さいカーネルサイズを使用して動作することである。例えば、畳み込みネットワーク431は、16個のチャネルを含み、例えば5のカーネルサイズを使用することができる。同様に、畳み込みネットワーク451は、例えば、16個のチャネルを含み、例えば15のカーネルサイズを使用することができる。幾つかの実施例では、畳み込みネットワーク441は、例えば正確にどのような追加のサイド情報が提供されるかによって、最上位層T2の対応するコンポーネントとは異なると想定される場合がある。
【0076】
畳み込みネットワーク431、441、451の出力を合計した後、RNN461と学習済みアップサンプリング段471を介してさらに処理した後、層T1は次の層に向かって階層内で継承される条件付け情報c1を出力する。
【0077】
システム400では、最低層が順番に実行される複数のサブレイヤ490-j(ここで、j=0,...,(L-1)であり、Lはそのような副層の総数である)に分割される。各サブレイヤ490-jは、各々の副層T
0,jと副出力段480-jを含む。
図4Aでは、すべてのサブレイヤ490-jで条件付け情報c
1が同じであるとする。他の実施例では、層T
1からの条件付け情報が一部又はすべてのサブレイヤで異なる場合があり、例えばサブレイヤ490-jではc
1,jと定義されると想定される。同じ想定される可能性は、
図4Bを参照して後述するシステムにも適用される。
【0078】
ここで、「順次実行される」とは、最初にサブレイヤ490-0で処理が行われ、次のサブレイヤ、というように最後のサブレイヤ490-(L-1)での処理を含むまで処理が行われることを意味する。副層T0,jでは、層が時間スロットmについてこれまでに計算(又は生成)されたサンプルにもアクセスできること、及び各サブレイヤがチャネルの総数のうちの単一又は少数を計算できるようにするために、各々の畳み込みネットワーク430-jのカーネルがそれに応じて「マスク」されることが想定されており、第1サブレイヤ490-0は、最も低いチャネル又はチャネルのサブセットに関連付けられた現在サンプルの1つ以上の確率分布を推定し、それ以降の各サブレイヤについても同様に、最も高いチャネル又はチャネルのサブセットに関連付けられた現在サンプルの1つ以上の確率分布を推定する責任を持つ最後のサブレイヤ490-(L-1)まで推定される。
【0079】
例えば、サブレイヤ490-jは、各サブレイヤによって同じ数のチャネルが処理されるように構成することができる。例えば、合計で16のチャネルがあり、例えばL=4のサブレイヤがある場合、第1サブレイヤがチャネル0~3を担当し、次のサブレイヤがチャネル4~7を担当するなど、最後のサブレイヤがチャネル12~15を担当することができる。もちろん、サブレイヤ490-j間の様々なチャネルに対する責任の他の分割も可能である。畳み込みネットワーク430-jでマスクされたカーネルを使用することによって、まだ計算されていないチャネルの現在サンプルのプレイスホルダが提供されていても(プレイスホルダ値が「真」値に近いか、少なくとも0ではない)、例えば第1副層T
0,0の畳み込みネットワーク430-0によって実行される畳み込みは、プレイスホルダ値を考慮しないように構成することができる。したがって、例えば第14つのチャネル0~3のフィルタバンクサンプルの計算は、以前に生成された1つ以上の時間スロットのサンプルにのみ依存する。次の副層T
0,1(
図4aに示されていない)の対応する畳み込みネットワーク430-1(
図4aに示されていない)には、カーネルがあり、第1サブレイヤ490-0によって生成された確率分布から生成されたチャネルのサンプルを考慮することができ、層T
0,L-1の畳み込みネットワーク430-(L-1)が、すべてのチャネルに対して以前に生成されたすべてのサンプルに加えて、サブレイヤ490-(L-1)によって処理されるものより低いすべてのチャネルに対して現在生成されたサンプルを考慮することを可能にする最後の副層まで続く。
【0080】
ここで、畳み込みネットワークが「マスクされたカーネル」を持つことを意味する場合、そのような特徴は、トレーニング中にのみ重要である可能性があり、システム全体がチャネルの全範囲のグランドトゥルースサンプルにアクセスできる可能性があるが、例えば、副層がチャネルの特定の真部分集合以外のそのようなサンプルを「見る」ことを想定していない場合が想定されることに注意する必要がある。しかし、推定中(すなわち、生成モデルが既にトレーニングされた後)、そのような「特定のサブレイヤに関連付けられたバンド以外のバンドに属するサンプル」は(サブレイヤの順次実行により)存在しないか、少なくとも0であると想定される。したがって、推定中はマスクされたカーネルは必要ないかもしれない。
【0081】
例として、4つのサブレイヤがあり、各サブレイヤが各々4つのチャネルを処理する合計16チャネルに関連付けられたサンプルの上記の構成を使用すると、現在の時間スロットmのフィルタバンクサンプルを計算するために次の通りであってよい。
【0082】
事前に生成されたサンプルx<mの集合(全チャネルのサンプルを含む)が、現在のステップで計算される現在サンプルのプレイスホルダxmとともに畳み込みネットワーク430-jに提供される。畳み込みネットワーク430-0にはマスクされたカーネルがあり、現在サンプルのプレイスホルダはすべて無視されるが、すべてのチャネルに対して提供された以前に生成されたサンプルはすべて考慮される。これにより、副層T0,0は、副出力段480-0(これは、ここで先に説明したように、多層パーセプトロンであってよい)に提供される条件付けデータc0,0を出力する。副出力段480-0は、確率分布を生成する。ここで、「xc,m」は、時間スロットmのサンプルとチャネルの何らかのセット「c」を含むベクトルを意味し、「x:,<m」は、すべての(「:」)チャネルの1つ以上の以前の時間スロット<mのサンプルを含むベクトルを意味する。第1サブレイヤ490-0の場合、c=0,1,2,3である。確率分布は、以前に生成されたサンプルに対して、以前の時間スロット<mと16チャネルすべてに対して条件付けされる。このような分布からサンプリングした後、現在の時間スロットmの最初の4チャネルのサンプルx0,m,x1,m,x2,m,及びx3,mを生成できる。これらのサンプルのプレイスホルダは、実際に生成された値に置き換えられる。
【0083】
次のサブレイヤ490-1(示されない)では、畳み込みネットワーク430-1(示されない)のカーネルがマスクされ、以前の時間スロット<mに対して提供されたすべての以前のサンプルへのアクセスが許可されるが、第1サブレイヤ490-0から最近生成された現在の時間スロットmの4つの第1チャネルに対してのみアクセスが許可される。この層(示されない)の副出力段に提供される条件付け情報c0,1を生成した後、c=4,5,6,7及び<c=0,1,2,3となる確率分布p(xc,m|x<c,m;x:,<m)が生成される。言い換えると、この確率分布はチャネル4~7に属する現在サンプルに有効であるが、以前の時間帯<mの間に以前に生成されたサンプルに条件付けされるだけでなく、第1サブレイヤ490-0によって最近処理されたチャネルに対して生成されたサンプルにも条件付けされる。次に、チャネル4~7の現在サンプルは、この分布からサンプリングすることによって取得され、対応するプレイスホルダを置き換えるために挿入される。同様に、各サブレイヤは、最後のサブレイヤが最後の4つのチャネル(すなわちc=12、13、14、15など)の確率分布を生成するまで順番に実行される。これは、前の時間スロット<mに対して生成された以前のサンプルに条件付けされるが、現在の時間スロットmに対して、以前に生成されたすべての下位チャネル<c=0,...,11のサンプルにも条件付けされる。すべてのサブレイヤ490-jを順番に実行した後、すべてのチャネルのすべての現在サンプルの確率分布が取得され、そのようなすべてのサンプルは、生成された各々の確率分布からサンプリングすることによって生成される場合もあれば、生成されている場合もある。
【0084】
出力段420の様々なサブレイヤ490-0では、副層T0,jのコンポーネントは、基本的に上の層のコンポーネントと同じである。例えば、畳み込みネットワーク430-jは、430-jのマスクされたカーネルを除いて、層T1のものと似ている。同様に、例えば、畳み込みネットワーク430-jと450-jで使用されるカーネルサイズも、上の層(層T1)のものよりも小さくなる。以前と同様に、畳み込みネットワーク440-jは、上位の層のものと同じであっても異なっていてもよい。条件付け情報c0,jが出力されるRNN460-j及び(学習済み)アップサンプリング段470-jについても同様である。幾つかの実施形態では、例えば、副層T0,j及び対応する副出力段480-jが同じ(例えば最も高い可能な)時間分解能で動作すると想定できる。このような状況では、例えば対応するアップサンプリング段470-jは必要ないと考えられる。
【0085】
例えば
図4Aに示すように、様々な副出力段480-jは、以前に生成されたサンプル{x
≦m}
*
jの各々のセットを受け取ることもできる。他の実施形態では、様々な副出力段480-jに対して、以前に生成されたサンプルのそのようなセットは必要ないと想定される場合がある。
【0086】
図4Bは、本開示によるシステムの別の実施形態を示し、追加の回帰ユニット464が設けられている。回帰ユニット464は、例えば、GRU又はLSTM、又は既にここに記載されている他のタイプであってもよく、すべてのサブレイヤ490-jに共通である。回帰ユニット464は、より低いフィルタバンクチャネルからより高いフィルタバンクチャネルのサンプルを予測するのにさらに役立つ可能性がある。様々な回帰ユニット460-j(「時間方向」で動作すると想定される場合がある)とは対照的に、回帰ユニット464はレイヤ方向」で動作する。サブレイヤ490-jごとに、様々な畳み込み層430-j、440-j、450-jからの出力の合計と、上の層からの条件付け情報c
1が2つの部分に分割される。一方の部分は、回帰ユニット460-jの出力と混合され、回帰ユニット464への入力d
jとして提供される。もう一方の部分は、ここで既に説明したように、回帰ユニット460-jへの直接入力として提供される。回帰ユニット464は、各サブレイヤ490-jからそのような入力d
jを受け取ると想定することができ、そのような入力d
jごとに内部状態を更新する。次に、回帰ユニット464からの出力d
*、すなわち現在状態は、追加のサイド情報として各副出力段480-jに入力される。幾つかの実施例では、回帰ユニット464からの出力d
*を使用して、条件付け情報出力c
0,jを置き換えることができる。
【0087】
一般的に知られている最新のモデルでは、冒頭で説明したように、スカラサンプルベクトルで動作することが多く、各時間スロットについて単一の値のみが計算される(例えば、時間領域のモノラルオーディオ信号のサンプル)。これにより、式(7)を参照して前述したような混合モデルを作成するために、単純なスカラプロトタイプ分布(例えば、ガウス、ロジスティクス、ラプラスなど)を使用できる。しかし、本開示は、各時間スロットmについてベクトルが多次元であり、次元がフィルタバンクチャネルの数によって支配される、フィルタバンク領域で生成モデルを動作することを示唆している。例えば、上述のように、本開示では、ベクトルxmは、各ベクトル要素が、各々1つのフィルタバンクチャネルに対応する複数のコンポーネントを順番に含むようなものである。言い換えると、本開示は、各時間スロットが複数の周波数帯域/スロットを含む多次元時間スロットに依存することができる。
【0088】
したがって、本開示の生成モデルは、一度に複数のサンプルを(同じ時間スロットから)出力するように構成することができる。例えば、
図3B及び
図4A/4Bを参照して説明された実施形態において、チャネルと同数のサブレイヤがある場合、各レイヤは単一チャネルのみに関係し、再構成は490-0から490-(L-1)まで順番に発生すると想定することができる。しかしながら、複数の帯域を1つのステップで処理する必要がある場合が多い(例えば、サブレイヤがチャネルより少ない場合、又は
図3Aを参照して説明されているように、出力段に単一層/MLPしかない場合など)。このような状況で帯域間/チャネル間の依存関係を再構成するために、生成モデルは多変量プロトタイプ分布に依存する必要がある場合がある。これにより、これらの帯域の再構成を1つのステップで実行できる可能性がある。これは、モデルのMLPサブレイヤを並列に実行できるため、計算上の利点を幾つかもたらすことができる(又は、並列サブレイヤを1つのサブレイヤに結合できるため、1つのサブレイヤのみを実行する必要がある)。例えば、モデルは1つのステップですべての帯域を再構成するように構成でき、MLPサブレイヤを順次実行する必要がなくなる。また、モデルは、その時点でのチャネルの全数よりも少ない帯域を出力するように構成することもできる。その場合、順に動作する複数のMLPサブレイヤを使用する必要がある。
【0089】
他の例も考慮することができるが、最初に多変量ガウスの場合を考慮することができる。生成モデルは、単一の時間スロットmについて、M次元フレームに対応するパラメータを出力すると想定することができる。ここで、Mはフィルタバンクチャネルの数である。状況によっては、Mには使用可能なすべてのフィルタバンクチャネルが含まれる場合がある。ただし、状況によっては、以下で使用されるMにはすべてではなく、少なくとも2つ以上のそのようなチャネルが含まれると考えることができる。この場合のガウス混合モデルはJ成分を含む場合があり、次式のように記述される:
【数8】
ここで、j番目の成分について、w
jはスカラ重み、μ
jはM次元平均、Σ
jはM×M共分散行列である。なお、Σ
jは正の半定値である必要がある。このような制約を課すために、Σ
jを直接提供する代わりに、本開示のシステムによって実装される生成モデルは、以下のようなそのコレスキー(Cholesky)分解のパラメータU
jを提供する。
【数9】
ここで、U
jは非ゼロ主対角線を持つ下三角行列である。これはΣ
jが可逆であることを保証するのに十分である場合があり、これは例えばNLL損失関数に対するスキームの最適化を可能にする。
【0090】
しかし、このようなアプローチの考えられる欠点は、モデルパラメータの数がO(M2)のように増加することであり、望ましくない可能性がある。このような潜在的な問題に対処するために、本開示では、共通のフィルタバンク(QMF、MDCT、DCTなど)が含む、Mが増加するにつれて、フレーム(時間スロット)の個々の寸法がますます相関しなくなることを意味する非相関特性を使用することが提案されている(例えば、これらのフィルタバンクで発生するエネルギ集中による)。これにより、Σjに構造を課すことができ、結果としてUjにも構造を課すことができる。
【0091】
説明のため、ここでは再び16次元の場合(例えば16チャネルのフィルタバンクに対応する)を使用する。このような場合、本開示は、Σ
jの少なくとも幾つかの対角線が0であると想定することを示唆している。つまり、以下のようになる:
【数10】
結果的に以下である:
【数11】
ここでc
1,2,…,c
15,16はΣ
jをパラメータ化するためにネットワークが提供するスカラパラメータである。一般に、U
jの対角の数が少なく、1より大きくMより小さい場合が望ましい。
【0092】
パラメータU
jはさらに次式に分解することができる:
【数12】
ここで、
【数13】
及び、
【数14】
これは、Σ
jを反転させる際の数値安定性を向上させる目的のためである。この場合、d
1,2,…,d
15,16及びσ
1,…,σ
16は、Σ
jをパラメータ化するためにネットワークが提供するスカラパラメータである。
【0093】
スカラの場合、関連するトレーニングプロセスの特性により、例えばラプラス分布やロジスティック分布を使用すると、ガウス分布よりも優れた結果が得られることは、多くの場合事実である。本開示は、上記の方法をガウス分布以外の分布に一般化する方法を示唆しており、多次元時間スロットにも有効である。
【0094】
第1ステップでは、システムによって提供されるスカラパラメータμ
b及びs
bを使用して、混合成分jのMスカラ分布F
b(μ
b,s
b)を定義することが提案されている。次に、単位主対角線と少数の非ゼロ対角線を持つ三角行列の形式を取る線形変換L
jを定義することが提案されている。一般に、この行列は下三角又は上三角にすることができる。説明を明確にするために、下三角であると想定するが、上三角の場合も考慮できることが理解できる。ここで、「少数の非ゼロ対角線」とは、(上三角行列の場合)上対角線の数、又は(下三角行列の場合)下対角線の数を指す。さらに、例として、ガウスの場合:
【数15】
なお、L
jは常に反転可能であり、損失l
NLLは、このような変換の後に個々の次元が独立であるという想定の下で、l
NLLの式のスカラプロトタイプ分布を持つ次式で計算することができる:
【数16】
このような想定は、L
jが帯域間/チャネル間の相関を導入することを目的としているのに対し、L
-1
jはそのような相関を除去するので、及びトレーニングが仕様に適合するモデルを達成することを目的としているので、合理的である。
【0095】
上で説明した変換は、例えば、
図3Aを参照して説明したシステム300のようなシステムで利用することができるが、ここでは、出力段320はさらに複数の順次実行されるサブレイヤに分割されるのではなく、代わりに、単一の最下位層T
0と単一の出力段ニューラルネットワーク380(例えばMLPなど)を使用して、単一のステップですべてのチャネルの現在サンプルの確率分布を生成する。
図3Bと4A/4Bを参照して説明した例に存在するフレーム内/時間スロット回帰を(大部分)排除することによって、
図3Aのシステムは、適切なハードウェア上での並列化により適した代替手段を提供することができる。出力段320とニューラルネットワーク380では、線形変換L
jとF
bのパラメータの更新を、各々の混合成分に対して提供することができるが、ここで、前述のように、L
jは主対角線上に1を持つ下三角行列であり、b個の非ゼロ対角線であり、ここで、1<b<Mである。幾つかの実施形態では、例えば信号を再構成するため、又は現在の時間スロットmのフィルタバンクサンプルを生成するために、サンプリング手順がL
jによる変換を含む場合に、(ランダム)サンプリングを実行することができる。
【0096】
本開示は、オーディオ信号のフィルタバンク表現のための複数の現在サンプルについて確率分布を自己回帰的に生成する方法を更に想定し、現在サンプルは現在時間スロットに対応し、各現在サンプルはフィルタバンクの各々のチャネルに対応するものである。このような方法は、もちろん、このような確率分布を生成するために、ここに記載されているシステムのいずれかに実装されている、本開示の生成モデルを使用するものとして想定される。このような方法について、
図5を参照して簡単に説明する。
【0097】
図5は、本開示の1つ以上の実施形態による方法500のフローを概略的に示す。ステップS501は、複数のニューラルネットワーク処理層の階層を使用して、条件付け情報10(例えば、上述したようなc
0)を生成するステップであって、層は、最上位処理層から最下位処理層へと順序付けられ、各処理層は、フィルタバンク表現のための以前のサンプルと、最上位層以外の少なくとも各処理層については、階層の上位の処理層によって生成された条件付け情報に更に基づいて、条件付け情報を生成するようにトレーニングされている。ステップS501において、「条件付け情報を生成する」とは、最下位処理層によって生成された条件付け情報を使用することを意味する。
【0098】
ステップS502において、ステップS501で提供/生成された条件付け情報510は、フィルタバンク表現の1つ以上の以前の時間スロットに対応する以前のサンプル及びステップS501で生成された条件付け情報510に基づいて、例えばp(xm|x<m)のような確率分布520を生成するようにトレーニングされた出力段とともに使用される。
【0099】
方法500の幾つかの実施例において、ステップS503は、生成された確率分布520からのサンプリングによって、フィルタバンク表現のための複数の現在サンプルを生成するステップを含む。その後、生成されたサンプル530は、例えばステップS501とS502の一方又は両方に対して以前に生成されたサンプルとして提供される。
【0100】
方法500では、ステップS501とS502はもちろん、確率分布520を生成するためにここで開示されているシステムを使用することに単純に対応して、単一のステップ(図示せず)に結合することができる。
【0101】
方法500は、ここで開示されているシステムの任意の実施形態について説明及び/又は議論されているものに従って修正することができると想定される。例えば、システム(それによってステップS501及びS502)は、追加のサイド情報を使用することができ、層はここで先に説明した方法で構成することができ、ステップはここで先に説明したように回帰ユニットの使用を含むことができ、ステップS502で使用される出力段はここで先に説明したように構成することができる、等である。異なる表現では、方法500のフローは、例えばここで説明したようにシステムの任意の実施形態を使用することによって、ここで説明したように生成モデルを実装することが想定される。
【0102】
本開示はまた、コンピュータハードウェアに属する少なくとも1つのコンピュータプロセッサによって実行されたときに、コンピュータハードウェアを使用して生成モデルを(すなわち、ここに記載されているシステムを実装することによって、及び/又は上記の方法を実行することによって)実装するために動作可能な命令を格納する、非一時的コンピュータ可読媒体の提供を想定する。
【0103】
ここに記載されているシステムに実装されるか又はここに記載されている方法によって実行される生成モデルは、例えば、符号化方式、望ましくはデコーダで使用されることが想定される。完全なオーディオ信号をデコーダ側に送信する代わりに、生成モデルは、以前に生成されたサンプルに基づいて現在サンプルを生成する(つまり、それ自体が「空白を埋める」)方法を学習し、追加のサイド情報(これはe.q.量子化済みフィルタバンクのサンプル、又はその他のコーディングデータなど)を提供することで、生成モデルは、元の信号を十分に想起させる信号が後の合成段で再構成されるように、フィルタバンクのサンプルを生成する方法を学習することができる。ここで前述したように、例えば信号拡張などの他のタスクも生成モデルに適している場合がある。生成モデルは、例えば、追加のサイド情報としてノイズの多い信号を受信し、それに応じてサンプルが生成される生成した確率分布を適応させることによって、そのようなノイズを除去する方法を学習する場合がある。
【0104】
本開示のニューラルネットワークシステムは、以上に例示的な実施形態において説明されたように、例えば、プロセッサ(ニューラルネットワークシステム中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタルシグナルプロセッサ(DSP)、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の高周波集積回路(RFIC)、又はこれらの任意の組み合わせ)と、プロセッサに結合されたメモリとを含むコンピュータを使用して、コンピュータハードウェアを使用して、実装することができる。上述のように、プロセッサは、開示全体で説明されている方法の一部又は全部のステップを実行するように適応させることもできる。
【0105】
コンピュータハードウェアは、例えばサーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチ又はブリッジ、又はそのコンピュータハードウェアが取るべき動作を指定する命令(シーケンシャル又はその他)を実行することができる任意のマシンであってもよい。更に、本開示は、ここで議論されている概念のいずれか1つ以上を実行する命令を個別に又は共同で実行するコンピュータハードウェアの集合に関するものでなければならない。
【0106】
ここで使用されるとき、「コンピュータが可読媒体」という用語は、例えば、固体メモリ、光学メディア、磁気メディアの形態のデータレポジトリを含むが、これに限定されない。
【0107】
特に断りのない限り、以下の議論から明らかなように、本開示を通じて、「処理する(processing)」、「計算する(computing、calculating)」、「決定する(determining)」、「分析する(analyzing)」等のような用語を用いる議論は、コンピュータハードウェア又はコンピューティングシステム、又は物理的、例えば電子的な量として提示されるデータを操作し及び/又は物理的量として同様に提示される他のデータに変換する同様の電子コンピューティング装置の動作及び/又は処理を表す。
【0108】
同様に、用語「コンピュータプロセッサ」は、例えばレジスタ及び/又はメモリからの電子データを処理して、該電子データを例えばレジスタ及び/又はメモリに格納され得る他の電子データに変換する、任意の装置又は装置の部分を表してよい。「コンピュータ」又は「コンピューティング装置」又は「コンピューティングプラットフォーム」又は「コンピュータハードウェア」は、1つ以上のプロセッサを含んでよい。
【0109】
本願明細書に記載した概念は、1つ以上の例示的な実施形態では、プロセッサのうちの1つ以上により実行されると本願明細書に記載した方法のうちの少なくとも1つを実行する命令セットを含むコンピュータ可読(機械可読とも呼ばれる)コードを受け付ける1つ以上のプロセッサにより実行可能である。行われるべき動作を指定する(シーケンシャル又はその他の)命令セットを実行可能な任意のプロセッサが含まれる。従って、一例は、1つ以上のプロセッサを含む標準的な処理システム(つまり、コンピュータハードウェア)である。各プロセッサは、CPU、画像処理ユニット、及びプログラマブルDSPユニット、のうちの1つ以上を含んでよい。処理システムは、メインRAM及び/又は静的RAM及び/又はROMを含むメモリサブシステムを更に含んでよい。バスサブシステムは、コンポーネント間の通信のために含まれてよい。処理システムは、更に、ネットワークにより接続されたプロセッサを有する分散型処理システムであってよい。処理システムがディスプレイを必要とする場合、このようなディスプレイ、例えば液晶ディスプレイ(LCD)又は陰極線管(CRT)ディスプレイが含まれてよい。手動データ入力が必要とされる場合、処理システムは、キーボードのような英数字入力ユニット、マウスのようなポインティング制御装置、等のうちの1つ以上のような入力装置も含む。処理システムは、ディスクドライブユニットのような記憶システムも含んでよい。幾つかの構成における処理システムは、音声出力装置、及びネットワークインタフェース装置を含んでよい。メモリサブシステムは、従って、1つ以上のプロセッサにより実行されると本願明細書に記載の方法のうちの1つ以上を実行させる命令セットを含むコンピュータ可読コード(例えばソフトウェア)を運ぶコンピュータ可読担持媒体を含む。方法が幾つかの要素、例えば幾つかのステップを含むとき、特に断りのない限り、これらの要素の順序は示唆されないことに留意する。ソフトウェアは、ハードディスク内に存在してよく、又はlコンピュータシステムによる実行中に完全に又は部分的にRAM内に及び/又はプロセッサ内に存在してもよい。従って、メモリ及びプロセッサは、コンピュータ可読コードを運ぶコンピュータ可読媒体も構成する。更に、コンピュータ可読担持媒体は、コンピュータプログラムプロダクトを形成し又はそれに含まれてよい。
【0110】
代替的な例示的な実施形態では、1つ以上のプロセッサは、独立型装置として動作し、又は接続され、例えばネットワーク接続された展開では他のプロセッサにネットワーク接続されてよく、1つ以上のプロセッサは、サーバ-ユーザネットワーク環境でサーバ又はユーザ装置の能力で、又はピアツーピア若しくは分散型ネットワーク環境でピア装置として動作してよい。1つ以上のプロセッサは、PC(personal computer)、タブレットPC、PDA(Personal Digital Assistant)、携帯電話機、ウェブ機器、ネットワークルータ、スイッチ若しくはブリッジ、又は機械により取られるべき動作を指定する(シーケンシャル又はその他の)命令セットを実行可能な任意の機械を形成してよい。
【0111】
用語「機械」は、本願明細書に記載の方法のうちの任意の1つ以上を実行するための命令セット(又は複数のセット)を個別に又は共同で実行する機械の任意の集合を含むと考えられるべきである。
【0112】
従って、本願明細書に記載の方法の各々の例示的な実施形態は、命令セット、例えば1つ以上のプロセッサ、例えばウェブサーバ構成の部分である1つ以上のプロセッサ上での実行のためであるコンピュータプログラムを運ぶコンピュータ可読担持媒体の形式である。従って、当業者により理解されるように、本開示の例示的な実施形態は、方法、専用機器のような機器、データ処理システムのような機器、又はコンピュータ可読担持媒体、例えばコンピュータプログラムプロダクト、として具現化されてよい。コンピュータ可読担持媒体は、1つ以上のプロセッサ上で実行されると該プロセッサ又は複数のプロセッサに方法を実施させる命令セットを含むコンピュータ可読コードを運ぶ。従って、本開示の態様は、方法、完全にハードウェアの例示的な実施形態、完全にソフトウェアの例示的な実施形態、又はソフトウェア及びハードウェアの態様を組み合わせた例示的な実施形態の形式を取り得る。更に、本開示は、媒体内に具現化されるコンピュータ可読プログラムコードを運ぶ担持媒体(例えば、コンピュータ可読記憶媒体上のコンピュータプログラムプロダクト)の形式を取ってよい。
【0113】
ソフトウェアは、更に、ネットワークインタフェース装置により、ネットワークを介して送信され又は受信されてよい。担持媒体は、例示的な実施形態において信号媒体であるが、用語「担持媒体」は、1つ以上の命令セット格納する信号媒体又は複数の媒体(例えば、中央又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を含むと解釈されるべきである。用語「担持媒体」は、プロセッサのうちの1つ以上による実行のために命令セットを格納し、符号化し、又は運ぶ能力のある、及び1つ以上のプロセッサに本開示の方法のうちの任意の1つ以上を実行させる任意の媒体も含むと解釈されるべきである。担持媒体は、限定ではないが、不揮発性媒体、揮発性媒体、及び伝送媒体を含む多くの形式を取ってよい。不揮発性媒体は、例えば、光、磁気ディスク、又は光磁気ディスクを含む。揮発性媒体は、メインメモリのような動的メモリを含む。伝送媒体は、バスサブシステムを含むワイヤを含む、同軸ケーブル、銅線、光ファイバを含む。伝送媒体は、無線波及び赤外線データ通信の間に生成されるような、音響又は光波の形式も取りうる。例えば、用語「担持媒体」は、従って、限定ではないが、固体メモリ、光及び磁気媒体内に具現化されるコンピュータプロダクト、少なくとも1つのプロセッサ又は1つ以上のプロセッサにより検出可能であり実行されると方法を実施する命令セットを表す伝搬信号を運ぶ媒体、及び1つ以上のプロセッサのうちの少なくとも1つのプロセッサにより検出可能な伝搬信号を運び命令セットを表すネットワーク内の伝送媒体を含むと解釈されるべきである。
【0114】
議論した方法のステップは、ストレージに格納された命令(コンピュータ可読コード)を実行する処理(例えば、コンピュータ)システム/ハードウェアの適切なプロセッサ(又は複数のプロセッサ)により例示的な一実施形態において実行されることが理解される。また、本開示は任意の特定の実装又はプログラミング技術に限定されないこと、及び本開示は、本願明細書に記載の機能を実施するために任意の適切な技術を使用して実施されてよいことが理解される。本開示は、任意の特定のプログラミング言語又はオペレーティングシステムに限定されない。
【0115】
本開示を通じて例えば「一実施形態」、「幾つかの実施形態」又は「例示的な実施形態」への言及は、例示的な実施形態に関連して記載される特定の特徴、構造、又は特性が本開示の少なくとも1つの例示的な実施形態に含まれることを意味する。従って、本開示を通じて様々な場所における例えば「例示的な一実施形態では」、「例示的な幾つかの実施形態では」又は「例示的な実施形態では」等という語句の出現は、必ずしも全部が同じ例示的な実施形態を参照しない。更に、特定の特徴、構造、又は特性は、1つ以上の例示的な実施形態において、本開示から当業者に明らかなように、任意の適切な方法で組み合わされてよい。
【0116】
本願明細書で使用されるとき、特に断りのない限り、共通のオブジェクトを説明するための序数「第1」、「第2」、「第3」などの使用は、単に、同様のオブジェクトの異なるインスタンスが言及されていることを示すものであり、説明されているオブジェクトが時間的に、空間的に、ランク付けにおいて、又は任意の他の方法で所与のシーケンスでなければならないことを意味しない。
【0117】
以下の請求の範囲及び本願明細書に記載の説明では、用語:含む、有する、構成される、又は構成するのうちの任意の1つは、広義であり、それに続く要素/特徴を少なくとも含むが他を排除しないことを意味する。従って、用語:含むは、請求項中で使用されるとき、その後に列挙される手段又は要素又はステップに限定されると解釈されてはならない。例えば、装置はA及びBを含むという表現の範囲は、装置が要素A及びBのみで構成されることに限定されるべきではない。用語:有するも、本願明細書で使用されるとき、広義であり、該用語に続く要素/特徴を少なくとも含むが他を排除しないことを意味する。従って、有するは、含むと同義語であり、含むことを意味する。
【0118】
理解されるべきことに、本開示の例示的な実施形態の上述の説明では、本開示の種々の特徴は、本開示を効率化する及び種々の本発明の態様のうちの1つ以上の理解を支援する目的で、時に単一の例示的な実施形態、図、又はその説明に一緒にグループ分けされる。しかしながら、本開示のこの方法は、請求の範囲が各請求項に明示的に記載されたよりも多くの特徴を必要とするという意図を反映していると解釈されてはならない。むしろ、以下の請求項が反映するように、本発明の態様は、単一の前述の開示された例示的な実施形態の全部の特徴よりも少数にある従って、説明に続く請求の範囲は、この説明に明示的に組み込まれ、各請求項は、本開示の個別の例示的な実施形態としてそれ自体独立である。
【0119】
更に、本願明細書に記載した幾つかの例示的な実施形態は、他の例示的な実施形態に含まれる他の特徴ではなく幾つかの特徴を含むが、当業者により理解されるように、異なる例示的な実施形態の特徴の組合せは、本開示の範囲内にあることを意味し、異なる例示的な実施形態を形成する。例えば、以下の請求の範囲では、請求される例示的な実施形態のうちの何れかが、任意の組合せで使用できる。
【0120】
本願明細書で提供される説明では、多数の特定の詳細事項が説明された。しかしながら、本開示の例示的な実施形態は、これらの特定の詳細事項を有しないで実施されてよいことが理解される。他の例では、よく知られた方法、構造、及び技術は、本発明の説明の理解を不明瞭にしないために、示されなかった。
【0121】
従って、本開示のベストモードとして信じられるものが記載されたが、当業者は、他の及び更なる変更が、本開示の精神から逸脱することなく行われてよいこと、及び全てのそのような変化及び変更が本開示の範囲内にあると意図されることを理解するだろう。例えば、上述の任意の数式は、単に使用され得る手順の表現である。機能がブロック図に追加され又は削除されてよく、動作が機能ブロックの間で交互交換されてよい。ステップは本開示の範囲内に記載された方法に追加され又は削除されてよい。
【0122】
本発明の種々の態様は、以下に列挙する例示的な実施形態(enumerated example embodiment:EEE)から明らかであり得る。
(EEE1)
オーディオ信号のフィルタバンク表現のための複数の現在サンプル(xm)の確率分布を自己回帰的に生成するためのニューラルネットワークシステム(300)であって、前記現在サンプルは、現在時間スロット(m)に対応し、各現在サンプルは、前記フィルタバンクの各々のチャネルに対応し、
最上位処理層(TN-1)から最下位処理層(T0)まで順序付けられた複数のニューラルネットワーク処理層(TN-1,TN-2,…,T0)の階層であって、各処理層(Tj)は、前記フィルタバンク表現のための以前のサンプル(x<m)と、最上位層を除く少なくとも各処理層については、前記階層の上位の処理層(Tj+1)によって生成された条件付け情報(cj+1)に更に基づいて、条件付け情報(cj)を生成するようにトレーニングされている、階層(310)と、
前記フィルタバンク表現の1つ以上の以前の時間スロット(<m)に対応する以前のサンプル(x<m)と、前記最低処理層から生成された条件付け情報に基づいて前記確率分布を生成するようにトレーニングされた出力段(320)と、
を含むシステム。
(EEE2)
各処理層は、前記現在時間スロットに提供された追加のサイド情報に更に基づいて、前記条件付け情報を生成するようにトレーニングされている、EEE1のシステム。
(EEE3)
前記生成された確率分布からのサンプリングによって、前記フィルタバンク表現のための前記複数の現在サンプルを生成するように構成された手段、を更に含むEEE1又は2に記載のシステム。
(EEE4)
各処理層は、前記フィルタバンク表現のための前記以前のサンプルを受信するために構成された畳み込みモジュールを含み、各畳み込みモジュールは、前記フィルタバンクのチャネル数と同じ数の入力チャネルを持ち、前記畳み込みモジュールのカーネルサイズは、前記階層内の前記最上位処理層から前記最下位処理層へと減少する、EEE1~3のいずれか一項に記載のシステム。
(EEE5)
各処理層は、前記畳み込みモジュールからの出力の合計を入力として受信するように構成された少なくとも1つの回帰ユニットと、
前記最低処理層以外の少なくとも各処理層について、前記少なくとも1つの回帰ユニットからの出力を入力として受信し、出力として条件付け情報を生成するように構成された少なくとも1つの学習アップサンプリングモジュールと、
を含む、EEE4に記載のシステム。
(EEE6)
前記出力段は前記最下位処理層を含み、前記最下位処理層は複数の連続して実行される副層に細分化され、各副層は前記フィルタバンクのチャネルの真部分集合に対応する1つ以上の現在サンプルの確率分布を生成するようにトレーニングされており、少なくとも最初に実行された副層を除くすべての副層は、1つ以上の以前に実行された副層によって生成された現在サンプルに更に基づいて前記確率分布を生成するようにトレーニングされている、EEE1~5のいずれか一項に記載のシステム。
(EEE7)
前記最初に実行された副層が、前記フィルタバンクの少なくとも最低チャネルに対応する1つ以上の現在サンプルを生成し、前記最後に実行された副層が、前記フィルタバンクの少なくとも最高チャネルに対応する1つ以上の現在サンプルを生成する、EEE6に記載のシステム。
(EEE8)
前記現在サンプルの前記確率分布が混合モデルを使用して得られる、EEE1~7のいずれか一項に記載のシステム。
(EEE9)
前記確率分布を生成することは、前記混合モデルの混合係数(j)に対する線形変換(Lj)の更新を提供することを含み、前記線形変換は、主対角線上に1を持つ三角行列によって定義され、前記三角行列は、1より大きく前記フィルタバンクのチャネル数より小さい、0でない対角線の数を持つ、EEE8に記載のシステム。
(EEE10)
前記サンプリングは、前記線形変換による変換を含む、EEE3に従属するEEE9に記載のシステム。
(EEE11)
前記最下層処理層のすべての副層に共通であり、i)前記畳み込みモジュールからの出力の合計と、ii)前記少なくとも1つの回帰ユニットの出力(460-j)と、の混合を入力として受信し、それに基づいて各副層(490-j)の各々の副出力段(480-j)への追加サイド情報(d*)を生成するように構成される追加回帰ユニット(464)、を更に含むEEE5に従属するEEE6に記載のシステム。
(EEE12)
オーディオ信号のフィルタバンク表現のための複数の現在サンプルについて確率分布を自己回帰的に生成する方法であって、前記現在サンプルは現在時間スロットに対応し、各現在サンプルは前記フィルタバンクの各々のチャネルに対応するものであり、EEE1~11のいずれか一項に記載のシステムを使用して前記確率関数を生成するステップを含む方法。
(EEE13)
コンピュータハードウェアに属する少なくとも1つのコンピュータプロセッサによって実行されたときに、前記コンピュータハードウェアを使用してEEE1~11のいずれか一項に記載のシステムを実装し及び/又はEEE12に記載の方法を実行するよう動作可能な命令を格納する非一時的コンピュータ可読媒体。