CN103733623B - 视频译码中用于各种维度的译码参数集 - Google Patents

视频译码中用于各种维度的译码参数集 Download PDF

Info

Publication number
CN103733623B
CN103733623B CN201280038356.3A CN201280038356A CN103733623B CN 103733623 B CN103733623 B CN 103733623B CN 201280038356 A CN201280038356 A CN 201280038356A CN 103733623 B CN103733623 B CN 103733623B
Authority
CN
China
Prior art keywords
dimension
video
value
video coding
row decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280038356.3A
Other languages
English (en)
Other versions
CN103733623A (zh
Inventor
陈盈
马尔塔·卡切维奇
王益魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103733623A publication Critical patent/CN103733623A/zh
Application granted granted Critical
Publication of CN103733623B publication Critical patent/CN103733623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

在一个实例中,一种用于对视频数据进行译码的装置包含经配置以进行以下操作的视频译码器:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些视频译码维度的信息进行译码;以及在网络抽象层NAL单元的NAL单元标头中,对所述经启用视频译码维度中的每一者的值进行译码,但不对未经启用的所述视频译码维度的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的所述值进行译码的视频数据。以此方式,NAL单元标头可具有可变长度,同时仍提供所述NAL单元所对应于的可分级维度的信息。

Description

视频译码中用于各种维度的译码参数集
本申请案主张以下美国临时申请案的利益:2011年8月1日申请的第61/513,996号、2011年9月27日申请的第61/539,925号、2011年11月8日申请的第61/557,300号以及2011年11月23日申请的第61/563,359号。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到各种各样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电话、所谓的“智能电话”、视频电话会议装置、视频流装置等。数字视频装置实施多种视频译码技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)所界定的标准、目前正在开发中的高效视频译码(HEVC)标准以及此些标准的扩展中描述的那些技术。视频装置可通过实施此些视频译码技术来更有效地发射、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频片段(例如,视频帧或视频帧的部分)分割成视频块,所述视频块也可被称作树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)片段中的视频块使用关于同一图片中的相邻块中的参考样本的空间预测来进行编码。图片的经帧间译码(P或B)片段中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码的块的预测块。残余数据表示待译码的原始块与预测块之间的像素差。经帧间译码块是根据以下两项来进行编码:指向形成预测块的参考样本的块的运动向量,以及指示经译码块与预测块之间的差的残余数据。经帧内译码块是根据帧内译码模式以及残余数据来进行编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,所述残余变换系数接着可被量化。可扫描经量化变换系数(最初排列成二维阵列)以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
发明内容
一股来说,本发明描述了用于用信号通知视频数据的各种可分级维度的特性的技术。视频数据可按各种不同维度进行分级,例如空间分辨率、帧速率(时间)、视图(例如,为了支持三维(3D)视频播放)、色彩位深度、色度取样格式、质量或其它此类维度。一股来说,视频数据的可分级维度可包含一个或一个以上元素。举例来说,视图维度可包含用于二维视频的单个视图、用于立体视频的两个视图或用于多视图的N个视图(其中N是大于二的整数)。作为另一实例,时间维度可包含用于支持基础帧速率(例如,15个帧每秒(fps))的图片的第一层以及用于支持较高帧速率(例如,30fps、60fps和120fps)的一个或一个以上较高层。本发明的技术大体上涉及用信号通知位流或其子位流是否包含特定维度的多个层且如果是就用信号通知所述维度的特性的值,例如在网络抽象层(NAL)单元标头中,其可包含对用于各种维度的值中的每一者的位数目进行译码。以此方式,本发明的技术能够基于对于位流的不同经译码视频序列可发生改变的信息以及在位流的经译码视频序列内不发生改变的信息来分配每一语法元素的长度,而不是在NAL单元标头中对与一个可分级维度有关的每一语法元素总是使用固定长度的值。
在一个实例中,一种对视频数据进行译码的方法包含:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
在另一实例中,一种用于对视频数据进行译码的装置包含经配置以进行以下操作的视频译码器:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的所述视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
在另一实例中,一种用于对视频数据进行译码的装置包含:用于针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码的装置;以及用于在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码的装置,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
在另一实例中,一种计算机可读存储媒体经编码而具有在执行时致使处理器进行以下操作的指令:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的所述视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
一个或一个以上实例的细节陈述于附图以及以下描述中。其它特征、目标以及优势将从描述和附图以及从权利要求书中显而易见。
附图说明
图1是说明可利用用于用信号通知视频数据的可分级维度的特性的技术的实例视频编码和解码系统的框图。
图2是说明可实施用于用信号通知视频数据的可分级维度的特性的技术的视频编码器的实例的框图。
图3是说明可实施用于用信号通知视频数据的可分级维度的特性的技术的视频解码器的实例的框图。
图4是说明包含另一组装置的系统的框图,所述另一组装置可执行本发明的用于用信号通知视频数据的可分级维度的特性的技术。
图5A和5B是说明根据本发明的技术的各种实例的NAL单元标头的实例的概念图。
图6是说明用于用信号通知视频数据的可分级维度的特性的实例方法的流程图。
图7是说明用于使用用信号通知的视频数据的可分级维度的特性的实例方法的流程图。
图8是说明用于用信号通知视频数据的可分级维度的特性以及用于使用用信号通知的视频数据的可分级维度的特性的另一实例方法的流程图。
具体实施方式
一股来说,本发明描述了用于用信号通知视频数据的各种维度的特性的技术。所述维度在本文中可被称作视频译码维度,或为简明起见而简称为“维度”。视频数据可按各种不同维度进行分级,例如空间分辨率、帧速率(时间)、视图(例如,为了支持三维(3D)视频播放)、色彩位深度、色度取样格式、质量或其它此类维度。因此,视频译码维度也可被称作“可分级视频译码维度”或简称为“可分级维度”。
视频数据的可分级维度可包含一个或一个以上元素。举例来说,视图维度可包含用于二维视频的单个视图、用于立体视频的两个视图或用于多视图的N个视图(其中N是大于二的整数)。作为另一实例,时间维度可包含用于支持基础帧速率(例如,15个帧每秒(fps))的图片的第一层以及用于支持较高帧速率(例如,30fps、60fps和120fps)的一个或一个以上较高层。本发明的技术大体上涉及用信号通知位流或其子位流是否包含用于特定维度的多个元素(例如,多个层)且如果是就用信号通知所述维度的特性的值,例如在网络抽象层(NAL)单元标头中。
可关于各种音频、视频或其它媒体译码标准来实施本发明的技术。为了举例说明,关于即将到来的高效视频译码(HEVC)标准的技术来论述本发明的技术。然而,应理解,也可针对其它译码标准来实施这些技术。即将到来的HEVC标准的新近草案(被称作HEVC工作草案7或WD7)描述于勃劳斯(Bross)等人的文件HCTVC-I1003“高效视频译码(HEVC)文本规范草案7(High Efficiency Video Coding(HEVC)Text Specification Draft7)”中(ITU-TSG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合组(JCT-VC)第9次会议:瑞士日内瓦,2012年4月27日到2012年5月7日),所述文件截止2012年7月30日都可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-11003-v9.zip下载。视频译码标准的其它实例包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉以及ITU-T H.264(也被称作ISO/IECMPEG-4AVC)。也可使用各种扩展来扩展视频译码标准。举例来说,ITU-T H.264/AVC包含可分级视频译码(SVC)扩展以及多视图视频译码(MVC)扩展。
如上文所指出,本发明的技术可用于在NAL单元标头中用信号通知各种可分级维度的特性。NAL单元通常包封较低层数据,例如视频译码层(VCL)数据或非VCL数据。VCL数据通常包含由视频编码器编码且由视频解码器解码的经译码视频数据。非VCL数据可包含对解码来说不是必需的但是对目的地装置来说可能是有用的信令数据。举例来说,非VCL数据可包含补充增强信息(SEI)消息。
为了进行比较,ITU-T H.264/AVC(本文中也被称作“H.264/AVC”)的MVC扩展中的NAL单元标头含有一字节NAL单元标头,包含NAL单元类型和nal_ref_idc语法元素。另外,如果NAL单元类型是前缀NAL单元或正常MVC NAL单元,那么MVC NAL单元标头可包含MVC NAL单元标头扩展。MVC的NAL单元标头扩展含有以下语法元素:nor_idr_flag,用于指示NAL单元是否属于可用于闭合GOP随机存取点的IDR/V-IDR图片;priority_id,其可用于单遍调适;view_id,用于指示当前所属视图的视图识别符;temporal_id,用于指示当前NAL单元的时间等级;anchor_pic_flag,用于指示NAL单元是否属于可用于开放GOP随机存取点的锚图片;以及inter_view_flag,用于指示是否用于其它视图中的NAL单元的视图间预测。MVC中的前缀NAL单元含有NAL单元标头以及其MVC NAL单元标头扩展。
同样为了进行比较,H.264/AVC的SVC扩展中的NAL单元标头可包含在NAL单元标头扩展中新增的语法元素,所述NAL单元标头扩展将H.264/AVC的常规一字节NAL单元标头扩展到四个字节,用于以多个维度描述VCL NAL单元的特性,包含priority_id、temporal_id、dependency_id以及quality_id。在H.264/AVC的SVC扩展中,dependency_id与空间可分级性或粗粒度可分级(CGS)相关,且quality_id指示信噪比(SNR)/质量可分级性。Priority_id与对应NAL单元的优先级识别符相关,且temporal_id指定对应NAL单元的时间识别符(其可用以支持时间可分级性,例如变化的帧速率)。
再同样为了进行比较,HEVC中的VCL NAL单元包含比H.264/AVC中的NAL单元标头长的NAL单元标头,但是HEVC WD7NAL单元标头中的第一字节目前与H.264/AVC中的NAL单元标头相同。HEVC WD7NAL单元标头还含有temporal_id和output_flag语法元素。
如上文所示,H.264/AVC、SVC、MVC和HEVC的各种NAL单元标头包含用于支持不同可分级维度的语法元素的不同集合。HEVC可最终经配置以支持多个不同的可分级维度,例如H.264/AVC的SVC和MVC扩展的维度。本发明认识到在尝试支持不同HEVC扩展以便使用各种可分级维度时可能会出现各种问题。举例来说,在不同扩展中,可能需要不同类型的NAL单元标头扩展。通过提供各种不同类型的NAL单元标头扩展,HEVC的最终规范可最后具有多个NAL单元标头扩展语法表,这样对于与处理视频数据有关的装置来说可能会增加复杂性。
或者,HEVC的最终规范可指明具有用以支持所有可能语法元素的最大数目的位的NAL单元标头。如果NAL单元标头具有唯一的、固定长度的设计,那么语法元素中的许多可被设定为默认值(例如,0),且仅语法元素中的几个可具有设定值,这样造成了位的浪费。换句话说,具有足以同时支持所有可能的可分级维度的位的NAL单元标头可能会在没有用到某些可分级维度时导致位浪费在开销中。
本发明描述了与用信号通知视频数据的可分级维度的特性有关的各种技术。本发明描述了用于(例如)通过允许NAL单元标头具有可变长度来有效地对可支持各种可分级维度的NAL单元标头进行译码的某些技术。举例来说,维度范围参数集可指示一个或一个以上可分级维度中的哪些对于位流来说是活动的(即,经启用),且可进一步提供指示用以对用于所述活动的可分级维度的值进行译码的位的数目的数据。因此,NAL单元标头可包含用于活动的可分级维度的语法元素,省略了用于非活动的可分级维度(例如,仅具有一个可能值的可分级维度,所述值可改为在单独的数据结构(例如序列参数集(SPS))中用信号通知)的语法元素。以此方式,对于未经启用为可分级的维度(例如,其一个值被用信号通知且保持不变的维度),值无需在NAL单元标头中用信号通知。此外,索引到值映射表可将索引值映射到活动的可分级维度内的值,使得可在NAL单元标头中使用较少位来用信号通知活动的各种可分级维度的特性。
在另一实例中,NAL单元标头映射可指明NAL单元标头中的字段的布局。就是说,NAL单元标头映射可用于替代上文描述的维度范围参数集。NAL单元标头映射可包含于NAL单元标头映射参数集或序列参数集(SPS)中。一个NAL单元标头映射可应用于一整个位流。使用此实例的NAL单元标头映射可确保可用以添加额外的可分级维度的将来扩展与现有标准和现有扩展后向兼容。此实例的技术也可确保可剖析NAL单元标头和SPS,例如,通过避免NAL单元标头扩展包含在维度范围参数集和SPS中。此外,此实例的NAL单元标头可避免包含模拟开始码的数据,如HEVC WD7中所指明。此外,这些技术可利用与优先级识别符(priority_id)包含在NAL单元标头中(类似于SVC和MAC的priority_id值)相关联的某些益处。
图1是说明可利用用于用信号通知视频数据的可分级维度的特性的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,所述源装置提供在稍后时间由目的地装置14解码的经编码视频数据。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括各种各样的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置等。在一些情况中,源装置12和目的地装置14可经装备以进行无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如无线通信协议)进行调制,且发射到目的地装置14。所述通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线。所述通信媒体可形成基于包的网络(例如局域网、广域网或例如因特网等全球网络)的部分。所述通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。所述存储装置可包含多种分布式或局域存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,所述存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)存取经编码视频数据。这可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的组合。经编码视频数据从存储装置的传输可以是流式传输、下载传输或其组合。
本发明的技术不一定限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,所述多媒体应用例如空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(例如,动态自适应HTTP流式传输(DASH))、被编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码、或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,从而支持多种应用,例如视频流式传输、视频播放、视频广播和/或视频电话。
在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。目的地装置14包含输入接口28、视频解码器30以及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于用信号通知视频数据的可分级维度的特性的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而不是包含一体式显示装置。
图1的所说明系统10仅为一个实例。用于用信号通知视频数据的可分级维度的特性的技术可通过任何数字视频编码和/或解码装置执行。虽然一股来说本发明的技术是通过视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术也可通过视频预处理器执行。源装置12和目的地装置14仅为此些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可按照实大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输,例如用于视频流式传输、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置(例如摄像机)、含有先前捕获的视频的视频档案和/或用以接收来自视频内容提供商的视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或将直播视频、存档视频和计算机产生的视频的组合作为源视频。在一些情况中,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,如上所述,本发明中所描述的技术一股来说可应用于视频译码,且可应用于无线和/或有线应用。在每一种情况中,所捕获、预先捕获或计算机产生的视频都可通过视频编码器20来编码。经编码视频信息可接着通过输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络传输,或可包含存储媒体(即,非暂时性存储媒体),例如硬盘、闪存盘、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14,例如经由网络传输。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被视为包含各种形式的一个或一个以上计算机可读媒体。
目的地装置14的输入接口28接收来自计算机可读媒体16的信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息也被视频解码器30使用,所述语法信息包含描述块和其它经译码单元(例如,GOP)的特性和/或处理的语法元素。显示装置32向用户显示经解码视频数据且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频译码标准(例如目前正在开发中的高效视频译码(HEVC)标准)来操作,且可遵照HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据其它专有或产业标准来操作,例如ITU-T H.264标准,或者被称作MPEG-4第10部分高级视频译码(AVC),或此些标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准是由ITU-T视频译码专家组(VCEG)与ISO/IEC动画专家组(MPEG)一起制定,作为被称为联合视频小组(JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于大体上遵照H.264标准的装置。H.264标准描述于ITU-T研究组提出的且注明日期为2005年3月的ITU-T推荐H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisual services)”,H.264标准在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或一个以上处理器在硬件中执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器和视频解码器中的任一者可作为组合式编码器/解码器(编解码器)的部分而在相应装置中集成。
JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演化模型。HM假定了相对于根据例如ITU-T H.264/AVC的现有装置来说的视频译码装置的若干额外能力。举例来说,尽管H.264提供了九种帧内预测编码模式,但是HM可提供多达三十三种帧内预测编码模式。
一股来说,HM的工作模型描述了视频帧或图片可被划分成树块或最大译码单元(LCU)的序列,所述树块或最大译码单元包含亮度样本和色度样本两者。位流内的语法数据可界定LCU的大小,LCU是就像素数目来说的最大译码单元。片段包含按译码次序为连续的许多树块。视频帧或图片可被分割成一个或一个以上片段。可根据四叉树将每一树块分裂成译码单元(CU)。一股来说,四叉树数据结构包含每CU一个节点,其中根节点对应于树块。如果CU分裂成四个子CU,那么与CU对应的节点包含四个叶节点,所述叶节点中的每一者对应于子CU中的一者。
四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,指示与所述节点对应的CU是否分裂成子CU。可递归地定义用于CU的语法元素,且所述语法元素可取决于CU是否分裂成子CU。如果CU不进一步分裂,那么它被称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使原始叶CU没有明确地分裂。举例来说,如果16×16大小的CU不进一步分裂,那么四个8×8子CU也将被称作叶CU,尽管16×16CU从未分裂。
CU具有与H.264标准的宏块类似的用途,除了CU不具有大小差别之外。举例来说,树块可分裂成四个子代节点(也被称作子CU),且每一子代节点又可为父代节点且分裂成另外四个子代节点。最后的、不分裂的子代节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可界定树块可分裂的最大次数(被称作最大CU深度),且还可界定译码节点的最小大小。因此,位流也可界定最小译码单元(SCU)。本发明使用术语“块”来指代HEVC的上下文中的CU、PU或TU中的任一者或其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块和子块)。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小且形状必须是正方形。CU的大小可从8×8个像素一直到树块的大小(最大为64×64个像素或更大)。每一CU可含有一个或一个以上PU和一个或一个以上TU。与CU相关联的语法数据可描述(例如)CU分割成一个或一个以上PU的情况。在CU是以跳过或直接模式编码、帧内预测模式编码还是帧间预测模式编码之间,分割模式可不同。PU可经分割而具有非正方形形状。与CU相关联的语法数据也可描述(例如)根据四叉树将CU分割成一个或一个以上TU的情况。TU可为正方形或非正方形(例如,矩形)形状。
HEVC标准允许根据TU进行变换,TU对于不同CU来说可为不同的。TU通常基于针对经分割LCU界定的给定CU内的PU的大小来定尺寸,但情况可能并非总是如此。TU通常与PU大小相同或小于PU。在一些实例中,可使用被称作“残余四叉树”(RQT)的四叉树结构将与CU对应的残余样本再分成较小单元。RQT的叶节点可被称作变换单元(TU)。可对与TU相关联的像素差值进行变换以产生变换系数,所述变换系数可被量化。
叶CU可包含一个或一个以上预测单元(PU)。一股来说,PU表示与对应CU的全部或一部分对应的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU以帧内模式编码时,用于所述PU的数据可包含于残余四叉树(RQT)中,所述残余四叉树可包含描述与所述PU对应的TU的帧内预测模式的数据。作为另一实例,当PU以帧间模式编码时,PU可包含界定用于所述PU的一个或一个以上运动向量的数据。界定用于PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分离、用于运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片和/或用于运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一个或一个以上PU的叶CU也可包含一个或一个以上变换单元(TU)。如上文所论述,可使用RQT(也被称作TU四叉树结构)来指定变换单元。举例来说,分裂旗标可指示叶CU是否分裂成四个变换单元。接着,可将每一变换单元进一步分裂成另外的子TU。当TU不进一步分裂时,它可被称作叶TU。一股来说,对于帧内译码,属于叶CU的所有叶TU共享同一种帧内预测模式。就是说,通常应用同一种帧内预测模式来计算叶CU的所有TU的预测值。对于帧内预测,视频编码器可使用帧内预测模式计算每一叶TU的残余值,为与所述TU对应的CU部分与原始块之间的差。TU不一定限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,可将PU与同一CU的对应叶TU并置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。
此外,叶CU的TU也可与相应四叉树数据结构(被称作残余四叉树(RQT))相关联。就是说,叶CU可包含指示如何将叶CU分割成TU的四叉树。TU四叉树的根节点通常对应于叶CU,而CU四叉树的根节点通常对应于树块(或LCU)。RQT的未分裂TU被称作叶TU。一股来说,本发明使用术语CU和TU分别指代叶CU和叶TU,除非另外指出。
视频序列通常包含一连串视频帧或图片。图片组(GOP)通常包括一连串一个或一个以上视频图片。GOP可在GOP的标头、图片中的一者或一者以上的标头或别处包含语法数据,所述语法数据描述GOP中所包含的图片数目。图片的每一片段可包含描述相应片段的编码模式的片段语法数据。视频编码器20通常对个别视频片段内的视频块起作用以便对视频数据进行编码。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据所指定的译码标准而具有不同大小。
作为一实例,HM支持按各种PU大小进行的预测。假定特定CU的大小是2N×2N,那么HM支持PU大小为2N×2N或N×N的帧内预测以及对称PU大小为2N×2N、2N×N、N×2N或N×N的帧间预测。HM还支持PU大小为2N×nU、2N×nD、nL×2N和nR×2N的帧间预测的不对称分割。在不对称分割中,CU的一个方向不进行分割,而另一方向被分割成25%和75%。对应于25%分割的CU部分由“n”之后跟着“Up(上)”、“Down(下)”、“Left(左)”或“Right(右)”等指示来指示。因此,举例来说,“2N×nU”指代被水平地分割成2N×0.5N PU在上且2N×1.5N PU在下的2N×2N CU。
在本发明中,“N×N”与“N乘N”可互换使用以指代视频块在垂直和水平维度方面的像素维度,例如16×16像素或16乘16像素。一股来说,16×16的块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,N×N的块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可排列成行和列。此外,块在水平方向上无需一定具有与垂直方向上相同数目的像素。举例来说,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU进行帧内预测或帧间预测译码之后,视频编码器20可计算CU的TU的残余数据。PU可包括描述在空间域(也被称作像素域)中产生预测像素数据的方法或模式的语法数据,且在对残余视频数据应用变换之后,TU可包括变换域中的系数,所述变换例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于CU的残余数据的TU,且接着对所述TU进行变换以产生用于CU的变换系数。
在进行任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化大体上是指将变换系数量化以可能地减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,在量化期间,可将n位值向下舍入到m位值,其中n大于m。
在量化之后,视频编码器可扫描变换系数,从而从包含经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数放置于阵列的前部且将较低能量(且因此较高频率)系数放置于阵列的后部。在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化变换系数,以产生可经熵编码的经串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可对所述一维向量进行熵编码,例如,根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器20也可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在解码视频数据过程中使用。
为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。所述上下文可(例如)与所述符号的相邻值是否非零有关。为了执行CAVLC,视频编码器20可为待发射的符号选择可变长度码。VLC中的码字可经建构,使得相对较短的码对应于概率较大的符号,而较长的码对应于概率较小的符号。以此方式,VLC的使用可相较于(例如)为待发射的每一符号使用等长码字实现位节省。概率确定可基于指派给符号的上下文。
一股来说,本发明描述了可通过源装置12、目的地装置14、视频编码器20、视频解码器30或视频数据的处理、输送、存储或检索中所涉及的其它装置执行的各种技术。为了举例说明,关于视频编码器20和视频解码器30来描述本发明的技术。然而,其它装置也可经配置而具有这些技术中的任一者或全部,例如视频预处理或后处理单元、包封器、解包封器、多路复用器、多路分用器、具有媒体知识的网络元件(MANE)或与视频数据的处理有关的其它装置。各种技术可独自地执行或以任何组合一起执行。
本发明引入了维度范围参数集,所述维度范围参数集可通过视频编码器20和视频解码器30进行译码。维度范围参数集可指定关于某一位流的每一可分级维度中的可分级性等级的范围。举例来说,维度范围参数集可指定以下各项中的任一者或全部的范围:空间维度、时间维度、SNR/质量维度、视图维度、色彩位深度维度、色度取样格式维度或其它此类可分级维度。维度范围参数集可应用于整个位流。换句话说,视频编码器20可对所述位流的所有视频数据进行编码,使得经编码视频数据与在维度范围参数集中用信号通知的数据一致,同时视频解码器30可至少部分地基于在维度范围参数集中用信号通知的数据对所述位流的所有经译码视频数据进行解码。
在位流中,NAL单元的属于特定可分级维度的特性可或不可发生变化,如由维度范围参数集的数据指示。举例来说,如果可分级维度的特定特性不发生变化且位流在所述特定可分级维度方面不是可分级的,那么无需在NAL单元标头中用信号通知所述特性。
如果可分级维度的特性可发生变化且具有N个可能的值,如由维度范围参数集指示,那么可分配NAL单元标头内的特定数目的位来表示所述可分级维度的特性。举例来说,假定N是整数,可分配NAL单元标头内的ceil(log2(N))个位来表示所述特性,其中ceil(X)返回X的“上限”或向上舍入值(向上舍入到下一个最近整数,假定所返回的值不是整数)。
视频编码器20可共同地用信号通知,且视频解码器30可共同地检索,作为特性集的在NAL单元标头中的所有可能维度的所有特性。所述特性集可映射到所有维度的所有特性。
维度的特性可发生变化。不是用信号通知可分级维度的真实值,而是在一些实例中,视频编码器20和视频解码器30可对可分级维度的真实值的索引值进行译码。举例来说,不是用信号通知视图维度的视图的view_id值,而是视频编码器20和视频解码器30可对视图次序索引值进行译码,所述视图次序索引值可通过单独的映射表映射到相应view_id值。作为另一实例,位流的位深度可分级维度可包含8位、10位和12位信号。不是针对此些色彩位深度在NAL单元标头中用信号通知“8”、“10”和“12”,而是视频编码器20和视频解码器30可使用值“0”、“1”和“2”,所述值同样可分别映射到“8”、“10”和“12”。因此,视频编码器20和视频解码器30可经配置以对用于位流的索引到值映射表进行译码。所述索引到值映射表可形成维度范围参数集的部分,或可作为单独的数据集来进行译码。此映射表可应用于特定经译码视频序列或整个位流。
本发明还描述可应用于子位流提取的技术。当位流包含一个或一个以上可分级维度时,一些目的地装置可请求特定维度的各种等级,而其它目的地装置可仅请求所述特定维度的单个等级,例如,基础等级。网络内的具有媒体知识的网络元件(MANE)(图1中未展示,但可大体上对应于沿连接16的装置)可执行子位流提取以将所请求数据提供给各种目的地装置。
举例来说,视图维度可包含多个不同视图。一个目的地装置可以能够进行多视角三维播放,且可因此请求所有可用视图。因此,MANE可将包含所有可用视图的子位流(或全位流)提供给此目的地装置。另一目的地装置可仅能够进行立体三维播放,因此所述目的地装置仅请求两个视图。因此,不是将所有视图发送给此目的地装置,而是MANE可提取仅具有两个视图的子位流且将此子位流发送给所述目的地装置。
根据本发明的技术,执行子位流提取的装置(例如,MANE)可修改维度范围参数集以及索引到值映射表(如果提供的话),使得所提取子位流中的NAL单元的NAL单元标头消耗比全位流中的对应NAL单元的原始NAL单元标头少的位。举例来说,在目的地装置仅能够进行立体三维播放且接收具有(例如)映射到view_id 32和159的视图次序索引“1”和“7”的视图的上述情况中,MANE可将所述视图次序索引的值分别调整为“0”和“1”,且调整映射表以将视图次序索引“0”映射到view_id 32且将视图次序索引“1”映射到view_id 159。
下表l提供了用于维度范围参数集的语法的实例集合:
表1
dim_range_parameter_set_data(){ C 描述符
dim_parameter_set_id u(16)
temporal_id_cnt_bit u(3)
chroma_format_cnt_bit 0 u(2)
bit_depth_cnt_bit u(3)
dependency_cnt_bit u(2)
quality_cnt_bit u(3)
view_cnt_bit u(10)
depth_present_cnt_bit u(1)
dim_cnt_table()
dim_index_2_value_table()
}
下文中描述了表1的各种语法元素的实例语义。dim_parameter_set_id可指示维度范围参数集的识别。在一些实例中,在整个分层(可分级)经译码视频序列的解码期间仅允许一个维度参数集是活动的。如果位流中的多个经译码视频序列共享相同dim_parameter_set_id,那么维度范围参数可用于所述多个经译码视频序列。维度范围参数集在参数集层级上可高于序列参数集。此外,可将识别对应维度范围参数集的数据译码于SPS中。
temporal_level_cnt_bit可指示用于用信号通知temporal_level_cnt的位的数目,关于下表2来阐释temporal_level_cnt。在一些实例中,当此值等于0时,不支持时间可分级性,且推断出每一VCL NAL单元具有等于0的temporal_id。此经译码视频序列中支持的时间等级的数目/计数(如由temporal_level_cnt(关于下表2进行阐释)的值指示)可为从0到(2<<temporal_level_cnt_bit-1),包含端点在内,其中“<<”表示逐位左移算子。
chroma_format_cnt_bit可指示用于用信号通知chroma_format_cnt的位的数目,关于下表2来阐释chroma_format_cnt。在一些实例中,当此值等于0时,不支持色度取样格式可分级性,且推断出每一VCL NAL单元具有4:2:0或4:4:4取样格式,此取决于类(profile)。此经译码视频序列中支持的色度取样格式的数目/计数(由chroma_forrnat_cnt(关于下表2进行阐释)的值指示)为从0到(2<<chroma_format_cnt_bit-1),包含端点在内。
bit_depth_cnt_bit可指示用于用信号通知bit_depth_cnt的位的数目,关于下表2来阐释bit_depth_cnt。在一些实例中,当bit_depth_cnt_bit的值等于0时,不支持色彩位深度可分级性,且推断出每一VCL NAL单元被译码为8位或10位或12位,此取决于类。此经译码视频序列中支持的位深度的数目/计数(由bit_depth_cnt的值指示)可从0到(2<<bit_depth_cnt-1),包含端点在内。
dependency_cnt_bit可指示用于用信号通知dependency_layer_cnt的位的数目,关于下表2来阐释dependency_layer_cnt。在一些实例中,当dependency_cnt_bit的值等于0时,不支持空间可分级性或CGS,且推断出每一VCL NAL单元具有等于0的dependency_id。此经译码视频序列中支持的依赖层的数目/计数可为从0到(2<<dependency_layer_cnt_bit-1),包含端点在内。
quality_cnt_bit可指示用于用信号通知quality_level_cnt的位的数目,关于下表2来阐释quality_level_cnt。在一些实例中,当quality_cnt_bit的值等于0时,不支持质量/SNR可分级性,且推断出每一VCL NAL单元具有等于0的quality_id。此经译码视频序列中支持的质量等级的数目/计数可为从0到(2<<quality_cnt_bit-1),包含端点在内。
view_cnt_bit可指示用于用信号通知view_cnt的位的数目,关于下表2来阐释view_cnt。在一些实例中,当view_cnt_bit的值等于0时,仅支持一个视图,且推断出每一VCL NAL单元具有等于0的view_id和视图次序索引。此经译码视频序列中支持的视图的数目/计数可为从0到(2<<view_cnt_bit-1),包含端点在内。
depth_present_cnt_bit等于0可指示位流中不包含深度数据。depth_present_cnt_bit的值等于1可指示位流中包含深度VCL NAL单元,且在NAL单元标头中可存在一个位用于指示NAL单元是纹理视图分量还是深度视图分量。
上表1包含元素dim_cnt_table()。下表2呈现了用于表1的dim_cnt_table()的语法元素的集合的一个实例。一股来说,视频编码器20可用信号通知,且视频解码器30可接收,仅表2中的某些语法元素,如由上文关于表1论述的语法元素的值所指示。
表2
dim_cnt_table(){ C 描述符
if(n=temporal_id_cnt_bit)
temporal_level_cnt u(n)
if(n=chroma_format_cnt_bit) 0
chroma_format_cnt u(n)
if(n=bit_depth_cnt_bit)
bit_depth_cnt u(n)
if(n=dependency_cnt_bit)
dependency_layer_cnt u(n)
if(n=quality_cnt_bit)
quality_level_cnt u(n)
if(n=view_cnt_bit)
view_cnt u(n)
if(n=depth_present_cnt_bit)
depth_present_cnt u(n)
}
下文中论述了表2的语法元素的实例语义。temporal_level_cnt可指定经译码视频序列中支持的时间等级的数目。当不存在时,temporal_level_cnt的值可被推断为1。可基于表1的temporal_level_cnt_bit的值来确定temporal_level_cnt是否存在。
chroma_format_cnt可指定经译码视频序列中支持的不同色度取样格式的数目。当不存在时,chroma_format_cnt的值可被推断为1。可基于表1的chroma_format_cnt_bit的值来确定chroma_format_cnt是否存在。
bit_depth_cnt可指定经译码视频序列中支持的不同色彩位深度的数目。当不存在时,bit_depth_cnt的值可被推断为1。可基于表1的bit_depth_cnt_bit的值来确定bit_depth_cnt是否存在。
dependency_layer_cnt可指定经译码视频序列中支持的依赖层的数目。当不存在时,dependency_layer_cnt的值可被推断为1。可基于表1的dependency_cnt_bit的值来确定dependency_layer_cnt是否存在。
quality_level_cnt可指定经译码视频序列中的每一依赖层中支持的质量等级的最大数目。举例来说,四分之一通用中间格式(qcif)层可含有三个质量层,且另一通用中间格式(cif)层可含有一个质量层;quality_cnt在此情况中可设定为3。当不存在时,quality_level_cnt的值可被推断为1。可基于表1的quality_cnt_bit的值来确定quality_level_cnt是否存在。
view_cnt可指定经译码视频序列中包含的视图的数目。当不存在时,view_cnt的值可被推断为1。可基于表1的view_cnt_bit的值来确定view_cnt是否存在。
depth_present_cnt可指定视图分量中的不同类型的子视图分量的数目,只要涉及到多视图加深度格式。当不存在时,depth_present_cnt的值可被推断为1。可基于表1的depth_present_cnt_bit的值来确定depth_present_cnt是否存在。可针对含有用于每一视图分量的一个或一个以上辅助图片或甚至分层深度的任何3D视频格式进一步扩展这些技术的概念。
在一些实例中,上文描述的语法元素可专用于特定分量,例如亮度(luma)分量或色度(chroma)分量。此外,可针对亮度且针对色度用信号通知单独的值,例如位深度值。
用于可分级维度的语法元素(例如上表2中所示的那些)通常对应于两个类别中的一个。在第一类别中,用信号通知的索引值与对应可分级维度的值是相等的,所述第一类别可包含(例如)tamporal_id、quality_id和dependency_id。举例来说,如果temporal_level_cnt是3,那么在所有VCL NAL单元中,temporal_id值可为从0到2,包含0和2在内。
在另一类别中,确切特性(例如,view_id和bit_depth)的值通常消耗比索引多的位,所述另一类别可包含(例如)视图维度和色彩位深度维度。举例来说,view_cnt可设定为等于3,且三个视图可具有view_id值4、6、8;如果要在NAL单元中用信号通知4、6和8,那么可需要高达4个位。另一方面,如果将仅用信号通知0、1和2,那么仅需要2个位。因此,对于属于此类别的可分级维度,可用信号通知索引到值映射表以从索引值(其更有效)确定真实特性(其对于应用更有意义)。下表3呈现了用于索引到值映射表的语法的实例。
表3
dim_index_2_value_table(){ C 描述符
if(chroma_format_cnt) 0
for(i=0;i<chroma_format_cnt;i++)
chroma_format_idc[i] 0 ue(v)
if(bit_depth_cnt)
for(i=0;i<chroma_format_cnt;i++)
bit_depth_minus8[i] ue(v)
if(view_cnt)
for(i=0;i<viewcnt;i++)
view_id[i] ue(v)
}
下文中描述了表3的索引到值映射表的实例语义。chroma_format_idc[i]可指定VCLNAL单元中的与亮度取样有关的色度取样,其中色度索引等于i。chroma_format_idc的值可在0到3的范围中,包含端点在内。当chroma_format_idc不存在时,chroma_format_idc的值可被推断为等于1(4:2:0色度格式)。可将chroma_format_idc值映射到色度格式,如表4中所示:
表4
chroma_format_idc 色度格式 子宽度C 子高度C
0 4:2:0 2 2
2 4:4:4 1 1
1 4:0:0 - -
3 4:2:2 2 1
再次参考表3,bit_depth_minus8[i]加8可指定VCL NAL单元中的色彩分量的样本的位深度,其中位深度索引等于i。view_id[i]可指定NAL单元的视图识别符,其中视图索引等于i。
或者,在每一维度中,如果计数大于1,那么可仅用信号通知值。在计数为1的情况中,可由类推断出与0索引对应的值,而不是明确地用信号通知。下表5提供了用于此实例的语法数据的实例集合,其中如果计数大于1,那么仅用信号通知值:
表5
dim_index_2_value_table(){ C 描述符
if(chroma_forrnat_cnt>1) 0
for(i=1;i<chroma_format_cnt;i++)
chroma_format_idc[i] 0 ue(v)
if(bit_deptb_cnt>1)
for(i=1;i<chroma_format_cnt;i++)
bit_depth_minus8[i] ue(v)
if(view_cnt>1)
for(i=1;i<view_cnt;i++)
view_id[i] ue(v)
}
下表6提供了根据本发明的技术的序列参数集(SPS)的语法的实例集合。某些语法元素可保持与HEVC WD7的SPS中的相同。这些语法元素的语义也可保持与HEVC WD7的SPS中的相同。下文中描述了表6的实例中的新增或经修改语法元素的语义的实例。
表6
seq_parameter_set_data(){ C 描述符
profile_idc 0 u(8)
constraint_set0_flag 0 u(1)
constraint_set1_flag 0 u(1)
constraint_set2_flag 0 u(1)
constraint_set3_flag 0 u(1)
constraint_set4_flag 0 u(1)
reserved_zero_3bits/*等于0*/ 0 u(3)
level_idc 0 u(8)
dim_parameter_set_id 0 u(16)
seq_parameter_set_id 0 ue(v)
pic_width_in_mbs_minus1 0 ue(v)
pic_height_in_map_units_minus1 0 ue(v)
frame_cropping_flag 0 u(1)
if(flame_cropping_flag){
frame_crop_left_offset 0 ue(v)
frame_crop_right_offset 0 ue(v)
frame_crop_top_offset 0 ue(v)
frame_crop_bottom_offset 0 ue(v)
}
if(function_chroma_idc(profile_idc))
chroma_format_idx 0 ue(v)
if(function_view(profile_idc))
sps_view_extension()
if(functioti_bit_depth(profile_idc))
bit_depth_idx 0 ue(v)
vui_parameters_present_flag 0 u(1)
if(vui_parameters_present_flag)
vui_parameters() 0
}
在表6的SPS的实例中,相对于HEVC WD7的SPS新增或经修改的语法元素包含dim_parameter_set_id、chroma_format_idx、sps_view_extension()以及bit_depth_idx。函数function_chrorna_idc(profile_idc)可定义如下:如果此profile_idc具有默认色度取样格式,例如4:2:0,那么function_chroma_idc(profile_idc)返回0,否则,返回1。函数function_view(profile_idc)可定义如下:如果此profile_idc与多视图译码有关,那么function_view(profile_idc)返回0,否则,返回1。sps_yiew_extension()语法表可含有视图依赖以及与多视图视频译码或3D视频有关的其它信息。函数function_bit_depth(profile_idc)可定义如下:如果此profile_idc以高于8位的位深度译码,那么function_bit_depth(profile_idc)返回0,否则,返回1。
下表7提供了根据本发明的技术的网络抽象层(NAL)单元标头的语法的实例集合。某些语法元素可保持与HEVC WD7的NAL单元标头中的相同。这些语法元素的语义也可保持与HEVC WD7的NAL单元标头中的相同。下文中描述了表7的实例中的新增或经修改语法元素的语义的实例。
表7
在表7的NAL单元标头的实例中,相对于HEVC WD7新增或经修改的语法元素包含nalUnitScalableCharSet和reserved_bits以及m、r和nalUnitHeaderBytes的计算。nalUnitScalableCharSet可指定NAL单元的可分级特性集合。可基于(例如)表1的维度范围参数集将nalUnitScalableCharSet中的位分离到不同维度。
在一个实例中,视频编码器20和视频解码器30可按照下式来计算m的值:
m=temporal_level_cnt_bit(2)+chroma_format_cnt_bit(0)+bit_depth_cnt_bit(0)+dependency_cnt_bit(1)+quality_cnt_plusl_bit(0)+view_cnt_plut1_bit(1)
在此实例中,m将等于4个位。用于此实例的位流可表示例如对于每一视图具有不同空间层的立体(两视图)内容,且所述位流可具有高达三个时间层。
在另一实例中,视频编码器20和视频解码器30可按照下式来计算m的值:
m=temporai_level_cnt_bit(3)+chroma_format_cnt_bit(0)+bit_depth_cnt_bit(0)+dependency_cnt_bit(0)+quality_cnt_plus1_bit(0)+view_cnt_p lut1_bit(1)
在此实例中,m将等于4个位。此可表示用于典型多视图数据(例如,具有具时间可分级性的七个视图)的位流。
在另一实例中,视频编码器20和视频解码器30可按照下式来计算m的值:
m=temporal_level_cnt_bit(1)+chroma_format_cnt_bit(0)+bit_depth_cnt_bit(1)+dependency_cnt_bit(0)+quality_cnt_plus1_bit(0)+view_cnt_plutl_bit(0)
此实例可表示按IBPBP译码的位流(其中I对应于I帧,B对应于B帧,且P对应于P帧),其中位深度可分级性从8位到10位。在此实例中,m将等于2个位。
维度范围参数集可包含NAL单元标头中的代表性语法元素到更高端或更高级特性的映射,所述特性可能不会通过所述代表性语法元素直接传达。举例来说,视图次序索引或类似代表性语法元素可能存在于NAL单元标头中;然而,view_id信息可能不存在于NAL单元标头中,且视图次序索引值到view_id值的映射在不同序列中可发生改变。相较于仅有NAL单元标头中的语法元素,此映射可传达更多信息,且可提供更高级的调适,例如,基于view_id值。一股来说,特定维度的索引可对应于如在索引到值映射表(例如,表3或表5中的任一者的dim_index_2_value_table)中界定的i值。就是说,可分级维度的索引“idx”可对应于所述可分级维度的如在索引到值映射表中用信号通知的第i个值。此表也可被称作索引到值语法映射表。
在一些实例中,本发明的技术与统一NAL单元标头的改进设计有关。举例来说,可对NAL单元标头映射进行译码,以替代上文描述的维度范围参数集。NAL单元标头映射可被译码于NAL单元标头映射参数集(NPS)或序列参数集(SPS)中。在NAL单元标头映射中,每一可分级性维度或视图维度(例如空间可分级性维度、时间可分级性维度、质量可分级性维度或视图可分级性维度)可对应于NAL单元标头中的语法元素。此外,用于各种可分级性维度的语法元素可具有用于NAL单元标头的指定长度。就是说,语法数据可定义NAL单元标头中的与可分级性维度对应的语法元素的长度。
如果特定可分级维度的值在整个经译码视频序列(例如,整个位流)内都不改变,那么与所述可分级维度对应的语法元素的长度可被定义为NAL单元标头中的零(0)位,意味着所述语法元素不存在于NAL单元标头中,使得对于对应位流中的所有NAL单元,可得出所述可分级维度的默认值。
在一些实例中,可用更紧凑的方式来用信号通知NAL单元标头中的语法元素。举例来说,如果语法元素存在M个可能值,但是所述值可采用N个位(其中N远大于(例如)1<<ceil(log2(M+1))),那么可通过仅用信号通知指向实例(即,语法元素的值)的索引来进一步优化对NAL单元标头中的语法元素的用信号通知。举例来说,H.264/AVC的多视图扩展中的view_id通常使用10个位。然而,如果选定的一组视图具有为例如45、50、55和60的view_id值的实例,那么可使用两位视图索引(view_idx)来表示所述视图,例如分别是“00”、“01”、“10”和“11”。此外,语法数据定义视图索引与view_id之间的映射。
NPS NAL单元和SPS NAL单元的NAL单元标头可固定为1个字节,如下表12的NAL单元语法中所示,且可将nal_ref_flag设定为等于1。对于NSP NAL单元,nal_unit_type可等于10,且对于SPS NAL单元,nal_unit_type可等于5。其它类型的NAL单元可使用不同的NAL单元类型。或者,在一些实例中,仅VCL NAL单元包含经扩展NAL单元标头,例如,如表12中所示,而非VCL NAL单元可包含一字节NAL单元标头。
下表8提供了根据本发明的技术的网络抽象层(NAL)单元标头映射参数集(NPS)的语法的实例集合,作为对上表1的维度范围参数集的替代。下文中描述了表8的实例中的语法元素的语义的实例。
表8
在表8的实例NAL单元标头映射参数集语法中,nal_unit_header_map_id、temporal_id_len、dependency_id_len、quality_id_len和view_idx_len的描述符相对于HEVC WD7发生修改。另外,表8的实例NAL单元标头映射参数集语法新增了语法元素priority_id_len、reserved_flags_len、priority_map(),且有条件地用信号通知view_idx2id_table()。NAL单元标头映射参数语法的其它语法元素可保持与HEVC WD7中的相同。NAL单元标头映射参数集(NPS)可大体上指定NAL单元标头映射。在一些实例中,在每一经译码视频序列中,一个且仅一个NAL单元标头映射可为活动的。就是说,在一些实例中,仅一个NAL单元标头映射应用于特定位流。
nal_unit_header_map_id可指定NAL单元标头映射参数集的识别。如上文所指出,在一些实例中,在每一经译码视频序列中,一个且仅一个NAL单元标头映射可为活动的。在替代实例中,nal_unit_header_map_id不存在,且每一经译码视频序列可含有一个NAL单元标头映射NAL单元,作为所述经译码视频序列中的第一NAL单元。
priority_id_len可指定用于表示NAL单元标头中的priority_id语法元素以及优先级映射语法结构中的priority_id[i]的位的数目。在一些实例中,当prioriy_id_len等于0时,可推断出每一VCL NAL单元具有等于0的priority_id。引用NAL单元标头映射参数集的经译码视频序列中支持的优先级层的数目可在1到(2<<priority_id_len)的范围中,包含端点在内。
temporal_id_len可指定用于表示NAL单元标头中的temporal_id语法元素的位的数目。在一些实例中,当temporal_id_len和implicit_temporal_id_len均等于0时,不支持时间可分级性,且可推断出每一VCL NAL单元具有等于0的temporal_id。引用NAL单元标头映射参数集的经译码视频序列中支持的时间层的数目可在1到(2<<temporal_id_len)的范围中(包含端点在内)(在temporal_id_len大于0时)或在1到(2<<implicit_temporal_id_len)的范围中(包含端点在内)(在implicit_temporal_id_len大于0时)。在一些实例中,temporal_id_len和implicit_temporal_id_len中的至少一者等于0。
dependency_id_len可指定用于表示NAL单元标头中的dependency_id语法元素的位的数目。在一些实例中,当dependency_id_len和implicit_dependency_id_len均等于0时,不支持空间可分级性或粗粒度可分级性,且可推断出每一VCL NAL单元具有等于0的dependency_id。引用NAL单元标头映射参数集的经译码视频序列中支持的依赖层的数目可在1到(2<<dependency_id_len)的范围中(包含端点在内)(在dependency_id_len大于0时)或在1到(2<<implicit_dependency_id_len)的范围中(包含端点在内)(在implicit_dependency_id_len大于0时)。在一些实例中,dependency_id_len和implicit_dependency_id_len中的至少一者等于0。
quality_id_len可指定用于表示NAL单元标头中的quality_id语法元素的位的数目。在一些实例中,当quality_id_len和implicit_quality_id_len均等于0时,不支持质量/SNR可分级性,且可推断出每一VCL NAL单元具有等于0的quality_id。引用NAL单元标头映射参数集的经译码视频序列中支持的质量层的数目可在1到(2<<quality_id_len)的范围中(包含端点在内)(在quality_id_len大于0时)或在1到(2<<implicit_quality_id_len)的范围中(包含端点在内)(在implicit_quality_id_len大于0时)。在一些实例中,quality_id_len和implicit_quality_id_len中的至少一者等于0。
view_idx_len可指定用于表示view_idx语法元素的位的数目。在一些实例中,当view_cnt_len和implicit_view_id_len均等于0时,仅支持一个视图,且可推断出每一VCLNAL单元具有均等于0的view_id和视图次序索引。引用NAL单元标头映射参数集的经译码视频序列中支持的视图的数目可在1到(2<<view_idx_len)的范围中(包含端点在内)(在view_idx_len大于0时)或在1到(2<<implicit_view_id_len)的范围中(包含端点在内)(在implicit_view_idx_len大于0时)。在一些实例中,view_idx_len和implicit_view_idx_len中的至少一者等于0。
reserved_flags_len可指定用于表示reserved_flags语法元素的位的数目。当将reserved_flags分配给一个或一个以上语法元素时,可相应地修改reserved_flags_len,且可在NPS中用信号通知用于所述新的一个或一个以上语法元素的长度语法元素。
nps_extension_flag等于0可指定NAL单元标头映射参数集RBSP语法结构中不存在nps_extension_data_flag语法元素。在遵照这些实例技术的位流中,nps_extension_flag可等于0。nps_extension_flag的1值可预留给ITU-T l ISO/IEC在将来使用。视频解码器可经配置以忽略NAL单元标头映射参数集NAL单元中跟在nps_extension_flag的值l之后的所有数据,除非已采用扩展且视频解码器支持所述扩展。
nps_extension_data_flag可具有任何值。根据本发明的技术,它通常不会影响与类的一致性。
如表8中所示,在某些情形中,可用信号通知priority map()语法元素。下表9提供了表8的priority map()的语法数据的实例集合。下文中描述了表9的语法元素的语义。一股来说,优先级映射语法结构指定关于每一prority_id值的temporal_id值的范围、dependency_id值的范围、quality_id值的范围以及view_idx值的数目中的一者或一者以上。
表9
priority_map(){ 描述符
num_priority_ids u(v)
implicit_temporal_id_len u(3)
implicit_dependency_id_Ien u(3)
implicit_quality_id_len u(3)
implicit_view_idx_len u(4)
for(i=0;i<num_priority_ids;i++){
priority_id[i] u(v)
if(implicit_temporal_id_len){
t_id_low_range[i] u(v)
t_id_high_range[i] u(v)
}
if(implicit_dependency_id_len){
d_id_low_range[i] u(v)
d_id_high_range[i] u(v)
}
if(implicit_quality_id_len){
q_id_low_range[i] u(v)
q_id_high_range[i] u(v)
}
if(implicit_view_idx_len){
num_views_for_priority_minus1[i] u(v)
for(j=0;j<=num_views_for_priority_mmus1;j++)
view_idx[i][j] u(v)
}
}
}
在引用NAL单元标头映射参数集的经译码视频序列中,num_priority_ids可指定priority_id值的数目。用于表示num_priority_ids的位的数目可等于priority_id_len。
implicit_temporal_id_len可指定用于表示temporal_id[i]语法元素的位的数目。在一些实例中,当不存在时,implicit_temporal_id_len的值可被推断为等于0。
implicit_dependency_id_len可指定用于表示dependency_id[i]语法元素的位的数目。在一些实例中,当priority_map()语法结构不存在时,implicit_dependency_id_len的值可被推断为等于0。
implicit_quality_id_len可指定用于表示quality_id[i]语法元素的位的数目。在一些实例中,当priority_map()语法结构不存在时,implicit_quality_id_len的值可被推断为等于0。
implicit_view_id_len可指定用于表示view_id[i]语法元素的位的数目。在一些实例中,当priority_map()语法结构不存在时,implicit_view_id_len的值可被推断为等于0。
priority_id[i]可指定第i priority_id值,关于所述priority_id值的temporal_id值的范围、dependency_id值的范围、quality_id值的范围以及view_id值的范围中的一者或一者以上由以下语法元素指定。用于表示priority_id[i]的位的数目可为priority_id_len。
t_id_low_range[i]和t_id_high_range[i]可指定与第i priority_id对应的temporal_id值的范围。temporal_id值的范围可为从t_id_low_range[i]到t_id_high_range[i]-1,包含端点在内。用于表示这些语法元素的位的数目可为implicit_temporal_id_len。在一些实例中,当不存在时,所述范围可被推断为从0到0。
d_id_low range[i]和d_id_high_range[i]可指定与第i priority_id对应的dependency_id值的范围。dependency_id值的范围可为从d_id_low_range[i]到d_id_high_range[i]-1,包含端点在内。用于表示这两个语法元素的位的数目可为implicit_dependency_id_len。在一些实例中,当不存在时,所述范围可被推断为从0到0。
q_id_low_range[i]和q_id_high_range[i]可指定与第i priority_id对应的quality_id值的范围。quality_id值的范围可为从q_id_low_range[i]到q_id_high_range[i]-1,包含端点在内。用于表示这两个语法元素的位的数目可为implicit_quality_id_len。在一些实例中,当不存在时,所述范围可被推断为从0到0。
视频编码器20和视频解码器30可如下得出可变DQRange[i]:
DQRange[i]=[d_id_low_range[i]*maxQlayer+q_id_low_range[i],d_id_high_range[i]*maxQlayer+q_id_high_range[i]] (1)
其中maxQlayer是引用NAL单元标头映射参数集的所有经译码视频序列的quality_id的最大值。
在一些实例中,对于任两个priority_id值,如果其它可分级性维度范围相同,那么所述两个priority_id值的DQ范围不重叠。
num_views_for_priority_minus1[i]可指定与第i priority_id对应的view_idx值的数目。num_views_for_priority_minus1的值可在0到((1<<implicit_view_id_len)-1)的范围中,包含端点在内。
view_idx[i][j]可指定与第i priority_id值对应的第j视图次序索引。用于表示view_id[i][j]的位的数目可为implicit_view_idx_len。在一些实例中,当不存在时,view_idx[i][j]的值可被推断为等于0。
如也在图8中展示,在一些情况中,可在NAL单元标头映射参数集中用信号通知视图索引到视图ID表(view_idx2id_table())。用于视图索引到视图ID表的语法的实例集合展示于下表10中。下文中描述了视图索引到视图ID表的实例语义。一股来说,视图索引到视图ID表指定每一视图索引值到视图识别符值的映射。可在NAL单元标头中用信号通知视图索引值,且可根据在视图索引到视图ID表中指定的数据来确定对应的视图识别符。
表10
view_idx2id_table(){ 描述符
view_cnt u(v)
if(view_cnt)
for(i=0;i<view_cnt;i++)
view_id[i] u(v)
}
view_cnt可指定在引用NAL单元标头映射参数集的经译码视频序列中包含的视图的最大数目。用于表示view_cnt的位的数目可等于view_idx_len。
view_id[i]可指定NAL单元的视图识别符,其中视图索引等于i。
下表11说明了根据本发明的技术的序列参数集(SPS)的语法数据的实例集合。下文中论述了相对于HEVC WD7新增或改变的语法元素的语义。不详细论述此实例SPS的其它语法元素,且未改变的语法元素的语义可保持相同,例如,如HEVC WD7中所定义。
表11
seq_parameter_set_rbsp(){ 描述符
profile_idc u(8)
reserved_zero_8bits/*等于0*/ u(8)
level_idc u(8)
nal_unit_header_map_id u(8)
seq_parameter_set_id ue(v)
rbsp_trailing_bits()
}
在表11的实例中,SPS包含额外语法元素“nal_unit_header_map_id”。如上文所指出,其它语法元素(包含未展示且由椭圆形表示的那些语法元素)的语义可保持不变,例如,如HEVC WD7中所定义。在此实例中,nal_unit_header_map_id可指定由序列参数集引用的NAL单元标头映射参数集的识别符。因此,SPS可识别在对与所述SPS对应的序列进行译码期间使用的NAL单元标头映射。
下表12说明了用于NAL单元的语法元素的实例集合。同样地,相对于HEVC WD7新增或改变了某些语法元素,下文中描述所述语法元素的实例语义。相对于HEVC WD7未改变的其它语法元素可保留HEVC WD7中定义的语义。
表12
在此实例中,可定义一约束,使得NAL单元标头将不会含有连续的3个字节,所述字节等于0x000000、0x000001、0x000002或0x000003。priority_id的语义可类似于SVC中的相同语法元素,除了用于表示priority_id的位的数目可为priority_id_len,如对应nal_unit_header_map中所指定,例如,根据表8。temporal_id的语义可与HEVC WD7中的相同,除了用于表示temporal_id的位的数目可为temporal_id_len,如对应nal_unit_header_map中所指定,例如,根据表8。
在此实例中,reserved_one_bit应等于1。reserved_one_bit的值0可由相关译码标准(例如HEVC)的将来扩展指定。例如视频解码器30等解码器可经配置以忽略reserved_one_bit的值。
dependency_id的语义可与SVC中的相同语法元素相同,除了用于表示dependency_id的位的数目可为dependency_id_len,如对应nal_unit_header_map中所指定,例如,根据表8。quality_id的语义可与SVC中的相同语法元素相同,除了用于表示quality_id的位的数目可为quality_id_len,如对应nal_unit_header_map中所指定,例如,根据表8。view_idx可指定视图的视图次序索引。view_idx的语义可与MVC中的视图次序索引相同,除了用于表示view_idx的位的数目可为view_idx_len,如对应nal_unit_header_map中所指定,例如,根据表8。
在一些实例中,reserved_flags的每一位可等于1。reserved_flags的其它值可由相关译码标准(例如HEVC)的将来扩展指定。例如视频解码器30等解码器可经配置以忽略reserved_flags的值。用于表示reserved_flags的位的数目可为reserved_flags_len,如对应nal_unit_header_map中所指定,例如,根据表8。在一些实例中,reserved_bits的每一位可等于1。reserved_bits的其它值可由将来的标准或标准扩展(例如HEVC的扩展)指定。例如视频解码器30等解码器可经配置以忽略reserved_bits的值。用于表示reserved_bits的位的数目可为(((m+7>>3)<<3)-m)。
作为对上文描述的技术的替代,implicit_temporal_id_len、implicit_dependency_id_len、implicit_quality_id_len和implicit_view_idx_len可不存在(即,没有用信号通知),且可用固定长度来用信号通知其它语法元素,具体取决于规范中的priority_id、temporal_id、dependency_id和quality_id的语法元素的最大值,或者可用ue(v),即,不带符号的整数指数哥伦布(Exp-Golomb)位串,来用信号通知其它语法元素。
在一些实例中,可用下表13的优先级映射来替代表9的优先级映射。
表13
priority_map(){ 描述符
num_priority_ids u(v)
if(implicit_quality_id_len){
q_id_low_range[i] u(v)
q_id_high_range[i] u(v)
}
if(implicit_view_idx_len){
v_idx_low_range[i]
v_idx_high_range[i]
}
}
}
表13的优先级映射的语法元素以及其语义可大体上保持与表9的那些语法元素以及其语义相同。然而,不是用信号通知关于特定优先级ID的视图数目的视图索引,而是表13的优先级映射提供v_idx_low_range[i]和v_idx_high_range[i]。在此实例中,v_idx_low_range[i]和v_idx_high_range[i]指定与第i priority_id对应的view_idx值的范围。temporal_id值的范围可为从v_idx_low_range[i]到v_idx_high_range[i]-1,包含端点在内。用于表示这两个范围值的位的数目可为implicit_view_idx_len。当不存在时,所述范围可被推断为从0到0。
在一些实例中,替代于用信号通知特定语法元素(例如tempora_id)的下限范围和上限范围,可以仅用信号通知所述范围的上端点(或下端点),例如temporal_id_high。因此,视频译码器可经配置以推断出所述范围的未用信号通知的部分的值,例如,对于temporal_id_low来说为零。
在一些实例中,没有在NAL单元标头中明确地用信号通知priority_id、temporal_id、dependency_id、quality_id和view_idx。而是,可在名为irnplicit_id_table()的语法结构中隐含地用信号通知这些语法元素中的一者或一者以上,所述语法结构可替代priority_map()语法结构。implicit_id_table()的实例展示于表14中,在下文中提供所述语法元素的语义的实例。
表14
implicit_id_table(){ 描述符
implicit_priority_id_len u(3)
num_priority_ids u(v)
implicit_temporal_id_len u(3)
implicit_dep_endency_id_len u(3)
implicit_quality_id_len u(3)
implicit_view_idx_len u(4)
for(i=0;i<num_priority_ids;i++){
priority_id[i] u(v)
if(implicit_temporal_id_len){
t_id_low_range[i] u(v)
t_id_high_range[i] u(v)
}
if(implicit_dependency_id_len){
d_id_low_range[i] u(v)
d_id_high_range[i] u(v)
}
if(implicit_quality_id_len){
q_id_Iow_range[i] u(v)
q_id_high_range[i] u(v)
}
if(implicit_view_idx_len){
num_views_for_priority_minus1[i] u(v)
for(j=0;j<=num_views_for_priority_minus1;j++)
view_idx[i][j] u(v)
}
}
}
表14的实例语法结构指定priority_id值的数目以及关于每一prority_id值的temporal_id值的范围、dependency_id值的范围、quality_id值的范围以及view_idx值的数目中的一者或一者以上。implicit_priority_id_len可指定用于表示num_priority_ids和priority_id[i]语法元素的位的数目。当不存在时,implicit_priority_id_len的值可被推断为等于0。num_priority_ids可指定priority_id[i]语法元素的数目。用于表示num_priority_ids的位的数目可等于implicit_priority_id_len。implicit_temporal_id_len可指定用于表示temporal_id[i]语法元素的位的数目。当不存在时,implicit_temporal_id_len的值可被推断为等于0。
implicit_dependency_id_len可指定用于表示dependency_id[i]语法元素的位的数目。当priority_map()语法结构不存在时,implicit_dependency_id_len的值可被推断为等于0。implicit_quality_id_len可指定用于表示quality_id[i]语法元素的位的数目。当priority_map()语法结构不存在时,implicit_quality_id_len的值可被推断为等于0。implicit_view_idx_len可指定用于表示view_id[i]语法元素的位的数目。当priority_map()语法结构不存在时,implicit_vdew_idx_len的值可被推断为等于0。
priority_id[i]可指定第i priority_id值,关于所述priority_id值的temporal_id值的范围、dependency_id值的范围、quality_id值的范围以及view_id值的范围中的一者或一者以上由以下语法元素指定:t_id_low_range[i]、t_id_high_range[i]、d_id_low_range[i]、d_id_high_range[i]、q_id_low_range[i]以及q_id_high_range[i]。用于表示priority_id[i]的位的数目可为implicit_priority_id_len。或者,priority_id[i]可以不存在,且priority_id[i]可被推断为等于i或随i而变的某其它值。
t_id_low_range[i]和t_id_high_range[i]可指定与第i priority_id对应的temporal_id值的范围。temporal_id值的范围可为从t_id_low_range[i]到t_id_high_range[i]-1,包含端点在内。用于表示这些语法元素的位的数目可为implicit_temporal_id_len。当不存在时,所述范围可被推断为从0到0。
d_id_low_range[i]和d_id_high_range[i]可指定与第i priority_id对应的dependency_id值的范围。dependency_id值的范围可为从d_id_low_range[i]到d_id_high_range[i]-1,包含端点在内。用于表示这两个语法元素的位的数目可为implicit_dependency_id_len。当不存在时,所述范围可被推断为从0到0。
q_id_low_range[i]和q_id_high_range[i]可指定与第i priority_id对应的quality_id值的范围。quality_id值的范围可为从q_id_low_range[i]到q_id_high_range[i]-1,包含端点在内。用于表示这两个语法元素的位的数目可为implicit_quality_id_len。当不存在时,所述范围可被推断为从0到0。
可如下得出可变DQRange[i]:
DQRange[i]=[d_id_low_range[i]*maxQlayer+q_id_low_range[i],
d_id_high_range[i]*maxQlayer+q_id_high_range[i]],
其中maxQlayer是引用NAL单元标头映射参数集的所有经译码视频序列的quality_id的最大值。
对于任两个priority_id值,如果其它可分级性维度范围相同,那么它们的DQ范围可经设定,使得所述DQ范围不重叠。
num_views_for_priority_minusl[i]可指定与第i priority_id对应的view_idx值的数目。num_views_for_priority_minus1的值可在0到((1<<implicit_view_id_len)-1)的范围中,包含端点在内。view_idx[i][j]可指定与第i priority_id值对应的第j视图次序索引。用于表示view_id[i][j]的位的数目可为implicit_view_idx_len。当不存在时,view_idx[i][j]的值可被推断为等于0。
因此,在一个实例中,视频编码器20和视频解码器30(或源装置12和目的地装置14的其它元件)可经配置以对与表1到7中的任一者或全部一致的语法数据进行译码以:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对所述经启用视频译码维度中的每一者的值进行译码,但不对未经启用的视频译码维度的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
或者,在另一实例中,视频编码器20和视频解码器30(或源装置12和目的地装置14的其它元件)可经配置以对与表8到14中的任一者或全部一致的语法数据进行译码以:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对所述经启用视频译码维度中的每一者的值进行译码,但不对未经启用的视频译码维度的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
在又其它实例中,表1到14的各种方面可按任何组合来组合以形成这些实例的混合体以:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对所述经启用视频译码维度中的每一者的值进行译码,但不对未经启用的视频译码维度的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
在适用时,视频编码器20和视频解码器30各自可实施为多种合适编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器和视频解码器中的任一者可作为组合式视频编码器/解码器(编解码器)的一部分而集成。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置(例如蜂窝式电话)。
图2是说明可实施用于用信号通知视频数据的可分级维度的特性的技术的视频编码器20的实例的框图。视频编码器20可对视频片段内的视频块执行帧内和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。帧间模式,例如单向预测(P模式)或双向预测(B模式),可指代若干基于时间的译码模式中的任一者。
如图2中所示,视频编码器20接收在待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54以及熵译码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46以及分割单元48。为了进行视频块重建构,视频编码器20还包含逆量化单元58、逆变换单元60以及求和器62。还可包含去块滤波器(图2中未展示)以对块边界滤波,以从经重建构的视频移除成块性假影。如果需要,去块滤波器将通常对求和器62的输出进行滤波。除了去块滤波器之外,还可使用额外滤波器(环路中或环路后)。为了简洁起见并未展示此些滤波器,但是如果需要,此些滤波器可对求和器50的输出进行滤波(作为环路滤波器)。
在编码过程期间,视频编码器20接收待译码的视频帧或片段。可将所述帧或片段划分成多个视频块。运动估计单元42和运动补偿单元44关于一个或一个以上参考帧中的一个或一个以上块对所接收的视频块执行帧间预测译码以提供时间预测。帧内预测单元46可替代地关于与待译码的块在同一帧或片段中的一个或一个以上相邻块对所接收的视频块执行帧内预测译码以提供空间预测。视频编码器20可执行多个译码遍次以(例如)为每一视频数据块选择适当的译码模式。
此外,分割单元48可基于先前译码遍次中对先前分割方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可将帧或片段分割成LCU,且基于率-失真分析(例如,率-失真优化)将所述LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示LCU分割成子CU的情况的四叉树数据结构。所述四叉树的叶节点CU可包含一个或一个以上PU和一个或一个以上TU。
模式选择单元40可(例如)基于误差结果来选择译码模式(帧内或帧间)中的一者,且将所得经帧内或帧间译码的块提供给求和器50以产生残余块数据以及提供给求和器62以重建构经编码块以供用作参考帧。模式选择单元40还向熵译码单元56提供语法元素,例如运动向量、帧内模式指示符、分割信息以及其它此类语法信息。
运动估计单元42与运动补偿单元44可高度集成,但为了概念目的而分开说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于与当前帧(或其它经译码单元)内的正被译码的当前块有关的参考帧(或其它经译码单元)内的预测块的位移。预测块是被发现在像素差方面密切地匹配待译码块的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差值量度来确定。在一些实例中,视频编码器20可计算存储于参考帧存储器64中的参考图片的分段整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可关于全像素位置和分数像素位置来执行运动搜索且以分数像素精度输出运动向量。
运动估计单元42通过将经帧间译码片段中的视频块的PU的位置与参考图片的预测块的位置进行比较来计算所述PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考帧存储器64中的一个或一个以上参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量而取得或产生预测块。同样地,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可即刻在参考图片列表中的一者中定位运动向量所指向的预测块。求和器50通过从正被译码的当前视频块的像素值减去预测块的像素值而形成残余视频块,从而形成像素差值,如下文所论述。一股来说,运动估计单元42关于亮度分量执行运动估计,且运动补偿单元44将基于亮度分量计算出的运动向量用于色度分量和亮度分量两者。模式选择单元40也可产生与视频块和视频片段相关联的语法元素以供视频解码器30在解码视频片段的视频块过程中使用。
帧内预测单元46可对当前块进行帧内预测,作为对如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代。明确地说,帧内预测单元46可确定用于对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码遍次中使用各种帧内预测模式对当前块进行编码,且帧内预测单元46(或在一些实例中为模式选择单元40)可从受测试模式中选择适当的帧内预测模式来使用。
举例来说,帧内预测单元46可使用率-失真分析来计算各种受测试帧内预测模式的率-失真值,且在所述受测试模式中选择具有最好的率-失真特性的帧内预测模式。率-失真分析大体上确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量以及用于产生所述经编码块的位速率(即,位的数目)。帧内预测单元46可从各种经编码块的失真和率来计算比率,以确定对于所述块来说哪种帧内预测模式展现出最好的率-失真值。
在为块选择了帧内预测模式之后,帧内预测单元46可将指示所述块的所选帧内预测模式的信息提供给熵译码单元56。熵译码单元56可对指示所选帧内预测模式的信息进行编码。视频编码器20可将配置数据包含在所发射位流中,所述配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)、各种块的编码上下文的定义、以及针对所述上下文中的每一者所使用的概率最大的帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。
视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。变换处理单元52对残余块应用变换,例如离散余弦变换(DCT)或概念上类似的变换,从而产生包括残余变换系数值的视频块。变换处理单元52可执行与DCT概念上类似的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况中,变换处理单元52都对残余块应用变换,从而产生残余变换系数的块。变换可将残余信息从像素值域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着对包含经量化变换系数的矩阵执行扫描。或者,熵编码单元56可执行所述扫描。
在量化之后,熵译码单元56对经量化的变换系数进行熵译码。举例来说,熵译码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况中,上下文可基于相邻块。在由熵译码单元56进行熵译码之后,可将经编码位流发射到另一装置(例如,视频解码器30)或加以存档以供稍后发射或检索。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换,以在像素域中重建构残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考帧存储器64的帧中的一者的预测块上来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建构的残余块以计算分段整数像素值以供在运动估计中使用。求和器62将经重建构的残余块加到由运动补偿单元44产生的经运动补偿的预测块上以产生经重建构的视频块以供存储于参考帧存储器64中。经重建构的视频块可由运动估计单元42和运动补偿单元44用作参考块来对后续视频帧中的块进行帧间译码。
另外,视频编码器20可经配置以对具有各种可分级视频译码维度中的一者或一者以上的视频数据进行译码。举例来说,视频编码器20可经配置以对以下各项进行译码:各种视图、质量层(例如,信噪比(SNR)层)、优先级层、空间分辨率层、时间层、色彩位深度层、色度取样格式层、依赖层或其它此类可分级维度。一股来说,可分级维度具有一个值(例如,视频数据在所述维度上不可分级)或一范围内的值。在不失一股性的情况下,假定可分级维度的值范围中的“低”值用作对所述范围中的较高值进行译码的基础。因此,在对可分级维度的一个或一个以上较高层进行译码时,基础层(例如,基础视图、基础质量层、基础可分级层等)可用作参考。
作为一实例,对于多视图视频译码,基础层(例如,基础视图)可用于二维视频显示以及沿所述维度的较高层的参考。换句话说,基础视图可经视图内译码,就是说,在不参考任何其它视图的情况下进行译码。其它视图可经视图间译码,例如关于另一视图(例如基础视图)进行译码。以此方式,包含视频数据的位流可仅包含单个视图层(即,用于视图维度的单个值)或多个视图层(即,用于视图维度的多个可能值)。
为了执行视图间预测,视频编码器20可关于具有与特定视图的当前图片相同的时间位置的先前经译码视图的一个或多个图片来预测所述当前图片的块。就是说,当最终包封于存取单元内时,当前图片和参考图片可各自被包封于同一存取单元内。因此,当最终显示时,当前图片和参考图片可大体上同时显示。此外,当前图片和参考图片可具有相同的相关图片次序计数(POC)值。
更明确地说,视图间预测可涉及计算当前视图中的当前图片的当前块的一个或一个以上视差向量。所述视差向量可大体上描述密切匹配的块在先前经译码视图的参考图片中的位置。运动估计单元42可经配置以在先前经译码视图的参考图片中对此密切匹配的块执行搜索。因此,在一些实例中,运动估计单元42可被称作“运动/视差估计单元”。视差向量可大体上以与视差向量类似的方式来操作,除了视差向量描述相对于不同视图的参考图片的位移之外。此外,视差向量通常仅描述水平偏离,因为不同视图对应于相对于彼此水平偏移的相机视角。
作为另一实例,对于空间分辨率维度,视频编码器20可经配置以使用以下两个或两个以上层对具有原始空间分辨率的图片进行译码:一个基础层和一个或一个以上增强层。基础层的图片可具有小于原始空间分辨率的分辨率,且增强层的图片可包含用于增加基础层图片的分辨率的数据。举例来说,原始空间分辨率可对应于1080p。在此实例中,可存在三个层:包含具有480p的空间分辨率的图片的基础层、用于实现720p的空间分辨率的第一增强层以及用于实现1080p的空间分辨率的第二增强层。
视频编码器20可独立于任何其它层来对基础层的视频数据进行译码。视频编码器20可接着关于较低层(例如,基础层或较低增强层)来对增强层的视频数据进行译码。为了从原始数据产生这些层,视频编码器20可首先对原始图片的空间分辨率进行十分之一取样、二次取样或以其它方式降低所述空间分辨率,以产生基础层图片。视频编码器20可接着使用如上文描述的图片内或图片间(例如,时间)译码技术对基础层图片进行译码。
视频编码器20可接着对基础层图片进行解码和升取样(例如内插)以产生具有在下一个增强层处的空间分辨率的图片。视频编码器20也可降低原始图片的分辨率以产生具有此增强层的空间分辨率的图片。视频编码器20可接着计算降低分辨率的图片与经升取样的基础层图片之间的逐像素差以产生用于增强层的残余数据,视频编码器20可对所述残余数据进行变换、量化和熵编码。视频编码器20可将最近经译码的增强层视为基础层对待译码的所有增强层重复此过程。类似地,视频编码器20可对处于各种其它可分级维度的各种其它层处的图片进行编码。
作为又一实例,视频编码器20可对具有可分级时间维度的视频数据进行译码。一股来说,视频编码器20可将时间识别符指派给图片,使得可使用所述时间识别符来描述图片所属的时间层。此外,视频编码器20可对特定时间层处的视频数据进行译码,使得仅关于所述时间层或较低时间层处的其它视频数据来预测所述视频数据。以此方式,可执行子位流提取以提取子位流以便获得相对于全位流的帧速率降低的帧速率,且所述子位流将是可适当解码的,因为未经提取的视频数据将不会用于所提取子位流的参考。
视频编码器20可对与多个可分级维度一致的视频数据进行编码。一股来说,视频编码器20最终产生与可分级维度中的每一者的特定交点对应的一组NAL单元。举例来说,假定对于特定位流,时间维度是可分级的且空间分辨率维度是可分级的,且其它维度是固定的。进一步假定,时间维度中存在四个时间层,且空间分辨率维度中存在三个空间分辨率层。因此,每一存取单元可包含用于所有三个空间分辨率的NAL单元。以此方式,可通过仅提取一直到特定时间层的存取单元且/或从所述存取单元中提取一直到特定空间分辨率层的NAL单元来提取子位流。
作为另一实例,假定对于特定位流,视图维度是可分级的且空间分辨率维度是可分级的,且其它维度是固定的。进一步假定,视图维度中存在八个视图,且空间分辨率维度中存在三个空间分辨率层。因此,每一存取单元可包含用于二十四个图片的NAL单元:八个视图以及这八个视图中的每一者的三个空间分辨率。在此实例中,可通过确定将要检索所述视图中的哪些以及将要检索这些视图的空间分辨率中的哪些且提取具有所确定视图的视图识别符且具有所确定空间分辨率的NAL单元来提取子位流。
更一股来说,令位流的经启用可分级维度的数目为N,其中N是整数。对于经启用可分级维度D1,D2,...DN中的每一者,令存在从1到MaxK的一系列层,其中1<=K<=N。因此,对于所述位流,可存在总数为Max1*Max2*...*MaxNMaxK的图片。可分级维度中的每一者可在特定图片处相交,对于所述图片,在对应存取单元中可存在一个或一个以上NAL单元。根据本发明的技术,所述NAL单元中的每一者可包含指示所述NAL单元对应于图片中的哪一者的数据。此外,NAL单元无需包含用于不可分级维度的数据。因此,尽管可存在总共P个可能的可分级维度,但是如果N小于P,那么NAL单元仅需要包含用于N个经启用可分级维度的数据以指示所述N个经启用可分级维度的值,而无需包含(P-N)个未经启用可分级维度的值。此外,视频编码器20可对维度范围参数集或NAL单元标头映射参数集进行译码以指示可分级维度中的哪些是活动的且在一些情况中指示在NAL单元标头中用于表示用于活动的可分级维度中的每一者的数据的位的数目。
因此,再次参考存在八个视图和三个空间可分级性层的上述实例,视频编码器20可将三个位分配给NAL单元标头的视图识别符部分且将两个位分配给NAL单元标头的空间可分级性层部分。合起来,这五个位可指示NAL单元所对应的视图以及NAL单元所对应的空间可分级性层。举例来说,“00010”可对应于基础视图“000”和空间可分级性层的第一增强层“10”,而“11100”可对应于第八视图“111”和空间可分级性层的基础层“00”。一股来说,假定特定经启用可分级维度存在N个可能的值,视频编码器20可分配NAL单元标头中的ceil(log2(N))个位,其中ceil(X)返回向上舍入到下一个最高整数值的关于X的值。因此,当X是整数值时,ceil(X)返回X,而当X是表达为A.B的有理数时,ceil(X)返回(A+1)。
视频编码器20可从外部源(例如,用户或配置数据)接收用于许多经启用(也被称作“活动”)可分级维度的定义。另外,所述定义还可包含指示用于经启用可分级维度中的每一者的可能的值的范围的信息。因此,视频编码器20可基于这些接收到的定义对于各种可分级维度在NAL单元标头中分配一定数目的位以供使用。视频编码器20可接着基于这些分配来建构维度范围参数集或NAL单元标头映射参数集且还基于所分配的位对NAL单元标头进行译码。
另外,在用于特定可分级维度的值并非无间断地(atomically)递增一的情况中(例如,在view_id的情况中),视频编码器20可对将索引值映射到所述可分级维度的值的映射表进行译码。举例来说,假定具有view_id为1、18、46、169、200、250、385和399的位流存在八个视图。视频编码器20可将视图索引0、1、2、3、4、5、6和7映射到这些view_id值且相应地对映射表进行译码。以此方式,视频编码器20可对指示视图索引的NAL单元标头进行译码而非直接对view_id进行译码。例如视频解码器30等解码器可引用所述映射表以基于视图索引来确定NAL单元的view_id。
以此方式,图2的视频编码器20表示一种视频编码器的实例,所述视频编码器经配置以:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
图3是说明可实施用于用信号通知视频数据的可分级维度的特性的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储器82以及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收到的运动向量来产生预测数据,而帧内预测单元74可基于从熵解码单元70接收到的帧内预测模式指示符来产生预测数据。
在解码遍次期间,视频解码器30从视频编码器20接收经编码视频位流,所述位流表示经编码视频片段的视频块以及关联语法元素。视频解码器30的熵解码单元70对所述位流进行熵解码以产生经量化系数、运动向量或帧内预测模式指示符以及其它语法元素。熵解码单元70将运动向量以及其它语法元素转发给运动补偿单元72。视频解码器30可接收视频片段级和/或视频块级处的语法元素。
当视频片段被译码为经帧内译码(I)片段时,帧内预测单元74可基于用信号通知的帧内预测模式以及来自当前帧或图片的先前经解码块的数据来产生当前视频片段的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)片段时,运动补偿单元72基于从熵解码单元70接收到的运动向量以及其它语法元素来产生当前视频片段的视频块的预测块。可从参考图片列表中的一者内的参考图片中的一者产生所述预测块。视频解码器30可基于存储于参考帧存储器92中的参考图片使用默认建构技术来建构参考帧列表,即,列表0和列表1。
运动补偿单元72通过剖析所述运动向量和其它语法元素来确定当前视频片段的视频块的预测信息,且使用所述预测信息来产生正被解码的当前视频块的预测块。举例来说,运动补偿单元72使用所接收的语法元素中的一些来确定用于对视频片段的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测片段类型(例如,B片段、P片段或GPB片段)、用于所述片段的参考图片列表中的一者或一者以上的建构信息、所述片段的每一经帧间编码视频块的运动向量、所述片段的每一经帧间译码视频块的帧间预测状态以及用于对当前视频片段中的视频块进行解码的其它信息。
运动补偿单元72还可基于内插滤波器来执行内插。运动补偿单元72可使用如视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的分段整数像素的内插值。在此种情况中,运动补偿单元72可根据所接收的语法元素来确定视频编码器20所使用的内插滤波器且使用所述内插滤波器来产生预测块。
逆量化单元76对提供于位流中且由熵解码单元80解码的经量化变换系数进行逆量化(即,解量化)。逆量化过程可包含使用由视频解码器30为视频片段中的每一视频块计算出的量化参数QPY来确定量化程度且同样地确定将应用的逆量化程度。
逆变换单元78对变换系数应用逆变换,例如,逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。
在运动补偿单元82基于运动向量和其它语法元素产生当前视频块的预测块之后,视频解码器30通过对来自逆变换单元78的残余块与由运动补偿单元82产生的对应预测块进行求和而形成经解码视频块。求和器90表示执行此求和运算的组件。如果需要,还可应用去块滤波器以对经解码块进行滤波,以便移除成块性假影。也可使用其它环路滤波器(在译码环路中或在译码环路之后)使像素转变平滑化或以其它方式提高视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器92中,所述存储器存储供后续运动补偿使用的参考图片。参考帧存储器82也存储经解码视频以供稍后呈现于显示装置(例如,图1的显示装置32)上。
视频解码器30还可经配置以对根据一个或一个以上可分级维度进行译码的视频数据进行解码。举例来说,视频解码器30可对具有以下各项的视频数据进行解码:各种视图、质量层(例如,信噪比(SNR)层)、优先级层、空间分辨率层、时间层、色彩位深度层、色度取样格式层、依赖层或其它此类可分级维度。一股来说,视频解码器30可按照与对这些层进行编码所用的方式大体上互逆的方式来对所述层进行解码。
此外,视频解码器30(或通信地耦合到视频解码器30的另一单元)可使用NAL单元标头数据来确定特定NAL单元的视频数据所对应的一个或一个以上层。举例来说,根据本发明的技术,如果位流在视图维度、空间分辨率维度以及时间维度方面是可分级的,那么视频解码器30可根据NAL单元标头来确定NAL单元的数据的视图、空间分辨率层以及时间识别符。视频数据所对应的层的确定可影响执行视频数据的剖析和/或解码的方式。举例来说,如果NAL单元对应于多视图视频数据的基础视图,那么视频解码器30无需尝试确定NAL单元的视频数据是否经视图间译码。
此外,为了解译NAL单元标头,视频解码器30可引用其它语法数据,例如在维度范围参数集或NAL单元标头映射参数集中用信号通知的语法数据。此语法数据可指示多个可分级维度中的哪些被启用以及NAL单元标头中被分配给经启用可分级维度中的每一者的位的数目。以此方式,如果视频解码器30接收到位“0101101”且语法数据指示前三个位识别视图索引、接下来的两个位识别空间分辨率层且最后两个位识别时间层,那么视频解码器30可确定视图索引是“010”(例如,2)、空间分辨率层是“11”(例如,3)且时间层是“01”(例如,1)。在一些情况中,这些值可充当到映射表中的索引,所述映射表可将索引映射到对应维度的实际值。因此,视频解码器30可使用所述映射表根据所述索引来进一步确定实际值。
以此方式,图3的视频解码器30表示一种视频解码器的实例,所述视频解码器经配置以:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
图4是说明包含另一组装置的系统100的框图,所述另一组装置可执行本发明的用于用信号通知视频数据的可分级维度的特性的技术。系统100包含内容准备装置120、服务器装置160、客户端装置140以及具有媒体知识的网络元件(MANE)172。在一些实例中,内容准备装置120和服务器装置160可对应于相同装置,但为了阐释而在图4中分开展示。在此实例中,内容准备装置120包含音频源122、视频源124、音频编码器126、视频编码器128、包封单元130以及输出接口132。视频源124可大体上对应于视频源18(图1),而视频编码器128可大体上对应于视频编码器20(图1和2)。
网络170A和网络170B表示用于网络通信的一个或一个以上装置的网络。一股来说,网络170A、170B包含用于传输网络通信数据的一个或一个以上网络装置,例如路由器、集线器、交换机、网关、防火墙等。在一些实例中,网络170A和网络170B可表示相同网络,例如因特网。在其它实例中,网络170A和网络170B可表示不同的网络。举例来说,网络170A可表示因特网,而网络170B可表示内容递送网络。在此实例中,MANE172存在于网络170A与网络170B之间。MANE172可经配置以辨识和处理网络170A与网络170B之间的经过MANE172的网络通信中的媒体数据。
一股来说,音频源122和视频源124可分别提供彼此对应的音频数据和视频数据。举例来说,音频源122可包括麦克风且视频源124可包括摄像机,且音频源122捕获音频数据与视频源124捕获视频数据可大体上同时发生。或者,音频源122和视频源124可分别对应于产生音频数据和视频数据的计算机产生源。在任一种情况中,内容准备装置120都可提供指示彼此对应(即,将大体上同时一起播放)的音频数据和视频数据的语法数据,例如,时间戳。音频编码器126可使用多种音频译码技术中的任一者对从音频源122接收到的音频数据进行编码,且将经编码音频数据提供到包封单元130。同样地,视频编码器128可将经译码视频数据提供到包封单元130。所述经编码视频数据可包含用于各种可分级维度中的一者或一者以上的数据。
在此实例中,包封单元130可执行与对包含用于一个或一个以上可分级维度的数据的NAL单元标头进行译码有关的本发明的各种技术。举例来说,包封单元130可将来自视频编码器128的视频数据的经译码片段包封于NAL单元中。此外,包封单元130可为NAL单元中的每一者确定一个或一个以上可分级维度的值,且产生包含表示这些值的数据的NAL单元标头。此外,包封单元130可产生高级语法数据,例如维度范围参数集或NAL单元标头映射参数集,所述高级语法数据指示对包含经包封音频和视频数据的位流启用了多个可分级维度中的哪些且指示NAL单元标头内被指派给所述经启用可分级维度中的每一者的所分配的位。包封单元130还可包封从音频编码器126接收到的经编码音频数据。包封单元130可进一步将包含音频数据或视频数据的NAL单元包封于相应存取单元中。
在包封了音频数据和视频数据之后,包封单元130可将经包封数据提供到输出接口132。输出接口132可包含存储接口、网络接口或其它用于输出数据的接口。由输出接口132提供的数据可被递送到服务器装置160,作为经译码媒体数据162而存储。服务器装置160还包含媒体检索单元164,用于(例如)响应于从客户端装置140接收到的网络请求而检索经译码媒体数据162的部分。在此实例中,网络接口166经由网络170A将所请求的媒体数据提供给客户端装置140。网络接口166可包括有线或无线网络接口。
客户端装置140包含网络接口154、检索应用程序152、解包封单元150、音频解码器146、视频解码器148、音频输出部142以及视频输出部144。音频输出部142可包括一个或一个以上扬声器,且视频输出部144可包括一个或一个以上显示器,所述显示器可经配置以显示三维视频数据。举例来说,视频输出部144可包括一个或一个以上立体或自动立体显示器。音频输出部142也可以能够进行各种类型的音频输出。举例来说,音频输出部142可包含按照各种组合的扬声器(例如,两个立体声扬声器、四个或四个以上环绕声扬声器,具有或不具有中央扬声器和/或具有或不具有亚低音扬声器)。以此方式,音频输出部142和视频输出部144可具有各种输出特性。举例来说,视频输出部144可具有各种呈现特性。
音频解码器146可通常对经编码音频数据进行解码,而视频解码器148可通常对经编码视频数据进行解码。客户端装置140可协调音频解码器146与视频解码器148之间的解码处理,使得将大体上同时呈现的音频数据和视频数据可供音频输出部142和视频输出部144呈现。音频解码器146可具有某些解码能力,而视频解码器148可具有某些解码能力(即,某些解码特性)。举例来说,视频解码器148可遵照特定视频译码标准,或视频译码标准的特定类或一类的特定等级。就是说,视频解码器148可以能够使用某些视频译码技术,但不能够使用其它视频译码技术。
一股来说,网络接口154经由网络170B接收媒体数据且将所接收的数据提供到检索应用程序152。检索应用程序152可(例如)包括经配置以(例如)根据动态自适应HTTP流式传输(DASH)来检索和处理媒体数据的web浏览器。检索应用程序152可经配置而具有分别定义音频解码器146、视频解码器148、音频输出部142以及视频输出部144的解码和呈现能力的信息。因此,检索应用程序152可基于音频解码器146、视频解码器148、音频输出部142以及视频输出部144的能力来选择媒体数据。举例来说,如果视频输出部144仅能够进行立体视频显示,那么检索应用程序152可避免检索具有两个以上视图的媒体数据。以此方式,检索应用程序152可避免检索不可用的数据,例如,具有两个以上视图的媒体数据,这样可节省宝贵的带宽资源且避免对包含两个以上视图的位流进行不必要的剖析和解码。
为了获得此位流,检索应用程序152可将指示音频解码器146、视频解码器148、音频输出部142以及视频输出部144的特性的数据提供给MANE172。继续上述实例,检索应用程序152可将指示视频输出部144仅能够输出立体视频数据的数据提交给MANE172。因此,如果MANE172接收到客户端装置140所请求的位流,且所述位流包含两个以上视图,那么MANE172可为客户端装置140提取仅具有两个视图的子位流。
换句话说,在子位流提取过程期间,在一维度上具有某一范围内的值的一些NAL单元可被(例如)MANE172过滤掉。因此,如上文所论述,MANE172可产生包含用于某些维度的数目经调整的位的由数据结构174B表示的新的维度范围参数集(或新的NAL单元标头参数集)。就维度范围参数集的实例来说,dim_cnt_table以及dim_index_2_value_table也可相对于原始维度范围参数集进行调整。此外,被分到nalUnitScalableCharSet中的真正非空语法元素可发生改变,或者用于表示特定元素的位的数目可减少。
此外,根据本发明的技术,MANE172可接收描述用于特定位流的经启用可分级维度的数据结构174A。举例来说,假定除了其它可分级维度之外,数据结构174A还指示启用了视图维度且此外还指示位流中存在用于八个视图的数据。然而,继续上述实例,客户端装置140可仅能够进行立体视频显示。因此,MANE172可提取仅具有两个视图的子位流。此外,MANE172可修改数据结构174A以形成指示所提取子位流的特性的经修改数据结构174B。
举例来说,如果所提取子位流的两个视图具有视图索引“2”和“6”,那么MANE172可调整所述视图索引使之改为分别具有值“0”和“1”。如果在数据结构174A中提供映射表,那么MANE172可进一步调整所述映射表以将新的索引值映射到适当视图识别符(或用于其它可分级维度的其它数据)。此外,对于子位流的NAL单元,MANE172可(例如)通过移除用于相对于全位流具有缩减的范围的可分级维度的不必要的位或通过从NAL单元标头完全移除用于对所提取子位流未启用的可分级维度的信令数据来修改NAL单元标头,使得NAL单元标头比全位流的原始NAL单元标头短(即,包含较少的位)。
在创建经修改数据结构174B且提取子位流之后,MANE172可经由网络170B将经修改数据结构174B和所提取子位流提供给客户端装置140。客户端装置140可经由网络接口154接收经修改数据结构174B和所提取子位流,所述网络接口可包括有线或无线网络接口。
以此方式,MANE172表示一种装置的实例,所述装置经配置以:提取位流的子位流,其中所述位流包括第一NAL单元且其中所述子位流包括第二NAL单元,所述第二NAL单元包含所述第一NAL单元的视频数据的至少一部分;针对所述子位流,对表示对所述子位流启用了多个视频译码维度中的哪些的信息进行译码;以及在所述第二NAL单元的经修改NAL单元标头中,对所述子位流的经启用视频译码维度中的每一者的值进行译码,但不对未经启用的视频译码维度的值进行译码,其中所述经修改NAL单元标头的位长度比所述第一NAL单元的NAL单元标头的位长度短。
MANE172可包含经配置以执行这些技术的控制单元。所述控制单元可用硬件、软件、固件或其任何组合来实施。当以软件和/或固件实施时,假定也提供了必需的硬件,例如一个或一个以上处理器以及用于存储可由所述一个或一个以上处理器执行的指令的存储器。同样地,内容准备装置120、服务器装置160以及客户端装置140的元件也可用硬件、软件、固件或其任何组合来实施,同样假定提供用以执行软件或固件(假如使用)的必需硬件。
图5A和5B是说明根据本发明的技术的各种实例的NAL单元标头的实例的概念图。图5A和5B大体上呈现了可包含于NAL单元标头中的一组可分级性或视图维度识别符(即,用于可分级维度的识别符)的实例。图5A说明包含temporal_id182、chroma_format_idx184、bit_depth_idx186、dependency_id188、quality_id190、view_idx192和texture_depth_idx194的实例NAL单元标头180。一股来说,可基于对应维度是否被启用为可分级的来用信号通知temporal_id182、chroma_format_idx184、bit_depth_idx186、dependency_id188、quality_id190、view_idx192和texture_depth_idx194中的任一者或全部的值。
此外,可在维度范围参数集(例如,根据如上文论述的表1)中指示分配给temporal_id182、chroma_format_idx184、bit_depth_idx186、dependency_id188、quality_id190、view_idx192和texture_depth_idx194中的任一者或全部的位的数目。以此方式,NAL单元标头180表示根据表1的维度范围参数集建构的NAL单元标头的实例。因此,可基于由NAL单元标头180包封的NAL单元所对应的这些各种维度的交点来指派temporal_id182、chroma_format_idx184、bit_depth_idx186、dependency_id188、quality_id190、view_idx192和texture_depth_idx194的值(在存在时)。对于未经启用的可分级维度(即,在位流中仅具有一个可能值的可分级维度),无需在NAL单元的NAL单元标头180中用信号通知数据。举例来说,如果对于位流仅存在一个位深度,那么无需提供用于bit_depth_idx186的数据。
图5B说明包含priority_id202、temporaMd204、dependency_id206、quality_id208和view_idx210的另一实例NAL单元标头200。以此方式,NAL单元标头200表示根据表8的NAL单元标头映射参数集建构的NAL单元标头的实例。NAL单元标头200在其它方面与NAL单元标头180大体上一致。当然,在各种实例,NAL单元标头200的语法元素可包含于NAL单元标头180中,且同样地,NAL单元标头180的语法元素可包含于NAL单元标头200中,但要对上述表格的语法和语义进行适当修改。
可针对各种不同情形来设计NAL单元标头。在下文提供若干实例。然而,应理解,使用本发明的技术也可想到和提出其它实例。
在一个实例中,可分级视频位流可具有四分之一视频图形阵列(QVGA)到视频图形阵列(VGA)空间可分级性,同时依赖层具有三个时间层。在此种情况中,可在NAL单元标头中使用三个位来用信号通知可分级性和/或视图维度。举例来说,可指派两个位来表示temporal_id204,可指派一个位来表示dependency_id206,且无需指派位来表示quality_ID208和view_IDX210。
在另一实例中,立体位流可具有每一视图两个空间层,且所述视图中的每一者可具有三个时间层。在此种情况中,可使用总共四个位来表示NAL单元标头:两个位用于表示temporal_id204,一个位用于表示dependency_id188,一个位用于表示view_idx210,且零个位用于表示quality_id208。
在另一实例中,多视图位流可包含八个视图,每一视图具有两个质量层。也可用层级式B预测结构对所述位流进行译码,其中GOP大小为16(即,四个时间层)。在此实例中,可在NAL单元标头中使用总共七个位来用信号通知可分级性和/或视图维度:三个位用于temporal_id204、零个位用于dependency_id206、一个位用于quality_id208,且三个位用于view_idx210。
图6是说明用于用信号通知视频数据的可分级维度的特性的实例方法的流程图。为了举例说明,关于视频编码器20来阐释图6的方法。然而,应理解,其它装置也可经配置以执行图6的方法,例如源装置12(图1)的其它单元或内容准备装置120和/或服务器装置160(图4)的组件。同样地,MANE172(图4)可经配置以执行图6的方法的某些方面。此外,应理解,可省略图6的方法的某些步骤或者某些步骤可按不同顺序执行或同时执行,且可添加其它步骤。
在此实例中,视频编码器20对待编码且形成于位流中的视频数据启用一个或一个以上可分级维度(250)。举例来说,视频编码器20可从外部源(例如用户)接收将使用一个或一个以上可分级维度对所接收的视频数据进行译码的指示,所述可分级维度例如优先级维度、空间分辨率维度、时间维度、质量维度(例如,信噪比(SNR)维度)、视图维度、色彩位深度维度、色度取样格式维度和/或依赖维度中的一者或一者以上。
视频编码器20可接着确定所述经启用可分级维度的值的范围(252)。举例来说,视频编码器20可确定每一维度的待编码的层的数目。作为一实例,如果所接收到的视频数据具有V个视图,其中V是整数,那么视频编码器20可确定需要视图维度的范围中的V个值。作为另一实例,如果启用空间分辨率维度且将存在三个层,即一个基础层和两个增强层,那么视频编码器20可确定需要空间分辨率维度的范围中的三个值。一股来说,对于每一维度,视频编码器20可确定所述维度上的用于识别所述维度内的层(或视图)的值的范围。
视频编码器20可接着基于所确定的范围将位分配给用于所述经启用可分级维度的NAL单元标头(254)。举例来说,令N为经启用维度的数目,且令RK表示维度K的范围的大小,其中1<=K<=N。为了计算表示维度K的值所需的位的数目,视频编码器20可计算ceil(log2(RK))。因此,为了基于所确定的范围计算经启用可分级维度的NAL单元标头中所需要的位的总数,视频编码器20可计算其中ceil(X)返回向上舍入到等于或大于X的最高整数的X值。就是说,如果X是整数,那么ceil(X)返回X,而如果X是有理数(即表达为A.B的非整数),那么ceil(X)返回(A+1)。以此方式,基于每一维度的所确定的值范围,这些值的和可表示将在经启用维度的NAL单元标头中使用的位的总数。
视频编码器20可接着对指示NAL单元标头的位分配的数据结构进行译码(256)。举例来说,视频编码器20可对根据表1的维度范围参数集或根据表8的NAL单元标头映射(如上文描述)进行译码。所述数据结构可形成它自己的独立数据结构或包含于另一数据结构(例如序列参数集(SPS))中。在任一种情况中,所述数据结构可通常指示NAL单元标头中用于经启用维度中的每一者的位的数目。此外,当所述数据结构在NAL单元标头中将零个位分配给特定维度时,可确定所述维度的可分级性没有被启用。换句话说,在NAL单元标头中被分配了零个位的维度对于对应位流来说可能不是可分级的。以此方式,所述数据结构还提供了可分级维度中的哪些维度的可分级性被启用的指示。
在一些实例中,用于维度的层的值可能不是无间断地递增一。举例来说,视图维度的视图识别符(view_id)不一定递增值1。作为另一实例,位深度值(例如,用于色彩位深度)可包含8位、10位和12位等值。因此,当如上文所论述确定值范围时,所述范围可包含用于所述维度中的等级的实际值的索引值的范围。可接着通过映射表将索引值映射到实际值,所述映射表可包含于上述经译码的数据结构中或作为单独的数据结构而提供。所述映射表可对应于表3、表5、表9、表10或表13中的任一者或全部(单独或按照任何组合)的语法和语义,其中这些表的组合可作为一个表或多个单独的表来用信号通知。
视频编码器20可接着对用于经启用可分级维度的交点的视频数据的片段进行译码(258)。举例来说,如果视频编码器20启用了视图维度、空间分辨率维度和时间维度,那么视频编码器20可开始对基础视图、空间分辨率维度的基础层以及具有为零的时间识别符的片段进行译码。一股来说,在步骤258中译码的片段可表示位流的任一任意选择的片段。所述片段的译码通常涉及基于经启用的维度对所述片段进行译码。因此,如果视图维度的可分级性被启用,且片段是非基础视图,那么视频编码器20可使用视图间预测对片段进行译码。作为另一实例,如果空间分辨率可分级性被启用,且片段是非基础层,那么视频编码器20可使用层间预测对片段进行译码。当启用多个可分级维度时,对于片段不出现于基础层(或基础视图)处的维度中的任一者,视频编码器20对于经启用可分级维度中的任一者或全部可使用层间预测对片段进行译码。
视频编码器20可接着将经译码片段包封于NAL单元中(260)。明确地说,视频编码器20可对指示所述片段的经启用可分级维度的值的用于所述片段的NAL单元标头进行译码(262)。明确地说,视频编码器20基于所述经译码片段对应于每一可分级维度的哪些层或视图来确定所述NAL单元标头的位值。举例来说,如果启用了视图维度和空间分辨率维度,存在八个视图和三个空间分辨率层,且最近经译码的片段对应于被指派了视图索引“010”的视图以及被指派了空间分辨率索引“11”的空间分辨率层,那么视频编码器20可在NAL单元标头中对“01011”进行译码以指示经启用可分级维度的值。
以此方式,图6的方法表示一种方法的实例,所述方法包含:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
图7是说明用于使用用信号通知的视频数据的可分级维度的特性的实例方法的流程图。为了举例说明,关于视频解码器30来阐释图7的方法。然而,应理解,其它装置也可经配置以执行图7的方法,例如目的地装置14(图1)的其它单元或服务器装置160或客户端装置140(图4)的组件。同样地,MANE172(图4)可经配置以执行图7的方法的某些方面。此外,应理解,可省略图7的方法的某些步骤或者某些步骤可按不同顺序执行或同时执行,且可添加其它步骤。
在此实例中,视频解码器30接收指示位流的NAL单元的位分配的数据结构(280)。举例来说,视频解码器30可接收维度范围参数集或NAL单元标头映射参数集,所述参数集可作为独立的数据结构来用信号通知或在另一数据结构(例如序列参数集)内用信号通知。另外,视频解码器30还可接收将索引值映射到可分级维度的实际值的映射表,例如索引到值映射表。
一股来说,在所述数据结构中用信号通知的用于NAL单元的位分配可提供对所述位流启用了多个可分级维度中的哪些的指示。就是说,视频解码器30可确定在NAL单元标头中被分配了一个或一个以上位的可分级维度的可分级性被启用。视频解码器30可确定在NAL单元标头中被分配零个位的其它维度未经启用。因此,针对位流中的NAL单元,视频解码器30可推断出未经启用可分级维度的默认值。
视频解码器30可接着接收包含经译码视频数据的片段的NAL单元(282)。此NAL单元可表示所述位流的任一任意NAL单元。视频解码器30可对指示经启用可分级维度的值的NAL单元标头进行解码(284)。就是说,视频解码器30可使用指示NAL单元标头的位分配的数据结构来解译所接收到的NAL单元的NAL单元标头的值。此外,如果接收到映射表,那么视频解码器30可使用所述映射表来进一步解译NAL单元标头中的指向对应可分级维度的实际值的索引值。
视频解码器30可接着对NAL单元解包封以从NAL单元检索经译码片段(286)。视频解码器30可接着基于经启用可分级维度的值(如从NAL单元标头确定)对片段进行解码(288)。基于这些值对片段进行解码可(例如)包含确定所述片段对应于每一经启用可分级维度的哪一层(或视图)以及使用层间预测对所述片段进行解码(如果需要)。此外,可取决于层间预测是否可用于多种可分级维度中的一者或一者以上来针对片段用信号通知不同的语法数据集。举例来说,如果片段对应于特定可分级维度的基础层,那么视频解码器30可经配置以不接收指示用于对应可分级维度的层间预测的参考层的语法元素。
以此方式,图7的方法也表示一种方法的实例,所述方法包含:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。
图8是说明用于用信号通知视频数据的可分级维度的特性以及用于使用用信号通知的视频数据的可分级维度的特性的另一实例方法的流程图。关于MANE(例如,图4的MANE172)以及客户端装置(例如,图4的客户端装置140)来描述图8的实例。应理解,其它装置也可经配置以执行图8的方法的各种步骤。此外,所述步骤可按不同顺序执行或同时执行,且可省略某些步骤,同时可添加其它步骤。
在此实例中,客户端装置140最初请求具有经启用的可用可分级维度的子集的视频数据(300)。此请求可基于客户端装置140(例如视频解码器148和视频输出部144)的译码和呈现能力。所述请求可表示受支持译码和呈现能力的指示,且不一定表示对用于特定位流的特定一组经启用可分级维度的显式请求。
MANE172可接收所述请求(302)且从(例如)服务器装置160接收具有多个可分级维度的位流(304)。在此步骤处,接收位流可对应于接收位流的一部分,而不一定接收整个位流。所述位流可包含指示所述位流的经启用可分级维度的数据结构以及用于经启用可分级维度的在NAL单元标头中用信号通知的值的位分配。同样,MANE172对此数据结构的接收由图4中的箭头174A表示。MANE172可接着基于子位流来修改所述数据结构(306),所述子位流将基于从客户端装置140接收到的请求而提取。如果提供映射表,那么MANE172可进一步修改映射表。
举例来说,如果位流包含八个视图,但客户端装置140仅支持立体3D播放,那么MANE172可确定将要提取的子位流应仅包含两个视图,而非所有八个视图。如果原始数据结构将三个位分配给NAL单元标头以识别特定NAL单元所对应的视图,那么MANE172可改为在NAL单元标头中仅分配一个位给视图识别符(或视图索引)。另外,如果映射表将视图索引映射到视图识别符,那么MANE172可修改所述映射表以反映将包含于所提取子位流中的仅两个视图的映射。
MANE172可接着将经修改数据结构发送到客户端装置140(308)。同样,将经修改数据结构发送到客户端装置140由图4中的箭头174B表示。反过来,客户端装置140可接收所述经修改数据结构(310)。
随后,MANE172可从位流提取NAL单元(312)。所提取NAL单元可具有所有经启用可分级维度的值。然而,MANE172可基于所述请求来修改待发送到客户端装置140的子位流的NAL单元(314)。举例来说,MANE172可从NAL单元标头移除指示客户端装置140不支持的可分级维度的值的数据。MANE172无需将客户端装置140不支持或不需要的可分级维度的层的NAL单元发送到客户端装置140。而是,MANE172可仅提取包含客户端装置140所请求的数据的那些NAL单元且必要时修改NAL单元标头。
作为一实例,如果原始位流包含用于八个视图的数据,但客户端装置140仅请求两个视图,那么MANE172可仅提取与将发送到客户端装置140的两个视图对应的NAL单元。此外,MANE172可修改NAL单元标头以反映这些NAL单元的视图识别符(或视图索引)的改变。举例来说,假定为客户端装置140选择的两个视图的原始NAL单元包含视图索引值“010”和“110”。MANE172可基于经修改数据结构的位分配且基于经修改映射表将这些值分别改变为“0”和“1”。
MANE172可接着将经修改NAL单元发送到客户端装置140(316)。反过来,客户端装置140可接收经修改NAL单元(318)且对经修改NAL单元进行解码(320)。对经修改NAL单元进行解码可大体上对应于图7中描述的过程。因此,根据本发明的技术,从客户端装置140的角度来看,处理子位流通常无需不同于处理位流。
以此方式,图8的方法也表示一种方法的实例,所述方法包含:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些的信息进行译码;以及在网络抽象层(NAL)单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的值进行译码的视频数据。MANE172和客户端装置140均表示对此类信息和值进行译码的装置。
将认识到,取决于实例,本文中描述的任何技术的某些动作或事件可按不同顺序执行、可经添加、合并或完全省去(例如,并非所有描述的动作或事件都需要用于实践所述技术)。此外,在某些实例中,可同时地而非顺序地执行各动作或事件,例如通过多线程处理、中断处理或多个处理器。
在一个或一个以上实例中,所描述的功能可用硬件、软件、固件或其任何组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或通过计算机可读媒体来传输,且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体;或通信媒体,其包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可以是可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
举例说明且并非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可被计算机存取的任何其它媒体。并且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是改为针对非暂时性、有形的存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上述内容的组合也应包含在计算机可读媒体的范围内。
指令可由一个或一个以上处理器来执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散的逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在针对编码和解码而配置的专用硬件和/或软件模块中或并入在组合的编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
可在各种各样的装置或设备中实施本发明的技术,包含无线手持机、集成电路(IC)或IC的集合(例如,芯片集)。在本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示技术的装置的功能方面,而不一定要求通过不同硬件单元来实现。而是,如上所述,各种单元可组合在编解码器硬件单元中或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合与合适的软件和/或固件共同提供。
已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。

