HEVCSEI消息用于多层编解码器的一般使用的制作方法

文档序号:11815403阅读:249来源:国知局
HEVC SEI消息用于多层编解码器的一般使用的制作方法与工艺

技术领域

本发明涉及视频译码及压缩,以及用信号发送与位流中的经压缩视频相关联的数据。



背景技术:

数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,及此些标准的扩展。视频装置可通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码及/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,视频块也可被称作树块、译码单元(CU)及/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量及指示经译码块与预测块之间的差的残余数据编码的。根据帧内译码模式及残差数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描一开始按二维阵列排列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。



技术实现要素:

本发明的诸多方面是针对用于在多层上下文中应用在高效率视频译码(HEVC)标准中定义的补充增强层(SEI)消息的技术。举例来说,本发明的技术可包含例如使用对HEVC标准的扩展(例如对HEVC的多视图视频译码扩展(MV-HEVC)或对HEVC的可缩放视频译码(SVC)扩展(SHVC))对HEVC中阐述的待应用于多层视频译码中的多种SEI消息语法的改变及/或约束。在一些情况下,所述技术可改善此类多层编解码器的计算效率及/或容错性。

在一实例中,一种译码视频数据的方法包含:获得存取单元及视频数据的多层位流的第一层的一或多个视频译码层(VCL)网络抽象层(NAL)单元;以及仅译码与所述第一层的所述VCL NAL单元在一起的含有适用于所述第一层的所述VCL NAL单元的SEI消息的一或多个非VCL NAL单元,使得在所述存取单元内,所述位流在所述第一层的所述VCL NAL单元与含有适用于所述第一层的所述VCL NAL单元的所述SEI消息的所述非VCL NAL单元之间不含有所述多层位流的任何其它层的任何经译码图片。

在另一实例中,一种用于译码视频数据的装置包含:存储器,其经配置以存储视频数据的多层位流的至少一部分;以及一或多个处理器,其经配置以获得存取单元及视频数据的所述多层位流的第一层的一或多个视频译码层(VCL)网络抽象层(NAL)单元,且仅译码与所述第一层的所述VCL NAL单元在一起的含有适用于所述第一层的所述VCL NAL单元的SEI消息的一或多个非VCL NAL单元,使得在所述存取单元内,所述位流在所述第一层的所述VCL NAL单元与含有适用于所述第一层的所述VCL NAL单元的所述SEI消息的所述非VCL NAL单元之间不含有所述多层位流的任何其它层的任何经译码图片。

在另一实例中,一种用于译码视频数据的设备包含:用于获得存取单元及视频数据的多层位流的第一层的一或多个视频译码层(VCL)网络抽象层(NAL)单元的装置;以及用于仅译码与所述第一层的所述VCL NAL单元在一起的含有适用于所述第一层的所述VCL NAL单元的SEI消息的一或多个非VCL NAL单元,使得在所述存取单元内,所述位流在所述第一层的所述VCL NAL单元与含有适用于所述第一层的所述VCL NAL单元的所述SEI消息的所述非VCL NAL单元之间不含有所述多层位流的任何其它层的任何经译码图片的装置。

在另一实例中,一种非暂时性计算机可读媒体上存储有指令,所述指令在执行时致使一或多个处理器获得存取单元及视频数据的多层位流的第一层的一或多个视频译码层(VCL)网络抽象层(NAL)单元,且仅译码与所述第一层的所述VCL NAL单元在一起的含有适用于所述第一层的所述VCL NAL单元的SEI消息的一或多个非VCL NAL单元,使得在所述存取单元内,所述位流在所述第一层的所述VCL NAL单元与含有适用于所述第一层的所述VCL NAL单元的所述SEI消息的所述非VCL NAL单元之间不含有所述多层位流的任何其它层的任何经译码图片。

在另一实例中,一种译码视频数据的方法包含:译码多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有经解码图片哈希SEI消息;以及基于含有所述经解码图片哈希SEI消息的所述一或多个非VCL NAL单元的层识别符确定所述经解码图片哈希SEI消息所适用于的所述多层位流的一组层。

在另一实例中,一种用于译码视频数据的装置包含:存储器,其经配置以存储多层位流的至少一部分;以及一或多个处理器,其经配置以译码多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有经解码图片哈希SEI消息,且基于含有所述经解码图片哈希SEI消息的所述一或多个非VCL NAL单元的层识别符确定所述经解码图片哈希SEI消息所适用于的所述多层位流的一组层。

在另一实例中,一种译码视频数据的设备包含:用于译码多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元的装置,其中所述一或多个非VCL NAL单元含有经解码图片哈希SEI消息;以及用于基于含有所述经解码图片哈希SEI消息的所述一或多个非VCL NAL单元的层识别符确定所述经解码图片哈希SEI消息所适用于的所述多层位流的一组层的装置。

在另一实例中,一种非暂时性计算机可读媒体上存储有指令,所述指令在执行时致使一或多个处理器:译码多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有经解码图片哈希SEI消息;以及基于含有所述经解码图片哈希SEI消息的所述一或多个非VCL NAL单元的层识别符确定所述经解码图片哈希SEI消息所适用于的所述多层位流的一组层。

在另一实例中,一种译码视频数据的方法包含:译码视频数据的多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有具有SEI有效负载类型的SEI消息;以及基于所述SEI有效负载类型确定所述SEI消息所适用于的所述多层位流的一或多个语法值。

在另一实例中,一种用于译码视频数据的装置包含:存储器,其经配置以存储多层位流的一层;以及一或多个处理器,其经配置以译码视频数据的多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有具有SEI有效负载类型的SEI消息;以及基于所述SEI有效负载类型确定所述SEI消息所适用于的所述多层位流的一或多个语法值。

在另一实例中,一种用于译码视频数据的设备包含:用于译码视频数据的多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元的装置,其中所述一或多个非VCL NAL单元含有具有SEI有效负载类型的SEI消息;以及用于基于所述SEI有效负载类型确定所述SEI消息所适用于的所述多层位流的一或多个语法值的装置。

在另一实例中,一种非暂时性计算机可读媒体上存储有指令,所述指令在执行时致使一或多个处理器:译码视频数据的多层位流的一层的一或多个非视频译码层(VCL)网络抽象层(NAL)单元,其中所述一或多个非VCL NAL单元含有具有SEI有效负载类型的SEI消息;以及基于所述SEI有效负载类型确定所述SEI消息所适用于的所述多层位流的一或多个语法值。

在附图及下文描述中陈述本发明的一或多个实例的细节。其它特征、目标及优点将从所述描述、图式及权利要求书而显而易见。

附图说明

图1是说明可利用本发明中所描述的技术的实例视频编码及解码系统的框图。

图2是说明可实施本发明中描述的技术的实例视频编码器的框图。

图3是说明可实施本发明中描述的技术的实例视频解码器的框图。

图4是说明其中可实施本发明的一或多个方面的囊封单元的一个实例的框图。

图5是说明其中可实施本发明的一或多个方面的一个实例网络的框图。

图6是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的实例操作的流程图。

图7是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的另一实例操作的流程图。

图8是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的另一实例操作的流程图。

具体实施方式

本发明包含用于在多层上下文中应用在高效率视频译码(HEVC)标准中定义的补充增强层(SEI)消息的技术。在一些情况下,可利用如下文提到的对HEVC标准的多层扩展(例如对HEVC的多视图视频译码扩展(MV-HEVC)或对HEVC的可缩放视频译码(SVC)扩展(SHVC))来执行所述技术。然而,本发明的技术不限于任何特定的视频译码标准,且还可或替代地与HEVC的其它扩展、其它多视图译码标准及/或其它多层视频标准一起使用。另外,如下文所描述,本发明的技术可独立地或组合地应用。

视频数据的“层”可大体是指具有至少一个共同特性(例如视图、帧率、分辨率等等)的图片的序列。举例来说,层可包含与多视图视频数据的特定视图(例如,视角)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地参考视频数据的层及视图。即,视频数据的视图可称为视频数据的层,且反之亦然,且多个视图或多个可缩放层可以类似方式称为多个层(例如在多层译码系统中)。另外,多层编解码器(也称为多层视频译码器或多层编码器-解码器)可指多视图编解码器或可伸缩编解码器(例如,经配置以使用MV-HEVC、SHVC或另一多层译码技术来对视频数据进行编码及/或解码的编解码器)。

多层位流可包含基础层及一或多个非基础层(例如,在SHVC中)或多个视图(例如,在MV-HEVC中)。在可缩放位流中,基础层可通常具有等于0的层识别符。非基础层可具有大于零的层识别符,且可提供不包含于基础层中的额外视频数据。例如,多视图视频数据的非基础层可包含视频数据的额外视图。可缩放视频数据的非基础层可包含可缩放视频数据的额外层。非基础层可以可互换地称为增强层。

多层位流的存取单元(有时简称为AU)大体为包含共同时间个例的所有层分量(例如,所有网络抽象层(NAL)单元)的数据单元。存取单元的层分量通常既定一起输出(即,大体上同时输出),其中输出图片通常涉及自经解码图片缓冲器(DPB)传送图片(例如,将图片从DPB存储到外部存储器,将图片从DPB发送到显示器,等等)。

含有视频数据的经编码表示的位流可包含一系列网络抽象层(NAL)单元。NAL单元可为含有NAL单元中的数据类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元可包含视频译码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元可包含图片的经译码切片。非VCL NAL单元可囊封视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、一或多个辅助增强信息(SEI)消息,或其它类型的数据。

位流的各NAL单元可与所述位流的不同层相关联。在SHVC中,如上文所指出,不同于基础层的层可称为“增强层”,且可包含改善视频数据的回放质量的数据。在多视图译码及3维视频(3DV)译码(例如MV-HEVC)中,各层可包含与不同视图相关联的数据。位流的每一层与不同层识别符相关联。

此外,NAL单元可包含时间识别符。位流的每一操作点具有一组层识别符及一时间识别符。如果NAL单元指定所述组层识别符中的一层识别符用于操作点且NAL单元的时间识别符小于或等于操作点的时间识别符,则所述NAL单元与所述操作点相关联。

在H.264/AVC及HEVC两者中皆支持的SEI机制使得视频编码器能够在位流中包含视频解码器或其它装置正确解码输出图片的样本值所不需要,但可用于各种其它目的(例如图片输出定时、显示,以及丢失检测及隐藏)的元数据。囊封一或多个SEI消息的NAL单元在本文中称为SEI NAL单元。SEI消息的一种类型为可缩放嵌套SEI消息。可缩放嵌套SEI消息为含有一或多个额外SEI消息的SEI消息。可缩放嵌套SEI消息可用以指示SEI消息是否适用于多层位流的特定层或时间子层。不含于可缩放嵌套SEI消息中的SEI消息在本文中称为非嵌套SEI消息。

某些类型的SEI消息含有仅适用于特定操作点的信息。位流的操作点与一组层识别符及一时间识别符相关联。操作点表示可包含与操作点相关联的每一NAL单元。操作点表示可具有与原始位流不同的帧率及/或位率。这是因为操作点表示可能不包含原始位流的一些图片及/或一些数据。

缓冲周期SEI消息、图片时序SEI消息及解码单元SEI消息可能仅适用于特定操作点。因此,为了使用此类SEI消息中的信息,视频处理器可确定哪些操作点适用于SEI消息。其它类型的SEI消息仅适用于特定层。因此,为了使用此类SEI消息中的信息,视频处理器可确定哪些层适用于SEI消息。

HEVC SEI消息在多层译码上下文中的一般使用可存在若干挑战。举例来说,如下文更详细地描述,将HEVC中指定的SEI消息应用于多个层可增大复杂度、产生语法不一致,及/或产生引起多层视频编解码器故障的其它错误。

