在屏幕内容编码(SCC)中针对CU选择预测模式
未命名
08-20
阅读:127
评论:0

技术领域:
:1.本发明涉及图像与视频处理领域,更具体而言,涉及在屏幕内容编码(scc)中针对cu选择预测模式的方法、装置和计算机程序产品。
背景技术:
::2.数字视频功能可以结合到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(pda)、膝上型电脑或台式计算机、平板电脑、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏机、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。3.数字视频设备实施视频编码(coding)技术,诸如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4,第10部分,高级视频编码(avc)、高效视频编码(hevc)标准、itu-th.265/高效视频编码(hevc)、多功能视频编码(versatilevideocoding)vvc(h.266)、以及此类标准的扩展定义的标准中描述的那些技术。通过实施这样的视频编码技术,视频设备可以更有效地发送、接收、编码、解码和/或存储数字视频信息。4.2010年4月,两大国际视频编码标准组织vceg和mpeg成立视频压缩联合小组jct-vc(jointcollaborativeteamonvideocoding),一同开发高效视频编码标准。5.在2013年,jct-vc完成了对hevc(highefficiencyvideocoding)标准(也称为h.265)开发,并且随后陆续发布了多个版本。6.hevc提出了全新的语法单元:编码单元(cu)是进行预测、变换、量化和熵编码的基本单元,预测单元(pu)是进行帧内帧间预测的基本单元,变换单元(tu)是进行变换和量化的基本单元。另外,每个cu定义了共享相同预测模式(帧内或帧间)的区域。7.如图1所示,在hevc中,可以进行帧内预测模式和帧间预测模式的切换。在帧内预测模式和帧间预测模式中,hevc都采用编码树单元(ctu)的编码结构,ctu是hevc编解码的基本处理单元。ctu由1个亮度ctb(编码树块,codingtreeblock)、2个色度ctb和相应的语法元素组成。图2显示了在一个lcu(最大编码单元)编码后的ctu结构。在hevc中,lcu可以只包含一个编码单元(cu),也可以使用ctu四叉树结构划分出为不同大小的cu。8.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。9.在hevc中,pu进行帧内帧间预测的基本单元,pu的划分是以cu为基础的,具有五种规则大小64x64、32x32、16x16、8x8和4x4。更具体地,pu尺寸基于partmode:对于2n×2n的partmodepu尺寸与cu相同,对于n×n的partmodecu可以被划分为四个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的比例划分。10.在hevc中,仍然继续使用h.264/avc的拉格朗日率失真优化(rdo)进行模式选择,为每一个帧内模式计算其rdo:11.j=d+λrꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)12.其中,j为拉格朗日代价(亦即rd-cost),d表示当前帧内模式的失真,r表示编码当前预测模式下所有信息所需的比特数,λ为拉格朗日因子。其中d通常使用绝对哈达玛变换差之和(satd)来实现。13.处理一帧视频图像需要首先将其划分成多个lcu(64x64),然后依次编码每个lcu。每个lcu依次递归划分,其通过计算当前深度的rd-cost判定是否继续划分。一个lcu最小可划分至8x8大小的单元,如图2所示。编码器通过比较深度的rd-cost值判定是否继续划分,如果当前深度内的4个子cu的编码代价总和大于当前cu,则不继续划分;反之则继续划分,直至划分结束。14.本领域技术人员容易理解,由于ctu是对lcu进行cu划分的树状编码结构,ctu中的cu划分方式是以lcu开始的,因此在本领域中这两个名词经常可交换地使用。15.在帧内预测中,每个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导致帧内预测的高复杂性。16.为了开发超越hevc的新技术,2015年成立的一个新的组织,联合视频探索组(jointvideoexplorationterm),并在2018年更名为联合视频专家组(jointvideoexpertsterm,jvet)。在hevc的基础上,多功能视频编码(versatilevideocoding)vvc(h.266)的研究由jvet组织于2018年4月10美国圣地亚哥会议上提出,在h.265/hevc基础上改进的新一代视频编码技术,其主要目标是改进现有hevc,提供更高的压缩性能,同时会针对新兴应用(360°全景视频和高动态范围(hdr)视频)进行优化。vvc的第一版在2020年8月完成,在itu-t网站上以h.266标准正式发布。17.有关hevc和vvc的相关文件和测试平台可以从https://jvet.hhi.fraunhofer.de/获得,并且vvc的相关提案可以从http://phenix.it-sudparis.eu/jvet/获得。18.vvc依然沿用h.264就开始采用的混合编码框架,其vtm编码器的一般性方框图如图1所示。帧间和帧内预测编码:消除时间域和空间域的相关性。变换编码:对残差进行变换编码以消除空间相关性。熵编码:消除统计上的冗余度。vvc将在混合编码框架内,着力研究新的编码工具或技术,提高视频压缩效率。19.虽然vvc和hevc中都采用树结构来进行ctu划分,但是在vvc采用了与hevc不同的树结构ctu划分方式。并且,与hevc相比,vvc中的ctu的(亮度块)最大大小达到了128x128(尽管亮度变换块的最大大小为64x64)。20.与hevc类似,vvc将图片划分为子图片(subpicture)、切片(slice)、和图块(tile)。一个图片被划分为一个或多个图块行和一个或多个图块列。图块是覆盖图片的矩形区域的ctu序列。切片由整数个完整图块或在图片的图块内的整数个连续的完整ctu行。支持两种切片模式,即光栅扫描切片模式和矩形切片模式。在光栅扫描切片模式中,切片包含图片的图块光栅扫描中的完整图块的序列。在矩形切片模式中,切片包含共同形成图片的矩形区域的多个完整图块,或者一个图块的、共同形成图片中的矩形区域的多个连续完整ctu行。矩形切片内的图块在对应于该图块的矩形区域内以图块光栅扫描顺序进行扫描。子图片包含一个或多个切片,这些切片共同覆盖图片的矩形区域。21.如上所述地,在hevc中,使用四叉树结构将ctu划分为cu(即编码树)。关于帧内编码和帧间编码的决策是在叶节点cu处做出的。换言之,一个叶节点cu定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。然后,根据pu划分类型,每个叶cu可以进一步划分为1、2或4个预测单元pu。在每个pu内,使用相同的预测过程,并将相关信息以pu为基础发送到解码器段。在基于pu的预测过程获得了残差块后,可以根据类似于cu的编码树的另一类似四叉树结构将叶cu划分为tu。22.而在vvc中,则采用了具有嵌套的多类型树的四叉树分割结构(qtmt)来划分ctu,其中嵌套的多类型树使用二叉树和三叉树。作为一个示例,这种嵌套的多类型树的一个实例是四叉树-二叉树(qtbt)结构。qtbt结构包括两个级别:根据四叉树划分而划分的第一级,以及根据二叉树划分而划分的第二级。qtbt结构的根节点对应于ctu。二叉树的叶节点对应于编码单元(cu),cu定义了共享相同预测模式(例如帧内预测或帧间预测)的一个区域。在vvc中删除了cu、pu和tu的不同形式。23.在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的内容自适应编码树结构。24.cu的大小可以与ctu一样大,也可以以亮度样本为单位小到4x4。对于4:2:0色度格式的情况,最大色度编码块大小为64x64,最小大小色度大小由16个色度样本组成。在vvc中,支持的最大亮度变换大小为64x64,支持的最高色度变换大小为32x32。当编码块的宽度或高度大于最大变换宽度或高度时,编码块在水平和/或垂直方向上自动分割,以满足该方向上的变换大小限制。25.以下参数由具有嵌套多类型树编码树方案的四叉树的序列参数集(sps)语法元素定义和指定:26.–ctu大小:四元树的根节点大小27.–minqtsize:允许的最小四叉树叶节点大小28.–maxbtsize:允许的最大二叉树根节点大小29.–maxttsize:允许的最大三叉树根节点大小30.–maxmttdepth:从四叉树叶划分多类型树时允许的最大层次深度31.–minbtsize:允许的最小二叉树叶节点大小32.–minttsize:允许的最小三叉树叶节点大小33.在具有嵌套多类型树编码树结构的四叉树的一个示例中,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时,不考虑进一步的垂直划分。34.在vvc中,编码树方案支持亮度分量和色度分量具有单独的块树结构的能力。对于p和b切片,一个ctu中的亮度和色度ctb必须共享相同的编码树结构。然而,对于i切片,亮度和色度可以具有单独的块树结构。当应用单独的块树模式时,亮度ctb通过一个编码树结构被划分为cu,色度ctb通过另一编码树结构而被划分为色度cu。这意味着i切片中的cu可以由亮度分量的编码块或两个色度分量的编码块组成,并且p或b切片中的cu总是由所有三个颜色分量的编码块组成,除非视频是单色的。35.在进行了ctu划分后,对表示预测和/或残差信息以及其他信息的cu的视频数据进行编码。预测信息指示将如何预测cu以便形成cu的预测块。残差信息通常表示编码之前的cu的样本与预测块的样本之间的逐样本差。36.为了预测cu,通常可通过帧间预测或帧内预测来形成cu的预测块。帧间预测通常是指根据先前译码的图片的数据来预测cu,而帧内预测通常是指根据同一图片的先前译码的数据来预测cu。为了执行帧间预测,可使用一个或多个运动向量来生成预测块。通常可以例如按照cu与参考块之间的差来执行运动搜索,以识别与cu紧密匹配的参考块。可使用绝对差之和(sad)、平方差之和(ssd)、平均绝对差(mad)、均方差(msd)或其他此类差值计算来计算差值度量,以确定参考块是否与当前cu紧密匹配。在一些示例中,可使用单向预测或双向预测来预测当前cu。37.vvc还提供了仿射运动补偿模式,可以将其视为帧间预测模式。在仿射运动补偿模式中,可以确定表示非平移运动(诸如,放大或缩小、旋转、透视运动或其他不规则运动类型)的两个或更多个运动向量。38.为了执行帧内预测,可以选择用于生成预测块的帧内预测模式。vvc提供了67种帧内预测模式(如图6所示),包括各种方向模式,以及平面(planar)模式0和dc(直流)模式1。通常,选择帧内预测模式,该帧内预测模式描述到当前块(例如,cu的块)的相邻样本,其中从所述相邻样本预测当前块的样本。假设以光栅扫描顺序(从左到右、从上到下的译码顺序或从右到左、从上到下的译码顺序)对ctu和cu进行译码,则这些样本通常可以在与当前块相同的图片中当前块的上方、上方及左侧或左侧。39.对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示使用各种可用帧间预测模式中的哪一种帧间预测模式的数据以及用于对应模式的运动信息进行编码。对于单向或双向帧间预测,例如,可以使用高级运动向量预测(amvp)或合并模式来对运动向量进行编码。可以使用类似模式来编码用于仿射运动补偿模式的运动向量。40.在诸如块的帧内预测或帧间预测之类的预测之后,可以计算块的残差数据。残差数据(诸如残差块)表示该块与使用相应预测模式形成的该块的预测块之间的逐样本差。可将一个或多个变换应用于残差块,以产生在变换域而非样本域中的经变换的数据。例如,可将离散余弦变换(dct)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在一次变换之后应用二次变换,例如,与模式相关的不可分离的二次变换(mdnsst)、与信号相关的变换、karhunen-loeve变换(klt)等。在应用一个或多个变换之后产生变换系数。41.如上所述,在用以产生变换系数的任何变换之后,可以根据量化系数(qp),执行对变换系数的量化。量化通常是指对变换系数进行量化以可能减少用于表示系数的数据量,从而提供进一步压缩的过程。通过执行量化过程,可以减小与一些或所有系数相关联的位深度。例如,可以在量化期间将n-位值舍入为m-位值,其中n大于m。在一些示例中,为了执行量化,可以执行对待量化的值的按位右移。量化系数(qp)通常是采用语法元素的行驶包含在头信息中的。42.在量化之后,可以扫描变换系数,从而从包括经量化的变换系数的二维矩阵产生一维向量。可以将扫描设计为将较高能量(并且因此较低频率)的系数放置在向量的前面,并将较低能量(并且因此较高频率)的变换系数放置在向量的后面。在一些示例中,可以利用预定义的扫描顺序来扫描经量化的变换系数以产生串行化的向量,然后对向量的经量化的变换系数进行熵编码。在其他示例中,可以执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,可以例如根据上下文自适应二进制算术译码(cabac)对一维向量进行熵编码还可对用于语法元素的值进行熵编码,语法元素描述与经编码视频数据相关联的元数据,以供视频解码器300在解码视频数据时使用。43.在编码过程中,可以例如在图片报头、块报头、切片报头中,生成语法数据,诸如基于块的语法数据、基于图片的语法数据和基于序列的语法数据,或其他语法数据,诸如序列参数集(sps)、图片参数集(pps)或视频参数集(vps)。视频解码器可类似地解码此类语法数据以确定如何解码对应的视频数据。这些信息都可以被称为“头信息”。44.以此方式,可以生成包括经编码视频数据(例如,描述从图片到块(例如,cu)的划分的语法元素以及块的预测和/或残差信息)的位流。45.屏幕内容编码(scc)是vvc的一个重要部分。由计算机产生的屏幕内容视频(screencontentvideo,scv)具有区别于由摄像头拍摄的自然场景视频的特殊分布特性。在vvc中提供了多种屏幕编码工具,包括:帧内块复制(intrablockcopy,ibc)、块差分脉冲编码调制(blockdifferentialpulsecodedmodulation,bdpcm)、用于变换跳过模式的残差编码(residualcodingfortransformskipmode)、调色板模式(palettemode,plt)和自适应颜色变换(adaptivecolortransform,act)。在屏幕内容视频编码的这些新增技术中,ibc模式和plt模式是导致编码单元编码复杂度上升的关键技术。具体而言,屏幕内容视频在进行帧内预测模式选择的时候,每个cu需要遍历图5中的每种预测模式,然后选择rdcost最小的模式为最佳预测模式。其中intra模式包括dc模式、planar模式及65个角度模式(见图6所示)。ibc模式和plt模式为屏幕内容编码工具。46.在scc中,一个cu最佳intra预测模式的判别过程如下:47.1.计算planar、dc和所有偶数编号的33种角度预测模式(即hevc原有的35种模式)的率失真代价(粗选,rmd1),率失真代价小的n种模式将被筛选出来,加入候选模式列表,列表长度取决于块大小。48.2.计算最优候选模式列表中每种角度相邻两侧奇数编号扩展角度模式的率失真代价(粗选,rmd2),与(1)筛选出的最优候选模式进行比较,然后取率失真代价小的n种模式为最优,更新候选模式列表。49.3.利用空间相邻块,构建mpm列表,如表1所示。50.表4-1mpm候选列表的构建[0051][0052]其中h代表水平预测模式(模式18),v代表垂直预测模式(模式50),l代表左侧相邻cu的预测模式,a代表上方相邻cu的预测模式,max=max(l,a),min=min(l,a)。[0053]由以上三个步骤获得最终的最优候选模式列表(细选),代价最小的预测模式将被选为最佳模式。[0054]由以上分析可知,帧内预测模式共需要进行35+2n+6次粗选率失真代价的计算和2-3次细选率失真代价的计算,编码复杂度极高。因此,根据屏幕内容特性进行模式列表提前决策是至关重要的。技术实现要素:[0055]本发明提出了用于在多功能视频编码(vvc)中的方法、装置、编解码器以及处理器可读存储介质。更具体而言,本发明涉及用于基于屏幕内容视频特性的快速模式决策。[0056]根据实验观察分析可知,在scc中,自然内容区域大多数选择了帧内预测(intra)模式(见图5),而极少选择针对屏幕内容视频特性引入的ibc模式和plt模式。文字区域大多选择ibc和plt模式。引起我们注意的是,屏幕内容视频中的空白区域和渐变区域虽然属于屏幕内容却选择了帧内预测帧内预测模式,说明ibc模式和plt模式并不适用于所有的屏幕内容区域。除此之外,角度模式的选择与编码块的纹理变化方向密切相关。根据vcc针对scc提供的标准序列进行进一步的实验观察分析可知,不同的视频区域倾向于选择不同的预测模式,通过统计不同区域的模式选择规律,根据屏幕内容视频特性进行模式快速决策,预先判断可能被选的模式能有效降低帧内预测的复杂度。[0057]屏幕内容视频在帧内预测模式的选择过程中,一方面,对于帧内预测模式,非相邻角度模式之间计算出的率失真代价相差较大,一些被选择概率不大的角度模式在这个过程中也会被遍历。另一方面,在自然内容视频和屏幕内容视频中空白区域和渐变区域的模式选择过程中也会遍历ibc模式和plt模式,但最终这两种模式却不会被选择为最优模式,这增加了帧内预测模式选择过程的复杂度。[0058]本文设计基于屏幕内容视频特性的快速模式决策算法,针对复合屏幕内容视频各类区域的特点跳过不必要模式的遍历过程。对于空白区域,提前终止除帧内预测中dc、planar(平面)、水平(角度18)和垂直(角度50)四种模式之外其他模式的遍历。对于文字区域将只使用ibc模式和plt模式。对于渐变区域,根据其亮度值水平/垂直方向的规律性,提前决策intra模式中的角度方向。[0059]根据一个方面,一种在屏幕内容编码(scc)中针对cu选择预测模式的方法,包括:[0060]确定当前cu是否属于第一类区域、第二类区域或第三类区域,其中:[0061]所述第一类区域在水平方向和垂直方向上的活动度低,[0062]所述第二类区域具有的高梯度像素占比大于第一阈值,[0063]所述第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值;[0064]响应于确定当前cu属于所述第一类区域,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断;[0065]响应于确定当前cu属于所述第二类区域,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;以及[0066]响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断。[0067]根据进一步的方面,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:[0068]确定当前cu的水平像素活动度和垂直像素活动度;[0069]确定当前cu的水平像素活动度和垂直像素活动度是否等于或低于第三阈值;[0070]响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第三阈值,确定当前cu属于第一类区域。[0071]根据进一步的方面,其中,所述第三阈值为0。[0072]根据进一步的方面,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:[0073]将当前cu中当前像素点与水平或垂直相邻像素点的像素差大于第四阈值的点确定为高梯度像素;以及[0074]将当前cu中的所有高梯度像素的数量与当前cu中的像素总数的比确定为高梯度像素占比。[0075]根据进一步的方面,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:[0076]将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;[0077]计算每个水平子块和每个垂直子块的亮度平均值;[0078]根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;[0079]根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及[0080]当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第三类区域,并将垂直方向确定为所述第一方向;或者[0081]当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。[0082]根据进一步的方面,其中,响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断,进一步包括:[0083]当所述第一方向是水平方向时,仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断;或者[0084]当所述第一方向是垂直方向时,仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断。[0085]根据进一步的方面,其中,[0086]与水平方向相对应的角度模式包括vcc标准中的角度模式2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34;并且[0087]与垂直方向相对应的角度模式包括vcc标准中的角度模式34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66。[0088]根据另一方面,一种在屏幕内容编码(scc)中针对cu选择预测模式的方法,包括:[0089]计算当前cu的水平活动度和垂直活动度;[0090]响应于当前cu的水平活动度和垂直活动度二者皆为0,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断;[0091]计算当前cu的高梯度像素占比;[0092]响应于确定当前cu的高梯度像素占比大于第一阈值,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;[0093]将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;[0094]计算每个水平子块和每个垂直子块的亮度平均值;[0095]根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;[0096]根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及[0097]当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断;以及[0098]当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断。[0099]根据再另一方面,一种硬件视频编码器,所述编码器被配置为通过如下操作来在屏幕内容编码(scc)中针对cu选择预测模式:[0100]确定当前cu是否属于第一类区域、第二类区域或第三类区域,其中:[0101]所述第一类区域在水平方向和垂直方向上的活动度低,[0102]所述第二类区域具有的高梯度像素占比大于第一阈值,[0103]所述第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值;[0104]响应于确定当前cu属于所述第一类区域,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断;[0105]响应于确定当前cu属于所述第二类区域,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;以及[0106]响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断。[0107]根据另一方面,一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行上述方法的代码。[0108]根据另一方面,提出了一种对使用所述的方法或所述的编码器进行编码的视频流进行解码的解码器。[0109]根据另一方面,提出了一种用于执行所述的方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。[0110]根据另一方面,提出了一种可用于视频编解码的设备,该设备包括:[0111]一个或多个处理器;[0112]存储器,其中存储有计算机代码,所述计算机代码当由所述处理器执行时,实现所述的方法。附图说明[0113]图1示出了hevc/vvc的通用编码器的一般性方框图的实施例。[0114]图2示出了hevc中的编码树(ctu)的示意图。[0115]图3示出了用于vvc的多类型树划分模式。[0116]图4示出了vvc的具有嵌套的多类型树的四叉树分割结构的ctu到cu的分割的一个具体实施例。[0117]图5示出了用于vvc的屏幕内容编码的帧内预测模式类型。[0118]图6示出了用于vvc中的帧内预测模式的角度预测模式。[0119]图7示出了根据本发明的实施例的等距子块划分示例。[0120]图8示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一个示例方法。[0121]图9示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一个示例方法。[0122]图10示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一种可用于视频编解码的设备。具体实施方式[0123]现在参考附图来描述各种方案。在以下描述中,为了进行解释,阐述了多个具体细节以便提供对一个或多个方案的透彻理解。然而,显然,在没有这些具体细节的情况下也能够实现这些方案。[0124]如在本技术中所使用的,术语“组件”、“模块”、“系统”等等旨在指代与计算机相关的实体,例如但不限于,硬件、固件、硬件和软件的组合、软件,或者是执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体(executable)、执行线程、程序、和/或计算机。举例而言,运行在计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以位于执行进程和/或者执行线程内,并且组件可以位于一台计算机上和/或者分布在两台或更多台计算机上。另外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以借助于本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号,例如,来自于借助于信号与本地系统、分布式系统中的另一组件交互和/或者与在诸如因特网之类的网络上借助于信号与其他系统交互的一个组件的数据。[0125]在本文中,根据上下文,“ctu划分”和“cu划分”可以互换地使用,“编码块”、“cu”、“区域”可以互换地使用,“图片(picture)”和“帧(frame)”可以互换地使用。[0126]虽然在本文中主要在vvc的上下文中对屏幕内容编码提出了新颖的预测模式选择算法。但是,本领域技术人员容易理解,本发明同样适用于能够对屏幕内容视频进行特殊处理的其他视频编解码协议。[0127]另外,本领域技术人员很容易理解,本发明是主要基于亮度分量的,但是同样适用于色度分量。[0128]屏幕内容视频在帧内预测模式的选择过程中,一方面,对于intra模式(见图5),非相邻角度模式之间计算出的率失真代价相差较大,一些被选择概率不大的角度模式在这个过程中也会被遍历。另一方面,在自然内容视频和屏幕内容视频中空白区域和渐变区域的模式选择过程中也会遍历ibc模式和plt模式,但最终这两种模式却不会被选择为最优模式,这增加了帧内预测模式选择过程的复杂度。[0129]本文设计基于屏幕内容视频特性的快速模式决策算法,针对复合屏幕内容视频各类区域的特点跳过不必要模式的遍历过程。对于空白区域,提前终止除帧内预测(intra)中dc、planar、水平(角度18)和垂直(角度50)四种模式之外其他角度模式的遍历(参见图6所示的角度预测模式)。对于文字区域将只使用ibc模式和plt模式。对于渐变区域,根据其亮度值水平/垂直方向的规律性,提前决策帧内预测(intra)模式中的角度方向(参见图6所示的角度预测模式)。[0130]对于屏幕内容视频,不同区域有不同的内容特征,屏幕内容主要包含空白区域、文字区域、图形或边框区域。当前块在选择预测模式的时候,最优模式的选取与当前块具有的特征密切相关。区域特征不仅有简单与复杂之分,还有纹理变化方向的区别。对于预测模式,不同的帧内预测模式适用于不同的内容特征,不同的角度模式对应了不同的纹理变化方向。因此有必要单独分析不同区域,有针对性的进行模式决策。水平/垂直活动度可以反映屏幕内容中空白区域的像素特征。文字区域具有纹理重复、颜色简单、结构复杂的特征,根据上文对文字区域模式选择的观察与统计,这类区域倾向采用屏幕内容编码工具:ibc和plt模式。除此之外,本文中我们将图形、边框这类纹理方向变化明显的区域称为渐变区域,渐变有水平渐变与垂直渐变之分,本文中所设计的等距子块亮度差变化幅值可以有效确定图像的纹理变化方向。接下来对空白区域、文字区域和渐变区域的快速模式决策进行详细描述。[0131]具体而言,屏幕内容视频中存在许多平滑的空白区域,这部分区域的特点是像素值在水平和垂直方向数值相等或者近似相等(差异很小)。相比于自然内容视频,屏幕内容视频中的平滑区域更趋近于理想化纯色空白块。针对这部分区域,可以在不考虑cu背景噪声的情况下,使用一个计算量相对较小的指标进行率失真代价大小的预判。本公开内容通过计算每个cu内的水平像素活动度(acth)和垂直像素活动度(actv),来反映块内的像素波动。在一个实施例中,如果水平像素活动度(acth)和垂直像素活动度(actv)皆小于等于特定的小阈值(例如0、1、2等等),则可以识别空白区域(例如,将当前cu识别为空白区域)。在另一实施例中,如果actv=0&&acth=0,表示当前块中每个像素点的像素值为相同的值,则可以识别空白区域(例如,将当前cu识别为空白区域)。[0132][0133]其中actv表示垂直活动度,acth表示水平活动度,p(i,j)表示当前块的像素值。w、h表示当前cu(即待划分区域)的宽度和高度。[0134]dc模式(模式1)适用于大面积平坦的区域,当前像素值是由左侧或者上侧的参考像素值得到,当宽度值大于高度值时,当前块的像素值为上侧预测像素的平均值。当高度大于宽度时,当前块的像素值被左侧参考像素的平均值填充。当宽度等于高度时,整个块的像素值将使用左侧和上侧全部预测像素的平均值。像素值变化幅度小的区域通常使用planar(模式0)。水平、垂直2个方向上的4个参考像素的平均值被定义为预测像素,因此,若当前区域被判断为空白区域,本章将只保留dc(模式1)、planar(模式0)、水平(角度18)和垂直(角度50)四种模式,ibc、plt和其余63种角度模式将提前跳过。[0135]为了有效的区分文字区域,本文中使用高梯度像素占比(phg)进行文字区域的分类判断,高梯度像素是指当前像素点的像素值远大于水平相邻像素点的像素值或远大于垂直相邻像素点的像素值(即超过一定阈值)。在一个实施例中,将当前像素点与水平或垂直像素点的像素差大于阈值α的像素定义为高梯度像素,在一个优选实施例中,α等于32的时候算法表现较好。高梯度像素占比大于一定阈值(例如但非限定,0.32)的区域可以被定义为文字区域。[0136]|p(i,j)-p(i+1,j)|》α[0137]|p(i,j)-p(i,j+1)|》α[0138][0139]其中nhg代表当前块高梯度像素的数量,w代表当前块的宽度,h代表当前块的高度。对于文字区域,本文算法只保留ibc模式和plt模式,提前终止帧内预测模式(见图5-6)的率失真代价计算。[0140]对于渐变区域,本文定义了一个名为等距子块亮度差变化幅值的指标进行判断。计算该等距子块亮度差变化幅值的指标的具体计算步骤如下:[0141]步骤1:将当前块沿水平和垂直方向分别均匀分成四个等距离的子块,如图7所示。图7示出了根据本发明的实施例的等距子块划分示例。本领域技术人员容易理解,其他子块数量也是可行的。根据一个实施例,可以根据当前cu的大小来确定要划分的子块数量。[0142]步骤2:计算每个子块的亮度平均值hmean(n)、vmean(n)(例如,n为1、2、3、4)。[0143]步骤3:根据公式(3)、(4)分别将水平子块、垂直子块的亮度平均值按顺序两两作差(n的取值为1、2、3),得到等距子块亮度差。[0144]hordif(n)=|hmean(n+1)-hmean(n)|ꢀꢀꢀꢀꢀꢀ(3)[0145]verdif(n)=|vmean(n+1)-vmean(n)|ꢀꢀꢀꢀꢀꢀ(4)[0146]步骤4:将步骤3得到的水平、垂直子块的等距子块亮度差由公式(5)、(6)两两作差得到等距子块亮度差变化幅值,其反映当前块沿某方向的亮度值变化幅度,hora(n)代表水平方向的等距子块亮度差变化幅值,vera(n)代表垂直方向的等距子块亮度差变化幅值,如果hora(n)《th1&&hora(n)《vera(n)(n的取值为1、2、3,th1表示可配置阈值,通常值较小),说明当前块沿水平方向变化缓慢且均匀,亮度沿水平方向无突变,水平方向的纹理复杂度低。如果vera(n)《th1&&vera(n)《hora(n),说明当前块沿垂直方向变化缓慢且均匀,亮度沿垂直方向无突变,垂直方向的纹理复杂度低。[0147]hora(n)=|hordif(n+1)-hordif(n)|ꢀꢀꢀꢀꢀ(5)[0148]vera(n)=|verdif(n+1)-verdif(n)|ꢀꢀꢀꢀꢀꢀꢀ(6)[0149]根据一个优选实施例,经过多次实验统计分析,th1取值25时效果表现最好,指标表现最好。[0150]本文根据亮度值朝不同方向的变化幅度进行帧内预测中角度模式的预判,为了保证视频质量和编码时间之间的平衡,本文只对第一个粗选阶段(rmd1)进行角度模式提前决策,如果hora(n)《th1&&hora(n)《vera(n),则终止rmd1中水平方向角度模式的遍历,如果vera(n)《th1&&vera(n)《hora(n),则终止垂直方向角度模式的遍历,具体角度选择如表2所示。[0151]表2角度候选模式[0152][0153]图8示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一个示例方法。[0154]首先,针对当前cu,确定当前cu是否属于第一类区域、第二类区域或第三类区域,其中:[0155]所述第一类区域在水平方向和垂直方向上的活动度低,[0156]所述第二类区域具有的高梯度像素占比大于第一阈值,[0157]所述第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值。[0158]第一类区域的一个具体实施例可以是屏幕内容视频中的空白区域。第二类区域的一个具体实施例可以是屏幕内容视频中的文字区域。第三类的一个具体实施例可以是屏幕内容视频中的渐变区域。[0159]在第一种情况下,响应于确定当前cu属于第一类区域,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断,而不考虑图5中所示的其他模式,例如ibc模式、plt模式以及图6所示的其他角度模式。[0160]为了确定当前cu是否属于第一类区域,可以确定当前cu的水平像素活动度和垂直像素活动度;确定当前cu的水平像素活动度和垂直像素活动度是否等于或低于第三阈值;并且响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第三阈值,确定当前cu属于第一类区域。[0161]在一个实施例中,第三阈值可以是0,在另一实施例中,第三阈值可以是1,但显然本发明并不局限于此。[0162]在第二种情况下,响应于确定当前cu属于所述第二类区域,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断,而不考虑图5中所示的其他模式,例如图6所示的dc模式、planar模式和各种角度模式。[0163]为了确定当前cu是否属于第二类区域,可以将当前cu中当前像素点与水平或垂直相邻像素点的像素差大于第四阈值的点确定为高梯度像素;以及将当前cu中的所有高梯度像素的数量与当前cu中的像素总数的比确定为高梯度像素占比。当高梯度像素占比大于第一阈值时,确定当前cu属于第二类区域。[0164]在一个实施例中,第一阈值可以是0.32,但显然本发明并不局限于此。在另一个实施例中,第四阈值可以是32,但显然本发明并不局限于此。[0165]在第三种情况下,响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断。[0166]为了确定当前cu是否属于第三类区域,可以将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;计算每个水平子块和每个垂直子块的亮度平均值;根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第三类区域,并将垂直方向确定为所述第一方向;或者当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。[0167]在一个实施例中,第二阈值可以是25,但显然本发明并不局限于此。[0168]在一个实施例中,当所述第一方向是水平方向时,仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断。在一个实施例中,与垂直方向相对应的角度模式包括vcc标准中的角度模式34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,如图6所示。[0169]或者,当所述第一方向是垂直方向时,仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断。在一个实施例中,与水平方向相对应的角度模式包括vcc标准中的角度模式2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,如图6所示。[0170]在一个实施例中,可以同时跳过针对ibc模式、plt模式的scc预测模式判断。在另一个实施例中,可以不跳过针对ibc模式、plt模式的scc预测模式判断,而仅是跳过针对相对应的角度模式的scc预测模式判断。[0171]图9示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一个示例方法。如图9所示,该方法大致步骤如下:[0172]计算当前cu的水平活动度(acth)和垂直活动度(actv)。[0173]响应于当前cu的水平活动度(acth)和垂直活动度(actv)二者皆为0,确定当前cu是空白区域,并且仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断。[0174]响应于当前cu的水平活动度(acth)和垂直活动度(actv)有任一者不为0,计算当前cu的高梯度像素占比。[0175]响应于确定当前cu的高梯度像素占比大于第一阈值(例如0.32),确定当前cu是文字区域,并且仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断。[0176]响应于确定当前cu的高梯度像素占比不大于第一阈值(例如0.32),将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;计算每个水平子块和每个垂直子块的亮度平均值;根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值。[0177]当水平子块亮度差变化幅值(hora)小于垂直子块亮度差变化幅值(vera)且小于第一阈值(th1)时,确定当前cu是垂直渐变区域,并且仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断。在一个实施例中,与水平方向相对应的角度模式包括vcc标准中的角度模式2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,如图6所示。[0178]当垂直子块亮度差变化幅值(vera)小于水平子块亮度差变化幅值(hora)且小于第一阈值(th1)时,确定当前cu是水平渐变区域,并且仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断。在一个实施例中,与垂直方向相对应的角度模式包括vcc标准中的角度模式34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,如图6所示。[0179]在一个实施例中,可以同时跳过针对ibc模式、plt模式的scc预测模式判断。在另一个实施例中,可以不跳过针对ibc模式、plt模式的scc预测模式判断,而仅是跳过针对相对应的角度模式的scc预测模式判断。[0180]图10示出了根据本发明的实施例的用于在屏幕内容编码(scc)中针对cu选择预测模式的一种可用于视频编解码的设备。该设备包括:处理器和存储器,在所述存储器中包括用于实现本发明的各种方法的处理器可执行代码。[0181]根据另一方面,本公开内容还可以涉及用于实现上述编码方法的编码器。该编码器可以是专用硬件。[0182]根据另一方面,本公开内容还可以涉及对应的对编码后的视频流进行解码的解码器。[0183]根据另一方面,本公开内容还可以涉及执行本文所述方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。[0184]当用硬件实现时,视频编码器可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者设计为执行本文所述功能的其任意组合,来实现或执行。通用处理器可以是微处理器,但是可替换地,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp内核的组合或者任何其它此种结构。另外,至少一个处理器可以包括可操作以执行上述的一个或多个步骤和/或操作的一个或多个模块。[0185]当用asic、fpga等硬件电路来实现视频编码器时,其可以包括被配置为执行各种功能的各种电路块。本领域技术人员可以根据施加在整个系统上的各种约束条件来以各种方式设计和实现这些电路,来实现本发明所公开的各种功能。[0186]尽管前述公开文件论述了示例性方案和/或实施例,但应注意,在不背离由权利要求书定义的描述的方案和/或实施例的范围的情况下,可以在此做出许多变化和修改。而且,尽管以单数形式描述或要求的所述方案和/或实施例的要素,但也可以设想复数的情况,除非明确表示了限于单数。另外,任意方案和/或实施例的全部或部分都可以与任意其它方案和/或实施例的全部或部分结合使用,除非表明了有所不同。当前第1页12当前第1页12
技术特征:
1.一种在屏幕内容编码(scc)中针对cu选择预测模式的方法,包括:确定当前cu是否属于第一类区域、第二类区域或第三类区域,其中:所述第一类区域在水平方向和垂直方向上的活动度低,所述第二类区域具有的高梯度像素占比大于第一阈值,所述第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值;响应于确定当前cu属于所述第一类区域,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断;响应于确定当前cu属于所述第二类区域,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;以及响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断。2.如权利要求1所述的方法,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:确定当前cu的水平像素活动度和垂直像素活动度;确定当前cu的水平像素活动度和垂直像素活动度是否等于或低于第三阈值;响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第三阈值,确定当前cu属于第一类区域。3.如权利要求2所述的方法,其中,所述第三阈值为0。4.如权利要求1-3中任一项所述的方法,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:将当前cu中当前像素点与水平或垂直相邻像素点的像素差大于第四阈值的点确定为高梯度像素;以及将当前cu中的所有高梯度像素的数量与当前cu中的像素总数的比确定为高梯度像素占比。5.如权利要求1-4中任一项所述的方法,其中,确定当前cu是否属于第一类区域、第二类区域或第三类区域进一步包括:将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;计算每个水平子块和每个垂直子块的亮度平均值;根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第三类区域,并将垂直方向确定为所述第一方向;或者当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。6.如权利要求1-5所述的方法,其中,响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断,
进一步包括:当所述第一方向是水平方向时,仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断;或者当所述第一方向是垂直方向时,仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断。7.如权利要求1-6所述的方法,其中,与水平方向相对应的角度模式包括vcc标准中的角度模式2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34;并且与垂直方向相对应的角度模式包括vcc标准中的角度模式34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66。8.一种在屏幕内容编码(scc)中针对cu选择预测模式的方法,包括:计算当前cu的水平活动度和垂直活动度;响应于当前cu的水平活动度和垂直活动度二者皆为0,仅针对dc模式、planar模式、水平方向、垂直方向四种帧内预测模式进行scc预测模式判断;计算当前cu的高梯度像素占比;响应于确定当前cu的高梯度像素占比大于第一阈值,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;计算每个水平子块和每个垂直子块的亮度平均值;根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,仅针对dc模式、planar模式、与垂直方向相对应的方向角度模式进行scc预测模式判断且提前中止与水平方向相对应的方向角度模式的scc预测模式判断;以及当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,仅针对dc模式、planar模式、与水平方向相对应的方向角度模式进行scc预测模式判断且提前中止与垂直方向相对应的方向角度模式的scc预测模式判断。9.一种硬件视频编码器,所述编码器被配置为通过如下操作来在屏幕内容编码(scc)中针对cu选择预测模式:确定当前cu是否属于第一类区域、第二类区域或第三类区域,其中:所述第一类区域在水平方向和垂直方向上的活动度低,所述第二类区域具有的高梯度像素占比大于第一阈值,所述第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值;响应于确定当前cu属于所述第一类区域,仅针对dc模式、planar模式、水平方向、垂直
方向四种帧内预测模式进行scc预测模式判断;响应于确定当前cu属于所述第二类区域,仅针对帧内块复制(ibc)和调色板模式(plt)进行scc预测模式判断;以及响应于确定当前cu属于所述第三类区域,并基于当前cu的亮度值变化的第一方向,来提前中止针对相对应的角度模式的scc预测模式判断。10.一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行根据权利要求1-8中任一项所述的方法的代码。
技术总结
一种在屏幕内容编码(SCC)中针对CU选择预测模式的方法,包括:确定当前CU是否属于第一类区域、第二类区域或第三类区域,其中:第一类区域在水平方向和垂直方向上的活动度低,第二类区域具有的高梯度像素占比大于第一阈值,第三类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第二阈值;响应于确定当前CU属于第一类区域,仅针对DC模式、Planar模式、水平方向、垂直方向四种帧内预测模式进行SCC预测模式判断;响应于确定当前CU属于第二类区域,仅针对IBC和PLT进行SCC预测模式判断;以及响应于确定当前CU属于第三类区域,并基于当前CU的亮度值变化的第一方向,来提前中止针对相对应的角度模式的SCC预测模式判断。对相对应的角度模式的SCC预测模式判断。对相对应的角度模式的SCC预测模式判断。
技术研发人员:张萌萌 何宁 景竑元 刘志
受保护的技术使用者:北京联合大学
技术研发日:2023.06.02
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/