CN108028934A - 改进的视频流切换和随机存取的方法和系统 - Google Patents

改进的视频流切换和随机存取的方法和系统 Download PDF

Info

Publication number
CN108028934A
CN108028934A CN201680054869.1A CN201680054869A CN108028934A CN 108028934 A CN108028934 A CN 108028934A CN 201680054869 A CN201680054869 A CN 201680054869A CN 108028934 A CN108028934 A CN 108028934A
Authority
CN
China
Prior art keywords
pictures
picture
irap
temporalid
leading
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.)
Pending
Application number
CN201680054869.1A
Other languages
English (en)
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 CN108028934A publication Critical patent/CN108028934A/zh
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/187Methods 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 scalable video layer
    • 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/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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
    • H04N21/234327Processing 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 decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明描述用于提供改进的视频译码的系统、方法和计算机可读媒体,所述改进的视频译码包含改进的视频流切换和随机存取。在一些实例中,系统、方法和计算机可读媒体包含在编码器处获得视频数据且从所述视频数据确定帧内随机存取点IRAP图片。与所述IRAP图片相关联的一或多个前导图片的第一集合是基于具有小于或等于时间识别符TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合而经译码为随机存取可解码前导RADL图片。与所述IRAP图片相关联的一或多个前导图片的第二集合是基于具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合而经译码为随机存取跳过前导RASL图片。随后可产生视频位流以包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。

Description