在一些实例中,本发明的技术可提供解决与HEVC SEI消息的一般使用相关的多种问题的解决方案。举例来说,所述技术可包含对某些语法元素应用约束,使得视频编码器或视频解码器基于多层位流的特性来自动地译码(或自动地确定,而不译码)某些语法元素的值。

图1是说明可利用本发明中描述的技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含源装置12,其产生稍后由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,可装备源器件12及目的地器件14以用于无线通信。

目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链接16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网。广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。

或者,可将经编码数据从输出接口22输出到存储装置32。类似地,可通过输入接口从存储装置32存取经编码数据。存储装置32可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置32可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可从存储装置32经由流式传输或下载来存取所存储的视频数据。文件服务器可为能够存储经编码视频数据并将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接式存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线通道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置32的传输可为流式传输、下载传输或两者的组合。

本发明的技术未必限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码数字视频以用于存储在数据存储媒体上、解码存储在数据存储媒体上的数字视频或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。

在图1的实例中,源装置12包括视频源18、视频编码器20、囊封单元21,及输出接口22。在一些状况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如摄像机)、包含先前俘获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类源的组合等源。作为一个实例,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线及/或有线应用。

可由视频编码器20来编码所俘获视频、经预先俘获的视频或计算机产生的视频。囊封单元21可形成多媒体内容的一或多个表示,其中所述表示中的每一者可包含一或多个层。在一些实例中,视频编码器20可以不同方式编码每一层,例如以不同帧率、不同位率、不同分辨率或其它此类差异。因此,囊封单元21可形成具有各种特性(例如,位率、帧率、分辨率,等等)的各种表示。

所述表示中的每一者可对应于可由目的地装置14检索的相应位流。囊封单元21可提供用于包含于每一表示中的视图的一定范围视图识别符(view_ids)的指示,例如,在用于多媒体内容的媒体呈现描述(MPD)数据结构内。举例来说,囊封单元21可提供用于一表示的视图的最大视图识别符及最小视图识别符的指示。MPD可进一步提供用于多媒体内容的多个表示中的每一者的以输出为目标的视图的最大数目的指示。在一些实例中,MPD或其数据可存储于用于表示的清单(manifest)中。

经编码视频数据可经由源装置12的输出接口22直接传输到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置32上以供稍后由目的地装置14或其它装置存取以用于解码及/或回放。

目的地装置14包含输入接口28、解囊封单元29、视频解码器30,及显示装置31。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链接16接收经编码视频数据。经由链路16传达或提供于存储装置32上的经编码视频数据可包含由视频编码器20产生以供视频解码器(例如视频解码器30)用于解码视频数据的多种语法元素。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。

目的地装置14的解囊封单元29可表示从位流(或位流的子集,在多层译码的上下文中称为操作点)解封装SEI消息的单元。解囊封单元29可以与囊封单元21执行操作的次序相反的次序执行操作以从经囊封经编码位流(例如SEI消息)解囊封数据。

显示器装置31可与目的地装置14整合在一起或在目的地装置14的外部。在一些实例中,目的地装置14可包含整合式显示器装置且还可经配置以与外部显示器装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置31将经解码视频数据显示给用户,并且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

视频编码器20及视频解码器30各自可实施为多种合适的编码器及解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且在硬件中使用一或多个处理器执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的一部分。

尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。

本发明可总体上参考视频编码器20向另一装置(例如,视频解码器30)“用信号发送”某些信息。术语“用信号发送”通常可指用于解码压缩视频数据的语法元素及/或其它数据的传达。此传达可实时或几乎实时发生。或者,此传达可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如ISO/IEC MPEG-4Visual及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展)操作。在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)操作。HEVC标准的草案描述于以下文档中:ITU-T H.265高效率视频译码(2014年4月),王(Wang)等人“高效率视频译码(HEVC)缺陷报告3(High Efficiency Video Coding(HEVC)defect report 3)”,ITU-T SG16WP3的视频译码联合合作小组(JCT-VC)及ISO/IEC JTC1/SC29/WG11,文档JCTVC-P1003_v1,第16次会议,圣何塞,2014年1月;王等人,“高效率视频译码(HEVC)缺陷报告3(High Efficiency Video Coding(HEVC)defect report 3)”,ITU-T SG16WP3的视频译码联合合作小组(JCT-VC)及ISO/IEC JTC1/SC29/WG11,文档JCTVC-P1003_v1,第16次会议,圣何塞,2014年1月,其提供HEVC版本1的第三份缺陷报告。

此外,正在致力于产生可缩放视频译码、多视图译码及HEVC的3DV扩展。HEVC的可缩放视频译码扩展可被称为SHEVC。SHVC的最近工作草案(WD)(在下文中称为SHVC WD5或当前SHVC WD)描述于陈(Chen)等人的“高效率视频译码(HEVC)可缩放扩展草案5(High Efficiency Video Coding(HEVC)scalable extension draft 5)”(ITU-T SG16WP3的视频译码联合合作小组(JCT-VC)及ISO/IEC JTC1/SC29/WG11,文档JCTVC-P1008_v4,第16次会议,圣何塞,2014年1月)中。MV-HEVC的最近工作草案(WD)(在下文中称为MV-HEVC WD7或当前MV-HEVC WD)描述于泰科(Tech)等人的“MV-HEVC草案文本7(MV-HEVC Draft Text 7)”(ITU-T SG16WP3的视频译码联合合作小组(JCT-VC)及ISO/IEC JTC1/SC29/WG11,文档JCTVC-G1004_v7,第16次会议,圣何塞,2014年1月)中。

在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,标示为SL、SCb和SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。

为了产生图片的经编码的表示,视频编码器20可产生一组译码树单元(CTU)。CTU中的每一者可包括亮度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目的CTU。

为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块可为样本的NxN块。CU可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块和色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块及用以对译码块的样本进行译码的语法结构。

视频编码器20可将CU的译码块分割为一或多个预测块。预测块是对其应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块及用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块及用以预测预测块的语法结构。视频编码器20可产生用于CU的每个PU的明度预测块、Cb预测块以及Cr预测块的预测性明度块、Cb块以及Cr块。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测块。如果视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可基于与PU相关联的图片的经解码的样本来产生PU的预测性块。如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可基于除与PU相关的图片以外的一或多个图片的经解码样本产生PU的预测性块。

在视频编码器20产生CU的一或多个PU的预测性亮度、Cb及Cr块之后,视频编码器20可产生CU的亮度残余块。CU的亮度残余块中的每一样本指示CU的预测性亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差异。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应的样本之间的差异。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将CU的明度、Cb及Cr残余块分解成一或多个明度、Cb及Cr变换块。变换块是应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括亮度样本的变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,CU的每个TU可与亮度变换块、Cb变换块及Cr变换块相关联。与TU相关联的明度变换块可为CU的亮度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块及用以对变换块的样本进行变换的语法结构。

视频编码器20可将一或多个变换应用到TU的亮度变换块以产生TU的亮度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片及相关联数据的表示的位元序列的位流。位流可包括一连串网络抽象层(NAL)单元。NAL单元是含有NAL单元中的数据类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有包封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位元。

不同类型的NAL单元可包封不同类型的RBSP。举例来说,第一类型的NAL单元可包封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可包封用于经译码切片的RBSP,第三类型的NAL单元可包封用于SEI的RBSP等等。封装视频译码数据的RBSP(与参数集及SEI讯息的RBSP相对)的NAL单元可被称为视频编码层(VCL)NAL单元。

视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以获得来自位流的语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。重构视频数据的过程通常可与由视频编码器20执行的过程互逆。此外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行反变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。

在多视图译码中,可存在来自不同视角的同一场景的多个视图。如上文所指出,存取单元包含对应于相同时间个例的一组图片。因此,视频数据可经概念化为随时间出现的一系列存取单元。“视图分量”可为单个存取单元中的视图的经译码表示。在本发明中,“视图”可指与相同视图识别符相关联的一连串视图分量。视图分量的实例类型包含纹理视图分量及深度视图分量。

多视图译码支持视图间预测。视图间预测类似于用于HEVC中的帧间预测且可使用相同的语法元素。然而,当视频译码器对当前视频单元(例如PU)执行视图间预测时,视频编码器20可使用与当前视频单元在同一存取单元中但在不同视图中的图片作为参考图片。相比之下,常规的帧间预测仅使用不同存取单元中的图片作为参考图片。

在多视图译码中,如果视频解码器(例如,视频解码器30)可对视图中的图片进行解码而无需参考任何其它视图中的图片,那么所述视图可被称为“基础视图”。当对非基础视图中的一者中的图片进行译码时,视频译码器(例如,视频编码器20或视频解码器30)可在图片与视频译码器当前正译码的图片处于不同视图中但在同一时间实例(即,存取单元)内的情况下将所述图片添加到参考图片列表中。如同其它帧间预测参考图片,视频编解码器可在参考图片列表的任何位置处插入视图间预测参考图片。

在H.264/AVC及HEVC两者中皆支持的SEI机制使得视频编码器(例如,视频编码器20)能够在位流中包含正确解码输出图片的样本值所不需要,但可用于各种其它目的(例如图片输出定时、显示,以及丢失检测及隐藏)的元数据。视频编码器20可使用SEI消息来在位流中包含正确解码图片的样本值所不需要的元数据。然而,视频解码器30或其它装置可使用包含于SEI消息中的元数据用于各种其它目的。举例来说,视频解码器30或另一装置可使用SEI消息中的元数据用于图片输出定时、图片显示、丢失检测及错误隐藏。

视频编码器20可在存取单元中包含一或多个SEI NAL单元。换句话说,任何数目个SEI NAL单元可与一存取单元相关联。此外,每一SEI NAL单元可含有一或多个SEI消息。即,视频编码器可在一存取单元中包含任何数目个SEI NAL单元,且每一SEI NAL单元可含有一或多个SEI消息。SEI NAL单元可包含NAL单元标头及有效负载。SEI NAL单元的NAL单元标头至少包含第一语法元素及第二语法元素。第一语法元素指定SEI NAL单元的层识别符。第二语法元素指定SEI NAL单元的时间识别符。

嵌套SEI消息是指含于可缩放嵌套SEI消息中的SEI消息。非嵌套SEI消息是指不含于可缩放嵌套SEI消息中的SEI消息。SEI NAL单元的有效负载可包括嵌套SEI消息或非嵌套SEI消息。

HEVC标准描述用于各种类型SEI消息的语法及语义。然而,HEVC标准不描述SEI消息的处置的因为SEI消息并不影响正常的解码过程。在HEVC标准中具有SEI消息的一个原因是使得补充数据能够在使用HEVC的不同系统中相同地解译。使用HEVC的规范及系统可能需要视频编码器产生某些SEI消息或可界定特定类型的所接收SEI消息的特定处置。

下文表1列出在HEVC中指定的SEI消息且简要描述其目的:

表1-SEI消息的概述

在多层上下文中使用HEVC SEI消息的一个潜在问题是准许含有适用于层识别符(例如,如由位流的nuh_layer_id语法元素识别)等于第一层(layerIdA,出于实例目的)的层的SEI消息的SEI NAL单元在含有所述层的图片的存取单元(AU)内跟在层识别符(nuh_layer_id)大于第一层(layerIdA)的图片的VCL NAL单元之后。举例来说,SEI消息可能在位流中与使用所述SEI消息的图片分离。

