一种目标运动矢量选择方法、装置、电子设备及介质与流程

文档序号:18027928发布日期:2019-06-28 22:20阅读:186来源:国知局
一种目标运动矢量选择方法、装置、电子设备及介质与流程

本发明涉及视频编码技术领域,特别是涉及一种目标运动矢量选择方法、装置、电子设备及介质。



背景技术:

随着多媒体数字视频技术的不断发展,视频文件的数据量越来越大,给视频文件的传输和存储带来了诸多不便。因而,视频文件的数据压缩技术得到了极大的发展。视频文件的数据压缩,又称视频编码、视频压缩,其原理如下:视频文件是由大量的视频图像帧组成的,各视频图像帧之间具有极强的相关性,也就是说有大量的冗余信息。冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉。

目前,主流的视频编码标准采用“基于块的预测和变换”以去除冗余信息,其原理是,利用其他预测单元和运动矢量预测出当前预测单元,由于运动矢量有很多个,通常为5个。为了提高数据压缩效果,要从多个运动矢量中选择出编码失真代价最小的一个,因此要分别计算多个运动矢量对应的编码失真代价。再利用其他预测单元和编码失真代价最小的一个运动矢量预测当前预测单元,在编码时仅编码其他预测单元和运动矢量即可,而不需要编码其他预测单元和当前预测单元,从而去除了数据中的冗余信息,也就是实现了数据压缩。在进行数据压缩时,去除空域冗余信息的步骤被称为帧内预测;去除时域冗余信息的被称为帧间预测。对于帧间预测,其原理是:按照h264或者h265标准规定的顺序,从当前预测单元的相邻块中获取候选的若干个运动矢量作为该预测单元的候选运动矢量,优先获取的相邻块顺序为,左,上,左下,右上,左上,比较与当前预测单元的所有候选运动矢量对应的编码失真代价,从而选择编码失真代价最小的一个,并将该运动矢量作为目标运动矢量,其中,编码失真代价包括但不仅限于:失真值、或者编码比特数、或者根据失真值和编码比特数获得的综合代价结果。

但是,现有技术中,需要计算当前预测单元的所有的候选运动矢量的编码失真代价,才能获得编码代价最小的运动矢量,因此,现有技术存在目标运动矢量选择的过程耗时较长的技术问题。



技术实现要素:

本发明实施例的目的在于提供一种目标运动矢量选择方法、装置、电子设备及介质,以实现降低目标运动矢量选择过程中耗时的目的。具体技术方案如下:

第一方面,本发明实施例提供了一种目标运动矢量选择方法,方法包括:

针对待编码视频中的每一预测单元,获取每一所述预测单元对应的目标候选运动矢量;

依次获取每一所述目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

当判定存在所获取的第一目标候选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一目标候选运动矢量确定为目标运动矢量,并停止获取所述第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

可选的,所述获取每一所述预测单元对应的目标候选运动矢量,包括:

根据每一所述预测单元预设相邻数据块的个数,获取每一所述预测单元对应的候选运动矢量的第一数量,其中,所述第一数量与所述个数成正相关;

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第一数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述获取每一所述预测单元对应的目标候选运动矢量,包括:

根据每一所述预测单元预设相邻数据块之间的运动矢量分布差异的特征,获取每一所述预测单元对应的候选运动矢量的第二数量,其中,所述第二数量与所述预设相邻数据块之间的运动矢量分布差异的值呈正相关;

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第二数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述获取每一所述预测单元对应的目标候选运动矢量,包括:

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量的第三数量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第三数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值。

可选的,所述第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值与预设编码代价的差值。

可选的,在所述依次获取每一所述目标候选运动矢量的编码失真代价,所述方法还包括:

将所述目标候选运动矢量中相对于其他目标候选运动矢量的差值小于第二预设阈值的目标运动矢量,作为每一所述预测单元的备选运动矢量;

或者,将所述目标候选运动矢量中对应的预测结果小于第三预设阈值的目标候选运动矢量,作为每一所述预测单元的备选运动矢量;

或者,将相对于其他目标候选运动矢量的差值最大的目标候选运动矢量作为每一所述预测单元的备选运动矢量;

所述依次获取每一所述目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值,包括:

依次获取每一所述备选运动矢量的编码失真代价,并判断所获取的备选运动矢量的编码失真代价是否小于第一预设阈值;

所述当判定存在所获取的第一目标候选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一目标候选运动矢量确定为目标运动矢量,并停止获取所述第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价,包括:

当判定存在所获取的第一备选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一备选运动矢量确定为目标运动矢量,并停止获取所述第一备选运动矢量的下一备选运动矢量的编码失真代价。

可选的,将所述目标候选运动矢量中对应的预测结果小于第三预设阈值的目标候选运动矢量,作为每一所述预测单元的备选运动矢量,包括:

依次获取每一所述目标候选运动矢量对应的预测结果,并判断所获取的目标候选运动矢量的预测结果是否小于第三预设阈值;

当判定存在所获取的第二目标候选运动矢量的预测结果小于所述第三预设阈值,将所述第二目标候选运动矢量确定为备选运动矢量,并停止获取所述第二目标候选运动矢量的下一目标候选运动矢量的预测结果。

可选的,所述第三预设阈值为预设的编码标准规定的预设预测范围;

所述依次获取每一所述目标候选运动矢量对应的预测结果,包括:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量的预测范围,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述依次获取每一所述目标候选运动矢量对应的预测结果,包括:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量对应的整像素预测值相对于原始图像的第一预测失真值;

将已获取的第一预测失真值中除每一所述目标候选运动矢量对应的第一预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第一预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述依次获取每一所述目标候选运动矢量对应的预测结果,包括:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量对应的第一颜色分量的第二预测失真值;

将已获取的第二预测失真值中除每一所述目标候选运动矢量对应的第二预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第二预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述依次获取每一所述目标候选运动矢量对应的预测结果,包括:

针对每一所述目标候选运动矢量,将每一所述目标候选运动矢量对应的第一颜色分量的第三预测失真值,与每一所述目标候选运动矢量对应的第二颜色分量的第四预测失真值之和作为第五预测失真值;

将已获取的第五预测失真值中除每一所述目标候选运动矢量对应的第五预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第五预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述依次获取每一所述目标候选运动矢量的编码失真代价,包括:

将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一所述目标候选运动矢量的编码失真代价;或者,将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的编码比特数,与颜色分量的线性叠加结果作为每一所述目标候选运动矢量的编码失真代价。

