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

子图片和可缩放性的组合的制作方法

2023-01-15 06:32:25 来源:中国专利 TAG:

子图片和可缩放性的组合
1.相关申请的交叉引用
2.根据适用的专利法和/或依据巴黎公约的规则,本技术适时要求于2020年3月21日提交的国际专利申请no.pct/cn2020/080533的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本技术的公开的一部分。
技术领域
3.本专利文档涉及图像和视频编码和解码。


背景技术:

4.在互联网和其他数字通信网络中,数字视频占用了最大的带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。


技术实现要素:

5.本文公开了可以由视频编码器和解码器用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示的技术。
6.在一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定多个语法元素用于指定具有与当前图片不同的分辨率的参考图片被重采样以用于转换的参考图片重采样工具的使用。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定具有非二进制值的语法元素用于指定(1)具有与当前图片不同的分辨率的参考图片被重采样的参考图片重采样工具、以及(2)编解码层视频序列(clvs)内的图片分辨率的改变的使用。
8.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括多个层的视频和视频的比特流之间的转换。该规则指定在子图片被视为用于转换的视频图片的情况下,跨层对齐限制被应用于多个层中包括包含子图片的当前层和与当前层相关联的层的子集的少于所有的层,其中跨层对齐限制包括对视频图片的至少一个维度、视频图片内的子图片的数量、至少一个子图片的位置或子图片的标识的限制。
9.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频的当前层和视频的比特流之间的转换。该规则指定跨层对齐限制被应用于与当前层相关联的依赖关系树中的所有层,而不管所有层中的任意层是否是输出层集中的输出层。跨层对齐限制包括对视频图片的至少一个维度、视频图片内的子图片的数量、至少一个子图片的位置或子图片的标识的限制。依赖关系树中的所有层包括当前层、具有当前层作为参考层的所有层、以及当前层的所有参考层。
10.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定对在与当前图片相同的层中的参考图片的重采样被启用,而不管指定在编解码层视频序列(clvs)中是否允许图片分辨率的改变
的语法元素的值如何。
11.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括多个层的视频的当前图片和视频的比特流之间的转换。该规则指定以下之一:(1)不允许当前图片的参考图片被并置,或者(2)在当前图片的参考图片被并置的情况下,在当前图片没有缩放的转换期间使用指向参考图片的运动矢量。
12.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频和视频的比特流之间的转换。该规则指定缩放窗口偏移参数对于相同的编解码层视频序列(clvs)或编解码视频序列(cvs)中具有以亮度样点的数量表示的相同维度的任意两个视频图片是相同的。
13.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定,响应于当前图片的图片分辨率不同于当前图片的相同访问单元中的至少一个其他图片,帧间层预测编解码工具仅在当前图片是帧内随机访问点(irap)图片的情况下被启用。
14.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频之间的转换,其中编解码表示符合格式规则;其中格式规则指定序列参数集中的两个或更多个语法字段控制视频中的参考图片分辨率(rpr)改变。
15.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个视频图片的视频之间的转换,其中编解码表示符合格式规则;其中格式规则指定序列参数集中的单个语法字段控制视频中的参考图片分辨率(rpr)改变;并且其中格式规则指定,无论单个语法字段的值如何,对帧间层参考图片的重采样被准许用于转换。
16.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个层的视频之间的转换,该一个或多个层包括包含一个或多个子图片的一个或多个视频图片,其中编解码表示符合格式规则;其中格式规则指定对跨层对齐的第一约束或者对帧间层图片的子图片和可缩放性的组合的第二约束。
17.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括一个或多个层的视频之间的转换,该一个或多个层包括包含一个或多个子图片的一个或多个视频图片,其中该转换符合指定帧间层参考图片或长期参考图片不被允许作为用于转换的当前图片的并置图片的格式规则。
18.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括多个图片的视频和视频的编解码表示之间的转换,其中该转换符合指定scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值对于相同的编解码层视频序列或编解码视频序列内具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值的任意两个图片相同的规则。
19.在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括多个图片的视频和视频的编解码表示之间的转换,其中该转换符合指定在图片分辨率或缩放窗口对于当前图片和相同访问单元中的其他图片不同的情况下仅在当前图片是帧内随机访问点图片时才允许帧间层预测的规则。
20.在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
21.在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
22.在又一示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
23.这些以及其他特征将在本文档中描述。
附图说明
24.图1示出了图片的光栅扫描条带分割的一种示例,其中图片被分为12个片和3个光栅扫描条带。
25.图2示出了图片的矩形条带分割的一种示例,其中图片被分为24个片(6个片列和4个片行)和9个矩形条带。
26.图3示出了被分割为片和矩形条带的图片的一种示例,其中图片被分为4个片(2个片列和2个片行)和4个矩形条带。
27.图4示出了被分割为18个片、24个条带和24个子图片的图片。
28.图5是一种示例视频处理系统的框图。
29.图6是一种视频处理装置的框图。
30.图7是一种视频处理的示例方法的流程图。
31.图8示出根据本公开的一些实施例的一种视频编解码系统的框图。
32.图9示出根据本公开的一些实施例的一种编码器的框图。
33.图10示出根据本公开的一些实施例的一种解码器的框图。
34.图11示出了典型的基于子图片的依赖视口的360
°
视频编解码方案的一种示例。
35.图12示出了一种基于子图片和空域可缩放性的依赖视口的360
°
视频编解码方案。
36.图13是根据本技术的一种用于视频处理的方法的流程图表示。
37.图14是根据本技术的另一种用于视频处理的方法的流程图表示。
38.图15是根据本技术的另一种用于视频处理的方法的流程图表示。
39.图16是根据本技术的另一种用于视频处理的方法的流程图表示。
40.图17是根据本技术的另一种用于视频处理的方法的流程图表示。
41.图18是根据本技术的另一种用于视频处理的方法的流程图表示。
42.图19是根据本技术的另一种用于视频处理的方法的流程图表示。
43.图20是根据本技术的又一种用于视频处理的方法的流程图表示。
具体实施方式
44.在本文中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开的技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文中,关于vvc规范的当前草案,通过删除线指示取消的文本和突出显示指示添加的文本(包括粗体斜体)示出了对文本的编辑改变。
45.1.概述
46.本文涉及视频编解码技术。具体地,它关于1)视频编解码中的参考图片重采样
(rpr)、子图片和可缩放性中的两个或更多个的组合,2)具有相同空域分辨率的当前图片和参考图片之间的rpr的使用,以及3)长期参考图片和并置图片的组合。该思想可以单独或以各种组合应用于支持多层视频编解码的任意视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(vvc)。
47.2.缩写词
48.aps
ꢀꢀꢀꢀ
自适应参数集
49.au
ꢀꢀꢀꢀꢀ
访问单元
50.aud
ꢀꢀꢀꢀ
访问单元分隔符
51.avc
ꢀꢀꢀꢀ
高级视频编解码
52.clvs
ꢀꢀꢀ
编解码层视频序列
53.cpb
ꢀꢀꢀꢀ
编解码图片缓冲区
54.cra
ꢀꢀꢀꢀ
完全随机访问
55.ctu
ꢀꢀꢀꢀ
编解码树单元
56.cvs
ꢀꢀꢀꢀ
编解码视频序列
57.dci
ꢀꢀꢀꢀ
解码能力信息
58.dpb
ꢀꢀꢀꢀ
解码图片缓冲区
59.eob
ꢀꢀꢀꢀ
比特流结尾
60.eos
ꢀꢀꢀꢀ
序列结尾
61.gdr
ꢀꢀꢀꢀ
逐渐解码刷新
62.hevc
ꢀꢀꢀ
高效视频编解码
63.hrd
ꢀꢀꢀꢀ
假设参考解码器
64.idr
ꢀꢀꢀꢀ
即时解码刷新
65.ilp
ꢀꢀꢀꢀ
帧间层预测
66.ilrp
ꢀꢀꢀ
帧间层参考图片
67.irap
ꢀꢀꢀ
帧内随机访问图片
68.jem
ꢀꢀꢀꢀ
联合探索模型
69.ltrp
ꢀꢀꢀ
长期参考图片
70.mcts
ꢀꢀꢀ
运动约束片集
71.nal
ꢀꢀꢀꢀ
网络抽象层
72.ols
ꢀꢀꢀꢀ
输出层集
73.ph
ꢀꢀꢀꢀꢀ
图片标头
74.pps
ꢀꢀꢀꢀ
图片参数集
75.ptl
ꢀꢀꢀꢀ
档次(profile)、层和级别
76.pu
ꢀꢀꢀꢀꢀ
图片单元
77.rap
ꢀꢀꢀꢀ
随机访问点
78.rbsp
ꢀꢀꢀ
原始字节序列有效载荷
79.sei
ꢀꢀꢀꢀ
辅助增强信息
80.sps
ꢀꢀꢀꢀ
序列参数集
81.strp
ꢀꢀꢀ
短期参考图片
82.svc
ꢀꢀꢀꢀ
可缩放视频编解码
83.vcl
ꢀꢀꢀꢀ
视频编解码层
84.vps
ꢀꢀꢀꢀ
视频参数集
85.vtm
ꢀꢀꢀꢀ
vvc测试模型
86.vui
ꢀꢀꢀꢀ
视频可用性信息
87.vvc
ꢀꢀꢀꢀ
多功能视频编解码
88.3.初步讨论
89.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准发展而来的。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4视频,并且这两个组织共同制定了h.262/mpeg-2视频标准和h.264/mpeg-4高级视频编解码(advanced video coding,avc)和h.265/hevc标准。自h.262开始,视频编解码标准是基于混合视频编解码结构,其中使用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索团队(joint video exploration team,jvet)。从那时起,jvet采用了许多新的方法,并将其放入名为联合探索模型(joint exploration model,jem)的参考软件中。jvet会议每季度举行一次,新编解码标准的目标是与hevc相比降低50%的比特率。新视频编解码标准在2018年4月的jvet会议上被正式命名为多功能视频编解码(vvc),第一版vvc测试模型(vtm)也在当时发布。由于对vvc标准化的持续努力,新的编解码技术在每次jvet会议上都被采用到vvc标准中。vvc的工作草案和测试模型vtm在每次会议后都会被更新。vvc项目现在的目标是在2020年7月的会议上技术上完成(fdis)。
90.3.1.hevc中的图片分割方案
91.hevc包括四种不同的图片分割方案,即常规条带、依赖条带、片和波前并行处理(wpp),其可以被应用于最大传输单元(mtu)尺寸匹配、并行处理、以及减少的端到端延迟。
92.常规条带与h.264/avc中的类似。每个常规条带被封装在自己的nal单元中,并且跨条带边界的图片内预测(帧内样点预测、运动信息预测、编解码模式预测)和熵编解码依赖性被禁用。因此,常规条带可以独立于相同图片内的其他常规条带来重构(尽管由于环路滤波操作可能仍然具有相互依赖性)。
93.常规条带是可以用于并行化的唯一工具,其在h.264/avc中也以几乎相同的形式可用。基于常规条带的并行化不需要太多的帧间处理器或帧间核通信(除了在对预测编解码图片进行解码时用于运动补偿的帧间处理器或帧间核数据共享,由于图片内预测,这通常比帧间处理器或帧间核数据共享难得多)。然而,出于同样的原因,由于条带标头的比特成本以及缺乏跨条带边界的预测,使用常规条带可能导致大量编解码开销。此外,由于常规条带的图片内独立性以及每个常规条带被封装在自己的nal单元中,常规条带(与下面提到的其他工具相比)也充当比特流分割的关键机制,以匹配mtu尺寸要求。在许多情况下,并行化的目标和mtu尺寸匹配的目标对图片中的条带布局提出了矛盾的要求。对这种情况的认识导致了下面提到的并行化工具的开发。
94.依赖条带具有短的条带标头,并且允许在树块边界处分割比特流,而不破坏任意图片内预测。基本上,依赖条带提供将常规条带分段为多个nal单元,以通过允许常规条带的一部分在整个常规条带的编码完成之前被传送出去来提供减少的端到端延迟。
95.在wpp中,图片被分割为单行编解码树块(ctb)。熵解码和预测被允许使用来自其
他分割中的ctb的数据。通过ctb行的并行解码,并行处理是可能的,其中ctb行的解码的开始被延迟了两个ctb,从而确保在主体ctb被解码之前,与主体ctb上方和右侧的ctb有关的数据是可用的。使用这种交错的开始(当以图形表示时,看起来像波前),利用与包含ctb行的图片一样多的处理器/核心,并行化是可能的。因为图片内邻近树块行之间的图片内预测被准许,所以实现图片内预测的所需帧间处理器/帧间核通信可能是大量的。与未应用时相比,wpp分割不会导致产生附加的nal单元,因此wpp不是用于mtu尺寸匹配的工具。然而,如果需要mtu尺寸匹配,常规条带可以与wpp一起使用,其中有一定的编解码开销。
96.片定义了将图片分割为片列和片行的水平和垂直边界。片列从图片的顶部延伸到图片的底部。类似地,片行从图片的左边延伸到图片的右边。图片中的片的数量可以简单地推导为片列的数量乘以片行的数量。
97.在以图片的片光栅扫描的顺序解码下一个片的左上方ctb之前,ctb的扫描顺序被改变为在片内是局部的(以片的ctb光栅扫描的顺序)。与常规条带类似,片打破了图片内预测依赖性以及熵解码依赖性。然而,它们不需要被包括在单独的nal单元中(在这方面与wpp相同);因此,片不能用于mtu尺寸匹配。每个片可以由一个处理器/核处理,并且解码邻近片的处理单元之间的图片内预测所需的帧间处理器/帧间核通信限于在条带跨越多于一个片的情况下传送共享的条带标头、以及与重构样点和元数据的共享有关的环路滤波。当条带中包括多于一个片或wpp段时,条带中除了第一个之外的每个片或wpp段的条目点字节偏移在条带标头中被信令通知。
98.为简单起见,已经在hevc中指定了对四种不同图片分割方案的应用的限制。给定的编解码视频序列不能同时包括hevc中指定的大部分档次的片和波前。对于每个条带和片,必须满足以下条件中的一个或两个:1)条带中的所有编解码树块属于相同片;2)片中的所有编解码树块属于相同条带。最终,波前段恰好包含一个ctb行,并且当使用wpp时,如果条带从ctb行内开始,则它必须在相同的ctb行中结束。
99.通过hevc的最近修正,hevc指定了三种mcts相关的sei消息,即时域mcts sei消息、mcts提取信息集sei消息和mcts提取信息嵌套sei消息。
100.时域mcts sei消息指示比特流中mcts的存在,并且信令通知mcts。对于每个mcts,运动矢量被限制为指向mcts内的全样点位置和仅需要mcts内的全样点位置进行插值的分数样点位置,并且不允许使用从mcts外的块推导的用于时域运动矢量预测的运动矢量候选。这样,每个mcts可以被独立解码,而不存在不包括在mcts中的片。
101.mcts提取信息集sei消息提供了可以在mcts子比特流提取中使用的辅助信息(被指定为sei消息的语义的一部分),以生成mcts集的一致性比特流。该信息由多个提取信息集组成,每个定义了多个mcts集,并包含要在mcts子比特流提取过程期间使用的替换vps、sps和pps的rbsp字节。当根据mcts子比特流提取过程来提取子比特流时,参数集(vps、sps和pps)需要被重写或替换,条带标头需要稍微更新,因为一个或所有条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)通常需要具有不同的值。
102.3.2.vvc中的图片的分割
103.在vvc中,图片被分为一个或多个片行以及一个或多个片列。片是覆盖图片的矩形区域的ctu序列。片中的ctu在该片内按照光栅扫描顺序被扫描。
104.条带由整数个完整片或图片的片内的整数个连续的完整ctu行组成。
105.支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式下,条带包含图片的片光栅扫描中的完整条带序列。在矩形条带模式下,条带包含共同形成图片的矩形区域的多个完整片,或者共同形成图片的矩形区域的一个片的多个连续的完整ctu行。矩形条带内的片在对应于该条带的矩形区域内按照片光栅扫描顺序被扫描。
106.子图片包含共同覆盖图片的矩形区域的一个或多个条带。
107.图1示出了图片的光栅扫描条带分割的一种示例,其中图片被分为12个片和3个光栅扫描条带。
108.图2示出了图片的矩形条带分割的一种示例,其中图片被分为24个片(6个片列和4个片行)和9个矩形条带。
109.图3示出了被分割为片和矩形条带的图片的一种示例,其中图片被分为4个片(2个片列和2个片行)和4个矩形条带。
110.图4示出了图片的子图片分割的一种示例,其中图片被分割为18个片,左手边的12个片每个覆盖4
×
4ctu的一个条带,并且右手边的6个片每个覆盖2
×
2ctu的2个垂直堆叠条带,总共产生24个条带和不同维度的24个子图片(每个条带是一个子图片)。
111.3.3.序列内的图片分辨率改变
112.在avc和hevc中,图片的空域分辨率不能改变,除非使用新sps的新序列以irap图片开始。vvc在不编码irap图片的位置处启用序列内的图片分辨率改变,该irap图片总是被帧内编解码。该特征有时被称为参考图片重采样(rpr),因为当参考图片具有与正被解码的当前图片不同的分辨率时,该特征需要对用于帧间预测的参考图片的重采样。
113.缩放比例被限制为大于或等于1/2(从参考图片到当前图片的2倍下采样)、并且小于或等于8(8倍上采样)。指定了具有不同频率截止的三个重采样滤波器集合来处理参考图片和当前图片之间的各种缩放比例。三个重采样滤波器集合分别被应用于范围从1/2到1/1.75、从1/1.75到1/1.25和从1/1.25到8的缩放比例。每个重采样滤波器集合具有用于亮度的16个相位和用于色度的32个相位,这与运动补偿插值滤波器的情况相同。实际上,正常的mc插值过程是重采样过程的一种特殊情况,其中缩放比例的范围从1/1.25到8。水平和垂直缩放比例是基于图片宽度和高度以及为参考图片和当前图片指定的左、右、顶部和底部缩放偏移来推导的。
114.支持该特征的vvc设计与hevc不同的其它方面包括:i)图片分辨率和对应的一致性窗口在pps中而不是在sps中被信令通知,而在sps中,最大图片分辨率被信令通知。ii)对于单层比特流,每个图片存储(dpb中用于存储一个解码图片的时隙)占用存储具有最大图片分辨率的解码图片所需的缓冲区尺寸。
115.3.4.总体以及vvc中的可缩放视频编解码(svc)
116.可缩放视频编解码(svc,有时也称为视频编解码中的可缩放性)是指使用基本层(bl)(有时被称为参考层(rl))以及一个或多个可缩放增强层(el)的视频编解码。在svc中,基本层可以携带具有基本质量水平的视频数据。一个或多个增强层可以携带附加的视频数据,以支持例如更高的空域、时域和/或信噪比(snr)水平。可以相对于先前编码的层来定义增强层。例如,底部层可以充当bl,而顶部层可以充当el。中间层可以充当el或rl,或者充当两者。例如,中间层(例如,既不是最低层也不是最高层的层)可以是中间层下方的层(诸如
基本层或任意层间增强层)的el,并且同时充当中间层上方的一个或多个增强层的rl。类似地,在hevc标准的多视图或3d扩展中,可以有多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
117.在svc中,由编码器或解码器使用的参数基于可以利用它们的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组为参数集。例如,比特流中不同层的一个或多个编解码视频序列可以利用的参数可以被包括在视频参数集(vps)中,并且编解码视频序列中的一个或多个图片可以利用的参数可以被包括在序列参数集(sps)中。类似地,图片中的一个或多个条带利用的参数可以被包括在图片参数集(pps)中,并且针对单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在给定时间使用哪个(哪些)参数集的指示。
118.由于vvc中对参考图片重采样(rpr)的支持,可以设计对包含多个层(例如,vvc中具有sd和hd分辨率的两个层)的比特流的支持,而不需要任何附加的信号处理级别编解码工具,因为空域可缩放性支持所需的上采样可以仅使用rpr上采样滤波器。然而,对于可缩放性支持,需要高级别语法改变(与不支持可缩放性相比)。在vvc版本1中指定了可缩放性支持。与任何更早的视频编解码标准(包括在avc和hevc的扩展中)中的可缩放性支持不同,vvc可缩放性的设计已经尽可能对单层解码器设计友好。多层比特流的解码能力以比特流中只有单个层的方式被指定。例如,解码能力,诸如dpb尺寸,以独立于要被解码的比特流中的层的数量的方式被指定。基本上,为单层比特流设计的解码器不需要太多改变就能够解码多层比特流。与avc和hevc的多层扩展的设计相比,hls方面在牺牲一些灵活性的情况下得到显著简化。例如,要求irap au包含存在于cvs中的每个层的图片。
119.3.5.基于子图片的依赖视口的360
°
视频流
120.在360
°
视频(也称为全向视频)的流式传输中,在任意特定时刻,只有整个全向视频球体的子集(例如,当前视口)将被呈现给用户,而用户可以在任意时间转动他/她的头来改变观看朝向,从而改变当前视口。虽然期望在客户端处有未被当前视口覆盖的区域的至少一些更低质量表示可用,并准备好呈现给用户,以防用户突然将他/她的观看朝向改变到球体上的任意地方,但是全向视频的高质量表示只需要用于此刻正在呈现给用户的当前视口。以适当的粒度将整个全向视频的高质量表示划分为子图片实现了这样的优化。使用vvc,这两个表示可以被编码为彼此独立的两个层。
121.在图11中示出了一种典型的基于子图片的依赖视口的360
°
视频递送方案,其中全视频的较高分辨率表示由子图片组成,而全视频的较低分辨率表示不使用子图片,并且可以用比较高分辨率表示更不密的随机访问点进行编解码。客户端接收较低分辨率的全视频,并且对于较高分辨率视频,它仅接收和解码覆盖当前视口的子图片。
122.3.6.参数集
123.avc、hevc和vvc指定了参数集。参数集的类型包括sps、pps、aps和vps。avc、hevc以及vvc全部都支持sps和pps。vps从hevc开始引入,并且被包括在hevc和vvc中。aps没有被包括在avc或hevc中,但是被包括在最新的vvc草案文本中。
124.sps被设计为携带序列级别标头信息,并且pps被设计为携带不频繁改变的图片级别标头信息。利用sps和pps,不频繁改变的信息不需要针对每个序列或图片重复,因此可以避免该信息的冗余信令。此外,sps和pps的使用实现了重要标头信息的带外传输,因此不仅
避免了对冗余传输的需要,还提高了容错性。
125.引入vps用于携带对多层比特流中的所有层共同的序列级别标头信息。
126.引入aps用于携带这样的图片级别或条带级别信息,该信息需要相当多的比特来编解码,可以由多个图片共享,并且在序列中可以有相当多的不同变化。
127.4.由所公开的技术技术方案解决的技术问题
128.最新的vvc文本中的现有设计有以下问题:
129.1)如图11所示,当前的vvc设计支持360
°
视频的典型编解码方案。然而,尽管在当前的vvc设计中支持可缩放性,但是不支持如图12所示的改进的360
°
视频编解码方案。与图11中示出的方法相比,唯一的差别是帧间层预测(ilp)被应用于图12中示出的方法。
130.vvc草案中的以下两个地方不允许子图片和空域可缩放性的组合使用:
131.a.vvc中的空域可缩放性设计依靠rpr特征。然而,rpr和子图片的组合当前不被以下语义约束所允许:
132.当res_change_in_clvs_allowed_flag等于1时,subpic_info_present_flag的值应当等于0。
133.因此,改进的编解码方案不被允许,因为对于更高层所参考的sps,以上约束不允许将subpic_info_present_flag设置为1(以使用每个图片的多个子图片),并且同时将res_change_in_clvs_allowed_flag设置为1(以启用rpr,这对于利用ilp的空域可缩放性是需要的)。
134.b.当前的vvc草案对子图片和可缩放性的组合具有以下约束:当subpic_treated_as_pic_flag[i]等于1时,比特流一致性的要求是,对于包括包含第i个子图片的层作为输出层的ols中的每个输出层及其参考层,所有以下条件都为真:
[0135]-输出层及其参考层中的所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0136]-输出层及其参考层所参考的所有sps应当具有sps_hum_subpics_minus1的相同值,并且对于在0到sps_hum_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_across_subpic_enabled_flag[j]的相同值。
[0137]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,输出层及其参考层中的每个访问单元中的所有图片都应当具有subpicidval[j]的相同值。
[0138]
除了子图片与snr可缩放性的受限组合之外,该以上约束基本上不允许子图片和利用ilp的可缩放性的任意其他组合,其中每个依赖关系树内的层必须具有相同的空域分辨率以及相同的子图片布局。
[0139]
2)当subpic_treated_as_pic_flag[i]等于1时,第i个子图片的子图片边界将被视为运动补偿中的图片边界。在vvc草案文本中通过在与运动补偿有关的解码过程中应用特定的裁剪操作来实现这样的处理。然而,对于图12中示出的改进的编解码方案,由于更低层完全可用于解码器,而不仅仅是对应于第i个子图片的区域,因此在这种情况下不需要应用这样的裁剪,以避免不必要的编解码效率损失。
[0140]
3)在不考虑对图12中示出的改进的编解码方案的支持的情况下,对子图片和利用ilp的可缩放性的组合的以上现有约束(该描述被包括在问题1b的描述中)有以下问题:
[0141]
a.当包含第i个子图片的层不是ols的输出层时,该约束也应该适用。应该以不考虑层是否是ols的输出层的方式指定整个约束。
[0142]
b.应该包括对subpic_treated_as_pic_flag[i]的值被跨层对齐的要求,否则不可能跨层提取具有相同索引的子图片序列。
[0143]
c.应该排除对loop_filter_across_subpic_enabled_flag[i]的值被跨层对齐的要求,因为不管该标志的值如何,只要subpic_treated_as_pic_flag[i]等于1,子图片序列就是可提取的。对loop_filter_across_subpic_enabled_flag[i]的值的设置应该留给编码器来决定,以用于单个可提取子图片序列的质量与可提取子图片序列集合的质量之间的权衡,正如为什么这两个标志彼此独立地被信令通知一样。
[0144]
d.整个约束应该仅在sps_num_subpics_minus1大于0时适用,以避免每子图片的一个子图片被约束无意地覆盖的所有情况。
[0145]
e.需要明确指定约束适用的时域范围,例如au集合。
[0146]
f.应该包括对缩放窗口参数scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值被跨层对齐的要求,以确保当每个图片有多个子图片时,不需要itrp的rpr。
[0147]
4)目前,当前图片的并置图片可以是在与当前图片相同的层中的长期参考图片(ltrp),并且也可以是帧间层参考图片(ilrp),例如在与当前图片不同的层中的参考图片。然而,在任何一种情况下,都不会应用运动矢量的基于poc的缩放,因此由于允许这样,编解码性能预计会非常低。因此,最好不允许当前图片的并置图片是ltrp或ilrp。
[0148]
5)目前,允许clvs中具有相同空域分辨率的图片具有不同的缩放窗口。然而,这应该是不允许的,否则,rpr的sps标志和rpr的通用约束标志将不能用于完全禁用rpr工具。
[0149]
5.技术技术方案和实施例的列表
[0150]
为了解决以上问题和其他问题,公开了如下总结的方法。这些项应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些项可以被单独应用或者以任意方式组合。
[0151]
1)为了解决问题1a,可以为了控制rpr指定和/或信令通知多个(诸如两个)sps标志,而不是只有一个sps标志(例如,如当前vvc草案中的res_change_in_clvs_allowed_flag)用于控制rpr。
[0152]
a.例如,第一标志(例如,ref_pic_resampling_enabled_flag)指定是否可能需要使用rpr来解码一个或多个图片,而第二标志(例如,res_change_in_clvs_allowed_flag)指定是否允许图片分辨率在clvs内改变。
[0153]
b.此外,可替代地,仅当第一标志指定可能需要使用rpr来解码一个或多个图片时,才信令通知第二标志。此外,当没有被信令通知时,第二标志的值被推断为指定不允许图片分辨率在clvs内改变的值。
[0154]
i.可替代地,这两个标志彼此独立地被信令通知。
[0155]
c.此外,可替代地,添加又一个通用约束标志,使得对于第一标志和第二标志中的每一个都有一个通用约束标志。
[0156]
d.此外,不允许res_change_in_clvs_allowed_flag等于1的每图片的多个子图片的组合,但是允许ref_pic_resampling_enabled_flag等于1的每图片的多个子图片的组合。
[0157]
e.此外,基于res_change_in_clvs_allowed_flag的值的scaling_window_explicit_signalling_flag的值的约束被改变为基于ref_pic_resampling_enabled_flag的值,如下所示:当的值,如下所示:当等于0时,scaling_window_explicit_signalling_flag的值应当等于0。
[0158]
f.可替代地,可以在vps中而不是在sps中信令通知多个(诸如两个)标志中的任一个或全部。
[0159]
i.在一个示例中,vps中的多个(诸如两个)标志中的任一个或全部适用于由vps指定的所有层。
[0160]
ii.在另一个示例中,vps中的多个(诸如两个)标志中的任一个或全部可以各自具有在vps中信令通知的多个实例,并且每个实例适用于一个依赖关系树中的所有层。
[0161]
g.在一个示例中,使用1比特u(1)将多个标志中的每一个编解码为无符号整数。
[0162]
h.可替代地,可以用非二进制值(例如,在sps/vps中)信令通知一个语法元素,以指定解码过程中rpr的使用以及clvs内图片分辨率改变的允许。
[0163]
i.在一个示例中,当语法元素的值等于0时,它指定不需要使用rpr来解码一个或多个图片。
[0164]
ii.在一个示例中,当语法元素的值等于1时,它指定可能需要使用rpr来解码一个或多个图片,同时不允许图片分辨率在clvs内改变。
[0165]
iii.在一个示例中,当语法元素的值等于2时,它指定可能需要使用rpr来解码一个或多个图片,同时允许图片分辨率在clvs内改变。
[0166]
iv.此外,可替代地,如何信令通知语法元素可以依赖于是否允许帧间层预测。
[0167]
v.在一个示例中,语法元素用ue(v)进行编解码,指示左比特在前的无符号整数0阶exp-golomb编解码的语法元素。
[0168]
vi.在另一个示例中,使用n比特u(n)(例如,n等于2)将语法元素编解码为无符号整数。
[0169]
2)可替换地,或者除了用于解决问题1a的第1项之外,仍然仅具有一个标志,例如res_change_in_clvs_allowed_flag,但是语义可以被改变,使得不管标志的值如何,都允许对帧间层参考图片的重采样。
[0170]
a.在一个示例中,语义可以被改变,如下所示:res_change_in_clvs_allowed_flag等于1指定图片空域分辨率可以在参考sps的clvs内改变,指定图片空域分辨率可以在参考sps的clvs内改变,指定图片空域分辨率可以在参考sps的clvs内改变,res_change_in_clvs_allowed_flag等于0指定图片空域分辨率在参考sps的任意clvs内不改变,clvs_allowed_flag等于0指定图片空域分辨率在参考sps的任意clvs内不改变,
[0171]
b.通过该改变,即使当res_change_in_clvs_allowed_flag等于0时,对子图片/图片的解码仍然可以使用帧间层参考图片(ilrp)的rpr。
[0172]
3)为了解决问题1b,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约
束仅对当前层和依赖于当前层的所有更高层施加跨层对齐限制,而不对不依赖于当前层的更高层或者不对更低层施加跨层对齐限制。
[0173]
a.可替代地,更新约束以仅对当前层和高于当前层的所有层施加跨层对齐限制。
[0174]
b.可替代地,更新约束以仅对当前层和包含当前层的每个ols中的所有更高层施加跨层对齐限制。
[0175]
c.可替代地,更新约束以仅对当前层和作为当前层的参考层的所有更低层施加跨层对齐限制。
[0176]
d.可替代地,更新约束以仅对当前层和低于当前层的所有层施加跨层对齐限制。
[0177]
e.可替代地,更新约束以仅对当前层和包含当前层的每个ols中的所有更低层施加跨层对齐限制。
[0178]
f.可替代地,更新约束以仅对低于最高层的所有层施加跨层对齐限制。
[0179]
g.可替代地,更新约束以仅对高于最低层的所有层施加跨层对齐限制。
[0180]
4)为了解决问题2,在涉及用于处理运动补偿/运动预测中的子图片边界作为图片边界的帧间预测相关过程中的裁剪操作的一个或多个解码过程中(例如,在条款8.5.2.11时域亮度运动矢量预测的推导过程、8.5.3.2.2亮度样点双线性插值过程、8.5.5.3基于子块的时域merge候选的推导过程、8.5.5.4基于子块的时域merge基本运动数据的推导过程、8.5.5.6构建的仿射控制点运动矢量merge候选的推导过程、8.5.6.3.2亮度样点插值滤波过程、8.5.6.3.3亮度整数样点提取过程、以及8.5.6.3.4色度样点插值过程中),应用以下改变:
[0181]
a.在一个示例中,改变该过程,使得如果subpic_treated_as_pic_flag[currsubpicidx]等于1并且参考图片refpiclx的sps_num_subpics_minus1大于0,则应用裁剪操作,否则不应用裁剪操作。
[0182]
i.可替代地,当不允许图片的并置图片是ilrp时,如上所述,仅改变参考图片refpiclx不是并置图片的过程,并且不改变参考图片refpiclx是并置图片的过程。
[0183]
b.在一个示例中,改变该过程,使得如果subpic_treated_as_pic_flag[currsubpicidx]等于1并且当前条带的nal_unit_type的值不等于idr_w_radl、idr_n_lp或cra_nut,则应用裁剪操作,否则不应用裁剪操作。同时,ilp仅被允许用于对irap图片的编解码。
[0184]
c.在一个示例中,不进行对这些解码过程的改变,例如,如果subpic_treated_as_pic_flag[currsubpicidx]等于1,则应用裁剪操作,否则不应用裁剪操作,与当前vvc文本中的相同。
[0185]
5)为了解决问题3a,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束对每个依赖关系树中的所有层施加跨层对齐限制。依赖关系树包含特定层、具有该特定层作为参考层的所有层、以及该特定层的所有参考层,而与该层中的任意一个是否是ols的输出层无关。
[0186]
6)为了解决问题3b,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束对subpic_treated_as_pic_flag[i]的值施加跨层对齐限制。
[0187]
7)为了解决问题3c,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束不对loop_filter_across_subpic_enabled_flag[i]的值施加跨层对齐限制。
[0188]
8)为了解决问题3d,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束在sps_num_subpics_minus1等于0时不适用。
[0189]
a.可替代地,更新该约束,使得该约束在subpic_info_present_flag等于0时不适用。
[0190]
9)为了解决问题3e,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束对au的特定目标集合中的图片施加跨层对齐限制。
[0191]
a.在一个示例中,对于参考sps的当前层的每个clvs,设au的目标集合targetauset是从包含clvs按照解码顺序的第一个图片的au开始到包含clvs按照解码顺序的最后一个图片的au的所有au(包括该两个au)。
[0192]
10)为了解决问题3f,更新对子图片和利用ilp的可缩放性的组合的约束,使得该约束对缩放窗口参数scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值施加跨层对齐限制。
[0193]
11)为了解决问题4,约束当前图片的并置图片不应当是长期参考图片(ltrp)。
[0194]
a.可替代地,约束当前图片的并置图片不应当是帧间层参考图片(ilrp)。
[0195]
b.可替代地,约束当前图片的并置图片不应当是ltrp或ilrp。
[0196]
c.可替代地,相反,如果当前图片的并置图片是ltrp或ilrp,则不应用缩放来得到指向并置图片的运动矢量。
[0197]
12)为了解决问题5,约束scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值对于相同的clvs内分别具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值的任意两个图片应当是相同的。
[0198]
a.可替代地,将上面的“相同的clvs内”替换为“相同的cvs内”。
[0199]
b.可替代地,该约束被指定如下:
[0200]
设ppsa和ppsb是参考相同sps的任意两个pps。比特流一致性的要求是,当ppsa和ppsb分别具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值时,ppsa和ppsb应当分别具有scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的相同值。
[0201]
c.可替代地,该约束被指定如下:
[0202]
sealing_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值对于相同的cvs内的任意两个图片应当是相同的,并满足所有以下条件:
[0203]
i.这两个图片分别具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值。
[0204]
ii.这两个图片属于相同层或两个层(一个层是另一个层的参考层)。
[0205]
13)提出了当图片分辨率/缩放窗口对于当前图片和相同访问单元中的其他图片不同时,仅在当前图片是irap图片时才允许ilp。
[0206]
14)在本文中,图片分辨率可以指图片的宽度和/或高度,或者它可以指图片的缩放窗口和/或一致性窗口的宽度和/或高度和/或左上角位置。
[0207]
15)在本文中,不使用rpr意味着当前图片的任意参考图片的分辨率与当前图片的
分辨率相同。
[0208]
6.实施例
[0209]
以下是上面第5节中总结的本发明的一些方面的一些示例实施例,其可以被应用于vvc规范。已经被添加或修改的最相关部分用黑体斜体以下划线标出,并且一些删除的部分使用[[]]来指示。
[0210]
6.1.第一实施例
[0211]
该实施例针对第1、1.a、1.b、1.c、1.d、3、4.a.i、5、6、7、8、9、9.a、10、11和12b项。
[0212]
7.3.2.3序列参数集语法
[0213][0214][0215]
7.4.3.3序列参数集rbsp语义
[0216]

