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

用于色度混合遮罩生成的下采样滤波器类型的制作方法

2022-06-01 20:38:15 来源:中国专利 TAG:

用于色度混合遮罩生成的下采样滤波器类型
1.相关申请的交叉引用
2.根据适用的专利法和/或依据巴黎公约的规则,本技术及时要求于2019年10月5日提交的国际专利申请第pct/cn2019/109837号的优先权和权益。出于根据法律的所有目的,上述申请的全部公开内容通过引用并入作为本技术的公开内容的一部分。
技术领域
3.该专利文件涉及视频编解码技术、设备和系统。


背景技术:

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


技术实现要素:

5.描述了与数字视频编解码有关的设备、系统和方法,以及特别是与运动矢量的管理有关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(hevc)或通用视频编解码)和未来的视频编解码标准或视频编解码器。
6.在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包含为视频和视频的比特流表示之间的转换,基于视频的色彩格式确定联合cb-cr残差编解码工具的信令通知使用的方式。该方法还包含基于确定执行转换。
7.在又一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包含执行在视频和视频的比特流表示之间的转换。比特流表示符合格式规则,格式规则指定,在比特流表示中的第一视频单元中包含第一语法元素的情况下,比特流表示中是否包含第二视频单元中的对应的第二语法元素。
8.在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包含执行在视频的区域和视频的比特流表示之间的转换。在转换期间,比特流表示中包含第一语法元素以指示是否为所述区域的所有块禁用多个变换选择(mts)编解码工具。
9.在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包含为视频和视频的比特流表示之间的转换,基于变换编解码块的第二最大块尺寸来确定信令通知以变换跳过模式编解码的块的第一最大块尺寸的规则。该方法还包含基于确定执行所述转换。
10.在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包含使用分割模式编解码工具执行在视频的色度分量的块与视频的比特流表示之间的转换,在分割模式编解码工具中使用基于分割的权重通过混合色度块的预测来确定色度块的最终预测。在转换期间,基于块的色度分量中的色度样点位置类型来确定权重。
11.在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方
法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则将相同的插值滤波器应用于使用当前视频块预测的一组相邻或不相邻样点。
12.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则其中仅允许使用当前视频块所预测的块,以使用与当前块有关的整数值运动信息。
13.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则应用插值滤波器以导出使用当前视频块所预测的块,并且其中基于规则选择插值滤波器。
14.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则选择性地应用去块滤波器,其中,根据与相对于当前视频块的分辨率和/或尺寸的参考图像的分辨率和/或尺寸有关的规则来设置去块滤波器的强度。
15.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,根据基于当前视频块的维度的规则来对当前视频块的参考图片进行重采样。
16.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,取决于相对于当前视频块的分辨率/尺寸的当前视频块的参考图片的分辨率/尺寸,选择性地启用或禁用在当前视频块上的编解码工具的使用。
17.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在多个视频块和多个视频块的编解码表示之间的转换,其中,在转换期间,为第一视频块定义第一一致性窗口以及为第二视频块定义第二一致性窗口,并且其中第一一致性窗口的宽度和/或高度与第二一致性窗口的宽度和/或高度的比率符合至少基于一致性比特流的规则。
18.在另一代表性方面,所公开的技术可以用于提供另一种用于视频处理的方法。该方法包含执行在多个视频块和多个视频块的编解码表示之间的转换,其中,在转换期间,为第一视频块定义第一一致性窗口以及为第二视频块定义第二一致性窗口,并且其中第一一致性窗口的宽度和/或高度与第二一致性窗口的宽度和/或高度的比率符合至少基于一致性比特流的规则。
19.此外,在代表性方面,公开了一种视频系统中的装置,该装置包括处理器和在其上具有指令的非暂时性存储器。由处理器执行的指令使处理器以实现所公开的方法的任何一个或多个。
20.在一个代表性方面,公开了一种视频解码装置,该视频解码装置包括配置为实现本文中所述的方法的处理器。
21.在一个代表性方面,公开了一种视频编码装置,该视频编码装置包括配置为实现
本文中所述的方法的处理器。
22.此外,公开了一种储存在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包含为执行所公开的方法中的任何一个或多个的程序代码。
23.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。
附图说明
24.图1示出了子块运动矢量(vsb)和运动矢量差的示例。
25.图2示出了将16x16视频块划分为16个4x4区域的示例。
26.图3a示出了样点中特定位置的示例。
27.图3b示出了样点中特定位置的另一示例。
28.图3c示出了样点中特定位置的又一示例
29.图4a示出了当前样点和其参考样点的位置的示例。
30.图4b示出了当前样点和其参考样点的位置的另一示例。
31.图5是为实现本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。
32.图6示出了为视频编解码的示例方法的流程图。
33.图7是其中可以实现所公开的技术的示例视频处理系统的框图。
34.图8是图示了示例视频编解码系统的框图。
35.图9是图示了根据本公开的一些实施例的编码器的框图。
36.图10是图示了根据本公开的一些实施例的解码器的框图。
37.图11是根据本技术的视频处理的方法的流程图表示。
38.图12是根据本技术的视频处理的另一方法的流程图表示。
39.图13是根据本技术的视频处理的另一方法的流程图表示。
40.图14是根据本技术的视频处理的另一方法的流程图表示。
41.图15是根据本技术的视频处理的又一方法的流程图表示。
具体实施方式
42.1.hevc/h.265中的视频编解码
43.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准的发展而得以演进。itu-t制作了h.261和h.263标准,iso/iec制作了mpeg-1和mpeg-4visual标准,并且两个组织联合制作了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),以致力于vvc标准,该vvc标准目标为与hevc相比比特率降低50%。
44.2.概述
45.2.1.自适应分辨率改变
46.avc和hevc不具有在无需引入idr或帧内随机接入点(irap)图片的情况下改变分辨率的能力;这种能力可以称为自适应分辨率改变(arc)。将从arc特征中获益的某些使用案例或应用场景包含以下各项:
[0047]-视频电话和会议中的速率适配:对于使编解码视频适配于变化的网络条件,当网络条件变得更糟使得可用带宽变得更低时,编码器可以通过对较小分辨率的图片进行编码来适配于它。当前,只有在irap图片之后才能改变图片分辨率;这有几个问题。具有合理质量的irap图片将比帧间编解码图片大得多,并且其解码也将对应更加复杂:这会花费时间和资源。如果解码器为加载原因请求改变分辨率,则会出现问题。它还可能会破坏低时延的缓冲器条件,迫使音频重新同步,并且流的端到端延迟将增加,至少是暂时增加。这可能给用户带来糟糕的体验。
[0048]-多方视频会议中活动发言人改变:对于多方视频会议,通常以比其他会议参与者视频更大的视频尺寸显示活动发言人。当活动发言人改变时,可能还需要调整每个参与者的图片分辨率。当活动发言人中的此类变化频繁发生时,具有arc特征的需求变得更加重要。
[0049]-流式传输中的快速开始:对于流式传输应用程序,通常在开始显示之前,该应用程序将缓冲多达某一长度的解码图片。以较小的分辨率启动比特流将允许应用程序来在缓冲器中具有足够的图片以更快速地开始显示。
[0050]
流式传输中的自适应流切换:基于http的动态自适应流式传输(dash)规范包含名为@mediastreamstructureid的特征。这启用在具有不可解码的前导图片(例如,hevc中的具有相关联的rasl图片的cra图片)的开放gop随机接入点处的不同表示之间进行切换。当相同的视频的两个不同表示具有不同的比特率但具有相同的空间分辨率,同时它们具有相同的@mediastreamstructureid值时,可以执行在具有相关联的rasl图片的cra图片处的两种表示之间的切换,并且可以以可接受的质量对与切换cra图片相关联的rasl图片进行解码,从而实现无缝切换。使用arc,该@mediastreamstructureid特征也将可用于在具有不同空间分辨率的dash表示之间的切换。
[0051]
arc也称为动态分辨率转换。
[0052]
arc也可以被视为参考图片重采样(rpr)的特殊情况,诸如h.263附录p。
[0053]
2.2.h.263附录p中的参考图片重采样
[0054]
该模式描述了在参考图片用于预测之前使参考图片变形(warp)的算法。该算法为重采样具有与正在预测的图片不同的源格式的参考图片可以是很有用的。通过使参考图片的形状、尺寸和位置变形,该算法还可以将用于全局运动估计或旋转运动估计。语法包含要使用的变形参数以及重采样算法。参考图片重采样模式的最简单操作级别是隐式因子为4的重采样,因为对于上采样和下采样过程仅需要应用fir滤波器。在这种情况下,当(在图片头中指示的)新图片的尺寸与先前图片的尺寸不同时,不需要附加信令通知开销,因为可以理解其用途。
[0055]
2.3.vvc中的一致性窗口
[0056]
vvc中的一致性窗口定义了矩形。一致性窗口内的样点属于感兴趣的图像。当输出时,一致性窗口外的样点可能会被丢弃。
[0057]
当应用一致性窗口时,基于一致性窗口导出rpr中的缩放比例。
[0058]
图片参数集rbsp语法
[0059][0060][0061]
pic_width_in_luma_samples以亮度样点为单位指定关于pps的每个解码图片的宽度。pic_width_in_luma_samples不应等于0,应为max(8,mincbsizey)的整数倍,并且应小于或等于pic_width_max_in_luma_samples。
[0062]
当subpics_present_flag等于1时,pic_width_in_luma_samples的值应等于pic_width_max_in_luma_samples。
[0063]
pic_height_in_luma_samples以亮度样点单位指定关于pps的每个解码图片的高度。pic_height_in_luma_samples不应等于0,并且应为max(8,mincbsizey)的整数倍,并且应小于或等于pic_height_max_in_luma_samples。
[0064]
当subpics_present_flag等于1时,pic_height_in_luma_samples的值应等于pic_height_max_in_luma_samples。
[0065]
假设refpicwidthinlumasamples和refpicheightinlumasamples分别是关于该pps的当前图片的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples。满足所有以下条件的比特流一致性要求:
[0066]

pic_width_in_luma_samples*2应大于或等于refpicwidthinlumasamples。
[0067]

pic_height_in_luma_samples*2应大于或等于refpicheightinlumasamples。
[0068]

pic_width_in_luma_samples应小于或等于refpicwidthinlumasamples*8。
[0069]

pic_height_in_luma_samples应小于或等于refpicheightinlumasamples*8。
[0070]
conformance_window_flag等于1指示在sps中紧随其后的是一致性裁剪窗口偏移参数。conformance_window_flag等于0指示不存在一致性裁剪窗口偏移参数。
[0071]
conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset根据在图片坐标中指定的用于输出的矩形区域来指定从解码过程中输出cvs中的图片的样点。当conformance_window_flag等于0时,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值被推断为等于0。
[0072]
一致性裁剪窗口含有亮度样点,其水平图片坐标是从subwidthc*conf_win_left_
offset到pic_width_in_luma_samples-(subwidthc*conf_win_right_offset 1)且垂直图片坐标是从subheightc*conf_win_top_offset到pic_height_in_luma_samples-(subheightc*conf_win_bottom_offset 1),含端值。
[0073]
subwidthc*(conf_win_left_offset conf_win_right_offset)的值应小于pic_width_in_luma_samples,并且subheightc*(conf_win_top_offset conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
[0074]
变量picoutputwidthl和picoutputheightl导出如下:
[0075]
picoutputwidthl=pic_width_in_luma_samples
‑ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7-43)subwidthc*(conf_win_right_offset conf_win_left_offset)
[0076]
picoutputheightl = pic_height_in_pic_size_units
ꢀ‑ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7-44)subheightc*(conf_win_bottom_offset conf_win_top_offset)
[0077]
当chromaarraytype不等于0时,两个色度阵列的对应指定样点是具有图片坐标(x/subwidthc,y/subheightc)的样点,其中(x,y)是指定亮度样点的图片坐标。
[0078]


一致性裁剪窗口偏移参数仅应用于输出。所有内部解码过程都将应用于未裁剪的图片尺寸。
[0079]
假设ppsa和ppsb是关于相同sps的任两个pps。比特流一致性的要求是,当ppsa和ppsb分别具有相同的pic_width_in_luma_samples和pic_height_in_luma_samples的值时,ppsa和ppsb应分别具有相同的conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值。
[0080]
2.4.参考图片重采样(rpr)
[0081]
在一些实施例中,arc也被称为参考图片重采样(rpr)。对于rpr,如果共位图片的分辨率与当前图片的分辨率不同,则禁用tmvp。此外,当参考图片的分辨率与当前图片的分辨率不同时,禁用bdof和dmvr。
[0082]
当参考图片的分辨率与当前图片的分辨率不同时,为了处理普通mc,插值章节被定义如下:
[0083]
8.5.6.3分数样点插值过程
[0084]
8.5.6.3.1概述
[0085]
该过程的输入是:
[0086]

亮度位置(xsb,ysb),指定相对于当前图片的左上亮度样点的当前编
[0087]
解码子块的左上样点;
[0088]

变量sbwidth,指定当前编解码子块的宽度,
[0089]

变量sbheight,指定当前编解码子块的高度,
[0090]

运动矢量偏移mvoffset,
[0091]

细化的运动矢量refmvlx,
[0092]

选定参考图片样点阵列refpiclx,
[0093]

半样点插值滤波器索引hpelifidx,
[0094]

双向光流标志bdofflag,
[0095]

变量cidx,指定当前块的色彩分量索引。
[0096]
该过程的输出是:
[0097]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)阵列predsampleslx。
[0098]
预测块边界扩展尺寸brdextsize导出如下:
[0099]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0
ꢀꢀꢀꢀꢀꢀꢀ
(8-752)
[0100]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0101]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0102]
运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0103]

如果cidx等于0,则适用以下条件:
[0104]

缩放因子及其固定点表示被定义为
[0105]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl
ꢀꢀ
(8-753)
[0106]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-754)
[0107]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且(xfracl,yfracl)是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0108]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0109]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0110]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0111]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp(8-755)
[0112]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) 32)》》6(8-756)
[0113]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp(8-757)
[0114]
refyl=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀ
(8-758)
[0115]

变量xint
l
,yint
l
,xfrac
l
和yfrac
l
导出如下:
[0116][0117]

如果bdofflag等于真(true)或(sps_affine_prof_enabled_flag等于真且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度
样点值predsampleslx[x
l
][y
l
]是通过调用条款8.5.6.3.3中指定的亮度整数样点提取过程来导出,其中(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0118]

x
l
等于0。
[0119]

x
l
等于sbwidth 1。
[0120]
–yl
等于0。
[0121]
–yl
等于sbheight 1。
[0122]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度样点值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0)、yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0123]

否则(cidx不等于0),适用以下条件:
[0124]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0125]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0126]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样点值predsampleslx[xc][yc]导出如下:
[0127]

假设(refxsbc,refysbc)和(refxc,refyc)为由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。则变量refxsbc、refysbc、refxc和refyc导出如下:
[0128]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp(8-763)
[0129]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀ
(8-764)
[0130]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp(8-765)
[0131]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀ
(8-766)
[0132]

变量xintc、yintc、xfracc和yfracc导出如下:
[0133]
xintc=refxc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0134]
yintc=refyc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-768)
[0135]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0136]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0137]

预测样点值predsampleslx[xc][yc]是通过调用条款8.5.6.3.4中指定的过程来导出,其中(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight和refpiclx作为输入。
[0138]
8.5.6.3.2亮度样点插值滤波过程
[0139]
该过程的输入是:
[0140]

以全样点为单位的亮度位置(xint
l
,yint
l
),
[0141]

以分数样点为单位的亮度位置(xfrac
l
,yfrac
l
),
[0142]

以全样点为单位的亮度位置(xsbint
l
,ysbint
l
),指定相对于参考图片的左上亮度样点的参考样点填充的边界块的左上样点,
[0143]

亮度参考样点阵列refpiclx
l

[0144]

半样点插值滤波器索引hpelifidx,
[0145]

变量sbwidth,指定当前子块的宽度,
[0146]

变量sbheight,指定当前子块的高度,
[0147]

亮度位置(xsb,ysb),指定相对于当前图片的左上亮度样点的当前子块的左上样点,
[0148]
该过程的输出是预测的亮度样点值predsamplelx
l
[0149]
变量shift1、shift2和shift3导出如下:
[0150]

变量shift1设置为等于min(4,bitdepth
y-8),变量shift2设置为等于6,并且变量shift3设置为等于max(2,14-bitdepthy)。
[0151]

变量picw设置为等于pic_width_in_luma_samples,并且变量pich设置为等于pic_height_in_luma_samples。
[0152]
每个1/16分数样点位置p的亮度插值滤波器系数f
l
[p]等于xfrac
l
或yfrac
l
导出如下:
[0153]

如果motionmodelidc[xsb][ysb]大于0,并且sbwidth和sbheight都等于4,则表2中指定了亮度插值滤波器系数f
l
[p]。
[0154]

否则,根据hpelifidx在表1中指定亮度插值滤波器系数f
l
[p]。
[0155]
其中i=0..7的以全样点为单位的亮度位置(xinti,yinti)导出如下,:
[0156]-如果subpic_treated_as_pic_flag[subpicidx]等于1,则适用以下条件:
[0157]
xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xint
l
i-3)
ꢀꢀ
(8-771)
[0158]
yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yint
l
i-3)
ꢀꢀ
(8-772)
[0159]-否则(subpic_treated_as_pic_flag[subpicidx]等于0),则适用以下条件:
[0160]
xinti=clip3(0,picw-1,sps_ref_wraparound_enabled_flag?
[0161]
cliph((sps_ref_wraparound_offset_minus1 1)*mincbsizey,picw,xint
l
i-3):xint
l
i-3)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-773)
[0162]
yinti=clip3(0,pich-1,yint
l
i-3)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-774)
[0163]
以全样点为单位的亮度位置还修改如下,其中i=0..7:
[0164]
xinti=clip3(xsbint
l-3,xsbint
l
sbwidth 4,xinti)
ꢀꢀꢀꢀꢀꢀ
(8-775)
[0165]
yinti=clip3(ysbint
l-3,ysbint
l
sbheight 4,yinti)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-776)
[0166]
预测亮度样点值predsamplelx
l
导出如下:
[0167]

如果xfrac
l
和yfrac
l
都等于0,则predsamplelx
l
的值导出如下:
[0168]
predsamplelx
l
=refpiclx
l
[xint3][yint3]《《shift3
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-777)
[0169]

否则,如果xfrac
l
不等于0并且yfrac
l
等于0,则predsamplelx
l

[0170]
值导出如下:
[0171][0172]

否则,如果xfrac
l
等于0且yfrac
l
不等于0,则predsamplelx
l
的值导出如下:
[0173][0174]

否则,如果xfrac
l
不等于0且yfrac
l
不等于0,则predsamplelx
l
的值导出如下:
[0175]

其中n=0..7的样点阵列temp[n]导出如下:
[0176][0177]

预测亮度样点值predsamplelx
l
导出如下:
[0178][0179]
表8-11

每个1/16分数样点位置p的亮度插值滤波器系数f
l
[p]的规范。
[0180][0181]
表8-12

仿射运动模式的每个1/16分数样点位置p的亮度插值滤波器系数f
l
[p]的规范。
[0182][0183]
8.5.6.3.3亮度整数样点提取过程
[0184]
该过程的输入是:
[0185]

以全样点为单位的亮度位置(xint
l
,yint
l
),
[0186]

亮度参考样点阵列refpiclx
l

[0187]
该过程的输出是预测的亮度样点值predsamplelx
l
[0188]
变量移位设置为等于max(2,14-bitdepth
y)

[0189]
变量picw设置为等于pic_width_in_luma_samples,并且变量pich设置为等于pic_height_in_luma_samples。
[0190]
以全样点为单位的亮度位置(xint,yint)导出如下:
[0191]
xint=clip3(0,picw-1,sps_ref_wraparound_enabled_flag?(8-782)
[0192]
cliph((sps_ref_wraparound_offset_minus1 1)*mincbsizey,picw,xint
l
):xint
l
)
[0193]
yint=clip3(0,pich-1,yint
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-783)
[0194]
预测亮度样点值predsamplelx
l
导出如下:
[0195]
predsamplelx
l
=refpiclx
l
[xint][yint]《《shift3
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-784)
[0196]
8.5.6.3.4色度样点插值过程
[0197]
该过程的输入是:
[0198]-以全样点为单位的色度位置(xintc,yintc),
[0199]

以1/32分数样点为单位的色度位置(xfracc,yfracc),
[0200]

以全样点为单位的色度位置(xsbintc,ysbintc),指定为相对于参考图片的左上色度样点的参考样点填充的边界块的左上样点,
[0201]

变量sbwidth,指定当前子块的宽度,
[0202]

变量sbheight,指定当前子块的高度,
[0203]

色度参考样点阵列refpiclxc。
[0204]
该过程的输出是预测的色度样点值predsamplelxc[0205]
变量shift1,shift2和shift3导出如下:
[0206]-变量shift1设置为等于min(4,bitdepth
c-8),变量shift2设置为等于6,并且变量shift3设置为等于max(2,14-bitdepthc)。
[0207]-变量picwc设置为等于pic_width_in_luma_samples/subwidthc,并且变量pichc设置为等于pic_height_in_luma_samples/subheightc。
[0208]
表3中指定了等于xfracc或yfracc的每个1/32分数样点位置p的色度插值滤波器系数fc[p]。
[0209]
变量xoffset设置为等于(sps_ref_wraparound_offset_minus1 1)*mincbsizey)/subwidthc。
[0210]
其中i=0..3的以全样点为单位的色度位置(xinti,yinti)导出如下:
[0211]-如果subpic_treated_as_pic_flag[subpicidx]等于1,则适用以下条件:
[0212]
xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundaryp
[0213]
os/subwidthc,xint
l
i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-785)
[0214]
yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypo
[0215]
s/subheightc,yint
l
i)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-786)
[0216]-否则(subpic_treated_as_pic_flag[subpicidx]等于0),适用以下条件:
[0217]
xinti=clip3(0, picw
c-1,
[0218]
sps_ref_wraparound_enabled_flag?cliph(xoffset,picwc,xintc i-1):
[0219]
xintc i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-787)
[0220]
yinti=clip3(0,pich
c-1,yintc i-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-788)
[0221]
其中i=0..3的以全样点为单位的色度位置(xinti,yinti)还修改如下:
[0222]
xinti=clip3(xsbintc-1,xsbintc sbwidth 2,xinti)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-789)
[0223]
yinti=clip3(ysbintc-1,ysbintc sbheight 2,yinti)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-790)
[0224]
预测色度样点值predsamplelxc导出如下:
[0225]-如果xfrac
c和
yfracc都等于0,则predsamplelxc的值导出如下:
[0226]
predsamplelxc=refpiclxc[xint1][yint1]《《shift3
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-791)
[0227]-否则,如果xfracc不等于0并且yfracc等于0,则predsamplelxc的值
[0228]
导出如下:
[0229][0230]-否则,如果xfracc等于0且yfracc不等于0,则predsamplelxc的值导
[0231]
出如下:
[0232]
[0233]-否则,如果xfracc不等于0并且yfracc不等于0,则predsamplelxc的
[0234]
值导出如下:
[0235]

其中n=0..3的样点阵列temp[n]导出如下:
[0236][0237]

预测色度样点值predsamplelxc导出如下:
[0238]
predsamplelxc=(fc[yfracc][0]*temp[0]
[0239]
fc[yfracc][1]*temp[1]
[0240]
fc[yfracc][2]*temp[2]
ꢀꢀꢀꢀꢀꢀ
(8-795)
[0241]
fc[yfracc][3]*temp[3])》》shift2
[0242]
表8-13

每个1/32分数样点位置p的色度插值滤波器系数fc[p]的规范。
[0243][0244]
2.5.细化的基于子块的仿射运动补偿预测
[0245]
本文中公开的技术包含用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流等式导出的差来细化预测样点,这被称为用光流的预测细化(prof)。所提出的方法可以在不增加存储器访问带宽的情况下实现像
素级粒度的帧间预测。
[0246]
为了实现运动补偿的更精细粒度,该贡献提出了用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流等式导出的差来细化亮度预测样点。所提出的prof(用光流的预测细化)被描述为以下四个步骤。
[0247]
步骤1)执行基于子块的仿射运动补偿,以生成子块预测i(i,j)。
[0248]
步骤2)使用3抽头滤波器[-1,0,1]在每个样点位置处计算子块预测的空间梯度g
x
(i,j)和gy(i,j)。
[0249]gx
(i,j)=i(i 1,j)-i(i-1,j)
[0250]gy
(i,j)=i(i,j 1)-i(i,j-1)
[0251]
子块预测在每一侧上被扩展一个像素以供梯度计算。为了减少存储器带宽和复杂性,从参考图片中最接近的整数像素位置复制了扩展边界上的像素。因此,避免了对填充区域的附加插值。
[0252]
步骤3)如通过光流等式计算的亮度预测细化(表示为δi)。
[0253]
δi(i,j)=g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j)
[0254]
其中delta mv(表示为δv(i,j)))是为样点位置(i,j)计算的像素mv(由v(i,j)表示)与像素(i,j)属于的子块的子块mv之间的差。如图1所示。
[0255]
由于仿射模型参数和相对于子块中心的像素位置不会随子块变化而变化,因此可以为第一子块计算δv(i,j),并且重新用于相同cu中的其他子块。假设x和y是从像素位置到子块中心的水平偏移和垂直偏移,则可以通过以下等式导出δv(x,y):
[0256][0257]
对于4参数仿射模型,
[0258][0259]
对于6参数仿射模型,
[0260][0261]
其中(v
0x
,v
0y
)、(v
1x
,v
1y
)、(v
2x
,v
2y
)是左上、右上和左下控制点运动矢量,w和h是cu的宽度和高度。
[0262]
步骤4)最后,将亮度预测细化添加到子块预测i(i,j)。最终预测i’生成为以下等式。
[0263]i′
(i,j)=i(i,j) δi(i,j)
[0264]
下面描述一些细节:
[0265]
a)如何导出prof的梯度
[0266]
在一些实施例中,为每个参考列表的每个子块(vtm-4.0中的4
×
4子块)计算梯度。对于每个子块,提取参考块的最接近的整数样点以填充样点的四个侧面外线。
[0267]
假设当前子块的mv为(mvx,mvy)。则分数部分被计算为(fracx,fracy)=(mvx&15,mvy&15)。整数部分被计算为(intx,inty)=(mvx》》4,mvy》》4)。偏移(offsetx,offsety)导出为:
[0268]
offsetx=fracx》7?1:0;
[0269]
offsety=fracy》7?1:0;
[0270]
假设当前子块的左上坐标是(xcur,ycur)并且当前子块的维度是w
×
h。则(xcor0,ycor0)、(xcor1,ycor1)、(xcor2,ycor2)和(xcor3,ycor3)计算为:
[0271]
(xcor0,ycor0)=(xcur intx offsetx-1,ycur inty offsety-1);
[0272]
(xcor1,ycor1)=(xcur intx offsetx-1,ycur inty offsety h);
[0273]
(xcor2,ycor2)=(xcur intx offsetx-1,ycur inty offsety);
[0274]
(xcor3,ycor3)=(xcur intx offsetx w,ycur inty offsety);
[0275]
假设predsample[x][y](其中,x=0..w-1、y=0..h-1)储存该子块的预测样点。则填充样点导出为:
[0276]
predsample[x][-1]=(ref(xcor0 x,ycor0)《《shift0)

rounding,其中x=-1..w;
[0277]
predsample[x][h]=(ref(xcor1 x,ycor1)《《shift0)

rounding,其中x=-1..w;
[0278]
predsample[-1][y]=(ref(xcor2,ycor2 y)《《shift0)-rounding,其中y=0..h-1;
[0279]
predsample[w][y]=(ref(xcor3,ycor3 y)《《shift0)

