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

色度残差缩放的延迟降低方法和装置与流程

2021-11-10 03:17:00 来源:中国专利 TAG:
色度残差缩放的延迟降低方法和装置1.【相关申请的交叉引用】2.本发明要求2019.3.15提交的申请号为no.62/818,799的美国临时专利申请、2019.3.23提交的申请号为62/822,866的美国临时专利申请、2019.4.24提交的申请号为62/837,773的美国临时专利申请、2019.6.19提交的申请号为no.62/863,333的美国临时专利申请、2019.6.26提交的申请号为no.62/866,710的美国临时专利申请、2019.7.4提交的申请号为no.62/870,757的美国临时专利申请的优先权。该美国临时专利申请的内容通过引用一并并入本说明书中。【
技术领域
:】3.本发明涉及用于彩色视频数据的视频编解码,其中亮度映射被应用于亮度分量。特别地,本发明公开了用于导出和/或发信用于色度残差缩放的一个或多个色度缩放因子(scalingfactor)的技术。
背景技术
::4.多功能视频编解码(vvc)是由联合视频专家组开发的新兴视频编解码标准,该联合视频专家组由itu‑t第16研究组视频编解码专家组和iso/iecjtc1sc29/wg11(运动图像专家组(movingpictureexpertsgroup,简写为mpeg))组成。vvc基于hevc(高效视频编解码)视频标准,具有改进和新的编解码工具。例如,重塑(reshap)过程是vtm‑4.0(vvc测试模型4.0版)中采用的新编解码工具。重塑过程也称为lmcs(亮度映射和色度缩放(lumamappingandchromascaling))。当应用重塑时,视频样本在环路滤波(loopfilter)之前在重塑域中进行编解码和重建。通过使用逆重塑,将重塑域重建的样本转换为原始域。经环路滤波的原始域重建样本存储在解码图片缓冲器中。对于帧间模式(intermode),通过使用前向重塑(forwardreshaping)将运动补偿(mc)预测子转换为重塑域。图1示出了在解码器侧的重塑过程的示例。5.如图1所示,数据流由cabac(上下文自适应二进制算术编解码)解码器(即cabac‑1)、逆量化(即q‑1)和逆变换(t‑1)得出重建的亮度残差yres。重建的亮度残差被提供给亮度重建块120以生成重建的亮度信号。对于帧内模式,预测子来自帧内预测块130。对于帧间模式,预测子来自运动补偿块140。由于将重塑应用于编码器侧的亮度信号,在将来自运动补偿块140的预测子提供给重建块120之前,将前向重塑150用于该预测子。将逆重塑160应用于来自重建块120的重建的亮度信号以恢复未塑(un‑shaped)的重建的亮度信号。然后,在将信号存储在解码图片缓冲器(dpb)180中之前,将环路滤波器170应用于未塑的重建亮度信号。6.当应用重塑时,色度残差缩放也被应用。色度残差缩放可补偿亮度信号与色度信号之间的相互作用,如图2所示。在图2中,上部对应于亮度解码,下部对应于色度解码。7.分别根据以下方程在编码器侧和解码器侧在tu级别应用色度残差缩放:8.编码器侧:cresscale=cres*cscale=cres/cscaleinv(1)9.解码器侧:cres=cresscale/cscale=cresscale*cscaleinvꢀꢀ(2)10.在以上等式中,cres是原始色度残差信号,cresscale是缩放的色度残差信号。cscale是使用fwdlut(即,前向查找表(forwardlook‑uptable))针对帧间模式预测子计算的缩放因子,并且被转换为其倒数cscaleinv以在解码器侧进行乘法而非除法,从而降低了实现复杂度。编码器和解码器端的缩放操作均通过定点整数算法(fixed‑pointintegerarithmetic)通过以下公式实现:11.c’=sign(c)*((abs(c)*s 2cscale_fp_prec‑1)>>12.cscale_fp_prec)ꢀꢀꢀꢀꢀꢀꢀ(3)13.在上式中,c是色度残差,s是cscaleinv[pieceidx]中的色度残差缩放因子,pieceidx由tu的相应平均亮度值决定,cscale_fp_prec是用于指定精度的常数。为了得出缩放因子,使用了整个tu的预测子。c_scaleinv的值是按照以下步骤计算的:[0014]如果是帧内模式,则计算帧内预测亮度值的平均值;如果是帧间模式,则计算前向重塑的帧间预测亮度值的平均值。换句话说,在重塑域中计算平均亮度值acgy′tu。[0015]找到索引idx,其中avgy′tu属于逆映射pwl。[0016]cscaleinv=cscaleinv[idx][0017]由图2中的块210执行导出色度缩放因子cscaleinv的步骤。导出的色度缩放因子cscaleinv用于转换缩放的色度残差,其通过cabac(上下文自适应二进制算术编解码)解码(即cabac‑1)、逆量化(即q‑1)和逆变换(t‑1)来重建。重建块220通过将预测子添加到重建的色度残差来重建色度信号。对于帧内模式,预测子来自帧内预测块230。对于帧间模式,预测子来自运动补偿块240。然后,在将重建的色度信号存储在色度解码图片缓冲器(decodedpicturebuffer,简写为dpb)280中之前,将环路滤波器270应用于该信号。[0018]图3示出了亮度映射的示例。在图3a中,示出了1:1映射,其中输出(即,重塑的亮度)与输入相同。由于亮度样本的直方图通常不是平坦的,因此使用强度重塑可以帮助提高rdo(rate‑distortionoptimization,速率失真优化)方面的性能。针对图像区域(例如图片)计算亮度样本的统计量。然后根据统计确定映射曲线。通常,使用分段线性(piece‑wiselinear,简写为pwl)映射曲线。图3b示出了具有3个片段的分段线性(pwl)映射的示例,其中两个相邻片段具有不同的斜率。虚线340对应于1:1映射。如果范围从0到340的样本具有较大的空间变异(spatialvariance)并且出现的次数(numberofoccurrences)较小,则将输入范围0‑340映射到较小的输出范围(即0‑170),如图3b的线段310所示。如果范围从340到680的样本具有较小的空间变异并且出现次数较大,则将输入范围340‑680映射到较大的输出范围(即170‑850),如图3b的线段320所示。如果范围从680到1023的样本具有较大的空间变异并且出现的次数较小,则将输入范围680‑1023映射到较小的输出范围(即850‑1023),如图3b的线段330所示。图3b旨在示出简单的pwl映射。实际上,pwl映射可以具有更多或更少的段。[0019]帧内子块划分(intrasub‑blockpartition,简写为isp)和子块变换(sub‑blocktransform,简写为sbt)[0020]为了生成更好的帧内模式预测子,可以应用帧内子块划分(isp)。当应用isp时,亮度分量被分为多个子tb。子tb逐个重建。对于每个子tu,相邻子tb的重建样本可以用作帧内预测的相邻重建样本。对于色度分量tb,不会像亮度那样将其分为多个子tb。[0021]类似于isp,子块变换(sbt)可以应用于帧间模式。应用sbt时,仅部分cu数据被转换。例如,可以通过水平分割或垂直分割将当前分成两个分区。只能将一个分区用于转换编解码。另一个分区的残差设置为零。例如,cu被分为两个tu或四个tu。tu中只有一个具有非零系数。[0022]lmcs参数的信令(signaling)[0023]表1中显示了vvc正在考虑的lmcs参数的语法表。[0024]表1.[0025][0026][0027]在以上语法表中,语法的语义定义如下:[0028]lmcs_min_bin_idx指定亮度映射的pwl(逐段线性)模型的最小数据子(bin)索引[0029]lmcs_delta_max_bin_idx指定介于15和lmcs中使用的最大数据子索引lmcsmaxbinidx之间的增量值(deltavalue)。该值应在1到15(含)范围内。[0030]lmcs_delta_cw_prec_minus1加1是用于表示语法lmcs_delta_abs_cw[i]的数据数。[0031]lmcs_delta_abs_cw[i]是第i个数据子的绝对增量码字值(absolutedeltacodewordvalue)。[0032]lmcs_delta_sign_cw_flag[i]是变量lmcsdeltacw[i]的正负号(sign)。[0033]变量lmcsdeltacw[i]如下导出:[0034]lmcsdeltacw[i]=[0035](1‑2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i].[0036]变量lmcscw[i]指定映射的域中每个间隔的码字的数量,其中i=0…15。其可如下导出:[0037]orgcw=(1<<bitdepthy)/16[0038]对于i=0…lmcs_min_bin_idx‑1,lmcscw[i]设置为等于0。[0039]对于i=lmcs_min_bin_idx...lmcsmaxbinidx,以下适用:[0040]lmcscw[i]=orgcw lmcsdeltacw[i][0041]lmcscw[i]的值应在(orgcw>>3)至(orgcw<<3‑1)的范围内(包括(orgcw>>3)和(orgcw<<3‑1))。[0042]对于i=lmcsmaxbinidx 1…15,lmcscw[i]设置为等于0。[0043]为了表示重塑曲线的pwl模型,如下导出三个变量lmcspivot[i](i=0…16),scalecoeff[i](i=0…15),以及invscalecoeff[i](i=0…15):[0044][0045]在以上推导中,scale_fp_prec是用于指定精度的常数值。[0046]在lmcs过程中,由于依赖于相应的亮度数据,色度残差缩放的延迟可能会对处理速度产生负面影响。因此,期望开发出减少色度残差缩放的延迟的方法和装置。技术实现要素:[0047]公开了视频解码的方法和装置。根据本发明的一种方法,接收当前色度残差块。基于并置亮度块的相邻预测或重建的亮度样本,得出一个或多个色度残差缩放因子,其中,与当前色度残差块相关联的并置亮度块的邻近预测或重建的亮度样本对应于沿并置亮度块的顶部边界的m个样本和沿并置亮度块的左边界的n个样本中的样本,其中m和n为正整数。根据导出的所述一个或多个色度残差缩放因子,将色度缩放应用于当前色度残差块的色度残差样本。[0048]在一个实施例中,并置亮度块的相邻预测或重建的亮度样本对应于沿并置亮度块的顶部边界的m个样本。在另一实施例中,并置亮度块的相邻预测或重建的亮度样本对应于沿并置亮度块的左边界的n个样本。在又一个实施例中,并置亮度块的相邻预测或重建的亮度样本既对应于沿并置亮度块的顶部边界的m个样本,又对应于沿并置亮度块的左边界的n个样本。[0049]在一个实施例中,如果在并置亮度块的左上位置处的边界样本可用,则在并置亮度块的左上位置处的边界样本用于导出所述一个或多个色度残差缩放因子。如果在并置亮度块的左上位置处的边界样本不可用,则沿并置亮度块的左边界的左边界样本或沿并置亮度块的顶部边界的顶部边界样本被用来推导表示一个或多个色度残差缩放因子。[0050]根据另一种方法,接收与图片中的当前色度处理数据单元相关联的色度残差数据,其中将图片划分为多个不重迭的处理数据单元,并且每个处理数据单元包括亮度处理数据单元和一个或多个色度处理数据单元。基于与当前色度处理数据单元相关联的并置亮度处理数据单元外部的一个或多个重建的亮度样本,得出一个或多个色度残差缩放因子。然后根据导出的所述一个或多个色度残差缩放因子,将色度缩放应用于当前色度处理数据单元的色度残差样本。根据该方法的变型,基于来自覆盖并置亮度处理数据单元的左上位置的第一编解码单元(cu)的一个或多个重建的亮度样本,导出色度残差缩放因子。[0051]在一个实施例中,在覆盖并置亮度处理数据单元的第一编解码单元(cu)外部的所述一个或多个重建的亮度样本对应于一个或多个先前编解码的亮度处理数据单元的一个或多个重建的亮度样本。在另一实施例中,所述一个或多个先前编解码的亮度处理数据单元的所述一个或多个重建的亮度样本对应于沿着覆盖并置的亮度的第一编解码单元(cu)的顶部边界的一个或多个重建的亮度样本、沿着覆盖并置的亮度的第一编解码单元(cu)的左边界的一个或多个重建的亮度样本,或两者。[0052]在一个实施例中,在并置亮度处理数据单元外部的重建的亮度样本对应于一个或多个先前解码的亮度处理数据单元的一个或多个重建的亮度样本。例如,所述一个或多个先前解码的亮度处理数据单元的重建的亮度样本对应于沿着并置亮度处理数据单元的顶部边界的一个或多个重建的亮度样本、沿着并置亮度处理数据单元的左边界的一个或多个重建的亮度样本,或两者。[0053]在又一方法中,在编码器侧的视频数据流的aps(adaptationparameterset,适应参数集)级别中信令一个或多个色度残差缩放因子,或者在解码器侧从视频数据流的aps级别解析一个或多个色度残差缩放因子。【附图说明】[0054]图1示出了结合了亮度重塑过程的视频解码器的示例性框图。[0055]图2示出了结合了亮度重塑过程和色度缩放的视频解码器的示例性框图。[0056]图3a示出了1:1亮度映射的示例,其中输出(即重塑的亮度)与输入相同。[0057]图3b示出了具有3个分段的分段线性(pwl)亮度映射的示例。[0058]图4示出了根据本发明实施例的基于沿着vpdu顶部边界、左边界或两者的参考重建的亮度样本来导出色度缩放因子的示例。[0059]图5示出了根据本发明的实施例的基于参考重建的亮度样本tl、a或l位置导出色度缩放因子的示例。[0060]图6示出了根据本发明实施例的用于基于并置亮度块的相邻预测或重建的亮度样本来推导一个或多个色度残差缩放因子的示例性解码系统的流程图。[0061]图7示出了根据本发明的一个实施例的另一示例性解码系统的流程图,其用于基于并置亮度处理数据单元外部的一个或多个重建的亮度样本来导出一个或多个色度残差缩放因子。[0062]图8示出了示例性的编解码系统的流程图,其中,根据本发明的实施例,在编码器侧的视频数据流的aps(自适应参数集)级别中信令一个或多个色度残差缩放因子,或者从解码器侧的视频数据流的aps级别解析一个或多个色度残差缩放因子。【具体实施方式】[0063]以下描述是实施本发明的最佳构想模式。进行该描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围最好通过参考所附的权利要求来确定。[0064]在色度残差缩放中,对于色度tu,所有相应的亮度预测子用于导出一个单个缩放因子。在导出缩放因子之前,无法处理色度样本重建。它为跨组件过程引入了新的数据依赖性,从而导致色度样本重建的延迟更长。在vvc中,引入了一些解码器辅助工具来完善亮度预测子,以提高编解码效率。这些类型的编解码工具还将增加重建循环的关键路径。在帧间和帧内模式预测中,cu/pu/tu的预测样本可以分为多个mxn块,并且可以按顺序或并行处理这些块。[0065]在一个实施例中,为了减少色度样本重建的延迟,对于cu/pu/tu,它仅使用其左上方的kxl亮度样本(例如,亮度预测子或亮度重建样本或亮度残差)或左上角m个亮度样本用于导出一个或多个色度残差缩放因子。k和l可以等于1、2、4、8、16、32或64。一个或多个缩放因子用于整个色度tu。例如,使用左上方的16x15亮度样本。在另一个示例中,使用了左上方的1x1亮度样本。在另一个示例中,使用了左上方的256个亮度样本。在另一个示例中,使用了左上方的1亮度样本。在另一个示例中,如果亮度cu/tu的宽度和高度大于或等于16,则使用左上16x16亮度样本;否则,最多使用256个左上角的亮度样本。在一个示例中,当应用isp时,仅使用第一个isp子tb的左上kxl块或左上m个样本来得出色度残差缩放因子。在另一个示例中,当应用sbt时,仅使用具有非零系数的tu的左上kxl块或左上m个样本来得出缩放因子。在另一个实施例中,仅一部分相应的亮度样本被用于导出色度残差缩放因子。例如,内部并置的亮度ct/tu/pu边界样本的一部分,例如内部并置的亮度ct/tu/pu边界样本的顶行(top‑row)的一部分和左列的一部分,用于导出色度剩余缩放因子。[0066]在另一个实施例中,为了减少用于cu/pu/tu的色度样本重建的延迟,仅使用沿当前tb的相邻边界样本(即,对应的亮度样本或称为并置的亮度样本)得出一个或多个色度残差缩放因子。样本可以是相邻块的预测样本或重建样本。在一实施例中,沿着顶部边界的m个样本被用于导出一个或多个色度残差缩放因子。在一实施例中,沿着左边界的n个样本被用于导出一个或多个色度残差缩放因子。在一实施例中,沿着顶部边界的m个样本和沿着左边界的n个样本被用于导出一个或多个色度残差缩放因子。在此,m和n可以是1、2、4、8、16、32或64。在另一个实施例中,使用位于l形边界左上角位置的样本来导出一个或多个色度残差缩放因子。在另一个实施例中,如果左上相邻样本可用,则使用样本。否则,使用顶部相邻样本之一或左侧相邻样本之一。在一个示例中,如果以上样本均不可用,则使用并置亮度块中的左上样本。一个或多个缩放因子用于整个色度tu。[0067]在另一个实施例中,为了减少在应用色度残差缩放时色度样本重建的延迟,建议将色度tu划分为子块,例如kxl子块或块大小等于m的子块。k和l可以是2、4、8、16或32;m可以是4、8、16、32、64、128、256、512或1024。对于每个kxl色度残差子块,都会得出一个或多个缩放因子。不同的kxl色度残差子块可以具有不同的缩放因子。例如,对于m×n块,其中m大于k(即,宽度阈值)并且n小于l(即,高度阈值),该m×n块被划分为m/k个大小为(k×n)的块。[0068]在另一实施例中,当色度残差tu的大小/面积/宽度/高度小于第一阈值或大于第二阈值时,不应用色度残差缩放。例如,当tu大小小于或等于8或16或64时,将禁用色度残差缩放。在另一个示例中,当tu宽度或高度小于或等于2或4或8或16时,将禁用色度残差缩放。在另一个示例中,当tu大小大于或等于16、64、256或1024时,禁用色度残差缩放。在另一个示例中,在tu宽度或高度大于或等于8或16或32时,禁用色度残差缩放。在另一个示例中,对于某些预测模式,色度残差缩放禁用。例如,对于启用了dmvr模式、bio模式、lic模式、扩散模式或启用这些模式的组合的块,禁用色度残差缩放。[0069]dmvr(解码器侧运动向量精化(refinement))是近年来开发的新的编解码工具。dmvr在解码器端导出mv精化信息,以提高编解码性能。bio是近年来开发的另一种新的编解码工具。bio根据光流和稳定运动的假设得出样本级运动精化,其中b切片(双向预测切片)中的当前像素由参考图片0中的一个像素和参考图片1中的一个像素预测的。lic(localilluminationcompensation,局部照明补偿)是一种使用当前块和参考块的相邻样本来执行帧间预测的方法。它基于使用缩放因子和偏移量的线性模型。[0070]在一个实施例中,当应用isp时,仅亮度子tb的一部分用于导出色度残差缩放因子。例如,仅第一亮度tb用于导出色度残差缩放因子。使用第一亮度tb生成缩放因子可以减少色度样本重建的延迟。在另一示例中,仅最后的亮度tb被用于导出色度残差缩放因子。[0071]在另一个实施例中,当应用isp时,每个亮度子tb可被视为一个单独的tb。对于每个子tb,它可以计算自己的色度残差缩放因子。以上提出的方法也可以被应用,例如,将每个亮度子tb划分为几个kxl子块,并为每个子块导出缩放因子。对于色度tb,即使在进行变换时不像亮度那样将其划分为多个子tb,但在进行色度残差缩放时,也将色度tb划分为多个子区域。每个子区域对应一个亮度tb;每个子区域对应一个或多个亮度子tb;或一个或多个色度子区域对应一个亮度子tb。对于每个色度子区域,如果将亮度子tb划分为多个子块以导出缩放因子,则可以将其进一步划分为多个子块。[0072]在另一个实施例中,当应用sbt时,仅使用具有非零系数的亮度分区导出色度残差缩放因子。所使用的亮度分区可以被划分为子块,以导出缩放因子。在另一实施例中,当应用sbt时,整个cu的亮度样本可用于导出一个或多个缩放因子。[0073]在另一个实施例中,cu(不是tu或tb)的亮度样本用于导出色度残差缩放因子。当应用isp时,整个亮度cu样本将用于得出色度残差缩放因子。例如,可以将亮度cu样本划分为子块,以针对不同的子块导出不同的缩放因子。子块可以跨越isp子tb边界。[0074]在另一个实施例中,对于应用变换或不应用变换(例如变换跳过),色度残差缩放因子推导可以不同。对于色度残差缩放因子推导,值/因子/常数或方程序可以不同。在另一个实施例中,对于不同的预测模式或不同的残差能量水平,色度残差缩放因子推导可以不同。[0075]在编码器侧,缩放因子推导通常包括推导用于量化参数的λ。在一个实施例中,整个tu预测数据用于导出λ值。对于色度残差缩放,tu仍分为子块。每个子块可以导出其自己的缩放因子。[0076]在bio和dmvr过程中,将遇到相同类型的过程问题。例如,对于bio过程,执行tu/pu/cu级别的sad(sumofabsolutedifferences,绝对差之和)计算。如果计算出的成本足够小,则可以禁用bio过程。对于dmvr过程,如果整个cu/pu/tu用于推导一个mv差(mvd),则这不是友好的设计。因此,提出了将bio与dmvr对准,或者甚至将bio和/或dmvr与色度残差缩放过程对准,这将当前块划分为kxl个块。例如,对于bio和dmvr进程,当前块分为kxl个块。对于每个kxl块,它都可以计算其bio提前终止决策的成本,也可以使用dmvr过程得出自己的mvd。在另一个示例中,对于bio或dmvr过程,当前块被划分为用于执行bio和dmvr过程的kxl块,其中kxl(以亮度样本精度为单位)的大小与色度残差缩放过程的基本单位相同。[0077]在另一个实施例中,不同模式可以在不同位置使用参考亮度样本。[0078]在一个实施例中,对于可以参考相邻的重建样本以进行预测过程的块,用于缩放值推导的参考亮度样本来自用于生成当前cu或tu的预测子的相邻的重建样本或参考边界样本。例如,如果当前块是帧内预测模式,则参考亮度样本是当前cu的左上、上,或左参考边界样本。因此,对于帧内子分区预测(isp)模式,色度残差缩放值是使用当前cu/tu(不是子分区tu)的l形边界重建样本的左上角、上或左侧边界重建样本导出的。在另一个示例中,如果当前块是帧内预测模式,则参考亮度样本是当前tu的左上参考边界样本。因此,对于帧内子分区预测(isp)模式,使用当前tu(子分区)的l形边界重建样本的左上、上或左边界重建样本来导出色度残差缩放值。左上l形边界重建样本可以是一个样本。[0079]在另一个示例中,如果当前cu是帧间预测模式,但是通过组合帧间/帧内模式(ciip)或需要相邻重建样本的其他预测方法来预测,则参考亮度样本可以是参考边界重建样本或者是用于生成当前cu或tu的预测子的参考边界样本(例如,使用左上相邻重建样本),如上所述。如本领域中已知的,ciip是近年来开发的又一种编解码工具。ciip使用帧间和帧内预测信号的加权平均值来获得ciip预测。[0080]在另一实施例中,如果当前块是帧间预测模式,则参考亮度样本可以是当前cu或tu的左上角亮度预测样本。[0081]在一个实施例中,如果是ciip模式,则参考亮度样本是帧间预测子的左上角亮度预测样本。[0082]在另一个实施例中,如果当前块是除了ciip模式之外的帧间预测模式,则参考亮度样本可以是当前cu或tu的左上角亮度预测样本。在该实施例中,以ciip模式编解码的块被视为帧内预测模式,并且可以应用与帧内预测模式有关的任何上述方法。[0083]在另一个实施例中,如果当前块是ibc模式,则参考亮度样本的判定与帧间预测模式相同。如本领域中已知的,ibc(帧内块复制)是近年来开发的新的编解码工具。ibc与帧间预测模式相似。但是,ibc使用当前帧中的参考像素,而不是使用先前已编解码帧中的参考像素。[0084]在另一个实施例中,如果当前块是ibc模式,则参考亮度样本的确定与帧内预测模式相同。[0085]当一个或多个参考亮度样本是当前cu或tu的预测样本时,可以如以上实施例中所述使用不同数量的样本。[0086]在一个实施例中,帧内和帧间预测模式的以上实施例可以被组合。[0087]在一个实施例中,对于帧内预测模式和ciip模式,参考亮度样本是用于生成帧内预测子的左上边界参考样本,并且对于除ciip模式之外的帧间预测模式,参考亮度样本是左上角亮度预测样本。[0088]在一个实施例中,对于帧内预测模式,参考亮度样本是用于生成帧内预测子的左上边界参考样本,并且对于帧间预测模式,除了ciip模式之外,参考亮度样本是左上亮度预测样本。对于ciip模式,参考亮度样本是帧间预测子的左上角亮度预测样本。换句话说,在使用之前将预测样本与帧内预测样本混合。[0089]在一个实施例中,对于帧内预测模式和ciip模式,参考亮度样本是左上、上或左(第一可用)边界重建样本,并且对于帧间预测模式(除了ciip模式),参考亮度样本是左上角的亮度预测样本。换句话说,在使用之前将预测样本与帧内预测样本混合。[0090]在另一个示例中,仅使用左上方的重建样本。[0091]如果参考样本不可用,则将缩放因子设置为默认值。在一个实施例中,默认值等于(1<<prec),其中prec是色度缩放的预测。[0092]在一个实施例中,对于帧内预测模式,参考亮度样本是左上、上或左(第一可用)边界重建样本,并且对于帧间预测模式(除了ciip模式),参考亮度样本为左上角的亮度预测样本。对于ciip模式,参考亮度样本是帧间预测子的左上角亮度预测样本。换句话说,在使用之前将预测样本与帧内预测样本混合。[0093]模式约束并有条件地禁止在根块内进行色度拆分[0094]在另一个实施例中,确定根块,并且可以将该根块的亮度分量进一步划分为较小的块。根据该实施例,根据同一根块内的亮度块的预测模式来确定是否可以进一步分割根块的色度分量。[0095]在以前的方法中,以下列出了“相同模式”定义的三种情况:[0096]情況1.相同模式意味着根块内的所有块必须为帧内预测模式、或根块内的所有块必须为帧间预测模式、或根块内的所有块必须为ibc模式。[0097]情況2.相同模式意味着根块内的所有块必须为帧内预测模式,或根块内的所有块必须为帧间预测模式以及ibc预测模式其中之一(帧间/ibc模式)。[0098]情況3.相同模式意味着根块内的所有块必须为帧内预测模式以及ibc预测模式其中之一(帧内/ibc模式),或根块内的所有块必须为帧间预测模式。[0099]在一个实施例中,如果当前根块内的所有块对于情况1、情况2和情况3分别是帧间预测模式、帧间/ibc模式和帧间预测模式,则色度分量的划分遵循亮度块。如果当前根块内的所有块对于情况1、情况2和情况3分别是帧内预测模式、帧内预测模式和帧内/ibc模式,则无法进一步拆分此根块的色度分量,因此导致多个亮度块对应一个色度块。[0100]在另一个实施例中,确定根块,并且可以将该根块的亮度分量进一步划分为较小的块。根据该实施例,是否不能进一步分割根块的色度分量。在该区域中,亮度块可以是相同模式或可以是不同模式。[0101]在一个实施例中,当不允许色度分量被进一步分割时,色度残差缩放不能被应用。在另一个实施例中,当色度分量不允许进一步分裂时,色度残差缩放仍然可以被应用。参考亮度样本的位置可以不同。在一实施例中,使用并置亮度块的左上nxm个亮度预测样本。n和m可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的顶部边界k参考样本。在另一个实施例中,使用当前根块的重建的左边界k个参考样本。k可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的左上参考样本。[0102]在另一个实施例中,当不允许色度分量被进一步分割并且色度根块以帧内模式被编解码时,色度残差缩放不能被应用。在另一示例中,当不允许色度分量进一步拆分并且以ibc模式对色度根块进行编解码时,则无法应用色度残差缩放。在另一个实施例中,当不允许色度分量进一步拆分并且以帧内模式对色度根块进行编解码时,仍然可以应用色度残差缩放。在另一个示例中,当不允许色度分量进一步拆分并且以ibc模式对色度根块进行编解码时,仍然可以应用色度残差缩放。参考亮度样本的位置可以不同。在一实施例中,使用并置亮度块的左上nxm个亮度预测样本。n和m可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的顶部边界k个参考样本。在另一个实施例中,使用当前根块的重建的左边界k个参考样本。k可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的左上参考样本。[0103]在另一个实施例中,当色度块在色度根块中时,色度残差缩放不能被应用。在另一个实施例中,当色度块在色度根块中时,仍然可以应用色度残差缩放。参考亮度样本的位置可以不同。在一实施例中,使用并置亮度块的左上nxm个亮度预测样本。n和m可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的顶部边界k个参考样本。在另一个实施例中,使用当前根块的重建的左边界的k个参考样本。k可以是1、2、4、8、16、32、64和128。在另一个实施例中,使用当前根块的重建的左上参考样本。[0104]lmcs将原始域中的样本映射到重塑域,以进行更好的数据估计。映射曲线由分段线性(pwl)模型近似(approximate)。为了将样本值从原始域转换为重塑域,使用了查找表(look‑up‑table,简写为lut)。lut的条目数量(entrynumber)与输入样本动态范围相同。例如,如果使用10数据输入,则使用1024个条目的lut。如果使用14数据输入,则使用8192个条目lut。在硬件实现中,这种lut的成本很高。因此,可以使用分段线性模型。可以将输入与多个片段中的每个片段进行比较,以找出输入所属的片段。在每个片段中,可以根据该片段的特性计算相应的输出值。[0105]根据本发明的实施例公开了lmcs的各种方法。[0106]方法1‑具有lmcs的pcm模式[0107]lmcs将原始域中的样本映射到重塑域,以进行更好的数据估计。通过分段线性模型来近似映射曲线。使用查找表(lut)将样本值从原始域转换为重塑域。lut的条目数量与输入样本动态范围相同。例如,如果使用10数据输入,则使用1024个条目的lut。如果使用14数据输入,则使用8192个条目的lut。[0108]在一个实施例中,当使用脉冲编解码调制(pulsecodemodulation,简写为pcm)编解码时,lmcs被禁用,这可以实现无损编解码。这是因为映射过程可能会引入一些数位舍入,或者在执行前向映射和后向映射后无法将其精确映射回原始值,从而导致有损编解码。根据本发明的一个实施例,以sps/pps/aps/切片/图块组/图块/图片级别发信pcm编解码的一种或多种高级语法,并在lmcs语法之前发信。当确定图块/图块组/图片/切片/序列使用pcm编解码时,与lmcs有关的语法元素(重塑工具或重塑模型)可以跳过、推断为未使用或被约束为不使用(例如,编码器约束以禁止lmcs用于pcm编解码)。[0109]在另一个实施例中,如果在图块/图块组/切片/图片/序列级区域中应用pcm编解码模式,则仍然可以应用重塑。但是,前向重塑和逆向重塑的映射表应该是恒等式映射(identitymapping),例如,输入等于输出,或映射函数为斜率等于1的线。[0110]在一个示例中,可以发信映射表,但是该映射表应当是恒等式映射表。在另一个示例中,不发信映射表。使用默认的恒等式映射表。默认映射是一个简单的相同映射,其中输入等于输出。[0111]在另一个实施例中,如果应用cu/pu/tu级pcm编解码和/或变换量化旁通模式,则应在原始域中对残差或变换后的残差进行编解码以实现pcm编解码。例如,预测子(例如,帧间模式预测子,帧内模式预测子,帧内块复制模式预测子,调色板模式预测子)也应位于原始域中。对于帧内预测或使用相邻重建样本来生成预测子的任何其他预测模式(例如,组合帧间/帧内预测),在生成预测子之前,将相邻重建样本转换为原始域。在另一个示例中,如果在重塑域中生成了预测子(例如,帧内模式预测子),则将所生成的预测子转换为原始域。在此示例中,对于帧间模式预测子,当使用pcm模式时,它将不通过前向重塑器而成为经过重塑的域的预测子。残差数据在原始域中进行编解码。语法用于指定重建的cu样本的域。因此,当应用cu/pu/tu级pcm编解码和/或变换量化旁路模式时,如果使用帧内预测进行预测,则仅重塑域中的相邻重建样本需逆映射到原始域。[0112]当在有损编解码中对当前帧内cu进行编解码时,如果相邻的重建样本在原始域中,则需要前向映射。在将邻近的重建样本映射到重塑域之后,将使用重塑的邻近的重建样本来生成帧内预测样本。[0113]在另一个实施例中,如果在有损编解码中对当前帧内cu进行了编解码,则无论相邻重建样本属于哪个域,都将相邻重建样本视为重塑样本。[0114]在另一个实施例中,如果应用cu/pu/tu级pcm编解码和/或变换量化旁通模式,则仍可在重塑域中生成预测子,但是重建样本不会被逆映射(到原始域)重建。但是,在重塑域中的重建样本应为对原始样本进行pcm得到的值。例如,对于帧内预测或使用相邻重建样本来生成预测子的任何其他预测模式,不需要将相邻样本转换回原始域。重塑域相邻样本可用于生成预测子。对于帧间预测,预测子可以像有损编解码一样通过前向映射进行转换,或者不能通过前向映射进行转换。在另一个实施例中,后向映射仍然可以被应用。但是,后向映射的映射表是相同的映射,例如斜率等于1或输出等于输入的一对一映射。[0115]在另一个实施例中,如果应用cu/pu/tu级pcm编解码和/或变换量化旁路模式,则前向和后向映射被禁用或使用相同的映射(对于所有预测模式)。在另一个实施例中,仍然可以在重塑域中对残差/预测子/重建样本进行编解码。但是,存在编码器约束或数据流一致性要求,即在应用pcm模式时,可以将重建样本转换为原始域,并且原始域重建样本应与输入样本相同。[0116]在一个实施例中,如果应用cu/pu/tu级pcm编解码和/或变换量化旁路模式,则不应用色度残差缩放,或者将缩放因子设置为1,或者缩放因子限制在一个范围内。例如,缩放因子应不大于1或不小于1。在另一个实施例中,当应用变换跳过模式时,不应用色度残差缩放。在另一个实施例中,当将变换跳过模式应用于色度分量时,不应用色度残差缩放。[0117]在另一个实施例中,如果应用cu/pu/tu级pcm编解码和/或变换量化旁路模式,则应在重塑域中对残差或变换后的残差进行编解码,其中映射表的输出与输入相同。因此,映射过程不会引入有损编解码。[0118]在另一实施例中,如果使用cu/pu/tu级pcm模式和/或变换量化旁路模式,则将相邻的重建样本转换为原始域。仍可通过重塑转换当前块的预测样本。但是,前向重塑和反向重塑的映射表应该是一对一的映射,例如输出等于输入,或者映射函数对应于斜率等于1的线。[0119]方法2‑逆缩放因子的推导[0120]在一个实施例中,逆缩放因子可以如下得出:[0121]invscalecoeff[i]=[0122]orgcw*((1<<scale_fp_prec)/lmcscw[i]).[0123]这样,由于分母的可能值的数量(例如lmcscw[i])是有限的,可以使用查找表来实现非2的幂的值的除法(例如lmcscw[i])。查找表包含(1<<scale_fp_prec)/lmcscw[i]的值。[0124]方法3‑具有默认数量的码字的lmcs[0125]在一个实施例中,可以使用默认数量的码字而不是使用orgcw(其仅取决于输入数据的数据深度)来推导映射域中每个数据子的码字数量(例如lmcscw[i])。[0126]在所提出的方法中,根据以下公式导出变量lmcscw[i],其中i=lmcs_min_bin_idx到lmcsmaxbinidx:[0127]lmcscw[i]=default_cw lmcsdeltacw[i],[0128]其中default_cw在解码器端导出或重编码器发信。[0129]在一个实施例中,如果default_cw是在解码器侧导出的,则可以根据lmcs_min_bin_idx和lmcsmaxbinidx导出它。如果小于lmcs_min_bin_idx的数据子的数量以及大于lmcsmaxbinidx的数据子的数量之和大于lmcs_min_bin_idx,则可以将default_cw调整为大于orgcw的值。[0130]例如,如果小于lmcs_min_bin_idx的数据子数量及大于lmcsmaxbinidx的数据子数量之和等于2,则default_cw导出为default_cw=orgcw a,其中a为正整数(例如1,2、3…)。[0131]如果小于lmcs_min_bin_idx的数据子数量及大于lmcsmaxbinidx的数据子数量之和等于0,则default_cw等于orgcw。[0132]在一个实施例中,如果发信了default_cw,则在lmcs_delta_cw_prec_minus1之前发信两个语法default_delta_abs_cw和default_delta_sign_cw_flag。[0133]变量default_delta_abs_cw表示default_cw和orgcw的绝对差,变量default_delta_sign_cw_flag表示增量值为正或负。仅当default_delta_abs_cw大于0时才发信default_delta_sign_cw_flag。[0134]在一个实施例中,如果发信了default_cw,则在lmcs_delta_cw_prec_minus1之前发信语法default_delta_cw。[0135]变量default_delta_cw表示default_cw与orgcw之差。[0136]方法4‑重塑曲线更新[0137]在一个实施例中,在每一帧或每隔一帧中更新重塑曲线。[0138]具有vpdu约束的色度缩放[0139]图片可被划分为几个非重迭的mxn块。这些作为处理数据单元的mxn个非重迭块称为vpdu。m和n可以是64,或者是任何预定义或发信的值,或者是与最大变换块大小有关的值。[0140]在一个实施例中,对于色度分量,色度残差缩放使用当前vpdu外部的参考亮度重建样本,例如先前编解码的vpdu。[0141]在一个实施例中,参考亮度样本可以是一个或多个区域。例如,参考样本是当前vpdu外部的kxl块。k和l可以是2、4、8、16或32。详细地说,根据本实施例,当前vpdu的大小等于min(ctbsizey,64),并且顶部边界和左侧边界的参考亮度样本数分别等于min(ctbsizey,64)。变量ctbsizey指定亮度编解码树块的亮度宽度和亮度高度。[0142]在另一个实施例中,参考重建的亮度样本沿着vpdu顶部边界或左边界或两者,如图4所示。参考亮度样本的数目是2的幂次方。[0143]在另一实施例中,参考重建的亮度样本仅仅是一个样本值。在一个实施例中,该位置可以是当前vpdu的l形边界的左上位置,例如图5中的tl位置。在另一实施例中,参考样本的位置可以是当前vpdu上面的位置,例如图5中的a位置。在另一个实施例中,参考样本的位置可以是当前vpdu的左侧位置,例如图5中的l位置。[0144]在另一实施例中,在每个vpdu中仅导出一次色度缩放,并且由每个vpdu中的第一cu导出缩放因子。详细地,vpdu的大小等于min(ctbsizey,64),并且对于min(ctbsizey,64)乘以min(ctbsizey,64)区域(即,在同一vpdu中)中的所有块,根据本实施例,用于导出色度缩放因子的参考亮度样本是相同的。变量ctbsizey指定亮度编解码树块的亮度宽度和亮度高度。[0145]在另一个实施例中,根据与当前块相对应的vpdu来导出用于色度缩放的参考编解码单元(cu)(例如,即使色度缩放缩放不适用于该cu,色度缩放也总是由vpdu中的第一cu来导出)。详细地,根据该实施例,vpdu的大小等于min(ctbsizey,64),并且参考cu覆盖当前vpdu的左上位置。参考亮度样本包括沿参考cu顶部边界的min(ctbsizey,64)重建的亮度样本和沿参考cu左侧边界的min(ctbsizey,64)亮度重建样本。在另一实施例中,如果没有将色度缩放应用于当前vpdu中的第一cu,则缩放因子被设置为默认值。在一个实施例中,默认值等于(1<<prec),其中prec是色度缩放的预测。[0146]在另一个实施例中,色度缩放因子在图片/切片级别中共享。在另一实施例中,色度缩放因子在aps水平中共享。换句话说,对于每个发信的映射曲线,导出一个色度缩放因子。在一个示例中,通过对所有间隔(片段)中的缩放因子求平均来完成针对每个重塑曲线的色度缩放因子的推导。在另一个实施例中,通过选择所有间隔(片段)中的大多数缩放因子来得出缩放因子。在另一实施例中,通过直接将最大亮度样本与最小亮度样本之间的差除以重塑域中的最大亮度样本与重塑域中的最小亮度样本之间的差来得出缩放因子。[0147]具有减少的延迟的亮度残差[0148]代替映射亮度预测样本,该映射可以仅应用于亮度残差。换句话说,亮度分量的预测样本在原始域中,并且亮度分量的残差将通过缩放因子缩放。通过在不同位置或以不同方式引用亮度预测样本来得出缩放因子。建议用于色度缩放的以上方法也可以应用于亮度残差缩放。[0149]在另一个实施例中,缩放因子是两个连续间隔的两个缩放因子的平均值。[0150]在一个实施例中,用于亮度残差缩放和色度残差缩放的缩放因子相同。[0151]信令色度缩放因子[0152]替代在解码器侧隐式地导出色度缩放因子,本发明的实施例在tb、tu、cu、ctu、vpdu、切片级别、块级或aps级别发信色度缩放因子。[0153]在一个实施例中,在一个aps中发信一个或多个色度缩放因子。[0154]在一个实施例中,如果以tu级别发信色度缩放因子,并且如果cb和cr的cbfs(编码块标记)都等于0,则不发信色度缩放因子。[0155]在另一个实施例中,如果以tu级别发信色度缩放因子,并且如果根cbf等于0,则不发信色度缩放因子。[0156]在一个实施例中,如果针对色度cb分量在tb级别发信色度缩放因子,并且如果cb的cbf等于0,则不发信色度缩放因子;对于色度cr分量,如果cr的cbf等于0,则不发信色度缩放因子。[0157]在一些实施例中,视频编码器必须遵循前述语法设计以便生成合法数据流,并且仅在解析过程符合前述语法设计的情况下,视频解码器才能够正确地解码数据流。当在数据流中跳过语法时,编码器和解码器应将语法值设置为推断值,以确保编码和解码结果匹配。[0158]图6示出了根据本发明实施例的用于基于并置亮度块的相邻预测或重建的亮度样本来推导一个或多个色度残差缩放因子的示例性解码系统的流程图。流程图中所示的步骤以及本公开中的其他后续流程图可被实现为可在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个cpu)上执行的程序码。流程图中所示的步骤也可以基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤610中接收当前色度残差块。在步骤620中,基于与当前色度残差块相关联的并置亮度块的相邻预测或重建的亮度样本,导出一个或多个色度残差缩放因子,其中并置亮度块的相邻预测或重建的亮度样本对应于并置亮度块顶部边界的m个样本和并置亮度块左侧边界的n个样本中的样本,其中m和n为正整数。然后在步骤630中,根据所述一个或多个色度残差缩放因子,将色度缩放应用于当前色度残差块的色度残差样本。[0159]图7示出了根据本发明的实施例的另一示例性解码系统的流程图,该解码系统用于基于并置亮度处理数据单元外部的一个或多个重建的亮度样本来导出一个或多个色度残差缩放因子。根据该方法,在步骤710中接收与图片中的当前色度处理数据单元相关联的色度残差数据,其中,将图片划分为多个不重迭的处理数据单元,并且每个处理数据单元包括一个亮度处理数据单元和一个或多个色度处理数据单元。在步骤720中,基于与当前色度处理数据单元相关联的并置亮度处理数据单元外部的一个或多个重建的亮度样本,得出一个或多个色度残差缩放因子。在步骤730中,根据所述一个或多个色度残差缩放因子将色度缩放应用于当前色度处理数据单位的色度残差样本。[0160]图8示出了示例性的编解码系统的流程图,其中,根据本发明的实施例在编码器侧的视频数据流的aps(自适应参数集)级别中发信一个或多个色度残差缩放因子,或者自解码器侧的视频数据流的aps级别解析一个或多个色度残差缩放因子。根据该方法,在步骤810中接收当前色度残差块。在步骤820中,在视频数据流的aps(自适应参数集)级别中发信一个或多个色度残差缩放因子,或者在其视频数据流的aps级别中中解析所述一个或多个色度残差缩放因子。在步骤830中,将色度缩放应用于当前色度残差块的色度残差样本。[0161]所示的流程图旨在说明根据本发明的视频编解码的示例。本领域技术人员可以修改每个步骤,重新布置步骤,拆分步骤或组合步骤以实践本发明,而不背离本发明的精神。在本公开中,已经使用特定的语法和语义来说明用于实现本发明的实施例的示例。本领域技术人员可以通过用等效的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。[0162]呈现以上描述是为了使本领域技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其他实施例。因此,本发明并不旨在限于所示出和描述的特定实施例,而是与和本文所公开的原理和新颖特征相一致的最广范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。[0163]如上所述的本发明的实施例可以以各种硬件、软件编解码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电子电路或集成到视频压缩软件中以执行本文所述的处理的程序代码。本发明的实施例还可以是将在数字信号处理器(dsp)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fpga)执行的许多功能。通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码,可以将这些处理器配置为执行根据本发明的特定任务。可以以不同的编程语言和不同的格式或样式来开发软件代码或固件代码。也可以针对不同的目标平台来编译软件代码。然而,不同的编解码格式、软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。[0164]在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前面的描述指示。落入权利要求等同含义和范围内的所有改变均应包含在其范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献