[0217][0218]
res_change_in_clvs_allowed_flag等于1指定图片空域分辨率可以在参考sps的clvs内改变。res_change_in_clvs_allowed_flag等于0指定图片空域分辨率在参考sps的任意clvs内不改变。不改变。
[0219]

[0220]
subpic_treated_as_pic_flag[i]等于1指定clvs中的每个编解码图片的第i个子图片被视为排除环路滤波操作的解码过程中的图片。subpic_treated_as_pic_flag[i]等于0指定clvs中的每个编解码图片的第i个子图片不被视为排除环路滤波操作的解码过程中的图片。当不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于sps_independent_subpics_flag。
[0221]
当subpic_treated_as_pic_flag[i]等于1时,
比特流一致性的要求是,比特流一致性的要求是,所有以下条件都为真:
[0222]-所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0223]
‑‑
[0224]-所参考的所有sps应当具有sps_num_subpics_minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和[[loop_filter_across_subpic_enabled_flag[j]]]的相同值。
[0225]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0226]

[0227]
7.4.3.4图片参数集rbsp语义
[0228]

[0229]
scaling_window_explicit_signalling_flag等于1指定缩放窗口偏移参数存在于pps中。sealing_window_explicit_signalling_fag等于0指定缩放窗口偏移参数不存在于pps中。当[[res_change_in_clvs_allowed_flag]]等于0时,scaling_window_explicit_signalling_flag的值应当等于0。
[0230]
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset指定被应用于图片尺寸以进行缩放比例计算的偏移。当不存在时,scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的值被推断为分别等于pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset。
[0231]
subwidthc*(scaling_win_left_offset scaling_win_right_offset)的值应当小于pic_width_in_luma_samples,并且subheightc*(scaling_win_top_offset scaling_win_bottom_offset)的值应当小于pic_height_in_luma_samples。
[0232][0233]
变量picoutputwidthl和picoutputheightl被推导如下:
[0234]
picoutputwidthl=pic_width_in_luma_samples
‑ꢀꢀꢀꢀꢀꢀꢀ
(78)
[0235]
subwidthc*(scaling_win_right_offset scaling_win_left_offset)
[0236]
picoutputheightl=pic_height_in_luma_samples
‑ꢀꢀꢀꢀ
(79)
[0237]
subwidthc*(scaling_win_bottom_offset scaling_win_top_offset)
[0238]
设refpicoutputwidthl和refpicoutputheightl分别是参考该pps的当前图片的参考图片的picoutputwidthl和picoutputheightl。比特流一致性的要求是满足所有以下条件:
[0239]-picoutputwidthl*2应当大于或等于refpicwidthinlumasamples。
[0240]-picoutputheightl*2应当大于或等于refpicheightinlumasamples。
[0241]-picoutputwidthl应当小于或等于refpicwidthinlumasamples*8。
[0242]-picoutputheightl应当小于或等于refpicheightinlumasamples*8。
[0243]-picoutputwidthl*pic_width_max_in_luma_samples应当大于或等于refpicoutputwidthl*(pic_width_in_luma_samples-max(8,mincbsizey))。
[0244]-picoutputheightl*pic_height_max_in_luma_samples应当大于或等于
[0245]
refpicoutputheightl*(pic_height_in_luma_samples-max(8,mincbsizey))。
[0246]

[0247]
7.3.3.2通用约束信息语法
[0248][0249]
7.4.4.2通用约束信息语义
[0250]

[0251][0252]
no_res_change_in_clvs_constraint_flag等于1指定res_change_in_clvs_allowed_flag应当等于0。no_res_change_in_clvs_constraint_flag等于0不施加这样的约束。
[0253]

[0254]
7.4.8.1通用条带标头语义
[0255]

[0256]
slice_collocated_from_10_flag等于1指定用于时域运动矢量预测的并置图片是从参考图片列表0推导的。slice_collocated_from_10_flag等于0指定用于时域运动矢量预测的并置图片是从参考图片列表1推导的。
[0257]
当slice_type等于b或p,ph_temporal_mvp_enabled_flag等于1,并且slice_collocated_from_10_flag不存在时,适用以下内容:
[0258]-如果rpl_info_in_ph_flag等于1,则slice_collocated_from_10_flag被推断为等于ph_collocated_from_10_flag。
[0259]-否则(rpl_info_in_ph_flag等于0,并且slice_type等于p),slice_collocated_from_10_flag的值被推断为等于1。
[0260]
slice_collocated_ref_idx指定用于时域运动矢量预测的并置图片的参考索引。
[0261]
当slice_type等于p时,或者当slice_type等于b并且slice_collocated_from_10_flag等于1时,slice_collocated_ref_idx参考参考图片列表0中的条目,并且slice_collocated_ref_idx的值应当在0到numrefidxactive[0]-1的范围(包括0和numrefidxactive[0]-1)内。
[0262]
当slice_type等于b并且slice_collocated_from_10_flag等于0时,slice_collocated_ref_idx参考参考图片列表1中的条目,并且slice_collocated_ref_idx的值应该在0到numrefidxactive[1]-1的范围(包括0和numrefidxactive[1]-1)内。
[0263]
当slice_collocated_ref_idx不存在时,适用以下内容:
[0264]-如果rpl_info_in_ph_flag等于1,则slice_collocated_ref_idx的值被推断为等于ph_collocated_ref_idx。
[0265]-否则(rpl_info_in_ph_flag等于0),slice_collocated_ref_idx的值被推断为等于0。
[0266]
比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。
[0267]
比特流一致性的要求是,slice_collocated_ref_idx所参考的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应当分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且rprconstraintsactive[slice_collocated_from_10_flag?0:1][slice_collocated_ref_idx]应当等于0。
[0268]

