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

一种视频编码的方法、系统和装置与流程

2021-11-05 22:56:00 来源:中国专利 TAG:


1.本发明涉及视频编码技术领域,具体涉及一种视频编码的方法、系统和装置。


背景技术:

2.屏幕视频由电脑、电视、手机和平板电脑等电子产品通过屏幕展示的视频。屏幕视频已经广泛应用在办公和监控领域,例如远程培训视频、桌面共享、桌面协作、监控视频的屏幕录制等。
3.hevc/h.265编码结构上使用了四叉树结构和更大的编码单元(cu),如图3所示,导致编码器的计算复杂度显著提高,编码时间难以满足实时性要求。为了提高压缩效率,h.265编码器具有更加灵活的像素块(cu)划分方式。每一帧图像首先按顺序被依次分割为64
×
64大小的lcu,从lcu开始,编码深度从0到3,每一cu可以被递归的分割成4种深度的(64
×
64,32
×
32,16
×
16和8
×
8)的cu,构成四叉树编码结构。即深度为0时,cu相当于lcu。在预测中,每一个像素块都有对应的预测模式,进行残差估算,残差可以是运动估计和运动补偿。
4.h.265的这种预测方式,增加了整个编码过程的复杂度,cu划分过程中,为了确定cu的四叉树结构,需要进行深度l从0到3完全遍历,共计算40 41 42 43=85次率失真代价,计算过程较复杂。同时,像素块需要遍历所有预测模式,并选择编码代价最小的预测模式,作为最优预测模式。以64
×
64的lcu为例,预测模式需要遍历1662次

2216次,整个视频编码过程预测模式选择的计算复杂度极高,显然这种遍历计算过程使得编码端的计算复杂度非常高,视频压缩所消耗的编码时间较长,无法满足日益增长的实时性视频压缩需求。
5.由此可见,hevc/h.265的预测过程引入了大量运算复杂度,如何有效降低视频编码的运算量成为目前亟待解决的问题。


技术实现要素:

6.针对现有技术中存在的上述技术问题,本发明提供一种视频编码的方法、系统和装置,降低视频编码过程中的运算量,提高编码效率。
7.本发明公开了一种视频编码的方法,包括帧间预测的方法:
8.获取当前像素块的类型,所述类型包括静止像素块或运动像素块;
9.判断当前像素块的类型是否为静止像素块;
10.若是,当前深度为最佳深度,从第一列表中筛选预测模式进行预测,所述第一列表包括:skip、merge、inter 2n
×
2n、ibc和plt;
11.若否,获取当前像素块的关联像素块的深度和代价,所述关联像素块包括上一帧同位置像素块和当前像素块上游、且靠近当前像素块的像素块;
12.将所述关联像素块的深度进行加权和,获得参考深度;
13.将所述关联像素块的代价进行加权和,获得参考代价;
14.判断是否满足第二条件,参考代价在第二域值t2以上、像素块类型为运动像素块、
且参考深度在第四域值t4以下;
15.若满足第二条件,当前像素块的最佳划分深度为0或1。
16.优选的,判断是否满足第三条件,第三条件包括:参考代价在第三域值t3以上、像素块类型为运动像素块、且参考深度在第五域值t5以下;
17.若满足第三条件,当前像素块的最佳划分深度为2或3。
18.优选的,若不满足第二条件和第三条件、且当前像素块为运动像素块;
19.判断当前像素块的深度是否为三;
20.若深度为三,遍历出最优预测模式;
21.若深度小于三,将当前像素块进行下一深度的划分;
22.判断当前像素块的划分深度是否为最佳深度;
23.若是最佳深度,获取最优预测模型;
24.若不是最佳深度,进行下一深度的划分。
25.优选的,获取当前像素块的类型的方法包括:
26.获取当前像素块的像素点与上一帧同位置像素点的像素值差d
k

27.d
k
=|f
k
(x,y)

f
k
‑1(x,y)|
28.其中,f
k
(x,y)表示为像素点的像素值,f
k
‑1(x,y)表示为上一帧同位置像素点;
29.若像素值差为零,像素点为背景点;
30.判断背景点的比例是否大于第一域值;
31.若大于第一域值,当前像素块为静止像素块;
32.若小于或等于第一域值,当前像素块为运动像素块。
33.优选的,参考深度的计算公式为:
34.lp=λ1×
l
i,j,f
‑1 λ2×
l
i,j

1,f
λ3×
l
i

1,j,f
λ4×
l
i

1,j

1,f
λ5×
l
i

1,j 1,f
35.其中,lp表示为参考深度,λ1、λ2、λ3、λ4和λ5为权重系数,l
i,j,f
表示为当行像素块的深度,f表示为帧,j表示为列,i表示为行。
36.优选的,参考代价的计算公式为:
37.rd
ave
=λ1×
rd
i,j,f
‑1 λ2×
rd
i,j

1,f
λ3×
rd
i

1,j,f
λ4×
rd
i

1,j

1,f
λ5×
rd
i

1,j 1,f
38.其中,rd
ave
表示为当前像素块的参考代价,rd
i,j,f
‑1表示为上一帧同位置像素块的代价。
39.优选的,还包括运动像素块预测模型选择的方法:
40.若当前划分深度为0或1,从第二列表中选择最佳预测模型,所述第二列表包括:skip、merge、inter2n
×
2n、ibc、plt和关联像素块的最佳预测模型;
41.若当前划分深度为2或3,获取当前像素块的角点数量;
42.若角点数量大于0,遍历出最优预测模式;
43.若角点数量为0,跳过ibc和plt,并遍历出最优预测模型。
44.优选的,角点的检测方法包括:
45.获取当前像素块的像素核心点的亮度;
46.若当前像素块的像素点与像素核心点的亮度差大于或等于第六域值,所述像素点为角点。
47.优选的,帧间预测获得当前像素块与邻近像素块的预测残差;对所述预测残差进
行变换,获得变换系数;对所述变换系数量化后,进行熵编码。
48.本发明还提供一种用于实现上述视频编码方法的系统,包括像素块分类模块、关联像素块分析模块、筛选模块和深度分析模块,
49.所述像素块分类模块用于获取当前像素块的类型;
50.所述关联像素块分析模块用于获取当前像素块的关联像素块的深度和代价,将所述深度进行加权和,获得参考深度,将所述代价进行加权和,获得参考代价;
51.所述筛选模块用于:在当前像素块的类别为静止像素块时,从第一列表中筛选预测模式进行预测;
52.深度分析模块用于:在满足第二条件时,当前像素块的最佳划分深度为0或1。
53.优选的,本发明的系统还包括划分模块,
54.所述划分模块用于:在当前划分深度小于最佳划分深度时,将当前像素块进行下一级深度的划分。
55.本发明还提供一种视频编码的装置,包括处理器、存储器和保存在所述存储器中的程序,所述程序包括用于实现上述视频编码方法的指令;所述处理器用于执行所述程序。
56.与现有技术相比,本发明的有益效果为:参考深度和参考代价体现了当前像素块与上游相邻像素块的相关性,通过该相关性,来确定当前像素块的最佳划分深度,降低四叉树划分复杂度;再结合当前像素块的类型、参考深度和参考代价,跳过一些不必要的帧间预测模式,从相应的列表中选择最优预测模式,降低因遍历全部模型率失真代价计算带来的计算量,从而降低视频编码过程中的运算量、并提高编码效率。
附图说明
57.图1是本发明的视频编码方法流程图;
58.图2是关联像素块的位置关系示意图;
59.图3是像素核心点的示意图;
60.图4是本发明的系统逻辑框图;
61.图5是运动像素块的预测模型选择的方法流程图。
具体实施方式
62.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
63.下面结合附图对本发明做进一步的详细描述:
64.一种视频编码的方法,如图1所示,包括帧间预测的方法:
65.步骤101:获取当前像素块的类型,所述类型包括静止像素块或运动像素块。像素块hevc中的编码单元,包括编码树单元(coding tree units,ctu)和编码单元(coding unit,cu)。静止像素块是指其像素的像素值变化小,运动像素块是指像素的像素值变化大。
66.步骤102:判断当前像素块的类型是否为静止像素块。
67.若是,执行步骤103:当前深度为最佳深度,从第一列表中筛选预测模式进行预测,
所述第一列表包括:skip、merge、inter 2n
×
2n、ibc和plt。
68.若否,执行步骤104:获取当前像素块的关联像素块的深度和代价,所述关联像素块包括上一帧同位置像素块和当前像素块上游、且靠近当前像素块的像素块。如图2所示,关联像素块通常位于当前像素块的上游,包括上一帧同位像素块,左方像素块、左上像素块、上方像素块和右上像素块,其深度和代价的计算通常优先于当前像素块。
69.步骤105:将所述关联像素块的深度进行加权和,获得参考深度lp。
70.步骤106:将所述关联像素块的代价进行加权和,获得参考代价rd
ave

