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

用于屏幕内容的自适应分辨率变化和可缩放编解码的制作方法

2022-04-30 14:21:27 来源:中国专利 TAG:

用于屏幕内容的自适应分辨率变化和可缩放编解码
1.相关的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年9月20日提交的国际专利申请号pct/cn2019/106984的优先权和权益。国际专利申请号pct/cn2019/106984的全部公开以引用方式并入本文,作为本技术公开的一部分。
技术领域
3.本专利文件涉及视频和图像编解码及解码。


背景技术:

4.尽管视频压缩取得了进步,但是数字视频仍在互联网和其他数字通信网络上占据最大带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将持续增长。


技术实现要素:

5.公开了与数字视频编解码有关的,尤其与其中实施可缩放视频编解码的视频和图像编解码及解码有关的设备、系统和方法。
6.在一个示例性方面中,公开了一种视频处理方法。该方法包括执行具有原生分辨率的视频与具有编解码分辨率的该视频的编解码表示之间的转换,其中,该编解码表示中的字段指示原生分辨率与编解码分辨率之间的关系。
7.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于视频的视频段与该视频的编解码表示之间的转换,基于与对于该视频段中的块的编解码模式使用相关联的使用规则,确定屏幕内容编解码对于该视频段的转换的适用性;以及基于该确定执行该转换。
8.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于视频的视频单元与该视频的使用屏幕内容编解码工具的编解码表示之间的转换,确定由于参考图片和当前图片包括不同尺寸的视频单元而引起的该转换的特性;以及基于该确定执行该转换。
9.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于视频的视频单元与该视频的可缩放编解码表示之间的转换,确定用于该转换的约束规则;以及根据该约束规则执行该转换;其中,该可缩放编解码表示包括第一层和第二层,其中,第一层具有比第二层的质量低的质量。
10.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于视频与使用无损编解码模式的该视频的编解码表示之间的转换,确定该编解码表示省略与量化参数或编解码块标志的信令通知有关的语法元素;以及基于该确定执行该转换。
11.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于图片或视频与该图片或视频的比特流表示之间的转换,基于该比特流表示中包含的指示确定该图片
或视频是否具有原生分辨率;以及基于该确定执行该转换。
12.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于图片或视频与该图片或视频的比特流表示之间的转换,基于一个或多个某中编解码工具的使用或信令通知的消息确定该图片或视频是否是屏幕内容;以及基于该确定执行该转换。
13.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于图片或视频与该图片或视频的可缩放编解码比特流表示之间的转换,确定与该图片或视频的可缩放视频编解码相关联的一个或多个约束;以及基于该确定执行该转换。
14.在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:对于图片或视频与该图片或视频的比特流表示之间的转换,在该转换使用无损编解码模式时确定跳过一个或多个语法;以及基于该确定执行该转换。
15.在又一代表性方面中,上述方法被体现为处理器可执行代码的形式并存储于计算机可读程序介质中。
16.在又一代表性方面中,公开了一种被配置为或可用于执行上述方法的设备。该设备可以包括被编程为实施这种方法的处理器。
17.在又一代表性方面中,一种视频解码器装置可以实施本文描述的方法。
18.在又一代表性方面中,一种存储在包括程序代码的非暂态计算机可读介质上的计算机程序产品可以实施本文描述的方法。
19.在附图、说明书和权利要求中更详细地描述了所公开技术的以上和其他的方面和特征。
附图说明
20.图1示出了当前ctu处理顺序及其在当前和左侧ctu中的可用参考样点的示例。
21.图2示出了对于变换跳过块的残差编解码过程的示例。
22.图3示出了在调色板模式中编解码的块的示例。
23.图4示出了水平和垂直遍历扫描的示例。
24.图5是可以实施所公开的技术的示例视频处理系统的方块图。
25.图6是示例视频处理装置的方块图。
26.图7是视频处理的示例方法的流程图。
27.图8是视频处理的示例方法的流程图。
28.图9是视频处理的示例方法的流程图。
29.图10是视频处理的示例方法的流程图。
30.图11是视频处理的示例方法的流程图。
具体实施方式
31.可以将所公开的技术的实施例应用于现有视频编解码标准(例如,hevc、h.265)和将来的标准,以改善压缩性能。在本文中,使用章节标题来提高描述的可读性,并且不以任何方式使论述或实施例(和/或实施方式)仅局限于相应章节。
32.1.概述
33.本文件涉及视频编解码技术。具体地,其涉及用于针对屏幕内容编解码的参考图
片重采样(或自适应分辨率变化)和可缩放视频编解码的各种技术。其可以应用于现有的视频编解码标准,如hevc,或待定案的标准(通用视频编解码)。其还可以适用于未来的视频编解码标准或视频编解码器。
34.2.初步讨论
35.视频编解码标准主要是通过公知的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标准[1]。自h.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索团队(jvet)。从那时起,jvet采用了许多新的方法,并将其应用到了名为联合探索模型(jem)的参考软件中。2018年4月,在vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间创建了联合视频专家团队(jvet),其致力于研究以相较于hevc有50%的比特率下降为目标的vvc标准。
[0036]
2.1屏幕内容编解码工具
[0037]
2.1.1帧内块复制(ibc)
[0038]
帧内块复制(ibc)是hevc扩展针对scc采用的一种工具。众所周知,它显著地提高了屏幕内容材料的编解码效率。由于ibc模式被实施为块级别的编解码模式,所以在编码器处执行块匹配(bm),以为每个cu找到最优块矢量(或运动矢量)。这里,块矢量用于指示从当前块到已经在当前图片内部重建的参考块的位移。ibc编解码的cu的亮度块矢量具有整数精确度。色度块矢量也取整至整数精确度。在与amvr结合时,ibc模式可以在1像素和4像素运动矢量精确度之间切换。将ibc编解码的cu当作除帧内或帧间预测模式之外的第三种预测模式处理。ibc模式适用于宽度和高度两者均小于或者等于64个亮度样点的cu。
[0039]
在编码器侧,针对ibc执行基于散列的运动估计。编码器对宽度或高度不大于16个亮度样点的块执行rd检查。对于非merge(合并)模式,首先使用基于散列的搜索来执行块矢量搜索。如果散列搜索未返回有效候选,将执行基于局部搜索的块匹配。
[0040]
在基于散列的搜索中,将当前块和参考块之间的散列键匹配(32位crc)扩展到所有允许的块尺寸。针对当前图片中每个位置的散列键计算是基于4
×
4子块。对于更大尺寸的当前块,在所有4
×
4子块的所有散列键都匹配对应参考位置的散列键时,确定散列键匹配参考块的散列键。如果发现多个参考块的散列键匹配当前块的散列键,则计算每个匹配参考的块矢量代价并选择具有最低代价的一个。
[0041]
在块匹配搜索中,将搜索范围设置为覆盖先前ctu和当前ctu两者。
[0042]
在cu级别,利用标志信令通知ibc模式,可以如下将其信令通知为ibc amvp模式或ibc skip(跳过)/merge模式:
[0043]

ibc skip/merge模式:使用merge候选索引指示使用列表中的来自相邻候选ibc编解码块的块矢量中的哪个来预测当前块。merge列表由空域候选、hmvp候选和成对候选构成。
[0044]

