一种译码视频信息的方法、设备及计算机可读媒体与流程

文档序号:17608534发布日期:2019-05-07 20:54阅读:149来源:国知局
一种译码视频信息的方法、设备及计算机可读媒体与流程

本发明涉及视频译码及压缩领域,确切地说,涉及可缩放视频译码(SVC)、多视图视频译码(MVC)或三维(3D)视频译码。



背景技术:

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

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

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



技术实现要素:

可缩放视频译码(SVC)是指其中使用基础层(BL)(有时被称作参考层(RL))及一或多个可缩放增强层(EL)的视频译码。在SVC中,BL可携载具有基础质量水平的视频数据。一或多个EL可携载额外的视频数据以支持(例如)更高的空间、时间和/或信噪比(SNR) 水平。可相对于先前编码的层定义EL。举例来说,底层可充当BL,而顶层可充当EL。中间层可充当EL或RL,或两者。举例来说,处于中间的层可为用于其下层的EL,例如,BL或任何介入EL,且同时充当用于其上的一或多个EL的RL。类似地,在HEVC 标准的多视图或3D扩展中,可存在多个视图,且可利用一个视图的信息对另一视图的信息(例如,运动估计、运动向量预测和/或其它冗余)进行译码(例如,编码或解码)。

在SVC中,可使用从RL导出的信息对EL中的当前块进行译码(例如,编码或解码)。举例来说,可使用RL中的共置块(本发明中使用的术语“共置”可指代对应于和当前块相同的图像的另一层中的块,例如,当前正被译码的块)的信息(例如,纹理信息或运动信息)对EL中的当前块进行译码。在一些实施中,特定RL是否用于译码EL可经用信号发送为旗标或语法元素。如果旗标或语法元素指示特定RL用于译码EL,那么另一旗标或语法元素可进一步经用信号发送以指示特定参考图片中的何种信息用于译码EL,例如,举例来说:纹理(像素)信息、运动信息或两者。

在某些情况下,RL中的信息的一部分可不可用于译码EL。举例来说,在一些实施中,如果RL经使用非HEVC编解码器来译码,那么RL的运动信息可不可用于HEVC 编解码器译码EL。在此情况下,可又使用RL的纹理信息对EL进行译码,但RL的运动信息不可用于译码EL。

通过采用RL中的信息的特定类型的可用性对用于译码RL的编解码器的类型的此相依性,经执行以确定何种类型的信息从RL导出的处理中的一些可经忽略(例如,如果信息不可用,那么不需要检查所述信息是否用于译码EL),因此产生改进的译码效率和/ 或减少的计算复杂度。

本发明的系统、方法及装置各自具有若干创新方面,其中没有单个方面单独负责本文所揭示的合乎需要的属性。

在一个方面中,本发明描述一种译码视频信息的方法,所述方法包含确定参考层是否包含于位流中。所述方法进一步包含基于参考层是否包含于位流中确定是否处理指示,且如果参考层包含于位流中,那么在视频位流中处理所述指示。所述方法还包含至少部分基于经处理的指示译码视频信息。

在一些方面中,参考层可根据非HEVC(高效率视频译码)编解码器或根据高级视频译码(AVC)编解码器来译码。确定参考层是否包含于位流中可包含基于旗标或变量的值确定参考层是否包含于位流中。基于参考层是否包含于位流中确定是否处理指示可包含基于参考层是否包含于位流中确定所述指示是否为冗余的。在一些方面中,指示可包含参考层可以用于至少一个增强层(EL)的样本预测及运动预测中的一或多者的指示。指示可包含用于特定层的多个子层的指示。在一个方面中,指示可包含第一层是否可以用于第二层的层间预测的指示。指示可包含数据阵列中的一或多个值。译码视频信息可包含编码及解码视频信息中的至少一者。

本发明的一个方面提供一种经配置以译码视频信息的设备。所述设备包含经配置以存储与位流相关联的视频信息的存储器。所述设备进一步包含与存储器通信的处理器。处理器经配置以确定参考层是否包含于位流中,并基于参考层是否包含于位流中确定是否处理指示。处理器进一步经配置以在参考层包含于位流中的情况下在视频位流中处理指示并至少部分基于经处理指示译码视频信息。

在一个方面中,揭示一种包括当经执行时使得设备执行过程的代码的非暂时性计算机可读媒体。所述过程包含确定参考层是否包含于位流中及基于参考层是否包含于位流中确定是否处理指示。所述过程进一步包含在参考层包含于位流中的情况下在视频位流中处理指示,及至少部分基于经处理指示译码视频信息。

本发明的一个方面提供一种经配置以译码视频信息的视频译码装置。视频译码装置包含用于确定参考层是否包含于位流中的装置及用于基于参考层是否包含于位流中而确定是否处理指示的装置。所述装置进一步包含用于在参考层包含于位流中的情况下在视频位流中处理指示的装置及用于至少部分基于经处理指示译码视频信息的装置。

附图说明

图1A为说明可利用根据本发明中描述的方面的技术的实例视频编码及解码系统的框图。

图1B为说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。

图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。

图2B为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。

图3A为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。

图3B为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。

图4说明根据本发明的一个实施例的说明译码视频信息的方法的流程图。

图5说明根据本发明的一个实施例的说明译码视频信息的方法的流程图。

图6说明根据本发明的一个实施例的说明译码视频信息的方法的流程图。

图7说明根据本发明的一个实施例的说明译码视频信息的方法的流程图。

具体实施方式

本文中描述的某些实施例涉及在高级视频编解码器的情况下的针对例如HEVC(高效率视频译码)等可缩放视频译码的层间预测。更确切地说,本发明涉及用于多层视频译码中的层间预测的改进的性能的系统和方法。

在以下描述中,描述与某些实施例有关的H.264/AVC技术;还论述HEVC标准和相关技术。虽然本文中在HEVC和/或H.264标准和情况下描述某些实施例,但所属领域的技术人员可了解,本文中揭示的系统和方法可适用于任何合适的视频译码标准。举例来说,本文所揭示的实施例可适用于以下标准中的一或多者:ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也称作ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。

在许多方面,HEVC通常遵循先前视频译码标准的框架。HEVC中的预测单元不同于某些先前视频译码标准中的预测单元(例如,宏块)。事实上,在HEVC中不存在如在某些先前视频译码标准中所理解的宏块的概念。宏块由基于四叉树方案的阶层式结构替换,阶层式结构可提供高灵活性以及其它可能益处。举例来说,在HEVC方案内,定义三种类型的块,译码单元(CU)、预测单元(PU)和变换单元(TU)。CU可指区分裂的基本单元。可认为CU类似于宏块的概念,但其不限定最大大小,且可允许递归分裂成四个相等大小CU以改进内容适应性。可将PU视为帧间/帧内预测的基本单元,且其可在单一PU中含有多个任意形状的分区以有效地对不规则图像模式进行译码。TU可认为是变换的基本单元。可独立于PU来对其定义;然而,其大小可能限于TU所属的CU。块结构如此分离成三个不同概念可允许每一者根据其作用被优化,这可导致提高的译码效率。

仅出于说明的目的,用仅包含两个层(例如,例如基础层的较低层,和例如增强层的较高层)的实例来描述本文中揭示的某些实施例。应理解,这些实例可适用于包含多个基础层和/或增强层的配置。此外,为了易于解释,参照某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语不打算具有限制性。举例来说,下文描述的技术可供任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)使用。

视频译码标准

例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等数字图像可由布置成水平和垂直线的像素或样本构成。单个图像中的像素的数目通常有数万个。每一像素通常含有亮度及色度信息。在未压缩的情况下,将从图像编码器传达到图像解码器的信息的数量太过巨大以致不可能实现实时图像发射为了减少待发射的信息的数量,已开发出例如JPEG、MPEG及H.263标准等数个不同压缩方法。

视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264,包含其SVC及 MVC扩展。

此外,一种新的视频译码标准,即高效率视频译码(HEVC),其正由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC) 进行开发。对HEVC草案10的完全引用为布洛斯(Bross)等人的文献JCTVC-L1003“高效率视频译码(HEVC)文本说明书草案10”,ITU-T SG16WP3与ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议:瑞士日内瓦,2013 年1月14日至2013年1月23日。对HEVC的多视图扩展(即,MV-HEVC)及对HEVC 的可缩放扩展(名为SHVC)也正分别由JCT-3V(3D视频译码扩展开发ITU-T/ISO/IEC 联合合作小组)及JCT-VC开发。

下文参考附图更充分地描述新颖系统、设备及方法的各个方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所呈现的任何特定结构或功能。相反,提供这些方面以使得本发明将为透彻且完整的,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与之组合而实施的本文中所揭示的新颖系统、设备及方法的任何方面。举例来说,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所揭示的任何方面。

尽管本文描述了特定方面,但这些方面的许多变化及排列落在本发明的范围内。尽管提及了较佳方面的一些益处及优点,但本发明的范围不既定限于特定益处、用途或目标。而是,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络及发射协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。具体实施方式和图式仅说明本发明,而不是限制由所附权利要求书和其等效物界定的本发明的范围。

附图说明若干实例。由附图中的参考数字指示的元件对应于在以下描述中由相同参考数字指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等) 开始的元件未必暗示所述元件具有特定次序。而是,此类序数词仅用于指代相同或类似类型的不同元件。

视频译码系统

图1A为说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码和视频解码。除视频编码器和视频解码器以外,本申请案中描述的方面还可扩展到其它相关装置,例如转码器(例如,可解码位流且重新编码另一位流的装置)和中间体(middlebox)(例如,可修改、变换和/或以其它方式操纵位流的装置)。

如图1A中所展示,视频译码系统10包含源模块12,其产生在稍后时间由目的地模块14解码的经编码视频数据。在图1A的实例中,源模块12和目的地模块14在单独的装置上,具体来说,源模块12是源装置的部分,且目的地模块14是目的地装置的部分。然而,应注意,源模块12与目的地模块14可在同一装置上或为同一装置的部分,如在图1B的实例中所展示。

再次参考图1A,源模块12和目的地模块14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似物。在一些情况下,源模块12 和目的地模块14可经装备以用于无线通信。

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

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

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

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

可由视频编码器20对所俘获、预俘获或计算机产生的视频进行编码。经编码视频数据可经由源模块12的输出接口22直接发射到目的地模块14。经编码视频数据还可(或替代地)存储到存储装置31上用于稍后由目的地模块14或其它装置存取以用于解码和/ 或回放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20、图 2B中说明的视频编码器23或本文中描述的任一其它视频编码器。