可选的,所述将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一所述目标候选运动矢量的编码失真代价,包括:

获取对应每一所述目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一所述目标候选运动矢量对应的,对应每一所述目标候选运动矢量的预测单元的颜色分量对应的预测值;

将所述原始像素值和所述预测值之差的绝对值和,或者所述原始像素值和所述预测值之差的平方和,或者所述原始像素值和所述预测值之差的变换和作为每一所述目标候选运动矢量的编码失真代价。

可选的,所述将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一所述目标候选运动矢量的编码失真代价,包括:

获取对应每一所述目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一所述目标候选运动矢量对应的,对应每一所述目标候选运动矢量的预测单元的颜色分量对应的编码重建值;

将所述原始像素值和所述编码重建值之差的绝对值和,或者所述原始像素值和所述编码重建值之差的平方和,或者所述原始像素值和所述预测值之差的变换和作为每一所述目标候选运动矢量的编码失真代价。

第二方面,本发明实施例还提供了一种目标运动矢量选择装置,装置包括:

获取模块,用于针对待编码视频中的每一预测单元,获取每一该预测单元对应的目标候选运动矢量;

判断模块,用于依次获取每一所述目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

确定模块,用于当判定存在所获取的第一目标候选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一目标候选运动矢量确定为目标运动矢量,并停止获取所述第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

可选的,所述获取模块,还用于:

根据每一所述预测单元预设相邻数据块的个数,获取每一所述预测单元对应的候选运动矢量的第一数量,其中,所述第一数量与所述个数成正相关;

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第一数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述获取模块,还用于:

根据每一所述预测单元预设相邻数据块之间的运动矢量分布差异的特征,获取每一所述预测单元对应的候选运动矢量的第二数量,其中,所述第二数量与所述预设相邻数据块之间的运动矢量分布差异的值呈正相关;

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第二数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述获取模块,还用于:

根据预设的视频编码标准,获取每一所述预测单元对应的候选运动矢量的第三数量;

根据所述预设的视频编码标准中规定的所述候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第三数量个次序对应的候选运动矢量作为每一所述预测单元的目标候选运动矢量。

可选的,所述第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已被判断的目标候选运动矢量的编码失真代价中的最小值。

可选的,所述第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值与预设编码代价的差值。

可选的,所述装置还包括:设置模块,用于:

将所述目标候选运动矢量中相对于其他目标候选运动矢量的差值小于第二预设阈值的目标运动矢量,作为每一所述预测单元的备选运动矢量;

或者,将所述目标候选运动矢量中对应的预测结果小于第三预设阈值的目标候选运动矢量,作为每一所述预测单元的备选运动矢量;

或者,将相对于其他目标候选运动矢量的差值最大的目标候选运动矢量作为每一所述预测单元的备选运动矢量;

所述判断模块,还用于:

依次获取每一所述备选运动矢量的编码失真代价,并判断所获取的备选运动矢量的编码失真代价是否小于第一预设阈值;

所述确定模块,还用于:

当判定存在所获取的第一备选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一备选运动矢量确定为目标运动矢量,并停止获取所述第一备选运动矢量的下一备选运动矢量的编码失真代价。

可选的,所述设置模块,还用于:

依次获取每一所述目标候选运动矢量对应的预测结果,并判断所获取的目标候选运动矢量的预测结果是否小于第三预设阈值;

当判定存在所获取的第二目标候选运动矢量的预测结果小于所述第三预设阈值,将所述第二目标候选运动矢量确定为备选运动矢量,并停止获取所述第二目标候选运动矢量的下一目标候选运动矢量的预测结果。

可选的,所述第三预设阈值为预设的编码标准规定的预设预测范围;

所述设置模块,还用于:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量的预测范围,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述设置模块,还用于:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量对应的整像素预测值相对于原始图像的第一预测失真值;

将已获取的第一预测失真值中除每一所述目标候选运动矢量对应的第一预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第一预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述设置模块,还用于:

针对每一所述目标候选运动矢量,获取每一所述目标候选运动矢量对应的第一颜色分量的第二预测失真值;

将已获取的第二预测失真值中除每一所述目标候选运动矢量对应的第二预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第二预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述设置模块,还用于:

针对每一所述目标候选运动矢量,将每一所述目标候选运动矢量对应的第一颜色分量的第三预测失真值,与每一所述目标候选运动矢量对应的第二颜色分量的第四预测失真值之和作为第五预测失真值;

将已获取的第五预测失真值中除每一所述目标候选运动矢量对应的第五预测失真值以外的最小值,与每一所述目标候选运动矢量对应的第五预测失真值的差,作为每一所述目标候选运动矢量对应的预测结果。

可选的,所述判断模块,还用于:

将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一所述目标候选运动矢量的编码失真代价;或者,将对应每一所述目标候选运动矢量的预测单元的颜色分量对应的编码比特数,与颜色分量的线性叠加结果作为每一所述目标候选运动矢量的编码失真代价。

可选的,所述判断模块,还用于:

获取对应每一所述目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一所述目标候选运动矢量对应的,对应每一所述目标候选运动矢量的预测单元的颜色分量对应的预测值;

将所述原始像素值和所述预测值之差的绝对值和,或者所述原始像素值和所述预测值之差的平方和,或者所述原始像素值和所述预测值之差的变换和作为每一所述目标候选运动矢量的编码失真代价。

可选的,所述判断模块,还用于:

获取对应每一所述目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一所述目标候选运动矢量对应的,对应每一所述目标候选运动矢量的预测单元的颜色分量对应的编码重建值;

将所述原始像素值和所述编码重建值之差的绝对值和,或者所述原始像素值和所述编码重建值之差的平方和,或者所述原始像素值和所述预测值之差的变换和作为每一所述目标候选运动矢量的编码失真代价。

第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一的方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一的方法步骤。

第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一的方法步骤。

第六方面,本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行任一的方法步骤。

应用本发明实施例提供的一种目标运动矢量选择方法、装置及电子设备,在判断出当前的目标候选运动矢量的编码失真代价小于第一预设阈值时,就将该目标候选运动矢量作为目标运动矢量,从而结束了目标运动矢量的选择过程,而其他的未被判断的目标候选运动矢量就不需要计算编码失真代价,相对于现有技术中需要计算所有的目标候选运动矢量的编码失真代价,减少了需要计算编码失真代价的目标候选运动矢量的数量,进而减少了目标运动矢量选择的过程耗时。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中视频编码帧间预测时预测单元的划分示意图;

图2为本发明实施例提供的一种目标运动矢量选择方法的流程示意图;

图3为现有技术提供的视频编码过程中各视频帧之间的参考关系示意图;

图4为本发明实施例提供的第一种目标候选运动矢量的获取方法的流程示意图;

图5为本发明实施例提供的第二种目标候选运动矢量的获取方法的流程示意图;

图6为本发明实施例提供的第三种目标候选运动矢量的获取方法的流程示意图;

图7为本发明实施例提供的另一种目标运动矢量选择方法的流程示意图;

图8为本发明实施例提供的一种备选运动矢量的获得方法的流程示意图;

图9为本发明实施例提供的一种目标运动矢量的选择装置的结构示意图;

图10为本发明实施例提供的另一种目标运动矢量的选择装置的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决现有技术问题,本发明实施例提供了一种目标运动矢量选择方法、装置、电子设备及介质。

第一方面,首先就本发明实施例提供的一种目标运动矢量选择方法进行介绍。需要说明的是,本发明实施例应用于视频编码的帧间预测过程,主要是针对运动矢量选择过程进行优化,尤其是针对合并模式和跳过模式的运动矢量选择过程进行优化。

在现有的主要视频编码标准,如h.264和h.265中,在对待编码视频进行视频编码时,有两种预测模式,帧内预测和帧间预测。对于帧内预测来说,根据图像的统计特性,一帧图像的像素之间存在一定的相关性,且该相关性在一定范围内可用指数型衰减曲线进行近似,像素之间的距离小时,相关性较强,当像素距离增大时,相关性急剧减弱。由于对每个像素进行编码的效率太低,如图1所示,可以将一帧图像划分为多个数据块。对于存在相关性的各个数据块来说,其空间位置的相对偏移量可以用矢量表示,用于表示数据块之间相对偏移量的矢量就是运动矢量。因此,可以将每一帧图像划分成多个块,利用其中的部分数据块与运动矢量的结合预测同一帧图像中的其他数据块,进而消除帧内各数据块之间的相关性,从而实现视频帧的压缩。对于帧间预测来说,与帧内预测类似,如图1所示,是利用视频图像帧间的相关性,即时间相关性,利用参考帧中的数据块与运动矢量的结合来预测当前帧的数据块,进而达到图像压缩的目的。可以理解的是,用来预测其他数据块的数据块被称为参考块或者参考单元;而被参考块和运动矢量结合起来进行预测的数据块被称为预测块、或者预测单元。用来预测其他视频帧的视频帧被称为参考帧,而被参考块和运动矢量结合起来进行预测的视频帧被称为当前帧。通常来说,一个参考块或者预测块可以包括16*16个像素、8*8个像素或者4*4个像素。

在帧间预测过程中,存在两种编码模式,合并模式和跳过模式。合并模式是从当前帧的当前预测单元的相邻数据块中选择若干个目标候选运动矢量,图1为现有技术中视频编码帧间预测时预测单元的划分示意图,如图1所示,现有的视频编码标准h.264和h.265规定的预测单元相邻数据块的运动矢量的优先级顺序为:左、上、左下、右上和左上。然后,比较这些目标候选运动矢量的编码失真代价,从而选择出编码失真代价最低的一个目标候选运动矢量,该目标候选运动矢量即为目标运动矢量。然后根据预测单元和被编码后的预测单元的差异,计算利用目标运动矢量进行预测时的预测残差值,最后将目标运动矢量和预测残差值进行编码,从而完成了利用该预测单元进行帧间预测的过程。而跳过模式是从当前预测单元的相邻数据块中选择若干个目标候选运动矢量,然后比较这些目标候选运动矢量的编码失真代价,从而选择出编码失真代价最低的一个目标候选运动矢量,该目标候选运动矢量即为目标运动矢量,然后对该目标候选运动矢量进行编码,从而完成了利用该预测单元进行帧间预测的过程。跳过模式相对于合并模式,不进行预测残差值的计算,强制将预测残差值赋值为零。从上述内容可以看出,应用现有技术获得目标运动矢量时,需要计算当前预测单元的所有的候选运动矢量的编码失真代价,而计算当前预测单元的所有的候选运动矢量的过程是需要较长的时间,因此,现有技术存在目标运动矢量选择的过程耗时较长的技术问题。

图2为本发明实施例提供的一种目标运动矢量选择方法的原理示意图;如图2所示,该方法包括:

s201:针对待编码视频中的每一预测单元,获取每一预测单元对应的目标候选运动矢量。

由于视频是由很多帧图像连续播放构成的,因此,在利用视频编码标准h.264或h.265进行编码过程中,是以逐帧编码的方式对待编码视频中的各帧进行预测和编码的。如图3所示,图3为现有技术提供的视频编码过程中各视频帧之间的参考关系示意图,下面以图3中的第8k-3帧中的预测单元为例进行说明。

示例性的,第8k-3帧可以被划分为多个预测单元,如预测单元-1、预测单元-2、预测单元-3和预测单元-4等。根据视频编码标准h.264或h.265中规定的数量和顺序获取上述每一个预测单元对应的目标候选运动矢量。通常情况下,每一个预测单元的目标候选运动矢量的数量不超过5个。以预测单元-1为例,预测单元-1对应的目标候选运动矢量可以为运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5;类似的,预测单元-2对应的目标候选运动矢量可以为运动矢量-6、运动矢量-7、运动矢量-8、运动矢量-9和运动矢量-10。

在实际应用中,可以将预测单元-1对应的目标候选运动矢量的集合作为预测单元-1的目标候选运动矢量集。

s202:依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值。

示例性的,针对预测单元-1的各个目标候选运动矢量,获取运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5对应的编码失真代价。以运动矢量-1为例,上述的编码失真代价包括但不仅限于:失真值、或者编码比特数、或者根据失真值和编码比特数进行线性叠加获得的综合代价结果。然后比较运动矢量-1集中的每一个运动矢量的编码失真代价是否小于第一预设阈值。

在实际应用中,可以将预测单元的亮度分量的编码失真值作为目标候选运动矢量的编码失真代价。

在本发明实施例的一种具体实施方式中,第一预设阈值可以为,除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值。

例如,已经对运动矢量-1、运动矢量-2、运动矢量-3进行了判断,且运动矢量-1的编码失真代价为最小值。若当前的目标候选运动矢量为运动矢量-4,且该运动矢量的编码失真代价小于运动矢量-1,则将运动矢量-4作为目标运动矢量。

