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

一种基于失真阈值的全景视频快速编码方法

2022-06-02 10:41:54 来源:中国专利 TAG:


1.本发明涉及一种视频编码技术,尤其是涉及一种基于失真阈值的全景视频快速编码方法。


背景技术:

2.近年来,全景视频系统以其全新的、“身临其境”的视觉体验越来越受到人们的欢迎,特别是在虚拟现实、模拟驾驶等领域有着巨大的应用前景。但是,这种更好的视觉体验带来的是视频数据量和处理方面的代价。目前,全景视频编码压缩的时间复杂度过高已成为制约其大量应用的瓶颈之一。因此,如何对全景视频进行快速编码,有效降低编码压缩的时间复杂度,是全景视频系统推广应用亟待解决的技术问题。
3.现有的全景视频快速编码算法,主要是通过视频时空域相关性统计建立某种阈值准则来加快编码速度,并未充分考虑编码失真这一本质属性,因此编码效率有限。由于编码失真直接影响人眼视觉感知质量,因此如何利用编码失真来指导当前编码单元递归深度选择,就成为了全景视频快速编码算法研究的一个重要突破方向。


技术实现要素:

4.本发明所要解决的技术问题是提供一种基于失真阈值的全景视频快速编码方法,其编码复杂度低,从而加快了编码速度,节省了编码时间。
5.本发明解决上述技术问题所采用的技术方案为:一种基于失真阈值的全景视频快速编码方法,其特征在于包括以下步骤:
6.步骤1:将erp投影格式的全景视频中当前待处理的视频帧定义为当前帧;其中,当前帧的宽度为w且高度为h;
7.步骤2:对当前帧中的每个像素点进行全景加权梯度计算,得到当前帧的全景加权梯度图,记为g,g中的每个像素点的像素值为当前帧中对应像素点的全景加权梯度值;
8.步骤3:将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;其中,当前最大编码单元的尺寸为64
×
64;
9.步骤4:判断当前最大编码单元是否为当前帧中最上侧或最左侧的最大编码单元,如果是,则采用hevc视频编码器中的原始递归划分算法对以当前最大编码单元为根节点的四叉树结构中的所有编码单元进行编码,再执行步骤10;否则,执行步骤5;
10.步骤5:将与当前最大编码单元空域相邻的左边最大编码单元、上边最大编码单元、左上最大编码单元作为当前最大编码单元的三个空域相邻单元;然后计算当前最大编码单元的每个空域相邻单元中的所有像素点的全景加权梯度值的平均值,并将最大的平均值、次大的平均值、最小的平均值对应记为ws
lcu_max
、ws
lcu_mid
、ws
lcu_min
;接着获取ws
lcu_max
对应的空域相邻单元的最优递归深度均值,记为d
lcu_max
;并获取ws
lcu_mid
对应的空域相邻单元的最优递归深度均值,记为d
lcu_mid
;获取ws
lcu_min
对应的空域相邻单元的最优递归深度均值,记为d
lcu_min
;再计算当前最大编码单元的最小递归深度的预测值,记为d
min