改进的视频流切换和随机存取的方法和系统
技术领域
本申请案涉及视频译码和压缩。更具体地说,本申请案涉及适用于视频编码和解码的改进的视频流切换和随机存取技术。
背景技术
许多装置和系统允许处理和输出视频数据以用于消费。数字视频数据包含大量数据以满足消费者和视频供应商的需求。举例来说,视频数据的消费者希望视频具有最佳的质量以及高保真度、分辨率、帧率等等。因此,需要满足这些需求的大量视频数据给处理和存储视频数据的通信网络和装置造成了负担。
各种视频译码技术可用以压缩视频数据。根据一或多个视频译码标准执行视频译码。举例来说,视频译码标准包含高效视频译码(HEVC)、高级视频译码(AVC)、移动图片专家组(MPEG)译码或类似标准。视频译码通常使用预测方法(例如,帧间预测、帧内预测、或类似物),这些预测方法利用存在于视频图像或序列中的冗余。视频译码技术的重要目标是使用较低位速率将视频数据压缩成表格,同时避免避免最小化视频质量的降级。随着不断演进的视频服务变得可供使用,需要具有较好译码效率的编码技术。
发明内容
在一些实施方案中,描述提供改进的视频流切换和随机存取的技术和系统。各种类型的随机存取点图片可包含在视频表示中。举例来说,随机存取点图片可提供视频表示可从另一视频表示切换到的点。在另一实例中,随机存取点图片可提供可随机存取视频表示的点(例如,当请求对视频表示中的较早或较晚点的存取时)。随机存取点图片的一个实例包含帧内随机存取点(IRAP)图片,其可包含瞬时解码刷新(IDR)图片、清洁随机存取(CRA)图片和断链存取(BLA)图片。IDR图片遵循闭合图片群组(GOP)结构,而CRA图片遵循开放GOP结构。BLA图片可由在CRA图片的位置处的位流的拼接引起。
前导图片是按解码次序跟随相关联IRAP图片但比IRAP图片更早输出的图片。前导图片可包含随机存取跳过前导(RASL)和随机存取可解码前导(RADL)。RASL图片是使用按解码次序和输出次序均先于IRAP图片的图片作为用于帧间预测的参考的前导图片。RADL图片是并不使用按解码和输出次序均先于IRAP图片的图片作为用于帧间预测的参考的前导图片。RASL图片和RADL图片均可在开放GOP结构中使用。然而,在闭合GOP结构中,仅使用RADL图片。此差异允许开放GOP情况中的前导图片比闭合GOP情况中更高效地译码,因为更多参考图片可用于预测前导图片。此外,存在要求IRAP图片的RASL图片按输出次序先于IRAP图片的所有RADL图片的约束。
在允许视频内容的不同表示(例如,视频内容的处于低质量的第一表示和同一视频内容的处于较高质量的第二表示)之间的切换的自适应流式传输系统中,可通常使用闭合GOP结构以使得当随机存取发生时在输出之前不会丢弃连续图片。举例来说,如果自适应流式传输系统关于RASL图片使用开放GOP结构,那么当在相关联IRAP图片处执行切换时,RASL图片先于RADL图片的约束将引领系统丢弃连续RASL图片(根据约束按输出次序为连续的)。将丢弃RASL图片,因为它们可使用按解码和输出次序均先于IRAP图片的图片作为用于帧间预测的参考,且这些参考图片由于流切换或随机存取正在IRAP图片处执行而为不可用的。
在一些实例中,本文中描述基于图片的时间识别符(TemporalId)将与开放GOPIRAP图片相关联的前导图片(例如,CRA图片)界定为RASL图片或RADL图片的技术和系统。举例来说,与IRAP图片相关联且具有高达特定值的TemporalId的前导图片经译码为RADL图片,而与IRAP图片相关联的其它前导图片(具有大于所述特定值的TemporalId)经译码为RASL图片。
在一些实例中,界定新类型的IRAP图片,在此情况下具有高达特定值的TemporalId的按解码次序的所有后续图片并不依赖于按解码次序比IRAP图片更早的图片(且因此可正确地经解码而无需参考按解码次序比IRAP图片更早的图片),而具有大于所述特定值的TemporalId的按解码次序的所有后续图片可以依赖于按解码次序比IRAP图片更早的图片(且因此无法正确地经解码而不参考按解码次序比IRAP图片更早的图片)。
根据至少一个实例,提供一种对视频数据进行编码以产生视频位流的方法,其包括在编码器处获得视频数据,且从所述视频数据确定帧内随机存取点(IRAP)图片。所述方法进一步包括将与IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导(RADL)图片。一或多个前导图片的第一集合是基于具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个前导图片的第一集合而经译码为一或多个RADL图片。所述方法进一步包括将与IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导(RASL)图片。一或多个前导图片的第二集合是基于具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合而经译码为一或多个RASL图片。所述方法进一步包括产生所述视频位流,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合,以及一或多个前导图片的所述第二集合。
在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可以在编码器处获得视频数据。所述处理器进一步经配置以且可以从所述视频数据确定帧内随机存取点(IRAP)图片。所述处理器进一步经配置以且可以将与IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导(RADL)图片。一或多个前导图片的第一集合是基于具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个前导图片的第一集合而经译码为一或多个RADL图片。所述处理器进一步经配置以且可以将与IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导(RASL)图片。一或多个前导图片的第二集合是基于具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合而经译码为一或多个RASL图片。所述处理器进一步经配置以且可以产生所述视频位流,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。
在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行包含以下各项的方法:在编码器处获得视频数据;从所述视频数据确定帧内随机存取点(IRAP)图片;将与所述IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导(RADL)图片,一或多个前导图片的所述第一集合是基于具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个前导图片的所述第一集合而经译码为一或多个RADL图片;将与所述IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导(RASL)图片,一或多个前导图片的所述第二集合是基于具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合而经译码为一或多个RASL图片;以及产生所述视频位流,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。
在另一实例中,提供一种设备,其包含用于__的装置。所述设备进一步包括用于在编码器处获得视频数据的装置,以及用于从所述视频数据确定帧内随机存取点(IRAP)图片的装置。所述设备进一步包括用于将与IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导(RADL)图片的装置。一或多个前导图片的第一集合是基于具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个前导图片的第一集合而经译码为一或多个RADL图片。所述设备进一步包括用于将与IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导(RASL)图片的装置。一或多个前导图片的第二集合是基于具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合而经译码为一或多个RASL图片。所述设备进一步包括用于产生所述视频位流的装置,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。
在一些方面中,IRAP图片是清洁随机存取(CRA)图片。在一些方面中,IRAP图片是视频译码标准中当前未界定的新随机存取图片。
在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括根据所述第一集合和所述第二集合中的每一前导图片的所述TemporalId按输出次序布置一或多个前导图片的所述第一集合和一或多个前导图片的所述第二集合,所述第一集合的所述一或多个RADL图片具有比所述第二集合的所述一或多个RASL图片低的TemporalId。
在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括按交替输出次序布置一或多个前导图片的所述第一集合和一或多个前导图片的所述第二集合。
在一些方面中,所述视频数据是视频表示的部分。在此些方面中,当向所述视频表示的切换发生在所述IRAP图片处时丢弃所述一或多个RASL图片,且其中当丢弃所述一或多个RASL图片时使用一或多个时间子层的经减少集合来输出所述视频表示。在一些实例中,当与IRAP图片相关联的一或多个拖尾图片经解码时使用时间子层的增加集合来输出视频表示。
在一些方面中,具有小于或等于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合并不依赖于按解码次序比所述IRAP图片更早的图片,且可解码而无需参考按解码次序比所述IRAP图片更早的所述图片。
在一些方面中,具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合的一或多个RASL图片依赖于按解码次序比IRAP图片更早的图片。
在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括在所述视频位流中用信号表示所述TemporalId阈值。
在一些方面中,具有小于或等于TemporalId阈值的TemporalId的一或多个前导图片的第一集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。在一些实例中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用一或多个前导图片的所述第一集合作为用于帧间预测的参考的IRAP图片的识别。在一些实例中,所述识别包含除了瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的用于所述IRAP图片的网络抽象层(NAL)单元类型。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括用信号表示用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数中的至少一或多个,其中所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的所述TemporalId按输出次序布置。在一些方面中,用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数是在IRAP图片的标头中或参数集中用信号表示。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括使用NAL单元类型用信号表示所述一或多个拖尾图片的识别。
在一些方面中,具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。在一些实例中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用一或多个前导图片的所述第二集合作为用于帧间预测的参考的IRAP图片的识别。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括用信号表示用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数中的至少一或多个,其中所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的所述TemporalId按输出次序布置。在一些方面中,用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数是在IRAP图片的标头中或参数集中用信号表示。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括使用NAL单元类型用信号表示所述一或多个拖尾图片的识别。
在一些方面中,按输出次序和解码次序均先于IRAP图片的图片的集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。在一些实例中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用所述图片集合作为用于帧间预测的参考的IRAP图片的识别。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括用信号表示用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数中的至少一或多个,其中所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的所述TemporalId按输出次序布置。在一些方面中,用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数是在IRAP图片的标头中或参数集中用信号表示。在一些方面中,上文对于对视频数据进行编码所述的方法、设备和计算机可读媒体可进一步包括使用NAL单元类型用信号表示所述一或多个拖尾图片的识别。
根据至少一个其它实例,提供一种对经编码视频位流进行解码以获得视频数据的方法,其包括存取经编码视频位流。经编码视频位流包含帧内随机存取点(IRAP)图片、具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个随机存取可解码前导(RADL)图片的集合,以及具有大于TemporalId阈值的TemporalId的一或多个随机存取跳过前导(RASL)图片的集合。所述方法进一步包括对所述经编码视频位流进行解码以获得所述视频数据。
在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。所述处理器经配置以且可以存取经编码视频位流。经编码视频位流包含帧内随机存取点(IRAP)图片、具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个随机存取可解码前导(RADL)图片的集合,以及具有大于TemporalId阈值的TemporalId的一或多个随机存取跳过前导(RASL)图片的集合。所述处理器进一步经配置以且可以对所述经编码视频位流进行解码以获得所述视频数据。
在另一实例中,提供一种计算机可读媒体,其上存储有指令,所述指令在由处理器执行时执行包含以下各项的方法:存取经编码视频位流,所述经编码视频位流包含帧内随机存取点(IRAP)图片、具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个随机存取可解码前导(RADL)图片的集合,以及具有大于所述TemporalId阈值的TemporalId的一或多个随机存取跳过前导(RASL)图片的集合;以及对所述经编码视频位流进行解码以获得所述视频数据。
在另一实例中,提供一种设备,其包含用于存取经编码视频位流的装置。经编码视频位流包含帧内随机存取点(IRAP)图片、具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个随机存取可解码前导(RADL)图片的集合,以及具有大于TemporalId阈值的TemporalId的一或多个随机存取跳过前导(RASL)图片的集合。所述设备进一步包括用于对所述经编码视频位流进行解码以获得所述视频数据的装置。
在一些方面中,IRAP图片是清洁随机存取(CRA)图片。
在一些方面中,一或多个RADL图片的所述集合和一或多个RASL图片的所述集合是根据所述一或多个RADL图片和所述一或多个RADL图片的时间识别符按输出次序布置,所述一或多个RADL图片具有比所述一或多个RASL图片低的TemporalId。
在一些方面中,一或多个RADL图片的集合和一或多个RASL图片的集合以交替输出次序布置。
在一些方面中,所述视频数据是视频表示的部分。在此些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括:在所述IRAP图片处切换到所述视频表示;丢弃一或多个RASL图片的所述集合;以及当丢弃一或多个RASL图片的所述集合时使用一或多个时间子层的经减少集合来输出所述视频表示。在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括:对与所述IRAP图片相关联的一或多个拖尾图片进行解码;以及当所述一或多个拖尾图片经解码时使用时间子层的增加集合来输出所述视频表示。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括使用帧间预测对一或多个RADL图片的所述集合进行解码而无需参考按解码次序比所述IRAP图片更早的图片,其中一或多个RADL图片的所述集合并不依赖于按解码次序比所述IRAP图片更早的所述图片。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括通过参考按解码次序比所述IRAP图片更早的图片使用帧间预测对一或多个RASL图片的所述集合进行解码。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括:确定按解码次序比所述IRAP图片更早的图片不可用作用于帧间预测的参考;以及丢弃一或多个RASL图片的所述集合。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括使用所述RADL图片中的至少一者作为参考来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括使用所述RASL图片中的至少一者作为参考来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
在一些方面中,上文对于对经编码视频位流进行解码所述的方法、设备和计算机可读媒体可进一步包括使用按输出次序和解码次序均先于所述IRAP图片的集合图片来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
本发明内容并不意图识别所要求的标的物的关键特征或基本特征,也并非意图单独用于确定所要求的标的物的范围。标的物应参考此专利的整个说明书的适当部分、任何或所有图式以及每一权利要求来理解。
在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。
附图说明
下文参考以下图式详细描述本发明的说明性实施例:
图1是根据一些实例说明编码装置和解码装置的实例的框图。
图2是根据一些实例的闭合图片群组(GOP)结构中的图片的实例。
图3是根据一些实例的开放GOP结构中的图片的实例。
图4是根据一些实例的经编码视频位流的图片的实例。
图5说明根据一些实例的在表示之间进行切换的实例。
图6说明根据一些实例的对视频数据进行编码的过程的实例。
图7说明根据一些实例的对经编码视频位流进行解码的过程的实例。
图8是说明根据一些实例的实例视频编码装置的框图。
图9是说明根据一些实例的实例视频解码装置的框图。
具体实施方式
下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可以独立地应用并且它们中的一些可以组合应用。在以下描述中,出于说明的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在无这些特定细节的情况下实践各种实施例。图式和描述并不意图为限制性的。
以下描述仅提供示范性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示范性实施例的以下描述将为所属领域的技术人员提供用于实施示范性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,本领域的技术人员应理解,可以在没有这些具体细节的情况下实践所述实施例。举例来说,电路、系统、网络、工艺和其它组件可以框图形式展示为组件以免以不必要的细节混淆实施例。在其它情况下,可以在没有不必要的细节的情况下示出熟知的电路、过程、算法、结构以及技术以便避免混淆实施例。
此外,应注意,个别实施例可描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,操作的顺序可重新安排。过程在过程的操作完成时终止,但是可以具有不包含在图中的额外步骤。过程可对应于方法、功能、程序、子例程、子程序等。当过程对应于函数时,过程的终止可对应于函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置以及能够存储、包含或运载指令和/或数据的各种其它媒体。计算机可读媒体可能包含非暂时性媒体,在非暂时性媒体中可以存储数据,并且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、光学存储媒体,例如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。一个代码段可通过传递及/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输或类似者的任何合适的装置传递、转发或传输。
此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。处理器可以执行必要任务。
随着越来越多的装置和系统为消费者提供消费数字视频数据的能力,对于高效视频译码技术的需要变得越来越重要。需要视频译码以减少处理存在于数字视频数据中的大量数据所必需的存储和传输需要。各种视频译码技术可用以在维持高视频质量的同时将视频数据压缩成使用较低位速率的形式。
本文中描述使用视频编码器、解码器和其它译码处理装置进行视频译码的若干系统和方法。在一些实例中,描述用于提供改进的视频流切换和随机存取的视频译码的一个或多个系统和方法。举例来说,当前指定的随机存取点图片(例如,开放GOP IRAP图片,例如CRA图片或BLA图片)可经重新界定以使得与此随机存取点图片相关联的前导图片被基于图片的时间识别符而设定为RASL图片或RADL图片。在另一实例中,界定新类型的随机存取点图片以使得按解码次序在所述随机存取点图片后续的图片被根据其时间识别符而设定为具有类似于RASL图片和RADL图片的特性。下文进一步详细地描述这些系统和方法的细节。
图1是说明包含编码装置104和解码装置112的系统100的实例的框图。编码装置104可为源装置的一部分,且解码装置112可为接收装置的一部分。所述源装置和/或接收装置可包含电子装置,例如移动或静止电话手持机(例如,智能电话、蜂窝式电话或类似物)、桌上型计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频串流装置、因特网协议(IP)相机,或任何其它合适的电子装置。在一些实例中,源装置和接收装置可以包含一或多个无线收发器以用于无线通信。本文所描述的译码技术适用于各种多媒体应用中的视频译码,包含串流视频传输(例如,经由因特网)、电视广播或传输、用于数据存储媒体上的存储的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统100可以支持单向或双向视频传输,以支持例如视频会议、视频流式传输、视频重放、视频广播游戏和/或视频电话的应用。
编码装置104(或编码器)可用以使用视频译码标准或协议对视频数据进行编码以产生经编码视频位流。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。更为新近的视频译码标准、高效视频译码(HEVC)已经由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成。HEVC的各种扩展涉及多层视频译码并且也是由JCT-VC研发出来的,所述扩展包含HEVC的多视图扩展(被称作MV-HEVC)以及HEVC的可缩放扩展(被称作SHVC),或任何其它合适的译码协议。
本文中描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文所描述的技术和系统也可以适用于其它译码标准,例如AVC、MPEG、其扩展,或已经可用或尚未可用或待开发的其它合适的译码标准。相应地,虽然本文中描述的技术和系统可以参考特定视频译码标准描述,但是所属领域的一般技术人员将理解描述不应解释为仅适用于特定标准。
参考图1,视频源102可将视频数据提供到编码装置104。视频源102可为源装置的一部分,或可为除源装置以外的装置的一部分。视频源102可包含视频捕获装置(例如,摄像机、相机电话、视频电话或类似者)、含有所存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此类来源的组合,或任何其它合适的视频源。
来自视频源102的视频数据可以包含一或多个输入图片或帧。图片或帧是视频的一部分的静态图像。编码装置104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)是一系列一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),从具有基础层中的随机存取点图片且具有某些性质的AU开始,直到具有基础层中的随机存取点图片且具有某些性质的下一AU且不包含所述下一AU。举例来说,开始CVS的随机存取点图片的某些性质可以包含等于1的RASL旗标(例如,NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL旗标)不开始CVS。存取单元(AU)包含一或多个经译码图片以及对应于共享同一输出时间的经译码图片的控制信息。图片的经译码切片在位流层级中囊封于数据单元中,称为网络抽象层(NAL)单元。举例来说,HEVC视频位流可以包含一或多个包含NAL单元的CVS。NAL单元中的每一者具有NAL单元标头。在一个实例中,标头对于H.264/AVC是一个字节(多层扩展除外)且对于HEVC是两个字节。NAL单元标头中的语法元素采取指定位并且因此对所有种类的系统和输送层可见,例如输送流、实时输送(RTP)协议、文件格式等等。
在HEVC标准中存在两类NAL单元,包含视频译码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片片段(下文描述),且非VCL NAL单元包含与一或多个经译码图片有关的控制信息。在一些情况下,NAL单元可称为包。HEVC AU包含含有经译码图片数据的VCL NAL单元以及对应于经译码图片数据的非VCL NAL单元(如果存在)。
NAL单元可含有形成视频数据的经译码表示的位序列(例如,经编码视频位流、位流的CVS或类似物),例如视频中的图片的经译码表示。编码器引擎106通过将每一图片分割成多个切片来产生图片的经译码表示。切片不依赖于其它切片,以使得所述切片中的信息得到译码而无需依赖于来自相同图片内的其它切片的数据。切片包含一或多个切片片段,包含独立的切片片段,并且如果存在的话,包含取决于先前切片片段的一或多个依赖性切片片段。切片随后被分割成亮度样本和色度样本的译码树块(CTB)。亮度样本的CTB和色度样本的一或多个CTB连同.样本的语法一起被称作译码树单元(CTU)。CTU是用于HEVC编码的基本处理单元。CTU可以被分裂成不同大小的多个译码单元(CU)。CU包含被称作译码块(CB)的明度和色度样本阵列。
明度和色度CB可进一步分裂成预测块(PB)。PB是对于帧间预测或块内复制预测(当可用或经启用以供使用时)使用相同运动参数的明度分量或色度分量的样本块。明度PB和一或多个色度PB连同相关联的语法形成预测单元(PU)。对于帧间预测,运动参数(例如,一个或多个运动向量、参考索引或类似物)的集合针对每一PU在位流中用信号表示且用于明度PB和所述一个或多个色度PB的帧间预测。对于块内复制预测,运动参数(例如,一个或多个块向量或类似物)的集合也可针对每一PU用信号表示且可用于块内复制预测。CB也可以被分割成一或多个变换块(TB)。TB表示色彩分量的样本的正方形块,对所述色彩分量的相同二维变换应用于对预测残余信号进行译码。变换单元(TU)表示明度和色度样本的TB以及对应的语法元素。
CU的大小对应于译码模式的大小,并且形状可为正方形。举例来说,CU的大小可以是8x 8个样本、16x 16个样本、32x 32个样本、64x 64个样本,或高达对应的CTU的大小的任何其它适当大小。短语“NxN”在本文中用以在垂直和水平尺寸方面指视频块的像素尺寸(例如,8像素x 8像素)。块中的像素可按行和列布置。在一些实施例中,块可在水平方向上不具有与在垂直方向上相同数目的像素。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码或是经帧间预测模式编码之间有所不同。PU可被分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述例如CU根据CTU分割成一或多个TU。TU可为正方形或非正方形形状。
根据HEVC标准,使用变换单元(TU)执行变换。TU可以针对不同CU发生改变。TU可以基于给定CU内的PU的大小而设定大小。TU可与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可使用被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可以对应于TU。可以对与TU相关联的像素差值进行变换以产生变换系数。变换系数可随后通过编码器引擎106进行量化。
一旦视频数据的图片被分割成CU,则编码器引擎106使用预测模式预测每个PU。随后从原始视频数据减去预测单元或预测块以得到残余(下文描述)。对于每个CU,可以在位流内部使用语法数据用信号表示预测模式。预测模式可以包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测,每个PU是从同一图片中的相邻图像数据中预测的,方法是使用例如DC预测以寻找PU的平均值、使用平面预测以配合PU的规划表面、使用方向预测以从相邻数据中进行推断,或者使用任何其它合适类型的预测。使用帧间预测,每个PU是使用运动补偿预测从一或多个参考图片中的图像数据预测的(在当前图片按输出次序之前或之后)。举例来说,可以在CU层级作出是使用图片间还是图片内预测对图片区域进行译码的决策。
在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含I切片、P切片和B切片。I切片(帧帧内,可独立解码)是图片的仅通过帧内预测经译码且因此可独立地解码的切片,因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧)是图片的可以通过帧内预测和单向帧间预测译码的切片。在P切片内的每一预测单元或预测块是通过帧内预测或帧间预测来译码的。当帧间预测适用时,预测单元或预测块仅是通过一个参考图片来预测,并且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测性帧)是图片的可以通过帧内预测和帧间预测(例如,双向预测或单向预测)译码的切片。B切片的预测单元或预测块可以从两个参考图片双向预测,其中每一图片贡献一个参考区且所述两个参考区的样本集合经加权(例如,具有相等权重或不同权重)以产生双向经预测块的预测信号。如上文所解释,一个图片的切片独立地经译码。在一些情况下,图片可经译码为仅一个切片。
图片内预测利用图片内的空间相邻样本之间的相关。图片间预测使用图片之间的时间相关以便导出用于图像样本的块的运动补偿预测。使用平移运动模型,先前经解码图片(参考图片)中的块的位置是由运动向量(Δx,Δy)指示,其中Δx指定水平位移且Δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动向量(Δx,Δy)可处于整数样本准确性(也被称作整数精度),在此情况下运动向量指向参考帧的整数像素网格(或整数像素取样网格)。在一些情况下,运动向量(Δx,Δy)可具有分数样本准确性(也被称作分数像素准确性或非整数精度)以更准确地捕获基础对象的移动,而不限于参考帧的整数像素网格。运动向量的准确性可以通过运动向量的量化水平来表达。举例来说,所述量化水平可以是整数精度(例如,1像素)或分数像素准确性(例如,1/4像素、1/2像素或其它子像素值)。当对应运动向量具有分数样本准确性时对参考图片应用内插以导出预测信号。举例来说,在整数位置可用的样本可经滤波(例如,使用一或多个内插滤波器)以估计分数位置处的值。先前经解码参考图片是通过到参考图片列表的参考索引(refIdx)来指示。运动向量和参考索引可称为运动参数。可执行两个种类的图片间预测,包含单向预测和双向预测。
关于使用双向预测的帧间预测,两组运动参数(Δx0,y0,refIdx0和Δx1,y1,refIdx1)用以产生两个运动补偿预测(从同一参考图片或可能从不同参考图片)。举例来说,关于双向预测,每一预测块使用两个运动补偿预测信号,且产生B预测单元。随后组合所述两个运动补偿预测以得到最终运动补偿预测。举例来说,可通过平均化来组合所述两个运动补偿预测。在另一实例中,可使用经加权预测,在此情况下可对每一运动补偿预测应用不同权重。在双向预测中可使用的参考图片存储于两个单独列表中,表示为列表0和列表1。可在编码器处使用运动估计过程导出运动参数。
关于使用单向预测的帧间预测,一组运动参数(Δx0,y0,refIdx0)用以从参考图片产生运动补偿预测。举例来说,对于单向预测,每一预测块使用最多一个运动补偿预测信号,并且产生P个预测单元。
PU可包含与预测过程相关的数据(例如,运动参数或其它合适的数据)。举例来说,当PU使用帧内预测编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU使用帧间预测编码时,PU可以包含界定PU的运动向量的数据。界定PU的运动向量的数据可以描述例如运动向量的水平分量(Δx),运动向量的垂直分量(Δy),运动向量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片、参考索引、运动向量的参考图片列表(例如,列表0、列表1或列表C),或其任何组合。
编码装置104接着可执行变换和量化。举例来说,在预测之后,编码器引擎106可以计算对应于PU的残余值。残余值可以包括正译码的像素的当前块(PU)与用以预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。举例来说,在产生预测块(例如,发出帧间预测或帧内预测)之后,编码器引擎106可通过从当前块减去由预测单元产生的预测块而产生残余块。残余块包含对当前块的像素值与预测块的像素值之间的差进行量化的像素差值的集合。在一些实例中,残余块可以用二维块格式(例如,像素值的二维矩阵或阵列)表示。在此类实例中,残余块是像素值的二维表示。
在执行预测之后可能剩余的任何残余数据是使用块变换进行变换,所述块变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它合适的变换函数,或其任何组合。在一些情况下,一或多个块变换(例如,大小32x 32、16x16、8x8、4x4或其它合适的大小)可以应用于每一CU中的残余数据。在一些实施例中,TU可用于由编码器引擎106实施的变换和量化过程。给定的具有一或多个PU的CU还可包含一或多个TU。如下文中进一步描述,可使用块变换将残余值变换成变换系数,且接着可使用TU对其进行量化和扫描以产生用于熵译码的串行化变换系数。
在一些实施例中,在使用CU的PU的帧内预测性或帧间预测性译码后,编码器引擎106可以计算CU的TU的残余数据。PU可以包括空间域(或像素域)中的像素数据。TU可包括在块变换的应用之后的变换域中的系数。如前文所述,残余数据可以对应于在未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含CU的残余数据的TU,并且接着可变换TU以产生CU的变换系数。
编码器引擎106可以执行变换系数的量化。量化通过对变换系数进行量化以减小用于表示系数的数据的量来提供进一步压缩。举例来说,量化可以减小与系数中的一些或全部相关联的位深度。在一个实例中,可在量化期间将具有n位值的系数向下舍入到m位值,其中n大于m。
一旦量化执行,经译码视频位流便包含经量化变换系数、预测信息(例如,预测模式、运动向量、块向量或类似物)、分割信息,以及任何其它合适的数据,例如其它语法数据。经译码视频位流的不同元素随后可以由编码器引擎106进行熵编码。在一些实例中,编码器引擎106可以利用预定义扫描次序扫描经量化变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可以执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可以对向量进行熵编码。举例来说,编码器引擎106可以使用上下文适应性可变长度译码、上下文自适应二进制算术译码、基于语法上下文自适应二进制算术译码的、概率区间分割熵译码或另一合适的熵编码技术。
编码装置104的输出110可以将构成经编码视频位流数据的NAL单元经由通信链路120发送到接收装置的解码装置112。解码装置112的输入114可以接收NAL单元。通信链路120可以包含由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包含任何无线接口或无线接口的组合并且可以包含任何合适的无线网络(例如,因特网或其它广域网、基于数据包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM或类似物)。有线网络可以包含任何有线接口(例如,纤维、以太网、电力线以太网、同轴电缆上的以太网、数字信号线(DSL)或类似物)。有线和/或无线网络可以使用各种设备实施,例如,基站、路由器、接入点、桥接器、网关、交换机或类似物。经编码视频位流数据可以根据例如无线通信协议等通信标准来调制,且发射到接收装置。
在一些实例中,编码装置104可以在存储装置108中存储经编码视频位流数据。输出110可以从编码器引擎106或从存储装置108检索经编码视频位流数据。存储装置108可以包含多种分布式或本地存取的数据存储媒体中的任一种。举例来说,存储装置108可以包含硬盘驱动器、存储盘、快闪存储器易失性或非易失性存储器或用于存储经编码的视频数据的任何其它合适的数字存储媒体。
解码装置112的输入114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116或存储装置118以用于由解码器引擎116稍后使用。解码器引擎116可以通过熵解码(例如,使用熵解码器)和提取构成经编码视频数据的一或多个经译码视频序列的元素来对经编码视频位流数据进行解码。解码器引擎116可随后重新按比例缩放并且对经编码视频位流数据执行逆变换。随后将残余数据传递到解码器引擎116的预测级。解码器引擎116随后预测像素块(例如,PU)。在一些实例中,将预测添加到逆变换的输出(残余数据)。
解码装置112可以将经解码视频输出到视频目的地装置122,所述目的地装置可以包含显示器或其它输出装置以用于向内容的消费者显示经解码视频数据。在一些方面,视频目的地装置122可以是包含解码装置112的接收装置的一部分。在一些方面,视频目的地装置122可为不同于接收装置的单独装置的一部分。
补充增强信息(SEI)消息可包含在视频位流中。举例来说,SEI消息可用以运载对于由解码装置112解码位流并不重要的信息(例如,元数据)。此信息有用于改善经解码输出的显示或处理(例如,此信息可由解码器侧实体使用以改善内容的可观看性)。
在一些实施例中,视频编码装置104和/或视频解码装置112可以分别与音频编码装置和音频解码装置集成。视频编码装置104和/或视频解码装置112还可以包含实施上文所述的译码技术所必需的其它硬件或软件,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104和视频解码装置112可以集成为相应的装置中的组合编码器/解码器(编解码器)的一部分。下文参考图8描述编码装置104的具体细节的实例。下文参考图9描述解码装置112的具体细节的实例。
对HEVC标准的扩展包含称为MV-HEVC的多视图视频译码扩展以及称为SHVC的可缩放视频译码扩展。MV-HEVC和SHVC扩展共享分层译码的概念,分层译码具有包含于经编码视频位流中的不同层。经译码视频序列中的每一层通过唯一层识别符(ID)寻址。层ID可以存在于NAL单元的标头中以标识NAL单元相关联的层。在MV-HEVC中,不同层可表示所述视频位流中的同一场景的不同视图。在SHVC中,提供表示不同空间分辨率(或图象分辨率)或不同重建保真度的视频位流的不同可缩放层。可缩放层可以包含基础层(具有层ID=0)和一或多个增强层(具有ID=1、2……n)。基础层可以符合HEVC的第一版本的简档,并且表示在位流中的最低可用层。与基础层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率和/或重构保真度(或质量)。增强层是阶层式组织的并且可(或可不)依赖于较低层。在一些实例中,不同层可以使用单个标准编解码器译码(例如,全部层使用HEVC、SHVC或其它译码标准进行编码)。在一些实例中,可使用多标准编解码器对不同层进行译码。举例来说,基础层可以使用AVC进行译码,而一或多个增强层可以使用HEVC标准的SHVC和/或MV-HEVC扩展进行译码。
一般来说,层包含VCL NAL单元集合和对应的非VCL NAL单元集合。NAL单元被指派特定层ID值。在层可依赖于较低层的意义上,层可为阶层式的。层集合是指在位流内表示的自含式的层集合,意指层集合内的层可能在解码过程中依赖于层集合中的其它层,但并不依赖于任何其它层来进行解码。因此,层集合中的层可形成可表示视频内容的独立位流。可通过子位流提取过程的操作从另一位流获得层集合中的层的集合。层集合可对应于在解码器希望根据某些参数进行操作时将被解码的层集。
如先前描述,HEVC位流包含NAL单元的群组,包含VCL NAL单元和非VCL NAL单元。VCL NAL单元包含形成经译码视频位流的经译码图片数据。举例来说,形成经译码视频位流的位序列存在于VCL NAL单元中。除其它信息之外,非VCL NAL单元还可含有具有与经编码视频位流有关的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标的实例包含位速率效率、错误弹性以及提供系统层接口。每一切片参考单个激活的PPS、SPS和VPS以存取解码装置112可以用于解码切片的信息。可译码用于每一参数集的识别符(ID),包含VPS ID、SPS ID和PPS ID。SPS包含SPS ID和VPS ID。PPS包含PPS ID和SPS ID。每一切片标头包含PPS ID。使用ID,可标识针对给定切片的活动的参数集。
PPS包含适用于给定图片中的全部切片的信息。因为这一点,图片中的全部切片引用相同PPS。不同图片中的切片也可以引用相同PPS。SPS包含适用于相同经译码视频序列(CVS)或位流中的所有图片的信息。如先前描述,经译码视频序列是一系列存取单元(AU),其开始于在基础层中且具有某些性质(上文描述)的随机存取点图片(例如,瞬时解码参考(IDR)图片或断链存取(BLA)图片,或其它适当随机存取点图片),直到且不包含具有在基础层中且具有某些性质(或位流的末尾)的随机存取点图片的下一AU。SPS中的信息并不会在经译码视频序列内在图片之间发生改变。经译码视频序列中的图片可以使用同一SPS。VPS包含适用于经译码视频序列或位流中的所有层的信息。VPS包含具有适用于整个经译码视频序列的语法元素的语法结构。在一些实施例中,VPS、SPS或PPS可以与经编码位流一起带内发射。在一些实施例中,VPS、SPS或PPS与含有经译码视频数据的NAL单元相比可以在单独传输中带外发射。
VCL NAL单元包含形成经译码视频位流的经译码图片数据。在HEVC标准中定义各种类型VCL NAL单元,如下方表A中所说明。
表A
在单层位流中,如第一HEVC标准中定义,包含于AU中的VCL NAL单元具有相同NAL单元类型值,所述NAL单元类型值界定AU的类型以及AU内的经译码图片的类型。举例来说,特定AU的VCL NAL单元可以包含瞬时解码刷新(IDR)NAL单元(值19),从而使AU为IDR AU且使AU的经译码图片为IDR图片。给定类型的VCL NAL单元与包含于VCL NAL单元中的图片或其部分(例如,VCL NAL单元中的图片的切片或切片片段)相关。HEVC标准中定义三类图片,包含前导图片、拖尾图片和帧内随机存取(IRAP)图片。在多层位流中,AU内的图片的VCLNAL单元具有相同NAL单元类型值和相同类型的经译码图片。举例来说,含有类型IDR的VCLNAL单元的图片称为AU中的IDR图片。在另一实例中,当AU含有作为在基础层(层ID等于0)的IRAP图片的图片时,AU是IRAP AU。
在HEVC中,支持时间可缩放性以用变化的帧速率(也被称作图片速率)提供视频内容。每一图片与指示图片的时间层级的TemporalId相关联。在一个说明性实例中,第一时间子层(具有TemporalId=0,且称为基础时间子层0)可以15帧/秒(fps)提供视频内容,第二时间子层(具有TemporalId=1,且称为时间子层1)可以30fps提供视频内容,第三时间子层(具有TemporalId=2,且称为时间子层2)可以60fps提供视频内容,且第四时间子层(具有TemporalId=3,且称为时间子层3)可以120fps提供视频内容。用于给定图片的TemporalId的值可由NAL单元标头中的字段指示。
图2示出视频位流200中按输出次序(也被称作显示次序)布置的图片的实例。位流200包含三个时间子层,其中每一图片的高度指示所述图片属于的时间子层。举例来说,底部图片(图片48、52、56、60、64和68)属于基础时间子层(具有TemporalId=0)。中间图片(图片50、54、58、62、66和70)属于第二时间子层(具有TemporalId=1)。顶部图片(图片49、51、53、55、57、59、61、63、65、67、69和71)属于第三时间子层(具有TemporalId=2)。图3示出具有三个时间子层的视频位流300的另一实例。
界定使时间可缩放性起作用的约束。所述约束指示较高时间子层可使用来自较低时间子层的图片用于帧间预测(具有较低TemporalId),但较低时间子层将不参考来自较高时间子层的任何图片用于帧间预测(具有较高TemporalId)。举例来说,时间子层中的图片可参考在同一时间子层中或较低时间子层中的参考图片。由于所述约束,具有高达特定值的TemporalId的图片可经解码而无需参考具有更大TemporalId值的任何图片。使用图2中示出的视频位流200作为一实例,图片52是基础时间子层0的部分,且因此可仅使用IRAP图片48作为参考,因为其它较早图片全部是较高时间子层的部分。类似地,图片56可使用图片52和/或图片48作为用于帧间预测的参考,但无法使用按解码次序较早的其它图片。在另一实例中,第二时间子层1中的图片54可使用图片48、50或52中的任一者作为参考。在又另一实例中,图片55是第三时间子层2的部分,且因此可使用图片48、49、50、51、52、53或54中的任一者作为用于帧间预测的参考。
时间子层可向上和向下按比例缩放以提供不同视频帧速率。在一些实例中,一个时间子层的添加将加倍先前时间子层的帧速率,且如果移除一个时间子层,那么剩余时间子层将为先前帧速率的一半。举例来说,如果提供三个时间子层(子层0、1和2),那么可移除最高时间子层2的图片且剩余时间子层的图片可经解码以提供最大帧速率的一半。在另一实例中,除了最高时间子层2之外也可移除第二时间子层1,仅留下基础时间子层0,其可为在时间子层0和1的图片经解码的情况下将实现的帧速率的一半。所属领域的技术人员将了解,在各种实施方案中可使用其它按比例缩放因子。
在一个说明性实例中,基础时间子层0处于30fps的帧速率,第二时间子层1处于60fps的帧速率,且第三时间子层2处于120fps的帧速率。在此实例中,当所有图片经解码且由媒体播放器输出时,实现120fps的最高帧速率。在另一实例中,媒体播放器可以解码且输出基础子层0和第二子层1的图片,从而以60fps的帧速率提供输出视频。举例来说,可丢弃或忽略第三时间子层(子层2)中的所有图片,且基础和第二时间子层(子层0和1)中的所有图片将仍为可解码的,因为这些图片并不参考时间子层2的图片。在又另一实例中,媒体播放器可以解码且输出仅基础时间子层0的图片,从而以30fps提供输出视频。举例来说,可丢弃或忽略时间子层1和时间子层2,且仅可解码基础时间子层0。此情形可能在特定解码器、媒体播放器、显示器或其它装置仅可以30fps的帧速率操作的情况下发生,在此情况下解码器可以仅解码时间子层0的图片且丢弃或忽略时间子层1和2的图片。因此,可用时间可缩放方式解码且输出视频位流200。
HEVC中的随机存取和流切换是通过使用帧内随机存取点(IRAP)图片而实现。如下文更详细地描述,IRAP图片包含(例如)IDR图片、CRA图片和BLA图片。图4是包含IRAP图片I1以及与IRAP图片I1相关联的前导和拖尾图片的经编码视频位流的图片的实例。在箭头402的方向上按输出次序线性地显示所述图片,且数字1-8(I1、B2、B3、B4、P5、B6、B7、B8)指示图片的解码次序。IRAP图片提供位流中解码可开始于的点。举例来说,解码可开始于IRAP图片,以使得按输出次序跟随IRAP图片的图片(包含性)可输出,即使按解码次序先于所述IRAP图片的所有图片从位流丢弃(例如,由于位流拼接或类似情况)也是如此。因为有可能在IRAP图片处开始解码,所以IRAP图片不依赖于位流中的任何其它图片。举例来说,IRAP图片属于时间子层0且经译码而不使用任何其它图片的内容作为参考数据(例如,使用帧内预测译码)。位流的第一图片是IRAP图片,且其它IRAP图片也可以存在于位流中。在多层位流中,具有大于0的层ID(除基础层外的层)的IRAP图片可以使用层间预测。举例来说,IRAP图片可以基于属于同一存取单元且具有较低层ID的图片而使用层间预测。
图片B2、B3和B4包含IRAP图片I1的前导图片。前导图片是按解码次序跟随IRAP图片但按输出次序先于IRAP图片的图片。如图4中说明,前导图片B2、B3和B4按解码次序在IRAP图片I1之后,且按输出次序出现在IRAP图片I1之前。在一些实施例中,前导图片使用上方表A中示出的前导图片NAL单元类型6-9中的一种。
图片P5、B6、B7和B8包含IRAP图片I1的拖尾图片。拖尾图片是按解码次序且按输出次序跟随IRAP图片的图片。如图4中说明,拖尾图片P5、B6、B7和B8按解码次序并且还按输出次序跟随IRAP图片I1。拖尾图片使用上方表A中示出的拖尾图片NAL单元类型0-5中的一种。
前导图片和拖尾图片与按解码次序最接近的IRAP图片(在图4中的图片I1)相关联。在一些实施例中,IRAP图片以及其相关联拖尾和前导图片的解码次序是基于前导和拖尾图片上的某些条件而界定。举例来说,拖尾图片可参考相关联IRAP图片和同一IRAP图片的其它拖尾图片用于帧间预测。与IRAP图片相关联恶拖尾图片并不依赖于任何前导图片,并且还并不依赖于先前IRAP图片的任何拖尾图片。与IRAP图片相关联的前导图片先于与同一IRAP图片相关联的拖尾图片(按解码次序)。基于这些条件以及此处未列出的相似其它条件,IRAP图片I1及其相关联拖尾和前导图片的解码次序是:IRAP图片I1,接着是前导图片B2、B3、B4,接着是拖尾图片P5、B6、B7、B8。
各种类型的拖尾图片、前导图片和IRAP图片是可用的。举例来说,拖尾图片包含时间子层存取(TSA)图片、逐步时间子层存取(STSA)图片和普通拖尾图片(TRAIL)。TSA图片指示切换可在该处发生直到任何较高子层的时间子层切换点。STSA图片指示切换可在该处发生到具有与STSA图片相同的时间层识别符的子层的时间子层切换点。TSA和STSA图片属于具有大于0的时间识别符的时间子层。TRAIL图片可属于任何时间子层,且不指示时间子层切换点。在多层位流中,属于具有大于0的层ID的层的STSA图片也可属于具有等于0的时间子层的时间子层。
前导图片类型包含随机存取可解码前导(RADL)图片和随机存取跳过前导(RASL)图片。RADL图片是当在RADL图片所关联的IRAP图片处执行随机存取时可解码的前导图片。在一些实施例中,RADL图片为了帧间预测目的而仅参考相关联IRAP图片以及还与IRAP图片相关联的其它RADL图片。RASL图片是当从相关联IRAP图片执行随机存取时可能不可解码的前导图片。当RASL图片用于参考的图片按解码次序先于IRAP图片时所述RASL图片是不可解码的。RASL图片不可解码是因为在IRAP图片处执行随机存取的解码器将不对按解码次序先于IRAP图片的图片进行解码,且因此也将不对所述RASL图片进行解码。RASL图片可参考其它类型的图片(例如,IRAP图片、其它RASL图片、RADL图片或类似图片)。在一些实例中,仅RASL图片可依赖于其它RASL图片,在此情况下依赖于RASL图片的每个图片是RASL图片。
如上所述,不同类型的IRAP图片用于译码视频数据,包含瞬时解码刷新(IDR)图片、清洁随机存取(CRA)图片和断链存取(BLA)图片。IDR图片是在解码器处完全刷新或重新初始化解码过程且开始新CVS的帧内图片(I图片)。在一些实例中,IDR图片和按解码次序跟随IDR图片的任何图片无法依赖于按解码次序在所述IDR图片之前出现的任何图片。在一些情况下,不允许RASL图片与IDR图片相关联。CRA图片也是I图片。CRA图片不刷新解码器且不开始新CVS,从而允许CRA图片的前导图片(RASL图片)依赖于按解码次序在CRA图片之前出现的图片。在一些实例中,CRA图片可以具有相关联RADL图片和RASL图片。随机存取可以在CRA图片处通过对以下各项进行解码而完成:CRA图片,与CRA图片相关联的不依赖于按解码次序在所述CRA图片之前出现的任何图片的前导图片(RADL图片),以及按解码和输出次序跟随CRA的所有相关联图片。在一些情况下,CRA图片可以不具有相关联前导图片。在多层情况中,属于具有大于0的层ID的层的IDR或CRA图片可以是P图片或B图片,但这些图片仅可使用从与所述IDR或CRA图片属于同一存取单元且具有小于含有所述IDR或CRA图片的层的层ID的其它图片的层间预测。
IRAP图片提供将位流拼接在一起的能力。举例来说,编码器、位流编辑器(或“编辑器”)、拼接器或其它网络装置可以使用IRAP图片将位流拼接在一起。位流拼接允许从一个经压缩视频位流到另一经压缩视频位流的无缝切换。举例来说,拼接通过以下方式发生:用第二经压缩位流的第二IRAP AU和后续AU替换第一经压缩位流的第一IRAP AU和所有后续AU。IDR或CRA图片可用于拼接经压缩视频位流(除随机存取之外,如先前描述)。举例来说,第一和第二IRAP AU可包含CRA图片。在一些实施例中,IDR图片可用于拼接经压缩视频位流。在一些情况下,第一AU应含有IRAP图片是不必要的。在多层位流中,当第二AU含有属于基础层的IRAP图片时拼接可发生。
在一些情况下,在拼接发生之后,按解码次序跟随CRA图片的RASL图片在如下情况下是不可解码的:所述RASL图片参考在拼接之后不再处于位流中的一或多个图片。在一些实例中,编码器、编辑器、拼接器或其它装置可以在拼接期间丢弃RASL图片。在其它实例中,断链拼接选项可用以指示:图片次序计数时间线以及从在RASL图片可以依赖于的CRA图片之前(按解码次序)的图片的预测当拼接完成时被打断。
称为BLA图片的第三类型的IRAP图片可用作在CRA图片的位置处的位流拼接的结果。举例来说,BLA图片可用以向解码器告知何时拼接操作已发生,使得解码器可确定是否应当对相关联RASL图片进行解码。在拼接期间,用于拼接的新位流中的CRA图片可视为BLA图片。当执行断链拼接时,可以保持RASL图片,且遇见此BLA图片的解码器可以丢弃与所述BLA图片相关联的RASL图片。在解码器遇到CRA图片的情况下,解码器将对与CRA图片相关联的RASL图片进行解码。当解码器遇见BLA图片或CRA图片时,解码器将分别对与BLA和CRA图片相关联的所有RADL图片进行解码。BLA图片在解码器处刷新或重新初始化解码过程且开始新CVS。在一些实施例中,即使当拼接尚未发生时也可以使用BLA图片。
将位流发送到解码器的编码器、编辑器或其它装置可以向解码器指示CRA图片将被处置为BLA图片。在一个实例中,在拼接期间,用于拼接的新位流中的CRA图片被重新命名为BLA图片。举例来说,装置(编辑器、拼接器或其它网络实体)可以将CRA NAL单元类型改变为BLA NAL单元类型。在此情况下,所述装置改变位流的位以改变NAL单元类型。
IRAP图片遵循开放图片群组(GOP)结构或闭合GOP结构。在一些情况下,IDR图片遵循闭合图片群组(GOP)结构,且CRA图片遵循开放GOP结构。返回到图2和图3,图示了闭合GOP与开放GOP结构中的IRAP图片的差异,其中每一图片的输出次序和解码次序是给定的。图2示出闭合GOP结构中的IRAP图片,且图3示出开放GOP结构中的IRAP图片。在图2中,具有52的图片次序计数(POC)值的图片202按输出次序跟随具有51的POC值的图片204,意味着具有POC 51的图片204将比具有POC值52的图片202更早输出。图片的POC可被认为是为了识别位流中的每一图片而指派的唯一数字。此外,具有POC值52的图片202按解码次序先于具有POC值50的图片206,意味着具有POC值52的图片202将比具有POC值50的图片206更早解码。
大体上,图片可以使用较早经解码的图片作为其用于帧间预测的参考。为了对视频位流中的某一点的随机存取,为实现解码过程从IRAP图片的开始,存在帧间预测截止。在帧间预测截止点之后的图片无法使用在帧间预测截止点之前经解码的任何图片作为参考。图2中说明闭合GOP结构中的帧间预测截止点208,且图3中说明开放GOP结构中的帧间预测截止点308。帧间预测截止点208和308的右侧的图片不允许使用截止点208和308的左侧的图片作为用于帧间预测的参考。如上文所描述,前导图片按解码次序跟随相关联IRAP图片,但比IRAP图片更早输出。如图2中所示出,具有POC值57、58和59的图片是与IRAP图片210(具有POC值60)相关联的前导图片。在闭合GOP结构(图2)中,与IRAP图片210相关联的前导图片不允许使用按解码和输出次序均先于IRAP图片210的图片(帧间预测截止线208左边的图片,其为具有POC值56或更小的图片)作为用于帧间预测的参考。因此,RASL图片不可用于闭合GOP结构中(例如,当使用IDR IRAP图片时)。
在开放GOP结构中,如图3所示,帧间预测截止点308位于IRAP图片310(具有POC值60)上。在IRAP图片310的左侧且按解码次序跟随IRAP图片的图片(具有POC值57、58和59的前导图片)仍可使用IRAP图片310作为用于帧间预测的参考,而在IRAP图片302的右侧的图片也可使用IRAP图片310作为用于帧间预测的参考,但无法使用IRAP图片310的左侧的图片作为参考。从在图2和图3中的帧间预测截止点208和308可见闭合和开放GOP中的前导图片的帧间预测之间的差异。举例来说,在图3的开放GOP情况中,前导图片(POC值57、58、59)可参考按解码次序(和输出次序)比其相关联IRAP图片310更早的图片,但这在图2的闭合GOP情况中是不允许的。此差异允许开放GOP情况中的前导图片比闭合GOP情况中更高效地译码,因为更多图片可用作用于帧间预测的参考。在开放GOP和闭合GOP情况中,前导图片无法用作用于拖尾图片(按解码和输出次序均跟随IRAP的图片,例如在图2和图3中具有POC值61-71的图片)的帧间预测的参考。
例如当执行随机存取时,存在帧间预测截止对压缩性能的影响。帧间预测截止对于实现随机存取特征是必要的,使得当随机存取在IRAP图片处发生时解码可从IRAP图片重新开始,因为不存在对按解码次序较早的图片的相依性。在闭合GOP情况中,由于存在清晰的帧间预测截止,因此以正被解码的按解码次序的所有后续图片(在被存取的IRAP图片之后)简单地重新开始解码。在开放GOP情况中,重新开始解码且从解码过程排除无法正确地解码的前导图片(例如,RASL图片),因为它们可能对当执行随机存取时不存在的较早图片具有相依性。然而,因此帧间预测截止影响压缩效率,因为如果较早图片可用作参考则可能已实现较好的时间预测,如上文所描述。
当前存在针对前导图片的帧间预测约束。举例来说,在HEVC中,约束是按解码和输出次序均跟随IRAP图片的图片(拖尾图片)将不使用前导图片作为用于帧间预测的参考。因此,确保当解码从IRAP图片开始时可正确地解码拖尾图片。此推理可能是有争议的,因为可能存在并不使用按解码和输出次序均先于IRAP图片的图片作为用于帧间预测的参考的前导图片(例如,RADL图片)。
另一约束应用于前导图片,且规定使用按解码和输出次序均先于IRAP图片的图片作为用于帧间预测的参考的前导图片(RASL图片)将按输出次序先于所有RADL图片。此约束可以由当在与RADL图片相关联的IRAP图片处发生随机存取时希望输出RADL图片且偏好于在输出的任何两个图片之间按输出次序不存在间隙的系统来促进。举例来说,当在与RASL图片和RADL图片相关联的IRAP图片处发生随机存取时,将丢弃RASL图片(如上文所描述)且解码将以IRAP图片且接着RADL图片开始。
在自适应流式传输(例如,在HTTP上的动态自适应流式传输(DASH))中,内容项目可以在多于一个表示中可用,其中每一表示提供具有不同位速率的不同服务(例如,第一表示提供低质量的内容,第二表示提供中等质量的同一内容,且第三表示提供高质量的同一内容)。为了实现从一个表示到另一表示的适配,每一表示以片段进行译码(例如,连续图片的序列,其中片段中的图片次序是按解码次序)。每一片段通常开始于IRAP图片。
图5说明在自适应流式传输情形中从一个表示切换到另一表示的实例。在一个实例中,表示1可包含处于第一位速率的媒体内容项目的低质量版本,且表示2可包含处于高于第一位速率的第二位速率的媒体内容项目的较高质量版本。表示1和2可包含相同数目个对应片段,包含片段N和片段N+1。在一些实例中,在表示1的片段N的解码之后,解码器可切换到表示2的下一片段N+1。此切换可以例如当网络条件改进时发生,从而允许解码器支持表示2的较高位速率。通常,具有IDR类型的IRAP图片(其具有闭合GOP结构)将用作每一片段中的第一图片,因为这将允许从一个表示到另一表示的无缝切换,因为RASL图片将不存在。举例来说,当切换到使用IDR IRAP图片的另一表示时,新片段中的每个图片将是可解码的,因为不存在对先前片段中的图片的相依性。
用于开始片段的IDR图片的使用从译码效率角度来看可能不是最佳选择,因为未使用可利用更多图片作为参考的RASL图片。替代于IDR图片,具有CRA类型的IRAP图片(其具有开放GOP结构)将允许较好的译码效率,因为除RADL图片之外还使用RASL图片。然而,在一些情况下,CRA图片的使用意味着当表示之间的切换发生时,新片段(片段N+1)中的RASL图片将是不可解码的。在一些情形中,必须丢弃RASL图片。在一些情况下,与CRA图片相关联的大多数或所有前导图片是RASL图片(例如,以便实现高译码效率,或基于其它因数),且因此当丢弃RASL图片时新片段N+1的图片显示中的间隙将发生。由于上文提到的RASL图片将按输出次序(显示次序)先于所有RADL图片的约束而使此间隙甚至更明显,从而造成成被丢弃的RASL图片按输出次序为连续的。在丢弃RASL图片的一个替代方案中,表示2的新片段N+1中的RASL图片可通过参考来自其它表示(表示1)的新片段N+1中的图片而解码,且因此可能具有失配。当不同表示中涉及不同空间分辨率时,将需要用于参考的图片的再取样。又一替代方案是通过例如对表示1中的新片段N+1中的开始IRAP图片及其前导图片进行解码,且输出这些前导图片而不是与表示2中的新片段N+1中的开始IRAP图片相关联的前导图片,而具有一些重叠解码。
鉴于以上描述,存在各种问题。举例来说,当前缺乏针对使用开放GOP IRAP图片(例如,CRA图片)的自适应流式传输系统在切换点实现视频内容的连续重放而无解码失配或重叠解码的表示切换的机制。如本文所使用,连续重放指代当切换发生且必须丢弃一些前导图片时,可以视频内容中未感知到时间间隙或感知到最小时间间隙(例如,正输出的图片中的间隙)的方式丢弃前导图片。如下文更详细地描述,本文所描述的系统和方法分配可以在GOP内丢弃的前导图片,使得替代于丢弃按输出次序邻接的图片的集合(其导致时间间隙),仅存在时间速率(例如,帧/图片速率)的减少。自适应流式传输中的此基于开放GOP的表示切换机制当前对于HEVC或其它标准是不可能的,因为例如在HEVC中,RASL和RADL图片的次序受限以使得所有RASL图片必须按输出次序先于与同一IRAP相关联的所有RADL图片。当前也缺乏在随机地存取视频流之后实现所有图片的译码效率与帧/图片速率之间的折衷的灵活控制的机制。使用开放GOP结构的此机制将使得内容提供者能够在切换点灵活地控制译码效率与帧/图片速率之间的折衷。
本文公开各种系统和方法以通过提供改进的视频流切换和随机存取而解决以上问题。在一些实例中,与当前现有开放GOP IRAP图片相关联的前导图片(例如,CRA图片或可能BLA图片)基于图片的时间识别符(TemporalId)而经界定为RASL图片或RADL图片。这些实例可能需要重新界定当前现有的GOP IRAP图片。在一些实例中,界定新类型的IRAP图片,在此情况下与IRAP图片相关联的图片基于图片的时间识别符(TemporalId)而经界定为RASL图片(或具有与RASL图片相似的特性但不同地经标记的图片)或RADL图片(或具有与RADL图片相似的特性但不同地经标记的图片)。以下系统和方法中的一些可以独立地应用,且一些可以组合地应用。在一些实施方案中,所述方法可由编码装置104和/或解码装置112实施。
在一些实例中,对于在当前标准中界定的开放GOP IRAP图片(例如,CRA图片),与GOP IRAP图片相关联且具有高达且包含TemporalId阈值的TemporalIds的前导图片经译码为RADL图片,而具有大于特定TemporalId阈值的TemporalIds的其它相关联前导图片经译码为RASL图片。在一些实例中,特定TemporalId阈值的值可在位流中用信号表示。举例来说,TemporalId阈值可在NAL单元标头中用信号表示。在一些实例中,所述值可在位流的其它部分中用信号表示,例如切片标头、SEI或位流的可用于用信号表示信息的其它合适部分中。
在一些实例中,界定了在当前标准中未界定的新类型的IRAP图片。举例来说,对于所述新类型的IRAP图片,具有高达且包含TemporalId阈值的TemporalId的按解码次序的所有后续图片并不依赖于按解码次序比IRAP图片更早的图片(且因此可正确地经解码而无需参考按解码次序比IRAP图片更早的图片),这类似于RADL图片。此外,具有大于TemporalId阈值的TemporalId的按解码次序的所有后续图片可以依赖于按解码次序比IRAP图片更早的图片(且因此不可正确地经解码而不参考按解码次序比IRAP图片更早的图片),这类似于RASL图片。在一些实例中,特定TemporalId阈值的值可在位流中用信号表示。举例来说,TemporalId阈值可在NAL单元标头中用信号表示。在一些实例中,所述值可在位流的其它部分中用信号表示,例如切片标头、SEI或位流的可用于用信号表示信息的其它合适部分中。
在任一情况下,无论是重新界定当前界定的IRAP图片还是界定新类型的IRAP图片,基于前导图片的TemporalIds将与开放GOP IRAP图片相关联的前导图片指定为RASL图片或RADL图片允许在开放GOP IRAP图片的图片群组(GOP)内分布RASL和RADL图片,使得时间速率(帧/图片速率)的减少发生,而不是当在IRAP图片处发生随机存取时丢弃按输出次序邻接的图片的集合(其将导致输出图片中的时间间隙)。举例来说,具有较高temporalID(超出temporalId阈值)的图片被指定为RASL图片,且具有较低temporalID(高达且包含temporalId阈值)的图片被设计为RADL图片。虽然本文的描述指示具有高达且包含TemporalId阈值(即,小于或等于)的TemporalId的前导图片经译码为RADL图片且具有大于特定TemporalId阈值的TemporalId的其它相关联前导图片经译码为RASL图片,但所属领域的技术人员应了解,具有小于TemporalId阈值的TemporalId的前导图片可经译码为RADL图片且具有大于或等于TemporalId阈值的TemporalId的其它相关联前导图片可经译码为RASL图片。
在一个说明性实例中,参考图3,temporalId阈值可设定为1的temporalId阈值。与开放GOP IRAP图片相关联的时间子层0和1的前导图片(例如,图3中与IRAP图片310相关联的图片58)将因此设定为RADL图片,且时间子层2的图片(图3中与IRAP图片310相关联的图片57和59)将设定为RASL图片。使用此基于TemporalId的机制,当在开放GOP IRAP图片处发生随机存取或切换且丢弃或不解码与IRAP图片相关联的RASL图片时,结果是时间帧速率从时间子层2的帧速率(例如,240fps)下降到时间子层1的帧速率(例如,120fps)直到RADL前导图片经解码为止。一旦解码器开始解码与IRAP图片相关联的拖尾图片(例如,从图片61开始),帧速率便可随后上升回到时间子层2的较高帧速率。举例来说,参考图5,在前导图片520经解码(其由于RASL图片被丢弃或另外未经解码而仅包含RADL图片)的同时帧速率可减小到较低帧速率(例如,根据第二时间子层1)。一旦拖尾图片522开始解码,帧速率便可返回到较高帧速率(例如,根据第三时间子层2)。因此,根据TemporalID值,被丢弃的RASL图片与未被丢弃的RADL图片交替,而不是当随机存取或切换发生时丢弃若干连续RASL图片。
所属领域的技术人员应了解,可使用任何合适的TemporalId阈值,且可基于任何给定实施方案要求而调整TemporalId阈值。举例来说,TemporalId阈值可经调整到较低TemporalId值以允许更多RASL图片,这带来较大的压缩效率。在另一实例中,TemporalId阈值可经调整到较高TemporalId值以允许更多RADL图片,这对于自适应流式传输中的表示切换可为更好的(例如,由于丢弃较少前导图片且因此较高的帧速率)。
在一些实施方案中,上述与前导图片相关的HEVC约束中的一或多个可移除以适应各种设计。在一些实例中,与特定IRAP图片相关联的RADL图片可用作用于与同一IRAP图片相关联的拖尾图片的帧间预测的参考。举例来说,当在IRAP图片处发生切换或随机存取时,与IRAP图片相关联的RADL图片不丢弃,且因此可用作用于与IRAP图片相关联的拖尾图片的帧间预测的参考。因此,针对使用上述基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除拖尾图片将不使用前导图片作为用于帧间预测的参考的约束。
此外,使用上述用于开放GOP IRAP图片的RASL和RADL图片的基于TemporalID的指定,与同一IRAP图片相关联的RADL图片和RASL图片的次序是根据图片的TemporalId值而布置。在此设计的一个实例中,与IRAP图片相关联的所有RADL图片将具有比与同一IRAP图片相关联的所有RASL图片低的TemporalId值。在此类实例中,针对使用上述基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除RASL图片将按输出次序先于所有RADL图片的约束。在一些实例中,当不使用时间可缩放性和时间子层时,RASL和RADL图片可经布置以使得RASL和RADL图片的次序成交替的输出次序(例如,RASL图片,随后是RADL图片,随后是RASL图片等等)。
也可以对拖尾图片作出修改。在一些实例中,为了进一步改进开放GOP结构的压缩效率,与IRAP图片相关联的一些拖尾图片可以使用任何前导图片(例如,RASL图片或RADL图片,或RASL图片和RADL两者)并且还可以使用按输出次序和解码次序先于IRAP图片的图片作为用于帧间预测的参考。可使用RASL图片以及按输出次序和解码次序先于IRAP图片的图片作为用于帧间预测的参考的这些拖尾图片在本文中被称作经修改的拖尾图片。在一个说明性实例中,图片集A是与开放GOP IRAP图片相关联的拖尾图片的集合。在此实例中,图片集A中的拖尾图片使用与IRAP图片和/或按输出次序和解码次序均先于IRAP图片的图片相关联的RASL图片作为用于其帧间预测的参考。因此,图片集A中的拖尾图片是经修改的拖尾图片。允许一些拖尾图片参考前导图片和/或按输出次序和解码次序先于相关联IRAP图片的图片允许实现较好的译码效率,因为更多参考图片可用作用于预测拖尾图片的选项。
在此些实例中可应用各种一般准则或约束。举例来说,允许其相关联拖尾图片使用其相关联RASL图片和/或按输出次序和解码次序均先于IRAP的图片作为用于其帧间预测的参考的IRAP图片被使得变为可识别的(例如,因此IRAP图片可由解码器或其它装置识别)。举例来说,如上文所描述,当在与RASL图片相关联的IRAP图片处执行随机存取或切换时(例如,当切换到不同表示中的不同片段时)无法解码RASL图片,且因此参考RASL图片的拖尾图片必须为可识别的,以使得除RASL图片之外还可丢弃拖尾图片。在一些实例中,这些IRAP图片的识别可通过为IRAP图片界定新类型而完成。举例来说,可指派新NAL单元类型用于此IRAP图片。在一些实例中,可在此IRAP图片的标头(例如,切片标头、图片标头或其它标头)中用信号表示额外信息。
此外,属于图片集A的图片应当容易地识别。提供用于识别属于图片集A的图片的各种技术。举例来说,当使用时间子层(时间可缩放性)时可使用第一选项。对于第一选项,仅当使用时间子层(时间可缩放性)时可执行上文对于修改拖尾图片所述的技术(允许拖尾图片参考前导图片以及按输出次序和解码次序先于IRAP图片的图片用于帧间预测)。在一些实例中,对于第一选项,可执行以下信令机制:
(1)可在与图片集A相关联的IRAP图片的切片标头或图片标头中用信号表示以下信息:
(a)图片集A中的与IRAP图片相关联的图片的temporalId;
(b)图片集A中的图片的基数。这可在图片的数目或GOP的数目或可用以推断属于图片集A的图片数目的任何手段的方面用信号表示。
(2)替代地,上述信息可在序列层级(例如,序列参数集(SPS)中)或在位流层级(例如,视频参数集(VPS)中)用信号表示。
在另一实例中,用于识别属于图片集A的图片的第二选项可使用新NAL单元类型或图片类型。举例来说,以新类型(例如,NAL单元类型或图片类型)识别属于图片集A的图片。
在一些实例中,可以将约束应用于经修改的拖尾图片,其指定属于图片集A的图片将处于紧跟在IRAP图片之后的图片群组(GOP)中。在此类实例中,与并不参考前导图片或按输出次序和解码次序先于IRAP图片的图片的IRAP图片相关联的拖尾图片将跟随图片集A中的拖尾图片(例如,按输出次序、按解码次序,或按输出次序和解码次序两者)。
在一些实例中,可以将约束应用于经修改的拖尾图片,其指定属于图片集A的图片将不会被不属于图片集A的图片用作用于帧间预测的参考。在此类实例中,与并不参考前导图片或按输出次序和解码次序先于IRAP图片的图片的IRAP图片相关联的拖尾图片无法使用图片集A中的拖尾图片作为用于帧间预测的参考。当随机存取发生且解码从IRAP图片开始时,属于图片集A的图片将从解码过程排除。
在一些实例中,也可为经修改的拖尾图片设定TemporalId阈值。举例来说,具有高于TemporalId阈值的TemporalId的与GOP IRAP图片相关联的拖尾图片经译码为经修改的拖尾图片(参考IRAP的RASL图片和/或按输出次序和解码次序先于相关联IRAP图片的图片用于帧间预测的拖尾图片),而与IRAP图片相关联的其它拖尾图片(具有高达且包含特定TemporalId阈值的TemporalId)经译码为并不参考RASL图片(但在一些情况下可参考RADL图片)或并不参考任何前导图片的拖尾图片。此基于TemporalId的拖尾图片指定允许拖尾图片和经修改的拖尾图片分布在开放GOP IRAP图片的图片群组(GOP)内,使得时间速率(帧/图片速率)的减少发生,而不是当在IRAP图片处发生随机存取时丢弃按输出次序的邻接经修改的拖尾图片的集合(其将导致输出图片中的时间间隙)。
在一些实例中,用于将前导图片指定为RASL或RADL图片的TemporalID阈值可为与用于指定拖尾图片的情形相同的TemporalID值。在一些实例中,用于将前导图片指定为RASL或RADL图片的TemporalID阈值可不同于用于指定拖尾图片的TemporalID值。
虽然本文的描述指示具有高达且包含TemporalId阈值(即,小于或等于)的TemporalId的与GOP IRAP图片相关联的拖尾图片经译码为并不参考RASL图片或并不参考任何前导图片的拖尾图片,且具有大于特定TemporalId阈值的TemporalId的其它相关联拖尾图片经译码为经修改的拖尾图片,但所属领域的技术人员应了解,具有小于TemporalId阈值的TemporalId的拖尾图片可经译码为并不参考RASL图片或并不参考任何前导图片的拖尾图片,且具有大于或等于TemporalId阈值的TemporalId的其它相关联拖尾图片可经译码为经修改的拖尾图片。
在一个说明性实例中,参考图3,用于前导图片和拖尾图片的temporalId阈值可设定为1的temporalId阈值。与IRAP 310相关联的拖尾图片62、64、66、68和70可经指定为仅参考RADL图片或不参考任何前导图片的拖尾图片,而拖尾图片61、63、65、67、69和71可经指定为参考IRAP 310的RASL图片和/或按输出次序和解码次序先于相关联IRAP图片310的图片用于帧间预测的经修改的拖尾图片。当在IRAP图片310处发生随机存取或切换时,与IRAP图片310相关联的RASL图片(例如,图片57和59,根据图片57和59的temporalId在时间子层2中)以及与IRAP图片相关联的经修改的拖尾图片(例如,图片61、63、65、67、69和71)被丢弃或不解码。通过使用TemporalId阈值用于界定拖尾图片,当与IRAP图片310相关联的RASL图片和经修改的拖尾图片被移除时,时间帧速率从时间子层2的帧速率(例如,240fps)下降到时间子层1的帧速率(例如,120fps),因为仅时间子层0和时间子层1的图片经解码且输出。
通过基于前导图片的TemporalId将前导图片指定为RASL或RADL图片,自适应流式传输中的基于开放GOP的表示切换和随机存取机制变为可能。并且,通过执行本文所描述的一个或其它实例(例如,基于TemporalId的拖尾图片指定、应用上述约束或准则中的一或多个、移除上述当前约束中的一或多个或类似情况),可使此系统甚至更高效且更有生产力。举例来说,当利用使用开放GOP IRAP图片的自适应流式传输系统执行随机存取和表示切换时,本文所描述的系统和方法实现视频内容的连续重放。如上文所描述,本文所描述的系统和方法将丢弃的前导图片分配于图片群组内,使得经历时间速率的减少,而不是丢弃按输出次序的邻接图片的集合(其导致时间间隙)。此机制允许在切换点处对译码效率与帧速率之间的折衷的灵活控制。
图6说明使用本文中所描述的技术中的一或多个对视频数据进行编码以产生视频位流的过程600的另一实例。在602,过程600包含在编码器处获得视频数据。
在604,过程600包含从视频数据确定帧内随机存取点(IRAP)图片。在606,过程600包含将与IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导(RADL)图片。一或多个前导图片的第一集合是基于具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个前导图片的第一集合而经译码为一或多个RADL图片。在608,过程600包含将与IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导(RASL)图片。一或多个前导图片的第二集合是基于具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合而经译码为一或多个RASL图片。具有IRAP图片的前导图片因此基于图片的TemporalIds而经界定为RASL图片(或类似RASL的图片)或RADL图片(或类似RADL的图片)。在一些情况下,所属领域的技术人员应了解,具有小于TemporalId阈值的TemporalId的前导图片可经译码为RADL图片,且具有大于或等于TemporalId阈值的TemporalId的其它相关联前导图片可经译码为RASL图片。
在610,过程600包含产生视频位流。所产生视频位流包含IRAP图片、一或多个前导图片的第一集合,以及一或多个前导图片的第二集合。在一些实例中,过程600包含在视频位流中用信号表示TemporalId阈值。
在一些实例中,IRAP图片是清洁随机存取(CRA)图片。举例来说,在当前HEVC标准下当前使用的CRA图片可经重新界定使得其前导图片基于前导图片的TemporalId而经界定为RADL或RASL图片。在一些实例中,界定新类型的IRAP图片,使得与IRAP图片相关联的前导图片基于图片的TemporalId而经界定为RASL图片(或具有与RASL图片相似的特性但不同地经标记的图片)或RADL图片(或具有与RADL图片相似的特性但不同地经标记的图片)。
在一些实例中,过程600包含根据第一集合和第二集合中的每一前导图片的TemporalId按输出次序布置一或多个前导图片的第一集合和一或多个前导图片的第二集合。在此类实例中,第一集合的所述一或多个RADL图片具有比第二集合的所述一或多个RASL图片低的TemporalId。在一些情况下,对于此类实例,针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除RASL图片将按输出次序先于所有RADL图片的约束。
在一些实例中,过程600包含以交替输出次序布置一或多个前导图片的第一集合和一或多个前导图片的第二集合。举例来说,在当不使用时间可缩放性和时间子层的情况下,RASL和RADL图片可经布置以使得RASL和RADL图片的次序成交替的输出次序(例如,RASL图片,随后是RADL图片,随后是RASL图片等等)。
在一些实例中,视频数据是视频表示的部分,且当在IRAP图片处发生向视频表示的开关时丢弃所述一或多个RASL图片。当所述一或多个RASL图片丢弃时使用一或多个时间子层的经减少集合来输出视频表示。此外,当与IRAP图片相关联的一或多个拖尾图片经解码时使用时间子层的增加集合来输出视频表示。在参考图5的一个说明性实例中,在前导图片520经解码(其由于RASL图片被丢弃或另外不解码而仅包含RADL图片)的同时帧速率可减小到较低帧速率(例如,根据第三时间子层2)。一旦拖尾图片522开始解码,帧速率便可返回到较高帧速率(例如,根据第四时间子层3)。使用此机制,根据TemporalID值,丢弃的RASL图片与未丢弃的RADL图片交替,而不是当随机存取或切换发生时丢弃若干连续RASL图片。
在一些实例中,具有小于或等于TemporalId阈值的TemporalId的一或多个前导图片的第一集合并不依赖于按解码次序比IRAP图片更早的图片,且可解码而无需参考按解码次序比IRAP图片更早的图片。
在一些实例中,具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合的一或多个RASL图片依赖于按解码次序比IRAP图片更早的图片。
在一些实例中,具有小于或等于TemporalId阈值的TemporalId的一或多个前导图片的第一集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。在此类实例中,与IRAP图片相关联的RADL图片可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。此外,在此类实例中,针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除拖尾图片将不使用前导图片作为用于帧间预测的参考的约束。
在其中一或多个前导图片的第一集合可用作用于一或多个拖尾图片的帧间预测的参考的实例中,过程600可进一步包含在视频位流中用信号表示将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用一或多个前导图片的第一集合作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在一些实例中,具有大于TemporalId阈值的TemporalId的一或多个前导图片的第二集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。这些拖尾图片在一些实施方案中可称为经修改的拖尾图片。在此类实例中,与IRAP图片相关联的RASL图片可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除拖尾图片将不使用前导图片作为用于帧间预测的参考的约束。
在其中一或多个前导图片的第二集合可用作用于一或多个拖尾图片的帧间预测的参考的实例中,过程600可进一步包含在视频位流中用信号表示将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用一或多个前导图片的第二集合作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在一些实例中,按输出次序和解码次序均先于IRAP图片的图片的集合可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。这些拖尾图片在一些实施方案中可称为经修改的拖尾图片。在此类实例中,过程600可进一步包含在视频位流中用信号表示将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用所述图片集合作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在上述实例中的任一者中,过程600在一些实施方案中可包含用信号表示以下各项中的至少一或多个:用于所述一或多个拖尾图片中的每一个的TemporalId,所述一或多个拖尾图片的基数,或其它用于所述一或多个拖尾图片中的每一个的TemporalId和所述一或多个拖尾图片的基数。在此类实施方案中,所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的TemporalId按输出次序布置。在一些实例中,用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数是在IRAP图片的标头中或参数集中用信号表示。
在上述实例中的任一者中,过程600在一些实施方案中可包含使用NAL单元类型用信号表示所述一或多个拖尾图片的识别。
在一些实例中,过程600包含将具有高于拖尾图片TemporalId阈值的TemporalId的与IRAP图片相关联的拖尾图片译码为经修改的拖尾图片(参考IRAP的RASL图片和/或按输出次序和解码次序先于相关联IRAP图片的图片用于帧间预测的拖尾图片)。在此类实例中,过程600进一步包含将与IRAP图片相关联的拖尾图片(具有高达且包含拖尾图片TemporalId阈值的TemporalId)译码为不参考RASL图片(但在一些情况下可参考RADL图片)或不参考任何前导图片的拖尾图片。如上文所描述,此基于TemporalId的拖尾图片指定允许拖尾图片和经修改的拖尾图片分布在IRAP图片的图片群组(GOP)内,使得时间速率(帧/图片速率)的减少发生,而不是当在IRAP图片处发生随机存取时丢弃按输出次序的邻接经修改的拖尾图片的集合。在一些实例中,用于将前导图片指定为RASL或RADL图片的前导图片TemporalID阈值可与用于指定拖尾图片的拖尾图片TemporalID值相同。在一些实例中,前导图片TemporalID阈值可不同于拖尾图片TemporalID值。
图7说明使用本文中所描述的技术中的一或多个对经编码视频位流进行解码以获得视频数据的过程700的实例。在702,过程700包含存取经编码视频位流。经编码视频位流包含帧内随机存取点(IRAP)图片、具有小于或等于时间识别符(TemporalId)阈值的TemporalId的一或多个随机存取可解码前导(RADL)图片的集合,以及具有大于TemporalId阈值的TemporalId的一或多个随机存取跳过前导(RASL)图片的集合。具有IRAP图片的前导图片因此基于图片的TemporalId而经界定为RASL图片(或类似RASL的图片)或RADL图片(或类似RADL的图片)。在一些情况下,所属领域的技术人员应了解,具有小于TemporalId阈值的TemporalId的前导图片可经译码为RADL图片,且具有大于或等于TemporalId阈值的TemporalId的其它相关联前导图片可经译码为RASL图片。
在704,过程700包含对经编码视频位流进行解码以获得视频数据。在一些实例中,视频位流包含TemporalId阈值。在一些情况下,过程700包含从视频位流解码TemporalId阈值。
在一些实例中,IRAP图片是清洁随机存取(CRA)图片。举例来说,在当前HEVC标准下当前使用的CRA图片可经重新界定使得其前导图片基于前导图片的TemporalId而经界定为RADL或RASL图片。在一些实例中,界定新类型的IRAP图片,使得与IRAP图片相关联的前导图片基于图片的TemporalId而经界定为RASL图片(或具有与RASL图片相似的特性但不同地经标记的图片)或RADL图片(或具有与RADL图片相似的特性但不同地经标记的图片)。
在一些实例中,一或多个RADL图片的集合和一或多个RASL图片的集合根据所述一或多个RADL图片和所述一或多个RADL图片的时间识别符按输出次序布置。在此类实例中,所述一或多个RADL图片具有比所述一或多个RASL图片低的TemporalId。在一些情况下,对于此类实例,针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除RASL图片将按输出次序先于所有RADL图片的约束。
在一些实例中,一或多个RADL图片的集合和一或多个RASL图片的集合以交替输出次序布置。举例来说,在当不使用时间可缩放性和时间子层时的情况下,RASL和RADL图片可经布置以使得RASL和RADL图片的次序成交替输出次序。
在一些实例中,视频数据是视频表示的部分,且在此些实例中过程700包含在IRAP图片处切换到视频表示,丢弃一或多个RASL图片的集合,且当一或多个RASL图片的集合被丢弃时使用一或多个时间子层的经减少集合输出所述视频表示。在一些实例中,过程700可进一步包含对与IRAP图片相关联的一或多个拖尾图片进行解码,且当所述一或多个拖尾图片经解码时使用时间子层的增加集合输出所述视频表示。在参考图5的一个说明性实例中,在前导图片520经解码(其由于RASL图片被丢弃或另外不解码而仅包含RADL图片)的同时帧速率可减小到较低帧速率(例如,根据第三时间子层2)。一旦拖尾图片522开始解码,帧速率便可返回到较高帧速率(例如,根据第四时间子层3)。使用此机制,根据TemporalID值,丢弃的RASL图片与未丢弃的RADL图片交替,而不是当随机存取或切换发生时丢弃若干连续RASL图片。
在一些实例中,过程700包含使用帧间预测对一或多个RADL图片的集合进行解码而无需参考按解码次序比IRAP图片早的图片。举例来说,一或多个RADL图片的集合并不依赖于按解码次序比IRAP图片早的图片。
在一些实例中,过程700包含通过参考按解码次序比IRAP图片早的图片使用帧间预测对一或多个RASL图片的集合进行解码。举例来说,一或多个RASL图片的集合中的至少一者可以依赖于按解码次序比IRAP图片早的图片。
在一些实例中,过程700包含确定按解码次序比IRAP图片早的图片不可用作用于帧间预测的参考。举例来说,随机存取或流切换可以在IRAP图片处发生,在此情况下按解码次序比IRAP图片早的图片不可用作参考。在此类实例中,过程700进一步包含丢弃一或多个RASL图片的集合。当丢弃RASL图片时,结果可包含在RADL图片经解码的同时将帧速率减少到较低帧速率。一旦与IRAP图片相关联的拖尾图片开始解码,帧速率便可返回到较高帧速率。
在一些实例中,过程700包含使用RADL图片中的至少一者作为参考执行与IRAP图片相关联的一或多个拖尾图片的帧间预测。在此类实例中,与IRAP图片相关联的RADL图片可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。此外,在此类实例中,针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除拖尾图片将不使用前导图片作为用于帧间预测的参考的约束。
在其中RADL图片可用作用于所述一或多个拖尾图片的帧间预测的参考的实例中,视频位流可进一步包含将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用RADL图片作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在一些实例中,过程700包含使用RASL图片中的至少一者作为参考执行与IRAP图片相关联的一或多个拖尾图片的帧间预测。在此类实例中,与IRAP图片相关联的RASL图片可用作用于与IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。这些拖尾图片在一些实施方案中可称为经修改的拖尾图片。针对使用本文所描述的基于TemporalId的机制的前导图片、拖尾图片和相关联IRAP图片,可移除拖尾图片将不使用前导图片作为用于帧间预测的参考的约束。
在其中RASL图片可用作用于所述一或多个拖尾图片的帧间预测的参考的实例中,视频位流可进一步包含将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用RASL图片作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在一些实例中,过程700包含使用按输出次序和解码次序均先于IRAP图片的集合图片执行与IRAP图片相关联的一或多个拖尾图片的帧间预测。这些拖尾图片在一些实施方案中可称为经修改的拖尾图片。在此类实例中,视频位流可包含将IRAP图片识别为IRAP图片的识别,其允许所述一或多个拖尾图片使用所述图片集合作为用于帧间预测的参考。在此类实例中,所述识别可包含用于IRAP图片的网络抽象层(NAL)单元类型。NAL单元类型是除瞬时解码刷新(IDR)类型、清洁随机存取(CRA)类型和断链存取(BLA)类型外的新类型。
在上述实例中的任一者中,过程700在一些实施方案中可包含接收以下各项中的至少一或多个:用于所述一或多个拖尾图片中的每一个的TemporalId,所述一或多个拖尾图片的基数,或其它用于所述一或多个拖尾图片中的每一个的TemporalId和所述一或多个拖尾图片的基数。在此类实施方案中,所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的TemporalId按输出次序布置。在一些实例中,用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数是在IRAP图片的标头中或参数集中用信号表示。
在上述实例中的任一者中,过程700在一些实施方案中可包含使用NAL单元类型接收所述一或多个拖尾图片的识别。
在一些实例中,具有高于拖尾图片TemporalId阈值的TemporalId的与IRAP图片相关联的拖尾图片经译码为经修改的拖尾图片(参考IRAP的RASL图片和/或按输出次序和解码次序先于相关联IRAP图片的图片用于帧间预测的拖尾图片),而与IRAP图片相关联的其它拖尾图片(具有高达且包含拖尾图片TemporalId阈值的TemporalId)经译码为并不参考RASL图片(但在一些情况下可参考RADL图片)或并不参考任何前导图片的拖尾图片。拖尾图片和经修改的拖尾图片可分布在IRAP图片的图片群组(GOP)内,使得时间速率(帧/图片速率)的减少发生,而不是当在IRAP图片处发生随机存取时丢弃按输出次序邻接的经修改拖尾图片的集合。在一些实例中,用于将前导图片指定为RASL或RADL图片的前导图片TemporalID阈值可与用于指定拖尾图片的拖尾图片TemporalID值相同。在一些实例中,前导图片TemporalID阈值可不同于拖尾图片TemporalID值。
在一些实例中,过程600和700可由计算装置或设备执行,例如图1中示出的系统100。举例来说,过程600可由图1和图8中示出的编码装置104执行,且过程700可由图1和图9中示出的解码装置112执行。在一些情况下,所述计算装置或设备可包含经配置以实行过程600和700的步骤的处理器、微处理器、微型计算机或装置的组件。在一些实例中,所述计算装置或设备可包含经配置以捕获包含视频帧的视频数据(例如,视频序列)的相机。在一些实例中,捕获视频数据的相机或其它捕获装置与计算装置分离,在此情况下计算装置接收或获得所捕获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(IP)的数据或其它类型的数据。
过程600和700说明为逻辑流程图,其操作表示可以硬件、计算机指令或其组合实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的顺序并不意图解释为限制,且任何数目的所描述操作可以按任何顺序组合和/或平行以实施所述过程。
另外,过程600和700可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可存储在计算机可读或机器可读存储媒体上,例如,呈包括可通过一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。
本文中所论述的译码技术可以在实例视频编码和解码系统(例如,系统100)中实施。在一些实例中,系统包含源装置,其提供在稍后时间将由目的地装置解码的经编码视频数据。具体而言,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括各种各样裝置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置和目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据通信标准(例如无线通信协议)加以调制,且发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线路。通信媒体可形成分组网络(例如局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含可用于促进从源装置到目的地装置的通信的路由器、交换器、基站或任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,经编码数据可通过输入接口从存储装置存取。存储装置可包含各种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器、或用于存储经编码视频数据的任何其它适合的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)来存取经编码的视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的传输可为流式传输、下载传输或其组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视传输、卫星电视传输、因特网流视频传输(例如,HTTP动态自适应流式传输(DASH))、被编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统可经配置以支持单向或双向视频传输,从而支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文所揭示的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例系统仅是一个实例。用于并行处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本发明的技术通常由视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以大体上对称的方式操作以使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如,用于视频串流、视频重放、视频广播或视频电话。
视频源可包含视频捕获装置,例如摄像机、含有先前所捕获视频的视频存档及/或用于从视频内容提供者接收视频的视频馈入接口。作为再一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源为视频相机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器编码所捕获、预先捕获或计算机产生的视频。经编码视频信息可接着由输出接口输出到计算机可读媒体上。
如所提到,计算机可读媒体可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置接收经编码视频数据且例如经由网络发射将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器界定的也由视频解码器使用的语法信息,其包含描述块和其它经译码单元(例如,图片群组GOP))的特性和/或处理的语法元素。显示装置向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。
在图8和图9中分别展示编码装置104和解码装置112的具体细节。图8是说明可实施本发明中描述的技术中的一或多个的实例编码装置104的框图。举例来说,编码装置104可以产生本文中描述的语法结构(例如,VPS、SPS、PPS的语法结构,或其它语法元素)。编码装置104可以在视频切片内执行视频块的帧内预测和帧间预测译码。如先前描述,帧内译码至少部分依赖于空间预测来减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分依赖于时间预测来减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。
编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54以及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构,编码装置104还包含逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图8中将滤波器单元63展示为环路内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术在一些情况下可由编码装置104实施。然而在其它情况下,本发明的技术中的一或多者可由后处理装置57实施。
如图8中所示,编码装置104接收视频数据,且分割单元35将所述数据分割成视频块。所述分割还可包含分割成切片、切片片段、瓦片或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。编码装置104总体上说明对待编码的视频切片内的视频块进行编码的组件。可将切片划分成多个视频块(且可能划分成被称作瓦片的视频块的集合)。预测处理单元41可以基于误差结果(例如,译码速率和失真水平,或类似物)选择多个可能的译码模式中的一个,例如多个帧内预测译码模式中的一个或多个帧间预测译码模式中的一个,以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重构经编码的块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。运动向量例如可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的位移。
预测块是被发现在像素差方面与待译码的视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,编码装置104可以计算存储于图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置104可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一者识别存储在图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56及运动补偿单元44。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44可即刻在参考图片列表中定位所述运动向量指向的预测性块。编码装置104通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差形成用于所述块的残余数据,并且可包含明度和色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供解码装置112在对视频切片的视频块进行解码时使用。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可以对当前块进行帧内预测。特定来说,帧内预测处理单元46可确定用以对当前块进行编码的帧内预测模式。在一些实例中,帧内预测处理单元46可例如在单独的编码遍次期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元处理46(或在一些实例中模式选择单元40)可从测试模式选择适当的帧内预测模式来使用。举例来说,帧内预测处理单元46可使用速率-失真分析计算各种经测试帧内预测模式的速率-失真值,并在所述经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测处理单元46可以从用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块来说展现最佳速率失真值。
在任何情况下,在选择用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可对指示所选帧内预测模式的信息进行编码。编码装置104可以在所传输的位流中包含用于各种块的编码上下文的配置数据定义以及最可能帧内预测模式的指示、帧内预测模式索引表和经修改帧内预测模式索引表以供每种上下文使用。位流配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块来形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中,并可应用到变换处理单元52。变换处理单元52使用变换(例如,离散余弦变换(DCT)或在概念上类似的变换)将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素值域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位速率。量化过程可降低与系数中的一些或全部相关联的位深度。可以通过调节量化参数来修改量化程度。在一些实例中,量化单元54可接着对包含经量化变换系数的矩阵执行扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化的变换系数进行熵编码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,经编码位流可发射到解码装置112,或经存档以供稍后发射或由解码装置112检索。熵编码单元56还可对正进行译码的当前视频切片的运动向量和其它语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重构残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到在参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重建的残差块以计算子整数像素值用于运动估计。求和器62将经重构的残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在图片存储器64中。参考块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
以此方式,图8的编码装置104表示经配置以产生用于经编码视频位流的语法的视频编码器的实例。举例来说,如上文所描述,编码装置104可产生VPS、SPS和PPS参数集。编码装置104可执行本文中所描述的技术中的任一者,包含上文相对于图6描述的过程。已相对于编码装置104总体上描述了本发明的技术,但是如上文所提及,本发明的技术中的一些也可以通过后处理装置57实施。
图9是说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,解码装置112可执行总体上与关于图8的编码装置104描述的编码遍次互逆的解码遍次。解码装置112可执行本文中所描述的技术中的任一者,包含上文相对于图7描述的过程。
在解码过程期间,解码装置112接收表示经编码视频切片的视频块和由编码装置104发送的相关联语法元素的经编码视频位流。在一些实施例中,解码装置112可以从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可以从网络实体79接收经编码视频位流,所述网络实体例如服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或经配置以实施上文所述的技术中的一或多个的其它此类装置。网络实体79可包含或可不包含编码装置104。本发明中描述的技术中的一些可以在网络实体79将经编码视频位流传输到解码装置112之前通过网络实体79实施。在一些视频解码系统中,网络实体79和解码装置112可为单独的装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置112的同一装置执行。
解码装置112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。解码装置112可在视频切片层级和/或视频块层级接收语法元素。熵解码单元80可以处理和解析在例如VPS、SPS和PPS中的一或多个参数集中的固定长度语法元素和可变长度语法元素这两者。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其它语法元素而产生当前视频切片的视频块的预测性块。所述预测性块可以从参考图片列表内的参考图片中的一个产生。解码装置112可基于存储在图片存储器92中的参考图片使用默认建构技术建构参考帧列表,即列表0和列表1。
运动补偿单元82通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素以确定用以对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的一或多个参考图片列表的构造信息、用于切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,以及用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器而执行内插。运动补偿单元82可使用如在视频块的编码期间由编码装置104使用的内插滤波器来计算参考块的子整数像素的经内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定编码装置104所使用的内插滤波器,且可使用所述内插滤波器来产生预测性块。
逆量化单元86对在位流中提供且通过熵解码单元80解码的经量化变换系数进行逆量化,或解量化。逆量化过程可以包含将通过编码装置104计算出的量化参数用于视频切片中的每一视频块以确定量化的程度,并且同样确定应该应用的逆量化的程度。逆变换处理单元88将逆变换(例如,逆DCT或其它合适的逆变换)、逆整数变换或概念上相似的逆变换过程应用到所述变换系数以便产生像素域中的残余块。
在运动补偿单元82基于运动向量和其它语法元素产生用于当前视频块的预测性块之后,解码装置112通过将来自逆变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示执行此求和操作的一或多个组件。必要时,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素过渡平滑或者以其它方式改进视频质量。滤波器单元91既定表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图9中将滤波器单元91展示为环路内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。随后将给定帧或图片中的经解码视频块存储于图片存储器92中,所述图片存储器存储用于随后运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后在显示装置(例如,图1中所示的视频目的地装置122)上呈现。
在以上描述中,参考具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文描述的本发明的各种特征和方面可以单独或共同地使用。另外,实施例可以在本文中描述的那些之外的任何数目的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以与所描述的次序不同的次序执行。
在组件被描述为“经配置以”执行特定操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为清晰地说明硬件与软件的这种可互换性,上文已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件还是软件取决于具体应用和施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施决策不应被解释为会引起脱离本发明的范围。
本文中描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包括在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体携载或传达以指令或数据结构的形式携的载或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中描述的技术中的任一者。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一个、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。此外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合式视频编码器-解码器(编解码器)中。