在图1A的实例中,目的地模块14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地模块14的输入接口 28可经由链路16接收经编码视频数据。经由链路16传达或在存储装置31上提供的经编码视频数据可包含由视频编码器20所产生的多种语法元素以供由例如视频解码器30 等的视频解码器用于解码视频数据。这些语法元素可与在通信媒体上发射、存储在存储媒体上或存储在文件服务器上的经编码视频数据包含在一起。图1A和1B中说明的视频解码器30可包括图3A中说明的视频解码器30、图3B中说明的视频解码器33或本文中描述的任一其它视频解码器。

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

在相关方面中,图1B展示实例视频编码和解码系统10′,其中源模块12和目的地模块14在装置或用户装置11上或为其部分。装置11可为电话手持机,例如“智能”电话等等。装置11可包含与源模块12和目的地模块14操作性地通信的任选的控制器/ 处理器模块13。图1B的系统10′可进一步包含视频编码器20与输出接口22之间的视频处理单元21。在一些实施中,视频处理单元21是单独的单元,如图1B中所说明;然而,在其它实施中,视频处理单元21可实施为视频编码器20和/或处理器/控制器模块13的一部分。图1B的系统10′和其组件在其它方面类似于图1A的系统10和其组件。

视频编码器20和视频解码器30可根据视频压缩标准(例如目前正在开发的HEVC 标准)来操作,且可符合HEVC测试模型(HM)。替代地,视频编码器20和视频解码器 30可以根据其它专属或行业标准来操作,所述标准例如ITU-T H.264标准,替代地被称为MPEG-4第10部分高级视频译码(AVC),或这些标准的扩展。但是,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。

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

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

视频译码过程

如上文简要提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称为视频“帧”。当视频编码器20对视频数据进行编码时,视频编码器20可产生位流。位流可包含形成视频数据的经译码的表示的一连串位。位流可包含经译码图片和相关联数据。经译码的图片是图片的经译码的表示。

为产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对所述图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联的数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)和其它语法结构。SPS可含有适用于零个或多于零个的图片序列的参数。PPS可含有适用于零个或更多图片的参数。APS可含有适用于零个或更多图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。

为产生经译码图片,视频编码器20可将图片分割为大小相等的视频块。视频块可为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大译码单元(LCU)。HEVC的树块可广泛类似于例如H.264/AVC的先前标准的宏块。然而,树块不必限于特定大小且可包含一或多个CU。视频编码器20可使用四叉树分割将树块的视频块分割成与CU相关联的视频块(因此名称为“树块”)。

在一些实例中,视频编码器20可将图片分割成多个切片。所述切片中的每一者可包含整数数目个CU。在一些情况下,一个切片包括整数数目个树块。在其它情况下,切片的边界可在树块内。

作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称为“经译码切片”。

为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码版本的数据。

当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(例如,编码)。举例来说,视频编码器20可按如下次序来编码切片的树块:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行,以此类推,直到视频编码器20已编码切片中的树块的每一者。

作为根据光栅扫描次序编码树块的结果,可已编码在给定树块的上方和左边的树块,但尚未编码在给定树块的下方和右边的树块。因此,当对给定树块进行编码时,视频编码器20可能能够存取通过对给定树块的上方和左边的树块进行编码而产生的信息。然而,当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右边的树块而产生的信息。

为产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块,以此类推。分割的CU可为其视频块被分割成与其它CU相关联的视频块的CU。未分割CU可为其视频块未被分割成与其它CU相关联的视频块的CU。

位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。 CU的视频块在形状上可为正方形。CU的视频块的大小(例如,CU的大小)范围可从8×8 像素直到具有最大64×64个像素或更大的树块的视频块的大小(例如,树块的大小)。

视频编码器20可根据z扫描次序对(例如,编码)树块的每一CU执行编码操作。换句话说,视频编码器20可将左上CU、右上CU、左下CU和接着右下CU按此次序编码。当视频编码器20对经分割的CU执行编码操作时,视频编码器20可根据z扫描次序对与经分割的CU的视频块的子块相关联的CU进行编码。换句话说,视频编码器20 可对与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,且接着是与右下子块相关联的CU按所述顺序进行编码。

作为根据z扫描次序编码树块的CU的结果,可已编码在给定CU的上方、左上方、右上方、左边的左下方的CU。尚未对给定CU的右下方的CU进行编码。因此,当对给定CU进行编码时,视频编码器20可能能够存取通过对与给定CU相邻的一些CU进行编码而产生的信息。然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU相邻的其它CU进行编码而产生的信息。

当视频编码器20对未分割的CU进行编码时,视频编码器20可产生用于所述CU 的一或多个PU。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可产生用于CU的每一PU的经预测视频块。PU的经预测视频块可为样本块。视频编码器20可使用帧内预测或帧间预测来产生用于PU的预测视频块。

当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的经预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的经预测视频块,那么CU为经帧内预测的CU。当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU 相关联的图片的一或多个图片的经解码样本来产生所述PU的经预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的经预测视频块,那么所述CU为经帧间预测 CU。

此外,当视频编码器20使用帧间预测来产生用于PU的经预测视频块时,视频编码器20可产生用于所述PU的运动信息。用于PU的运动信息可指示所述PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为除与PU相关联的图片以外的图片。在一些情况下,PU的参考块也可被称作PU的“参考样本”。视频编码器20可基于PU的参考块产生所述PU的预测视频块。

在视频编码器20产生用于CU的一或多个PU的经预测视频块之后,视频编码器20 可基于用于CU的所述PU的经预测视频块产生所述CU的残余数据。CU的残余数据可指示用于CU的PU的经预测视频块中的样本与CU的原始视频块之间的差。

此外,作为对未分割的CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递归四叉树分割以将CU的残余数据分割成与CU的TU相关联的一或多个残余数据块(例如,残余视频块)。CU的每一TU可与不同残余视频块相关联。

视频编码器20可对与TU相关联的残余视频块应用一或多个变换以产生与TU相关联的变换系数块(例如,变换系数的块)。在概念上,变换系数块可为变换系数的二维(2D) 矩阵。

在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化处理。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的处理。量化处理可减少与变换系数中的一些或全部相关联的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。

视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何量化与所述CU相关联的变换系数块。视频编码器20可通过调节与CU相关联的QP值来调节应用于与CU相关联的变换系数块的量化的程度。

在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应性二进制算术译码(CABAC)操作的熵编码操作应用于这些语法元素中的一些。还可使用例如内容自适应可变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码等其它熵译码技术。

由视频编码器20产生的位流可包含一系列网络提取层(NAL)单元。所述NAL单元中的每一者可为含有NAL单元中的数据类型的指示及含有数据的字节的语法结构。举例来说,NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。

视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码器 20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对所述位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从所述位流提取语法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体互逆。

在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法元素产生用于CU的PU的经预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系数块进行反量化。视频解码器30可对变换系数块执行反变换以重构与CU 的TU相关联的残余视频块。在产生经预测视频块且重构残余视频块之后,视频解码器 30可基于经预测视频块及残余视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素重构CU的视频块。

视频编码器

图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频编码器20 可经配置以执行本发明的技术中的任一者或全部。作为一个实例,预测处理单元100可经配置以执行本发明中描述的技术中的任一者或全部。在另一实施例中,视频编码器20 包含任选层间预测单元128,所述层间预测单元经配置以执行本发明中描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元100(例如,帧间预测单元 121和/或帧内预测单元126)执行,在此情况下可省略层间预测单元128。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未展示)可经配置以执行本发明中描述的技术中的任一者或全部。

出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于处理多层编解码器。

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

在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内预测单元126和层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。另外,运动估计单元122与运动补偿单元124可高度集成,但出于解释的目的而在图2A的实例中单独来表示。

视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(例如,图1A或1B中所展示)或另一源接收视频数据。视频数据可表示一系列图片。为编码视频数据,视频编码器20可对图片中的每一者执行编码操作。作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。

作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,预测处理单元100可将树块的视频块分割成四个相等大小的子块,将所述子块中的一或多者分割成四个相等大小的子子块,等等。

与CU相关联的视频块的大小范围可从8×8样本高达最大64×64像素或更大的树块大小。在本发明中,“N×N”与“N乘N”可互换使用来指代在垂直和水平维度方面的视频块的样本尺寸,例如,16×16个样本或16乘16个样本。一般来说,16×16视频块在垂直方向上具有16个样本(y=16),且在水平方向上具有16个样本(x=16)。同样,N×N 块一般在垂直方向上具有N个样本,且在水平方向上具有N个样本,其中N表示非负整数值。

此外,作为对树块执行编码操作的部分,预测处理单元100可产生用于所述树块的阶层式四叉树数据结构。例如,树块可对应于四叉树数据结构的根节点。如果预测处理单元100将树块的视频块分割成四个子块,那么所述根节点在所述四叉树数据结构中具有四个子节点。所述子节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元100将子块中的一者分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个子节点,其中每一者对应于与子子块中的一者相关联的CU。

四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包含分裂旗标,其指示对应于节点的CU的视频块是否被分割(例如,分裂)成四个子块。用于CU的语法元素可递归地界定,且可取决于所述CU的视频块是否分裂成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于用于对应树块的四叉树数据结构的数据。

视频编码器20可对树块的每一未分割CU执行编码操作。当视频编码器20对未分割CU执行编码操作时,视频编码器20产生表示未分割CU的经编码表示的数据。

作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU间分割CU的视频块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU 的大小为2N×2N,则视频编码器20及视频解码器30可支持2N×2N或N×N的PU大小,及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或类似的对称PU大小的帧间预测。视频编码器20及视频解码器30还可支持用于2N×nU、2N×nD、nL×2N和nR×2N 的PU大小的不对称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直角与CU的视频块的侧会合的边界来在CU的PU间分割CU的视频块。

帧间预测单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计单元122可产生用于所述PU的运动信息。运动补偿单元124可基于运动信息和除与CU相关联的图片(例如,参考图片)之外的图片的经解码样本产生PU的经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可称作经帧间预测视频块。

切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124不对PU执行帧间预测。

如果PU在P切片中,那么含有所述PU的图片与被称作“列表0”的参考图片列表相关联。列表0中的参考图片中的每一者含有可用于其它图片的帧间预测的样本。当运动估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可搜索列表0中的参考图片以找出用于PU的参考块。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本,例如样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本如何紧密地对应于PU的视频块中的样本。例如,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定参考图片中的一组样本对应于PU的视频块中的样本的接近程度。

在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表0中含有参考块的参考图片的参考索引,以及指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计单元122可以不同精确度产生运动向量。举例来说,运动估计单元122可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122可将参考索引及运动向量作为PU的运动信息输出。运动补偿单元124 可基于由PU的运动信息识别的参考块而产生PU的经预测视频块。