rounding,其中y=0..h-1;
[0280]
其中,rec表示参考图片。rounding是一个整数,在示例性prof实现方式中,rounding等于2
13
。shift0=max(2,(14-bitdepth));prof尝试提高梯度的精度,这与vtm-4.0中的bio不同,其中以与输入亮度样点相同的精度输出梯度。
[0281]
prof中的梯度计算如下:
[0282]
shift1=shift0-4。
[0283]
gradienth[x][y]=(predsamples[x 1][y]-predsample[x-1][y])
[0284]
》》shift1
[0285]
gradientv[x][y]=(predsample[x][y 1]-predsample[x][y-1])
[0286]
》》shift1
[0287]
应当注意,predsamples[x][y]保持插值后的精度。
[0288]
b)如何导出prof的δv
[0289]
δv的导出(表示为dmvh[posx][posy]和dmvv[posx][posy],其中posx=0..w-1、posy=0..h-1)可以如下描述。
[0290]
假设当前块的维度为cbwidth
×
cbheight,控制点运动矢量的数量为numcpmv,并且控制点运动矢量为cpmvlx[cpidx],其中cpidx=0..numcpmv-1并且x为0或1标识两个参
考列表。
[0291]
变量log2cbw和log2cbh导出如下:
[0292]
log2cbw=log2(cbwidth)
[0293]
log2cbh=log2(cbheight)
[0294]
变量mvscalehor,mvscalever,dhorx和dverx导出如下:
[0295]
mvscalehor=cpmvlx[0][0]《《7
[0296]
mvscalever=cpmvlx[0][1]《《7
[0297]
dhorx=(cpmvlx[1][0]-cpmvlx[0][0])《《(7-log2cbw)
[0298]
dverx=(cpmvlx[1][1]-cpmvlx[0][1])《《(7-log2cbw)
[0299]
变量dhory和dvery导出如下:
[0300]-如果numcpmv等于3,则适用以下条件:
[0301]
dhory=(cpmvlx[2][0]-cpmvlx[0][0])《《(7-log2cbh)
[0302]
dvery=(cpmvlx[2][1]-cpmvlx[0][1])《《(7-log2cbh)
[0303]-否则(numcpmv等于2),适用以下条件:
[0304]
dhory=-dverx
[0305]
dvery=dhorx
[0306]
变量qhorx、qverx、qhory和qvery导出为:
[0307]
qhorx=dhorx《《2;
[0308]
qverx=dverx《《2;
[0309]
qhory=dhory《《2;
[0310]
qvery=dvery《《2;
[0311]
dmvh[0][0]和dmvv[0][0]计算为:
[0312]
dmvh[0][0]=((dhorx dhory)《《1)-((qhorx qhory)《《1);
[0313]
dmvv[0][0]=((dverx dvery)《《1)-((qverx qvery)《《1);
[0314]
对于从1到w-1的xpos的dmvh[xpos][0]和dmvv[xpos][0]导出为:
[0315]
dmvh[xpos][0]=dmvh[xpos-1][0] qhorx;
[0316]
dmvv[xpos][0]=dmvv[xpos-1][0] qverx;
[0317]
对于从1到h-1的ypos,适用以下条件:
[0318]
dmvh[xpos][ypos]=dmvh[xpos][ypos-1] qhory,其中xpos=0..w-1
[0319]
dmvv[xpos][ypos]=dmvv[xpos][ypos-1] qvery,其中xpos=0..w-1
[0320]
最后,dmvh[xpos][ypos]和dmvv[xpos][ypos],其中posx=0..w-1、posy=0..h-1,被右移位为:
[0321]
dmvh[xpos][ypos]=satshift(dmvh[xpos][ypos],7 2-1);
[0322]
dmvv[xpos][ypos]=satshift(dmvv[xpos][ypos],7 2-1);
[0323]
其中satshift(x,n)和shift(x,n)定义为:
[0324][0325]
shift(x,n)=(x offset0)》》n
[0326]
在一个示例中,offset0和/或offset1设置为(1《《n)》》1。
[0327]
c)如何导出prof的δi
[0328]
对于子块内的位置(posx,posy),其对应的δv(i,j)表示为(dmvh[posx][posy],dmvv[posx][posy])。其对应的梯度表示为(gradienth[posx][posy],gradientv[posx][posy])。
[0329]
然后,δi(posx,posy)导出如下。
[0330]
(dmvh[posx][posy],dmvv[posx][posy])被限幅为:
[0331]
dmvh[posx][posy]=clip3(-32768,32767,dmvh[posx][posy]);
[0332]
dmvv[posx][posy]=clip3(-32768,32767,dmvv[posx][posy]);
[0333]
δi(posx,posy)=dmvh[posx][posy]
×
gradienth[posx][posy] dmvv[posx][posy]
×
gradientv[posx][posy];
[0334]
δi(posx,posy)=shift(δi(posx,posy),1 1 4);
[0335]
δi(posx,posy)=clip3(-(2
13-1),2
13-1,δi(posx,posy));
[0336]
d)如何导出prof的i’[0337]
如果当前块未被编码为双向预测或加权预测,
[0338]
i’(posx,posy)=shift((i(posx,posy) δi(posx,posy)),shift0),
[0339]
i’(posx,posy)=clipsample(i’(posx,posy)),
[0340]
其中clipsample将样点值限幅为有效的输出样点值。然后将i’(posx,posy)作为帧间预测值输出。
[0341]
否则(当前块被编解码为双向预测或加权预测)。i’(posx,posy)将被储存,并用于根据其他预测值和/或加权值来生成帧间预测值。
[0342]
2.6.条带头示例
[0343]
[0344]
[0345]
[0346]
[0347][0348]
2.7.示例序列参数集
[0349]
[0350]
[0351]
[0352]
[0353][0354]
2.8示例图片参数集
[0355]
[0356]
[0357]
[0358][0359]
2.9.示例自适应参数集
[0360]
[0361]
[0362]
[0363][0364]
2.10.示例图片头
[0365]
在一些实施例中,图片头被设计为具有以下属性:
[0366]
1.图片头nal单元的时域id和层id与含有图片头的层访问单元的时域id和层id相同。
[0367]
2.图片头nal单元应位于nal单元之前,该nal单元含有其相关联的图片的第一条带。这建立了图片头和与图片头相关联的图片的条带之间的关联,而无需具有在图片头中信令通知的并且从条带头中参考的图片头id。
[0368]
3.图片头nal单元应遵循图片级别参数集或更高级别,诸如dps、vps、sps、pps等。因此,这要求这些参数集为不在图片内或访问单元内重复/出现。
[0369]
4.图片头含有关于其相关联图片的图片类型的信息。图片类型可以用于定义以下内容(并非穷举列表)
[0370]
a.图片是idr图片
[0371]
b.图片是cra图片
[0372]
c.图片是gdr图片
[0373]
d.图片是非irap、非gdr图片、并且仅包含i条带
[0374]
e.图片是非irap、非gdr图片,并且可以仅包含p条带和i条带
[0375]
f.图片是非irap、非gdr图片,并且包含b条带、p条带和/或i条带中的任何一个
[0376]
5.将条带头中的图片级别语法元素的信令移动到图片头。
[0377]
6.信令通知条带头中的非图片级别语法元素,其典型地对于图片头中相同图片的所有条带都是相同的。当那些语法元素不存在于图片头中时,可以在条带头中信令通知那些语法元素。
[0378]
在一些实现方式中,强制图片头概念用于每个图片发送一次作为图片的第一vcl nal单元。还提出将当前在条带头中的语法元素移动到该图片头。每个图片功能上仅需要发送一次的语法元素可以被移动至图片头,而不是将其多次发送至给定图片,例如,每个条带发送条带头中的语法元素一次。移动图片内被约束为相同的条带头语法元素。
[0379]
语法元素已经被约束为在图片的所有条带中都相同。可以断言,将这些字段移动到图片头,以便每个图片仅信令通知这些字段一次,而不是每个条带信令通知一次,这样就避免了不必要的比特的冗余传输,而不会对这些语法元素的功能做出任何的改变。
[0380]
1.在一些实现方式中,存在以下语义约束:
[0381]
当存在时,条带头语法元素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb,recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag和slice_temporal_mvp_enabled_flag中的每个条带头语法元素的值在编解码图片的所有条带头中应是相同的。因此,这些语法元素中的每一个都可以移动到图片头,以避免不必要的冗余比特。
[0382]
在该贡献中,recovery_poc_cnt和no_output_of_prior_pics_flag不移动到图片头。它们在条带头中的存在取决于条带头nal_unit_type的条件检查,因此,如果需要将这些语法元素移动到图片头,则建议对它们进行研究。
[0383]
2.在一些实现方式中,存在以下语义约束:
[0384]
当存在时,slice_lmcs_aps_id的值对于图片的所有条带应是相同的。
[0385]
当存在时,slice_scaling_list_aps_id的值对于图片的所有条带应是相同的。因此,这些语法元素中的每一个都可以移动到图片头,以避免不必要的冗余比特。
[0386]
在一些实施例中,语法元素当前不被约束为在图片的所有条带中都是相同的。建议评价这些语法元素的预期用法,以确定可以将哪些语法元素移动到图片头中,以简化总体vvc设计,因为据称对每个条带头中的大量语法元素执行处理会带来复杂性影响。
[0387]
1.提出将以下语法元素移动到图片头。虽然当前对该语法元素具有不同条带的不同值没有限制,但是主张在每个条带头中发送该语法元素不存在好处/存在最少的好处和存在编解码损失,因为它们的预期用法以图片级别改变:
[0388]
a.six_minus_max_num_merge_cand
[0389]
b.five_minus_max_num_subblock_merge_cand
[0390]
c.slice_fpel_mmvd_enabled_flag
[0391]
d.slice_disable_bdof_dmvr_flag
[0392]
e.max_num_merge_cand_minus_max_num_triangle_cand
[0393]
f.slice_six_minus_max_num_ibc_merge_cand
[0394]
2.提出将以下语法元素移动到图片头。虽然当前对该语法元素具有不同条带的不同值没有限制,但是主张在每个条带头中发送该语法元素不存在好处/存在最少好处和存在编解码损失,因为它们的预期用法以图片级别改变:
[0395]
a.partition_constraints_override_flag
[0396]
b.slice_log2_diff_min_qt_min_cb_luma
[0397]
c.slice_max_mtt_hierarchy_depth_luma
[0398]
d.slice_log2_diff_max_bt_min_qt_luma
[0399]
e.slice_log2_diff_max_tt_min_qt_luma
[0400]
f.slice_log2_diff_min_qt_min_cb_chroma
[0401]
g.slice_max_mtt_hierarchy_depth_chroma
[0402]
h.slice_log2_diff_max_bt_min_qt_chroma
[0403]
i.slice_log2_diff_max_tt_min_qt_chroma
[0404]
与这些语法元素中的一些语法元素相关联的条件检查“slice_type==i”已随着移动至图片头而被移除。
[0405]
3.提出将以下语法元素移动到图片头。虽然当前对该语法元素具有不同条带的不同值没有限制,但是主张在每个条带头中发送该语法元素不存在好处/存在最少好处和存在编解码损失,因为它们的预期用法以图片级别改变:
[0406]
a.mvd_l1_zero_flag
[0407]
与这些语法元素中的一些语法元素相关联的条件检查“slice_type==b”已随着移动至图片头而被移除。
[0408]
4.提出将以下语法元素移动到图片头。虽然当前对该语法元素具有不同条带的不同值没有限制,但是主张在每个条带头中发送该语法元素不存在好处/存在最少好处和存在编解码损失,因为它们的预期用法以图片级别改变:
[0409]
a.dep_quant_enabled_flag
[0410]
b.sign_data_hiding_enabled_flag
[0411]
3.现有实现方式的缺点
[0412]
dmvr和bio在细化运动矢量期间不涉及原始信令,这可能导致编解码块具有不准确的运动信息。此外,dmvr和bio有时在运动细化之后采用分数运动矢量,而屏幕视频通常具有整数运动矢量,这使当前运动信息更加不准确并使编解码性能变差。
[0413]
当在vvc中应用rpr时,rpr(arc)可能具有以下问题:
[0414]
1.使用rpr,对于一个块中的相邻样点,插值滤波器可能是不同的,这在simd(单指令多数据)实现方式中是不希望的。
[0415]
2.边界区域不考虑rpr。
[0416]
3.注意到,“一致性裁剪窗口偏移参数仅应用在输出处。所有内部解码过程均应用于未裁剪的图片尺寸”。然而,当应用rpr时,可以在解码过程中使用这些参数。
[0417]
4.当导出参考样点位置时,rpr仅考虑两个一致性窗口之间的比率。但是还应该考虑两个一致性窗口之间的左上偏移差异。
[0418]
5.参考图片的宽度/高度与当前图片的宽度/高度之间的比率在vvc中受到约束。然而,参考图片的一致性窗口的宽度/高度与当前图片的一致性窗口的宽度/高度之间的比率不受约束。
[0419]
6.并非所有语法元素在图片头中都被适当处理。
[0420]
7.在当前的vvc中,对于tpm、geo预测模式,无论视频序列的色度样点位置类型如何,都可以导出色度混合权重。例如,在tpm/geo中,如果色度权重是从亮度权重导出的,则可能需要对亮度权重进行下采样以匹配色度信令的采样。假定为色度样点位置类型0,通常应用色度下采样,这在itu-r bt.601或itu-r bt.709容器中被广泛使用。但是,如果使用不同的色度样点位置类型,则可能会导致色度样点与下采样的亮度样点之间的未对准,从而可能会降低编解码性能。
[0421]
4.示例技术和实施例
[0422]
以下描述的详细实施例应被认为是示例以解释一般概念。这些实施例不应被狭义地解释。此外,这些实施例可以以任何方式组合。
[0423]
除了下面提到的dmvr和bio之外,以下描述的方法还可以适用于其他解码器运动信息导出技术。
[0424]
运动矢量由(mv_x,mv_y)表示,其中,mv_x是水平分量,而mv_y是垂直分量。
[0425]
在本公开中,图片的分辨率(或维度、或宽度/高度、或尺寸)可以指编码/解码的图片的分辨率(或维度,或宽度/高度、或尺寸),或者可以指编码/解码的图片中的一致性窗口的分辨率(或维度,或宽度/高度、或尺寸)。
[0426]
rpr中的运动补偿
[0427]
1.当参考图片的分辨率不同于当前图片的分辨率时,或者当参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,当前块的一组样点(至少两个样点)的预测值可以用相同的水平和/或垂直插值滤波器来生成。
[0428]
a.在一个示例中,该组可以包括块的区域中的所有样点。
[0429]
i.例如,可以将块划分为彼此不重叠的s个mxn的矩形。每个mxn的矩形都是一组。在如图2中所示的示例中,16x16的块可以划分为16个4x4的矩形,每个4x4的矩形都是一组。
[0430]
ii.例如,具有n个样点的行是一组。n是不大于块宽度的整数。
[0431]
在一个示例中,n为4或8或块宽度。
[0432]
iii.例如,具有n个样点的列是一组。n是不大于块高度的整数。
[0433]
在一个示例中,n为4或8或块高度。
[0434]
iv.可以预定义或即时(诸如基于块维度/编解码信息或信令通知)
[0435]
导出m和/或n。
[0436]
b.在一个示例中,该组中的样点可以具有相同的mv(表示为共享mv)。
[0437]
c.在一个示例中,该组中的样点可以具有带有相同水平分量(表示为共享水平分量)的mv。
[0438]
d.在一个示例中,该组中的样点可以具有带有相同垂直分量(表示为共享垂直分量)的mv。
[0439]
e.在一个示例中,该组中的样点可以具有带有相同水平分量的分数部分(表示为共享分数水平分量)的mv。
[0440]
i.例如,假设第一个样点的mv为(mv1x,mv1y),并且第二个样点的mv为(mv2x,mv2y),则应满足mv1x&(2
m-1)等于mv2x&(2
m-1),其中m表示mv精度。例如,m=4。
[0441]
f.在一个示例中,该组中的样点可以具有带有相同垂直分量的分数部分(表示为共享分数垂直分量)的mv。
[0442]
i.例如,假设第一个样点的mv为(mv1x,mv1y),并且第二个样点的mv为(mv2x,mv2y),则应满足mv1y&(2
m-1)等于mv2y&(2
m-1),其中m表示mv精度。例如,m=4。
[0443]
g.在一个示例中,对于要预测的组中的样点,可以首先根据当前图片和参考图片(例如,在jvet-o2001-v14中的8.5.6.3中导出的(refx
l
,refy
l
))的分辨率来导出由mvb表示的运动矢量。然后,可以将mvb进一步修改(例如,被取整/截断/限幅)为mv',以满足诸如上述项目符号的要求,并且mv'将用于导出该样点的预测样点。
[0444]
i.在一个示例中,mv’具有与mvb相同的整数部分,并且mv’的分数部分被设置为共享分数水平分量和/或共享分数垂直分量。
[0445]
ii.在一个示例中,mv’被设置为具有共享分数水平分量和/或共享分数垂直分量并且最接近于mvb的那个。
[0446]
h.共享运动矢量(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以设置为组中特定样点的运动矢量(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)。
[0447]
i.例如,特定样点可以在矩形组的拐角处,诸如图3a中所示的“a”、“b”、“c”和“d”。
[0448]
ii.例如,特定样点可以在矩形组的中心处,诸如图3a中所示的“e”、“f”、“g”和“h”。
[0449]
iii.例如,特定样点可以在行形组或列形组的末端处,诸如图3b和图3c中所示的“a”和“d”。
[0450]
iv.例如,特定样点可以在行形组或列形组的中间处,诸如图3b和图3c中所示的“b”和“c”。
[0451]
v.在一个示例中,特定样点的运动矢量可以是项目符号g中提到的mvb。
[0452]
i.共享运动矢量(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以设置为与该组中的所有样点相比的位于不同位置的虚拟样点的运动矢量(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)。
[0453]
i.在一个示例中,虚拟样点不在该组中,而是位于覆盖该组中所有样点的区域中。
[0454]
1)或者,虚拟样点位于覆盖该组中的所有样点的区域外,例如,紧邻该区域的右下位置。
[0455]
ii.在一个示例中,以与真实样点相同的方式导出虚拟样点的mv,但是具有不同的位置。
[0456]
iii.图3a至图3c中的“v”示出了虚拟样点的三个示例。
[0457]
j.共享mv(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以设置为多个样点和/或虚拟样点的mv(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)的函数。
[0458]
i.例如,共享mv(和/或共享水平分量和/或共享垂直分量和/或共享分数垂直分量和/或共享分数垂直分量)可以设置为该组中的全部样点或部分样点的、或图3a中的样点“e”、“f”、“g”、“h”的、或图3a中的样点“e”、“h”的、或图3a中的样点“a”、“b”、“c”、“d”的、或图3a中的样点“a”、“d”的、或图3b中的样点“b”、“c”的、或图3b中的样点“a”、“d”的、或图3c中的样点“b”、“c”的、或图3c中的样点“a”、“d”的mv(和/或水平分量和/或垂直分量和/或分数垂直分量和/或分数垂直分量)的平均值,
[0459]
2.提出当参考图片的分辨率不同于当前图片的分辨率时,或者当参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,仅允许整数mv执行运动补偿过程以导出当前块的预测块。
[0460]
a.在一个示例中,要预测的样点的解码运动矢量在使用前取整为整数mv。
[0461]
b.在一个示例中,将要预测的样点的解码运动矢量取整为整数mv,该整数mv最接近解码的运动矢量。
[0462]
c.在一个示例中,将要预测的样点的解码运动矢量取整为整数mv,该整数mv在水平方向上最接近解码的运动矢量
[0463]
d.在一个示例中,将要预测的样点的解码运动矢量取整为整数mv,该整数mv在垂直方向上最接近解码的运动矢量
[0464]
3.当前块中的样点的运动补偿过程中使用的运动矢量(例如,以上项目符号中提到的共享mv/共享水平或垂直或分数分量/mv')可以储存在解码图片缓冲器中,并用于当前/不同图片中后续块的运动矢量预测。
[0465]
a.可替代地,当前块中的样点的运动补偿过程中使用的运动矢量(例如,以上项目符号中提到的共享mv/共享水平或垂直或分数分量/mv')可以不被允许用于当前/不同图片中后续块的运动矢量预测。
[0466]
i.在一个示例中,可将解码的运动矢量(例如,以上项目符号中的mvb)用于当前/不同图片中的后续块的运动矢量预测。
[0467]
b.在一个示例中,可以在滤波过程中利用当前块中的样点的运动补偿过程(例如,去块滤波器/sao/alf)中的使用的运动矢量。
[0468]
i.可替代地,可以在滤波过程中利用解码的运动矢量(例如,以上项目符号中的mvb)。
[0469]
c.在一个示例中,这样的mv可以以子块级别导出并且可被储存用于每个子块。
[0470]
4.提出可以取决于参考图片的分辨率是否不同于当前图片的分辨率,或者参考图片的宽度和/或高度是否大于当前图片的宽度和/或高度,来选择在运动补偿过程中用于导出当前块的预测块的插值滤波器。
[0471]
a.在一个示例中,当满足条件a时,可以应用具有较少抽头的插值滤波器,其中条件a取决于当前图片和/或参考图片的维度。
[0472]
i.在一个示例中,条件a是参考图片的分辨率不同于当前图片的分辨率。
[0473]
ii.在一个示例中,条件a是参考图片的宽度和/或高度大于当前图片的宽度和/或高度。
[0474]
iii.在一个示例中,条件a是w1》a*w2和/或h1》b*h2,其中(w1,h1)表示参考图片的宽度和高度,并且(w2,h2)表示当前图片的宽度和高度,a和b是两个因素,例如a=b=1.5。
[0475]
iv.在一个示例中,条件a还可以取决于是否使用双向预测。
[0476]
v.在一个示例中,应用了1抽头过滤器。换句话说,将没有滤波的整数像素输出为
插值结果。
[0477]
vi.在一个示例中,当参考图片的分辨率不同于当前图片的分辨率时,应用双线性滤波器。
[0478]
vii.在一个示例中,当参考图片的分辨率不同于当前图片的分辨率,或者参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,应用4抽头滤波器或6抽头滤波器。
[0479]
1)6抽头滤波器也可以用于仿射运动补偿。
[0480]
2)4抽头滤波器也可以用于色度样点的插值。
[0481]
b.在一个示例中,当参考图片的分辨率不同于当前图片的分辨率,或者
[0482]
参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,使用填充样点来执行插值。
[0483]
c.是否应用和/或如何应用项目符号4中公开的方法可以取决于色彩分量。
[0484]
i.例如,该方法仅适用在亮度分量上。
[0485]
d.是否应用和/或如何应用项目符号4中公开的方法可以取决于插值滤波方向。
[0486]
i.例如,该方法仅适用在水平滤波上。
[0487]
ii.例如,该方法仅适用在垂直滤波上。
[0488]
5.提出当参考图片的分辨率不同于当前图片的分辨率时,或者当参考图片的宽度和/或高度大于当前图片的宽度和/或高度时,应用用于预测块生成的两阶段处理。
[0489]
a.在第一阶段中,取决于当前图片和参考图片的宽度和/或高度,通过对参考图片中的区域进行上采样或下采样来生成虚拟参考块。
[0490]
b.在第二阶段中,独立于当前图片和参考图片的宽度和/或高度,通过应用插值滤波从虚拟参考块生成预测样点。
[0491]
6.提出,如在一些实施例中,可以取决于当前图片和参考图片的宽度和/或高度来导出用于参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)的计算。
[0492]
a.在一个示例中,以全样点为单位的亮度位置修改为:
[0493]
xinti=clip3(xsbint
l-dx,xsbint
l
sbwidth ux,xinti),
[0494]
yinti=clip3(ysbint
l-dy,ysbint
l
sbheight uy,yinti),
[0495]
其中dx和/或dy和/或ux和/或uy可以取决于当前图片和参考图片的宽度和/或高度。
[0496]
b.在一个示例中,以全样点为单位的色度位置修改为:
[0497]
xinti=clip3(xsbint
c-dx,xsbintc sbwidth ux,xinti)
[0498]
yinti=clip3(ysbint
c-dy,ysbintc sbheight uy,yinti)
[0499]
其中dx和/或dy和/或ux和/或uy可以取决于当前图片和参考图片的宽度和/或高度。
[0500]
7.代替基于与当前图片相同的参考图片分辨率来储存/使用块的运动矢量,提出在考虑分辨率差异的情况下使用真实运动矢量。
[0501]
a.可替代地,另外,当使用运动矢量来生成预测块时,不需要根据当前图片和参考图片(例如,(refx
l
,refy
l
))的分辨率来进一步改变运动矢量。
[0502]
rpr与其他编解码工具之间的相互作用
[0503]
8.是否/如何应用滤波过程(例如,去块滤波器)可以取决于参考图片的分辨率和/
或当前图片的分辨率。
[0504]
a.在一个示例中,去块滤波器中的边界强度(bs)设置除了运动矢量差外还可以考虑分辨率差。
[0505]
i.在一个示例中,根据当前图片和参考图片的分辨率缩放的运动矢量差可以用于确定边界强度。
[0506]
b.在一个示例中,如果与相同的分辨率用于两个块的情况相比,块a的至少一个参考图片的分辨率不同于(或小于或大于)块b的至少一个参考图片的分辨率,则用于块a和块b之间的边界的去块滤波器的强度可以不同地设置(例如,增加/减小)。
[0507]
c.在一个示例中,如果块a的至少一个参考图片的分辨率不同于(或小于或大于)块b的至少一个参考图片的分辨率,则将块a和块b之间的边界标记为要被滤波(例如,bs设置为2)。
[0508]
d.在一个示例中,如果与相同的分辨率用于参考图片和当前图片的情况相比,块a和/或块b的至少一个参考图片的分辨率不同于(或小于或大于)当前图片的分辨率,则用于块a和块b之间的边界的去块滤波器的强度可以不同地设置(例如,增加/减小)。
[0509]
e.在一个示例中,如果两个块中的至少一个块的至少一个参考图片具有与当前图片的分辨率不同的分辨率,则将两个块之间的边界标记为要被滤波(例如,bs设置为2)。
[0510]
9.当存在子图片时,一致性比特流应可以满足参考图片必须具有与当前图片相同的分辨率。
[0511]
a.可替代地,当参考图片具有与当前图片不同的分辨率时,当前图片中必须没有子图片。
[0512]
b.可替代地,对于当前图片中的子图片,不允许使用具有与当前图片不同分辨率的参考图片。
[0513]
i.可替代地,此外,可以调用参考图片管理以排除具有不同分辨率的那些参考图片。
[0514]
10.在一个示例中,可以对具有不同分辨率的图片分别定义子图片(例如,如何将一个图片划分为多个子图片)。
[0515]
在一个示例中,如果参考图片具有与当前图片不同的分辨率,则可以通过缩放和/或偏移当前图片的子图片来导出参考图片中的对应子图片。
[0516]
11.当参考图片的分辨率与当前图片的分辨率不同时,可以启用prof(用光流的预测细化)。
[0517]
a.在一个示例中,可以为一组样点生成mv(表示为mvg)的一个集合,并且可以用于如项目符号1中所述的运动补偿。另一方面,可以为每个样点导出mv(表示为mv
p
),并且mv
p
和mvg之间的差(例如,对应于prof中使用的δv)与梯度(例如,运动补偿块的空间梯度)一起可以用于导出预测细化。
[0518]
b.在一个示例中,mv
p
可以具有与mvg不同的精度。例如,mv
p
的精度可以为1/n像素(pel)(n》0),n=32、64等。
[0519]
c.在一个示例中,mvg可以具有与内部mv精度不同的精度(例如,1/16像素)。
[0520]
d.在一个示例中,将预测细化添加到预测块以生成细化的预测块。
[0521]
e.在一个示例中,这种方法可以应用在每个预测方向上。
[0522]
f.在一个示例中,这种方法可以仅应用在单向预测情况下。
[0523]
g.在一个示例中,这种方法可以应用在单向预测或/和双向预测中。
[0524]
h.在一个示例中,仅当参考图片具有与当前图片不同的分辨率时,才可以应用这种方法。
[0525]
12.提出当参考图片的分辨率与当前图片的分辨率不同时,仅一个mv可以用于块/子块以执行运动补偿过程来导出当前块的预测块。
[0526]
a.在一个示例中,可以将块/子块的唯一mv定义为与块/子块内的每个样点相关联的所有mv的函数(例如,平均值)。
[0527]
b.在一个示例中,块/子块的唯一mv可以被定义为与块/子块内的选定样点(例如,中心样点)相关联的选定mv。
[0528]
c.在一个示例中,4
×
4块或子块(例如4
×
1)可以利用仅一个mv。
[0529]
d.在一个示例中,可以进一步应用bio以补偿由于基于块的运动矢量而导致的精度损失。
[0530]
13.当参考图片的宽度和/或高度与当前图片的宽度和/或高度不同时,可以应用不信令通知任何基于块的运动矢量的惰性模式。
[0531]
a.在一个示例中,可以不信令通知运动矢量,并且运动补偿过程将近似于静止图像的纯分辨率改变的情况。
[0532]
b.在一个示例中,可仅以图片/片/砖/ctu级别信令通知运动矢量,且当分辨率改变时相关块可使用运动矢量。
[0533]
14.当对于使用仿射预测模式和/或非仿射预测模式的编解码的块,参考图片的宽度和/或高度与当前图片的宽度和/或高度不同时,prof可以应用于近似运动补偿。
[0534]
a.在一个示例中,当参考图片的宽度和/或高度与当前图片的宽度和/或高度不同时,可以启用prof。
[0535]
b.在一个示例中,可以通过组合指示的运动和分辨率缩放来生成并且由prof使用仿射运动的集合。
[0536]
15.当参考图片的宽度和/或高度不同于当前图片的宽度和/或高度时,可以将(例如,如jvet-k0102中提出的)交织的预测应用于近似运动补偿。
[0537]
a.在一个示例中,将分辨率改变(缩放)表示为仿射运动,并且可以应用交织的运动预测。
[0538]
16.当当前图片的宽度和/或高度与相同irap周期中的irap图片的宽度和/或高度不同时,可以禁用lmcs和/或色度残差缩放。
[0539]
a.在一个示例中,当lmcs被禁用时,诸如slice_lmcs_enabled_flag、slice_lmcs_aps_id和slice_chroma_residual_scale_flag的条带级别标志可以不被信令通知并且被推断为0。
[0540]
b.在一个示例中,当色度残差缩放被禁用时,诸如slice_chroma_residual_scale_flag的条带级别标志可以不被信令通知并且被推断为0。
[0541]
rpr上的约束
[0542]
17.rpr可以应用于具有块维度约束的编解码块。
[0543]
a.在一个示例中,对于m
×
n编解码块,其中m为块宽度,并且n为块高度,当m*n《t或
m*n《=t(诸如t=256)时,可以不使用rpr。
[0544]
b.在一个示例中,当m《k(或m《=k)(诸如k=16)和/或n《l(或n《=l)(诸如l=16)时,可以不使用rpr。
[0545]
18.可以添加比特流一致性以限制活动参考图片(或其一致性窗口)的宽度和/或高度和当前图片(或其一致性窗口)的宽度和/或高度之间的比率。假设refpicw和refpich表示参考图片的宽度和高度,curpicw和curpich表示当前图片的宽度和高度。
[0546]
a.在一个示例中,当(refpicw
÷
curpicw)等于整数时,参考图片可以被标记为活动参考图片。
[0547]
i.可替代地,当(refpicw
÷
curpicw)等于分数时,参考图片可以被标记为不可用。
[0548]
b.在一个示例中,当(refpicw
÷
curpicw)等于(x*n)时,其中x表示分数(诸如x=1/2),并且n表示整数(诸如n=1、2、3、4

),参考图片可以被标记为活动参考图片。
[0549]
i.在一个示例中,当(refpicw
÷
curpicw)不等于(x*n)时,参考图片可以被标记为不可用。
[0550]
19.对于m
×
n块,是否启用和/或如何启用编解码工具(例如,tpm中的混合过程/整个三角预测模式(tpm)/双向预测)可以取决于参考图片的分辨率(或它们的一致性窗口)和/或当前图片的分辨率(或其一致性窗口)。
[0551]
a.在一个示例中,m*n《t或m*n《=t(诸如t=64)。
[0552]
b.在一个示例中,m《k(或m《=k)(诸如k=16)和/或n《l(或n《=l)(诸如l=16)。
[0553]
c.在一个示例中,当至少一个参考图片的宽度/高度与当前图片的宽度/高度不同时,编解码工具是不允许的,
[0554]
i.在一个示例中,当块的至少一个参考图片的宽度/高度大于当前图片的宽度/高度时,编解码工具是不允许的。
[0555]
d.在一个示例中,当块的每个参考图片的宽度/高度与当前图片的宽度/高度不同时,编解码工具是不允许的,
[0556]
i.在一个示例中,当每个参考图片的宽度/高度大于当前图片的宽度/高度时,编解码工具是不允许的。
[0557]
e.可替代地,此外,当编解码工具是不允许的时,可以以一个mv作为单向预测来进行运动补偿。
[0558]
相关的一致性窗口
[0559]
20.一致性裁剪窗口偏移参数(例如,conf_win_left_offset)以n像素精度而不是1像素来信令通知,其中n是大于1的正整数。
[0560]
a.在一个示例中,可以将实际偏移导出为信令通知的偏移乘以n。
[0561]
b.在一个示例中,n设置为4或8。
[0562]
21.提出将一致性裁剪窗口偏移参数不仅应用在输出处。某些内部解码过程可以取决于裁剪的图片尺寸(即图片中一致性窗口的分辨率)。
[0563]
22.提出当第一视频单元(例如pps)和第二视频单元中的图片的宽度和/或高度(表示为pic_width_in_luma_samples,pic_height_in_luma_samples)相同时,第一视频单元和第二视频单元中的一致性裁剪窗口偏移参数可以不同。
[0564]
23.提出当第一视频单元(例如pps)和第二视频单元中的图片的宽度和/或高度
(表示为pic_width_in_luma_samples,pic_height_in_luma_samples)不同时,第一视频单元和第二视频单元中的一致性裁剪窗口偏移参数在一致性比特流中应是相同的。
[0565]
a.提出,无论第一视频单元(例如pps)和第二视频单元中的图片的宽度和/或高度(表示为pic_width_in_luma_samples,pic_height_in_luma_samples)是否相同时,第一视频单元和第二视频单元中的一致性裁剪窗口偏移参数在一致性比特流中应是相同的。
[0566]
24.假设在第一视频单元(例如,pps)中定义的一致性窗口的宽度和高度分别表示为w1和h1。在第二视频单元(例如,pps)中定义的一致性窗口的宽度和高度分别表示为w2和h2。在第一视频单元(例如,pps)中定义的一致性窗口的左上位置被表示为x1和y1。在第二视频单元(例如,pps)中定义的一致性窗口的左上位置被表示为x2和y2。在第一视频单元(例如,pps)中定义的编码/解码图片的宽度和高度(例如,pic_width_in_luma_samples和pic_height_in_luma_samples)分别表示为pw1和ph1。在第二视频单元(例如,pps)中定义的编码/解码图片的宽度和高度被表示为pw2和ph2。
[0567]
a.在一个示例中,在一致性比特流中,w1/w2应等于x1/x2。
[0568]
i.可替代地,在一致性比特流中,w1/x1应等于w2/x2。
[0569]
ii.可替代地,在一致性比特流中,w1*x2应等于w2*x1。
[0570]
b.在一个示例中,在一致性比特流中,h1/h2应等于y1/y2。
[0571]
i.可替代地,在一致性比特流中,h1/y1应等于h2/y2。
[0572]
ii.可替代地,在一致性比特流中,h1*y2应等于h2*y1。
[0573]
c.在一个示例中,在一致性比特流中,pw1/pw2应等于x1/x2。
[0574]
i.可替代地,在一致性比特流中,pw1/x1应等于pw2/x2。
[0575]
ii.可替代地,在一致性比特流中,pw1*x2应等于pw2*x1。
[0576]
d.在一个示例中,在一致性比特流中ph1/ph2应等于y1/y2。
[0577]
i.可替代地,在一致性比特流中,ph1/y1应等于ph2/y2。
[0578]
ii.可替代地,在一致性比特流中,ph1*y2应等于ph2*y1。
[0579]
e.在一个示例中,在一致性比特流中,pw1/pw2应等于w1/w2。
[0580]
i.可替代地,在一致性比特流中,pw1/w1应等于pw2/w2。
[0581]
ii.可替代地,在一致性比特流中,pw1*w2应等于pw2*w1。
[0582]
f.在一个示例中,在一致性比特流中,ph1/ph2应等于h1/h2。
[0583]
i.可替代地,在一致性比特流中,ph1/h1应等于ph2/h2。
[0584]
ii.可替代地,在一致性比特流中,ph1*h2应等于ph2*h1。
[0585]
g.在一致性比特流中,如果pw1大于pw2,则w1必须大于w2。
[0586]
h.在一致性比特流中,如果pw1小于pw2,则w1必须小于w2。
[0587]
i.在一致性比特流中,(pw1-pw2)*(w1-w2)必须不小于0。
[0588]
j.在一致性比特流中,如果ph1大于ph2,则h1必须大于h2。
[0589]
k.在一致性比特流中,如果ph1小于ph2,则h1必须小于h2。
[0590]
l.在一致性比特流中,(ph1-ph2)*(h1-h2)必须不小于0。
[0591]
m.在一致性比特流中,如果pw1》=pw2,则w1/w2必须不大于(或小于)pw1/pw2。
[0592]
n.在一致性比特流中,如果ph1》=ph2,则h1/h2必须不大于(或小于)ph1/ph2。
[0593]
25.假设当前图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致
性窗口的宽度和高度分别表示为w'和h'。然后,一致性比特流应遵循在下面的至少一个约束。
[0594]
a.w*pw》=w’;pw是整数,诸如2。
[0595]
b.w*pw》w’;pw是整数,诸如2。
[0596]
c.w’*pw’》=w;pw’是整数,诸如8。
[0597]
d.w’*pw’》w;pw’是整数,诸如8。
[0598]
e.h*ph》=h’;ph是整数,诸如2。
[0599]
f.h*ph》h’;ph是整数,诸如2。
[0600]
g.h’*ph’》=h;ph’是整数,诸如8。
[0601]
h.h’*ph’》h;ph’是整数,诸如8。
[0602]
i.在一个示例中,pw等于pw’。
[0603]
j.在一个示例中,ph等于ph’。
[0604]
k.在一个示例中,pw等于ph。
[0605]
l.在一个示例中,pw'等于ph'。
[0606]
m.在一个示例中,当w和h分别表示当前图片的宽度和高度时,可以需要一致性比特流满足上述子项目符号。w’和h’表示参考图片的宽度和高度。
[0607]
26.提出部分地信令通知一致性窗口参数。
[0608]
a.在一个示例中,图片的一致性窗口中的左上样点与该图片中的左上样点相同。
[0609]
b.例如,未信令通知如vvc中定义的conf_win_left_offset并将其推断为零。
[0610]
c.例如,未信令通知如vvc中定义的conf_win_top_offset并将其推断为零。
[0611]
27.提出参考样点的位置(例如,如vvc中定义的(refx
l
,refy
l
))的导出可以取决于当前图片和/或参考图片的一致性窗口的左上位置(例如,如vvc中定义的(conf_win_left_offset,conf_win_top_offset))。图4示出了如vvc(a)中以及在所提出的方法(b)中导出的样点位置的示例。虚线矩形表示一致性窗口。
[0612]
a.在一个示例中,仅当当前图片的宽度和/或高度与参考图片的宽度和/或高度不同时,才存在依赖性。
[0613]
b.在一个示例中,参考样点的水平位置(例如,如vvc中定义的refx
l
)的导出可以取决于当前图片和/或参考图片的一致性窗口的左侧位置(例如,如vvc中定义的conf_win_left_offset)。
[0614]
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的水平位置(表示为xsb'),并将其用于导出参考样点的位置。
[0615]
1)例如,计算xsb’=xsb

(conf_win_left_offset《《prec),并将其用于导出参考样点的位置,其中xsb表示当前样点在当前图片中的水平位置。conf_win_left_offset表示当前图片的一致性窗口中的左上样点的水平位置。prec表示xsb和xsb'的精度,其中(xsb》》prec)可以显示当前样点相对于当前图片的实际水平坐标。例如,prec=0或prec=4。
[0616]
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的水平位置(表示为rx')。
[0617]
1)rx’的计算可以取决于xsb’和/或运动矢量和/或重采样率。
[0618]
iii.在一个示例中,取决于rx’来计算参考样点相对于参考图片的水平位置(表示
为rx)。
[0619]
1)例如,计算rx=rx’ (conf_win_left_offset_ref《《prec),其中conf_win_left_offset_ref表示参考图片的一致性窗口中左上样点的水平位置。prec表示rx和rx’的精度。例如,prec=0或prec=4。
[0620]
iv.在一个示例中,可以取决于xsb’和/或运动矢量和/或重采样率直接计算rx。换句话说,将rx’和rx的导出的两个步骤合并为一步计算。
[0621]
v.是否使用和/或如何使用当前图片和/或参考图片的一致性窗口的左侧位置(例如,如vvc中定义的conf_win_left_offset)可以取决于色彩分量和/或色彩格式。
[0622]
1)例如,可以将conf_win_left_offset修改为conf_win_left_offset=conf_win_left_offset*subwidthc,其中subwidthc定义色彩分量的水平采样步骤。例如,亮度分量的subwidthc等于1。当色彩格式为4:2:0或4:2:2时,色度分量的subwidthc等于2。
[0623]
2)例如,可以将conf_win_left_offset修改为conf_win_left_offset=conf_win_left_offset/subwidthc,其中subwidthc定义色彩分量的水平采样步骤。例如,亮度分量的subwidthc等于1。当色彩格式为4:2:0或4:2:2时,色度分量的subwidthc等于2。
[0624]
c.在一个示例中,参考样点的垂直位置(例如,如vvc中定义的refy
l
)的导出可以取决于当前图片和/或参考图片的一致性窗口的顶部位置(例如,如vvc中定义的conf_win_top_offset)。
[0625]
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的垂直位置(表示为ysb'),并将其用于导出参考样点的位置。
[0626]
1)例如,计算ysb’=ysb

(conf_win_top_offset《《prec)并用于导出参考样点的位置,其中ysb表示当前样点在当前图片中的垂直位置。conf_win_top_offset表示当前图片的一致性窗口中的左上样点的垂直位置。prec表示ysb和ysb’的精度。例如,prec=0或prec=4。
[0627]
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的垂直位置(表示为ry')。
[0628]
1)ry’的计算可以取决于ysb’和/或运动矢量和/或重采样率。iii.在一个示例中,取决于ry’来计算参考样点相对于参考图片的垂直位置(表示为ry)。
[0629]
1)例如,计算ry=ry’ (conf_win_top_offset_ref《《prec),其中conf_win_top_offset_ref表示参考图片的一致性窗口中左上样点的垂直位置。prec表示ry和ry’的精度。例如,prec=0或prec=4。
[0630]
iv.在一个示例中,可以取决于ysb’和/或运动矢量和/或重采样率直接计算ry。换句话说,将ry’和ry的导出的两个步骤合并为一步计算。
[0631]
v.是否使用和/或如何使用当前图片和/或参考图片的一致性窗口的顶部位置(例如,如vvc中定义的conf_win_top_offset)可以取决于色彩分量和/或色彩格式。
[0632]
1)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_top_offset*subheightc,其中subheightc定义色彩分量的垂直采样步骤。例如,亮度分量的subheightc等于1。当色彩格式为4:2:0时,色度分量的subheightc等于2。2)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_top_offset/subheightc,其中subheightc定义色彩分量的垂直采样步骤。例如,亮度分量的subheightc等于1。当色
彩格式为4:2:0时,色度分量的subheightc等于2。
[0633]
28.提出参考样点的水平坐标的整数部分可以被限幅为[minw,maxw]。假设参考图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致性窗口的宽度和高度分别表示为w'和h'。参考图片中的一致性窗口的左上位置表示为(x0,y0)。
[0634]
a.在一个示例中,minw等于0。
[0635]
b.在一个示例中,minw等于x0。
[0636]
c.在一个示例中,maxw等于w-1。
[0637]
d.在一个示例中,maxw等于w
’‑
1。
[0638]
e.在一个示例中,maxw等于x0 w
’‑
1。
[0639]
f.在一个示例中,可以基于色彩格式和/或色彩分量来修改minw和/或
[0640]
maxw。
[0641]
i.例如,将minw修改为minw*subc。
[0642]
ii.例如,将minw修改为minw/subc。
[0643]
iii.例如,将maxw修改为maxw*subc。
[0644]
iv.例如,将maxw修改为maxw/subc。
[0645]
v.在一个示例中,亮度分量的subc等于1。
[0646]
vi.在一个示例中,当色彩格式为4:2:0时,色度分量的subc等于2。
[0647]
vii.在一个示例中,当色彩格式为4:2:2时,色度分量的subc等于2。
[0648]
viii.在一个示例中,当色彩格式为4:4:4时,色度分量的subc等于1。
[0649]
g.在一个示例中,是否和/或如何进行限幅可以取决于当前图片(或其中的一致性窗口)的维度和参考图片(或其中的一致性窗口)的维度。
[0650]
i.在一个示例中,仅当当前图片(或其中的一致性窗口)的维度与参考图片(或其中的一致性窗口)的维度不同时才进行限幅。
[0651]
29.提出参考样点的垂直坐标的整数部分可以被限幅为[minh,maxh]。假设参考图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致性窗口的宽度和高度表示为w'和h'。参考图片中的一致性窗口的左上位置表示为(x0,y0)。
[0652]
a.在一个示例中,minh等于0。
[0653]
b.在一个示例中,minh等于y0。
[0654]
c.在一个示例中,maxh等于h-1。
[0655]
d.在一个示例中,maxh等于h
’‑
1。
[0656]
e.在一个示例中,maxh等于y0 h
’‑
1。
[0657]
f.在一个示例中,可以基于色彩格式和/或色彩分量来修改minh和/或
[0658]
maxh。
[0659]
i.例如,将minh修改为minh*subc。
[0660]
ii.例如,将minh修改为minh/subc。
[0661]
iii.例如,将maxh修改为maxh*subc。
[0662]
iv.例如,将maxh修改为maxh/subc。
[0663]
v.在一个示例中,亮度分量的subc等于1。
[0664]
vi.在一个示例中,当色彩格式为4:2:0时,色度分量的subc等于2。
[0665]
vii.在一个示例中,当色彩格式为4:2:2时,色度分量的subc等于1。
[0666]
viii.在一个示例中,当色彩格式为4:4:4时,色度分量的subc等于1。
[0667]
g.在一个示例中,是否和/或如何进行限幅可以取决于当前图片(或其中的一致性窗口)的维度和参考图片(或其中的一致性窗口)的维度。
[0668]
i.在一个示例中,仅当当前图片(或其中的一致性窗口)的维度与参考图片(或其中的一致性窗口)的维度不同时才进行限幅。
[0669]
在以下讨论中,如果两个语法元素具有同等的功能,但可以在不同的视频单元(例如vps/sps/pps/条带头/图片头等)处信令通知,则断言第一语法元素“对应于”第二语法元素。
[0670]
30.提出在第一视频单元(例如图片头或pps)中可以信令通知语法元素,并且在第二视频单元中不以较高级别(诸如sps)或较低级别(诸如条带头)信令通知对应的语法元素。
[0671]
a.可替代地,可以在第一视频单元(例如图片头或pps)中信令通知第一语法元素,并且可以在第二视频单元中以较低级别(诸如条带头)信令通知对应的第二语法元素。
[0672]
i.可替代地,可以在第二视频单元中信令通知指示符以通知其后是否信令通知第二语法元素。
[0673]
ii.在一个示例中,如果信令通知第二语法元素,则与第二视频单元相关联的条带(诸如条带头)可以遵循第二语法元素的指示而不是第一语法元素的指示。
[0674]
iii.可以在第一视频单元中信令通知与第一语法元素相关联的指示符,以通知在与第一视频单元相关联的任何条带(或其他视频单元)中是否信令通知第二语法元素。
[0675]
b.可替代地,可以在第一视频单元中以较高级别(诸如vps/sps/pps)信令通知第一语法元素,并且可以在第二视频单元(诸如图片头)中信令通知对应的第二语法元素。
[0676]
i.可替代地,可以信令通知指示符以通知其后是否信令通知第二语法元素。
[0677]
ii.在一个示例中,如果信令通知第二视频单元,则与第二视频单元相关联的图片(可以被分割为条带)可以遵循第二语法元素的指示而不是第一语法元素的指示。
[0678]
c.图片头中的第一语法元素可以具有与如章节2.6中指定的条带头中的第二语法元素(诸如但不限于slice_temporal_mvp_enabled_flag、cabac_init_flag,six_minus_max_num_merge_cand、five_minus_max_num_subblock_merge_cand、slice_fpel_mmvd_enabled_flag、slice_disable_bdof_dmvr_flag、max_num_merge_cand_minus_max_num_triangle_cand、slice_fpel_mmvd_enabled_flag、slice_six_minus_max_num_ibc_merge_cand、slice_joint_cbcr_sign_flag,slice_qp_delta、

)同等的功能,但控制图片的所有条带。
[0679]
d.如章节2.6中指定的sps中的第一语法元素可以具有与图片头中的第二语法元素同等的功能(诸如但不限于sps_bdof_dmvr_slice_present_flag、sps_mmvd_enabled_flag、sps_isp_enabled_flag、sps_mrl_enabled_flag、sps_mip_enabled_flag、sps_cclm_enabled_flag、sps_mts_enabled_flag

),但仅控制相关联的图片(其可以被分割为条带)。
[0680]
e.如章节2.7中指定的pps中的第一语法元素可以具有与图片头中的第二语法元素同等的功能(诸如但不限于entropy_coding_sync_enabled_flag、entry_point_
offsets_present_flag、cabac_init_present_flag、rpl1_idx_present_flag

),但仅控制相关联的图片(其可以被分割为条带)。
[0681]
31.在本公开中(项目符号1-项目符号29),术语“一致性窗口”可以由诸如“缩放窗口”的其他术语代替。缩放窗口可以与一致性窗口不同地信令通知,并且用于导出缩放比率和/或左上偏移,该缩放比率和/或左上偏移用于导出rpr的参考样点位置。
[0682]
a.在一个示例中,缩放窗口可以被一致性窗口约束。例如,在一致性比特流中,必须由一致性窗口包含缩放窗口。
[0683]
32.是否和/或如何信令通知用于变换跳过编解码块的允许的最大块尺寸可以取决于用于变换编解码块的最大块尺寸。
[0684]
a.可替代地,在一致性比特流中,用于变换跳过编解码块的最大块尺寸不能大于用于变换编解码块的最大块尺寸。
[0685]
33.是否和如何信令通知启用联合cb-cr残差(jccr)编解码的指示(诸如sps_joint_cbcr_enabled_flag)可以取决于色彩格式(诸如4:0:0、4:2:0等)。
[0686]
a.例如,如果色彩格式为4:0:0,则可以不会信令通知启用联合cb-cr残差(jccr)的指示。示例性语法设计如下:
[0687][0688]
在tpm/geo中用于色度混合遮罩生成的下采样滤波器类型
[0689]
34.用于混合色度样点的权重导出的下采样滤波器类型可以以视频单元级别(诸如sps/vps/pps/图片头/子图片/条带/条带头/片/砖/ctu/vpdu级别)信令通知。
[0690]
a.在一个示例中,可以信令通知高级别标志,以在内容的不同色度格式类型之间切换。
[0691]
i.在一个示例中,可以信令通知高级别标志,以在色度格式类型0和色度格式类型2之间切换。
[0692]
ii.在一个示例中,可以信令通知标志,用于指定在tpm/geo预测模式下的左上下采样的亮度权重是否与左上亮度权重(即,色度样点位置类型0)共位。
[0693]
iii.在一个示例中,可以信令通知标志,用于指定在tpm/geo预测模式下的左上下采样的亮度样点是否与左上亮度样点在水平方向上共处同一位置,但是相对于左上亮度样点(即,色度样点位置类型2)垂直地移位了亮度样点的0.5个单位。
[0694]
b.在一个示例中,对于4:2:0色度格式和/或4:2:2色度格式可以信令通知下采样滤波器类型。
[0695]
c.在一个示例中,可以信令通知标志以指定用于tpm/geo预测的色度下采样滤波器类型。
[0696]
i.在一个示例中,可以信令通知标志,使用下采样滤波器a还是使用下采样滤波器b用于tpm/geo预测模式下的色度权重导出。
[0697]
35.用于色度样点的混合权重导出的下采样滤波器类型可以在视频单位级别(诸如sps/vps/pps/图片头/子图片/条带/条带头/片/砖/ctu/vpdu级别)处导出。
[0698]
a.在一个示例中,可以定义查找表以指定内容的色度子采样过滤器类型和色度格式类型之间的对应关系。
[0699]
36.在不同色度样点位置类型的情况下,则指定的下采样滤波器可以用于tpm/geo预测模式。
[0700]
a.在一个示例中,在某些色度样点位置类型(例如,色度样点位置类型0)的情况下,可以从共位的左上亮度权重对tpm/geo的色度权重进行子采样。
[0701]
b.在一个示例中,在某一色度样点位置类型(例如,色度样点位置类型0或2)的情况下,可以将指定的x抽头滤波器(x是常数,诸如x=6或5)用于在tpm/geo预测模式下的色度权重子采样。
[0702]
37.在视频单元(例如,sps、pps、图片头、条带头等)中,可以信令通知第一语法元素(诸如标志),以指示是否对所有块(条带/图片)禁用多个变换选择(mts)。mts是基于多个变换中的变换的选择,从而最大化速率失真成本。
[0703]
a.指示如何在帧内编解码块(条带/图片)上应用mts(诸如启用mts/禁用mts/隐式mts/显式mts)的第二语法元素在第一语法元素上有条件地信令通知。例如,仅当第一语法元素指示不对所有块(条带/图片)禁用mts时,才信令通知第二语法元素。
[0704]
b.指示如何在帧间编解码块(条带/图片)上应用mts(诸如启用mts/禁用mts/隐式mts/显式mts)的第三语法元素在第一语法元素上有条件地信令通知。例如,仅当第一语法元素指示不对所有块(条带/图片)禁用mts时,才信令通知第三语法元素。
[0705]
c.示例性语法设计如下
[0706][0707]
d.可以根据是否应用子块变换(sbt)来有条件地信令通知第三语法元
[0708]
素。示例性语法设计如下
[0709][0710]
e.示例性语法设计如下
[0711][0712]
5.附加实施例
[0713]
在下文中,文本改变以带下划线的粗斜体字体显示。
[0714]
5.1一致性窗口上的约束的实施例
[0715]
conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset根据在图片坐标中指定的用于输出的矩形区域来指定从解码过程中输出的cvs中的图片的样点。当conformance_window_flag等于0时,conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值被推断为等于0。
[0716]
一致性裁剪窗口含有亮度样点,其中水平图片坐标是从subwidthc*conf_win_left_offset 到pic_width_in_luma_samples-(subwidthc*conf_win_right_offset 1)且垂直图片坐标是从subheightc*conf_win_top_offset到pic_height_in_luma_samples-(subheightc*conf_win_bottom_offset 1),含端值。
[0717]
subwidthc*(conf_win_left_offset conf_win_right_offset)的值应小于pic_width_in_luma_samples,并且subheightc*(conf_win_top_offset conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
[0718]
变量picoutputwidthl和picoutputheightl导出如下:
[0719]
picoutputwidthl=pic_width_in_luma_samples
‑ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7-43)subwidthc*(conf_win_right_offset conf_win_left_offset)
[0720]
picoutputheightl=pic_height_in_pic_size_units
‑ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7-44)subheightc*(conf_win_bottom_offset conf_win_top_offset)
[0721]
当chromaarraytype不等于0时,两个色度阵列的对应指定样点是具有图片坐标(x/subwidthc,y/subheightc)的样点,其中(x,y)是指定亮度样点的图片坐标。
[0722]
令refpicoutputwidthl和refpicoutputheightl分别为关于该pps的当前图片的参考图片的picoutputwidthl和picoutputheightl。比特流一致性要求满足以下所有条件:
[0723]

