CN117935840A - 由终端设备执行的方法和设备 - Google Patents
由终端设备执行的方法和设备 Download PDFInfo
- Publication number
- CN117935840A CN117935840A CN202310671720.XA CN202310671720A CN117935840A CN 117935840 A CN117935840 A CN 117935840A CN 202310671720 A CN202310671720 A CN 202310671720A CN 117935840 A CN117935840 A CN 117935840A
- Authority
- CN
- China
- Prior art keywords
- frequency
- frame
- network
- missing
- missing frame
- 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 140
- 238000013528 artificial neural network Methods 0.000 claims abstract description 75
- 230000005236 sound signal Effects 0.000 claims abstract description 35
- 230000007704 transition Effects 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 44
- 238000013473 artificial intelligence Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 33
- 238000001228 spectrum Methods 0.000 description 20
- 238000012549 training Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000003672 processing method Methods 0.000 description 14
- 238000011084 recovery Methods 0.000 description 14
- 230000003595 spectral effect Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000005070 sampling Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000008439 repair process Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 230000001364 causal effect Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000002194 synthesizing effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000037433 frameshift Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003820 Medium-pressure liquid chromatography Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/038—Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
- G10L21/0388—Details of processing therefor
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/08—Learning methods
-
- 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提供了由终端设备执行的方法、电子设备及计算机可读存储介质,涉及音频信号处理和人工智能。由终端设备执行的方法包括:基于音频信号的缺失帧之前的第一指定数量的第一已知帧的时频信息,通过第一神经网络生成缺失帧的低频分量;基于缺失帧之前第二指定数量的第二已知帧确定缺失帧为过渡帧时,基于缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成缺失帧的高频分量;根据缺失帧的低频分量和高频分量恢复缺失帧。
Description
技术领域
本公开涉及音频信号处理和人工智能技术领域,具体而言,本公开涉及一种由终端设备执行的方法、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
在音频信号的传输过程中,由于传输信道的干扰、通信网络的延迟或数据传输错误等原因,在接收端的接收的信号经常会发生数据缺失,例如发生音频信号帧的丢失。解码器根据缺失的数据进行解码时,为了改善由于信号帧丢失而导致的音频质量受损,通常会采用技术手段对缺失的信号帧进行重建,以使得解码后的音频听起来相对自然,就像是原本的信号帧没有缺失一样。因此,这种技术也被称作丢包补偿(Packet LossConcealment)、丢帧隐藏、丢失帧隐藏等。很多解码器中也会设置专门的PLC模块用以实现丢帧隐藏。
丢帧隐藏的目的是使恢复的帧尽可能地接近原始帧,从而提供更为流畅和逼真的收听效果。相关技术中主要包括基于信号处理的隐藏方法和基于深度神经网络的隐藏方法。现有技术中的丢包补偿方法的效果不自然,使得用户的收听感受较差。
发明内容
本公开实施例旨在一定程度上解决上述问题的至少一个方面。为此,本公开实施例提供了由终端设备执行的系列的技术方案和音频信号解码系列的技术方案。
根据本公开实施例的第一方面,提供了一种由终端设备执行的方法,其包括:
基于音频信号的缺失帧之前的第一指定数量的第一已知帧的时频信息,通过第一神经网络生成缺失帧的低频分量;
基于缺失帧之前第二指定数量的第二已知帧确定缺失帧为过渡帧时,基于缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成缺失帧的高频分量;以及
根据缺失帧的低频分量和高频分量恢复缺失帧。
根据本公开实施例的第二个方面,提供了音频信号解码方法,其包括:
检测接收到的音频数据是否存在数据缺失;
当不存在数据缺失时,进行正常解码,并将解码后的音频信号帧存储到播放缓冲区;
当存在数据缺失时,使用丢帧隐藏方法对缺失的数据进行恢复,其中,丢帧隐藏方法包括根据本公开第一方面的由终端设备执行的方法;
根据对缺失的数据的恢复结果,对播放缓冲区进行更新。
根据本公开实施例的第三方面,提供了一种电子设备,该电子设备包括:
存储器;
处理器;以及
存储在存储器上的计算机程序,
处理器执行计算机程序时,实现根据本公开第一方面的由终端设备执行的方法或根据本公开第二方面的音频信号解码方法。
根据本公开实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现根据本公开第一方面的由终端设备执行的方法的或根据本公开第二方面的音频信号解码方法。
根据本公开实施例的第五方面,包括有计算机程序,其特征在于,计算机程序被处理器执行时实现根据本公开第一方面的由终端设备执行的方法的或根据本公开第二方面的音频信号解码方法。
本公开实施例提供的技术方案带来的有益效果,将在下文中结合可选实施例进行介绍。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。
图1为根据本公开实施例的由终端设备执行的方法架构示意图;
图2为根据本公开实施例的由终端设备执行的方法的流程示意图;
图3为根据本公开实施例的低频生成网络的结构示意图;
图4为根据本公开实施例的高频生成网络的结构示意图;
图5为根据本公开实施例的根据预定义特征对低频生成网络进行训练的一种特征嵌入方式示意图;
图6为根据本公开实施例的根据预定义特征对低频生成网络进行训练的另一种特征嵌入方式示意图;
图7为根据本公开实施例的音频信号解码方法的架构示意图;
图8为根据本公开实施例的待恢复的缺失数据的数据结构示意图;
图9为根据本公开实施例的分子带的时频信息示意图;
图10为根据本公开另一实施例的由终端设备执行的方法架构示意图;
图11为根据本公开另一实施例的低频生成网络的结构示意图;
图12为根据本公开另一实施例的高频生成网络的结构示意图;
图13为根据本公开实施例的一种截止频率检测方法的流程示意图;
图14为根据本公开实施例的一种由终端设备执行的方法的系统架构示意图;
图15为根据本公开实施例的一种由终端设备执行的方法的流程示意图;
图16为根据本公开实施例的一种不同频率范围的分量的示意图;
图17为根据本公开实施例的一种基于截止频率的频率分量的选择方案的原理示意图;
图18为根据本公开实施例的一种采用带有重叠部分的分帧示意图;
图19为根据本公开实施例的一种合成替换块的示意图;
图20为根据本公开实施例的一种低频生成网络的结构示意图;
图21为根据本公开实施例的PLC处理的波形示意图;
图22为根据本公开实施例的电子设备的结构示意图。
具体实施方式
提供下列参考附图的描述以有助于对通过权利要求及其等效物定义的本公开的各种实施例的全面理解。本描述包括各种具体细节以有助于理解但是仅应当被认为是示例性的。因此,本领域普通技术人员将认识到,能够对这里描述的各种实施例进行各种改变和修改而不脱离本公开的范围与精神。此外,为了清楚和简明起见,可以略去对公知功能与结构的描述。
在下面说明书和权利要求书中使用的术语和措词不局限于它们的词典意义,而是仅仅由发明人用于使得能够对于本公开清楚和一致的理解。因此,对本领域技术人员来说应当明显的是,提供以下对本公开的各种实施例的描述仅用于图示的目的而非限制如所附权利要求及其等效物所定义的本公开的目的。
应当理解,单数形式的“一”、“一个”和“该”包括复数指代,除非上下文清楚地指示不是如此。因此,例如,对“部件表面”的指代包括指代一个或多个这样的表面。
术语“包括”或“可以包括”指的是可以在本公开的各种实施例中使用的相应公开的功能、操作或组件的存在,而不是限制一个或多个附加功能、操作或特征的存在。此外,术语“包括”或“具有”可以被解释为表示某些特性、数字、步骤、操作、构成元件、组件或其组合,但是不应被解释为排除一个或多个其它特性、数字、步骤、操作、构成元件、组件或其组合的存在可能性。
在本公开的各种实施例中使用的术语“或”包括任意所列术语及其所有组合。例如,“A或B”可以包括A、可以包括B、或者可以包括A和B二者。
除非不同地定义,本公开使用的所有术语(包括技术术语或科学术语)具有本公开所述的本领域技术人员理解的相同含义。如在词典中定义的通常术语被解释为具有与在相关技术领域中的上下文一致的含义,而且不应理想化地或过分形式化地对其进行解释,除非本公开中明确地如此定义。
以下讨论的图1至图14以及用于描述本专利文档中的本公开的原理的各种实施例仅作为说明,并且不应以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或设备中实施。
基于信号处理的方法包括时域方法和频域的方法,目前多用于标准中的音频编解码的解码器中。时域方法通常适用于语音信号,通过分析历史信息的周期性,提取出历史信息中周期波形,然后在缺失帧处重复的拷贝周期波形,从而达到对缺失帧的恢复。频域的方法通常更适用于非语音的音频信号,例如音乐,通过在频域拷贝或者预测缺失帧的信息来重建缺失帧。无论是基于时域的方法还是基于频域的信号处理方法,由于其本质都是利用历史信息的拷贝来替代当前缺失的信息,因此在信号不稳定,变化比较剧烈时,将会带来听感上的不自然。
基于深度神经网络的丢帧隐藏方法也包括时域方法和频域方法。时域方法和频域方法也是通过对历史信号的波形或者频谱信息经由网络对当前缺失帧的波形或者频谱进行预测,从而对缺失帧进行恢复。但是对于复杂的音频信号,例如包含音乐信号的音频,当前的神经网络结构尚无法有效地对这样复杂的信号进行学习,从而对于例如音乐这种复杂信号的丢帧补偿的结果往往存在问题。
基于信号处理的丢帧隐藏方法的根本是假设目标信号在当前帧是稳定的,没有发生比较大的变化,从而可通过历史信号对当前信号进行推演,或者以历史信号代替当前信号。其中,时域方法只适用于单基频的语音信号,频域方法虽然可适用于多基频的音乐信号,但是由于信号的时变性,相位和幅度谱的估计误差也会导致错误的缺失帧修复。也有一些通过设置分类器对音频信号进行分类,根据分类结果分别采用时域或频域方法进行丢帧隐藏的方法。但是由于分类器的不准确性,导致用错误的方法来修复缺失帧,同样会导致修复质量的不佳。
目前,各种基于信号处理的方法的对于历史信息的利用,本质上都是将历史信息的复制版本最小代价的插入到缺失帧的地方。但是,不管是频域信息的复制还是时域信号的复制,亦或是音频参数的复制,都会引入听感上的不自然。对于非稳定信号这种不自然感会尤为明显。而其它相关数据处理领域中常用的通过历史数据的插值、拟合等手段来预测当前数据的方法,对于音频帧来说,也并不适用,这样做的结果,往往其恢复效果甚至还不如直接的复制。
基于深度神经网络的方法虽然也是利用历史信息,但是由于深度神经网络不再是简单的复制,而是学习了音频信号深层次的内部特征,因此生成的声音的不自然感会相对弱一些。
不过,目前基于深度神经网络的丢帧隐藏方法都是将历史音频信息的波形或者频谱整体送入网络进行分析和预测当前帧。对于一般的音乐信号来说,作为一种艺术的表现形式,信号结构从本质上是取决于创作者的设计意图。所以音乐信号的结构与语音信号不同,比语音信号复杂得多,直接让目前的网络用于音乐信号是不容易的,一方面,音乐信号通常具有更高的采样率、更宽的带宽、更大的动态范围和复杂的复调,表现在同一时刻有多个频率成分,且各频率成分的起始时间和持续时间不同以及强度也都不一样。另外,不同音乐信号或者在同一音乐信号中各个片段的截止频率也可以不相同。而单一的网络很难学习到这种复杂的结构。所以当前用单一的时域或者频域方法实现一般音乐信号的丢帧补偿的结果往往存在问题,例如,生成的高频部分模糊等。
例如,对于真无线立体声(TWS,true-wireless stereophonic)蓝牙耳机,其大部分使用场景都会涉及听音乐,且听众也越来越关注音频质量。PLC的目标是在不稳定的无线传输过程中,在数据包丢失的情况下保持音频质。TWS中威胁音频质量的一个因素是在不稳定的无线传输过程中数据包的丢失。在蓝牙耳机中,由于传输功率低、无线电噪声高、发射器-接收器距离大、身体、衣服和其他物体对信号的阻挡、以及客户端进程之间对蓝牙数据槽的竞争等各种原因,数据包可能会丢失,当数据包丢失时,接收器无法解码相应的音频块,导致音频流明显损坏。作为对策,目前基本所有现代无线音频编解码器在解码过程中都包含了一些PLC机制。
信号处理方法和基于深度神经网络的方法在处理一般音乐信号的丢帧补偿任务上各有优缺点。信号处理的方法可以很容易处理一般音乐信号的全频带信息,但因为它把一般音乐信息的生成问题简单化了,所以容易产生不自然感。而深度神经网络的方法,又没办法完全处理一般音乐的复杂性,例如现在已有的网络在生成音频或者包括生成语音时,存在高频部分模糊的问题。
基于上述对相关技术实质的深入思考和技术存在的不足的根源的发现,本公开的发明人结合信号处理方法和深度神经网络方法的特点,提出了一种信号处理方法和深度神经网络方法相结合的,能够针对一般音频编解码器的丢帧隐藏方案。
对于丢帧补偿的任务,其最终目的是使恢复的缺失帧的信息尽量地去逼近未丢失的原始帧的信息。对于音频解码器的使用场景——提供音频以供收听而言,而这一指标其实很多时候并不会被收听者确切地感知到。一方面在不确切知晓收听的内容时,人往往是无法对重建的补偿帧与原始帧之间是不是一致有准确的判断的;另一方面,无论是人的听力还是大脑对听觉器官感受到的信息的处理能力,也都达不到对音频信息进行逐帧分辨的程度。因此,对于音频解码器来说,另一个重要的目的是让解码后的音频对于收听者来说是“顺耳”的,即具有良好的听感。而良好的听感,与补偿帧和原始帧之间的接近程度,在很多时候也是呈正相关的。
为了能在各种信号条件下均能获得良好的缺失帧重建,本公开的技术方案提出了一种对信号帧的低频和高频部分采用分离的重建手段,且根据缺失帧是否处于信号稳定阶段,也就是信号是否是非稳定/瞬态的(transient),选择不同的高频重建方式的综合架构。通过判断缺失帧是否为过渡帧,来确定缺失帧是否处于稳定阶段。
本公开的方案将神经网络和传统信号处理方法相结合,可以实现对各种信号的处理,包括对音乐信号的实时处理(对于音乐信,本公开提供的方案可以成为MPLC(MusicPacket Loss Concealment,音乐丢包补偿)。本公开方案的框架包括基于深度神经网络方法的信号生成部分和基于信号处理方法的决策部分。其中信号生成部分包括低频生成网络和高频生成网络,分别用于生成补偿帧的低频部分和高频部分。而决策部分用于辅助选择在何种情况下,采用何种方式去生成补偿帧。其中低频生成网络主要保证低频部分的相位连续性以及频谱的连续性,使生成波形的主要成分(低频部分)较基于信号处理的方法更为自然。而对于稳定信号,高频成分可以沿用基于信号处理的方法,避免网络生成较差的高频信号,而对于非稳定信号,基于信号处理的方法容易更加不自然,所以用高频生成网络产生相对自然的高频信号。其中,信号稳定性的判断采用基于信号处理的方法进行决策。
此外,为了获得更好的重建效果,本公开还提出了在生成网络中引入更多与音频信号有关的预定义特征,这些特征可以用信号处理的方法进行提取。将这些特征作为辅助条件嵌入到神经网络中,指导网络生成更为自然的音频。
与语音信号相比,音频信号的深度学习生成更具挑战性,因为存在依赖于各种时态的复杂结构在更宽的频率范围内缩放。因此,基于深度学习的音频信号PLC更适合于频域处理。对于PLC的任务,目标是将重建的音频无缝插入到无损坏的音频中。无缝插入应使内容保持每个频率分量的相位连续性和频谱连续性。其中,低频分量占主导地位。因此,可将历史上下文信息转换为频域,以获取时频特征,然后将频率划分为多个频带,并进行多尺度恢复。对于低频段,可通过神经网络(例如,通过FD-CRN(Frequency Domain-ConvolutionalRecurrent Neural,频域-卷积循环神经)网络)将频谱和相位信息保持在接近未丢失音频的位置以进行恢复。对于高频段,由于不容易感知,因此使用了一种结合信号处理方法的小型自动编码器网络。
根据本公开提出的由终端设备执行的方法,包括:基于音频信号的缺失帧之前的第一指定数量的第一已知帧的时频信息,通过第一神经网络生成缺失帧的低频分量;基于缺失帧之前第二指定数量的第二已知帧之间的频域相关性确定缺失帧为过渡帧时,确定使用第二神经网络生成缺失帧的高频分量时,基于缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成缺失帧的高频分量;以及根据缺失帧的低频分量和高频分量恢复缺失帧。
下面通过对几个示例性实施方式的描述,对本公开实施例的技术方案以及本公开的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
参见图1和图2,图1为根据本公开实施例的由终端设备执行的方法架构示意图;图2为根据本公开实施例的由终端设备执行的方法的流程示意图。
本公开实施例中提供的种由终端设备执行的方法,如图2所示,该方法包括步骤S110到S160。
在步骤S110,获取缺失帧之前的指定数量的已知帧的时频信息。
其中,时频信息包括对应于不同时间点的信号帧的频域信息。指定数量的已知帧,可以根据后续低频重建、高频重建和判断缺失帧是否为过渡帧的需要而选择。第一、第二、第三、第四已知帧可以选择不同数量,也可以根据需要将其中的一些或全部设置为相同数量。
在步骤S120,基于音频信号的缺失帧之前的第一指定数量的第一已知帧的时频信息,通过第一神经网络生成缺失帧的低频分量。
其中,第一神经网络也称为低频生成网络。根据已知帧的时频信息,通过已经训练好的低频生成网络生成缺失帧的低频分量,其中低频生成网络为深度神经网络,且被训练为用于根据输入的历史时频信息预测当前时间点的频域信息中的低频分量。
在步骤S130,基于缺失帧之前第二指定数量的第二已知帧确定缺失帧为过渡帧,也可以说是判断缺失帧是否处于信号不稳定阶段。当缺失帧为过渡帧时,执行步骤S140;当缺失帧不是过渡帧时,则执行步骤S150。
在步骤S140,基于缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成缺失帧的高频分量。
其中,第二神经网络也称为高频生成网络。根据已知帧的时频信息,通过已训练好的高频生成网络生成缺失帧的高频分量,其中高频生成网络为深度神经网络,且被训练为用于根据历史时频信息中临近时间点的频域信息预测当前时间点的频域信息中的高频分量。
在步骤S150,基于缺失帧之前第四指定数量的第四已知帧的高频分量,确定缺失帧的高频分量。例如,可根据已知帧的信息,通过信号处理方式获取缺失帧的高频分量。
在步骤S160,根据缺失帧的低频分量和高频分量恢复缺失帧。例如,可在将高频分量和低频分量合成后,通过频域到时域的反变换得到缺失帧的重建信号。
根据本公开的由终端设备执行的方法,同时利用信号的时域和频域信息,对信号帧的低频和高频部分采用分离的重建手段,并根据缺失帧的信号稳定性,选择性地对高频部分采用不同的方式进行重建,从而实现了对于各种不同类型的缺失帧均能得到良好的重建效果。
下面,结合具体的应用,对本公开的由终端设备执行的方法进行详细说明。
对于不同的音频解码器,考虑到存在帧间重叠等情况,某些情况下,一个信号帧的丢失仅影响该丢失帧;而另一些情况下,一个信号帧的丢失,可能不仅影响到其本身,还会影响到它之前和/或之后的信号帧。为了便于对完全丢失的信号帧和由于临近帧丢失而导致出现不完整等信息缺失情况的信号帧进行描述,本公开在下面具体实施方式的描述中,将完全丢失的信号帧称为丢失帧,而将信息不完整等信息缺失情况的信号帧称为缺失帧。可见,缺失帧包括丢失帧,还可能包括丢失帧的临近帧。
在进行丢帧隐藏时,可以仅对丢失帧进行帧重建,根据重建后的丢失帧对相关缺失帧的信息进行更新。这种实施方式在对临近帧进行更新时,需要对不同的编码格式进行细分,并根据不同的编码格式进行不同的缺失帧重建。或者,也可以对所有的缺失帧统一进行重建。无论哪种情况,只是对要根据本公开的方法重建的“帧”的范围略有区别,而对于每个具体的“帧”,其重建方式都是类似的,下面将以缺失帧的重建为例进行描述,而仅重建丢失帧可以视为是缺失帧重建中的特殊具体实例,因此将不再单独赘述。
此外,由于一般音频编解码器在编码当前帧信息时会用到帧间预测的方法进行信息压缩,音频编解码一般都在频域进行处理,在变换到频域前对时域信号进行分帧和加窗,相邻帧之间具有重叠overlap,所以要完全恢复当前帧的波形需要用到上一帧或者下一帧的波形。这样导致一帧信息的丢失有可能影响丢失帧之前或者丢失帧之后的帧的恢复。所以应用于一般音频编解码器的丢失帧隐藏技术还需要恢复多余一帧长的数据量。参见图8,除了当前帧的数据量N_loss(由斜线填充的区域所示)之外,还要额外恢复的可能会包括前一帧overlap的NL部分,与后一帧overlap的NR部分,以及作为需额外恢复的NE部分(这里NE部分为受音频编码器算法影响,因为丢失帧导致最邻近帧中的NE长度的波形被破坏的部分)。为了简化描述,对于包含上述各部分的多于一帧数据量的情况,也统称为缺失帧。在进行相应方法的执行时,其过程也是类似的,将不再单独赘述。
步骤S110中,获取缺失帧之前的指定数量的已知帧的时频信息,可以通过对已知帧进行傅立叶变换,得到频域信息。按时间排序的多个已知帧的频域信息,则构成已知帧的时频信息。变换后的时频信息可以记为(T,F),其中T表示时间尺度,F表示频率尺度。指定数量的已知帧根据第一、第二、第三和第四已知帧的数量来确定。
其中,已知帧的数量,或者说时间尺度T,可以根据具体的音频编码方式和对丢帧补偿的精度需求和实施算法的电子设备的运算能力等来选择。例如,当音频编码采样率较高时,单位时间内的帧数较多,此时单位时间内对应的已知帧数量也较多。对于根据相同的时间范围内的已知帧进行缺失帧的重建,则对应于更多的已知帧。
而频率尺度F的选择,则可以与神经网络的参数维度对应选择。根据傅立叶变换的系数对应的频域变换精度、神经网络的可用规模、实施算法的电子设备的处理能力等方面来综合选择。例如,当解码器可用的算力更多时,可以选择更大的频率尺度F,即将信号帧变换为更长的频域向量,傅里叶变换的点数可以更多。
根据本公开的方法无论对于何种情况的音频信号,均可以将高频部分和低频部分分别通过不同的途径进行重建。其中,低频部分均通过神经网络的方式进行重建。任何可以通过训练达成本公开的低频生成网络的输入和输出关系的神经网络结构均可应用于此,本公开对于低频生成网络的结构并无特别限制。
可选的,在实际实施时,信号频域范围(称为全频带)可以根据实际应用需求。可选的,频域可以划分为高频和低频两个部分,如频率不低于设定频率阈值的信号部分为信号的高频部分/高频分量,频率低于设定频率阈值的信号分为信号的低频部分/低频分量。可选的,全频带也可以划分为多个频域范围,例如,可以根据两个频率阈值将全频带划分为3个频带,设两个频率阈值为第一阈值和第二阈值,第二阈值大于第一阈值,那么高于第二阈值的频带部分可以成为高频带,介于第一阈值和第二阈值之间的频带部分为中频带,低于第一阈值的频带部分为低频带。可选的,还可以将全频带划分为更多个频带,例如,也可以将全频带划分为四个频带,如频率范围在0~2kHz之间的为低频带,在2kHz~4kHz之间的为中频带,在4kHz~8kHz之间的为中-高频带,8kHz以上的为高-高频带。
需要说明的是,在全频带被划分为多于两个频带的情况下,本公开实施例的方案在实施时,通过低频生成网络缺失帧的低频分量可以是按照频率范围由低到高的顺序选取的至少一个频带,通过高频生成网络生成的高频分量可以是不低于低频分量的至少一个频带。作为一可选方式,全频带可以分为低、中、高三个频带,通过低频网络生成的缺失帧的低频分量可以是对应低频带的信号分量,通过高频生成网络生成的缺失帧的高频分量可以是对应于中频带的信号分量,缺失帧对应于高频带的信号分量可以采用基于信号处理的方式生成,也可以通过高频生成网络生成,比如,对应于高频带的信号分量可以是采用基于信号处理的方式,基于已经解码出的缺失帧之前的已知帧的高频信息复制得到。
其中,为了能对时频信息中的时域顺序表现出的特征进行学习,低频生成网络可以包括带有能学习时序特征的结构。例如,在一些实施例中,低频生成网络可包括:编码网络、预测网络和解码网络,低频生成网络的一种结构可参见图3所示。
其中,编码网络用于对输入生成网络的信号特征(例如,已知帧的时频信息的特征,如声学特征)进行特征提取,预测网络可以基于编码网络提取得到的特征进行进一步的特征提取,解码网络可以基于预测网络的输出,或者,基于编码网络的输出和预测网络的输出,通过解码得到需要生成的信号分量。
其中,对于低频生成网络的具体神经网络结构本申请实施例不做唯一限定,可选的,对于上述网络结构,编码网络可以包括多层卷积下采样网络,用于接收信号输入并将之编码后提取出对应的特征向量。预测网络可以包括多层长短期记忆网络,通过长短期记忆网络来学习与时序有关的特征,从而使重建的缺失帧不仅取决于其前一帧信号,也能更多地呈现出于一段时间内的在前帧的相关性,从而实现更好的与时序有关的预测效果。解码网络包括多层卷积上采样网络,可选的,卷积上采样网络和卷积下采样网络直接分别进行数据传递。
由于信号帧中低频成分决定着生成波形和目标波形的一致性,即训练过程希望相位和幅度谱都和目标一致性越高越好,这样听觉上才不会被察觉。所以在训练低频生成网络时,损失函数的设置可以包括表征波形和频谱两个方面的参数。例如,损失函数可以设置为包括表征波形的近似性、相位的连续性、频谱的一致性(连续性)等方面特征的参数,并可以以加权和或者乘积等加性组合方式,将这些参数组合构成训练用的损失函数。
具体而言,编码网络的输入可可以是预处理得到的已知帧的时频信息的特征图,该特征图的维度信息为(2,F,T),即特征图的尺寸是T×F×2,其中,2代表频域信号的实部和虚部两个通道,F代表频域系数,F具体可以是傅里叶变换的点数,例如,可以是T代表时间轴上的帧数,并在频域的维度上进行卷积用于提取每一时间维度上频谱的低维度多通道特征即由(2,F,T)变换为(M,F/N,T),并且保存每一个卷积层的输出作为后边解码网络的输入。其中,变换系数M和N为实数,一般为自然数,可以根据实际情况进行选择。当不能整除时,可以向上或向下取整。在实际计算中,但对于各个数值并无严格的要求,在一定的合适范围均可。在一些实施例中,F、T、M、N等参数的选取可选择那些使得各个对应分式能够整除的数值,以便于计算。
预测网络可将特征(M,F/N,T)整理成(M*F/N,T),即表示为不同时刻的被编码的音频特征,预测网络基于此时序上的特征预测未来时刻的特征(M*F’/N,T)。
而解码网络则将预测的特征整理为(M,F’/N,T)并结合编码器每层卷积的输出进行扩张卷积,由(M,F’/N,T)变换为(2,F’,T)。
除了对缺失帧本身进行直接学习之外,根据对于音频的先验知识可以知道,音频信号还具有很多共性的特征。以及,在神经网络学习的过程中,也可能需要信号帧满足一些特殊的约束条件。例如,根据先验知识可知音乐具有的相关的特征,如节奏、onset(起始点)力度,以及帧间相关性等辅助信息。这些特征和约束条件如果能嵌入到神经网络的学习过程中,将会对获得更符合自然规律和期望条件的重建输出有很大帮助。
因此,本公开的一些实施例还提出了根据已知帧的时频信息获取音频信号的预定义特征;以及根据预定义特征对低频生成网络进行训练的方法。预定义的特征可以是音乐相关的特征,也可以是其它所需的约束条件转换的特征,因此也称作条件信息。根据已知帧的时频信息获取音频信号的预定义特征可以是根据时频信息直接提取特征,也可以是将用信号处理方法获得的特征转换到与时频信息对应的表达形式,再根据已知帧的时频信息进行相关的计算。
具体的神经网络训练和使用过程,则可将预定义特征进行向量化,并与已知帧的时频信息进行拼接后作为低频生成网络的输入,或将预定义特征向量化并嵌入到低频生成网络的中间层特征中。
可基于第一已知帧的时频信息,提取第一已知帧之间的频域相关性;基于第一已知帧的时频信息和第一已知帧之间的频域相关性,通过第一神经网络生成缺失帧的低频分量。
一种方式是将第一已知帧之间的频域相关性的特征和第一已知帧的时频信息的特征进行融合;基于融合后的特征,通过第一神经网络生成缺失帧的低频分量。
另一种可选的方式是将第一已知帧的时频信息输入到编码网络;将融合后的特征输入到预测网络;基于编码网络、预测网络和解码网络生成缺失帧的低频分量。
例如,可将预定义的特征对应的向量embedding后,与时频信息(T,F)进行拼接,并将拼接后的特征输入到编码网络。参见图5,此种方式下,预定义特征将再次经过编码网络的特征提取,相当于可处理未经过降维的特征提取的信息,相对来说适用于自定义特征与通用约束相对应的情况,例如,帧间相关性特征的引入。
参见图6,将预定义特征向量化并嵌入到低频生成网络的中间层特征中,与编码后的时频信息进行拼接,则是将自定义特征视为经过降维的特征提取的信息,相对来说更适用于对音乐固有特征的处理,例如对节奏特征的引入。
对于缺失帧的高频部分,根据不同的情况,有不同的更为适合的重建方式。因此,需要对缺失帧的状态进行判断。本公开的技术构思中,重要的思想之一是,当前相关技术中采用的用之前帧的高频部分直接替代的方式有时会带来非常不自然的听感。而这种不自然听感的产生原因之一是,缺失帧处于信号不稳定的阶段,例如音乐的开始、结束、停顿、转折等。这种不稳定在音频帧信号中可以表现为当前帧相对于前一帧信号发生了较大的变化。而直接用之前帧的高频部分进行替代不能跟随这种变化。
因此,步骤S130中,要基于缺失帧之前第二指定数量的第二已知帧判断缺失帧是否为过渡帧,是否处于信号不稳定阶段,以作为高频部分采用何种重建方式的决策依据。这里,对于根据当前帧的历史信息进行当前缺失帧恢复的方式而言,缺失帧处于信号不稳定阶段,其含义指的是当前的缺失帧相对于其紧邻的在前的一个或几个信号帧,是否发生较大的变化。在具体的操作层面,可以通过与表征帧与帧之间的变化有关的稳定性阈值函数来评价和判断信号是稳定的还是不稳定的。这种变化在时域看来更为直观,因此,一些实施例中,对于缺失帧是否处于信号不稳定阶段可以通过基于信号处理的方式来实现。
例如,可以用信号帧之间的相似度来作为稳定性阈值函数,也可以用两个帧信号之间的某种距离函数或者某种范数来作为稳定性阈值函数。
信号处于不稳定阶段意味着,在较短的时间范围内,例如一个帧间隔或几个帧间隔的时间内,信号发生了较大的变化,这种变化多半也意味着信号高频分量的较大变化。此时,直接使用前一帧的高频分量去替代缺失帧的高频分量,将会带来较大的误差,因此,需要对高频分量更为准确的估计方式。而对于低频部分,通常较高频部分更为平稳,这种短时内的信号变动,也未必一定伴随着低频分量的较大变化,并且也不意味着低频部分的历史信息对于当前信号帧的估计的作用降低,因此低频部分仍可使用低频生成网络。
而在使用高频生成网络对缺失帧的高频分量进行估计时,由于信号高频分量大概率已经发生了较大的变化,因此,当前帧高频分量与历史帧的高频分量的时序关联相对较弱,因此高频生成网络无需包括能对时序特性进行学习的相关组成部分。
在步骤S140,当缺失帧为过渡帧时,基于缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成缺失帧的高频分量。例如,可根据已知帧的时频信息,通过已训练好的高频生成网络生成缺失帧的高频分量,其中高频生成网络为深度神经网络,且被训练为用于根据历史时频信息中临近时间点的频域信息预测当前时间点的频域信息中的高频分量。
参见图4,在一些实施例中,高频生成网络可以包括编码网络和解码网络。其中,编码网络包括含有多层卷积下采样网络构成的残差编码网络;解码网络包括含有多层卷积上采样网络构成的残差解码网络。多层上采样网络和下采样网络直接进行信息传递,且将残差解码网络的输出经输出层变换后,与高频生成网络的输入合并后作为高频生成网络的输出。
高频生成网络的训练,可以根据音频信号中常见的出现信号不稳定的场景的信号段进行有监督训练,例如,音乐中的开始、结束、停顿、和弦的加入、新乐器的奏响等。
丢包隐藏(PLC)是为了恢复丢失的信息,以补偿传输过程中丢包造成的质量下降。最初,PLC的对象是语音信号。由于互联网语音协议(VOIP)的需要,PLC充当语音编解码器的后处理模块。如今,由于用户的使用场景,数据包丢失经常发生在短距离无线网络中,例如蓝牙,例如,手机作为信号源在桌子上,而用户将蓝牙耳机作为播放设备去另一个房间,或者设备之间存在干扰。在这种情况下,除语音信号外,PLC的对象还包括一般音乐信号。与语音信号不同,一般音乐信号的PLC是一个巨大的挑战。近几年,蓝牙组织推出了BLE audio,其中新推出的音频编解码器LC3明确要求在接收器处采用更有效、更强大的PLC技术。
传统的语音信号PLC采用基于LPC的基音重复方法,如语音编解码器G.711、G.722[4,5]。它利用语音信号的短时稳定性,根据历史波形分析基音信息,然后根据时域中基音的长度在丢失的帧处进行循环复制。
最初对VOIP传输一般音乐信号的需求并不多,因此在一些音频编解码器中,PLC只是使用语音方法,如opus的CELT。从本质上讲,音高重复的方法不适用于音乐信号。这是因为语音信号通常包含单个基频,而音乐信号是多个基频的组合。基于基音重复的PLC仅根据检测到的一个基音周期性构造波形。因此,如果将之用于音乐,其他频率将在PLC之后模糊。因为音乐编解码器通常将信号转换为频域进行编码,存在一些音频编解码器使用频域PLC。因此,恢复丢失帧的频谱系数是一种可行的方案。与LC3中附加的PLC一样,丢失帧的频谱系数是指定了随机相位的前一帧的频谱因数。
音频修复的目的是恢复与PLC类似的受损音频,但音频修复是非因果任务,可以使用受损音频的历史和未来背景。但对于音频传输,需要因果PLC,这意味着只能使用历史信息。此外,对于音频修复,仅恢复受损音频的振幅,将为整个音频重新生成相位。由于在线音乐传输不能改变历史音频,因此音频修复是不可行的,因此有必要提出一种有效的因果PLC技术用于一般音乐信号传输。
本公开的方法可用于普通音乐信号传输的因果PLC技术。由于音乐信号的复杂性,我们将历史上下文信息转换到频域以获得时频特征,然后将频率划分为多个频带,并按照不同尺度恢复它们。对于低频段,振幅谱和相位信息由FD-CRN网络恢复。对于高频段,由于不容易感知,因此使用了一种结合信号处理方法的小型自动编码器网络。将其应用于LC3编解码器,显示出更好的主观和客观改进。即无论是从使用者的主观感受,还是客观结果来看,都能获得良好的结果。
下面以一个具体的示例来对本公开的方法进行进一步的说明。
参见图8,设音频编码的帧长为N_loss,丢失一帧需要恢复的帧长为N_loss+NL+NR+NE。这里NE为受音频编码器算法影响,因为丢失帧导致最邻近帧中的NE长度的波形被破坏,以至于不能用作历史信息,NE为和丢失帧一样也需要恢复出来的波形长度。NL和NR分别为恢复的丢失帧的左侧以及右侧与原始波形重叠相加的长度。假设输入目标信号的采样率为48Khz,N_loss=480,NL=60,NR=60,NE=120;输入时频信息中,已知帧的帧数为40,频域系数取256。
对于低频生成网络,输入信号的维度为(512,40),整理成(2,256,40),其中,2代表频域信号的实部和虚部两个通道,256代表频域系数,40为帧数。编码网络的通道数为[16,32,64,128,256],取滤波器大小为3,步长为2,即频域系数由(2,512,40)变换为(256,16,40)。再进入预测网络,用过去的帧特征预测当前帧的特征,即由(256,16,40)整理成(4096,40),为一个时间长度为40,维度4096的时间序列,预测网络输出的特征维度为(4096,40)。在进入解码网络之前整理为(256,16,40)。解码网络的通道数为[128,64,32,16,1],同样取滤波器大小为3,步长为2,即频域系数由(256,16,40)变换为(2,512,40)。
条件信息的嵌入可以在输入特征处进行嵌入,也可以在编码网络处理完后进行嵌入。在输入特征处进行嵌入时,此处以帧间相关性的作为条件信息进行嵌入为例,帧间相关性为各邻近帧之间的频域相关性,可以为一个(1,40)的向量,将之embedding为(1,256,40)的向量。该向量和输入特征进行拼接,成一个(3,512,40)的向量进入编码网络进行卷积。在编码网络处理完后进行嵌入时,例如经过编码网络后特征被处理成(4096,40)的序列,则帧间相关性特征可以embedding为(256,40)的向量,和编码网络后输出的特征拼接成(4352,40)的特征,再进入预测网络进行预测得到(4352,40),再经由全连接层进行维度的转换得到(4096,40)的序列。
对于高频生成网络,输入信号的维度为(2,512),2代表频域信号的实部和虚部两个通道,512代表频域系数。卷积编码网络的通道数为[16,32,64],取滤波器大小为3,步长为2,即频域系数由(2,512)变换为(64,64)。卷积解码网络的通道数为[64,32,16,1],同样取滤波器大小为3,步长为2,频域系数由(64,64)变换为(2,512),将其和输入即前一帧的频谱信息(2,512)相加,得到最终的维度为(2,512)的高频信号。
缺失帧是否为过度帧的判断可以基于信号处理方法进行决策,假设一帧的频域系数为X(n),则帧间相关性可以表示为corr(X(n),X(n-1)),计算方式如下:
此处计算的是丢失帧最邻近历史帧间的频域相关性,当Corr>thr,其中thr为稳定性阈值,则认为信号是稳定的,此时高频用历史的高频信息复制过来,反之,则认为信号处于非稳定状态,则高频用高频生成网络。
当然,也可以结合历史上其它帧之间的相关性,或者是不止两帧之间的帧间相关性,或者不是直接相邻而是间隔一定距离的帧之间的相关性等方式来进行缺失帧是否为过渡帧的判断。
此外,本公开的实施例还提供了一种音频信号解码方法,其整体框架可以参照图7所示。该方法可用包括下述操作。
检测接收到的音频数据是否存在数据缺失,当不存在数据缺失时,进行正常解码,并将解码后的音频信号帧存储到播放缓冲区,这些存入缓冲区的音频信号也可以称作历史波形;当存在数据缺失时,使用丢帧隐藏方法对缺失的数据进行恢复,其中,丢帧隐藏方法根据本公开第一方面的由终端设备执行的方法。
根据对缺失的数据的恢复结果,对播放缓冲区进行更新。具体而言,可以将对缺失帧(缺失数据)的恢复结果与原波形进行拼接(例如对于受丢失帧影响的相邻帧进行拼接),得到完整的各个信号帧的更新数据,并根据更新的信号帧对缓冲区的历史波形进行更新和加入新恢复的当前帧。
从而,可以通过同时利用信号的时域和频域信息,对信号帧的低频和高频部分采用分离的重建手段,并根据缺失帧的信号稳定性,选择性地对高频部分采用不同的方式进行重建,实现了对于各种不同类型的缺失帧均能得到良好的重建效果。
其中,根据本公开第一方面的由终端设备执行的方法可以是直接应用于在音频解码器的PLC模块之中。这种实施方式适用于音频解码器的重新构建的场景。在解码器内置的丢包补偿PLC模块中执行该音频信号解码方法,对与缺失帧有关的信号帧进行重建,以重建的信号帧作为PLC模块的输出和对缺失数据的恢复结果。
而对于已有的音频解码器,其中的PLC模块已经存在,如果需要使用根据本公开第一方面的由终端设备执行的方法,则可以在PLC模块输出的解码信息codecs的基础上,进行进一步的操作。
例如,可以直接对PLC模块输出的解码信息codecs进行二次处理,用使用本公开的第一方面的由终端设备执行的方法重建的缺失帧替代原PLC模块重建的缺失帧。具体可以实现为:获取解码器内置的丢包补偿PLC模块的输出;从PLC模块的输出中剔除与缺失帧有关的信号帧;使用本公开的由终端设备执行的方法,对与缺失帧有关的信号帧进行重建;以重建的信号帧作为对缺失数据的恢复结果。
或者是,可以直接对PLC模块输出的解码信息codecs是否理想进行判断,在PLC的丢包隐藏结果不理想时,使用本公开的由终端设备执行的方法进行进一步的补偿,而在结果理想时则不做处理。从而减少不必要的运算。
具体而言,可以包括:获取解码器内置的丢包补偿PLC模块的输出;对PLC模块的输出中与缺失帧有关的信号帧的恢复结果是否符合预定补偿标准进行判断;当不符合预定补偿标准时,使用根据本公开的由终端设备执行的方法,对与缺失帧有关的信号帧进行重建;以重建的信号帧作为对缺失数据的恢复结果。
要说明的是,音频解码器通常会支持多种音频格式,而对于每种不同的音频格式,因为编码方式不同,对应的高频生成和低频生成神经网络可以采用类似的结构,但是训练出的参数则是不同的。因此,为了支持多种音频格式需要训练多组不同的神经网络参数,甚至是可以训练多组不同的神经网络模型。
对于音频信号的丢帧较为高发,且对实时的丢包隐藏需求较高的场景之一是蓝牙耳机或者是其它无线通信协议的具有音频功能的可穿戴设备等。在这些设备中部署本公开的音频解码方法时,可以基于蓝牙等常用的音频格式,如SBC(Subband Coding,子带编码)、AAC(Advanced Audio Coding,高级音频编码)、apt-X、LDAC、Hi-Res Audio(High-Resolution Audio,高解析度音频)等,分别进行高频生成网络和低频生成网络的训练。
参见图9到图14,在上述方法的基础上,本公开进一步提出了一种对于低频部分进行分子带重建的解决方案。
图9为根据本公开实施例的分子带的时频信息示意图。如图9所示,可使用Seq2Seq模型生成低频子带内容。输入是一个包含P个帧的波形段:x(S-P),…,x(S-1),目标信号(Target)与输入具有相同的长度,并且N个样本位于输入波形的前面,N=N_loss+NR或N=N_loss+NE+NR,可根据目标音频编解码器确定的。
通过跳跃尺度=1/4帧大小的STFT将波形段转换为T/F特征(C,F,T)即时频特征。在ISTFT之后,可在段的头部和尾部填充零以保持长度一致。
图10为根据本公开另一实施例的由终端设备执行的方法架构示意图。
其中绝大部分动作与结合图2进行描述的本公开第一方面的实施例类似,在此不再赘述。
要特别说明的是,对于低频重建部分,第一神经网络包括对应于多个子带的多个子带的第一神经网络。每个子带的信号通过各自的子带的第一神经网络进行处理。处理后的结果在进行合成。通过更小尺度的子带上进行重建,能够对频域的变化进行更精确的预测。
图11为根据本公开另一实施例的低频生成网络的结构示意图。低频子带生成网络采用FD-CRN网络,该网络包含作为编码器的卷积(conv2D)块堆栈,以提取频域的高阶特征,然后LSTM使用Seq2Seq实现预测,最后,带反卷积模块(Deonv2D)的解码器将低分辨率特征转换为目标大小。可选的,如图11所示,卷积块/反卷积模块可以采用包括卷积层(conv2D)、批归一化(BatchNorm)层和ELU激活函数层的神经网络结构。
为了训练低频生成网络的子带,需要考虑波形损耗和频谱损耗。波形损耗将最小化波形失真以保持相位连续性,频谱损耗将最小化频谱失真。可选的,波形损失Losswaveform和频谱损失Lossspectrum的表达式如下:
其中,X和x表示目标的频谱和波形,表示只包括子带分量的波形和频谱。这意味着在训练一个子带时,将不考虑另一个子带,要重建子带的波形还需要去除其他子带分量。
图12为根据本公开另一实施例的高频(HF)生成网络的结构示意图。自动编码器网络为被用于为过渡的帧生成高频分量。Conv2D块和Deconv2D块的结构可以与低频(LF)生成网络的结构相同。不同之处在于T/F特征在T维上可以更短,训练数据将根据瞬态检测模块进行选择。
在一些实施例中,当缺失帧为过渡帧时,从历史中复制高频。为了使复制的高频与能量波动一致,可引入子带的能量控制。针对缺失帧的各子带,分别基于所述第二已知帧对应的该子带的能量增益,对确定的所述缺失帧的高频分量进行调整。
如下述公式所示,其中E(i,j)是帧i处子带j的能量。相邻帧之间的能量波动将按公式Gain(i,j)计算,它将作为增益因子应用于当前丢失帧的每个频带。
Gain(i,j)=Max(Min(E(i+1,j)/E(i,j),th1),th2)
其中,B_n为子带的索引,th1,th2为相关阈值。
本公开实施例中的中生成网络(低频生成网络、高频生成网络)的频率范围都是固定的,低频生成网络对应的频率范围记为第一频率范围[f1,f2],高频生成网络对应的频率范围记为第二频率范围(f2,f3]。但是实际音乐中会出现有效音乐成分的频率范围低于网络生成的频率范围的情况发生,所以在对生成网络生成的信号分量进行融合时,需要对网络生成的频率范围进行限制。可选的,通过检测到的Cut off frequency(截止频率)对网络的输出频率范围进行选择。
作为一可选方案,图13示出了本公开提供的一种检测截止频率的方法的流程示意图,可以通过检测丢失帧最临近历史帧的各频点的能量,对于每一频点,当该频点的能量小于经验阈值1,且当频率高于该频点的各频点的能量和小于经验阈值2时,则该频点为检测到的截止频率对应的频点索引。
截止频率可以理解为信号在其之上没有可听能量的频率,神经网络有时会产生超过临界值的足够能量,这很容易被认为是人为的,听起来不顺耳,作为一种快速补救措施,本申请实施例提出了上述使用一种简单的基于阈值的方法来识别截止频率的方案,截止频率的计算公式可以表示如下:
这里,fc为截止频率,|X(j)|表示频点j的能量,∑i>j|X(j)|则表示频率大于频点j的各频点的能量和,fc为满足|X(j)|小于阈值th1且∑i>j|X(j)|小于阈值th2的最低频率。
具体的,如图13所示,X(i)表示丢失帧最临近历史帧(已知帧)的第i个频点的能量,i为频点的索引,索引的值越大频点的频率越高,可以按照频点的索引由低到高的顺序,对最临近历史帧中各个频点进行遍历,对应当前遍历到的频点,若该频点的能量X(i)的绝对值不小于阈值1(图中的thd1),则遍历下一个频点,若该频点的能量的绝对值小于阈值1,则计算最邻近历史帧中,索引大于该频点的索引且低于生成网络对应的频率范围的最高频率的频点的索引(Id_F)的所有频点的能量的绝对值之和即上述能量和,如果能量和小于阈值2(图中的thd2),则将该频点的索引确定为截止频率的索引,也就是说,该频点的频率确定为截止频率,如果能和不小于阈值2,则遍历下一频点,直至找到频点能量小于阈值1且频点对应的上述能量和小于阈值2的频点。
在确定出截止频率之后,可以基于截止频率确定高频分量和低频分量的融合。其中,可以基于截止频率,只保留生成网络生成的分量中频率在截止频率以下的部分,截止频率以上的所有频点的分量可以都采用基于频率复制的方式(如可以采用后文中描述的带有增益控制机制的基于频率复制的方式,也可以是传统的基于频率复制的高频分量合成方式)生成,也就是说,如果截止频率在生成网络的频率范围的最高频率之上,截止频率不会产生影响。
作为一可选实施方案,图14示出了本公开提供的一种信号修复系统的结构示意图,图15示出了本公开提供的方案的一种可选的实施流程示意图,下面结合图14和图15对该实施方案进行说明。
由前文的描述可知,当前低频分量LF/高频分量HF的生成来源于网络或者频率复制,其情况可以分为两种情况,称为情况1和情况2情况1的高频分量是基于信号处理的方式,高频分量来自于历史信息中高频的复制(如采用前文中描述的采用能量增益对从历史信息中复制的高频信息进行调整得到高频分量的方案),情况2的高频分量是通过高频生成网络生成的。
作为一可选方案,假设全频带分为低频带、中频带和高频带3个频率范围,上述情况1和情况2中描述的高频分量可以对应于中频带的分量,高频带对应的分量在情况1和情况2中都可以采用基于信号处理的方式,从历史信息中复制得到。如图16所示的一个示例,图中每种情况对应的3个矩形框由下至上分别表示低频带、中频带和高频带,图16中的高频HF部分包括了中频带和高频带两个部分,其中,两种情况中的丢失帧的高频带部分的分量都来自于历史信息的复制,情况1中的中频带对应的分量来自于历史信息的复制,情况2中的中频带对应的分量通过高频生成网络生成。
如果不进行截止频率检测,在通过网络生成或者基于信号处理的方式复制得到对应于各频带部分的信号分量之后,可以将各部分融合/合并得到丢失帧的完整频域分量(称为全频分量),再通过傅里叶反变换(频时转换)即可得到修复后的丢失帧。在采用截止频率的方案时,则需要根据截止频率对生成网络输出的分量进行选择,确定生成网络输出的分量是否全部采用,还是仅采用部分分量。
本公开实施例提供的PLC方案(如MPLC)是在STFT(短时傅立叶变换)域即频域中预测不完整和/或不可用帧,即前文中描述的缺失帧/丢失帧,丢失帧可以基于位于其之前的若干已知帧(下面称为先前帧)来生成。如图14所示,对于有丢包的信号,该信号中的丢失帧的先前帧①的STFT(多个具有时序信息的已知帧的频域特征形成的时频特征)被馈送到单独的模块②和③,用于合成目标频谱帧的不同频带,模块③用于生成低频部分的分量LF,模板②用于生成高频部分的分量HF,这些子带结果LF和HF合并得到全频带⑤(缺失帧的全频域信息),全频带被逆变换到时域⑥中,之后,可以根据重叠添加(Overlap-add,OAT)到替换块中。
如图14所示,在进行缺失帧修复时,还可以包括前文中所描述的截止频率检测④,确定出的截止频率可以用于生成网络所生成的频域分量(预测分量)的选择,以帮助消除可能范围以上的预测分量。
对于每个子带合成模块(模块②、模块③)使用的运行时资源可以由其计算架构决定。可选的,全频带可以分为低频带、中频带和高频带3个子带,对最低频带可以使用复合的DNN(深度神经网络),对最高频带可以使用简单的基于频率重复方法(如复制前一帧),介于两者之间的频段可以在DNN和基于频率重复的方法之间选择(如图16和图17所示的示例,情况1的中频带部分采用基于频率复制的方法,情况2的中频带部分采用网络生成),如果选择使用神经网络生成,相比于最低频带,该部分的神经网络可以采用相对简化的DNN,如图14所示,模块②中的高频生成网络(级联的编码器Encoder、解码器Encoder和全连接层)可以采用复杂度低于低频生成网络(级联的编码器Encoder、LSTM网络、解码器Encoder和全连接层)的网络架构。
仍以图16中所示的频率范围划分方式为例,图17示出了本公开提供的一种基于截止频率检测的信号处理方式的原理示意图,记低频带的频率范围(也就是低频生成网络对应的频率范围)的最高频率的索引为Id_LF,中频带的频率范围(也就是高频生成网络对应的频率范围)的最高频率的索引为Id_HF,截止频率的索引为Id_cut,频率越高,索引的值越大。如图17所示,对于情况1,在通过截止频率检测确定出Id_cut之后,如果Id_cut<Id_LF,那么在通过融合生成全频分量时,低频生成网络输出的低频分量只采用Id_cut以下部分的分量即频率小于截止频率的低频分量,对于低频生成网络生成的高于Id_cut的分量,采用基于信号处理的方式从历史信息中复制生成。也就是说,对于情况1,当截止频率的频点索引小于低频网络生成的频率范围时,则低频生成网络生成的LF成分仅选择截止频率以内的频率成分,截止频率以上的频率成分来自于频率复制的方法,频率介于截止频率和低频生成网络的最高频率之间的分量不采用低频生成网络生成的分量,而是采用基于信号处理的方式得到,也就是说,此时,频率高于截止频率的所有分量都是基于信号处理的方式得到。如果Id_cut≥Id_LF,低频生成网络生成的LF成分全部使用,对应于图17中的否则分支,此时最终得到的全频分量和不进行截止频率检测时得到的全频分量相同。
对于情况2,当截止频率的索引Id_cut小于高频网络生成的频率范围的最高频率的索引Id_HF时,高频生成网络生成的HF成分仅选择截止频率以内的频率成分,截止频率以上的频率成分来自于频率复制的方法,即高频生成网络生成的高频分量中频率介于截止频率和高频生成网络的最高频率之间的频率分量,不适用生成网络生成的该频率部分的分量,而是来自于历史信息的复制。
在基于截止频率检测方案,确定出全频带各频率范围的频率分量之后,则融合各部分的分量,得到丢失帧的全频分量。可以理解的是,对于图15中所示的流程图,如果全频带是被分成了,高低频是对多个频带对应的分量进行融合,例如16所示的多个频带部分的方案,融合时,除了图15中示出了最后要融合的高频分量(对应于图16,该高频分量是基于截止频率确定的高频生成网络生成的全部分量,或者网络生成部分分量和基于频率复制的部分分量,或者是基于复制方式生成的中频带的分量)和低频分量(低频生成网络生成的全部分量,或者是低频生成网络生成的部分分量和基于频率复制的部分分量)外,还包括图16中所示的高频带对应的分量。
可选的,本公开提出的PLC(例如,MPLC)可以应用于通用解码器(该解码器可以包括本地PLC)之后作为后过滤工作,如图18所示,对于每个传输的包,解码器输出解码的音频块或由本地PLC生成的替代块,并将输出的块进行缓存,对于通过本地PLC生成替代块的情况,解码器还设置丢包标志,在看到这个标志后,本公开提出的MPLC可以重新生成替代块,并采用重新生成替换块更新本地PLC生成的替换块,并将其插入前一个块和下一个块之间,根据需要淡入淡出。
下面再结合一种可选的具体实施例,对本公开提供的方法进行更具体的说明。其中,该实施例中应用了一种帧的大小等于解码块大小的成帧方案,信号的处理采用带有重叠的分帧和加窗的处理方式,如图18所示的示意图,图中每个小矩形框的长度表示帧移(hop size,相邻两帧的起始位置之间的时间差),相邻帧之间有75%的重叠,对应于图18的示例,每个帧的长度/大小对应4个矩形框,任意两个相邻帧之间有3个矩形框的重叠,假设帧长为T,则帧移为T/4。设x(t)是时间t的音频内容,采用加窗处理时,第k个窗口帧xk可以表示如下:
其中,x(a:b)表示信号x(t)在位置a和位置b之间的截断信号,w(0:T)表示在[0,T]上的合适的窗函数(可以根据实际需求选择),表示元素(element-wise)的乘法,xk也就是通过加窗得到的第k个帧。
可选的,如图19中所示,假设在信号传输过程中第n个帧(帧n)丢失,在不损失一般性的情况下,可以让帧n与替换块对齐,使得帧n-4与不受丢包影响的前一块对齐,并且帧n+4与不受丢包影响的下一块对齐。在紧接帧n前后的两个四分之一块(图中带有黑色填充的两个框)旁边重新合成了替换块。其中,扩展的替换块(图19中所示的目标)是使用窗口重叠相加(OLA)构建的,为此需要使用到帧n+4,也就是说,目标的生成需要使用帧n-4到帧n+4。用带有“^”的符号表示预测结果,对于本公开提供的MPLC,在混合到解码流之前的MPLC的输出可以表达如下:
其中,表示MPLC输出的扩展的替换块,包括帧n-1的最后一个块、帧的4个块以及帧n+1的第一个块,OLAT/4[·]表示帧移为T/4的重叠-相加操作,(:)代表从上下文推导出的适当的截断。也就是说,在得到帧n-4到帧n+4这9个帧的预测结果之后,可以对这9个帧的预测结果进行重叠-相加操作,得到目标。为了计算得到表达式(2)的结果,MPLC需要预测以可用数据(一直到不受帧n影响的帧n-4)为条件的帧n-3到n+4。
一直到n-4的帧可用于重建与帧n对齐的替代块,对于采用神经网络的方案,可以选择回溯上下文长度L,并计算直到帧n-1的L个帧的STFT(短时傅里叶变换)信息,可以表示为Xn-L,…,Xn-2,Xn-1,其中,Xk是帧k的DFT(离散傅立叶变换)信息。换句话说,通过“回顾”L帧来收集用于合成当前块(替换块)的特征,即对于上述L个帧中的每个帧,按照时间先后,依次根据该帧对应的已解码出的历史帧的信息,预测得到该帧的频域特征,之后,可以根据这L个帧的STFT信息,预测帧n的STFT信息。这L个帧的STFT信息可以形成大小为L×F×2的特征图(已知帧的时频信息的特征),其中,F可以是直到奈奎斯特频率的DFT的点数,2代表STFT的实部和虚部,L为帧数,也就是前文实施例中描述的已知帧的数量为L。
以图14中所示的系统架构为例,可选的,用作低频生成网络的深度神经网络DNN可以选择频域的卷积循环网络FD-CRN,该网络的编码器(编码网络)和解码器(解码网络)可以采用如图3中所示的神经网络结构或者图11中所示的神经网络结构,LSTM网络可以作为预测网络,编码器和解码器可以使用1维卷积在频率上进行特征传播,并且LSTM随着时间的推移不断更新上下文帧的总结特征。FD-CRN可以一个T×F×2的特征图(这里的T为已知帧的数量,也就是前文的L×F×2中的L,T≥9,)作为输入,并生成另一个大小相同的特征图,生成的这个特征图中最近的9×F×2的元素作为目标帧的预测结果,即对应帧n-4至帧n-1的频域预测结果,每个帧的频域预测结果包括F个频点的实部和虚部的STFT结果。如图11所示的神经网络结构中,解码器部分可以包括虚部和实部各自对应的解码网络,虚部的解码网络对编码器和LSTM输出的虚部的特征进行解码,实部的解码网络对编码器和LSTM网络输出的实部的特征进行解码,两部分解码网络输出的特征合并之后得到生成网络的预测结果,即图中所示的预测的特征,该特征与网络的输入特征的大小相同,都是T×F×2。可选的,虚部和实部也可以采用一个解码网络实现。
对于CRN的训练过程,可以采用前文所描述的频谱损失和波形损失的组合进行监督训练,频谱损失Lspec比较预测帧和目标帧之间的幅度频谱图,可以表示如下:
其中,{n-4:n+4}表示从n-4到n+4的整数集,Xk(j)表示9个帧中帧k的第j个频点的真实频域值即真值,为帧k的第j个频点的预测频域值即预测结果,通过计算一个样本中的缺失帧对应的上述9个帧中在所考虑的带宽范围内的所有频点的真值和预测值之间的能量差异,得到该样本信号对应的频谱损失。如图11中所示,对于低频生成网络,可以通过该计算低频生成网络输出的预测的特征中的低频部分的特征(低频部分的预测值)和低频部分的真实特征(即低频部分的真值)之间的差异计算低频生成网络对应的训练损失。
波形损失Lwav将重新合成的替代块(包括用于渐隐和渐隐的两个四分之一帧,即图18和图19中示出的帧n的前一帧的最后四分之一块和帧的后一帧的第一个四分之一块)与目标的真值进行比较,也就是比较样本信号的1.5个帧的真实波形和通过网络预测出的这1.5个帧的预测波形。Lwav可以表示如下:
其中,是通过表达式(2)计算得到,表示对进行傅里叶反变换,得到对应的时域信号。
可选的,一个样本对应的总损失可以通过对上述两部分损失进行加权求和得到的,总损失L可以表示如下:
L=β1*Lspec+β1*Lwav
可选的,β1=1,β2=10。
对于高频生成网络,该网络可以采用复杂度低的小型网络,可选的,高频生成网络可以采用如图4所示的神经网络结构,可选的,图4中的编码网络和解码网络也可以分别使用两个卷积采样网络,对编码部分而言是卷积模块,对解码部分而言是反卷积模块。可选的,高频生成网络可以选择全卷积网络CNN,可选的,该CNN可以具有与CRN相同的输入和输出接口,并以相同的目标进行训练。与CRN相比,CNN可以通过丢弃LSTM网络并在中间特征图中使用更少的通道来节省计算。在没有LSTM网络的情况下,可以在在时间-频率中使用二维卷积核来实现按顺序的建模能力。
基于采用频率复制的方式生成频率分量的部分,本公开对高频段的传统信号处理方法(采用先前解码块的副本作为替代块)进行了改进,提出了一种频率复制方法的变体,该方案可以基于OLA的合成,使用9个帧来计算替换块,该方案可以表示如下:
其中,B是所考虑的频带,右侧不完整帧(帧n+1至帧n+4)的谱是用零填充计算的。也就是说,一个帧k的第j个频点的频域值可以用帧k-4(位于帧k之前的不受帧k影响的第一个帧)的第j个频点的频域值计算得到。
此外,本公开实施例还提供了一种增益控制机制,使替代块遵循频谱能量演化的最新模式,可选的,可以在覆盖整个频率范围的9个非重叠频带B1′,…,B9′中表征该模式,对于每个频带Bi′,可以通过以下表达式计算其对应的增益:
其中,G(n,i)衡量了频带Bi′中从倒数第二个解码块(对应表达式中的分母部分)到最后一个解码块(对应表达式中的分子部分)的总幅度的增长,可以称为增长率。基于增益控制的重复方法在重复前一帧时应用测量的增长率,将G(n,i)用作复制的帧的调节系数,可以表示如下:
其中,min(max(G(n,i),0.7),1.1)是最终真正使用的调节系数,0.7和1.1是两个调节系数阈值,可以根据实际需要配置和修改,通过将调整系数限制在[0.7,1.1]的范围内可以表面过多的增益和衰减。通过上述表达式可以看出,基于增益控制的频率重复方法,对于要生成的每个频点j的分量可以通过对前序帧中对应频点的分量Xk-4(j)进行调整得到的。
在将PLC方案应用到音乐信号的处理时,由于一般音乐信号的非平稳性质,合成替代块的最佳方法也可能取决于即时信号特性。特别是具有瞬态特征的片段需要更多的努力来预测。基于神经网络的方式更能预测变化的假设,本公开提出了使用瞬态检测器来帮助动态选择中频(如2k~4kHz)和中高频部分(如4k~8kHz)的合成方法,这里的中频和中高频可以解释成高频生成网络对应的高频部分,使用瞬态检测器来判断要合成的替代块的高频部分是采用高频生成网络生成,还是采用基于频率复制的方式生成。
可选的,可以使用相邻帧之间的幅度相关性系数来判断动态选择,相邻帧之间的相关性系数corr可以通过以下表示计算得到:
其中,相关性系数corr可以衡量倒数第二个解码块和最后一个解码块之间的频谱幅度形状的相似性,它对全局增益的变化不敏感(这是合理的,因为增益控制的重复方法已经处理了增益引起的瞬态),如果相关性系数corr高(大于相关性阈值),可以选择神经网络模型,如果corr低(不大于相关性阈值),可以选择频域重复的方法。为了匹配该模型选择标准,仅使用瞬态样本来训练相应的神经模型。
本公开提供的PLC方案中,生成网络可以在连续模式或切换模式下执行。在连续模式下,生成网络在没有数据包丢失的情况下不断更新内部状态。在切换模式下,生成网络在数据包丢失时“打开”,以使用缓存的上下文来处理丢失的块,然后关闭,直到下一次数据包丢失。连续模式将计算均匀地分布在时隙上,并允许对丢包做出更快的响应。切换模式可以消耗较少的计算,特别是在数据包丢失很少的情况下,但可能会增加对计算的激增需求,并导致额外的延迟,不过这些问题可以通过缩短生成网络的上下文来缓解。
可选的,可以根据所选择的生成网络的神经网络模型的架构来选择连续模式或切换模式。比如,对于“遗忘”的模型(如卷积神经网络)两种模式在实现逻辑上是等效的。然而,对于能够学习时序信息的神经网络,如LSTM或CRN网络,如果在切换模式下,该类神经网络需要在回溯高速缓存开始时重新初始化,对于这类神经网络,可以采用切换模式,可以理解为距离要修复的帧较远的历史帧的对于帧的修复没有多少帮助。
另外,在实际应用中,生成网络的可调超参数包括输入和输出布局、网络层的数量和中间特征通道的数量,这些参数影响神经网络的性能和资源使用。这些超参数的值可以根据实际需求选择,如可以根据电子设备的硬件和软件资源余量、需要达到的目标性能、预期信道条件(丢包率等)和主编解码器的设置(采样率、块大小、延迟等)进行选择。
本公开实施例提供的方案在进行音频信号的缺失帧的重建时,可以利用缺失帧之前的已知帧的时域和频域信息(时频信息),会对缺失帧的低频分量和高频分量分别进行重建,可选的,可以采用与信号低频部分对应的第一神经网络重建得到低频分量,对于高频部分而言,还可以考虑缺失帧的信号稳定性,在缺失帧的是不稳定的过渡帧时,可以采用与高频部分对应的第二神经网络重建得到高频分量,该方案在重建过程中,由于对高频和低频部分分别采用对应的方式进行重建,且在重建高频分量时还考虑信号的稳定性,以更好的保证重建效果,因此,本公开实施例同的方案,对于各种不同类型的缺失帧均能得到良好的重建效果。可选的,对于通过生成网络生成的分量,还可以根据截止频率来选择网络生成的分量是否都用于后续的信号融合,使得最终得到的信号能够听起来更加顺耳,更好的满足实际应用需求,提升用户感知。
本公开提出的方法可以用于音乐传输的实时丢包隐藏,该方法可以使用基于深度学习的神经方法(低频网络)合成低频分量,并使用传统的信号处理方法或改进的信号处理方法合成高频分量。该方案基于心理声学和音乐理论的原理,提供了一种在不同谱带之间优化分配运行时资源的方式。经实验证明,本公开提供方案可以显著提升音频的修复质量。
在实际中实施本公开实施例提供的方案时,可以根据实际应用需求选择或配置生成网络(低频生成网络、高频生成网络)的具体网络结构,可以选择相对复杂的网络结构,也可以采用架构简单的网络结构。作为一可选示例,图20中示出了本公开提供的一种低频生成网络的网络结构的示意图,该网络结构是类U-net的神经网络模型,其中,生成网络的编码器部分包括3个级联的编码层,解码部分也包括3个级联的编码层,预测网络包括两个级联的LSTM层。对于待处理的音频信号(图中所示的输入波形),可以通过时频变换(傅里叶变换)得到多帧对应的时频特征,如图中所示的大小为2×513×43的特征图,其中,2表示虚部和实部两个通道,513为频域点的数量,43表示帧的数量,该特征图可以作为生成网络的输入,通过级联的多个编码层进行特征提取,最后一个编码层提取得到的特征图进行LSTM层学习其中与时序有关的特征,与LSTM层连接的第一个解码层则根据LSTM层的输出特征和最后一个编码器的输出特征进行解码,其输出的特征图和第二个编码层的输出特征作为下一个解码层的输入,经过多个解码层的解码处理,得到网络预测出的时频特征,该特征与网络的输入特征尺寸相同,该时频特征经由傅里叶逆变换(反变换)之后即可得到时域的预测波形。其中,各编码层、LSTM层以及解码层的输入通道、输入通道、层数以及其他配置都可以根据实际需求选择。
本公开的方法可用于一般音乐信号传输的因果PLC技术。由于音乐信号的复杂性,通过将频率划分为多个频带,并按尺度进行恢复。对于低频带,通过FD-CRN网络恢复振幅谱和相位信息。对于高频带,使用结合信号处理方法的小型自动编码器网络。将其应用于LC3编解码器,显示了很大的主观和客观改进。
参见图21,其中四个子图的第一行,分别表示无误差的目标波形;第二行表示LC3PLC处理后的恢复波形;第三行表示本公开的方法处理后恢复的波形。其中,方框内展示的是数据缺失的位置。可见,本公开的方法能够比LC3 PLC处理后的恢复波形更接近目标波形。
本申请实施例中还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行该计算机程序时可以实现本申请任一可选实施例提供的方法的步骤。
存储在存储器上的计算机程序可以包括多个程序模块,每个程序模块用于实现相对独立的一组功能。可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)等、或者是纯图形处理单元,例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,例如神经处理单元(NPU)。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
该AI模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
图22中示出了本公开实施例所适用的一种电子设备的结构示意图,如图22所示,图22所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其它电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图22中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于个人计算机、服务器、云计算设备、智能通信设备、可穿戴设备等。特别是,本公开的电子设备可以为为耳机或可穿戴设备,耳机或可穿戴设备包括用于与通信设备,例如移动通信设备,进行无线音频信息传输的通信模块。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上文本和附图仅作为示例提供,以帮助阅读者理解本公开。它们不意图也不应该被解释为以任何方式限制本公开的范围。尽管已经提供了某些实施例和示例,但是基于本文所公开的内容,对于本领域技术人员而言显而易见的是,在不脱离本公开的范围的情况下,可以对所示的实施例和示例进行改变,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (13)
1.一种由终端设备执行的方法,其特征在于,包括:
基于音频信号的缺失帧之前的第一指定数量的第一已知帧的时频信息,通过第一神经网络生成所述缺失帧的低频分量;
在基于所述缺失帧之前第二指定数量的第二已知帧确定所述缺失帧为过渡帧时,基于所述缺失帧之前第三指定数量的第三已知帧的时频信息,通过第二神经网络生成所述缺失帧的高频分量;以及
根据所述缺失帧的低频分量和高频分量恢复所述缺失帧。
2.根据权利要求1所述的方法,其特征在于,所述生成所述缺失帧的低频分量,包括:
基于所述第一已知帧的时频信息,提取所述第一已知帧之间的频域相关性;
基于所述第一已知帧的时频信息和所述第一已知帧之间的频域相关性,通过第一神经网络生成所述缺失帧的低频分量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一已知帧的时频信息和所述第一已知帧之间的频域相关性,通过第一神经网络生成所述缺失帧的低频分量,包括:
将所述第一已知帧之间的频域相关性的特征和所述第一已知帧的时频信息的特征进行融合;
基于融合后的特征,通过第一神经网络生成所述缺失帧的低频分量。
4.根据权利要求2所述的方法,其特征在于,所述第一神经网络包括依次级联的编码网络、预测网络和解码网络;
所述基于所述第一已知帧的时频信息和所述第一已知帧之间的频域相关性,通过第一神经网络生成所述缺失帧的低频分量,包括:
将所述第一已知帧的时频信息输入到所述编码网络,得到编码后的时频特征;
将编码后的时频特征与所述第一已知帧之间的频域相关性的特征融合,将融合后的特征输入到所述预测网络;
基于所述编码网络的输出和所述预测网络的输出,通过所述解码网络生成所述缺失帧的低频分量。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述生成所述缺失帧的低频分量,包括:
针对缺失帧的各子带,分别基于所述第一已知帧在该子带的时频信息,通过该子带对应的第一神经网络,生成所述缺失帧在该子带的低频分量。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述基于所述缺失帧之前第二指定数量的第二已知帧确定所述缺失帧为过渡帧,包括:
根据所述第二已知帧之间的频域相关性确定所述缺失帧为过渡帧。
7.根据权利要求6所述的方法,其特征在于,根据所述第二已知帧之间的频域相关性确定所述缺失帧为过渡帧包括:
当所述第二已知帧之间的频域相关性不大于相关性阈值时,确定所述缺失帧为过渡帧。
8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:
基于所述缺失帧之前第二指定数量的第二已知帧确定所述缺失帧不为过渡帧时,基于所述缺失帧之前第四指定数量的第四已知帧的高频分量,确定所述缺失帧的高频分量。
9.根据权利要求8所述的方法,其特征在于,还包括:
针对缺失帧的各子带,分别基于所述第二已知帧对应的该子带的能量增益,对确定的所述缺失帧的高频分量进行调整。
10.根据权利要求6或7所述的方法,其特征在于,所述第二已知帧之间的频域相关性包括:第二已知帧中任意相邻帧之间的频域相关性。
11.一种电子设备,包括:
存储器;
处理器;以及
存储在存储器上的计算机程序,其特征在于:
所述处理器执行所述计算机程序时,实现权利要求1-10中任一项所述的方法。
12.根据权利要求11所述的电子设备,其特征在于,所述电子设备为耳机或可穿戴设备,所述耳机或可穿戴设备包括用于与通信设备进行无线音频信息传输的通信模块。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211306004 | 2022-10-24 | ||
CN2022113060043 | 2022-10-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117935840A true CN117935840A (zh) | 2024-04-26 |
Family
ID=90749573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310671720.XA Pending CN117935840A (zh) | 2022-10-24 | 2023-06-07 | 由终端设备执行的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117935840A (zh) |
-
2023
- 2023-06-07 CN CN202310671720.XA patent/CN117935840A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6334808B2 (ja) | 時間ドメイン符号化と周波数ドメイン符号化の間の分類の改善 | |
CN107731237B (zh) | 时域帧错误隐藏设备 | |
CN113470667B (zh) | 语音信号的编解码方法、装置、电子设备及存储介质 | |
CN109155133B (zh) | 音频帧丢失隐藏的错误隐藏单元、音频解码器及相关方法 | |
RU2676242C1 (ru) | Декодер для формирования аудиосигнала с улучшенной частотной характеристикой, способ декодирования, кодер для формирования кодированного сигнала и способ кодирования с использованием компактной дополнительной информации для выбора | |
CN104969290A (zh) | 用于对音频帧丢失隐藏进行控制的方法和设备 | |
KR20080011216A (ko) | 오디오 코덱 포스트 필터의 컴퓨터 구현 방법 | |
KR101705276B1 (ko) | 낮은 또는 중간 비트 레이트에 대한 인지 품질에 기반한 오디오 분류 | |
CN116368563B (zh) | 使用深度生成网络的实时数据包丢失隐藏 | |
CN115867966A (zh) | 用于确定生成神经网络的参数的方法和装置 | |
US20230178084A1 (en) | Method, apparatus and system for enhancing multi-channel audio in a dynamic range reduced domain | |
Liu et al. | PLCNet: Real-time Packet Loss Concealment with Semi-supervised Generative Adversarial Network. | |
KR20240012407A (ko) | 디코더 | |
CN117935840A (zh) | 由终端设备执行的方法和设备 | |
Rai et al. | Recalling-Enhanced Recurrent Neural Network optimized with Chimp Optimization Algorithm based speech enhancement for hearing aids | |
RU2823081C1 (ru) | Способы и система для кодирования на основе формы сигналов аудиосигналов с помощью порождающей модели | |
US20220392458A1 (en) | Methods and system for waveform coding of audio signals with a generative model | |
US20220277754A1 (en) | Multi-lag format for audio coding | |
WO2023198925A1 (en) | High frequency reconstruction using neural network system | |
Chae et al. | Variable Bitrate Residual Vector Quantization for Audio Coding | |
김형용 | Multi-resolution speech enhancement using generative adversarial network for noisy or compressed speech | |
CN117831515A (zh) | 唤醒词识别模型的训练和执行方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |