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

视频编解码中的参考样点位置推导的制作方法

2022-04-30 17:28:22 来源:中国专利 TAG:

视频编解码中的参考样点位置推导
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年9月19日提交的国际专利申请pct/cn2019/106671、于2019年9月20日提交的国际专利申请pct/cn2019/107082以及于2019年10月5日提交的国际专利申请pct/cn2019/109837的优先权和利益。出于法律上的所有目的,将以上申请的全部公开以引用方式并入本文,作为本技术公开的一部分。
技术领域
3.本专利文件涉及视频编解码技术、设备和系统。


背景技术:

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


技术实现要素:

5.描述了与数字视频编解码有关的设备、系统和方法,特别是与运动矢量的管理有关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(hevc)或通用视频编解码)以及未来的视频编解码标准或视频编解码器。
6.在一个代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行视频的当前图片与视频的编解码表示之间的转换。当前图片包括具有w
×
h样点维度的第一窗口,其中w和h是整数。与当前图片相关联的参考图片包括具有w
’×
h’样点维度的第二窗口,其中w’和h’是整数。第一窗口和第二窗口中的样点在该转换期间经受相同的处理规则,并且,w、h、w’和h’满足约束条件。
7.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行视频的当前图片与视频的编解码表示之间的转换。在该转换期间,以n像素精度在编解码表示中信令通知用于确定当前图片的窗口的偏移值,其n为大于1的正整数。
8.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行包括第一视频单元和第二视频单元的视频与视频的编解码表示之间的转换。第一视频单元的第一窗口的偏移值的第一集合和第二视频单元的第二窗口的偏移值的第二集合是根据与第一视频单元的维度和第二视频单元的维度相关联的规则确定的,其中,第一窗口和第二窗口中的样点在转换期间经受相同的处理规则。
9.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括对于视频的当前图片与视频的编解码表示之间的转换,基于图片的窗口的左上位置来确定与当前图片相关联的参考图片的参考样点的位置,其中,图片至少包括当前图片或参考图片。窗口在转换期间经受处理规则。该方法还包括基于确定来执行转换。
10.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行视频的当前图片与视频的编解码表示之间的转换。当前图片包括具有w
×
h样点维度的第一窗口,其中w和h是整数。与当前图片相关联的参考图片包括具有w
’×
h’样点维度的第二窗口,其中w’和h’是整数,第二窗口的左上位置表示为(x0,y0)。第一窗口和第二窗口中的样点在该转换期间经受相同的处理规则。参考样点的坐标的整数部分被约束在部分地基于第一窗口或第二窗口确定的范围内。
11.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,将相同的插值滤波器应用于使用当前视频块预测的相邻或不相邻样点组。
12.在另一代表性方面,所公开的技术可以用来提供一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,其中,仅允许使用当前视频块预测的块使用与当前块相关的整数值运动信息。
13.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,应用插值滤波器来推导使用当前视频块预测的块,并且其中该插值滤波器是基于规则选择的。
14.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,如果参考图片的分辨率和/或尺寸与当前视频块的分辨率和/或尺寸不相同,选择性地应用去方块滤波器,其中,根据与相对于当前视频块的分辨率和/或尺寸的参考图片的分辨率和/或尺寸有关的规则来设置去方块滤波器的强度。
15.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,根据基于当前视频块的维度的规则来对当前视频块的参考图片进行重采样。
16.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行当前视频块与当前视频块的编解码表示之间的转换,其中,在该转换期间,取决于相对于当前视频块的分辨率/尺寸的当前视频块的参考图片的分辨率/尺寸,选择性地启用或禁用对当前视频块的编解码工具的使用。
17.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行多个视频块与多个视频块的编解码表示之间的转换,其中,在该转换期间,定义用于第一视频块的第一一致性窗口以及用于第二视频块的第二一致性窗口,并且其中第一一致性窗口与第二一致性窗口的宽度和/或高度的比率是根据至少基于一致性比特流的规则。
18.在另一代表性方面,所公开的技术可以用来提供另一种用于视频处理的方法。该方法包括执行多个视频块和多个视频块的编解码表示之间的转换,其中,在该转换期间,定义用于第一视频块的第一一致性窗口以及定义用于第二视频块的第二一致性窗口,并且其中第一一致性窗口与第二一致性窗口的宽度和/或高度的比率是根据至少基于一致性比特
流的规则。
19.此外,在代表性方面,公开了一种视频系统中的装置,该装置包括处理器和在其上具有指令的非暂时性存储器。该指令在由处理器执行时使得处理器实现所公开的方法中的任何一种或多种。
20.在一个代表性方面,公开了一种视频解码装置,该装置包括配置为实现本文所公开的方法的处理器。
21.在一个代表性方面,公开了一种视频编码装置,该装置包括配置为实现本文所公开的方法的处理器。
22.此外,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行所公开的方法中的任何一种或多种的程序代码。
23.在附图、说明书和权利要求书中更详细地描述了所公开技术的以上和其他方面以及特征。
附图说明
24.图1示出了子块运动矢量(vsb)和运动矢量差的示例。
25.图2示出了被分成16个4
×
4区域的16
×
16视频块的示例。
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-4视觉,并且两个组织联合制定了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标准,目标是比hevc降低50%的比特率。
44.2.概要
45.2.1自适应分辨率改变(arc)
46.avc和hevc不具有在不必引入idr或帧内随机接入点(irap)图片的情况下改变分辨率的能力;可以将这样的能力表示为自适应分辨率改变(arc)。有一些用例或应用情形将从arc特征中获益,包括以下情形:
[0047]-视频电话和会议中的速率调适:为了根据变化的网络条件对编解码视频进行调适,在网络条件变差从而使得可用带宽变得更低时,编码器可以通过编码更低分辨率的图片而适应该带宽。当前,只能在irap图片之后完成对图片分辨率的改变;这有一些问题。处于合理质量的irap图片将比帧间编解码图片大得多,而且解码起来也相应地更加复杂:这将花费时间和资源。如果分辨率改变是解码器出于负荷原因而请求的,那么这也是问题。其还可能破坏低延迟缓冲条件,从而迫使音频重新同步,并且流的端到端延迟将增大,至少暂时性地增大。这可能带来差的用户体验。
[0048]-多方视频会议中的活跃演讲者改变:对于多方视频会议而言,常见的情况是与用于其余会议参与者的视频相比要通过更大的视频尺寸示出活跃演讲者。在活跃演讲者改变时,还可能需要调整每一参与者的图片分辨率。在活跃演讲者的此类改变频繁发生时具有arc特征的需求变得更加重要。
[0049]-流媒体中的快速开始:对于流媒体应用而言,常见的情况是在开始显示之前应用程序将进行直至某一长度的解码图片的缓冲。采用较低分辨率开始比特流将允许应用程序具有足够的位于缓冲区内的图片,从而更快地开始显示。
[0050]
流媒体中的自适应流切换:基于http规范的动态自适应流媒体(dash)包括名为@mediastreamstructureid的特征。这使得能够具有不可解码的前导图片的开放gop随机接入点(例如,hevc中的与rasl图片相关联的cra图片)处的不同表示之间的切换。在同一视频的两个不同表示具有不同的比特率但是具有相同的空域分辨率,与此同时它们具有相同的@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]
pic_width_in_luma_samples规定以亮度样点为单位的、参考pps的每个解码图片的宽度。pic_width_in_luma_samples不应等于0,应为max(8,mincbsizey)的整数倍,并且应小于或等于pic_width_max_in_luma_samples。
[0061]
当subpics_present_flag等于1时,pic_width_in_luma_samples的值应等于pic_width_max_in_luma_samples。
[0062]
pic_height_in_luma_samples规定以亮度样点为单位的、参考pps的每个解码图片的高度。pic_height_in_luma_samples不应等于0,并且应为max(8,mincbsizey)的整数倍,并且应小于或等于pic_height_max_in_luma_samples。
[0063]
当subpics_present_flag等于1时,pic_height_in_luma_samples的值应等于pic_height_max_in_luma_samples。
[0064]
使得refpicwidthinlumasamples和refpicheightinlumasamples分别是参考该pps的当前图片的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples。满足以下所有条件的比特流一致性要求:
[0065]

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

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

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

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


一致性裁剪窗口偏移参数仅应用于输出时。所有内部解码过程都将应用于未裁剪的图片尺寸。
[0080]
令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的值分别相同。
[0081]
2.4参考图片重采样(rpr)
[0082]
在一些实施例中,arc也被称为参考图片重采样(rpr)。利用rpr,如果并置图片具有与当前图片不同的分辨率,则禁用tmvp。此外,当参考图片具有与当前图片不同的分辨率时,则禁用bdof和dmvr。
[0083]
为了在参考图片具有与当前图片不同的分辨率时处理一般mc,插值部分被定义如下:
[0084]
8.5.6.3分数样点插值过程
[0085]
8.5.6.3.1概述
[0086]
此过程的输入为:
[0087]

亮度位置(xsb,ysb),规定相对于当前图片的左上亮度样点的当前编解码子块的左上样点,
[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]
按照如下推导预测块边界(border)延伸尺寸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
[0107]
(8-754)
[0108]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0109]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0110]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0111]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0112]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀꢀ
(8-755)
[0113]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8)
[0114]
x
l
*((hori_scale_fp 8)》》4)) 32)》》6(8-756)
[0115]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp(8-757)
[0116]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*
[0117]
((vert_scale_fp 8)》》4)) 32)》》6(8-758)
[0118]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0119]
xint
l
=refx
l
》》4
ꢀꢀꢀ
(8-759)
[0120]
yint
l
=refy
l
》》4
ꢀꢀꢀ
(8-760)
[0121]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0122]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0123]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0124]

x
l
等于0。
[0125]

x
l
等于sbwidth 1。
[0126]
–yl
等于0。
[0127]
–yl
等于sbheight 1。
[0128]

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

否则(cidx不等于0),那么适用以下内容:
[0130]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0132]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应的预测色度样点值predsampleslx[xc][yc]:
[0133]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0134]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
[0135]
(8-763)
[0136]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9)
[0137]
xc*((hori_scale_fp 8)》》4)) 16)》》5(8-764)
[0138]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
[0139]
(8-765)
[0140]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》
3):(8-773)
[0171]
xint
l
i-3)
[0172]
yinti=clip3(0,pich-1,yint
l
i-3)(8-774)
[0173]
对于i=0..7,按照如下进一步修改以全样点为单位的亮度位置:
[0174]
xinti=clip3(xsbint
l-3,xsbint
l
sbwidth 4,xinti)
ꢀꢀꢀ
(8-775)
[0175]
yinti=clip3(ysbint
l-3,ysbint
l
sbheight 4,yinti)
ꢀꢀꢀ
(8-776)
[0176]
按照如下推导预测的亮度样点值predsamplelx
l

[0177]

如果xfrac
l
和yfrac
l
两者均等于0,那么按照如下推导predsamplelx
l
的值:
[0178]
predsamplelx
l
=refpiclx
l
[xint3][yint3]《《shift3(8-777)
[0179]

否则,如果xfrac
l
不等于0并且yfrac
l
等于0,那么按照如下推导predsamplelx
l
的值:
[0180][0181]

否则,如果xfrac
l
等于0,并且yfrac
l
不等于0,那么按照如下推导predsamplelx
l
的值:
[0182][0183]

否则,如果xfrac
l
不等于0并且yfrac
l
不等于0,那么按照如下推导predsamplelx
l
的值:
[0184]

按照如下推导样点阵列temp[n],其中,n=0..7:
[0185][0186]

按照如下推导预测的亮度样点值predsamplelx
l

[0187][0188]
表8-11用于每一1/16分数样点位置p的亮度插值滤波器系数f
l
[p]的规定
[0189][0190]
表8-12用于仿射运动模式的用于每一1/16分数样点位置p的亮度插值滤波器系数f
l
[p]的规定
[0191][0192]
8.5.6.3.3亮度整数样点取回过程
[0193]
此过程的输入为:
[0194]

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

亮度参考样点阵列refpiclx
l

[0196]
此过程的输出是预测的亮度样点值predsamplelx
l
[0197]
将变量shift设置为等于max(2,14-bitdepthy)。
[0198]
将变量picw设置为等于pic_width_in_luma_samples,并且将变量pich设置为等于pic_height_in_luma_samples。
[0199]
按照如下推导以全样点为单位的亮度位置(xint,yint):
[0200]
xint=clip3(0,picw-1,sps_ref_wraparound_enabled_flag?
ꢀꢀꢀ
(8-782)cliph((sps_ref_wraparound_offset_minus1 1)*mincbsizey,picw,xint
l
):xint
l
)
[0201]
yint=clip3(0,pich-1,yint
l
)
ꢀꢀꢀ
(8-783)
[0202]
按照如下推导预测的亮度样点值predsamplelx
l

[0203]
predsamplelx
l
=refpiclx
l
[xint][yint]《《shift3
ꢀꢀꢀ
(8-784)
[0204]
8.5.6.3.4色度样点插值过程
[0205]
此过程的输入为:
[0206]

以全样点为单位的色度位置(xintc,yintc),
[0207]

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

以全样点为单位的色度位置(xsbintc,ysbintc),其规定相对于参考图片的左上色度样点的用于参考样点填补的包围块的左上样点,
[0209]

变量sbwidth,规定当前子块的宽度,
[0210]

变量sbheight,规定当前子块的高度,
[0211]