在出于说明目的的实例中,存取单元可包含多层位流的第一层的第一图片及多层位流的第二层的第二图片。在一些情况下,适用于第一层的第一图片的SEI消息可能同与第二层相关联的NAL单元包含在一起。如果准许SEI NAL单元与视频数据的其它层包含在一起,那么视频编码器20及/或视频解码器30可能必须从其它层提取SEI NAL单元且在译码所述存取单元之前存储所述消息。

根据本发明的第一方面,不允许含有适用于层识别符(nuh_layer_id)等于第一层(layerIdA)的层的SEI消息的SEI NAL单元在所述存取单元内跟在层识别符(nuh_layer_id)大于第一层(layerIdA)的图片的任何VCL NAL单元以及其相关联非VCL NAL单元之后。举例来说,根据本发明的方面,SEI NAL单元的放置可受约束,使得SEI NAL单元与多层位流中的SEI NAL单元所适用的层(或多层)在一起。

在以上实例中,视频编码器20及/或视频解码器30可仅译码与第一层的VCL NAL单元在一起的含有适用于第一层的VCL NAL单元的SEI消息的一或多个非VCL NAL单元(例如,连续地译码SEI NAL单元及VCL NAL单元),使得所述位流在第一层的VCL NAL单元与含有适用于第一层的VCL NAL单元的SEI消息的非VCL NAL单元之间不含有多层位流的任何其它层的任何经译码图片。在一些情况下,使SEI NAL单元在多层位流中与SEI NAL单元所适用于的层中的图片在一起可有益于例如在一起存储及发射相关联NAL单元时最小化存储或发射开销。举例来说,通过将非VCL与非VCL NAL单元所适用于的VCL NAL单元在位流中保持在一起,视频编码器20及/或视频解码器30可能不必在译码VCL NAL单元之前从存储器定位且提取非VCL NAL单元。

在多层上下文中使用HEVC SEI消息的第二潜在问题为经解码图片哈希SEI消息所适用于的多层位流的一组层未在HEVC标准中清楚地指定。经解码图片哈希SEI消息提供从经解码图片的样本值导出的检查和。经解码图片哈希消息可用于检测图片是否被正确地接收及解码。

根据本发明的第二方面,经解码图片哈希SEI消息的所述组适用层可指定为层识别符(nuh_layer_id)等于含有SEI消息的SEI NAL单元的层识别符(nuh_layer_id)的层,且不准许经解码图片哈希SEI消息嵌套。举例来说,根据本发明的方面,视频编码器20及/或视频解码器30可仅译码SEI NAL单元中作为非嵌套SEI消息的一个经解码图片哈希SEI消息,且经解码图片哈希SEI消息仅适用于具有含有SEI消息的SEI NAL单元的相同层识别符(nuh_layer_id)的层。

在以上实例中,视频编码器20及/或视频解码器30可译码含有经解码图片哈希SEI消息的一或多个非VCL NAL单元(例如,SEI NAL单元),且基于含有所述经解码图片哈希SEI消息的一或多个非VCL NAL单元的层识别符来确定经解码图片哈希SEI消息所适用于的多层位流的一组层。视频编码器20及/或视频解码器30可译码指示SEI NAL单元的层识别符的一或多个语法元素(例如nuh_layer_id语法元素),使得确定所述组层是基于所述语法元素。在一些情况下,所述技术可在多层译码中增大容错性及/或减小与经解码图片哈希SEI消息相关联的存储开销。

在多层上下文中使用HEVC SEI消息的第三潜在问题是作用中参数集SEI消息的所述组适用层未在HEVC标准中清楚地指定。作用中参数集SEI消息指示VPS对于与SEI消息相关联的存取单元的VCL NAL单元在作用中。SEI消息还可提供关于哪一SPS对于与SEI消息相关联的存取单元的VCL NAL单元在作用中的信息,及与参数集相关的其它信息。举例来说,SEI消息可包含是否支持全随机可存取性(例如,在支持时,在通过完全舍弃在解码次序上较早的所有存取单元而从当前经译码视频序列的起点随机存取时,解码位流的其余图片所需的所有参数集存在于其余位流中,且可正确地解码其余位流中的所有经译码图片),或在当前经译码视频序列内是否不存在更新在解码次序上在先的另一相同类型参数集的参数集(例如,更新参数集是指使用相同参数集识别符,但一些其它参数改变)的指示。

根据本发明的第三方面,作用中参数集SEI消息经定义以适用于位流中的所有层。此外,作用中参数集SEI消息受约束为不嵌套。在此实例中,视频编码器20及/或视频解码器30可译码多层位流的含有作用中参数集SEI消息的一或多个非VCL NAL单元,且基于含有作用中参数集SEI消息的一或多个非VCL NAL单元而确定作用中参数集SEI消息适用于多层位流的所有层。举例来说,视频编码器20及/或视频解码器30可借助于译码作用中参数集SEI消息而自动地得出作用中参数集SEI消息适用于多层位流的所有层。在一些情况下,所述技术可在多层译码中减小与作用中参数集SEI消息相关联的复杂度。

在多层上下文中使用HEVC SEI消息的第四潜在问题为在frame_field_info_present_flag语法元素对于嵌套或非嵌套的图片定时信息SEI消息等于1时,所述组适用层未针对在语法元素pic_struct、source_scan_type及duplicate_flag中携载的帧-场信息清楚地指定。举例来说,等于1的frame_field_info_present_flag语法元素指定图片定时SEI消息对于每一图片存在且包含pic_struct、source_scan_type及duplicate_flag语法元素。一般来说,pic_struct语法元素指示图片应显示为帧还是一或多个场,source_scan_type语法元素指示扫描类型(例如,渐进式、交错式或未知),duplicate_flag语法元素指示当前图片被指示为按输出次序的先前图片的重复。

根据本发明的第四方面,在frame_field_info_present_flag语法元素对于嵌套或非嵌套的图片定时信息SEI消息等于1时,视频编码器20及/或视频解码器30可自动地确定语法元素pic_struct、source_scan_type及duplicate_flag中携载的帧-场信息适用于在图片定时SEI消息所适用于的所有操作点中的层。以此方式,在一些情况下,在多层译码中使用frame_field_info_present_flag语法元素时,所述技术可减小复杂度及/或改善容错性。

在多层上下文中使用HEVC SEI消息的第五潜在问题为准许作用中参数集SEI消息在HEVC中嵌套。然而,如上文所指出,作用中参数集SEI消息适用于所有层。因此,对待应用于多层位流的特定层(例如,使用嵌套SEI消息)的作用中参数集SEI消息提供灵活性可能不必要地增大视频编码器20及/或视频解码器30的复杂度。举例来说,在接收到且解码可缩放嵌套SEI消息之后,视频解码器30可能必须即刻执行额外操作(例如,相对于非嵌套SEI消息)以确定可缩放嵌套SEI消息的适用层。

根据本发明的第五方面,不允许作用中参数集SEI消息在可缩放嵌套SEI消息中嵌套。举例来说,视频编码器20及/或视频解码器30可受约束为译码仅在非嵌套SEI消息而不在可缩放嵌套SEI消息中的多层位流的作用中参数集SEI消息。所述技术可减小与译码及使用作用中参数集SEI消息相关联的计算复杂度。举例来说,返回到以上实例,视频解码器30可译码及使用作用中参数集SEI消息而不执行与可缩放嵌套SEI消息相关联的额外操作。

在多层上下文中使用HEVC SEI消息的第六潜在问题为bitstream_subset_flag语法元素等于1且有效负载类型(payloadType)等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的嵌套SEI消息(例如,payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)的语义不明显。在HEVC中,bitstream_subset_flag指示含于可缩放嵌套SEI消息中的SEI消息适用于多层位流的特定层或子层。举例来说,等于0的bitstream_subset_flag指定含于可缩放嵌套SEI消息中的SEI消息适用于特定层或子层。等于1的bitstream_subset_flag指定含于可缩放嵌套SEI消息中的SEI消息适用于由子位流提取过程产生的一或多个子位流。因此,HEVC并不清楚地指定在从多层位流提取特定层集合(例如,子位流)时处置特定SEI消息(具有以上识别的有效负载类型)的方式,这可能在多层译码期间造成错误及/或低效率。

在payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、132或134时,SEI消息为以下各者中的一者:全屏幕扫描矩形SEI消息,其包含与按照不同于输出图片的图片纵横比的图片纵横比进行显示相关联的数据;填充符有效负载SEI消息,其包含用于调整位率以满足特定约束的数据;恢复点SEI消息,其包含用于清洁随机存取或逐渐解码刷新的信息;场景信息SEI消息,其包含与场景改变及转变相关联的信息;图片快照SEI消息,且包含将相关联经解码图片标记为视频内容的静态图像快照的指示;渐进式改进区段开始SEI消息,其包含与表示图片质量的渐进式改进而非移动场景的一段连续图片的开始相关联的信息;渐进式改进区段结束SEI消息,其包含与所述段连续图片的结束相关联的信息;胶片颗粒特性SEI消息,其包含与合成胶片颗粒效果相关联的信息;后滤波提示SEI消息,其包含与所提议后滤波器系数相关联的信息或用于后滤波器设计的相关信息;色调映射信息SEI消息,其包含与重新映射到除编码中使用或采用的颜色空间外的另一颜色空间相关联的信息;帧封装布置SEI消息,其包含与将立体视频填充到位流中相关联的信息;显示器定向SEI消息,其包含指定在显示输出图片时待应用于输出图片的翻转及/或旋转的信息;图片结构信息SEI消息,其包含描述位流的时间及帧间预测结构的信息;时间子层零索引SEI消息,其指示时间子层零索引;经解码图片具有SEI消息或区刷新信息SEI消息,其分别指示与当前SEI消息相关联的切片段是否属于当前图片中的刷新区。

在payloadType等于0、1、4、5、130及133时,SEI消息分别为以下各者中的一者:缓冲周期SEI消息、图片定时SEI消息、用户登记SEI消息、用户未登记SEI消息、解码单元信息SEI消息,或可缩放嵌套SEI消息。

根据本发明的第六方面,在可缩放嵌套SEI消息含有payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的SEI消息(例如,payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)时,可缩放嵌套SEI消息的语法元素bitstream_subset_flag的值需要等于0。举例来说,根据本发明的方面,视频编码器20及/或视频解码器30可基于包含于一组预定SEI消息中的SEI消息的有效负载类型而自动地确定及/或译码语法元素bitstream_subset_flag。所述组预定SEI消息可为适用于单个层的SEI消息。以此方式,视频编码器20及/或视频解码器30受约束而不将包含于以上识别组中的SEI消息应用于多层位流中的一个以上层,由此潜在地在多层译码期间减少错误及/或低效率。

在多层上下文中使用HEVC SEI消息的第七潜在问题为不清楚层识别符值(nuh_layer_id)对于含有非嵌套缓冲周期、图片定时或解码单元信息SEI消息的SEI NAL单元应为何值。缓冲周期SEI消息提供用于在解码次序上处于相关联存取单元的位置的HRD的初始化的初始经译码图片缓冲器(CPB)移除延迟及初始CPB移除延迟偏移信息。图片定时SEI消息提供用于HRD操作的图片输出时间及图片/子图片移除时间,以及图片结构相关信息。解码单元信息SEI消息提供用于解码单元的CPB移除延迟信息。所述消息可用于极低延迟缓冲操作中。因此,以上指出的SEI消息提供HRD所需的信息,且所述SEI消息适用于层集合(例如,也称为子位流的一组自含式层)。如果此类SEI消息不嵌套且层识别符不为零,那么不清楚所述消息适用于哪些层集合,这可能在多层译码期间造成错误。