其中,符号为向下取整运算符号,α1表示d
lcu_max
的权重值,α2表示d
lcu_mid
的权重值,α3表示d
lcu_min
的权重值,α1 α2 α3=1,α1>α2>α3;
11.步骤6:若d
min
的值为3,则采用hevc视频编码器中的原始递归划分算法对以当前最大编码单元为根节点的四叉树结构中的所有编码单元进行编码,再执行步骤10;若d
min
的值为0或1或2,则跳转到以当前最大编码单元为根节点的四叉树结构中递归深度的值为d
min
的cu层,再执行步骤7;
12.步骤7:将所跳转到的cu层定义为当前cu层,依次遍历当前cu层中的每个编码单元,将当前遍历的编码单元定义为当前编码单元;其中,d
min
的值为0时当前编码单元的尺寸为64
×
64,d
min
的值为1时当前编码单元的尺寸为32
×
32,d
min
的值为2时当前编码单元的尺寸为16
×
16;
13.步骤8:在完成当前编码单元的pu模式预测得到当前编码单元的预测块后,计算当前编码单元的编码失真,记为sse
cur
;然后计算当前编码单元的失真阈值,记为再比较sse
cur
与的大小,若则认为当前编码单元已达到最优递归深度,对当前编码单元不再进行进一步的递归划分,采用hevc视频编码器仅对当前编码单元进行编码,再执行步骤9;若则采用hevc视频编码器中的原始递归划分算法对以当前编码单元为根节点的子树中的所有编码单元进行编码,再执行步骤9;其中,e为自然基数,q
step
表示当前编码单元的量化步长,qp表示给定的编码量化参数,ws
cu
表示当前编码单元中的所有像素点的全景加权梯度值的平均值,k
cu
、b
cu
、m
cu
、n
cu
均为调节因子参数;
14.步骤9:判断当前cu层中的所有编码单元是否都遍历完毕,如果是,则执行步骤10;否则,将当前cu层中下一个遍历的编码单元作为当前编码单元,然后返回步骤8继续执行;
15.步骤10:将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤4继续执行,直至当前帧中的所有最大编码单元均处理完毕,再执行步骤11;
16.步骤11:将erp投影格式的全景视频中下一帧待处理的视频帧作为当前帧,然后返回步骤2继续执行,直至erp投影格式的全景视频中的所有视频帧均处理完毕,实现了全景视频的快速编码。
17.所述的步骤2中,将当前帧的全景加权梯度图g中坐标位置为(x,y)的像素点的像素值记为g(x,y),g(x,y)=w
erp
(x,y)g(x,y);其中,1≤x≤w,1≤y≤h,g(x,y)亦表示当前帧中坐标位置为(x,y)的像素点的全景加权梯度值,w
erp
(x,y)表示当前帧中坐标位置为(x,y)的像素点的维度权重,cos()为余弦函数,g(x,y)表示当前帧中坐标位置为(x,y)的像素点的局部梯度值,表示水平方向,表示垂直方向,表示当前帧中坐标位置为(x,y)的像素点的水平方向梯度值,表示当前帧中坐标位置为(x,y)的像素点的垂直方向梯度值,和
由sobel算子计算得到。
18.所述的步骤5中,所述的步骤5中,其中,1≤i≤256,d
lcu_max,4
×4(i)表示ws
lcu_max
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值,d
lcu_mid,4
×4(i)表示ws
lcu_mid
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值,d
lcu_min,4
×4(i)表示ws
lcu_min
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值。
19.所述的步骤8中,sse
cur
的计算过程为:其中,1≤u≤r,1≤v≤r,r
×
r表示当前编码单元的尺寸,r的值为64或32或16,i(u,v)表示当前编码单元中坐标位置为(u,v)的像素点的像素值,i

