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

视频处理中的整形模型的制作方法

2021-10-24 06:18:00 来源:中国专利 TAG:公开 编解码 申请 专利法 优先权

视频处理中的整形模型
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求2019年3月8日提交的国际专利申请no.pct/cn2019/077429的优先权和权益。根据法律,将上述申请的全部公开以参考方式并入本文,作为本技术公开的一部分。适用于视频编解码。
技术领域
3.本专利文件涉及视频编解码技术、设备和系统。


背景技术:

4.目前,正在努力提高当前视频编解码器技术的性能,以提供更好的压缩比,或提供允许较低复杂度或并行实现的视频编解码和解码方案。业内专家最近提出了几种新的视频编解码工具,目前正在进行测试,以确定它们的有效性。


技术实现要素:

5.与数字视频编解码相关的设备、系统和方法,特别是与量化步进信令通知和基于块的环路整形与视频编解码中的其他工具的交互相关的设备、系统和方法。它可以应用于现有的视频编解码标准(如hevc),或待定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
6.在一个代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:为视频的视频区域的多个视频单元和所述多个视频单元的编解码表示之间的转换,确定由所述多个视频单元共同共享的整形模型信息;以及执行所述视频的编解码表示和所述视频之间的转换,其中,所述整形模型信息提供用于第一域和第二域中构建视频样点、和/或缩放色度视频单元的色度残差的信息。
7.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:为包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,将整形模型信息中的变量的值确定为所述视频的比特深度的函数;以及基于所述确定执行所述转换,其中所述整形信息适用于所述一个或多个视频区域中的一些的环路整形(ilr),并且其中,所述整形信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息。
8.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的视频单元的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,已基于初始化规则初始化所述整形模型信息。
9.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包
括:为包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,确定启用或禁用环路整形(ilr);以及基于所述确定执行所述转换,并且其中,所述编解码表示包括适用于所述一个或多个视频区域中的一些的所述ilr的整形模型信息,并且其中,所述整形模型信息提供用于基于第一域和第二域重构视频区域、和/或缩放色度视频单元的色度残差的信息,并且其中,在未初始化所述整形模型信息的情况下,所述确定决定禁用所述ilr。
10.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,其中,仅当所述视频区域使用特定编解码类型编解码时,才在所述编解码表示中包括所述整形模型信息。
11.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:为视频的第一视频区域和所述第一视频区域的编解码表示之间的转换,基于规则确定是否可将来自第二视频区域的整形信息用于所述转换;以及根据所述确定执行所述转换。
12.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行视频的视频区域和所述视频区域的编解码表示之间的转换,使得使用帧内编解码对所述当前视频区域进行编解码,其中,所述编解码表示符合格式规则,所述格式规则指定所述编解码表示中的整形模型信息有条件地基于视频区域级的所述编解码表示中的标志的值。
13.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括语法元素,所述语法元素指定允许的最大二进制数索引和将在所述重构中使用的最大二进制数索引之间的差,并且其中,所述参数在一个范围内。
14.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,其中,所述整形模型信息包括参数集,所述参数集包括将用于所述重构的最大二进制数索引,并且其中,将所述最大二进制数索引导出为第一值,所述第一值等于将在所述重构中使用的最小二进制数索引和是无符号整数并且在所述最小二进制数索引之后信令通知的语法元素的和。
15.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数
集,所述参数集包括第一语法元素,所述第一语法元素导出用于表示第二语法元素的比特的数量,所述第二语法元素指定来自对应的二进制数的绝对增量码字值,并且其中,所述第一语法元素的值小于阈值。
16.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括第i个参数,所述第i个参数表示所述ilr中使用的第i个二进制数的斜率、并且具有基于第(i

1)个参数的值,i是正整数。
17.在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,用于所述ilr的所述整形模型信息包括参数集,所述参数集包括reshape_model_bin_delta_sign_cw[i],不信令通知所述reshape_model_bin_delta_sign_cw[i]并且rspdeltacw[i]=reshape_model_bin_delta_abs_cw[i]始终为正数。
[0018]
在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括取决于所述视频区域的颜色格式将亮度值用于所述缩放的参数invavgluma。
[0019]
在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行视频的当前视频块和所述视频的编解码表示之间的转换,其中所述转换包括将重构图片亮度样点变换为修改的重构图片亮度样点的图片反向映射处理,其中,所述图片反向映射处理包括剪切,其中将上边界和下边界设置为彼此分离。
[0020]
在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括受约束使得pivot[i]<=t的枢轴量。
[0021]
在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于环路整形(ilr)的信息,并且提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的参数,并且其中,色度
量化参数(qp)具有针对每个块或变换单元导出其值的偏移。
[0022]
在另一代表性方面,所公开的技术可用于提供用于视频处理的方法。所述方法包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于环路整形(ilr)的信息,并且提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的参数,并且其中,亮度量化参数(qp)具有针对每个块或变换单元导出其值的偏移。
[0023]
上述公开方法中的一个或多个可以是编码器侧实现或解码器侧实现。
[0024]
此外,在代表性方面,公开了一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器。在所述处理器执行所述指令时,所述指令使所述处理器实现所公开的方法的任一项或多项。
[0025]
此外,还公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实现所公开的方法的任一项或多项的程序代码。
[0026]
在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面及特征。
附图说明
[0027]
图1示出了构建merge候选列表的示例。
[0028]
图2示出了空域候选的位置的示例。
[0029]
图3示出了经受空域merge候选的冗余检查的候选对的示例。
[0030]
图4a和4b示出了基于当前块的尺寸和形状的第二预测单元(pu)的位置的示例。
[0031]
图5示出了时域merge候选的运动矢量缩放的示例。
[0032]
图6示出了时域merge候选的候选位置的示例。
[0033]
图7示出了生成组合双向预测merge候选的示例。
[0034]
图8示出了构建运动矢量预测候选的示例。
[0035]
图9示出了空域运动矢量候选的运动矢量缩放的示例。
[0036]
图10示出了可选时域运动矢量预测(atmvp)的示例。
[0037]
图11示出了空时运动矢量预测的示例。
[0038]
图12示出了用于导出局部照明补偿参数的临近样点的示例。
[0039]
图13a和13b分别示出了与4参数仿射模型和6参数仿射模型相关的图示。
[0040]
图14示出了每个子块的仿射运动矢量场的示例。
[0041]
图15a和15b分别示出了4参数仿射模型和6参数仿射模型的示例。
[0042]
图16示出了继承仿射候选的仿射帧间模式的运动矢量预测的示例。
[0043]
图17示出了构建仿射候选的仿射帧间模式的运动矢量预测的示例。
[0044]
图18a和18b示出了与仿射merge模式相关的图示。
[0045]
图19示出了仿射merge模式的候选位置的示例
[0046]
图20示出了最终矢量表达(umve)搜索处理的示例。
[0047]
图21示出了umve搜索点的示例。
[0048]
图22示出了解码器侧运动视频细化(dmvr)的示例。
[0049]
图23示出了使用整形步骤的解码的框图流程图。
[0050]
图24示出了双边滤波器中的样点的示例。
[0051]
图25示出了用于权重计算的窗口样点的示例。
[0052]
图26示出了扫描图案的示例。
[0053]
图27a和27b是用于实现本文所述的视觉媒体处理的硬件平台的示例的框图。
[0054]
图28a至28e示出了基于所公开技术的一些实现的视频处理的示例方法的流程图。
具体实施方式
[0055]
1.hevc/h.265中的视频编解码
[0056]
视频编解码标准主要是通过开发众所周知的itu

t和iso/iec标准而发展起来的。itu

t制作了h.261和h.263,iso/iec制作了mpeg

1和mpeg

4 visual,并且这两个组织联合制作了h.262/mpeg

2视频和h.264/mpeg