色度参考样点阵列refpiclxc。
[0212]
此过程的输出是预测的色度样点值predsamplelxc[0213]
按照如下推导变量shift1、shift2和shift3:
[0214]

将变量shift1设置为等于min(4,bitdepth
c-8),将变量shift2设置为等于6,并且将变量shift3设置为等于max(2,14-bitdepthc)。
[0215]

将变量picwc设置为等于pic_width_in_luma_samples/subwidthc,并且将变量pichc设置为等于pic_height_in_luma_samples/subheightc。
[0216]
在表3中规定了等于xfracc或yfracc的每一1/32分数样点位置p的色度插值滤波器系数fc[p]。
[0217]
将变量xoffset设置为等于(sps_ref_wraparound_offset_minus1 1)*mincbsizey)/subwidthc。
[0218]
对于i=0..3,按照如下推导以全样点为单位的色度位置(xinti,yinti):
[0219]

如果subpic_treated_as_pic_flag[subpicidx]等于1,那么适用以下内容:
[0220]
xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundarypos/subwidthc,xint
l
i)
ꢀꢀꢀ
(8-785)
[0221]
yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypos/subheightc,yint
l
i)
ꢀꢀꢀ
(8-786)
[0222]

否则(subpic_treated_as_pic_flag[subpicidx]等于0),那么适用以下内容:
[0223]
xinti=clip3(0,picw
c-1,sps_ref_wraparound_enabled_flag?cliph(xoffset,picwc,xintc i-1):
[0224]
(8-787)
[0225]
xintc i-1)
[0226]
yinti=clip3(0,pich
c-1,yintc i-1)
ꢀꢀꢀ
(8-788)
[0227]
对于i=0..3,按照如下进一步修改以全样点为单位的色度位置(xinti,yinti):
[0228]
xinti=clip3(xsbintc-1,xsbintc sbwidth 2,xinti)
ꢀꢀꢀ
(8-789)
[0229]
yinti=clip3(ysbintc-1,ysbintc sbheight 2,yinti)
ꢀꢀꢀ
(8-790)
[0230]
按照如下推导预测的色度样点值predsamplelxc:
[0231]

如果xfracc和yfracc两者均等于0,那么按照如下推导predsamplelxc的值:
[0232]
predsamplelxc=refpiclxc[xint1][yint1]《《shift3
ꢀꢀꢀ
(8-791)
[0233]

否则,如果xfracc不等于0并且yfracc等于0,那么按照如下推导predsamplelxc的值:
[0234][0235][0236]

否则,如果xfracc等于0,并且yfracc不等于0,那么按照如下推导predsamplelxc的值:
[0237]
[0238]

否则,如果xfracc不等于0并且yfracc不等于0,那么按照如下推导predsamplelxc的值:
[0239]

按照如下推导样点阵列temp[n],其中,n=0..3:
[0240][0241]

按照如下推导预测的色度样点值predsamplelxc:
[0242][0243]
表8-13对于每个1/32分数样点位置p的色度插值滤波器系数fc[p]的规定。
[0244]
[0245][0246]
2.5基于细化子块的仿射运动补偿预测
[0247]
本文公开的技术包括一种利用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流方程得出的差来细化预测样点,这被称为利用光流的预测细化(prof)。所提出的方法能在不增加存储器访问带宽的情况下实现像素级粒度的帧间预测。
[0248]
为了获得更好的运动补偿粒度,此贡献提出了一种利用光流来细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加由光流方程得出的差来细化亮度预测样点。所提出的prof(利用光流进行预测细化)被描述为以下四个步骤。
[0249]
步骤1)执行基于子块的仿射运动补偿,以生成子块预测i(i,j)。
[0250]
步骤2)使用3抽头滤波器[-1,0,1]在每个样点位置计算子块预测的空域梯度g
x
(i,j)和gy(i,j)。
[0251]gx
(i,j)=i(i 1,j)-i(i-1,j)
[0252]gy
(i,j)=i(i,j 1)-i(i,j-1)
[0253]
子块预测在每一侧扩展一个像素,以用于梯度计算。为了减少存储器带宽和复杂性,从参考图片中最接近的整数像素位置来复制扩展边界上的像素。因此,避免了对填补区域的附加插值。
[0254]
步骤3)通过光流方程来计算的亮度预测细化(表示为δi)。
[0255]
δi(i,j)=g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j)
[0256]
其中如图1所示,δmv(表示为δv(i,j))是对样点位置(i,j)计算的像素mv(表示为v(i,j))与像素(i,j)所属于的子块的子块mv之差。
[0257]
由于仿射模型参数和相对于子块中心的像素位置在子块之间没有变化,因此可以为第一子块计算δv(i,j),并重新用于相同cu中的其他子块。令x和y是从像素位置到子块中心的水平和垂直偏移,则可以通过以下方程得出δv(x,y):
[0258][0259]
对于4参数仿射模型,
[0260][0261][0262]
对于6参数仿射模型,
[0263][0264]
其中,(v
0x
,v
0y
)、(v
1x
,v
1y
)、(v
2x
,v
2y
)是左上、右上和左下控制点运动矢量,w和h是cu的宽度和高度。
[0265]
步骤4)最后,将亮度预测细化添加到子块预测i(i,j)。按照以下方程生成最终预测i


[0266]i′
(i,j)=i(i,j) δi(i,j)
[0267]
下面描述一些细节:
[0268]
a)prof如何推导梯度
[0269]
在一些实施例中,为每个参考列表的每个子块(vtm-4.0中的4
×
4子块)计算梯度。对于每个子块,取回参考块的最接近的整数样点以填补样点的四个侧面外线。
[0270]
假设当前子块的mv为(mvx,mvy)。然后,按照(fracx,fracy)=(mvx&15,mvy&15)计算分数部分。按照(intx,inty)=(mvx>>4,mvy>>4)计算整数部分。按照如下推导偏移(offsetx,offsety):
[0271]
offsetx=fracx>7?1:0;
[0272]
offsety=fracy>7?1:0;
[0273]
假设当前子块的左上坐标是(xcur,ycur)并且当前子块的维度是w
×
h。然后按照如下计算(xcor0,ycor0)、(xcorl,ycorl)、(xcor2,ycor2)和(xcor3,ycor3):
[0274]
(xcor0,ycor0)=(xcur intx offsetx-1,ycur inty offsety-1);
[0275]
(xcor1,ycor1)=(xcur intx offsetx-1,ycur inty offsety h);
[0276]
(xcor2,ycor2)=(xcur intx offsetx-1,ycur inty offsety);
[0277]
(xcor3,ycor3)=(xcur intx offsetx w,ycur inty offsety);
[0278]
假设predsample[x][y](其中x=0..w-1,y=0..h-1)存储用于子块的预测样点。然后按照如下推导填补样点:
[0279]
predsample[x][-1]=(ref(xcor0 x,ycor0)《《shift0)

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

rounding,其中x=-1..w;
[0281]
predsample[-1][y]=(ref(xcor2,ycor2 y)《《shift0)

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

,可以将参考图片标记为活跃参考图片。
[0552]
i.在一个示例中,当(refpicw
÷
curpicw)不等于(x*n)时,可以将参考图片标记为不可用。
[0553]
19.对于m
×
n块,是否启用和/或如何启用编解码工具(例如,tpm中的双向预测/完整三角预测模式(tpm)/融合过程)可以取决于参考图片(或其一致性窗口)的分辨率和/或当前图片(或其一致性窗口)的分辨率。
[0554]
a.在一个示例中,m*n《t或m*n《=t(诸如t=64)。
[0555]
b.在一个示例中,m《k(或m《=k)(诸如k=16)和/或n《l(或n《=l)(诸如l=16)。
[0556]
c.在一个示例中,当至少一个参考图片的宽度/高度不同于当前图片时,不允许使用编解码工具,
[0557]
i.在一个示例中,当块的至少一个参考图片的宽度/高度大于当前图片的宽度/高度时,不允许使用编解码工具。
[0558]
d.在一个示例中,当块的每个参考图片的宽度/高度不同于当前图片的宽度/高度时,不允许使用编解码工具,
[0559]
i.在一个示例中,当每个参考图片的宽度/高度大于当前图片的宽度
[0560]
/高度时,不允许使用编解码工具。
[0561]
e.可替代地,此外,当不允许使用编解码工具时,可以利用一个mv作为单向预测来进行运动补偿。
[0562]
一致性窗口相关
[0563]
20.以n像素精度而不是1像素信令通知一致性裁剪窗口偏移参数(例如conf_win_left_offset),其中n是大于1的正整数。
[0564]
a.在一个示例中,可以按照将信令通知的偏移乘以n来推导实际偏移。
[0565]
b.在一个示例中,n被设置为4或8。
[0566]
21.提出了将一致性裁剪窗口偏移参数不仅应用于输出。一些内部解码过程可以取决于裁剪后的图片尺寸(即,图片中一致性窗口的分辨率)。
[0567]
22.提出了当第一视频单元和第二视频单元中表示为(pic_width_in_luma_
samples,pic_height_in_luma_samples)的图片的宽度和/或高度相同时,在第一视频单元(例如pps)和第二视频单元中的一致性裁剪窗口偏移参数可以不同。
[0568]
23.提出了当第一视频单元和第二视频单元中表示为(pic_width_in_luma_samples,pic_height_in_luma_samples)的图片的宽度和/或高度不同时,在一致性比特流中,第一视频单元(例如pps)和第二视频单元中的一致性裁剪窗口偏移应相同。
[0569]
a.提出了无论第一视频单元和第二视频单元中的表示为(pic_width_in_luma_samples,pic_height_in_luma_samples)的图片的宽度和/或高度是否相同,在一致性比特流中,第一视频单元(例如pps)和第二视频单元中的一致性裁剪窗口偏移参数应相同。
[0570]
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。
[0571]
a.在一个示例中,在一致性比特流中,w1/w2应等于x1/x2。
[0572]
i.可替代地,在一致性比特流中,w1/x1应等于w2/x2。
[0573]
ii.可替代地,在一致性比特流中,w1*x2应等于w2*x1。
[0574]
b.在一个示例中,在一致性比特流中,h1/h2应等于y1/y2。
[0575]
i.可替代地,在一致性比特流中,h1/y1应等于h2/y2。
[0576]
ii.可替代地,在一致性比特流中,h1*y2应等于h2*y1。
[0577]
c.在一个示例中,在一致性比特流中,pw1/pw2应等于x1/x2。
[0578]
i.可替代地,在一致性比特流中,pw1/x1应等于pw2/x2。
[0579]
ii.可替代地,在一致性比特流中,pw1*x2应等于pw2*x1。
[0580]
d.在一示例中,在一致性比特流中ph1/ph2应等于y1/y2。
[0581]
i.可替代地,在一致性比特流中,ph1/y1应等于ph2/y2。
[0582]
ii.可替代地,在一致性比特流中,ph1*y2应等于ph2*y1。
[0583]
e.在一个示例中,在一致性比特流中,pw1/pw2应等于w1/w2。
[0584]
i.可替代地,在一致性比特流中,pw1/w1应等于pw2/w2。
[0585]
ii.可替代地,在一致性比特流中,pw1*w2应等于pw2*w1。
[0586]
f.f。在一个示例中,在一致性比特流中ph1/ph2应等于h1/h2。
[0587]
i.可替代地,在一致性比特流中,ph1/h1应等于ph2/h2。
[0588]
ii.可替代地,在一致性比特流中,ph1*h2应等于ph2*h1。
[0589]
g.在一致性比特流中,如果pw1大于pw2,则w1必须大于w2。
[0590]
h.在一致性比特流中,如果pw1小于pw2,则w1必须小于w2。
[0591]
i.在一致性比特流中,(pw1-pw2)*(w1-w2)必须不小于0。
[0592]
j.在一致性比特流中,如果ph1大于ph2,则h1必须大于h2。
[0593]
k.在一致性比特流中,如果ph1小于ph2,则h1必须小于h2。
[0594]
l.在一致性比特流中,(ph1-ph2)*(h1-h2)必须不小于0。
[0595]
m.在一致性比特流中,如果pw1》=pw2,则w1/w2必须不大于(或小于)pw1/pw2。
[0596]
n.在一致性比特流中,如果ph1》=ph2,则h1/h2必须不大于(或小于)ph1/ph2。
[0597]
25.假设当前图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致性窗口的宽度和高度分别表示为w’和h’。然后,一致性比特流应遵循以下至少一个约束条件。
[0598]
a.w*pw》=w’;pw是整数,例如2。
[0599]
b.w*pw》w’;pw是整数,例如2。
[0600]
c.w’*pw’》=w;pw’是整数,例如8。
[0601]
d.w’*pw’》w;pw’是整数,例如8。
[0602]
e.h*ph》=h’;ph是整数,例如2。
[0603]
f.h*ph》h’;ph是整数,例如2。
[0604]
g.h’*ph’》=h;ph’是整数,例如8。
[0605]
h.h’*ph’》h;ph’是整数,例如8。
[0606]
i.在一个示例中,pw等于pw’。
[0607]
j.在一个示例中,ph等于ph’。
[0608]
k.在一个示例中,pw等于ph。
[0609]
l.在一个示例中,pw’等于ph’。
[0610]
m.在一个示例中,当w和h分别代表当前图片的宽度和高度时,一致性比特流需要满足上述子条目。w’和h’代表参考图片的宽度和高度。
[0611]
26.提出了部分地信令通知一致性窗口参数。
[0612]
a.在一个示例中,图片的一致性窗口中的左上样点与图片中的左上样点相同。
[0613]
b.例如,不信令通知vvc中定义的conf_win_left_offset并将其推断为零。
[0614]
c.例如,不信令通知vvc中定义的conf_win_top_offset并将其推断为零。
[0615]
27.提出了参考样点的位置(例如,在vvc中定义的(refx
l
,refy
l
))的推导可以取决于当前图片和/或参考图片的一致性窗口的左上位置(例如,在vvc中定义的(conf_win_left_offset,conf_win_top_offset))。图4示出了按照vvc(a)和提出的方法(b)推导样点位置的示例。虚线矩形代表一致性窗口。
[0616]
a.在一个示例中,仅当当前图片的宽度和/或高度与参考图片的宽度和/或高度不同时,才存在依赖性。
[0617]
b.在一个示例中,推导参考样点的水平位置(例如,如在vvc中定义的refx
l
)可以取决于当前图片和/或参考图片的一致性窗口的左侧位置(例如,如vvc中定义的conf_win_left_offset)。
[0618]
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的水平位置(表示为xsb’,并将其用来推导参考样点的位置。
[0619]
1)例如,计算xsb’=xsb-(conf_win_left_offset《《prec),并将其用来推导参考样点的位置,其中xsb代表当前样点在当前图片中的水平位置。conf_win_left_offset代表左上样点在当前图片的一致性窗口中的水平位置。prec呈现xsb和xsb’的精度,其中(xsb》》prec)可以示出当前样点相对于当前图片的实际水平坐标。例如,prec=0或prec=4。
[0620]
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的
水平位置(表示为rx’)。
[0621]
1)rx’的计算可以取决于xsb’和/或运动矢量和/或重采样比率。
[0622]
iii.在一个示例中,根据rx’来计算参考样点在参考图片中的相对位置的水平位置(表示为rx)。
[0623]
1)例如,计算rx=rx’ (conf_win_left_offset_ref《《prec),其中conf_win_left_offset_ref代表参考图片的一致性窗口中左上样点的水平位置。prec呈现了rx和rx’的精度。例如,prec=0或prec=4。
[0624]
iv.在一个示例中,可以根据xsb’和/或运动矢量和/或重采样比率来直接地计算rx。换句话说,将推导rx’和rx的两个步骤合并为一个步骤计算。
[0625]
v.是否和/或如何使用当前图片和/或参考图片的一致性窗口的左侧位置(例如,在vvc中定义的conf_win_left_offset)可以取决于颜色分量和/或颜色格式。
[0626]
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。
[0627]
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。
[0628]
c.在一个示例中,参考样点的垂直位置(例如,vvc中定义的refy
l
)的推导可以取决于当前图片和/或参考图片的一致性窗口的顶部位置(例如,vvc中定义的conf_win_top_offset)。
[0629]
i.在一个示例中,计算当前样点相对于当前图片中的一致性窗口的左上位置的垂直位置(表示为ysb’),并将其用来推导参考样点的位置。
[0630]
1)例如,计算ysb’=ysb-(conf_win_top_offset《《prec)并将其用来推导参考样点的位置,其中ysb代表当前样点在当前图片中的垂直位置。conf_win_top_offset代表当前图片的一致性窗口中左上样点的垂直位置。prec呈现ysb和ysb’的精度。例如,prec=0或prec=4。
[0631]
ii.在一个示例中,计算参考样点相对于参考图片中的一致性窗口的左上位置的垂直位置(表示为ry’)。
[0632]
1)ry’的计算可以取决于ysb’和/或运动矢量和/或重采样比率。
[0633]
iii.在一个示例中,根据ry’来计算参考样点相对于参考图片的垂直位置(表示为ry)。
[0634]
1)例如,计算ry=ry’ (conf_win_top_offset_ref《《prec),其中conf_win_top_offset_ref代表参考图片的一致性窗口中左上样点的垂直位置。prec呈现ry和ry’的精度。例如,prec=0或prec=4。
[0635]
iv.在一个示例中,可以根据ysb’和/或运动矢量和/或重采样比率来直接地计算ry。换句话说,将推导ry’和ry的两个步骤合并为一个步骤计算。
[0636]
v.是否和/或如何使用当前图片和/或参考图片的一致性窗口的顶部位置(例如,vvc中定义的conf_win_top_offset)可以取决于颜色分量和/或颜色格式。
[0637]
1)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_
top_offset*subheightc,其中subheightc定义颜色分量的垂直采样步骤。例如,对于亮度分量,subheightc等于1。当颜色格式为4:2:0时,对于色度分量,subheightc等于2。
[0638]
2)例如,可以将conf_win_top_offset修改为conf_win_top_offset=conf_win_top_offset/subheightc,其中subheightc定义颜色分量的垂直采样步骤。例如,对于亮度分量,subheightc等于1。当颜色格式为4:2:0时,对于色度分量,subheightc等于2。
[0639]
28.提出将参考样点水平坐标的整数部分剪裁成[minw,maxw]。假设参考图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致性窗口的宽度和高度分别表示为w’和h’。参考图片中的一致性窗口的左上位置表示为(x0,y0)。
[0640]
a.在一个示例中,minw等于0。
[0641]
b.在一个示例中,minw等于x0。
[0642]
c.在一个示例中,maxw等于w-1。
[0643]
d.在一个示例中,maxw等于w
’‑
1。
[0644]
e.在一个示例中,maxw等于x0 w
’‑
1。
[0645]
f.在一实例中,可基于颜色格式和/或颜色分量来修改minw和/或maxw。
[0646]
i.例如,将minw修改为minw*subc。
[0647]
ii.例如,将minw修改为minw/subc。
[0648]
iii.例如,将maxw修改为maxw*subc。
[0649]
iv.例如,将maxw修改为maxw/subc。
[0650]
v.在一个示例中,对于亮度分量,subc等于1。
[0651]
vi.在一个示例中,当颜色格式为4:2:0时,对于色度分量,subc等于2。
[0652]
vii.在一个示例中,当颜色格式为4:2:2时,对于色度分量,subc等于2。
[0653]
viii.在一个示例中,当颜色格式为4:4:4时,对于色度分量,subc等于1。
[0654]
g.在一个示例中,是否和/或如何进行修剪可以取决于当前图片(或其一致性窗口)的维度和参考图片(或其一致性窗口)的维度。
[0655]
i.在一个示例中,仅当当前图片(或其一致性窗口)的维度与参考图片(或其一致性窗口)的维度不同时才进行裁剪。
[0656]
29.提出将参考样点垂直坐标的整数部分裁剪成[minh,maxh]。假设参考图片的一致性窗口的宽度和高度分别表示为w和h。参考图片的一致性窗口的宽度和高度分别表示为w’和h’。参考图片中的一致性窗口的左上位置表示为(x0,y0)。
[0657]
a.在一个示例中,minh等于0。
[0658]
b.在一实例中,minh等于y 0。
[0659]
c.在一示例中,maxh等于h-1。
[0660]
d.在一个例子中,maxh等于h
’‑
1。
[0661]
e.在一个例子中,maxh等于y0 h
’‑
1。
[0662]
f.在一实例中,可以基于颜色格式和/或颜色分量来修改minh和/或
[0663]
maxh。
[0664]
i.例如,将minh修改为minh*subc。
[0665]
ii.例如,将minh修改为minh/subc。
[0666]
iii.例如,将maxh修改为maxh*subc。
[0667]
iv.例如,将maxh修改为maxh/subc。
[0668]
v.在一个示例中,对于亮度分量,subc等于1。
[0669]
vi.在一个示例中,当颜色格式为4:2:0时,对于色度分量,subc等于2。
[0670]
vii.在一个示例中,当颜色格式为4:2:2时,对于色度分量,subc等于1。
[0671]
viii.在一个示例中,当颜色格式为4:4:4时,对于色度分量,subc等于1。
[0672]
g.在一个示例中,是否和/或如何进行修剪可以取决于当前图片(或其一致性窗口)的维度和参考图片(或其一致性窗口)的维度。
[0673]
i.在一个示例中,仅当当前图片(或其一致性窗口)的维度与参考图片(或其一致性窗口)的维度不同时才进行裁剪。
[0674]
在以下讨论中,如果两个语法元素具有同等功能,但可以在不同的视频单元(例如vps/sps/pps/条带标头/图片标头等)进行信令通知,第一语法元素被称为“对应于”第二语法元素。
[0675]
30.提出在第一视频单元(例如图片标头或pps)中用信令通知语法元素,并且在较高级别(例如sps)或较低级别(例如条带标头)的第二视频单元中不信令通知对应的语法元素。
[0676]
a.可替代地,可以在第一视频单元(例如图片标头或pps)中信令通知第一语法元素,并且可以在较低级别的第二视频单元中信令通知对应的第二语法元素(例如条带标头)。
[0677]
i.可替代地,可以在第二视频单元中信令通知指示符,以通知其后是否信令通知第二语法元素。
[0678]
ii.在一个示例中,如果信令通知了第二语法元素,则与第二视频单元相关联的条带(例如条带标头)可以跟随第二语法元素的指示而不是第一语法元素的指示。
[0679]
iii.可以在第一视频单元中信令通知与第一语法元素相关联的指示符,以通知是否在与第一视频单元相关联的任何条带(或其他视频单元)中信令通知第二语法元素。
[0680]
b.可替代地,可以在较高级别的第一视频单元中信令通知第一语法元素(例如,vps/sps/pps),并且可以在第二视频单元中信令通知对应的第二语法元素(例如图片标头)。
[0681]
i.可替代地,可以信令通知指示符以通知此后是否信令通知第二语法元素。
[0682]
ii.在一个示例中,如果信令通知了第二语法元素,则与第二视频单元相关联的图片(可以被分割为条带)可以跟随第二语法元素的指示而不是第一语法元素的指示。
[0683]
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等),但是可以控制图片的所有条带。
[0684]
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等),但是仅可以控制相关联的图片(其可以被分割为多个条带)。
[0685]
e.第2.7节中规定的pps中的第一语法元素可以具有与图片标头中的第二语法元素等同的功能(例如但不限于entropy_coding_sync_enabled_flag,
[0686]
entry_point_offsets_present_flag,cabac_init_present_flag,rpl1_idx_present_flag等),但是仅可以控制相关联的图片(其可以被分割为多个条带)。
[0687]
31.在本公开中(条目1-条目29),术语“一致性窗口”可以由诸如“缩放窗口”之类的其他术语代替。可以与一致性窗口不同地信令通知缩放窗口,并且用于推导缩放比率和/或左上偏移,该缩放比率和/或左上偏移用于推导用于rpr的参考样点位置。
[0688]
a.在一示例中,缩放窗口可以被一致性窗口约束。例如,在一致性比特流中,缩放窗口必须包含在一致性窗口中。
[0689]
32.是否和/或如何用信令通知用于变换-跳过-编解码的块的所允许的最大块尺寸可以取决于用于变换-编解码的块的最大块尺寸。
[0690]
a.可替代地,在一致性比特流中,用于变换-跳过-编解码的块的最大块尺寸不能大于用于变换-编解码的块的最大块尺寸。
[0691]
33.是否以及如何信令通知启用联合cb-cr残差(jccr)编解码的指示(例如sps_joint_cbcr_enabled_flag)可以取决于颜色格式(例如4:0:0,4:
[0692]
2:0等)。
[0693]
a.例如,如果颜色格式为4:0:0,则可以不信令通知启用联合cb-cr残差(jccr)的指示。示例性语法设计如下:
[0694]
if(chromaarraytype!=0) sps_joint_cbcr_enabled_flagu(1)
[0695]
在tpm/geo中用于色度混合掩膜(blending mask)生成的下采样滤波器类型
[0696]
34.可以在视频单元级别(例如sps/vps/pps/图片标头/子图片/条带/条带标头/片/砖块/ctu/vpdu级别)信令通知用于色度样点的混合权重推导的下采样滤波器的类型。
[0697]
a.在一个示例中,可以信令通知高级别标志,以在内容的不同色度格式类型之间切换。
[0698]
i.在一个示例中,可以信令通知高级别标志,以在色度格式类型0和色度格式类型2之间切换。
[0699]
ii.在一个示例中,可以信令通知标志,以规定tpm/geo预测模式中左上下采样的亮度权重是否与左上亮度权重共位(即,色度样本位置类型0)。
[0700]
iii.在一个示例中,可以信令通知标志,以规定tpm/geo预测模中下左上下采样的亮度样点是否与左上亮度样点在水平方向上共位,但是相对于左上亮度样点(即,而是样点位置类型2)垂直位移了0.5单位的亮度样点。
[0701]
b.在一个示例中,可以针对4:2:0色度格式和/或4:2:2色度格式信令通知下采样滤波器的类型。
[0702]
c.在一个示例中,可以信令通知标志以规定用于tpm/geo预测的色度下采样滤波器的类型。
[0703]
i.在一个示例中,可以信令通知标志以用于在tpm/geo预测模式下的色度权重推导是使用下采样滤波器a还是下采样滤波器b。
[0704]
35.可以在视频单位级别(例如sps/vps/pps/图片标头/子图片/条带/条带标头/片/砖块/ctu/vpdu级别)推导用于色度样点的混合权重推导的下采样滤波器的类型。
[0705]
a.在一个示例中,可以定义查找表以规定色度子采样滤波器类型和内容的色度格式类型之间的对应关系。
[0706]
36.在色度样点位置类型不同的情况下,可以将规定的下采样滤波器用于tpm/geo预测模式。
[0707]
a.在一个示例中,在某种色度样点位置类型(例如,色度样点位置类型0)的情况下,tpm/geo的色度权重可以从共位的左上亮度权重进行子采样。
[0708]
b.在一个示例中,在某种色度样点位置类型(例如,色度样点位置类型0或2)的情况下,可以将规定的x抽头滤波器(x是常数,例如x=6或5)用于tpm/geo预测模式中的色度权重子采样。
[0709]
37.在视频单元(例如,sps、pps、图片标头、条带标头等)中,可以信令通知第一语法元素(例如标志)以指示是否所有块(条带/图片)禁用mts。
[0710]
a.基于第一语法元素来条件地信令通知指示如何在帧内编解码块(条带/图片)上应用mts(例如启用mts/禁用mts/隐式mts/显式mts)的第二语法元素。例如,仅当第一语法元素指示并非所有块(条带/图片)禁用mts时,才信令通知第二语法元素。
[0711]
b.基于第一语法元素来条件地信令通知指示如何在帧间编解码块(条带/图片)上应用mts(例如启用mts/禁用mts/隐式mts/显式mts)的第三语法元素。例如,仅当第一语法元素指示并非所有块(条带/图片)禁用mts时,才信令通知第三语法元素。
[0712]
c.示例性语法设计如下:
[0713][0714]
d.基于是否应用子块变换(sbt)来条件地信令通知第三语法元素。示例性语法设计如下:
[0715][0716]
e.示例性语法设计如下
[0717]
if(sps_isp_enabled_flag)-sps_isp_non_dct2_enabled_flagu(1)
…‑ꢀ
sps_intra_mts_selectionue(v)sps_inter_mts_selectionue(v)
[0718]
5.附加实施例
[0719]
在下文中,以带下划线的粗斜体字体示出文本更改。
[0720]
5.1关于一致性窗口的约束条件的实施例
[0721]
根据用于输出的在图片坐标中规定的矩形区域,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。
[0722]
一致性裁剪窗口包含亮度样点,其具有从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)的垂直图片坐标(包括端值)。
[0723]
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。
[0724]
变量picoutputwidthl和picoutputheightl的推导如下:
[0725]
picoutputwidthl=pic_width_in_luma_samples
‑ꢀꢀꢀ
(7-43)
[0726]
subwidthc*(conf_win_right_offset conf_win_left_offset)
[0727]
picoutputheightl=pic_height_in_pic_size_units
‑ꢀꢀꢀ
(7-44)
[0728]
subheightc*(conf_win_bottom_offset conf_win_top_offset)
[0729]
当chromaarraytype不等于0时,两个色度阵列的对应规定样点是具有图片坐标(x/subwidthc,y/subheightc)的样点,其中(x,y)是规定亮度样点的图片坐标。
[0730][0731]
5.2参考样点位置推导的实施例1
[0732]
8.5.6.3.1概述
[0733]

