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

用于多层视频流中的输出层集模式的方法与流程

2022-06-06 02:02:28 来源:中国专利 TAG:

用于多层视频流中的输出层集模式的方法
相关申请的交叉引用
1.本技术要求于2020年3月27日提交的美国临时申请第63/001,045号以及2020年8月21日提交的美国申请第17/000,018号的优先权,上述申请的全部内容并入本文。


背景技术:
技术领域
2.该公开内容涉及高级视频编解码器中的视频压缩技术以及帧间预测和帧内预测。具体地,本公开内容涉及下一代视频编码技术,其包括除了高效视频编码(high efficiency video coding,hevc)之外的视频编码/解码技术,诸如通用视频编码(versatile video coding,vvc)。更具体地,本公开内容的一方面针对在具有多个层的已编码视频流中提供一组高级视频编码技术设计的输出层推导的方法、装置和计算机可读介质。相关技术描述
3.使用具有运动补偿的帧间图片预测或帧内图片预测的视频编码和解码已知已达数十年。未压缩的数字视频可以包括一系列图片,每个图片的空间维度为例如1920
×
1080个亮度样本以及相关联的色度样本。所述一系列图片可以具有例如每秒60个图片或60hz的固定的或可变的图片速率(也被非正式地称为帧速率)。未压缩的视频具有显著的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60hz帧速率下1920
×
1080亮度样本分辨率)需要接近1.5gbit/s带宽。一小时的这样的视频可能需要大于600千兆字节(gbyte)的存储空间。
4.视频编码和解码的一个目的可以是通过压缩来减少输入视频信号的的冗余。压缩可以帮助减少以上提及的带宽或存储空间需求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩两者以及它们的组合。无损压缩是指可以根据压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,以使重建的信号对于预期应用有用。在视频的情况下,有损压缩被广泛采用。容忍的失真量取决于应用;例如,某些消费者流式传输应用的用户可能比电视内容制作和传送(contribution)应用的用户容忍更高的失真。能够实现的压缩比可以反映出:更高的可允许/可容忍的失真可以产生更高的压缩比。
5.视频编码器和视频解码器可以利用来自包括例如运动补偿、变换、量化和熵编码的若干大类的技术,其中的一些技术将在下面介绍。
6.历史上,视频编码器和解码器倾向于在给定图片大小上操作,在大多数情况下,该给定图片大小针对已编码视频序列(coded video sequence,cvs)、图片组(group of pictures,gop)或类似的多图片时间帧来进行定义并且保持恒定。例如,在运动图像专家组(motion picture experts group,mpeg)-2中,已知系统设计依赖于诸如场景活动的因素来改变水平分辨率(并且从而改变图片大小),但是仅在帧内(或i帧或i图片)处改变水平分
辨率,因此通常针对gop。例如,从itu-t rec.h.263附录p已知在cvs内对用于不同分辨率的参考图片进行重采样。然而,在此,图片大小没有改变,仅参考图片被重采样,导致可能仅使用图片画布的部分(在下采样的情况下),或仅捕获场景的部分(在上采样的情况下)。此外,h.263附录q允许以因子2(在每个维度上)向上或向下对单个宏块进行重采样。同样,图片大小保持不变。宏块的大小在h.263中是固定的,并且因此不需要用信号通知宏块的大小。
7.预测图片中的图片大小的改变在现代视频编码中变得更加主流。例如,vp9允许参考图片重采样和整个图片的分辨率的改变。类似地,针对通用视频编码(vvc)作出的某些提议(包括,例如,hendry等,“on adaptive resolution change(arc)for vvc”,联合视频工作组文档jvet-m0135-v1,2019年1月9日至1月19日,其全部内容并入本文)允许将整个参考图片重采样到不同的——更高的或更低的——分辨率。在hendry中,建议将不同的候选分辨率编码在序列参数集中,并且由图片参数集中的每个图片语法元素引用。


技术实现要素:

8.公开了根据各种实施方式的用于在视频比特流中用信号通知自适应图片大小的技术。
9.根据本公开内容的一方面,一种解码方法可以包括:接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符;基于输出层集模式指示符来识别输出层集信令;基于所识别的输出层集信令来识别一个或更多个图片输出层;以及对所识别的一个或更多个图片输出层进行解码。
10.基于输出层集模式指示符来识别输出层集信令可以包括:在vps中的输出层集模式指示符为第一值的情况下,将比特流中的最高层识别为一个或更多个图片输出层;在vps中的输出层集模式指示符为第二值的情况下,将比特流中的所有层识别为一个或更多个图片输出层;以及在vps中的输出层集模式指示符为第三值的情况下,基于vps中的显式信令来识别一个或更多个图片输出层。
11.第一值可以不同于第二值并且可以不同于第三值,并且第二值可以不同于第三值。
12.第一值可以是0,第二值可以是1,并且第三值可以是2。然而,可以使用其他值,并且本公开内容不限于使用如上所述的0、1和2。
13.通过vps中的显式信令来识别一个或更多个图片输出层可以包括:(i)根据vps解析或导出输出层标志;以及(ii)将具有输出层标志等于1的层设置为一个或更多个图片输出层。
14.基于输出层集模式指示符来识别输出层集信令可以包括:在vps中的输出层集模式指示符为预定值的情况下,输出层集信令包括基于vps中的显式信令来识别一个或更多个图片输出层。
15.通过vps中的显式信令来识别一个或更多个图片输出层包括:(i)根据vps解析或导出输出层标志;以及(ii)将具有输出层标志等于1的层设置为一个或更多个图片输出层,其中,多个层的数目大于2。
16.输出层集信令可以包括:当输出层集模式指示符等于2,并且多个层的层的数目大于2时,基于vps中的显式信令来识别一个或更多个图片输出层。
17.输出层集信令可以包括:当输出层集模式指示符小于2,并且多个层的数目为2时,通过推断一个或更多个图片输出层将比特流中的最高层或比特流中的所有层识别为一个或更多个图片输出层,并且输出层集模式指示符实际小于2,并且多个层的数目实际为2。
18.根据实施方式,vps中的输出层集minus1指示符的数目指示输出层集的数目。
19.根据实施方式,vps中的vps最大层minus1指示符指示比特流中的层的数目。
20.根据实施方式,vps中的输出层集标志[i][j]指示第i输出层集的第j层是否为输出层。
[0021]
根据实施方式,如果多个层中的所有层都是独立的,在vps的vps所有独立层标志等于1的情况下,则不用信号通知输出层集模式指示符,并且将输出层集模式指示符的值推断为第二值。
[0022]
根据实施方式,当每个层是输出层集时,无论输出层集模式指示符的值如何,将vps的图片输出标志设置为等于图片报头中用信号通知的图片输出标志。
[0023]
注意:输出层中的图片可以具有或可以不具有等于1的pictureoutputflag。非输出层中的图片具有等于0的pictureoutputflag。其中pictureoutputflag等于1的图片被输出用于显示。其中pictureoutputflag等于0的图片不被输出用于显示。
[0024]
根据实施方式,当序列参数集(sps)vps标识符大于0——这指示比特流中存在多于一个层、vps的每个层为输出层集标志等于0——这指示比特流中的多个层并非都是独立的、输出层集模式指示符等于0并且当前访问单元包含满足以下所有条件的图片时,将图片输出标志设置为等于0,所述条件包括:所述图片的图片输出标志等于1;所述图片的nuh层标识符大于当前图片的nuh层标识符,并且所述图片属于输出层集的输出层。
[0025]
根据实施方式,当vps的序列参数集(sps)大于0、每个层为输出层集标志等于0、输出层集模式指示符等于2并且输出层集输出层标志[target ols index][general layer index[nuh layer identifier]]等于0时,将vps的图片输出标志设置为等于0。
[0026]
根据实施方式,该方法还可以包括:控制显示器以显示解码后的一个或更多个图片输出层。
[0027]
根据本公开内容的一方面,一种存储有指令的非暂态计算机可读存储介质,所述指令在被执行时使包括一个或更多个处理器的系统或设备进行以下操作:接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符;基于输出层集模式指示符来识别输出层集信令;基于所识别的输出层集信令来识别一个或更多个图片输出层;以及对所识别的一个或更多个图片输出层进行解码。
[0028]
根据实施方式,所述指令还被配置成使包括一个或更多个处理器的系统或设备进行以下操作:控制显示器以显示解码后的一个或更多个图片输出层。
[0029]
根据本公开内容的一方面,一种装置可以包括:至少一个存储器,被配置成存储计算机程序代码;以及至少一个处理器,被配置成访问至少一个存储器并且根据计算机程序代码进行操作。根据实施方式,所述计算机程序代码可以包括:接收代码,被配置成使至少一个处理器接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;解析或导出代码,被配置成使至少一个处理器根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符;输出层信令识别代码,被配置成使至少一个处理器基于输出层集模式指示符
来识别输出层集信令;图片输出层识别代码,被配置成使至少一个处理器基于所识别的输出层集信令来识别一个或更多个图片输出层;以及解码代码,被配置成使至少一个处理器对所识别的一个或更多个图片输出层进行解码。
[0030]
根据实施方式,所述计算机程序代码还可以包括:显示控制代码,被配置成使至少一个处理器控制显示器以显示一个或更多个图片输出层。
[0031]
根据本公开内容的一方面,一种用于在视频比特流中用信号通知自适应图片大小的方法可以包括:接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;识别背景区域和一个或更多个前景子图片;确定是否已经选择了特定的子图片区域;以及基于确定已经选择了特定的子图片区域:通过包括但不限于解析比特流、解码熵编码比特流和去量化对应块的处理,生成与选择的子图片对应的去量化块。
[0032]
该方法还可以包括:如果尚未选择特定的子图片区域,则对背景区域进行解码和显示。
[0033]
比特流可以包括指定可以在解码器侧输出哪些层的语法元素。
[0034]
语法元素可以包括包含可变长度的指数哥伦布编码后的语法元素的图片的报头。
[0035]
该方法还可以包括:基于序列参数中的信令来确定自适应分辨率是否用于图片或其部分。
[0036]
确定自适应分辨率是否用于该图片或其部分可以包括:确定作为标志的第一语法元素是否指示使用自适应分辨率。
[0037]
该方法可以包括编码器指示解码器使用特定参考图片大小而不是通过使用对参考图片尺寸的条件呈现进行选通的标志来隐含地假设该大小为输出图片大小。
[0038]
语法元素可以包括可能的解码图片宽度和高度的表。
[0039]
根据实施方式,网络抽象层(nal)单元报头中的值可以用于不仅指示时间层而且还指示空间层。
[0040]
nal单元报头中的值可以是时间标识符(id)字段。
[0041]
该方法还可以包括:对于可缩放环境,不加修改地使用针对基于nal单元报头时间id值选择转发的时间层而创建和优化的现有选择转发单元(sfu)。
[0042]
该方法还可以包括:已编码图片大小与时间层之间的映射由nal单元报头中的时间id字段指示。
[0043]
该方法还可以包括:连同已编码视频一起接收附加数据,附加数据被包括作为已编码视频序列的一部分;并且使用附加数据以对数据进行适当解码和/或更准确地重建原始视频数据
[0044]
附加数据可以呈以下中的一种或更多种形式:时间、空间或snr增强层、冗余切片、冗余图片或前向纠错码。
[0045]
根据实施方式,一种存储有指令的非暂态计算机可读存储介质,所述指令在被执行时可以使包括一个或更多个处理器的系统或设备进行以下操作:接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;识别背景区域和一个或更多个前景子图片;确定是否已经选择了特定的子图片区域;以及基于确定已经选择了特定的子图片区域:通过包括但不限于解析比特流、解码熵编码比特流和去量化对应块的处理,生成与选择的子图片对应的去量化块。
[0046]
根据实施方式,一种装置可以包括:至少一个存储器,被配置成存储计算机程序代码;以及至少一个处理器,被配置成访问至少一个存储器并且根据计算机程序代码进行操作,所述计算机程序代码包括:接收代码,被配置成使至少一个处理器接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;识别代码,被配置成使至少一个处理器识别背景区域和一个或更多个前景子图片;确定代码,被配置成使至少一个处理器确定是否已经选择了特定的子图片区域;以及生成代码,被配置成使至少一个处理器基于确定已经选择了特定的子图片区域:通过包括但不限于解析比特流、解码熵编码比特流和去量化对应块的处理,生成与选择的子图片对应的去量化块。
附图说明
[0047]
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将变得更加明显,在附图中:
[0048]
图1是根据实施方式的通信系统的简化框图的示意图。
[0049]
图2是根据实施方式的通信系统的简化框图的示意图。
[0050]
图3是根据实施方式的解码器的简化框图的示意图。
[0051]
图4是根据实施方式的编码器的简化框图的示意图。
[0052]
图5是如所指示的根据现有技术或实施方式的用于用信号通知arc参数的选项的示意图。
[0053]
图6是根据实施方式的语法表的示例。
[0054]
图7是根据实施方式的计算机系统的示意图。
[0055]
图8是用于具有自适应分辨率改变的可缩放性的预测结构的示例。
[0056]
图9是根据实施方式的语法表的示例。
[0057]
图10是解析和解码每个访问单元的poc周期和访问单元计数值的简化框图的示意图。
[0058]
图11是包括多层子图片的视频比特流结构的示意图。
[0059]
图12是具有增强分辨率的选择的子图片的显示的示意图。
[0060]
图13是用于包括多层子图片的视频比特流的解码和显示处理的框图。
[0061]
图14是具有子图片的增强层的360视频显示的示意图。
[0062]
图15是子图片的布局信息及其对应的层和图片预测结构的示例。
[0063]
图16是具有局部区域的空间可缩放性模态的子图片的布局信息及其对应的层和图片预测结构的示例。
[0064]
图17是针对子图片布局信息的语法表的示例。
[0065]
图18是针对子图片布局信息的sei消息的语法表的示例。
[0066]
图19是指示输出层和针对每个输出层集的档次/层次/层级信息的语法表的示例。
[0067]
图20是指示针对每个输出层集的输出层模式的语法表的示例。
[0068]
图21是指示针对每个输出层集的每个层的当前子图片的语法表的示例。
[0069]
图22是视频参数集rbsp的语法表的示例。
[0070]
图23是指示具有输出层集模式指示符的输出层集的语法表的示例。
[0071]
图24是用于包括用于指示具有输出层集模式指示符的输出层集的比特流的解码
处理的框图。
[0072]
图25a至图25c示出了与指示具有输出层集模式指示符的输出层集有关的信息。
具体实施方式
[0073]
当图片被编码成包括具有不同质量的多个层的比特流时,该比特流可以具有指定可以在解码器侧输出哪些层的语法元素。要输出的层的集合被限定为输出层集。在支持多层和可缩放性的最新视频编解码器中,在视频参数集中用信号通知一个或更多个输出层集。需要在参数集中有效地用信号通知指定输出层集及其依赖性、档次(profile)/层次(tier)/层级(level)和假设解码器参考模型参数的这些语法元素。
[0074]
本公开内容的实施方式解决了相关技术的一个或更多个问题。
[0075]
图1示出了根据本公开内容的实施方式的通信系统(100)的简化框图。系统(100)可以包括经由网络(150)互连的至少两个终端(110、120)。对于数据的单向传输,第一终端(110)可以对本地位置处的视频数据进行编码,以经由网络(150)传输至另一终端(120)。第二终端(120)可以从网络(150)接收另一终端的已编码视频数据,对已编码数据进行解码,并且显示恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。
[0076]
图1示出了第二对终端(130、140),所述第二对终端(130、140)被提供以支持例如在视频会议期间可能发生的已编码视频的双向传输。对于数据的双向传输,每个终端(130、140)可以对在本地位置处捕获的视频数据进行编码,以经由网络(150)传输至另一终端。每个终端(130、140)还可以接收由另一终端传输的已编码视频数据,可以对已编码数据进行解码,并且可以在本地显示设备处显示恢复的视频数据。
[0077]
在图1中,尽管终端(110至140)被示出为膝上型计算机110、个人计算机(pc)120以及移动终端130和140,但是终端(110至140)不限于此,并且终端(110至140)可以对应于服务器、个人计算机、移动设备、平板电脑和智能电话中的一个或更多个或任意组合。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议装备。网络(150)表示在终端(110至140)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网(lan)、广域网(wan)和/或因特网。出于本讨论的目的,除非本文在下面说明,否则网络(150)的架构和拓扑对于本公开内容的操作可能是不重要的。
[0078]
作为本公开内容的实施方式的应用的示例,图2示出了视频编码器和解码器在流式传输环境中的放置。本公开内容可以同等地适用于其他支持视频的应用,包括例如视频会议、数字电视(television,tv)、在包括致密盘(compact disc,cd)、数字通用盘(digital versatile disc,dvd)、存储棒等数字介质上存储压缩视频等。
[0079]
流式传输系统可以包括捕获子系统(213),捕获子系统(213)可以包括被配置成创建例如未压缩的视频样本流(202)的视频源(201)例如数字摄像装置。该样本流(202)在图2中被描绘为粗线以强调与已编码视频比特流进行比较为高数据量,样本流(202)可以由耦接至摄像装置(201)的编码器(203)来处理。编码器(203)可以包括硬件、软件或其组合以实现或实施如下面更详细地描述的所公开的主题的各方面。已编码视频比特流(204)在图2中被描绘为细线以强调与样本流(202)进行比较为低数据量,已编码视频比特流(204)可以存
储在流式传输服务器(205)上以供将来使用。一个或更多个流式传输客户端(206、208)可以访问流式传输服务器(205)以检索已编码视频比特流(204)的副本(207、209)。客户端(206)可以包括视频解码器(210),视频解码器(210)对已编码视频比特流的传入副本(207)进行解码并且创建可以在显示器(212)或其他呈现设备上呈现的传出视频样本流(211)。在一些流式传输系统中,视频比特流(204、207、209)可以根据某些视频编码/压缩标准来编码。这些标准的示例包括itu-t h.265建议书。正在开发的视频编码标准被非正式地称为通用视频编码或vvc。所公开的主题可以在vvc的上下文中使用。
[0080]
图3可以是根据本公开内容的实施方式的视频解码器(210)的功能框图。
[0081]
接收器(310)可以接收要由解码器(210)解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列。可以从信道(312)接收已编码视频序列,信道(312)可以是到存储已编码视频数据的存储设备的硬件/软件链路。接收器(310)可以接收已编码视频数据以及可以被转发至其各自的使用实体(未描绘)的其他数据,例如已编码音频数据和/或辅助数据流。接收器(310)可以将已编码视频序列与其他数据分开。为了对抗网络抖动,可以在接收器(310)与熵解码器/解析器(320)(此后称为“解析器”)之间耦接缓冲器存储器(315)。当接收器(310)从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收数据时,可能不需要缓冲器(315),或者缓冲器(315)可以较小。为了在诸如因特网的尽力而为(best effort)分组网络上使用,可能需要缓冲器(315),缓冲器(315)可以相对较大并且可以有利地具有自适应大小。
[0082]
视频解码器(210)可以包括解析器(320),以根据经熵编码的视频序列来重建符号(321)。这些符号的类别包括用于管理解码器(210)的操作的信息,以及潜在地包括用于控制诸如显示器(212)的呈现设备的信息,该呈现设备不是解码器的组成部分,但是可以如图2所示耦接至解码器。用于呈现设备的控制信息可以是补充增强信息(sei消息)或视频可用性信息(video usability information,vui)参数集片段的形式。解析器(320)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员公知的原理,包括:可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等。解析器(320)可以基于与组对应的至少一个参数,从已编码视频序列提取用于视频解码器中的像素子组中的至少一个子组的子组参数的集合。子组可以包括:图片组(gop)、图片、图块、切片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。熵解码器/解析器还可以从已编码视频序列提取诸如变换系数、量化器参数值、运动矢量等信息。
[0083]
解析器(320)可以对从缓冲器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。
[0084]
取决于已编码视频图片或其部分的类型(诸如:帧间和帧内图片、帧间和帧内块)以及其他因素,符号(321)的重建可以涉及多个不同的单元。涉及哪些单元以及涉及的方式可以通过由解析器(320)从已编码视频序列解析的子组控制信息来控制。子组控制信息可以在解析器(320)与多个单元之间流动。
[0085]
除了已经提及的功能块之外,解码器210可以在概念上细分成如下所述的多个功能单元。在商业限制下的实际实现操作中,这些单元中的许多单元彼此紧密地相互作用并
reference decoder,hrd)规范以及在已编码视频序列中用信号通知的hrd缓冲器管理的元数据来进一步限制。
[0093]
在实施方式中,接收器(310)可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括作为已编码视频序列的一部分。附加数据可以由视频解码器(320)使用以对数据进行适当解码和/或更准确地重建原始视频数据。附加数据可以是例如时间、空间或snr增强层、冗余切片、冗余图片、前向纠错码等形式。
[0094]
图4可以是根据本公开内容的实施方式的视频编码器(203)的功能框图。
[0095]
编码器(203)可以从视频源(201)(其不是编码器的一部分)接收视频样本,视频源(201)可以捕获要由编码器(203)编码的视频图像。
[0096]
视频源(201)可以提供要由编码器(203)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位、
……
)、任何颜色空间(例如,bt.601y crcb、rgb、
……
)和任何合适的采样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储设备。在视频会议系统中,视频源(203)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据作为在按次序观看时被赋予运动的多个单独的图片来提供。图片自身可以组织为空间像素阵列,其中取决于所用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面的描述侧重于样本。
[0097]
根据实施方式,编码器(203)可以实时地或在应用所要求的任何其他时间约束下对源视频序列的图片进行编码并将其压缩为已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。控制器(450)可以控制如下所述的其他功能单元并且在功能上耦接至这些单元。由控制器(450)设置的参数可以包括:速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片组(gop)布局、最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(450)的其他功能,这是因为这些功能可能属于针对特定系统设计而优化的视频编码器(203)。
[0098]
一些视频编码器以本领域技术人员容易识别为“编码环路”的方式操作。作为过于简化的描述,编码环路可以包括:编码器(203)(此后称为“源编码器”)的编码部分(负责基于要编码的输入图片和参考图片创建符号),以及嵌入编码器(203)中的(本地)解码器(433),解码器(433)重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。该重建的样本流被输入至参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的比特精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。参考图片同步性的这种基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员而言是公知的。
[0099]“本地”解码器(433)的操作可以与已在上面结合图3详细描述的“远程”解码器(210)的操作相同。然而,还简要地参照图3,当符号可用并且熵编码器(445)和解析器(320)可以无损地进行已编码视频序列与符号的编码/解码时,包括信道(312)、接收器(310)、缓冲器(315)和解析器(320)的解码器(210)的熵解码部分可以不完全在本地解码器(433)中实现。
[0100]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,所公开的主题侧重于解码器操作。由于编码器技术与全面地描述的解码器技术互逆,因此可以简化对编码器技术的描述。下面仅在某些区域中需要并且提供更详细的描述。
[0101]
作为其操作的一部分,源编码器(203)可以执行运动补偿预测性编码,运动补偿预测性编码参考来自视频序列中被指定为“参考帧”的一个或更多个先前编码的帧对输入帧进行预测性编码。以此方式,编码引擎(432)对输入帧的像素块与可以被选择为输入帧的预测参考的参考帧的像素块之间的差进行编码。
[0102]
本地视频解码器(433)可以基于由源编码器(430)创建的符号对可以被指定为参考帧的帧的已编码视频数据进行解码。编码引擎(432)的操作可以有利地是有损处理。当已编码视频数据可以在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(433)复制可以由视频解码器对参考帧执行的解码处理,并且可以使重建的参考帧存储在参考图片缓存(434)中。以此方式,编码器(203)可以本地地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建的参考帧具有共同内容(不存在传输误差)。
[0103]
预测器(435)可以对编码引擎(432)执行预测搜索。也就是说,对于要编码的新帧,预测器(435)可以在参考图片存储器(434)中搜索可以用作新图片的适当预测参考的样本数据(作为候选参考像素块)或诸如参考图片运动矢量、块形状等特定元数据。预测器(435)可以基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器(435)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(434)中存储的多个参考图片取得的预测参考。
[0104]
控制器(450)可以管理视频编码器(203)的编码操作,包括例如用于对视频数据进行编码的参数和子群参数的设置。
[0105]
所有以上提及的功能单元的输出可以在熵编码器(445)中经受熵编码。熵编码器通过根据本领域技术人员已知的技术,例如霍夫曼编码、可变长度编码、算术编码等,对由各种功能单元生成的符号进行无损压缩来将这些符号转换成已编码视频序列。
[0106]
传输器(440)可以缓冲由熵编码器(445)创建的已编码视频序列,从而为经由通信信道(460)进行的传输做准备,通信信道(460)可以是到将存储已编码视频数据的存储设备的硬件/软件链路。传输器(440)可以将来自视频编码器(430)的已编码视频数据与要传输的其他数据合并,所述其他数据例如是已编码音频数据和/或辅助数据流/源。
[0107]
控制器(450)可以管理编码器(203)的操作。在编码期间,控制器(450)可以为每个已编码图片分配特定的已编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下帧类型之一:
[0108]
帧内图片(i图片)可以是在不将序列中的任何其他帧用作预测源的情况下可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员了解i图片的这些变型及其各自的应用和特征。
[0109]
预测性图片(p图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0110]
双向预测性图片(b图片)可以是可以使用帧内预测或帧间预测进行编码和解码的
图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。
[0111]
源图片通常可以在空间上细分成多个样本块(例如,分别具有4
×
4、8
×
8、4
×
8或16
×
16个样本的块),并且被逐块地进行编码。这些块可以参考通过应用于块的相应的图片的编码分配来确定的其他(已经编码的)块进行预测编码。例如,i图片的块可以进行非预测编码,或者i图片的块可以参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。p图片的像素块可以参考一个先前已编码参考图片经由空间预测或经由时间预测进行非预测编码。b图片的块可以参考一个或两个先前已编码参考图片经由空间预测或经由时间预测进行非预测编码。
[0112]
视频编码器(203)可以根据预定的视频编码技术或标准诸如itu-t h.265建议书来执行编码操作。在其操作中,视频编码器(203)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
[0113]
在实施方式中,传输器(440)可以传输附加数据和已编码视频。视频编码器(430)可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、诸如冗余图片和切片的其他形式的冗余数据、补充增强信息(supplementary enhancement information,sei)消息、视觉可用性信息(visual usability information,vui)参数集片段等。
[0114]
在更详细地描述所公开的主题的某些方面之前,需要介绍将在本说明书的其余部分中提及的一些术语。
[0115]
此后,子图片在一些情况下是指样本、块、宏块、编码单元或类似实体的矩形排列,这些实体在语义上分组,并且可以以改变的分辨率独立编码。一个或更多个子图片可以用于图片。一个或更多个已编码子图片可以形成已编码图片。一个或更多个子图片可以被组合成图片,并且可以从图片提取一个或更多个子图片。在某些环境中,可以在压缩域中组合一个或更多个已编码子图片,而不将样本层级转码成已编码图片,并且在相同情况或某些其他情况下,可以从压缩域中的已编码图片提取一个或更多个已编码子图片。
[0116]
自适应分辨率改变(adaptive resolution change,arc)此后是指允许通过例如参考图片重采样来改变已编码视频序列内的图片或子图片的分辨率的机制。arc参数此后是指执行自适应分辨率改变所需的控制信息,所述控制信息可以包括例如滤波器参数、缩放因子、输出和/或参考图片的分辨率、各种控制标志等。
[0117]
上面的描述侧重于根据各种实施方式对单个的、在语义上独立的已编码视频图片进行编码和解码。在描述具有独立arc参数的多个子图片的编码/解码的含义及其隐含的附加复杂度之前,可以描述用于用信号通知arc参数的选项。
[0118]
参照图5,示出了用于用信号通知arc参数的若干新选项。如选项中的每一个所示,从编码效率、复杂度和架构的角度来看,这些选项都有某些优点和某些缺点。视频编码标准或技术可以选择这些选项中的一个或更多个选项,或者从先前技术中已知的选项,以用于用信号通知arc参数。这些选项可能并不相互排斥,并且能够想象,可以基于应用需求、所涉及的标准技术或编码器的选择进行互换。
[0119]
arc参数的类别可以包括:
[0120]-上采样/下采样因子,其在x和y维度上是分开的或组合的;
[0121]-增加了时间维度的上采样/下采样因子,指示对给定数目图片的恒定速度放大/缩小;
[0122]-以上两者中的任一个可能涉及对可能指向包含因子的表的一个或更多个可能较短的语法元素的编码;
[0123]-以样本、块、宏块、cu或任何其他合适的粒度为单位的、组合或分开的输入图片、输出图片、参考图片、已编码图片的x或y维度上的分辨率。如果存在多于一个分辨率(诸如例如,一个用于输入图片,一个用于参考图片),则在某些情况下,可以从一组值推断出另一组值。例如,这可以通过使用标志来进行选通。关于更详细的示例,参见下文;
[0124]
‑“
扭曲”坐标类似于h.263附录p中使用的坐标,同样以上述合适的粒度。h.263附录p限定了一种对这样的扭曲坐标进行编码的高效方式,但是也能够想到,可以设计其他潜在更高效的方式。例如,附录p的扭曲坐标的可变长度可逆“霍夫曼”型编码可以由合适长度的二进制编码代替,其中二进制码字的长度可以例如根据最大图片大小得出,可能乘以特定因子并偏移特定值,以允许在最大图片大小的边界外“扭曲”;以及
[0125]-上采样或下采样滤波器参数。在最简单的情况下,可能存在用于上采样和/或下采样的仅单个滤波器。然而,在某些情况下,在滤波器设计中允许更大的灵活性可能是有利的,并且这可能需要用信号通知滤波器参数。可以通过可能的滤波器设计的列表中的索引来选择这样的参数,可以完全指定滤波器(例如,通过滤波器系数的列表,使用合适的熵编码技术),可以通过上采样/下采样比率来隐式地选择滤波器,根据上采样/下采样比率,进而根据上面提及的机制中的任何一种用信号通知滤波器参数等。
[0126]
此后,本说明书假设通过码字指示的上采样/下采样因子(在x和y维度两者中使用的相同因子)的有限集合的编码。该码字可以有利地进行可变长度编码,例如使用对于诸如h.264和h.265的视频编码规范中的某些语法元素通用的指数哥伦布(ext-golomb)码。
[0127]
例如,值到上采样/下采样因子的一种合适的映射可以是根据下表:码字指数哥伦布码原始/目标分辨率011/110101/1.5(按比例放大50%)20111.5/1(按比例缩小50%)3001001/2(按比例放大100%)4001012/1(按比例缩小100%)《表1》
[0128]
根据应用的需要和视频压缩技术或标准中可用的按比例放大和按比例缩小机制的能力,可以设想许多类似的映射。该表可以扩展到更多的值。值也可以由除了指数哥伦布码之外的熵编码机制例如使用二进制编码表示。当重采样因子在视频处理引擎(首要是编码器和解码器)本身之外——例如由移动自组织网络(mobile ad hoc networks,manet)——感兴趣时,这可以具有某些优点。应当注意,对于不需要分辨率改变的(可能)最常见的情况,可以选择短的指数哥伦布码;在上面的表中,仅具有单个位。对于最常见的情况,这相对于使用二进制码可以具有编码效率优点。
[0129]
表中的条目的数目以及其语义可以是完全或部分可配置的。例如,表的基本概要可以在诸如序列或解码器参数集的“高”参数集中传达。可替选地或另外地,一个或更多个这样的表可以在视频编码技术或标准中限定,并且可以通过例如解码器或序列参数集来选择。
[0130]
此后,描述可以如何在视频编码技术或标准语法中包括如上所述编码的上采样/下采样因子(arc信息)。类似的考虑可能适用于控制上采样/下采样滤波器的一个或几个码字。当滤波器或其他数据结构需要相对大量的数据时,参见下面的讨论。
[0131]
h.263附录p将四个扭曲坐标的形式的arc信息502包括至图片报头501中,特别是在h.263plusptype(503)报头扩展中。当a)存在可用的图片报头并且b)预期arc信息的频繁改变时,这可能是明智的设计选择。然而,使用h.263型信令时的开销可能非常高,并且缩放因子可能不适合图片边界,这是因为图片报头可能具有瞬态性质。
[0132]
上面引用的jvcet-m135-v1包括位于图片参数集(504)中的arc参考信息(505)(索引),arc参考信息(505)索引包括目标分辨率的表(506),该表(506)又位于序列参数集(sequence parameter set,sps)(507)内。根据作者作出的口头陈述,在序列参数集(507)中的表(506)中的可能分辨率的放置可以通过在能力交换期间使用sps作为互操作性协商点来证明。通过参考适当的图片参数集(504),图片间的分辨率可以在由表(506)中的值设置的限制内改变。
[0133]
返回参照图5,可能存在用于在视频比特流中传送arc信息的以下附加选项。如上所述,这些选项中的每个选项都具有优于现有技术的某些优点。选项可以同时存在于相同的视频编码技术或标准中。
[0134]
在实施方式中,诸如重采样(缩放)因子的arc信息(509)可以存在于切片报头、块组(group of block,gob)报头、图块报头或图块组报头(此后称为图块组报头)(508)中。如果arc信息小,例如如上所示,诸如单个可变长度ue(v)或几比特的固定长度码字,这可能是足够的。在图块组报头中直接具有arc信息有以下附加优点:arc信息可以适用于例如由该图块组而不是整个图片表示的子图片。也参见下文。另外,即使视频压缩技术或标准仅设想整个图片自适应分辨率改变(例如,与基于图块组的自适应分辨率改变形成对比),将arc信息放入图块组报头相对于将其放入h.263型图片报头从差错恢复的角度来看也具有某些优点。
[0135]
在同一实施方式或另一实施方式中,arc信息(512)本身可以存在于诸如例如图片参数集(picture parameter set,pps)、报头参数集、图块参数集、自适应参数集等(描绘的自适应参数集)的适当的参数集(511)中。该参数集的范围可以有利地不大于图片,例如图块组。通过相关参数集的激活,arc信息的使用是隐式的。例如,当视频编码技术或标准考虑仅基于图片的arc时,图片参数集或等同物可以是适当的。
[0136]
在同一实施方式或另一实施方式中,arc参考信息(513)可以存在于图块组报头(514)或类似的数据结构中。该参考信息(513)可以指向在范围超出单个图片的参数集(516)——例如序列参数集或解码器参数集——中可用的arc信息(515)的子集。
[0137]
如jvet-m0135-v1中所使用的从图块组报头、pps、sps间接隐含激活pps的附加层级似乎是不必要的,这是因为图片参数集——仅作为序列参数集——可以(并且在诸如rfc3984的某些标准中具有)用于能力协商或通告。然而,如果arc信息应当适用于例如也由
图块组表示的子图片,则具有限于图块组的激活范围的参数集——诸如自适应参数集或报头参数集——可以是更好的选择。此外,如果arc信息具有大于可忽略的大小,例如包含诸如许多滤波器系数的滤波器控制信息,则从编码效率的角度来看,参数集可以是比直接使用报头(508)更好的选择,这是因为这些设置可以由将来的图片或子图片通过参考同一参数集而重用。
[0138]
当使用序列参数集或其中范围跨越多个图片的另一更高参数集时,某些考虑可能适用:
[0139]
1.存储arc信息表的参数集(516)在一些情况下可以是序列参数集,但是在其他情况下有利地是解码器参数集。解码器参数集可以具有多个cvs即已编码视频流,即从会话开始直到会话终止的所有已编码视频比特的激活范围。这样的范围可以是更适当的,这是因为可能的arc因子可以是可能以硬件实现的解码器特征,并且硬件特征倾向于不随任何cvs(其在至少一些娱乐系统中是长度为一秒或更短的图片组)而改变。也就是说,将表放入序列参数集中(特别地结合下面的点2)明确被包括在本文所描述的放置选项中。
[0140]
2.arc参考信息(513)可以有利地直接放置至图片/切片图块/gob/图块组报头(此后称为图块组报头)(514)中,而不是如在jvcet-m0135-v1中放置至图片参数集中。原因如下:当编码器想要改变图片参数集中的单个值诸如例如arc参考信息时,编码器必须创建新的pps并且参考该新的pps。假设仅arc参考信息改变,而诸如例如pps中的量化矩阵信息的其他信息保持不变。这样的信息可以具有相当大的大小,并且将需要被重传以使新的pps完整。
[0141]
由于arc参考信息可以是单个码字诸如表(513)中的索引并且其是唯一改变的值,因此重传所有例如量化矩阵信息将是麻烦和浪费的。就此而言,从编码效率的角度来看,可以明显更好的是避免如jvet-m0135-v1中所提议的通过pps的间接性。类似地,将arc参考信息放入pps中具有另外的缺点:由于图片参数集激活的范围是图片,因此由arc参考信息(513)引用的arc信息必然需要应用于整个图片而不是子图片。
[0142]
在同一实施方式或另一实施方式中,用信号通知arc参数可以遵循如图6中概述的详细示例。图6描绘了至少自1993年以来在视频编码标准中使用的表示中的语法图。这样的语法图的标记法大致遵循c型编程。在图6中,粗体的行指示存在于比特流中的语法元素,没有粗体的行通常指示控制流或变量的设置。
[0143]
作为适用于图片的(可能为矩形)部分的报头的示例性语法结构的图块组报头(601)可以有条件地包含可变长度的指数哥伦布编码后的语法元素dec_pic_size_idx(602)(以粗体描绘)。可以在使用自适应分辨率(603)时选通该语法元素在图块组报头中的存在,在此,标志的值未以粗体描绘,这意味着该标志在比特流中存在于其在语法图中出现的点处。
[0144]
自适应分辨率是否用于该图片或其部分可以在比特流内部或外部的任何高级语法结构中用信号通知。在图6所示的示例中,在如下所概述的序列参数集中用信号通知自适应分辨率是否用于该图片或其部分。
[0145]
仍然参照图6,还示出了序列参数集的摘录(610)。所示的第一语法元素是adaptive_pic_resolution_change_flag(611)。当为真时,该标志可以指示使用自适应分辨率,这进而可能需要某些控制信息。在示例中,这样的控制信息基于标志的值有条件地呈
现,该标志的值基于图块组报头(601)和参数集(612)中的if()语句。
[0146]
当使用自适应分辨率时,在该示例中,被编码的是以样本为单位的输出分辨率(613)。数字613是指output_pic_width_in_luma_samples和output_pic_height_in_luma_samples两者,所述两者一起可以限定输出图片的分辨率。在视频编码技术或标准中的其他地方,可以限定对任一值的某些限制。例如,层级限定可以限制总输出样本的数目,其可以是这两个语法元素的值的乘积。此外,某些视频编码技术或标准、或者诸如例如系统标准的外部技术或标准可以限制计数范围(例如,一个或两个维度必须能够被数字2的幂整除)或者长宽比(例如,宽度和高度必须处于诸如4:3或16:9的关系)。可以引入这样的限制以有助于硬件实现方式或为了其他原因,并且这样的限制在本领域中是公知的。
[0147]
在某些应用中,编码器可以指示解码器使用特定参考图片大小而不是隐含地假设该大小为输出图片大小。在该示例中,语法元素reference_pic_size_present_flag(614)选通参考图片尺寸(615)的条件呈现(再次,数字是指宽度和高度两者)。
[0148]
最后,图6所示的是可能的解码图片宽度和高度的表。这样的表可以例如由表指示(num_dec_pic_size_in_luma_samples_minus1)(616)来表示。“minus1”可以是指该语法元素的值的解释。例如,如果已编码值为零,则存在一个表条目。如果值为五,则存在六个表条目。然后,针对表中的每“行”,将已解码图片宽度和高度包括在语法(617)中。
[0149]
可以使用图块组报头中的语法元素dec_pic_size_idx(602)来索引存在的表条目(617),从而允许每图块组不同的解码大小——实际上,缩放因子。
[0150]
某些视频编码技术或标准例如vp9通过结合时间可伸缩性实现某些形式的参考图片重采样(与所公开的主题完全不同地用信号通知)来支持空间可缩放性,以实现空间可缩放性。具体地,可以使用arc型技术将某些参考图片上采样到更高的分辨率,以形成空间增强层的基础。可以使用高分辨率的正常预测机制来细化这些上采样的图片,以添加细节。
[0151]
所公开的主题可以在这样的环境中使用。在某些情况下,在同一实施方式或另一实施方式中,网络抽象层(network abstraction layer,nal)单元报头中的值——例如时间标识符(identifier,id)字段——可以用于不仅指示时间层而且还指示空间层。这样做对于某些系统设计具有某些优点;例如,对于可缩放环境,可以不加修改地使用针对基于nal单元报头时间id值选择转发的时间层而创建和优化的现有选择转发单元(selected forwarding units,sfu)。为了实现这一点,可能需要在已编码图片大小与时间层之间的映射由nal单元报头中的时间id字段指示。
[0152]
在一些视频编码技术中,访问单元(access unit,au)可以是指在给定时间实例处被捕获并组合到相应的图片/切片/图块/nal单元比特流中的已编码图片、切片、图块、nal单元等。该时间实例可以是组成时间。
[0153]
在hevc和某些其他视频编码技术中,图片顺序计数(picture order count,poc)值可以用于指示存储在解码图片缓冲器(decoded picture buffer,dpb)中的多个参考图片中的选择的参考图片。当访问单元(au)包括一个或更多个图片、切片或图块时,属于同一au的每个图片、切片或图块可以携载同一poc值,可以根据该poc值得出其是从相同组成时间的内容创建的。换言之,在两个图片/切片/图块携载同一给定poc值的情形下,其可以指示属于同一au并且具有相同组成时间的两个图片/切片/图块。相反,具有不同poc值的两个图片/图块/切片可以指示属于不同au并且具有不同组成时间的这些图片/切片/图块。
[0154]
在所公开的主题的实施方式中,以上提及的严格关系可以放宽,这是因为访问单元可以包括具有不同poc值的图片、切片或图块。通过允许au内的不同poc值,可以使用poc值来识别具有相同呈现时间的潜在独立地可解码的图片/切片/图块。这进而可以支持多个可缩放层而无需改变参考图片选择信令(例如,参考图片集信令或参考图片列表信令),如下面更详细描述的。
[0155]
然而,仍期望能够相对于具有不同poc值的其他图片/切片/图块,单独根据poc值识别图片/切片/图块所属的au。这可以如下所述的那样实现。
[0156]
在同一实施方式或其他实施方式中,可以在诸如nal单元报头、切片报头、图块组报头、sei消息、参数集或au定界符的高级语法结构中用信号通知访问单元计数(access unit count,auc)。auc的值可以用于识别哪些nal单元、图片、切片或图块属于给定au。auc的值可以对应于不同的组成时间实例。auc值可以等于poc值的倍数。通过将poc值除以整数值,可以计算出auc值。在某些情况下,除法运算可以给解码器实现方式造成一定的负担。在这样的情况下,auc值在计数空间中小的限制可以允许用移位运算替代除法运算。例如,auc值可以等于poc值范围的最高有效位(most significant bit,msb)值。
[0157]
在同一实施方式中,可以在诸如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的值。
[0158]
在同一实施方式或另一实施方式中,poc_cyle_au的值可以根据例如位于视频参数集(video parameter set,vps)中的识别已编码视频序列中的空间层或snr层的数目的信息推导出。下面简要描述这样的可能的关系。虽然如上所述的推导可以节省vps中的几个比特并且因此可以提高编码效率,但是在层级上低于视频参数集的适当高级语法结构中显式地编码poc_cycle_au是有利的,以能够对于比特流的给定小部分诸如图片使poc_cycle_au最小化。与通过上面的推导处理可以节省的比特相比,该优化可以节省更多的比特,这是因为poc值(和/或间接引用poc的语法元素的值)可以在低级语法结构中编码。
[0159]
在同一实施方式或另一实施方式中,图9示出了用于用信号通知如下语法元素的语法表的示例:vps(或sps)中的指示用于已编码视频序列中的所有图片/切片的poc_cycle_au的vps_poc_cycle_au的语法元素、以及切片报头中的指示当前切片的poc_cycle_au的slice_poc_cycle_au的语法元素。如果poc值每au均匀增加,则将vps中的vps_contant_poc_cycle_per_au设置为等于1,并且在vps中用信号通知vps_poc_cycle_au。在这种情况下,slice_poc_cycle_au没有被明确地用信号通知,并且针对每个au的auc的值是通过将poc的值除以vps_poc_cycle_au来计算的。如果poc值每au不均匀增加,则将vps中的vps_contant_poc_cycle_per_au设置为等于0。在这种情况下,不用信号通知vps_access_unit_cnt,而在针对图片或每个切片的切片报头中用信号通知slice_access_unit_cnt。每个切片或图片可以具有不同的slice_access_unit_cnt的值。针对每个au的auc的值是通过将poc的值除以slice_poc_cycle_au来计算的。图10示出了示出相关工作流程的框图。
[0160]
在同一实施方式或其他实施方式中,即使图片、切片或图块的poc的值可能不同,
与具有相同auc值的au对应的图片、切片或图块也可以与相同解码或输出时间实例相关联。因此,在跨同一au中的图片、切片或图块没有任何相互解析/解码依赖性的情况下,与同一au相关联的图片、切片或图块的全部或子集可以被并行解码,并且可以在相同时间实例处输出。
[0161]
在同一实施方式或其他实施方式中,即使图片、切片或图块的poc的值可能不同,与具有相同auc值的au对应的图片、切片或图块也可以与相同的组成/显示时间实例相关联。当组成时间以容器格式被包含时,即使图片对应于不同的au,如果图片具有相同的组成时间,则也可以在相同时间实例处显示图片。
[0162]
在同一实施方式或其他实施方式中,每个图片、切片或图块可以在同一au中具有相同时间标识符(temporal_id)。与时间实例对应的图片、切片或图块的全部或子集可以与相同时间子层相关联。在同一实施方式或其他实施方式中,每个图片、切片或图块可以在同一au中具有相同或不同空间层id(layer_id)。与时间实例对应的图片、切片或图块的全部或子集可以与相同或不同空间层相关联。
[0163]
图8示出了具有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。poc的值每个图片增加1,而与temporal_id的值和layer_id的值无关。在该示例中,poc_cycle_au的值可以等于2。优选地,poc_cycle_au的值可以设置成等于(空间可缩放性)层的数目。因此,在该示例中,poc的值增加了2,而auc的值增加了1。
[0164]
在上面的实施方式中,可以通过使用hevc中现有的参考图片集(reference picture set,rps)信令或参考图片列表(reference picture list,rpl)信令来支持参考图片指示以及帧间图片预测结构或层间预测结构中的全部或子集。在rps或rpl中,通过用信号通知当前图片与选择的参考图片之间的poc值或poc的增量值来指示选择的参考图片。对于所公开的主题,可以使用rps和rpl来指示帧间图片预测结构或层间预测结构而无需改变信令,但是具有以下限制。如果参考图片的temporal_id的值比当前图片的temporal_id的值大,则当前图片可以不使用参考图片来进行运动补偿或其他预测。如果参考图片的layer_id的值比当前图片的layer_id的值大,则当前图片可以不使用参考图片来进行运动补偿或其他预测。
[0165]
在同一实施方式和其他实施方式中,可以跨访问单元内的多个图片禁用用于时间运动矢量预测的基于poc差异的运动矢量缩放。因此,虽然每个图片在访问单元内可以具有不同的poc值,但是运动矢量不会被缩放并且用于访问单元内的时间运动矢量预测。这是因为在同一au中具有不同poc的参考图片被认为是具有相同时间实例的参考图片。因此,在实施方式中,当参考图片属于与当前图片相关联的au时,运动矢量缩放功能可以恢复为1。
[0166]
在同一实施方式和其他实施方式中,当参考图片的空间分辨率与当前图片的空间分辨率不同时,可以跨多个图片可选地禁用用于时间运动矢量预测的基于poc差异的运动矢量缩放。当允许进行运动矢量缩放时,运动矢量基于当前图片与参考图片之间的poc差异和空间分辨率比率两者来进行缩放。
[0167]
在同一实施方式或另一实施方式中,对于时间运动矢量预测,可以基于auc差异而
不是poc差异来对运动矢量进行缩放,尤其是当poc_cycle_au具有非均匀值时(当vps_contant_poc_cycle_per_au==0时)。否则(当vps_contant_poc_cycle_per_au==1时),基于auc差异的运动矢量缩放可以与基于poc差异的运动矢量缩放相同。
[0168]
在同一实施方式或另一实施方式中,当基于auc差异对运动矢量进行缩放时,与当前图片相同的au(具有相同auc值)中的参考运动矢量不基于auc差异进行缩放并且用于在没有缩放或基于当前图片与参考图片之间的空间分辨率比率进行缩放的情况下的运动矢量预测。
[0169]
在同一实施方式和其他实施方式中,auc值用于识别au的边界并且用于假设参考解码器(hrd)操作,该假设参考解码器操作需要具有au粒度的输入定时和输出定时。大多数情况下,可以输出au中具有最高层的解码图片以进行显示。auc值和layer_id值可以用于识别输出图片。
[0170]
在实施方式中,图片可以由一个或更多个子图片组成。每个子图片可以覆盖图片的局部区域或整个区域。由子图片支持的区域可以与由另一子图片支持的区域交叠,或者可以不与由另一子图片支持的区域交叠。由一个或更多个子图片构成的区域可以覆盖图片的整个区域或者可以不覆盖图片的整个区域。如果图片由子图片组成,则由子图片支持的区域与由图片支持的区域相同。
[0171]
在同一实施方式中,可以通过与用于已编码图片的编码方法类似的编码方法对子图片进行编码。子图片可以独立地进行编码或者可以根据另一子图片或已编码图片进行编码。子图片可以具有或可以不具有来自另一子图片或已编码图片的任何解析依赖性。
[0172]
在同一实施方式中,已编码子图片可以包含在一个或更多个层中。层中的已编码子图片可以具有不同的空间分辨率。原始子图片可以在空间上重采样(上采样或下采样),使用不同的空间分辨率参数进行编码,并且包含在与层对应的比特流中。
[0173]
在同一实施方式或另一实施方式中,可以对具有(w,h)的子图片进行编码,并且将已编码子图片包含在与层0对应的已编码比特流中,其中,w指示子图片的宽度并且h指示子图片的高度,同时可以对来自具有原始空间分辨率的子图片的以(w*s
w,k
,h*s
h,k
)上采样(或下采样)的子图片进行编码,并且将已编码子图片包含在与层k对应的已编码比特流中,其中,s
w,k
、s
h,k
指示水平和竖直的重采样比率。如果s
w,k
、s
h,k
的值大于1,则重采样等于上采样。然而,如果s
w,k
、s
h,k
的值小于1,则重采样等于下采样。
[0174]
在同一实施方式或另一实施方式中,层中的已编码子图片可以具有与另一层中的同一子图片或不同子图片中的已编码子图片的视觉质量不同的视觉质量。例如,使用量化参数q
i,n
对层n中的子图片i进行编码,而使用量化参数q
j,m
对层m中的子图片j进行编码。
[0175]
在同一实施方式或另一实施方式中,层中的已编码子图片可以是独立可解码的,而不具有与同一局部区域的另一层中的已编码子图片的任何解析或解码依赖性。可以独立可解码而无需参考同一局部区域的另一子图片层的子图片层为独立子图片层。独立子图片层中的已编码子图片可以具有或可以不具有与同一子图片层中先前已编码子图片的解码或解析依赖性,但是已编码子图片可以不具有与另一子图片层中的已编码图片的任何依赖性。
[0176]
在同一实施方式或另一实施方式中,层中的已编码子图片可以是独立可解码的,而具有与同一局部区域的另一层中的已编码子图片的任何解析或解码依赖性。可以通过参
考同一局部区域的另一子图片层独立可解码的子图片层为从属子图片层。从属子图片中的已编码子图片可以参考属于同一子图片的已编码子图片、同一子图片层中的先前已编码子图片、或两个参考子图片。
[0177]
在同一实施方式或另一实施方式中,已编码子图片由一个或更多个独立子图片层以及一个或更多个从属子图片层组成。然而,对于已编码子图片,可以存在至少一个独立子图片层。独立子图片层可以具有层标识符(layer_id)的值,该值可以存在于nal单元报头或其他高级语法结构中,该值等于0。其中layer_id等于0的子图片层是基础子图片层。
[0178]
在同一实施方式或另一实施方式中,图片可以由一个或更多个前景子图片和一个背景子图片组成。由背景子图片支持的区域可以等于图片的区域。由前景子图片支持的区域可以与由背景子图片支持的区域交叠。背景子图片可以是基础子图片层,而前景子图片可以是非基础(增强)子图片层。一个或更多个非基础子图片层可以参考相同的基础层以进行解码。其中layer_id等于a的每个非基础子图片层可以参考其中layer_id等于b的非基础子图片层,其中,a大于b。
[0179]
在同一实施方式或另一实施方式中,图片可以由一个或更多个前景子图片组成,并且具有或不具有背景子图片。每个子图片可以具有其自己的基础子图片层以及一个或更多个非基础(增强)层。每个基础子图片层可以被一个或更多个非基础子图片层参考。其中layer_id等于a的每个非基础子图片层可以参考其中layer_id等于b的非基础子图片层,其中,a大于b。
[0180]
在同一实施方式或另一实施方式中,图片可以由一个或更多个前景子图片组成,并且具有或不具有背景子图片。(基础或非基础)子图片层中的每个已编码子图片可以被属于同一子图片的一个或更多个非基础层子图片以及不属于同一子图片的一个或更多个非基础层子图片参考。
[0181]
在同一实施方式或另一实施方式中,图片可以由一个或更多个前景子图片组成,并且具有或不具有背景子图片。层a中的子图片可以被进一步分割为同一层中的多个子图片。层b中的一个或更多个已编码子图片可以参考层a中的所分割的子图片。
[0182]
在同一实施方式或另一实施方式中,已编码视频序列(cvs)可以是一组已编码图片。cvs可以由一个或更多个已编码子图片序列(coded sub-picture sequence,csps)组成,其中,csps可以是覆盖同一局部区域的图片的一组已编码子图片。csps可以具有与已编码视频序列的时间分辨率相比相同的或不同的时间分辨率。
[0183]
在同一实施方式或另一实施方式中,可以对csps进行编码并且将该csps包含在一个或更多个层中。csps可以由一个或更多个csps层组成。对与csps对应的一个或更多个csps层进行解码可以重建与同一局部区域对应的子图片序列。
[0184]
在同一实施方式或另一实施方式中,与csps对应的csps层的数目可以与同另一csps对应的csps层的数目相同或不同。
[0185]
在同一实施方式或另一实施方式中,csps层可以具有与另一csps层不同的时间分辨率(例如,帧速率)。原始(未压缩)子图片序列可以在时间上重采样(上采样或下采样),使用不同的时间分辨率参数进行编码,并且被包含在与层对应的比特流中。
[0186]
在同一实施方式或另一实施方式中,可以对具有帧速率f的子图片序列进行编码并且将该子图片序列包含在与层0对应的已编码比特流中,同时可以对来自原始子图片序
列的以f*s
t,k
时间上采样(或下采样)的子图片序列进行编码并且将该子图片序列包含在与层k对应的已编码比特流中,其中,s
t,k
指示层k的时间采样比率。如果s
t,k
的值大于1,则时间重采样处理等于帧速率上转换。然而,如果s
t,k
的值小于1,则时间重采样处理等于帧速率下转换。
[0187]
在同一实施方式或另一实施方式中,当具有csps层a的子图片被具有csps层b的子图片参考以用于运动补偿预测或任何层间预测时,如果csps层a的空间分辨率与csps层b的空间分辨率不同,则对csps层a中的已解码的像素进行重采样并且用于参考。重采样处理可能需要上采样滤波或下采样滤波。
[0188]
图11示出了包括其中layer_id等于0的背景视频csps和多个前景csps层的示例视频流。虽然已编码子图片可以由一个或更多个csps层组成,但是不属于任何前景csps层的背景区域可以由基础层组成。基础层可以包含背景区域和前景区域,而增强csps层可以包含前景区域。在相同的区域,增强csps层可以具有比基础层更好的视觉质量。增强csps层可以参考与同一区域对应的基础层的重建像素和运动矢量。
[0189]
在同一实施方式或另一实施方式中,在视频文件中,与基础层对应的视频比特流包含在轨道中,而与每个子图片对应的csps层包含在单独的轨道中。
[0190]
在同一实施方式或另一实施方式中,与基础层对应的视频比特流包含在轨道中,而具有相同layer_id的csps层包含在单独的轨道中。在该示例中,与层k对应的轨道仅包括与层k对应的csps层。
[0191]
在同一实施方式或另一实施方式中,每个子图片的每个csps层存储在单独的轨道中。每个轨道可以具有或可以不具有与一个或更多个其他轨道的任何解析或解码依赖性。
[0192]
在同一实施方式或另一实施方式中,每个轨道可以包含与所有子图片或子图片的子集的csps层的层i到层j对应的比特流,其中,0《i=《j=《k,k为最高的csps层。
[0193]
在同一实施方式或另一实施方式中,图片由一个或更多个相关联的媒体数据组成,所述媒体数据包括深度图、阿尔法图、3d几何数据、占用图等。这种相关联的定时媒体数据可以被划分成一个或多个数据子流,所述一个或多个数据子流中的每个数据子流与一个子图片对应。
[0194]
在同一实施方式或另一实施方式中,图12示出了基于多层子图片方法的视频会议的示例。在视频流中,包含与背景图片对应的一个基础层视频比特流以及与前景子图片对应的一个或更多个增强层视频比特流。每个增强层视频比特流可以对应于csps层。在显示器中,默认显示与基础层对应的图片。该图片包含一个或更多个用户的画中画(picture in picture,pip)。当客户端控件选择特定用户时,与选择的用户对应的增强csps层被解码并且以增强的质量或空间分辨率进行显示。
[0195]
图13示出了根据实施方式的用于包括多层子图片的视频比特流的解码和显示处理的框图。例如,该处理可以包括以下操作中的一个或更多个。例如,在操作1301中,可以对具有多层的视频比特流进行解码。操作1302可以包括识别背景区域和一个或更多个前景子图片。操作1303可以包括确定是否已经选择了特定的子图片区域。如果已经选择了特定的子图片区域(即,1303=是),则操作1304可以包括对增强子图片进行解码和显示。如果尚未选择特定的子图片区域(即,1303=否),则操作1305可以包括对背景区域进行解码和显示。
[0196]
在同一实施方式或另一实施方式中,网络中间体(诸如路由器)可以根据用户的带
宽选择层的子集以发送给用户。图片/子图片组织可以用于带宽适配。例如,如果用户没有带宽,则路由器可以根据层或一些子图片的重要性或基于使用者的设置来剥离层或选择一些子图片,并且这可以动态地进行以适应带宽。
[0197]
图14示出了360视频的用例。当将球形360图片投影至平面图片上时,可以将投影360图片分割为多个子图片作为基础层。可以对特定子图片的增强层进行编码并且将该特定子图片的增强层传输至客户端。解码器可以能够对包括所有子图片的基础层和选择的子图片的增强层两者进行解码。在当前视口与选择的子图片相同时,显示的图片由于具有增强层的已解码的子图片而可以具有更高的质量。否则,可能以低的质量显示具有基础层的已解码的图片。
[0198]
在同一实施方式或另一实施方式中,用于显示的任何布局信息可以作为补充信息(诸如sei消息或元数据)存在于文件中。一个或更多个已解码的子图片可以根据用信号通知的布局信息来重新定位和显示。布局信息可以由流式传输服务器或广播装置用信号通知,或者可以由网络实体或云服务器重新生成,或者可以由用户自定义设置来确定。
[0199]
在实施方式中,当输入图片被划分成一个或更多个(矩形)子区域时,每个子区域可以被编码为独立层。与局部区域对应的每个独立层可以具有唯一的layer_id值。对于每个独立层,可以用信号通知子图片大小和位置信息。例如,图片大小(宽度,高度),左上角的偏移信息(x_偏移,y_偏移)。图15示出了划分的子图片的布局、其子图片大小和位置信息及其对应的图片预测结构的示例。包括子图片大小和子图片位置的布局信息可以在诸如参数集、切片或图块组的报头或sei消息的高级语法结构中用信号通知。
[0200]
在同一实施方式中,与独立层对应的每个子图片在au内可以具有其唯一的poc值。当通过使用rps或rpl结构的语法元素指示在存储在dpb中的图片中的参考图片时,可以使用与层对应的每个子图片的poc值。
[0201]
在同一实施方式或另一实施方式中,为了指示(层间)预测结构,可以不使用layer_id而是可以使用poc(增量)值。
[0202]
在同一实施方式中,与层(或局部区域)对应的其中poc值等于n的子图片可以用作或可以不用作与同一层(同一局部区域)对应的其中poc值等于n k的子图片的参考图片以用于运动补偿预测。在大多数情况下,数目k的值可以等于(独立)层的最大数目,该最大数目可以与子区域的数目相同。
[0203]
在同一实施方式或另一实施方式中,图16示出了图15的扩展情况。当输入图片被划分成多个(例如,四个)子区域时,每个局部区域可以使用一个或更多个层进行编码。在这种情况下,独立层的数目可以等于子区域的数目,并且一个或更多个层可以对应于子区域。因此,每个子区域可以使用一个或更多个独立层以及零个或更多个从属层进行编码。
[0204]
在同一实施方式中,在图16中,输入图片可以被划分成四个子区域。右上子区域可以编码为两个层即层1和层4,而右下子区域可以编码为两个层即层3和层5。在这种情况下,层4可以参考层1来进行运动补偿预测,而层5可以参考层3来进行运动补偿。
[0205]
在同一实施方式或另一实施方式中,可以(可选地)禁用跨层边界的环路滤波(诸如去块滤波、自适应环路滤波、整形器、双边滤波或任何基于深度学习的滤波)。
[0206]
在同一实施方式或另一实施方式中,可以(可选地)禁用跨层边界的运动补偿预测或块内复制。
[0207]
在同一实施方式或另一实施方式中,可以可选地处理用于在子图片的边界处的运动补偿预测或环路滤波的边界填充。指示边界填充是否被处理的标志可以在诸如参数集(vps、sps、pps或aps)、切片或图块组的报头或sei消息的高级语法结构中用信号通知。
[0208]
在同一实施方式或另一实施方式中,可以在vps或sps中用信号通知子区域(或子图片)的布局信息。图17示出了vps和sps中的语法元素的示例。该示例中,在vps中用信号通知vps_sub_picture_dividing_flag。该标志可以指示输入图片是否被划分成多个子区域。
[0209]
当vps_sub_picture_dividing_flag的值为0时,在已编码视频序列中与当前vps对应的输入图片可以不被划分成多个子区域。在这种情况下,输入图片大小可以等于在sps中用信号通知的已编码图片大小(pic_width_in_luma_samples、pic_height_in_luma_samples)。
[0210]
当vps_sub_picture_dividing_flag的值等于1时,输入图片可以被划分成多个子区域。在这种情况下,在vps中用信号通知语法元素vps_full_pic_width_in_luma_samples和vps_full_pic_height_in_luma_samples。vps_full_pic_width_in_luma_samples的值和vps_full_pic_height_in_luma_samples的值可以分别等于输入图片的宽度和高度。
[0211]
在同一实施方式中,vps_full_pic_width_in_luma_samples的值和vps_full_pic_height_in_luma_samples的值可以不用于解码,但是可以用于合成和显示。
[0212]
在同一实施方式中,当vps_sub_picture_dividing_flag的值等于1时,可以在sps中用信号通知对应于特定层的语法元素pic_offset_x和pic_offset_y。在这种情况下,在sps中用信号通知的已编码图片大小(pic_width_in_luma_samples、pic_height_in_luma_samples)可以等于与特定层对应的子区域的宽度和高度。此外,可以在sps中用信号通知子区域的左上角的位置(pic_offset_x,pic_offset_y)。
[0213]
在同一实施方式中,子区域的左上角的位置信息(pic_offset_x,pic_offset_y)可以不用于解码,但是可以用于合成和显示。
[0214]
在同一实施方式或另一实施方式中,可以在参数集或sei消息中用信号通知输入图片的所有或者子集子区域的布局信息(大小和位置)、层之间的依赖信息。
[0215]
图18示出了用于指示子区域的布局、层之间的依赖性以及子区域与一个或更多个层之间的关系的信息的语法元素的示例。在该示例中,语法元素num_sub_region指示当前已编码视频序列中(矩形)子区域的数目。根据实施方式,语法元素num_layers可以指示当前已编码视频序列中的层的数目。num_layers的值可以等于或大于num_sub_region的值。当任何子区域被编码为单层时,num_layers的值可以等于num_sub_region的值。当一个或更多个子区域被编码为多层时,num_layers的值可以大于num_sub_region的值。语法元素direct_dependency_flag[i][j]指示从第j层到第i层的依赖性。num_layers_for_region[i]指示与第i子区域相关联的层的数目。sub_region_layer_id[i][j]指示与第i子区域相关联的第j层的layer_id。sub_region_offset_x[i]和sub_region_offset_y[i]分别指示第i子区域左上角的水平位置和竖直位置。sub_region_width[i]和sub_region_height[i]分别指示第i子区域的宽度和高度。
[0216]
在一个实施方式中,指定用于指示在具有或不具有档次层次层级信息的情况下要输出的多个层中的一个层的输出层集的一个或更多个语法元素可以在例如vps、dps、sps、pps、aps或sei消息的高级语法结构中用信号通知。参照图19,可以在vps中用信号通知指示
已编码视频序列中参考vps的输出层集(output layer set,ols)的数目的语法元素num_output_layer_sets。对于每个输出层集,可以用信号通知与输出层的数目一样多的output_layer_flag。
[0217]
在同一实施方式中,output_layer_flag[i]等于1指定输出第i层。vps_output_layer_flag[i]等于0指定不输出第i层。
[0218]
在同一实施方式或另一实施方式中,指定针对每个输出层集的档次层次层级信息的一个或更多个语法元素可以在例如vps、dps、sps、pps、aps或sei消息的高级语法结构中用信号通知。仍然参照图19,可以在vps中用信号通知指示在已编码视频序列中参考vps的每ols的档次层次层级信息的数目的语法元素num_profile_tile_level。对于每个输出层集,可以用信号通知与输出层的数目一样多的针对档次层次层级信息的一组语法元素或者指示档次层次层级信息中的条目之中的特定档次层次层级信息的索引。
[0219]
在同一实施方式中,profile_tier_level_idx[i][j]指定应用于第i ols的第j层的profile_tier_level()语法结构到vps中的profile_tier_level()语法结构的列表中的索引。
[0220]
在同一实施方式或另一实施方式中,参照图20,当最大层的数目大于1(vps_max_layers_minus1》0)时,可以用信号通知语法元素num_profile_tile_level和/或num_output_layer_sets。
[0221]
在同一实施方式或另一实施方式中,参照图20,指示针对第i输出层集的输出层信令的模式的语法元素vps_output_layers_mode[i]可以存在于vps中。
[0222]
在同一实施方式中,vps_output_layers_mode[i]等于0指定第i输出层集仅输出最高层。vps_output_layer_mode[i]等于1指定第i输出层集输出所有层。vps_output_layer_mode[i]等于2指定第i输出层集输出的层为其中vps_output_layer_flag[i][j]等于1的层。可以保留更多的值。
[0223]
在同一实施方式中,根据针对第i输出层集的vps_output_layers_mode[i]的值,可以用信号通知或可以不用信号通知output_layer_flag[i][j]。
[0224]
在同一实施方式或另一实施方式中,参照图20,针对第i输出层集可以存在标志vps_ptl_signal_flag[i]。根据vps_ptl_signal_flag[i]的值,可以用信号通知或可以不用信号通知针对第i输出层集的档次层次层级信息。
[0225]
在同一实施方式或另一实施方式中,参照图21,可以在例如vps、dps、sps、pps、aps或sei消息的高级语法结构中用信号通知当前cvs中子图片的数目max_subpics_minus1。
[0226]
在同一实施方式中,参照图21,当子图片的数目大于1(max_subpics_minus1》0)时,可以用信号通知针对第i子图片的子图片标识符sub_pic_id[i]。
[0227]
在同一实施方式或另一实施方式中,可以在vps中用信号通知指示属于每个输出层集中的每个层的子图片标识符的一个或更多个语法元素。参照图22,sub_pic_id_layer[i][j][k]指示存在于第i输出层集的第j层中的第k子图片。利用这些信息,解码器可以识别针对特定输出层集中的每个层可以对哪个子图片进行解码和输出。
[0228]
在实施方式中,图片报头(picture header,ph)是包含应用于已编码图片的所有切片的语法元素的语法结构。图片单元(picture unit,pu)是一组nal单元,所述一组nal单元根据指定的分类规则彼此相关联,在解码顺序上是连续的并且恰好包含一个已编码图
片。pu可以包含图片报头(ph)和构成已编码图片的一个或更多个vcl(video coding layer,vcl)nal单元。
[0229]
在实施方式中,将sps(rbsp)包括在其中temporalid等于0的至少一个au中或者通过外部手段提供,sps(rbsp)可以在其被参考之前对解码处理可用。
[0230]
在实施方式中,将sps(rbsp)包括在cvs中其中temporalid等于0的至少一个au中或者通过外部手段提供,sps(rbsp)可以在其被参考之前对解码处理可用,该cvs包含参考sps的一个或更多个pps。
[0231]
在实施方式中,将sps(rbsp)包括在cvs中其中nuh_layer_id等于参考sps nal单元的pps nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,sps(rbsp)可以在其被一个或更多个pps参考之前对解码处理可用,该cvs包含参考sps的一个或更多个pps。
[0232]
在实施方式中,将sps(rbsp)包括其中temporalid等于0并且nuh_layer_id等于参考sps nal单元的pps nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,sps(rbsp)可以在其被一个或更多个pps参考之前对解码处理可用。
[0233]
在实施方式中,将sps(rbsp)包括在cvs中其中temporalid等于0并且nuh_layer_id等于参考sps nal单元的pps nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供或者通过外部手段提供,sps(rbsp)可以在其被一个或更多个pps参考之前对解码处理可用,该cvs包含参考sps的一个或更多个pps。
[0234]
在同一实施方式或另一实施方式中,pps_seq_parameter_set_id针对所参考的sps指定sps_seq_parameter_set_id的值。pps_seq_parameter_set_id的值在被clvs中的已编码图片参考的所有pps中可以是相同的。
[0235]
在同一实施方式或另一实施方式中,cvs中具有sps_seq_parameter_set_id的特定值的所有sps nal单元可以具有相同的内容。
[0236]
在同一实施方式或另一实施方式中,无论nuh_layer_id值如何,sps nal单元可以共享sps_seq_parameter_set_id的相同值空间。
[0237]
在同一实施方式或另一实施方式中,sps nal单元的nuh_layer_id值可以等于参考sps nal单元的pps nal单元的最低nuh_layer_id值。
[0238]
在实施方式中,当其中nuh_layer_id等于m的sps被其中nuh_layer_id等于n的一个或更多个pps参考时,其中nuh_layer_id等于m的层可以与其中nuh_layer_id等于n的层或其中nuh_layer_id等于m的层的(直接或间接的)参考层相同。
[0239]
在实施方式中,将pps(rbsp)包括在其中temporalid等于pps nal单元的temporalid的至少一个au中或者通过外部手段提供,pps(rbsp)可以在其被参考之前对解码处理可用。
[0240]
在实施方式中,将pps(rbsp)包括在cvs中其中temporalid等于pps nal单元的temporalid的至少一个au中或者通过外部手段提供,pps(rbsp)可以在其被参考之前对解码处理可用,该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0241]
在实施方式中,将pps(rbsp)包括在cvs中其中nuh_layer_id等于参考pps nal单元的已编码切片nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,pps(rbsp)可以在其被一个或更多个ph(或已编码切片nal单元)参考之前对解码处理可用,
该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0242]
在实施方式中,将pps(rbsp)包括在cvs中其中temporalid等于pps nal单元的temporalid并且nuh_layer_id等于参考pps nal单元的已编码切片nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,pps(rbsp)可以在其被一个或更多个ph(或已编码切片nal单元)参考之前对解码处理可用,该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0243]
在同一实施方式或另一实施方式中,ph中的ph_pic_parameter_set_id针对所使用的参考pps指定pps_pic_parameter_set_id的值。pps_seq_parameter_set_id的值在被clvs中的已编码图片参考的所有pps中可以是相同的。
[0244]
在同一实施方式或另一实施方式中,pu内具有pps_pic_parameter_set_id的特定值的所有pps nal单元可以具有相同的内容。
[0245]
在同一实施方式或另一实施方式中,无论nuh_layer_id值如何,pps nal单元可以共享pps_pic_parameter_set_id的相同值空间。
[0246]
在同一实施方式或另一实施方式中,pps nal单元的nuh_layer_id值可以等于参考nal单元的已编码切片nal单元的最低nuh_layer_id值,该nal单元参考pps nal单元。
[0247]
在实施方式中,当其中nuh_layer_id等于m的pps被其中nuh_layer_id等于n的一个或更多个已编码切片nal单元参考时,其中nuh_layer_id等于m的层可以与其中nuh_layer_id等于n的层或其中nuh_layer_id等于m的层的(直接或间接的)参考层相同。
[0248]
在实施方式中,将pps(rbsp)包括在其中temporalid等于pps nal单元的temporalid的至少一个au中或者通过外部手段提供,pps(rbsp)可以在其被参考之前对解码处理可用。
[0249]
在实施方式中,将pps(rbsp)包括在cvs中其中temporalid等于pps nal单元的temporalid的至少一个au中或者通过外部手段提供,pps(rbsp)可以在其被参考之前对解码处理可用,该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0250]
在实施方式中,将pps(rbsp)包括在cvs中其中nuh_layer_id等于参考pps nal单元的已编码切片nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,pps(rbsp)可以在其被一个或更多个ph(或已编码切片nal单元)参考之前对解码处理可用,该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0251]
在实施方式中,将pps(rbsp)包括在cvs中其中temporalid等于pps nal单元的temporalid并且nuh_layer_id等于参考pps nal单元的已编码切片nal单元的最低nuh_layer_id值的至少一个pu中或者通过外部手段提供,pps(rbsp)可以在其被一个或更多个ph(或已编码切片nal单元)参考之前对解码处理可用,该cvs包含参考pps的一个或更多个ph(或已编码切片nal单元)。
[0252]
在同一实施方式或另一实施方式中,ph中的ph_pic_parameter_set_id针对所使用的参考pps指定pps_pic_parameter_set_id的值。pps_seq_parameter_set_id的值在被clvs中的已编码图片参考的所有pps中可以是相同的。
[0253]
在同一实施方式或另一实施方式中,pu内具有pps_pic_parameter_set_id的特定值的所有pps nal单元可以具有相同的内容。
[0254]
在同一实施方式或另一实施方式中,无论nuh_layer_id值如何,pps nal单元可以
共享pps_pic_parameter_set_id的相同值空间。
[0255]
在同一实施方式或另一实施方式中,pps nal单元的nuh_layer_id值可以等于参考nal单元的已编码切片nal单元的最低nuh_layer_id值,该nal单元参考pps nal单元。
[0256]
在实施方式中,当其中nuh_layer_id等于m的pps被其中nuh_layer_id等于n的一个或更多个已编码切片nal单元参考时,其中nuh_layer_id等于m的层可以与其中nuh_layer_id等于n的层或其中nuh_layer_id等于m的层的(直接或间接的)参考层相同。
[0257]
输出层指示输出层集中被输出的层。输出层集(ols)指示由指定的一组层组成的一组层,其中,所述一组层中的一个或更多个层被指定为输出层。输出层集(ols)层索引是ols中的层到ols中的层列表的索引。
[0258]
子层指示时间可伸缩比特流的时间可伸缩层,由具有temporalid变量的特定值的vcl nal单元和相关联的非vcl nal单元组成。子层表示指示由特定子层的nal单元和较低子层的nal单元组成的比特流子集。
[0259]
将vps rbsp包括在其中temporalid等于0的至少一个au中或者通过外部手段提供,vps rbsp可以在其被参考之前对解码处理可用。在cvs中具有vps_video_parameter_set_id的特定值的所有vps nal单元可以具有相同的内容。
[0260]
提供vps的标识符以供其他语法元素参考。vps_video_parameter_set_id的值可以大于0。
[0261]
加1指定参考vps的每个cvs中最大允许的层的数目。
[0262]
加1指定在参考vps的每个cvs中的层中可以存在的时间子层的最大数目。vps_max_sublayers_minus1的值可以在0到6(含端点)的范围内。
[0263]
等于1指定时间子层的数目对于参考vps的每个cvs中的所有层都是相同的。
[0264]
vps_all_layers_same_num_sublayers_flag等于0指定参考vps的每个cvs中的层可以具有或可以不具有相同数目的时间子层。当不存在时,vps_all_layers_same_num_sublayers_flag的值被推断为等于1。
[0265]
等于1指定cvs中的所有层都独立地编码而不使用层间预测。
[0266]
vps_all_independent_layers_flag等于0指定cvs中的一个或更多个层可以使用层间预测。当不存在时,vps_all_independent_layers_flag的值被推断为等于1。
[0267]
指定第i层的nuh_layer_id值。对于m和n的任何两个非负整数值,当m小于n时,vps_layer_id[m]的值可以小于vps_layer_id[n]。
[0268]
等于1指定具有索引i的层不使用层间预测。vps_independent_layer_flag[i]等于0指定具有索引i的层可以使用层间预测和语法元素。
[0269]
vps中存在针对j的vps_direct_ref_layer_flag[i][j],j在0到i-1(含端点)的范
围内。当不存在时,vps_independent_layer_flag[i]的值被推断为等于1。等于0指定具有索引j的层不是针对具有索引i的层的直接参考层。vps_direct_ref_layer_flag[i][j]等于1指定具有索引j的层是针对具有索引i的层的直接参考层。
[0270]
当对于i和j在0到vps_max_layers_minus1(含端点)的范围内,不存在vps_direct_ref_layer_flag[i][j]时,vps_direct_ref_layer_flag[i][j]被推断为等于0。当vps_independent_layer_flag[i]等于0时,在0到i-1(含端点)的范围内,可能存在j的至少一个值,使得vps_direct_ref_layer_flag[i][j]的值等于1。变量numdirectreflayers[i]、directreflayeridx[i][d]、numreflayers[i]、reflayeridx[i][r]和layerusedasreflayerflag[j]如下导出:
[0271]
指定其中nuh_layer_id等于vps_layer_id[i]的层的层索引的变量generallayeridx[i]如下导出:
for(i=0;i<=vps_max_layers_minus1;i )generallayeridx[vps_layer_id[i]]=i
[0272]
对于i和j的任何两个不同值,两者均在0到vps_max_layers_minus1(含端点)的范围内,当dependencyflag[i][j]等于1时,比特流一致性的要求是应用于第i层的chroma_format_idc的值和bit_depth_minus8的值可以分别等于应用于第j层的chroma_format_idc的值和bit_depth_minus8的值。
[0273]
等于1指定存在语法元素max_tid_il_ref_pics_plus1[i]。max_tid_ref_present_flag[i]等于0指定不存在语法元素max_tid_il_ref_pics_plus1[i]。
[0274]
等于0指定层间预测不被第i层的非irap(intra random access point,irap)图片使用。max_tid_il_ref_pics_plus1[i]大于0指定对于第i层的解码图片,没有其中temporalid大于max_tid_il_ref_pics_plus1[i]-1的图片被用作ilrp(inter-layer residual prediction,ilrp)。当不存在时,max_tid_il_ref_pics_plus1[i]的值被推断为等于7。
[0275]
等于1指定每个ols包含仅一个层,并且在参考vps的cvs中的每个层本身是具有作为唯一输出层的单个包括层的ols。each_layer_is_an_ols_flag等于0指定ols可以包含多于一个层。如果vps_max_layers_minus1等于0,则each_layer_is_an_ols_flag的值被推断为等于1。否则,当vps_all_independent_layers_flag等于0时,each_layer_is_an_ols_flag的值被推断为等于0。
[0276]
等于0指定由vps指定的ols的总数目等于vps_max_layers_minus1 1,第i ols包括其中层索引从0到i(含端点)的层,并且对于每个ols,仅输出ols中的最高层。
[0277]
ols_mode_idc等于1指定由vps指定的ols的总数目等于vps_max_layers_minus1 1,第i ols包括其中层索引从0到i(含端点)的层,并且对于每个ols,输出ols中的所有层。
[0278]
ols_mode_idc等于2指定由vps指定的ols的总数目被明确地用信号通知,并且对于每个ols,输出层被明确地用信号通知,而其他层是作为ols的输出层的直接或间接的参考层的层。
[0279]
ols_mode_idc的值可以在0到2(含端点)的范围内。ols_mode_idc的值3被保留以供itu-t(international telecommunication union telecommunication standardization sector,itu-t)|iso(international standardization organization,iso)/iec(international electrotechnical commission,iec)将来使用。
[0280]
当vps_all_independent_layers_flag等于1并且each_layer_is_an_ols_flag等于0时,ols_mode_idc的值被推断为等于2。
[0281]
加1指定当ols_mode_idc等于2时由vps指定的ols的总数目。
[0282]
指定由vps指定的ols的总数目的变量totalnumolss如下导出:
[0283]
vps_all_layers_same_num_sublayers_flag等于0指定参考vps的每个cvs中的层可以具有或可以不具有相同数目的时间子层。当不存在时,vps_all_layers_same_num_sublayers_flag的值被推断为等于1。
[0284]
等于1指定cvs中的所有层都独立地编码而不使用层间预测。
[0285]
等于1指定当ols_mode_idc等于2时,其中nuh_layer_id等于vps_layer_id[j]的层是第i ols的输出层。ols_output_layer_flag[i][j]等于0指定当ols_mode_idc等于2时,其中nuh_layer_id等于vps_layer_id[j]的层不是第i ols的输出层。
[0286]
指定第i ols中的输出层的数目的变量numoutputlayersinols[i]、指定第i ols中的第j层的子层的数目的变量numsublayersinlayerinols[i][j]、指定第i ols中的第j输出层的nuh_layer_id值的变量outputlayeridinols[i][j]以及指定第k层是否用作至少一个ols中的输出层的变量layerusedasoutputlayerflag[k]如下导出:
[0287]
对于在0到vps_max_layers_minus1(含端点)范围内的每个i值,layerusedasreflayerflag[i]的值和layerusedasoutputlayerflag[i]的值可能均不等于0。换言之,可能不存在既不是至少一个ols的输出层也不是任何其他层的直接参考层的层。
[0288]
对于每个ols,可以存在作为输出层的至少一个层。换言之,对于在0到totalnumolss-1(含端点)范围内的任何i值,numoutputlayersinols[i]的值可以大于或等于1。
[0289]
指定第i ols中的层的数目的变量numlayerinols[i]以及指定第i ols中的第j层的nuh_layer_id值的变量layeridinols[i][j]如下导出:的nuh_layer_id值的变量layeridinols[i][j]如下导出:
[0290]
指定其中nuh_layer_id等于layeridinols[i][j]的层的ols层索引的变量olslayeridx[i][j]如下导出:
for(i=0;i<totalnumolss;i )for j=0;j<numlayersinols[i];j )olslayeridx[i][layeridinols[i][j]]=j
[0291]
每个ols中的最低层可以是独立层。换言之,对于在0到totalnumolss-1(含端点)范围内的每个i,vps_independent_layer_flag[generallayeridx[layeridinols[i][0]]]的值可以等于1。
[0292]
每个层可以包括在由vps指定的至少一个ols中。换言之,对于其中nuh_layer_id nuhlayerid的特定值等于vps_layer_id[k]之一的每个层,对于在0到vps_max_layers_minus1(含端点)的范围内的k,可能存在至少一对i和j的值,其中i在0到totalnumolss-1(含端点)的范围内,并且j在numlayerinols[i]-1(含端点)的范围内,使得layeridinols[i][j]的值等于nuhlayerid。
[0293]
在实施方式中,针对当前图片currpic,解码处理如下操作:-pictureoutputflag如下设置:-如果以下条件之一为真,则将pictureoutputflag设置为等于0:-当前图片是rasl图片,并且相关联的irap图片的nooutputbeforerecoveryflag等于1。-gdr_enabled_flag等于1,并且当前图片是其中nooutputbeforerecoveryflag等于1的gdr图片。-gdr_enabled_flag等于1,当前图片与其中nooutputbeforerecoveryflag等于1的gdr图片相关联,并且当前图片的picordercntval小于相关联的gdr图片的rppicordercntval。-sps_video_parameter_set_id大于0,ols_mode_idc等于0,并且当前au包含满足以下所有条件的图片pica:-pica的pictureoutputflag等于1。-pica的nuh_layer_id nuhlid大于当前图片的nuh_layer_id nuhlid。-pica属于ols的输出层(即,outputlayeridinols[targetolsidx][0]等于nuhlid)。-sps_video_parameter_set_id大于0,ols_mode_idc等于2,并且ols_output_layer_flag[targetolsidx][generallayeridx[nuh_layer_id]]等于0。-否则,将pictureoutputflag设置为等于pic_output_flag。
[0294]
在当前图片的所有切片已经被解码之后,当前已解码图片被标记为“用于短期参考”,并且refpiclist[0]或refpiclist[1]中的每个ilrp条目被标记为“用于短期参考”。
[0295]
在同一实施方式或另一实施方式中,当每个层是输出层集时,无论ols_mode_idc的值如何,将pictureoutputflag设置为等于pic_output_flag。
[0296]
在同一实施方式或另一实施方式中,当sps_video_parameter_set_id大于0、each_layer_is_an_ols_flag等于0、ols_mode_idc等于0并且当前au包含满足以下所有条件的图片pica时,将pictureoutputflag设置为等于0:pica的pictureoutputflag等于1;pica的nuh_layer_id nuhlid大于当前图片的nuh_layer_id nuhlid;并且pica属于ols的输出层(即,outputlayeridinols[targetolsidx][0]等于nuhlid)。
[0297]
在同一实施方式或另一实施方式中,当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。
[0298]
图23示出了根据实施方式的用于指示具有输出层集模式的输出层集的语法表的示例。
[0299]
图24示出了根据本公开内容的一方面的用于比特流的解码处理的框图。具体地,图24示出了根据实施方式的用于指示具有输出层集模式的输出层集的解码器侧流程图。
[0300]
根据本公开内容的一方面,一种解码方法可以包括:接收包括压缩视频/图像数据的比特流(图24中的操作1001)。比特流可以具有多个层。
[0301]
解码方法还可以包括操作1002:根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符(例如,ols_mode_idc)。
[0302]
解码方法还可以包括操作1003:基于输出层集模式指示符来识别输出层集信令。
[0303]
解码方法还可以包括操作1004(例如,操作1004a、1004b或1004c):基于所识别的输出层集信令来识别一个或更多个图片输出层。
[0304]
解码方法还可以包括操作1005:对所识别的一个或更多个图片输出层进行解码。可以显示解码后的一个或更多个图片输出层。
[0305]
基于输出层集模式指示符来识别输出层集信令可以包括:在vps中的输出层集模式指示符为第一值的情况下,将比特流中的最高层识别为一个或更多个图片输出层(参见例如图25a);在vps中的输出层集模式指示符为第二值的情况下,将比特流中的所有层识别为一个或更多个图片输出层(参见例如图25b);以及在vps中的输出层集模式指示符为第三值的情况下,基于vps中的显式信令来识别一个或更多个图片输出层(参见例如图25c)。
[0306]
图25a至图25c示出了带下划线的输出图片。如图25a至图25c所示,比特流中可以有5层,并且仅某些层被输出至显示器。例如,可以输出层3(参见例如图25c)。
[0307]
根据实施方式,vps中的ols_mode_idc可以指示用信号通知输出层集的方法(机制)。例如,如果等于0,则比特流中的最高层可以是唯一的输出层;如果等于1,则比特流中的所有层都可以是输出层;以及如果等于2,可以在vps中显式地用信号通知一个或更多个输出层。也就是说,可以由输出层集信令来确定图片输出。
[0308]
例如,每个层的图片输出可以由输出层集信令确定,并且输出层信令的方法可以由ols_mode_idc确定。
[0309]
根据实施方式,每个比特流可以用信号通知输出层模式并且输出层模式可以不时地改变。
[0310]
根据实施方式,如图25a所示,比特流中可以有5层(层4至层0)。如图25a所示,在时间=k时,在输出层集模式指示符(ols_mode_idc)==0的情况下,可以输出最高层。因此,如图25a所示,在时间=k时,输出层4中的输出图片。在时间=k 1时,可以输出作为最高层的层3,对于k 2和k 3,依此类推。
[0311]
如图25b所示,在输出层集模式指示符(ols_mode_idc)等于1的情况下,可以诸如在k到k 3中的每一个时输出所有层。
[0312]
如图25c所示,可以执行显式信令。例如,如图26所示,图片层3(通过下划线示出为
输出)是例如k到k 3时间期间的输出层。
[0313]
第一值可以不同于第二值并且可以不同于第三值,并且第二值可以不同于第三值。
[0314]
第一值可以是0,第二值可以是1,而第三值可以是2。然而,可以使用其他值,并且本公开内容不限于使用如上所述的0、1和2。
[0315]
通过vps中的显式信令来识别一个或更多个图片输出层可以包括:(i)根据vps解析或导出输出层标志;以及(ii)将具有输出层标志等于1的层设置为一个或更多个图片输出层。
[0316]
基于输出层集模式指示符来识别输出层集信令可以包括:在vps中的输出层集模式指示符为预定值的情况下,输出层集信令包括基于vps中的显式信令来识别一个或更多个图片输出层。
[0317]
通过vps中的显式信令来识别一个或更多个图片输出层包括:(i)根据vps解析或导出输出层标志;以及(ii)将具有输出层标志等于1的层设置为一个或更多个图片输出层,其中,多个层的数目大于2。
[0318]
输出层集信令可以包括:当输出层集模式指示符等于2,并且多个层的层的数目大于2时,基于vps中的显式信令来识别一个或更多个图片输出层。
[0319]
输出层集信令可以包括:当输出层集模式指示符小于2,并且多个层的数目为2时,通过推断一个或更多个图片输出层将比特流中的最高层或比特流中的所有层识别为一个或更多个图片输出层,并且输出层集模式指示符实际小于2,并且多个层的数目实际为2。
[0320]
根据实施方式,vps中的输出层集minus1指示符的数目指示输出层集的数目。
[0321]
根据实施方式,vps中的vps最大层minus1指示符指示比特流中的层的数目。
[0322]
根据实施方式,vps中的输出层集标志[i][j]指示第i输出层集的第j层是否为输出层。
[0323]
根据实施方式,如果多个层中的所有层都是独立的,在vps的vps所有独立层标志等于1的情况下,则不用信号通知输出层集模式指示符,并且将输出层集模式指示符的值推断为第二值。
[0324]
根据实施方式,当每个层是输出层集时,无论输出层集模式指示符的值如何,将vps的图片输出标志设置为等于图片报头中用信号通知的图片输出标志。
[0325]
注意:输出层中的图片可以具有或可以不具有等于1的pictureoutputflag。非输出层中的图片具有等于0的pictureoutputflag。其中pictureoutputflag等于1的图片被输出用于显示。其中pictureoutputflag等于0的图片不被输出用于显示。
[0326]
根据实施方式,当序列参数集(sps)vps标识符大于0——这指示比特流中存在多于一个层、vps的每个层为输出层集标志等于0——这指示比特流中的多个层并非都是独立的、输出层集模式指示符等于0并且当前访问单元包含满足以下所有条件的图片时,将图片输出标志设置为等于0,所述条件包括:图片的图片输出标志等于1;图片的nuh层标识符大于当前图片的nuh层标识符,并且图片属于输出层集的输出层。
[0327]
根据实施方式,当vps的序列参数集(sps)大于0、每个层为输出层集标志等于0、输出层集模式指示符等于2并且输出层集输出层标志[target ols index][general layer index[nuh layer identifier]]等于0时,将vps的图片输出标志设置为等于0。
[0328]
根据实施方式,该方法还可以包括:控制显示器以显示解码后的一个或更多个图片输出层。
[0329]
根据本公开内容的一方面,一种存储有指令的非暂态计算机可读存储介质,所述指令在被执行时使包括一个或更多个处理器的系统或设备进行以下操作:接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符;基于输出层集模式指示符来识别输出层集信令;基于所识别的输出层集信令来识别一个或更多个图片输出层;以及对所识别的一个或更多个图片输出层进行解码。
[0330]
根据实施方式,所述指令还被配置成使包括一个或更多个处理器的系统或设备进行以下操作:控制显示器以显示解码后的一个或更多个图片输出层。
[0331]
根据本公开内容的一方面,一种装置可以包括:至少一个存储器,被配置成存储计算机程序代码;以及至少一个处理器,被配置成访问至少一个存储器并且根据计算机程序代码进行操作。根据实施方式,所述计算机程序代码可以包括:接收代码,被配置成使至少一个处理器接收包括压缩视频/图像数据的比特流,其中,比特流具有多个层;解析或导出代码,被配置成使至少一个处理器根据比特流解析或导出视频参数集(vps)中的输出层集模式指示符;输出层信令识别代码,被配置成使至少一个处理器基于输出层集模式指示符来识别输出层集信令;图片输出层识别代码,被配置成使至少一个处理器基于所识别的输出层集信令来识别一个或更多个图片输出层;以及解码代码,被配置成使至少一个处理器对所识别的一个或更多个图片输出层进行解码。
[0332]
根据实施方式,所述计算机程序代码还可以包括:显示控制代码,被配置成使至少一个处理器控制显示器以显示一个或更多个图片输出层。
[0333]
上面描述的用于解码、显示和用信号通知自适应分辨率参数的技术可以实现为计算机软件,该计算机软件使用计算机可读指令并且被物理地存储在一个或更多个计算机可读介质中。例如,图7示出了适合于实现所公开的主题的某些实施方式的计算机系统700。
[0334]
计算机软件可以使用任何合适的机器代码或计算机语言来编码,计算机软件可以经受汇编、编译、链接等机制以创建包括指令的代码,该指令可以由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解释、微代码执行等来执行。
[0335]
指令可以在各种类型的计算机或其部件上执行,各种类型的计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
[0336]
图7所示的用于计算机系统700的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。也不应当将部件的配置解释为具有与计算系统700的示例性实施方式中所示的部件中的任何一个或组合有关的任何依赖性或要求。
[0337]
计算机系统700可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入作出响应。人机接口设备还可以用于捕获不一定与人的意识输入直接有关的某些媒体,诸如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、
视频(诸如,二维视频、包括立体视频的三维视频)。
[0338]
输入人机接口设备可以包括以下中的一个或更多个(描绘的每种中的仅一个):键盘701、鼠标702、轨迹板703、触摸屏710、数据手套704、操纵杆705、麦克风706、扫描仪707、摄像装置708。
[0339]
计算机系统700还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏710、数据手套704或操纵杆705的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器709、耳机(未描绘))、视觉输出设备(诸如包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕710,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些屏幕可能能够通过诸如立体图像输出、虚拟现实眼镜(未描绘)、全息显示器和发烟器(未描绘)以及打印机(未描绘)的方式输出二维视觉输出或多于三维输出。
[0340]
计算机系统700还可以包括人类可访问存储设备及其相关联的介质,诸如包括具有cd/dvd等介质721的cd/dvd rom/rw 720的光学介质、拇指驱动器722、可移除硬盘驱动器或固态驱动器723、诸如磁带和软盘的传统磁介质(未描绘)、基于专用rom/asic/pld的设备诸如安全加密狗(未描绘)等。
[0341]
本领域技术人员还应当理解,结合当前公开的主题所使用的术语“计算机可读介质”不包含传输介质、载波、或其他瞬时信号。
[0342]
计算机系统700还可以包括到一个或更多个通信网络的接口。网络可以例如为无线的、有线的、光学的。网络还可以为局域的、广域的、城域的、车载和工业的、实时的、延迟容忍的等。网络的示例包括:局域网诸如以太网、无线lan;包括gsm、3g、4g、5g、lte等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线网络或无线广域数字网络;包括can总线等的车载和工业网路等。某些网络通常需要附接至某些通用数据端口或外围总线(749)(诸如,例如计算机系统700的usb端口)的外部网络接口适配器;其他网络通常通过如下所述(例如,到pc计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)附接至系统总线而集成到计算机系统700的核中。使用这些网络中的任何网络,计算机系统700可以与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些can总线设备的can总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用特定的协议和协议栈。
[0343]
以上提及的人机接口设备、人类可访问存储设备和网络接口可以被附接至计算机系统700的核740。
[0344]
核740可以包括一个或更多个中央处理单元(cpu)741、图形处理单元(gpu)742、以现场可编程门阵列(field programmable gata area,fpga)形式的专用可编程处理单元743、用于某些任务的硬件加速器744等。这些设备以及只读存储器(rom)745、随机存取存储器746、诸如内部非用户可访问的硬盘驱动器、ssd等的内部大容量存储装置747可以通过系统总线748连接。在一些计算机系统中,可以以一个或更多个物理插头的形式接入系统总线748,以使得能够通过附加的cpu、gpu等进行扩展。外围设备可以直接附接至核的系统总线748,或者通过外围总线749附接至核的系统总线748。外围总线的架构包括pci、usb等。
[0345]
cpu 741、gpu 742、fpga743和加速器744可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在rom 745或ram 746中。过渡数据也可以存储在ram 746中,而永久数据可以存储在例如内部大容量存储装置747中。可以通过使用缓存存储器来使得能够对存储器设备中的任何存储器设备进行快速存储和检索,该缓存存储器可以与一个或更多个cpu 741、gpu 742、大容量存储装置747、rom 745、ram 746等紧密相关联。
[0346]
计算机可读介质可以具有在其上用于执行各种计算机实现的操作的计算机代码。这些介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知且可用的类型。
[0347]
作为示例而非限制性的方式,具有架构的计算机系统700,并且特别是核740,可以由于处理器(包括cpu、gpu、fpga、加速器等)执行包括在一个或更多个有形计算机可读介质中的软件来提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问大容量存储装置相关联的介质,以及具有非暂态性的核740的某些存储装置,诸如核内部大容量存储装置747或rom 745。可以将实现本公开内容的各种实施方式的软件存储在这样的设备中并且由核740执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核740并且特别是核740中的处理器(包括cpu、gpu、fpga等)执行本文描述的特定处理或特定处理的特定部分,包括定义存储在ram 746中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选方案,计算机系统可以由于逻辑硬连线或以其他方式体现在电路(例如:加速器744)中而提供功能,该电路可以代替软件或与软件一起操作以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包含逻辑,反之提及逻辑也可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(诸如,集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
[0348]
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变型、置换和各种替换等效方案。因此将认识到,本领域技术人员将能够设想虽然本文没有明确示出或描述但是实施了本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
再多了解一些

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

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

相关文献