4高级视频编解码(avc)和h.265/hevc标准。自h.262开始,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索团队(jvet)。从那时起,jvet采用了许多新的方法,并将其应用到了名为联合探索模型(jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间的联合视频专家团队(jvet)成立,以致力于目标是与hevc相比其降低50%比特率的vvc标准。可以在以下位置找到vvc草案的最新版本(即,多功能视频编解码(草案2)):
[0057]
http://phenix.it

sudparis.eu/jvet/doc_end_user/documents/11_ljubljana/wg11/jvet

k1001

v7.zip
[0058]
可以在以下位置找到vvc的最新参考软件(名为vtm):
[0059]
https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm

2.1
[0060]
2.1hevc/h.265中的帧间预测
[0061]
每个帧间预测的pu都有一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。两个参考图片列表之一的使用也可以使用inter_pred_idc信令通知。运动矢量可显式地编解码为相对于预测器的增量。
[0062]
当cu使用跳过模式编解码时,一个pu与cu相关联,并且没有显著的残差系数,没有编解码运动矢量增量或参考图片索引。指定了一种merge模式,通过该模式,可以从临近的pu(包括空域和时域候选)中获取当前pu的运动参数。merge模式可以应用于任何帧间预测的pu,而不仅仅是跳过模式。merge模式的另一种选择是运动参数的显式传输,其中运动矢量(更精确地,与运动矢量预测器相比的运动矢量差(mvd))、每个参考图片列表的对应的参考图片索引、以及参考图片列表的使用都会根据每个pu显式地信令通知。在本公开中,这样的模式被命名为高级运动矢量预测(amvp)。
[0063]
当信令指示要使用两个参考图片列表中的一个时,从一个样点块中产生pu。这被称为“单向预测”。单向预测对p条带(slice)和b条带都可用。
[0064]
当信令指示要使用两个参考图片列表时,从两个样点块中产生pu。这被称为“双向预测”。双向预测仅对b条带可用。
[0065]
下文提供了在hevc中规定的关于帧间预测模式的细节。描述将从merge模式开始。
[0066]
2.1.1参考图片列表
[0067]
在hevc中,术语帧间预测用于表示从除了当前解码图片之外的参考图片的数据元
素(例如,样点值或运动矢量)导出的预测。如在h.264/avc中一样,可以从多个参考图片预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考索引标识列表中的哪些参考图片应用于创建预测信号。
[0068]
单个参考图片列表(列表0)被用于p条带,并且两个参考图片列表(列表0和列表1)被用于b条带。需要注意的是,列表0/1中包含的参考图片就捕获/显示顺序而言可以来自过去和将来的图片。
[0069]
2.1.2 merge模式
[0070]
2.1.2.1 merge模式的候选的导出
[0071]
当使用merge模式预测pu时,从比特流中解析指向merge候选列表中条目的索引,并且使用该索引检索运动信息。在hevc标准中规定了此列表的构建,并且可按以下步骤顺序进行概括:
[0072]
步骤1:初始候选导出
[0073]
步骤1.1:空域候选导出
[0074]
步骤1.2:空域候选冗余检查
[0075]
步骤1.3:时域候选导出
[0076]
步骤2:附加候选插入
[0077]
步骤2.1:创建双向预测候选
[0078]
步骤2.2:插入零运动候选
[0079]
在图1中也示意性地示出了这些步骤。对于空域merge候选导出,在位于五个不同位置的候选中最多选择四个merge候选。对于时域merge候选导出,在两个候选中最多选择一个merge候选。由于在解码器处假定每个pu的候选数为常量,因此当从步骤1获得的候选数未达到条带头中信令通知的最大merge候选数(maxnummergecand)时,生成附加的候选。由于候选数是恒定的,所以最佳merge候选的索引使用截断的一元二值化(tu)进行编码。如果cu的尺寸等于8,则当前cu的所有pu都共享一个merge候选列表,这与2n
×
2n预测单元的merge候选列表相同。
[0080]
在下文中,详细描述与前述步骤相关联的操作。
[0081]
2.1.2.2空域候选导出
[0082]
在空域merge候选的导出中,在位于图2所示位置的候选中最多选择四个merge候选。导出顺序为a1,b1,b0,a0和b2。只有当位置a1,b1,b0,a0的任何pu不可用(例如,因为它属于另一个条带或片)或是帧内编解码时,才考虑位置b2。在增加a1位置的候选后,对剩余候选的增加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编解码效率。为了降低计算的复杂度,在所提到的冗余检查中并不考虑所有可能的候选对。相反,只有与图3中的箭头链接的对才会被考虑,并且只有当用于冗余检查的对应候选没有相同的运动信息时,才将候选添加到列表中。复制运动信息的另一个来源是与2nx2n不同的分割相关联的“第二pu”。例如,图4a和4b分别描述了n
×
2n和2n
×
n情况下的第二pu。当当前的pu被分割为n
×
2n时,对于列表构建不考虑a1位置的候选。实际上,通过添加此候选将可能导致两个具有相同运动信息的预测单元,这对于在编解码单元中仅具有一个pu是冗余的。类似地,当当前pu被分割为2n
×
n时,不考虑位置b1。
[0083]
2.1.2.3时域候选导出
[0084]
在此步骤中,只有一个候选添加到列表中。特别地,在这个时域merge候选的导出中,基于属于与给定参考图片列表内当前图片具有最小poc差的图片的并置pu导出缩放运动矢量。用于导出并置pu的参考图片列表在条带头中显式地信令通知。获取时域merge候选的缩放运动矢量(如图5中虚线所示),其使用poc距离tb和td从并置pu的运动矢量进行缩放,其中tb定义为当前图片的参考图片和当前图片之间的poc差,并且td定义为并置图片的参考图片与并置图片之间的poc差。时域merge候选的参考图片索引设置为零。hevc规范中描述了缩放处理的实际实现。对于b条带,得到两个运动矢量(一个是对于参考图片列表0,另一个是对于参考图片列表1)并将其组合使其成为双向预测merge候选。
[0085]
在属于参考帧的并置pu(y)中,在候选c0和c1之间选择时域候选的位置,如图6所示。如果位置c0处的pu不可用、帧内编解码或在当前编解码树单元(ctu也称为lcu,最大编解码单元)行之外,则使用位置c1。否则,位置c0被用于时域merge候选的导出。
[0086]
2.1.2.4附加候选插入
[0087]
除了空域和时域merge候选,还有两种附加类型的merge候选:组合双向预测merge候选和零merge候选。组合双向预测merge候选是利用空域和时域merge候选生成的。组合双向预测merge候选仅用于b条带。通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数相结合,生成组合双向预测候选。如果这两个元组提供不同的运动假设,它们将形成新的双向预测候选。作为示例,图7示出了该情形,其中原始列表(在左侧)中具有mvl0和refidxl0或mvl1和refidxl1的两个候选被用于创建添加到最终列表(在右侧)中的组合双向预测merge候选。定义了许多关于被认为生成这些附加merge候选的组合的规则。
[0088]
插入零运动候选以填充merge候选列表中的其余条目,从而达到maxnummergecand的容量。这些候选具有零空域位移和从零开始并且每次将新的零运动候选添加到列表中时都会增加的参考图片索引。最后,对这些候选不执行冗余检查。
[0089]
2.1.3 amvp
[0090]
amvp利用运动矢量与临近的pu的空时相关性,其用于运动参数的显式传输。对于每个参考图片列表,首先通过检查左上方的时域临近的pu位置的可用性、去掉多余的候选并且加上零矢量以使候选列表长度恒定来构建运动矢量候选列表。然后,编码器可以从候选列表中选择最佳的预测器,并发送指示所选候选的对应索引。与merge索引信令通知类似,最佳运动矢量候选的索引使用截断的一元进行编码。在这种情况下,要编码的最大值是2(例如,参见图8)。在以下各章节中,提供了关于运动矢量预测候选的导出处理的细节。
[0091]
2.1.3.1 amvp候选的导出
[0092]
图8概括了运动矢量预测候选的导出处理。
[0093]
在运动矢量预测中,考虑了两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选的导出,基于位于图2所示的五个不同位置的每个pu的运动矢量最终导出两个运动矢量候选。
[0094]
对于时域运动矢量候选的导出,从两个候选中选择一个运动矢量候选,这两个候选是基于两个不同的并置位置导出的。在做出第一空时候选列表后,移除列表中重复的运动矢量候选。如果潜在候选的数量大于二,则从列表中移除相关联的参考图片列表内参考图片索引大于1的运动矢量候选。如果空时运动矢量候选数小于二,则会在列表中添加附加
的零运动矢量候选。
[0095]
2.1.3.2空域运动矢量候选
[0096]
在导出空域运动矢量候选时,在五个潜在候选中考虑最多两个候选,这五个潜在候选从图2所示位置上的pu导出,这些位置与运动merge的位置相同。当前pu左侧的导出顺序定义为a0、a1、以及缩放的a0、缩放的a1。当前pu上侧的导出顺序定义为b0、b1、b2、缩放的b0、缩放的b1、缩放的b2。因此,每侧有四种情况可以用作运动矢量候选,其中两种情况不需要使用空域缩放,并且两种情况使用空域缩放。四种不同的情况概括如下:
[0097]
‑‑
无空域缩放
[0098]
(1)相同的参考图片列表,并且相同的参考图片索引(相同的poc)
[0099]
(2)不同的参考图片列表,但是相同的参考图片(相同的poc)
[0100]
‑‑
空域缩放
[0101]
(3)相同的参考图片列表,但是不同的参考图片(不同的poc)
[0102]
(4)不同的参考图片列表,并且不同的参考图片(不同的poc)
[0103]
首先检查无空域缩放的情况,然后检查空域缩放。当poc在临近pu的参考图片与当前pu的参考图片之间不同时,都会考虑空域缩放,而不管参考图片列表如何。如果左侧候选的所有pu都不可用或是帧内编解码,则允许对上述运动矢量进行缩放,以帮助左侧和上方mv候选的并行导出。否则,不允许对上述运动矢量进行空域缩放。
[0104]
在空域缩放处理中,以与时域缩放类似的方式缩放临近pu的运动矢量,如图9所示。主要区别是,给出当前pu的参考图片列表和索引作为输入;实际的缩放处理与时域缩放处理相同。
[0105]
2.1.3.3时域运动矢量候选
[0106]
除了参考图片索引的导出外,时域merge候选的所有导出处理与空域运动矢量候选的导出相同(参见图6)。将参考图片索引信令通知给解码器。
[0107]
2.2 jem中基于子cu的运动矢量预测方法
[0108]
在具有qtbt的jem中,每个cu对于每个预测方向最多可以具有一组运动参数。通过将大的cu划分成子cu并导出该大cu的所有子cu的运动信息,编码器中考虑了两种子cu级的运动矢量预测方法。可选时域运动矢量预测(atmvp)方法允许每个cu从并置参考图片中多个小于当前cu的块中提取多组运动信息。在空时运动矢量预测(stmvp)方法中,通过使用时域运动矢量预测器和空域临近运动矢量递归地导出子cu的运动矢量。
[0109]
为了为子cu运动预测保留更准确的运动场,参考帧的运动压缩当前被禁用。
[0110]
2.2.1可选时域运动矢量预测
[0111]
图10示出了可选时域运动矢量预测(atmvp)的示例。在可选时域运动矢量预测(atmvp)方法中,运动矢量时域运动矢量预测(tmvp)是通过从小于当前cu的块中提取多组运动信息(包括运动矢量和参考索引)来修改的。子cu为方形n
×
n块(默认n设置为4)。
[0112]
atmvp分两步预测cu内的子cu的运动矢量。第一步是用所谓的时域矢量识别参考图片中的对应块。参考图片称为运动源图片。第二步是将当前cu划分成子cu,并从每个子cu对应的块中获取运动矢量以及每个子cu的参考索引。
[0113]
在第一步中,参考图片和对应的块由当前cu的空域临近块的运动信息确定。为了避免临近块的重复扫描处理,使用当前cu的merge候选列表中的第一merge候选。第一可用
的运动矢量及其相关联的参考索引被设置为时域矢量和运动源图片的索引。这样,在atmvp中,与tmvp相比,可以更准确地识别对应的块,其中对应的块(有时称为并置块)始终位于相对于当前cu的右下或中心位置。
[0114]
在第二步中,通过将时域矢量添加到当前cu的坐标中,通过运动源图片中的时域矢量识别子cu的对应块。对于每个子cu,使用其对应块的运动信息(覆盖中心样点的最小运动网格)来导出子cu的运动信息。在识别出对应n
×
n块的运动信息后,将其转换为当前子cu的运动矢量和参考索引,与hevc的tmvp方法相同,其中应用运动缩放和其它进程。例如,解码器检查是否满足低延迟条件(例如,当前图片的所有参考图片的poc都小于当前图片的poc),并可能使用运动矢量mv
x
(与参考图片列表x对应的运动矢量)来为每个子cu预测运动矢量mv
y
(x等于0或1且y等于1

x)。
[0115]
2.2.2空时运动矢量预测(stmvp)
[0116]
在这种方法中,子cu的运动矢量是按照光栅扫描顺序递归导出的。图11说明了该概念。考虑一个8
×
8的cu,它包含四个4
×
4的子cu a、b、c和d。当前帧中临近的4
×
4的块标记为a、b、c和d。
[0117]
子cu a的运动导出由识别其两个空域邻居开始。第一邻居是子cu a上方的n
×
n块(块c)。如果该块c不可用或帧内编解码,则检查子cu a上方的其它n
×
n块(从左到右,从块c处开始)。第二邻居是子cu a左侧的块(块b)。如果块b不可用或是帧内编解码,则检查子cu a左侧的其它块(从上到下,从块b处开始)。每个列表从临近块获得的运动信息被缩放到给定列表的第一参考帧。接下来,按照hevc中规定的与tmvp导出相同的进程,导出子块a的时域运动矢量预测器(tmvp)。提取位置d处的并置块的运动信息并进行对应的缩放。最后,在检索和缩放运动信息后,对每个参考列表分别平均所有可用的运动矢量(最多3个)。将平均运动矢量指定为当前子cu的运动矢量。
[0118]
2.2.3子cu运动预测模式信令通知
[0119]
子cu模式作为附加的merge候选启用,并且不需要附加的语法元素来信令通知该模式。将两个附加merge候选添加到每个cu的merge候选列表中,以表示atmvp模式和stmvp模式。如果序列参数集指示启用了atmvp和stmvp,则最多使用七个merge候选。附加merge候选的编码逻辑与hm中的merge候选的编码逻辑相同,这意味着对于p条带或b条带中的每个cu,需要对两个附加merge候选进行多于两次的rd检查。
[0120]
在jem中,merge索引的所有二进制数都由cabac进行上下文编解码。然而在hevc中,只有第一二进制数是上下文编解码的,并且其余的二进制数是上下文旁路编解码的。
[0121]
2.3 jem中的局部亮度补偿
[0122]
局部亮度补偿(lic)基于用于亮度变化的线性模型,使用缩放因子a和偏移b。并且对每个模式间编解码的编解码单元(cu)自适应地启用或禁用。
[0123]
当将lic应用于cu时,通过使用当前cu的临近样点及其对应的参考样点,采用最小二乘误差法来导出参数a和b。更具体地,如图12所示,使用参考图片中cu的子采样(2:1子采样)临近样点和对应的样点(由当前cu或子cu的运动信息识别)。
[0124]
2.3.1预测块的导出
[0125]
ic参数被导出并分别应用于每个预测方向。。对于每个预测方向,使用解码的运动信息生成第一预测块,然后通过应用lic模型获得临时预测块。然后,利用这两个临时预测
块导出最终预测块。
[0126]
当cu是以merge模式编解码时,以类似于merge模式中的运动信息复制的方式从临近块复制lic标志;否则,为cu信令通知lic标志以指示是否应用lic。
[0127]
当对图片启用lic时,需要附加的cu级rd检查来确定是否对cu应用lic。当对cu启用lic时,对于整数像素运动搜索和分数像素运动搜索分别使用均值移除的绝对差和(mr

sad)和均值移除的绝对hadamard变换差和(mr

satd),而不是sad和satd。
[0128]
为了降低编码复杂度,在jem中采用了以下编码方案。
[0129]
·
当当前图片与其参考图片之间没有明显的亮度变化时,对整个图片禁用lic。为了识别这种情况,在编码器处计算当前图片的直方图和当前图片的每个参考图片。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用lic;否则,对当前图片启用lic。
[0130]
2.4 vvc中的帧间预测方法
[0131]
存在几种新的用于帧间预测改进的编解码工具,诸如用于信令通知mvd的自适应运动矢量差分辨率(amvr)、仿射预测模式、三角预测模式(tpm)、atmvp、广义双向预测(gbi)、双向光流(bio)。
[0132]
2.4.1编解码块结构
[0133]
在vvc中,采用四叉树/二叉树/多叉树(qt/bt/tt)结构,以将图像分成正方形或矩形块。
[0134]
除qt/bt/tt外,对于i帧,vvc还采用了分离树(也称为双编解码树)。使用分离树,为亮度和色度分量分别信令通知编解码块结构。
[0135]
2.4.2自适应运动矢量差分辨率
[0136]
在hevc中,当在条带头中use_integer_mv_flag等于0时,运动矢量差(mvd)(在pu的运动矢量和预测运动矢量之间)以四分之一亮度样点为单位信令通知。在vvc中,引入了局部自适应运动矢量分辨率(amvr)。在vvc中,mvd可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位(即1/4像素、1像素、4像素)进行编解码。mvd分辨率控制在编解码单元(cu)级,并且为具有至少一个非零mvd分量的每个cu有条件地信令通知mvd分辨率标志。
[0137]
对于具有至少一个非零mvd分量的cu,信令通知第一标志以指示cu中是否使用四分之一亮度样点mv精度。当第一标志(等于1)指示不使用四分之一亮度样点mv精度时,信令通知另一个标志以指示是使用整数亮度样点mv精度还是使用四亮度样点mv精度。
[0138]
当cu的第一mvd分辨率标志为零或没有为cu编解码(意味着cu中的所有mvd都为零)时,cu使用四分之一亮度样点mv分辨率。当cu使用整数亮度样点mv精度或四亮度样点mv精度时,该cu的amvp候选列表中的mvp将取整到对应的精度。
[0139]
2.4.3仿射运动补偿预测
[0140]
在hevc中,仅将平移运动模型应用于运动补偿预测(mcp)。然而,在真实世界中存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在vvc中,采用4参数仿射模型和6参数仿射模型的简化仿射变换运动补偿预测。如图13a和13b所示,对于4参数仿射模型,块的仿射运动场由两个控制点运动矢量(cpmv)描述,对于6参数仿射模型,块的仿射运动场由三个cpmv描述。
[0141]
分别用以下等式来描述块的运动矢量场(mvf),等式(1)中是4参数仿射模型(其中
4参数被定义为变量a、b、e和f)且等式(2)中是6参数仿射模型(其中4参数被定义为变量a、b、c、d、e和f):
[0142][0143][0144]
其中(mv
h0
,mv
h0
)为左上角控制点(cp)的运动矢量,并且(mv
h1
,mv
h1
)为右上角控制点的运动矢量,并且(mv
h2
,mv
h2
)为左下角控制点的运动矢量,所有这三个运动矢量被称为控制点运动矢量(cpmv),(x,y)表示代表点相对于当前块内的左上样点的坐标,并且(mv
h
(x,y),mv
v
(x,y))是为位于(x,y)处的样点导出的运动矢量。cp运动矢量可以被信令通知(如在仿射amvp模式中)或者是即时导出(如在仿射merge模式中)。w和h是当前块的宽度和高度。实际上,除法是使用取整操作通过右移来实现的。在vtm中,代表点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上样点的坐标为(xs,ys)时,代表点的坐标被定义为(xs 2,ys 2)。对于每个子块(即vtm中的4
×
4),代表点被用于导出整个子块的运动矢量。
[0145]
为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。为了导出每个m
×
n(在当前vvc中m和n二者都被设置为4)子块的运动矢量,如图14所示,可以根据等式(1)和(2)计算每个子块的中心样点的运动矢量,并取整到1/16分数精度。然后应用1/16像素的运动补偿插值滤波器,利用导出的运动矢量生成每个子块的预测。仿射模式引入1/16像素的插值滤波器。
[0146]
在mcp之后,将每个子块的高准确度运动矢量取整,并保存为与常规运动矢量相同的准确度。
[0147]
2.4.3.1仿射预测的信令通知
[0148]
与平移运动模型类似,仿射预测也有两种模式用于信令通知侧面信息。它们是affine_inter模式和affine_merge模式。
[0149]
2.4.3.2af_inter模式
[0150]
对于宽度和高度都大于8的cu,可以应用af_inter模式。在比特流中,cu级的仿射标志被信令通知,以指示是否使用af_inter模式。
[0151]
在此模式中,对于每个参考图片列表(列表0或列表1),按照以下顺序用三种类型的仿射运动预测器构建仿射amvp候选列表,其中每个候选包括当前块的估计的cpmv。信令通知在编码器侧发现的最佳cpmv的差(诸如图17中的mv0mv1mv2)、以及估计的cpmv。此外,进一步信令通知从中导出估计的cpmv的仿射amvp候选的索引。
[0152]
1)继承的仿射运动预测器
[0153]
检查顺序与在hevc amvp列表构建中空域mvp的检查顺序相似。首先,从{a1,a0}中的第一块导出左继承的仿射运动预测器,该块是仿射编解码的,并且具有与当前块相同的
参考图片。其次,从{b1,b0,b2}中的第一块导出上述继承的仿射运动预测器,该块是仿射编解码的,并且具有与当前块相同的参考图片。图16描绘了五个块a1、a0、b1、b0、b2。
[0154]
一旦发现临近块是仿射编解码的,则利用覆盖临近块的编解码单元的cpmv来导出当前块的cpmv的预测器。例如,如果a1用非仿射模式编解码,并且a0用4参数仿射模式编解码,则将从a0导出左侧继承的仿射mv预测器。在这种情况下,覆盖a0的cu的cpmv(如图18b中表示为的左上cpmv和表示为的右上cpmv)被用于导出当前块的估计的cpmv(表示为的当前块的左上(坐标为(x0,y0))、右上(坐标为(x1,y1))和右下(坐标为(x2,y2))位置)。
[0155]
2)构建的仿射运动预测器
[0156]
如图17所示,构建的仿射运动预测器由从具有相同参考图片的临近帧间编解码块导出的控制点运动矢量(cpmv)组成。如果当前仿射运动模型为4参数仿射,则cpmv的数量为2;否则,如果当前仿射运动模型为6参数仿射,则cpmv的数量为3。左上cpmv由组{a,b,c}中的第一块处的mv导出,该块是帧间编解码的,并且具有与当前块相同的参考图片。右上cpmv由组{d,e}中的第一块处的mv导出,该块是帧间编解码的,并且具有与当前块相同的参考图片。左下由组{f,g}中第一块处的mv导出,该块是帧间编解码的,并且具有与当前块相同的参考图片。
[0157]