Claims (38)

1.一种对视频数据进行译码的方法,所述方法包括:
针对位流,对表示对所述位流启用了多个视频译码维度中的哪些视频译码维度的信息进行译码;以及
在网络抽象层NAL单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的所述视频译码维度的语法元素的值进行译码,所述NAL单元包括依据所述经启用视频译码维度中的每一者的值而译码的视频数据。
2.根据权利要求1所述的方法,其中对所述经启用视频译码维度中的每一者的所述值进行译码包括:
对于所述经启用视频译码维度中的每一者,确定用于对相应值进行译码的用于所述语法元素的位的相应数目;以及
基于所述经确定的位的相应数目对所述经启用视频译码维度的所述语法元素的所述值进行译码。
3.根据权利要求2所述的方法,其进一步包括对于所述位流的所有视频数据,推断出未经启用的所述视频译码维度的默认值。
4.根据权利要求2所述的方法,其中所述多个视频译码维度包括多个可分级视频译码维度,其中所述多个可分级视频译码维度包括优先级维度、空间维度、时间维度、信噪比SNR维度、质量维度、视图维度、色彩位深度维度、色度(chroma)取样格式维度以及依赖维度中的一者或一者以上。
5.根据权利要求2所述的方法,其中对所述表示启用了所述多个视频译码维度中的哪些视频译码维度的信息进行译码包括对维度范围参数集进行译码。
6.根据权利要求5所述的方法,其进一步包括对序列参数集的维度范围参数集识别符元素的值进行译码以对应于所述维度范围参数集。
7.根据权利要求2所述的方法,其中对所述表示启用了所述多个视频译码维度中的哪些视频译码维度的信息进行译码包括对NAL单元标头映射进行译码。
8.根据权利要求2所述的方法,其进一步包括对表示所述NAL单元标头中的位与所述经启用视频译码维度之间的对应的信息进行译码。
9.根据权利要求2所述的方法,其中所述经启用视频译码维度中的一者或一者以上的所述值包括进入所述相应经启用视频译码维度的可能值的相应集合中的索引值,所述方法进一步包括确定所述索引值中的每一者与所述相应索引值所映射到的所述相应集合的所述值中的一者之间的映射。
10.根据权利要求9所述的方法,其进一步包括对索引到值映射表进行译码,所述索引到值映射表包含定义所述值包括索引值的所述经启用视频译码维度中的所述一者或一者以上的所述映射的信息。
11.根据权利要求9所述的方法,其中所述经启用视频译码维度中的一者包括视图维度,其中对所述索引值进行译码包括在所述NAL单元标头中对所述视图维度的视图次序索引值进行译码,且其中确定所述映射包括确定所述视图次序索引值与所述视图维度的视图识别符(view_id)值之间的映射。
12.根据权利要求9所述的方法,其中确定所述映射包括根据视频译码器的预定义配置数据确定所述映射。
13.根据权利要求2所述的方法,其进一步包括基于所述经启用视频译码维度中的每一者的所述值对所述NAL单元的所述视频数据进行译码。
14.根据权利要求13所述的方法,其中对所述视频数据进行译码包括基于所述经启用视频译码维度中的每一者的所述值对所述视频数据进行解码。
15.根据权利要求13所述的方法,其中对所述视频数据进行译码包括基于所述经启用视频译码维度中的每一者的所述值对所述视频数据进行编码。
16.一种用于对视频数据进行译码的装置,所述装置包括经配置以进行以下操作的视频译码器:针对位流,对表示对所述位流启用了多个视频译码维度中的哪些视频译码维度的信息进行译码;以及在网络抽象层NAL单元的NAL单元标头中,对表示所述经启用视频译码维度的语法元素的值进行译码,但不对表示未经启用的所述视频译码维度的语法元素的值进行译码,所述NAL单元包括根据所述经启用视频译码维度中的每一者的所述值进行译码的视频数据。
17.根据权利要求16所述的装置,其中为了对所述经启用视频译码维度中的每一者的所述值进行译码,所述视频译码器经配置以:对于所述经启用视频译码维度中的每一者,确定用于表示相应值的位的相应数目;以及基于所述经确定的位的相应数目对所述经启用视频译码维度中的每一者的所述值进行译码。
18.根据权利要求17所述的装置,其中所述多个视频译码维度包括多个可分级视频译码维度,其中所述多个可分级视频译码维度包括优先级维度、空间维度、时间维度、信噪比SNR维度、质量维度、视图维度、色彩位深度维度、色度(chroma)取样格式维度以及依赖维度中的一者或一者以上。
19.根据权利要求17所述的装置,其中为了对所述表示启用了所述多个视频译码维度中的哪些视频译码维度的信息进行译码,所述视频译码器经配置以对维度范围参数集进行译码。
20.根据权利要求17所述的装置,其中为了对所述表示启用了所述多个视频译码维度中的哪些视频译码维度的信息进行译码,所述视频译码器经配置以对NAL单元标头映射进行译码。
21.根据权利要求20所述的装置,其中为了对所述NAL单元标头映射进行译码,所述视频译码器经配置以对包括用于所述NAL单元标头映射的数据的NAL单元标头映射参数集NPS和包括用于所述NAL单元标头映射的数据的序列参数集SPS中的至少一者进行译码。
22.根据权利要求17所述的装置,其中所述视频译码器经配置以对于所述位流的所有视频数据,推断出未经启用的所述视频译码维度的默认值。
23.根据权利要求17所述的装置,其中所述经启用视频译码维度中的一者或一者以上的所述值包括进入所述相应经启用视频译码维度的可能值的相应集合中的索引值,且其中所述视频译码器经配置以确定所述索引值中的每一者与所述相应索引值所映射到的所述相应集合的所述值中的一者之间的映射。
24.根据权利要求23所述的装置,其中所述视频译码器经进一步配置以对索引到值映射表进行译码,所述索引到值映射表包含定义所述值包括索引值的所述经启用视频译码维度中的所述一者或一者以上的所述映射的信息。
25.根据权利要求23所述的装置,其中所述经启用视频译码维度中的一者包括视图维度,其中为了对所述索引值进行译码,所述视频译码器经配置以在所述NAL单元标头中对所述视图维度的视图次序索引值进行译码,且其中为了确定所述映射,所述视频译码器经配置以确定所述视图次序索引值与所述视图维度的视图识别符(view_id)值之间的映射。
26.根据权利要求17所述的装置,其中所述视频译码器经进一步配置以基于所述经启用视频译码维度中的每一者的所述值对所述NAL单元的所述视频数据进行译码。
27.根据权利要求26所述的装置,其中所述视频译码器包括视频解码器。
28.根据权利要求26所述的装置,其中所述视频译码器包括视频编码器。
29.根据权利要求16所述的装置,其中所述装置包括以下各项中的至少一者:
集成电路;
微处理器;以及
包含所述视频译码器的无线通信装置。
30.一种用于对视频数据进行译码的装置,所述装置包括:
用于针对位流对表示对所述位流启用了多个视频译码维度中的哪些视频译码维度的信息进行译码的装置;以及
用于在网络抽象层NAL单元的NAL单元标头中对表示所述经启用视频译码维度的语法元素的值进行译码但不对表示未经启用的所述视频译码维度的语法元素的值进行译码的装置,所述NAL单元包括依据所述经启用视频译码维度中的每一者的值而译码的视频数据。
31.根据权利要求30所述的装置,其中所述用于对所述经启用视频译码维度中的每一者的所述值进行译码的装置包括:
用于对于所述经启用视频译码维度中的每一者确定用于表示相应值的位的相应数目的装置;以及
用于基于所述经确定的位的相应数目对所述经启用视频译码维度中的每一者的所述值进行译码的装置。
32.根据权利要求31所述的装置,其中所述多个视频译码维度包括多个可分级视频译码维度,其中所述多个可分级视频译码维度包括优先级维度、空间维度、时间维度、信噪比SNR维度、质量维度、视图维度、色彩位深度维度、色度(chroma)取样格式维度以及依赖维度中的一者或一者以上。
33.根据权利要求31所述的装置,其中所述用于对所述表示启用了所述多个视频译码维度中的哪些视频译码维度的信息进行译码的装置包括用于对维度范围参数集和NAL单元标头映射中的至少一者进行译码的装置。
34.根据权利要求31所述的装置,其中所述经启用视频译码维度中的一者或一者以上的所述值包括进入所述相应经启用视频译码维度的可能值的相应集合中的索引值,所述装置进一步包括:
用于确定所述索引值中的每一者与所述相应索引值所映射到的所述相应集合的所述值中的一者之间的映射的装置;以及
用于对索引到值映射表进行译码的装置,所述索引到值映射表包含定义所述值包括索引值的所述经启用视频译码维度中的每一者的所述映射的信息。
35.根据权利要求34所述的装置,其中所述经启用视频译码维度中的一者包括视图维度,其中所述用于对所述索引值进行译码的装置包括用于在所述NAL单元标头中对所述视图维度的视图次序索引值进行译码的装置,且其中所述用于确定所述映射的装置包括用于确定所述视图次序索引值与所述视图维度的视图识别符(view_id)值之间的映射的装置。
36.根据权利要求31所述的装置,其进一步包括用于基于所述经启用视频译码维度中的每一者的所述值对所述NAL单元的所述视频数据进行译码的装置。
37.根据权利要求36所述的装置,其中所述用于对所述视频数据进行译码的装置包括用于基于所述经启用视频译码维度中的每一者的所述值对所述视频数据进行解码的装置。
38.根据权利要求36所述的装置,其中所述用于对所述视频数据进行译码的装置包括用于基于所述经启用视频译码维度中的每一者的所述值对所述视频数据进行编码的装置。
CN201280038356.3A 2011-08-01 2012-07-31 视频译码中用于各种维度的译码参数集 Active CN103733623B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161513996P 2011-08-01 2011-08-01
US61/513,996 2011-08-01
US201161539925P 2011-09-27 2011-09-27
US61/539,925 2011-09-27
US201161557300P 2011-11-08 2011-11-08
US61/557,300 2011-11-08
US201161563359P 2011-11-23 2011-11-23
US61/563,359 2011-11-23
US13/561,754 US10237565B2 (en) 2011-08-01 2012-07-30 Coding parameter sets for various dimensions in video coding
US13/561,754 2012-07-30
PCT/US2012/049041 WO2013019811A1 (en) 2011-08-01 2012-07-31 Coding parameter sets for various dimensions in video coding