(u,v)表示当前编码单元的预测块中坐标位置为(u,v)的像素点的像素值。
20.所述的步骤8中,当前编码单元的尺寸为64
×
64时k
cu
、b
cu
、m
cu
、n
cu
的值对应为0.66、5.78、0.47、1.06;当前编码单元的尺寸为32
×
32时k
cu
、b
cu
、m
cu
、n
cu
的值对应为-1.02、6.58、0.87、0.59;当前编码单元的尺寸为16
×
16时k
cu
、b
cu
、m
cu
、n
cu
的值对应为-1.01、5.01、0.84、0.69。
21.与现有技术相比,本发明的优点在于:
22.本发明方法针对erp投影格式的全景视频的自身特点,采用全景加权梯度对全景视频中的视频帧进行分析,结合全景加权梯度值,对编码单元的递归过程进行快速决策,具体的,针对非最上侧或最左侧的任意一个最大编码单元,首先采用全景加权梯度值并参考空域相邻深度(即空域相邻的左边最大编码单元、上边最大编码单元、左上最大编码单元的最优递归深度均值),得到最大编码单元的最小递归深度的预测值;在此基础上,针对最小递归深度的预测值为0或1或2的最大编码单元,计算以该最大编码单元为根节点的四叉树结构中递归深度的值为最小递归深度的预测值的cu层中的编码单元的编码失真和失真阈值,当编码失真小于或等于失真阈值时确定已达到最优递归深度,对相应的编码单元进行编码,提前终止了不必要的递归划分,从而有效降低了编码复杂度。实验测试表明本发明方法能在保证编码质量的同时,有效降低编码单元的递归复杂度,加快编码速度,节省编码时间。
附图说明
23.图1为本发明方法的总体实现框图。
具体实施方式
24.以下结合附图实施例对本发明作进一步详细描述。
25.本发明提出的一种基于失真阈值的全景视频快速编码方法,其总体实现框图如图1所示,其包括以下步骤:
26.步骤1:将erp(equirectangular projection)投影格式的全景视频中当前待处理的视频帧定义为当前帧;其中,当前帧的宽度为w且高度为h。
27.步骤2:对当前帧中的每个像素点进行全景加权梯度计算,得到当前帧的全景加权梯度图,记为g,g中的每个像素点的像素值为当前帧中对应像素点的全景加权梯度值。
28.在本实施例中,步骤2中,将当前帧的全景加权梯度图g中坐标位置为(x,y)的像素点的像素值记为g(x,y),g(x,y)=w
erp
(x,y)g(x,y);其中,1≤x≤w,1≤y≤h,g(x,y)亦表示当前帧中坐标位置为(x,y)的像素点的全景加权梯度值,w
erp
(x,y)表示当前帧中坐标位置为(x,y)的像素点的维度权重,cos()为余弦函数,π=3.14

