CN101207468B - 丢帧隐藏方法、系统和装置 - Google Patents
丢帧隐藏方法、系统和装置 Download PDFInfo
- Publication number
- CN101207468B CN101207468B CN 200610161747 CN200610161747A CN101207468B CN 101207468 B CN101207468 B CN 101207468B CN 200610161747 CN200610161747 CN 200610161747 CN 200610161747 A CN200610161747 A CN 200610161747A CN 101207468 B CN101207468 B CN 101207468B
- Authority
- CN
- China
- Prior art keywords
- frame
- mlt
- time domain
- current
- information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- 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
Abstract
本发明实施例公开了一种丢帧隐藏方法,该方法包括:在解码端存储历史时域波形,编码端将获得的相关帧信息以及当前MLT帧发送给解码端;所述解码端对接收的所述当前MLT帧进行错/丢帧检测,生成错/丢帧信息;根据所述错/丢帧信息,所述相关帧信息和所述历史时域波形恢复出错/丢帧。另外,本发明还公开了丢帧隐藏系统、编码装置和解码装置。使用本发明提高了针对基于MLT编解码方案的丢帧隐藏能力,能够较好的恢复错/丢帧。
Description
技术领域
本发明涉及音频数据传输技术,具体涉及针对基于MLT的音频编解码方案的丢帧隐藏方法、系统、编码装置和解码装置。
背景技术
当通过分组网络传输实时音频数据时,编码后的音频帧被打包并通过分组网络逐帧传送至解码端。如果出现丢帧或错帧情况,将引起解码端音频播放质量的明显下降,给听者造成明显的不适感。因此,丢帧隐藏技术应运而生。丢帧隐藏技术是将丢帧/错帧隐藏甚至恢复出来的技术,它能够缓解因丢帧或错帧给听者造成的不适感。
重叠调制变换(MLT,Modulated Lapped Transform)是一种编码方法,避免了变换区间边界的不连续性,对量化误差的敏感程度低,因此越来越多的应用在音频、视频的编码方案中。MLT是一个线性的变换过程,每一个MLT变换的输入是时域上两个相邻帧的2N个采样点,输出为N个MLT系数。MLT变换的过程可描述如下:
步骤1,对时域波形信号进行重叠相加运算,并以窗口函数为加权系数。
v(n)=w[(N/2-1)-n]x[(N/2-1)-n]+w(N/2+n)x(N/2+n) 0≤n≤N/2
v(n+N/2)=w[(N-1)-n]x(N+n)-w(n)x[(2N-1)-n] 0≤n≤N/2
其中,w(n)=sin(π(n+0.5)/2N)是窗口函数,0≤n<N。x(n)是输入的音频信号。v(n)为某个时域帧经重叠相加运算后得到的重叠相加时域帧的前半帧,v(n+N/2)为同一时域帧经重叠相加运算后得到的重叠相加时域帧的后半帧。
步骤2:对v(n)再进行IV型离散余弦变换(DCT,Discrete CosineTransform),得到最终的MLT帧。IV型DCT变换公式如下:
其中,m为MLT帧中各数据的序数,n为参加DCT变换的重叠相加时域帧中各数据的序数。
图1为现有技术MLT重叠相加运算机制的原理示意图,即上述步骤1的计算。如图1所示,1,2,3,4,5,6代表输入时域音频信号。其中1和2,3和4,5和6分别代表的是连续三帧中的第1帧、第2帧和第3帧,每帧的帧长都为N。每帧又进一步分为长度相等的两个子帧,子帧长为N/2。a,b,c,d,e,f分别代表时域音频信号经上述步骤1重叠相加之后得到的重叠相加时域帧。其中,a,c,e分别为各重叠相加时域帧的前半帧,b,d,f分别为各重叠相加时域帧的后半帧。
以图1所示第2帧为例,结合以上公式可以看出,c是3和4分别通过窗口函数w(n)的加权后再重叠相加计算得到的,d是5和6分别通过窗口函数w(n)的加权后再重叠相加计算得到的,如图中箭头所示。对c,d再进行步骤2的IV型DCT变换,得到最终的MLT系数,即完成了基于MLT的音频编码。以此类推,对其它帧的处理与对第2帧的处理相同。可见,在MLT变换中,为得到一帧的MLT帧,需要对时域上连续两帧的时域信号3,4,5,6进行计算。
发送端将上述基于MLT音频编码的MLT帧经分组通信网络传送给接收端,接收端采用逆向MLT变换将接收到的MLT帧还原成时域帧,便得到了发送端当前传送的一帧实际音频数据。
逆向重叠调制变换(IMLT,Inverse Modulated Lapped Transform)是MLT变换的逆过程。IMLT变换的具体步骤如下:
步骤1’:将当前MLT帧进行逆向离散余弦变换(IDCT,Inverse DiscreteCosine Transform),IDCT公式为:
u(n)为经IDCT得到的重叠相加时域帧。
步骤2’:用当前MLT帧IDCT变换结果的前一半与前一MLT帧IDCT变换结果的后一半进行重叠相加运算,并以窗口函数为加权系数。公式如下:
y(n)=w(n)u[(N/2-1)-n]+w[(N-1)-n]u_old(n) 0≤n≤N/2
y(n+N/2)=w(N/2+n)u(n)-w[(N/2-1)-n]u_old[(N/2-1)-n] 0≤n≤N/2
其中,w(n)是与MLT变换相同的窗口函数,y(n)是输出的时域信号。u(n)为当前帧IDCT变换后的重叠相加时域帧,u_old(n)为前一帧IDCT变换后的重叠相加时域帧。
图2为现有技术IMLT的原理示意图。如图2所示,a,b,c,d,e,f为经IDCT变换得到的重叠相加时域帧,对应步骤2’中的u(n)。1,2,3,4,5,6为输出的时域帧,对应步骤2’中的y(n)。当已知a,b,c,d,e,f欲求1,2,3,4,5,6时,3是由b,c分别通过窗口函数的加权后再重叠相加计算得到,如图2中实线箭头所示。同时,4也是由b,c分别通过窗口函数的加权后再重叠相加计算得到,如图2中虚线箭头所示。以此类推,在IMLT变换中,为得到一帧的时域信号,如3,4,需要用当前帧经IDCT变换的前半部分和前一帧经IDCT变换的后半部分进行计算得到的,如c,b。
国际电信联盟远程通信标准化组(ITU-T)的G.722.1音频编码标准定义了基于MLT的音频编码方案的丢帧隐藏策略。该标准定义的丢帧隐藏策略十分简单,可描述如下:
1、对于单帧的丢失,重复前一帧的MLT帧即可。
2、对于出现连续丢帧的情况,全部丢帧的MLT帧均被置0。
由于采用了直接重复前一帧的MLT帧的隐藏策略,采用该丢帧隐藏策略恢复出的丢帧有很大部分是对前一帧的重复。图3为MLT音频编码方案中,现有技术对丢失单帧的丢帧隐藏效果图。图3中,上方的波形是原始音频信号的波形,下方是经丢帧隐藏后的波形。丢失的帧段位于波形中央能量较低处。可以看出,恢复出的丢失帧的波形与该帧前一帧的波形十分相似,而与实际波形相去甚远。
图4为MLT音频编码方案中,现有技术对连续丢帧的丢帧隐藏效果图。图4(a)说明出现2个连续丢帧时,由G.722.1隐藏策略得到的恢复信号及其原始音频信号波形;图4(b)说明出现3个连续丢帧时,由G.722.1隐藏策略得到的恢复信号及其原始音频信号波形;其中原始音频信号波形在各图的上方,下方为丢帧隐藏后的恢复波形。可以看出,将丢帧的MLT帧置0,使得恢复的信号出现0信号点或0信号段。
因此,G.722.1提供的丢帧隐藏策略的一个缺点是,在处理单帧丢失时,只在较稳定的信号段中有较好的隐藏效果,在变化较大的信号段,如信号的过渡段,其隐藏效果较差。该丢帧隐藏策略的另一个缺点是,在处理连续丢帧情况时,将全部丢帧的MLT系数置0,则恢复信号出现0信号,导致在播放该恢复音频时会感到明显中断,给听着造成不适感。
从整个编解码系统的高度看,G.722.1所提供的丢帧隐藏策略属于基于解码端的隐藏技术。基于解码端的隐藏技术是一种被动隐藏,所有用于恢复丢帧的信息均是由解码端自己得到的。相应的,基于编码端的隐藏技术是一种主动隐藏,一些包含有帧内重要信息的比特在编码端生成并传送给解码端,解码端依据这些辅助信息能够较基于解码端的隐藏技术更好的将丢帧恢复出来,代价则是一定程度上增加了带宽。
音频编码标准如G.729.1中涉及了主动丢帧隐藏技术,即由G.729.1的编码端产生并传送用于辅助解码端进行丢帧恢复的辅助信息,该辅助信息包括帧类型信息,帧能量信息和帧相位信息。其中,帧类型信息是由2比特表示的5种音频帧的类型,分别为:非发声类,非发声过渡类,发声过渡类,发声类和起始类。在G.729.1的解码端,根据丢失帧的不同类型,隐藏算法采用相应的隐藏策略进行隐藏。
G.729.1提供的丢帧隐藏技术,对长度较长的帧有较好的恢复能力,却完全没有对短音符帧的恢复能力。5种分类中没有一种可以标识出短音符帧的存在。在实际传输过程中,音频信号中的短音符帧可能就此丢失,因而对接收到的音频质量有较大影响。另外,G.729.1的丢帧隐藏算法并非基于MLT的音频编码方案专门设计的,因而没有充分利用MLT变换本身的特征,在算法效率和隐藏质量上并非最优。
可见,现有的多种丢帧隐藏技术,没有能够在基于MLT的音频编码方案中实现较好的丢帧隐藏,较为准确的恢复出丢失帧的时域波形。
发明内容
有鉴于此,本发明实施例的第一个目的在于提供一种丢帧隐藏方法,能够提高恢复错/丢帧的准确性。
本发明实施例的第二个目的在于提供一种丢帧隐藏编码装置,能够提高恢复错/丢帧的准确性。
本发明实施例的第三个目的在于提供一种丢帧隐藏解码装置,能够提高恢复错/丢帧的准确性。
本发明实施例的第四个目的在于提供一种丢帧隐藏系统,能够提高恢复错/丢帧的准确性。
为达到上述发明目的的第一个方面,本发明提供了一种丢帧隐藏方法,在解码端存储历史时域波形;该方法包括:
编码端将获得的相关帧信息以及当前MLT帧发送给解码端;
所述解码端对接收的所述当前MLT帧进行错/丢帧检测,生成错/丢帧信息;根据所述错/丢帧信息,所述相关帧信息和所述历史时域波形恢复出错/丢帧。
为达到上述发明目的的第二个方面,本发明提供了一种丢帧隐藏编码装置,该编码装置包括MLT编码单元、历史缓冲单元和相关帧信息生成单元;
所述MLT编码单元,用于根据该编码装置获取的后续帧和从所述历史缓冲单元获取的当前帧进行MLT变换,生成MLT帧,并发送出去;
所述历史缓冲单元,用于缓冲所述当前帧和所述前置帧;
所述相关帧信息生成单元,用于根据该编码装置获取的后续帧,以及从所述历史单元缓冲获取的所述当前帧和所述前置帧,生成相关帧信息,并发送出去。
为达到上述发明目的的第三个方面,本发明提供了一种丢帧隐藏解码装置,该解码装置包括帧错检测器、丢帧隐藏单元和解码波形历史缓冲;
所述解码波形历史缓冲,用于存储历史时域波形;
所述帧错检测器,用于对当前MLT帧进行错/丢帧检测,生成错/丢帧信息;并将所述错/丢帧信息发送给所述丢帧隐藏单元;
所述丢帧隐藏单元,用于根据接收自所述帧错检测器的所述错/丢帧信息、接收自编码装置的相关帧信息和所述解码波形历史缓冲中的历史时域波形恢复出错/丢帧。
为达到上述发明目的的第四个方面,本发明提供了一种丢帧隐藏系统,该系统包括编码装置和解码装置:
所述编码装置,用于将获得的相关帧信息以及当前MLT帧发送给解码装置;
所述解码装置,用于对接收的所述当前MLT帧进行错/丢帧检测,生成错/丢帧信息;根据所述错/丢帧信息,所述相关帧信息和历史时域波形恢复出错/丢帧。
与现有技术相比,本发明所提供的丢帧隐藏方法、系统、编码装置和解码装置,提供了一种主动丢帧隐藏技术,在编码端产生相关帧信息并随经MLT编码的MLT帧发送至解码端。解码端如果接收到的是错/丢帧,则可以根据相关帧信息比较好的恢复出错/丢帧的原始波形。
附图说明
图1为现有技术MLT重叠相加运算机制的原理示意图。
图2为现有技术IMLT重叠相加运算的原理示意图。
图3为MLT音频编码方案中,现有技术对丢失单帧的丢帧隐藏效果图。
图4为MLT音频编码方案中,现有技术对连续丢帧的丢帧隐藏效果图。
图5为本发明实施例丢帧隐藏方法的方法流程图。
图6为本发明实施例丢帧隐藏方法第一较佳实施例的方法流程图。
图7为本发明实施例解码端选择隐藏策略的方法流程图。
图8为本发明实施例隐藏策略原理示意图。
图9为本发明实施例连续丢帧/错帧的隐藏策略选择方法流程图。
图10为本发明实施例丢帧隐藏系统组成框图。
图11为本发明实施例丢帧隐藏编码装置第一较佳实施例的组成框图。
图12为本发明实施例丢帧隐藏解码装置第一较佳实施例的组成框图。
图13为本发明实施例丢帧隐藏方法第二较佳实施例的方法流程图。
图14为本发明实施例丢帧隐藏编码装置第二较佳实施例的组成框图。
图15为本发明实施例丢帧隐藏方法第三较佳实施例的方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图,对本发明实施例进一步详细说明。
本发明实施例的核心思想是,提供一种主动丢帧隐藏技术,编码端将获得的相关帧信息以及当前MLT帧发送给解码端。解码端对接收的当前MLT帧进行错/丢帧检测,生成错/丢帧信息;在进行丢帧隐藏处理时,解码端根据错/丢帧信息,相关帧信息和历史时域波形恢复出错/丢帧,从而完成了丢帧隐藏。
本发明实施例是针对基于MLT的编解码方案的丢帧隐藏方案。
基于以上本发明实施例的核心思想,图5示出了本发明实施例丢帧隐藏方法的方法流程图,该方法的具体步骤如下:
步骤501,编码端将获得的相关帧信息以及当前MLT帧发送给解码端。
步骤502,解码端对当前MLT帧进行错/丢帧检测,生成错/丢帧信息。
步骤503,在进行丢帧隐藏处理时,解码端根据错/丢帧信息,结合相关帧信息和历史时域波形恢复出错/丢帧。
MLT帧及其相关帧信息可以分包发送,以免出现丢帧时,用于进行丢帧恢复的相关帧信息也随之丢失;或者,相关帧信息可以被嵌在与当前帧紧邻的前置帧或者后续帧中传送,在当前帧丢失,相关帧信息不丢失;也可以在一个可分层的编码体系中在增强层中传输相关帧信息。
在实际应用中,可以将解码端根据错/丢帧信息,结合相关帧信息和历史时域波形恢复错/丢帧的具体方法作为隐藏策略以表格或者逻辑推断的方式预先存储于解码端,不同的错/丢帧情况和相关帧信息对应不同的隐藏策略。在进行丢帧隐藏处理时,解码端首先根据错/丢帧信息,结合相关帧信息选择出对应的隐藏策略,再根据该隐藏策略和历史时域波形恢复出错/丢帧。
图6为本发明实施例丢帧隐藏方法第一较佳实施例的方法流程图。该方法采用分包的形式,将MLT帧及其相关帧信息分别打包发送给解码端。该方法的具体步骤为:
步骤601,编码端根据接收的后续帧和存储的当前帧进行MLT变换,生成MLT帧。
本步骤中,从前述实现MLT变换的步骤1中可以看出,由于MLT变换的需求,对一帧音频数据进行编码时,需要将当前处理帧与一后续帧进行重叠相加。因此,当前处理帧被保存在编码端的历史缓冲中,当前处理帧简称为当前帧。后续帧实际上才是当前时刻接收的帧,将其称为后续帧。当前帧与后续帧一起进行MLT变换,生成当前帧的MLT编码数据,即当前MLT帧。MLT变换与现有技术的MLT变换相同。
步骤602,编码端生成当前MLT帧的相关帧信息。
本步骤中,编码端根据当前帧进行帧内相关性检测,生成帧内相关性信息;并根据当前帧和前置帧进行帧间相关性检测,生成帧间相关性信息。前置帧是当前帧的前一帧音频数据时域波形。该前置帧也保存在编码端的历史缓冲中。因此历史缓冲中保存了两帧的时域波形。
可见,本实施例中,相关帧信息包括帧内相关性信息和帧间相关性信息。其中,帧内相关性是指帧内信号的稳定性,基音越稳定,基音周期性越强,相关性就越强。帧间相关性包含了两部分内容,一为本帧前半帧与其前置帧或前置帧末尾之间的相关性,另一部分为本帧前半帧内的帧内相关性。当本帧前半帧的基音与前置帧或至少前置帧的末尾处的基音很相似,且本帧前半帧的帧内相关性也为强时,才能认为帧间相关性为强。在判断时,先判断本帧前半帧的帧内相关性,当本帧前半帧的帧内相关性为强,才需要判断本帧前半帧与其前置帧的帧间相关性。如果本帧前半帧与其前置帧的帧间相关性为强,则本帧的帧间相关性为强,否则为弱。如果本帧前半帧的帧内相关性已经为弱,则不用进行后续的判断,直接认为本帧的帧间相关性为弱。帧内相关性及帧间相关性强弱的判断可以依靠判决门限来完成,当相关性高于门限值就判定为相关性强,否则为弱。作为相关帧信息的帧内相关性是指本帧的帧内相关性。
帧内相关性和帧间相关性的生成方法,最直接的一种方法是依靠自相关,互相关函数来判断帧内,帧间相关性。这里的帧内相关性计算适用于本帧的帧内相关性计算和本帧前半帧的帧内相关性计算。在计算本帧的帧内相关性时,对本帧求其自相关。自相关函数定义为:
在这里,x(n)就是本帧的时域信号,N是信号的长度,k是时移。
帧间相关性可利用互相关函数求得。首先利用上述公式求得本帧前半帧的帧内相关性,其中x(n)为本帧前半帧的时域信号。如果为强,则在将本帧前半帧的部分信号与前置帧末尾处的相同长度的信号进行互相关计算,得到帧间相关性。归一化互相关函数的定义为:
在这里,x(n),y(n)分别代表本帧前半帧的部分信号与前置帧末尾处的相同长度的信号。当自/互相关的计算结果高于一个事先定义的门限时就认为相关性是强的,反之则弱。
帧间相关性也可以这样计算:计算本帧前半帧开头和本帧前半帧末尾处的基音,如果一致则认为前半帧帧内相关性强,否则为弱。当前半帧帧内相关性为强时,再与前置帧末尾处的基音相比较,如果一致就认为本帧的帧间相关性强,反之则弱。
本步骤生成的相关帧信息,可以采用帧内相关性标识和帧间相关性标识表示,各标志由1比特二进制数表示。则相关帧信息由帧内和帧间相关性标识的2比特组成,这2比特代表了4种不同的组合,这4种组合如表1所示:
帧内相关性 | 帧间相关性 | 码字 | |
1 | 强 | 强 | 11 |
2 | 强 | 弱 | 10 |
帧内相关性 | 帧间相关性 | 码字 | |
3 | 弱 | 弱 | 00 |
4 | 弱 | 强 | 01 |
表1
步骤603,编码端将MLT帧及其相关帧信息发送给解码端。
本步骤中,发给解码端的信息为一MLT帧以及该帧相应的帧内相关性信息和帧间相关性信息。发送时,MLT帧和相关帧信息分包发送。
步骤604,解码端对接收的MLT帧进行错/丢帧检测,生成错/丢帧信息,判断当前MLT帧或前置MLT帧是否为错帧或丢帧。如果当前MLT帧为错/丢帧,或前置MLT帧为错/丢帧,或当前MLT帧和前置MLT帧均为错丢帧,则执行步骤605;否则,执行步骤610和611,对当前MLT帧进行正常解码;将当前MLT帧经IDCT变换后得到的重叠相加时域帧(如图2中的a,b,c…)和经IMLT变换后得到的最终时域帧(如图2中的1,2,3…)保存。
本步骤中,错/丢帧检测的目的是检查当前MLT帧是否出现丢帧、错帧的情况,该检测结果用于确定后续对当前MLT帧的操作。该检测结果还要被保存到下一MLT帧到来,作为前置MLT帧是否为错/丢帧的判断依据。
在实时传输中,丢帧检测功能是由实时传输协议(RTP)完成的。语音/音频帧被打包传送,每个RTP包的包头中都包含有一个序列号,连续发送出去的包的序列号是连续的。当解码端收到一个包时会检查包头内的序列号是否与前一个包的序列号连续,如果中间有间隔则说明有包丢失了,此时判定该帧为丢帧。
错帧检测是检测帧内是否出现错误,该功能可以采用前向纠错(FEC,Forward Error Correction)技术实现。FEC可以应用在传输协议中,也可以集成在编码算法中。在编码端向解码端传送的MLT帧及其相关帧信息后添加一些纠错比特,纠错比特是经过特殊设计的,在当前传输的帧中出现错误时会在纠错比特中反映出来。通过检查纠错比特可以判定当前MLT帧是否为错帧。
步骤605,解码端根据错/丢帧信息,结合相关帧信息,选择隐藏策略。
本步骤中,错/丢帧检测结果可以采用错/丢帧错误标识表示。该错/丢帧错误标识包括当前帧错误标识和前置帧错误标识。当前帧错误标识和前置帧错误标识都可以用1或0表示,因此错/丢帧错误标识有几种组合:01,即前置MLT帧为正常帧当前MLT帧为错/丢帧;10,即前置MLT帧为错/丢帧当前MLT帧为正常帧;11,即前置MLT帧和当前MLT帧都为错/丢帧。
解码端每进行一次隐藏策略选择,便生成和更新一次前帧可靠性标识。以便在连续丢帧的情况下,确定隐藏策略。该前帧可靠性标识表示根据本次选择的隐藏策略所恢复的错/丢帧是否可靠。也可以在每次恢复错/丢帧后确定前帧可靠性标识。
在错/丢帧错误标识为11时,根据前帧可靠性标识,结合当前MLT帧相关帧信息,确定隐藏策略。确定隐藏策略采用逻辑判断的方法。
在错/丢帧错误标识为01时,根据当前MLT帧相关帧信息,查预置在编码端的隐藏策略表,确定隐藏策略。该隐藏策略表存储了各种相关帧信息对应的隐藏策略。
在错/丢帧错误标识为10时,根据当前MLT帧相关帧信息和前置MLT帧相关帧信息,查预置在编码端的隐藏策略表,确定隐藏策略。
步骤606,解码端根据选择的隐藏策略和解码波形历史缓冲中保存的历史时域波形信息恢复出错/丢帧。
步骤607,解码端将恢复出的错/丢帧存入解码波形历史缓冲。
以上就实现了丢帧隐藏。
其中,步骤605解码端根据错/丢帧检测结果,结合相关帧信息,选择隐藏策略是上述方法实现的重要步骤。下面对该步骤进行详细说明。
图7为本发明实施例解码端选择隐藏策略的方法流程图。该方法包括以下步骤:
步骤6051,判断前置MLT帧和当前MLT帧是否都为错/丢帧;如果是则执行步骤6055,根据前帧可靠性标识,结合当前MLT帧的相关帧信息,为当前帧确定隐藏策略;否则执行步骤6052。
本步骤中,根据前置帧错误标识判断前置MLT帧是否为错/丢帧,并根据当前帧错误标识判断当前MLT帧是否为错/丢帧。在前置MLT帧和当前MLT帧都为错/丢帧,也就是出现连续错/丢帧的情况时,执行步骤6055,根据前帧可靠性标识和当前帧相关帧信息,采用逻辑推理的方法,为当前MLT帧选择隐藏策略。然后再执行图6中的步骤606。
步骤6052,判断当前MLT帧是否有错;如果是则执行步骤6056,根据当前MLT帧相关帧信息,查预置在编码端的隐藏策略表,确定隐藏策略。否则执行步骤6053。步骤6056的隐藏策略确定方法,属于前置MLT帧为正常帧但当前MLT帧为错/丢帧的情况。
以下属于前置MLT帧为丢/错帧但当前MLT帧为正常帧的情况。虽然当前MLT为正常帧,但由于IMLT变换用到了前置MLT帧的重叠相加时域帧信息,因此也需要为当前MLT帧选择隐藏策略。
步骤6053,当前MLT帧经IDCT变换得到当前MLT帧的重叠相加时域帧。
本步骤中获得的当前MLT帧的重叠相加时域帧作为历史时域波形的一部分,用于根据隐藏策略和历史时域波形恢复错/丢帧。
步骤6054,根据当前MLT帧相关帧信息和前置MLT帧相关帧信息,查预置在编码端的隐藏策略表,确定隐藏策略。
隐藏策略是预先设计并存放在解码端的。对于隐藏策略选择过程中的对各种情况判断的顺序,不限于以上所述的顺序,只要将各种情况区分开即可,并不影响判断结果。
为了便于说明隐藏策略的选取和根据不同的隐藏策略对丢帧/错帧进行恢复,以下举例和附表进行说明。
图8为本发明实施例隐藏策略原理示意图。重叠相加时域波形为解码端将MLT帧经IDCT变换得到的时域波形,最终时域波形为重叠相加时域波形经逆向重叠相加后的时域波形。
由MLT的重叠相加机制可知,当错/丢帧出现时,最终时域波形的当前帧和后续帧都受到了影响。例如,丢失图8中所示的第2帧,即c、d帧。由于3、4的计算要依赖于b,c;4、5的计算都要依赖于d、e,因此最终时域波形中3、4、5、6都会因为c、d的错/丢而受到影响。
表2为帧内、帧间相关性的所有可能组合所对应的丢帧隐藏策略表。其中,“←”表示由前面紧邻的基音信息复制得到,“→”表示由后面紧邻的基音信息复制得到,“√”表示由重叠相加时域帧(即a,b,c,d,e…)计算得到,“×”表示无法近似的恢复,只能依靠重复相邻信号的基音并将其衰减来隐藏。复制基音时,可以采用一个基音复制得到整个半帧的波形,用于复制的基音根据“←”或者“→”从前或者从后选取。
2 | 1 | 1 | 1 | 0 | ← | ← | → | √ |
3 | 1 | 1 | 0 | 1 | ← | ← | ← | √ |
4 | 0 | 1 | 1 | 1 | ← | √ | ← | ← |
5 | 1 | 1 | 0 | 0 | ← | ← | × | √ |
6 | 0 | 1 | 0 | 1 | ← | √ | ← | √ |
7 | 0 | 1 | 1 | 0 | ← | √ | → | √ |
8 | 0 | 1 | 0 | 0 | ← | √ | × | √ |
9 | 1 | 0 | 1 | 1 | × | × | → | √ |
10 | 0 | 0 | 1 | 1 | × | × | → | √ |
11 | 0 | 0 | 1 | 0 | × | × | → | √ |
12 | 1 | 0 | 0 | 1 | × | × | × | √ |
13 | 1 | 0 | 1 | 0 | × | × | → | √ |
14 | 1 | 0 | 0 | 0 | × | × | × | √ |
15 | 1 | 0 | 0 | 1 | × | × | × | √ |
16 | 0 | 0 | 0 | 0 | × | × | × | √ |
表2
1)前置MLT帧为正常帧,当前MLT帧为错/丢帧
在这种情况下,帧a和b为正常帧,帧c和d为错/丢帧。采用表2中隐藏策略,根据帧3和4的相关帧信息恢复出帧3`和4`。
在当前MLT帧的帧间相关性为强时,由于前置帧或前置帧的末尾具有与当前帧相似的波形特征,因此重复前置MLT帧最终时域帧末尾处的基音信息或者重复前置MLT帧最终时域帧的后半帧可以大致获得一个当前MLT帧最终时域帧的前半帧。
对于当前MLT帧最终时域帧的后半帧,该隐藏策略利用音频帧的时域信号与其经MLT重叠相加后的信号的代数关系,通过估计出的当前MLT帧最终时域帧的前半帧来求得剩下部分的时域音频信号。其具体实现过程为:
根据正向MLT变换有
v(n+N/2)=w[(N-1)-n]x(N+n)-w(n)x[(2N-1)-n] 0≤n≤N/2
将上式左右移项可得
因此在本例中,x[(2N-1)-n]即为4,x(N+n)即为3,v(n+N/2)即为b。可见3、4和b有唯一的确定关系。
当3的帧间相关性为强时,重复2的末尾处的基音获得3`;由于3、4和b的唯一确定性关系,采用3`代替3,由3`和b可计算得到一个4的估计4`,4即可被大致恢复出来。为了确保2和3`之间的相位连续性,在重复2的基音时,应从2中选取相位与2的末尾处相位相同的一点,作为重复基音的起点。这样使得3`开始的相位与2末尾的相位相同,实现了2与3`的相位连续。一种可能的基音选取方法为:由2的末尾开始向前选取一段基音的长度,将此段作为重复的基音。表1中“←”所示的向前复制基音,均可以采用这种选择基音的原理,但不限于此。
此时,无论3的帧间相关性是强还是弱都可以利用3`和b计算出4`。但由于利用3`,4和b的关系计算得出4`需要额外的增加计算量,从简化算法降低成本的角度考虑,增加额外的计算量是没有必要的。因此在帧内帧间都为强相关性时3`、4`用2重复就可以了,如表2中序号为1、2、3和5的隐藏策略;而在帧间相关性强而帧内相关性弱时才使用计算的方法得到4`,3`仍采用重复2的方法,如表2中序号为4、6、7和8的隐藏策略。
在当前MLT帧的帧间相关性为弱时,当前MLT帧最终时域帧的前半帧和后半帧都通过重复前置MLT帧最终时域帧的后半帧的基音并进行全帧衰减得到。衰减强度从前半帧到后半帧逐渐增大。衰减方法为将预衰减的帧乘以衰减因子。该衰减因子表示衰减的强度,衰减因子越大,表示衰减强度越大。
因此在本例中,当3的帧间相关性为弱时,3`和4`通过重复2的基音得到,并将得到的3`和4`进行全帧衰减,衰减强度从3`的前端到4`的后端逐渐增强。如表2中序号为9-16的隐藏策略。由于采用了衰减的处理,因此此时获得的恢复帧被认为不可靠。
2)前置MLT帧为错/丢帧,当前MLT帧为正常帧的情况
在这种情况下,帧c和d为错/丢帧,帧e和f为正常帧。采用表2中的隐藏策略,根据帧3和4的相关帧信息、帧5和6的相关帧信息,恢复出帧5`和6`。
2a)当5的帧间相关性为弱时,5与前置帧的后半帧不相似。5由6决定。6的确定原理为:由于窗口函数的加权作用,d和e对6的贡献是不同的,e的作用要远大于d。因此,即使将d以其它的半帧代替,由e的代替帧计算求出的6`都与原波形是较为相似的,尤其是6`的后半帧波形。代替帧可以选用f或者b。例如,简单的用f代替d,根据f和e经重叠相加后得到6`。
5`可以采用复制6`基音的方法获得,当5的帧内相关性为强时,不对5`进行衰减,直接复制6`的基音作为5`,如表2中序号为2、7、11和13的恢复帧5`和6`的隐藏策略。一种可能的基音选取方法为:由6`的前端开始向后取一段基音的长度,将此段作为重复的基音。表1中“→”所示的向后复制基音,均可以采用这种选择基音的原理,但不限于此。
当5的帧间相关性为弱,帧内相关性为弱时,也采用复制6`的基音作为5`,但此时要对5`进行衰减,衰减强度由5`的末尾向前端逐渐增大,如表2中序号为5、8、14和16的恢复帧5`和6`的隐藏策略。
2b)当5的帧间相关性为强时,如果3的帧间相关性为强且5的帧内相关性为强,则5`与4`相似,且5`和6`相似。因此5`和6`均由基音4`的基音复制得到。如表2中序号为1和4的恢复帧5`和6`的隐藏策略。
当5的帧间相关性为强,如果3的帧间相关性为强,但5的帧内相关性为弱,则5`与4`相似,且6`与5`不相似。因此5`由4`的基音复制得到,6`根据f和e经重叠相加后得到。如表2中序号为3和6的恢复帧5`和6`的隐藏策略。当然,前述当5的帧间相关性为强,3的帧间相关性为强且5的帧内相关性为强时,6`也可以采用计算得到,但是为了减少计算,利用复制4`即可得到很好的隐藏效果。
当3的帧间相关性为弱时,无法利用4`。6`采用f和e经重叠相加后得到。
因此,当5的帧间相关性为强、3的帧间相关性为弱且5的帧内相关性为强,则5`由6`的基音复制得到。如表2中序号为9和10的恢复帧5`和6`的隐藏策略。
当5的帧间相关性为强、3的帧间相关性为弱且5的帧内相关性为弱,则6`仍采用f和e经重叠相加后得到,5`由6`的基音复制并经衰减得到,衰减强度由5`的末尾向前端逐渐增大。如表2中序号为12和15的恢复帧5`和6`的隐藏策略。
以上,在计算6`时,还可以根据b和e计算6`。计算出的6`同样与原波形较为相似。但是利用b,要求保存前置帧之前的一帧时域波形。因此本实施例利用f和e计算6`。
3)前置MLT帧有为错/丢帧,当前MLT帧为错/丢帧的情况。
在这种情况下,即为出现连续丢帧/错帧的情况。丢帧序列的开始端可根据第1)种隐藏方法恢复。对于中间的帧采用下述隐藏方法恢复。
由于每次进行隐藏策略的选择后,都要更新前帧可靠性标识。总的来说,采用重复某一帧的波形,并进行衰减的恢复帧被认为是不可靠的,前帧可靠性标识设置为不可靠;采用公式计算得到,或者采用重复某一帧的波形,并且不进行衰减的恢复帧认为是可靠的,此时前帧可靠性标识设置为可靠。
恢复连续丢帧/错帧需要利用前帧可靠性标识、前置MLT帧最终时域帧和当前MLT帧的相关帧信息。图9为本发明实施例连续丢帧/错帧的隐藏策略选择方法流程图。该方法的具体步骤如下:
步骤801,判断前置帧是否可靠,如果是则执行步骤802;否则执行步骤811。
本步骤中,根据前帧可靠性标识判断前置MLT帧的最终时域帧是否可靠,如果不可靠则执行步骤811,当前MLT帧最终时域帧重复前置帧的最终时域帧,并对当前MLT帧最终时域帧进行全帧衰减。以帧5和6为例,帧5`和6`由重复帧3`和4`得来,全帧衰减时,衰减强度由5的前端向6的末尾逐渐增大。且获得的帧5`和6`的可靠性信息表示为不可靠。由于前置帧为不可靠帧,因此可以将3`和4`波形原样复制过来作为5`和6`。
步骤802,判断帧间相关性是否为强;是则执行步骤803,否则执行步骤812。
本步骤中,如果判断帧间相关性为弱,则不管帧内相关性是什么,都执行步骤812,重复前置MLT帧最终时域帧作为当前MLT帧最终时域帧,并对得到的当前帧MLT最终时域帧进行全帧衰减,衰减强度由前到后逐渐增大。且获得的当前MLT帧最终时域帧的可靠性信息标识为不可靠。由于帧间相关性为弱,当前帧和帧3`和4`不相像,因此可以将3`和4`波形原样复制过来作为5`和6`。
步骤803,判断帧内相关性是否为强;是则执行步骤804;否则执行步骤813。
本步骤中,如果判断帧内相关性为弱,则属于帧间相关性强且帧内相关性弱的情况。执行步骤813,重复前置帧的最终时域帧的后半帧作为当前MLT帧的前半帧和后半帧,得到的当前MLT帧最终时域帧的前半帧不衰减,对后半帧进行衰减,衰减强度由后半帧的前端向后半帧的末尾逐渐增大。且获得的当前MLT帧最终时域帧的可靠性信息标识为不可靠。
步骤804,重复前置MLT帧最终时域帧的后半帧作为当前MLT帧的前半帧和后半帧,不衰减。且获得的当前MLT帧最终时域帧的可靠性信息标识为可靠。
在实际的音频信号中,相关帧信息的不同组合出现的概率是不同的,实际情况下大多数的丢帧都可以被较好的隐藏。
为实现本发明实施例的丢帧隐藏方法,本发明实施例提供了丢帧隐藏系统。
图10为本发明实施例丢帧隐藏系统组成框图,该系统包括编码装置和解码装置。编码装置将获得的相关帧信息以及当前MLT帧发送给解码装置。解码装置对当前MLT帧进行错/丢帧检测,生成错/丢帧信息;在进行丢帧隐藏处理时,解码装置根据错/丢帧信息,结合相关帧信息和历史时域波形恢复出错/丢帧。
本实施例中的编码装置,采用图11所示的本发明实施例提供的丢帧隐藏编码装置的第一较佳实施例。如图11所示,该编码装置包括MLT编码单元110、历史缓冲单元120、相关帧信息生成单元130。
其中,历史缓冲单元120,用于缓冲当前帧的时域波形和前置帧的时域波形。历史缓冲单元120包括当前帧历史缓冲121和前置帧历史缓冲122。
当前帧历史缓冲121,用于缓冲当前帧的时域波形。编码装置完成MLT编码并输出后,该当前帧历史缓冲121利用其保存的当前帧更新前置帧历史缓冲122,并将后续帧保存在当前帧历史缓冲121中。
前置帧历史缓冲122,用于缓冲前置帧的时域波形。
MLT编码单元110,用于根据编码装置获取的后续帧和从历史缓冲单元120中获取的当前帧进行MLT变换,生成MLT帧,并发送出去。
相关帧信息生成单元130,用于根据该编码装置获取的后续帧,以及从历史单元缓冲获取的当前帧和前置帧,生成相关帧信息,并发送出去。相关帧信息生成单元130包括帧内相关性检测器131和帧间相关性检测器132。帧内相关性检测器131,用于根据从当前帧历史缓冲121中获取的当前帧生成帧内相关性信息,发送出去。
帧间相关性检测器132,用于根据从当前帧历史缓冲121获取的当前帧和从前置帧历史缓冲122获取的前置帧,生成帧间相关性信息,发送出去。
以上所说的发送不是指直接的打包发送出去。而是将各个相关帧信息都发送到一个多路复用器,再发送出去。
在发送MLT帧、帧内相关性信息和帧间相关性信息时,需要将MLT帧及其相关帧信息分包发送,或者将相关帧信息嵌入当前帧的前置帧或者后续帧发送,也可以在一个可分层的编码体系中在增强层中传输相关帧信息,在核心层传输MLT帧。
当嵌入前置帧发送时,需要增加一个MLT帧缓冲器,用于缓存MLT编码单元生成的MLT帧,延时发送出去。因此当前MLT帧发送是携带的是其后续帧的相关帧信息。
当嵌入后续帧发送时,需要增加一个相关帧信息缓冲器,用于缓存相关帧信息生成单元生成的相关帧信息,延时发送出去。因此当前MLT帧发送是携带的是其前置帧的相关帧信息。
本实施例中的解码装置,采用图12所示的本发明实施例提供的丢帧隐藏解码装置的第一较佳实施例。如图12所示,该解码装置包括帧错检测器201、IMLT解码模块202、丢帧隐藏单元220、解码波形历史缓冲210。
其中,帧错检测器201,用于对从编码装置获取的MLT帧进行错/丢帧检测,生成错/丢帧错误标识,并发送给丢帧隐藏单元220。由于在当前MLT帧正常但前置MLT帧为错/丢帧时,需要IMLT解码模块202协助对当前MLT帧进行IDCT变换。因此,帧错检测器201还要根据错/丢帧错误标识进行判断:如果判断出当前MLT帧正常且前置MLT帧正常,则帧错检测器201将当前MLT帧发送到IMLT解码模块202;如果判断出当前MLT帧没错,但是前置MLT帧为错/丢帧,则将错/丢帧错误标识和当前MLT帧一起发送给IMLT解码模块202,并向丢帧隐藏单元220发送错/丢帧标识;否则只需要将错/丢帧错误标识发送给丢帧隐藏单元220。
IMLT解码模块202,接收到当前MLT帧时,对其进行IMLT变换。将变换得到的当前MLT帧重叠相加时域帧和最终时域帧存入解码波形历史缓冲210中。当接收到当前MLT帧及其错/丢帧标识时,只对当前MLT帧进行IDCT变换,将得到的当前MLT帧重叠相加时域帧存入解码波形历史缓冲210中,最终时域帧则保存丢帧隐藏单元220确定的恢复帧。
在实际应用时,上述帧错检测器201也可以在当前MLT帧为正常帧时,将错/丢帧错误标识和当前MLT帧一起发送给IMLT解码模块202,由IMLT解码模块202根据错/丢帧错误标识确定后续的操作。
IMLT解码模块202根据帧错检测器201发来的错/丢帧错误标识,对当前MLT帧进行解码。当错/丢帧错误标识指示当前MLT帧和前置MLT帧均为正常帧时,将解码得到的当前MLT帧重叠相加时域帧和最终时域帧存入解码波形历史缓冲210中。当错/丢帧错误标识指示当前MLT帧正常但前置MLT帧为错/丢帧时,只对当前MLT帧进行IDCT变换,将得到的当前MLT帧重叠相加时域帧存入解码波形历史缓冲210中,最终时域帧则保存丢帧隐藏单元220确定的恢复帧。
丢帧隐藏单元220,用于根据帧错检测器201发来的错/丢帧错误标识,结合接收的当前MLT帧相关帧信息和缓存的前置MLT帧相关帧信息,确定丢帧隐藏策略;再根据该丢帧隐藏策略和解码波形历史缓冲210中保存的重叠相加时域帧和最终时域帧恢复出错/丢帧。
丢帧隐藏单元220包括相关帧信息历史缓冲221、丢帧隐藏策略选择模块222和丢帧恢复模块223。
相关帧信息历史缓冲221,用于缓冲当前MLT帧相关帧信息和前置MLT帧相关帧信息。
丢帧隐藏策略选择模块222,用于存储丢帧隐藏策略。根据帧错检测器201发来的错/丢帧错误标识,以及相关帧信息历史缓冲221中的相关帧信息,确定丢帧隐藏策略。丢帧隐藏策略事先设计并存储在该丢帧隐藏策略选择模块222中,作为丢帧隐藏策略的结合,可以采用表的形式存在,便于查找和使用。如表2所示的丢帧隐藏策略表。该丢帧隐藏策略选择模块222还需要生成前帧可靠性标识,用于在出现连续丢帧时,选择丢帧隐藏策略。
丢帧恢复模块223,用于根据丢帧隐藏策略选择模块222确定的丢帧隐藏策略和解码波形历史缓冲210中保存的重叠相加时域帧和最终时域帧恢复出错/丢帧。该恢复的错/丢帧还要作为当前MLT的最终时域帧,发送给解码波形历史缓冲
解码波形历史缓冲210,用于存储重叠相加时域帧和最终时域帧。该模块又细分为重叠相加时域帧历史缓冲211和最终时域帧历史缓冲212。
重叠相加时域帧历史缓冲211,用于缓冲两帧经IMLT解码模块202解码的重叠相加时域帧。
最终时域帧历史缓冲212,用于缓冲经IMLT解码模块202解码的当前MLT帧最终时域帧,或缓冲丢帧恢复模块223恢复的错/丢帧。
图13为本发明实施例丢帧隐藏方法的第二较佳实施例的方法流程图。该实施例采用编码装置的第一较佳实施例和解码装置的第一较佳实施例组成丢帧隐藏系统,并实现丢帧隐藏方法。该方法具体步骤如下:
步骤301,编码装置的MLT编码单元110根据接收的后续帧和当前帧历史缓冲121存储的当前帧进行MLT变换,生成MLT帧。
步骤302,帧内相关性检测器131对当前帧进行检测,生成帧内相关性信息;帧间相关性检测器132对当前帧和前置帧进行检测,生成帧间相关性信息。
步骤303,编码装置将MLT帧及帧内和帧间相关性信息发送给解码装置。
步骤304,解码装置的帧错检测器201接收MLT帧,相关帧信息历史缓冲221缓冲帧内和帧间相关性信息。
步骤305,帧错检测器201对当前MLT帧进行错/丢帧检测,判断当前MLT帧或前置MLT帧是否为错/丢帧;如果是则执行步骤306;否则执行步骤320和321,帧错检测器201将当前MLT帧发送给IMLT解码模块202,该模块对当前MLT帧进行正常MLT解码。之后将当前MLT帧经IDCT变换后得到重叠相加时域帧,保存在重叠相加时域帧历史缓冲211,并将解码得到的最终时域波形保存在最终时域帧历史缓冲212,此时结束本流程。
步骤306,帧错检测器201进一步判断当前MLT是否为正常帧,如果是则执行步骤307和308;否则直接执行308。
步骤307,帧错检测器201将错/丢帧错误标识和当前MLT帧发送给IMLT解码模块202,该模块对当前MLT帧进行IDCT变换;之后将当前MLT帧经IDCT变换后得到重叠相加时域帧,保存在重叠相加时域帧历史缓冲211。
步骤308,帧错检测器201将错/丢帧错误标识发送给丢帧隐藏策略选择模块222。
本实施例中,错/丢帧错误标识包括1比特的前置帧错误标识和1比特的当前帧错误标识。
如果当错/丢帧错误标识为01,则执行步骤309、312~314;如果当错/丢帧错误标识为10,则执行步骤310、312~314;如果当错/丢帧错误标识为11,则执行步骤311、312~314。
步骤309,丢帧隐藏策略选择模块222根据从相关帧信息历史缓冲221获取的当前MLT帧的帧内和帧间相关性信息,选择丢帧隐藏策略。
步骤310,丢帧隐藏策略选择模块222根据从相关帧信息历史缓冲221获取的前置MLT帧和当前MLT帧的帧内和帧间相关性信息,选择丢帧隐藏策略。
步骤311,丢帧隐藏策略选择模块222根据前帧可靠性标识和从相关帧信息历史缓冲221获取的当前MLT帧的帧内和帧间相关性信息,选择丢帧隐藏策略。
以上步骤309、310选择的隐藏策略具体参见表2的内容。步骤311选择的隐藏策略具体参见图9。
步骤312,丢帧隐藏策略选择模块222根据选择的隐藏策略更新前帧可靠性标识。该步骤业务可以在步骤313之后执行。
步骤313,丢帧恢复模块223根据选择的隐藏策略、重叠相加时域帧历史缓冲211中的重叠相加时域帧和最终时域帧历史缓冲212中的最终时域帧恢复错/丢帧。
步骤314,丢帧恢复模块223将恢复出的错/丢帧输出,并存入最终时域帧历史缓冲212。
以上便完成了丢帧隐藏。
为了较好的识别短音符,本发明在编码端利用前置帧和后续帧对当前帧进行短音符检测,输出短音符信息。该短音符信息作为相关帧信息的一部分,包括短音符标识或者包括短音符标识和短音符特征参数。解码端根据该短音符信息恢复错/丢帧。
在实际应用中,短音符信息中的短音符标识可以用1比特的二进制数表示,1为短音符,0为非短音符。短音符特征参数可以有多种形式,如可以是一组代表短音符基音,幅度包络等特征的参数,也可以是一个由另一个精度低的编码器编码所得的粗糙版本的帧等。
在确定当前帧为短音符帧时,根据短音符帧的定义,一个短音符帧有较强的帧内相关性,但与前后相邻帧的相关性却较弱。因此在短音符检测中首先对当前帧判断其帧内相关性。如果帧内相关性为强,则分别进一步检查其与前置帧及后续帧的相关性。如果与它们的相关性均为弱,则判定当前帧为短音符帧。相关性的计算可用自相关,互相关函数的方法,如前所述。
确定了当前帧为短音符帧,就要确定该短音符帧的短音符特征参数。
在短音符特征参数为短音符基音和短音符幅度包络的情况下,短音符基音表示的是一段周期性强的音频信号中最小的一段周期。短音符幅度包络表示的是这一帧波形的形状。当短音符特征参数为短音符基音,幅度包络等特征参数时,恢复的方法为:在整个帧内重复短音符基音,然后根据幅度包络信息调整帧包络的形状。
当短音符特征参数为粗糙编码的帧时,此时的特征参数实际上是由一个精度较低的编码器在编码端编码形成。实际上这种方式下编码端有两个编码器,高精度编码器对每一帧都编码,低精度编码器只用来对短音符帧进行编码。当高精度编码的短音符帧丢失时,就对低精度编码的该帧进行解码。解码端也是有两个解码器的。
图14为本发明实施例丢帧隐藏编码装置第二较佳实施例的组成框图。如图14所示,该编码装置包括MLT编码单元110、历史缓冲单元120、相关帧信息生成单元730。与图11所示的编码装置的第一较佳实施例的不同之处在于,本实施例中,相关帧信息生成单元730不仅包括帧内相关性检测器731和帧间相关性检测器732,还包括短音符检测器733,用于根据编码装置接收的后续帧、从当前帧历史缓冲121获取的当前帧以及从前置帧历史缓冲122获取的前置帧,生成短音符信息。具体是根据前置帧、当前帧和后续帧这3帧生成短音符标识,根据当前帧生成短音符特征参数。
因此,编码装置通过分组通信网络发给解码装置的信息包括当前MLT帧、帧内相关性信息、帧间相关性信息和短音符信息。
解码装置可以采用图12示出的解码装置的组成结构作为解码装置的第二较佳实施例。与解码装置的第一较佳实施例不同之处在于,本实施例中,相关帧信息历史缓冲221还保存短音符信息。当丢帧隐藏策略选择模块222收到帧错检测器201发来的错/丢帧错误标识,且根据相关帧信息历史缓冲211所缓存的当前帧短音符信息发现,当前错/丢帧为短音符帧,则只需根据短音符信息恢复丢帧即可。
图15为本发明实施例丢帧隐藏方法第三较佳实施例的方法流程图。该方法采用编码装置的第二较佳实施例和解码装置的第二较佳实施例组成丢帧隐藏系统,并实现丢帧隐藏方法。该方法包括以下步骤:
步骤401,编码装置的MLT编码单元110根据接收的后续帧和历史缓冲121存储的当前帧进行MLT变换,生成MLT帧。
步骤402,帧内相关性检测器731对当前帧进行检测,生成帧内相关性信息;帧间相关性检测器732对当前帧和前置帧进行检测,生成帧间相关性信息。短音符相关性检测器733根据前置帧和后续帧对当前帧进行检测,生成短音符信息。
本实施例中,短音符信息包括短音符标识和短音符特征参数。如果短音符相关性检测器检测出当前帧为短音符帧,则将短音符标识设定为1,并产生短音符特征参数。如果短音符相关性检测器检测出当前帧不为短音符帧,则将短音符标识设定为0,也不产生短音符特征参数。
步骤403,编码装置将MLT帧及其帧内和帧间相关性信息、短音符信息发送给解码装置。
步骤404,解码装置的帧错检测器201接收MLT帧,相关帧信息历史缓冲221接收帧内和帧间相关性信息、以及短音符信息。
步骤405,帧错检测器201对当前MLT帧进行错/丢帧检测,判断当前MLT帧或前置MLT帧是否有错/丢帧,生成错/丢帧信息;如果有则执行步骤406;否则执行步骤420和421。步骤420和421与前述步骤320和321相同。
步骤406,帧错检测器201进一步判断当前MLT是否为正常帧,如果是则执行步骤407和408;否则直接执行408。
步骤407与前述步骤307相同。
步骤408,帧错检测器201将错/丢帧错误标识发送给丢帧隐藏策略选择模块222。
步骤409,丢帧隐藏策略选择模块222根据从相关帧信息历史缓冲221获得的短音符信息判断当前错/丢帧是否为短音符。如果当前MLT帧为错/丢帧且是短音符,则执行步骤430,丢帧隐藏策略选择模块222将短音符信息发送给丢帧恢复模块223,由丢帧恢复模块223根据短音符信息,恢复丢失帧。且该恢复帧被认为不可靠,然后执行步骤413。否则,执行步骤410。
以上步骤409中,判断当前错帧是否为短音符时,可以采用短音符信息中短音符标识来判断。
步骤410,丢帧隐藏策略选择模块222根据错/丢帧错误检测标识,结合相关帧信息和前帧可靠性标识,选择隐藏策略。具体选择方法参见图13的步骤309、310和311。
步骤411,丢帧隐藏策略选择模块222根据选择的隐藏策略更新前帧可靠性标识。
步骤412,丢帧恢复模块223根据选择的隐藏策略、重叠相加时域帧历史缓冲211中的重叠相加时域帧和最终时域帧历史缓冲212中的最终时域帧恢复出错/丢帧。
步骤413,丢帧恢复模块223将恢复出的错/丢帧输出,并存入最终时域帧历史缓冲212。
本流程结束。
以上的各实施例中,相关帧信息包括帧间和帧内相关性信息和短音符信息。当然还可以产生更多的相关帧信息种类与MLT帧一同传送。这些新的相关帧信息可以更详细的描述帧内和帧间相关性,例如前置帧与后续帧的相关性等;新的相关帧信息还可以是一组音频帧特征参数。当采用复制其它帧波形并衰减的方法恢复错/丢帧时,为这个不可靠的恢复帧提供更加详细的特征信息,根据这组特征信息恢复错/丢帧,将会大大提高错/丢帧恢复的正确性。其丢帧隐藏方法与本发明实施例阐述的方法原理相同。
由以上所述可以看出,本发明实施例所提供的丢帧隐藏的方法、系统、编码装置和解码装置,能够选取不同的隐藏策略,恢复错/丢帧。该隐藏策略利用音频帧的时域信号与其经MLT重叠相加后的信号的代数关系,通过估计出的部分时域音频信号来求得剩下部分的时域音频信号;还利用MLT重叠相加过程中的窗口函数特性,利用恢复帧中一部分保存较完好的帧得到错/丢帧的恢复帧。因此本发明实施例能够比较好的恢复出错/丢帧,提高了丢帧隐藏能力,避免了时域信号混淆的现象。
本发明实施例在生成相关帧信息时,还生成短音符信息,标识当前MLT帧是否为短音符帧,同时针对短音符帧还生成一组短音符特征参数,用以解码装置在该帧丢失时,能够较好的恢复出短音符错/丢帧。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (31)
1.一种丢帧隐藏方法,其特征在于,在解码端存储历史时域波形,该方法包括:
编码端将获得的相关帧信息以及当前重叠调制变换MLT帧发送给解码端;
所述解码端对接收的所述当前MLT帧进行错/丢帧检测,生成错/丢帧信息;根据所述错/丢帧信息,所述相关帧信息和所述历史时域波形恢复出错/丢帧;
所述相关帧信息包括帧内相关性信息和帧间相关性信息,其中,帧内相关性信息是根据当前帧进行帧内相关性检测生成的,帧间相关性信息是根据当前帧及其前置帧进行帧间相关性检测生成的。
2.如权利要求1所述的方法,其特征在于,所述编码端将获得的相关帧信息以及当前MLT帧发送给解码端是分包发送的;或将所述相关帧信息嵌在当前MLT帧的相邻帧发送;或将所述相关帧信息作为增强层数据,将所述当前MLT帧作为核心层数据发送。
3.如权利要求1所述的方法,其特征在于,所述生成错/丢帧信息包括:
所述解码端对所述当前MLT帧进行错/丢帧检测,将检测结果作为当前MLT帧的当前帧错/丢帧信息;
所述解码端将所述当前MLT帧前一帧的错/丢帧信息作为当前MLT帧的前置帧错/丢帧信息。
4.如权利要求1所述的方法,其特征在于,所述相关帧信息包括帧内相关性信息和帧间相关性信息;
所述获得相关帧信息以及当前MLT帧包括:
编码端根据当前帧及其后续帧对当前帧进行MLT变换,生成当前MLT帧;
根据当前帧进行帧内相关性检测,生成帧内相关性信息;
根据当前帧及其前置帧进行帧间相关性检测,生成帧间相关性信息。
5.如权利要求4所述的方法,其特征在于,在前置MLT帧为正常帧且当前帧为错/丢帧时,所述恢复出错/丢帧为:
解码端根据当前MLT帧的帧间相关性信息、帧内相关性信息和所述历史时域波形恢复出错/丢帧。
6.如权利要求5所述的方法,其特征在于,所述历史时域波形包括前置MLT帧最终时域帧和前置MLT帧重叠相加时域帧;
解码端根据当前MLT帧的帧间相关性信息、帧内相关性信息和所述历史时域波形恢复出的错/丢帧为当前MLT帧最终时域帧的前半帧和后半帧,具体恢复过程为:
在当前MLT帧的帧间相关性为强,当前MLT帧的帧内相关性为强时:
重复前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧和后半帧;
在当前MLT帧的帧间相关性为强,当前MLT帧的帧内相关性为弱时:
重复前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧;根据前置MLT帧重叠相加时域帧的后半帧、当前MLT帧最终时域帧的前半帧与当前MLT帧最终时域帧的后半帧的代数关系,确定所述当前MLT帧最终时域帧的后半帧;
在当前MLT帧的帧间相关性为弱时:
重复前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧和后半帧,并对得到的当前MLT帧最终时域帧进行全帧衰减。
7.如权利要求4所述的方法,其特征在于,在前置MLT帧为错/丢帧且当前帧为正常帧时,所述恢复出错/丢帧为:
解码端根据当前MLT帧的帧间相关性信息、帧内相关性信息和前置MLT帧的帧间相关性信息,以及历史时域波形恢复出错/丢帧。
8.如权利要求7所述的方法,其特征在于,所述历史时域波形包括前置MLT帧最终时域帧和所述当前MLT帧经逆向DCT变换得到的当前MLT帧重叠相加时域帧;或者包括前置MLT帧最终时域帧和前置MLT帧前一帧的重叠相加时域帧;
所述解码端根据当前MLT帧的帧间相关性信息、帧内相关性信息和前置MLT帧的帧间相关性信息,以及历史时域波形恢复出的错/丢帧为当前MLT帧最终时域帧的前半帧和后半帧,具体恢复过程为:
在当前MLT帧的帧间相关性为弱、帧内相关性为强,或者当前MLT帧的帧间相关性为强、帧内相关性为强且前置MLT帧的帧间相关性为弱时:
将所述当前MLT帧重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和后半帧进行逆向MLT变换得到当前MLT帧最终时域帧的后半帧;或者,将所述前置MLT帧前一帧的重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和所述前置MLT帧前一帧的重叠相加时域帧的后半帧进行逆向MLT变换,得到当前MLT帧最终时域帧的后半帧;
重复得到的所述当前MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧;
在当前MLT帧的帧间相关性为弱、帧内相关性为弱时,或者当前MLT帧的帧间相关性为强、帧内相关性为弱且前置MLT帧的帧间相关性为弱时:
将所述当前MLT帧重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和后半帧进行逆向MLT变换得到当前MLT帧最终时域帧的后半帧;或者,将所述前置MLT帧前一帧的重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和所述前置MLT帧前一帧的重叠相加时域帧的后半帧进行逆向MLT变换,得到当前MLT帧最终时域帧的后半帧;
重复得到的所述当前MLT帧最终时域帧的后半帧,经衰减后作为当前MLT帧最终时域帧的前半帧;
在当前MLT帧的帧间相关性为强、帧内相关性为强,且前置MLT帧的帧间相关性为强时:
重复所述前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧和后半帧;
在当前MLT帧的帧间相关性为强、帧内相关性为弱,且前置MLT帧的帧间相关性为强时:
重复所述前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧;
将所述当前MLT帧重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和后半帧进行逆向MLT变换得到当前MLT帧最终时域帧的后半帧;或者,将所述前置MLT帧前一帧的重叠相加时域帧的后半帧代替前置MLT帧重叠相加时域帧的后半帧,对所述当前MLT帧重叠相加时域帧的前半帧和所述前置MLT帧前一帧的重叠相加时域帧的后半帧进行逆向MLT变换,得到当前MLT帧最终时域帧的后半帧。
9.如权利要求5所述的方法,其特征在于,所述恢复出错/丢帧进一步包括确定所述恢复出的错/丢帧是否可靠,生成前帧可靠性标识;
在前置MLT帧和当前MLT帧都为错/丢帧时,所述恢复出错/丢帧为:
解码端根据所述前帧可靠性标识、当前MLT帧的帧间相关性信息和当前MLT帧的帧内相关性信息恢复出错/丢帧。
10.如权利要求9所述的方法,其特征在于,所述历史时域波形包括前置MLT帧最终时域帧;
解码端根据所述前帧可靠性标识、当前MLT帧的帧间相关性信息、当前MLT帧的帧内相关性信息恢复出的错/丢帧为当前MLT帧最终时域帧的前半帧和后半帧,具体恢复过程为:
在前置MLT帧最终时域帧为不可靠帧,或者前置MLT帧最终时域帧为可靠帧且当前MLT帧的帧间相关性为弱时:
重复所述前置MLT帧最终时域帧,经全帧衰减后作为当前MLT帧最终时域帧;且得到的所述当前MLT帧最终时域帧为不可靠帧;
前置MLT帧最终时域帧为可靠帧、当前MLT帧的帧间相关性为强且当前MLT帧的帧内相关性为弱时:
重复所述前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧;重复前置MLT帧最终时域帧的后半帧,经衰减后作为当前MLT帧最终时域帧的后半帧;且得到的所述当前MLT帧最终时域帧为不可靠帧;
在前置MLT帧最终时域帧为可靠帧、当前MLT帧的帧间相关性为强、当前MLT帧的帧内相关性为强时:
重复所述前置MLT帧最终时域帧的后半帧,作为当前MLT帧最终时域帧的前半帧和后半帧;且得到的所述当前MLT帧最终时域帧为可靠帧。
11.如权利要求6、8或10所述的方法,其特征在于,所述重复所述前置MLT帧最终时域帧的后半帧为:从所述前置MLT帧最终时域帧的后半帧的末尾向前选取一段基音,并重复该段基音。
12.如权利要求8所述的方法,其特征在于,所述重复得到的所述当前MLT帧最终时域帧的后半帧为:从所述当前MLT帧最终时域帧的后半帧的前端向后选取一段基音,并重复该段基音。
13.如权利要求4所述的方法,其特征在于,
所述根据当前帧进行帧内相关性检测,生成帧内相关性信息包括:
当所述当前帧的帧内基音稳定、基音周期性强,则所述帧内相关性强;否则为弱;
所述根据当前帧及其前置帧进行帧间相关性检测,生成帧间相关性信息包括:
对所述当前帧的前半帧进行帧内相关性检测,如果所述当前帧的前半帧的帧内相关性为弱,则所述帧间相关性为弱;否则根据所述当前帧的前半帧和所述前置帧的后半帧进行帧间相关性检测,检测结果为相关性强,则所述帧间相关性为强;否则为弱。
14.如权利要求4所述的方法,其特征在于,所述相关帧信息进一步包括短音符信息;
所述获得的相关帧信息以及当前MLT帧进一步包括,根据所述后续帧、所述当前帧和所述前置帧,生成所述当前MLT帧的短音符信息。
15.如权利要求14所述的方法,其特征在于,所述解码端根据所述错/丢帧信息,结合所述相关帧信息恢复出错/丢帧为:
在当前MLT帧为错/丢帧,且根据所述短音符信息确定当前MLT帧为短音符帧时,根据所述短音符信息,恢复出错/丢帧。
16.如权利要求15所述的方法,其特征在于,所述短音符信息包括短音符标识和短音符特征参数;
所述短音符标识用于确定当前MLT帧是否为短音符;所述短音符特征参数用于恢复错/丢帧;
所述根据后续帧、当前帧和前置帧生成当前MLT帧的短音符信息包括:
根据所述后续帧、所述当前帧和所述前置帧生成所述当前MLT帧的短音符标识;根据所述当前帧生成所述当前MLT帧的短音符特征参数。
17.如权利要求1所述的方法,其特征在于,所述恢复出错/丢帧之后进一步包括:所述解码端将恢复出的错/丢帧保存为历史时域波形。
18.如权利要求1所述的方法,其特征在于,当所述解码端对接收的所述当前MLT帧进行错/丢帧检测后,判定前置MLT帧和当前MLT帧都为正常帧,则根据所述当前MLT帧进行逆向MLT解码,获得当前MLT帧重叠相加时域帧和当前MLT帧最终时域帧,并保存。
19.一种丢帧隐藏编码装置,其特征在于,该编码装置包括MLT编码单元、历史缓冲单元和相关帧信息生成单元;
所述MLT编码单元,用于根据该编码装置获取的后续帧和从所述历史缓冲单元获取的当前帧进行MLT变换,生成MLT帧,并发送出去;
所述历史缓冲单元,用于缓冲所述当前帧和前置帧;
所述相关帧信息生成单元,用于根据该编码装置获取的后续帧,以及从所述历史缓冲单元获取的所述当前帧和所述前置帧,生成相关帧信息,并发送出去,所述相关帧信息包括帧内相关性信息和帧间相关性信息,其中,帧内相关性信息是根据当前帧进行帧内相关性检测生成的,帧间相关性信息是根据当前帧及其前置帧进行帧间相关性检测生成的。
20.如权利要求19所述的编码装置,其特征在于,所述历史缓冲单元包括当前帧历史缓冲和前置帧历史缓冲;
所述当前帧历史缓冲,用于缓冲所述当前帧,并采用接收的后续帧更新当前帧历史缓冲内容;
所述前置帧历史缓冲;用于缓冲所述前置帧,并采用接收自所述当前帧历史缓冲的当前帧更新前置帧历史缓冲内容。
21.如权利要求19所述的编码装置,其特征在于,所述相关帧信息生成单元包括帧内相关性检测器和帧间相关性检测器;
所述帧内相关性检测器,用于根据从所述当前帧历史缓冲中获取的当前帧生成帧内相关性信息,发送出去;
所述帧间相关性检测器,用于根据从所述当前帧历史缓冲中获取的当前帧,和从所述前置帧历史缓冲获取的前置帧,生成帧间相关性信息,发送出去。
22.如权利要求21所述的编码装置,其特征在于,所述相关帧信息生成单元进一步包括短音符检测器,用于根据所述后续帧、从所述当前帧历史缓冲中获取的当前帧和从所述前置帧历史缓冲获取的前置帧,生成短音符信息,发送出去。
23.如权利要求19所述的编码装置,其特征在于,该编码装置进一步包括MLT帧缓冲单元,用于缓冲所述MLT编码单元生成的MLT帧,延时一帧发送出去。
24.如权利要求19所述的编码装置,其特征在于,该编码装置进一步包括相关帧信息缓冲单元,用于缓冲所述相关帧信息生成单元生成的相关帧信息,延时一帧发送出去。
25.一种丢帧隐藏解码装置,其特征在于,该解码装置包括帧错检测器、丢帧隐藏单元和解码波形历史缓冲;
所述解码波形历史缓冲,用于存储历史时域波形;
所述帧错检测器,用于对当前MLT帧进行错/丢帧检测,生成错/丢帧信息;并将所述错/丢帧信息发送给所述丢帧隐藏单元;
所述丢帧隐藏单元,用于根据接收自所述帧错检测器的所述错/丢帧信息、接收自编码装置的相关帧信息和所述解码波形历史缓冲中的历史时域波形恢复出错/丢帧,所述相关帧信息包括帧内相关性信息和帧间相关性信息,其中,帧内相关性信息是根据当前帧进行帧内相关性检测生成的,帧间相关性信息是根据当前帧及其前置帧进行帧间相关性检测生成的。
26.如权利要求25所述的解码装置,其特征在于,当所述当前MLT帧为正常帧时,该解码装置进一步包括逆向MLT解码模块,且,所述解码波形历史缓冲包括重叠相加时域帧历史缓冲和最终时域帧历史缓冲;
所述帧错检测器进一步用于,当根据所述错/丢帧信息判定当前MLT帧为正常帧时,向所述逆向MLT解码模块发送所述错/丢帧信息和所述当前MLT帧;
当逆向MLT解码模块根据所述错/丢帧信息判定,前置MLT帧和当前MLT帧都为正常帧时,所述逆向MLT解码模块对所述当前MLT帧进行逆向MLT变换,将生成的当前MLT帧重叠相加时域帧存入所述重叠相加时域帧历史缓冲,将生成的当前MLT帧最终时域帧存入所述最终时域帧历史缓冲;并输出所述当前MLT帧最终时域帧;
当逆向MLT解码模块根据所述错/丢帧信息判定,前置MLT帧为错/丢帧且当前MLT帧为正常帧时,所述逆向MLT解码模块对所述当前MLT帧进行逆向DCT变换,将生成的当前MLT帧重叠相加时域帧存入所述重叠相加时域帧历史缓冲;
所述重叠相加时域帧历史缓冲,用于缓冲经所述逆向MLT解码模块解码的重叠相加时域帧;
所述最终时域帧历史缓冲,用于缓冲经所述逆向MLT解码模块解码的最终时域帧,或缓冲所述丢帧隐藏单元恢复的错/丢帧。
27.如权利要求25所述的解码装置,其特征在于,当所述当前MLT帧为正常帧时,该解码装置还包括逆向MLT解码模块,且,所述解码波形历史缓冲包括重叠相加时域帧历史缓冲和最终时域帧历史缓冲;
所述帧错检测器进一步用于,根据所述错/丢帧信息判定前置MLT帧和当前MLT帧的错/丢帧情况;
当所述帧错检测器判定,前置MLT帧和当前MLT帧都为正常帧时,向所述逆向MLT解码模块发送当前MLT帧;
所述逆向MLT解码模块对所述当前MLT帧进行逆向MLT变换,将生成的当前MLT帧重叠相加时域帧存入所述重叠相加时域帧历史缓冲,将生成的当前MLT帧最终时域帧存入所述最终时域帧历史缓冲;并输出所述当前MLT帧最终时域帧;
当所述帧错检测器判定,前置MLT帧为错/丢帧且当前MLT帧为正常帧时,向所述逆向MLT解码模块发送所述错/丢帧信息和所述当前MLT帧;
所述逆向MLT解码模块根据所述错/丢帧信息,对所述当前MLT帧进行逆向DCT变换,将生成的当前MLT帧重叠相加时域帧存入所述重叠相加时域帧历史缓冲;
所述重叠相加时域帧历史缓冲,用于缓冲经所述逆向MLT解码模块解码的重叠相加时域帧;
所述最终时域帧历史缓冲,用于缓冲经所述逆向MLT解码模块解码的最终时域帧,或缓冲所述丢帧隐藏单元恢复的错/丢帧。
28.如权利要求25所述的解码装置,其特征在于,所述丢帧隐藏单元包括相关帧信息历史缓冲、丢帧隐藏策略选择模块和丢帧恢复模块;
所述相关帧信息历史缓冲,用于缓冲当前MLT帧相关帧信息和前置MLT帧相关帧信息;
所述丢帧隐藏策略选择模块,存储解码装置根据所述错/丢帧信息,所述相关帧信息和历史时域波形恢复错/丢帧的隐藏策略;用于根据从所述帧错检测器接收的所述错/丢帧信息,和从所述相关帧信息历史缓冲接收的相关帧信息,选择隐藏策略;之后根据选择的隐藏策略更新前帧可靠性标识;
所述丢帧恢复模块,用于根据从所述丢帧隐藏策略选择模块获取的所述隐藏策略和所述解码波形历史缓冲中的历史时域波形恢复出错/丢帧。
29.如权利要求28所述的解码装置,其特征在于,所述相关帧信息包括短音符信息;
所述丢帧隐藏策略选择模块进一步用于,根据从所述帧错检测器接收的所述错/丢帧信息,和从所述相关帧信息历史缓冲接收的短音符信息,判断当前MLT帧是否为错/丢帧且为短音符帧,如果不是则为所述当前MLT帧选择隐藏策略;如果是则将所述短音符信息发送给所述丢帧恢复模块;
所述丢帧恢复模块进一步用于,根据所述短音符信息恢复出错/丢帧。
30.一种丢帧隐藏系统,其特征在于,该系统包括编码装置和解码装置:
所述编码装置,用于将获得的相关帧信息以及当前MLT帧发送给解码装置,所述相关帧信息包括帧内相关性信息和帧间相关性信息,其中,帧内相关性信息是根据当前帧进行帧内相关性检测生成的,帧间相关性信息是根据当前帧及其前置帧进行帧间相关性检测生成的;
所述解码装置,用于对接收的所述当前MLT帧进行错/丢帧检测,生成错/丢帧信息;根据所述错/丢帧信息,所述相关帧信息和历史时域波形恢复出错/丢帧。
31.如权利要求30所述的系统,其特征在于,所述编码装置将所述当前MLT帧和所述相关帧信息分包发送给所述解码装置;或者编码装置将所述相关帧信息嵌在所述当前MLT帧的相邻帧发送给所述解码装置;或编码装置将所述相关帧信息作为增强层数据,将所述当前MLT帧作为核心层数据发送给所述解码装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610161747 CN101207468B (zh) | 2006-12-19 | 2006-12-19 | 丢帧隐藏方法、系统和装置 |
PCT/CN2007/071129 WO2008074249A1 (fr) | 2006-12-19 | 2007-11-26 | Procédé, système et appareils utilisés pour supprimer la perte de trame |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610161747 CN101207468B (zh) | 2006-12-19 | 2006-12-19 | 丢帧隐藏方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101207468A CN101207468A (zh) | 2008-06-25 |
CN101207468B true CN101207468B (zh) | 2010-07-21 |
Family
ID=39536001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610161747 Expired - Fee Related CN101207468B (zh) | 2006-12-19 | 2006-12-19 | 丢帧隐藏方法、系统和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101207468B (zh) |
WO (1) | WO2008074249A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI606440B (zh) * | 2012-09-24 | 2017-11-21 | 三星電子股份有限公司 | 訊框錯誤隱藏裝置 |
CN103714821A (zh) | 2012-09-28 | 2014-04-09 | 杜比实验室特许公司 | 基于位置的混合域数据包丢失隐藏 |
EP3336840B1 (en) | 2013-10-31 | 2019-09-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal |
KR101981548B1 (ko) | 2013-10-31 | 2019-05-23 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 시간 도메인 여기 신호를 기초로 하는 오류 은닉을 사용하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더 및 방법 |
CN104751851B (zh) * | 2013-12-30 | 2018-04-27 | 联芯科技有限公司 | 一种基于前后向联合估计的丢帧差错隐藏方法及系统 |
CN104767544B (zh) | 2014-01-02 | 2018-08-24 | 深圳市中兴微电子技术有限公司 | 一种实现解扰解扩的方法和矢量运算器 |
US9565493B2 (en) | 2015-04-30 | 2017-02-07 | Shure Acquisition Holdings, Inc. | Array microphone system and method of assembling the same |
US9554207B2 (en) | 2015-04-30 | 2017-01-24 | Shure Acquisition Holdings, Inc. | Offset cartridge microphones |
US10367948B2 (en) | 2017-01-13 | 2019-07-30 | Shure Acquisition Holdings, Inc. | Post-mixing acoustic echo cancellation systems and methods |
US10043523B1 (en) * | 2017-06-16 | 2018-08-07 | Cypress Semiconductor Corporation | Advanced packet-based sample audio concealment |
JP7422685B2 (ja) | 2018-05-31 | 2024-01-26 | シュアー アクイジッション ホールディングス インコーポレイテッド | 自動ミキシング用のインテリジェント音声起動のためのシステムおよび方法 |
US11523212B2 (en) | 2018-06-01 | 2022-12-06 | Shure Acquisition Holdings, Inc. | Pattern-forming microphone array |
US11297423B2 (en) | 2018-06-15 | 2022-04-05 | Shure Acquisition Holdings, Inc. | Endfire linear array microphone |
CN112889296A (zh) | 2018-09-20 | 2021-06-01 | 舒尔获得控股公司 | 用于阵列麦克风的可调整的波瓣形状 |
JP7178506B2 (ja) * | 2019-02-21 | 2022-11-25 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 位相ecu f0補間スプリットのための方法および関係するコントローラ |
EP3942842A1 (en) | 2019-03-21 | 2022-01-26 | Shure Acquisition Holdings, Inc. | Housings and associated design features for ceiling array microphones |
CN113841421A (zh) | 2019-03-21 | 2021-12-24 | 舒尔获得控股公司 | 具有抑制功能的波束形成麦克风瓣的自动对焦、区域内自动对焦、及自动配置 |
US11558693B2 (en) | 2019-03-21 | 2023-01-17 | Shure Acquisition Holdings, Inc. | Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition and voice activity detection functionality |
TW202101422A (zh) | 2019-05-23 | 2021-01-01 | 美商舒爾獲得控股公司 | 可操縱揚聲器陣列、系統及其方法 |
TW202105369A (zh) | 2019-05-31 | 2021-02-01 | 美商舒爾獲得控股公司 | 整合語音及雜訊活動偵測之低延時自動混波器 |
US11297426B2 (en) | 2019-08-23 | 2022-04-05 | Shure Acquisition Holdings, Inc. | One-dimensional array microphone with improved directivity |
US11552611B2 (en) | 2020-02-07 | 2023-01-10 | Shure Acquisition Holdings, Inc. | System and method for automatic adjustment of reference gain |
CN113542795B (zh) * | 2020-04-21 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
US11706562B2 (en) | 2020-05-29 | 2023-07-18 | Shure Acquisition Holdings, Inc. | Transducer steering and configuration systems and methods using a local positioning system |
WO2022165007A1 (en) | 2021-01-28 | 2022-08-04 | Shure Acquisition Holdings, Inc. | Hybrid audio beamforming system |
CN113488068B (zh) * | 2021-07-19 | 2024-03-08 | 歌尔科技有限公司 | 音频异常检测方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002221994A (ja) * | 2001-01-26 | 2002-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体 |
US6775649B1 (en) * | 1999-09-01 | 2004-08-10 | Texas Instruments Incorporated | Concealment of frame erasures for speech transmission and storage system and method |
US20060173687A1 (en) * | 2005-01-31 | 2006-08-03 | Spindola Serafin D | Frame erasure concealment in voice communications |
-
2006
- 2006-12-19 CN CN 200610161747 patent/CN101207468B/zh not_active Expired - Fee Related
-
2007
- 2007-11-26 WO PCT/CN2007/071129 patent/WO2008074249A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775649B1 (en) * | 1999-09-01 | 2004-08-10 | Texas Instruments Incorporated | Concealment of frame erasures for speech transmission and storage system and method |
JP2002221994A (ja) * | 2001-01-26 | 2002-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体 |
US20060173687A1 (en) * | 2005-01-31 | 2006-08-03 | Spindola Serafin D | Frame erasure concealment in voice communications |
Also Published As
Publication number | Publication date |
---|---|
CN101207468A (zh) | 2008-06-25 |
WO2008074249A1 (fr) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101207468B (zh) | 丢帧隐藏方法、系统和装置 | |
CN102449690B (zh) | 用于重建被擦除语音帧的系统与方法 | |
CN1323532C (zh) | 错误隐蔽装置和方法 | |
US8412519B2 (en) | Steganography in digital signal encoders | |
CN101689369B (zh) | 用于编码和解码分音的幅度的方法和装置 | |
CN101471073B (zh) | 一种基于频域的丢包补偿方法、装置和系统 | |
AU1251895A (en) | Soft error correction in a TDMA radio system | |
CN102047325A (zh) | 基于核心编码器性能进行选择性信号代码化的方法和装置 | |
CN102881290A (zh) | 用于恢复嵌入在音频信号中的数据消息的方法和装置 | |
CN104347076A (zh) | 网络音频丢包掩蔽方法和装置 | |
CN101488344B (zh) | 一种量化噪声泄漏控制方法及装置 | |
CN101155140A (zh) | 音频流错误隐藏的方法、装置和系统 | |
CN101809657A (zh) | 用于噪声填充的方法和设备 | |
JP2022520608A (ja) | 完全フレーム損失隠蔽および部分的フレーム損失隠蔽を含む、lc3隠蔽のためのデコーダおよび復号方法 | |
MX2007009454A (es) | Metodo y aparato para facilitar la transmision de un codigo encriptado. | |
CN102273094A (zh) | 接收数字音频数据的方法 | |
RU2007132646A (ru) | Способ передачи и комплексной защиты информации | |
US9325544B2 (en) | Packet-loss concealment for a degraded frame using replacement data from a non-degraded frame | |
CN101166071A (zh) | 差错帧隐藏装置与方法 | |
CN101689370B (zh) | 音频分组接收器、音频分组接收方法 | |
CN103456307B (zh) | 音频解码器中帧差错隐藏的谱代替方法及系统 | |
KR20070059860A (ko) | 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치 | |
CN104541469A (zh) | 用于使用有关发射机的信息进行错误恢复的方法和装置 | |
CN106463122A (zh) | 突发帧错误处理 | |
CN100559468C (zh) | 在音频编码中正弦波选择 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100721 Termination date: 20161219 |