一种基于全景显著性的立体全景视频快速编码方法转让专利

申请号 : CN202010175774.3

文献号 : CN111464805B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜宝祯蒋刚毅郁梅郑雪蕾晁涌

申请人 : 宁波大学

摘要 :

本发明公开了一种基于全景显著性的立体全景视频快速编码方法,其对立体全景视频中的右视点视频帧进行显著性计算;结合显著性计算结果将右视点视频帧中除最左侧和最上侧的最大编码单元外的其余最大编码单元分为显著块和非显著块,针对显著块和非显著块分别采用两种不同的编码快速终止方式,针对非显著块,利用当前编码单元时空域相邻块的最优划分深度来预测和修正当前编码单元的递归深度区间;针对显著块,通过计算并比较当前编码单元的均方根误差与基于全景感知失真的编码单元划分阈值的大小关系,来判断当前编码单元是否已达到最优划分深度;优点是有效降低了编码单元的递归复杂度,节省了编码时间。

权利要求 :

1.一种基于全景显著性的立体全景视频快速编码方法,其特征在于包括以下步骤:步骤1:将ERP投影格式的立体全景视频中当前待处理的除第1帧以外的右视点视频帧定义为当前帧;其中,当前帧的宽度为W且高度为H;

步骤2:对当前帧进行显著性计算,得到当前帧的3D‑Sobel显著图;

步骤3:将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;其中,当前最大编码单元的尺寸为64×64;

步骤4:判断当前最大编码单元是否为当前帧中最上侧或最左侧的最大编码单元,如果是,则采用3D‑HEVC视频编码器对当前最大编码单元进行编码,再执行步骤11;否则,执行步骤5;

步骤5:计算当前帧的3D‑Sobel显著图中与当前最大编码单元对应的尺寸为64×64的区域的显著性强度,记为SILCU;并计算当前帧的3D‑Sobel显著图中与当前最大编码单元对应的尺寸为64×64的区域的全景显著性阈值,记为THS;然后判断SILCU≥THS是否满足,如果满足,则判定当前最大编码单元为显著块,将当前最大编码单元重新定义为当前编码单元,然后执行步骤9;如果不满足,则判定当前最大编码单元为非显著块,然后执行步骤6;

步骤6:令DLCU(View)表示当前帧对应的左视点视频帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(Col)表示当前帧的前一帧右视点视频帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(LT)表示当前最大编码单元的已编码左上侧最大编码单元的最优递归深度均值,令DLCU(L)表示当前最大编码单元的已编码左侧最大编码单元的最优递归深度均值,令DLCU(T)表示当前最大编码单元的已编码上侧最大编码单元的最优递归深度均值;然后预测当前最大编码单元的递归深度区间,记为[Dmin,Dmax],其中,Dmin表示当前最大

编码单元的最小划分深度,Dmax表示当前最大编码单元的最大划分深度,min()为取最小值函数,max()为取最大值函数,符号 为向下取整符号,符号 为向上取整符号;

步骤7:跳转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU层,采用3D‑HEVC视频编码器对该CU层中的所有编码单元以深度优先遍历的方式进行编码,针对该CU层中的任一个编码单元,将其作为当前编码单元,在当前编码单元编码后先判断当前编码单元的最大划分深度是否已达到Dmax或当前编码单元的最大划分深度是否已达到3,如果已达到,则继续以深度优先遍历的方式对当前编码单元的未编码的兄弟节点进行编码,直至当前编码单元的所有兄弟节点编码完成,再执行步骤11;如果未达到,则执行步骤

8;

步骤8:计算当前帧的3D‑Sobel显著图中与当前编码单元对应的区域的显著性强度,记为SICU,然后比较SICU与SILCU,如果SICU>SILCU,则计算当前编码单元的递归深度区间,记为[Dmin,D′max], 然后令Dmax=D′max,再返回步骤7继续执行;如果SICU≤SILCU,则计算当前编码单元的递归深度区间,记为[Dmin,D″max], 然后令Dmax=D″max,再返回步骤7继续执行;其中,DCU(View)表示当前帧对应的左视点视频帧中与当前编码单元对应的已编码的编码单元的最优递归深度均值,DCU(Col)表示当前帧的前一帧右视点视频帧中与当前编码单元对应的已编码的编码单元的最优递归深度均值,DCU(LT)表示当前编码单元的已编码左上侧编码单元的最优递归深度均值,DCU(L)表示当前编码单元的已编码左侧编码单元的最优递归深度均值,DCU(T)表示当前编码单元的已编码上侧编码单元的最优递归深度均值;