如果当前仿射运动模型是4参数仿射,则只有当和两者都被找到(也就是说,和被用作当前块的左上(坐标为(x0,y0))和右上(坐标为(x1,y1))位置的估计的cpmv)时,才将构建的仿射运动预测器插入候选列表。
[0158]

如果当前仿射运动模型是6参数仿射,则只有当和都被找到(也就是说,和被用作当前块的左上(坐标为(x0,y0))、右上(坐标为(x1,y1))和右下(坐标为(x2,y2))位置的估计的cpmv)时,才将构建的仿射运动预测器插入候选列表。
[0159]
在将构建的仿射运动预测器插入候选列表中时,不应用修剪处理。
[0160]
3)常规amvp运动预测器
[0161]
以下适用,直到仿射运动预测器的数量达到最大值。
[0162]
1)如果可用,通过将所有cpmv设置为等于来导出仿射运动预测器。
[0163]
2)如果可用,通过将所有cpmv设置为等于来导出仿射运动预测器。
[0164]
3)如果可用,通过将所有cpmv设置为等于来导出仿射运动预测器。
[0165]
4)如果可用,通过将所有cpmv设置为等于hevc tmvp来导出仿射运动预测器。
[0166]
5)通过将所有cpmv设置为等于零mv来导出仿射运动预测器。
[0167]
注意,已在构建的仿射运动预测器中导出
[0168]
在af_inter模式中,当使用4/6参数仿射模式时,需要2/3个控制点,并且因而需要对这些控制点编解码2/3个mvd,如图15a所示。在jvet

k0337中,提出如下导出mv,即从mvd0预测mvd1和mvd2。
[0169][0170][0171][0172]
其中,mvd
i
和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测运动矢量、运动矢量差以及运动矢量,如图15b所示。应当注意的是,两个运动矢量的相加(例如,mva(xa,ya)和mvb(xb,yb))分别等于两个分量的总和。也就是说,newmv=mva mvb,并且newmv的两个分量分别设置为(xa xb)和(ya yb)。
[0173]
2.4.3.3 af_merge模式
[0174]
当在af_merge模式中应用cu时,它从有效的临近重构块中获得以仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图18a所示(依次表示为a、b、c、d、e)。例如,如果临近左下块用仿射模式编解码(如图18b中a0表示的),则提取包含块a的临近cu/pu的左上、右上和左下的控制点(cp)运动矢量mv
0n
、mv
1n
和mv
2n
。并且基于mv
0n
、mv
1n
和mv
2n
计算当前cu/pu左上角/右上/左下的运动矢量mv
0c
、mv
1c
和mv
2c
(仅用于6参数仿射模型),需要注意的是,在vtm

2.0中,如果当前块是仿射编解码的,则位于左上角的子块(例如,vtm中的4
×
4块)存储mv0,位于右上角的子块存储mv1。如果当前块用6参数仿射模型编解码,则位于左下角的子块存储mv2;否则(用4参数仿射模型),lb存储mv2'。其他子块存储用于mc的mv。
[0175]
在导出出当前cu的cpmv mv
0c
、mv
1c
和mv
2c
之后,根据等式(1)和(2)中的简化的仿射运动模型,生成当前cu的mvf。为了识别当前cu是否以af_merge模式编解码,当至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。
[0176]
在jvet

l0142和jvet

l0632中,用以下步骤来构建仿射merge候选:
[0177]
1)插入继承的仿射候选
[0178]
继承仿射候选是指该候选是从其有效临近仿射编解码块的仿射运动模型导出的。从临近块的仿射运动模型中导出最大的两个继承仿射候选并将其插入候选列表中。对于左方预测器,扫描顺序是{a0,a1};对于上方预测,扫描顺序是{b0,b1,b2}。
[0179]
2)插入构建的仿射候选
[0180]
如果仿射merge候选列表中的候选数量小于maxnumaffinecand(例如,5),则将构建的仿射候选插入候选列表中。构建的仿射候选是指该候选是通过组合每个控制点的临近运动信息构建的。
[0181]
a)首先从图19所示的规定的空域邻居和时域邻居导出控制点的运动信息。cpk(k=1,2,3,4)表示第k个控制点。a0、a1、a2、b0、b1、b2和b3是用于预测cpk(k=1,2,3)的空域位置;t是用于预测cp4的时域位置。
[0182]
cp1、cp2、cp3和cp4的坐标分别为(0,0),(w,0),(h,0)和(w,h),其中w和h是当前块的宽度和高度。
[0183]
按照以下优先顺序获得每个控制点的运动信息:
[0184]
对于cp1,检查优先级为b2

>b3

>a2。如果b2可用,则使用b2。否则,如果b2不可用,则使用b3。如果b2和b3都不可用,则使用a2。如果三个候选都不可用,则无法获得cp1的运动信息。
[0185]
对于cp2,检查优先级为b1

>b0;
[0186]
对于cp3,检查优先级为a1

>a0;
[0187]
对于cp4,使用t。
[0188]
b)其次,使用控制点的组合来构建仿射merge候选。
[0189]
i.需要三个控制点的运动信息来构建6参数仿射候选。可以从以下四个组合中的一个来选择这三个控制点({cp1,cp2,cp4}、{cp1,cp2,cp3},{cp2,cp3,cp4}、{cp1,cp3,cp4})。组合{cp1,cp2,cp3}、{cp2,cp3,cp4}、{cp1,cp3,cp4}将被转换到由左上、右上和左下控制点表示的6参数运动模型。
[0190]
ii.需要两个控制点的运动信息来构建4参数仿射候选。可以从以下两个组合中的一个来选择这两个控制点({cp1,cp2}、{cp1,cp3})。这两个组合将被转换到由左上和右上控制点表示的4参数运动模型。
[0191]
iii.按以下顺序将构建仿射候选的组合插入到候选列表中:
[0192]
{cp1,cp2,cp3},{cp1,cp2,cp4},{cp1,cp3,cp4},{cp2,cp3,cp4},{cp1,cp2},{cp1,cp3}。
[0193]
i.对于每个组合,检查每个cp的列表x的参考索引,如果它们都相同,则该组合具有对于列表x的有效的cpmv。如果该组合不具有对于列表0和列表1的有效的cpmv,则该组合被标记为无效。否则,它是有效的,并且cpmv被放入子块merge列表中。
[0194]
3)填充零运动矢量
[0195]
如果仿射merge候选列表中的候选数量小于5,则在候选列表中插入具有零参考索引的零运动矢量,直到列表满为止。
[0196]
更具体地,对于子块merge候选列表,4参数merge候选的mv设置为(0,0)且预测方向设置为来自列表0的单向预测(对于p条带)和双向预测(对于b条带)。
[0197]
2.4.4具有运动矢量差的merge(mmvd)
[0198]
在jvet

l0054中,提出了最终运动矢量表达(umve,也称为mmvd)。umve与提出的运动矢量表达方法被用于跳过或merge模式。
[0199]
umve重用与vvc中常规merge候选列表中包含的merge候选相同的merge候选。在merge候选中,可以选择基础候选,并通过所提出的运动矢量表达方法进一步扩展。
[0200]
umve提供了一种新的运动矢量差(mvd)表示方法,其中使用起点、运动幅度和运动方向来表示mvd。
[0201]
这个提出的技术按原样使用merge候选列表。但是只有默认merge类型(mrg_type_default_n)的候选才被考虑用于umve的扩展。
[0202]
基础候选索引定义了起点。基础候选索引指示列表中候选的最佳候选,如下所示。
[0203]
表1基础候选idx
[0204]
[0205]
如果基础候选的数量等于1,则不信令通知基础候选idx。
[0206]
距离索引是运动幅度信息。距离索引指示距离起点信息的预定义的距离。预定义的距离如下所示:
[0207]
表2距离idx
[0208][0209][0210]
方向索引表示mvd相对于起点的方向。方向索引可以表示如下所示的四个方向。
[0211]
表3方向idx
[0212]
方向idx00011011x



n/an/ay

轴n/an/a

[0213]
在发送跳过标志或merge标志之后立即信令通知umve标志。如果跳过或merge标志为真,则解析umve标志。如果umve标志等于1,则解析umve语法。但是,如果不是1,则解析仿射(affine)标志。如果仿射标志等于1,则是仿射模式,但是,如果不是1,则为vtm的跳过/merge模式解析跳过/merge索引。
[0214]
由于umve候选而导致的附加线缓冲器是不需要的。因为软件的跳过/merge候选被直接用作基础候选。使用输入umve索引,在运动补偿前决定mv的补充。不需要为此保留长线缓冲器。
[0215]
在当前普通测试条件下,可以选择merge候选列表中的第一或第二merge候选作为基础候选。
[0216]
也将umve称为具有mv差的merge(mmvd)。
[0217]
2.4.5解码器侧运动矢量细化(dmvr)
[0218]
在双向预测操作中,对于一个块区域的预测,将分别使用列表0的运动矢量(mv)和列表1的mv形成的两个预测块组合以形成单个预测信号。在解码器侧运动矢量细化(dmvr)方法中,进一步细化双向预测的两个运动矢量。
[0219]
在jem设计中,通过双边模板匹配处理对运动矢量进行细化。将双边模板匹配应用在解码器中,以在双边模板和参考图片中的重构样点之间执行基于失真的搜索,以便在不传输附加运动信息的情况下获得细化的mv。图22示出了一个示例。如图22所示,从分别来自列表0的初始mv0和列表1的mv1,将双边模板生成为两个预测块的加权组合(即平均)。模板匹配操作包括计算生成的模板与参考图片中的样点区域(围绕初始预测块)之间的成本度量。对于两个参考图片中的每一个,产生最小模板成本的mv被视为该列表的更新的mv以替换原始mv。在jem中,为每个列表搜索九个mv候选。九个mv候选包括原始mv和8个周围mv,该8个周围mv在水平或垂直方向上、或者在水平和垂直方向二者上具有偏移向原始mv的一个亮度样点。最后,将图22所示的两个新mv(即mv0’和mv1’)用于生成最终的双向预测结果。使用绝对差之和(sad)作为成本度量。应当注意的是,当计算由一个周围mv生成的预测块的成本
时,实际使用取整的mv(到整数像素)而不是真实的mv来获得预测块。
[0220]
为了进一步简化dmvr的处理,jvet

m0147提出了对jem中设计的几种修改。更具体地,vtm

4.0采用的dmvr设计(即将发布)具有以下主要特点:
[0221]
·
列表0和列表1之间具有(0,0)位置sad的早期终止;
[0222]
·
dmvr的块尺寸w*h>=64&&h>=8;
[0223]
·
对于cu尺寸>16*16的dmvr,将cu划分为多个16x16子块;
[0224]
·
参考块尺寸(w 7)*(h 7)(对于亮度);
[0225]
·
基于25点sad的整数像素搜索(即(

)2细化搜索范围,单级);
[0226]
·
基于双线性插值的dmvr;
[0227]
·
列表0和列表1之间的mvd镜像允许双边匹配;
[0228]
·
基于“参数误差表面方程”的子像素细化;
[0229]
·
具有参考块填充(如果需要)的亮度/色度mc;
[0230]
·
细化的mv仅用于mc和tmvp。
[0231]
2.4.6组合帧内和帧间预测
[0232]
在jvet

l0100中,提出了多假设预测,其中组合帧内和帧间预测是生成多假设的一种方法。
[0233]
当应用多假设预测来改进帧内模式时,多假设预测将一个帧内预测和一个merge索引预测组合。在merge cu中,当标志为真时,为merge模式信令通知一个标志,以从帧内候选列表中选择帧内模式。对于亮度分量,从包括dc、平面、水平和垂直模式的4种帧内预测模式中导出帧内候选列表,并且帧内候选列表的尺寸可以是3或4,取决于块的形状。当cu宽度大于cu高度的两倍时,帧内模式列表不包括水平模式,并且当cu高度大于cu宽度的两倍时,从帧内模式列表移除垂直模式。使用加权平均将由帧内模式索引选择的一个帧内预测模式和由merge索引选择的一个merge索引预测组合起来。对于色度分量,总是在没有额外信令通知的情况下应用dm。组合预测的权重描述如下。当选择dc或平面模式、或cb宽度或高度小于4时,应用相等的权重。对于cb宽度和高度大于或等于4的那些cb,当选择水平/垂直模式时,首先将一个cb垂直/水平地划分为四个面积相等的区域。将表示为(w_intra
i
,w_inter
i
)的每个权重集应用于对应区域,其中i是从1到4,并且(w_intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3,w_inter3)=(3,5),并且(w_intra4,w_inter4)=(2,6)。(w_intra1,w_inter1)用于最接近参考样点的区域,并且(w_intra4,w_inter4)用于最远离参考样点的区域。然后,通过将两个加权预测相加并右移3比特,可以计算出组合预测。此外,预测器的帧内假设的帧内预测模式可以被保存,以供后续临近cu参考。
[0234]
2.5 jvet

m0427中的环路整形(ilr)
[0235]
环路整形(ilr)也称为具有色度缩放的亮度映射(lmcs)。
[0236]
环路整形器(ilr)的基本思想是将原始(在第一域)信号(预测/重构信号)转换到第二域(整形域)。
[0237]
环路亮度整形器被实现为一对查找表(lut),但是两个lut中只有一个需要被信令通知,因为另一个lut可以从信令通知的lut中计算出来。每个lut是一维的、10比特的、1024个条目的映射表(1d

lut)。一个lut是前向lut fwdlut,它将输入的亮度代码值y
i
映射到更改的值y
r
:y
r
=fwdlut[y
i
]。另一个lut是反向lut invlut,它将更改的代码值y
r
映射到
(表示y
i
的重构值)。
[0238]
2.5.1 pwl模型
[0239]
在概念上,分段线性(pwl)的实现方式如下:
[0240]
设x1,x2为两个输入枢轴点,并且y1,y2为一段的对应输出枢轴点。在x1和x2之间的任何输入值x的输出值y可以通过以下等式进行插值:
[0241]
y=((y2

y1)/(x2

x1))*(x

x1) y1
[0242]
在定点实现中,该等式可以重写为:
[0243]
y=((m*x 2
fp_prec
‑1)>>fp_prec) c
[0244]
其中m是标量,c是偏移,并且fp_prec是用于指定精度的常量值。
[0245]
注意,在ce

12软件中,pwl模型用于预计算1024个条目的fwdlut和invlut映射表;但是pwl模型还允许实现在不预先计算lut的情况下即时计算等同的映射值。
[0246]
2.5.2测试ce12
‑2[0247]
2.5.2.1亮度整形
[0248]
环路亮度整形(即,提议中的ce12

2)的测试2提供了一种较低复杂度的管线,该管线还消除了帧间条带重构中分块帧内预测的解码延迟。对于帧间和帧内条带,帧内预测都在整形域中执行。
[0249]
不管条带类型如何,帧内预测总是在整形域中执行。通过这样的布置,帧内预测可以在先前的tu重构完成后立即开始。这种布置还可以为帧内模式提供统一的而不是取决于条带的处理。图23示出了基于模式的ce12

2解码处理的框图。
[0250]
ce12

