补充增强信息消息译码的制作方法

文档序号:13623181阅读:232来源:国知局
补充增强信息消息译码的制作方法

技术领域

本发明大体来说涉及处理视频数据,且更明确地说,涉及可应用于一或多个视频译码标准的技术。



背景技术:

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

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

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



技术实现要素:

大体来说,本发明描述用于处理存取单元内的解码单元的技术。存取单元指代同一时间实例内的一或多个图片的视频数据。举例来说,解码存取单元产生一或多个经解码图片,其中所有所述经解码图片是针对同一时间实例。

存取单元包含一或多个解码单元。如更详细描述,在一些实例中,本发明中所描述的所述技术唯一地识别所述存取单元内的所述解码单元中的每一者。在一些实例中,所述技术允许将消息的一或多个副本嵌入于所述存取单元内。

在一个实例中,本发明描述一种用于解码视频数据的方法。所述方法包括解码用于存取单元中的每一解码单元的唯一识别符。在此实例中,用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。所述方法还包含基于用于所述存取单元中的每一解码单元的所述唯一识别符而确定哪些网络存取层(NAL)单元与哪些解码单元相关联,及基于所述确定而解码所述存取单元中的所述解码单元中的每一者的所述NAL单元以重建构至少一个图片。

在另一实例中,本发明描述一种用于编码视频数据的方法。所述方法包括确定用于存取单元中的每一解码单元的唯一识别符。在此实例中,用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。所述方法还包含确定哪些网络存取层(NAL)单元与所述存取单元的哪些解码单元相关联,及产生对应解码单元中的每一唯一识别符以供输出,所述唯一识别符指示哪些NAL单元与所述存取单元的哪些解码单元相关联。

在另一实例中,本发明描述一种用于解码视频数据的装置。所述装置包括视频解码器,所述视频解码器经配置以解码用于存取单元中的每一解码单元的唯一识别符。在此实例中,用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。所述视频解码器经配置以基于用于所述存取单元中的每一解码单元的所述唯一识别符而确定哪些网络存取层(NAL)单元与哪些解码单元相关联,且基于所述确定而解码所述存取单元中的所述解码单元中的每一者的所述NAL单元以重建构至少一个图片。

在另一实例中,本发明描述一种用于编码视频数据的装置。所述装置包括视频编码器,所述视频编码器经配置以确定用于存取单元中的每一解码单元的唯一识别符。在此实例中,用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。所述视频编码器经配置以确定哪些网络存取层(NAL)单元与所述存取单元的哪些解码单元相关联,及产生对应解码单元中的每一唯一识别符以供输出,所述唯一识别符指示哪些NAL单元与所述存取单元的哪些解码单元相关联。

在另一实例中,本发明描述一种计算机可读存储媒体,其上存储有指令,所述指令在经执行时使得用于解码视频数据的装置的一或多个处理器进行以下操作:解码用于存取单元中的每一解码单元的唯一识别符,其中用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符;基于用于所述存取单元中的每一解码单元的所述唯一识别符而确定哪些网络存取层(NAL)单元与哪些解码单元相关联;及基于所述确定而解码所述存取单元中的所述解码单元中的每一者的所述NAL单元以重建构至少一个图片。

在另一实例中,本发明描述一种用于解码视频数据的装置,所述装置包括:用于解码用于存取单元中的每一解码单元的唯一识别符的装置,其中用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符;用于基于用于所述存取单元中的每一解码单元的所述唯一识别符而确定哪些网络存取层(NAL)单元与哪些解码单元相关联的装置;及用于基于所述确定而解码所述存取单元中的所述解码单元中的每一者的所述NAL单元以重建构至少一个图片的装置。

在另一实例中,本发明描述一种用于译码视频数据的方法,所述方法包括将补充增强信息(SEI)消息译码于存取单元中。在此实例中,所述存取单元包含用于重建构至少一个图片的视频数据,且所述SEI消息定义所述视频数据的特性。所述方法还包含将所述SEI消息的副本译码于所述存取单元中。

在另一实例中,本发明描述一种用于译码视频数据的装置,所述装置包括视频译码器,所述视频译码器经配置以将补充增强信息(SEI)消息译码于存取单元中。在此实例中,所述存取单元包含用于重建构至少一个图片的视频数据,且所述SEI消息定义所述视频数据的特性。所述视频译码器还经配置以将所述SEI消息的副本译码于所述存取单元中。

在另一实例中,本发明描述一种计算机可读存储媒体,其上存储有指令,所述指令在由用于译码视频数据的装置的一或多个处理器执行时使得所述一或多个处理器进行以下操作:将补充增强信息(SEI)消息译码于存取单元中。在此实例中,所述存取单元包含用于重建构至少一个图片的视频数据,且所述SEI消息定义所述视频数据的特性。所述指令还使得所述一或多个处理器将所述SEI消息的副本译码于所述存取单元中。

在另一实例中,本发明描述一种用于译码视频数据的装置,所述装置包括用于将补充增强信息(SEI)消息译码于存取单元中的装置。在此实例中,所述存取单元包含用于重建构至少一个图片的视频数据,且所述SEI消息定义所述视频数据的特性。所述装置还包含用于将所述SEI消息的副本译码于所述存取单元中的装置。

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

附图说明

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

图2A及2B是说明根据本发明中所描述的技术的包含解码单元识别符的存取单元的实例的概念图。

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

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

图5是说明根据本发明中所描述的一或多个实例的编码视频数据的实例的流程图。

图6是说明根据本发明中所描述的一或多个实例的解码视频数据的实例的流程图。

图7是说明根据本发明中所描述的一或多个实例的译码视频数据的实例的流程图。

具体实施方式

本发明描述用于视频译码中的错误弹性解码单元发信号及关联的各种方法。在多视图译码或可调式视频译码中,可针对给定时间实例译码多个图片或层。将同一时间实例的图片译码于单个存取单元(AU)中。举例来说,解码存取单元产生一个图片(针对不使用多视图译码时)或同一时间实例的多个图片(针对多视图译码)。

解码单元(DU)大体上指代存取单元的子集或所述存取单元的整体。举例来说,如果允许子图片层级的操作,则解码单元为存取单元的子集,且存取单元包含多个解码单元。因为存取单元包含用于一或多个图片的视频数据,所以解码单元层级的操作可被视为子图片层级的操作。如果不允许子图片层级的操作,则解码单元为存取单元的整体。

解码单元包含一或多个网络抽象层(NAL)单元。举例来说,解码单元包含一或多个视频译码层(VCL)NAL单元及相关联的非VCL NAL单元。NAL单元的一个实例为图片的切片(即,囊封于NAL单元中的数据包含解码图片的切片所需的视频数据)。NAL单元的另一实例为参数集。举例来说,NAL单元可包含图片参数集、序列参数集及参数集的其它实例的视频数据。作为又一实例,NAL单元可包含用于确定来自缓冲器(例如,经译码图片缓冲器)的解码单元的处理时间及移除时间的目的的额外信息,例如补充增强信息(SEI)消息。

在本发明中所描述的一些实例中,视频编码器产生用于存取单元内的每一解码单元的识别符以供输出并在经译码位流中输出(例如,用信号发出)所述识别符。每一识别符(被称为DU识别符)唯一地识别存取单元内的解码单元。视频解码器从所述经译码位流接收用于存取单元内的解码单元的识别符。视频解码器基于所述解码单元识别符而确定哪些NAL单元与哪些解码单元相关联。

以此方式,本发明中所描述的所述技术可确保NAL单元与正确的解码单元相关联。举例来说,视频编码器有可能用信号发出指示每一解码单元包含的NAL单元的数目的信息(例如,输出信息)。不是利用解码单元识别符,而是视频解码器可基于视频解码器接收NAL单元的次序及指示每一解码单元包含的NAL单元的数目的用信号发出的信息而确定NAL单元与解码单元的关联。

然而,在此状况下,确保NAL单元与正确的解码单元相关联并非错误弹性的。举例来说,如果NAL单元在发射(例如,从视频编码器到视频解码器,从视频编码器到中间存储装置,或从中间存储装置到视频解码器)期间丢失,则视频解码器可能不能够确定哪些NAL单元与哪些解码单元相关联。

作为关于确保NAL单元与正确的解码单元相关联的可能问题的另一实例,视频编码器可能有可能在两种类型的消息之间用信号发出与解码单元相关联的NAL单元。举例来说,视频编码器可用信号发出特定类型的补充增强信息(SEI)消息的第一实例、继之以用于第一解码单元的一或多个NAL单元、继之以特定类型的SEI消息的第二实例、继之以第二解码单元的一或多个NAL单元等等。视频解码器可确定,在此类型的SEI消息的第一实例之后及在此类型的SEI消息的第二实例之前接收到的每个NAL单元与第一解码单元相关联,在此类型的SEI消息的第二实例之后及在此类型的SEI消息的第三实例之前接收到的每个NAL单元与第二解码单元相关联,等等。

此类型的SEI消息可包含关于编码及解码的适当时序的额外信息。然而,因为此类型的SEI消息的位置指示哪些NAL单元与哪些解码单元相关联,所以视频编码器可能不可能将此类型的SEI消息的多个副本包含于解码单元内。因此,即使这些SEI消息中的一者在发射中丢失,视频解码器还可能不能够确定哪些NAL单元与哪些解码单元相关联,且可能不能够确定由丢失的SEI消息载运的额外信息。

在本发明中所描述的所述技术中,视频编码器可产生指示哪些NAL单元与哪些解码单元相关联的信息(例如,SEI消息或切片标头中的解码单元识别符)以供输出并输出所述信息。以此方式,即使NAL单元在发射中丢失,视频解码器还可能能够确定哪些NAL单元与哪些解码单元相关联。而且,因为视频解码器可能无需依赖所述SEI消息的位置来确定哪些NAL单元与哪些解码单元相关联,所以视频编码器可产生SEI消息的一或多个副本以供输出并在解码单元中输出SEI消息的所述一或多个副本。与上文所描述的一些其它技术相比较,这些技术可提供一种相当地更错误弹性的方式,视频解码器以此方式确定哪些NAL单元与哪些解码单元相关联。

此外,在上文所描述的其它技术中的一些技术中,禁止特定类型的SEI消息重复(本发明中所描述的技术可解决的问题)。在一些状况下,在这些其它技术中,不仅禁止特定SEI消息类型重复,而且大体上限制SEI消息在存取单元中的第一VCL NAL单元之后及在存取单元中的最后NAL单元之前在存取单元中重复。

举例来说,在这些其它技术中的一些技术中,视频解码器将基于SEI消息的位置而确定存取单元的开头。举例来说,所述SEI消息将位于存取单元的开头处,且在确定视频解码器正处理SEI消息之后,视频解码器将确定视频解码器正处理新存取单元。因此,存在将SEI消息的多个副本包含于同一存取单元内的限制。

在易造成错误的环境中,以下情形可为有益的:包含SEI消息的副本,使得在SEI消息丢失的情况下,可得到SEI消息的其它副本。在一些实例中,所述技术允许各种类型的SEI消息在存取单元内重复,此情形进一步允许错误弹性。作为一个实例,所述技术可针对所有SEI消息指定以下各者:(1)SEI消息中所载运的信息应用于的应用范围;(2)可存在SEI消息的位置;及(3)对特定类型的SEI消息的多个实例的内容的限制。

举例来说,可将存取单元包化成多个包(例如,实时输送协议(RTP)包)。每一包通常包含一或多个NAL单元,但在一些状况下,包可包含NAL单元的子集。在易造成错误的环境中,一或多个包可丢失,且在所述丢失的包包含SEI消息的情况下,SEI消息可丢失。在本发明中所描述的所述技术中,视频编码器可产生SEI消息的一或多个副本以供输出并在存取单元中输出(例如,用信号发出)SEI消息的所述一或多个副本。以此方式,即使包含SEI消息中的一者的包丢失,SEI消息也仍可以未丢失的包中的副本的形式得到。

作为另一实例,视频编码器可编码具有多个层的视频位流,例如在高效率视频译码(HEVC)标准的多层扩展中。所述多个层包含基础层及一或多个非基础层。非基础层可为空间或质量增强层、不同视图的纹理、不同视图的深度及其它这些实例。视频编码器可在不同通道中输送不同层(例如,使用IETF RFC 6190(可公开地于http://tools.ietf.org/rfc/rfc6190.txt中得到)中类似地定义的多会话发射(MST))。在本发明中所描述的所述技术中,视频编码器可将SEI NAL单元包含于存取单元内的两个VCL NAL单元内,其中所述SEI NAL单元包含SEI消息,且在存取单元的第一VCL NAL单元之后。换句话说,本发明中所描述的用于将SEI消息包含于存取单元中的第一VCL NAL单元之后的所述技术还可应用于多会话发射的实例。

在本发明中所描述的所述技术中,视频解码器未必需要依赖SEI消息的位置来确定视频解码器正处理新存取单元。举例来说,视频解码器可依赖某一其它标头信息来确定正处理新存取单元。因此,在本发明中所描述的所述技术中,视频编码器可产生SEI消息以供输出并在存取单元中输出所述SEI消息及产生SEI消息的一或多个副本以供输出并在存取单元中输出SEI消息的所述一或多个副本,且视频解码器可接收SEI消息及SEI消息的一或多个副本。因为视频解码器不必依赖SEI消息来确定新存取单元何时正被处理,所以视频解码器可经配置以处理同一存取单元内的SEI消息的多个副本而不确定新的不同存取单元正被处理。

图1是说明可利用本发明中所描述的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其产生在稍后时间由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话、所谓的“智能”平板的电话手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置,或其类似者。在一些状况下,源装置12及目的地装置14可经配备用于无线通信。

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

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

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

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些状况下,输出接口22可包含调制器/解调制器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如以下各者的源:视频俘获装置(例如,视频相机)、含有先前所俘获的视频的视频封存、用以从视频内容提供者接收视频的视频馈送接口,及/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为视频相机,则源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的所述技术大体来说可应用于视频译码,且可应用于无线及/或有线应用。

经俘获、经预先俘获或计算机产生的视频可由视频编码器20来编码。可将经编码视频数据经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置32上以便稍后由目的地装置14或其它装置存取以用于解码及/或播放。

目的地装置14包含输入接口28、视频解码器30及显示装置31。在一些状况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或提供于存储装置32上的经编码视频数据可包含由视频编码器20产生的多种语法元素,以供例如视频解码器30等视频解码器在解码视频数据时使用。这些语法元素可包含于在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据中。

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

视频编码器20及视频解码器30可形成为个别微处理器或集成电路(IC)或可为较大微处理器或IC的部分。在一些实例中,视频编码器20及视频解码器30可为无线通信装置的部分。

视频编码器20及视频解码器30可根据视频压缩标准而操作。视频译码标准的实例包含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)扩展。

另外,存在视频编码器20及视频解码器30可根据而操作的新视频译码标准,即,由ITU-T视频译码专家群(VCEG)及ISO/IEC动画专家群(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准。视频编码器20及视频解码器30可符合HEVC测试模型(HM)。HEVC标准的新近草案(被称为“HEVC工作草案8”或“WD8”)描述于Bross等人的“High efficiency video coding(HEVC)text specification draft 8”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议:Stockholm,SE,2012年7月11日到20日)的文件JCTVC-H1003中,所述新近草案从2013年4月2日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip下载,其全部内容以引用的方式并入本文中。HEVC的较新工作草案(且在下文中被称为“HEVC工作草案9”或“WD9”)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v10.zip得到。

或者,视频编码器20及视频解码器30可根据其它专属或工业标准(例如,替代地被称为MPEG-4第十部分(进阶视频译码(AVC))的ITU-T H.264标准)或这些标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263,以及例如VP8等开放格式。

然而,本发明的技术不限于任何特定译码标准。举例来说,视频编码器20及视频解码器30未必需要符合任何特定视频译码标准。然而,即使本发明中所描述的所述技术可能未必符合特定标准,本发明中所描述的所述技术相对于各种标准来说还可进一步辅助译码效率。而且,本发明中所描述的所述技术可为未来标准的部分。为了易于理解,关于开发中的HEVC标准来描述所述技术,但所述技术不限于HEVC标准,且可扩展到特定标准未定义的其它视频译码标准或视频译码技术。

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

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

举例来说,视频编码器20及视频解码器30可分别包含于例如源装置12及目的地装置14的无线装置中。作为另一实例,装置可包含微处理器或集成电路。在一些实例中,例如微处理器或集成电路的装置可包含视频解码器30,且另一装置可包含视频编码器20。

JCT-VC致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进模型,其被称为HEVC测试模型(HM)。HM假定根据(例如)ITU-T H.264/AVC的视频译码装置相对于现有装置的干额外能力。

大体来说,HM的工作模型描述:可将视频帧或图片划分成包含明度样本及色度样本两者的一序列树型块或最大译码单元(LCU)。树型块可起到类似于H.264标准的宏块的一些用途,但树型块相对于宏块来说具有许多差异。切片包含呈译码次序的干连续树型块。可将视频帧或图片分割成一或多个切片。每一树型块可根据四分树而分裂成多个译码单元(CU)。举例来说,作为四分树的根节点,树型块可分裂成四个子节点,且每一子节点又可为父节点且可分裂成另外四个子节点。作为四分树的叶节点,最后的未分裂的子节点包括译码节点,即,经译码视频块。与经译码位流相关联的语法数据可定义树型块可分裂的最大次数,且还可定义译码节点的最小大小。

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

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

大体来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码(即,经帧内预测编码)时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码(即,经帧间预测编码)时,PU可包含定义PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,RefPiclList0或RefPicListl)。

大体来说,TU用于变换过程及量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,可使用TU将所述像素差值变换成变换系数、量化所述变换系数且扫描所述变换系数以产生用于熵译码的串行化变换系数。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定状况下,本发明还可使用术语“视频块”来指代包含一译码节点及多个PU及多个TU的树型块(即,LCU或CU)。

视频序列通常包含一系列视频帧或图片。图片群组(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×2NCU。

在本发明中,“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产生定义将由视频解码器30藉以重建构图片的方式的视频数据,编码所述视频数据(例如,产生以供输出),且在经译码位流中将所述视频数据输出(例如,用信号发出)到视频解码器30。视频解码器30接收来自经译码位流的经编码视频数据,解码所述视频数据,且处理所述视频数据以重建构所述图片。大体来说,视频解码器30实施与视频编码器20实施以编码及产生视频数据的技术互逆的技术。

举例来说,视频解码器30使用与视频编码器20藉以编码视频数据的方式互逆的技术来解码视频数据。而且,视频解码器30帧内预测解码或帧间预测解码所述图片以重建构所述图片。举例来说,视频解码器30处理视频数据以确定用于帧间预测解码的先前经解码图片,且确定用于帧间预测解码的先前经解码图片与当前图片之间的残余。视频解码器30将所述残余加到先前经解码图片以重建构当前图片。类似地,视频解码器30处理视频数据以确定当前图片内的先前经解码块,且确定用于帧内预测解码的当前图片内的先前经解码块与当前图片内的当前块之间的残余。视频解码器30将所述残余加到先前经解码块以重建构当前图片的当前块。

以此方式,视频编码器20输出视频解码器30用来重建构图片的视频数据。在一些实例中,视频编码器20在存取单元中输出视频数据。存取单元为包含同一时间实例内的一或多个图片的视频数据的概念单元。举例来说,在可调式视频译码中,视频编码器20产生图片的多个层的视频数据。在此实例中,所述图片的存取单元包含所有所述多个层的视频数据。

作为另一实例,在多视图视频译码中,视频编码器20产生多个视图的视频数据,其中每一视图包含多个图片。在多视图视频译码中,每一视图中的一个图片是在相同时间实例显示。举例来说,第一视图中的第一图片是在与第二视图中的第一图片、第三视图中的第一图片等相同的时间实例显示。在此实例中,一个存取单元包含在相同时间实例显示的所有图片的视频数据。在不使用可调式视频译码或多视图视频译码的实例中,一个存取单元包含一个图片的视频数据。

因此,大体来说,由视频解码器30进行的对一个存取单元的解码及处理产生一或多个图片。如果由视频解码器30进行的对一个存取单元的解码及处理产生一个图片,则存取单元的视频数据可包含图片的所有层的信息(如果利用可调式视频译码)或包含仅一个层的信息(如果未利用可调式视频译码)。如果由视频解码器30进行的对一个存取单元的解码及处理产生多个图片,则针对多视图视频译码,存取单元的视频数据可包含相同时间实例的所有图片的信息。

存取单元包含一或多个解码单元。举例来说,如上文所描述,存取单元可包含整个图片的视频数据。如果不允许子图片层级的操作,则存取单元仅包含一个解码单元。如果允许子图片层级的操作,则存取单元包含一或多个解码单元。

举例来说,视频解码器30包含经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB)。CPB存储从经译码位流接收的视频数据且DPB存储经重建构的图片。如更详细描述,视频编码器20产生描述CPB的行为的信息并输出所述信息,例如指示何时欲将解码单元或存取单元从CPB移除的信息。在一些实例中,视频编码器20编码指示是否允许存取单元(例如,存取单元内的解码单元中的每一者)的子图片层级的操作的语法元素(例如,被称为SubPicCpbFlag的旗标),并输出所述语法元素。

如果视频解码器30确定SubPicCpbFlag为0,则视频解码器30可确定不允许以子图片层级进行存取单元的操作,且还可确定存取单元包含一个解码单元。换句话说,当SubPicCpbFlag为0时,解码单元与存取单元相同。如果视频解码器30确定SubPicCpbFlag为1,则视频解码器30可确定允许以子图片层级进行存取单元的操作,且还可确定存取单元包含一或多个解码单元。

解码单元包含一或多个网络抽象层(NAL)单元。NAL单元为含有跟随的视频数据的类型的指示及含有所述视频数据的字节的语法结构。NAL单元的实例包含视频译码层(VCL)NAL单元及非VCL NAL单元。作为一实例,VCL NAL单元可包含图片内的切片的视频数据(例如,预测所述切片所需的信息,例如参考图片列表索引、运动向量、帧内预测模式等)或特定NAL单元类型的NAL单元。作为一实例,非VCL NAL单元可包含视频数据,例如参数集(例如,图片参数集、序列参数集等)的信息或用于辅助视频编码或视频解码的补充信息。

在本发明中,包含一或多个NAL单元的解码单元可被视为与解码单元相关联或指派给解码单元的一或多个NAL单元。换句话说,与解码单元相关联或指派给解码单元的一或多个NAL单元可被视为与包含这些一或多个NAL单元的解码单元相同。

因此,本发明中所描述的所述技术可利用具有以下定义的以下术语。

解码单元:存取单元(当SubPicCpbFlag等于0时)或存取单元的子集(当SubPicCpbFlag等于1时),其由存取单元中的一或多个VCL NAL单元及相关联的非VCL NAL单元组成。

相关联的非VCL NAL单元:VCL NAL单元的相关联的非VCL NAL单元为非VCL NAL单元中的一者,所述VCL NAL单元为所述非VCL NAL单元的相关联的VCL NAL单元。换句话说,非VCL NAL单元与VCL NAL单元相关联,且所述VCL NAL单元可被视为与所述非VCL NAL单元相关联(例如,VCL NAL单元与非VCL NAL单元之间的关联是双向的)。

相关联的VCL NAL单元:非VCL NAL单元的在解码次序上的最近的先前VCL NAL单元,其具有等于UNSPEC0、EOS_NUT、EOB_NUT、FD_NUT、在RSV_NVCL44到RSV_NVCL47的范围中或在UNSPEC48到UNSPEC63的范围中的nal_unit_type,或非VCL NAL单元的在解码次序上的第一后续VCL NAL单元,其具有等于其它值的nal_unit_type。

如上文所描述,在一些实例中,视频编码器20编码包含用于辅助视频编码或视频解码的补充信息的NAL单元并输出所述NAL单元。此补充信息对视频编码器20及视频解码器30符合例如HEVC视频译码标准等视频译码标准的要求来说并非必要的。因此,补充信息的包含是可选的,但可为优选的,因为此信息辅助增加视频编码及视频解码的效率。

包含此补充信息的NAL单元的一个实例为补充增强信息(SEI)NAL单元。SEI NAL单元的使用使得视频编码器20能够将此后设数据包含于经译码位流中,对输出图片的正确解码不需要所述后设数据,但所述后设数据可用于各种其它用途(例如,图片输出时序、显示以及损失检测及隐藏(例如,以辅助编码及解码))。视频编码器20可经配置以将任何数目个SEI NAL单元包含于存取单元中,且每一SEI NAL单元可包含一或多个SEI消息。

HEVC标准包含用于干SEI消息的语法及语义,但并未指定SEI消息的处置,这是因为这些SEI消息大体上不影响规范解码过程。将SEI消息包含于HEVC标准中的原因中的一者是确保各种类型的视频解码器(其一个实例为视频解码器30)在符合HEVC标准的不同系统中完全相同地解译SEI消息。因此,符合HEVC标准的规范或系统可能需要视频编码器(例如,视频编码器20)产生特定SEI消息或可定义视频解码器(例如,视频解码器30)对特定类型的所接收到的SEI消息的特定处置。

以下表1列出HEVC标准中所指定的SEI消息且简要地描述所述SEI消息的用途。应理解,仅出于说明的目的而关于HEVC标准描述所述SEI消息。其它视频译码标准(包含专属视频译码标准)可包含与表1中所描述或下文另外描述的那些SEI消息类似或不同的SEI消息。此外,甚至基于非标准的视频译码技术可依赖与表1中所描述或下文另外描述的那些SEI消息类似或不同的SEI消息。本发明中所描述的所述技术可应用于所有这些状况。

大体来说,SEI消息可被视为定义视频数据的特性。举例来说,缓冲周期及图片时序SEI消息定义例如初始延迟及图片输出时间或图片/子图片移除时间等视频数据特性。作为额外实例,表1中的SEI消息的用途提供由对应SEI消息定义的视频数据的特性的实例。

表1.SEI消息的概述

在一些实例中,视频编码器20可经配置以限制SEI消息位于存取单元内的位置。举例来说,在SEI消息中,子图片时序SEI消息在解码次序上可在存取单元中的含有SEI消息的第一VCL NAL单元之后,但在解码次序上可能不在存取单元中的最后VCL NAL单元之后。当对于含有SEI消息的SEI NAL单元,nuh_reserved_zero_6bits等于0时,所有其它SEI消息可在存取单元中的第一VCL NAL单元之前。

nuh_reserved_zero_6bits语法元素识别可调式视频译码中的层或多视图视频译码中的视图。举例来说,nuh_reserved_zero_6bits语法元素对于可调式视频译码器中的基础层为0或对于多视图视频译码中的基础视图为0。用于其它层或视图的nuh_reserved_zero_6bits语法元素为用以识别层或视图的正整数值。在未使用可调式视频译码或多视图视频译码的状况下,假定nuh_reserved_zero_6bits为0。

如表1中所指示,各种SEI消息(例如,缓冲周期SEI消息、图片时序SEI消息及子图片时序SEI消息)定义假想参考解码器(HRD)中的延迟及移除时间。HRD是用以定义经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB)的特性的模型。如上文所描述,CPB在解码之前存储来自位流的视频数据(例如,经编码图片),且DPB存储包含经解码图片的经解码视频数据。

大体来说,每一视频译码标准包含针对视频缓冲模型的规范。在AVC及HEVC中,缓冲模型被称为假想参考解码器(HRD),其包含经译码图片缓冲器(CPB)及经解码图片缓冲器(DPB)两者的缓冲模型,且CPB及DPB行为是以数学方式指定。HRD可将约束直接强加于不同时序、缓冲器大小及位速率上,且可将约束间接地强加于位流特性及统计数据(statistics)上。HRD参数的完整集合包含五个基本参数:初始CPB移除延迟、CPB大小、位速率、初始DPB输出延迟及DPB大小。

在AVC及HEVC中,将位流符合性及解码器符合性指定为HRD规范的部分。应理解,尽管将HRD标记为一类型的解码器,但在视频编码器20侧通常需要HRD以保证位流符合性。在视频解码器30侧可能不需要HRD。举例来说,视频编码器20可用信号发出CPB及DPB的时序信息及其它特性作为SEI消息,且视频解码器30可基于所述用信号发出的SEI消息而确定CPB及DPB的时序及特性。举例来说,所述SEI消息可指定两种类型的位流或HRD符合性,即类型I及类型II。另外,所述SEI消息可指定两种类型的视频解码器30符合性:输出时序解码器符合性及输出次序解码器符合性。

在本发明中所描述的所述技术中,视频编码器20可指定视频解码器30的CPB可在存取单元层级抑或子存取单元层级(也被称为子图片层级)操作。如上文所描述,视频编码器20编码语法元素(例如,SubPicCpbFlag)并输出(例如,用信号发出)所述语法元素。如果SubPicCpbFlag的值为0,则不允许子图片层级的CPB操作。如果SubPicCpbFlag的值为1,则允许子图片层级的CPB操作。

所述SEI消息可提供关于存取单元内的解码单元的信息。举例来说,图片时序SEI消息(PT SEI消息)包含num_nalus_in_du_minus1[i]语法元素。num_nalus_in_du_minus1[i]语法元素加上1指示第i个解码单元内的NAL单元的数目。

在一些状况下,视频解码器30可利用由视频编码器20输出的来自num_nalus_in_du_minus1[i]语法元素的信息来确定哪些NAL单元与哪些解码单元相关联/经指派给哪些解码单元。作为说明性实例,假定num_nalus_in_du_minus1[i]语法元素指示存取单元的第一解码单元与三个NAL单元相关联,存取单元的第二解码单元与两个NAL单元相关联,且存取单元的第三解码单元与两个NAL单元相关联。

在此实例中,视频解码器30基于CPB接收NAL单元的次序而确定哪些NAL单元与哪些解码单元相关联。举例来说,视频解码器30确定:CPB接收之前三个NAL单元与第一解码单元相关联,CPB接收的接下来两个NAL单元与第二解码单元相关联,且CPB接收的接下来两个NAL单元与第三解码单元相关联。

然而,视频解码器30基于指示与每一解码单元相关联的NAL单元的数目并非错误弹性的语法元素而确定哪些NAL单元与哪些解码单元相关联。在易出现错误或有损耗的通信链路中,NAL单元中的一或多者可能丢失。举例来说,如果链路16是易出现错误或有损耗的,则NAL单元中的一或多者可能丢失。作为另一实例,如果从输出接口22到存储装置32的链路或从输出接口22到输入接口28的链路是易造成错误或有损耗的,则NAL单元中的一或多者可能丢失。

当NAL单元丢失时,除非已知连续NAL单元的损失的确切位置及数目(视频解码器30可能不能够确定此情形),否则视频解码器30可能不能够正确地确定哪些NAL单元与哪些解码单元相关联。举例来说,假定:在先前实例中,第二NAL单元丢失。在此状况下,视频解码器30确定前三个所接收到的NAL单元是针对第一解码单元,这是因为num_nalus_in_du_minus1[i]语法元素指示第一解码单元包含三个NAL单元。然而,在此状况下,视频编码器20使第三个所接收到的NAL单元与第二解码单元相关联(第二NAL单元再次丢失)。因此,当视频解码器30应使第三个所接收到的NAL单元与第二解码单元相关联时,视频解码器30错误地使第三个所接收到的NAL单元与第一解码单元相关联。

在一些实例中,除num_nalus_in_du_minus1[i]语法元素外或代替num_nalus_in_du_minus1[i]语法元素,视频解码器30可基于所述SEI消息的位置而确定哪些NAL单元与哪些解码单元相关联。作为一个实例,视频编码器20可利用存取单元内的子图片时序(SPT)SEI消息的位置来指示哪些NAL单元与哪些解码单元相关联,且视频解码器30可利用存取单元内的子图片时序SPT SEI消息的位置来确定哪些NAL单元与哪些解码单元相关联。

举例来说,SPT SEI消息为与解码单元相关联的SEI NAL单元的部分。SPT SEI消息可提供指示何时欲将解码单元从CPB移除的信息。在一些实例中,在SEI NAL单元之后、直到下一SPT SEI消息的不包含SPT SEI消息的所有NAL单元被视为与所述解码单元相关联。换句话说,包夹于第一SPT SEI消息与第二SPT SEI消息之间的NAL单元及包含第一SPT SEI消息的SEI NAL单元全部被视为与解码单元相关联。

以此方式,在视频解码器30的CPB接收具有第一SPT SEI消息的第一SEI NAL单元之后,视频解码器30可确定:第一SEI NAL单元及直到具有下一SPT SEI消息的下一SEI NAL单元(即,具有第二SPT SEI消息的第二SEI NAL单元)的所有NAL单元与第一解码单元相关联。视频解码器30还可确定:第二SEI NAL单元及直到具有下一SPT SEI消息的下一SEI NAL单元(即,具有第三SPT SEI消息的第三SEI NAL单元)的所有NAL单元与第二解码单元相关联,等等。

在一些状况下,依赖SPT SEI消息的位置来确定哪些NAL单元与哪些解码单元相关联还可能并非错误弹性的。作为一个实例,因为SPT SEI消息的位置定义哪些NAL单元与解码单元相关联,所以SPT SEI消息无法在解码单元内重复(即,在解码次序上,在紧于SPT SEI消息之后的NAL单元之后及在所述解码单元中的最后NAL单元之前)。举例来说,假定解码单元包含四个NAL单元。在此实例中,第一SPT SEI消息将在所述四个NAL单元之前且第二SPT SEI消息将在所述四个NAL单元之后。如果SPT SEI消息插入于所述两个SPT SEI消息的中间,则视频解码器30将错误地确定前两个NAL单元是针对第一解码单元,且其次的两个NAL单元是针对第二不同解码单元。

然而,以下情形可为有益的:将SPT SEI消息的一或多个副本包含于解码单元内,使得可在另一副本丢失的情况下从所述副本中的一者恢复相关视频数据。如上文所描述,SPT SEI消息可包含指示何时欲将解码单元从CPB移除的信息。举例来说,在易造成错误或有损耗的环境中,SPT SEI消息可能丢失,且所述SPT SEI消息内的指示何时欲将所述解码单元移除的信息可能丢失。

举例来说,如上文所描述,存取单元包含图片的视频数据,且解码单元为所述存取单元的子集(假定SubPicCpbFlag为1)。因此,在一些实例中,解码单元包含图片的一或多个切片的视频数据(即,图片的子部分)。源装置12可在包(例如,实时输送协议(RTP)包)中输出解码单元的一或多个切片。如果包含SPT SEI消息的包丢失,则视频解码器30可能不能够准确地确定用于解码单元的其它包的子图片时序信息(例如,从CPB的移除时间)。

如果每一包将包含SPT SEI消息,则一个包的损失将不会影响解码过程,这是因为视频解码器30可根据所述包中的另一者中的SPT SEI消息的副本来确定SPT SEI消息的子图片时序信息。然而,在一些其它技术中,SPT SEI消息可能不重复,这是由于视频解码器30使用SEI消息的位置来确定哪些NAL单元与哪些解码单元相关联。换句话说,禁止SPT SEI消息在解码单元中重复产生用于确定哪些NAL单元与哪些解码单元相关联的较少错误弹性方案。在一些实例中,本发明的技术可移除在解码单元中重复SPT SEI消息的禁止。

如下文更详细描述,本发明描述允许视频解码器30以错误弹性方式确定哪些NAL单元与哪些解码单元相关联的实例技术。举例来说,视频编码器20可产生用于解码单元的识别符以供输出并输出所述识别符。视频解码器30可利用此识别符来确定哪些NAL单元与哪些解码单元相关联,而非依赖指示与解码单元相关联的NAL单元的数目及接收NAL单元的次序的信息,或而非依赖SPT SEI消息的位置。解码单元识别符的输出及接收还可允许SPT SEI消息的多个副本,此情形进一步增加视频解码器30确定解码单元从CPB的移除时间的能力的错误弹性。

上文描述了不允许SPT SEI消息在解码单元内重复的实例。在一些状况下,还可禁止各种其它类型的SEI消息在解码单元内重复。举例来说,可能不允许并非SPT SEI消息且包含SEI消息的SEI NAL单元的nuh_reserved_zero_6bits等于0的任何SEI消息在包含按解码次序在第一VCL NAL单元之后且在最后NAL单元之前的SEI消息的存取单元内重复。

举例来说,在一些其它技术中,所述SEI消息用以确定视频解码器30正处理新存取单元。换句话说,SEI消息在经译码位流中的位置指示存取单元的开头。如果SEI消息在存取单元内重复,则视频解码器30可错误地确定正处理新存取单元。由于所述SEI消息指示新存取单元,因此在这些其它技术中,可禁止SEI消息的副本。

类似于上文,如果存取单元包含在易造成错误环境中发射的多个切片,则以下情形可为有益的:将所述SEI消息的副本包含于每一包中,使得在包丢失的情况下,可从存取单元的其它包中的一或多个恢复所述SEI消息。如更详细描述,本发明中所描述的所述技术可允许各种SEI消息的多个副本在存取单元内重复。

举例来说,视频解码器30不需要依赖SEI消息来确定正处理新存取单元。实情为,视频解码器30可依赖某一其它标头信息来确定何时正处理新存取单元。由于将SEI消息的存在与指示正处理新存取单元去耦,因此视频编码器20可将SEI消息的多个副本包含于存取单元中,且视频解码器30可在不确定正处理新存取单元的情况下处理同一存取单元内的SEI消息的多个副本。

在本发明中所描述的所述技术中,视频编码器20可用信号发出每一解码单元中的识别符(被称为解码单元识别符、DU识别符或DU ID)。DU识别符可为唯一地识别解码单元的识别符。举例来说,用于存取单元中的在解码次序上的第一解码单元的DU识别符可为0,用于存取单元中的在解码次序上的第二解码单元的DU识别符可为1,等等(即,用于第一解码单元的DU识别符为0,且DU识别符的值针对每一后续解码单元增加一)。唯一地识别具有解码单元识别符的解码单元的其它方式是可能的,且所述技术不应被视为限于使用于解码次序上的每一解码单元的DU识别符递增。

可存在视频编码器20藉以用信号发出DU识别符的各种方式。举例来说,视频编码器20可在解码单元的切片的切片标头中及/或在SEI消息(例如,SPT SEI消息)中或以任何其它方式用信号发出DU识别符。在此状况下,NAL单元与解码单元的关联是基于用信号发出的DU识别符。可能有可能也将DU识别符包含于其它位置(例如,NAL单元标头)中。

如果NAL单元是针对一或多个切片,则视频解码器30可根据切片标头中的DU识别符确定NAL单元与哪个解码单元相关联。因此,即使存在NAL单元的损失,视频解码器30还可能能够基于DU识别符而确定哪个NAL单元与哪个解码单元相关联。

在SEI消息包含DU识别符的实例中,可能有可能SEI消息(例如,SPT SEI消息)丢失,在所述状况下,DU识别符可能丢失。在一些实例中,视频编码器20可将SPT SEI消息的副本包含于解码单元内以将DU识别符丢失的机会最小化。举例来说,如上文所描述,在一些状况下,解码单元内的SPT SEI消息的位置可指示哪些NAL单元与解码单元相关联,此情形意谓可能不存在SPT SEI消息的多个副本。在本发明中所描述的所述技术中,视频解码器30可利用DU识别符来确定哪些NAL单元与哪些解码单元相关联。因此,视频解码器30不需要依赖SPT SEI消息的位置来确定哪些NAL单元与哪些解码单元相关联。此情形允许视频编码器20将SPT SEI消息的多个副本包含于经译码位流内的解码单元内,此情形又减小在SPT SEI消息的每一副本包含DU识别符的情况下,DU识别符将丢失的机率。

如上文所描述,在一些实例中,不允许SEI消息在含有SEI消息的存取单元中在解码次序上的第一VCL NAL单元之后。在一些实例中,视频编码器20可允许所有SEI消息在含有SEI消息的存取单元中在解码次序上的第一VCL NAL单元之后。然而,SEI消息不可定位于存取单元中在解码次序上的最后VCL NAL单元之后。

作为一个实例,视频编码器20可将SEI消息包含于在解码次序上的第一VCL NAL单元之前。视频编码器20可将SEI消息的副本包含于在存取单元中在解码次序上的第一VCL NAL单元之后。在此实例中,视频编码器20可能不将SEI消息的副本包含于在存取单元中在解码次序上的最后VCL NAL单元之后。

在视频编码器20允许各种类型的SEI消息在解码单元或存取单元中重复的实例中,视频编码器20可指定关于所述SEI消息的额外信息。作为一个实例,视频编码器20可指定SEI消息中所载运的信息应用于的应用范围。作为另一实例,视频编码器20可指定SEI消息可存在于存取单元及/或解码单元中的位置。作为又一实例,视频编码器20可设定对特定类型的SEI消息的多个实例的内容的限制。

视频解码器30将SEI消息的此信息用于解码NAL单元中的数据。在一些实例中,视频解码器30可经预先配置而具有SEI消息的信息(例如,指示对特定类型的SEI消息的多个实例的内容的限制的信息)或经预先配置而具有SEI消息可位于存取单元及/或解码单元内的位置的信息。在这些状况下,视频编码器20可能不必指定SEI消息可存在于的位置或用信号发出指示对特定类型的SEI消息的多个实例的内容的任何限制的信息。

如上文所描述,存取单元包含至少一个图片的视频数据。在一些实例中,所述存取单元可包含多个层的视频数据,且视频编码器20可编码具有多个层的视频位流,例如在高效率视频译码(HEVC)标准的多层扩展中。

所述多个层包含基础层及一或多个非基础层。在一些实例中,基础层可包含用于建构图片的视频数据,且非基础层可为包含用于增强基础层中的图片的质量的视频数据的空间或质量增强层。在一些实例中,(例如)针对多视图视频译码,基础层可包含特定视图(例如,不需要帧间预测的任何其它视图的基础视图)的图片的视频数据,且非基础层可包含不同视图的纹理、不同视图的深度及其它这些实例。

在本发明中所描述的所述技术中,视频编码器20可在不同通道中输送不同层(例如,使用IETF RFC 6190(可公开地于http://tools.ietf.org/rfc/rfc6190.txt中得到)中类似地定义的多会话发射(MST))。本发明中所描述的所述技术可扩展到将多会话发射用于编码多层的实例。举例来说,本发明中所描述的用于将SEI消息包含于在存取单元中的第一VCL NAL单元之后的所述技术还可应用于多会话发射的实例。作为一个实例,视频编码器20可将SEI NAL单元包含于存取单元内的两个连续VCL NAL单元之间,而不必将所述SEI NAL单元移动到存取单元的第一VCL NAL单元之前。

因为SEI NAL单元包含用于多会话发射技术的SEI消息,所以视频解码器30可能能够以更简化的方式来实施解包化过程。举例来说,视频解码器30可能能够解码来自存取单元内的用于多会话发射技术的SEI消息,而非从存取单元的开头起的所有SEI消息。因为SEI消息的多个副本可在存取单元中得到,所以视频解码器30可能能够以更有效率的方式将所接收到的包解包。

本发明的所述技术可彼此结合或单独地应用。举例来说,如果视频编码器20包含DU识别符,则视频编码器20未必需要在所有实例中包含SPT SEI消息的多个副本,而可在一些实例中包含SPT SEI消息的多个副本。作为另一实例,即使视频编码器20不包含DU识别符,视频编码器20还可包含各种类型的SEI消息的多个副本。作为又一实例,在视频编码器20包含DU识别符的实例中,视频编码器20未必需要包含除SPT SEI消息以外的SEI消息的多个副本。大体来说,本发明中所描述的所述技术在针对易造成错误环境(其中信息可能在发信号中丢失)提供错误弹性方案中可为有利的。

如上文所描述,在一个实例中,视频编码器20将DU识别符包含于切片标头中。下文的表2提供用于视频编码器20可藉以将DU识别符包含于切片标头中的方式及视频解码器30可藉以剖析切片标头以确定DU识别符的方式的实例伪码。

表2.切片标头中的发信号

在此实例中,decoding_unit_id指代DU识别符且指定切片所属的解码单元的识别符。decoding_unit_id的值可在0到PicSizeInCtbsY-1的范围内,包含0及PicSizeInCtbsY-1。PicSizeInCtbsY可指示图片中的译码树单元(CTU)的数目,其等于图片的明度分量中的译码树型块(CTB)的数目。

在视频编码器20将解码单元识别符包含于切片标头中的实例中,通过DU识别符(例如,DU ID或duID)的特定值识别的解码单元可包含且可仅包含存取单元中的具有等于DU识别符的decoding_unit_id的所有经译码切片NAL单元及其相关联的非VCLNAL单元。在一个存取单元内,针对分别具有等于duIDa及duIDb(其中duIDa小于duIDb)的decoding_unit_id的任何两个解码单元(例如,解码单元A及解码单元B),解码单元A在解码次序上可在解码单元B之前。换句话说,具有较小DU识别符的解码单元在解码次序上在具有较大DU识别符的解码单元之前。此外,一个解码单元的NAL单元在解码次序上可能不驻留于另一解码单元的两个NAL单元之间。换句话说,在上述实例中,解码单元的NAL单元是连续的。

如上文所描述,在一些实例中,视频编码器20可将DU识别符包含于SEI消息(例如,SPT SEI消息)中,且SPT SEI消息包含指示何时欲移除解码单元的信息。下文描述用于视频编码器20的将DU识别符包含于SEI消息中的一些实例技术。为了避免混淆,在下文中,将子图片时序(SPT)SEI消息的名称改变为解码单元信息SEI消息。换句话说,在一些实例中,视频编码器20输出SEI消息中的DU识别符且视频解码器30接收SEI消息中的DU识别符,所述SEI消息还包含指示解码单元从CPB的移除时间的信息。

下文的表3提供用于视频编码器20可藉以将DU识别符包含于SEI消息中的方式及视频解码器30可藉以剖析SEI消息以确定DU识别符的方式的实例伪码。在下文中,将子图片时序(SPT)SEI消息的名称改变为解码单元信息SEI消息,且语法及语义可如下。其它部分与HEVC WD8中相同,其中用“解码单元信息SEI消息”替换“子图片时序SEI消息”。解码单元信息SEI消息可提供与SEI消息相关联的解码单元的CPB移除时间(例如,CPB移除延迟信息)。

表3.SEI消息中的发信号

在HEVC WD8中,子图片时序(SPT)SEI消息可类似于表3。然而,HEVC WD8的SPT SEI消息并不包含decoding_unit_id语法元素,且仅包含du_cpb_removal_delay语法元素。在本发明中所描述的实例技术中的一些技术中,因为SEI消息还包含decoding_unit_id,所以将SPT SEI消息重新命名为解码单元信息SEI消息。

在一些实例中,视频编码器20产生语法元素以供输出并输出所述语法元素,且视频解码器30接收指示解码单元信息SEI消息在位流中的存在的语法元素。作为一个实例,视频编码器20输出CpbDpbDelaysPresentFlag及sub_pic_cpb_params_present_flag。如果CpbDpbDelaysPresentFlag等于1且sub_pic_cpb_params_present_flag等于1,则视频解码器30可确定一或一个以上解码单元信息SEI消息存在于经译码视频序列中的每一解码单元中(即,一或多个解码单元信息SEI消息)。如果CpbDpbDelaysPresentFlag等于0或sub_pic_cpb_params_present_flag等于0,则视频解码器30可确定无解码单元信息SEI消息存在于经译码视频序列的任何存取单元中。

根据本发明中所描述的一或多个实例,解码单元信息SEI消息应用于的NAL单元(也被称为与解码单元信息SEI消息相关联的NAL单元)按解码次序由以下各者组成:含有解码单元信息SEI消息的SEI NAL单元,及存取单元中直至(但不包含)含有具有decoding_unit_id的不同值的解码单元信息SEI消息的任何后续SEI NAL单元的所有后续NAL单元。在这些实例中,decoding_unit_id的定义可与上文关于表2所描述的decoding_unit_id的定义相同,但包含于SEI消息(例如,解码单元信息SEI消息)中。举例来说,通过DU识别符(例如,DU ID或duID)的特定值识别的解码单元可包含且可仅包含存取单元中与具有等于DU识别符的decoding_unit_id的所有解码单元信息SEI消息相关联的所有NAL单元。如上文,具有较小解码单元识别符的解码单元在解码次序上比具有较大解码单元识别符的解码单元早。如上文,一个解码单元的NAL单元在解码次序上可能不驻留于另一解码单元的两个NAL单元之间。

du_cpb_removaI_delay可指定在视频解码器30从CPB移除与解码单元信息SEI消息相关联的解码单元之前、在从CPB移除与先前存取单元中的最近缓冲周期SEI消息相关联的存取单元中的第一解码单元之后、视频解码器30将等待的子图片时钟刻度的数目。此值还可用以计算用于假想流排程器(HSS)的解码单元数据到CPB中的最早可能到达时间,如HEVC WD8的附录C中所指定。

所述语法元素可由固定长度码来表示,所述固定长度码的以位计的长度是通过cpb_removal_delay_length_minus1+1来给出。du_cpb_removal_delay可为模2(cpb_removal_delay_length_minus1+1)计数器的余数。

在一些实例中,确定语法元素du_cpb_removal_delay的长度(以位计)的cpb_removal_delay_length_minus1的值可为在对于与解码单元信息SEI消息相关联的经译码图片来说是作用中的序列参数集中经译码的cpb_removal_delay_length_minusl的值。然而,du_cpb_removal_delay指定相对于含有缓冲周期SEI消息的先前存取单元中的第一解码单元的移除时间的子图片时钟刻度的数目,所述先前存取单元可为不同的经译码视频序列的存取单元。

表3提供用于解码单元信息SEI消息的一个实例的实例伪码,其中将SPT SEI消息的名称改变为解码单元信息SEI消息,这是因为解码单元信息SEI消息包含先前为SPT SEI消息的部分的信息且进一步包含用于与消息相关联的解码单元的DU识别符。在一些实例中,可能潜在地存在对子图片时序(SPT)SEI消息的其它修改。

举例来说,2012年9月24日申请的美国临时申请案第61/705,119号(下文中为申请案′119)及2012年10月1日申请的美国临时申请案第61/708,475号(下文中为申请案′475)(所述美国临时申请案中的每一者的全部内容以引用的方式并入本文中)描述相对于HEVC WD8中所描述的SPT SEI消息的对SPT SEI消息的一些可能修改。申请案′119及申请案′475描述将应用操作点语法结构包含于SPT SEI消息中且将du_cpb_removal_delay语法元素改变为下文定义的du_spt_cpb_removal_delay。

本发明中所描述的所述技术还可应用于SPT SEI消息从HEVC WD8改变为申请案′119及申请案′475中的SPT SEI消息的实例。下文的表4提供用于视频编码器20可藉以用信号发出SEI消息的替代实例中的DU识别符的方式及视频解码器30可藉以剖析SEI消息以确定DU识别符的方式的实例伪码。如同表3,为了避免混淆,将SPT SEI消息的名称改变为解码单元信息SEI消息,这是因为除如申请案′119及申请案′475中所描述的SPT SEI消息中的信息之外,解码单元信息SEI消息还包含DU识别符。

表4.SEI消息中的替代发信号

等于1的sub_pic_cpb_params_in_pic_timing_sei_flag指定子图片层级CPB移除延迟参数存在于图片时序SEI消息中且无子图片时序SEI消息存在。等于0的sub_pic_cpb_params_in_pic_timing_sei_fiag指定子图片层级CPB移除延迟参数存在于子图片时序SEI消息中且图片时序SEI消息并不包含子图片层级CPB移除延迟参数。

如上文关于表3,解码单元信息SEI消息提供用于与SEI消息相关联的解码单元的CPB移除延迟信息。以下内容可应用于解码单元信息SEI消息语法及语义。

语法元素sub_pic_cpb_params_present_flag、sub_pic_cpb_params_inpic_timing_sei_flag及cpb_removal_delay_length_minus1以及变量CpbDpbDelaysPresentFlag可见于以下语法元素中或从以下语法元素导出:可应用于解码单元信息SEI消息应用于的操作点中的任一者的hrd_parameters()语法结构及sub_layer_hrd_parameters()语法结构中可见的语法元素。位流(或其部分)旨代与解码单元信息SEI消息应用于的操作点中的任一者相关联的位流子集(或其部分)。

类似于上文关于表3,视频编码器20输出视频解码器30用来确定位流中的解码单元SEI消息的存在的CpbDpbDelaysPresentFlag及sub_pic_cpb_params_present_flag。在表4的实例中,如果CpbDpbDelaysPresentFlag等于1且sub_pic_cpb_params_present_flag等于1,则视频解码器30可确定应用于指定操作点的一个解码单元信息SEI消息存在于经译码视频序列中的每一解码单元中。否则(例如,CpbDpbDelaysPresentFlag等于0或sub_pic_cpb_params_present_flag等于0),视频解码器30可确定无可应用于指定操作点的解码单元信息SEI消息存在于经译码视频序列中。

类似于关于表3的描述,解码单元信息SEI消息应用于的NAL单元(也被称为与解码单元信息SEI消息相关联的NAL单元)按解码次序由以下各者组成:含有解码单元信息SEI消息的SEI NAL单元,及存取单元中直至(但不包含)含有具有decoding_unit_id的不同值的解码单元信息SEI消息的任何后续SEI NAL单元的所有后续NAL单元。decoding_unit_id的定义可与上文关于表3所描述的定义相同,且具较小DU识别符的解码单元在解码次序上比具有较大DU识别符的解码单元早。在表4的实例中,du_spt_cpb_removal_delay可指定含有解码单元信息SEI消息的当前存取单元中的解码次序上的最后解码单元及与解码单元信息SEI消息相关联的解码单元从CPB的移除之间的持续时间,其以子图片时钟刻度为单位(参见HEVC WD8的子条款E.2.1)。此值还可用以计算用于假想序列排程器(HSS)的解码单元数据到CPB中的最早可能到达时间,如HEVC WD8的附录C中所指定。所述语法元素可由固定长度码来表示,所述固定长度码的以位计的长度是通过du_cpb_removal_delay_length_minus1+1来给出。当与解码单元信息SEI消息相关联的解码单元是当前存取单元中的最后解码单元时,du_spt_cpb_removal_delay的值可等于0。

或者,du_spt_cpb_removal_delay可指定含有解码单元信息SEI消息的当前存取单元中的解码次序上的下一个解码单元及与解码单元信息SEI消息相关联的解码单元从CPB的移除之间的持续时间,其以子图片时钟刻度为单位(参见子条款E.2.1)。此值还可用以计算用于HSS的解码单元数据到CPB中的最早可能到达时间,如HEVC WD8的附录C中所指定。所述语法元素是由固定长度码来表示,所述固定长度码的以位计的长度是通过du_cpb_removal_delay_length_minus1+1来给出。当与解码单元信息SEI消息相关联的解码单元是当前存取单元中的最后解码单元时,du_spt_cpb_removal_delay的值可等于0。或者,无解码单元信息SEI消息可与每一存取单元中的最后解码单元相关联。

上述实例描述用于用信号发出视频解码器30用来确定哪些NAL单元与哪些解码单元相关联的解码单元识别符的技术。举例来说,如果切片标头指示解码单元识别符,则视频解码器30可确定包含所述切片的NAL单元与切片标头中所指示的解码单元相关联。作为另一实例,如果SEI消息(例如,解码单元信息SEI消息)指示解码单元识别符,则视频解码器30确定所有NAL单元在所述SEI消息之后,直至下一SEI NAL单元包含具有不同于先前SEI消息的解码单元识别符的解码单元识别符的解码单元信息SEI消息。此允许视频编码器20包含解码单元信息SEI消息的多个副本,此又允许视频解码器30在其它解码单元信息SEI消息中的一者在发射中丢失的状况下根据多个解码单元信息SEI消息中的一者来确定解码单元从CPB的移除时间。

在一些实例中,视频编码器20可产生各种类型的SEI消息的多个副本以供输出并输出所述多个副本,且视频解码器30可接收所述多个副本。如上文所描述,针对所有SEI消息指定以下方面:(a)SEI消息中所载运的信息应用于的应用范围;(b)SEI消息可存在的位置;及(c)对特定类型的SEI消息的多个实例的内容的限制。

假定以下惯例以用于描述应用范围、消息可存在的位置及对SEI消息的多个实例的内容的限制。认为SEI消息与含有SEI消息的SEI NAL单元的NAL单元标头中的nuh_reserved_zero_6bits的值相关联。在下文中,“层ID”可与“nuh_reserved_zero_6bits”互换地使用,这是因为nuh_reserved_zero_6bits识别可调式视频译码中的层。

如上文,缩写AU代表存取单元。用于每一缓冲周期SEI消息、图片时序SEI消息或子图片时序SEI消息的可应用操作点如申请案′119及申请案′475中所指定。操作点是通过以下各者来识别:nuh_reserved_zero_6bits值的集合(表示为OpLayerIdSet),及时间识别值(TemporalId)值(表示为OpTid),及作为子位流提取过程的输出而导出的相关联的位流子集(如HEVC WD8的子条款10.1中所指定),其中OpTid及OpLayerIdSet作为可独立解码的输入。

图片的TemporalId值指示所述图片是否可用于帧间预测其它图片。举例来说,如果第一图片的TemporalId值大于第二图片的TemporalId值,则第一图片无法用于第二图片的帧间预测。以此方式,可移除(提取)具有最大TemporalId值的图片而对视频解码无任何影响,这是因为所述图片无法用于帧间预测剩余图片中的任一者。类似地,可移除具有最大及次最大TemporalId值的图片而对视频解码无任何影响,因为这些图片无法用于帧间预测剩余图片中的任一者,等等。虽然基于TemporalId值移除这些图片可能不影响视频解码且改进带宽利用(例如,归因于图片的移除),但如果这些图片经移除,则可能存在对视频的质量的负面影响。

子条款10.1中所指定的子位流提取过程描述对符合性的特定要求。作为一个实例,将通过所述过程从位流提取的具有在0到6的范围中(包含0及6)的任何目标最高TemporalId值及仅包含等于零的nuh_reserved_zero_6bits的值的目标层识别符列表的任何子位流视为确认位流。

场景周期可包含且可仅包含从含有场景信息SEI消息的AU开始到在解码次序上含有场景信息SEI消息的下一AU或经译码视频序列的结尾(无论哪一者在解码次序上较早)的所有AU。后滤波器周期可包含且可仅包含从含有后滤波器提示SEI消息的AU开始到在解码次序上含有后滤波器提示SEI消息的下一AU或经译码视频序列的结尾(无论哪一者在解码次序上较早)的所有AU。

如果子图片时序SEI消息并不包含解码单元ID,则解码单元可包含且可仅包含AU内的从含有子图片时序SEI消息的SEI NAL单元到含有子图片时序SEI消息的下一SEI NAL单元或AU的结尾(无论哪一者在解码次序上较早)的NAL单元的集合。否则,解码单元可包含且可仅包含AU内的从含有子图片时序SEI消息的SEI NAL单元到含有具有解码单元ID的不同值的子图片时序SEI消息的下一SEI NAL单元或AU的结尾(无论哪一者在解码次序上较早)的NAL单元的集合。

表5.针对SEI消息的关联、存在及限制

表5说明不同类型的SEI消息,且说明不同类型的SEI消息、存取单元的时间识别值及是否存在任何限制及对SEI消息的限制的类型之间的关系。举例来说,视频编码器20可确定SEI消息的类型且可确定存取单元的时间识别值。基于时间识别值及SEI消息的类型,视频编码器20可确定是否允许SEI消息的存在。

作为一个实例,假定SEI消息类型为缓冲周期SEI消息。在此实例中,如果时间识别值不等于0,则视频编码器20可确定不允许缓冲周期SEI消息的存在。作为另一实例,假定SEI消息类型为图片时序SEI消息。在此实例中,不管时间识别值,视频编码器20皆可确定允许图片时序SEI消息的存在。

根据本发明中所描述的所述技术,视频编码器20及视频解码器30为经配置以实施本发明中所描述的一或多个实例技术的视频译码器的实例。举例来说,视频编码器20可用信号发出用于解码单元的识别符(例如,编码用于解码单元的识别符且用信号发出所述识别符),且视频解码器30可接收用于解码单元的识别符(例如,接收用于解码单元的识别符并解码所述识别符)。在此意义上,视频译码器(例如,视频编码器20及视频解码器30)可经配置以译码(例如,编码或解码)用于解码单元的识别符。

视频译码器可经配置以译码用于存取单元中的每一解码单元的唯一识别符,以使得用于所述存取单元中的一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。在一些实例中,视频译码器可基于用于解码单元中的每一者的唯一识别符而使网络抽象层(NAL)单元与存取单元中的解码单元相关联。而且,在一些实例中,视频译码器可在解码单元或存取单元内重复补充增强信息(SEI)消息。

为了译码每一DU,视频译码器可译码用于第一DU的第一识别符,且译码用于第二不同DU的第二不同识别符。在此实例中,第二识别符可为第一识别符递增1。

在一些实例中,视频译码器可将用于每一解码单元的唯一识别符译码于切片标头中。在这些实例中,唯一识别符可识别切片所属的解码单元,且视频译码器可确定包含所述切片的NAL单元与由切片标头中的解码单元识别符识别的解码单元相关联。在一些实例中,视频译码器可将用于解码单元的唯一识别符译码于SEI消息中。举例来说,视频译码器可将唯一识别符译码于SEI消息(例如,解码单元信息SEI消息)中,所述SEI消息还包含关于何时欲将解码单元从经译码图片缓冲器(CPB)移除的信息。用于解码单元的唯一识别符可识别含有解码单元信息SEI消息的解码单元。

在一或多个实例技术中,视频译码器可译码用于存取单元中的第一解码单元的第一识别符,且译码用于存取单元中的第二不同解码单元的第二不同识别符。在一些实例中,当所述第一识别符的值小于所述第二识别符的值时,所述第一解码单元在解码次序上可在所述第二解码单元之前。在一些实例中,视频译码器可将用于每一解码单元的唯一识别符作为解码单元的索引按解码次序写入到存取单元中的所有解码单元的列表中。

在一些例子中,视频译码器可将第一视频译码层(VCL)网络抽象层(NAL)单元译码于存取单元(AU)中。视频译码器还可译码按解码次序在第一VCL NAL单元之后的补充增强信息(SEI)消息。在一些实例中,视频译码器还可译码SEI消息,以使得SEI消息在解码次序上在AU中的最后VCL NAL单元之前。

图2A及2B是说明根据本发明中所描述的技术的包含解码单元识别符的存取单元的实例的概念图。图2A说明存取单元34且图2B说明存取单元50。存取单元34及存取单元50包含解码至少一个图片所需的视频数据(例如,用于解码同一时间实例的不同视图的一图片或多个图片的一或多个层)。视频编码器20输出存取单元34或存取单元50以作为视频解码器30经由链路16或存储装置32接收的经译码位流的部分。

在图2A及2B中,存取单元34及存取单元50包含多个解码单元,此意谓视频编码器20将存取单元34及存取单元50的SubPicCpbFlag输出为1,以向视频解码器30指示:对于存取单元34及存取单元50,允许子图片层级的操作。

在图2A中,存取单元34包含解码单元36A到36C(统称为“解码单元36”)。解码单元36A包含第一SEI NAL单元38A及第二SEI NAL单元38B。SEI NAL单元38A及38B两者包含SEI消息(例如,解码单元信息SEI消息),所述SEI消息指示关于解码单元36A的移除时间的信息且还包含用于解码单元36A的解码单元识别符。解码单元36A还包含NAL单元40A到40D。

解码单元36B包含第三SEI NAL单元42,所述第三SEI NAL单元42包含SEI消息,所述SEI消息指示关于解码单元36B的移除时间的信息且还包含用于解码单元36B的解码单元识别符。用于解码单元36B的解码单元识别符不同于用于解码单元36B的解码单元识别符(例如,比用于解码单元36A的解码单元识别符大一)。解码单元36B还包含NAL单元44A及44B。

解码单元36C包含第四SEI NAL单元46A及第五SEI NAL单元46B。SEI NAL单元46A及46B两者包含SEI消息(例如,解码单元信息SEI消息),所述SEI消息指示关于解码单元36C的移除时间的信息且还包含用于解码单元36C的解码单元识别符。解码单元36C还包含NAL单元48A及48B。

30可基于解码单元信息SEI消息而确定哪些NAL单元与哪些解码单元相关联。举例来说,视频解码器30可确定SEI NAL单元38A及在SEI NAL单元38A之后的NAL单元(例如,NAL单元40A及40B)与解码单元36A相关联,这是因为SEI NAL单元38A的解码单元信息SEI消息包含用于解码单元36A的解码单元识别符。接着,视频解码器30可确定SEI NAL单元38B还为解码单元36A的部分,这是因为SEI NAL单元38B的解码单元信息SEI消息为SEI NAL单元38A的解码单元信息SEI消息的副本(例如,包含相同移除时间信息及相同解码单元识别符)。在此实例中,视频解码器30可确定NAL单元40C及40D还与解码单元36A相关联,这是因为这些NAL单元在SEI NAL单元38B之后且在具有解码单元信息SEI消息的另一SEI NAL单元之前。

视频解码器30可确定SEI NAL单元42不属于解码单元36A,这是因为SEI NAL单元42的解码单元信息SEI消息中的解码单元识别符不同于SEI NAL单元38A及38B的解码单元信息SEI消息中的解码单元识别符。在此状况下,视频解码器30可确定:SEI NAL单元42与另一解码单元(例如,解码单元36B)相关联,且NAL单元44A及44B还与解码单元36B相关联,这是因为这些NAL单元在SEI NAL单元42之后且在具有包含不同解码单元识别符的解码单元信息SEI消息的另一SEI NAL单元之前。

视频解码器30可确定SEI NAL单元46A与不同解码单元(例如,解码单元36C)相关联,这是因为SEI NAL单元46A的解码单元信息SEI消息中的解码单元识别符不同于先前解码单元识别符(例如,比先前解码单元识别符大一)。视频解码器30确定NAL单元48A与解码单元36C相关联,这是因为NAL单元48A在SEI NAL单元46A之后且在包含解码单元信息SEI消息的SEI NAL单元46B之前。

在此实例中,SEI NAL单元46B包含解码单元信息SEI消息,所述消息包含与SEI NAL单元46A的解码单元信息SEI消息相同的解码单元识别符(例如,解码单元信息SEI消息为副本)。视频解码器30可接着确定NAL单元48B与解码单元36C相关联,这是因为NAL单元48B为存取单元34中的最后NAL单元。

在图2A中,解码单元信息SEI消息的实例包含上文关于表3及表4所描述的所述实例。而且,在图2A中,属于解码单元的NAL单元是连续的(即,用于其它解码单元的NAL单元未穿插有解码单元的NAL单元)。

在图2A中,视频编码器20可产生用于对应解码单元中的每一解码单元的解码单元识别符以供输出并输出所述解码单元识别符。举例来说,视频编码器20将所述解码单元识别符包含于对应解码单元36A中的SEI NAL单元38A及SEI NAL单元38B的解码单元信息SEI消息中,且输出所述解码单元识别符作为SEI NAL单元38A及38B的解码单元信息SEI消息的部分。视频编码器20将所述解码单元识别符包含于对应解码单元36B中的SEI NAL单元42的解码单元信息SEI消息中,且将所述解码单元识别符包含于对应解码单元36C中的SEI NAL单元46A及SEI NAL单元46B的解码单元SEI消息中。在这些实例中,视频编码器20输出所述解码单元识别符作为SEI NAL单元42、46A及46B的相应解码单元SEI消息的部分。

包含解码单元SEI消息允许视频解码器30基于所述解码单元识别符而确定哪些NAL单元与哪些解码单元相关联,使得即使NAL单元丢失,视频解码器30也仍可确定哪些NAL单元与哪些解码单元相关联。举例来说,假定NAL单元40C丢失。在此实例中,视频解码器30仍可确定NAL单元40D与解码单元36A相关联,这是因为NAL单元40D在SEI NAL单元38B(其解码单元信息SEI消息指示用于解码单元36A的解码单元识别符)之后且在SEI NAL单元42(其解码单元信息SEI消息指示用于解码单元36B的解码单元识别符)之前。此外,关于指示解码单元识别符的解码单元SEI消息,视频编码器20可将解码单元SEI消息的多个副本包含于解码单元中。

如图2B中所说明,存取单元50包含解码单元52A到52C(统称为“解码单元52”)。解码单元52A包含切片NAL单元54A及54B,解码单元52B包含切片NAL单元64A到64C,且解码单元52C包含切片NAL单元78A及78B。切片NAL单元中的每一者包含切片标头及切片主体。切片标头包含标头信息(其包含解码单元识别符),且切片主体包含用于解码切片的视频数据。

举例来说,切片NAL单元54A包含切片标头56及切片主体58,且切片NAL单元54B包含切片标头60及切片主体62。在此实例中,切片NAL单元54A的切片标头56及切片NAL单元54B的切片标头60各自包含相同解码单元识别符,视频解码器30利用所述相同解码单元识别符确定NAL单元54A及NAL单元54B与同一解码单元(例如,解码单元52A)相关联。

片段切片NAL单元64A包含切片标头66及切片主体68,切片NAL单元64B包含切片标头70及切片主体72,且切片NAL单元64C包含切片标头74及切片主体76。在此实例中,切片NAL单元64A的切片标头66、切片NAL单元64B的切片标头70及切片NAL单元64C的切片标头74各自包含相同解码单元识别符,视频解码器30利用所述相同解码单元识别符确定NAL单元64A、NAL单元64B及NAL单元64C与同一解码单元(例如,解码单元52B)相关联。

片段切片NAL单元78A包含切片标头80及切片主体82,且切片NAL单元78B包含切片标头84及切片主体86。在此实例中,切片NAL单元78A的切片标头80及切片NAL单元78B的切片标头84各自包含相同解码单元识别符,视频解码器30利用所述相同解码单元识别符确定NAL单元78A及NAL单元78B与同一解码单元(例如,解码单元52C)相关联。

在图2B中,解码单元信息SEI消息的实例包含上文关于表2所描述的所述实例。类似于图2A,在图2B中,属于解码单元的NAL单元是连续的(即,用于其它解码单元的NAL单元未穿插有解码单元的NAL单元)。

如所说明,视频编码器20将解码单元识别符包含于用于对应解码单元52A的切片标头56及60中,且输出所述解码单元识别符作为切片标头56及60的部分。而且,视频编码器20将解码单元识别符包含于用于对应解码单元52B的切片标头66、70及74中,且输出所述解码单元识别符作为切片标头66、70及74的部分。类似地,视频编码器20将解码单元识别符包含于用于对应解码单元52C的切片标头80及84中,且输出所述解码单元识别符作为切片标头80及84的部分。

在图2B中所说明的实例中,视频解码器30无需依赖SPT SEI消息的位置来确定哪个切片NAL单元与哪个解码单元相关联。实情为,视频解码器30利用切片NAL单元的切片标头中所指示的解码单元识别符来确定哪个切片NAL单元与哪个解码单元相关联。在此状况下,即使切片NAL单元丢失(例如,切片NAL单元54B),视频解码器30可能仍能够基于切片标头而确定哪个NAL单元与哪些解码单元相关联。

图3是说明可实施本发明中所描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内及帧间译码(帧内预测编码或解码及帧间预测编码或解码)。帧内译码依赖空间预测以减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖时间预测以减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代干基于时间的压缩模式中的任一者。

在图3的实例中,视频编码器20包含分割单元135、预测处理单元141、滤波器单元163、参考图片存储器164(有时被称为经解码图片缓冲器)、求和器150、变换处理单元152、量化处理单元154及熵编码单元156。预测处理单元141包含运动估计单元142、运动补偿单元144及帧内预测单元146。对于视频块重建构,视频编码器20还包含反量化处理单元158、反变换处理单元160及求和器162。滤波器单元163可大体上表示一或多个环路滤波器,例如解块滤波器、自适应性环路滤波器(ALF)及样本自适应性偏移(SAO)滤波器。尽管在图3中将滤波器单元163展示为环路内滤波器,但在其它配置中,滤波器单元163可实施为环路后滤波器,在所述状况下,在译码环路中可使用未经滤波的数据。

如图3中所展示,视频编码器20接收视频数据,且分割单元135将所述数据分割成多个视频块。此分割还可包含分割成切片、图像块或其它较大单元,以及(例如)根据LCU及CU的四分树结构的视频块分割。视频编码器20大体上说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称为图像块的视频块的集合)。预测处理单元141可基于错误结果(例如,译码速率及失真程度)针对当前视频块选择多个可能译码模式中的一者(例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元141可将所得的经帧内译码或经帧间译码的块提供到求和器150以产生残余块数据,且提供到求和器162以重建构经编码块以用作参考图片。

预测处理单元141内的帧内预测单元146可执行当前视频块相对于与待译码的当前块相同的帧或切片中的一或多个相邻块的帧内预测性译码,以提供空间压缩。预测处理单元141内的运动估计单元142及运动补偿单元144执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。

运动估计单元142可经配置以根据视频序列的预定型样确定视频切片的帧间预测模式。预定型样可将序列中的视频切片指明为P切片、B切片或GPB切片。运动估计单元142及运动补偿单元144可高度集成,但为概念目的而分别加以说明。由运动估计单元142执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。

预测性块为经发现在像素差方面紧密匹配待译码的视频块的PU的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器164中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元142可相对于全像素位置及分数像素位置执行运动搜索且输出具有分数像素精度的运动向量。

运动估计单元142通过比较经帧间译码的切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考图片存储器164中的一或多个参考图片。运动估计单元142将所计算的运动向量发送到熵编码单元156及运动补偿单元144。

由运动补偿单元144执行的运动补偿可涉及基于通过运动估计确定的运动向量而提取或产生预测性块,从而可能执行到子像素精度的内插。在接收到当前视频块的PU的运动向量后,运动补偿单元144可将运动向量所指向的预测性块定位于参考图片列表中的一者中。视频编码器20通过从正经译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含明度差分量及色度差分量两者。求和器150表示执行此减法运算的一或多个组件。运动补偿单元144还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。

作为由运动估计单元142及运动补偿单元144执行的帧间预测的替代,帧内预测单元146可帧内预测当前块,如上文所描述。明确地说,帧内预测单元146可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元146可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元146(或在一些实例中,模式选择单元(未说明))可从所测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测单元146可使用针对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且在所测试模式中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与经编码以产生经编码块的原始未经编码块之间的失真(或错误)的量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测单元146可根据各种经编码块的失真及速率计算比率以确定哪种帧内预测模式展现块的最佳速率-失真值。

在任何情况下在任一状况下,在选择用于块的帧内预测模式之后,帧内预测单元146可将指示用于块的选定帧内预测模式的信息提供到熵编码单元156。熵编码单元156可根据本发明的技术来编码指示选定帧内预测模式的信息。视频编码器20可在经发射的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(也被称为码字映射表)、各种块的编码上下文的定义,及用于上下文中的每一者的最大可能帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。

在预测处理单元141经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且应用于变换处理单元152。变换处理单元152使用变换(例如,离散余弦变换(DCT)或概念上类似的变换)将残余视频数据变换成残余变换系数。变换处理单元152可将残余视频数据从像素域转换到例如频域等变换域。

变换处理单元152可将所得变换系数发送到量化处理单元154。量化处理单元154量化所述变换系数以进一步减小位速率。量化过程可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化处理单元154可接着执行包含经量化的变换系数的矩阵的扫描。或者,熵编码单元156可执行所述扫描。

在量化之后,熵编码单元156熵编码经量化的变换系数。举例来说,熵编码单元156可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、机率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元156进行的熵编码之后,可将经编码位流发射到视频解码器30,或将其封存以供稍后发射或由视频解码器30检索。熵编码单元156还可熵编码正经译码的当前视频切片的运动向量及其它语法元素。

反量化处理单元158及反变换处理单元160分别应用反量化及反变换,以在像素域中重建构残余块以供稍后用作参考图片的参考块。运动补偿单元144可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元144还可将一或多个内插滤波器应用于经重建构的残余块以计算子整数像素值以供在运动估计中使用。求和器162将经重建构的残余块加到由运动补偿单元144产生的经运动补偿的预测块以产生参考块以存储于参考图片存储器164中。参考块可由运动估计单元142及运动补偿单元144用作参考块以帧间预测后续视频帧或图片中的块。

图3的视频编码器20表示经配置以实施本文中所描述的技术中的一或多者的视频编码器的实例。举例来说,预测处理单元141表示用于执行上文所描述的实例功能的一个实例单元。预测处理单元141可产生NAL单元且使所述NAL单元与存取单元的解码单元相关联。预测处理单元141可产生解码单元识别符且将所述解码单元识别符包含于SEI NAL单元的解码单元信息SEI消息中及/或将所述解码单元识别符包含于切片NAL单元的切片的切片标头中。熵编码单元156可熵编码所述解码单元(例如,所述解码单元内的NAL单元)。

在一些实例中,不同于预测处理单元141的单元可实施上文所描述的所述实例。在一些实例中,预测处理单元141结合视频编码器20的一或多个其它单元可实施上文所描述的所述实例。在一些实例中,视频编码器20的处理器或单元(图3中未图示)可单独地或结合视频编码器20的其它单元实施上文所描述的所述实例。

图4是说明可实施本发明的技术的实例视频解码器30的框图。在图4的实例中,视频解码器30包含熵解码单元180、预测处理单元181、反量化处理单元186、反变换处理单元188、求和器190、滤波器单元191、参考图片存储器192(有时被称为解码图片缓冲器(DBP))及经译码图片缓冲器(CPB)194。预测处理单元181包含运动补偿单元182及帧内预测单元184。在一些实例中,视频解码器30可执行与关于来自图3的视频编码器20所描述的编码遍次大体上互逆的解码遍次。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联的语法元素的经编码视频位流。视频解码器30可从网络实体29接收经编码视频位流。举例来说,网络实体29可为服务器、媒体感知网络元件(MANE)、视频编辑器/剪接器,或经配置以实施上文所描述的技术中的一或多者的其它此装置。如上文所描述,本发明中所描述的技术中的一些技术可由网络实体29在网络29将经编码视频位流发射到视频解码器30之前实施。在一些视频解码系统中,网络实体29及视频解码器30可为单独装置的部分,而在其它例子中,关于网络实体29所描述的功能性可由包括视频解码器30的同一装置执行。

经译码图片缓冲器194接收来自网络实体29的经译码图片。如本发明中所描述,经编码位流中的语法元素的部分指示是否允许对CPB 194的子图片层级存取。而且,经编码位流可包含定义用于CPB 194内的图片的处理(例如,存取单元的解码单元的移除时间)的信息的SEI消息。

视频解码器30的熵解码单元180熵解码所述位流以产生经量化的系数、运动向量及其它语法元素。熵解码单元180将运动向量及其它语法元素转递到预测处理单元181。视频解码器30可接收视频切片层级及/或视频块层级的语法元素。

当视频切片经译码为经帧内译码(I)切片时,预测处理单元181的帧内预测单元184可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元181的运动补偿单元182基于从熵解码单元180接收的运动向量及其它语法元素而产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生所述预测性块。视频解码器30可基于存储于参考图片存储器192中的参考图片使用默认建构技术来建构参考帧(图片)列表(列表0及列表1)。

运动补偿单元182通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息产生用于正经解码的当前视频块的预测性块。举例来说,运动补偿单元182使用所接收的语法元素中的一些语法元素确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的参考图片列表中的一或多者的建构信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

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

反量化处理单元186反量化(即,解量化)提供于位流中且由熵解码单元180解码的经量化的变换系数。反量化过程可包含使用由视频编码器20针对视频切片中的每一视频块计算的量化参数来确定量化的程度及(同样地)应应用的反量化的程度。反变换处理单元188将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数以便产生像素域中的残余块。

在运动补偿单元182基于运动向量及其它语法元素而产生用于当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元188的残余块与由运动补偿单元182产生的对应预测性块加总而形成经解码视频块。求和器190表示执行此加总运算的一或多个组件。在需要时,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变平滑或以其它方式改进视频质量。滤波器单元191可表示一或多个环路滤波器,例如解块滤波器、自适应性环路滤波器(ALF)及样本自适应性偏移(SAO)滤波器。尽管在图4中将滤波器单元191展示为环路内滤波器,但在其它配置中,滤波器单元191可实施为环路后滤波器。接着将给定帧或图片中的经解码视频块存储于参考图片存储器192中,参考图片存储器192存储用于后续运动补偿的参考图片。参考图片存储器192还存储经解码视频以供稍后呈现于显示装置(例如,图1的显示装置31)上。

图4的视频解码器30表示经配置以实施本文中所描述的技术中的一或多者的视频解码器的实例。举例来说,预测处理单元181表示用于执行上文所描述的实例功能的一个实例单元。举例来说,预测处理单元181可确定SubPicCpbFlag是否指示允许CPB 194中的子图片层级操作。如果允许子图片层级操作,则预测处理单元181可确定哪些NAL单元与存取单元的哪些解码单元相关联。

举例来说,预测处理单元181可确定SEI NAL单元包含解码单元信息SEI消息。根据解码单元信息SEI消息,预测处理单元181可确定解码单元从CPB 194的移除时间,及解码单元识别符。预测处理单元181可确定:SEI NAL单元及在所述SEI NAL单元之后、直到包含具有不同解码单元识别符的解码单元信息SEI消息的另一SEI NAL单元的所有NAL单元与由解码单元的解码单元信息SEI消息识别的解码单元相关联。

作为另一实例,预测处理单元181可确定切片的切片标头包含解码单元识别符。预测处理单元181可基于解码识别符而确定包含切片及其切片标头的切片NAL单元与哪个解码单元相关联。

以此方式,即使NAL单元在发射中丢失,预测处理单元181还可能能够确定其它(即,所接收到的且未丢失的)NAL单元与哪些解码单元相关联。在一些实例中,预测处理单元181可能能够确定欲将解码单元从CPB 194移除的时间,这是因为解码单元内可存在解码单元SEI消息的多个副本。

在一些实例中,不同于预测处理单元181的单元可实施上文所描述的所述实例。在一些实例中,预测处理单元181结合视频解码器30的一或多个其它单元可实施上文所描述的所述实例。在一些实例中,视频解码器30的处理器或单元(图4中未图示)可单独地或结合视频解码器30的其它单元实施上文所描述的所述实例。

图5是说明根据本发明中所描述的一或多个实例的编码视频数据的实例的流程图。出于说明的目的,关于视频解码器20来描述图5的实例。

视频编码器20确定用于存取单元中的每一解码单元的唯一识别符(200)。用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。举例来说,视频编码器20确定用于所述存取单元中的第一解码单元的第一识别符,且确定用于所述存取单元中的第二不同解码单元的第二不同识别符。在此实例中,如果所述第一识别符的值小于所述第二识别符的值,则所述第一解码单元在解码次序上在所述第二解码单元之前。

视频编码器20确定哪些NAL单元与存取单元的哪些解码单元相关联(202)。举例来说,解码单元可各自表示图片的部分的视频数据,且NAL单元可表示解码单元的部分。视频编码器20可确定解码单元的视频数据的哪些部分是由哪些NAL单元表示,且确定表示解码单元的视频数据的NAL单元与解码单元相关联。

视频编码器20产生对应解码单元中的每一唯一识别符以供输出,所述唯一识别符指示哪些NAL单元与所述存取单元的哪些解码单元相关联(204)。举例来说,视频编码器20可经由熵编码单元156来熵编码用于解码单元中的每一者的唯一识别符。在这些实例中,可将编码视为产生以供输出。此外,视频编码器20可输出(例如,用信号发出)对应解码单元中的每一唯一识别符以指示哪些NAL单元与存取单元的哪些解码单元相关联,以作为经译码位流的部分。

举例来说,视频编码器20可将用于第一解码单元的第一唯一识别符包含于第一解码单元信息SEI消息中,且在输出所述第一唯一识别符之后输出与所述第一解码单元相关联的所有NAL单元以作为所述第一解码单元信息SEI消息的部分。视频编码器20可将用于第二解码单元的第二解码单元识别符包含于第二解码单元SEI消息中。在输出与所述第一解码单元相关联的所有NAL单元之后,视频编码器20可输出所述第二解码单元SEI消息中的所述第二解码单元识别符以作为输出第二解码单元的部分。作为另一实例,视频编码器20可将所述唯一识别符中的每一者包含于切片NAL单元的切片标头中且输出所述唯一识别符中的每一者。

在一些实例中,作为解码单元的部分,视频编码器20可输出指示关于解码单元的移除时间的信息的第一解码单元SEI消息。作为所述解码单元的部分,视频编码器20还可输出指示所述解码单元的所述移除时间的信息的第二解码单元SEI消息。在一些状况下,所述第二解码单元SEI消息为所述第一解码单元SEI消息的副本。在一些实例中,视频编码器20可将SEI消息包含于存取单元中,且将所述SEI消息的副本包含于存取单元中。视频编码器20可输出包含所述SEI消息及所述SEI消息的所述副本的存取单元。

图6是说明根据本发明中所描述的一或多个实例的解码视频数据的实例的流程图。出于说明的目的,关于视频解码器30来描述图6的实例。

视频解码器30可解码用于存取单元中的每一解码单元的唯一识别符(206)。在此实例中,用于一个解码单元的识别符不同于用于所述存取单元中的任何其它解码单元的识别符。举例来说,视频解码器30可解码用于所述存取单元中的第一解码单元的第一识别符,且解码用于所述存取单元中的第二不同解码单元的第二不同识别符。在此实例中,如果所述第一识别符的值小于所述第二识别符的值,则所述第一解码单元在解码次序上在所述第二解码单元之前。

视频解码器30可基于用于所述存取单元中的每一解码单元的所述唯一识别符而确定哪些NAL单元与哪些解码单元相关联(208)。举例来说,视频解码器30可解码来自用于第一解码单元的第一解码单元信息SEI消息的第一唯一识别符且解码来自用于第二解码单元的第二解码单元SEI信息的第二唯一识别符。视频解码器30可确定:包含第一解码单元信息SEI消息的第一SEI NAL单元及在所述第一SEI NAL单元之后、直到包含第二解码单元信息SEI消息的第二SEI NAL单元的所有NAL单元与第一解码单元相关联。作为另一实例,视频解码器30可解码切片NAL单元的切片标头中的所述唯一识别符,且基于所述切片标头中的所述唯一识别符而确定所述切片NAL单元与哪一解码单元相关联。

视频解码器30可基于所述确定而解码NAL单元以重建构至少一个图片(210)。举例来说,解码与所有所述解码单元相关联的所有所述NAL单元的结果可为经解码的存取单元。如上文所描述,解码存取单元产生至少一个图片(例如,在不使用多视图视频译码时,产生一个图片,及在使用多视图视频译码时,产生多个图片)。

在一些实例中,视频解码器30可解码指示关于解码单元的移除时间的信息的第一解码单元信息SEI消息。视频解码器30还可解码位于与所述解码单元相关联的两个NAL单元之间的第二解码单元信息SEI消息。在此实例中,所述第二解码单元信息SEI消息为所述第一解码单元信息SEI消息的副本。在一些实例中,视频解码器30可解码所述存取单元中的SEI消息,且解码所述存取单元中的所述SEI消息的副本。

图7是说明根据本发明中所描述的一或多个实例的译码视频数据的实例的流程图。出于说明的目的,关于视频译码器来描述所述技术。视频译码器的实例包含视频编码器20及视频解码器30。举例来说,当进行视频编码时,视频译码器的实例为视频编码器20。当进行视频解码时,视频译码器的实例为视频解码器30。

如图7中所说明,视频译码器经配置以将补充增强信息(SEI)消息译码于存取单元中(212)。如上文所描述,所述存取单元包含用于重建构至少一个图片的视频数据,且所述SEI消息定义所述视频数据的特性(例如,例如上文在表1及表5中所描述的那些特性的特性)。在一些实例中,视频译码器可将所述SEI消息译码于所述存取单元中以用于多会话发射。视频译码器经配置以将所述SEI消息的副本译码于所述存取单元中(214)。在一些实例中,视频译码器可将所述SEI消息的所述副本译码于所述存取单元中以用于所述多会话发射。

举例来说,视频编码器20可将在解码次序上在第一视频译码层(VCL)网络抽象层(NAL)单元之前的SEI消息包含于所述存取单元中。视频编码器20可包含在解码次序上在所述第一VCL NAL单元之后及在解码次序上在最后VCL NAL单元之前的SEI消息的副本。在此实例中,视频编码器20可编码在所述第一VCL NAL单元之前所包含的SEI消息且编码在所述第一VCL NAL单元之后及在最后VCL NAL单元之前所包含的SEI消息的副本。

作为另一实例,视频解码器30可解码存取单元中在解码次序上的第一VCL NAL单元且解码存取单元中在解码次序上的最后VCL NAL单元。在此实例中,视频解码器30可在解码所述第一VCL NAL单元之前解码SEI消息,且在解码所述第一VCL NAL单元之后及在解码最后VCL NAL单元之前解码SEI消息的副本。

在一些实例中,视频译码器可确定SEI消息的类型。视频译码器还可确定存取单元的时间识别值。视频译码器可基于存取单元的时间识别值及SEI消息的类型而确定是否允许SEI消息的存在。在这些实例中,视频译码器可基于是否允许SEI消息的存在的确定而译码SEI消息。

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

在另外其它实例中在再其它实例中,本发明预期计算机可读媒体,所述计算机可读媒体包括存储于其上的数据结构,其中所述数据结构包含与本发明一致地进行译码的经编码位流。

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

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

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

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

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