基于特征交叉的屏幕内容视频帧内模式快速决策

文档序号:35207780发布日期:2023-08-24 01:17阅读:33来源:国知局
基于特征交叉的屏幕内容视频帧内模式快速决策

本发明涉及图像与视频处理领域,更具体而言,涉及在屏幕内容编码(scc)中基于特征交叉的屏幕内容视频帧内模式快速决策的方法、装置和计算机程序产品。


背景技术:

1、数字视频功能可以结合到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(pda)、膝上型电脑或台式计算机、平板电脑、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏机、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。

2、数字视频设备实施视频编码(coding)技术,诸如由mpeg-2、mpeg-4、itu-t h.263、itu-th.264/mpeg-4,第10部分,高级视频编码(avc)、高效视频编码(hevc)标准、itu-th.265/高效视频编码(hevc)、多功能视频编码(versatile video coding)vvc(h.266)、以及此类标准的扩展定义的标准中描述的那些技术。通过实施这样的视频编码技术,视频设备可以更有效地发送、接收、编码、解码和/或存储数字视频信息。

3、2010年4月,两大国际视频编码标准组织vceg和mpeg成立视频压缩联合小组jct-vc(joint collaborative team on video coding),一同开发高效视频编码标准。

4、在2013年,jct-vc完成了对hevc(high efficiency video coding)标准(也称为h.265)开发,并且随后陆续发布了多个版本。

5、hevc提出了全新的语法单元:编码单元(cu)是进行预测、变换、量化和熵编码的基本单元,预测单元(pu)是进行帧内帧间预测的基本单元,变换单元(tu)是进行变换和量化的基本单元。另外,每个cu定义了共享相同预测模式(帧内或帧间)的区域。

6、如图1所示,在hevc中,可以进行帧内预测模式和帧间预测模式的切换。在帧内预测模式和帧间预测模式中,hevc都采用编码树单元(ctu)的编码结构,ctu是hevc编解码的基本处理单元。ctu由1个亮度ctb(编码树块,coding tree block)、2个色度ctb和相应的语法元素组成。图2显示了在一个lcu(最大编码单元)编码后的ctu结构。在hevc中,lcu可以只包含一个编码单元(cu),也可以使用ctu四叉树结构划分出为不同大小的cu。

7、hevc中有四种大小cu,大小分别为:64x64、32x32、16x16和8x8。cu块越小,其在ctu树中位置越深。当cu为64x64、32x32和16x16时称为2nx2n模式(表示可以划分为更小的cu),当cu为8x8时称为nxn模式(表示不可以进行进一步划分)。对于帧内预测,cu被分成两个partmode(2nx2n和nxn),这取决于它是否可以被分成更小的cu。尺寸为64x64、32x32和16x16的cu属于2n×2n,尺寸为8×8的cu属于n×n。

8、在hevc中,pu进行帧内帧间预测的基本单元,pu的划分是以cu为基础的,具有五种规则大小64x64、32x32、16x16、8x8和4x4。更具体地,pu尺寸基于partmode:对于2n×2n的partmode pu尺寸与cu相同,对于n×n的partmode cu可以被划分为四个4×4子pu。对于2n*2n的cu模式,帧内预测pu的可选模式包括2n*2n和n*n,帧间预测pu的可选模式有8种,包括4种对称模式(2n*2n,n*2n,2n*n,n*n)和4种非对称模式(2n*nu,2n*nd,nl*2n,nr*2n),其中,2n*nu和2n*nd分别以上下1:3、3:1的比例划分,nl*2n和nr*2n分别以左右1:3、3:1的比例划分。

9、在hevc中,仍然继续使用h.264/avc的拉格朗日率失真优化(rdo)进行模式选择,为每一个帧内模式计算其rdo:

10、j=d+λr (1)

11、其中,j为拉格朗日代价(亦即rd-cost),d表示当前帧内模式的失真,r表示编码当前预测模式下所有信息所需的比特数,λ为拉格朗日因子。其中d通常使用绝对哈达玛变换差之和(satd)来实现。

12、处理一帧视频图像需要首先将其划分成多个lcu(64x64),然后依次编码每个lcu。每个lcu依次递归划分,其通过计算当前深度的rd-cost判定是否继续划分。一个lcu最小可划分至8x8大小的单元,如图2所示。编码器通过比较深度的rd-cost值判定是否继续划分,如果当前深度内的4个子cu的编码代价总和大于当前cu,则不继续划分;反之则继续划分,直至划分结束。

13、本领域技术人员容易理解,由于ctu是对lcu进行cu划分的树状编码结构,ctu中的cu划分方式是以lcu开始的,因此在本领域中这两个名词经常可交换地使用。

14、在帧内预测中,每个pu使用总共35种预测模式。使用粗略模式决策(rmd),我们可以获得64x64、32x32和16x16块的三种候选模式以及8x8和4x4块的八种候选模式。通过合并来自相邻块的最可能模式(mpm)来获得每个pu大小的最佳候选列表。然后,通过rdo来选择当前pu的最佳帧内预测模式。当完成当前cu中包括的所有pu的帧内预测时,完成当前cu的帧内预测。通过当前cu的rd-cost与当前cu及其4个子cu的四个子cu的总rd-cost之间的比较来选择具有较小rd-cost的次优cu内部预测完成。当完成所有cu分区时,完成当前ctu帧内预测。对于hevc,当对lcu进行编码时,应当执行85个cu(一个64×64cu,四个32×32cu,十六个16×16cu和六十四个8×8cu)的帧内预测。当cu被编码时,应当执行一个pu或四个子pu的帧内预测。大量cu和pu导致帧内预测的高复杂性。

15、为了开发超越hevc的新技术,2015年成立的一个新的组织,联合视频探索组(joint video exploration term),并在2018年更名为联合视频专家组(jointvideoexperts term,jvet)。在hevc的基础上,多功能视频编码(versatile video coding)vvc(h.266)的研究由jvet组织于2018年4月10美国圣地亚哥会议上提出,在h.265/hevc基础上改进的新一代视频编码技术,其主要目标是改进现有hevc,提供更高的压缩性能,同时会针对新兴应用(360°全景视频和高动态范围(hdr)视频)进行优化。vvc的第一版在2020年8月完成,在itu-t网站上以h.266标准正式发布。

16、有关hevc和vvc的相关文件和测试平台可以从https://jvet.hhi.fraunhofer.de/获得,并且vvc的相关提案可以从http://phenix.it-sudparis.eu/jvet/获得。

17、vvc依然沿用h.264就开始采用的混合编码框架,其vtm编码器的一般性方框图如图1所示。帧间和帧内预测编码:消除时间域和空间域的相关性。变换编码:对残差进行变换编码以消除空间相关性。熵编码:消除统计上的冗余度。vvc将在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率。

18、虽然vvc和hevc中都采用树结构来进行ctu划分,但是在vvc采用了与hevc不同的树结构ctu划分方式。并且,与hevc相比,vvc中的ctu的(亮度块)最大大小达到了128x128(尽管亮度变换块的最大大小为64x64)。

19、与hevc类似,vvc将图片划分为子图片(subpicture)、切片(slice)、和图块(tile)。一个图片被划分为一个或多个图块行和一个或多个图块列。图块是覆盖图片的矩形区域的ctu序列。切片由整数个完整图块或在图片的图块内的整数个连续的完整ctu行。支持两种切片模式,即光栅扫描切片模式和矩形切片模式。在光栅扫描切片模式中,切片包含图片的图块光栅扫描中的完整图块的序列。在矩形切片模式中,切片包含共同形成图片的矩形区域的多个完整图块,或者一个图块的、共同形成图片中的矩形区域的多个连续完整ctu行。矩形切片内的图块在对应于该图块的矩形区域内以图块光栅扫描顺序进行扫描。子图片包含一个或多个切片,这些切片共同覆盖图片的矩形区域。

20、如上所述地,在hevc中,使用四叉树结构将ctu划分为cu(即编码树)。关于帧内编码和帧间编码的决策是在叶节点cu处做出的。换言之,一个叶节点cu定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。然后,根据pu划分类型,每个叶cu可以进一步划分为1、2或4个预测单元pu。在每个pu内,使用相同的预测过程,并将相关信息以pu为基础发送到解码器段。在基于pu的预测过程获得了残差块后,可以根据类似于cu的编码树的另一类似四叉树结构将叶cu划分为tu。

21、而在vvc中,则采用了具有嵌套的多类型树的四叉树分割结构(qtmt)来划分ctu,其中嵌套的多类型树使用二叉树和三叉树。作为一个示例,这种嵌套的多类型树的一个实例是四叉树-二叉树(qtbt)结构。qtbt结构包括两个级别:根据四叉树划分而划分的第一级,以及根据二叉树划分而划分的第二级。qtbt结构的根节点对应于ctu。二叉树的叶节点对应于编码单元(cu),cu定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。在vvc中删除了cu、pu和tu的不同形式。

22、在vvc中,一个ctu首先通过四叉树进行划分,然后再通过多类型树进行进一步划分。如图3所示,vvc规定了4种多类型树划分模式:水平二叉树划分(split_bt_hor)、垂直二叉树划分(split_bt_ver)、水平三叉树划分(split_tt_ver)、垂直三叉树划分(split_tt_hor)。多类型树的叶节点被称为编码单元(cu),并且除非cu对于最大变换长度而言过大,否则该cu分割就会用于预测和变换处理而不进行进一步分割。这就意味着在大多数情况下,cu、pu和tu在该具有嵌套的多类型树的四叉树分割结构是具有相同的块大小的。其中的例外是所支持的最大变换长度小于cu的颜色分量的宽度或高度。图4示出了vvc的具有嵌套的多类型树的四叉树分割结构的ctu到cu的分割的一个具体实施例,其中,粗体框表示四叉树分割,剩余的边表示多类型树分割。vvc的这种具有嵌套的多类型树的四叉树分割结构提供了包括cu的内容自适应编码树结构。

23、cu的大小可以与ctu一样大,也可以以亮度样本为单位小到4x4。对于4:2:0色度格式的情况,最大色度编码块大小为64x64,最小大小色度大小由16个色度样本组成。在vvc中,支持的最大亮度变换大小为64x 64,支持的最高色度变换大小为32x32。当编码块的宽度或高度大于最大变换宽度或高度时,编码块在水平和/或垂直方向上自动分割,以满足该方向上的变换大小限制。

24、以下参数由具有嵌套多类型树编码树方案的四叉树的序列参数集(sps)语法元素定义和指定:

25、–ctu大小:四元树的根节点大小

26、–minqtsize:允许的最小四叉树叶节点大小

27、–maxbtsize:允许的最大二叉树根节点大小

28、–maxttsize:允许的最大三叉树根节点大小

29、–maxmttdepth:从四叉树叶划分多类型树时允许的最大层次深度

30、–minbtsize:允许的最小二叉树叶节点大小

31、–minttsize:允许的最小三叉树叶节点大小

32、在具有嵌套多类型树编码树结构的四叉树的一个示例中,ctu大小被设置为128x128亮度样本,具有两个对应的64x64块4:2:0色度样本,minqtsize被设置为16x16,maxbtsize被设置成128x128并且maxttsize被设置成64x64,minbtsize和minttsize(对于宽度和高度)被设置为4x4,并且maxmttdepth被设置成4。将四叉树划分首先应用于ctu以生成四叉树叶节点。四叉树叶节点的大小可以从16x16(即minqtsize)到128x128(即ctu大小)。如果叶四叉树节点为128x128,则不会被二叉树进一步划分,因为其大小超过了maxbtsize和maxttsize(即64x64)。否则,叶四叉树节点可以通过多类型树进一步划分。因此,四叉树叶节点也是多类型树的根节点,并且它具有多类型树深度(mttdepth)为0。当多类型树深度达到maxmttdepth(即4)时,不考虑进一步划分。当多类型树节点的宽度等于minbtsize且小于或等于2*minttsize时,不考虑进一步的水平划分。类似地,当多类型树节点的高度等于minbtsize且小于或等于2*minttsize时,不考虑进一步的垂直划分。