,g(x,y)表示当前帧中坐标位置为(x,y)的像素点的局部梯度值,表示水平方向,表示垂直方向,表示当前帧中坐标位置为(x,y)的像素点的水平方向梯度值,表示当前帧中坐标位置为(x,y)的像素点的垂直方向梯度值,和由经典的sobel算子计算得到。
29.erp投影格式由于各个纬度采用不同程度像素采样,平面中不同维度存在不同像素冗余,且两极极度拉升冗余最为明显,因此球体投影到erp投影格式后,通常以球体中心为基点,erp投影格式的经度θ与球体的球面的经度对应,erp投影格式的纬度与球体的球面的纬度对应,θ∈[-π,π],考虑到全景纬度的特点,因而引入erp投影格式的维度权重参数w
erp
(x,y)。g(x,y)的数值越大则说明相关因素被考虑得越多。
[0030]
步骤3:将当前帧中当前待处理的最大编码单元(lcu)定义为当前最大编码单元;其中,当前最大编码单元的尺寸为64
×
64。
[0031]
步骤4:判断当前最大编码单元是否为当前帧中最上侧或最左侧的最大编码单元,如果是,则采用hevc视频编码器中的原始递归划分算法对以当前最大编码单元为根节点的四叉树结构中的所有编码单元进行编码,再执行步骤10;否则,执行步骤5。
[0032]
在此,当前帧中最上侧的最大编码单元即为当前帧中第1行最大编码单元,当前帧中最左侧的最大编码单元即为当前帧中第1列最大编码单元。
[0033]
步骤5:将与当前最大编码单元空域相邻的左边最大编码单元、上边最大编码单元、左上最大编码单元作为当前最大编码单元的三个空域相邻单元;然后计算当前最大编码单元的每个空域相邻单元中的所有像素点的全景加权梯度值的平均值,并将最大的平均值、次大的平均值、最小的平均值对应记为ws
lcu_max
、ws
lcu_mid
、ws
lcu_min
;接着获取ws
lcu_max
对应的空域相邻单元的最优递归深度均值,记为d
lcu_max
;并获取ws
lcu_mid
对应的空域相邻单元的最优递归深度均值,记为d
lcu_mid
;获取ws
lcu_min
对应的空域相邻单元的最优递归深度均值,记为d
lcu_min
;再计算当前最大编码单元的最小递归深度的预测值,记为d
min
,其中,d
min
的值可能为0或1或2或3,符号为向下取整运算符号,α1表示d
lcu_max
的权重值,α2表示d
lcu_mid
的权重值,α3表示d
lcu_min
的权重值,α1 α2 α3=1,α1>α2>α3,在本实施例中通过大量实验得到α1=0.5,α2=0.3,α3=0.2。
[0034]
在此,当前最大编码单元的左边最大编码单元为位于当前最大编码单元的左侧且与当前最大编码单元相邻的一个最大编码单元,同样当前最大编码单元的上边最大编码单元为位于当前最大编码单元的上方且与当前最大编码单元相邻的一个最大编码单元,当前最大编码单元的左上最大编码单元为位于当前最大编码单元的左上方且与当前最大编码单元的左边最大编码单元和上边最大编码单元均相邻的一个最大编码单元。
[0035]
在本实施例中,步骤5中,在本实施例中,步骤5中,其中,1≤i≤256,d
lcu_max,4
×4(i)表示ws
lcu_max
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值,d
lcu_mid,4
×4(i)表示ws
lcu_mid
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值,d
lcu_min,4
×4(i)表示ws
lcu_min
对应的空域相邻单元分割成256个互不重叠的尺寸为4
×
4的子块后第i个子块的递归深度值,d
lcu_max,4
×4(i)、d
lcu_mid,4
×4(i)、d
lcu_min,4
×4(i)的值可以从hevc视频编码器中直接读取。
[0036]
步骤6:若d
min
的值为3,则采用hevc视频编码器中的原始递归划分算法对以当前最大编码单元为根节点的四叉树结构中的所有编码单元进行编码,再执行步骤10;若d
min
的值为0或1或2,则跳转到以当前最大编码单元为根节点的四叉树结构中递归深度的值为d
min
的cu(coding unit,编码单元)层,再执行步骤7。
[0037]
说明:最大编码单元在递归过程中按照四叉树递归划分,尺寸由原来的64、32、16、8依次划分,且对应的递归深度依次为0、1、2、3。
[0038]
步骤7:将所跳转到的cu层定义为当前cu层,依次遍历当前cu层中的每个编码单元,将当前遍历的编码单元定义为当前编码单元;其中,d
min
的值为0时当前编码单元的尺寸为64
×
64,d
min
的值为1时当前编码单元的尺寸为32
×
32,d
min
的值为2时当前编码单元的尺寸为16
×
16。
[0039]
步骤8:在完成当前编码单元的pu模式预测得到当前编码单元的预测块后,计算当前编码单元的编码失真,记为sse
cur
;然后计算当前编码单元的失真阈值,记为再比较sse
cur
与的大小,若则认为当前编码单元已达到最优递归深度,对当前编码单元不再进行进一步的递归划分,采用hevc视频编码器仅对当前编码单元进行编码,再执行步骤9;若则采用hevc视频编码器中的原始递归划分算法对以当前编码单元为根节点的子树中的所有编码单元进行编码,再执行步骤9;其中,e为自然基数,e=2.71

,q
step
表示当前编码单元的量化步长,qp表示给定的编码量化参数,ws
cu
表示当前编码单元中的所有像素点的全景加权梯度值的平均值,k
cu
、b
cu
、m
cu
、n
cu
均为调节因子参数。
[0040]
在本实施例中,步骤8中,sse
cur
的计算过程为:其中,1≤u≤r,1≤v≤r,r
×
r表示当前编码单元的尺寸,r的值为64或32或16,i(u,v)表示当前编码单元中坐标位置为(u,v)的像素点的像素值,i

(u,v)表示当前编码单元的预测块中
坐标位置为(u,v)的像素点的像素值。
[0041]
在本实施例中,步骤8中,当前编码单元的尺寸为64
×
64时k
cu
、b
cu
、m
cu
、n
cu
的值对应为0.66、5.78、0.47、1.06;当前编码单元的尺寸为32
×
32时k
cu
、b
cu
、m
cu
、n
cu
的值对应为-1.02、6.58、0.87、0.59;当前编码单元的尺寸为16
×
16时k
cu
、b
cu
、m
cu
、n
cu
的值对应为-1.01、5.01、0.84、0.69。
[0042]
步骤9:判断当前cu层中的所有编码单元是否都遍历完毕,如果是,则执行步骤10;否则,将当前cu层中下一个遍历的编码单元作为当前编码单元,然后返回步骤8继续执行。
[0043]
步骤10:将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤4继续执行,直至当前帧中的所有最大编码单元均处理完毕,再执行步骤11。
[0044]
步骤11:将erp投影格式的全景视频中下一帧待处理的视频帧作为当前帧,然后返回步骤2继续执行,直至erp投影格式的全景视频中的所有视频帧均处理完毕,实现了全景视频的快速编码。
[0045]
为了进一步说明本发明方法的性能,对本发明方法进行测试。
[0046]
选取hevc视频编码器标准参考软件hm20.0作为实验测试平台,硬件配置为intel(r)core(tm)i5-7200u cpu,主频2.5ghz,内存为16g的64位win10操作系统,开发工具选择vs2013。选取4个全景视频序列作为标准测试序列,分别为:两个4k序列“aerialcity”、“drivingincity”以及两个6k序列“brancastle2”、“landing2”。每个标准测试序列的测试帧数为100帧,编码结构为帧内方式,searchrange(搜索范围)设置为64,maxpartitiondepth(最大递归深度)设置为4,编码量化参数qp分别取为22、27、32、37。
[0047]
表1列出了“aerialcity”、“drivingincity”“brancastle2”、“landing2”4个全景视频序列的相关参数信息。
[0048]
表1 全景视频序列的相关参数信息
[0049]
全景视频序列视频分辨率aerialcity3840
×
1920drivingincity3840
×
1920brancastle26144
×
3072landing26144
×
3072
[0050]
表2列出了采用本发明方法对表1列出的全景视频序列进行编码,与采用hm20.0原始平台方法相比,编码时间的节省情况。定义采用本发明方法进行编码相比于采用hm20.0原始平台方法进行编码的编码时间节省率为δt
pro
,δt
pro
=(t
org-t
pro
)/t
org
×
100[%],其中,t
pro
表示采用本发明方法进行编码的编码时间,t
org
表示采用hm20.0原始平台方法进行编码的编码时间。
[0051]
表2 采用本发明方法进行编码相比于采用hm20.0原始平台方法进行编码的编码时间节省比较情况
[0052][0053]
从表2中可以看出,采用本发明方法进行编码能够平均节省46.9%的编码时间。针对4个不同场景、不同运动情况的全景视频序列,采用本发明方法进行编码均能有效地降低编码时间,且特别是对于视频纹理更简单的“drivingincity”、“landing2”全景视频序列的效果更好,编码时间节省分别达到57.5%和60.7%。
[0054]
表3列出了采用本发明方法对表1列出的全景视频序列进行编码,在不同质量评价方法下的率失真性能的比较情况。在质量评价中,采用psnr(peak signal-to-noise rate)和ws-psnr(weighted to spherically uniform psnr)作为质量评价指标,分别计算出在各质量评价方法下的率失真性能指标,对应记为bdbr
psnr
和bdbr
ws-psnr
,以综合评价本发明方法的性能。
[0055]
表3 采用本发明方法进行编码,在不同质量评价方法下的率失真性能的比较情况
[0056][0057]
从表3中可以看出,本发明方法采用bdbr
psnr
和bdbr
ws-psnr
,在质量评价指标psnr和ws-psnr下码率升高均在1.0%以下,平均分别为0.8%和0.9%。其中,bdbr
ws-psnr
为全景视频提案推荐的质量评价指标,该评价指标更能体现全景视频的特点,从表3中可以看到该评价指标效果良好,而且针对全景视频序列不同场景、不同运动情况,本发明方法的效果良好。
[0058]
通过表2和表3测试的数据结果说明,本发明方法不但可以保证编码质量,而且可有效节约编码时间,加快编码速度。
再多了解一些

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

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

相关文献