ibc amvp模式:按照与运动矢量差相同方式对块矢量差进行编解码。该块矢量预测方法使用两个候选作为预测器,一个来自左侧邻居,一个来自上方邻居(如果是ibc编解码的)。在任一个邻居不可用时,将使用默认块矢量作为预测器。信令通知标志以指示块矢量预测器索引。
[0045]
2.1.1.1ibc参考区域
[0046]
为了降低存储器消耗和解码器复杂性,vtm6中的ibc只允许使用包括当前ctu的区域和左侧ctu的某一区域的预定义区域的重建部分。图1示出了ibc模式的参考区域,其中,每一块表示64x64亮度样点单元。
[0047]
依据当前编解码cu位置在当前ctu中的位置,以下内容适用:
[0048]

如果当前块落在当前ctu的左上64x64块内,那么除了参考当前ctu中的已经重建的样点之外,其还可以使用cpr模式参考左侧ctu的右下64x64块中的参考样点。当前块还可以使用cpr模式参考左侧ctu的左下64x64块中的参考样点以及左侧ctu的右上64x64块中的参考样点。
[0049]

如果当前块落在当前ctu的右上64x64块内,那么除了参考当前ctu中的已经重建的样点之外,如果相对于当前ctu的亮度位置(0,64)尚未重建,当前块还可以使用cpr模式参考左侧ctu的左下64x64块和右下64x64块中的参考样点;否则当前块还可以参考左侧ctu的右下64x64块中的参考样点。
[0050]

如果当前块落在当前ctu的左下0x64块内,那么除了参考当前ctu中的已经重建的样点之外,如果相对于当前ctu的亮度位置(64,0)尚未重建,当前块还可以使用cpr模式参考左侧ctu的右上64x64块和右下64x64块中的参考样点。否则,当前块还可以使用cpr模式参考左侧ctu的右下64x64块中的参考样点。
[0051]

如果当前块落在当前ctu的右下64x64块内,那么其可以使用cpr模式仅参考当前ctu中的已重建样点。
[0052]
这种限制允许使用用于硬件实施方式的本地片上存储器来实施ibc模式。
[0053]
2.1.1.2ibc与其他编解码工具的相互作用
[0054]
ibc模式与vtm6中的其他帧间编解码工具(诸如成对merge候选、基于历史的运动矢量预测器(hmvp)、帧间/帧内联合预测模式(ciip)、具有运动矢量差的merge模式(mmvd)和三角划分)之间的相互作用如下:
[0055]

可以将ibc与成对merge候选和hmvp一起使用。可以通过对两个ibc merge候选求均值而生成新的成对ibc merge候选。对于hmvp,将ibc运动插入到历史缓冲区内,以供将来参考。
[0056]

ibc不能与以下帧间工具结合使用:仿射运动、ciip、mmvd和三角划分。
[0057]

在使用dual_tree划分时,对色度编解码块不允许使用ibc。
[0058]
与hevc屏幕内容编解码扩展中不同,当前图片不再作为参考图片之一被包含到参考图片列表0中以供ibc预测之用。ibc模式的运动矢量的推导过程排除帧间模式中的所有相邻块,反之亦然。应用以下的各个ibc设计方面:
[0059]

ibc共享与常规mv merge中相同的过程,包括采用成对merge候选和基于历史的运动预测器,但是不允许tmvp和零矢量,因为它们对于ibc模式是无效的。
[0060]

将单独的hmvp缓冲区(每者5个候选)用于常规mv和ibc。
[0061]

块矢量约束是以比特流一致性约束的形式实施的,编码器必须确保在比特流中不存在无效矢量,并且在merge候选无效(超出范围或者为0)的情况下一定不能使用merge。这样的比特流一致性约束是联系如下文所述的虚拟缓冲区表达的。
[0062]

对于去方块而言,将ibc作为帧间模式处理。
[0063]

如果当前块是使用ibc预测模式编解码的,那么amvr不使用四分之一像素;相反,将amvr信令通知为仅指示mv是整像素还是4个整像素。
[0064]

可以独立于常规merge候选、子块merge候选和三角merge候选的数量,在条带标头中信令通知ibc merge候选的数量。
[0065]
使用虚拟缓冲器概念来描述用于ibc预测模式和有效块矢量的可容许参考区域。将ctu尺寸表示为ctbsize,虚拟缓冲区ibcbuf具有宽度wibcbuf=128*128/ctbsize和高度hibcbuf=ctbsize。例如,对于128x128的ctu尺寸,ibcbuf的尺寸也为128x128;对于64x64的ctu尺寸,ibcbuf的尺寸的尺寸为256x64;并且对于32x32的ctu尺寸,ibcbuf的尺寸为512x32。
[0066]
vpdu的尺寸在每一维度内为min(ctbsize,64),wv=min(ctbsize,64)。
[0067]
如下保持虚拟ibc缓冲区ibcbuf:
[0068]
1)在开始对每一ctu行解码时,采用无效值-1刷新整个ibcbuf。
[0069]
2)在开始对相对于图片的左上角的vpdu(xvpdu,yvpdu)解码时,设置ibcbuf[x][y]=-1,其中,x=xvpdu%wibcbuf,

,xvpdu%wibcbuf wv

1;y=yvpdu%ctbsize,

,yvpdu%ctbsize wv

1。
[0070]
3)在对包含相对于图片的左上角的(x,y)的cu解码之后,设置
[0071]
ibcbuf[x%wibcbuf][y%ctbsize]=recsample[x][y]
[0072]
对于覆盖坐标(x,y)的块而言,如果对于块矢量bv=(bv[0],bv[1])而言以下为真,那么其有效;否则,其无效:
[0073]
ibcbuf[(x bv[0])%wibcbuf][(y bv[1])%ctbsize]必须不等于-1。
[0074]
2.1.2块差分脉冲编解码调制(bdpcm)
[0075]
vtm6支持用于屏幕内容编解码的块差分脉冲编解码调制(bdpcm)。在序列级别上,在sps中信令通知bdpcm启用标志;只有在启用变换跳过模式(下一章节将描述)的情况下才在sps中信令通知这一标志。
[0076]
在启用bdpcm时,如果以亮度样点来计cu尺寸小于或等于maxtssize乘以maxtssize,并且如果cu是帧内编解码的,那么在cu级别上传输标志,其中,maxtssize是允许变换跳过模式的最大块尺寸。这一标志表明使用常规帧内编解码还是bdpcm。如果使用bdpcm,那么传输bdpcm预测方向标志,以表明该预测是水平的还是垂直的。之后,使用常规水平或垂直帧内预测过程借助于未经滤波的参考样点预测该块。对残差量化并且对每一量化残差与其预测器之间的差编解码,所述预测器是指水平或垂直(取决于bdpcm预测方向)相邻位置的先前编解码残差。
[0077]
对于具有尺寸m(高度)
×
n(宽度)的块而言,令r
i,j
,0≤i≤m-1,0≤j≤n-1是预测残差。令q(r
i,j
),0≤i≤m-1,0≤j≤n-1表示残差r
i,j
的量化版本。对量化残差值应用bdpcm,从而得到具有元素的修正的m
×
n数组其中,是由其相邻量化残差值预测的。对于垂直bdpcm预测模式,针对0≤j≤(n-1),使用下式推导
[0078][0079]
对于水平bdpcm预测模式,针对0≤i≤(m-1),使用下式推导
[0080][0081]
在解码器侧,反转以上过程计算q(r
i,j
), 0≤i≤m-1, 0≤j≤n-1,如下:
[0082]
如果使用垂直bdpcm,
[0083]
如果使用水平bdpcm,
[0084]
将反量化残差q-1
(q(r
i,j
))加到帧内块预测值上,以产生重建样点值。
[0085]
使用与变换跳过模式残差编解码当中的相同的残差编解码过程将预测量化残差值发送至解码器。就用于将来的帧内模式编解码的mpm模式而言,如果bdpcm预测方向是水平或垂直的,那么为bdpcm编解码cu分别存储水平或垂直预测模式。对于去方块而言,如果处于块边界两侧的两个块均使用bdpcm编解码,那么不对该特定块边界去方块。
[0086]
2.1.3用于变换跳过模式的残差编解码
[0087]
vtm6允许对尺寸可达maxtssize乘以maxtssize的亮度块使用变换跳过模式,其中,在pps中信令通知maxtssize的值,并且该值在vtm6中最大为32。当在变换跳过模式中对cu编解码时,使用变换跳过残差编解码过程对其预测残差进行量化并编解码。这一过程是从变换系数编解码过程修改而来的。在变换跳过模式中,还以具有尺寸4x4的非重叠子块为单位对tu的残差编解码。为了得到更高的编解码效率,针对残差信号的特点做出一些修改,以定制残差编解码过程。下文总结了vtm6中的变换跳过残差编解码和常规变换残差编解码之间的差异:
[0088]

应用前向扫描顺序扫描变换块内的子块以及子块内的位置;
[0089]

不对最后的(x,y)位置进行信令通知;
[0090]

在所有的先前标志都等于0时针对除了最后子块的每一子块对coded_sub_block_flag编解码;
[0091]

sig_coeff_flag上下文建模使用缩减模板,并且sig_coeff_flag的上下文模型取决于顶部和左侧的相邻值;
[0092]

abs_level_gt1标志的上下文模型还取决于左侧和顶部sig_coeff_flag上下文建模使用缩减模板,并且sig_coeff_flag的上下文模型取决于顶部和左侧的相邻值;
[0093]

值。
[0094]

par_level_flag仅使用一个上下文模型;
[0095]

信令通知额外的大于3、5、7、9标志以指示系数幅值,每一标志一个上下文;
[0096]

用于余数值的二值化的修正的rice参数推导;-[0097]

基于左侧和上方相邻值确定符号标志的上下文模型,并且在sig_coeff_flag之后解析符号标志,从而使所有的上下文编解码二进制位保持在一起;
[0098]
对于每一子块,如果coded_subblock_flag等于1(即,在子块中有至少一个非零量化残差),那么通过三个扫描趟执行对量化残差幅值的编解码(参考图2)。
[0099]-第一扫描趟:对有效性标志(sig_coeff_flag)、符号标志(coeff_sign_flag)、绝对幅值大于1标志(abs_level_gtx_flag[0])和奇偶性(par_level_flag)编解码。对于给定扫描位置,如果sig_coeff_flag等于1,那么对coeff_sign_flag编解码,随后继之以abs_
level_gtx_flag[0](其指定绝对幅值是否大于1)。如果abs_level_gtx_flag[0]等于1,那么额外地对par_level_flag编解码,以指定该绝对幅值的奇偶性。
[0100]-大于x扫描趟:对于绝对幅值大于1的每一扫描位置,对可多达四个的abs_level_gtx_flag[i](对于i=1...4)编解码,以指示给定位置处的绝对幅值是否分别大于3、5、7或9。
[0101]-余数扫描趟:对于abs_level_gtx_flag[4]等于1(即绝对幅值大于9)的所有扫描位置,对绝对幅值的余数编解码。使用缩减的rice参数推导模板对绝对幅值的余数二值化。
[0102]
对扫描趟#1和#2(第一扫描趟和大于x扫描趟)中的二进制位进行上下文编解码,直到耗尽了tu中的最大数量的上下文编解码二进制位为止。残差块中的上下文编解码二进制位的最大数量局限于2*block_width*block_height或者与之等价的平均每样点位置2个上下文编解码二进制位。对最后扫描趟(余数扫描趟)中的二进制位旁路编解码。
[0103]
图2示出了针对变换跳过块的残差编解码趟的示例。
[0104]
此外,对于通过bdpcm模式编解码的块,对变换跳过残差编解码应用幅值映射机制。幅值映射使用顶部和左侧相邻系数幅值来预测当前系数幅值,从而降低信令通知代价。对于给定残差位置,将abscoeff表示为映射之前的绝对系数幅值,将abscoeffmod表示为映射之后的系数幅值。令x0表示左侧相邻位置的绝对系数幅值,并且令x1表示上方相邻位置的绝对系数幅值。如下执行幅值映射:
[0105]
pred=max(x0,x1);
[0106]
if(abscoeff==pred)
[0107]
abscoeffmod=1;
[0108]
else
[0109]
abscoeffmod=(abscoeff《pred)?abscoeff 1:abscoeff;
[0110]
之后,如上文所述对abscoeffmod值编解码。
[0111]
2.1.4调色板模式
[0112]
vtm6支持将调色板模式用于具有4:4:4颜色格式的屏幕内容编解码。在启用调色板模式时,如果cu尺寸小于或等于64x64,那么在cu级别上传输指示是否使用调色板模式的标志。将调色板编解码单元(cu)作为除了帧内预测、帧间预测和帧内块复制(ibc)模式以外的预测模式来对待。
[0113]
如果使用调色板模式,那么通过代表性颜色值的小集合来表示cu中的样点值。该集合被称为调色板。对于具有接近调色板颜色的值的像素,信令通知调色板索引。还有可能通过信令通知逸出符号和随后的量化分量值而指定调色板外的样点。在图3中例示了这种情况。
[0114]
对于调色板的编解码,保持调色板预测器。对于非波前情况在每一条的开始并且对于波前情况在每一ctu行的开始,将预测器初始化为0。对于调色板预测器中的每个条目,信令通知重复使用标志以指示它是否是该cu中的当前调色板的一部分。使用零的游程长度编解码发送重复使用信令通知。此后,信令通知新调色板条目的数量以及新调色板条目的分量值。在对调色板编解码cu编解码编码之后,将使用当前调色板更新调色板预测器,并且在新调色板预测器的末尾添加在当前调色板中未重复使用的来自先前调色板预测器的条目,直到达到所允许的最大尺寸为止。针对每一cu信令通知逸出标志,其指示在当前cu中是
否存在逸出符号。如果存在逸出符号,那么使调色板表增大一,并且将最后索引分配给逸出符号。
[0115]
cu中的样点的调色板索引形成了调色板索引图。使用如图4所示的水平和垂直遍历扫描来对该索引图编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。
[0116]
使用如下两种主要调色板样点模式对调色板索引进行编解码:“index”和“copy_above”。在使用水平扫描时,除了顶部行之外,使用标志信令通知模式,在使用垂直扫描时或者在前一模式为“copy_above”时,除了第一列之外,使用标志信令通知模式。在“copy_above”模式中,复制上方行中样点的调色板索引。在“index”模式中,显式地信令通知调色板索引。对于“index”和“copy_above”模式两者,信令通知游程值,该游程值指定使用相同模式编解码像素的数量。
[0117]
索引图的编解码编码顺序如下:首先,信令通知与“index”游程相关联的索引值的数量。此后跟随着使用截断二元编解码对与整个cu的“index”游程相关联的实际索引值进行信令通知。之后,按照交错的方式信令通知调色板模式(index或copy_above)和每一游程的游程长度。最后,将整个cu的量化逸出模式颜色集中到一起,并且使用指数golomb编解码对其编解码。
[0118]
对于采用双重亮度/色度树的条,单独对亮度(y分量)和色度(cb和cr分量)应用调色板。对于具有单树的条,将对y、cb、cr分量联合应用调色板,即,调色板中的每一条目包含y、cb、cr值。
[0119]
对于去方块而言,不对块边界的边上的调色板编解码块去方块。
[0120]
2.2vvc中的参考图片重采样
[0121]
vvc草案6采纳了参考图片重采样(或自适应分辨率变化)设计。其允许参考图片和当前图片具有不同分辨率。其包含以下方面:
[0122]
·
sps中的最大图片尺寸信令通知,
[0123]
·
移至pps的实际图片尺寸和一致性窗口信令通知,
[0124]
·
基于剪切之后的输出图片尺寸定义缩放比,
[0125]
·
使用已存在的插值滤波器在块的基础上完成重采样,
[0126]
·
只有在当前图片和同位图片具有相同尺寸时使用tmvp,
[0127]
·
只有在当前图片和参考图片(在cu中被选择用于帧间预测的)具有相同尺寸时才使用dmvr和bdof。
[0128]
2.2.1支持参考图片重采样的高级语法
[0129]
在vvc草案6中,在序列内,不同图片参数集可以包含定义不同图片尺寸的参数以及指示输出区域的一致性窗口,如下:
[0130]
pic_width_in_luma_samples以亮度样点为单位指定参考该pps的每一解码图片的宽度。pic_width_in_luma_samples必须不等于0,必须是max(8,mincbsizey)的整数倍,并且必须小于或等于pic_width_max_in_luma_samples。
[0131]
在subpics_present_flag等于1时,pic_width_in_luma_samples的值必须等于pic_width_max_in_luma_samples。
[0132]
pic_height_in_luma_samples以亮度样点为单位指定参考该pps的每一解码图片
的高度。pic_height_in_luma_samples必须不等于0,并且必须是max(8,mincbsizey)的整数倍,并且必须小于或等于pic_height_max_in_luma_samples。
[0133]
在subpics_present_flag等于1时,pic_height_in_luma_samples的值必须等于pic_height_max_in_luma_samples。
[0134]
令refpicwidthinlumasamples和refpicheightinlumasamples分别为参考这一pps的当前图片的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples。比特流一致性的要求是满足所有以下条件:
[0135]

pic_width_in_luma_samples*2必须大于或等于
[0136]
refpicwidthinlumasamples。
[0137]

pic_height_in_luma_samples*2必须大于或等于
[0138]
refpicheightinlumasamples。
[0139]

pic_width_in_luma_samples必须小于或等于
[0140]
refpicwidthinlumasamples*8。
[0141]

pic_height_in_luma_samples必须小于或等于
[0142]
refpicheightinlumasamples*8。
[0143]
如下推导变量picwidthinctbsy、picheightinctbsy、picsizeinctbsy、picwidthinmincbsy、picheightinmincbsy、picsizeinmincbsy、picsizeinsamplesy、picwidthinsamplesc和picheightinsamplesc:
[0144]
picwidthinctbsy=ceil(pic_width_in_luma_samples
÷
ctbsizey)
ꢀꢀ
(7-34)
[0145]
picheightinctbsy=ceil(pic_height_in_luma_samples
÷
ctbsizey)
ꢀꢀ
(7-35)
[0146]
picsizeinctbsy=picwidthinctbsy*picheightinctbsy(7-36)
[0147]
picwidthinmincbsy=pic_width_in_luma_samples/mincbsizey
ꢀꢀ
(7-37)
[0148]
picheightinmincbsy=pic_height_in_luma_samples/mincbsizey
ꢀꢀ
(7-38)
[0149]
picsizeinmincbsy=picwidthinmincbsy*picheightinmincbsy
ꢀꢀ
(7-39)
[0150]
picsizeinsamplesy=
[0151]
pic_width_in_luma_samples*pic_height_in_luma_samples
ꢀꢀ
(7-40)
[0152]
picwidthinsamplesc=pic_width_in_luma_samples/subwidthc
ꢀꢀ
(7-41)
[0153]
picheightinsamplesc=pic_height_in_luma_samples/subheightc
ꢀꢀ
(7-42)
[0154]
conformance_window_flag等于1表明一致性剪切窗口偏移参数在sps是随后的下一个。conformance_window_flag等于0表明不存在一致性剪切窗口偏移参数。
[0155]
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。
[0156]
一致性剪切窗口包含具有从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)(含端点)的垂直图片坐标的亮度样点。
[0157]
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。
[0158]
如下推导变量picoutputwidthl和picoutputheightl:
[0159]
picoutputwidthl=pic_width_in_luma_samples-subwidthc*(conf_win_right_offset conf_win_left_offset)
ꢀꢀꢀꢀꢀꢀ
(7-43)
[0160]
picoutputheightl=pic_height_in_pic_size_units-subheightc*(conf_win_bottom_offset conf_win_top_offset)
ꢀꢀꢀꢀꢀ
(7-44)
[0161]
在chromaarraytype不等于0时,两个色度数组的对应指定样点是具有图片坐标(x/subwidthc,y/subheightc)的样点,其中,(x,y)是所指定的亮度样点的图片坐标。
[0162]
注意

仅在输出应用一致性剪切窗口偏移参数。所有内部解码过程均应用于未剪切图片尺寸。
[0163]
令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的值。
[0164]
2.2.2处理不同分辨率的分数运动补偿
[0165]
在vvc草案6中,分数运动补偿过程可以处理不同分辨率。详细规范如下。
[0166]
8.5.6.3分数样点插值过程
[0167]
8.5.6.3.1综述
[0168]
这一过程的输入为:
[0169]

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

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

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

运动矢量偏移mvoffset,
[0173]

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

所选的参考图片样点数组refpiclx,
[0175]

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

双向光流标志bdofflag,
[0177]

变量cidx,指定当前块的颜色分量索引。
[0178]
这个过程的输出为:
[0179]

预测样点值的(sbwidth brdextsize)x(sbheight brdextsize)数组predsampleslx。
[0180]
如下推导预测块边界扩展尺寸brdextsize:
[0181]
brdextsize=(bdofflag||(inter_affine_flag[xsb][ysb]&&sps_affine_prof_enabled_flag))?2:0(8-752)
[0182]
将变量frefwidth设置为等于关于亮度样点的参考图片的picoutputwidthl。
[0183]
将变量frefheight设置为等于关于亮度样点的参考图片的picoutputheightl。
[0184]
将运动矢量mvlx设置为等于(refmvlx-mvoffset)。
[0185]

如果cidx等于0,那么以下内容适用:
[0186]

将缩放因数及其定点数表示定义为:
[0187]
hori_scale_fp=(frefwidth《《14) (picoutputwidthl》》1))/picoutputwidthl (8-753)
[0188]
vert_scale_fp=(frefheight《《14) (picoutputheightl》》1))/picoutputheightl
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-754)
[0189]

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

将用于参考样点填补的边界块的左上坐标(xsbintl,ysbintl)设置为等于(xsb (mvlx[0]》》4),ysb (mvlx[1]》》4))。
[0191]