picoutputwidthl*2应大于或等于refpicoutputwidthl.
[0724]

picoutputheightl*2应大于或等于refpicoutputheightl.
[0725]

picoutputwidthl应小于或等于refpicoutputwidthl*8.
[0726]

picoutputheightl应小于或等于refpicoutputheightl*8.
[0727]
5.2参考样点位置导出的实施例1
[0728]
8.5.6.3.1概述
[0729]

[0730]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0731]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0732]
变量frefleftoff设置为等于亮度样点中参考图片的conf_win_left_offset。
[0733]
变量freftopoff设置为等于亮度样点中参考图片的conf_win_top_offset。
[0734]
运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0735]

如果cidx等于0,则适用以下条件:
[0736]

缩放因子及其固定点表示被定义为
[0737]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl (8-753)
[0738]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-754)
[0739]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且(xfracl,yfracl)是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0740]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0741]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0742]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)是由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0743]
refxsb
l
=(((xsb-conf_win_left_offset)《《4) refmvlx[0])*hori_scale_fp(8-755)
[0744]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8)
[0745]
x
l
*((hori_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-756)
[0746]
refysb
l
=(((ysb-conf_win_top_offset)《《4) refmvlx[1])*vert_scale_fp(8-757)
[0747]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*
[0748]
((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-758)
[0749]-refx
l
=refx
l
(frefleftoff《《4).
[0750]-refy
l
=refy
l
(freftopoff《《4).
[0751]

变量xint
l
,yint
l
,xfrac
l
和yfrac
l
导出如下:
[0752]
xint
l
=refx
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-759)
[0753]
yint
l
=refy
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-760)
[0754]
xfrac
l
=refx
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-761)
[0755]
yfrac
l
=refy
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0756]

如果bdofflag等于真(true)或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度样点值predsampleslx[x
l
][y
l
]是通过调用条款8.5.6.3.3中指定的亮度整数样点提取过程来导出的,其中(xint
l
(xfrac
l
》》3)-1)、yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0757]

x
l
等于0。
[0758]

x
l
等于sbwidth 1。
[0759]
–yl
等于0。
[0760]
–yl
等于sbheight 1。
[0761]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度样点值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0),yintl-(brdextsize》0?1:0))、
[0762]
(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0763]

否则(cidx不等于0),适用以下条件:
[0764]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0765]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0766]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样点值predsampleslx[xc][yc]导出如下:
[0767]

假设(refxsbc,refysbc)和(refxc,refyc)是由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。变量refxsbc,refysbc,refxc和refyc导出如下:
[0768]
refxsbc=(((xsb-conf_win_left_offset)/subwidthc《《5) mvlx[0])*hori_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-763)
[0769]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-764)
[0770]
refysbc=(((ysb-conf_win_top_offset)/subheightc《《5) mvlx[1])*vert_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-765)
[0771]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9)
[0772]
yc*((vert_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-766)
[0773]-refxc=refxc (frefleftoff/subwidthc《《5).
[0774]-refyc=refyc (freftopoff/subheightc《《5).
[0775]

变量xintc、yintc、xfracc和yfracc导出如下:
[0776]
xintc=refxc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0777]
yintc=refyc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-768)
[0778]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0779]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0780]
5.3参考样点位置导出的实施例2
[0781]
8.5.6.3.1概述
[0782]

[0783]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0784]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0785]
变量frefleftoff设置为等于亮度样点中参考图片的conf_win_left_offset。
[0786]
变零freftopoff设置为等于亮度样点中参考图片的conf_win_top_offset。
[0787]
运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0788]

如果cidx等于0,则适用以下条件:
[0789]

缩放因子及其固定点表示被定义为
[0790]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl
ꢀꢀ
(8-753)
[0791]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/
picoutputheightl
ꢀꢀ
(8-754)
[0792]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且(xfracl,yfracl)是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0793]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0794]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0795]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0796]
refxsb
l
=(((xsb-conf_win_left_offset)《《4) refmvlx[0])*hori_scale_fp(8-755)
[0797]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) (frefleftoff《《10) 32)》》6
ꢀꢀꢀꢀ
(8-756)
[0798]
refysb
l
=(((ysb-conf_win_top_offset)《《4) refmvlx[1])*vert_scale_fp(8-757)
[0799]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*
[0800]
((vert_scale_fp 8)》》4)) (freftopoff《《10) 32)》》6
ꢀꢀꢀꢀꢀ
(8-758)
[0801]

变量xint
l
,yint
l
,xfrac
l
和yfrac
l
导出如下:
[0802]
xint
l
=refx
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-759)
[0803]
yint
l
=refy
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-760)
[0804]
xfrac
l
=refx
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-761)
[0805]
yfrac
l
=refy
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0806]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度样点值predsampleslx[x
l
][y
l
]是通过调用如在条款8.5.6.3.3中指定的亮度整数样点提取过程来导出的,其中(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0807]-x
l
等于0。
[0808]-x
l
等于sbwidth 1。
[0809]-y
l
等于0。
[0810]-y
l
等于sbheight 1。
[0811]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度样点值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0),yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0812]-否则(cidx不等于0),适用以下条件:
[0813]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)
是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0814]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0815]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样
[0816]
点值predsampleslx[xc][yc]导出如下:
[0817]

假设(refxsbc,refysbc)和(refxc,refyc)为由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。变量refxsbc、refysbc、refxc和refyc导出如下:
[0818]
refxsbc=(((xsb-conf_win_left_offset)/subwidthc 《《5) mvlx[0])*hori_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-763)
[0819]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀ
(8-764)
[0820]
refysbc=(((ysb-conf_win_top_offset)/subheightc《《5) mvlx[1])*vert_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-765)
[0821]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9)
[0822]
yc*((vert_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-766)
[0823]-refxc=refxc (frefleftoff/subwidthc《《5).
[0824]-refyc=refyc (freftopoff/subheightc《《5).
[0825]-变量xintc、yintc、xfracc和yfracc导出如下:
[0826]
xintc=refxc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0827]
yintc=refyc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-768)
[0828]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0829]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0830]
5.4参考样点位置导出的实施例3
[0831]
8.5.6.3.1概述
[0832]

[0833]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0834]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0835]
变量frefleftoff设置为等于亮度样点中参考图片的conf_win_left_offset。
[0836]
变量freftopoff设置为等于亮度样点中参考图片的conf_win_top_offset。运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0837]

如果cidx等于0,则适用以下条件:
[0838]

缩放因子及其固定点表示被定义为
[0839]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl
ꢀꢀ
(8-753)
[0840]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
ꢀꢀ
(8-754)
[0841]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且(xfracl,yfracl)
是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0842]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0843]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),
[0844]
对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0845]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0846]
refxsb
l
=(((xsb-conf_win_left_offset)《《4) refmvlx[0])*hori_scale_fp
ꢀꢀ
(8-755)
[0847]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) (frefleftoff《《10) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀ
(8-756)
[0848]
refysb
l
=(((ysb-conf_win_top_offset)《《4) refmvlx[1])*vert_scale_fp
ꢀꢀ
(8-757)
[0849]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) (freftopoff《《10) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-758)
[0850]

变量xint
l
、yint
l
、xfrac
l
和yfrac
l
导出如下:
[0851]
xint
l
=refx
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-759)
[0852]
yint
l
=refy
l
》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-760)
[0853]
xfrac
l
=refx
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-761)
[0854]
yfrac
l
=refy
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0855]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度样点值predsampleslx[x
l
][y
l
]是通过调用如在条款8.5.6.3.3中指定的亮度整数样点提取过程来导出的,其中(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0856]

x
l
等于0。
[0857]

x
l
等于sbwidth 1。
[0858]
–yl
等于0。
[0859]
–yl
等于sbheight 1。
[0860]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度样点值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0),yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0861]

否则(cidx不等于0),适用以下条件:
[0862]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0863]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0864]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样点值predsampleslx[xc][yc]导出如下:
[0865]

假设(refxsbc,refysbc)和(refxc,refyc)为由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。变量refxsbc、refysbc、refxc和refyc导出如下:
[0866]
refxsbc=(((xsb-conf_win_left_offset)/subwidthc《《5) mvlx[0])*hori_scale_fp
ꢀꢀꢀꢀꢀꢀꢀ
(8-763)
[0867]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) (frefleftoff/subwidthc《《10) 16)》》5(8-764)
[0868]
refysbc=(((ysb-conf_win_top_offset)/subheightc《《5) mvlx[1])*vert_scale_fp
ꢀꢀꢀꢀꢀꢀꢀ
(8-765)
[0869]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) (freftopoff/subheightc《《10) 16)》》5(8-766)
[0870]

变量xintc、yintc、xfracc和yfracc导出如下:
[0871]
xintc=refxc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0872]
yintc=refyc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-768)
[0873]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0874]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0875]
5.5参考样点位置限幅的实施例1
[0876]
8.5.6.3.1概述
[0877]
该过程的输入是:
[0878]

亮度位置(xsb,ysb),指定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
[0879]

变量sbwidth,指定当前编解码子块的宽度,
[0880]

变量sbheight,指定当前编解码子块的高度,
[0881]

运动矢量偏移mvoffset,
[0882]

细化的运动矢量refmvlx,
[0883]

选定参考图片样点阵列refpiclx,
[0884]

半样点插值滤波器索引hpelifidx,
[0885]

双向光流标志bdofflag,
[0886]

变量cidx,指定当前块的色彩分量索引。
[0887]
该过程的输出是:
[0888]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)阵列predsampleslx。
[0889]
预测块边界扩展尺寸brdextsize导出如下:
[0890]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
[0891]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0892]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0893]
运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0894]

如果cidx等于0,则适用以下条件:
[0895]

缩放因子及其固定点表示被定义为
[0896]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl(8-753)
[0897]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl(8-754)
[0898]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且
[0899]
(xfracl,yfracl)是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0900]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于
[0901]
(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0902]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0903]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0904]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-755)
[0905]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) 32)》》6(8-756)
[0906]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp(8-757)
[0907]
refyl=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) 32)》》6(8-758)
[0908]

