用于视频编解码中的无损编解码模式的方法和装置与流程

文档序号:29207507发布日期:2022-03-12 02:21阅读:143来源:国知局
用于视频编解码中的无损编解码模式的方法和装置1.相关申请的交叉引用2.本技术基于并要求于2019年09月17日提交的申请号为62/901,768的临时申请和于2019年09月19日提交的申请号为62/902,956的临时申请的优先权,其全部内容通过引用以其整体并入本文用于所有目的。
技术领域
:3.本公开涉及视频编解码和压缩。更具体地,本公开涉及用于视频编解码中的无损编解码的方法和装置。
背景技术
::4.各种视频编解码技术可以用于压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(vvc)、联合探索测试模型(jem)、高效视频编解码(h.265/hevc)、高级视频编解码(h.264/avc)、运动图片专家组(mpeg)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等),预测方法利用了视频图像或序列中存在的冗余。视频编解码技术的重要目标在于将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的下降。技术实现要素:5.本公开的示例提供了用于视频编解码中的无损编解码的方法和装置。6.根据本公开的第一方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得可包括无损编码单元cu的多个cu。所述解码器还可获取所述无损cu的局部邻域中的至少一个部分重建的绝对水平。所述解码器还可独立于标量量化器状态并且基于所述至少一个部分重建的绝对水平来选择上下文模型。7.根据本公开的第二方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得可包括无损编码单元cu的多个cu。所述解码器还可基于所述无损cu获取变换块tb。所述解码器还可获取针对所述tb的经上下文编解码的二进制位ccb的最大数量。ccb的所述最大数量大于在系数归零之后所述tb内的样点数量乘以预设值。8.根据本公开的第三方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得可包括无损编码单元cu的多个cu。所述解码器还可基于所述无损cu确定变换系数编解码方案被应用于对残差块进行编解码。所述解码器还可使用所述变换系数编解码方案将变换系数的符号标志用信号发送为ccb。9.根据本公开的第四方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得多个编码单元cu。所述解码器还可基于所述多个cu获取残差块。所述解码器还可基于预定义过程自适应地旋转所述残差块。编码器和解码器两者遵循所述预定义过程。10.根据本公开的第五方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得可包括无损编码单元cu的多个cu。所述解码器还可基于所述无损cu确定应用变换系数编解码方案。所述解码器还可将所述变换系数编解码方案中的残差块样点的扫描顺序设置为在变换跳过模式下的残差编解码方案中使用的扫描顺序,以便对齐所述两个编解码方案的扫描顺序。11.根据本公开的第六方面,提供了一种用于解码视频信号的方法。所述方法可包括解码器获得多个编码单元cu。所述解码器还可基于应用于所述多个cu的系数归零操作来获得最后非零系数。所述解码器还可基于减小的变换单元tu像素尺寸来选择用于对所述最后非零系数的位置进行编解码的上下文模型,以便减少用于对最后非零系数进行编解码的上下文的总数。12.根据本公开的第七方面,提供了一种计算设备。所述计算设备可包括一个或多个处理器;非暂态计算机可读存储介质,存储由所述一个或多个处理器可执行的指令。所述一个或多个处理器可被配置为获得包括无损编码单元cu的多个cu。所述一个或多个处理器还可被配置为获取所述无损cu的局部邻域中的至少一个部分重建的绝对水平。所述一个或多个处理器还可被配置为独立于标量量化器状态并且基于所述至少一个部分重建的绝对水平来选择上下文模型。13.根据本公开的第八方面,提供了一种计算设备。所述计算设备可包括一个或多个处理器;非暂态计算机可读存储介质,存储由所述一个或多个处理器可执行的指令。所述一个或多个处理器可被配置为获得包括无损编码单元cu的多个cu。所述一个或多个处理器还可被配置为基于所述无损cu获取变换块tb。所述一个或多个处理器还可获取针对所述tb的经上下文编解码的二进制位ccb的最大数量。ccb的所述最大数量可以大于在系数归零之后所述tb内的样点数量乘以预设值。14.根据本公开的第九方面,提供了一种计算设备。所述计算设备可包括一个或多个处理器;非暂态计算机可读存储介质,存储由所述一个或多个处理器可执行的指令。所述一个或多个处理器可被配置为获得包括无损编码单元cu的多个cu。所述一个或多个处理器还可被配置为基于所述无损cu确定变换系数编解码方案被应用于对残差块进行编解码。所述一个或多个处理器还可被配置为使用所述变换系数编解码方案将变换系数的符号标志用信号发送为经上下文编解码的二进制位ccb。15.根据本公开的第十方面,提供了一种存储有指令的非暂态计算机可读存储介质。当所述指令由装置的一个或多个处理器执行时,所述指令可使所述装置获得多个cu。所述指令还可使所述装置基于所述多个cu获取残差块。所述指令可使所述装置基于预定义过程自适应地旋转所述残差块。编码器和解码器两者遵循所述预定义过程。16.根据本公开的第十一方面,提供了一种存储有指令的非暂态计算机可读存储介质。当所述指令由装置的一个或多个处理器执行时,所述指令可使所述装置获得包括无损cu的多个cu。所述指令还可使所述装置基于所述无损cu确定应用变换系数编解码方案。所述指令还可使所述装置将所述变换系数编解码方案中的残差块样点的扫描顺序设置为在变换跳过模式下的残差编解码方案中使用的扫描顺序,以便对齐所述两个编解码方案的扫描顺序。17.根据本公开的第十二方面,提供了一种存储有指令的非暂态计算机可读存储介质。当所述指令由装置的一个或多个处理器执行时,所述指令可使所述装置获得多个编码单元cu。所述指令还可使所述装置基于应用于所述多个cu的系数归零操作来获得最后非零系数。所述指令还可使所述装置基于减小的变换单元tu像素尺寸来选择用于对所述最后非零系数的位置进行编解码的上下文模型,以便减少用于对最后非零系数进行编解码的上下文的总数。18.将被理解,上面的总体描述和下面的详细描述仅是示例性和说明性的,并不旨在限制本公开。附图说明19.附图被并入本说明书中且构成本说明书的一部分,附图示出了与本公开一致的示例并且与描述一起用于解释本公开的原理。20.图1是根据本公开的示例的编码器的框图。21.图2是根据本公开的示例的解码器的框图。22.图3a是说明根据本公开的示例的多类型树结构中的块分割的示图。23.图3b是说明根据本公开的示例的多类型树结构中的块分割的示图。24.图3c是说明根据本公开的示例的多类型树结构中的块分割的示图。25.图3d是说明根据本公开的示例的多类型树结构中的块分割的示图。26.图3e是说明根据本公开的示例的多类型树结构中的块分割的示图。27.图4是根据本公开的示例的具有18乘12个亮度ctu的图片的示图。28.图5是根据本公开的示例的具有18乘12个亮度ctu的图片的图示。29.图6a是根据本公开的示例的vtm中的不允许的三元树(tt)和二元树(bt)分割的示例的图示。30.图6b是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。31.图6c是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。32.图6d是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。33.图6e是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。34.图6f是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。35.图6g是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。36.图6h是根据本公开的示例的vtm中的不允许的tt和bt分割的示例的图示。37.图7是根据本公开的示例的用于变换块的残差编解码结构的图示。38.图8是根据本公开的示例的用于变换跳过块的残差编解码结构的图示。39.图9是根据本公开的示例的两个标量量化器的图示。40.图10a是根据本公开的示例的状态转换的图示。41.图10b是根据本公开的示例的量化器选择的图示。42.图11是根据本公开的用于选择概率模型的模板的图示。43.图12是根据本公开的解码侧运动矢量细化的图示。44.图13是根据本公开的示例的用于解码视频信号的方法。45.图14是根据本公开的示例的用于解码视频信号的方法。46.图15是根据本公开的示例的用于解码视频信号的方法。47.图16是根据本公开的示例的用于解码视频信号的方法。48.图17是根据本公开的示例的用于解码视频信号的方法。49.图18是根据本公开的示例的用于解码视频信号的方法。50.图19是示出根据本公开的示例的与用户接口耦接的计算环境的示图。具体实施方式51.现在将详细参照示例性实施例,其示例在附图中示出。以下描述参考附图,其中不同附图中的相同标号表示相同或相似的元件,除非另有表示。在示例性实施例的以下描述中阐述的实现方式不表示与本公开一致的所有实现方式。相反,它们仅是与如所附权利要求中所记载的与本公开相关的方面一致的装置和方法的示例。52.本公开中使用的术语仅用于描述特定实施例的目的,并且不旨在限制本公开。如在本公开和所附权利要求中所使用的,单数形式“一种”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。还应当理解,本文使用的术语“和/或”旨在表示和包括一个或多个相关联的所列项目的任何或所有可能的组合。53.应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是信息不应受这些术语的限制。这些术语仅用于将一类信息与另一类信息区分开。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当......时”或“一经......”或“响应于判断”。54.hevc标准的第一版本在2013年10月完成,与前一代视频编解码标准h.264/mpegavc相比,hevc标准的第一版本提供大约50%的比特率节省或同等的感知质量。尽管hevc标准提供了与其前身相比显著的编解码改进,但有证据表明可以利用额外编解码工具实现优于hevc的编解码效率。基于此,vceg和mpeg都开始了用于未来视频编解码标准化的新编解码技术的探索工作。itu-tvecg和iso/iecmpeg在2015年10月形成了一个联合视频探索小组(jvet),以开始对可以实现显著提高编解码效率的先进技术的重要研究。jvet通过在hevc测试模型(hm)之上集成若干额外编解码工具,来维护一个被称为联合探索模型(jem)的参考软件。55.在2017年10月,itu-t和iso/iec发布了关于具有超出hevc的能力的视频压缩的联合提案召集(cfp)。在2018年4月,在第10次jvet会议上接收并评估了23个cfp回应,其展示了超过hevc约40%的压缩效率增益。基于这样的评估结果,jvet发起了新项目以开发被命名为通用视频编解码(vvc)的新一代视频编解码标准。在同月,建立了一个被称为vvc测试模型(vtm)的参考软件代码库,用于展示vvc标准的参考实现。56.与hevc类似,vvc建立在基于块的混合视频编解码框架上。57.图1示出了用于vvc的基于块的视频编码器的一般示图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、反量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138和比特流144。58.在编码器100中,视频帧被分割为多个视频块以进行处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。59.预测残差,其表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差,从加法器128被发送到变换130。变换系数然后从变换130被发送到量化132以用于熵减少。量化的系数然后被馈送到熵编码138以生成压缩的视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(诸如视频块分割信息、运动矢量(mv)、参考图片索引和帧内预测模式)也被馈送通过熵编码138并保存到压缩的比特流144中。压缩的比特流144包括视频比特流。60.在编码器100中,还需要解码器相关电路系统以便为了预测目的而重建像素。首先,通过反量化134和逆变换136重建预测残差。该重建的预测残差与块预测值140组合,以生成针对当前视频块的未经滤波的重建像素。61.空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编解码的相邻块的样点(其被称为参考样点)的像素,来预测当前视频块。62.时间预测(也被称为“帧间预测”)使用来自已经编解码的视频图片的重建像素,来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或多个mv来用信号发送针对给定编码单元(cu)或编码块的时间预测信号,该一个或多个mv指示当前cu与其时间参考之间的运动的量和方向。此外,如果多个参考图片被支持,则一个参考图片索引被额外发送,其被用于标识时间预测信号来自参考图片存储库中的哪个参考图片。63.运动估计114摄入视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112摄入视频输入110、来自图片缓冲器120的信号、以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。64.在空间和/或时间预测被执行之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。块预测值140然后从当前视频块中被减去,并且所得到的预测残差使用变130和量化132被去相关。所得到的量化的残差系数通过反量化134被反量化并且通过逆变换136被逆变换以形成重建的残差,重建的残差然后被加回到预测块以形成cu的重建信号。在重建的cu被放入图片缓冲器120的参考图片存储库中并用于对未来的视频块进行编解码之前,可以对重建的cu进一步应用环路滤波122,诸如去块滤波器、样点自适应偏移(sao)、和/或自适应环路滤波器(alf)。为了形成输出视频比特流144,编解码模式(帧间或帧内)、预测模式信息、运动信息、以及量化的残差系数全部被发送到熵编码单元138,以进一步被压缩和打包以形成比特流。65.图1给出了通用的基于块的混合视频编码系统的框图。输入视频信号逐块(被称为编码单元(cu))地被处理。在vtm-1.0中,cu可以多达128×128个像素。然而,与仅基于四元树来分割块的hevc不同,在vvc中,一个编码树单元(ctu)基于四元元树/二元元树/三元元树被拆分为多个cu以适应变化的局部特性。根据定义,编码树块(ctb)是针对某个n值的n×n样点块,使得将分量划分为ctb是分割。ctu包括具有三个样点阵列的图片的亮度样点的ctb、色度样点的两个对应ctb,或者单色图片的样点的ctb或使用三个单独色彩平面和用于编解码样点的语法结构被编解码的图片的样点的ctb。另外,hevc中的多分割单元类型的概念被去除,也即,cu、预测单元(pu)和变换单元(tu)的分离不再存在于vvc中;相反,每个cu总是被用作用于预测和变换两者的基本单元,而无需进一步的分割。66.在多类型树结构中,一个ctu首先通过四元树结构被分割。然后,每个四元树叶节点可以通过二叉和三元树结构被进一步分割。67.如图3a、图3b、图3c、图3d和图3e所示,存在五种拆分类型,四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。68.图3a示出了说明根据本公开的多类型树结构中的块四元分割的示图。69.图3b示出了说明根据本公开的多类型树结构中的块垂直二元分割的示图。70.图3c示出了说明根据本公开的多类型树结构中的块水平二元分割的示图。71.图3d示出了说明根据本公开的多类型树结构中的块垂直三元分割的示图。72.图3e示出了说明根据本公开的多类型树结构中的块水平三元分割的示图。73.在图1中,空间预测和/或时间预测可以被执行。空间预测(或“帧内预测”)使用来自相同视频图片/条带中的已经编解码的相邻块的样点(其被称为参考样点)的像素,来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“经运动补偿的预测”)使用来自已经编解码的视频图片的重建像素,来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或多个运动矢量(mv)来用信号发送针对给定cu的时间预测信号,该一个或多个运动矢量指示当前cu与其时间参考之间的运动的量和方向。此外,如果多个参考图片被支持,则一个参考图片索引被额外发送,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块例如基于率失真优化方法来选择最佳预测模式。预测块然后从当前视频块中被减去,并且预测残差使用变换被去相关并且被量化。量化的残差系数被反量化和逆变换以形成重建的残差,重建的残差然后被加回到预测块以形成cu的重建信号。此外,在重建的cu被放入参考图片存储库中并用于对未来的视频块进行编解码之前,可以对重建的cu应用环路滤波,诸如去块滤波器、样点自适应偏移(sao)、以及自适应环路滤波器(alf)。为了形成输出视频比特流,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数全部被发送到熵编码单元,以进一步被压缩和打包以形成比特流。74.图2示出了用于vvc的视频解码器的一般框图。具体地,图2示出了典型的解码器200框图。解码器200具有比特流210、熵解码212、反量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。75.解码器200类似于驻留在图1的编码器100中的重建相关部分。在解码器200中,传入的视频比特流210首先通过熵解码212被解码,以导出量化的系数水平和预测相关信息。量化的系数水平然后通过反量化214和逆变换216被处理,以获得重建的预测残差。在帧内/帧间模式选择器220中实现的块预测值机制被配置为:基于经解码的预测信息来执行帧内预测222或运动补偿224。通过使用加法器218,对来自逆变换216的重建预测残差和由块预测值机制生成的预测输出进行求和,来获得一组未经滤波的重建像素。76.在重建的块被存储在用作参考图片存储库的图片缓冲器226中之前,重建的块可以进一步通过环路滤波器228。图片缓冲器226中的重建视频可以被发送以驱动显示设备,以及用于预测未来的视频块。在打开环路滤波器228的情况下,对这些重建的像素执行滤波操作以导出最终的重建视频输出232。77.图2给出了基于块的视频解码器的一般框图。视频比特流首先在熵解码单元处被熵解码。编解码模式和预测信息被发送到空间预测单元(如果被帧内编解码)或时间预测单元(如果被帧间编解码)以形成预测块。残差变换系数被发送到反量化单元和逆变换单元以重建残差块。预测块和残差块然后相加在一起。重建的块在其被存储在参考图片存储库中之前可以进一步通过环路滤波。参考图片存储库中的重建视频然后被发送出去以驱动显示设备,以及用于预测未来的视频块。通常,在vvc中应用的基本帧内预测方案保持与hevc的基本帧内预测方案相同,除外的是若干模块被进一步扩展和/或改进,例如帧内子分割(isp)编解码模式、具有广角帧内方向的扩展帧内预测、位置相关帧内预测组合(pdpc)和4抽头帧内插值。78.vvc中的图片、瓦片组、瓦片和ctu的分割79.在vvc中,瓦片被定义为图片中的特定瓦片列和特定瓦片行内的ctu的矩形区域。瓦片组是图片的排他地包含在单个nal单元中的整数个瓦片的组合。基本上,瓦片组的概念与hevc中定义的条带相同。例如,图片被划分为瓦片组和瓦片。瓦片是覆盖图片的矩形区域的ctu序列。瓦片组包含图片的多个瓦片。瓦片组的两种模式被支持,即光栅扫描瓦片组模式和矩形瓦片组模式。在光栅扫描瓦片组模式下,瓦片组包含图片的按瓦片光栅扫描的瓦片序列。在矩形瓦片组模式下,瓦片组包含图片的共同形成图片的矩形区域的多个瓦片。矩形瓦片组内的瓦片按照瓦片组的瓦片光栅扫描的顺序。80.图4示出了图片的光栅扫描瓦片组分割的示例,其中图片被划分为12个瓦片和3个光栅扫描瓦片组。图4包括瓦片410、412、414、416、418、420、422、424、426、428、430和432。每个瓦片具有18个ctu。更具体地,图4示出了具有18乘12个亮度ctu的图片,该图片被分割为12个瓦片和3个瓦片组(信息性)。三个瓦片组如下:(1)第一瓦片组包括瓦片410和412、(2)第二瓦片组包括瓦片414、416、418、420和422以及(3)第三瓦片组包括瓦片424、426、428、430和432。81.图5示出了图片的矩形瓦片组分割的示例,其中图片被划分为24个瓦片(6个瓦片列和4个瓦片行)以及9个矩形瓦片组。图5包括瓦片510、512、514、516、518、520、522、524、526、528、530、532、534、536、538、540、542、544、546、548、550、552、554和556。更具体地,图5示出了具有18乘12个亮度ctu的图片,该图片被分割为24个瓦片和9个瓦片组(信息性)。瓦片组包含瓦片并且瓦片包含ctu。9个矩形瓦片组包括(1)两个瓦片510和512、(2)两个瓦片514和516、(3)两个瓦片518和520、(4)四个瓦片522、524、534和536、(5)四个瓦片526、528、538和540、(6)四个瓦片530、532、542和544、(7)两个瓦片546和548、(8)两个瓦片550和552以及(9)两个瓦片554和556。82.vvc中的利用高频归零的大块尺寸变换83.在vtm4中,尺寸高达64×64的大块尺寸变换被启用,其主要用于较高分辨率视频,例如1080p和4k序列。对于尺寸(宽度或高度、或宽度和高度两者)等于64的变换块,高频变换系数被归零,使得仅保留低频系数。例如,对于m×n变换块,m为块宽度并且n为块高度,当m等于64时,仅保留变换系数的左侧32个列。类似地,当n等于64时,仅保留变换系数的顶部32个行。当变换跳过模式被用于大块时,整个块被使用而不将任何值归零。84.vvc中的虚拟流水线数据单元(vpdu)85.虚拟流水线数据单元(vpdu)被定义为图片中的非重叠单元。在硬件解码器中,连续的vpdu通过多个流水线站被同时处理。vpdu尺寸与大多数流水线站中的缓冲器大小大致成比例,因此保持vpdu尺寸较小是重要的。在大多数硬件解码器中,vpdu尺寸可以被设置为最大变换块(tb)尺寸。然而,在vvc中,三元树(tt)和二元树(bt)分割可能导致vpdu尺寸的增加。86.为了将vpdu尺寸保持为64×64亮度样点,在vtm5中应用以下标准分割限制(利用语法信令修改),如图6a、图6b、图6c、图6d、图6e、图6f、图6g和图6h所示(如下所述):87.·对于宽度或高度或者宽度和高度两者等于128的cu,不允许tt拆分。88.·对于n≤64的128×ncu(即,宽度等于128且高度小于128),不允许水平bt。89.·对于n≤64的n×128cu(即,高度等于128且宽度小于128),不允许垂直bt。90.图6a、图6b、图6c、图6d、图6e、图6f、图6g和图6h示出了vtm中不允许的tt分割和bt分割的示例。91.vvc中的变换系数编解码92.vvc中的变换系数编解码在使用非重叠系数组(也称为cg或子块)方面类似于hevc。然而,它们之间也存在一些差异。在hevc中,系数的每个cg具有4×4的固定大小。在vvc草案6中,cg大小变得取决于tb尺寸。因此,在vvc中,各种cg大小(1×16、2×8、8×2、2×4、4×2和16×1)可用。根据预定义的扫描顺序对编码块内的cg和cg内的变换系数进行编解码。93.为了限制每像素的经上下文编解码的二进制位的最大数量,tb的面积和视频分量的类型(例如亮度分量与色度分量)被用于导出针对tb的经上下文编解码的二进制位(ccb)的最大数量。经上下文编解码的二进制位的最大数量等于tb_zosize×1.75。这里,tb_zosize指示在系数归零之后tb内的样点数量。注意,作为指示cg是否包含非零系数的标志的coded_sub_block_flag不被考虑用于ccb计数。94.系数归零是对变换块执行以强制位于变换块的特定区域中的系数为0的操作。例如,在当前vvc中,64×64变换具有相关联的归零操作。因此,位于64×64变换块内部的在左上方32×32区域外部的变换系数全部被强制为0。实际上,在当前vvc中,对于沿特定维度的尺寸超过32的任何变换块,沿该维度执行系数归零操作,以强制位于左上方32×32区域之外的系数为0。95.在vvc中的变换系数编解码中,首先将变量rembinspass1设置为所允许的经上下文编解码的二进制位的最大数量(mccb)。在编解码过程中,每当经上下文编解码的二进制位被用信号发送时,该变量减少一。当rembinspass1大于或等于4时,首先通过语法sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag用信号发送系数,所有这些语法在第一通道中使用经上下文编解码的二进制位。在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位利用语法元素abs_remainder对系数的水平信息的其余部分进行编解码。当在第一通道中进行编解码时rembinspass1变得小于4时,当前系数在第一通道中不被编解码,而是在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位利用语法元素dec_abs_level被直接编解码。在所有上述水平编解码之后,针对sig_coeff_flag等于1的所有扫描位置的符号(sign_flag)最终被编解码为旁路二进制位。在图7中描绘了这样的过程(下面描述)。针对每个tb重置rembinspass1。从针对sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag使用经上下文编解码的二进制位到针对其余系数使用经旁路编解码的二进制位的转变,每tb仅发生至多一次。对于系数子块,如果在对其第一个系数进行编解码之前rembinspass1小于4,则使用经旁路编解码的二进制位对整个系数子块进行编解码。96.图7示出了用于变换块的残差编解码结构的图示。97.统一(相同)的莱斯参数(ricepar)导出被用于用信号发送语法abs_remainder和dec_abs_level。唯一的区别是baselevel被设置为4和0以分别对abs_remainder和dec_abs_level进行编解码。莱斯参数不仅基于局部模板中的相邻五个变换系数的绝对水平的总和而且还基于对应的基础水平被确定,如下:98.ricepara=ricepartable[max(min(31,sumabs-5×baselevel),0)][0099]vvc中的变换跳过模式的残差编解码[0100]与其中单个残差编解码方案被设计用于编解码变换系数和变换跳过系数两者的hevc不同,在vvc中,两个单独的残差编解码方案分别被用于变换系数和变换跳过系数(即残差)。[0101]在变换跳过模式下,残差信号的统计特性不同于变换系数的统计特性,并且没有观察到低频分量周围的能量压缩。残差编解码被修改为考虑(空间)变换跳过残差的不同信号特性,其包括:[0102]·不用信号发送最后x/y位置;[0103]·当所有先前标志等于0时,针对除dc子块之外的每个子块编解码coded_sub_block_flag;[0104]·具有两个相邻系数的sig_coeff_flag上下文建模;[0105]·par_level_flag仅使用一个上下文模型;[0106]·附加的大于5、7、9个标志;[0107]·用于余数二值化的修改的莱斯参数导出[0108]·基于左侧和上方相邻系数值确定针对符号标志的上下文建模,并且在sig_coeff_flag之后解析符号标志以将所有经上下文编解码的二进制位保持在一起;[0109]如图8所示(如下所述),语法元素sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag在第一通道中以交错方式逐个残差样点地被编解码,然后abs_level_gtx_flag在第二通道中按照位平面被编解码,并且abs_remainder在第三通道中被编解码。[0110]·通道1:sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag[0111]·通道2:abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flag[0112]·通道3:abs_remainder[0113]图8示出了用于变换跳过块的残差编解码结构的图示。[0114]量化[0115]在当前vvc中,最大qp值从51扩展到63,并且初始qp的信令相应地被改变。当对slice_qp_delta的非零值进行编解码时,可以在条带段层修改sliceqpy的初始值。对于变换跳过块,最小允许的量化参数(qp)被定义为4,这是因为当qp等于4时,量化步长变为1。[0116]另外,相同hevc标量量化与被称为依赖标量量化的新概念一起使用。依赖标量量化是指一种方法,其中针对变换系数的可容许重建值的集合取决于按重建顺序在当前变换系数水平之前的变换系数水平的值。该方法的主要效果是,与hevc中使用的常规独立标量量化相比,可容许重建矢量在n维矢量空间中被更密集地打包(n表示变换块中的变换系数的数量)。这表示,对于每n维单位体积的可容许重建矢量的给定平均数量,输入矢量与最接近的重建矢量之间的平均失真被减小。依赖标量量化的方法通过以下步骤实现:(a)定义具有不同重建水平的两个标量量化器,以及(b)定义用于在两个标量量化器之间切换的过程。[0117]所使用的两个标量量化器(由q0和q1表示)在图9中示出(下面描述)。可用重建水平的位置由量化步长δ唯一地指定。所使用的标量量化器(q0或q1)不在比特流中明确地被用信号发送。相反,用于当前变换系数的量化器由按编解码/重建顺序在当前变换系数之前的变换系数水平的奇偶性确定。[0118]图9示出了在所提出的依赖量化的方法中使用的两个标量量化器的图示。[0119]如图10a和图10b所示(下面描述),两个标量量化器(q0和q1)之间的切换经由具有四个量化器状态(qstate)的状态机来实现。qstate可以采用四个不同的值:0、1、2、3。它由按编解码/重建顺序在当前变换系数之前的变换系数水平的奇偶性唯一地确定。在用于变换块的反量化开始时,状态被设置为等于0。变换系数按扫描顺序(即,按它们被熵解码的相同顺序)被重建。在重建当前变换系数之后,如图12所示更新状态,其中k表示变换系数水平的值。[0120]图10a示出了说明所提出的依赖量化的状态转换的转换图。[0121]图10b示出了说明用于所提出的依赖量化的量化器选择的表。[0122]还支持用信号发送默认缩放矩阵和用户定义的缩放矩阵。默认模式缩放矩阵都是平的,其中对于所有tb尺寸,元素等于16。ibc和帧内编解码模式当前共享相同的缩放矩阵。因此,对于用户定义的矩阵的情况,matrixtype和matrixtype_dc的数量更新如下:[0123]·matrixtype:30=2(2用于帧内和ibc/帧间)×3(y/cb/cr分量)×5(正方形tb尺寸:对于亮度从4×4到64×64,对于色度从2×2到32×32)[0124]·matrixtype_dc:14=2(2用于帧内和帧间/帧间×1用于y分量)×3(tb尺寸:16×16、32×32、64×64)+4(2用于帧内和ibc/帧间×2用于cb/cr分量)×2(tb尺寸:16×16、32×32)[0125]dc值分别针对以下缩放矩阵被编解码:16×16、32×32和64×64。对于尺寸小于8×8的tb,一个缩放矩阵中的所有元素被用信号发送。如果tb的尺寸大于或等于8×8,则一个8×8缩放矩阵中的仅64个元素作为基本缩放矩阵被用信号发送。为了获得尺寸大于8×8的正方形矩阵,将8×8基本缩放矩阵上采样(通过元素的复制)到对应的正方形尺寸(即16×16、32×32、64×64)。当用于64点变换的高频系数的归零被应用时,缩放矩阵的对应高频也被归零。也就是说,如果tb的宽度或高度大于或等于32,则仅保持系数的左半部或上半部,并且其余系数被分配为零。此外,针对64×64缩放矩阵用信号发送的元素的数量也从8×8减少到三个4×4子矩阵,这是因为右下4×4元素从未被使用。[0126]用于变换系数编解码的上下文建模[0127]针对与变换系数水平的绝对值相关的语法元素的概率模型的选择取决于局部邻域中的绝对水平或部分重建的绝对水平的值。所使用的模板在图11中示出。[0128]图11示出了用于选择概率模型的模板的图示。黑色正方形指定当前扫描位置,并且具有“x”的正方形表示所使用的局部邻域。[0129]所选择的概率模型取决于局部邻域中的绝对水平(或部分重建的绝对水平)的总和以及局部邻域中大于0的绝对水平的数量(由等于1的sig_coeff_flags的数量给出)。上下文建模和二值化取决于关于局部邻域的以下度量:[0130]·numsig:局部邻域中的非零水平的数量;[0131]·sumabs1:局部邻域中的在第一通道之后部分重建的绝对水平(abslevel1)的总和;[0132]·sumabs:局部邻域中的重建绝对水平的总和[0133]·对角线位置(d):变换块内的当前扫描位置的水平坐标和垂直坐标的总和[0134]基于numsig、sumabs1和d的值,选择用于编解码sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的概率模型。基于sumabs和numsig的值来选择用于二值化abs_remainder和dec_abs_level的莱斯参数。[0135]在当前vvc中,减少的32点mts(也称为rmts32)基于跳过高频系数并且被用于降低32点dst-7/dct-8的计算复杂度。并且,它伴随着包括所有类型的归零(即,rmts32和dct2中的高频分量的现有归零)的系数编解码变化。具体地,最后非零系数位置编解码的二值化基于减小的tu尺寸被编解码,并且用于最后非零系数位置编解码的上下文模型选择由原始tu尺寸确定。另外,使用60个上下文模型来编解码变换系数的sig_coeff_flag。上下文模型索引的选择基于被称为locsumabspass1的最多五个先前部分重建的绝对水平的总和以及依赖量化状态qstate,如下:[0136]·如果cidx等于0,则如下导出ctxinc:[0137]ctxinc=12×max(0,qstate-1)+[0138]min((locsumabspass1+1)》》1,3)+(d《2?8:(d《5?4:0))[0139]·否则(cidx大于0),如下导出ctxinc:[0140]ctxinc=36+8×max(0,qstate-1)+[0141]min((locsumabspass1+1)》》1,3)+(d《2?4:0)[0142]vvc中的解码器侧运动矢量细化(dmvr)[0143]解码器侧运动矢量细化(dmvr)是针对在双向预测合并模式下被编解码并且被sps级标志sps_dmvr_enabled_flag控制的块的技术。在此模式下,块的两个运动矢量(mv)可使用双边匹配(bm)预测被进一步细化。如图12中所示(下面描述),双边匹配方法被用于通过在当前cu的两个相关联的参考图片中沿着当前cu的运动轨迹搜索当前cu的两个参考块之间的最接近匹配来细化当前cu的运动信息。在该图12中,图案化黑色矩形块(1222和1264)指示基于来自合并模式的初始运动信息的当前cu及其两个参考块。图案化矩形块(1224和1262)指示基于在运动细化研究过程中使用的mv候选的一对参考块。mv候选与初始mv(也称为原始mv)之间的mv差分别为mvdiff和-mvdiff,如图14所示。在dmvr期间,可检查初始mv周围的多个这样的mv候选。具体来说,对于每个给定mv候选,其两个相关联的参考块可分别从其在列表0和列表1中的参考图片中定位,并且计算它们之间的差。这种块差通常以sad(或绝对差之和)或行子采样的sad(即,利用每隔一行包括的块计算的sad)被测量。最后,在其两个参考块之间具有最低sad的mv候选变成经细化的mv并且被用于产生双向预测信号作为针对当前cu的实际预测。[0144]图12示出了解码侧运动矢量细化。[0145]图12包括列表l0中的1220refpic、1240当前图片和列表l1中的1260refpic。列表l0中的1220refpic是第一列表的参考图片并且包括1222当前cu、1224参考块、1226mvdiff、1228mv0和1230mv0'。1226mvdiff是1222当前cu与1224参考块之间的运动矢量差。1228mv0是块1222当前cu与块1242当前cu之间的运动矢量。1230mv0'是块1222当前cu与块1242当前cu之间的运动矢量。1240当前图片是视频的当前图片并且包括1242当前cu、1244mv1'和1246mv1'。1244mv1'是块1242当前cu与块1262参考块之间的运动矢量。1246mv1是块1242当前cu与块1264当前cu之间的运动矢量。列表l1中的1260refpic是第二列表中的参考图片并且包括1262参考块、1264当前cu和1266-mvdiff。1266-mvdiff是1262参考块与1264当前cu之间的运动矢量差。[0146]在vvc中,dmvr被应用于满足以下条件的cu:[0147]·利用具有双向预测mv的cu级合并模式(不是子块合并模式)被编解码;[0148]·相对于当前图片,cu的一个参考图片在过去(即,具有小于当前图片poc的poc)并且另一参考图片在未来(即,具有大于当前图片poc的poc);[0149]·从两个参考图片到当前图片的poc距离(即,绝对poc差)相同;[0150]·cu的尺寸超过64个亮度样点,并且cu高度超过8个亮度样点。[0151]通过dmvr过程导出的经细化的mv被用于产生帧间预测样点并且还被用于时间运动矢量预测以用于未来图片编解码。然而,原始mv被用于去块过程并且还被用于空间运动矢量预测以用于未来cu编解码。[0152]vvc中的双向光流(bdof)[0153]从vtm5开始包括双向光流(bdof)工具。先前称为bio的bdof被包括在jem中。与jem版本相比,vtm5中的bdof是更简单的版本,其需要更少的计算,特别是在乘法次数和乘数的大小方面。bdof由sps标志sps_bdof_enabled_flag进行控制。[0154]bdof被用于在4×4子块级细化cu的双向预测信号。如果cu满足以下条件,则bdof被应用于该cu:1)cu的高度不是4,并且cu的尺寸不是4×8,2)cu不是使用仿射模式或atmvp合并模式被编解码;3)cu使用“真正”双向预测模式被编解码,即,两个参考图片中的一个参考图片按显示顺序在当前图片之前,另一个参考图片按显示顺序在当前图片之后。bdof仅应用于亮度分量。[0155]如其名称所示,bdof模式基于光流概念,其假设对象的运动是平滑的。bdof基于当前块的梯度值来调整预测样点值以提高编解码效率。[0156]vvc中的用于dmvr和bdof的解码器侧控制[0157]在当前vvc中,如果bdof/dmvr的相应sps控制标志被启用并且对于常规合并候选满足一些双向预测和尺寸约束,则bdof/dmvr始终被应用。[0158]当所有以下条件为真时,dmvr被应用于常规合并模式:[0159]·sps_dmvr_enabled_flag等于1并且slice_disable_bdof_dmvr_flag等于0[0160]·general_merge_flag[xcb][ycb]等于1[0161]·predflag10[0][0]和predflagl1[0][0]都等于1[0162]·mmvd_merge_flag[xcb][ycb]等于0[0163]·diffpicordercnt(currpic,refpiclist[0][refidx10])等于diffpicordercnt(refpiclist[1][refidxl1],currpic)[0164]·bcwidx[xcb][ycb]等于0[0165]·luma_weight_l0_flag[refidx10]和luma_weight_l1_flag[refidxl1]都等于0[0166]·cbwidth大于或等于8[0167]·cbheight大于或等于8[0168]·cbheight×cbwidth大于或等于128[0169]·对于x为0和1中的每一个,与refidxlx相关联的参考图片refpiclx的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples[0170]当所有以下条件为真时,bdof被应用于双向预测:[0171]·sps_bdof_enabled_flag等于1并且slice_disable_bdof_dmvr_flag等于0。[0172]·predflag10[xsbidx][ysbidx]和predflag11[xsbidx][ysbidx]都等于1。[0173]·diffpicordercnt(currpic,refpiclist[0][refidx10])×diffpicordercnt(currpic,refpiclist[1][refidx1])小于0。[0174]·motionmodelidc[xcb][ycb]等于0。[0175]·merge_subblock_flag[xcb][ycb]等于0。[0176]·sym_mvd_flag[xcb][ycb]等于0。[0177]·ciip_flag[xcb][ycb]等于0。[0178]·bcwidx[xcb][ycb]等于0。[0179]·luma_weight_l0_flag[refidx10]和luma_weight_l1_flag[refidxl1]都等于0。[0180]·cbwidth大于或等于8[0181]·cbheight大于或等于8[0182]·cbwidth×cbheight大于或等于128[0183]·对于x为0和1中的每一个,与refidxlx相关联的参考图片refpiclx的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples[0184]·cidx等于0。[0185]hevc中的无损编解码[0186]通过简单的旁路变换、量化和环路滤波器(去块滤波器、样点自适应偏移和自适应环路滤波器)来实现hevc中的无损编解码模式。该设计旨在实现具有针对主流应用的常规hevc编码器和解码器实现所需的最小改变的无损编解码。[0187]在hevc中,无损编解码模式可以在各个cu级被打开或关闭。这是通过在cu级用信号发送的语法cu_transquant_bypass_flag来完成的。为了减少无损编解码模式是不必要的情况的信令开销,cu_transquant_bypass_flag语法并不总是被用信号发送。其仅在称为transquant_bypass_enabled_flag的另一语法具有值1时被用信号发送。换句话说,语法transquant_bypass_enabled_flag被用于开启cu_transquant_bypass_flag的语法信令。[0188]在hevc中,语法transquant_bypass_enabled_flag在图片参数集(pps)中被用信号发送以指示语法cu_transquant_bypass_flag是否需要针对参考该pps的图片内的每个cu被用信号发送。如果该标志被设置为等于1,则语法cu_transquant_bypass_flag在cu级被发送以用信号发送当前cu是否在无损模式下被编解码。如果在pps中将此标志设置为等于0,则cu_transquant_bypass_flag不被发送,并且图片中的所有cu利用过程中涉及的变换、量化和环路滤波器被编解码,这通常将导致一定程度的视频质量下降。为了无损地编解码整个图片,针对图片中的每个cu,必须将pps中的标志transquant_bypass_enabled_flag设置为1,并且将cu级标志cu_transquant_bypass_flag设置为等于1。下面示出与hevc中的无损模式相关的详细语法信令。[0189]等于1的transquant_bypass_enabled_flag指定存在cu_transquant_bypass_flag。等于0的transquant_bypass_enabled_flag指定cu_transquant_bypass_flag不存在。[0190]等于1的cu_transquant_bypass_flag指定如条款8.6中所指定的缩放和变换过程以及如条款8.7中所指定的环路滤波器过程被旁路。当cu_transquant_bypass_flag不存在时,其被推断等于0。[0191][0192][0193][0194][0195][0196][0197]本公开中使用的术语仅用于描述示例性示例的目的,并不旨在限制本公开。如在本公开和所附权利要求中所使用的,单数形式“一个”、“一种”和“所述”旨在也包括复数形式,除非上下文另有明确说明。还应当理解,除非上下文另有明确说明,否则本文使用的术语“或”和“和/或”旨在表示和包括一个或多个相关所列项目的任何或所有可能的组合。[0198]应当理解,尽管术语“第一”、“第二”、“第三”等可以包括在本文中用于描述各种信息,但是所述信息不应受这些术语的限制。这些术语仅用于将一类信息与另一类信息区分开。例如,在不脱离本公开内容的范围的情况下,第一信息可以包括被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当......时”或“在......时”或“响应于......”。[0199]贯穿本说明书以单数或复数形式对“一个示例”、“示例”、“示例性示例”等的引用表示结合示例描述的一个或多个特定特征、结构或特性被包括在本公开的至少一个示例中。因此,贯穿本说明书在各个地方以单数或复数出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代相同的示例。此外,一个或多个示例中的特定特征、结构或特性可以以任何合适的方式组合。[0200]视频编解码中的无损编解码模式的低效性[0201]在vvc中,最大tu尺寸是64×64,并且vpdu也被设置为64×64。由于针对大于32的宽度/高度的系数归零机制,vvc中的用于系数编解码的最大块尺寸为32×32。在此约束下,当前变换跳过仅支持高达32×32的tu,使得用于残差编解码的最大块尺寸可与用于系数编解码的最大块尺寸32×32对齐。然而,在vvc中,不对无损cu的残差编解码的块尺寸进行约束。因此,当前在vvc中,可以在无损编解码模式下生成尺寸大于32×32的残差块,这将要求支持对大于32×32的块的残差编解码。这对于编解码器实现不是优选的。在本公开中,提出了几种方法来解决这种低效性。[0202]与vvc中的无损编解码支持相关联的另一低效性是如何选择残差(或称为系数)编解码方案。在当前的vvc中,两种不同的残差编解码方案是可用的。对于给定块(或cu),残差编解码方案的选择基于给定块(或cu)的变换跳过标志。因此,如果在vvc中的无损模式下,假设变换跳过标志为1,如在hevc中那样,则在变换跳过模式下使用的残差编解码方案将始终被用于无损模式cu。然而,当变换跳过标志为真时使用的当前残差编解码方案主要被设计用于屏幕内容编解码。当前残差编解码方案被用于常规内容(即,非屏幕内容)的无损编解码可能不是最佳的。在本公开中,提出了若干方法来选择用于无损编解码模式的残差编解码。[0203]与当前vvc中的无损编解码相关联的第三低效性是对变换系数编解码中的上下文模型的选择取决于所使用的标量量化器。然而,由于在无损编解码中禁用量化过程,所以如果变换系数编解码被应用于在无损编解码模式下对残差块进行编解码,则根据量化器选择来选择上下文模型可能不是最佳的。[0204]第四低效性与针对无损编解码模式下的每个tu的最大ccb相关。对于亮度和色度tu,有损编解码模式下的当前限制为tb_zosize×1.75。它对于无损编解码可能不是最佳的。[0205]第五低效性与对变换系数的符号标志的编解码有关。当前,符号标志在用于变换跳过块的残差编解码中被用信号发送为经上下文编解码的二进制位,并且在变换系数编解码中被用信号发送为经旁路编解码的二进制位。这是因为,在变换系数编解码中,假设变换系数的符号具有取值0与1的几乎相等的概率,并且它与其相邻的变换系数值不是如此相关。然而,在用于变换跳过模式的残差编解码中,残差的符号确实展示了与相邻残差值的相关性。因此,如果变换系数编解码被应用于编解码残差块,则可以预期残差的符号也非常可能与相邻残差值相关。在这种情况下,将它们编解码为旁路二进制位可能不是最佳的。[0206]在当前vvc中,使用两个解码器侧搜索工具(即,bdof和dmvr)来细化经解码的像素值以提高编解码性能。然而,在无损编解码中,由于预测像素已经具有非常高的保真度,所以bdof和dmvr不会带来许多编解码增益益处。因此,bdof和dmvr不应被应用于无损编解码,这是因为这些解码器侧工具对于解码器而言相当复杂。然而,在当前vvc中,如果bdof和dmvr的对应sps启用标志被启用并且对于常规合并候选满足一些双向预测和尺寸约束,则bdof和dmvr始终被应用。对于无损vvc编解码,具有对dmvr和bdof启用的一些较低水平(例如在条带级和/或cu级)控制是有益的。[0207]所提出的用于改进视频编解码中的无损编解码模式的方法[0208]在本公开中,提出若干方法来解决在视频编解码中的无损编解码模式的低效性部分中所提及的低效性。注意,可以独立地或联合地应用以下方法。[0209]用于无损cu的残差块分割[0210]根据本公开的一个或多个实施例,提出将针对无损cu的最大残差编码块尺寸与由变换跳过模式支持的最大块尺寸对齐。在一个示例中,变换跳过模式可仅针对宽度和高度均小于或等于32的残差块被启用,这表示变换跳过模式下的最大残差编码块尺寸为32×32。这里,针对无损cu的残差块的最大宽度和/或高度也被设置为32,最大残差块尺寸为32×32。每当无损cu的宽度/高度大于32时,cu残差块被划分为尺寸为32×n和/或n×32的多个较小残差块,使得较小残差块的宽度或高度不大于32。例如,128×32无损cu被划分为四个32×32残差块以用于残差编解码。在另一示例中,64×64无损cu被划分为四个32×32残差块。[0211]根据本公开的一个或多个实施例,提出将针对无损cu的用于残差编解码的最大块尺寸与vpdu的尺寸对齐。在一个示例中,针对无损cu的最大残差块的宽度/高度被设置为vpdu尺寸(例如,当前vvc中的64×64)。每当无损cu的宽度/高度大于64时,cu残差块被划分为尺寸为64×n和/或n×64的多个较小残差块,使得较小残差块的宽度或高度不大于vpdu宽度和/或高度。例如,128×128无损cu被划分为四个64×64残差块以用于残差编解码。在另一示例中,128×32无损cu被划分为两个64×32残差块。[0212]针对无损模式cu的残差编解码方案的选择[0213]在当前vvc中,取决于cu是否以变换跳过模式被编解码,cu利用不同的残差编解码方案。在变换跳过模式下使用的当前残差编解码通常更适合于屏幕内容编解码。[0214]在一个或多个实施例中,无损cu可使用与由变换跳过模式cu使用的残差编解码方案相同的残差编解码方案。[0215]在一个或多个实施例中,无损cu可使用与非变换跳过模式cu使用的残差编解码方案相同的残差编解码方案。[0216]在一个或多个实施例中,基于某些条件和/或预定义过程,从现有残差编解码方案自适应地选择用于无损cu的残差编解码方案。编码器和解码器都遵循这样的条件和/或预定义过程,使得在比特流中不需要信令来指示选择。在一个示例中,可以在编码器和解码器两者中指定并利用简单的屏幕内容检测方案。基于检测方案,当前视频块可以被分类为屏幕内容或常规内容。在其是屏幕内容的情况下,在变换跳过模式下使用的残差编解码方案被选择。否则,另一个残差编解码方案被选择。[0217]在一个或多个实施例中,语法在比特流中被用信号发送以显示地指定无损cu使用哪个残差编解码方案。这样的语法可以是二进制标志,每个二进制值指示对两个残差编解码方案之一的选择。语法可以在不同级被用信号发送。例如,它可以在序列参数集(sps)、图片参数集(pps)、条带头、瓦片组头或瓦片中被用信号发送。它也可以在ctu或cu级被用信号发送。当用信号发送此语法时,处于相同或较低水平的所有无损cu将使用由该语法指示的相同残差编解码方案。例如,当在sps级用信号发送语法时,序列中的所有无损cu将使用所指示的相同残差编解码方案。当在pps级用信号发送语法时,图片中的所有无损cu将使用在相关联的pps中指示的相同残差编解码方案。在cu级处存在用于指示cu是否在无损模式下被编解码的语法(例如cu_transquant_bypass_flag)的情况下,基于cu的无损模式标志有条件地用信号发送指示残差编解码方案的语法。例如,仅当无损模式标志cu_transquant_bypass_flag指示当前cu在无损模式下被编解码时,才针对cu用信号发送指示残差编解码方案的语法。又例如,它可以在tu级被用信号发送。如果在cu级处存在用于指示cu是否在无损模式下被编解码的语法,例如cu_transquant_bypass_flag,则针对当前无损cu的每个tu的语法被用信号发送,以指示对两个残差编解码方案之一的选择。[0218]根据一个或多个实施例,即使对于无损模式编解码的cu,也用信号发送变换跳过模式标志。在此情况下,无论cu是否在无损模式下被编解码,针对cu的残差编解码方案的选择基于其transform_skip_mode_flag。[0219]禁用dmvr[0220]在当前的vvc中,对于无损编解码模式,没有定义dmvr开/关的控制。在一个或多个实施例中,提出通过1比特信令slice_disable_dmvr_flag标志来在条带级控制dmvr的打开/关闭。在一个示例中,如果sps_dmvr_enabled_flag被设置为等于1并且transquant_bypass_enabled_flag标志被设置为等于0,则需要用信号发送slice_disable_dmvr_flag标志。如果不用信号发送slice_disable_dmvr_flag标志,则其被推断为1。如果slice_disable_dmvr_flag等于1,则dmvr被关闭。在这种情况下,信令如下:[0221][0222]在一个或多个实施例中,提出通过特定条件和/或预定义过程来在cu级控制dmvr的打开/关闭。在一个示例中,对dmvr的cu级控制遵循以下:[0223]当所有以下条件为真时,dmvr被应用于常规合并模式:[0224]·sps_dmvr_enabled_flag等于1并且slice_disable_bdof_dmvr_flag等于0[0225]·cu_transquant_bypass_flag被设置为等于0[0226]·general_merge_flag[xcb][ycb]等于1[0227]·predflagl0[0][0]和predflagl1[0][0]都等于1[0228]·mmvd_merge_flag[xcb][ycb]等于0[0229]·ciip_flag[xcb][ycb]等于0[0230]·diffpicordercnt(currpic,refpiclist[0][refidxl0])等于diffpicordercnt(refpiclist[1][refidxl1],currpic)[0231]·bcwidx[xcb][ycb]等于0[0232]·luma_weight_l0_flag[refidxl0]和luma_weight_l1_flag[refidxl1]都等于0。[0233]·cbwidth大于或等于8[0234]·cbheight大于或等于8[0235]·cbheight×cbwidth大于或等于128[0236]·对于x为0和1中的每一个,与refidxlx相关联的参考图片refpiclx的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples[0237]禁用bdof[0238]在当前的vvc中,对于无损编解码模式,没有定义bdof开/关的控制。在一个或多个实施例中,提出通过1比特信令slice_disable_bdof_flag标志来控制打开/关闭bdof。在一个示例中,如果sps_bdof_enabled_flag被设置为等于1或transquant_bypass_enabled_flag标志被设置为等于0,则用信号发送slice_disable_bdof_flag标志。如果不用信号发送slice_disable_bdof_flag标志,则其被推断为1。如果slice_disable_bdof_flag标志等于1,则禁用bdof。在这种情况下,信令示出如下:[0239][0240]在一个或多个实施例中,提出通过特定条件和/或预定义过程来在cu级控制bdof的打开/关闭。在一个示例中,对bdof的cu级控制遵循以下:[0241]当所有以下条件为真时,bdof被应用于常规合并模式:[0242]·sps_bdof_enabled_flag等于1并且slice_disable_bdof_dmvr_flag等于0。[0243]·cu_transquant_bypass_flag被设置为等于0[0244]·predflagl0[xsbidx][ysbidx]和predflagl1[xsbidx][ysbidx]都等于1。[0245]·diffpicordercnt(currpic,refpiclist[0][refidxl0])*diffpicordercnt(currpic,refpiclist[1][refidx1])小于0。[0246]·motionmodelidc[xcb][ycb]等于0。[0247]·merge_subblock_flag[xcb][ycb]等于0。[0248]·sym_mvd_flag[xcb][ycb]等于0。[0249]·ciip_flag[xcb][ycb]等于0。[0250]·bcwidx[xcb][ycb]等于0。[0251]·luma_weight_l0_flag[refidxl0]和luma_weight_l1_flag[refidxl1]都等于0。[0252]·cbwidth大于或等于8。[0253]·cbheight大于或等于8。[0254]·cbwidth×cbheight大于或等于128[0255]·对于x为0和1中的每一个,与refidxlx相关联的参考图片refpiclx的pic_width_in_luma_samples和pic_height_in_luma_samples分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples[0256]·cidx等于0。[0257]联合禁用bdof和dmvr[0258]在当前vvc中,bdof和dmvr两者始终被应用于解码器侧细化以改进编解码效率并且被每个sps标志控制,并且对于常规合并候选满足一些双向预测和尺寸约束的条件。在一个或多个实施例中,提出通过1比特slice_disable_bdof_dmvr_flag条带标志禁用bdof和dmvr两者。如果slice_disable_bdof_dmvr_flag标志被设置为等于1,则bdof和dmvr都被关闭。如果不用信号发送slice_disable_bdof_dmvr_flag标志,则其被推断为1。在一个示例中,如果满足以下条件,则用信号发送slice_disable_bdof_dmvr_flag。[0259][0260]无损vvc中的对用于残差编解码的上下文模型的选择[0261]如先前在“用于系数编解码的上下文建模”部分中所述,对用于用信号发送“sig_coeff_flags”的上下文模型的选择取决于量化器状态(qstate)以及被称为locsumabspass1的最多五个先前部分重建的绝对水平的总和。如图12所示,在根据标量量化器选择(q0和q1)和k的奇偶校验位对每个变换系数进行编解码之后,qstate在4个状态(状态0、状态1、状态2和状态3)之间切换,k是按重建顺序的先前量化水平。在对变换块的反量化开始时,状态被设置为等于0。然而,由于针对无损编解码禁用标量量化,因此仍然根据量化器状态选择上下文模型可能不是最佳的。[0262]在一个或多个实施例中,提出了独立于标量量化器状态来选择上下文模型。在一个示例中,如果变换系数编解码方案被应用于在无损编解码下对残差块进行编解码,则在选择用于对残差块进行编解码的上下文模型时始终使用恒定的qstate值。这样恒定的qstate值可以被选择为0。在其他示例中,这样恒定的qstate值也可以被选择为非零值,例如1、2或3。[0263]图13示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0264]在步骤1310中,解码器可以获得可包括无损cu的多个cu。[0265]在步骤1312中,解码器可以获取无损cu的局部邻域中的至少一个部分重建的绝对水平。[0266]在步骤1314中,解码器可以独立于标量量化器状态并且基于至少一个部分重建的绝对水平来选择上下文模型。[0267]在又一示例中,如果变换系数编解码方案被应用于在无损编解码下对残差块进行编解码,则在选择用于对残差块进行编解码的上下文模型时始终使用恒定的qstate值。然而,当在无损编解码下对不同的块、或不同的条带、或不同的帧等进行编解码时,可以在选择上下文模型时使用不同的qstate常数值。[0268]经上下文编解码的二进制位的最大数量[0269]在当前vvc中,用于亮度和色度的经上下文编解码的二进制位的最大数量被设置为tb_zosize×1.75。在一个或多个实施例中,提出了去除对用于无损编解码的变换块(tb)上的ccb的最大数量的限制。[0270]图14示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0271]在步骤1410中,解码器可以获得可包括无损cu的多个cu。[0272]在步骤1412中,解码器可以基于无损cu获取变换块(tb)。[0273]在步骤1414中,解码器可以获取针对tb的ccb的最大数量。ccb的最大数量可以大于系数归零之后tb内的样点数量乘以预设值。[0274]在一个或多个实施例中,提出了将亮度和色度的经上下文编解码的二进制位的最大数量设置为大于tb_zosize×1.75的值以用于无损编解码。在一个示例中,将亮度和色度的经上下文编解码的二进制位的最大数量设置为tb_zosize×4以用于无损编解码。在另一示例中,将亮度和色度的经上下文编解码的二进制位的最大数量设置为tb_zosize×8以用于无损编解码。[0275]用于无损编解码模式的残差编解码中的符号标志编解码[0276]在当前vvc中,sig_coeff_flag等于1的每个变换系数的符号标志被编码为旁路二进制位,如先前在“vvc中的变换系数编解码”部分中所示。断言由于在无损编解码中不存在变换模块,因此残差的符号与其相邻残差的符号强相关。因此,如果变换系数编解码方案被应用于无损编解码以对残差块进行编解码,则利用上下文模型对符号标志进行编解码对于编解码效率可能是有益的。[0277]在一个或多个实施例中,在无损编解码中,提出了使用变换系数编解码方案将符号标志用信号发送为经上下文编解码的二进制位。在一个示例中,如果在无损编解码中应用变换系数编解码方案以对残差块进行编解码,则可以设计和增加新的上下文模型以用于对符号标志进行编解码。在一种情况下,这样的新上下文模型可以以与用于在用于变换跳过模式的残差编解码中的符号标志编解码的上下文模型相同的方式来设计和操作。在另一示例中,可以共享和使用现有的上下文模型。在一种情况下,当在无损编解码中应用变换系数编解码以对残差块进行编解码时,可以共享并使用用于针对变换跳过模式的残差编解码中的符号标志编解码的当前上下文模型,以用于对符号标志进行编解码。[0278]图15示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0279]在步骤1510中,解码器可以获得可包括无损cu的多个cu。[0280]在步骤1512中,解码器可以基于无损cu确定变换系数编解码方案被应用于对残差块进行编解码。[0281]在步骤1514中,解码器可以使用变换系数编解码方案将变换系数的符号标志用信号发送为经上下文编解码的二进制位(ccb)。[0282]在当前vvc中,变换跳过块中的残差的符号标志用经上下文编解码的二进制位被用信号发送。在一个或多个实施例中,提出了在无损编解码模式下将变换跳过块中的残差的符号标志编解码为旁路二进制位。[0283]旋转残差块[0284]在当前vvc中,断言由于用于预测的经重建的像素与经预测的像素之间的距离,预测潜在地在块的右下区域处引起较大幅度残差。因此,旋转残差块(即,沿着水平和垂直方向翻转块)将潜在的大幅度残差放置在tu的左上区域处,这可能有益于残差编解码并贡献编解码增益。然而,还断言旋转残差块可以仅在一些块中提供编解码增益。[0285]在一个或多个实施例中,提出了基于特定条件和/或预定义过程自适应地旋转残差块。编码器和解码器都遵循这样的条件和/或预定义过程,使得在比特流中不需要信令来指示选择。在一个示例中,可以仅在残差块的宽度或高度小于一个预定义阈值的情况下旋转残差块。在另一示例中,可以仅在残差块的宽度和高度相等的情况下旋转残差块。在又一示例中,可以仅在残差块的宽度和高度不相等的情况下旋转残差块。在一个或多个示例中,可以针对特定视频分量(即,亮度分量或色度分量)旋转残差块。[0286]图16示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0287]在步骤1610中,解码器可以获得多个cu。[0288]在步骤1612中,解码器可以基于多个cu获取残差块。[0289]在步骤1614中,解码器可以基于预定义过程自适应地旋转残差块。编码器和解码器两者遵循预定义过程。[0290]在另一实施例中,提出了基于一个维度(例如,水平或垂直)的对应尺寸是否满足预定义阈值的决定来确定是否在该维度上旋转一个编码块的残差。例如,对于宽度等于或小于预定义阈值而高度大于该阈值的编码块,该块的残差可以仅在水平方向上旋转(即,水平翻转)。对于高度等于或小于阈值而宽度大于该阈值的编码块,该块的残差可以仅在垂直方向上旋转(即,垂直翻转)。当一个编码块的宽度和高度两者等于或小于阈值时,编码块的残差可以在水平方向和垂直方向两者上旋转。否则,即,其宽度和其高度都大于阈值,旋转不被应用于块的残差。[0291]在一个或多个实施例中,提出了根据预测模式旋转残差块。在一个示例中,残差块可以仅在其预测模式为帧内模式或帧内块复制模式时旋转。在另一示例中,残差块可以仅在其预测模式为帧内模式或帧间模式时旋转。[0292]在另一实施例中,提出了针对每个编码块用信号发送一个比特以指示是否旋转其残差。为了节省信令开销,可以应用额外的信令约束来决定是否需要用信号发送残差旋转标志。例如,在本公开的一个实施例中,提出了仅针对包含n个或少于n个样点的编码块启用残差旋转,其中n是预定义值。然后,对于包含多于n个样点的编码块,残差旋转标志不被用信号发送并且始终被推断为0(即,不进行残差旋转)。否则,对于包含n个或少于n个样点的编码块,用信号发送标志以指示是否需要旋转残差。[0293]在一个或多个实施例中,在比特流中用信号发送语法以明确地指定针对tu是否旋转残差块。这样的语法可以是二进制标志。可以在不同级用信号发送语法。例如,它可以在序列参数集(sps)、图片参数集(pps)、条带头、瓦片组头或瓦片中用信号发送。它也可以在ctu、cu或tu级用信号发送。当用信号发送此语法时,对于处于相同级或更低级的所有tu,将根据语法值的指示来执行残差旋转。在一个示例中,在sps级用信号发送语法,在该序列中的tu的所有残差块之间共享残差旋转决策。在另一示例中,在pps级用信号发送语法,在使用该pps的图片中的tu的所有残差块之间共享残差旋转决策。在又一示例中,在tu级用信号发送语法,因此每个tu具有其自己的关于是否应执行残差旋转的决策。[0294]残差块的扫描顺序[0295]在当前vvc中,用于变换跳过模式的残差编解码和变换系数编解码方案都可以被应用于在无损模式下对残差块进行编解码。如果针对变换跳过模式设计的残差编解码被应用,则它基于从块的左上方到块的右下方的扫描顺序来对残差块样点进行编解码。如果变换系数编解码方案被应用,则它基于从块的右下方到块的左上方的恰好相反的扫描顺序来对残差块样点进行编码。在一个或多个实施例中,提出了在无损编解码下对齐两种编解码方案的扫描顺序。在一个示例中,如果变换系数编解码方案被应用于无损编解码,则样点的扫描和编码顺序与用于变换跳过模式下的残差编解码的扫描和编码顺序相同,即从块的左上方开始到块的右下方。发现这样的方法有益于编解码性能,这是因为当在无损编解码模式下对残差块进行编解码时,由于在右下方区域中样点预测不太准确并且不执行变换的事实,所以统计能量分布偏向残差块的右下方部分。[0296]图17示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0297]在步骤1710中,解码器可以获得可包括无损cu的多个cu。[0298]在步骤1712中,解码器可以基于无损cu确定应用变换系数编解码方案。[0299]在步骤1714中,解码器可以将变换系数编解码方案中的残差块样点的扫描顺序设置为在变换跳过模式下的残差编解码方案中使用的扫描顺序,以便对齐两种编解码方案的扫描顺序。[0300]对用于用信号发送最后非零系数的位置的上下文模型的选择[0301]在“用于变换系数编解码的上下文建模”部分中,对最后非零系数位置编解码的二值化基于减小的tu尺寸(即,系数归零操作之后的tu尺寸),而用于最后非零系数位置编解码的上下文模型选择由原始tu尺寸确定。因此,上下文模型选择和对最后非零系数位置的二值化取决于不同的控制逻辑。在一个或多个实施例中,提出了基于减小的tu尺寸来选择用于对最后非零系数的位置进行编解码的上下文模型。在一个示例中,对于由于系数归零而使tu尺寸减小为32×32的64×64tu,用于用信号发送其最后非零系数的位置的上下文选择基于其32×32的减小的tu尺寸而不是64×64的原始尺寸。这也表示它与不执行系数归零操作的实际32×32tu共享上下文。[0302]图18示出了根据本公开的用于解码视频信号的利用光流的预测细化(prof)的方法。该方法可以例如被应用于解码器。[0303]在步骤1810中,解码器可以获得多个cu。[0304]在步骤1812中,解码器可以基于应用于多个cu的系数归零操作来获得最后非零系数。[0305]在步骤1814中,解码器可以基于减小的tu像素尺寸来选择用于对最后非零系数的位置进行编解码的上下文模型,以便减少用于对最后非零系数进行编解码的上下文的总数。[0306]同样地,在当前vvc中,在某些情况下,32×32tu可以被归零到16×16的减小的尺寸。在这种情况下,根据本公开中提出的方法,用于用信号发送其最后非零系数的位置的上下文选择基于其16×16的减小的tu尺寸,并且其还与实际的16×16tu共享上下文。在另一示例中,减小的tu尺寸对于应用dct-ii变换的tu是min(tuwidth,32)×min(tuheight,32),并且对于应用dct-viii和dst-vii的tu是min(tuwidth,16)×min(tuheight,16)。在又一示例中,仅针对64×n或n×64tu的上下文模型的选择基于减小的tu尺寸。考虑到先前用于64×n和n×64tu尺寸的原始上下文模型被完全去除,所提出的方法的一个断言的益处是减少用于编解码最后非零系数的上下文的总数。[0307]可以使用包括一个或多个电路的装置来实现上述方法,一个或多个电路包括专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子组件。装置可以使用与其他硬件或软件组件组合的电路来执行上述方法。上面公开的每个模块、子模块、单元或子单元可以至少部分地使用一个或多个电路来实现。[0308]图19示出了与用户接口1960耦接的计算环境1910。计算环境1910可以是数据处理服务器的一部分。计算环境1910包括处理器1920、存储器1940和i/o接口1950。[0309]处理器1920通常控制计算环境1910的整体操作,诸如与显示、数据采集、数据通信和图像处理相关联的操作。处理器1920可以包括一个或多个处理器来执行指令以执行上文描述的方法中的全部或一些步骤。此外,处理器1920可以包括促进处理器1920与其他组件之间的交互的一个或多个模块。处理器可以是中央处理单元(cpu)、微处理器、单片机、gpu等。[0310]存储器1940被配置为存储各种类型的数据,以支持计算环境1910的操作。存储器1940可以包括预定软件1942。这种数据的示例包括用于在计算环境1910上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器1940可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,诸如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或光盘。[0311]i/o接口1950提供处理器1920与外围接口模块(诸如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。i/o接口1950可以与编码器和解码器耦接。[0312]在一些实施例中,还提供了一种非暂态计算机可读存储介质,其包括多个程序,诸如被包括在存储器1940中,由计算环境1910中的处理器1920可执行,用于执行上文描述的方法。例如,非暂态计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘、光学数据存储设备等。[0313]非暂态计算机可读存储介质中存储有多个程序,多个程序由具有一个或多个处理器的计算设备执行,其中多个程序在由一个或多个处理器执行时使计算设备执行上文描述的用于运动预测的方法。[0314]在一些实施例中,计算环境1910可以利用一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、图形处理单元(gpu)、控制器、微控制器、微处理器或其他电子组件来实现,以用于执行上述方法。[0315]本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。[0316]选择和描述示例是为了解释本公开的原理,并且使本领域的其他技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1