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

用于多层视频码流的输出层集合的方法与流程

2022-02-21 00:13:49 来源:中国专利 TAG:

用于多层视频码流的输出层集合的方法
1.相关申请的交叉引用
2.本技术要求于2020年3月27日提交的美国临时申请第63/001,018号和2020年8月7日提交的美国申请第16/987,911号的优先权,这些申请的全部内容并入本文。
技术领域
3.本公开的实施例涉及视频编码和解码,更具体地,多层的编码视频流的输出层推导。


背景技术:

4.通过使用具有运动补偿的帧间图片预测技术,进行视频的编码和解码在以前已使用。未压缩的数字视频可包括一系列图片,每个图片具有例如1920
×
1080亮度样本及相关色度样本的空间维度。所述系列图片具有固定的或可变的图片速率(也非正式地称为帧率),例如每秒60个图片或60hz。未压缩的视频具有非常大的比特率要求。例如,每个样本8比特的1080p60 4:2:0的视频(1920x1080亮度样本分辨率,60hz帧率)要求接近1.5gbit/s带宽。一小时这样的视频就需要超过600gb的存储空间。
5.视频编码和解码的一个目的,是通过压缩减少输入视频信号的冗余信息。视频压缩可以帮助降低对上述带宽或存储空间的要求,在某些情况下可降低两个或更多数量级。无损和有损压缩,以及两者的组合均可采用。无损压缩是指从压缩的原始信号中重建原始信号精确副本的技术。当使用有损压缩时,重建信号可能与原始信号不完全相同,但是原始信号和重建信号之间的失真足够小,使得重建信号可用于预期应用。有损压缩广泛应用于视频。容许的失真量取决于应用。例如,与电视贡献应用的用户相比,某些消费流媒体应用的用户可以容忍更高的失真。可实现的压缩比反映出:较高的允许/容许失真可产生较高的压缩比。
6.视频编码器和解码器可以使用几大类技术,包括例如运动补偿、变换、量化和熵编解码。下文将介绍这几类中的一些技术。
7.以前,视频编码器和解码器倾向于在给定的图片大小上进行操作,在大多数情况下,图片大小对于已编码视频序列(coded video sequence,cvs)、图片组(group of pictures,gop)或类似的多图片时间帧,是定义好的并保持恒定。例如,在mpeg-2中,系统设计用于根据场景活动等因素,改变水平分辨率(以及从而改变图片大小),但仅在i图片处是这样,因此这通常适用于gop。例如在itu-t推荐标准h.263的附录p中,应用了重采样参考图片,以便在cvs中使用不同的分辨率。然而,因为这里的图片大小并没有改变,仅对参考图片进行重采样,从而可能导致只使用了图片画布的一部分(在下采样的情况下),或者只采集了场景的一部分(在上采样的情况下)。此外,h.263附录q允许向上或向下将单个宏块的重采样为两倍(在每个维度上)。同样,图片大小保持不变。宏块的大小在h.263中是固定的,并且因此不需要被发信号通知。
8.在现代视频编解码中,在预测图片中改变图片大小变得更加主流。例如,vp9允许
对整个图片进行参考图片重采样和分辨率改变。类似地,针对vvc提出的某些建议(包括,例如亨得里等人的“关于vvc的自适应分辨率改变(arc)”,联合视频小组文件jvet-m0135-v1,2019年1月9日至19日,其整体并入本文中),允许将整个参考图片进行重采样为不同的更高或更低的分辨率。在该文件中,建议将不同的候选分辨率编码在序列参数集中,并由图片参数集中的每个图片的语法元素来引用。
9.布罗斯(bross)等人的“通用视频编解码(草案8)”,联合视频专家组文档jvet-q2001-ve,2020年1月7-17日,被整体并入本文。


技术实现要素:

