一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种编码树单元的参数确定方法及系统与流程

2021-11-03 14:38:00 来源:中国专利 TAG:


1.本发明涉及视频编码领域,特别是涉及一种编码树单元的参数确定方法及系统。


背景技术:

2.随着互联网和多媒体信息处理技术的发展,数字视频数据量呈现爆发式的增长。相比音频和静止图像信号,视频数据需要占用巨大的存储空间和网络传输带宽。为了降低视频存储和传输成本,近30年来,工业界联合学术界推出了多个视频编码标准,如:高级视频编码h.264(advanced video coding,avc)、高效视频编码h.265(high efficiency video coding,hevc)和通用视频编码h.266(versatile video coding,vvc)等。数字视频中包含空间、时间、视觉和信息熵等多种信息冗余,为了去除上述冗余实现高效数据压缩,当前视频编码标准采用基于块的混合编码框架,其包括预测、变换、量化和熵编码等模块。视频编码过程中,输入视频序列被分级划分为许多子任务,例如:图像组(group of picture,gop)、编码帧和基本编码单元。h.264中的基本编码单元是宏块(macro block,mb),hevc和vvc中的基本编码单元是编码树单元(coding tree unit,ctu)。在各种标准的视频编码器中,采用基于拉格朗日乘子的率失真优化(rate

distortion optimization,rdo)方法为一个基本编码单元选择最佳编码模式以达到最优的率失真性能。
3.率失真理论是视频编码的理论基础,其给出了允许一定失真的情况下,信源能被压缩的最大限度。相应地,率失真优化是当前基于预测、变换、量化和熵编码等模块的混合视频编码框架中非常关键的技术,它贯穿着整个视频编码系统。在视频编码标准h.264、hevc和vvc的测试模型中,率失真优化遍历一个基本编码单元所有的模式组合,并根据给定的量化参数(quantization parameter,qp)对残差变换系数进行量化和熵编码,然后基于拉格朗日乘子λ计算率失真代价,把具有最小率失真代价的模式作为当前的编码参数集合。因此,qp和λ是视频编码过程中非常关键的两个参数。当前视频编码器采用编码单元独立的假设,使基于拉格朗日乘子的率失真优化方法易于在编码端实现,但该独立优化不能使视频编码达到最优的率失真性能。


技术实现要素:

4.本发明的目的是提供一种编码树单元的参数确定方法及系统,基于失真反向传播算法确定编码树单元的参数,使编码时无需缓存后续未编码帧,减小视频编码时压缩的内存以提升视频编码率失真性能。
5.为实现上述目的,本发明提供了如下方案:
6.一种编码树单元的参数确定方法,包括:
7.确定对当前待编码视频帧进行编码时的多个编码树单元;
8.将每个所述编码树单元分别划分为多个像素块;
9.分别获取每个像素块的编码失真和运动补偿预测误差;
10.根据编码失真和运动补偿预测误差,利用反向传播算法确定每个像素块的时域传
播因子;
11.根据所述时域传播因子和每个编码树单元划分的像素块数量,确定每个编码树单元的权重系数;
12.根据所述权重系数,确定每个编码树单元的参数;所述编码树单元的参数包括量化参数和拉格朗日乘子。
13.可选的,在所述确定对当前待编码视频帧进行编码时的多个编码树单元之前,还包括:
14.将待编码视频划分为多个待编码视频帧;
15.确定任一待编码视频帧为当前待编码视频帧。
16.可选的,多个所述像素块均为16x16像素块。
17.可选的,所述时域传播因子的计算公式为:
[0018][0019]
其中,k
j
为第i个编码树单元中第j个像素块的时域传播因子;d
t
、d
t
‑1和d
t
‑2分别为第t个、第t

1个和第t

2个视频帧中第i个编码树单元中第j个像素块的编码失真;和分别为第t个、第t

1个和第t

2个视频帧中第i个编码树单元中第j个像素块的运动补偿预测误差。
[0020]
可选的,所述编码树单元的权重系数的公式为:
[0021][0022]
其中,w
i
为当前待编码视频帧中第i个编码树单元的权重系数;l
i
为当前待编码视频帧中第i个编码树单元划分的像素块数量。
[0023]
可选的,所述根据所述权重系数,确定每个编码树单元的参数,具体包括:
[0024]
根据所述权重系数,利用公式确定每个编码树单元的拉格朗日乘子;
[0025]
根据所述拉格朗日乘子,利用公式qp
i
=α
·
ln(λ
i
) β,确定每个编码树单元的量化参数;
[0026]
其中,λ
i
为当前待编码视频帧中第i个编码树单元的拉格朗日乘子,为调整后的当前待编码视频帧中第i个编码树单元的权重系数,m为当前待编码视频帧中编码树单元的数量;λ
p
为编码器中设置的帧级拉格朗日乘子;qp
i
为当前待编码视频帧中第i个编码树单元的量化参数,α和β均为拟合常数。
[0027]
可选的,在所述根据所述权重系数,确定每个编码树单元的参数之后,还包括:
[0028]
根据量化参数和拉格朗日乘子,对当前待编码视频帧中的每个编码树单元进行编码。
[0029]
一种编码树单元的参数确定系统,包括:
[0030]
编码树单元确定模块,用于确定对当前待编码视频帧进行编码时的多个编码树单
元;
[0031]
像素块划分模块,用于将每个所述编码树单元分别划分为多个像素块;
[0032]
数据获取模块,用于分别获取每个像素块的编码失真和运动补偿预测误差;
[0033]
时域传播因子确定模块,用于根据编码失真和运动补偿预测误差,利用反向传播算法确定每个像素块的时域传播因子;
[0034]
权重系数确定模块,用于根据所述时域传播因子和每个编码树单元划分的像素块数量,确定每个编码树单元的权重系数;
[0035]
参数确定模块,用于根据所述权重系数,确定每个编码树单元的参数;所述编码树单元的参数包括量化参数和拉格朗日乘子。
[0036]
可选的,所述系统,还包括:
[0037]
待编码视频帧划分模块,用于将待编码视频划分为多个待编码视频帧;
[0038]
当前待编码视频帧确定模块,用于确定任一待编码视频帧为当前待编码视频帧。
[0039]
可选的,多个所述像素块均为16x16像素块。
[0040]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0041]
本发明提供了一种编码树单元的参数确定方法及系统,方法包括:确定对当前待编码视频帧进行编码时的多个编码树单元;将每个编码树单元分别划分为多个像素块;分别获取每个像素块的编码失真和运动补偿预测误差;根据编码失真和运动补偿预测误差,利用反向传播算法确定每个像素块的时域传播因子;根据时域传播因子和每个编码树单元划分的像素块数量,确定每个编码树单元的权重系数;根据权重系数,确定每个编码树单元的参数;编码树单元的参数包括量化参数和拉格朗日乘子。本发明基于失真反向传播算法确定编码树单元的参数,使编码时无需缓存后续未编码帧,减小视频编码时压缩的内存以提升视频编码率失真性能。
附图说明
[0042]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]
图1为本发明实施例中编码树单元的参数确定方法流程图;
[0044]
图2为本发明实施例中测试序列basketballdrill在ldb和ldp编码器配置下的率失真曲线对比图;图2(a)为本发明实施例中测试序列basketballdrill在ldb编码器配置下的率失真曲线对比图;图2(b)为本发明实施例中测试序列basketballdrill在ldp编码器配置下的率失真曲线对比图;
[0045]
图3为本发明实施例中测试序列fourpeople在ldb和ldp编码器配置下的率失真曲线对比图;图3(a)为本发明实施例中测试序列fourpeople在ldb编码器配置下的率失真曲线对比图;图3(b)为本发明实施例中测试序列fourpeople在ldp编码器配置下的率失真曲线对比图;
[0046]
图4为本发明实施例中编码树单元的参数确定系统结构示意图。
具体实施方式
[0047]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
本发明的目的是提供一种编码树单元的参数确定方法及系统,基于失真反向传播算法确定编码树单元的参数,使编码时无需缓存后续未编码帧,减小视频编码时压缩的内存以提升视频编码率失真性能。
[0049]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0050]
图1为本发明实施例中编码树单元的参数确定方法流程图;如图1所示,本发明提供了一种编码树单元的参数确定方法,包括:
[0051]
步骤101:确定对当前待编码视频帧进行编码时的多个编码树单元;
[0052]
步骤102:将每个编码树单元分别划分为多个像素块;
[0053]
步骤103:分别获取每个像素块的编码失真和运动补偿预测误差;
[0054]
步骤104:根据编码失真和运动补偿预测误差,利用反向传播算法确定每个像素块的时域传播因子;
[0055]
步骤105:根据时域传播因子和每个编码树单元划分的像素块数量,确定每个编码树单元的权重系数;
[0056]
步骤106:根据权重系数,确定每个编码树单元的参数;编码树单元的参数包括量化参数和拉格朗日乘子。
[0057]
在步骤101之前,还包括:
[0058]
将待编码视频划分为多个待编码视频帧;
[0059]
确定任一待编码视频帧为当前待编码视频帧。
[0060]
其中,多个像素块均为16x16像素块。
[0061]
时域传播因子的计算公式为:
[0062][0063]
其中,k
j
为第i个编码树单元中第j个像素块的时域传播因子;d
t
、d
t
‑1和d
t
‑2分别为第t个、第t

1个和第t

2个视频帧中第i个编码树单元中第j个像素块的编码失真;和分别为第t个、第t

1个和第t

2个视频帧中第i个编码树单元中第j个像素块的运动补偿预测误差。具体的,第t个视频帧为待编码视频帧;第t

1个和第t

2个已编码视频帧。
[0064]
编码树单元的权重系数的公式为:
[0065][0066]
其中,w
i
为当前待编码视频帧中第i个编码树单元的权重系数;l
i
为当前待编码视
频帧中第i个编码树单元划分的像素块数量。
[0067]
步骤106,具体包括:
[0068]
根据权重系数,利用公式确定每个编码树单元的拉格朗日乘子;
[0069]
根据拉格朗日乘子,利用公式qp
i
=α
·
ln(λ
i
) β,确定每个编码树单元的量化参数;
[0070]
其中,λ
i
为当前待编码视频帧中第i个编码树单元的拉格朗日乘子,为调整后的当前待编码视频帧中第i个编码树单元的权重系数,m为当前待编码视频帧中编码树单元的数量;λ
p
为编码器中设置的帧级拉格朗日乘子;qp
i
为当前待编码视频帧中第i个编码树单元的量化参数,α和β均为拟合常数。
[0071]
在步骤106之后,还包括:
[0072]
根据量化参数和拉格朗日乘子,对当前待编码视频帧中的每个编码树单元进行编码。
[0073]
具体的,本发明实施例采用开发环境为visual studio 2019,实施例基于hevc参考软件hm16.7实现。编码树单元的拉格朗日乘子和量化参数确定方法,具体实施步骤包括:
[0074]
step1:采用hevc原有的固定qp设置,通过只检测64
×
64、32
×
32和16
×
16三种帧间模式预编码待编码帧,记录下预编码后的编码失真和运动补偿预测误差。然后,由下面公式得到待编码帧中16
×
16像素块的时域传播因子。
[0075][0076]
step2:由下面公式计算得到第i个ctu的拉格朗日乘子权重系数。
[0077][0078]
一般情况下,l
i
等于16,但图像右边界和下边界ctu中包含的16
×
16像素块个数可能小于16。。
[0079]
step3:由下面公式重新计算调整后第i个ctu的拉格朗日乘子权重系数。
[0080][0081]
然后,根据如下公式确定当前帧中用于编码第i个ctu的自适应拉格朗日乘子和量化参数。
[0082][0083]
qp
i
=α
·
ln(λ
i
) β,i=1,2,