变量xint
l
、yint
l
、xfrac
l
和yfrac
l
导出如下:
[0909]
xint
l
=clip3(0,frefwidth-1,refxl》》4)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-759)
[0910]
yint
l
=clip3(0,frefheight-1,refyl》》4)
ꢀꢀꢀꢀꢀꢀꢀ
(8-760)
[0911]
xfrac
l
=refx
l
&15(8-761)
[0912]
yfrac
l
=refy
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0913]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度样点值predsampleslx[x
l
][y
l
]是通过调用如在条款8.5.6.3.3中指定的亮度整数样点提取过程来导出的,其中(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0914]

x
l
等于0。
[0915]

x
l
等于sbwidth 1。
[0916]
–yl
等于0。
[0917]
–yl
等于sbheight 1。
[0918]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度采样值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0),yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0919]

否则(cidx不等于0),适用以下条件:
[0920]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0921]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0922]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样
[0923]
点值predsampleslx[xc][yc]导出如下:
[0924]

假设(refxsbc,refysbc)和(refxc,refyc)为由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。变量refxsbc、refysbc、refxc和refyc导出如下:
[0925]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
ꢀꢀ
(8-763)
[0926]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀ
(8-764)
[0927]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
ꢀꢀꢀꢀꢀꢀ
(8-765)
[0928]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-766)
[0929]

变量xintc、yintc、xfracc和yfracc导出如下:
[0930]
xintc=clip3(0,frefwidth/subwidthc-1,refxc》》5)
ꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0931]
yintc=clip3(0,frefheight/subheightc-1,refyc》》5)
ꢀꢀꢀ
(8-768)
[0932]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0933]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0934]

预测样点值predsampleslx[xc][yc]是通过调用条款8.5.6.3.4中指定的过程来导出的,其中(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight和refpiclx作为输入。
[0935]
5.6参考样点位置限幅的实施例2
[0936]
8.5.6.3.1概述
[0937]
该过程的输入是:
[0938]

亮度位置(xsb,ysb),指定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
[0939]

变量sbwidth,指定当前编解码子块的宽度,
[0940]

变量sbheight,指定当前编解码子块的高度,
[0941]

运动矢量偏移mvoffset,
[0942]

细化的运动矢量refmvlx,
[0943]

选定参考图片样点阵列refpiclx,
[0944]

半样点插值滤波器索引hpelifidx,
[0945]

双向光流标志bdofflag,
[0946]

变量cidx,指定当前块的色彩分量索引。
[0947]
该过程的输出是:
[0948]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)阵列predsampleslx。
[0949]
预测块边界扩展尺寸brdextsize导出如下:
[0950]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0
ꢀꢀ
(8-752)
[0951]
变量frefwidth设置为等于亮度样点中参考图片的picoutputwidthl。
[0952]
变量frefheight设置为等于亮度样点中参考图片的picoutputheightl。
[0953]
变量frefleftoff设置为等于亮度样点中参考图片的conf_win_left_offset。
[0954]
变量freftopoff设置为等于亮度样点中参考图片的conf_win_top_offset。运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0955]

如果cidx等于0,则适用以下条件:
[0956]

缩放因子及其固定点表示被定义为
[0957]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl
ꢀꢀ
(8-753)
[0958]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
ꢀꢀ
(8-754)
[0959]

假设(xintl,yintl)是以全样点为单位给出的亮度位置,并且(xfracl,yfracl)是以1/16样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的分数样点位置。
[0960]

参考样点填充的边界块的左上坐标(xsbint
l
,ysbint
l
)设置为等于
[0961]
(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0962]

对于预测亮度样点阵列predsampleslx内的每个亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),对应的预测亮度样点值predsampleslx[x
l
][y
l
]导出如下:
[0963]

假设(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为由以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])指向的亮度位置。变量refxsb
l
、refx
l
、refysb
l
和refy
l
导出如下:
[0964]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀ
(8-755)
[0965]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-756)
[0966]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp
ꢀꢀ
(8-757)
[0967]
refyl=((sign(refysb)*((abs(refysb) 128)》》8) yl*
[0968]
((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-758)
[0969]

变量xint
l
、yint
l
、xfrac
l
和yfrac
l
导出如下:
[0970]
xint
l
=clip3(frefleftoff,frefleftoff frefwidth-1,refxl》》4)
ꢀꢀ
(8-759)
[0971]
yint
l
=clip3(freftopoff,freftopoff frefheight-1,refyl》》4)
ꢀꢀ
(8-760)
[0972]
xfrac
l
=refx
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-761)
[0973]
yfrac
l
=refy
l
&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0974]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且以下条件中的一个或多个为真,则预测亮度样点值predsampleslx[x
l
][y
l
]是通过调用如在条款8.5.6.3.3中指定的亮度整数样点提取过程来导出的,其中(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx作为输入。
[0975]

x
l
等于0。
[0976]

x
l
等于sbwidth 1。
[0977]
–yl
等于0。
[0978]
–yl
等于sbheight 1。
[0979]

否则,通过调用如在条款8.5.6.3.2中指定的亮度样点8抽头插值滤波过程来导出预测亮度采样值predsampleslx[xl][yl],其中(xintl-(brdextsize》0?1:0),yintl-(brdextsize》0?1:0))、(xfracl,yfracl)、(xsbint
l
,ysbint
l
)、refpiclx、hpelifidx、sbwidth、sbheight和(xsb,ysb)作为输入。
[0980]

否则(cidx不等于0),适用以下条件:
[0981]

假设(xintc,yintc)是以全样点为单位给出的色度位置,并且(xfracc,yfracc)是以1/32样点为单位给出的偏移。这些变量仅在此条款中用于指定参考样点阵列refpiclx内部的常规分数样点位置。
[0982]

参考样点填充的边界块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0983]

对于预测色度样点阵列predsampleslx内的每个色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),对应的预测色度样
[0984]
点值predsampleslx[xc][yc]导出如下:
[0985]

假设(refxsbc,refysbc)和(refxc,refyc)为由以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])指向的色度位置。变量refxsbc、refysbc、refxc和refyc导出如下:
[0986]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
ꢀꢀ
(8-763)
[0987]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-764)
[0988]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
ꢀꢀꢀ
(8-765)
[0989]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-766)
[0990]

变量xintc、yintc、xfracc和yfracc导出如下:
[0991]
xintc=clip3(frefleftoff/subwidthc,(frefwidth frefleftoff)/subwidthc-1,refxc》》5)
ꢀꢀꢀꢀ
(8-767)
[0992]
yintc=clip3(freftopoff/subheightc,(frefheight freftopoff)/subheightc-1,refyc》》5)
ꢀꢀꢀꢀ
(8-768)
[0993]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0994]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0995]

