多层编解码器中的表示格式更新的制作方法

文档序号:11142985阅读:464来源:国知局
多层编解码器中的表示格式更新的制造方法与工艺

本发明涉及视频译码和压缩的领域,包含单层视频译码和多层视频译码两者。多层视频译码可包含可缩放视频译码、多视图视频译码、三维(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中,基础层可携载具有基础质量水平的视频数据。所述一或多个增强层可携载额外的视频数据以支持例如较高的空间、时间和/或信噪比(SNR)水平。可相对于先前编码的层来定义增强层。举例来说,底层可充当BL,而顶层可充当EL。中间层可充当EL或RL,或两者。举例来说,中间层(例如,既不是最低层也不是最高层的层)可为中间层下方的层的EL,例如基础层或任何介入的增强层,且同时充当中间层上方的一或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可存在多个视图,且可利用一个视图的信息对另一视图的信息(例如,运动估计、运动向量预测和/或其它冗余)进行译码(例如,编码或解码)。

根据某些方面的用于译码视频信息的设备包含存储器和处理器。所述存储器经配置以存储与多个层相关联的视频信息。处理器经配置以获得与待译码的当前存取单元(AU)相关联的信息,当前AU含有来自多个层的图片,多个层包含待译码的当前层,当前层包含待译码的当前图片。处理器进一步经配置以确定指示按解码次序在当前层中的当前图片之前的先前图片是否用于按解码次序在当前层中的当前图片之后的后续图片的时间运动向量预测(TMVP)的第一旗标的值,所述第一旗标与所述当前图片相关联。处理器另外经配置以响应于确定第一旗标的值指示当前层中的先前图片不应用于当前层中的后续图片的TMVP,避免将当前层中的先前图片用单独于当前图片的TMVP的参考图片。

根据某些方面的用于译码视频信息的设备包含存储器和处理器。在一个实施例中,设备用于编码视频信息。所述存储器经配置以存储与多个层相关联的视频信息。处理器经配置以接收包含一或多个表示格式语法结构的视频参数集(VPS),所述VPS指示与多个层中的第一层相关联的一或多个表示格式语法结构的第一表示格式语法结构。处理器进一步经配置以接收包含以下各者的序列参数集(SPS):(1)对VPS中的一或多个表示格式语法结构中的第二表示格式语法结构的参考或(2)不包含于VPS中的一或多个表示格式语法结构中的第三表示格式语法结构,每一表示格式语法结构包含指示是否对层的色度格式的色彩分量进行单独译码的第一旗标。处理器另外经配置以更新指示是否对层的色度格式的色彩分量进行单独译码的第一变量的值而不参考第一表示格式语法结构中的第一旗标的值,所述第一变量与第一层相关联。

附图说明

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

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

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

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

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

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

图4是说明不同层中的图片的实例配置的框图。

图5是说明在不同层中的图片的实例配置的框图。

图6是说明根据本发明的一或多个方面的译码视频信息的方法的流程图。

图7是说明根据本发明的一或多个方面的译码视频信息的方法的流程图。

具体实施方式

一般来说,本发明涉及在高级视频编解码器的上下文中的单层译码以及用于可缩放视频译码的层间预测,例如HEVC(高效率视频译码)。更具体地,本发明涉及用于多层编解码器中的时间运动向量预测(TMVP)指示和表示格式更新的系统和方法。

在以下描述中,描述与某些实施例有关的H.264/高级视频译码(AVC)技术;也论述了HEVC标准和相关技术。虽然本文中在HEVC和/或H.264标准的上下文中描述某些实施例,但所属领域的技术人员可了解,本文中揭示的系统和方法可适用于任何合适的视频译码标准。举例来说,本文所揭示的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准化部分(ITU-T)H.261、国际标准化组织(ISO)和国际电工委员会(IEC)(ISO/IEC)移动图片专家组(MPEG)1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(亦称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。在许多方面,HEVC通常遵循先前视频译码标准的框架。

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

仅出于说明的目的,用仅包含视频数据的两个层(例如,比如基础层之类的较低层,和比如增强层之类的较高层)的实例来描述本文中揭示的某些实施例。视频数据的“层”可通常指代具有至少一个共同特性(例如,视图、帧率、分辨率或类似者)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地参考视频数据的层和视图。也就是说,视频数据的视图可被称作视频数据层,且视频数据层可被称作视频数据视图。另外,多层编解码器(还被称作多层视频译码器或多层编码器-解码器)可共同指代多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术编码和/或解码视频数据的编解码器)。视频编码和视频解码可通常均被称作视频译码。应理解,这些实例可适用于包含多个基础层和/或增强层的配置。另外,为了易于解释,参照某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语不意味是限制性的。举例来说,下文描述的技术可供任何合适的视频单元(例如,块(例如,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(又称为ISO/IEC MPEG-4AVC),包含其SVC和MVC扩展。

另外,新的视频译码标准,即高效率视频译码(HEVC),正由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的关于视频译码的联合合作小组(JCT-VC)进行开发。对HEVC草案10的完全引用为Bross等人的文件JCTVC-L1003,“高效率视频译码(HEVC)文字说明书草案10(High Efficiency Video Coding(HEVC)Text Specification Draft 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开发。

概述

SHVC和MV-HEVC的更早版本(例如,SHVC工作草案6、MV-HEVC工作草案8等)实施在当前图片的slice_temporal_mvp_enabled_flag和时间ID两者的值等于0时且在所述图片属于基础层(例如,具有层ID=0的层)时,来自按解码次序在当前图片之前的图片的时间运动向量不应用于按解码次序在当前图片之后的任何图片的TMVP中的限制。Slice_temporal_mvp_enabled_flag可指示切片中的当前图片是否可使用TMVP,例如,基于作为参考图片(例如,共置图片)的当前图片的先前图片。引入图片属于基础层的限制和条件以(例如)允许增强层使用TMVP。但是,增强层可使用TMVP而不限制对基础层的约束。

SHVC和MV-HEVC的早期版本还添加被称作TMVP约束SEI消息的新的SEI消息,所述消息提供当前层中在当前图片之前的图片是否不应用作同一层的任何后续图片的TMVP中的共置图片的指示。举例来说,TMVP约束SEI消息可包含被称作指示按解码次序在当前层中的当前图片的先前图片是否可用于按解码次序在当前层中的当前图片的后续图片的TMVP的prev_pics_not_used_flag的旗标。但是,SHVC和MV-HEVC的早期版本中的prev_pics_not_used_flag的语义可引起与slice_temporal_mvp_enabled_flag的冲突。举例来说,参考作为共置图片的当前图片的先前图片,含有当前图片的切片的切片标头中的slice_temporal_mvp_enabled_flag等于1且指示当前图片可使用TMVP,但当前图片的TMVP约束SEI消息中的prev_pics_not_used_flag等于1且指示正在解码的当前图片的后续图片不应使用用于TMVP的按解码次序的当前图片的先前图片。在此情况下,使用先前图片引入当前图片的TMVP中的任何错误可传播到后续图片,因为后续图片可使用当前图片作为TMVP的共置图片。虽然后续图片不将当前图片的任何先前图片用于TMVP,但是后续图片可将当前图片自身用于TMVP。

为了解决这些及其它挑战,根据某些方面的技术可将来自当前图片的任何先前图片的时间运动向量不应用于按解码次序的当前图片的任何后续图片的TMVP的约束应用到全部层。举例来说,当slice_temporal_mvp_enabled_flag=0及时间ID=0时,无论图片是属于基础层还是其它层,约束可应用于图片。在一个实例中,TMVP约束SEI消息可与slice_temporal_mvp_enabled_flag使用以允许增强层使用TMVP而不限制对基础层的约束。

此外,技术可修改prev_pics_not_used_flag的语义以(例如)解决当前图片的slice_temporal_mvp_enabled_flag与当前图片的prev_pics_not_used_flag之间的冲突。举例来说,prev_pics_not_used_flag可取得比slice_temporal_mvp_enabled_flag更高的优先级。在一个实例中,修改prev_pics_not_used_flag以指示当前图片的先前图片不应用于当前图片以及按解码次序为当前图片的后续图片的TMVP。

出于抗误码目的可实施由slice_temporal_mvp_enabled_flag施加的约束和由prev_pics_not_used_flag施加的约束。但是,当slice_temporal_mvp_enabled_flag和prev_pics_not_used_flag两者等于1时,当前图片的TMVP中的任何错误可仍被引入按解码次序的当前图片的后续图片的TMVP中。通过不允许当前图片及后续图片两者在TMVP中使用当前图片的先前图片,抗误码性可明显改善及提高。

此外,在SHVC和MV-HEVC的早期版本中,VPS中的语法元素或旗标的值用于约束SPS中的对应语法元素或旗标的值。VPS及SPS两者可包含表示格式信息。表示格式信息可包含图片宽度和高度(例如,图片大小)、色度分量的位深度、明度分量的位深度、色彩平面信息、一致性窗口大小。VPS可适用于全部层,且一般来说,可针对位流定义一个VPS。SPS可特定于特定层,且在位流包含多个序列的情况下可存在多个SPS。一般来说,VPS中的值表示最差情况情境值或最大值,且SPS可按需要指定小于或等于VPS中的值的不同值。因此,当针对SPS更新表示格式信息时,VPS中的语法元素或旗标的值可约束SPS中的对应语法元素或旗标的值。但是,对于某些语法元素或旗标,不确定最差情况情境值或最大值是否为可适用的。一个实例可为具有0或1值的旗标。

为了解决这些和其它挑战,根据某些方面的技术可移除对表示格式中的separate_colour_plane_flag的约束。Separate_colour_plane_flag可指示色度格式的三个色彩分量(例如,Y、Cb或Cr)是否经单独译码。当待在SPS中更新separate_colour_plane_flag的值时,所述技术不必检查所要separate_colour_plane_flag值是小于VPS中的separate_colour_plane_flag值还是等于VPS中的separate_colour_plane_flag值。以此方式,可以更灵活的方式更新SPS中的separate_colour_plane_flag值,且表示格式中的separate_colour_plane_flag的更新可为更高效的。

视频译码系统

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

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

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

图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可包括图2A中说明的视频编码器20、图2B中说明的视频编码器23或本文中描述的任何其它视频编码器。

在图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可包含集成显示装置,并且还经配置以与外部显示装置接口连接。在其它实例中,目的地装置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可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块,以此类推。经分割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可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,预测处理单元100可经配置以执行本发明中描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含任选层间预测单元128,所述层间预测单元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的运动信息。

如下文参考图6至7进一步论述,预测处理单元100可经配置以通过执行图6至7中说明的方法来译码(例如,编码或解码)PU(或任何其它参考层和/或增强层块或视频单元)。举例来说,帧间预测单元121(例如,经由运动估计单元122和/或运动补偿单元124)、帧内预测单元126或层间预测单元128可经配置以一起或单独地执行图6至7中说明的方法。

作为对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可通过将一或多个变换应用到与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可对所接收的视频帧的基础层进行上取样以(例如)创建增强层。重取样单元90可对与帧的所接收的基础层相关联的特定信息进行上取样,但不对其它信息进行上取样。例如,重取样单元90可对基础层的空间大小或像素数目进行上取样,但切片的数目或POC可保持恒定。在一些情况下,重取样单元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)。多路复用器98可输出来自视频编码器23的组合位流。通过从视频编码器20A和20B中的每一者取得位流且使在给定时间输出哪一位流进行交替可产生组合的位流。虽然在一些情况下,可一次一个位地交替来自两个(或在两个以上视频编码器层的情况下,两个以上)位流的位,但在许多情况下,以不同方式组合所述位流。举例来说,可通过一次一个块地交替所选位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,可从视频编码器20B输出用于从视频编码器20A输出的每一块的两个块。在一些实施例中,可预编程来自多路复用器98的输出流。在其它实施例中,多路复用器98可基于从视频编码器23外部的系统(例如从包含源装置12的源装置上的处理器)接收的控制信号而组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订)或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素而产生控制信号。

视频解码器

图3A是说明可实施本发明中描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,运动补偿单元162和/或帧内预测单元164可经配置以执行本发明中描述的技术中的任一者或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元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使用的内插滤波器且使用所述内插滤波器来产生经预测视频块。

如下文参考图6至7进一步论述,预测处理单元152可通过执行图6至7中说明的方法来译码(例如,编码或解码)PU(或任何其它参考层和/或增强层块或视频单元)。举例来说,运动补偿单元162、帧内预测单元164或层间预测单元166可经配置以一起或单独地执行图6至7中说明的方法。

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

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

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

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

IRAP图片可使用帧内预测译码(例如,无需参考同一层中的其它图片而译码),且可包含(例如)瞬时解码器刷新(IDR)图片、清洁随机存取(CRA)图片和断链存取(BLA)图片。当位流中存在IDR图片时,按解码次序在IDR图片之前的图片不由按解码次序在IDR图片之后的图片用于预测。当在位流中存在CRA图片时,在CRA图片之后的图片可或可不将按解码次序在CRA图片之前的图片用于预测。按解码次序在CRA图片之后但使用按解码次序在CRA图片之前的图片的那些图片可被称作随机存取跳过前置(RASL)图片。按解码次序在IRAP图片之后且按输出次序在IRAP图片之前的另一类型的图片为随机存取可解码前置(RADL)图片,其可不含有对按解码次序在IRAP图片之前的任何图片的参考。如果在CRA图片之前的图片不可用,那么RASL图片可被解码器丢弃。RASL图片可或可不存在于BLA图片之后。当RASL图片存在于BLA图片之后时,应忽略和/或不解码所述图片,因为其它参考图片可为不可用的。含有作为IRAP图片的基础层图片(例如,层ID值为0的图片)的存取单元(例如,包含跨越多个层的与相同输出时间相关联的经译码图片的图片群组)可被称为IRAP存取单元。

IRAP图片的跨层对准

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

在一些视频译码方案中,POC可用以跟踪显示经解码图片的相对次序。每当在位流中出现某些类型的图片时,这些译码方案中的一些可使POC值被重设(例如,设定为零或设定为在位流中用信号通知的某一值)。举例来说,可重设某些IRAP图片的POC值,从而按解码次序在那些IRAP图片之前的其它图片的POC值也被重设。当不需要跨不同层对准IRAP图片时,此可成问题。举例来说,当一个图片(“picA”)是IRAP图片且同一存取单元中的另一图片(“picB”)不是IRAP图片时,含有picA的层中的图片(“picC”)的POC值(其由于picA为IRAP图片而重设)可不同于含有picB的层中的图片(“picD”)的未经重设的POC值,其中picC和picD在同一存取单元中。这使picC及picD具有不同POC值,即使其属于同一存取单元(例如,同一输出时间)。因此,在此实例中,用于导出picC及picD的POC值的导出过程可经修改以产生与POC值及存取单元的定义一致的POC值。

多层编解码器的时间运动向量预测指示和表示格式更新

SHVC和MV-HEVC的更早版本(例如,SHVC工作草案6、MV-HEVC工作草案8等)实施在当前图片的slice_temporal_mvp_enabled_flag和时间ID两者的值等于0时且在所述图片属于基础层(例如,具有层ID=0的层)时,来自按解码次序在当前图片之前的图片的时间运动向量不应用于按解码次序在当前图片之后的任何图片的TMVP中的限制。根据某些方面,在本发明中,当前图片的先前图片可指代按解码次序的先前图片,且当前图片的后续图片可指代按解码次序的后续图片。Slice_temporal_mvp_enabled_flag可指示切片中的当前图片是否可使用TMVP,例如,基于作为参考图片(例如,共置图片)的当前图片的先前图片。位流可支持时间可扩展性并取决于实施例提供不同帧率。在一个实施例中,具有时间ID=0的时间层可提供默认帧率。具有时间ID=0的时间层可被称作基础时间子层。可存在一或多个时间子层,且可针对帧间预测应用更低时间子层中的图片不应将更高时间子层中的图片用作单独参考的约束。引入图片属于基础层的限制和条件以(例如)允许增强层使用TMVP。但是,增强层可使用TMVP而不限制对基础层的约束。与限制相关的某些细节和与约束相关联的问题在下文进一步详细地论述,例如,在描述slice_temporal_mvp_enabled_flag的语义和prev_pics_not_used_flag的语义的部分中。

SHVC和MV-HEVC的早期版本还添加被称作TMVP约束SEI消息的新的SEI消息,所述消息提供当前层中在当前图片之前的图片是否不应用作同一层的任何后续图片的TMVP中的共置图片的指示。举例来说,TMVP约束SEI消息可包含被称作指示按解码次序在当前层中的当前图片的先前图片是否可用于按解码次序在当前层中的当前图片的后续图片的TMVP的prev_pics_not_used_flag的旗标。但是,SHVC和MV-HEVC的早期版本中的prev_pics_not_used_flag的语义可引起与slice_temporal_mvp_enabled_flag的冲突。举例来说,参考作为共置图片的当前图片的先前图片,含有当前图片的切片的切片标头中的slice_temporal_mvp_enabled_flag等于1且指示当前图片可使用TMVP,但当前图片的TMVP约束SEI消息中的prev_pics_not_used_flag等于1且指示正在解码的当前图片的后续图片不应使用用于TMVP的按解码次序的当前图片的先前图片。在此情况下,使用先前图片引入当前图片的TMVP中的任何错误可传播到后续图片,因为后续图片可使用当前图片作为TMVP的共置图片。虽然后续图片不将当前图片的任何先前图片用于TMVP,但是后续图片可将当前图片自身用于TMVP。与旗标和TMVP约束SEI消息相关的某些细节及相关问题在下文进一步详细地论述,例如,在描述slice_temporal_mvp_enabled_flag的语义和prev_pics_not_used_flag的语义的部分中。

为了解决这些及其它挑战,根据某些方面的技术可将来自当前图片的任何先前图片的时间运动向量不应用于按解码次序的当前图片的任何后续图片的TMVP的约束应用到全部层。举例来说,当slice_temporal_mvp_enabled_flag=0及时间ID=0时,无论图片是属于基础层还是其它层,约束可应用于图片。在一个实例中,TMVP约束SEI消息可与slice_temporal_mvp_enabled_flag使用以允许增强层使用TMVP而不限制对基础层的约束。

此外,技术可修改prev_pics_not_used_flag的语义以(例如)解决当前图片的slice_temporal_mvp_enabled_flag与当前图片的prev_pics_not_used_flag之间的冲突。举例来说,prev_pics_not_used_flag可取得比slice_temporal_mvp_enabled_flag更高的优先级。在一个实例中,修改prev_pics_not_used_flag以指示当前图片的先前图片不应用于当前图片以及按解码次序的当前图片的后续图片的TMVP。如果prev_pics_not_used_flag的值等于1,那么先前图片不用于当前图片或其后续图片的TMVP。当先前图片不用于TMVP时,可将先前图片的运动向量从(例如)运动向量存储器移除。

由slice_temporal_mvp_enabled_flag施加的约束和由prev_pics_not_used_flag施加的约束可针对抗误码目的实施。抗误码性可指代当(例如)在解码过程中检测到已产生错误时防止或减小错误传播到其它图片。不参考具有错误的图片用于预测可阻止错误对其它图片的质量的影响。但是,当slice_temporal_mvp_enabled_flag和prev_pics_not_used_flag两者等于1时,当前图片的TMVP中的任何错误可仍被引入按解码次序的当前图片的后续图片的TMVP中。通过不允许当前图片及后续图片两者在TMVP中使用当前图片的先前图片,抗误码性可明显改善及提高。

根据某些方面,由slice_temporal_mvp_enabled_flag施加的约束应限于基础层的条件经实施以允许使用抗误码特征,同时又允许增强层使用TMVP。但是,在没有局限于基础层的条件下,增强层可又使用TMVP连同抗误码特征。举例来说,slice_temporal_mvp_enabled_flag和prev_pics_not_used_flag两者可等于1。如上文所解释,经修改的prev_pics_not_used_flag的语义进一步增强抗误码方面,因为可防止当前图片的预测中的任何错误影响按解码次序为当前图片的后续图片的预测。

此外,在SHVC和MV-HEVC的早期版本中,VPS中的语法元素或旗标的值用于约束SPS中的对应语法元素或旗标的值。VPS及SPS两者可包含表示格式信息。表示格式信息可包含图片宽度和高度(例如,图片大小)、色度分量的位深度、明度分量的位深度、色彩平面信息、一致性窗口大小。VPS可适用于全部层,且一般来说,可针对位流定义一个VPS。SPS可为特定层所特有的,且在位流包含多个序列的情况下可存在多个SPS。一般来说,VPS中的值表示最差情况情境值或最大值,且SPS可按需要指定小于或等于VPS中的值的不同值。因此,当针对SPS更新表示格式信息时,VPS中的语法元素或旗标的值可约束SPS中的对应语法元素或旗标的值。VPS中具有最差情况情境值或最大值可为重要的,因为这些值可由解码器用于准备解码位流的资源(例如,存储器);因此,SPS中所做出的表示格式的任何变化不应导致所需要的资源超出已经准备的资源可为重要的。但是,对于某些语法元素或旗标,并不清楚最差情况情境值或最大值是否为可适用的。一个实例可为具有0或1值的旗标。

为了解决这些和其它挑战,根据某些方面的技术可移除对表示格式中的separate_colour_plane_flag的约束。Separate_colour_plane_flag可指示色度格式的三个色彩分量(例如,Y、Cb或Cr)是否经单独译码。当待在SPS中更新separate_colour_plane_flag的值时,所述技术不必检查所要separate_colour_plane_flag值是小于VPS中的separate_colour_plane_flag值还是等于VPS中的separate_colour_plane_flag值。举例来说,无论separate_color_plan_flag的值是等于0还是1,用于解码位流所需要的资源是相同的。

以此方式,可以更灵活的方式更新SPS中的separate_colour_plane_flag值,且表示格式中的separate_colour_plane_flag的更新可为更高效。

slice_temporal_mvp_enabled_flag的语义

在SHVC和MV-HEVC的早期版本中,slice_temporal_mvp_enabled_flag的语义经定义如下。变化是相对于早期版本的早先版本(例如,基于JCTVC-0189)。SHVC和MV-HEVC的早先版本的添加以斜体字指示。

表1-SHVC和MV-HEVC的早期版本中的slice_temporal_mvp_enabled_flag的语义

被称作TMVP约束SEI消息的辅助增强信息(SEI)消息的添加提供按解码次序在当前图片之前的当前层的图片是否不应用作同一层的按解码次序的任何后续图片的TMVP中的共置图片的指示。

由于以上两个所采用变化,问题与用于指示TMVP的使用的现有技术共存。在下文中解释此类问题。

在HEVC中,由于具有TemporalId等于0的图片是用于抗误码目的,由slice_temporal_mvp_enabled_flag施加的约束等于0。当应用约束时,解码器可在当前图片具有等于0的slice_temporal_mvp_enabled_flag及TemporalId两者时排空更早图片的运动向量。

来自第一变化的条件“NumDirectRefLayers[currLayerId]等于0”的添加导致约束仅适用于独立层。此变化的动机是允许TMVP用于解码增强层图片(使用来自同一存取单元中的参考层的图片的运动向量),而同时使得有可能指示应用抗误码约束。但是,可在不添加条件的情况下满足动机,因为增强层图片可具有等于1的slice_temporal_mvp_enabled_flag,而同时具有prev_pics_not_used_flag等于1的TMVP约束SEI消息。当条件经移除时,slice_temporal_mvp_enabled_flag的语义将以与HEVC版本1(即,如上所述的HEVC WD)对准的方式而对于全部层为一致的。

prev_pics_not_used_flag的语义

在SHVC和MV-HEVC的早期版本中,TMVP约束SEI消息中的prev_pics_not_used_flag的语义定义如下:

表2-SHVC和MV-HEVC的早期版本中的prev_pics_not_used_flag的语义

图4说明现有prev_pics_not_used_flag语义的问题。在此实例中,阴影的层1图片与具有prev_pics_not_used_flag等于1的TMVP约束SEI消息相关联。当与当前图片相关联的TMVP约束SEI消息中的语法元素的值等于1时,当前图片将按解码次序的来自同一层的更早图片用作TMVP的共置图片是可能的。并且,解码次序中的来自同一层的当前图片之前的图片将当前图片用作TMVP的共置图片是可能的。因此,由于间接共置参考为可能的,不可实现认为将通过设定prev_pics_not_used_flag等于1而实现的抗误码特征,使得在错误发生于同一层中按解码次序比当前图片更早的图片的情况下,错误传播到同一层中按解码次序的随后图片是有可能的。

多层上下文中的运动向量预测抗误码

TMVP约束SEI消息提供抗误码(ER)特征,所述特征可在存在错误(例如,图片损耗)的情况下停止传播不正确的运动向量预测。但是,由SEI消息提供的ER特征仅用于含有SEI消息的层,不用于全部层。举例来说,如果位流具有3个层且TMVP约束SEI消息存在仅用于层0及仅用于层1,那么正确运动向量预测可经保证仅针对具有层0或层1的按解码次序在含有SEI消息的存取单元之前的图片,而不针对层2中的含有SEI消息的存取单元之前的图片。图5说明此实例。仅包含于存取单元(AU)E内的层0和层1的TMPV约束SEI消息意味着当SEI消息的prev_pics_not_used_flag的值等于1时,AU F、AU G和AU H等中的全部图片无法使用来自AU D、AU C、AU B和任何更早AU的层0和层1的图片。如果AU E之前的AU的层0或层1中的图片中的一者中存在错误,那么此将仅保证AU F、AU G、AU H等的层0和层1中的图片的运动向量预测将为正确的。AU F的层2图片可(例如)使用TMVP参考的AU D的层2图片及AU D的层2图片可使用TMVP参考的AU D的层1图片。此导致对TMVP的间接参考使得在此实例中ER并不保证用于层2。

separate_color_plane_flag的更新

在SHVC和MV-HEVC的早期版本中,VPS中的表示格式语法结构针对每一层指定描述经译码图片的一些基本特性所需的参数,包含图片宽度、图片高度、明度和色度分量的位深度,以及色度格式和译码色彩平面的方式。在具有nuh_layer_id大于0的SPS中,允许使用update_rep_format_flag指示来更新表示格式参数。对于具有大于0的nuh_layer_id且指代大于0的nuh_layer_id的SPS的层,当SPS具有等于1的update_rep_format_flag时,经更新的表示格式参数被限制小于对应于所述层的VPS中的表示格式参数中所用信号传递的参数。对这些参数的推断规则及约束在下文中给定,其中斜体段与论述的主题相关:

表3-SHVC和MV-HEVC的早期版本中的更新表示格式

包含于上文斜体约束中的语法元素(chroma_format_idc、separate_colour_plane_flag、pic_width_in_luma_samples、pic_height_in_luma_samples、bit_depth_luma_minus8和bit_depth_chroma_minus8)中,除separate_colour_plane_flag外的全部语法元素指定与语法元素的值具有线性关系的参数/变量。但是,separate_colour_plane_flag不具有此关系;其描述指代SPS的图片的不同色彩平面是一起译码还是单独译码的。下文给定separate_colour_plane_flag的语义:

表4-SHVC和MV-HEVC的早期版本中的separate_colour_plane_flag的语义

当SPS的表示格式参数经更新,且经更新的表示格式参数的separate_colour_plane_flag值经限制小于或等于VPS中的对应值(按照上文的约束)时,允许以下使用情况:在VPS中指定特定层的图片的色彩平面待单独译码,但指定指代更新表示格式参数的特定SPS的同一层的图片将具有一起译码的色彩平面。在同一位流内针对层以不同方式(一起和/或独立)译码色彩平面的使用情况可不常见。如果在同一位流内针对层以不同方式(一起和/或独立)译码色彩平面的此类使用情况确实存在,那么不确定为什么以下情况为不允许的:层的图片的色彩平面经指定待在VPS中一起译码,但经更新SPS指定参考经更新SPS的图片将具有单独译码的色彩平面。

将斜体的约束应用于更新表示格式参数上的动机是为了确保由VPS根据需要指示的资源/性能不被经更新SPS超过。但是,separate_colour_plane_flag的值(0或1)都不指示待用信号发送或处理的任何额外数据,且因此separate_colour_plane_flag不需要考虑此约束。

多层编解码器中的TMVP指示和表示格式更新

为了使用用于指示多层编解码器中的TMVP的使用的现有方法克服上文所描述的问题,本发明在下文描述改善。在本发明中,下文描述的技术及方法可单独或以任何组合方式使用:

●扩展slice_temporal_mvp_enabled_flag的语义的约束使得在当前图片的slice_temporal_mvp_enabled_flag和TemporalId两者的值等于0时,按解码次序在当前图片之后且和当前图片在同一层中的全部经译码图片的语法元素可受到约束,使得没有来自按解码次序在当前图片之前的任何图片的时间运动向量用于解码按解码次序在当前图片之后的任何经译码图片。

-此约束可适用于属于任何层的图片。

-当其接收slice_temporal_mvp_enabled_flag和TemporalId的两个值等于0的图片时,此约束可允许解码器清空运动向量存储。

●修改TMVP约束SEI消息中的prev_pics_not_used_flag的语义使得当TMVP约束SEI消息存在且与当前图片相关联且prev_pics_not_used_flag的值等于1时,也不允许当前图片使用按解码次序在当前图片之前的同一层中的图片作为TMVP的共置图片。

-在一个实例方法中,当TMVP约束SEI消息存在且与当前图片相关联且prev_pics_not_used_flag的值等于1且当前图片的slice_temporal_mvp_enabled_flag的值等于1时,仅来自slice_temporal_mvp_enabled_flag等于0的当前层的参考层的图片可被用作TMVP的共置图片。

-在另一实例方法中,当TMVP约束SEI消息存在且与当前图片相关联且prev_pics_not_used_flag的值等于1且当前图片的slice_temporal_mvp_enabled_flag的值等于1时,来自当前层的参考层的所有图片可将slice_temporal_mvp_enabled_flag设定成等于0。

●将约束添加到TMVP约束SEI消息使得当prev_pics_not_used_flag的值等于1的TMVP约束SEI消息针对特定层A存在时,直接或间接指代层A的全部层还可含有prev_pics_not_used_flag的值等于1的TMVP约束SEI消息。

-在一个实例方法中,定义TMVP约束SEI消息以应用到全部层。

-在另一实例方法中,当prev_pics_not_used_flag等于1时,prev_pics_not_used_flag可指示在含有当前图片的存取单元内或按解码次序在含有当前图片的存取单元之后的全部经译码图片的语法元素受到约束,使得没有来自具有nuh_layer_id等于associatedLayerIdList中的任何值且按解码次序在含有当前图片的存取单元之前的任何图片的时间运动向量直接或间接地用于解码在含有当前图片的存取单元内或按解码次序在含有当前图片的存取单元之后的任何经译码图片。prev_pics_not_used_flag等于0指示位流可或可不满足由prev_pics_not_used_flag等于1所指示的约束。

●将separate_colour_plane_flag从对表示格式参数的更新上的约束移除,使得当更新表示格式时,不存在检查所需要的separate_colour_plane_flag的值。这允许位流具有从0到1的separate_colour_plane_flag变化值,且灵活地反之亦然。

-在一个实例方法中,添加约束使得separate_colour_plane_flag的值在VPS中的全部rep_format()语法结构中应相同。

-在另一实例方法中,语法元素separate_colour_plane_flag最多在VPS中用信号发送一次,例如,仅在第一rep_format()结构,且VPS中的剩余用信号发送的rep_format()不应具有语法元素但确实从第一结构推断所述值。

示范性实施例

可如以下实例中所展示而实施上述技术。在SHVC和MV-HEVC(例如,SHVC WD6和MV-HEVC WD 8)的早先版本的上下文中提供实例。用斜体字来指示对SHVC和MV-HEVC的较早版本的补充,且用删除线来指示从SHVC和MV-HEVC的较早版本的删除。

示范性实施例1

此实施例修改对slice_temporal_mvp_enabled_flag的约束。举例来说,约束适用于slice_temporal_mvp_enabled_flag=0及时间ID等于0的图片的条件适用于全部层,而不是仅适用于基础层。

表5-示范性实施例1

示范性实施例2

此实施例改变prev_pics_not_used_flag的语义。举例来说,所述改变添加约束使得当旗标的值设定成等于1时prev_pics_not_used_flag不允许针对当前图片的TMVP使用按解码次序中在当前图片之前的图片。

表6-示范性实施例2

示范性实施例3

此实施例修改用于更新表示格式的约束。举例来说,SPS中的旗标或语法元素的值应小于或等于VPS中的对应旗标或语法元素的值的约束不如下应用于separate_colour_plane_flag:

表7-示范性实施例3

限定用于时间运动向量预测的先前图片的方法

图6是说明根据本发明的一或多个方面的译码视频信息的方法的流程图。方法涉及限定TMVP的先前图片的使用。过程600可根据实施例由编码器(例如如图2A、2B等中示出的编码器)、解码器(例如如图3A、3B等中示出的解码器)或任何其它组件来执行。关于图3B中的解码器33描述过程600的框,但可通过如上文所提到的其它组件(例如,编码器)来执行过程600。取决于实施例,解码器33的层1视频解码器30B和/或解码器33的层0解码器30A可执行过程600。相对于图6所描述的所有实施例可单独或彼此组合地实施。上文例如相对于图4至5阐释与过程600相关的某些细节。

过程600在框601处开始。解码器33可包含用于存储与多个层相关联的视频信息的存储器(例如,经解码图片缓冲器160)。解码器33可获得与待译码的当前AU相关联的信息。当前AU可含有来自多个层的图片。多个层可包含待译码的当前层,且当前层可包含待译码的当前图片。

在框602处,解码器33确定指示按解码次序在当前层中的当前图片之前的先前图片是否用于按解码次序在当前层中的当前图片之后的后续图片的TMVP的第一旗标的值。第一旗标可与当前图片相关联。在一个实施例中,第一旗标包含于SEI消息中。当第一旗标的值等于1时,第一旗标可指示当前层中的先前图片不应用于当前层中的后续图片的TMVP。当第一旗标的值等于0时,第一旗标可指示当前层中的先前图片可用于当前层中的当前图片和/或后续图片的TMVP。在一个实施例中,第一旗标包括prev_pics_not_used_flag。先前图片可按解码次序在当前图片之前,且后续图片可按解码次序在当前图片之后。在一些实施例中,当前图片包括IDR图片。

在框603处,响应于确定第一旗标的值指示当前层中的先前图片不应用于当前层中的后续图片的TMVP,解码器33避免将当前层中的先前图片用单独于当前图片的TMVP的参考图片。

在一些实施例中,解码器33避免存取指示是否启用TVMP的第二旗标。第二旗标可包含于包含当前图片的切片的切片标头中,且第二旗标可与当前图片相关联。举例来说,当第一旗标的值等于1时,解码器33避免存取指示是否启用TVMP的第二旗标。在一个实施例中,响应于确定第一旗标的值指示当前层中的先前图片不应用于当前层中的后续图片的TMVP,解码器33避免存取第二旗标。在另一实施例中,第二旗标包括slice_temporal_mvp_enabled_flag。在某些实施例中,对于当前AU中的多个层的全部,当第二旗标指示TMVP未启用时且在当前图片位于基础时间子层中(例如,当前图片具有等于0的时间ID)时,先前图片不应用于当前图片的TMVP。在其它实施例中,对于当前AU中的多个层的全部,当第二旗标指示未针对当前图片启用TMVP时且在当前图片位于基础时间子层中时,先前图片不应用于当前图片和后续图片的TMVP。第一旗标可具有比第二旗标更高的优先级。在一个实施例中,解码器33编码视频信息。在另一实施例中,解码器33解码视频信息。

在某些实施例中,解码器33为无线通信装置,其进一步包括接收器,其经配置以根据至少一个无线电存取技术(RAT)接收视频数据,所述视频数据包括与多个层相关联的视频信息;以及发射器,其经配置以根据至少一个RAT来操作。无线通信装置可为蜂窝式电话,且所接收视频数据可由接收器接收且可根据蜂窝通信标准来调制。

在一些实施例中,过程600可在包括以下各者的无线通信装置上执行:接收器,其经配置以根据至少一个无线电存取技术(RAT)接收视频数据,所述视频数据包括与多个层相关联的视频信息;发射器,其经配置以根据至少一个RAT来操作;存储器,其经配置以存储视频数据;以及处理器,其经配置以执行处理存储于存储器中的视频数据的指令。无线通信装置可为蜂窝式电话,且所接收视频数据可由接收器接收且可根据蜂窝通信标准来调制。

过程600在框604处结束。在过程600中可根据实施例添加和/或省略框,且可根据实施例以不同次序执行过程600的框。

本发明中关于限定用于TMVP的先前图片的使用而描述的任何特征和/或实施例可单独或以其任何组合来实施。举例来说,结合图1到6描述的任何特征和/或实施例和本发明的其它部分可以与结合图6描述的任何特征和/或实施例的任何组合来实施,且反之亦然。

更新表示格式的方法

图7是说明根据本发明的一或多个方面的译码视频信息的方法的流程图。方法涉及更新表示格式。过程700可根据实施例由编码器(例如,如图2A、2B等中所展示的编码器)、解码器(例如,如图3A、3B等中所展示的解码器)或任何其它组件来执行。相对于图2B中的编码器23描述过程700的框,但可通过如上文所提及的其它组件(例如解码器)执行过程700。取决于实施例,编码器23的层1视频编码器20B和/或编码器23的层0编码器20A可执行过程700。另外,相对于图7所描述的所有实施例可单独地或彼此组合地实施。上文例如相对于图4至6阐释与过程700相关的某些细节。

过程700开始于框701处。编码器23可包含用于存储与多个层相关联的视频信息的存储器(例如,经解码的图片缓冲器160)。

在框702处,编码器23接收包含一或多个表示格式语法结构的VPS。VPS可指示一或多个表示格式语法结构中与多个层中的第一层相关联的第一表示格式语法结构。

在框703处,编码器23接收SPS,其包含(1)对VPS中的一或多个表示格式语法结构的第二表示格式语法结构的参考或(2)第三表示格式语法结构。第三表示格式语法结构可不包含于VPS中的一或多个表示格式语法结构中。每一表示格式语法结构可包含指示是否单独译码层的色度格式的色彩分量的第一旗标。

在框704处,编码器23更新指示是否对层的色度格式的色彩分量进行单独译码的第一变量的值而不参考第一表示格式语法结构中的第一旗标的值,所述第一变量与第一层相关联。编码器23可基于第一变量的值译码与VPS相关联的视频数据。

在一些实施例中,SPS包含对第二表示格式语法结构的参考,且编码器23将第一变量的值更新为等于第二表示格式语法结构中的第一旗标的值。每一表示格式语法结构可包含除第一旗标外的一或多个第二旗标,且当第二表示格式语法结构中的一或多个第二旗标的值小于或等于第一表示格式语法结构中的一或多个第二旗标的值时,编码器23可将对应于一或多个第二旗标的一或多个第二变量的值更新到第二表示格式语法结构中的一或多个第二旗标的值。一或多个第二变量可与第一层相关联。

在某些实施例中,SPS包含第三表示格式语法结构,且编码器23将第一变量的值更新为等于第三表示格式语法结构中的第一旗标的值。每一表示格式语法结构可包含除第一旗标外的一或多个第二旗标,且当第三表示格式语法结构中的一或多个第二旗标的值小于或等于第一表示格式语法结构中的一或多个第二旗标的值时,编码器23将对应于一或多个第二旗标的一或多个第二变量的值更新到第三表示格式语法结构中的一或多个第二旗标的值。一或多个第二变量可与第一层相关联。

VPS可包含其中一或多个表示格式语法结构与多个层的相应层相关联的映射。当第一旗标的值等于1时,第一旗标可指示层的色度格式的色彩分量应经单独译码,及当第一变量的值等于1时,第一变量可指示层的色度格式的色彩分量应经单独译码。当第一旗标的值等于0时,第一旗标可指示层的色度格式的色彩分量不应经单独译码,且当第一变量的值等于0时,第一变量可指示层的色度格式的色彩分量不应经单独译码。在一个实施例中,第一旗标包括separate_colour_plane_vps_flag,且第一变量包括separate_colour_plane_flag。在另一实施例中,对第二表示格式语法结构的参考包括sps_rep_format_idx。VPS可适用于多个层的全部,且SPS可适用于多个层中的特定层。在一个实施例中,编码器23编码视频信息。

在某些实施例中,编码器23为无线通信装置,其进一步包括发射器,其经配置以根据至少一个无线电存取技术(RAT)发射视频数据;以及接收器,其经配置以根据至少一个RAT来操作。无线通信装置可为蜂窝式电话,且所发射的视频数据可由发射器发射且可根据蜂窝通信标准来调制。

在一些实施例中,过程700可在包括以下各者的无线通信装置上执行:发射器,其经配置以根据至少一个无线电存取技术(RAT)发射视频数据;接收器,其经配置以根据至少一个RAT来操作;存储器,其经配置以存储视频数据;以及处理器,其经配置以执行处理存储于存储器中的视频数据的指令。无线通信装置可为蜂窝式电话,且所发射的视频数据可由发射器发射且可根据蜂窝通信标准来调制。

过程700在框704处结束。在过程700中可根据实施例添加和/或省略框,且可根据实施例以不同次序执行过程700的框。

本发明中关于更新表示格式所描述的任何特征和/或实施例可单独或以其任何组合来实施。举例来说,结合图1到7描述的任何特征和/或实施例和本发明的其它部分可以与结合图7描述的任何特征和/或实施例的任何组合来实施,且反之亦然。

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

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

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

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

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

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

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