首页 / 专利库 / 图形技术 / / 视频编码方法及设备

视频编码方法及设备

阅读:214发布:2020-05-08

专利汇可以提供视频编码方法及设备专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种 视频编码 方法及设备,包括在接收到当前编码 帧 图像之后,将所述当前编码帧图像分解为多个编码单元;建立所述编码单元的预测模式库;获取每个所述编码单元的梯度值;根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式。本发明通过通过梯度值判断图像类型,在预测模式库中选取至少一种预测模式进行预测,在无需大量计算的前提下,筛选出预测模式库中的预测模式,提高图像编码压缩速度以及效率。,下面是视频编码方法及设备专利的具体信息内容。

1.一种视频编码方法,其特征在于,包括:
在接收到当前编码图像之后,将所述当前编码帧图像分解为多个编码单元;
建立所述编码单元的预测模式库;
获取每个所述编码单元的梯度值;
根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;
基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;
根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
将每个所述编码单元的最终预测结果进行编码写入码流中。
2.根据权利要求1所述的方法,其特征在于,获取每个所述编码单元的梯度值,包括:
计算所述编码单元中每相邻的两个像素分量的差值;
根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。
3.根据权利要求1所述的方法,其特征在于,根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型,包括:
根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;
根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;
判断每个所述编码单元的梯度值的所述级别区间;
根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。
4.根据权利要求1所述的方法,其特征在于,根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间,包括:
将小于第一阈值的区间分级为第一级别区间;
将大于第一阈值且小于第二阈值的区间分级为第二级别区间;
将大于第二阈值且小于所述最大像素差值的区间分级为第三级别区间。
5.根据权利要求1所述的方法,其特征在于,基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式,包括:
将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;
根据匹配结果将每个所述编码单元分别预估出至少一种预测模式。
6.一种视频编码设备,其特征在于,包括:
分解模,用于在接收到当前编码帧图像之后,将所述当前编码帧图像分解为多个编码单元;
建立模块,用于建立所述编码单元的预测模式库;
第一获取模块,用于获取每个所述编码单元的梯度值;
第一确定模块,用于根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;
预估模块,用于基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;
第二获取模块,用于根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
第二确定模块,根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
写入模块,用于将每个所述编码单元的最终预测结果进行编码写入码流中。
7.根据权利要求6所述的设备,其特征在于,所述第一获取模块具体用于:
计算所述编码单元中每相邻的两个像素分量的差值;
根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。
8.根据权利要求6所述的设备,其特征在于,所述第一确定模块具体用于:
根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;
根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;
判断每个所述编码单元的梯度值的所述级别区间;
根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。
9.根据权利要求6所述的设备,其特征在于,所述第一确定模块中根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间,包括:
将小于第一阈值的区间分级为第一级别区间;
将大于第一阈值且小于第二阈值的区间分级为第二级别区间;
将大于第二阈值且小于所述最大像素差值的区间分级为第三级别区间。
10.根据权利要求6所述的设备,其特征在于,所述预估模块具体用于:
将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;
根据匹配结果将每个所述编码单元分别预估出至少一种预测模式。

说明书全文

视频编码方法及设备

技术领域

[0001] 本发明涉及一种压缩技术领域,特别涉及一种视频编码方法及设备。

背景技术

[0002] 随着多媒体技术的迅速发展,现代计算机技术特别是海量数据存储与传输技术的成熟,视频作为一种主要的媒体类型在人们的生活、教育、娱乐等方面日益成为不可或缺的信息载体。
[0003] 视频图像之所以能被压缩编码,是因为图像数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。压缩编码的目的就是通过去除这些数据冗余来减少表示图像数据所需的比特数。
[0004] 视频图像的压缩编码技术主要由四个部分组成,包含:预测模、量化模块、码控模块和熵编码模块。其中预测模块作为一个重要的模块,是利用相邻像素间存在的空间冗余度,根据邻近像素信息对当前像素值进行预测,预测差值的标准差远小于原始图像数据的标准差,因此对预测差值进行编码,更有利于使图像数据的理论熵达到最小,达到提高压缩效率的目的。现有的视频图像编码方法通常采用单一的图像预测方法,无法随着视频图像的类型确定适应的预测方法,不利于视频图像编码效率的提高。

发明内容