如果PU处于B切片中,那么含有PU的图片可与被称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组合相关联。

此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。当运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1中的参考图片以找出用于所述PU的参考块。运动估计单元122可接着产生指示列表0或列表1中的含有参考块的参考图片的参考索引和指示PU与所述参考块之间的空间位移的运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的运动信息。预测方向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的经预测视频块。

当运动估计单元122针对PU执行双向预测时,运动估计单元122可搜索列表0中的参考图片以找到用于所述PU的参考块,且还可搜索列表1中的参考图片以找到用于所述PU的另一参考块。运动估计单元122可接着产生指示列表0和列表1中的含有参考块的参考图片的参考索引,以及指示所述参考块与PU之间的空间位移的运动向量。运动估计单元122可输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息指示的参考块而产生PU的经预测视频块。

在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单元116。实际上,运动估计单元122可参考另一PU的运动信息用信号发送PU的运动信息。举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量及运动向量差来确定PU的运动向量。通过在用信号发送第二PU的运动信息时参考第一PU的运动信息,视频编码器20可能够使用较少的位用信号发送第二PU的运动信息。

作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元 126可基于同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片和B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式以产生用于 PU的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生用于PU的预测数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨 PU的视频块从相邻PU的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左侧,假定对于PU、CU和树块采用从左到右、从上到下的编码次序。帧内预测单元126可取决于PU的大小而使用各种数目个帧内预测模式,例如33个方向性帧内预测模式。

预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测单元126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测处理单元100基于预测数据集合的速率/失真量度来选择用于PU的预测数据。

如果预测处理单元100选择由帧内预测处理单元126产生的预测数据,那么预测处理单元100可用信号发送用以产生用于PU的预测数据的帧内预测模式,例如,选定的帧内预测模式。预测处理单元100可以各种方式用信号发送所选帧内预测模式。举例来说,有可能所选帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,预测处理单元100可产生用以指示选定帧内预测模式与相邻PU的帧内预测模式相同的语法元素。

如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置以使用可用于SVC中的一或多个不同层(例如,基础层或参考层)预测当前块(例如,EL 中的当前块)。此预测可称作层间预测。层间预测单元128利用预测方法来减少层间冗余,借此改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中的共置块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。下文更详细地论述层间预测方案中的每一者。

在预测处理单元100选择用于CU的PU的预测数据之后,残余产生单元102可通过从CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生用于CU的残余数据。CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包含对应于CU的PU的经预测视频块中的样本的明度分量与CU的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。

预测处理单元100可执行四叉树分割以将CU的残余视频块分割成子块。每一未分割残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小及位置可基于或可不基于与CU的PU相关联的视频块的大小及位置。被称为“残余四叉树” (RQT)的四叉树结构可包含与残余视频块中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。

变换处理单元104可通过将一或多个变换应用到与TU相关联的残余视频块而产生用于CU的每一TU的一或多个变换系数块。所述变换系数块中的每一者可为变换系数的2D矩阵。变换处理单元104可将各种变换应用到与TU相关联的残余视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用到与TU相关联的残余视频块。

在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所述变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值而对与CU的 TU相关联的变换系数块进行量化。

视频编码器20可以各种方式使QP值与CU相关联。例如,视频编码器20可对与 CU相关联的树块执行速率失真分析。在速率失真分析中,视频编码器20可通过对树块执行多次编码操作而产生所述树块的多个经译码表示。在视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位速率和失真量度的树块的经译码表示中的CU相关联时,视频编码器20可用信号发送给定QP值与CU相关联。

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

在重构单元112重构CU的视频块之后,滤波器单元113可执行解块操作以减小与 CU相关联的视频块中的成块假象。在执行一或多个解块操作之后,滤波器单元113可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测单元126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的其它PU执行帧内预测。

熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收变换系数块且可从预测处理单元100接收语法元素。当熵编码单元116接收到数据时,熵编码单元116可以执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码 (CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。

作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概率的估计。在CABAC的情况下,术语“二进位”用以指语法元素的二进制化版本的位。

多层视频编码器

图2B为说明可实施根据本发明中描述的方面的技术的多层视频编码器23的实例的框图。视频编码器23可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。此外,视频编码器23可经配置以执行本发明的技术中的任一者或全部。

视频编码器23包含视频编码器20A和视频编码器20B,其中的每一者可经配置为视频编码器20且可执行上文关于视频编码器20所描述的功能。此外,如再使用参考数字所指示,视频编码器20A和20B可包含系统及子系统中的至少一些作为视频编码器 20。虽然将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23不受如此限制且可包含任何数目的视频编码器20层。在一些实施例中,视频编码器23可包含针对存取单元中的每一图片或帧的视频编码器20。例如,包括五个图片的存取单元可由包括五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能不在作用中。

除了视频编码器20A和20B外,视频编码器23还可包含再取样单元90。在一些情况下,再取样单元90可上取样所接收视频帧的基础层以(例如)创造增强层。再取样单元 90可对与帧的所接收的基础层相关联的特定信息上取样,但不对其它信息上取样。举例来说,再取样单元90可上取样基础层的空间大小或像素数目,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。例如,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。虽然主要描述为对基础层或存取单元中的较低层进行上取样,但在一些情况下,再取样单元90可对层进行下取样。例如,如果在视频的流式传输期间减小带宽,那么可对帧进行下取样而不是上取样。

重取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息)并对所述图片(或所接收的图片信息)进行上取样。随后可将经上取样图片提供到较高层编码器(例如,视频编码器20B)的预测处理单元100,所述较高层编码器经配置以编码与较低层编码器相同的存取单元中的图片。在一些情况下,较高层编码器为从较低层编码器去除的一个层。在其它情况下,在图2B的层0编码器与层1编码器之间可存在一或多个较高层编码器。

在一些情况下,可省略或绕过再取样单元90。在这些情况下,可直接或在至少不提供到再取样单元90的情况下将来自视频编码器20A的经解码图片缓冲器114的图片提供到视频编码器20B的预测处理单元100。例如,如果提供到视频编码器20B的视频数据及来自视频编码器20A的经解码图片缓冲器114的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频编码器20B而没有任何再取样。

在一些实施例中,视频编码器23使用下取样单元94下取样待提供到较低层编码器的视频数据,随后将所述视频数据提供到视频编码器20A。替代地,下取样单元94可为能够对视频数据上取样或下取样的再取样单元90。在另外其它实施例中,可省略下取样单元94。

如图2B中所说明,视频编码器23可进一步包含多路复用器98或mux。mux 98可从视频编码器23输出组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且交替在给定时间输出哪一位流来创造组合的位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下,两个以上)位流的位,但在许多情况下,以不同方式组合所述位流。举例来说,可通过一次一个块地交替选定位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1 比率的块来产生输出位流。举例来说,可从视频编码器20B输出用于从视频编码器20A 输出的每一块的两个块。在一些实施例中,可预编程来自mux 98的输出流。在其它实施例中,mux 98可基于从视频编码器23外部的系统(例如从包含源模块12的源装置上的处理器)接收的控制信号来组合来自视频编码器20A、20B的位流。可基于来自视频源 18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素来产生控制信号。

视频解码器

图3A是说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器30 可经配置以执行本发明的技术中的任一者或全部。作为一个实例,运动补偿单元162和 /或帧内预测单元164可经配置以执行本发明中描述的技术中的任一者或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元166,所述层间预测单元166经配置以执行本发明中描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元152(例如,运动补偿单元162和/或帧内预测单元164)执行,在此情况下,可省略层间预测单元166。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未展示)可经配置以执行本发明中描述的技术中的任一者或全部。

出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如将关于图3B进一步描述,可复制视频编码器30中的一些或全部以用于多层编解码器的处理。

在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码单元150、预测处理单元152、反量化单元154、反变换单元156、重构单元 158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元 162、帧内预测单元164和层间预测单元166。在一些实例中,视频解码器30可执行一般与相对于图2A的视频编码器20描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。

视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元素。当视频解码器30接收到位流时,熵解码单元150可对所述位流执行剖析操作。对位流执行剖析操作的结果是,熵解码单元150可从所述位流提取语法元素。作为执行剖析操作的一部分,熵解码单元150可对位流中的经熵编码语法元素进行熵解码。预测处理单元152、反量化单元154、反变换处理单元156、重构单元158及滤波器单元159可执行重构操作,重构操作基于从位流提取的语法元素产生经解码视频数据。

如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集 NAL单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取且熵解码序列参数集、从图片参数集NAL单元提取且熵解码图片参数集、从SEI NAL单元提取且熵解码SEI数据等等。

此外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取且熵解码经译码切片。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。

作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行从切片数据中的经译码CU提取语法元素的剖析操作。所提取的语法元素可包含与变换系数块相关联的语法元素。熵解码单元150可接着对语法元素中的一些执行CABAC解码操作。

在熵解码单元150对未分割的CU执行剖析操作之后,视频解码器30可对未分割的 CU执行重构操作。为对未经分割CU执行重构操作,视频解码器30可对CU的每一TU 执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。

作为对TU执行重构操作的一部分,反量化单元154可对与TU相关联的变换系数块进行反量化(例如,解量化)。反量化单元154可以类似于针对HEVC所提议或由H.264 解码标准定义的反量化过程的方式来反量化变换系数块。反量化单元154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样地,确定反量化单元154应用的反量化的程度。

在反量化单元154反量化变换系数块之后,反变换单元156可产生用于与变换系数块相关联的TU的残余视频块。反变换单元156可将反变换应用到变换系数块以便产生所述TU的残余视频块。举例来说,反变换单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于变换系数块。在一些实例中,反变换单元156可基于来自视频编码器20的信令而确定适用于变换系数块的反变换。在这些实例中,反变换单元156可基于在用于与变换系数块相关联的树块的四叉树的根节点处的用信号发送的变换来确定反变换。在其它实例中,反变换单元156可从例如块大小、译码模式或类似者的一或多个译码特性推断反变换。在一些实例中,反变换单元156可应用级联的反变换。

在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插而精炼PU的预测视频块。用于将用于以子样本精确度进行运动补偿的内插滤波器的识别符可包含在语法元素中。运动补偿单元162可使用由视频编码器20在产生PU的经预测视频块期间使用的相同内插滤波器来计算参考块的子整数样本的内插值。运动补偿单元162可根据所接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生经预测视频块。

如果PU是使用帧内预测编码,那么帧内预测单元164可执行帧内预测以产生用于 PU的经预测视频块。举例来说,帧内预测单元164可基于位流中的语法元素确定用于PU的帧内预测模式。位流可包含帧内预测模块164可用以确定PU的帧内预测模式的语法元素。

