首页> 中国专利> 一种利用横纵坐标的帧内线性预测方法及装置

一种利用横纵坐标的帧内线性预测方法及装置

摘要

本发明公开了一种利用横纵坐标的帧内线性预测方法及装置,方法包括:根据当前编码块的位置,获取参考像素;根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;将所述当前编码块的真实值与所述预测值进行作差,得到残差值;根据所述残差值,完成视频编码过程。本发明准确度高、实用性高且应用范围广,可广泛应用于数据处理技术领域。

著录项

  • 公开/公告号CN114679587A

    专利类型发明专利

  • 公开/公告日2022-06-28

    原文格式PDF

  • 申请/专利权人 中山大学;

    申请/专利号CN202210247372.9

  • 发明设计人 梁凡;梁文锟;邱鸿鑫;

    申请日2022-03-14

  • 分类号H04N19/593;H04N19/11;H04N19/186;H04N19/149;

  • 代理机构广州嘉权专利商标事务所有限公司;

  • 代理人梁嘉琦

  • 地址 510275 广东省广州市海珠区新港西路135号

  • 入库时间 2023-06-19 15:47:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及数据处理技术领域,尤其是一种利用横纵坐标的帧内线性预测方法及装置。

背景技术

在视频编码过程的帧内预测中,现有技术用预测像素横、纵坐标对像素值进行线性预测,预测公式如下公式所示:

P

其中,P

其中,上述两公式中的字母意义如下:

定义两个矩阵A和B,其中各元素值如下公式可得:

A

最后便可计算线性模型的三个参数,计算公式如下:

其中,||是对矩阵取行列式的运算。

在目前基于最小二乘法使用横、纵坐标对像素进行预测的算法中,主要存在以下问题:

1、线性模型参数的计算方法不妥,导致线性模型拟合的准确度欠佳。

2、现有方法的实现方式不合理,其实现是将新方法与原有的一种帧内预测模式混在一起,并且对所有编码块均需要使用新的标志位标识是否用新方法。

3、现有方法只针对亮度,色度帧内预测时不采用该方法。

发明内容

有鉴于此,本发明实施例提供一种准确度高、实用性高且应用范围广的,利用横纵坐标的帧内线性预测方法及装置。

本发明的一方面提供了一种利用横纵坐标的帧内线性预测方法,包括:

根据当前编码块的位置,获取参考像素;

根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;

根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;

将所述当前编码块的真实值与所述预测值进行作差,得到残差值;

根据所述残差值,完成视频编码过程。

可选地,所述根据当前编码块的位置,获取参考像素,包括:

获取位于当前编码块的上面的重建亮度的初始参考像素和左边的重建亮度的初始参考像素;

移除初始参考像素中无效的像素点,并标识剩余参考像素的可用情况,确定要用的参考像素。

可选地,所述根据所述参考像素的可用情况,确定预测模式,包括:

当所述当前编码块的上面一行及左边一列的参考像素均可以使用时,确定预测模式为常规模式;

当所述当前编码仅有上面一行参考像素可以使用时,确定预测模式为竖直模式;

当所述当前编码仅有左边一列参考像素可以使用时,确定预测模式为水平模式;

当所述当前编码的参考像素均不可用时,确定预测模式为默认模式。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为常规模式,该步骤包括以下步骤:

对上面一行及左边一列的参考像素的参考像素用滤波器进行平滑滤波处理;

根据所述平滑滤波处理得到的像素值,计算线性模型的参数;

根据所述线性模型的参数,对预测块中的各个位置进行预测,得到预测结果;

根据参考像素对预测块的预测结果进行补充滤波,得到像素最终的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为默认模式,该步骤包括以下步骤:

对线性模型的三个参数确定对应的定值;

根据确定了定值的三个参数,对像素进行预测,得到像素的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为水平模式,该步骤包括以下步骤:

将所述当前编码块中每一行的所有预测像素赋值为同一行的参考像素值,确定所有像素的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为竖直模式,该步骤包括以下步骤:

将所述当前编码块中每一列的所有预测像素赋值为同一列的参考像素值,确定所有像素的预测值。

本发明实施例的另一方面提供了一种利用横纵坐标的帧内线性预测装置,包括:

第一模块,用于根据当前编码块的位置,获取参考像素;

第二模块,用于根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;

第三模块,用于根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;

第四模块,用于将所述当前编码块的真实值与所述预测值进行作差,得到残差值;

第五模块,用于根据所述残差值,完成视频编码过程。

本发明实施例的另一方面提供了一种电子设备,包括处理器以及存储器;

所述存储器用于存储程序;

所述处理器执行所述程序实现如前面所述的方法。

本发明实施例的另一方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。

本发明的实施例根据当前编码块的位置,获取参考像素;根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;将所述当前编码块的真实值与所述预测值进行作差,得到残差值;根据所述残差值,完成视频编码过程。本发明准确度高、实用性高且应用范围广。

附图说明

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

图1为本发明实施例提供的整体步骤流程图;

图2为本发明实施例提供的余子式的计算过程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

针对现有技术存在的问题本发明实施例提供了一种利用横纵坐标的帧内线性预测方法,

包括:

根据当前编码块的位置,获取参考像素;

根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;

根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;

将所述当前编码块的真实值与所述预测值进行作差,得到残差值;

根据所述残差值,完成视频编码过程。

可选地,所述根据当前编码块的位置,获取参考像素,包括:

获取位于当前编码块的上面的重建亮度的初始参考像素和左边的重建亮度的初始参考像素;

移除初始参考像素中无效的像素点,并标识剩余参考像素的可用情况,确定要用的参考像素。

可选地,所述根据所述参考像素的可用情况,确定预测模式,包括:

当所述当前编码块的上面一行及左边一列的参考像素均可以使用时,确定预测模式为常规模式;

当所述当前编码仅有上面一行参考像素可以使用时,确定预测模式为竖直模式;

当所述当前编码仅有左边一列参考像素可以使用时,确定预测模式为水平模式;

当所述当前编码的参考像素均不可用时,确定预测模式为默认模式。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为常规模式,该步骤包括以下步骤:

对上面一行及左边一列的参考像素的参考像素用滤波器进行平滑滤波处理;

根据所述平滑滤波处理得到的像素值,计算线性模型的参数;

根据所述线性模型的参数,对预测块中的各个位置进行预测,得到预测结果;

根据参考像素对预测块的预测结果进行补充滤波,得到像素最终的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为默认模式,该步骤包括以下步骤:

对线性模型的三个参数确定对应的定值;

根据确定了定值的三个参数,对像素进行预测,得到像素的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为水平模式,该步骤包括以下步骤:

将所述当前编码块中每一行的所有预测像素赋值为同一行的参考像素值,确定所有像素的预测值。

可选地,所述根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值这一步骤中,所述预测模式为竖直模式,该步骤包括以下步骤:

将所述当前编码块中每一列的所有预测像素赋值为同一列的参考像素值,确定所有像素的预测值。

本发明实施例的另一方面提供了一种利用横纵坐标的帧内线性预测装置,包括:

第一模块,用于根据当前编码块的位置,获取参考像素;

第二模块,用于根据所述参考像素的可用情况,确定预测模式;其中,所述预测模式包括常规模式、水平模式、默认模式和竖直模式;

第三模块,用于根据所述预测模式对所述当前编码块的所有像素进行预测,得到所有像素的预测值;

第四模块,用于将所述当前编码块的真实值与所述预测值进行作差,得到残差值;

第五模块,用于根据所述残差值,完成视频编码过程。

本发明实施例的另一方面提供了一种电子设备,包括处理器以及存储器;

所述存储器用于存储程序;

所述处理器执行所述程序实现如前面所述的方法。

本发明实施例的另一方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。

下面结合说明书附图,对本发明的具体实现原理进行详细描述:

本发明是属于视频编码中帧内预测的其中一种预测方法,与其他帧内预测方法是独立互不干扰的,视频编码器会通过遍历选取一种最优模式作为最终的帧内预测方法。如图1所示,本发明的方法包括以下步骤:

步骤一:获取参考像素。获取位于当前编码块的上面和左边的重建亮度参考像素,移除无效的像素点,并且标识参考像素的可用情况,供后续步骤使用。实际编码过程中因为边界等问题可以出现四种情况,分别为上面一行和左边一列参考像素均可用、仅有上面一行参考像素可用、仅有左边一列参考像素可用、上面一行和左边一列参考像素均不可用。

步骤二:根据参考像素可用情况决定预测模式。本发明的方法是利用预测块上面一行及左边一列的重建像素作为参考像素,但是在实际编码过程中会因为边界等问题导致出现参考像素不可用的情况,所以本发明针对不同情况使用不同的预测模式。

当上面一行及左边一列参考像素均可以使用时,则使用常规模式,用横、纵坐标和线性模式预测像素值;当仅有上面一行参考像素可以使用时,则使用编解码器中原有的竖直模式,因为仅有上面一行的参考像素无法使用最小二乘法拟合含有横、纵坐标的线性模型;当仅有左边一列参考像素可以使用时,则使用编解码器中原有的水平模式;当参考像素均不可用时,则使用默认模式,线性模型的参数不需拟合,使用默认的初始化值。

步骤三:预测像素。具体细化步骤如下:

1)常规模式下,包括以下步骤Step1-Step4:

Step 1:参考像素滤波。对左边、上面非边界的参考像素用抽头系数为[1 2 1]的滤波器进行平滑滤波,使重建像素的变化更平滑,有利于后续线性模型的拟合。因为平滑滤波需要使用临近的像素,所以对边界的参考像素不作滤波。上面一行参考像素滤波的计算公式如下:

rec′(x,y)=(1·rec(x-1,y)+2·rec(x,y)+1·rec(x+1,y)+1)>>2

其中,rec′(x,y)是滤波后得到的像素值,rec(x,y)是滤波前的重建像素值,rec(x-1,y)是滤波前左边一位的像素值,rec(x+1,y)是滤波前右边一位的像素值。左边一列参考像素滤波的计算公式如下:

rec′(x,y)=(1·rec(x,y-1)+2·rec(x,y)+1·rec(x,y+1)+1)>>2

其中,rec′(x,y)是滤波后得到的像素值,rec(x,y)是滤波前的重建像素值,rec(x,y-1)是滤波前上面一位的像素值,rec(x,y+1)是滤波前下面一位的像素值。

Step 2:计算线性模型参数。本发明提出的线性模型是用横、纵坐标及参考像素均值来预测像素值,预测公式如下所示:

pred(x,y)=a·x+b·y+c·avg

其中,x、y分别是当前像素的横、纵坐标,avg是参考像素的均值,pred(x,y)是预测块中横、纵坐标分别为x、y的像素预测值,a、b、c则是该线性模型的参数,需要在本步骤中求得。将上述预测公式写成矩阵形式,可得以下公式:

利用参考像素计算线性模型参数,由最小二乘法,求解最优q的公式如下所示:

q=(U

其中,参数a的计算方法如下:

先求U

U

其中,n为参考像素的总数目,U

参数b的计算方法如下:

对U

其中,

参数c的计算方法为:利用矩阵乘法乘上U

Step 3:线性预测像素。在得到线性模型的参数a、b、c后,对预测块中的各个位置进行预测,预测公式如下所示:

pred(x,y)=clip(a·x+b·y+c·avg)

其中,限幅操作是指结果值限定在区间[0,1023]中,因为编解码器中位深为10比特,像素的取值范围是[0,1023],限幅的计算公式如下所示:

Step4:补充滤波。在完成像素的预测后,利用参考像素对预测块的第一行和第一列像素进行补充滤波,可以使块边界的像素过渡得更平缓,预测块中第一行的滤波公式如下所示:

pred′(x,1)=(3·pred(x,1)+1·rec(x,0)+2)>>2

其中,pred′(x,1)表示预测块第一行中横坐标为x的最终预测值,pred(x,1)表示未经补充滤波的预测值,rec(x,0)表示当前预测位置正上方的参考像素值。预测块中第一列的滤波公式如下所示:

pred′(1,y)=(3·pred(1,y)+1·rec(0,y)+2)>>2

其中,pred′(1,y)表示预测块第一列中纵坐标为y的最终预测值,pred(1,y)表示未经补充滤波的预测值,rec(0,y)表示当前预测位置正左边的参考像素值。

2)、默认模式:

默认模式是当没有参考像素可用时使用的模式,对线性模型的三个参数定下一个定值,然后对像素进行预测,预测公式如下所示:

pred(x,y)=clip(a·x+b·y+c·avg)

其中,clip是限幅操作,具体计算与1)中Step3相同。

3)、水平模式:

水平模式是当仅有左边参考像素可用时使用的模式。因为只有一列可用的参考像素,所以不能拟合具有三个参数的线性模型。本发明中的水平模式与编解码器中原有的水平模式相同,每一行所有预测像素等于位于同一行的参考像素值,计算公式如下:

pred(x,y)=rec(0,y)

其中,pred(x,y)表示横、纵坐标为(x,y)处的预测像素值,rec(0,y)为预测块左边同一行的参考像素值。

4)、竖直模式

竖直模式是当仅有上面参考像素可用时使用的模式。因为只有一行可用的参考像素,所以不能拟合具有三个参数的线性模型。本发明中的竖直模式与编解码器中原有的竖直模式相同,每一列所有预测像素等于位于同一列的参考像素值,计算公式如下:

pred(x,y)=rec(x,0)

其中,pred(x,y)表示横、纵坐标为(x,y)处的预测像素值,rec(x,0)为预测块上面同一列的参考像素值。

步骤四:结束。通过步骤三,已经完成对当前预测块所有像素的预测,后续将当前块的真实值与预测值作差得到残差值并且进入变换和量化等模块进行后续的视频编码。

最后简单描述该发明在编码器中的实现方式。编码器中使用若干个二进制位表达所有亮度帧内预测方法,本发明提出新的一种帧内预测方法,在编码器中将新方法与最后一种帧内预测方法使用相同的二进制位表示。为了区分新方法和原来的最后一种方法,本发明在编码器实现中新增一个标志位。若编码器通过遍历将本发明的方法作为最终的帧内预测方法,则需要将本发明的预测方法作为最后一种帧内预测方法编入码流中,同时新增一个标志位编入码流表达使用的是本发明的方法。若当编码器选择原来的最后一种帧内预测方法时,也需要新增一个标志位编入码流表达使用的是旧方法。因此,本发明在编码器的实现方法上仅需要对新方法和原来的最后一种帧内预测方法需要添加标志位,而对其他若干种方法不需要额外增加码流,一定程度上可以节省编码压缩的比特率。

综上所述,相较于现有技术,本发明具有以下优点:

1、本发明使用完整的最小二乘法拟合线性模型,线性模型预测更准确,更能提高帧内的效率。充分利用横、纵坐标与像素值的关系,当编码块中的像素与横、纵坐标有密切关系时,可以为帧内预测提供一种新型的预测方法。

2本发明的实现方式合理,只需要对部分符合条件的编码块编码新的标志位,而不是对所有的编码块,可以节省码流的比特率。

3、本发明对线性模型结构中的第三部分进行优化,提高线性模型的实用性。将与第三个参数相乘的乘数改为参考像素的均值,而现有技术使用的乘数是1,改为均值后有利于提高线性模型预测准确度。

4、本发明的应用范围广,是亮度与色度分量都可用的帧内预测技术。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号