对于预测亮度样点数组predsampleslx内的每一亮度样点位置(xl=0..sbwidth-1 brdextsize,yl=0..sbheight-1 brdextsize),如下推导对应的预测亮度样点值predsampleslx[xl][yl]:
[0192]-令(refxsbl,refysbl)和(refxl,refyl)为以1/16样点为单位给出的运动矢量(refmvlx[0],refmvlx[1])所指向的亮度位置。如下推导变量refxsbl、refxl、refysbl和refyl:
[0193]
refxsbl=((xsb《《4) refmvlx[0])*hori_scale_fp
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-755)
[0194]
refxl=((sign(refxsb)*((abs(refxsb) 128)》》8) xl*((hori_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-756)
[0195]
refysbl=((ysb《《4) refmvlx[1])*vert_scale_fp
ꢀꢀꢀꢀꢀꢀ
(8-757)
[0196]
refyl=((sign(refysb)*((abs(refysb) 128)》》8) yl*((vert_scale_fp 8)》》4)) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-758)
[0197]

如下推导变量xintl、yintl、xfracl和yfracl:
[0198]
xintl=refxl》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-759)
[0199]
yintl=refyl》》4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-760)
[0200]
xfracl=refxl&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-761)
[0201]
yfracl=refyl&15
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-762)
[0202]

如果bdofflag等于真或(sps_affine_prof_enabled_flag等于真并且inter_affine_flag[xsb][ysb]等于真),并且下述条件中的一者或多者为真,那么在以(xintl (xfracl》》3)-1)、yintl (yfracl》》3)-1)和refpiclx为输入的情况下通过调用条款8.5.6.3.3中规定的亮度整样点取回过程,推导预测亮度样点值predsampleslx[xl][yl]。
[0203]
1.xl等于0。
[0204]
2.xl等于sbwidth 1。
[0205]
3.yl等于0。
[0206]
4.yl等于sbheight 1。
[0207]

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

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

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

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

针对预测色度样点数组内的每一色度样点位置(xc=0..sbwidth-1,yc=0..sbheight-1),如下推导对应的预测色度样点值predsampleslx[xc][yc]:
[0212]-令(refxsbc,refysbc)和(refxc,refyc)为以1/32样点为单位给出的运动矢量(mvlx[0],mvlx[1])所指向的色度位置。如下推导变量refxsbc、refysbc、refxc和refyc:
[0213]
refxsbc=((xsb/subwidthc《《5) mvlx[0])*hori_scale_fp
[0214]
(8-763)
[0215]
refxc=((sign(refxsbc)*((abs(refxsbc) 256)》》9)
[0216]
xc*((hori_scale_fp 8)》》4)) 16)》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-764)
[0217]
refysbc=((ysb/subheightc《《5) mvlx[1])*vert_scale_fp
[0218]
(8-765)
[0219]
refyc=((sign(refysbc)*((abs(refysbc) 256)》》9)
[0220]
yc*((vert_scale_fp 8)》》4)) 16)》》5
[0221]
(8-766)
[0222]

如下推导变量xintc、yintc、xfracc和yfracc:
[0223]
xintc=refxc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-767)
[0224]
yintc=refyc》》5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-768)
[0225]
xfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-769)
[0226]
yfracc=refyc&31
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-770)
[0227]
在以(xintc,yintc)、(xfracc,yfracc)、(xsbintc,ysbintc)、sbwidth、sbheight和refpiclx为输入的情况下通过调用条款8.5.6.3.4中规定的过程,推导预测样点值predsampleslx[xc][yc]。
[0228]
2.3vvc中的可缩放视频编解码
[0229]
在vvc草案6中,引入层间参考图片,以启用空域和snr可缩放性。
[0230]
层间参考图片(ilrp):作为一幅图片,其具有与当前图片相同的访问单元,具有比当前图片的nuh_layer_id小的nuh_layer_id,并且被标记为“用于长期参考”。
[0231]
此外,使用以下语法支持当前图片的层间参考。
[0232]
vps_all_independent_layers_flag等于1指定在不使用层间预测的情况下对cvs内的所有层独立编解码。vps_all_independent_layers_flag等于0指定cvs中的一个或多个层可以使用层间预测。当vps_all_independent_layers_flag不存在时,将其值推断为等于1。在vps_all_independent_layers_flag等于1时,将vps_independent_layer_flag[i]的值推断为等于1。在vps_all_independent_layers_flag等于0时,将vps_independent_layer_flag[0]的值推断为等于1。
[0233]
vps_layer_id[i]指定第i层的nuh_layer_id值。对于任何两个非负整数值m和n而言,在m小于n时,vps_layer_id[m]的值必须小于vps_layer_id[n]。
[0234]
vps_independent_layer_flag[i]等于1指定具有索引i的层不使用层间预测。vps_independent_layer_flag[i]等于0指定具有索引i的层可以使用层间预测并且在vps中存在vps_layer_dependency_flag[i]。
[0235]
vps_direct_dependency_flag[i][j]等于0指定具有索引j的层不是具有索引i的层的直接参考层。vps_direct_dependency_flag[i][j]等于1指定具有索引j的层是具有索引i的层的直接参考层。对于处在0到vps_max_layers_minus1(含端点)的范围内的i和j而言,当不存在vps_direct_dependency_flag[i][j]时,将其推断为等于0。
[0236]
如下推导指定第i层的第j直接相关层变量directdependentlayeridx[i][j]:
[0237][0238]
如下推导指定具有等于vps_layer_id[i]的nuh_layer_id的层的层索引的变量generallayeridx[i]:
[0239]
for(i=0;i《=vps_max_layers_minus1;i )
[0240]
generallayeridx[vps_layer_id[i]]=i
[0241]
ilrp_idc[listidx][rplsidx][i],对于直接相关层的列表而言,指定处于ref_pic_list_struct(listidx,rplsidx)语法结构中的第i条目的ilrp的索引到直接相关层的列表。ilrp_idc[listidx][rplsidx][i]的值必须处于0到generallayeridx[nuh_layer_id]-1(含端点)的范围内。
[0242]
如下构建参考图片列表refpiclist[0]和refpiclist[1]:
[0243]
[0244][0245]
可以将dpb中的解码图片标记为“不用于参考”、“用于短期参考”或“用于长期参考”,但是在解码过程的操作期间的任何给定时刻上只能标记为这三种当中的一种。在适用情况下,将这些标记之一分配给图片隐含地去除这些标记中的另一标记。在图片被称为标记为“用于参考”时,其共同指标记为“用于短期参考”或“用于长期参考”的图片(但非两者)。
[0246]
strp和ilrp由其nuh_layer_id值和picordercntval值标示。ltrp由其nuh_layer_id值以及其picordercntval值的log2(maxltpicordercntlsb)lsb标示。
[0247]
如果当前图片是clvss图片,那么将当前处于dpb中的所有具有与当前图片相同的nuh_layer_id的参考图片(如果有的话)标记为“不用于参考”。
[0248]
否则,以下内容适用:
[0249]

对于refpiclist[0]或refpiclist[1]中的每一ltrp条目,当所参考的图片是具有与当前图片相同的nuh_layer_id的strp时,将该图片标记为“用于长期参考”。
[0250]

将dpb中的具有与当前图片相同的nuh_layer_id的每一参考图片标记为“不用于参考”,所述参考图片不被refpiclist[0]或refpiclist[1]中的任何条目参考的参考。
[0251]