Publications (2)

Publication Number Publication Date
CN103733623A CN103733623A (zh) 2014-04-16
CN103733623B true CN103733623B (zh) 2017-08-04

Family

ID=47626941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280038356.3A Active CN103733623B (zh) 2011-08-01 2012-07-31 视频译码中用于各种维度的译码参数集

Country Status (10)

Country Link
US (1) US10237565B2 (zh)
EP (1) EP2740268B1 (zh)
JP (1) JP5869126B2 (zh)
KR (1) KR101553787B1 (zh)
CN (1) CN103733623B (zh)
BR (1) BR112014002479B1 (zh)
CA (1) CA2843748C (zh)
IN (1) IN2014CN00319A (zh)
RU (1) RU2575986C2 (zh)
WO (1) WO2013019811A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379727B2 (en) * 2008-09-26 2013-02-19 General Instrument Corporation Method and apparatus for scalable motion estimation
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
US9635355B2 (en) 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
US9674525B2 (en) 2011-07-28 2017-06-06 Qualcomm Incorporated Multiview video coding
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9712874B2 (en) * 2011-12-12 2017-07-18 Lg Electronics Inc. Device and method for receiving media content
US9258559B2 (en) 2011-12-20 2016-02-09 Qualcomm Incorporated Reference picture list construction for multi-view and three-dimensional video coding
US11089343B2 (en) * 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9313486B2 (en) * 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US9179145B2 (en) * 2012-07-02 2015-11-03 Vidyo, Inc. Cross layer spatial intra prediction
US9686542B2 (en) * 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
KR101775250B1 (ko) * 2012-09-28 2017-09-05 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9325997B2 (en) * 2012-11-16 2016-04-26 Huawei Technologies Co., Ltd Signaling scalability information in a parameter set
US10178400B2 (en) * 2012-11-21 2019-01-08 Dolby International Ab Signaling scalability information in a parameter set
US9774927B2 (en) * 2012-12-21 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Multi-layer video stream decoding
US9462287B2 (en) * 2013-01-04 2016-10-04 Dolby International Ab Implicit signaling of scalability dimension identifier information in a parameter set
US9426468B2 (en) 2013-01-04 2016-08-23 Huawei Technologies Co., Ltd. Signaling layer dependency information in a parameter set
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
JP5989934B2 (ja) * 2013-03-26 2016-09-07 ドルビー ラボラトリーズ ライセンシング コーポレイション マルチレイヤvdr符号化における知覚量子化ビデオコンテンツのエンコーディング
US9992493B2 (en) * 2013-04-01 2018-06-05 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
US9473771B2 (en) 2013-04-08 2016-10-18 Qualcomm Incorporated Coding video data for an output layer set
US9602822B2 (en) * 2013-04-17 2017-03-21 Qualcomm Incorporated Indication of cross-layer picture type alignment in multi-layer video coding
KR102161741B1 (ko) * 2013-05-02 2020-10-06 삼성전자주식회사 HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
US9510006B2 (en) * 2013-05-03 2016-11-29 Empire Technology Development Llc Scalable video coding prioritization
JP6361866B2 (ja) * 2013-05-09 2018-07-25 サン パテント トラスト 画像処理方法および画像処理装置
CN109451321B (zh) 2013-06-05 2023-06-02 太阳专利托管公司 图像编码方法、图像解码方法、图像编码装置以及图像解码装置
EP3011747A1 (en) * 2013-06-18 2016-04-27 VID SCALE, Inc. Inter-layer parameter set for hevc extensions
WO2015006281A2 (en) * 2013-07-09 2015-01-15 Sony Corporation High level syntax improvement on inter-layer prediction for shvc/mv-hevc
US9912943B2 (en) 2013-07-15 2018-03-06 Qualcomm Incorporated Signaling of bit rate information and picture rate information in VPS
US20160156915A1 (en) * 2013-07-18 2016-06-02 Samsung Electronics Co., Ltd. Video encoding method and apparatus and video decoding method and apparatus using video format parameter delivery
JP5774652B2 (ja) 2013-08-27 2015-09-09 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
US9628800B2 (en) * 2013-11-18 2017-04-18 Qualcomm Incorporated Adaptive control for transforms in video coding
BR112016015120A2 (pt) * 2013-12-30 2017-08-08 Qualcomm Inc Simplificação de codificação dc em segmentos de blocos de predição grandes em codificação de vídeo 3d
WO2015103462A1 (en) * 2014-01-02 2015-07-09 Vidyo, Inc. Overlays using auxiliary pictures
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136060A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US10178397B2 (en) * 2014-03-24 2019-01-08 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
ES2849565T3 (es) * 2014-04-25 2021-08-19 Sony Group Corp Dispositivo de transmisión, método de transmisión, dispositivo de recepción y método de recepción
JP2016015009A (ja) * 2014-07-02 2016-01-28 ソニー株式会社 情報処理システム、情報処理端末、および情報処理方法
US9583113B2 (en) * 2015-03-31 2017-02-28 Lenovo (Singapore) Pte. Ltd. Audio compression using vector field normalization
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10938878B2 (en) * 2017-05-16 2021-03-02 Red Hat, Inc. Separate cache servers for storing objects in different dedicated size ranges
JP2021526329A (ja) 2018-06-07 2021-09-30 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 映像のコード化又は映像の復号のためのシンタックス要素
GB201817784D0 (en) * 2018-10-31 2018-12-19 V Nova Int Ltd Methods,apparatuses, computer programs and computer-readable media
JP6648811B2 (ja) * 2018-12-13 2020-02-14 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10812818B2 (en) * 2018-12-14 2020-10-20 Tencent America LLC Network abstraction unit layer type classes in network abstraction layer unit header
US11533474B2 (en) 2019-03-11 2022-12-20 Dolby Laboratories Licensing Corporation Video coding using reference picture resampling supporting region of interest
KR102311046B1 (ko) 2019-03-11 2021-10-12 돌비 레버러토리즈 라이쎈싱 코오포레이션 프레임 레이트 스케일러블 비디오 코딩
WO2021005347A1 (en) * 2019-07-05 2021-01-14 V-Nova International Ltd Quantization of residuals in video coding
EP4011079A1 (en) 2019-08-06 2022-06-15 Dolby Laboratories Licensing Corporation Canvas size scalable video coding
GB2586516B (en) * 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
US11375182B2 (en) * 2019-12-17 2022-06-28 Hfi Innovation Inc. Method and apparatus of constrained layer-wise video coding
JP6773205B2 (ja) * 2019-12-19 2020-10-21 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US11750843B2 (en) * 2021-06-28 2023-09-05 Tencent America LLC Multiview-related supplementary enhancement information messages

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390399A (zh) * 2006-01-11 2009-03-18 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
CN101449585A (zh) * 2006-03-30 2009-06-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
CN101627634A (zh) * 2006-10-16 2010-01-13 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302490B1 (en) * 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
WO2002054779A2 (de) 2001-01-08 2002-07-11 Siemens Aktiengesellschaft Verfahren zur header-kompression bei einer video-codierung
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
GB0518300D0 (en) 2005-09-08 2005-10-19 Hendrickson Europ Ltd Vehicle suspensions
US20100158133A1 (en) 2005-10-12 2010-06-24 Peng Yin Method and Apparatus for Using High-Level Syntax in Scalable Video Encoding and Decoding
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
WO2007114612A1 (en) 2006-03-30 2007-10-11 Lg Electronics Inc. A method and apparatus for decoding/encoding a video signal
FR2899758A1 (fr) 2006-04-07 2007-10-12 France Telecom Procede et dispositif de codage de donnees en un flux scalable
TWI368443B (en) 2006-11-09 2012-07-11 Lg Electronics Inc Method and apparatus for decoding/encoding a video signal
CN101543018B (zh) 2007-01-12 2012-12-26 庆熙大学校产学协力团 网络提取层单元的分组格式、使用该格式的视频编解码算法和装置以及使用该格式进行IPv6标签交换的QoS控制算法和装置
CN101669367A (zh) 2007-03-02 2010-03-10 Lg电子株式会社 用于解码/编码视频信号的方法及设备
US8548261B2 (en) 2007-04-11 2013-10-01 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view image
US20090003431A1 (en) 2007-06-28 2009-01-01 Lihua Zhu Method for encoding video data in a scalable manner
ATE484155T1 (de) 2007-06-29 2010-10-15 Fraunhofer Ges Forschung Skalierbare videocodierung, die pixelwert- verfeinerungsskalierbarkeit unterstützt
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
FR2924887B1 (fr) 2007-12-07 2011-07-15 Thales Sa Procede et dispositif de transmission robuste d'en-tetes reseau compresses
KR20090079838A (ko) 2008-01-17 2009-07-22 엘지전자 주식회사 Iptv 수신 시스템 및 그 데이터 처리 방법
EP2319248A1 (en) 2008-08-26 2011-05-11 Koninklijke Philips Electronics N.V. Method and system for encoding a 3d video signal, encoder for encoding a 3-d video signal, encoded 3d video signal, method and system for decoding a 3d video signal, decoder for decoding a 3d video signal
WO2010058955A2 (ko) 2008-11-18 2010-05-27 엘지전자 주식회사 영상 신호 처리 방법 및 장치
KR20110106465A (ko) * 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
US9036705B2 (en) * 2009-03-13 2015-05-19 Telefonaktiebolaget L M Ericsson (Publ) Technique for bringing encoded data items into conformity with a scalable coding protocol
CA2718447C (en) 2009-04-28 2014-10-21 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, and image coding apparatus
EP2425626A2 (en) 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
US8780999B2 (en) 2009-06-12 2014-07-15 Qualcomm Incorporated Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9635355B2 (en) 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390399A (zh) * 2006-01-11 2009-03-18 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
CN101449585A (zh) * 2006-03-30 2009-06-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
CN101627634A (zh) * 2006-10-16 2010-01-13 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Joint Draft 6.0 on Multiview Video Coding;Anthony Vetro ET AL;《Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG》;20080118;全文 *
Scalable multiview video coding (SMVC);Miska M. Hannuksela ET AL;《Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG》;20080424;第1-3页,图1,表1、2 *

Also Published As

Publication number Publication date
EP2740268A1 (en) 2014-06-11
BR112014002479B1 (pt) 2022-06-07
EP2740268B1 (en) 2020-11-18
BR112014002479A2 (pt) 2017-02-21
JP2014522187A (ja) 2014-08-28
JP5869126B2 (ja) 2016-02-24
US10237565B2 (en) 2019-03-19
IN2014CN00319A (zh) 2015-04-03
US20130034170A1 (en) 2013-02-07
WO2013019811A1 (en) 2013-02-07
RU2575986C2 (ru) 2016-02-27
CA2843748C (en) 2018-01-16
RU2014107877A (ru) 2015-09-10
KR20140043840A (ko) 2014-04-10
CA2843748A1 (en) 2013-02-07
KR101553787B1 (ko) 2015-09-16
CN103733623A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103733623B (zh) 视频译码中用于各种维度的译码参数集
CN105794212B (zh) 一种处理多层视频数据的方法及装置
CN105284113B (zh) 分量间滤波
CN105009587B (zh) 用于视频译码的并行处理
CN104769948B (zh) 一种编解码方法、装置及可读存储介质
CN106170982B (zh) Hevc sei消息用于多层编解码器的一般使用
CN104718752B (zh) 在可缩放视频译码中减少取样相位信息的发信
CN106664427B (zh) 用于对视频数据进行编码的设备和方法及计算机可读媒体
CN105359526B (zh) 用于视频译码的跨层并行处理与偏移延迟参数
CN104025602B (zh) 三维视频译码中用信号通知视图合成预测支持
CN105409219B (zh) 高效率视频译码扩展中的目标输出层的选择
CN103155571B (zh) 译码立体视频数据
KR101951615B1 (ko) 멀티-계층 비트스트림들 파일 포맷에서의 동작 지점 샘플 그룹의 정렬
CN104471942B (zh) 重新使用参数集用于视频译码
CN104704843B (zh) 视频性质的指示
CN110036641A (zh) 虚拟现实视频中的用信号表示的感兴趣区域或视点的优选呈现
CN105075258B (zh) 针对具有不同纵横比的空间可缩放性的层间参考图片建构
CN104365106B (zh) 发信用于视频译码的长期参考图片的数据
CN110326298A (zh) 译码mcts嵌套式sei消息
CN106105217B (zh) 用于多层视频译码的poc值设计
CN104641652A (zh) 用于视频译码的帧封装立体三维(3d)视频数据的指示
CN107105295A (zh) 用于高效视频译码(hevc)和扩展的视频参数集
CN104885459B (zh) 用于多层译码的多分辨率经解码图片缓冲器管理
CN106797480A (zh) 用于分层hevc位流的运载的操作点
CN106464917A (zh) 用信号表示用于位流分区的hrd参数

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant