帧间图像预测编解码方法及视频编解码器技术领域
本发明涉及图像视频编解码和帧间图像预测技术领域,尤其涉及帧间图像预测编解码
方法及视频编解码器。
背景技术
图像视频压缩编解码总体上分为帧间图像编解码和帧内图像编解码两种预测编解码
技术。帧内图像编/解码利用来自当前帧已经编/解码图像单元的信息对当前编/解码图像单
元进行预测编/解码。帧间图像编/解码利用已经完成编/解码的图像帧信息对当前编/解码图
像进行预测编/解码。
现有的帧间图像编/解码方法中对运动矢量进行预测,对运动矢量的残差信号进行编
码,帧间图像预测编解码的效率并不高。
发明内容
本发明实施例提供一种帧间图像预测编码方法,用以提高帧间图像预测编码效率,该
方法包括:
获得当前编码帧中当前预测单元的最优运动数据,所述最优运动数据包括最优运动矢
量和最优参考帧序号;
在所述最优运动数据的预测数据中选择最优预测数据;
获得所述最优运动数据的残差信号,对所述残差信号进行编码;
对所述最优预测数据的编号进行编码。
本发明实施例还提供一种帧间图像预测解码方法,用以提高帧间图像预测解码效率,
该方法包括:
解码获得当前解码帧中当前预测单元的运动数据的残差信号和预测数据的编号,所述
运动数据包括运动矢量和参考帧序号;
根据所述预测数据的编号,获得所述预测数据;
根据所述预测数据和所述残差信号,获得所述运动数据。
本发明实施例还提供一种视频编码器,用以提高帧间图像预测编码效率,该视频编码
器包括:
获得模块,用于获得当前编码帧中当前预测单元的最优运动数据,所述最优运动数据
包括最优运动矢量和最优参考帧序号;
选择模块,用于在所述最优运动数据的预测数据中选择最优预测数据;
第一编码模块,用于获得所述最优运动数据的残差信号,对所述残差信号进行编码;
第二编码模块,用于对所述最优预测数据的编号进行编码。
本发明实施例还提供一种视频解码器,用以提高帧间图像预测解码效率,该视频解码
器包括:
解码模块,用于解码获得当前解码帧中当前预测单元的运动数据的残差信号和预测数
据的编号,所述运动数据包括运动矢量和参考帧序号;
预测数据获得模块,用于根据所述预测数据的编号,获得所述预测数据;
运动数据获得模块,用于根据所述预测数据和所述残差信号,获得所述运动数据。
本发明实施例中,获得当前编码帧中当前预测单元的最优运动数据,所述最优运动数
据包括最优运动矢量和最优参考帧序号;在所述最优运动数据的预测数据中选择最优预测
数据;获得所述最优运动数据的残差信号,对所述残差信号进行编码;对所述最优预测数
据的编号进行编码;从而在帧间图像预测编码中引入了对参考帧序号基于预测残差的编
码,提高了帧间图像预测编码效率。
本发明实施例中,解码获得当前解码帧中当前预测单元的运动数据的残差信号和预测
数据的编号,所述运动数据包括运动矢量和参考帧序号;根据所述预测数据的编号,获得
所述预测数据;根据所述预测数据和所述残差信号,获得所述运动数据;从而在帧间图像
预测解码中引入了对参考帧序号基于预测残差的解码,提高了帧间图像预测解码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技
术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以
根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中帧间图像预测编码方法的处理流程图;
图2为本发明实施例中帧间图像预测解码方法的处理流程图;
图3为本发明实施例中视频编码器的结构示意图;
图4为本发明实施例中视频编码器的具体实例的结构示意图;
图5为本发明实施例中视频解码器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实
施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不
作为对本发明的限定。
如图1所示,本发明实施例中,帧间图像预测编码方法的处理流程可以包括:
步骤101、获得当前编码帧中当前预测单元的最优运动数据,所述最优运动数据包括
最优运动矢量和最优参考帧序号;
步骤102、在所述最优运动数据的预测数据中选择最优预测数据;具体实施时,最优
运动数据的预测数据可视为预测数据的候选项(candidate),可以在这些候选项中,选
择最优预测数据;
步骤103、获得所述最优运动数据的残差信号,对所述残差信号进行编码;
步骤104、对所述最优预测数据的编号进行编码。本步骤的实施可以使解码端获得编
号对应的预测数据,进而可由预测数据和残差信号获得运动数据。
由图1所示流程可以得知,本发明实施例中,获得当前编码帧中当前预测单元的最优
运动数据,所述最优运动数据包括最优运动矢量和最优参考帧序号;在所述最优运动数据
的预测数据中选择最优预测数据;获得所述最优运动数据的残差信号,对所述残差信号进
行编码;对所述最优预测数据的编号进行编码;从而在帧间图像预测编码中引入了对参考
帧序号基于预测残差的编码,提高了帧间图像预测编码效率。
具体实施时,在所述最优运动数据的预测数据中选择最优预测数据,可以包括:
对当前编码帧中当前预测单元的最优运动数据从相邻运动数据中进行预测,选择所述
相邻运动数据中代价最小的运动数据(即代价最小的参考运动数据)为所述最优预测数据。
其中,选择所述相邻运动数据中代价最小的运动数据为所述最优预测数据,可以采用
多种实施方式,例如:计算所述最优运动数据(MVx,MVy,ref_idx)与所述相邻运动数
据(即参考运动数据)对应项的绝对误差和(sum of absolute difference,SAD);选
择最小绝对误差和(SAD)对应的所述相邻运动数据中的运动数据(即最小绝对误差和对
应的参考运动数据)为所述最优预测数据。又如:计算所述最优运动数据(MVx,MVy,re
f_idx)与所述相邻运动数据对应项的均方误差和(sum of squared Error,SSE);选择
最小均方误差和(SSE)对应的所述相邻运动数据中的运动数据(即最小均方误差和对应
的参考运动数据)为所述最优预测数据。
具体实施时,选择所述相邻运动数据中代价最小的运动数据为所述最优预测数据,还
可以是:计算所述最优运动数据(MVx,MVy,ref_idx)与所述相邻运动数据对应项的率
失真代价,同时计算编码预测序号的比特;选择最小率失真代价对应的所述相邻运动数据
中的运动数据(即选择最小率失真代价对应的参考运动数据)为所述最优预测数据。
具体实施时,可以在计算编码预测序号的比特后,还包括:存储计算出的编码预测序
号的比特;则在对所述最优预测数据的编号进行编码时,可以直接提取存储的编码预测序
号的比特,以进行所述最优预测数据编号的编码,而不必在对所述最优预测数据的编号进
行编码时,重复计算编码预测序号的比特。
具体实施时,可以先对当前编码帧中当前预测单元进行运动估计和运动补偿,获得所
述最优运动数据。
本发明实施例的帧间图像预测编码方法,在HEVC(High Efficiency Video Coding,
高效率视频编解码)工作草案中有相应的对预测单元的语法修改(syntax modification),
具体修改如表1所示,表中标记出了修改行,修改部分将原有参考帧序号的编码更改为基
于预测残差的编码。
表1预测单元语法修改
本发明实施例中还提供了一种帧间图像预测解码方法,如下面的实施例所述。由于帧
间图像预测解码方法解决问题的原理与帧间图像预测编码方法相似,因此帧间图像预测解
码方法的实施可以参见帧间图像预测编码方法的实施,重复之处不再赘述。
如图2所示,本发明实施例的帧间图像预测解码方法的处理流程可以包括:
步骤201、解码获得当前解码帧中当前预测单元的运动数据的残差信号和预测数据的
编号,所述运动数据包括运动矢量和参考帧序号;
步骤202、根据所述预测数据的编号,获得所述预测数据;
步骤203、根据所述预测数据和所述残差信号,获得所述运动数据。
由图2所示流程可以得知,本发明实施例中,解码获得当前解码帧中当前预测单元的
运动数据的残差信号和预测数据的编号,所述运动数据包括运动矢量和参考帧序号;根据
所述预测数据的编号,获得所述预测数据;根据所述预测数据和所述残差信号,获得所述
运动数据;从而在帧间图像预测解码中引入了对参考帧序号基于预测残差的解码,提高了
帧间图像预测解码效率。
具体实施时,获得所述运动数据,可以包括:将所述预测数据和所述残差信号相加,
获得所述运动数据。
本发明实施例中还提供了一种视频编码器和视频解码器,如下面的实施例所述。由于
视频编码器和视频解码器解决问题的原理与帧间图像预测编码和解码方法相似,因此视频
编码器和视频解码器的实施可以参见帧间图像预测编码和解码方法的实施,重复之处不再
赘述。
如图3所示,本发明实施例中的视频编码器可以包括:
获得模块301,用于获得当前编码帧中当前预测单元的最优运动数据,所述最优运动
数据包括最优运动矢量和最优参考帧序号;
选择模块302,用于在所述最优运动数据的预测数据中选择最优预测数据;
第一编码模块303,用于获得所述最优运动数据的残差信号,对所述残差信号进行编
码;
第二编码模块304,用于对所述最优预测数据的编号进行编码。
一个实施例中,选择模块302具体可以用于:
对当前编码帧中当前预测单元的最优运动数据从相邻运动数据中进行预测,选择所述
相邻运动数据中代价最小的运动数据为所述最优预测数据。
一个实施例中,选择模块302具体可以用于:
计算所述最优运动数据与所述相邻运动数据对应项的绝对误差和;
选择最小绝对误差和对应的所述相邻运动数据中的运动数据为所述最优预测数据。
一个实施例中,选择模块302具体可以用于:
计算所述最优运动数据与所述相邻运动数据对应项的均方误差和;
选择最小均方误差和对应的所述相邻运动数据中的运动数据为所述最优预测数据。
一个实施例中,选择模块302具体可以用于:
计算所述最优运动数据与所述相邻运动数据对应项的率失真代价,同时计算编码预测
序号的比特;
选择最小率失真代价对应的所述相邻运动数据中的运动数据为所述最优预测数据。
如图4所示,一个实施例中,图3所示的视频编码器还可以包括:
存储模块401,用于存储计算出的编码预测序号的比特;
第二编码模块304具体可以用于:提取存储的编码预测序号的比特,以进行所述最优
预测数据编号的编码。
一个实施例中,获得模块301具体可以用于:
对当前编码帧中当前预测单元进行运动估计和运动补偿,获得所述最优运动数据。
如图5所示,本发明实施例中的视频解码器可以包括:
解码模块501,用于解码获得当前解码帧中当前预测单元的运动数据的残差信号和预
测数据的编号,所述运动数据包括运动矢量和参考帧序号;
预测数据获得模块502,用于根据所述预测数据的编号,获得所述预测数据;
运动数据获得模块503,用于根据所述预测数据和所述残差信号,获得所述运动数据。
一个实施例中,运动数据获得模块503具体可以用于:
将所述预测数据和所述残差信号相加,获得所述运动数据。
综上所述,本发明实施例中,获得当前编码帧中当前预测单元的最优运动数据,所述
最优运动数据包括最优运动矢量和最优参考帧序号;在所述最优运动数据的预测数据中选
择最优预测数据;获得所述最优运动数据的残差信号,对所述残差信号进行编码;对所述
最优预测数据的编号进行编码;从而在帧间图像预测编码中引入了对参考帧序号基于预测
残差的编码,提高了帧间图像预测编码效率。
本发明实施例中,解码获得当前解码帧中当前预测单元的运动数据的残差信号和预测
数据的编号,所述运动数据包括运动矢量和参考帧序号;根据所述预测数据的编号,获得
所述预测数据;根据所述预测数据和所述残差信号,获得所述运动数据;从而在帧间图像
预测解码中引入了对参考帧序号基于预测残差的解码,提高了帧间图像预测解码效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产
品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程
序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图
和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程
和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指
令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生
一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现
在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方
式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装
置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方
框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机
或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他
可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方
框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说
明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护
范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在
本发明的保护范围之内。