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

视频编码方法、装置、电子设备和计算机可读存储介质与流程

2022-03-23 02:24:06 来源:中国专利 TAG:


1.本公开涉及视频技术领域,尤其涉及一种视频编码方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.视频传输离不开视频编码,视频编码就是指通过压缩技术,将原始视频格式文件转换成另一种视频格式文件。对于一个视频,不同图像帧、同一图像帧的不同区域,其内容都可能存在较大差异,对保留图像细节的需求也有所不同。而编码时采用的量化参数越小,越能够保留图像中的细节。因此,若采用固定的量化参数进行视频编码,就可能导致保留细节需求大的内容因量化参数过大而失真,保留细节要求低的内容因量化参数过小而浪费码率,难以平衡保留细节需求和节省码率需求,编码效率较低。
3.为解决这个问题,相关技术中存在根据保留图像细节的需求不同来调整量化参数的编码优化方案,然而不同的方案往往从不同的角度来确定保留图像细节的需求,各有偏重,编码效率提升效果有限。


技术实现要素:

4.本公开提供一种视频编码方法、装置、电子设备和计算机可读存储介质,以至少解决相关技术中的如何提升编码效率的问题。
5.根据本公开的第一方面,提供了一种视频编码方法,包括:获取待编码视频的每个图像帧的量化参数,其中,每个图像帧包括至少一个编码单元;获取所述至少一个编码单元的边缘密度和纹理复杂度;根据所述至少一个编码单元的边缘密度,确定所述至少一个编码单元的第一量化参数偏移量;对每个所述编码单元,基于所述编码单元的纹理复杂度,以及所述编码单元与其他所述编码单元之间的编码参考关系,确定相应的所述编码单元的第二量化参数偏移量;基于所述第一量化参数偏移量和所述第二量化参数偏移量,调整相应的所述编码单元的所述量化参数;根据每个所述编码单元的所述量化参数,对所述待编码视频进行编码。
6.可选地,所述基于所述编码单元的纹理复杂度,以及所述编码单元与其他所述编码单元之间的编码参考关系,确定相应的所述编码单元的第二量化参数偏移量,包括:若确定所述纹理复杂度小于或等于纹理阈值,基于所述编码参考关系,确定所述第二量化参数偏移量。
7.可选地,所述基于所述编码单元的纹理复杂度,以及所述编码单元与其他所述编码单元之间的编码参考关系,确定相应的所述编码单元的第二量化参数偏移量,还包括:若确定所述纹理复杂度大于所述纹理阈值,且所述编码单元属于脸部区域,基于所述编码参考关系,确定所述第二量化参数偏移量;若确定所述纹理复杂度大于所述纹理阈值,且所述编码单元不属于脸部区域,确定所述第二量化参数偏移量为0。
8.可选地,所述视频编码方法还包括:获取每个图像帧的脸部区域;基于每个所述编
码单元与相应的图像帧的脸部区域的位置关系,确定相应的所述编码单元是否属于脸部区域。
9.可选地,所述待编码视频的图像帧包括多个参考帧和位于相邻两个所述参考帧之间的中间帧,所述参考帧的脸部区域通过图像识别得到,所述中间帧的脸部区域基于对应的两个所述参考帧的脸部区域,通过轨迹平移算法和肤色匹配算法中的至少一个得到。
10.可选地,所述编码参考关系包括被参考程度,所述被参考程度是帧间预测中,所述编码单元被其他所述编码单元参考的程度,所述基于所述编码参考关系,确定所述第二量化参数偏移量,包括:基于所述被参考程度,确定所述第二量化参数偏移量,其中,所述第二量化参数偏移量是与所述被参考程度负相关的负值。
11.可选地,所述纹理复杂度通过以下步骤得到:遍历每个图像帧,对当前图像帧的每个所述编码单元,确定所述编码单元的每个像素的梯度幅值并求和,得到相应的所述编码单元的绝对纹理复杂度;基于所述当前图像帧的所述至少一个编码单元的所述绝对纹理复杂度,确定平均值,得到所述当前图像帧的参考纹理复杂度;对所述当前图像帧的每个所述编码单元,确定所述绝对纹理复杂度与所述参考纹理复杂度的比值,得到相应的所述编码单元的所述纹理复杂度。
12.可选地,所述根据所述至少一个编码单元的边缘密度,确定所述至少一个编码单元的第一量化参数偏移量,包括:对每个图像帧,基于所述至少一个编码单元的所述边缘密度,确定平均值,得到相应的图像帧的平均边缘密度;确定每个所述编码单元的所述边缘密度与相应的图像帧的所述平均边缘密度的差值,基于所述差值以及强度因子,得到相应的所述编码单元的所述第一量化参数偏移量,其中,所述强度因子与相应的图像帧的所述平均边缘密度正相关。
13.根据本公开的第二方面,提供了一种视频编码装置,包括:获取单元,被配置为:获取待编码视频的每个图像帧的量化参数,其中,每个图像帧包括至少一个编码单元;所述获取单元还被配置为:获取所述至少一个编码单元的边缘密度和纹理复杂度;第一计算单元,被配置为:根据所述至少一个编码单元的边缘密度,确定所述至少一个编码单元的第一量化参数偏移量;第二计算单元,被配置为:对每个所述编码单元,基于所述编码单元的纹理复杂度,以及所述编码单元与其他所述编码单元之间的编码参考关系,确定相应的所述编码单元的第二量化参数偏移量;调整单元,被配置为:基于所述第一量化参数偏移量和所述第二量化参数偏移量,调整相应的所述编码单元的所述量化参数;编码单元,被配置为:根据每个所述编码单元的所述量化参数,对所述待编码视频进行编码。
14.可选地,所述第二计算单元还被配置为:若确定所述纹理复杂度小于或等于纹理阈值,基于所述编码参考关系,确定所述第二量化参数偏移量。
15.可选地,所述第二计算单元还被配置为:若确定所述纹理复杂度大于所述纹理阈值,且所述编码单元属于脸部区域,基于所述编码参考关系,确定所述第二量化参数偏移量;若确定所述纹理复杂度大于所述纹理阈值,且所述编码单元不属于脸部区域,确定所述第二量化参数偏移量为0。
16.可选地,所述获取单元还被配置为:获取每个图像帧的脸部区域;所述第二计算单元还被配置为:基于每个所述编码单元与相应的图像帧的脸部区域的位置关系,确定相应的所述编码单元是否属于脸部区域。
17.可选地,所述待编码视频的图像帧包括多个参考帧和位于相邻两个所述参考帧之间的中间帧,所述参考帧的脸部区域通过图像识别得到,所述中间帧的脸部区域基于对应的两个所述参考帧的脸部区域,通过轨迹平移算法和肤色匹配算法中的至少一个得到。
18.可选地,所述编码参考关系包括被参考程度,所述被参考程度是帧间预测中,所述编码单元被其他所述编码单元参考的程度,所述第二计算单元还被配置为:基于所述被参考程度,确定所述第二量化参数偏移量,其中,所述第二量化参数偏移量是与所述被参考程度负相关的负值。
19.可选地,所述纹理复杂度通过以下步骤得到:遍历每个图像帧,对当前图像帧的每个所述编码单元,确定所述编码单元的每个像素的梯度幅值并求和,得到相应的所述编码单元的绝对纹理复杂度;基于所述当前图像帧的所述至少一个编码单元的所述绝对纹理复杂度,确定平均值,得到所述当前图像帧的参考纹理复杂度;对所述当前图像帧的每个所述编码单元,确定所述绝对纹理复杂度与所述参考纹理复杂度的比值,得到相应的所述编码单元的所述纹理复杂度。
20.可选地,所述第一计算单元还被配置为:对每个图像帧,基于所述至少一个编码单元的所述边缘密度,确定平均值,得到相应的图像帧的平均边缘密度;确定每个所述编码单元的所述边缘密度与相应的图像帧的所述平均边缘密度的差值,基于所述差值以及强度因子,得到相应的所述编码单元的所述第一量化参数偏移量,其中,所述强度因子与相应的图像帧的所述平均边缘密度正相关。
21.根据本公开的第三方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的视频编码方法。
22.根据本公开的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的视频编码方法。
23.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的视频编码方法。
24.本公开的实施例提供的技术方案至少带来以下有益效果:
25.根据本公开的实施例的视频编码方法和视频编码装置,优先结合编码单元的边缘密度来得到调整量化参数所使用的第一量化参数偏移量,由于边缘密度与人眼对纹理的失真敏感度有关,因而能够对人眼较敏感的编码单元适当减小量化参数,提升编码的主观质量,对人眼相对不敏感的编码单元适当增大量化参数,节省码率,最终可以在码率一定的情况下,提升编码主观质量。此外,引入纹理复杂度和编码参考关系,二者能够分别反映编码单元主观上和客观上的重要性。相较于直接使用编码参考关系来确定第二量化参数偏移量的方案,根据本公开的实施例结合纹理复杂度和编码参考关系来共同确定第二量化参数偏移量,能够削弱主客观矛盾。通过叠加应用上述的第一量化参数偏移量和第二量化参数偏移量,能够平衡编码主客观质量,有助于强化对保留图像细节的需求的把握,从而提升编码效率。
26.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
27.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
28.图1是示出根据本公开的示例性实施例的视频编码方法的流程图。
29.图2是示出根据本公开的示例性实施例的视频编码方法的流程示意图。
30.图3是示出根据本公开的示例性实施例的mtcnn网络的结构示意图。
31.图4是示出根据本公开的示例性实施例的视频编码装置的框图。
32.图5是根据本公开的示例性实施例的电子设备的框图。
具体实施方式
33.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
34.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
35.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
36.视频编码优化技术能够根据保留图像细节的需求不同来调整量化参数(qp,quantitative parameters),实现编码效率的提升。不同的优化工具往往从不同的角度来确定保留图像细节的需求,因此优化效果各有偏重。
37.caq(content adaptive quantification,内容自适应量化)是视频编码中的一种主观编码质量优化工具。由于人眼对于图像中不同内容特性(纹理复杂度、运动复杂度、roi区域)的失真敏感度不同,caq对于不同内容采用特定的qp进行编码,即对于主观敏感度比较高的区域采用相对较小的qp进行编码,提升编码单元主观质量,而对主观敏感度较低的区域采用较大的qp进行编码来节省码率,最终可以在码率一定的情况下,提升编码主观质量。
38.cutree(coding units tree,编码单元树)是视频编码中的一种客观编码质量优化工具。该工具的基本原理是在预处理时根据当前编码单元被参考的程度调整qp,即在多层参考帧结构中,对于被参考程度高的编码单元采用较小的qp,反之对被参考程度低的编码单元采用较大的qp,达到提升编码客观质量的目的。具体地,cutree通常都是以减小原qp的方式来调整qp的,只是对被参考程度高的编码单元,减小qp的幅度更大,对被参考程度低的编码单元,减小qp的幅度更小。
39.根据本公开的示例性实施例的视频编码方法,可通过引入纹理复杂度来将这两种
工具合理结合,从而兼顾编码的主观质量和客观质量。
40.下面,将参照图1至图5具体描述根据本公开的示例性实施例的视频编码方法和视频编码装置。
41.图1是示出根据本公开的示例性实施例的视频编码方法的流程图。应理解,根据本公开的示例性实施例的视频编码方法可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中实现,也可以在诸如服务器的设备中实现。
42.参照图1,在步骤101,获取待编码视频的每个图像帧的量化参数,其中,每个图像帧包括至少一个编码单元。待编码视频是根据本公开的示例性实施例的视频编码方法的处理对象,基于组成待编码视频的每个图像帧各自的量化参数可实现其编码,本公开的目的就在于合理调整各个编码单元的量化参数,进而提升编码效率。具体地,一个图像帧可以分为至少一个ctu(coding tree unit,树形编码单元),每个ctu的尺寸为64
×
64。每个ctu还能被划分为四个更小尺寸的编码单元(cu,coding unit),并能进一步细分,实际编码时可按需选定编码单元的尺寸。图2是示出根据本公开的示例性实施例的视频编码方法的流程示意图。参照图2,编码单元例如可为16
×
16的cu子块。
43.返回参照图1,在步骤102,获取至少一个编码单元的边缘密度和纹理复杂度。除原始的量化参数外,还可获取各个编码单元的边缘密度和纹理复杂度,以备后续步骤103和步骤104使用。
44.具体地,编码单元的边缘密度可通过边缘滤波和方差计算得到,边缘滤波例如可采用sobel边缘滤波。
45.可选地,纹理复杂度通过以下步骤得到:遍历每个图像帧,对当前图像帧的每个编码单元,确定编码单元的每个像素的梯度幅值并求和,得到相应的编码单元的绝对纹理复杂度;基于当前图像帧的全部编码单元的绝对纹理复杂度,确定平均值,得到当前图像帧的参考纹理复杂度;对当前图像帧的每个编码单元,确定绝对纹理复杂度与参考纹理复杂度的比值,得到相应的编码单元的纹理复杂度。通过基于编码单元的每个像素的梯度幅值进行计算,可以充分提取每个编码单元内部的纹理细节。通过引入一个图像帧中的全部编码单元的平均参数作为参考,并以比值的形式来表征纹理复杂度,能够将参数归一化,从而提升参数的普适性,便于后续应用。具体地,可先对编码单元按照如式(1)所示的水平和垂直卷积核进行滤波,即梯度计算,得到编码单元每一个像素位置的水平和垂直梯度后,计算对应像素的梯度幅值gmi,如式(2)所示。
[0046][0047][0048]
编码单元的梯度幅值之和(即绝对纹理复杂度)gm
cu
计算如式(3)所示,得到gm
cu
之后,计算一个图像帧内所有编码单元的绝对纹理复杂度的平均值gm
avg
,如式(4)所示。最终每个编码单元的纹理复杂度gmr(i)计算如式(5)所示。
[0049]
[0050][0051][0052]
可以理解的是,各个编码单元的边缘密度和纹理复杂度可以由其他工具计算,根据本公开的示例性实施例的视频编码方法直接获取使用即可,也可以在步骤102计算。此外,步骤102专门用于获取参数,其执行时机可以在步骤103和步骤104之前,也可以在步骤103和步骤104需要应用相应的具体参数时才进行参数获取,本公开对此不做限制。
[0053]
在步骤103,根据至少一个编码单元的边缘密度,确定至少一个编码单元的第一量化参数偏移量。该步骤对应于前述的主观工具caq,参照图2,就是利用caq调整qp,可采用边缘自适应量化的方法,根据边缘密度确定第一量化参数偏移量。边缘密度能够反映编码单元边缘的复杂程度,进而反映内部纹理复杂程度。边缘密度越高,认为这个编码单元的内部纹理越复杂,而人眼对纹理复杂区域的失真敏感度低,可以为其量化参数加上一个正向偏移,即第一量化参数偏移量为正。边缘密度越低,认为这个编码单元的内部纹理越平坦,而人眼对纹理平坦区域的失真敏感度高,可以为其量化参数加上一个负向偏移,即第一量化参数偏移量为负。
[0054]
可选地,步骤103具体包括:对每个图像帧,基于全部编码单元的边缘密度,确定平均值,得到相应的图像帧的平均边缘密度;确定每个编码单元的边缘密度与相应的图像帧的平均边缘密度的差值,基于差值以及强度因子,得到相应的编码单元的第一量化参数偏移量,其中,强度因子与相应的图像帧的平均边缘密度正相关。通过计算编码单元的边缘密度与平均边缘密度的差值,能够将单个编码单元的边缘密度与其他编码单元的边缘密度做比较。若边缘密度大于平均水平,则表明边缘密度较大,纹理复杂程度高,由此得到的第一量化参数偏移量为正值,可以实现量化参数的正向偏移;若边缘密度小于平均水平,则表明边缘密度较小,纹理复杂程度低,由此得到的第一量化参数偏移量为负值,可以实现量化参数的负向偏移。此外,由于强度因子与平均边缘密度正相关,既能够对不同的图像帧进行个性化调整,又能够在单个图像帧内保持一致,有助于得到更合理的第一量化参数偏移量。具体地,对于一个编码单元,基于边缘密度与相应的图像帧的平均边缘密度的差值以及强度因子,得到第一量化参数偏移量的方式,可以是将该差值与强度因子的乘积作为第一量化参数偏移量。
[0055]
返回参照图1,在步骤104,对每个编码单元,基于编码单元的纹理复杂度,以及编码单元与其他编码单元之间的编码参考关系,确定相应的编码单元的第二量化参数偏移量。
[0056]
可选地,步骤104具体包括:若确定纹理复杂度小于或等于纹理阈值,基于编码参考关系,确定第二量化参数偏移量。其中,编码参考关系包括被参考程度,被参考程度是帧间预测中,编码单元被其他编码单元参考的程度。参照图2,基于编码单元的被参考程度,确定第二量化参数偏移量的步骤可以是利用前述的cutree来调整qp,具体是确定第二量化参数偏移量。确定第二量化参数偏移量的步骤包括:基于被参考程度,确定第二量化参数偏移量,其中,第二量化参数偏移量是与被参考程度负相关的负值。也就是说,利用cutree调整量化参数时,始终是将量化参数调小,即第二量化参数偏移量为负值。并且编码单元被参考
的程度越大,表明这个编码单元客观上越重要,保留其图像细节的需求就越强烈,所以量化参数的降幅就越大,即第二量化参数偏移量的绝对值越大,第二量化参数偏移量越小,与被参考程度负相关。由于可直接采用cutree来调整qp,可降低工具开发成本,便于对现有的视频编码方法进行改进。返回来看步骤104,在纹理复杂度较小时,可认为该编码单元的纹理相对平坦,人眼对此较为敏感,在步骤103中往往对该编码单元的量化参数做了负向偏移,即第一量化参数偏移量为负值。此时通过直接叠加cutree,可进一步减小量化参数,不会影响主要的调整方向,并可叠加反映被参考程度对量化参数的影响,从而有助于提升人眼敏感区域的主客观质量。
[0057]
可选地,参照图2,步骤104具体还包括:若确定纹理复杂度大于纹理阈值,且编码单元属于脸部区域,基于编码参考关系,确定第二量化参数偏移量;若确定纹理复杂度大于纹理阈值,且编码单元不属于脸部区域,确定第二量化参数偏移量为0。可以理解的是,基于编码单元的被参考程度,确定第二量化参数偏移量的步骤同样可以是利用前述的cutree来调整qp,在此不再赘述。在纹理复杂度较大时,可认为该编码单元的纹理相对复杂,人眼对此相对不敏感,在步骤103中往往对该编码单元的量化参数做了正向偏移,即第一量化参数偏移量为正值。若直接叠加cutree,可能因为降幅超过步骤103得到的第一量化参数偏移量而使得量化参数反而发生负向偏移,导致caq工具的主观收益变差。此外在一些场景中,人或动物距离镜头较远导致脸部区域的面积较小,边缘密度算法会将脸部区域判断为纹理复杂区域,进而将其量化参数调高,即第一量化参数偏移量为正值,导致脸部区域出现失真,且主观感知较明显。通过在确定纹理复杂度较大时,进一步判断是否属于脸部区域,并在确定为脸部区域时继续叠加cutree,可将相应编码单元的量化参数回调,有助于削弱步骤103中将之视为纹理复杂区域的影响,从而提升脸部区域的主观质量。而在判断该编码单元不属于脸部区域时,就可以认为仅为普通的纹理复杂区域,通过不再叠加cutree,可降低前述的caq工具主观收益变差的风险。因此,应用根据本公开的示例性实施例的视频编码方法,能够解决同时应用cutree和caq时主观收益变差的问题,基于纹理复杂度自适应叠加cutree,并可解决现有caq中将脸部区域识别为人眼不敏感区域的问题,在相同码率下进一步提升人眼敏感区域的主客观编码质量,提升编码效率。
[0058]
可选地,根据本公开的示例性实施例的视频编码方法还包括:获取每个图像帧的脸部区域;基于每个编码单元与相应的图像帧的脸部区域的位置关系,确定相应的编码单元是否属于脸部区域。通过先从图像帧整体的角度提取脸部区域,可保障提取到的脸部区域的准确性。然后将提取到的脸部区域与图像帧中的编码单元做位置对比,可以确定出每个编码单元是否属于脸部区域,而不必对每个编码单元分别进行脸部识别,有助于同时提升判断的准确性和判断速度,提高判断效率。举例来说,可以在一个编码单元中存在部分区域落入脸部区域时,就认为这个编码单元属于脸部区域;也可以在一个编码单元完全落入脸部区域内时,才认为这个编码单元属于脸部区域;还可以配置一个比例阈值(例如50%),在一个编码单元有超过比例阈值的区域落入脸部区域时,认为这个编码单元属于脸部区域,本公开对此不做限制。
[0059]
可选地,图像帧中的脸部区域可通过图像识别得到。例如可采用mtcnn(multi-task cascaded convolutional neural network,多任务级联卷积神经网络),该网络可以识别人脸位置及定位五官。mtcnn网络的结构如图3所示,由三部分网络组成,p-net
(proposal network,推荐网络)的作用是快速粗略地检测出一些候选框,r-net(refine network,优化网络)用于对候选框进行复选,进一步排除非人脸候选,o-net(output network,输出网络)用于生成精确的候选框和人脸、五官位置坐标。又如,可采用opencv中的人脸检测、yolo网络人脸检测等,本公开对此不做限制。
[0060]
可选地,待编码视频的图像帧包括多个参考帧和位于相邻两个参考帧之间的中间帧,参考帧的脸部区域通过图像识别得到,中间帧的脸部区域基于对应的两个参考帧的脸部区域,通过轨迹平移算法和肤色匹配算法中的至少一个得到。通过仅间隔抽取多个参考帧应用图像识别算法,对中间帧则基于参考帧的脸部区域跟踪得到,可以大幅降低图像识别网络(具体是脸部识别网络)的计算复杂度,从而提升脸部区域检测准确度。作为示例,可每个3个图像帧选取一个参考帧。其中,轨迹平移算法和肤色匹配算法为已有的成熟算法,在此不作赘述。
[0061]
在步骤105,基于第一量化参数偏移量和第二量化参数偏移量,调整相应的编码单元的量化参数。基于步骤103和步骤104得到的量化参数偏移量,可与原始的量化参数求和,从而实现对量化参数的调整。
[0062]
在步骤106,根据每个编码单元的量化参数,对待编码视频进行编码。利用调整后得到的量化参数编码待编码视频,能够在caq的基础上基于纹理复杂度自适应叠加cutree,并可解决现有caq中将脸部区域识别为人眼不敏感区域的问题,在相同码率下进一步提升人眼敏感区域的主客观编码质量,提升编码效率。具体编码过程为成熟技术,在此不作赘述。
[0063]
采用根据本公开的示例性实施例的视频编码方法,选取20个专业主观评测人员,对kwaimp4序列集中100个序列进行主观盲测,在主观质量持平(anchor:test=50:50)的基础上,test相比anchor的码率下降5%,同时编码时间只增加0.5%,可以忽略不计。
[0064]
图4是示出根据本公开的示例性实施例的视频编码装置的框图。应理解,根据本公开的示例性实施例的视频编码装置可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中以软件、硬件或软件硬件结合的方式实现,也可以在诸如服务器的设备中实现。
[0065]
参照图4,视频编码装置400包括获取单元401、第一计算单元402、第二计算单元403、调整单元404、编码单元405。
[0066]
获取单元401可获取待编码视频的每个图像帧的量化参数,其中,每个图像帧包括至少一个编码单元。待编码视频是根据本公开的示例性实施例的视频编码装置400的处理对象,基于组成待编码视频的每个图像帧各自的量化参数可实现其编码,本公开的目的就在于合理调整各个编码单元的量化参数,进而提升编码效率。具体地,一个图像帧可以分为至少一个ctu,每个ctu的尺寸为64
×
64。每个ctu还能被划分为四个更小尺寸的编码单元,并能进一步细分,实际编码时可按需选定编码单元的尺寸。
[0067]
获取单元401还可获取至少一个编码单元的边缘密度和纹理复杂度。除原始的量化参数外,还可获取各个编码单元的边缘密度和纹理复杂度,以备后续第一计算单元402和第二计算单元403使用。
[0068]
具体地,编码单元的边缘密度可通过边缘滤波和方差计算得到,边缘滤波例如可采用sobel边缘滤波。
[0069]
可选地,纹理复杂度通过以下步骤得到:遍历每个图像帧,对当前图像帧的每个编
码单元,确定编码单元的每个像素的梯度幅值并求和,得到相应的编码单元的绝对纹理复杂度;基于当前图像帧的全部编码单元的绝对纹理复杂度,确定平均值,得到当前图像帧的参考纹理复杂度;对当前图像帧的每个编码单元,确定绝对纹理复杂度与参考纹理复杂度的比值,得到相应的编码单元的纹理复杂度。通过基于编码单元的每个像素的梯度幅值进行计算,可以充分提取每个编码单元内部的纹理细节。通过引入一个图像帧中的全部编码单元的平均参数作为参考,并以比值的形式来表征纹理复杂度,能够将参数归一化,从而提升参数的普适性,便于后续应用。
[0070]
可以理解的是,各个编码单元的边缘密度和纹理复杂度可以由其他工具计算,根据本公开的示例性实施例的视频编码装置400直接获取使用即可,也可以由获取单元401计算。此外,获取单元401专门用于获取参数,其执行时机可以在第一计算单元402和第二计算单元403之前,也可以在第一计算单元402和第二计算单元403需要应用相应的具体参数时才进行参数获取,本公开对此不做限制。
[0071]
第一计算单元402可根据至少一个编码单元的边缘密度,确定至少一个编码单元的第一量化参数偏移量。第一计算单元402对应于前述的主观工具caq,可采用边缘自适应量化的方法,根据边缘密度确定第一量化参数偏移量。边缘密度能够反映编码单元边缘的复杂程度,进而反映内部纹理复杂程度。边缘密度越高,认为这个编码单元的内部纹理越复杂,而人眼对纹理复杂区域的失真敏感度低,可以为其量化参数加上一个正向偏移,即第一量化参数偏移量为正。边缘密度越低,认为这个编码单元的内部纹理越平坦,而人眼对纹理平坦区域的失真敏感度高,可以为其量化参数加上一个负向偏移,即第一量化参数偏移量为负。
[0072]
可选地,第一计算单元402具体执行以下动作:对每个图像帧,基于全部编码单元的边缘密度,确定平均值,得到相应的图像帧的平均边缘密度;确定每个编码单元的边缘密度与相应的图像帧的平均边缘密度的差值,基于差值以及强度因子,得到相应的编码单元的第一量化参数偏移量,其中,强度因子与相应的图像帧的平均边缘密度正相关。通过计算编码单元的边缘密度与平均边缘密度的差值,能够将单个编码单元的边缘密度与其他编码单元的边缘密度做比较。若边缘密度大于平均水平,则表明边缘密度较大,纹理复杂程度高,由此得到的第一量化参数偏移量为正值,可以实现量化参数的正向偏移;若边缘密度小于平均水平,则表明边缘密度较小,纹理复杂程度低,由此得到的第一量化参数偏移量为负值,可以实现量化参数的负向偏移。此外,由于强度因子与平均边缘密度正相关,既能够对不同的图像帧进行个性化调整,又能够在单个图像帧内保持一致,有助于得到更合理的第一量化参数偏移量。具体地,对于一个编码单元,基于边缘密度与相应的图像帧的平均边缘密度的差值以及强度因子,得到第一量化参数偏移量的方式,可以是将该差值与强度因子的乘积作为第一量化参数偏移量。
[0073]
第二计算单元403可对每个编码单元,基于编码单元的纹理复杂度,以及编码单元与其他编码单元之间的编码参考关系,确定相应的编码单元的第二量化参数偏移量。
[0074]
可选地,第二计算单元403具体执行以下动作:若确定纹理复杂度小于或等于纹理阈值,基于编码参考程度,确定第二量化参数偏移量。其中,编码参考关系包括被参考程度,被参考程度是帧间预测中,编码单元被其他编码单元参考的程度。基于编码单元的被参考程度,确定第二量化参数偏移量,可以是利用前述的cutree来调整qp,具体是确定第二量化
参数偏移量。确定第二量化参数偏移量的动作包括:基于被参考程度,确定第二量化参数偏移量,其中,第二量化参数偏移量是与被参考程度负相关的负值。也就是说,利用cutree调整量化参数时,始终是将量化参数调小,即第二量化参数偏移量为负值。并且编码单元被参考的程度越大,表明这个编码单元客观上越重要,保留其图像细节的需求就越强烈,所以量化参数的降幅就越大,即第二量化参数偏移量的绝对值越大,第二量化参数偏移量越小,与被参考程度负相关。由于可直接采用cutree来调整qp,可降低工具开发成本,便于对现有的视频编码方法进行改进。返回来看第二计算单元403,在纹理复杂度较小时,可认为该编码单元的纹理相对平坦,人眼对此较为敏感,第一计算单元402往往对该编码单元的量化参数做了负向偏移,即第一量化参数偏移量为负值。此时第二计算单元403通过直接叠加cutree,可进一步减小量化参数,不会影响主要的调整方向,并可叠加反映被参考程度对量化参数的影响,从而有助于提升人眼敏感区域的主客观质量。
[0075]
可选地,第二计算单元403具体可执行以下动作:若确定纹理复杂度大于纹理阈值,且编码单元属于脸部区域,基于编码参考关系,确定第二量化参数偏移量;若确定纹理复杂度大于纹理阈值,且编码单元不属于脸部区域,确定第二量化参数偏移量为0。可以理解的是,基于编码单元的被参考程度,确定第二量化参数偏移量的步骤同样可以是利用前述的cutree来调整qp,在此不再赘述。在纹理复杂度较大时,可认为该编码单元的纹理相对复杂,人眼对此相对不敏感,第一计算单元402往往对该编码单元的量化参数做了正向偏移,即第一量化参数偏移量为正值。若直接叠加cutree,可能因为降幅超过第一计算单元402得到的第一量化参数偏移量而使得量化参数反而发生负向偏移,导致caq工具的主观收益变差。此外在一些场景中,人或动物距离镜头较远导致脸部区域的面积较小,边缘密度算法会将脸部区域判断为纹理复杂区域,进而将其量化参数调高,即第一量化参数偏移量为正值,导致脸部区域出现失真,且主观感知较明显。通过在确定纹理复杂度较大时,进一步判断是否属于脸部区域,并在确定为脸部区域时继续叠加cutree,可将相应编码单元的量化参数回调,有助于削弱第一计算单元402将之视为纹理复杂区域的影响,从而提升脸部区域的主观质量。而在判断该编码单元不属于脸部区域时,就可以认为仅为普通的纹理复杂区域,通过不再叠加cutree,可降低前述的caq工具主观收益变差的风险。因此,应用根据本公开的示例性实施例的视频编码装置400,能够解决同时应用cutree和caq时主观收益变差的问题,基于纹理复杂度自适应叠加cutree,并可解决现有caq中将脸部区域识别为人眼不敏感区域的问题,在相同码率下进一步提升人眼敏感区域的主客观编码质量,提升编码效率。
[0076]
可选地,获取单元401还可获取每个图像帧的脸部区域;第二计算单元403还可基于每个编码单元与相应的图像帧的脸部区域的位置关系,确定相应的编码单元是否属于脸部区域。通过先从图像帧整体的角度提取脸部区域,可保障提取到的脸部区域的准确性。然后将提取到的脸部区域与图像帧中的编码单元做位置对比,可以确定出每个编码单元是否属于脸部区域,而不必对每个编码单元分别进行脸部识别,有助于同时提升判断的准确性和判断速度,提高判断效率。举例来说,第二计算单元403可以在一个编码单元中存在部分区域落入脸部区域时,就认为这个编码单元属于脸部区域;也可以在一个编码单元完全落入脸部区域内时,才认为这个编码单元属于脸部区域;还可以配置一个比例阈值(例如50%),在一个编码单元有超过比例阈值的区域落入脸部区域时,认为这个编码单元属于脸
部区域,本公开对此不做限制。
[0077]
可选地,图像帧中的脸部区域可通过图像识别得到。
[0078]
可选地,待编码视频的图像帧包括多个参考帧和位于相邻两个参考帧之间的中间帧,参考帧的脸部区域通过图像识别得到,中间帧的脸部区域基于对应的两个参考帧的脸部区域,通过轨迹平移算法和肤色匹配算法中的至少一个得到。通过仅间隔抽取多个参考帧应用图像识别算法,对中间帧则基于参考帧的脸部区域跟踪得到,可以大幅降低图像识别网络(具体是脸部识别网络)的计算复杂度,从而提升脸部区域检测准确度。其中,轨迹平移算法和肤色匹配算法为已有的成熟算法,在此不作赘述。
[0079]
调整单元404可基于第一量化参数偏移量和第二量化参数偏移量,调整相应的编码单元的量化参数。基于第一计算单元402和第二计算单元403得到的量化参数偏移量,可与原始的量化参数求和,从而实现对量化参数的调整。
[0080]
编码单元405可根据每个编码单元的量化参数,对待编码视频进行编码。利用调整后得到的量化参数编码待编码视频,能够在caq的基础上基于纹理复杂度自适应叠加cutree,并可解决现有caq中将脸部区域识别为人眼不敏感区域的问题,在相同码率下进一步提升人眼敏感区域的主客观编码质量,提升编码效率。具体编码过程为成熟技术,在此不作赘述。
[0081]
图5是根据本公开的示例性实施例的电子设备的框图。
[0082]
参照图5,电子设备500包括至少一个存储器501和至少一个处理器502,所述至少一个存储器501中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器502执行时,执行根据本公开的示例性实施例的视频编码方法。
[0083]
作为示例,电子设备500可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备500并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备500还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0084]
在电子设备500中,处理器502可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0085]
处理器502可运行存储在存储器501中的指令或代码,其中,存储器501还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0086]
存储器501可与处理器502集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器501可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器501和处理器502可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器502能够读取存储在存储器中的文件。
[0087]
此外,电子设备500还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备500的所有组件可经由总线和/或网络而彼此连接。
[0088]
根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读
存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的视频编码方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0089]
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的视频编码方法。
[0090]
根据本公开的示例性实施例的视频编码方法、装置、电子设备和计算机可读存储介质,优先结合编码单元的边缘密度来得到调整量化参数所使用的第一量化参数偏移量,由于边缘密度与人眼对纹理的失真敏感度有关,因而能够对人眼较敏感的编码单元适当减小量化参数,提升编码的主观质量,对人眼相对不敏感的编码单元适当增大量化参数,节省码率,最终可以在码率一定的情况下,提升编码主观质量。此外,编码单元的被参考程度能够反映各个编码单元在编码过程中重要程度,结合被参考程度来调整量化参数,能够提升编码的客观质量。然而直接将两种调整策略重叠,可能出现调整方向相反而互相抵消的情况。通过引入纹理复杂度这一能够反映人眼敏感度的条件,并在调整量化参数时,基于纹理复杂度来确定是否在边缘密度的基础上叠加被参考程度的影响,能够在优先保障编码的主观质量的同时,尽量提升编码的客观质量,有助于提升编码效率。
[0091]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0092]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献