10.当图片被编码成包括或由具有不同质量的多个层组成的码流时,该码流可以具有指定可以在解码器处输出哪些层的语法元素。要输出的层集定义为输出层集。在支持多层和可扩展性的最新视频编解码器中,在视频参数集中发信号通知一个或多个输出层集。指定输出层集及其依赖性、配置文件/层/级别和假设解码器参考模型参数的那些语法元素需要在参数集中有效地用信号通知。本公开的一些实施例在参数集中提供这种信息的有效信令。
11.根据一个或多个实施例,提供了一种方法。该方法包括:接收已编码视频码流,所述已编码视频码流包括参数集和分区成多个层的视频数据;基于所述参数集导出:(1)至少一个第一语法元素,所述第一语法元素从所述多个层中指定要在输出层集中输出的至少一个第一层,以及(2)至少一个第二语法元素,所述第二语法元素指示所述输出层集的配置文件层级信息;基于从所述参数集导出的所述参数信息,对所述已编码视频码流的与所述输出层集对应的所述视频数据的一部分进行解码。
12.根据实施例,所述参数集包括第三语法元素,所述第三语法元素指示,参考所述参数集的所述已编码视频码流中的已编码视频序列中,所述输出层集的所述配置文件层级信息的数量。
13.根据实施例,基于参考所述参数集的所述已编码视频码流的每个已编码视频序列中的最大允许层数大于1,在所述参数集内发信号通知所述第三语法元素。
14.根据实施例,所述至少一个第二语法元素包括指示所述配置文件层级信息的一组语法元素,或者包括指示配置文件层级信息集合中的至少一个条目的索引。
15.根据实施例,所述参数集包括第三语法元素,所述第三语法元素指示用于所述输出层集的输出层信令的模式。
16.根据实施例,基于由所述第三语法元素指示的所述模式,所述至少一个第一语法元素在所述参数集内用信号通知。
17.根据实施例,所述至少一个第一语法元素包括指示是否要输出所述多个层中的一个的标志。
18.根据实施例,所述参数集包括第三语法元素,所述第三语法元素指示用于多个输出层集的输出层集信令的模式,所述多个输出层集包括所述输出层集,以及所述基于所述参数集对所述已编码视频码流进行解码进一步包括:基于由所述第三语法元素指示的模式推断是否从所述多个层中输出第二层。
19.根据实施例,其中,所述对所述已编码视频码流进行解码进一步包括:基于所述参
数集推断用于多个输出层集的输出层集信令的模式,所述多个输出层集包括所述输出层集。
20.根据实施例,所述参数集是视频参数集。
21.根据一个或多个实施例中,提供了一种用于对已编码视频码流进行解码的系统,所述已编码视频码流包括参数集和被分区成多个层的视频数据,所述系统包括:被配置为存储计算机程序代码的存储器;以及至少一个处理器,被配置为接收所述已编码视频码流,访问所述计算机程序代码,并且按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:解码代码,被配置为使所述至少一个处理器基于所述参数集,对所述已编码视频码流的与所述输出层集对应的所述视频数据的一部分进行解码,其中所述参数集包括至少一个第一语法元素和至少一个第二语法元素,所述第一语法元素从所述多个层中指定要在输出层集中输出的至少一个第一层,所述第二语法元素指示所述输出层集的配置文件层级信息。
22.根据实施例,所述参数集进一步包括第三语法元素,所述第三语法元素指示,所述已编码视频码流中的参考所述参数集的已编码视频序列中,所述输出层集的所述配置文件层级信息的数量。
23.根据实施例,基于参考所述参数集的所述已编码视频码流的每个已编码视频序列中的最大允许层数大于1,在所述参数集内发信号通知所述第三语法元素。
24.根据实施例,所述至少一个第二语法元素包括指示所述配置文件层级信息的一组语法元素,或者包括指示配置文件层级信息集合中的至少一个条目的索引。
25.根据实施例,所述参数集进一步包括第三语法元素,所述第三语法元素指示用于所述输出层集的输出层信令的模式。
26.根据实施例,基于由所述第三语法元素指示的所述模式,所述至少一个第一语法元素在所述参数集内用信号通知。
27.根据实施例,所述至少一个第一语法元素包括指示是否要输出所述多个层中的一个的标志。
28.根据实施例,所述参数集进一步包括第三语法元素,所述第三语法元素指示用于多个输出层集的输出层集信令的模式,所述多个输出层集包括所述输出层集,以及
29.所述解码代码进一步被配置为使所述至少一个处理器基于由所述第三语法元素指示的模式,推断是否从所述多个层中输出第二层。
30.根据实施例,所述解码代码进一步被配置为使所述至少一个处理器基于所述参数集推断用于多个输出层集的输出层集信令的模式,所述多个输出层集包括所述输出层集。
31.根据一个或多个实施例中,提供了一种存储计算机指令的非易失性计算机可读介质,所述计算机指令在由至少一个处理器执行时使所述至少一个处理器:
32.基于参数集对已编码视频码流的与输出层集对应的视频数据的一部分进行解码,其中,所述已编码视频码流包括所述参数集和所述视频数据,所述视频数据分区成多个层,以及所述参数集包括至少一个第一语法元素和至少一个第二语法元素,所述第一语法元素从所述多个层中指定要在输出层集中输出的至少一个第一层,所述第二语法元素指示所述输出层集的配置文件层级信息。
附图说明
33.从以下详细描述和附图,所公开的主题的其它特征、性质及各种优点将更加明显,其中:
34.图1是根据实施例的通信系统的简化框图的示意图。
35.图2是根据实施例的通信系统的简化框图的示意图。
36.图3是根据实施例的解码器的简化框图的示意图。
37.图4是根据实施例的编码器的简化框图的示意图。
38.图5a是根据对比技术实施例的用于发信号通知arc参数的第一配置的示意图。
39.图5b是根据对比技术实施例的用于发信号通知arc参数的第二配置的示意图。
40.图6a是根据实施例的用于发信号通知arc参数的第一配置的示意图。
41.图6b是根据实施例的用于发信号通知arc参数的第二配置的示意图。
42.图6c是根据实施例的用于发信号通知arc参数的第三配置的示意图。
43.图7a是根据实施例的图块组头的摘录的示意图。
44.图7b是根据实施例的序列参数集的摘录的示意图。
45.图8是具有自适应分辨率改变的可伸缩性的预测结构的示例。
46.图9a示出了根据实施例的语法表的示例。
47.图9b示出了根据实施例的语法表的示例。
48.图10是根据实施例的对每个存取单元的poc周期和存取单元计数值进行解析和解码的简化框图的示意图。
49.图11是根据实施例的包括多层子图片的视频码流结构的示意图。
50.图12是根据实施例的具有增强分辨率的所选子图片的显示的示意图。
51.图13是根据实施例的包括多层子图片的视频码流的解码和显示处理的框图。
52.图14是根据实施例的具有子图片的增强层的360度视频显示的示意图。
53.图15a示出了根据实施例的分割的子图片的布局示例。
54.图15b示出了根据实施例的一个子图片的对应子图片尺寸和位置信息的示例。
55.图16示出了图15a-15b所示子图片的对应图片预测结构。
56.图17示出了根据一个实施例划分为多个子区域的输入图片的示例,该子区域可以用一个或多个层进行编码。
57.图18示出了图17所示子区域的具有局部区域的空间可伸缩性形态的对应层和图片预测结构。
58.图19a是根据实施例视频参数集的摘录的示意图。
59.图19b是根据实施例序列参数集的摘录的示意图。
60.图20是根据实施例的子图片布局信息的语法表的示例。
61.图21是根据实施例的语法表的示例,该语法表用于指示每个输出层集的输出层和配置文件/层级/级别信息。
62.图22是根据实施例的语法表的示例,该语法表用于指示每个输出层集的输出层模式。
63.图23是语法表的示例,用于指示每个输出层集的每个层的当前子图片。
64.图24是视频参数集rbsp的语法表的示例。
65.图25是语法表示例,用于指示具有输出层集模式的输出层集。
66.图26是根据实施例的解码器的示意图。
67.图27是适用于实施实施例的计算机系统的示意图。
具体实施方式
68.图1是根据本技术公开的实施例的通信系统(100)的简化框图。通信系统(100)包括至少两个终端装置(110、120),所述至少两个终端装置可通过网络(150)彼此互连。对于单向数据传输,第一终端装置(110)可在本地对视频数据编码,以通过网络(150)传输到另一终端装置(120)。第二终端装置(120)可从网络(150)接收另一终端装置的已编码视频数据,对已编码视频数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务等应用中是较常见的。
69.图1图示了用于支持已编码视频的双向传输的第二对终端装置(130、140),所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三终端装置(130)和第四终端装置(140)中的每个终端装置可对在本地采集的视频数据进行编码,以通过网络(150)传输到第三终端装置(130)和第四终端装置(140)中的另一终端装置。第三终端装置(130)和第四终端装置(140)中的每个终端装置还可接收由第三终端装置(130)和第四终端装置(140)中的另一终端装置传输的已编码视频数据,对所述已编码视频数据进行解码,并在本地的显示装置上显示恢复的视频数据。
70.在图1的实施例中,第一终端装置(110)、第二终端装置(120)、第三终端装置(130)和第四终端装置(140)可为服务器、个人计算机和智能电话,但本技术公开的原理可不限于此。本技术公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(150)表示在第一终端装置(110)、第二终端装置(120)、第三终端装置(130)和第四终端装置(140)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(150)可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本技术的目的,除非在下文中有所解释,否则网络(150)的架构和拓扑对于本技术公开的操作来说可能是无关紧要的。
71.作为所公开主题的申请的实施例,图2示出视频编码器和视频解码器在流式传输环境中的放置方式。本技术所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等等。
72.如图2所示,流式传输系统(200)可包括采集子系统(213),所述采集子系统可包括视频源(201)和编码器(203)。例如,视频源(201)为数码相机,被配置为创建未压缩的视频样本流(202)。相较于已编码的视频流,未压缩的视频样本流(202)可以提供高数据量的视频样本流,视频样本流(202)可由耦接到数码相机(201)的编码器(203)处理。编码器(203)可包括硬件、软件或软硬件组合,以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频样本流(202),已编码视频码流(204)可以包括较低数据量。已编码视频码流(204)可存储在流式传输服务器(205)上以供将来使用。至少一个流式传输客户端(206)可访问流式传输服务器(205),以检索视频码流(209)。视频码流(209)为已编码视频码流(204)的副本。
73.在实施例中,流媒体服务器(205)还可以用作媒体感知网络元件(mane)。例如,流
媒体服务器(205)可以被配置为对已编码视频码流(204)进行修剪,以便为一个或多个流媒体客户端(206)定制可能不同的码流。在实施例中,mane可以在流媒体系统(200)中与流媒体服务器(205)分开提供。
74.流媒体客户端(206)可包括视频解码器(210)和显示器。视频解码器(210)例如对视频码流(209)进行解码,其中视频码流(209)为已编码视频码流(204)的传入副本。视频解码器(210)产生可在显示器(212)或其另一呈现装置(未描绘)上呈现的输出视频样本流(211)。在一些流式传输系统中,可根据某些视频编码/压缩标准,对视频码流(204、209)进行编码。这些标准的实施例包括但不限于itu-t推荐标准h.265。正在开发的视频编解码标准非正式地称为下一代视频编解码(versatile video coding,vvc),本公开的实施例可用于vvc标准的上下文中。
75.图3示出了根据本公开实施例的附接到显示器(212)的视频解码器(210)的示例功能框图。
76.视频解码器(210)可以包括信道(312)、接收器(310)、缓冲存储器(315)、熵解码器/解析器(320)、缩放器/逆变换单元(351)、帧内预测单元(352)、运动补偿预测单元(353)、聚合器(355)、环路滤波器单元(356)、参考图片存储器(357)和当前图片存储器(358)。在至少一个实施例中,视频解码器(210)可以包括集成电路、一系列集成电路和/或其它电子电路。视频解码器(210)还可以部分地或全部地体现在软件中,该软件在具有相关联的存储器的一个或多个cpu上运行。
77.接收器(310)可接收将由视频解码器(210)解码的至少一个已编码视频序列。接收器(301)可以一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(312)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(310)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(310)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(315)可耦接在接收器(310)与熵解码器/解析器(320)(此后称为“解析器”)之间。当接收器(310)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不使用配置缓冲存储器(315),或可以将所述缓冲存储器做得较小。为了在互联网等尽力而为分组网络上使用,也可能需要缓冲存储器(315),所述缓冲存储器可相对较大且可具有自适应性大小。
78.视频解码器(210)可包括解析器(320)以根据已熵编码视频序列重建符号(321)。这些符号的类别例如包括用于管理视频解码器(210)的操作的信息,以及用以控制显示器(212)等显示装置的潜在信息,所述显示器可耦接到视频解码器,如图2中所示。用于显示装置的控制信息例如可以是辅助增强信息(supplementary enhancement information,sei消息)或视频可用性信息(video usability information,vui)的参数集片段(未标示)。解析器(320)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员熟知的原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(320)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片组(group of pictures,gop)、图片、图块、
分片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等等。解析器(320)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
79.解析器(320)可对从缓冲存储器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。
80.取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(321)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(320)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(320)与下文的多个单元之间的此类子群控制信息流。
81.除已经提及的功能块以外,视频解码器(210)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
82.一个单元可以是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)从解析器(320)接收作为符号(321)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可输出包括样本值的块,所述样本值可输入到聚合器(355)中。
83.在一些情况下,缩放器/逆变换单元(351)的输出样本可属于帧内编码块;即:不使用来自先前已重建的图片的预测性信息,但可使用来自当前图片的先前已重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元(352)采用从当前图片存储器(358)中的当前(部分已重建)图片提取的周围已重建信息,生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器(355)基于每个样本,将帧内预测单元(352)生成的预测信息添加到由缩放器/逆变换单元(351)提供的输出样本信息中。
84.在其它情况下,缩放器/逆变换单元(351)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(353)可访问参考图片存储器(357)以提取用于预测的样本。在根据符号(321)对提取的样本进行运动补偿之后,这些样本可由聚合器(355)添加到缩放器/逆变换单元(351)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(353)从参考图片存储器(357)内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(321)的形式而供运动补偿预测单元(353)使用,所述符号(321)例如是包括x、y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(357)提取的样本值的内插、运动矢量预测机制等等。
85.聚合器(355)的输出样本可在环路滤波器单元(356)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频码流中的参数,且所述参数作为来自解析器(320)的符号(321)可用于环路滤波器单元(356),视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前已重建且已经过环路滤波的样本值。
86.环路滤波器单元(356)的输出可以是样本流,所述样本流可输出到显示装置,例如
显示器(212),以及存储在参考图片存储器(357),以用于后续的帧间图片预测。
87.一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。举例来说,一旦已编码图片被完全重建,且已编码图片(通过例如解析器(320))被识别为参考图片,则当前参考图片可变为参考图片存储器(357)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器(358)。
88.视频解码器(210)可根据例如itu-t推荐h.265标准中记录的预定视频压缩技术执行解码操作。已编码视频序列可符合所使用的视频压缩技术或标准指定的语法,从某种意义上说,已编码视频序列遵守视频压缩技术或标准的语法,如视频压缩技术文档或标准中所指定,特别是其中的配置文件。为了符合一些视频压缩技术或标准,还要求已编码视频序列的复杂度处于如视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(hypothetical reference decoder,hrd)规范和在已编码视频序列中发信号通知的hrd缓冲器管理的元数据来进一步限定。
89.在实施例中,接收器(310)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(210)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,snr)增强层、冗余分片、冗余图片、前向纠错码等形式。
90.图4示出了根据本技术公开的实施例的与视频源(201)关联的视频编码器(203)的框图的示例。
91.视频编码器(203)例如可以是包括源编码器(430)、编码引擎(432)、解码器(433)、参考图片存储器(434)、预测器(435)、发射机(440)、熵编码器(445)、控制器(450)和信道(460)的编码器。
92.视频编码器(203)可从视频源(201)(并非编码器的一部分)接收视频样本,所述视频源可采集将由视频编码器(203)编码的视频图像。
93.视频源(201)可提供将由视频编码器(203)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位
……
)、任何色彩空间(例如bt.601y crcb、rgb
……
)和任何合适采样结构(例如y crcb4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(201)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可包括至少一个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
94.根据实施例,视频编码器(203)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。控制器(450)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(450)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、gop布局,最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(450)的其它功能,这些功能涉及针对某一系
统设计优化的视频编码器(203)。
95.一些视频解码器以本领域技术人员识别为“编码环路”的方式进行操作。作为简单的描述,编码环路可包括编码器(430)(负责基于待编码的输入图片和参考图片创建符号)的编码部分和嵌入于视频编码器(203)中的(本地)解码器(433)。当一些视频压缩技术中符号与已编码视频码流之间的压缩无损时,解码器(433)重建符号,以创建(远程)解码器也要创建的样本数据(。将重建的样本流输入到参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(434)的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。本领域技术人员知道参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)。
[0096]“本地”的解码器(433)的操作可与已在上文结合图3详细描述的“远程”解码器(210)相同。然而,当符号可用且熵编码器(445)和解析器(320)能够无损地将符号编码/解码为已编码视频序列时,包括信道(312)、接收器(310)、缓冲存储器(315)和解析器(320)在内的视频解码器(210)的熵解码部分,可能无法完全在本地的解码器(433)中实施。
[0097]
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也需要以基本上相同的功能形式存在于对应的编码器中。出于此原因,本技术侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
[0098]
作为其操作的一部分,源编码器(430)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考帧”的至少一个先前已编码帧,所述运动补偿预测编码对输入帧进行预测性编码。以此方式,编码引擎(432)对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。
[0099]
本地视频解码器(433)可基于源编码器(430)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(432)的操作可为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(433)复制解码过程,所述解码过程可由视频解码器对参考帧执行,且可使已重建的参考帧存储在参考图片存储器(434)中。以此方式,视频编码器(203)可在本地存储已重建的参考帧的副本,所述副本与将由远端视频解码器获得的已重建参考帧具有共同内容(不存在传输误差)。
[0100]
预测器(435)可针对编码引擎(432)执行预测搜索。即,对于将要编码的新帧,预测器(435)可在参考图片存储器(434)中搜索可作为所述新帧的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(435)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(435)获得的搜索结果,可确定输入图片可具有从参考图片存储器(434)中存储的多个参考图片取得的预测参考。
[0101]
控制器(450)可管理源编码器(430)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
[0102]
可在熵编码器(445)中对所有上述功能单元的输出进行熵编码。熵编码器(445)根
据例如霍夫曼编码、可变长度编码、算术编码等本领域技术人员所熟知的技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
[0103]
传输器(440)可缓冲由熵编码器(445)创建的已编码视频序列,从而为通过通信信道(460)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(440)可将来自源编码器(430)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0104]
控制器(450)可管理视频编码器(203)的操作。在编码期间,控制器(450)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为帧内图片(i图片)、预测性图片(p图片)或双向预测性图片(b图片)。
[0105]
0102帧内图片(i图片),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(independent decoder refresh)图片。所属领域的技术人员了解i图片的变体及其相应的应用和特征。
[0106]
预测性图片(p图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0107]
双向预测性图片(b图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
[0108]
源图片通常可在空间上细分成多个样本块(例如,4
×
4、8
×
8、4
×
8和/或16
×
16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,i图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。p图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。b图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
[0109]
视频编码器(203)可根据例如itu-t h.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(203)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
[0110]
在实施例中,传输器(440)可在传输已编码的视频时传输附加数据。源编码器(430)可将此类数据作为已编码视频序列的一部分。附加数据可包括时间、空间、和/或snr增强层、冗余图片和切片等其它形式的冗余数据、sei消息、vui参数集片段等。在更详细地描述本公开的实施例的某些方面之前,下面先介绍将在本说明书的其余部分中提及的几个术语。
[0111]“子图片”,在下文中,在某些情况下指的是在语义上分组的、可以用变化的分辨率独立编码的样本、块、宏块、编码单元或类似实体的矩形排列。一个图片可以有一个或多个子图片。一个或多个已编码子图片可以形成一个已编码图片。一个或多个子图片可以组装成一个图片,并且可以从一个图片中提取一个或多个子图片。在某些环境中,可以在压缩域中将一个或多个已编码子图片组装为一个已编码图片,而无需将其转码到样本级,在同一
情况下或在某些其它情况下,可以从压缩域中的已编码图片中提取一个或多个已编码子图片。
[0112]“自适应分辨率改变(adaptive resolution change,arc)”,在下文指的是,允许通过例如参考图片重采样,来改变已编码视频序列内的图片或子图片的分辨率的机制。“arc参数”在下文指的是执行自适应分辨率改变所需的控制信息,其可以包括例如滤波器参数、缩放因子、输出图片和/或参考图片的分辨率、各种控制标志等等。
[0113]
以上的描述着重于对单个的、语义上独立的已编码视频图片的编码和解码。在描述具有独立的arc参数的多个子图片的编码/解码的含义及其隐含的附加复杂性之前,将先描述用于发信号通知arc参数的实施例。
[0114]
参考图6a至图6c,示出了用于发信号通知arc参数的几个新示意性实施例。如每个实施例所指出的,从编码效率、复杂度和体系结构的角度来看,它们具有某些优点。视频编码标准或技术可以实施这些实施例中的一个或多个,或包括对比技术中已知实施例,用于发信号通知arc参数。对比技术的实施例包括图5a至5b中所示的示例。新实施例可以不是互斥的,并且可以包括在对比技术的实施例的标准或技术中,以便可以基于应用需求、涉及的标准技术或编码器的选择来使用两者之一。arc参数的类别可以包括:(1)在x维度和y维度上分开或组合的上采样因子和/或下采样因子,加上时间维度的上采样因子和/或下采样因子,用于指示对给定数量的图片进行恒速放大和/或缩小。以上两者中的任一者可涉及对一个或多个可能较短的语法元素进行编码或解码,所述一个或多个语法元素可能指向一个包含所述因子(多个因子)的表格。这种语法元素在实施例中可能长度较短。
[0115]“分辨率”是指在x或y维度上,以样本、块、宏块、cu或任何其他合适的粒度为单位的,输入图片、输出图片、参考图片、编码图片的组合或单独的分辨率。如果存在一个以上的分辨率(例如,一个分辨率用于输入图片,一个分辨率用于参考图片),则在某些情况下,可以从一组值中推断出另一组值。例如,可以通过使用标志选通分辨率。有关分辨率更详细的示例,请进一步参阅下文。
[0116]“变形”(warping)坐标,类似于在h.263标准附录p中使用的坐标,可以具有如上所述的适当粒度。h.263标准附录p定义了一种对这种变形坐标进行编码的有效方式,但是可以想象,还可以使用其它可能更有效的方法。例如,附录p的变形坐标的可变长度可逆的“霍夫曼”式编码可以用适当长度的二进制编码来代替,其中,二进制码字的长度可以例如根据最大图片大小推导出(可能乘以某个因子并偏移某个值),以便允许在最大图片大小的边界之外进行“变形”。
[0117]
关于上采样滤波器参数或下采样滤波器参数:在最简单的情况下,可能只有单个的滤波器用于进行上采样和/或下采样。然而,在某些情况下,允许滤波器的设计有较大的灵活性,可能是有利的,这可能通过发信号通知滤波器参数来实现。此类参数可以通过一个可能的滤波器设计列表中的索引来选择,可以充分地指定滤波器(例如,通过使用适当的熵编解码技术的滤波器系数列表),和/或通过上采样比率和/或下采样比率隐含地选择滤波器,所述上采样比率和/或下采样比率是根据上面提到的机制中的任何机制发信号通知的,等等。
[0118]
在下文中,本说明书假设一个例子,该例子通过码字指示,对上采样因子和/或下采样因子(在x维度和y维度使用相同的因子)的有限集合进行编码。所述码字可以通过例如
使用视频编码规范(例如h.264和h.265)中的某些语法元素所共有的指数哥伦布(exp-golomb)编码,进行有利地可变长度编码。值到上采样因子/下采样因子的一种合适的映射可以例如参见表1:
[0119]
表1
[0120]
码字exp-golomb编码原始分辨率/目标分辨率011/110101/1.5(放大50%)20111.5/1(缩小50%)3001001/2(放大100%)4001012/1(缩小100%)
[0121]
可以根据应用的需要以及视频压缩技术或标准中可用的放大和缩小机制的能力,设计许多类似的码字的值与上采样因子和/或下采样因子之间的映射。该映射对应的表可以扩展到更多的值。码字的值还可以用除exp-golomb码之外的熵编解码机制来表示,例如使用二进制编码。当在视频处理引擎(最重要的是编码器和解码器)本身之外,例如mane(media aware network element,媒体感知网元)对重采样因子感兴趣时,使用二进制编码可能具有某些优点。应当注意,对于(可能)最常见的、不需要改变分辨率的情况,可以选择较短的exp-golomb码(例如仅单个比特,如表1第二行所示)。对于该最常见的情况,exp-golomb码可以比使用二进制码具有编码效率的优势。
[0122]
上述表中条目的数量及其语义可以是完全可配置的或部分可配置的。例如,上述表的基本形态可以在诸如序列参数集或解码器参数集等的“高层”参数集中传送。可替换地或另外,可以在视频编解码技术或标准中定义一个或多个此类表,并且可以通过例如解码器或序列参数集来选择。
[0123]
下面提供了如何将如上所述编码的上采样因子和/或下采样因子(arc信息)包含在视频编解码技术或标准语法中的描述。类似的考虑可以应用于控制上采样滤波器和/或下采样滤波器的一个或几个码字。下面还提供了关于滤波器或其它数据结构何时需要相对大量的数据的描述。
[0124]
参考图5a,h.263标准附录p将四个变形坐标形式的arc信息502包含在图片头501中,更具体地,是包含在h.263标准增强p类型(plusptype)(503)头扩展中。当(a)存在可用的图片头,以及(b)预计arc信息会频繁改变时,该设计是明智的。然而,使用h.263型信令的开销可能相当高,并且缩放因子可能不适用于图片边界,因为图片头可能具有瞬时性质。
[0125]
参考图5b,jvcet-m135-v1包括位于图片参数集(504)中的arc参考信息(505)(索引),用于对包括目标分辨率的表(506)进行索引,表(506)位于序列参数集(507)内。可能的分辨率在序列参数集(sps)(507)中的表(506)中的位置,通过在能力交换期间使用sps作为互操作性协商点,可以证明可能的分辨率在序列参数集(sps)(507)中的表(506)中的位置是合理的。在表(506)中的值所设置的限制内,通过参考适当的图片参数集(picture parameter set,pps)(504),分辨率可以随图片而改变。
[0126]
参考图6a至6c,本技术公开的以下实施例可以将视频码流中的arc信息传送到例如本技术公开的解码器。这些实施例中的每一个选项都具有优于上述对比技术的某些优点。这些实施例可以同时存在于同一视频编码技术或标准中。
[0127]
在参考图6a的一个实施例中,诸如重采样(缩放)因子等arc信息(509)可以出现在头(508)中,例如分片头、gob(group of blocks,块组)头、图块头、或图块组头中。作为示例,图6a示出了作为图块组头的头(508)。如果arc信息很小,这样的配置是足够的,例如,arc信息是几个比特的单个可变长度ue(v)的码字或固定长度的码字,例如,如表1所示。将arc信息直接包含在图块组头中具有额外的优点,即arc信息可以应用于例如由与图块组头对应的图块组表示的子图片,而不是用于整个图片。。此外,即使视频压缩技术或标准仅使用整个图片的自适应分辨率改变(与例如基于图块组的自适应分辨率改变相反),从容错的角度来看,将arc信息放入图块组头中(相较于将其放入h.263型图片头中),具有一定的优势。虽然以上描述说明了arc信息(509)存在于图块组头中,但应理解,以上描述也可以类似地适用于arc信息(509)存在于例如分片头、gob标头或图块标头中的情况。
[0128]
在参考图6b的同一实施例或另一实施例中,arc信息(512)本身可以存在于适当的参数集(511)中,例如,图片参数集、头参数集、图块参数集、自适应参数集(adaptation parameter set,aps)等等。作为示例,如图6b示出了作为自适应参数集(aps)的参数集(511)。该参数集的范围可以有利地不大于一个图片。该参数集的范围例如为图块组。arc信息(512)的使用可以通过激活相关参数集而隐含。例如,当视频编码技术或标准只考虑基于图片的arc时,图片参数集或等同参数集可能适合作为相关参数集。
[0129]
在参考图6c的同一实施例或另一实施例中,arc参考信息(513)可以存在于图块组头(514)或类似数据结构中。该arc参考信息(513)可以指范围超出了单个图片的在参数集(516)中可用的arc信息(515)的子集。例如,参数集(516)可以是序列参数集(sps)或解码器参数集(dps)。
[0130]
pps的间接暗示激活的附加级别似乎是不必要的,因为图片参数集可以与序列参数集一样,可以用于能力协商或通告。该pps来自如在jvet-m0135-v1中使用的图块组头、pps或sps。然而,如果arc信息应当适用于例如也是由图块组表示的子图片,则激活范围限制在图块组的参数集(例如自适应参数集或头参数集)可能是更好的选择。而且,如果arc信息具有超过可忽略的大小——例如包含多个滤波器系数等滤波器控制信息——则从编码效率的角度,选择使用参数集可能是比选择直接使用头更好,因为那些设置可以由将来的图片或子图片通过参考相同的参数集复用。
[0131]
当使用序列参数集或范围跨越多个图片的另一更高层参数集时,可能需要考虑以下几点:
[0132]
(1)在表中存储arc信息的参数集(516)在一些情况下可以是序列参数集,但是在其它情况下有利地可以是解码器参数集。解码器参数集可以具有多个cvs(coded video sequence,已编码视频序列)(即,已编码视频流)的激活范围,即,从会话开始直到会话结束期间的所有已编码视频比特。此类范围可能是更合适的,因为可能的arc因子可能是可能以硬件实现的解码器特征,并且硬件特征倾向于不随任何cvs(其在至少一些娱乐系统中是长度为一秒或更短的图片组)而改变。然而,一些实施例可以包括如本文所述的序列参数集中的arc信息表,特别是结合下面的点(2)的序列参数集中的arc信息表。
[0133]
(2)arc参考信息(513)可以有利地直接放置在头(514)(例如,图片/分片/图块/gob/图块组头;下文为图块组头)中,而不是像jvcet-m0135-v1中那样放置在图片参数集中。原因如下:当编码器想要改变图片参数集中的单个值时,例如arc参考信息,则编码器可
能必须创建新的pps并参考该新的pps。在仅arc参考信息改变,而诸如pps中的量化矩阵信息等其它信息保持不变的情况下,此类信息可能很大,并且会需要重新发送以使新的pps完整。由于arc参考信息可能是单个码字,诸如arc参考信息表中的索引,并且arc参考信息将是惟一改变的值,因此重新传输所有的例如量化矩阵信息将非常麻烦和浪费。因此,从编码效率的角度来看,将arc参考信息直接放入头(例如头(514))可能会更好,因为可以避免通过pps的间接寻址,如jvet-m0135-v1中所建议的那样。另外,将arc参考信息放入pps具有另外的缺点,即由arc参考信息参考的arc信息必须应用于整个图片而不是子图片,因为图片参数集激活的范围是图片。
[0134]
在同一个实施例或另一个实施例中,arc参数的信令可以遵循图7a至7b所示的详细示例。图7a至7b描绘了语法图。此类语法图的符号大致遵循c风格的编程。粗体线表示码流中存在的语法元素,无粗体线通常表示控制流或变量的设置。
[0135]
作为可应用于图片(可能是矩形)一部分的头的示例性语法结构,图块组头(600)可以有条件地包含可变长度的exp-golomb编码的语法元素dec_pic_size_idx(602)(以粗体示出)。该语法元素在图块组头(600)中的存在可以通过使用自适应分辨率(603)来选通。在此,自适应分辨率标志的值未以黑体示出,这意味着该标志在码流中出现的位置点是其出现在语法表中。可以以码流内部或外部的任何高级语法结构来发信号通知自适应分辨率是否用于该图片或其一部分。在图7a至7b所示的示例中,如下所述在序列参数集(610)中发信号通知自适应分辨率。
[0136]
图7b示出了序列参数集(610)的摘录。所示的第一语法元素是adaptive_pic_resolution_change_flag(611)。当为真时,该标志可以指示使用了自适应分辨率,而自适应分辨率可能需要特定的控制信息。在该示例中,此类控制信息基于标志的值有条件地存在,该标志基于序列参数集(610)和图块组头(600)中的if()语句(612)。
[0137]
当使用自适应分辨率时,在本例子中,输出分辨率(613)是以样本为单位进行编码。在本示意性实施例中,该输出分辨率613指的是语法元素output_pic_width_in_luma_samples和output_pic_height_in_luma_samples两者,这两个语法元素可以一起定义输出图片的分辨率。在视频编码技术或标准的其它地方,可以定义对任一值的某些限制。例如,级别定义可以限制总输出采样的数量,其可以是上述两个语法元素的值的乘积。此外,某些视频编码技术或标准,或外部技术或标准(例如,系统标准)可限制数值范围(例如,一个维度或两个维度都必须可被2的幂数除尽)或纵横比(例如,宽度和高度必须具有例如4:3或16:9的关系)。可以引入此类限制以便于硬件实现或用于其它原因。
[0138]
在某些应用中,建议编码器指示解码器使用某个参考图片大小,而不是隐含地假定其大小为输出图片大小。在该示例中,语法元素reference_pic_size_present_flag(614)选通参考图片尺寸(615)的有条件存在(同样,在示例性实施例中该数字指的是宽度和高度两者)。
[0139]
图7b进一步示出了一个可能的解码图片宽度和高度的表。此表可以例如通过表指示(616)(例如,语法元素num_dec_pic_size_in_luma_samples_minus1)来表示。语法元素“minus1”(减1)可以指该语法元素的值的解释。例如,如果该语法元素的编码值为零,则存在一个表条目。如果已编码值为五,则存在六个表条目。对于表中的每一“行”,已解码的图片宽度和高度然后被作为表条目包含在语法(617)中。
[0140]
所呈现的表条目(617)可以使用图块组头中的语法元素dec_pic_size_idx(602)进行索引,从而允许每个图块组具有不同的解码大小(实际上是缩放因子)。
[0141]
某些视频编解码技术或标准(例如vp9)通过结合时间可缩放性,实施某些形式的参考图片重采样(实施某些形式的参考图片重采样采用与所申请公开的实施例完全不同的方式发信号通知),以支持空间可缩放性,从而实现空间可缩放性。具体地,可以使用arc风格技术将某些参考图片上采样到更高的分辨率,以形成空间增强层的基础。可以使用高分辨率的正常预测机制来修正这种上采样的图片,以便添加细节。
[0142]
所公开的实施例可用于这种环境。在某些情况下,在相同或另一实施例中,nal单元头中的值(例如,时间id字段)不仅可以用于指示时间层,还可以用于指示空间层。这样做对于某些系统设计具有某些优点;例如,基于nal单元头的时间id值,为时间层选定的转发而创建和优化的现有选定的转发单元(sfu),可以在不修改的情况下,用于可缩放环境。为了实现这一点,本技术公开的实施例可以包括已编码图片大小和时间层之间的映射,其中时间层将由nal单元头中的时间id字段来指示。
[0143]
在一些视频编解码技术中,存取单元(au)可以是指,在给定时间实例中捕获并组成相应图片/分片/图块/nal单元码流的,一个或多个已编码图片、一个或多个分片、一个或多个图块、一个或多个nal单元等。该时间实例可以是合成时间。
[0144]
在hevc和某些其它视频编解码技术中,图片顺序计数(poc)值可以用于指示在已解码图片缓冲器(dpb)中存储的多个参考图片中选择的参考图片。当存取单元(au)包括一个或多个图片、分片或图块时,属于同一au的每个图片、分片或图块可以携带相同的poc值,从中可以导出它们是从相同合成时间的内容创建的。换言之,在两个图片/分片/图块携带相同的给定poc值的场景中,相同的给定poc值可以指示这两个图片/分片/图块属于相同的au并且具有相同的合成时间。相反地,具有不同的poc值的两个图片/图块/分片可以指示,那些图片/分片/图块属于不同的au并且具有不同的合成时间。
[0145]
在本公开的实施例中,可以放宽前述严格关系,因为存取单元可以包括具有不同的poc值的图片、分片或图块。通过在au内允许不同poc值,可以使用poc值来识别具有相同呈现时间的潜在独立可解码的图片/分片/图块。因此,本技术公开的实施例使得能够在不改变参考图片选择信令(例如,参考图片集信令或参考图片列表信令)的情况下支持多个可缩放层,如下面更详细描述的。
[0146]
在实施例中,相对于其它具有不同poc值的图片/分片/图块,仍然希望能够仅从poc值,来识别图片/分片/图块所属的au。这在如下所述实施例中是可以实现的,。
[0147]
在相同或其它实施例中,在高级语法结构(诸如nal单元头、分片头、图块组头、sei消息、参数集或au定界符)中,发信号通知存取单元计数(auc)。auc的值可以用于识别哪些nal单元、图片、分片或图块属于给定的au。auc的值可以对应于不同的合成时间实例。auc值可以等于poc值的倍数。通过将poc值除以整数值,可以计算auc值。在某些情况下,除法运算可能对解码器实现造成一定负担。在这种情况下,在auc值的编号空间中的小限制可以允许用本技术公开的实施例执行的移位运算代替除法运算。例如,auc值可以等于poc值范围的最高有效位(msb)值。
[0148]
在相同的实施例中,在高级语法结构(诸如nal单元头、分片头、图块组头、sei消息、参数集或au定界符)中,发信号通知每个au的poc周期的值(例如,语法元素poc_cycle_
au)。poc_cycle_au语法元素可以指示多少个不同且连续的poc值可以与同一au相关联。例如,如果poc_cycle_au的值等于4,则poc值等于0至3(含)的图片、分片或图块与auc值等于0的au相关联,并且poc值等于4至7(含)的图片、分片或图块与auc值等于1的au相关联。因此,本技术公开的实施例可以通过将poc值除以poc_cycle_au的值来推断auc的值。
[0149]
在相同或另一实施例中,可以从例如位于视频参数集(vps)中的,标识已编码视频序列中的空间或snr层的数目的,信息中导出poc_cycle_au的值。下面简要描述这种可能的关系。虽然如上所述的推导可以在vps中节省一些比特,并且因此可以提高编解码效率,但是在视频参数集之下分层地将poc_cycle_au显式编码在适当的高级语法结构中可能是有利的,以便能够针对码流的给定小部分(诸如图片)最小化poc_cycle_au。由于可以在低级语法结构中编码poc值(和/或间接参考poc的语法元素的值),因此这种优化可以节省比通过上述推导过程所节省的更多的比特。
[0150]
在相同或另一实施例中,图9a示出了语法表的示例,该语法表用于发信号通知在vps(630)或sps中的语法元素vps_poc_cycle_au(632),该语法元素vps_poc_cycle_au指示用于已编码视频序列中的所有图片/分片的poc_cycle_au。以及,图9b示出了一个语法表的示例,该语法表发信号通知语法元素slice_poc_cycle_au(642),该语法元素slice_poc_cycle_au指示在分片头(640)中的当前分片的poc_cycle_au。如果每个au的poc值均匀地增加,则将vps(630)中的vps_contant_poc_cycle_per_au(634)设置为等于1,并且发信号通知在vps(630)中的vps_poc_cycle_au。在这种情况下,不显式地发信号通知表示slice_poc_cycle_au(642),并且通过将poc的值除以vps_poc_cycle_au(632)来计算每个au的auc值。如果每个au的poc值不均匀地增加,则将vps(630)中的vps_contant_poc_cycle_per_au(634)设置为等于0。在这种情况下,不发信号通知vps_access_unit_cnt,而在每个分片或图片的分片头中发信号通知表示slice_access_unit_cnt。每个分片或图片可以具有不同的slice_access_unit_cnt值。通过将poc的值除以slice_poc_cycle_au(642),来计算每个au的auc值。
[0151]
图10图示了描述该实施例的相关工作流程的框图。例如,解码器(或编码器)解析vps/sps,并且识别每个au的poc周期是否恒定(652)。接下来,解码器(或编码器)基于每个au的poc周期在已编码视频序列中是否恒定来做出决定(654)。即,如果每个au的poc周期是恒定的,则解码器(或编码器)根据序列级别poc_cycle_au值和poc值计算该存取单元计数的值(656)。可选地,如果每个au的poc周期不是恒定的,则解码器(或编码器)根据图片级poc_cycle_au值和poc值计算存取单元计数的值(658)。然后,在任一情况下,解码器(或编码器)可以例如通过解析vps/sps并识别每个au的poc周期是否恒定(662)来重复该过程。
[0152]
在相同或其它实施例中,即使图片、分片或图块的poc的值可能不同,对应于具有相同auc值的au的图片、分片或图块,也可以与相同的解码或输出时间实例相关联。因此,在同一au中的图片、分片或图块之间没有任何相互解析依赖性/解码依赖性的情况下,与同一au相关联的图片、分片或图块的全部或子集可以并行解码,并且可以在同一时间实例输出。
[0153]
在相同或其它实施例中,即使图片、分片或图块的poc值可能不同,对应于具有相同auc值的au的图片、分片或图块,也可以与相同的合成时间实例/显示时间实例相关联。当合成时间包含在容器格式中时,即使图片对应于不同的au,如果图片具有相同的合成时间,也可以在相同时间实例处显示图片。
[0154]
在相同或其它实施例中,每个图片、分片或图块可以在相同的au中具有相同的时间标识符(例如,语法元素temporal_id)。对应于一个时间实例的图片、分片或图块的全部或子集可以与相同的时间子层相关联。在相同或其它实施例中,每个图片、分片或图块可以在相同的au中具有相同或不同的空间层id(语法元素layer_id)。对应于一个时间实例的图片、分片或图块的全部或子集可以与相同或不同的空间层相关联。
[0155]
图8示出了视频序列结构(680)的示例,该视频序列结构具有自适应分辨率改变的temporal_id、layer_id、poc和auc值的组合。在该示例中,auc=0的第一au中的图片、分片或图块可以具有temporal_id=0和layer_id=0或1,而auc=1的第二au中的图片、分片或图块可以分别具有temporal_id=1和layer_id=0或1。不管temporal_id和layer_id的值如何,每一图片的poc值增加1。在该示例中,poc_cycle_au的值可以等于2。在实施例中,poc_cycle_au的值可以被设置为等于(空间可缩放性)层的数量。在该示例中,poc的值增加2,而auc的值增加1。作为示例,图8示出了在第一au(auc=0)内具有poc 0、tid 0和lid 0的i分片(681),以及具有poc 1、tid 0和lid 1的b分片(682)。在第二au(auc=1)内,图8图示了具有poc 2、tid 1和lid 0的b分片(683),以及具有poc 3、tid 1和lid 1的b分片(684)。在第三au(auc=3)内,图8图示了具有poc 4、tid 0和lid 0的b分片(685),以及具有poc 5、tid 0和lid 1的b分片(686)。
[0156]
在上述实施例中,可以通过使用hevc中的现有参考图片集(rps)信令或参考图片列表(rpl)信令,来支持帧间或层间预测结构和参考图片指示的全部或子集合。在rps或rpl中,通过发信号通知当前图片和所选参考图片之间的poc的值或poc的增量值,来指示选定的参考图片。在本技术公开的实施例中,rps和rpl可以用于指示帧间或层间预测结构而不改变信令,但具有以下限制。如果参考图片的temporal_id的值大于当前图片的temporal_id的值,则当前图片可不将参考图片用于运动补偿或其它预测。如果参考图片的layer_id的值大于layer_id当前图片的值,则当前图片可不将参考图片用于运动补偿或其它预测。
[0157]
在相同或其他实施例中,可以在存取单元内的多个图片上禁用用于时间运动矢量预测的基于poc差的运动矢量缩放。因此,尽管每个图片在存取单元内可以具有不同的poc值,但运动矢量未缩放并且用于存取单元内的时间运动矢量预测。因为在相同au中具有不同poc的参考图片被认为是具有相同时间实例的参考图片。因此,在该实施例中,当参考图片属于与当前图片相关联的au时,运动矢量缩放函数可以返回1。
[0158]
在相同或其他实施例中,当参考图片的空间分辨率不同于当前图片的空间分辨率时,可以可选地在多个图片上禁用用于时间运动矢量预测的基于poc差的运动矢量缩放。当允许运动矢量缩放时,基于poc差和当前图片与参考图片之间的空间分辨率比率两者来缩放运动矢量。
[0159]
在相同或另一实施例中,对于时间运动矢量预测,尤其是当poc_cycle_au具有非均匀值时(当vps_contant_poc_cycle_per_au==0时),可以基于auc差而不是poc差来缩放运动矢量。否则(当vps_contant_poc_cycle_per_au==1时),基于auc差的运动矢量缩放可以与基于poc差的运动矢量缩放相同。
[0160]
在相同或另一实施例中,当基于auc差缩放运动矢量时,不基于auc差对与当前图片在相同au(具有相同的auc值)中的参考运动矢量进行缩放,并将参考运动矢量用于不进行缩放运动矢量预测或用于对运动矢量预测进行基于当前图片与参考图片之间的空间分
辨率比率的缩放。
[0161]
在相同或其他实施例中,auc值可以用于标识au的边界并用于假想参考解码器(hrd)的操作,该hrd的操作需要具有au粒度的输入定时和输出定时。在多数情况下,可以输出au中具有最高层的已解码图片以供显示。auc值和layer_id值可以用于标识输出图片。
[0162]
在实施例中,图片可以由一个或多个子图片组成。每个子图片可以由图片的局部区域或整个区域组成。由子图片支持的区域可以与由另一个子图片支持的区域重叠或不重叠。由一个或多个子图片组成的区域可以覆盖或不覆盖图片的整个区域。如果图片包括子图片,则由子图片支持的区域可以与由图片支持的区域相同。
[0163]
在相同的实施例中,可以通过与用于已编码图片的编码方法类似的编码方法来对子图片进行编码。子图片可以独立编码或者可以根据另一个子图片或已编码图片进行编码。子图片可具有或不具有对另一个子图片或已编码图片的任何解析依赖性。
[0164]
在相同的实施例中,已编码子图片可以包含在一个或多个层中。层中的已编码子图片可以具有不同的空间分辨率。原始子图片可以在空间上进行重采样(上采样或下采样),用不同的空间分辨率参数进行编码,并且包含在与层相对应的码流中。
[0165]
在相同或另一实施例中,具有(w,h)的子图片可以编码并包含在对应于层0的已编码码流中,其中w指示子图片的宽度,并且h指示子图片的高度。而来自具有原始空间分辨率、具有(w*s
w,k
,h*s
h,k
)的子图片中的,上采样(或下采样)的子图片可以编码并包含在对应于层k的已编码码流中,其中s
w,k,sh,k
指示水平的重采样率和垂直的重采样率。如果s
w,k
,s
h,k
的值大于1,则重采样可以等于上采样。然而,如果s
w,k
,s
h,k
的值小于1,则重采样可以等于下采样。
[0166]
在相同或另一实施例中,一层中的已编码子图片可以具有与相同子图片或不同子图片中的另一层中的已编码子图片不同的视觉质量。例如,层n中的子图片i用量化参数q
i,n
进行编码,而层m中的子图片j用量化参数q
j,m
进行编码。
[0167]
在实施例中,一层中的已编码子图片可以是独立可解码的(independently decodable),而对同一局部区域的另一层中的已编码子图片没有任何解析依赖性或解码依赖性。可以在不参考同一局部区域的另一子图片层的情况下独立可解码的子图片层是独立子图片层。独立子图片层中的已编码子图片可以具有或不具有对同一子图片层中的先前已编码子图片的解码依赖性或解析依赖性,但是已编码子图片对来自另一子图片层中的已编码图片可以不具有任何依赖性。
[0168]
在相同或另一实施例中,一层中的已编码子图片可以是依赖可解码的(dependently decodable),具有对来自相同局部区域的另一层中的已编码子图片的任何解析依赖性或解码依赖性。通过参考同一局部区域的另一子图片层进行依赖解码的子图片层是依赖子图片层。依赖子图片中的已编码子图片可以参考属于相同子图片的已编码子图片、相同子图片层中的先前已编码子图片,或者同时参考这两种参考子图片。
[0169]
在相同或另一实施例中,已编码子图片由一个或多个独立子图片层和一个或多个依赖子图片层组成。然而,对于已编码子图片,可以存在至少一个独立子图片层。独立子图片层具有等于0的层标识符(layer_id)的值,该层标识符可以存在于nal单元头或另一高级语法结构中。layer_id等于0的子图片层可以是基本子图片层。
[0170]
在相同或另一实施例中,图片可以由一个或多个前景子图片和一个背景子图片组
成。由背景子图片支持的区域可以等于图片的区域。由前景子图片支持的区域可以与由背景子图片支持的区域重叠。背景子图片可以是基本子图片层,而前景子图片可以是非基本(增强)子图片层。一个或多个非基本子图片层可以参考相同的基本层进行解码。layer_id等于a的每个非基本子图片层可以参考layer_id等于b的非基本子图片层,其中a大于b。
[0171]
在相同或另一实施例中,图片可以包括具有或不具有背景子图片的一个或多个前景子图片。每个子图片可以具有其自己的基本子图片层和一个或多个非基本(增强)层。每个基本子图片层可以供一个或多个非基本子图片层进行参考。layer_id等于a的每个非基本子图片层可以参考layer_id等于b的非基本子图片层,其中a大于b。
[0172]
在相同或另一实施例中,图片可以包括具有或不具有背景子图片的一个或多个前景子图片。(基本或非基本)子图片层中的每个已编码子图片可以供属于相同子图片的一个或多个非基本层子图片,和不属于相同子图片的一个或多个非基本层子图片进行参考。
[0173]
在相同或另一实施例中,图片可以由具有或不具有背景子图片的一个或多个前景子图片组成。层a中的子图片可以进一步分区成同一层中的多个子图片。层b中的一个或多个已编码子图片可以参考层a中的已分区的子图片。
[0174]
在相同或另一实施例中,已编码视频序列(cvs)可以是一组已编码图片。cvs可以包括一个或多个已编码子图片序列(csps),其中csps可以是覆盖图片的相同局部区域的一组已编码子图片。csps可以具有与已编码视频序列相同或不同的时间分辨率。
[0175]
在相同或另一实施例中,csps可以编码并包含在一个或多个层中。csps可以包括一个或多个csps层。对与csps对应的一个或多个csps层进行解码,可以重建对应于相同局部区域的子图片序列。
[0176]
在相同或另一实施例中,对应于一个csps的csps层的数目可以与对应于另一csps的csps层的数目相同或不同。
[0177]
在相同或另一实施例中,一个csps层可以具有与另一csps层不同的时间分辨率(例如帧速率)。原始(未压缩)子图片序列可以在时间上重采样(上采样或下采样),用不同的时间分辨率参数进行编码,并且包含在对应于层的码流中。
[0178]
在相同或另一实施例中,具有帧速率f的子图片序列可以编码并包含在对应于层0的已编码码流中,而来自具有f*s
t,k
的原始子图片序列的时间上采样(或下采样)的子图片序列,可以编码并包含在对应于层k的已编码码流中,其中s
t,k
指示层k的时间采样率。如果s
t,k
的值大于1,则时间重采样过程等于帧速率上变换。然而,如果s
t,k
的值小于1,则时间重采样过程等于帧速率下变换。
[0179]
在相同或另一实施例中,当具有csps层a的子图片供具有csps层b的子图片参考,用于运动补偿或任何层间预测时,如果csps层a的空间分辨率不同于csps层b的空间分辨率,则csps层a中的已解码像素进行重采样并用作参考。重采样过程需要上采样滤波或下采样滤波。
[0180]
图11示出了包括layer_id等于0的背景视频csps层和多个前景csps层的示例视频码流。虽然已编码子图片可以由一个或多个增强csps层(704)组成,但是不属于任何前景csps层的背景区域可以包括基本层(702)。基本层(702)可以包含背景区域和前景区域,而增强csps层(704)包含前景区域。在相同区域处,增强csps层(704)可以具有比基本层(702)更好的视觉质量。增强csps层(704)可以参考对应于相同区域的基本层(702)的重建像素和
运动矢量。
[0181]
在相同或另一实施例中,在视频文件中,对应于基本层(702)的视频码流包含在轨道中,而对应于每个子图片的增强csps层(704)包含在单独的轨道中。
[0182]
在相同或另一实施例中,对应于基本层(702)的视频码流包含在轨道中,而具有相同layer_id的增强csps层(704)包含在单独的轨道中。在该示例中,对应于层k的轨道仅包括对应于层k的增强csps层(704)。
[0183]
在相同或另一实施例中,每个子图片的每个增强csps层(704)存储在单独的轨道中。每个轨道可能具有也可能不具有对一个或多个其它轨道的解析依赖性或解码依赖性。
[0184]
在相同或另一实施例中,每个轨道可以包含对应于子图片的全部或子集的增强csps层(704)中的层i至层j的码流,其中0《i=《j=《k,k是csps的最高层。
[0185]
在相同或另一实施例中,图片包括一个或多个相关联的媒体数据,这些相关联的媒体数据包括深度图、α图、3d几何数据、占用图等。这种相关联的定时媒体数据可以划分成一个或多个数据子码流,每个数据子码流对应于一个子图片。
[0186]
在相同或另一实施例中,图12示出了基于多层子图片方法的视频会议的示例。在视频码流中,包含对应于背景图片的一个基本层视频码流和对应于前景子图片的一个或多个增强层视频码流。每个增强层视频码流对应于csps层。在显示器中,默认地显示对应于基本层(712)的图片。基本层(712)包含一个或多个用户的画中画(pip)。当客户端控件选择特定用户时,对应于所选用户的增强csps层(714)被解码并以增强的质量或空间分辨率显示。
[0187]
图13示出了该实施例的操作图。在该实施例中,解码器可以对包括多个层(例如,一个基础层和一个或多个增强csps层)的视频码流进行解码(722)。接下来,解码器可以识别背景区域和一个或多个前景子图片(724),并且做出关于是否选择特定子图片区域的决定(726)。如果选择了对应于例如用户的pip的特定子图片区域(是),则解码器可以对与所选用户相对应的增强子图片进行解码并显示(728)。例如,解码器可以对与增强csps层相对应的图像进行解码并显示(714)。如果没有选择特定的子图片区域(否),则解码器可以对背景区域进行解码并显示(730)。例如,解码器可以对与该基础层相对应的图像进行解码并显示(712)。
[0188]
在相同或另一实施例中,网络中间盒(诸如路由器)可以根据其带宽选择层的子集以发送给用户。图片/子图片组织可以用于带宽适配。例如,如果用户没有带宽,由于层和子图片的重要性或基于使用的设置,路由器剥离层或选择一些子图片。在实施例中,该处理可以动态地进行,以适应带宽。
[0189]
图14示出了360度视频的用例。当球面360度图片(742)投影到平面图片上时,投影的球面360度图片(742)可以分区成多个子图片(745)作为基本层(744)。对特定子图片(745)的增强层(746)进行编码并将其传输到客户端。解码器对包括所有子图片(745)的基本层(744)进行解码和对所选一个子图片(745)的增强层(746)进行解码。当当前视口与所选一个子图片(745)相同时,所显示图片包括具有增强层(746)的已解码子图片(745),所显示图片具有更高的质量。否则,可以更低质量显示具有基本层(744)的已解码图片。
[0190]
在相同或另一实施例中,用于显示的任何布局信息可以作为补充信息(诸如sei消息或元数据)存在于文件中。一个或多个已解码子图片可以根据发信号通知表示的布局信息重新定位和显示。布局信息可以由流媒体服务器或广播器发信号通知表示,或者可以由
网络实体或云服务器重新生成,或者可以由用户的定制设置来确定。
[0191]
在实施例中,当输入图片划分成一个或多个(矩形)子区域时,每个子区域可以被编码为独立层。对应于局部区域的每个独立层可以具有唯一的layer_id值。对于每个独立层,可以发信号通知表示子图片大小和位置信息。例如,可以发信号通知图片大小(宽度,高度)、左上角的偏移信息(x_offset,y_offset)。图15a示出了划分的子图片(752的布局,图15b示出了一个子图片(752)对应的子图片大小和位置信息,及图16示出了对应的图片预测结构的示例。在高级语法结构(诸如参数集、分片头或图块组头,或sei消息)中发信号通知表示布局信息,该布局信息包括子图片大小和子图片位置。
[0192]
在相同的实施例中,对应于独立层的每个子图片可以在au内具有其唯一的poc值。当通过使用rps或rpl结构中的一个或多个语法元素,指示存储在dpb中的图片中的参考图片时,可以使用对应于层的每个子图片的一个或多个poc值。
[0193]
在相同或另一实施例中,为了指示(层间)预测结构,可以不使用layer_id并且可以使用poc(增量)值。
[0194]
在相同的实施例中,具有对应于层(或局部区域)的poc值等于n的子图片,可以用作或可以不用作具有poc值等于k n的子图片的参考图片,poc值等于k n的子图片对应于相同层(或相同局部区域),参考图片用于运动补偿预测。在大多数情况下,数目k的值可以等于(独立)层的最大数目,数目k的值可以与子区域的数目相同。
[0195]
在相同或另一实施例中,图17至18示出了图15a、图15b和图16的扩展情况。当输入图片划分成多个(例如四个)子区域时,每个局部区域可以用一个或多个层进行编码。在该情况下,独立层的数目可以等于子区域的数目,并且一个或多个层可以对应于一个子区域。因此,每个子区域可以用一个或多个独立层以及零个或多个依赖层进行编码。
[0196]
在相同的实施例中,参考图17,输入图片可以划分成四个子区域,四个子区域包括左上子区域(762)、右上子区域(763)、左下子区域(764)、右下子区域(765)。右上子区域(763)可以编码为两个层,即层1和层4,而右下子区域(765)可以编码为两个层,即层3和层5。在这种情况下,层4可以参考层1进行运动补偿预测,而层5可以参考层3进行运动补偿。
[0197]
在相同或另一实施例中,可以(可选地)禁用跨层边界的环路滤波(诸如去块滤波、自适应环路滤波、整形器、双边滤波或任何基于深度学习的滤波)。
[0198]
在相同或另一实施例中,可以(可选地)禁用跨层边界的运动补偿预测或块内复制。
[0199]
在相同或另一实施例中,可以可选地进行用于运动补偿预测的边界填充或子图片边界处的环路滤波。在高级语法结构(诸如一个或多个参数集(vps、sps、pps或aps)、分片头或图块组头,或sei消息)中发信号通知指示是否进行边界填充的标志。
[0200]
在相同或另一实施例中,在vps或sps中,发信号通知一个或多个子区域(或者一个或多个子图片)的布局信息。图19a示出了vps(770)中的语法元素的示例,图19b示出了sps(780中的语法元素的示例。在该示例中,在vps(770)中发信号通知中vps_sub_picture_dividing_flag(772)。该标志可以指示一个或多个输入图片是否被划分成多个子区域。当vps_sub_picture_dividing_flag(772)的值等于0时,对应于当前vps的一个或多个已编码视频序列中的一个或多个输入图片,可以不划分成多个子区域。在这种情况下,输入图片大小可以等于已编码图片大小(pic_width_in_luma_samples(786),pic_height_in_luma_
samples(788)),在sps(780)中发信号通知输入图片大小。当vps_sub_picture_dividing_flag(772)的值等于1时,一个或多个输入图片可以被划分成多个子区域。在这种情况下,在vps(770)中发信号通知语法元素vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)。vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)的值可以分别等于一个或多个输入图片的宽度和高度。
[0201]
在相同的实施例中,vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)的值可以不用于解码,但可以用于合成和显示。
[0202]
在相同的实施例中,当vps_sub_picture_dividing_flag(772)的值等于1时,可以在对应于一个或多个特定层的sps(780)中发信号通知语法元素pic_offset_x(782)和pic_offset_y(784)。在这种情况下,在sps(780)中发信号通知的已编码图片大小(pic_width_in_luma_samples(786),pic_height_in_luma_samples(788)),可以等于对应于特定层的子区域的宽度和高度。而且,可以在sps(780)中发信号通知子区域的左上角的位置(pic_offset_x(782),pic_offset_y(784))。
[0203]
在相同的实施例中,子区域的左上角的位置信息(pic_offset_x(782),pic_offset_y(784))可以不用于解码,但可以用于合成和显示。
[0204]
在相同或另一实施例中,在参数集或sei消息中,发信号通知输入图片、层间的依赖性信息的全部或子集子区域的布局信息(大小和位置)。图20示出了语法元素的示例,其用于指示子区域的布局信息、层之间的依赖性信息以及子区域与一个或多个层之间的关系的信息。在该示例中,语法元素num_sub_region(791)指示当前已编码视频序列中(矩形)子区域的数目。语法元素num_layers(792)指示当前已编码视频序列中层的数目。num_layers(792)的值可以等于或大于num_sub_region(791)的值。当任何子区域被编码为单个层时,num_layers(792)的值可以等于num_sub_region(791)的值。当一个或多个子区域编码为多个层时,num_layers(792)的值可以大于num_sub_region(791)的值。语法元素direct_dependency_flag[i][j](793)指示从第j层到第i层的依赖性。语法元素num_layers_for_region[i](794)指示与第i个子区域相关联的层的数目。语法元素sub_region_layer_id[i][j](795)指示与第i个子区域相关联的第j层的layer_id。sub_region_offset_x[i](796)和sub_region_offset_y[i](797)分别指示第i个子区域的左上角的水平位置和垂直位置。sub_region_width[i](798)和sub_region_height[i](799)分别指示第i个子区域的宽度和高度。
[0205]
在一个实施例中,在高级语法结构(例如vps、dps、sps、pps、aps或sei消息)中,发信号通知一个或多个语法元素。所述一个或多个语法元素指定输出层集,以指示要输出的具有或不具有配置文件层级信息的多个层中的一个。参考图21,在vps中发信号通知语法元素num_output_layer_sets(804),其指示参考vps的已编码视频序列中的输出层集(ols)的数目。对于每个输出层集,可以发信号通知与输出层的数目一样多次数的语法元素output_layer_flag(810)。
[0206]
在相同的实施例中,等于1的语法元素output_layer_flag(810)指定输出第i层。等于0的vps_output_layer_flag(810)指定不输出第i层。
[0207]
在相同或另一实施例中,可以在高级语法结构(例如vps、dps、sps、pps、aps或sei
消息)中发信号通知一个或多个语法元素,其指定用于每个输出层集的配置文件层级信息。仍然参考图21,可以在vps中发信号通知语法元素num_profile_tier_level(806),其指示参考vps的已编码视频序列中的每个ols的配置文件层级信息的数目。对于每个输出层集,以与输出层的数目的数目一样多的次数,发信号通知用于配置文件层级信息的语法元素集,或发信号通知指示配置文件层级信息中的条目中的特定配置文件层级信息的索引。
[0208]
在相同的实施例中,语法元素profile_tier_level_idx[i][j](812),在vps中的profile_tier_level()(808)语法结构的列表中,指定应用于第i个ols的第j层的profile_tier_level()(808)语法结构的索引。
[0209]
配置文件、层次和级别(及其对应的信息)可以指定对码流的限制,并且因此限制对码流进行解码所需的能力。配置文件、层次和级别(及其对应的信息)也可以用于指示各个解码器实现之间的互操作性点。配置文件可以是,例如标准的整个码流语法的子集。每个配置文件(及其对应的信息)可以指定符合该配置文件的所有解码器可以支持的算法特征和限制的子集。可以在每个配置文件中指定层次和级别,并且一个层次的一个级别可以是施加于码流中的语法元素的值的指定约束集合。一个层次的每个级别(及其对应的信息)可以指定对值的限制的集合和/或对可由本公开的语法元素采用的值的算术组合的限制的集合。层次和级别定义的同一集合可以与所有配置文件一起使用,但是各个实现可以支持不同的层次,并且在一个层次内针对每个所支持的配置文件支持不同的级别。对于任何给定的配置文件,一个层次的一个级别可以对应于特定的解码器处理负载和存储器能力。为较低层次指定的级别可以比为较高层次指定的级别更受限制。
[0210]
在相同或另一实施例中,参考图22,当最大层的数目大于1(vps_max_layers_minus1》0)时,可以发信号通知语法元素num_profile_tier_level(806)和/或num_output_layer_sets(804)。
[0211]
在相同或另一实施例中,参考图22,语法元素vps_output_layers_mode[i](822)可以存在于vps中,其指示用于第i个输出层集的输出层信令的模式。
[0212]
在相同的实施例中,等于0的语法元素vps_output_layers_mode[i](822)指定:仅输出具有第i个输出层集的最高层。等于1的语法元素vps_output_layers_mode[i](822)指定:输出具有第i个输出层集的所有层。等于2的语法元素vps_output_layers_mode[i](822)指定:输出的层是vps_output_layer_flag[i][j]等于1且具有第i个输出层集的层。可以保留更多的值。
[0213]
在相同的实施例中,根据用于第i个输出层集的语法元素vps_output_layers_mode[i](822)的值来发信号通知也可以不发信号通知语法元素output_layer_flag[i][j](810)。
[0214]
在相同或另一实施例中,参考图22,存在用于第i个输出层集的标志vps_ptl_signal_flag[i](824)。取决于vps_ptl_signal_flag[i](824)的值,可以发信号通知或不发信号通知用于第i个输出层集的配置文件层级信息。
[0215]
在相同或另一实施例中,参考图23,可以在高级语法结构(例如vps、dps、sps、pps、aps或sei消息)中发信号通知当前cvs中的子图片的数目max_subpics_minus1。
[0216]
在相同的实施例中,参考图23,当子图片的数目大于1(max_subpics_minus1》0)时,可以发信号通知用于第i个子图片的子图片标识符sub_pic_id[i](821)。
[0217]
在相同或另一实施例中,在vps中,发信号通知一个或多个语法元素,其指示属于每个输出层集的每个层的子图片标识符。参考图23,标识sub_pic_id_layer[i][j][k](826)指示存在于第i个输出层集的第j层中的第k个子图片。通过使用标识sub_pic_id_layer[i][j][k](826)的信息,解码器可以识别,对于特定输出层集的每个层,可以对哪一个子图片进行解码和输出。
[0218]
在实施例中,图片头(ph)是包含应用于已编码图片的所有分片的语法元素的语法结构。图片单元(pu)是一组nal单元,该组nal单元根据指定的分类规则彼此关联、在解码顺序上连续并且正好包含一个已编码图片的。pu可以包含图片头(ph)和组成已编码图片的一个或多个vcl nal单元。
[0219]
在实施例中,通过包括在temporalid等于0的至少一个au中,或通过外部装置提供,sps(rbsp)在其被参考之前可用于解码过程。
[0220]
在实施例中,通过包括在cvs(包含参考sps的一个或多个pps)中temporalid等于0的至少一个au中或通过外部装置提供,sps(rbsp)在其被参考之前可用于解码过程。
[0221]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,sps(rbsp)在其由一个或多个pps参考之前可用于解码过程。其中,所述至少一个pu的nuh_layer_id等于cvs(包含参考sps的一个或多个pps)中参考sps nal单元的pps nal单元的最低nuh_layer_id值。
[0222]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,sps(rbsp)在其由一个或多个pps参考之前可用于解码过程。所述至少一个pu的temporalid equal等于0,且nuh_layer_id等于参考sps nal单元的pps nal单元的最低nuh_layer_id值。
[0223]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,sps(rbsp)在其由一个或多个pps参考之前可用于解码过程。所述至少一个pu的temporalid等于0,且nuh_layer_id等于cvs(包含参考sps的一个或多个pps)中参考sps nal单元的pps nal单元的最低nuh_layer_id值。
[0224]
在相同或另一实施例中,标识pps_seq_parameter_set_id为所参考sps指定标识sps_seq_parameter_set_id的值。标识pps_seq_parameter_set_id的值在由clvs中的已编码图片参考的所有pps中可以相同。
[0225]
在相同或另一实施例中,cvs中具有特定标识sps_seq_parameter_set_id值的所有sps nal单元可以具有相同内容。
[0226]
在相同或另一实施例中,不管nuh_layer_id值如何,sps nal单元可以共享标识sps_seq_parameter_set_id的相同值空间。
[0227]
在相同或另一实施例中,sps nal单元的nuh_layer_id值可以等于参考sps nal单元的pps nal单元的最低nuh_layer_id值。
[0228]
在实施例中,当nuh_layer_id等于m的sps被nuh_layer_id等于n的一个或多个pps参考时,nuh_layer_id等于m的层可以与nuh_layer_id等于n的层相同,或可以与nuh_layer_id等于m的层的(直接或间接)参考层相同。
[0229]
在实施例中,通过包括在temporalid等于pps nal单元的temporalid的至少一个au中,或通过外部装置提供,pps(rbsp)在其被参考之前可用于解码过程。
[0230]
在实施例中,通过包括在至少一个au中或通过外部装置提供,pps(rbsp)在其被参考之前可用于解码过程。所述至少一个au的temporalid等于cvs(其包含参考pps的一个或
多个ph(或已编码分片nal单元))中的pps nal单元的temporalid。
[0231]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,pps(rbsp)在其由一个或多个ph(或已编码分片nal单元)参考之前可用于解码过程。所述至少一个pu的nuh_layer_id等于,cvs(其包含参考pps的一个或多个ph(或已编码分片nal单元))中参考pps nal单元的已编码分片nal单元的最低nuh_layer_id值。
[0232]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,pps(rbsp)在其由一个或多个ph(或已编码分片nal单元)参考之前可用于解码过程。所述至少一个pu的temporalid等于pps nal单元的temporalid,且nuh_layer_id等于cvs(包含参考pps的一个或多个ph(或已编码分片nal单元))中参考pps nal单元的已编码分片nal单元的最低nuh_layer_id值。
[0233]
在相同或另一实施例中,ph中的标识ph_pic_parameter_set_id指定所使用的参考pps的标识pps_pic_parameter_set_id的值。pps_seq_parameter_set_id的值在由clvs中的已编码图片参考的所有pps中可以相同。
[0234]
在相同或另一实施例中,pu内具有特定标识pps_pic_parameter_set_id值的所有pps nal单元可以具有相同内容。
[0235]
在相同或另一实施例中,不管nuh_layer_id值如何,pps nal单元可以共享标识pps_pic_parameter_set_id的相同值空间。
[0236]
在相同或另一实施例中,pps nal单元的nuh_layer_id值可以等于参考nal单元(其参考pps nal单元)的已编码分片nal单元的最低nuh_layer_id值。
[0237]
在实施例中,当nuh_layer_id等于m的pps被nuh_layer_id等于n的一个或多个已编码分片nal单元参考时,nuh_layer_id等于m的层,可以与nuh_layer_id等于n的层相同,或可以与nuh_layer_id等于m的层的(直接或间接)参考层相同。
[0238]
在实施例中,通过包括在至少一个au中,或通过外部装置提供,pps(rbsp)在其被参考之前可用于解码过程。所述至少一个au的temporalid等于pps nal单元的temporalid。
[0239]
在实施例中,通过包括在至少一个au中或通过外部装置提供,pps(rbsp)在被参考之前可用于解码过程。所述至少一个au的temporalid等于cvs(其包含参考pps的一个或多个ph(或已编码分片nal单元))中的pps nal单元的temporalid。
[0240]
在实施例中,通过包括在至少一个pu中或通过外部装置提供,pps(rbsp)在由一个或多个ph(或已编码分片nal单元)参考之前可用于解码过程。所述至少一个pu的nuh_layer_id等于cvs(其包含参考pps的一个或多个ph(或已编码分片nal单元))中参考pps nal单元的已编码分片nal单元的最低nuh_layer_id值。
[0241]
在实施例中,pps(rbsp)在其由一个或多个ph(或已编码分片nal单元)参考之前可用于解码过程,包括在至少一个pu中,或通过外部手段提供。所述至少一个pu的temporalid等于pps nal单元的temporalid,且nuh_layer_id等于cvs(包含参考pps的一个或多个ph(或已编码分片nal单元))中参考pps nal单元的已编码分片nal单元的最低nuh_layer_id值。
[0242]
在相同或另一实施例中,ph中的标识ph_pic_parameter_set_id为所参考pps指定标识pps_pic_parameter_set_id的值。标识pps_seq_parameter_set_id的值,在由clvs中的已编码图片参考的所有pps中,可以相同。
[0243]
在相同或另一实施例中,pu内具有特定pps_pic_parameter_set_id值的所有pps nal单元,可以具有相同内容。
[0244]
在相同或另一实施例中,不管nuh_layer_id值如何,pps nal单元可以共享标识pps_pic_parameter_set_id的相同值空间。
[0245]
在相同或另一实施例中,pps nal单元的nuh_layer_id值可以等于参考nal单元(其参考pps nal单元)的已编码分片nal单元的最低nuh_layer_id值。
[0246]
在实施例中,当nuh_layer_id等于m的pps被nuh_layer_id等于n的一个或多个已编码分片nal单元参考时,nuh_layer_id等于m的层可以与nuh_layer_id等于n的层相同,或可以与nuh_layer_id等于m的层的(直接或间接)参考层相同。
[0247]
输出层可以是输出的输出层集的一层。输出层集(ols)可以是指定的层集合,其中,该层集合中的一个或多个层被指定为输出层。输出层集(ols)层索引是ols中的层到ols中的层列表的索引。
[0248]
子层可以是时间可缩放码流的时间可缩放层,该子层包括具有temporalid变量的特定值的vcl nal单元和相关联的非vcl nal单元。子层表示可以是包括特定子层和较低子层的nal单元的码流的子集。
[0249]
vps rbsp可以在被参考之前,通过被包括在具有等于0的temporalid的至少一个au中或通过外部装置来提供而可用于解码过程。cvs中具有特定vps_video_parameter_set_id值的所有vps nal单元可以具有相同内容。
[0250]
参考图24至图25,下面描述示例vps rbsp的语法元素。
[0251]
语法元素vps_video_parameter_set_id(842)提供vps的标识符,以供其它语法元素参考。语法元素vps_video_parameter_set_id(842)的值可以大于0。
[0252]
语法元素vps_max_layers_minus1(802)加1指定每个参考该vps的cvs中的最大允许层数。
[0253]
语法元素vps_max_sublayer_minus1(846)加1指定每个参考该vps的cvs中的一层中可以存在的时间子层的最大数量。语法元素vps_max_sublayer_minus1(846)的值可以在0至6(包括0和6)的范围内。
[0254]
语法元素vps_all_layers_same_num_sublayers_flag(848)等于1,指定时间子层的数量对于参考该vps的每个cvs中的所有层是相同的。语法元素vps_all_layers_same_num_sublayers_flag(848)等于0指定每个参考该vps的cvs中的层可以具有或可以不具有相同数量的时间子层。当不存在时,vps_all_layers_same_num_sublayers_flag(848)的值可以被推断为等于1。
[0255]
语法元素vps_all_independent_layers_flag(850)等于1指定在不使用层间预测的情况下独立地对cvs中的所有层进行编码。语法元素vps_all_independent_layers_flag(850)等于0指定cvs中的一个或多个层可以使用层间预测。当不存在时,vps_all_independent_layers_flag(850)的值可以被推断为等于1。
[0256]
语法元素vps_layer_id[i](852)指定第i层的nuh_layer_id值。对于m和n的任意两个非负整数值,当m小于n时,vps_layer_id[m]的值可以小于vps_layer_id[n]。
[0257]
语法元素vps_independent_layer_flag[i](854)等于1指定具有索引i的层不使用层间预测。语法元素vps_independent_layer_flag[i](854)等于0指定具有索引i的层可
以使用层间预测,并且对于在0至i-1(包括0和i-1)的范围内的j,语法元素vps_direct_ref_layer_flag[i][j]存在于vps中。当不存在时,语法元素vps_independent_layer_flag[i](854)的值可以被推断为等于1。
[0258]
语法元素vps_direct_ref_layer_flag[i][j](856)等于0指定具有索引j的层不是具有索引i的层的直接参考层。语法元素vps_direct_ref_layer_flag[i][j](856)等于1指定具有索引j的层是具有索引i的层的直接参考层。当语法元素vps_direct_ref_layer_flag[i][j](856)对于在0至vps_max_layers_minus1(包括0和vps_max_layers_minus1)的范围内的i和j不存在时,该语法元素可以被推断为等于0。当语法元素vps_independent_layer_flag[i](854)等于0时,在0至i-1(包括0和i-1)的范围内有至少一个j值,使得语法元素vps_direct_ref_layer_flag[i][j](856)的值等于1。
[0259]
变量numdirectreflayers[i]、directreflayeridx[i][d]、numreflayers[i]、reflayeridx[i][r]和layerusedasreflayerflag[j]可如下导出:
[0260][0261]
指定具有nuh_layer_id等于vps_layer_id[i](852)的层的层索引的变量generallayeridx[i]可以如下导出:
[0262]
for(i=0;i《=vps_max_layers_minus1;i )
[0263]
generallayeridx[vps_layer_id[i]]=i
[0264]
对于i和j的都在0至vps_max_layers_minus1(846)(包括0和vps_max_layers_minus1)的范围内的任意两个不同值,当dependencyflag[i][j]等于1时,应用于第i层的chroma_format_idc和bit_depth_minus8的值可以分别等于应用于第j层的chroma_format_idc和bit_depth_minus8的值,这可能是码流一致性的要求。
[0265]
语法元素max_tid_ref_present_flag[i](858)等于1指定语法元素max_tid_il_ref_pics_plus1[i](860)是存在的。语法元素max_tid_ref_present_flag[i](858)等于0指定语法元素max_tid_il_ref_pics_plus1[i](860)是不存在的。
[0266]
语法元素max_tid_il_ref_pics_plus1[i](860)等于0指定第i层的非irap图片不使用层间预测。语法元素max_tid_il_ref_pics_plus1[i](860)大于0指定,为了对第i层的图片进行解码,不使用temporalid大于max_tid_il_ref_pics_plus1[i]-1的图片作为ilrp。当不存在时,语法元素max_tid_il_ref_pics_plus1[i](860)的值可以被推断为等于7。
[0267]
语法元素each_layer_is_an_ols_flag(862)等于1指定每个ols仅包含一个层,并且在参考该vps的cvs中的每个层本身是ols,这种ols中被包括的单个层是唯一的输出层。语法元素each_layer_is_an_ols_flag(862)等于0指定ols可以包含多于一个层。如果语法元素vps_max_layers_minus1等于0,则语法元素each_layer_is_an_ols_flag(862)的值可以被推断为等于1。否则,当语法元素vps_all_independent_layers_flag(854)等于0时,语法元素each_layer_is_an_ols_flag(862)的值可以被推断为等于0。
[0268]
语法元素ols_mode_idc(864)等于0指定,由vps指定的ols的总数等于vps_max_layers_minus1 1,第i个ols包括层索引从0至i(包括0和i)的层,并且对于每个ols,仅输出该ols中的最高层。
[0269]
语法元素ols_mode_idc(864)等于1指定,由vps指定的ols的总数等于vps_max_layers_minus1 1,第i个ols包括层索引从0至i(包括0和i)的层,并且对于每个ols,输出该ols中的所有层。
[0270]
语法元素ols_mode_idc(864)等于2指定,显式地发信号通知由vps指定的ols的总数,并且对于每个ols,显式地发信号通知输出层,并且其它层是作为该ols的输出层的直接或间接参考层的层。
[0271]
语法元素ols_mode_idc(864)的值可以在0至2(包括0和2)的范围内。语法元素ols_mode_idc(864)的值3可以保留以供将来由itu-t|iso/iec使用。
[0272]
当语法元素vps_all_independent_layers_flag(850)等于1且each_layer_is_an_ols_flag(862)等于0时,语法元素ols_mode_idc(864)的值可被推断为等于2。
[0273]
当语法元素ols_mode_idc(864)等于2时,语法元素num_output_layer_sets_minus1(866)加1指定由vps指定的ols的总数。
[0274]
0268指定由vps指定的ols的总数的变量totalnumolss可以如下导出:
[0275][0276]
语法元素ols_output_layer_flag[i][j](868)等于1指定,当ols_mode_idc(864)等于2时,具有nuh_layer_id等于vps_layer_id[j]的层是第i个ols的输出层。语法元素ols_output_layer_flag[i][j](868)等于0指定,当语法元素ols_mode_idc(864)等于2时,具有nuh_layer_id等于vps_layer_id[j]的层不是第i个ols的输出层。
[0277]
指定第i个ols中的输出层的数量的变量numoutputlayersinols[i]、指定第i个ols中的第j层中的子层数量的变量numsublayersinlayerinols[i][j]、指定第i个ols中的第j个输出层的nuh_layer_id值的变量outputlayeridinols[i][j],以及指定第k个层是否用作至少一个ols中的输出层的变量layerusedasoutputlayerflag[k]可如下导出:
[0278]
[0279][0280][0281]
对于在0至vps_max_layers_minus1(包括0和vps_max_layers_minus1)范围内的i的每个值,layerusedasreflayerflag[i]和layerusedasoutputlayerflag[i]的值可以不
同时等于0。换句话说,不存在既不是至少一个ols的输出层也不是任何其它层的直接参考层的层。
[0282]
对于每个ols,可以有至少一个层是输出层。换句话说,对于在0至totalnumolss-1(包括0和totalnumolss-1)范围内的i的任何值,numoutputlayersinols[i]的值可以大于或等于1。
[0283]
指定第i个ols中的层的数量的变量numlayersinols[i]和指定第i个ols中的第j层的nuh_layer_id值的变量layeridinols[i][j]可如下导出:
[0284][0285]
变量olslayeridx[i][j]指定,nuh_layer_id等于layeridinols[i][j]的层的ols层索引。变量olslayeridx[i][j]导出如下:
[0286]
for(i=0;i《totalnumolss;i )
[0287]
for j=0;j《numlayersinols[i];j )
[0288]
olslayeridx[i][layeridinols[i][j]]=j
[0289]
每个ols中的最低层可以是独立层。换句话说,对于在0至totalnumolss-1(包括0和totalnumolss-1)的范围内的每个i,vps_independent_layer_flag[generallayeridx[layeridinols[i][0]]]的值可以等于1。每一层可以包括在由vps指定的至少一个ols中。换句话说,对于具有nuh_layer_id的特定值、nuhlayerid对于在0至vps_max_layers_minus1(包括0和vps_max_layers_minus1)的范围内的k等于vps_layer_id[k]中的一个的每一层,可以有至少一对值i和j,其中i在0至totalnumolss-1(包括0和totalnumolss-1)的
范围内,且j在numlayersinols[i]-1(包括numlayersinols[i]-1)的范围内,使得layeridinols[i][j]的值等于nuhlayerid。
[0290]
在实施例中,对于当前图片(例如,sytax元素currpic),解码过程可以如下操作,以设置语法元素pictureoutputflag:
[0291]
如果以下条件之一为真,则pictureoutputflag设置为等于0:
[0292]
(1)当前图片为rasl图片,并且相关联的irap图片的nooutputbeforerecoveryflag等于1;
[0293]
(2)gdr_enabled_flag等于1,并且当前图片是具有nooutputbeforerecoveryflag等于1的gdr图片;
[0294]
(3)gdr_enabled_flag等于1,当前图片与具有nooutputbeforerecoveryflag等于1的gdr图片相关联,并且当前图片的picordercntval小于相关联的gdr图片的rppicordercntval;
[0295]
(4)sps_video_parameter_set_id大于0,ols_mode_idc等于0,并且当前au包含满足以下所有条件的图片(例如,语法元素pica):(a)pica具有等于1的pictureoutputflag,(b)pica具有大于当前图片的nuh_layer_id nuhlid,(c)pica属于ols的输出层(即outputlayeridinols[targetolsidx][0]等于nuhlid);
[0296]
(5)sps_video_parameter_set_id大于0,ols_mode_idc等于2,并且ols_output_layer_flag[targetolsidx][generallayeridx[nuh_layer_id]]等于0。
[0297]
如果上述条件都不为真,则可以将语法元素pictureoutputflag设置为等于语法元素element pic_output_flag。
[0298]
在当前图片的所有分片已被解码之后,当前已解码图片可以被标记为“用于短期参考”,并且refpiclist[0]或refpiclist[1]中的每个ilrp条目可以被标记为“用于短期参考”。
[0299]
在相同或另一实施例中,当每一层是输出层集时,语法元素pictureoutputflag被设置为等于pic_output_flag,而不管语法元素ols_mode_idc的值如何(864)。
[0300]
在相同或另一实施例中,当sps_video_parameter_set_id大于0,each_layer_is_an_ols_flag(862)等于0,ols_mode_idc(864)等于0,并且当前au包含满足以下所有条件的图片pica时,将语法元素pictureoutputflag设置为等于0:pica具有等于1的pictureoutputflag,pica具有大于当前图片的nuh_layer_id nuhlid,并且pica属于ols的输出层(即,outputlayeridinols[targetolsidx][0]等于nuhlid)。
[0301]
在相同或另一实施例中,当sps_video_parameter_set_id大于0,each_layer_is_an_ols_flag等于0,ols_mode_idc等于2,并且ols_output_layer_flag[targetolsidx][generallayeridx[nuh_layer_id]]等于0时,将语法元素pictureoutputflag设置为等于0。
[0302]
在实施例中,当已编码视频序列中的最大层数不大于2时,可以不在vps或其它参数集中显式地发信号通知每一输出层集的零个或更多个输出层。在不发信号通知语法元素ols_output_layer_flag[i][j](868)的情况下,语法元素ols_output_layer_flag[i][j](868)的值可以从语法元素ols_mode_idc(864)的值推断得出。
[0303]
在相同或另一实施例中,当语法元素vps_max_layers_minus1(802)不大于1,并且
语法元素each_layer_is_an_ols_flag(862)不等于1时,语法元素ols_mode_idc(864)的值可以等于0或1。
[0304]
在相同或另一实施例中,当语法元素vps_max_layers_minus1(802)不大于1时,参考图25,语法元素num_output_layer_sets_minus1(866)和语法元素ols_output_layer_flag[i][j](868)可以不被显式地发信号通知并且可从其它语法值推断得出。
[0305]
在相同或另一实施例中,当语法元素vps_all_independent_layers_flag(855)等于1,并且语法元素each_layer_is_an_ols_flag(862)等于0时,语法元素ols_mode_idc(864)的值可以被推断为等于2。
[0306]
在相同或另一实施例中,当已编码视频序列中的层的数量为1或2时,语法元素ols_mode_idc(864)的值可以不等于2,因为语法元素ols_mode_idc(864)的值等于0或1可以表示输出层集表示的所有可能情况。在层数是1或2的情况下,可以不使用等于2的语法元素ols_mode_idc(864)。
[0307]
根据一个或多个实施例,参数集和该参数集中的语法元素(诸如上文所述的那些语法元素)可由本公开的解码器接收,以用于对所接收的视频数据进行解码。本公开的解码器可以基于参数集,对与一个或多个输出层集相对应的已编码视频码流的一部分视频数据进行解码。例如,参考图26,解码器(880)可以包括解码代码(885),该解码代码被配置为使解码器(880)的至少一个处理器基于参数集来对视频数据的该部分进行解码。
[0308]
上文所描述的技术可使用计算机可读指令实施为计算机软件且以物理方式存储在一个或多个计算机可读存储介质中。举例来说,图27示出适于实施所公开主题的某些实施例的计算机系统900。
[0309]
所述计算机软件可使用任何合适的机器代码或计算机语言来编码,所述机器代码或计算机语言可经受汇编、编译、链接或类似机制以创建包括指令的代码,所述指令可直接或通过解译、微码执行等而由计算机中央处理单元(cpu)、图形处理单元(gpu)等执行。
[0310]
可在各种类型的计算机或计算机组件上执行所述指令,所述计算机或计算机组件包括例如个人计算机、平板电脑、服务器、智能电话、游戏装置、物联网装置等。
[0311]
图27中所示的用于计算机系统(900)的组件在本质上是示范性的,并非旨在暗示关于实施本技术实施例的计算机软件的使用或功能的范围的任何限制。也不应将组件的配置解释为对计算机系统(900)的示范性实施例中所示的组件中的任一个组件或组件组合有任何依赖或需求。
[0312]
计算机系统(900)可包括某些人机接口输入装置。此类人机接口输入装置可响应于一个或多个人类用户通过例如触觉输入(例如:按键、滑动、数据手套移动)、音频输入(例如:语音、拍击)、视觉输入(例如:手势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可用于捕获未必与人的有意识输入直接相关的某些媒体,例如音频(例如:话语、音乐、环境声)、图像(例如:扫描图像、从静态图像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0313]
输入人机接口装置可包括以下一个或多个(每种仅描绘一个):键盘(901)、鼠标(902)、轨迹垫(903)、触摸屏(910)、数据手套、操纵杆(905)、麦克风(906)、扫描仪(907)、相机(908)。
[0314]
计算机系统(900)还可包括某些人机接口输出装置。此类人机接口输出装置可通
过例如触觉输出、声音、光和气味/味道刺激一个或多个人类用户的感觉。此类人机接口输出装置可包括触觉输出装置(例如触摸屏(910)、数据手套或操纵杆(905)的触觉反馈,但还可存在不充当输入装置的触觉反馈装置)。例如,这些装置可以包括音频输出装置(例如:扬声器(909)、头戴式耳机(未描绘))、视觉输出装置(例如屏幕(901),包括crt屏幕、lcd屏幕、等离子体屏幕、oled屏幕,各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力
‑‑
其中的一些能够通过例如立体平画输出的方式输出二维视觉输出或大于三维的输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾箱(未描绘)),以及打印机(未描绘)。
[0315]
计算机系统(900)还可包括人类可访问的存储装置和存储装置的相关联介质,例如光学介质,包括具有cd/dvd等介质(921)的cd/dvd rom/rw(920)、拇指驱动器(922)、可移动硬盘驱动器或固态驱动器(923)、磁带和软盘(未描绘)等旧版磁性媒体、基于rom/asic/pld的专用装置,例如安全保护装置(未描绘),等等。
[0316]
所属领域的技术人员还应理解,结合当前公开的主题使用的术语“计算机可读介质”并未涵盖传输介质、载波或其它瞬时信号。
[0317]
计算机系统(900)还可包括到一个或多个通信网络的接口。网络可例如是无线的、有线的、光学的。网络还可以是本地的、广域的、城域的、车载和工业的、实时的、容忍延迟的等等。网络的实例包括例如以太网、无线lan的局域网、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线tv、卫星tv和地面广播tv的tv有线或无线广域数字网络、包括can总线的车载网络和工业网络等。某些网络通常需要附接到某些通用数据端口或外围总线(949)(例如,计算机系统(900)的usb端口)的外部网络接口适配器;其它网络通常通过附接到如下文所描述的系统总线而集成到计算机系统(900)的核心中(例如通过以太网接口集成到pc计算机系统中,或通过蜂窝网络接口集成到智能电话计算机系统中)。通过使用这些网络中的任一网络,计算机系统(900)可与其它实体通信。此类通信可以是仅单向接收(例如广播tv)、仅单向发送(例如连到某些can总线装置的can总线)或是双向的,例如使用局域数字网络或广域数字网络连接到其它计算机系统。此类通信可以包括与云计算环境(955)的通信。可在如上文所描述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
[0318]
上述人机接口装置、人类可访问存储装置和网络接口(954)可附接到计算机系统(900)的核心(940)。
[0319]
核心(940)可包括一个或多个中央处理单元(cpu)(941)、图形处理单元(gpu)(942)、现场可编程门区域(fpga)形式的专用可编程处理单元(943)、用于某些任务的硬件加速器(944)等等。这些装置连同只读存储器(rom)(945)、随机存取存储器(946)、例如内部非用户可访问的硬盘驱动器、ssd等内部大容量存储装置(947)可通过系统总线(948)连接。在一些计算机系统中,系统总线(948)可通过一个或多个物理插头形式访问以实现通过额外cpu、gpu等来扩展。外围装置可直接或通过外围总线(949)附接到核心的系统总线(948)。用于外围总线的架构包括pci、usb等等。图形适配器950可以包括在核心940中。
[0320]
cpu(941)、gpu(942)、fpga(943)和加速器(944)可执行某些指令,所述指令组合起来可构成上述计算机代码。计算机代码可存储在rom(945)或ram(946)中。过渡数据也可存储在ram(946)中,而永久性数据可例如存储在内部大容量存储装置(947)中。可通过使用高速缓冲存储器来实现对任一存储器装置的快速存储和检索,所述高速缓冲存储器可与一个或多个cpu(941)、gpu(942)、大容量存储装置(947)、rom(945)、ram(946)等紧密关联。
[0321]
计算机可读介质上可具有用于执行各种计算机实施的操作的计算机代码。所述介质和计算机代码可以是专为本技术的目的设计和构建的介质和计算机代码,或可属于计算机软件领域中的技术人员众所周知且可用的种类。
[0322]
举例来说但不作为限制,具有架构(900)且尤其是核心(940)的计算机系统可提供因处理器(包括cpu、gpu、fpga、加速器等)执行以一个或多个有形计算机可读介质体现的软件而产生的功能。此类计算机可读介质可以是与上文所介绍的用户可访问大容量存储装置以及核心(940)的非暂时性质的某些存储装置(例如核心内部大容量存储装置(947)或rom(945)相关联的介质。实施本技术的各种实施例的软件可存储在此类装置中且由核心(940)执行。根据特定需求,计算机可读介质可包括一个或多个存储器装置或芯片。软件可使核心(940)且具体地说使其中的处理器(包括cpu、gpu、fpga等等)执行本文中所描述的特定过程或特定过程的特定部分,包括限定存储在ram(946)中的数据结构以及根据由软件限定的过程修改此类数据结构。另外或作为替代方案,计算机系统可提供由硬连线的或以其它方式体现于电路(例如:加速器(944))中的逻辑所产生的功能,所述逻辑可代替或连同软件一起操作以执行本文描述的特定过程或特定过程的特定部分。适当时,对软件的引用可涵盖逻辑,且反之亦然。适当时,对计算机可读介质的引用可涵盖存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或这两种电路。本技术涵盖硬件与软件的任何合适的组合。
[0323]
尽管本技术描述了若干非限制的示意性实施例,但在本技术的范围内,可以有各种改动、排列组合方式以及各种替代等同物。因此,应该理解,在申请的精神和范围内,本领域技术人员能够设计出各种虽未在本文明确示出或描述、但可以体现本技术的原理的系统和方法。
再多了解一些

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

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

相关文献