根据本发明的第七方面,用于含有非嵌套缓冲周期、图片定时或解码单元信息SEI消息的SEI NAL单元的层识别符(nuh_layer_id)的值需要等于0。举例来说,根据本发明的方面,视频编码器20及/或视频解码器30可基于含有含非嵌套缓冲周期SEI消息、图片定时SEI消息或解码单元信息SEI消息的SEI消息的一或多个非VCL NAL单元而自动地确定层的层识别符为0值(及/或译码层识别符语法元素的0值)。以此方式,所述技术可在多层译码期间潜在地减少错误及/或低效率。

在多层上下文中使用HEVC SEI消息的第八潜在问题为不清楚层识别符语法元素(nuh_layer_id)对于payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的非嵌套SEI消息(即,payloadType不等于0、1、129、130及133中的任一者的SEI消息中的一者)应为何值。举例来说,HEVC未清楚地指定对于多层位流的特定层(具有特定层识别符)处置特定SEI消息(具有以上识别的有效负载类型)的方式,这可能在多层译码期间造成错误及/或低效率。

根据本发明的第八方面,在非嵌套SEI消息具有的payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134(即,payloadType不等于0、1、129、130及133中的任一者的SEI消息中的一者)时,用于含有非嵌套SEI消息的SEI NAL单元的层识别符(nuh_layer_id)的值需要等于与SEI NAL单元相关联的VCL NAL单元的层识别符(nuh_layer_id)。即,举例来说,视频编码器20及/或视频解码器30可基于包含于第一组有效负载类型(例如,以上识别的有效负载类型)中的SEI有效负载类型自动地确定用于含有所述SEI消息的非VCL NAL单元的层识别符语法元素等于与所述SEI消息相关联的VCL NAL单元的层识别符语法元素。

在多层上下文中使用HEVC SEI消息的第九潜在问题为在存取单元的两个VCL NAL单元之间存在相同类型的前缀SEI消息的情况下,前缀SEI消息需要在HEVC中存在且先于存取单元的第一VCL NAL单元。举例来说,前缀SEI消息通常包含于SEI消息所适用于的VCL NAL单元之前的位流中。在HEVC中,对前缀SEI消息的放置的限制是基于存取单元,这可能存在存取单元具有多个层分量(例如,存取单元具有来自多个层的图片)的问题。即,一些前缀SEI消息可能在具有多个层分量的存取单元中不位于适当位置(例如,在SEI消息所适用于的VCL NAL单元之前)。

根据本发明的第九方面,视频编码器20及/或视频解码器30可基于前缀SEI消息所适用于的图片控制译码前缀SEI消息的方式(例如,与以上指出的基于存取单元的技术相比)。举例来说,根据本发明的方面,在存在相同类型的前缀SEI消息且其适用于在图片的两个VCL NAL单元之间存在的层(例如,层A)的情况下,适用于含有所述图片的层(例如,层A)的前缀SEI消息需要存在且先于图片的第一VCL NAL单元。

举例来说,对于至少包含第一图片及第二图片的存取单元,视频编码器20及/或视频解码器30可受约束以译码含有适用于第一图片的VCL NAL单元的第一前缀SEI消息的一或多个非VCL NAL单元以及含有适用于在位流中在第一图片之后的第二图片的VCL NAL单元的第二前缀SEI消息的一或多个非VCL NAL单元。以此方式,视频编码器20及/或视频解码器30受约束而不译码在存取单元的其它位置中的前缀SEI消息,这可增大效率且减小多层译码的存储开销。

在多层上下文中使用HEVC SEI消息的第十潜在问题为在HEVC中,在存取单元的两个VCL NAL单元之间存在相同类型的后缀SEI消息时,后缀SEI消息需要存在且在存取单元的最末VCL NAL单元之后(跟随)。举例来说,后缀SEI消息通常包含于SEI消息所适用于的VCL NAL单元之后的位流中。在HEVC中,对后缀SEI消息的放置的限制是基于存取单元,这可能存在存取单元具有多个层分量(例如,具有多层位流的存取单元)的问题。即,一些后缀SEI消息在具有多个层分量的存取单元中可能不位于适当位置(例如,在SEI消息所适用于的VCL NAL单元之后)。

根据本发明的第十方面,视频编码器20及/或视频解码器30可基于后缀SEI消息所适用于的图片来控制译码后缀SEI消息的方式(例如,与以上指出的基于存取单元的技术相比)。举例来说,根据本发明的方面,在存在相同类型的后缀SEI消息且其适用于在图片的两个VCL NAL单元之间存在的层(例如,层A)时,适用于含有所述图片的层(例如,层A)的后缀SEI消息需要存在且在图片的最末VCL NAL单元之后(跟随)。

举例来说,对于至少包含第一图片及第二图片的存取单元,视频编码器20及/或视频解码器30可受约束以译码含有适用于第一图片的VCL NAL单元的第一后缀SEI消息的一或多个非VCL NAL单元以及含有适用于在位流中在第一图片之后的第二图片的VCL NAL单元的第二前缀SEI消息的一或多个非VCL NAL单元。以此方式,视频编码器20及/或视频解码器30受约束而不译码在存取单元的其它位置中的后缀SEI消息,这可增大效率且减小多层译码的存储开销。

在多层上下文中使用HEVC SEI消息的第十一潜在问题为在HEVC中,每存取单元指定准许SEI消息重复的次数。举例来说,在一些情况下,在译码图片时,可重复SEI消息。在出于说明目的的实例中,对于具有八个切片(每一切片与其自身的VCL NAL单元相关联)的图片,视频编码器20及/或视频解码器30可针对每一VCL NAL单元重复特定SEI消息。然而,对于SEI消息可重复的次数的基于存取单元的限制在多层视频译码中可能存在问题,因为具有多个层分量的存取单元可能潜在地比具有单层分量(例如,单个图片)的存取单元具有多得多的切片。在此实例中,错误性能(及/或受SEI消息影响的其它功能)可能会受到不利影响。

根据本发明的第十一方面,视频编码器20及/或视频解码器30可每图片地指定SEI消息可重复的次数。在此上下文中,图片可定义为含有经译码图片的VCL NAL单元及与所述VCL NAL单元相关联的非VCL NAL单元。因此,根据本发明的方面,视频编码器20及/或视频解码器30可基于含有图片的VCL NAL单元及图片的相关联非VCL NAL单元的图片单元而确定SEI消息的最大重复参数(例如,SEI消息可重复的最大次数)。在一些情况下,所述技术可增大多层译码中的容错性。

在多层上下文中使用HEVC SEI消息的第十二潜在问题为在default_op_flag语法元素等于1,bitstream_subset_flag语法元素等于1,但不存在由用于包含且仅包含层识别符值(nuh_layer_id)处于0到当前SEI NAL单元的nuh_layer_id(包含0及nuh_layer_id)范围内的层的位流的VPS指定的层集合的情况下,可能会产生冲突。举例来说,等于1的default_op_flag语法元素指定maxTemporalId[0]等于当前SEI NAL单元的nuh_temporal_id_plus1减1,且nestingLayerIdList[0]含有处于0到当前SEI NAL单元的nuh_layer_id(包含0及nuh_layer_id)范围(以所述值的递增次序)内的所有整数值。如上文所指出,bitstream_subset_flag语法元素等于1指定含于可缩放嵌套SEI消息中的SEI消息适用于由子位流提取过程产生的一或多个子位流。换句话说,在指示多层位流的默认层集合,但VPS不指定对应于所述默认层集合的特定层集合的情况下,可能会产生冲突。

根据本发明的第十二方面,在bitstream_subset_flag语法元素等于1且由VPS指定的层集合皆不包含且仅包含nuh_layer_id值处于0到当前SEI NAL单元的nuh_layer_id(包含0及nuh_layer_id)范围内的层时,default_op_flag语法元素的值需要等于0。举例来说,视频编码器20及/或视频解码器30可译码多层位流的bitstream_subset_flag语法元素,且基于bitstream_subset_flag等于1且由多层位流的VPS指定的层集合皆不包含处于零到含有SEI消息的非VCL NAL单元的层识别符(包含零及所述识别符)范围内的层识别符,确定多层位流的default_op_flag语法元素的值为0值。在使用default_op_flag语法元素用于多层译码时,所述技术可改善容错性。

在多层上下文中使用HEVC SEI消息的第十三潜在问题为,在nesting_op_flag语法元素等于0且all_layers_flag语法元素等于1时,可变maxTemporalId[0]的值未在HEVC中指定。等于0的nesting_op_flag语法元素指定列表nestingLayerIdList[0]由all_layers_flag语法元素指定,且当存在时,对于处于0到nesting_num_layers_minus1(包含0及nesting_num_layers_minus1)的范围内的所有i值为nesting_layer_id[i],且可变maxTemporalId[0]由nesting_no_op_max_temporal_id_plus1指定。换句话说,在嵌套SEI消息与多层位流的时间子层一起使用时,HEVC不指定适用的子层(例如,如使用maxTemporalId[0]变量识别),这可能会造成不必要的复杂化。

根据本发明的第十三方面,在nesting_op_flag语法元素等于0且all_layers_flag语法元素等于1时,视频编码器20及视频解码器30可自动地译码maxTemporalId[0]语法元素以具有值六,其为TemporalId语法元素的最大可能值。即,根据本发明的方面,视频编码器20及/或视频解码器30可经配置以将SEI消息应用于包含于视频数据层中的所有子层,而不管所包含的子层的数目。以此方式,所述技术可减小与多层译码相关联的复杂度。

在多层上下文中使用HEVC SEI消息的第十四潜在问题为,在嵌套SEI消息具有的payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134(例如,payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)且SEI消息适用于一组层时,所述组层可与小于位流中TemporalId的最大值的maxTemporalId[i]的值相关联。然而,这些SEI消息的语义在描述时不考虑子层,且因此在以上情境发生时与可缩放嵌套SEI消息的语义不一致。此不一致可能会不必要地增大多层译码的复杂度。

根据本发明的第十四方面,在嵌套SEI消息具有的payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134(例如,payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)时,含有可缩放嵌套SEI消息的SEI NAL单元需要具有等于0的TemporalId语法元素及对于所有i皆等于6(其为TemporalId语法元素的最大可能值)的maxTemporalId[i]语法元素。举例来说,视频编码器20及/或视频解码器30可经配置以基于具有一组预定有效负载类型(例如,以上识别的类型)中的有效负载类型的SEI消息而自动地确定TemporalId语法元素的值等于0且maxTemporalId[i]语法元素对于所有i等于6。以此方式,所述技术可减小与多层译码相关联的复杂度。

在多层上下文中使用HEVC SEI消息的第十五潜在问题为,在bitstream_subset_flag语法元素等于1且nesting_op_flag语法元素等于0时,HEVC标准准许nestingLayeridList[0]语法元素对应于并非由用于多层位流的VPS指定的层集合。

根据本发明的第十五方面,在bitstream_subset_flag语法元素等于1且nesting_op_flag语法元素等于0时,视频编码器20及/或视频解码器30可经配置以译码nestingLayeridList[0]语法元素以包含且仅包含由VPS指定的层集合中的一者的nuh_layer_id值。举例来说,视频编码器20及/或视频解码器30可经配置以译码多层位流的bitstream_subset_flag语法元素及多层位流的nesting_op_flag语法元素,且基于bitstream_subset_flag语法元素具有值1且nesting_op_flag语法元素具有值0,确定多层位流的nestingLayeridList[0]仅包含在多层位流的VPS中指定的层集合的层识别符值。以此方式,所述技术可减小与多层译码相关联的复杂度。