33、在vvc中,编码树方案支持亮度分量和色度分量具有单独的块树结构的能力。对于p和b切片,一个ctu中的亮度和色度ctb必须共享相同的编码树结构。然而,对于i切片,亮度和色度可以具有单独的块树结构。当应用单独的块树模式时,亮度ctb通过一个编码树结构被划分为cu,色度ctb通过另一编码树结构而被划分为色度cu。这意味着i切片中的cu可以由亮度分量的编码块或两个色度分量的编码块组成,并且p或b切片中的cu总是由所有三个颜色分量的编码块组成,除非视频是单色的。

34、在进行了ctu划分后,对表示预测和/或残差信息以及其他信息的cu的视频数据进行编码。预测信息指示将如何预测cu以便形成cu的预测块。残差信息通常表示编码之前的cu的样本与预测块的样本之间的逐样本差。

35、为了预测cu,通常可通过帧间预测或帧内预测来形成cu的预测块。帧间预测通常是指根据先前译码的图片的数据来预测cu,而帧内预测通常是指根据同一图片的先前译码的数据来预测cu。为了执行帧间预测,可使用一个或多个运动向量来生成预测块。通常可以例如按照cu与参考块之间的差来执行运动搜索,以识别与cu紧密匹配的参考块。可使用绝对差之和(sad)、平方差之和(ssd)、平均绝对差(mad)、均方差(msd)或其他此类差值计算来计算差值度量,以确定参考块是否与当前cu紧密匹配。在一些示例中,可使用单向预测或双向预测来预测当前cu。

36、vvc还提供了仿射运动补偿模式,可以将其视为帧间预测模式。在仿射运动补偿模式中,可以确定表示非平移运动(诸如,放大或缩小、旋转、透视运动或其他不规则运动类型)的两个或更多个运动向量。

37、为了执行帧内预测,可以选择用于生成预测块的帧内预测模式。vvc提供了67种帧内预测模式(如图5所示),包括各种方向模式,以及平面(planar)模式0和dc(直流)模式1。通常,选择帧内预测模式,该帧内预测模式描述到当前块(例如,cu的块)的相邻样本,其中从所述相邻样本预测当前块的样本。假设以光栅扫描顺序(从左到右、从上到下的译码顺序或从右到左、从上到下的译码顺序)对ctu和cu进行译码,则这些样本通常可以在与当前块相同的图片中当前块的上方、上方及左侧或左侧。

38、对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示使用各种可用帧间预测模式中的哪一种帧间预测模式的数据以及用于对应模式的运动信息进行编码。对于单向或双向帧间预测,例如,可以使用高级运动向量预测(amvp)或合并模式来对运动向量进行编码。可以使用类似模式来编码用于仿射运动补偿模式的运动向量。

39、在诸如块的帧内预测或帧间预测之类的预测之后,可以计算块的残差数据。残差数据(诸如残差块)表示该块与使用相应预测模式形成的该块的预测块之间的逐样本差。可将一个或多个变换应用于残差块,以产生在变换域而非样本域中的经变换的数据。例如,可将离散余弦变换(dct)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在一次变换之后应用二次变换,例如,与模式相关的不可分离的二次变换(mdnsst)、与信号相关的变换、karhunen-loeve变换(klt)等。在应用一个或多个变换之后产生变换系数。

40、如上所述,在用以产生变换系数的任何变换之后,可以根据量化系数(qp),执行对变换系数的量化。量化通常是指对变换系数进行量化以可能减少用于表示系数的数据量,从而提供进一步压缩的过程。通过执行量化过程,可以减小与一些或所有系数相关联的位深度。例如,可以在量化期间将n-位值舍入为m-位值,其中n大于m。在一些示例中,为了执行量化,可以执行对待量化的值的按位右移。量化系数(qp)通常是采用语法元素的行驶包含在头信息中的。