步骤9:利用BJND模型计算当前编码单元的感知失真均方根误差,记为MSEBjnd;并计算当前编码单元的统计均方根误差,记为MSES, 再计算得到基于全景感知失真的编码单元划分阈值,记为THsplit,THsplit=η1MSES+η2MSEBjnd;其中,e表示自然基数,k为斜率,取值为‑2.3334,Qstep表示当前编码单元的量化步长,QP表示当前编码单元的量化参数, MSECol表示当前帧的前一帧中与当前编码单元对应的已编码的编码单元的均方根误差, 表示当前帧的前一帧中与当前编码单元对应的已编码的编码单元的量化步长,QPCol表示当前帧的前一帧中与当前编码单元对应的已编码的编码单元的量化参数,b表示截距,取值为6.3751,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,η1和η2均为调节因子,η1+η2=1;

步骤10:计算当前编码单元的均方根误差,记为MSECur;然后比较MSECur与THsplit的大小,若MSECur≤THsplit,则认为当前编码单元已达到最优划分深度,不需要再进一步划分,采用

3D‑HEVC视频编码器对当前编码单元进行编码,再执行步骤11;若MSECur>THsplit,则跳转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU层,采用3D‑HEVC视频编码器对该CU层中的所有编码单元以深度优先遍历的方式进行编码,针对该CU层中的任一个编码单元,将其作为当前编码单元,然后返回步骤9继续执行,直至当前编码单元的所有兄弟节点编码完成,再执行步骤11;

步骤11:将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤4继续执行,直至当前帧中的所有最大编码单元均处理完毕,之后执行步骤12;

步骤12:将ERP投影格式的立体全景视频中下一帧待处理的右视点视频帧作为当前帧,然后返回步骤2继续执行,直至ERP投影格式的立体全景视频中的所有视频帧均处理完毕。

2.根据权利要求1所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤2中,采用3D‑Sobel模型对当前帧进行显著性计算。

3.根据权利要求1或2所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤5中计算SILCU的过程与所述的步骤8中计算SICU的过程相同,具体过程为:将待计算显著性强度的区域定义为待处理区域,将待处理区域的显著性强度记为SI,其中, 表示待处理区域的尺寸, 的值为64或32或16或

8, 表示待处理区域的左上角像素点在当前帧的3D‑Sobel显著图中的坐标位置,表示当前帧的3D‑Sobel显著图中坐标位置为 的像素点的像素值,

4.根据权利要求3所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤5中,THS的计算过程为:步骤5_1:计算当前帧中的每个像素点的ERP维度权重,将当前帧中坐标位置为(x,y)的像素点的ERP维度权重记为wERP(x,y), 其中,0≤x≤W‑

1,0≤y≤H‑1;

步骤5_2:计算当前最大编码单元的ERP维度权重,记为wLCU,其中,N'×N'表示当前最大编码单元的尺寸,即N'的值为64,(i',j')表示当前最大编码单元的左上角像素点在当前帧中的坐标位置,wERP(m',n')表示当前帧中坐标位置为(m',n')的像素点的ERP维度权重,0≤m'≤W‑1,0≤n'≤H‑1;

步骤5_3:计算THS,THS=THE+β×(1‑wLCU);其中,THE表示当前帧的一半高度处的显著性阈值,β表示wLCU的缩放因子。

5.根据权利要求4所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤9中,MSEBjnd的计算过程为: 其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的左上角像素点在当前帧中的坐标位置,BJND(m,n)表示当前帧的双目恰可察觉失真图中坐标位置为(m,n)的像素点的像素值,0≤m≤W‑1,0≤n≤H‑1。

6.根据权利要求5所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤9中,MSECol的计算过程为: 其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的左上角像素点在当前帧中的坐标位置,I(m,n)表示当前帧的前一帧中坐标位置为(m,n)的像素点的像素值,I′(m,n)表示当前帧的前一帧的编码重建图像中坐标位置为(m,n)的像素点的像素值,0≤m≤W‑1,0≤n≤H‑1。

