发明内容
本发明实施例提供的编码、解码方法、编码器、解码器及编解码系统,用以实现提高编解码效率。
本发明实施例提供了一种切换帧编码方法,包括:
根据原始图像和/或已重构图像,获取预测值;
将所述预测值进行变换域处理;
将变换域处理后的预测值依次进行量化和反量化处理;
根据反量化处理后的预测值与原始图像变换域参数获取残差;
将所述残差进行熵编码,获得切换帧编码数据;
将所述残差进行量化处理;
将经过量化处理后的残差进行反量化处理;
根据反量化处理后的预测值和反量化处理后的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种辅助切换帧SSP帧编码方法,包括:
根据原始图像和/或已重构图像,获取第一码流的预测值和第二码流的预测值;
分别将所述第一码流的预测值和所述第二码流的预测值进行变换域处理;
分别将变换域处理后的第一码流的预测值和第二码流的预测值依次进行量化和反量化处理;
获得量化处理后的第一码流的预测值和量化处理后的第二码流的预测值的差值;
将所述差值、第一码流的运动矢量、第一码流的模式信息以及量化处理后第二码流的残差进行熵编码,得到辅助切换帧的编码数据,所述第二码流的 残差根据所述第二码流的预测值与所述原始图像变换域参数相减得到;
根据反量化处理后的第二码流的预测值与原始图像变换域参数获第二码流的取残差;
并将所述第二码流的残差进行量化处理;
将经过量化处理后的第二码流的残差进行反量化处理;
根据反量化处理后的第二码流的预测值和反量化处理后的第二码流的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种辅助切换帧SI帧编码方法,包括:
根据原始图像和/或已重构图像,获取第一次预测编码的第一预测值,并通过帧内预测获取第二次预测编码的第二预测值;
分别将所述第一预测值和第二预测值进行变换域处理;
分别将变换域处理后的第一预测值和第二预测值依次进行量化和反量化处理;
获得量化处理后的第一次预测编码的第一预测值和量化处理后的第二次预测编码的第二预测值的差值;
根据反量化处理后的第一预测值与原始图像变换域参数获取第一次预测编码的残差;
将所述第一次预编码的残差进行量化处理;
将所述差值、第二次预测编码的模式信息以及量化处理后的所述第一次预测编码的残差进行熵编码,得到辅助切换帧的编码数据;
将经过量化处理后的残差进行反量化处理;
根据反量化处理后的第一预测值和反量化处理后的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种切换帧编码方法,包括:
根据原始图像和/或已重构图像,获取预测值;
将所述预测值进行变换域处理;
将变换域处理后的预测值依次进行量化和反量化处理;
根据反量化处理后的预测值与原始图像变换域参数获取残差;
将所述残差进行熵编码,获得切换帧编码数据;
将所述残差进行量化处理;
将经过量化处理后的残差进行反量化处理;
根据反量化处理后的预测值和反量化处理后的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种切换帧解码方法,包括:
获取预测值,并将所述预测值进行变换域处理后,再依次进行量化和反量化处理;
将切换帧编码数据进行解码,获得残差;
根据反量化处理后的预测值以及反量化处理后的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种辅助切换帧SSP帧解码方法,包括:
将辅助切换帧编码数据进行解码,获得第一码流的运动矢量、第一码流的模式信息、第一码流的预测值与第二码流的预测值的差值以及第二码流的残差;
根据所述第一码流的运动矢量或第一码流的模式信息,获取第一码流的预测值;
将所述第一码流的预测值进行变换域处理;
将变换域处理后的第一码流的预测值进行量化处理;
将量化处理后的第一码流的预测值与所述差值相加,得到第二码流的预测值;
将第二码流的预测值进行反量化处理;
根据反量化处理后的第二码流的预测值与进行反量化处理后的第二码流的残差,得到第二码流的重构值;
将所述第二码流的重构值进行反变换域处理,得到第二码流的重构图像。
本发明实施例提供了一种辅助切换帧SI帧解码方法,包括:
将辅助切换帧编码数据进行解码,获得第二次预测编码的模式信息、第一次预测编码的第一预测值与第二次预测编码的第二预测值的差值以及第一次预测编码的残差;
根据所述第二次预测编码的模式信息,采用帧内预测获取所述第二预测值;
将所述第二预测值进行变换域处理;
将变换域处理后的第二预测值进行量化处理;
将量化处理后的第二预测值与所述差值相加,得到所述第一预测值;
将所述第一次预测编码的重构值进行反变换域处理,得到第一次预测编码的重构图像。
根据反量化处理后的第一预测值和进行反量化处理后的第一次预测编码的残差,获得第一次预测编码的重构值;
将所述第一次预测编码的重构值进行反变换域处理,得到第一次预测编码的重构图像。
本发明实施例提供了一种切换帧解码方法,包括:
获取预测值,并将所述预测值进行变换域处理后,再依次进行量化和反量化处理;
将编码数据进行解码,获得残差;
根据反量化处理后的预测值以及反量化处理后的残差,获得重构值;
将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种切换帧编码器,包括:
编码预测模块,用于根据原始图像或已重构图像获取预测值,将所述预测值进行变换域处理,将变换域处理后的预测值依次进行量化和反量化处理;
残差处理模块,用于根据反量化处理后的预测值与原始图像变换域参数获取残差,将所述残差进行量化处理;
编码重构模块,用于将经过量化处理后的残差进行反量化处理;根据反量化处理后的预测值和反量化处理后的残差,获得重构值;将所述重构值进行反变换域处理,得到重构图像;
编码模块,用于根据所述残差,获得编码数据。
本发明实施例提供了一种切换帧解码器,包括:
解码预测模块,用于获取预测值,并将所述预测值进行变换域处理后, 再依次进行量化和反量化处理;
解码模块,用于将编码数据进行解码,获得残差;
解码重构模块,用于根据反量化处理后的预测值以及反量化处理后的残差,获得重构值;将所述重构值进行反变换域处理,得到重构图像。
本发明实施例提供了一种切换帧编解码系统,包括:编码器和解码器;
所述编码器包括:
编码预测模块,用于根据原始图像或已重构图像获取编码预测值,将所述编码预测值进行变换域处理,将变换域处理后的预测值依次进行量化和反量化处理;
残差处理模块,用于根据反量化处理后的编码预测值与原始图像变换域参数获取残差,将所述残差进行量化处理;
编码重构模块,用于将经过量化处理后的残差进行反量化处理;根据反量化处理后的编码预测值和反量化处理后的残差,获得重构值;将所述重构值进行反变换域处理,得到重构图像;
编码模块,用于根据所述残差,获得编码数据;
所述解码器包括:
解码预测模块,用于获取解码预测值,并将所述解码预测值进行变换域处理后,再依次进行量化和反量化处理;
解码模块,用于将编码数据进行解码,获得残差;
解码重构模块,用于根据反量化处理后的解码预测值以及所述残差,获得重构值;将所述重构值进行反变换域处理,得到重构图像。
本发明实施例在重构环中不进行量化和反量化处理,减少了失真度;而预测环中的量化和反量化处理并不影响重构过程,不影响图像的失真,从而提高了R-D性能,提高了编解码效率,并且降低了编解码复杂度。
具体实施方式
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
如图3所示,为本发明实施例编码方法的流程图,本实施例具体包括如下步骤:
步骤101、根据原始图像和/或已重构图像,获取预测值;
步骤102、将预测值进行变换域处理;
步骤103、将变换域处理后的预测值依次进行量化和反量化处理;
步骤104、根据反量化处理后的预测值与原始图像变换域参数获取残差,并将残差进行量化处理;
步骤105、将经过量化处理后的残差进行反量化处理;
步骤106、根据反量化处理后的预测值和反量化处理后的残差,获得重构值;
步骤107、将重构值进行反变换域处理,得到重构图像;
本实施例还包括:步骤108、根据残差,获得编码数据;本步骤的执行顺序可以与步骤105、106和107交换。
本实施例中,在重构环中不进行量化和反量化处理,减少了失真;而预测环中的处理并不影响重构过程,不影响图像的失真,提高了R-D性能,提高了编码效率,并且降低了编码复杂度。
在以下各个实施例中,QS和QP为表示量化的符号,两者的量化参数不同;QS-1和QP-1为表示反量化的符号,两者的反量化参数不同。
如图4所示,为本发明实施例切换帧编码方法的流程图,如图5所示,为本发明实施例切换帧编码方法所适用的编码框架示意图,本实施例具体为对SP帧进行编码的方法,与现有技术一相比,本实施例移除了重构环中的QS模块和QS-1模块,重构环中所用到的预测值来自预测环中的QS-1模块输出值,本实施例中变换域处理具体为离散余弦变换处理。如图4所示,本实施例具体包括如下步骤:
步骤201、根据原始图像(即输入图像)和/或已重构图像,可以通过MC预测单元的帧间预测或帧内预测单元的帧内预测,获取预测值;
步骤202、将该预测值进行变换域处理,可以具体为通过离散余弦变换(Discrete Cosine Transform,以下简称:DCT)模块将该预测值进行DCT处理;
步骤203、通过QS模块将经过步骤202的预测值进行量化处理;量化处理后的预测值用Xspred1来表示;
步骤204、通过QS-1模块将经过步骤203的预测值进行反量化处理;
步骤205、根据经过步骤204的预测值与原始图像变换域参数获取残差,具体的,可以将预测值与原始图像变换域参数相减得到残差;该原始图像变换域参数可以通过DCT模块将原始图像进行DCT处理来获得;
步骤206、通过QP模块将残差进行量化处理;量化处理后的残差用Xperr1来表示;
步骤207、通过QP-1模块将经过步骤206的残差进行反量化处理;
步骤208、根据经过步骤204的预测值与经过步骤207的残差,获得重构值;具体的,可以将经过步骤204的预测值与经过步骤207的残差相加,得到重构值;
步骤209、通过IDCT模块将重构值进行反DCT(IDCT)处理;
步骤210、通过环路滤波器将经过步骤209的重构值进行环路滤波处理,得到重构图像,将该重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即不进行环路滤波处理,直接将经过步骤209的重构值作为重构图像;
本实施例可以在步骤206之后的执行如下步骤:步骤211、通过熵编码单元将经过步骤206的残差进行SP编码,获得SP编码数据(即码流S1)。
与现有技术相比,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,该编码方法在残差比特数相同的情况下,减少了编码图像的失真度,提高了R-D性能,提高了编码效率,并且降低了编码复杂度。
如图6所示,为本发明实施例一辅助切换帧编码方法的流程图,如图7所示,为本发明实施例一辅助切换帧编码方法所适用的编码框架示意图,本实施例具体为对SSP帧进行编码的方法,如图7所示,对于SSP帧编码,需 要获取两路码流(分别为第一码流和第二码流)的相关信息,包括第一码流的预测值(用Xspred1来表示),第一码流的运动矢量(用MV1来表示)、第一码流的模式信息(用Mode1来表示)以及第二码流的预测值(用Xspred2来表示)、第二码流的残差(用Xperr2来表示)。本实施例中变换域处理具体为DCT处理。本实施例具体包括如下步骤:
步骤301、根据原始图像和/或已重构图像,通过帧间预测或帧内预测,获取第二码流的预测值;
步骤302、将第二码流的预测值进行DCT处理;
步骤303、将经过步骤302的第二码流的预测值进行量化处理;
步骤304、将经过步骤303的第二码流的预测值进行反量化处理;
步骤305、根据经过步骤304的第二码流的预测值与原始图像变换域参数,获取第二码流的残差;具体的,将经过步骤304的第二码流的预测值与原始图像变换域参数相减,得到第二码流的残差;
步骤306、将第二码流的残差进行量化处理;
步骤307、将经过步骤306的第二码流的残差进行反量化处理;
步骤308、根据经过步骤304的第二码流的预测值与经过步骤307的第二码流的残差,获得重构值;具体的,将经过步骤304的第二码流的预测值与经过步骤307的第二码流的残差相加,得到重构值;
步骤309、将第二码流的重构值进行IDCT处理;
步骤310、将经过步骤309的第二码流的重构值进行环路滤波处理,得到重构图像,将该重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即不进行环路滤波处理,直接将经过步骤309的第二码流的重构值作为重构图像。
通过上述步骤301~步骤310,获得量化处理后第二码流的预测值和量化处理后第二码流的残差等相关信息,本实施例还包括采用上述方法获得第一码流的相关信息,包括量化处理后第一码流的预测值,再根据第一码流,获 得第一码流的运动矢量和第一码流的模式信息。
具体地说,本实施例在步骤310之后还包括:
步骤311、获得量化处理后第一码流的预测值、第一码流的运动矢量以及第一码流的模式信息,本步骤获取第一码流的预测值的方法可以与获取第二码流相关信息的方法相同;
步骤312、获得量化处理后第一码流的预测值与经过步骤303的第二码流的预测值的差值;该差值用Xspred12来表示;
步骤313、通过熵编码单元将差值、第一码流的运动矢量、第一码流的模式信息以及量化后第二码流的残差进行SSP编码,得到SSP的编码数据(即码流S12)。
与现有技术相比,本实施例将第二码流的重构值替换为第二码流的预测值,同时将第二码流的SP帧的残差数据进行编码,实现了码流的无缝切换,并且,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,该编码方法在残差比特数相同的情况下,减少了编码图像的失真度,提高了R-D性能,提高了编码效率,并且降低了编码复杂度。
如图8所示,为本发明实施例二辅助切换帧编码方法的流程图,如图9所示,为本发明实施例二辅助切换帧编码方法所适用的编码框架示意图。当第一码流和第二码流之间的相关性较小时,采用两者的预测值的差值并不能有效的去除相关性,为了适用于这种情况,本实施例提供了一种SI帧的编码方法。SI帧与SSP帧的区别在于通过帧内预测而非帧间预测来获取预测值,也就是说,SI与当前图像相关,可以独立解码,因此,SI除了用于码流切换外,还可以用于随机访问、快进快退、差错恢复等多种应用场合。
对于SI帧编码,需要获取两次预测编码(分别为第一次预测编码和第二次预测编码)的相关信息,包括:第一次预测编码的第一预测值(用Xspred来表示),第一次预测编码的残差(用Xperr来表示),第二次预测编码的第 二预测值(用X’spred来表示),第一预测值与第二预测值的差值(用X”spred来表示),第二次预测编码的模式信息(用Mode’来表示)。本实施例中变换域处理具体为DCT处理。如图8所示,本实施例具体包括如下步骤:
步骤401、根据原始图像和/或已重构图像,通过帧间预测或帧内预测,获取第一次预测编码的预测值;
步骤402、将第一次预测编码的第一预测值进行DCT处理;
步骤403、将经过步骤402的第一预测值进行量化处理;
步骤404、将经过步骤403的第一预测值进行反量化处理;
步骤405、根据经过步骤404的第一预测值与原始图像变换域参数获取第一次预测编码的残差,具体为:将经过步骤404的第一预测值与原始图像变换域参数相减,得到第一次预测编码的残差;
步骤406、将第一次预测编码的残差进行量化处理;
步骤407、将经过步骤406的第一次预测编码的残差进行反量化处理;
步骤408、根据经过步骤404的第一预测值与经过步骤407的第一次预测编码的残差,获取第一次预测编码的重构值,具体为:将经过步骤404的第一预测值与经过步骤407的第一次预测编码的残差相加,得到第一次预测编码的重构值;
步骤409、将第一次预测编码的重构值进行IDCT处理;
步骤410、将经过步骤409的第一次预测编码的重构值进行环路滤波处理,得到重构图像,将该重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即不进行环路滤波处理,直接将经过步骤409的第一次预测编码的重构值作为重构图像。
通过上述步骤401~步骤410,获得第一次预测编码的相关信息,本实施例还包括采用上述方法获得第二次预测编码的相关信息,包括量化处理后第二预测值,再获得第二次预测编码的模式信息。
具体地说,在步骤410之后本实施例还包括:
步骤411、获得第二次预测编码量化处理后的第二预测值,以及第二次预测编码的模式信息;进一步的,在获取第二次预测编码的第二预测值时,采用帧内预测的方法;
步骤412、获得量化处理后的第二预测值与经过步骤403的第一预测值的差值;
步骤413、通过熵编码单元将差值、第二次预测编码的模式信息以及经过步骤406的第一次预测编码的残差进行SI编码,得到SI的编码数据(即码流SI)。
本实施例中,当码流间的相关性较小时,将第一次预测编码的相关信息和第二次预测编码的相关信息进行编码,实现了码流的无缝切换,并且,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,该编码方法在残差比特数相同的情况下,减少了编码图像的失真度,提高了R-D性能,提高了编码效率,并且降低了编码复杂度。
如图10所示,为本发明实施例解码方法的流程图,本实施例具体包括如下步骤:
步骤501、获取预测值,并将该预测值进行变换域处理后,再依次进行量化和反量化处理;
步骤502、将编码数据进行解码,获得残差;
步骤503、根据反量化处理后的预测值以及残差,获得重构值;
步骤504、将重构值进行反变换域处理,得到重构图像。
本实施例中,在重构环中不进行量化和反量化处理,减少了失真;而预测环中的对预测值的处理并不影响重构过程,不影响图像的失真,提高了R-D性能,提高了解码效率,并且降低了解码复杂度。
如图11所示,为本发明实施例切换帧解码方法的流程图,如图12所示,为本发明实施例切换帧解码方法所适用的解码框架示意图,本实施例具体为 对SP帧进行解码的方法,本实施例可以与本发明实施例切换帧编码方法相对应,本实施例也是以DCT处理作为变换域处理的具体实施方式。如图12所示,与现有技术一相比,本实施例移除了重构环中的QS模块和QS-1模块,在预测环上增加了QS模块和QS-1模块,如图11所示,本实施例具体包括如下步骤:
步骤601、通过MC预测单元的帧间预测或帧内预测单元的帧内预测获取预测值;
步骤602、通过DCT模块将该预测值进行DCT处理;
步骤603、通过QS模块将经过步骤602的预测值进行量化处理;量化处理后的预测值用Xspred1来表示;
步骤604、通过QS-1模块将经过步骤603的预测值进行反量化处理;
步骤605、通过熵解码单元将切换帧编码数据(即码流S1)进行解码,获得切换帧解码数据中的残差(用Xperr1来表示);
步骤606、通过QP-1模块将残差进行反量化处理;
步骤607、根据经过步骤604的预测值和经过步骤606的残差获得重构值,具体为:将经过步骤604的预测值和经过步骤606的残差相加,得到重构值;
步骤608、通过IDCT模块将重构值进行IDCT处理;
步骤609、通过环路滤波器将经过步骤608的重构值进行环路滤波处理,得到重构图像,该重构图像即为解码图像(输出图像);将该重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即可以不进行环路滤波处理,直接将经过步骤608的重构值作为重构图像。
本实施例还包括将从解码数据中获取的运动矢量(MV)传输给运动补偿预测单元,将模式信息(Mode)传输给帧内预测单元。
与现有技术相比,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,预测环中 的对预测值的处理也不影响重构过程,不影响图像的失真,提高了R-D性能,提高了解码效率,并且降低了解码复杂度。
如图13所示,为本发明实施例一辅助切换帧解码方法的流程图,如图14所示,为本发明实施例一辅助切换帧解码方法所适用的解码框架示意图,本实施例具体为对SSP帧进行解码的方法,本实施例可以与本发明实施例一辅助切换帧编码方法相对应,即以从第一码流切换到第二码流为例,另外,本实施例也是以DCT处理作为变换域处理的具体实施方式。如图13所示,本实施例具体包括如下步骤:
步骤701、通过熵解码单元将辅助切换帧的编码数据(即码流S12)进行解码,获取解码数据,根据其中携带的第一码流的运动矢量(MV1)或第一码流的模式信息(Mode1),通过MC预测单元的帧间预测或帧内预测单元的帧内预测获取第一码流的预测值;
步骤702、通过DCT模块将第一码流的预测值进行DCT处理;
步骤703、通过QS1模块将经过步骤702的第一码流的预测值进行量化处理;量化处理后的第一码流的预测值用Xspred1来表示;
步骤704、从解码数据中获取第一码流的预测值与第二码流的预测值之间的差值(用Xspred12来表示),将经过步骤703的第一码流的预测值与该差值相加,得到第二码流的预测值(用Xspred2来表示);
步骤705、通过QS2-1模块将第二码流的预测值进行反量化处理;该反量化处理的参数可以与步骤703中量化处理的参数不同;
步骤706、从解码数据中获取第二码流的残差(用Xperr2来表示);
步骤707、通过QP-1模块将第二码流的残差进行反量化处理;
步骤708、根据经过步骤705的第二码流的预测值与经过步骤707的第二码流的残差获得第二码流的重构值,具体为:将经过步骤705的第二码流的预测值与经过步骤707的第二码流的残差相加,得到第二码流的重构值;
步骤709、通过IDCT模块将第二码流的重构值进行IDCT处理;
步骤710、通过环路滤波器将经过步骤709的第二码流的重构值进行环路滤波处理,得到第二码流的重构图像,该重构图像即为解码图像(输出图像);将该第二码流的重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即可以不进行环路滤波处理,直接将经过步骤709的第二码流的重构值作为第二码流的重构图像。
与现有技术相比,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,预测环中的对预测值的处理也不影响重构过程,不影响图像的失真,提高了R-D性能,提高了解码效率,并且降低了解码复杂度。
如图15所示,为本发明实施例二辅助切换帧解码方法的流程图,如图16所示,为本发明实施例二辅助切换帧解码方法所适用的解码框架示意图,本实施例具体为对SI帧进行解码的方法,本实施例可以与本发明实施例二辅助切换帧编码方法相对应,如图16所示,其中用Xspred来表示第一次预测编码的第一预测值,用Xperr来表示第一次预测编码的残差,用X’spred来表示第二次预测编码的第二预测值,用X”spred来表示第一预测值与第二预测值的差值,用Mode’来表示第二次预测编码的模式信息,另外,本实施例也是以DCT处理作为变换域处理的具体实施方式。如图15所示,本实施例具体包括如下步骤:
步骤801、通过熵解码单元将辅助切换帧的编码数据(即码流SI)进行解码,获取解码数据,根据将其中携带的第二次预测编码的模式信息(Mode′),通过帧内预测单元的帧内预测获取第二次预测编码的第二预测值;
步骤802、通过DCT模块将第二预测值进行DCT处理;
步骤803、通过QS1模块将经过步骤802的第二预测值进行量化处理;
步骤804、从解码数据中获取第一预测值与第二预测值的差值,将经过步骤803的第二预测值与该差值相加,得到第一预测值;
步骤805、通过QS2-1模块将第一预测值进行反量化处理;该反量化处理 的参数可以与步骤803中量化处理的参数不同;
步骤806、从解码数据中获取第一次预测编码的残差;
步骤807、通过QP-1模块将第一次预测编码的残差进行反量化处理;
步骤808、根据经过步骤805的第一预测值与经过步骤807的第一次预测编码的残差获得第一次预测编码的重构值,具体为:将经过步骤805的第一预测值与经过步骤807的第一次预测编码的残差相加,得到第一次预测编码的重构值;
步骤809、通过IDCT模块将第一次预测编码的重构值进行IDCT处理;
步骤810、通过环路滤波器将经过步骤809的第一次预测编码的重构值进行环路滤波处理,得到第一次预测编码的重构图像,该重构图像即为解码图像(输出图像);将该重构图像输出或存储在缓冲区中;其中进行环路滤波处理为可选步骤,即可以不进行环路滤波处理,直接将经过步骤809的第一次预测编码的重构值作为第一次预测编码的重构图像。
与现有技术相比,本实施例消除了重构环上QS模块和QS-1模块的量化误差的影响,同时预测环上的QS模块和QS-1模块并不带来失真,预测环中的对预测值的处理也不影响重构过程,不影响图像的失真,提高了R-D性能,提高了解码效率,并且降低了解码复杂度。
如图17所示,为本发明实施例编码器的示意图,本实施例具体包括:编码预测模块11,用于根据原始图像或已重构图像获取预测值,将预测值进行变换域处理,将变换域处理后的预测值依次进行量化和反量化处理;残差处理模块12,用于根据反量化处理后的预测值与原始图像变换域参数获取残差,将残差进行量化处理;编码重构模块13,用于将经过量化处理后的残差进行反量化处理;根据反量化处理后的预测值和反量化处理后的残差,获得重构值;将重构值进行反变换域处理,得到重构图像;编码模块14,用于根据残差,获得编码数据。
当需要对SP帧进行编码时,上述编码预测模块11可以包括:帧内预测 单元111,用于通过帧内预测获取预测值;和/或,运动补偿预测单元112,用于通过帧间预测获取预测值;第一变换域处理单元113,用于将预测值进行变换域处理;第一量化单元114,用于将变换域处理后的预测值进行量化处理;第一反量化单元115,用于将量化后的预测值进行反量化处理;或者,还可以包括运动估计单元116,用于将原始图像进行处理。
进一步的,上述残差处理模块12可以包括:第二变换域处理单元121,用于将原始图像进行变换域处理,得到原始图像变换域参数;残差获取单元122,用于根据反量化处理后的预测值与原始图像变换域参数获取残差;第二量化单元123,用于将残差进行量化处理。
更进一步的,上述编码重构模块13可以包括:第二反量化单元131,用于将经过量化处理后的残差进行反量化处理;重构值获取单元132,用于根据反量化处理后的预测值和反量化处理后的残差,获得重构值;第一反变换域处理单元133,用于将重构值进行反变换域处理,得到重构图像;或者,还可以包括环路滤波单元134,用于将反变换域处理后的重构值进行环路滤波处理,得到重构图像;缓冲单元135,用于存储重构图像。
再进一步的,上述编码模块14可以具体为第一编码模块,用于将量化处理后的残差进行编码,得到SP帧的编码数据。
本实施例还可以包括输入模块15,用于接收输入的原始图像,并将该原始图像输出给第二变换域处理单元121和运动估计单元116进行处理。
当需要对SSP帧进行编码时,上述编码预测模块、残差处理模块以及编码重构模块可以分别为针对第二码流进行处理的各个模块,该编码器还可以包括:第一码流处理模块,用于获得量化处理后第一码流的预测值、第一码流的运动矢量以及第一码流的模式信息;第一差值获取模块,用于获得量化处理后第一码流的预测值与编码预测模块输出的量化处理后第二码流的预测值的差值;编码模块具体为第二编码模块,用于将差值、第一码流的运动矢量、第一码流的模式信息以及量化后第二码流的残差进行辅助切换帧编码, 得到辅助切换帧的编码数据。
当需要对SI帧进行编码时,本实施例还可以包括:第二差值获取模块,用于获得第一次预测编码的第一预测值和第二次预测编码的第二预测值的差值;编码模块具体为第三编码模块,用于将差值、第二次预测编码的模式信息以及第一次预测编码的残差进行辅助切换帧编码,得到辅助切换帧的编码数据。
本实施例中,在重构环中不进行量化和反量化处理,减少了失真;而预测环中的量化和反量化处理并不影响重构过程,不影响图像的失真,提高了R-D性能,提高了编码效率,并且降低了编码复杂度。
如图18所示,为本发明实施例解码器的示意图,本实施例具体包括:解码预测模块21,用于获取预测值,并将预测值进行变换域处理后,再依次进行量化和反量化处理;解码模块22,用于将编码数据进行解码,获得残差;解码重构模块23,用于根据反量化处理后的预测值以及残差,获得重构值;将重构值进行反变换域处理,得到重构图像。
上述解码模块22可以包括:切换帧解码单元221,用于对切换帧的编码数据进行解码,获得残差。
上述解码预测模块21可以包括:帧内预测单元211,用于通过帧内预测获取预测值;和/或,运动补偿预测单元212,用于通过帧间预测获取预测值;第一变换域处理单元213,用于将预测值进行变换域处理;第二量化单元214,用于将变换域处理后的预测值进行量化处理;第二反量化单元215,用于将量化处理后的预测值进行反量化处理。
上述解码重构模块23可以包括:第一反量化单元235,用于将残差进行反量化处理;重构值获取单元231,用于将反量化处理后的预测值和反量化处理后的残差相加,得到重构值;第二变换域处理单元232,用于将重构值进行反变换域处理,得到重构图像;或者,还可以包括:环路滤波单元233,用于将反变换域处理后的重构值进行环路滤波处理,得到重构图像;缓冲单 元234,用于存储重构图像。
进一步的,本实施例还可以包括:差值计算模块,用于获取解码模块输出的差值,将第二量化单元输出的预测值与差值相加,将相加的结果输出给第二反量化单元。
本实施例中,在重构环中不进行量化和反量化处理,减少了失真;而预测环中的对预测值的处理并不影响重构过程,不影响图像的失真,提高了R-D性能,提高了解码效率,并且降低了解码复杂度。
如图19所示,为本发明实施例编解码系统的示意图,本实施例具体包括编码器31和解码器32。
其中编码器31可以包括:编码预测模块311,用于根据原始图像或已重构图像获取预测值,将预测值进行变换域处理,将变换域处理后的预测值依次进行量化和反量化处理;残差处理模块312,用于根据反量化处理后的预测值与原始图像变换域参数获取残差,将残差进行量化处理;编码重构模块313,用于将经过量化处理后的残差进行反量化处理;根据反量化处理后的预测值和反量化处理后的残差,获得重构值;将重构值进行反变换域处理,得到重构图像;编码模块314,用于根据残差,获得编码数据。
解码器32可以包括:解码预测模块321,用于获取预测值,并将预测值进行变换域处理后,再依次进行量化和反量化处理;解码模块322,用于将编码数据进行解码,获得残差;解码重构模块323,用于根据反量化处理后的预测值以及残差,获得重构值;将重构值进行反变换域处理,得到重构图像。
本发明实施例编解码系统可以包括上述本发明实施例编码器中所述的任一编码器和本发明实施例解码器中所述的任一解码器。
本实施例中,在重构环中不进行量化和反量化处理,减少了失真;而预测环中对预测值处理并不影响重构过程,不影响图像的失真,提高了R-D性能,提高了编解码效率,并且降低了编解码复杂度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。