视频编解码方法及相关装置与流程
未命名
07-15
阅读:110
评论:0
视频编解码方法及相关装置【技术领域:
:】1.本发明涉及视频编解码系统。更具体地,本发明涉及一种用于视频编解码系统中基于边界匹配的模式选择的新视频编解码工具。
背景技术:
::2.通用视频编解码(vvc)是由itu-t视频编解码专家组(vceg)和iso/iec运动图像专家组的联合视频专家组(jvet)制定的最新国际视频编解码标准(mpeg)。该标准已作为iso标准发布:iso/iec23090-3:2021,informationtechnology-codedrepresentationofimmersivemedia-part3:versatilevideocoding,2021年2月发布。通过基于其前身hevc(highefficiencyvideocoding),添加更多编解码工具来提高编解码效率,并处理各种类型的视频源,包括3维(3d)视频信号,发展处vvc。3.图1a说明了包含循环处理的示例性适应性帧间/帧内(adaptiveinter/intra)视频编解码系统。对于帧内预测,预测数据是根据当前图片(在后文中也称为画面)中先前编解码的视频数据导出的。对于帧间预测112,在编码器侧执行运动估计(motionestimation,简写为me)并且基于me的结果执行运动补偿(motioncompensation,简写为mc)以提供从其他画面和运动数据导出的预测数据。开关114选择帧内预测110或帧间预测112并且所选择的预测数据被提供给加法器116以形成预测误差,也称为残差(residual)。预测误差然后由变换(t)118和随后的量化(q)120处理。变换和量化的残差然后由熵编码器122编码以包括在对应于压缩视频数据的视频比特流中。然后,与变换系数相关联的比特流将与辅助信息(sideinformation)(例如与帧内预测和帧间预测相关联的运动和解码模式)以及其他信息(例如与应用于底层图像区域(underlyingimagearea)的环路滤波器相关联的参数)一起打包。与帧内预测110、帧间预测112和环路滤波器130相关联的辅助信息被提供给熵编码器122,如图1a所示。当使用帧间预测模式时,也必须在编码器端重建一个或多个参考图片。因此,经变换和量化的残差由逆量化(iq)124和逆变换(it)126处理以恢复残差。然后在重建(rec)128处将残差加回到预测数据136以重建视频数据。重建的视频数据可以存储在参考图片缓冲器134中并用于预测其他帧。4.如图1a所示,输入的视频数据在编码系统中经过一系列处理。由于一系列处理,来自rec128的重建的视频数据可能会受到各种损害。因此,环路滤波器130经常在重建的视频数据被存储在参考图片缓冲器134中之前应用于重建的视频数据以提高视频质量。例如,可以使用去块滤波器(deblockingfilter,简写为df)、样本适应性偏移(sampleadaptiveoffset,简写为sao)和适应性环路滤波器(adaptiveloopfilter,简写为alf)。可能需要将环路滤波器信息合并到比特流中,以便解码器可以正确地恢复所需的信息。因此,环路滤波器信息也被提供给熵编码器122以合并到比特流中。在图1a中,环路滤波器130在重建样本被存储在参考图片缓冲器134中之前被应用于重建的视频。图1a中的系统旨在说明典型视频编码器的示例性结构。它可能对应于高效视频编解码(hevc)系统、vp8、vp9、h.264或vvc。5.如图1b所示,除了变换118和量化120之外,解码器可以使用与编码器相似或相同的功能块,因为解码器只需要逆量化124和逆变换126。取代熵编码器122,解码器使用熵解码器140将视频比特流解码为量化的变换系数和需要的编解码信息(例如ilpf信息、帧内预测信息和帧间预测信息)。解码器侧的帧内预测150不需要执行模式搜索。相反,解码器仅需要根据从熵解码器140接收的帧内预测信息生成帧内预测。此外,对于帧间预测,解码器仅需要根据从熵解码器140接收的帧间预测信息执行运动补偿(mc152)而无需运动估计。6.根据vvc,与hevc类似,输入图片被划分(partition)为称为ctu(编解码树单元)的非重叠方形块区域。每个ctu可以划分为一个或多个更小的编解码单元(cu)。生成的cu分区可以是正方形或矩形。此外,vvc将ctu划分为预测单元(pu),作为应用预测处理的单元,例如帧间预测、帧内预测等。7.vvc标准结合了各种新的编解码工具,以进一步在hevc标准基础上提高编解码效率。在各种新的编解码工具中,与本发明相关的一些编解码工具综述如下。8.使用树结构划分ctu9.在hevc中,ctu通过使用表示为编解码树的四叉树(quaternary-tree,简写为qt)结构被分成cu以适应各种局部特征。使用图片间(inter-picture)(时间)(temporal)还是图片内(intra-picture)(空间)(spatial)预测对图片区域进行编解码的决定是在叶cu级别做出的。每个叶cu可以根据pu分割类型(splittingtype)进一步分割成一个、两个或四个pu。在一个pu内部,应用相同的预测过程,并将相关信息以pu为基础传输到解码器。在通过应用基于pu分割类型的预测过程获得残差块后,可以根据类似于cu的编解码树的另一种四叉树结构将叶cu划分为变换单元(tu)。hevc结构的关键特征之一是它具有多个分区概念,包括cu、pu和tu。10.在vvc中,使用二元和三元分割分段结构(binaryandternarysplitssegmentationstructure)的具有嵌套多类型树(nestedmulti-typetree)的四叉树取代了多划分单元类型的概念,即它去除了cu、pu和tu概念的分离(separation)(除了对于具有对于最大变换长度来说尺寸太大的cu),并且支持更灵活(flexibility)的cu分区形状。在解码树结构中,cu可以是正方形或长方形。一个编解码树单元(ctu)首先被一个四叉树(又名四元树(quadtree))结构划分。然后四叉树叶节点可以进一步划分为多类型树结构。如图2所示,多类型树结构中有四种分割类型,垂直二元分割(split_bt_ver210)、水平二元分割(split_bt_hor220)、垂直三元分割(split_tt_ver230)、水平三元分割(split_tt_hor240)。多类型树叶节点称为编解码单元(cu),除非cu对于最大变换长度来说太大,否则此分段用于预测和变换处理,而无需进一步划分。这意味着,在大多数情况下,cu、pu和tu在具有嵌套多类型树块结构的四叉树中具有相同的块大小。当支持的最大变换长度小于cu颜色分量的宽度或高度时会发生例外(exception)。11.图3说明了嵌套多类型树编解码树结构的四叉树中划分分割信息的发信(signaling)机制。编解码树单元(ctu)被视为四叉树的根,并首先由四叉树结构划分。每个四元树叶节点(当足够大以允许它时)然后由多类型树结构进一步划分。在多类型树结构中,发信第一标志(mtt_split_cu_flag)以指示节点是否被进一步划分;当一个节点被进一步划分时,发信第二标志(12.mtt_split_cu_vertical_flag)以指示分割方向,然后发信第三标志(13.mtt_split_cu_binary_flag)以指示分割是二元分割还是三元分割。根据mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的值,推导出cu的多类型树分割模式(mttsplitmode),如表1所示。14.表1–基于多类型树句法元素(syntaxelement)的mttsplitmode推导[0015][0016]图4显示了利用四叉树和嵌套的多类型树编解码块结构将一个ctu分成多个cu,其中粗体块边缘表示四叉树划分,其余边缘表示多类型树划分。具有嵌套多类型树划分的四叉树提供了由cu组成的内容适应性编解码树结构。cu的大小可以与ctu一样大,也可以以亮度(luma)样本为单位小至4×4。对于4:2:0色度(chroma)格式,最大色度cb大小为64×64,最小大小色度cb由16个色度样本组成。[0017]在vvc中,支持的最大亮度变换大小为64×64,支持的最大色度变换大小为32×32。当cb的宽度或高度大于最大变换宽度或高度时,cb会自动在水平和/或垂直方向上拆分以满足该方向上的变换大小限制。[0018]以下参数由用于具有嵌套多类型树编解码树方案的四叉树的sps句法元素定义和指定。[0019]–ctu大小(ctusize):四叉树的根节点大小[0020]–minqtsize:允许的最小四叉树叶节点大小[0021]–maxbtsize:允许的最大二叉树根节点大小[0022]–maxttsize:最大允许的三叉树根节点大小[0023]–maxmttdepth:从四叉树叶分割出的多类型树的最大允许层次深度(hierarchydepth)[0024]–minbtsize:允许的最小二叉树叶节点大小[0025]–minttsize:允许的最小三叉树叶节点大小[0026]在具有嵌套(nested)多类型树编解码树结构的四叉树的一个示例中,ctu大小设置为128×128亮度样本和4:2:0色度样本的两个对应的64×64块,minqtsize设置为16×16,maxbtsize设置为128×128,maxttsize设置为64×64,minbtsize和minttsize(宽度和高度)设置为4×4,maxmttdepth设置为4。四叉树划分首先应用于ctu以生成四叉树叶节点。四叉树叶节点的大小可以从16×16(即minqtsize)到128×128(即ctu大小)。如果叶qt节点为128×128,由于大小超过了maxbtsize和maxttsize(即64×64),二叉树将不再进一步分割。否则,叶qdtree节点可能会被多类型树进一步划分。因此,四叉树叶节点也是多类型树的根节点,其多类型树深度(mttdepth)为0。当多类型树深度达到maxmttdepth(即4)时,不再考虑进一步分割。当多类型树节点的宽度等于minbtsize且小于或等于2*minttsize时,不再考虑进一步水平分割。类似地,当多类型树节点的高度等于minbtsize且小于或等于2*minttsize时,不考虑进一步的垂直分割。[0027]为了在vvc硬件解码器中允许64×64亮度块和32×32色度管线设计(pipeliningdesign),当亮度编解码块的宽度或高度大于64时,禁止tt拆分,如图5所示。其中块500对应于128x128亮度cu。可以使用垂直二进制划分(510)或水平二进制划分(520)来拆分cu。将块拆分成4个cu,每个cu大小为64x64,cu可以进一步使用包括tt在内的分区进行拆分。例如,左上角的64x64cu使用垂直三元拆分(verticalternarysplitting)(530)或水平三元拆分(horizontalternarysplitting)(540)进行划分。当色度编解码块的宽度或高度大于32时,也禁止tt拆分。[0028]在vvc中,编解码树方案支持亮度和色度具有单独的块树结构(blocktreestructure)的能力。对于p和b切片,一个ctu中的亮度和色度ctb必须共享相同的编解码树结构。然而,对于i切片,亮度和色度可以具有单独的块树结构。当应用分离块树模式(separateblocktreemode)时,亮度ctb被一个编解码树结构划分成cu,色度ctb被另一个编解码树结构划分成色度cu。这意味着i切片中的cu可能由亮度分量的编解码块或两个色度分量的编解码块组成,而p或b切片中的cu总是由所有三个颜色分量的编解码块组成,除非视频是单色(monochrome)的。[0029]图片边界上的cu拆分[0030]如在hevc中所做的那样,当树节点块的一部分超出图片边界的底部或右侧时,树节点块被强制拆分,直到每个编解码的cu的所有样本都位于图片边界内。vvc中应用了以下拆分规则:[0031]–如果树节点块的任何部分超出了底部或右侧图片边界(rightpictureboundaries),并且由于块大小限制不允许qt、bt和tt拆分,则该块被强制使用qt拆分方式拆分。[0032]–否则,如果树节点块的一部分超过了底部以及右侧图片边界,[0033]·如果块是一个qt节点,并且块的大小大于最小qt大小,则块被强制使用qt拆分模式进行拆分。[0034]·否则,块被强制以split_bt_hor模式拆分[0035]–否则,如果树节点块的一部分超出了底部图片边界(bottompictureboundaries),[0036]·如果块是qt节点,且块大小大于最小qt大小,且块大小大于最大bt大小,则强制使用qt拆分方式拆分块。[0037]·否则,如果该块为qt节点,且块大小大于最小qt大小且块大小小于或等于最大bt大小,则该块被强制使用qt拆分模式或split_bt_hor模式拆分。[0038]·否则(该块为btt节点或块大小小于或等于最小qt大小),强制以split_bt_hor模式拆分块。[0039]–否则,如果树节点块的一部分超出了图片右侧边界,[0040]·如果块是qt节点,且块大小大于最小qt大小,且块大小大于最大bt大小,则强制使用qt拆分方式拆分块。[0041]·否则,如果该块为qt节点,且块大小大于最小qt大小且块大小小于或等于最大bt大小,则该块被强制使用qt拆分模式或split_bt_ver模式拆分。[0042]·否则(该块为btt节点或块大小小于或等于最小qt大小),强制以split_bt_ver模式拆分块。[0043]冗余cu(redundantcu)拆分的限制[0044]具有嵌套多类型树编解码块结构的四叉树提供了高度灵活的块划分结构。由于支持多类型树的拆分类型,不同的拆分模式(splittingpattern)可能会导致相同的编解码块结构。在vvc中,其中一些冗余拆分模式是不允许的。[0045]图6说明了二叉树分割和三叉树分割的冗余分割模式。如图6所示,一个方向上的两层连续二叉树分割(垂直610和水平630)可能具有与三元树分割(垂直620和水平640)后利用中央划分的二叉树分割相同的块结构。在这种情况下,语法(syntax)阻止了三元树分割的中央分区的二叉树分割(在给定方向上)。此限制适用于所有图片中的cu。[0046]当如上所述禁止分割时,相应语法元素的发信被修改以解决被禁止的情况。例如,当识别出图6中的任一情况(即,对于中央划分(centralpartition)的cu禁止二进制分割),语法元素mtt_split_cu_binary_flag(指定分割是二进制分割还是三分分割)未被发信,而是被解码器推断为等于0。[0047]虚拟管线数据单元(virtualpipelinedataunit,简写为vpdu)[0048]虚拟管线数据单元(vpdu)被定义为画面中的非重叠单元。在硬件解码器中,连续的vpdu由多个管线级同时处理。在大多数管线级,vpdu大小与缓冲区大小大致成正比,因此保持vpdu大小较小很重要。在大多数硬件解码器中,vpdu大小可以设置为最大变换块(transformblock,简写为tb)大小。然而,在vvc中,三叉树(tt)和二叉树(bt)划分可能会导致vpdu大小增加。[0049]为了将vpdu大小保持为64x64亮度样本,在vtm中应用以下规范划分限制(具有语法信令修改),如图7所示:[0050]–对于宽度或高度等于128或宽度和高度都等于128的cu,不允许进行tt拆分(如图7中的“x”所示)。[0051]–对于n≤64(即宽度等于128且高度小于128)的128xncu,不允许水平bt。[0052]对于n≤64(即高度等于128且宽度小于128)的nx128cu,不允许垂直bt。在图7中,亮度块大小为128x128。虚线表示块大小为64x64。根据上述限制,不允许分划分的例子用“x”表示,如图7中的各种例子(710-780)所示。[0053]帧内色度(intrachroma)划分和预测限制(predictionrestriction)[0054]在典型的硬件视频编码器和解码器中,由于相邻帧内块(neighboringintrablock)之间的样本处理数据依赖性,当图片具有更多小帧内块(smallintrablock)时处理吞吐量下降。帧内块的预测子生成需要来自相邻块的顶部和左侧边界重建样本。因此,必须逐块顺序地处理帧内预测。[0055]在hevc中,最小的帧内cu是8x8亮度样本。最小帧内cu的亮度分量可以进一步分割为4个4x4亮度帧内预测单元(pus),但最小帧内cu的色度分量不能进一步分割。因此,当处理4x4色度帧内块或4x4亮度帧内块时,会出现最坏情况的硬件处理吞吐量。在vvc中,为了提高最坏情况下的吞吐量,通过限制色度帧内cb(chromaintracb)的划分,不允许小于16个色度样本(大小2x2、4x2和2x4)的色度内cb和宽度小于4个色度样本(大小2xn)的色度内cb。[0056]在单个编解码树中,最小色度帧内预测单元(smallestchromaintrapredictionunit,简写为scipu)被定义为色度块大小大于或等于16个色度样本并且具有至少一个小于64亮度样本的子亮度块的编解码树节点,或者其色度块大小不是2xn,并且至少有一个子亮度块4xn亮度样本的编码树节点。要求在每个scipu中,所有cb都是帧间(inter)的,或者所有的cb都是非帧间(non-inter)的,即帧内(intra)或帧内块复制(intrablockcopy,简写为ibc)。在非帧间scipu的情况下,还要求非帧间scipu的色度不应该被进一步分割并且scipu的亮度被允许进一步分割。这样,大小小于16个色度样本或大小为2xn的小色度帧内cb被移除。此外,在非帧间scipu的情况下不应用色度缩放。在这里,不发信额外的语法,并且scipu是否是非帧间的可以通过scipu中的第一个亮度cb的预测模式来导出。如果当前切片是i切片(i-slice),或者当前scipu在进一步分割一次后有4x4亮度划分,则推断scipu的类型为非帧间(因为vvc不允许帧间4x4);否则,在解析scipu中的cu之前,通过一个标志指示scipu的类型(帧间或非帧间)。[0057]对于图片内(intrapicture)中的双树(dualtree),通过分别针对4xn和8xn色度划分禁用垂直二元和垂直三元分割来移除2xn帧内色度块。大小为2x2、4x2和2x4的小色度块也通过划分限制被删除。[0058]另外,通过考虑图片宽度和高度是max(8,mincbsizey)的倍数,考虑对图片尺寸的限制以避免图片角处的2x2/2x4/4x2/2xn帧内色度块。[0059]具有67种帧内预测模式的帧内模式编解码[0060]为了捕获自然视频中呈现的任意边缘方向(arbitraryedgedirection),vvc中的定向帧内模式(directionalintramode)的数量从hevc中使用的33个扩展到65个。hevc中没有的新定向模式在图8中被描绘为红色虚线箭头,平面(planar)和dc模式保持不变。这些更密集的定向帧内预测模式适用于所有块大小以及亮度和色度帧内预测。[0061]在vvc中,针对非方形块,几种传统的角度帧内预测模式被适应性地替换为广角帧内预测模式。[0062]在hevc中,每个帧内编解码块具有正方形形状并且其每条边的长度是2的幂。因此,不需要除法操作(divisionoperation)来使用dc模式生成帧内预测子(intra-predictor)。在vvc中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免dc预测的除法操作,只有较长的边用于计算非方形块的平均值。[0063]为了保持最可能模式(mostprobablemode,简写为mpm)列表生成的复杂性较低,通过考虑两个可用的相邻帧内模式,使用具有6个mpm的帧内模式编解码方法。构建mpm列表考虑以下三个方面:[0064]–默认帧内模式[0065]–相邻帧内模式[0066]–导出的帧内模式。[0067]统一的(unified)6-mpm列表用于帧内块,而不管是否应用mrl和isp编解码工具。mpm列表是基于左侧和上方相邻块的帧内模式构建的。假设左侧的模式记为left,上方块的模记为above,则统一的mpm列表构造如下:[0068]–当相邻块不可用时,其帧内模式默认设置为planar。[0069]–如果left和above两种模式都是非角度模式(non-angularmode):[0070]–mpm列表→{planar,dc,v,h,v-4,v+4}[0071]–如果left和above模式之一是角度模式(angularmode),另一个是非角度模式:[0072]–将模式max设置为left和above中的较大模式[0073]–mpm列表→{planar,max,dc,max-1,max+1,max-2}[0074]–如果left和above都是有角度的并且它们不同:[0075]–将模式max设置为left和above中的较大模式[0076]–如果模式left和above的差异在2到62的范围内,包括2和62[0077]·mpm列表→{planar,left,above,dc,max-1,max+1}[0078]–否则[0079]·mpm列表→{planar,left,above,dc,max-2,max+2}[0080]–如果left和above都是有角度的并且它们是相同的:[0081]–mpm列表→{planar,left,left-1,left+1,dc,left-2}[0082]此外,mpm索引码字的第一个位元子(bin)是cabac上下文编解码的。总共使用了三个上下文,对应于当前帧内块是启用mrl、启用isp还是正常帧内块。[0083]在6mpm列表生成过程中,修剪(pruning)用于去除重复的模式,使得只有独特的模式可以被包括到mpm列表中。对于61种非mpm模式的熵编解码,使用截断的二进制编解码(truncatedbinarycode,简写为tbc)。[0084]非正方形块的广角帧内预测[0085]常规角度帧内预测方向被定义为顺时针方向从45度到-135度。在vvc中,几种传统的角度帧内预测模式被适应性地替换为非方形块的广角帧内预测模式。替换的模式使用原始模式索引发信,原始模式索引在解析后重新映射到广角模式的索引。帧内预测模式总数不变,即67,且帧内模式编解码方法不变。[0086]为了支持这些预测方向,长度为2w+1的顶部参考和长度为2h+1的左侧参考分别如图9a和图9b被定义。[0087]广角方向模式中替换模式的数量取决于块的纵横比。替换的帧内预测模式如表2所示。[0088]表2–广角模式替换的帧内预测模式[0089]纵横比替换的帧内预测模式w/h==16模式12,13,14,15w/h==8模式12,13w/h==4模式2,3,4,5,6,7,8,9,10,11w/h==2模式2,3,4,5,6,7,w/h==1无w/h==1/2模式61,62,63,64,65,66w/h==1/4模式57,58,59,60,61,62,63,64,65,66w/h==1/8模式55,56w/h==1/16模式53,54,55,56[0090]如图10所示,在广角帧内预测的情况下,两个垂直相邻的预测样本(样本1010和1012)可能使用两个不相邻的参考样本(样本1020和1022)。因此,将低通参考样本滤波器和边平滑(sidesmoothing)应用于广角预测,以减少增加的间隙δpα的负面影响。如果广角模式表示非分数偏移。广角模式中有8个模式满足这个条件,分别是[-14,-12,-10,-6,72,76,78,80]。当通过这些模式预测块时,直接复制参考缓冲区中的样本而不应用任何插值。通过此修改,需要平滑的样本数量减少了。此外,它对齐(align)了传统预测模式和广角模式中非分数模式的设计。[0091]在vvc中,支持4:2:2和4:4:4以及4:2:0色度格式。4:2:2色度格式的色度导出模式(derivedmode,简写为dm)导出表最初是从hevc移植的,将条目数从35扩展到67,以与帧内预测模式的扩展保持一致。由于hevc规范不支持-135°以下和45°以上的预测角度,从2到5的亮度帧内预测模式映射到2。因此,用于4:2:2色度格式的色度dm推导表透过替换映射表(mappingtable)条目的一些值来更新,以更精确地转换色度块的预测角度。[0092]模式相关帧内平滑(modedependentintrasmoothing,简写为mdis)[0093]四抽头(four-tap)帧内插值滤波器被用来提高定向帧内预测精度(directionalintrapredictionaccuracy)。在hevc中,双抽头线性插值滤波器已用于在定向预测模式(即不包括平面和dc预测子)中生成帧内预测块。在vvc中,简化的6位4抽头高斯插值滤波器仅用于定向帧内模式。非定向帧内预测过程未修改。4抽头滤波器的选择是根据提供非分数位移的定向帧内预测模式的mdis条件执行的,即除以下模式外的所有定向模式:2、hor_idx、dia_idx、ver_idx、66。[0094]根据帧内预测模式,执行以下参考样本处理:[0095]–定向帧内预测模式分为以下几组之一:[0096]–垂直或水平模式(hor_idx、ver_idx),[0097]–表示45°倍数的角度的对角线模式(2、dia_idx、vdia_idx),[0098]–剩余的定向模式;[0099]–如果定向帧内预测模式属于a组,则不对参考样本应用滤波器来生成预测样本;[0100]–否则,如果模式属于b组,则可以将[1,2,1]参考样本滤波器(取决于mdis条件)应用于参考样本,以根据所选的方向进一步将这些滤波的值复制到帧内预测子中,但不应用插值滤波器;[0101]–否则,如果模式被分类为属于c组,则仅将帧内参考样本插值滤波器应用于参考样本以生成预测样本,该预测样本根据所选方向落入参考样本之间的小数或整数位置(不执行参考样本滤波)。[0102]交叉分量线性模型(cross-componentlinearmodel,简写为cclm)预测[0103]为了减少交叉分量冗余,在vvc中使用交叉分量线性模型(cclm)预测模式,其中通过使用线性模型基于相同cu的重建的亮度样本来预测色度样本如下:[0104]predc(i,j)=α·recl′(i,j)+βꢀꢀ(1)[0105]其中predc(i,j)表示cu中预测的色度样本,recl(i,j)表示同一cu的下采样的重建的亮度样本(downsampledreconstructedlumasample)。[0106]cclm参数(α和β)由最多四个相邻色度样本及其相应的下采样的亮度样本导出。假设当前色度块维度为w×h,则w'和h'设置为[0107]当应用lm模式时,w’=w,h’=h;[0108]当应用lm-a模式时,w’=w+h;[0109]当应用lm-l模式时,h’=h+w;[0110]上述相邻位置记为s[0,-1]…s[w'-1,-1],左相邻位置记为s[-1,0]…s[-1,h'-1]。然后选择四个样本作为[0111]–当应用lm模式,且上方和左侧相邻样本可用时,s[w’/4,-1],s[3*w’/4,-1],s[-1,h’/4],s[-1,3*h’/4];[0112]–当应用lm-a模式,且仅上方相邻样本可用时,s[w’/8,-1],s[3*w’/8,-1],s[5*w’/8,-1],s[7*w’/8,-1];[0113]–当应用lm-l模式,且仅左侧相邻样本可用时,s[-1,h’/8],s[-1,3*h’/8],s[-1,5*h’/8],s[-1,7*h’/8];[0114]所选位置处的四个相邻亮度样本被下采样并比较四次以找到两个较小的值:x0a和x1a,以及两个较大的值:x0b和x1b。它们对应的色度样本值表示为y0a,y1a,y0b和y1b。xa,xb,ya和yb导出为:[0115]xa=(x0a+x1a+1)》》1;[0116]xb=(x0b+x1b+1)》》1;[0117]ya=(y0a+y1a+1)》》1;[0118]yb=(y0b+y1b+1)》》1ꢀꢀ(2)[0119]最后,根据以下等式获得线性模型参数α和β。[0120][0121]β=yb-α·xbꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0122]图11显示了cclm模式中涉及的当前块的样本以及左侧和上方样本的位置示例。图11显示了n×n色度块1110、相应的2n×2n亮度块1120及其相邻样本(显示为实心圆)的相对样本位置。[0123]计算参数α的除法运算是通过查找表实现的。为了减少存储表所需的内存,diff值(最大值和最小值之间的差)和参数α用指数表示法表示。例如,diff由一个4位有效部分(significantpart)和一个指数来近似。因此,对于16个有效数值(significandvalues),1/diff的表被简化为16个元素(elements),如下所示:[0124]divtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(5)[0125]这将具有降低计算复杂性以及存储所需表格所需的存储器大小的益处。[0126]上方模板(abovetemplate)和左侧模板(lefttemplate)[0127]可以一起用于计算线性模型系数外,它们还可以可选[0128]地用于其他2种lm模式,称为lm_a和lm_l模式。[0129]在lm_a模式下,仅使用上方模板计算线性模型系数。[0130]为了获得更多样本,将上方模板扩展为(w+h)。在lm_l[0131]模式下,只使用左侧模板计算线性模型系数。[0132]为了获得更多样本,将左侧模板扩展为(h+w)。[0133]对于非正方形块,将上方模板扩展为w+w,将左侧模板扩展为h+h。[0134]为了匹配4:2:0视频序列的色度样本位置,将两种类型的下采样滤波器应用于亮度样本以在水平和垂直方向上实现2比1的下采样比率。[0135]下采样滤波器的选择由sps级别标志指定。[0136]两个下采样滤波器如下,分别对应“type-0”和“type-2”内容。[0137]recl′(i,j)=[recl(2i-1,2j-1)+2·recl(2i-1,2j-1)+recl(2i+1,2j-1)+recl(2i-1,2j)+2·recl(2i,2j)+recl(2i+1,2j)+4]>>3ꢀꢀ(6)[0138]recl′(i,j)=recl(2i,2j-1)+recl(2i-1,2j)+4·recl(2i,2j)+recl(2i+1,2j)+recl(2i,2j+1)+4]>>3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(7)[0139]注意,当上方参考线(upperreferenceline)在ctu边界处时,仅使用一条亮度线(帧内预测中的通用线缓冲器)来制作下采样的亮度样本。[0140]该参数计算作为解码过程的一部分执行,而不仅仅是作为编码器搜索操作。因此,没有语法用于将α和β值传送给解码器。[0141]对于色度帧内模式编解码,色度帧内模式编解码总共允许8种帧内模式。这些模式包括五种传统帧内模式和三种跨分量线性模型模式(cclm、lm_a和lm_l)。色度模式信令和推导过程如表3所示。色度模式编解码直接取决于相应亮度块的帧内预测模式。由于在i切片中启用了用于亮度和色度分量的单独块划分结构,所以一个色度块可以对应于多个亮度块。因此,对于色度dm模式,直接继承覆盖当前色度块中心位置的对应亮度块的帧内预测模式。[0142]表-1–当启用cclm时从亮度模式导出色度预测模式[0143][0144]如表4所示,无论sps_cclm_enabled_flag的值如何,都使用单个二值化表。[0145]表2–用于色度预测模式的统一二值化表[0146][0147]在表4中,第一个位元子表示它是常规(0)还是lm模式(1)。如果是lm模式,则下一个位元子表示是否为lm_chroma(0)。如果不是lm_chroma,则下一个位元子表示是lm_l(0)还是lm_a(1)。对于这种情况,当sps_cclm_enabled_flag为0时,对应intra_chroma_pred_mode的二值化表的第一个位元子可以在熵编解码之前被丢弃。或者,换句话说,第一个位元子被推断为0,因此未被编解码。此单个二值化表用于sps_cclm_enabled_flag等于0和1的情况。表4中的前两个位元子使用其自己的上下文模型进行上下文编进而码,其余位元子进行旁路编解码。[0148]此外,为了减少双树中的亮度-色度延迟,当64x64亮度编解码树节点不分割(并且64x64cu不使用isp)或使用qt划分时,32x32/32x16色度编解码树节点中的色度cu允许通过以下方式使用cclm:[0149]–如果32x32色度节点不分割或使用qt分割划分,则32x32节点中的所有色度cu都可以使用cclm[0150]–如果32x32色度节点采用水平bt划分,32x16子节点不分割或使用垂直bt分割,则32x16色度节点中的所有色度cu都可以使用cclm。[0151]在所有其他亮度和色度编解码树分割条件下,cclm不允许用于色度cu。[0152]位置相关(positiondependent)帧内预测组合[0153]在vvc中,dc、平面和若干角度模式的帧内预测结果通过位置相关帧内预测组合(positiondependentintrapredictioncombination,简写为pdpc)方法进一步修改。pdpc是一种帧内预测方法,它调用未滤波的边界参考样本和hevc样式的帧内预测搭配滤波的边界参考样本的组合。pdpc应用于以下帧内模式而无需信令(withoutsignaling):平面、dc、水平、垂直、左下角模式及其八个相邻角度模式(angularmode)、右上角模式及其八个相邻角度模式。[0154]使用帧内预测模式(dc、平面、角度)和参考样本的线性组合根据如下的等式(8)预测预测样本pred(x’,y’):[0155]pred(x’,y’)=(wl×r-1,y’+wt×rx’,-1-wtl×r-1,-1+(64-wl-wt+wtl)×pred(x’,y’)+32)》》6ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(8)[0156]其中rx,-1,r-1,y分别表示位于当前样本(x,y)上方和左侧边界的参考样本,r-1,-1表示位于当前块左上角的参考样本。[0157]如果pdpc应用于dc、平面、水平和垂直帧内模式,则不需要额外的边界滤波器,如在hevcdc模式边界滤波器或水平/垂直模式边缘滤波器的情况下所需要的。dc和平面模式的pdpc过程是相同的,并且避免了削波操作。对于角度模式,调整pdpc比例因子,这样就不需要范围检查,并且删除启用pdpc的角度条件(使用》=0的比例(scale》=0))。此外,在所有角度模式情况下,pdpc权重均基于32。pdpc权重取决于预测模式,如表5所示。pdpc应用于宽度和高度均大于或等于4的块。[0158]表3–依据预测模式的pdpc权重的示例[0159][0160]图12a-d说明了应用于各种预测模式的pdpc的参考样本(rx,-1,r-1,y和r-1,-1)的定义,其中图12a对应于对角线右上角模式,图12b对应于对角线左下角模式,图12c对应于相邻对角线右上角模式,图12d对应于相邻对角线左下角模式。预测样本pred(x’,y’)位于预测块内的(x',y')处。例如,参考样本rx,-1的坐标x由下式给出:x=x'+y'+1,参考样本r-1,y的坐标y类似地由下式给出:y=x'+y'+1用于对角(diagonal)模式。对于其它角度模式,参考样本rx,-1和r-1,y可以位于分数样本位置。在这种情况下,使用最近的整数样本位置的样本值。[0161]多参考线(multiplereferenceline,简写为mrl)帧内预测[0162]多参考线(mrl)帧内预测使用更多参考线用于帧内预测。图13描述了4条参考线的示例,其中片段(segment)a和f的样本不是从重建的相邻样本中提取的,而是分别用片段b和e中最接近的样本填充的。hevc画面内预测使用最近的参考线(即参考线0)。在mrl中,使用了2条附加线(参考线1和参考线3)。[0163]所选参考线的索引(mrl_idx)被发信并用于生成帧内预测子。对于大于0的参考线idx,仅在mpm列表中包括额外的参考线模式并且仅发信mpm索引而不发信剩余模式。参考线索引在帧内预测模式之前发信,并且在发信非零参考线索引的情况下,平面模式被排除在帧内预测模式之外。[0164]mrl对于ctu内的块的第一行被禁用以防止使用当前ctu行之外的扩展参考样本。此外,当使用附加线时,pdpc(position-dependentpredictioncombinatio,位置相关预测组合)将被禁用。对于mrl模式,非零参考线索引的dc帧内预测模式中dc值的推导与参考线索引0的推导对齐。mrl需要存储ctu的3个相邻的亮度参考线以生成预测。交叉分量线性模型(cclm)工具还需要3条相邻的亮度参考线用于其下采样滤波器。mrl的定义与cclm一致去使用相同3行,以减少解码器的存储要求。[0165]具有cu级别权重的双向预测(bi-predictionwithcu-levelweight,简写为bcw)[0166]在hevc中,通过对从两个不同的参考图片获得的两个预测信号求平均和/或使用两个不同的运动矢量来生成双向预测信号。在vvc中,双向预测模式被扩展到简单的平均之2.0,可在https://vcgit.hhi.fraunhofer.de/ecm/ecm[online]获得)。特别地,已经开发了一种用于联合预测残差变换块中变换系数级别的符号集合的新方法(jvet-d0031,felixhenry等人,“residualcoefficientsignprediction”,itu-tsg16wp3和iso/iecjtc1/sc29/wg11的联合视频专家组(jvet),第4次会议:中国成都,2016年10月15-21日,文件jvet-d0031)。在ecm2中,为了得出残差变换块的最佳符号预测假设,将成本函数定义为跨块边界的不连续性度量,如图14所示,其中块1410对应于变换块,圆圈1420和1422对应于相邻块样本和圆圈1430和1432对应于与块1410的符号(sign)候选相关联的重建样本。成本函数被定义为上方行和左侧列的残差域中的绝对二阶导数之和,如下所示:[0177][0178]上式中,r为重建相邻,p为当前块的预测,r为残差假设。变换块中每个符号预测假设(hypothesis)的允许的最大预测符号个数nsp在序列参数集(sps)中发信,并且在ecm-2.0中被限制为小于或等于8。为所有假设测量成本函数,并选择具有最小成本的假设作为系数符号的预测子(predictor)。仅允许将来自变换块中左上角4x4变换子块区域(具有最低频率系数)的系数符号包含在假设中。根据左上角4x4子块上的光栅扫描顺序收集和编解码前nsp个(firstnsp)非零系数(如果可用)的符号。对于那些预测的系数,代替系数符号,指示预测的符号是否等于所选假设的符号预测位元子被发信。这个符号预测位元子是上下文编解码的,其中所选上下文是从系数是否为dc中导出的。上下文针对块内块(intrablock)和块间块(interblock)以及亮度和色度分量是分开的。对于那些没有符号预测的其他系数,相应的符号在旁路模式下由cabac编解码。[0179]色度残差联合编码[0180]vvc支持色度残差联合编解码(jointcodingofchromaresidual,简写为jccr)工具,其中色度残差被联合编解码。jccr模式的使用(激活)由tu级标志tu_joint_cbcr_residual_flag指示,所选模式由色度cbf隐式指示。如果tu的一个或两个色度cbf等于1,则存在标志tu_joint_cbcr_residual_flag。在pps(图片参数集)和切片报头中,发信色度qp偏移值用于jccr模式,以区别于为常规色度残差编解码模式发信的通常的色度qp偏移值。这些色度qp偏移值用于导出使用jccr模式编解码的某些块的色度qp值。jccr模式有3个子模式。当相应的jccr子模式(表1中的子模式2)在tu中处于活动状态时,此色度qp偏移量会在该tu的量化和解码期间添加到应用的亮度导出的色度qp。对于其他jccr子模式(表6中的子模式1和3),色度qp的导出方式与传统cb或cr块相同。传输的变换块的色度残差(rescb和rescr)的重建过程展示在表1中。当jccr模式被激活时,发信一个单一的联合色度残差块(表1中resjointc[x][y]),cb的残差块(rescb)和cr的残差块(rescr)是考虑诸如tu_cbf_cb、tu_cbf_cr和csign之类的信息而导出的,csign是切片报头中指定的符号值。[0181]在编码器侧,联合色度分量的导出如下所述。根据模式(在上表中列出),resjointc{1,2}由编码器生成,如下所示:[0182]如果模式对于2(单个残差,重建cb=c,cr=csign*c),联合残差的确定如下[0183]resjointc[x][y]=(rescb[x][y]+csign*rescr[x][y])/2[0184]否则,如果模式等于1(单个残差,重建cb=c,cr=(csign*c)/2),联合残差的确定如下[0185]resjointc[x][y]=(4*rescb[x][y]+2*csign*rescr[x][y])/5[0186]否则(模式等于3,即,单个残差,重建cr=c,cb=(csign*c)/2),联合残差的确定如下[0187]resjointc[x][y]=(4*rescr[x][y]+2*csign*rescb[x][y])/5[0188]表6.重建色度残差。值csign是一个符号值(+1或-1),在切片报头中指定,resjointc[][]是传输的残差。[0189][0190]上述三种联合色度编解码子模式仅在i切片中被支持。在p和b切片中,仅支持模式2。因此,在p和b切片中,语法元素tu_joint_cbcr_residual_flag仅在两个色度cbfs均为1时才存在。[0191]jccr模式可以与色度变换跳过(transformskip,简写为ts)模式组合(ts模式的更多细节可以在jvet-t2002的section3.9.3中找到)。为了加快编码器决策,jccr变换选择取决于cb和cr分量的独立编解码是选择dct-2还是ts作为最佳变换,以及独立色度编解码中是否存在非零系数。具体来说,如果一个色度分量选择dct-2(或ts)而另一个分量全为零,或者两个色度分量都选择dct-2(或ts),那么在jccr编码中只会考虑dct-2(或ts)。否则,如果一个分量选择dct-2而另一个分量选择ts,那么dct-2和ts都将在jccr编码中考虑。技术实现要素:[0192]有鉴于此,本发明提供以下技术方案:[0193]本发明提供一种视频编解码方法,包括接收与当前块相关联的输入数据,其中,输入数据包括编码器侧待编码的当前块的像素数据或解码器侧与当前块相关联的待解码的编码数据;确定与编解码模式或模式参数相关的一组候选;确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用(1)根据该每一目标候选确定的该当前块的重建或预测的样本以及(2)该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的;基于边界匹配成本从组候选中确定最终候选;以及使用最终候选对当前块进行编码或解码。[0194]本发明提供一种用于视频编解码的装置,装置包括一个或多个电子设备或处理器,用于:接收与当前块相关联的输入数据,其中,输入数据包括编码器侧待编码的当前块的像素数据或解码器侧与当前块相关联的待解码的编码数据;确定与编解码模式或模式参数相关的一组候选;确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用(1)根据该每一目标候选确定的该当前块的重建或预测的样本以及(2)该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的;基于边界匹配成本从组候选中确定最终候选;以及使用最终候选对当前块进行编码或解码。[0195]本发明的视频编解码方法及相应装置可以提高编解码性能。【附图说明】[0196]结合在本说明书中并构成本说明书一部分的附图示出了本发明的实施例,并且与说明书一起用于解释本发明的原理:[0197]图1a说明了包含循环处理的示例性适应性帧间/帧内视频编解码系统。[0198]图1b图示了图1a中的编码器的相应解码器。[0199]图2示出了对应于垂直二元分割(split_bt_ver)、水平二元分割(split_bt_hor)、垂直三元分割(split_tt_ver)和水平三元分割(split_tt_hor)的多类型树结构的示例。[0200]图3示出了具有嵌套多类型树编解码树结构的四叉树中的划分分割信息的信令机制的示例。[0201]图4示出了ctu被划分为具有四叉树和嵌套多类型树编解码块结构的多个cu的示例,其中粗体块边缘表示四叉树划分而其余边缘表示多类型树划分。[0202]图5显示了当亮度编解码块的宽度或高度大于64时禁止tt分割的示例。[0203]图6示出了二叉树分割和三叉树分割的冗余分割模式的示例。[0204]图7显示了当亮度编解码块的宽度或高度大于64时禁止tt分割的一些例子。[0205]图8显示了vvc视频编解码标准采用的帧内预测模式。[0206]图9a-b图示了宽度大于高度的块(图9a)和高度大于宽度的块(图9b)的广角帧内预测的示例。[0207]图10图示了在广角帧内预测的情况下使用两个不相邻参考样本的两个垂直相邻预测样本的示例。[0208]图11示出了cclm模式中涉及的当前块的样本和左侧及上方样本位置示例。[0209]图12a-d图示了应用于各种预测模式的pdpc的参考样本定义的示例,其中图12a对应于对角右上模式,图12b对应于对角左下模式,图12c对应于相邻对角线右上模式,图12d对应于相邻对角线左下模式。[0210]图13示出了多参考线(mrl)帧内预测使用更多参考线进行帧内预测的示例。[0211]图14示出了边界匹配成本计算中涉及的边界像素的示例。[0212]图15示出了根据本发明的一个实施例的方向性边界匹配的例子,包括除了水平和垂直方向之外的角度方向。[0213]图16示出了根据本发明的一个实施例的基于当前块与一个或多个相邻块之间的运动矢量的相似性/差异性来选择性地排除顶部或左侧区域以用于边界匹配计算的示例。[0214]图17示出了根据本发明的一个实施例的通过对参考块及其l形相邻区域的上下文分析来选择性地排除顶部或左侧区域以用于边界匹配计算的另一示例。[0215]图18示出了根据本发明的一个实施例的示例性视频编解码系统的流程图,该系统利用基于当前块及其相邻块的编码上下文的选择性边界匹配。【具体实施方式】[0216]容易理解的是,如本文附图中大体描述和图示的本发明的组件可以以多种不同的配置来布置和设计。因此,以下对如图所示的本发明的系统和方法的实施例的更详细描述并不旨在限制所要求保护的本发明的范围,而仅代表本发明的选定实施例。贯穿本说明书对“一实施例”、“一个实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。因此,贯穿本说明书各处出现的短语“在一实施例中”或“在一个实施例中”不一定都指代相同的实施例。[0217]此外,所描述的特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。然而,相关领域的技术人员将认识到,本发明可以在没有一个或多个特定细节的情况下,或使用其他方法、组件等来实践。在其他情况下,未显示或未显示众所周知的结构或操作详细描述以避免模糊本发明的方面。参考附图将最好地理解本发明的所示实施例,其中相同的部分自始至终由相同的数字表示。下面的描述仅旨在作为示例,并且简单地说明与如本文要求保护的本发明一致的设备和方法的某些选定实施例。[0218]在当前新兴的国际视频标准的发展过程中,提出了越来越多的编解码模式。通常,需要发信选定的编解码模式,以便解码可以使用相同的编码模式。随着编解码模式的增加,需要更多的数据来表示与编解码模式相关的语法元素。因此,需要开发技术来减少甚至消除发信相关语法元素所需的数据。用于ecm2.0中使用的变换系数的联合符号编解码的边界匹配(boundarymatching)技术说明了一种技术,即编码器和解码器都可以根据相邻数据进行相同的成本评估,以选择最小成本函数(smallestcostfunction)的符号组合(signcombination)。在本发明中,使用块边界匹配(blockboundarymatching)方法来提高性能。[0219]边界平滑度测量的附加角度[0220]与仅包括垂直(用于顶部)或水平(用于左侧)方向匹配(directionmatching)(例如ecm内的残差符号预测)的传统边界匹配算法相比,在所提出的方法中,边界匹配标准不仅包括垂直(对于顶部边缘)和/或水平(对于左边缘),还有一些其他角度。如图15所示,传统的边界匹配是垂直比较像素1510;所提出的边界匹配方法可以在对角线方向(在右上方向1520或左上方向1530的角度)上比较像素。对于其他角度,可以使用滤波器(例如fir滤波器)对像素的小数位置进行插值(例如,如果角度指向的对应位置不是像素的整数位置)[0221]匹配过程的角度可以被明确地发信或隐式地导出(在解码过程中)。[0222]在一个实施例中,平滑度匹配角度(smoothnessmatchingangle)可以在cu/pu/ctu基础上明确地发信,它也可以由相邻cu预测(例如,发信左侧或顶部相邻cu的平滑度匹配角度和细节角度(detailangle)差异。)[0223]在另一个实施例中,可以隐含地决定平滑度匹配角度。在一个实施例中,该角度由帧内(intra-mode)模式决定(例如,在vvc中,帧内编解码模式有各种角度,帧内模式指定的角度可以重新用作边界平滑度匹配角度)。在另一个实施例中,可以通过对当前l形(当前l形是当前cu周围的顶部、左侧和/或左上角像素区域)的上下文分析来决定角度,例如角度分析(使用角度滤波器)或一些角度滤波器的角度直方图。[0224]在另一个实施例中,角度可以部分地发信,部分地隐含地决定。在一个示例中,编码器可以发送一个粗略角度(coarseangle)并且解码器导出一个精细角度(fine-angle)。粗略角度和导出的精细角度可以组合在一起形成最终角度。在另一示例中,编码器可以发送一个精细角度,而解码器导出一个粗略角度。[0225]角度确定后,边界匹配可以根据角度进行平滑匹配(沿方向比较像素)或梯度值匹配(沿方向比较梯度值)。[0226]计算差异期间的值削波[0227]在一些情况下,(当前cu周围的相邻像素的)l形可以是另一个对象(与当前cu的对象不同)。在这种情况下,边界平滑度匹配可能会造成损失。为了解决这个风险,提出了一种新方法。该方法在计算边界平滑度匹配时,会对样本匹配差值(samplematchingdifference)进行裁剪。以下是截断差异的示例。首先,预定义最小阈值和/或预定义最大阈值。然后,应用裁剪过程来调整差值。进行裁剪时,如果差值大于最大阈值,则设置为等于最大阈值;如果差异小于最小阈值,则将其设置为等于最小阈值。[0228]在一个实施例中,限幅阈值可以是固定的。在另一个实施例中,限幅阈值可以在ctu级或图片级或序列级中发信。在又一实施例中,限幅阈值可以通过当前l形和当前预测子的上下文分析或直方图分析来隐含地决定。在又一个实施例中,可以根据原始视频比特深度或编解码器中的内部比特深度来隐式地决定剪切阈值。[0229]基于运动矢量相似性的边界选择[0230]可以隐式地执行边界选择。以下是隐式边界选择的一些示例。[0231]在一些情况下,相邻像素可能与当前cu具有不连续性(例如,相邻cu位于另一个对象中)。在这种情况下,边界匹配方法可能会造成损失。因此,需要一种方法来决定是否信任相邻像素。[0232]在这个提出的方法中,在一个实施例中,编解码信息被用来决定所信任的相邻像素。以编解码信息为当前块的至少两个运动矢量和当前块的一个或多个相邻块为例。如果该边(顶部或左侧)的相邻mv的mv与当前cumv差异较大,则该边将被排除在边界匹配之外。用于相似性(或差异性)比较的mv可以是像素级(假设相邻区域和当前cu区域具有像素级mv)、子块级(假设相邻区域和当前cu区域具有子块级mv)或cu(块)级。[0233]根据该方法的一个示例在图16中示出,其中块1610对应于当前cu,块1620对应于左侧相邻子块并且块1630对应于顶部相邻子块。左侧相邻子块的运动矢量标记为1622和1624。顶部相邻子块的运动矢量标记为1632、1634、1636和1638。左侧当前块的运动矢量标记为1611和1612。当前块靠近顶部的运动矢量被标记为1612、1614、1616和1618。如图16所示,当前块的运动矢量类似于左侧相邻子块的运动矢量并且当前块的运动矢量与顶部相邻子块的运动矢量非常不同。因此,只有左边界像素被包括在边界匹配计算中。预先定义了一个阈值来衡量运动矢量的相似性。在一种方式中,阈值被预定义为标准中的一个或多个固定值。另一种方式是根据mv取值范围(标准中定义)、块宽、块高、块面积、当前块或相邻编解码块的编解码信息或上下文来选择阈值。[0234]在另一个实施例中,解码器可以参考相应的参考像素(参考图片1720中由当前cu1710的当前mv1712指向的像素1730)和参考图片中的相应的l形区域1740,如图17所示。以下是参考块及其对应的l形相邻区域的上下文分析示例。如果顶部或左侧的相应l形像素1740与参考块1730非常不同,则它可以隐含地放弃(即,不使用)当前cu的相应侧。例如,如果顶边对应的l形像素与参考块差异很大,则当前块将不会使用当前l形的顶部像素进行匹配。[0235]当启用jccr时,同时考虑cb和cr块边界[0236]在ecm2.0中,有一种符号预测方法(通过边界匹配)的编解码工具,在jccr情况下,边界匹配只应用于一个固定的颜色分量(例如固定比较cb的边界匹配))[0237]在该方法中,当针对jccr情况通过边界匹配对残差进行符号预测时,建议同时考虑cb和cr块边界。[0238]在一个实施例中,cb像素和cr像素都是边界匹配的,并且总失真(totaldistortion)被用来决定残差符号位(residualsignbit)。[0239]在另一个实施例中,对cb边界匹配结果和cr边界匹配结果进行加权以确定剩余符号位。[0240]在另一个实施例中,编码器可以发送信号以通知解码器选择cb边界匹配或cr边界匹配。[0241]在另一个实施例中,cb边界匹配和cr边界匹配的加权(匹配成本的加权和)取决于jccr模式。例如,如果在某种jccr模式下,cb比cr更重要,那么cb边界匹配在加权求和中将更重要。[0242]在另一个子实施例中,它取决于当前预测值和相邻重建像素之间的差异。例如,如果cb的当前预测值与相邻重建像素之间的差异远大于cr的当前预测值与相邻重建像素之间的差异,则它对cb边界匹配具有更高的权重(或者,在另一个示例中,跳过cr边界匹配)。[0243]仅基于水平边界的检查或子采样[0244]在该方法中,为了降低边界匹配的复杂度,边界匹配可以仅基于水平边界。在可以通过边界匹配隐式选择具有n个不同变换核的多变换核的情况下,解码器将生成n个不同版本的逆变换并加回到预测子以进行n个不同版本的重建。然后,解码器将使用内核来实现最小的边界匹配成本。因此,无需与多内核选择相关的额外信令即可实现编解码增益。在解码器处,通常首先执行垂直逆变换,然后进行水平逆变换。根据本发明,对于边界匹配仅执行水平边界检查。理论上,我们只需要生成最左边的一列样本进行水平逆变换。因此,边界匹配计算的复杂度大大降低。[0245]另一种节省多核选择复杂度的方法是对匹配样本进行子采样。因此,根据本实施例不需要生成所有逆变换样本。[0246]l型的增强[0247]在该方法中,为了提高边界匹配方法的编解码增益,改进当前的l形像素,提出如下一些实施例。[0248]根据一个实施例,建议对边界像素进行降噪以获得更好的边界匹配质量。边界匹配过程将在降噪处理之后应用。[0249]在另一个实施例中,提出进行一些mh(multi-hypothesi,多假设)混合(例如使用两个其他mh块的l形来稍微调整当前的l形),例如,它将使用一个或多个mv并从参考图片(mv指向)中取出相应的l形像素进行一些混合,得到的l形像素将更好地进行边界匹配。[0250]用于匹配的选择性边界区域[0251]该提议方法的主要目的是避免不正确的边界像素用于匹配,此外,该方法是基于区域的(不使用整个顶部边缘或左侧边缘,而是仅使用顶部或左侧相邻像素的部分区域)。[0252]在一个实施例中,如果对于某些区域,相邻mv(例如,子块单元)与当前mv有很大不同,则将放弃该区域的边界像素用于匹配。[0253]在另一个实施例中,可以使用基于分割的方法对l形区域进行分析。换句话说,本实施例将根据l形的对象(object)形状来分割和判断相邻的l形。然后,它可以通过排除边界匹配的相应区域来避免来自不同对象的边界匹配。[0254]用于计算平滑度的适应性线数[0255]在该提议的方法中,适应性地改变用于边界平滑度计算的线的数量。在一个示例中,它可以根据一些尺寸条件、内容条件等使用或多或少的相邻边界线来计算边界平滑度。边界平滑度计算可以对应于像素平滑度、梯度平滑度或角度平滑度。[0256]在一个实施例中,对于更大的cu,它将使用更多的线来进行边界匹配。[0257]在另一个实施例中,对于较小的cu,它将使用较少的线来进行边界匹配。[0258]在又一个实施例中,对于窄cu,它将使用更多线用于更短的边缘以进行边界匹配。对于低纹理cu,它将使用更多线。[0259]在又一个实施例中,对于其中顶部和/或左侧相邻像素具有高度纹理的像素周围的高纹理(high-texture)cu,它将使用较少的线用于边界匹配。[0260]bcw加权选择与仅预测子隐式选择(predictor-onlyimplicitselection)或语法重新排序[0261]边界匹配也可以应用于bcw加权选择以节省bcw加权语法比特率。例如,我们可以在解码器端生成具有不同bcw加权假设的预测子,将不同的加权假设结果添加到残差中,以制作不同假设版本的重建块。然后将边界匹配应用于那些不同版本的重建块,以便在解码器侧选择bcw加权决策最佳的一个。[0262]除了上述方法之外,下面还公开了基于边界匹配的bcw加权语法保存的其他实施例。[0263]在一个实施例中,bcw加权值根据不同版本的重建块的匹配成本来排序。然后使用编码器发送的重新排序的索引从排序的权重值列表中选择最终的bcw权重值。[0264]在另一个实施例中,我们不向残差添加不同版本的预测子。相反,对应于不同权重值假设的不同版本的预测子直接与相邻l形状的重建相邻像素进行比较,以确定解码器导出的权重的最小值。[0265]任何前述提出的方法都可以在编码器和/或解码器中实现。例如,所提出的任何方法都可以在解码器的帧内(例如图1b中的帧内150)/帧间编解码模块、运动补偿模块(例如图1b中的mc152)、合并候选推导中实现。或者,所提出的任何方法都可以实现为耦合到编码器的帧内(例如图1a中的帧内110)/帧间编解码模块和/或编码器的运动补偿模块(例如图1b中的mc112)、合并候选推导模块的电路。[0266]图18示出了根据本发明实施例的基于当前块及其相邻块的编码上下文利用选择性边界匹配的示例性视频编解码系统的流程图。流程图中所示的步骤可以实现为可在编码器侧的一个或多个处理器(例如,一个或多个cpu)上执行的程序代码。流程图中所示的步骤也可以基于硬件来实现,诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤1810中接收与当前块相关联的输入数据,其中输入数据包括在编码器侧待编码的当前块的像素数据或在解码器侧待解码的与当前块相关联的编码数据。在步骤1820中确定与编解码模式或模式参数相关联的一组候选。在步骤1830中确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用(1)根据该每一目标候选确定的该当前块的重建或预测的样本以及(2)该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的。在步骤1840中基于边界匹配成本从候选集合中选择最终候选。在步骤1850中使用最终候选对当前块进行编码或解码。[0267]所示流程图旨在说明根据本发明的视频编解码的示例。在不脱离本发明的精神的情况下,本领域的技术人员可以修改每个步骤、重新安排步骤、拆分步骤或组合步骤来实施本发明。在本公开中,已经使用特定语法和语义来说明示例以实现本发明的实施例。在不脱离本发明的精神的情况下,技术人员可以通过用等同的句法和语义替换句法和语义来实施本发明。[0268]提供以上描述是为了使本领域的普通技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员而言将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明并不旨在限于所示出和描述的特定实施例,而是符合与本文公开的原理和新颖特征一致的最宽范围。在以上详细描述中,举例说明了各种具体细节以提供对本发明的透彻理解。然而,本领域的技术人员将理解可以实施本发明。[0269]如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的一个实施例可以是集成到视频压缩芯片中的一个或多个电路电路或者集成到视频压缩软件中的程序代码以执行这里描述的处理。本发明的实施例还可以是要在数字信号处理器(dsp)上执行以执行这里描述的处理的程序代码。本发明还可以涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fpga)执行的许多功能。这些处理器可以被配置为通过执行定义由本发明体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以以不同的编程语言和不同的格式或风格来开发。也可以为不同的目标平台编译软件代码。然而,软件代码的不同代码格式、风格和语言以及配置代码以执行根据本发明的任务的其他方式都不会脱离本发明的精神和范围。[0270]在不脱离其精神或基本特征的情况下,本发明可以以其他特定形式体现。所描述的示例在所有方面都应被视为说明性而非限制性的。因此,本发明的范围由所附权利要求而不是由前述描述来指示。落入权利要求等同物的含义和范围内的所有变化都应包含在其范围内。当前第1页12当前第1页12
技术特征:
1.一种视频编解码方法,该方法包括:接收与当前块相关联的输入数据,其中,该输入数据包括编码器侧待编码的该当前块的像素数据或解码器侧与该当前块相关联的待解码的编码数据;确定与编解码模式或模式参数相关的一组候选;确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用(1)根据该每一目标候选确定的该当前块的重建或预测的样本以及(2)该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的;基于该边界匹配成本从该组候选中确定最终候选;以及使用该最终候选对该当前块进行编码或解码。2.如权利要求1所述的视频编解码方法,其中,为了确定边界匹配成本,该多个配置中的至少一个不包括该当前块的顶部像素或左侧像素以及该一个或多个相邻块的对应的顶部像素或对应的左侧像素。3.如权利要求2所述的视频编解码方法,其特征在于,该多个配置中的至少一种取决于该当前块和该一个或多个相邻块的至少两个运动矢量。4.如权利要求3所述的视频编解码方法,其中,如果该当前块与该一个或多个相邻块之间的一个或多个运动矢量差异超过相应顶侧或相应左侧的阈值,则排除该当前块的该顶侧像素或该左侧像素以及该一个或多个相邻块的该对应顶侧像素或该对应左侧像素。5.如权利要求3所述的视频编解码方法,其特征在于,该当前块和该一个或多个相邻块的该至少两个运动矢量的相似性或差异是在逐像素、逐子块或逐块的基础上确定的。6.如权利要求1所述的视频编解码方法,其中,为了确定边界匹配成本,该多个配置中的至少一个仅包括该当前块的顶侧像素或左侧像素以及该一个或多个相邻块的对应的顶侧像素或对应的左侧像素。7.如权利要求1所述的视频编解码方法,其中,该多个配置中的至少一个在除水平方向和垂直方向之外的角度方向上计算边界匹配。8.如权利要求7所述的视频编解码方法,其中与该角度方向相关联的一个或多个语法元素在该编码器侧在比特流中发信或在该解码器侧从该比特流解析。9.如权利要求8所述的视频编解码方法,其特征在于,该一个或多个语法元素在该比特流中发信或在cu、pu或ctu级别从该比特流解析。10.如权利要求7所述的视频编解码方法,其中,该当前块的该角度方向是基于一个相邻块的该角度方向来预测的。11.如权利要求7所述的视频编解码方法,其中,通过分析该当前块的l形相邻像素的上下文信息来隐式地确定该当前块的该角度方向。12.如权利要求1所述的视频编解码方法,其特征在于,该组候选对应于bcw的加权。13.根据权利要求12所述的视频编解码方法,其中使用根据一个权重导出的该当前块的该重建样本针对该权重确定边界匹配成本,针对每个权重确定一个边界匹配成本,并且权重索引在该编码器侧发信或在该解码器侧解析,用于根据该边界匹配成本从重新排序的bcw权重中选择最终权重值。14.根据权利要求12所述的视频编解码方法,其中,使用根据一个权重导出的该当前块
的该预测样本针对该权重确定边界匹配成本,针对每个权重确定一个边界匹配成本,并且隐式地选择对应于最小边界匹配成本的权重为最终权重值。15.根据权利要求1所述的视频编解码方法,其中每个边界匹配成本是使用根据该当前块的一个或多个编解码信息或上下文和/或该当前块的该一个或多个相邻块的一个或多个编解码信息或上下文从多个配置中选择的一个目标配置来计算的。16.一种用于视频编解码的装置,该装置包括一个或多个电子设备或处理器,用于:接收与当前块相关联的输入数据,其中,该输入数据包括编码器侧待编码的该当前块的像素数据或解码器侧与该当前块相关联的待解码的编码数据;确定与编解码模式或模式参数相关的一组候选;确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用(1)根据该每一目标候选确定的该当前块的重建或预测的样本以及(2)该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的;基于该边界匹配成本从该组候选中确定最终候选;以及使用该最终候选对该当前块进行编码或解码。
技术总结
本发明提供一种视频编解码方法和相关装置。视频编解码方法包括接收与当前块相关联的输入数据;确定与编解码模式或模式参数相关的一组候选;确定与该组候选相关联的边界匹配成本,其中,藉由对该组候选中的每一个目标候选,通过使用根据该每一目标候选确定的该当前块的重建或预测的样本以及该当前块的一个或多个相邻块的相邻重建的或预测的样本,来确定每个边界匹配成本,并且其中每个边界匹配成本是使用从多个配置中选择的一个目标配置来计算的;基于边界匹配成本从组候选中确定最终候选;以及使用最终候选对当前块进行编码或解码。本发明的视频编解码方法及相应装置可以提高编解码性能。高编解码性能。高编解码性能。
技术研发人员:江嫚书 陈俊嘉 徐志玮 向时达 陈庆晔 庄子德 黄毓文
受保护的技术使用者:联发科技股份有限公司
技术研发日:2023.01.05
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种人参压制机的制作方法 下一篇:储能系统的故障主动检测方法及储能系统与流程