2也测试亮度和色度残差缩放的16段分段线性(pwl)模型,而不是ce12

1的32段pwl模型。
[0251]
使用ce12

2中的环路亮度整形器进行帧间条带重构(浅绿色阴影块指示整形域中的信号:亮度残差;帧内亮度预测的;以及帧内亮度重构的)。
[0252]
2.5.2.2取决于亮度的色度残差缩放
[0253]
取决于亮度的色度残差缩放是使用定点整数运算实现的乘法处理。色度残差缩放补偿了亮度信号与色度信号的相互作用。色度残差缩放在tu级应用。更具体地,以下适用:
[0254]

对于帧内,平均重构亮度。
[0255]

对于帧间,平均预测亮度。
[0256]
平均被用于识别pwl模型中的索引。该索引标识缩放因子cscaleinv。色度残差乘以该数字。
[0257]
应当注意的是,色度缩放因子是从前向映射的预测亮度值而不是重构亮度值计算出的。
[0258]
2.5.2.3 ilr侧信息的信令通知
[0259]
在片组头(类似于alf)中发送参数(当前)。这些需要40

100比特。
[0260]
下表基于jvet

l1001的版本9。下面以带下划线的粗体斜体字体突出显示要添加的语法。
[0261]
在7.3.2.1序列参数集中,rbsp语法可以如下设置:
[0262]
[0263][0264][0265]
在7.3.3.1可以通过插入如下带下划线的粗体斜体文本修改通用片组头语法:
[0266]
[0267][0268]
可以添加新的语法表片组整形器模型,如下所示:
[0269][0270]
在常规序列参数集rbsp语义中,可以添加以下语义:
[0271]
sps_reshaper_enabled_flag等于1指定在编解码视频序列(cvs)中使用整形器。sps_reformer_enabled_flag等于0指定在cvs中不使用整形器。
[0272]
在片组头语法中,可以添加以下语义:
[0273]
tile_group_reshaper_model_present_flag等于1指定片组头中存在tile_group_reshaper_model()。tile_group_reshaper_model_present_flag等于0指定片组头中不存在tile_group_reshaper_model()。当tile_group_reshaper_model_present_flag不存在时,推断它等于0。
[0274]
tile_group_reshaper_enabled_flag等于1指定为当前片组启用整形器。tile_group_reshaper_enabled_flag等于0指定不为当前片组启用整形器。当tile_group_reshaper_enable_flag不存在时,推断它等于0。
[0275]
tile_group_reshaper_chroma_residual_scale_flag等于1指定为当前片组启用色度残差缩放。tile_group_reshaper_chroma_residual_scale_flag等于0指定不为当前片组启用色度残差缩放。当tile_group_reshaper_chroma_residual_scale_flag不存在时,推断它等于0。
[0276]
tile_group_reshaper_model()语法可以如下添加:
[0277]
reshape_model_min_bin_idx指定将在整形器构建处理中使用的最小二进制数(bin)(或段)索引。reshape_model_min_bin_idx的值应在0至maxbinidx的范围内(包括0和maxbinidx)。maxbinidx的值应当等于15。
[0278]
reshape_model_delta_max_bin_idx指定将在整形器构建处理中使用的最大允许的二进制数(bin)(或段)索引。将reshape_model_max_bin_idx的值设置为等于maxbinidx

reshape_model_delta_max_bin_idx。
[0279]
reshaper_model_bin_delta_abs_cw_prec_minus1加1指定用于语法reshape_model_bin_delta_abs_cw[i]的表示的比特的数量。
[0280]
reshape_model_bin_delta_abs_cw[i]指定第i个二进制数的绝对增量码字值。
[0281]
reshaper_model_bin_delta_sign_cw_flag[i]指定reshape_model_bin_delta_abs_cw[i]的符号,如下所示:
[0282]

如果reshape_model_bin_delta_sign_cw_flag[i]等于0,则对应的变量rspdeltacw[i]为正值。
[0283]

否则(reshape_model_bin_delta_sign_cw_flag[i]不等于0),则对应的变量rspdeltacw[i]为负值。
[0284]
当reshape_model_bin_delta_sign_cw_flag[i]不存在时,推断它等于0。
[0285]
变量rspdeltacw[i]=(1

2*reshape_model_bin_delta_sign_cw[i])*reshape_model_bin_delta_abs_cw[i]。
[0286]
按以下步骤导出变量rspcw[i]:
[0287]

将变量orgcw设置为等于(1<<bitdepth
y
)/(maxbinidx 1)。
[0288]

如果reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx则rspcw[i]=orgcw rspdeltacw[i]。
[0289]

否则,rspcw[i]=0。
[0290]
如果bitdepth
y
的值等于10,则rspcw[i]的值应当在32至2*orgcw

1的范围内。
[0291]
变量inputpivot[i](其中i在0到maxbinidx 1的范围内,包括0和maxbinidx 1)导出如下:
[0292]
inputpivot[i]=i*orgcw。
[0293]
变量reshapepivot[i](其中i在0到maxbinidx 1的范围内,包括0和maxbinidx 1)、变量scalecoef[i]和invscalecoeff[i](其中i在0到maxbinidx的范围内,包括0和maxbinidx)导出如下:
[0294][0295][0296]
变量chromascalecoef[i](其中i在0到maxbinidx的范围内,包括0和maxbinidx)可以导出如下:
[0297]
chromaresidualscalelut[64]={16384,16384,16384,16384,16384,16384,16384,8192,8192,8192,8192,5461,5461,5461,5461,4096,4096,4096,4096,3277,3277,3277,3277,2731,2731,2731,2731,2341,2341,2341,2048,2048,2048,1820,1820,1820,1638,1638,1638,1638,1489,1489,1489,1489,1365,1365,1365,1365,1260,1260,1260,1260,1170,1170,1170,1170,1092,1092,1092,1092,1024,1024,1024,1024};
[0298][0299]
可以结合组合merge和帧内预测的加权样点预测处理添加以下文本。添加部分用带下划线的斜体字体标记。
[0300]
8.4.6.6组合merge和帧内预测的加权样点预测处理
[0301]
该处理的输入为:
[0302]

当前编解码块的宽度cbwidth,
[0303]

当前编解码块的高度cbheight,
[0304]

两个(cbwidth)x(cbheight)的数组predsamplesinter和predsamplesintra,
[0305]

帧内预测模式predmodeintra,
[0306]

变量cidx,其指定颜色分量索引。
[0307]
该处理的输出是预测样点值的(cbwidth)x(cbheight)的数组predsamplescomb。
[0308]
变量bitdepth导出如下:
[0309]

如果cidx等于0,则将bitdepth设置为等于bitdepth
y

[0310]

否则,将bitdepth设置为等于bitdepth
c

[0311]
预测样点predsamplescomb[x][y](x=0..cbwidth

1且y=0..cbheight

1)导出如下:
[0312]

权重w导出如下:
[0313]

如果predmodeintra是intra_angular50,在表4中用npos等于y并且nsize等于cbheight来指定w。
[0314]

否则,如果predmodeintra是intra_angular18,在表4中用npos等于x并且nsize等于cbwidth来指定w。
[0315]

否则,将w设置为等于4。
[0316]

如果cidx等于0,则predsamplesinter导出如下:
[0317]

如果tile group reshaper enabled flag等于1,则shifty=14
[0318]
idxy=predsamplesinter[x][y]>>log2(orgcw)
[0319]
predsamplesinter[x][y]=clip1
y
(reshapepivot[idxy] (scalecoeff[idxy]*(predsamplesinter[x][y]

inputpivot[i dxy]) (1<<(shifty

1)))>>shifty)(8

xxx)
[0320]

否则,(tile_group_reshaper_enabled_flag等于0)
[0321]
predsamplesinter[x][y]=predsamplesinter[x][y]
[0322]

预测样点predsamplescomb[x][y]导出如下:
[0323][0324]
表4 w作为位置np和尺寸ns的函数的规范
[0325][0326]
可将以下用带下划线的粗体斜体字体示出的文本添加到图片重构处理中:
[0327]
8.5.5图片重构处理
[0328]
该处理的输入是:
[0329]

位置(xcurr,ycurr),其指定相对于当前图片分量的左上样点的当前块的左上样点,
[0330]

变量ncurrsw和ncurrsh,其分别指定当前块的宽度和高度,
[0331]

变量cidx,其指定当前块的颜色分量,
[0332]

(ncurrsw)x(ncurrsh)的数组predsamples,其指定当前块的预测样点,
[0333]

(ncurrsw)x(ncurrsh)的数组ressamples,其指定当前块的残差样点。
[0334]
取决于颜色分量cidx的值,进行以下分配:
[0335]

如果cidx等于0,则recsamples对应于重构图片样点数组s
l
,并且函数clipcidx1对应于clip1
y

[0336]

否则,如果cidx等于1,则recsamples对应于重构色度样点数组s
cb
,并且函数clipcidx1对应于clip1
c

[0337]

否则(cidx等于2),recsamples对应于重构色度样点数组s
cr
,并且函数clipcidx1对应于clip1
c

[0338]
当tile_group_reshaper_enabled_flag的值等于1时,根据第8.5.5.1条款中规定的映射处理导出在位置(xcurr,ycurr)处的(ncurrsw)x(ncurrsh)的重构样点数组recsamples的块。否则,在位置(xcurr,ycurr)处的(ncurrsw)x(ncurrsh)的重构样点数组recsamples的块导出如下:
[0339]
recsamples[xcurr i][ycurr j]=clipcidx1(predsamples[i][j] ressamples[i][j])(8

xxx)其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0340]
8.5.5.1使用映射处理的图片重构
[0341]
该条款规定了使用映射处理的图片重构。在8.5.5.1.1中规定了亮度样点值的使用映射处理的图片重构。在8.5.5.1.2中规定了色度样点值的使用映射处理的图片重构。
[0342]
8.5.5.1.1亮度样点值的使用映射处理的图片重构
[0343]
该处理的输入是:
[0344]

(ncurrsw)x(ncurrsh)的数组predsamples,其指定当前块的亮度预测样点,
[0345]

(ncurrsw)x(ncurrsh)的数组ressamples,其指定当前块的亮度残差样点。
[0346]
该处理的输出为:
[0347]

(ncurrsw)x(ncurrsh)的映射亮度预测样点数组predmapsamples,
[0348]

(ncurrsw)x(ncurrsh)的重构亮度样点数组recsamples。
[0349]
predmapsamples导出如下:
[0350]

如果(cupredmode[xcurr][ycurr]==mode_intra)||(cupredmode[xcurr][ycurr]==mode_cpr)||(cupredmode[xcurr][ycurr]==mode_inter&&mh_intra_flag
[xcurr][ycurr])
[0351]
predmapsamples[xcurr i][ycurr j]=predsamples[i][j](8

xxx)
[0352]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0353]

否则((cupredmode[xcurr][ycurr]==mode_inter&&!mh_intra_flag[xcurr][ycurr])),以下适用:
[0354]
shifty=14
[0355]
idxy=predsamples[i][j]>>log2(orgcw)predmapsamples[xcurr i][ycurr j]=reshapepivot[idxy] (scalecoeff[idxy]*(predsamples[i][j]

inputpivot[idxy]) (1<<(shifty

1)))>>shifty(8

xxx)
[0356]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0357]
recsamples导出如下:
[0358]
recsamples[xcurr i][ycurr j]=clip1
y
(predmapsamples[xcurr i][ycurr j] ressamples[i][j]])(8

xxx)
[0359]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0360]
8.5.5.1.2色度样点值的使用映射处理的图片重构
[0361]
该处理的输入是:
[0362]

(ncurrswx2)x(ncurrshx2)的数组映射predmapsamples,其指定当前块的映射亮度预测样点,
[0363]

(ncurrsw)x(ncurrsh)的数组predsamples,其指定当前块的色度预测样点,
[0364]

(ncurrsw)x(ncurrsh)的数组ressamples,其指定当前块的色度残差样点。
[0365]
该处理的输出是重构色度样点数组recsamples。
[0366]
recsamples导出如下:
[0367]

如果(!tile_group_reshaper_chroma_residual_scale_flag||((ncurrsw)x(ncurrsh)<=4))
[0368]
recsamples[xcurr i][ycurr j]=clip1
c
(predsamples[i][j] ressamples[i][j])(8

xxx)
[0369]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0370]

否则(tile_group_reshaper_chroma_residual_scale_flag&&((ncurrsw)x(ncurrsh)>4)),以下适用:
[0371]
变量varscale导出如下:
[0372]
1.invavgluma=clip1
y
((σ
i
σ
j
predmapsamples[(xcurr<<1) i][(ycurr<<1) j] ncurrsw*ncurrsh*2)/(ncurrsw*ncurrsh*4))
[0373]
2.变量idxyinv是通过引入第8.5.6.2条款中规定的分段函数索引的标识,以样点值invavgluma作为输入导出的。
[0374]
3.varscale=chromascalecoef[idxyinv]
[0375]
recsamples导出如下:
[0376]

如果tu_cbf_cidx[xcurr][ycurr]等于1,则以下适用:
[0377]
shiftc=11
[0378]
recsamples[xcurr i][ycurr j]=clipcidx1
[0379]
(predsamples[i][j] sign(ressamples[i][j])*((abs(ressamples[i][j])*varscale (1<<(shiftc

1)))>>shiftc))(8

xxx)
[0380]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0381]

否则(tu_cbf_cidx[xcurr][ycurr]等于0)
[0382]
recsamples[xcurr i][ycurr j]=clipcidx1(predsamples[i][j])(8

xxx)
[0383]
其中i=0..ncurrsw

1,j=0..ncurrsh
–1[0384]
8.5.6图片反向映射处理
[0385]
当tile_group_reshaper_enabled_flag的值等于1时调用此条款。输入是重构图片亮度样点数组s
l
,并且输出是反向映射处理之后的修改的重构图片亮度样点数组s

l

[0386]
在8.4.6.1中规定了亮度样点值的反向映射处理。
[0387]
8.5.6.1亮度样点值的图片反向映射处理
[0388]
该处理的输入是亮度位置(xp,yp),其指定相对于当前图片的左上亮度样点的亮度样点位置。
[0389]
该处理的输出是反向映射亮度样点值invlumasample。
[0390]
通过应用以下顺序步骤导出invlumasample的值:
[0391]
1.变量idxyinv是通过引入第8.5.6.2条款中规定的分段函数索引的标识,以亮度样点值s
l
[xp][yp]作为输入导出的。
[0392]
2.reshapelumasample的值导出如下:
[0393]
shifty=14
[0394]
invlumasample=inputpivot[idxyinv] (invscalecoeff[idxyinv]*(s
l
[xp][yp]

reshapepivot[idxyinv]) (1<<(shifty

1)))>>shifty(8

xx)
[0395]
3.cliprange=((reshape_model_min_bin_idx>0)&&(reshape_model_max_bin_idx<maxbinidx));
[0396]

如果cliprange等于1,则以下适用:
[0397]
minval=16<<(bitdepth
y

8)
[0398]
maxval=235<<(bitdepth
y

8)
[0399]
invlumasample=clip3(minval,maxval,invlumasample)
[0400]

否则(cliprange等于0),
[0401]
invlumasample=clipcidx1(invlumasample)。
[0402]
8.5.6.2亮度分量的分段函数索引的标识
[0403]
该处理的输入是亮度样点值s。
[0404]
该处理的输出是索引idxs,其标识样点s所属的段。变量idxs导出如下:
[0405][0406]
注意,寻找标识idxs的可替代实现如下:
[0407][0408][0409]
2.5.2.4 ilr的使用
[0410]
在编码器侧,首先将每个图片(或片组)都转换到整形域。并且在整形域中执行所有编解码处理。对于帧内预测,临近块位于整形域中;对于帧间预测,首先将参考块(从解码图片缓冲器的原始域生成的)转换到整形域。然后生成残差并将其编解码到比特流。
[0411]
在整个图片(或片组)完成编码/解码后,将整形域中的样点转换到原始域,然后应用去块滤波器和其他滤波器。
[0412]
在以下情况下,对预测信号的前向整形被禁用。
[0413]

当前块是帧内编解码的;
[0414]

当前块被编解码为cpr(当前图片参考,也称为帧内块复制,ibc);
[0415]

当前块被编解码为组合帧间帧内模式(ciip),并且为帧内预测块禁用前向整形。
[0416]
2.6虚拟管线数据单元(vpdu)
[0417]
虚拟管线数据单元(vpdu)被定义为图片中不重叠的mxm亮度(l)/nxn色度(c)单元。在硬件解码器中,由多个管线级同时处理连续的vpdu;不同的级同时处理不同的vpdu。在大多数管线级中,vpdu尺寸大致与缓冲器尺寸成比例,因此保持vpdu的尺寸小是很重要的。在hevc硬件解码器中,将vpdu尺寸设置为最大变换块(tb)尺寸。将最大tb尺寸从32x32

l/16x16

c(如在hevc中)增大到64x64

l/32x32

c(如在当前vvc中)可以带来编解码增益,
与hevc相比,得到4倍的vpdu尺寸(64x64

l/32x32

c)。然而,除了四叉树(qt)编解码单元(cu)分割外,vvc还采用了三叉树(tt)和二叉树(bt)来实现附加的编解码增益,并且可以将tt和bt划分递归地应用于128x128

l/64x64

c编解码树块(ctu),与hevc相比,得到16倍的vpdu尺寸(128x128

l/64x64

c)。
[0418]
在vvc的当前设计中,vpdu的尺寸被定义为64x64

l/32x32

c。
[0419]
2.7 aps
[0420]
vvc采用自适应参数集(aps)来携带alf参数。片组头包含启用alf时有条件地存在的aps_id。aps包含aps_id和alf参数。为aps(来自jvet

m0132)分配新的nut(nal单元类型,如在avc和hevc中)值。对于vtm

4.0中的常规测试条件(即将出现),建议仅使用aps_id=0并将aps与每个图片一起发送。目前,aps id值的范围是0

31,并且可以跨图片共享aps(并且在图片内的不同片组中aps可以不同)。当存在时,id值应为固定长度编解码的。在相同图片内,不能将id值与不同的内容重复使用。
[0421]
2.8重构后滤波器
[0422]
2.8.1扩散滤波器(df)
[0423]
在jvet

l0157中,提出了扩散滤波器,其中可以用扩散滤波器进一步修改cu的帧内/帧间预测信号。
[0424]
2.8.1.1均匀扩散滤波器
[0425]
均匀扩散滤波器是通过将预测信号与固定掩模(给出为h
i
或h
iv
)卷积来实现的,定义如下。
[0426]
除了预测信号本身之外,块的左方和上方的一行重构样点被用作滤波信号的输入,其中在帧间块上可以避免使用这些重构样点。
[0427]
让pred作为通过帧内或运动补偿预测获得的给定块上的预测信号。为了处理滤波器的边界点,需要将预测信号扩展为预测信号pred
ext
。这种扩展的预测可以通过两种方式形成:作为中间步骤,向预测信号添加块的左方或上方的一行重构样点,并且然后在所有方向上镜像所得的信号;或者,在所有方向上只镜像预测信号本身。后一种扩展用于帧间块。在这种情况下,只有预测信号本身包括扩展预测信号pred
ext
的输入。
[0428]
如果将要使用滤波器h
i
,则建议使用上述边界扩展,用h
i
*pred来替换预测信号pred。这里,滤波器掩模h
i
给定为:
[0429][0430]
如果将要使用滤波器h
iv
,则建议用h
iv
*pred来替换预测信号pred。
[0431]
这里,滤波器h
iv
给定为
[0432]
h
iv
=h
i
*h
i
*h
i
*h
i

[0433]
2.8.1.2定向扩散滤波器
[0434]
不是使用信号自适应扩散滤波器,而是使用定向滤波器——水平滤波器h
hor
和垂直滤波器h
ver
,它们仍然有固定的掩模。更准确地说,对应于先前章节的掩模h
i
的均匀扩散滤波仅限于沿垂直或沿水平方向应用。通过将固定滤波器掩模
[0435][0436]
应用于预测信号来实现垂直滤波器,并且通过使用转置的掩模来实现水平滤波器。
[0437]
2.8.2双边滤波器(bf)
[0438]
在jvet

l0406中提出了双边滤波器,并且通常将它应用于具有非零变换系数、并且条带量化参数大于17的亮度块。因此,无需信令通知双边滤波器的使用。如果应用双边滤波器,则在逆变换后立即对解码样点执行。此外,从编解码信息中显式地导出滤波器参数(即权重)。
[0439]
将滤波处理定义为:
[0440][0441]
其中,p
0,0
是当前样点的强度,并且p

0,0
是当前样点的修正强度,p
k,0
和w
k
分别是第k个临近样点的强度和权重参数。图24描绘了一个当前样点及其四个临近样点(即k=4)的示例。
[0442]
更具体地,与第k个临近样点相关联的权重w
k
(x)定义如下:
[0443]
w
k
(x)=distance
k
×
range
k
(x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0444]
其中
[0445][0446]
并且σ
d
取决于编解码模式和编解码块尺寸。当tu被进一步划分时,所描述的滤波处理被应用于帧内编解码块和帧间编解码块,以启用并行处理。
[0447]
为了更好地捕获视频信号的统计特性,并提高滤波器的性能,用σ
d
参数调整由等式(2)得到的权重函数,如表5所示,其取决于编解码模式和块分割的参数(最小尺寸)。
[0448]
表5不同块尺寸和编解码模式的σ
d
的值
[0449]
最小(块宽度、块高度)帧内模式帧间模式4826287252
其它5232
[0450]
为了进一步提高编解码性能,对于帧间编解码的块,当tu未划分时,用覆盖当前样点和临近样点的两个窗口之间的代表性强度差来代替当前样点与其一个临近样点之间的强度差。因此,将滤波处理的等式修正为:
[0451][0452]
其中p
k,m
和p
0,m
分别表示以p
k,0
和p
0,0
为中心的窗口中的第m个样点。在本提案中,将窗口尺寸设置为3
×
3。覆盖p
2,0
和p
0,0
的两个窗口如图25所示。
[0453]
2.8.3 hadamard变换域滤波器(hf)
[0454]
在jvet

k0068中,在重构后应用于cu级的1d hadamard变换域中的环路滤波器实现了无乘法运算。将所提出的滤波器应用于满足预定义的条件的所有cu块,并且滤波器参数是从编解码信息中导出的。
[0455]
通常将所提出的滤波应用于具有非零变换系数的亮度重构块,4x4块和条带量化参数大于17的情况除外。滤波器参数是从编解码信息中显式地导出的。如果应用了所提出的滤波器,则在逆变换后立即对解码样点执行。
[0456]
对于来自重构块的每个像素,像素处理包括以下步骤:
[0457]
·
根据扫描图案扫描处理像素周围的4个临近像素(包括当前像素);
[0458]
·
读取像素的4点hadamard变换;
[0459]
·
基于以下公式的频谱滤波:
[0460][0461]
其中(i)是hadamard频谱中频谱分量的索引,r(i)是与索引相对应的重构像素的频谱分量,σ是使用以下等式从编解码器量化参数qp中导出的滤波参数:
[0462]
σ=2
(1 0.126*(qp

27))
[0463]
扫描模式的示例如图26所示。
[0464]
对于位于cu边界上的像素,调整扫描模式以确保所有所需像素都在当前cu内。
[0465]
3.现有实现的缺点
[0466]
ilr的当前设计可能存在以下问题:
[0467]
1.可能从未在序列中信令通知整形模型信息,但在当前条带(或片组)中,tile_group_reshaper_enable_flag被设置为等于1。
[0468]
2.存储的整形模型可能来自不能用作参考的条带(或片组)。
[0469]
3.一个图片可以被划分成多个条带(或片组),并且每个条带(或片组)可以信令通知整形模型信息。
[0470]
4.仅在比特深度等于10时才定义一些值和范围(诸如rspcw[i]的范围)。
[0471]
5.reshape_model_delta_max_bin_idx没有被很好的约束。
[0472]
6.reshaper_model_bin_delta_abs_cw_prec_minus1没有被很好的约束。
[0473]
7.reshapepivot[i]可能大于1<<bitdepth

1。
[0474]
8.在没有考虑ilr的使用的情况下使用固定剪切参数(即,最小值等于0,并且最大值等于(1<<bd)

1)。这里,bd表示比特深度。
[0475]
9.对色度分量的整形操作仅考虑4:2:0颜色格式。
[0476]
10.不同于亮度分量(其中每个亮度值可被不同地整形),对于色度分量仅选择并使用一个因子。这样的缩放可以合并到量化/去量化步骤中以降低附加的复杂性。
[0477]
11.图片反向映射处理中的剪切可以分别考虑上边界和下边界。
[0478]
12.对于i不在reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx范围内的情况,未正确设置reshapepivot[i]。
[0479]
4.示例实施例和技术
[0480]
下面描述的详细实施例应被视为解释一般概念的示例。不应狭义地解释这些实施例。此外,这些实施例可以以任何方式组合。
[0481]
1.提出了在对序列进行解码之前初始化整形模型。
[0482]
a.可选地,在解码i条带(或图片、或片组)之前初始化整形模型。
[0483]
b.可选地,在解码瞬时解码刷新(idr)条带(或图片、或片组)之前初始化整形模型。
[0484]
c.可选地,在解码干净随机存取(cra)条带(或图片、或片组)之前初始化整形模型。
[0485]
d.可选地,在解码帧内随机接入点(i

rap)条带(或图片、或片组)之前初始化整形模型。i

rap条带(或图片、或片组)可以包括idr条带(或图片、或片组)和/或cra条带(或图片、或片组)和/或断链访问(bla)条带(或图片、或片组)。
[0486]
e.在初始化整形模型的一个示例中,将orgcw设置为等于(1<<bitdepth
y
)/(maxbinidx 1),对于i=0,1,

,maxbinidx,reshapepivot[i]=inputpivot[i]=i*orgcw。
[0487]
f.在初始化整形模型的一个示例中,对于i=0,1,

,maxbinidx,scalecoef[i]=invscalecoeff[i]=1<<shifty。
[0488]
g.在初始化整形模型的一个示例中,将orgcw被设置为等于(1<<bitdepth
y
)/(maxbinidx 1),对于i=0,1,

,maxbinidx,rspcw[i]=orgcw。
[0489]
h.可选地,可以在序列级(诸如在sps中)、或图片级(诸如在pps中)信令通知默认的整形模型信息,并且将整形模型初始化为默认模型。
[0490]
i.可选地,当未初始化整形模型时,约束ilr应被禁用。
[0491]
2.提出只能在i条带(或图片、或片组)中信令通知整形模型信息(诸如tile_group_reshaper_model()中的信息)。
[0492]
a.可选地,只能在idr条带(或图片、或片组)中信令通知整形模型信息(诸如tile_group_reshaper_model()中的信息)。
[0493]
b.可选地,只能在cra条带(或图片、或片组)中信令通知整形模型信息(诸如tile_group_reshaper_model()中的信息)。
[0494]
c可选地,只能在i

rap条带(或图片、或片组)中信令通知整形模型信息(诸如tile_group_reshaper_model()中的信息)。i

rap条带(或图片、或片组)可以包括idr条带(或图片、或片组)和/或cra条带(或图片、或片组)和/或断链访问(bla)条带(或图片、或片组)。
[0495]
d.可选地,可以在序列级(诸如在sps中)或图片级(诸如在pps中)或aps处信令通
知整形模型信息(诸如tile_group_reshaper_model()中的信息)。
[0496]
3.建议禁止在特定图片类型(诸如irap图片)上使用来自图片/条带/片组的整形信息。
[0497]
a.在一个示例中,如果在第一条带(或图片、或片组)之后但在第二条带(或图片、或片组)之前发送i条带(或图片、或片组),或第二条带(或图片、或片组)本身是i条带(或图片、或片组),则在第一条带(或图片、或片组)中信令通知的整形模型信息不能由第二条带(或图片、或片组)使用。
[0498]
b.可选地,如果在第一条带(或图片、或片组)之后但在第二条带(或图片、或片组)之前发送idr条带(或图片、或片组),或第二条带(或图片、或片组)本身是idr条带(或图片、或片组),则在第一条带(或图片、或片组)中信令通知的整形模型信息不能由第二条带(或图片、或片组)使用。
[0499]
c.可选地,如果在第一条带(或图片、或片组)之后但在第二条带(或图片、或片组)之前发送cra条带(或图片、或片组),或第二条带(或图片、或片组)本身是cra条带(或图片、或片组),则在第一条带(或图片、或片组)中信令通知的整形模型信息不能由第二条带(或图片、或片组)使用。
[0500]
d.可选地,如果在第一条带(或图片、或片组)之后但在第二条带(或图片、或片组)之前发送i

rap条带(或图片、或片组),或第二条带(或图片、或片组)本身是i

rap条带(或图片、或片组),则在第一条带(或图片、或片组)中信令通知的整形模型信息不能由第二条带(或图片、或片组)使用。i

rap条带(或图片、或片组)可以包括idr条带(或图片、或片组)和/或cra条带(或图片、或片组)和/或断链访问(bla)条带(或图片、或片组)。
[0501]
4.在一个示例中,在i条带(或图片、或片组)中信令通知标志。如果标志为x,则在此条带(或图片、或片组)中信令通知整形模型信息,否则,在解码此条带(或图片、或片组)之前初始化整形模型。例如,x=0或1。
[0502]
a.可选地,在idr条带(或图片、或片组)中信令通知标志。如果标志为x,则在此条带(或图片、或片组)中信令通知整形模型信息,否则,在解码此条带(或图片、或片组)之前初始化整形模型。例如,x=0或1。
[0503]
b.可选地,在cra条带(或图片、或片组)中信令通知标志。如果标志为x,则在此条带(或图片、或片组)中信令通知整形模型信息,否则,在解码此条带(或图片、或片组)之前初始化整形模型。例如,x=0或1。
[0504]
c.可选地,在i

rap条带(或图片、或片组)中信令通知标志。如果标志为x,则在此条带(或图片、或片组)中信令通知整形模型信息,否则,在解码此条带(或图片、或片组)之前初始化整形模型。例如,x=0或1。i

rap条带(或图片、或片组)可以包括idr条带(或图片、或片组)和/或cra条带(或图片、或片组)和/或断链访问(bla)条带(或图片、或片组)。
[0505]
5.在一个示例中,如果将一个图片划分为几个条带(或片组),则每个条带(或片组)应共享相同的整形模型信息。
[0506]
a.在一个示例中,如果将一个图片划分为几个条带(或片组),则只有第一条带(或片组)可以信令通知整形模型信息。
[0507]
6.应取决于比特深度初始化、操纵和约束整形中使用的变量。
[0508]
a.在一个示例中,maxbinidx=f(bitdepth),其中f是函数。例如,maxbinidx=4*2
(bitdepth

8)

1。
[0509]
b.在一个示例中,rspcw[i]应在g(bitdepth)到2*orgcw

1的范围内。例如,rspcw[i]应在8*2
(bitdepth

8)
到2*orgcw

1的范围内。
[0510]
7.在一个示例中,如果rspcw[i]等于0,则对于i=0,1,

,maxbinidx,scalecoef[i]=invscalecoeff[i]=1<<shifty。
[0511]
8.提出reshape_model_delta_max_bin_idx应在在0到maxbinidx

reshape_model_min_bin_idx的范围内,包括0和maxbinidx

reshape_model_min_bin_idx。
[0512]
a.可选地,reshape_model_delta_max_bin_idx应该在0到maxbinidx的范围内,包括0和maxbinidx。
[0513]
b.在一个示例中,将reshape_model_delta_max_bin_idx剪切到从0到maxbinidx

reshape_model_min_bin_idx的范围内,包括0和maxbinidx

reshape_model_min_bin_idx。
[0514]
c.在一个示例中,将reshape_model_delta_max_bin_idx剪切到0到maxbinidx的范围内,包括0和maxbinidx。
[0515]
d.在一个示例中,reshaper_model_min_bin_idx必须小于或等于reshaper_model_max_bin_idx。
[0516]
e.在一个示例中,将reshaper_model_max_bin_idx剪切到从reshaper_model_min_bin_idx到maxbinidx的范围内,包括reshaper_model_min_bin_idx和maxbinidx。
[0517]
f.在一个示例中,将reshaper_model_min_bin_idx剪切到从0到reshaper_model_max_bin_idx的范围内,包括0和reshaper_model_max_bin_idx。
[0518]
g.一致比特流可能需要上述一个或一些约束。
[0519]
9.提出将reshape_model_max_bin_idx设置为等于reshape_model_min_bin_idx reshape_model_delta_maxmin_bin_idx,其中是无符号整数的reshape_model_delta_maxmin_bin_idx是在reshape_model_min_bin_idx之后信令通知的语法元素。
[0520]
b.在一个示例中,reshape_model_delta_maxmin_bin_idx应在从0到maxbinidx

reshape_model_min_bin_idx的范围内,包括0和maxbinidx

reshape_model_min_bin_idx。
[0521]
c.在一个示例中,reshape_model_delta_maxmin_bin_idx应在从1到maxbinidx

reshape_model_min_bin_idx的范围内,包括1和maxbinidx

reshape_model_min_bin_idx。
[0522]
d.在一个示例中,应将reshape_model_delta_maxmin_bin_idx剪切到从0到maxbinidx

reshape_model_min_bin_idx的范围内,包括0和maxbinidx

reshape_model_min_bin_idx。
[0523]
e.在一个示例中,应将reshape_model_delta_maxmin_bin_idx剪切到从1到maxbinidx

reshape_model_min_bin_idx的范围内,包括1和maxbinidx

reshape_model_min_bin_idx。
[0524]
e.一致比特流可能需要上述一个或一些约束。
[0525]
10.提出reshaper_model_bin_delta_abs_cw_prec_minus1应小于阈值t。
[0526]
a.在一个示例中,t可以是固定数,诸如6或7。
[0527]
b.在一个示例中,t可以取决于比特深度。
[0528]
c.一致比特流可能需要上述约束。
[0529]
11.提出可由rspcw[i

1]预测rspcw[i],即rspcw[i]=rspcw[i

1] rspdeltacw
[i]。
[0530]
a.在一个示例中,当reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx时,可由rspcw[i

1]预测rspcw[i]。
[0531]
b.在一个示例中,由orgcw预测rspcw[i],即当i等于0时,rspcw[i]=orgcw rspdeltacw[i]。
[0532]
c.在一个示例中,由orgcw预测rspcw[i],即当i等于reshaper_model_min_bin_idx时,rspcw[i]=orgcw rspdeltacw[i]。
[0533]
12.提出从不信令通知reshape_model_bin_delta_sign_cw[i],且rspdeltacw[i]=reshape_model_bin_delta_abs_cw[i]始终是正数。
[0534]
a.在一个示例中,rspcw[i]=minv rspdeltacw[i]。
[0535]
i.在一个示例中,minv=32;
[0536]
ii.在一个示例中,minv=g(bitdepth)。例如,minv=8*2
(bitdepth

8)

[0537]
13.invavgluma的计算可取决于颜色格式。
[0538]
a.在一个示例中,invavgluma=clip1
y
((∑
i

j
predmapsamples[(xcurr<<scalex) i][(ycurr<<scaley) j] ((ncurrsw<<scalex)*(ncurrsh<<scaley)>>1))/((ncurrsw<<scalex)*(ncurrsh<<scaley)))
[0539]
i.对于4:2:0格式,scalex=scaley=1;
[0540]
ii.对于4:4:4格式,scalex=scaley=0;
[0541]
iii.对于4:2:2格式,scalex=1且scaley=0。
[0542]
14.提出图像反向映射处理中的剪切可以分别考虑上边界和下边界。
[0543]
a.在一个示例中,invlumasample=clip3(minval,maxval,invlumasample),minval、maxval是根据不同的条件计算的。
[0544]
i.例如,如果reshape_model_min_bin_idx>0,则minval=t1<<(bitdepth

8);否则,minval=0;例如t1=16。
[0545]
ii.例如,如果reshape_model_max_bin_idx<maxbinidx,则maxval=t2<<(bitdepth

8);否则,maxval=(1<<bitdepth)

1;例如t2=235。
[0546]
在另一个示例中,t2=40。
[0547]
15.提出将reshapepivot[i]约束为reshapepivot[i]<=t,例如t=(1<<bitdepth)

1。
[0548]
a.例如,reshapepivot[i 1]=min(reshapepivot[i] rspcw[i],t)。
[0549]
16.可以隐式地为每个块或tu导出色度qp偏移(表示为dchromaqp),并且可以将其添加到色度qp,而不是整形色度分量的每个像素域残差值。以这种方式将色度分量的整形合并到量化/去量化处理中。
[0550]
a.在一个示例中,可以基于表示为replumaval的代表性亮度值导出dchromaqp。
[0551]
b.在一个示例中,可使用块或tu的亮度预测值的部分或全部导出replumaval。
[0552]
c.在一个示例中,可使用块或tu的亮度重构值的部分或全部导出replumaval。
[0553]
d.在一个示例中,可将replumaval导出为块或tu的亮度预测或重构值的部分或全部的平均值。
[0554]
e.假设reshapepivot[idx]<=replumaval<reshapepivot[idx 1],则
invscalecoeff[idx]可用于导出dchromaqp。
[0555]
i.在一个示例中,可将dqp选择为argmin abs(2^(x/6 shifty)

invscalecoeff[idx]),x=

n

,m。例如,n=m=63。
[0556]
ii.在一个示例中,可将dqp选择为argmin abs(1

(2^(x/6 shifty)/invscalecoeff[idx])),x=

n

,m。例如,n=m=63。
[0557]
iii.在一个示例中,对于不同的invscalecoeff[idx]值,可以预先计算dchromaqp并将其存储在查找表中。
[0558]
17.可以隐式地为每个块或tu导出亮度qp偏移(表示为dqp),并且可以将其添加到亮度qp,而不是整形亮度分量的每个像素域残差值。以这种方式将亮度分量的整形合并到量化/去量化处理中。
[0559]
a.在一个示例中,可以基于表示为replumaval的代表性亮度值导出dqp。
[0560]
b.在一个示例中,可使用块或tu的亮度预测值的部分或全部导出replumaval。
[0561]
c.在一个示例中,可将replumaval导出为块或tu的亮度预测值的部分或全部的平均值。
[0562]
d.假设idx=replumaval/orgcw,则invscalecoeff[idx]可用于导出dqp。
[0563]
i.在一个示例中,可将dqp选择为argmin abs(2^(x/6 shifty)

invscalecoeff[idx]),x=

n

,m。例如,n=m=63。
[0564]
ii.在一个示例中,可将dqp选择为argmin abs(1

(2^(x/6 shifty)/invscalecoeff[idx])),x=

n

,m。例如,n=m=63。
[0565]
iii.在一个示例中,对于不同的invscalecoeff[idx]值,可以预先计算dqp并将其存储在查找表中。
[0566]
在这种情况下,可将dchromaqp设置为等于dqp。
[0567]
5.公开技术的示例实现
[0568]
图27a是视频处理装置2700的框图。装置2700可用于实现本文所述的一种或多种方法。该装置2700可实施于智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置2700可以包括一个或多个处理器2702、一个或多个存储器2704和视频处理硬件2706。(一个或多个)处理器2702可以被配置成实现本文所述的一种或多种方法。(一个或多个)存储器2704可用于存储用于实现本文所述的方法和技术的数据和代码。视频处理硬件2706可以用于在硬件电路中实现本文所述的一些技术,并且可以部分或完全是处理器2702的一部分(例如,图形处理器核心gpu或其他信号处理电路)。
[0569]
图27b是可以实现所公开的技术的视频处理系统的框图的另一示例。图27b是示出其中可以实现本文公开的各种技术的示例视频处理系统4100的框图。各种实现可以包括系统4100的部分或全部组件。系统4100可以包括用于接收视频内容的输入4102。视频内容可以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以压缩或编码格式接收。输入4102可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口和诸如wi

fi或蜂窝接口的无线接口。
[0570]
系统4100可以包括编解码组件4104,其可以实现本文所述的各种编解码或编码方法。编解码组件4104可以降低从输入4102到编解码组件4104的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码
组件4104的输出可以存储,或者通过由组件4106表示的连接的通信来发送。组件4108可以使用在输入4102处接收的视频的存储或通信的比特流(或编解码)表示,用于生成发送到显示接口4110的像素值或可显示视频。从比特流表示生成用户可视视频的处理有时被称为视频解压缩。此外,虽然一些视频处理操作被称为“编解码”操作或工具,但是应当理解的是,在编码器处使用编解码工具或操作,并且将由解码器执行反转编解码结果的对应的解码工具或操作。
[0571]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文所述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能手机、或能够执行数字数据处理和/或视频显示的其他设备。
[0572]
在本文中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换中应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于由语法定义的比特流内的并置或在不同位置传播的比特。例如,可以根据经过转换和编解码的误差残差值、并且也可以使用比特流中的头和其他字段中的比特对宏块进行编码。
[0573]
应当理解的是,通过允许使用本文中公开的技术,所公开的方法和技术将有利于并入诸如智能手机、笔记本电脑、台式机、以及类似设备的视频处理设备内的视频编码器和/或解码器实施例。
[0574]
图28a是视频处理的示例方法2810的流程图。方法2810包括:在步骤2812处,为视频的视频区域的多个视频单元和多个视频单元的编解码表示之间的转换,确定由多个视频单元共同共享的整形模型信息。方法2810还包括:在步骤2814处,执行视频的编解码表示和视频之间的转换。
[0575]
图28b是视频处理的示例方法2820的流程图。方法2820包括:在步骤2822处,为包含一个或多个视频区域的视频的编解码表示和视频之间的转换,将整形模型信息中的变量的值确定为视频的比特深度的函数。方法2820还包括:在步骤2824处,基于确定执行转换。
[0576]
图28c是视频处理的示例方法2830的流程图。方法2830包括:在步骤2832处,为包含一个或多个视频区域的视频的编解码表示和视频之间的转换,确定启用或禁用环路整形(ilr)。方法2830还包括:在步骤2834处,基于确定执行转换。在一些实现中,在未初始化整形模型信息的情况下,所述确定决定禁用ilr。
[0577]
图28d是视频处理的示例方法2840的流程图。方法2840包括:在步骤2842处,为视频的第一视频区域和第一视频区域的编解码表示之间的转换,基于规则确定是否可将来自第二视频区域的整形信息用于转换。方法2840还包括:在步骤2844处,根据确定执行转换。
[0578]
图28e是视频处理的示例方法2850的流程图。方法2850包括:在步骤2852处,执行包含一个或多个视频区域的视频的编解码表示和视频之间的转换。在一些实现中,编解码表示包括适用于一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息。在一些实现中,整形模型信息提供用于基于第一域和第二域中的视频单元的表示重构视频区域的视频单元和/或缩放色度视频单元的色度残差的信息。在一些实现中,基于初始化规则初始化整形模型信息。在一些实现中,仅当视频区域是使用特定编解码类型编解码时,才在编解码表示中包含整形模型信息。在一些实现中,在视频的当前视频区域和当前视频区域的编
解码表示之间执行转换,使得使用特定编解码类型对当前视频区域进行编解码,其中,编解码表示符合格式规则,该格式规则指定编解码表示中的整形模型信息有条件地基于视频区域级的编解码表示中的标志的值。
[0579]
在一些实现中,整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息。在一些实现中,整形模型信息包括参数集,该参数集包括语法元素,该语法元素指定允许的最大二进制数索引和将在重构中使用的最大二进制数索引之间的差,并且其中,该参数在一个范围内。在一些实现中,整形模型信息包括参数集,该参数集包括将在重构中使用的最大二进制数索引,并且其中,将最大二进制数索引导出为第一值,该第一值等于将在重构中使用的最小二进制数索引和是无符号整数并在最小二进制数索引之后信令通知的语法元素的和。
[0580]
在一些实现中,整形模型信息包括参数集,该参数集包括第一语法元素,该第一语法元素导出用于表示第二语法元素的比特的数量,该第二语法元素指定来自对应的二进制数的绝对增量码字值,并且第一语法元素的值小于阈值。在一些实现中,整形模型信息包括参数集,该参数集包括表示ilr中使用的第i个二进制数的斜率的、并且具有基于第(i

1)个参数的值的第i个参数,i是正整数。在一些实现中,用于ilr的整形模型信息包括参数集,该参数集包括reshape_model_bin_delta_sign_cw[i],不信令通知reshape_model_bin_delta_sign_cw[i]并且rspdeltacw[i]=reshape_model_bin_delta_abs_cw[i]始终为正数。在一些实现中,整形模型信息包括参数集,该参数集包括用于取决于视频区域的颜色格式使用亮度值进行缩放的参数invavgluma。在一些实现中,转换包括将重构图片亮度样点变换为修改的重构图片亮度样点的图片反向映射处理,并且图片反向映射处理包括剪切,其中将上边界和下边界设置为彼此分离。在一些实现中,整形模型信息包括参数集,该参数集包括受约束使得pivot[i]<=t的枢轴量。在一些实现中,色度量化参数(qp)具有针对每个块或变换单元导出其值的偏移。在一些实现中,亮度量化参数(qp)具有针对每个块或变换单元导出其值的偏移。
[0581]
可以使用以下基于条款的格式来描述各种技术和实施例。
[0582]
第一组条款描述先前章节中列出的公开技术的一些特征和方面。
[0583]
1.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤。
[0584]
2.根据条款1所述的方法,其中所述解码步骤涉及i条带、图片或片组。
[0585]
3.根据条款1所述的方法,其中所述解码步骤涉及瞬时解码刷新(idr)条带、图片或片组。
[0586]
4.根据条款1所述的方法,其中所述解码步骤涉及干净随机存取(cra)条带、图片或片组。
[0587]
5.根据条款1所述的方法,其中所述解码步骤涉及帧内随机接入点(i

rap)条带图片、或片组。
[0588]
6.根据条款1所述的方法,其中i