7.根据权利要求6所述的一种基于全景显著性的立体全景视频快速编码方法,其特征在于所述的步骤10中,MSECur的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的左上角像素点在当前帧中的坐标位置, 表示当前帧中坐标位置为(m,n)的像素点的像素值, 表示当前帧的编码预测图像中坐标位置为(m,n)的像素点的像素值,0≤m≤W‑

1,0≤n≤H‑1。

说明书 :

一种基于全景显著性的立体全景视频快速编码方法

技术领域

[0001] 本发明涉及一种视频编码技术,尤其是涉及一种基于全景显著性的立体全景视频快速编码方法。

背景技术

[0002] 近年来,随着多媒体网络的飞速发展,立体全景视频系统以其全新的视觉体验越来越受到人们的欢迎。立体全景视频系统可以为观察者提供左右两个通道视点信息,这使
得用户在观看立体全景视频时,又增加了单视点全景视频所没有的深度感信息,真正做到
“身临其境”。因此,立体全景视频系统在虚拟现实、模拟驾驶等领域有更广阔的应用前景。
但是,更好的视觉体验带来的是视频数据量和处理方面的代价。目前,立体全景视频的编码
时间复杂度过高也成为制约其大量应用的瓶颈之一。因此,如何对该类视频进行有效编码
压缩,是立体全景视频系统推广应用的亟待解决的问题。

发明内容

[0003] 本发明所要解决的技术问题是提供一种基于全景显著性的立体全景视频快速编码方法,其编码时间复杂度低。
[0004] 本发明解决上述技术问题所采用的技术方案为:一种基于全景显著性的立体全景视频快速编码方法,其特征在于包括以下步骤:
[0005] 步骤1:将ERP投影格式的立体全景视频中当前待处理的除第1帧以外的右视点视频帧定义为当前帧;其中,当前帧的宽度为W且高度为H;
[0006] 步骤2:对当前帧进行显著性计算,得到当前帧的3D‑Sobel显著图;
[0007] 步骤3:将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;其中,当前最大编码单元的尺寸为64×64;
[0008] 步骤4:判断当前最大编码单元是否为当前帧中最上侧或最左侧的最大编码单元,如果是,则采用3D‑HEVC视频编码器对当前最大编码单元进行编码,再执行步骤11;否则,执
行步骤5;
[0009] 步骤5:计算当前帧的3D‑Sobel显著图中与当前最大编码单元对应的尺寸为64×64的区域的显著性强度,记为SILCU;并计算当前帧的3D‑Sobel显著图中与当前最大编码单
元对应的尺寸为64×64的区域的全景显著性阈值,记为THS;然后判断SILCU≥THS是否满足,
如果满足,则判定当前最大编码单元为显著块,将当前最大编码单元重新定义为当前编码
单元,然后执行步骤9;如果不满足,则判定当前最大编码单元为非显著块,然后执行步骤6;
[0010] 步骤6:令DLCU(View)表示当前帧对应的左视点视频帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(Col)表示当前帧的前一帧右视点视频
帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(LT)表
示当前最大编码单元的已编码左上侧最大编码单元的最优递归深度均值,令DLCU(L)表示当
前最大编码单元的已编码左侧最大编码单元的最优递归深度均值,令DLCU(T)表示当前最大
编码单元的已编码上侧最大编码单元的最优递归深度均值;然后预测当前最大编码单元的
递归深度区间,记为[Dmin,Dmax],
其中,Dmin表示当前最大
编码单元的最小划分深度,Dmax表示当前最大编码单元的最大划分深度,min()为取最小值
函数,max()为取最大值函数,符号 为向下取整符号,符号 为向上取整符号;
[0011] 步骤7:跳转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU层,采用3D‑HEVC视频编码器对该CU层中的所有编码单元以深度优先遍历的方式进行编码,
针对该CU层中的任一个编码单元,将其作为当前编码单元,在当前编码单元编码后先判断
当前编码单元的最大划分深度是否已达到Dmax或当前编码单元的最大划分深度是否已达到
3,如果已达到,则继续以深度优先遍历的方式对当前编码单元的未编码的兄弟节点进行编
码,直至当前编码单元的所有兄弟节点编码完成,再执行步骤11;如果未达到,则执行步骤
8;
[0012] 步骤8:计算当前帧的3D‑Sobel显著图中与当前编码单元对应的区域的显著性强度,记为SICU,然后比较SICU与SILCU,如果SICU>SILCU,则计算当前编码单元的递归深度区间,
记为[Dmin,D′max], 然后令Dmax
=D′max,再返回步骤7继续执行;如果SICU≤SILCU,则计算当前编码单元的递归深度区间,记
为[Dmin,D″max], 然后令Dmax=
D″max,再返回步骤7继续执行;其中,DCU(View)表示当前帧对应的左视点视频帧中与当前编
码单元对应的已编码的编码单元的最优递归深度均值,DCU(Col)表示当前帧的前一帧右视
点视频帧中与当前编码单元对应的已编码的编码单元的最优递归深度均值,DCU(LT)表示当
前编码单元的已编码左上侧编码单元的最优递归深度均值,DCU(L)表示当前编码单元的已
编码左侧编码单元的最优递归深度均值,DCU(T)表示当前编码单元的已编码上侧编码单元
的最优递归深度均值;
[0013] 步骤9:利用BJND模型计算当前编码单元的感知失真均方根误差,记为MSEBjnd;并计算当前编码单元的统计均方根误差,记为MSES, 再
计算得到基于全景感知失真的编码单元划分阈值,记为THsplit,THsplit=η1MSES+η2MSEBjnd;其
中,e表示自然基数,k为斜率,取值为‑2.3334,Qstep表示当前编码单元的量化步长,QP表示
当前编码单元的量化参数, MSECol表示当前帧的前一
帧中与当前编码单元对应的已编码的编码单元的均方根误差, 表示当前帧的前一帧中
与当前编码单元对应的已编码的编码单元的量化步长,QPCol表示当前帧的前一帧中与当前
编码单元对应的已编码的编码单元的量化参数,b表示截距,取值为6.3751,N×N表示当前
编码单元的尺寸,N的值为64或32或16或8,η1和η2均为调节因子,η1+η2=1;
[0014] 步骤10:计算当前编码单元的均方根误差,记为MSECur;然后比较MSECur与THsplit的大小,若MSECur≤THsplit,则认为当前编码单元已达到最优划分深度,不需要再进一步划分,
采用3D‑HEVC视频编码器对当前编码单元进行编码,再执行步骤11;若MSECur>THsplit,则跳
转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU层,采用3D‑HEVC视
频编码器对该CU层中的所有编码单元以深度优先遍历的方式进行编码,针对该CU层中的任
一个编码单元,将其作为当前编码单元,然后返回步骤9继续执行,直至当前编码单元的所
有兄弟节点编码完成,再执行步骤11;
[0015] 步骤11:将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤4继续执行,直至当前帧中的所有最大编码单元均处理完毕,之后执行步骤12;
[0016] 步骤12:将ERP投影格式的立体全景视频中下一帧待处理的右视点视频帧作为当前帧,然后返回步骤2继续执行,直至ERP投影格式的立体全景视频中的所有视频帧均处理
完毕。
[0017] 所述的步骤2中,采用3D‑Sobel模型对当前帧进行显著性计算。
[0018] 所述的步骤5中计算SILCU的过程与所述的步骤8中计算SICU的过程相同,具体过程为:将待计算显著性强度的区域定义为待处理区域,将待处理区域的显著性强度记为SI,
其中, 表示待处理区域的尺寸, 的值为64或32或16
或8, 表示待处理区域的左上角像素点在当前帧的3D‑Sobel显著图中的坐标位置,
表示当前帧的3D‑Sobel显著图中坐标位置为 的像素点的像素值,
[0019] 所述的步骤5中,THS的计算过程为:
[0020] 步骤5_1:计算当前帧中的每个像素点的ERP维度权重,将当前帧中坐标位置为(x,y)的像素点的ERP维度权重记为wERP(x,y), 其中,0≤x
≤W‑1,0≤y≤H‑1;
[0021] 步骤5_2:计算当前最大编码单元的ERP维度权重,记为wLCU,其中,N'×N'表示当前最大编码单元的尺寸,即N'的
值为64,(i',j')表示当前最大编码单元的左上角像素点在当前帧中的坐标位置,wERP(m',
n')表示当前帧中坐标位置为(m',n')的像素点的ERP维度权重,0≤m'≤W‑1,0≤n'≤H‑1;
[0022] 步骤5_3:计算THS,THS=THE+β×(1‑wLCU);其中,THE表示当前帧的一半高度处的显著性阈值,β表示wLCU的缩放因子。
[0023] 所述的步骤9中,MSEBjnd的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的
左上角像素点在当前帧中的坐标位置,BJND(m,n)表示当前帧的双目恰可察觉失真图中坐
标位置为(m,n)的像素点的像素值,0≤m≤W‑1,0≤n≤H‑1。
[0024] 所述的步骤9中,MSECol的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的
左上角像素点在当前帧中的坐标位置,I(m,n)表示当前帧的前一帧中坐标位置为(m,n)的
像素点的像素值,I′(m,n)表示当前帧的前一帧的编码重建图像中坐标位置为(m,n)的像素
点的像素值,0≤m≤W‑1,0≤n≤H‑1。
[0025] 所述的步骤10中,MSECur的计算过程为:
[0026] 其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的左上角像素点在当前帧中的坐标位
置, 表示当前帧中坐标位置为(m,n)的像素点的像素值, 表示当前帧的编码预
测图像中坐标位置为(m,n)的像素点的像素值,0≤m≤W‑1,0≤n≤H‑1。
[0027] 与现有技术相比,本发明的优点在于:
[0028] 本发明方法对立体全景视频中的右视点视频帧的显著性进行分析,针对右视点视频帧中的非显著区域和显著性区域分别提出了对应的快速终止方式,针对非显著区域,利
用当前编码单元时空域相邻块的最优划分深度来预测和修正当前编码单元的递归深度区
间;针对显著区域,通过计算并比较当前编码单元的均方根误差与基于全景感知失真的编
码单元划分阈值的大小关系,来判断当前编码单元是否已达到最优划分深度,实验测试表
明本发明方法能有效降低编码单元的递归复杂度,节省编码时间。

附图说明

[0029] 图1为本发明方法的总体实现框图;
[0030] 图2为针对非显著块的快速终止的流程图;
[0031] 图3为针对显著块的快速终止的流程图。

具体实施方式

[0032] 以下结合附图实施例对本发明作进一步详细描述。
[0033] 本发明提出的一种基于全景显著性的立体全景视频快速编码方法,其总体实现框图如图1所示,其包括以下步骤:
[0034] 步骤1:将ERP(Equirectangular projection)投影格式的立体全景视频中当前待处理的除第1帧以外的右视点视频帧定义为当前帧;其中,当前帧的宽度为W且高度为H。在
此,立体全景视频中的所有左视点视频帧和第1帧右视点视频帧均采用现有的3D‑HEVC视频
编码器编码。
[0035] 步骤2:对当前帧进行显著性计算,得到当前帧的3D‑Sobel显著图。
[0036] 在本实施例中,步骤2中,采用3D‑Sobel模型对当前帧进行显著性计算。
[0037] 步骤3:将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;其中,当前最大编码单元的尺寸为64×64。
[0038] 步骤4:判断当前最大编码单元是否为当前帧中最上侧或最左侧的最大编码单元,如果是,则采用3D‑HEVC视频编码器对当前最大编码单元进行编码,再执行步骤11;否则,执
行步骤5。在此,当前帧中最上侧的最大编码单元即为当前帧中第一行最大编码单元,当前
帧中最左侧的最大编码单元即为当前帧中第一列最大编码单元。
[0039] 步骤5:计算当前帧的3D‑Sobel显著图中与当前最大编码单元对应的尺寸为64×64的区域的显著性强度,记为SILCU;并计算当前帧的3D‑Sobel显著图中与当前最大编码单
元对应的尺寸为64×64的区域的全景显著性阈值,记为THS;然后判断SILCU≥THS是否满足,
如果满足,则判定当前最大编码单元为显著块,将当前最大编码单元重新定义为当前编码
单元,然后执行步骤9;如果不满足,则判定当前最大编码单元为非显著块,然后执行步骤6。
[0040] 在本实施例中,步骤5中,THS的计算过程为:
[0041] 步骤5_1:计算当前帧中的每个像素点的ERP维度权重,将当前帧中坐标位置为(x,y)的像素点的ERP维度权重记为wERP(x,y), 其中,0≤x
≤W‑1,0≤y≤H‑1。
[0042] 步骤5_2:由于3D‑HEVC视频编码器是以视频帧中的CU块为基本编码单元。为了便于在编码中运用,因此计算当前最大编码单元的ERP维度权重,记为wLCU,
其中,N'×N'表示当前最大编码单元的尺寸,即N'
的值为64,(i',j')表示当前最大编码单元的左上角像素点在当前帧中的坐标位置,wERP
(m',n')表示当前帧中坐标位置为(m',n')的像素点的ERP维度权重,0≤m'≤W‑1,0≤n'≤
H‑1。
[0043] 步骤5_3:计算THS,THS=THE+β×(1‑wLCU);其中,THE表示当前帧的一半高度处的显著性阈值,通过大量实验得到THE=0.3,β表示wLCU的缩放因子,通过大量实验得到β=0.2。
[0044] 图2给出了针对非显著块的快速终止的流程图;图3给出了针对显著块的快速终止的流程图。
[0045] 步骤6:令DLCU(View)表示当前帧对应的左视点视频帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(Col)表示当前帧的前一帧右视点视频
帧中与当前最大编码单元对应的已编码最大编码单元的最优递归深度均值,令DLCU(LT)表
示当前最大编码单元的已编码左上侧最大编码单元的最优递归深度均值,令DLCU(L)表示当
前最大编码单元的已编码左侧最大编码单元的最优递归深度均值,令DLCU(T)表示当前最大
编码单元的已编码上侧最大编码单元的最优递归深度均值;然后预测当前最大编码单元的
递归深度区间,记为[Dmin,Dmax],
其中,Dmin表示当前最大
编码单元的最小划分深度,Dmax表示当前最大编码单元的最大划分深度,min()为取最小值
函数,max()为取最大值函数,符号 为向下取整符号,符号 为向上取整符号;在
此,当前最大编码单元的已编码左上侧最大编码单元即为位于当前最大编码单元的左上侧
的已编码的最邻近的最大编码单元,当前最大编码单元的已编码左侧最大编码单元即为位
于当前最大编码单元的左侧的已编码的最邻近的最大编码单元,当前最大编码单元的已编
码上侧最大编码单元即为位于当前最大编码单元的上侧的已编码的最邻近的最大编码单
元。
[0046] 步骤7:跳转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU(Coding Unit)层,采用3D‑HEVC视频编码器对该CU层中的所有编码单元以深度优先遍历的
方式进行编码,针对该CU层中的任一个编码单元,将其作为当前编码单元,在当前编码单元
编码后先判断当前编码单元的最大划分深度是否已达到Dmax或当前编码单元的最大划分深
度是否已达到3,如果已达到,则继续以深度优先遍历的方式对当前编码单元的未编码的兄
弟节点进行编码,直至当前编码单元的所有兄弟节点编码完成,再执行步骤11;如果未达
到,则执行步骤8。
[0047] 步骤8:计算当前帧的3D‑Sobel显著图中与当前编码单元对应的区域的显著性强度,记为SICU,然后比较SICU与SILCU,如果SICU>SILCU,则说明当前编码单元相对于当前最大
编码单元的显著性强度升高,虽然当前最大编码单元被判定为非显著块,但当前最大编码
单元位于当前帧中的显著区域与非显著区域交界的位置,而当前编码单元恰处于显著性更
高的区域,为了避免编码深度过小而带来质量的下降,需要根据与当前编码单元时空域相
邻块的最优划分深度情况重新更新Dmax,因此计算当前编码单元的递归深度区间,记为
[Dmin,D′max], 然后令Dmax=
D′max,再返回步骤7继续执行;如果SICU≤SILCU,则说明当前编码单元相对于当前最大编码单
元的显著性强度一致或更小,当前编码单元在当前最大编码单元的内部,当前编码单元处
于显著性与整体一致或更低的区域,因此计算当前编码单元的递归深度区间,记为[Dmin,
D″max], 然后令Dmax=D″max,再
返回步骤7继续执行;其中,DCU(View)表示当前帧对应的左视点视频帧中与当前编码单元对
应的已编码的编码单元的最优递归深度均值,DCU(Col)表示当前帧的前一帧右视点视频帧
中与当前编码单元对应的已编码的编码单元的最优递归深度均值,DCU(LT)表示当前编码单
元的已编码左上侧编码单元的最优递归深度均值,DCU(L)表示当前编码单元的已编码左侧
编码单元的最优递归深度均值,DCU(T)表示当前编码单元的已编码上侧编码单元的最优递
归深度均值;在此,当前编码单元的已编码左上侧编码单元即为位于当前编码单元的左上
侧的已编码的最邻近的编码单元,当前编码单元的已编码左侧编码单元即为位于当前编码
单元的左侧的已编码的最邻近的编码单元,当前编码单元的已编码上侧编码单元即为位于
当前编码单元的上侧的已编码的最邻近的编码单元。
[0048] 步骤9:当前最大编码单元为显著块,说明当前最大编码单元处于纹理密集区,利用现有经典的BJND(Binocular Just Noticeable Distortion,双目恰可察觉失真)模型计
算当前编码单元的感知失真均方根误差,记为MSEBjnd;并计算当前编码单元的统计均方根
误差,记为MSES, 再计算得到基于全景感知失真的编
码单元划分阈值,记为THsplit,THsplit=η1MSES+η2MSEBjnd;其中,e表示自然基数,k为斜率,取
值为‑2.3334,Qstep表示当前编码单元的量化步长,QP表示当前编码单元的量化参数,
MSECol表示当前帧的前一帧中与当前编码单元对应的
已编码的编码单元的均方根误差, 表示当前帧的前一帧中与当前编码单元对应的已编
码的编码单元的量化步长,QPCol表示当前帧的前一帧中与当前编码单元对应的已编码的编
码单元的量化参数,b表示截距,取值为6.3751,N×N表示当前编码单元的尺寸,N的值为64
或32或16或8,η1和η2均为调节因子,η1+η2=1,在本实施例中取η1=η2=0.5。
[0049] 在本实施例中,步骤9中,MSEBjnd的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的
左上角像素点在当前帧中的坐标位置,BJND(m,n)表示当前帧的双目恰可察觉失真图(即
BJND图)中坐标位置为(m,n)的像素点的像素值,0≤m≤W‑1,0≤n≤H‑1。
[0050] 在本实施例中,步骤9中,MSECol的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的
左上角像素点在当前帧中的坐标位置,I(m,n)表示当前帧的前一帧中坐标位置为(m,n)的
像素点的像素值,I′(m,n)表示当前帧的前一帧的编码重建图像中坐标位置为(m,n)的像素
点的像素值,0≤m≤W‑1,0≤n≤H‑1。
[0051] 步骤10:计算当前编码单元的均方根误差,记为MSECur;然后比较MSECur与THsplit的大小,若MSECur≤THsplit,则认为当前编码单元已达到最优划分深度,不需要再进一步划分,
采用3D‑HEVC视频编码器对当前编码单元进行编码,再执行步骤11;若MSECur>THsplit,则跳
转到以当前最大编码单元为根节点的四叉树结构中划分深度为Dmin的CU(Coding Unit)层,
采用3D‑HEVC视频编码器对该CU层中的所有编码单元以深度优先遍历的方式进行编码,针
对该CU层中的任一个编码单元,将其作为当前编码单元,然后返回步骤9继续执行,直至当
前编码单元的所有兄弟节点编码完成,再执行步骤11。
[0052] 在本实施例中,步骤10中,MSECur的计算过程为:其中,N×N表示当前编码单元的尺寸,N的值为64或32或16或8,(i,j)表示当前编码单元的
左上角像素点在当前帧中的坐标位置, 表示当前帧中坐标位置为(m,n)的像素点的
像素值, 表示当前帧的编码预测图像中坐标位置为(m,n)的像素点的像素值,0≤m≤
W‑1,0≤n≤H‑1。
[0053] 步骤11:将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤4继续执行,直至当前帧中的所有最大编码单元均处理完毕,之后执行步骤12。
[0054] 步骤12:将ERP投影格式的立体全景视频中下一帧待处理的右视点视频帧作为当前帧,然后返回步骤2继续执行,直至ERP投影格式的立体全景视频中的所有视频帧均处理
完毕。
[0055] 在本实施例中,步骤5中计算SILCU的过程与步骤8中计算SICU的过程相同,具体过程为:将待计算显著性强度的区域定义为待处理区域,将待处理区域的显著性强度记为SI,
其中, 表示待处理区域的尺寸, 的值为64或32或16或
8, 表示待处理区域的左上角像素点在当前帧的3D‑Sobel显著图中的坐标位置,
表示当前帧的3D‑Sobel显著图中坐标位置为 的像素点的像素值,
[0056] 为了进一步说明本发明方法的性能,对本发明方法进行测试。
[0057] 为评估本发明方法的有效性,选取HTM14.1作为测试模型,硬件配置CPU Intel(R)Core(TM)i3,主频2.4GHz,内存为4G的64位WIN7操作系统,开发工具选择VS2013。选取
“chat”、“experience”、“photograph”、“riverside”、“scenic_spot”、“sign_in”、
“tourist”、“traffic”立体全景视频序列作为标准测试序列,测试帧数100帧,编码结构为
HBP随机访问方式,图像组GOP长度为8,I帧周期为24。独立视点初始量化参数QP分别为22、
27、32、37,在非独立视点上测试本发明方法。
[0058] 表1列出了“chat”、“experience”、“photograph”、“riverside”、“scenic_spot”、“sign_in”、“tourist”、“traffic”立体全景视频序列的具体信息。
[0059] 表1立体全景视频序列的相关参数信息
[0060]
[0061] 表2列出了采用本发明方法对表1列出的立体全景视频序列进行编码,与采用HTM原始平台方法相比,编码时间的节省情况。定义采用本发明方法进行编码相比于采用HTM原
始平台方法进行编码的时间节省率为ΔTPRO‑CU,ΔTPRO‑CU=(TOrg‑TPRO‑CU)/TOrg×100[%],其
中,TPRO‑CU表示采用本发明方法进行编码的编码时间,TOrg表示采用HTM原始平台方法进行编
码的编码时间。
[0062] 表2采用本发明方法进行编码相比于采用HTM原始平台方法进行编码的时间节省比较情况
[0063]
[0064]
[0065] 从表2中可以看出,采用本发明方法进行编码能够平均节省53.5%的编码时间。针对8个不同场景、不同运动情况的立体全景视频序列,采用本发明方法进行编码相对均衡,
特别是对于“riverside”、“scenic_spot”等户外立体全景视频序列的效果更好,编码时间
节省分别为57.8%和56.5%。
[0066] 表3列出了采用本发明方法对表1列出的立体全景视频序列进行编码,在不同质量评价方法下的率失真性能的比较情况。在质量评价中,采用PSNR(Peak Signal‑to‑Noise 
Rate)、WS‑PSNR(Weighted to Spherically uniform PSNR)、全景维度加权的SSIM
(weighted‑to‑spherically‑uniform structural similarity,WS‑SSIM)作为质量评价指
标,分别计算出在各质量评价方法下的率失真性能指标,对应记为BDBRPSNR(%)、BDBRWS‑PSNR
(%)、BDBRWS‑SSIM(%),以综合评价本发明方法的性能。
[0067] 表3采用本发明方法进行编码,在不同质量评价方法下的率失真性能的比较情况
[0068]
[0069] 从表3中可以看出,本发明方法在3种质量指标PSNR、WS‑PSNR、WS‑SSIM下码率升高均在1%以下,平均分别为0.4%、0.2%、0.0%。WS‑PSNR以及BDBRWS‑PSNR(%)为全景视频提
案推荐的质量评价指标,可以看到相比于传统的PSNR、BDBRPSNR(%),该评价指标更能体现
立体全景视频的特点。而WS‑SSIM是基于SSIM提出的,其考虑了结构相似度和全景纬度因
素,因此更能体现编码方法的主观质量性能。具体由于各立体全景视频序列不同场景、不同
运动情况,BDBR(表示在同样的客观质量下较优的编码方法可以节省的码率百分比)变化略
有差异,其中对于纹理复杂和运动较剧烈的“chat”、“sign_in”立体全景视频序列(室内)的
码率升高稍有明显,而对于“riverside”、“scenic_spot”、“traffic”立体全景视频序列的
效果良好,该类立体全景视频为户外序列,南北极区域多为天空和地面且占比较高、纹理相
对简单且运动剧烈程度较缓,针对该类立体全景视频序列本发明方法采用BDBRWS‑PSNR(%)、
BDBRWS‑SSIM(%)评价指标,码率几乎没有升高。