71.步骤107:判断是否满足第二条件,参考代价在第二域值t2以上、像素块类型为运动像素块、且参考深度在第四域值t4以下。
72.若满足第二条件,执行步骤108:当前像素块最佳深度为0或1,跳过深度为2和3的划分。跳过深度为2和3的划分,即深度为1时,不再进行下一深度的划分。
73.参考深度和参考代价体现了当前像素块与上游相邻像素块的相关性,通过该相关性,来确定当前像素块的最佳划分深度,降低四叉树划分复杂度;再结合当前像素块的类型、参考深度和参考代价,跳过一些不必要的帧间预测模式,从相应的列表中选择最优预测模式,降低因遍历全部模型率失真代价计算带来的计算量,从而降低视频编码过程中的运算量、并提高编码效率。
74.若不满足第二条件,执行步骤110:判断是否满足第三条件,参考代价在第三域值t3以下、像素块类型为运动像素块、且参考深度在第五域值t5以下。
75.若满足第三条件,执行步骤111:当前像素块的最佳深度为2或3。
76.步骤120:若不满足第二条件和第三条件、且当前像素块为运动像素块。
77.步骤121:判断当前像素块的深度是否为三。
78.若深度为三,执行步骤122:遍历出最优预测模式。
79.若深度小于三,执行步骤123:将当前像素块进行下一深度的划分。
80.根据获得的最佳深度,可以对像素块的划分提供指导作用:判断当前像素块的划分深度是否为最佳深度;若是最佳深度,获取最优预测模型;若不是最佳深度,进行下一深度的划分,跳过最优预测模型的筛选和代价的计算。
81.其中,步骤101中,获取当前像素块的类型包括:
82.获取当前像素块的像素点与上一帧同位置像素点的像素值差d
k

83.d
k
=|f
k
(x,y)

f
k
‑1(x,y)|
84.其中,f
k
(x,y)表示为像素点像素值,f
k
‑1(x,y)表示为上一帧同位置像素点的像素值;
85.若像素值差d
k
为零,像素点为背景点;
86.判断背景点的比例是否大于第一域值t1;
87.若大于第一域值t1,当前像素块为静止像素块;
88.若小于或等于第一域值t1,当前像素块为运动像素块。
89.即通过背景点的占比,判断当前像素块的类型。
90.步骤103中,参考深度的计算公式为:
91.lp=λ1×
l
i,j,f
‑1 λ2×
l
i,j

1,f
λ3×
l
i

1,j,f
λ4×
l
i

1,j

1,f
λ5×
l
i

1,j 1,f
92.其中,lp表示为参考深度,λ1、λ2、λ3、λ4和λ5为权重系数,l
i,j,f
表示为当行像素块的
深度,f表示为帧,j表示为列,i表示为行,l
i,j,f
‑1表示为上一帧同位像素块的深度,l
i,j

1,f
表示为左方像素块的深度,l
i

1,j,f
表示为上方像素块的深度,l
i

1,j

1,f
表示为左上方像素块的深度,l
i

1,j 1,f
表示为右上方像素块的深度,图2示出了关联像素块的位置关系。
93.参考代价的计算公式为:
94.rd
ave
=λ1×
rd
i,j,f
‑1 λ2×
rd
i,j

1,f
λ3×
rd
i

1,j,f
λ4×
rd
i

1,j

1,f
λ5×
rd
i

1,j 1,f
其中,rd
ave
表示为当前像素块的参考代价,rd
i,j,f
‑1表示为上一帧同位置像素块的代价,rd
i,j

1,f
表示为左方像素块的代价,rd
i

1,j,f
表示为上方像素块的代价,rd
i

1,j

1,f
表示为左上方像素块的代价,rd
i

