首页> 中国专利> 可缩放视频译码中的位流符合性约束

可缩放视频译码中的位流符合性约束

摘要

一种经配置以译码位流中的视频信息的设备包含存储器和与所述存储器通信的处理器。所述存储器经配置以存储与包含第一图片的第一层和包含第二图片的第二层相关联的视频信息,所述第一图片与当前存取单元AU相关联。所述处理器经配置以确定所述当前AU是否满足与所述第一层相关联的第一条件,且基于所述当前AU并不满足与所述第一层相关联的所述第一条件的确定,确定经解码图片缓冲器DPB中的多个图片的最高图片次序计数POC与最低POC之间的差是否小于阈值。所述处理器可编码或解码所述位流中的所述视频信息。

著录项

  • 公开/公告号CN106464910A

    专利类型发明专利

  • 公开/公告日2017-02-22

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201580033041.3

  • 申请日2015-06-25

  • 分类号H04N19/597;H04N19/50;H04N19/70;H04N19/30;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 01:38:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-18

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):H04N19/597 申请日:20150625

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

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

背景技术

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

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

发明内容

本发明的系统、方法和装置分别具有若干创新方面,其中无单一方面单独负责本文中所公开的合乎需要的属性。

在一个方面中,经配置以译码(例如,编码或解码)位流中的视频信息的设备包含存储器和与所述存储器通信的处理器。所述存储器经配置以存储与位流中的多个视频层相关联的视频信息,位流中的多个视频层划分为多个位流分区,其中每一位流分区含有多个视频层中的至少一者。所述处理器经配置以处理与多个位流分区中的第一位流分区相关联的位流符合性参数,其中所述位流符合性参数适用于第一位流分区但不适用于位流未由第一位流分区包涵的另一部分。

在另一方面中,译码位流中的视频信息的方法包含处理与多个位流分区中的第一位流分区相关联的位流符合性参数,每一位流分区含有位流中的多个视频层中的至少一者,其中位流符合性参数适用于第一位流分区但不适用于位流的未由第一位流分区包涵的另一部分。

在另一方面中,非暂时性计算机可读媒体含有当经执行时使设备进行以下操作的代码:存储与位流中的多个视频层相关联的视频信息,所述位流中的多个视频层划分为多个位流分区,其中每一位流分区含有所述多个视频层中的至少一者;及处理与所述多个位流分区中的第一位流分区相关联的位流符合性参数,其中位流符合性参数适用于第一位流分区但不适用于位流的未由第一位流分区包涵的另一部分。

在另一方面中,经配置以译码位流中的视频信息的视频译码装置包含:用于存储与所述位流中的多个视频层相关联的视频信息的装置,所述位流中的多个视频层划分为多个位流位流,其中每一位流分区含有所述多个视频层中的至少一者;及用于处理与所述多个位流分区中的第一位流分区相关联的位流符合性参数的装置,其中位流符合性参数适用于第一位流分区但不适用于位流的未由第一位流分区包涵的另一部分。

附图说明

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

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

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

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

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

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

图4为说明不同位流分区中的图片的实例配置的框图。

图5为说明处理与位流分区相关联的参数的方法的流程图。

图6为说明确定是否满足位流符合性约束的方法的流程图。

图7为说明横跨不同层中的拼接点的图片的实例配置的框图。

图8为说明不同层中的图片的实例配置的框图。

图9为说明不同层中的图片的图片次序计数(POC)值的表。

图10为说明不同层中的图片的实例配置的框图。

图11为说明不同层中的图片的POC值的表。

具体实施方式

在一些实施方案中,关于位流符合性的各种参数用信号发送在位流中,其中特定位流符合性约束可限制由这些参数指定的值。举例来说,这些参数可指定与位流中经译码的图片相关联的时序信息或位流或其一部分(例如,译码单元、图片、视频层等)的其它特征。在现有实施方案中,这些参数通常与完整位流或完整存取单元(例如,位流中对应于同一输出时间例项的所有图片)相关联。

在一些情形中,可能需要以较小单元输送或处理位流(存取单元)。然而,具有适用于完整位流(例如,位流中的所有层)或完整存取单元(例如,存取单元中的所有图片的位流符合性参数和约束可使用于分割位流及独立地处理分区中的一些或全部的过程复杂化。

因此,需要用于定义和处理位流中的各种位流符合性参数的改良方法。

在本发明中,描述用于定义和处理在位流中推断或用信号发送的位流符合性参数的各种技术。在本发明的一些实施例中,译码器处理与位流分区相关联的位流符合性参数,所述位流分区包含位流中的多个视频层的子集。在此类实施例中,位流符合性参数可适用于所述位流分区但不适用于所述位流的未由所述位流分区包涵的另一部分。通过处理与位流分区相关联且不与完整位流相关联的位流符合性参数,可实现输送和处理位流的更大灵活性。

在以下描述中,描述涉及某些实施例的H.264/高级视频译码(AVC)技术;也论述了HEVC标准和相关技术。虽然本文中在HEVC和/或H.264标准的情形下描述某些实施例,所属领域的技术人员将理解本文中所公开的系统和方法可适用于任何适当的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-TH.264(也称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。

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

仅出于说明的目的,通过仅包括视频数据的两层(例如,较低层,例如BL;和较高层,例如EL)的实例来描述本文中所揭示的某些实施例。视频数据的“层”可通常指具有至少一个共同特性(例如,视图、帧率、分辨率或类似者)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据。作为另一实例,层可以包含与可伸缩视频数据的特定层相关联的视频数据。因此,本发明可互换地提及视频数据的层及视图。举例来说,视频数据的视图可被称作视频数据的层,且视频数据的层可被称作视频数据的视图。此外,多层编解码器(还被称作多层视频译码器或多层编码器-解码器)可共同指多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术编码和/或解码视频数据的编解码器)。视频编码和视频解码两者通常皆可被称作视频译码。应理解,这些实例可适用于包含多个BL、RL和/或EL的配置。另外,为了易于解释,参考某些实施例,以下揭示内容包括术语“帧”或“块”。然而,这些术语不意味着为限制性。举例来说,下文描述的技术可供任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)使用。

视频译码标准

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

视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。

另外,视频译码标准(即,HEVC)正由ITU-T VCEG与ISO/IEC MPEG的关于视频译码的联合合作小组(JCT-VC)开发。对HEVC草案10的完全引用为Bross等人的文件JCTVC-L1003,“High Efficiency Video Coding(HEVC)Text Specification Draft 10”,ITU-TSG16 WP3与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的框图。如本文中所描述地使用,术语“视频译码器”或“译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)及中间框(例如,可修改、变换及/或另外操纵位流的装置)。

如图1A中所展示,视频译码系统10包含源装置12,所述源装置产生稍后由目的地装置14解码的经编码视频数据。在图1A的实例中,源装置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(任选地存在)。类似地,可通过(例如)目的地装置14的输入接口28从存储装置31存取经编码数据。存储装置31可包含多种分布式或本地存取数据存储媒体中的任一者,例如硬盘驱动器、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置31可对应于文件服务器或可保持源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由串流或下载从存储装置31存取所存储的视频数据。文件服务器可为任何类型的能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的服务器。实例文件服务器包含万维网服务器(例如,用于网站)、文件发射协议(FTP)服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。此可包含无线信道(例如,无线局域网(WLAN)连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置31的发射可为流式发射发射、下载发射或两者的组合。

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

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

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

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

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

在相关方面中,图1B展示实例视频译码系统10′,其中源装置12和目的地装置14在装置11上或为其部分。装置11可为电话手持机,例如“智能”电话或其类似者。装置11可包含与源装置12和目的地装置14可操作通信的控制器/处理器装置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可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么多路复用器-多路分用器单元可以符合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可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块(sub-sub-block),以此类推。经分割的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的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频编码器20可经配置以执行本发明的技术中的任一者或全部。在一些实例中,本发明中描述的技术可在视频编码器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相关联的视频块的大小范围可从8x8样本高达最大64x64像素或更大的树块大小。在本发明中,“N×N”与“N乘N”可互换使用来指代在垂直和水平维度方面的视频块的样本尺寸,例如,16×16个样本或16乘16个样本。一般来说,16x16视频块在垂直方向上具有十六个样本(y=16),且在水平方向上具有十六个样本(x=16)。同样,NxN块一般在垂直方向上具有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的大小为2Nx2N,视频编码器20及视频解码器30可支持2Nx2N或NxN的PU大小,及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或类似的对称PU大小的帧间预测。视频编码器20和视频解码器30还可支持用于2NxnU、2NxnD、nLx2N和nRx2N的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经配置以使用可用于SHVC中的一或多个不同层(例如,基础或参考层)预测当前块(例如,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可通过将一或多个变换应用于与CU的每一TU相关联的残余视频块而产生用于所述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)的实例的框图。视频编码器23可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。此外,视频编码器23可经配置以执行本发明的技术中的任一者或全部。

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

除了视频编码器20A及20B之外,视频编码器23可包含再取样单元90。在一些情况下,再取样单元90可对所接收的视频帧的BL进行上取样,以例如创建EL。再取样单元90可对与帧的所接收的BL相关联的特定信息上取样,但不对其它信息上取样。例如,再取样单元90可对BL的空间大小或像素数目上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。举例来说,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。虽然主要描述为对BL或存取单元中的较低层进行上取样,但在一些情况下,再取样单元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)。多路复用器98可从视频编码器23输出组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且交变在给定时间输出哪一位流来创造组合的位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下更多)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替所选位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,可从视频编码器20B输出用于从视频编码器20A输出的每一块的两个块。在一些实施例中,可预编程来自多路复用器98的输出流。在其它实施例中,多路复用器98可基于从视频编码器23外部的系统(例如,从包含源装置12的源装置上的处理器)接收的控制信号而组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素来产生控制信号。

视频解码器

图3A为说明可实施本发明中描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部。在一些实例中,本发明中描述的技术可在视频解码器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经配置以使用可用于SHVC(例如,基础或参考层)中的一或多个不同层来预测当前块(例如,增强层中的当前块)。此预测可称作层间预测。层间预测单元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)的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,用于SHVC及多视图译码)。此外,视频解码器33可经配置以执行本发明的技术中的任一者或全部。

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

除了视频解码器30A和30B之外,视频解码器33还可包含上取样单元92。在一些实施例中,上取样单元92可对所接收的视频帧的BL进行上取样以产生将添加到用于帧或存取单元的参考图片列表的增强型层。此增强层可存储在经解码图片缓冲器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)中的每一者之间一次一个位地交替来自在多路分用器99处接收的位流的位,但在许多情况下,不同地划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流而划分所述位流。在另一实例中,可通过到视频解码器30A和30B中的每一者的块的非1:1比率来划分位流。举例来说,可针对提供到视频解码器30A的每一块将两个块提供到视频解码器30B。在一些实施例中,可预编程由多路分用器99对位流的划分。在其它实施例中,多路分用器99可基于从视频解码器33外部的系统(例如,从包含目的地装置14的目的地装置上的处理器)接收的控制信号而划分位流。可基于来自输入接口28的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定可由视频解码器33获得的分辨率的任何其它因素而产生控制信号。

位流符合性约束

视频译码标准可指定位流符合这些标准应遵循的位流符合性约束。换句话说,为具有符合标准的位流(例如,相符位流,位流需要满足由标准指定的全部位流符合性约束。在一些视频译码标准中,相符位流据称由假想解码器解码,所述解码器在概念上连接到编码器的输出。此假想解码器可由解码器缓冲器、解码器和/或显示单元构成。此假设解码器在现有译码方案(例如,H.264、HEVC等)中有时被称作假想参考解码器(HRD)。给定标准的位流符合性约束确保编码器将产生可由符合给定标准的任何解码器正确地解码的位流。

位流符合性约束可由希望测试特定位流是否符合一标准的任何实体使用。举例来说,此类实体可在编码器侧(例如,内容提供者可希望确保产生和发出的位流实际上符合所述标准,由于如果位流不符合所述标准,那么位流可不由相符相符正确地解码)或在上解码器侧(例如,由于解码器无法称为相符解码器,除非解码器能够解码符合所述标准的全部位流,可能需要解码器侧的解码器或实体测试给定位流是否满足由给定标准指定的一或多个位流符合性约束)或为网络实体(例如,网路盒实体可接收位流,且在通过检查位流符合性约束为有效来确定所述位流为相符位流之后将其转发至其它实体)。

位流分区

如上文所论述,位流可含有大于一个视频层(例如,BL、EL等)。在一些实施方案中,位流可划分为多个位流分区,其中每一位流分区包含位流中的至少一个视频层。举例来说,如果位流具有层A、B和C,那么位流可划分为分区X和Y,其中分区X包含层A和B,且分区Y包含C。视频层划分为一或多个位流分区的方式可被称作分割方案。举例来说,编码器可指定用于位流的一或多个分割方案(例如,通过指定与每一分割方案相关联的参数)。在一些实施例中,位流可包含至少两个位流分区。

位流可含有多个存取单元(AU'),其中每一AU含有位流中对应于同一输出时间例项的图片。如果位流含有一或多个位流分区,那么AU的属于单一位流分区的部分(例如,图片集合)可被称作分区单元。换句话说,分区单元可为AU的子集,其中分区单元含有位流分区的对应于同一输出时间例项的图片。在一些实施方案中,分区单元包含AU的属于含于位流分区及其相关联的非VCL NAL单元中的层的视频译码层(VCL)网络抽象层(NAL)单元。举例来说,NAL单元可为包含原始字节序列有效负载(RBSP)和NAL单元标头的输送的单元。

输送位流分区

在一些现有译码方案中,完整位流在单一管线中一起输送。位流中的图片存储于经译码图片缓冲器(CPB)中,输出至解码器且存储于经解码图片缓冲器(DPB)中。

将位流分割为多个位流分区可提供译码灵活性,其中产生的位流分区不必在单一位流中一起输送且可独立地输送。举例来说,以上实例中的层A和B可在不同于层C在其中输送的位流的位流中输送。然而,特定位流符合性约束是指存取单元,所述存取单元含有完整位流中对应于同一输出时间例项的全部图片(例如,层A、B和C)。如果属于位流的所有位流分区一起输送,那么这些位流可变得无意义或不当。举例来说,当位流中的视频层中的一些分别或独立地输送时,不再可能正确地指定用于完整位流或含于其中的存取单元的参数(例如图片速率、到达时间等),因为完整位流(或完整AU)不再一起接收或在单一位流中。实际上,一或多个位流分区可发送至不同位流分区缓冲器(BPB),且位流分区可由单一解码器一起解码或由多个解码器分别解码。因此,在此类实施例中,应为每一位流分区或含于其中的每一分区单元指定这些位流符合性参数。

图4中说明含有两个位流分区的实例位流。图4的位流400包含层402、404和406。层402和404属于位流分区410,且层406属于位流分区420。层402和404发送至解码系统440的BPB 442A,且层406发送至解码系统440的BPB 442B。图片从BPB 442A和442B输出至解码器444且由解码器444解码。尽管在图4的实例中说明包含多个BPB442A和442B和单一解码器444的解码系统440,其它配置是可能的,例如包含单一BPB和单一解码器的解码系统,和包含多个BPB和多个解码器的解码系统。在一些实施方案中,解码器可确定定义待由解码器处理的层的变量。举例来说,(i)目标输出层设定索引,其指定待解码及输出的层,和(ii)最大时间ID,其指定待解码的时间子层的数量,从而有效地指定输出图片的帧率,所述最大时间ID可提供至解码器或以其它方式由解码器确定。基于这些变量和可用资源,解码器可请求根据由编码器定义的分割方案中的一者提供的特定位流分区。

在一些实施方案中,位流可包含指定移除时间的参数,在此时间图片从待解码的CPB移除。如果此类参数未经修改以指分区单元(且实情为指定位流中的AU),那么由参数指定的值可不再有意义或可为次佳(例如,移除时间可对于一些图片经延迟),如果位流包含经由不同BPB分别输送且由不同解码器解码的多个分区。因此,此类参数应经修改以指分区单元而非存取单元,其中单一分区单元中的图片一起输送。

实例位流参数处理

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

方法500开始于框501。在框505处,译码器处理与位流中的多个位流分区中的位流分区相关联的位流符合性参数。位流符合性参数可适用于所述位流分区但不适用于所述位流的未由所述位流分区包涵的另一部分(例如,位流中并不属于所述位流分区的其它层)。举例来说,此类参数可与关于位流分区中的一或多个图片的时序信息相关(例如,当位流分区中的图片由解码系统接收时,当存储于BPB中的图片待输出以待解码时等)。在另一实例中,参数可指定位流分区中或位流分区的单一分区单元中的全部图片共有的特定特征。参数还可表示适用于特定分区单元的位流符合性约束。特定分区单元可包含AU的属于含于位流分区中的视频层的VCL NAL单元和与VCL NAL单元相关联的其它非VCL NAL单元。

在一些实施例中,位流可包含存取单元和分区单元,所述存取单元包含位流中的多个NAL单元,所述分区单元包含所述存取单元的属于位流分区的多个NAL单元的子集。位流符合性参数可与分区单元相关联,且位流符合性参数可适用于分区单元的多个NAL单元的子集但不适用于存取单元的未由分区单元包涵的其它NAL单元(例如,是属于其它位流分区的其它层中的部分的NAL单元)。位流符合性参数可指定位流中与分区单元相关联的多个解码单元,其中由位流符合性参数指定的解码单元的数目超过可适合于单一图片的解码单元的最大数目。最小大小的解码单元可为译码树块(CTB)。在一些实施例中,由位流符合性参数指定的解码单元的数目可未超过等于可适合于分区单元的CTB的最大数目的最大值。在框510处,译码器译码(例如,编码或解码)与位流中的位流分区相关联的语法元素。方法500在515处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器23、图3A的视频解码器30或图3B的视频解码器33的一或多个组件可用于实施本发明中所论述的技术中的任一者,例如处理与位流中的多个位流分区中的位流分区相关联的位流符合性参数,及译码与位流中的位流分区相关联的语法元素。

解码单元

在一些实施方案中,位流划分为多个解码单元,其中每一解码单元定义为完整AU,或AU中的一组连续VCL NAL单元及其相关联非VCL NAL单元。在将两个邻近层(例如,具有连续层ID'的层)放置在不同位流分区中的分割方案下,横跨完整AU的给定解码单元可引入关于应如何为含有包含于给定解码单元中的VCL NAL单元的任何位流分区输送位流分区的不明确性(例如,它们是否可分别输送或它们是否需要一起输送)。

在一些实施例中,为解决此明确性问题,解码单元可定义为完整AU或其子集,其中AU或其子集含有属于单一位流分区的那些VCL NAL单元和与这些VLC NAL单元相关联的非VCL NAL单元。

在一些实施方案中,每一AU含有单一经译码图片,且解码过程以逐图片为基础执行。在其它实施方案中,每一图片含有多个解码单元,且解码器一旦接收到解码单元即解码它们,而不等到接收到完整经译码图片,从而获得减小的延时。这些实施方案可被称作超低延迟模型。然而,当位流分区可独立地或分别输送时,如果解码单元所述的一部分分别输送在不同位流中或输送至不同解码系统,那么包涵多个位流分区的解码单元可能不能够立即解码。因此,提供指定解码单元无法跨越多个位流分区的位流符合性约束或定义解码单元使得它们并不跨越多个位流分区可为有利的。

解码单元的最大数目

在一些实施方案中,SEI消息可提供关于位流的特定补充信息,所述特定补充信息中的一些可为任选的。这些SEI消息中的一些(例如缓冲时间SEI消息、图片时许SEI消息、解码单元信息SEI消息等)可提供位流符合性约束,所述位流符合性约束可需要按顺序存在以确定位流是否符合给定标准(例如,SHVC)。举例来说,图片时序SEI消息可指定可存在于单一AU中的解码单元的数目。举例来说,在具有单层的位流的情况下,如果层中的每一图片具有640像素成640像素的大小且每一译码树块(CTB),所述CTB为最小可分别解码单元,具有64像素乘64像素的大小,那么任何AU中的解码单元的最大数目可为10×10=100。因此,图片时序SEI消息中指定的值指示单一AU中的解码单元的数目可经约束到1到(CTB'中的图片大小)的范围内,包括端点。换句话说,如果图片时序SEI消息指定单一AU中的解码单元的数目的值在此范围外部,那么可确定含有图片时序SEI消息的位流不符合特定标准(例如,SHVC)。

然而,在多层情况中,AU(或分区单元,如果位流划分为位流分区)可含有大于一个图片,且因此,每一AU可含有基于每一AU含有单一图片的假设计算的最大值的更多解码单元。因此,应修改提供在图片时序SEI消息中的约束以指定变量的值,从而指示单一AU中的解码单元的数目(如果SEI消息与AU相关联)应在1到(可适合于全部AU中的图片的CTB'的数目)的范围内。类似地,应修改提供在图片时序SEI消息中的约束以指定变量的值,从而指示单一分区单元中的解码单元的数目(如果SEI消息与分区单元相关联)应在1到(可适合于分区单元中的全部图片的CTB'的数目)范围内。在以上实例中,如果分区单元含有两个图片,那么可由相符位流中的图片时序SEI消息指定的解码单元的最大数目将为200。

基于位率和时间ID的约束

在一些实施方案中,使用恒定位率CPB模型,其中位流以固定位率到达。在其它实施方案中,使用可变位率CPB模型,其中位流以可变位率到达。举例来说,在使用可变位率CPB模型的此些实施方案中速率(在解码器侧以所述速率接收位流)可恒定持续一段时间和/或变为零持续又一段时间。

在一些现有译码方案中,位流符合性约束指定特定解码单元的解码单元CPB移除时间的值应大于按解码次序在特定解码单元之前的全部解码单元的解码单元CPB移除时间。这些译码方案可仅在使用恒定位率CPB模型的实施方案中应用位流符合性约束。然而,此类位流符合性约束可确保以正确解码次序解码解码单元。因此,应将此类位流符合性约束扩展到使用可变位率CPB模型的实施方案。

在一些现有译码方案中,此类位流符合性约束并未应用于最低位流分区内的解码单元。最低位流分区可为含有位流的基础层和/或含有具有最低层ID的视频层的位流分区。类似地,此类位流符合性约束应适用于最低位流分区内的解码单元。

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

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

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

IRAP图片的跨层对齐

在可缩放视频译码的一些实施中,IRAP图片可能不需要横跨不同层对齐(例如,含于同一存取单元中)。举例来说,如果需要对齐IRAP图片,那么含有至少一个IRAP图片的任一存取单元将仅含有IRAP图片。另一方面,如果IRAP图片不需要对齐,那么在单一存取单元中,一个图片(例如,在第一层中)可为IRAP图片,且另一图片(例如,在第二层中)可为非IRAP图片。在位流中具有此类未对齐IRAP图片可提供一些优点。举例来说,在双层位流中,如果在基础层中存在比在增强层中更多的IRAP图片,那么在广播和多播应用中,可实现低调入延迟和高译码效率。

包含拼接点的位流

参考图6,将描述具有拼接点的实例位流。图6展示通过拼接位流610和620产生的多层位流600。位流610包含增强层(EL)610A和基础层(BL)610B,且位流620包含EL 620A和BL 620B。EL 610A包含EL图片612A,且BL 610B包含BL图片612B。EL620A包含EL图片622A、624A和626A,且BL 620B包含BL图片622B、624B和626B。多层位流600进一步包含存取单元(AU)630至660。AU 630包含EL图片612A和BL图片612B,AU 640包含EL图片622A和BL图片622B,AU 650包含EL图片624A和BL图片624B,且AU 660包含EL图片626A和BL图片626B。在图6的实例中,BL图片622B为IRAP图片,且AU 640中的对应EL图片622A为后置图片(例如,非IRAP图片),且因此,AU 640为未对齐IRAP AU。应注意AU 640为紧跟在拼接点670之后的存取单元。

尽管图6的实例说明两个不同位流接合在一起的情况,但在一些实施例中,当移除位流的一部分时,拼接点可存在。举例来说,位流可具有部分A、B和C,部分B在部分A与C之间。如果将部分B从位流移除,那么其余部分A和C可接合在一起,且其接合在一起的点可被称作拼接点。更一般来说,如本申请案中所论述的拼接点可被视为在一或多个用信号表示或导出的参数或旗标具有预定值时存在。举例来说,在未接收到拼接点存在于特定位置处的特定指示的情况下,解码器可确定旗标(例如,NoClrasOutputFlag,如果设定为1,那么其可指示跨层随机存取跳过图片未输出,且如果设定为0,那么指示跨层随机存取跳过图片将输出)的值,且基于旗标的值执行本申请案中所描述的一或多种技术。

POC

在一些视频译码方案中,POC可用于跟踪输出经解码图片的相对次序。此值可为极大数值(例如,32位),且每一切片标头可包含图片的与切片相关联的POC。因此,在一些实施方案中,仅POC的最低有效位(LSB)在位流中用信号表示且基于POC导出过程计算POC的最高有效位(MSB)。举例来说,为节省位,可在切片标头中用信号表示LSB,且可基于当前图片的NAL单元类型和按解码次序一或多个先前图片的MSB和LSB通过编码器或解码器计算MSB,所述一或多个先前图片(i)非RASL或RADL图片,(ii)非可丢弃的(例如,图片标记为指示无其它图片取决于其的“可丢弃”,从而允许其被丢弃以满足带宽约束),(iii)非子层非参考图片(例如,非用于由同一时间子层或同一层中的其它图片参考的图片),且(iv)具有等于0的值的时间ID(例如,时间子层ID)。

在其中仅LSB提供于位流中的情况下,可提供位流符合性约束以确保DPB中的任何经解码图片的POC值未分隔开大于MSB或“周期”的单元值。举例来说,如果DPB含有分别具有POC值1和257的图片其中LSB以8位表示,那么可误导两个图片在基于其POC值按输出次序一者应在另一者之前时具有相同LSB值(例如,1)。因此,在一些实施例中,位流符合性约束可指定DPB中的任何两个图片将不具有相差大于周期长度除以2的POC值。举例来说,这些图片可包含(i)当前图片;(ii)按解码次序具有等于0的TemporalId值且非RASL图片、RADL图片或子层非参考图片的前一图片;(iii)当前图片的RPS中的短期参考图片;和(iv)具有等于1的PicOutputFlag值且按解码次序在当前图片之前的图片。在多层情况中,此位流符合性约束应用于每一子DPB。举例来说,DPB可含有多个子DPB,每一子DPB存储单层中的图片。在此情况下,应修改位流符合性约束以指定子DPB中的经解码图片的POC值不应分隔开大于特定值(例如,大于周期长度或大于周期长度除以2)。

在一些实施例中,约束经限制到单一CVS(例如,未横跨多个CVS'应用)。在一些实施例中,约束并未横跨当前图片应用,所述当前图片为具有等于1的NoRaslOutputFlag值的IRAP图片或为具有大于0的nuh_layer_id的当前层的第一图片,所述当前图片在具有等于0的nuh_layer_id值且具有等于1的NoClrasOutputFlag值的IRAP图片之后。换句话说,以上列表中的图片的最大与最小POC值(如应用于每一子DPB)之间的差经约束以小于MaxPicOrderCntLsb/2,仅在译码器确定当前图片(i)非具有等于1的NoRaslOutputFlag值的IRAP图片或(ii)非具有大于0的nuh_layer_id的当前层的在具有等于0的nuh_layer_id值且具有等于1的NoClrasOutputFlag值的IRAP图片之后的第一图片时。如果译码器确定并未满足条件,那么译码器可制止检查位流符合性约束。可替代地,以上位流符合性约束可仅在当前图片非具有等于1的NoRaslOutputFlag值的IRAP图片且POC MSB值并未用信号表示或非具有大于0的nuh_layer_id的当前层的跟随具有等于0的nuh_layer_id值的IRAP图片且具有等于1的NoClrasOutputFlag值的第一图片时应用。

实例DPB>

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

方法700开始于框701。在框705处,译码器确定当前AU是否满足与第一层相关联的条件。举例来说,译码器可通过确定当前AU中的当前图片是否为与指示按解码次序在第一图片之后但使用按解码次序在第一图片之前的图片的任何图片并未输出的旗标(例如,NoRaslOutputFlag值等于1)相关联的IRAP图片形成此确定。在另一实例中,译码器可通过处理与第二图片相关联的旗标或语法元素形成此确定,其中第二图片在具有最低层ID(例如,nuh_layer_id值等于0)的基础层中。在此实例中,第二图片可在紧跟在当前AU之前的AU中。旗标或语法元素可为NoClrasOutputFlag,如果设定为1,那么其可指示跨层随机存取跳过图片未输出,如果设定为0,那么其指示跨层随机存取跳过图片将输出。在此实例中,旗标或语法元素值1可指示图片在紧跟在拼接点之后的存取单元中,且旗标或语法元素值0可指示图片不在紧跟在拼接点之后的存取单元中。在一些实施例中,旗标或语法元素可指示以下各者中的一者(i)第二图片是否为位流中的第一图片(例如,出现在位流中的其它图片之前),(ii)第二图片是否包含于第一存取单元中,所述第一存取单元按解码次序在包含具有等于SmallestLayerId值或0的nuh_layer_id值的序列NAL单元的结束的存取单元之后,(iii)第二图片是否为具有等于1的HandleCraAsBlaFlag值的BLA图片或CRA图片或(iv)第二图片是否为具有等于1的cross_layer_bla_flag值的IDR图片。

如果译码器确定当前AU未满足条件,那么方法700进行到框710。如果译码器确定当前AU满足条件,那么方法700进行到框715。在框710处,译码器确定DPB中的图片的最高POC与最低POC之间的差是否小于阈值。举例来说,图片可包含(i)当前图片;(ii)按解码次序具有等于0的TemporalId值且不是RASL图片、RADL图片或子层非参考图片的前一图片;(iii)当前图片的RPS中的短期参考图片;和/或(iv)具有等于1的PicOutputFlag值、按解码次序在当前图片之前且按输出次序接续当前图片的图片。在框715处,译码器制止确定DPB中的图片的最高POC与最低POC之间的差是否小于所述阈值。举例来说,位流符合性约束并不适用于横跨拼接点的图片。在另一实例中,位流符合性约束不适用于为具有等于1的NoRaslOutputFlag值的IRAP图片或为在具有等于0的nuh_layer_id值且具有等于1的NoClrasOutputFlag值的IRAP图片之后的具有大于0的nuh_layer_id的的当前层的第一图片的图片。在框720处,译码器译码(例如,编码或解码)与位流中的当前AU相关联的语法元素。方法700在725处结束。

如上文所论述,图2A的视频编码器20、图2B的视频编码器23、图3A的视频解码器30或图3B的视频解码器33可用于实施本发明中所论述技术中的任一者,例如确定当前AU是否满足条件、确定DPB中的图片的最高POC与最低POC之间的差是否小于阈值且译码与位流中的当前存取单元相关联的语法元素。

POC重置

在一些实施方案中,每当特定类型的图片出现在位流中时,POC的值可重置(例如,设定为零、设定为在位流中用信号表示的一些值或从包含于位流中的信息导出)。举例来说,当特定随机存取点图片出现在位流中时,可重置POC。当特定图片的POC重置时,按解码次序在特定图片之前的任何图片的POC也可重置以例如维持那些图片将输出或显示的相对次序。又,稍后可从DPB移除经解码图片(其中的每一者可与特定POC值相关联)。

POC重置的实例

参考图8至11,将描述用于重置POC值(例如,LSB和MSB)的实例过程。如以上所描述,在一些译码方案中,特定符合性约束可指定单一AU中的所有经译码图片的POC应相同。在无POC值的适当重置的情况下,位流中的未经对齐IRAP AU可产生违反此些符合性约束的POC值。

图8展示包含增强层(EL)810和基础层(BL)820的多层位流800。EL 810包含EL图片812至818,且BL包含BL图片822至828。多层位流800进一步包含存取单元(AU)830至860。AU830包含EL图片812和BL图片822,AU 840包含EL图片814和BL图片824,AU 850包含EL图片816和BL图片826,且AU 860包含EL图片818和BL图片828。在图8的实例中,EL图片814为IDR图片,且AU 840中的对应BL图片824为后置图片(例如,非IRAP图片),且因此,AU 840为未对齐IRAP AU。在一些实施例中,如果图片是不在基础层中的IDR图片,那么在给定图片处执行MSB重置。此IDR图片可具有非零POC LSB值。

图9展示说明可结合图8的多层位流800用信号表示或导出的POC值的表900。如图9中所展示,重置EL图片814处的EL 810中的POC的MSB,而并未重置BL 820中的POC的MSB。因此,如果并未在未对齐IRAP AU 840中的BL图片824处的BL 820中执行重置,那么AU 840至860中的BL图片和EL图片的POC值将不匹配(即,相等),如符合性约束指定。在具有及无重置的情况下的POC值的差异在图9中以粗体突出显示。

图10展示包含增强层(EL)1010和基础层(BL)1020的多层位流1000。EL 1010包含EL图片1012至1018,且BL包含BL图片1022至1028。多层位流1000进一步包含存取单元(AU)1030至1060。AU 1030包含EL图片1012和BL图片1022,AU 1040包含EL图片1014和BL图片1024,1050包含EL图片1016和BL图片1026,且AU 1060包含EL图片1018和BL图片1028。在图10的实例中,BL图片1024为IDR图片,且AU 1040中的对应EL图片1014为后置图片(例如,非IRAP图片),且因此,AU 1040为未对齐IRAP AU。在一些实施例中,如果图片为基础层中的IDR图片,那么针对给定图片执行MSB重置及LSB重置。举例来说,位流可包含应重置此BLIDR图片的POC MSB及POC LSB的指示。替代地,解码器可在于位流中无应执行POC重置的任何指示的情况下执行此BL IDR图片的POC MSB及POC LSB的重置。

图11展示说明可结合图10的多层位流1000用信号表示或导出的POC值的表1100。如图11中所展示,重置BL图片1024处的BL 1020中的POC的MSB和LSB,而不重置EL 1010中的POC的MSB或LSB。因此,如果在未对齐IRAP AU 1040中的EL图片1014处的EL 1010中执行POC的MSB和LSB的重置,那么AU 1040至1060中的BL图片和EL图片的POC值将不匹配,如符合性约束所指定。在具有及无重置的情况下的POC值的差异在图11中以粗体突出显示。

本文中描述的实施例不限于图8和10中说明的实例位流配置,且本文中描述的技术可扩展到具有任何数目个层、存取单元及图片的任何多层位流。又,在图8至11中所说明的实例中,使用七位表示POC的LSB。然而,本文中描述的技术可扩展到具有任何形式的POC值表示的情境。

POC重置或从DPB移除的序列

在一些实施方案中,位流符合性约束指定对于经译码视频序列(CVS)内的两个图片m和n,如果DpbOutputTime[m]大于DpbOutputTime[n],那么图片m的PicOrderCntVal将也大于图片n的PicOrderCntVal。然而,如果已重置图片m或图片n或之间的图片的PicOrderCntVal,那么是否满足此约束变得不明确,这是由于约束未指定图片的PicOrderCntVal的哪个值应用于测试约束。此外,如果待测试的图片中的一者在测试时已从DPB移除,那么应如何满足位流符合性约束可能不明确。此外,PicOrderCntVal的一些限制甚至应可横跨经译码视频序列应用,因为POC链甚至可在横跨CVS边界的增强层中继续。举例来说,给定AU可含有基础层中的IDR图片和增强层中的非IRAP图片。基础层中的IDR图片中断基础层中的POC链,但增强层中的非IRAP图片未中断增强层中的POC链(可能需要使用按解码次序在给定AU之前以用于预测非IRAP图片的增强层图片或按解码次序在非IRAP图片之后的其它增强层图片)。

在一些实施例中,关于DpbOutputTime和PicOrderCntVal的约束可按以下更新:假设picA为具有等于1的NoRaslOutputFlag的IRAP图片且属于层layerA。假设auB按解码次序先于含有具有等于0的nuh_layer_id和等于1的NoClrasOutputFlag的按解码次序接续picA的IRAP图片的第一存取单元,和含有在layerA中具有等于1的NoRaslOutputFlag的按解码次序接续picA的IRAP图片的第一存取单元。对于为picA或按解码次序接续picA且按解码次序在auB之前的分别含于存取单元m和n中的层layerA中的任何两个图片picM和picN,当DpbOutputTime[m]大于DpbOutputTime[n]时,PicOrderCntVal(picM)将大于PicOrderCntVal(picN),其中PicOrderCnt(picM)和PicOrderCnt(picN)分别为紧接在用于按解码次序picM和picN的后者的图片次序计数的解码过程的调用之后的picM和picN的PicOrderCntVal值。举例来说,可仅紧接在解码后一图片之后而非稍后的时间测试位流符合性约束。在一些实施例中,picM按解码次序在picN之前。在其它实施例中,picN按解码次序在picM之前。

连续图片的输出时间

在一些实施方案中,位流符合性约束(例如,DpbOutputTime[],或针对每一图片所导出的其它变量)指定连续图片的输出时间的下限(例如,从DPB移除图片的时间)以确保输出图片的实际帧率不超过指定最大帧率(例如,300fps)。然而,多层位流可需要含有对应于同一输出时间的大于一个图片(例如,在单一AU中)。因此,如果单层情况的以上位流符合性约束适用于多层情况,那么每一AU可仅含有单一图片,此可为不合需要的。因此,输出时间约束应适用于不同AU'中的图片。

其它考虑因素

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

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

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

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

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号