一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

色度去块滤波的量化参数的制作方法

2022-04-27 03:26:41 来源:中国专利 TAG:
色度去块滤波的量化参数1.相关申请的交叉引用2.根据适用的专利法和/或《巴黎公约》的规则,本技术旨在及时要求2019年9月14日提交的国际专利申请号pct/cn2019/105831的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容作为本技术公开内容的一部分通过引用结合于此。
技术领域
:3.本专利文件涉及视频编解码技术、设备和系统。
背景技术
::4.目前,正在努力提高当前视频编解码器技术的性能,以提供更好的压缩比或提供允许较低复杂度或并行实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定它们的有效性。技术实现要素:5.描述了与数字视频编码相关的设备、系统和方法,特别是与运动向量管理相关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(hevc)或通用视频编解码)和未来的视频编解码标准或视频编解码器。6.在一个代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括执行在视频的色度分量的块和视频的比特流表示之间的转换。在转换期间,去块滤波过程被选择性地应用于沿块边缘的样点,并且色度量化参数(qp)偏移被添加到来自色度qp表的输出,以确定去块滤波过程的参数。7.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括,对于视频的色度分量的块和视频的比特流表示之间的转换,根据规则,基于包括边缘一侧的样点的第一视频区域的第一量化信息和/或包括边缘另一侧的样点的第二视频区域的第二量化信息,确定是否或如何对块的边缘应用滤波处理。该规则基于适用于块的编解码模式,为了对边缘的一侧的样点或另一侧的样点进行编解码。该规则规定使用不同的视频单元级的多个qp偏移来确定第一量化信息或第二量化信息。该方法还包括基于该确定来执行转换。8.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括对于视频的当前块和视频的比特流表示之间的转换,根据视频单元的级的语法元素,确定是否启用当前块的色度量化参数(qp)偏移的使用。视频单元包括视频的当前块和第二块。9.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括执行在包括第一色度分量和第二色度分量的视频和视频的比特流表示之间的转换。根据规则,使用编解码模式在比特流表示中联合编解码第一色度分量的第一色度块和第二色度分量的第二色度块的残差。该规则规定为了转换导出量化参数(qp)的方式独立于编解码模式。10.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括执行在视频的第一块和视频的比特流表示之间的转换。视频具有多颜色分量的颜色格式,并且第一块与视频的第一颜色分量相关联。在转换期间,沿第一块的边缘对至少一些样点应用去块滤波过程。该方法还包括执行在与视频的剩余颜色分量和视频的比特流表示相关联的块之间的后续转换。在后续转换期间,以与第一块的转换相同的方式将去块滤波过程应用于沿每个块的边缘的至少一些样点。11.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括对于视频和视频的比特流表示之间的转换,确定视频的两个块之间的边界的边界强度。不管两个块中的任何一个是否以色度残差的联合编解码(jccr)模式被编解码,该边界强度被确定。该方法还包括基于该确定来执行转换。12.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括对于视频和视频的比特流表示之间的转换,确定第一块和第二块之间的边界的边界强度。执行该确定,且无需将第一块的信息与第二块的对应的信息进行比较。该信息包括参考图片和/或对应的块的运动向量的数量,并且边界强度用于确定去块滤波过程是否适用于边界。该方法还包括基于该确定来执行转换。13.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括对于视频的视频块和视频的比特流表示之间的转换,根据规则确定用于对视频块应用去块滤波的量化参数(qp)。该规则规定在使用变换跳过(ts)模式对视频块进行编解码的情况下,对该确定使用第一qp,在变换跳过模式中,通过跳过应用变换,视频块的残差被编解码在比特流表示中。在使用非变换跳过模式编解码视频块的情况下,对该确定使用不同于第一qp的第二qp,在非变换跳过模式中,视频块的残差在应用变换之后被编解码在比特流表示中。该方法还包括基于该确定来执行转换。14.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括对于视频的视频块和视频的比特流表示之间的转换,根据规则确定为了确定去块滤波过程对视频块的边缘的至少一些样点的适用性的梯度。该规则规定确定梯度的方式独立于视频块的尺寸。该方法还包括基于该确定来执行转换。15.在另一代表性方面,所公开的技术可以用于提供视频处理的方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得当使用色度量化参数(qp)表来导出去块滤波器的参数时,对各个色度qp值执行色度qp表的处理。16.在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中色度qp偏移处于图片/条带/片/图块/子图片级。17.在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中,在去块滤波器中并且为了导出色度qp偏移,使用与相同亮度编解码单元相关的信息。18.在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中在比特流表示中信令通知启用色度qp偏移的使用的指示。19.在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中对于在视频单元的边界上应用jccr编解码方法还是在视频单元的边界上应用不同于jccr编解码方法的方法,在去块滤波器中使用的色度qp偏移是相同的。20.在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行在视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中,计算去块滤波器的边界强度(bs),且无需将与在p侧边界处的视频单元相关联的参考图片和/或运动向量(mv)的数量与在q侧边界处的视频单元的参考图片进行比较。21.此外,在代表性方面,公开了一种视频系统中的装置,该装置包括处理器和其上具有指令的非暂时性存储器。由处理器执行的指令使得处理器实现任何一个或多个所公开的方法。22.此外,在一个代表性方面,一种视频解码设备包括被配置为实现所公开的方法中的任何一种或多种的处理器。23.在另一代表性方面,一种视频编码设备包括被配置为实现所公开的方法中的任何一种或多种的处理器。24.此外,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行任何一个或多个所公开的方法的程序代码。25.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。附图说明26.图1显示了分块去块滤波(blockingdeblockingfilterprocess)过程的整体处理流程的示例。27.图2显示了bs计算的流程图的示例。28.图3显示了ctu边界处的bs计算的参考信息的示例。29.图4显示了涉及滤波器开/关决策和强/弱滤波器选择的像素的示例。30.图5显示了vvc中的去块滤波过程的整体处理流程的示例。31.图6显示了vvc中的亮度去块滤波过程示例。32.图7显示了vvc中的色度去块滤波过程的示例33.图8显示了子pu边界的滤波器长度确定的示例。34.图9a显示了色度块的中心位置的示例。35.图9b显示了色度块的中心位置的另一个示例。36.图10显示了p侧和q侧处的块的示例。37.图11显示了亮度块的解码信息的使用的示例。38.图12是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的块图。39.图13显示了用于视频编解码的示例方法的流程图。40.图14是其中可以实现公开的技术的示例视频处理系统的块图。41.图15是根据本技术的视频处理的方法的流程图表示。42.图16是根据本技术的另一种视频处理的方法的流程图。43.图17是根据本技术的另一种视频处理的方法的流程图。44.图18是根据本技术的另一种视频处理的方法的流程图。45.图19是根据本技术的另一种视频处理的方法的流程图。46.图20是根据本技术的另一种视频处理的方法的流程图。47.图21是根据本技术的另一种视频处理的方法的流程图。48.图22是根据本技术的另一种视频处理的方法的流程图。49.图23是根据本技术的另一种视频处理的方法的流程图。50.图24是显示示例视频编解码系统的块图。51.图25是显示根据本公开的一些实施例的编码器的块图。52.图26是显示根据本公开的一些实施例的解码器的块图。具体实施方式53.1.hevc/h.265中的视频编解码54.视频编解码标准主要通过众所周知的itu-t和iso/iec标准的发展而演变。itu-t生产了h.261和h.263,iso/iec生产了mpeg-1和mpeg-4视频,并且这两个组织联合生产了h.262/mpeg-2视频和h.264/mpeg-4高级视频编解码(avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索hevc以外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索团队(jvet)。此后,许多新的方法被jvet所采用,并被放入名为联合探索模型(jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iecjtc1sc29/wg11(mpeg)成立了联合视频专家小组(jvet),致力于vvc标准,目标是与hevc相比比特率降低50%。55.2.1.hevc中的去块方案56.以与解码处理相同的顺序对每个cu执行去块滤波处理。首先,滤波垂直边缘(水平滤波),然后滤波水平边缘(垂直滤波)。对于亮度和色度分量,滤波应用于确定要滤波的8×8块边界。为了降低复杂度,不处理4×4块边界。57.图1示出了去块滤波过程的整体处理流程。边界可以有三种滤波状态:不滤波、弱滤波和强滤波。每个滤波决策都基于边界强度bs,以及阈值β和tc。58.滤波过程中可能涉及三种边界:cu边界、tu边界和pu边界。cu边界是cu的外边缘,由于cu边界始终也是tu边界或pu边界,因此总是涉及在滤波中。当pu形状为2nxn(n》4)且rqt深度等于1时,8×8块网格处的tu边界和cu内部每个pu之间的pu边界均涉及在滤波中。一个例外是,当pu边界在tu内部时,边界不会被滤波。59.2.1.1.边界强度计算60.一般来说,边界强度(bs)反映了边界需要多强的滤波。如果bs较大,应考虑强滤波。61.将p和q定义为滤波中涉及的块,其中p表示位于边界左侧(垂直边缘情况)或上方(水平边缘情况)的块,q表示位于边界右侧(垂直边缘情况)或上方(水平边缘情况)的块。图2示出了如何基于帧内编解码模式、非零变换系数和运动信息的存在、参考图片、运动向量的数量和运动向量差来计算bs值。62.bs是在4×4块的基础上计算的,但它被重新映射到一个8×8的网格。对应于由4×4网格中的一条线路组成的8个像素的两个bs值的最大值被选择作为8×8网格中边界的bs。63.为了减少行缓冲存储器需求,仅对于ctu边界,左侧或上方的每第二块(4×4网格)中的信息被重新使用,如图3所示。64.2.1.2.β和tc决策65.分别基于p块和q块的亮度量化参数qpp和qpq,导出涉及滤波器开/关决策、强和弱滤波器选择以及弱滤波过程的阈值β和tc。用于导出β和tc的q计算如下。66.q=((qpp qpq 1)》》1)。67.如表1所示,基于q导出变量β。如果bs大于1,变量tc指定为表1,带有clip3(0,55,q 2)作为输入。否则(bs等于或小于1),变量tc被指定为表1,带有q作为输入。68.表1从输入q导出阈值变量β和tc69.q0123456789101112131415161718β0000000000000000678tc0000000000000000001q19202122232425262728293031323334353637β9101112131415161718202224262830323436tc1111111122223333444q383940414243444546474849505152535455β384042444648505254565860626464646464tc556678991010111112121313141470.2.1.3.4条线路的滤波器开/关决策71.滤波器开/关决策是以四条线路为单位进行的。图4示出了滤波器开/关决策中涉及的像素。前四行的两个红块中的6个像素用于确定4行的滤波器开/关。后4行的两个红块中的6个像素用于确定后4行的滤波器开/关。72.如果dp0 dq0 dp3 dq3《β,则开启前四行的滤波,并应用强/弱滤波器选择过程。每个变量的导出如下。73.dp0=|p2,0–2*p1,0 p0,0|,dp3=|p2,3–2*p1,3 p0,3|,dp4=|p2,4–2*p1,4 p0,4|,dp7=|p2,7–2*p1,7 p0,7|74.dq0=|q2,0–2*q1,0 q0,0|,dq3=|q2,3–2*q1,3 q0,3|,dq4=|q2,4–2*q1,4 q0,4|,dq7=|q2,7–2*q1,7 q0,7|75.如果不满足该条件,则不对前4行进行滤波。此外,如果满足该条件,则针对弱滤波过程导出de、dep1和dep2。变量de设置为等于1。如果dp0 dp3《(β (β》》1))》》3,变量dep1设置为等于1。如果dq0 dq3《(β (β》》1))》》3,变量deq1设置为等于1。76.对于后四行,决策以与上面相同的方式做出。77.2.1.4.4条线路的强/弱滤波器选择78.在滤波器开/关决策中确定前四行滤波开启后,如果满足以下两个条件,则使用强滤波器对前四行进行滤波。否则,使用弱滤波器进行滤波。如图4所示,涉及的像素与用于滤波器开/关决策的像素相同。79.1)2*(dp0 dq0)《(β》》2),|p30–p00| |q00–q30|《(β》》3)and|p00–q00|《(5*tc 1)》》180.2)2*(dp3 dq3)《(β》》2),|p33–p03| |q03–q33|《(β》》3)and|p03–q03|《(5*tc 1)》》181.同样,如果满足以下两个条件,则使用强滤波器滤波后4行。否则,使用弱滤波器进行滤波。82.1)2*(dp4 dq4)《(β》》2),|p34–p04| |q04–q34|《(β》》3)and|p04–q04|《(5*tc 1)》》183.2)2*(dp7 dq7)《(β》》2),|p37–p07| |q07–q37|《(β》》3)and|p07–q07|《(5*tc 1)》》184.2.1.4.1.强滤波85.对于强滤波,滤波后的像素值通过以下等式获得。值得注意的是,分别使用四个像素作为每个p和q块的输入来修改三个像素。86.p0’=(p2 2*p1 2*p0 2*q0 q1 4)》》387.q0’=(p1 2*p0 2*q0 2*q1 q2 4)》》388.p1’=(p2 p1 p0 q0 2)》》289.q1’=(p0 q0 q1 q2 2)》》290.p2’=(2*p3 3*p2 p1 p0 q0 4)》》391.q2’=(p0 q0 q1 3*q2 2*q3 4)》》392.2.1.4.2.弱滤波93.让我们定义δ如下。94.δ=(9*(q0–p0)–3*(q1–p1) 8)》》495.当abs(δ)小于tc*10时,96.δ=clip3(-tc,tc,δ)97.p0’=clip1y(p0 δ)98.q0’=clip1y(q0-δ)99.如果dep1等于1,100.δp=clip3(-(tc》》1),tc》》1,(((p2 p0 1)》》1)–p1 δ)》》1)101.p1’=clip1y(p1 δp)102.如果deq1等于1,103.δq=clip3(-(tc》》1),tc》》1,(((q2 q0 1)》》1)–q1–δ)》》1)104.q1’=clip1y(q1 δq)105.值得注意的是,对于每个p和q块,分别使用三个像素作为输入来修改最大两个像素。106.2.1.4.3.色度滤波107.色度滤波的bs继承自亮度。如果bs》1或存在编解码的色度系数,则执行色度滤波。没有其他滤波决策。并且只有一个滤波器应用于色度。不使用色度的滤波器选择过程。滤波后的样点值p0’和q0’导出如下。108.δ=clip3(-tc,tc,((((q0–p0)《《2) p1–q1 4)》》3))109.p0’=clip1c(p0 δ)110.q0’=clip1c(q0-δ)。111.2.2vvc中的去块方案112.在vtm6中,去块滤波过程大多与hevc相同。但是,添加了以下修改。113.a)去块滤波器的滤波器强度取决于重构的样点的平均亮度水平。114.b)去块tc表扩展和适应到10比特视频。115.c)亮度的4×4网格去块。116.d)更强的亮度去块滤波器。117.e)更强的色度去块滤波器。118.f)子块边界的去块滤波器。119.g)适应较小运动差异的去块决策。120.图5描绘了在vvc中针对编解码单元的去块滤波器过程的流程图。121.2.2.1.取决于重构的平均亮度的滤波器强度122.在hevc中,去块滤波器的滤波器强度由变量β和tc控制,这两个变量是从平均量化参数qpl导出的。在vtm6中,如果该方法的sps标志为真,则去块滤波器通过根据重构的样点的亮度的水平向qpl添加偏移来控制去块滤波器的强度。重构的亮度水平ll如下导出:123.ll=((p0,0 p0,3 q0,0 q0,3)》》2)/(1《《bitdepth)ꢀꢀ(3-1)124.其中,样点值pi,k和qi,k、其中i=0..3且k=0和3可以被导出。然后,ll用于基于sps中信令通知的阈值来决策qpoffset偏移。之后,使用如下导出的qpl来导出β和tc。125.qpl=((qpq qpp 1)》》1) qpoffsetꢀꢀ(3-2)126.其中qpq和qpp分别表示包含样点q0,0和p0,0的编解码单元的量化参数。在当前的vvc中,此方法仅适用于亮度去块过程。127.2.2.2.亮度的4×4去块网格128.hevc对亮度和色度使用8×8去块网格。在vtm6中,引入了亮度边界的4×4网格去块,以处理来自矩形变换形状的分块伪影。4×4网格上的并行友好(friendly)亮度去块是通过将要去块的样点的数量限制为垂直亮度边界的每侧上的1个样点(其中一侧宽度为4或更小)或水平亮度边界的每侧上的1个样点(其中一侧高度为4或更小)来实现的。129.2.2.3.亮度的边界强度导出130.详细的边界强度导出见表2。顺序检查表2中的条件。131.表2边界强度导出132.133.[0134][0135]2.2.4.更强的亮度的去块滤波器[0136]当边界任一侧的样点属于大块时,该提议使用双线性滤波器。属于大块的样点定义为:垂直边的宽度>=32,并且水平边的高度>=32。[0137]双线性滤波器如下所示。[0138]i=0至sp-1的块边界样点pi和j=0至sq-1的qi(pi和qi遵循上述hevc去块中的定义)然后由如下所示的线性插值代替:[0139]-pi′=(fi*middles,t (64-fi)*ps 32)>>6),裁剪到pi±tcpdi[0140]-qj′=(gj*middles,t (64-gj)*qs 32)>>6),裁剪到qj±tcpdj[0141]其中tcpdi和tcpdj项是第2.2.5节中描述的位置相关裁剪,gj、fi、middles,t、ps和qs给出如下:[0142][0143][0144]2.2.5.亮度的去块控制[0145]本小节介绍去块决策过程。[0146]更宽-更强的亮度滤波器是仅当条件1、条件2和条件3都为真时才使用的滤波器。[0147]条件1是“大块条件”。这种条件检测p侧和q侧的样点是否属于大块,其分别用变量bsidepislargeblk和bsideqislargeblk表示。bsidepislargeblk和bsideqislargeblk的定义如下。[0148]bsidepislargeblk=((边缘类型为垂直,并且p0属于宽度》=32的cu)||(边缘类型为水平,并且p0属于高度》=32的cu))?真:假[0149]bsideqislargeblk=((边缘类型为垂直,并且q0属于宽度》=32的cu)||(边缘类型为水平,并且q0属于高度》=32的cu))?真:假[0150]基于bsidepislargeblk和bsideqislargeblk,条件1定义如下。[0151]条件1=(bsidepislargeblk||bsidepislargeblk)?真:假[0152]接下来,如果条件1为真,将进一步检查条件2。首先,导出以下变量:[0153]dp0、dp3,dq0、dq3首先如在hevc中一样导出[0154]if(p侧大于或等于32)[0155]dp0=(dp0 abs(p5,0-2*p4,0 p3,0) 1)》》1[0156]dp3=(dp3 abs(p5,3-2*p4,3 p3,3) 1)》》1[0157]if(q侧大于或等于32)[0158]dq0=(dq0 abs(q5,0-2*q4,0 q3,0) 1)》》1[0159]dq3=(dq3 abs(q5,3-2*q4,3 q3,3) 1)》》1[0160]dpq0、dpq3、dp、dq、d的如在hevc中一样导出。[0161]那么条件2定义如下。[0162]条件2=(d《β)?真:假[0163]其中d=dp0 dq0 dp3 dq3,如第2.1.4节所示。[0164]如果条件1和条件2有效,则检查是否有任何块使用子块:[0165][0166][0167]最后,如果条件1和条件2都有效,提议的去块方法将检查条件3(大块强滤波条件),其定义如下。[0168]在条件3强滤波条件(strongfiltercondition)中,导出了以下变量:[0169]dpq,其如hevc中一样导出。[0170]sp3=abs(p3-p0),如在hevc中一样导出[0171][0172]sq3=abs(q0-q3),如在hevc中一样导出[0173][0174]如在hevc导出中一样,strongfiltercondition=(dpq小于(β》》2),sp3 sq3小于(3*β》》5),abs(p0-q0)小于(5*tc 1)》》1)?真:假[0175]图6描述了亮度去块滤波过程的流程图。[0176]2.2.6.色度的强去块滤波器[0177]定义了以下色度的强去块滤波器:[0178]p2′=(3*p3 2*p2 p1 p0 q0 4)》》3[0179]p1′=(2*p3 p2 2*p1 p0 q0 q1 4)》》3[0180]p0′=(p3 p2 p1 2*p0 q0 q1 q2 4)》》3[0181]提议的色度滤波器在4×4色度样点网格上执行去块。[0182]2.2.7.色度的去块控制[0183]上述色度滤波器对8×8色度样点网格执行去块。色度强滤波器用于块边界的两侧。这里,当色度边缘的两侧都大于或等于8(以色度样点为单位)时,选择色度滤波器,并且满足以下具有三个条件的决策。第一个是边界强度和大块的决策。第二个和第三个基本上与hevc亮度决策相同,分别是开/关决策和强滤波器决策。[0184]图7描绘了色度去块滤波过程的流程图。[0185]2.2.8.位置相关裁剪[0186]该提议还引入了位置相关裁剪tcpd,其应用于亮度滤波过程的输出样点,涉及在边界处修改7、5和3个样点的强滤波器和长滤波器。假设量化误差分布,提议增加对于预期具有较高量化噪声的样点的裁剪值,因此预期重构的样点值与真实样点值的偏差较大。[0187]根据第2.2节中描述的决策过程的结果,对于用提议的不对称滤波器滤波的每个p或q边界,从tc7和tc3表中选择位置相关阈值表,作为边信息提供给解码器:[0188]tc7={6,5,4,3,2,1,1};[0189]tc3={6,4,2};[0190]tcpd=(sp==3)?tc3:tc7;[0191]tcqd=(sq==3)?tc3:tc7;[0192]对于用短对称滤波器滤波的p或q边界,应用较低幅度的位置相关阈值:[0193]tc3={3,2,1};[0194]定义阈值后,根据tcp和tcq裁剪值对滤波后的p’i和q’i样点值进行裁剪:[0195]p”i=clip3(p’i tcpi,p’i–tcpi,p’i);[0196]q”j=clip3(q’j tcqj,q’j–tcqj,q’j);[0197]其中p’i和q’i是滤波后的样点值,p”i和q”j是裁剪后的输出样点值,并且tcpi和tcqi是从vvctc参数和tcpd和tcqd导出的裁剪阈值。术语clip3是如在vvc指定的一样的裁剪功能。[0198]2.2.9.子块去块调整[0199]为了使用长滤波器和子块去块来实现并行友好去块,长滤波器被限制为在使用子块去块的侧最多修改5个样点,如针对长滤波器的亮度控制所示。此外,子块去块被调整,使得靠近cu或隐式tu边界的8×8网格上的子块边界被限制为每侧最多修改两个样点。[0200]适用以下内容于未与cu边界对齐的子块边界。[0201][0202]其中等于0的边缘对应于cu边界,等于2或等于orthogonallength-2的边缘对应于来自cu边界的子块边界8样点,等等。如果使用了tu的隐式划分,则隐式tu为真。图8显示了tu边界和子pu边界的确定过程的流程图。[0203]当水平边界与ctu边界对齐时,水平边界的滤波限制针对亮度的sp=3并且针对色度的sp=1和sq=1。[0204]2.2.10.适应于较小运动差异的去块决策[0205]当边界的各侧上的块之间的至少一个运动向量分量的差等于或大于1个样点的阈值时,hevc能够对预测单元边界进行去块。在vtm6中,引入了半亮度样点的阈值,以消除源自运动向量差异较小的帧间预测单元之间的边界的去块伪影。[0206]2.3.组合帧间和帧内预测(ciip)[0207]在vtm6中,当cu以merge模式编解码时,如果cu包含至少64个亮度样点(即,cu宽度乘以cu高度等于或大于64),并且如果cu宽度和cu高度都小于128个亮度样点,则信令通知附加标志,以指示组合帧间/帧内预测(ciip)模式是否应用于当前cu。顾名思义,ciip预测将帧间预测信号与帧内预测信号相结合。使用应用于常规合并模式的相同帧间预测过程来导出ciip模式下的帧间预测信号pinter;并且帧内预测信号pintra是在平面模式的常规帧内预测过程之后导出的。然后,使用加权平均来组合帧内和帧间预测信号,其中根据顶部和左侧临近块的编解码模式来计算权重值,如下所示:[0208]–如果最上面的临近块(neighbor)可用并且是帧内编解码的,则将isinatratop设置为1,否则将isinatratop设置为0;[0209]–如果左边的临近块可用并且是帧内编解码的,则将isitraleft设置为1,否则将isitraleft设置为0;[0210]–如果(isitraleft isitraleft)等于2,则wt设置为3;[0211]–否则,如果(isitraleft isitraleft)等于1,则wt设置为2;[0212]–否则,将wt设置为1。[0213]ciip预测形成如下:[0214]pciip=((4-wt)*pinter wt*pintra 2)>>2[0215]2.4.vtm-6.0中的色度qp表设计[0216]在一些实施例中,使用色度qp表。在一些实施例中,信令机制被用于色度qp表,这使得能够灵活地为编码器提供针对sdr和hdr内容优化表的机会。它支持为cb和cr分量分别信令通知表格信号。提出的机制将色度qp表作为分段线性函数来信令通知。[0217]2.5.变换跳过(ts)[0218]如同在hevc中一样,可以用变换跳过模式对块的残差进行编解码。为了避免语法编解码的冗余,当cu级mts_cu_flag不等于0时,不信令通知变换跳过标志。变换跳过的块尺寸限制与jem4中的mts相同,这指示当块宽度和高度都等于或小于32时,变换跳过适用于cu。请注意,当为当前cu激活lfnst或mip时,隐式mts变换设置为dct2。此外,当针对帧间编解码的块启用mts时,隐式mts仍然可以启用。[0219]此外,对于变换跳过块,最小允许量化参数(qp)定义为6*(internalbitdepth–inputbitdepth) 4。[0220]2.6.色度残差的联合编解码(jccr)[0221]在一些实施例中,色度残差被联合编解码。联合色度编解码模式的使用(激活)由tu级标志tu_joint_cbcr_residual_flag指示,并且所选模式由色度cbf隐式指示。如果tu的一个或两个色度cbf等于1,则标志tu_joint_cbcr_residual_flagg存在。在pps和条带标头中,为联合色度残差编解码模式信令通知色度qp偏移值,以区别于为常规色度残差编解码模式信令通知的通常色度qp偏移值。这些色度qp偏移值用于为使用联合色度残差编解码模式编解码的那些块导出色度qp值。当tu中对应的联合色度编解码模式(表3中的模式2)处于活动状态时,该色度qp偏移会在该tu的量化和解码过程中被添加到应用的亮度导出的色度qp中。对于其他模式(表3中的模式1和3表3色度残差的重构。值csign是符号值( 1或–1),其在条带头中被指定,resjointc[][]是传输的残差。),色度qp的导出方式与传统cb或cr块相同。表3描绘了从传输的变换块中重构色度残差的过程。当该模式激活时,一个单联合色度残差块(表3中的resjointc[x][y])被信令通知,并且cb的残差块(rescb)和cr的残差块(rescr)是考虑诸如tu_cbf_cb、tu_cbf_cr和csign的信息导出的,csign是在条带标头中指定的符号值。[0222]在编码器侧,联合色度分量如下所述导出。根据模式(上表中列出),resjointc{1,2}由编码器生成,如下所示:[0223]·如果模式等于2(重构cb=c,cr=csign*c的单残差),则联合残差根据下式确定[0224]resjointc[x][y]=(rescb[x][y] csign*rescr[x][y])/2。[0225]·否则,如果模式等于1(重构cb=c,cr=(csign*c)/2的单残差),则根据以下公式确定联合残差[0226]resjointc[x][y]=(4*rescb[x][y] 2*csign*rescr[x][y])/5。[0227]·否则(模式等于3,即单残差,重构cr=c,cb=(csign*c)/2),联合残差根据下式确定[0228]resjointc[x][y]=(4*rescr[x][y] 2*csign*rescb[x][y])/5。[0229]表3色度残差的重构。值csign是符号值( 1或–1),其在条带头中被指定,resjointc[][]是传输的残差。[0230][0231]以上三种模式使用了不同的qp。对于模式2,应用在jccr编解码的块的pps中信令通知的qp偏移,而对于其他两种模式,不应用它,而是应用在非jccr编解码的块的pps中信令通知的qp偏移。[0232]对应的规范如下:[0233]8.7.1量化参数的导出过程[0234]变量qpy导出如下:[0235]qpy=((qpy_pred cuqpdeltaval 64 2*qpbdoffsety)%(64 qpbdoffsety))-qpbdoffsetyꢀꢀ(8-933)[0236]亮度量化参数qp′y导出如下:[0237]qp′y=qpy qpbdoffsetyꢀꢀ(8-934)[0238]当chromaarraytype不等于0且treetype等于single_tree或dual_tree_chroma时,适用以下内容:[0239]–当treetype等于dual_tree_chroma时,变量qpy被设置为等于覆盖亮度位置(xcb cbwidth/2,ycb cbheight/2)的亮度编解码单元的亮度量化参数qpy。[0240]–变量qpcb、qpcr和qpcbcr导出如下:[0241]qpichroma=clip3(-qpbdoffsetc,63,qpy)ꢀꢀ(8-935)[0242]qpicb=chromaqptable[0][qpichroma]ꢀꢀ(8-936)[0243]qpicr=chromaqptable[1][qpichroma]ꢀꢀ(8-937)[0244]qpicbcr=chromaqptable[2][qpichroma]ꢀꢀ(8-938)[0245]–cb和cr分量的色度量化参数qp′cb和qp′cr以及联合cb-cr编解码qp′cbcr导出如下:[0246]qp′cb=clip3(-qpbdoffsetc,63,qpcb pps_cb_qp_offset slice_cb_qp_offset cuqpoffsetcb) qpbdoffsetcꢀꢀ(8-939)[0247]qp′cr=clip3(-qpbdoffsetc,63,qpcr pps_cr_qp_offset slice_cr_qp_offset cuqpoffsetcr) qpbdoffsetcꢀꢀ(8-940)[0248]qp′cbcr=clip3(-qpbdoffsetc,63,qpcbcr pps_cbcr_qp_offset slice_cbcr_qp_offset cuqpoffsetcbcr) qpbdoffsetcꢀꢀ(8-941)[0249]8.7.3变换系数的缩放过程[0250]该过程的输入为:[0251]–指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点的亮度位置(xtby,ytby),[0252]–指定变换块宽度的变量ntbw,[0253]–指定变换块高度的变量ntbh,[0254]–指定当前块的颜色分量的变量cidx,[0255]–指定当前颜色分量的比特深度的变量bitdepth。[0256]该过程的输出是元素为d[x][y]的缩放变换系数的(ntbw)x(ntbh)阵列d。[0257]量化参数qp导出如下:[0258]–如果cidx等于0,并且transform_skip_flag[xtby][ytby]等于0,则适用以下内容:[0259]p=qp′yꢀꢀ(8-950)[0260]–否则,如果cidx等于0(并且transform_skip_flag[xtby][ytby]等于1),则适用以下内容:[0261]qp=max(qpprimetsmin,qp′y)ꢀꢀ(8-951)[0262]–否则,如果tucresmode[xtby][ytby]等于2,则适用以下内容:[0263]qp=qp′cbcrꢀꢀ(8-952)[0264]–否则,如果cidx等于1,则适用以下内容:[0265]qp=qp′cbꢀꢀ(8-953)[0266]–否则(cidx等于2),适用以下内容:[0267]qp=qp′crꢀꢀ(8-954)[0268]3.现有实施方式的缺点[0269]在细化运动向量期间,dmvr和bio不涉及原始信号,这可能导致编解码块具有不准确的运动信息。此外,dmvr和bio有时在运动细化后采用分数运动向量,而屏幕视频通常具有整数运动向量,这使得当前的运动信息更加不准确,并且使得编解码性能更差。[0270]1.色度qp表和色度去块之间的交互可能存在问题,例如色度qp表应该应用于单独qp,而不是qp的加权和。[0271]2.亮度去块滤波过程的逻辑对于硬件设计来说是复杂的。[0272]3.边界强度导出的逻辑对软硬件设计来说都太复杂了。[0273]4.在bs决策过程中,jccr被与没有应用jcct编解码的那些块分开处理。然而,jccr只是对残差进行编解码的特殊方式。因此,这种设计可能会带来附加的复杂度,而没有明显的好处。[0274]5.在色度边缘决策中,qpq和qpp被设置为等于编解码单元的qpy值,该编解码单元包括分别包含样点q0,0和p0,0的编解码块。然而,在量化/去量化过程中,色度样点的qp是从覆盖当前色度cu的中心位置的对应的亮度样点的亮度块的qp导出的。启用双树时,亮度块的不同位置可能会导致不同的qp。因此,在色度去块过程中,错误的qp可能被用于滤波器决策。这种未对齐可能导致视觉伪影。示例如图9所示,包括图9(a)和图9(b)。在图9中,左侧(图9(a))是亮度块的对应的ctb分割,且右侧(图9(b))是双树下的色度ctb分割。当确定色度块(用cuc1表示)的qp时,首先导出cuc1的中心位置。然后,cuc1的中心位置的对应的亮度样点被识别,并且与覆盖对应的亮度样点的亮度cu相关联的亮度qp,即cuy3然后被利用以导出cuc1的qp。然而,当对所描绘的三个样点(用实心圆)进行滤波决策时,选择覆盖对应的三个样点的cu的qp。因此,对于第一、第二和第三色度样点(如图9(b)所示),分别利用cuy2、cuy3和cuy4的qp。也就是说,同一cu中的色度样点可能使用不同的qp进行滤波器决策,这可能导致错误的决策。[0275]6.不同的图片级qp偏移(即,pps_joint_cbcr_qp_offset)被应用于jccr编解码的块,其不同于应用于非jccr编解码的块的cb/cr的图片级偏移(例如,pps_cb_qp_offset和pps_cr_qp_offset)。然而,在色度去块滤波器决策过程中,仅利用非jccr编解码的块的那些偏移。缺少对编解码模式的考虑可能导致错误的滤波器决策。[0276]7.ts和非ts编解码的块在去量化过程中采用不同的qp,这也可以在去块过程中考虑。[0277]8.对于具有不同模式的jccr编解码的块,在缩放过程(量化/去量化)中使用不同的qp。这样的设计并不一致。[0278]4.示例技术和实施例[0279]下面描述的详细实施例应该被认为是解释一般概念的示例。这些实施例不应被狭义地解释。此外,这些实施例可以以任何方式组合。[0280]除了下面提到的dmvr和bio之外,下面描述的方法还可以应用于其他解码器运动信息导出技术。[0281]在下面的示例中,mvm[i].x和mvm[i].y表示在m(m是p或q)侧的块的参考图片列表i(i是0或1)中运动向量的水平和垂直分量。abs表示获取输入绝对值的运算,而“&&”和“||”表示逻辑运算and和or。参考图10,p可以表示p侧的样点,并且q可以表示q侧的样点。p侧和q侧的块可以表示由虚线标记的块。[0282]关于去块中的色度qp[0283]1.当色度qp表用于导出控制色度去块的参数时(例如,在色度块边缘的决策过程中),色度qp偏移可以在应用色度qp表之后应用。[0284]a.在一个示例中,色度qp偏移可以被添加到由色度qp表输出的值。[0285]b.或者,色度qp偏移可以不被认为是色度qp表的输入。[0286]c.在一个示例中,色度qp偏移可以是图片级或其他视频单元级(条带/片/图块/子图片)色度量化参数偏移(例如,说明书中的pps_cb_qp_offset、pps_cr_qp_offset)。[0287]2.qp裁剪可能不适用于色度qp表的输入。[0288]3.提议在去块滤波器决策过程中考虑用于不同编解码方法的图片/条带/片/图块/子图片级量化参数偏移。[0289]a.在一个示例中,对于滤波器决策(例如,去块滤波过程中的色度边缘决策)的图片/条带/片/图块/子图片级量化参数偏移的选择可以取决于每侧的编解码方法。[0290]b.在一个示例中,需要对色度块使用量化参数的滤波过程(例如,色度边缘决策过程)可以取决于块是否使用jccr。[0291]i.或者,此外,在去块滤波过程中可以进一步考虑应用于jccr编解码的块的图片/条带级qp偏移(例如,pps_joint_cbcr_qp_offset)。[0292]ii.在一个示例中,在某些条件下,用于决策tc和β设置的cqppicoffset可以设置为pps_joint_cbcr_qp_offset,而不是pps_cb_qp_offset或pps_cr_qp_offset:[0293]1.在一个示例中,当p或q侧的任何一个块使用jccr时。[0294]2.在一个示例中,当p或q侧的两个块都使用jccr时。[0295]4.需要访问亮度块的解码的信息的色度滤波过程(例如,色度边缘决策过程)可以利用与相同亮度编解码块相关联的信息,该信息用于在去量化/量化过程中导出色度qp。[0296]a.在一个示例中,需要使用亮度块的量化参数的色度滤波过程(例如,色度边缘决策过程)可以利用覆盖当前色度cu的中心位置的对应的亮度样点的亮度编解码单元。[0297]b.图9中描绘了示例,其中cuy3的解码的信息可以用于图9(b)中三个色度样点(第一、第二和第三)的滤波决策。[0298]5.色度滤波过程(例如,色度边缘决策过程)可以取决于应用于色度块的缩放过程(例如,量化/去量化)的量化参数。[0299]a.在一个示例中,用于导出β和tc的qp可能取决于应用于色度块的缩放过程的qp。[0300]b.或者,此外,用于色度块的缩放处理的qp可能已经考虑了色度cu级qp偏移。[0301]6.是否调用上述项目符号(bullet)可能取决于要滤波的样点是在p侧还是q侧的块中。[0302]a.例如,是使用覆盖当前色度样点的对应的亮度样点的亮度编解码块的信息,还是使用覆盖当前色度样点的色度编解码块的中心位置的对应的亮度样点的亮度编码块的信息,可以取决于块位置。[0303]i.在一个示例中,如果当前色度样点在q侧的块中,则可以使用覆盖覆盖当前色度样点的色度编解码块的中心位置的对应的亮度样点的亮度编解码块的qp信息。[0304]ii.在一个示例中,如果当前色度样点在p侧的块中,则可以使用覆盖色度样点的对应的亮度样点的亮度编解码块的qp信息。[0305]关于qp环境[0306]7.提议在条带/片/图块/子图片级信令通知启用块级色度qp偏移的指示(例如slice_cu_chroma_qp_offset_enabled_flag)。[0307]a.或者,可以有条件地信令通知这种指示。[0308]i.在一个示例中,可以在jccr启用标志的条件下信令通知它。[0309]ii.在一个示例中,它可以在图片级的块级色度qp偏移启用标志的条件下被信令通知。[0310]iii.或者,可以替代地导出这样的指示。[0311]b.在一个示例中,只有当色度qp偏移的pps标志(例如,slice_cu_chroma_qp_offset_enabled_flag)为真时,才可以信令通知slice_cu_chroma_qp_offset_enabled_flag。[0312]c.在一个示例中,只有当色度qp偏移的pps标志(例如,slice_cu_chroma_qp_offset_enabled_flag)为假时,才可以将slice_cu_chroma_qp_offset_enabled_flag推断为假。[0313]d.在一个示例中,是否在块上使用色度qp偏移可以基于在pps级和/或条带级的色度qp偏移的标志。[0314]8.对于具有不同模式的jccr编解码的块,在缩放过程(量化/去量化)中使用相同的qp导出方法。[0315]a.在一个示例中,对于模式1和模式3的jccr,qp取决于在图片/条带级中信号通知的qp偏移(例如,pps_cbcr_qp_offset,slice_cbcr_qp_offset)。[0316]滤波程序[0317]9.除了第一颜色分量之外的所有颜色分量的去块可以跟随第一颜色分量的去块过程。[0318]a.在一个示例中,当颜色格式是4:4:4时,第二和第三分量的去块过程可以跟随第一分量的去块过程。[0319]b.在一个示例中,当颜色格式在rgb颜色空间中是4:4:4时,第二和第三分量的去块过程可以跟随第一分量的去块过程。[0320]c.在一个示例中,当颜色格式是4:2:2时,第二和第三分量的垂直去块过程可以跟随第一分量的垂直去块过程。[0321]d.在以上示例中,去块过程可以指去块决策过程和/或去块滤波过程。[0322]关于边界强度导出[0323]10.提议在边界强度决策过程中将jccr编解码的块视为那些非jccr编解码的块。[0324]a.在一个示例中,边界强度(bs)的确定可以独立于对p和q侧的两个块的jccr使用的检查。[0325]a.在一个示例中,可以确定块的边界强度,而不管该块是否用jccr编解码。[0326]11.提议导出边界强度,且无需将与p侧的块相关联的参考图片和/或mv的数量与q侧的块的参考图片/或mv的数量进行比较。[0327]b.在一个示例中,即使当两个块具有不同的参考图片时,也可以禁用去块滤波。[0328]c.在一个示例中,即使当两个块具有不同数量的mv(例如,一个是单向预测的,而另一个是双向预测的)时,去块滤波器也可以被禁用。[0329]d.在一个示例中,当在p侧和q侧的块之间的一个或所有参考图片列表的运动向量差值大于或等于阈值th时,bs的值可以被设置为1。[0330]i.或者,此外,当在p侧和q侧的块之间的一个或所有参考图片列表的运动向量差值小于或等于阈值th时,bs的值可以被设置为0。[0331]e.在一个示例中,两个块的运动向量之差值大于阈值th,可以被定义为(abs(mvp[0].x-mvq[0].x)》th||abs(mvp[0].y-mvq[0].y)》th||abs(mvp[1].x-mvq[1].x)》th)||abs(mvp[1].y-mvq[1].y)》th)[0332]i.或者,两个块的运动向量的差值大于阈值th可以被定义为(abs(mvp[0].x-mvq[0].x)》th&&abs(mvp[0].y-mvq[0].y)》th&&abs(mvp[1].x-mvq[1].x)》th)&&abs(mvp[1].y-mvq[1].y)》th)[0333]ii.或者,在一个示例中,两个块的运动向量的差值大于阈值th可以被定义为(abs(mvp[0].x-mvq[0].x)》th||abs(mvp[0].y-mvq[0].y)》th)&&(abs(mvp[1].x-mvq[1].x)》th)||abs(mvp[1].y-mvq[1].y)》th)[0334]iii.或者,在一个示例中,两个块的运动向量的差值大于阈值th的可以被定义为(abs(mvp[0].x-mvq[0].x)》th&&abs(mvp[0].y-mvq[0].y)》th)||(abs(mvp[1].x-mvq[1].x)》th)&&abs(mvp[1].y-mvq[1].y)》th)[0335]f.在一个示例中,在给定列表中不具有运动向量的块可以被视为在该列表中具有零运动向量。[0336]g.在上述示例中,th是整数(例如4、8或16)。[0337]h.在上述示例中,th可以取决于[0338]i.视频内容(例如屏幕内容或自然内容)[0339]ii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu的组/tu/pu块/视频编解码单元中信令通知的消息[0340]iii.cu/pu/tu/块/视频编解码单元的位置[0341]iv.沿边缘包含样点的块的编解码模式[0342]v.应用于沿边缘包含样点的块的变换矩阵[0343]vi.当前块和/或其临近块的块维度/块形状[0344]vii.颜色格式的指示(如4:2:0、4:4:4、rgb或yuv)[0345]viii.编码树结构(如双树或单树)[0346]ix.条带/片组类型和/或图片类型[0347]x.颜色分量(例如,仅适用于cb或cr)[0348]xi.时域层id[0349]xii.标准的配置文件/级/层级[0350]xiii.或者,可以向解码器信令通知th。[0351]i.上述示例可以在某些条件下应用。[0352]i.在一个示例中,条件是blkp和blkq没有用帧内模式编解码。[0353]ii.在一个示例中,条件是blkp和blkq在亮度分量上具有零系数。[0354]iii.在一个示例中,条件是blkp和blkq没有用ciip模式编解码。[0355]iv.在一个示例中,条件是blkp和blkq用相同的预测模式(例如,ibc或帧间(inter))编解码。[0356]关于亮度去块滤波过程[0357]12.去块可以对ts编解码的块和非ts编解码的块使用不同的qp。[0358]a.在一个示例中,ts的qp可以用在ts编解码的块上,而非ts的qp可以用在非ts编解码的块上。[0359]13.亮度滤波过程(例如,亮度边缘决策过程)可以取决于应用于亮度块的缩放过程的量化参数。[0360]a.在一个示例中,用于导出β(beta)和tc的qp可以取决于变换跳跃的裁剪范围,例如,如qpprimetsmin所指示的。[0361]14.提议对大块边界和小块边界使用相同的梯度计算。[0362]a.在一个示例中,第2.1.4节中描述的去块滤波器开/关决策也可以应用于大块边界。[0363]i.在一个示例中,可以对大块边界修改决策中的阈值beta。[0364]1.在一个示例中,beta可以取决于量化参数。[0365]2.在一个示例中,用于大块边界的去块滤波器开/关决策的β可以小于较小块边界的beta。[0366]a.或者,在一个示例中,用于大块边界的去块滤波器开/关决策的beta可以大于用于较小块边界的beta。[0367]b.或者,在一个示例中,用于大块边界的去块滤波器开/关决策的beta可以等于较小块边界的beta。[0368]3.在一个示例中,beta是整数,并且可以基于[0369]a.视频内容(例如屏幕内容或自然内容)[0370]b.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu的组/tu/pu块/视频编解码单元中信令通知的消息[0371]c.cu/pu/tu/块/视频编解码单元的位置[0372]d.沿边缘包含样点的块的编解码模式[0373]e.应用于沿边缘包含样点的块的变换矩阵[0374]f.当前块和/或其临近块的块尺寸[0375]g.当前块和/或其临近块的块形状[0376]h.颜色格式的指示(如4:2:0、4:4:4、rgb或yuv)[0377]i.编码树结构(如双树或单树)[0378]j.条带/片组类型和/或图片类型[0379]k.颜色分量(例如,仅适用于cb或cr)[0380]l.时域层id[0381]m.标准的配置文件/级/层级[0382]n.或者,可以向解码器信令通知beta。[0383]通用[0384]15.上述提议的方法可以在某些条件下应用。[0385]a.在一个示例中,条件是颜色格式是4:2:0和/或4:2:2。[0386]i.或者,此外,对于4:4:4颜色格式,如何对两种颜色色度分量应用去块滤波器可以遵循当前的设计。[0387]b.在一个示例中,上述方法的使用的指示可以在序列/图片/条带/片/图块/视频区域级,如sps/pps/图片标头/条带标头中信令通知。[0388]c.在一个示例中,上述方法的使用可能取决于[0389]ii.视频内容(例如屏幕内容或自然内容)[0390]iii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu的组/tu/pu块/视频编解码单元中信令通知的消息[0391]iv.cu/pu/tu/块/视频编解码单元的位置[0392]v.沿边缘包含样点的块的编解码模式[0393]vi.应用于沿边缘包含样点的块的变换矩阵[0394]vii.当前块和/或其临近块的块维度[0395]viii.当前块和/或其临近块的块形状[0396]ix.颜色格式的指示(如4:2:0、4:4:4、rgb或yuv)[0397]x.编码树结构(如双树或单树)[0398]xi.条带/片组类型和/或图片类型[0399]xii.颜色分量(例如,仅适用于cb或cr)[0400]xiii.时域层id[0401]xiv.标准的配置文件(profile)/级(level)/层级(tier)[0402]xv.或者,可以向解码器信令通知m和/或n。[0403]5.附加实施例[0404]新添加的文本以下划线粗体斜体显示。删除的文本用[[]]标记。[0405]5.1.关于去块中色度qp的实施例#1[0406]8.8.3.6一个方向的边缘滤波过程[0407]…[0408]–否则(cidx不等于0),由cidx指定的当前编解码单元的色度编解码块中边缘的滤波过程包括以下有序步骤:[0409]1.变量cqppicoffset导出如下:[0410]cqppicoffset=cidx==1?pps_cb_qp_offset:pps_cr_qp_offsetꢀꢀ(8-1065)[0411]8.8.3.6.3色度块边缘的决策过程[0412]…[0413]变量qpq和qpp被设置为等于编解码单元的qpy值,该编解码单元包括分别包含样点q0,0和p0,0的编码块。[0414]变量qpc导出如下:[0415][[qpi=clip3(0,63,((qpq qpp 1)》》1) cqppicoffset)ꢀꢀ(8-1132)[0416]qpc=chromaqptable[cidx-1][qpi]ꢀꢀ(8-1133)]][0417]qpi=(qpq qpp 1)》》1ꢀꢀ(8-1132)[0418]qpc=chromaqptable[cidx-1][qpi] cqppicoffsetꢀꢀ(8-1133)[0419]注意–变量cqppicoffset根据滤波后的色度分量是cb分量还是cr分量,对pps_cb_qp_offset或pps_cr_qp_offset的值进行调整。但是,为了避免改变图片内的调整的量,滤波过程不包括对slice_cb_qp_offset或slice_cr_qp_offset值的调整,也不包括对cuqpoffsetcb、cuqpoffsetcr或cuqpoffsetcbcr值的调整(当cu_chroma_qp_offset_enabled_flag等于1时)。[0420]变量β′的值根据表8-18中的规定基于量化参数q确定,量化参数q如下导出:[0421]q=clip3(0,63,qpc (slice_beta_offset_div2《《1))ꢀꢀ(8-1134)[0422]其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。[0423]变量β导出如下:[0424]β=β′*(1《《(bitdepthc-8))ꢀꢀ(8-1135)[0425]变量tc′的值根据表8-18中的规定基于量化参数q确定,量化参数q如下导出:[0426]q=clip3(0,65,qpc 2*(bs-1) (slice_tc_offset_div2《《1))ꢀꢀ(8-1136)[0427]其中slice_tc_offset_div2是包含样点q0,0的条带的语法元素slice_tc_offset_div2的值。[0428]变量tc导出如下:[0429]tc=(bitdepthc《10)?(tc′ 2)》》(10-bitdepthc):tc′*(1《《(bitdepthc-8))ꢀꢀ(8-1137)[0430]5.2.边界强度导出的实施例#2[0431]8.8.3.5边界滤波强度的导出过程[0432]该过程的输入包括:[0433]–图片样点阵列recpicture,[0434]–指定当前编解码块的左上角样点相对于当前图片的左上角样点的位置(xcb,ycb),[0435]–指定当前编解码块宽度的变量ncbw,[0436]–指定当前编解码块高度的变量ncbh,[0437]–指定是滤波垂直(edge_ver)还是水平(edge_hor)边缘的可变边缘类型,[0438]–指定当前编解码块的颜色分量的变量cidx,[0439]–二维(ncbw)x(ncbh)阵列edgeflags。[0440]这个过程的输出是指定边界滤波强度的二维(ncbw)x(ncbh)阵列bs。[0441]…[0442]对于i=0..xn的xdi和j=0..yn的ydj,适用以下内容:[0443]–如果edgeflags[xdi][ydj]等于0,则变量bs[xdi][ydj]设置为等于0。[0444]–否则,适用以下内容:[0445]…[0446]–变量bs[xdi][ydj]导出如下:[0447]–如果cidx等于0,并且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,则bs[xdi][ydj]设置为等于0。[0448]–否则,如果样点p0或q0在用帧内预测模式编解码的编解码单元的编解码块中,bs[xdi][ydj]设置为等于2。[0449]–否则,如果块边缘也是变换块边缘,并且样点p0或q0在ciip_flag等于1的编码块中,则bs[xdi][ydj]设置为等于2。[0450]–否则,如果块边缘也是变换块边缘,并且样点p0或q0在包含一个或多个非零变换系数级的变换块中,则bs[xdi][ydj]设置为等于1。[0451]–否则,如果块边缘也是变换块边缘,cidx大于0,并且样点p0或q0在tu_joint_cbcr_residual_flag等于1的变换单元中,则bs[xdi][ydj]设置为等于1。[0452]–否则,如果包含样点p0的编解码子块的预测模式不同于包含样点q0的编解码子块的预测模式(即,编解码子块之一以ibc预测模式编解码,而另一个以帧间预测模式编解码),则bs[xdi][ydj]被设置为等于1。[0453]–否则,如果cidx等于0,并且下列一个或多个条件为真,则bs[xdi][ydj]被设置为等于1:[0454][0455]–[[包含样点p0的编解码子块和包含样点q0的编解码子块都以ibc预测模式进行编解码,并且在两个编解码子块的预测中使用的块向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0456]–对于包含样点p0的编解码子块的预测,与包含样点q0的编解码子块的预测相比,使用不同的参考图片或不同数量的运动向量。[0457]注释1–用于两个编解码子块的参考图片是相同还是不同的确定仅基于哪些图片被参考,而不考虑是使用参考图片列表0的索引还是参考图片列表1的索引来形成预测,也不考虑参考图片列表内的索引位置是否不同。[0458]注释2–用于预测具有左上样点覆盖的编解码子块(xsb,ysb)的运动向量的数量等于predflagl0[xsb][ysb] predflagl1[xsb][ysb]。[0459]–一个运动向量用于预测包含样点p0的编解码子块,一个运动向量用于预测包含样点q0的编解码子块,并且所使用的运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0460]–使用两个运动向量和两个不同的参考图片来预测包含样点p0的编解码子块,使用相同的两个参考图片的两个运动向量来预测包含样点q0的编解码子块,并且在预测相同参考图片的两个编解码子块中使用的两个运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0461]–相同参考图片的两个运动向量用于预测包含样点p0的编解码子块,相同参考图片的两个运动向量用于预测包含样点q0的编解码子块,并且以下两个条件都为真:[0462]–用于预测两个编解码子块的列表0运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8,或者用于预测两个编解码子块的列表1运动向量的水平或垂直分量之间的绝对差值以1/16亮度样点为单位大于或等于8。[0463]–在包含样点p0的编解码子块的预测中使用的列表0运动向量的水平或垂直分量和在包含样点q0的编解码子块的预测中使用的列表1运动向量之间的绝对差以1/16亮度样点为单位大于或等于8,或者在包含样点p0的编解码子块的预测中使用的列表1运动向量的水平或垂直分量和在包含样点q0的编解码子块的预测中使用的列表0运动向量之间的绝对差以1/16亮度样点为单位大于或等于8。]][0464]–否则,变量bs[xdi][ydj]设置为等于0。[0465]5.3.边界强度导出的实施例#3[0466]8.8.3.5边界滤波强度的导出过程[0467]该过程的输入包括:[0468]–图片样点阵列recpicture,[0469]–指定当前编解码块的左上角样点相对于当前图片的左上角样点的位置(xcb,ycb),[0470]–指定当前编解码块宽度的变量ncbw,[0471]–指定当前编解码块高度的变量ncbh,[0472]–指定是滤波垂直(edge_ver)还是水平(edge_hor)边缘的可变边缘类型,[0473]–指定当前编解码块的颜色分量的变量cidx,[0474]–二维(ncbw)x(ncbh)阵列edgeflags。[0475]这个过程的输出是指定边界滤波强度的二维(ncbw)x(ncbh)阵列bs。[0476]…[0477]对于i=0..xn的xdi和j=0..yn的ydj,适用以下内容:[0478]–如果edgeflags[xdi][ydj]等于0,则变量bs[xdi][ydj]设置为等于0。[0479]–否则,适用以下内容:[0480]…[0481]–变量bs[xdi][ydj]导出如下:[0482]–如果cidx等于0,并且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,则bs[xdi][ydj]设置为等于0。[0483]–否则,如果样点p0或q0在用帧内预测模式编解码的编解解码单元的编解码块中,bs[xdi][ydj]设置为等于2。[0484]–否则,如果块边缘也是变换块边缘,并且样点p0或q0在ciip_flag等于1的编码块中,则bs[xdi][ydj]设置为等于2。[0485]–否则,如果块边缘也是变换块边缘,并且样点p0或q0在包含一个或多个非零变换系数级的变换块中,则bs[xdi][ydj]设置为等于1。[0486]–[[否则,如果块边也是变换块边,cidx大于0,样点p0或q0在tu_joint_cbcr_residual_flag等于1的变换单元中,则bs[xdi][ydj]设置为等于1。]][0487]–否则,如果包含样点p0的编解码子块的预测模式不同于包含样点q0的编解码子块的预测模式(即,编解码子块之一以ibc预测模式编解码,而另一个以帧间预测模式编解码),则bs[xdi][ydj]被设置为等于1。[0488]–否则,如果cidx等于0,并且下列一个或多个条件为真,则bs[xdi][ydj]被设置为等于1:[0489]–包含样点p0的编解码子块和包含样点q0的编解码子块都以ibc预测模式进行编解码,并且在两个编解码子块的预测中使用的块向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0490]–对于包含样点p0的编解码子块的预测,与包含样点q0的编解码子块的预测相比,使用不同的参考图片或不同数量的运动向量。[0491]注意1–用于两个编解码子块的参考图片是相同还是不同的确定仅基于哪些图片被参考,而不考虑是使用参考图片列表0的索引还是参考图片列表1的索引来形成预测,也不考虑参考图片列表内的索引位置是否不同。[0492]注意2–用于预测具有左上样点覆盖的编解码子块(xsb,ysb)的运动向量的数量等于predflagl0[xsb][ysb] predflagl1[xsb][ysb]。[0493]–一个运动向量用于预测包含样点p0的编解码子块,一个运动向量用于预测包含样点q0的编解码子块,并且所使用的运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0494]–使用两个运动向量和两个不同的参考图片来预测包含样点p0的编解码子块,使用相同的两个参考图片的两个运动向量来预测包含样点q0的编解码子块,并且在预测相同参考图片的两个编解码子块中使用的两个运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8。[0495]–相同参考图片的两个运动向量用于预测包含样点p0的编解码子块,相同参考图片的两个运动向量用于预测包含样点q0的编解码子块,并且以下两个条件都为真:[0496]–用于预测两个编解码子块的列表0运动向量的水平或垂直分量之间的绝对差以1/16亮度样点为单位大于或等于8,或者用于预测两个编解码子块的列表1运动向量的水平或垂直分量之间的绝对差值以1/16亮度样点为单位大于或等于8。[0497]–在包含样点p0的编解码子块的预测中使用的列表0运动向量的水平或垂直分量和在包含样点q0的编解码子块的预测中使用的列表1运动向量之间的绝对差以1/16亮度样点为单位大于或等于8,或者在包含样点p0的编解码子块的预测中使用的列表1运动向量的水平或垂直分量和在包含样点q0的编解码子块的预测中使用的列表0运动向量之间的绝对差以1/16亮度样点为单位大于或等于8。[0498]–否则,变量bs[xdi][ydj]设置为等于0。[0499]5.4.关于亮度去块滤波过程的实施例#4[0500]8.8.3.6.1亮度块边缘的决策过程[0501]该过程的输入包括:[0502]–图片样点阵列recpicture,[0503]–指定当前编解码块的左上角样点相对于当前图片的左上角样点的位置(xcb,ycb),[0504]–指定当前块的左上角样点相对于当前编解码块的左上角样点的位置(xbl,ybl),[0505]–指定是滤波垂直(edge_ver)还是水平(edge_hor)边缘的可变边缘类型,[0506]–指定边界滤波强度的变量bs,[0507]–指定最大滤波器长度的变量maxfilterlengthp,[0508]–指定最大滤波器长度的变量maxfilterlengthq。[0509]该过程的输出是:[0510]–包含决策的变量de、dep和deq,[0511]–修改后的滤波器长度变量maxfilterlengthp和maxfilterlengthq,[0512]–变量tc。[0513]…[0514]以下有序步骤适用:[0515]…[0516]1.当sidepislargeblk或sideqislargeblk大于0时,适用以下内容:[0517]a.变量dp0l、dp3l被导出,maxfilterlengthp被修改如下:[0518]–[[如果sidepislargeblk等于1,则以下公式适用:[0519]dp0l=(dp0 abs(p5,0-2*p4,0 p3,0) 1)》》1ꢀꢀ(8-1087)[0520]dp3l=(dp3 abs(p5,3-2*p4,3 p3,3) 1)》》1ꢀꢀ(8-1088)[0521]–否则,适用以下内容:]][0522]dp0l=dp0ꢀꢀ(8-1089)[0523]dp3l=dp3ꢀꢀ(8-1090)[0524][[maxfilterlengthp=3ꢀꢀ(8-1091)]][0525][0526]b.变量dq0l和dq3l导出如下:[0527]–[[如果sideqislargeblk等于1,则适用以下内容:[0528]dq0l=(dq0 abs(q5,0-2*q4,0 q3,0) 1)》》1ꢀꢀ(8-1092)[0529]dq3l=(dq3 abs(q5,3-2*q4,3 q3,3) 1)》》1ꢀꢀ(8-1093)[0530]–否则,适用以下内容:]][0531]dq0l=dq0ꢀꢀ(8-1094)[0532]dq3l=dq3ꢀꢀ(8-1095)[0533][0534]…[0535]2.变量de、dep和deq导出如下:[0536]…[0537]5.5.关于色度去块滤波过程的实施例#5[0538]8.8.3.6.3色度块边缘的决策过程[0539]该过程仅在chromaarraytype不等于0时调用。[0540]该过程的输入包括:[0541]–色度图片采样阵列recpicture,[0542]–指定当前色度编解码块相对于当前图片的左上角色度样点的左上角样点的色度位置(xcb,ycb),[0543]–指定当前色度块的左上角样点相对于当前色度编解码块的左上角样点的色度位置(xbl,ybl),[0544]–指定是滤波垂直(edge_ver)还是水平(edge_hor)边缘的可变边缘类型,[0545]–指定颜色分量索引的变量cidx,[0546]–指定图片级色度量化参数偏移的变量cqppicoffset,[0547]–指定边界滤波强度的变量bs,[0548]–变量maxfilterlengthcbcr。[0549]该过程的输出是[0550]–修改后的变量maxfilterlengthcbcr,[0551]–变量tc。[0552]变量maxk的导出如下:[0553]–如果edgetype等于edge_ver,则适用以下内容:[0554]maxk=(subheightc==1)?3:1ꢀꢀ(8-1124)[0555]–否则(edgetype等于edge_hor),适用以下内容:[0556]maxk=(subwidthc==1)?3:1ꢀꢀ(8-1125)[0557]i=0..maxfilterlengthcbcr和k=0..maxk的值pi和qi的导出如下:[0558]–如果edgetype等于edge_ver,则适用以下内容:[0559]qi,k=recpicture[xcb xbl i][ycb ybl k]ꢀꢀ(8-1126)[0560]pi,k=recpicture[xcb xbl-i-1][ycb ybl k]ꢀꢀ(8-1127)[0561]subsamplec=subheightcꢀꢀ(8-1128)[0562]–否则(edgetype等于edge_hor),适用以下内容:[0563]qi,k=recpicture[xcb xbl k][ycb ybl i]ꢀꢀ(8-1129)[0564]pi,k=recpicture[xcb xbl k][ycb ybl-i-1]ꢀꢀ(8-1130)[0565]subsamplec=subwidthcꢀꢀ(8-1131)[0566][0567]变量β′的值根据表t-18中的规定基于量化参数q确定,量化参数q如下导出:[0568]q=clip3(0,63,qpc (slice_beta_offset_div2《《1))ꢀꢀ(8-1134)[0569]其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。[0570]变量β导出如下:[0571]β=β′*(1《《(bitdepthc-8))ꢀꢀ(8-1135)[0572]变量tc′的值根据表8-18中的规定基于量化参数q确定,量化参数q如下导出:[0573]q=clip3(0,65,qpc 2*(bs-1) (slice_tc_offset_div2《《1))ꢀꢀ(8-1136)[0574]其中slice_tc_offset_div2是包含样点q0,0的条带的语法元素slice_tc_offset_div2的值。[0575]变量tc导出如下:[0576]tc=(bitdepthc《10)?(tc′ 2)》》(10-bitdepthc):tc′*(1《《(bitdepthc-8))ꢀꢀ(8-1137)[0577]当maxfilterlengthcbcr等于1而bs不等于2时,maxfilterlengthcbcr设置为等于0。[0578]5.6.去块中色度qp的实施例#6[0579]8.8.3.6.3色度块边缘的决策过程[0580]该过程仅在chromaarraytype不等于0时调用。[0581]该过程的输入包括:[0582]–色度图片采样阵列recpicture,[0583]–指定当前色度编解码块相对于当前图片的左上角色度样点的左上角样点的色度位置(xcb,ycb),[0584]–指定当前色度块的左上角样点相对于当前色度编解码块的左上角样点的色度位置(xbl,ybl),[0585]–指定是滤波垂直(edge_ver)还是水平(edge_hor)边缘的可变边缘类型,[0586]–指定颜色分量索引的变量cidx,[0587]–指定图片级色度量化参数偏移的变量cqppicoffset,[0588]–指定边界滤波强度的变量bs,[0589]–变量maxfilterlengthcbcr。[0590]该过程的输出是[0591]–修改后的变量maxfilterlengthcbcr,[0592]–变量tc。[0593]变量maxk的导出如下:[0594]–如果edgetype等于edge_ver,则适用以下内容:[0595]maxk=(subheightc==1)?3:1ꢀꢀ(8-1124)[0596]–否则(edgetype等于edge_hor),适用以下内容:[0597]maxk=(subwidthc==1)?3:1ꢀꢀ(8-1125)[0598]i=0..maxfilterlengthcbcr和k=0..maxk的值pi和qi的导出如下:[0599]–如果edgetype等于edge_ver,则适用以下内容:[0600]qi,k=recpicture[xcb xbl i][ycb ybl k]ꢀꢀ(8-1126)[0601]pi,k=recpicture[xcb xbl-i-1][ycb ybl k]ꢀꢀ(8-1127)[0602]subsamplec=subheightcꢀꢀ(8-1128)[0603]–否则(edgetype等于edge_hor),适用以下内容:[0604]qi,k=recpicture[xcb xbl k][ycb ybl i]ꢀꢀ(8-1129)[0605]pi,k=recpicture[xcb xbl k][ycb ybl-i-1]ꢀꢀ(8-1130)[0606]subsamplec=subwidthcꢀꢀ(8-1131)[0607]变量qpq和qpp被设置为等于编解码单元的qpy值,该编解码单元包括分别包含样点q0,0和p0,0的编码块。[0608][0609]变量qpc导出如下:[0610][[qpi=clip3(0,63,((qpq qpp 1)》》1) cqppicoffset)ꢀꢀ(8-1132)]][0611][0612]qpc=chromaqptable[cidx-1][qpi]ꢀꢀ(8-1133)[0613]注意–变量cqppicoffset根据滤波后的色度分量是cb分量还是cr分量,对pps_cb_qp_offset或pps_cr_qp_offset的值进行调整。但是,为了避免改变图片内的调整的量,滤波过程不包括对slice_cb_qp_offset或slice_cr_qp_offset的值的调整,也不包括对cuqpoffsetcb、cuqpoffsetcr或cuqpoffsetcbcr的值的调整(当cu_chroma_qp_offset_enabled_flag等于1时)。[0614]…[0615]5.7.关于去块中色度qp的实施例#7[0616]8.8.3.6.3色度块边缘的决策过程[0617]该过程仅在chromaarraytype不等于0时调用。[0618]该过程的输入包括:[0619]–色度图片采样阵列recpicture,[0620]–指定当前色度编解码块相对于当前图片的左上角色度样点的左上角样点的色度位置(xcb,ycb),[0621]–…[0622]该过程的输出是[0623]–修改后的变量maxfilterlengthcbcr,[0624]–变量tc。[0625]变量maxk的导出如下:[0626]–如果edgetype等于edge_ver,则适用以下内容:[0627]maxk=(subheightc==1)?3:1ꢀꢀ(8-1124)[0628]–否则(edgetype等于edge_hor),适用以下内容:[0629]maxk=(subwidthc==1)?3:1ꢀꢀ(8-1125)[0630]i=0..maxfilterlengthcbcr和k=0..maxk时的值pi和qi的导出如下:[0631]–如果edgetype等于edge_ver,则适用以下内容:[0632]qi,k=recpicture[xcb xbl i][ycb ybl k]ꢀꢀ(8-1126)[0633]pi,k=recpicture[xcb xbl-i-1][ycb ybl k]ꢀꢀ(8-1127)[0634]subsamplec=subheightcꢀꢀ(8-1128)[0635]–否则(edgetype等于edge_hor),适用以下内容:[0636]qi,k=recpicture[xcb xbl k][ycb ybl i]ꢀꢀ(8-1129)[0637]pi,k=recpicture[xcb xbl k][ycb ybl-i-1]ꢀꢀ(8-1130)[0638]subsamplec=subwidthcꢀꢀ(8-1131)[0639][[变量qpq和qpp被设置为等于编解码单元的qpy值,该编解码单元包括分别包含样点q0,0和p0,0的编码块。]][0640][0641]变量qpc导出如下:[0642]qpi=clip3(0,63,((qpq qpp 1)》》1) cqppicoffset)ꢀꢀ(8-1132)[0643]qpc=chromaqptable[cidx-1][qpi]ꢀꢀ(8-1133)[0644]注意–变量cqppicoffset根据滤波后的色度分量是cb分量还是cr分量,对pps_cb_qp_offset或pps_cr_qp_offset的值进行调整。但是,为了避免改变图片内的调整的量,滤波过程不包括对slice_cb_qp_offset或slice_cr_qp_offset的值的调整,也不包括对cuqpoffsetcb、cuqpoffsetcr或cuqpoffsetcbcr的值的调整(当cu_chroma_qp_offset_enabled_flag等于1时)。[0645]变量β′的值根据表8-18中的规定根据量化参数q确定,量化参数q如下导出:[0646]q=clip3(0,63,qpc (slice_beta_offset_div2《《1))ꢀꢀ(8-1134)[0647]其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。[0648]变量β导出如下:[0649]β=β′*(1《《(bitdepthc-8))ꢀꢀ(8-1135)[0650]变量tc′的值根据表8-18中的规定基于量化参数q确定,量化参数q如下导出:[0651]q=clip3(0,65,qpc 2*(bs-1) (slice_tc_offset_div2《《1))ꢀꢀ(8-1136)[0652]其中slice_tc_offset_div2是包含样点q0,0的条带的语法元素slice_tc_offset_div2的值。[0653]5.8.关于去块中色度qp的实施例#8[0654]当对所描绘的三个样点(用实心圆)进行滤波决策时,覆盖包括三个样点的色度cu的中心位置的亮度cu的qp被选择。因此,对于第一、第二和第三色度样点(如图11所示),分别只利用了cuy3的qp。[0655]这样,如何选择用于色度量化/去量化处理的亮度cu就与用于色度滤波器决策处理的亮度系数对齐。[0656]5.9.关于用于jccr编解码的块的qp的实施例#9[0657]8.7.3变换系数的缩放过程[0658]该过程的输入包括:[0659]–指定当前亮度变换块相对于当前图片的顶部亮度采样的左上角采样的亮度位置(xtby,ytby),[0660]–指定变换块宽度的变量ntbw,[0661]–指定变换块高度的变量ntbh,[0662]–指定当前块的颜色分量的变量cidx,[0663]–指定当前颜色分量的比特深度的变量bitdepth。[0664]该过程的输出是元素为d[x][y]的缩放的变换系数的(ntbw)x(ntbh)阵列d。[0665]量化参数qp导出如下:[0666]–如果cidx等于0,并transform_skip_flag[xtby][ytby]等于0,则适用以下内容:[0667]qp=qp′yꢀꢀ(8-950)[0668]–否则,如果cidx等于0(并且transform_skip_flag[xtby][ytby]等于1),则适用以下内容:[0669]qp=max(qpprimetsmin,qp′y)ꢀꢀ(8-951)[0670]–否则,如果tucresmode[xtby][ytby][[等于2]],则适用以下内容:[0671]qp=qp′cbcrꢀꢀ(8-952)[0672]–否则,如果cidx等于1,则适用以下内容:[0673]qp=qp′cbꢀꢀ(8-953)[0674]–否则(cidx等于2),适用以下内容:[0675]qp=qp′crꢀꢀ(8-954)[0676]6.所公开技术的示例实现[0677]图12是视频处理装置1200的块图。装置1200可用于实施本文所述的一种或多种方法。装置1200可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1200可以包括一个或多个处理器1202、一个或多个存储器1204和视频处理硬件1206。处理器1202可以被配置成实现本文档中描述的一种或多种方法。存储器(多个存储器)1204可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1206可以用于在硬件电路中实现本文档中描述的一些技术,并且可以部分或完全是处理器1202(例如,图形处理器核心gpu或其他信号处理电路)的一部分。[0678]在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应的比特流表示的转换期间应用,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于位于比特流内不同位置或在比特流内不同位置扩展的比特。例如,宏块可以根据变换和编码的误差残差值进行编码,并且还可以使用标头中的比特和比特流中的其他字段。[0679]应当理解,通过允许使用本文档中公开的技术,所公开的方法和技术将有益于结合在诸如智能手机、膝上型电脑、台式电脑和类似设备的视频处理装置中的视频编码器和/或解码器实施例。[0680]图13是视频处理的示例方法1300的流程图。方法1300包括,在1310,执行视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得当色度量化参数(qp)表用于导出去块滤波器的参数时,色度qp表的处理在各个色度qp值上执行。[0681]可以使用以下基于条款的格式来描述一些实施例。[0682]1.一种视频处理方法,包括:[0683]在视频单元和视频单元的比特流表示之间执行转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得当色度量化参数(qp)表被用于导出去块滤波器的参数时,色度qp表的处理在各个色度qp值上执行。[0684]2.条款1的方法,其中在色度qp表处理之后,色度qp偏移被添加到各个色度qp值。[0685]3.条款1-2中任一项的方法,其中色度qp偏移被添加到色度qp表输出的值上。[0686]4.条款1-2中任一项的方法,其中色度qp偏移不被认为是色度qp表的输入。[0687]5.条款2的方法,其中色度qp偏移是在图片级或视频单元级。[0688]6.一种视频处理方法,包括:[0689]在视频单元和视频单元的比特流表示之间执行转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中色度qp偏移处于图片/条带/片/图块/子图片级。[0690]7.条款6的方法,其中去块滤波器中使用的色度qp偏移与在视频单元的边界上应用的编解码方法相关联。[0691]8.条款7的方法,其中编解码方法是色度残差的联合编解码(jccr)方法。[0692]9.一种视频处理方法,包括:[0693]在视频单元和视频单元的比特流表示之间执行转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中在去块滤波器中使用与相同亮度编解码单元相关的信息,并且用于导出色度qp偏移。[0694]10.条款9的方法,其中相同的亮度编解码单元覆盖视频单元的中心位置的对应的亮度样点,其中视频单元是色度编解码单元。[0695]11.根据条款9所述的方法,其中将缩放过程应用于视频单元,并且其中去块滤波器的一个或多个参数至少部分取决于缩放过程的量化/去量化参数。[0696]12.条款11的方法,其中缩放过程的量化/去量化参数包括色度qp偏移。[0697]13.条款9-12中任一项的方法,其中视频单元中的亮度样点在p侧或q侧。[0698]14.根据条款13所述的方法,其中与相同亮度编解码单元相关的信息取决于编解码单元相对于相同亮度编解码单元的相对位置。[0699]15.一种视频处理方法,包括:[0700]在视频单元和视频单元的比特流表示之间执行转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中,在比特流表示中信令通知启用色度qp偏移的使用的指示。[0701]16.根据条款15所述的方法,其中响应于检测到一个或多个标志,有条件地信令通知所述指示。[0702]17.根据条款16所述的方法,其中所述一个或多个标志与jccr启用标志或色度qp偏移启用标志相关。[0703]18.根据条款15所述的方法,其中所述指示是基于导出而信令通知的。[0704]19.一种视频处理方法,包括:[0705]在视频单元和视频单元的比特流表示之间执行转换,其中在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中在去块滤波器中使用的色度qp偏移与在视频单元的边界上应用jccr编解码方法还是在视频单元的边界上应用不同于jccr编解码方法的方法是相同的。[0706]20.一种视频处理方法,包括:[0707]在视频单元和视频单元的比特流表示之间执行转换,其中,在转换期间,在视频单元的边界上使用去块滤波器,使得在去块滤波器中使用色度qp偏移,其中计算去块滤波器的边界强度(bs),且无需将与p侧边界处的视频单元相关联的参考图片和/或运动向量(mv)的数量与与q侧的视频单元相关联的参考图片和/或运动向量(mv)的数量进行比较。[0708]21.条款20的方法,其中去块滤波器在一个或多个条件下被禁用。[0709]22.根据条款21所述的方法,其中一个或多个条件与以下相关联:运动向量(mv)的幅度或阈值。[0710]23.根据条款22所述的方法,其中阈值与以下至少一个相关联:i.视频单元的内容,ii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu的组/tu/pu块/视频编解码单元中信令通知的消息,iii.cu/pu/tu/块/视频编解码单元的位置,iv.沿边界具有样点的块的编解码模式,v.应用于沿边界具有样点的视频单元的变换矩阵,vi.视频单元的形状或维度,vii.颜色格式的指示,viii.编解码树结构,ix.条带/片组类型和/或图片类型,x.颜色分量,xi.时域层id,或xii.标准的配置文件/级/层级。[0711]24.根据条款20所述的方法,其中不同的qp偏移用于ts编解码的视频单元和非ts编解码的视频单元。[0712]25.条款20的方法,其中在亮度滤波步骤中使用的qp与在亮度块的缩放过程中使用的qp相关。[0713]26.一种视频解码装置,包括处理器,该处理器被配置为实现条款1至25中的一个或多个的方法。[0714]27.一种视频编码设备,包括处理器,该处理器被配置为实现条款1至25中的一个或多个的方法。[0715]28.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使处理器实现条款1至25中任一项的方法。[0716]29.本文件中描述的方法、装置或系统。[0717]图14是显示示例视频处理系统1400的块图,其中可以实现本文公开的各种技术。各种实现可以包括系统1400的一些或所有组件。系统1400可以包括用于接收视频内容的输入1402。视频内容可以以原始或未压缩格式接收,例如8或10位多分量像素值,或者可以是压缩或编码格式。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,如以太网、无源光网络(pon)等,以及无线接口,如wi-fi或蜂窝接口。[0718]系统1400可以包括编解码组件1404,其可以实现本文档中描述的各种编码或编码方法。编解码组件1404可以降低从输入1402到编解码组件1404的输出的视频的平均比特率,以产生视频的比特流表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码组件1404的输出可以被存储,或者经由连接的通信(如组件1406所表示的)来传输。组件1408可以使用在输入1402接收的视频的存储或传送的比特流(或编解码的)表示来生成发送到显示接口1410的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且反转编解码的结果的对应的解码工具或操作将由解码器执行。[0719]外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。[0720]图15是根据本技术的视频处理方法1500的流程图表示。方法1500包括,在操作1510,在视频的色度分量的块和视频的比特流表示之间执行转换。在转换期间,去块滤波过程被应用于沿块的边缘的至少一些样点,并且色度量化参数(qp)偏移被添加到来自色度qp表的输出,以确定去块滤波过程的参数。[0721]在一些实施例中,色度qp偏移至少在比特流表示中的图片级或视频单元级由语法元素指示。在一些实施例中,视频单元包括条带、片、图块、子图片或块。在一些实施例中,色度qp偏移至少包括pps_cb_qp_offset和/或pps_cr_qp_offset。在一些实施例中,对色度qp表的输入禁用qp裁剪过程。在一些实施例中,色度分量包括视频的cr分量。在一些实施例中,色度分量包括视频的cb分量。[0722]图16是根据本技术的视频处理方法1600的流程图表示。方法1600包括,在操作1610,对于视频的色度分量的块和视频的比特流表示之间的转换,根据规则,基于包括边缘的一侧的样点的第一视频区域的第一量化信息和/或包括边缘的另一侧的样点的第二视频区域的第二量化信息,确定是否或如何对块的边缘应用滤波处理。该规则基于适用于块的编解码模式,用于对边缘的一侧的样点或另一侧的样点进行编码。该规则规定使用不同的视频单元级的多个qp偏移来确定第一量化信息或第二量化信息。方法1600还包括,在操作1620,基于该确定执行转换。[0723]在一些实施例中,其中不同的视频单元级至少包括图片级、条带级、片级、图块级或子图片级。在一些实施例中,多个qp偏移包括视频的cb分量的偏移。在一些实施例中,多个qp偏移包括视频的cr分量的偏移。[0724]在一些实施例中,规则规定多个qp偏移的选择基于编解码模式。在一些实施例中,编解码模式包括色度残差的联合编解码(jccr)编解码模式。在一些实施例中,在块以jccr编解码模式编解码的情况下,多个qp偏移包括至少图片级qp偏移或条带级qp偏移。在一些实施例中,在使用jccr编解码模式编解码第一视频区域或第二视频区域中的至少一个的情况下,用于确定滤波过程的阈值β和tc的多个qp偏移包括jccr编解码模式的qp偏移值。[0725]在一些实施例中,亮度分量的对应的块的信息用于确定第一视频区域的第一量化信息或第二视频区域的第二量化信息。在一些实施例中,为了滤波色度分量的块中的当前色度样点,覆盖对应于当前色度样点的亮度样点的亮度编解码单元的信息被用于确定第一视频区域的第一量化信息或第二视频区域的第二量化信息。[0726]在一些实施例中,是否或如何应用滤波过程基于适用于该块的缩放过程。在一些实施例中,用于确定阈值β和tc的第一视频区域的第一量化信息或第二视频区域的第二量化信息基于缩放过程中使用的量化信息。在一些实施例中,使用一个或多个编解码单元级qp偏移来确定在缩放过程中使用的量化信息。[0727]在一些实施例中,该方法的适用性基于块是在边缘的一侧上还是在边缘的另一侧上。在一些实施例中,亮度分量的对应的块的信息是否用于滤波过程是基于块的位置。在一些实施例中,在块位于边缘的另一侧上的情况下,亮度分量的对应的块的信息被用于滤波过程。在一些实施例中,在块位于边缘的一侧上的情况下,亮度分量的对应的块的信息被用于滤波过程。[0728]图17是根据本技术的视频处理方法1700的流程图表示。方法1700包括,在操作1710,对于视频的当前块和视频的比特流表示之间的转换,根据视频单元的级的语法元素,确定是否启用当前块的色度量化参数(qp)偏移的使用。视频单元包括视频的当前块和第二块。方法1700还包括,在操作1720,基于该确定执行转换。[0729]在一些实施例中,视频单元包括条带。在一些实施例中,视频单元还包括片、图块或子图片。[0730]在一些实施例中,语法元素有条件地包括在视频单元的级的比特流表示中。在一些实施例中,基于色度残差的联合编解码模式是否被启用,语法元素被有条件地包括在比特流表示中。在一些实施例中,基于指示块的级的色度量化参数(qp)偏移的使用的图片级的第二语法元素,语法元素被包括在视频单元的级的比特流表示中。在一些实施例中,在比特流表示中省略了语法元素,并且在图片级的第二语法元素指示在块的级的色度量化参数(qp)偏移的使用被禁止的情况下,块级的色度量化参数(qp)偏移的使用被确定为被禁止。在一些实施例中,基于条带级的语法元素和图片级的第二语法元素来确定当前块的色度量化参数(qp)偏移的使用。[0731]图18是根据本技术的视频处理方法1800的流程图表示。方法1800包括,在操作1810,执行在包括第一色度分量和第二色度分量的视频和视频的比特流表示之间的转换。根据规则,使用编解码模式在比特流表示中联合编解码第一色度分量的第一色度块和第二色度分量的第二色度块的残差。该规则规定导出用于转换的量化参数(qp)的方式独立于编解码模式。在一些实施例中,用于转换的qp是基于在比特流表示中的图片级或条带级处信令通知的qp偏移来导出的。[0732]图19是根据本技术的视频处理方法1900的流程图表示。方法1900包括,在操作1910,执行在视频的第一块和视频的比特流表示之间的转换。视频具有多颜色分量的颜色格式,并且第一块与视频的第一颜色分量相关联。在转换期间,沿第一块的边缘对至少一些样点应用去块滤波过程。方法1900包括,在操作1920,执行在与视频的剩余颜色分量和视频的比特流表示相关联的块之间的后续转换。在后续转换期间,以与第一块的转换相同的方式将去块滤波过程应用于沿每个块的边缘的至少一些样点。[0733]在一些实施例中,颜色格式是4:4:4。在一些实施例中,在红-绿-蓝(rgb)颜色空间中,颜色格式是4:4:4。在一些实施例中,颜色格式是4:2:2,并且去块滤波过程在垂直方向上应用。在一些实施例中,去块滤波过程包括决策过程和/或滤波过程。[0734]图20是根据本技术的视频处理方法2000的流程图表示。方法2000包括,在操作2010,对于视频和视频的比特流表示之间的转换,确定视频的两个块之间的边界的边界强度。不管两个块中的任何一个是否以色度残差的联合编解码(jccr)模式被编解码,该边界强度被确定。方法2000包括,在操作2020,基于该确定执行转换。[0735]在一些实施例中,在两个块中的一个块以jccr模式编解码的情况下,该块被视为以非jccr模式编解码,用于确定边界强度。在一些实施例中,边界强度独立于两个块的jccr的使用来确定。[0736]图21是根据本技术的视频处理方法2100的流程图表示。方法2100包括,在操作2110,对于视频和视频的比特流表示之间的转换,确定第一块和第二块之间的边界的边界强度。执行该确定且无需将第一块的信息与第二块的对应的信息进行比较。该信息包括参考图片和/或对应的块的运动向量的数量,并且边界强度用于确定去块滤波过程是否适用于边界。方法2100还包括,在操作2120,基于该确定执行转换。[0737]在一些实施例中,边界强度指示在第一块的参考图片不同于第二块的参考图片的情况下去块滤波过程被禁用。在一些实施例中,边界强度指示在第一块的运动向量的数量不同于第二块的运动向量的数量的情况下去块滤波过程被禁用。[0738]在一些实施例中,在第一块的一个或多个运动向量和第二块的一个或多个运动向量之间的差大于或等于阈值的情况下,边界强度被设置为1,该阈值是整数。在一些实施例中,第一块的一个或多个运动向量被表示为mvp[0]和mvp[1],并且第二块的一个或多个运动向量被表示为mvq[0]和mvq[1]。在(abs(mvp[0].x-mvq[0].x)》th||abs(mvp[0].y-mvq[0].y)》th||abs(mvp[1].x-mvq[1].x)》th)||abs(mvp[1].y-mvq[1].y)》th)的情况下,差大于或等于阈值th。在一些实施例中,在(abs(mvp[0].x-mvq[0].x)》th&&abs(mvp[0].y-mvq[0].y)》th&&abs(mvp[1].x-mvq[1].x)》th)&&abs(mvp[1].y-mvq[1].y)》th)的情况下,差大于或等于阈值th。在一些实施例中,在(abs(mvp[0].x-mvq[0].x)》th||abs(mvp[0].y-mvq[0].y)》th)&&(abs(mvp[1].x-mvq[1].x)》th)||abs(mvp[1].y-mvq[1].y)》th)的情况下,差值大于或等于阈值th。在一些实施例中,在(abs(mvp[0].x-mvq[0].x)》th&&abs(mvp[0].y-mvq[0].y)》th)||(abs(mvp[1].x-mvq[1].x)》th)&&abs(mvp[1].y-mvq[1].y)》th)的情况下,差值大于或等于阈值th。在一些实施例中,在第一块的运动向量和第二块的运动向量之间的差值小于或等于阈值的情况下,边界强度被设置为0,该阈值是整数。在一些实施例中,阈值是4、8或16。在一些实施例中,阈值基于视频的特性。[0739]在一些实施例中,基于条件来确定该方法的适用性。在一些实施例中,该方法适用于第一块和第二块没有用帧内预测模式编解码的情况。在一些实施例中,该方法适用于第一块和第二块对于亮度分量具有零系数的情况。在一些实施例中,该方法适用于第一块和第二块没有用组合帧间和帧内预测模式编解码的情况。在一些实施例中,该方法适用于第一块和第二块用相同的预测模式编解码的情况,相同的预测模式是块内拷贝预测模式或帧间预测模式。[0740]图22是根据本技术的视频处理方法2200的流程图表示。方法2200包括,在操作2210,对于视频的视频块和视频的比特流表示之间的转换,根据规则确定用于对视频块应用去块滤波的量化参数(qp)。该规则规定在使用变换跳过(ts)模式对视频块进行编解码的情况下,对该确定使用第一qp,在变换跳过模式中,通过跳过应用变换,视频块的残差被编解码在比特流表示中。在使用非变换跳过模式编解码视频块的情况下,对确定使用不同于第一qp的第二qp,在非变换跳过模式中,视频块的残差在应用变换之后被编解码在比特流表示中。方法2200还包括,在操作2220,基于该确定执行转换。[0741]在一些实施例中,对于亮度块的转换,适用于亮度块的滤波过程基于应用于亮度块的缩放过程的qp。在一些实施例中,用于确定滤波过程是否适用于亮度块的qp是基于ts模式的裁剪范围来确定的。[0742]图23是根据本技术的视频处理方法2300的流程图表示。方法2300包括,在操作2310,对于视频的视频块和视频的比特流表示之间的转换,根据规则确定为确定去块滤波过程对视频块的边缘的至少一些样点的适用性的梯度。该规则规定确定梯度的方式独立于视频块的尺寸。方法2300还包括,在操作2320,基于该确定执行转换。[0743]在一些实施例中,为具有不同边界尺寸的块调整用于确定是否启用去块滤波过程的阈值,该阈值是整数。在一些实施例中,阈值基于为去块滤波过程确定的量化参数。在一些实施例中,具有大边界的块的阈值小于具有小边界的块的第二阈值。在一些实施例中,具有大边界的块的阈值大于具有小边界的块的第二阈值。在一些实施例中,具有大边界的块的阈值等于具有小边界的块的第二阈值。在一些实施例中,阈值基于视频的特性。[0744]在一些实施例中,一个或多个上述方法的适用性基于视频的特性。在一些实施例中,视频的特性包括视频的内容。在一些实施例中,视频的特性包括在比特流表示中的解码器参数集、条带参数集、视频参数集、图片参数集、自适应参数集、图片标头、条带标头、片组标头、最大编解码单元(lcu)、编解码单元、lcu行、lcu的组、变换单元、图片单元或视频编解码单元中信令通知的信息。在一些实施例中,视频的特性包括编解码单元、图片单元、变换单元、块或视频编解码单元在视频中的位置。在一些实施例中,视频的特性包括块的编解码模式,该块包括沿边缘的至少一些样点。在一些实施例中,视频的特性包括变换矩阵,该变换矩阵被应用于包括沿边缘的至少一些样点的块。在一些实施例中,当前块或当前块的临近块的特性包括当前块的维度或当前块的临近块的维度。在一些实施例中,当前块或当前块的临近块的特性包括当前块的形状或当前块的临近块的形状。在一些实施例中,视频的特性包括视频的颜色格式的指示。在一些实施例中,视频的特性包括适用于视频的编码树结构。在一些实施例中,视频的特性包括视频的条带类型、片组类型或图片类型。在一些实施例中,视频的特性包括视频的颜色分量。在一些实施例中,视频的特性包括视频的时域层标识符。在一些实施例中,视频的特性包括视频标准的配置文件、级或层级。[0745]在一些实施例中,转换包括将视频编码成比特流表示。在一些实施例中,转换包括将比特流表示解码成视频。[0746]图24是示出可以利用本公开的技术的示例视频编解码系统100的块图。[0747]如图24所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,源设备110可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,源设备110可以被称为视频解码设备。[0748]源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。[0749]视频源112可以包括如视频捕获设备之类的源、从视频内容提供商接收视频数据的接口、和/或用于生成视频数据的计算机图形系统,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码的表示的比特序列。比特流可以包括编解码的图片和相关联的数据。编解码的图片是图片的编解码的表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由i/o接口116直接传输到目的地设备120。编码的视频数据也可以存储在存储介质/服务器130b上,以供目的地设备120访问。[0750]目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。[0751]i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或者可以在目的地设备120的外部,目的地设备120被配置为与外部显示设备接口。[0752]视频编码器114和视频解码器124可以根据视频压缩标准操作,如高效视频编解码(hevc)标准、通用视频编解码(vvc)标准和其他当前和/或进一步的标准。[0753]图25是示出视频编码器200的示例的块图,视频编码器200可以是图24所示的系统100中的视频编码器114。[0754]视频编码器200可以被配置成执行本公开的任何或所有技术。在图25的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。[0755]视频编码器200的功能组件可以包括分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编解码单元214,预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。[0756]在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括块内拷贝(ibc)单元。ibc单元可以在ibc模式中执行预测,其中至少一个参考图片是当前视频块所在的图片。[0757]此外,一些组件,如运动估计单元204和运动补偿单元205可以高度集成,但是为了解释的目的,在图5的示例中被单独表示。[0758]分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。[0759]模式选择单元203可以例如基于误差结果来选择编解码模式(帧内或帧间)之一,并将所得的帧内或帧间编解码的块提供给残差生成单元207以生成残差块数据,并提供给重构单元212以重构编码的块用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(ciip)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动向量的分辨率(例如,子像素或整数像素精度)。[0760]为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于除了与当前视频块相关联的图片之外的来自缓冲器213的图片的运动信息和解码的样点来确定当前视频块的预测的视频块。[0761]运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带、p条带还是b条带中。[0762]在一些示例中,运动估计单元204可以对当前视频块执行单预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1中包含参考视频块的参考图片的参考索引和指示当前视频块和参考视频块之间的空域位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测的视频块。[0763]在其他示例中,运动估计单元204可以对当前视频块执行双预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空域位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测的视频块。[0764]在一些示例中,运动估计单元204可以输出完整的运动信息集,用于解码器的解码处理。[0765]在一些示例中,运动估计单元204可以不输出当前视频的完整运动信息集。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息足够相似。[0766]在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。[0767]在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动向量差(mvd)。运动向量差指示当前视频块的运动向量和指示的视频块的运动向量之间的差。视频解码器300可以使用指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。[0768]如上所述,视频编码器200可以预测性地信令通知运动向量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动向量预测(amvp)和合并模式信令。[0769]帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。[0770]残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的预测的视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。[0771]在其他示例中,例如在跳过模式下,当前视频块可以没有当前视频块的残差数据,并且残差生成单元207可以不执行减法操作。[0772]变换处理单元208可以通过对与当前视频块相关联的残差视频块应用一个或多个变换来为当前视频块生成一个或多个变换系数视频块。[0773]在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。[0774]逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到来自由预测单元202生成的一个或多个预测的视频块的对应的样点,以产生与当前块相关联的重构的视频块,用于存储在缓冲器213中。[0775]在重构单元212重构视频块之后,可以执行环路滤波操作来减少视频块中的视频去块伪影。[0776]熵编解码单元214可以从视频编码器200的其他功能组件接收数据。当熵编解码单元214接收数据时,熵编解码单元214可以执行一个或多个熵编码操作以生成熵编码的数据并输出包括熵编码的数据的比特流。[0777]图26是显示视频解码器300的示例的块图,该视频解码器300可以是图24所示的系统100中的视频解码器114。[0778]视频解码器300可以被配置为执行本公开的任何或所有技术。在图26的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置成执行本公开中描述的任何或所有技术。[0779]在图26的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200描述的编码过程(例如,图25)相反的解码过程。[0780]熵解码单元301可以检索编码的比特流。编码的比特流可以包括熵编解码的视频数据(例如,视频数据的编码的块)。熵解码单元301可以解码熵编解码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定包括运动向量、运动向量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过执行amvp和合并模式来确定这样的信息。[0781]运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括要以子像素精度使用的插值滤波器的标识符。[0782]运动补偿单元302可以使用由视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。[0783]运动补偿单元302可以使用一些语法信息来确定用于对编码的视频序列的帧和/或条带进行编码的块的尺寸、描述如何对编码的视频序列的图片的每个宏块进行分割的分割信息、指示如何对每个分割进行编码的模式、每个帧间编码的块的一个或多个参考帧(和参考帧列表)以及解码编码的视频序列的其他信息。[0784]帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻的块形成预测块。逆量化单元303逆量化,即去量化在比特流中提供并由熵解码单元301解码的量化视频块系数。逆变换单元303应用逆变换。[0785]重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块相加,以形成解码的块。如果需要,还可以应用去块滤波器来对解码的块进行滤波,以便去除块效应伪影。解码的视频块然后被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以呈现在显示设备上。[0786]所公开的技术的一些实施例包括做出启用视频处理工具或模式的决策或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于工具或模式的使用来修改结果比特流。也就是说,当基于决策或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在比特流已经基于视频处理工具或模式被修改的知识的情况下处理比特流。也就是说,从视频的比特流表示到视频块的转换将使用基于决策或确定而启用的视频处理工具或模式来执行。[0787]所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决策或决策。在示例中,当视频处理工具或模式被禁用时,编码器将不会在视频块到视频的比特流表示的转换中使用该工具或模式。在另一个示例中,当视频处理工具或模式被禁用时,解码器将在比特流没有使用基于决策或确定被启用的视频处理工具或模式被修改的知识的情况下处理比特流。[0788]本文档中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本文档中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实现。所公开的和其他实施例可以被实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播的信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播的信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器设备。[0789]计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。[0790]本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且设备也可以被实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。[0791]举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传输数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;cdrom;和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或结合在其中。[0792]尽管本专利文件包含许多细节,但这些细节不应被解释为对任何主题或所要求保护的范围的限制,而是对特定技术的特定实施例可能特定的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。[0793]类似地,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。[0794]仅描述了几个实现和示例,并且可以基于本专利文件中描述和示出的内容进行其他实现、增强和变化。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献