预测样点值predsampleslx[xc][yc]是通过调用条款8.5.6.3.4中指定的过程来导出的,其中(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight和refpiclx作为输入。
[0996]
6.所公开的技术的示例实现方式
[0997]
图5是视频处理装备500的框图。装置500可以用于实现本文中描述的方法中的一个或多个。装置500可以体现在智能手机、平板计算机、计算机、物联网(iot)接收器等中。装置500可以包含一个或多个处理器502、一个或多个存储器504和视频处理硬件506。(多个)处理器502可以被配置为实现本文档中描述的一个或多个方法。存储器(多个存储器)504可以用于储存用于实现本文中描述的方法和技术的数据和代码。视频处理硬件506可以用于在硬件电路中实现本文档中描述的一些技术,并且可以部分地或完全地是处理器502(例如,图形处理器核心gpu或其他信令处理电路)的一部分。
[0998]
在本文档中,术语“视频处理”或编解码可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示的转换期间应用视频压缩算法,反之亦然。如由语法定义,当前视频块的比特流表示可以例如对应于在比特流内共位的比特或在比特流内的不同位置中散布的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段来对宏块执行编码。
[0999]
将理解的是,所公开的方法和技术将通过允许使用本文档中公开的技术使在视频处理设备(诸如,智能手机、膝上型计算机、台式计算机和类似设备)内并入的视频编码器和/或视频解码器实施例受益。
[1000]
图6是视频处理的示例方法600的流程图。方法600包含在610处,执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸不同于当前视频块的分辨率和/或尺寸,则将相同的插值滤波器应用于使用当前视频块预测的一组相邻或不相邻样点。
[1001]
可以使用以下基于条款的格式来描述一些实施例。
[1002]
1.一种视频处理的方法,包括:
[1003]
执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则将相同的插值滤波器应用于使用当前视频块预测的一组相邻或不相邻样点。
[1004]
2.根据条款1所述的方法,其中,相同的插值滤波器是垂直插值滤波器。
[1005]
3.根据条款1所述的方法,其中,相同的插值滤波器是水平插值滤波器。
[1006]
4.根据条款1所述的方法,其中,一组相邻或不相邻的样点包含位于当前视频块的区域中的所有样点。
[1007]
5.根据条款4所述的方法,其中,当前视频块被划分成多个矩形,每个矩形的尺寸为mxn。
[1008]
6.根据条款5所述的方法,其中,m和/或n是预先确定的。
[1009]
7.根据条款5所述的方法,其中,m和/或n是从当前视频块的维度中导出的。
[1010]
8.根据条款5所述的方法,其中,在当前视频块的编解码表示中信令通知m和/或n。
[1011]
9.根据条款1所述的方法,其中,一组样点共享相同的运动矢量。
[1012]
10.根据条款9所述的方法,其中,一组样点共享相同的水平分量和/或水平分量的
相同分数部分。
[1013]
11.根据条款9所述的方法,其中,一组样点共享相同的垂直分量和/或垂直分量的相同分数部分。
[1014]
12.根据条款9至11中的任一项或多项所述的方法,其中,相同的运动矢量或其分量至少基于以下中的一个来满足一项或多项规则:参考图片的分辨率、参考图片的尺寸、当前视频块的分辨率、当前视频块的尺寸或精度值。
[1015]
13.根据条款9至11中的任一项或多项所述的方法,其中,相同的运动矢量或其分量对应于位于当前视频块中的样点的运动信息。
[1016]
14.根据条款9至11中的任一项或多项所述的方法,其中,相同的运动矢量或其分量设置为位于组内或组外的虚拟样点的运动信息。
[1017]
15.一种视频处理的方法,包括
[1018]
执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则其中仅允许使用了当前视频块所预测的块,以使用与当前块有关的整数值运动信息。
[1019]
16.根据条款15所述的方法,其中,通过对当前视频块的原始运动信息取整来导出整数值运动信息。
[1020]
17.根据条款15所述的方法,其中,当前视频块的原始运动信息是在水平方向和/或垂直方向上。
[1021]
18.一种视频处理的方法,包括:
[1022]
执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则应用插值滤波器以导出使用了当前视频块所预测的块,并且其中,基于规则选择插值滤波器。
[1023]
19.根据条款18所述的方法,其中,该规则与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸相关。
[1024]
20.根据条款18所述的方法,其中,插值滤波器是垂直插值滤波器。
[1025]
21.根据条款18所述的方法,其中,插值滤波器是水平插值滤波器。
[1026]
22.根据条款18所述的方法,其中,插值滤波器是以下中的一个:1抽头滤波器、双线性滤波器、4抽头滤波器或6抽头滤波器。
[1027]
23.根据条款22所述的方法,其中,插值滤波器用作转换的其他步骤的部分。
[1028]
24.根据条款18所述的方法,其中,所述插值滤波器包含对填充样点的使用。
[1029]
25.根据条款18所述的方法,其中,插值滤波器的使用取决于当前视频块的样点的色彩分量。
[1030]
26.一种视频处理的方法,包括:
[1031]
执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不同,则选择性地应用去块滤波器,其中,根据与相对于当前视频块的分辨率和/或尺寸的参考图像的分辨率和/或尺寸有关的规则来设置去块滤波器的强度。
[1032]
27.根据条款27所述的方法,其中,去块滤波器的强度从一个视频块变化到另一视频块。
[1033]
28.一种视频处理的方法,包括:
[1034]
执行在当前视频块和当前视频块的编解码表示之间转换,其中,在转换期间,如果存在当前视频块的子图片,则一致性比特流满足与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关的规则。
[1035]
29.根据条款28所述的方法,还包括
[1036]
将当前视频块划分成一个或多个子图片,其中,该划分至少取决于当前视频块的分辨率。
[1037]
30.一种视频处理的方法,包括:
[1038]
执行在当前视频块和当前视频块的编解码表示之间转换,其中,在转换期间,根据基于当前视频块的维度的规则,对当前视频块的参考图片进行重采样。
[1039]
31.一种视频处理的方法,包括:
[1040]
执行在当前视频块和当前视频块的编解码表示之间的转换,其中,在转换期间,取决于相对于当前视频块的分辨率/尺寸的当前视频块的参考图片的分辨率/尺寸,选择性地启用或禁用在当前视频块上的编解码工具的使用。
[1041]
32.根据前述条款中的一项或多项所述的方法,其中,一组样点位于一致性窗口中。
[1042]
33.根据条款32所述的方法,其中,一致性窗口的形状为矩形。
[1043]
34.根据前述条款中的任何一项或多项所述的方法,其中,该分辨率与编码/解码的视频块的分辨率或编码/解码的视频块中的一致性窗口的分辨率有关。
[1044]
35.根据前述条款中的任何一项或多项所述的方法,其中,该尺寸与编码/解码的视频块的尺寸或编码/解码的视频块中的一致性窗口的尺寸有关。
[1045]
36.根据前述条款中的任何一项或多项所述的方法,其中,该维度与编码/解码的视频块的维度或编码/解码的视频块中的一致性窗口的维度有关。
[1046]
37.根据条款32所述的方法,其中,一致性窗口是由一致性裁剪窗口参数的集合来定义的。
[1047]
38.根据条款37所述的方法,其中,在编解码表示中隐式地或显式地信令通知一致性裁剪窗口参数的集合的至少一部分。
[1048]
39.根据前述条款中的任何一项或多项所述的方法,其中,不允许在编解码表示中信令通知一致性裁剪窗口参数的集合。
[1049]
40.根据前述条款中的任何一项或多项所述的方法,其中,相对于一致性窗口中的当前视频块的左上样点导出参考样点的位置。
[1050]
41.一种视频处理的方法,包括
[1051]
执行在多个视频块和多个视频块的编解码表示之间的转换,其中,在转换期间,为第一视频块定义第一一致性窗口以及为第二视频块定义第二一致性窗口,并且其中,第一一致性窗口的宽度和/或高度与第二一致性窗口的宽度和/或高度的比率符合至少基于一致性比特流的规则。
[1052]
42.一种视频解码装置,包括处理器,该处理器被配置为实现条款1至条款41中的任一项或多项的方法。
[1053]
43.一种视频编码设备,包括处理器,该处理器被配置为实现条款1至条款41中的
任一项或多项的方法。
[1054]
44.一种在其上储存有计算机代码的计算机程序产品,该代码当由处理器执行时使处理器实现条款1至条款41中任一项所述的方法。
[1055]
45.本文档中描述的方法、装置或系统。
[1056]
图7是示出了可以在其中实现本文中所公开的各种技术的示例视频处理系统700的框图。各种实现方式可以包含系统700的一些或全部组件。系统700可以包含用于接收视频内容的输入702。视频内容可以以原始或未压缩的格式(例如,8或10比特多分量像素值)或者可以以压缩或编码的格式来接收。输入702可以代表网络接口,外围总线接口或存储接口。网络接口的示例包含有线接口(诸如以太网,无源光网络(pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[1057]
系统700可以包含编解码组件704,其可以实现本文档中描述的各种编解码或编码方法。编解码组件704可以将视频的平均比特率从输入702降低至编解码组件704的输出,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如由组件706所表示的,编解码组件704的输出可以被储存或经由所连接的通信来发送。在输入702处接收的视频的储存或传送的比特流(或编解码)表示可以由组件708使用,用于生成向显示接口710发送的像素值或可显示视频。从比特流表示中生成用户可视视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是将理解的是,编码工具或操作在编码器处使用,并且逆转编码结果的对应的解码工具或操作将由解码器执行。
[1058]
外围总线接口或显示接口的示例可以包含通用串行总线(usb)或高清多媒体接口(hdmi)或显示端口等。存储接口的示例包含sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备(诸如移动电话、膝上型计算机、智能电话或其他能够执行数字数据处理和/或视频显示的设备)中。
[1059]
图8是图示可利用本公开的技术的示例视频编解码系统100的框图。
[1060]
如图8中所示,视频编解码系统100可以包含源设备110和目的地设备120。源设备110生成编码视频数据,可以被称为视频编码设备。目的地设备120可以对由源设备110生成的编码视频数据进行解码,该目的地设备120可以被称为视频解码设备。
[1061]
源设备110可以包含视频源112、视频编码器114和输入/输出(i/o)接口116。
[1062]
视频源112可以包含源(诸如视频捕获设备、从视频内容提供商接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合)。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。该比特流可以包含形成视频数据的编解码表示的比特序列。该比特流可以包含编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包含序列参数集、图片参数集和其他语法结构。i/o接口116可以包含调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目的地设备120。编码的视频数据还可以储存到存储介质/服务器130b上,以供目的地设备120访问。
[1063]
目的地设备120可以包含i/o接口126、视频解码器124和显示设备122。
[1064]
i/o接口126可以包含接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解
码。显示设备122可以将解码的视频数据显示给用户。显示设备122可以与目的地设备120集成在一起,或者可以在目的地设备120外部,该目的地设备120被配置为与外部显示设备接口连接。
[1065]
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(hevc)标准、通用视频编解码(vvc)标准和其他当前和/或其他标准)进行操作。
[1066]
图9为图示了视频编码器200的示例的框图,其可以为图8中所示的系统100中的视频编码器114。
[1067]
视频编码器200可以被配置为执行本公开的任何或全部技术。在图9的示例中,视频编码器200包含多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[1068]
视频编码器200的功能组件可以包含分割单元201、预测单元202(其可以包含模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
[1069]
在其他示例中,视频编码器200可包含更多、更少或不同的功能组件。在一个示例中,预测单元202可以包含帧内块复制(ibc)单元。该ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[1070]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的在图5的示例中分别表示。
[1071]
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[1072]
模式选择单元203可以例如基于错误结果来选择帧内或帧间编解码模式中的一种,并且将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并且将得到的帧内或帧间编解码块提供给重构单元212来重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测的组合(ciip)模式,其中该预测是基于帧间预测信令和帧内预测信令。在帧间预测的情况下,模式选择单元203还可以为该块选择运动矢量(例如,子像素或整数像素精度)的分辨率。
[1073]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的除与当前视频块相关联的图片以外的图片的解码样点和运动信息来确定当前视频块的预测视频块。
[1074]
例如,取决于当前视频块是在i条带,p条带还是b条带中,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作。
[1075]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索用于当前视频块的参考视频块的列表0或列表1的参考图片。然后,运动估计单元204可以生成指示含有参考视频块的列表0或列表1中的参考图片的参考索引、以及指示当前视频块和参考视频块之间的空间位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[1076]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以搜索用于当前视频块的参考视频块的列表0中的参考图片,并且还可以搜索用于当前视频块的另一参考视频块的列表1中的参考图片。运动估计单元204然后可以生成指示含有参考视频块的列表0和列表1中的参考图片的参考索引、以及指示参考视频块与当前视频块之间的空间位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[1077]
在一些示例中,运动估计单元204可以输出运动信息的全集合以用于解码器的解码处理。
[1078]
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全集合。而是,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻域视频块的运动信息充分相似。
[1079]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[1080]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(mvd)。该运动矢量差指示当前视频块的运动矢量与指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[1081]
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可由视频编码器200实现的预测信令通知技术的两个示例包含高级运动矢量预测(amvp)和merge模式信令通知。
[1082]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包含预测视频块和各种语法元素。
[1083]
残差生成单元207可以通过从当前视频块减去(例如,由负号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包含对应于当前视频块中的样点的不同样点分量的残差视频块。
[1084]
在其他示例中,例如在跳过模式下,对于当前视频块可以没有当前视频块的残差数据,并且残差生成单元207可以不执行减法操作。
[1085]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
[1086]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[1087]
逆量化单元210和逆变换单元211可以分别将逆量化和逆变换应用于变换系数视频块,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构
视频块,用于存储在缓冲器213中。
[1088]
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频成块化伪影。
[1089]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并且输出包含熵编码数据的比特流。
[1090]
图10是图示了视频解码器300的示例的框图,该视频解码器300可以是图8中所示的系统100中的视频解码器114。
[1091]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图10的示例中,视频解码器300包含多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[1092]
在图10的示例中,视频解码器300包含熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(例如,图9)描述的编码过程反演的解码过程。
[1093]
熵解码单元301可以撷取编码比特流。该编码比特流可以包含熵编码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编码的视频数据进行解码,并且运动补偿单元302可以从熵解码的视频数据中确定包含运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行amvp和merge模式来确定这样的信息。
[1094]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包含要与子像素精度一起使用的插值滤波器的标识符。
[1095]
运动补偿单元302可以在视频块的编码期间使用如由视频编码器20使用的插值滤波器,以计算参考块的子整数像素的插值的值。运动补偿单元302可根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[1096]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸、描述如何分割编码的视频序列的图片的每个宏块的分割信息、指示如何编码每个分割的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及用于对编码视频序列进行解码的其他信息。
[1097]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空间上相邻的块形成预测块。逆量化单元303对在比特流中提供的且由熵解码单元301解码的量化视频块系数进行逆量化(即,反量化)。逆变换单元303应用逆变换。
[1098]
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加以形成解码块。如果需要的话,还可以应用去块滤波器来对解码块进行滤波,以移除块状伪影。然后将解码的视频块储存在缓冲器307中,该缓冲器为随后的运动补偿提供参考块。
[1099]
图11是根据本技术的视频处理的方法的流程图表示。方法1100包含,在操作1110处,为视频和视频的比特流表示之间的转换,基于视频的色彩格式来确定联合cb-cr残差编解码工具的信令使用的方式。该方法1200还包含,在操作1220处,基于该确定执行转换。
[1100]
在一些实施例中,该方式指定,在指示色彩格式的语法元素具有非零值的情况下,比特流表示中包含联合cb-cr残差编解码工具的使用的信令通知。在一些实施例中,在指示色彩格式的语法元素具有非零值的情况下,基于对应的亮度样点的缩放坐标来确定用于联合cb-cr残差编解码工具的色度样点的坐标。在一些实施例中,两个色度阵列的样点具有坐标(x/subwidthc,y/subheightc),其中(x,y)是对应的亮度样点的坐标,并且subwidthc和subheightc是缩放因子。在一些实施例中,该方式指定,在视频的色彩格式为4:0:0的情况下,在比特流表示中省略联合cb-cr残差编解码工具的使用的信令通知。
[1101]
图12是根据本技术的视频处理的方法的流程图表示。方法1210包含执行在视频和视频的比特流表示之间的转换。该比特流表示符合格式规则,该格式规则指定,在比特流表示中的第一视频单元中包含第一语法元素的情况下,比特流表示中是否包含第二视频单元中的相应的第二语法元素。
[1102]
在一些实施例中,第一视频单元包括图片头或图片参数集。在一些实施例中,第二视频单元包括条带头或条带参数集。在一些实施例中,第一视频单元包括视频参数集、条带参数集或图片参数集。在一些实施例中,第二视频单元包括图片头。
[1103]
在一些实施例中,格式规则指定,在比特流表示中的第一视频单元中包含第一语法元素的情况下,在比特流表示中省略第二视频单元中的第二语法元素。在一些实施例中,格式规则指定,在比特流表示中的第一视频单元中包含第一语法元素的情况下,比特流表示中包含第二视频单元中的第二语法元素。在一些实施例中,在第二视频单元中包含指示符以指示其后是否信令通知第二语法元素。在一些实施例中,在比特流表示中包含第二语法元素的情况下,在不考虑第一语法元素的情况下根据第二语法元素的指示符来处理与第二视频单元相关联的条带。在一些实施例中,在第一视频单元中包含指示符以指示在与第一视频单元相关联的第二视频单元中是否包含第二语法元素。
[1104]
在一些实施例中,第一视频单元是图片头,第二视频单元是条带头,并且图片头中的第一语法元素在功能上等同于条带头中的第二语法元素。在一些实施例中,第一视频单元是条带参数集,第二视频单元是图片头,并且条带参数集中的第一语法元素在功能上等同于图片头中的第二语法元素。在一些实施例中,第一视频单元是图片参数集,第二视频单元是图片头,并且图片参数集中的第一语法元素在功能上等同于图片头中的第二语法元素。
[1105]
图13是根据本技术的视频处理的方法的流程图表示。方法1300包含,在操作1310处,执行在视频的区域和视频的比特流表示之间的转换。在转换期间,比特流表示中包含第一语法元素以指示是否为区域的所有块禁用多个变换选择(mts)编解码工具。
[1106]
在一些实施例中,该区域包括条带、图片或整个序列。在一些实施例中,在转换期间,基于第一语法元素将第二语法元素有条件地包含在比特流表示中,以指示将mts编解码工具应用于帧内编解码块的方式。在一些实施例中,在第一语法元素指示为区域中的所有块不禁用mts编解码工具的情况下,比特流表示中包含第二语法元素。在一些实施例中,在转换期间,基于第一语法元素将第三语法元素有条件地包含在比特流表示中,以指示将mts编解码工具应用于帧间编解码块的方式。在一些实施例中,在第一语法元素指示没有为区域中的所有块禁用mts编解码工具的情况下,比特流表示中包含第三语法元素。在一些实施例中,进一步基于子块变换编解码工具的应用性,将第三语法元素有条件地包含在比特流
表示中。在一些实施例中,第二语法元素包括sps_intra_mts_selection,并且第三语法元素包括sps_inter_mts_selection。在一些实施例中,mts编解码工具基于在多个变换之中的变换的选择。
[1107]
图14是根据本技术的视频处理的方法的流程图表示。方法1400包含,在操作1410处,为视频和视频的比特流表示之间的转换,基于变换编解码块的第二最大块尺寸来确定信令通知以变换跳过模式编解码的块的第一最大块尺寸的规则。方法1400还包含,在操作1420处,基于该确定执行转换。在一些实施例中,规则指定第一最大块尺寸等于或小于第二最大块尺寸。
[1108]
图15是根据本技术的视频处理的方法的流程图表示。方法1500包含,在操作1510处,使用分割模式编解码工具执行在视频的色度分量的块与视频的比特流表示之间的转换,在分割模式编解码工具中使用基于分割的权重通过混合色度块的预测来确定色度块的最终预测。在转换期间,基于块的色度分量中的色度样点位置类型来确定权重。
[1109]
在一些实施例中,基于用于块的亮度分量中的亮度样点位置的权重来确定用于具有第一色度样点位置类型的色度分量的权重。在一些实施例中,亮度样点位置是共位的左上亮度样点位置。在一些实施例中,第一色度样点位置类型包括色度样点位置类型0。在一些实施例中,从用于块的亮度分量中的亮度样点位置的权重对用于具有第一色度样点位置类型的色度分量的权重执行子采样。
[1110]
在一些实施例中,下采样滤波器用于确定权重,并且其中基于块的色度分量中的色度样点位置类型来确定下采样滤波器。在一些实施例中,下采样滤波器包括x抽头滤波器,x是正整数。在一些实施方案中,x为5或6。
[1111]
在一些实施例中,分割的至少一个分割是非矩形分割。在一些实施例中,分割中的至少一个分割具有带角度的边缘。在一些实施例中,根据指示规则,在比特流表示的视频单元中指示下采样滤波器。在一些实施例中,视频单元包括条带参数集、视频参数集、图片参数集、图片头、子图片、条带、条带头、片、砖、编解码树单元、虚拟流水线数据单元。
[1112]
在一些实施例中,由比特流表示中的第一语法元素指示下采样滤波器类型。在一些实施例中,在比特流表示中包含第二语法元素,以指示视频的不同色度格式类型之间的切换。在一些实施例中,不同的色度格式类型包括色度格式类型0或色度格式类型2中的至少一种。在一些实施例中,在比特流表示中包含第三语法元素,以指定在区域的左上位置中的下采样的亮度权重是否与对应的亮度权重共位。在一些实施例中,第三语法元素指示色度样点位置类型0。在一些实施例中,在比特流表示中包含第三语法元素,以指定在区域的左上位置中的下采样的亮度样点是否与对应的亮度样点水平地共位并且是否相对于对应的亮度样点垂直地移位0.5个单位。在一些实施例中,第三语法元素指示色度样点位置类型2。在一些实施例中,指示规则指定,在视频的色彩格式为4:2:0或4:2:2的情况下,在第一语法元素中包含下采样滤波器类型。在一些实施例中,指示规则指定,在比特流表示中的另一语法元素指示使用第一下采样滤波器类型还是使用第二下采样滤波器类型。
[1113]
在一些实施例中,基于比特流表示的视频单元导出下采样滤波器类型。在一些实施例中,使用查找表以指定下采样滤波器与内容的色度格式类型之间的对应度。
[1114]
在一些实施例中,分割模式编解码工具对应于三角形分割模式工具。在一些实施例中,分割模式编解码工具对应于几何分割模式工具。
[1115]
在一些实施例中,转换包含将视频编码为比特流表示。在一些实施例中,转换包含将比特流表示解码为视频。
[1116]
所公开的技术的一些实施例包含作出决定或确定以启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现该工具或模式,但不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当基于该决定或确定来启用视频处理工作或模式时,从视频的块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已基于视频处理工具或模式被修改的情况下处理比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频的块的转换。
[1117]
所公开的技术的一些实施例包含作出决定或确定以禁用视频处理工具或模式。在一个示例中,当视频处理工具或模式被禁用时,编码器将在视频的块到视频的比特流表示的转换中不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流未使用基于该决定或确定而启用的视频处理工具或模式修改的情况下处理比特流。
[1118]
本文档中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以以数字电子电路实现,或者以计算机软件、固件或硬件实现,包含本文档中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。公开和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或以控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、实现机器可读传播信令的物质组合、或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包含例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信令是人工生成的信令,例如机器生成的电信令、光信令或电磁信令,传播信令被生成以对信息执行编码以便传输到合适的接收器装置。
[1119]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包含编译或解释语言,并且可以以任何形式来部署计算机程序,包含独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序并不必对应于文件系统中的文件。程序可以储存在保持其他程序或数据(例如,储存在标记语言文档中的一个或多个脚本)的文件的部分中,储存在专用于所讨论的程序的单个文件中,或储存在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个场地上或分布在多个场地上并通过通信网络互连的多个计算机上执行。
[1120]
本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据执行操作并生成输出来执行功能。该过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[1121]
举例来说,适合于执行计算机程序的处理器包含通用和专用微处理器、以及任何
种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于储存指令和数据的一个或多个存储器设备。通常,计算机还将包含或可操作地耦合到用于储存数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或将数据传送到该一个或多个大容量存储设备,或者两者。然而,计算机不需要具有这样的设备。适用于储存计算机程序指令和数据的计算机可读介质包含所有形式的非易失性存储器、介质和存储器设备,包含例如半导体存储器设备,例如eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[1122]
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是可作为特定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求权利保护,但是在某些情况下,可以从所要求保护的组合中去除来自该组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变型。
[1123]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这种分离。
[1124]
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来做出其他实现方式、增强和变型。
再多了解一些

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

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

相关文献