为了能够更准确地获取到目标运动矢量,在本发明实施例的一种具体实施方式中,第一预设阈值还可以为除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值与预设编码代价的差值。

其中,预设编码代价可以由技术人员根据经验进行设置。针对上述例子,还可以在运动矢量-4的编码失真代价小于运动矢量-1的编码失真代价,且二者的编码失真代价差值大于预设编码代价时,则将运动矢量-4作为目标运动矢量。可以理解的是,其他已判断的目标候选运动矢量不包括当前的目标候选运动矢量自身,例如,当前的目标候选运动矢量为预测单元-1的第一个目标候选运动矢量时,当前的目标候选运动矢量的编码失真代价无法与自身的编码失真代价比较,因此将当前的目标候选运动矢量的下一目标候选运动矢量作为当前的目标候选运动矢量继续进行判断,直至获得目标运动矢量。

还可以在运动矢量-4的编码失真代价小于已经确定的目标矢量的编码失真代价的情况下,则将运动矢量-4作为目标运动矢量。

应用本发明上述实施例,可以将已判断的目标候选运动矢量中编码失真代价最小的目标候选运动矢量作为目标矢量,进而减少了待编码视频被编码后的码率。

在本发明实施例的一种具体实施方式中,第一预设阈值可以为预先设置的值,例如,当预测单元-1的数据量较大时,可以设置较大的第一预设阈值;当预测单元-1对应的编码单元或者图像的量化参数较大时,也可以设置较大的第一预设阈值;当预测单元-1对应的图像的层级越大时,也可以设置较大的第一预设阈值。可以理解的是,qp现有的码率控制算法主要是通过调整离散余弦变换的量化参数大小输出目标码率。实际上,量化参数(quantityparameter,量化参数)(qp)是反映了空间细节压缩情况的值,例如qp减小,视频帧中的大部分的细节都会被保留;qp增大,视频帧中的一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,qp和比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。具体的,第一预设阈值可以为w*h/4*(level+1),其中,w为预测单元宽度;h为预测单元高度;level为当前图像的层级,层级的大小如图3所示。

在本发明实施例的一种具体实施方式中,可以将对应每一目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一目标候选运动矢量的编码失真代价;或者,将对应每一目标候选运动矢量的预测单元的颜色分量对应的编码比特数与颜色分量的线性叠加结果作为每一目标候选运动矢量的编码失真代价。

需要说明的是,上述预测单元的颜色分量,可以是预测单元rgb颜色分量中的一个、两个或者三个,本发明实施例在此并不对其作出限定。另外,编码比特数也称比特率,为编码后的视频每秒传送的比特数。在利用运动矢量-1进行预测单元的编码后,就可以直接获得该运动矢量的编码比特数,通常来说,比特数越高,说明该运动矢量的预测效果越差。

应用本发明上述实施例,可以获取预测单元的编码失真代价。

在本发明的一种具体实施方式中,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价,其具体步骤可以为:

100:获取对应每一目标候选运动矢量的预测单元的颜色分量对应的原始像素值。

例如,可以将预测单元-1的当前的目标候选运动矢量,运动矢量-1对应的r颜色分量对应的像素值作为运动矢量-1的像素值;还可以将预测单元-1的颜色分量r和颜色分量g对应的像素值之和作为运动矢量-1的像素值;还可以将预测单元-1的颜色分量r、颜色分量g、颜色分量b对应的像素值之和作为运动矢量-1的像素值,本发明实施例在此并不对其作出限定。本步骤中获得到预测单元的颜色分量对应的原始像素值为x。

200:获取与每一目标候选运动矢量对应的,对应每一目标候选运动矢量的预测单元的颜色分量对应的预测值。

获取使用运动矢量-1对预测单元进行编码后得到的、对应颜色分量的预测值y。需要说明的是,原始像素值x与预测值y对应的颜色分量为相同的颜色分量。

300:将原始像素值和预测值之差的绝对值和,或者原始像素值和预测值之差的平方和,或者原始像素值和预测值之差的变换和作为每一目标候选运动矢量的编码失真代价。

示例性的,可以将原始像素值x和预测值y差的绝对值和,或者原始像素值x和预测值y之差的平方和,或者原始像素值x和预测值y之差的变换和作为预测单元-1的编码失真代价。

需要说明的是,失真值的计算方式包括但不仅限于上述的失真值的计算方式,任何可以评价预测单元的失真情况的值均可以作为预测单元的失真值。

应用本发明上述实施例,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价。

在本发明的一种具体实施方式中,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价,其具体步骤可以为:

400:获取对应每一目标候选运动矢量的预测单元的颜色分量对应的原始像素值。

例如,可以将预测单元-1的当前的目标候选运动矢量,运动矢量-1对应的r颜色分量对应的像素值作为运动矢量-1的像素值;还可以将预测单元-1的颜色分量r和颜色分量g对应的像素值之和作为运动矢量-1的像素值;还可以将预测单元-1的颜色分量r、颜色分量g、颜色分量b对应的像素值之和作为运动矢量-1的像素值,本发明实施例在此并不对其作出限定。本步骤中获得到预测单元的颜色分量对应的原始像素值为x。

500:获取与每一目标候选运动矢量对应的,对应每一目标候选运动矢量的预测单元的颜色分量对应的编码重建值。

获取使用运动矢量-1对预测单元进行编码后得到的、对应颜色分量的预测值y。需要说明的是,原始像素值x与预测值y对应的颜色分量为相同的颜色分量。

600:将原始像素值和编码重建值之差的绝对值和,或者原始像素值和编码重建值之差的平方和,或者原始像素值和预测值之差的变换和作为每一目标候选运动矢量的编码失真代价。

示例性的,可以将原始像素值x和预测值y差的绝对值和,或者原始像素值x和预测值y之差的平方和,或者原始像素值x和预测值y之差的变换和作为预测单元-1的编码失真代价。

应用本发明上述实施例,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价。

s203:当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

示例性的,当运动矢量-1的编码失真代价小于第一预设阈值时,将运动矢量-1作为目标运动矢量。否则,继续判断下一目标候选运动矢量,例如,可以是运动矢量-2,也可以是运动矢量-3、也可以是运动矢量-4、还可以是运动矢量-5,本发明在此并不对第一目标运动矢量的下一目标候选运动矢量是哪一个运动矢量进行限定。