[0734]
将变量frefwidth设置为等于以亮度样点衡量的参考图片的picoutputwidthl。
[0735]
将变量frefheight设置为等于以亮度样点衡量的参考图片的picoutputheightl。
[0736][0737]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0738]

如果cidx等于0,那么适用以下内容:
[0739]-将缩放因数及其固定点表示定义为:
[0740]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl(8-753)
[0741]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
[0742]
(8-754)
[0743]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0744]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0745]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0746]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0747][0748]

[0749]

[0750]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0751]
xint
l
=refx
l
》》4
ꢀꢀꢀ
(8-759)
[0752]
yint
l
=refy
l
》》4
ꢀꢀꢀ
(8-760)
[0753]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0754]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0755]
如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0756]

x
l
等于0。
[0757]

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

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

否则(cidx不等于0),那么适用以下内容:
[0762]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0764]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应预测色度样点值predsampleslx[xc][yc]:
[0765]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0766][0767]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀ
(8-764)
[0768][0769]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》
ꢀꢀꢀ
5(8-766)
[0770]

[0771]

[0772]

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

[0780]
将变量frefwidth设置为等于以亮度样点衡量的参考图片的picoutputwidthl。
[0781]
将变量frefheight设置为等于以亮度样点衡量的参考图片的picoutputheightl。
[0782][0783]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0784]

如果cidx等于0,那么适用以下内容:
[0785]-将缩放因数及其固定点表示定义为:
[0786]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl(8-753)
[0787]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
[0788]
(8-754)
[0789]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0790]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0791]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0792]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0793][0794]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0795]
xint
l
=refx
l
》》4
ꢀꢀꢀ
(8-759)
[0796]
yint
l
=refy
l
》》4
ꢀꢀꢀ
(8-760)
[0797]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0798]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0799]
如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0800]

x
l
等于0。
[0801]

x
l
等于sbwidth 1。
[0802]
–yl
等于0。
[0803]
–yl
等于sbheight 1。
[0804]

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

否则(cidx不等于0),那么适用以下内容:
[0806]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0808]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应预测色度样点值predsampleslx
[xc][yc]:
[0809]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0810][0811]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀ
(8-764)
[0812][0813]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》
ꢀꢀꢀ
5(8-766)
[0814]

[0815]

[0816]

按照如下推导变量xintc、yintc、xfracc和yfracc:
[0817]
xintc=refxc》》5
ꢀꢀꢀ
(8-767)
[0818]
yintc=refyc》》5
ꢀꢀꢀ
(8-768)
[0819]
xfracc=refyc&31
ꢀꢀꢀ
(8-769)
[0820]
yfracc=refyc&31
ꢀꢀꢀ
(8-770)
[0821]
5.4参考样点位置推导的实施例3
[0822]
8.5.6.3.1概述
[0823]

[0824]
将变量frefwidth设置为等于以亮度样点衡量的参考图片的picoutputwidthl。
[0825]
将变量frefheight设置为等于以亮度样点衡量的参考图片的picoutputheightl。
[0826][0827]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0828]

如果cidx等于0,那么适用以下内容:
[0829]-将缩放因数及其固定点表示定义为:
[0830]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl(8-753)
[0831]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
[0832]
(8-754)
[0833]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0834]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0835]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0836]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0837][0838]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0839]
xint
l
=refx
l
》》4
ꢀꢀꢀ
(8-759)
[0840]
yint
l
=refy
l
》》4
ꢀꢀꢀ
(8-760)
[0841]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0842]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0843]
如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程来推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0844]

x
l
等于0。
[0845]

x
l
等于sbwidth 1。
[0846]
–yl
等于0。
[0847]
–yl
等于sbheight 1。
[0848]

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

否则(cidx不等于0),那么适用以下内容:
[0850]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0852]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应预测色度样点值predsampleslx[xc][yc]:
[0853]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0854][0855][0856]

按照如下推导变量xintc、yintc、xfracc和yfracc:
[0857]
xintc=refxc》》5
ꢀꢀꢀ
(8-767)
[0858]
yintc=refyc》》5
ꢀꢀꢀ
(8-768)
[0859]
xfracc=refyc&31
ꢀꢀꢀ
(8-769)
[0860]
yfracc=refyc&31
ꢀꢀꢀ
(8-770)
[0861]
5.5参考样点位置裁剪的实施例1
[0862]
8.5.6.3.1概述
[0863]
此过程的输入为:
[0864]

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

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

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