对于refpiclist[0]或refpiclist[1]中的每一ilrp条目,将所参考的图片标记为“用于长期参考”。
[0252]
在已经对当前图片的所有条解码之后,将当前解码图片标记为“用于短期参考”,并且将refpiclist[0]或refpiclist[1]中的每一ilrp条目标记为“用于短期参考”。
[0253]
2.4假想参考解码器(hrd)
[0254]
vvc遵循以前的标准,比如hevc和h.264,从而具有假想参考解码器(hrd)的概念。
hrd用于对比特流设置约束,其不诱发假想参考解码器的上溢或下溢。
[0255]
3.由本文公开的技术解决方案解决的技术问题
[0256]
1.屏幕内容编解码对原生分辨率敏感。可能发生的情况是,在分辨率因缩小视频而下降时,比特率显著增大。因而,自适应分辨率变化和可缩放视频编解码可能无法对视频内容很好地发挥作用。
[0257]
2.vvc中的可缩放性支持可能需要某些约束。
[0258]
3.没有必要以无损模式发送qp相关信息。
[0259]
4.实施例和技术的示例
[0260]
屏幕内容编解码的相关问题
[0261]
1.可以在比特流中指示图片/视频是否具有原生分辨率。
[0262]
a.在一个示例中,可以在dps/vps/sps/pps/片/条带标头中信令通知这样的指示。
[0263]
b.在一个示例中,可以在sei消息中信令通知这样的指示。
[0264]
2.图片/视频是否具有屏幕内容可以取决于对某种编解码工具的使用频率。
[0265]
a.在一个示例中,当变换跳过编解码模式的区域的数量/比例/面积超过阈值时可以将图片/视频分类为屏幕内容。
[0266]
b.在一个示例中,当bdpcm编解码模式的区域的数量/比例/面积超过阈值时可以将图片/视频分类为屏幕内容。
[0267]
c.在一个示例中,当帧内块复制编解码模式的区域的数量/比例/面积超过阈值时可以将图片/视频分类为屏幕内容。
[0268]
d.在一个示例中,当调色板编解码模式的区域的数量/比例/面积超过阈值时可以将图片/视频分类为屏幕内容。
[0269]
3.图片/视频是否具有屏幕内容可以取决于dps/vps/sps/pps/片/条带标头中的消息。
[0270]
4.对于屏幕内容可以不允许分辨率变化。
[0271]
a.在一个示例中,图片/视频是否具有屏幕内容可以基于上文描述的方法。
[0272]
5.在参考图片和当前图片具有不同尺寸时,可以将插值滤波器的替换集用于屏幕内容。
[0273]
a.在一个示例中,图片/视频是否具有屏幕内容可以基于上文描述的方法。
[0274]
b.在一个示例中,滤波器可以等同于获得参考图片中的最近整像素。c.在一个示例中,对于替换滤波器集中的每一插值滤波器,只有一个条目具有非零系数。
[0275]
d.在一个示例中,可以使用双线性插值滤波器。
[0276]
6.可以设定这样一个约束:当参考图片和当前图片具有不同尺寸时,当前图片的picoutputwidthl和picoutputheightl必须等于参考图片的那些。
[0277]
a.在一个示例中,参考图片的一致性窗口和当前图片的一致性窗口可以具有相同宽度。
[0278]
b.在一个示例中,参考图片的一致性窗口和当前图片的一致性窗口可以具有相同高度。
[0279]
可缩放性相关问题
[0280]
7.可以设置这样的约束:低质量层不能用于预测高质量层。
[0281]
a.在一个示例中,如果使用层j预测层i,那么不允许层i中的qp大于层j中的qp。
[0282]
b.在一个示例中,如果使用层j预测层i,那么层i中的块/tu/pu/cu/ctu/ctb的最大允许qp可以以层j中的对应块/tu/pu/cu/ctu/ctb的qp为上限。
[0283]
c.在一个示例中,如果使用层j预测层i,那么不允许层i的分辨率小于层j的中的分辨率。
[0284]
d.在一个示例中,可以对具有相同图片顺序计数编号(即picordercntval)的图片应用该约束。
[0285]
8.可以设置这样的约束:低质量层的一致性窗口不能大于高质量层的一致性窗口。
[0286]
a.在一个示例中,可以不允许较低分辨率图片的一致性窗口的宽度大于较高分辨率图片的一致性窗口的宽度。
[0287]
b.在一个示例中,可以不允许较低分辨率图片的一致性窗口的高度大于较高分辨率图片的一致性窗口的高度。
[0288]
c.在一个示例中,可以对具有相同图片顺序计数编号(即picordercntval)的图片应用该约束。
[0289]
9.可以设置具有相同图片顺序计数的层的最大数量的约束。
[0290]
a.在一个示例中,具有相同图片顺序计数的层的允许数量可以处于1和某一数量t之间(含端点)。
[0291]
b.可以在dps/vps/sps/pps/片/条带标头中指示具有相同图片顺序计数的层的最大数量。
[0292]
10.hrd参数可以基于具有相同图片顺序计数的图片。
[0293]
a.在一个示例中,hrd参数可以基于解码图片缓冲区(dpb)中的具有相同图片顺序计数的图片。
[0294]
b.在一个示例中,可以将具有相同图片顺序计数的所有图片视为整个图片来推导hrd参数。
[0295]
c.在一个示例中,具有相同图片顺序计数的每一层可以具有特定hrd
[0296]
以推导缓冲区参数。
[0297]
无损编解码相关问题
[0298]
11.在无损编解码模式中,可以跳过qp相关语法。
[0299]
a.在一个示例中,可以通过cu_transquant_bypass_flag指示无损编解码模式。
[0300]
b.在一个示例中,对于区域/图片/视频,可以通过dps/vps/sps/pps/片/砖块/条带标头中的消息指示无损编解码模式。
[0301]
c.在一个示例中,可以跳过用于qp差异的语法。
[0302]
d.在一个示例中,可以跳过关于色度qp的语法。
[0303]
12.在无损编解码模式中,可以跳过cbf相关语法。
[0304]
a.在一个示例中,可以通过cu_transquant_bypass_flag指示无损编解码模式。
[0305]
b.在一个示例中,对于区域/图片/视频,可以通过dps/vps/sps/pps/片/砖块/条带标头中的消息指示无损编解码模式。
[0306]
c.在一个示例中,可以跳过用于亮度cbf的语法。
[0307]
d.在一个示例中,可以跳过用于色度cbf的语法。
[0308]
5.实施例
[0309]
5.1实施例#1
[0310]
这一实施例对应于项目符号11。以下划线标出变化。
[0311][0312]
图5是示出了示例性视频处理系统500的框图,在该系统中可以实施本文公开的各种技术。各种实施方式可以包括系统500的一些或全部部件。系统500可以包括用于接收视频内容的输入502。视频内容可以是以原始或未压缩格式接收的,例如8比特或10比特多分量像素值,或者可以以压缩或编解码编码格式。输入502可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口,以及诸如wi-fi或蜂窝接口的无线接口。
[0313]
系统500可以包括编解码部件504,其可以实施本文件中所描述的各种编解码或编解码编码方法。编解码部件504可以降低从输入502到编解码部件504的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码部件504的输出可以被存储,也可以通过所连接的通信进行传输,如通过部件506所表示的。输入502处接收的视频的所存储或传达的比特流(或经编解码的)表示可由部件508用于生成像素值或发送到显示接口510的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作用在编码器处,并且逆转编解码结果的对应的解码工具或操作将由解码器执行。
[0314]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、
pci、ide接口等。本文件中描述的技术可体现在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
[0315]
图6是视频处理装置600的框图。装置600可以用于实施本文描述的方法中的一者或多者。装置600可以被体现到智能手机、平板电脑、计算机、物联网(iot)接收器等当中。装置600可以包括一个或多个处理器602、一个或多个存储器604以及视频处理硬件606。(一个或多个)处理器602可以被配置为实施本文件中描述的一种或多种方法。(一个或多个)存储器604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件606可以用于在硬件电路中实施本文件中描述的一些技术。
[0316]
可以实施以下解决方案作为一些实施例中的优选解决方案。
[0317]
可以将下述解决方案与先前章节中列举的项目(例如,项目1、4)当中描述的附加技术一起实施。
[0318]
1.一种视频处理方法(例如,图7中所示的方法700),其包括执行具有原生分辨率的视频与具有编解码分辨率的该视频的编解码表示之间的转换,其中,该编解码表示中的字段指示原生分辨率与编解码分辨率之间的关系。
[0319]
2.根据解决方案1所述的方法,其中,在视频参数集级别或图片参数集级别或条带标头级别或片级别或序列参数集级别上包含该字段。
[0320]
3.根据解决方案1-2中的任何解决方案所述的方法,其中,将该字段与补充增强信息包含到一起。
[0321]
4.根据解决方案1-3中的任何解决方案所述的方法,其中,该转换基于屏幕内容编解码工具,该屏幕内容编解码工具取决于原生分辨率与编解码分辨率之间的关系。
[0322]
5.根据解决方案1-4中的任何解决方案所述的方法,其中,由于在该转换期间使用屏幕内容编解码工具,编解码分辨率等于原生分辨率。
[0323]
可以将下述解决方案与先前章节中列举的项目(例如,项目2)当中描述的附加技术一起实施。
[0324]
6.一种视频处理方法,包括:针对视频的视频段与该视频的编解码表示之间的转换,基于与该视频段中的块的编解码模式使用相关联的使用规则确定屏幕内容编解码对该视频段的转换的适用性;以及基于该确定执行该转换。
[0325]
7.根据解决方案6所述的方法,其中,该编解码模式为变换跳过模式。
[0326]
8.根据解决方案6所述的方法,其中,该编解码模式是模糊差分脉冲编解码调制编解码模式。
[0327]
9.根据解决方案6所述的方法,其中,该编解码模式是帧内块复制编解码模式。
[0328]
10.根据解决方案6所述的方法,其中,该编解码模式是调色板模式编解码模式。
[0329]
11.根据解决方案6-10中的任何解决方案所述的方法,其中,该使用规则基于发生的数量,或者基于使用该编解码模式编解码的块与不使用该编解码模式编解码的块的比或使用该编解码模式编解码的区域的面积。
[0330]
可以将下述解决方案与先前章节中列举的项目(例如,项目3)当中描述的附加技术一起实施。
[0331]
12.根据解决方案1-11中的任何解决方案所述的方法,其中,该编解码表示中的语法元素指示该编解码表示使用屏幕内容编解码。
[0332]
可以将下述解决方案与先前章节中列举的项目(例如,项目5、6)当中描述的附加技术一起实施。
[0333]
13.一种视频处理方法,包括:针对视频的视频单元与使用屏幕内容编解码工具的该视频的编解码表示之间的转换,确定由于参考图片和当前图片包括不同尺寸的视频单元而引起的该转换的特性;以及基于该确定执行该转换。
[0334]
14.根据解决方案13所述的方法,其中,该转换的特性包括在该转换期间用于屏幕内容插值的插值滤波器。
[0335]
15.根据解决方案13所述的方法,其中,该转换的特性包括与当前图片相关联的图片输出宽度或者图片输出高度。
[0336]
可以将下述解决方案与先前章节中列举的项目(例如,项目7、8、9、10)当中描述的附加技术一起实施。
[0337]
16.一种视频处理方法,包括:针对视频的视频单元与该视频的可缩放编解码表示之间的转换,确定用于该转换的约束规则;以及根据该约束规则执行该转换;其中,该可缩放编解码表示包括第一层和第二层,其中,第一层具有比第二层的质量低的质量。
[0338]
17.根据解决方案16所述的方法,其中,该约束规则不允许从第一层预测第二层。
[0339]
18.根据解决方案16所述的方法,其中,如果使用层j预测层i,那么该约束规则不允许层i中的量化参数(qp)大于层j中的qp。
[0340]
19.根据权利要求16所述的方法,其中,该约束规则规定:第一层的一致性窗口不大于第二层的一致性窗口。
[0341]
20.根据解决方案16所述的方法,其中,该约束规则指定该编解码表示中使用的、并且具有相同图片顺序计数的图片层的最大数量。
[0342]
21.根据解决方案16所述的方法,其中,该约束规则指定基于具有相同图片顺序计数的图片使用假想参考解码器。
[0343]
可以将下述解决方案与先前章节中列举的项目(例如,项目11、12)当中描述的附加技术一起实施。
[0344]
22.一种视频处理方法,包括:针对视频与使用无损编解码模式的该视频的编解码表示之间的转换,确定该编解码表示省略与量化参数或编解码块信令通知的信令通知有关的语法元素;以及基于该确定执行该转换。
[0345]
23.根据解决方案22所述的方法,其中,该编解码表示包括作为编解码单元级别量化旁路标志的无损编解码模式的指示。
[0346]
24.根据解决方案22-23中的任何解决方案所述的方法,其中,该无损编解码模式是在条或块或片或图片或序列或视频级别上指示的。
[0347]
25.根据解决方案1-24中的任何解决方案所述的方法,其中,该转换包括从该视频区域生成该编解码表示。
[0348]
26.根据解决方案1-24中的任何解决方案所述的方法,其中,该转换包括对该视频区域编解码,以生成该编解码表示。
[0349]
27.一种视频解码装置,包括处理器,该处理器被配置为实施根据解决方案1到26中的一者或多者所述的方法。
[0350]
28.一种视频编解码装置,包括处理器,该处理器被配置为实施根据解决方案1到
26中的一者或多者所述的方法。
[0351]
29.一种具有存储于其上的计算机代码的计算机程序产品,所述代码在被处理器执行时使得该处理器实施根据解决方案1到26中的任何解决方案所述的方法。
[0352]
30.本文件中描述的方法、装置或系统。
[0353]
在以上解决方案中,执行该转换包括使用编解码或解码操作期间的先前决策步骤(例如,使用或不使用某些编解码或解码步骤)的结果来获得转换结果。
[0354]
图8示出了用于视频处理的示例方法的流程图。该方法包括:针对图片或视频与该图片或视频的比特流表示之间的转换,基于该比特流表示中包含的指示确定(802)该图片或视频是否具有原生分辨率;以及基于该确定执行(804)该转换。
[0355]
在一些示例中,在下述选项中的至少一个当中信令通知该指示:依赖参数集(dps)、视频参数集(vps)、序列参数集(sps)、图片参数集(pps)、片和条带标头。
[0356]
在一些示例中,在补充增强信息(sei)消息中信令通知该指示。
[0357]
图9示出了用于视频处理的示例方法的流程图。该方法包括:针对图片或视频与该图片或视频的比特流表示之间的转换,基于一个或多个某种编解码工具的使用或信令通知的消息确定(902)该图片或视频是否是屏幕内容;以及基于该确定执行(904)该转换。
[0358]
在一些示例中,所述的某些编解码工具包括变换跳过编解码模式,并且在具有变换跳过编解码模式的区域的数量、区域的比例和区域的面积中的至少一者超过阈值时将该图片或视频确定为屏幕内容。
[0359]
在一些示例中,所述的某种编解码工具包括块差分脉冲编解码调制(bdpcm)编解码模式,并且在具有bdpcm编解码模式的区域的数量、区域的比例和区域的面积中的至少一者超过阈值时将所述图片或视频确定为屏幕内容。
[0360]
在一些示例中,所述的某种编解码工具包括帧内块复制编解码模式,并且在具有帧内块复制编解码模式的区域的数量、区域的比例和区域的面积中的至少一者超过阈值时将所述图片或视频确定为屏幕内容。
[0361]
在一些示例中,所述的某种编解码工具包括调色板编解码模式,并且在具有调色板编解码模式的区域的数量、区域的比例和区域的面积中的至少一者超过阈值时将该图片或视频确定为屏幕内容。
[0362]
在一些示例中,在下述选项中的至少一个当中信令通知该消息:依赖参数集(dps)、视频参数集(vps)、序列参数集(sps)、图片参数集(pps)、片和条带标头。
[0363]
在一些示例中,在将该图片或视频确定为屏幕内容时,不允许分辨率变化。
[0364]
在一些示例中,在将该图片或视频确定为屏幕内容时,并且在参考图片和当前图片具有不同尺寸时,插值滤波器的替换集可适用于该图片或视频。
[0365]
在一些示例中,所述插值滤波器的替换集中的滤波器等同于获得该参考图片中的最近整像素。
[0366]
在一些示例中,对于所述插值滤波器的替换集中的每一插值滤波器,只有一个条目具有非零系数。
[0367]
在一些示例中,所述插值滤波器的替换集包括双线性插值滤波器。
[0368]
在一些示例中,在将当前图片或视频确定为屏幕内容时,并且在参考图片和当前图片具有不同尺寸时,一个或多个约束可适用于该图片或视频。
[0369]
在一些示例中,所述一个或多个约束包括:当前图片的图片输出宽度picoutputwidthl和/或图片输出高度picoutputheightl等于该参考图片的那些。
[0370]
在一些示例中,所述一个或多个约束包括:该参考图片的一致性窗口和当前图片的一致性窗口具有相同宽度。
[0371]
在一些示例中,所述一个或多个约束包括:该参考图片的一致性窗口和当前图片的一致性窗口具有相同高度。
[0372]
图10示出了用于视频处理的示例方法的流程图。该方法包括:针对图片或视频与该图片或视频的可缩放编解码比特流表示之间的转换,确定(1002)与该图片或视频的可缩放视频编解码相关联的一个或多个约束;以及基于该确定执行(1004)该转换。
[0373]
在一些示例中,该可缩放编解码比特流表示至少包括第一层和第二层,其中,第一层具有低质量并,且第二层具有高质量。
[0374]
在一些示例中,所述一个或多个约束包括:不能使用具有低质量的第一层预测具有高质量的第二层。
[0375]
在一些示例中,如果使用第二层预测第一层,那么不允许第一层中的量化参数(qp)大于第二层中的qp。
[0376]
在一些示例中,如果使用第二层预测第一层,那么第一层中的块、变换单元(tu)、预测单元(pu)、编解码单元(cu)、编解码树单元(ctu)或编解码树块(ctb)的最大允许qp以第二层中的对应块、tu、pu、cu、ctu或ctb的qp为上限。
[0377]
在一些示例中,如果使用第二层预测第一层,那么不允许第一层的分辨率小于第二层中的分辨率。
[0378]
在一些示例中,对具有相同图片顺序计数编号的图片应用所述约束。
[0379]
在一些示例中,所述一个或多个约束包括:具有低质量的第一层的一致性窗口不能大于具有高质量的第二层的一致性窗口。
[0380]
在一些示例中,不允许较低分辨率图片的一致性窗口的宽度大于较高分辨率图片的一致性窗口的宽度。
[0381]
在一些示例中,不允许较低分辨率图片的一致性窗口的高度大于较高分辨率图片的一致性窗口的高度。
[0382]
在一些示例中,对具有相同图片顺序计数编号的图片应用所述约束。
[0383]
在一些示例中,所述一个或多个约束包括:具有相同图片顺序计数的层的最大数量是可设置的。
[0384]
在一些示例中,具有相同图片顺序计数的层的允许数量处于1和某一数量t之间(含端点),t为整数。
[0385]
在一些示例中,在dps、vps、sps、pps、片和条带标头中的至少一者当中指示具有相同图片顺序计数的层的最大数量。
[0386]
在一些示例中,假想参考解码器(hrd)参数基于具有相同图片顺序计数的图片。
[0387]
在一些示例中,hrd参数基于解码图片缓冲区(dpb)中的具有相同图片顺序计数的图片。
[0388]
在一些示例中,将具有相同图片顺序计数的所有图片视为整个图片来推导hrd参数。
[0389]
在一些示例中,具有相同图片顺序计数的每一层具有特定hrd以推导缓冲区参数。
[0390]
图11示出了用于视频处理的示例方法的流程图。该方法包括:针对图片或视频与该图片或视频的比特流表示之间的转换,在该转换使用无损编解码模式时确定(1102)跳过一个或多个语法;以及基于该确定执行(1104)该转换。
[0391]
在一些示例中,所述一个或多个语法包括量化参数(qp)相关语法。
[0392]
在一些示例中,通过cu_transquant_bypass_flag指示无损编解码模式。
[0393]
在一些示例中,对于区域、图片或视频,通过dps、vps、sps、pps、片、砖块和条带标头中的至少一者当中的消息指示无损编解码模式。
[0394]
在一些示例中,所述一个或多个语法包括用于qp差异的语法。
[0395]
在一些示例中,所述一个或多个语法包括有关色度qp的语法。
[0396]
在一些示例中,所述一个或多个语法包括编解码块标志(cbf)相关语法。
[0397]
在一些示例中,通过cu_transquant_bypass_flag指示无损编解码模式。
[0398]
在一些示例中,对于区域、图片或视频,通过dps、vps、sps、pps、片、砖块和条带标头中的至少一者当中的消息指示无损编解码模式。
[0399]
在一些示例中,所述一个或多个语法包括用于亮度cbf的语法。
[0400]
在一些示例中,所述一个或多个语法包括用于色度cbf的语法。
[0401]
在一些示例中,该转换的执行包括由该图片或视频生成高比特流表示。
[0402]
在一些示例中,该转换的执行包括从该比特流表示生成该图片或视频。
[0403]
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等价方案,或其中一者或多者的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编解码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组成或者它们当中的一者或多者的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们当中的一者或多者的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编解码,以便传输到合适的接收器装置。
[0404]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
[0405]
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个
或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,fpga(现场可编程逻辑门阵列)或asic(专用集成电路)。
[0406]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0407]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
[0408]
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种系统部件的划分不应被理解为在所有实施例中都要求这样的划分。
[0409]
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献