示例性的,当运动矢量-1的编码失真代价小于第一预设阈值时,将运动矢量-1作为目标运动矢量。可以理解的是,在获得目标运动矢量后,不再对预测单元-1的其他未被判断的运动矢量执行s202步骤。

表1为应用本发明实施例选择出的目标矢量进行视频编码的效率对比表,其中,y、u、v、和yuv列分别表示相同y、u、v以及yuv合并质量下的码增加(负值表示节省,正值表示增加)。其中“y”为明亮度;“u”和“v”为色度。如表1所示,应用本发明实施例选的目标矢量进行视频编码,在编码后的视频的码率相对于应用现有技术编码的码率的提高了不到1.55%的情况下,将编码速度提高了2.16%以上。

表1

注:表1中的术语“视频分类”是指可以应用本发明实施例提供的技术方案进行目标运动矢量选择的视频格式的集合;可以理解的是,本发明实施例所应用的视频格式包括但不仅限于表1中的视频格式。

应用本发明图2所示实施例提供的一种目标运动矢量选择方法,在判断出当前的目标候选运动矢量的编码失真代价小于第一预设阈值时,就将该目标候选运动矢量作为目标运动矢量,从而结束了目标运动矢量的选择过程,而其他的未被判断的目标候选运动矢量就需要计算编码失真代价,相对于现有技术中,需要计算所有的目标候选运动矢量的编码失真代价,减少了需要计算编码失真代价的目标候选运动矢量的数量,进而减少了目标运动矢量选择的过程耗时。

图4为本发明实施例提供的第一种目标候选运动矢量的获取方法的流程示意图;如图4所示,包括:

s201a:根据每一单元预设相邻数据块的个数,获取每一预测单元对应的候选运动矢量的第一数量。

其中,第一数量与个数成正相关。

示例性的,可以将预测单元-1的预设位置的数据块如,左、上、左下和右上作为该预测单元的预设相邻数据块。当这些位置的数据块不存在时,可以为预测单元-1设置更大的第一数量。当上述位置中的数据块缺少一个时,第一数量的值可以为3;当上述位置中的数据块缺少二个时,第一数量的值可以为4;当上述位置中的数据块缺少三个时,第一数量的值可以为5;当上述位置中的数据块缺少四个时,第一数量的值可以为6。例如,上述位置中的数据块缺少二个,则本步骤中获取的预测单元-1对应的第一数量可以为4。

在实际应用中,仅需保证当预测单元预设相邻数据块缺少的越多,该预测单元对应的第一数量越大即可。可以理解的是,可以根据实际情况调整第一数量与预测单元预设相邻数据块的个数的正相关的关系。另外,其正相关关系可以为线性关系,也可以为非线性关系,本发明在此并不进行限定。

需要说明的是,上述“当这些位置的数据块不存在时”可以理解为,这些位置的数据不需要被预测、或者这些数据块对应的区域不存在像素点,例如,可以为视频帧中的空白区域、或者纯色区域。

s201b:根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量。

示例性的,根据预设的视频编码标准h.264或h.265获取每一预测单元对应的候选运动矢量。通常情况下,每一个预测单元的候选运动矢量的数量不超过5个。以预测单元-1为例,预测单元-1对应的候选运动矢量可以为运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。

s201c:根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第一数量个次序对应的候选运动矢量作为每一预测单元的目标候选运动矢量。

示例性的,根据预设的视频编码标准h.264或h.265规定的预测单元-1对应的候选运动矢量的优先级,对预测单元-1的候选运动矢量进行排序,例如,排序结果为:

运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。

将上述序列的前4个候选运动矢量作为预测单元-1的目标候选运动矢量。

应用本发明图4所示实施例,可以减少目标候选运动矢量的数量,进而可以减少目标运动矢量的选择时间。

图5为本发明实施例提供的第二种目标候选运动矢量的获取方法的流程示意图;如图5所示,该方法可以包括:

s201d:根据每一预测单元预设相邻数据块之间的运动矢量分布差异的特征,获取每一预测单元对应的候选运动矢量的第二数量。

其中,第二数量与预设相邻数据块之间的运动矢量分布差异的值呈正相关。

示例性的,根据预设的视频编码标准h.264或h.265,获得的预测单元-1的预设相邻数据块为:左、上、左下、右上和左上。当上述候选运动矢量的方差小于0.3时,第二数量的值可以为3;当上述候选运动矢量的方差大于0.3,且小于0.5时,第二数量的值可以为4;当上述候选运动矢量的方差大于0.5,且小于0.7时,第二数量的值可以为5;当上述候选运动矢量的方差大于0.7时,第二数量的值可以为6;或者当上述候选运动矢量的值的方差大于某一预设阈值时,预设5作为第二数量的值。本发明实施例并不对第二数量的具体值进行限定,仅需使第二数量的值与预设相邻数据块之间的运动矢量分布差异的值成正相关即可。在本步骤中获得的第二数量的值为4.

可以理解的是,上述的分布差异的值和分布差异的特征,包括但不仅限于方差,还可以是其他能够评价预测单元预设相邻数据块之间的运动矢量分布离散型的值,本发明在此并不对分布差异的值和分布差异的特征的类型进行限定。

s201e:根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量。

示例性的,根据预设的视频编码标准h.264或h.265,获得的预测单元-1的候选运动矢量可以为运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。

s201f:根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第二数量个次序对应的运动矢量作为每一预测单元的目标候选运动矢量。

示例性的,根据预设的视频编码标准h.264或h.265规定的预测单元-1对应的候选运动矢量的优先级,对预测单元-1的候选运动矢量进行排序,例如,排序结果为:

运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。

将上述序列的前4个候选运动矢量作为预测单元-1的目标候选运动矢量。

应用本发明图5所示实施例,可以减少目标候选运动矢量的数量,进而可以减少目标运动矢量的选择时间。

图6为本发明实施例提供的第三种目标候选运动矢量的获取方法的流程示意图;如图6所示,该方法可以包括:

s201g:根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量的第三数量。

示例性的,根据预设的视频编码标准h.264或h.265规定的预测单元-1对应的候选运动矢量的个数可以为4。

可以理解的是,第三数量可以为预设的视频编码标准h.264或h.265规定的k值,例如,k值可以为包括预测单元-1左侧和上侧的数据块对应的候选运动矢量的集合中运动矢量的个数。

s201h:根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第三数量个次序对应的运动矢量作为每一预测单元的目标候选运动矢量。

示例性的,根据预设的视频编码标准h.264或h.265规定的预测单元-1对应的候选运动矢量的优先级,对预测单元-1的候选运动矢量进行排序,例如,排序结果为:

运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。

将上述序列的前4个候选运动矢量作为预测单元-1的目标候选运动矢量。

应用本发明图6所示实施例,可以减少目标候选运动矢量的数量,进而可以减少目标运动矢量的选择时间。

第二方面,图7为本发明实施例提供的另一种目标运动矢量选择方法的流程示意图;如图7所示,本发明图7所示实施例在本发明图2所示实施例的基础上,在s202之前增加了s204,在此种情况下,s202可以为s202a,s203可以为s203a,其中,

s204:将目标候选运动矢量中相对于其他目标候选运动矢量的差值小于第二预设阈值的目标运动矢量,作为每一预测单元的备选运动矢量;或者,将目标候选运动矢量中对应的预测结果小于第三预设阈值的目标候选运动矢量,作为每一预测单元的备选运动矢量;或者,将相对于其他目标候选运动矢量的差值最大的目标候选运动矢量作为每一预测单元的备选运动矢量。

示例性的,预测单元-1的目标候选运动矢量为:运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。针对每一目标候选运动矢量,可以获取该目标候选运动矢量与之前的其他预测单元的目标候选运动矢量或者目标运动矢量的差值,将差值小于第二预设阈值的目标候选运动矢量作为备选运动矢量;例如,运动矢量-1与预测单元-0的目标运动矢量的差小于0.2时,将运动矢量-1作为预测单元-1的备选运动矢量。对于运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5也按照上述方法进行处理。

还可以针对每一目标候选运动矢量,获取该目标候选运动矢量与预测单元-1的目标候选运动矢量的平均值的差值,将差值小于第二预设阈值的目标候选运动矢量作为备选运动矢量。还可以针对每一目标候选运动矢量,获取该目标候选运动矢量与预测单元-1的已确定出的备选运动矢量的差值,将差值小于第二预设阈值的目标候选运动矢量作为备选运动矢量。可以理解的是,上述差值包括但不仅限于运动矢量之间的向量的差、向量模的差,任何可以衡量运送矢量之间差异的值均可以应用在本发明实施例中。

示例性的,还可以针对每一目标候选运动矢量,获取该目标候选运动矢量的预测结果。例如,运动矢量-1的预测结果小于0.7时,将运动矢量-1作为预测单元-1的备选运动矢量。对于运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5也按照上述方法进行处理。上述的预测结果包括但不仅限于失真值、或者编码比特数、或者预设的编码标准规定的有效预测范围,可以理解的是,第三预设阈值为与预测结果相同类型的评价结果,而不仅仅是数值。

示例性的,还可以确定出预测单元-1的所有目标候选运动矢量中,与其他目标候选运动矢量的差值最大的目标候选运动矢量,将该运动矢量作为预测单元-1的备选运动矢量。对于运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5也按照上述方法进行处理。上述的差值包括但不仅限于目标候选运动矢量的矢量运算结果,还可以是目标候选运动矢量的模。

例如,本步骤获得的预测单元-1的备选运动矢量为运动矢量-1、运动矢量-2、运动矢量-3。

s202a:依次获取每一备选运动矢量的编码失真代价,并判断所获取的备选运动矢量的编码失真代价是否小于第一预设阈值。

s203a:当判定存在所获取的第一备选运动矢量的编码失真代价小于第一预设阈值,将第一备选运动矢量确定为目标运动矢量,并停止获取第一备选运动矢量的下一备选运动矢量的编码失真代价。

示例性的,针对s204步骤中的获得的预测单元-1的备选运动矢量中的每一备选运动矢量,判断当前的备选运动矢量(第一备选运动矢量)的编码失真代价是否小于第一预设阈值。例如,当前的备选运动矢量为运动矢量-1、判断完运动矢量-1后,继续判断下一备选运动矢量,可以理解的是,本发明实施例并不对上述判断的顺序作出限定,上述判断顺序可以是随机顺序、也可以是按照预设的视频编码标准规定的优先级从大到小的顺序、也可以是按照预设的视频编码标准规定的优先级从小到达的顺序等。

应用本发明图7所示实施例,可以减少目标候选运动矢量的数量,将减少数量后的目标候选运动矢量作为备选运动矢量,可以进一步减少目标运动矢量选择的过程耗时。

图8为本发明实施例提供的一种备选运动矢量的获得方法的流程示意图;如图8所示,s204步骤可以包括以下步骤:

s204a:依次获取每一目标候选运动矢量对应的预测结果,并判断所获取的目标候选运动矢量的预测结果是否小于第三预设阈值。

目标候选运动矢量为:运动矢量-1、运动矢量-2、运动矢量-3、运动矢量-4和运动矢量-5。可以按照以下方式获取每一目标候选运动矢量对应的预测结果:

在本发明实施例的一种具体实施方式中,可以针对目标候选运动矢量中的每一目标候选运动矢量,将每一目标候选运动矢量的预测范围作为预测结果;相应的,第三预设阈值为预设的编码标准规定的预设预测范围。

示例性的,将运动矢量-1的预测范围作为该目标候选运动矢量的预测结果;将预设的视频编码标准h264或者h265规定的预设预测范围作为第三预设阈值。且上述预测范围可以为预测单元所在的视频帧的范围,例如,目标候选运动矢量的预测单位大于或等于第三预设阈值时,即目标候选运动矢量指向了该视频帧之外。上述预测范围还可以为,目标候选运动矢量的值的范围,例如,根据统计结果获取通常的运动矢量的值的范围为(m,n),如果目标候选运动矢量的值超过该范围,则认为该目标候选运动矢量超过预设预测范围。可以理解的是,预设的预测范围的定义方法包括但不仅限于以上方法。

在本发明实施例的一种具体实施方式中,还可以针对目标候选运动矢量中的每一目标候选运动矢量,获取每一目标候选运动矢量对应的整像素预测值相对于原始图像的第一预测失真值;将已获取的第一预测失真值中除每一目标候选运动矢量对应的第一预测失真值以外的最小值,与每一目标候选运动矢量对应的第一预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

示例性的,在使用运动矢量-1和预测单元-1编码预测单元时,该预测单元被编码后得到的像素预测值为a,预测单元的原始的像素值为b,上述a与b的差为获取的运动矢量-1对应的第一预测失真值。

此时,预测单元-1已获取第一预测失真值的运动矢量为运动矢量-2、运动矢量-3,且最小值为运动矢量-2对应的第一预测失真值。将运动矢量-1对应的第一预测失真值与运动矢量-2对应的第一预测失真值的差作为运动矢量-1的预测结果。

在本发明实施例的一种具体实施方式中,还可以针对目标候选运动矢量中的每一候选运动矢量,获取每一目标候选运动矢量对应的第一颜色分量的第二预测失真值;将已获取的第二预测失真值中除每一目标候选运动矢量对应的第二预测失真值以外的最小值,与每一目标候选运动矢量对应的第二预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

示例性的,在使用运动矢量-1和预测单元-1编码预测单元时,该预测单元被编码后的图像的第一颜色分量的预测值为c,预测单元的第一颜色分量的值为d,上述c与d的差为获取的运动矢量-1对应的第二预测失真值。

此时,预测单元-1已获取第一预测失真值的运动矢量为运动矢量-2、运动矢量-3,且最小值为运动矢量-2对应的第二预测失真值。将运动矢量-1对应的第二预测失真值与运动矢量-2对应的第二预测失真值的差作为运动矢量-1的预测结果。

在本发明实施例的一种具体实施方式中,还可以针对目标候选运动矢量中的每一候选运动矢量,将每一目标候选运动矢量对应的第一颜色分量的第三预测失真值,与每一目标候选运动矢量对应的第二颜色分量的第四预测失真值之和作为第五预测失真值;将已获取的第五预测失真值中除每一目标候选运动矢量对应的第五预测失真值以外的最小值,与每一目标候选运动矢量对应的第五预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

示例性的,在使用运动矢量-1和预测单元-1编码预测单元时,该预测单元被编码后的图像的第一颜色分量的预测值为e,该预测单元被编码后的图像的第二颜色分量的预测值为f。预测单元的第一颜色分量的值为g,预测单元的第二颜色分量的值为h。将e与g的差作为运动矢量-1对应的第三预测失真值;f与h的差作为运动矢量-1对应的第四预测失真值;再将第三预测失真值与第四预测失真值的和作为运动矢量-1的第五预测失真值。

此时,预测单元-1已获取第一预测失真值的运动矢量为运动矢量-2、运动矢量-3,且最小值为运动矢量-2对应的第五预测失真值。将运动矢量-1对应的第五预测失真值与运动矢量-2对应的第五预测失真值的差作为运动矢量-1的预测结果。

需要说明的是,第一颜色分量可以为预测单元的rgb颜色分量中的一个;第二颜色分量可以为预测单元的rgb颜色分量中除第一颜色分量外的两个颜色分量中的一个。

s204b:当判定存在所获取的第二目标候选运动矢量的预测结果小于第三预设阈值,将第二目标候选运动矢量确定为备选运动矢量,并停止获取第二目标候选运动矢量的下一目标候选运动矢量的预测结果。

第三预设阈值包括但不仅限于预设的视频编码标准h264或者h265规定的预设预测范围、预设的其他已获取的第一预测失真值中的最小值与当前的目标候选运动矢量对应的第一预测失真值的差的上限值、预设的其他已获取的第二预测失真值中的最小值与当前的目标候选运动矢量对应的第二预测失真值的差的上限值或者预设的其他已获取的第五预测失真值中的最小值与当前的目标候选运动矢量对应的第五预测失真值的差的上限值。

示例性的,当前的目标候选运动矢量,运动矢量-1的预测结果不小于第三预设阈值,运动矢量-1不能作为备选运动矢量,则将运动矢量-1的下一个运动矢量作为当前的目标首选运动矢量,例如,可以将运动矢量-5作为当前的目标候选运动矢量,并判断其预测结果是否小于第三预测阈值,直至对预测单元-1的所有目标候选运动矢量都进行了判断。

当前的目标候选运动矢量,运动矢量-1的预测结果小于第三预设阈值,将运动矢量-1作为备选运动矢量。

在实际应用中,还可以将确定出来的备选运动矢量的集合,作为预测单元-1的备选运动矢量集。

应用本发明图8所示实施例,可以减少目标候选运动矢量的数量,将减少数量后的目标候选运动矢量作为备选运动矢量,可以进一步减少目标运动矢量选择的过程耗时。

第三方面,本发明实施例还提供了一种目标运动矢量选择装置。图9为本发明实施例提供的一种目标运动矢量的选择装置的结构示意图;如图9所示,该装置包括:

获取模块901,用于针对待编码视频中的每一预测单元,获取每一该预测单元对应的目标候选运动矢量;

判断模块902,用于依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

确定模块903,用于当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

应用本发明图9所示实施例提供的一种目标运动矢量选择装置,在判断出当前的目标候选运动矢量的编码失真代价小于第一预设阈值时,就将该目标候选运动矢量作为目标运动矢量,从而结束了目标运动矢量的选择过程,而其他的未被判断的目标候选运动矢量就需要计算编码失真代价,相对于现有技术中,需要计算所有的目标候选运动矢量的编码失真代价,减少了需要计算编码失真代价的目标候选运动矢量的数量,进而减少了目标运动矢量选择的过程耗时。

在本发明实施例的一种具体实施方式中,获取模块901,还用于:

根据每一预测单元预设相邻数据块的个数,获取每一预测单元对应的候选运动矢量的第一数量,其中,第一数量与个数成正相关;

根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量;

根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第一数量个次序对应的候选运动矢量作为每一预测单元的目标候选运动矢量。

应用本发明上述实施例,可以减少目标候选运动矢量的数量,进而可以减少目标运动矢量的选择时间。

在本发明实施例的一种具体实施方式中,获取模块901,还用于:

根据每一预测单元预设相邻数据块之间的运动矢量分布差异的特征,获取每一预测单元对应的候选运动矢量的第二数量,其中,第二数量与预设相邻数据块之间的运动矢量分布差异的值呈正相关;

根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量;

根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第二数量个次序对应的候选运动矢量作为每一预测单元的目标候选运动矢量。

应用本发明上述实施例,可以减少目标候选运动矢量的数量,进而可以减少目标运动矢量的选择时间。

在本发明实施例的一种具体实施方式中,获取模块901,还用于:

根据预设的视频编码标准,获取每一预测单元对应的候选运动矢量的第三数量;

根据预设的视频编码标准中规定的候选运动矢量的优先级,按照优先级从高到底的顺序进行排序,将得到的序列中前第三数量个次序对应的候选运动矢量作为每一预测单元的目标候选运动矢量。

