一种解码视频数据的方法和装置、以及非暂时性计算机可读数据存储媒体与流程

文档序号:17567209发布日期:2019-05-03 18:58阅读:444来源:国知局
一种解码视频数据的方法和装置、以及非暂时性计算机可读数据存储媒体与流程

技术领域

本发明涉及视频编码和解码。



背景技术:

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

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

空间预测或时间预测导致译码用于块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码帧间译码块。根据帧内译码模式和残余数据来编码帧内译码块。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而引起残余系数,可接着量化所述残余系数。可扫描最初以二维阵列布置的经量化系数以便产生系数的一维向量,且可应用熵译码以达成甚至更多压缩。

可通过编码视图(例如,从多个视点)而产生多视图译码位流。已开发使用多视图译码方面的一些三维(3D)视频标准。例如,不同视图可传输左眼视图和右眼视图以支持3D 视频。替代地,一些3D视频译码过程可应用所谓多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量,而且含有深度视图分量。例如,每一视图可包括一个纹理视图分量和一个深度视图分量。



技术实现要素:

一般来说,本发明的一或多个技术定义对于视频译码过程在可未被正确地解码的增强层图片不存在于位流中时的额外一致性。此外,本发明的一或多个技术定义当解码初始帧内随机存取点(IRAP)存取单元(AU)的跨层随机存取跳过(CL-RAS)图片时且当指示 CL-RAS图片未经输出时的用于不可用参考图片的完整解码过程,且提供用于当CL-RAS 图片存在或不存在的两种状况的假设的参考解码器(HRD)参数。

在一个实例中,本发明描述一种解码视频数据的方法,所述方法包括:基于值确定是否IRAP存取单元的所有CL-RAS图片都存在于视频数据位流中;和至少部分地基于从所述视频数据位流解码的语法元素而重新构建所述视频数据的图片。

在另一实例中,本发明描述一种处理视频数据的方法,所述方法包括:产生设定指定IRAP存取单元的CL-RAS图片是否存在于位流中的变量的SEI消息,所述位流包含形成经译码图片和相关联数据的表示的位序列;和将所述SEI消息包含于所述位流中。

在另一实例中,本发明描述一种装置,其包括:数据存储媒体,其经配置以存储视频数据;和一或多个处理器,其经配置以:基于值确定是否IRAP存取单元的所有CL-RAS 图片都存在于视频数据位流中;和至少部分地基于从所述视频数据位流解码的语法元素而重新构建所述视频数据的图片。

在另一实例中,本发明描述一种装置,其包括:数据存储媒体,其经配置以存储视频数据;和一或多个处理器,其经配置以:产生设定指定IRAP存取单元的CL-RAS图片是否存在于位流中的变量的SEI消息,所述位流包含形成经译码图片和相关联数据的表示的位序列;和将所述SEI消息包含于所述位流中。

在另一实例中,本发明描述一种装置,其包括:用于基于值确定是否IRAP存取单元的所有CL-RAS图片都存在于视频数据位流中的装置;和用于至少部分地基于从所述视频数据位流解码的语法元素而重新构建所述视频数据的图片的装置。

在另一实例中,本发明描述一种装置,其包括:用于产生设定指定IRAP存取单元的CL-RAS图片是否存在于位流中的变量的SEI消息的装置,所述位流包含形成经译码图片和相关联数据的表示的位序列;和用于将所述SEI消息包含于所述位流中的装置。

在另一实例中,本发明描述一种计算机可读数据存储媒体,其具有存储于其上的指令,所述指令在经执行时使得装置进行以下操作:基于值确定是否IRAP存取单元的所有CL-RAS图片都存在于视频数据位流中;和至少部分地基于从所述视频数据位流解码的语法元素而重新构建所述视频数据的图片。

在另一实例中,本发明描述一种计算机可读数据存储媒体,其具有存储于其上的指令,所述指令在经执行时使得装置进行以下操作:产生设定指定IRAP存取单元的 CL-RAS图片是否存在于位流中的变量的SEI消息,所述位流包含形成经译码图片和相关联数据的表示的位序列;和将所述SEI消息包含于所述位流中。

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

附图说明

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

图2为说明清洁随机存取(“Clean Random Access,CRA”)图片和前置图片的概念图。

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

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

图C-1为说明用于假设的参考解码器(“Hypothetical Reference Decoder,HRD”)一致性检查的字节流和网络抽象层(“Network Abstraction Layer,NAL”)单元流的概念图。

图C-2为说明实例HRD缓冲器模型的概念图。

图5为根据本发明的一或多个技术的说明CL-RAS图片的概念图。

图6A为根据本发明的一或多个技术的说明视频编码器的实例操作的流程图。

图6B为根据本发明的一或多个技术的说明装置的实例操作的流程图。

图6C为根据本发明的一或多个技术的说明视频解码器的实例操作的流程图。

具体实施方式

一般来说,本发明描述用于多层视频译码的技术。如本文所描述,视频数据位流可包括形成经译码图片和相关联数据的表示的位序列。所述图片可属于不同存取单元和层。属于同一存取单元的图片可具有同一输出时间。属于不同存取单元的图片可具有不同输出时间。在多视图译码中,属于不同层的图片可属于不同视图。在可调式视频译码中,属于较高层的图片可提供增强型视觉质量。

一些图片为帧内随机存取点(IRAP)图片。视频译码器可在不参考以解码次序在IRAP 图片之前出现的任何图片的情况下解码IRAP图片。此外,图片可包含跨层随机存取跳过(cross-layer random access skipped,CL-RAS)图片。在一些实例中,CL-RAS图片为满足以下准则中的一者的图片。首先,图片并非IRAP图片,而是处于IRAP存取单元中。其次,图片并非IRAP图片;图片处于(以解码次序)在IRAP存取单元之后的存取单元中;图片处于在层切换IRAP存取单元之前的存取单元中;且图片处于等于含有层切换IRAP 存取单元中的IRAP图片的层的层中。在一些例子中,因为CL-RAS图片取决于在前一(或当前)IRAP存取单元之前出现的图片,所以CL-RAS图片不能被正确地解码。在这些实例中,IRAP存取单元可为含有一或多个IRAP图片的存取单元,且存取单元的基础层中的图片为IRAP图片。此外,在这些实例中,层切换IRAP存取单元可为并非IRAP存取单元但含有至少一IRAP图片的存取单元。可由于位流切换、位流内的随机存取和/或在其它情形下出现CL-RAS图片。

在一些例子中,装置(例如,具有媒体知识的网络元件(media aware network element, MANE))可从位流去除CL-RAS图片。因为视频解码器将不能够正确地解码CL-RAS图片,所以装置可从位流自由地去除CL-RAS图片。有利地,从位流去除CL-RAS图片可缩减位流中的数据量。然而,从位流去除CL-RAS图片可导致视频解码器(例如,假设的参考解码器(HRD))在不适当时间从视频解码器的经译码图片缓冲器去除经译码图片。例如,视频解码器可以特定速率从经译码图片缓冲器去除经译码图片。在此实例中,视频解码器可解码从经译码图片缓冲器去除的经译码图片。此外,在此实例中,如果位流不包含用于IRAP存取单元的CL-RAS图片,那么经译码图片缓冲器可包含比视频解码器预期的经译码图片少的经译码图片。因此,在此实例中,视频解码器从经译码图片缓冲器去除经译码图片的速率可为大的,从而导致位流不一致。

因此,根据本发明的一或多个技术,视频解码器可基于值确定IRAP存取单元的所有CL-RAS图片是否存在于位流中。在一些实例中,视频解码器可至少部分地基于位流的补充增强信息(Supplemental Enhancement Information,SEI)消息中的数据来设定所述值。在其它实例中,解码过程外部的机制可设定所述值。此外,在一些实例中,视频解码器可在适当时使用不同HRD参数集,此取决于IRAP存取单元的所有CL-RAS图片是否存在于位流中。HRD参数可包含控制视频解码器如何从经译码图片缓冲器去除图片的参数。以此方式,符合视频译码标准的视频解码器可能够解码包含IRAP存取单元的所有CL-RAS图片的位流和不包含IRAP存取单元的所有CL-RAS图片的位流。

图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码或视频解码。

如图1所展示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。

源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓“智能型”电话的电话手机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者。

目的地装置14可从源装置12经由信道16来接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使源装置12能够将经编码视频数据直接实时地传输到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协议的通信标准来调节经编码视频数据,且可将经调制视频数据传输到目的地装置14。一或多个通信媒体可包含无线和/或有线通信媒体,例如,射频(radio frequency,RF)频谱或一或多个物理传输线。一或多个通信媒体可形成以封包为基础的网络的部分,例如,局域网、广域网或全域网络(例如,因特网)。一或多个通信媒体可包含路由器、交换器、基站,或促进从源装置12到目的地装置14的通信的其它装备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本机存取式数据存储媒体,例如,蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。

在再一实例中,信道16可包含文件服务器或存储由源装置12产生的经编码视频数据的另一中间存储装置。在此实例中,目的地装置14可(例如,经由流式传输或下载) 存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据传输到目的地装置14的某类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、文件传送协议(file transfer protocol, FTP)服务器、网络附接式存储(network attached storage,NAS)装置,和本地磁盘机。

目的地装置14可经由例如因特网连接的标准数据连接而存取经编码视频数据。实例类型的数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或此两者的组合。经编码视频数据从文件服务器的传输可为流式传输、下载传输,或此两者的组合。

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

图1仅仅为实例,且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,从本机存储器检索数据,经由网络或其类似者来流式传输所述数据。视频编码装置可编码数据(例如,视频数据)且将所述数据存储到存储器,和/或视频解码装置可从存储器检索数据(例如,视频数据)且解码所述数据。在许多实例中,编码和解码通过彼此不通信但简单地将数据编码到存储器和/或从存储器检索数据并解码所述数据的装置来执行。

在图1的实例中,源装置12包含视频源18、视频编码器20,和输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置,例如,摄像机;视频封存档,其含有经先前俘获视频数据;视频馈送接口,其用以从视频内容提供者接收视频数据;和/或计算机图形系统,其用于产生视频数据;或这些视频数据源的组合。

视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12直接经由输出接口22将经编码视频数据传输到目的地装置14。在其它实例中,也可将经编码视频数据存储到存储媒体或文件服务器上,以供由目的地装置14稍后存取以用于解码和/或播放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30,和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道16 接收经编码视频数据。显示装置32可与目的地装置14集成或在目的地装置14的外部。一般来说,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器,或另一类型的显示装置。

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

本发明大体上可涉及视频编码器20将某些信息“传信”到例如视频解码器30的另一装置。术语“传信”大体上可指语法元素和/或用以解码经压缩视频数据的其它数据的传达。可实时或近实时地发生此传达。替代地,可在时间跨度内发生此传达,例如可能在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生此传达,接着可由解码装置在将所述语法元素存储到此媒体之后的任何时间来检索。

在一些实例中,视频编码器20和视频解码器30根据视频压缩标准而操作,所述视频压缩标准例如ISO/IEC MPEG-4视觉和ITU-T H.264(也被称作ISO/IEC MPEG-4 AVC),包含其可调式视频译码(Scalable Video Coding,SVC)扩展、多视图视频译码 (Multiview Video Coding,MVC)扩展,和以MVC为基础的3DV扩展。在一些例子中,符合以MVC为基础的3DV的任何位流总是含有与MVC简档(例如,立体声高简档)相符的子位流。此外,正在努力产生对H.264/AVC的三维视频(3DV)译码扩展,即,以AVC 为基础的3DV。在其它实例中,视频编码器20和视频解码器30可根据ITU-T H.261、 ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉和ITU-T H.264、ISO/IEC 视觉而操作。

在其它实例中,视频编码器20和视频解码器30可根据由ITU-T视频译码专业团体(Video Coding Experts Group,VCEG)和ISO/IEC动画专业团体(Motion Picture Experts Group,MPEG)的视频译码联合合作团队(Joint Collaboration Team on Video Coding, JCT-VC)开发的高效率视频译码(High Efficiency Video Coding,HEVC)标准而操作。被称作“HEVC工作草案10”或“HEVC WD10”的HEVC标准草案在布罗斯(Bross)等人的“编辑提议对HEVC版本1的校正(Editors'proposed corrections to HEVC version 1)”(2013 年4月,韩国仁川,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作团队(JCT-VC)第13次会议)中得以描述。至少截至2014年5月30日,HEVC工作草案10可得从http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC- M0432-v3.zip,所述案的全部内容在此以引用方式并入。

此外,正在努力产生针对HEVC的可调式视频译码扩展、多视图译码扩展和3DV 扩展。HEVC的3DV扩展可被称作以HEVC为基础的3DV、HEVC-3DV,或3D-HEVC。 HEVC的多视图扩展(即,MV-HEVC)也正由3D视频译码扩展开发联合合作团队(JCT-3V) 开发。在下文中被称作“MV-HEVC WD4”的MV-HEVC近期工作草案(WD)在Tech等人的“MV-HEVC Draft Text 4”(2013年4月,韩国仁川,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作团队(JCT-VC)第4次会议,文件号 JCT3V-D1004_d0(在下文中为“JCT3V-D1004_d0”))中得以描述。至少截至2014年5月 30日,JCT3V-D1004_d0可得自http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/ 4_Incheon/wg11/JCT3V-D1004-v1.zip,所述案的全部内容以引用方式并入本文中。

HEVC的可调式扩展(即,SHVC)也正由JCT-VC开发。SHVC近期工作草案(WD) 在下文中被称作SHVC WD2,且在陈(Chen)等人的“SHVC工作草案2(SHVC Working Draft 2)”(2013年4月18日到26日,韩国仁川,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作团队(JCT-VC)第13次会议,文件号 JCTVC-M1008_v1(在下文中为“JCTVC-M1008_v1”))中得以描述。至少截至2014年5 月30日,JCTVC-M1008_v1可得从http://phenix.int-evry.fr/jct/doc_end_user/documents/ 13_Incheon/wg11/JCTVC-M1008-v1.zip。

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

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

本发明可使用术语“视频单元”或“视频块”或“块”以指一或多个样本块和用以译码所述一或多个样本块的样本的语法结构。视频单元的实例类型可包含CTU、CU、 PU、变换单元(transform unit,TU)、宏块、宏块分割区,等等。在一些上下文中,CTU、 CU、PU等等的论述可与宏块或宏块分割区的论述互换。

为了产生经译码CTU,视频编码器20可对CTU的译码树状结构块递归式地执行四元树状结构分割,以将所述译码树状结构块划分成若干译码块,因此,名称为“译码树状结构单元”。译码块可为N×N样本块。CU可包括(例如,可为)具有亮度样本阵列、 Cb样本阵列和Cr样本阵列的图片的一亮度样本译码块和两个对应色度样本译码块,以及用以译码所述译码块的样本的语法结构。在单色图片或具有三个分离颜色平面的图片中,CU可包括单一译码块和用以译码所述译码块的样本的语法结构。

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

视频编码器20可使用帧内预测或帧间预测以产生用于PU的预测性块。如果视频编码器20使用帧内预测以产生PU的预测性块,那么视频编码器20可基于与PU相关联的图片(即,含有PU的预测块的图片)的经解码样本而产生PU的预测性块。

如果视频编码器20使用帧间预测以产生PU的预测性块,那么视频编码器20可基于除了与PU相关联的图片以外的一或多个图片的经解码样本而产生PU的预测性块。视频编码器20可使用单向预测或双向预测以产生PU的预测性块。当视频编码器20使用单向预测以产生用于PU的预测性块时,所述PU可具有单一运动向量。当视频编码器20使用双向预测以产生用于PU的预测性块时,所述PU可具有两个运动向量。

为了执行单向预测或双向预测,视频编码器20可产生用于当前切片的第一参考图片列表(RefPicList0)和第二参考图片列表(RefPicList1)。所述参考图片列表中每一者可包含一或多个参考图片。当使用单向预测时,视频编码器20可在RefPicList0和RefPicList1 中的任一者或两者中搜索参考图片以确定参考图片内的参考位点。此外,当使用单向预测时,视频编码器20可至少部分地基于对应于参考位点的样本而产生用于PU的预测性块(即,预测性样本块)。此外,当使用单向预测时,视频编码器20可产生指示PU的预测块与参考位点之间的空间位移的单一运动向量。为了指示PU的预测块与参考位点之间的空间位移,运动向量可包含指定PU的预测块与参考位点之间的水平位移的水平分量,且可包含指定PU的预测块与参考位点之间的垂直位移的垂直分量。

当使用双向预测以编码PU时,视频编码器20可确定RefPicList0中的参考图片中的第一参考位点和RefPicList1中的参考图片中的第二参考位点。视频编码器20可接着至少部分地基于对应于第一参考位点和第二参考位点的样本而产生用于PU的预测性块。此外,当使用双向预测以编码PU时,视频编码器20可产生指示PU的预测块与第一参考位点之间的空间位移的第一运动向量,和指示PU的预测块与第二参考位点之间的空间位移的第二运动向量。

在视频编码器20产生用于CU的一或多个PU的预测性块(例如,亮度预测性块、 Cb预测性块和Cr预测性块)之后,视频编码器20可产生用于所述CU的一或多个残余块。例如,视频编码器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变换块(即,与亮度变换块、Cb变换块和Cr变换块相关联)。TU的(即,与TU相关联的)亮度变换块可为 CU的亮度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU 的Cr残余块的子块。在单色图片或具有三个分离颜色平面的图片中,TU可包括单一样本变换块和用以变换变换块样本的语法结构。

视频编码器20可将一或多个变换应用于TU的变换块以产生用于所述TU的系数块。系数块可为二维变换系数阵列。变换系数可为纯量。例如,视频编码器20可将一或多个变换应用于TU的亮度变换块以产生用于所述TU的亮度系数块。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生用于所述TU的Cb系数块。视频编码器20 可将一或多个变换应用于TU的Cr变换块以产生用于所述TU的Cr系数块。

在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化所述系数块。量化大体上指如下过程:其中量化变换系数以可能地缩减用以表示所述变换系数的数据的量,从而提供进一步压缩。在视频编码器20量化系数块之后,视频编码器20可熵编码指示经量化变换系数的语法元素。例如,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应性二进制算术译码(Context-Adaptive Binary Arithmetic Coding,CABAC)。视频编码器20可在位流中输出经熵编码语法元素。

视频编码器20可输出包含经熵编码语法元素的位流。位流可包含形成经译码图片和相关联数据的表示的位序列。位流可包括网络抽象层(NAL)单元序列。NAL单元中每一者可包含NAL单元标头且可封装原始字节序列有效负载(raw byte sequence payload, RBSP)。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL 单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有封装于NAL单元内的整数个字节的语法结构。在一些例子中,RBSP包含零位。

不同类型的NAL单元可封装不同类型的RBSP。例如,第一类型的NAL单元可封装用于图片参数集(picture parameter set,PPS)的RBSP;第二类型的NAL单元可封装用于经译码切片的RBSP;第三类型的NAL单元可封装用于补充增强信息(SEI)的RBSP;等等。封装用于视频译码数据的RBSP(相对于用于参数集和SEI消息的RBSP)的NAL 单元可被称作视频译码层(video coding layer,VCL)NAL单元。在至少一些实例中,SEI 含有从VCL NAL单元解码经译码图片的样本并非必需的信息。此外,在至少一些实例中,SEI RBSP可含有一或多个SEI消息。SEI消息可为含有SEI的消息。

HEVC和其它视频译码标准提供各种类型的参数集。例如,视频参数集(video parameter set,VPS)为包括应用于零或零个以上全部经译码视频序列(coded video sequence,CVS)的语法元素的语法结构。序列参数集(sequence parameter set,SPS)可含有应用于CVS的所有切片的信息。SPS可包含识别在SPS为作用中时为作用中的VPS的语法元素。因此,VPS的语法元素相比于SPS的语法元素可大体上更适用。PPS为包括应用于零或零个以上经译码图片的语法元素的语法结构。PPS可包含识别在PPS为作用中时为作用中的SPS的语法元素。切片的切片标头可包含指示在切片正被译码时为作用中的PPS的语法元素。

视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以从位流获得(例如,解码)语法元素。视频解码器30可至少部分地基于从位流获得 (例如,解码)的语法元素而重新构建视频数据的图片。用以重新构建视频数据的过程可与由视频编码器20执行的过程大体上互逆。例如,视频解码器30可使用PU的运动向量以确定用于当前CU的PU的预测性块。另外,视频解码器30可反量化与当前CU的 TU相关联的变换系数块。视频解码器30可对变换系数块执行反变换以重新构建当前 CU的TU(即,与当前CU的TU相关联)的变换块。视频解码器30可通过将用于当前 CU的PU的预测性块的样本加到当前CU的TU的变换块的对应样本来重新构建当前 CU的译码块。通过重新构建用于一图片的每一CU的译码块,视频解码器30可重新构建所述图片。

当视频译码器(例如,视频编码器20或视频解码器30)开始处理当前图片时,视频译码器可确定用于当前图片的五个参考图片集(reference picture set,RPS)子集: RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetFoll、RefPicSetLtCurr和 RefPicSetLtFoll。用于当前图片的这些五个RPS子集的联合可在本文中被称作用于当前图片的RPS。RefPicSetStCurrBefore可包含以输出次序在当前图片之前出现且可用于由当前图片参考的短期参考图片。RefPicStCurrAfter可包含以输出次序在当前图片之后出现且可用于由当前图片参考的短期参考图片。RefPicSetStFoll可包含未用于由当前图片参考的短期参考图片。RefPicSetLtCurr可包含可用于由当前图片参考的长期参考图片。 RefPicSetLtFoll可包含未用于由当前图片参考的长期参考图片。

HEVC和其它视频译码标准提供若干不同切片类型。这些切片类型包含I切片、P 切片,和B切片。在I切片中,仅允许帧内预测。在P切片中,允许帧内预测和单向帧间预测。在B切片中,允许帧内预测、单向帧间预测和双向帧间预测。当视频译码器开始译码图片的切片时,视频译码器可初始化第一参考图片列表(即,列表0)。此外,如果当前切片为B切片,那么视频译码器可初始化第二参考图片列表(即,列表1)。本发明可将列表0称作“RefPicList0”且可将列表1称作“RefPicList1”。

为了产生RefPicList0,视频译码器(例如,视频编码器或视频解码器)可产生RefPicList0的初始版本。在RefPicList0的初始版本中,首先列出RefPicSetStCurrBefore 中的参考图片,继之以RefPicSetStCurrAfter中的参考图片,继之以RefPicSetLtCurr中的参考图片(如果可用)。在RefPicList0的初始版本中,具有较早输出次序的短期图片(即, RefPicSetStCurrBefore中的参考图片)首先以到当前图片的图片次序计数(picture order count,POC)距离的升序被插入到RefPicList0中,接着具有较迟输出次序的短期图片(即, RefPicSetStCurrAfter中的参考图片)以到当前图片的POC距离的升序被插入到 RefPicList0中,且最后长期图片(即,RefPicSetLtCurr中的参考图片)被插入于末端处。 POC距离为针对图片的POC值之间的差。POC为与每一图片相关联的变量,其指示相对于同一经译码视频序列中的其它图片的输出次序位置的以输出次序的关联图片的位置。

相似地,为了产生RefPicList1,视频译码器可产生RefPicList1的初始版本。在 RefPicList1的初始版本中,首先列出RefPicSetStCurrAfter中的参考图片,继之以 RefPictSetStCurrBefore中的参考图片,继之以RefPicSetLtCurr中的参考图片。在 RefPicList1的初始版本中,具有较迟输出次序的短期图片(即,RefPicSetStCurrAfter中的参考图片)首先以到当前图片的POC距离的升序被插入到RefPicList1中,接着具有较早输出次序的短期图片(即,RefPicSetStCurrBefore中的参考图片)以到当前图片的POC 距离的升序被插入到RefPicList1中,且最后长期图片(即,RefPicSetLtCurr中的参考图片)被插入于末端处。以此方式,参考图片列表初始化基于如下三个RPS子集而产生默认列表0和列表1(如果切片为B切片):RefPicSetStCurrBefore、RefPicSetStCurrAfter 和RefPicSetLtCurr。

在视频译码器产生参考图片列表(例如,RefPicList0或RefPicList1)的初始版本之后,视频译码器可修改参考图片列表中的参考图片的次序。即,视频译码器可执行参考图片列表修改(reference picture list modification,RPLM)过程以修改参考图片列表中的参考图片的次序。

在多视图译码中,可存在同一场景从不同视点的多个视图。术语“存取单元”可用以指对应于同一时间执行个体的图片集合。因此,视频数据可被概念化为随着时间推移出现的一系列存取单元。“视图分量”可为单一存取单元中的视图的经译码表示。在本发明中,“视图”可指与同一视图识别符相关联的视图分量序列。

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

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

NAL单元可包含标头和有效负载。NAL单元的标头可包含nuh_reserved_zero_6bits 语法元素。在一些实例中,如果NAL单元涉及多视图译码、3DV译码或可调式视频译码中的基础层,那么NAL单元的nuh_reserved_zero_6bits语法元素等于0。可在不参考位流的任何其它层中的数据的情况下解码所述位流的基础层中的数据。如果NAL单元并不与多视图译码、3DV或可调式视频译码中的基础层有关,那么 nuh_reserved_zero_6bits语法元素可具有非零值。具体地说,如果NAL单元并不与多视图译码、3DV或可调式视频译码中的基础层有关,那么NAL单元的 nuh_reserved_zero_6bits语法元素指定所述NAL单元的层识别符。

此外,可在不参考层内的其它图片的情况下解码所述同一层内的一些图片。因此,可在不影响层中的其它图片的可解码性的情况下从位流去除封装所述层的某些图片的数据的NAL单元。例如,可在不参考具有奇数图片次序计数(POC)值的图片的情况下可解码具有偶数POC值的图片。去除封装这些图片的数据的NAL单元可缩减位流的帧率。可在不参考层内的其它图片的情况下解码的所述层内的图片的子集可在本文中被称作子层。

NAL单元可包含temporal_id语法元素。NAL单元的temporal_id语法元素指定所述 NAL单元的时间识别符。如果第一NAL单元的时间识别符小于同一层中的第二NAL 单元的时间识别符,那么可在不参考由第二NAL单元封装的数据的情况下解码由第一 NAL单元封装的数据。

位流的每一操作点与层识别符集合(即,nuh_layer_id值集合)和时间识别符相关联。层识别符集合可被表示为OpLayerIdSet且时间识别符可被表示为TemporalID。如果NAL 单元的层识别符处于操作点的层识别符集合中且所述NAL单元的时间识别符小于或等于所述操作点的时间识别符,那么所述NAL单元属于所述操作点。操作点为与 OpLayerIdSet和时间识别符相关联的位流子集。操作点可包含与操作点相关联的每一 NAL单元。操作点不包含与操作点不相关联的VCL NAL单元。

至少一些视频译码标准指定视频缓冲模型。在H.264/AVC和HEVC中,缓冲模型被称作“假设的参考解码器”或“HRD”。在HEVC工作草案10中,附件C中描述HRD。 HRD描述如何缓冲数据以供解码和如何缓冲经解码数据以供输出。例如,HRD描述经译码图片缓冲器(“coded picture buffer,CPB”)、经解码图片缓冲器(“decoded picture buffer, DPB”)和视频解码过程的操作。CPB为含有以由HRD指定的解码次序的存取单元的先进先出缓冲器。DPB为保持经解码图片以用于由HRD指定的参考、输出重新排序或输出延迟的缓冲器。可数学地指定CPB和DPB的行为。HRD可直接地强加对时序、缓冲区大小和位速率的约束。此外,HRD可间接地强加对各种位流特性和统计的约束。

在H.264/AVC和HEVC中,位流一致性和解码器一致性经指定为HRD规范的部分。换句话说,HRD模型指定用以确定位流是否符合标准的测试且指定用以确定解码器是否符合标准的测试。尽管HRD被称为某种类解码器,但视频编码器通常使用HRD以保证位流一致性,而视频解码器通常无需HRD。

H.264/AVC和HEVC两者指定两种类型的位流或HRD一致性,即,类型I和类型 II。类型I位流为NAL单元流,其仅含有用于所述位流中的所有存取单元的VCL NAL 单元和填充符数据NAL单元。在至少一些实例中,NAL单元流为NAL单元序列。类型 II位流为除了含有用于所述位流中的所有存取单元的VCL NAL单元和填充符数据NAL 单元以外,也含有以下各者中至少一者的NAL单元流:除了填充符数据NAL单元以外的额外非VCL NAL单元;和所有leading_zero_8bits、zero_byte、 start_coded_prefix_one_3bytes和trailing_zero_8bits语法元素,所述语法元素用NAL单元流形成字节流。

当装置执行确定位流是否符合视频译码标准的位流一致性测试时,所述装置可选择所述位流的操作点。所述装置可接着确定适用于选定操作点的HRD参数集。所述装置可使用适用于选定操作点的HRD参数集以配置HRD的行为。更明确地说,所述装置可使用适用HRD参数集以配置HRD的特定组件的行为,所述特定组件例如,假设的流调度器(hypothetical stream scheduler,HSS)、CPB、解码过程、DPB等等。随后,HSS可根据特定调度将位流的经译码视频数据注入到HRD的CPB中。此外,装置可调用解码CPB 中的经译码视频数据的解码过程。解码过程可将经解码图片输出到DPB。在装置经由 HRD移动数据时,所述装置可确定是否保持满足特定约束集合。例如,装置可确定在 HRD正解码选定操作点的操作点的同时在CPB或DPB中是否发生溢位或下溢条件。装置可以此方式选择并处理位流的每一操作点。如果位流的操作点未造成违背约束,那么装置可确定出所述位流符合视频译码标准。

H.264/AVC和HEVC两者指定两种类型的解码器一致性,即,输出时序解码器一致性和输出次序解码器一致性。主张符合特定简档、阶层和层级的解码器能够成功地解码符合例如HEVC的视频译码标准的位流一致性要求的所有位流。在一些实例中,“简档”可指位流语法的子集。可在每一简档内指定“阶层”和“层级”。阶层的层级可为对位流中的语法元素的值强加的经指定约束集合。这些约束可为对值的简单限制。替代地,所述约束可采取对值的算术组合(例如,图片宽度×图片高度×每秒所解码图片的数目)的约束的形式。通常,经指定用于较低阶层的层级相比于经指定用于较高阶层的层级更受约束。

当装置执行解码器一致性测试以确定受测试解码器(decoder under test,DUT)是否符合视频译码标准时,装置可将符合视频译码标准的位流提供到HRD和DUT两者。HRD 可以上文关于位流一致性测试所描述的方式处理位流。装置可确定出在由DUT输出的经解码图片的次序与由HRD输出的经解码图片的次序匹配的情况下DUT符合视频译码标准。此外,装置可确定出在DUT输出经解码图片的时序与HRD输出经解码图片的时序匹配的情况下DUT符合视频译码标准。

在H.264/AVC模型和HEVC HRD模型中,解码或CPB去除可以存取单元为基础。即,假定HRD同时解码完整存取单元且从CPB去除完整存取单元。此外,在H.264/AVC 和HEVC HRD模型中,假定图片解码是瞬时的。视频编码器20可在图片时序SEI消息中传信解码时间以开始存取单元的解码。在实务应用中,如果符合的视频解码器严格地遵循传信的解码时间以开始存取单元的解码,那么用以输出特定经解码图片的最早可能时间等于那个特定图片的解码时间加解码那个特定图片所需要的时间。然而,在真实世界中,解码图片所需要的时间不能等于零。

HRD参数可控制HRD的各种方面。换句话说,HRD可依赖于HRD参数。HRD参数可包含初始CPB去除延迟、CPB大小、位速率、初始DPB输出延迟,和DPB大小。视频编码器20可在视频参数集(VPS)和/或序列参数集(SPS)中指定的hrd_parameters() 语法结构中传信这些HRD参数。个别VPS和/或SPS可包含用于不同HRD参数集的多个hrd_parameters()语法结构。在一些实例中,视频编码器20可在缓冲周期SEI消息或图片时序SEI消息中传信HRD参数。

如上文所解释,位流的操作点与层识别符集合(即,nuh_reserved_zero_6bits值集合) 和时间识别符相关联。操作点可包含与操作点相关联的每一NAL单元。操作点可具有不同于原始位流的帧率和/或位速率。这是因为操作点可不包含原始位流的一些图片和/ 或一些数据。因此,如果视频解码器30在处理原始位流时待在一特定速率下从CPB和/ 或DPB去除数据且如果视频解码器30在处理操作点时待在同一速率下从CPB和/或DPB 去除数据,那么视频解码器30可从CPB和/或DPB去除过多或过少数据。因此,视频编码器20可传信用于不同操作点的不同HRD参数集。例如,视频编码器20可在VPS 中包含多个hrd_parameters()语法结构,所述hrd_parameters()语法结构包含用于不同操作点的HRD参数。

在HEVC工作草案10(也被称作WD10)中,HRD参数集任选地包含为所有时间子层所共有的信息集合。换句话说,HRD参数集可任选地包含适用于包含任何时间子层的操作点的共同语法元素集合。时间子层可为由具有特定TemporalId值的VCL NAL单元和相关联非VCL NAL单元组成的时间可调式位流的时间可调式层。除了共同信息集合以外,HRD参数集也可包含特定用于个别时间子层表示的语法元素集合。例如, hrd_parameters()语法结构可任选地包含为所有子层表示所共有的信息集合,且总是包含子层特定信息。因为共同信息集合为多个HRD参数集所共有,所以可没有必要在多个 HRD参数集中传信共同信息集合。实情为,在HEVC工作草案10中,当HRD参数集为VPS中的第一HRD参数集时,共同信息可存在于所述HRD参数集中,或当HRD参数集与第一操作点索引相关联时,共同信息可存在于所述HRD参数集中。例如,HEVC 工作草案10(WD10)在hrd_parameters()语法结构为VPS中的第一hrd_parameters()语法结构时或在hrd_parameters()语法结构与第一操作点索引相关联时支持共同信息的存在。

下文的表1为用于HEVC中的hrd_parameters()语法结构的实例语法结构。

表1——HRD参数

在上文的表1的实例和本发明的其它语法表中,具有类型描述符ue(v)的语法元素可为可变长度无符号整数,其使用0阶指数葛洛姆(Exp-Golomb)译码予以编码,其中左侧位首先被编码。在表1的实例和以下表中,具有形式u(n)的描述符的语法元素(其中n 为非负整数)为长度n的无符号值。

在表1的实例语法中,等于1的语法元素nal_hrd_parameters_present_flag指定NAL HRD参数(与类型II位流一致性有关)存在于hrd_parameters()语法结构中。等于0的 nal_hrd_parameters_present_flag指定NAL HRD参数不存在于hrd_parameters()语法结构中。因此,NAL HRD参数为与类型II位流一致性有关的HRD参数。等于1的语法元素 nal_hrd_parameters_present_flag指定VCL HRD参数(与所有位流一致性有关)存在于 hrd_parameters()语法结构中。等于0的vcl_hrd_parameters_present_flag指定VCL HRD 参数不存在于hrd_parameters()语法结构中。因此,VCL HRD参数为与所有位流一致性有关的HRD参数。

在表1的实例语法中,“if(commonInfPresentFlag){…}”块中的语法元素为HRD 参数集的共同信息。换句话说,HRD参数集的共同信息可包含语法元素 timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、 vcl_hrd_parameters_present_flag、sub_pic_cpb_params_present_flag、tick_divisor_minus2、 du_cpb_removal_delay_length_minus1、bit_rate_scale、cpb_size_scale、 initial_cpb_removal_delay_length_minus1、cpb_removal_delay_length_minus1,和 dpb_output_delay_length_minus1。

此外,在表1的实例中,语法元素fixed_pic_rate_flag[i]、pic_duration_in_tc_minus1[i]、 low_delay_hrd_flag[i]和cpb_cnt_minus1[i]可为子层特定HRD参数集。换句话说, hrd_parameters()语法结构的这些语法元素可仅适用于包含特定子层表示的操作点。因此,hrd_parameters()语法结构的HRD参数可除了任选地包含的共同信息以外也包含特定用于位流的特定子层表示的子层特定HRD参数集。

fixed_pic_rate_flag[i]语法元素可指示当HighestTid等于i时,以输出次序的任两个连续图片的HRD输出时间之间的时间距离以一特定方式受约束。HighestTid可为识别(例如,操作点的)最高时间子层的变量。pic_duration_in_tc_minus1[i]语法元素可指定当 HighestTid等于i时的以经译码视频序列中的输出次序的任何连续图片的HRD输出时间之间的时间距离(以时钟周期计)。low_delay_hrd_flag[i]语法元素可指定当HighestTid等于i时的HRD操作模式,如HEVC工作草案10的附件C中所指定。cpb_cnt_minus1[i] 语法元素可指定当HighestTid等于i时经译码视频序列的位流中的替代CPB规范的数目,其中一个替代CPB规范指具有特定CPB参数集的一个特定CPB操作。

视频编码器20可使用SEI消息以在位流中包含图片的样本值的正确解码并不需要之元数据。然而,视频解码器30或其它装置出于各种其它目的可使用包含于SEI消息中的元数据。例如,视频解码器30或另一装置可使用SEI消息中的元数据以用于图片输出时序、图片显示、损耗检测和误差隐蔽。

视频编码器20可在存取单元中包含一或多个SEI NAL单元。换句话说,任何数目个SEI NAL单元可与存取单元相关联。此外,每一SEI NAL单元可含有一或多个SEI 消息。HEVC标准描述用于各种类型的SEI消息的语法和语意。然而,因为SEI消息不影响正常解码过程,所以HEVC标准未描述SEI消息的处置。在HEVC标准中具有SEI 消息的一个原因在于使能够使用HEVC在不同系统中相等地解译补充数据。使用HEVC 的规范和系统可需要视频编码器产生某些SEI消息或可定义特定类型的所接收SEI消息的特定处置。下文的表2列出HEVC中指定的SEI消息且简要描述其目的。

表2——SEI消息的综述

在HEVC中,每一NAL单元包含指示所述NAL单元的NAL单元类型的一语法元素(例如,nal_unit_type)。此外,在HEVC中,视频解码器30可基于NAL单元的NAL 单元类型而将所述NAL单元识别为与多个图片类型中的一者相关联。这些图片类型可包含瞬时解码再新(Instantaneous Decoding Refresh,IDR)图片、清洁随机存取(Clean Random Access,CRA)图片、时间子层存取(Temporal Sub-Layer Access,TSA)图片、断链存取(Broken Link Access,BLA)图片,和不为IDR图片、CRA图片或TSA图片的经译码图片。

HEVC中的IDR图片的定义可相似于H.264/AVC中的IDR图片的定义。相似地,HEVC中的经译码图片的定义可相似于H.264/AVC中的经译码图片的定义。例如,IDR 图片和经译码图片可为从H.264/AVC规范继承的图片类型。IDR图片可造成解码过程将所有参考图片标记为“不用于参考”。因为经标记为“不用于参考”的参考图片可从存储参考图片的经解码图片缓冲器(DPB)予以去除,所以IDR图片可清除DPB。可在并不从以解码次序在IDR图片之前的任何图片进行帧间预测的情况下来解码以解码次序在所述IDR图片之后的所有经译码图片。以解码次序的每一经译码视频序列的第一图片为 IDR图片或BLA图片,或CRA图片,其也为位流的第一图片。当存取单元的经译码图片为IDR图片时,存取单元可被称作IDR存取单元。在一些实例中,经译码视频序列为存取单元序列,其以解码次序由IDR存取单元、继之以不为IRAP存取单元(其中 NoRaslOutputFlag等于1)的零个或零个以上存取单元(包含直到(但不包含)任何后续IDR 存取单元的所有后续存取单元)组成。

CRA图片类型和TSA图片类型在HEVC中是新的且在H.264/AVC规范中不可用。 CRA图片类型促进从视频序列中间的任何随机存取点(RAP)开始的解码。将CRA图片插入于视频序列中相比于将IDR图片插入于同一视频序列中可更有效率。随机存取为在除了位流的开始以外的一点处开始用于所述位流的解码过程的动作。在HEVC中,从 CRA图片开始的位流可为符合的位流。即,以CRA图片开始的位流的部分可符合HEVC 规范。TSA图片可用以指示有效时间子层切换点。

在例如广播和流的视频应用过程中,用户可在不同信道之间切换且跳转到视频的特定部分。理想地,应在具有最小延迟量的情况下执行以此方式的信道切换和跳转。可通过以规则时间间隔将随机存取图片包含于视频位流中来实现信道切换和跳转。IDR图片可在H.264/AVC和HEVC两者中用作随机存取图片。换句话说,H.264/AVC和HEVC 两者中指定的IDR图片可用于随机存取。然而,因为IDR图片开始经译码视频序列且可总是清洁DPB,所以以解码次序在所述IDR图片之后的图片不能够将以解码次序在所述IDR图片之前解码的图片用于参考。因此,依赖于IDR图片以供随机存取的位流可具有显著较低译码效率(例如,低6%的译码效率)。为了改善译码效率,HEVC中的CRA 图片可允许以解码次序在所述CRA图片之后但以输出次序在所述CRA图片之前的图片将在所述CRA之前解码的图片用于参考。

图2为说明CRA图片和前置图片的概念图。即,围绕CRA图片的典型预测结构在图2的实例中被展示。在图2的实例中,每一平行四边形表示图片。每一相应平行四边形内的数字指示由所述相应平行四边形表示的相应图片的实例POC值。CRA图片(即,图2的实例中的具有POC值24的图片)属于图片群组(Group of Picture,GOP),所述图片群组(GOP)含有以解码次序在所述CRA图片之后但以输出次序在所述CRA图片之前的其它图片(即,具有POC值17到23的图片)。这些图片(即,以解码次序在CRA图片之后但以输出次序在CRA图片之前的图片)可被称作CRA图片的“前置图片”。视频解码器30可在解码从以解码次序在当前CRA图片之前出现的IDR图片或CRA图片开始的情况下正确地解码当前CRA图片的前置图片。然而,视频解码器30可在发生从当前 CRA图片的随机存取时不能够正确地解码当前CRA图片的前置图片。因此,视频解码器30可在从当前CRA图片的随机存取解码期间舍弃当前CRA图片的前置图片。

当视频解码器30在解码当前图片时使用参考图片的不正确解码的部分时可发生误差传播。为了防止来自取决于解码在何处开始而可能不可用的参考图片的误差传播, GOP中的在CRA图片之后的图片都不可将以解码次序或输出次序在CRA图片之前的任何图片(包含CRA图片的前置图片)用作参考。因此,在图2的实例中,下一GOP中的以解码次序和输出次序两者在CRA图片之后的所有图片不应将以解码次序或输出次序在CRA图片之前的任何图片用作参考。

复原点SEI消息可用于H.264/AVC中而以相似于HEVC中的CRA图片的方式提供随机存取。换句话说,H.264/AVC支持在使用复原点SEI消息的情况下的相似随机存取功能性。H.264/AVC解码器实施方案可能或可能不支持复原点SEI消息功能性。在HEVC 中,以CRA图片开始的位流被视为系符合的位流。当位流以CRA图片开始时,所述 CRA图片的前置图片可指不可用参考图片,且因此不可被正确地解码。然而,HEVC指定开始CRA图片的前置图片不被输出,因此名称为“清洁随机存取”。为了建立位流一致性要求,HEVC可指定解码过程以产生用于解码非输出前置图片的不可用参考图片。然而,符合的解码器实施方案不必须遵循那个解码过程,只要与从位流的开始执行解码过程的情况相比解码器实施方案可产生相同输出即可。在HEVC中,符合的位流可根本不包含IDR图片。

王(Wang)等人的全部内容以引用方式并入本文中的“AHG9:关于在HEVC 3DV和可调式扩展中的跨层对准(AHG9:On cross-layer alignments in HEVC 3DV and scalable extensions)”(2013年4月,韩国仁川,ITU-T SG 16和ISO/IEC JTC1/SC 29/WG 11的视频译码联合合作团队(JCT-VC)第13次会议,文件JCTVC-M0266_v2(在下文中为“JCTVC-M0266_v2”))提供一种用于定义用于跨层随机存取跳过(CL-RAS)图片的解码过程的设计。至少截至2014年5月30日,JCTVC-M0266_v2可得从 http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0266-v2.zip。

JCTVC-M0266_v2中的设计将IRAP存取单元(AU)定义为包含具有nuh_layer_id等于0的IRAP图片的所有AU。图片的nuh_layer_id值可指示所述图片所属于的层。 JCTVC-M0266_v2中的设计也定义用以详述从此IRAP存取单元开始的位流的解码的过程的CL-RAS图片和断链IDR(BL-IDR)图片。下文中再现一些相关定义。下文的定义的加下划线部分指示不同于HEVC工作草案10中的对应定义的部分。

存取单元:根据经指定分类规则彼此相关联的NAL单元集合以解码次序连续,且含有与同一输出时间相关联的所有经译码图片

注意1——除了含有经译码图片的VCL NAL单元以外,存取单元也可含有非VCL NAL单元。

经译码视频序列(CVS):以解码次序由初始IRAP存取单元、继之以不为初始IRAP存取单元的零个或零个以上存取单元(包含直到(但不包含)为初始IRAP存取单元的任何后续存取单元的所有后续存取单元)组成的存取单元序列。

跨层随机存取跳过(CL-RAS)图片:每一VCL NAL单元具有等于CL_RAS_R或CL_RAS_N的nal_unit_type的经译码图片。

注意4——当NoClrasOutputFlag等于1时,CL-RAS图片未经输出且可未被正确地可解码,这是因为CL-RAS图片可含有对不存在于位流中的图片的参考。CL-RAS图片不用作用于非CL-RAS图片的解码过程的参考图片。

初始帧内随机存取点(IRAP)存取单元:nuh_layer_id等于0的经译码图片具有等于 1的NoRaslOutputFlag的IRAP存取单元。

瞬时解码再新(IDR)图片:每一VCL NAL单元具有等于IDR_W_RADL、IDR_N_LP、BL_IDR_W_RADL或BL_IDR_N_LP的nal_unit_type的IRAP图片。

帧内随机存取点(IRAP)存取单元:nuh_layer_id等于0的经译码图片为IRAP图片的存取单元。

在HEVC工作草案10中,随机存取跳过前置(random access skipped leading,RASL) 图片为每一VCL NAL单元具有等于RASL_R或RASL_N的nal_unit_type的经译码图片。所有RASL图片为关联BLA或CRA图片的前置图片。当关联IRAP图片具有等于1的 NoRaslOutputFlag时,RASL图片未经输出且可未被正确地可解码,这是因为RASL图片可含有对不存在于位流中的图片的参考。RASL图片不用作用于非RASL图片的解码过程的参考图片。当存在时,所有RASL图片以解码次序在同一关联IRAP图片的所有后端图片之前。

即,在HEVC工作草案10中,针对每一IRAP图片来定义变量NoRaslOutputFlag。当NoRaslOutputFlag等于1时,IRAP图片开始新的经译码视频序列,且关联RASL图片(当存在时)未经输出。在JCTVC-M0266v2中,NoRaslOutputFlag的定义改变如下:

当当前图片为IRAP图片时,以下情况适用:[应注意,NoRaslOutputFlag的此定义相同于JCT3V-C1004v4.zip中的定义,但移动到也适用于nuh_layer_id大于0的IRAP 图片]。

-如果具有特定nuh_layer_id的当前图片为IDR图片、BLA图片、以解码次序在位流中的具有那个特定nuh_layer_id的第一图片或以解码次序在序列NAL单元末端之后的具有那个特定nuh_layer_id的第一图片,那么变量NoRaslOutputFlag经设定为等于1。

-另外,如果本说明书中未指定的一些外部方式可用以将变量HandleCraAsBlaFlag 设定到用于当前图片的值,那么变量HandleCraAsBlaFlag经设定为等于由外部方式提供的所述值,且变量NoRaslOutputFlag经设定为等于HandleCraAsBlaFlag。

-否则,变量HandleCraAsBlaFlag经设定为等于0且变量NoRaslOutputFlag经设定为等于0。

相似地,为了向解码过程指示关联CL-RAS图片(当存在时)是否被输出,可将另一变量NoClrasOutputFlag定义如下:

当含有当前图片的存取单元为初始IRAP存取单元时,以下情况适用:

-如果当前图片为BLA图片、NoRaslOutputFlag等于1的CRA图片或BL-IDR图片,那么NoClrasOutputFlag等于1。

-另外,如果本说明书中未指定的一些外部方式可用以将变量NoClrasOutputFlag 设定为等于一个值,那么变量NoClrasOutputFlag经设定为等于由外部方式提供的所述值。

-否则,NoClrasOutputFlag等于0。

解码过程可经定义为使得当解码初始IRAP存取单元(AU)的CL-RAS图片时且当 NoClRasOutputFlag等于1时产生不可用参考图片(相似于在HEVC WD10中产生不可用参考图片)。在一些实例中,位流不包含经译码CL-RAS图片。然而,一些HRD操作可依赖于包含经译码CL-RAS图片的位流。例如,在如HEVC工作草案10的附件C中指定的HRD操作中,在导出CPB到达时间和去除时间时可需要考量含有RASL图片的存取单元。因此,视频解码器可执行过程以产生这些不可用参考图片。视频译码器可将所产生不可用参考图片中的每一像素的每一样本值设定到最大值。例如,如HEVC工作草案10的章节8.3.3.2中所描述:

当调用此过程时,不可用图片产生如下:

-用于图片的样本阵列SL中的每一元素的值经设定为等于1<<(BitDepthY-1)。

-用于图片的样本阵列SCb和SCr中的每一元素的值经设定为等于1<<(BitDepthC -1)。

-预测模式CuPredMode[x][y]经设定为等于MODE_INTRA(对于x= 0..pic_width_in_luma_samples-1,y=0..pic_height_in_luma_samples-1)。

全部内容以引用方式并入的于2013年4月16日申请的美国临时专利申请案 61/812,225涉及本发明的一或多个技术。在基于HEVC扩展具有一个以上层的位流中,随机存取点被定义为存取单元中的所有图片为IRAP图片的那些存取单元。此情形强加对随机存取能力的限定,且也可需要在nuh_layer_id等于0的图片为IRAP图片的那些存取单元处提供随机存取能力。美国临时专利申请案61/812,225定义与含有nuh_layer_id 等于0的IRAP图片的IRAP存取单元相关联的CL-RAS图片的概念。为了支持随机存取能力,将有必要在解码从nuh_layer_id等于0的图片为IRAP图片且存取单元中并非所有图片都是IRAP图片的此AU开始时定义解码器的行为。美国临时专利申请案 61/812,225和JCTVC-M0266_v2提供与此情形有关的一些过程。

然而,现有设计(包含提供美国临时专利申请案61/812,225和JCTVC-M0266_v2的那些设计)与一或多个问题相关联。例如,流服务器和媒体感知网络元件(media-aware network element,MANE)可在CL-RAS图片未被正确地可解码时(即,当 NoClrasOutputFlag针对初始IRAP AU等于1时)决定不将这些CL-RAS图片发送到接收器。为了使符合的解码器能够处置位流含有这些CL-RAS图片或不含有这些CL-RAS图片两种状况,需要将两种状况的位流定义为符合的位流且因此需要两个HRD参数集。否则,仅一种状况可被定义为符合的位流,且因此,需要符合的解码器的增强以处置位流为不符合的位流的另一状况。

在与美国临时专利申请案61/812,225和JCTVC-M0266_v2相关联的缺点的另一实例中,为了在解码初始IRAP AU的CL-RAS图片时且在NoClRasOutputFlag等于1时产生不可用参考图片,不仅需要产生RPS子集RefPicSetStFoll和RefPicSetLtFoll,而且需要产生RPS子集RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr。如果针对RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr子集未定义此过程,那么不可执行CL-RAS图片的解码过程,这是因为在用于帧间预测的那些子集中不存在参考图片(既不存在原始参考图片,也不存在所产生参考图片)。

本发明定义NoClrasPicPresentFlag以指定是否存在与初始IRAP AU相关联的 CL-RAS图片。因此,装置(例如,视频解码器或其它装置)可基于值(例如, NoClRasPicPresentFlag)确定IRAP存取单元的所有CL-RAS图片(即,与IRAP存取单元相关联的所有CL-RAS图片)是否存在于视频数据位流中。NoClrasPicPresentFlag为可(例如)由外部方式或在SEI消息中设定的变量。因此,在一些实例中,装置可至少部分地基于视频数据位流的SEI消息中的数据来设定值(例如,NoClRasPicPresentFlag)。此外,在一些实例中,值(例如,NoClRasPicPresentFlag)可由用于视频数据的解码过程外部的机制 (即,外部方式)设定。如本发明中的别处所描述,装置可至少部分地基于值(例如, NoClRasPicPresentFlag)来执行CPB操作。

在一些实例中,视频编码器20可产生包含形成经译码图片和相关联数据的表示的位序列的位流。位流可包含供接收所述位流的装置能够导出指定帧内随机存取点(IRAP) 存取单元的跨层随机存取跳过(CL-RAS)图片是否存在于所述位流中的值(例如, NoClRasPicPresentFlag)的语法元素。视频编码器20可输出所述位流。在一些实例中,视频编码器20(或例如MANE的另一装置)可产生SEI消息,所述SEI消息设定指定IRAP 存取单元的CL-RAS图片是否存在于包含形成经译码图片和相关联数据的表示的位序列的位流中的变量。在一些实例中,装置可在位流中包含SEI消息。

此外,本发明的一些技术定义位流的一致性,其中CL-RAS图片与具有nuh_layer_id 等于0且NoRaslOutputFlag等于1的IRAP图片的初始IRAP存取单元相关联。缓冲周期SEI消息中的对应于在CL-RAS图片不存在于一致性位流中时的CPB延迟偏移和DPB 延迟偏移的语法元素被传信。此外,本发明的一些技术定义缓冲周期SEI消息中的对应于用以考量CL-RAS图片的去除的替代CPB初始去除延迟值和偏移值的语法元素。另外,本发明的一些技术定义在CL-RAS图片不存在于符合的位流中时使用新近定义的语法元素的CPB行为和DPB行为。

另外,本发明的一些技术定义当解码初始IRAP AU中的CL-RAS图片时且当 NoClRasOutputFlag等于1时的用于不可用参考图片的完整产生过程。例如,当CL-RAS 图片未经输出时(例如,当NoClRasOutputFlag等于1时)且当当前图片为初始IRAP存取单元中的CL-RAS图片时,视频解码器(例如,视频解码器30)可产生用于CL-RAS图片的不可用参考图片。在一些实例中,IRAP存取单元为其中nuh_layer_id等于0的图片为 IRAP图片的存取单元。初始IRAP存取单元可为其中nuh_layer_id等于0的IRAP图片具有等于1的NoRaslOutputFlag的IRAP存取单元。

此外,本发明的一些技术定义用以传信用于IRAP存取单元的替代位速率和CPB大小参数的新跨层HRD参数SEI消息。可在对应IRAP存取单元为初始IRAP存取单元(其中不存在关联CL-RAS图片)时使用这些参数。

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

在图3的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重新构建单元112、滤波器单元114、经解码图片缓冲器116,和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122和运动补偿单元124。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。

视频编码器20可接收视频数据。视频编码器20可在视频数据的图片的切片中编码每一CTU。CTU中每一者可与同等大小的亮度译码树状结构块(coding tree block,CTB) 和图片的对应CTB相关联。作为编码CTU的部分,预测处理单元100可执行四元树状结构分割,以将CTU的CTB划分成逐渐较小块。较小块可为CU的译码块。例如,预测处理单元100可将与CTU相关联的CTB分割成四个同等大小的子块、将所述子块中的一或多者分割成四个同等大小的子子块,等等。

视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与亮度预测块和对应色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。CU的大小可指CU的亮度译码块的大小,且PU 的大小可指PU的亮度预测块的大小。在假定特定CU的大小为2N×2N的情况下,视频编码器20和视频解码器30可支持2N×2N或N×N的PU大小以用于帧内预测,且支持 2N×2N、2N×N、N×2N、N×N的对称PU大小或相似大小以用于帧间预测。视频编码器 20和视频解码器30也可支持2N×nU、2N×nD、nL×2N、和nR×2N的PU大小的不对称分割以用于帧间预测。

帧间预测处理单元120可通过对CU的每一PU执行帧间预测而产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块和用于PU的运动信息。帧间预测处理单元120可对CU的PU执行不同操作,此取决于PU是处于I切片、P切片还是 B切片中。在I切片中,所有PU被帧内预测。因此,如果PU处于I切片中,那么帧间预测处理单元120对PU不执行帧间预测。因此,对于在I模式中编码的块,使用从同一帧内的经先前编码相邻块的空间预测来形成预测性块。

如果PU处于P切片中,那么运动估计单元122可在参考图片列表(例如,“RefPicList0”)中搜索参考图片以寻找用于PU的参考区。用于PU的参考区可为参考图片内的含有最紧密对应于PU的样本块的样本块的区。运动估计单元122可产生指示含有用于PU的参考区的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元122可产生指示PU的译码块与相关联于参考区的参考位点之间的空间位移的运动向量。例如,运动向量可为提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元122可输出参考索引和运动向量作为PU的运动信息。运动补偿单元 124可基于由PU的运动向量指示的参考位点处的实际或经内插样本而产生PU的预测性块。

如果PU处于B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元122可搜索RefPicList0或第二参考图片列表 (“RefPicList1”)的参考图片以寻找用于PU的参考区。运动估计单元122可输出如下各者作为PU的运动信息:指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引;指示PU的预测块与相关联于参考区的参考位点之间的空间位移的运动向量;和指示参考图片是处于RefPicList0中还是RefPicList1中的一或多个预测方向指示符。运动补偿单元124可至少部分地基于由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性块。

为了对PU执行双向帧间预测,运动估计单元122可搜索RefPicList0中的参考图片以寻找用于PU的参考区,且也可搜索RefPicList1中的参考图片以寻找用于PU的另一参考区。运动估计单元122可产生指示含有参考区的参考图片的RefPicList0和 RefPicList1中的位置的参考索引。另外,运动估计单元122可产生指示相关联于参考区的参考位点与PU的预测块之间的空间位移的运动向量。PU的运动信息可包含参考索引和PU的运动向量。运动补偿单元124可至少部分地基于由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性块。

帧内预测处理单元126可通过对PU执行帧内预测而产生用于PU的预测性数据。用于PU的预测性数据可包含用于PU的预测性块以及各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式以产生用于PU的多个预测性数据集合。相邻PU可处于所述PU上方、处于所述PU右上方、处于所述PU左上方或处于所述PU左侧(在假定用于PU、CU和CTU的从左到右、从上到下的编码次序的情况下)。帧内预测处理单元126可使用各种数目个帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

预测处理单元100可自由用于CU的PU的帧间预测处理单元120产生的预测性数据或由用于所述PU的帧内预测处理单元126产生的预测性数据当中选择用于所述PU 的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真度量来选择用于CU的PU的预测性数据。选定预测性数据的预测性块可在本文中被称作选定预测性块。

残余产生单元102可基于CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块) 和CU的PU的选定预测性块(例如,亮度预测性块、Cb预测性块和Cr预测性块)而产生 CU的残余块(例如,亮度残余块、Cb残余块和Cr残余块)。例如,残余产生单元102可产生CU的残余块使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU 的对应选定预测性块中的对应样本之间的差的值。

变换处理单元104可执行四元树状结构分割以将CU的残余块分割成CU的TU的变换块(即,与CU的TU相关联的变换块)。因此,TU可具有一亮度变换块和两个对应色度变换块(即,与一亮度变换块和两个对应色度变换块相关联)。CU的TU的亮度和色度变换块的大小和位置可能或可能不基于所述CU的PU的预测块的大小和位置。被称为“残余四元树状结构”(residual quad-tree,RQT)的四元树状结构可包含与区中每一者相关联的节点(例如,对应于区中每一者的节点)。CU的TU可对应于RQT的叶节点。

变换处理单元104可通过将一或多个变换应用于CU的每一TU的变换块而产生用于所述TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可将离散余弦变换(discrete cosine transform,DCT)、定向变换或概念上相似的变换应用于变换块。在一些实例中,变换处理单元104不将变换应用于变换块。在这些实例中,变换块可被视为变换系数块。

量化单元106可量化系数块中的变换系数。量化过程可缩减与所述变换系数中的一些或全部相关联的位深度。例如,可在量化期间将n位变换系数降值舍位到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值来量化与所述 CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值而调整应用于与所述CU相关联的系数块的量化程度。量化可引入信息的丢失;因此,经量化变换系数相比于原始变换系数可具有较低精度。

反量化单元108和反变换处理单元110可分别将反量化和反变换应用于系数块,以从系数块重新构建残余块。重新构建单元112可将经重新构建残余块加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重新构建变换块。通过以此方式重新构建用于CU的每一TU的变换块,视频编码器20可重新构建 CU的译码块。

滤波器单元114可执行一或多个解块操作以缩减与CU相关联的译码块中的块效应伪影。经解码图片缓冲器116可在滤波器单元114对经重新构建译码块执行一或多个解块操作之后存储经重新构建译码块。帧间预测处理单元120可使用含有经重新构建译码块的参考图片以对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重新构建译码块以对与CU相同图片中的其它PU执行帧内预测。

熵编码单元118可从视频编码器20的其它功能组件接收数据。例如,熵编码单元 118可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码数据。例如,熵编码单元118 可对数据执行上下文自适应性可变长度译码(context-adaptive variable length coding, CAVLC)操作、CABAC操作、变量到变量(variable-to-variable,V2V)长度译码操作、以语法为基础的上下文自适应性二进制算术译码(syntax-based context-adaptive binary arithmetic coding,SBAC)操作、概率区间分割熵(Probability Interval Partitioning Entropy, PIPE)译码操作、指数葛洛姆编码操作,或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。例如,位流可包含表示用于CU 的RQT的数据。

在一些实例中,由图3的视频编码器20产生的位流可包含供接收所述位流的装置(例如,视频解码器30)能够导出指定IRAP存取单元的CL-RAS图片是否存在于所述位流中的值的一或多个语法元素。例如,由视频编码器20产生的缓冲周期SEI消息可包含供接收位流的装置能够导出指定IRAP存取单元的CL-RAS图片是否存在于位流中的值的一或多个语法元素。

图4为说明经配置以实施本发明的技术的实例视频解码器30的框图。图4是出于解释的目的而提供,且不限制如本发明中所广泛地例示并描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

在图4的实例中,视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重新构建单元158、滤波器单元160,和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同功能组件。

经译码图片缓冲器(CPB)151可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB 151接收NAL单元,且可剖析NAL单元以获得(例如,解码)语法元素。熵解码单元150可熵解码NAL单元中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重新构建单元158和滤波器单元160 可基于从位流提取的语法元素而产生经解码视频数据。

位流的NAL单元可包含经译码切片NAL单元。作为解码位流的部分,熵解码单元 150可从经译码切片NAL单元提取并熵解码语法元素。经译码切片中每一者可包含切片标头和切片数据。切片标头可含有与切片有关的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。

根据本发明的一或多个技术,视频解码器30的一或多个组件(例如,熵解码单元150) 可确定值(例如,NoClRasPicPresentFlag)。此外,根据本发明的一或多个技术,视频解码器30可基于所述值确定IRAP存取单元的所有CL-RAS图片是否存在于视频数据位流中。另外,装置可解码视频数据位流。

除了从位流获得(例如,解码)语法元素以外,视频解码器30也可对CU执行重新构建操作。为了对CU执行重新构建操作,视频解码器30可对CU的每一TU执行重新构建操作。通过对CU的每一TU执行重新构建操作,视频解码器30可重新构建CU的残余块。

作为对CU的TU执行重新构建操作的部分,反量化单元154可反量化(即,解量化) TU(例如,与TU相关联)的系数块。反量化单元154可使用与TU的CU相关联的QP 值以确定量化程度,且同样地确定供反量化单元154应用的反量化程度。即,可通过调整当量化变换系数时所使用的QP的值来控制压缩比(即,用以表示原始序列的位数目与用以表示经压缩序列的位数目的比率)。压缩比也可取决于所使用的熵译码的方法。

在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。例如,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。

如果使用帧内预测来编码PU,那么帧内预测处理单元166可执行帧内预测以产生用于PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于空间上相邻PU 的预测块而产生用于PU的预测性亮度块、Cb块和Cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素而确定用于PU的帧内预测模式。

预测处理单元152可基于从位流提取的语法元素而构建第一参考图片列表 (RefPicList0)和第二参考图片列表(RefPicList1)。此外,如果使用帧间预测来编码PU,那么熵解码单元150可提取用于PU的运动信息。运动补偿单元164可基于PU的运动信息来确定用于PU的一或多个参考区。运动补偿单元164可基于用于PU的一或多个参考块的样本块而产生用于PU的预测性亮度块、Cb块和Cr块。

重新构建单元158可在适用时使用与CU的TU相关联的变换块(例如,亮度变换块、 Cb变换块和Cr变换块)和CU的PU的预测性块(例如,亮度预测性块、Cb预测性块和 Cr预测性块)(即,帧内预测数据或帧间预测数据),以重新构建CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)。例如,重新构建单元158可将变换块(例如,亮度变换块、Cb变换块和Cr变换块)的样本加到预测性块(例如,亮度预测性块、Cb预测性块和Cr预测性块)的对应样本以重新构建CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)。

滤波器单元160可执行解块操作以缩减与CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)相关联的块效应伪影。视频解码器30可将CU的译码块(例如,亮度译码块、Cb译码块和Cr译码块)存储于经解码图片缓冲器162中。经解码图片缓冲器 162可提供参考图片以用于后续运动补偿、帧内预测和呈现于显示装置(例如,图1的显示装置32)上。例如,视频解码器30可基于经解码图片缓冲器162中的块(例如,亮度块、Cb块和Cr块)而对其它CU的PU执行帧内预测操作或帧间预测操作。以此方式,视频解码器30可从位流提取系数块的变换系数级;反量化变换系数级;将变换应用于变换系数级以产生变换块;至少部分地基于变换块而产生一或多个译码块;和输出一或多个译码块以用于显示。

在本发明的技术的第一组实例中,定义与使用的CL-RAS图片的一致性所需的语法、语意和解码过程的修改是相对于JCTVC-M0266v2和美国临时专利申请案61/812,225中所描述的特定过程予以定义。在此实例中,针对HRD参数所引入的语法元素包含于缓冲周期SEI消息中。

在本发明的技术的第一组实例中,可提供关联CL-RAS图片的以下定义:

关联CL-RAS图片:用于初始IRAP AU的CL-RAS图片,其中在layerSetLayerIdList 中含有具有层ID值nuh_layer_id的CVS内的CL-RAS图片,所述图片在初始IRAP AU 中的第一图片之后且以解码次序在具有层ID值nuh_layer_id的IRAP图片之前。

此外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10中所描述的一般解码过程的以下改变。SHVC和MV-HEVC工作草案定义在相对于HEVC工作草案 (例如,HEVC工作草案10)的改变方面的SHVC和MV-HEVC的一些部分。贯穿以下章节,用下划线标记的段为由JCTVC-M0266v2引入的HEVC工作草案10的语法、语意和解码过程的额外改变以实施SHVC和/或MV-HEVC。用粗斜体标记的段为由本发明引入的额外改变。用双方括号标记的斜体字段是由本发明从HEVC工作草案10去除(或在 SHVC或MV-HEVC工作草案中引入对HEVC工作草案10的改变)以实施SHVC、 MV-HEVC或其它扩展。

8.1一般解码过程

到此过程的输入为位流。此过程的输出为经解码图片列表。

待解码的NAL单元的以nuh_layer_id值的递增次序指定nuh_layer_id值的列表的层识别符列表TargetDecLayerIdList经指定如下:

-如果本说明书中未指定的一些外部方式可用以设定TargetDecLayerIdList,那么 TargetDecLayerIdList是由外部方式设定。

-另外,如果在如子条项C.1中所指定的位流一致性测试中调用解码过程,那么 TargetDecLayerIdList经设定为如子条项C.1中所指定。

-否则,TargetDecLayerIdList仅含有等于0的一个nuh_layer_id值。

识别待解码的最高时间子层的变量HighestTid经指定如下:

-如果本说明书中未指定的一些外部方式可用以设定HighestTid,那么HighestTid 是由外部方式设定。

-另外,如果在如子条项C.1中指定的位流一致性测试中调用解码过程,那么 HighestTid经设定为如子条项C.1中所指定。

-否则,将HighestTid设定为等于sps_max_sub_layers_minus1。

如条项10中指定的子位流提取过程应用于位流(HighestTid和TargetDecLayerIdList 作为输入),且输出被指派给被称作BitstreamToDecode的位流。

此子条项的剩余部分中指定的解码过程应用于每一经译码图片,其被称作当前图片且在BitstreamToDecode中由变量CurrPic表示。

取决于chroma_format_idc的值,当前图片的样本阵列的数目如下:

-如果chroma_format_idc等于0,那么当前图片是由1个样本阵列SL组成。

-否则(chroma_format_idc不等于0),当前图片是由3个样本阵列SL、SCb、SCr组成。

用于当前图片的解码过程将来自条项7的语法元素和大写字母变量作为输入。当解释每一NAL单元中的每一语法元素的语意时,术语“位流”(或其部分,例如,位流的 CVS)指BitstreamToDecode(或其部分)。

解码过程经指定成使得所有解码器将产生数值相等的经裁剪经解码图片。产生与由本文所描述的过程产生的经裁剪经解码图片相等的经裁剪经解码图片(以正确输出次序或输出时序)的任何解码过程符合本说明书的解码过程要求。

当当前图片为IRAP图片时,以下情况适用:

-如果具有特定nuh_layer_id的当前图片为IDR图片、BLA图片、以解码次序在位流中的具有那个特定nuh_layer_id的第一图片或以解码次序在序列NAL单元末端之后的具有那个特定nuh_layer_id的第一图片,那么变量NoRaslOutputFlag经设定为等于1。

-另外,如果本说明书中未指定的一些外部方式可用以将变量HandleCraAsBlaFlag设定到用于当前图片的值,那么变量HandleCraAsBlaFlag经设定为等于由外部方式提供的所述值,且变量NoRaslOutputFlag经设定为等于HandleCraAsBlaFlag。

-否则,变量HandleCraAsBlaFlag经设定为等于0且变量NoRaslOutputFlag经设定为等于0。

当含有当前图片的存取单元为初始IRAP存取单元时,以下情况适用:

-如果当前图片为BLA图片、NoRaslOutputFlag等于1的CRA图片或BL-IDR图片,那么NoClrasOutputFlag等于1。

-另外,如果本说明书中未指定的一些外部方式可用以将变量NoClrasOutputFlag设定为等于一个值,那么变量NoClrasOutputFlag经设定为等于由外部方式提供的所述值。

-否则,NoClrasOutputFlag等于0。

当当前AU为初始IRAP AU时,NoClrasPicPresentFlag的值是由外部方式指定。 NoClrasPicPresentFlag等于0指定与初始IRAP AU相关联的所有CL-RAS图片都不存在于位流中。NoClrasPicPresentFlag等于1指定与初始IRAP AU相关联的所有CL-RAS 图片都存在于位流中。

替代地,NoClRasPicPresentFlag可通过作为位流的部分而存在的语法元素导出例如,通过新NAL单元类型值导出,或经由VPS中的旗标导出,经由SEI消息中(例如,缓冲周期SEI消息中)的旗标导出。

当当前图片具有等于0的nuh_layer_id时,调用子条项8.1.1中指定的用于 nuh_layer_id等于0的经译码图片的解码过程。

位流一致性的要求为:遵循以下限定:

如果当前图片为nuh_layer_id大于0的IRAP图片,那么对于具有层ID值 directRefLayerId的当前层的每一直接参考层,在CVS中存在nuh_layer_id值等于 directRefLayerId且解码次序在当前图片之前的至少一个IRAP图片。

因此,在至少一些实例中,视频解码器(或其它装置)可执行位流一致性测试以确定视频数据位流是否符合视频译码规范,其中位流一致性的要求为:如果当前图片为层识别符大于0的IRAP图片,那么对于当前层的每一直接参考层,在CVS中存在层识别符等于当前层的层识别符且解码次序在当前图片之前的至少一个IRAP图片。另外,装置(例如,视频编码器20或另一装置)可产生包含VPS的位流,所述VPS包含供视频解码器能够导出NoClRasPicPresentFlag的语法元素(例如,旗标)。

此外,根据本发明的技术的第一组实例,可作出对提供于HEVC工作草案10中的 NAL单元标头语意的以下改变。

F.7.4.2.2NAL单元标头语意

子条项7.4.2.2中的规范在以下修改和添加的情况下适用。

nal_unit_type指定NAL单元中所含有的RBSP数据结构的类型,如表7-1中所指定。

语意未被指定的具有在UNSPEC48..UNSPEC63的范围内(包含UNSPEC48与 UNSPEC63)的nal_unit_type的NAL单元不应影响本说明书中所指定的解码过程。

注意1——可使用如由应用过程确定的在UNSPEC48..UNSPEC63的范围内的NAL 单元类型。本说明书中未指定用于这些nal_unit_type值的解码过程。因为不同应用过程可出于不同目的使用这些NAL单元类型,所以在设计产生具有这些nal_unit_type值的 NAL单元的编码器时和在设计解译具有这些nal_unit_type值的NAL单元的内容的解码器时必须特别仔细地实行。

出于除了确定位流的解码单元中的数据的量(如附件C中所指定)以外的目的,解码器应忽视使用nal_unit_type的经保留值的所有NAL单元的内容(从位流去除所述内容且舍弃所述内容)。

注意2——此要求允许进一步定义对本说明书的可兼容扩展。

表7-1——NAL单元类型码和NAL单元类型类别

注意3——CRA图片可具有存在于位流中的关联RASL或RADL图片。

注意4——nal_unit_type等于BLA_W_LP的BLA图片可具有存在于位流中的关联 RASL或RADL图片。nal_unit_type等于BLA_W_RADL的BLA图片不具有存在于位流中的关联RASL图片,但可具有位流中的关联RADL图片。nal_unit_type等于BLA_N_LP 的BLA图片不具有存在于位流中的关联前置图片。

注意5——nal_unit_type等于IDR_N_LP或BL_IDR_N_LP的IDR图片不具有存在于位流中的关联前置图片。nal_unit_type等于IDR_W_RADL或BL_IDR_W_RADL的 IDR图片不具有存在于位流中的关联RASL图片,但可具有位流中的关联RADL图片。

注意6——子层非参考图片不包含于具有同一TemporalId值的任何图片的 RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr中任一者中,且可被舍弃,而不影响具有同一TemporalId值的其它图片的可解码性。

存取单元中的具有特定nuh_layer_id值的所有经译码切片片段NAL单元应具有同一 nal_unit_type值。图片也被称作具有等于图片的经译码切片片段NAL单元的 nal_unit_type的nal_unit_type。

如果图片具有等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、CL_RAS_N、 RSV_VCL_N12或RSV_VCL_N14的nal_unit_type,那么所述图片为子层非参考图片。否则,所述图片为子层参考图片。

如果当前存取单元为初始IRAP存取单元,那么以下情况适用:

-如果当前存取单元中的nuh_layer_id等于RefLayerId[LayerIdInVps[currLayerId]][j]的每一图片为IRAP图片(其中j在0到NumDirectRefLayers[LayerIdInVps[currLayerId]]-1的范围内(包含0与NumDirectRefLayers[LayerIdInVps[currLayerId]]-1))且currLayerId为当前图片的nuh_layer_id,那么当前图片应为nal_unit_type等于CL_RAS_R的IRAP图片或CL-RAS图片。

-否则,当前图片应为nal_unit_type等于CL_RAS_R的CL-RAS图片。

另外,以下情况适用:

-如果与当前图片同一层的以解码次序的前一图片为CL-RAS图片,那么当前图片应为CL-RAS图片或IRAP图片。

-否则,当前图片不应为CL-RAS图片。

在每一层内,除了以解码次序的位流中的第一图片以外的每一图片被视为与以解码次序的前一IRAP图片相关联。

当图片为前置图片时,其应为RADL或RASL图片。

当图片为后端图片时,其不应为RADL或RASL图片。

当图片为前置图片时,其以解码次序应在与同一IRAP图片相关联的所有后端图片之前。

与nal_unit_type等于BLA_W_RADL或BLA_N_LP的BLA图片相关联的RASL图片不应存在于位流中。

与IDR图片相关联的RASL图片不应存在于位流中。

与nal_unit_type等于BLA_N_LP的BLA图片相关联的RADL图片或与nal_unit_type 等于IDR_N_LP或BL_IDR_N_LP的IDR图片相关联的RADL图片不应存在于位流中。

注意7——有可能在IRAP存取单元的位置处通过舍弃所述IRAP存取单元之前的所有存取单元来执行随机存取(且正确地解码IRAP图片和以解码次序的所有后续非RASL 图片),限制条件为:每一参数集在其需要被激活时可用(在位流中可用或由本说明书中未指定的外部方式可用)。

PicOutputFlag等于1的以解码次序在IRAP图片之前的任何图片应以输出次序在所述IRAP图片之前且应以输出次序在与所述IRAP图片相关联的任何RADL图片之前。

与CRA或BLA图片相关联的任何RASL图片应以输出次序在与所述CRA或BLA 图片相关联的任何RADL图片之前。

与CRA图片相关联的任何RASL图片应以输出次序在以解码次序在所述CRA图片之前的任何IRAP图片之后。

当sps_temporal_id_nesting_flag等于1且TemporalId大于0时,nal_unit_type应等于TSA_R、TSA_N、RADL_R、RADL_N、RASL_R,或RASL_N。

nuh_layer_id指定层的识别符。

当nal_unit_type等于CL_RAS_R、CL_RAS_N、BL_IDR_W_RADL或BL_IDR_N_LP时,nuh_layer_id的值应大于0。

此外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10的VPS、SPS 和PPS激活的以下改变。

F.7.4.2.4.2VPS、SPS和PPS RBSP和其激活的次序

子条项7.4.2.4.2中的规范在以下添加的情况下适用。

每一PPS RBSP最初被视为在解码过程的操作开始时针对nuh_layer_id大于0的任何层都并非作用中的。至多一个PPS RBSP被视为在解码过程的操作期间的任何给定时刻针对每一非零nuh_layer_id值系作用中的,且用于特定非零nuh_layer_id值的任何特定PPS RBSP的激活会导致去激活用于那个非零nuh_layer_id值的先前作用中的PPS RBSP(如果存在)。

当PPS RBSP(具有特定pps_pic_parameter_set_id值)针对nuh_layer_id值并非作用中的且其是由经译码切片片段NAL单元(使用等于pps_pic_parameter_set_id的 slice_pic_parameter_set_id的值且具有那个nuh_layer_id值)参考时,其针对那个 nuh_layer_id值被激活。此PPS RBSP被称为针对那个nuh_layer_id值的作用中层PPS RBSP直到通过激活用于同一层的另一PPS RBSP而去激活其为止。具有那个特定 pps_pic_parameter_set_id值的PPS RBSP应在其激活之前可用于解码过程;包含于 TemporalId小于或等于PPS NAL单元的TemporalId的至少一个存取单元中或通过外部方式提供。含有针对等于nuhLayerIdA的nuh_layer_id而激活的PPS RBSP的NAL单元的nuh_layer_id值应小于或等于nuhLayerIdA。同一PPS RBSP可为用于一个以上 nuh_layer_id值的作用中层PPS。

含有用于经译码图片的作用中层PPS RBSP的pps_pic_parameter_set_id的值的任何 PPS NAL单元应具有与用于所述经译码图片的作用中层PPS RBSP的内容相同的内容,除非其在所述经译码图片的最后VCL NAL单元之后且在另一经译码图片的第一VCL NAL单元之前。

每一SPS RBSP最初被视为在解码过程的操作开始时针对nuh_layer_id大于0的任何层都并非作用中的。至多一个SPS RBSP被视为在解码过程的操作期间的任何给定时刻针对每一非零nuh_layer_id值是作用中的,且用于特定非零nuh_layer_id值的任何特定SPS RBSP的激活会导致去激活用于那个非零nuh_layer_id值的先前作用中的SPS RBSP(如果存在)。

当SPS RBSP(具有特定sps_seq_parameter_set_id值)针对nuh_layer_id值已经并非作用中的且其通过针对那个nuh_layer_id值的PPS RBSP的激活来参考(其中 pps_seq_parameter_set_id等于sps_seq_parameter_set_id值)时,其是针对那个 nuh_layer_id值来激活。此SPS RBSP被称为针对那个nuh_layer_id值的作用中层SPS RBSP,直到通过激活用于同一层的另一SPS RBSP而去激活其为止。具有那个特定 sps_seq_parameter_set_id值的SPS RBSP应在其激活之前可用于解码过程,包含于 TemporalId等于0的至少一个存取单元中或经由外部方式提供。针对特定nuh_layer_id 值的经激活SPS RBSP应针对具有那个nuh_layer_id值的以解码次序的图片序列保持作用中的,所述图片序列从初始IRAP存取单元中或初始IRAP存取单元之后的含有具有 nuh_layer_id值的图片的第一存取单元中具有那个nuh_layer_id值的图片开始(包含所述图片),直到初始IRAP存取单元中具有那个nuh_layer_id值的下一图片(不包含所述下一图片)或CVS的末端(无论任何情况都较早)为止。含有针对等于nuhLayerIdA的 nuh_layer_id而激活的SPS RBSP的NAL单元的nuh_layer_id值应小于或等于 nuhLayerIdA。同一SPS RBSP可为用于一个以上nuh_layer_id值的作用中层SPS。

含有用于作用中层SPS RBSP的sps_seq_parameter_set_id的值的任何SPS NAL单元应具有与作用中层SPS RBSP的内容相同的内容,除非其在需要使所述作用中层SPS为作用中的最后经译码图片之后且在激活同一seq_parameter_set_id值的SPS的第一NAL 单元之前。

在用于具有非零nuh_layer_id值的VCL NAL单元的解码过程的操作期间,实际上考虑针对那个非零nuh_layer_id值的作用中层SPS的参数值和针对那个非零 nuh_layer_id值的作用中层PPS RBSP。

在本发明的技术的第一组实例中,可作出对HEVC工作草案10的解码过程的以下改变以用于开始具有大于0的nuh_layer_id的经译码图片的解码。

F.8.1.1用于开始具有大于0的nuh_layer_id的经译码图片的解码的解码过程

此子条项中所提及的每一图片为完整经译码图片。

解码过程针对当前图片CurrPic操作如下:

1.子条项4中指定NAL单元的解码。

2.子条项8.3中的过程指定使用切片片段层中的语法元素和上述内容的以下解码过程:

-子条项8.3.1中导出与图片次序计数有关的变量和函数。此需要仅针对图片的第一切片片段予以调用。位流一致性的要求为:在同一CVS内具有一特定nuh_layer_id值的两个图片的PicOrderCnVal值之间的差针对任何nuh_layer_id值应相同。

-针对nuh_layer_id等于CurrPic的nuh_layer_id的图片调用子条项8.3.2中的用于RPS的解码过程,其中参考图片可被标记为“不用于参考”或“用于长期参考”。此需要仅针对图片的第一切片片段予以调用。

-当NoClrasOutputFlag等于1且含有CurrPic的存取单元为初始IRAP存取单元时,调用章节5.7中所指定的用于产生不可用参考图片的解码过程,其需要仅针对图片的第一切片片段予以调用。

此外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10的解码过程的以下改变以用于结束具有大于0的nuh_layer_id的经译码图片的解码。

F.8.1.1用于结束具有大于0的nuh_layer_id的经译码图片的解码的解码过程

PicOutputFlag经设定如下:

-如果当前图片为RASL图片且关联IRAP图片的NoRaslOutputFlag等于1,那么 PicOutputFlag经设定为等于0。

-另外,如果当前图片为CL-RAS图片且NoClrasOutputFlag等于1,那么PicOutputFlag经设定为等于0。

-否则,PicOutputFlag经设定为等于pic_output_flag。

以下情况适用:

-经解码图片经标记为“用于短期参考”。

-当TemporalId等于HighestTid时,调用子条项F.8.1.2.1中指定的层间预测所不需要的用于子层非参考图片的标记过程,其中等于nuh_layer_id的latestDecLayerId作为输入。

另外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10中的不可用参考图片的产生的以下改变。

8.3.3.1用于产生不可用参考图片的一般解码过程

当当前图片为BLA图片或为NoRaslOutputFlag等于1的CRA图片时每经译码图片调用此过程一次。

注意——此过程主要经指定仅用于RASL图片的语法约束的规范。用于与具有等于 1的NoRaslOutputFlag的IRAP图片相关联的RASL图片的解码过程的整个规范是仅出于指定对这些RASL图片的所允许语法内容的约束的目的而包含于本文中。在解码过程期间,可忽视与具有等于1的NoRaslOutputFlag的IRAP图片相关联的任何RASL图片,这是因为这些图片未被指定用于输出且对经指定用于输出的任何其它图片的解码过程不具有影响。然而,在如附件C中所指定的HRD操作中,在导出CPB到达时间和去除时间时可需要考量RASL图片。

当调用此过程时,以下情况适用:

-对于等于“无参考图片”的每一RefPicSetStFoll[i](其中i在0到NumPocStFoll -1的范围内(包含0与NumPocStFoll-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocStFoll[i]。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于短期参考”。

-RefPicSetStFoll[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

-对于等于“无参考图片”的每一RefPicSetLtFoll[i](其中i在0到NumPocLtFoll -1的范围内(包含0与NumPocLtFoll-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocLtFoll[i]。

-用于所产生图片的slice_pic_order_cnt_lsb的值经推断为等于 (PocLtFoll[i]&(MaxPicOrderCntLsb-1))。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于长期参考”。

-RefPicSetLtFoll[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

此外,在本发明的技术的第一组实例中,HEVC工作草案10中的产生用于CL-RAS 图片的不可用参考图片可改变如下。

当NoClrasOutputFlag等于1且当前图片为初始IRAP存取单元中的CL-RAS图片时每经译码图片调用此过程一次。

注意——此过程主要经指定仅用于CL-RAS图片的语法约束的规范。NoClrasOutputFlag等于1时用于CL-RAS图片的解码过程的整个规范是仅出于指定对这些CL-RAS图片的所允许语法内容的约束的目的而包含于本文中。在解码过程期间,NoClrasOutputFlag等于1时可忽视任何CL-RAS图片,这是因为这些图片未被指定用于输出且对经指定用于输出的任何其它图片的解码过程不具有影响。然而,在如附件C中所指定的HRD操作中,在导出CPB到达时间和去除时间时可需要考量CL-RAS图片

当调用此过程时,以下情况适用:

-对于等于“无参考图片”的每一RefPicSetStCurrBefore[i](其中i在0到 NumPocStCurrBefore-1的范围内(包含0与NumPocStCurrBefore-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocStCurrBefore[i]。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于短期参考”。

-RefPicSetStCurrBefore[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

-对于等于“无参考图片”的每一RefPicSetStCurrAfter[i](其中i在0到NumPocStCurrAfter-1的范围内(包含0与NumPocStCurrAfter-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocStCurrAfter[i]。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于短期参考”。

-RefPicSetStCurrAfter[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

-对于等于“无参考图片”的每一RefPicSetStFoll[i](其中i在0到NumPocStFoll -1的范围内(包含0与NumPocStFoll-1)),产生一图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocStFoll[i]。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于短期参考”。

-RefPicSetStFoll[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

-对于等于“无参考图片”的每一RefPicSetLtCurr[i](其中i在0到NumPocLtCurr -1的范围内(包含0与NumPocLtCurr-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocLtCurr[i]。

-用于所产生图片的slice_pic_order_cnt_lsb的值经推断为等于 (PocLtCurr[i]&(MaxPicOrderCntLsb-1))。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于长期参考”。

-RefPicSetLtCurr[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

-对于等于“无参考图片”的每一RefPicSetLtFoll[i](其中i在0到NumPocLtFoll -1的范围内(包含0与NumPocLtFoll-1)),产生图片,如子条项8.3.3.2中所指定且以下情况适用:

-用于所产生图片的PicOrderCntVal的值经设定为等于PocLtFoll[i]。

-用于所产生图片的slice_pic_order_cnt_lsb的值经推断为等于 (PocLtFoll[i]&(MaxPicOrderCntLsb-1))。

-用于所产生图片的PicOutputFlag的值经设定为等于0。

-所产生图片经标记为“用于长期参考”。

-RefPicSetLtFoll[i]经设定为所产生参考图片。

-用于所产生图片的nuh_layer_id的值经设定为等于nuh_layer_id。

因此,在一些实例中,视频解码器30可在解码用于第一、第二、第三、第四和第五参考图片子集的CL-RAS图片时产生不可用参考图片。第一参考图片子集中的每一参考图片(例如,RefPicSetStCurrBefore)为以输出次序在当前图片之前出现的短期参考图片;第二参考图片子集中的每一参考图片(例如,RefPicSetStCurrAfter)为以输出次序在当前图片之后出现的短期参考图片;第三参考图片子集中的每一参考图片(例如, RefPicSetStFoll)为不用于当前图片的帧间预测的短期参考图片;第四参考图片子集中的每一参考图片(例如,RefPicSetLtCurr)为可用于当前图片的帧间预测的长期参考图片;且第五参考图片子集中的每一参考图片(例如,RefPicSetLtFoll)为不用于当前图片的帧间预测的长期参考图片。

此外,在一些实例中,对于第一参考图片子集的阵列中的每一相应位置(例如, RefPicSetStBefore[i]),视频解码器30可在所述相应位置处的条目等于“无参考图片”的情况下产生以下情况适用的参考图片:用于所产生参考图片的图片次序计数(POC)值等于第一POC值集合(例如,PocStCurrBefore)中的相应位置处的POC值;用于所产生参考图片的图片输出旗标经设定为等于0;所产生参考图片经标记为用于短期参考;参考图片子集的阵列中的相应位置经设定到所产生参考图片;且用于所产生参考图片的层识别符经设定到当前图片的层识别符(例如,nuh_layer_id)。此外,对于第二参考图片子集的阵列中的每一相应位置(例如,RefPicSetStCurrAfter[i]),如果所述相应位置处的条目等于“无参考图片”,那么视频译码器可产生以下情况适用的参考图片:用于所产生参考图片的POC值等于第二POC值集合(例如,PocStCurrAfter)中的相应位置处的POC 值;用于所产生参考图片的图片输出旗标经设定为等于0;所产生参考图片经标记为用于短期参考;第二参考图片子集的阵列中的相应位置经设定到所产生参考图片;且用于所产生参考图片的层识别符经设定到当前图片的层识别符。另外,对于第三参考图片子集的阵列中的每一相应位置(例如,RefPicSetStFoll[i]),如果所述相应位置处的条目等于“无参考图片”,那么视频解码器可产生以下情况适用的参考图片:用于所产生参考图片的POC值等于第三POC值集合(例如,PocStFoll)中的相应位置处的POC值;用于所产生参考图片的图片输出旗标经设定为等于0;所产生参考图片经标记为用于短期参考;第三参考图片子集的阵列中的相应位置经设定到所产生参考图片;且用于所产生参考图片的层识别符经设定到当前图片的层识别符。此外,对于第四参考图片子集的阵列中的每一相应位置(例如,RefPicSetLtCurr[i]),如果所述相应位置处的条目等于“无参考图片”,那么视频解码器可产生以下情况适用的参考图片:用于所产生参考图片的POC值等于第四POC值集合(例如,PocLtCurr)中的相应位置处的POC值;指定用于所产生图片的POC值的最低有效位的语法元素(例如,slice_pic_order_cnt_lsb)的值经推断为等于第四POC值集合中的相应位置处的POC值与由指示允许POC值的最低有效位具有的最大值的变量(例如,MaxPicOrderCntLsb)减1导致的值的按位“和”运算的结果;用于所产生参考图片的图片输出旗标经设定为等于0;所产生参考图片经标记为用于长期参考;第四参考图片子集的阵列中的相应位置经设定到所产生参考图片;且用于所产生参考图片的层识别符经设定到当前图片的层识别符。另外,对于第五参考图片子集的阵列中的每一相应位置(例如,PocSetLtFoll[i]),如果所述相应位置处的条目等于“无参考图片”,那么视频解码器可产生以下情况适用的参考图片:用于所产生参考图片的POC值等于第五POC值集合(例如,PocLtFoll)中的相应位置处的POC值;指定用于所产生图片的 POC值的最低有效位的语法元素(例如,slice_pic_order_cnt_lsb)的值经推断为等于第五 POC值集合中的相应位置处的POC值与由指示允许POC值的最低有效位具有的最大值的变量(例如,MaxPicOrderCntLsb)减1导致的值的按位“和”运算的结果;用于所产生参考图片的图片输出旗标经设定为等于0;所产生参考图片经标记为用于长期参考;第五参考图片子集的阵列中的相应位置经设定到所产生参考图片;且用于所产生参考图片的层识别符经设定到当前图片的层识别符。

此外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10的缓冲周期 SEI消息语法的以下改变。

替代地,在一些实例中,irap_cross_layer_cpb_params_present_flag的传信并不取决于sub_pic_hrd_params_present_flag的值,且在缓冲周期SEI消息中被独立地传信。

此外,根据本发明的技术的第一组实例,可作出对缓冲周期SEI消息语意的以下改变。

等于1的irap_cross_layer_cpb_params_present_flag指定initial_alt_cross_layer_ cpb_removal_delay[i]和initial_alt_cross_layer_cpb_removal_offset[i]语法元素的存在。当所述语法元素不存在时,irap_cross_layer_cpb_params_present_flag的值经推断为等于 0。当关联图片既不为CRA图片也不为BLA图片时, irap_cross_layer_cpb_params_present_flag的值应等于0。

注意2——sub_pic_hrd_params_present_flag的值、irap_cpb_params_present_flag 的值和irap_cross_layer_cpb_params_present_flag的值中的不超过一者可等于1。

cpb_cross_layer_delay_offset指定待用于导出在与相关联于缓冲周期SEI消息的 IRAP存取单元相关联的CL-RAS图片单元不存在时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间的偏移。语法元素具有由 au_cpb_removal_delay_length_minus1+1以位为单位而给出的长度。当语法元素不存在时,cpb_cross_layer_delay_offset的值经推断为等于0。

dpb_cross_layer_delay_offset指定待用于导出在与相关联于缓冲周期SEI消息的 IRAP存取单元相关联的CL-RAS图片不存在时所述IRAP存取单元的DPB输出时间的偏移。语法元素具有由dpb_output_delay_length_minus1+1以位为单位而给出的长度。当语法元素不存在时,dpb_cross_layer_delay_offset的值经推断为等于0。

当当前图片不为以解码次序的位流中的第一图片时,假设prevNonDiscardablePic 为TemporalId等于0的以解码次序的前一图片,其不为RASL、RADL或子层非参考图片。

nal_initial_cpb_removal_delay[i]和nal_initial_alt_cpb_removal_delay[i]分别指定当NAL HRD参数在使用中时针对第i CPB的默认初始CPB去除延迟和替代初始CPB 去除延迟。语法元素具有由initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。语法元素的值应不等于0且应小于或等于 90000*(CpbSize[i]÷BitRate[i]),CPB大小的时间当量以90kHz时钟为单位。

nal_initial_alt_cross_layer_cpb_removal_delay[i]指定当NAL HRD参数在使用中时针对第i CPB的替代初始CPB去除延迟。语法元素具有由 initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。语法元素的值应不等于0且应小于或等于90000*(CpbSize[i]÷BitRate[i]), CPB大小的时间当量以90kHz时钟为单位。

nal_initial_cpb_removal_offset[i]和nal_initial_alt_cpb_removal_offset[i]分别指定当NAL HRD参数在使用中时针对第i CPB的默认初始CPB去除偏移和替代初始CPB 去除偏移。语法元素具有由initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。

nal_initial_alt_cross_layer_cpb_removal_offset[i]指定当NAL HRD参数在使用中时针对第i CPB的替代初始CPB去除偏移。语法元素具有由 initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。

遍及整个CVS,nal_initial_cpb_removal_delay[i]与nal_initial_cpb_removal_offset[i] 的和应针对每一i值恒定;nal_initial_alt_cpb_removal_delay[i]与 nal_initial_alt_cpb_removal_offset[i]的和应针对每一i值恒定;且 nal_initial_alt_cross_layer_cpb_removal_delay[i]与nal_initial_alt_cross_layer_cpb_ removal_offset[i]的和应针对每一i值恒定。

vcl_initial_cpb_removal_delay[i]和vcl_initial_alt_cpb_removal_delay[i]分别指定当VCL HRD参数在使用中时针对第i CPB的默认初始CPB去除延迟和替代初始CPB 去除延迟。语法元素具有由initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。语法元素的值应不等于0且应小于或等于 90000*(CpbSize[i]÷BitRate[i]),CPB大小的时间当量以90kHz时钟为单位。

vcl_initial_alt_cross_layer_cpb_removal_delay[i]分别指定当VCL HRD参数在使用中时针对第i CPB的替代初始CPB去除延迟。语法元素具有由 initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。语法元素的值应不等于0且应小于或等于90000*(CpbSize[i]÷BitRate[i]), CPB大小的时间当量以90kHz时钟为单位。

vcl_initial_cpb_removal_offset[i]和vcl_initial_alt_cpb_removal_offset[i]分别指定当VCL HRD参数在使用中时针对第i CPB的默认初始CPB去除偏移和替代初始CPB 去除偏移。语法元素具有由initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。

vcl_initial_alt_cross_layer_cpb_removal_offset[i]分别指定当VCL HRD参数在使用中时针对第i CPB的替代初始CPB去除偏移。语法元素具有由 initial_cpb_removal_delay_length_minus1+1以位为单位而给出的长度,且以90kHz时钟为单位。

遍及整个CVS,vcl_initial_cpb_removal_delay[i]与vcl_initial_cpb_removal_offset[i] 的和应针对每一i值恒定;vcl_initial_alt_cpb_removal_delay[i]与 vcl_initial_alt_cpb_removal_offset[i]的和应针对每一i值恒定;且 vcl_initial_alt_cross_layer_cpb_removal_delay[i]与vcl_initial_alt_cross_layer_cpb_ removal_offset[i]的和应针对每一i值恒定。

注意4——编码器被推荐在与CRA或BLA图片(其关联RASL图片中的至少一者以解码次序在其关联RADL图片中的一或多者之后)相关联的缓冲周期SEI消息中不包含等于1的irap_cpb_params_present_flag。

缓冲周期SEI消息中的其余语法元素的语意保持不变。

替代地,在hrd_parameters()语法结构中传信指定语法元素的长度(以位为单位)的额外语法元素:cpb_cross_layer_delay_offset、dpb_cross_layer_delay_offset、nal_initial_alt_ cross_layer_cpb_removal_delay[i]、nal_initial_alt_cross_layer_cpb_removal_offset[i]、 vcl_initial_alt_cross_layer_cpb_removal_delay[i],和vcl_initial_alt_cross_layer_cpb_ removal_offset[i]。

因此,在一些实例中,视频解码器30可从经译码视频位流的SEI消息获得第一语法元素(例如,irap_cross_layer_cpb_params_present_flag),所述第一语法元素指定第二替代CPB去除延迟语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_delay)和第三替代CPB去除偏移语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_offset)是否存在于SEI消息中。第二替代CPB去除延迟语法元素可指定当NAL HRD参数在使用中时针对CPB的替代初始CPB去除延迟。第三替代CPB去除偏移语法元素指定当NAL HRD 参数在使用中时针对CPB的替代初始CPB去除偏移。另外,视频解码器30可从SEI 消息获得指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于 SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间。视频解码器30也可从 SEI消息获得指定偏移的经解码图片缓冲器(DPB)跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时所述IRAP存取单元的DPB输出时间。

相似地,在一些实例中,装置(例如,视频编码器20)产生包含第一语法元素(例如, irap_cross_layer_cpb_params_present_flag)的SEI消息,所述第一语法元素指定第二替代 CPB去除延迟语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_delay)和第三替代 CPB去除偏移语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_offset)是否存在于 SEI消息中。第二替代CPB去除延迟语法元素指定当NAL HRD参数在使用中时针对CPB 的替代初始CPB去除延迟。第三替代CPB去除偏移语法元素指定当NAL HRD参数在使用中时针对CPB的替代初始CPB去除偏移。SEI消息包含指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的 CL-RAS图片不存在于视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间。SEI消息包含指定偏移的DPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时所述IRAP存取单元的DPB输出时间。

此外,在一些实例中,视频解码器30可从经译码视频位流的SEI消息获得第一语法元素(例如,irap_cross_layer_cpb_params_present_flag),所述第一语法元素指定第二替代CPB去除延迟语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_delay)和第三替代CPB去除偏移语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_offset)是否存在于SEI消息中。第二替代CPB去除延迟语法元素可指定当VCL HRD参数在使用中时针对CPB的替代初始CPB去除延迟。第三替代CPB去除偏移语法元素指定当VCL HRD 参数在使用中时针对CPB的替代初始CPB去除偏移。另外,视频解码器30可从SEI 消息获得指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于 SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间。视频解码器30也可从 SEI消息获得指定偏移的DPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时所述 IRAP存取单元的DPB输出时间。

相似地,在一些实例中,装置(例如,视频编码器20)产生包含第一语法元素(例如, irap_cross_layer_cpb_params_present_flag)的SEI消息,所述第一语法元素指定第二替代 CPB去除延迟语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_delay)和第三替代 CPB去除偏移语法元素(例如,nal_initial_alt_cross_layer_cpb_removal_offset)是否存在于 SEI消息中。第二替代CPB去除延迟语法元素指定当VCL HRD参数在使用中时针对CPB 的替代初始CPB去除延迟。第三替代CPB去除偏移语法元素指定当VCL HRD参数在使用中时针对CPB的替代初始CPB去除偏移。SEI消息包含指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的 CL-RAS图片不存在于视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间。SEI消息包含指定偏移的DPB跨层延迟偏移语法元素,所述偏移待用于导出在与相关联于SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于视频数据位流中时所述IRAP存取单元的DPB输出时间。

此外,在本发明的技术的第一组实例中,可作出对HEVC工作草案10的附件C的以下改变。

此附件指定假设的参考解码器(HRD)和其用以检查位流和解码器一致性的用途。

两种类型的位流或位流子集经受针对本说明书的HRD一致性检查。第一类型(被称为类型I位流)为NAL单元流,其仅含有用于所述位流中的所有存取单元的VCL NAL 单元和nal_unit_type等于FD_NUT(填充符数据NAL单元)的NAL单元。第二类型(也被称为类型II位流)除了含有用于所述位流中的所有存取单元的VCL NAL单元和填充符数据NAL单元以外,也含有以下各者中至少一者:

-除了填充符数据NAL单元以外的额外非VCL NAL单元;

-所有leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和 trailing_zero_8bits语法元素,所述语法元素用NAL单元流形成字节流(如附件B中所指定)。

图C-1展示由HRD检查的位流一致性点的类型。

HRD所需要的非VCL NAL单元的语法元素(或非VCL NAL单元的用于一些语法元素的默认值)经指定于条项7的语意子条项、附件D和E中。

使用两种类型的HRD参数集(NAL HRD参数和VCL HRD参数)。HRD参数集是通过hrd_parameters()语法结构予以传信,所述hrd_parameters()语法结构可为SPS语法结构或VPS语法结构的部分。

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

1.选择被表示为TargetOp的受测试操作点。TargetOp的层识别符列表 OpLayerIdList是由存在于与TargetOp相关联的位流子集中的以nuh_layer_id值的递增次序的nuh_layer_id值的列表组成,其为存在于受测试位流中的nuh_layer_id值的子集。TargetOp的OpTid等于存在于与TargetOp相关联的位流子集中的最高 TemporalId。

2.TargetDecLayerIdList经设定为等于TargetOp的OpLayerIdList;HighestTid经设定为等于TargetOp的OpTid;且调用如条项10中所指定的子位流提取过程,其中受测试位流、HighestTid和TargetDecLayerIdList作为输入,且将输出指派给 BitstreamToDecode。

3.选择适用于TargetOp的hrd_parameters()语法结构和 sub_layer_hrd_parameters()语法结构。如果TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择作用中SPS中(或通过本说明书中未指定的外部方式而提供)的hrd_parameters()语法结构。否则,选择应用于TargetOp的作用中 VPS中(或通过本说明书中未指定的一些外部方式而提供)的hrd_parameters()语法结构。在选定hrd_parameters()语法结构内,如果BitstreamToDecode为类型I位流,那么选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构且变量NalHrdModeFlag经设定为等于0;否则(BitstreamToDecode为类型II位流),选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的sub_layer_hrd_parameters(HighestTid)语法结构(在此状况下,变量NalHrdModeFlag经设定为等于0)或直接遵循条件“if(nal_hrd_parameters_present_flag)”的sub_layer_hrd_parameters(HighestTid)语法结构(在此状况下,变量NalHrdModeFlag经设定为等于1)。当BitstreamToDecode为类型II位流且NalHrdModeFlag等于0时,从BitstreamToDecode舍弃除了填充符数据NAL单元以外的所有非VCL NAL单元以及用NAL单元流形成字节流的所有 leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和trailing_zero_8bits语法元素(如附件B中所指定)(当存在时),且将剩余位流指派给BitstreamToDecode。

4.选择与适用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可得到)相关联的存取单元作为HRD初始化点且将所述存取单元称作存取单元0。

5.对于从存取单元0开始的BitstreamToDecode中的每一存取单元,选择与存取单元相关联且应用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可得到);选择与存取单元相关联且应用于 TargetOp的图片时序SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可得到);且当SubPicHrdFlag等于1且 sub_pic_cpb_params_in_pic_timing_sei_flag等于0时,选择与存取单元中的解码单元相关联且应用于TargetOp的解码单元信息SEI消息(存在于BitstreamToDecode中或经由本说明书中未指定的外部方式可得到)。

6.选择SchedSelIdx的值。选定SchedSelIdx应在0到cpb_cnt_minus1[HighestTid] 的范围内(包含0与cpb_cnt_minus1[HighestTid]),其中在如上文所选择的 sub_layer_hrd_parameters(HighestTid)语法结构中找到cpb_cnt_minus1[HighestTid]。

7.当存取单元0中的经译码图片具有等于CRA_NUT或BLA_W_LP的 nal_unit_type且选定缓冲周期SEI消息中的irap_cpb_params_present_flag等于1时,以下情况中任一者应用于初始CPB去除延迟和延迟偏移的选择:

-如果NalHrdModeFlag等于1,那么在选定缓冲周期SEI消息中选择分别由 nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset [SchedSelIdx]表示的默认初始CPB去除延迟和延迟偏移。否则,在选定缓冲周期 SEI消息中选择分别由vcl_initial_cpb_removal_delay[SchedSelIdx]和 vcl_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB去除延迟和延迟偏移。变量DefaultInitCpbParamsFlag经设定为等于1。

-如果NalHrdModeFlag等于1,那么在选定缓冲周期SEI消息中选择分别由 nal_initial_alt_cpb_removal_delay[SchedSelIdx]和nal_initial_alt_cpb_removal_offset [SchedSelIdx]表示的替代初始CPB去除延迟和延迟偏移。否则,在选定缓冲周期 SEI消息中选择分别由vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB去除延迟和延迟偏移。变量DefaultInitCpbParamsFlag经设定为等于0,且与存取单元0相关联的RASL存取单元系从BitstreamToDecode舍弃且剩余位流被指派给 BitstreamToDecode。

-如果NalHrdModeFlag等于1,那么在选定缓冲周期SEI消息中选择分别由nal_initial_alt_cross_layer_cpb_removal_delay[SchedSelIdx]和 nal_initial_alt_cross_layer_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB 去除延迟和延迟偏移。另外,在选定缓冲周期SEI消息中选择分别由 vcl_initial_alt_cross_layer_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cross_layer_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB 去除延迟和延迟偏移。变量DefaultInitCpbParamsFlag经设定为等于0,且与存取单元0相关联的CL-RAS图片系从BitstreamToDecode舍弃且剩余位流被指派给 BitstreamToDecode。

8.当选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag等于1 时,CPB经调度以在存取单元层级操作(在此状况下,变量SubPicHrdFlag经设定为等于0)或在子图片层级操作(在此状况下,变量SubPicHrdFlag经设定为等于1)。

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

-n0被导出如下:

-如果BitstreamToDecode为类型I位流,那么n0等于1。

-否则(BitstreamToDecode为类型II位流),n0等于2。

-n1等于cpb_cnt_minus1[HighestTid]+1。

-n2为BitstreamToDecode中的存取单元的数目,所述存取单元中每一者与适用于 TargetOp的缓冲周期SEI消息相关联且对于所述存取单元中每一者,以下条件两者为真:

-nal_unit_type等于用于VCL NAL单元的CRA_NUT或BLA_W_LP;

-适用于TargetOp的关联缓冲周期SEI消息具有等于1的 irap_cpb_params_present_flag。

-n3为BitstreamToDecode中的存取单元的数目,所述存取单元中每一者与适用于 TargetOp的缓冲周期SEI消息相关联且对于所述存取单元中每一者,以下条件中的一者或两者为真:

-nal_unit_type既不等于用于VCL NAL单元的CRA_NUT也不等于用于VCL NAL单元的BLA_W_LP;

-适用于TargetOp的关联缓冲周期SEI消息具有等于0的 irap_cpb_params_present_flag。

-n4被导出如下:

-如果选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag 等于0,那么n4等于1;

-否则,n4等于2。

当BitstreamToDecode为类型II位流时,以下情况适用:

-如果选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构,那么在图C-1所展示的类型I一致性点处进行测试,且仅计数VCL NAL单元和填充符数据NAL单元的输入位速率和CPB存储。

-否则(选择直接遵循条件“if(nal_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构),在图C-1所展示的类型II一致性点处进行测试,且计数可为NAL单元流或字节流的类型II位流的所有字节的输入位速率和 CPB存储。

注意1——由用于图C-1所展示的类型II一致性点的SchedSelIdx的值建立的NAL HRD参数也足以针对用于VBR状况(cbr_flag[SchedSelIdx]等于0)的同一 InitCpbRemovalDelay[SchedSelIdx]值、同一BitRate[SchedSelIdx]值和同一 CpbSize[SchedSelIdx]值来建立图C-1所展示的类型I一致性点的VCL HRD一致性。这是因为到类型I一致性点中的数据流为到类型II一致性点中的数据流的子集,且因为对于VBR状况,CPB被允许变空且保持空直到开始到达下一图片被调度的时间为止。例如,当使用条项2到10中所指定的解码过程来解码符合附件A中所指定的简档中的一或多者的CVS时,当针对类型II一致性点提供NAL HRD参数时(所述NAL HRD参数不仅属于用于子条项A.4.2的项目f中的简档一致性的NAL HRD参数的界限集合,而且属于用于子条项A.4.2的项目e)中的简档一致性的VCL HRD参数的界限集合),用于类型I一致性点的VCL HRD的一致性也被确信属于子条项A.4.2的项目e)的界限。

VCL NAL单元中所提及的所有VPS、SPS和PPS以及对应缓冲周期SEI消息、图片时序SEI消息和解码单元信息SEI消息应以及时方式在位流中(通过非VCL NAL单元) 或通过本说明书中未指定的其它方式输送到HRD。

在附件C、D和E中,当含有VPS、SPS、PPS、缓冲周期SEI消息、图片时序SEI 消息或解码单元信息SEI消息的非VCL NAL单元(或其仅仅一些)通过本说明书中未指定的其它方式输送到解码器(或输送到HRD)时,针对那些NAL单元的“存在”的规范也得以满足。出于计数字符的目的,仅计数实际上存在于位流中的适当位。

注意2——作为实例,通过除了存在于位流中以外的方式输送的此非VCL NAL单元的同步(其中NAL单元存在于位流中)可通过在位流中指示两个点(在所述两个点之间,非VCL NAL单元将已存在于位流中)来达成(在编码器决定将所述非VCL NAL单元输送于位流中的情况下)。

当此非VCL NAL单元的内容通过除了存在于位流内以外的一些方式输送以用于应用过程时,无需使所述非VCL NAL单元的内容的表示使用与本说明书中所指定相同的语法。

注意3——当位流内含有HRD信息时,有可能仅仅基于位流中所含有的信息来验证所述位流与此子条项的要求的一致性。当HRD信息不存在于位流中时(正如针对所有“单独”类型I位流的状况),可仅在HRD数据是由本说明书中未指定的一些其它方式供应时验证一致性。

HRD含有经译码图片缓冲器(CPB)、瞬时解码过程、经解码图片缓冲器(DPB),和输出裁剪,如图C-2所展示。

对于每一位流一致性测试,CPB大小(位的数目)为如子条项E.2.3中所指定的 CpbSize[SchedSelIdx],其中在此子条项中在上文指定SchedSelIdx参数和HRD参数。 DPB大小(图片存储缓冲器的数目)为sps_max_dec_pic_buffering_minus1[HighestTid]+ 1。

变量SubPicHrdPreferredFlag是由外部方式指定,或当未由外部方式指定时经设定为等于0。

当变量SubPicHrdFlag的值尚未通过上文在此子条项中的步骤8设定时,其被导出如下:

SubPicHrdFlag=SubPicHrdPreferredFlag&&sub_pic_hrd_params_present_flag(C-1)

如果SubPicHrdFlag等于0,那么HRD在存取单元层级操作,且每一解码单元为存取单元。否则,HRD在子图片层级操作,且每一解码单元为存取单元的子集。

注意4——如果HRD在存取单元层级操作,那么每次从CPB去除为整个存取单元的解码单元。否则(HRD在子图片层级操作),每次从CPB去除为存取单元的子集的解码单元。在两种状况下,虽然每次从DPB输出整个经解码图片,但基于经不同导出的CPB 去除时间和经不同传信的DPB输出延迟来导出图片输出时间。

以下情况经指定以用于表达此附件中的约束:

-每一存取单元被称作存取单元n,其中数字n识别特定存取单元。根据上文的步骤4选择存取单元0。n的值针对以解码次序的每一后续存取单元递增1。

-每一解码单元被称作解码单元m,其中数字m识别特定解码单元。存取单元0 中的以解码次序的第一解码单元被称作解码单元0。m的值针对以解码次序的每一后续解码单元递增1。

注意5——解码单元的编号系相对于存取单元0中的第一解码单元。

-图片n指存取单元n的经译码图片或经解码图片。

HRD操作如下:

-在解码单元0处初始化HRD,其中CPB和DPB两者经设定为空(DPB完整性经设定为等于0)。

注意6——在初始化之后,不通过后续缓冲周期SEI消息来再次初始化HRD。

-由HSS递送与根据指定到达调度而流动到CPB中的解码单元相关联的数据。

-在解码单元的CPB去除时间由瞬时解码过程瞬时地去除和解码与每一解码单元相关联的数据。

-每一经解码图片放置于DPB中。

-当经解码图片变得不再被需要用于帧间预测参考且不再被需要用于输出时,从 DPB去除经解码图片。

对于每一位流一致性测试,子条项C.2中指定CPB的操作;子条项2到10中指定瞬时解码器操作;子条项C.3中指定DPB的操作;且子条项C.3.3和子条项C.5.2.2中指定输出裁剪。子条项E.1.2和E.2.2中指定关于枚举的递送调度的数目和枚举的递送调度的关联位速率和缓冲区大小的HSS和HRD信息。初始化HRD,如子条项D.2.2和 D.3.2中指定的缓冲周期SEI消息所指定。使用图片时序SEI消息(子条项D.2.3和D.3.3 中所指定)中的信息或解码单元信息SEI消息(子条项D.2.21和D.3.21中所指定)中的信息来指定解码单元从CPB的去除时序和经解码图片从DPB的输出时序。应在特定解码单元的CPB去除时间之前得到与所述解码单元有关的所有时序信息。

子条项C.4中指定对位流一致性的要求,且HRD系用以检查位流的一致性(如上文在此子条项中所指定)且用以检查解码器的一致性(如子条项C.5中所指定)。

注意7——虽然在假定用以产生位流的所有图片速率和时钟与经传信于位流中的值确切地匹配的情况下保证一致性,但在实际系统中,这些图片速率和时钟中每一者可从经传信值或经指定值变化。

用实值执行此附件中的所有算术,使得可不传播舍位误差。例如,恰好在解码单元的去除之前或之后的CPB中的位的数目未必为整数。

变量ClockTick被导出如下且被称为时钟周期:

ClockTick=vui_num_units_in_tick÷vui_time_scale(C-2)

变量ClockSubTick被导出如下且被称为时钟子周期:

ClockSubTick=ClockTick÷(tick_divisor_minus2+2)(C-3)

C.2经译码图片缓冲器(CPB)的操作

C.2.1一般情况

此子条项中的规范独立地应用于存在的每一CPB参数集且应用于图C-1所展示的类型I一致性点和类型II一致性点两者,且CPB参数集系如子条项C.1中所指定予以选择。

C.2.2经解码单元到达的时序

如果SubPicHrdFlag等于0,那么变量subPicParamsFlag经设定为等于0,且调用此子条项的剩余部分中所指定的过程(其中解码单元被视为存取单元),以用于导出用于存取单元n的初始CPB到达时间和最终CPB到达时间。

否则(SubPicHrdFlag等于1),首先调用此子条项的剩余部分中所指定的过程(其中变量subPicParamsFlag经设定为等于0且解码单元被视为存取单元),以用于导出用于存取单元n的初始CPB到达时间和最终CPB到达时间;且接着调用此子条项的剩余部分中所指定的过程(其中subPicParamsFlag经设定为等于1且解码单元被视为存取单元的子集),以用于导出用于存取单元n中的解码单元的初始CPB到达时间和最终CPB到达时间。

变量InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset [SchedSelIdx]被导出如下:

-如果以下条件中的一或多者为真,那么InitCpbRemovalDelay[SchedSelIdx] 和InitCpbRemovalDelayOffset[SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_alt_cpb_removal_delay[SchedSelIdx]和 nal_initial_alt_cpb_removal_offset[SchedSelIdx]的值,或经设定为当NalHrdModeFlag 等于0时分别等于vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cpb_removal_offset[SchedSelIdx]的值,其中缓冲周期SEI消息语法元素系如子条项C.1中所指定予以选择:

-存取单元0为使经译码图片具有等于BLA_W_RADL或BLA_N_LP的 nal_unit_type的BLA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag 的值等于1。

-存取单元0为使经译码图片具有等于BLA_W_LP的nal_unit_type的BLA存取单元或为CRA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag的值等于1,且以下条件中的一或多者为真:

-用于存取单元0的UseAltCpbParamsFlag等于1。

-DefaultInitCpbParamsFlag等于0。

-subPicParamsFlag的值等于1。

-否则如果存取单元0为初始IRAP存取单元,那么NoClRasPicPresentFlag的值等于1;且缓冲周期SEI消息的irap_cross_layer_cpb_params_present_flag的值等于1;InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset[SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素 nal_initial_alt_cross_layer_cpb_removal_delay[SchedSelIdx]和nal_initial_alt_cross_ layer_cpb_removal_offset[SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于vcl_initial_alt_cross_layer_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cross_laye_cpb_removal_offset[SchedSelIdx]的值,其中含有语法元素的缓冲周期SEI消息系如子条项C.1中所指定予以选择。

-否则,InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset [SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset [SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于 vcl_initial_cpb_removal_delay[SchedSelIdx]和vcl_initial_cpb_removal_offset[SchedSelIdx] 的值,其中缓冲周期SEI消息语法元素系如子条项C.1中所指定予以选择。

解码单元m的第一位开始进入CPB的时间被称作初始到达时间 initArrivalTime[m]。

解码单元m的初始到达时间被导出如下:

-如果解码单元为解码单元0(即,m=0),那么initArrivalTime[0]=0,

-否则(解码单元为解码单元m,其中m>0),那么以下情况适用:

-如果cbr_flag[SchedSelIdx]等于1,那么用于解码单元m的最初到达时间等于解码单元m-1的最终到达时间(其在下文中被导出),即:

-否则(cbr_flag[SchedSelIdx]等于0),用于解码单元m的最初到达时间被导出如下:

其中initArrivalEarliestTime[m]被导出如下:

-变量tmpNominalRemovalTime被导出如下:

其中AuNominalRemovalTime[m]和DuNominalRemovalTime[m]分别为存取单元m和解码单元m的标称CPB去除时间,如子条项C.2.3中所指定。

-如果解码单元m不为后续缓冲周期的第一解码单元,那么 initArrivalEarliestTime[m]被导出如下:

initArrivalEarliestTime[m]=tmpNominalRemovalTime-

(InitCpbRemovalDelay[SchedSelIdx]

+InitCpbRemovalDelayOffset[SchedSelIdx])÷90000(C-7)

-否则(解码单元m为后续缓冲周期的第一解码单元), initArrivalEarliestTime[m]被导出如下:

initArrivalEarliestTime[m]=tmpNominalRemovalTime-

(InitCpbRemovalDelay[SchedSelIdx]÷90000)(C-8)

用于解码单元m的最终到达时间被导出如下:

其中sizeInbits[m]为解码单元m的以位为单位的大小,从而计数用于类型I一致性点的VCL NAL单元和填充符数据NAL单元的位或用于类型II一致性点的类型II位流的所有位,其中类型I一致性点和类型II一致性点系如图C-1所展示。

SchedSelIdx、BitRate[SchedSelIdx]和CpbSize[SchedSelIdx]的值被约束如下:

-如果用于含有解码单元m的存取单元的选定hrd_parameters()语法结构的内容与用于前一存取单元的选定hrd_parameters()语法结构的内容不同,那么HSS从提供于用于含有解码单元m的存取单元的选定hrd_parameters()语法结构中的SchedSelIdx值当中选择SchedSelIdx的值SchedSelIdx1,其导致用于含有解码单元m的存取单元的 BitRate[SchedSelIdx1]或CpbSize[SchedSelIdx1]。BitRate[SchedSelIdx1]或 CpbSize[SchedSelIdx1]的值可不同于用于前一存取单元的SchedSelIdx的值 SchedSelIdx0的BitRate[SchedSelIdx0]或CpbSize[SchedSelIdx0]的值。

-否则,HSS继续用前一SchedSelIdx值、前一BitRate[SchedSelIdx]值和前一 CpbSize[SchedSelIdx]值进行操作。

当HSS选择不同于前一存取单元的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx] 的值的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx]的值时,以下情况适用:

-变量BitRate[SchedSelIdx]在当前存取单元的初始CPB到达时间开始生效。

-变量CpbSize[SchedSelIdx]开始生效如下:

-如果CpbSize[SchedSelIdx]的新值大于旧CPB大小,那么其在当前存取单元的初始CPB到达时间开始生效。

-否则,CpbSize[SchedSelIdx]的新值在当前存取单元的CPB去除时间开始生效。

C.2.3解码单元去除的时序和解码单元的解码

变量InitCpbRemovalDelay[SchedSelIdx]、InitCpbRemovalDelayOffset [SchedSelIdx]、CpbDelayOffset和DpbDelayOffset被导出如下:

-如果以下条件中的一或多者为真,那么CpbDelayOffset经设定为等于缓冲周期 SEI消息语法元素cpb_delay_offset的值;DpbDelayOffset经设定为等于缓冲周期SEI消息语法元素dpb_delay_offset的值;且InitCpbRemovalDelay[SchedSelIdx]和 InitCpbRemovalDelayOffset[SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_alt_cpb_removal_delay[SchedSelIdx]和 nal_initial_alt_cpb_removal_offset[SchedSelIdx]的值;或经设定为当NalHrdModeFlag等于0时分别等于vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cpb_removal_offset[SchedSelIdx]的值,其中含有语法元素的缓冲周期SEI 消息系如子条项C.1中所指定予以选择:

-存取单元0为使经译码图片具有等于BLA_W_RADL或BLA_N_LP的 nal_unit_type的BLA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag 的值等于1。

-存取单元0为使经译码图片具有等于BLA_W_LP的nal_unit_type的BLA存取单元或为CRA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag的值等于1,且以下条件中的一或多者为真:

-用于存取单元0的UseAltCpbParamsFlag等于1。

-DefaultInitCpbParamsFlag等于0。

-否则如果存取单元0为初始IRAP存取单元,那么NoClRasPicPresentFlag的值等于1;且缓冲周期SEI消息的irap_cross_layer_cpb_params_present_flag的值等于1; CpbDelayOffset经设定为等于缓冲周期SEI消息语法元素cpb_cross_layer_delay_offset 的值;DpbDelayOffset经设定为等于缓冲周期SEI消息语法元素 dpb_cross_layer_delay_offset的值;且InitCpbRemovalDelay[SchedSelIdx]和 InitCpbRemovalDelayOffset[SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_alt_cross_layer_cpb_removal_delay [SchedSelIdx]和nal_initial_alt_cross_layer_cpb_removal_offset[SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于vcl_initial_alt_cross_layer_cpb_ removal_delay[SchedSelIdx]和vcl_initial_alt_cross_laye_cpb_removal_offset [SchedSelIdx]的值,其中含有语法元素的缓冲周期SEI消息系如子条项C.1中所指定予以选择。

-否则,InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset [SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset [SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于 vcl_initial_cpb_removal_delay[SchedSelIdx]和vcl_initial_cpb_removal_offset[SchedSelIdx] 的值,其中含有语法元素的缓冲周期SEI消息系如子条项C.1中所指定予以选择, CpbDelayOffset和DpbDelayOffset两者都经设定为等于0。

存取单元n从CPB的标称去除时间经指定如下:

-如果存取单元n为n等于0的存取单元(初始化HRD的存取单元),那么所述存取单元从CPB的标称去除时间通过如下方过程指定:

AuNominalRemovalTime[0]=InitCpbRemovalDelay[SchedSelIdx]÷90000(C-10)

-否则,以下情况适用:

-当存取单元n为不初始化HRD的缓冲周期的第一存取单元时,以下情况适用:存取单元n从CPB的标称去除时间是由如下指定:

其中AuNominalRemovalTime[firstPicInPrevBuffPeriod]为前一缓冲周期的第一存取单元的标称去除时间;AuNominalRemovalTime[prevNonDiscardablePic]为不为 RASL、RADL或子层非参考图片的TemporalId等于0的以解码次序的前一图片的标称去除时间;AuCpbRemovalDelayVal为根据与存取单元n相关联的如子条项C.1中所指定予以选择的图片时序SEI消息中的au_cpb_removal_delay_minus1而导出的 AuCpbRemovalDelayVal的值;且concatenationFlag和auCpbRemovalDelayDeltaMinus1 分别为与存取单元n相关联的如子条项C.1中所指定予以选择的缓冲周期SEI消息中的语法元素concatenation_flag和au_cpb_removal_delay_delta_minus1的值。

在导出存取单元n的标称CPB去除时间之后且在导出存取单元n的DPB输出时间之前,CpbDelayOffset和DpbDelayOffset的值被更新如下:

-如果以下条件中的一或多者为真,那么CpbDelayOffset经设定为等于缓冲周期SEI消息语法元素cpb_delay_offset的值;且DpbDelayOffset经设定为等于缓冲周期SEI消息语法元素dpb_delay_offset的值,其中含有语法元素的缓冲周期 SEI消息系如子条项C.1中所指定予以选择:

-存取单元n为使经译码图片具有等于BLA_W_RADL或BLA_N_LP的 nal_unit_type的BLA存取单元,且缓冲周期SEI消息的 irap_cpb_params_present_flag的值等于1。

-存取单元n为使经译码图片具有等于BLA_W_LP的nal_unit_type的 BLA存取单元或为CRA存取单元,且缓冲周期SEI消息的 irap_cpb_params_present_flag的值等于1,且用于存取单元n的 UseAltCpbParamsFlag等于1。

-否则如果存取单元n为初始IRAP存取单元,那么NoClrasPicPresentFlag 的值等于1;且缓冲周期SEI消息的irap_cross_layer_cpb_params_present_flag 的值等于1;CpbDelayOffset经设定为等于缓冲周期SEI消息语法元素 cpb_cross_layer_delay_offset的值;且DpbDelayOffset经设定为等于缓冲周期SEI 循序语法元素dpb_cross_layer_delay_offset的值,其中含有语法元素的缓冲周期 SEI消息系如子条项C.1中所指定予以选择。

-否则,CpbDelayOffset和DpbDelayOffset两者经设定为等于0。

-当存取单元n不为缓冲周期的第一存取单元时,存取单元n从CPB的标称去除时间是由如下指定:

AuNominalRemovalTime[n]=

AuNominalRemovalTime[firstPicInCurrBuffPeriod]+

ClockTick*(AuCpbRemovalDelayVal-CpbDelayOffset)(C-12)

其中AuNominalRemovalTime[firstPicInCurrBuffPeriod]为当前缓冲周期的第一存取单元的标称去除时间;且AuCpbRemovalDelayVal为根据与存取单元n相关联的如子条项C.1中所指定予以选择的图片时序SEI消息中的 au_cpb_removal_delay_minus1而导出的AuCpbRemovalDelayVal的值。

当SubPicHrdFlag等于1时,以下情况适用:

-变量duCpbRemovalDelayInc被导出如下:

-如果sub_pic_cpb_params_in_pic_timing_sei_flag等于0,那么 duCpbRemovalDelayInc经设定为等于与解码单元m相关联的如子条项C.1中所指定予以选择的解码单元信息SEI消息中的du_spt_cpb_removal_delay_increment的值。

-否则,如果du_common_cpb_removal_delay_flag等于0,那么 duCpbRemovalDelayInc经设定为等于用于与存取单元n相关联的如子条项C.1中所指定予以选择的图片时序SEI消息中的解码单元m的 du_cpb_removal_delay_increment_minus1[i]+1的值,其中i的值针对含有解码单元 m的存取单元中的第一num_nalus_in_du_minus1[0]+1连续NAL单元为0;针对同一存取单元中之后续num_nalus_in_du_minus1[1]+1NAL单元为1;针对同一存取单元中之后续num_nalus_in_du_minus1[2]+1NAL单元为2;等等。

-否则,duCpbRemovalDelayInc经设定为等于与存取单元n相关联的如子条项 C.1中所指定予以选择的图片时序SEI消息中的 du_common_cpb_removal_delay_increment_minus1+1的值。

-解码单元m从CPB的标称去除时间经指定如下,其中 AuNominalRemovalTime[n]为存取单元n的标称去除时间:

-如果解码单元m为存取单元n中的最后解码单元,那么解码单元m的标称去除时间DuNominalRemovalTime[m]经设定为等于AuNominalRemovalTime[n]。

-否则(解码单元m不为存取单元n中的最后解码单元),解码单元m的标称去除时间DuNominalRemovalTime[m]被导出如下:

如果SubPicHrdFlag等于0,那么存取单元n从CPB的去除时间经指定如下,其中 AuFinalArrivalTime[n]和AuNominalRemovalTime[n]分别为存取单元n的最终CPB到达时间和标称CPB去除时间:

注意1——当low_delay_hrd_flag[HighestTid]等于1且AuNominalRemovalTime[n] 小于AuFinalArrivalTime[n]时,存取单元n的大小大到使得其防止在标称去除时间的去除。

否则(SubPicHrdFlag等于1),解码单元m从CPB的去除时间经指定如下:

注意2——当low_delay_hrd_flag[HighestTid]等于1且DuNominalRemovalTime[m] 小于DuFinalArrivalTime[m]时,解码单元m的大小大到使得其防止在标称去除时间的去除。

如果SubPicHrdFlag等于0,那么在存取单元n的CPB去除时间,存取单元被瞬时地解码。

否则(SubPicHrdFlag等于1),在解码单元m的CPB去除时间,解码单元被瞬时地解码,且当解码单元m为存取单元n的最后解码单元时,以下情况适用:

-图片n被视为被解码。

-存取单元n的最终CPB到达时间(即,AuFinalArrivalTime[n])经设定为等于存取单元n中的最后解码单元的最终CPB到达时间,即,DuFinalArrivalTime[m]。

-存取单元n的标称CPB去除时间(即,AuNominalRemovalTime[n])经设定为等于存取单元n中的最后解码单元的标称CPB去除时间,即,DuNominalRemovalTime[m]。

-存取单元n的CPB去除时间(即,AuCpbRemovalTime[m])经设定为等于存取单元n中的最后解码单元的CPB去除时间,即,DuCpbRemovalTime[m]。

如上文关于章节C.2.2的改变所描述,装置可部分地基于一个值(例如, NoClRasPicPresentFlag)来执行CPB操作。此外,如上文关于章节C.2.2的改变所描述,当值指示并非与IRAP存取单元相关联的所有CL-RAS图片都存在于视频数据位流中且缓冲周期SEI消息包含指定在缓冲周期SEI消息中第二语法元素(例如, nal_initial_alt_cross_layer_cpb_removal_delay)和第三语法元素(例如, nal_initial_alt_cross_layer_cpb_removal_offset)的存在的第一语法元素(例如, irap_cross_layer_cpb_params_present_flag)时,装置可将CPB去除延迟设定到由第二语法元素指定的替代去除延迟。另外,装置可将CPB去除偏移设定到由第三语法元素指定的替代去除偏移。

本发明的技术的第二组实例相似于本发明的技术的第一组实例。然而,在本发明的技术的第二组实例中,替代语法结构系用于HRD参数以处置CL-RAS图片的一致性。在一些例子中,第一组实例和第二组实例的一或多个实例可一起使用或分离地使用。替代CPB去除偏移和DPB去除偏移被引入于图片时序SEI消息中,来代替引入于缓冲周期SEI消息中。又,指定定义用于可在去除初始IRAP存取单元的关联CL-RAS图片时使用的IRAP存取单元的替代位速率和CPB大小集合的额外SEI消息。因此,在一些实例中,装置(例如,视频编码器20)可产生定义在去除初始IRAP存取单元的CL-RAS图片时可使用的IRAP存取单元的CPB大小的SEI消息。

在本发明的技术的第二组实例中,可作出对HEVC工作草案10的图片时序SEI消息语法的以下改变。

在一些实例中,在缓冲周期SEI消息中独立地传信 irap_cross_layer_cpb_params_present_flag的传信。此外,在一些实例中,当 sub_pic_hrd_params_present_flag等于1时也在解码单元(DU)层级传信替代CPB参数和 DPB参数,以用于含有CL-RAS图片且具有等于1的sub_pic_hrd_params_present_flag 的位流的子图片HRD操作以针对CL-RAS图片存在或不存在的两种状况适当地操作。 DU为存取单元的子集(当SubPicHrdFlag等于0时,DU为整个AU)。

此外,根据本发明的技术的第二组实例,HEVC工作草案10的图片时序SEI消息语意可改变如下。在此实例中,图片时序SEI消息中的其余语法元素的语意可保持不变。

等于1的irap_cross_layer_cpb_params_present_flag指定initial_alt_cross_layer_ cpb_removal_delay[i]和initial_alt_cross_layer_cpb_removal_offset[i]语法元素的存在。当所述语法元素不存在时,irap_cross_layer_cpb_params_present_flag的值经推断为等于 0。当关联图片既不为CRA图片也不为BLA图片时, irap_cross_layer_cpb_params_present_flag的值应等于0。

注意2——sub_pic_hrd_params_present_flag的值、irap_cpb_params_present_flag 的值和irap_cross_layer_cpb_params_present_flag的值中的不超过一者可等于1。

au_cpb_removal_delay_minus1加1指定与图片时序SEI消息相关联的存取单元的标称CPB去除时间与含有缓冲周期SEI消息的以解码次序的前一存取单元的标称CPB 去除时间之间的时钟周期的数目。此值也用以演算存取单元数据到用于HSS的CPB中的最早可能到达时间。语法元素为以位为单位的长度是由 au_cpb_removal_delay_length_minus1+1给出的固定长度码。

注意6——au_cpb_removal_delay_length_minus1的值确定语法元素 au_cpb_removal_delay_minus1的长度(以位为单位)为对于与图片时序SEI消息相关联的经译码图片是作用中的VPS或SPS中译码的au_cpb_removal_delay_length_minus1的值,但au_cpb_removal_delay_minus1指定相对于含有缓冲周期SEI消息的前一存取单元的去除时间的时钟周期的数目,所述前一存取单元可为不同CVS的存取单元。

au_alt_cpb_removal_delay_minus1加1指定与图片时序SEI消息相关联的存取单元的标称CPB去除时间与含有缓冲周期SEI消息的以解码次序的前一存取单元的标称 CPB去除时间之间的时钟周期的替代数目。此值也用以演算存取单元数据到用于HSS 的CPB中的最早可能到达时间。语法元素为以位为单位的长度是由 au_cpb_removal_delay_length_minus1+1给出的固定长度码。

注意6——au_cpb_removal_delay_length_minus1的值确定语法元素 au_cpb_removal_delay_minus1的长度(以位为单位)为对于与图片时序SEI消息相关联的经译码图片是作用中的VPS或SPS中译码的au_cpb_removal_delay_length_minus1的值,但au_cpb_removal_delay_minus1指定相对于含有缓冲周期SEI消息之前一存取单元的去除时间的时钟周期的数目,所述前一存取单元可为不同CVS的存取单元。

变量UseAuCpbRemovalDelayMinus1被导出如下:

-如果以下条件中任一者为真,那么UseAuCpbRemovalDelayMinus1经设定为等于au_alt_cpb_removal_delay_minus1。

-以解码次序的前一初始IRAP存取单元具有等于1的NoClRasPicPresentFlag, irap_cross_layer_cpb_params_present_flag等于1

-如果当前AU为具有等于1的NoClRasPicPresentFlag的初始IRAP AU,且 irap_cross_layer_cpb_params_present_flag等于1,

-否则,UseAuCpbRemovalDelayMinus1经设定为等于 au_cpb_removal_delay_minus1。

当前图片的变量AuCpbRemovalDelayMsb被导出如下:

-如果当前图片与适用于图片时序SEI消息应用于的操作点中至少一者的缓冲周期SEI消息相关联,那么AuCpbRemovalDelayMsb经设定为等于0。

-否则,以下情况适用:

-假设maxCpbRemovalDelay等于2au_cpb_removal_delay_length_minus1+1

-假设prevAuCpbRemovalDelayMinus1和prevAuCpbRemovalDelayMsb经设定为分别等于TemporalId等于0的不为RASL、RADL或子层非参考图片且处于相同于当前图片的缓冲周期内的以解码次序的前一图片的UseAuCpbRemovalDelayMinus1 [[au_cpb_removal_delay_minus1]]和AuCpbRemovalDelayMsb。

-AuCpbRemovalDelayMsb被导出如下:

变量AuCpbRemovalDelayVal被导出如下:

AuCpbRemovalDelayVal=AuCpbRemovalDelayMsb+

UseAuCpbRemovalDelayMinus1[[au_cpb_removal_delay_minus1]]+1(D-2)

AuCpbRemovalDelayVal的值应在1到232的范围内(包含1与232)。在一个缓冲周期内,用于任何两个存取单元的AuCpbRemovalDelayVal值应不相同。

pic_dpb_output_delay是用以计算当SubPicHrdFlag等于0时的图片的DPB输出时间。其指定在从DPB输出经解码图片之前从CPB去除存取单元中的最后解码单元之后要等待多少时钟周期。

注意7——当图片仍经标记为“用于短期参考”或“用于长期参考”时在其输出时间并不从DPB去除所述图片。

语法元素pic_dpb_output_delay的长度是由dpb_output_delay_length_minus1+1以位为单位而给出。当sps_max_dec_pic_buffering_minus1[minTid]等于0时(其中minTid为图片时序SEI消息应用于的所有操作点的OpTid值的最小值),pic_dpb_output_delay应等于0。

pic_alt_dpb_output_delay为用以计算当SubPicHrdFlag等于0且从位流去除与以解码次序的前一初始IRAP AU相关联的CL-RAS图片时的图片的DPB输出时间的替代值。其指定在从DPB输出经解码图片之前从CPB去除存取单元中的最后解码单元之后要等待多少时钟周期。

语法元素pic_alt_dpb_output_delay的长度是由dpb_output_delay_length_minus1+1 以位为单位而给出。当sps_max_dec_pic_buffering_minus1[minTid]等于0时(其中 minTid为图片时序SEI消息应用于的所有操作点的OpTid值的最小值), pic_alt_dpb_output_delay应等于0。

从输出时序符合的解码器输出的任何图片的pic_dpb_output_delay或 pic_alt_dpb_output_delay导出的输出时间应在从以解码次序的任何后续CVS中的所有图片的pic_dpb_output_delay导出的输出时间之前。由[[此语法元素]]pic_dpb_output_delay或pic_alt_dpb_output_delay的值建立的图片输出次序应为与由PicOrderCntVal的值建立的次序相同的次序。

对于未通过“提升(bumping)”过程输出的图片,因为其以解码次序在 no_output_of_prior_pics_flag等于1或经推断为等于1的NoRaslOutputFlag等于1的IRAP 图片之前,所以从pic_dpb_output_delay或pic_alt_dpb_output_delay导出的输出时间应随着PicOrderCntVal相对于同一CVS内的所有图片的值增加而增加。

此外,在本发明的技术的第二组实例中,跨层HRD参数SEI消息语法可被定义如下。

替代地,在一些实例中,排除applicable_poc_cnt[i][j][k]语法元素的跨层HRD端 SEI消息也可与每一存取单元一起被发送,以表示语法元素 cross_layer_bit_rate_value_minus1[i][j][k]和cross_layer_cpb_size_value_minus1 [i][j][k]适用于关联存取单元。替代地,在一些实例中,在跨层HRD SEI消息中不传信cross_layer_cpb_size_value_minus1[i][j][k]。替代地,在一些实例中,在VPS中(在 (例如)扩展部分中)传信跨层位速率和CPB大小。替代地,在一些实例中,跨层HRD参数SEI消息也可与HEVC版本1位流(即,符合HEVC工作草案10的位流)一起使用,其中额外位速率参数和CPB大小参数适用于位流的一致性,其中RASL图片与RADL 图片交错,且从位流去除RASL图片且关联IRAP图片具有NAL单元类型 BLA_W_RADL。

根据本发明的技术的第二组实例,跨层HRD参数SEI消息可具有以下语意。

此SEI消息可且仅可与IRAP AU相关联。

cross_layer_video_parameter_set_id指示由与SEI消息相关联的存取单元的VCL NAL单元所指的VPS的vps_video_parameter_set_id的值且应等于所述值。 cross_layer_video_parameter_set_id的值应在0到15的范围内(包含0与15)。

变量CrossLayerCpbCnt[i][j]经设定为等于经传信于VPS中的第i HRD参数集的 cpb_cnt_minus1[j]+1。

applicable_poc_cnt[i][j][k]指定直到使cross_layer_bit_rate_value_minus1 [i][j][k]和cross_layer_cpb_size_value_minus1[i][j][k]适用的存取单元。如果在CVS 中存在以解码次序在当前存取单元(即,与当前SEI消息相关联的初始IRAP AU)之后的存取单元,且此存取单元含有nuh_layer_id等于0的图片picA且具有等于当前存取单元中的图片(其中nuh_layer_id等于0加applicable_poc_cnt的值)的PicOrderCntVal的 PicOrderCntVal,那么图片picA被称作跨层再新点存取单元。另外,具有PicOrderCntVal 大于当前图片的PicOrderCntVal加recovery_poc_cnt的值且nuh_layer_id等于0的图片的以解码次序的第一存取单元被称作跨层再新点存取单元。跨层再新点存取单元以解码次序不应在当前存取单元之前。以解码次序在跨层再新点存取单元之前的所有经解码存取单元经指定以当与当前初始IRAP AU相关联的NoClRasPicPresentFlag等于0时使用 cross_layer_bit_rate_value_minus1[i][j][k]和cross_layer_cpb_size_value_minus1 [i][j][k]。applicable_poc_cnt的值应在-231到231-1的范围内(包含-231与231-1)。

cross_layer_bit_rate_value_minus1[i][j][k](与bit_rate_scale一起)指定当第i CPB 在存取单元层级操作时用于所述CPB的最大输入位速率。 cross_layer_bit_rate_value_minus1[i][j][k]应在0到232-2的范围内(包含0与232- 2)。对于任何k>0,cross_layer_bit_rate_value_minus1[i][j][k]应大于 cross_layer_bit_rate_value_minus1[i][j][k-1]。

当SubPicHrdFlag等于0时,每秒以位为单位的位速率是由如下给出:

CrossLayerBitRate[i]=(cross_layer_bit_rate_value_minus1[i][j][k]+1)*

2(6+bit_rate_scale)(E-52)

当SubPicHrdFlag等于0且不存在cross_layer_bit_rate_value_minus1[i]语法元素时,BitRate[i]的值经推断为等于用于VCL HRD参数的CpbBrVclFactor*MaxBR且等于用于NAL HRD参数的CpbBrNalFactor*MaxBR,其中MaxBR、CpbBrVclFactor和 CpbBrNalFactor是在子条项A.4中予以指定。

cross_layer_cpb_size_value_minus1[i][j][k]与cross_layer_cpb_size_scale一起用以指定当第i CPB在存取单元层级操作时的所述CPB大小。 cross_layer_cpb_size_value_minus1[i][j][k]应在0到232-2的范围内(包含0与232-2)。对于大于0的任何k,cross_layer_cpb_size_value_minus1[i][j][k]应小于或等于 cross_layer_cpb_size_value_minus1[i][j][k-1]。

当SubPicHrdFlag等于0时,以位为单位的CPB大小是由如下给出:

CrossLayerCpbSize[i]=(cross_layer_cpb_size_value_minus1[i][j][k]+1)*

2(4+cpb_size_scale)(E-53)

当SubPicHrdFlag等于0且不存在cross_layer_cpb_size_value_minus1[i]语法元素时,CpbSize[i]的值经推断为等于用于VCL HRD参数的CpbBrVclFactor*MaxCPB且等于用于NAL HRD参数的CpbBrNalFactor*MaxCPB,其中MaxCPB、CpbBrVclFactor 和CpbBrNalFactor系在子条项A.4中予以指定。

因此,在一些实例中,视频解码器30可从经译码视频位流的SEI消息获得用于IRAP 存取单元的替代位速率参数和CPB大小参数。对于IRAP存取单元的每一相应IRAP存取单元,视频解码器30可在所述相应IRAP存取单元为初始IRAP存取单元(其中不存在关联CL-RAS图片)时使用用于所述相应IRAP存取单元的替代位速率参数和CPB大小参数。此外,在一些实例中,装置(例如,视频编码器20)可产生包含指示直到使跨层位速率值和跨层CPB大小值适用的存取单元的语法元素的SEI消息。另外,在一些实例中,装置(例如,视频编码器20)可产生包含指定当CPB在存取单元层级操作时所述CPB的最大输入位速率的语法元素的SEI消息。

此外,在本发明的技术的第二组实例中,可作出对HEVC工作草案10的附件C章节C.1的以下改变。

C.1概述

此附件指定假设的参考解码器(HRD)和其用以检查位流和解码器一致性的用途。

两种类型的位流或位流子集经受针对本说明书的HRD一致性检查。第一类型(被称为类型I位流)为NAL单元流,其仅含有用于所述位流中的所有存取单元的VCL NAL 单元和nal_unit_type等于FD_NUT(填充符数据NAL单元)的NAL单元。第二类型(也被称为类型II位流)除了含有用于所述位流中的所有存取单元的VCL NAL单元和填充符数据NAL单元以外,也含有以下各者中至少一者:

-除了填充符数据NAL单元以外的额外非VCL NAL单元;

-所有leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和 trailing_zero_8bits语法元素,所述语法元素用NAL单元流形成字节流(如附件B中所指定)。

图C-1展示由HRD检查的位流一致性点的类型。

HRD所需要的非VCL NAL单元的语法元素(或非VCL NAL单元的用于一些语法元素的默认值)经指定于条项7的语意子条项、附件D和E中。

使用两种类型的HRD参数集(NAL HRD参数和VCL HRD参数)。HRD参数集系经由hrd_parameters()语法结构予以传信,所述hrd_parameters()语法结构可为SPS语法结构或VPS语法结构的部分。

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

1.选择被表示为TargetOp的受测试操作点。TargetOp的层识别符列表 OpLayerIdList是由存在于与TargetOp相关联的位流子集中的以nuh_layer_id值的递增次序的nuh_layer_id值的列表组成,其为存在于受测试位流中的nuh_layer_id值的子集。TargetOp的OpTid等于存在于与TargetOp相关联的位流子集中的最高 TemporalId。

2.TargetDecLayerIdList经设定为等于TargetOp的OpLayerIdList;HighestTid经设定为等于TargetOp的OpTid;且调用如条项10中所指定的子位流提取过程,其中受测试位流、HighestTid和TargetDecLayerIdList作为输入,且将输出指派给 BitstreamToDecode。

3.选择适用于TargetOp的hrd_parameters()语法结构和 sub_layer_hrd_parameters()语法结构。如果TargetDecLayerIdList含有存在于受测试位流中的所有nuh_layer_id值,那么选择作用中SPS中(或经由本说明书中未指定的外部方式而提供)的hrd_parameters()语法结构。否则,选择应用于TargetOp的作用中 VPS中(或经由本说明书中未指定的一些外部方式而提供)的hrd_parameters()语法结构。在选定hrd_parameters()语法结构内,如果BitstreamToDecode为类型I位流,那么选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构且变量NalHrdModeFlag经设定为等于0;否则(BitstreamToDecode为类型II位流),选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的sub_layer_hrd_parameters(HighestTid)语法结构(在此状况下,变量NalHrdModeFlag经设定为等于0)或直接遵循条件“if(nal_hrd_parameters_present_flag)”的sub_layer_hrd_parameters(HighestTid)语法结构(在此状况下,变量NalHrdModeFlag经设定为等于1)。当BitstreamToDecode为类型II位流且NalHrdModeFlag等于0时,从BitstreamToDecode舍弃除了填充符数据NAL单元以外的所有非VCL NAL单元以及用NAL单元流形成字节流的所有 leading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和trailing_zero_8bits语法元素(如附件B中所指定)(当存在时),且将剩余位流指派给BitstreamToDecode。

4.选择与适用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或经由本说明书中未指定的外部方式可得到)相关联的存取单元作为HRD初始化点且将所述存取单元称作存取单元0。

5.对于从存取单元0开始的BitstreamToDecode中的每一存取单元,选择与存取单元相关联且应用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或经由本说明书中未指定的外部方式可得到);选择与存取单元相关联且应用于 TargetOp的图片时序SEI消息(存在于BitstreamToDecode中或经由本说明书中未指定的外部方式可得到);且当SubPicHrdFlag等于1且 sub_pic_cpb_params_in_pic_timing_sei_flag等于0时,选择与存取单元中的解码单元相关联且应用于TargetOp的解码单元信息SEI消息(存在于BitstreamToDecode中或经由本说明书中未指定的外部方式可得到)。

6.选择SchedSelIdx的值。选定SchedSelIdx应在0到cpb_cnt_minus1[HighestTid] 的范围内(包含0与cpb_cnt_minus1[HighestTid]),其中在如上文所选择的 sub_layer_hrd_parameters(HighestTid)语法结构中找到cpb_cnt_minus1[HighestTid]。

7.当存取单元0中的经译码图片具有等于CRA_NUT或BLA_W_LP的 nal_unit_type且选定缓冲周期SEI消息中的irap_cpb_params_present_flag等于1时,以下情况中任一者应用于初始CPB去除延迟和延迟偏移的选择:

-如果NalHrdModeFlag等于1,那么在选定缓冲周期SEI消息中选择分别由 nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset [SchedSelIdx]表示的默认初始CPB去除延迟和延迟偏移。否则,在选定缓冲周期 SEI消息中选择分别由vcl_initial_cpb_removal_delay[SchedSelIdx]和 vcl_initial_cpb_removal_offset[SchedSelIdx]表示的默认初始CPB去除延迟和延迟偏移。变量DefaultInitCpbParamsFlag经设定为等于1。

-如果NalHrdModeFlag等于1,那么在选定缓冲周期SEI消息中选择分别由 nal_initial_alt_cpb_removal_delay[SchedSelIdx]和nal_initial_alt_cpb_removal_ offset[SchedSelIdx]表示的替代初始CPB去除延迟和延迟偏移。否则,在选定缓冲周期SEI消息中选择分别由vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代初始CPB去除延迟和延迟偏移。变量DefaultInitCpbParamsFlag经设定为等于0,且与存取单元0相关联的RASL存取单元系从BitstreamToDecode舍弃且剩余位流被指派给 BitstreamToDecode。

8.当NoClRasPicPresentFlag等于1且存取单元0与跨层HRD参数SEI消息相关联时,BitRate[SchedSelIdx]和CpbSize[SchedSelIdx]的值经设定为分别等于 CrossLayerBitRate[SchedSelIdx]和CrossLayerCpbSize[SchedSelIdx]。

9.当选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag等于1 时,CPB经调度以在存取单元层级操作(在此状况下,变量SubPicHrdFlag经设定为等于0)或在子图片层级操作(在此状况下,变量SubPicHrdFlag经设定为等于1)。

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

-n0被导出如下:

-如果BitstreamToDecode为类型I位流,那么n0等于1。

-否则(BitstreamToDecode为类型II位流),n0等于2。

-n1等于cpb_cnt_minus1[HighestTid]+1,

-n2为BitstreamToDecode中的存取单元的数目,所述存取单元中每一者与适用于 TargetOp的缓冲周期SEI消息相关联且对于所述存取单元中每一者,以下条件两者为真:

-nal_unit_type等于用于VCL NAL单元的CRA_NUT或BLA_W_LP;

-适用于TargetOp的关联缓冲周期SEI消息具有等于1的 irap_cpb_params_present_flag。

-n3为BitstreamToDecode中的存取单元的数目,所述存取单元中每一者与适用于 TargetOp的缓冲周期SEI消息相关联且对于所述存取单元中每一者,以下条件中的一者或两者为真:

-nal_unit_type既不等于用于VCL NAL单元的CRA_NUT也不等于用于VCL NAL单元的BLA_W_LP;

-适用于TargetOp的关联缓冲周期SEI消息具有等于0的 irap_cpb_params_present_flag。

-n4被导出如下:

-如果选定hrd_parameters()语法结构中的sub_pic_hrd_params_present_flag 等于0,那么n4等于1;

-否则,n4等于2。

当BitstreamToDecode为类型II位流时,以下情况适用:

-如果选择直接遵循条件“if(vcl_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构,那么在图C-1所展示的类型I一致性点处进行测试,且仅计数VCL NAL单元和填充符数据NAL单元的输入位速率和CPB存储。

-否则(选择直接遵循条件“if(nal_hrd_parameters_present_flag)”的 sub_layer_hrd_parameters(HighestTid)语法结构),在图C-1所展示的类型II一致性点处进行测试,且计数可为NAL单元流或字节流的类型II位流的所有字节的输入位速率和 CPB存储。

注意1——由用于图C-1所展示的类型II一致性点的SchedSelIdx的值建立的NAL HRD参数也足以针对用于VBR状况(cbr_flag[SchedSelIdx]等于0)的同一 InitCpbRemovalDelay[SchedSelIdx]值、同一BitRate[SchedSelIdx](或 CrossLayerBitRate[SchedSelIdx](在适用时))值和同一CpbSize[SchedSelIdx](或 CrossLayerCpbSize[SchedSelIdx](在适用时))值来建立用于图C-1所展示的类型I一致性点的VCL HRD一致性。这是因为到类型I一致性点中的数据流为到类型II一致性点中的数据流的子集,且因为对于VBR状况,CPB被允许变空且保持空直到开始到达下一图片被调度的时间为止。例如,当使用条项2到10中所指定的解码过程来解码符合附件A中所指定的简档中的一或多者的CVS时,当针对类型II一致性点提供NAL HRD 参数时(所述NAL HRD参数不仅属于用于子条项A.4.2的项目f)中的简档一致性的NAL HRD参数的界限集合,而且属于用于子条项A.4.2的项目e)中的简档一致性的VCL HRD 参数的界限集合),用于类型I一致性点的VCL HRD的一致性也被确信属于子条项A.4.2 的项目e)的界限。

VCL NAL单元中所提及的所有VPS、SPS和PPS以及对应缓冲周期SEI消息、图片时序SEI消息和解码单元信息SEI消息应以及时方式在位流中(通过非VCL NAL单元) 或通过本说明书中未指定的其它方式输送到HRD。

在附件C、D和E中,当含有VPS、SPS、PPS、缓冲周期SEI消息、图片时序SEI 消息或解码单元信息SEI消息的非VCL NAL单元(或其仅仅一些)通过本说明书中未指定的其它方式输送到解码器(或输送到HRD)时,针对那些NAL单元的“存在”的规范也得以满足。出于计数字符的目的,仅计数实际上存在于位流中的适当位。

注意2——作为实例,通过除了存在于位流中以外的方式输送的此非VCL NAL单元的同步(其中NAL单元存在于位流中)可通过在位流中指示两个点(在所述两个点之间,非VCL NAL单元将已存在于位流中)来达成(在编码器决定将所述非VCL NAL单元输送于位流中的情况下)。

当此非VCL NAL单元的内容通过除了存在于位流内以外的一些方式输送以用于应用过程时,无需使所述非VCL NAL单元的内容的表示使用与本说明书中所指定相同的语法。

注意3——当位流内含有HRD信息时,有可能仅仅基于位流中所含有的信息来验证所述位流与此子条项的要求的一致性。当HRD信息不存在于位流中时(正如针对所有“单独”类型I位流的状况),可仅在HRD数据是由本说明书中未指定的一些其它方式供应时验证一致性。

HRD含有经译码图片缓冲器(CPB)、瞬时解码过程、经解码图片缓冲器(DPB)和输出裁剪,如图C-2所展示。

对于每一位流一致性测试,DPB大小(图片存储缓冲器的数目)为 sps_max_dec_pic_buffering_minus1[HighestTid]+1。

变量SubPicHrdPreferredFlag是由外部方式指定,或当未由外部方式指定时经设定为等于0。

当变量SubPicHrdFlag的值尚未通过上文在此子条项中的步骤8设定时,其被导出如下:

SubPicHrdFlag=SubPicHrdPreferredFlag&&sub_pic_hrd_params_present_flag(C-1)

如果SubPicHrdFlag等于0,那么HRD在存取单元层级操作,且每一解码单元为一存取单元。否则,HRD在子图片层级操作,且每一解码单元为存取单元的子集。

注意4——如果HRD在存取单元层级操作,那么每次从CPB去除为整个存取单元的解码单元。否则(HRD在子图片层级操作),每次从CPB去除为存取单元的子集的解码单元。在两种状况下,虽然每次从DPB输出整个经解码图片,但基于经不同导出的CPB 去除时间和经不同传信的DPB输出延迟来导出图片输出时间。

以下情况经指定以用于表达此附件中的约束:

-每一存取单元被称作存取单元n,其中数字n识别特定存取单元。根据上文的步骤4选择存取单元0。n的值针对以解码次序的每一后续存取单元递增1。

-每一解码单元被称作解码单元m,其中数字m识别特定解码单元。存取单元0 中的以解码次序的第一解码单元被称作解码单元0。m的值针对以解码次序的每一后续解码单元递增1。

注意5——解码单元的编号是相对于存取单元0中的第一解码单元。

-图片n指存取单元n的经译码图片或经解码图片。

HRD操作如下:

-在解码单元0处初始化HRD,其中CPB和DPB两者经设定为空(DPB完整性经设定为等于0)。

注意6——在初始化之后,不通过后续缓冲周期SEI消息来再次初始化HRD。

-由HSS递送与根据指定到达调度而流动到CPB中的解码单元相关联的数据。

-在解码单元的CPB去除时间由瞬时解码过程瞬时地去除和解码与每一解码单元相关联的数据。

-每一经解码图片放置于DPB中。

-当经解码图片变得不再被需要用于帧间预测参考且不再被需要用于输出时,从 DPB去除经解码图片。

对于每一位流一致性测试,子条项C.2中指定CPB的操作;子条项2到10中指定瞬时解码器操作;子条项C.3中指定DPB的操作;且子条项C.3.3和子条项C.5.2.2中指定输出裁剪。

子条项E.1.2和E.2.2中指定关于枚举的递送调度的数目和枚举的递送调度的关联位速率和缓冲区大小的HSS和HRD信息。初始化HRD,如子条项D.2.2和D.3.2中指定的缓冲周期SEI消息所指定。使用图片时序SEI消息(子条项D.2.3和D.3.3中所指定) 中的信息或解码单元信息SEI消息(子条项D.2.21和D.3.21中所指定)中的信息来指定解码单元从CPB的去除时序和经解码图片从DPB的输出时序。应在特定解码单元的CPB 去除时间之前得到与所述解码单元有关的所有时序信息。

子条项C.4中指定对位流一致性的要求,且HRD是用以检查位流的一致性(如上文在此子条项中所指定)且用以检查解码器的一致性(如子条项C.5中所指定)。

注意7——虽然在假定用以产生位流的所有图片速率和时钟与经传信于位流中的值确切地匹配的情况下保证一致性,但在实际系统中,这些图片速率和时钟中每一者可从经传信值或经指定值变化。

用实值执行此附件中的所有算术,使得可不传播舍位误差。例如,恰好在解码单元的去除之前或之后的CPB中的位的数目未必为整数。

变量ClockTick被导出如下且被称为时钟周期:

ClockTick=vui_num_units_in_tick÷vui_time_scale(C-2)

变量ClockSubTick被导出如下且被称为时钟子周期:

ClockSubTick=ClockTick÷(tick_divisor_minus2+2)(C-3)

此外,在本发明的技术的第二组实例中,可作出对HEVC工作草案10的附件C章节C.2.2的以下改变。

C.2.2解码单元到达的时序

如果SubPicHrdFlag等于0,那么变量subPicParamsFlag经设定为等于0,且调用此子条项的剩余部分中所指定的过程(其中解码单元被视为存取单元),以用于导出用于存取单元n的初始CPB到达时间和最终CPB到达时间。

否则(SubPicHrdFlag等于1),首先调用此子条项的剩余部分中所指定的过程(其中变量subPicParamsFlag经设定为等于0且解码单元被视为存取单元),以用于导出用于存取单元n的初始CPB到达时间和最终CPB到达时间;且接着调用此子条项的剩余部分中所指定的过程(其中subPicParamsFlag经设定为等于1且解码单元被视为存取单元的子集),以用于导出用于存取单元n中的解码单元的初始CPB到达时间和最终CPB到达时间。

变量InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset [SchedSelIdx]被导出如下:

-如果以下条件中的一或多者为真,那么InitCpbRemovalDelay[SchedSelIdx]和 InitCpbRemovalDelayOffset[SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_alt_cpb_removal_delay[SchedSelIdx]和 nal_initial_alt_cpb_removal_offset[SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和 vcl_initial_alt_cpb_removal_offset[SchedSelIdx]的值,其中缓冲周期SEI消息语法元素系如子条项C.1中所指定予以选择:

-存取单元0为使经译码图片具有等于BLA_W_RADL或BLA_N_LP的 nal_unit_type的BLA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag 的值等于1。

-存取单元0为使经译码图片具有等于BLA_W_LP的nal_unit_type的BLA存取单元或为CRA存取单元,且缓冲周期SEI消息的irap_cpb_params_present_flag的值等于1,且以下条件中的一或多者为真:

-用于存取单元0的UseAltCpbParamsFlag等于1。

-DefaultInitCpbParamsFlag等于0。

-subPicParamsFlag的值等于1。

-否则,InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset [SchedSelIdx]经设定为当NalHrdModeFlag等于1时分别等于缓冲周期SEI消息语法元素nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset [SchedSelIdx]的值,或经设定为当NalHrdModeFlag等于0时分别等于 vcl_initial_cpb_removal_delay[SchedSelIdx]和vcl_initial_cpb_removal_offset [SchedSelIdx]的值,其中缓冲周期SEI消息语法元素系如子条项C.1中所指定予以选择。

解码单元m的第一位开始进入CPB的时间被称作初始到达时间 initArrivalTime[m]。

解码单元m的初始到达时间被导出如下:

-如果解码单元为解码单元0(即,m=0),那么initArrivalTime[0]=0,

-否则(解码单元为解码单元m,其中m>0),那么以下情况适用:

-如果cbr_flag[SchedSelIdx]等于1,那么用于解码单元m的最初到达时间等于解码单元m-1的最终到达时间(其在下文中被导出),即:

-否则(cbr_flag[SchedSelIdx]等于0),用于解码单元m的最初到达时间被导出如下:

其中initArrivalEarliestTime[m]被导出如下:

-变量tmpNominalRemovalTime被导出如下:

其中AuNominalRemovalTime[m]和DuNominalRemovalTime[m]分别为存取单元m和解码单元m的标称CPB去除时间,如子条项C.2.3中所指定。

-如果解码单元m不为后续缓冲周期的第一解码单元,那么 initArrivalEarliestTime[m]被导出如下:

initArrivalEarliestTime[m]=tmpNominalRemovalTime-

(InitCpbRemovalDelay[SchedSelIdx]

+InitCpbRemovalDelayOffset[SchedSelIdx])÷90000(C-7)

-否则(解码单元m为后续缓冲周期的第一解码单元), initArrivalEarliestTime[m]被导出如下:

initArrivalEarliestTime[m]=tmpNominalRemovalTime-

(InitCpbRemovalDelay[SchedSelIdx]÷90000)(C-8)

用于解码单元m的最终到达时间被导出如下:

其中sizeInbits[m]为解码单元m的以位为单位的大小,从而计数用于类型I一致性点的VCL NAL单元和填充符数据NAL单元的位或用于类型II一致性点的类型II位流的所有位,其中类型I一致性点和类型II一致性点如图C-1所展示。

SchedSelIdx、BitRate[SchedSelIdx]和CpbSize[SchedSelIdx]的值被约束如下:

-如果用于含有解码单元m的存取单元的选定hrd_parameters()语法结构(或跨层 HRD参数SEI消息(在适用时))的内容与用于前一存取单元的选定hrd_parameters()语法结构的内容不同,那么HSS从提供于用于含有解码单元m的存取单元的选定 hrd_parameters()语法结构(或跨层HRD参数SEI消息(在适用时))中的SchedSelIdx值当中选择SchedSelIdx的值SchedSelIdx1,其导致用于含有解码单元m的存取单元的 BitRate[SchedSelIdx1]或CpbSize[SchedSelIdx1]。BitRate[SchedSelIdx1]或 CpbSize[SchedSelIdx1]的值可不同于用于前一存取单元的SchedSelIdx的值 SchedSelIdx0的BitRate[SchedSelIdx0]或CpbSize[SchedSelIdx0]的值。

-否则,HSS继续用前一SchedSelIdx值、前一BitRate[SchedSelIdx]值和前一 CpbSize[SchedSelIdx]值进行操作。

当HSS选择不同于前一存取单元的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx] 的值的BitRate[SchedSelIdx]或CpbSize[SchedSelIdx]的值时,以下情况适用:

-变量BitRate[SchedSelIdx]在当前存取单元的初始CPB到达时间开始生效。

-变量CpbSize[SchedSelIdx]开始生效如下:

-如果CpbSize[SchedSelIdx]的新值大于旧CPB大小,那么其在当前存取单元的初始CPB到达时间开始生效。

-否则,CpbSize[SchedSelIdx]的新值在当前存取单元的CPB去除时间开始生效。

此外,在本发明的技术的第二组实例中,可作出对HEVC工作草案10的附件C章节C.3.3的以下改变。所述改变可导致视频解码器30至少部分地基于指示是否IRAP存取单元的所有CL-RAS图片都存在于视频数据位流中的值(例如,NoClRasPicPresentFlag) 来执行图片输出过程。

C.3.3图片输出

此子条项中所指定的过程在存取单元n的CPB去除时间AuCpbRemovalTime[n]瞬时地发生。

当图片n具有等于1的PicOutputFlag时,其DPB输出时间DpbOutputTime[n]被导出如下,其中变量firstPicInBufferingPeriodFlag在存取单元n为缓冲周期的第一存取单元的情况下等于1,否则等于0:

其中[[picDpbOutputDelay为与存取单元n相关联的图片时序SEI消息中的 pic_dpb_output_delay的值,且]]picSptDpbOutputDuDelay为与存取单元n相关联的解码单元信息SEI消息中的pic_spt_dpb_output_du_delay的值(当存在时),或当不存在与存取单元n相关联的解码单元信息SEI消息或与存取单元n相关联的解码单元信息SEI消息中不存在pic_spt_dpb_output_du_delay时为与存取单元n相关联的图片时序SEI消息中的pic_dpb_output_du_delay的值。picDpbOutputDelay的值经设定如下:

-如果以下条件中任一者为真,那么picDpbOutputDelay经选择为与存取单元n相关联的图片时序SEI消息中的pic_alt_dpb_output_delay的值。

-以解码次序的前一初始IRAP AU具有等于1的NoClRasPicPresentFlag,且 irap_cross_layer_cpb_params_present_flag等于1。

-当前AU为具有等于1的NoClRasPicPresentFlag的初始IRAP AU,且 irap_cross_layer_cpb_params_present_flag等于1。

-否则,picDpbOutputDelay为与存取单元n相关联的图片时序SEI消息中的 pic_alt_dpb_output_delay的值。

注意——当语法元素pic_spt_dpb_output_du_delay不存在于与存取单元n相关联的任何解码单元信息SEI消息中时,值经推断为等于与存取单元n相关联的图片时序SEI 消息中的pic_dpb_output_du_delay。

当前图片的输出经指定如下:

-如果PicOutputFlag等于1且DpbOutputTime[n]等于AuCpbRemovalTime[n],那么输出当前图片。

-否则,如果PicOutputFlag等于0,那么不输出当前图片,但将把当前图片存储于DPB中,如子条项C.3.4中所指定。

-否则(PicOutputFlag等于1且DpbOutputTime[n]大于AuCpbRemovalTime[n]),稍后输出当前图片且将把当前图片存储于DPB中(如子条项C.3.4中所指定),且除非当前图片被指示为不在DpbOutputTime[n]之前的时间通过等于1的 no_output_of_prior_pics_flag的解码或推断而输出,否则在时间DpbOutputTime[n]输出当前图片。

当输出时,使用用于图片的作用中SPS中指定的一致性裁剪窗来裁剪图片。

当图片n为被输出且不为被输出的位流的最后图片的图片时变量 DpbOutputInterval[n]的值被导出如下:

DpbOutputInterval[n]=DpbOutputTime[nextPicInOutputOrder]-

DpbOutputTime[n](C-17)

其中nextPicInOutputOrder为以输出次序在图片n之后且具有等于1的PicOutputFlag 的图片。

图5为根据本发明的一或多个技术的说明CL-RAS图片的概念图。在图5的实例中,每一正方形表示不同图片。此外,在图5的实例中,正方形是以列250A到250D(集体地为“列250”)和行252A到252D(集体地为“行252”)的形式予以布置。列250中的每一者对应于不同存取单元(AU)。行252中的每一者对应于不同层。行252中的较高行取决于行252中的较低行。在图5的实例中,成交叉影线正方形对应于非IRAP、非 CL-RAS图片。

如图5的实例所展示,CL-RAS图片可存在于IRAP存取单元(即,包含基础层处的 IRAP图片的存取单元)中,例如,对应于列250A的存取单元。此外,如图5的实例所说明,CL-RAS图片(例如,列250B和行252B中的CL-RAS图片)可存在于以解码次序在IRAP存取单元之后且以解码次序在包含处于相同于CL-RAS图片的层的IRAP图片的层切换IRAP存取单元之前的存取单元中。在图5的实例中,列250A对应于IRAP存取单元,且列250C对应于层切换IRAP存取单元。

在不同例子中,CL-RAS图片的经译码表示可或可不包含于位流中。可需要使符合的解码器能够解码包含CL-RAS图片的位流和不包含CL-RAS图片的位流。因此,根据本发明的一或多个技术,视频解码器或其它装置可基于一个值(例如, NoClRasPicPresentFlag)来确定是否IRAP存取单元的所有CL-RAS图片都存在于视频数据位流中。

图6A为说明根据本发明的一或多个技术的视频编码器20的实例操作的流程图。图 6A被呈现为一个实例。根据本发明的技术的视频编码器的其它实例操作可包含更多、更少或不同动作。

在图6A的实例中,视频编码器20可产生包含形成经译码图片和相关联数据的表示的位序列的位流,其中所述位流包含供接收所述位流的装置能够导出指定IRAP存取单元的CL-RAS图片是否存在于所述位流中的值的语法元素(300)。另外,视频编码器20 可输出所述位流(302)。

图6B为根据本发明的一或多个技术的说明装置的实例操作的流程图。图6B被呈现为一个实例。根据本发明的技术的视频解码器的其它实例操作可包含更多、更少或不同动作。例如视频编码器20、具有媒体知识的网络元件(MANE)或另一类型的装置的各种装置可执行图6B的操作。所述装置可为或可不为最初产生位流的装置。在图6B的实例中,装置可产生设定指定IRAP存取单元的CL-RAS图片是否存在于位流中的变量的SEI 消息,所述位流包含形成经译码图片和相关联数据的表示的位序列(310)。所述装置可将 SEI消息包含于位流中(312)。

图6C为说明根据本发明的一或多个技术的视频解码器30的实例操作的流程图。图 6C被呈现为一个实例。根据本发明的技术的视频解码器的其它实例操作可包含更多、更少或不同动作。

在图6C的实例中,视频解码器30可基于一个值确定是否IRAP存取单元的所有 CL-RAS图片都存在于视频数据位流中(350)。另外,视频解码器30可至少部分地基于从视频数据位流解码的语法元素而重新构建视频数据的图片(352)。

以下段落提供本发明的实例。

实例1.一种处理视频数据的方法,所述方法包括基于一个值而确定是否与帧内随机存取点(IRAP)存取单元相关联的所有跨层随机存取跳过(CL-RAS)图片都存在于视频数据位流中。

实例2.如实例1的方法,其中所述方法包括至少部分地基于所述视频数据位流的补充增强信息(SEI)消息中的数据来设定所述值。

实例3.如实例1的方法,其中所述值通过用于所述视频数据的解码过程外部的机制来设定。

实例4.如实例3的方法,其中当一当前存取单元为初始IRAP存取单元时,所述值通过用于所述视频数据的所述解码过程外部的所述机制设定。

实例5.如实例1的方法,其中所述方法包括至少部分地基于视频参数集(VPS)中的数据来设定所述值。

实例6.如实例1的方法,其进一步包括执行位流一致性测试以确定所述视频数据位流是否符合视频译码规范,其中位流一致性的要求为:如果当前图片为层识别符大于 0的IRAP图片,那么对于当前层的每一直接参考层,在经译码视频序列(CVS)中存在层识别符等于所述当前层的层识别符且解码次序在所述当前图片之前的至少一个IRAP图片。

实例7.如实例1的方法,其中针对特定层id值的经激活序列参数集(SPS)原始字节序列有效负载(RBSP)针对具有所述特定层id值的以解码次序的图片序列保持作用中的,所述图片序列从初始IRAP存取单元中或初始IRAP存取单元之后的含有具有 nuh_layer_id值的图片的第一存取单元中具有所述特定层id值的图片开始(包含所述图片),直到初始IRAP存取单元中的具有所述特定层id值的下一图片(不包含所述下一图片)或CVS的末端(无论任何情况都较早)为止。

实例8.如实例1的方法,其进一步包括当所述值指示并非与IRAP存取单元相关联的所有CL-RAS图片都存在于所述视频数据位流中且当前图片为初始IRAP存取单元中的CL-RAS图片时,产生用于所述CL-RAS图片的不可用参考图片。

实例9.如实例1的方法,其进一步包括:从所述经译码视频位流的SEI消息获得用于IRAP存取单元的替代位速率参数和经译码图片缓冲器(CPB)大小参数;且对于所述 IRAP存取单元中的每一相应IRAP存取单元,当所述相应IRAP存取单元为不存在关联 CL-RAS图片的初始IRAP存取单元时使用用于所述相应IRAP存取单元的所述替代位速率参数和CPB大小参数。

实例10.如实例1的方法,其进一步包括:从所述经译码视频位流的SEI消息获得指定替代CPB去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中的语法元素,其中所述替代CPB去除延迟语法元素指定当网络抽象层(NAL)假设的参考解码器(HRD)参数在使用中时用于CPB的替代初始CPB去除延迟,且其中所述替代CPB去除偏移语法元素指定当所述NAL HRD参数在使用中时用于所述CPB的替代初始CPB去除偏移;从所述SEI消息获得,其中所述替代CPB去除延迟语法元素指定当视频译码层(VCL)假设的参考解码器(HRD)参数在使用中时用于CPB的替代初始CPB 去除延迟的另一集合,其中所述另一替代CPB去除偏移语法元素指定当所述VCL HRD 参数在使用中时用于所述CPB的替代初始CPB去除偏移;从所述SEI消息获得指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP 存取单元相关联的CL-RAS图片不存在于所述视频数据位流中时以解码次序在所述 IRAP存取单元之后的存取单元的标称CPB去除时间的导出;和从所述SEI消息获得指定偏移的经解码图片缓冲器(DPB)跨层延迟偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于所述视频数据位流中时所述IRAP存取单元的DPB输出时间的导出。

实例11.如实例1的方法,其进一步包括:从所述经译码视频位流的SEI消息获得指定替代CPB去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中的IRAP跨层参数存在语法元素,其中所述替代CPB去除延迟语法元素指定当网络抽象层(NAL)假设的参考解码器(HRD)参数在使用中时用于CPB的替代初始CPB去除延迟,其中所述替代CPB去除偏移语法元素指定当所述NAL HRD参数在使用中时用于所述CPB的替代初始CPB去除偏移。

实例12.如实例1的方法,其进一步包括:从所述经译码视频位流的SEI消息获得指定替代CPB去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中的语法元素,其中所述替代CPB去除延迟语法元素指定当视频译码层(VCL)HRD参数在使用中时用于CPB的替代初始CPB去除延迟,其中所述替代CPB去除偏移语法元素指定当所述VCL HRD参数在使用中时用于所述CPB的替代初始CPB去除偏移。

实例13.如实例12的方法,其进一步包括部分地基于所述CPB跨层延迟语法元素和所述CPB跨层去除偏移语法元素而执行位流一致性测试以确定所述视频译码位流是否符合视频译码标准。

实例14.如实例1的方法,其进一步包括:从SEI消息获得指定偏移的CPB跨层去除延迟语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的CL-RAS图片不存在于所述视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间的导出;和从所述SEI消息获得指定偏移的经解码图片缓冲器(DPB)跨层去除偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的 IRAP存取单元相关联的CL-RAS图片不存在于所述视频数据位流中时所述IRAP存取单元的DPB输出时间的导出。

实例15.如实例14的方法,其进一步包括部分地基于所述CPB跨层延迟语法元素和所述CPB跨层去除偏移语法元素而执行位流一致性测试以确定所述视频译码位流是否符合视频译码标准。

实例16.如实例14的方法,其进一步包括当所述值指示并非与所述IRAP存取单元相关联的所有CL-RAS图片都存在于所述视频数据位流中时:设定等于所述CPB跨层去除延迟偏移语法元素的值的CPB延迟偏移;和设定等于所述DPB跨层去除延迟偏移语法元素的值的DPB延迟偏移。

实例17.如实例1的方法,其进一步包括部分地基于所述值而执行CPB操作。

实例18.如实例9的方法,其进一步包括从所述视频译码位流的SEI消息获得指示直到使跨层位速率值和跨层CPB大小值适用的存取单元的语法元素。

实例19.如实例1的方法,其进一步包括从所述视频译码位流的SEI消息获得指定当CPB在存取单元层级操作时的所述CPB的最大输入位速率的语法元素。

实例20.如实例1的方法,其进一步包括:从所述视频译码位流的SEI消息获得语法元素;和至少部分地基于所述语法元素而确定当CPB在存取单元层级操作时的所述 CPB大小。

实例21.如实例1的方法,其进一步包括至少部分地基于所述值而执行图片输出过程。

实例22.一种方法,其包括实例1到21的方法中任一者。

实例23.一种装置,其包括经配置以执行实例1到21中任一者的方法的一或多个处理器。

实例24.一种装置,其包括用于执行实例1到21中任一者的方法的装置。

实例25.一种计算机可读数据存储媒体,其具有存储于其上的指令,所述指令在经执行时配置装置以执行实例1到21中任一者的方法。

实例26.一种编码视频数据的方法,所述方法包括:产生补充增强信息(SEI)消息,所述SEI消息包含指定替代经译码图片缓冲器(CPB)去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中的语法元素,其中所述替代CPB去除延迟语法元素指定当网络抽象层(NAL)假设的参考解码器(HRD)参数在使用中时用于CPB的替代初始CPB去除延迟,其中所述替代CPB去除偏移语法元素指定当所述NAL HRD参数(且在一些实例中VCL HRD参数)在使用中时用于所述CPB的替代初始CPB去除偏移;其中所述SEI消息包含指定偏移的CPB跨层延迟偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的跨层随机存取跳过(CL-RAS)图片不存在于所述视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间的导出;且其中所述SEI消息包含指定偏移的经解码图片缓冲器(DPB)跨层延迟偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的 CL-RAS图片不存在于所述视频数据位流中时所述IRAP存取单元的DPB输出时间的导出。

实例27.如实例26的方法,其中所述SEI消息包含IRAP跨层参数存在语法元素,所述IRAP跨层参数存在语法元素指定替代CPB去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中,其中所述替代CPB去除延迟语法元素指定当网络抽象层(NAL)假设的参考解码器(HRD)参数在使用中时用于CPB的替代初始CPB去除延迟,其中所述替代CPB去除偏移语法元素指定当所述NAL HRD参数在使用中时用于所述CPB的替代初始CPB去除偏移。

实例28.如实例26的方法,其中所述SEI消息包含指定替代CPB去除延迟语法元素和替代CPB去除偏移语法元素是否存在于所述SEI消息中的语法元素,其中所述替代 CPB去除延迟语法元素指定当视频译码层(VCL)HRD参数在使用中时用于CPB的替代初始CPB去除延迟,其中所述替代CPB去除偏移语法元素指定当所述VCL HRD参数在使用中时用于所述CPB的替代初始CPB去除偏移。

实例29.如实例26的方法,其中所述SEI消息包含:指定偏移的CPB跨层去除延迟语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的 CL-RAS图片不存在于所述视频数据位流中时以解码次序在所述IRAP存取单元之后的存取单元的标称CPB去除时间的导出;和指定偏移的经解码图片缓冲器(DPB)跨层去除偏移语法元素,所述偏移待用于在与相关联于所述SEI消息的IRAP存取单元相关联的 CL-RAS图片不存在于所述视频数据位流中时所述IRAP存取单元的DPB输出时间的导出。

实例30.一种编码视频数据的方法,所述方法包括产生补充增强信息(SEI)消息,所述SEI消息包含指示直到使跨层位速率值和跨层经译码图片缓冲器CPB大小值适用的存取单元的语法元素。

实例31.一种编码视频数据的方法,所述方法包括产生补充增强信息(SEI)消息,所述SEI消息包含指定当CPB在存取单元层级操作时所述CPB的最大输入位速率的语法元素。

实例32.一种装置,其包括经配置以执行实例26到31中任一者的方法的一或多个处理器。

实例33.一种装置,其包括用于执行实例26到31中任一者的方法的装置。

实例34.一种计算机可读数据存储媒体,其具有存储于其上的指令,所述指令在经执行时配置装置以执行实例26到31中任一者的方法。

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

通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、 CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接被适当地称为计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字用户线(digital subscriber line,DSL)或例如红外线、无线电和微波的无线技术而从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是替代地有关非暂时性有形存储媒体。如本文所使用,磁盘和光盘包含紧密光盘(compact disc,CD)、激光光盘、光学光盘、数字影音光盘(digital versatile disc,DVD)、软碟和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。

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

本发明的技术可在广泛多种装置或设备中予以实施,所述装置或设备包含无线手机、集成电路(integrated circuit,IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。更确切来说,如上文所描述,各种单元可组合于编码解码器硬件单元中或由交互操作的硬件单元的集合(包含如上文所描述的一或多个处理器)结合合适软件和 /或固件来提供。

已描述各种实例。这些和其它实例连同这些实例的各种组合在以下权利要求书的范围内。

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