41、在量化之后,可以扫描变换系数,从而从包括经量化的变换系数的二维矩阵产生一维向量。可以将扫描设计为将较高能量(并且因此较低频率)的系数放置在向量的前面,并将较低能量(并且因此较高频率)的变换系数放置在向量的后面。在一些示例中,可以利用预定义的扫描顺序来扫描经量化的变换系数以产生串行化的向量,然后对向量的经量化的变换系数进行熵编码。在其他示例中,可以执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,可以例如根据上下文自适应二进制算术译码(cabac)对一维向量进行熵编码还可对用于语法元素的值进行熵编码,语法元素描述与经编码视频数据相关联的元数据,以供视频解码器300在解码视频数据时使用。

42、在编码过程中,可以例如在图片报头、块报头、切片报头中,生成语法数据,诸如基于块的语法数据、基于图片的语法数据和基于序列的语法数据,或其他语法数据,诸如序列参数集(sps)、图片参数集(pps)或视频参数集(vps)。视频解码器可类似地解码此类语法数据以确定如何解码对应的视频数据。这些信息都可以被称为“头信息”。

43、以此方式,可以生成包括经编码视频数据(例如,描述从图片到块(例如,cu)的划分的语法元素以及块的预测和/或残差信息)的位流。

44、屏幕内容编码(scc)是vvc的一个重要部分。由计算机产生的屏幕内容视频(screen content video,scv)具有区别于由摄像头拍摄的自然场景视频的特殊分布特性。在vvc中提供了多种屏幕编码工具,包括:帧内块复制(intrablockcopy,ibc)、块差分脉冲编码调制(block differential pulse codedmodulation,bdpcm)、用于变换跳过模式的残差编码(residual coding for transform skip mode)、调色板模式(palette mode,plt)和自适应颜色变换(adaptive colortransform,act)。

45、在vvc标准下的屏幕内容视频帧内预测中,每一个64x64大小的cu及其子cu进行完整的帧内预测需要遍历传统帧内预测(intra)模式(以下简称intra模式)、ibc_amvp模式、ibc_merge模式、plt模式等候选模式,从中选择代价值最小的预测模式作为当前cu的最佳预测模式。遍历这些编码模式需要耗费大量的编码时间。若能提前判断当前cu的最佳编码模式,从而跳过遍历那些不必要的模式,则有利于加快屏幕内容视频的帧内编码速度。

46、为了加快屏幕内容视频的帧内模式快速决策过程,需要实现ibc_amvp和intra模式的提前判决。ibc_amvp模式是针对屏幕内容视频优化的工具,而intra模式是针对自然内容视频优化的工具,因此,这里的关键是将编码单元按照屏幕内容cu和自然内容cu进行分类。在基于特征的屏幕内容与自然内容分类算法中,分类特征的设计成为影响算法性能的关键。然而,有时很难设计出具有良好分辨能力的特征。


技术实现思路

1、本发明提出了用于在多功能视频编码(vvc)中的方法、装置、编解码器以及处理器可读存储介质。更具体而言,本发明涉及用于在屏幕内容编码(scc)中基于特征交叉的屏幕内容视频帧内模式快速决策。

2、根据本发明的一个方面,为了加快屏幕内容视频的帧内模式快速决策过程,需要实现ibc_amvp和intra模式的提前判决。ibc_amvp模式是针对屏幕内容视频优化的工具,而intra模式是针对自然内容视频优化的工具,因此,这里的关键是将编码单元按照屏幕内容cu和自然内容cu进行分类。在基于特征的屏幕内容与自然内容分类算法中,分类特征的设计成为影响算法性能的关键。然而,有时很难设计出具有良好分辨能力的特征。本章通过引入特征交叉思想,利用特征间的交叉作用来构造出新的具有更强判别力的特征,提升算法对编码单元的分类能力,在减少帧内模式决策时间的同时保持较低的编码损失。

3、研究表明,通过特征交叉操作可以获得有判别力的新特征。特征交叉通常通过特征向量间的内积,或阿达玛积,或笛卡尔积来实现。然而,在进行特征交叉时存在两个关键问题。首先,特征交叉会产生大量的新特征,这些新特征中既包含判别力强的特征,也包含判别能力不佳的特征。因此从新特征中选择判别力强的特征是十分关键的。其次,为了实现帧内模式的快速决策,应该选择具有低计算复杂度的特征交叉模型。

