用于针对视频编解码的预测相关残差缩放的方法和设备与流程

未命名 09-12 阅读:60 评论:0
用于针对视频编解码的预测相关残差缩放的方法和设备1.相关申请的交叉引用2.本技术要求于2020年6月24日提交的序列号为63/043569的美国临时专利申请的权益。出于所有目的,上述申请的全部公开内容通过整体引用而被并入本文。
技术领域
:3.本公开总体上涉及视频编解码和压缩。更具体地,本公开涉及使用预测相关残差缩放(predictiondependentresidualscaling,pdrs)对编码单元执行视频编解码的系统和方法。
背景技术
::4.本章节提供了涉及本公开的背景信息。本章节内包含的信息不应一定被解释为现有技术。5.可以使用各种视频编解码技术中的任一种来压缩视频数据。可以根据一种或多种视频编解码标准来执行视频编解码。一些说明性的视频编解码标准包括:通用视频编解码(vvc)、联合探索测试模型(jem)编解码、高效视频编解码(h.265/hevc)、高级视频编解码(h.264/avc)和运动图片专家组(mpeg)编解码。6.视频编解码通常采用预测方法(例如,帧间预测、帧内预测等),预测方法利用了视频图像或序列中固有的冗余。视频编解码技术的一个目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。技术实现要素:7.本章节提供了本公开的总体概述,并不是对其全部范围或其所有特征的全面公开。8.根据本技术的第一方面,获得编码单元(codingunit,cu)的亮度分量在映射域中的多个预测样点,编码单元在具有色度缩放的亮度映射(lumamappingwithchromascaling,lmcs)框架下通过联合帧间帧内预测(combinedinterandintraprediction,ciip)模式被编码,获得cu的亮度分量在映射域中的多个残差样点,cu的亮度分量在映射域中的多个预测样点被加到映射域中的多个残差样点,产生亮度分量在映射域中的多个重建样点,以及基于预定义的多个逆映射缩放因子将亮度分量的多个重建样点从映射域转换到原始域。9.根据本技术的第二方面,获得编码单元cu的亮度分量在映射域中的多个预测样点,编码单元在具有色度缩放的亮度映射lmcs框架下通过帧间模式被编码;获得cu的亮度分量在映射域中的多个残差样点;将cu的亮度分量在映射域中的多个预测样点加到映射域中的多个残差样点,得到亮度分量在映射域中的多个重建样点;以及基于预定义的多个逆映射缩放因子,将亮度分量的多个重建样点从映射域转换到原始域。10.在一个实施例中,获得cu的亮度分量在映射域中的多个预测样点包括:从cu的时间参考图片中导出cu的亮度分量在原始域中的多个帧间预测样点;以及基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将亮度分量的多个帧间预测样点从原始域转换到映射域。11.在一个实施例中,基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将亮度分量的多个帧间预测样点从原始域转换到映射域包括:使用预定义的多个前向映射缩放因子将亮度分量的多个帧间预测样点从原始域转换到映射域,而不进行裁剪操作。12.在一个实施例中,预定义的前向映射精度是11位。13.根据本技术的第三方面,计算设备包括一个或多个处理器、存储器和存储在存储器中的多个程序。当这些程序由一个或多个处理器执行时,这些程序使得计算设备执行如上文在本技术的第一方面或第二方面中描述的操作。14.根据本技术的第四方面,一种非暂时性计算机可读存储介质存储多个程序,这些程序用于由具有一个或多个处理器的计算设备执行。当这些程序由一个或多个处理器执行时,这些程序使得计算设备执行如上文在本技术的第一方面或第二方面中描述的操作。15.根据本技术的第五方面,一种计算机程序产品,包括指令,这些指令当由一个或多个处理器执行时,使得这一个或多个处理器执行如上文在本技术的第一方面或第二方面中描述的操作。附图说明16.在下文中,将结合附图描述本公开的说明性、非限制性实施例的集合。相关领域的普通技术人员可以基于本文中给出的示例来实现结构、方法或功能的变型,并且这种变型都被包含在本公开的范围内。在不存在冲突的情况下,不同实施例的教导可以但不必彼此组合。17.图1是阐述可以结合许多视频编解码标准使用的说明性的基于块的混合视频编码器的框图。18.图2是阐述可以结合许多视频编解码标准使用的说明性的视频解码器的框图。19.图3是可以结合许多视频编解码标准使用的多类型树结构中的块分割的图示。20.图4是图示其中应用了lmcs的解码过程的流程图。21.图5是双向光流(bi-directionalopticalflow,bdof)过程的图示。22.图6是图示当启用解码器侧运动矢量细化(decoder-sidemotionvectorrefinemen,dmvr)、bdof和ciip全部三者时lmcs中的色度残差缩放的工作流程的流程图。23.图7是图示预测相关残差缩放(pdrs)过程的步骤的流程图。24.图8是图示当pdrs过程被应用在lmcs过程中时的解码过程的工作流程的流程图。25.图9是仅使用预测样点来导出缩放因子所导致的残差映射误差的图示。26.图10是图示色度样点重建过程的步骤的流程图。27.图11是图示第二色度样点重建过程的步骤的流程图。28.图12是图示第二色度样点重建过程的一个示例中的lmcs解码过程的工作流程的流程图,其中没有应用dmvr、bdof和ciip来生成用于色度缩放的亮度预测样点。29.图13是图示第二色度样点重建过程的第二示例中的lmcs解码过程的工作流程的流程图,其中应用初始单向预测信号来生成用于色度缩放的亮度预测样点。30.图14是图示色度残差样点重建过程的步骤的流程图。31.图15是图示色度残差样点重建过程的一个或多个实施例中的lmcs解码过程的工作流程的流程图。32.图16是图示色度残差样点重建过程的另一实施例中的lmcs解码过程的工作流程的流程图。33.图17是图示第二色度残差样点重建过程的步骤的流程图。34.图18是图示非裁剪色度残差缩放因子导出过程的步骤的流程图。35.图19是在非裁剪色度残差缩放因子导出过程的示例中涉及的区域的图示。36.图20是图示非裁剪色度样点解码过程的步骤的流程图。37.图21是图示非裁剪色度样点解码过程的一个或多个实施例的步骤的流程图。38.图22是图示非裁剪色度样点解码过程的一个或多个实施例的步骤的流程图。39.图23是图示本公开的第一方面的步骤的流程图。40.图24是图示本公开的第一方面的一个或多个实施例的步骤的流程图。41.图25是图示本公开的第一方面的一个或多个实施例的步骤的流程图。42.图26是图示本公开的第一方面的一个或多个实施例的步骤的流程图。43.图27是图示根据本公开的一些实施方案的用于视频编解码的示例性装置的框图。具体实施方式44.本公开中使用的术语旨在说明特定实施例,而不是限制本公开。如在本公开以及所附权利要求中所使用的,单数形式“一”、“一个”和“该”也指代复数形式,除非在上下文中明确地包含其他含义。还应当理解,如本文所使用的术语“和/或”指代一个或多个相关联的列出项目的任何或所有可能的组合。45.应当理解,尽管术语“第一”、“第二”、“第三”等在本文中可以用于描述各种信息,但是这些信息不应当被这些术语限制。这些术语仅用于区分一类信息和另一类信息。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,取决于上下文,术语“如果”可以被理解为意味着“当......时”或“一经......”或“响应于”。46.贯穿本说明书,以单数或复数形式提及“一个实施例”、“实施例”、“另一实施例”等意味着结合实施例描述的一个或多个特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”、“在另一实施例中”等在各处以单数或复数出现不一定都指代同一实施例。此外,一个或多个实施例中的特定特征、结构或特性可以以任何合适的方式被组合。47.hevc标准的第一版于2013年10月最终确定,与上一代视频编解码标准h.264/mpegavc相比,它提供了大约50%的比特率节省或同等的感知质量。尽管hevc标准比其前身提供了显著的编解码改进,但有证据表明,可以用附加的编解码工具来实现优于hevc的编解码效率。基于此,vceg和mpeg都开始了针对未来视频编解码标准化的新编解码技术的探索工作。2015年10月,itu-tvecg和iso/iecmpeg成立了一个联合视频探索小组(jvet),开始对能够实现编解码效率的大幅提升的先进技术的重要研究。通过在hevc测试模型(hm)之上集成若干附加的编解码工具,jvet维护了一个被称为联合探索模型(jointexplorationmodel,jem)的参考软件。48.2017年10月,itu-t和iso/iec发布了关于具有超越hevc的能力的视频压缩的联合提案征集(callforproposals,cfp)。2018年4月,在第10届jvet会议上,接收并评估了23份cfp响应,其展现出比hevc高约40%的压缩效率增益。基于这样的评估结果,jvet启动了新的项目来开发新一代视频编解码标准,该标准被命名为通用视频编解码(versatilevideocoding,vvc)。同月,建立了一个称为vvc测试模型(vvctestmodel,vtm)的参考软件,用于演示vvc标准的参考实施方案。49.视频编解码中采用的预测方法通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频数据中固有的冗余,并且通常与基于块的视频编解码相关联。类似于hevc,vvc建立在基于块的混合视频编解码框架之上。50.在基于块的视频编解码中,输入视频信号被逐块处理。对于每个块,可以执行空间预测和/或时间预测。在较新的视频编解码标准(诸如当前的vvc设计)中,可以基于多类型树结构进一步分割块,多类型树结构不仅包括四叉树,还包括二叉树和/或三叉树。这允许更好地适配变化的局部特性。51.空间预测(也称为“帧内预测”)使用来自同一视频图片/条带中已经编解码的相邻块的样点(其被称为参考样点)的像素来预测当前块。空间预测减少了视频信号中固有的空间冗余。52.在解码过程期间,视频比特流首先在熵解码单元处被熵解码。编解码模式和预测信息被发送到空间预测单元(当被帧内编解码时)或时间预测单元(当被帧间编解码时),以形成预测块。残差变换系数被发送到反量化单元和逆变换单元,以重建残差块。预测块和残差块然后被相加在一起。重建的块在其被存储在参考图片存储库之前,可以进一步经过环路滤波。参考图片存储库中的重建视频然后被发送出去以驱动显示设备,以及用于预测未来的视频块。53.在较新的视频编解码标准(诸如当前的vvc设计)中,可以在环路滤波之前应用具有色度缩放的亮度映射(lmcs)的编解码工具。lmcs旨在调整输入信号的动态范围以提高编解码效率。54.然而,lmcs的当前设计,亮度分量的帧间预测样点的映射精度可能超出内部编解码深度的动态范围。55.从概念上讲,许多视频编解码标准是类似的,包括先前在
背景技术
:章节中提到的那些标准。例如,几乎所有的视频编解码标准都使用基于块的处理,并且共享类似的视频码块框图来实现视频压缩。56.图1示出了说明性的基于块的混合视频编码器100的框图,混合视频编码器100可以与许多视频编解码标准结合使用。在编码器100中,视频帧被分割成多个视频块以供处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重建的帧的像素来通过运动估计和运动补偿形成一个或多个预测值。在帧内预测中,基于当前帧中重建的像素来形成预测值。通过模式决策,可以选择最佳预测值来预测当前块。57.表示当前视频块与其预测值之间的差的预测残差被发送到变换电路102。变换系数然后从变换电路102被发送到量化电路104,以用于熵减少。量化的系数然后被馈送到熵编码电路106中,以生成压缩视频比特流。如图1所示,来自帧内预测电路112和/或帧间预测电路的预测相关信息110(诸如视频块分割信息、运动矢量、参考图片索引和帧内预测模式)也通过熵编码电路106被馈送并保存到压缩视频比特流114中。58.在编码器100中,还需要解码器相关的电路,以便出于预测的目的而重建像素。首先,通过反量化电路116和逆变换电路118来重建预测残差。该重建的预测残差与块预测值120相结合,以生成针对当前视频块的未滤波的重建像素。59.时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或多个运动矢量(motionvector,mv)来用信号发送针对给定cu的时间预测信号,该一个或多个mv指示当前cu与其时间参考之间的运动量和运动方向。另外,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。60.在空间和/或时间预测被执行之后,编码器100中的帧内/帧间模式决策电路系统121选择最佳预测模式,例如基于率失真优化方法。块预测值120然后从当前视频块中被减去;并且使用变换电路102和量化电路104将得到的预测残差去相关。得到的量化残差系数由反量化电路116反量化并且由逆变换电路118逆变换,以形成重建的残差,该重建的残差然后被加回到预测块,以形成cu的重建信号。在重建的cu被放入图片缓冲器117的参考图片存储库并且用于编码未来的视频块之前,可以对重建的cu进一步应用环路滤波115,诸如去块滤波器、样点自适应偏移(sampleadaptiveoffset,sao)、和/或自适应环路滤波器(adaptivein-loopfilter,alf)。为了形成输出视频比特流114,编码模式(帧间或帧内)、预测模式信息、运动信息以及量化残差系数都被发送到熵编码单元106,以被进一步压缩和打包以形成比特流。61.例如,去块滤波器在avc、hevc、以及vvc的当前版本中是可用的。在hevc中,定义了一种被称为样点自适应偏移(sao)的附加环路滤波器,以进一步提高编解码效率。在vvc标准的当前版本中,正在积极研究被称为自适应环路滤波器(alf)的又一种环路滤波器,并且其具有很大机会被纳入最终标准中。62.这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可以作为由编码器100呈现的决策而被关闭,以节省计算复杂度。63.应当注意,帧内预测通常基于未滤波的重建像素,而如果编码器100开启了这些滤波器选项,则帧间预测基于滤波的重建像素。64.图2是阐述可以结合许多视频编解码标准使用的说明性的视频解码器200的框图。该解码器200类似于图1的编码器100中的重建相关部分。在解码器200(图2)中,传入的视频比特流201首先通过熵解码电路202被解码,以导出量化的系数级别和预测相关信息。量化的系数级别然后通过反量化电路204和逆变换电路206被处理,以获得重建的预测残差。在帧内/帧间模式选择器212中实施的块预测值机制被配置为基于已解码的预测信息,执行帧内预测208或运动补偿210。通过使用加法器214,将来自逆变换电路206的重建的预测残差和由块预测值机制生成的预测输出相加,来获得一组未滤波的重建像素。65.重建的块在其被存储在充当参考图片存储库的图片缓冲器213中之前,可以进一步经过环路滤波器209。图片缓冲器213中的重建视频然后可以被发送出去以驱动显示设备,以及用于预测未来的视频块。在环路滤波器209被开启的情况下,对这些重建像素执行滤波操作,以导出最终重建的视频输出222。66.在诸如hevc的视频编解码标准中,可以基于四叉树来分割块。在较新的视频编解码标准(诸如当前的vvc)中,采用了更多的分割方法,并且一个编码树单元(codingtreeunit,ctu)可以基于四叉树、二叉树或三叉树而被拆分成cu,以适配变化的局部特性。在当前的vvc中的大多数编解码模式中,不存在cu、预测单元(predictionunit,pu)和变换单元(transformunit,tu)的分离,而是每个cu总是被用作用于预测和变换两者的基本单元,而没有进一步的分割。然而,在一些特定的编解码模式(诸如帧内子分割编解码模式)中,每个cu仍然可以包含多个tu。在多类型树结构中,一个ctu首先通过四叉树结构被分割。然后,每个四叉树叶节点可以通过二叉树结构和三叉树结构被进一步分割。67.图3示出了当前的vvc中采用的五种分割类型,即四元分割301、水平二元分割302、垂直二元分割303、水平三元分割304和垂直三元分割305。在利用多类型树结构的情况下,一个ctu首先被四叉树结构分割。然后,每个四叉树叶节点可以通过二叉树结构和三叉树结构被进一步分割。68.使用图3的示例性块分割301、302、303、304或305中的一个或多个,可以使用图1所示的配置来执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中已经编码的相邻块的样点(其被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。69.在较新的视频编解码标准(诸如当前的vvc)中,添加了一种新的编解码工具:具有色度缩放的亮度映射(lmcs)。lmcs被添加作为一种新的编解码工具,其在环路滤波器(例如,去块滤波器、sao和alf)之前被应用。70.一般而言,lmcs具有两个主要模块:第一个,基于自适应分段线性模型的亮度分量的环路映射;第二个,亮度相关的色度残差缩放。71.图4示出了其中应用了lmcs的经修改的解码过程。在图4中,某些块表示在映射域中实施的解码模块,这些解码模块包括熵解码401、反量化402、逆变换403、亮度帧内预测404和亮度样点重建405(即,亮度预测样点y’pred和亮度残差样点y’res相加以产生重建亮度样点y’recon)。某些其他块指示在原始(即,非映射)域中实施的解码模块,这些解码模块包括运动补偿预测409、色度帧内预测412、色度样点重建413(即,色度预测样点cpred和色度残差样点cres相加以产生重建色度样点crecon)和环路滤波器处理407(涵盖了去块、sao和alf)。另外一组块表示由lmcs引入的新操作模块,包括亮度样点的前向映射410和逆向(或后向)映射406、以及色度残差缩放411。此外,如图4所示,存储在解码图片缓冲器(decodedpicturebuffer,dpb)408(针对亮度)和415(针对色度)中的所有参考图片都在原始域中。72.lmcs的环路映射旨在调整输入信号的动态范围以提高编解码效率。现有lmcs设计中的亮度样点的环路映射建立在两个映射函数之上:一个前向映射函数fwdmap和一个对应的逆映射函数invmap。使用具有16个等大小的区段的一个分段线性模型,将前向映射函数从编码器用信号发送到解码器。可以从前向映射函数中直接导出逆映射函数,并且因此不需要用信号发送该逆映射函数。73.在条带级别用信号发送亮度映射模型的参数。首先用信号发送存在标记,以指示是否要针对当前条带来用信号发送亮度映射模型。如果当前条带中存在亮度映射模型,则进一步用信号发送对应的分段线性模型参数。基于分段线性模型,输入信号的动态范围被分割成原始域中的16个大小相等的区段,并且每个区段被映射到对应的区段。针对原始域中的给定区段,其在映射域中的对应区段可以具有相同或不同的大小。映射域中的每个区段的大小由该区段的码字(即,映射样点值)的数量来指示。针对原始域中的每个区段,可以基于其在映射域中的对应区段中的码字的数量来导出线性映射参数。例如,当输入在10位深度内时,原始域中的16个区段中的每一个具有64个像素值,如果映射域中的每一个区段也具有分配给它的64个码字,则它指示简单的一对一映射(即,其每个样点值都不改变的映射)。映射域中的每个区段的用信号发送的码字的数量用于计算缩放因子,并且相应地针对该区段来调整映射函数。附加地,在条带级别,用信号发送另一lmcs控制标记以启用/禁用针对该条带的lmcs。74.针对每个区段,如紧随本段落之后的框中所描述的那样定义对应的分段线性模型:[0075][0076]如图4所图示,在lmcs过程期间,需要在两个不同的域中进行操作。对于通过帧间预测模式被编码的每个cu(“帧间cu”),在原始域中执行其运动补偿预测。然而,因为亮度分量的重建(即,亮度预测样点和亮度残差样点的相加)是在映射域中执行的,所以需要在将y′pred用于像素重建405之前,通过前向映射函数410将经运动补偿的亮度预测ypred从原始域映射到映射域中的值y′pred(即y′pred=fwdmap(ypred))。另一方面,对于通过帧内预测模式被编码的每个cu(“帧内cu”),在y′pred用于像素重建405之前,在给定了在映射域(如图4所示)中执行帧内预测404的情况下,不需要对预测样点的映射。最后,在生成重建亮度样点y′recon之后,应用后向映射函数406以在进行到亮度dpb408之前将重建亮度样点y′recon转换回原始域中的值yrecon,即,yrcon=invmap(y′recon)。与仅需要针对帧间cu而应用的对预测样点的前向映射410不同,对重建样点的后向映射406需要被应用于帧间cu和帧内cu两者。[0077]总之,在解码器侧,当前lmcs的环路亮度映射是以这种方式实施的:如果需要,首先将亮度预测样点ypred转换到映射域:y′pred=fwdmap(ypred)。然后,将所映射的预测样点与所解码的亮度残差相加,以在映射域中形成重建亮度样点:y′recon=y′pred+y′res。最后,应用逆映射以将重建亮度样点y′recon转换回原始域:yrecon=invmap(y′recon)。在编码器侧,因为亮度残差在映射域中被编码,所以它们作为所映射的亮度原始样点与映射的亮度预测样点之间的差而被生成:y′res=fwdmap(yorg)-fwdmap(ypred)。[0078]lmcs的第二步骤(亮度相关的色度残差缩放)被设计成:当环路映射被应用于亮度信号时,对亮度信号与其对应的色度信号之间的量化精度的相互影响进行补偿。色度残差缩放被启用还是被禁用也在条带头中被用信号发送。如果亮度映射被启用,并且如果针对当前条带禁用了亮度和色度分量的二叉树分割,则用信号发送附加标记,以指示亮度相关的色度残差缩放是否被应用。当没有使用亮度映射或针对当前条带启用了二叉树分割时,亮度相关的色度残差缩放始终被禁用。附加地,针对包含小于或等于四个色度样点的cu始终禁用色度残差缩放。[0079]对于帧内cu和帧间cu两者,用于缩放色度残差的缩放参数取决于对应的所映射的亮度预测样点的平均值。如紧随本段落之后的框中所描述的那样导出缩放参数:[0080][0081]图4还图示了用于亮度相关的色度残差缩放的亮度预测样点的平均值的计算。针对帧间cu,将经前向映射的亮度预测y′pred与经缩放的色度残差cresscale一起馈送到色度残差缩放411中,以导出色度残差cres,色度残差cres与色度预测cpred一起被馈送到色度重建413中,以便导出经重建的色度值crecon。针对帧内cu,帧内预测404产生已经在映射域中的y′pred,并且它以与针对帧间cu类似的方式被馈送到色度残差缩放411中。[0082]与基于样点执行的亮度映射不同,cscaleinv对于整个色度cu是固定的。在给定cscaleinv的情况下,如紧随本段落之后的框中所描述的那样应用色度残差缩放。[0083][0084]在较新的视频编解码标准(诸如当前的vvc)中,引入了新的编解码工具,并且新的编解码工具的一些示例是:双向光流(bdof)、解码器侧运动矢量细化(dmvr)、联合帧间帧内预测(ciip)、仿射模式、以及用于仿射模式的利用光流的预测细化(prof)。[0085]在当前的vvc中,应用双向光流(bdof)来细化双向预测的码块的预测样点。[0086]图5是bdof过程的图示。bdof是当使用双向预测时在基于块的运动补偿预测之上执行的逐样点运动细化。在子块周围的一个6×6窗口ω内应用bdof之后,通过最小化参考图片列表0(l0)和参考图片列表1(l1)预测样点502和503之间的差来计算每个4×4子块501的运动细化(vx,vy)。[0087]具体地,如紧随本段落之后的框中所描述的那样导出运动细化(vx,vy)的值。[0088][0089]紧接的上文框中的值s1、s2、s3、s5和s6如紧随本段落之后的框中所描述的那样被进一步计算。[0090][0091]紧接的上文框中的值i(k)(i,j)是在列表k(k=0,1)中的预测信号的坐标处(i,j)处的样点值,其以中间高精度(即,16位)被生成;并且值和是通过直接计算其两个相邻样点之间的差而获得的样点的水平和垂直梯度。和的值如紧随本段落之后的框中所描述的那样被计算。[0092][0093]基于导出的运动细化(该运动细化根据如紧随上文用于导出运动细化(vx,vy)的值的框中所描述的等式(1)而被导出),通过基于光流模型沿着运动轨迹来内插l0/l1预测样点而计算出cu的最终双向预测样点,如紧随本段落之后的框中所指示的那样。[0094][0095]基于上文描述的位深度控制方法,保证了整个bdof过程的中间参数的最大位深度不超过32位,并且乘法的最大输入在15位内,即,一个15位乘法器对于bdof实施方案是足够的。[0096]dmvr是一种双向预测技术,该技术用于合并具有两个初始的用信号发送的mv的块,可以通过使用双边匹配预测来进一步细化这两个mv。[0097]具体地,在dmvr中,双边匹配用于通过在两个不同参考图片中沿着当前cu的运动轨迹的两个块之间寻找最佳匹配来导出当前cu的运动信息。匹配过程中所使用的成本函数是行子采样的绝对差的总和(sumofabsolutedifference,sad)。在匹配过程完成之后,在预测阶段中将经细化的mv用于运动补偿,将后续图片的时间运动矢量预测和未经细化的mv用于当前cu的运动矢量与其空间邻域的运动矢量之间的运动矢量预测。[0098]在连续运动轨迹的假设下,指向两个参考块的运动矢量mv0和mv1应与当前图片与两个参考图片之间的时间距离(即,td0和td1)成比例。作为一种特殊情况,当当前图片在时间上处于两个参考图片之间并且从当前图片到两个参考图片的时间距离相同时,双边匹配变成基于镜像的双向mv。[0099]在当前的vvc中,帧间和帧内预测方法被用在混合视频编解码方案中,其中每个pu仅被允许选择帧间预测或帧内预测以利用时间域或空间域(而不是同时两者)中的相关性。然而,如先前文献中所指出的,由帧间预测块和帧内预测块生成的残差信号可能呈现彼此非常不同的特性。因此,如果这两种预测能够以高效的方式被组合,则可以预期一种更准确的预测,以降低预测残差的能量,并且因此提高编解码效率。附加地,在自然视频内容中,运动对象的运动可能是复杂的。例如,可能存在既包含旧内容(例如,被包括在先前编解码的图片中的对象)又包含出现的新内容(例如,在先前编解码的图片中被排除的对象)的区域。在这种场景中,帧间预测或帧内预测都不能够提供一种对当前块的准确预测。[0100]为了进一步提高预测效率,在vvc标准中采用了联合帧间帧内预测(ciip),联合帧间帧内预测(ciip)组合了通过合并模式被编码的一个cu的帧内预测和帧间预测。具体地,针对每个合并cu,用信号发送一个附加标记以指示是否针对当前cu启用ciip。当该标记等于1时,ciip仅应用平面模式来生成亮度和色度分量的帧内预测样点。附加地,应用相等的权重(即,0.5)来对帧间预测样点和帧内预测样点取平均,作为ciipcu的最终预测样点。[0101]vvc还支持用于运动补偿预测的仿射模式。在hevc中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,存在许多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在vvc中,通过针对每个帧间码块用信号传送一个标记来指示是平移运动模型还是仿射运动模型被应用于帧间预测,来应用仿射运动补偿预测。在当前的vvc设计中,对于一个仿射码块,支持两种仿射模式,包括四参数仿射模式和六参数仿射模式。[0102]四参数仿射模型具有以下参数:分别用于水平和垂直方向上的平移运动的两个参数、用于针对两个方向的缩放运动的一个参数和用于针对两个方向的旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了实现运动矢量和仿射参数的更好适应,在vvc中,这些仿射参数被转变成位于当前块的左上角和右上角处的两个mv(其也被称为控制点运动矢量(controlpointmotionvector,cpmv))。块的仿射运动场由两个控制点mv(v0,v1)描述。[0103]基于控制点运动矢量,一个仿射码块的运动场(vx,vy)如紧随本段落之后的框中所描述的那样被计算。[0104][0105]六参数仿射模式具有以下参数:分别用于水平和垂直方向上的平移运动的两个参数、用于水平方向上的缩放运动的一个参数和用于旋转运动的一个参数、用于垂直方向上的缩放运动的一个参数和用于旋转运动的一个参数。六参数仿射运动模型在三个cpmv处利用三个mv被编解码。[0106]一个六参数仿射块的三个控制点位于块的左上角、右上角和左下角处。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向上的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向上的旋转和缩放运动相关。与四参数仿射运动模型相比,六参数仿射运动模型的水平方向上的旋转和缩放运动可以与垂直方向上的旋转和缩放运动不相同。[0107]假设(v0,v1,v2)是当前块的左上角、右上角和左下角的mv,则每个子块的运动矢量(vx,vy)使用控制点处的三个mv被导出,如紧随本段落之后的框中所描述的那样。[0108][0109]为了提高仿射运动补偿精度,在当前的vvc中正在研究利用光流的预测细化(predictionrefinementwithopticalflow,prof),利用光流的预测细化基于光流模型来细化基于子块的仿射运动补偿。具体地,在执行基于子块的仿射运动补偿之后,通过基于光流等式导出的一个样点细化值来修改一个仿射块的亮度预测样点。prof的操作可以详细地总结为以下四个步骤。[0110]在步骤一中,执行基于子块的仿射运动补偿,以使用子块mv来生成子块预测i(i,j),子块mv是针对四参数仿射模型在上文等式(6)中以及针对六参数仿射模型在上文等式(7)中导出的。[0111]在步骤二中,每个预测样点的空间梯度gx(i,j)和gy(i,j)如紧随本段落之后的框中所描述的那样被计算。[0112][0113]仍在步骤二中,为了计算梯度,需要在一个子块的每一侧上生成预测样点的一个附加的行/列。为了减少存储器带宽和复杂度,从参考图片中最近的整数像素位置复制扩展的边界上的样点,以避免附加的内插过程。[0114]在步骤三中,如紧随本段落之后的框中所描述的那样计算亮度预测细化值。[0115][0116]附加地,在当前的prof设计中,在将预测细化添加到原始预测样点之后,执行一个裁剪操作作为第四步骤,以将经细化的预测样点的值裁剪到15位内,如紧随本段落之后的框中所描述的那样。[0117][0118]因为仿射模型参数以及相对于子块中心的像素位置不从子块到子块而改变,所以可以针对第一个子块来计算δv(i,j),并且将其重新用于相同cu中的其他子块。假设δx和δy是从样点位置(i,j)到样点所属的子块的中心的水平和垂直偏移量,则可以如紧随本段落之后的框中所描述的那样导出δv(i,j)。[0119][0120]基于上文的仿射子块mv导出等式(6)和(7),可以如紧随本段落之后的框中所描述的那样导出mv差δv(i,j)。[0121][0122]根据当前的lmcs设计,色度残差样点基于它们对应的亮度预测样点而被缩放。当针对帧间cu启用较新的编解码工具时,用于通过此帧间cu中的lmcs来缩放色度残差样点的亮度预测样点是在这些较新的编解码工具的连续应用结束时获得的。[0123]图6是图示当启用dmvr、bdof和ciip全部三个时lmcs中的色度残差缩放的工作流程的流程图。来自亮度l0预测值601和l1预测值602的输出被顺序地馈送到dmvr603和bdof604中,并且所得的亮度帧间预测值621与来自亮度帧内预测605的亮度帧内预测值622一起被馈送到取平均606中,以产生平均亮度预测值623,平均亮度预测值623与色度残差608一起被馈送到色度残差缩放607中,使得色度残差缩放607、色度预测610和色度重建609可以合作以产生最终结果。[0124]当前的lmcs设计对视频解码过程提出了三个挑战。第一,不同域之间的映射(不同的域映射)需要额外的计算复杂度和片上存储器。第二,亮度和色度缩放因子导出使用不同的亮度预测值这一事实引入了额外的复杂度。第三,lmcs与较新的编解码工具之间的交互将时延引入到解码过程中,即,与lmcs相关联的时延问题。[0125]第一,在当前的lmcs设计中,原始域的重建样点和映射域中的重建样点二者在各种解码模块处都被使用。结果,这些样点通常需要在不同解码模块之间从一个域被转换到另一个域,这可能会引起更高的计算复杂度和更多的片上存储器两者。[0126]具体地,对于帧内模式、ciip模式和ibc模式,来自一个当前cu的相邻重建区域的映射域参考样点被用于生成预测样点。但是对于帧间模式,使用时间参考图片的原始域重建样点作为参考来执行运动补偿预测。存储在dpb中的重建样点也在原始域中。如图4所示,不同预测模式下重建样点的这样的混合表示带来附加的前向和逆向亮度映射操作。[0127]例如,对于帧间cu,因为亮度重建操作(即,将预测样点和残差样点相加在一起)是在映射域中执行的,所以在原始域中生成的帧间预测亮度样点需要在被用于亮度样点重建之前被转换到映射域。在另一示例中,对于帧内和帧间cu两者,在将重建亮度样点存储在dpb中之前,始终应用逆向(或后向)映射来将重建亮度样点从映射域转换到原始域。这种设计不仅由于附加的前向/逆向映射操作而增加了计算复杂度,而且还需要更多的片上存储器来维护重建样点的多个版本。[0128]基于以上讨论,在一些lmcs设计中,执行亮度映射和亮度相关的色度残差缩放,以分别对亮度和色度分量进行编解码。在实际的硬件实施方案中,前向和逆向(或后向)映射函数fwdmap和invmap可以使用查找表(look-up-table,lut)或实时计算来实现。当使用基于lut的解决方案时,可以预先计算来自函数fwdmap、invmap和cscaleinv的可能的输出元素,并将其预先存储为lut,然后可以将其用于当前条带中所有cu的亮度映射和色度残差缩放操作。假设输入视频是10位的,则在针对fwdmap和invmap的每个lut中存在210=1024个元素,并且lut中的每个元素具有10位。因此,前向和逆向亮度映射的lut的总存储量等于2*1024*10=20480位=2560字节。另一方面,为了导出色度缩放参数cscaleinv,需要在编码器和解码器处维护一个16项lut表cscaleinv,并且每个色度缩放参数以32位来存储。相应地,用于存储lutcscaleinv的存储器大小等于16*32=512位=64字节。2560和64之间的差显示了前向和逆向(后向)映射操作所需的额外片上存储器的规模。[0129]此外,在较新的视频编解码标准(诸如当前的vvc)中,帧内预测和去块滤波器两者都使用上述相邻块的重建样点。因此,当前图片/条带的宽度中的额外一行重建样点需要保持在缓冲器中,该缓冲器在视频编解码中也被称为“行缓冲器”。行缓冲器中的重建样点至少被用作针对位于一个ctu内部的第一行中的cu的帧内预测和去块操作的参考。根据现有的lmcs设计,帧内预测和去块滤波器使用不同域中的重建样点。因此,为了存储原始和映射域重建样点两者,附加的片上存储器变得必要,这可能使行缓冲器大小近似地加倍。[0130]除了增加行缓冲器大小以外,避免行缓冲器大小加倍的另一种实施方案选择是实时执行域映射操作。然而,这是以不可忽略的计算复杂度增加为代价的。[0131]因此,由于所需的不同域之间的映射,lmcs的当前设计将需要额外的计算复杂度和片上存储器。[0132]第二,利用所提出的自适应亮度残差缩放,现在亮度和色度分量两者都对其预测残差进行缩放操作。尽管lmcs的当前设计中的亮度和色度缩放因子导出方法二者都使用亮度预测样点值来导出对应的缩放因子,但是它们的对应操作之间存在差异。[0133]对于亮度残差缩放,通过允许每个亮度残差样点具有其自己的缩放因子来逐样点导出缩放因子。然而,对于色度残差缩放,缩放因子对于整个cu是固定的,即cu内的所有色度残差样点共享相同的缩放因子,该缩放因子是基于映射的亮度预测样点的平均值来计算的。[0134]而且,两个不同的lut用于计算亮度和色度残差的缩放因子。具体地,亮度lut的输入是原始亮度预测样点值的映射模型区段索引,而色度lut的输入是映射的亮度预测样点的平均值的映射模型区段索引。在一些示例中,无需将亮度预测样点映射到映射域,仅仅使用一个lut来缩放亮度和色度残差两者变得可能。[0135]这种差异将额外的复杂度引入到编解码过程中,并且用于亮度和色度缩放因子导出的协调的方法是可期望的。因此,为了实现一个统一的设计,可以提出一些方法来协调亮度和色度残差的缩放方法。[0136]第三,如上文关于“亮度相关的色度残差缩放”所讨论的,根据当前的lmcs设计,色度残差样点基于它们对应的亮度预测样点被缩放。这意味着直到一个lmcscu的所有亮度预测样点被完全生成,该cu的色度残差样点才能被重建。此外,如前所述,可以应用dmvr、bdof和ciip来提高帧间预测的效率。如图6所示,对于lmcs的当前设计的色度残差缩放,可以顺序地调用较新的编解码工具(诸如dmvr、bdof和ciip全部三个模块)来生成亮度预测样点,亮度预测样点然后用于确定色度残差的缩放因子。在给定这三个模块的高计算复杂度的情况下,在执行lmcs的色度残差缩放之前进行等待直到它们成功完成为止可能引起色度样点的解码的严重时延。对于仿射cu,prof过程也可能具有时延问题,这是因为每个仿射cu可能执行prof过程,接着是lmcs,其也可能引起色度样点的解码的时延问题。[0137]此外,在lmcs的当前设计中,在色度残差缩放因子导出过程期间执行了不必要的裁剪操作,进一步增加了对计算复杂度和片上存储器的额外要求。[0138]本公开旨在解决或减轻lmcs的当前设计所带来的这些挑战,更具体地,本公开讨论了针对硬件编解码器实施方案的可以减少lmcs的复杂度同时保持编解码增益的方案。[0139]代替于使用通过映射操作来转换预测/重建样点的现有lmcs框架,提出了一种被称为预测相关残差缩放(pdrs)的新方法,以在没有样点映射的情况下直接缩放预测残差。所提出的方法可以实现与lmcs类似的效果和编解码效率,但实施方案复杂度要低得多。[0140]在pdrs过程中,如图7所图示,获得用于解码亮度残差样点的亮度预测样点(701),使用亮度预测样点来导出缩放因子(702),使用缩放因子来缩放亮度残差样点(703),以及通过将亮度预测样点和经缩放的亮度残差样点相加来计算重建亮度样点(704)。[0141]在一些示例中,提出了一种自适应亮度残差缩放方法来减少lmcs的实施方案复杂度。具体地,与在计算亮度预测残差之前将预测/重建亮度样点直接转换到映射域的现有lmcs方法不同,在所提出的pdrs过程的方法中,亮度预测残差样点以与原始域中的常规预测过程中相同的方式被导出,而没有任何映射操作,随后是对亮度预测残差的缩放操作。亮度预测残差的缩放取决于对应的亮度预测样点值和分段线性模型。结果,当前lmcs设计中的前向和逆向亮度映射操作可以被完全丢弃,解码过程期间所涉及的所有预测和重建样点都保持在原始样点域中。基于上述特点,所提出的方法被命名为预测相关残差缩放。此外,为了改进色度残差缩放导出的时延,可以提出一些方法来从亮度预测样点的生成中完全或部分地排除dmvr、bdof和ciip操作,其中亮度预测样点用于计算色度残差样点的缩放参数。[0142]图8是图示当pdrs过程被应用在lmcs过程中时的解码过程的工作流程的流程图。它图示了对不同域之间进行映射的需求的去除。现在,除了残差解码模块(例如,熵解码801、反量化802和逆变换803),所有其他解码模块(包括帧内和帧间预测804、809、812和816,重建806和813,以及所有环路滤波器807和814)都在原始域中操作。具体地,为了对亮度样点进行重建,在pdrs过程中所提出的方法仅需要将亮度预测残差样点yres去缩放回它们的原始幅值水平,然后将它们加到亮度预测样点ypred上。[0143]利用pdrs过程,现有lmcs设计中的前向和逆向亮度样点映射操作被完全去除。这不仅节省/减少了计算复杂度,而且减少了用于保存lmcs参数的潜在存储库的大小。例如,当基于lut的解决方案用于实施亮度映射时,在所提出的方法中不再需要先前用于存储两个映射lutfwdmap[]和invmap[](大约2560字节)的存储库。此外,与需要在原始和映射域两者中存储重建亮度样点的现有亮度映射方法不同,在pdrs过程中所提出的方法仅在原始域中生成和维护所有预测和重建样点。相应地,与现有的亮度映射相比,在pdrs过程中所提出的方法可以有效地将用于存储帧内预测和去块的重建样点的行缓冲器大小减少一半。[0144]根据pdrs过程的一个或多个实施例,亮度预测样点和亮度残差样点来自亮度预测块及其相关联的残差块中的同一个并置位置。[0145]根据pdrs过程的一个或多个实施例,使用亮度预测样点来导出缩放因子包括:将可能的亮度预测样点值的全范围划分成多个亮度预测样点区段,基于预定义的分段线性模型,针对多个亮度预测样点区段中的每一个,计算一个缩放因子,以及基于多个亮度预测样点区段的缩放因子来确定亮度预测样点的缩放因子。[0146]在一个示例中,基于多个亮度预测样点区段的缩放因子来确定亮度预测样点的缩放因子包括:将亮度预测样点分配到多个亮度预测样点区段中的一个区段中,以及计算亮度预测样点的缩放因子作为所分配的亮度预测样点区段的缩放因子。[0147]在该示例中,多个亮度预测样点区段包括预定义的16段lut表scaleforward中的16个区段,并且用于针对多个亮度预测样点区段中的每一个计算一个缩放因子的预定义的分段线性模型包括与预定义的lut表scaleforward中的16个区段对应的16个值。[0148]为了保持运算精度,用于缩放/去缩放亮度残差样点的缩放参数可以基于其对应的并置亮度预测样点而被确定。在一个示例中,假设predy是一个亮度预测样点的值,通过以下步骤计算其对应的残差样点的缩放因子。[0149]在同一示例中,缩放因子(例如,亮度残差缩放因子scaley)基于所分配的亮度预测样点区段而被计算,如紧随本段落之后的框中所描述的那样。[0150][0151]在同一示例中,在给定亮度缩放因子scaley的情况下,可以如紧随本段落之后的框中所描述的那样应用亮度残差样点缩放方法。[0152][0153]该示例背后的动机是,当前lmcs中的前向映射基于一个分段线性模型。如果原始亮度样点和亮度预测样点两者都位于同一分段(即,由两个枢轴点inputpivot[i]和inputpivot[i+1]定义的同一区段),则原始和预测亮度样点的两个前向映射函数变得完全相同。相应地,其导致y′res=fwdmap(yorg)-fwdmap(ypred)=fwdmap(yorg-ypred)==fwdmap(yres)。通过在该等式的两侧应用逆映射,对应的解码器侧重建操作可以被表示为:yrecon=ypred+invmap(y′res)。[0154]换句话说,在原始亮度样点和亮度预测样点两者都位于同一分段处的情况下,可以通过解码过程中的一个残差缩放操作来实现lmcs中的亮度映射方法,如在该可能的实施方案中所实施的,例如,如图8所示。[0155]尽管这种结论是基于(原始亮度样点和亮度预测样点两者都位于由两个枢轴点inputpivot[i]和inputpivot[i+1]定义的同一区段中的)假设而导出的,但是即使当原始亮度样点和亮度预测样点位于分段线性模型的不同区段中时,该示例的这种可能的实施方案也仍然可以在任何情况下被用作针对vvc中的现有亮度映射操作的简化和/或近似。实验结果显示,这种简化和/或近似几乎不影响编解码性能。[0156]重申一下,该示例是基于这样的假设:原始和预测亮度样点值两者都位于分段线性模型的同一区段中。在这种情况下,应用于原始和预测亮度样点的前向/逆向映射函数是相同的;因此,仅根据亮度预测样点来计算对应的残差缩放因子是安全的。[0157]然而,当cu的预测样点不够准确时(例如,对于帧内预测cu,其中远离参考样点的样点通常预测得不太准确),预测样点和原始样点通常位于分段线性模型的不同区段中。在这种情况下,基于预测样点值而被导出的缩放因子在反映原始(即,非映射)域中的残差样点和映射域中的残差样点之间的原始映射关系方面可能是不可靠的。[0158]图9是仅使用预测样点来导出缩放因子所导致的残差映射误差的图示。在图9中,三角形实心点表示分段线性函数中不同区段的枢轴控制点,并且圆形实心点表示原始和预测样点值;yorg和ypred是原始(即,非映射)域中的原始和预测样点;y′org和y′pred分别是yorg和ypred的映射样点。yres和y′res是当vvc中的现有的基于样点的亮度映射方法被应用时原始域和映射域中的对应残差;y′resscale是基于所提出的亮度残差缩放方案而被导出的映射残差样点。如图9所示,因为原始样点和预测样点不在分段线性模型的同一区段中,所以基于预测样点而被导出的缩放因子可能不足够精确地生成近似于映射域中的原始残差(即,y′res)的缩放残差(即,y′resscale)。[0159]在第二示例中,不需要假设原始和预测亮度样点值两者都位于分段线性模型的相同区段中的假设。[0160]在该第二示例中,为了提高残差缩放因子的精度,代替于直接从亮度预测样点所在的分段线性模型的区段中导出缩放因子,将缩放因子计算为n(n是正整数)个相邻区段的缩放因子的平均值。[0161]在该第二示例中,基于多个亮度预测样点区段的缩放因子来确定亮度预测样点的缩放因子包括:将亮度预测样点分配到多个亮度预测样点区段中的一个区段中,以及将亮度预测样点的缩放因子计算为与所分配的亮度预测样点区段相邻的多个亮度预测样点区段的缩放因子的平均值。[0162]更具体地,在该第二示例的一个可能的实施方案中,可以基于所分配的亮度预测样点区段来计算缩放因子,如以下步骤中所描述。例如,在解码器侧,在给定亮度预测样点predy和亮度残差y′res的情况下,应用于去缩放y′res的缩放因子被计算如下。[0163](1)在原始域中寻找或获取predy所属的分段线性模型的对应区段索引idxy。[0164](2)如果y′res≥0,亮度残差缩放因子被计算如下:[0165][0166](3)否则(即,y′res<0),亮度残差缩放因子被计算如下:[0167][0168]其中,scaleforward[i](i=0...15)是预定义的16段lut,其被计算为:[0169]scaleforward[i]=(orgcw《《scale_fp_prec)/signaledcw[i][0170]其中orgcw和signaledcw[i]分别是原始域和映射域中第i个区段的码字的数量,并且scale_fp_prec是缩放因子的精度。[0171]在该第二示例的第二种可能的实施方案中,其在其他方面与上文所描述的实施方案相同,可以基于所分配的亮度预测样点区段来计算缩放因子,如紧随本段落之后的框中所描述的那样:[0172][0173]该第二示例的上述两种可能的实施方案仅在基于所分配的区段来选择n个亮度预测样点域值区段方面不同。[0174]在一个色度样点重建过程中,如图10所图示,获得用于解码输入位置处的亮度残差样点和色度残差样点的亮度预测样点值(1001),然后获得与亮度残差样点相关联的亮度预测样点(1002),然后获得与色度残差样点相关联的色度预测样点(1003),使用亮度预测样点来导出针对亮度残差样点的第一缩放因子和针对色度残差样点的第二缩放因子(1004),使用第一缩放因子来缩放亮度残差样点(1005),使用第二缩放因子来缩放色度残差样点(1006),通过将亮度预测样点和经缩放的亮度残差样点相加来计算重建亮度样点(1007),以及通过将色度预测样点和经缩放的色度残差样点相加来计算重建色度样点(1008)。[0175]色度样点重建过程旨在协调亮度和色度残差的缩放方法,以便实现更统一的设计。[0176]根据色度样点重建过程的一个或多个实施例,亮度预测样点值是包含输入位置的编码单元(cu)中所有亮度预测样点的平均值。在这些实施例中,色度缩放导出方法用于计算针对亮度残差的缩放因子,更具体地,代替于针对每个亮度残差样点单独导出一个缩放因子,基于亮度预测样点的平均值而被计算的一个共享缩放因子被用于缩放整个cu的亮度残差样点。[0177]根据色度样点重建过程的另一实施例,亮度预测样点值是从包含输入位置的编码单元(cu)细分的预定义的子块中的所有亮度预测样点的平均值。在该实施例中,可以提出一种基于子块的方法来导出针对亮度和色度残差的缩放因子。具体地,首先将一个cu均等地分割成多个m×n子块;然后针对每个子块,使用所有或部分亮度预测样点来导出对应的缩放因子,该缩放因子用于缩放该子块的亮度和色度残差两者。与第一种方法相比,第二种方法可以提高所估计的缩放因子的空间精度,因为在子块之外的相关性较低的亮度预测样点从计算子块的缩放因子中被排除。同时,在一个子块中的亮度和色度残差的缩放可以在该子块的亮度预测完成之后立即开始的情况下(即,无需等待整个cu的亮度预测样点完全生成),第二种方法还可以减少亮度和色度残差重建的时延。[0178]根据色度样点重建过程的第三实施例,亮度预测样点域值包括并置的亮度预测样点。在该实施例中,亮度残差缩放方法被扩展以缩放色度残差,并且基于每个色度残差样点的并置的亮度预测样点值来导出每个色度残差样点的不同的缩放因子。[0179]在色度样点重建过程的上述实施例中,提出使用用于计算亮度缩放因子的相同lut来进行色度残差的缩放。在一个示例中,为了导出针对色度残差的cu级的缩放因子scalec,可以遵循以下:[0180](1)计算cu内亮度预测样点(其被表示在原始域中)的平均值,表示为avgy。[0181](2)寻找或获取avgy所属的分段线性模型的对应区段索引idxy。[0182](3)计算scalec的值如下:[0183]scalec=scaleforward[idxy][0184]其中,scaleforward[i](i=0...15)是一个预定义的16段lut,其被计算为:[0185]scaleforward[i]=(orgcw《《scale_fp_prec)/signaledcw[i][0186]其中orgcw和signaledcw[i]分别是原始域和映射域中第i个区段的码字的数量,并且scale_fp_prec是缩放因子的精度。[0187]上述示例可以容易地扩展到这一情况:其中为当前cu的每个子块导出针对色度残差的缩放因子。在这种情况下,在上述第一个步骤中,avgy将被计算为子块的原始域中的亮度预测样点的平均值,而步骤2和步骤3保持不变。[0188]在第二色度样点重建过程中,如图11所图示,通过在针对编码单元(cu)的亮度预测过程期间跳过多个预定义的中间亮度预测阶段来获得多个亮度预测样点(1101),使用所获得的多个亮度预测样点来导出针对cu中的色度残差样点的缩放因子(1102),使用缩放因子来缩放cu中的色度残差样点(1103),以及通过将cu中的色度预测样点和经缩放的色度残差样点相加来计算重建色度样点(1104)。[0189]根据第二色度样点重建过程的一个或多个实施例,预定义的中间亮度预测阶段包含解码器侧运动矢量导出(dmvr)、双向光流(bdof)以及联合帧间帧内预测(ciip)的一个或多个双向预测模块。在这些实施例中,为了解决时延问题,在dmvr、bdof/prof、ciip帧内/帧间联合过程之前被导出的帧间预测样点被用于导出针对色度残差的缩放因子。[0190]图12是图示第二色度样点重建过程的该实施例的一个示例中的lmcs解码过程的工作流程的流程图,其中没有应用dmvr、bdof和ciip来生成用于色度缩放的亮度预测样点。这里,代替于等待dmvr1203、bdof1204和/或ciip的亮度帧内预测部分1205完全完成,一旦基于初始l0和l1亮度预测1201和1202的预测样点1221和1222变得可用,就可以开始色度残差缩放过程1208。[0191]在图12中,在dmvr1203、bdof1204和/或ciip1205之前,除了原始取平均操作1206之外,还需要一个附加的取平均操作1211来组合初始l0和l1预测样点1221和1222。[0192]为了减少复杂度,在第二色度样点重建过程的该实施例的第二示例中,初始l0预测样点可以总是用于导出针对色度残差的缩放因子。[0193]图13是图示第二色度样点重建过程的该实施例的第二示例中的lmcs解码过程的工作流程的流程图,其中应用初始单向预测信号来生成用于色度缩放的亮度预测样点。除了原始的取平均操作1306之外,不需要附加的取平均操作。初始l0预测样点1321用于在dmvr1303、bdof1304和/或ciip1305之前导出针对色度残差的缩放因子。[0194]在第二色度样点重建过程的该实施例的第三示例中,以自适应方式选择一个初始预测信号(l0或l1)作为亮度预测样点,亮度预测样点用于导出色度残差缩放因子。在该示例的一种可能的实施方案中,在初始预测信号(l0或l1)之间,选择其参考图片相对于当前图片具有较小的图片顺序计数(poc)距离的一个来导出色度残差缩放因子。[0195]在第二色度样点重建过程的另一实施例中,提出仅禁用dmvr、bdof/prof,而启用ciip来生成用于确定色度残差缩放因子的帧间预测样点。具体地,在该方法中,针对ciip,在dmvr和bdof/prof之前被导出的帧间预测样点首先被取平均,然后与帧内预测样点组合;最后,组合的预测样点被用作预测样点以决定色度残差缩放因子。[0196]在第二色度样点重建过程的又一实施例中,提出仅禁用bdof/prof,而保留dmvr和ciip来生成用于确定色度残差缩放因子的预测样点。[0197]在第二色度样点重建过程的又一实施例中,提出在导出用于确定色度残差缩放因子的亮度预测样点时,保持bdof/prof和ciip,而禁用dmvr。[0198]此外,值得一提的是,尽管第二色度样点重建过程的上述实施例中的方法被图示为它们被设计用于减少色度预测残差缩放的时延,但是这些方法也可以用于减少亮度预测残差缩放的时延。例如,所有这些方法也可以应用于“基于预测相关残差缩放的亮度映射”章节中所解释的pdrs方法。[0199]根据现有的dmvr设计,为了减少计算复杂度,使用2抽头双线性滤波器而不是默认的8抽头内插来生成用于dmvr运动细化的预测样点。在细化运动被确定之后,默认的8抽头滤波器将被应用以生成当前cu的最终预测样点。因此,为了减少由dmvr导致的色度残差解码时延,提出使用由双线性滤波器生成的亮度预测样点(如果当前cu是双向预测的,则为l0和l1预测样点的平均值)来确定色度残差的缩放因子。[0200]根据一个色度残差样点重建过程,如图14所图示,从解码器侧运动矢量导出(dmvr)的双线性滤波器的输出中选择一个或多个亮度预测样点值(1401),将一个或多个所选择的亮度预测样点值调整为具有与输入视频的原始编解码位深度相同的位深度的另一个或多个亮度预测样点值(1402),使用具有与输入视频的原始编解码位深度相同的位深度的亮度预测样点值来导出缩放因子,以解码一个或多个色度残差样点(1403),使用缩放因子来缩放一个或多个色度残差样点(1404),以及通过将一个或多个经缩放的色度残差样点和它们对应的色度预测样点相加来重建一个或多个色度残差样点(1405)。[0201]在色度残差样点重建过程的一个或多个实施例中,从dmvr的双线性滤波器的输出中选择一个或多个亮度预测样点值包括:从dmvr的双线性滤波器的输出中选择l0和l1亮度预测样点。[0202]图15是图示色度残差样点重建过程的一个这种实施例中的lmcs解码过程的工作流程的流程图。来自dmvr1503的双线性滤波器1512组件的输出的l0和l1预测样点1521和1522被馈送到取平均1511中,以便导出色度残差缩放输入1523,色度残差缩放输入1523将在色度残差缩放1507中用于解码一个或多个色度残差样点。[0203]在这些实施例中,存在位代码深度的问题。为了减少dmvr所使用的内部存储大小,由dmvr的双线性滤波器生成的中间l0和l1预测样点具有10位精度。这不同于常规双向预测的即时预测样点的表示位深度(其等于14位)。因此,从双线性滤波器输出的中间预测样点由于其不同的精度而不能被直接应用于确定色度残差缩放因子。[0204]为了解决这个问题,提出首先将dmvr中间位深度与用于常规运动补偿内插的中间双深度对准,即,将位深度从10位增加到14位。此后,可以重新使用应用来生成常规双向预测信号的现有取平均过程,来生成用于确定色度残差缩放因子的对应预测样点。[0205]在这些实施例的一个示例中,将一个或多个所选择的亮度预测样点值调整为具有与输入视频的原始编解码位深度相同的位深度的另一个或多个亮度预测样点值包括:通过向左移位将来自dmvr的双线性滤波器的输出的l0和l1亮度预测样点的内部位深度增加到14位,通过对14位的经移位的l0和l1亮度预测样点值取平均来获得14位的平均亮度预测样点值,以及通过向右移位将14位的平均亮度预测样点值的内部位深度改变为输入视频的原始编解码位深度来转换14位的平均亮度预测样点值。[0206]更具体地,在该示例中,色度缩放因子通过紧随本段落之后的框中描述的步骤而被确定。[0207][0208]在色度残差样点重建过程的其他实施例中,从dmvr的双线性滤波器的输出中选择一个或多个亮度预测样点值并将一个或多个所选择的亮度预测样点值调整为具有与输入视频的原始编解码位深度相同的位深度的另一个或多个亮度预测样点值包括:从dmvr的双线性滤波器的输出中的l0和l1亮度预测样点中选择一个亮度预测样点,通过移位将这一个所选择的亮度预测值的内部位深度改变为输入视频的原始编解码位深度来调整这一个所选择的亮度预测样点,以及将经调整的亮度预测样点用作具有与输入视频的原始编解码位深度相同的位深度的亮度预测样点。[0209]图16是图示色度残差样点重建过程的一个这种其他实施例中的lmcs解码过程的工作流程的流程图。来自dmvr1603的双线性滤波器1612组件的输出的l0预测样点1621在色度残差缩放1607中用于解码一个或多个色度残差样点。在该实施例中,提出直接使用初始单向预测样点(即,l0预测样点)来导出针对色度残差的缩放因子。[0210]在色度残差样点重建过程的一个这种其他实施例的一个示例中,假设当前cu是双向预测的,通过将从双线性滤波器输出的亮度样点移位到输入视频的原始编解码位深度来确定色度缩放因子,如紧随本段落之后的框中所描述的那样。[0211][0212]最后,代替于生成亮度预测样点,提出了直接使用参考样点(即,从外部参考图片获取的整数位置处的样点)来确定色度残差的缩放因子。在一个或多个实施例中,提出使用l0和l1中的参考样点的平均值来确定色度残差缩放因子。在另一实施例中,可以提出仅使用一个方向上的参考样点(例如,列表l0)来计算色度残差缩放因子。[0213]根据第二色度残差样点重建过程,如图17所图示,从参考图片中选择一个或多个亮度参考样点值(1701),将一个或多个所选择的亮度参考样点值变换成亮度样点值(1702),使用经变换的亮度样点值来导出缩放因子(1703),使用缩放因子来缩放一个或多个色度残差样点(1704),以及通过将一个或多个经缩放的色度残差样点和它们对应的色度预测样点相加来重建一个或多个色度残差样点(1705)。[0214]在第二色度残差样点重建过程的一个或多个实施例中,从参考图片中选择一个或多个亮度参考样点值并将一个或多个所选择的亮度参考样点值变换成亮度样点值包括:从l0和l1参考图片中获得l0和l1亮度参考样点值两者,以及对l0和l1亮度参考样点值取平均作为经变换的亮度样点值。[0215]在第二色度残差样点重建过程的其他实施例中,从参考图片中选择一个或多个亮度参考样点值并将一个或多个所选择的亮度参考样点值变换成亮度样点值包括:从来自l0和l1参考图片的l0和l1亮度参考样点值中选择一个亮度参考样点值,以及使用这一个所选择的亮度参考样点值作为经变换的亮度样点值。[0216]根据现有的lmcs设计,与当前cu所在的64×64区域相邻的重建亮度样点用于计算该区域内cu的色度残差缩放因子。此外,在计算平均值之前,应用一个裁剪操作,即clip1(),以将重建的亮度相邻样点裁剪到内部位深度的动态范围(即,在范围[0,(1<<bitdepth)-1]内)。[0217]具体地,该方法首先获取当前cu所属的对应64×64区域的64个左侧相邻亮度样点和64个顶部相邻亮度样点;然后计算左侧和顶部相邻样点的平均值,即avgy,以及在lmcs分段线性模型中寻找avgy的区段索引yldx;以及最后导出色度残差cscaleinv=cscaleinv[yldx]。[0218]具体地,在当前的vvc草案中,如何导出对应的平均亮度被描述如下,其中应用了裁剪操作clip1(),如利用放大的字体所示的:[0219]针对变量varscale的导出,应用以下有序步骤:[0220]变量invavgluma被导出如下:[0221]-数组recluma[i](i=0...(2*sizey1))和变量cnt被导出如下:[0222]-变量cnt被设置为等于0。[0223]-当availl等于true时,数组recluma[i](i=0...sizey-1)被设置为等于[0224]currpic[xcucb-1][min(ycucb+i,pic_height_in_luma_samples-1)]其中i=0..sizey-1,并且cnt被设置为等于sizey。[0225]-当availt等于true时,数组recluma[cnt+i](i=0...sizey-1)被设置为等于[0226]currpic[min(xcucb+i,pic_width_in_luma_samples-1)][ycucb-1]其中i=0...sizey-1,并且cnt被设置为等于(cnt+sizey)。[0227]-变量invavgluma被导出如下:[0228]-如果cnt大于0,则应用以下:[0229][0230]-否则(cnt等于0),则应用以下:[0231]invavgluma=1《《(bitdepth-1)[0232]在上面的描述中,sizey是64;recluma[i]是顶部和左侧相邻亮度样点的重建样点;invavgluma是所计算的亮度平均值。[0233]然而,在重建过程处,在将预测样点加到一个cu的残差样点之后,所得样点值已经被裁剪到内部位深度的动态范围。这意味着当前64×64区域周围的所有相邻的重建亮度样点都被保证在内部位深度的范围内。因此,它们的平均值,即avgy,也不能超出该范围。结果,现有的裁剪(即,clip1())对于计算对应的色度残差缩放因子是不必要的。为了进一步减少lmcs设计的复杂度和存储器需求,提出在计算相邻的重建亮度样点的平均值以导出色度残差缩放因子时,去除裁剪操作。[0234]图18是图示非裁剪色度残差缩放因子导出过程的步骤的流程图。在图18中,在cu的解码期间,选择来自第一预定区域的多个重建亮度样点,第一预定区域与cu所在的第二预定区域相邻(1801),计算多个重建亮度样点的平均值(1802),以及在导出用于解码cu的色度残差缩放因子时,直接使用多个重建亮度样点的平均值,而不进行任何裁剪(1803)。[0235]在非裁剪色度残差缩放因子导出过程的一个或多个实施例中,多个重建亮度样点的平均值是多个重建亮度样点的算术平均值。[0236]在非裁剪色度残差缩放因子导出过程的一个或多个实施例中,在导出用于解码cu的色度残差缩放因子时,直接使用多个重建亮度样点的平均值,而不进行任何裁剪,包括:在预定义的分段线性模型中识别平均值的区段索引,以及基于区段的线性模型的斜率来导出用于解码cu的色度残差缩放因子。[0237]在非裁剪色度残差缩放因子导出过程的一个或多个实施例中,通过生成第一预定区域中的亮度预测样点和亮度残差样点、将亮度残差样点加到亮度预测样点、以及将相加的亮度样点裁剪到编解码位深度的动态范围,来生成第一预定区域中的多个重建亮度样点。[0238]在非裁剪色度残差缩放因子导出过程的一个或多个实施例中,多个重建亮度样点是多个前向映射的帧间亮度重建样点。[0239]在非裁剪色度残差缩放因子导出过程的一个或多个实施例中,第二预定区域是cu所在的64×64区域。[0240]在一个示例中,如图19所图示,第一预定区域可以包括直接在第二预定区域1904上方的1×64区域1902中的顶部相邻样点。替代地或附加地,第一预定区域可以包括直接在第二预定区域1904左侧的64×1区域1903中的左侧相邻样点。[0241]根据现有的lmcs设计,原始域和映射域两者中的重建样点都用于以不同模式被编码的cu。相应地,在当前编码/解码过程中涉及多个lmcs转换,以在两个域之间转换预测和重建亮度样点。[0242]具体地,对于帧内模式、ciip模式和ibc模式,来自一个当前cu的相邻重建区域、用于生成帧内预测样点的参考样点被保持在映射域中。相比之下,对于ciip模式和所有帧间模式,从时间参考图片中生成的运动补偿预测样点在原始域中。因为亮度重建操作在映射域中被执行,所以亮度分量的那些帧间预测样点需要在与残差样点相加之前被转换到映射域。另一方面,对于帧内和帧间模式两者,总是应用逆映射来将重建亮度样点从映射域转换回原始域。[0243]另外,在帧间预测样点被转换到映射域之后,应用裁剪操作,即clip1(),以将帧间预测样点裁剪到内部位深度的动态范围(即,在范围[0,(1《《bitdepth)-1]内)。同时,对于帧内和帧间模式两者,在重建亮度样点被转换回原始域之后,相同的裁剪操作也被应用于重建亮度样点。[0244]然而,基于现有的lmcs设计,存在一个比特流限制,其保证来自前向lmcs的所产生的样点总是在内部位深度的动态范围内。这意味着帧间cu的所映射的亮度预测样点不能超出这种动态范围。因此,应用于帧间模式的所映射的亮度预测样点的现有裁剪操作是冗余的。作为示例,可以提出在帧间模式和ciip模式的帧间预测样点的前向转换之后去除裁剪操作。在另一示例中,可以提出,当将重建亮度样点从映射域转换回原始域时,从逆向lmcs映射过程中去除裁剪操作。[0245]更具体地,在当前的vvc草案中,针对亮度样点的逆映射过程被描述如下,其中应用了等式(1242)中的裁剪操作clip1(),如利用放大的字体所示的:[0246]8.8.2.2针对亮度样点的逆映射过程[0247]该过程的输入是亮度样点lumasample。[0248]该过程的输出是经修改的亮度样点invlumasample。[0249]invlumasample的值被导出如下:[0250]-如果包含亮度样点lumasample的条带的slice_lmcs_enabled_flag等于1,则应用以下有序步骤:[0251]1.变量idxyinv是通过调用对条款8.8.2.3中指定的亮度样点的分段函数索引过程的识别来导出的,其中lumasample作为输入,并且idxyinv作为输出。[0252]2.变量invsample被导出如下:[0253]invsample=inputpivot[idxyinv]+(invscalecoeff[idxyinv]*[0254](lumasample-lmcspivot[idxyinv])+(1《《10))》>11(1241)[0255]3.逆向映射的亮度样点invlumasample被导出如下:[0256]invlumasample=clip1(invsample)(1242)[0257]-否则,invlumasample被设置为等于lumasample。[0258]此外,在当前的vvc草案中,针对组合的合并和帧内预测的加权样点预测过程被描述如下,其中应用了裁剪操作clip1(),如利用放大的字体所示的:[0259]8.5.6.7针对组合的合并和帧内预测的加权样点预测过程[0260]该过程的输入是:[0261]-亮度位置(xcb,ycb),其指定相对于当前图片的左上角亮度样点的当前亮度码块的左上角样点,[0262]-当前码块的宽度cbwidth,[0263]-当前码块的高度cbheight,[0264]-两个(cbwidth)×(cbheight)数组predsamplesinter和predsamplesintra,[0265]-指定颜色分量索引的变量cidx。[0266]该过程的输出是预测样点值的(cbwidth)×(cbheight)数组predsamplescomb。[0267]变量scallfact被导出如下:[0268]scallfactx=(cidx==0||subwidthc==1)?0:1ꢀꢀꢀꢀꢀꢀ(1026)[0269]scallfacty=(cidx==0||subheightc==1)?0:1ꢀꢀꢀꢀꢀ(1027)[0270]相邻的亮度位置(xnba,ynba)和(xnbb,ynbb)被设置为分别等于[0271](xcb-1,ycb-1+(cbheight《《scallfacty))和[0272](xcb-1+(cbwidth《《scallfactx),ycb-1)。[0273]对于被a或b替换的x,变量availablex和isintracodedneighbourx被导出如下:[0274]-调用条款6.4.4中指定的相邻块可用性的导出过程,其中作为输入的是:被设置为等于(xcb,ycb)的位置(xcurr,ycurr),被设置为等于(xnbx,ynbx)的相邻位置(xnby,ynby),被设置为等于false的checkpredmodey,以及被设置为等于0的cidx,并且输出被分配给availablex。[0275]-变量isintracodedneighbourx被导出如下:[0276]-如果availablex等于true并且[0277]cupredmode[0][xnbx][ynbx]等于mode_intra,则isintracodedneighbourx被设置为等于true。[0278]-否则,isintracodedneighbourx被设置为等于false。[0279]权重w被导出如下:[0280]-如果isintracodedneighboura和isintracodedneighbourb两者都等于true,则w被设置为等于3。[0281]-否则,如果isintracodedneighboura和isintracodedneighbourb两者都等于false,则w被设置为等于1。[0282]-否则,w被设置为等于2。[0283]当cidx等于0并且slice_lmcs_enabled_flag等于1时,predsamplesinter[x][y](x=0..cbwidth-1并且y=0..cbheight-1)被修改如下:[0284]idxy=predsamplesinter[x][y]》》log2(orgcw)[0285]predsamplesinter[x][y]=clip1(lmcspivot[idxy]+[0286](scalecoeff[idxy]*(predsamplesinter[x][y]-[0287]inputpivot[idxy])+(1《《10))>》11)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1028)[0288]预测样点predsamplescomb[x][y](x=0..cbwidth-1并且y=0..cbheight-1)被导出如下:[0289]predsamplescomb[x][y]=(w*predsamplesintra[x][y]+[0290](4-w)*predsamplesinter[x][y]+2)》》2(1029)[0291]此外,在当前的vvc草案中,具有针对亮度样点的映射过程的图片重建被描述如下,其中应用了裁剪操作clip1(),如利用放大的字体所示的:[0292]8.7.5.2具有针对亮度样点的映射过程的图片重建[0293]该过程的输入是:[0294]-当前块的左上角样点相对于当前图片的左上角样点的位置(xcurr,ycurr),[0295]-指定块宽度的变量ncurrsw,[0296]-指定块高度的变量ncurrsh,[0297]-指定当前块的亮度预测样点的(ncurrsw)×(ncurrsh)数组predsamples,[0298]-指定当前块的亮度残差样点的(ncurrsw)×(ncurrsh)数组ressamples。[0299]该过程的输出是重建的亮度图片样点数组recsamples。[0300]所映射的预测亮度样点predmapsamples的(ncurrsw)×(ncurrsh)数组被导出如下:[0301]-如果以下条件之一为真,则对于i=0..ncurrsw-1,j=0..ncurrsh-1,predmapsamples[i][j]被设置为等于predsamples[i][j]:[0302]-cupredmode[0][xcurr][ycurr]等于mode_intra。[0303]-cupredmode[0][xcurr][ycurr]等于mode_ibc。[0304]-cupredmode[0][xcurr][ycurr]等于mode_plt。[0305]-cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于1。[0306]-否则(cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于0),则应用以下:[0307]idxy=predsamples[i][j]>》log2(orgcw)[0308]predmapsamples[i][j]=clip1(lmcspivot[idxy][0309]+(scalecoeff[idxy]*(predsamples[i][j]-[0310]inputpivot[idxy])+(1《《l0))》》11ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1232)[0311]其中i=0..ncurrsw-1,j=0..ncurrsh-1)[0312]重建的亮度图片样点recsamples被导出如下:[0313]recsamples[xcurr+i][ycurr+j]=clip1(predmapsamples[i][j]+ressamples[i][j]])(1233)[0314]其中i=0..ncurrsw-1,j=0..ncurrsh-1[0315]在现有的lmcs设计中,这些冗余的裁剪操作引起了对计算复杂度和片上存储器的额外需求。为了进一步减少lmcs设计的复杂度和存储器需求,提出去除这些冗余的裁剪操作。[0316]根据如图20所图示的非裁剪色度样点解码过程,在具有色度缩放的亮度映射(lmcs)框架下,在通过帧间模式或联合帧间帧内预测(ciip)模式编码的编码单元(cu)的解码期间,获得亮度分量在映射域中的多个重建样点(2001),通过将亮度分量的多个重建样点从映射域转换到原始域,获得亮度分量在原始域中的多个经转换的样点(2002),以及在导出用于解码cu的色度样点的色度缩放因子时,使用亮度分量在原始域中的多个经转换的样点,而不进行裁剪(2003)。[0317]在非裁剪色度样点解码过程的一个或多个实施例中,如图21所图示,当cu由帧间模式编解码时,获得亮度分量在映射域中的多个重建样点包括:计算亮度分量在原始域中的多个帧间预测样点(2101),将亮度分量的多个帧间预测样点从原始域转换到映射域,而不进行裁剪,以获得亮度分量在映射域中的多个经转换的帧间预测样点(2102),以及将亮度分量在映射域中的多个经转换的帧间预测样点加到亮度分量在映射域中的多个残差样点,从而产生亮度分量在映射域中的多个重建样点(2103)。[0318]在非裁剪色度样点解码过程的其他一个或多个实施例中,如图22所图示,当cu由ciip模式编解码时,获得亮度分量在映射域中的多个重建样点包括:计算亮度分量在原始域中的多个帧间预测样点(2201),将亮度分量的多个帧间预测样点从原始域转换到映射域,而不进行裁剪,以获得亮度分量在映射域中的多个经转换的帧间预测样点(2202),计算亮度分量在映射域中的多个帧内预测样点(2203),通过多个经转换的帧间预测样点和多个帧内预测样点的加权平均来导出亮度分量在映射域中的预测样点(2204),以及将导出的亮度分量在映射域中的预测样点加到亮度分量在映射域中的多个残差样点,从而产生亮度分量在映射域中的多个重建样点(2205)。[0319]当启用当前的lmcs时,使用一个以11位精度定义的lut表来执行前向和后向亮度映射。例如,以前向亮度映射为例,当前的前向映射缩放因子被定义如下:[0320]scalecoeff[i]=(lmcscw[i]*(1《《11)+(1《《(log2(orgcw)-1)))》>(log2(orgcw))[0321]其中lmcscw是所映射的亮度域中一个区段的长度,并且orgcw是原始亮度域中一个区段的长度,其等于1《《(bitdepth-4)。[0322]然而,注意到这种11位的精度仅对于小于16位的内部编解码位深度是足够的。当内部编解码位深度为16位时,log2(orgcw)的值将为12。在这种情况下,11位精度提升不足以支持缩放因子导出。这可能导致前向亮度映射之后的所映射的预测亮度样点值超出内部编解码位深度的动态范围,即使应用了当前的一致性(比特流一致性),即,所映射的亮度域中的区段的长度的总和小于或等于(1<<bitdepth)-1。[0323]基于这样的考虑,提出了两种解决方案。[0324]在一种解决方案中,提出总是对帧间模式和ciip模式的所映射的亮度预测样点应用裁剪操作。除此之外,当前的比特流一致性可以被去除。[0325]在这种解决方案下,针对组合的合并和帧内预测的加权样点预测过程将变成如下。如与当前的vvc草案中相同过程的规范相比,在等式(1028a)中总是应用裁剪操作clip1(),使得所映射的亮度预测样点将包含裁剪值。[0326]8.5.6.7针对组合的合并和帧内预测的加权样点预测过程[0327]该过程的输入是:[0328]当cidx等于0并且slice_lmcs_enabled_flag等于1时,predsamplesinter[x][y](其中x=0..cbwidth-1并且y=0..cbheight-1)被修改如下:[0329]idxy=predsamplesinter[x][y]>>log2(orgcw)[0330]predsamplesinter[x][y]=clip1(lmcspivot[idxy]+[0331](scalecoeff[idxy]*(predsamplesinter[x][y]-inputpivot[idxy])+(1<《10))>>11)(1028a)[0332]预测样点predsamplescomb[x][y](其中x=0..cbwidth-1并且y=0..cbheight-1)被导出如下:[0333]predsamplescomb[x][y]=(w*predsamplesintra[x][y]+[0334](4-w)*predsamplesinter[x][y]+2)>>2(1029a)[0335]同样在该解决方案下,具有针对亮度样点的映射过程的图片重建将变成如下。如与当前的vvc草案中相同过程的规范相比,添加了裁剪操作clip1(),使得所映射的亮度预测样点将包含裁剪值。[0336]8.7.5.2具有针对亮度样点的映射过程的图片重建[0337]该过程的输入是:[0338]-当前块的左上角样点相对于当前图片的左上角样点的位置(xcurr,ycurr),[0339]-指定块宽度的变量ncurrsw,[0340]-指定块高度的变量ncurrsh,[0341]-指定当前块的亮度预测样点的(ncurrsw)×(ncurrsh)数组predsamples,[0342]-指定当前块的亮度残差样点的(ncurrsw)×(ncurrsh)数组ressamples。[0343]该过程的输出是重建的亮度图片样点数组recsamples。[0344]所映射的预测亮度样点predmapsamples的(ncurrsw)×(ncurrsh)数组被导出如下:[0345]-如果以下条件之一为真,则对于i=0..ncurrsw-1,j=0..ncurrsh-1,predmapsamples[i][j]被设置为等于predsamples[i][j]:[0346]-cupredmode[0][xcurr][ycurr]等于mode_intra。[0347]-cupredmode[0][xcurr][ycurr]等于mode_ibc。[0348]-cupredmode[0][xcurr][ycurr]等于mode_plt。[0349]-cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于1。[0350]-否则(cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于0),则应用以下:[0351]idxy=predsamples[i][j]>》log2(orgcw)[0352]predmapsamples[i][j]=clip1(lmcspivot[idxy][0353]+(scalecoeff[idxy]*(predsamples[i][j]-[0354]inputpivot[idxy])+(1《《10))>》11(1232a)[0355]其中i=0..ncurrsw-1,j=0..ncurrsh-1)[0356]重建的亮度图片样点recsamples被导出如下:[0357]recsamples[xcurr+i][ycurr+j]=clip1(predmapsamples[i][j]+ressamples[i][j]])(1233a)[0358]其中i=0..ncurrsw-1,j=0..ncurrsh-1[0359]在第二解决方案中,提出将lmcs的缩放因子导出的精度提高到大于11位(表示为m位)。[0360]在此第二解决方案下,前向亮度映射将变成如下:[0361]scalecoeff[i]=(lmcscw[i]*(1《《m)+(1《《(log2(orgcw)-1)))》》(log2(orgcw))[0362]idxy=predsamples[i][j]>>log2(orgcw)[0363]predmapsamples[i][j]=lmcspivot[idxy]+[0364](scalecoeff[idxy]*(predsamples[i][j]-[0365]inputpivot[idxy])+(1《《(m-1)))》>m(1219)[0366]其中i=0..ncurrsw-1,j=0..ncurrsh-1[0367]在第二解决方案的一个实施例中,提出增加前向和逆向亮度映射两者的缩放因子导出的精度。在第二解决方案的另一实施例中,提出仅增加前向亮度映射的缩放因子导出的精度。[0368]当应用以上两种解决方案中的任一种时,应用于帧间模式和ciip模式的所映射的亮度预测样点的当前裁剪操作也可以被安全地去除。[0369]根据本公开的第一方面,如图23所图示,获得在lmcs框架下通过帧间模式或ciip模式编解码的cu的亮度分量在映射域中的多个预测样点(2301),从比特流中接收cu的亮度分量在映射域中的多个残差样点(2302),将映射域中的多个预测样点加到映射域中的多个残差样点,从而产生亮度分量在映射域中的多个重建样点(2303),以及基于预定义的多个逆映射缩放因子将亮度分量的多个重建样点从映射域转换到原始域(2304)。[0370]在本公开的第一方面的一个或多个实施例中,如图24所图示,通过帧间模式来对cu进行编解码,并且获得cu的亮度分量在映射域中的多个预测样点包括:从cu的时间参考图片中导出cu的亮度分量在原始域中的多个帧间预测样点(2401),并且然后基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将亮度分量的多个帧间预测样点从原始域转换到映射域(2402)。[0371]在本公开的第一方面的其他一个或多个实施例中,如图25所图示,通过ciip模式来对cu进行编解码,并且其中获得cu的亮度分量在映射域中的多个预测样点包括:从cu的时间参考图片中导出cu的亮度分量在原始域中的多个帧间预测样点(2501),基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将亮度分量的多个帧间预测样点从原始域转换到映射域(2502),计算cu的亮度分量在映射域中的多个帧内预测样点(2503),以及将cu的亮度分量在映射域中的预测样点导出为经转换的多个帧间预测样点和多个帧内预测样点的加权平均(2504)。[0372]在一个示例中,如图26所图示,基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将亮度分量的多个帧间预测样点从原始域转换到映射域包括:使用预定义的多个前向映射缩放因子将亮度分量的多个帧间预测样点从原始域转换到映射域(2601),基于预定义的编解码位深度和预定义的前向映射精度来确定是否需要裁剪操作(2602),响应于确定需要裁剪操作,将亮度分量在映射域中的多个帧间预测样点裁剪到预定义的编解码位深度(2603),以及响应于确定不需要裁剪操作,避开对亮度分量的多个帧间预测样点的裁剪(2604)。[0373]在一个或多个实例中,确定是否需要裁剪操作包括:当预定义的编解码位深度大于预定义的前向映射精度时,确定需要裁剪操作。[0374]在一个或多个实例中,确定是否需要裁剪操作包括:当预定义的编解码位深度小于或等于预定义的前向映射精度时,确定不需要裁剪操作。[0375]在一个或多个实例中,确定是否需要裁剪操作包括:不管预定义的编解码位深度和预定义的前向映射精度如何,都确定需要裁剪操作。[0376]在一个或多个实例中,确定是否需要裁剪操作包括:不管预定义的编解码位深度和预定义的前向映射精度如何,都确定不需要裁剪操作。[0377]在一个或多个实例中,预定义的前向映射精度是15位。[0378]在一个或多个实例中,预定义的前向映射精度是11位。[0379]图27是图示根据本公开的一些实施方案的用于视频编解码的装置的框图。装置2700可以是终端,诸如移动电话、平板电脑、数字广播终端、平板设备或个人数字助理。[0380]如图27所示,装置2700可以包括一个或多个以下组件:处理组件2702、存储器2704、电源组件2706、多媒体组件2708、音频组件2710、输入/输出(i/o)接口2712、传感器组件2714和通信组件2716。[0381]处理组件2702通常控制装置2700的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关的操作。处理组件2702可以包括一个或多个处理器2720,用于执行指令来完成上述方法的所有或部分步骤。此外,处理组件2702可以包括一个或多个模块,以促进处理组件2702和其他组件之间的交互。例如,处理组件2702可以包括多媒体模块,以促进多媒体组件2708和处理组件2702之间的交互。[0382]存储器2704被配置为存储不同类型的数据以支持装置2700的操作。这种数据的示例包括在装置2700上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器2704可以包括任何类型的暂时性或非暂时性存储介质或其组合,并且存储器2704可以是静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或光盘。非暂时性存储介质可以是例如硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、混合驱动器或固态混合驱动器(sshd)、只读存储器(rom)、光盘只读存储器(cd-rom)、磁带、软盘等。[0383]电源组件2706为装置2700的不同组件供电。电源组件2706可以包括电源管理系统、一个或多个电源以及与为装置2700生成、管理和分配电力相关联的其他组件。[0384]多媒体组件2708包括在装置2700和用户之间提供输出接口的屏幕。在一些示例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,则屏幕可以被实施为从用户接收输入信号的触摸屏。触摸面板可以包括一个或多个触摸传感器,用于感测触摸面板上的触摸、滑动和手势。触摸传感器不仅可以感测触摸或滑动动作的边界,还可以检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件2708可以包括前置相机和/或后置相机。当装置2700处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可以接收外部多媒体数据。[0385]音频组件2710被配置为输出和/或输入音频信号。例如,音频组件2710包括麦克风(mic)。当装置2700处于诸如呼叫模式、记录模式和语音识别模式之类的操作模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以进一步存储在存储器2704中,或者经由通信组件2716被发送。在一些示例中,音频组件2710进一步包括用于输出音频信号的扬声器。[0386]i/o接口2712提供处理组件2702和外围接口模块之间的接口。上述外围接口模块可以是键盘、点拨轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开始按钮和锁定按钮。[0387]传感器组件2714包括一个或多个传感器,用于为装置2700提供不同方面的状态评估。例如,传感器组件2714可以检测装置2700的开/关状态以及组件的相对位置。例如,组件是装置2700的显示器和键盘。传感器组件2714还可以检测装置2700或装置2700的组件的位置变化、用户在装置2700上的接触的存在或不存在、装置2700的方位或加速/减速以及装置2700的温度变化。传感器组件2714可以包括接近传感器,该接近传感器被配置为在没有任何物理触摸的情况下检测附近对象的存在。传感器组件2714可以进一步包括光学传感器,诸如在成像应用中使用的cmos或ccd图像传感器。在一些示例中,传感器组件2714可以进一步包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。[0388]通信组件2716被配置为促进装置2700和其他设备之间的有线或无线通信。装置2700可以基于诸如wifi、4g或其组合之类的通信标准来接入无线网络。在一个示例中,通信组件2716经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一个示例中,通信组件2716可以进一步包括用于促进短程通信的近场通信(nfc)模块。例如,nfc模块可以基于射频识别(rfid)技术、红外数据组织(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实施。[0389]在一个示例中,装置2700可以由专用集成电路系统(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件中的一个或多个来实施以执行上述方法。[0390]在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任意组合来实施。如果以软件来实施,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或在其上传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于有形介质(诸如数据存储介质)或者通信介质,包括例如根据通信协议来促进将计算机程序从一个地方传送到另一个地方的任何介质。以此方式,计算机可读介质通常可以对应于(1)有形的非暂时性的计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是一个或多个计算机或一个或多个处理器可以访问的任何可用介质,以检索用于实施本技术中描述的实施方案的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。[0391]另外,可以使用装置2700来实施上述方法。本公开可以包括专用硬件实施方案,诸如专用集成电路系统、可编程逻辑阵列和其他硬件设备。硬件实施方案可以被构造成实施本文描述的一个或多个方法。可以包括各种实施方式的装置和系统的示例可以广泛地包括各种电子和计算系统。本文描述的一个或多个示例可以使用两个或多个特定的互连硬件模块或设备与相关的控制和数据信号来实施功能,相关的控制和数据信号可以在模块之间或通过模块被传送,或者作为专用集成电路系统的一部分。相应地,所公开的装置或系统可以包含软件、固件和硬件实施方案。术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可以包括存储器(共享的、专用的或组),该存储器存储可以由一个或多个处理器执行的代码或指令。本文中所指的模块可以包括具有或不具有所存储的代码或指令的一个或多个电路。模块或电路可以包括一个或多个被连接的组件。[0392]考虑到这里公开的本发明的说明书和实践,本发明的其他实施例对于本领域技术人员来说将是明显的。本技术意图覆盖本发明的任何变型、使用或适配,这些变型、使用或适配遵循本发明的一般原理,并且包括如落入本领域的已知或常规实践内的与本公开的偏离。所意图的是,本说明书和示例被认为仅仅是示例性的,本发明的真实范围和精神由所附权利要求来指示。[0393]将领会的是,本发明不限于上文所描述以及附图中所图示的确切示例,并且在不脱离其范围的情况下,可以进行各种修改和改变。所意图的是,本发明的范围仅由所附权利要求来限定。当前第1页12当前第1页12
技术特征:
1.一种用于视频编解码的方法,包括:将当前图片划分为一个或多个编码单元cu;获得当前cu的亮度分量在映射域中的多个预测样点,所述当前cu在具有色度缩放的亮度映射lmcs框架下通过联合帧间帧内预测ciip模式被编码;获得所述当前cu的所述亮度分量在所述映射域中的多个残差样点;将所述当前cu的所述亮度分量在所述映射域中的所述多个预测样点加到所述映射域中的所述多个残差样点,得到所述亮度分量在所述映射域中的多个重建样点;基于预定义的多个逆映射缩放因子,将所述亮度分量的所述多个重建样点从映射域转换到原始域;以及基于所述原始域的多个重建样点,获取所述当前cu的预测信息,以形成视频比特流输出。2.根据权利要求1所述的方法,其中获得所述当前cu的所述亮度分量在所述映射域中的所述多个预测样点包括:从所述当前cu的时间参考图片中导出所述当前cu的所述亮度分量在所述原始域中的多个帧间预测样点;通过基于预定义的编解码位深度和处于预定义的前向映射精度中的预定义的多个前向映射缩放因子,将所述亮度分量的所述多个帧间预测样点从所述原始域转换到所述映射域,而获得经转换的帧间预测样点;计算所述当前cu的所述亮度分量在所述映射域中的多个帧内预测样点;以及将所述当前cu的所述亮度分量在所述映射域中的所述多个预测样点导出为所述经转换的帧间预测样点和所述多个帧内预测样点的加权平均。3.根据权利要求2所述的方法,其中基于所述预定义的编解码位深度和处于所述预定义的前向映射精度中的所述预定义的多个前向映射缩放因子,将所述亮度分量的所述多个帧间预测样点从所述原始域转换到所述映射域包括:使用所述预定义的多个前向映射缩放因子将所述亮度分量的所述多个帧间预测样点从所述原始域转换到所述映射域;以及将所述亮度分量在所述映射域中的所述多个帧间预测样点裁剪到所述预定义的编解码位深度的动态范围。4.根据权利要求2所述的方法,其中所述预定义的前向映射精度是11位。5.一种计算设备,包括:一个或多个处理器;耦合到所述一个或多个处理器的非暂时性存储器;以及存储在所述非暂时性存储器中的多个程序,当由所述一个或多个处理器执行时,所述多个程序使得所述计算设备对所获取的视频比特流执行权利要求1-4中任一项所述的方法。6.一种存储用于由具有一个或多个处理器的计算设备执行的多个程序的非暂时性计算机可读存储介质,其中当由所述一个或多个处理器执行时,所述多个程序使得所述计算设备对所获取的视频比特流执行权利要求1-4中任一项所述的方法。7.一种计算机程序产品,包括指令,所述指令当由一个或多个处理器执行时,使得所述
一个或多个处理器对所获取的视频比特流执行权利要求1-4中任一项所述的方法。8.一种非暂时性计算机可读存储介质,存储用于由具有一个或多个处理器的视频编码设备执行的多个程序,其中,当被所述一个或多个处理器执行时,所述多个程序使得所述视频编码设备执行根据权利要求1-4中任一项所述的方法,获取对应的视频比特流并存储在所述非暂时性计算机可读存储介质中。

技术总结
提供了用于校正由LMCS引入的前向映射编解码位长度问题的方法和设备。在一种方法中,获得在LMCS框架下通过CIIP模式被编码的CU的亮度分量在映射域中的多个预测样点,获得CU的亮度分量在映射域中的多个残差样点,将CU的亮度分量在映射域中的多个预测样点加到映射域中的多个残差样点,从而产生亮度分量在映射域中的多个重建样点,以及基于预定义的多个逆映射缩放因子将亮度分量的多个重建样点从映射域转换到原始域。域转换到原始域。域转换到原始域。


技术研发人员:修晓宇 陈漪纹 马宗全 朱弘正 陈伟 王祥林 于冰
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2021.06.24
技术公布日:2023/9/9
版权声明

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

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

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

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

分享:

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

相关推荐