上文所描述的技术可独立地应用或组合应用。在下文阐述根据本发明的详细实例。下文中,相对于以上指出的用于上文所描述的技术中的一些的SHVC标准的文本改变使用下划线指示以识别所插入材料,且使用双方括号([[移除:]])来指示删除的材料:

如下在条款3中改变以下定义:

3.X存取单元:一组NAL单元,其根据指定的分类规则彼此相关联,在解码次序上连续,且含有与相同输出时间相关联的所有经译码图片的VCL NAL单元及其相关联非VCL NAL单元。

注释-相同存取单元中的图片与相同图片次序计数相关联。

向条款3添加以下定义:

3.X基础位流分区:自身也是相符位流的位流分区。

3.X位流分区:位序列,呈NAL单元流或字节流形式,其为根据分割的位流子集

3.X输出层:输出层集合的层,其是在TargetOptLayerSetIdx等于输出层集合的索引时输出。

3.X输出层集合:由指定层集合中的一者的层组成的一组层,其中所述组层中的一或多个层指示为输出层。

3.X输出操作点:通过以另一位流、目标最高TemporalId及目标层识别符列表作为输入的子位流提取过程操作而从另一位流产生的位流,且其与一组目标输出层相关联。

3.X图片单元:一组NAL单元,其根据指定的分类规则彼此相关联,在解码次序上连续,且含有经译码图片的VCL NAL单元及其相关联非VCL NAL单元。

3.X目标输出层:待输出的层,其为具有索引olsIdx的输出层集合中的输出层中的一者,使得TargetOptLayerSetIdx等于olsIdx。

3.X目标输出层集合:与变量TargetOptLayerSetIdx相关联的输出层集合,其指定在使用中的输出操作点的层识别符列表及一组目标输出层。

[[移除:3.X操作点:通过以另一位流、目标最高TemporalId及目标层识别符列表作为输入的子位流提取过程操作而从另一位流产生的位流,且其与一组目标输出层相关联。注释14-如果操作点的目标最高TemporalId等于与目标层识别列表相关联的层集合中的TemporalId的最大值,那么操作点与层集合相同。否则,其为层集合的子集。]]

C.1总论

此附录指定假想参考解码器(HRD)及其检查位流及解码器一致性的用途。

...

可能需要多个测试来检查称为受测试位流的位流的一致性。对于每一测试,以所列次序应用以下步骤:

1.通过选择由TargetOutputLayerSetIdx识别的目标输出层集合及选择目标最高TemporalId值HighestTid而选择表示为TargetOp的受测试输出操作点。TargetOutputLayerSetIdx的值将在0到NumOutputLayerSets-1(包含0及NumOutputLayerSets-1)的范围内。HighestTid的值应处于0到vps_max_sub_layers_minus1(包含0及vps_max_sub_layers_minus1)的范围内。接着如由方程式8-1所指定而导出变量TargetDecLayerSetIdx、TargetOptLayerIdList及TargetDecLayerIdList。受测试输出操作点具有等于TargetOptLayerIdList的OptLayerIdList、等于TargetDecLayerIdList的OpLayerIdList及等于HighestTid的OpTid。

...

对于每一受测试输出操作点,在测试位流特定CPB操作时,待执行的位流一致性测试的数目等于n0*n1*(n2*2+n3)*n4,其中n0、n1、n2、n3及n4的值如下指定:

...

子条款D.3.1修改如下:

以下为位流一致性要求:在payloadType等于17(渐进式改进区段开始结束)或22(后滤波器提示)的前缀SEI消息存在于存取单元中时,具有相同payloadType值的后缀SEI消息不应存在于相同存取单元中。

[[移除:假设SEI NAL单元或SEI消息的prevVclNalUnitInAu为在相同存取单元中在解码次序上在先的VCL NAL单元(如果存在),且假设SEI NAL单元或SEI消息的nextVclNalUnitInAu为在相同存取单元中在解码次序上的下一VCL NAL单元(如果存在)。]]

以下为位流一致性的要求:关于在SEI NAL单元中含有SEI消息,适用以下限制:

-含有作用中参数集SEI消息的SEI NAL单元将含有仅一个作用中参数集SEI消息且将不含有任何其它SEI消息。

[[移除:当含有作用中参数集SEI消息的SEI NAL单元存在于存取单元中时,其将为跟随所述SEI NAL单元的prevVclNalUnitInAu且在所述SEI NAL单元的nextVclNalUnitInAu前面的第一SEI NAL单元。]]

-当SEI NAL单元含有非嵌套缓冲周期SEI消息、非嵌套图片定时SEI消息或非嵌套解码单元信息SEI消息时,所述SEI NAL单元将不含有具有不等于0(缓冲周期)、1(图片定时)或130(解码单元信息)的payloadType的任何其它SEI消息。

-当SEI NAL单元含有嵌套缓冲周期SEI消息、嵌套图片定时SEI消息或嵌套解码单元信息SEI消息时,所述SEI NAL单元将不含有具有不等于0(缓冲周期)、1(图片定时)、130(解码单元信息)或133(可缩放嵌套)的payloadType的任何其它SEI消息。

假设SEI NAL单元或SEI消息的prevVclNalUnitInAu为在相同存取单元中在解码次序上在先的VCL NAL单元(如果存在),且假设SEI NAL单元或SEI消息的nextVclNalUnitInAu为在相同存取单元中在解码次序上的下一VCL NAL单元(如果存在)。这是以下限制适用的位流一致性的要求:

这是以下限制在SEI消息的次序上适用的位流一致性的要求:

-当含有作用中参数集SEI消息的SEI NAL单元存在于存取单元中时,其将为跟随所述SEI NAL单元的prevVclNalUnitInAu且在所述SEI NAL单元的nextVclNalUnitInAu前面的第一SEI NAL单元。

-当非嵌套缓冲周期SEI消息存在于存取单元中时,其将不跟随跟随所述缓冲周期SEI消息的prevVclNalUnitInAu且在所述缓冲周期SEI消息的nextVclNalUnitInAu前面的任何其它SEI消息,作用中参数集SEI消息除外。

-当非嵌套图片定时SEI消息存在于存取单元中时,其将不跟随跟随所述图片定时SEI消息的prevVclNalUnitInAu且在所述图片定时SEI消息的nextVclNalUnitInAu前面的任何其它SEI消息,作用中参数集SEI消息或非嵌套缓冲周期SEI消息除外。

-当非嵌套解码单元信息SEI消息存在于存取单元中时,其将不跟随同一存取单元中跟随所述解码单元信息SEI消息的prevVclNalUnitInAu且在所述解码单元信息SEI消息的nextVclNalUnitInAu前面的任何其它SEI消息,作用中参数集SEI消息、非嵌套缓冲周期SEI消息或非嵌套图片定时SEI消息除外。

-当嵌套缓冲周期SEI消息、嵌套图片定时SEI消息或嵌套解码单元信息SEI消息包含于存取单元中的可缩放嵌套SEI消息中时,所述可缩放嵌套SEI消息将不跟随跟随所述可缩放嵌套SEI消息的prevVclNalUnitInAu且在所述可缩放嵌套SEI消息的nextVclNalUnitInAu前面的任何其它SEI消息,作用中参数集SEI消息、非嵌套缓冲周期SEI消息、非嵌套图片定时SEI消息、非嵌套解码单元信息SEI消息或者含有缓冲周期SEI消息、图片定时SEI消息或解码单元信息SEI消息的另一可缩放嵌套SEI消息除外。

-当对于存取单元内的嵌套或非嵌套SEI消息来说payloadType等于0(缓冲周期)、1(图片定时)或130(解码单元信息)时,含有所述SEI消息的SEI NAL单元将在具有大于highestAppLayerId的nuh_layer_id的任何图片单元的所有NAL单元前面,其中highestAppLayerId是在所述SEI消息适用于的所有操作点中的所有层的nuh_layer_id的最大值。

-当对于存取单元内的嵌套或非嵌套SEI消息来说payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134(即,具有不等于0、1、4、5、130和133中的任一者的payloadType的SEI消息中的一者)时,含有SEI消息的SEI NAL单元将在具有大于highestAppLayerId的nuh_layer_id的任何图片单元的全部NAL单元前面,其中highestAppLayerId是所述SEI消息适用的所有层的nuh_layer_id的最大值。

[[移除:对于非嵌套SEI消息,取决于payloadType的值t]]以下适用于SEI消息的适用的操作点或层:

-对于非嵌套SEI消息,当[[移除:如果]]payloadType等于0(缓冲周期)、1(图片定时)或130(解码单元信息)时,所述非嵌套SEI消息适用于具有等于位流中的所有VCL NAL单元当中的nuh_temporal_id_plus1的最大值的OpTid且具有含有位流中的所有VCL单元中的nuh_layer_id的所有值的OpLayerIdList的操作点。

-对于非嵌套SEI消息,[[移除:否则,]]当payloadType等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134(即,具有不等于0、1、4、5[[移除:或]]130和133中的任一者的payloadType[[移除:且被允许为嵌套SEI消息]]的SEI消息中的一者)时,所述非嵌套SEI消息适用于VCL NAL单元具有等于含有所述SEI消息的SEI NAL单元的nuh_layer_id的nuh_layer_id的层。

-无法嵌套的作用中参数集SEI消息适用于位流中的所有层。

-当对于嵌套或非嵌套的图片定时信息SEI消息来说frame_field_info_present_flag等于1时,语法元素pic_struct、source_scan_type和duplicate_flag中携带的帧字段信息适用于所述图片定时SEI消息适用于的所有操作点中的所有层。

这是以下限制在SEI消息的嵌套上适用的位流一致性的要求:

-具有等于129(作用中参数集)、132(经解码图片哈希)和133(可缩放嵌套[[移除:)SEI消息]]的payloadType的SEI消息将不嵌套于可缩放嵌套SEI消息中。

-当可缩放嵌套SEI消息含有缓冲周期SEI消息、图片定时SEI消息或解码单元信息SEI消息时,所述可缩放嵌套SEI消息将不含有具有不等于0(缓冲周期)、1(图片定时)或130(解码单元信息)的payloadType的任何其它SEI消息。

-当可缩放嵌套SEI消息含有缓冲周期SEI消息、图片定时SEI消息或解码单元信息SEI消息时,所述可缩放嵌套SEI消息的bitstream_subset_flag的值将等于1。

-当可缩放嵌套SEI消息含有具有等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的payloadType的SEI消息(即,具有不等于0、1、4、5、130和133中的任一者的payloadType的SEI消息中的一者)时,所述可缩放嵌套SEI消息的bitstream_subset_flag的值将等于0。

这是以下限制在SEI NAL单元的nuh_layer_id和TemporalId的值上适用的位流一致性的要求:

-当非嵌套SEI消息具有等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的payloadType(即,具有不等于0、1、4、5、129[[移除:或]]130和133中的任一者的payloadType的SEI消息中的一者[[移除:被允许作为嵌套SEI消息]])时,含有所述非嵌套SEI消息的SEI NAL单元将具有等于含有所述SEI NAL单元的存取单元的TemporalId的TemporalId。

-当非嵌套SEI消息具有等于0、1、129或130的payloadType时,含有所述非嵌套SEI消息的SEI NAL单元将具有等于0的nuh_layer_id。

-当非嵌套SEI消息具有等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的payloadType(即,具有不等于0、1、129、130和133中的任一者的payloadType的SEI消息中的一者)时,含有所述非嵌套SEI消息的SEI NAL单元将具有等于与所述SEI NAL单元的相关联VCL NAL单元的nuh_layer_id的nuh_layer_id。

注释4-对于含有可缩放嵌套SEI消息的SEI NAL单元,TemporalId和nuh_layer_id的值应分别设定成等于所述嵌套SEI消息适用于的所有子层或操作点的TemporalId和nuh_layer_id的最低值。

这是以下限制在[[移除:存取单元]]图片的两个VCL NAL单元之间的SEI消息的存在上适用的位流一致性的要求:

-当存在具有等于0、1、2、3、6、9、15、16、17、19、22、23、45、47、128、129或131的payloadType的前缀SEI消息(即,并非由Rec.ITU-T T.35SEI消息登记的用户数据的前缀SEI消息、用户数据未登记的SEI消息、解码单元信息SEI消息、可缩放嵌套SEI消息或区刷新信息SEI消息中的一者)且适用于按解码次序在[[移除:存取单元]]图片的两个VCL NAL单元之间存在的层layerA的图片时,将存在具有同一类型且适用于在[[移除:存取单元]]的第一VCL NAL单元先前存在于同一存取单元中的层layerA的前缀SEI消息。

-当存在具有等于3(填充符有效负载)、17(渐进精炼片段末尾)、22(后滤波器暗示)或132(经解码图片哈希)的payloadType且适用于按解码次序在[[移除:存取单元]]的两个VCL NAL单元之间存在的层layerA的图片的后缀SEI消息时,将存在具有同一类型且适用于在[[移除:存取单元]]图片的最后VCL NAL单元之后存在于同一存取单元中的layerA的后缀SEI消息。

这是以下限制在SEI消息的重复上适用的位流一致性的要求:

-对于以下payloadType值中的每一者,[[移除:存取单元]]图片单元内将存在小于或等于8个相同的sei_payload()语法结构:0、1、2、6、9、15、16、17、19、22、23、45、47、128、129、131、132和133。

-解码单元内将存在具有等于130的payloadType的小于或等于8个相同的sei_payload()语法结构。

-[[移除:存取单元]]图片单元中具有等于134的payloadType的相同sei_payload()语法结构的数目将小于或等于[[移除:存取单元]]图片单元中的切片片段的数目。

子条款D.3.23修改如下:

可缩放嵌套SEI消息提供将SEI消息与对应于各种操作点的位流子集或与特定层或子层相关联的机制。

可缩放嵌套SEI消息含有一或多个SEI消息。

bitstream_subset_flag等于0指定可缩放嵌套SEI消息中含有的SEI消息适用于特定层或子层。bitstream_subset_flag等于1指定可缩放嵌套SEI消息中含有的SEI消息适用于由子位流提取过程产生的一或多个子位流,如条款10中所指定,其中输入基于如下文指定的可缩放嵌套SEI消息的语法元素。

[[移除:在可缩放嵌套SEI消息中含有缓冲周期SEI消息、图片时序SEI消息或解码单元信息SEI消息时,bitstream_subset_flag应等于1。]]

取决于bitstream_subset_flag的值,层或子层或可缩放嵌套SEI消息中含有的SEI消息所适用于的操作点通过基于如下文指定的语法元素值导出列表nestingLayedIdList[i]和变量maxTemporalId[i]来指定。

nesting_op_flag等于0指定列表nestingLayerIdList[0]由all_layers_flag及(当存在时)nesting_layer_id[i](其中所有i值处于0到nesting_num_layers_minus1的范围内,包含0及nesting_num_layers_minus1)指定,且变量maxTemporalId[0]由nesting_no_op_max_temporal_id_plus1指定。nesting_op_flag等于1指定列表nestingLayerIdList[i]和变量maxTemporalId[i]由nesting_num_ops_minus1、default_op_flag、nesting_max_temporal_id_plus1[i](当存在时)及nesting_op_idx[i](当存在时)指定。

default_op_flag等于1指定maxTemporalId[0]等于当前SEI NAL单元的nuh_temporal_id_plus1减1,且nestingLayerIdList[0]含有处于0到当前SEI NAL单元的nuh_layer_id(包含0及nuh_layer_id)范围(以所述值的递增次序)内的所有整数值。

在bitstream_subset_flag等于1且由VPS指定的层集合中无一者包含及仅包含具有处于0到当前SEI NAL单元的nuh_layer_id(包含0及nuh_layer_id)范围内的nuh_layer_id值的层时,default_op_flag的值应等于0。

nesting_num_ops_minus1加1减default_op_flag指定以下nesting_op_idx[i]语法元素的数目。nesting_num_ops_minus1的值应处于0到1023(包含0及1023)的范围内。

如果nesting_op_flag等于0,那么将变量nestingNumOps设定成等于1。否则,将变量nestingNumOps设定成等于nesting_num_ops_minus1+1。

nesting_max_temporal_id_plus1[i]用以指定变量maxTemporalId[i]。nesting_max_temporal_id_plus1[i]的值应大于或等于当前SEI NAL单元的nuh_temporal_id_plus1。将变量maxTemporalId[i]设定成等于nesting_max_temporal_id_plus1[i]-1。

nesting_op_idx[i]用以指定列表nestingLayerIdList[i]。nesting_op_idx[i]的值应处于0到1023(包含0及1023)的范围内。

将列表nestingLayerIdList[i]设定成等于由作用中VPS指定的第nesting_op_idx[i]层集合的OpLayerIdList。

all_layers_flag等于0指定由nesting_layer_id[i]指定列表nestingLayerIdList[0],其中所有i值处于0到nesting_num_layers_minus1(包含0及nesting_num_layers_minus1)的范围内。all_layers_flag等于1指定列表nestingLayerIdList[0]由存在于当前存取单元中的大于或等于当前SEI NAL单元的nuh_layer_id的nuh_layer_id的所有值(以所述值的递增次序)组成。

注释:在含有可缩放嵌套SEI消息的SEI NAL单元的nuh_layer_id大于0时,bitstream_subset_flag及all_layers_flag无法皆等于1,因为在此情况下,嵌套SEI消息的可适用操作点将不包含基础层,且因此对应于可适用操作点的子位流将为非相符位流。

在nesting_op_flag等于0及all_layers_flag等于1时,将maxTemporalId[0]设定成等于6。

在nesting_op_flag等于0且all_layers_flag等于0时,nesting_no_op_max_temporal_id_plus1减1指定maxTemporalId[0]的值。nesting_no_op_max_temporal_id_plus1的值不应等于0。

nesting_num_layers_minus1加1指定以下nesting_layer_id[i]语法元素的数目。nesting_num_layers_minus1的值应处于0到63(包含0及63)的范围内。

nesting_layer_id[i]指定列表nestingLayerIdList[0]中所包含的第i nuh_layer_id值。

对于处于0到nesting_num_layers_minus1(包含0及nesting_num_layers_minus1)范围内的任何i及j(其中i小于j),nesting_layer_id[i]应小于nesting_layer_id[j]。

将列表nestingLayerIdList[0]设定为由nesting_layer_id[i]组成,其中所有i值处于0到nesting_num_layers_minus1(包含0及nesting_num_layers_minus1)的范围(以i值的递增次序)内。

在bitstream_subset_flag等于0时,以下适用

-可缩放嵌套SEI消息中含有的SEI消息适用于层或子层的集合subLayerSet[i],其中所有i值处于0到nestingNumOps-1(包含0及nestingNumOps-1)的范围内,其中每一集合subLayerSet[i]中的层或子层的VCL NAL单元具有列表nestingLayerIdListSet[i]中所包含的nuh_layer_id值及处于当前SEI NAL单元的TemporalId到maxTemporalId[i](包含TemporalId及maxTemporalId[i])的范围内的TemporalId值。

-在嵌套SEI消息具有等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的payloadType(即payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)时,含有可缩放嵌套SEI消息的SEI NAL单元的nuh_layer_id应具有等于0的TemporalId及maxTemporalId[i],其中所有i应等于6。

-在嵌套式SEI消息具有等于2、3、6、9、15、16、17、19、22、23、45、47、128、131、132或134的payloadType(即payloadType不等于0、1、4、5、130及133中的任一者的SEI消息中的一者)且nestingNumOps的值大于0时,嵌套SEI消息适用于所有层,其中每一nuh_layer_id包含于列表nestingLayerIdList[i]中的至少一者中,其中i的范围为0到nestingNumOps-1(包含0及nestingNumOps-1)。

在bitstream_subset_flag等于1时,可缩放嵌套SEI消息中含有的SEI消息适用于对应于子位流subBitstream[i]的操作点,其中所有i值处于0到nestingNumOps-1(包含0及nestingNumOps-1)的范围内,其中每一子位流subBitstream[i]为条款10的子位流提取过程的输出,其中位流maxTemporalId[i]及nestingLayerIdList[i]作为输入。

在bitstream_subset_flag等于1且nesting_op_flag等于0时,nestingLayeridList[0]应包含且仅包含由VPS指定的层集合中的一者的nuh_layer_id值。

nesting_zero_bit应等于0。

F.3定义

为了达到此附录的目的,除了条款3中的定义之外,以下定义也适用。这些定义不存在于条款3中或替换条款3中的定义。

[[移除:

F.3.1存取单元:一组NAL单元,其根据指定的分类规则彼此相关联,在解码次序上连续,且含有与相同输出时间相关联的所有经译码图片的VCL NAL单元及其相关联非VCL NAL单元。

F.3.2注释1-相同存取单元中的图片与相同图片次序计数相关联。]]

F.3.1替代输出层:为直接参考层或输出层的间接参考层且可包含可在含有图片的存取单元中不存在输出层的图片时输出的图片的层。

F.7.4.3.1视频参数集RBSP语义

子条款7.4.3.1中的规范适用于以下修改及添加项:

-layerSetLayerIdList被LayerSetLayerIdList替换。

-numLayersInIdList被NumLayersInIdList替换。

-用“每一操作点由表示为OpLayerIdList的相关联的层识别符列表识别,所述OpLayerIdList由操作点中所包含的所有NAL单元的nuh_layer_id值的列表(以nuh_layer_id值的递增次序)及等于操作点中所包含的所有NAL单元的最高TemporalId的变量OpTid组成。每一输出操作点与操作点相关联,且由将以nuh_layer_id值的递增次序输出的所有图片的nuh_layer_id值的列表(表示为OptLayerIdList)及相关联的操作点的[[移除:变量]]OpTid识别。与输出操作点相关联的操作点的OpLayerIdList也被称作输出操作点的OpLayerIdList[[移除:其等于操作点中所包含的所有NAL单元的最高TemporalId。与列表OptLayerIdList相关联的表示为OpLayerIdList的层识别符列表由操作点中所包含的所有NAL单元的nuh_layer_id值的列表(以nuh_layer_id值的递增次序)组成。]]”来替换“每一操作点由表示为OpLayerIdList的相关联的层识别符列表识别,所述OpLayerIdList由操作点中所包含的所有NAL单元的nuh_layer_id值的列表(以nuh_layer_id值的递增次序)及等于操作点中所包含的所有NAL单元的最高TemporalId的变量OpTid组成。”

图2是说明可实施本发明中描述的技术的实例视频编码器20的框图。图2是出于解释的目的而提供,且不应被视为将技术限制为本发明中所大致例示和描述的技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。

视频编码器20可经配置以将视频输出到后处理实体27,所述后处理实体是可实施本发明中描述的技术的另一实例装置。后处理实体27既定表示视频实体的实例,例如媒体感知网络元件(MANE)、拼接/编辑装置或可处理来自视频编码器20的经编码视频数据的另一中间装置。在一些情况下,后处理实体27可为网络实体的实例。在一些视频编码系统中,后处理实体27及视频编码器20可为单独装置的各部分,而在其它情况下,关于后处理实体27所描述的功能性可由包括视频编码器20的相同装置执行。