[0269]
8.5.3.2.2亮度样点双线性插值过程
[0270]

[0271]
对于i=0..1,全样点单元中的亮度位置(xinti,yinti)被推导如下:
[0272]-如果subpic_treated_as_pic_flag[currsubpicidx]等于1,如果subpic_treated_as_pic_flag[currsubpicidx]等于1,则适用以下内容:
[0273]
xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xint
l
i)
(640)
[0274]
yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yint
l
i)(641)
[0275]-否则(subpic_treated_as_pic_flag[currsubpicidx]等于0否则(subpic_treated_as_pic_flag[currsubpicidx]等于0),适用以下内容:
[0276]
xinti=clip3(0,picw-1,refwraparoundenabledflag?
[0277]
cliph((ppsrefwraparoundoffset)*mincbsizey,picw,(xint
l
i)):xint
l
i)(642)
[0278]
yinti=clip3(0,pich-1,yint
l
i)(643)
[0279]

[0280]
8.5.6.3.2亮度样点插值滤波过程
[0281]

[0282]-如果subpic_treated_as_pic_flag[currsubpicidx]等于1,如果subpic_treated_as_pic_flag[currsubpicidx]等于1,则适用以下内容:
[0283]
xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xinti)(959)
[0284]
yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yinti)(960)
[0285]-否则(subpic_treated_as_pic_flag[currsubpicidx]等于0否则(subpic_treated_as_pic_flag[currsubpicidx]等于0),适用以下内容:
[0286]
xinti=clip3(0,picw-1,refwraparoundenabledflag?
[0287]
cliph((ppsrefwraparoundoffset)*mincbsizey,picw,xinti):
[0288]
xinti)(961)
[0289]
yinti=clip3(0,pich-1,yinti)(962)
[0290]

[0291]
8.5.6.3.3亮度整数样点提取过程
[0292]

[0293]
全样点单元中的亮度位置(xint,yint)被推导如下:
[0294]-如果subpic_treated_as_pic_flag[currsubpicidx]等于1,如果subpic_treated_as_pic_flag[currsubpicidx]等于1,则适用以下内容:
[0295]
xint=clip3(subpicleftboundarypos,subpicrightboundarypos,xint
l
)(968)
[0296]
yint=clip3(subpictopboundarypos,subpicbotboundarypos,yint
l
)(969)
[0297]-否则则适用以下内容:
[0298]
xint=clip3(0,picw-1,refwraparoundenabledflag?
ꢀꢀꢀꢀ
(970)
[0299]
cliph((ppsrefwraparoundoffset)*mincbsizey,picw,xint
l
):xint
l
)
[0300]
yint=clip3(0,pich-1,yint
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(971)
[0301]

[0302]
8.5.6.3.4色度样点插值过程
[0303]

[0304]-如果subpic_treated_as_pic_flag[currsubpicidx]等于1,如果subpic_treated_as_pic_flag[currsubpicidx]等于1,则适用以下内容:
[0305]
xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundarypos/subwidthc,xinti)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(977)
[0306]
yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypos/subheightc,yinti)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(978)
[0307]-否则(subpic_treated_as_pic_flag[currsubpicidx]等于0否则(subpic_treated_as_pic_flag[currsubpicidx]等于0),适用以下内容:
[0308]
xinti=clip3(0,picw
c-1,
[0309]
refwraparoundenabledflag?cliph(xoffset,picwc,xinti): (979)
[0310]
xintc i-1)
[0311]
yinti=clip3(0,pich
c-1,yinti)
ꢀꢀꢀꢀ
(980)
[0312]

[0313]
可替代地,突出显示的部分“并且参考图片refpiclx的sps_num_subpics_minus1大于0”可以被替换为“并且如果参考图片refpiclx是具有与当前图片相同的空域分辨率的ilrp”。
[0314]
可替代地,突出显示的部分“或者参考图片refpiclx的sps_num_subpics_minus1等于0”可以被替换为“或者如果参考图片refpiclx是具有与当前图片不同的空域分辨率的ilrp”。
[0315]
可替代地,对并置图片的要求,例如,“比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。”可以被替换为“比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的”。
[0316]
可替代地,对并置图片的要求,例如,“比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。”可以被替换为“比特流一致性的要求是,slice_collocated_ref_idx所参考的图片对于编解码图片的所有条带应当是相同的。”[0317]
6.2.替代实施例
[0318]
在一些替代实施例中,第一实施例中的以下约束:
[0319]
当subpic_treated_as_pic_flag[i]等于1时,等于1时,等于1时,比特流一致性的要求是,
所有以下条件都为真:
[0320]-所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0321]
__
[0322]
_所参考的所有sps应当具有sps_num_subpics_minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和[[loop_filter_across_subpic_enabled_flag[j]]]的相同值。
[0323]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0324]
被替换为以下之一:
[0325]
1)当subpic_treated_as_pic_flag[i]等于1时,等于1时,比特流一致性的要求是,求是,所有以下条件都为真:
[0326]
_所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0327]
__
[0328]
_所参考的所有sps应当具有sps_num_subpics_minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]subpic_height_minus1[j][[和loop_filter_across_subpic_enabled_flag[j]]]的相同值。
[0329]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)
内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0330]
2)当subpic_treated_as_pic_flag[i]等于1时等于1时比特流一致性的要求是,求是,所有以下条件都为真:
[0331]
_所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0332]-[0333][0334]-所参考的所有sps应当具有sps_num_subpics_minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_across_subpic_enabled_flag[j]的相同值。
[0335]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0336]
3)当subpic_treated_as_pic_flag[i]等于1时,3)当subpic_treated_as_pic_flag[i]等于1时,3)当subpic_treated_as_pic_flag[i]等于1时,比特流一致性的要求是,比特流一致性的要求是,所有以下条件都为真:
[0337]-所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0338]
‑‑
[0339]-所参考的所有sps应当具有sps_num_subpics_
minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和[[loop_filter_across_subpic_enabled_flag[j]]]的相同值。
[0340]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0341]
4)当subpic_treated_as_pic_flag[i]等于1时,等于1时,比特流一致性的要求是,求是,所有以下条件都为真:
[0342]-所有图片应当具有pic_width_in_luma_samples的相同值和pic_height_in_luma_samples的相同值。
[0343]
‑‑
[0344]-所参考的所有sps应当具有sps_num_subpics_minus1的相同值,并且对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,应当分别具有subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]、知loop_filter_across_subpic_enabled_flag[j]的相同值。
[0345]-对于在0到sps_num_subpics_minus1的范围(包括0和sps_num_subpics_minus1)内的j的每个值,内的j的每个值,所有图片应当具有subpicidval[j]的相同值。
[0346]
图5是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以以压缩或编码格式接收。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0347]
系统1900可以包括可以实施本文中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的
输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来传送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是可以理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
[0348]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)、或高清晰度多媒体接口(hdmi)、或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
[0349]
图6是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文中描述的一些技术。
[0350]
图8是示出可以利用本公开的技术的示例视频编解码系统100的框图。
[0351]
如图8所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
[0352]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0353]
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供方接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码视频数据可以通过网络130a经由i/o接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
[0354]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0355]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在被配置为与外部显示设备接口的目标设备120的外部。
[0356]
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(hevc)标准、多功能视频编解码(vvm)标准和其他当前和/或另外的标准。
[0357]
图9是示出视频编码器200的示例的框图,该视频编码器200可以是图8所示的系统100中的视频编码器114。
[0358]
视频编码器200可以被配置为执行本公开的任意或所有技术。在图9的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或所有技术。
[0359]
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
[0360]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以执行ibc模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
[0361]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的,在图9的示例中被单独表示。
[0362]
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0363]
模式选择单元203可以基于误差结果选择一种编解码模式(例如,帧内或帧间),并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(ciip),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择一个运动矢量的分辨率(例如,一个子像素或像素精度的整数)。
[0364]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲区213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲区213中除了与当前视频块相关联的图片之外的图片的解码样点,来确定当前视频块的预测视频块。
[0365]
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,依赖于当前视频块是在i条带、p条带还是b条带中。
[0366]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。然后运动估计单元204可以生成指示列表0或列表1中的参考图片的参考索引,该参考索引包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符以及运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0367]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中搜索当前视频块的另一个参考视频块。然后运动估计单元204可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0368]
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。
[0369]
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。而是运动估计单元204可以参考另一个视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0370]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。
[0371]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0372]
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令通知。
[0373]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0374]
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量对应的残差视频块。
[0375]
在其他示例中,例如在跳过模式下,对于当前视频块可能没有残差数据,并且残差生成单元207可以不执行减去操作。
[0376]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
[0377]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0378]
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲区213中。
[0379]
在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块伪影。
[0380]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
[0381]
图10是示出视频解码器300的示例的框图,该视频解码器300可以是图8所示的系统100中的视频解码器114。
[0382]
视频解码器300可以被配置为执行本公开的任意或所有技术。在图10的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或所有技术。
[0383]
在图10的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图9)描述的编码过程相反的解码过程。
[0384]
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过执行amvp和merge模式来确定这样的信息。
[0385]
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0386]
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
[0387]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
[0388]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,例如,反量化。逆变换单元303应用逆变换。
[0389]
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来滤波解码块,以便去除块效应伪影。然后,解码的视频块被存储在缓冲区307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
[0390]
接下来提供一些实施例优选的技术方案的列表。
[0391]
以下技术方案示出了在前一节(例如,第1项)中讨论的技术的示例实施例。
[0392]
1.一种视频处理方法(例如,图7中示出的方法700),包括:执行包括一个或多个视频图片的视频之间的转换(702),其中编解码表示符合格式规则;其中格式规则指定序列参数集中的两个或更多个语法字段控制视频中的参考图片分辨率(rpr)改变。
[0393]
2.根据技术方案1所述的方法,其中,两个或更多个语法字段中的第一语法字段指示rpr是否用于一个或多个图片,并且两个或更多个语法字段中的第二语法字段指示是否允许图片分辨率在序列级别的编解码表示中改变。
[0394]
以下技术方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
[0395]
3.一种视频处理方法,包括:执行包括一个或多个视频图片的视频之间的转换,其中编解码表示符合格式规则;其中格式规则指定序列参数集中的单个语法字段控制视频中的参考图片分辨率(rpr)改变;并且其中格式规则指定,无论单个语法字段的值如何,对帧
间层参考图片的重采样被准许用于转换。
[0396]
以下技术方案示出了在前一节(例如,第3、5、6、7、9、10项)中讨论的技术的示例实施例。
[0397]
4.一种视频处理方法,包括:执行包括一个或多个层的视频之间的转换,该一个或多个层包括包含一个或多个子图片的一个或多个视频图片,其中编解码表示符合格式规则;其中格式规则指定对跨层对齐的第一约束或者对帧间层图片的子图片和可缩放性的组合的第二约束。
[0398]
5.根据技术方案4所述的方法,其中,第一约束定义对当前层和依赖于当前层的所有更高层的跨层对齐限制,而不对当前层的更低层和不依赖于当前层的所有更高层施加对齐限制。
[0399]
6.根据技术方案4所述的方法,其中,第二约束对特定层的每个依赖关系树中的所有层施加跨层对齐限制。
[0400]
7.根据技术方案4所述的方法,其中,第二约束根据跨层对齐限制来限制subpic_treated_as_pic_flag[i]的值。
[0401]
8.根据技术方案4所述的方法,其中,第二约束根据跨层对齐限制来限制loop_filter_across_subpic_enabled_flag[i]的值。
[0402]
9.根据技术方案4至8中任一项所述的方法,其中,第一约束和/或第二约束是针对访问单元的目标集合而指定的。
[0403]
10.根据技术方案4所述的方法,其中,第二约束根据跨层对齐限制来限制缩放窗口参数scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值。
[0404]
以下技术方案示出了在前一节(例如,第11项)中讨论的技术的示例实施例。
[0405]
11.一种视频处理方法,包括:执行包括一个或多个层的视频之间的转换,该一个或多个层包括包含一个或多个子图片的一个或多个视频图片,其中该转换符合指定帧间层参考图片或长期参考图片不被允许作为用于转换的当前图片的并置图片的格式规则。
[0406]
以下技术方案示出了在前一节(例如,第12项)中讨论的技术的示例实施例。
[0407]
12.一种视频处理方法,包括:执行包括多个图片的视频和视频的编解码表示之间的转换,其中该转换符合指定scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset中的每一个的值对于相同的编解码层视频序列或编解码视频序列内具有pic_width_in_luma_samples和pic_height_in_luma_samples的相同值的任意两个图片相同的规则。
[0408]
以下技术方案示出了在前一节(例如,第13项)中讨论的技术的示例实施例。
[0409]
13.一种视频处理方法,包括:执行包括多个图片的视频和视频的编解码表示之间的转换,其中该转换符合指定在图片分辨率或缩放窗口对于当前图片和相同访问单元中的其他图片不同的情况下仅在当前图片是帧内随机访问点图片时才允许帧间层预测的规则。
[0410]
14.根据技术方案1至13中任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
[0411]
15.根据技术方案1至13中任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
[0412]
16.一种视频解码装置,包括被配置为实施根据技术方案1至15中的一项或多项所述的方法的处理器。
[0413]
17.一种视频编码装置,包括被配置为实施根据技术方案1至15中的一项或多项所述的方法的处理器。
[0414]
18.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据技术方案1至15中任一项所述的方法。
[0415]
19.一种本文中描述的方法、装置或系统。
[0416]
图13是根据本技术的用于视频处理的方法1300的流程图表示。方法1300包括操作1310,根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定多个语法元素用于指定参考图片重采样工具的使用。参考图片重采样工具是具有与当前图片不同的分辨率的参考图片被重采样以用于转换的编解码工具。
[0417]
在一些实施例中,多个语法元素被包括在序列参数集(sps)中。在一些实施例中,多个语法元素包括指定是否对转换启用参考图片重采样工具的第一语法元素、以及指定是否允许图片的分辨率在编解码层视频序列(clvs)内改变的第二语法元素。在一些实施例中,在第一语法元素指定对转换启用参考图片重采样工具的情况下,第二语法元素被包括在sps中。在一些实施例中,在第二语法元素不包括在sps中的情况下,第二语法元素被推断为等同于指示不允许图片的分辨率在clvs内改变的值。在一些实施例中,第一语法元素和第二语法元素被彼此独立地指示用于转换。
[0418]
在一些实施例中,对应于多个语法元素中的每一个的一个或多个通用约束标志被指示用于转换。在一些实施例中,该规则指定在当前图片包括多个子图片的情况下,不允许图片的分辨率在编解码层视频序列(clvs)内改变。在一些实施例中,该规则指定在当前图片包括多个子图片的情况下,对转换启用参考图片重采样工具。在一些实施例中,指定缩放窗口偏移参数是否存在于图片参数集中的约束标志基于第一语法元素来确定。在一些实施例中,在第一语法元素指示对转换禁用参考图片重采样工具的情况下,约束标志指定在图片参数集中省略缩放窗口偏移参数。
[0419]
在一些实施例中,多个语法元素被包括在视频参数集中。在一些实施例中,多个语法元素中的至少一个适用于由视频参数集指定的所有层。在一些实施例中,多个语法元素中的至少一个具有在视频参数集中指示的多个实例,并且多个实例中的每一个适用于依赖关系树中的所有层。在一些实施例中,多个语法元素中的每一个使用利用一比特的一元编解码方法进行编解码。
[0420]
图14是根据本技术的用于视频处理的方法1400的流程图表示。方法1400包括操作1410,根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定具有非二进制值的语法元素用于指定(1)具有与当前图片不同的分辨率的参考图片被重采样的参考图片重采样工具、以及(2)编解码层视频序列(clvs)内的图片分辨率的改变的使用。
[0421]
在一些实施例中,语法元素的值为0指示对转换禁用参考图片重采样工具。在一些实施例中,语法元素的值为1指示对转换启用参考图片重采样工具,并且在编解码层视频序列(clvs)内不允许图片分辨率的改变。在一些实施例中,语法元素的值为2指示对转换启用参考图片重采样工具,并且在编解码层视频序列(clvs)内允许图片分辨率的改变。在一些实施例中,语法元素的指示基于帧间层预测编解码工具是否被允许用于转换。在一些实施
例中,语法元素是无符号整数0阶exp-golobm编解码的语法元素。在一些实施例中,语法元素使用n比特来编解码为无符号整数,n是整数。在一些实施例中,n等于2。
[0422]
图15是根据本技术的用于视频处理的方法1500的流程图表示。方法1500包括操作1510,根据规则来执行包括多个层的视频和视频的比特流之间的转换。该规则指定在子图片被视为用于转换的视频图片的情况下,跨层对齐限制被应用于多个层中包括包含子图片的当前层和与当前层相关联的层的子集的少于所有的层。跨层对齐限制包括对视频图片的至少一个维度、视频图片内的子图片的数量、至少一个子图片的位置或子图片的标识的限制。
[0423]
在一些实施例中,层的子集包括依赖于当前层的所有更高层。在一些实施例中,层的子集排除当前层的所有更低层和不依赖于当前层的更高层。在一些实施例中,层的子集包括高于当前层的所有层。在一些实施例中,层的子集包括在与当前层相同的输出层集中的所有更高层。在一些实施例中,层的子集包括作为当前层的参考层的所有更低层。在一些实施例中,层的子集包括低于当前层的所有层。在一些实施例中,层的子集包括在与当前层相同的输出层集中的所有更低层。在一些实施例中,层的子集包括低于最高层的所有层。在一些实施例中,层的子集包括高于最低层的所有层。
[0424]
图16是根据本技术的用于视频处理的方法1600的流程图表示。方法1600包括操作1610,根据规则来执行视频的当前层和视频的比特流之间的转换。该规则指定跨层对齐限制被应用于与当前层相关联的依赖关系树中的所有层,而不管所有层中的任意层是否是输出层集中的输出层。跨层对齐限制包括对视频图片的至少一个维度、视频图片内的子图片的数量、至少一个子图片的位置或子图片的标识的限制。依赖关系树中的所有层包括当前层、具有当前层作为参考层的所有层、以及当前层的所有参考层。
[0425]
在一些实施例中,跨层对齐限制还包括关于视频图片中的子图片是否被视为跨所有层的图片的限制。在一些实施例中,跨层对齐限制不限定是否在跨所有层的视频图片内的子图片的边界上应用环路滤波操作。在一些实施例中,该规则还指定在序列参数集中的语法元素指示视频图片包括单个子图片的情况下,不应用跨层对齐限制。在一些实施例中,该规则还指定在语法元素指示在序列参数集中省略子图片信息的情况下,不应用跨层对齐限制。在一些实施例中,该规则还指定跨层对齐限制被应用于访问单元的目标集合中的图片。在一些实施例中,对于参考序列参数集的当前层的每个clvs,根据解码顺序,访问单元的目标集合包括从包括clvs的第一个图片的第一访问单元开始到包括clvs的最后一个图片的第二访问单元的所有访问单元。
[0426]
在一些实施例中,跨层对齐限制还包括缩放窗口偏移参数,缩放窗口偏移参数包括以下中的至少一个:(1)缩放窗口的左偏移、(2)缩放窗口的右偏移、(3)缩放窗口的顶部偏移、或(4)缩放窗口的底部偏移。
[0427]
图17是根据本技术的用于视频处理的方法1700的流程图表示。方法1700包括操作1710,根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定对在与当前图片相同的层中的参考图片的重采样被启用,而不管指定在编解码层视频序列(clvs)中是否允许图片分辨率的改变的语法元素的值如何。
[0428]
在一些实施例中,在语法元素指示在clvs中不允许图片分辨率的改变的情况下,对参考图片启用具有与当前图片不同的图片分辨率的参考图片被重采样的参考图片重采
样工具。
[0429]
图18是根据本技术的用于视频处理的方法1800的流程图表示。方法1800包括操作1810,根据规则来执行包括多个层的视频的当前图片和视频的比特流之间的转换。该规则指定以下之一:(1)不允许当前图片的参考图片被并置,或者(2)在当前图片的参考图片被并置的情况下,在当前图片没有缩放的转换期间使用指向参考图片的运动矢量。在一些实施例中,参考图片是长期参考图片。在一些实施例中,参考图片是帧间层参考图片。
[0430]
图19是根据本技术的用于视频处理的方法1900的流程图表示。方法1900包括操作1910,根据规则来执行视频和视频的比特流之间的转换。该规则指定缩放窗口偏移参数对于相同的编解码层视频序列(clvs)或编解码视频序列(cvs)中具有以亮度样点的数量表示的相同维度的任意两个视频图片是相同的。
[0431]
在一些实施例中,缩放窗口偏移参数包括以下中的至少一个:(1)缩放窗口的左偏移、(2)缩放窗口的右偏移、(3)缩放窗口的顶部偏移、或(4)缩放窗口的底部偏移。在一些实施例中,该维度包括图片的宽度或高度。在一些实施例中,该规则还指定任意两个视频图片属于相同层。在一些实施例中,该规则还指定任意两个视频图片属于包括第一层和第二层的两个层。第一层是第二层的参考层。
[0432]
图20是根据本技术的用于视频处理的方法2000的流程图表示。方法2000包括操作2010,根据规则来执行视频的当前图片和视频的比特流之间的转换。该规则指定,响应于当前图片的图片分辨率不同于当前图片的相同访问单元中的至少一个其他图片,帧间层预测编解码工具仅在当前图片是所有视频编解码层(vcl)网络抽象层(nal)单元具有nal单元类型的相同值的帧内随机访问点(irap)图片的情况下被启用。
[0433]
在一些实施例中,不允许参考图片的图片分辨率的改变指示参考图片的图片分辨率与当前图片的图片分辨率相同。在一些实施例中,视频图片的图片分辨率包括视频图片的宽度或高度。在一些实施例中,视频图片的图片分辨率包括视频图片的缩放窗口或一致性窗口的宽度、高度和/或左上方位置。
[0434]
在一些实施例中,该转换包括将视频编码为比特流。在一些实施例中,该转换包括解码比特流以生成视频。
[0435]
在本文描述的技术方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的技术方案中,解码器可以在根据格式规则知道语法元素的存在和不存在的情况下,使用格式规则来解析编解码表示中的语法元素,以产生解码视频。
[0436]
在本文中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于由语法定义的比特流中的并置位置或在不同位置传播的比特。例如,可以根据经过变换和编码的误差残差值、并且也可以使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上技术方案所描述的。类似地,编码器可以确定包括或不包括特定语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
[0437]
本文中描述的所公开的和其他技术方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或
者其中一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理装置执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器装置。
[0438]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文件中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0439]
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0440]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,帧内硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或并入专用逻辑电路中。
[0441]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[0442]
类似地,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文档
实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[0443]
仅描述了一些实现和示例,其他实施、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献