Claims (30)

1.一种对视频数据进行编码以产生视频位流的方法,所述方法包括:
在编码器处获得视频数据;
从所述视频数据确定帧内随机存取点IRAP图片;
将与所述IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导RADL图片,一或多个前导图片的所述第一集合是基于具有小于或等于时间识别符TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合而经译码为一或多个RADL图片;
将与所述IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导RASL图片,一或多个前导图片的所述第二集合是基于具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合而经译码为一或多个RASL图片;以及
产生所述视频位流,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。
2.根据权利要求1所述的方法,其中所述IRAP图片是清洁随机存取CRA图片。
3.根据权利要求1所述的方法,进一步包括根据一或多个前导图片的所述第一集合和一或多个前导图片的所述第二集合中的每一前导图片的所述TemporalId按输出次序布置所述第一集合和所述第二集合,所述第一集合的所述一或多个RADL图片具有比所述第二集合的所述一或多个RASL图片低的TemporalId。
4.根据权利要求1所述的方法,进一步包括按交替输出次序布置一或多个前导图片的所述第一集合和一或多个前导图片的所述第二集合。
5.根据权利要求1所述的方法,其中所述视频数据是视频表示的部分,其中当向所述视频表示的切换发生在所述IRAP图片处时丢弃所述一或多个RASL图片,且其中当丢弃所述一或多个RASL图片时使用一或多个时间子层的经减少集合来输出所述视频表示。
6.根据权利要求5所述的方法,其中当与所述IRAP图片相关联的一或多个拖尾图片经解码时使用时间子层的增加集合来输出所述视频表示。
7.根据权利要求1所述的方法,其中具有小于或等于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合并不依赖于按解码次序比所述IRAP图片更早的图片,且可解码而无需参考按解码次序比所述IRAP图片更早的所述图片。
8.根据权利要求1所述的方法,其中具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合的一或多个RASL图片依赖于按解码次序比所述IRAP图片更早的图片。
9.根据权利要求1所述的方法,进一步包括在所述视频位流中用信号表示所述TemporalId阈值。
10.根据权利要求1所述的方法,其中具有小于或等于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合可用作用于与所述IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。
11.根据权利要求10所述的方法,进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用一或多个前导图片的所述第一集合作为用于帧间预测的参考的IRAP图片的识别。
12.根据权利要求11所述的方法,其中所述识别包含除了瞬时解码刷新IDR类型、清洁随机存取CRA类型和断链存取BLA类型外的用于所述IRAP图片的网络抽象层NAL单元类型。
13.根据权利要求1所述的方法,其中具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合可用作用于与所述IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。
14.根据权利要求13所述的方法,进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用一或多个前导图片的所述第二集合作为用于帧间预测的参考的IRAP图片的识别。
15.根据权利要求13所述的方法,进一步包括用信号表示用于所述一或多个拖尾图片中的每一个的TemporalId或所述一或多个拖尾图片的基数中的至少一或多个,其中所述一或多个拖尾图片是根据所述一或多个拖尾图片中的每一个的所述TemporalId按输出次序布置。
16.根据权利要求15所述的方法,其中用于所述一或多个拖尾图片中的每一个的所述TemporalId或所述一或多个拖尾图片的所述基数是在所述IRAP图片的标头中或参数集中用信号表示。
17.根据权利要求13所述的方法,进一步包括使用NAL单元类型用信号表示所述一或多个拖尾图片的识别。
18.根据权利要求1所述的方法,其中按输出次序和解码次序均先于所述IRAP图片的图片的集合可用作用于与所述IRAP图片相关联的一或多个拖尾图片的帧间预测的参考。
19.根据权利要求18所述的方法,进一步包括在所述视频位流中用信号表示将所述IRAP图片识别为允许所述一或多个拖尾图片使用所述图片集合作为用于帧间预测的参考的IRAP图片的识别。
20.一种设备,其包括:
存储器,其经配置以存储视频数据;以及
处理器,其经配置以:
在编码器处获得视频数据;
从所述视频数据确定帧内随机存取点IRAP图片;
将与所述IRAP图片相关联的一或多个前导图片的第一集合译码为随机存取可解码前导RADL图片,一或多个前导图片的所述第一集合是基于具有小于或等于时间识别符TemporalId阈值的TemporalId的一或多个前导图片的所述第一集合而经译码为一或多个RADL图片;
将与所述IRAP图片相关联的一或多个前导图片的第二集合译码为随机存取跳过前导RASL图片,一或多个前导图片的所述第二集合是基于具有大于所述TemporalId阈值的TemporalId的一或多个前导图片的所述第二集合而经译码为一或多个RASL图片;以及
产生所述视频位流,所述视频位流包含所述IRAP图片、一或多个前导图片的所述第一集合以及一或多个前导图片的所述第二集合。
21.一种对经编码视频位流进行解码以获得视频数据的方法,所述方法包括:
存取经编码视频位流,所述经编码视频位流包含帧内随机存取点IRAP图片、具有小于或等于时间识别符TemporalId阈值的TemporalId的一或多个随机存取可解码前导RADL图片的集合,以及具有大于所述TemporalId阈值的TemporalId的一或多个随机存取跳过前导RASL图片的集合;以及
对所述经编码视频位流进行解码以获得所述视频数据。
22.根据权利要求21所述的方法,进一步包括:
其中一或多个RADL图片的所述集合和一或多个RASL图片的所述集合是根据所述一或多个RADL图片和所述一或多个RADL图片的时间识别符按输出次序布置,所述一或多个RADL图片具有比所述一或多个RASL图片低的TemporalId;或
其中一或多个RADL图片的所述集合和一或多个RASL图片的所述集合是按交替输出次序布置。
23.根据权利要求21所述的方法,其中所述视频数据是视频表示的部分,且所述方法进一步包括:
在所述IRAP图片处切换到所述视频表示;
丢弃一或多个RASL图片的所述集合;以及
当丢弃一或多个RASL图片的所述集合时使用一或多个时间子层的经减少集合来输出所述视频表示。
24.根据权利要求23所述的方法,进一步包括:
对与所述IRAP图片相关联的一或多个拖尾图片进行解码;以及
当所述一或多个拖尾图片经解码时使用时间子层的增加集合来输出所述视频表示。
25.根据权利要求21所述的方法,进一步包括:
使用帧间预测对一或多个RADL图片的所述集合进行解码而无需参考按解码次序比所述IRAP图片更早的图片,其中一或多个RADL图片的所述集合并不依赖于按解码次序比所述IRAP图片更早的所述图片;或
通过参考按解码次序比所述IRAP图片更早的图片使用帧间预测对一或多个RASL图片的所述集合进行解码。
26.根据权利要求21所述的方法,进一步包括:
确定按解码次序比所述IRAP图片更早的图片不可用作用于帧间预测的参考;以及
丢弃一或多个RASL图片的所述集合。
27.根据权利要求21所述的方法,进一步包括使用所述RADL图片中的至少一者作为参考来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
28.根据权利要求21所述的方法,进一步包括使用所述RASL图片中的至少一者作为参考来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
29.根据权利要求21所述的方法,进一步包括使用按输出次序和解码次序均先于所述IRAP图片的集合图片来执行与所述IRAP图片相关联的一或多个拖尾图片的帧间预测。
30.一种设备,其包括:
存储器,其经配置以存储视频数据;以及
处理器,其经配置以:
存取经编码视频位流,所述经编码视频位流包含帧内随机存取点IRAP图片、具有小于或等于时间识别符TemporalId阈值的TemporalId的一或多个随机存取可解码前导RADL图片的集合,以及具有大于所述TemporalId阈值的TemporalId的一或多个随机存取跳过前导RASL图片的集合;以及
对所述经编码视频位流进行解码以获得所述视频数据。
CN201680054869.1A 2015-09-25 2016-09-21 改进的视频流切换和随机存取的方法和系统 Pending CN108028934A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562233223P 2015-09-25 2015-09-25
US62/233,223 2015-09-25
US15/266,824 US10148983B2 (en) 2015-09-25 2016-09-15 Methods and systems of improved video stream switching and random access
US15/266,824 2016-09-15
PCT/US2016/052764 WO2017053351A1 (en) 2015-09-25 2016-09-21 Methods and systems of improved video stream switching and random access

Publications (1)

Publication Number Publication Date
CN108028934A true CN108028934A (zh) 2018-05-11

Family

ID=57068221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680054869.1A Pending CN108028934A (zh) 2015-09-25 2016-09-21 改进的视频流切换和随机存取的方法和系统

Country Status (7)

Country Link
US (1) US10148983B2 (zh)
EP (1) EP3354022B1 (zh)
JP (1) JP2018533281A (zh)
KR (1) KR20180056755A (zh)
CN (1) CN108028934A (zh)
BR (1) BR112018006068A2 (zh)
WO (1) WO2017053351A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545367A (zh) * 2018-05-28 2019-12-06 夏普株式会社 图像记录装置、图像记录方法以及记录介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101812615B1 (ko) * 2012-09-28 2017-12-27 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
WO2015056449A1 (ja) 2013-10-18 2015-04-23 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
JP6538324B2 (ja) * 2013-10-18 2019-07-03 パナソニック株式会社 画像符号化方法および画像符号化装置
US11736687B2 (en) * 2017-09-26 2023-08-22 Qualcomm Incorporated Adaptive GOP structure with future reference frame in random access configuration for video coding
BR112020019362A2 (pt) 2019-03-11 2021-09-21 Dolby Laboratories Licensing Corporation Codificação de vídeo escalável de taxa de quadros
US11533474B2 (en) 2019-03-11 2022-12-20 Dolby Laboratories Licensing Corporation Video coding using reference picture resampling supporting region of interest
US11909983B2 (en) 2019-03-14 2024-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
WO2021003447A1 (en) * 2019-07-03 2021-01-07 Futurewei Technologies, Inc. Types of reference pictures in reference picture lists
JP2022543627A (ja) 2019-08-06 2022-10-13 ドルビー ラボラトリーズ ライセンシング コーポレイション 描画面サイズ拡張可能ビデオコーディング
WO2021188548A1 (en) * 2020-03-19 2021-09-23 Bytedance Inc. Constraints on reference picture lists entries
CN115668943A (zh) 2020-03-23 2023-01-31 Lg电子株式会社 基于混合nal单元类型的图像编码/解码方法和设备及存储比特流的记录介质
US11496730B2 (en) 2020-04-03 2022-11-08 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using subpicture
KR102650429B1 (ko) * 2020-04-03 2024-03-25 한국전자통신연구원 서브픽처를 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
US11770498B2 (en) 2020-09-29 2023-09-26 Lemon Inc. Supplemental enhancement information for multi-layer video streams

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666529A (zh) * 2002-06-28 2005-09-07 高通股份有限公司 计算受限的视频编码
CN101053253A (zh) * 2004-09-08 2007-10-10 索尼株式会社 记录装置及方法、再生装置及方法以及程序
CN101326821A (zh) * 2006-03-14 2008-12-17 索尼株式会社 图像处理设备和图像处理方法
CN104272746A (zh) * 2012-04-20 2015-01-07 高通股份有限公司 用于视频序列中的随机存取点图片的经解码图片缓冲器处理

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014039252A (ja) 2012-08-10 2014-02-27 Panasonic Corp 画像復号方法および画像復号装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666529A (zh) * 2002-06-28 2005-09-07 高通股份有限公司 计算受限的视频编码
CN101053253A (zh) * 2004-09-08 2007-10-10 索尼株式会社 记录装置及方法、再生装置及方法以及程序
CN101326821A (zh) * 2006-03-14 2008-12-17 索尼株式会社 图像处理设备和图像处理方法
CN104272746A (zh) * 2012-04-20 2015-01-07 高通股份有限公司 用于视频序列中的随机存取点图片的经解码图片缓冲器处理

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RICKARD SJÖBERG: "Overview of HEVC High-Level Syntax and reference picture management", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
THOMAS SCHIERL: "System Layer Integration of High Efficiency Video Coding", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545367A (zh) * 2018-05-28 2019-12-06 夏普株式会社 图像记录装置、图像记录方法以及记录介质
CN110545367B (zh) * 2018-05-28 2021-03-23 夏普株式会社 图像记录装置、图像记录方法以及记录介质

Also Published As

Publication number Publication date
EP3354022B1 (en) 2020-09-02
BR112018006068A2 (pt) 2018-10-09
US20170094302A1 (en) 2017-03-30
US10148983B2 (en) 2018-12-04
WO2017053351A1 (en) 2017-03-30
KR20180056755A (ko) 2018-05-29
JP2018533281A (ja) 2018-11-08
EP3354022A1 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
CN108028934A (zh) 改进的视频流切换和随机存取的方法和系统
CN106664427B (zh) 用于对视频数据进行编码的设备和方法及计算机可读媒体
CN106464920B (zh) 用于在参数集中用信号表示层集合的信息的系统和方法
CN106464919B (zh) 用于编码和解码具有视频数据的多层位流的方法和装置
CN106416245B (zh) 用于对视频数据进行编码和解码的方法和设备
CN104396265B (zh) 在视频译码中从清晰随机存取图片的全面随机存取
CN104685887B (zh) 于视频译码中发信用于操作点的层识别符
CN105009588B (zh) 用于视频译码的并行处理
CN104704843B (zh) 视频性质的指示
CN104429082B (zh) 用于视频译码的长期参考图片的信令
CN105052156B (zh) Irap存取单元与位流切换及拼接
CN104380747B (zh) 视频译码中的参数集更新
CN103814575B (zh) 用于译码视频数据的方法和装置
CN105409219B (zh) 高效率视频译码扩展中的目标输出层的选择
CN109792524A (zh) 切换内插滤波器的系统及方法
CN105052142B (zh) 仅高级语法shvc中的一般化残余预测及其信令和管理
CN104904208B (zh) 用于视频译码中的随机存取的视频缓冲操作
CN109792518A (zh) 适应性地确定用于照明补偿的模板大小的系统和方法
CN105409215B (zh) 深度预测模式选择方法及装置
CN107852498A (zh) 在视频译码中限制双向预测的方法及系统
CN106464876A (zh) 使用序列结束网络抽象层单元的改进视频编码
CN108141584A (zh) 使用背景图片对预测性随机存取图片进行译码的方法和系统
CN105122798B (zh) 多层视频译码中的交叉层图片类型对准的指示
CN105379272B (zh) 在vps中用信号通知位速率信息及图片速率信息
CN107105295A (zh) 用于高效视频译码(hevc)和扩展的视频参数集

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180511

WD01 Invention patent application deemed withdrawn after publication