,m
[0084]
本实施例中α和β取值分别为4.2005和13.7122。
[0085]
step4:采用上述步骤确定的拉格朗日乘子λ
i
和量化参数qp
i
编码当前帧中每一个编码树单元。
[0086]
本发明编码生成的比特流符合hevc标准的句法格式,生成的比特流均可以被标准的hevc解码器解码。按照hevc通用测试条件进行编码实验,测试了低延迟b帧(low delay b frame,ldb)和低延时p帧(low delay p frame,ldp)两种编码器配置,测试视频序列采用hevc通用测试条件建议的classb、classc、classd、classe和classf中全部20个yuv序列。本发明相对原始hevc编码器hm16.7的码率节省示意图,采用(delta bit

rate,bd

rate)对比,bd

rate表示在相同客观质量下,测试方法相对于基准编码器的码率节省百分比,正值表示率失真性能损失,负值表示率失真性能改善。使用本发明编码树单元的参数确定方法的编码器在ldb编码配置时相对原始hevc编码器hm16.7的码率节省率如表1所示:
[0087]
表1本技术的编码器在ldb编码配置时相对原始hevc编码器hm16.7的bd

rate
[0088][0089]
表中,basketballdrill等为yuv序列视频名。
[0090]
使用本发明编码树单元的参数确定方法的编码器在ldp编码配置时相对原始hevc编码器hm16.7的码率节省率如表2所示:
[0091]
表2本技术的编码器在ldp编码配置时相对原始hevc编码器hml6.7的bd

rate
[0092][0093]
由表1

2,可知本发明在ldb编码器配置下,y、u和v分量分别获得了平均4.4%、4.6%和2.5%的码率节省;本发明在ldp编码器配置下,y、u和v分量分别获得了平均4.3%、4.1%和2.1%的码率节省。
[0094]
图2为本发明实施例中测试序列basketballdrill在ldb和ldp编码器配置下的率失真曲线对比图;图2(a)为本发明实施例中测试序列basketballdrill在ldb编码器配置下的率失真曲线对比图;图2(b)为本发明实施例中测试序列basketballdrill在ldp编码器配置下的率失真曲线对比图;图3为本发明实施例中测试序列fourpeople在ldb和ldp编码器配置下的率失真曲线对比图;图3(a)为本发明实施例中测试序列fourpeople在ldb编码器配置下的率失真曲线对比图;图3(b)为本发明实施例中测试序列fourpeople在ldp编码器配置下的率失真曲线对比图。图2

3中,横坐标bitrate为码率,单位为kbps;纵坐标y

psnr为视频亮度分量的峰值信噪比,单位为db;如图2

3所示,相同输出码率时本发明方法的视
频编码质量优于原始hevc编码器hm16.7的视频编码质量。
[0095]
图4为本发明实施例中编码树单元的参数确定系统结构示意图。如图4所示,本发明还提供了一种编码树单元的参数确定系统,包括:
[0096]
编码树单元确定模块601,用于确定对当前待编码视频帧进行编码时的多个编码树单元;
[0097]
像素块划分模块602,用于将每个编码树单元分别划分为多个像素块;
[0098]
数据获取模块603,用于分别获取每个像素块的编码失真和运动补偿预测误差;
[0099]
时域传播因子确定模块604,用于根据编码失真和运动补偿预测误差,利用反向传播算法确定每个像素块的时域传播因子;
[0100]
权重系数确定模块605,用于根据时域传播因子和每个编码树单元划分的像素块数量,确定每个编码树单元的权重系数;
[0101]
参数确定模块606,用于根据权重系数,确定每个编码树单元的参数;编码树单元的参数包括量化参数和拉格朗日乘子。
[0102]
本发明提供的编码树单元的参数确定系统,还包括:
[0103]
待编码视频帧划分模块,用于将待编码视频划分为多个待编码视频帧;
[0104]
当前待编码视频帧确定模块,用于确定任一待编码视频帧为当前待编码视频帧。
[0105]
具体的,多个像素块均为16x16像素块。
[0106]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0107]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献