rap条带、图片或片组可以包括以下的一个或多
个:idr条带、图片或片组,cra条带、图片或片组,或断链访问(bla)条带、图片或片组。
[0589]
7.根据条款1至6中任一项或多项所述的方法,其中所述初始化步骤发生在所述解码步骤之前。
[0590]
8.根据条款1至7中任一项或多项所述的方法,其中所述初始化步骤包括:将orgcw量设置为(1<<bitdepthy)/(maxbinidx 1),reshapepivot[i]=inputpivot[i]=i*orgcw(i=0,1,

,maxbinidx),其中orgcw、bitdepthy、maxbinidx和reshapepivot是与所述整形模型信息相关联的量。
[0591]
9.根据条款1至7中任一项或多项所述的方法,其中所述初始化步骤包括:将量设置为scalecoef[i]=invscalecoeff[i]=1<<shifty(i=0,1,

,maxbinidx),其中scalecoef、invscalecoeff和shifty是与所述整形模型信息相关联的量。
[0592]
10.根据条款1至7中任一项或多项所述的方法,其中所述初始化步骤包括:将orgcw量设置为(1<<bitdepthy)/(maxbinidx 1),rspcw[i]=orgcw(i=0,1,

,maxbinidx),orgcw设置为等于(1<<bitdepthy)/(maxbinidx 1).rspcw[i]=orgcw(i=0,1,

,maxbinidx),其中orgcw、bitdepthy、maxbinidx和rspcw是与所述整形模型信息相关联的量。
[0593]
11.根据条款1所述的方法,其中,所述初始化步骤包括:将所述整形模型信息设置为默认值,并且其中,所述信令通知步骤包括:信令通知序列参数集(sps)或图片参数集(pps)中包含的所述默认值。
[0594]
12.根据条款1所述的方法,还包括:在确定在所述初始化步骤期间未初始化所述整形模型信息时,禁用所述环路整形步骤。
[0595]
13.根据条款1所述的方法,其中,在所述信令通知步骤期间,在以下任一个中信令通知所述整形模型信息:i条带、图片或片组,idr条带、图片或片组、帧内随机接入点(i

rap)条带、图片或片组。
[0596]
14.根据条款1所述的方法,其中i

rap条带、图片或片组可以包括以下的一个或多个:idr条带、图片或片组,cra条带、图片或片组,或断链访问(bla)条带、图片或片组。
[0597]
15.根据条款1所述的方法,其中所述信令通知步骤包括:信令通知序列参数集(sps)或图片参数集(pps)中包括的所述整形模型信息。
[0598]
16.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤,并且当在第一图片中信令通知所述整形模型信息时在第二图片中禁用所述整形模型信息。
[0599]
17.根据条款16所述的方法,还包括:如果在所述第一图片之后但在所述第二图片之前发送中间图片,则当在所述第一图片中信令通知所述整形模型信息时,在所述第二图片中禁用所述整形模型信息的利用。
[0600]
18.根据条款17所述的方法,其中所述第二图片是i图片、idr图片、cra图片、或i

rap图片。
[0601]
19.根据条款17至18中任一项或多项所述的方法,其中所述中间图片是i图片、idr
图片、cra图片、或i

rap图片。
[0602]
20.根据条款16至19中任一项或多项所述的方法,其中所述图片包括片或组。
[0603]
21.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤,并且在所述信令通知步骤期间,在图片中信令通知标志,使得基于所述标志在所述图片中发送所述整形模型信息,否则在所述解码步骤中对所述图片进行解码之前,在所述初始化步骤中初始化所述整形模型信息。
[0604]
22.根据条款21所述的方法,其中所述图片是i图片、idr图片、cra图片、或i

rap图片。
[0605]
23.根据条款21至22中任一项或多项所述的方法,其中所述图片包括片或组。
[0606]
24.根据条款21所述的方法,其中所述标志的值为0或1。
[0607]
25.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤,并且在将图片划分成多个单元后,与所述多个单元中的每个单元相关联的整形模型信息是相同的。
[0608]
26.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤,并且在将图片划分成多个单元后,仅在所述多个单元的第一单元中信令通知所述整形模型信息。
[0609]
27.根据条款25至26中任一项或多项所述的方法,其中所述单元对应于条带或片组。
[0610]
28.一种视觉媒体处理方法,包括:执行当前视频块和所述当前视频块的比特流表示之间的转换,其中,在所述转换期间,根据与环路整形步骤相关联的侧信息,使用所述环路整形步骤将所述当前视频块的表示从第一域变换到第二域,其中所述环路整形步骤部分基于整形模型信息,并且其中,在所述转换期间,将所述整形模型信息用于以下一个或多个:初始化步骤、信令通知步骤、或解码步骤,并且其中,基于比特深度值操纵所述整形模型信息。
[0611]
29.根据条款28所述的方法,其中所述整形模型信息包括与所述比特深度值相关的maxbinidx变量。
[0612]
30.根据条款28所述的方法,其中所述整形模型信息包括与所述比特深度值相关的rspcw变量。
[0613]
30.根据条款29所述的方法,其中所述整形模型信息包括reshape_model_delta_max_bin_idx变量,其值在从0到所述maxbinidx变量的范围内。
[0614]
31.根据条款29所述的方法,其中,所述整形模型信息包括在从0开始到对应于maxbinidx

reshape_model_min_bin_idx的值的范围内剪切的reshape_model_delta_max_bin_idx变量,其中reshape_model_min_bin_idx是所述整形模型信息中的另一个变量。
[0615]
32.根据条款29所述的方法,其中所述整形模型信息包括在从0开始到maxbinidx变量的范围内剪切的reshape_model_delta_max_bin_idx变量。
[0616]
33.根据条款29所述的方法,其中所述整形模型信息包括reshaper_model_min_bin_idx变量和reshaper_model_delta_max_bin_idx变量,其中所述reshaper_model_min_bin_idx变量小于所述reshaper_model_min_bin_idx变量。
[0617]
34.根据条款29所述的方法,其中所述整形模型信息包括reshaper_model_min_bin_idx变量和reshaper_model_delta_max_bin_idx变量,其中所述reshaper_model_max_bin_idx被剪切到从reshaper_model_min_bin_idx到maxbinidx的范围内。
[0618]
35.根据条款29所述的方法,其中所述整形模型信息包括reshaper_model_min_bin_idx变量和reshaper_model_delta_max_bin_idx变量,其中所述reshaper_model_min_bin_idx被剪切到从0到reshaper_model_max_bin_idx的范围内。
[0619]
36.根据条款29所述的方法,其中,所述整形模型信息包括小于阈值的reshaper_model_bin_delta_abs_cw_prec_minus1变量。
[0620]
37.根据条款36所述的方法,其中所述阈值是固定数。
[0621]
38.根据条款36所述的方法,其中所述阈值基于所述比特深度值。
[0622]
39.根据条款28所述的方法,其中所述整形模型信息包括计算为invavgluma=clip1y((i j predmapsamples[(xcurr<<scalex) i][(ycurr<<scaley) j] ((ncurrsw<<scalex)*(ncurrsh<<scaley)>>1))/((ncurrsw<<scalex)*(ncurrsh<<scaley)))的invavgluma变量。
[0623]
40.根据条款28所述的方法,其中对于4:2:0格式,scalex=scaley=1。
[0624]
41.根据条款28所述的方法,其中对于4:4:4格式,scalex=scaley=1。
[0625]
42.根据条款28所述的方法,其中对于4:2:2格式,scalex=1且scaley=0。
[0626]
43.根据条款28所述的方法,其中所述整形模型信息包括计算为invlumasample=clip3(minval,maxval,invlumasample)的invlumasample变量。
[0627]
44.根据条款43所述的方法,其中如果reshape_model_min_bin_idx>0,则minval=t1<<(bitdepth

8),否则minval=0。
[0628]
45.根据条款43所述的方法,其中如果reshape_model_max_bin_idx<maxbinidx,则maxval=t2<<(bitdepth

8),否则maxval=(1<<bitdepth)

1。
[0629]
46.根据条款44所述的方法,其中t1=16。
[0630]
47.根据条款45所述的方法,其中t2取值235或40。
[0631]
48.根据条款28所述的方法,其中,所述整形模型信息包括以使reshapepivot[i]<=t的方式约束的reshapepivot量。
[0632]
49.根据条款48所述的方法,其中t可计算为t=(1<<bitdepth)