在本发明实施例的一种具体实施方式中,第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值。

在本发明实施例的一种具体实施方式中,第一预设阈值包括:

除当前的目标候选运动矢量之外的,其他已判断的目标候选运动矢量的编码失真代价中的最小值与预设编码代价的差值。

第四方面,本发明实施例还提供了另一种目标矢量的选择装置,图10为本发明实施例提供的另一种目标运动矢量的选择装置的结构示意图,如图10所示,该装置在本发明图9所示装置的基础上增加了设置模块904,用于:

将目标候选运动矢量中相对于其他目标候选运动矢量的差值小于第二预设阈值的目标运动矢量,作为每一预测单元的备选运动矢量;

或者,将目标候选运动矢量中对应的预测结果小于第三预设阈值的目标候选运动矢量,作为每一预测单元的备选运动矢量;

或者,将相对于其他目标候选运动矢量的差值最大的目标候选运动矢量作为每一预测单元的备选运动矢量;

判断模块902,还用于:

依次获取每一备选运动矢量的编码失真代价,并判断所获取的备选运动矢量的编码失真代价是否小于第一预设阈值;

确定模块903,还用于:

当判定存在所获取的第一备选运动矢量的编码失真代价小于所述第一预设阈值,将所述第一备选运动矢量确定为目标运动矢量,并停止获取所述第一备选运动矢量的下一备选运动矢量的编码失真代价。

应用本发明图10所示实施例,可以减少目标候选运动矢量的数量,将减少数量后的目标候选运动矢量作为备选运动矢量,可以进一步减少目标运动矢量选择的过程耗时。

在本发明实施例的一种具体实施方式中,设置模块904,还用于:

依次获取每一目标候选运动矢量对应的预测结果,并判断所获取的目标候选运动矢量的预测结果是否小于第三预设阈值;

当判定存在所获取的第二目标候选运动矢量的预测结果小于第三预设阈值,将第二目标候选运动矢量确定为备选运动矢量,并停止获取第二目标候选运动矢量的下一目标候选运动矢量的预测结果。

应用本发明上述实施例,可以减少目标候选运动矢量的数量,将减少数量后的目标候选运动矢量作为备选运动矢量,可以进一步减少目标运动矢量选择的过程耗时。

在本发明实施例的一种具体实施方式中,第三预设阈值为预设的编码标准规定的预设预测范围;

设置模块904,还用于:

针对每一目标候选运动矢量,获取每一目标候选运动矢量的预测范围,作为每一目标候选运动矢量对应的预测结果。

在本发明实施例的一种具体实施方式中,设置模块904,还用于:

针对每一目标候选运动矢量,获取每一目标候选运动矢量对应的整像素预测值相对于原始图像的第一预测失真值;

将已获取的第一预测失真值中除每一目标候选运动矢量对应的第一预测失真值以外的最小值,与每一目标候选运动矢量对应的第一预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

在本发明实施例的一种具体实施方式中,设置模块904,还用于:

针对每一目标候选运动矢量,获取每一目标候选运动矢量对应的第一颜色分量的第二预测失真值;

将已获取的第二预测失真值中除每一目标候选运动矢量对应的第二预测失真值以外的最小值,与每一目标候选运动矢量对应的第二预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

在本发明实施例的一种具体实施方式中,设置模块904,还用于:

针对每一目标候选运动矢量,将每一目标候选运动矢量对应的第一颜色分量的第三预测失真值,与每一目标候选运动矢量对应的第二颜色分量的第四预测失真值之和作为第五预测失真值;

将已获取的第五预测失真值中除每一目标候选运动矢量对应的第五预测失真值以外的最小值,与每一目标候选运动矢量对应的第五预测失真值的差,作为每一目标候选运动矢量对应的预测结果。

在本发明实施例的一种具体实施方式中,判断模块902,还用于:

将对应每一目标候选运动矢量的预测单元的颜色分量对应的失真值作为每一目标候选运动矢量的编码失真代价;或者,将对应每一目标候选运动矢量的预测单元的颜色分量对应的编码比特数,与颜色分量的线性叠加结果作为每一目标候选运动矢量的编码失真代价。

应用本发明上述实施例,可以获取预测单元的编码失真代价。

在本发明实施例的一种具体实施方式中,判断模块902,还用于:

获取对应每一目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一目标候选运动矢量对应的,对应每一目标候选运动矢量的预测单元的颜色分量对应的预测值;

将原始像素值和预测值之差的绝对值和,或者原始像素值和预测值之差的平方和,或者原始像素值和预测值之差的变换和作为每一目标候选运动矢量的编码失真代价。

应用本发明上述实施例,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价。

在本发明实施例的一种具体实施方式中,判断模块902,还用于:

获取对应每一目标候选运动矢量的预测单元的颜色分量对应的原始像素值;

获取与每一目标候选运动矢量对应的,对应每一目标候选运动矢量的预测单元的颜色分量对应的编码重建值;

将原始像素值和编码重建值之差的绝对值和,或者原始像素值和编码重建值之差的平方和,或者原始像素值和预测值之差的变换和作为每一目标候选运动矢量的编码失真代价。

应用本发明上述实施例,可以将预测单元的颜色分量对应的失真值作为该目标候选运动矢量的编码失真代价。

第五方面,本发明实施例还提供了一种电子设备,包括处理器1101和存储器1102,其中,

存储器1101,用于存放计算机程序;

处理器1102,用于执行存储器上所存放的程序时,执行以下方法步骤:

针对待编码视频中的每一预测单元,获取每一预测单元对应的目标候选运动矢量;

依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

存储器1101可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器1101还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器1102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

第六方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

针对待编码视频中的每一预测单元,获取每一预测单元对应的目标候选运动矢量;

依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

第七方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以下步骤:

针对待编码视频中的每一预测单元,获取每一预测单元对应的目标候选运动矢量;

依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

第六方面,本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行以下步骤:

针对待编码视频中的每一预测单元,获取每一预测单元对应的目标候选运动矢量;

依次获取每一目标候选运动矢量的编码失真代价,并判断所获取的目标候选运动矢量的编码失真代价是否小于第一预设阈值;

当判定存在所获取的第一目标候选运动矢量的编码失真代价小于第一预设阈值,将第一目标候选运动矢量确定为目标运动矢量,并停止获取第一目标候选运动矢量的下一目标候选运动矢量的编码失真代价。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1