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

视频编解码中的子图片级别信息信令通知的制作方法

2023-02-04 14:54:10 来源:中国专利 TAG:

视频编解码中的子图片级别信息信令通知
1.相关申请的交叉引用
2.根据巴黎公约适用的专利法和/或规则,提出本技术是为了及时要求2020年6月9日提交的美国临时专利申请no.63/036,743的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本技术的公开内容的部分。
技术领域
3.该专利文档涉及图像和视频编解码和解码。


背景技术:

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


技术实现要素:

5.本文档公开了可由视频编码器和解码器使用以处理视频或图像的编解码表示的技术。
6.在一个示例方面,公开了一种视频处理方法。该方法包括执行包括一个或多个子图片的视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理具有填充符(filler)有效负载(payload)的一个或多个补充增强信息消息,并且其中,格式规则不允许具有填充符有效负载的一个或多个补充增强信息消息在可缩放嵌套(scalable nesting)补充增强信息消息中。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理一个或多个语法元素,并且其中,格式规则规定,一个或多个语法元素用于指示具有其中有多个子图片的图片的视频的层的子图片信息。
8.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括多个子图片的视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理可缩放嵌套的(scalable-nested)补充增强信息消息,并且其中,格式规则规定,使用一个或多个子图片索引来将一个或多个子图片关联到可缩放嵌套的补充增强信息消息。
9.在另一个示例方面,公开了一种视频处理方法。该方法包括根据格式规则执行包括一个或多个子图片的视频与视频的比特流之间的转换,其中,格式规则规定,响应于可缩放嵌套补充增强信息消息包括一个或多个子图片级别信息补充增强信息消息,将比特流中的可缩放嵌套补充增强信息消息中的第一语法元素被设置为特定值,并且其中,第一语法元素的特定值指示,可缩放嵌套补充增强信息消息包括应用于特定输出视频层集的一个或多个可缩放嵌套补充增强信息消息。
10.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括多个子图片的视频和视频的比特流之间的转换,其中,转换是根据格式规则,格式规则规定,不允许可
缩放嵌套补充增强信息消息包括第一有效负载类型的第一补充增强信息消息和第二有效负载类型的第二补充增强信息消息。
11.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频和视频的比特流之间的转换,其中,根据格式规则执行转换,格式规则规定,响应于补充增强信息网络抽象层单元包括可缩放嵌套补充增强信息消息,补充增强信息网络抽象层单元包括等于前缀补充增强信息网络抽象层单元类型的网络抽象层单元类型,其中,可缩放嵌套补充增强信息消息包括与特定有效负载类型不相关的补充增强信息消息。
12.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频和视频的比特流之间的转换,其中,根据格式规则执行转换,格式规则规定,响应于补充增强信息网络抽象层单元包括可缩放嵌套补充增强信息消息,补充增强信息网络抽象层单元包括等于后缀补充增强信息网络抽象层单元类型的网络抽象层单元类型,其中,可缩放嵌套补充增强信息消息包括与特定有效负载类型相关的补充增强信息消息。
13.在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括一个或多个子图片或一个或多个子图片序列的视频与视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则规定可缩放嵌套的补充增强信息(sei)是否或如何被包含在编解码表示中。
14.在又一示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
15.在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
16.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
17.本文档中描述了这些和其他特征。
附图说明
18.图1示出了图片的光栅扫描条带分割的示例,其中图片被划分为12个片和3个光栅扫描条带。
19.图2示出了图片的矩形条带分割的示例,其中图片被划分为24个片(6个片列和4个片行)和9个矩形条带。
20.图3示出了被分割为片和矩形条带的图片的示例,其中图片被划分为4个片(2个片列和2个片行)和4个矩形条带。
21.图4示出了被分割为15个片、24个条带和24个子图片的图片。
22.图5为示例视频处理系统的框图。
23.图6为视频处理装置的框图。
24.图7为视频处理的示例方法的流程图。
25.图8是图示根据本公开的一些实施例的视频编解码系统的框图。
26.图9是图示根据本公开的一些实施例的编码器的框图。
27.图10是图示根据本公开的一些实施例的解码器的框图。
28.图11示出了典型的基于子图片的视口相关360
°
视频编解码方案的示例。
29.图12示出了基于子图片和空域可缩放性的视口相关360
°
视频编解码方案。
30.图13至19是处理视频数据的示例方法的流程图。
具体实施方式
31.本文档中使用章节标题是为了易于理解并且不将各章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,相对于vvc规范的当前草案,对文本的编辑更改通过删除线表示已取消的文本和突出显示表示添加的文本(包括粗体斜体)来显示。
32.1.介绍
33.本文档与视频编解码技术有关。具体来说,它是关于为子图片序列指定并信令通知级别信息。它可以被应用于任何支持单层视频编解码和多层视频编解码的视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(vvc)。
34.2.缩写
35.aps(adaptation parameter set)
ꢀꢀꢀꢀ
自适应参数集
36.au(access unit)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
接入单元
37.aud(access unit delimiter)
ꢀꢀꢀꢀꢀꢀꢀ
接入单元分隔符
38.avc(advanced video coding)
ꢀꢀꢀꢀꢀꢀ
高级视频编解码
39.bp(buffering period)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
缓冲期
40.clvs(coded layer video sequence) 编解码层视频序列
41.cpb(coded picture buffer)
ꢀꢀꢀꢀꢀꢀꢀꢀ
编解码图片缓冲器
42.cra(clean random access)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
纯随机接入
43.ctu(coding tree unit)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
编解码树单元
44.cvs(coded video sequence)
ꢀꢀꢀꢀꢀꢀꢀꢀ
编解码视频序列
45.dpb(decoded picture buffer)
ꢀꢀꢀꢀꢀꢀ
解码图片缓冲器
46.dps(decoding parameter set)
ꢀꢀꢀꢀꢀꢀ
解码参数集
47.dui(decoding unit information)
ꢀꢀꢀ
解码单元信息
48.eob(end of bitstream)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
比特流结尾
49.eos(end of sequence)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
序列结尾
50.gci(general constraints information)
ꢀꢀꢀꢀꢀꢀ
通用约束信息
51.gdr(gradual decoding refresh)
ꢀꢀꢀꢀ
逐渐解码刷新
52.hevc(high efficiency video coding)
ꢀꢀꢀ
高效视频编解码
53.hrd(hypothetical reference decoder)
ꢀꢀ
假设参考解码器
54.idr(instantaneous decoding refresh)
ꢀꢀ
即时解码刷新
55.jem(joint exploration model)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
联合探索模型
56.mcts(motion-constrained tile sets)
ꢀꢀꢀ
运动约束片集
57.nal(network abstraction layer)
ꢀꢀꢀꢀꢀ
网络抽象层
58.ols(output layer set)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
输出层集
59.ph(picture header)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
图片标头
60.pps(picture parameter set)
ꢀꢀꢀꢀꢀ
图片参数集
61.pt(picture timing)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
图片定时
62.ptl(profile,tier and level)
ꢀꢀꢀꢀꢀꢀꢀꢀ
档次、层和级别
63.pu(picture unit)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
图片单元
64.rrp(reference picture resampling)
ꢀꢀ
参考图片重采样
65.rbsp(raw byte sequence payload)
ꢀꢀꢀꢀ
原始字节序列有效负载
66.sei(supplemental enhancement information) 补充增强信息
67.sh(slice header)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
条带标头
68.sli(subpicture level information)
ꢀꢀ
子图片级别信息
69.sps(sequence parameter set)
ꢀꢀꢀꢀꢀꢀꢀꢀ
序列参数集
70.svc(scalable video coding)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
可缩放视频编解码
71.vcl(video coding layer)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
视频编解码层
72.vps(video parameter set)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
视频参数集
73.vtm(vvc test model)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
vvc测试模型
74.vui(video usability information)
ꢀꢀꢀ
视频可用性信息
75.vvc(versatile video coding)
ꢀꢀꢀꢀꢀꢀꢀꢀ
多功能视频编解码
76.3.初步讨论
77.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准的发展而得以演进。itu-t制作了h.261和h.263标准,iso/iec制作了mpeg-1和mpeg-4visual标准,并且两个组织联合制作了h.262/mpeg-2视频标准和h.264/mpeg-4高级视频编解码(avc)标准和h.265/hevc标准。从h.262开始,视频编解码标准基于混合视频编解码结构,其中,利用时域预测加变换编解码。为了探索hevc之外的未来视频编解码技术,由vceg和mpeg于2015年联合成立联合视频探索团队(joint video exploration team,jvet)。从那时起,jvet采用了许多新方法并将其纳入名为联合探索模型(jem)的参考软件。jvet会议每季度同时举行一次,新编解码标准的目标是与hevc相比降低50%比特率。新的视频编解码标准在2018年4月的jvet会议上被正式命名为多功能视频编码(vvc),并且第一版vvc测试模型(vtm)也在当时发布。随着vvc标准化的不断努力,新的编解码技术在每次jvet会议上都被采用到vvc标准中。vvc的工作草案和测试模型vtm在每次会议后都会更新。vvc项目现在的目标是在2020年7月的会议上技术完成(fdis)。
78.3.1.hevc中的图片分割方案
79.hevc包括四种不同的图片分割方案,即常规条带、非独立条带、片和波前并行处理(wavefront parallel processing,wpp),这可应用于最大传输单元(maximum transfer unit,mtu)尺寸匹配、并行处理和减小端到端延迟。
80.常规条带与h.264/avc中的类似。每个常规条带都被封装在它自己的nal单元中,并且禁用了跨条带边界的图内预测(帧内样点预测、运动信息预测、编解码模式预测)和熵编解码依赖性。因此,可以独立于同一图片内的其他常规条带重建常规条带(尽管由于环路滤波操作可能仍然存在相互依赖性)。
81.常规条带是唯一可用于并行化的工具,该工具在h.264/avc中也以几乎相同的形式可用。基于常规条带的并行化不需要太多处理器间或核间通信(除了在解码预测编解码
v2.zip。包含此修订内,hevc指定了三个与mct相关的sei消息,即时域mcts sei消息、mcts提取信息集sei消息和mcts提取信息嵌套sei消息。
88.时域mcts sei消息指示比特流中存在mcts并信令通知mcts。对于每个mcts,运动矢量被限制为指向mcts内的全样点位置和仅需要mcts内的全样点位置进行插值的分数样点位置,并且不允许使用对于来自mcts之外的块推导的时域运动矢量预测的运动矢量候选。这样,每个mcts可以在不存在未包括在mcts中的片的情况下进行独立解码。
89.mcts提取信息集sei消息提供补充信息,该补充信息可用于mcts子比特流提取(指定为sei消息的语义的部分)以生成符合mcts组的比特流。该信息由多个提取信息集组成,每个提取信息集定义多个mcts组并包含要在mcts子比特流提取过程期间使用的替换vps、sps和pps的rbsp字节。在根据mcts子比特流提取过程提取子比特流时,参数集(vps、sps和pps)需要重写或替换,条带头需要稍微更新,因为一个或全部与条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)通常需要具有不同的值。
90.3.2.vvc中图片的分割
91.在vvc中,图片被分为一个或多个片行和一个或多个片列。片是覆盖图片的矩形区域的ctu序列。片中的ctu在该片内以光栅扫描顺序进行扫描。
92.条带由图片的片内的整数个完整片或整数个连续完整ctu行组成。
93.支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的片光栅扫描中的完整条带序列。在矩形条带模式中,条带包含共同形成图片的矩形区域的多个完整片或共同形成图片的矩形区域的一个片的多个连续完整ctu行。矩形条带内的片在对应于该条带的矩形区域内以片光栅扫描顺序进行扫描。
94.子图片包含共同覆盖图片的矩形区域的一个或多个条带。
95.图1示出了图片的光栅扫描条带分割的示例,其中图片被划分为12个片和3个光栅扫描条带。
96.图2示出了图片的矩形条带分割的示例,其中图片被划分为24个片(6个片列和4个片行)和9个矩形片。
97.图3示出了被分割为片和矩形条带的图片的示例,其中图片被划分为4个片(2个片列和2个片行)和4个矩形条带。
98.图4示出了图片的子图片分割的示例,其中图片被分割为18个片,左侧的12个片(每个覆盖一个有4x4个ctu的条带)以及右侧的6个片(每个覆盖2个有2x2个ctu的垂直堆叠的条带),总共产生24个条带和24个不同尺寸的子图片(每个条带是子图片)。
99.3.3.序列内的图片分辨率变化
100.在avc和hevc中,图片的空域分辨率不能改变,除非使用新sps的新序列以irap图片开始。vvc允许在不编码irap图片的位置改变序列内的图片分辨率,irap图片总是被帧内编解码。此特征有时被称为参考图片重采样(rpr),因为当参考图片具有与正在解码的当前图片不同的分辨率时,该特征需要对用于帧间预测的参考图片进行重采样。
101.缩放比率被限制为大于或等于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。水平和垂直缩放比率是基于图片宽度和高度以及为参考图片和当前图片指定的左、右、顶部和底部缩放偏移而被推导的。
102.与hevc不同的支持此功能的vvc设计的其他方面包括:i)在pps中而不是在sps中信令通知的图片分辨率和对应的一致性窗口,而在sps中信令通知最大图片分辨率。ii)对于单层比特流,每个图片存储(dpb中存储一个解码图片的槽)占用存储具有最大图片分辨率的解码图像所需的缓冲器尺寸。
103.3.4.通用和vvc中的可缩放视频编解码(svc)
104.可缩放视频编解码(svc,有时也称为视频编解码中的可缩放性)是指使用基础层(base layer,bl)(有时称为参考层(reference layer,rl))和一个或多个可缩放增强层(enhancement layer,el)的视频编解码。在svc中,基础层可以携带具有基础质量级别的视频数据。一个或多个增强层可以携带额外的视频数据以支持例如更高的空域、时域和/或信噪比(signal-to-noise,snr)级别。可以相对于先前编码的层来定义增强层。例如,底层可以用作bl,而顶层可以用作el。中间层可以用作el或rl,或两者兼而有之。例如,中间层(例如,既不是最低层也不是最高层的层)可以是中间层下方的层(例如基础层或任何居间的增强层)的el,并且同时用作中间层上方的一个或多个增强层的rl。类似地,在hevc标准的多视图(multiview)或3d扩展中,可能存在多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
105.在svc中,编码器或解码器使用的参数基于它们可以在其中使用的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组成参数集。例如,可以由比特流中不同层的一个或多个编解码视频序列使用的参数可以被包括在视频参数集(vps)中,并且可以由编解码视频序列中的一个或多个图片使用的参数被包含在序列参数集(sps)中。类似地,由图片中的一个或多个条带使用的参数可以被包括在图片参数集(pps)中,并且特定于单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在给定时间使用哪个(哪些)参数集的指示。
106.由于vvc中对参考图片重采样(rpr)的支持,可以在不需要任何额外的信令通知处理级别编解码工具的情况下设计对包含多层的比特流的支持,例如,在vvc中具有sd和hd分辨率的两个层,因为空域可缩放性支持所需的上采样可仅使用rpr上采样滤波器。然而,为了支持可缩放性,需要高级别的语法变化(与不支持可缩放性相比)。vvc版本1中规定了可缩放性支持。与任何早期视频编解码标准中的可缩放性支持不同,包括avc和hevc的扩展,vvc可缩放性的设计已尽可能地对单层解码器设计友好。多层比特流的解码能力是以好像比特流中只有单层的方式来规定的。例如,以独立于要解码的比特流中的层的数量的方式指定诸如dpb尺寸的解码能力。基本上,为单层比特流设计的解码器不需要太多改变就能够解码多层比特流。与avc和hevc的多层扩展的设计相比,hls方面在牺牲一些灵活性的情况下得到了显著简化。例如,irap au需要包含cvs中存在的每个层的图片。
107.3.5.基于子图片的视口相关360
°
视频流
108.在360
°
视频(又称全向视频)的流式传输中,在任何特定时刻,仅向用户呈现整个
全向视频球体的子集(即当前视口),而用户可随时转动他/她的头部以改变观看方向,从而改变当前视口。虽然希望在客户端至少有一些未被当前视口覆盖的区域的较低质量表示,并准备好呈现给用户,以防用户突然将他/她的查看方向更改为球体上的任何位置,但是全向视频的高质量表示只需要用于当前正在呈现给用户的当前视口。以适当的粒度将整个全向视频的高质量表示划分为子图片可以实现这种优化。使用vvc,这两种表示可以被编码为相互独立的两个层。
109.典型的基于子图片的视口相关360
°
视频传输方案如图11所示,其中,完整视频的较高分辨率表示由子图片组成,而完整视频的较低分辨率表示不使用子图片,并且可使用比较高分辨率表示更低频率的随机接入点进行编解码。客户端接收较低分辨率的完整视频,而对于较高分辨率的视频,它只接收和解码覆盖当前视口的子图片。
110.最新的vvc草案规范也支持如图12所示的改进的360
°
视频编解码方案。与图11所示的方法相比,唯一的区别在于层间预测(inter-layer prediction,ilp)被应用于图12所示的方法。
111.3.6.参数集
112.avc、hevc和vvc指定参数集。参数集的类型包括sps、pps、aps和vps。所有avc、hevc和vvc都支持sps和pps。vps是从hevc开始被引入的,并且被包含在hevc和vvc两者中。aps未被包含在avc或hevc中,但被包含在最新的vvc草案文本中。
113.sps被设计为携带序列级别标头信息,并且pps被设计为携带不经常变化的图片级别标头信息。使用sps和pps,不需要为每个序列或图片重复不经常变化的信息,因此可以避免该信息的冗余信令通知。此外,使用sps和pps实现了重要标头信息的带外传输,从而不仅避免了冗余传输的需要,而且还提高了错误恢复能力。
114.引入vps是为了携带多层比特流中所有层共同的序列级别标头信息。
115.引入aps是为了携带这样的图片级别或条带级别信息,这些信息需要相当多的位进行编解码,可以由多个图片共享,并且在序列中可以有很多不同的变化。
116.3.7.vvc中子图片序列的嵌套的sei消息的指定和信令通知
117.在最新的vvc草案文本中,vvc中嵌套的sei消息子图片序列的指定和信令通知是通过可缩放嵌套sei消息进行的。在子图片级别信息(sli)sei消息的语义中定义子图片序列。通过应用vvc的条款c.7中规定的子图片子比特流提取过程,可以从比特流中提取子图片序列。
118.最新vvc草案文本中的可缩放嵌套sei消息的语法和语义如下。
119.d.6.1可缩放嵌套sei消息语法
[0120][0121]
d.6.2可缩放嵌套sei消息语义
[0122]
可缩放嵌套sei消息提供了一种机制,以将sei消息与特定的ols或特定层相关联,并将sei消息与特定的子图片组相关联。
[0123]
可缩放嵌套sei消息包含一个或多个sei消息。可缩放嵌套sei消息中包含的sei消息也被称为可缩放嵌套的sei消息。
[0124]
比特流一致性的要求是以下限制适用于可缩放嵌套sei消息中包含的sei消息:
[0125]