[0005] 因此,为解决现有技术存在的技术缺陷和不足,本发明提出一种视频编码方法及设备。
[0006] 具体地,本发明一个实施例提出的一种视频编码方法,包括:
[0007] 在接收到当前编码帧图像之后,将所述当前编码帧图像分解为多个编码单元;
[0008] 建立所述编码单元的预测模式库;
[0009] 获取每个所述编码单元的梯度值;
[0010] 根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;
[0011] 基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;
[0012] 根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
[0013] 根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
[0014] 将每个所述编码单元的最终预测结果进行编码写入码流中。
[0015] 在本发明的一个实施例中,获取每个所述编码单元的梯度值,包括:
[0016] 计算所述编码单元中每相邻的两个像素分量的差值;
[0017] 根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。
[0018] 在本发明的一个实施例中,根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型,包括:
[0019] 根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;
[0020] 根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;
[0021] 判断每个所述编码单元的梯度值的所述级别区间;
[0022] 根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。
[0023] 在本发明的一个实施例中,根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间,包括:
[0024] 将小于第一阈值的区间分级为第一级别区间;
[0025] 将大于第一阈值且小于第二阈值的区间分级为第二级别区间;
[0026] 将大于第二阈值且小于所述最大像素差值的区间分级为第三级别区间。
[0027] 在本发明的一个实施例中,基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式,包括:
[0028] 将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;
[0029] 根据匹配结果将每个所述编码单元分别预估出至少一种预测模式。
[0030] 在本发明的另一个实施例提出的一种视频编码设备,包括:
[0031] 分解模块,用于在接收到当前编码帧图像之后,将所述当前编码帧图像分解为多个编码单元;
[0032] 建立模块,用于建立所述编码单元的预测模式库;
[0033] 第一获取模块,用于获取每个所述编码单元的梯度值;
[0034] 第一确定模块,用于根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;
[0035] 预估模块,用于基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;
[0036] 第二获取模块,用于根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
[0037] 第二确定模块,根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
[0038] 写入模块,用于将每个所述编码单元的最终预测结果进行编码写入码流中。
[0039] 在本发明的一个实施例中,所述第一获取模块具体用于:
[0040] 计算所述编码单元中每相邻的两个像素分量的差值;
[0041] 根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。
[0042] 在本发明的一个实施例中,所述第一确定模块具体用于:
[0043] 根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;
[0044] 根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;
[0045] 判断每个所述编码单元的梯度值的所述级别区间;
[0046] 根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。
[0047] 在本发明的一个实施例中,所述第一确定模块中根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间,包括:
[0048] 将小于第一阈值的区间分级为第一级别区间;
[0049] 将大于第一阈值且小于第二阈值的区间分级为第二级别区间;
[0050] 将大于第二阈值且小于所述最大像素差值的区间分级为第三级别区间。
[0051] 在本发明的一个实施例中,所述预估模块具体用于:
[0052] 将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;
[0053] 根据匹配结果将每个所述编码单元分别预估出至少一种预测模式。
[0054] 基于此,本发明具备如下优点:
[0055] 本发明通过梯度值判断图像类型,在预测模式库中选取至少一种预测模式进行预测,在无需大量计算的前提下,筛选出预测模式库中的预测模式,提高图像编码压缩速度以及效率。
[0056] 通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅图概念地说明此处描述的结构和流程。

附图说明

[0057] 下面将结合附图,对本发明的具体实施方式进行详细的说明。
[0058] 图1为本发明实施例提供的一种视频编码方法流程示意图;
[0059] 图2为本发明实施例提供的一种第一自适应预测模板的示意图;
[0060] 图3为本发明实施例提供的一种第二自适应预测模板的示意图;
[0061] 图4为本发明实施例提供的一种相邻参考像素分量的示意图;
[0062] 图5为本发明实施例提供的一种重建像素分量参考示意图;
[0063] 图6为本发明实施例提供的另一种重建像素分量参考示意图;
[0064] 图7a为本发明实施例提供的一种编码单元平分割示意图;
[0065] 图7b为本发明实施例提供的另一种编码单元垂直分割示意图;
[0066] 图7c为本发明实施例提供的再一种编码单元不分割示意图;
[0067] 图8为本发明实施例提供的一种当前编码单元最终分割示意图;
[0068] 图9为本发明实施例提供的一种视频编码设备示意图。

具体实施方式

[0069] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0070] 实施例一
[0071] 请参见图1,图1为本发明实施例提供的一种视频编码方法流程示意图;本实施例对本发明提供的一种视频编码方法进行详细描述,该方法包括如下步骤:
[0072] 步骤1、在接收到当前编码帧图像之后,将所述当前编码帧图像分解为多个编码单元;
[0073] 每个编码单元中包括m*n个像素分量。
[0074] 步骤2、建立所述编码单元的预测模式库;
[0075] 预先选择多种预测模式,将多种预测模式形成一个预测模式库,供后续编码选择。优选地,预测模式库中可以包括基于模板预测模式、基于固定窗口预测模式以及基于分割预测模式等,本发明中的实施例以这三种预测模式为例具体介绍,但不仅包含该三种预测模式。
[0076] 步骤3、获取每个所述编码单元的梯度值;
[0077] 计算所述编码单元中每相邻的两个像素分量的差值,根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。具体计算公式如下所示:
[0078]
[0079] 其中,Grad表示每个所述编码单元的梯度值,i表示待编码单元中像素分量的位置索引,P表示待编码单元中像素分量值,ABS表示绝对值运算。当i的取值为0时,即代表位置索引为0的像素分量,即首个像素分量,此时,设定Pi-1的取值为P0,即Pi-Pi-1=P0-P0。
[0080] 步骤4、根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型。
[0081] 根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;例如,若每个像素分量的位宽为8,则每个像素分量的像素值范围为0~255,所述编码单元中两个像素分量的最大像素差值为255,则编码单元中两个像素分量的像素差值范围为0~255。根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;优选地,设置第一阈值和第二阈值,可以根据需求手动设定。将小于第一阈值的像素差值范围区间分级为第一级别区间;将大于第一阈值且小于第二阈值的像素差值范围区间分级为第二级别区间;将大于第二阈值且小于所述最大像素差值的像素差值范围区间分级为第三级别区间。判断每个所述编码单元的梯度值位于哪个级别区间内;根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。具体地,当编码单元的梯度值在第一级别区间时,编码单元的图像类型为简单纹理图像类型;当编码单元的梯度值在第二级别区间时,编码单元的图像类型为一般纹理图像类型;当编码单元的梯度值在第三级别区间时,编码单元的图像类型为复杂纹理图像类型。
[0082] 步骤5、基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式
[0083] 将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;进一步地,当编码单元的图像类型为简单纹理图像类型,在预测模式库中匹配适用于对应纹理图像类型的预测模式,例如可以选择基于分割预测模式;当编码单元的图像类型为一般纹理图像类型,在预测模式库中匹配适用于对应纹理图像类型的预测模式,例如可以选择基于固定窗口预测模式;当编码单元的图像类型为复杂纹理图像类型,在预测模式库中匹配适用于对应纹理图像类型的预测模式,例如可以选择基于模板预测模式。当编码单元的不同图像类型与预测模式库中的多种预测模式对应的图像类型匹配时,针对简单纹理图像类型、一般纹理图像类型以及复杂纹理图像类型也可以选择两种以上的预测模式。
[0084] 步骤6、根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
[0085] 根据上述步骤中预估的编码单元的至少一种预测模式分别对编码单元进行预测,获取每个所述编码单元中每个像素分量的预测残差。
[0086] 步骤7、根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
[0087] 若上述步骤中预估的编码单元的预测模式为一种,则该中预测模式为所述编码单元的最终预测模式,求解的预测残差为最终的预测残差;
[0088] 若上述步骤中预估的编码单元的预测模式为多种,则利用如下方式确定所述编码单元的最终预测模式,具体为:
[0089] 计算每种预测模式下所述编码单元的残差绝对值和(sum  of  absolute difference,简称SAD)和残差标准差E,如下式所述。
[0090]
[0091]
[0092]
[0093] 其中Res为所述编码单元中每个像素分量的预测残差;i为所述编码单元的像素分量序号;ABS为取绝对值;AVE为平均残差。
[0094] 最终根据SAD和E的情况,分场景配置权重系数a1和a2,若为连续多帧且具有传导效应的场景,如H246参考值压缩,a2较大,a1较小;反之,a1较大,a2较小。可选地a1+a2=1;计算残差主观和(subjective difference,简称SUBD),如下式所示。
[0095] SUBD=a1×SAD+a2×E
[0096] 选用SUBD最小的预测模式为所述编码单元的最终预测模式,采用该预测模式下的预测残差为最终预测残差。
[0097] 步骤7、将每个所述编码单元的最终预测结果进行编码写入码流中;
[0098] 将每个所述编码单元的的最终预测模式的标识和所述最终预测模式对应的预测残差进行编码写入码流中。
[0099] 本实施例通过残差主观和在多种预测模式中选取一种预测模式作为最终预测模式,可以更准确获取编码单元的最优预测残差,进一步提高图像编码压缩率,降低压缩的理论极限熵。
[0100] 实施例二
[0101] 本实施例在上述实施例的基础上,对本发明提出的基于模板预测模式进行详细描述。该模式包括如下内容:
[0102] 步骤1、建立自适应预测模板
[0103] 在本发明的实施例中提供两种不同的自适应预测模板,分别为第一自适应预测模板和第二自适应预测模板,下述内容分别详细介绍第一自适应预测模板和第二自适应预测模板的建立。
[0104] 其中,在一个具体的实施方式中,第一自适应预测模板如图2所示,图2为本发明实施例提供的一种第一自适应预测模板的示意图。
[0105] 第一自适应预测模板的表位数量可以为4个、8个、16个或32个;本实施例以表位数量为16个为例说明,其它数量的表位同理。第一自适应预测模板的表位数量为16,表位序号从0到15依次排列,序号越小,优先级越高,每个表位记录一个编码单元的一组重建值。编码单元大小可设定,本实施例以16*4为例,即每个编码单元的大小为16*4个像素分量,即每个编码单元有16*4个重建值。
[0106] 第一自适应预测模板的初始状态为空,将某一编码单元的重建值填充到序号为0的表位;继续填充第一自适应预测模板,将序号为0的表位中的重建值顺序移位到序号为1的表位中,将下一个编码单元的重建值填充到序号为0的表位;以此类推,每次填充第一自适应预测模板时,将已填充的N个表位位置顺序向后移位,移一个表位位置,将待填充的编码单元的重建值填充到序号为0的表位,直到第一自适应预测模板中的16个表位填充完毕。具体为:每次进行编码单元的重建值填充前,按序号从小到大,检测当前编码单元的重建值与列表中所有已填充的重建值的一致性;若不具备一致性,那么列表从序号0到序号N-1,共N个有效位置顺序向后移位,当前编码单元的重建值放在列表0位置。若具备一致性,列表中模板表位位置不变,可选择将第一自适应预测模板中与当前编码单元重建值一致的表位中已填充重建值更新为当前编码单元的重建值或者不更新。检测一致性的公式如公式1所示:
[0107]
[0108] 其中,Cur为当前编码单元的原始像素分量值,CurRec为当前编码单元的重建值,ABS为求绝对值,Pred为模板中填充的重建值,编码单元num为当前编码单元中像素分量数量,b1和b2为权重系数,Thr0为阈值,Thr0的取值根据用户需求确定。当的值小于Thr0时,
k的 取值为1 ,1代表具备一致性 ,则可以判断为具备一致性;反之,当
的值大于Thr0时,
k的取值为0,0代表不具备一致性则可以判断为不具备一致性。b1和b2的取值可以是预先设定的固定值,进一步地,b1+b2=1,优选地,b1可以选取为0.5,b2可以选取为0.5,b1和b2也可以灵活调整大小。
[0109] 第一自适应预测模板初始化填充后,检测图像中的其余编码单元,更新第一自适应预测模板,更新方法如下:
[0110] 若当前编码单元存在上参考编码单元,检测正上参考编码单元与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板所有表位序号从0开始顺序移位,表位序号最后一个移除列表,再将上参考编码单元的重建值更新到第一自适应预测模板表位序号为0的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为0的位置的重建值对换,并可以更新模板中所有重建值。
[0111] 同理,若当前编码单元存在左参考编码单元,检测左侧参考编码单元与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为1开始的表位序号顺序移位,表位序号最后一个移除列表,再将左参考编码单元的重建值更新到第一自适应预测模板表位序号为1的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为1的位置的重建值对换,并可以更新模板中所有重建值。
[0112] 若当前编码单元存在左上参考编码单元,检测左上参考编码单元与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为2开始的表位序号顺序移位,表位序号最后一个移除列表,再将上参考编码单元的重建值更新到第一自适应预测模板表位序号为2的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为2的位置的重建值对换,并可以更新第一自适应预测模板中所有重建值。
[0113] 若当前编码单元存在右上参考,检测右上参考编码单元与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为3开始的表位序号顺序移位,表位序号最后一个移除列表,再将右参考编码单元的重建值更新到第一自适应预测模板表位序号为3的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为3的位置的重建值对换,并可以更新第一自适应预测模板中所有重建值。
[0114] 其中,一致性检测方法参考公式1提供的方法。
[0115] 其中,在一个具体实施方式中第二自适应预测模板如图3所示,图3为本发明实施例提供的一种第二自适应预测模板的示意图。
[0116] 可以定义第二自适应预测模板表位数量为4个、8个、16个或32个;本实施例以第二自适应预测模板表位数量为8个为例说明,其它数量的第二自适应预测模板表位同理。数量为8的第二自适应预测模板表位,表位序号从0到8依次排列,序号越小,优先级越高,每个表位记录一个编码单元的一组重建值。编码单元大小可设定,本实施例以8*2大小为例,即每个编码单元的大小为8*2个像素分量,即每个编码单元有8*2个重建值。
[0117] 第二自适应预测模板表位序号为4~7的位置存储预先设定的4组重建值;检测当前编码单元上相邻编码单元的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将上相邻编码单元的重建值填充到第二自适应预测模板表位序号为0的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为0的位置的重建值对换,并可以更新模板中所有重建值。
[0118] 检测当前编码单元左相邻编码单元的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将左相邻编码单元的重建值填充到第二自适应预测模板表位序号为1的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为1的位置的重建值对换,并可以更新模板中所有重建值。
[0119] 检测当前编码单元左上相邻编码单元的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将左上相邻编码单元的重建值填充到第二自适应预测模板表位序号为2的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为2的位置的重建值对换,并可以更新模板中所有重建值。
[0120] 检测当前编码单元右上相邻编码单元的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将右上相邻编码单元的重建值填充到第二自适应预测模板表位序号为3的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为3的位置的重建值对换,并可以更新模板中所有重建值。
[0121] 步骤2、更新自适应预测模板
[0122] 建立自适应预测模板后,针对当前编码单元,更新自适应预测模板,其中,自适应预测模板更新方法如步骤1中所示,此处不再赘述。
[0123] 步骤3、根据所述自适应预测模板,获取当前编码单元的预测残差
[0124] 其中,在一具体实施方式中,自适应预测模板更新完成之后,将当前编码单元与自适应预测模板中每个表位的重建值进行匹配,根据公式,选取最优的M个表位。公式如下:
[0125]
[0126] 其中,Cur为当前编码单元的原始像素分量,Pred为自适应预测模板中每个表位填充的重建值;编码单元num为当前编码单元中像素分量数量,c1和c2为权重系数,最终rdo越小,则该自适应预测模板表位中的重建值越优。
[0127] 在一种实施方式中,c1和c2的取值可以是预先设定的固定值,进一步地,为了便于计算,可以直接将c1设定为1,将c2设定为0.
[0128] 分别对M个表位中的重建值中任一重建值加权处理得到预测像素分量值。如下公式:
[0129] predwi=(w1*Predi-1+w2*Predi+w3*Predi+1+w4)/4
[0130] 其中,W1、W2、W3、W4为一组预测参数,predw为预测像素分量值,Pred为模板中M个表位中任一表位填充的重建值,i为Pred在表位中的排序。
[0131] 在一种实施方式中,W1、W2、W3、W4的取值可以是预先设定的固定值,进一步地,W1+W2+W3=3,优选地,W1、W2、W3分别选取为1,W1、W2、W3分别选取为0.5,2,0.5,W1、W2、W3可以根据实际情况,灵活调整大小。进一步地,W4可以选取为当前表位中所有填充的重建值的平均值,也可以选取为表位中与当前预测像素分量值排序对应的重建值。
[0132] 预设T种W1、W2、W3、W4的不同组合,针对一个表位可以生成T种预测像素分量值,M个表位有M*T种预测像素分量值,最终在M*T种可能性中,根据rdo公式,选出最优的表位和对应的W1、W2、W3、W4。根据W1、W2、W3、W4计算该最优表位中的重建值的预测像素分量值,作为当前编码单元的参考值。
[0133] 进一步地,最优表位即为rdo中的最小值对应的表位。
[0134] 可选择点对点求差方式或自适应预测方式求残差。最终将残差值、列表表位序号和W1、W2、W3、W4的值发送到解码端,其中,点对点求差方式为将当前编码单元中的每个重建值对应减去最优表位中的每个重建值对应的预测像素分量值。进一步地,重建像素指已压缩图像解压重建得到的像素,重建像素的像素值通常称为重建值。根据预测残差可以得到重建值,即将参考值加上预测残差可以得到重建值。
[0135] 进一步地,在一具体实施方式中,获取当前编码单元的预测残差如下所述。自适应预测模板更新完成之后,将当前编码单元的像素分量值与自适应预测模板中所有存在的编码单元重建值进行自适应纹理预测,求解预测残差。其中,请参见图4,图4为本发明实施例提供的一种相邻参考像素分量的示意图。对自适应纹理预测中的参考像素分量进行选择,A、B、C、E为当前像素分量相邻的周围像素分量,即模板任一表位中与当前像素分量对应的重建值,D为当前像素分量分量左相邻的像素分量分量的重建值,其中像素分量A为左上相邻参考像素分量、像素分量B为上相邻参考像素分量、像素分量C为右上相邻参考像素分量、像素分量D为左相邻参考像素分量、像素分量E为像素分量A的左相邻参考像素分量:
[0136] a.若ABS(D-E)最小,即135度纹理,那么参考像素分量为像素分量A;b.若ABS(D-A)最小,即垂直纹理,那么参考像素分量为像素分量B;c.若ABS(D-B)最小,即45度纹理,那么参考像素分量为像素分量C;d.若ABS(B-A)最小,即水平纹理,那么参考像素分量为像素分量D;
[0137] 根据上述方式,选取参考像素分量,遍历模板中的所有表位,将选取的参考像素分量中的最小值作为最终的参考像素分量,将最终的参考像素分量值与当前编码单元的像素分量值求差得到当前编码单元预测残差。
[0138] 步骤4、判断编码单元是否处理完毕
[0139] 当前编码单元获取预测残差后,继续判断是否图像中的所有编码单元均获取预测操作,若是,则预测结束,否则,跳转到步骤1,继续进行后续编码单元的预测操作。
[0140] 本实施例通过定义自适应模板表位的数量和待压缩编码单元的像素分量的方式,计算当前待压缩编码单元的预测残差,与现有的方法相比,当待压缩图像的纹理复杂时,定义不同的自适应模板对应不同的纹理区域,更容易提高当前待压缩编码单元中的像素分量与自适应模板中选定的像素分量匹配的概率,适用于编码单元图像复杂度高的场景,能够提高对复杂纹理区域求预测残差值的精度,进一步降低理论极限熵,增大带宽压缩率。
[0141] 实施例三
[0142] 本实施例在上述实施例的基础上,对本发明提出的基于固定窗口预测模式进行详细描述,该模式包括:
[0143] 步骤1、定义编码单元中重建像素分量;
[0144] 定义当前像素分量为Cij,在当前像素分量周围选取一个固定窗口,如图5所示,图5为本发明实施例提供的一种重建像素分量参考示意图;该窗口中包括已编码的K个重建像素分量,将已编码的K个重建像素分量进行编号,编号顺序可指定,其中K≥1。
[0145] 优选地,设定当前像素分量的序号为Cij,当前像素分量Cij左侧的重建像素分量的序号,编号i从右至左依次递减进行排序,编号j从下到上依次递减进行排序;当前像素分量Cij正上方的重建像素分量的序号,编号j从下到上依次递减进行排序,编号i不变;当前像素分量Cij右侧的重建像素分量的序号,编号i从左至右依次递减进行排序,编号j从下到上依次递减进行排序。
[0146] 步骤2、计算第一权重;
[0147] 步骤201、分别计算当前像素分量与已编码的K个重建像素分量的差异度,计算得到K个差异度权重DIFij;
[0148] 步骤202、已编码的K个重建像素分量位于当前像素分量的周围,根据已编码的K个重建像素分量位置的不同,分别设置不同的权重值,共得到K个位置权重POSij;
[0149] 步骤203、根据第一权重计算公式分别计算每个重建像素分量权重,即第一权重,第一权重计算公式为:
[0150] Wij=a*DIFij+b*POSij
[0151] 其中,a和b为加权值,且满足a+b=1,标准情况为a=0.5,b=0.5,也可灵活调整;DIF为所述差异度权重,即当前像素分量和周围重建像素分量的差值;POS为所述位置权重,即当前像素分量和周围重建像素分量的空间距离;ij为K个重建像素分量的索引,ij的取值为1~K的自然数,W为第一权重。
[0152] 步骤3、计算第二权重;
[0153] 设定每个像素含有N个分量,可以得到K*N个权重。利用公式计算最终每个重建像素分量的权重,即第二权重,计算公式为:
[0154] Mijn=p1*Wij1+p2*Wij2+p3*Wij3+...+pN*WijN
[0155] 其中,p为分量加权值,n的取值为N,M为第二权重。
[0156] 进一步地,对于pN的选取,满足p1+p2+…+pN=1,具体可平均分配,也可根据经验值任意配置,根据经验值可以认定与当前重建像素分量越近的重建像素分量权重越接近,pN的值可以根据重建像素分量与当前重建像素分量的距离远近分配大小,距离越近pN的值越大,反之,pN的越小。
[0157] 步骤4、计算预测残差;
[0158] 步骤401、根据计算得到的第二权重Mijn,选取Mijn的最优值所对应的重建像素分量为当前像素分量的参考像素;优选地,最优值可以为Mijn中的最小值。
[0159] 步骤402、将当前像素分量的像素值与参考像素的像素值求差,求解预测残差。
[0160] 在一个实施例中,对本发明提出的基于固定窗口预测模式距离说明,该模式包括如下步骤:
[0161] 步骤1、编码单元中重建像素分量;
[0162] 定义当前像素分量为Cij,在当前像素分量周围选取一个固定窗口,该窗口中包括K个重建像素分量,将已编码的K个重建像素分量进行编号,编号顺序可指定,其中K≥1。
[0163] 优选地,将已编码的K个重建像素分量进行编号,编号按顺序从上到下,从左到右进行排序,序号从0到K-1进行排列。
[0164] 本实施例选取当前像素分量Cij周围的窗口包括17个重建像素分量为例说明,如图6所示,图6为本发明实施例提供的另一种重建像素分量参考示意图;其它不同数量的重建像素分量同理,17个重建像素分量,按顺序从上到下,从左到右进行排序,序号从0到16进行排列。
[0165] 步骤2、计算重建像素分量差异度权重的绝对值;
[0166] 分别计算当前像素分量与已编码的K个重建像素分量的差异度,计算得到K个差异度权重的绝对值ABS(DIFij),ABS为绝对值运算;
[0167] 优选地,分别计算当前像素分量与已编码的17个重建像素分量的差异度,计算得到17个差异度权重的绝对值ABS(DIFij);
[0168] 步骤3、计算预测残差;
[0169] 步骤301、根据计算得到的重建像素分量的差异度权重的绝对值ABS(DIFij),选取差异度权重的绝对值ABS(DIFij)中的最小值,最小值所对应的重建像素分量设定为当前像素分量的参考像素。
[0170] 优选地,选取17个差异度权重的绝对值ABS(DIFij)中的最小值,最小值所对应的重建像素分量即为当前像素分量的参考像素。
[0171] 步骤302、将当前像素分量的像素值与参考像素的像素值求差,求解预测残差。
[0172] 步骤4、信息编码;
[0173] 编码编号和当前像素分量的预测残差。
[0174] 本实施例通过计算重建像素的权重获得参考像素的方式,计算当前预测像素的预测残差,与现有方法相比,通过定义不同的参考像素获得预测残差,所定义的参考像素为图像中的原始像素,此种方式更容易提高当前预测像素的准确率,能够进一步提高纹理区域预测残差的精度,进一步降低理论极限熵,提高带宽压缩率,适用于一般纹理复杂度区域。
[0175] 实施例四
[0176] 本实施例在上述实施例的基础上,对本发明提出的基于分割预测模式进行详细描述,该模式包括:
[0177] 步骤1、确定当前编码单元的分割方式,其中,所述分割方式包括水平分割、垂直分割、不分割;参见图7a~图7c,图7a为本发明实施例提供的一种编码单元水平分割示意图;图7b为本发明实施例提供的另一种编码单元垂直分割示意图;图7c为本发明实施例提供的再一种编码单元不分割示意图。本实施例将当前编码单元分割为M层子编码单元,如图8所示,图8为本发明实施例提供的一种当前编码单元最终分割示意图。
[0178] 步骤2、分别计算每种分割方式下的第M层子编码单元比特数;
[0179] 其中,在一个具体实施方式中,所述步骤2包括:
[0180] 步骤201、参看图7a,采用水平分割方式,将第M层子编码单元分为上编码子块11和下编码子块12,其中所述上编码子块11和下编码子块12分别包括N个像素分量;
[0181] 步骤202、在所述上编码子块像素分量中,得到所述上编码子块像素分量的最大值和所述上编码子块像素分量的最小值;
[0182] 步骤203、计算所述上编码子块像素分量的最大值和所述上编码子块像素分量的最小值的差值,并得到表示所述差值的上编码子块最少比特数;
[0183] 如果需要确定上编码子块的预测残差,将该上编码子块的N个像素分量,分别减去上编码子块像素分量的最小值,得到该上编码子块的所有像素分量的预测残差。
[0184] 步骤204、在所述下编码子块像素分量中,得到所述下编码子块像素分量的最大值和所述下编码子块像素分量的最小值;
[0185] 步骤205、计算所述下编码子块像素分量的最大值和所述下编码子块像素分量的最小值的差值,并得到表示所述差值的下编码子块最少比特数;
[0186] 步骤206、根据所述上编码子块最少比特数、下编码子块最少比特数得到水平分割方式下所述第M层子编码单元比特数(第一比特数)为:
[0187] SEGud=N*BIT_MINup+N*BIT_MINdown+2*BITDEPTH,
[0188] 其中,BIT_MINup为上编码子块最少比特数,N*BIT_MINdown为下编码子块最少比特数,BITDEPTH为原始数据的比特深度。
[0189] 如果需要确定上编码子块的预测残差,将该上编码子块的N个像素分量,分别减去上编码子块像素分量的最小值,得到该上编码子块的所有像素分量的预测残差。如果水平分割方式为最优方式,则最终输出上下编码子块各N个预测残差数据、上下编码子块中像素分量的最小值的原始像素,以及分割方式。
[0190] 在一个具体实施方式中,所述步骤2包括:
[0191] 步骤211、采用垂直分割方式,参看图7b,将第M层子编码单元分为左编码子块21和右编码子块22,其中所述左编码子块和右编码子块分别包括N个像素分量;
[0192] 步骤212、在所述左编码子块像素分量中,得到所述左编码子块像素分量的最大值和所述左编码子块像素分量的最小值;
[0193] 步骤213、计算所述左编码子块像素分量的最大值和所述左编码子块像素分量的最小值的差值,并得到表示所述差值的左编码子块最少比特数;
[0194] 如果需要确定左编码子块的预测残差,将该左编码子块的N个像素分量,分别减去左编码子块像素分量的最小值,得到该左编码子块的所有像素分量的预测残差。
[0195] 步骤214、在所述右编码子块像素分量中,得到所述右编码子块像素分量的最大值和所述右编码子块像素分量的最小值;
[0196] 步骤215、计算所述右编码子块像素分量的最大值和所述右编码子块像素分量的最小值的差值,并得到表示所述差值的右编码子块最少比特数;
[0197] 步骤216、根据所述左编码子块最少比特数、右编码子块最少比特数得到垂直分割方式下所述第M层子编码单元比特数(第二比特数)为:
[0198] SEGlr=N*BIT_MINleft+N*BIT_MINright+2*BITDEPTH,
[0199] 其中,BIT_MINleft为左编码子块最少比特数,N*BIT_MINright为右编码子块最少比特数,BITDEPTH为原始数据的比特深度。
[0200] 如果需要确定右编码子块的预测残差,将该右编码子块的N个像素分量,分别减去右编码子块像素分量的最小值,得到该右编码子块的所有像素分量的预测残差。如果垂直分割方式为最优方式,则最终输出左右编码子块各N个预测残差数据、左右编码子块中像素分量的最小值的原始像素,以及分割方式。
[0201] 在一个具体实施方式中,所述步骤2包括:
[0202] 步骤221、采用不分割方式,参看图7c,第M层子编码单元31包括2N个像素分量;
[0203] 步骤222、得到所述第M层子编码单元像素分量的最大值和所述第M层子编码单元像素分量的最小值;
[0204] 步骤223、计算所述第M层子编码单元像素分量的最大值和所述第M层子编码单元像素分量的最小值的差值,得到表示所述差值的第M层子编码单元最少比特数;
[0205] 步骤224、根据所述第M层子编码单元最少比特数得到不分割方式下所述第M层子编码单元比特数(第三比特数)为:
[0206] SUB-SEG=2N*BIT_MIN+BITDEPTH,
[0207] 其中,BIT_MIN为第M层子编码单元最少比特数,BITDEPTH为原始数据的比特深度。如果需要确定第M层子编码单元的预测残差,将该第M层子编码单元的2N个像素分量,分别减去第M层子编码单元像素分量的最小值,得到第M层子编码单元的所有像素分量的预测残差。
[0208] 如果不分割方式为最优方式,则最终输出第M层子编码单元2N个预测残差数据、第M层子编码单元中像素分量的最小值的原始像素,以及分割方式。
[0209] 步骤3、将所述第M层子编码单元比特数最小值对应的分割方式作为所述第M层子编码单元的当前分割方式;
[0210] 步骤4、计算所述第M层子编码单元在所述当前分割方式下的每个待预测像素分量的预测残差;
[0211] 步骤5、将所述当前分割方式、每个待预测像素分量的预测残差、所述比特数最小值对应的原始像素分量写入码流中;
[0212] 步骤6、根据递归算法将第M-1层子编码单元至第一层子编码单元执行步骤1~步骤5确定每层子编码单元的分割模式以及每个待预测像素分量的预测残差,将所述每层子编码单元的当前分割方式、每个待预测像素分量的预测残差、所述比特数最小值对应的原始像素分量写入码流中。
[0213] 本实施例通过当前区域像素值间的相关性进行预测,利用本发明的算法对比水平划分、垂直划分、不划分三种情况的压缩数据量,选择对应最优的划分方式进行残差预测,以使初始的编码单元和预测的编码单元之间的差异最小而提高压缩效率并提高主观图片质量,对于简单纹理图像处理时,预测效果好、处理效率高,且能够降低理论极限熵。
[0214] 实施例五
[0215] 本实施例在上述实施例的基础上,对本发明提出的视频编码设备进行详细描述,如图9所示,图9为本发明实施例提供的一种视频编码设备示意图;该设备包括:
[0216] 分解模块,用于在接收到当前编码帧图像之后,将所述当前编码帧图像分解为多个编码单元;
[0217] 建立模块,用于建立所述编码单元的预测模式库;
[0218] 第一获取模块,用于获取每个所述编码单元的梯度值;
[0219] 第一确定模块,用于根据每个所述编码单元的梯度值确定每个所述编码单元的图像类型;
[0220] 预估模块,用于基于所述编码单元的图像类型根据所述编码单元的预测模式库预估每个所述编码单元的预测模式;
[0221] 第二获取模块,用于根据预估的所述编码单元的预测模式获取每个所述编码单元的预测残差;
[0222] 第二确定模块,根据所述编码单元的预测残差确定每个所述编码单元的最终预测模式;
[0223] 写入模块,用于将每个所述编码单元的最终预测结果进行编码写入码流中。
[0224] 其中,所述第一获取模块具体用于:计算所述编码单元中每相邻的两个像素分量的差值;根据每相邻的所述两个像素分量的差值获取每个所述编码单元的梯度值。其中,所述第一确定模块具体用于:根据所述编码单元中每个像素分量的位宽确定出所述编码单元中两个像素分量的最大像素差值;根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间;判断每个所述编码单元的梯度值的所述级别区间;根据每个所述编码单元的梯度值的所述级别区间确定每个所述编码单元的图像类型。其中,所述第一确定模块中根据所述编码单元中两个像素分量的最大像素差值设置分级并分为多个级别区间,包括:将小于第一阈值的区间分级为第一级别区间;将大于第一阈值且小于第二阈值的区间分级为第二级别区间;将大于第二阈值且小于所述最大像素差值的区间分级为第三级别区间。其中,所述预估模块具体用于:将所述编码单元的图像类型与所述编码单元的预测模式库中的每个预测模式进行匹配;根据匹配结果将每个所述编码单元分别预估出至少一种预测模式。
[0225] 综上所述,本文中应用了具体个例对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