1,j 1,f
表示为右上方像素块的代价。在一个具体实施例中,λ1取值0.3、λ2取值0.2、λ3取值、λ4取值0.15和λ5取值0.15,即左上像素块和右上像素块与当前像素块的距离较远,其权重也较低,但权重系数的取值不限于此。其中,λ1、λ2、λ3、λ4、λ5之和为1,参考深度和参考代价为上游相邻像素块的加权平均值。其中,关联像素块为上游像素块,已计算出代价和深度,因此可以读取到相应的数据。
95.在一个具体实施例中,t1取值12%,t2取值12%,t3取值2%,t4取值2.5,t5取值0.8,但不限于此。
96.预测模式包括:skip模式、merge模式、矩形运动分割模式(square)、对称运动分割模式(smp)、非对称运动分割模式(amp)和帧间模式(intra modes),矩形运动分割模式包括inter 2n
×
2n和inter n
×
n;对称运动分割模式包括inter 2n
×
n和inter n
×
2n;非对称运动分割模式包括inter 2n
×
nu、inter 2n
×
nd、inter nl
×
2n和inter nr
×
2n;帧间模式包括intra 2n
×
2n和intra n
×
n;ibc和plt屏幕内容的帧间编码方法,帧内块复制模式(ibc)可以在当前帧的重建区域进行匹配块搜索,从而有效提升了视频的编码性能,调色板模式(plt)将一个视频块映射为一个彩色表和索引图。
97.如图5所示,本发明的方法还包括运动像素块的预测模型选择的方法:
98.步骤201:获取运动像素块的划分深度。
99.步骤202:判断当前划分深度是否为0或1。
100.若是,执行步骤203:从第二列表中选择最佳预测模型,所述第二列表包括:skip、merge、inter2n
×
2n、ibc、plt和关联像素块的最佳预测模型。关联像素块为上游像素块,通常已编码好,其最佳预测模型也已得出。
101.若否,即当前划分深度为2或3,执行步骤204:获取当前像素块的角点数量。
102.步骤205:判断角点数量是否大于0。
103.若是,即角点数量大于0,执行步骤206:遍历出最优预测模式。
104.若否,即角点数量为0,执行步骤207:跳过ibc和plt,并遍历出最优预测模型。对于未检测到角点的运动像素块(cu),说明该运动像素块为传统自然视频类型,可以跳过ibc和plt模式,进入传统帧内或帧间预测模型的选择。即排除ibc和plt模式,在skip模式、merge模式、矩形运动分割模式、对称运动分割模式和非对称运动分割模式中筛选最优预测模型。
105.其中,角点的检测方法包括:
106.获取当前像素块的像素核心点的亮度;
107.若当前像素块的像素点与像素核心点的亮度差大于或等于第六域值,所述像素点为角点。
108.角点检测可以用下式表示:
[0109][0110]
其中,c表示为比较函数,c=1表示像素点为角点,r0表示为像素块的像素核心点,r表示为其它像素点,i表示为像素点的亮度,t6表示为第六域值。
[0111]
图3示出了一个具体的像素块,其中编号为19的像素点为像素核心点。其中,角点检测是基于最小核同值区((usan,univalue segment assimilating nucleus)的方法获得的。
[0112]
本发明还提供一种用于实现上述视频编码方法的系统,如图4所示,包括像素块分类模块1、关联像素块分析模块2、筛选模块3和深度分析模块4,
[0113]
像素块分类模块1用于获取当前像素块的类型;
[0114]
关联像素块分析模块2用于获取当前像素块的关联像素块的深度和代价,将所述深度进行加权和,获得参考深度,将所述代价进行加权和,获得参考代价;
[0115]
筛选模块3用于:在当前像素块的类别为静止像素块时,从第一列表中筛选预测模式进行预测;
[0116]
深度分析模块4用于:在满足第二条件时,当前像素块的最佳划分深度为0或1。
[0117]
本发明的系统还可以包括划分模块5,划分模块5用于在当前划分深度小于最佳划分深度时,将当前像素块进行下一级深度的划分。
[0118]
筛选模块3还用于从第二列表中筛选出预测模型,或者遍历出最优预测模型。
[0119]
本发明的系统还包括预测模块11、变换模块12和编码模块13;
[0120]
预测模块11用于基于预测模型,获得当前像素块与邻近像素块的预测残差,可以通过对当前像素块进行帧间预测得到所述预测残差;
[0121]
变换模块12用于对所述预测残差进行变换,获得变换系数;
[0122]
编码模块13用于对所述变换系数量化后,进行熵编码,从而完成当前像素块的编码。
[0123]
本发明还提供一种视频编码的装置,包括处理器、存储器和保存在所述存储器中的程序,所述程序包括用于实现上述视频编码方法的指令;所述处理器用于执行所述程序。
[0124]
实施例
[0125]
本实施例采用的环境是windows sever 2008r2,处理器为intel e5

2620cpu@2.1ghz、单处理器,8核心,ram为32gb。
[0126]
对比多种视频进行了视频的编码测试,根据本发明视频快速编码方法,设计了视频压缩软件h
new
,与h.265中hm12.0进行对比,算法性能通过psnr(峰值信噪比,一种客观评价视频编码质量的参数)以及时间变化比δt(δt=(t
hm

t
new
)/t
hm
×
100%)两个参数进行对比,其中t
hm
为hm12.0编码的时间;t
new
为h
new
编码的时间。
[0127]
各个域值的取值如下:t1=12%,t2=12%,t3=2%,t4=2.5,t5=0.8。测试结果如下表所示:
[0128][0129]
从表中可以得出,psnr平均仅下降0.08db,视频编码的质量几乎保持不变的情况,大大节约了视频编码时间,平均值δt=30.5%,说明本发明的视频编码方法在提升cu划分速率和选择预测模式的情况下,对视频进行编码,能够在有效保证编码质量情况下减小视频编码耗时,提高编码效率。
[0130]
本实施例中,通过电脑端播放各种监控视频,并通过视频编码进行二次编码。视频通常并不包含噪声,其中很多都是计算机生成的图像或视频,色调离散而颜色数更少;屏幕图像的线条更为细腻,边缘也较为锐利;同时大部分屏幕图像的均匀平坦区域较多,重复图案与相同块也较多。
[0131]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献