帧错误隐藏方法和设备以及音频解码方法和设备与流程

文档序号:11521422阅读:248来源:国知局
帧错误隐藏方法和设备以及音频解码方法和设备与流程

本申请是申请日为2012年10月22日,申请号为“201280063727.3”,标题为“帧错误隐藏方法和设备以及音频解码方法和设备”的发明专利申请的分案申请。

本公开涉及帧错误隐藏,更具体地讲,涉及一种用于在频域中在没有额外延迟的情况下以低复杂度将错误帧准确地恢复为适应于信号特性的帧错误隐藏方法和设备,音频解码方法和设备、以及采用帧错误隐藏方法和设备的多媒体装置。



背景技术:

当编码的音频信号通过有线网络或无线网络被发送时,如果某个包由于发送时的错误而被损坏或失真,则在解码的音频信号的某个帧中会发生错误。在此情况下,如果未适当处理发生在帧中的错误,则在发生错误的帧(在下文中,被称为错误帧)的持续时间中,解码的音频信号的声音质量会降低。

隐藏帧错误的方法的示例是通过减小错误帧中的信号的幅值来削弱错误对输出信号的影响的静噪(muting)方法、通过重复地再现先前好帧(pgf)来重建错误帧的信号的重复方法、通过对pgf和后续好帧(ngf)的参数进行内插来估计错误帧的参数的内插方法、通过对pgf的参数进行外插来获得错误帧的参数的外插方法、以及通过执行pgf的参数的回归分析来获得错误帧的参数的回归分析方法。

然而,通常,由于通过统一地应用相同的方法而不管输入信号的特性来恢复错误帧,因此不能有效地隐藏帧错误,从而导致声音质量降低。另外,在内插方法中,虽然帧错误可被有效地隐藏,但是需要一个帧的额外延迟,因此不适合在用于通信的延迟敏感的编解码器中使用内插方法。另外,在回归分析方法中,虽然可通过稍微考虑存在的能量来隐藏帧错误,但是当信号的幅值逐渐增加或信号变化剧烈时可能发生效率降低。另外,在回归分析方法中,当在频域中基于频带执行回归分析时,由于每个频带的能量的瞬时变化,可能估计出非预期的信号。



技术实现要素:

技术问题

一方面提供一种用于在频域中在没有额外延迟的情况下以低复杂度将错误帧准确地恢复为适应于信号特性的帧错误隐藏方法和设备。

另一方面提供一种用于通过在频域中在没有额外延迟的情况下以低复杂度将错误帧准确地恢复为适应于信号特性来最小化由于帧错误而导致的声音质量的降低的音频解码方法和设备、存储该音频解码方法和设备的记录介质以及采用该音频解码方法和设备的多媒体装置。

另一方面提供一种存储用于执行帧错误隐藏方法或音频解码方法的计算机可读程序的计算机可读记录介质。

另一方面提供一种采用帧错误隐藏设备或音频解码设备的多媒体装置。

解决方案

根据一个或更多个示例性实施例的一方面,提供一种帧错误隐藏方法,包括:通过对从形成错误帧的第一多个频带形成的多个组执行基于组的回归分析来预测参数;通过使用基于组预测的参数来隐藏错误帧中的错误。

根据一个或更多个示例性实施例的另一方面,提供一种音频解码方法,包括:通过对好帧进行解码来获取频谱系数;通过对从形成错误帧的第一多个频带形成的多个组执行基于组的回归分析来预测参数,并通过使用基于组预测的参数获取错误帧的频谱系数;将好帧或错误帧的解码的频谱系数变换到时域,并通过执行叠加(overlap-and-add)处理来重建时域中的信号。

有益效果

可平滑信号的形状变化,并可在频域中在没有额外延迟的情况下以低复杂度将错误帧准确地恢复为适应于信号特性(具体地讲,瞬态特性)和突发错误持续时间。

附图说明

图1a和图1b分别是根据示例性实施例的音频编码设备和音频解码设备的框图;

图2a和图2b分别是根据另一示例性实施例的音频编码设备和音频解码设备的框图;

图3a和图3b分别是根据另一示例性实施例的音频编码设备和音频解码设备的框图;

图4a和图4b分别是根据另一示例性实施例的音频编码设备和音频解码设备的框图;

图5是根据示例性实施例的频域解码设备的框图;

图6是根据示例性实施例的频谱解码器的框图;

图7是根据示例性实施例的帧错误隐藏单元的框图;

图8是根据示例性实施例的存储器更新单元的框图;

图9示出应用于示例性实施例的频带划分;

图10示出应用于示例性实施例的线性回归分析和非线性回归分析的概念;

图11示出根据示例性实施例的被分组以应用回归分析的子频带的结构;

图12示出被分组以将回归分析应用于最高支持7.6khz的宽带的子频带的结构;

图13示出被分组以将回归分析应用于最高支持13.6khz的超宽带的子频带的结构;

图14示出被分组以将回归分析应用于最高支持20khz的全频带的子频带的结构;

图15a至图15c示出被分组以在使用了带宽扩展(bwe)时将回归分析应用于最高支持16khz的超宽带的子频带的结构;

图16a至图16c示出使用后续好帧(ngf)的时域信号的叠加方法。

图17是根据示例性实施例的多媒体装置的框图;

图18是根据另一示例性实施例的多媒体装置的框图。

具体实施方式

本发明构思可允许各种类型的改变或修改以及形式上的各种改变,并且特定示例性实施例将在附图中被示出并在说明书中被详细描述。然而,应理解的是,所述特定示例性实施例不将本发明构思限定为特定形式,而是包括本发明构思的精神和技术范围内的每种修改、等同物或替代形式。由于公知功能或结构会以不必要的细节模糊本发明构思,因此在以下描述中,不详细描述公知功能或结构。

尽管诸如“第一”和“第二”的术语可用于描述各种元素,但是这些元素可不受这些术语限制。所述术语可用于将特定元素与另一元素区分开。

在本申请中使用的术语仅用于描述特定示例性实施例,而不具有限制本发明构思的任何意图。虽然在考虑本发明构思中的功能时将当前被尽可能广泛使用的一般术语选为本发明构思中使用的术语,但是本发明构思中使用的术语可根据本领域的普通技术人员的意图、司法判例或新技术的出现而变化。另外,在特定情况下,可使用由申请人有意选择的术语,并且在此情况下,将在本发明构思的相应描述中公开所述术语的含义。因此,在本公开中使用的术语不应由术语的简单名称来定义,而由术语的含义和本发明构思的内容来定义。

单数形式的表达包括复数形式的表达,除非它们在上下文中明显彼此不同。在本申请中,应理解,诸如“包括”和“具有”的术语用于指示被实现的特征、数量、步骤、操作、元素、部件或它们的组合的存在,而不预先排除存在或添加一个或更多个其它特征、数量、步骤、操作、元素、部件或它们的组合的可能性。

现在将参照示出了示例性实施例的附图更加全面地描述本发明构思。在附图中相同的附图标号表示相同的元件,并因此将省略它们的重复描述。

图1a和图1b分别是根据示例性实施例的音频编码设备110和音频解码设备130的框图。

图1a中示出的音频编码设备110可包括预处理器112、频域编码器114和参数编码器116。组件可被集成在至少一个模块中,并被实现为至少一个处理器(未示出)。

参照图1a,预处理器112可对输入信号执行滤波或下采样,但不限于此。输入信号可包括语音信号、音乐信号、或混合了语音和音乐的信号。在下文中,为便于描述,将输入信号称为音频信号。

频域编码器114可对从预处理器112提供的音频信号执行时间-频率变换(time-frequencytransform),选择与声道的数量、编码频带和音频信号的比特率相应的编码工具,并通过使用选择的编码工具对音频信号进行编码。可使用改进离散余弦变换(mdct)或快速傅里叶变换(fft)来执行时间-频率变换,但不限于此。如果给定的比特数充足,则可将一般的变换编码方法用于所有频带。否则,如果给定的比特数不足,则可将带宽扩展(bwe)方法应用于一些频带。当音频信号是立体声音频信号或多声道音频信号时,如果给定的比特数充足,则可对每个声道执行编码。否则,如果给定的比特数不足,则可应用缩混(down-mixing)方法。频域编码器114可产生编码后的频谱系数。

参数编码器116可从提供自频域编码器114的编码后的频谱系数提取参数,并对提取的参数进行编码。可基于子频带来提取参数,并且每个子频带可以是对频谱系数进行分组的单位,并可通过反映阈值频带而具有统一或非统一的长度。当每个子频带具有非统一的长度时,存在于低频频带中的子频带与高频频带中的子频带相比可具有相对短的长度。包括在一个帧中的子频带的数量和长度可根据编解码器算法而变化,并可影响编码性能。参数中的每一个可以是例如子频带的范数、缩放因子、功率、或平均能量,但不限于此。作为编码的结果而获得的频谱系数和参数可形成比特流,并可通过信道以包的形式被发送,或存储在存储介质中。

图1b中示出的音频解码设备130可包括参数解码器132、频域解码器134和后处理器136。频域解码器134可包括帧错误隐藏算法。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图1b,参数解码器132可从以包的形式发送的比特流解码出参数,并基于帧检查解码的参数以确定是否发生了错误。可使用各种公知的方法来执行错误检查,并且可将关于当前帧是好帧还是错误帧的信息提供给频域解码器134。

在当前帧是好帧时,频域解码器134可通过经由一般的变换解码处理对当前帧进行解码来产生合成的频谱系数,在当前帧是错误帧时,频域解码器134可通过经由频域中的帧错误隐藏算法对先前好帧(pgf)的频谱系数进行缩放来产生合成的频谱系数。频域解码器134可通过对合成的频谱系数执行频率-时间变换来产生时域信号。

后处理器136可对从频域解码器134提供的时域信号执行滤波或上采样,但是不限于此。后处理器136提供重建的音频信号作为输出信号。

图2a和图2b分别是根据另一示例性实施例的音频编码设备210和音频解码设备230的框图,其中,音频编码设备210和音频解码设备230可具有切换结构。

图2a中示出的音频编码设备210可包括预处理器212、模式确定器213、频域编码器214、时域编码器215和参数编码器216。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图2a,由于预处理器212基本上与图1a的预处理器112相同,因此省略其描述。

模式确定器213可通过参考输入信号的特性来确定编码模式。根据输入信号的特性,可确定当前帧是处于语音模式还是音乐模式,并且还可确定对于当前帧有效的编码模式是时域模式还是频域模式。可使用帧的短期特性或多个帧的长期特性来获得输入信号的特性,但是获得输入信号的特性的方法不限于此。当输入信号的特性与音乐模式或频域模式相应时,模式确定器213将预处理器212的输出信号提供给频域编码器214,当输入信号的特性与语音模式或时域模式相应时,模式确定器213将预处理器212的输出信号提供给时域编码器215。

由于频域编码器214基本上与图1a的频域编码器114相同,因此省略其描述。

时域编码器215可对从预处理器212提供的音频信号执行码激励线性预测(celp)编码。详细地讲,可使用代数celp(acelp),但是celp编码不限于此。时域编码器215产生编码后的频谱系数。

参数编码器216可从提供自频域编码器214或时域编码器215的编码后的频谱系数提取参数,并对提取的参数进行编码。由于参数编码器216基本上与图1a的参数编码器116相同,因此省略其描述。作为编码的结果而获得的频谱系数和参数可与编码模式信息一起形成比特流,并通过信道以包的形式被发送,或存储在存储介质中。

图2b中示出的音频解码设备230可包括参数解码器232、模式确定器233、频域解码器234、时域解码器235和后处理器236。频域解码器234和时域解码器235中的每个可包括相应域中的帧错误隐藏算法。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图2b,参数解码器232可从以包的形式发送的比特流解码出参数,并基于帧检查解码后的参数以确定是否发生了错误。可使用各种公知的方法来执行错误检查,并且可将关于当前帧是好帧还是错误帧的信息提供给频域解码器234或时域解码器235。

模式确定器233可检查包括在比特流中的编码模式信息,并将当前帧提供给频域解码器234或时域解码器235。

当编码模式是音乐模式或频域模式时,频域解码器234可进行操作,并且如果当前帧是好帧,则频域解码器234可通过经由一般的变换解码处理对当前帧进行解码来产生合成的频谱系数。否则,如果当前帧是错误帧,并且先前帧的编码模式是音乐模式或频域模式,则频域解码器234可通过经由频域中的帧错误隐藏算法对pgf的频谱系数进行缩放来产生合成的频谱系数。频域解码器234可通过对合成的频谱系数执行频率-时间变换来产生时域信号。

当编码模式是语音模式或时域模式时,时域解码器235可进行操作,并且如果当前帧是好帧,则时域解码器235可通过经由一般的celp解码处理对当前帧进行解码来产生时域信号。否则,如果当前帧是错误帧,并且先前帧的编码模式是语音模式或时域模式,则时域解码器235可执行时域中的帧错误隐藏算法。

后处理器236可对从频域解码器234或时域解码器235提供的时域信号执行滤波或上采样,但不限于此。后处理器236提供重建的音频信号作为输出信号。

图3a和图3b分别是根据另一示例性实施例的音频编码设备310和音频解码设备330的框图,其中,音频编码设备310和音频解码设备330可具有切换结构。

图3a中示出的音频编码设备310可包括预处理器312、线性预测(lp)分析器313、模式确定器314、频域激励编码器315、时域激励编码器316和参数编码器317。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图3a,由于预处理器312基本上与图1a的预处理器112相同,因此省略其描述。

lp分析器313可通过对输入信号执行lp分析来提取lp系数,并从提取的lp系数产生激励信号。可根据编码模式将激励信号提供给频域激励编码器315和时域激励编码器316中的一个。

由于模式确定器314基本上与图2a的模式确定器213相同,因此省略其描述。

当编码模式是音乐模式或频域模式时,频域激励编码器315可进行操作,由于除了输入信号是激励信号之外,频域激励编码器315基本上与图1a的频域编码器114相同,因此省略其描述。

当编码模式是语音模式或时域模式时,时域激励编码器316可进行操作,由于除了输入信号是激励信号之外,时域激励编码器316基本上与图2a的时域编码器215相同,因此省略其描述。

参数编码器317可从提供自频域激励编码器315或时域激励编码器316的编码后的频谱系数提取参数,并对提取的参数进行编码。由于参数编码器317基本上与图1a的参数编码器116相同,因此省略其描述。作为编码的结果而获得的频谱系数和参数可与编码模式信息一起形成比特流,并通过信道以包的形式被发送,或被存储在存储介质中。

图3b中示出的音频解码设备330可包括参数解码器332、模式确定器333、频域激励解码器334、时域激励解码器335、lp合成器336和后处理器337。频域激励解码器334和时域激励解码器335中的每一个可包括相应域中的帧错误隐藏算法。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图3b,参数解码器332可从以包的形式发送的比特流解码出参数,并基于帧检查解码的参数以确定是否发生错误。可使用各种公知的方法来执行错误检查,并且可将关于当前帧是好帧还是错误帧的信息提供给频域激励解码器334或时域激励解码器335。

模式确定器333可检查包括在比特流中的编码模式信息,并将当前帧提供给频域激励解码器334或时域激励解码器335。

当编码模式是音乐模式或频域模式时,频域激励解码器334可进行操作,并且如果当前帧是好帧,则频域激励解码器334可通过经由一般的变换解码处理对当前帧进行解码来产生合成的频谱系数。否则,如果当前帧是错误帧,并且先前帧的编码模式是音乐模式或频域模式,则频域激励解码器334可通过经由频域中的帧错误隐藏算法对pgf的频谱系数进行缩放来产生合成的频谱系数。频域激励解码器334可通过对合成的频谱系数执行频率-时间变换来产生激励信号,其中,所述激励信号是时域信号。

当编码模式是语音模式或时域模式时,时域激励解码器335可进行操作,并且如果当前帧是好帧,则时域激励解码器335可通过经由一般的celp解码处理对当前帧进行解码来产生激励信号,其中,所述激励信号为时域信号。否则,如果当前帧是错误帧,并且先前帧的编码模式是语音模式或时域模式,则时域激励解码器335可执行时域中的帧错误隐藏算法。

lp合成器336可通过对从频域激励解码器334或时域激励解码器335提供的激励信号执行lp合成来产生时域信号。

后处理器337可对从lp合成器336提供的时域信号执行滤波或上采样,但是不限于此。后处理器337提供重建的音频信号作为输出信号。

图4a和图4b分别是根据另一示例性实施例的音频编码设备410和音频解码设备430,其中,音频编码设备410和音频解码设备430可具有切换结构。

图4a中示出的音频编码设备410可包括预处理器412、模式确定器413、频域编码器414、lp分析器415、频域激励编码器416、时域激励编码器417和参数编码器418。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。由于可通过组合图2a中示出的音频编码设备210和图3a中示出的音频编码设备310来得到图4a中示出的音频编码设备410,因此省略共同部件的操作描述,现在将描述模式确定器413的操作。

模式确定器413可通过参考输入信号的特性和比特率来确定输入信号的编码模式。模式确定器413可基于根据输入信号的特性当前帧是处于语音模式还是音乐模式以及对于当前帧有效的编码模式是时域模式还是频域模式,来确定celp模式或另一模式。如果输入信号的特性与语音模式相应,则可确定celp模式,如果输入信号的特性与语音模式和高比特率相应,则可确定频域模式,如果输入信号的特性与音乐模式和低比特率相应,则可确定音频模式。模式确定器413可在频域模式下将输入信号提供给频域编码器414,在音频模式下经由lp分析器415将输入信号提供给频域激励编码器416,并在celp模式下经由lp分析器415将输入信号提供给时域激励编码器417。

频域编码器414可与图1a的音频编码设备110的频域编码器114或图2a的音频编码设备210的频域编码器214相应,并且频域激励编码器416或时域激励编码器417可与图3a的音频编码设备310的频域激励编码器315或时域激励编码器316相应。

图4b中示出的音频解码设备430可包括参数解码器432、模式确定器433、频域解码器434、频域激励解码器435、时域激励解码器436、lp合成器437和后处理器438。频域解码器434、频域激励解码器435和时域激励解码器436中的每一个可包括相应域中的帧错误隐藏算法。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。由于可通过组合图2b中示出的音频解码设备230和图3b中示出的音频解码设备330来得到图4b中示出的音频解码设备430,因此省略共同部分的操作描述,现在将描述模式确定器433的操作。

模式确定器433可检查包括在比特流中的编码模式信息,并将当前帧提供给频域解码器434、频域激励解码器435或时域激励解码器436。

频域解码器434可与图1b的音频解码设备130的频域解码器134或图2b的音频解码设备230的频域解码器234相应,频域激励解码器435或时域激励解码器436可与图3b的音频解码设备330的频域激励解码器334或时域激励解码器335相应。

图5是根据示例性实施例的频域解码设备的框图,其中,所述频域解码设备可与图2b的音频解码设备230的频域解码器234或图3b的音频解码设备330的频域激励解码器334相应。

图5中示出的频域解码设备500可包括错误隐藏单元510、频谱解码器530、存储器更新单元550、逆变换器570以及叠加单元590。除了嵌入在存储器更新单元550中的存储器(未示出)之外的组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图5,首先,如果从解码的参数确定在当前帧中未发生错误,则可通过经由频谱解码器530、存储器更新单元550、逆变换器570以及叠加单元590对当前帧进行解码来最终产生时域信号。详细地讲,频谱解码器530可通过使用解码的参数对当前帧执行频谱解码来合成频谱系数。对于后续帧,存储器更新单元550可针对作为好帧的当前帧更新合成的频谱系数、解码的参数、使用所述参数获得的信息、直到当前为止的连续的错误帧的数量、在解码器中通过分析合成的信号而获得的先前帧的特性(信号特性,例如瞬态(transient)特性、正常(normal)特性、稳态(stationary)特性)、先前帧的类型信息(从编码器发送的信息,例如瞬态帧和正常帧)等等。逆变换器570可通过对合成的频谱系数执行频率-时间变换来产生时域信号。叠加单元590可使用先前帧的时域信号执行叠加处理,并且作为叠加处理的结果最终产生当前帧的时域信号。

否则,如果从解码的参数确定在当前帧中发生了错误,则可将解码的参数的坏帧指示符(bfi)设置成例如1,其中,1指示在作为坏帧的当前帧中不存在信息。在此情况下,检查先前帧的解码模式,如果先前帧的解码模式是频域模式,则可对当前帧执行频域中的帧错误隐藏算法。

也就是说,在当前帧是错误帧并且先前帧的解码模式是频域模式时,错误隐藏单元510可进行操作。错误隐藏单元510可通过使用存储在存储器更新单元550中的信息来恢复当前帧的频谱系数。可通过频谱解码器530、存储器更新单元550、逆变换器570以及叠加单元590对恢复的当前帧的频谱系数进行解码,以最终产生当前帧的时域信号。

如果当前帧是错误帧,先前帧是好帧,并且先前帧的解码模式是频域模式,或者如果当前帧和先前帧是好帧,并且它们的解码模式是频域模式,则叠加单元590可通过使用作为好帧的先前帧的时域信号来执行叠加处理。否则,如果当前帧是好帧,作为连续的错误帧的先前帧的数量为2或大于2,先前帧为错误帧,并且作为最新的好帧的先前帧的解码模式是频域模式,则叠加单元590可通过使用作为好帧的当前帧的时域信号来执行叠加处理,而不是通过使用作为好帧的先前帧的时域信号来执行叠加处理。这些条件可由下文来表示:

if((bfi==0)&&(st→old_bfi_int>1)&&(st→prev_bfi==1)&&

(st→last_core==freq_core)),

其中,bfi表示当前帧的错误帧指示符,st→old_bfi_int表示作为连续的错误帧的先前帧的数量,st→prev_bfi表示先前帧的bfi信息,st→last_core表示最新pgf的核心的解码模式,例如频域模式freq_core或时域模式time_core。

图6是根据示例性实施例的频谱解码器600的框图。

图6中示出的频谱解码器600可包括无损解码器610、参数反量化器620、比特分配器630、频谱反量化器640、噪声填充单元650和频谱整形单元660。可将噪声填充单元650布置在频谱整形单元660之后。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图6,无损解码器610可对已经在编码处理中被执行了无损编码的参数(例如,范数值)进行无损解码。

参数反量化器620可对无损解码的范数值进行反量化。在编码处理中,可使用各种方法(例如,矢量量化(vq)、标量量化(sq)、网格编码量化(trq)和格型矢量量化(lvq))中的任何方法对范数值进行量化,并且,可使用相应方法来对被量化的范数值进行反量化。

比特分配器630可基于被量化的范数值来分配每个频带所需的比特。在此情况下,针对每个频带分配的比特可以与编码处理中所分配的比特相同。

频谱反量化器640可通过使用针对每个频带分配的比特执行反量化处理来产生归一化的频谱系数。

噪声填充单元650可针对每个频带在需要噪声填充的部分中填满噪声。

频谱整形单元660可通过使用反量化的范数值对归一化的频谱系数进行整形。最终,可通过频谱整形处理来获得解码的频谱系数。

图7是根据示例性实施例的帧错误隐藏单元700的框图。

图7中示出的帧错误隐藏单元700可包括信号特性确定器710、参数控制器730、回归分析器750、增益计算器770和缩放器790。组件可被集成在至少一个模块中,并可被实现为至少一个处理器(未示出)。

参照图7,信号特性确定器710可通过使用解码的信号来确定信号的特性,并将解码的信号的特性分类为瞬态、正常、平稳等。现在在下面将描述确定瞬态帧的方法。根据示例性实施例,可使用先前帧的帧能量和移动平均能量来确定当前帧是否为瞬态。为此,可使用针对好帧获得的移动平均能量energy_ma和差能量energy_diff。现在将描述获得energy_ma和energy_diff的方法。

如果假设帧的能量或范数值的总和为energy_curr,则可通过energy_ma=energy_ma×0.8+energy_curr×0.2来获得energy_ma。在此情况下,可将energy_ma的初始值设置成例如100。

然后,可通过对energy_ma和energy_curr之差进行归一化来获得energy_diff,并且可通过energy_diff=(energy_curr-energy_ma)/energy_ma来表示energy_diff。

当energy_diff等于或大于预定阈值ed_thres(例如,1.0)时,信号特性确定器710可确定当前帧为瞬态。1.0的energy_diff指示energy_curr是energy_ma的两倍,并可指示与先前帧相比当前帧的能量的变化是非常大的。

参数控制器730可使用由信号特性确定器710确定的信号特性以及包括在从编码器发送的信息中的帧类型和编码模式来控制用于帧错误隐藏的参数。可使用从编码器发送的信息或由信号特性确定器710获得的瞬态信息来执行瞬态确定。当同时使用所述两种类型的信息时,可使用以下条件:即,如果作为从编码器发送的瞬态信息is_transient是1,或如果作为由解码器获得的信息energy_diff等于或大于预定阈值ed_thres(例如,1.0),则这指示当前帧是能量变化剧烈的瞬态帧,并且因此可减小将用于回归分析的pgf的数量num_pgf。否则,确定当前帧不是瞬态帧,并且可增加num_pfg。

在上文中,ed_thres表示阈值,并可被设置成例如1.0。

根据瞬态确定的结果,可控制用于帧错误隐藏的参数。用于帧错误隐藏的参数的示例可以是用于回归分析的pgf的数量。用于帧错误隐藏的参数的另一示例可以是突发错误持续时间的缩放方法。可将相同的energy_diff值用在一个突发错误持续时间中。如果确定作为错误帧的当前帧不为瞬态,则当突发错误发生时,不论解码的先前帧的频谱系数的回归分析如何,可将从例如第五帧开始的帧强制地缩放为3db的固定值。否则,如果确定作为错误帧的当前帧为瞬态,则当突发错误发生时,不论解码的先前帧的频谱系数的回归分析如何,可将从例如第二帧开始的帧强制地缩放为3db的固定值。用于帧错误隐藏的参数的另一示例可以是随机符号和自适应静噪的应用方法,以下将参照缩放器790来描述所述应用方法。

回归分析器750可通过使用存储的先前帧的参数来执行回归分析。可对每个单个错误帧执行回归分析,或者可仅当突发错误已发生时执行回归分析。当设计解码器时,可预先定义被执行了回归分析的错误帧的条件。如果对每个单个错误帧执行回归分析,则可立即对已发生错误的帧执行回归分析。可使用根据回归分析的结果而获得的函数来预测错误帧需要的参数。

否则,如果仅当突发错误已发生时执行回归分析,则当指示连续错误帧的数量的bfi_cnt是2时(即,从第二个连续错误帧开始),执行回归分析。在此情况下,对于第一个错误帧,可简单地重复从先前帧获得的频谱系数,或者频谱系数可被缩放确定值。

if(bfi_cnt==2){

regression_anaysis();

}if

即使作为对时域中的重叠的信号进行变换的结果未发生连续错误,在频域中,仍会发生与连续错误类似的问题。例如,如果按跳过一个帧的方式发生错误,换句话说,如果按错误帧、好帧和错误帧的顺序发生错误,则当通过50%的重叠来形成变换窗口时,不论在中间是否存在好帧,声音质量都与按错误帧、错误帧和错误帧的顺序发生错误的情况有很大不同。如以下将描述的图16c中所示,即使第n帧是好帧,但如果第(n-1)帧和第(n+1)帧是错误帧,则在重叠处理中也产生完全不同的信号。因此,当按错误帧、好帧和错误帧的顺序发生错误时,尽管发生第二个错误的第三帧的bfi_cnt为1,bfi_cnt仍被强制增加1。结果,bfi_cnt为2,并确定突发错误已发生,因此可使用回归分析。

在上文中,prev_old_bfi表示第二个先前帧的帧错误信息。在当前帧是错误帧时,此处理可以是可适用的。

为了低复杂度,回归分析器750可通过对两个或更多个频带进行分组来形成每个组,得到每个组的代表值,并将回归分析应用到代表值。代表值的示例可以是平均值、中间值和最大值,但是代表值不限于此。根据示例性实施例,可将分组范数的平均矢量用作代表值,其中,所述平均矢量是包括在每个组中的频带的平均范数值。

当使用由信号特性确定器710确定的信号特性和包括在从编码器发送的信息中的帧类型来确定当前帧的属性时,如果确定当前帧是瞬态帧,则用于回归分析的pgf的数量可减少,如果确定当前帧为稳态帧,则用于回归分析的pgf的数量可增加。根据示例性实施例,当指示先前帧是否为瞬态的is_transient是1时(即,当先前帧为瞬态时),pgf的数量num_pgf可被设置成2,当先前帧不为瞬态时,pgf的数量num_pgf可被设置成4。

另外,用于回归分析的矩阵的行数可被设置成例如2。

作为由回归分析器750进行的回归分析的结果,可针对错误帧预测每个组的平均范数值。也就是说,在错误帧中,可针对属于一个组的每个频带预测相同范数值。详细地讲,回归分析器750可通过回归分析从将在以下描述的线性回归分析等式或非线性回归分析等式计算值a和b,并通过使用计算出的值a和b针对每个组来预测错误帧的分组平均范数值。

增益计算器770可获得针对错误帧预测的每个组的平均范数值和pgf中的每个组的平均范数值之间的增益。

缩放器790可通过将由增益计算器770获得的增益乘以pgf的频谱系数来产生错误帧的频谱系数。

根据示例性实施例,缩放器790可根据输入信号的特性将随机符号应用到预测的频谱系数或将自适应静噪应用到错误帧。

首先,可将输入信号识别为瞬态信号和非瞬态信号。可从非瞬态信号单独识别出平稳信号,并以另一方法来处理平稳信号。例如,如果确定输入信号具有很多谐波分量,则可将输入信号确定为信号变化不大的平稳信号,并可执行与平稳信号相应的错误隐藏算法。通常,可从发送自编码器的信息获得输入信号的谐波信息。当不需要低复杂度时,可使用由解码器合成的信号来获得输入信号的谐波信息。

当输入信号大致被分类为瞬态信号、平稳信号和残差信号时,可如以下所述应用自适应静噪和随机符号。在下文中,由mute_start表示的数量指示:当发生连续错误时,如果bfi_cnt等于或大于mute_start,则强制开始静噪。另外,可按相同方式来分析与随机符号相关的random_start。

根据应用自适应静噪的方法,可将频谱系数强制缩小固定值。例如,如果当前帧的bfi_cnt是4,并且当前帧是稳态帧,则可将当前帧的频谱系数缩小3db。

另外,可随机地修改频谱系数的符号来减小每个帧中由于频谱系数的重复而产生的调制噪声。可将各种公知的方法用作应用随机符号的方法。

根据示例性实施例,可将随机符号应用于帧的所有频谱系数。根据另一示例性实施例,可预先限定开始应用随机符号的频带,并且可将随机符号应用于等于或高于所限定的频带的频带,这是因为由于波形或能量会由于在非常低的频带(例如,200hz或低于200hz)中的符号的变化而被很大地改变,因此在非常低的频带或第一频带中使用与先前帧的频谱系数的符号相同的频谱系数的符号可能更好。

图8是根据示例性实施例的存储器更新单元800的框图。

图8中示出的存储器更新单元800可包括第一参数获取单元820、范数分组单元840、第二参数获取单元860和存储单元880。

参照图8,第一参数获取单元820可获得用于确定当前帧是否为瞬态的energy_curr和energy_ma,并将获得的值energy_curr和energy_ma提供给存储单元880。

范数分组单元840可将范数值分组在预定义的组中。

第二参数获取单元860可获得每个组的平均范数值,并且获得的每个组的平均范数值可被提供给存储单元880。

存储单元880可将从第一参数获取单元820提供的值energy_curr和energy_ma、从第二参数获取单元860提供的每个组的平均范数值、从编码器发送的指示当前帧是否为瞬态的瞬态标志、指示当前帧是在时域中被编码还是在频域中被编码的编码模式、以及好帧的频谱系数更新并存储为当前帧的值。

图9示出应用于本发明的频带划分。对于48khz的全频带,对具有20ms长度的帧可支持50%的重叠,并且当应用mdct时,将被编码的频谱系数的数量为960。如果编码被执行直到20khz,则将被编码的频谱系数的数量为800。

在图9中,区块a与窄带相应,支持0到3.2khz,并被划分为每个子频带具有8个采样的16个子频带。区块b与被添加到窄带以支持宽带的频带相应,另外地支持3.2至6.4khz,并被划分为每个子频带具有16个采样的8个子频带。区块c与被添加到宽带以支持超宽带的频带相应,另外地支持6.4至13.6khz,并被划分为每个子频带具有24个采样的12个子频带。区块d与被添加到超宽带以支持全频带的频带相应,另外地支持13.6至20khz,并被划分为每个子频带具有32个采样的8个子频带。

可使用各种方法来对被划分为子频带的信号进行编码。可使用每个频带的范数、能量或缩放因子对频谱的包络进行编码。在对频谱的包络进行编码之后,可对每个频带的精细结构(即,频谱系数)进行编码。根据示例性实施例,可使用每个频带的范数对整个频带的包络进行编码。可通过等式1来获得范数。

经由量化/反量化

在等式1中,与范数相应的值是gb,对数(log)尺度的nb被实际上量化。使用nb的被量化的值来获得gb的被量化的值,当原始输入信号xi除以gb的被量化的值时获得yi,因此,量化处理被执行。

图10示出应用于本发明的线性回归分析和非线性回归分析的概念,其中,“范数的平均”指示通过对若干频带进行分组而获得的平均范数值,并且是回归分析被应用的目标。因为对数尺度的线性值实际上是非线性值,所以当gb的被量化的值被用于先前帧的平均范数值时,执行线性回归分析,当对数尺度的nb的被量化的值被用于先前帧的平均范数值时,执行非线性回归分析。可以可变地设置指示用于回归分析的pgf的数量的“pgf的数量”。

可由等式2来表示线性回归分析的示例。

y=ax+b

如在等式2中,当使用线性等式时,可通过获得a和b来预测即将进行的转换(transition)。在等式2中,可通过逆矩阵获得a和b。获得逆矩阵的简单方法可使用高斯约当消元法。

可由等式3来表示非线性回归分析的示例。

y=bxa

lny=lnb+alnx

y=exp(lnb+alnx)(3)

在等式3中,可通过获得a和b来预测即将进行的转换。另外,ln的值可由nb的值来替换。

图11示出根据示例性实施例的被分组以应用回归分析的子频带的结构。

参照图11,对于第一区域,通过将8个子频带分组为一个组来获得平均范数值,可使用先前帧的分组平均范数值来预测错误帧的分组平均范数值。在图12至图14中详细示出了使用每个频带的子频带的示例。

图12示出当应用回归分析以对最高支持7.6khz的宽带进行编码时的被分组的子频带的结构。图13示出当回归分析被应用于对最高支持13.6khz的超宽带进行编码时的被分组的子频带的结构。图14示出当回归分析被应用于对最高支持20khz的全频带进行编码时的被分组的子频带的结构。

从被分组的子频带获得的分组平均范数值形成矢量,其中,所述矢量被称为分组范数的平均矢量。当分组范数的平均矢量被代入参照图10描述的矩阵时,可获得分别与斜率和y截距相应的值a和b。

图15a至图15c示出被分组以在使用了bwe时将回归分析应用于最高支持16khz的超宽带的子频带的结构。

当在超宽带中以50%的重叠对长度为20ms的帧执行mdct时,总共获得640个频谱系数。根据示例性实施例,可通过将核心部分与bwe部分分离来确定被分组的子频带。核心起始区段到bwe起始区段的编码被称为核心编码。表示用于核心部分的频谱包络的方法和表示用于bwe部分的频谱包络的方法可彼此不同。例如,可将范数值、缩放因子等用于核心部分,同样地,可将范数值、缩放因子等用于bwe部分,其中,可将不同的范数值、缩放因子等用于核心部分和bwe部分。

图15a示出将大量比特用于核心编码的示例,并且被分配给核心编码的比特数在图15b和图15c中逐渐减少。bwe部分是被分组的子频带的示例,其中,子频带的数量指示频谱系数的数量。当范数被用于频谱包络时,使用回归分析的帧错误隐藏算法如下:首先,在回归分析中,使用与bwe部分相应的分组平均范数值来更新存储器。使用独立于核心部分的先前帧的bwe部分的分组平均范数值来执行回归分析,并预测当前帧的分组平均范数值。

图16a至图16c示出使用后续好帧(ngf)的时域信号的叠加方法。

图16a描述当先前帧不是错误帧时通过使用先前帧来执行重复或增益缩放的方法。参照图16b,不使用额外延迟,仅针对尚未通过重叠而被解码的区段,在作为好帧的当前帧中解码的时域信号被重复地重叠到过去,并另外地执行增益缩放。将被重复的信号的长度被选为小于或等于将被重叠的区段的长度的值。根据示例性实施例,将被重叠的区段的长度可以是13×l/20,其中,例如,对于窄带,l表示160;对于宽带,l表示320;对于超宽带,l表示640;对于全频带,l表示960。

通过重复来获得ngf的时域信号以得到将被用于时间重叠处理的信号的方法如下:

在图16b中,在第(n+2)帧的未来区段中的长度为13×l/20的块被复制到与第(n+1)帧的相同位置相应的未来区段以用所述块来替换现有值,从而调整比例。被缩放的值是例如-3db。在复制处理中,为了去除与作为先前帧的第(n+1)帧的不连续性,对于第一长度13×l/20,将从图16b的第(n+1)帧获得的时域信号与从未来区段复制的信号线性重叠。通过此处理,可最终获得用于重叠的信号,并且当更新后的第(n+1)信号与更新后的第(n+2)信号重叠时,最终输出第(n+2)帧的时域信号。

如另一示例,参照图16c,发送的比特流被解码成“mdct域解码频谱”。例如,使用50%的重叠,参数的实际数量是帧大小的两倍。当解码的频谱系数被逆变换时,产生具有相同大小的时域信号,当对时域信号执行“时间加窗”处理时,产生加窗的信号auout。当对加窗的信号执行“时间叠加”处理时,产生最终的信号“时间输出(timeoutput)”。基于第n帧,在先前帧中尚未被重叠的区段oldauout可被存储并用于后续帧。

图17是根据示例行实施例的多媒体装置1700的框图。

图17中示出的多媒体装置1700可包括通信单元1710和解码模块1730。另外,多媒体装置1700还可包括存储单元1750,其中,存储单元1750根据作为解码结果而获得的重建的音频信号的用途来存储重建的音频信号。另外,多媒体装置1700还可包括扬声器1770。也就是说,存储单元1750和扬声器1770是可选的。另外,多媒体装置1700还可包括任意编码模块(未示出),例如,用于执行一般编码功能的编码模块。解码模块1730可与包括在多媒体装置1700中的其他组件(未示出)组合在一个主体中,并可被实现为至少一个处理器(未示出)。

参照图17,通信单元1710可接收从外部提供的编码的比特流和音频信号中的至少一个,或发送作为解码模块1730的解码结果而获得的重建的音频信号和作为编码结果而获得的音频比特流中的至少一个。

通信单元1710被配置为经由无线网络(诸如无线互联网、无线内联网、无线电话网、无线局域网(wlan)、wi-fi、wi-fi直连(wfd)、第三代(3g)、第四代(4g)、蓝牙、红外数据协会(irda)、射频识别(rfid)、超宽带(uwb)、zigbee或近场通信(nfc))或有线网络(诸如有线电话网或有线互联网)将数据发送到外部多媒体装置和从外部多媒体装置接收数据。

可使用根据本发明的各种上述实施例的音频解码设备来实现解码模块1730。

存储单元1750可存储由解码模块1730产生的重建的音频信号。另外,存储单元1750可存储操作多媒体装置1700所需的各种程序。

扬声器1770可将由解码模块1730产生的重建的音频信号输出到外部。

图18是根据另一示例性实施例的多媒体装置1800的框图。

图18中示出的多媒体装置1800可包括通信单元1810、编码模块1820和解码模块1830。另外,多媒体装置1800还可包括存储单元1840,其中,存储单元1840用于根据作为编码结果或解码结果而获得的音频比特流或重建的音频信号的用途来存储音频比特流或重建的音频信号。另外,多媒体装置1800还可包括麦克风或扬声器1860。编码模块1820和解码模块1830可与包括在多媒体装置1800中的其他组件(未示出)组合在一个主体中,并可被实现为至少一个处理器(未示出)。省略在图17中示出的多媒体装置1700和图18中示出的多媒体装置1800之间的相同组件的详细描述。

在图18中,编码模块1820可采用各种公知的编码算法以通过对音频信号进行编码来产生比特流。所述编码算法可包括例如自适应多速率宽带(amr-wb)、mpeg-2&4音频编码(aac)等,但是不限于此。

存储单元1840可存储由编码模块1820产生的编码的比特流。另外,存储单元1840可存储操作多媒体装置1800所需的各种程序。

麦克风1850可将用户或外部的音频信号提供给编码模块1820。

多媒体装置1700和1800中的每一个还可包括语音通信专用终端(包括电话、移动电话等)、广播或音乐专用装置(包括tv、mp3播放器等)、或语音通信专用终端和广播或音乐专用装置的复合终端装置,但不限于此。另外,多媒体装置1700和1800中的每一个可用作客户端、服务器或布置在客户端和服务器之间的转换装置。

当多媒体装置1700或1800是例如移动电话时,虽然未示出,但是移动电话还可包括用户输入单元(诸如键盘)、用于显示由移动电话处理的信息的用户界面或显示单元、和用于控制移动电话的一般功能的处理器。另外,移动电话还可包括具有图像捕捉功能的相机单元和用于执行移动电话所需功能的至少一个组件。

当多媒体装置1700或1800是例如tv时,虽然未示出,但是tv还可包括用户输入单元(诸如键盘)、用于显示接收的广播信息的显示单元、和用于控制tv的一般功能的处理器。另外,tv还可包括用于执行由tv所需的功能的至少一个组件。

根据实施例的方法可被编写为计算机程序,并可被实现在使用计算机可读记录介质执行程序的通用数字计算机中。另外,可在本发明的实施例中使用的数据结构、程序指令或数据文件可以以各种方式被记录在计算机可读记录介质中。计算机可读记录介质是可存储随后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括磁记录介质(诸如硬盘、软盘和磁带)、光记录介质(诸如cd-rom和dvd)、磁光介质(诸如光磁盘)以及专门被配置为存储和执行程序指令的硬件装置(诸如只读存储器(rom)、随机存取存储器(ram)和闪存)。另外,计算机可读记录介质可以是用于发送指示程序指令、数据结构等的信号的传输介质。程序指令的示例可包括由编译器产生的机器语言代码和可由计算机使用解释器执行的高级语言代码。

虽然已参照本发明构思的示例性实施例具体示出并描述了本发明构思,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可做出形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1