针对360度视频的帧内预测编码方法、系统及介质转让专利

申请号 : CN202211039982.6

文献号 : CN115118977B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 喻莉孙哲文

申请人 : 华中科技大学

摘要 :

本发明公开了一种针对360度视频的帧内预测编码方法、系统及介质,属于视频编码领域,方法包括:对当前CU块进行帧内块划分时,将待划分CU块的特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,得到多种帧内块划分方案,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块;帧内角度模式选择时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n来进行帧内角度模式选择,以对各帧内块划分方案进行像素填充;计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的方案对当前CU块进行帧内预测编码。减少传统编码方法中不必要的过程,降低编码时间。

权利要求 :

1.一种针对360度视频的帧内预测编码方法,其特征在于,包括:

S1,对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块;

编码单元特征包括:CU块的宽度、高度、深度、四叉树深度、多叉树深度、块形状比例、量化参数、水平角度模式种类和竖直角度模式种类中的多种;纹理特征包括:CU块像素值的方差、归一化均方误差、横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度中的多种;360度视频特征包括:CU块的纬度以及各纬度下的采样因子;

S2,为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充;

当 、 、 、 且 时,长度n

为1;

当 && && 时,长度n为2;否则,长

度n为3;

其中, 、h分别为CU块的宽度、高度, 、 分别为CU块像素值的方差、归一化均方误差, 为方向复杂度, 为横纵纹理之间的权重, 、 、 、、 分别为 、h、 、 、 对应的阈值, 为水平角度模式阈

值, 为竖直角度模式阈值;

S3,分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码;

S4,重复执行所述S1‑S3,直至对360度视频帧的所有CU块进行帧内预测编码。

2.如权利要求1所述的针对360度视频的帧内预测编码方法,其特征在于,BTH和TTH划分方式下,所述块形状比例为 ;BTV和TTV划分方式下,所述块形状比例为;QT划分方式下,所述块形状比例为0.5;其中, 、分别为CU块的宽度、高度。

3.如权利要求1所述的针对360度视频的帧内预测编码方法,其特征在于,所述横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度分别为:其中, 为横向纹理因子, 为纵向纹理因子, 为横纵纹理之

间的权重, 为方向复杂度, 、分别为CU块的宽度、高度, 为横向Sobel算子, 为纵向Sobel算子, 表示以坐标 的像素为中心的3×3矩阵,为卷积运算。

4.如权利要求1所述的针对360度视频的帧内预测编码方法,其特征在于,各纬度下的采样因子为:其中, 为 纬度下的采样因子。

5.如权利要求1‑4任一项所述的针对360度视频的帧内预测编码方法,其特征在于,所述基于长度n的RMD候选列表进行帧内角度模式选择包括:基于长度n建立第一轮RMD候选列表,并对所述第一轮RMD候选列表中的模式值进行统一加1或统一减1操作,更新得到第二轮RMD候选列表;

根据子CU块左侧CU的模式以及上侧CU的模式,计算得到MPM列表,将所述MPM列表并入所述第二轮RMD候选列表,得到RDO列表;

对所述RDO列表中的模式进行RDO计算,以选择最优模式作为子CU块的帧内角度模式。

6.如权利要求1所述的针对360度视频的帧内预测编码方法,其特征在于,所述S1中根据未跳过的划分方式对待划分CU块进行帧内块划分,以及不对待划分CU块进行划分,来生成当前CU块的多种帧内块划分方案。

7.一种针对360度视频的帧内预测编码系统,其特征在于,包括:

快速划分模块,用于对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块;

编码单元特征包括:CU块的宽度、高度、深度、四叉树深度、多叉树深度、块形状比例、量化参数、水平角度模式种类和竖直角度模式种类中的多种;纹理特征包括:CU块像素值的方差、归一化均方误差、横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度中的多种;360度视频特征包括:CU块的纬度以及各纬度下的采样因子;

模式选择模块,用于为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充;

当 、 、 、 且 时,长度n

为1;

当 && && 时,长度n为2;否则,

长度n为3;

其中, 、分别为CU块的宽度、高度, 、 分别为CU块像素值的方差、归一化均方误差, 为方向复杂度, 为横纵纹理之间的权重, 、 、 、、 分别为 、、 、 、 对应的阈值, 为水平角度模式阈

值, 为竖直角度模式阈值;

编码模块,用于分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码;并重复执行所述快速划分模块、模式选择模块和编码模块,直至对360度视频帧的所有CU块进行帧内预测编码。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑6中任一项所述的针对360度视频的帧内预测编码方法。

说明书 :

针对360度视频的帧内预测编码方法、系统及介质

技术领域

[0001] 本发明属于视频编码领域,更具体地,涉及一种针对360度视频的帧内预测编码方法、系统及介质。

背景技术

[0002] 随着多媒体技术的发展,人们对虚拟现实(Virtual Reality,VR)的需求日益提高,VR视频往往以超高清360度视频的格式存储,相比于传统二维视频,在超高的分辨率和投影导致的图像形变上有着较大差异。广泛使用的主流编码平台如H.264/H.265,以及AVS2逐渐难以满足人们不断增长的需求,因此多功能视频编码(Versatile Video Coding,VVC)被提出。VVC在各个模块均引入了很多压缩性能优异的新技术,这些新技术的引入提高了视频编码性能,但同时也使得其编码复杂度急剧升高。
[0003] 在这些新技术中,嵌套多类型树的四叉树块划分(Quadtree with Nested Multi‑type Tree,QTMTT)结构被引入用于帧内块划分,该技术使得VVC的编码单元具有更灵活的形状和更多样的尺寸,以便更好地贴合不同大小形状的图像。此外,在VVC中,帧内预测的角度模式的数量从HEVC中的33种增加到65种,DC和Planar模式保持不变,更多的角度模式使得像素的映射方式更加精细。然而,这些改进在提高VVC压缩性能的同时,极大地增加了编码的复杂度,导致编码时间过长。

发明内容

[0004] 针对现有技术的缺陷和改进需求,本发明提供了一种针对360度视频的帧内预测编码方法、系统及介质,其目的在于减少传统编码方法中不必要的过程,从而降低编码时间。
[0005] 为实现上述目的,按照本发明的一个方面,提供了一种针对360度视频的帧内预测编码方法,包括:S1,对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块;S2,为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充;S3,分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码;S4,重复执行所述S1‑S3,直至对360度视频帧的所有CU块进行帧内预测编码。
[0006] 更进一步地,编码单元特征包括:CU块的宽度、高度、深度、四叉树深度、多叉树深度、块形状比例、量化参数、水平角度模式种类和竖直角度模式种类中的多种;纹理特征包括:CU块像素值的方差、归一化均方误差、横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度中的多种;360度视频特征包括:CU块的纬度以及各纬度下的采样因子。
[0007] 更进一步地,BTH和TTH划分方式下,所述块形状比例为 ;BTV和TTV划分方式下,所述块形状比例为 ;QT划分方式下,所述块形状比例为0.5;其中,、 分别为CU块的宽度、高度。
[0008] 更进一步地,所述横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度分别为:
[0009]
[0010]
[0011]
[0012]
[0013] 其中, 为横向纹理因子, 为纵向纹理因子, 为横纵纹理之间的权重, 为方向复杂度,、分别为CU块的宽度、高度, 为横向Sobel算子, 为纵向Sobel算子, 表示以坐标 的像素为中心的3×3矩阵,为卷
积运算。
[0014] 更进一步地,各纬度下的采样因子为:
[0015]
[0016] 其中, 为 纬度下的采样因子。
[0017] 更 进 一 步 地 ,当 、 、 、 且时,长度n为1;当
时,长度n为2;否则,长度n为3;其中, 、 分别为CU块的宽度、高度, 、 分别为CU块像素值的方差、归一化均方误差, 为方向复杂度,为横纵纹理之间的权重, 、、 、 、 分别为 、 、 、 、 对应的阈值, 为水平
角度模式阈值, 为竖直角度模式阈值。
[0018] 更进一步地,所述基于长度n的RMD候选列表进行帧内角度模式选择包括:基于长度n建立第一轮RMD候选列表,并对所述第一轮RMD候选列表中的模式值进行统一加1或统一减1操作,更新得到第二轮RMD候选列表;根据子CU块左侧CU的模式以及上侧CU的模式,计算得到MPM列表,将所述MPM列表并入所述第二轮RMD候选列表,得到RDO列表;对所述RDO列表中的模式进行RDO计算,以选择最优模式作为子CU块的帧内角度模式。
[0019] 更进一步地,所述S1中根据未跳过的划分方式对待划分CU块进行帧内块划分,以及不对待划分CU块进行划分,来生成当前CU块的多种帧内块划分方案。
[0020] 按照本发明的另一个方面,提供了一种针对360度视频的帧内预测编码系统,包括:快速划分模块,用于对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块;模式选择模块,用于为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据当前CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充;编码模块,用于分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码;并重复执行所述快速划分模块、模式选择模块和编码模块,直至对360度视频帧的所有CU块进行帧内预测编码。
[0021] 按照本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的针对360度视频的帧内预测编码方法。
[0022] 总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0023] (1)基于360度视频的特性,从编码单元特征、纹理特征和360度视频特征三个角度定义多个特征,这些特征是通过皮尔逊相关系数验证的有效特征,能够保证神经网络输出结果的高度可靠性,从而提高后续划分方式跳过判定的可靠性和准确度,缩短编码时间的同时保证编码可靠性;在保留关键特性的同时,减少了冗余特征的影响,在后续神经网络模型训练的过程中避免过拟合,提高模型的泛化性能;
[0024] (2)提出一种新的快速帧内角度模式选择算法,利用CU块的大小、纹理等特征对CU块进行分类,对于不同类型CU块的RMD候选列表进行不同程度的缩减,从而在保证编码可靠性的前提下进一步减少编码时间;
[0025] (3)训练的分类模型采用轻量级的神经网络(Lightweight Neural Network,LNN),利用神经网络强大的拟合能力来处理分类问题,相比于现有方法采用的例如决策树、随机森林等传统的机器学习模型,神经网络在模型搭建、训练、准确率上都有着明显的优势;此外,LNN以及预训练的模型可以被嵌入到VVC参考编码软件VTM中,无需额外的深度学习库函数。

附图说明

[0026] 图1为本发明实施例提供的针对360度视频的帧内预测编码方法的流程图。
[0027] 图2A、图2B、图2C、图2D、图2E分别为VVC中的QT、BTH、BTV、TTH、TTV帧内块划分方式的示意图。
[0028] 图3为本发明实施例提供的神经网络示意图。
[0029] 图4为本发明实施例提供的帧内角度模式选择的过程图。
[0030] 图5为本发明实施例提供的针对360度视频的帧内预测编码系统的框图。

具体实施方式

[0031] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0032] 在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0033] 图1为本发明实施例提供的针对360度视频的帧内预测编码方法的流程图。参阅图1,结合图2A‑图4,对本实施例中针对360度视频的帧内预测编码方法进行详细说明,方法包括操作S1‑操作S4。
[0034] 操作S1,对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块。
[0035] 本实施例中,考虑到360度视频与传统二维平面视频之间的差异和共性,预先定义编码单元特征、纹理特征和360度视频特征这三类特征。
[0036] 本实施例中,基于预定义的特征制作数据集。由于VVC中有QT、BTH、BTV、TTH和TTV这5种帧内块划分方式,分别如图2A、图2B、图2C、图2D和图2E所示,为此对每一种划分方式构建单独的数据集和网络进行训练。通过对不同视频序列在不同量化参数下采用全帧内(All‑Intra,AI)配置的VVC传统方法编码的过程中进行记录、处理、存储,最后得到数据集的数据。一条数据的存储形式应包含一个或多个特征以及标签,其中特征为预定义特征,标签为0或1,代表当前CU是否进行某一种划分。
[0037] 为了评估特征的有效性,本实施例中,通过皮尔逊相关系数来计算特征与标签之间的相关性以及特征之间的相关性,选择的标准是特征与标签之间的相关性尽可能高,特征之间的相关性尽可能低,基于此为上述三类特征选取具体的合适的特征,实现数据降维,减小算法复杂度。
[0038] 在视频编码中,一帧图像会被分为若干个矩形块,这些单元能被递归地调用,用以进行更加细致的划分,这些块的大小、形状等信息往往能作为重要的特征,该类特征形成为编码单元(Coding Unit,CU)特征。
[0039] 根据本发明的实施例,编码单元特征包括:CU块的宽度、高度、深度、四叉树深度、多叉树深度、块形状比例、量化参数、水平角度模式种类和竖直角度模式种类中的多种。需要说明的是,帧内块划分过程中,此处的CU块为待划分CU块。本实施例中,引入量化参数(Quantization Parameter,QP)作为特征,通常情况下,QP较小时,编码器倾向于将CU继续划分为更小的子CU。
[0040] CU块的宽高比反映了CU块在进行划分时对不同划分的倾向程度,基于此,本实施例中引入了自定义的块形状比例(Block Shape Ration,BSR)用来衡量CU块的形状,BTH和TTH划分方式下,块形状比例BSR为 ;BTV和TTV划分方式下,块形状比例BSR为;QT划分方式下,块形状比例BSR为0.5;其中, 、分别为CU块的宽度、高度。
[0041] 考虑到在VVC中有67种帧内模式,包含DC模式、Planar 模式以及65种角度模式。65种角度模式对应了65种方向,这些角度模式在一定程度上能反映CU块的纹理方向。并且考虑到BT划分和TT划分具有横向纵向两个方向,将65种角度模式分为水平模式和竖直模式,通常情况下,将[2,34]定义为水平模式,将[35,66]定义为竖直模式。基于此,本实施例中,定义水平角度模式种类isHorMode来判断当前角度模式是否为水平模式,若是水平模式则为1,否则为0;以及定义竖直角度模式种类isVerMode来判断当前角度模式是否为竖直模式,若是竖直模式则为1,否则为0。
[0042] VVC中引入的帧内广角预测技术根据CU块的宽高比,自适应地将部分传统角度模式替换成帧内广角预测模式,但是仍然使用原来的角度模式索引。也就是说,对于不同形状的CU块,相同数值的角度模式不再对应相同的角度,进而可能导致在水平角度和竖直角度分类上的不同。因此,本实施例中,根据CU块的形状对上述判断当前角度模式是否为水平模式的方式进行修正,修正规则为:当CU块的宽度小于其高度时,将[2,34]以及定义为水平模式,将 定义为竖直模式;当CU块的宽度等于其高度时,将[2,34]定义为水平模式,将[35,66]定义为竖直模式;当CU块的宽度大于其高度时,将[ ,34]定义为水平模式,将[2, ‑1]以及[35,66]定义为竖直模式;其中, 为水平角度模式阈值,为竖直角度模式阈值,可以根据实际需要进行设定。本实施例中,既可以简单地根据CU长宽的大小设定角度模式,也可以根据宽高比为2、4、8…分别进行更加精细化的设定。
[0043] CU块被划分为不同的大小和形状,是为了更加贴合视频图像中实际内容的纹理,通过对像素进行计算得到的纹理特征具有较好的性能。根据本发明的实施例,纹理特征包括:CU块像素值的方差、归一化均方误差、横向纹理因子、纵向纹理因子、横纵纹理之间的权重和方向复杂度中的多种。
[0044] CU块像素值的方差用来衡量CU块的全局复杂度,CU块像素值的归一化均方误差用来衡量CU块的局部复杂度。考虑到块划分的方向性,还引入了Sobel算子,Sobel算子与CU块像素值的卷积能衡量像素在水平方向和竖直方向上的分布,计算得到横向纹理因子和纵向纹理因子:
[0045]
[0046]
[0047]
[0048]
[0049] 其中, 为横向纹理因子, 为纵向纹理因子, 、分别为CU块的宽度、高度, 为横向Sobel算子, 为纵向Sobel算子, 表示以坐标
的像素为中心的3×3矩阵,为卷积运算。并且为了避免Sobel算子超出块的边界,算子仅在的块上移动,而不是 。
[0050] 为了在横向纹理跟纵向纹理均较高或者较低情况下,衡量整体的纹理更倾向于哪个方向,提出了横纵纹理之间的权重 ,来衡量横向纹理跟纵向纹理之间的权重关系。考虑到在VVC中的二叉树划分和三叉树划分只有横向和纵向两个方向,而CU块像素值的方差、归一化均方误差用于衡量全局复杂度和局部复杂度,包含各个方向的纹理,或许在一定程度上不能较好凸显纹理在特定方向上的复杂度,因此,本实施例中引入方向复杂度来衡量CU块的复杂度,横纵纹理之间的权重 和方向复杂度分别为:
[0051]
[0052]
[0053] 360度视频往往以等角投影(Equi‑Rectangular Projection,ERP)的形式存储,这种投影方式简单直观,线性变换计算使其更易于操作,并且不会有面不连续的缺点,得到了广泛应用。ERP格式视频的特点是在两极区域会有较为明显的拉伸形变,经过统计分析,两极区域的CU块会更大、更平坦,并具有横向的纹理,这一特点有助于跳过一些不太可能的划分模式。基于此,本实施例中,引入CU块中心点在整个画面中的纬度Latitude来衡量CU块的位置。此外,考虑到画面水平拉伸导致的不同纬度的区域采样点不同的情况,还引入了采样因子 来对这一情况进行模拟。根据本发明的实施例,360度视频特征包括CU块的纬度以及各纬度下的采样因子:
[0054]
[0055] 其中, 为 纬度下的采样因子。
[0056] 本实施例中,基于神经网络构建分类器模型,将提取的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的分类器模型中,获得用于判断是否跳过相应划分方式的输出。本实施例中,引入多层感知器来构建轻量级的神经网络(Lightweight Neural Network,LNN),在处理分类问题上实现高准确性的同时保证了模型的轻量化,其示意图如图3所示。参阅图3,该神经网络有三层,最左侧的节点代表输入,每一个节点对应一个预定义特征;最右侧的节点代表输出,根据输出用来判断是否跳过相应的划分方式;中间层的节点数不固定,可以根据网络的复杂度与准确率进行权衡选择。
[0057] 神经网络的输出为0到1之间的浮点数,若要实现是否划分的二分类任务,需要设定输出阈值将(0,1)区间一分为二,输出阈值例如设置为0.5,也可根据实验效果进行微调,目的是能够较好地将神经网络的输出正确地分为两类。
[0058] 对于CU划分来说,除了VVC中的QTMT五种划分外,不进行划分也是一种需要进行遍历的模式,并且不划分的尝试在QTMT之前进行。因此,在进行QTMT之前,能通过CU不划分的尝试提取CU编码过程中的信息并作为特征用于后续的QTMT划分跳过判断。根据本发明的实施例,S1中根据未跳过的划分方式对待划分CU块进行帧内块划分,以及不对待划分CU块进行划分,来生成当前CU块的多种帧内块划分方案。
[0059] 360度视频包括多个CU块,对于任一CU块而言,对该CU块进行帧内块划分的过程中,基于编码单元特征、纹理特征和360度视频特征对应输出与输出阈值之间的大小关系判断是否跳过QT、BTH、BTV、TTH和TTV中的部分划分方式,基于未跳过的划分方式进行划分,对划分得到的子CU块再次进行上述方式的划分,直至最后得到的子CU块的最优划分方式均为不划分,从而为该CU块生成大量的帧内块划分方案。
[0060] 操作S2,为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充。
[0061] 基于长度n的RMD候选列表进行帧内角度模式选择包括:第一轮粗略模式选择(Rough Mode Decision,RMD)过程、第二轮RMD过程、最可能模式(Most Probable Mode,MPM)过程和率失真优化(Rate Distortion Optimization,RDO)过程,如图4所示。具体地,第一轮RMD过程中,基于长度n建立第一轮RMD候选列表;第二轮RMD过程中,对第一轮RMD候选列表中的模式值进行统一加1或统一减1操作,更新得到第二轮RMD候选列表;MPM过程中,根据子CU块左侧CU的模式以及上侧CU的模式,计算得到MPM列表;RDO过程中,将MPM列表并入第二轮RMD候选列表,得到RDO列表;对RDO列表中的模式进行RDO计算,以选择最优模式作为子CU块的帧内角度模式。
[0062] 根据相关实验的结果,在帧内角度模式选择过程中,RDO过程占据了绝大多数时间,大约90%,而MPM列表构建的时间几乎忽略不计,而两次RDM列表的构建时间也很低。因此,本实施例中,通过减少RDO列表长度来缩短角度模式选择时间,从而减少耗时的RDO过程,而MPM列表在实际编码中往往只有1 2个模式加入RMD列表,因此,一个可行的方法是减~少RMD列表长度n。
[0063] 对于纹理简单并且较大的CU块,模式比较单一,并且其与周围块的空间相关度较高,在RMD列表较短的情况下仍能够从MPM列表中获取较优的模式。在这种情况下,将n设置为1并不会造成较大的失真。这类CU块满足以下条件: 、 、 、且 ,此时长度n为1。
[0064] 对于具有横向或者纵向纹理的较大CU块,由于其方向性较为明显,可以适当缩小n,将其设置为2。这类CU块满足以下条件:  ,此时长度n为2。
[0065] 而对于尺寸较小或者纹理方向不够明显的CU块,为了保证模式选择的准确性,n不进行缩小,仍然取3。即,对于不满足上述两类条件的CU块,长度n为3。
[0066] 其中, 、分别为CU块的宽度、高度, 、 分别为CU块像素值的方差、归一化均方误差, 为方向复杂度, 为横纵纹理之间的权重, 、 、 、、 分别为 、、 、 、 对应的阈值, 为水平角度模式阈
值, 为竖直角度模式阈值。需要说明的是,帧内角度模式选择过程中,CU块为各待填充像素的子CU块。以上的快速帧内模式选择算法能够通过修改不同CU块的RMD模式n的值,从而减少RMD列表长度,进而减少耗时的RDO操作。
[0067] 操作S3,分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码。
[0068] 操作S4,重复执行操作S1‑操作S3,直至对360度视频帧的所有CU块进行帧内预测编码。
[0069] 本实施例中提供一种针对360度视频的帧内预测编码方法,基于360度视频的特点及其纹理分布提出了预定义的特征,并通过皮尔逊相关系数验证了这些特征的有效性;利用神经网络强大的拟合能力来处理帧内块划分问题,并结合具体使用场景对网络进行修改,在保证精度的情况下尽可能使网络轻量化,通过跳过不必要的划分方式来精简耗时的RDO过程;提出的快速帧内模式选择算法对于不同的CU设置不同的RDM列表构建参数,通过减少候选模式列表实现耗时的RDO过程的缩减。基于此,本实施例中提出的方法能够大幅节省编码时间。
[0070] 图5为本发明实施例提供的针对360度视频的帧内预测编码系统的框图。参阅图5,该针对360度视频的帧内预测编码系统500包括快速划分模块510、模式选择模块520以及编码模块530。
[0071] 快速划分模块510例如执行操作S1,用于对当前CU块进行帧内块划分时,将待划分CU块的编码单元特征、纹理特征和360度视频特征输入各划分方式对应的神经网络中,并跳过神经网络输出小于相应输出阈值的划分方式,根据未跳过的划分方式对待划分CU块进行帧内块划分,得到当前CU块的多种帧内块划分方案,帧内块划分方式包括QT、BTH、BTV、TTH和TTV,待划分CU块为当前CU块或每次帧内块划分后得到的子CU块。
[0072] 模式选择模块520例如执行操作S2,用于为每一帧内块划分方案中的每一子CU块选择帧内角度模式时,根据子CU块的编码单元特征和纹理特征确定其RMD候选列表的长度n,并基于长度n的RMD候选列表进行帧内角度模式选择,得到其帧内角度模式,以对各帧内块划分方案进行像素填充。
[0073] 编码模块530例如执行操作S3和操作S4,用于分别计算像素填充后各帧内块划分方案与当前CU块之间的RDO损失,并基于最小RDO损失对应的帧内块划分方案对当前CU块进行帧内预测编码;并重复执行快速划分模块510、模式选择模块520和编码模块530,直至对360度视频帧的所有CU块进行帧内预测编码。
[0074] 针对360度视频的帧内预测编码系统500用于执行上述图1‑图4所示实施例中的针对360度视频的帧内预测编码方法。本实施例未尽之细节,请参阅前述图1‑图4所示实施例中的针对360度视频的帧内预测编码方法,此处不再赘述。
[0075] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述图1‑图4所示实施例中的针对360度视频的帧内预测编码方法。
[0076] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。