在一些情况下,语法元素可指示帧内预测单元164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,可能有可能当前PU的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,在此实例中,位流可包含小语法元素,所述小语法元素指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测单元164可接着使用帧内预测模式基于空间相邻PU的视频块而产生PU的预测数据(例如,经预测样本)。

如上文所论述,视频解码器30还可包含层间预测单元166。层间预测单元166经配置以使用SVC中可用的一或多个不同层(例如,基础或参考层)来预测当前块(例如,EL 中的当前块)。此预测可称作层间预测。层间预测单元166利用预测方法来减少层间冗余,借此改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中的共置块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。下文更详细地论述层间预测方案中的每一者。

重构单元158可使用与CU的TU相关联的残余视频块以及CU的PU的经预测视频块(例如,帧内预测数据或帧间预测数据,如果适用)来重构CU的视频块。因此,视频解码器30可基于位流中的语法元素而产生所预测的视频块及残余视频块,且可基于所预测的视频块及残余视频块而产生视频块。

在重构单元158重构CU的视频块之后,滤波器单元159可执行解块操作以减小与所述CU相关联的成块假象。在滤波器单元159执行解块操作以减小与CU相关联的成块假影之后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测和在例如图1A或1B 的显示装置32的显示装置上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块对其它CU的PU执行帧内预测或帧间预测操作。

多层解码器

图3B为说明可实施根据本发明中描述的方面的技术的多层视频解码器33的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,针对SHVC及多视图译码)。另外,视频解码器33可经配置以执行本发明的技术中的任一者或全部。

视频解码器33包含视频解码器30A及视频解码器30B,其中的每一者可经配置为视频解码器30且可执行上文关于视频解码器30所描述的功能。此外,如再使用参考数字所指示,视频解码器30A和30B可包含系统及子系统中的至少一些作为视频解码器 30。虽然将视频解码器33说明为包含两个视频解码器30A及30B,但视频解码器33不受如此限制且可包含任何数目个视频解码器30层。在一些实施例中,视频解码器33可包含用于存取单元中的每一图片或帧的视频解码器30。举例来说,可由包含五个解码器层的视频解码器处理或解码包含五个图片的存取单元。在一些实施例中,视频解码器33 可包含比存取单元中的帧更多的解码器层。在一些此类情况下,当处理一些存取单元时,一些视频解码器层可能不在作用中。

除了视频解码器30A和30B之外,视频解码器33可包含上取样单元92。在一些实施例中,上取样单元92可对所接收的视频帧的基础层进行上取样以创建将添加到帧或存取单元的参考图片列表的增强层。此增强层可存储在经解码图片缓冲器160中。在一些实施例中,上取样单元92可包含关于图2A的再取样单元90描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收的视频帧的层上取样及/或下取样的再取样单元。

上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器160接收图片或帧(或与图片相关联的图片信息)并对所述图片(或所接收的图片信息)进行上取样。随后可将此经上取样的图片提供到较高层解码器(例如,视频解码器30B) 的预测处理单元152,所述较高层解码器经配置以解码与较低层解码器相同的存取单元中的图片。在一些情况下,较高层解码器为从较低层解码器移除的一个层。在其它情况下,在图3B的层0解码器与层1解码器之间可存在一或多个较高层解码器。

在一些情况下,可省略或绕过上取样单元92。在这种情况下,可直接或在至少不提供到上取样单元92的情况下将来自视频解码器30A的经解码图片缓冲器160的图片提供到视频解码器30B的预测处理单元152。例如,如果提供到视频解码器30B的视频数据及来自视频解码器30A的经解码图片缓冲器160的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频解码器30B而不需要上取样。另外,在一些实施例中,上取样单元92可为经配置以对从视频解码器30A的经解码图片缓冲器160接收的参考图片上取样或下取样的再取样单元90。

如图3B中所说明,视频解码器33可进一步包含多路分用器99或demux。多路分用器99可将经编码视频位流分裂为多个位流,其中由多路分用器99输出的每一位流被提供到不同的视频解码器30A和30B。可通过接收位流来产生多个位流,且视频解码器 30A和30B中的每一者在给定时间接收位流的一部分。虽然在一些情况下,可在视频解码器(例如,在图3B的实例中的视频解码器30A和30B)中的每一者之间一次一个位地交替来自在demux 99处接收的位流的位,但在许多情况下,以不同方式划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流而划分所述位流。在另一实例中,可通过到视频解码器30A和30B中的每一者的块的非1:1比率来划分位流。举例来说,可针对提供到视频解码器30A的每一块将两个块提供到视频解码器30B。在一些实施例中,可预编程由demux 99对位流的划分。在其它实施例中,demux 99可基于从视频解码器33外部的系统(例如从包含目的地模块14的目的地装置上的处理器)接收的控制信号划分位流。可基于来自输入接口28的视频的分辨率或位速率、基于链路16 的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定可由视频解码器33获得的分辨率的任何其它因素而产生控制信号。

帧内随机存取点(IRAP)图片

一些视频译码方案可提供贯穿位流的各种随机存取点以使得可从那些随机存取点中的任一者开始解码位流而无需解码在位流中在那些随机存取点之前的任何图片。在此类视频译码方案中,按输出次序在随机存取点之后的全部图片(例如,包含在与提供随机存取点的图片相同的存取单元中的那些图片)可被正确地解码而不使用在随机存取点之前的任何图片。举例来说,即使位流的一部分在传输期间或在解码期间丢失,解码器仍可从下一个随机存取点开始恢复解码位流。对随机存取的支持可促进(例如)动态流式传输服务、搜寻操作、信道切换等。

在一些译码方案中,此类随机存取点可由被称为帧内随机存取点(IRAP)图片的图片提供。举例来说,包含于存取单元(“auA”)中的增强层(“层A”)中的随机存取点(例如,由增强层IRAP图片提供)可提供层特定的随机存取以使得对于层A的具有包含于在层B 中且按解码次序在auA之前的存取单元(“auB”)中的随机存取点(或包含于auA中的随机存取点)的每一参考层(“层B”)(例如,作为用以预测层A的层的参考层),层A中按输出次序在auB之后的图片(包含位于auB中的那些图片)可正确解码而无需解码层A中在auB之前的任何图片。

IRAP图片可使用帧内预测进行译码(例如,在不参考其它图片的情况下进行译码) 和/或层间预测进行译码,且可包含(例如)即时解码器刷新(IDR)图片、清洁随机存取 (CRA)图片和断链存取(BLA)图片。当位流中存在IDR图片时,按解码次序在IDR图片之前的所有图片不用于通过在所述IDR图片之后的图片进行的预测。当位流中存在CRA 图片时,在CRA图片之后的图片可或可不将按解码次序在CRA图片之前的图片用于预测。按解码次序在CRA图片之后但使用按解码次序在CRA图片之前的图片的那些图片可被称作随机存取跳过前导(RASL)图片。按解码次序可在IRAP图片之后且按输出次序在IRAP图片之前的另一类型的图片为随机存取可解码前导(RADL)图片,其可不含有对按解码次序在IRAP图片之前的任何图片的参考。如果在CRA图片之前的图片不可用,那么RASL图片可由解码器丢弃。BLA图片对解码器指示在BLA图片之前的图片可能不对解码器可用(例如,因为两个位流经拼接在一起且BLA图片为按解码次序的第二位流的第一图片)。含有为IRAP图片的基础层图片(例如,具有层ID“0”)的存取单元(例如,由与跨越多个层的相同输出时间相关联的所有经译码图片组成的图片群组)可被称为 IRAP存取单元。层(例如,基础层)的层ID可包含于nuh_layer_id值中。在一些方面中,基础层可具有层ID“0”。

直接相依性旗标

在一些实例实施中(例如,MV-HEVC及SHVC),存在被称为direct_dependency_flag 的语法元素,其针对特定层指定哪一或哪些层可用于所述特定层的层间预测。在一个实施例中,direct_dependency_flag为指定视频数据的一个层是否基于(或取决于)视频数据的另一层来译码的二维阵列。此类二维阵列可采取值direct_dependency_flag[i][j]的形式,其中i对应于待译码的层(例如,当前层)且j对应于待参考的层(例如,参考层)。在此实例中,如果参考层不是当前层的直接参考层,那么direct_dependency_flag可为0,且如果参考层为当前层的直接参考层,那么direct_dependency_flag可为1。在一个实施例中,如果忽略或不定义direct_dependency_flag,那么推断值为0。在另一实施例中,如果忽略或不定义direct_dependency_flag,那么推断值为1。在一个实施例中,如果层A为层 B的直接参考层,那么意味着可至少部分基于包含于层A中的信息来译码层B。在另一实施例中,如果层A为层B的直接参考层,那么意味着至少部分基于包含于层A中的信息来译码层B。在一些实施例中,所有具有较小层ID的层(例如,较低层)为特定层的直接参考层。在其它实施例中,仅一些较低层可为特定层的直接参考层。举例来说,编码器可仅选择较低层中的一些为特定层的直接相依性层以减小计算复杂度。可适用的译码方案(例如,HEVC)可具有对特定层可具有多少直接参考层的限制(例如,针对空间可扩展性不超过一个参考层)。在一个实施例中,direct_dependency_flag旗标在视频参数集 (VPS)中用信号发送并应用于整个经译码视频序列(CVS)。

直接相依性类型

用于译码当前层的信息可包含参考层的纹理信息(例如,像素值),参考层的运动信息(例如,运动向量、参考索引、预测方向等)。然而,可用于译码当前层的参考层的信息不限于本文中所论述的那些信息,但是可为包含于参考层中或为参考层的一部分的任何信息。

在一些实施中,一或多个额外旗标或语法元素可用于指示自参考层导出或导入的译码当前层的信息的一或多种类型。举例来说,在一些实施例中,参考层可用于层间运动预测,层间纹理预测或两者。在一个实施例中,此旗标或语法元素可被称作“direct_dependency_type”。

在一个实施例中,direct_dependency_type为指定哪一类型的层间预测用于使用参考层译码当前层的二维阵列。此二维阵列可采取值direct_dependency_type[i][j]的形式,其中i对应于当前层(例如,待译码的层)且j对应于参考层(例如,待参考的层)。在此实例中,direct_dependency_type值“0”可仅指示层间样本预测,1可仅指示层间运动预测,及2可指示层间样本及运动预测两者。在一些实施例中,direct_dependency_type的值3 (或任何其它值)可指示不存在相依性。每一direct_dependency_type值如何指定或映射至不同类型的层间预测可在其它实施中不同,且本发明不限于对不同类型的层间预测的 direct_dependency_type值的任何特定指定或映射。在一个实施例中, direct_dependency_type语法元素在视频参数集(VPS)中以信号发送并应用至整个经译码视频序列(CVS)。

参考层编解码器

在一些现存译码方案中,参考或基础层编解码器可为任何数目个编解码器。举例来说,HEVC编解码器可用于参考层或可使用H.264/AVC,或常用非HEVC编解码器。此外,参数集中可存在指示有待使用的编解码器的旗标。举例来说,视频参数集(VPS)中的旗标可指示HEVC或非HEVC(例如,AVC)编解码器是否用于译码参考层。在一个实例中,旗标avc_base_layer_flag可以具有等于1的值,这指示参考层编解码器符合根据 ITU-T H.264规范|国际标准ISO/IEC 14496-10的视频译码标准,并且替代地,可以具有等于0的值,这指示参考层编解码器符合HEVC规范。因此,经配置以编码或解码增强层的译码装置可具有关于AVC或HEVC编解码器(或一些其它非HEVC编解码器)是否关于参考层而使用的信息。

举例来说,在一些方面中,非HEVC编解码器可以用于参考或基础层,且一或多个增强层可基于H.265/HEVC译码标准及其多层扩展。举例来说,这些增强层可基于 H.265/HEVC的可缩放扩展(SHVC)。使用此配置可具有多个优势。举例来说,此可允许仅与非HEVC编解码器兼容的的装置解码视频而不解码增强层,并且进一步允许与 HEVC编解码器兼容的装置解码视频及增强层。

支持基于SHVC的增强层

某些设计可允许H.264/AVC(或其它非HEVC)基础层与基于SHVC的增强层的支持。因此,两个或两个以上解码器可用于使用这些技术解码视频。举例来说,一个解码器可解码如本领域中已知的非HEVC基础层。另一解码器(例如,HEVC解码器)可用于解码一或多个基于SHVC的增强层。在一些方面中,提供对当使用非HEVC基础层时可允许HEVC解码器解码这些层的增强层的设计可为有利的。从HEVC解码器的角度来看,可通过外部源或外部装置解码这些基础层。因此,HEVC解码器可不从基础层接收任何信息,或可仅从基础层接收限制的信息子集,例如,从基础层的用于每一帧的图像信息。

当解码包含基于非HEVC的基础层的视频中的基于HEVC的增强层时,可不提供基础层图片信息到增强层。可替代地,外部源(例如基础层解码器)可提供指定的信息集合至解码器,包含经基础层解码图片的经解码样本值、经基础层解码图片的表示格式,包含亮度样本中的宽度及高度、色彩格式、明度位深度及色度位深度及基础层图片是否为 IDR图片的指示。任选地,还提供图片是否为帧或场的信息,且当为场时,提供场奇偶性(指示场是否为顶部场或底部场)。如果不提供此信息,那么可推断经解码图片为帧图片。

输出基础层图片可为基础层解码器的责任。举例来说,此解码器可为H.264/AVC解码器,或另一非HEVC编解码器的解码器。相同存取单元中的基础层图片与增强层图片之间的输出同步化可为外部可控的。举例来说,外部控制的一种方法可使用显示时间戳。在一些方面中,经基础层解码图片与存取单元的关联可为外部源/源的责任,例如,基础层解码器或增强层解码器外部的另一源。

在一些方面中,用于解码一或多个增强层的SHVC解码器可仅需要保持一个经解码图片存储与存储器中以用于经基础层解码图片,且此存储器可不被视为经解码图片缓冲器(DPB)的一部分。

非HEVC经基础层解码图片可具有层ID“0”(nuh_layer_id值)。在一些方面中, HevcBaseLayerFlag值可用于指示基础层是否为HEVC基础层。当基础层不是HEVC基础层时,此旗标可具有值“0”,而当基础层为HEVC层时,此旗标可具有值“1”。

在一些方面中,经基础层解码图片的图像次序计数设定成等于增强层图片的图像次序计数。应注意,在此情形下,由此可缩放或多视图编解码器中的基础层解码器解码的基础层图片的实际图片次序计数可与当其由AVC解码器解码时的同一图片的图片次序计数值不同。

在一些方面中,经基础层解码图片可标记为“用于长期参考”。对于假想参考解码器或缓冲模型的经译码图片缓冲器操作,基础层可被视为具有零位。对于假想参考解码器或缓冲模型的经解码图片缓冲器操作,可仅考虑增强层的经解码图片。

经识别的基于SHVC的增强层的支持的问题

如上文所描述,基于SHVC的增强层可与使用非HEVC编解码器(例如,H.264/AVC 编解码器)的基础层一起使用。然而,由于基于SHVC的增强层与非HEVC基础层的组合,这些基于SHVC的增强层可遇到某些问题。当使用HEVC基础层时,可不产生某些问题,但仅当使用非HEVC基础层时,例如,当由外部源提供经解码图片到SHVC译码器(例如,AVC译码器)时产生问题。

在一些方面中,当基础层为非HEVC层时,用信号发送某些参数可以限制用于此用信号发送的位的量的方式进行。举例来说,使用某些DPB参数(例如,指定子DPB大小、最大重排序及最大时延的那些参数)的有限的位的量可为有利的。此外,如果当基础层为非HVEC层时某些语法结构并不适用于基础层(层0),那么其可为有利的。

举例来说,当使用非HEVC基础层时,某些参数的用信号发送可为不必要的或冗余的。可仅从非HEVC基础层的存在推断某些参数,且因此,那些参数的任何其它用信号发送可为不必要的。因此,为了有效地使用存储器及其它资源,译码器可经配置以确定基础层是否使用HEVC编解码器译码,并至少部分基于用于视频流的基础层的编解码器选择是否用信号发送某些参数。当基础层为非HEVC基础层时,译码器可经配置以推断这些参数的某些值,而不是具有明确定义的那些值。

在一些方面中,经基础层解码图片可由外部装置或外部源提供。如果此图片存储于基础层的子DPB中,那么其可为有利的。此子DPB的大小可设定成1,且可在每一存取单元的解码过程的结束时清空子DPB。

如果基础层解码器(可被称为外部源,因为其在SHVC解码器的外部)提供含有关于基础层的信息的某些值到SHVC解码器,那么其也可为有利的。举例来说,外部源可提供经解码基础层图片,且还可提供基础层图片是否为IRAP图片的指示。如果基础层图片为IRAP图片,那么可进一步要求外部源为译码器提供IRAP NAL单元类型,所述IRAP NAL单元类型指定图片是IDR图片、CRA图片还是BLA图片。

DPB参数的有效信令

在一些方面中,当使用非HEVC基础层及一或多个基于SVHC的增强层时,DPB 参数的某些用信号发送可为无效的。举例来说,当基础层为非HEVC基础层时,某些参数可具有受约束的值。举例来说,每当基础层是非HEVC层时,给定参数可具有单个特定值。因此,用信号发送阵列(或其它数据结构)中的每一要素的这些值可为冗余的,因为可基于基础层为非HEVC层的指示推断这些值或基于其它信息推断这些值。

举例来说,可用信号发送的一个DPB参数为vps_max_dec_pic_buffering_minus1[i]。此阵列的值加1用信号发送待解码的最高时间子层的经解码图片缓冲器的最大所需要大小。然而,当使用非HEVC基础层时,对于所有可能的i值,vps_max_dec_pic_buffering_minus1[i]将为0。因此,由于当使用非HEVC基础层时 vps_max_dec_pic_buffering_minus1[i]的值受约束,因此可能需要避免用信号发送这些值。

举例来说,当存在非HEVC基础层时,HevcBaseLayerFlag的值可设定成0,且 AvcBaseLayerFlag的值可设定成1。因此,译码器可经配置以在设定 vps_max_dec_pic_buffering_minus1[i]的值之前检查这些值中的一或多者。当译码器确定存在非HEVC基础层时,由于可自其它信息(例如,使用非HEVC编解码器译码基础层的指示)推断此值,译码器可随后制止设定每一i值的 vps_max_dec_pic_buffering_minus1[i]的值。

在一些方面中,对于每一可能的i,在译码器确定存在非HEVC基础层的情况下,译码器可经配置以将vps_max_dec_pic_buffering_minus1[i]的每一值设定为0。举例来说,此值或另一值可使用可能用信号发送vps_max_dec_pic_buffering_minus1[i]的最小的位的量。当阵列的值由于使用非HEVC基础层而受约束时,使用可能用信号发送 vps_max_dec_pic_buffering_minus1[i]的值的最小的位的量可为有利的。因此, vps_max_dec_pic_buffering_minus1[i]的值可设定成0以用于所有i值。当解码时,解码器可经配置以忽略这些值,这是由于基于使用非HEVC基础层,所述值可为受约束的。

此外,当使用非HEVC基础层时,可存在vps_sub_layer_ordering_info_present_flag 且将其设定成1。值“1”可指示存在vps_max_dec_pic_buffering_minus1[i]、 vps_max_num_reorder_pics[i]及vps_max_latency_increase_plus1[i]以用于ⅰ子层,而值“0”可指示vps_max_dec_pic_buffering_minus1[vps_max_sub_layers_minus1]、 vps_max_num_reorder_pics[vps_max_sub_layers_minus1]及vps_max_latency_increase_ plus1[vps_max_sub_layers_minus1]适用于所有子层(以使得这些阵列中的每一者具有用于ⅰ子层中的每一者的相同值)。

可用信号发送的另一DPB参数为指示可发生于待输出图片之间的最大重排序量的 vps_max_num_reorder_pics[i]。举例来说,待输出的某些图片可按译码次序待输出的另一图片之前,但可按输出次序在同一图片之后。最大重排序值 (vps_max_num_reorder_pics[i])针对等于ⅰ的HighestTid的值指示设定成按解码次序可在给定输出图片之前但按输出次序在同一图片之后的经输出的最大所允许的图片数目。

就vps_max_dec_pic_buffering_minus1[i]来说,当基础层为非HEVC层时, vps_max_num_reorder_pics[i]可设定成0以用于所有i值。因此,在译码器已经确定基础层为非HEVC基础层之后,译码器不以信号发送vps_max_num_reorder_pics[i]的值可为有利的。当不以信号发送此值时,可基于基础层为非HEVC层的指示推断 vps_max_num_reorder_pics[i]的值。在一些方面中,对于每一可能的i,在译码器确定存在非HEVC基础层的情况下,译码器可经配置以将vps_max_num_reorder_pics[i]的每一值设定为0。

在一些方面中,对于每一可能的i,在译码器确定存在非HEVC基础层的情况下,译码器可经配置以将vps_max_num_reorder_pics[i]的每一值设定为0。举例来说,此值或另一值可使用可能用信号发送vps_max_num_reorder_pics[i]的最小的位的量。当阵列的值由于使用非HEVC基础层而受约束时,使用可能用信号发送 vps_max_num_reorder_pics[i]的值的最小的位的量可为有利的。因此, vps_max_num_reorder_pics[i]的值可设定成0以用于所有i值。当解码时,解码器可经配置以忽略这些值,这是由于基于使用非HEVC基础层,所述值可为受约束的。

可以信号发送的另一DPB参数为vps_max_latency_increase_plus1[i]。当待解码的最高时间子层等于i时,不等于0的此参数值可用于计算可按输出次序在视频流中的输出图片之前并按解码次序在输出图片之后的输出图片的最大数目。

如上所述,当基础层为非HEVC层时,vps_max_latency_increase_plus1[i]可设定成 0以用于所有i值。因此,在译码器已经确定基础层为非HEVC基础层之后,译码器不以信号发送vps_max_latency_increase_plus1[i]的值可为有利的。当不以信号发送此值时,可基于基础层为非HEVC层的指示推断vps_max_latency_increase_plus1[i]的值。在一些方面中,对于每一可能的i,在译码器确定存在非HEVC基础层的情况下,译码器可经配置以将vps_max_latency_increase_plus1[i]的每一值设定为0。

在一些方面中,对于每一可能的i,在译码器确定存在非HEVC基础层的情况下,译码器可经配置以将vps_max_latency_increase_plus1[i]的每一值设定为0。举例来说,此值或另一值可使用可能用信号发送vps_max_latency_increase_plus1[i]的最小的位的量。当阵列的值由于使用非HEVC基础层而受约束时,使用可能用信号发送 vps_max_latency_increase_plus1[i]的值的最小的位的量可为有利的。因此, vps_max_latency_increase_plus1[i]的值可设定成0以用于所有i值。当解码时,解码器可经配置以忽略这些值,这是由于基于使用非HEVC基础层,所述值可为受约束的。

因此,如上文所描述,译码器使用可能用信号发送 vps_max_dec_pic_buffering_minus1[i]、vps_max_num_reorder_pics[i]及 vps_max_latency_increase_plus1[i]的最小的位的量可为有利的。举例来说,如果当使用非HEVC基础层时这些阵列中的每一者的值为受约束的,那么使用比将在其中值不受约束的情境下所需的更少位用信号发送这些值可为有利的。举例来说,用于这些阵列中的每一者的值可设定成0以用于所有i值。解码器可随后经配置以忽略这些值。举例来说,解码器可经配置以(例如通过检查旗标)确定基础层是否为HEVC基础层。如果基础层为非HEVC基础层,那么解码器可经配置以忽略vps_max_dec_pic_buffering_minus1[i]、 vps_max_num_reorder_pics[i]及vps_max_latency_increase_plus1[i]中的每一者的值。

在一些方面中,hrd_layer_set_idx[i]可用于指定VPS中的第i hrd_parameters()语法结构应用的层集合。在视频流的先前版本中,可已经指定hrd_layer_set_idx[i]可等于0。因此,hrd_layer_set_idx[i]大于0可为有益的,以使得解码器可感知视频流为具有非HEVC 基础层而不遵守之前标准的视频流。此外,在一些方面中,没有hrd_parameters()语法结构可适用于具有层ID“0”的非HEVC基础层。举例来说,当基础层经以信号发送为非HEVC或经外部提供时,应不存在适用于基础层的HRD参数,因为基础层不在位流中。

实例流程图#1

图4为说明根据本发明的实施例的用于译码视频信息的方法400的流程图。图4中说明的步骤可由编码器(例如,如图2A或图2B中所展示的视频编码器)、解码器(例如,如图3A或图3B中所展示的视频解码器)或任何其它组件执行。为方便起见,将方法400 描述为由译码器执行,所述译码器可为编码器、解码器或另一组件。所述方法可为解码方法或编码方法。

方法400开始于框401处。在框405中,译码器确定参考层是否包含于位流中。举例来说,当参考层为非HEVC编解码器时,参考层可不包含于位流中。因此,在一些方面中,参考层可在非HEVC编解码器中译码,或可在AVC编解码器中译码,并且因此可不包含于位流中。在一些方面中,所述方法基于旗标或变量的值确定参考层是否包含于位流中。可从外部源接收,或可由所述方法确定此旗标或其它指示符。在一些方面中,用于确定的装置可包含处理器。

接下来,在框410处,译码器基于参考层是否包含于位流中而确定经解码图片缓冲器的一或多个参数的指示。举例来说,经解码图片缓冲器的一或多个参数可包含用信号发送DPB的最大所需大小(例如,子DPB的最大大小)的参数。大体上,如上文所描述,如果参考层并不包含于位流中,那么这些参数的值可为已知的。在一些方面中,确定子 DPB的最大大小的指示可包含确定指示子DPB的最大大小为1的子DPB的最大大小的指示。在一些方面中,用于确定的装置可包含处理器。在视频编码过程中,译码器可将一或多个语法结构包含于包含一或多个参数的指示的位流中。在视频解码过程中,确定所述指示可包含解码来自位流的一或多个语法结构。本文中描述实例语法结构的细节。

在一些方面中,参数还可包含用信号发送输出图片的重排序的最大数目或最大时延的值。在一些方面中,可至少部分基于用于基础层的编解码器而确定某些参数。举例来说,在一些方面中,针对所有可能的值“i”,当基础层为非HVEC编解码器时,一或多个参数的值可设定成0。在框415处,译码器至少部分基于所确定的经解码图片缓冲器的一或多个参数的指示来译码视频信息。在一些方面中,用于译码的装置可包含处理器。方法400在框425处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器21、图3A的视频解码器30或图3B的视频解码器31的一或多个组件(例如,层间预测单元128和/或层间预测单元166)可用于实施本发明中论述的技术中的任一者,例如确定参考层编解码器是否为特定类型的编解码器,接收经解码基础层图片,存储经解码基础层图片及排空存储器。

减小当使用非HEVC基础层时VPS扩展中的不必要信令

在一些方面中,当基础层为非HEVC基础层时,可能需要避免VPS扩展中的基础层不必要信令,包含VPS视频可用信息(VUI)元数据。举例来说,VPS VUI可包含可仅基于基础层为使用非HEVC编解码器经编码的了解而推断的多个值,且因此可能不需要继续用信号发送视频中的此冗余信息。

举例来说,可单独基于基础层为非HEVC基础层的了解而确定VPS VUI中的某些值。因此,如果经用信号发送基础层为非HEVC基础层,那么对VPS VUI中的某些值的进一步用信号发送可为冗余且不必要的。如上文所描述,如果HevcBaseLayerFlag的值设定成0,那么此可用信号发送基础层不是HEVC层。因此,可避免冗余且不必要的其它信令。

如上文所描述,direct_dependency_type[i][j]指示层ⅰ与层j之间的相依性类型。举例来说,值“0”指示层j可以用于层i的层间样本预测及层间运动预测两者。值“1”指示层j可以用于层i的层间样本预测但不用于层间运动预测。值“2”指示层j可以用于层i的层间运动预测但不用于层间样本预测。

当使用为非HEVC的基础层时,来自基础层的层间运动预测针对所有其它层可不被允许。如上文所描述,非HEVC基础层具有层ID“0”。此外,当不允许层间运动预测时,此可与direct_dependency_type值“1”对应。因此,可推断direct_dependency_type[i][0] 的值为1以用于所有值“i”,因为没有层可使用基础层(具有层ID“0”)以用于层间运动预测。不必明确地用信号发送这些值,因为在基础层为非HEVC基础层的指示之后,此用信号发送可为冗余的。

举例来说,译码器(编码器或解码器)可识别基础层为非HEVC基础层。基于此识别 (举例来说,可基于例如旗标的一或多个指示识别),译码器可经配置以推断所有值“i”的direct_dependency_type[i][0]的值,以使得所推断值可为1以用于所有值“i”。

在一些方面中,以下代码段可用于避免VPS扩展中的不必要信令。此代码段可避免用信号发送direct_dependency_type[i][0]的值,因为如上文所描述,可基于基础层不是 HEVC层的指示推断那些值:

在已经用信号发送基础层为非HEVC层之后,VPS VUI中的其它值也可为不必要或冗余的。举例来说,也可基于存在非HEVC基础层推断sub_layers_vps_max_minus1[0] 的值。

举例来说,sub_layers_vps_max_minus1[i]加1指定可存在于层i的经译码视频序列中的时间子层的最大数目。如前所述,基础层的层ID为0。因为基础层由外部源解码且不由解码器(即,SHVC解码器)解码,基础层将不含有任何子层,且因此不必用信号发送非HEVC基础层的sub_layers_vps_max_minus1[0]的值。因此,译码器可经配置以基于识别基础层为非HEVC基础层而推断此值。

在一些方面中,当基础层为非HEVC基础层时,由于此值可为不必要的,自 vps_extension()的以下代码段可用于避免用信号发送sub_layers_vps_max_minus1[0]的值:

在已经用信号发送基础层为非HEVC层之后,VPS VUI中的其它值也可为不必要或冗余的。举例来说,也可基于存在非HEVC基础层推断max_tid_il_ref_pics_plus1[0][j] 的值。

大体上,max_tid_il_ref_pics_plus1[i][j]可用于确定自层ⅰ的具有给定TemporalId的图片是否可以用于自层j的图片的层间预测。等于0的值指示自层ⅰ的非IRAP图片不用于层j的层间预测。大于0的值指示自层ⅰ的具有小于或等于 max_tid_il_ref_pics_plus1[i][j]的TemporalId的图片可被用作用于自层j的图片的层间预测的参考。当不存在时,推断max_tid_il_ref_pics_plus1[i][j]等于7。

然而,当基础层为非HEVC基础层且在位流中不存在时,指示自层0的具有给定 TemporalId的图片是否可以用于自层j的图片的层间预测的 max_tid_il_ref_pics_plus1[0][j]的值(其中基础层为层0)变得不那么有用。因此,此值的明确用信号发送可为不必要的,且可经避免。

在一些方面中,当基础层为非HEVC基础层时,以下代码段可以用于vps_extension() 以便避免用信号发送max_tid_il_ref_pics_plus1[0][j]的值:

实例流程图#2

图5为说明根据本发明的实施例的用于译码视频信息的方法500的流程图。图5中说明的步骤可由编码器(例如,如图2A或图2B中所展示的视频编码器)、解码器(例如,如图3A或图3B中所展示的视频解码器)或任何其它组件执行。为方便起见,将方法500 描述为由译码器执行,所述译码器可为编码器、解码器或另一组件。所述方法可为解码方法或编码方法。

方法500开始于框501处。在框505中,译码器确定参考层是否在位流中。在一个实施例中,可使用AVC编解码器和/或非HEVC编解码器译码参考层。在一些方面中,译码器或处理器基于编解码器的旗标或其它指示符的值确定参考层是否包含于位流中。可从外部源接收,或可由所述方法确定此旗标或其它指示符。在一些方面中,用于确定的装置可包含处理器。在视频编码过程中,基于编解码器的旗标或其它指示符的值确定参考层是否包含于位流中可包含产生一或多个语法结构于位流中。在视频解码过程中,基于编解码器的旗标或其它指示符的值确定参考层是否包含于位流中可包含解码自位流的一或多个语法结构。本文中描述实例语法结构的细节。

接下来,在框510处,译码器基于参考层是否包含于位流中而确定是否处理参考层的指示。举例来说,此确定可基于所述指示是否将呈现冗余或不必要的,基于参考层是否包含于位流中。举例来说,当参考层并不包含于位流中时,某些指示可具有已知值,以使得用信号发送所述指示可为不必要的。在一些方面中,指示可包含给定层可用于的层间预测(例如,运动预测及样本预测)的类型的指示。在一些方面中,指示可为用于特定层的多个子层的指示,其对于用信号发送由外部源译码的基础层可为不必要的。在一些方面中,指示可为给定层是否可以用于另一层的层间预测的指示。在一些方面中,用于确定的装置可包含处理器。

在框515处,如果参考层包含于位流中,那么译码器在视频位流中处理参考层的指示。举例来说,仅当参考层包含于位流中时(例如,当使用HEVC编解码器译码参考层时)可处理某些指示。在其它情况下,由于其可为不必要的或冗余的,可不处理这些指示。在一些方面中,用于确定的装置可包含处理器。

在框520处,译码器至少部分基于经处理指示来译码视频信息。在一些方面中,用于译码的装置可包含处理器。方法500在框525处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器21、图3A的视频解码器30或图3B的视频解码器31的一或多个组件(例如,层间预测单元128和/或层间预测单元166)可用于实施本发明中论述的技术中的任一者,例如确定参考层编解码器是否为特定类型的编解码器,接收经解码基础层图片,存储经解码基础层图片及排空存储器。

将经解码基础层图片存储于DPB中

在一些方面中,由存取单元的外部源(例如,基础层解码器)提供的经解码基础层图片并不存储于DPB中,其经标记为“用于长期参考”且随后用于层间预测参考。因此,此可为有问题的,由于此经解码图片可不用于参考(例如用于层间预测参考),除非其处于DPB中。

由于视频流中的基础层(层ID“0”)为非HEVC层,因此解码器可不接收层0中的经译码图片。如前所述,解码器在此指代SHVC解码器,其可用于解码一或多个增强层。相反地,可使用外部源解码基础层。这些外部源可包含(例如)经配置以解码基础层并将经解码基础层图片传送到SHVC解码器的AVC解码器。如上文所描述,除经解码基础层图片之外,外部源还可经配置以将某些其它信息提供到解码器。

因此,基础层可含有具有层ID“0”的经解码图片。解码器可经配置以将经解码基础层图片存储于子DPB中,并将此图片标记为“用于长期参考”。此外,如果存取单元具有层ID大于0的至少一个图片,那么经基础层解码图片的PicOrderCntVal设定成等于存取单元中的任何其它图片的PicOrderCntVal。否则,如果存取单元中不存在除经基础层解码图片以外的其它图片,那么舍弃基础层图片且基础层的子DPB经设定成空的。

当存取单元具有层ID大于0的至少一个图片时,解码存取单元中的所有图片之后,基础层的子DPB设定成空的。也就是说,可在存取单元中的每一图片已经被解码之后清空含有经解码基础层图片的子DPB。子DPB的大小可设定成等于1。因此,子DPB 可存储一个图片,且每一存取单元可包含一个经基础层解码图片。

实例流程图#3

图6为说明根据本发明的实施例的用于解码视频信息的方法600的流程图。图6中所说明的步骤可由解码器(例如,图3A或图3B中所展示的视频解码器)或任何其它组件来执行。在一些方面中,所述方法基于旗标或变量的值(例如,包含于视频参数集、序列参数集、图片参数集或自适应参数集中的一者中的值)确定参考层是否包含于位流中。可从外部源接收,或可由所述方法确定此旗标或其它指示符。在一些方面中,用于确定的装置可包含处理器。

方法600开始于框601处。在框605中,解码器确定参考层并不包含于位流中。在一个实例中,可根据AVC编解码器和/或非HEVC编解码器译码参考层。在一些方面中,所述方法基于编解码器的旗标或其它指示符的值确定位流是否包含参考层。所述值可包含于视频参数集、序列参数集、图片参数集或自适应参数集中的一者中。可从外部源接收,或可由所述方法确定此旗标或其它指示符。在一些方面中,用于确定的装置可包含处理器。

接下来,在框610中,解码器从外部源接收经解码基础层图片,经解码基础层图片与存取单元相关联。在一个方面中,外部源可包含另一解码器,例如,经配置以使用AVC 编解码器的解码器或经配置以使用非HEVC编解码器的解码器。举例来说,外部源可包含第二解码器。在一些方面中,可存在与每一存取单元相关联的一个经解码基础层图片。在一些方面中,用于确定的装置可包含处理器。

在框615中,解码器随后将经解码基础层图片存储于存储器中。存储器可包含DPB 或子DPB。在一些方面中,可设定子DPB的大小以使得其可保持一个(且仅一个)经解码基础层图片。在一些方面中,解码器可进一步提供经解码基础层图片可以用于长期参考的指示。在一些方面中,用于存储的装置可包含存储器。

在框618中,解码器随后基于所存储的经解码基础层图片解码与存取单元相关联的图片。用于解码的装置可包含处理器。在框620中,在解码与存取单元相关联的图片之后,译码器排空来自存储器的经解码基础层图片。在一些方面中,用于排空的装置可包含处理器。方法600在框625处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器21、图3A的视频解码器30或图3B的视频解码器31的一或多个组件(例如,层间预测单元128和/或层间预测单元166)可用于实施本发明中论述的技术中的任一者,例如确定参考层编解码器是否为特定类型的编解码器,接收经解码基础层图片,存储经解码基础层图片及排空存储器。

用信号发送IRAP基础层图片

在一些方面中,解码器(例如,在一或多个增强层上操作的SHVC解码器)感知非 HVEC基础层的某些性质可为有益的。举例来说,对于解码器要求外部源用信号发送给定基础层图片是否为IRAP图片来说可为需要的。如果基础层图片为IRAP图片,那么在外部源进一步用信号发送可指定IDR图片、CRA图片或BLA图片的IRAP NAL单元类型的情况下,其为可需要的。

当使用非HEVC基础层时,每一存取单元可包含由外部源解码的基础层图片(具有等于0的层ID)。当不提供此图片时,没有基础层图片可以用于所述存取单元的层间预测。

当由外部源提供经解码基础层图片时,外部源还可提供其它信息。举例来说,外部源可提供经解码样本值。如果值chroma_format_idc等于0,那么外部源可提供一个样本阵列SL为经解码样本值。否则,外部源可提供3个样本阵列,SL、SCb和SCr。

外部源还可提供经解码基础层图片是否为IRAP图片的指示。举例来说,此指示可发现于名为BlIrapPicFlag的变量中。此基础层IRAP图片旗标可指示基础层图片是否为 IRAP图片。值“1”可指示基础层图片为IRAP图片。类似地,如果名为IrapPicFlag的变量等于1,那么此可指示经解码基础层图片为非IRAP图片。

当基础层图片为IRAP图片时,外部源可进一步提供IRAP NAL单元类型。此可指定IDR图片、CRA图片或BLA图片。举例来说,此可提供为变量nal_unit_type的值。此变量可具有IDR_W_RADL、CRA_NUT或BLA_W_LP的值,所述值可分别指示IRAP 图片为IDR图片、CRA图片或BLA图片。

举例来说,NAL单元类型变量可指示IRAP基础层图片为IDR_W_RADL。此值可指示经解码图片为IDR图片,且是从Rec.ITU-T H.264|ISO/IEC 14496-10IDR图片解码的。

在一些方面中,NAL单元类型变量可指示IRAP基础层图片为CRA_NUT。此指定经解码图片为CRA图片且是从经Rec.ITU-T H.264|ISO/IEC 14496-10译码的图片来解码的,所述经译码图片与recovery_frame_cnt等于0及broken_link_flag等于0的Rec.ITU-T H.264|ISO/IEC 14496-10恢复点SEI消息相关联。

在一些方面中,NAL单元类型变量可指示IRAP基础层图片为BLA_W_LP。此指定经解码图片为BLA图片且是从经Rec.ITU-T H.264|ISO/IEC 14496-10译码的图片来解码的,所述经译码图片与recovery_frame_cnt等于0及broken_link_flag等于1的Rec.ITU-T H.264|ISO/IEC 14496-10恢复点SEI消息相关联。

任选地,外部源还可指示图片是帧还是场。随后图片为场,外部源可指示场奇偶性,例如,顶部场或底部场。如果外部源不对此进行指示,那么可推断经解码图片为帧图片。

实例流程图#4

图7为说明根据本发明的实施例的用于译码视频信息的方法700的流程图。图7中说明的步骤可由编码器(例如,如图2A或图2B中所展示的视频编码器)、解码器(例如,如图3A或图3B中所展示的视频解码器)或任何其它组件执行。为方便起见,将方法700 描述为由译码器执行,所述译码器可为编码器、解码器或另一组件。

方法700开始于框701处。在框705中,解码器确定参考层并不包含于位流中。在一个实例中,可根据AVC编解码器和/或非HEVC编解码器解码参考层。在一些方面中,所述方法基于编解码器的旗标或其它指示符的值确定参考层是否包含于位流中。可从外部源接收,或可由所述方法确定此旗标或其它指示符。在一些方面中,用于确定的装置可包含处理器。在一些方面中,所述值可包含于视频参数集、序列参数集、图片参数集或自适应参数集中的一者中。

在框710中,解码器随后从外部源接收经解码基础层图片。在一些方面中,基础层图片可与存取单元相关联。在一些方面中,外部源可包含另一解码器。在一些方面中,其它解码器可为AVC解码器。在一些方面中,用于接收的装置可包含处理器。

在框715处,解码器从外部源接收图片为IRAP图片的指示。举例来说,此指示可包含指示基础层图片为IRAP图片的旗标。在一些方面中,用于接收的装置可包含处理器。在框720处,解码器接收图片是否为IDR图片、CLA图片或BLA图片中的一者的第二指示。在一些方面中,用于接收的装置可包含处理器。在一些方面中,第二指示可为具有三个或三个以上可能值的语法元素。在框730处,解码器至少部分基于第一和第二指示来译码视频信息。在一些方面中,用于解码的装置可包含处理器。方法700在框 730处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器21、图3A的视频解码器30或图3B的视频解码器31中的一或多个组件(例如,层间预测单元128和/或层间预测单元166)可用于实施本发明中论述的技术中的任一者,例如确定参考层编解码器是否为特定类型的编解码器,接收经解码基础层图片,存储经解码基础层图片及排空存储器。

设计的额外方面

大体上,对于当前存取单元,外部源不提供基础层信息或外部源必须提供至少指定的信息集合。如果不提供信息,那么无论是否在基础层位流中的存取单元中提供基础层图片,基础层图片都将不用于当前存取单元的层间预测。可替代地,外部源可经指定以提供:(1)经基础层解码图片的经解码样本值,(2)经基础层解码图片的表示格式,包含亮度样本中的宽度和高度、色彩格式、独立色彩面旗标、明度位深度和色度位深度,(3) 基础层图片是否为IRAP图片的信息,且如果是,那么为可任选地指定IDR图片、CRA 图片或BLA图片的IRAP NAL单元类型,(4)图片是帧还是场,且当为场时,场奇偶性(顶部场或底部场)。当不提供图片是帧还是场的信息时,可推断经解码图片为帧图片。

经基础层解码图片的图片次序计数可设定成等于(如果存在,相同存取单元中的)任何增强层图片的图片次序计数。应注意,在此情形下,由此类可缩放或多视图编解码器中的基础层解码器解码的基础层图片的实际图像次序计数可与当其由AVC解码器解码时的同一图片的图像次序计数值不同。当不存在用于存取单元的增强层图片时,不使用且可舍弃经基础层解码图片。

经基础层解码图片可被标记为“用于长期参考”。对于CPB操作,基础层可被视为具有零位元。对于DPB操作,可仅考虑增强层的经解码图片。

当基础层为非HEVC时,VPS中的第一profile_tier_level()语法结构中的 general_profile_space可设定成等于1。在此情形下,用信号发送编解码器类型,且当指示AVC时,用信号发送三个字节AVC量变曲线和层级信息,且profile_tier_level()语法结构中的剩余位被全部保留。

当基础层为非HEVC时,用信号发送三个DPB参数(最大子DPB大小、最大重排序和最大时延)使用最小的位量可为需要的。没有hrd_parameters()语法结构适用于层集合 0(仅基础层)也可为需要的。

当基础层为非HEVC时,可避免不必要的用信号发送VPS扩展(包含VPS VUI)中的基础层,例如,sub_layers_vps_max_minus1[0]、max_tid_il_ref_pics_plus1[0][j]和 direct_dependency_type[i][0]。

额外的代码段

以下实例代码段可被用作VPS VUI语法的一部分,且可至少部分基于基础层是否为 HEVC层而提供以用于设定或不设定某些旗标:

以下实例代码段可被用作量变曲线、层次及位准语法的一部分,且可基于 general_profile_space的值提供用于设定或不设定某些旗标(其自身可基于用于视频流的基础层的编解码器来设定):

在一些方面中,当VPS中的第一profile_tier_level()语法结构具有等于0的 general_profile_space旗标时,变量HevcBaseLayerFlag可设定成等于1且变量 AvcBaseLayerFlag可设定成等于0。举例来说,变量HevcBaseLayerFlag可用于指示特定视频的基础层是否是基于HEVC编解码器来编码的。类似地,变量AvcBaseLayerFlag 可用于指示特定视频的基础层是否是基于AVC编解码器来编码的。

可替代地,当第一profile_tier_level()语法结构具有等于1的general_profile_space 及等于0的base_later_codec_type时,变量AvcBaseLayerFlag可设定成等于1,且变量 HevcBaseLayerFlag可设定成等于0。此外,在此情境下, vps_sub_layer_ordering_info_present_flag的值可等于0,且 vps_max_dec_pic_buffering_minus1[i]、vps_max_num_reorder_pics[i]及 vps_max_latency_increase_plus1[i]的值可皆等于0以用于所有可能的值“i”。在此情境下,解码器可经配置以忽略vps_sub_layer_ordering_info_present_flag、 vps_max_dec_pic_buffering_minus1[i]、vps_max_num_reorder_pics[i]及 vps_max_latency_increase_plus1[i]的值,且hrd_layer_set_idx[i]的值可大于0。

大体上,vps_extension_offset旗标可开始于从VPSNAL单元的开始处指定开始于 vps_vui_present_flag的(若存在,在VPS NAL单元中)固定长度经译码信息的下一集合的字节偏移。若存在,VPS NAL单元中呈现的竞争防止字节出于字节偏移识别的目的而计数。

在一些方面中,当不使用HEVC编解码器译码基础层(且因此,旗标 HevcBaseLayerFlag等于0)时,sps_scaling_list_ref_layer_id的值将大于0可为需要的。大体上,sps_scaling_list_ref_layer_id指定主动SPS与当前SPS按相同比例调整的列表数据相关联的层。

大体上,pps_scaling_list_ref_layer_id指定主动PPS具有与当前PPS相同比例调整的列表数据的层。pps_scaling_list_ref_layer_id的值将在0到62(包含性)的范围内。在一些方面中,当视频的基础层不为HEVC基础层(也就是说,HevcBaseLayerFlag等于0)时, pps_scaling_list_ref_layer_id大于0可为位流符合性的必需条件。

量变曲线、层次及位准语义

大体上,当不提供general_profile_space的值时,推断所述值为0。然而,如果 general_profile_space的值等于1,那么等于0的base_layer_codec_type的值可指定基础层符合Rec.ITU-T H.264|ISO/IEC 14496-10。在1到63(包含性)范围内的 base_layer_codec_type的其它值可保留以供ITU-T|ISO/IEC将来使用。

此外,avc_base_profile_level_idc可指示Rec.ITU-T H.264|ISO/IEC 14496-10基础层的符合性点。举例来说,avc_base_profile_level_idc可具有与包括Rec.ITU-T H.264|ISO/IEC 14496-10序列参数集的profile_idc、constraint_set0_flag、 constraint_set1_flag、constraint_set2_flag、constraint_set3_flag、constraint_set4_flag、 constraint_set5_flag、reserved_zero_2bits和level_idc的Rec.ITU-T H.264|ISO/IEC 14496-10中的三个字节相同的值。

另外,reserved_zero_24bits及reserved_zero_32bits两者将都等于0,且可保留其它值以供ITU-T|ISO/IEC将来使用。解码器可经配置以忽略reserved_zero_24bits及 reserved_zero_32bits两者的值。举例来说,当general_profile_space设定成1时,以下代码段可用于设定reserved_zero_24bits及reserved_zero_32bits的值:

通用解码过程

大体上,当视频的基础层为AVC基础层时(也就是说,当AvcBaseLayerFlag等于1 时),以下内容适用:

位流中可不存在具有层ID“0”的经译码图片。这是因为基础层为非HEVC层,并且因此基础层的图片可来自外部源而不是包含于位流中。层ID“0”的子DPB的大小设定成等于一。

具有层ID“0”的经解码图片的pic_width_in_luma_samples、 pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、 bit_depth_luma_minus8及bit_depth_chroma_minus8的值由外部源提供。

对于每一存取单元,具有层ID“0”的经解码图片可由外部源提供。当不提供时,没有具有层ID“0”的图片用于当前存取单元的层间预测。当提供此图片时,图片还可包含经解码样本值(chroma_format_idc等于0情况下1个样本阵列SL,或其它情况下3 个样本阵列SL、SCb及SCr),变量BlIrapPicFlag的值,及当BlIrapPicFlag等于1时,包含经解码图片的nal_unit_type的值。此外,等于1的BlIrapPicFlag指定经解码图片为 IRAP图片。等于1的IrapPicFlag指定经解码图片为非IRAP图片。经解码图片的 nal_unit_type的所提供值将等于IDR_W_RADL、CRA_NUT或BLA_W_LP。大体上,等于IDR_W_RADL的nal_unit_type的值指定经解码图片为IDR图片且是从Rec.ITU-T H.264|ISO/IEC 14496-10IDR图片解码的。等于CRA_NUT的nal_unit_type的值指定经解码图片为CRA图片且是从与具有recovery_frame_cnt等于0及broken_link_flag等于0 的Rec.ITU-T H.264|ISO/IEC 14496-10恢复点SEI消息相关联的Rec.ITU-T H.264|ISO/IEC 14496-10经译码图片来解码的。等于BLA_W_LP的nal_unit_type的值指定经解码图片为BLA图片且是从与具有recovery_frame_cnt等于0及broken_link_flag 等于1的Rec.ITU-T H.264|ISO/IEC 14496-10恢复点SEI消息相关联的Rec.ITU-T H.264|ISO/IEC 14496-10经译码图片来解码的。外部源可任选地指示图片是帧还是场,且当为场时,场奇偶性(顶部场或底部场)。如果没有提供,那么推断经解码图片为帧图片。

大体上,具有层ID“0”的经解码图片存储于子DPB中且经标记为“用于长期参考”。如果存取单元具有层ID大于0的至少一个图片,那么层ID“0”的经解码图片的 PicOrderCntVal设定成等于存取单元中的具有层ID大于0的任何图片的PicOrderCntVal。否则,舍弃层ID“0”的经解码图片,且层ID“0”的子DPB设定成空的。当存取单元具有层ID大于0的至少一个图片时,解码存取单元中的所有图片之后,具有层ID“0”的层的子DPB设定成空的。

其它考虑因素

可使用多种不同技术和技艺中的任一者来表示本文中所揭示的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示贯穿以上描述可能参考的数据、指令、命令、信息、信号、位、符号和芯片。

结合本文揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件,或两者的组合。为清晰地说明硬件与软件的此可互换性,上文已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。

本文中所描述的技术可以硬件、软件、固件或其任一组合来实施。所述技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器 (RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及类似物。另外或作为替代,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。

程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA) 或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、前述结构的任何组合,或适用于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(CODEC)中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。

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

已描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

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