具有payloadtype等于132(解码图片哈希)的sei消息只能被包含在其中sn_subpic_flag等于1的可缩放嵌套sei消息中。
[0126]

具有payloadtype等于133(可缩放嵌套)的sei消息不应被包含在可缩放嵌套sei
消息中。
[0127]

当可缩放嵌套sei消息包含bp、pt或dui sei消息时,可缩放嵌套sei消息不应包含其中payloadtype不等于0(bp)、1(pt)或130(dui)的任何其他sei消息。
[0128]
比特流一致性的要求是以下限制适用于包含可缩放嵌套sei消息的sei nal单元的nal_unit_type的值:
[0129]

当可缩放嵌套sei消息包含其中payloadtype等于0(bp)、1(pt)、130(dui)、145(drap指示)或168(帧字段信息)的sei消息时,包含具有可缩放嵌套sei消息的sei nal单元应具有等于prefix_sei_nut的nal_unit_type。
[0130]
sn_ols_flag等于1指定可缩放嵌套的sei消息适用于特定的ols。sn_ols_flag等于0指定可缩放嵌套的sei消息适用于特定层。
[0131]
比特流一致性的要求是以下限制适用于sn_ols_flag的值:
[0132]

当可缩放嵌套sei消息包含具有payloadtype等于0(bp)、1(pt)或130(dui)的sei消息时,sn_ols_flag的值应等于1。
[0133]

当可缩放嵌套sei消息包含具有payloadtype等于vclassociatedseilist中的值的sei消息时,sn_ols_flag的值应等于0。
[0134]
sn_subpic_flag等于1指定适用于规定ols或层的可缩放嵌套的sei消息仅适用于规定ols或层的特定子图片。sn_subpic_flag等于0指定适用于特定ols或层的可缩放嵌套的sei消息适用于规定ols或层的所有子图片。
[0135]
sn_num_olss_minus1加1指定适用于可缩放嵌套的sei消息的ols的数量。sn_num_olss_minus1的值应在0到total numolss-1的范围(包括端值)内。
[0136]
sn_ols_idx_delta_minus1[i]用于推导变量nestingolsidx[i],该变量指定当sn_ols_flag等于1时适用于可缩放嵌套sei消息的第i个ols的ols索引。sn_ols_idx_delta_minus1[i]的值应在0到totalnumolss-2的范围(包括端值)内。
[0137]
变量nestingolsidx[i]推导如下:
[0138][0139]
sn_all_layers_flag等于1指定可缩放嵌套的sei消息适用于所有层,所有层具有的nuh_layer_id大于或等于当前sei nal单元的nuh_layer_id。sn_all_layers_flag等于0指定可缩放嵌套的sei消息可能会也可能不会适用于所有层,所有层具有的numh_layer_id大于或等于当前sei nal单元的numh_layer_id。
[0140]
sn_num_layers_minus1加1指定适用于可缩放嵌套的sei消息的层的数量。sn_num_layers_minus1的值应在0到vps_max_layers_minus1-generallayerid x[nuh_layer_id]的范围(包括端值)内,其中,nuh_layer_id是当前sei nal单元的nuh_layer_id。
[0141]
sn_layer_id[i]指定,当sn_all_layers_flag等于0时,适用于可缩放嵌套sei消息的第i层的nuh_layer_id值。sn_layer_id[i]的值应大于nuh_layer_id,其中,nuh_layer_id是当前sei nal单元的nuh_layer_id。
[0142]
当sn_ols_flag等于0时,指定适用于可缩放嵌套的sei消息的层的数量的变量nestingnumlayers,以及对于i在0到nestingnumlayers-1范围(包括端值)内的指定适用于可缩放嵌套的sei消息的层的nuh_layer_id值的列表的列表nestinglayerid[i],推导如下,其中,nuh_layer_id是当前sei nal单元的nuh_layer_id:
[0143][0144][0145]
sn_num_subpics_minus1加1指定适用于可缩放嵌套的sei消息的子图片的数量。sn_num_subpics_minus1的值应小于或等于clvs中图片参考的sps中sps_num_subpics_minus1的值。
[0146]
sn_subpic_id_len_minus1加1指定用于表示语法元素sn_subpic_id[i]的比特数。sn_subpic_id_len_minus1的值应在0到15的范围(包括端值)内。
[0147]
比特流一致性的要求是sn_subpic_id_len_minus1的值对于clvs中存在的所有可缩放嵌套sei消息应相同。
[0148]
sn_subpic_id[i]指示与可缩放嵌套的sei消息关联的第i个子图片id。sn_subpic_id[i]语法元素的长度是sn_subpic_id_len_minus1 1比特。
[0149]
sn_num_seis_minus1加1指定可缩放嵌套的sei消息的数量。sn_num_seis_minus1的值应在0到63的范围(包括端值)内。
[0150]
sn_zero_bit应等于0。
[0151]
4.公开的技术方案所解决的技术问题
[0152]
通过可缩放嵌套sei消息为子图片和子图片序列指定和信令通知嵌套的sei消息的现有vvc设计存在以下问题:
[0153]
1)为了将可缩放嵌套的sei消息关联到一个或多个子图片,可缩放嵌套的sei消息使用子图片id。然而,可缩放嵌套的sei消息的持续范围可以是多个连续的au,而层中具有特定子图片索引的子图片的子图片id可以在clvs内改变。因此,在可缩放嵌套sei消息中应该使用子图片索引,而不是使用子图片id。
[0154]
2)在相关子图片被移除时,填充符有效负载sei消息(如果存在)需要在子图片子比特流提取过程中从输出比特流中移除。然而,当可以在可缩放嵌套sei消息中包含填充符有效负载sei消息时,在子图片子比特流提取过程中移除填充符有效负载sei消息有时需要
从可缩放嵌套sei消息中提取一些可缩放嵌套的sei消息。
[0155]
3)由于sli sei消息适用于ols,与其他三个hrd相关的sei消息(即bp/pt/duisei消息)一样,当sli sei消息是可缩放嵌套的时,sn_ols_flag的值需要等于1。此外,由于sli sei消息指定了适用于sli sei消息的ols中图片的所有子图片的信息,对于包含sli sei消息的可缩放嵌套sei消息,sn_subpic_flag的值等于1是没有意义的。
[0156]
4)缺少约束来要求当可缩放嵌套sei消息包含bp、pt、dui或sli sei消息时,可缩放嵌套sei消息不应包含任何其他其中payloadtype不等于0(bp)、1(pt)、130(dui)或203(sli)的sei消息。
[0157]
5)规定当可缩放嵌套sei消息包含其中payloadtype等于0(bp)、1(pt)、130(dui)、145(drap指示)或168(帧字段信息)的sei消息时,包含可缩放嵌套sei消息的sei nal单元应具有等于prefix_sei_nut的nal_unit_type。然而,当嵌套许多其他sei消息时,可缩放嵌套sei消息的值也应具有等于prefix_sei_nut的nal_unit_type。
[0158]
6)缺少约束:当可缩放嵌套sei消息包含其中payloadtype等于132(解码图片哈希)的sei消息时,包含可缩放嵌套sei消息的sei nal单元应具有等于suffix_sei_nut的nal_unit_type。
[0159]
7)sn_num_subpics_minus1和sn_subpic_idx[i]的语义需要以这样一种方式规定,即语法元素是关于每个图片具有多个子图片的层的子图片,以便能够支持ols具有每个图片具有多个子图片的一些层和每个图片具有单个子图片的一些其他层的情况。
[0160]
5.解决方案和实施例的列表
[0161]
为解决上述及其他问题,公开了如下总结的方法。解决方案项目应该被认为是解释一般概念的示例,而不应该以狭隘的方式被解释。此外,这些项目可以单独使用或以任何方式组合使用。
[0162]
1)为了解决第一个问题,使用子图片索引(而不是使用子图片id)将子图片关联到可缩放嵌套sei消息中的可缩放嵌套的sei消息。
[0163]
a.在一个示例中,将语法元素sn_subpic_id[i]更改为sn_subpic_idx[i],并因此移除sn_subpic_id_len_minus1语法元素。
[0164]
2)为了解决第二个问题,禁止填充符有效负载sei消息是可缩放嵌套的,即,被包含在可缩放嵌套sei消息中。
[0165]
3)为了解决第三个问题,添加约束使得当可缩放嵌套sei消息包含一个或多个sli sei消息时,sn_ols_flag的值应等于1。
[0166]
a.在一个示例中,此外,或备选地,添加约束使得当可缩放嵌套sei消息包含一个或多个sli sei消息时,sn_subpic_flag的值应等于0。
[0167]
4)为解决第4个问题,要求当可缩放嵌套sei消息包含bp、pt、dui或sli sei消息时,该可缩放嵌套sei消息不得包含任何其他其中payloadtype不等于0(bp)、1(pt)、130(dui)或203(sli)的sei消息。
[0168]
5)为解决第5个问题,规定当可缩放嵌套sei消息包含其中payloadtype不等于3(填充符有效负载)或132(解码图片哈希)的sei消息时,包含可缩放嵌套sei消息的sei nal单元应具有等于prefix_sei_nut的nal_unit_type。
[0169]
6)为了解决第6个问题,添加一个约束,使得当可缩放嵌套sei消息包含其中
payloadtype等于132(解码图片哈希)的sei消息时,包含可缩放嵌套sei消息的sei nal单元应具有等于suffix_sei_nut的nal_unit_type。
[0170]
7)为了解决第7个问题,sn_num_subpics_minus1和sn_subpic_idx[i]的语义是以这样的方式规定的,即语法元素指定关于每个图片具有多个子图片的层的子图片的信息。
[0171]
6.实施例
[0172]
下面是本章节上面总结的一些本发明方面的一些示例实施例,它们可以适用于vvc规范。更改的文本基于jvet-s0152-v5中的最新vvc文本。已添加或修改的大部分相关部分以粗体斜体文本表示,并且一些删除的部分用左右双括号标记(例如,[[]]),其中,删除的文本位于双括号之间。
[0173]
6.1.实施例1
[0174]
本实施例针对项目1至5及其一些子项目。
[0175]
d.6.1可缩放嵌套sei消息语法
[0176]
[0177][0178]
d.6.2可缩放嵌套sei消息语义
[0179]
可缩放嵌套sei消息提供了一种机制,以将sei消息与特定的ols或特定层相关联,以及将sei消息与特定的子图片组相关联。
[0180]
可缩放嵌套sei消息包含一个或多个sei消息。可缩放嵌套sei消息中包含的sei消息也被称为可缩放嵌套的sei消息。
[0181]
比特流一致性的要求是以下限制适用于可缩放嵌套sei消息中包含的sei消息:
[0182]
[[

具有payloadtype等于132(解码图片哈希)的sei消息只能被包含在其中sn_subpic_flag等于1的可缩放嵌套sei消息中。]]
[0183]

