编解码方法及装置的制作方法

文档序号:2837042阅读:263来源:国知局
专利名称:编解码方法及装置的制作方法
技术领域
本发明涉及编解码技术领域,尤其涉及一种编解码方法及装置。
技术背景随着多媒体业务的逐渐广泛应用,由于多媒体业务的自身特性使得在针 对多媒体业务的编码过程中需要更高的编码效率和实时性,同时,相应的音 频的编码带宽也需要进一步扩展。目前,业界采用的能够满足低码率,高质量音频编码的技术包括AMR-WB+ (Adaptive Multi-Rate Wideband codec,适应多速率的宽带多媒体信号编 解码器)技术。基于AMR-WB+的编码器主要包括以下两种编码模式(1) ACELP (Algebraic Code Excited Unear Prediction,代数码激 励线性预测)模式,用于对语音进行编码;(2) TCX (Transform Coded excitation,变换码激励)模式,用于对 乐音进行编码。该AMR-WB+技术是通过对低码率的语音编码进行扩展而形成,具体是将针 对语音的ACELP编码和针对乐音的TCX编码结合在一起形成的 一种混合编码方 式。在对每帧进行编码过程中,具体是通过比较两种模式的SEGSNR (分段信 噪比)值来决定当前选择的编码模式。其中, 一种模式切换情况为;前一帧 采用的是ACELP编码模式,当前帧需要采用TCX编码模式;在这种情况下,需 要在编码过程中采用相应的策略以消除帧间的不连续性。由于前一帧状态所 得的零输入响应和当前帧起始部分的信号有很大相似性,为了使模式转换时能保持良好的平滑感,AMR-WB+在ACELP编码帧到TCX编码帧的转换时使用了去 除零输入响应的实现方案。对于前一帧采用ACELP编码模式,当前帧采用TCX编码模式的模式切换情 况,相应的TCX编码的实现过程如

图1所示,在编码过程中,输入的音频信号 首先通过感知加权滤波器后进行判断,之后,在感知加权后的信号中减去加 窗处理后的ZIR (零输入响应),进而对获得的信号添加自适应窗、进行变换 域编码等处理,以获得相应的TCX编码码流。与图l对应,同样模式切换情况下,相应的TCX解码的实现过程如图2所 示,输入的TCX编码的码流在通过变换域解码、加窗并重叠相加后,由于前一 帧采用ACELP编码模式,故在此需要给变换域解码的数据加上加窗处理后的 ZIR,进而再通过逆感知加权重建音频信号,完成相应的TCX解码操作。在AMR-WB+涉及的上述TCX编解码过程中,所述加窗处理后的ZIR值(即 、("))的计算方式如下采用前一帧滤波器的输出状态,求合成加权感知滤波器零输入响应1 、/0.92) JO) 1-0.68z-1 ,其中,1/J(z)是合成滤波器,J(z/0.92)/(l-0.68z-')是感知加权滤波器;设 是零输入响应的值,是对进行ZIR计算并进行加窗处理后的值, zw(") = z(")*m<"),当"=0至2*〃一1; 在jt匕w(/7)-l, 当w二o至yv—i; w(") = (2*7V-/i)/A^ ,当"= 〃至2*^-1; w(")的形状如图3所示,yV为64。通过上述计算zJ")值的处理过程可以看出,现有技术提供的在AMR-WB+ 中消除帧间不连续的编解码方案,由于其理论依据是建立在零输入响应和当 前帧起始部分的信号相似性基础上,因此,当零输入响应和当前帧起始部分的信号不相似时,则相应的消除帧间不连续的效果无法得到保证。而且,还 由于在消除帧间不连续的处理过程中,需要计算合成加权滤波器的零输入响应,且相应的算法复杂度相对较高,从而使得编解码过程的实现复杂程度也会相应提高。发明内容本发明的实施例提供了一种编解码方法及装置,从而可以使得编解码过 程中,实现消除帧间不连续的处理过程的复杂程度降低,进而降低了编解码 过程的实现复杂度。本发明的实施例提供了一种编码方法,包括确定前一帧采用的是第 一编码模式进行编码,且当前帧需要采用第二编 码模式进行编码;根据确定的当前帧与前一帧的编码数据的交迭部分数据长度,获取对应 的前一 帧中的所述交迭部分数据长度的编码数据;将从前一帧中获取的编码数据与当前帧的编码数据进行第二编码模式编 码处理,获得编码结果。本发明的实施例提供了一种编码装置,包括编码模式切换识别单元、前 一编码帧交迭数据获取单元和第二编码单元,其中编码模式切换识别单元,在确定前一帧采用的是第一编码模式进行编 码,且当前帧需要采用变换域编码模式进行编码后,触发所述前一编码帧交 迭数据获取单元;前一编码帧交迭数据获取单元,用于根据确定的当前帧与前一帧的编码 数据交迭部分数据长度,获取对应的前一帧中相应长度的编码数据,并提供 给第二编码单元;第二编码单元,将前一编码帧交迭数据获取单元获取的编码数据与当前帧的编码数据进行交迭处理,获得编码结果。本发明的实施例^^供了一种解码方法,包括对接收到的码流进行解码操作,并确定前一帧采用第 一解码模式解码获 得,当前帧为采用第二解码模式解码获得;根据确定的当前帧与前一帧的解码数据交迭部分数据长度,获取对应的 前一帧中的所述交迭部分数据长度的解码数据;将从前一帧中获取的解码数据与当前帧的解码数据进行交迭处理,获得 解码结果。本发明的实施例提供了一种解码装置,包括解码模式切换识别单元、前 一解码帧交迭数据获取单元和第二解码单元,其中解码模式切换识别单元,用于在根据解码后的码流中的信息确定前一帧采用第一解码模式解码获得,当前帧为采用第二码解码模式解码获得后,触 发前一解码帧交迭数据获取单元;前一解码帧交迭数据获取单元,用于根据确定的当前帧与前一帧的解码 数据交迭部分数据长度,获取对应的前一帧中相应长度的解码数据,并提供 给第二解码单元;第二解码单元,用于将前一解码帧交迭数据获取单元获取的解码数据与 当前帧的解码数据进行交迭处理,获得解码结果。由上述本发明的实施例提供的技术方案可以看出,本发明提供的实施例 无需通过滤波器运算便可以实现相应的模式切换编解码处理,从而使得整个 编解码过程运算复杂度不高,进而更易于软硬件的实现。同时,本发明提供 的实施例还可以在零输入响应和当前帧起始部分的信号不相似情况下,使得 消除帧间不连续的效果能够得到有效保证附困说明图1为现有技术中TCX编码过程的原理框图; 图2为现有技术中TCX解码过程的原理框图;图3为现有技术中计算加窗处理后的ZIR值过程中应用的时域窗函数M^) 的示意图;图4为本发明实施例中TCX编码过程的原理框图;图5为本发明实施例中TCX解码过程的原理框图;图6为本发明实施例中输入语音帧结构示意图;图7为本发明实施例中加窗处理后的窗形示意图;图8为本发明实施例中解码过程中帧间交迭平滑的示意图;图9为本发明实施例中提供的编解码装置的具体实现结构示意图。
具体实施方式
本发明提供的编码的实施例包括首先,确定前一帧采用的是第一编码 模式进行编码,且进一步确定当前帧需要采用第二编码模式进行编码,即确 定编码过程中发生的编码模式的切换;则此时需要根据确定的当前帧与前一 帧及后 一 帧的编码数据交迭部分数据长度,获取对应的前一 帧及后 一 帧中的 所述交迭部分数据长度的编码数据;最后,对从前一帧及后一帧数据中获取 的编码数据及当前帧的编码数据进行基于第二编码模式的编码处理,获得编 码结果。其中,所述的交迭部分数据长度为根据各编码帧的帧长确定并预先 设置于编码器中,且所述编码帧的帧长越长则对应的所述交迭部分数据长度 也越长。需要说明的是,在该实施例中,假设所述的当前帧与前一帧的编码数据 交迭部分数据长度为第一长度,所述当前帧与后一帧的编码数据交迭部分数 据长度为第二长度,则优选地,所述第一长度可以与第二长度相同;当然, 相应的实施例在具体应用过禾呈中并不限定为两长度Y直一定相同。本发明提供的实施例中,所述的第一编码模式具体可以但不限于为线性预测编码模式,所述的第二编码模式可以但不限于为变换域编码;进一步, 相应的实施例可以应用于各种线性预测编码与变换i^编码之间的才莫式切换编 码过程中,例如,由ACELP编码到TCX编码之间的模式切换,等等。对应的,本发明提供的解码的实施例包括在对接收码流进行解码操 作,并确定接收到的码流中的前一帧釆用第一解码模式解码获得,当前帧为 采用第二解码模式解码获得后,则根据确定的当前帧与前一帧的解码数据对 应的交迭部分的数据长度,获取对应的前一 帧中的所述交迭部分数据长度的 解码数据;之后,将从前一帧中获取的解码数据与当前帧的解码数据进行交 迭处理,具体为将前一帧中的所述交迭部分数据长度的解码数据与当前帧的 解码数据的头部进行加窗叠加处理,获得解码结果。以AMR-WB+编码为例,针对由ACELP编码(即线性预测编码)帧到TCX编码 (即变换域编码)帧的转换处理过程,本发明的实施例提出了的一种ACELP与 TCX编码模式切换的交迭平滑技术,其能够在保证码率不变的情况下获得更好 的帧间平滑效果。且在应用所述实施例过程中,不需要通过复杂的合成感知 加权滤波器计算,从而使得与现有技术中的AMR-WB+的模式间平滑技术相比, 相应的计算复杂度有所降低。也就是说,本发明的实施例主要是采用模式间交迭平滑技术实现两种编 码模式之间切换时对编码所造成的影响,本实施例通过TCX编解码处理,以提 高TCX编解码效率,降低TCX编解码复杂程度。下面将对本发明提供的基于模 式间交迭平滑技术的TCX编解码技术方案进行说明(一)采用模式间交迭平滑技术的TCX编码方案该方案的具体实现如图4所示,对于输入的需要进行TCX编码操作的TCX帧信号,具体是通过感知加权滤波器,自适应加窗和变换域编码处理,以获得 到经TCX编码后的码流;其中,如果前一帧采用的是ACELP模式编码,则当前输入的TCX帧信号将与后一帧交迭的数据长度减半,同时,将省出的空间采用 前一帧最后一个子帧的若干个釆样点值进行补足处理,即分别采用前一帧和 后 一 帧的交迭部分的编码数据与当前帧编码数据 一起进行编码处理,以实现 帧间的平滑处理。可以看出,在该图4所示的实施例中,无需再进行零输入响应的去除操 作,从而可以简化编码过程中的复杂程度,同时,由于当前帧与前、后帧之 间分别采用了交迭数据进行平滑操作,从而可以实现帧间的有效平滑处理。 (二)采用模式间交迭平滑技术的TCX解码方案与上述TCX编码方案对应,相应的TCX解码方案的实现结构框图如图5所 示,在解码处理过程中,TCX解码器接收到TCX编码器发送来的经TCX编码后的 码流,之后通过变换域解码,加窗和TCX模式内的重叠相加,然后再通过逆感 知加权滤波器得到合成音频信号;其中,若前一帧采用的是ACELP编码模式, 则在解码端,采用与上述编码端对应的处理策略,利用前一帧的解码结果中 与当前帧交迭部分进行交迭处理,以获得当前帧的解码结果;参照上述编码 过程中的实例,则在TCX解码器中,将当前帧的起始交迭部分和上一帧ACELP 合成信号的最后一子帧做加窗交迭,以得到最终的合成音频信号。为便于对本发明实施例的理解,下面将结合附图对本发明实施例提供的 编解码算法做详细描述,即对前一帧采用ACELP编码模式,当前帧采用TCX编 码模式的情况下的编解码过程进行说明。(一)编码过程仍参照图4所示,对于前一帧使用ACELP模式编码的情况,且当前帧需要 使用TCX编码时,则具体可以采用的帧间交迭技术包括根据当前帧TCX编码才莫式(如编码帧长分别为256、 512或1024的TCX编码 模式),将前一帧ACELP处理过的最后若干个音频数据(例如可以为16、 32或64点speech数据)和当前帧音频数据一起进行TCX编码,所述的最后若干个音 频数据是指根据编码帧长确定的与前一帧交迭部分数据长度的音频数据;相应的TCX编码器输入的音频帧结构如图6所示,其中,L—frame表示当前 帧TCX编码的帧长,可以为256、 512或1024分别对应TCX的三种编码模式;其 中,Ll表示与前一帧交迭所取音频信号的长度,L2是为了与下一帧进行 overlap (交迭)所取音频信号的采样点数,L则表示当前帧所处理的实际音 频信号长度;图6中的各参数值具体可以为当L—frame-256时,Ll=16, L2=16, L=288;当L—frame-512时,Ll=32, L2=32, L=576;当L—frame-1024时,Ll=64, L2-64, L=1152。因此,当前帧与前一帧交迭的长度是随TCX编码模式的变化而变化的,具 有自适应的效果。同时,此方法所处理TCX每帧speech信号的实际帧长和AMR-WB+匹配,保证了编码的正确性。所述的需要进行TCX编码操作的speech信号通过感知加权滤波器处理后, 进行自适应加窗操作的窗形参照图7所示,其中w(n)=sin(2n/(4L2)),其中,n=L2,…,(2L厂1 );其中,w(n)是指图7中L2所示部分;也就是说,对前一帧交迭的部分没有 加窗,而对与后一帧的交迭的部分加余弦窗w(n);而且,因为设置了与前一帧的交迭部分,因此,该余弦窗的窗长仅是 AMR-WB+的一半。另外,当下一帧还是TCX编码时,则下一帧帧头所加的窗长要和L2长度一致,即相应的交迭部分长度应和当前帧一致,以保证帧间的平滑效果。 (二)解码过程与上述编码过程对应,TCX解码器从接收到的当前帧TCX编码码流中,解 码得到当前帧的合成音频信号,将其头部交迭部分与前一帧ACELP的解码的音 频信号加窗做叠加,从而得到最终的合成音频输出。具体为将前一帧ACELP编码解出的合成音频信号和当前帧TCX编码所解 码出的音频信号进行如图8所示的加窗操作,然后,将交迭部分进行叠加得到 最后的合成音频信号。参照图8所示,在交迭部分采用了三角窗,对ACELP最后L1个样点的合成 音频信号采用W2(n)表示,对TCX交迭部分的合成音频信号采用w,(n)表示,则 相应的合成音频信号具体如下式所示(1 ) w,(n)-n/Ll, for n = 0,…,L,;(2 ) w2 (n) = (L1-n) /Ll , for n = 0,…,L,;经过上述过程,便可以顺利地完成相应的TCX解码操作,以获得相应的 TCX解码搡作结果。本发明还提供了一种编解码装置的实施例,具体如图9所示,具体包括 编码装置及解码装置,下面将分别对该两装置的具体实现结构进行描述。 (一)编码装置该装置具体包括编码模式切换识别单元、前一编码帧交迭数据获取单 元、后一编码帧交迭lt据获取单元和第二编码单元,其中编码才莫式切换识别单元,在确定前一帧釆用第一编码才莫式进行编码,且 当前帧需要采用第二编码模式进行编码后,触发所述前一编码帧交迭数据获 取单元及后一编码帧交迭数据获取单元;前一编码帧交迭数据获取单元,根据确定的当前帧与前一帧的编码数据 交迭部分数据长度,获取对应的前一帧中相应长度的编码数据,例如,获取 前一帧中的相应长度的编码数据,并提供给变换域编码单元;后 一编码帧交迭数据获取单元,根据确定的当前帧与后 一帧的编码数据 交迭部分数据长度,获取对应的后一帧中相应长度的编码数据,并提供给变换域编码单元;其中,以TCX编码模式作为第二编码模式为例,考虑到目前 TCX帧之间的编码过程中需要采用相应的平滑处理方案,故在该装置实施例 中可以仍采用该单元,以进行相应的帧间平滑处理;第二编码单元,将前一编码帧交迭数据获取单元及后一编码帧交迭数据 获取单元获取的编码数据与当前帧的编码数据进行交迭处理,获得编码结 果,从而实现帧间的平滑处理。在该装置中,所述的前一帧交迭数据获取单元及后一帧交迭数据获取单 元中采用的交迭部分数据长度为根据各编码帧的帧长预先确定;具体一点 讲,假设所述的前一帧交迭数据获取单元中采用的交迭部分数据长度为第一 长度,与所述后一帧交迭数据获取单元中采用的交迭部分数据长度为第二长 度,则所述第一长度与第二长度之间相同,但不限于一定相同。(二)解码装置该装置具体包括解码模式切换识别单元、前一解码帧交迭数据获取单元 和第二解码单元,其中解码模式切换识别单元,用于在对接收到的码流进行解码操作后,若进 一步确定收到的码流中的前一帧采用第 一解码-漠式解码获得,当前帧为采用 第二解码模式解码获得,则触发所述前一解码帧交迭数据获取单元;前一解码帧交迭数据获取单元,用于根据确定的当前帧与前一帧的解码数据交迭部分数据长度,获取对应的前一帧中相应长度的解码数据,并提供 给第二解码单元;第二解码单元,用于将前一解码帧交迭数据获取单元获取的解码数据与 当前帧的解码数据进行加窗交迭处理,获得解码结果;交迭部分数据长度的确定单元,用于根据收到的码流中的指示信息确定所述交迭部分数据长度,并提供给所述前一解码帧交迭数据获取单元,例 如,在码流中将编码模式(即编码帧的帧长)传递给解码端,解码端收到所 述编码模式后则根据该编码模式确定对应的所述交迭部分数据长度值,当 然,也可以通过其他指示信息指示解码端可以采用的交迭部分数据长度值。在上述装置中,所述的第一编码模式为线性预测编码模式,所述的第二 编码模式为变换域编码。需要说明的是,本发明提供的各实施例同样适用于两种不同编码或解码 模式之间进行切换时造成的问题。具体可以通过对前后两种编码模式进行交 叠编码处理,从而平滑由于切换带来的编码解码质量损失,提高编解码质量。例如,具体还可以应用于由ACELP编码模式到AAC (高级音频编码)模 式之间的转换平滑处理,或者,应用于由CELP (线性预测激励编码)模式 到AAC模式之间的转换平滑处理,或者,由ACELP编码模式到MDCT (改进 的离散余弦变换)编码模式之间的转换平滑处理,等等。综上所述,由于在解码端合成音频信号上直接做交迭运算,因而可以获 得较好的帧间平滑效果。而且,本发明提供的实施例无需通过滤波器运算, 从而使得整个编解码过程运算复杂度不高,更易于软硬件的实现。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应该以权利要求的保护范围为准。
权利要求
1. 一种编码方法,其特征在于,该方法包括确定前一帧采用的是第一编码模式进行编码,且当前帧需要采用第二编码模式进行编码;根据确定的当前帧与前一帧编码数据的交迭部分数据长度,获取对应的前一帧中的所述交迭部分数据长度的编码数据;对获取的前一帧中获取的编码数据和当前帧的编码数据进行第二编码模式编码处理,获得编码结果。
2、 根据权利要求1所述的方法,其特征在于,所述的第一编码模式为线 性预测编码模式,所述的第二编码模式为变换域编码。
3、 根据权利要求1所述的方法,其特征在于,所述的交迭部分数据长度 的确定方式包括根据各编码帧的帧长确定对应的所述交迭部分数据长度。
4、 根据权利要求1、 2或3所述的方法,其特征在于,所述的方法还包 括根据确定当前帧与后一帧的编码数据交迭部分数据长度获取后一帧中的 编码数据,并将获取的编码数据与从前一帧中获取的编码数据及当前帧的编 码数据进行变换域编码处理。
5、 根据权利要求4所述的方法,其特征在于,所述的当前帧与前一帧的 编码数据交迭部分数据长度,和所述当前帧与后一帧的编码数据交迭部分数 据长度相同。
6、 一种编码装置,其特征在于,包括编码模式切换识别单元、前一编码 帧交迭数据获取单元和变换域编码单元,其中编码模式切换识别单元,用于在确定前一帧采用的第一编码模式进行编码,且当前帧需要采用第二编码模式进行编码后,触发所述前一编码帧交迭数据获取单元;前一编码帧交迭数据获取单元,用于根据确定的当前帧与前 一 帧的编码 数据交迭部分数据长度,获取对应的前一帧中相应长度的编码数据,并提供 给变换域编码单元;第二编码单元,对前一编码帧交迭数据获取单元获取的编码数据及当前 帧的编码数据进行第二编码模式编码处理,获得编码结果。
7、 根据权利要求6所述的装置,其特征在于,所述的第一编码模式为线 性预测编码模式,所述的第二编码模式为变换域编码。
8、 根据权利要求6所述的装置,其特征在于,所述的前一帧交迭数据获 取单元及后一帧交迭数据获取单元中采用的交迭部分数据长度为根据各编码 帧的帧长预先确定。
9、 根据权利要求6、 7或8所述的装置,其特征在于,所述的方法还包括 后一编码帧交迭数据获取单元,用于根据确定的当前帧与后一帧的编码数据 交迭部分数据长度,获取对应的后一帧中相应长度的编码数据,并提供给变 换域编码单元进行编码操作。
10、 根据权利要求9所述的装置,其特征在于,所述的前一帧交迭数据 获取单元中采用的交迭部分数据长度,与所述后一帧交迭数据获取单元中采 用的交迭部分数据长度相同。
11、 一种解码方法,其特征在于,包括对接收到的码流进行解码操作,并确定前一帧采用第一解码模式解码获 得,当前帧为采用第二解码模式解码获得;根据确定的当前帧与前一帧的解码数据交迭部分数据长度,获取对应的 前一帧中的所述交迭部分数据长度的解码数据;将从前一帧中获取的解码数据与当前帧的解码数据进行交迭处理,获得解码结果。
12、 根据权利要求11所述的方法,其特征在于,所述的第一编码模式为 线性预测编码模式,所述的第二编码模式为变换域编码。
13、 根据权利要求11所述的方法,其特征在于,所述的交迭部分数据长 度的确定方式包括根据收到的码流中的指示信息确定所述交迭部分数据长度。
14、 一种解码装置,其特征在于,包括解码模式切换识别单元、前一解 码帧交迭数据获取单元和第二解码单元,其中解码模式切换识别单元,用于在根据解码后的码流中的信息确定前一帧 为采用第一解码模式解码获得,当前帧为采用第二解码模式解码获得后,触 发前一解码帧交迭数据获取单元;前一解码帧交迭数据获取单元,用于根据确定的当前帧与前一帧的解码 数据交迭部分数据长度,获取对应的前一帧中相应长度的解码数据,并提供 给变换域解码单元;第二解码单元,用于将前一解码帧交迭数据获取单元获取的解码数据与当前帧的解码数据进行交迭处理,获得解码结果。
15、 根据权利要求14所述的装置,其特征在于,所述的第一编码模式为 线性预测编码模式,所述的第二编码模式为变换域编码。
16、 根据权利要求14或15所述的装置,其特征在于,所述的装置还包括 交迭部分数据长度的确定单元,用于根据收到的码流中的指示信息确定所述 交迭部分数据长度。
全文摘要
本发明涉及一种编解码方法及装置,其主要包括在确定前一帧采用的是第一编码模式进行编码,且当前帧需要采用第二编码模式进行编码后,则根据确定的当前帧与前一帧的编码数据交迭部分数据长度,获取对应的前一帧中的所述交迭部分数据长度的编码数据;之后,将从前一帧中获取的编码数据与当前帧的编码数据进行第二编码模式编码处理,获得编码结果。并在解码端,采用对应的方式进行相应的解码处理。因此,本发明中,无需通过滤波器运算便可以实现相应的变换域编解码处理,从而使得整个模式切换下的变换域编解码过程运算复杂度不高,易于软硬件的实现。
文档编号G10L19/00GK101231850SQ20071000600
公开日2008年7月30日 申请日期2007年1月23日 优先权日2007年1月23日
发明者刘佩林, 清 张, 伟 李, 杜正中, 桑盛虎, 晨 胡, 许丽净, 许剑峰, 炜 郭 申请人:华为技术有限公司;上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1