1,其中bitdepth对应于所述比特深度值。
[0633]
50.根据条款1至49中任一项或多项所述的方法,其中所述视频处理是编码器侧实现。
[0634]
51.根据条款1至49中任一项或多项所述的方法,其中所述视频处理是解码器侧实现。
[0635]
52.一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器,其中,在所述处理器执行所述指令时,所述指令使所述处理器实现条款1至49中任一项或多项所述的方法。
[0636]
53.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实现条款1至49中任一项或多项所述的方法的程序代码。
[0637]
第二组条款描述了先前章节(例如,包括示例1到7)中列出的公开技术的一些特征和方面。
[0638]
1.一种视频处理方法,包括:为视频的视频区域的多个视频单元和所述多个视频单元的编解码表示之间的转换,确定由所述多个视频单元共同共享的整形模型信息;以及执行所述视频的编解码表示和所述视频之间的转换,其中,所述整形模型信息提供用于第一域和第二域中构建视频样点、和/或缩放色度视频单元的色度残差的信息。
[0639]
2.根据条款1所述的方法,其中所述多个视频单元对应于多个条带或多个片组。
[0640]
3.根据条款2所述的方法,其中所述多个视频单元与同一图片相关联。
[0641]
4.根据条款1所述的方法,其中所述整形模型信息在所述多个视频单元的所述编解码表示中仅出现一次。
[0642]
5.一种视频处理方法,包括:为包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,将整形模型信息中的变量的值确定为所述视频的比特深度的函数;以及基于所述确定执行所述转换,其中所述整形信息适用于所述一个或多个视频区域中的一些的环路整形(ilr),并且其中,所述整形信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息。
[0643]
6.根据条款5所述的方法,其中所述变量包括与所述比特深度值相关的maxbinidx变量。
[0644]
7.根据条款5所述的方法,其中所述变量包括与所述比特深度值相关的rspcw变量。
[0645]
8.根据条款7所述的方法,其中将所述变量rspcw用于导出变量reshapepivot,将所述变量reshapepivot用于导出视频区域的视频单元的重构。
[0646]
9.根据条款5所述的方法,其中如果rspcw[i]等于0(i在从0到maxbinidx的范围内),则所述变量包括满足invscalecoeff[i]=1<<shifty的invscalecoef[i],其中shifty是表示精度的整数。
[0647]
10.根据条款9所述的方法,其中shifty是11或14。
[0648]
11.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间执行的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的视频单元的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,已基于初始化规则初始化所述整形模型信息。
[0649]
12.根据条款11所述的方法,其中所述整形模型信息的初始化发生在解码所述视频的序列之前。
[0650]
13.根据条款11所述的方法,其中所述整形模型信息的初始化发生在解码以下的至少一个之前:i)用帧内(i)编解码类型编解码的视频区域、ii)用瞬时解码刷新(idr)编解码类型编解码的视频区域、iii)用干净随机存取(cra)编解码类型编解码的视频区域、或iv)用帧内随机接入点(i

rap)编解码类型编解码的视频区域。
[0651]
14.根据条款13所述的方法,其中用所述帧内随机接入点(i

rap)编解码的所述视频区域包括以下的至少一个:i)用瞬时解码刷新(idr)编解码类型编解码的所述视频区域、ii)用干净随机存取(cra)编解码类型编解码的所述视频区域、和/或iii)用断链访问(bla)编解码类型编解码的所述视频区域。
[0652]
15.根据条款11所述的方法,其中所述整形模型信息的初始化包括:将orgcw量设置为(1<<bitdepth
y
)/(maxbinidx 1),reshapepivot[i]=inputpivot[i]=i*orgcw(i=0,1,

,maxbinidx),其中orgcw、bitdepth
y
、maxbinidx和reshapepivot是与所述整形模型信息相关联的量。
[0653]
16.根据条款11所述的方法,其中所述整形模型信息的初始化包括:将量设置为scalecoef[i]=invscalecoeff[i]=1<<shifty(i=0,1,

,maxbinidx),其中scalecoef、invscalecoeff和shifty是与所述整形模型信息相关联的量。
[0654]
17.根据条款11所述的方法,其中所述整形模型信息的初始化包括:将orgcw量设置为(1<<bitdepth
y
)/(maxbinidx 1),rspcw[i]=orgcw(i=0,1,

,maxbinidx),orgcw设置为等于(1<<bitdepth
y
)/(maxbinidx 1),rspcw[i]=orgcw(i=0,1,

,maxbinidx),其中orgcw、bitdepthy、maxbinidx和rspcw是与所述整形模型信息相关联的量。
[0655]
18.根据条款11所述的方法,其中,所述整形模型信息的初始化包括:将所述整形模型信息设置为默认值,并且其中,在序列参数集(sps)或图片参数集(pps)中包含所述默认值。
[0656]
19.一种视频处理方法,包括:为包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,确定启用或禁用环路整形(ilr);以及基于所述确定执行所述转换,并且其中,所述编解码表示包括适用于所述一个或多个视频区域中的一些的所述ilr的整形模型信息,并且其中,所述整形模型信息提供用于基于第一域和第二域重构视频区域、和/或缩放色度视频单元的色度残差的信息,并且其中,在未初始化所述整形模型信息的情况下,所述确定决定禁用所述ilr。
[0657]
20.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,其中,仅当所述视频区域使用特定编解码类型编解码时,才在所述编解码表示中包括所述整形模型信息。
[0658]
21.根据条款20所述的方法,其中所述视频区域是条带或图片、或片组,并且其中,所述特定编解码类型是帧内(i)编解码类型。
[0659]
22.根据条款20所述的方法,其中所述视频区域是条带或图片、或片组,并且其中,所述特定编解码类型是瞬时解码刷新(idr)编解码类型。
[0660]
23.根据条款20所述的方法,其中所述视频区域是条带或图片、或片组,并且其中,所述特定编解码类型是干净随机存取(cra)编解码类型。
[0661]
24.根据条款20所述的方法,其中所述视频区域是条带或图片、或片组,并且其中,所述特定编解码类型是帧内随机接入点(i

rap)编解码类型。
[0662]
25.根据条款24所述的方法,其中使用所述帧内随机接入点(i

rap)编解码类型编解码的中间视频区域包括以下的至少一个:i)使用瞬时解码刷新(idr)编解码类型编解码的所述视频区域;ii)使用干净随机存取(cra)编解码类型编解码的所述视频区域;和/或iii)使用断链访问(bla)编解码类型编解码的所述视频区域。
[0663]
26.根据条款20所述的方法,其中所述整形模型信息包括在序列级、图片级、或自适应参数集(aps)中。
[0664]
27.一种视频处理方法,包括:为视频的第一视频区域和所述第一视频区域的编解码表示之间的转换,基于规则确定是否可将来自第二视频区域的整形信息用于所述转换;以及根据所述确定执行所述转换。
[0665]
28.根据条款27所述的方法,其中,将所述整形信息用于基于第一域和第二域重构视频区域的视频单元、和/或缩放色度视频单元的色度残差。
[0666]
29.根据条款27所述的方法,其中所述规则不允许在所述编解码表示在所述第一视频区域和所述第二视频区域之间包括使用特定编解码类型编解码的中间视频区域的情况下,由所述第一视频区域使用所述整形模型信息。
[0667]
30.根据条款29所述的方法,其中,所述中间视频区域是使用帧内(i)编解码类型编解码的。
[0668]
31.根据条款29至30中任一项所述的方法,其中,所述中间视频区域是使用瞬时解码刷新(idr)编解码类型编解码的。
[0669]
32.根据条款29至31中任一项所述的方法,其中,所述中间视频区域是使用干净随机存取(cra)编解码类型编解码的。
[0670]
33.根据条款29至32中任一项所述的方法,其中,所述中间视频区域是使用帧内随机接入点(i

rap)编解码类型编解码的。
[0671]
34.根据条款33所述的方法,其中使用所述帧内随机接入点(i

rap)编解码类型编解码的所述中间视频区域包括以下中的至少一个:i)使用瞬时解码刷新(idr)编解码类型编解码的所述视频区域、ii)使用干净随机存取(cra)编解码类型编解码的所述视频区域、和/或iii)使用断链访问(bla)编解码类型编解码的所述视频区域。
[0672]
35.根据条款27至34中任一项所述的方法,其中所述第一视频区域、所述第二视频区域、和/或所述中间视频区域对应于条带。
[0673]
36.根据条款27至35中任一项所述的方法,其中所述第一视频区域、所述第二视频区域、和/或所述中间视频区域对应于图片。
[0674]
37.根据条款27至36中任一项所述的方法,其中所述第一视频区域、所述第二视频区域、和/或所述中间视频区域对应于片组。
[0675]
38.一种视频处理方法,包括:执行视频的当前视频区域和所述当前视频区域的编解码表示之间的转换,使得使用特定编解码类型对所述当前视频区域进行编解码,其中,所述编解码表示符合格式规则,所述格式规则指定所述编解码表示中的整形模型信息有条件地基于视频区域级的所述编解码表示中的标志的值。
[0676]
39.根据条款38所述的方法,其中,所述整形模型信息提供用于基于第一域和第二
域重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息。
[0677]
40.根据条款38所述的方法,其中,在所述标志的值具有第一值的情况下,在所述视频区域中信令通知所述整形模型信息,否则在解码所述视频区域之前初始化所述整形模型信息。
[0678]
41.根据条款38所述的方法,其中所述第一值是0或1。
[0679]
42.根据条款38所述的方法,其中所述视频区域是条带、或图片、或片组,并且所述特定编解码类型是帧内(i)编解码类型。
[0680]
43.根据条款38所述的方法,其中所述视频区域是条带、或图片、或片组,并且所述特定编解码类型是瞬时解码刷新(idr)编解码类型。
[0681]
44.根据条款38所述的方法,其中所述视频区域是条带、或图片、或片组,并且所述特定编解码类型是干净随机存取(cra)编解码类型。
[0682]
45.根据条款38所述的方法,其中所述视频区域是条带、或图片、或片组,并且所述特定编解码类型是帧内随机接入点(i

rap)编解码类型。
[0683]
46.根据条款45所述的方法,其中使用所述帧内随机接入点(i

rap)编解码的所述视频区域包括以下中的至少一个:i)使用瞬时解码刷新(idr)编解码类型编解码的所述视频区域、ii)使用干净随机存取(cra)编解码类型编解码的所述视频区域、和/或iii)使用断链访问(bla)编解码类型编解码的所述视频区域。
[0684]
47.根据条款1至46中任一项所述的方法,其中所述执行所述转换包括从所述编解码表示生成所述视频。
[0685]
48.一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器,其中,在所述处理器执行所述指令时,所述指令使所述处理器实现条款1至47中任一项所述的方法。
[0686]
49.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实现条款1至47中任一项所述的方法的程序代码。
[0687]
第三组条款描述了先前章节(例如,包括示例8和9)中列出的公开技术的一些特征和方面。
[0688]
1.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括语法元素,所述语法元素指定允许的最大二进制数索引和将在所述重构中使用的最大二进制数索引之间的差,并且其中,所述参数在一个范围内。
[0689]
2.根据条款1所述的方法,其中所述语法元素在0到所述允许的最大二进制数索引和将在所述重构中使用的最小二进制数索引之间的差的范围内。
[0690]
3.根据条款1所述的方法,其中所述语法元素在0到所述允许的最大二进制数索引的范围内。
[0691]
4.根据条款1至3中任一项所述的方法,其中所述允许的最大二进制数索引等于15。
[0692]
5.根据条款1或4的方法,其中所述语法元素已被剪切到所述范围中。
[0693]
6.根据条款1所述的方法,其中所述最小二进制数索引等于或小于所述最大二进制数索引。
[0694]
7.根据条款1所述的方法,其中所述最大二进制数索引已被剪切到从所述最小二进制数索引到所述允许的最大二进制数索引的范围中。
[0695]
8.根据条款1所述的方法,其中所述最小二进制数索引已被剪切到从0到所述最大二进制数索引的范围中。
[0696]
9.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括将用于所述重构的最大二进制数索引,并且其中,将所述最大二进制数索引导出为第一值,所述第一值等于将在所述重构中使用的最小二进制数索引和是无符号整数并且在所述最小二进制数索引之后信令通知的语法元素的和。
[0697]
10.根据条款9所述的方法,其中所述语法元素指定所述最大二进制数索引和允许的最大二进制数索引之间的差。
[0698]
11.根据条款10所述的方法,其中所述语法元素在0到第二值的范围内,所述第二值等于所述允许的最大二进制数索引和所述最小二进制数索引之间的差。
[0699]
12.根据条款10所述的方法,其中所述语法元素在1到第二值的范围内,所述第二值等于所述最小二进制数索引和所述允许的最大二进制数之间的差。
[0700]
13.根据条款11或12所述的方法,其中所述语法元素已被剪切到所述范围内。
[0701]
14.根据条款9所述的方法,其中所述参数集的语法元素在一致性比特流中的所需范围内。
[0702]
15.根据条款1至14中任一项所述的方法,其中所述执行所述转换包括从所述编解码表示生成所述视频。
[0703]
16.一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器,其中,在所述处理器执行所述指令时,所述指令使所述处理器实现条款1至15中任一项所述的方法。
[0704]
17.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实现条款1至15中任一项所述的方法的程序代码。
[0705]
第四组条款描述了先前章节(例如,包括示例10至17)中列出的公开技术的一些特征和方面。
[0706]
1.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括第一语法元素,所述第一语法元素导出用于表示第二语法元素的比特的数量,所述第二语法元素指定来自对应的二进制数的绝对
增量码字值,并且其中,所述第一语法元素的值小于阈值。
[0707]
2.根据条款1所述的方法,其中所述第一语法元素指定用于表示所述第二语法元素的所述比特的数量与1之间的差。
[0708]
3.根据条款1所述的方法,其中所述阈值是固定值。
[0709]
4.根据条款1所述的方法,其中所述阈值是变量,其值取决于比特深度。
[0710]
5.根据条款4所述的方法,其中所述阈值为bitdepth

1,其中bitdepth表示所述比特深度。
[0711]
6.根据条款1的方法,其中所述第一语法元素位于一致性比特流中。
[0712]
7.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括第i个参数,所述第i个参数表示所述ilr中使用的第i个二进制数的斜率、并且具有基于第(i

1)个参数的值,i是正整数。
[0713]
8.根据条款7所述的方法,其中对于reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx的情况,从所述第(i

1)个参数预测所述第i个参数,reshaper_model_min_bin_idx和reshaper_model_max_bin_index指示在所述构建中使用的最小二进制数索引和最大二进制数索引。
[0714]
9.根据条款7所述的方法,其中对于i等于0,从orgcw预测所述第i个参数。
[0715]
10.根据条款7所述的方法,其中对于i等于指示所述构建中使用的最小二进制数索引的reshaper_model_min_bin_idx的值,从另一个参数预测所述第i个参数。
[0716]
11.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,用于所述ilr的所述整形模型信息包括参数集,所述参数集包括reshape_model_bin_delta_sign_cw[i],不信令通知reshape_model_bin_delta_sign_cw[i]并且rspdeltacw[i]=reshape_model_bin_delta_abs_cw[i]始终为正数。
[0717]
12.根据条款11所述的方法,其中将变量cw[i]计算为minv与rspdeltacw[i]的和。
[0718]
13.根据条款12所述的方法,其中minv是32或g(bitdepth),bitdepth对应于比特深度值。
[0719]
14.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括取决于所述视频区域的颜色格式将亮度值用于所述缩放的参数invavgluma。
[0720]
15.根据条款14所述的方法,其中将所述invavgluma计算为invavgluma=clip1
y
((∑
i

j
predmapsamples[(xcurr<<scalex) i][(ycurr<<scaley) j] (cnt>>1))/cnt,其
中predmapsamples表示重构亮度样点,(xcurry,ycurry)表示相对于当前图片的左上色度样点的当前色度变换块的左上色度样点,(i,j)表示涉及导出所述invavgluma的亮度样点相对于所述当前色度变换块的左上色度样点的位置,并且cnt表示涉及导出所述invavgluma的亮度样点的数量。
[0721]
16.根据条款15所述的方法,其中对于4:2:0格式,scalex=scaley=1。
[0722]
17.根据条款15所述的方法,其中对于4:4:4格式,scalex=scaley=0。
[0723]
18.根据条款15所述的方法,其中对于4:2:2格式,scalex=1且scaley=0。
[0724]
19.一种视频处理方法,包括:执行视频的当前视频块和所述视频的编解码表示之间的转换,其中所述转换包括将重构图片亮度样点变换为修改的重构图片亮度样点的图片反向映射处理,其中,所述图片反向映射处理包括剪切,其中将上边界和下边界设置为彼此分离。
[0725]
20.根据条款19所述的方法,其中所述修改的重构图片亮度样点包括计算为invlumasample=clip3(minval,maxval,invlumasample)的值invlumasample、minval、maxval。
[0726]
21.根据条款20所述的方法,其中在将在所述构建中使用的最小二进制数索引大于0的情况下minval=t1<<(bitdepth

8),否则minval=0。
[0727]
22.根据条款20所述的方法,其中在将在所述构建中使用的最大二进制数索引小于允许的最大二进制数索引的情况下maxval=t2<<(bitdepth

8),否则maxval=(1<<bitdepth)

1,bitdepth对应于比特深度值。
[0728]
23.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于所述一个或多个视频区域中的一些的环路整形(ilr)的整形模型信息,其中,所述整形模型信息提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的信息,并且其中,所述整形模型信息包括参数集,所述参数集包括受约束使得pivot[i]<=t的枢轴量。
[0729]
24.根据条款23所述的方法,其中将t计算为t=(1<<bitdepth)

1,其中bitdepth对应于所述比特深度值。
[0730]
25.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于环路整形(ilr)的信息,并且提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的参数,并且其中,色度量化参数(qp)具有针对每个块或变换单元导出其值的偏移。
[0731]
26.根据条款25所述的方法,其中所述偏移是基于代表性亮度值(replumaval)导出的。
[0732]
27.根据条款26所述的方法,其中所述代表性亮度值是使用块或变换单元的亮度预测值的部分或全部导出的。
[0733]
28.根据条款26所述的方法,其中所述代表性亮度值是使用块或变换单元的亮度重构值的部分或全部导出的。
[0734]
29.根据条款26所述的方法,其中将所述代表性亮度值导出为块或变换单元的亮度预测值或亮度重构值的部分或全部的平均值。
[0735]
30.根据条款26所述的方法,其中将reshapepivot[idx]<=replumaval<reshapepivot[idx 1]和invscalecoeff[idx]用于导出所述偏移。
[0736]
31.根据条款30所述的方法,其中将亮度qp偏移选为argmin abs(2^(x/6 shifty)

invscalecoeff[idx]),x=

n

,m,并且n和m是整数。
[0737]
32.根据条款30所述的方法,其中将亮度qp偏移选为argmin abs(1

(2^(x/6 shifty)/invscalecoeff[idx])),x=

n

,m,并且n和m是整数。
[0738]
33.根据条款30所述的方法,其中,对于不同的invscalecoeff[idx]值,预先计算所述偏移并将其存储在查找表中。
[0739]
34.一种视频处理方法,包括:执行包含一个或多个视频区域的视频的编解码表示和所述视频之间的转换,其中所述编解码表示包括适用于环路整形(ilr)的信息,并且提供用于基于第一域和第二域中的表示重构视频区域的视频单元、和/或缩放色度视频单元的色度残差的参数,并且其中,亮度量化参数(qp)具有针对每个块或变换单元导出其值的偏移。
[0740]
35.根据条款34所述的方法,其中所述偏移是基于代表性亮度值(replumaval)导出的。
[0741]
36.根据条款35所述的方法,其中所述代表性亮度值是使用块或变换单元的亮度预测值的部分或全部导出的。
[0742]
37.根据条款35所述的方法,其中将所述代表性亮度值导出为块或变换单元的亮度预测值的部分或全部的平均值。
[0743]
38.根据条款35所述的方法,其中idx=replumaval/orgcw,并将invscalecoeff[idx]用于导出所述偏移。
[0744]
39.根据条款38所述的方法,其中将所述偏移选为argmin abs(2^(x/6 shifty)

invscalecoeff[idx]),x=

n

,m,并且n和m是整数。
[0745]
40.根据条款38所述的方法,其中将所述偏移选为argmin abs(1

(2^(x/6 shifty)/invscalecoeff[idx])),x=

n

,m,并且n和m是整数。
[0746]
41.根据条款38所述的方法,其中,对于不同的invscalecoeff[idx]值,预先计算所述偏移并将其存储在查找表中。
[0747]
42.根据条款1至41中任一项所述的方法,其中所述执行所述转换包括从所述编解码表示生成所述视频。
[0748]
43.一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器,其中,在所述处理器执行所述指令时,所述指令使所述处理器实现条款1至42中任一项所述的方法。
[0749]
44.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于实现条款1至42中任一项所述的方法的程序代码。
[0750]
在本文中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换处理期间应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于由语法定义的比特流内的并置位置或在不同位置传播的比特。例如,可以根据经过转换和编解码的误差残差值、并且也可以使用比特流中的头和其他字段中的比特对宏块进行编码。此外,如上述解决方案中所描述的,在
转换期间,解码器可以在知道一些字段可能存在或不存在的情况下,基于确定来解析比特流。类似地,编码器可以确定是否包括一些语法字段、并且通过在编解码表示中包括或不包括语法字段来对应地生成编解码表示。
[0751]
本文中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或者一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理装置执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器装置。
[0752]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0753]
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0754]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0755]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在分开的实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中分开实施,或在任何合适的子组合中实施。此外,尽
管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[0756]
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要实现期望的结果必须按照所示的特定顺序或先后顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统分量的分离不应理解为在所有实施例中都需要这样的分离。
[0757]
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