一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

根据MDCT系数的频谱形状估计的制作方法

2021-09-29 01:58:00 来源:中国专利 TAG:音频 相关联 丢失 接收 信号

根据mdct系数的频谱形状估计
技术领域
1.本发明一般涉及隐藏与所接收的音频信号相关联的丢失音频帧的方法。本发明还涉及配置成隐藏与所接收的编码音频信号相关联的丢失音频帧的解码器。


背景技术:

2.通过现代通信信道/网络传输语音/音频主要是在数字域中使用语音/音频编解码器进行的。这可能涉及:采取模拟信号,并使用采样和模拟到数字转换器(adc)对其进行数字化以获得数字样本。取决于应用,可进一步将这些数字样本分组为包含来自10

40ms的连续时段的样本的帧。接着,可使用压缩算法来处理这些帧,这减少需要传送的位的数量,并且这仍然可以达到尽可能高的质量。然后,作为数据分组通过数字网络将编码位流传送到接收器。在接收器中,过程是相反的。首先,可以对数据分组进行解码,以便利用数字样本再创建帧,所述帧然后可被输入到数字到模拟转换器(dac),以便在接收器处再创建输入模拟信号的近似。图1提供了使用音频编码器和解码器通过网络(诸如数字网络)使用上述方法进行音频传输的框图的示例。
3.当通过网络传送数据分组时,可能存在数据分组由于业务负载而被网络丢弃,或者由于位错误使数字数据对于解码无效而被丢弃。当发生这些事件时,解码器需要在其中不可能进行实际解码的时段期间替换输出信号。这种替换过程通常称为帧/分组丢失隐藏。图2示出了包括分组丢失隐藏的解码器200的框图。当坏帧指示符(bfi)指示丢失或损坏帧时,plc 202可创建替换丢失/损坏帧的信号。否则,即,当bfi没有指示丢失或损坏帧时,通过流解码器204解码所接收的信号。可通过将当前帧的坏帧指示符变量设置为活动(即,bfi=1)来将帧擦除发信号通知给解码器。然后,将解码或隐藏的帧输入到dac 206以输出模拟信号。帧/分组丢失隐藏又可称为错误隐藏单元(ecu)。
4.在解码器中存在许多方法来进行分组丢失隐藏。一些示例是利用静默来替换丢失帧并重复最后帧或解码最后帧参数。其它解决方案尝试利用音频信号的最有可能的延续来替换帧。对于像噪声的信号,一种解决方案生成具有类似频谱结构的噪声。对于音调信号,一个可首先估计当前音调的特性(频率、振幅、以及相位),并使用这些参数来在丢失帧的对应时间位置处生成音调的延续。
5.ecu的另一实施例的示例是最初在国际专利申请号wo2014123470中描述的相位ecu,其中解码器可在正常解码期间连续保存解码信号的原型。该原型可在丢失帧的情况下使用。对原型进行频谱分析,并在频谱域中组合噪声和音调ecu功能。相位ecu标识音调,并计算相关频谱箱(bin)的频谱时间替换。其它箱可作为噪声被处置,并对其进行加扰,以避免在这些频谱区域中出现音调伪影(tonal artifacts)。将所得的再创建的频谱逆fft(快速傅立叶变换)变换到时域中,并对信号进行处理以创建丢失帧的替换。
6.大多数信号很少会在很长时间时段内继续。为了更好地处置错误突发,ecu可使用当前输入信号的低分辨率频谱估计作为长期背景估计。在更长的突发期间,ecu可随时间改变重构的目标。最初,目标是替换最后信号。随着时间的推移,目标可能随着将使估计更像
噪声的低分辨率的背景估计而变,并最终移动到使输出静默的目标。
7.对于分组丢失隐藏,一个是需要当前输入的低分辨率频谱表示。在国际专利申请号wo2014123471(见附录1)中描述的实施例中,可从两个短fft创建频谱表示,每个短fft是原型帧的四分之一,并且用于瞬态检测。利用短变换,估计可能具有高方差。为了获得更稳定的长期估计,可使用这两个fft的平均值。在这些实施例中,将fft箱分组为近似地表示听觉系统中的关键频带的子频带。
8.在较长的错误突发中,可使用长期估计作为目标频谱,使得随着时间的推移,可以利用表示当前输入背景信号的信号来替换丢失帧。
9.这种方法的缺点是:短fft在第一个错误帧中增加了相当大的复杂性。第一个错误帧已经具有很高的复杂性,因为它在可以进行丢失信号的重构之前,被使用进行完整的plc链的频谱分析、正弦分量的正弦定位和时间补偿。
10.在此类情况下,两个短fft(位于整体原型帧的每一侧)也可用于频谱瞬态检测器(检测开始和偏移)。因此,任何替换都必须足够精确以便也可用于该目的。
11.有关相位ecu plc如何工作的更多信息可在国际专利申请号wo2014123471(见附录1)和3gpp ts 26.447v15.0.0条款5.4.3.5中找到。


技术实现要素:

12.本文中公开的本发明概念的各种实施例可能源于本认识:短fft在第一个错误帧中增加了相当大的复杂性。第一个错误帧已经具有很高的复杂性,因为它在可以进行丢失信号的重构之前,被使用进行完整的plc链的频谱分析、正弦分量的正弦定位和时间补偿。
13.根据本发明概念的一些实施例,提供一种方法,用于控制与所接收的音频信号相关联的丢失音频帧的隐藏方法。在此类方法中,解码所接收的音频信号的第一音频帧,以获得经修正的离散余弦变换mdct系数。基于根据所解码的第一音频帧的所解码的mdct系数确定第一频谱形状的值,第一频谱形状包括多个子频带。解码所接收的音频信号的第二音频帧,以获得第二音频帧的mdct系数。基于根据所解码的第二音频帧的所解码的mdct系数确定第二频谱形状的值,第二频谱形状包括多个子频带。将第一频谱形状的值和第一音频帧的第一帧能量变换为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二音频帧的第二帧能量变换为第二fft频谱分析的第二表示。基于第一fft的第一表示和第二fft的第二表示来检测瞬态状况。响应于检测到瞬态状况,通过选择性地调整替代帧频谱的频谱幅度来修改隐藏方法。
14.根据本发明概念的一些实施例,提供一种解码器设备,用于控制与所接收的音频信号相关联的丢失音频帧的隐藏方法。解码器设备解码所接收的音频信号的第一音频帧,以获得经修正的离散余弦变换mdct系数。解码器设备基于根据所解码的音频帧的所解码的mdct系数确定第一频谱形状的值,第一频谱形状包括多个子频带。解码器设备解码所接收的音频信号的第二音频帧。解码器设备基于根据所解码的第二音频帧的所解码的mdct系数确定第二频谱形状的值,第二频谱形状包括多个子频带。解码器设备将第一频谱形状的值和第一音频帧的第一帧能量变换为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二音频帧的第二帧能量变换为第二fft频谱分析的第二表示。解码器设备基于第一fft的第一表示和第二fft的第二表示来检测瞬态状况。解码器设
备响应于检测到瞬态状况,通过选择性地调整替代帧频谱的频谱幅度来修改隐藏方法。
15.根据本发明概念的一些实施例,提供一种由计算机处理器用于控制与所接收的音频信号相关联的丢失音频帧的隐藏方法的方法。该方法包括基于经修正的离散余弦变换mdct解码所接收的音频信号的第一音频帧。该方法包括:基于根据所解码的音频帧的所解码的mdct系数确定第一频谱形状的值;并且将第一频谱形状的所计算的值存储在shape
old
缓冲区中,第一频谱形状包括多个子频带。该方法包括:确定音频帧的第一帧能量;并且将所计算的第一帧能量存储在e_w
old
缓冲区中。该方法包括解码所接收的音频信号的第二音频帧。该方法包括将第一频谱形状的所计算的值从shape
old
缓冲区移动到shape
oold
缓冲区。该方法包括将所计算的第一帧能量从e_w
old
缓冲区移动到e_w
oold
缓冲区。该方法包括:基于根据所解码的第二音频帧的所解码的mdct系数确定第二频谱形状的值;并且将第二频谱形状的所计算的值存储在shape
old
缓冲区中,第二频谱形状包括多个子频带。该方法包括确定(915)第二音频帧的第二帧能量;并且将所计算的第二帧能量存储在e_w
old
缓冲区中。该方法包括:将第一频谱形状的值和第一帧能量变换为基于第一快速傅立叶变换fft的频谱分析的第一表示;并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示。该方法包括:基于第一快速fft的第一表示和第二fft的第二表示来检测在使用隐藏方法来创建丢失音频帧的替代帧时可能导致丢失音频帧的替代帧的次优重构质量的状况。该方法包括:响应于检测到该状况,通过选择性地调整替代帧频谱的频谱幅度来修改(921)隐藏方法。
16.下文描述的各种实施例中的技术的优点是:该技术可以避免使用两个短fft。这很重要,因为该避免直接降低了第一个丢失帧的复杂性和处理丢失帧的处理开销。在第一个丢失帧中,复杂性是很高的,因为它涉及到原型帧的相当长的fft和重构频谱的同样长的逆fft。
附图说明
17.所包括的附图以提供对本公开的进一步理解并且被并入并构成本技术的一部分,示出了本发明概念的某些非限制性实施例。在图中:图1示出通过网络使用音频编码器和音频解码器的框图。
18.图2是包含分组丢失隐藏的解码器的框图。
19.图3是根据本发明概念的一些实施例可用于在好帧期间更新频谱参数的操作和方法的流程图。
20.图4是根据本发明概念的一些实施例可为了在好帧期间更新频谱参数而执行的操作和方法的流程图。
21.图5是根据本发明概念的一些实施例用于在坏帧期间更新频谱参数的流程图。
22.图6是plc原型缓冲区以及在下一个帧将丢失时用于瞬态检测的短fft的位置的信号图。
23.图7是根据一些实施例的plc原型缓冲区以及在下一个帧将丢失时用于瞬态检测的频谱形状和帧能量的位置的信号图。
24.图8是示出对于不同的plc相关变换在频率分辨率和箱中心点中差异的图。
25.图9是示出根据本发明概念的一些实施例修改隐藏方法的流程图。
26.图10是示出根据本发明概念的一些实施例修改隐藏方法的流程图。
27.图11是示出根据本发明概念的一些实施例修改隐藏方法的流程图。
28.图12示出根据本发明概念的一些实施例的解码器设备的示例。
29.图13示出根据本发明概念的一些实施例的解码器设备的另一示例。
具体实施方式
30.下文将参考附图更全面地描述本发明概念,在所述附图中示出了本发明概念的实施例的示例。然而,本发明概念可以体现在许多不同的形式中,并且不应解释为局限于本文中阐述的实施例。而是,提供这些实施例使得此公开将充分且完整,并且将向本领域技术人员全面传达本发明概念的范围。还应注意,这些实施例不是相互排斥的。来自一个实施例的组件可以默认地假定在另一个实施例中存在/使用。
31.以下描述呈现了公开的主题的各种实施例。这些实施例作为教导示例呈现,并且不应解释为限制公开的主题的范围。例如,在不偏离描述的主题的范围的情况下,可修改、省略或扩充描述的实施例的某些细节。
32.本文中描述的本发明概念降低了plc的复杂性。这些实施例涉及降低实施例中的复杂性,其中用于分组隐藏的方法是在频域中正弦建模,其中额外的低分辨率背景噪声模型来更好地处置突发错误。在这种情况下,在较长的错误突发中,该方法从正弦模型朝向低分辨率噪声模型推进。低分辨率噪声模型可在第一个错误帧期间基于保存的原型帧进行更新。描述的技术还可用于确定信号在各种频段中能量随时间衰减的高质量(和低复杂度)频段估计,这可用于对隐藏帧的频带能量建模。
33.当在频域中进行语音/音频压缩时,可能已经存在可用于频域中的频谱表示,最常见的是在经修正的离散余弦变换(mdct)域中。在许多情况下,可用频谱表示的系数可用于形成备选频谱形状以取代短fft的复杂性。例如,第一个帧错误的频谱形状可以用来创建对应于将已经由短fft生成的那些频谱估计的频谱估计。
34.在本文中描述的实施例中,可用mdct系数可用于提供频谱形状,而用于频谱估计的能量(或等级)基于视窗化原型帧的能量。然而,本发明者想到:已经发现对于形状和等级两者仅使用mdct系数对即要替换的两个短fft提供不足的质量估计。
35.下文描述的技术的优点是,一个是可以避免使用两个短fft。这是重要的,因为该避免直接降低了第一个丢失帧的复杂性。在第一个丢失帧中,复杂性是很高的,因为它涉及到原型帧的相当长的fft和重构频谱的同样长的逆fft。
36.虽然在解码器中可用的mdct系数不能提供稳定的能量估计,但是系数可用于频谱形状估计。为了得到频谱估计的级别,可使用视窗化原型帧的能量,因为这可能会产生对实际fft频谱的更好的估计。
37.避免使用两个较短fft的复杂性可能导致时间特性和频谱特性两者都略有不同。对于使用背景信号的长期估计的形式,此类差异是次要的,并且对于瞬态检测器能量衰减估计,这些细微差异也不是主要问题。
38.可代替两个短fft变换使用的再使用mdct系数(或在正常编码域中可用的任何其它频谱域信息)和变换成频谱形状的本发明概念降低了处理丢失帧的复杂性和处理开销。这还涉及到如何将mdct系数分组成尽可能接近地近似于fft箱的格式。
39.解码器设备可由两个单元组成,或者可以是如图2所示的plc或如图12和图13所示的解码器设备的一部分。解码器(1201、1301)可在无错误操作期间更新频谱形状和帧能量。解码器(1201、1301)可使用在第一个帧错误期间所保存的频谱形状和帧能量以生成要在错误隐藏期间使用的长期频谱估计。解码器(1201、1301)的第三组件也可用于确定要在plc重构中应用的频段衰减,诸如当存在显著的能量下降时。
40.再使用mdct系数通常每帧只生成一个频谱形状。在第一个错误帧中具有两个频谱形状可通过为每一个好帧生成一个频谱形状估计并且还通过保存来自前一个好帧的频谱形状估计来实现。为了获得频谱估计的正确等级,可在基于mdct的解码器中在好帧处理结束时保存对应的plc原型帧的视窗化能量。好帧意味着正确接收的无错误的帧,而坏帧意味着被擦除、即丢失或损坏的帧。
41.在丢失帧期间,第二单元使用两个所保存的频谱形状和帧能量来生成对应于将已经由两个短fft生成的频谱估计的两个频谱估计。这降低了复杂性和处理器开销。基于所保存的形状和能量,第三单元可建立要在对丢失帧进行plc重构中用于每个频段的衰减因子。在此之后,相位ecu的正常处理照常继续,参见国际专利申请号wo2014123471(附录1)或3gpp ts 26.447 v15.0.0条款5.4.3.5。
42.本文中描述的技术不限于如上所述使用来自mdct的频谱估计。这些技术可适于与在编解码器中所使用的任何其它频谱估计技术一起工作。
43.下文更详细地描述使用mdct的功能。
44.为了获得mdct系数,在20ms窗口内提前10ms取mdct。当使用一个变换(例如,mdct)对另一个变换(例如,fft)进行子频带估计时。重要的是在正确的系数上分组成子频带。在好帧之后保存的plc原型帧的长度为16ms,并且瞬态检测器子频带分析模块使用两个长度为4ms的短fft——即,plc原型帧的四分之一。这些项的实际长度取决于所使用的采样频率,并且可从8khz到48khz。这些长度影响每个变换中的频谱箱的数量。如下所述,使用这两个短fft分析结果来确定转换因子μ。
45.好帧中的频谱形状历史更新对于瞬态分析,相位ecu可使用基于mdct的频谱形状和mdct合成视窗化能量的历史来构建输入信号如何随时间演变的图像。基于保留解码信号的频谱表示的所解码的mdct系数来计算频谱形状。频谱形状由子频带组成,其中子频带的数量n
grp
取决于采样频率,如参见表1那样。
46.表1:相位ecu子频带数量表格f
s
n
grp
8000416000524000632000744100,480008对于好帧,即,当坏帧指示符指示帧不是坏帧时(例如,bfi=0),可更新频谱形状的值和帧能量。这些步骤如图3中的流程图所示。转到图3,在操作301,对是否bif=0进行确定。注意,可只为当前帧计算参数。当之前的帧是好帧时,可将在最后帧期间所保存的值移
动到指定为倒数第二个帧的缓冲区(即,(一个或多个)shape
oold
缓冲区)。在操作303中,将来自最后帧的频谱形状shape
old
(k)移动并保存在第二个缓冲区shape
oold
中,如下所述:shape
oold
(k)=shape
old
(k),0≤k<n
grp
.(1)同样地,在操作305中,将最后帧能量移动到第二个缓冲区e_w
oold
,如下所述:e_w
oold
=e_w
old
.(2)在这些更新之后,可在操作307和309中计算最后帧缓冲区的频谱形状shape
old
(k)和帧能量e_wold的新值。表2示出了可如何在子频带当中划分当前mdct系数的箱。表2中的表条目示出了可在国际申请wo 2014/123471中描述的方法中使用的实施例的每个子频带的开始系数。对于其它实施例可使用其它子频带。
47.表2:相位ecu mdct子频带开始箱表格可以是可取的是:在范围[0,...1]中具有基于子频带的频谱形状。这可通过首先如下计算mdct系数(q_d(n))的总幅度来实现:其中n
mdct
是mdct系数的数量并且取决于采样频率,诸如在表3中所示的采样频率。
[0048]
表3:不同采样频率的mdct系数的数量f
s
n
mdct
80008016000160240002403200032044100,48000480然后,可使尉shape_tot的计算值来对每个子频带的频谱形状进行归一化,这可被确定为:这形成最后帧的新值的频谱形状估计。注意,可能存在一些mdct系数没有指派给频谱形状。这是在对应的短fft中没有使用dc箱的结果。
[0049]
为了能够在重构期间使用频谱形状,可基于视窗化原型帧来计算帧能量。这被可确定为:
其中,w
whr
可以是(特别是对于长期背景近似估计)长fft频谱分析窗口,x
prev
是用于创建潜在地即将到来的丢失帧的替代的相位ecu时域原型信号,并且l
prot
是x
prev
信号中的样本的数量,其也对应于时间窗口w
whr
的长度。
[0050]
在备选实施例中,可在提供良好的背景估计和瞬态偏移检测的良好估计之间平衡总体频谱近似性能。在一实施例中,这种平衡可通过可选地改变应用的w
whr
窗口以便不同于长/16ms fft频谱分析窗口来进行。对此进行改变的一种可能的方法是缩短窗口并且将能量估计窗口朝向未来移位,使得能量估计进一步与短(4ms)fft窗口的能量含量时间对齐。这种方法还降低了能量对齐计算的复杂性。例如,可将e_w
old
降低到3*l_prot/4(12ms)最新合成样本或甚至是l_prot2(8ms)最新样本的视窗化能量。这可在背景估计(以16ms的总频谱时段为目标)和瞬态偏移估计(以最后4ms为目标)之间平衡频谱近似。
[0051]
转到图4,为了避免在坏帧或坏帧突发之后在次级缓冲区中使用旧值,可重新初始化频谱形状和帧能量的shape
oold
(k)和e_w
oold
状态。因此,在好帧bfi=0(如操作401所示)之后是坏帧bfi
prev
=1(如操作403所示)的情况下,如在前几个等式(1)和(2)中所描述地分别在操作405和操作407中将所计算的值复制到次级缓冲区中。
[0052]
将频谱形状转换为短fft子频带能量瞬态分析可使用保存的频谱形状和帧能量来分析子频带能量如何随时间演变。这些值可用于两件事情,第一件事情是用于子频带瞬态检测器,并且第二件事情是用于形成可用于在突发错误期间调整子频带能量的长期平均值这些值形成用于计算在错误突发期间所使用的信号修正值的基础。
[0053]
表4:相位ecu fft子频带开始箱表利用频谱形状和帧能量来生成最后两个无错误帧的子频带能量的近似。这如图5的流程图所示,此时在操作501处坏帧指示符指示坏帧(即,bfi=1)。转到图5,第一个帧表示最后帧之前的子频带帧能量,并且可在操作503中通过下式生成:e
oold
(k)=μ
·
shape
oold
(k)
·
e_w
oold
,0≤k<n
grp
(6)第二个子帧的帧能量用于最后帧,并且可在操作505中通过下式生成:其中μ是标量常数,它取决于采样频率,并处置基于mdct的频谱形状到基于fft的频谱分析的近似e
tran
的转换。表5中示出对于各种f
s
频率的μ的示例。
[0054]
表5:相位ecu mdct到fft频谱形状转换因子μ表格
转换因子μ可离线计算,并且取决于mdct

窗口和在fft中使用的针对其它充当在丢失帧重构期间的近似的窗口。为了找到这些系数,应当在两种方法(原始fft分析和使用mdct的fft的降低的复杂度近似)都活动的情况下运行plc以计算(一个或多个)转换因子。用于计算转换因子的便利方法是使用正弦波。可在每组间隔的中心中使用一个波,并且可在将系数设置为1的情况下开始计算。通过比较这两种方法可以计算正确的值。注意,表4中的箱示出利用作为用于由plc在原型帧上使用的频谱分析的分析长度的四分之一的分析长度的fft的箱分组,即,如果使用16ms fft进行频谱分析,则箱分组针对4ms频谱分析。
[0055]
图6示出了如何将mdct编码器的成帧和相关帧结构应用于非对称定位的mdct窗口以及利用先行零(look ahead zeros)的分段la_zeros的概览。注意,信号图示出由于在mdct窗口中使用了先行零(la_zeros——帧长度的3/8),所以只将帧解码高达当前帧的3/4点。成帧会影响有可能解码当前帧的哪一部分,并且因此影响在下一个帧丢失的情况下保存和使用的plc原型帧的位置。
[0056]
图6还示出在实施例中所使用的涉及的变换的长度的差异。甚至在长度是编码帧的长度的两倍的mdct中,每个频谱点利用两个系数表示(这与fft对比,其中n样本导致n个复数——即,2n个标量值),其中一个系数可能是另一个系数的时间反转。
[0057]
图7示出了如何将mdct编码器的成帧和相关帧结构应用到确定子频带能量和频谱形状的概览,如上所述。图7示出了当前帧和先前帧是好帧,并且示出了可在哪里关于编码过程执行图3和图9