运动矢量偏移mvoffset,
[0868]

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

所选的参考图片样点阵列refpiclx,
[0870]

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

双向光流标志bdofflag,
[0872]

变量cidx,规定当前块的颜色分量索引。
[0873]
此过程的输出为:
[0874]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)阵列predsampleslx。
[0875]
按照如下推导预测块边界延伸尺寸brdextsize:
[0876]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
[0877]
将变量frefwidth设置为等于以亮度样点衡量的参考图片的picoutputwidthl。
[0878]
将变量frefheight设置为等于以亮度样点衡量的参考图片的picoutputheightl。
[0879]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0880]

如果cidx等于0,那么适用以下内容:
[0881]-将缩放因数及其固定点表示定义为:
[0882]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl(8-753)
[0883]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
[0884]
(8-754)
[0885]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0886]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0887]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0888]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0889]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀꢀ
(8-755)
[0890]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀ
(8-756)
[0891]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp
ꢀꢀꢀ
(8-757)
[0892]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀ
(8-758)
[0893]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0894][0895][0896]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0897]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0898]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》
[0899]
3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0900]

x
l
等于0。
[0901]

x
l
等于sbwidth 1。
[0902]
–yl
等于0。
[0903]
–yl
等于sbheight 1。
[0904]

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

否则(cidx不等于0),那么适用以下内容:
[0906]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0908]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应的预测色度样点值predsampleslx[xc][yc]:
[0909]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0910]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
[0911]
(8-763)
[0912]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀ
(8-764)
[0913]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
[0914]
(8-765)
[0915]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》
ꢀꢀꢀ
5(8-766)
[0916]

按照如下推导变量xintc、yintc、xfracc和yfracc:
[0917][0918]
xfracc=refyc&31
ꢀꢀꢀ
(8-769)
[0919]
yfracc=refyc&31
ꢀꢀꢀ
(8-770)
[0920]

在以(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight和refpiclx为输入的情况下通过调用条款8.5.6.3.4中规定的过程来推导预测样点值predsampleslx[xc][yc]。
[0921]
5.6参考样点位置裁剪的实施例2
[0922]
8.5.6.3.1概述
[0923]
此过程的输入为:
[0924]

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

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

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

运动矢量偏移mvoffset,
[0928]

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

所选的参考图片样点阵列refpiclx,
[0930]

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

双向光流标志bdofflag,
[0932]

变量cidx,规定当前块的颜色分量索引。
[0933]
此过程的输出为:
[0934]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)阵列predsampleslx。
[0935]
按照如下推导预测块边界延伸尺寸brdextsize:
[0936]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
[0937]
将变量frefwidth设置为等于以亮度样点衡量的参考图片的picoutputwidthl。
[0938]
将变量frefheight设置为等于以亮度样点衡量的参考图片的picoutputheightl。
[0939][0940]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0941]

如果cidx等于0,那么适用以下内容:
[0942]-将缩放因数及其固定点表示定义为:
[0943]
hori_scale_fp=((frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl
(8-753)
[0944]
vert_scale_fp=((frefheight《《14) (picoutputheightl》》1))/picoutputheightl
[0945]
(8-754)
[0946]

令(xintl,yintl)为以全样点为单位的亮度位置,并且(xfracl,yfracl)为以1/16样点为单位的偏移量。这些变量仅在这一条款中用于规定参考样点阵列refpiclx内的分数样点位置。
[0947]

将用于参考样点填补的包围块(bounding block)的左上坐标(xsbint
l
,ysbint
l
)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0948]

对于预测亮度样点阵列predsampleslx内的每一亮度样点位置(x
l
=0..sbwidth-1 brdextsize,y
l
=0..sbheight-1 brdextsize),按照如下推导对应预测亮度样点值predsampleslx[x
l
][y
l
]:
[0949]-令(refxsb
l
,refysb
l
)和(refx
l
,refy
l
)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。按照如下推导变量refxsb
l
、refx
l
、refysb
l
和refy
l

[0950]
refxsb
l
=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀꢀ
(8-755)
[0951]
refx
l
=((sign(refxsb)*((abs(refxsb) 128)》》8) x
l
*((hori_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀ
(8-756)
[0952]
refysb
l
=((ysb《《4) refmvlx[1])*vert_scale_fp(8-757)
[0953]
refy
l
=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀ
(8-758)
[0954]

按照如下推导变量xint
l
、yint
l
、xfrac
l
和yfrac
l

[0955][0956]
xfrac
l
=refx
l
&15
ꢀꢀꢀ
(8-761)
[0957]
yfrac
l
=refy
l
&15
ꢀꢀꢀ
(8-762)
[0958]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一个或多个为真,那么在以(xint
l
(xfrac
l
》》3)-1),yint
l
(yfrac
l
》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整数样点取回过程而推导出预测亮度样点值predsampleslx[x
l
][y
l
]。
[0959]

x
l
等于0。
[0960]

x
l
等于sbwidth 1。
[0961]
–yl
等于0。
[0962]
–yl
等于sbheight 1。
[0963]

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

否则(cidx不等于0),那么适用以下内容:
[0965]

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

将用于参考样点填补的包围块的左上坐标(xsbintc,ysbintc)设置为等于((xsb/subwidthc) (mvlx[0]》》5),(ysb/subheightc) (mvlx[1]》》5))。
[0967]

针对预测色度样点阵列predsampleslx内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),按照如下推导对应的预测色度样点值predsampleslx[xc][yc]:
[0968]

令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。按照如下推导变量refxsbc、refysbc、refxc和refyc:
[0969]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
[0970]
(8-763)
[0971]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9) xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀ
(8-764)
[0972]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
[0973]
(8-765)
[0974]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9) yc*((vert_scale_fp 8)》》4)) 16)》》
ꢀꢀꢀ
5(8-766)
[0975]

按照如下推导变量xintc、yintc、xfracc和yfracc:
[0976][0977]
xfracc=refyc&31
ꢀꢀꢀ
(8-769)
[0978]
yfracc=refyc&31
ꢀꢀꢀ
(8-770)
[0979]

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

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

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

相关文献