具有payloadtype等于3133(可缩放嵌套)的sei消息不应被包含在可缩放嵌套sei消息中。
[0184]

当可缩放嵌套sei消息包含bp、pt、[[或]]duisei消息时,可缩放嵌套sei消息不应包含其中payloadtype不等于0(bp)、1(pt)、[[或]]130(dui)的任何其他sei消息。
[0185]
比特流一致性的要求是以下限制适用于包含可缩放嵌套sei消息的sei nal单元的nal_unit_type的值:
[0186]

当可缩放嵌套sei消息包含其中payloadtype当可缩放嵌套sei消息包含其中payloadtype[[等于0(bp)、1(pt)、130(dui)、145(drap指示)或168(帧字段信息)]]的sei消息时,包含具有可缩放嵌套sei消息的sei nal单元应具有等于prefix_sei_nut的nal_unit_type。
[0187][0188]
sn_ols_flag等于1指定可缩放嵌套的sei消息适用于特定的ols。sn_ols_flag等于0指定可缩放嵌套的sei消息适用于特定层。
[0189]
比特流一致性的要求是以下限制适用于sn_ols_flag的值:
[0190]

当可缩放嵌套sei消息包含具有payloadtype等于0(bp)、1(pt)、[[或]]130(dui)的sei消息时,sn_ols_flag的值应等于1。
[0191]

当可缩放嵌套sei消息包含具有payloadtype等于vclassociatedseilist中的值的sei消息时,sn_ols_flag的值应等于0。
[0192]
sn_subpic_flag等于1指定适用于规定ols或层的可缩放嵌套的sei消息仅适用于规定ols或层的特定子图片。sn_subpic_flag等于0指定适用于特定ols或层的可缩放嵌套的sei消息适用于规定ols或层的所有子图片。
[0193][0194]
sn_num_olss_minus1加1指定适用于可缩放嵌套的sei消息的ols的数量。sn_num_olss_minus1的值应在0到total numolss-1的范围(包括端值)内。
[0195]
sn_ols_idx_delta_minus1[i]用于推导变量nestingolsidx[i],该变量指定当sn_ols_flag等于1时适用于可缩放嵌套sei消息的第i个ols的ols索引。sn_ols_idx_delta_minus1[i]的值应在0到totalnumolss-2的范围(包括端值)内。
[0196]
变量nestingolsidx[i]推导如下:
[0197][0198]
sn_all_layers_flag等于1指定可缩放嵌套的sei消息适用于所有层,所有层具有的nuh_layer_id大于或等于当前sei nal单元的nuh_layer_id。sn_all_layers_flag等于0指定可缩放嵌套的sei消息可能会也可能不会适用于所有层,所有层具有的numh_layer_id大于或等于当前sei nal单元的numh_layer_id。
bpic_id_len_minus1 1比特]]。bpic_id_len_minus1 1比特]]。
[0209]
sn_num_seis_minus1加1指定可缩放嵌套的sei消息的数量。sn_num_seis_minus1的值应在0到63的范围(包括端值)内。
[0210]
sn_zero_bit应等于0。
[0211]
图5是可实现本文中所公开的各种技术的示例视频处理系统1900的框图。各种实现方式可以包括系统1900中的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(passive optical network,pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[0212]
系统1900可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以减少从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储或经由所连接的通信来发送,如组件1906所表示的。在输入1902处接收的视频的存储或通信的比特流(或编解码)表示可以由组件1908使用,以生成被发送到显示接口1910的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
[0213]
外围总线接口或显示接口的示例可以包括通用串行总线(universal serial bus,usb)或高清晰度多媒体接口(high definition multimedia interface,hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
[0214]
图6是视频处理装置3600的框图。装置3600可以用于实现本文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件3606可以用于在硬件电路中实现本文档中所描述的一些技术。
[0215]
图8是示出可利用本公开的技术的示例视频编解码系统100的框图。
[0216]
如图8所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码的视频数据,该目标设备120可以被称为视频解码设备。
[0217]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0218]
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。i/o接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由i/o接口116通过网络130a直接发送到目标设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目标设备120存取。
[0219]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0220]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目标设备120集成,或可以在配置为与外置显示设备相接的目标设备120外部。
[0221]
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(hevc)标准、多功能视频编解码(vvc)标准和其他当前和/或其他标准)进行操作。
[0222]
图9是示出视频编码器200的示例的框图,该视频编码器200可以是图8中示出的系统100中的视频编码器114。
[0223]
视频编码器200可以被配置为执行本公开的任何或全部技术。在图9的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
[0224]
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
[0225]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(intra block copy,ibc)单元。ibc单元可以以ibc模式进行预测,其中,至少一个参考图片是当前视频块所位于的图片。
[0226]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图5的示例中分开表示。
[0227]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0228]
模式选择单元203可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(ciip)模式,其中,预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
[0229]
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205
可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
[0230]
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在i条带、p条带还是b条带中。
[0231]
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0232]
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0233]
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
[0234]
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
[0235]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
[0236]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0237]
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令通知。
[0238]
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0239]
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0240]
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残
差数据,并且残差生成单元207可以不进行减去操作。
[0241]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
[0242]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0243]
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
[0244]
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
[0245]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
[0246]
图10是示出视频解码器300的示例的框图,该视频解码器300可以是图8中示出的系统100中的视频解码器114。
[0247]
视频解码器300可以被配置为进行本公开的任何或全部技术。在图10的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
[0248]
在图10的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图9)所描述的编码过程总体反演的解码过程。
[0249]
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行amvp和merge模式确定此类信息。
[0250]
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0251]
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
[0252]
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
[0253]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块
形成预测块。逆量化单元303逆量化(即,去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
[0254]
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
[0255]
接下来提供了一些实施例优选的解决方案的列表。
[0256]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,所有项目)。
[0257]
1.一种视频处理方法,包括:执行包括一个或多个子图片或一个或多个子图片序列的视频与视频的编解码表示之间的转换,其中,编解码表示符合格式规则,该格式规则规定,可缩放嵌套的补充增强信息(sei)是否或如何被包含在编解码表示中。
[0258]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1)。
[0259]
2.根据解决方案1所述的方法,其中,格式规则规定,编解码表示使用子图片索引以将子图片关联到对应的可缩放嵌套的sei信息。
[0260]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目2)。
[0261]
3.根据解决方案1-2中任一项所述的方法,其中,格式规则不允许以可缩放嵌套的方式使用滤波器有效负载sei消息。
[0262]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目3)。
[0263]
4.根据解决方案1-3中任一项所述的方法,其中,格式规则规定,对于包括一个或多个子图片级别信息sei消息的可缩放嵌套的sei消息,标志被包括在编解码表示中用于指示其存在。
[0264]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目4)。
[0265]
5.根据解决方案1-4中任一项所述的方法,其中,格式规则禁止在包含特定类型的消息的可缩放sei消息中包含特定类型的有效负载的嵌套的sei消息。
[0266]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目5)。
[0267]
6.根据方案1-5中任一项所述的方法,其中,格式规则规定不是填充符有效负载类型或解码图片哈希类型的sei消息需要具有特定的网络抽象层单元类型。
[0268]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目6)。
[0269]
7.根据方案1-6中任一项所述的方法,其中,格式规则规定解码图片哈希类型的sei消息需要具有特定的网络抽象层单元类型。
[0270]
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目7)。
[0271]
8.根据解决方案1-7中任一项所述的方法,其中,格式规则规定,语法元素指定关于每个图片具有多个子图片的层的子图片的信息。
[0272]
9.根据解决方案1至8中任一项所述的方法,其中,转换包括将视频编码成编解码表示。
[0273]
10.根据解决方案1至8中任一项所述的方法,其中,转换包括解码编解码表示以生成视频的像素值。
[0274]
11.一种视频解码装置,包括被配置为实现解决方案1至10中的一项或多项所述的方法的处理器。
[0275]
12.一种视频编码装置,包括被配置为实现解决方案1至10中的一项或多项所述的方法的处理器。
[0276]
13.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至10中的任一项所述的方法。
[0277]
14.本文件中描述的方法、装置或系统。
[0278]
在本文描述的解决方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则了解语法元素的存在和不存在以产生解码视频。
[0279]
图13是处理视频数据的示例方法1300的流程图。操作1302包括执行包括一个或多个子图片的视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理具有填充符有效负载的一个或多个补充增强信息消息,并且其中,格式规则不允许具有填充符有效负载的一个或多个补充增强信息消息在可缩放嵌套补充增强信息消息中。
[0280]
在方法1300的一些实施例中,具有填充符有效负载的一个或多个补充增强信息消息包括值等于3的有效负载类型。在方法1300的一些实施例中,格式规则不允许具有可缩放嵌套的一个或多个第二补充增强信息消息在可缩放嵌套补充增强信息消息中。
[0281]
图14是处理视频数据的示例方法1400的流程图。操作1402包括执行视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理一个或多个语法元素,并且其中,格式规则规定一个或多个语法元素用于指示具有其中有多个子图片的图片的视频的层的子图片信息。
[0282]
在方法1400的一些实施例中,一个或多个语法元素包括第一语法元素,并且其中,第一语法元素的值加1指定其中有多个子图片的图片中的子图片的数量。在方法1400的一些实施例中,第一语法元素的值小于或等于由多个子图片层中的图片参考的序列参数集中的第二语法元素的值。在方法1400的一些实施例中,一个或多个语法元素包括第三语法元素,并且其中,第三语法元素指示其中有多个子图片的图片中的每个图片中的第i个子图片的子图片索引。在方法1400的一些实施例中,第一语法元素被标记为sn_num_subpics_minus1。在方法1400的一些实施例中,第三语法元素被标记为sn_subpic_idx[i]。
[0283]
图15是处理视频数据的示例方法1500的流程图。操作1502包括执行包括多个子图片的视频和视频的比特流之间的转换,其中,在转换期间,根据格式规则处理可缩放嵌套的补充增强信息消息,并且其中,格式规则规定使用一个或多个子图片索引来将一个或多个子图片关联到可缩放嵌套的补充增强信息消息。
[0284]
在方法1500的一些实施例中,格式规则不允许使用一个或多个子图片标识符来将一个或多个子图片关联到可缩放嵌套的补充增强信息消息。在方法1500的一些实施例中,格式规则用可缩放嵌套的补充增强信息消息中的第二语法元素替换第一语法元素,格式规则从可缩放嵌套的补充信息消息中移除第三语法元素,第一语法元素指示一个或多个视频层中的每个图片中的第i个子图片的子图片标识符,第二语法元素指示一个或多个视频层中的每个图片中的第i个子图片的子图片索引,并且第三语法元素加1指定用于表示第一语法元素的比特数。
[0285]
图16是处理视频数据的示例方法1600的流程图。操作1602包括根据格式规则执行包括一个或多个子图片的视频与视频的比特流之间的转换,其中,格式规则规定,响应于可
缩放嵌套补充增强信息消息包括一个或多个子图片级别信息补充增强信息消息,将比特流中的可缩放嵌套补充增强信息消息中的第一语法元素设置为特定值,并且其中,第一语法元素的特定值指示,可缩放嵌套补充增强信息消息包括适用于特定输出视频层集的一个或多个可缩放嵌套补充增强信息消息。
[0286]
在方法1600的一些实施例中,格式规则规定,响应于可缩放嵌套补充增强信息消息包括一个或多个子图片级别信息补充增强信息消息,比特流中的第二语法元素的值等于0,并且第二语法元素的值等于0指定,可缩放嵌套补充增强信息消息包括适用于一个或多个输出视频层集或一个或多个视频层的一个或多个可缩放嵌套的补充增强信息消息,一个或多个输出视频层集或一个或多个视频层适用于一个或多个输出视频层集或一个或多个视频层的所有子图片。在方法1600的一些实施例中,格式规则规定,可缩放嵌套补充增强信息消息中的一个或多个可缩放嵌套的补充增强信息消息的有效负载类型为203,补充增强信息消息的有效负载类型203指示补充增强信息消息是子图片级别信息补充增强信息消息。在方法1600的一些实施例中,第一语法元素的特定值等于1。
[0287]
图17是处理视频数据的示例方法1700的流程图。操作1702包括执行包括多个子图片的视频和所述视频的比特流之间的转换,其中,所述转换是根据格式规则,所述格式规则规定,不允许可缩放嵌套补充增强信息消息包括第一有效负载类型的第一补充增强信息消息和第二有效负载类型的第二补充增强信息消息。
[0288]
在方法1700的一些实施例中,第一有效负载类型包括缓冲期补充增强信息消息的有效负载类型。在方法1700的一些实施例中,第一有效负载类型包括图片定时补充增强信息消息的有效负载类型。在方法1700的一些实施例中,第一有效负载类型包括解码单元信息补充增强信息消息的有效负载类型。在方法1700的一些实施例中,第一有效负载类型包括子图片级别信息补充增强信息消息的有效负载类型。在方法1700的一些实施例中,第二有效负载类型包括不是以下之一的有效负载类型:(i)缓冲期补充增强信息消息的有效负载类型,(ii)图片定时补充增强信息消息的有效负载类型,(iii)解码单元信息补充增强信息消息的有效负载类型,以及(iv)子图片级别信息补充增强信息消息的有效负载类型。
[0289]
图18是处理视频数据的示例方法1800的流程图。操作1802包括执行视频和视频的比特流之间的转换,其中,根据格式规则执行转换,格式规则规定,响应于补充增强信息网络抽象层单元包括可缩放嵌套补充增强信息消息,补充增强信息网络抽象层单元包括等于前缀补充增强信息网络抽象层单元类型的网络抽象层单元类型,其中,可缩放嵌套补充增强信息消息包括与特定有效负载类型不相关的补充增强信息消息。
[0290]
在方法1800的一些实施例中,网络抽象层单元类型等于prefix_sei_nut。
[0291]
图19是处理视频数据的示例方法1900的流程图。操作1902包括执行视频和视频的比特流之间的转换,其中,根据格式规则执行转换,格式规则规定,响应于补充增强信息网络抽象层单元包括可缩放嵌套补充增强信息消息,补充增强信息网络抽象层单元包括等于后缀补充增强信息网络抽象层单元类型的网络抽象层单元类型,其中,可缩放嵌套补充增强信息消息包括与特定有效负载类型相关的补充增强信息消息。
[0292]
在方法1900的一些实施例中,网络抽象层单元类型等于suffix_sei_nut。
[0293]
在(多个)方法1800-1900的一些实施例中,特定有效负载类型是解码图片哈希补充增强信息消息的有效负载类型。在(多个)方法1800-1900的一些实施例中,特定有效负载
类型与等于132的值相关联。
[0294]
在(多个)方法1300-1900的一些实施例中,执行转换包括将视频编码成比特流。在(多个)方法1300-1900的一些实施例中,执行转换包括从视频生成比特流,并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。在(多个)方法1300-1900的一些实施例中,执行转换包括从比特流中解码视频。在一些实施例中,一种视频解码装置包括配置成实现(多个)方法1300-1900或其实施例的处理器。在一些实施例中,一种视频编码装置包括配置成实现(多个)方法1300-1900或其实施例的处理器。在一些实施例中,一种其上存储有计算机指令的计算机程序产品,计算机指令在由处理器执行时使处理器实现(多个)方法1300-1900或其实施例。在一些实施例中,一种非暂时性计算机可读存储介质,存储根据(多个)方法1300-1900或其实施例生成的比特流。在一些实施例中,一种非暂时性计算机可读存储介质,存储使处理器实现(多个)方法1300-1900或其实施例的指令。在一些实施例中,一种比特流生成的方法,包括:根据(多个)方法1300-1900或其实施例生成视频的比特流,以及将比特流存储在计算机可读程序介质上。在一些实施例中,方法、装置、根据本文档中描述的公开方法或系统生成的比特流。
[0295]
所公开的技术的一些实施例包括作出决定或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现该工具或模式,但不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当基于该决定或确定来启用视频处理工作或模式时,从视频的块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已基于视频处理工具或模式被修改的情况下处理比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频的块的转换。
[0296]
本公开的技术的一些实施例包括决定或确定禁用视频处理工具或模式。在示例中,当禁用视频处理工具或模式时,编码器在视频块到视频的比特流表示的转换中将不会使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将使用尚未基于决定或确定而禁用的视频处理工具或模式来修改比特流的知识来处理比特流。
[0297]
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[0298]
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,即一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个
或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
[0299]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
[0300]
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(fpga)或专用集成电路(asic))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如fpga或asic)。
[0301]
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如eprom、eeprom和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
[0302]
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
[0303]
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
[0304]
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来
作出其它实现方式、增强和变型。
再多了解一些

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

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

相关文献