11的方法。
[0058]
图8示出了不同频谱表示的图形表示。在16ms时间段上进行plc频谱分析——这导致62.5hz的箱间距离。从n点fft,一个是得到n/2 1个箱,其中起始点是0hz,并且最后一个是fs/2(采样频率的一半)。这同样适用于其中要替换短fft的瞬态分析——不同之处在于,时间窗口是4ms——这导致箱间距离为250hz。对于在20ms时间段上进行的mdct——箱间距离变成100hz,在对m个mdct的时间和时间反转系数以及m个mdct的长度分组之后,在分组后存在m/4个系数。mdct没有dc或fs/2系数,因此最简单的表示是具有半箱偏移,如图8所示。
[0059]
在一实施例中,可使用如上所述的瞬态分析的频谱估计的这些估计来替换在瞬态计算和隐藏自适应中所使用的频谱估计,如在国际专利申请号wo2014123471(见附录1)中所描述。这些估计也可在其它情形中使用,其中使用诸如在3gpp ts 25.447 v.15.0.0中的频谱估计。
[0060]
例如,转到图9,在操作901中,解码器(1201、1301)可基于mdct对所接收的音频信号的第一音频帧解码。在操作903中,解码器(1201、1301)可基于来自所解码的第一音频帧的mdct系数确定第一频谱形状的值,并且将第一频谱形状的所确定的值存储在shape
old
缓冲区中,第一频谱形状包括多个子频带。在操作905中,解码器(1201、1301)可确定第一音频帧的第一帧能量,并且将所确定的第一帧能量存储在e_w
old
缓冲区中。
[0061]
在操作907中,解码器(1201、1301)可基于mdct对所接收的音频信号的第二音频帧解码。在操作909中,解码器(1201、1301)可将第一频谱形状的所确定的值从shape
old
缓冲区移动到shape
oold
缓冲区。操作909可对应于图3的操作303。在操作911中,解码器(1201、1301)可将所确定的第一帧能量从e_w
old
缓冲区移动到e_w
oold
缓冲区。操作911可对应于图3的操作305。
[0062]
在操作913中,解码器(1201、1301)可基于根据所解码的第二音频帧的所解码的mdct系数确定第二频谱形状的值,并且将第二频谱形状的所确定的值存储在shape
old
缓冲区中,第二频谱形状包括多个子频带。在操作915中,解码器(1201、1301)可确定第二音频帧的第二帧能量,并且将所计算的第二帧能量存储在e_w
old
缓冲区中。
[0063]
在操作917中,解码器(1201、1301)可将第一频谱形状的值和第一帧能量变换为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示。
[0064]
在操作919中,解码器(1201、1301)可基于第一频谱形状的所变换的值和第二频谱形状的值检测在使用隐藏方法来创建替代帧时可能导致丢失音频帧的替代帧的次优重构质量的状况。
[0065]
在操作921中,响应于检测到该状况,解码器(1201、1301)可通过选择性地调整替代帧频谱的频谱幅度来修改隐藏方法。
[0066]
在一个实施例中,可使用如上所述的频谱估计来降低瞬态计算和隐藏自适应中的复杂性和处理开销,诸如在国际专利申请号wo2014123471和3gpp ts 25.447 v.15.0.0条款5.4.3.5中所描述。e
oold
(k)和e
old
(k)用于计算能量比率估计,并且可使用e
oold
(k)和e
old
(k)的箱来进行瞬态检测。例如,转到图10,在操作1001中,可如上所述确定e
oold
(k)和e
old
(k)的子频带能量。频率组选择性瞬态检测现在可基于与e
oold
(k)和e
old
(k)相关联的帧的相应频带能量之间的逐个频带比率(band

wise ratio):可使用其它比率。
[0067]
应注意,间隔i
k
=[m
k
‑1 1,...,m
k
]对应于频段其中f
s
表示音频采样频率,并且n
part
对应于帧的大小。最低的下频段边界m0可设置为0,但是也可设置为对应于较大频率的dft索引,以便减轻随较低频率增长的估计错误。最高的上频段边界m
k
可设置为但是最好选择为对应于其中瞬态仍然具有显著听觉效果的某个较低频率。
[0068]
可将比率与某些阈值进行比较。例如,可使用(频率选择性)开始检测的相应的上阈值1003和(频率选择性)偏移检测的相应的下阈值1005。当能量比率高于上阈值或低于下阈值时,可在操作1007中修改隐藏方法。这些操作对应于图9的操作919。
[0069]
图11中示出了图9的操作921的修改隐藏方法的示例。在隐藏方法修改的该实施例中,确定替代帧频谱的幅度和相位。借助于利用两个因子α(m)和β(m)进行缩放来修改幅度,并利用加性相位分量来修改相位。这导致替代帧的计算:
其中,z(m)是替代帧频谱,α(m)是第一幅度衰减因子,β(m)是第二幅度衰减因子,y(m)是原型帧,θ
k
是相移,并且是加性相位分量。
[0070]
在该实施例中,确定在一行中观测到的帧丢失的数量n
burst
,其中在每个帧丢失时,将突发丢失计数器递增1,并且在接收到有效帧时,将其重置为零。如果如在操作1103中所确定的那样,突发丢失计数器n
burst
超过某个阈值thr
lmrst
,例如thr
burst
=3,则在操作1101中,优选进行幅度调适。在那种情况下,将小于1的值用于衰减因子,例如α(m)=0.1。在如在操作1105中所确定的那样,基于指示符r
old\oold,band
(k)或备选地r
old\oold
(m)或r
old\oold
已经通过阈值而检测到瞬态的情况下,可进行关于幅度衰减因子的进一步调适。在那种情况下,操作1107中的合适的调适动作是修改第二幅度衰减因子β(m),使得总衰减由这两个因子的乘积α(m)
·
β(m)来控制。
[0071]
可响应于指示的瞬态来设置β(m)。在检测到偏移的情况下,可选择因子β(m)以反映偏移的能量减少。合适的选择是将β(m)设置为检测到的增益变化:对于m∈i
k
,k=1...k在检测到开始的情况下,发现相当有利的是限制替代帧中的能量增加。在那种情况下,可将因子设置为某个固定值,例如1,从而意味着不存在衰减,但是也不存在任何放大。
[0072]
操作1109中的相位抖动(dithering)的示例在国际专利申请号wo2014123471(参见附录1)中和3gpp_ts_26.447_v.15.0_2018_06中的条款5.4.3.5.3中,并且不需要在本文中详细描述。
[0073]
图12是根据实施例可使用的解码器的示意性框图。解码器1201包括配置成接收编码音频信号的输入单元1203。图11示出了根据上述实施例通过逻辑帧丢失隐藏单元1205进行的帧丢失隐藏,这指示解码器配置成实现对丢失音频帧的隐藏。此外,解码器包括用于实现上述实施例(包括在图3

5和图9

11中示出的操作和/或下文关于相应的示例实施例所论述的操作)的控制器1207。
[0074]
例如,控制器1207可配置成确定先前接收和重构的音频信号的属性或针对其根据原始、非调适相位ecu方法的丢失帧的替代提供相对降低的质量的观测到的帧丢失的统计属性。在检测到此类状况的情况下,控制器1207可配置成修改隐藏方法的要素,据此通过如上所述选择性地调整相位或频谱幅度来计算替代帧频谱并朝向接收器输出音频帧以用于回放。接收器可以是具有扬声器的装置、扬声器装置、电话等。
[0075]
解码器可以采用硬件实现。存在电路元件的许多变型可以使用和组合以实现解码器的单元的功能。实施例涵盖此类变型。解码器的硬件实现的特定示例是在数字信号处理器(dsp)硬件和集成电路技术中的实现,其包括通用电子电路和专用电路两者。
[0076]
因此,本文中描述的解码器可备选地如例如图13所示那样实现,即,由处理器1305和足够的软件1309以及适当的存储设备或存储器1311中的一个或多个来实现,以便重构音频信号,这包括根据本文中描述的实施例执行音频帧丢失隐藏,如图3

5和9

11所示。通过与处理器1305和存储器1311连接的输入端(in)1303接收传入的编码音频信号。将从软件获得的解码且重构的音频信号从输出端(out)1307朝向接收器输出以用于回放。如本文中所
论述,解码器1301的操作也可由处理器1305实现。此外,可在存储器1311中存储模块,并且这些模块可提供指令,使得当由处理器1305执行模块的指令时,处理器1305执行相应的操作。
[0077]
上文描述的技术可例如在接收器中使用,所述接收器可在移动装置(例如,移动电话、膝上型计算机)或诸如个人计算机之类的固定装置中使用。
[0078]
将理解,交互单元或模块的选择以及单元的命名只是出于示例性的目的,并且可以采用多种备选方式来配置,以便能够执行公开的过程动作。
[0079]
缩写在本公开中可使用以下缩写中的至少一些缩写。如果缩写之间存在不一致,那么应当优先考虑上文如何使用它。如果在下面多次列出,那么第一次列出应当优先于(一次或多次)任何后续列出。缩写
ꢀꢀꢀꢀꢀ
解释adc
ꢀꢀꢀꢀꢀꢀ
模拟到数字转换器bfi
ꢀꢀꢀꢀꢀꢀ
坏帧指示符bfi_prev 先前帧的坏帧指示符dac
ꢀꢀꢀꢀꢀꢀ
数字到模拟转换器fft
ꢀꢀꢀꢀꢀꢀ
快速傅立叶变换mdct
ꢀꢀꢀꢀꢀ
经修正的离散余弦变换
[0080]
参考文献:[1]国际专利申请号wo2014123470[2]国际专利申请号wo2014123471[3]3gpp ts 26.445 v15.1.0(条款5.3.2.2和6.2.4.1),由此以引用的方式全文并入[4]3gpp ts 26.447 v15.0.0(条款5.4.3.5),由此以引用的方式全文并入示例实施例的列出下面讨论示例实施例。在括号中通过示例/图示提供参考数字/字母,而无需将示例实施例局限于由参考数字/字母所指示的特定要素。
[0081]
1.一种由计算机处理器用于控制所接收的音频信号的丢失音频帧的隐藏方法的方法,该方法包括:基于经修正的离散余弦变换mdct对所接收的音频信号的第一音频帧解码(901);基于根据所解码的音频帧的所解码的mdct系数确定(307

309、903)第一频谱形状的值,并且将第一频谱形状的所计算的值存储在shape
old
缓冲区中,第一频谱形状包括多个子频带;确定(905)音频帧的第一帧能量,并且将所计算的第一帧能量存储在e_w
old
缓冲区中;解码(907)所接收的音频信号的第二音频帧;将第一频谱形状的所计算的值从shape
old
缓冲区移动(303、909)到shae
oold
缓冲区;将所计算的第一帧能量从e_w
old
缓冲区移动(305、911)到e_w
oold
缓冲区;
基于根据所解码的第二音频帧的所解码的mdct系数确定(307

309、913)第二频谱形状的值,并且将第二频谱形状的所计算的值存储在shape
old
缓冲区中,第二频谱形状包含多个子频带;确定(915)第二音频帧的第二帧能量,并且将所计算的第二帧能量存储在e_w
old
缓冲区中;将第一频谱形状的值和第一帧能量变换(917)为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换(917)为第二fft频谱分析的第二表示;基于第一快速fft的第一表示和第二fft的第二表示来检测(919)在使用隐藏方法来创建丢失音频帧的替代帧时可能导致丢失音频帧的替代帧的次优重构质量的状况;以及响应于检测到该状况,通过选择性地调整替代帧频谱的频谱幅度来修改(921)隐藏方法。
[0082]
2.实施例1的方法,其中,基于所解码的mdct系数确定第一频谱形状的值包括:确定(307)mdct系数的总幅度;对第一频谱形状的每个子频带值进行归一化;以及作为第一频谱形状的值中的值存储每个经归一化的子频带值。
[0083]
3.实施例2的方法,其中,根据下式确定mdct系数的总幅度:其中,shape_tot是mdct系数的总幅度,n
mdct
是mdct系数的数量并且取决于采样频率,并且q_d(n)是mdct系数。
[0084]
4.实施例2

3中的任何实施例的方法,其中,根据下式来归一化每个子频带的归一化:其中,shape
old
(k)是子频带(k)的频谱形状,shape_tot是mdct系数的总幅度,q_d(n)是mdct系数,并且n
grp
是mdct系数的数量,grp_bin(k)是子频带(k)中mdct系数的起始索引,并且n
grp
是子频带的数量。
[0085]
5.实施例1

4中的任何实施例的方法,其中,根据下式确定第一帧能量和第二帧能量的帧能量:其中,e_w
old
是帧能量,w
whr
沿fft频谱分析窗口,x
prev
是用于为潜在地即将到来的丢失帧创建替代的时域原型信号,并且l
prot
是x
prev
信号中的样本的数量。
[0086]
6.实施例1

5中的任何实施例的方法,其中,将第一频谱形状的值和第一帧能量变换为基于第一快速fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变
换为第二fft频谱分析的第二表示包括:对第一频谱形状的值和第一帧能量以及第二频谱形状的值和第二帧能量应用转换因子。
[0087]
7.实施例6的方法,其中,转换因子取决于解码的采样频率。
[0088]
8.实施例4

7中的任何实施例的方法,还包括:根据下式将第一频谱形状的值和第一帧能量变换为基于第一快速fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示:e
oold
(k)=μ
·
shape
oold
(k)
·
e_w
oold
,0≤k<n
grp
和e
old
(k)=μ
·
shape
old
(k)
·
e
wold
,0≤k<n
grp
其中,e
oold
(k)是第一表示,μ是转换因子,shape
oold
(k)是第一频谱形状的子频带(k)的频谱形状,e_w
oold
是第一帧能量,e
old
(k)是第二表示,shape
old
(k)是第二频谱形状的子频带(k)的频谱形状,e_w
old
是第二帧能量,并且n
grp
是子频带的数量。
[0089]
9.实施例8的方法,还包括:基于e
oold
(k)和e
old
(k)确定(1105)子频带瞬态是否高于阈值;响应于子频带瞬态高于阈值,通过选择性地调整(1107)替代帧频谱的频谱幅度来修改隐藏方法。
[0090]
10.实施例9的方法,其中,根据下式的表达式计算替代帧频谱:并且调整频谱幅度包括调整β(m)(1107),其中z(m)是替代帧频谱,α(m)是第一幅度衰减因子,β(m)是第二幅度衰减因子,y(m)是原型帧,θ
k
是相移,并且是加性相位分量。
[0091]
11.实施例1

10中的任何实施例的方法,还包括:接收坏帧指示符(403、501);响应于接收到坏帧指示符,转储清除(flushing)shape
oold
缓冲区和e_w
oold
能量缓冲区;接收所接收的音频信号的新音频帧;基于根据对所述新音频帧解码的所解码的mdct系数确定新频谱形状的值(503),并且将所计算的新频谱形状的值存储在shape
old
缓冲区和shape
oold
缓冲区中(405),新频谱形状包括多个子频带;以及确定音频帧的新帧能量(505),并且将所计算的新帧能量存储在e_w
old
缓冲区和e_w
oold
缓冲区中(407)。
[0092]
12.一种解码器设备(1201、1301),适于执行根据实施例1

11中的任何实施例的操作。
[0093]
13.一种配置成控制所接收的音频信号的丢失音频帧的隐藏方法的解码器设备(1201、1301),该解码器设备配置成:基于经修正的离散余弦变换mdct解码所接收的音频信号的第一音频帧;基于根据所解码的音频帧的所解码的mdct系数确定第一频谱形状的值,并且将第一频谱形状的所计算的值存储在shape
old
缓冲区中,第一频谱形状包括多个子频带;确定音频帧的第一帧能量,并且将所计算的第一帧能量存储在e_w
old
缓冲区中;解
码所接收的音频信号的第二音频帧;将第一频谱形状的所计算的值从shape
old
缓冲区移动到shape
oold
缓冲区;将所计算的第一帧能量从e_w
old
缓冲区移动到e_w
oold
缓冲区;基于根据所解码的第二音频帧的所解码的mdct系数确定第二频谱形状的值,并且将第二频谱形状的所计算的值存储在shape
old
缓冲区中,第二频谱形状包含多个子频带;确定第二音频帧的第二帧能量,并且将所计算的第二帧能量存储在e_w
old
缓冲区中;将第一频谱形状的值和第一帧能量变换为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示;基于第一快速fft的第一表示和第二fft的第二表示来检测在使用隐藏方法来创建丢失音频帧的替代帧时可能导致丢失音频帧的替代帧的次优重构质量的状况;以及响应于检测到该状况,通过选择性地调整替代帧频谱的频谱幅度来修改隐藏方法。
[0094]
14.实施例13的解码器设备,其中解码器设备配置成执行实施例2

11的操作。
[0095]
15.一种配置成控制所接收的音频信号的丢失音频帧的隐藏方法的解码器设备(1201、1301),该解码器设备包括:处理器(1305);以及用于存储指令的存储器(1311),指令在由处理器执行时使解码器设备(1201、1301)执行包括以下内容的操作:基于经修正的离散余弦变换mdct解码(901)所接收的音频信号的第一音频帧;基于根据所解码的音频帧的所解码的mdct系数确定(903)第一频谱形状的值,并且将第一频谱形状的所计算的值存储在shape
old
缓冲区中,第一频谱形状包括多个子频带;确定(905)音频帧的第一帧能量,并且将所计算的第一帧能量存储在e_w
old
缓冲区中;解码(907)所接收的音频信号的第二音频帧;将第一频谱形状的所计算的值从shape
old
缓冲区移动(303、909)到shape
ool
d缓冲区;将所计算的第一帧能量从e_w
old
缓冲区移动(305、911)到e_w
oold
缓冲区;基于根据所解码的第二音频帧的所解码的mdct系数确定(307

309、913)第二频谱形状的值,并且将第二频谱形状的所计算的值存储在shape
old
缓冲区中,第二频谱形状包含多个子频带;确定(915)第二音频帧的第二帧能量,并且将所计算的第二帧能量存储在e_w
old
缓冲区中;将第一频谱形状的值和第一帧能量变换(917)为基于第一快速傅立叶变换fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示;基于第一快速fft的第一表示和第二fft的第二表示来检测(919)在使用隐藏方法来创建丢失音频帧的替代帧时可能导致丢失音频帧的替代帧的次优重构质量的状况;以及
响应于检测到该状况,通过选择性地调整替代帧频谱的频谱幅度来修改(921)隐藏方法。
[0096]
16.实施例1的解码器设备,其中为了基于所解码的mdct系数确定第一频谱形状的值,指令包括如下另外的指令:在由处理器执行时使设备执行包括以下内容的操作:确定(307)mdct系数的总幅度;对第一频谱形状的每个子频带值进行归一化;以及作为第一频谱形状的值中的值存储每个经归一化的子频带值。
[0097]
17.实施例16的解码器设备,其中根据下式确定mdct系数的总幅度:其中,shape_tot是mdct系数的总幅度,n
mdct
是mdct系数的数量并且取决于采样频率,并且q_d(n)是mdct系数。
[0098]
18.实施例16

17中的任何实施例的解码器设备,其中根据下式来归一化每个子频带的归一化:其中,shape
old
(k)是子频带(k)的频谱形状,shape_tot是mdct系数的总幅度,q_d(n)是mdct系数,grp_bin(k)是子频带(k)中的mdct系数的起始索引,并且n
grp
是子频带的数量。
[0099]
19.实施例15

18中的任何实施例的解码器设备,其中根据下式确定第一帧能量和第二帧能量的帧能量:其中,e_w
old
是帧能量,w
whr
沿fft频谱分析窗口,x
prev
是用于为潜在地即将到来的丢失帧创建替代的时域原型信号,并且l
prot
是x
prev
信号中的样本的数量。
[0100]
20.实施例15

19中的任何实施例的解码器设备,其中为了将第一频谱形状的值和第一帧能量变换为基于第一快速fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示,指令包括如下另外的指令:在由处理器执行时使设备执行包括以下内容的操作:对第一频谱形状的值和第一帧能量以及第二频谱形状的值和第二帧能量应用转换因子。
[0101]
21.实施例20的解码器设备,其中转换因子取决于解码的采样频率。
[0102]
22.实施例20

21中的任何实施例的解码器设备,还包括:根据下式将第一频谱形状的值和第一帧能量变换为基于第一快速fft的频谱分析的第一表示,并且将第二频谱形状的值和第二帧能量变换为第二fft频谱分析的第二表示:
e
oold
(k)=μ
·
shape
oold
(k)
·
e_w
oold
,0≤k<n
grp
以及其中,e
oold
(k)是第一表示,μ是转换因子,shape
oold
(k)是第一频谱形状的子频带(k)的频谱形状,e_w
oold
是第一帧能量,e
old
(k)是第二表示,shape
old
(k)是第二频谱形状的子频带(k)的频谱形状,e_w
old
是第二帧能量,并且n
grp
是子频带的数量。
[0103]
23.实施例22的解码器设备,其中指令包括如下另外的指令:在由处理器执行时使设备执行还包括以下内容的操作:基于e
oold
(k)和e
old
(k)确定(1105)子频带瞬态是否高于阈值;响应于子频带瞬态高于阈值,通过选择性地调整(1107)替代帧频谱的频谱幅度来修改隐藏方法。
[0104]
24.实施例22的解码器设备,其中根据下式的表达式计算替代帧频谱:并且调整频谱幅度包括调整β(m) (1107),其中z(m)是替代帧频谱,α(m)是第一幅度衰减因子,β(m)是第二幅度衰减因子,y(m)是原型帧,θ
k
是相移,并且是加性相位分量。
[0105]
25.实施例1

10中的任何实施例的解码器设备,其中指令包括如下另外的指令:在由处理器执行时使设备执行还包括以下内容的操作:接收坏帧指示符(403、501);响应于接收到坏帧指示符,转储清除shape
oold
缓冲区和e_w
oold
能量缓冲区;接收所接收的音频信号的新音频帧;基于根据所解码的所述新音频帧的所解码的mdct系数确定新频谱形状的值(503),并且将所计算的新频谱形状的值存储在shape
old
缓冲区和shape
oold
缓冲区中(405),新频谱形状包括多个子频带;以及确定音频帧的新帧能量(505),并且将所计算的新帧能量存储在e_w
old
缓冲区和e_w
oold
缓冲区中(407)。
[0106]
额外解释一般来说,除非在使用它的上下文中明确给出和/或隐含不同的含义,否则本文中所使用的所有术语都将根据它们在相关技术领域中的普通含义进行解释。除非另外明确地指出,否则所有提到一/一个/该元件、设备、组件、部件、步骤等时都开放地解释为指该元件、设备、组件、部件、步骤等的至少一个实例。除非将某一步骤明确地描述为在另一个步骤之后或之前,和/或在暗示某一步骤必须在另一个步骤之后或之前的情况下,本文中公开的任何方法和/或过程的步骤不一定按照公开的准确顺序执行。在合适的情况下,本文中公开的实施例中的任何实施例的任何特征可应用于任何其它实施例。同样地,实施例中的任何实施例的任何优点可应用于任何其它实施例,并且反之亦然。所附实施例的其它目的、特征和优点将根据以下描述清楚。
[0107]
现在将参考附图更全面地描述本文中设想的实施例中的一些实施例。然而,在本文中公开的主题的范围内包含其它实施例,公开的主题不应解释为仅仅局限于本文中阐述
可用于从更一般的记载中指定特定条目。
[0114]
本文中参考计算机实现的方法、设备(系统和/或装置)和/或计算机程序产品的框图和/或流程图图示描述了示例实施例。将了解,框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合可通过由一个或多个计算机电路执行的计算机程序指令来实现。可将这些计算机程序指令提供给通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路以制造机器,使得经由计算机和/或其它可编程数据处理设备的处理器执行的指令变换和控制晶体管、存储在存储器位置中的值、以及此类电路内的其它硬件组件以实现在一个或多个框图和/或流程图方框中所指定的功能/动作,并且从而创建用于实现在(一个或多个)框图和/或流程图框中所指定的功能/动作的部件(功能性)和/或结构。
[0115]
这些计算机程序指令也可存储在有形的计算机可读介质中,这可引导计算机或其它可编程数据处理设备以特定的方式运转,使得存储在计算机可读介质中的指令产生包括实现在一个或多个框图和/或流程图框中所指定的功能/动作的指令的制品。因此,本发明概念的实施例可以采用硬件和/或采用在诸如数字信号处理器之类的处理器(它们可统称为“电路”、“模块”或其变型)上运行的软件(包括固件、常驻软件、微代码等)体现。
[0116]
还应注意,在一些备选实现中,在这些框中记录的功能/动作可不按照在流程图中记录的顺序发生。例如,取决于涉及的功能性/动作,连续示出的两个框实际上可大体上同时执行,或者框有时可按相反的顺序执行。此外,流程图和/或框图的给定框的功能性可被分割成多个框,和/或流程图和/或框图的两个或更多个框的功能性可以至少部分地集成。最后,在不偏离本发明概念的范围的情况下,可在示出的框之间增加/插入其它框,和/或可省略框/操作。此外,尽管图中的一些在通信路径上包含箭头以示出主要通信方向,但是将理解,通信可沿与描绘的箭头相反的方向发生。
[0117]
在没有实质偏离本发明概念的原理的情况下,可对实施例进行许多改变和修改。要被包括在本文中的所有此类改变和修改都旨在在本发明概念的范围内。因此,上文公开的主题将视为是说明性而不是限制性的,并且实施例的示例旨在涵盖落在本发明概念的精神和范围内的所有此类修改、增强和其它实施例。因此,在法律允许的最大范围内,本发明概念的范围应由包括实施例的示例及其等同物在内的本公开的最广泛的可允许解译来确定,并且不应受到以上详细描述的局限或限制。附录1形成本公开的一部分。附录1用于对音频帧丢失隐藏进行控制的方法和设备
技术领域
1.本技术涉及对用于接收音频信号的丢失音频帧的隐藏方法进行控制的方法和设备。
背景技术
2.传统音频通信系统用帧来传输语音和音频信号,意味着发送侧首先将信号设置为例如20=40ms的短的段,该段随后被编码并作为例如逻辑单元在传输分组中传输。接收机对这些单元中的每个单元进行解码,并且重构相应的信号帧,该信号帧进而最后输出为重
构信号采样的连续序列。在编码之前,通常存在将来自麦克风的模拟语音或音频信号转换成音频采样序列的模数(a/d)转换步骤。相反地,在接收端,通常存在将重构的数字信号采样序列转换成用于扬声器重放的时间连续模拟信号的最终d/a转换步骤。
3.然而,针对语音和音频信号的这种传输系统会受到传输错误的影响,这会导致传输帧中的一个或若干个在接收机处不可用于重构的情况。在那种情况下,解码器必须生成针对每个擦除的(即不可用的)帧的替代信号。这在接收机侧信号解码器的所谓的帧丢失或错误隐藏单元中完成。帧丢失隐藏的目的是使得尽可能听不到帧丢失,并且因此尽可能减轻帧丢失对重构信号质量造成的影响。
4.传统的帧丢失隐藏方法可以取决于编解码器的构造或结构,例如通过应用之前接收的编解码器参数的重复的形式。这种参数重复技术显然取决于使用的编解码器的具体参数,并且因此不容易适用于具有不同构造的其它编解码器。当前的帧丢失隐藏方法可以(例如)应用对先前接收帧的参数进行冻结和外插(extrapolate)的概念,以生成丢失帧的替代帧。
5.这些现有技术帧丢失隐藏方法包含一些突发丢失处理方案。通常,在接连多个帧丢失之后,合成的信号被衰减,直至在长的错误突发之后完全静音。此外,修改必须重复和推算的编码参数,以使衰减完成并使谱峰平滑掉。
6.当前现有帧丢失隐藏技术通常应用冻结和外插之前接收的帧的参数,以生成丢失帧的替代帧。许多参变的(parametric)语音编解码器(如像是amr或amr

wb的线性预测编解码器)通常冻结早先接收的参数或使用其某一外插,并一起使用解码器。本质上,该原理是取得用于编码/解码的给定模型,并且将冻结或外插后的参数应用到同一模块上。amr和amr

wb的帧丢失隐藏技术可以被认为是代表性的。在相应标准规范中对它们进行了详细说明。
7.音频编解码器类别中的很多编解码器用于编码频域技术。这意味着在一些频域变换之后,对谱参数应用编码模型。解码器根据接收参数来重构信号谱,并且最终将谱变换回时间信号。典型地,时间信号是逐帧重构的。这些帧通过重叠相加技术组合为最终的重构信号。甚至在音频编解码器的情况下,现有的错误隐藏针对丢失帧通常应用相同或至少部分类似的解码模型。来自之前接收的帧的频域参数被冻结或者适当地被外插,然后在频率到时间域转换中使用。这种技术的示例具备根据3gpp标准的3gpp音频编解码器。
发明内容
8.帧丢失隐藏的当前现有技术解决方案通常经受质量减损。主要问题在于:参数冻结和外插技术和甚至对于丢失帧的同一解码器模型的再应用并不能总是保证从之前解码后的信号帧到丢失帧的平滑和可靠的信号演变。这通常导致具有相应质量影响的可听信号中断。
9.描述了用于语音和音频传输系统的帧丢失隐藏的新方案。新的方案提高了帧丢失情况下的质量,高于用现有的帧丢失隐藏技术可以获得的质量。
10.本实施例的目的是对优选地具有所描述的相关新方法的类型的帧丢失隐藏方案进行控制,以实现重构信号的最佳可能声音质量。所述实施例旨在关于所述信号的属性和帧丢失时间分布的属性两方面对该重构质量进行优化。具体地,对于提供良好质量的帧丢
失隐藏的问题是音频信号具有强烈变化的属性时的情况,例如能量起始(onset)或结束(offset),或者音频信号在谱上非常波动的情况。在那种情况下,所描述的隐藏方法会重复起始、结束或谱波动,导致距离原始信号的大偏差和相应的质量损失。
11.另一种成问题的情况是如果接连发生帧丢失的突发。从概念上说,根据所描述的方法的帧丢失隐藏的方案可以处理这些情况,尽管结果是可能仍然发生恼人的音调上的人为损伤(tonal artifact)。本发明实施例的另一个目的是将这种人为损伤减轻到最大可能程度。
12.根据第一方面,一种解码器用于隐藏丢失音频帧的方法包括:在先前接收的和重构的音频信号的属性中或在观察到的帧丢失的统计属性中检测丢失帧的替代提供相对降低的质量的条件。在检测到所述条件时,通过选择性地调整替代帧谱的相位或谱幅度来修改所述隐藏方法。
13.根据第二方面,解码器被配置为实现对丢失音频帧的隐藏,并且包括控制器,该控制器被配置为:在先前接收的和重构的音频信号的属性中或在观察到的帧丢失的统计属性中检测丢失帧的替代提供相对降低的质量的条件。当检测到所述条件时,通过选择性地调整替代帧谱的相位或谱幅度来修改所述隐藏方法。
14.解码器可以在设备(例如移动电话)中实现。
15.根据第三方面,接收机包括根据上述第二方面的解码器。
16.根据第四方面,一种计算机程序被定义为用来隐藏丢失音频帧,并且所述计算机程序包括指令,当处理器运行该指令时,使处理器如上述第一方面所述隐藏丢失音频帧。
17.根据第五方面,计算机程序产品包括存储了根据上述第四方面的计算机程序的计算机可读介质。
18.实施例的优点解决了对适配帧丢失隐藏方法的控制,所述控制允许减轻对编码语音和音频信号的传输中的帧丢失的听得见的影响,甚至超过仅用所描述的隐藏方法获得的质量。实施例的主要益处在于:提供了甚至对于丢失帧的重构信号的平滑且可靠的演变。与使用现有技术相比大大地减小了帧丢失的听得见的影响。
附图说明
19.为了更全面理解本发明的示例实施例,现在结合附图做出对于以下描述的参考,其中:
20.图1示出了矩形窗函数。
21.图2示出了hamming窗与矩形窗的组合。
22.图3示出了窗函数的幅度谱的示例。
23.图4示出了具有频率fk的示例性正弦信号的线性谱;
24.图5示出了具有频率f
k
的加窗的正弦信号谱;
25.图6示出了基于分析帧的、与dft的网格点的幅度相对应的条形图;
26.图7示出了与dft网格点p1、p2和p3拟合的抛物线;
27.图8示出了窗谱的主瓣的拟合。
28.图9示出了通过dft网格点p1和p2的主瓣逼近函数p的拟合。
29.图10是示出根据本发明实施例的用于控制针对接收音频信号的丢失帧的隐藏方
法的一种示例方法的流程图。
30.图11是示出根据本发明实施例的用于控制针对接收音频信号的丢失帧的隐藏方法的另一种示例方法的流程图。
31.图12示出了本发明的另一个示例实施例。
32.图13示出了根据本发明的装置的示例。
33.图14示出了根据本发明的实施例的设备的另一个示例。
34.图15示出了根据本发明的实施例的设备的另一个示例。
具体实施方式
35.所描述的对于新的帧丢失隐藏技术的新的控制方案包括图10中所示的以下步骤。应该注意的是,可以在解码器的控制器中实现该方法。
36.1.在先前接收到的和重构的音频信号的属性中或在观察到的帧丢失的统计属性中检测根据所述方法的丢失帧的替换提供相对降低的质量的条件,101。
37.2.在步骤1中检测到这种条件的情况下,修改方法的要素,根据该修改后的方法要素,通过选择性地调整相位或谱幅度,利用z(m)=y(m)
·
e
jθk
来计算替代帧谱,102。
38.正弦分析
39.可以应用新控制技术的帧丢失隐藏技术的第一步骤包括对先前接收信号的一部分的正弦分析。该正弦分析的目的是找到该信号的主正弦波的频率,以下假设是信号由有限数量的单独正弦波组成,即该信号是以下类型的多正弦信号:
[0040]41.在该方程式中,k是假设组成信号的正弦波的数量。针对具有索引k=1...k的每个正弦波,a
k
是幅度,f
k
是频率,并且是相位。f
s
表示采样频率,并且n表示时间离散采样s(n)的时间索引。
42.找到尽可能准确的正弦波频率具有主要的重要性。虽然理想的正弦信号会具有线频率f
k
的线谱,但是找到它们的真值在原则上将需要无限的测量时间。因此,在实践中难以找到这些频率,因为只能基于短的测量时间段来估计它们,该测量时间段与用于本文描述的正弦分析的信号段相对应;下文中,该信号段被称为分析帧。另一个困难是,在实践中,信号可以是时变的,意味着上述方程式的参数随着时间而变化。因此,在一方面需要使用长的分析帧使测量更准确;另一方面需要短的测量时间段以便更好的处理可能的信号变化。好的折中是使用长度大约为例如20

40ms数量级的分析帧。
43.识别正弦频率f
k
的优选可能是做出对分析帧的频域分析。为此,例如借助dft或dct或类似的频域变换来将分析帧变换到频域。在使用分析帧的dft的情况下,由以下方程式来给出谱:
[0044]45.在该方程式中,w(n)表示窗函数,通过该窗函数来对长度为l的分析帧进行提取和加权。典型的窗函数是例如如图1所示的针对n∈[0...l

1]等于1并且否则等于0的矩形窗。本文假设设置了之前接收的音频信号的时间索引,使得通过时间索引n=0...l

1引用分析
帧。其它可以更适于谱分析的窗函数是例如hamming窗、hanning窗、kaiscr窗或blackman窗。更有用的窗函数是hamming窗与矩形窗的组合。如图2所示,该窗具有形状像长度为l1的hamming窗左半边的上升沿和形状像长度为l1的hamming窗的右半边的下降沿,并且在上升沿和下降沿之间窗口针对长度l

l1等于1。
46.加窗的分析帧|x(m)|的幅度谱的波峰构成对所要求的正弦频率f
k
的逼近。然而,该逼近的精度受到dft的频率间隔的限制。针对具有块长度l的dft,该精度限制于
47.实验显示,在本文描述的方法范围内,该精度级别太低。可以基于以下考虑的结果来获得提高的精度:
[0048]
通过窗函数的谱与正弦模型信号s(ω)的线谱的卷积来给出加窗的分析帧的谱,随后在dft的网格点处采样:
[0049][0050]
通过使用正弦模型信号的谱表达式,该方程式可以写成:
[0051][0052]
因此,采样后的谱由以下方程式给出:
[0053]
其中m=0...l

1。
[0054]
基于该考虑,设想分析帧的幅度谱中观察到的波峰来自于具有k个正弦波的加窗的正弦信号,其中在临近波峰的位置找到真的正弦频率。
[0055]
假设m
k
是观察到的第k
th
个波峰的dft索引(网格点),则对应的频率是其可以被视为对真的正弦频率f
k
的逼近。真的正弦频率f
k
可以假设为位于区间中。
[0056]
为了清楚起见,应当注意的是,窗函数的谱与正弦模型信号的线谱的卷积可以被理解为窗函数谱的频移版本的叠加,从而偏移频率是正弦波的频率。然后在dft网格点处对该叠加进行采样。通过以下附图示出了这些步骤。图3显示了窗函数的幅度谱的示例。图4示出了具有单个频率的正弦波的正弦信号示例的幅度谱(线谱)。图5示出了加窗的正弦信号的幅度谱,该加窗的正弦信号在正弦波的频率处重复并叠加频移窗口波谱。图6中的条对应于加窗的正弦波的dft的网格点的幅度,该加窗的正弦波通过计算分析帧的dft来获得。应该注意的是,所有的波谱是周期的,具有对应于采样频率f
s
的归一化频率参数ω,其中ω=2π。
[0057]
之前的讨论和图6的说明建议:仅可以通过增大查找的分辨率超过使用的频域变换的频率分辨率来找到对真的正弦频率的更好的逼近。
[0058]
一种找到对正弦波的频率f
k
的更好的逼近的优选方式是应用抛物线内插。一种这样的方法是将抛物线穿过围绕波峰的dft幅度谱的网格点,并且计算属于抛物线顶点的相
应频率。对于抛物线的阶数(order)的一种合适的选择是2。更详细地,可以应用以下步骤:
[0059]
1.识别加窗的分析帧的dft的波峰。波峰查找将会传送波峰数量k和波峰的对应索引。波峰查找能够典型地在dft幅度谱或对数dft幅度谱上进行。
[0060]
2.针对每个具有对应dft索引m
k
的波峰k(其中k=1...k),将抛物线穿过三个点:{p1;p2;p3}={(m
k

1,log(|x(m
k

1)|);(m
k
,log(|x(m
k
)|);(m
k
1,log(|x(m
k
1)|)}。这导致抛物线的抛物线系数b
k
(0)、b
k
(1)、b
k
(2)由以下公式限定:
[0061][0062]
图7示出了该抛物线拟合。
[0063]
3.针对k个抛物线中的每一个来计算对应于q的值的内插的频率索引该抛物线针对q的值具有其最大值。使用作为对正弦频率f
k
的逼近。
[0064]
所述方法提供良好的结果,但可能由于抛物线不与窗函数的幅度谱|w(ω)|的主瓣的形状逼近而具有一些限制。这样做的备选方案是如下所述使用主瓣逼近的增强的频率估计。该备选的主要想法是:拟合函数p(q),该函数p(q)通过环绕波峰的dft幅度谱的网格点来逼近的主瓣;以及计算属于函数最大值的相应频率。函数p(q)可以等同于窗函数的频移幅度谱为了数值的简单,应当例如宁愿是允许直接计算函数最大值的多项式。可以应用以下过程。
[0065]
1.识别加窗的分析帧的dft的波峰。波峰查找将会传送波峰数量k和波峰的对应dft索引。波峰查找能够典型地在dft幅度谱或对数dft幅度谱上进行。
[0066]
2.对于给定的区间(q1,q2)导出逼近窗函数的幅度谱或对数幅度谱的函数p(q)。用图8示出了逼近窗谱主瓣的逼近函数的选择。
[0067]
3.对每个具有对应dft索引m
k
的波峰k(其中k=1...k),通过环绕加窗正弦信号的连续谱的期望真实波峰的两个dft网格点来拟合频移函数因此,如果|x(m
k

1)|大于|x(m
k
1)|,则通过点{p1;p2}={(m
k

1,log(|x(m
k

1)|);(m
k
,log(|x(m
k
)|)}拟合否则通过点{p1;p2}={(m
k
,log(|x(m
k
)|);(m
k
1,log(|x(m
k
1)|)}拟合可以简单地将p(q)选为2或4阶的多项式。这将步骤2中的逼近呈现为简单的线性回归计算和直接的的计算。可以将该间隔(q1,q2)选为固定的并且对于所有波峰相同,例如(q1,q2)=(

1,1),或自适应的。在自适应方法中,可以选择区间使得函数在相关dft网格点{p1;p2}的范围内拟合窗函数谱的主瓣。图9中可以看出该拟合过程。
[0068]
4.对于针对期望加窗的正弦信号的连续谱具有其波峰的k个频移参数中的每一个偏移参数计算作为对正弦频率f
k
的逼近。
[0069]
存在许多发送信号是谐波情况,意味着信号由频率为某一基频f0的整数倍的正弦
波组成。当信号非常具有周期性时是这种情况,例如对于发声的语音或某一乐器的持续音。这意味着实施例的正弦模型的频率不是独立的,而是具有谐波关系并源自同一基频。将该谐波属性纳入考虑可以因此实质上对正弦分量频率的分析进行改进。
[0070]
概述了一种增强可能方式如下:
[0071]
1.检查信号是否是谐波。这可以例如通过在帧丢失之前评估信号的周期性来完成。一种直接方法是执行对信号的自相关分析。这种自相关函数对于某一时滞τ>0的最大值可以用作指示符。如果该最大值的值超过给定阈值,则可以认为信号是谐波。相应的时滞τ通过对应于与基频有关的信号的周期。
[0072]
许多线性预测语音编码方法应用所谓的开环或闭环音高预测或使用自适应码本的celp编码。如果信号是谐波,则通过这种编码方法导出的音高增益和相关联的音高迟滞参数也分别是针对时滞的有用指示符。
[0073]
以下描述了用于获得f0的另一种方法。
[0074]
2.对于整数范围1...j
max
内的每个谐波索引j,检查在谐波频率f
j
=j
·
f0邻近范围内的分析帧的(对数)dft幅度谱中是否存在波峰。可以将f
j
的邻近范围定义为其中增量与dft的频率分辨率相对应的f
j
周围的增量范围,即区间
[0075]
一旦出现这种具有相应估计的正弦频率f
k
的波峰,则用f
k
=j
·
f0来取代f
k

[0076]
对于上述两步过程,也可能做出关于信号是否是谐波的检查,并隐式且可能地按照迭代方式导出基频,而不必使用来自某一单独方法的指示符。以下给出了这种技术的一个示例:
[0077]
对于一组备选值{f
0,1
...f0,p}中的每个f
0,p
,应用过程步骤2(尽管不取代f
k
),但是对在谐波频率(即f
0,p
的整数倍)邻近范围内存在多少个dft波峰计数。识别基频f
0,pmax
,对于该基频f
0,pmax
获得了在谐波频率处或谐波频率周围的最大数量的波峰。如果波峰的最大数量超过给定阈值,则认为信号是谐波。在那种情况下,将f
0,pmax
认为是基频,然后用基频f
0,pmax
执行步骤2而得到增强的正弦频率f
k
。然而,一种更优选的备选方式是,首先基于已经被发现与谐波频率一致的波峰频率f
k
来对基频f0进行优化。假设已经发现一组m个谐波(即某一基频的整数倍{n1...n
m
})与频率f
k
(m),m=1...m处的某组m个谱峰相一致,则可以计算下层(优化后的)基频f
0,opt
,以使谐波频率和谱峰频率之间的误差最小。如果将误差最小化为均方误差则最优基频被计算为
[0078][0079]
可以从dft波峰的频率或所估计的正弦频率f
k
获得备选频率的初始集合{f
0,1
...f
0,p
}。
[0080]
提高所估计的正弦频率f
k
的精度的另一种可能方式是考虑它们的时间演化。为
此,可以例如通过平均或预测来对来自多个分析帧的正弦频率的估计进行组合。在平均或预测之前,可以应用波峰追踪,其将所估计的谱峰与相应的同一下层正弦波联系起来。
[0081]
应用正弦模型
[0082]
为了执行本文描述的帧丢失隐藏操作而应用正弦模型可以描述为以下内容:
[0083]
假设由于相应的编码信息不可用而导致解码器不能重构编码信号的给定段。还假设信号在该段之前的部分可用。假设y(n)(n=0...n

])是不可用的段,必须针对该段生成替代帧z(n),并且y(n)(n<0)是可用的之前解码的信号。然后,在第一步骤中,使用窗函数w(n)来提取长度为l且起始索引为n
‑1的可用信号的原型帧,并且例如通过dft将其变换至频域:
[0084][0085]
窗函数可以是在上文正弦分析中描述的窗函数中的一个。优选地,为了降低数字的复杂度,频域变换的帧应当与正弦分析期间使用的帧相同。
[0086]
在下一步骤中应用正弦模型假设。据此,原型帧的dft可以写为以下方程式:
[0087][0088]
下一步骤实现的是,所使用的窗函数的谱仅在接近零的频率范围中具有显著贡献。如图3所示,对于接近零的频率来说窗函数的幅度谱大,而对于其他频率(在从

π到π的归一化频率范围内,对应于采样频率的一半)来说窗函数的幅度谱小。因此,作为逼近,假设窗谱w(m)仅针对区间m=[

m
min
,m
max
]是非零的,其中m
min
和m
max
是小的正数。具体地,使用窗函数谱的逼近,使得针对每个k,上述表达式中的偏移窗谱的贡献是严格地非重叠的。因此在上述方程式中,针对每个频率索引,总是仅在最大值处存在来自一个被加数(即来自一个偏移的窗谱)的贡献。这意味着上述表达式缩减为以下近似表达:
[0089]
针对非负m∈mx并且针对每个k:
[0090][0091]
这里,m
k
表示整数区间。
[0092]
其中m
min,k
和m
max,k
满足上述解释的约束,使得区间并不重叠。对于m
min,k
和m
max,k
的合适的选择是将它们设置为小的整数值δ,例如δ=3。然而,如果与两个相邻正弦频率f
k
和f
k 1
相关的dft索引小于2δ,则δ被设置为使得确保区间不重叠。函数floor(
·
)是小于或等于函数自变量的最接近于该函数自变量的整数。
[0093]
根据实施例的下一个步骤是应用根据上述表达式的正弦模型并且随时间演变其k个正弦波。假设擦除的段的时间索引与原型帧的时间索引相比相差n
‑1个采样,这意味着正弦波的相位前进:
[0094][0095]
因此,演变的正弦模型的dft谱由以下方程式给出:
[0096][0097]
再一次应用逼近,根据该逼近,偏移窗函数谱不重叠,给出:
[0098]
针对非负m∈m
k
并且针对每个k:
[0099][0100]
通过使用逼近,将原型帧y
‑1(m)的dft与演变的正弦模型y0(m)的dft进行比较,发现针对每个m∈m
k
,幅度谱保持不变而相位偏移因此,每个正弦波附近的原型帧的频谱系数与正弦频率f
k
和丢失音频帧与原型帧n
‑1之间的时间差成比例地偏移。
[0101]
因此,根据实施例可以通过以下表达式来计算替代帧:
[0102]
针对非负m∈mk并且针对每个k,
[0103]
z(n)=idft{z(m)},其中
[0104]
具体实施例处理针对不属于任何区间mk的dft索引的相位随机化。如上所述,必须设置区间m
k
(k=1...k),使得这些区间严格地不重叠,这是通过使用控制区间大小的某些参数δ来实现的。可能发生δ关于两个相邻正弦波的频率间隔较小。因此,在这种情况下,会发生存在两个区间之间的间隔。所以针对相应的dft索引m,并不限定根据上述表达式的相移。根据该实施例的适合的选择是随机化针对这些索引的相位,产生z(m)=y(m)
·
e
j2πeand(
·
)
,其中函数rand(
·
)返回某一随机数。
[0105]
已经发现对区间mk的大小进行优化对于重构信号的质量是有益的。具体地,如果信号是非常调性的(tonal)(即当具有清楚的和明显的谱峰时),该区间应当更大。例如当信号是具有清晰的周期性的谐波时是这种情况。在信号具有较宽的谱最大值的较少发声的谱结构的情况下,已经发现的是使用较小区间会导致更好的质量。该发现导致了根据信号的属性调整区间大小的进一步的改进。一种实现方式是使用调性或周期性检测器。如果该检测器识别信号为调性的,则将控制区间大小的δ参数设置为相对大的值。否则,将δ参数设置为相对较小的值。
[0106]
基于上述内容,音频信号丢失隐藏方法包括以下步骤:
[0107]
1.可选地使用增强的频率估计,分析可用的、之前合成的信号的段来获得正弦模型的构成正弦频率fk。
[0108]
2.从可用的、之前合成的信号中提取原型帧y
‑1,并计算该帧的dft。
[0109]
3.响应于正弦频率f
k
以及响应于原型帧与替代帧之间的时间提前n
‑1来计算针对每个正弦波k的相移θ
k
。可选地,在该步骤中,响应于音频信号的调性来调整区间m的大小。
[0110]
4.针对每个正弦波k,选择性地针对与正弦频率f
k
周围相关的dft索引使原型帧dft的相位提前θ
k

[0111]
5.计算步骤4中获得的谱的逆dft。
[0112]
信号和帧丢失属性分析和检测
[0113]
上述方法是基于以下假设:在短时间期间音频信号的属性不从先前接收的和重构的信号帧和丢失帧而显著改变。在那种情况下,保留先前重构的帧的幅度谱,并使在先前构建的信号中检测到的正弦主分量的相位演变是非常好的选择。然而,存在该假设错误的情况,例如具有突然能量改变或突然谱改变的瞬态。
[0114]
根据本发明的瞬态检测器的第一实施例因此可以基于先前重构的信号内的能量变化。如图11所示的该方法计算某一分析帧113的左侧部分和右侧部分的能量。该分析帧可以与上述用于正弦分析的帧相同。分析帧的(左侧或右侧)部分可以分别是分析帧的第一半或最后一半,或者例如是分析帧的第一或相应的最后四分之一,110。通过对这些部分帧中的采样的平方加和米完成相应的能量计算。
[0115][0116]
这里y(n)表示分析帧,n
left
和n
right
分别表示大小均为n
part
的部分帧的相应开始索引。
[0117]
现在使用左和右部分帧能量来检测信号的不连续性。这是通过计算以下比率实现的:
[0118][0119]
如果该比率r
1/r
超过某一阈值(例如10),则可以检测到具有突然能量降低(结束)的不连续性,115。类似地,如果该比率r
1/r
低于某一其他阈值(例如0,1)则可以检测到具有突然能量增加(起始)的不连续性,117。
[0120]
在上述隐藏方法的上下文中,已经发现了在许多情况下以上定义的能量比是太过不敏感的指示符。具体地,在真实信号以及尤其是音乐中,存在其中一些频率的音调突然出现而另一些频率的其他音调突然停止的情况。用以上定义的能量比分析这种信号帧将在任意情况下导致对至少一个音调的错误检测,原因在于这种指示符对于不同的频率不敏感。
[0121]
以下实施例中描述了这种问题的一种解决方案。现在在时频平面上完成瞬态检测。分析帧再次被分为左和右侧部分帧,110。尽管现在,这两个部分帧(在用例如hamming窗合适地加窗之后,111)例如通过n
part

点dft被变换到频域,112。
[0122]
以及
[0123]
其中m=0...n
part

1。
[0124]
现在可以用索引m,针对每个dft带(bin)来频率选择性地完成瞬态检测。使用左侧和右侧部分帧幅度谱的功率,针对每个dft索引m,相应的能量比可以被计算113为:
[0125][0126]
试验显示,采用dft带分辨率的频率选择性瞬态检测由于统计波动而导致(估计误差)相对不精确。已经发现当基于频带做出频带瞬态检测时,操作的质量显著增强。令l
k
=[m
k
‑1 1,...,m
k
]指示覆盖从m
k
‑1 1至m
k
的dft带的第k个区间,k=1...k,则这些区间定义k个频带。现在频率组选择性瞬态检测可以基于左侧部分帧和右侧部分帧之间的相应频带能量
的逐频带(band

wise)比。
[0127][0128]
应该注意的是,区间i
k
=[m
k
‑1 1,...,m
k
]与频带相对应,其中fs表示音频采样频率。
[0129]
可以将最低的下频带边界m0设置为0,也可以设置为与较大频率相对应的dft索引,以减小随着较低频率增长的估计误差。可以将最高上频带边界m
k
设置为但是优选地被选择为与其中瞬态仍具有显著可听效果的某一较低频率相对应。
[0130]
这些频带大小或宽度的合适的选择是使它们成为相等的大小(例如若干100hz的宽度)。另一种优选方式是使频带宽度遵循人类听觉临界频带的大小,即将它们与听觉系统的频率分辨率关联。这意味着对于高达1khz的频率使频带宽度相等,并将它们指数增加至1khz以上。指数增加意味着,例如当递增频带索引k时,使频率宽度加倍。
[0131]
如在基于两个部分帧的能量比的瞬态检测器的第一实施例中所描述的,将与两个部分帧的频带能量或dft带能量有关的任意比率与特定阈值进行比较。使用针对(频率选择性)结束检测115的相应上阈值和针对(频率选择性)起始检测117的相应下阈值。
[0132]
适于帧丢失隐藏方法的适配的另一个音频信号相关指示符可以基于向解码器发送的编解码器参数。例如,编解码器可以是如itu

t g.718的多模编解码器。这种编解码器可以对于不同的信号类型使用特定编解码器模式,并且在帧丢失之前不久的帧中的编解码器模式的改变可以被认为是瞬态的指示符。
[0133]
用于帧丢失隐藏适配的另一个有用的指示符是与发声属性和所发送的信号有关的编解码器参数。发声与人类声道的周期性声门激励生成的高度周期性的语音相关。
[0134]
另一个优选的指示符是信号内容被估计为是音乐还是语音。可以从通常作为编解码器的一部分的信号分类器中获得这种指示符。在编解码器执行这种分类并使相应的分类决定作为编码参数对于解码器可用,则该参数优选地用作被用于对帧丢失方法进行适配的信号内容指示符。
[0135]
优选地用于帧丢失隐藏方法的适配的另一个指示符是帧丢失的突发性。帧丢失的突发性意味着连续发生了若干帧丢失,使得帧丢失隐藏方法很难对于它的操作使用有效的近期解码的信号部分。一种现有的指示符是接连观察到的帧丢失的数量n
burst
。该计数器在每个帧丢失时递增1,并在有效帧接收时重置为0。该指示符也在本发明的当前示例实施例的上下文中使用。
[0136]
帧丢失隐藏方法的适配
[0137]
在以上执行的步骤指示建议帧丢失隐藏操作的适配的条件的情况下,对替代帧谱的计算进行修改。
[0138]
尽管替代帧谱的原始计算是根据表达式z(m)=y(m)
·
e
jθk
完成的,现在引入修改幅度和相位二者的适配。通过用两个因子α(m)和β(m)缩放来修改幅度,并且用附加相位分量来修改相位。这导致替代帧的以下修改后的计算。
[0139][0140]
应该注意的是,如果α(m)=1,β(m)=1且则使用原始(非适配的)帧丢失隐藏方法。因此这些相应值是缺省的。
[0141]
引入幅度适配的一般目的是避免帧丢失隐藏方法的听得见的人为损伤。这种人为损伤可以是音乐的或音调的声音或从瞬态声音的重复中出现的奇怪声音。这种人为损伤将进而导致质量降级,避免质量降级是所述适配的目的。这种适配的一种合适的方式是将替代帧的幅度谱修改至合适的程度。
[0142]
图12示出了隐藏方法修改的实施例。如果突发丢失计数器n
burst
超过某一阈值thr
burst
(例如thr
burst
=3)121,则优选地做出幅度适配123。在那种情况下,针对衰减因子使用小于1的值,例如α(m)=0.1。
[0143]
然而已经发现以逐渐增加的程度执行衰减是有利的。实现这一点的一个优选实施例是定义用于指定每帧衰减中的对数增加的对数参数att_per_frame。然后,在突发计数器超过阈值的情况下,则利用下式来计算逐渐增加的衰减因子:
[0144][0145]
这里,常数c仅是允许例如以分贝(db)来指示参数att_per_frame的缩放常数。
[0146]
响应于信号被估计为是音乐还是语音的指示符来完成附加的优选适配。与语音内容相比,对于音乐内容优选增加阈值thr
burst
和降低每帧的衰减。这等同于以较低程度来执行对帧丢失隐藏方法的适配。这类适配的背景是:与语音相比,音乐通常对于较长的丢失突发较不敏感。因此,对于这种情况,至少对于较大数量的接连的帧丢失的情况,原始(即未修改的)帧丢失隐藏方法仍是优选的。
[0147]
一旦已经基于指示符r
1/r,band
(k)或可选地,r
1/r
(m)或r
1/r
己超过阈值而检测到了瞬态,则优选地完成关于幅度衰减因子的隐藏方法的另一适配,122。在那种情况下,合适的适配动作125是修改第二幅度衰减因子β(m),使得总衰减由两个因子的乘积d(m)
·
β(m)控制。
[0148]
响应于所指示的瞬态来设置β(m)。在检测到结束的情况下,优选地选择因子β(m)来反映该结束的能量降低。合适的选择是将β(m)设置为检测到的增益改变:
[0149]
对于m∈i
k
,k=1

k。
[0150]
在检测到了起始的情况下,发现限制替代帧中的能量增加是相当有利的。在那种情况下,可以将因子设置为某一固定值(例如1),意味着没有衰减也没有任何放大。
[0151]
以上应当注意的是,优选频率选择性地(即利用针对每个频带的单独计算的因子)应用幅度衰减因子。在不使用频带方式的情况下,仍然可以用模拟的方式来获得相应的幅度衰减因子。在dft带层级上使用频率选择性瞬态检测的情况下,可以针对每个dft带单独设置β(m)。或者,在根本没有使用频率选择性瞬态指示的情况下,β(m)可以对于所有m全部相同。
[0152]
结合通过附加相位分量修改相位完成了幅度衰减因子的另一优选适配127。在对于给定的m使用这种相位修改的情况下,进一步减小衰减因子β(m)。优选地,甚至考虑相位修改的程度。如果相位修改仅是中等程度的,则β(m)仅轻微地按比例缩小,而如果相位修改是大幅的,则β(m)较大程度地按比例缩小。
[0153]
引入相位适配的一般目的是避免在所生成的替代帧中过强的调性或信号周期性,这将进而导致质量降级。这种适配的合适的方式是将相位随机化或抖动至合适的程度。
[0154]
如果将附加相位分量设置为随机值以某一控制因子缩放则实现了这种相位抖动。
[0155]
例如通过某一伪随机数发生器来生成通过函数rand(
·
)获得的随机值。这里假设它在区间[0,2π]内提供随机数。
[0156]
以上等式中的缩放因子a(m)控制原始相位θ
k
抖动的程度。以下实施例通过控制该缩放因子解决相位适配。用模拟的方式来实现对缩放因子的控制,作为上述对幅度修改因子的控制。
[0157]
根据第一实施例,响应于突发丢失计数器适配缩放因子a(m)。如果突发丢失计数器n
burst
超过某一阈值thr
burst
,(例如thr
burst
=3),则使用大于0的值(例如a(m)=0.2)。
[0158]
然而已经发现用逐渐增加的程度来执行抖动是有利的。实现了这一点的一个优选实施例是定义指示每帧抖动增加的参数dith_increase_per_frame。然后,在突发计数器超出阈值的情况下,利用下式来计算逐渐增加的抖动控制因子:
[0159]
a(m)=dith_increase_per_frame
·
(n
burst

thr
burst
)。
[0160]
应该注意的是,在以上方程式中,必须将a(m)限制为实现了全相位抖动的最大值1。
[0161]
应该注意的是,用于发起相位抖动的突发丢失阈值thr
burst
可以是与用于幅度衰减的相同的阈值。然而,通过将这些阈值设置为单独的最佳值可以获得更好的质量,这通常意味着这些值可以不同。
[0162]
响应于信号被估计为是音乐还是语音的指示符来完成附加的优选适配。与语音内容相比,对于音乐内容优选增加阈值thr
burst
,意味着与语音相比,仅在接连更多丢失帧的情况下完成针对音乐的相位抖动。这等同于对于音乐用较低程度来执行对帧丢失隐藏方法的适配。这类适配的背景是:音乐通常与语音相比对于较长的丢失突发较不敏感。因此,对于这种情况,至少对于接连大量帧丢失的情况,原始的(即未修改的)帧丢失隐藏方法仍是优选的。
[0163]
另一个优选的实施例是响应于检测到的瞬态对相位抖动进行适配。在那种情况下,可以针对dft带m使用较强程度的相位抖动,其中对于该带、相应频带的dft带、或整个频带的dft带指示了瞬态。
[0164]
所描述的方案的部分解决了用于谐波信号以及特别用于发声语音的帧丢失隐藏方法的优化。
[0165]
在没有实现如上述使用增强的频率估计的方法的情况下,对发声的语音信号的质量进行优化的帧丢失隐藏方法的另一种适配可能是切换至特别针对语音而不是包含音乐和语音的通用音频信号进行设计和优化的另一种帧丢失隐藏方法。在那种情况下,信号包括发声的语音信号的指示符被用于选择另一种语音优化的帧丢失隐藏方案而不是上述方案。
[0166]
如图13所示,实施例应用于解码器中的控制器。图13是根据实施例的解码器的示意框图。解码器130包括被配置为接收编码音频信号的输入单元132。根据上述实施例,附图示出了通过逻辑帧丢失隐藏单元134的帧丢失隐藏,其指示解码器被配置为实现丢失音频
帧的隐藏。此外,解码器包括用于实现上述实施例的控制器136。控制器136被配置为:在先前接收的和重构的音频信号的属性中或在所观察到的帧丢失的统计属性中检测根据所描述的方法的丢失帧的替代提供相对降低的质量的条件。一旦检测到这种条件,控制器136被配置为:通过选择性地调整相位或谱幅度来修改所述隐藏方法的要素,对于所述隐藏方法的要素,替代帧谱是通过z(m)=y(m)
·
e
jθk
计算的。如图14所述,可以利用检测器单元146执行检测,并且可以利用修改器单元148执行修改。
[0167]
可以用硬件来实现具有它的包括单元的解码器。存在能够使用并且组合以实现解码器单元的功能的电路元件的大量变体。这样的变体由实施例所涵盖。解码器的硬件实现的具体示例是以数字信号处理器(dsp)硬件和集成电路技术来实现,其中包括通用电路和专用电路。
[0168]
本文所述的解码器150可以因此用例如图15中所示即利用具有合适的存储器或存储单元156的一个或更多个处理器154和等同的软件155来替代地实现,以重构音频信号,其包括如图13所示根据本文所描述的实施例米执行音频帧丢失隐藏。利用输入(in)152接收输入的编码音频信号,处理器154和存储器156与输入(in)152连接。从输出(out)158输出从软件获得的编码后的和重构的音频信号。
[0169]
上述技术可以用在例如移动设备的接收机中,例如移动电话或膝上型计算机,或者用在固定设备的接收机中,例如个人电脑。
[0170]
应当理解的是,交互单元或模块的选择以及单元的命名只是为了示例的目的,并且能够以多种被选方式来配置,以便能够执行公开的处理活动。
[0171]
还应当注意的是,本公开中描述的单元或模块被称作逻辑实体,并且并不必须是分离的物理实体。将会认识到的是,本文公开的技术范围完全涵盖其它实施例,这对于本领域技术人员是显而易见的,并且因此本公开的范围不应当被限制。
[0172]
除非明确说明,单数的单元的指示不旨在意味着“一个和仅一个”,而是“一个或更多个”。通过参考明确地在本文中并入并旨在由此包含对于那些本领域技术人员已知的上述实施例的单元等同的所有结构和功能模块。此外,设备或方法不必须阐述寻求利用本文公开的技术来解决的每个问题,因为已经本文已经涵盖了所述每个问题。
[0173]
在前述说明书中,为了解释而非限制,阐述了诸如结构、接口、技术等的具体详细内容,以提供对于所公开的技术的透彻理解。然而,本领域技术人员将理解的是,可以用不离开这些特定详细内容的其他实施例和/或实施例的组合来实现公开的技术。也就是说,本领域技术人员能够多样化出尽管本文没有明确描述或示出的体现所公开的技术的原理的各种结构。
[0174]
在一些示例中,省略了已知设备、电路和方法的详细描述,以不用不必要的细节来模糊所公开的技术的说明。公开技术的引用原理、方案和实施例的所有陈述,以及其具体实施例旨在涵盖其结构和功能的等价形式。附加地,撇开结构,这种等价形式旨在包括当前已知的等价形式,以及未来开发的等价形式,例如执行同一功能的所开发的任意单元。
[0175]
因此,例如本领域技术人员将理解本文的附图可以代表体现技术的原理的说明性电路或其他功能单元的概念性视图,和/或可以大体上在计算机可读介质中表示和利用计算机或处理器执行的各种过程,即便不能在附图中明确示出这种计算机或处理器。
[0176]
可以通过诸如电路硬件和/或能够执行在计算机可读介质上存储的编码指令形式
的软件的硬件的使用来提供包括功能模块的各种单元的功能。因此,这种功能和所示的功能模块被理解为或者是硬件实现的和/或计算机实现的,并且因此是机器实现的。
[0177]
上述实施例被理解为本发明的几个说明性示例。本领域技术人员将理解可以不偏离本发明的范围对实施例做出各种修改、组合和改变。具体地,在技术可行的情况下,可以在其他配置中对不同实施例中的部分解决方案进行组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