视频编码器20可执行视频切片内的视频块的帧内及帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依靠时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。

在图2的实例中,视频编码器20包含分割单元35、预测处理单元41、滤波器单元63、参考图片存储器64、求和器50、变换处理单元52、量化单元54,及熵编码单元56。预测单元41包含运动估计单元42、运动补偿单元44和帧内预测处理单元46。为了视频块重构,视频编码器20还包含反量化单元58、反变换处理单元60,及求和器62。滤波器单元63既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图2中将滤波器单元63示出为环路内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。

如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、拼片或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20一般说明编码待编码的视频切片内的视频块的组件。所述切片可分成多个视频块(并且可能分成被称作单元片的视频块集合)。预测处理单元41可基于误差结果(例如,译码速率及失真层级)针对当前视频块选择多种可能译码模式中的一者,例如多种帧内译码模式中的一者或多种帧间译码模式中的一者。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重构经编码块以用作参考图片。

预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测性译码以提供时间压缩。

运动估计单元42可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指明为P切片或B切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测块的移位。

预测块是被发现在像素差方面与待译码视频块的PU密切匹配的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。

运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在参考帧存储器64中的一或多个参考图片。运动估计单元42向熵编码单元56及运动补偿单元44发送计算出的运动向量。

通过运动补偿单元44执行的运动补偿可涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成用于所述块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块解码时使用。

作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。明确地说,帧内预测处理单元46可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可(例如)在单独编码编次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46(或在一些实例中为模式选择单元40)可从测试模式中选择适当帧内预测模式来使用。例如,帧内预测处理单元46可使用速率-失真分析计算各种经测试帧内预测模式的速率-失真值,并在所述经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测处理单元46可根据用于各种经编码块的失真及速率来计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率-失真值。

在任何情况下,在选择了用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术对指示所述选定帧内预测模式的信息进行编码。视频编码器20在所发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的编码上下文的定义,以及对最可能帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。

在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20A通过从当前视频块减去预测性块来形成残差视频块。残差块中的残差视频数据可包含在一或多个TU中且应用到变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换处理单元52可将残差视频数据从像素域转换到变换域,例如频域。

变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。

在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码方法或技术。在由熵编码单元56熵编码之后,经编码位流可发射到视频解码器30,或经存档以供稍后发射或由视频解码器30检索。熵编码单元56还可对正译码的当前视频切片的运动向量及其它语法元素进行熵编码。

反量化单元58和反变换处理单元60分别应用反量化和反变换以在像素域中重构残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测性块中来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于所重构的残余块以计算子整数像素值用于运动估计。求和器62将经重构的残余块添加到由运动补偿单元44产生的运动补偿预测块以产生参考块用于存储在参考图片存储器64中。参考块可供运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。

根据本发明的方面,视频编码器20可经配置以产生数个语法元素,例如与上文所描述的SEI消息相关联的语法元素,包含用于多层编解码器的SEI消息。举例来说,视频编码器20可经配置以根据上文相对于图1所描述的十五个方面的任何组合产生语法元素。在一些情况下,视频编码器20可使用熵编码单元56或负责编码数据且产生经编码位流的另一单元编码此类语法元素。此外,图2的后处理实体27为可实施本发明中相对于SEI消息(包含用于多层编解码器的SEI消息)描述的技术的另一实例装置。

图3是说明可实施本发明中描述的技术的实例视频解码器30的框图。图3是出于解释的目的而提供,且并不将技术限制为本发明中所大致例示和描述者。出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91及参考图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器30可执行通常与相对于来自图2的视频编码器20描述的编码遍次互逆的解码遍次。

在解码过程期间,视频解码器30从视频编码器20接收表示经解码视频切片的视频块的经编码视频位流及相关联的语法元素。视频解码器30可从网络实体78接收经编码视频位流。网络实体78可例如为服务器、MANE、视频编辑器/剪接器,或经配置以实施上文所描述的技术中的一或多者的其它此装置。网络实体78可包含或可不包含视频编码器,例如视频编码器20。在网络实体78将经编码视频位流发射到视频解码器30之前,可由网络实体78实施本发明中描述的技术中的一些。在一些视频解码系统中,网络实体78与视频解码器30可为单独装置的部分,而在其它情况下,关于网络实体78描述的功能性可由包括视频解码器30的相同装置执行。

视频解码器30的熵解码单元80对位流进行熵解码以产生经量化的系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可接收视频切片等级和/或视频块等级的语法元素。

当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B或P)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动向量和其它语法元素产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测块。视频解码器30可基于存储在参考图片存储器92中的参考图片使用默认构造技术构造参考帧列表——列表0及列表1。

运动补偿单元82通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元82使用所接收语法元素中的一些语法元素确定用于译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可根据接收的语法元素而确定由视频编码器20使用的内插滤波器并使用所述内插滤波器来产生预测性块。

反量化单元86将在位流中提供且由熵解码单元80解码的经量化变换系数反量化,即去量化。反量化过程可包含使用由视频编码器20针对视频切片中的每一视频块所计算的量化参数以确定应当应用的量化程度且同样确定应当应用的反量化程度。反变换处理单元88将反变换应用于变换系数,例如反DCT、反整数变换或概念上类似的反变换过程,以便产生像素域中的残余块。

在运动补偿单元82基于运动向量及其它语法元素产生用于当前视频块的预测块之后,视频解码器30通过将来自反变换处理单元88的残余块与由运动补偿单元82产生的相对应的预测块求和而形成经解码视频块。求和器90表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。

滤波器单元91既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图3中将滤波器单元91展示为环路内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。接着将给定帧或图片中的经解码视频块存储在参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置31)上。

根据本发明的方面,视频解码器30可经配置以剖析及解码数个语法元素,例如与上文所描述的SEI消息相关联的语法元素,包含用于多层编解码器的SEI消息。举例来说,视频解码器30可经配置以根据上文相对于图1所描述的十五个方面的任何组合剖析及解码语法元素。在一些情况下,视频解码器30可使用熵解码单元80或负责从经编码位流解码数据的另一单元解码此类语法元素。此外,图3的网络实体78(其可为媒体感知网络元件)为可实施本发明中相对于SEI消息(包含用于多层编解码器的SEI消息)描述的技术的另一实例装置。

图4是更详细地说明囊封单元21的框图。在图4的实例中,囊封单元21包含视频输入接口100、音频输入接口102、视频文件创建单元104及视频文件输出接口106。在此实例中,视频文件创建单元104包含辅助增强信息(SEI)消息产生单元108、视图识别符(ID)指派单元110、表示创建单元112及操作点创建单元114。

视频输入接口100与音频输入接口102分别接收经编码视频与音频数据。虽然未在图1的实例中展示,但源装置12还可包含音频源及音频编码器以分别产生音频数据且编码音频数据。囊封单元21可接着囊封经编码音频数据及经编码视频数据以形成视频文件。视频输入接口100及音频输入接口102可在编码数据时接收经编码视频及音频数据,或可从计算机可读媒体检索经编码视频及音频数据。在接收到经编码视频及音频数据之后,视频输入接口100及音频输入接口102将经编码视频及音频数据传递到视频文件创建单元104用于汇编成视频文件。

视频文件创建单元104可对应于包含经配置以执行归于其的功能及程序的硬件、软件及/或固件的控制单元。所述控制单元可进一步执行通常归于囊封单元21的功能。对于视频文件创建单元104体现为软件及/或韧体的实例,囊封单元21可包含包括指令的计算机可读媒体以使视频文件创建单元104及处理单元执行所述指令。视频文件创建单元104的子单元(在此实例中,SEI消息产生单元108、视图ID指派单元110、表示创建单元112,及操作点创建单元114)中的每一者可实施为个别硬件单元及/或软件模块,且可在功能上集成为或进一步分离为额外子单元。

视频文件创建单元104可对应于任何合适处理单元或处理电路,例如一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP),或其任何组合。视频文件创建单元104可进一步包含存储用于SEI消息产生单元108、视图ID指派单元110、表示创建单元112及操作点创建单元114中的任一者或全部的指令的非暂时性计算机可读媒体以及用于执行所述指令的处理器。

一般来说,视频文件创建单元104可创建包含所接收的音频及视频数据的一或多个视频文件。视频文件创建单元104可建构用于包含两个或大于两个视图的多媒体内容的媒体呈现描述(MPD)。在其它实例中,视频文件创建单元104可创建类似于用于多媒体内容的MPD的数据存储清单的数据存储清单。

SEI消息产生单元108可表示产生SEI消息的单元。根据本发明中描述的技术,SEI消息产生单元108可经配置以产生数个语法元素,例如与上文所描述的SEI消息相关联的语法元素,包含用于多层编解码器的SEI消息。举例来说,SEI消息产生单元108可经配置以根据上文相对于图1所描述的十五个方面的任何组合产生语法元素。

视图ID指派单元110可将视图识别符指派给多媒体内容的视图中的每一者。表示创建单元112可建构用于多媒体内容的一或多个表示,所述表示中的每一者可包含用于多媒体内容的视图中的一或多者。在一些实例中,视图ID指派单元110可在MPD及/或表示中包含数据(例如,用于表示的标头数据),所述数据指示用于包含于所述表示中的视图的视图识别符的最大及最小值。此外,表示创建单元112可在MPD中提供指示对于具有较小视图ID的视图,较大视图ID对应于相机视角向右还是相机视角向左的视图的信息。

在一些实例中,可使用各种编码特性编码相同层,例如不同帧率、不同位率、不同编码方案或其它差异。表示创建单元112可确保包含于共同表示中的每一层是根据相同编码特性编码。以此方式,用于表示的MPD及/或标头数据可用信号通知表示的适用于所述表示中的所有层的一组特性(或属性)。此外,表示创建单元112可创建包含相同层的多个表示,但编码特性可能不同。在一些实例中,表示创建单元112可将多媒体内容的每一层囊封于个别表示中。在此些实例中,为输出一个以上层,目的地装置14可请求多媒体内容的两个或大于两个表示。

操作点创建单元114可创建用于多媒体内容的一或多个表示的操作点。一般来说,操作点对应于表示中的以输出为目标的视图的子集,其中所述视图中的每一者共享共同时间层级。作为一个实例,操作点可通过表示目标时间层级的temporal_id值及表示目标输出视图的一组view_id值来加以识别。一个操作点可与一位流子集相关联,所述位流子集由目标输出视图及目标输出视图所取决于的所有其它视图组成。

视频文件输出接口106可输出所创建的视频文件。举例来说,视频文件输出接口106可经配置以将所创建的视频文件提供到输出接口22,如上文相对于图1所描述。

虽然出于实例的目的而配合囊封单元21描述图4的技术,但应理解,可通过例如解囊封单元29(图1)、视频编码器20或视频解码器30等其它视频处理单元执行类似技术。举例来说,解囊封单元29可经配置以从多层位流接收多层位流且剖析/解码上文指出的语法。

图5是说明形成网络120的一部分的一组实例装置的框图。在此实例中,网络120包含路由装置124A、124B(路由装置124)和转码装置126。路由装置124及转码装置126既定表示可形成网络120的部分的少数装置。例如交换机、集线器、网关、防火墙、桥接器及其它此类装置的其它网络装置也可包含在网络120内。另外,可沿着服务器装置122与客户端装置128之间的网络路径提供额外的网络装置。在一些实例中,服务器装置122可对应于源装置12(图1),而客户端装置128可对应于目的地装置14(图1)。

一般来说,路由装置124实施一或多个路由协议以通过网络120交换网络数据。在一些实例中,路由装置124可经配置以执行代理或高速缓存操作。因此,在一些实例中,路由装置124可称为代理装置。一般来说,路由装置124执行路由协议以经由网络120发现路线。通过执行此些路由协议,路由装置124B可经由路由装置124A发现从自身到服务器装置122的网络路线。路由装置124中的一或多者可包括使用本发明的一或多个方面的MANE。

可通过例如路由装置124及转码装置126等网络装置实施本发明的技术,并且可通过客户端装置128实施本发明的技术。以此方式,路由装置124、转码装置126及客户端装置128表示经配置以执行本发明的技术的装置的实例。此外,图1的装置以及图2中所说明的编码器20和图3中所说明的解码器30也为可经配置以执行本发明的技术的示范性装置。

图6是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的实例操作的流程图。在图6的实例中,例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78等视频处理装置获得多层位流的第一层的一或多个VCL NAL单元(140)。举例来说,在视频处理装置为视频编码器或视频解码器的情况下,视频处理装置可编码多层位流中的VCL NAL单元或从多层位流解码VCL NAL单元。在视频处理装置不经配置以编码或解码此类VCL NAL单元的实例中,视频处理装置可从多层位流剖析且获得VCL NAL单元。

视频处理装置还译码(例如,编码或解码)待与多层位流中的第一层在一起的适用于第一层的VCL NAL单元的SEI消息(142)。举例来说,根据本发明的方面,视频处理装置仅译码与第一层的VCL NAL单元在一起的含有适用于第一层的VCL NAL单元的SEI消息的非VCL NAL单元,而不包含多层位流的SEI消息与其它层。举例来说,根据本发明的方面,多层位流在第一层的VCL NAL单元与含有适用于第一层的VCL NAL单元的SEI消息的非VCL NAL单元之间不含有多层位流的任何其它层的任何经译码图片。以此方式,对于具有多个层分量的存取单元,SEI消息保持与SEI消息所适用于的层在一起。在一些实例中,视频处理装置可译码紧邻多层位流中的所述消息所适用于的VCL NAL单元的SEI消息。

在一些实例中,第一层的VCL NAL单元为第一层的第一图片的VCL NAL单元,且SEI消息为适用于第一层的所述第一图片的前缀SEI消息。在此些实例中,仅译码与VCL NAL单元在一起的含有前缀SEI消息的非VCL NAL单元可包含仅译码在位流中先于所述VCL NAL单元的非VCL NAL单元。即,视频处理装置可译码含有的SEI消息紧接于多层位流中的第一图片的VCL NAL单元之前的非VCL NAL单元。

在一些实例中,第一层的VCL NAL单元为第一层的第一图片的VCL NAL单元,且SEI消息为适用于第一层的第一图片的后缀SEI消息。在此些实例中,仅译码与VCL NAL单元在一起的含有后缀SEI消息的非VCL NAL单元可包含仅译码在位流中在VCL NAL单元之后的非VCL NAL单元。即,视频处理装置可译码含有的SEI消息紧接于多层位流中的第一图片的VCL NAL单元之后的非VCL NAL单元。

在图6的实例中,视频处理装置还获得多层位流的第二层的VCL NAL单元(144)。举例来说,视频处理装置可译码(即,编码或解码)多层位流的第二层的图片的切片。视频处理装置还译码适用于待与第二层的VCL NAL单元在一起的第二层的VCL NAL单元的SEI消息(146)。举例来说,如上文所描述,视频处理装置可译码多层位流,使得所述位流在第二层的VCL NAL单元与含有适用于第二层的VCL NAL单元的SEI消息的非VCL NAL单元之间不含有多层位流的任何其它层的任何经译码图片。以此方式,对于具有多个层分量的存取单元,SEI消息保持与SEI消息所适用于的层在一起。

再次,在一些实例中,视频处理装置可译码含有适用于在位流中在第一图片之后的第二图片的VCL NAL单元的第二前缀SEI消息的一或多个非VCL NAL单元。视频处理装置还可译码含有适用于在位流中在第二图片之后的第二图片的VCL NAL单元的第二后缀SEI消息的一或多个非VCL NAL单元。

在一些情况下,视频处理装置还可基于含有所述第一层的第一图片的VCL NAL单元的图片单元及所述第一图片的相关联非VCL NAL单元而确定所述SEI消息的最大重复参数。

还应理解,相对于图6展示及描述的步骤仅提供为一个实例。即,图6的实例中展示的步骤不需要一定按图6中展示的次序执行,且可执行较少、额外或替代步骤。此外,虽然上文大体相对于视频处理装置描述所述技术,但所述技术可通过例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78或其它处理单元等视频处理装置来实施。

图7是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的另一实例操作的流程图。在图7的实例中,例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78等视频处理装置译码含有经解码图片哈希SEI消息的多层位流的层的一或多个非VCL NAL单元(150)。如上文所指出,经解码图片哈希消息可提供从经解码图片的样本值导出的检查和。可例如通过例如视频解码器30等视频解码器使用经解码图片哈希消息来检测图片是否被正确地接收及解码。

视频处理装置还确定与非VCL NAL单元相关联的层识别符(152)。视频处理装置还基于含有经解码图片哈希SEI消息的非VCL NAL单元的层识别符确定经解码图片哈希SEI消息所适用于的多层位流的一组层(154)。根据本发明的方面,经解码图片哈希SEI消息的所述组适用层可指定为层识别符(nuh_layer_id)等于含有SEI消息的SEI NAL单元的层识别符(nuh_layer_id)的层。即,经解码图片哈希SEI消息仅适用于与含有SEI消息的SEI NAL单元具有相同层识别符(nuh_layer_id)的层。在一些情况下,经解码图片哈希SEI消息可仅为非嵌套SEI消息。

在一些实例中,另外或替代地,视频处理装置还可译码多层位流的一或多个第二非VCL NAL单元。第二非VCL NAL单元可含有指示对于视频数据的特定部分在作用中的参数集的作用中参数集SEI消息。视频处理装置还可基于含有作用中参数集SEI消息的一或多个第二非VCL NAL单元确定作用中参数集SEI消息适用于多层位流的所有层。即,视频处理装置可借助于SEI消息为作用中参数集SEI消息而确定作用中参数集SEI消息适用于多层位流的所有层。在一些实例中,视频处理装置可进一步译码指示作用中参数集SEI消息适用于多层位流的所有层的一或多个语法元素。在一些实例中,视频处理装置可仅译码为非嵌套SEI消息的作用中参数集SEI消息。

在一些实例中,另外或替代地,视频处理装置可译码指示帧场信息存在于多层位流的图片定时SEI消息中的一或多个语法元素。视频处理装置还可将帧场信息应用于图片定时SEI消息所适用于的多层位流的所有操作点中的所有层。

还应理解,相对于图7展示及描述的步骤仅提供为一个实例。即,图7的实例中展示的步骤不需要一定按图7中展示的次序执行,且可执行较少、额外或替代步骤。此外,虽然上文大体相对于视频处理装置描述所述技术,但所述技术可通过例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78或其它处理单元等视频处理装置来实施。

图8是说明根据本发明中描述的技术的各种方面的经配置以译码SEI消息的视频处理装置的另一实例操作的流程图。在图8的实例中,例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78等视频处理装置可译码含有具有SEI有效负载类型的SEI消息的多层位流的一层的一或多个非VCL NAL单元(160)。视频处理装置还可基于所述有效负载类型确定SEI消息所适用于的多层位流的语法(162)。举例来说,视频处理装置可基于SEI有效负载类型确定SEI消息所适用于的多层位流的一或多个语法值。

举例来说,根据本发明的方面,SEI消息可包含可缩放嵌套SEI消息。在此实例中,视频处理装置可基于SEI有效负载类型包含于第一组有效负载类型中而确定可缩放嵌套SEI消息的bitstream_subset_flag语法元素为0值。在一实例中,第一组有效负载类型包含有效负载类型2、3、6、9、15、16、17、19、22、23、45、47、128、131、132及134,如上文相对于图1所描述,但所述集合可包含比所述实例中识别者多或少的类型。

在另一实例中,SEI消息可为非嵌套SEI消息。在此实例中,视频处理装置可基于SEI有效负载类型包含于第一组有效负载类型中而确定用于含有SEI消息的非VCL NAL单元的层识别符语法元素等于与所述SEI消息相关联的VCL NAL单元的层识别符语法元素。在一实例中,所述第一组有效负载类型包含有效负载类型2、3、6、9、15、16、17、19、22、23、45、47、128、131、132及134,但所述集合可包含比所识别者多或少的类型。

在再一实例中,SEI消息可为可缩放嵌套SEI消息。在此实例中,视频处理装置可基于SEI有效负载类型包含于第一组有效负载类型中而确定含有可缩放嵌套SEI消息的一或多个非VCL NAL单元对于所有i值具有等于0的TemporalId及等于7的maxTemporalId[i]。在一实例中,第一组有效负载类型包含有效负载类型2、3、6、9、15、16、17、19、22、23、45、47、128、131、132及134,但所述集合可包含比所述实例中所识别者多或少的类型。

根据本发明的方面,另外或替代地,视频处理装置可译码仅在非嵌套SEI消息而不在可缩放嵌套SEI消息中的所述多层位流的作用中参数集SEI消息。

另外或替代地,视频处理装置可基于含有非嵌套缓冲周期SEI消息、图片定时SEI消息或解码单元信息SEI消息的SEI消息而确定多层视频数据的层的层识别符为0值。在一些实例中,视频处理装置还可译码层识别符语法元素以具有0值。

另外或替代地,视频处理装置可译码多层位流的bitstream_subset_flag语法元素。视频译码装置可基于bitstream_subset_flag语法元素等于1且由VPS指定的层集合皆不包含处于0到含有SEI消息的非VCL NAL单元的层识别符(包含0及所述层识别符)范围内的层识别符,确定多层位流的default_op_flag语法元素的值为0值。在一些实例中,视频处理装置还可译码default_op_flag语法元素以具有0值。

根据本发明的额外方面,另外或替代地,视频处理装置可译码多层位流的nesting_op_flag及多层位流的all_layers_flag。视频处理装置可基于nesting_op_flag具有值0且all_layers_flag具有值1而确定多层位流的maxTemporalId[0]语法元素的值等于7。在一些实例中,视频处理装置还可译码maxTemporalId[0]语法元素以具有值7。

另外或替代地,视频处理装置可译码多层位流的bitstream_subset_flag语法元素及多层位流的nesting_op_flag语法元素。视频处理装置可基于bitstream_subset_flag语法元素具有值1且nesting_op_flag语法元素具有值0而确定多层位流的nestingLayeridList[0]仅包含在多层位流的VPS中指定的层集合的层识别符值。在一些实例中,视频处理装置还可译码nestingLayeridList[0]语法元素以仅包含在多层位流的VPS中指定的层集合的层识别符值。

还应理解,相对于图8展示及描述的步骤仅提供为一个实例。即,图8的实例中展示的步骤不需要一定按图8中展示的次序执行,且可执行较少、额外或替代步骤。此外,虽然上文大体相对于视频处理装置描述所述技术,但所述技术可通过例如视频编码器20、囊封单元21、解囊封单元29、后处理实体27、网络实体78或其它处理单元等视频处理装置来实施。

在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,所述计算机可读存储媒体对应于有形媒体,例如数据存储媒体或包含(例如)根据通信协议促进计算机程序从一位置传送至另一位置的任何媒体的通信媒体。以此方式,计算机可读媒体大体可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码及解码的专用硬件及/或软件模块内提供,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可在多种多样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件及/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述各种示例。所述及其它实例在所附权利要求书的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1