CN115867966A - 用于确定生成神经网络的参数的方法和装置 - Google Patents
用于确定生成神经网络的参数的方法和装置 Download PDFInfo
- Publication number
- CN115867966A CN115867966A CN202180049232.4A CN202180049232A CN115867966A CN 115867966 A CN115867966 A CN 115867966A CN 202180049232 A CN202180049232 A CN 202180049232A CN 115867966 A CN115867966 A CN 115867966A
- Authority
- CN
- China
- Prior art keywords
- stage
- pruning
- dynamic range
- audio
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 315
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 228
- 238000013138 pruning Methods 0.000 claims abstract description 218
- 238000012549 training Methods 0.000 claims abstract description 178
- 230000008569 process Effects 0.000 claims abstract description 68
- 230000005236 sound signal Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000002829 reductive effect Effects 0.000 claims description 123
- 230000035945 sensitivity Effects 0.000 claims description 118
- 230000009467 reduction Effects 0.000 claims description 65
- 230000006870 function Effects 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010206 sensitivity analysis Methods 0.000 claims description 17
- 238000012074 hearing test Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 230000003595 spectral effect Effects 0.000 claims description 12
- 230000002708 enhancing effect Effects 0.000 claims description 10
- 230000001965 increasing effect Effects 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 9
- 238000012805 post-processing Methods 0.000 claims description 8
- 238000012935 Averaging Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000003042 antagnostic effect Effects 0.000 claims description 3
- 230000004913 activation Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 17
- 238000013139 quantization Methods 0.000 description 14
- 230000002123 temporal effect Effects 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000670 limiting effect Effects 0.000 description 8
- 230000001052 transient effect Effects 0.000 description 7
- 238000007493 shaping process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 241000695274 Processa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/69—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0316—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
- G10L21/0364—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本文描述了一种确定用于处理音频信号的生成神经网络的参数的方法,其中生成神经网络包括映射到编码特征空间的编码器级、以及解码器级,每个级包括多个卷积层,具有一个或更多的权重系数,该方法包括多个周期,顺序过程为:基于修剪控制信息对任一级或两个级的权重系数进行修剪,修剪控制信息确定针对各个卷积层被修剪的权重系数的数量;基于训练数据集训练经修剪的生成神经网络;基于损失函数确定经训练和修剪的生成神经网络的损失;基于所确定的损失和目标损失确定更新的修剪控制信息。还描述了相应的装置、程序和计算机可读存储介质。
Description
相关申请的交叉引用
本申请要求以下优先权申请的优先权:2020年6月1日提交的美国临时申请63/032,903(编号:D20038USP1)、2020年6月23日提交的欧洲申请20181683.2(编号:D20038EP)、和2021年4月21日提交的美国临时申请63/177,511(编号:D20038USP2),,这些优先权申请通过引用而并入此。
技术领域
本公开总体上涉及配置例如用于音频处理的生成神经网络的方法,并且具体地涉及确定生成神经网络的参数(例如,滤波器参数)。
虽然文中将特别参考公开内容描述一些实施例,但应当理解,本公开不限于这样的使用领域,而是适用于更广泛的情境。
背景技术
在整个公开中对背景技术的任何讨论都不应被视为承认此类技术广为人知或构成本领域公知常识的一部分。
音频记录系统用于将音频信号编码成适合传输或存储的编码信号,随后接收或检索并解码编码信号,以获得原始音频信号的版本以供播放。低比特率音频编码是一种感知音频压缩技术,其允许降低带宽和存储要求。感知音频编码系统的示例包括AC3、高级音频编码(AAC)、和最近标准化的AC-4音频编码系统,其由ETSI标准化并包含在ATSC 3.0中。
然而,低比特率音频编码引入了不可避免的编码伪像。因此,由于量化和编码引入的噪声,以低比特率编码的音频可能会质量劣化。这方面的一个特殊问题是所谓的前回声伪像。在频域中瞬态音频信号的量化中会产生前回声伪像,这导致量化噪声在瞬态本身之前传播。前回声噪声确实会显著损害诸如MPEG AAC编解码器或任何其它基于变换的(例如基于MDCT的)音频编解码器的音频编解码器的质量。
到目前为止,已经开发出多种方法来降低前回声噪声,从而提高低比特率编码音频的质量。这些方法包括短块切换和时间噪声整形(TNS)。后一种技术基于在频域中应用预测滤波器以在时域中对量化噪声进行整形,从而使噪声对听众的干扰较小。
除了前回声伪像之外,低比特率编码音频的质量也会被量化噪声损害。为了降低信息容量要求,音频信号的频谱分量被量化。然而,量化会将噪声注入信号。通常,感知音频编码系统涉及使用心理声学模型来控制量化噪声的幅度,以便它被信号中的频谱分量掩蔽或不可听地呈现。
压缩扩展是AC-4编码系统中的一种编码工具,其可改善语音和密集瞬态事件(例如掌声)的感知编码。压缩扩展的好处包括减少输入信号的短时动态,从而降低编码器侧的比特率需求,同时确保解码器侧适当的时间噪声整形。
已经发现深度学习提供了新的改进编码音频的机会,特别地,使用诸如卷积神经网络(CNN)的生成神经网络的尝试取得了成功。瞬态伪像减少、带宽扩展和量化噪声整形是可以从采用基于深度学习的方法中获益的一些方面。然而,完全训练的生成神经网络可能包含多个参数(例如,权重系数),因此运行生成神经网络的计算要求高。这可能会对在内存和/或电池受限设备上的部署造成限制。通常,在使用内存容量和/或计算资源有限的移动设备处理音频时,生成神经网络的效用可能有限。
鉴于上述情况,希望提高基于深度学习的音频增强(例如,利用生成神经网络的音频处理)的效率。特别地,希望在不降低性能的情况下减少基于深度学习的音频处理的内存使用和计算复杂性。
发明内容
根据本公开的一个方面,提供了一种确定用于音频信号后处理的生成对抗网络GAN的生成器的方法,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每个层中具有一个或多个滤波器,其中每个滤波器包括一个或多个权重(例如,滤波器系数),并且其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间。该方法可包括步骤(a):基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级。并且该方法还可包括步骤(b):基于所述灵敏度参数集,修剪编码器级的瓶颈层。
在一些实施例中,修剪可包括基于灵敏度参数集将一个或多个权重归零。
在一些实施例中,该方法还可包括:基于灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;其中,灵敏度参数集可被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
在一些实施例中,编码器级的被修剪层的数量可小于解码器级的被修剪层的数量。
在一些实施例中,该方法还可包括以下步骤:对编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,获得灵敏度参数集。
在一些实施例中,可对GAN的第二生成器的编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,其中第二生成器可以是被训练的未修剪的生成器。
在一些实施例中,执行步骤(a)和步骤(b)可对应于修剪进程(pass),并且其中该方法还包括与GAN设置的一个或多个训练进程交替执行修剪进程的一个或多个周期(cycle)。
在一些实施例中,可在GAN设置中的动态范围缩小域中执行所述一个或多个训练进程,其中所述GAN设置可包括生成器和鉴别器。
在一些实施例中,该一个或多个训练进程包括以下步骤:
(a)将动态范围缩小原始音频训练信号输入生成器;
(b)通过生成器基于动态范围缩小原始音频训练信号生成增强的动态范围缩小音频训练信号;
(c)将增强的动态范围缩小音频训练信号和由其得出动态范围缩小原始音频训练信号的相应的初始动态范围缩小音频信号每次一个地输入到鉴别器;
(d)通过鉴别器判断输入的动态范围缩小音频信号是增强的动态范围缩小音频训练信号还是初始动态范围缩小音频信号;
(e)调整生成器的参数,直到鉴别器无法再将增强的动态范围缩小音频训练信号与初始动态范围缩小音频信号区分开。
在一些实施例中,该方法还可包括在与训练进程交替的修剪进程的多个周期之后执行听力测试。
在一些实施例中,执行听力测试可包括将被训练和修剪的生成器的输出与第二生成器的输出进行比较。
在一些实施例中,执行修剪进程可涉及对生成器进行修剪,但不涉及对鉴别器进行修剪。
根据本公开的另一方面,提供了一种在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法。该方法可包括步骤(a)接收低比特率音频比特流。该方法还可包括步骤(b)对低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据。该方法还可包括步骤(c)将动态范围缩小的原始音频数据输入用于处理动态范围缩小的原始音频数据的生成对抗网络GAN的生成器,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比。该方法还可包括步骤(d)通过生成器在动态范围缩小域中增强动态范围缩小的原始音频数据。该方法还可包括步骤(e)作为生成器的输出,获得增强的动态范围缩小音频数据,用于动态范围的后续扩展。该方法还可包括步骤(f)通过执行扩展操作将增强的动态范围缩小音频数据扩展到扩展的动态范围域。
在一些实施例中,瓶颈层可比编码器级和/或解码器级的一个或多个外层更稀疏。
在一些实施例中,与瓶颈层相邻且比所述瓶颈层更稀疏的编码器级和/或解码器级中的一个或多个层可具有阈值数量的权重。
在一些实施例中,生成器可已通过修剪获得,所述修剪可包括基于所述灵敏度参数集将一个或多个权重归零。
在一些实施例中,通过修剪获得生成器还可包括基于灵敏度参数集,对与瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪,其中,灵敏度参数集可被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
在一些实施例中,低比特率音频比特流可为AC-4格式。
在一些实施例中,扩展操作可为基于用于计算相应增益值的频谱幅值的p范数的压缩扩展操作。
在一些实施例中,所接收到的低比特率音频比特流包括元数据,并且步骤(a)还包括对所接收到的低比特率音频比特流进行解复用。
在一些实施例中,在步骤(d)中,通过生成器来增强动态范围缩小的原始音频数据可以基于元数据。
在一些实施例中,该元数据可包括压缩扩展控制数据的一个或多个项。
在一些实施例中,压缩扩展控制数据可包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
在一些实施例中,压缩扩展模式可包括开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
在一些实施例中,在步骤(d)中,通过所述生成器对动态范围缩小原始音频数据进行增强可取决于压缩扩展控制数据指示的压缩扩展模式。
在一些实施例中,如果压缩扩展模式为压缩扩展关闭,则不执行通过生成器进行的增强。
根据本公开的另一方面,提供了一种在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法。该方法可包括步骤(a)接收低比特率音频比特流。该方法还可包括步骤(b)对低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据。该方法还可包括步骤(c)将动态范围缩小的原始音频数据输入用于处理动态范围缩小的原始音频数据的生成对抗网络GAN的生成器,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,并且其中,生成器通过以下操作来确定:(i)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和(ii)基于灵敏度参数集,修剪编码器级的瓶颈层。该方法还可包括步骤(d)通过生成器在动态范围缩小域中增强动态范围缩小的原始音频数据。该方法还可包括步骤(e)作为生成器的输出,获得增强的动态范围缩小音频数据,用于动态范围的后续扩展。
在一些实施例中,编码器级的被修剪层的数量小于解码器级的被修剪层的数量。
在一些实施例中,该方法还可包括以下步骤:对编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,获得灵敏度参数集。
在一些实施例中,可对GAN的第二生成器的编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,其中第二生成器是被训练的未修剪的生成器。
在一些实施例中,执行步骤(i)和步骤(ii)可对应于修剪进程,其中该方法还可包括与GAN设置的一个或多个训练进程交替执行修剪进程的一个或多个周期。
在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法的前述实施例也应用于上文提及的方面。
根据本公开的一个方面,提供了一种对于用于处理音频信号的计算机实现的生成神经网络确定参数的方法。就本身而言,该方法可以是配置生成神经网络的方法。生成神经网络可以是深度神经网络。通常,生成神经网络可包括编码器级(编码器)和解码器级(解码器)。此外,例如,生成神经网络可对应于生成对抗网络(GAN)设置的生成器。编码器级可映射到编码特征空间或隐特征空间(例如,编码音频特征空间)。编码器级和解码器级中的每一个可包括多个卷积层。每个卷积层可包括一个或多个权重系数。权重系数可包括(或对应于)生成神经网络的卷积层的滤波器参数。该方法可包括多个周期,每个周期具有数个过程(例如,顺序过程)。一个过程可以是如下过程:基于修剪控制信息对编码器级和/或解码器级的权重系数进行修剪,获得被修剪的生成神经网络。修剪控制信息可以管控(govern)(例如,确定)对于各卷积层被修剪的权重系数的数量。另一过程可以是如下过程:基于训练数据集针对一个或多个轮次训练被修剪的生成神经网络。另一过程可以是如下过程:基于损失函数确定被训练和修剪的生成神经网络的损失。还另一过程可以是如下过程:基于所确定的损失和生成神经网络的目标损失确定更新的修剪控制信息。
由此,可以在训练生成神经网络的过程中自动确定优化的修剪控制信息。这可允许在模型复杂度的降低与通过生成神经网络处理的音频的感知质量之间实现优化的折中。特别地,可以避免可能费力且低效的并且可能无法得到最优结果的对修剪控制信息的人工设定/调整。
在一些实施例中,修剪可包括基于修剪控制信息将一个或多个权重系数归零(清零,设置为零)。
在一些实施例中,修剪控制信息可包括编码器级和解码器级的多个卷积层的灵敏度参数。例如,可每个卷积层一个灵敏度参数。每个灵敏度参数可设定相应卷积层的要被修剪的权重系数的比率或份额。作为替代,修剪控制信息可以为每个卷积层定义相应的修剪阈值,低于该阈值,权重系数将被修剪。
在一些实施例中,可确定更新的修剪控制信息以便最小化所确定的损失和目标损失之间的差异。
在一些实施例中,确定更新的修剪控制信息可包括增加或减小生成神经网络的多个卷积层的修剪灵敏度。例如,修剪灵敏度可对于所有卷积层相似地增加,或者对于所有卷积层相似地减小。
在一些实施例中,确定更新的修剪控制信息可包括将缩放因子应用于修剪控制信息,以增加或减小生成神经网络的多个卷积层的修剪灵敏度。此缩放因子可以是整体缩放因子。例如,修剪灵敏度的增加或减小(例如,在更新的修剪灵敏度和先前修剪灵敏度之间的比率方面)可在所有卷积层上是均匀的。
在一些实施例中,前述过程可周期执行多次,直至满足收敛准则。过程周期执行可为环状模式(loop-like manner)。
在一些实施例中,该收敛准则可涉及所确定的损失与目标损失之间的差异是否低于预定阈值,和/或所确定的损失与目标损失之间的差异从一个周期到下一个周期的变化是否低于预定阈值。
在一些实施例中,该方法还可包括:基于修剪控制信息(或所确定的损失)从一个周期到下一个周期的变化率,设置训练生成神经网络的过程中训练轮次的数量。更高的变化率可导致更少的训练轮次,而更低的变化率可导致更多的轮次。
在一些实施例中,损失函数可包括与对抗性损失对应的分量和/或与时域L1范数损失对应的分量。
在一些实施例中,损失函数还可包括与频域损失对应的分量。
在一些实施例中,频域损失可是多分辨率短时傅里叶变换STFT损失。
在一些实施例中,该方法还可包括在进入前述过程的多个周期之前,使用训练数据集针对一个或多个轮次训练生成神经网络,而不修剪编码器级和解码器级的权重系数。这可对应于(部分地)预修剪生成神经网络。
在一些实施例中,编码器级可包括映射到编码音频特征空间的瓶颈层。修剪控制信息可被初始选择为使得修剪权重系数的过程涉及对与所述瓶颈层相邻的编码级和/或解码级的一个或多个卷积层进行修剪。此外,修剪控制信息可被初始选择为使得瓶颈层的稀疏性增加小于与所述瓶颈层相邻的编码器级和/或解码器级的一个或多个被修剪层的稀疏性增加。
在一些实施例中,修剪控制信息可被初始选择为使得修剪权重系数的过程涉及在编码器级比在解码器级修剪更少的层。
在一些实施例中,该方法还可包括基于训练数据集训练生成神经网络的第二实例。然后,该方法还可包括基于损失函数确定所训练的生成神经网络的第二实例的损失,并使用所述损失作为生成神经网络的目标损失。在本公开中应理解,生成神经网络的第二实例具有与生成神经网络相同的架构(例如,在卷积层和权重系数方面)。还应理解,生成神经网络的第二实例未被修剪。生成神经网络的第二实例的训练可以是完全训练(fulltraining),例如对于满足完全训练的特定准则或收敛准则的那样数量的轮次的训练。
在一些实施例中,该方法还可包括基于训练数据集训练生成神经网络的第二实例。然后,该方法还可包括对所训练的生成神经网络的第二实例的编码器级和解码器级的多个卷积层进行灵敏度分析,获得修剪控制信息的初始集。
根据本公开的还另一方面,提供了一种在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置。该装置可包括(a)接收器,用于接收低比特率音频比特流。该装置还可包括(b)核心解码器,用于对所接收的低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据。该装置还可包括(c)生成对抗网络GAN的生成器,用于在动态范围缩小域中增强动态范围缩小的原始音频数据,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比。
在一些实施例中,瓶颈层比编码器级和/或解码器级的一个或多个外层更稀疏。
在一些实施例中,与所述瓶颈层相邻且比所述瓶颈层稀疏的编码器级和/或解码器级中一层或多层具有阈值数量的权重。
在一些实施例中,生成器可通过修剪获得,其中修剪可包括基于灵敏度参数集将一个或多个权重归零。在一些实施例中,通过修剪获得生成器还可包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;其中,灵敏度参数集可被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个层的稀疏性增加。
在一些实施例中,该装置还可包括解复用器,用于对所接收的低比特率音频比特流进行解复用,其中所接收的低比特率音频比特流包括元数据。
在一些实施例中,元数据可包括压缩扩展控制数据中的一个或多个项。
在一些实施例中,压缩扩展控制数据可包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
在一些实施例中,压缩扩展模式可包括:开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
在一些实施例中,生成器可被配置为根据压缩扩展控制数据指示的压缩扩展模式,在动态范围缩小域中增强动态范围缩小的原始音频数据。
在一些实施例中,在压缩扩展模式为关闭压缩扩展的情况下,生成器可被配置为不进行增强。
在一些实施例中,该装置还可包括扩展单元,被配置为进行扩展操作,以将所增强的动态范围缩小音频数据扩展到扩展动态范围域。
根据本公开的另一方面,提供了一种在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置。该装置可包括(a)接收器,用于接收低比特率音频比特流。该装置还可包括(b)核心解码器,用于对低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据。该装置还可包括(c)生成对抗网络GAN的生成器,用于增强动态范围缩小域中的动态范围缩小的原始音频数据,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,并且其中,生成器通过以下操作被确定:(i)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和(ii)基于灵敏度参数集,修剪编码器级的瓶颈层。
在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置的前述实施例也应用于上文提及的方面。
根据本公开的另一方面,提供了一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令在由具有处理能力的设备执行时适于使设备执行用于确定用于音频信号后处理的生成对抗网络GAN的生成器的方法,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每个层中具有一个或多个滤波器,其中每个滤波器包括一个或多个权重(例如,滤波器系数),并且其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间。
根据本公开的另一方面,提供了一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令在由具有处理能力的设备执行时适于使设备执行在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法。
根据本公开的另一方面,提供了一种系统,包含在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置,以及包括生成器和鉴别器的生成对抗网络,其中该系统被配置为执行用于确定用于音频信号后处理的生成对抗网络GAN的生成器的方法,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每个层中具有一个或多个滤波器,其中每个滤波器包括一个或多个权重(例如,滤波器系数),并且其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,或在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法。
根据本公开的还另一方面,提供了一种系统,包括用于将动态范围缩小应用于输入音频数据并将动态范围缩小音频数据以低比特率编码在比特流中的装置,以及用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置。
根据另一方面,提供了一种计算机程序。计算机程序可包括指令,所述指令在由处理器(计算机)执行时使处理器执行本公开中所述的方法的所有步骤。
根据另一方面,提供了一种计算机可读存储介质。该计算机可读存储介质可存储前述计算机程序。
根据还另一方面,提供了一种装置(例如,计算机),包括处理器、和耦合到处理器的存储器。该处理器可适于执行本公开中所述的方法的所有步骤。
应当理解,装置特征和方法步骤可以多种方式互换。特别地,如本领域技术人员将理解的,所公开的一种或多种方法的细节可以通过相应的装置来实现,反之亦然。此外,上述任何关于方法(以及例如它们的步骤或过程)的陈述应理解为同样适用于相应的装置(以及例如它们的块、级或单元),反之亦然。
附图说明
现在将仅通过示例的方式参考附图描述本公开的示例实施例,其中:
图1示意性地示出了生成神经网络的架构的示例,
图2是示出根据本公开的实施例的确定生成神经网络的参数的方法的示例的流程图,
图3A是示意性示出根据本公开的实施例的确定生成神经网络的参数的方法的另一示例的框图,
图3B示意性地示出了根据本公开的实施例的被修剪的生成神经网络的稀疏性简档的示例,
图4示意性地示出了用于训练生成神经网络的生成对抗网络设置的示例,
图5示意性地示出了用于训练鉴别器的生成对抗网络设置的示例,
图6是示意性示出根据本公开的实施例的从低比特率音频比特流生成增强音频数据的方法的示例的框图,
图7A和图7B是示出根据本公开的实施例的确定生成神经网络的参数的方法的另一示例的框图,
图8是示出根据本公开的实施例的确定生成神经网络的参数的方法的另一示例的流程图,以及
图9示意性地示出了用于执行根据本公开的实施例的方法的装置的示例。
具体实施方式
生成神经网络架构
首先,描述可以应用根据本公开的方法和装置的生成神经网络。例如,该生成神经网络可能与生成对抗网络(GAN)设置中的生成器相关。
虽然生成神经网络的架构通常不受限制,但生成神经网络包括编码器级(编码器)和解码器级(解码器)。生成神经网络的编码器级和解码器级可以是全卷积的,解码器级可以镜像编码器级。编码器级和解码器级均包括多个层(例如,卷积层),每层中具有一个或多个滤波器(例如,多个滤波器)。每个滤波器包括一个或多个权重(权重系数,例如滤波器系数)。生成神经网络的编码器级的瓶颈层(例如,最内层)映射到编码器级和解码器级之间的编码特征空间(例如,编码音频特征空间)或隐空间(latent space)表示。
例如,编码器级和解码器级可以均包括L个层,每个层中有N1个滤波器,l=1,...,L。L可以是≥1的自然数,并且N1可以是≥1的自然数。各层中N1个滤波器的大小(也称为核大小)不受限制,并且可以根据生成神经网络对(动态范围缩小的)原始音频数据的质量增强的要求来选择。然而,滤波器大小在L个层中的每个层中可以相同。可以被修剪(pruned)的权重可以对应于每一层L中的滤波器系数。
现在参考图1的非限制性示例,它示意性地示出了生成神经网络的架构,音频数据可以在第一步1中输入到生成神经网络中。所示的第一编码器层2,层号L=1,可以包括N1=16个滤波器,滤波器大小为31。所示的第二编码器层3,层号L=2,可以包括N2=32个滤波器,滤波器大小为31。出于清晰和简洁的原因,省略了后续层。所示的第三编码器层4,层号L=11,可以包括N11=512个滤波器,滤波器大小为31。
因此,在每一层中,滤波器的数量可能会增加,即,滤波器的数量可能会向着生成神经网络的更深层增加。在一个实施例中,每个滤波器可以对输入到每个编码器层的音频数据以>1的步幅进行操作。例如,每个滤波器可以对输入到每个编码器层的音频数据以步幅2进行操作。因此,可以执行因子为2的可学习下采样。作为替代,滤波器也可以在每个编码器层中以步幅1进行操作,随后是以因子2进行下采样(如在已知的信号处理中那样)。可选择的,例如,每个滤波器可以对输入到每个编码器层的音频数据以步幅4进行操作,这可以将生成神经网络中的总层数减半。
在生成神经网络的至少一个编码器层中和至少一个解码器层中,可以另外执行非线性操作作为激活。在一个实施例中,非线性运算可以包括参数整流线性单元(PReLU)、整流线性单元(ReLU)、泄漏整流线性单元(LReLU)、指数线性单元(eLU)和缩放指数线性单位(SeLU)中的一个或多个。在图1的示例中,非线性操作基于PReLU。
如图1中示意性示出地,相应的解码器层7、8、9镜像了编码器层2、3、4。虽然每一层中滤波器的数量和每一层中的滤波器大小在解码器级中可以与在编码器级中相同,但是在解码器级中音频信号的上采样可以通过两种替代方法来执行。在一个实施例中,可以在解码器级的第7、8、9层中使用分数步长卷积(也称为转置卷积)运算。作为替代,在解码器级的每一层中,在如同常规信号处理那样以上采样因子2执行上采样和插值之后,滤波器可以步幅1对输入到每一层的音频数据进行操作。
在输出增强音频数据之前,输出层(例如,卷积层)10可以随后跟在解码器级的最后一层之后。在此示例中,输出层10可能包括Nout=1个滤波器,滤波器大小为31。
在输出层10中,激活(activation)可以不同于在编码器层中的至少一层和解码器层中的至少一层中执行的激活。激活可以基于例如双曲正切(tanh)运算。
输出层10可以由编码器级的在第一层2之前的输入层1镜像。
在编码器级和解码器级之间,可以修改音频数据。修改可以基于映射到编码音频特征空间6的编码器级的瓶颈层5的输出。瓶颈层(或者更确切地说,编码音频特征空间)捕获输入(编码)音频数据的最主要特征。
在编码音频特征空间6中可以额外使用随机噪声向量z来修改音频。例如,可以通过将随机噪声向量(z)与作为瓶颈层5输出的音频数据的向量表示(c)拼接来完成编码音频特征空间6中的修改。在一些实现中,随机噪声向量可以设置为z=0。对于编码伪像减少,将随机噪声向量设置为z=0可能会产生最佳结果。作为替代地或附加地,可以在此时输入元数据以修改音频数据。这里,修改后的音频数据的生成可以基于给定元数据,例如压缩扩展元数据。
跳接11可能存在于编码器级和解码器级的同源(homologous)层之间。因此,可以绕过上述编码音频特征空间6,防止信息丢失。可以使用拼接和信号加法中的一种或多种来实现跳接11。由于跳接11的实现,滤波器输出的数量可能“虚拟地”翻倍。可以理解,编码器级的最外层和解码器级的最外层彼此同源,编码器级的次外层和解码器级的最外层彼此同源,依此类推,直到最内层。
再次参考图1中的非限制性示例,生成神经网络的架构可以总结如下:
1/输入:动态范围缩小的原始音频数据
2/编码器层L=1:滤波器数量N=16,滤波器大小=31,激活=PreLU
3/编码器层L=2:滤波器数量N=32,滤波器大小=31,激活=PreLU
.
.
.
4/编码器层L=11:滤波器数量N=512,滤波器大小=31
5/瓶颈层:滤波器数量N=1024,滤波器大小=31
6/编码音频特征空间
7/解码器层L=1:滤波器数量N=512,滤波器大小=31
.
.
.
8/解码器层L=10:滤波器数量N=32,滤波器大小=31,激活PreLU
9/解码器层L=11:滤波器数量N=16,滤波器大小=31,激活PreLU
10/输出层:滤波器编号N=1,滤波器大小=31,激活tanh
输出:增强音频数据
11/跳接
上面提出的架构进表示一个示例。根据预期的应用,生成神经网络的编码器级和解码器级的层数可以分别减小或放大。
总的来说,上述生成神经网络架构提供了一次性伪像减少的可能性,因为不需要执行如Wavenet或sampleRNN中那样的复杂操作。
修剪
虽然一般的深度学习和生成神经网络的使用特别为改善编码音频提供了新的机会,但这些改善可能是以高计算复杂性和网络存储器使用为代价。随着深度神经网络的使用变得越来越普遍,需要更加关注它们在更广泛的设备上的可实施性。这些设备通常包括诸如移动设备的设备,该设备的处理能力足够低,以致于高复杂性神经网络的实现对存储和计算资源具有重大影响。
权重修剪允许选择性地将权重值或权重系数(例如,生成神经网络的一个或多个层中的滤波器系数和/或激活系数)设置为零,以提高网络存储器使用,同时降低生成神经网络的计算复杂度。如上所述,这种生成神经网络的一个例子是在GAN设置中训练的生成器。
在本公开的上下文中,修剪可以对应于卷积层的一个或多个权重系数的归零。修剪给定的卷积层可能意味着修剪该卷积层的权重系数中的适用权重系数。
可以根据修剪控制信息执行修剪。修剪控制信息管控(确定)修剪的灵敏度,例如被修剪(归零)的权重系数的数量或比率。修剪控制信息可以指示针对生成神经网络的每个卷积层单独修剪的严重程度(severity)。在一个示例中,修剪控制信息包括(或对应于)用于编码器级和解码器级的多个卷积层的灵敏度参数。然后,每个卷积层可具有一个灵敏度参数。每个灵敏度参数可以设置要针对相应卷积层修剪的权重系数的比率。作为替代,每个灵敏度参数可以设置相应的修剪阈值。
本文所述的方法和装置能够改进(可选地与压缩扩展技术相结合地)用于音频后处理的生成神经网络(例如,在GAN设置中训练的)的网络存储器使用。这样的方法和装置可以减少施加在实现生成神经网络的设备上的计算负担。因此,生成神经网络的权重修剪提供了即使在使用复杂性受限设备时,仍可通过生成神经网络实现音频增强的益处。
生成神经网络参数的确定方法
接下来,将描述用于确定生成神经网络(的参数)的第一方法。具体地,图2示出了用于确定可用于音频信号后处理的生成神经网络(例如,GAN的生成器)(的参数)的方法200的示例的流程图。该方法可能本质上与训练和/或修剪生成神经网络有关。生成神经网络包括编码器级和解码器级。编码器级和解码器级均包括多个层,每层中具有一个或多个滤波器。每个滤波器包括一个或多个权重(例如,滤波器系数和/或激活系数)。生成神经网络的编码器级的瓶颈层映射到编码器级和解码器级之间的编码(音频)特征空间。例如,生成神经网络可以具有如上文结合图1所述的架构。
在步骤S210中,生成神经网络的编码器级和/或解码器级基于指示修剪阈值的灵敏度参数集被修剪。
进一步地,在步骤S220中,基于灵敏度参数集修剪编码级的瓶颈层。如本文所使用的,该灵敏度参数集可指的是对于需要修剪的生成神经网络的每个参数提供的灵敏度参数。步骤S210和S220可被以任何顺序、串行或并行执行。在一些实现中,步骤S210和S220甚至可以被视为关于影响编码器级(包括瓶颈层)和/或解码器级两者的单个修剪步骤。
在一个实施例中,修剪包括基于灵敏度参数集将一个或多个权重(权重系数)归零。如上所述,权重对应于或者可被称为是生成神经网络的编码器级和解码器级的每一层中的一个或多个滤波器的滤波器系数。在此上下文中,灵敏度参数可以是一个标量,它指示要被修剪的权重的百分比(例如,在权重分布的标准偏差方面或者以之为单位),或者可以指示阈值,低于该阈值的权重将被设为零(即,低于阈值的权重可以设置为零)。这些权重可能包括卷积(和转置卷积)层权重和激活权重。
一般来说,修剪可能涉及使用算法来决定网络(例如,生成神经网络)中的哪些权重对该模型的准确性贡献最少,并将这些权重有效地设置零。模型的准确性可被解释为感知音频质量增强的质量或有效性,以及应用修剪时(如果有的话)音频质量下降的程度。在一个实施例中,这可以通过听力测试来评估。听力测试可以是自动听力测试,例如基于预定义的质量度量。
在一个实施例中,该方法还可以包括基于灵敏度参数集修剪与瓶颈层相邻的编码器级和/或解码器级的一个或多个层。灵敏度参数集可被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任何一层的稀疏性增加(即,在瓶颈层进行更少的或更不严重的修剪)。在这方面,应指出,与更深层的修剪相比,生成神经网络的外层的修剪可能对感知音频质量产生不成比例的负面影响。更深层包含更多的权重,因此降低外层的准确性可能会级联到生成神经网络更深处的更大误差。此外,通常,卷积模型中的第一层可能会学习进行类似于传统信号处理结构(例如滤波器组)的处理。
例如,因此可以通过为除瓶颈层之外的具有超过阈值数量的权重的任何层(例如,对于具有超过阈值数量一百万的权重的任何层)分配灵敏度参数0.3(例如,假定权重被归一化到[0,1]的范围)来进行修剪。由于瓶颈层捕获输入音频数据的最主要特征,因此可以选择瓶颈层的灵敏度参数,以使瓶颈层比生成神经网络的邻近(相邻)内层/更深层更稀疏。换句话说,瓶颈层的灵敏度参数不是相邻层修剪量的(直接)结果,而是可能必须考虑到音频质量损失而被单独仔细选择/确定。此外,灵敏度参数可被选择为使得瓶颈层比生成神经网络的外层,即编码器级的第一层和/或解码器级的最后层,更稀疏(但稀疏程度比生成神经网络的内层更小)。在一些实现中,灵敏度参数作为从编码器级的最外层开始的层数的函数,可能朝着指示更严重修剪的值单调变化,直到瓶颈层之前的层,然后可以为瓶颈层取指示修剪较不严重的值,对于解码器级的最内层(最深)层可再次更改为指示更严重修剪的值,然后可能从解码器级的所述最内层到解码器级的最外层朝向指示较不严重修剪的值单调变化。总之,换句话说,与外层相比,生成神经网络的更深层可能会应用更多的修剪,但瓶颈层可能分别比编码器级和解码器级的直接相邻层修剪得更少。
此外,在一个实施例中,编码器级中的修剪层的数量可以低于解码器级中的修剪层的数量。应指出,生成神经网络从隐空间表示(例如,编码音频特征空间,可选地与噪声向量z拼接)生成输出信号(例如,增强音频数据),在编码器级中比在解码器级中修剪更少的层可以确保修剪后的生成神经网络可以生成良好的隐空间表示,其准确捕获感知相关信息。此外,当生成神经网络包括从编码器级到解码器级的跳接时,解码器级将具有比编码器级数量更多的系数(权重系数)。这为修剪解码器级提供了额外的裕度,而不会影响输出信号的感知质量。
在一个实施例中,该方法还可以包括如下步骤:对编码器级和解码器级的多个层以及编码器级的瓶颈层进行灵敏度分析以获得灵敏度参数集。
灵敏度分析可以包括提供预定范围的灵敏度参数,以测定(试验)生成神经网络的期望组件。在一个实施例中,可以对生成神经网络的第二实例的编码器级和解码器级的多个层以及编码器级的瓶颈层执行灵敏度分析,其中生成神经网络的第二实例是被训练的且未修剪的生成神经网络。灵敏度分析的目的是确定生成神经网络的不同组件的修剪量,以便最终被训练的和被修剪的生成神经网络提供的听力结果与被训练的且未修剪的生成神经网络提供的结果在感知上无法区分。
在此,灵敏度分析可以采用预先训练的模型,并以指定的间隔执行修剪以创建一组不同修剪的生成神经网络。损失函数可以进一步允许提供被修剪的生成神经网络和未修剪的生成神经网络之间的总损失估计。例如,损失函数可以是均方误差(MSE)函数。其它类型的损失函数可以被使用并且也被包含在本公开的范围内。例如,损失可以在时域、或频域(例如,使用等式3中描述的多分辨率STFT)、或两者中计算。基于被修剪的生成神经网络和未修剪的生成神经网络之间的比较,然后可以选择要应用的灵敏度参数集。
现在参考图3A的示例,示出了用于确定生成神经网络(例如,GAN设置中的生成器)(的参数)的方法的示例的过程流程图。所示出的过程流可以涉及执行灵敏度分析,330,如上所述,以确定用于修剪的(初始)灵敏度参数集。在一个实施例中,执行基于指示修剪阈值的灵敏度参数集修剪生成神经网络的编码器级和/或解码器级,并基于该灵敏度参数集修剪编码器级的瓶颈层(基于灵敏度参数将权重归零)的步骤可以对应于修剪进程(pass)310。该方法还可以包括执行一个或多个周期的修剪进程310,与一个或多个训练进程(例如GAN设置的训练进程)320交替。训练进程320的初始输入可能涉及完全未训练的生成神经网络,或部分训练的生成神经网络,例如已经训练了一定数量的轮次的生成神经网络。还应指出,初始输入的生成神经网络可在其经受训练进程320之前首先经受修剪进程310。
GAN设置中训练进程的详细信息将在下文进一步描述。在一个实施例中,在GAN设置中,执行修剪进程310可能涉及修剪生成器,但可能不涉及修剪GAN设置的鉴别器。虽然一个周期中的修剪进程和训练进程(轮次)的数量不受限制,但修剪进程可以与每两个训练进程交替执行(即,两次训练进程(两个轮次)之后是一个修剪进程)。一个周期中修剪进程和训练进程(轮次)的任何可行组合都被包含在本公开的范围内。
在一个实施例中,该方法还可以包括在与训练进程交替的修剪进程的多个周期之后执行听力测试340。执行听力测试可以评估被训练的和被修剪的生成神经网络在减少编码伪像方面的性能,并确保被训练的和被修剪的生成神经网络的输出听起来与被训练但未修剪的生成神经网络的输出一样好。在一个实施例中,执行听力测试因此可以涉及将被训练的和被修剪的生成神经网络的输出与(被训练的但未修剪的)生成神经网络的第二实例的输出进行比较。在此,与被训练的但未修剪的生成神经网络相比,可以评估来自被训练的和被修剪的生成神经网络的增强音频输出的质量。如果被训练和修剪的生成神经网络输出的增强音频输出的质量与被训练的但未修剪的生成神经网络生成的音频质量相匹配,则此生成神经网络可以作为最终被训练和修剪的生成神经网络,用于音频信号的后处理。如果发现与被训练的但未修剪的生成神经网络(生成神经网络的第二实例)相比,被训练和修剪的生成神经网络的增强音频输出的质量不足,则根据听力测试的结果调整灵敏度参数集,并且修剪和训练进程的周期会重新重复,例如从未训练的和未修剪的生成神经网络开始。在此,收听测试340可以是人类收听者的听力测试,或者可以是应用预定义质量度量的自动听力测试。人类(主观听力)和自动听力(客观质量预测)测试的组合也可能是可行的。
如上所述,灵敏度参数可以被选择为使得瓶颈层比生成神经网络的外层(即,编码器级的第一层和/或解码器级的最后层)更稀疏,但是不如与瓶颈层直接相邻的层稀疏。图3B中指示了一个可能的稀疏度分布图(profile)的示例,它指示稀疏度作为层数的函数。该图示出了从编码器级的最外层(本例中的enc0)到解码器级的最外层(本例中dec10)的生成神经网络中每一层的归零(或零值)权重的百分比。这个百分比单调地增加到在瓶颈层之前编码器级的最内层(本例中的enc9)。百分比在瓶颈层(本例中为enc10)下降,在解码器级的最内(最深)层(本例中为dec1)再次采用更高的值,并从那里开始单调下降。通常,上述零值权重的百分比(或稀疏度),对于编码器级的至少一层(除了瓶颈层之外)和解码器级的至少一层可能大于某个阈值(稀疏度阈值),而对于瓶颈层可能小于某个阈值。例如,特定阈值可以在35%和45%之间、40%和50%之间、或50%和60%之间。
从图3B的例子也可以看出,解码器级的稀疏性(以及相应地修剪的严重程度)可能比编码器级更高。在一些实施例中,解码器层中的稀疏度的最大值(在本例中为大约65%)可以大于编码器层中的稀疏度的最大值(在本例中为大约50%),这两个值都高于瓶颈层的稀疏度值(在本例中约为35%)。如上所述,原因是生成神经网络从隐空间表示(例如,编码音频特征空间,可选地与噪声向量z拼接)生成输出信号。因此,生成神经网络的输出信号的感知质量取决于隐空间表示捕获输入信号(例如,原始音频数据或动态范围缩小的原始音频数据)的感知相关信息的准确程度。然后,与解码器级相比,对编码器级应用更少的修剪可有助于确保被修剪的生成神经网络能够生成足够准确的隐空间表示。此外,在存在从编码器级到解码器级的跳接的情况下,解码器级中整体较高数量的系数(权重系数)也将为修剪解码器级提供额外的裕度,而不影响输出信号的感知质量。
生成对抗网络设置
在一个实施例中,一次或多次训练进程可以在GAN设置中在动态范围缩小域中执行,其中GAN设置包括生成器和鉴别器。虽然在此实现中,训练进程是在动态范围缩小域中执行的,但应指出,根据使用实例,其它条件可能适用。从这个意义上说,在动态范围缩小域(例如压缩扩展域、感知加权域)中操作是可选的。现在将参考图4和图5的示例描述训练进程。
例如,动态范围缩小域可以是AC-4压缩扩展域。在某些情况下(例如在AC-4压缩扩展中),动态范围缩小可能等同于去除(或抑制)信号的时间包络。因此,可以说,生成神经网络可以是在从信号中去除时间包络之后的域中训练的生成神经网络。此外,虽然在以下段落中将描述GAN设置,但应指出,这不应理解为限制性的,并且其它生成模型也是可以想到的并且被包括在本公开的范围内。
GAN设置通常包括通过迭代过程训练的生成器G和鉴别器D。在生成对抗网络设置中的训练期间,生成器G基于从初始动态范围缩小音频信号x得出(核心编码和核心解码)的动态范围缩小原始音频训练信号生成增强的动态范围缩小音频训练信号x*。可以通过应用压缩扩展操作来执行动态范围缩小。压缩扩展操作可以是如针对AC-4编解码器规定的并且在AC-4编码器中执行的压缩扩展操作。应理解,GAN设置可以应用于任何类型的音频处理,不限于增强(核心)解码音频。此外,应当理解,动态范围减小是可选的。
在一个实施例中,除了动态范围缩小的原始音频训练信号之外,随机噪声向量z也可以被输入到生成器中,并且可以另外基于随机噪声向量z由生成器生成增强的动态范围缩小的音频训练信号x*。然而,随机噪声向量可以设置为z=0。对于编码伪像减少,将随机噪声向量设置为z=0可能是最好的,对于不太低的比特率尤其如此。在一些实施例中,可以基于包括初始动态范围缩小的音频信号的音频比特流的比特率或其它特性来确定是输入随机噪声向量还是将噪声向量设置为z=0的决定。例如,在立体声信号的情况下,随机噪声矢量z可用于36kbit/s或更低。对于掌声,随机噪声向量z可用于所有比特率。作为替代,可以在不输入随机噪声向量z的情况下执行训练。
可替代地或附加地,在一个实施例中,元数据可以被输入到生成器,并且增强的动态范围缩小的原始音频训练信号可以附加地基于元数据。在训练期间,增强的动态范围缩小的音频训练信号x*的生成因此可以基于元数据。在一个实施例中,元数据可以包括压缩扩展控制数据的一个或多个项。在一个实施例中,压缩扩展控制数据可以包括关于用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。在一个实施例中,压缩扩展模式可以包括压缩扩展开启(ON)的压缩扩展模式、压缩扩展关闭(OFF)的压缩扩展模式和平均压缩扩展(AVERAGE COMPANDING)的压缩扩展模式。在一个实施例中,由生成器生成增强的动态范围缩小的音频训练信号可以取决于压缩扩展控制数据所指示的压缩扩展模式。在此,在训练期间,生成器可以压缩扩展模式为条件。在一个实施例中,如果压缩扩展模式是压缩扩展关闭,这可以指示输入原始音频信号没有动态范围缩小,并且在这种情况下可以不执行通过生成器进行的增强。压缩扩展控制数据可以在音频数据的编码期间被检测并且使得能够选择性地应用压缩扩展,压缩扩展对于瞬态信号开启,对于静态信号关闭,并且在适当时应用平均压缩扩展。
在训练期间,生成器尝试输出增强的音频训练信号(例如,增强的动态范围缩小的音频训练信号)x*,它与初始音频信号(例如,初始的动态范围缩小音频信号)x无法区分。鉴别器每次一个地输入生成的增强音频训练信号x*和初始音频信号x,并判断(例如,通过将输入信号标记为假/真,或通过将置信度分数赋予输入信号)输入信号是增强音频训练信号x*还是初始音频信号x。在此,鉴别器尝试将初始音频信号x与增强音频训练信号x*区分。在迭代过程中,生成器然后调整其参数以生成与初始音频信号x相比越来越好的增强音频训练信号x*,并且鉴别器学会更好地判断/区分增强音频训练信号x*以及初始音频信号x。
应指出,可以先训练鉴别器,以便在随后的最后一步中训练生成器。训练和更新鉴别器也可以在动态范围缩小域中执行。训练和更新鉴别器可能包括最大化将高分(与“真实”信号对应的可能性高)分配给初始音频信号(例如,初始动态范围缩小音频信号)x和将低分(与“真实”信号对应的可能性低)分配给增强的音频训练信号(例如,增强的动态范围缩小的音频训练信号)x*的概率。训练鉴别器的目标可能是初始音频信号(例如,初始动态范围缩小的音频信号)x被识别为真实的,而增强的音频训练信号(例如,增强的动态范围缩小的音频训练信号)x*(生成的信号)被识别为假的。在训练和更新鉴别器的同时,生成器的参数可以保持固定(如图5中生成器G周围的粗线所示)。
训练和更新生成器可能包括或相当于最小化初始音频信号x和生成的增强音频训练信号x*之间的差异。训练生成器的目标可能是生成如下这样的增强音频训练信号x*,鉴别器将所生成的增强音频训练信号x*识别为真。
现在参考图4的示例,更详细地描述了在生成对抗网络设置中在动态范围缩小域中生成器G,12的训练。如上所述,将所涉及的信号变换到动态范围缩小域是可选的,并且图4的示例在这方面不应被理解为限制性的。生成器G,12的训练可能涉及以下内容。
初始音频信号xip,23可以经历动态范围缩小comp,21,以获得动态范围缩小的初始音频信号x,20。可以通过应用压缩扩展操作,特别是AC-4压缩扩展操作,之后执行QMF(正交镜像滤波器)合成步骤,来执行动态范围减小。有关压缩扩展的细节将在如下文描述。由于压缩扩展操作是在QMF域中执行的,因此需要后续的QMF合成步骤。在输入到生成器G,12之前,动态范围缩小的初始音频信号x,20可以附加地经受核心编码和核心解码以获得动态范围缩小的原始音频训练信号19。这可以模拟音频信号在实际应用中在编码器-解码器链中经历的劣化。动态范围缩小的原始音频训练信号/>19和随机噪声向量z,22然后被输入到生成器G,12。基于输入,生成器G,12在动态范围缩小域中生成增强的动态范围缩小的音频训练信号x*,18。在一个实施例中,随机噪声向量z,22可以设置为z=0。也就是说,作为替代,可以在没有输入随机噪声向量z,22的情况下执行训练。作为替代地或附加地,可以使用元数据作为输入在动态范围缩小的编码音频特征空间中训练生成器G,12以修改增强的动态范围缩小的音频训练信号x*,18。由其得出动态范围缩小的原始音频训练信号/>19的初始动态范围缩小的音频信号x,20和所生成的增强的动态范围缩小音频训练信号x*,18每次一个地(one at a time)输入,17,鉴别器,D,13。作为附加信息,动态范围缩小的原始音频训练信号/>19每次也可输入鉴别器D,13。鉴别器D,13然后判断,14,15,输入信号是增强的动态范围缩小的音频训练信号x*,18,(即,假的)还是初始动态范围缩小的音频信号,x,20,(即,真的)。
在下一步中,然后调整生成器G,12的参数,直到鉴别器D,13无法再区分增强的动态范围缩小的音频训练信号x*,18与初始动态范围缩小的音频信号,x,20。这可以在迭代过程16中完成。如本领域技术人员所知,迭代过程可能包括误差通过神经网络的反向传播。
通过鉴别器进行判断可以基于一个或多个感知激励目标函数,如根据下式(1),
上述目标函数可能对应于由下式给出的损失方程(损失函数)或者误差方程(误差函数)
损失函数的第一项可能对应于对抗性损失,而第二项对应于时域L1范数损失。
式(1)中的索引LS指的是最小二乘法的结合。此外,如从式(1)的第一项可以看出,通过将核心解码的动态范围缩小的原始音频训练信号作为附加信息输入鉴别器,应用有条件的(conditioned)生成对抗网络设置。
特别地,通过在上式(1)中引入了最后一项,在迭代过程中可以确保较低的频率不会被打乱,因为这些频率通常用更多的比特编码。最后一项是由因子lambdaλ缩放的1范数距离。取决于应用和/或输入到发生器G,12的信号长度,lambda的值可以从例如10到100之间的值范围内选择。例如,lambda可以选择为λ=100。
损失函数的另一种选项是包括在频域中计算的损失的损失函数。一个例子由下式给出:
式(3)中的前两项对应于式(2)中的那些。式(3)中的最后两项可被称为多分辨率STFT损失项。多分辨率STFT损失项的缩放(μ和/或θ)可以设置为例如与λ相同的值。与前两项相反,多分辨率STFT损失可以在频域中计算。多分辨率STFT损失可以说是使用不同STFT参数的不同基于STFT的损失函数的总和。(频谱收敛损失)和/>(对数尺度STFT幅度损失)可以在M个不同的分辨率下应用基于STFT的损失,其中FFT区段数∈{512,1024,2048},跳跃大小∈{50,120、240},最后窗口长度∈{240、600、1200}。结果表明,对于处理一般音频(即任何内容类型),多分辨率STFT损失项提供了质量改进。具体来说,多分辨率STFT损失项可以减少高稀疏性修剪的音调伪像,并有助于保留高频分量。
通常,除了对抗性损失和/或时域L1范数损失之外,损失函数还可以包括对应于频域损失的一个或多个分量。频域损失可以是例如多分辨率短时傅里叶变换STFT损失。还可以合并其它感知激励损失。
现在参考图5的示例,在生成对抗网络设置中鉴别器D13的训练(例如在动态范围缩小域中)可以遵循相同的如上文针对生成器G,12的训练描述的通用迭代过程24,响应于每次一个地,将增强的动态范围缩小音频训练信号x*,18,初始动态范围缩小音频信号,x,20,连同动态范围缩小的原始音频训练信号19输入25到鉴别器D,13,除了在这种情况下,生成器的参数G,12可能是固定的,而鉴别器的参数D,13可能变化(与图4相比,图5中生成器G周围的粗线表示)。鉴别器D,13的训练可由下式(4)描述,式(4)使鉴别器D,13能够确定增强的动态范围缩小的音频训练信号x*,18为假:
除了最小二乘法之外,其它训练方法也可用于在动态范围缩小域中在生成对抗网络设置中训练生成器和鉴别器。本公开不限于特定的训练方法。作为替代地或附加地,可以使用所谓的Wasserstein方法。在这种情况下,可以使用推土机距离(也称为Wasserstein距离)代替最小二乘距离。通常,不同的训练方式使得生成器和鉴别器的训练更加稳定。然而,所应用的训练方法的类型不会影响生成器的架构。
应当理解,训练数据集可以包括例如与音乐、语音和/或效果相关的多个音频样本(例如,帧)x,以及可能对应的劣化(例如,核心编码和核心解码)音频样本还应当理解,训练数据的项可以与音频样本x有关,并且可能与对应的劣化音频样本/>有关。
鉴别器架构
虽然鉴别器的架构不受限制,但鉴别器的架构可以遵循与上述生成神经网络的编码器级相同的一维卷积结构。因此,鉴别器架构可以镜像生成神经网络的编码器级。因此,鉴别器也可以包括多个层,每层中有一个或多个滤波器。例如,鉴别器可以包括L个层,其中每个层可以包括Nl个滤波器,l=1,...,L。L可以是≥1的自然数,Nl可以是≥1的自然数。各层Nl个滤波器的大小不受限制,也可以根据鉴别器的要求选择。然而,滤波器大小在L个层中的每个层中可以相同。在鉴别器的至少一个编码器层中执行的非线性运算可以包括LeakyReLU。
在编码器级之后,鉴别器可能包括输出层。输出层可能有Nout=1个滤波器,滤波器大小为1。在此,输出层的滤波器大小可能与编码层的滤波器大小不同。因此,输出层可能是没有对隐藏的激活进行下采样的一维卷积层。这意味着输出层中的滤波器可以以步幅1操作,而鉴别器的编码器级的所有先前层可以使用步幅2。作为替代,编码器级的先前层中的每个滤波器都可以以步幅4运行。这可以使鉴别器中的总层数减半。
输出层中的激活可以不同于编码器层中的至少一层中的激活。激活可能是S型(Sigmoid)。但是,如果使用最小二乘训练方法,则可能不需要S型激活,因此它是可选的。
鉴别器的架构可以示例性地被总结如下:
输入:增强的动态范围缩小的音频训练信号,或初始动态范围缩小的音频信号
编码器层L=1:滤波器数量N=16,滤波器大小=31,激活=Leaky ReLU
编码器层L=2:滤波器数量N=32,滤波器大小=31,激活=Leaky ReLU
.
.
.
编码器层L=11:滤波器数量N=1024,滤波器大小=31,激活=Leaky ReLU
输出层:滤波器数量N=1,滤波器大小=1,可选地:激活=S型
输出:相对于生成器生成的增强的动态范围缩小的音频训练信号和初始动态范围缩小的音频信号,判断输入是真还是假。
上面提出的架构仅表示示例。根据预期的应用,鉴别器的编码器级中的层数可以分别减小或放大。
再次参考图3A的示例,在一个实施例中,在GAN设置中执行修剪进程可能包括修剪生成器,但可能不包括修剪鉴别器。这可能归因于以下事实:鉴别器的操作对应于判断操作,而音频增强仅由生成器执行。
压缩扩展
例如在美国专利US 9,947,335 B2中描述的压缩扩展技术通过使用在QMF(正交镜像滤波器)中实现的压缩扩展算法实现音频编解码器中量化噪声的时间噪声整形,来实现量化噪声的时间整形,该专利通过引用而整体并入本文。通常,压缩扩展是一种在QMF域中运行的参数编码工具,其可用于控制量化噪声(例如,在MDCT(修正离散余弦变换)域中引入的量化噪声)的时间分布。因此,压缩扩展技术可能包括QMF分析步骤,随后是实际压缩扩展操作/算法的应用,以及QMF合成步骤。
压缩扩展可被视为缩小信号动态范围的、并且等同地从信号中去除时间包络的示例技术。文中所描述的方法、装置和系统可以旨在改进缩小的动态范围域中的音频质量。因此,这样的改进对于压缩扩展技术的应用可能特别有价值。一些实施例因此涉及压缩扩展,并且具体地涉及改进作为动态范围减小域的QMF域中音频质量。
然而,应指出,在本公开的上下文中,诸如通过压缩扩展进行动态范围缩小是可选的。
动态范围缩小域的另一个例子是感知加权域。这种感知加权域的一个示例在2020年10月15日提交的代理案件第D20070号、标题为“Method and Apparatus for Processingof Audio using a Neural Network(使用神经网络处理音频的方法和装置)”的美国临时申请第63/092,118号中有被描述,该申请通过引用而全文并入此。
从低比特率音频比特流生成增强音频数据的方法
参考图6的示例,示出了例如在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法600。在上下文中,动态范围缩小可能是可选的。
在第一步骤,610,接收低比特率音频比特流。用于生成低比特率音频比特流的编解码器不受限制,可以是用于有损音频压缩的任何编解码器,例如AAC(高级音频编码)、AC3、HE-AAC、USAC或AC-4。在一个实施例中,低比特率音频比特流可以是AC-4格式。
在第二步骤,620,低比特率音频比特流被核心解码,并且基于低比特率音频比特流,获得原始音频数据(例如,动态范围缩小的原始音频数据)。例如,可以对低比特率音频比特流进行核心解码,以基于低比特率音频比特流获得动态范围缩小的原始音频数据。如本文所用,术语核心解码一般指在MDCT域中波形编码之后的解码音频。在AC-4中,核心编解码器称为音频频谱前端(ASF)或语音频谱前端(SSF)。动态范围缩小的音频数据可以被编码在低比特率音频比特流中。作为替代,可以在对低比特率音频比特流进行核心解码之前或之后执行动态范围缩小。
在步骤630,动态范围缩小的原始音频数据被输入生成神经网络以处理动态范围缩小的原始音频数据。
如上所述,生成神经网络可以是生成对抗网络GAN的生成器。生成神经网络包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,其中每个层具有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成神经网络的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,并且其中与瓶颈层相邻的编码器级和/或解码器级中的一个或多个层比瓶颈层更稀疏。
在一个实施例中,瓶颈层可以比编码器级和/或解码器级的一个或多个外层更稀疏。外层可以指编码器级的第一层或解码器级的最后层。
在一个实施例中,稀疏性可以由零值权重的百分比确定,其中与瓶颈层相邻的编码器级和/或解码器级中的一个或多个层可以具有比瓶颈层更高的零值权重百分比。
在一个实施例中,与瓶颈层相邻的比瓶颈层更稀疏的编码器级和/或解码器级中的一个或多个层可以具有阈值数量的权重。例如,阈值数量可以是一百万个权重。
在一个实施例中,生成神经网络可能已经通过修剪获得,其中修剪可以包括基于灵敏度参数集将一个或多个权重归零。
在一个实施例中,通过修剪获得生成神经网络还可以包括:基于灵敏度参数集修剪与瓶颈层相邻的编码器级和/或解码器级中的一个或多个层。灵敏度参数集可被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级中的一个或多个被修剪层中的任一个层的稀疏性增加。
在这方面,应指出,与更深层的修剪相比,生成神经网络的外层的修剪可能对感知音频质量产生不成比例的负面影响。更深层包含更多的权重,因此降低外层的准确性可能会级联到生成神经网络更深处的更大误差。此外,通常,卷积模型中的第一层可能会学习进行类似于传统信号处理结构(例如滤波器组)的处理。由于瓶颈层捕获输入音频数据的最主要特征,因此可以选择瓶颈层的灵敏度参数,以使瓶颈层比生成神经网络的邻近(相邻)更深层更稀疏。换句话说,瓶颈层的灵敏度参数不是相邻层修剪量的(直接)结果,而是必须考虑到音频质量损失而被单独仔细选择/确定。此外,灵敏度参数可被选择为使得瓶颈层比生成神经网络的外层,即编码器级的第一层和/或解码器级的最后层,更稀疏。
在步骤640中,动态范围缩小的原始音频数据然后在动态范围缩小域中通过生成神经网络被增强。通过生成神经网络执行的增强过程旨在通过减少编码伪像和量化噪声来提高原始音频数据的质量。
作为步骤650中的输出,获得增强的动态范围缩小的音频数据,以用于随后扩展到扩展域。在一个实施例中,该方法还可以包括通过执行扩展操作将增强的动态范围缩小的音频数据扩展到扩展动态范围域的步骤。在一个实施例中,扩展操作可以是基于用于计算各增益值的频谱幅度的p范数的(解)压缩扩展操作。
在压缩扩展(压缩/扩展)中,通常,在滤波器组中计算并应用用于压缩和扩展的增益值。可以应用短原型滤波器来解决与单独增益值的应用相关联的潜在问题。参照上述压缩扩展操作,由生成神经网络输出的增强的动态范围缩小的音频数据可以由滤波器组进行分析,并且宽带增益可以直接在频域中应用。根据所应用的原型滤波器的形状,时域中的对应效果是自然地平滑增益应用。然后将修改的频率信号在在相应的合成滤波器组中转换回时域。在本上下文中,应指出,可能有许多QMF工具,其随后可以在从QMF转换回时域之前运行,以非限制性方式包括带宽扩展和参数上混中的一个或多个。使用滤波器组分析信号提供了对其频谱内容的访问,并允许计算优先提升高频贡献(或提升任何弱频谱内容的贡献)的增益,提供不受信号中最强分量主导的增益值,从而解决了与包含不同源的混合的音频源相关联的问题。在此上下文中,可以使用频谱幅度的p范数计算增益值,其中p通常小于2,已发现这在整形量化噪声方面比p=2的基于能量更有效。
上述方法可以在任何解码器上实现。如果上述方法结合压缩扩展应用,则上述方法可以在AC-4解码器上实现。
上述方法也可以由用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置来执行。该装置可以包括接收器,用于接收低比特率音频比特流;核心解码器,用于对所接收的低比特率音频比特流进行核心解码,以基于低比特率音频比特流获得动态范围缩小的原始音频数据;以及生成对抗网络(例如,生成器),用于在动态范围缩小域中增强动态范围缩小的原始音频数据。在一个实施例中,该装置还可以包括解复用器。在一个实施例中,该装置还可以包括扩展单元。
作为替代地或附加地,该装置可以是如下系统的一部分,该系统包括用于将动态范围缩小应用于输入音频数据并将动态范围缩小的音频数据以低比特率编码在比特流中的装置,和用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的所述装置。
作为替代地或附加地,本文描述的方法可以由计算机程序产品实现,该计算机程序产品包括计算机可读存储介质,其具有适于在由具有处理能力的设备执行时使设备执行所述方法的指令。
作为替代地或附加地,本文描述的方法可以由如下系统实现,该系统包括用于在动态范围缩小域中从低比特率音频比特流生成增强的音频数据的装置以及包括生成器和鉴别器的生成对抗网络。
元数据
上述方法可能涉及或部分基于元数据。在一个实施例中,接收到的低比特率音频比特流可以包括元数据,并且如上所述,步骤610还可以包括对接收到的低比特率音频比特流进行解复用。在一个实施例中,在上述步骤640中,通过生成神经网络增强动态范围缩小的原始音频数据可以基于元数据。如上所述,本文所述的方法、装置和系统在结合压缩扩展应用的情况下可能是有价值的。在一个实施例中,元数据因此可以包括压缩扩展控制数据中的一个或多个项。压缩扩展通常可以为语音和瞬态信号提供益处,但降低一些静态信号的质量,因为用增益值单独修改每个QMF时隙可能会导致编码期间的不连续性,这在压缩扩展解码器处可能会导致被整形噪声的包络中的不连续,其会造成可听伪像。通过各自的压缩扩展控制数据,可以在适当的情况下选择性地为瞬态信号开启压缩扩展,为静态信号关闭压缩扩展,或应用平均压缩扩展(AVERAGE COMPANDING模式)。在此上下文中,平均压缩扩展是指将恒定增益应用于音频帧,类似于相邻激活压缩扩展帧的增益。压缩扩展控制数据可以在编码期间被检测,并经由低比特率音频比特流被传输到解码器。在一个实施例中,压缩扩展控制数据因此可以包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的一种压缩扩展模式的信息。在一个实施例中,压缩扩展模式可以包括压缩扩展开启的压缩扩展模式、压缩扩展关闭的压缩扩展模式、和平均压缩扩展的压缩扩展模式。在一个实施例中,在上述步骤640中,通过生成神经网络增强动态范围缩小的原始音频数据可以取决于压缩扩展控制数据中指示的压缩扩展模式。在一个实施例中,如果压缩扩展模式为压缩扩展关闭,则可以不执行通过生成神经网络进行的增强。
自适应的基于灵敏度的修剪
上文已经参考例如图3A描述了确定用于计算机实现的生成神经网络的参数的第一方法。在第一方法中,仅有有限的修剪灵敏度参数适配(adaptation),包括例如根据直觉、深度学习理论、听力和人工重复来选择灵敏度参数。
接下来参考图7A、图7B和图8描述包括灵敏度参数的自动适配的用于确定(计算机实现的)生成神经网络的参数的第二方法。除非另有说明,第二方法是确定用于处理音频信号的计算机实现的(深度)生成神经网络的参数的方法。因此,该方法可能适用于配置生成神经网络。例如,生成神经网络可以是GAN的生成器。如上所述,生成神经网络包括编码器级和解码器级,编码器级映射到编码特征空间(隐特征空间,例如,编码音频特征空间或隐音频特征空间)。编码器级和解码器级均包括多个卷积层,并且每个卷积层包括一个或多个权重系数(例如,滤波器系数和/或激活函数系数)。
一般来说,所提出的方法通过基于在训练轮次期间计算的损失自动更新灵敏度参数而解决了繁重的灵敏度参数选择的问题。因此,本公开提出了一种用于自动更新灵敏度参数以修剪可用于增强音频的深度生成神经网络(例如,GAN的生成器)的框架。
更详细地,本公开描述了通过基于生成模型的未修剪损失自动更新灵敏度参数来修剪生成模型(例如,生成神经网络)的卷积层的权重的方法。该方法取得未修剪的、完全训练的生成模型的损失(“目标损失”),并基于训练轮次期间计算的损失自动更新灵敏度参数。使用的损失函数可能会变化,并且可能包含不同的损失组件。例如,可以结合有用于计算时域、频域或感知域中的损失的组件。
因此,本节介绍的技术可以减少在存储器和电池受限设备上运行用于音频增强的生成神经网络所需的计算要求,从而允许可以在所述设备上广泛部署用于音频增强的生成神经网络。
在没有预期限制的情况下,所提出的方法的重要方面如下:
·管控要修剪的神经网络权重总数的参数(例如灵敏度参数等)的自动适配
·在训练期间使用优化技术以便收敛到一组最佳修剪元参数
·用于改进修剪损失估计的新损失方程,其中在时域和频域两者中计算损失
·可以在感知加权域中计算损失项
图7A和图7B是示出根据本公开的实施例的确定生成神经网络的参数的方法的示例的框图,该方法包含修剪的严重程度的自动适配。如下文将更详细地描述的,修剪严重程度的适配基于生成神经网络的目标损失(或参考损失)。可以使用预定的损失函数确定(例如,计算)目标损失。出于此目的,可以使用上述损失函数中的任一个。
用于确定目标损失的一种示例过程在图7A中示出。因此,在第一阶段,在完全训练块705处使用适当的训练数据集完全训练生成神经网络的第二实例。这里,生成神经网络的第二实例指的是生成神经网络的第二实例的架构与要通过所提出的方法配置的生成神经网络(其第一实例)的架构相同。然而,生成神经网络的第二实例的参数值可能与生成神经网络的参数值不同。完全训练可指的是,例如,对于满足完全训练的特定准则或收敛准则的那样数量的轮次的训练。在完全训练之后,使用预定的损失函数来确定生成神经网络的完全训练的第二实例的损失(“阶段1损失”),例如,基于训练数据的项或基于训练数据的多个项。以这种方式确定的损失可以用作配置生成神经网络的目标损失。此处应理解,生成神经网络的第二实例未被修剪。
确定生成神经网络的参数的实际方法可以独立于上述第一阶段,并且应指出,目标损失也可以通过替代过程来确定。
在确定目标损失后,可以在第二阶段确定生成神经网络的参数,其示例在图7B中示出。
第二阶段采用最初设置的修剪控制信息,例如起始(initial)灵敏度参数集。在非限制性示例中,最初设置的修剪控制信息可以使用生成神经网络的上述完全训练的第二实例来得出。例如,完全训练的生成神经网络二实例可以用于对被训练的生成神经网络的第二实例的编码器级和解码器级的多个卷积层进行灵敏度分析,从而获得(例如,得出)起始修剪控制信息集。
不管其来源如何,在一个非限制性示例中,修剪控制信息可被最初选择为使得它指示瓶颈层的修剪以及与瓶颈层相邻的编码器级和/或解码器级的一个或多个卷积层的修剪。此外,最初选择的修剪控制信息可以为使得瓶颈层的稀疏性的增加小于与瓶颈层相邻的编码器级和/或解码器级的一个或多个被修剪层的稀疏性的增加。附加地或可选择地,最初选择的修剪控制信息可以为使得它指示在编码器级比在解码器级修剪更少的层。
图7B示意性地示出了在确定生成神经网络的参数的过程中可以重复执行多次的循环(或周期)。这些循环中的第一个可能略有不同,因为它可能从在块710处修剪生成神经网络或在块720处训练生成神经网络开始。在任何情况下,在该方法的起始阶段后,图7B可以重复运行。此外,应指出,在块730处的修剪控制信息的适配/更新(如下所述)可以在训练/修剪过程开始时开始或在某个稍后的轮次开始。在后一种情况下,进入训练/修剪过程的生成神经网络可能是(部分)预训练的生成神经网络。这可以加速图7B中所示的训练/修剪过程的收敛。
在每个循环中,当前生成神经网络(即,处于其当前训练和/或修剪状态的生成神经网络)在块710中被修剪,块710是基于修剪控制信息将生成神经网络的权重(权重系数或一般而言,参数)归零的块。灵敏度参数是修剪控制信息的一个例子。块710的输出是被修剪的生成神经网络(或一般而言,被修剪模型)。
被修剪的生成神经网络随后在块720处进行训练。这种(基于深度学习的)训练基于适当的训练数据集,并且可能跨越一个或多个轮次。其中,可以基于修剪控制信息(或下面确定的损失)的变化性(例如,变化率)采用更多或更少的训练轮次。此外,训练可能包括误差通过生成神经网络的反向传播,这在基于深度学习的模型的训练中是常见的。在一个示例中,生成神经网络可以是GAN的生成器,并且可以在GAN设置中被训练,如上所述。
例如,取决于是否满足收敛准则或指示生成神经网络的最终版本的其它准则,块720的输出可以是最终生成神经网络(或一般而言,最终模型),或生成神经网络可能会经历一个或多个额外的修剪和训练循环。
在后一种情况下,使用损失函数(例如,与用于确定目标损失的损失函数相同的损失函数)为当前生成神经网络确定(代表性)损失。该损失(“更新损失”)被馈送到块730,块730实现灵敏度参数适配器(或一般而言,修剪控制信息适配器)。块730进一步接收目标损失(“阶段1损失”)作为输入,并基于对于当前生成神经网络确定的损失和目标损失对修剪控制信息进行适配。这种适配可包括两种损失的比较。潜在地,例如,可以在这个阶段尝试进行灵敏度参数的许多排列(适配),这受到整体训练时间的限制。为此可以采用任何合适的优化技术。通常,对修剪控制信息进行适配可能涉及基于损失的比较来增加或减小生成神经网络的多个卷积层的修剪灵敏度。例如,取决于比较的结果,修剪灵敏度可能会针对所有卷积层相似地增加,或针对所有卷积层相似地减小。这可能涉及,例如,将比例因子(例如,整体比例因子)应用于修剪控制信息(例如,灵敏度参数)以对于生成神经网络的多个卷积层增加(例如,一致地增加)或减小(例如,一致地减小)修剪敏感性。这里,一致增加/减小被理解为不会改变跨层修剪简档的形状(例如,得到的跨层稀疏性或稀疏性增加的简档)。还应理解,如果确定的损失(或损失差异)大,则可以降低修剪的严重程度,和/或如果确定的损失(或损失差异)小,则可以增加修剪的严重程度。
随后,由块730输出的更新的修剪控制信息和由块720输出的生成神经网络(“更新的训练模型”)被输入到块710以用于另一修剪进程。
图8中示出了确定用于处理音频信号的计算机实现的生成神经网络的参数的方法800的示例流程图。方法800可以与图7B的方法一致。总体方法800可以包括以环状方式周期地执行的步骤S810至S850的多个周期。例如,步骤S810至S850可以周期执行多次直到满足收敛准则。
在步骤S810,基于修剪控制信息对编码器级和/或解码器级的权重系数进行修剪(归零),获得被修剪的生成神经网络。如上所述,修剪控制信息可以管控(例如,确定、指示)针对各卷积层修剪的权重系数的数量。该步骤可对应于上述块710。
在步骤S820,基于适当的训练数据集将被修剪的生成神经网络训练一个或多个轮次。这里,可以基于修剪控制信息(或所确定的损失)从一个周期到下一个周期的变化率,设定此步骤的每个实例中训练轮次的数量。修剪控制信息(或所确定的损失)的高变化性(大变化/变化率)可能表明每个训练步骤较少的训练轮次就足够了,而修剪控制信息(或所确定的损失)的低变化性可能表明每个训练步骤更多的训练轮次是可取的。该步骤可对应于上述块720。
在步骤S830,基于损失函数为被训练和修剪的生成神经网络确定损失。在不意图作为限制的情况下,此损失函数可以对应于上文“生成对抗网络设置”部分中描述的任何损失函数。此外,为了更好的感知重要性,可以将额外的/新的损失分量结合到损失计算中。
在步骤S840,对于生成神经网络基于所确定的损失和目标损失来确定更新/调整的修剪控制信息。使用与步骤S830中相同的损失函数,可以如上文参考图7A所描述的那样确定(例如,计算)目标损失。本公开中、尤其是“生成对抗网络设置”部分中所描述的任何损失函数可用于此目的。
这里,可以确定更新的修剪控制信息以最小化所确定的损失和目标损失之间的差异。为此可以使用各种优化技术。例如,确定更新的修剪控制信息可以包括增加(例如,一致地增加)或减小(例如,一致地减小)生成神经网络的多个卷积层的修剪灵敏度。也就是说,修剪灵敏度可以针对所有卷积层类似地增加,或者针对所有卷积层类似地减小。这可以例如通过将缩放因子(例如统一缩放因子)应用于修剪控制信息(例如灵敏度参数)以增加或减小生成神经网络的多个卷积层的修剪灵敏度来实现。在这种情况下,修剪灵敏度的增加或减小(例如,在更新的修剪灵敏度和先前修剪灵敏度之间的比率方面)可能在所有卷积层中是一致的。在这里,一致增加或减小被理解为指示跨生成神经网络的层的修剪简档(例如,在得到的稀疏性或稀疏性增加方面)(的形状)没有改变。该步骤可对应于上述块730。
在步骤S850,检查是否满足预定义的收敛准则。如果是(在步骤S850为是),则该方法结束。否则(在步骤S850为否),该方法返回到步骤S810,以再次运行包括步骤S810至S850的周期。因此,可以重复循环包括步骤S810至S850的周期,直到满足收敛准则。作为替代,可以在步骤S810、S820之后执行步骤S850的检查,在这种情况下,如果不满足收敛准则,将(仅)执行步骤S830、S840。其它合适的步骤顺序也是可行的。一般而言,应理解,只要不满足收敛准则,修剪控制信息就会持续更新。
上述收敛准则可以基于在步骤S830确定的损失和目标损失。例如,收敛准则可以与所确定的损失和目标损失之间的差异是否低于预定阈值有关。作为替代地或附加地,收敛标准可以与所确定的损失与目标损失之间的差异从一个周期到下一个周期的变化是否低于预定阈值有关。
在一些实施例中,方法800还可以包括在进入步骤S810至S850的多个周期之前的附加的预训练步骤(图8中未示出)。该预训练步骤可以是如下步骤:使用训练数据集将生成神经网络(部分地)训练一个或多个轮次,而不修剪编码器级和解码器级的权重系数。这可以导致在执行修剪和训练的交替进程(例如,在步骤S810和S820)时生成神经网络更快地收敛。
示例性计算设备
上面已经描述了确定计算机实现的生成神经网络的参数的方法。另外,本公开还涉及用于执行该方法的装置(例如,系统或设备)。这种装置900的示例在图9中示出。装置900包括处理器910和耦合到处理器910的存储器920,其中处理器适于执行本文描述的方法的步骤。处理器910可以接收输入905(例如,生成神经网络的表示、训练数据、测试数据、元数据等)并生成输出915(例如,生成神经网络的参数)。
这些前述装置(及其级、单元、块等)可以由服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、智能手机、网络设备、网络路由器、交换机或网桥,或任何能够执行指定该装置要采取的动作的(顺序或其它)指令的机器来实现。此外,虽然图中仅图示了单个装置900,但是本公开应当涉及单独地或联合地执行指令以实行本文所讨论的方法中的一种或多种方法的装置的任何集合。
本公开进一步涉及包括指令的程序(例如,计算机程序),该指令在由处理器执行时,使处理器执行本文描述的方法的一些或所有步骤。
此外,本公开涉及一种存储前述程序的计算机可读(或机器可读)存储介质。这里,术语“计算机可读存储介质”包括但不限于例如固态存储器、光介质和磁介质形式的数据存储库。
解释和附加的配置考虑
本公开涉及音频处理的方法和用于音频处理的装置(例如,系统或设备)。应当理解,关于方法及其步骤所做的任何陈述同样且类似地适用于相应的装置及其级/块/单元,反之亦然。
除非另有具体说明,否则从以下讨论中显而易见,可以理解,在整个公开中,使用诸如“处理”、“估算”、“计算”、“确定”、“分析”等术语的讨论是指计算机或计算系统或类似电子计算设备的如下动作和/或过程:它们将表示为物理量(例如电子量)的数据操纵和/或转换为类似地表示为物理量的其它数据。
以类似的方式,术语“处理器”可以指任何设备或设备的一部分,其处理例如来自寄存器和/或存储器的电子数据,以将该电子数据转换成例如可存储在寄存器和/或存储器中的其它电子数据。“计算机”或“计算机器”或“计算平台”可包括一个或多个处理器。
在一个示例性实施例中,本文描述的方法可由一个或多个处理器执行,该处理器接受包含一组指令的计算机可读(也称为机器可读)代码,当由一个或多个处理器执行时,这些指令执行本文描述方法中的至少一个方法。任何能够(顺序或以其它方式)执行指定要采取的动作的一组指令的处理器都被包括在内。因此,一个示例是包括一个或多个处理器的典型处理系统。每个处理器可以包括CPU、图形处理单元和可编程DSP单元中的一者或多者。处理系统还可以包括存储器子系统,包括主RAM和/或静态RAM,和/或ROM。可以包括总线子系统用于组件之间的通信。处理系统还可以是具有通过网络耦合的处理器的分布式处理系统。如果处理系统需要显示器,则可以包括如下这样的显示器,例如液晶显示器(LCD)或阴极射线管(CRT)显示器。如果需要人工数据输入,则处理系统还包括输入设备,例如字母数字输入单元(例如键盘)、指向控制设备(例如鼠标)等中的一者或多者。处理系统还可以包含存储系统,例如磁盘驱动器单元。在一些配置中,处理系统可以包括声音输出设备和网络接口设备。因此,存储器子系统包括计算机可读载体介质,其承载计算机可读代码(例如,软件),包括一组指令以在由一个或多个处理器执行时导致执行本文描述的方法中的一种或多种方法。应指出,当该方法包括若干元素(例如若干步骤)时,除非特别说明,否则不暗示这些元素的排序。软件可以驻留在硬盘中,或者也可以在计算机系统对其执行期间完全或至少部分驻留在RAM和/或处理器内。因此,存储器和处理器也构成承载计算机可读代码的计算机可读载体介质。此外,计算机可读载体介质可以形成或被包含在计算机程序产品中。
在可替代的示例实施例中,一个或多个处理器作为孤立设备操作,或可以在联网部署中连接,例如联网到其它处理器,一个或多个处理器可以在服务器-用户网络环境中作为服务器或用户机器操作,或在对等或分布式网络环境中作为对等机器操作。一个或多个处理器可以形成个人计算机(PC)、平板电脑、个人数字助理(PDA)、蜂窝电话、网络设备、网络路由器、交换机或网桥,或能够(顺序或以其它方式)执行指定该机器要采取的动作的一组机器指令的任何机器。
应指出,术语“机器”还应被视为包括单独或联合执行一组(或多组)指令以执行本文讨论的方法中的任何一个或多个方法的机器的任何集合。
因此,这里描述的每个方法的一个示例实施例是携带一组指令(例如,用于在一个或多个处理器上执行的计算机程序)的计算机可读载体介质的形式,例如,一个或多个处理器是网络服务器布置的一部分。因此,如本领域的技术人员将理解的,本公开的示例实施例可以体现为方法、诸如专用装置的装置、诸如数据处理系统的装置、或计算机可读载体介质,例如计算机程序产品。计算机可读载体介质承载包括一组指令的计算机可读代码,当在一个或多个处理器上执行时,该组指令使得一个或多个处理器实现一种方法。因此,本公开的各方面可以采取方法、完全硬件示例实施例、完全软件示例实施例、或组合软件和硬件方面的示例实施例的形式。此外,本公开可以采用载体介质(例如,计算机可读存储介质上的计算机程序产品)的形式,其承载在该介质中体现的计算机可读程序代码。
该软件还可以经由网络接口设备在网络上传送或接收。虽然载体介质在示例实施例中是单个介质,但术语“载体介质”应该被认为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器)。术语“载体介质”还应被视为包括任何如下介质,其能够存储、编码或承载一组指令以供一个或多个处理器执行,并使一个或多个处理器执行本公开的方法中的任何一个或多个方法。载体介质可以采用多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘、磁盘和磁光盘。易失性介质包括动态存储器,例如主存储器。传输介质包括同轴电缆、铜线和光纤,包括包含总线子系统的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的那些。例如,术语“载体介质”应相应地理解为包括但不限于固态存储器,体现在光和磁介质中的计算机产品;承载可由至少一个处理器或一个或多个处理器检测并表示一组指令的介质,所述指令在被执行时实现一种方法;以及网络中的传输介质承载可由一个或多个处理器中的至少一个处理器检测并表示该组指令的传播信号。
应当理解,所讨论的方法的步骤在一个示例实施例中由执行存储在存储器中的指令(计算机可读代码)的处理(例如,计算机)系统的适当一个处理器(或多个处理器)来执行。还应理解,本公开不限于任何特定的实现或编程技术,并且可以使用用于实现本文描述的功能的任何适当技术来实现本公开。本公开不限于任何特定的编程语言或操作系统。
本公开中对“一个示例实施例”、“一些示例实施例”或“示例实施例”的引用意味着结合示例实施例描述的特定特征、结构或特性被包括在本公开的至少一个示例实施例中。因此,本公开的各个地方出现的短语“在一个示例实施例中”、“在一些示例实施例中”或“在示例实施例中”不一定都指代相同的示例实施例。此外,在一个或多个示例性实施例中,如本领域的普通技术人员从本公开中显而易见的,特定特征、结构或特征可被以任何合适的方式组合。
如本文所用,除非另有说明,使用序数形容词“第一”、“第二”、“第三”等来描述共同对象,仅表示所指的是相似对象的不同实例,并不旨在暗示如此描述的对象必须在时间上、空间上、排名上,还是以任何其它方式处于给定序列。
在下文权利要求和本文的说明书中,术语“包括”、“其包括”中的任何一个是开放性术语,表示至少包括随后的元素/特征,但不排除其它元素/特征。因此,当用在权利要求中时,术语包括不应被解释为局限于其后列出的手段或元件或步骤。例如,设备包括A和B的表达范围不应限于设备仅由元件A和B组成。本文所用的术语“包含”、“其包含”中的任何一个也是开放性术语,它也意味着至少包含该术语后面的元素/特征,但不排除其它元素/特征。因此,“包含”与“包括”是同义的,并且指的是“包括”。
应当理解,在本公开的示例实施例的以上描述中,出于简化本公开和帮助理解各种创造性方面中的一个或多个的目的,有时将本公开的各种特征组合在单个示例实施例、图或其描述中。然而,此公开方法不应被解释为反映了权利要求需要比每项权利要求中明确记载的特征更多的特征的意图。相反,如所附权利要求所反映的,创造性方面在于少于单个前述公开的示例实施例的所有特征。因此,说明书之后的权利要求特此明确并入本说明书,每个权利要求独立作为本公开的单独示例实施例。
此外,虽然本文描述的一些示例实施例包括其它示例实施例中包括的特征中的一些特征而非其他特征,但如本领域那些技术人员应理解的,不同示例实施例的特征的组合预期被包含在本公开的范围内,并且形成不同的示例实施例。例如,在所附权利要求中,任何要求保护的示例实施例可被以任何组合使用。
在文中提供的描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本公开的示例实施例。在其它情况下,未详细示出公知知的方法、结构和技术以免混淆对本描述的理解。
因此,虽然已经描述了被认为的本公开的最佳模式,但是本领域的技术人员将认识到,在不脱离本公开的精神的情况下可以对其进行其它和进一步的修改,并且旨在要求所有此类更改和修改都落在本公开的范围内。例如,上面给出的任何公式仅代表可以使用的过程。可以在框图中添加或从中删除功能,并且可以在功能块之间互换操作。可以向在本公开的范围内描述的方法添加或从中删除步骤。
从以下列举的示例实施例(EEE)可以理解本公开的各个方面,这些实施例不是权利要求。
EEE1.一种确定用于音频信号后处理的生成对抗网络GAN的生成器的方法,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每个层中具有一个或多个滤波器,其中每个滤波器包括一个或多个权重,并且其中所述生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中该方法包括以下步骤:(a)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和(b)基于所述灵敏度参数集,修剪编码器级的瓶颈层。
EEE 2.根据EEE 1所述的方法,其中,所述修剪包括基于所述灵敏度参数集将一个或多个权重归零。
EEE 3.根据EEE 1或2所述的方法,其中,所述方法还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;并且其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
EEE 4.根据EEE 3所述的方法,其中,所述编码器级的被修剪层的数量小于解码器级的被修剪层的数量。
EEE 5.根据前述任一EEE所述的方法,还包括以下步骤:对编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,获得所述灵敏度参数集。
EEE 6.根据EEE 5所述的方法,其中,对所述GAN的第二生成器的编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,其中所述第二生成器是被训练的未修剪的生成器。
EEE 7.根据前述任一EEE所述的方法,其中执行步骤(a)和步骤(b)对应于修剪进程,并且其中所述方法还包括与GAN设置的一个或多个训练进程交替执行修剪进程的一个或多个周期。
EEE 8.根据EEE 7所述的方法,其中在GAN设置中的动态范围缩小域中执行所述一个或多个训练进程,其中所述GAN设置包括生成器和鉴别器。
EEE 9.根据EEE 8所述的方法,其中,所述一个或多个训练进程包括以下步骤:(a)将动态范围缩小原始音频训练信号输入生成器;(b)通过生成器基于动态范围缩小原始音频训练信号生成增强的动态范围缩小音频训练信号;(c)将增强的动态范围缩小音频训练信号和由其得出动态范围缩小原始音频训练信号的相应的初始动态范围缩小音频信号每次一个地输入到鉴别器;(d)通过鉴别器判断输入的动态范围缩小音频信号是增强的动态范围缩小音频训练信号还是初始动态范围缩小音频信号;以及(e)调整生成器的参数,直到鉴别器无法再将增强的动态范围缩小音频训练信号与初始动态范围缩小音频信号区分开。
EEE 10.根据EEE 7至9中任一项所述的方法,还包括在与训练进程交替的修剪进程的多个周期之后执行听力测试。
EEE 11.根据EEE 10所述的方法,其中,执行听力测试包括将被训练和修剪的生成器的输出与第二生成器的输出进行比较。
EEE 12.根据EEE 7到11中任一项所述的方法,其中,执行修剪进程涉及对生成器进行修剪,但不涉及对鉴别器进行修剪。
EEE 13.一种用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法,其中该方法包括以下步骤:(a)接收低比特率音频比特流;(b)对低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据;(c)将动态范围缩小的原始音频数据输入用于处理动态范围缩小的原始音频数据的生成对抗网络GAN的生成器,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏,(d)通过生成器在动态范围缩小域中增强动态范围缩小的原始音频数据;(e)作为生成器的输出,获得增强的动态范围缩小音频数据,用于动态范围的后续扩展
EEE 14.根据EEE 13所述的方法,其中所述瓶颈层比编码器级和/或解码器级的一个或多个外层更稀疏。
EEE 15.根据EEE 13或14所述的方法,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比。
EEE 16.根据EEE 13-15中任一项所述的方法,其中,与所述瓶颈层相邻且比所述瓶颈层更稀疏的所述编码器级和/或解码器级中的一个或多个层具有阈值数量的权重。
EEE 17.根据EEE 13-16任一项所述的方法,其中,所述生成器已通过修剪获得,并且其中所述修剪包括基于灵敏度参数集将一个或多个权重归零。
EEE 18.根据EEE 17所述的方法,其中,通过修剪获得所述生成器还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;并且其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
EEE 19.根据EEE 13-18中任一项所述的方法,其中,低比特率音频比特流为AC-4格式。
EEE 20.根据EEE 13-19中任一项所述的方法,其中该方法还包括步骤(f)通过执行扩展操作将增强的动态范围缩小音频数据扩展到扩展的动态范围域。
EEE 21.根据EEE 20所述的方法,其中,扩展操作为基于用于计算相应增益值的频谱幅值的p范数的压缩扩展操作。
EEE 22.根据EEE 13-21中任一项所述的方法,其中,所接收到的低比特率音频比特流包括元数据,步骤(a)还包括对所接收到的低比特率音频比特流进行解复用,
EEE 23.根据EEE 22所述的方法,其中,在步骤(d)中,通过生成器来增强动态范围缩小的原始音频数据是基于元数据的。
EEE 24.根据EEE 23所述的方法,其中,所述元数据包括压缩扩展控制数据的一个或多个项。
EEE 25.根据EEE 24所述的方法,其中,压缩扩展控制数据包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
EEE 26.根据EEE 25所述的方法,其中,所述压缩扩展模式包括:开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
EEE 27.根据EEE 25或26所述的方法,其中,在步骤(d)中,通过所述生成器对所述动态范围缩小原始音频数据进行增强取决于压缩扩展控制数据指示的压缩扩展模式。
EEE 28根据EEE 27所述的方法,其中如果压缩扩展模式为压缩扩展关闭,则不执行通过生成器进行的增强。
EEE 29.一种用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置,其中所述装置包括:(a)接收器,用于接收低比特率音频比特流;(b)核心解码器,用于对所接收的低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据;(c)生成对抗网络GAN的生成器,用于在动态范围缩小域中增强动态范围缩小的原始音频数据,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏。
EEE 30.根据EEE 29所述的装置,其中所述瓶颈层比编码器级和/或解码器级的一个或多个外层更稀疏。
EEE 31.根据EEE 29或30所述的装置,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比。
EEE 32.根据EEE 29-31中任一项所述的装置,其中,与所述瓶颈层相邻且比所述瓶颈层稀疏的所述编码器级和/或解码器级中一个或多个层具有阈值数量的权重。
EEE 33.根据EEE 29-32中任一项所述的装置,其中,所述生成器是通过修剪获得的,并且所述修剪包括基于所述灵敏度参数集将一个或多个权重归零。
EEE 34.根据EEE 33所述的装置,其中,通过修剪获得所述生成器还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;以及其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个层的稀疏性增加。
EEE 35.根据EEE 29-34中任一项所述的装置,还包括解复用器,用于对所接收的低比特率音频比特流进行解复用,其中所接收的低比特率音频比特流包括元数据。
EEE 36.根据EEE 35所述的装置,其中,所述元数据包括压缩扩展控制数据中的一个或多个项。
EEE 37.根据EEE 36所述的装置,其中,压缩扩展控制数据包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
EEE 38.根据EEE 37所述的装置,其中,所述压缩扩展模式包括:开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
EEE 39.根据EEE 37或38所述的装置,其中,生成器被配置为根据压缩扩展控制数据指示的压缩扩展模式,在动态范围缩小域中增强动态范围缩小的原始音频数据。
EEE 40.根据EEE 39所述的装置,其中,在所述压缩扩展模式为关闭压缩扩展的情况下,所述生成器被配置为不进行增强。
EEE 41.根据EEE 29-40任一项所述的装置,其中,所述装置还包括扩展单元,被配置为进行扩展操作,以将所增强的动态范围缩小音频数据扩展到扩展动态范围域。
EEE 42.一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令适于在由具有处理能力的设备执行时使所述设备执行根据EEE 1-12中任一项所述的方法。
EEE 43.一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令适于在由具有处理能力的设备执行时使所述设备执行根据EEE 13-28中任一项所述的方法。
EEE 44.一种系统,包含用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置,以及包括生成器和鉴别器的生成对抗网络,其中该系统被配置为执行根据EEE 1-28中任一项所述的方法。
EEE 45.一种系统,包括用于将动态范围缩小应用于输入音频数据并将动态范围缩小音频数据以低比特率编码在比特流中的装置,以及根据EEE 29-41中任一项的用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置。
Claims (67)
1.一种确定用于音频信号后处理的生成对抗网络GAN的生成器的方法,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每个层中具有一个或多个滤波器,其中每个滤波器包括一个或多个权重,并且其中所述生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中该方法包括以下步骤:
(a)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和
(b)基于所述灵敏度参数集,修剪编码器级的瓶颈层。
2.根据权利要求1所述的方法,其中,所述修剪包括基于所述灵敏度参数集将一个或多个权重归零。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;并且
其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
4.根据权利要求3所述的方法,其中,所述编码器级的被修剪层的数量小于解码器级的被修剪层的数量。
5.根据前述任一权利要求所述的方法,还包括以下步骤:
对编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,获得所述灵敏度参数集。
6.根据权利要求5所述的方法,其中,对所述GAN的第二生成器的编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,其中所述第二生成器是被训练的未修剪的生成器。
7.根据前述任一权利要求所述的方法,其中执行步骤(a)和步骤(b)对应于修剪进程,并且其中所述方法还包括与GAN设置的一个或多个训练进程交替执行修剪进程的一个或多个周期。
8.根据权利要求7所述的方法,其中在GAN设置中的动态范围缩小域中执行所述一个或多个训练进程,其中所述GAN设置包括生成器和鉴别器。
9.根据权利要求8所述的方法,其中,所述一个或多个训练进程包括以下步骤:
(a)将动态范围缩小原始音频训练信号输入生成器;
(b)通过生成器基于动态范围缩小原始音频训练信号生成增强的动态范围缩小音频训练信号;
(c)将增强的动态范围缩小音频训练信号和由其得出动态范围缩小原始音频训练信号的相应的初始动态范围缩小音频信号每次一个地输入到鉴别器;
(d)通过鉴别器判断输入的动态范围缩小音频信号是增强的动态范围缩小音频训练信号还是初始动态范围缩小音频信号;
(e)调整生成器的参数,直到鉴别器无法再将增强的动态范围缩小音频训练信号与初始动态范围缩小音频信号区分开。
10.根据权利要求7至9中任一项所述的方法,还包括在与训练进程交替的修剪进程的多个周期之后执行听力测试。
11.根据权利要求10所述的方法,其中,执行听力测试包括将被训练和修剪的生成器的输出与第二生成器的输出进行比较。
12.根据权利要求7到11中任一项所述的方法,其中,执行修剪进程涉及对生成器进行修剪,但不涉及对鉴别器进行修剪。
13.一种在动态范围缩小域中从低比特率音频比特流生成增强音频数据的方法,其中该方法包括以下步骤:
(a)接收低比特率音频比特流;
(b)对低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据;
(c)将动态范围缩小的原始音频数据输入用于处理动态范围缩小的原始音频数据的生成对抗网络GAN的生成器,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比;
(d)通过生成器在动态范围缩小域中增强动态范围缩小的原始音频数据;
(e)作为生成器的输出,获得增强的动态范围缩小音频数据,用于动态范围的后续扩展;以及
(f)通过执行扩展操作将增强的动态范围缩小音频数据扩展到扩展的动态范围域。
14.根据权利要求13所述的方法,其中所述瓶颈层比编码器级和/或解码器级的一个或多个外层更稀疏。
15.根据权利要求13或14所述的方法,其中,与所述瓶颈层相邻且比所述瓶颈层更稀疏的所述编码器级和/或解码器级中的一个或多个层具有阈值数量的权重。
16.根据权利要求13-15任一项所述的方法,其中,所述生成器已通过修剪获得,所述修剪包括以下步骤:
(i)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和
(ii)基于所述灵敏度参数集,修剪编码器级的瓶颈层。
17.根据权利要求16所述的方法,其中,所述修剪包括基于所述灵敏度参数集将一个或多个权重归零。
18.根据权利要求17所述的方法,其中,通过修剪获得所述生成器还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;并且
其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个的稀疏性增加。
19.根据权利要求16-18中任一项所述的方法,其中,所述编码器级的被修剪层的数量小于解码器级的被修剪层的数量。
20.根据权利要求16-19中任一项所述的方法,其中,通过修剪获得生成器还包括以下步骤:
对编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,获得所述灵敏度参数集。
21.根据权利要求20所述的方法,其中,
对所述GAN的第二生成器的编码器级的瓶颈层以及编码器级和解码器级的多个层进行灵敏度分析,其中所述第二生成器是被训练的未修剪的生成器。
22.根据权利要求16-21中任一项所述的方法,其中,执行修剪的步骤(i)和步骤(ii)对应修剪进程,其中通过修剪获得生成器还包括与GAN设置的一个或多个训练进程交替执行修剪进程的一个或多个周期。
23.根据权利要求22所述的方法,其中在GAN设置中的动态范围缩小域中执行所述一个或多个训练进程,其中所述GAN设置包括生成器和鉴别器。
24.根据权利要求13-23中任一项所述的方法,其中,低比特率音频比特流为AC-4格式。
25.根据权利要求13-24中任一项所述的方法,其中,扩展操作为基于用于计算相应增益值的频谱幅值的p范数的压缩扩展操作。
26.根据权利要求13-25中任一项所述的方法,其中,所接收到的低比特率音频比特流包括元数据,步骤(a)还包括对所接收到的低比特率音频比特流进行解复用,其中,在步骤(d)中,通过生成器来增强动态范围缩小的原始音频数据是基于元数据的。
27.根据权利要求26所述的方法,其中,所述元数据包括压缩扩展控制数据的一个或多个项。
28.根据权利要求27所述的方法,其中,压缩扩展控制数据包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
29.根据权利要求28所述的方法,其中,所述压缩扩展模式包括:开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
30.根据权利要求28或29所述的方法,其中,在步骤(d)中,通过所述生成器对所述动态范围缩小原始音频数据进行增强取决于压缩扩展控制数据指示的压缩扩展模式,其中可选地,如果压缩扩展模式为压缩扩展关闭,则不执行通过生成器进行的增强。
31.一种对于用于处理音频信号的计算机实现的生成神经网络确定参数的方法,其中生成神经网络包括编码器级和解码器级,其中编码器级映射到编码特征空间,其中编码器级和解码器级中的每一个包括多个卷积层,其中每个卷积层包括一个或多个权重系数,该方法包括多个周期,每个周期具有以下顺序过程:
基于修剪控制信息对编码器级和/或解码器级的权重系数进行修剪,获得被修剪的生成神经网络,其中修剪控制信息确定对于各卷积层被修剪的权重系数的数量;
基于训练数据集针对一个或多个轮次训练被修剪的生成神经网络;
基于损失函数确定被训练和修剪的生成神经网络的损失;
基于所确定的损失和生成神经网络的目标损失确定更新的修剪控制信息。
32.根据权利要求31所述的方法,其中,所述修剪包括基于修剪控制信息将一个或多个权重系数归零。
33.根据权利要求31或32所述的方法,其中,所述修剪控制信息包括编码器级和解码器级的多个卷积层的灵敏度参数。
34.根据权利要求31-33中任一项所述的方法,其中,确定更新的修剪控制信息以便最小化所确定的损失和目标损失之间的差异。
35.根据权利要求31-34中任一项所述的方法,其中,确定更新的修剪控制信息包括增加或减小生成神经网络的多个卷积层的修剪灵敏度。
36.根据权利要求35所述的方法,其中确定更新的修剪控制信息包括将比例因子应用于修剪控制信息,以增加或减小生成神经网络的多个卷积层的修剪灵敏度。
37.根据权利要求31-36中任一项所述的方法,其中,所述顺序过程周期执行多次,直至满足收敛准则。
38.根据权利要求37所述的方法,其中,所述收敛准则涉及所确定的损失与目标损失之间的差异是否低于预定阈值,和/或所确定的损失与目标损失之间的差异从一个周期到下一个周期的变化是否低于预定阈值。
39.根据权利要求31-38中任一项所述的方法,还包括:基于修剪控制信息从一个周期到下一个周期的变化率,设置被修剪的生成神经网络的过程中训练轮次的数量。
40.根据权利要求31-39任一项所述的方法,其中,所述损失函数包括与对抗性损失对应的分量和/或与时域L1范数损失对应的分量。
41.根据权利要求40所述的方法,其中,所述损失函数还包括与频域损失对应的分量。
42.根据权利要求41所述的方法,其中,所述频域损失是多分辨率短时傅里叶变换STFT损失。
43.根据权利要求31-42中任一项所述的方法,还包括在进入所述多个周期之前,使用所述训练数据集针对一个或多个轮次训练生成神经网络,而不修剪编码器级和解码器级的权重系数。
44.根据权利要求31-43中任一项所述的方法,其中编码器级包括映射到编码音频特征空间的瓶颈层,并且其中修剪控制信息被初始选择为使得修剪权重系数的过程涉及对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;并且使得瓶颈层的稀疏性增加小于与所述瓶颈层相邻的编码器级和/或解码器级的一个或多个被修剪层的稀疏性增加。
45.根据权利要求31-44中任一项所述的方法,其中,修剪控制信息被初始选择为使得修剪权重系数的过程涉及在编码器级比在解码器级修剪更少的层。
46.根据权利要求31-45中任一项所述的方法,还包括:
基于训练数据集训练生成神经网络的第二实例;以及
基于损失函数确定所训练的生成神经网络的第二实例的损失,并使用该损失作为生成神经网络的目标损失。
47.根据权利要求31-46中任一项所述的方法,还包括:
基于训练数据集训练生成神经网络的第二实例;和
对所训练的生成神经网络的第二实例的编码器级和解码器级的多个卷积层进行灵敏度分析,获得修剪控制信息的初始集。
48.一种用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置,其中所述装置包括:
(a)接收器,用于接收低比特率音频比特流;
(b)核心解码器,用于对所接收的低比特率音频比特流进行核心解码,并基于低比特率音频比特流获得动态范围缩小的原始音频数据;
(c)生成对抗网络GAN的生成器,用于在动态范围缩小域中增强动态范围缩小的原始音频数据,其中生成器包括编码器级和解码器级,其中编码器级和解码器级均包括多个层,每层中有一个或多个滤波器,其中每个滤波器包括一个或多个权重,其中生成器的编码器级的瓶颈层映射到编码器级和解码器级之间的编码音频特征空间,其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层比瓶颈层更稀疏,其中稀疏性由零值权重的百分比确定,并且其中与瓶颈层相邻的编码器级和/或解码器级的一个或多个层具有比瓶颈层更高的零值权重百分比。
49.根据权利要求48所述的装置,其中所述瓶颈层比编码器级和/或解码器级的一个或多个外层更稀疏。
50.根据权利要求48或49所述的装置,其中,与所述瓶颈层相邻且比所述瓶颈层稀疏的所述编码器级和/或解码器级中一层或多层具有阈值数量的权重。
51.根据权利要求48-50中任一项所述的装置,其中,所述生成器是通过修剪获得的,并且所述修剪包括以下步骤:
(i)基于指示修剪阈值的灵敏度参数集,修剪编码器级和/或解码器级;和
(ii)基于所述灵敏度参数集,修剪编码器级的瓶颈层。
52.根据权利要求51所述的装置,其中,所述修剪包括基于所述灵敏度参数集将一个或多个权重归零。
53.根据权利要求52所述的装置,其中,通过修剪获得所述生成器还包括:基于所述灵敏度参数集,对与所述瓶颈层相邻的编码级和/或解码级的一个或多个层进行修剪;以及
其中,所述灵敏度参数集被选择为使得瓶颈层的稀疏性增加小于编码器级和/或解码器级的一个或多个被修剪层中的任一个层的稀疏性增加。
54.根据权利要求48-53中任一项所述的装置,还包括解复用器,用于对所接收的低比特率音频比特流进行解复用,其中所接收的低比特率音频比特流包括元数据。
55.根据权利要求54所述的装置,其中,所述元数据包括压缩扩展控制数据中的一个或多个项。
56.根据权利要求55所述的装置,其中,压缩扩展控制数据包括关于已经用于编码音频数据的一种或多种压缩扩展模式中的压缩扩展模式的信息。
57.根据权利要求56所述的装置,其中,所述压缩扩展模式包括:开启压缩扩展的压缩扩展模式、关闭压缩扩展的压缩扩展模式、以及平均压缩扩展的压缩扩展模式。
58.根据权利要求56或57所述的装置,其中,生成器被配置为根据压缩扩展控制数据指示的压缩扩展模式,在动态范围缩小域中增强动态范围缩小的原始音频数据。
59.根据权利要求58所述的装置,其中,在所述压缩扩展模式为关闭压缩扩展的情况下,所述生成器被配置为不进行增强。
60.根据权利要求48-59任一项所述的装置,其中,所述装置还包括扩展单元,被配置为进行扩展操作,以将所增强的动态范围缩小音频数据扩展到扩展动态范围域。
61.一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令适于在由具有处理能力的设备执行时使所述设备执行根据权利要求1-12中任一项所述的方法。
62.一种计算机程序产品,包括具有指令的计算机可读存储介质,所述指令适于在由具有处理能力的设备执行时使所述设备执行根据权利要求13-30中任一项所述的方法。
63.一种系统,包含在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置,以及包括生成器和鉴别器的生成对抗网络,其中该系统被配置为执行根据权利要求1–30中任一项所述的方法。
64.一种系统,包括用于将动态范围缩小应用于输入音频数据并将动态范围缩小音频数据以低比特率编码在比特流中的装置,以及根据权利要求48-60中任一项的用于在动态范围缩小域中从低比特率音频比特流生成增强音频数据的装置。
65.一种装置,包括处理器、和耦合到处理器并存储用于处理器的指令的存储器,其中处理器被配置为执行根据权利要求31-47中任一项所述的方法的所有步骤。
66.一种计算机程序,包括指令,所述指令在由计算设备执行时使计算设备执行根据权利要求31-47中任一项所述的方法的所有步骤。
67.一种计算机可读存储介质,存储根据权利要求66所述的计算机程序。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063032903P | 2020-06-01 | 2020-06-01 | |
US63/032,903 | 2020-06-01 | ||
EP20181683.2 | 2020-06-23 | ||
EP20181683 | 2020-06-23 | ||
US202163177511P | 2021-04-21 | 2021-04-21 | |
US63/177,511 | 2021-04-21 | ||
PCT/EP2021/064511 WO2021245015A1 (en) | 2020-06-01 | 2021-05-31 | Method and apparatus for determining parameters of a generative neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115867966A true CN115867966A (zh) | 2023-03-28 |
Family
ID=76076354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180049232.4A Pending CN115867966A (zh) | 2020-06-01 | 2021-05-31 | 用于确定生成神经网络的参数的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230229892A1 (zh) |
EP (1) | EP4158624A1 (zh) |
JP (1) | JP2023533427A (zh) |
CN (1) | CN115867966A (zh) |
WO (1) | WO2021245015A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4207194A1 (en) * | 2021-12-29 | 2023-07-05 | GN Audio A/S | Audio device with audio quality detection and related methods |
WO2023164392A1 (en) * | 2022-02-23 | 2023-08-31 | Dolby Laboratories Licensing Corporation | Coded speech enhancement based on deep generative model |
WO2023237640A1 (en) * | 2022-06-08 | 2023-12-14 | Dolby International Ab | Loss conditional training and use of a neural network for processing of audio using said neural network |
WO2024097958A1 (en) * | 2022-11-03 | 2024-05-10 | Northeastern University | Data-driven design evaluators integrated into generative adversarial networks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3176786B1 (en) | 2013-04-05 | 2019-05-08 | Dolby Laboratories Licensing Corporation | Companding apparatus and method to reduce quantization noise using advanced spectral extension |
US11477468B2 (en) * | 2017-10-30 | 2022-10-18 | Electronics And Telecommunications Research Institute | Method and device for compressing image and neural network using hidden variable |
EP3844749B1 (en) * | 2018-08-30 | 2023-12-27 | Dolby International AB | Method and apparatus for controlling enhancement of low-bitrate coded audio |
-
2021
- 2021-05-31 EP EP21727498.4A patent/EP4158624A1/en active Pending
- 2021-05-31 WO PCT/EP2021/064511 patent/WO2021245015A1/en active Search and Examination
- 2021-05-31 US US17/927,929 patent/US20230229892A1/en active Pending
- 2021-05-31 JP JP2022573638A patent/JP2023533427A/ja active Pending
- 2021-05-31 CN CN202180049232.4A patent/CN115867966A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023533427A (ja) | 2023-08-03 |
EP4158624A1 (en) | 2023-04-05 |
US20230229892A1 (en) | 2023-07-20 |
WO2021245015A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11929085B2 (en) | Method and apparatus for controlling enhancement of low-bitrate coded audio | |
CA2960862C (en) | Audio encoder and decoder | |
CN115867966A (zh) | 用于确定生成神经网络的参数的方法和装置 | |
JP7383725B2 (ja) | オーディオデコーダ、フィルタの特性を定義する値のセットを決定するための装置、復号されたオーディオ表現を提供するための方法、フィルタの特性を定義する値のセットを決定するための方法、およびコンピュータプログラム | |
CN105247614B (zh) | 音频编码器和解码器 | |
JP6980871B2 (ja) | 信号符号化方法及びその装置、並びに信号復号方法及びその装置 | |
CN105723455A (zh) | 用于编码音频信号的编码器、音频发送系统和用于确定校正值的方法 | |
US20230178084A1 (en) | Method, apparatus and system for enhancing multi-channel audio in a dynamic range reduced domain | |
Byun et al. | Optimization of Deep Neural Network (DNN) Speech Coder Using a Multi Time Scale Perceptual Loss Function. | |
KR102099293B1 (ko) | 오디오 인코더 및 오디오 신호를 인코딩하는 방법 | |
AU2014280258B9 (en) | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding | |
US20220392458A1 (en) | Methods and system for waveform coding of audio signals with a generative model | |
US20220277754A1 (en) | Multi-lag format for audio coding | |
CN117935840A (zh) | 由终端设备执行的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |