CN113035208B - 一种音频解码器的分级错误隐藏方法、装置及存储介质 - Google Patents
一种音频解码器的分级错误隐藏方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113035208B CN113035208B CN202110240976.6A CN202110240976A CN113035208B CN 113035208 B CN113035208 B CN 113035208B CN 202110240976 A CN202110240976 A CN 202110240976A CN 113035208 B CN113035208 B CN 113035208B
- Authority
- CN
- China
- Prior art keywords
- error
- code stream
- current frame
- frame code
- indication
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
Abstract
本发明公开了一种音频解码器的分级错误隐藏方法、装置及存储介质,属于音频编码技术领域。该方法主要包括根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示;根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示;根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级;根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理。本发明能够在错包或丢包时在解码器端改善音频信号音质,减少了端到端的延迟,提升用户体验。
Description
技术领域
本发明涉及音频编码技术领域,特别涉及一种音频解码器的分级错误隐藏方法、装置及存储介质。
背景技术
蓝牙相关的应用属于短距离无线通信场景,其进行通讯时复杂的通信环境导致误码率较高。音频信号在进行编解码时,往往会因为信号传输造成丢包和错包状况。音频信号的丢包和错包会使解码出的音频信号的音质变差,出现噪音。这种噪音极大地影响客户的体验感。
在现有技术中,为提高音频音质通常需要多次数的重传来保证音频的正确性,但过多次数的重传不仅增加了解码器和编码器的负担还增加了端到端的延迟,影响了用户体验。
发明内容
针对现有技术存在的问题,本发明主要提供一种音频解码器的分级错误隐藏方法、装置及存储介质。
为了实现上述目的,本发明采用的一个技术方案是:提供一种音频解码器的分级错误隐藏方法,其包括:根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示;根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示;根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级;根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理。
本发明采用的另一个技术方案是:提供一种音频解码器的分级错误隐藏装置,其包括:用于根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示的模块;用于根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示的模块;用于根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级的模块;用于根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理的模块。
本发明采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被操作以执行方案一中的音频解码器的分级错误隐藏方法。
本发明的技术方案可以达到的有益效果是:本发明设计了一种音频解码器的分级错误隐藏方法、装置及存储介质。该方法能够在错包或丢包时在解码器端改善音频信号音质,减少了端到端的延迟,提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一种音频编解码器的分级错误隐藏方法的一个具体实施方式的示意图;
图2是本发明一种音频编解码器的分级错误隐藏方法的一个具体实施例的示意图;
图3是本发明一种音频编解码器的分级错误隐藏方法的另一个具体实施例的示意图;
图4是本发明一种音频编解码器的分级错误隐藏方法的另一个具体实施例的示意图;
图5是本发明一种音频编解码器的分级错误隐藏的装置的一个具体实施方式的示意图。
通过上述附图,已示出本发明的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本发明一种音频解码器的分级错误隐藏方法的一个具体实施方式。
在图1所示的音频解码器的分级错误隐藏方法主要包括,步骤S101,根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示;步骤S102,根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示;步骤S103,根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级;步骤S104,根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理。
在图1所示的音频解码器的分级错误隐藏方法的具体实施方式中,步骤S101表示根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示。
在本发明的一个具体实施例中,蓝牙接收端的调制解调器和协议栈在接收音频信号的过程中得到码流丢失标志并将码流丢失标志作为参数且以帧为单位传输给LC3解码器,作为LC3解码器的当前帧码流的外部错帧指示。外部错帧指示是基带、协议发给解码器的指示当前帧码流状态的标志。使用eBFI(external Bad Frame Indication)作为外部错帧指示。其中,eBFI=0时表示码流完全正确;eBFI=1时表示码流可能有错误;eBFI=2时表示码流丢失;eBFI=3时表示码流部分丢失。通过获取当前帧码流的外部错帧指示为编码器根据外部错帧指示进行错误等级分级奠定基础。
在图1所示的音频解码器的分级错误隐藏方法的具体实施方式中,步骤S102表示根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示。
在本发明的一个具体实施例中,内部错帧指示是解码器在解码当前帧码流过程中产生的指示当前帧码流解码状态的标志。LC3解码器将完成部分解码过程的当前帧码流的解码结果进行判断并根据判断结果得到当前帧码流的内部错误帧指示。使用iBFI(internal Bad Frame Indication)作为内部错帧指示,且当iBFI的值是0时表示解码过程中没有发现错误,当iBFI的值是1时表示解码过程中发现错误。其中,iBFI1能够判断音频信号是否成功进行辅助信息解码和熵解码;iBFI2能够判断音频信号是否成功进行算术解码;iBFI3能够判断音频信号是否成功进行残差解码。通过获取当前帧码流的内部错帧指示为解码器根据内部错帧指示将进行错误等级分级奠定基础。
在本发明的一个具体实施例中,步骤S102还包括,内部错误帧指示包括,第一内部错误指示,第二内部错误指示以及第三内部错误指示;其中,根据第一内部错误指示能够得到当前帧码流的关键信息丢失情况;根据第二内部错误指示能够得到当前帧码流的重要信息丢失情况;根据第三内部错误指示能够得到当前帧码流的残差解码错误情况。
在本发明的一个具体实例中,在LC3解码器解码过程中发现的当前帧码流的错误包括音频信号无法进行辅助信息解码和熵解码、音频信号无法进行算术解码和音频信号无法进行残差解码。其中,无法进行辅助信息解码与熵解码的当前帧音频信号的关键信息丢失,无法进行算术解码的当前帧音频信号的重要信息丢失,无法进行残差解码表示当前帧音频信号的残差信息丢失。而当前帧码流因为缺失如基音、全局增益、时域噪声整形参数和变换域噪声整形参数等关键信息才无法进行辅助信息解码与熵解码,当前帧码流因为缺失当前帧音频信号的谱系数等重要信息无法进行算术解码。通过内部错帧指示进一步了解当前帧码流在LC3解码器中进行解码时存在的错误情况,进一步保证了根据外部错帧指示以及内部错帧指示进行当前帧码流的错误等级分级。
在图1所示的音频解码器的分级错误隐藏方法的具体实施方式中,步骤S103表示根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级。
在本发明的一个具体实例中,根据当前帧码流中是否有错误以及错误的类型,对当前帧码流进行分类。LC3解码器根据从调制解调器和协议栈中得到的外部错帧指示和解码过程中发现的内部错帧指示,将当前帧码流进行分级。
在本发明的一个具体实施例中,步骤S102还包括,当外部错帧指示显示为码流丢失时或当外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失并且第一内部错误指示显示为错误时,将当前帧码流的错误等级判定为一级错误;当外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,以及第一内部错误指示显示为正确时,并且第二内部错误指示显示为错误时,将当前帧码流的错误等级判定为二级错误;当外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,第一内部错误指示显示为正确时,以及第二内部错误指示显示为正确,并且第三内部错误指示显示为错误时,将当前帧码流的错误等级判定为三级错误;当外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,第一内部错误指示显示为正确时,以及第二内部错误指示显示为正确,并且第三内部错误指示显示为正确时,将当前帧码流的错误等级判定为无错误。
该具体实施例,通过当前帧码流的外部错帧指示以及内部错帧指示将前帧码流进行细致合理的分级,进一步保证了利用当前帧码流的错误等级进行错误隐藏的可靠性。
在图1所示的具体实施方式中,音频解码器的分级错误隐藏方法步骤S104表示根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理。
在本发明的一个具体实施例中,步骤S104还包括,对被判定为一级错误、二级错误以及三级错误的当前帧码流进行错误隐藏处理,其中对被判定为一级错误以及二级错误的当前帧码流生成错误隐藏结果,对被判定为三级错误的当前帧码流,将当前帧码流的残差设为0,并完成标准的LC3解码;对被判定为无错误的当前帧码流进行标准LC3解码。
该具体实施例,利用当前帧码流的错误等级进行不同的处理,实现了对当前帧码流的错误隐藏,在发生错包或丢包的情形时在解码器端进行处理显著的改善了音质,同时减少了端到端的延迟,提升了用户体验。
在本发明的一个具体实例中,利用当前帧码流的上一帧码流对一级错误的当前帧码流进行音频信号的错误隐藏处理;利用当前帧码流的上一帧码流、或当前帧码流,对二级错误的当前帧码流进行音频信号的错误隐藏处理;将三级错误的当前帧码流的残差设为0并完成后续标准解码过程,将无错误的当前帧码流直接进行正常的音频编解码。
在本发明的一个具体实例中,如图2,利用当前帧码流的上一帧码流对一级错误的当前帧码流进行音频信号的隐藏处理的过程是,判断要进行解码的当前帧码流的外部错帧指示即判断当前帧码流是否发生码流丢失现象。在当前帧码流发生码流丢失时,将当前帧码流利用当前帧码流的上一帧码流中的信息进行错误隐藏得到错误隐藏结果,即将发生码流丢失的当前帧码流进行图2中的PLC模块1的处理。在当前帧码流未发生码流丢失时将当前帧码流进行辅助信息解码和熵解码,并在后续解码过程中判断当前帧码流是否成功进行辅助信息解码和熵解码。在当前帧码流未成功进行辅助信息解码和熵解码时,利用当前帧码流的上一帧码流中的有效信息进行音频信号的重建的处理得到当前帧的错误隐藏结果,即将未成功进行辅助信息解码和熵解码的当前帧码流进行图2中的PLC模块1的处理。
利用当前帧码流的上一帧码流或当前帧码流,对二级错误的当前帧码流进行音频信号的错误隐藏处理。在当前帧码流的既未发生码流丢失且辅助信息解码和熵解码无误时,对当前帧码流进行算术解码并在算术解码完成后判断当前帧码流是否成功进行算术解码。在当前帧码流未完成算术解码时,利用当前帧码流中的有效信息或当前帧码流的上一帧码流中的有效信息对当前帧码流进行音频信号的补偿,即将当前帧码流进行图2中的PLC模块2的处理。
将三级错误的当前帧码流的残差设为0并正常完成后续解码过程,将无错误的当前帧码流直接进行正常的音频编解码的过程。在当前帧码流的既未发生码流丢失且辅助信息解码和熵解码无误以及算术解码无误时,将当前帧码流进行残差解码并判断当前帧码流是否成功进行残差解码。将完成残差解码的当前帧码流继续进行正常的音频解码过程中的其余解码步骤得到正常的解码音频信号;将未完成残差解码的当前帧码流忽略其错误继续进行正常解码过程中的其余解码步骤得到近似正常的解码音频信号。
例如,如图2,在LC3解码器中当前帧码流的eBFI=2时,将当前帧码流进行图2中的PLC模块1的处理。在eBFI=0、eBFI=1和eBFI=3时,将当前帧码流进行辅助信息解码和熵解码并判断当前帧码流是否成功进行辅助信息解码和熵解码,即进行图2中“{iBFI1==1}?”的判断。
将iBFI1是1的当前帧码流进行PLC模块1的处理。将iBFI1是0的当前帧码流进行算术解码并判断当前帧码流是否成功进行算术解码,即进行图2中“{iBFI2==1}?”的判断。
将iBFI2是1当前帧码流进行PLC模块2的处理。将iBFI2是0的当前帧码流进行残差解码并判断当前帧码流是否成功进行残差解码,即进行图2中“{iBFI3==1}?”的判断。
将iBFI3是1当前帧码流的所有残差设为0之后进行其余的音频解码操作,输出近似正常的音频信号。因为,LC3的残差不是非常重要的信息,丢失残差对音质影响较小,偶尔丢失残差信号人耳不敏感。将iBFI3是0的当前帧码流进行其余的音频解码操作,输出正常的音频信号。
该具体实施例,在已有的解码技术基础上通过对不同错误等级的当前帧音频信号进行不同的处理,显著的改善了音质,同时使错误隐藏结果的音频信号与正常音频信号具有较高匹配度,提升了用户体验。
在本发明的一个具体实施例中,对被判定为一级错误、二级错误以及三级错误的当前帧码流进行错误隐藏处理,其中对被判定为一级错误以及二级错误的当前帧码流生成错误隐藏结果,对被判定为三级错误的当前帧码流,将当前帧码流的残差设为0;对被判定为无错误的当前帧码流进行标准LC3解码还包括,对于被判定为一级错误的当前帧码流,基于当前帧码流的上一帧码流的基音用基音波形重复重建得到当前帧的错误隐藏结果或者基于当前帧码流的上一帧码流的谱系数重建得到当前帧的错误隐藏结果。
在本发明的一个具体实施例中,对于被判定为一级错误的当前帧码流,基于当前帧码流的上一帧码流的基音用基音波形重复重建得到当前帧的错误隐藏结果或者基于当前帧码流的上一帧码流的谱系数重建得到当前帧的错误隐藏结果。
对于被判定为一级错误的当前帧码流,判断当前帧码流编码器端的长期后置滤波器的使能;在当前帧码流未检测出使能时,对当前帧码流的上一帧码流进行有效基音检测和判断;利用检测到有效基音的上一帧码流的基音波形,对当前帧码流进行错误隐藏或利用未检测到有效基音的上一帧码流的谱系数,对当前帧码流进行错误隐藏。
在本发明的一个具体实施例中,对于被判定为一级错误的当前帧码流,判断当前帧码流在编码器端的长期后置滤波器的使能;当当前帧码流检测出使能时,对当前帧码流的上一帧码流进行有效基音判断,利用检测到有效基音的上一帧码流的基音波形,对当前帧码流进行错误隐藏或利用未检测到有效基音的上一帧码流的谱系数,对当前帧码流进行错误隐藏。
在本发明的一个具体实施例中,对于被判定为二级错误的当前帧码流,基于当前帧的基音用基音波形重复生成当前帧的错误隐藏结果或者基于当前帧码流的上一帧码流的谱系数重建得到当前帧的错误隐藏结果。
该具体实施例,针对不同错误等级的当前帧码流进行不同的处理,使用噪声模型和正弦模型来重建丢失的数据,使当前帧码流对应的正常音频信号和错误隐藏结果的音频信号有较高的匹配度,且保证当前帧的错误隐藏结果具有较好的音质。
在本发明的一个具体实施例中,对于被判定为一级错误的当前帧码流,当当前帧码流的上一帧码流能够检测到有效基音时,基于当前帧码流的上一帧码流的基音用基音波形重复重建得到当前帧的错误隐藏结果;当当前帧码流的上一帧码流未检测到有效基音时,基于当前帧码流的上一帧码流的谱系数重建得到当前帧的错误隐藏结果。
在本发明的一个具体实例中,在当前帧码流的码流丢失或当前帧码流无法进行辅助信息解码与熵解码时,将当前帧码流进行如图2的PLC模块1的处理。其中,PLC模块1所对应的具体处理步骤如图3。
将PLC模块1所接收到的当前帧码流进行长期后置滤波器的使能判断,其中图3中LTPF_enabled是在解码器端设置的用来反映编码器端长期后置滤波器(LTPF)相关设置的量,当LTPF_enabled是0时编码器端的长期后置滤波器未使能,或者编码器端的LTPF虽然使能但尚未检测到有效的基音;当LTPF_enabled是1时,编码器的LTPF使能且已经检测到有效基音,且由于在编码过程中LTPF的设置一般不变,所以在解码时LTPF_enabled只需要设置一次。pitch_present用于表示在解码器端是否检测出有效的基音,当pitch_present值是1时其表示在码流中检测出有效的基音,当pitch_present值是0时其表示未在码流中检测出有效的基音。
将LTPF_enabled是0的当前帧码流,进行当前帧码流的上一帧码流进行基音检测并判断检测结果,在当前帧码流的上一帧码流有基音时,将当前帧码流进行基于当前帧码流的上一帧码流的基音重复重建当前帧。在当前帧码流的上一帧码流未检测出基音时,将当前帧码流进行基于长期后置滤波器的当前帧码流重建。
将LTPF_enabled是1的当前帧码流,判断当前帧码流的上一帧码流是否能检测出有效的基音,在当前帧码流的上一帧码流检测出基音时,将当前帧码流进行基于当前帧码流的上一帧码流的基音重复重建当前帧。在当前帧的上一帧码流未检测出基音时,进行基于长期后置滤波器的当前帧码流重建。
在本发明的一个具体实例中,在当前帧的上一帧码流中未检测出有效基音时,当前帧码流的上一帧码流的频谱类似噪声谱,因此使用基于上一帧的MDCT的噪声模型对当前帧信号进行重建对当前帧的整体音质降低不明显。基于上一帧的MDCT的噪声模型进行错误隐藏的方法其生成谱系数方法是:其中,/>表示当前帧的上一帧码流所对应的谱系数,/>表示基于当前帧的上一帧码流的谱系数随机生成的当前帧的谱系数,signrnd(k)表示1或-1的随机数。
该具体实施例,针对音频帧码流中码流丢失和无法进行辅助信息解码和熵解码的码流进行信息补偿,保证了补偿后信号与实际音频信号之间的匹配度。
在本发明的一个具体实施例中,在当前帧码流被判断为二级错误时,将判断为二级错误的当前帧码流进行编码器端的长期后置滤波器的使能的判断;当当前帧码流检测出使能时,对当前帧码流进行有效基音判断;利用检测到有效基音的当前码流的基音波形,对当前帧码流进行错误隐藏;利用未检测到有效基音的当前码流的上一帧码流的谱系数,对当前帧码流进行错误隐藏。将当前帧码流进行如图2的PLC模块2的处理即就是进行如图4的具体处理步骤。图4表示当当前帧码流被判断为二级错误时,当前帧码流的具体处理步骤。
例如,在图4中,将PLC模块2所接收到的当前帧码流进行长期后置滤波器的使能判断,将LTPF_enabled是0的当前帧码流,对当前帧码流的上一帧码流的基音进行检测并判断检测结果,当pitch_present值是1时其表示在码流中检测出有效的基音,当pitch_present值是0时表示未在码流中检测出有效的基音。在当前帧码流的上一帧码流检测出基音时,将当前帧码流进行基于上一帧的基音用基音波形重复重建当前帧。在当前帧码流的上一帧码流未检测出基音时,将当前帧码流利用当前帧码流的上一帧码流的谱系数,对当前帧码流进行错误补偿。
将LTPF_enabled是1的当前帧码流,判断当前帧码流是否能检测出有效的基音,在当前帧码流检测出基音时,将当前帧码流进行基于当前帧的基音用基音波形重复从当前帧码流的上一帧码流对应的时域音频信号中复制重建当前帧。在当前帧码流未检测出基音时,将当前帧码流利用当前帧的上一帧码流的谱系数,对当前帧码流进行重建。
该具体实施例,针对音频帧码流中无法进行算术解码的码流进行音频信号补偿,使音频信号的音质更好,提高客户体验感。
在本发明的一个具体实施例中,当连续多帧码流被判定为一级错误、二级错误或者三级错误的时候,对连续多帧码流的补偿帧信号从第二帧补偿帧信号开始进行信号衰减,直至补偿帧信号的信号衰减至0。
在本发明的一个具体实例中,在LC3解码器在进行解码时,当当前帧码流被判定为一级错误、二级错误或者三级错误且当前帧码流的下一帧码流也被判定为一级错误、二级错误或者三级错误时,则将当前帧码流在进行错误补偿后直接输出,而将当前帧码流的下一帧码流进行补偿后衰减输出。即当连续多帧码流出现错误时,从连续多帧码流的第二帧码流开始对补偿后的音频信号进行信号衰减后输出,直至输出的音频信号为0也就是直至输出为静音为止,且连续多帧码流的衰减程度与每一帧码流出现错误情况的次数有关。
该具体实施例,避免了当错帧较多时补偿帧码流与真实的信号差别较大影响用户体验的问题。
在本发明的一个具体实施例中,当连续多帧码流被判定为一级错误、二级错误或者三级错误的时候,对连续多帧码流的补偿帧信号从第二帧补偿帧信号开始进行信号衰减,直至所补偿帧信号衰减至0还包括,从第二帧补偿帧信号开始按照预定衰减比例对对连续多帧码流的补偿帧信号进行逐帧递减。
例如,音频帧帧长是10ms且出现连续错帧时,按照每帧递减的衰减因子是20%进行信号衰减。其中,第一个出现错误的音频帧的衰减因子为1,则第一个出现错误的音频帧不进行衰减,即就是在补偿完音频信号之后直接将补偿后的音频信号输出;第二帧出现错误的音频帧的衰减因子为0.8,则第二帧出现错误的音频帧在完成信号补偿后将其完成补偿的音频信号乘以衰减因子0.8之后输出;其余各帧的衰减情况与之前的方法同理。其中,第三个出现错误的音频帧的衰减因子为0.6,第四个出现错误的音频帧的衰减因子为0.4,第五个出现错误的音频帧的衰减因子为0.2,第六个出现错误的音频帧的衰减因子为0,即音频帧的帧长是10ms且出现连续错帧时,从第六个出现错误的音频帧开始输出为静音。
当前帧的帧长是7.5ms且出现连续错帧时,按照每帧递减的衰减因子是15%进行信号衰减,即从第一个出现错误的音频帧开始衰减因子依次为:1,0.85,0.7,0.55,0.4,0.25,0.1,0。即音频帧的帧长是7.5ms且出现连续错帧时,从第八个出现错误的音频帧开始输出静音。
在本发明的一个具体实例中,音频帧码流衰减的多少由语音信号的频谱特性所决定。语音信号是短时平稳信号,其在30ms~50ms之内频谱特性比较稳定。因此当语音信号出现连续多帧错误时在其频谱特性平稳的时间之内对其进行信号补偿,补偿之后的音频信号与真实的音频信号之间差别较小,而超过该时间段会出现失真现象反而影响用户体验。当连续多帧音频帧出现错误时,衰减的目标是在30ms~50ms左右将音频信号衰减到0。
该具体实施例,针对连续多帧音频帧出现错误的情况作出处理,解决了当出现连续多帧音频帧错误和对连续多帧音频帧错误进行补偿会造成的信号失真现象,提供给用户更好的体验感。
图5示出了本发明一种音频解码器的分级错误隐藏的装置的具体实施方式。
在该具体实施方式中,音频解码器的分级错误隐藏的装置主要包括:模块501,用于根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示的模块;模块502,用于根据LC3音频解码器的解码过程中产生的错误标志得到当前帧码流的内部错误帧指示的模块;模块503,用于根据外部错帧指示以及内部错帧指示得到当前帧码流的错误等级的模块;模块504,用于根据当前帧码流的错误等级在LC3解码器端对当前帧码流进行相应处理的模块。
在本发明的一个具体实施例中,本发明一种音频解码器的分级错误隐藏的装置中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、CD-ROM或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
本发明提供的音频解码器的分级错误隐藏的装置,可用于执行上述任一实施例描述的音频解码器的分级错误隐藏方法,其实现原理和技术效果类似,在此不再赘述。
在本发明的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行方案一中的音频解码器的分级错误隐藏方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种音频解码器的分级错误隐藏方法,其特征在于,包括:
根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示,所述外部错帧指示包括码流丢失、码流完全正确、码流可能有错误和码流部分丢失;
根据所述LC3音频解码器的解码过程中产生的错误标志得到所述当前帧码流的内部错误帧指示,所述内部错误帧指示包括辅助信息解码与熵解码情况、算术解码情况和残差解码情况;
根据所述外部错帧指示以及所述内部错误帧指示得到当前帧码流的错误等级,所述错误等级包括一级错误、二级错误和三级错误;
根据所述当前帧码流的错误等级在所述LC3音频解码器端对所述当前帧码流进行相应处理,
所述根据所述当前帧码流的错误等级在所述LC3音频解码器端对所述当前帧码流进行相应处理的过程包括,对被判定为所述一级错误、所述二级错误以及所述三级错误的所述当前帧码流进行错误隐藏处理,其中对被判定为所述一级错误以及所述二级错误的所述当前帧码流生成错误隐藏结果,对被判定为所述三级错误的所述当前帧码流,将所述当前帧码流的残差设为0后完成标准LC3解码过程,并生成错误隐藏结果;对被判定为无错误的所述当前帧码流进行标准LC3解码。
2.如权利要求1所述的音频解码器的分级错误隐藏方法,其特征在于,所述内部错误帧指示包括,第一内部错误指示,第二内部错误指示以及第三内部错误指示;
其中,根据所述第一内部错误指示得到所述当前帧码流的关键信息丢失情况,所述关键信息丢失情况是当前帧音频信号在进行辅助信息解码与熵解码时的的信息丢失情况;
根据所述第二内部错误指示得到所述当前帧码流的重要信息丢失情况,所述重要信息丢失情况是当前帧音频信号在进行算术解码时的信息丢失情况;
根据所述第三内部错误指示得到所述当前帧码流的残差解码错误情况。
3.如权利要求2所述的音频解码器的分级错误隐藏方法,其特征在于,
当外部错帧指示显示为码流丢失时或当所述外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失并且所述第一内部错误指示显示为错误时,将所述当前帧码流的错误等级判定为一级错误;
当所述外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,以及所述第一内部错误指示显示为正确时,并且所述第二内部错误指示显示为错误时,将所述当前帧码流的错误等级判定为二级错误;
当所述外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,所述第一内部错误指示显示为正确时,以及所述第二内部错误指示显示为正确,并且所述第三内部错误指示显示为错误时,将所述当前帧码流的错误等级判定为三级错误;
当所述外部错帧指示显示为码流完全正确、码流可能有错误或者码流部分丢失,所述第一内部错误指示显示为正确时,以及所述第二内部错误指示显示为正确,并且所述第三内部错误指示显示为正确时,将所述当前帧码流的错误等级判定为无错误。
4.如权利要求1所述的音频解码器的分级错误隐藏方法,其特征在于,所述对被判定为所述一级错误以及所述二级错误的所述当前帧码流生成错误隐藏结果的过程包括,
对于被判定为所述一级错误的所述当前帧码流,基于所述当前帧码流的上一帧码流的基音用基音波形重复重建得到当前帧的所述错误隐藏结果或者基于所述当前帧码流的所述上一帧码流的谱系数重建得到所述当前帧的所述错误隐藏结果;
对于被判定为所述二级错误的所述当前帧码流,基于所述当前帧的所述基音用基音波形重复生成当前帧的所述错误隐藏结果或者基于所述当前帧码流的所述上一帧码流的谱系数重建得到所述当前帧的所述错误隐藏结果。
5.如权利要求4所述的音频解码器的分级错误隐藏方法,其特征在于,
对于被判定为所述一级错误的所述当前帧码流,当所述当前帧码流的上一帧码流能够检测到有效所述基音时,基于所述当前帧码流的上一帧码流的所述基音用基音波形重复重建得到所述当前帧的所述错误隐藏结果;当所述当前帧码流的上一帧码流未检测到有效所述基音时,基于所述当前帧码流的所述上一帧码流的谱系数重建得到所述当前帧的所述错误隐藏结果。
6.如权利要求1所述的音频解码器的分级错误隐藏方法,其特征在于,
当连续多帧码流被判定为所述一级错误、所述二级错误或者所述三级错误的时候,对所述连续多帧码流的所述错误隐藏结果从第二帧补偿帧信号开始进行信号衰减,直至所述补偿帧信号衰减至0。
7.如权利要求4所述的音频解码器的分级错误隐藏方法,其特征在于,对连续多帧码流的所述错误隐藏结果从第二帧补偿帧信号开始进行信号衰减的过程包括,
从第二帧所述错误隐藏结果开始按照预定衰减比例对连续多帧码流的所述错误隐藏结果进行逐帧递减。
8.一种音频解码器的分级错误隐藏的装置,其特征在于,包括:
用于根据LC3音频解码器接收到的LC3音频码流的基带或协议的码流丢失标志得到当前帧码流的外部错帧指示的模块,所述外部错帧指示包括码流丢失、码流完全正确、码流可能有错误和码流部分丢失;
用于根据所述LC3音频解码器的解码过程中产生的错误标志得到所述当前帧码流的内部错误帧指示的模块,所述内部错误帧指示包括辅助信息解码与熵解码情况、算术解码情况和残差解码情况;
用于根据所述外部错帧指示以及所述内部错误帧指示得到当前帧码流的错误等级的模块,所述错误等级包括一级错误、二级错误和三级错误;
用于根据所述当前帧码流的错误等级在所述LC3音频解码器端对所述当前帧码流进行相应处理的模块,
所述用于根据所述当前帧码流的错误等级在所述LC3音频解码器端对所述当前帧码流进行相应处理的模块包括,用于对被判定为所述一级错误、所述二级错误以及所述三级错误的所述当前帧码流进行错误隐藏处理,对被判定为无错误的所述当前帧码流进行标准LC3解码的模块,
其中对被判定为所述一级错误以及所述二级错误的所述当前帧码流生成错误隐藏结果,对被判定为所述三级错误的所述当前帧码流,将所述当前帧码流的残差设为0后完成标准LC3解码过程,并生成错误隐藏结果。
9.一种计算机可读存储介质,其存储有计算机指令,其特征在于,所述计算机指令被操作以执行权利要求1-7中任一项所述的音频解码器的分级错误隐藏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240976.6A CN113035208B (zh) | 2021-03-04 | 2021-03-04 | 一种音频解码器的分级错误隐藏方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240976.6A CN113035208B (zh) | 2021-03-04 | 2021-03-04 | 一种音频解码器的分级错误隐藏方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113035208A CN113035208A (zh) | 2021-06-25 |
CN113035208B true CN113035208B (zh) | 2023-03-28 |
Family
ID=76467750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240976.6A Active CN113035208B (zh) | 2021-03-04 | 2021-03-04 | 一种音频解码器的分级错误隐藏方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113035208B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155140A (zh) * | 2006-10-01 | 2008-04-02 | 华为技术有限公司 | 音频流错误隐藏的方法、装置和系统 |
CN100524462C (zh) * | 2007-09-15 | 2009-08-05 | 华为技术有限公司 | 对高带信号进行帧错误隐藏的方法及装置 |
CN101261833B (zh) * | 2008-01-24 | 2011-04-27 | 清华大学 | 一种使用正弦模型进行音频错误隐藏处理的方法 |
CN104885149B (zh) * | 2012-09-24 | 2017-11-17 | 三星电子株式会社 | 用于隐藏帧错误的方法和设备以及用于对音频进行解码的方法和设备 |
TWI602172B (zh) * | 2014-08-27 | 2017-10-11 | 弗勞恩霍夫爾協會 | 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法 |
RU2714365C1 (ru) * | 2016-03-07 | 2020-02-14 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Способ гибридного маскирования: комбинированное маскирование потери пакетов в частотной и временной области в аудиокодеках |
MX2018010756A (es) * | 2016-03-07 | 2019-01-14 | Fraunhofer Ges Forschung | Unidad de ocultamiento de error, decodificador de audio, y método relacionado y programa de computadora que usa características de una representación decodificada de una trama de audio decodificada apropiadamente. |
WO2020165260A1 (en) * | 2019-02-13 | 2020-08-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-mode channel coding with mode specific coloration sequences |
-
2021
- 2021-03-04 CN CN202110240976.6A patent/CN113035208B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113035208A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9881621B2 (en) | Position-dependent hybrid domain packet loss concealment | |
US10360927B2 (en) | Method and apparatus for frame loss concealment in transform domain | |
TWI484479B (zh) | 用於低延遲聯合語音及音訊編碼中之錯誤隱藏之裝置和方法 | |
US8473301B2 (en) | Method and apparatus for audio decoding | |
CN108899038B (zh) | 用于对音频帧丢失隐藏进行控制的方法和设备 | |
RU2432625C2 (ru) | Синтез потерянных блоков цифрового аудиосигнала с коррекцией питч-периода | |
TWI745862B (zh) | 音訊發送器處理器、音訊接收器處理器及相關方法與電腦程式 | |
US8385366B2 (en) | Apparatus and method for transmitting a sequence of data packets and decoder and apparatus for decoding a sequence of data packets | |
JP2007065679A (ja) | 音声復号器におけるフレームエラー隠蔽に対する改善されたスペクトルパラメータ代替 | |
CN113724725B (zh) | 一种蓝牙音频啸叫检测抑制方法、装置、介质及蓝牙设备 | |
EP1527441A2 (en) | Audio coding | |
US20190272832A1 (en) | Audio frame loss concealment | |
RU2741518C1 (ru) | Кодирование и декодирование аудиосигналов | |
CN105453172A (zh) | 应用加权噪音的帧丢失的校正 | |
CN111681663B (zh) | 一种降低音频编码运算量的方法、系统、存储介质及设备 | |
TWI281657B (en) | Method and system for speech coding | |
US20210350811A1 (en) | Burst frame error handling | |
CN114550732A (zh) | 一种高频音频信号的编解码方法和相关装置 | |
CN113035208B (zh) | 一种音频解码器的分级错误隐藏方法、装置及存储介质 | |
JP6584431B2 (ja) | 音声情報を用いる改善されたフレーム消失補正 | |
De Martin et al. | Improved frame erasure concealment for CELP-based coders | |
US20060150049A1 (en) | Method for adjusting speech volume in a telecommunications device | |
KR20080075050A (ko) | 오류 프레임의 파라미터 갱신 방법 및 장치 | |
CN112992160B (zh) | 一种音频错误隐藏方法及装置 | |
CN111566733B (zh) | 选择音高滞后 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: A1009, floor 9, block a, No. 9, Shangdi Third Street, Haidian District, Beijing 100085 Patentee after: Beijing Bairui Internet Technology Co.,Ltd. Address before: 7-1-1, building C, 7 / F, building 2-1, No.2, Shangdi Information Road, Haidian District, Beijing 100085 Patentee before: BARROT WIRELESS Co.,Ltd. |
|
CP03 | Change of name, title or address |