基于屏幕内容区域特性的CU划分快速选择

未命名 08-29 阅读:96 评论:0
基于屏幕内容区域特性的cu划分快速选择
技术领域
:1.本发明涉及图像与视频处理领域,更具体而言,涉及基于屏幕内容区域特性的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种帧内预测模式,包括各种方向模式,以及平面模式和dc模式。通常,选择帧内预测模式,该帧内预测模式描述到当前块(例如,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.屏幕内容编码是vvc的一个重要部分。由计算机产生的屏幕内容视频(screencontentvideo,scv)具有区别于由摄像头拍摄的自然场景视频的特殊分布特性,如图所示为不同分辨率的典型屏幕内容序列示例,与自然内容相比,它基本没有噪音、不连续的色调、细腻的线条、尖锐的边缘、相对大面积的均匀平整区域、明显的方向变化和频繁重复的纹理。例如图5示出了用于vvc的屏幕内容编码的几种测试序列的截图。根据实验数据表明,屏幕内容与自然内容的明显区别是:自然内容的像素值数量多于屏幕内容的像素值数量,自然内容像素值之间的像素差小于屏幕内容像素值之间的像素差,自然内容像素值分布比屏幕内容像素值分布更连续。46.在视频编码中,cu划分一直占用了大部分的编码时间,无论是自然内容视频还是屏幕内容视频。例如,在使用vvc时,通过对自然内容视频多叉树划分的复杂度进行统计分析表明,禁用多叉树划分可以节省92%的编码时间。当vtm编码器关闭bt(即不使用水平二叉树划分和垂直二叉树划分)时编码时间平均减少71.75%。关闭tt(即不使用水平三叉树划分和垂直三叉树划分)时编码时间平均减少48.33%,关闭ht(即不使用水平二叉树划分和水平三叉树划分)时编码时间平均减少75.42%,关闭vt(即不使用垂直二叉树划分和垂直三叉树划分)时编码时间平均减少75.92%。关闭mt(即只有四叉树划分可用时),编码时间有平均90.42%的节省上限。通过分析,不论是自然内容视频还是屏幕内容视频,多叉树划分模式都占用了大量编码时间。因此,在视频编解码的技术发展中始终关注的一个技术问题是,如何在保证bd-rate不降低或仅有少量降低的情况下减少cu划分时间。47.cu的最佳划分模式的选择与视频的各类区域特性有极大关联,另外,与自然内容视频相比,屏幕内容视频特性显著。基于以上分析,本公开内容提出一种针对屏幕内容不同区域特性的多叉树划分快速决策算法,提前决策最可能的多叉树划分方式,缩小划分模式遍历范围。技术实现要素:48.本发明提出了用于在多功能视频编码(vvc)中的方法、装置、编解码器以及处理器可读存储介质。更具体而言,本发明用于在vvc中对视频帧进行编码单元(cu)划分的方法,其涉及基于屏幕内容区域特性的cu划分快速选择。49.vvc中qtmt划分结构的计算复杂性非常高,但在许多情况下,cu划分与当前编码块的内容属性密切相关。而屏幕内容视频与自然内容视频相比有其独特的属性,因此可以根据屏幕内容视频特性预判当前块划分方式,从而有效降低编码复杂度。50.通过实验可知,屏幕内容中的边框区域、文字区域在进行多叉树划分时经常连续选择某个方向的划分,即一行或者一列的某段中的最优划分模式连续为水平划分或者垂直划分。这是因为屏幕内容中边框、文字区域的纹理方向往往是固定的、有规律的、沿直线变化的。相反地,自然内容中的边界大多沿曲线变化,比如人物的轮廓等,从而通常不具有屏幕内容的上述特性。51.除此之外,屏幕内容视频相比于自然内容视频而言存在更多的空白区域,其最大的特点在于空白区域中的每个像素点的亮度值为相同的某个值,这部分区域通常四叉树划分后不会选择二叉树划分和三叉树划分。52.因此,本公开内容针对屏幕内容视频含有大片空白区域及方向变化明显的特点,对屏幕内容视频中占比相对较高的空白区域、文字区域、边框区域和其他区域分别进行指标设定,分别来进行提前中止判断、和/或某个方向上的划分的提前中止判断。53.例如,根据本公开内容,针对空白区域,可以直接提前中止cu划分。54.例如,针对文字区域或边框区域,由于这些纹理方向往往是固定的、有规律的、沿直线变化的,因此根据本公开内容,可以以简单的方式来确定某个区域(cu)的不同方向(例如,水平方向和垂直方向)上的像素变化是否符合上述规律,并进而识别文字区域或边框区域,并将所确定的像素变化方向(例如,水平方向或垂直方向)确定为cu的划分方向,而不判断其他方向(例如,垂直方向或水平方向)上的划分情况,即提前中止其他方向上的划分。55.另外,本公开内容还针对除了被判断为空白区域、文字区域、边框区域的区域(例如当前cu)之外的其他区域,提出了一种新颖的提前中止判断算法,该算法利用了当前cu的与各个划分模式相关联的各个子块的平均绝对误差,来跳过各个划分模式中的相应划分模式,从而实现某个划分模式的提前中止。56.本公开内容提出的各种提前中止方案,能够中止针对当前cu的划分,中止当前cu的某个方向(水平或垂直)上的划分,和/或中止当前cu的特定划分模式的划分,从而减少了用于当前cu划分的递归遍历过程的时间。57.根据一个方面,一种用于对屏幕内容视频中的ctu进行cu划分的方法,包括:58.确定当前cu是否属于第一类区域或第二类区域,其中:59.所述第一类区域在水平方向和垂直方向上的活动度低,并且60.所述第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值;61.响应于确定当前cu属于所述第一类区域,提前中止cu划分;以及62.响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一。63.在一个方面中,确定当前cu是否属于第一类区域或第二类区域进一步包括:64.确定当前cu的水平像素活动度和垂直像素活动度;65.确定当前cu的水平像素活动度和垂直像素活动度是否等于或低于第二阈值;66.响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第二阈值,确定当前cu属于第一类区域。67.在一个方面中,所述第二阈值为0。68.在一个方面中,确定当前cu是否属于第一类区域或第二类区域进一步包括:69.将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;70.计算每个水平子块和每个垂直子块的亮度平均值;71.根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;72.根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及73.当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将垂直方向确定为所述第一方向;或者74.当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。75.在一个方面中,响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一,进一步包括:76.当所述第一方向是水平方向时,中止水平方向划分,或者77.当所述第一方向是垂直方向时,中止垂直方向划分。78.在一个方面中,所述方法进一步包括:79.响应于确定当前cu不属于所述第一类区域或所述第二类区域,基于当前cu的与划分模式相关联的子块的平均绝对误差,来从多个划分模式中确定最佳划分模式。80.在一个方面中,所述多个划分模式包括:水平二叉树、垂直二叉树、水平三叉树和垂直三叉树。81.根据另一个方面中,一种用于对屏幕内容视频中的ctu进行cu划分的方法,包括:82.计算当前cu的水平像素活动度(acth)和垂直像素活动度(actv),判断acth和actv是否都等于0;83.如果acth和actv两者都等于0,跳过水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式的递归遍历过程;84.计算当前cu水平方向的等距子块亮度差变化幅值(hora(n))和垂直方向的等距子块亮度差变化幅值(vera(n));85.如果hora(n)《vera(n)并且hora(n)《th1,跳过水平二叉树划分和水平三叉树划分划分模式的递归遍历过程;86.如果vera(n)《hora(n)并且vera(n)《th1,跳过垂直二叉树划分和垂直三叉树划分的递归遍历过程;87.分别计算水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式下平均绝对误差(maehb、maevb、maeht、maevt);88.如果maehb最小,则跳过水平二叉树划分模式的递归遍历过程;89.如果maevb最小,则跳过垂直二叉树划分模式的递归遍历过程;90.如果maeht最小,则跳过水平三叉树划分模式的递归遍历过程;91.如果maevt最小,则跳过垂直三叉树划分模式的递归遍历过程92.根据另一方面,一种硬件视频编码器,所述编码器被配置为通过如下操作来对屏幕内容视频中的ctu进行cu划分:93.确定当前cu是否属于第一类区域或第二类区域,其中:94.所述第一类区域在水平方向和垂直方向上的活动度低,并且95.所述第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值;96.响应于确定当前cu属于所述第一类区域,提前中止cu划分;以及97.响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一。98.根据另一方面,一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行上述方法的代码。99.根据另一方面,提出了一种对使用所述的方法或所述的编码器进行编码的视频流进行解码的解码器。100.根据另一方面,提出了一种用于执行所述的方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。101.根据另一方面,提出了一种可用于视频编解码的设备,该设备包括:102.一个或多个处理器;103.存储器,其中存储有计算机代码,所述计算机代码当由所述处理器执行时,实现所述的方法。附图说明104.图1示出了hevc/vvc的通用编码器的一般性方框图的实施例。105.图2示出了hevc中的编码树(ctu)的示意图。106.图3示出了用于vvc的多类型树划分模式。107.图4示出了vvc的具有嵌套的多类型树的四叉树分割结构的ctu到cu的分割的一个具体实施例。108.图5示出了用于vvc的屏幕内容编码的几种测试序列的截图。109.图6示出了根据本发明的实施例的等距子块划分示例。110.图7示出了根据本发明的实施例的不同划分模式中的子块标识的示例图。111.图8示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。112.图9示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。113.图10示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。114.图11示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一种可用于视频编解码的设备。具体实施方式115.现在参考附图来描述各种方案。在以下描述中,为了进行解释,阐述了多个具体细节以便提供对一个或多个方案的透彻理解。然而,显然,在没有这些具体细节的情况下也能够实现这些方案。116.如在本技术中所使用的,术语“组件”、“模块”、“系统”等等旨在指代与计算机相关的实体,例如但不限于,硬件、固件、硬件和软件的组合、软件,或者是执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行体(executable)、执行线程、程序、和/或计算机。举例而言,运行在计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以位于执行进程和/或者执行线程内,并且组件可以位于一台计算机上和/或者分布在两台或更多台计算机上。另外,这些组件可以从具有存储在其上的各种数据结构的各种计算机可读介质执行。组件可以借助于本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号,例如,来自于借助于信号与本地系统、分布式系统中的另一组件交互和/或者与在诸如因特网之类的网络上借助于信号与其他系统交互的一个组件的数据。117.在本文中,根据上下文,“ctu划分”和“cu划分”可以互换地使用,“编码块”、“cu”、“区域”可以互换地使用,“图片(picture)”和“帧(frame)”可以互换地使用。118.虽然在本文中主要在vvc的上下文中在对屏幕内容视频进行编码时进行cu划分提出了新颖的算法。但是,本领域技术人员容易理解,本发明同样适用于能够对屏幕内容视频进行特殊处理的其他视频编解码协议。119.另外,本领域技术人员很容易理解,本发明是主要基于亮度分量的cu划分,但是同样适用于色度分量的单独cu划分。120.vvc中qtmt划分结构的计算复杂性非常高,但在许多情况下,cu划分与当前编码块的内容属性密切相关。而屏幕内容视频与自然内容视频相比有其独特的属性,因此可以根据屏幕内容视频特性预判当前块划分方式,从而有效降低编码复杂度。121.在一个示例中,在cu划分中,能够进行各种形式的提前中止。本公开内容提出的各种提前中止方案,能够根据屏幕内容的特性,例如空白区域、文字区域、边框区域和其他区域分别进行指标设定,来中止针对当前cu的划分,中止当前cu的某个方向(水平或垂直)上的划分,和/或中止当前cu的特定划分模式的划分,从而减少了用于当前cu划分的递归遍历过程的时间。122.根据实验结果表明,该算法可以在保证图像质量的同时节省编码时间。123.在一个示例中,通过实验可知,屏幕内容中的边框区域、文字区域在进行多叉树划分时经常连续选择某个方向的划分,即一行或者一列的某段中的最优划分模式连续为水平划分或者垂直划分。这是因为屏幕内容中边框、文字区域的纹理方向往往是固定的、有规律的、沿直线变化的。相反地,自然内容中的边界大多沿曲线变化,比如人物的轮廓等,从而通常不具有屏幕内容的上述特性。124.在一个示例中,除此之外,屏幕内容视频相比于自然内容视频而言存在更多的空白区域,其最大的特点在于空白区域中的每个像素点的亮度值为相同的某个值,这部分区域通常四叉树划分后不会选择二叉树划分和三叉树划分。125.因此,在一个示例中,本公开内容针对屏幕内容视频含有大片空白区域及方向变化明显的特点,对屏幕内容视频中占比相对较高的空白区域、文字区域、边框区域和其他区域分别进行指标设定,分别来进行提前中止判断、和/或某个方向上的划分的提前中止判断,从而减少了用于当前cu划分的递归遍历过程的时间。126.在一个示例中,根据本公开内容,针对空白区域,可以直接提前中止cu划分。根据本公开内容,提出了一种用于快速地、可靠地判断这种空白区域的优选方法。127.针对文字区域或边框区域,由于这些纹理方向往往是固定的、有规律的、沿直线变化的,因此根据本公开内容,在一个示例中,可以以简单的方式来确定某个区域(cu)的不同方向(例如,水平方向和垂直方向)上的像素变化是否符合上述规律,并进而识别文字区域或边框区域,并将所确定的像素变化方向(例如,水平方向或垂直方向)确定为cu的划分方向,而不判断其他方向(例如,垂直方向或水平方向)上的划分情况,即提前中止其他方向上的划分。由此,本公开内容能够基于像素变化方向快速地识别文字区域或边框区域,并基于该识别来执行针对某些方向的提前划分中止,,从而减少了用于当前cu划分的递归遍历过程的时间。128.在一个示例中,本公开内容还针对除了被判断为空白区域、文字区域、边框区域的区域(例如当前cu)之外的其他区域,提出了一种新颖的提前中止判断算法,该算法利用了当前cu的与各个划分模式相关联的各个子块的平均绝对误差,来跳过各个划分模式中的相应划分模式,从而实现某个划分模式的提前中止,部分地减少用于当前cu划分的递归遍历过程的时间。129.根据一个实施例,对于cu划分,采用了vvc规定的4种多类型树划分(mtt)模式:水平二叉树划分(以下简称为hb)、垂直二叉树划分(以下简称为vb)、水平三叉树划分(以下简称为ht)、垂直三叉树划分(以下简称为vt)。本领域技术人员容易理解,还可以采用数量更多或更少的各种类型的划分方式。130.在一个示例中,根据本公开内容,提出了一种用于快速地、可靠地判断空白区域的优选方法。131.具体而言,屏幕内容视频中存在许多平滑的空白区域,这部分区域的特点是像素值在水平和垂直方向数值相等或者近似相等(差异很小)。相比于自然内容视频,屏幕内容视频中的平滑区域更趋近于理想化纯色空白块。针对这部分区域,可以在不考虑cu背景噪声的情况下,使用一个计算量相对较小的指标进行率失真代价大小的预判。本公开内容通过计算每个cu内的水平像素活动度(acth)和垂直像素活动度(actv),来反映块内的像素波动。在一个实施例中,如果水平像素活动度(acth)和垂直像素活动度(actv)皆小于等于特定的小阈值(例如0、1、2等等),则可以识别空白区域(例如,将当前cu识别为空白区域)。在另一实施例中,如果actv=0&&acth=0,表示当前块中每个像素点的像素值为相同的值,则可以识别空白区域(例如,将当前cu识别为空白区域)。这种空白区域更倾向于选择四叉树划分,最佳划分模式往往不会选择多叉树划分,将提前终止四种mtt划分模式,来减少划分遍历模式。在另一实施例中,例如在包含ppt演示的屏幕内容视频中,这种空白区域的大小可能更大,因此,可以在四叉树划分或ctu根节点时进行该判断以识别空白区域,当识别出空白区域(ctu或cu)时,可以提前中止当前cu的划分。[0132][0133][0134]其中actv表示垂直活动度,acth表示水平活动度,p(i,j)表示当前块的像素值。w、h表示当前cu(即待划分区域)的宽度和高度。[0135]但是,根据发明人的实验,表明在进行多叉树划分判断时并且以0值为阈值时,对空白区域的识别效果最佳。[0136]在一个示例中,根据本公开内容,提出了一种用于快速地、可靠地判断具有上述特征的文字及边框区域的优选方法。具体而言,文字及边框区域中的像素纹理方向往往是固定的、有规律的、沿直线变化的,因此根据本公开内容,在一个示例中,可以以简单的方式来确定某个区域(cu)的不同方向(例如,水平方向和垂直方向)上的像素变化是否符合上述规律,并进而识别文字区域或边框区域。[0137]如果当前cu并非空白区域时(acth和actv)未能皆小于等于特定的小阈值),则本文定义了一个名为等距子块亮度差变化幅值的指标,提前终止亮度差的变化幅度较小的划分方向,从而减少划分模式的遍历。具体计算步骤如下:[0138]步骤1:将当前块沿水平和垂直方向分别均匀分成四个等距离的子块,如图6所示。图6示出了根据本发明的实施例的等距子块划分示例。本领域技术人员容易理解,其他子块数量也是可行的。根据一个实施例,可以根据当前cu的大小来确定要划分的子块数量。[0139]步骤2:计算每个子块的亮度平均值hmean(n)、vmean(n)(例如,n为1、2、3、4)。[0140]步骤3:根据公式(3)、(4)分别将水平子块、垂直子块的亮度平均值按顺序两两作差(n的取值为1、2、3),得到等距子块亮度差。[0141]hordif(n)=|hmean(n+1)-hmean(n)|(3)[0142]verdif(n)=|vmean(n+1)-vmean(n)|(4)[0143]步骤4:将步骤3得到的水平、垂直子块的等距子块亮度差由公式(5)、(6)两两作差得到等距子块亮度差变化幅值,其反映当前块沿某方向的亮度值变化幅度,hora(n)代表水平方向的等距子块亮度差变化幅值,vera(n)代表垂直方向的等距子块亮度差变化幅值,如果hora(n)《th1&&hora(n)《vera(n)(n的取值为1、2、3,th1表示可配置阈值,通常值较小),说明当前块沿水平方向变化缓慢且均匀,亮度沿水平方向无突变,当前块更倾向于选择垂直划分,则终止水平方向划分(hb和ht)。如果vera(n)《th1&&vera(n)《hora(n),说明当前块沿垂直方向变化缓慢且均匀,亮度沿垂直方向无突变,当前块更倾向于选择水平划分,则终止垂直方向划分(bv和vt)。[0144]hora(n)=|hordif(n+1)-hordif(n)|(5)[0145]vera(n)=|verdif(n+1)-verdif(n)|(6)[0146]根据一个优选实施例,经过多次实验统计分析,th1取值25时效果表现最好,不同qp、不同分辨率下使用等距子块亮度差变化幅值预知的最优划分方向准确率高于90%,指标表现最好。[0147]在一个示例中,本公开内容还针对除了被判断为空白区域、文字区域、边框区域的区域(例如当前cu)之外的其他区域,提出了一种新颖的提前中止判断算法。具体而言,对于屏幕内容视频中既不是空白区域、文字区域或边框区域,也没有明显方向特征的其他区域,本公开内容引入计算量相对较小的平均绝对误差(mae),减少率失真代价的计算次数。通过比较图7中四种mtt划分方式下的子块平均绝对误差的大小,预先判断选择某种多叉树划分方式时当前块的纹理特征,自定义跳过子块之间mae最小的划分模式,根据最优划分模式的选择原理,所跳过的这种划分方式被选择为最佳划分模式的概率最小。图7示出了根据本发明的实施例的不同划分模式(mtt划分模式)中的子块标识的示例图。[0148][0149][0150]其中ave为子块亮度平均值,height为子块的高度,width为子块的宽度,p(i,j)是像素点(i,j)处的亮度值,maek为子块平均绝对误差。如图7,其中k代表hb1、hb2、vb1、vb2、ht1、ht2、ht3、vt1、vt2、vt3。公式9和10中,μhb、μvb、μht、μvt分别为四种划分模式下每个子块的平均绝对误差的平均值;maehb、maevb、maeht、maevt分别为四种多叉树划分模式下当前块的平均绝对误差。[0151][0152][0153]在maehb、maevb、maeht、maevt中,如果maehb最小,说明当前块采用水平二叉树划分时的两个子块纹理相似,所提算法提前终止hb划分rd代价的计算过程。同理,若maevb最小,提前终止vb划分rd代价的计算过程。若maeht最小,提前终止ht划分rd代价的计算过程。若maevt最小,提前终止vt划分rd代价的计算过程。[0154]在一个实施例中,为了近一步优化视频质量损失,经多次实验统计,加一个附加条件,即判断为最小的mae与其他mae的差值都需要小于10,此时时间节省与质量损失达到平衡。[0155]图8示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。[0156]在801处,确定当前cu是否属于第一类区域或第二类区域。根据一个实施例,第一类区域在水平方向和垂直方向上的活动度低,并且第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值。根据一个实施例,第一类区域可以是空白区域,第二类区域可以是文字区域或边框区域,其中,文字区域及边框区域中的像素纹理方向往往是固定的、有规律的、沿直线变化的。[0157]在一个实施例中,确定当前cu是否属于第一类区域或第二类区域进一步包括:[0158]确定当前cu的水平像素活动度(acth)和垂直像素活动度(actv),例如采用公式1和2;[0159]确定当前cu的水平像素活动度(acth)和垂直像素活动度(actv)是否等于或低于第二阈值;[0160]响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第二阈值,确定当前cu属于第一类区域。[0161]在一个实施例中,第二阈值为0。[0162]在一个实施例中,当未能确定当前cu属于第一类区域时,确定当前cu是否属于第一类区域或第二类区域进一步包括:[0163]将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块,如图6所示,例如在水平方向和垂直方向上划分为4个子块;[0164]计算每个水平子块和每个垂直子块的亮度平均值,例如hmean(n)、vmean(n)(例如,n为1、2、3、4);[0165]根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值,例如采用公式3和4;[0166]根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值,例如采用公式5和6;以及[0167]当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于第一阈值时,确定当前cu属于第二类区域,并将垂直方向确定为所述第一方向;或者[0168]当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。[0169]在一个实施例中,第一阈值为25。[0170]在803处,响应于确定当前cu属于第一类区域,提前中止cu划分。[0171]在805处,响应于确定当前cu属于第二类区域,并基于当前cu的亮度值变化的方向,来提前中止水平方向划分或垂直方向划分之一。[0172]在一个实施例中,当第一方向是水平方向时,当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于第一阈值时,中止水平方向划分。可替换地,当第一方向是垂直方向时,亦即当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于第一阈值时,中止垂直方向划分,如上所述。[0173]在807处,可选地,响应于确定当前cu不属于所述第一类区域或所述第二类区域,基于当前cu的与划分模式相关联的子块的平均绝对误差,来从多个划分模式中确定最佳划分模式,例如使用公式7-10。[0174]在一个实施例中,所述多个划分模式包括:水平二叉树、垂直二叉树、水平三叉树和垂直三叉树。[0175]图9示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。[0176]在901处,计算当前cu的水平像素活动度(acth)和垂直像素活动度(actv),判断acth和actv是否都等于0,例如采用公式1和2。[0177]在903处,如果acth和actv两者都等于0,跳过水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式的递归遍历过程。[0178]在905处,计算当前cu水平方向的等距子块亮度差变化幅值(hora(n))和垂直方向的等距子块亮度差变化幅值(vera(n)),例如采用公式3-6。在一个实施例中,水平方向的等距子块数量与垂直方向的等距子块数量相同,例如为4。在一个实施例中,n的取值是从1到水平方向的等距子块数量或水平方向的等距子块数量减1,例如当水平方向的等距子块数量与垂直方向的等距子块数量为4时,n的取值为1、2、3。[0179]在907处,如果hora(n)《vera(n)并且hora(n)《th1,跳过水平二叉树划分和水平三叉树划分划分模式的递归遍历过程。此处,需要针对所有的n都满足该条件,因为要确保覆盖整个当前cu的分布,而不会局限于某两个相邻子块。[0180]在909处,如果vera(n)《hora(n)并且vera(n)《th1,跳过垂直二叉树划分和垂直三叉树划分的递归遍历过程。此处,需要针对所有的n都满足该条件,因为要确保覆盖整个当前cu的分布,而不会局限于某两个相邻子块。[0181]在一个实施例中,阈值th1为25。[0182]在911处,分别计算水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式下平均绝对误差(maehb、maevb、maeht、maevt),例如使用公式7-10。[0183]在913处,如果maehb最小,则跳过水平二叉树划分模式的递归遍历过程。[0184]在915处,如果maevb最小,则跳过垂直二叉树划分模式的递归遍历过程。[0185]在917处,如果maeht最小,则跳过水平三叉树划分模式的递归遍历过程。[0186]在919处,如果maevt最小,则跳过垂直三叉树划分模式的递归遍历过程。[0187]在一个实施例中,在最小mae与其他mae的差值都小于一个阈值(例如,10)的情况下,进行上述跳过操作,从而使得时间节省与质量损失达到平衡。[0188]图10示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一个示例方法。图10的流程图是图9的流程图的一个更详细的实施例。[0189]如图10所示:[0190](1)计算当前块的水平像素活动度(acth)和垂直像素活动度(actv),判断acth和actv是否都等于0,如果两者都等于0,跳过hb、vb、ht、vt划分模式的递归划分过程,如果二者之中有一个不等于0,或者两者都不为0,进入步骤(2)。[0191](2)计算当前块水平方向的等距子块亮度差变化幅值hora(n)和垂直方向的等距子块亮度差变化幅值vera(n),判断两者之间的大小关系以及两者与阈值th1的大小关系,进而提前判断划分方向。如果hora(n)《vera(n)并且hora(n)《th1,跳过水平二叉树划分和水平三叉树划分的递归遍历过程。如果不满足以上条件,则进一步判断是否满足vera(n)《hora(n)并且vera(n)《th1,如果满足vera(n)《hora(n)并且vera(n)《th1,跳过垂直二叉树划分和垂直三叉树划分的递归遍历过程。如果以上两个条件都不满足,进入步骤(3)。[0192](3)分别计算当前块中hb、vb、ht、vt划分模式下平均绝对误差maehb、maevb、maeht、maevt,若maehb最小,跳过水平二叉树划分模式的遍历。若maevb最小,跳过垂直二叉树划分模式的遍历。若maeht最小,跳过水平三叉树划分模式的遍历。若maevt最小,跳过垂直三叉树划分模式的遍历。[0193]图11示出了根据本发明的实施例的用于对屏幕内容视频流进行cu划分的一种可用于视频编解码的设备。该设备包括:处理器和存储器,在所述存储器中包括用于实现本发明的各种方法的处理器可执行代码。[0194]根据另一方面,本公开内容还可以涉及用于实现上述编码方法的编码器。该编码器可以是专用硬件。[0195]根据另一方面,本公开内容还可以涉及对应的对编码后的视频流进行解码的解码器。[0196]根据另一方面,本公开内容还可以涉及执行本文所述方法的计算机程序产品。根据进一步的方面,该计算机程序产品具有非暂时性存储介质,其上存储有计算机代码/指令,当其被处理器执行时,可以实现本文所述的各种操作。[0197]当用硬件实现时,视频编码器可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件或者设计为执行本文所述功能的其任意组合,来实现或执行。通用处理器可以是微处理器,但是可替换地,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp内核的组合或者任何其它此种结构。另外,至少一个处理器可以包括可操作以执行上述的一个或多个步骤和/或操作的一个或多个模块。[0198]当用asic、fpga等硬件电路来实现视频编码器时,其可以包括被配置为执行各种功能的各种电路块。本领域技术人员可以根据施加在整个系统上的各种约束条件来以各种方式设计和实现这些电路,来实现本发明所公开的各种功能。[0199]尽管前述公开文件论述了示例性方案和/或实施例,但应注意,在不背离由权利要求书定义的描述的方案和/或实施例的范围的情况下,可以在此做出许多变化和修改。而且,尽管以单数形式描述或要求的所述方案和/或实施例的要素,但也可以设想复数的情况,除非明确表示了限于单数。另外,任意方案和/或实施例的全部或部分都可以与任意其它方案和/或实施例的全部或部分结合使用,除非表明了有所不同。当前第1页12当前第1页12
技术特征:
1.一种用于对屏幕内容视频中的ctu进行cu划分的方法,包括:确定当前cu是否属于第一类区域或第二类区域,其中:所述第一类区域在水平方向和垂直方向上的活动度低,并且所述第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值;响应于确定当前cu属于所述第一类区域,提前中止cu划分;以及响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一。2.如权利要求1所述的方法,其中,确定当前cu是否属于第一类区域或第二类区域进一步包括:确定当前cu的水平像素活动度和垂直像素活动度;确定当前cu的水平像素活动度和垂直像素活动度是否等于或低于第二阈值;响应于确定当前cu的水平像素活动度和垂直像素活动度二者皆等于或低于第二阈值,确定当前cu属于第一类区域。3.如权利要求2所述的方法,其中,所述第二阈值为0。4.如权利要求1-3中任一项所述的方法,其中,确定当前cu是否属于第一类区域或第二类区域进一步包括:将当前cu在垂直方向上划分为多个水平子块,并在水平方向上划分为多个垂直子块;计算每个水平子块和每个垂直子块的亮度平均值;根据水平子块亮度平均值来计算相邻水平子块的水平子块亮度差,并根据所述水平子块亮度差来计算水平子块亮度差变化幅值;根据垂直子块亮度平均值来计算相邻垂直子块的垂直子块亮度差,并根据所述水平子块亮度差来计算垂直子块亮度差变化幅值;以及当所述水平子块亮度差变化幅值小于所述垂直子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将垂直方向确定为所述第一方向;或者当所述垂直子块亮度差变化幅值小于所述水平子块亮度差变化幅值且小于所述第一阈值时,确定当前cu属于第二类区域,并将水平方向确定为所述第一方向。5.如权利要求1-4中任一项所述的方法,其中,响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一,进一步包括:当所述第一方向是水平方向时,中止水平方向划分,或者当所述第一方向是垂直方向时,中止垂直方向划分。6.如权利要求1-5中任一项所述的方法,其中,所述方法进一步包括:响应于确定当前cu不属于所述第一类区域或所述第二类区域,基于当前cu的与划分模式相关联的子块的平均绝对误差,来跳过多个划分模式中的相应划分模式。7.如权利要求1-7中任一项所述的方法,其中,所述多个划分模式包括:水平二叉树、垂直二叉树、水平三叉树和垂直三叉树。8.一种用于对屏幕内容视频中的ctu进行cu划分的方法,包括:计算当前cu的水平像素活动度(act
h
)和垂直像素活动度(act
v
),判断act
h
和act
v
是否都
等于0;如果act
h
和act
v
两者都等于0,跳过水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式的递归遍历过程;计算当前cu水平方向的等距子块亮度差变化幅值(hor
a
(n))和垂直方向的等距子块亮度差变化幅值(ver
a
(n));如果hor
a
(n)<ver
a
(n)并且hor
a
(n)<th1,跳过水平二叉树划分和水平三叉树划分划分模式的递归遍历过程;如果ver
a
(n)<hor
a
(n)并且ver
a
(n)<th1,跳过垂直二叉树划分和垂直三叉树划分的递归遍历过程;分别计算水平二叉树、垂直二叉树、水平三叉树和垂直三叉树划分模式下平均绝对误差(mae
hb
、mae
vb
、mae
ht
、mae
vt
);如果mae
hb
最小,则跳过水平二叉树划分模式的递归遍历过程;如果mae
vb
最小,则跳过垂直二叉树划分模式的递归遍历过程;如果mae
ht
最小,则跳过水平三叉树划分模式的递归遍历过程;如果mae
vt
最小,则跳过垂直三叉树划分模式的递归遍历过程。9.一种硬件视频编码器,所述编码器被配置为通过如下操作来对屏幕内容视频中的ctu进行cu划分:确定当前cu是否属于第一类区域或第二类区域,其中:所述第一类区域在水平方向和垂直方向上的活动度低,并且所述第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值;响应于确定当前cu属于所述第一类区域,提前中止cu划分;以及响应于确定当前cu属于所述第二类区域,并基于当前cu的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一。10.一种计算机程序产品,包括非暂时性存储介质,所述非暂时性存储介质中存储有用于执行根据权利要求1-8中任一项所述的方法的代码。

技术总结
一种用于对屏幕内容视频中的CTU进行CU划分的方法,包括:确定当前CU是否属于第一类区域或第二类区域,其中:所述第一类区域在水平方向和垂直方向上的活动度低,并且所述第二类区域中的亮度值沿第一方向的变化小于沿第二方向的变化且小于第一阈值;响应于确定当前CU属于所述第一类区域,提前中止CU划分;以及响应于确定当前CU属于所述第二类区域,并基于当前CU的亮度值变化的所述方向,来提前中止水平方向划分或垂直方向划分之一。方向划分或垂直方向划分之一。方向划分或垂直方向划分之一。


技术研发人员:张萌萌 白慧慧 刘志
受保护的技术使用者:北京交通大学
技术研发日:2023.06.02
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