对多层视频译码的层间预测信令的优化的制作方法

文档序号:17281614发布日期:2019-04-03 01:09阅读:182来源:国知局
对多层视频译码的层间预测信令的优化的制作方法

本发明一般来说是关于视频译码及压缩,且详细来说是关于可伸缩视频译码(SVC)、多视图视频译码及3D视频译码。



背景技术:

数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌面计算机、平板型计算机、电子书阅读器、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制面板、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电传会议装置、视频串流装置及其类似者。数字视频装置实施视频译码技术,例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4部分10进阶视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频译码技术。视频装置可通过实施这些视频译码技术来发射、接收、编码、解码及/或存储数字视频信息。

视频译码技术包含空间(图像内)预测及/或时间(图像间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,可将视频片段(例如,视频帧或视频帧的一部分)分割成视频块,所述视频块也可称为树型块、译码单元(CU)及/或译码节点。使用相对于在同一图像中的相邻块中的参考样本的空间预测来编码图像的帧内译码(I)片段中的视频块。图像的帧间译码(P或B)片段中的视频块可使用相对于在同一图像中的相邻块中的参考样本的空间预测或相对于在其它参考图像中的参考样本的时间预测。可将图像称为帧,且可将参考图像称为参考帧。

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



技术实现要素:

根据一些实施例,经配置以编码视频信息的设备包含处理器与存储器。存储器可经配置以存储视频信息的一或多个层(例如,视图),每一层包括至少一图像。处理器与存储器通信。处理器可经配置以处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),处理器可经配置以抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

在一些实施例中,指示符包括旗标。在一些实施例中,处理器可经配置以通过至少产生指示符来处理所述指示符。

在一些实施例中,处理器经配置以通过在视频参数集(VPS)、序列参数集(SPS)、图像参数集(PPS)或其任何组合中的一者中发信所述指示符来处理所述指示符。

在一些实施例中,处理器经配置以通过抑制包含用于在任何视频片段的片段标头中进行层间参考图像信息发信的进一步的语法元素来抑制进一步发信层间参考图像信息。所述直接参考层图像可包括用于每一时间子层内的每一层的在视频参数集中所指定的层中的图像。

在一些实施例中,设备进一步包括视频编码器。所述设备可进一步包括包括存储器及处理器的以下各者中的至少一者:数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌面计算机、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制面板、蜂窝式或卫星无线电电话及视频电传会议装置。

在另一实施例中,经配置以解码视频信息的设备包含处理器及存储器。存储器可经配置以存储视频信息的一或多个层(例如,视图),每一层包括至少一图像。处理器与存储器通信。处理器可经配置以处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),处理器可经配置以将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。

在一些实施例中,指示符包括旗标。在一些实施例中,处理器可经配置以通过至少接收指示符来处理所述指示符。

在一些实施例中,处理器经配置以通过接收视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)或其任何组合中的一者内的指示符来处理所述指示符。

在一些实施例中,处理器经配置以在不接收用于在任何视频片段的片段标头中进行层间发信的任何另外的语法元素的情况下,将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。所述直接参考层图像可包括用于每一时间子层内的每一层的在视频参数集中所指定的层中的图像。

在一些实施例中,设备进一步包括视频解码器。所述设备可进一步包括包括存储器及处理器的以下各者中的至少一者:数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌面计算机、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制面板、蜂窝式或卫星无线电电话及视频电传会议装置。

在另一实施例中,一种编码视频信息的方法包含:接收视频信息的一或多个层,每一层包括至少一图像;处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;及基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

在另一实施例中,一种解码视频信息的方法包含:接收视频信息的一或多个层,每一层包括至少一图像;处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;及基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。

在另一实施例中,视频解码设备可包含:用于存储视频数据的一或多个层的装置,每一层包括至少一图像;用于处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符的装置,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;用于基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集)将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集的装置。

在另一实施例中,一非暂时性计算机可读媒体具有存储于其上的代码,所述代码在执行时使设备:存储视频信息的一或多个层,每一层包括至少一图像;处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;及基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。

附图说明

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

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

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

图4为根据本发明的方面的框图,其说明在三个不同维度中的可伸缩性。

图5为根据本发明的方面的框图,其说明可伸缩视频译码(SVC)位流的实例结构。

图6为根据本发明的方面的框图,其说明位流中的实例SVC接入单元。

图7说明根据一实施例的用于编码视频数据的实例方法。

图8说明根据一实施例的用于解码视频数据的方法。

图9说明根据一实施例的用于编码视频数据的实例方法。

图10说明根据一实施例的用于解码视频数据的方法。

具体实施方式

本发明中所描述的技术一般来说是关于可伸缩视频译码(SVC)及/或多视图/3D视频译码。举例来说,所述技术可是关于高效率视频译码(HEVC)可伸缩视频译码(SVC)扩展,及可与高效率视频译码(HEVC)可伸缩视频译码(SVC)扩展一起使用或在高效率视频译码(HEVC)可伸缩视频译码(SVC)扩展内使用。在SVC中,可存在视频信息的多个层。位于视频信息的最底下层级处或位于最低层级处的层可充当基础层(BL)或参考层(RL),且位于视频信息的最顶部层级处或位于最高层级处的层可充当增强型层(EL)。“增强型层”可被视为与“增强层”同义,且这些术语可互换使用。在BL与EL之间的层可充当EL及/或RL。例如,一给定层对于位于所述给定层下面(例如,先于所述给定层)的层(例如,基础层或任何介入的增强层)来说可为EL。另外,所述给定层也可充当位于所述给定层上面(例如,后起于所述给定层)的增强层的参考层。在基础层(例如,具有(例如)层识别(ID)集或等于“1”的最低层)与顶层(或最高层)之间的任何给定层可由相对于所述给定层来说的较高层用作层间预测的参考且可将低于所述给定层的层用作层间预测的参考而加以确定。

仅出于说明的目的,可关于仅包含两个层(例如,例如参考层的较低层级层及例如增强型层的较高层级层)的实例来描述本发明中所描述的技术。应理解,本发明中所描述的实例也可扩展至具有多个基础层或参考层及增强层的实例。另外,出于解释容易性,以下揭示内容主要使用术语“帧”或“块”。然而,这些术语并不意谓为限定性的。举例来说,可将下文所描述的技术与例如块(例如,CU、PU、TU、宏块等)、片段、图像等的不同视频单元一起使用。

HEVC扩展的层间预测(ILP)大体具有关于在片段标头中发信层间参考图像信息的问题及缺点。举例来说,对于非基础层图像来说,只要直接参考层的数目大于0,便需要在片段标头中发信层间参考图像信息。一参考层构成对一给定增强层的直接参考层(基于所述给定增强层利用所述参考层以用于进行层间预测)。然而,对于许多典型情境来说,可能无需逐片段地改变层间参考图像信息(例如,层间参考图像信息可随片段标头不同而保持相同)及/或对在片段标头中发信任何层间参考图像信息可能无任何需要。在这些情形中,片段标头中的用于层间预测的发信位变得无必要且这些发信位的包含降低了译码效率。在典型多视图视频译码情境中,这些情形包含其中如在视频参数集(VPS)所指定的在层间参考图像集(RPS)中的直接参考层图像可皆被用于层间预测且所述直接参考层图像可皆被插入到当前图像的至少一参考图像列表中。另外或替代地,当直接参考层的数目等于与视频信息相关联的作用中参考层图像的数目时,无需发信层间预测。

在一些实施例中,提供支持两个或两个以上层但提供低译码(例如,解码、编码)复杂度的系统及方法。本文中所描述的技术也适用于HEVC的多视图或3DV扩展及基于任何其它译码框架(例如,H.264/AVC)的类似可伸缩、多视图及/或3DV译码情境(因为层也可被视为视图或视图的纹理或深度部分)。

为降低关于具有两个或两个以上层的视频信息的译码复杂度,可提供一指示符,其指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。举例来说,基于所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的所有直接参考层图像被添加到层间参考图像集,视频编码器可抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段中发信层间参考图像信息。在一些实施例中,视频编码器可通过在视频参数集(VPS)、序列参数集(SPS)、图像参数集(PPS)或其任何组合中的一者中发信所述指示符来处理所述指示符。在一些实施例中,视频编码器可通过抑制包含用于在任何视频片段的片段标头中进行层间发信的任何另外的语法元素来抑制进一步发信层间参考图像信息。

在一些实施例中,基于所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像被添加到层间参考图像集,视频解码器可将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。另外,视频解码器可通过接收视频参数集(VPS)、序列参数集(SPS)、图像参数集(PPS)或其任何组合中的一者内的指示符来处理所述指示符。在一些实施例中,视频解码器可在不接收用于在任何视频片段的片段标头中进行层间发信的任何另外的语法元素的情况下,将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。

视频译码标准

本文中所描述的某些实施例是关于用于在进阶视频编解码器的上下文中进行可伸缩视频译码(例如,HEVC(高效率视频译码))的层间预测。更具体来说,本发明是关于用于在可伸缩视频译码(SVC)、HEVC的多视图视频译码及/或3D视频译码扩展中达成层间预测的改善的性能的系统及方法。在以下描述中,描述了与某些实施例有关的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-4Visual及ITU-T H.264(也已知为ISO/IEC MPEG-4AVC)(包含所述ITU-T H.264的可伸缩视频译码(SVC)及多视图视频译码(MVC)扩展)。

可使用可伸缩视频译码(SVC)来提供质量(也称为信杂(SNR))可伸缩性、空间可伸缩性及/或时间可伸缩性。举例来说,在一个实施例中,参考层(例如,基础层)包含足以以第一质量等级来显示视频的视频信息且增强层包含关于参考层的额外视频信息使得参考层及增强层一同包含足以以高于第一等级的第二质量等级(例如,较少噪声、较大分辨率、较好的帧速率等)来显示视频的视频信息。增强型层可具有不同于基础层的空间分辨率。举例来说,EL与BL之间的空间纵横比可为1.0、1.5、2.0或其它不同比。换句话说,EL的空间纵横可等于BL的空间纵横的1.0、1.5或2.0倍。在一些实例中,EL的比例因子可大于BL。举例来说,EL中的图像大小可大于BL中的图像大小。以此方式,EL的空间分辨率大于BL的空间分辨率可为有可能的(虽然非为限制)。

在H.264的SVC扩展中,可使用为SVC所提供的不同层来执行当前块的预测。可将此预测称为层间预测。可在SVC中利用层间预测方法以便减少层间冗余。层间预测的一些实例可包含层间帧内预测、层间运动预测、层间模式预测及层间残余预测。层间帧内预测使用基础层中的同置块的重建构来预测增强层中的当前块。层间运动预测使用基础层的运动来预测增强层中的运动。层间模式预测基于基础层中的模式来预测增强层中的模式。层间残余预测使用基础层的残余来预测增强层的残余。

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

虽然本文中描述特定方面,但这些方面的许多变化及排列属于本发明的范围内。虽然提及优选方面的一些益处及优点,但本发明的范围并不意欲限于特定益处、用途或目标。相反,本发明的方面意欲广泛适用于不同无线技术、系统布置、网络及发射协议,其中一些通过实例在诸图中且在优选方面的以下描述中加以说明。实施方式及图式仅说明本发明而非限制本发明,本发明的范围由所附权利要求书及其均等物来界定。

图1为说明实例视频编码及解码系统的框图,所述视频编码及解码系统可利用根据本发明中所描述的方面的技术。如图1中所示,系统10包含源装置12,所述源装置提供待由目的地装置14在稍后的时间解码的经编码视频数据。详细来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,所述装置包含桌面计算机、笔记型(例如,膝上型)计算机、平板型计算机、机顶盒、例如所谓的“智能型”电话的电话手机、所谓的“智能型”板、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制面板、视频串流装置或其类似者。另外,在一些实施例中,系统10可实施于单一装置中。举例来说,任何此单一装置(包含电话手机)可包括源装置12与目的地装置14两者以及计算机可读媒体16。在一些状况下,可装备源装置12及目的地装置14以用于达成无线通信。

目的地装置14可经由计算机可读媒体16来接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移至目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括一用以使得源装置12能够实时直接将经编码视频数据发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)来调变经编码视频数据,且将经编码视频数据发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体(例如,射频(RF)频谱或一或多个实体发射线)。通信媒体可形成基于封包的网络(例如,局域网络、广域网或例如因特网的全局网络)的部分。通信媒体可包含路由器、开关、基地台,或可对促进从源装置12至目的地装置14的通信有用的其它设备。

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

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

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实施例中,无线通信装置(例如,蜂窝式电话)可包括源装置12(包含视频源18、视频编码器20及输出接口22)。目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实施例中,无线通信装置(例如,蜂窝式电话)可包括目的地装置14(包含输入接口28、视频解码器30及显示装置32)。举例来说,在一些状况下,单一无线通信装置可包括源装置12与目的地装置14两者。根据本发明,源装置12的视频编码器20可经配置以应用用于遵照多个标准或标准扩展来译码包含视频数据的位流的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部摄像机)接收视频数据。同样地,目的地装置14可与外部显示装置建立接口连接,而非包含整合式显示装置。

图1的所说明的系统10仅为一个实例。可通过任何数字视频编码及/或解码装置来执行用于确定当前块的运动向量预测值的候选清单中的候选者的技术。虽然大体通过视频编码装置来执行本发明的技术,但也可通过视频编码器/解码器(通常被称为“CODEC”)来执行所述技术。此外,也可通过视频预处理器来执行本发明的技术。源装置12及目的地装置14仅为这些译码装置的实例,其中源装置12产生供发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以实质上对称的方式操作使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射(例如,用于视频串流、视频播放、视频广播或视频电话)。

源装置12的视频源18可包含视频俘获装置,例如视频摄像机、含有先前俘获的视频的视频存盘及/或用以从视频内容提供商接收视频的视频馈送接口。作为另外的替代例,视频源18可产生基于计算机图形的数据以作为源视频、或直播视频、存盘视频及计算机产生的视频的组合。在一些状况下,如果视频源18为视频摄像机,则源装置12及目的装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可被应用于无线及/或有线应用。在每一状况下,可通过视频编码器20来编码经俘获、经预先俘获或经计算机产生的视频。经编码视频信息可接着通过输出接口22而被输出到计算机可读媒体16上。

计算机可读媒体16可包含:暂时性媒体,例如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),例如硬磁盘、随身碟、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。举例来说,在一些实施例(其中源装置12及目的地装置14经实施为例如无线手机的单一装置)中,计算机可读媒体16可包含任何存储媒体。在一些实例中,网络服务器(未图标)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14(例如,经由网络发射、直接有线通信等)。类似地,媒体制造设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且制造含有所述经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包含各种形式的一或多个计算机可读媒体。

目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息也可由视频解码器30使用且包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、电浆显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

视频编码器20及视频解码器30可根据一视频译码标准(例如,高效率视频译码(HEVC)标准)来操作,且可遵照HEVC测试模型(HM)。替代地,视频编码器20及视频解码器30可根据例如ITU-T H.264标准(替代地被称为MPEG-4部分10进阶视频译码(AVC))的其它专属或工业标准或这些标准的扩展来操作。然而,本发明的技术并不限于任何特定译码标准,包含(但不限于)上文所列举的标准中的任一者。视频译码标准的其它实例包含MPEG-2及ITU-T H.263。在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处理共同数据流或分开的数据流中的音频与视频两者的编码。若适用,则MUX-DEMUX单元可遵照ITU H.223多任务器协议或例如用户数据报协议(UDP)的其它协议。

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

JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进模型(称为HEVC测试模型(HM))。HM根据(例如)ITU-T H.264/AVC来假设视频译码装置相对于现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。

一般来说,HM的工作模型描述视频帧或图像可划分成包含明度样本与色度样本两者的树型块或最大译码单元(LCU)序列。位流内的语法数据可定义LCU的大小,LCU就像素的数目来说为最大译码单元。一片段包含按译码次序的诸多连续树型块。可将一视频帧或图像分割成一或多个片段。每一树型块可根据四分树(quadtree)而分裂成若干译码单元(CU)。一般来说,四分树数据结构每CU包含一个节点,其中根节点对应于树型块。如果将一CU分裂成四个子CU,则对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。

四分树数据结构的每一节点可为对应的CU提供语法数据。举例来说,四分树中的节点可包含分裂旗标,其指示是否将对应于所述节点的CU分裂成子CU。可递归地定义CU的语法元素,且CU的语法元素可取决于所述CU是否被分裂成子CU。如果一CU未经进一步分裂,则将所述CU称为叶CU。在本发明中,即使不存在原始叶CU的显式分裂,仍也将叶CU的四个子CU称为叶CU。举例来说,如果一16×16大小的CU未经进一步分裂,则四个8×8子CU将也被称为叶CU,尽管所述16×16CU从未经分裂。

除CU不具有大小差别外,CU具有与H.264标准的宏块类似的用途。举例来说,可将一树型块分裂成四个子节点(也称为子CU),且每一子节点又可为上代节点且可被分裂成另外四个子节点。被称为四分树的叶节点的最终未分裂子节点包括一译码节点,所述译码节点也称为叶CU。与经译码位流相关联的语法数据可定义可分裂一树型块的最大次数(其被称为最大CU深度),且也可定义所述译码节点的最小大小。因此,位流也可定义最小译码单元(SCU)。本发明使用术语“块”来指代HEVC的上下文中的CU、PU或TU中的任一者或其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。

一CU包含一译码节点及与所述译码节点相关联的若干预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小且形状必须为正方形。CU的大小可在从8×8像素直至具有最大64×64像素或大于64×64像素的树型块的大小的范围内。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)CU至一或多个PU的分割。分割模式可在CU是被跳过或是经直接模式编码、经帧内预测模式编码抑或经帧间预测模式编码之间而不同。PU可分割成形状为非正方形。与CU相关联的语法数据也可描述(例如)根据四分树CU至一或多个TU的分割。TU的形状可为正方形或非正方形(例如,矩形)。

HEVC标准允许根据TU进行变换,所述变换对于不同CU来说可为不同的。通常基于在针对已分割LCU所定义的给定CU内的PU的大小来对TU设定大小,尽管可能并非总是此状况。TU通常为与PU相同的大小或小于PU。在一些实例中,可使用已知为“残余四分树”(RQT)的四分树结构将对应于CU的残余样本再分成若干较小单元。可将RQT的叶节点称为变换单元(TU)。与TU相关联的像素差值可经变换以产生可加以量化的变换系数。

一叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于对应CU的所有或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,PU的数据可被包含于残余四分树(RQT)中,所述RQT可包含描述用于对应于所述PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分的一像素精度或八分的一像素精度)、运动向量所指向的参考图像,及/或运动向量的参考图像列表(例如,列表0、列表1或列表C)。

具有一或多个PU的叶CU也可包含一或多个变换单元(TU)。如上文所论述,可使用RQT(也称为TU四分树结构)来指定所述变换单元。举例来说,分裂旗标可指示一叶CU是否被分裂成四个变换单元。接着,可将每一变换单元进一步分裂为另外的子TU。当TU未加以进一步分裂时,可将其称为叶TU。一般来说,为达成帧内译码,属于一叶CU的所有叶TU共享相同的帧内预测模式。即,大体应用相同的帧内预测模式以计算一叶CU的所有TU的预测值。为达成帧内译码,视频编码器可将使用帧内预测模式的每一叶TU的残余值计算为在CU的对应于所述TU的部分与原始块之间的差。TU未必限于PU的大小。因此,TU可大于或小于PU。为达成帧内译码,一PU可与同一CU的一对应叶TU同置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。

此外,叶CU的TU也可与各别四分树数据结构(称为残余四分树(RQT))相关联。即,叶CU可包含一指示所述叶CU如何被分割为TU的四分树。TU四分树的根节点大体对应于叶CU,而CU四分树的根节点大体对应于树型块(或LCU)。将RQT的未被分裂的TU称为叶TU。一般来说,除非另有指示,否则本发明分别使用术语CU及TU来指代叶CU及叶TU。

视频序列通常包含一系列视频帧或图像。图像群组(GOP)大体包括一系列视频图像中的一或多者。GOP可包含GOP的标头、图像中的一或多者的标头或别处的语法数据,所述语法数据描述包含于GOP中的图像的数目。图像的每一片段可包含描述用于所述各别片段的编码模式的片段语法数据。视频编码器20通常对个别视频片段内的视频块进行操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定的译码标准而大小不同。

作为一实例,HM支持以各种PU大小进行的预测。假定特定CU的大小为2N×2N,则HM支援以2N×2N或N×N的PU大小进行的帧内预测,及以2N×2N、2N×N、N×2N或N×N的对称PU大小进行的帧间预测。HM也支援以2N×nU、2N×nD、nL×2N及nR×2N的PU大小进行的帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向则分割成25%及75%。CU的对应于25%分割的部分是由“n”继的以“上”、“下”、“左”或“右”的指示来指示。因此,举例来说,“2N×nU”指代水平上以顶部的2N×0.5N PU及底部的2N×1.5N PU分割的2N×2N CU。

在本发明中,“N×N”与“N乘N”可互换地使用以指代视频块在垂直尺寸与水平尺寸方面的像素尺寸(例如,16×16像素或16乘16像素)。一般来说,16×16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,N×N块大体在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按列及行来布置块中的像素。此外,块在水平方向上与在垂直方向上可能未必具有相同数目个像素。举例来说,块可包括N×M像素,其中M未必等于N。

在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算用于CU的TU的残余数据。所述PU可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且所述TU可包括在将变换(例如,离散余弦变换(DCT)、整数变换、子波变换或概念上类似的变换)应用于残余视频数据之后在变换域中的系数。所述残余数据可对应于未经编码图像的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。

在进行任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化是意欲具有其最广的普通意义的广义术语。在一个实施例中,量化指代如下的程序:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供另外的压缩。量化程序可减少与一些或所有所述系数相关联的位深度。举例来说,可在量化期间将n位值降值舍位至m位值,其中n大于m。

在量化之后,视频编码器可扫描所述变换系数,从而从包含所述经量化的变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数置于阵列前部,及将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可加以熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。在扫描经量化的变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵编码方法来熵编码所述一维向量。视频编码器20也可熵编码与经编码视频数据相关联的供由视频解码器30用于解码视频数据的语法元素。

为执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。所述上下文可能是关于(例如)符号的相邻值是否为非零。为执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。可将VLC中的码字建构成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,相对于(例如)针对待发射的每一符号而使用相等长度码字,使用VLC可达成位节省。机率确定可基于被指派给符号的上下文。

视频编码器20可进一步(例如)在帧标头、块标头、片段标头或GOP标头中将语法数据(例如,基于块的语法数据、基于帧的语法数据及基于GOP的语法数据)发送至视频解码器30。GOP语法数据可描述各别GOP中的诸多帧,且帧语法数据可指示用以编码对应帧的编码/预测模式。

图2为说明视频编码器的实例的框图,所述视频编码器可实施根据本发明中所描述的方面的技术。视频编码器20可经配置以执行本发明的技术中的任一者或全部。举例来说,可在视频编码器20的各种组件的中共享本发明中所描述的技术(包含下文关于图7及8所描述的方法)。在一些实例中,除上述情况之外或代替上述情况的是,一处理器(未图示)可经配置以执行本发明中所描述的技术中的任一者或全部。

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

如图2中所示,视频编码器20接收待编码的视频帧内的当前视频块。在图1的实例中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为达成视频块重建构,视频编码器20也包含反量化单元58、反变换单元60及求和器62。也可包含一解块滤波器(图2中未图示)以滤波块边界从而从重建构的视频移除成块性假影。若需要,解块滤波器将通常滤波求和器62的输出。也可使用除解块滤波器之外的额外滤波器(回路中或回路后)。出于简洁性未展示这些滤波器,但若需要,则这些滤波器可滤波求和器50的输出(作为回路中滤波器)。

在编码程序期间,视频编码器20接收待被译码的视频帧或片段。可将所述帧或片段划分成多个视频块。运动估计单元42及运动补偿单元44相对于在一或多个参考帧中的一或多个块来执行接收的视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地相对于在与待被译码的块相同的帧或片段中的一或多个相邻块来执行接收的视频块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次,(例如)以选择用于视频数据的每一块的适当译码模式。

此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割成子块。举例来说,分割单元48可最初将一帧或片段分割成LCU,且基于速率-失真分析(例如,速率-失真优化)来将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生一指示将LCU分割成子CU的四分树数据结构。四分树的叶节点CU可包含一或多个PU及一或多个TU。

模式选择单元40可(例如)基于误差结果来选择所述译码模式中的一者(帧内或帧间),且将所得帧内译码块或帧间译码块提供到求和器50以产生残余块数据及提供到求和器62以重建构供用作参考帧的经编码块。模式选择单元40也将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此语法信息)提供到熵编码单元56。

运动估计单元42及运动补偿单元44可经高度整合,但为概念目的而分开地予以说明。由运动估计单元42执行的运动估计为产生运动向量的程序,所述运动向量估计视频块的运动。举例来说,运动向量可指示在当前视频帧或图像内的视频块的PU相对于在参考帧(或其它经译码单元)内的预测性块(相对于在所述当前帧(或其它经译码单元)内正被译码的当前块来说)的位移。预测性块为被发现与待被译码的块在像素差方面紧密匹配的块,可通过绝对差总和(SAD)、平方差总和(SSD)或其它不同量度来确定像素差。在一些实例中,视频编码器20可计算存储于参考帧存储器64中的参考图像的次整数像素位置的值。举例来说,视频编码器20可内插参考图像的四分的一像素位置、八分的一像素位置或其它分率像素位置的值。因此,运动估计单元42可执行关于全像素位置及分率像素位置的运动搜寻且输出具有分率像素精度的运动向量。

运动估计单元42计算帧间译码片段中的视频块的PU的运动向量(通过比较所述PU的位置与参考图像的预测性块的位置)。可从第一参考图像列表(列表0)或第二参考图像列表(列表1)选择参考图像,所述列表0及所述列表1中的每一者识别存储于参考帧存储器64中的一或多个参考图像。运动估计单元42将所计算的运动向量发送至熵编码单元56及运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来提取或产生预测性块。再次,在一些实例中,运动估计单元42及运动补偿单元44可在功能上被整合。在接收当前视频块的PU的运动向量后,运动补偿单元44即可在参考图像列表中的一者中定位所述运动向量所指向的预测性块。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,运动估计单元42可关于明度分量执行运动估计,且运动补偿单元44可将基于明度分量所计算的运动向量用于色度分量与明度分量两者。模式选择单元40也可产生与所述视频块及所述视频片段相关联的语法元素以供由视频解码器30用于解码所述视频片段的所述视频块。

帧内预测单元46可帧内预测或计算当前块,以作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代例,如上文所描述。详细来说,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在分开的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元40)可从所测试的模式选择待使用的适当帧内预测模式。

举例来说,帧内预测单元46可使用针对各种所测试的帧内预测模式的速率-失真分析来计算速率-失真值,且在所测试的模式的中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体确定经编码块与原始、未编码块(其被编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的比特率(即,位的数目)。帧内预测单元46可从各种经编码块的失真及速率来计算比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。

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

视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据来形成一残余视频块。求和器50表示执行此减法运算的(多个)组件。变换处理单元52将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。也可使用子波变换、整数变换、子频带变换或其它类型的变换。在任何状况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数的块。变换可将残余信息从像素值域转换至变换域(例如,频域)。变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化所述变换系数以进一步减小比特率。量化程序可减少与一些或所有所述系数相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。

在量化之后,熵编码单元56熵编码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流发射到另一装置(例如,视频解码器30)或加以存盘以供稍后发射或检索。

反量化单元58及反变换单元60分别应用反量化及反变换,以在像素域中重建构残余块(例如,以供稍后用作参考块)。运动补偿单元44可通过将所述残余块加至参考帧存储器64的帧中的一者的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重建构的残余块以计算供用于运动估计的次整数像素值。求和器62将经重建构的残余块加至由运动补偿单元44产生的经运动补偿的预测块以产生供存储于参考帧存储器64中的经重建构的视频块。可由运动估计单元42及运动补偿单元44将所述经重建构的视频块用作一参考块以帧间译码在一随后的视频帧中的块。

图3为说明视频解码器的实例的框图,所述视频解码器可实施根据本发明中所描述的方面的技术。视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含下文关于图7及8所描述的方法。作为一个实例,运动补偿单元72及/或帧内预测单元74可经配置以执行本发明中所描述的技术中的任一者或全部。然而,本发明的方面并未如此受限。在一些实例中,可在视频解码器30的各种组件的中共享本发明中所描述的技术。在一些实例中,除上述情况之外或代替上述情况的是,一处理器(未图示)可经配置以执行本发明中所描述的技术中的任一者或全部。

在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考帧存储器82及求和器80。在一些实例中,视频解码器30可执行大体与关于视频编码器20(图2)所描述的编码遍次互反的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量来产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符来产生预测数据。

在解码程序期间,视频解码器30从视频编码器20接收一经编码视频位流,所述经编码视频位流表示一经编码视频片段的视频块及相关联的语法元素。视频解码器30的熵解码单元70熵解码所述位流以产生经量化的系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转递至运动补偿单元72。视频解码器30可在视频片段层级及/或视频块层级处接收语法元素。

当视频片段经译码为帧内译码(I)片段时,帧内预测单元74可基于所发信的帧内预测模式及来自当前帧或图像的先前经解码块的数据而产生当前视频片段的视频块的预测数据。当视频帧经译码为帧间译码(例如,B、P或GPB)片段时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素而产生用于当前视频片段的视频块的预测性块。可从位于参考图像列表中的一者内的参考图像中的一者来产生所述预测性块。视频解码器30可基于存储于参考帧存储器92中的参考图像使用默认建构技术来建构参考帧列表(列表0及列表1)。运动补偿单元72通过剖析运动向量及其它语法元素来确定用于当前视频片段的视频块的预测信息,且使用所述预测信息来产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用一些接收的语法元素来确定用以译码视频片段的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测片段类型(例如,B片段、P片段或GPB片段)、片段的参考图像列表中的一或多者的建构信息、片段的每一经帧间编码的视频块的运动向量、片段的每一经帧间译码的视频块的帧间预测状态及用以解码当前视频片段中的视频块的其它信息。

运动补偿单元72也可基于内插滤波器来执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器,以计算参考块的次整数像素的内插值。在此状况下,运动补偿单元72可从接收的语法元素来确定由视频编码器20所使用的内插滤波器且使用所述内插滤波器来产生预测性块。

反量化单元76反量化(例如,解量化)被提供于位流中且由熵解码单元70解码的经量化的变换系数。反量化程序可包含将通过视频解码器30计算的量化参数QPY用于视频片段中的每一视频块以确定量化程度及同样地应加以应用的反量化的程度。

反变换单元78将反变换(例如,反DCT、反整数变换或概念上类似的反变换程序)应用于变换系数以便在像素域中产生残余块。

在运动补偿单元72基于运动向量及其它语法元素来产生用于当前视频块的预测性块之后,视频解码器30通过对来自反变换单元78的残余块与由运动补偿单元72所产生的对应预测性块求和来形成经解码视频块。求和器80表示执行此加法运算的(多个)组件。若需要,也可应用解块滤波器以对经解码块滤波以便移除成块性假影。也可使用其它回路滤波器(在译码回路中抑或在译码回路之后)来使像素转变平滑,或在其它方面改善视频质量。一给定帧或图像中的经解码视频块接着被存储于参考帧存储器82中,所述参考帧存储器存储用于随后的运动补偿的参考图像。参考帧存储器82也存储经解码视频以供稍后呈现于显示装置(例如,图1的显示装置32)上。

HEVC中的运动补偿

如上文所提及,HEVC为下一代视频译码标准。一般来说,HEVC遵循先前视频译码标准的框架。可使HEVC的运动补偿回路保持为与H.264/AVC中的运动补偿回路相同,即,当前帧的重建构等于经解量化的系数r加上时间预测P:

其中P指示针对P帧或片段的单向预测或针对B帧或片段的双向预测。

HEVC中的运动补偿单元可不同于先前视频译码标准中的运动补偿单元。事实上,在HEVC中不存在先前视频译码标准中的宏块的概念。实情为,宏块概念被基于一般四分树方案的高度灵活的阶层结构所代替。在此方案内,定义三种类型的块(即,译码单元(CU)、预测单元(PU)及变换单元(TU))。CU是区域分裂的基本单元。CU是类似于宏块的概念,但CU并不限制最大大小且CU可允许递归地分裂成四个相等大小的CU以改善内容自适应性。PU是帧间/帧内预测的基本单元且PU可含有单一PU内的多个任意形状的分区以有效地译码不规则影像图案。TU是变换的基本单元。可独立于PU来定义TU;然而,TU的大小受限于所述TU所属的CU。将块结构以此方式分成三种不同概念允许每一块结构根据其作用而被优化,从而产生改善的译码效率。

可伸缩视频译码

图4中展示在不同维度中的可伸缩性400的实例。在所述实例中,在三个维度402、404、406中启用可伸缩性。在时间维度402中,可通过时间可伸缩性(T)来支持(例如)具有7.5Hz、15Hz或30Hz的帧速率。当支持空间可伸缩性(S)404时,启用不同分辨率(例如,QCIF、CIF及4CIF)。对于每一特定空间分辨率及帧速率来说,可添加SNR(Q)层406以改善图像质量。可将来自每一层402、404、406的位流一同多任务至单一位流中。一旦视频内容已以此可伸缩方式加以编码,便可使用提取器工具以根据应用要求来调适实际所传递的内容,所述应用要求是取决于(例如)客户端或发射信道。在图4中所示的实例中,每一立方体408含有具有相同帧速率(时间层级)、空间分辨率及SNR层的图像。可通过在任何维度402、404、406中添加那些立方体408(图像)来达成较好的表示。当存在所启用的两个、三个或甚至更多可伸缩性时,支持组合的可伸缩性。

根据SVC规范,具有最低空间410及质量412层的图像是与H.264/AVC兼容,且处于最低时间层级414的图像形成时间基础层,其可通过处于较高时间层级的图像而得到增强。除H.264/AVC兼容层之外,也可添加若干空间及/或SNR增强层以提供空间及/或质量可伸缩性。SNR可伸缩性406也被称为质量可伸缩性。每一空间404或SNR 406增强层自身可为时间上可伸缩的,其具有与H.264/AVC兼容层相同的时间可伸缩性结构。对于一个空间或SNR增强层来说,空间或SNR增强层所依赖的较低层也称为所述特定空间或SNR增强层的基础层。

图5中展示SVC译码结构500的实例。具有最低空间及质量层的图像(层0502及层1504中的图像,其具有QCIF分辨率)是与H.264/AVC兼容。其中,最低时间层级的那些图像形成时间基础层,如在图5的层0502中所示。此时间基础层(层0)502可通过较高时间层级(层1)504的图像而得到增强。除H.264/AVC兼容层504之外,也可添加若干空间及/或SNR增强层506、508、510以提供空间及/或质量可伸缩性。例如,增强层可为具有与层2506相同的分辨率的CIF表示。在所述实例中,层3508为SNR增强层。如所述实例中所示,每一空间或SNR增强层自身可为时间上可伸缩的,其具有与H.264/AVC兼容层相同的时间可伸缩性结构。又,增强层可增强空间分辨率与帧速率两者。举例来说,层4510提供4CIF增强层,其进一步将帧速率从15Hz增加到30Hz。

如图6中所示,同一时间实例中的经译码片段在位流次序方面是连续的且在SVC的上下文中形成一个接入单元600。那些SVC接入单元600接着遵循解码次序,所述解码次序可不同于显示次序且(例如)由时间预测关系来决定。

一般来说,层间纹理预测指代其中使用经重建构的基础层像素值来预测增强层中的像素值的状况。“帧内BL模式”及“层间参考图像”是用以进行层间纹理预测的两种做法。

术语(经译码)图像、接入单元(AU)、内部随机接入点(IRAP)AU、经译码视频序列(CVS)及位流为具有广普通意义的广义术语。在一些实施例中,这些术语指代以下内容。经译码图像是与SVC中的层表示、MVC中的视图分量及MVC+D中的纹理或深度视图分量等效。如在SVC及MVC中,接入单元(AU)由与相同输出时间相关联的所有经译码图像及其关联的非VCL NAL单元组成。IRAP接入单元为其中所有经译码图像为IRAP图像的接入单元。经译码视频序列(CVS)为接入单元序列,其按解码次序由以下各者组成:一具有等于1的NoRaslOutputFlag的IRAP接入单元;接着为零个或零个以上的接入单元(非为具有等于1的NoRaslOutputFlag的IRAP接入单元),包含所有随后的接入单元一直到但不包含为具有等于1的NoRaslOutputFlag的IRAP接入单元的任何随后的接入单元。位流为位序列(呈NAL单元流或字节流的形式),其形成一或多个CVS的表示。位流中的第一AU为IRAP AU。

层间RPS的发信及导出

一种层间参考图像集(RPS)发信及导出的方法被设计成具有以下目的。可基于图像层级语法(例如,可在片段标头中发信图像层级语法)来导出层间RPS子集。可使用所述层间RPS子集来检测用于层间图像参考的图像的损耗。可使用序列层级指示来减少典型用户案例的图像层级发信开销。举例来说,在SHVC中,通常在用于译码一图像的层间预测中仅使用一个参考层图像。因此,将具有最高层id的参考层用于层间预测,因此未在任何片段标头中显式发信层间参考图像信息。

在MV-HEVC及SHVC中,可如下提供语法及语义。

MV-HEVC及SHVC中的视频参数集扩展语法及语义

表1

在表1的此实例中,等于1的max_one_active_ref_layer_flag可指定或指示针对CVS中的每一图像而将至多一个图像用于层间预测。又,等于0的max_one_active_ref_layer_flag可指定或指示可针对CVS中的每一图像而将一个以上的图像用于层间预测。

一般片段区段标头语法

在下表2的实例中,等于1的inter_layer_pred_enabled_flag可指定或指示可将层间预测用于当前图像的解码中。又,等于0的inter_layer_pred_enabled_flag可指定或指示不将层间预测用于当前图像的解码中。当位流中不存在inter_layer_pred_enabled_flag时或当未在位流中发信inter_layer_pred_enabled_flag的值时,可由解码器推断inter_layer_pred_enabled_flag的值等于0。

在表2的实例中,num_inter_layer_ref_pics_minus1+1可指定或指示可用于当前图像的解码中以用于达成层间预测的图像的数目。num_inter_layer_ref_pics_minus1语法元素的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]-1)位。num_inter_layer_ref_pics_minus1的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

表2

可如以下代码中所示来导出变量NumActiveRefLayerPics:

经译码图像的所有片段可具有NumActiveRefLayerPics的相同值。

在表2的实例中,inter_layer_pred_layer_idc[i]可指定或指示变量RefPicLayerId[i],所述变量表示可由当前图像使用以用于达成层间预测的第i图像的nuh_layer_id。语法元素inter_layer_pred_layer_idc[i]的长度为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))位。inter_layer_pred_layer_idc[i]的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。当位流中不存在inter_layer_pred_layer_idc[i]时或当未在位流中发信inter_layer_pred_layer_idc[i]的值时,可由解码器推断inter_layer_pred_layer_idc[i]的值等于0。当i大于0时,inter_layer_pred_layer_idc[i]可大于inter_layer_pred_layer_idc[i-1]。

可如下导出变量RefPicLayerId[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中):

for(i=0;i<NumActiveRefLayerPics;i++)

RefPicLayerId[i]=

RefLayerId[nuh_layer_id][inter_layer_pred_layer_idc[i]]

图像的所有片段可具有inter_layer_pred_layer_idc[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)的相同值。

在一些实施中,位流一致性的要求为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,以下两个条件中的任一者应为真。第一条件为max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]的值大于TemporalId。第二条件为max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]及TemporalId的值均等于0,且当前接入单元中具有等于RefPicLayerId[i]的nuh_layer_id的图像为IRAP图像。

在一些实施中,位流一致性的要求为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]或MotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]的值等于1。

在表2的实例中,等于1的inter_layer_sample_pred_only_flag可指定或指示未将层间预测用于当前图像的解码中。又,等于0的inter_layer_sample_pred_only_flag可指定或指示可将层间预测用于当前图像的解码中。当位流中不存在inter_layer_sample_pred_only_flag时或当未在位流中发信inter_layer_sample_pred_only_flag的值时,可由解码器推断inter_layer_sample_pred_only_flag的值等于0。

可如下导出变量InterRefEnabledInRPLFlag。如果NumSamplePredRefLayers[nuh_layer_id]大于0且NumActiveRefLayerPics大于0,则可将InterRefEnabledInRPLFlag设定成等于!inter_layer_sample_pred_only_flag。若非如此,则可将InterRefEnabledInRPLFlag设定成等于1。

MV-HEVC及SHVC中的用于层间预测(ILP)的语法及语义具有某些问题及缺点。举例来说,对于非基础层图像来说,只要NumDirectRefLayers[nuh_layer_id]大于0,便总是需要在片段标头中发信层间预测。然而,对于各种典型情境来说,不需要改变逐片段地改变层间预测。因此,不需要在片段标头中发信任何层间预测。因此,在这些情形中,被利用以在片段标头中发信层间预测的位变得无必要。这些情境包含在典型多视图视频译码情境中当如在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内所指定的在层间RPS中的直接参考层图像皆被用于层间预测且皆被插入到当前图像的至少一参考图像列表中时。这些情境(其中被利用以在片段标头中发信层间预测的位是无必要的)也可包含或替代地包含其中NumDirectRefLayers[nuh_layer_id]的值等于NumActiveRefLayerPics的值的情境。当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,无需发信inter_layer_pred_layer_idc[i]。

在一些实施例中,以下技术提供用以解决上文所描述的问题及缺点且避免片段标头中的不必要发信的机制。这些技术产生改善的译码效率及减少的计算资源要求。

在一些实施例中,所述技术包含:接收视频信息的一或多个层,每一层包括至少一图像。所述技术可包含:处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。所述技术可包含:基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。举例来说,所述技术包含:提供及/或处理在视频参数集(VPS)中的关于所有直接参考层图像是否被添加到层间参考图像集(RPS)的指示,使得对于参考VPS或与VPS相关联的任何片段来说,参考具有此指示的VPS(例如,与之相关联)的所有视频片段被添加到层间参考图像集。举例来说,参考VPS或与VPS相关联的视频片段不包含用于在任何视频片段的片段标头中进行层间发信的任何另外的语法元素。替代地,视频参数集中的指示所有直接参考层图像是否被添加到层间RPS的指示可存在于SPS或PPS中。因此,对于参考SPS或PPS(例如,与之相关联)的任何及所有片段来说所有直接参考层图像被添加到层间RPS的约束类似地适用。另外,可针对MV-HEVC而引入所有直接参考层图像被添加到层间RPS的约束,使得所述约束可总是适用。在此状况下,发信所有直接参考层图像被添加到层间RPS的约束可为强制性的。

在一些实施例中,所述技术包含:接收视频信息的一或多个层,每一层包括至少一图像。所述技术可进一步包含:确定与所述一或多个层中的一者相关联的直接参考层的数目。所述技术可进一步包含:当直接参考层的数目等于与视频信息相关联的作用中参考层图像的数目时,抑制发信层间预测。举例来说,当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,不发信inter_layer_pred_layer_idc[i]。

一些实施例包含对各种HEVC标准及草案中所提供的某些语法及语义元素的修改(例如,添加及删除)。举例来说,下文描述对MV-HEVC WD4及SHVC WD2的添加及删除。另外,未提及或在其它方面经指示为被添加或移除的一些部分是与或可与MV-HEVC WD3及SHVC WD1中的部分相同。

视频参数集扩展语法及语义(第一组实施例)

在第一组实施例的一些中,语法可对应于下文在表3中所示的语法。

表3

在表3的实例中,等于1的all_dep_layer_used_flag可指定或指示,对于参考VPS的每一图像来说,当前图像的所有直接参考层图像(当必要时加以重取样)(其可由VPS语法指定)被添加到层间参考图像集。举例来说,在一些实施例中,一种译码视频信息的方法包含:接收视频信息的一或多个层,每一层包括至少一图像;处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符(例如,all_dep_layer_used_flag),所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;及基于所述指示符(例如,如果all_dep_layer_used_flag等于1),抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

另外,等于0的all_dep_layer_used_flag可指定或指示对于参考VPS的图像来说可将或可不将当前图像的所有直接参考层图像(当必要时加以重取样)(其由VPS语法指定)添加到层间参考图像集。举例来说,在一些实施例中,一种译码视频信息的方法包含:处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符(例如,all_dep_layer_used_flag),所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集;及如果所述指示符不指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像被添加到层间参考图像集(例如,如果all_dep_layer_used_flag等于0),则不抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。换句话说,如果all_dep_layer_used_flag具有0的值,则可在与VPS、SPS或PPS中的所述至少一者相关联的任何视频片段中发信层间参考图像信息。举例来说,如果all_dep_layer_used_flag等于0,则对于参考VPS的图像来说可将或可不将当前图像的所有直接参考层图像添加到层间参考图像集。

在表3及表4的实例中,等于1的max_one_active_ref_layer_flag可指定或指示对于CVS中的每一图像来说将至多一个图像用于层间预测。又,等于0的max_one_active_ref_layer_flag可指定或指示对于CVS中的每一图像来说可将一个以上的图像用于层间预测。

在表3及表4的实例中,等于1的highest_dep_layer_used_flag可指定或指示对于使用层间预测的每一图像来说仅将具有nuh_layer_id的最高值的依赖层用于层间预测。又,等于0的highest_dep_layer_used_flag可指定或指示对于每一图像来说可将或可不将任何依赖层用于层间预测。当位流中不存在highest_dep_layer_used_flag时或当未在位流中发信highest_dep_layer_used_flag的值时,可由解码器推断highest_dep_layer_used_flag的值等于0。

在第一组实施例的其它实施例中,语法可对应于下文在表4中所示的语法。

表4

在第一组实施例的又其它者中,语法可对应于下文在表5中所示的语法。

表5

在表5的实例中,selective_dep_layer_idc可取如表6中所指示的值。

表6

一般片段区段标头语法及语义(第二组实施例)

在第二组实施例的一些中,语法可对应于下文在表7中所示的语法。

在表7及表8的实例中,等于1的inter_layer_pred_enabled_flag可指定或指示可将层间预测用于当前图像的解码中。又,等于0的inter_layer_pred_enabled_flag可指定或指示不将层间预测用于当前图像的解码中。当位流中不存在inter_layer_pred_enabled_flag时或当未在位流中发信inter_layer_pred_enabled_flag的值时,可由解码器推断inter_layer_pred_enabled_flag的值等于all_dep_layer_used_flag的值。

表7

在表7及表8的实例中,num_inter_layer_ref_pics_minus1+1可指定或指示可用于当前图像的解码中以用于达成层间预测的图像的数目。num_inter_layer_ref_pics_minus1语法元素的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]-1)位。num_inter_layer_ref_pics_minus1的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

在表7及表8的实例中,可如下导出变量NumActiveRefLayerPics:

经译码图像的所有片段可具有NumActiveRefLayerPics的相同值。

在表7及表8的实例中,inter_layer_pred_layer_idc[i]可指定或指示变量RefPicLayerId[i],所述变量表示可由当前图像使用以用于达成层间预测的第i图像的nuh_layer_id。语法元素inter_layer_pred_layer_idc[i]的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))位。inter_layer_pred_layer_idc[i]的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

当位流中不存在inter_layer_pred_layer_idc[i]时或当未在位流中发信inter_layer_pred_layer_idc[i]的值时,可由解码器如下推断inter_layer_pred_layer_idc[i]的值:

当i大于0时,inter_layer_pred_layer_idc[i]可大于inter_layer_pred_layer_idc[i-1]。

可如下导出变量RefPicLayerId[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中):

for(i=0;i<NumActiveRefLayerPics;i++)

RefPicLayerId[i]=

RefLayerId[nuh_layer_id][inter_layer_pred_layer_idc[i]]

图像的所有片段可具有inter_layer_pred_layer_idc[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)的相同值。

在第二组实施例的其它实施例中,语法可对应于下文在表8中所示的语法。

表8

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,以下两个条件中的任一者应为真。第一条件为max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]的值大于TemporalId。第二条件为max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]及TemporalId的值均等于0,且当前接入单元中具有等于RefPicLayerId[i]的nuh_layer_id的图像为IRAP图像。

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]或MotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]的值应等于1。

在第二组实施例的其它实施例中,语法可对应于下文在表9中所示的语法。

表9

一般片段区段标头语法及语义(第三组实施例)

在第三组实施例中,可针对在片段标头中发信参考层图像(RLP)索引而添加一条件以避免在参考层图像的作用中数目与参考层图像的总数目相同的状况下发送信息。举例来说,在一些实施例中,一种译码视频信息的方法可包含:接收视频信息的一或多个层,每一层包括至少一图像;确定与所述一或多个层中的一者相关联的直接参考层的数目;及当直接参考层的数目等于与视频信息相关联的作用中参考层图像的数目时,抑制发信层间参考图像信息。所述方法可进一步包含:至少部分地基于所述确定来译码所述视频信息。

在第三组实施例的一些中,语法可对应于下文在表10中所示的语法。

表10

在表10的实例中,inter_layer_pred_layer_idc[i]可指定或指示变量RefPicLayerId[i],所述变量表示可由当前图像使用以用于达成层间预测的第i图像的nuh_layer_id。语法元素inter_layer_pred_layer_idc[i]的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))位。inter_layer_pred_layer_idc[i]的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

当位流中不存在inter_layer_pred_layer_idc[i]时或当未在位流中发信inter_layer_pred_layer_idc[i]的值时,可由解码器如下推断inter_layer_pred_layer_idc[i]的值:

一般片段区段标头语法及语义(第四组实施例)

在第四组实施例的一些中,可发信语法highest_ref_layer_active_flag以指示来自参考层且具有nuh_layer_id的最高值的图像是否总是被包含于层间参考图像集中。举例来说,当highest_ref_layer_active_flag等于1且层间参考图像集为非空时,来自参考层且具有nuh_layer_id的最高值的图像可总是作为第一条目而存在于层间参考图像集中。

在这些实施例中,即使当具有nuh_layer_id的最高值的图像被包含于层间参考图像集中时(例如,如由highest_ref_layer_active_flag所指示),仍可将来自其它参考层的图像添加到层间参考图像集中。

在第四组实施例的一些中,语法可对应于下文在表11中所示的语法。

表11

在表11及表12的实例中,等于1的all_ref_layers_active_flag可指定或指示对于参考VPS的每一图像来说由VPS指定的所有直接参考层的图像是存在于同一接入单元中且被包含于层间参考图像集中。又,等于0的all_dep_layer_used_flag可指定或指示以上限制可适用或可不适用。

在表11及表12的实例中,等于1的highest_ref_layer_active_flag可指定或指示具有参考VPS的当前图像的nuh_layer_id的最高值的直接参考层图像被包含于层间参考图像集中。又,等于0的highest_ref_layer_active_flag可指定或指示以上限制可适用或可不适用。当位流中不存在highest_ref_layer_active_flag时或当未在位流中发信highest_ref_layer_active_flag的值时,可由解码器推断highest_ref_layer_active_flag的值为0。

在第四组实施例的一些中,语法可对应于下文在表12中所示的语法。

在表12的实例中,num_inter_layer_ref_pics_minus1+1可指定或指示可用于当前图像的解码中以用于达成层间预测的图像的数目。num_inter_layer_ref_pics_minus1语法元素的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]-1)位。num_inter_layer_ref_pics_minus1的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

表12

可如下导出变量NumActiveRefLayerPics:

经译码图像的所有片段可具有NumActiveRefLayerPics的相同值。

在表12的实例中,inter_layer_pred_layer_idc[i]可指定或指示变量RefPicLayerId[i],所述变量表示可由当前图像使用以用于达成层间预测的第i图像的nuh_layer_id。语法元素inter_layer_pred_layer_idc[i]的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))位。inter_layer_pred_layer_idc[i]的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

当NumActiveRefLayerPics大于0时,以下内容可适用以用于推断inter_layer_pred_layer_idc[i]的值:

当i大于0时,inter_layer_pred_layer_idc[i]可小于inter_layer_pred_layer_idc[i-1]。

可如下导出变量RefPicLayerId[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)及ActiveMotionPredRefLayerId[j](其中j的每一值是在0至NumActiveMotionPredRefLayers-1(包含0及NumActiveMotionPredRefLayers-1)的范围中):

图像的所有片段可具有inter_layer_pred_layer_idc[i](其中i的每一值是在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)的相同值。

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说以下两个条件中的任一者为真。第一条件为max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]的值大于TemporalId。第二条件为max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]及TemporalId的值均等于0,且当前接入单元中具有等于RefPicLayerId[i]的nuh_layer_id的图像为IRAP图像。

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]或MotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]的值等于1。

一般片段区段标头语法及语义(第五组实施例)

在第五组实施例中,VPS语法设计可与上文所论述的第四组实施例的VPS语法设计相同。然而,在第五组实施例中,inter_layer_pred_layer_idc[i]的值的次序可为不同。举例来说,在第五组实施例中,当highest_ref_layer_active_flag等于1时,此图像可总是作为最后条目而存在于层间参考图像集中。类似于第四组实施例,即使当具有nuh_layer_id的最高值的图像被包含于层间参考图像集中时(例如,如由highest_ref_layer_active_flag所指示),仍可将来自其它参考层的图像添加到层间参考图像集中。

在第五组实施例的一些中,语法可对应于下文在表13中所示的语法。

表13

在表13的实例中,num_inter_layer_ref_pics_minus1+1可指定或指示可用于当前图像的解码中以用于达成层间预测的图像的数目。num_inter_layer_ref_pics_minus1语法元素的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]-1)位。num_inter_layer_ref_pics_minus1的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

可如下导出变量NumActiveRefLayerPics:

经译码图像的所有片段可具有NumActiveRefLayerPics的相同值。

在表13的实例中,inter_layer_pred_layer_idc[i]可指定或指示变量RefPicLayerId[i],所述变量表示可由当前图像使用以用于达成层间预测的第i图像的nuh_layer_id。语法元素inter_layer_pred_layer_idc[i]的长度可为Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))位。inter_layer_pred_layer_idc[i]的值可在0至NumDirectRefLayers[nuh_layer_id]-1(包含0及NumDirectRefLayers[nuh_layer_id]-1)的范围中。

当NumActiveRefLayerPics大于0时,以下内容可适用以用于推断inter_layer_pred_layer_idc[i]的值:

当i大于0时,inter_layer_pred_layer_idc[i]可大于inter_layer_pred_layer_idc[i-1]。

可如下导出变量RefPicLayerId[i](其中i的每一值在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)、NumActiveMotionPredRefLayers及ActiveMotionPredRefLayerId[j](其中j的每一值在0至NumActiveMotionPredRefLayers-1(包含0及NumActiveMotionPredRefLayers-1)的范围中):

图像的所有片段可具有inter_layer_pred_layer_idc[i](其中i的每一值在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中)的相同值。

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,以下两个条件中的任一者可为真。第一条件为max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]的值大于TemporalId。第二条件为max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]及TemporalId的值均等于0,且当前接入单元中具有等于RefPicLayerId[i]的nuh_layer_id的图像为IRAP图像。

在一些实施例中,位流一致性的要求可为,对于在0至NumActiveRefLayerPics-1(包含0及NumActiveRefLayerPics-1)的范围中的i的每一值来说,SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]或MotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]的值等于1。

图7说明根据一实例实施例的用于编码视频数据的实例方法700。举例来说,可通过视频编码器20的一或多个组件来执行方法700。在一些实施例中,可使用其它组件来实施本文中所描述的步骤中的一或多者。

在块702处,可接收视频信息的一或多个层。每一层可包含至少一图像。

在块704处,可处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。举例来说,可将视频参数集(VPS)中的关于所有直接参考层图像是否被添加到层间参考图像集(RPS)的指示引入至VPS中使得参考具有此指示(其指定或指示添加了所有依赖层图像)的VPS的任何片段不含有用于在片段标头中进行层间发信的任何另外的语法元素。替代地,所述指示可存在于SPS及/或PPS中。因此,对于参考SPS或PPS(例如,与之相关联)的任何及所有片段来说所有直接参考层图像被添加到层间RPS的约束类似地适用。另外,可针对MV-HEVC而引入所有直接参考层图像被添加到层间RPS的约束,使得所述约束可总是适用。在一些实施例中,可处理例如all_dep_layer_used_flag的指示符以指定或指示对于参考VPS的每一图像来说当前图像的所有直接参考层图像(其可由VPS语法指定)是否被添加到层间参考图像集。

在块706处,可评估指示符的值。基于所述指示符(例如,如果所述指示符不指示所有关联的直接参考层图像被添加到层间参考图像集),方法700可结束。举例来说,如果例如all_dep_layer_used_flag的指示符等于0,则对于参考VPS的图像来说可将或可不将当前图像的所有直接参考层图像(其由VPS语法指定)添加到层间参考图像集。举例来说,在一些实施例中,基于所述指示符(例如,如果all_dep_layer_used_flag等于0),则所述方法可包含:不抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

在块708处,基于所述指示符(例如,如果所述指示符指示所有关联的直接参考层图像被添加到层间参考图像集),方法700可包含抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。举例来说,在一些实施例中,基于所述指示符(例如,如果all_dep_layer_used_flag等于1),方法700可包含抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

图8说明根据一实例实施例的用于解码视频数据的实例方法800。举例来说,可通过视频解码器30的一或多个组件来执行方法800。在一些实施例中,可使用其它组件来实施本文中所描述的步骤中的一或多者。

在块802处,可接收视频信息的一或多个层。每一层可包含至少一图像。

在块804处,可处理在视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者内的指示符,所述指示符指示与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的所有直接参考层图像是否被添加到层间参考图像集。举例来说,可在VPS内接收视频参数集(VPS)中的所有直接参考层图像是否被添加到层间参考图像集(RPS)的指示。在此指示的情况下,在不接收用于在任何视频片段的片段标头中进行层间发信的语法元素的情况下,与VPS相关联的所有片段被添加到层间参考图像集。替代地,可在SPS或PPS内接收所述指示。因此,对于参考SPS或PPS(例如,与之相关联)的任何及所有片段来说所有直接参考层图像被添加到层间RPS的约束类似地适用。另外,可针对MV-HEVC而引入所有直接参考层图像被添加到层间RPS的约束,使得所述约束可总是适用。在一些实施例中,可处理例如all_dep_layer_used_flag的指示符,其指定或指示对于参考VPS的每一图像来说当前图像的所有直接参考层图像(其可由VPS语法指定)是否被添加到层间参考图像集。

在块806处,可评估指示符的值。如果未由所述指示符加以指示,则方法800可结束。举例来说,如果例如all_dep_layer_used_flag的指示符等于0,则对于参考VPS的图像来说可将或可不将当前图像的所有直接参考层图像(其可由VPS语法指定)添加到层间参考图像集。举例来说,在一些实施例中,如果由所述指示符加以指示(例如,如果all_dep_layer_used_flag等于0),则所述方法可包含:不抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。

在块808处,如果由所述指示符加以指示,则方法800可包含:将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。举例来说,在一些实施例中,如果由所述指示符加以指示(例如,如果all_dep_layer_used_flag等于1),则方法800可包含:将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的所述至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。

图9说明根据另一实施例的用于编码视频数据的实例方法900。举例来说,可通过视频编码器20的一或多个组件来执行方法900。在一些实施例中,可使用其它组件来实施本文中所描述的步骤中的一或多者。

在块902处,可接收视频信息的一或多个层。每一层可包含至少一图像。

在块904处,可确定与所述一或多个层的至少一图像相关联的作用中参考层图像的一数目。举例来说,可产生在片段标头或图像参数集(PPS)中的至少一者内的指定作用中参考层图像的数目的第一指示符。在块906处,可确定与所述一或多个层中的所述至少一者相关联的直接参考层的一数目。举例来说,可产生在视频参数集(VPS)、序列参数集(SPS)或PPS中的至少一者内的指定直接参考层的数目的第二指示符。

在块908处,方法900可包含:确定直接参考层的所述数目是否等于作用中参考层图像的所述数目。基于直接参考层的数目等于作用中参考层图像的数目,在块910处,方法900可包含:抑制在与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段中进一步发信层间参考图像信息。举例来说,当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,方法900可包含抑制发信层间参考图像信息。详细来说,在一些实施例中,当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,不发信inter_layer_pred_layer_idc[i]。

图10说明根据一实施例的用于解码视频数据的实例方法1000。举例来说,可通过视频解码器30的一或多个组件来执行方法1000。在一些实施例中,可使用其它组件来实施本文中所描述的步骤中的一或多者。

在块1002处,可接收视频信息的一或多个层。每一层可包含至少一图像。

在块1004处,可确定与所述一或多个层的至少一图像相关联的作用中参考层图像的一数目。举例来说,可接收在片段标头或图像参数集(PPS)中的至少一者内的指定作用中参考层图像的数目的第一指示符。在块1006处,可确定与所述一或多个层中的所述至少一者相关联的直接参考层的一数目。举例来说,可接收在视频参数集(VPS)、序列参数集(SPS)或PPS中的至少一者内的指定直接参考层的数目的第二指示符。

在块1008处,方法1000可包含:确定直接参考层的所述数目是否等于作用中参考层图像的所述数目。基于直接参考层的数目等于作用中参考层图像的数目,在块1010处,方法1000可包含:将用于与视频参数集(VPS)、序列参数集(SPS)或图像参数集(PPS)中的至少一者相关联的任何视频片段的所有直接参考层图像添加到层间参考图像集。举例来说,当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,方法1000可确定层间参考图像信息。详细来说,在一些实施例中,当NumDirectRefLayers[nuh_layer_id]等于NumActiveRefLayerPics时,通过解码器来确定inter_layer_pred_layer_idc[i]。

应认识到,取决于实例,可以一不同序列来执行、可添加、合并或完全省去本文中所描述的技术中的任一者的某些动作或事件(例如,并非所有所描述的动作或事件对于实践所述技术来说皆为必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器来同时而非依序地执行动作或事件。

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

通过实例且非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、闪存或可用以以指令或数据结构的形式来存储所要程序代码且可由计算机接入的任何其它媒体。又,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,则同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是改为有关非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、雷射光盘、光盘、数字激光视盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过雷射以光学方式再生数据。以上各物的组合也应包含于计算机可读媒体的范围内。

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

本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。相反,如上文所描述,各种单元可经组合于编解码器硬件单元中或通过互操作的硬件单元的集合结合合适的软件及/或固件来提供,所述硬件单元包含如上文所描述的一或多个处理器。已描述各种实例。这些及其它实例是在以下权利要求书的范围内。

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