4、自适应因子分解网络(adaptive factorization network,afn)是特征交叉领域的网络模型,具有无需指定交叉阶数、自动筛选有判别力的交叉特征、轻量级等特点,满足本文所论述的上述基本要求。因此,本文中选择afn网络作为特征交叉的基本模型,设计屏幕内容视频帧内模式决策快速算法。为了进一步提高网络对屏幕内容cu和自然内容cu的判别能力,本文中将对afn网络进行改进。

5、根据一个方面,一种在屏幕内容编码(scc)中基于特征交叉的屏幕内容视频帧内模式快速决策的方法,包括:

6、针对当前cu,确定当前cu的信息熵、平均灰度水平差值、背景色百分比、高梯度像素数作为与当前cu相对应的数值型特征;

7、针对当前cu,确定当前cu的相邻cu属性、当前cu的深度属性作为与当前cu相对应的类别型特征;

8、将与当前cu相对应的数值型特征和类别型特征输入到自适应因子分解网络(afn)中以便由afn网络判断当前cu是屏幕内容cu还是自然内容cu,其中,所述afn中的对数变换层之上进一步包括注意力网络层和尺度变换层。

9、在进一步的方面中,其中,所述注意力网络层用于对所述对数变换层输出的交叉特征进行评价。

10、在进一步的方面中,其中,所述注意力网络由多层感知机构成。

11、在进一步的方面中,其中,在对所述afn进行训练过程中,所述注意力网络层根据所述对数变换层中的指数变换的输出对网络性能影响程度的不同,从而对不同的指数变换输出分配不同的权重值。

12、在进一步的方面中,其中,所述尺度变换层用于对所述注意力网络层的输出进行尺度变换,以减少隐藏层的参数数量。

13、在进一步的方面中,其中,所述与当前cu相对应的数值型特征与所述尺度变换层的输出一起作为隐藏层的输入。

14、在进一步的方面中,所述方法还包括:

15、响应于确定当前cu是屏幕内容cu,不对当前cu进行除了planar和dc模式之外的角度预测模式判断;或者

16、响应于确定当前cu是自然内容cu,不对当前cu进行帧内块复制(ibc)模式和调色板(plt)模式的模式判断。

17、在进一步的方面中,其中,在所述afn中,将最佳预测模式为intra的cu的特征向量的标签定为0,将最佳预测模式为ibc_amvp的cu的特征向量的标签定为1。

18、在另一方面,一种自适应因子分解网络(afn),包括:

19、用于接收输入的嵌入层;

20、在所述嵌入层之上的包括对数变换、对数神经元的指数变换的对数变换层;

21、接收所述对数变换层的输出并对其进行加权的注意力网络;

22、用于对所述注意力网络的输出进行尺度变换的尺度变换层;

23、在所述尺度变换层之上的隐藏层;以及

24、用于对所述输入进行线性变换的线性变换层。

25、在又另一方面,一种硬件视频编码器,所述编码器被配置为通过如下操作来在屏幕内容编码(scc)中针对cu选择预测模式:

26、针对当前cu,确定当前cu的信息熵、平均灰度水平差值、背景色百分比、高梯度像素数作为与当前cu相对应的数值型特征;

27、针对当前cu,确定当前cu的相邻cu属性、当前cu的深度属性作为与当前cu相对应的类别型特征;

28、将与当前cu相对应的数值型特征和类别型特征输入到自适应因子分解网络(afn)中以便由afn网络判断当前cu是屏幕内容cu还是自然内容cu,其中,所述afn中的对数变换层之上进一步包括注意力网络层和尺度变换层。

29、根据另一方面,一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行上述方法的代码。

30、根据另一方面,提出了一种对使用所述的方法或所述的编码器进行编码的视频流进行解码的解码器。

31、根据另一方面,提出了一种用于执行所述的方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。

32、根据另一方面,提出了一种可用于视频编解码的设备,该设备包括:

33、一个或多个处理器;

34、存储器,其中存储有计算机代码,所述计算机代码当由所述处理器执行时,实现所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1