消除编码模式切换影响的方法和装置以及解码方法和装置的制作方法

文档序号:2837043阅读:274来源:国知局
专利名称:消除编码模式切换影响的方法和装置以及解码方法和装置的制作方法
技术领域
本发明涉及编解码技术,特别是指一种消除编码模式切换影响的方法和 装置以及解码方法和装置。
背景技术
随着通信技术的发展以及多媒体业务的扩展,对编码技术的要求不断提
高。增强自适应多速宽带(AMR-WB+)编码技术是目前应用于数字音频编 码的编码4支术。
图1 (a)所示为增强自适应多速宽带(AMR-WB+)编码器示意框图。 如图1 (a)所示,在AMR-WB+的编码过程中,对原始输入信号进行信号预 处理后,利用滤波器组将原始输入信号分为高频信号和低频信号,然后对高 频信号和低频信号分别采用不同编码模式编码,对高频信号采用高频编码模 式,对低频信号采用低频编码模式。
在AMR-WB+中,低频编码模式包括两种,代数码激励线性预测 (ACELP)模式和变换编码激励(TCX)模式。ACELP是一种适合于语音 信号的编码方案,TCX是一种适合于音乐信号的编码方案。在AMR-WB+ 中,对低频信号编码时,在ACELP和TCX两种编码模式之间进行切换时, 为了减少前一编码模式对当前编码模式的影响,通过以下方法实现两种编码 模式之间的切换。当对当前帧采用TCX编码模式时,如果前一帧采用ACELP 编码模式,则当前帧通过权重滤波器得到权重信号后,计算当前帧的前2个 子帧即前128点的零输入响应(ZIR),对零输入响应加窗,然后从4又重4言 号中去除加窗后的零输入响应。然后,对去除加窗的零输入响应的权重信号 进行自适应窗作用、变换域编码等。
在AMR-WB+的编码过程中,利用前一帧滤波器的输出状态,计算系统 函数Z/(z)的前128点的零输入响应。设z(")是零输入响应的值,、(")是对/Z(z)
进行ZIR计算并进行加窗处理后的值,则有 =2(")*" = 0 ~ 2 *W - 1
其中,为时域窗函数,N = 64,具有如下形式
=1 ■ " = 0 ~ JV- 1
w(") = (2*7V-")/7V " = 7V~'2*7V-1
与以上AMR-WB+编码器相对应的,图1 (b)所示为AMR-WB+解码 器示意框图。在AMR-WB+中,与低频编码模式相应的,低频解码模式也包 括两种,ACELP模式和TCX模式。如图1 (b)所示,在AMR-WB+的解码 过程中,对解码码流中的低频解码码流进行解码时,对在编码端由ACELP 编码的码流,采用ACELP才莫式解码,对在编码端由TCX编码的码流,采用 TCX模式解码。在低频解码过程中,当对当前帧采用TCX解码模式时,如 果前一帧采用ACELP解码才莫式,则在当前码流中计算系统的零输入响应, 并对其进行加窗处理后,对解码后得到的值加上加窗后的零输入响应作为当 前帧的^f直。
如上所述,在AMR-WB+中,编码模式从ACELP切换到TCX时,在 TCX编码过程中,为了消除前一帧对当前帧的影响,计算零输入响应,并 对零输入响应进行加窗,然后再用权重信号减去加窗后的零输入响应,因此, 计算复杂度高。与编码过程相对应的,在AMR-WB+中,解码模式从ACELP 切换到TCX时,在TCX解码过程中,计算零输入响应,并对零输入响应进 行加窗后,再对解码信号加上加窗后的零输入响应,因此,计算复杂度高。

发明内容
本发明实施例提供一种消除编码模式切换影响的方法,减少计算复杂度。
本发明实施例提供一种消除编码模式切换影响的装置,减少计算复杂度。
本发明实施例提供一种解码方法,减少计算复杂度。
本发明实施例提供一种解码装置,减少计算复杂度。
本发明实施例提供一种消除编码模式切换影响的方法,该方法包括接 收当前帧并确定在前一帧和当前帧所采用的编码模式不同;得到当前帧的系 统函数,计算该系统函数的零状态响应;将零状态响应值作为当前帧的值, 并对当前帧的值进行编码。
本发明实施例提供一种消除编码模式切换影响的装置,该装置包括编 码单元,编码模式确定单元,零状态响应计算单元,替换单元;其中,所述
编码单元用于对当前帧编码;所述编码模式确定单元用于确定前一帧和当前 帧采用的编码模式是否相同,并将不相同的结果发送给所述零状态响应计算 单元;所述零状态响应计算单元用于接收所述前一帧和当前帧采用的编码模 式不相同的结果后,在当前帧计算零状态响应,并将计算得到的零状态响应 值发送给所述替换单元;所述替换单元用于接收当前帧的输入信号,并用从 零状态响应计算单元接收的零状态响应值替换当前帧的输入信号,并将替换 后的当前帧的输入信号送给所述编码单元。
本发明实施例提供一种适用于所述消除编码模式切换影响的编码方法 的解码方法,接收当前帧的解码码流,根据当前帧的解码模式对当前帧进行 解码;确定前一帧和当前帧所采用的解码模式不同;对当前帧解码得到的值, 作为当前帧的值。
本发明实施例提供一种解码装置,该装置包括解码单元,解码模式确 定单元,处理单元;所述解码单元用于接收当前帧的解码码流,根据当前帧 的解码模式对当前帧进行解码;所述解码模式确定单元用于确定前一帧和当 前帧采用的解码模式是否相同,并将不相同的结果发送给所述处理单元;所 述处理单元用于接收所述前一帧和当前帧采用的解码模式不相同的结果后, 对当前帧解码得到的值,作为当前帧的值。
根据本发明提供的消除编码模式切换影响的方法和装置,在当前帧的编码过程中,如果前一帧采用与当前帧的编码模式不同的编码模式,则为了消 除前一帧对当前帧的影响,计算零状态响应的值作为当前帧的值,从而减少 算法复杂度,还能够提高编码性能。
根据本发明提供的解码方法和装置,能够适应所述消除编码模式切换影 响的编码方法,减少计算复杂度。


图1 (a)所示为现有技术中AMR-WB+编码器示意框图1 (b)所示为现有技术中AMR-WB+编码器示意框图2所示为本发明实施例1中消除编码模式切换影响的方法流程图3所示为本发明实施例2中在TCX编码过程中消除ACELP编码模式
影响的方法流程图4所示为本发明实施例3中在TCX编码过程中消除ACELP编码模式
影响的方法流程图5所示为本发明实施例4中消除编码模式切换影响的装置示意图6所示为本发明实施例5中解码流程图7所示为本发明实施例6中AMR-WB+解码流程图8所示为本发明实施例7中解码装置的结构图。
具体实施模式
为使本发明的目的、技术方案和优点更加清楚明白,下面举具体实施例, 对本发明作进一步详细的说明。
本发明实施例提供一种编码模式切换方法,其主要思想是在当前帧的 编码过程中,如果确定前一帧和当前帧所采用的编码模式不同,则为了消除 前一帧对当前帧的影响,计算当前帧的零状态响应的值作为当前帧的值。
实施例1
本实施例l给出在编码过程中,存在两种编码模式之间的切换时,消除
前一种编码模式对后一种编码模式的影响的方法。本实施例1中,两种编码
模式分别称为第一编码模式和第二编码模式。如图2所示为本实施例1中, 在编码过程中消除编码模式切换影响的方法流程图,包括以下步骤
步骤201:当对当前帧采用第二编码模式编码时,判断前一帧是否采用 第一编码模式编码,如果是,则执行步骤202;否则,如果前一帧采用第二 编码模式编码,则执行步骤203 。
本步骤的判断实际上是,如果当前帧和前一帧采用的编码模式不同,则 执行步骤202,当前帧和前一帧采用的编码模式相同,则直接执行步骤203。
步骤202:得到当前帧的系统函数,计算该系统函数的零状态响应,将 零状态响应值作为当前帧的值。
其中,系统函数是在当前帧之前通过计算得到的。系统函数的零状态响 应为在系统函数中将前一帧的系统输出置为零,当前帧的输入信号通过该 系统函数得到的响应值。具体计算步骤为计算系统函数的冲激响应,用沖 激响应巻积当前帧的输入信号,得到系统函数的零状态响应。
在此,可以只计算当前帧的有限个序列的零状态响应,并用所得到的零 状态响应值替换所述当前帧的有限个序列的值,当前帧中其它序列的值不作 任何变化。通过本步骤202,当前一帧采用第一编码模式,当前帧采用第二 编码模式时,由于在计算零状态响应时将当前帧之前的状态置为零,然后用 零状态响应值替换相应的值,所以能够消除前一帧对当前帧的影响。
为了能够平滑切换编码,还可以对零状态响应值进行加窗处理,然后用 加窗后的零状态响应值作为当前帧的值。其中,窗函数可以采用单调递增的 窗函数。
步骤203:对当前帧采用第二编码模式编码。
本实施例1中,由于在消除第一编码模式的影响时,只需要计算零状态 响应,所以,计算复杂度低,实现简单。还有,当对前一帧采用第一编码模 式编码,对当前帧采用第二编码模式编码时,可以从当前帧中消除前一帧的 影响,从而提高第二编码模式的编码性能。
本实施例l所述的方法,可以应用于任何两种编码模式的切换过程中。
例如,所述第一编码模式可以为ACELP模式,第二编码模式为变换域编码 模式,具体可以为TCX模式。下面,结合具体的编码例,详细介绍切换编 码模式的方法。
实施例2
本实施例2给出存在ACELP和TCX之间的切换时,在TCX编码过程 中,消除ACELP编码模式的影响的方法。如图1所示,对原始输入信号进 行信号预处理后,利用滤波器组将原始输入信号分为高频信号和低频信号; 对低频信号进行编码时,对语音信号采用ACELP编码模式编码,对音乐信 号采用TCX编码模式编码。在所述对低频信号进行编码时,采用TCX编码 模式编码的过程中,为了消除采用ACELP编码模式的前一帧对当前帧的影 响,通过如下步骤对当前帧进行TCX编码,如图3所示,包括以下步骤
步骤301:当前帧的输入信号通过权重滤波器,得到权重信号。
步骤302:判断前一帧是否采用ACELP编码模式编码,如果是,则执 行步骤303;否则,执行步骤305。
步骤303:在当前帧,计算有限个序列的零状态响应。
在此,所述的零状态响应是当前帧的系统函数的零状态响应。所述有限 个序列的零状态响应为在系统函数中将前一帧的输出状态置为零,当前帧 中有限个序列的输入信号通过该系统函数后得到的响应值。具体计算步骤 为计算系统函数的冲激响应,用沖激响应巻积当前帧中有限个序列的输入 信号,得到所述有限个序列的零状态响应。
在此,所述的有限个序列是当前帧前有限个连续的序列,可以是前几个 连续的子帧,例如,前2个连续的子帧,也可以是前若干个连续点。计算零 状态响应的序列长度可根据实际情况设置,可以计算前2个子帧的零状态响 应,即前128个点的零状态响应。
本步骤所迷的系统函数为
<formula>complex formula see original document page 11</formula>
其中,J(z)是通过线性预测分析得到的量化线性滤波器,<formula>complex formula see original document page 11</formula>一是合成滤
波器,<formula>complex formula see original document page 11</formula>是感知加权滤波器,<formula>complex formula see original document page 11</formula>是权重滤波器。
步骤304:在当前帧中,用得到的有限个序列的零状态响应的值替换权 重信号中相应的有限个序列。
例如,当前帧包括4个子帧,假设在步骤303中,只计算了前2个子帧 的零状态响应,则本步骤304中,将前2个子帧内的权重信号的值更新为所 述前2个子帧的零状态响应的值,而后2个子帧内的权重信号不更新。这样, 由于用零状态响应的值更新了权重信号的部分值,所以可以消除前一帧对当
前帧的影响,可以减少前一帧编码模式对当前帧的编码带来的性能损失。
步骤305:对权重信号进行TCX编码,具体可以进行自适应加窗处理、 变换域编码等。
在本步骤305中,如果前一帧采用ACELP编码模式编码,则对步骤304 中用零状态响应值替换相应值的权重信号编码;如果前一帧没有采用 ACELP编码模式编码,则直接对步骤301中通过权重滤波器得到的权重信 号编码。
对低频信号进行TCX编码时,在前一帧对当前帧的影响较小的前提下, 换句话说,在编码性能允许的前提下,可以不计算零状态响应,可以直接对 通过权重滤波器得到的权重信号进行编码。
实施例3
本实施例3提供在实施例2的基础上,增加对零状态响应的加窗处理。 图4所示为本实施例3中,采用TCX编码模式编码的过程中,消除采用 ACELP编码模式的前一帧对当前帧的影响的方法流程图。
步骤401:当前巾贞的输入信号通过权重滤波器,得到权重信号。
步骤402:判断前一帧是否采用ACELP编码模式编码,如果是,则执
行步骤403;否则,执行步骤406。
步骤403:在当前帧,计算有限个序列的零状态响应。
步骤404:对所述有限个序列的零状态响应值加窗。

有限个序列的个数为2*^, z(")是零状态响应的值,;(w)是对z(")加 窗处理后的值,则有
<formula>complex formula see original document page 12</formula>
其中,w(")是时域窗函数。在此,对零状态响应值的加窗处理可以采用 不同的窗函数进行,例如,时域的窗函数w(")可以为
<formula>complex formula see original document page 12</formula>
通过加窗,可以调整序列的能量分布,这样,能够平滑切换编码,增强 编码性能。
步骤405:在当前帧中,用得到的加窗的有限个序列的零状态响应值替 换权重信号中相应的有限个序列。
步骤406:对权重信号进行TCX编码,具体可以进行自适应加窗处理、 变换域编码等。
实施例4
实施例4给出在编码过程中消除编码模式切换影响的装置。图5所示为 在编码过程中消除编码模式切换影响的装置结构图,如图5所示,在编码过 程中消除编码模式切换影响的装置包括编码单元,编码模式确定单元,零 状态响应计算单元,替换单元。所述编码单元对当前帧编码;所述编码模式确 定单元确定前一帧和当前帧采用的编码模式是否相同,并将不相同的结果发送 给所述零状态响应计算单元;所述零状态响应计算单元接收所述前一帧和当前 帧采用的编码^t式不相同的结果后,在当前帧计算零状态响应,并将计算得到 的零状态响应值发送给所述替换单元;所述替换单元用于接收当前帧的输入信 号,并用从零状态响应计算单元接收的零状态响应值替换当前帧的输入信号,
并将替换后的当前帧的输入信号送给所述编码单元。
该装置还可以进一步包括加窗单元。所述加窗单元接收所述零状态响应计 算单元输出的零状态响应值,对零状态响应值加窗,将加窗后的零状态响应值 输出给所述替换单元。这样,替换单元用加窗后的零状态响应值替换当前帧的 输入信号。
该装置还可以进一步包括预处理单元。所述预处理单元接收当前帧的输入
信号,对输入信号进行权重滤波,得到权重信号,并传给所述替换单元;所述 替换单元用零状态响应值替换权重信号,并将替换后的权重信号送给所述编码 单元。
本实施例4所示的装置实际上是一种编码装置,用于有两种编码模式之间 切换的编码。例如,在图1所示的AMR-WB+编码器中的4氐频编码方案中,该 装置可以用于TCX编码器。
以上实施例给出能够消除编码模式切换影响的编码方法,下面给出适用于 上述编码方法的解码方法。
实施例5
本实施例5给出适用于实施例1中编码方法的解码方法。本实施例5中, 与两种编码模式相对应的两种解码模式分别称为第一解码模式和第二解码模 式。图6所示为本实施例5中解码流程图,包括以下几个步骤
步骤601:解码端接收解码码流,确定对当前帧采用的解码模式,并采用 所确定的解码模式进行解码。
在此,解码模式可以根据解码码流中携带的标志位确定。如果对当前帧釆 用第一编码模式编码,则需要采用第一解码模式解码,如果对当前帧采用第二 编码模式编码,则需要采用第二解码模式解码。
步骤602:当对当前帧采用第二解码模式解码时,判断前一帧是否采用 第一解码模式解码,如果是,则执行步骤603;否则,如果前一帧采用第二 解码模式解码,则执行步骤604。
步骤603:将采用第二解码模式解码得到的值,作为当前帧的值,结束本 流程。
步骤604:对采用第二解码模式解码得到的值进行交叠(overlap - and-add)处理,得到当前帧的值,结束本流程。
在此,overlap-and-add是已有的处理方法,是前后两帧的解码模式相同 时,对两帧之间的交叠区进行的处理。
本实施例5中,与编码端相对应的,所述第一解码模式可以为ACELP模 式,第二解码模式可以为变换域解码模式,具体可以为TCX模式。
实施例6
本实施例6给出适用于实施例2、 3编码方法的解码方法。在编码过程中, 存在ACELP和TCX编码模式之间的切换时,相应的解码流程如图7所示, 包括以下几个步骤
步骤701:解码端接收解码码流,确定对当前帧采用的解码模式,并采用 确定的解码模式进行解码。
在此,解码模式可以根据解码码流中携带的标志位确定。如果对当前帧采 用ACELP编码,则需要采用ACELP模式解码,如果对当前帧采用TCX模式 编码,则需要采用TCX模式解码。
步骤702:当对当前帧采用TCX模式解码时,判断前一帧是否采用ACELP 模式解码,如果是,则执行步骤703,否则,执行步骤704。
步骤703:将釆用TCX模式解码得到的值作为当前帧的值,转到步骤705。
在此,当前帧采用TCX模式,前一帧采用ACELP模式的情况下,两帧之 间无交叠区,因此,可以不作其他处理,从而减少解码的计算复杂度。
步骤704:对采用TCX模式解码得到的值进行overlap - and - add处理, 得到当前帧的值,转到步骤705。
步骤705:对所得到的当前帧的值,进行后续解码处理,例如滤波,得到 解码恢复的信号。
实施例7
图8所示为本实施例7中解码装置的结构图,该解码装置适用于实施例4 中的编码装置。如图8所示,解码装置包括解码单元,解码模式确定单元, 处理单元,交叠处理单元。所述解码单元接收当前帧的解码码流,根据当前帧 的解码模式对当前帧进行解码;所述解码模式确定单元确定前一帧和当前帧采 用的解码模式是否相同,并将不相同的结杲发送给所述处理单元,将相同的结 果发送给所述交叠处理单元;所述处理单元接收所述前一帧和当前帧采用的解 码模式不相同的结果后,对当前帧解码得到的值,作为当前帧的值;所述交叠 处理单元接收所述前一帧和当前帧釆用的解码模式相同的结果后,对当前帧解 码得到的值进行交叠处理,得到当前帧的值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。
权利要求
1、一种消除编码模式切换影响的方法,其特征在于,该方法包括接收当前帧并确定在前一帧和当前帧所采用的编码模式不同;获取当前帧的系统函数,计算该系统函数的零状态响应;将零状态响应值作为当前帧的值,并对当前帧的值进行编码。
2、 根据权利要求1所述的方法,其特征在于, 所述计算零状态响应之后,进一步包括对零状态响应值加窗; 将零状态响应值作为当前帧的值为将加窗后的零状态响应值作为当前帧的值。
3、 根据权利要求l或2所述的方法,其特征在于, 所述系统函数为合成滤波器与权重滤波器的乘积; 所述合成滤波器通过线性预测分析得到。
4、 根据权利要求1或2所述的方法,其特征在于,所述计算该系统函数的零状态响应为在系统函数中将前一帧的系统输出 置为零,计算当前帧的输入信号通过该系统函彩:得到的响应值。
5、 根据权利要求1或2所述的方法,其特征在于, 所述计算零状态响应为计算当前帧序列中的有限个序列的零状态响应。
6、 根据权利要求5所述的方法,其特征在于,所述将零状态响应值作为当 前帧的值为将所述有限个序列的零状态响应值作为所述当前帧中相应的有限 个序列的值。
7、 根据权利要求5所述的方法,其特征在于,所述当前帧序列中有限个序 列为当前帧的前有限个连续的序列。
8、 根据权利要求6所述的方法,其特征在于,所述计算该系统函数的零状态响应之前,进一步包括当前帧的输入信号 通过权重滤波器得到权重信号;所述将有限个序列的零状态响应值作为所述当前帧中相应的有限个序列的 值为将当前帧中有限个序列的权重信号更新为所述有限个序列的零状态响应值。
9、 根据权利要求1所述的方法,其特征在于,所迷当前帧采用的编码模式 为变换域编码模式,所述前一帧采用的编码模式为代数码激励线性预测ACELP 模式。
10、 一种消除编码模式切换影响的装置,其特征在于,该装置包括编码 单元,编码模式确定单元,零状态响应计算单元,替换单元;所述编码单元用于对当前帧编码;所述编码模式确定单元用于确定前一帧和当前帧采用的编码模式是否相 同,并将不相同的结果发送给所述零状态响应计算单元;所述零状态响应计算单元用于接收所述前一帧和当前帧采用的编码模式不 相同的结果后,在当前帧计算零状态响应,并将计算得到的零状态响应值发送 给所述替换单元;所述替换单元用于接收当前帧的输入信号,并用从零状态响应计算单元接 收的零状态响应值替换当前帧的输入信号,并将替换后的当前帧的输入信号送 给所述编码单元。
11、 根据权利要求IO所述的装置,其特征在于,该装置进一步包括加窗 单元;所述加窗单元用于接收所述零状态响应计算单元输出的零状态响应值,对 零状态响应值加窗,将加窗后的零状态响应值输出给所述替换单元。
12、 根据权利要求10或11所述的装置,其特征在于,该装置进一步包括: 预处理单元;所述预处理单元用于接收当前帧的输入信号,对输入信号进行权重滤波,得到权重信号,并传给所述替换单元;所述替换单元用于用零状态响应值替换权重信号,并将替换后的权重信号 送给所述编码单元。
13、 一种适用于权利要求1所述的编码方法的解码方法,其特征在于,该方法包括接收当前帧的解码码流,根据当前帧的解码模式对当前帧进行解码; 确定前一帧和当前帧所采用的解码模式不同; 对当前帧解码得到的值,作为当前帧的值。
14、 根据权利要求13所述的方法,其特征在于,所述当前帧采用的解码模式为变换域解码模式,所述前一帧采用的编码模 式为ACELP才莫式。
15、 一种解码装置,其特征在于,该装置包括解码单元,解码模式确定 单元,处理单元;所述解码单元用于接收当前帧的解码码流,根据当前帧的解码模式对当前 帧进行解码;所述解码模式确定单元用于确定前一帧和当前帧采用的解码模式是否相 同,并将不相同的结果发送给所述处理单元;所述处理单元用于接收所述前一帧和当前帧采用的解码模式不相同的结果 后,对当前帧解码得到的值,作为当前帧的值。
16、 根据权利要求15所述的装置,其特征在于,该装置进一步包括交叠 处理单元;所述解码模式确定单元用于将解码模式相同的结果发送给所述交叠处理单元;所述交叠处理单元用于接收所述前一帧和当前帧采用的解码模式相同的结 果后,对当前帧解码得到的值进行交叠处理,得到当前帧的值。
全文摘要
本发明公开了一种消除编码模式切换影响的方法,该方法包括接收当前帧并确定在前一帧和当前帧所采用的编码模式不同;得到当前帧的系统函数,计算该系统函数的零状态响应;将零状态响应值作为当前帧的值,并对当前帧的值进行编码。本发明还公开了一种消除编码模式切换影响的装置,该装置包括编码单元,编码模式确定单元,零状态响应计算单元,替换单元。本发明还公开了一种适用于所述消除编码模式切换影响的编码方法的解码方法和装置。根据本发明公开的方法和装置,能够减少算法复杂度,还能够提高编码性能。
文档编号G10L19/00GK101197134SQ200710006008
公开日2008年6月11日 申请日期2007年1月23日 优先权日2006年12月5日
发明者丽 刘, 清 张, 曹军彬, 伟 李, 杜正中, 桑盛虎, 许丽净, 许剑峰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1