CN106464876A - 使用序列结束网络抽象层单元的改进视频编码 - Google Patents
使用序列结束网络抽象层单元的改进视频编码 Download PDFInfo
- Publication number
- CN106464876A CN106464876A CN201580032614.0A CN201580032614A CN106464876A CN 106464876 A CN106464876 A CN 106464876A CN 201580032614 A CN201580032614 A CN 201580032614A CN 106464876 A CN106464876 A CN 106464876A
- Authority
- CN
- China
- Prior art keywords
- access unit
- unit
- picture
- access
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/188—Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/172—Methods 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 an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/187—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
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
本发明提供用于解码及处理视频数据的技术和系统。举例来说,解码视频数据的方法包含:存取包括多个层的经编码视频位流。所述经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元。第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元。所述方法进一步包含:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
Description
技术领域
本发明大体来说涉及视频编码,且更具体来说涉及用于使用序列结束网络抽象层单元改进视频编码的技术及系统。
背景技术
许多装置及系统允许处理并输出视频数据以供消费。数字视频数据包含大量数据以满足消费者及视频提供者的需求。举例来说,视频数据的消费者期望具有高保真度、分辨率、帧速率及其类似者的最高质量的视频。因此,需要满足这些需求的大量视频数据对通信网络及处理并存储所述视频数据的装置添加负担。
各种视频编码技术可用于压缩视频数据。根据一或多个视频编码标准执行视频编码。举例来说,视频编码标准包含高效率视频编码(HEVC)、高级视频编码(AVC)、动画专家组(MPEG)编码或其类似者。视频编码通常运用利用视频图像或序列中存在的冗余的预测方法(例如,帧间预测、帧内预测或其类似者)。视频编码技术的重要目标是将视频数据压缩成使用较低位率的形式,同时避免视频质量的降级或使其最小化。随着不断演进的视频服务变得可用,需要具有较佳编码效率的编码技术。
发明内容
在一些实施例中,描述用于使用序列结束(EOS)网络抽象层(NAL)单元改进视频编码的技术及系统。位流为一系列一或多个编码视频序列。编码视频序列(CVS)包含一系列存取单元,所述存取单元以在基础层中含有随机存取点图片且具有某些性质(如申请案中稍后详述)的存取单元开始直到且不包含在基础层中含有随机存取点图片且具有某些性质的下一存取单元。存取单元(AU)包含一或多个编码图片及对应于共享相同输出时间的编码图片的控制信息。EOS NAL单元为位流中指示编码视频序列结束的NAL单元。举例来说,EOSNAL单元可指示NAL单元为给定CVS的最后NAL单元。在另一实例中,EOS NAL单元可指示NAL单元为CVS的层的最后NAL单元。本文中描述用于修改解码过程使得在含有EOS NAL单元的AU之后的AU处开始重新初始化对AU的解码的实施例。
根据使用序列结束网络抽象层单元改进视频编码的至少一个实例,提供包含存取包括多个层的经编码视频位流的解码视频数据的方法。经编码视频位流包含多个存取单元。第一存取单元包含序列结束网络抽象层单元,且第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元。所述方法进一步包含:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在另一实例中,提供包含经配置以存储视频数据的存储器及处理器的设备。处理器经配置且可从存储器存取包括多个层的经编码视频位流。经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且第二存取单元包含帧内随机存取点图片。第二存取单元为在解码次序中在所述第一存取单元之后的下一后续存取单元。处理器经进一步配置且可基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在另一实例中,提供计算机可读媒体,在其上存储有指令,所述指令在由处理器执行时执行包含以下步骤的方法:存取包括多个层的经编码视频位流,经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且其中第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元;及基于所述第二存取单元为在解码次序中在所述第一存取单元的序列结束网络抽象层单元之后的下一后续存取单元,在第二存取单元处重新初始化解码。
在另一实例中,提供设备,所述设备包含用于存取包括多个层的经编码视频位流的装置,所述经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且其中第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元。所述设备进一步包含:用于基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码的装置。
上文所描述用解码视频数据的所述方法、设备及计算机可读媒体进一步包含:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对多个层中的每一者的解码。
在一些方面中,所述第一存取单元在所述经编码视频位流的基础层中包含序列结束网络抽象层单元,且所述第二存取单元在所述基础层中包含帧内随机存取点图片。基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在一些方面中,所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新图片。在一些方面中,所述第二存取单元的所述帧内随机存取点图片包含整洁随机存取图片。
在一些方面中,当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标设置成一值。所述值指示在所述第二存取单元处重新初始化解码。在一些实例中,旗标包含NoClrasOutputFlag且所述值为1值。
在一些方面中,在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
在使用序列结束网络抽象层单元改进视频编码的另一实例中,提供处理视频数据的方法,所述方法包含:获得包括多个层的第一经编码视频位流。所述第一经编码视频位流包含多个存取单元。所述方法进一步包含:获得包括多个层的第二经编码视频位流。所述第二经编码视频位流包含多个存取单元。所述方法进一步包含:通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流。所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元。所述方法进一步包含:发射所述第三经编码视频位流。基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
在另一实例中,提供包含经配置以存储视频数据的存储器及处理器的设备。处理器经配置且可从存储器获得包括多个层的第一经编码视频位流。所述第一经编码视频位流包含多个存取单元。处理器经进一步配置且可从存储器获得包括多个层的第二经编码视频位流。所述第二经编码视频位流包含多个存取单元。所述处理器经进一步配置且可通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流。所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元。所述设备进一步包含发射器。所述发射器经配置且可发射所述第三经编码视频位流。基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
在另一实例中,提供计算机可读媒体,在其上存储有指令,所述指令在由处理器执行时执行包含以下步骤的方法:获得包括多个层的第一经编码视频位流,所述第一经编码视频位流包含多个存取单元;获得包括多个层的第二经编码视频位流,所述第二经编码视频位流包含多个存取单元;通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流,其中所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有所述序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元;及发射所述第三经编码视频位流,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
在另一实例中,提供包含用于获得包括多个层的第一经编码视频位流的装置的设备,所述第一经编码视频位流包含多个存取单元。所述设备进一步包含用于获得包括多个层的第二经编码视频位流的装置,所述第二经编码视频位流包含多个存取单元。所述设备进一步包含用于通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流的装置,其中所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有所述序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元。所述装备进一步包含用于发射所述第三经编码视频位流的装置,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
上文描述用于处理视频数据的方法、设备及计算机可读媒体可进一步包含:确定将解码所述第三经编码视频位流,所述第三编码位流包含在所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元,接着是在所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元。方法、设备及计算机可读媒体进一步包含:确定将在包含所述帧内随机存取点图片的所述第二存取单元处重新初始化对所述第二经编码视频位流的解码,及通过组合所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元与所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元,且通过将所述序列结束网络抽象层单元插入到所述第一存取单元中,产生所述第三经编码视频位流。
在一些方面中,所述第一经编码视频位流及所述第二经编码视频位流为相同经编码视频位流,且所述第二存取单元为在解码次序中在所述相同经编码视频位流中的所述第一存取单元之后的后续存取单元。
在一些方面中,基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的多个层中的每一层的解码。
在一些方面中,将所述序列结束网络抽象层单元插入到所述第三经编码视频位流的基础层中的所述第一存取单元中且所述第二存取单元包含所述基础层中的所述帧内随机存取点图片。基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在一些方面中,第二存取单元的帧内随机存取点图片包含瞬时解码刷新图片。在一些方面中,第二存取单元的帧内随机存取点图片包含整洁随机存取图片。
在一些方面中,当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标设置成一值。所述值指示在所述第二存取单元处重新初始化解码。在一些实例中,旗标包含NoClrasOutputFlag且所述值为值1。
在一些方面中,在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
发明内容既不意欲识别所主张标的物的关键或基本特征,也不意欲用于用以确定所主张标的物的范围的隔离。应参考本专利的整个说明书的适当部分、任何或全部图式及每一权利要求来理解标的物。
在参考以下说明书、权利要求书及随附图式时,上述连同其它特征及实施例将变得较显而易见。
附图说明
下文参考以下图式图来详细描述本发明的说明性实施例:
图1为根据一些实施例说明编码装置及解码装置的实例的框图。
图2为根据一些实施例的经编码视频位流的图片的实例。
图3为根据一些实施例的经编码视频位流的存取单元的实例。
图4为根据一些实施例的经编码视频位流的存取单元的另一实例。
图5为根据一些实施例的经编码视频位流的存取单元的另一实例。
图6为根据一些实施例说明具有序列结束网络抽象层单元的解码视频数据的过程的实施例的流程图。
图7为根据一些实施例说明使用序列结束网络抽象层单元的处理解码视频数据的过程的实施例的流程图。
图8为根据一些实施例的经编码视频位流的存取单元的实例。
图9为根据一些实施例说明实例视频编码装置的框图。
图10为根据一些实施例说明实例视频解码装置的框图。
具体实施方式
下文提供本发明的某些方面及实施例。这些方面及实施例中的一些可独立地应用且其中的一些可以组合的方式应用,如所属领域的技术人员将了解。在以下描述中,出于解释的目的,阐明具体细节以便提供对本文发明的实施例的透彻理解。然而,将了解,可在无这些具体细节的情况下实践各种实施例。图及说明并非意欲为限制性。
后续描述仅提供示范性实施例,且并不意欲限制本发明的范围、适用性或配置。确切地说,示范性实施例的后续描述将为所属领域的技术人员提供用于实施示范性实施例的启用描述。应理解可在不脱离如随附权利要求所阐明的本发明的精神及范围的情况下对功能及元件的布置做出各种改变。
在以下描述给出具体细节以提供对实施例的透彻理解。然而,所属领域的技术人员将理解,可在无这些具体细节的情况下实践实施例。举例来说,电路、系统、网络、过程及其它组件可以框图形式展示为组件以便不以不必要细节模糊实施例。在其它例子中,众所周知电路、过程、算法、结构及技术可经展示无不必要细节以便避免模糊实施例。
此外,应注意,个别实施例可被描述为过程,其被描绘为流程图、作业图、数据流程图、结构图或框图。虽然流程表可将操作阐述为顺序过程,但操作中的许多操作可并行或同时地执行。另外,可重新布置操作的次序。过程可在其操作完成时终止,但可具有图中未包含的额外步骤。过程可对应于方法、功能、程序、子例程、子程序等。当过程对应于功能时,其终止可对应于将所述功能返回到调用功能或主功能。
术语“计算机可读媒体”包含(但不限于)便携式或非便携式存储装置、光学存储装置,及能够存储、含有或运载指令及/或数据的各种其它媒体。计算机可读媒体可包含可将数据存储于其中且不包含以无线方式或经由有线连接传播的载波及/或暂时电子信号的非暂时性媒体。非暂时性媒体的实例可包含但不限于磁盘或磁带、光学存储媒体(例如光盘(CD)或数字通用光盘(DVD))、快速存储器、存储器或存储器装置。计算机可读媒体其上可存储有代码及/或机器可执行指令,所述代码及/或机器可执行指令可表示程序、函数、子程序、程序、例程、子例程、模块、软件包、类别或指令、数据结构或程序语句的任何组合。代码段可通过传递及/或接收信息、数据、自变量、参数或存储器内容来耦接到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、权标传递、网络发射或其类似者来传递、转发或发射。
此外,实施例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用以执行必要任务的程式代码或代码段(例如,计算机程序产品)可被存储在计算机可读或机器可读媒体中。处理器可执行必要任务。
本文中描述使用视频编码器、解码器及其它编码处理装置的视频编码的数个系统及方法。举例来说,一或多种编码的系统及方法是针对改进多层编解码器(例如使用高效率视频编码(HEVC)标准操作的编解码器)中的序列结束网络抽象层单元的规范的编码的系统及方法。
随着更多装置及系统为消费者提供消费数字视频数据的能力,对高效视频编码技术的需要变得更重要。需要视频编码以减少处置数字视频数据中存在的大量数据所需要的存储及发射要求。可使用各种视频编码技术来将视频数据压缩成使用较低位率同时维持高视频质量的形式。
图1为说明包含编码装置104及解码装置112的系统100的实例的框图。编码装置104可为源装置的部分,且解码装置112可为接收装置的部分。源装置及/或接收装置可包含电子装置,例如移动或静止电话手机(例如,智能电话、蜂窝式电话或其类似者)、桌上型计算机、膝上型或笔记型计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置,或任何其它适合电子装置。在一些实例中,源装置及接收装置可包含用于无线通信的一或多个无线收发器。本文中所描述的编码技术适用于各种多媒体应用中的视频编码,包含流视频发射(例如,经由因特网)、电视广播或发射、编码数字视频以供存储在数据存储媒体上、解码经存储在数据存储媒体上的数字视频,或其它应用。在一些实例中,系统100可支持单向或双向视频发射以支持例如视频会议、视频流、视频播放、视频广播、游戏及/或视频电话的应用。
编码装置104(或编码器)可用于使用视频编码标准或协议来对视频数据进行编码以产生经编码视频位流。视频编码标准包含ITU-T H.261、ISO/IEC MPEG-1可视化、ITU-TH.262或ISO/IEC MPEG-2可视化、ITU-T H.263、ISO/IEC MPEG-4可视化及ITU-T H.264(还称作ISO/IEC MPEG-4AVC),包含其可缩放视频编码(SVC)及多视图视频编码(MVC)扩展。ITU-T视频编码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频编码联合协作团队(JCT-VC)已完成最新视频编码标准,高效率视频编码(HEVC)。HEVC的各种扩展处理多层视频编码且也是由JCT-VC研发,包含HEVC的多视图扩展(称作MV-HEVC),及HEVC的可缩放扩展(称作SHVC),或其任何其它适合编码协议。HEVC草案规范可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1003-v1.zip获得。MV-HEVC的工作草案可从http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/8_Valencia/wg11/JCT3V-H1002-v5.zip获得。SHVC的工作草案可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1008-v2.zip获得。
本文中描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文中所描述的技术及系统还可应用于其它编码标准,例如,AVC、MPEG、其扩展,或其它适合编码标准。因此,虽然可参考特定视频编码标准来描述本文中所描述的技术及系统,但所属领域的技术人员将了解,描述不应解释为仅适用于特定标准。
视频源102可将视频数据提供至编码装置104。视频源102可为源装置的部分,或可为除源装置外的装置的部分。视频源102可包含视频捕获装置(例如,视频相机、相机电话、视频电话或其类似者)、含有所存储视频的视频存档、提供视频数据的视频服务器或内容提供器、从视频服务器或内容提供器接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此些源的组合,或任何其它适合视频源。
来自视频源102的视频数据可包含一或多个输入图片或帧。图片或帧为是视频的部分的静止图像。编码装置104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频位流。在一些实例中,经编码视频位流(或“位流”)为一系列一或多个编码视频序列。编码视频序列(CVS)包含以在基础层中具有随机存取点图片且具有某些性质的存取单元(AU)开始直到且不包含在基础层中具有随机存取点图片且具有某些性质的下一AU的一系列AU。举例来说,开始CVS的随机存取点图片的某些性质可包含等于1的RASL旗标(例如,NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL旗标)不开始CVS。存取单元(AU)包含一或多个编码图片及对应于共享相同输出时间的编码图片的控制信息。举例来说,HEVC位流可包含一或多个CVS,包含称作网络抽象层(NAL)单元的数据单元。HEVC标准中存在两种类NAL单元,包含视频编码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元包含编码图片数据的一个切片或切片段(下文所描述),且非VCL 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的帧间预测。CB还可经分裂成一或多个变换块(TB)。TB表示将相同二维变换应用于其以对预测残余信号进行编码的颜色分量的样本的方形块。变换单元(TU)表示明度及色度样本的TB,及对应语法元素。
CU的大小对应于编码节点的大小且为正方形形状。举例来说,CU的大小可为8×8个样本、16×16个样本、32×32个样本、64×64个样本,或高达对应CTU的大小的任何其它适当大小。短语“N×N”在本文中用于以垂直及水平尺寸方面(例如,8个像素×8个像素)指代视频块的像素尺寸。块中的像素可经布置成行及列。在一些实施例中,块不可能在水平方向具有与在垂直方向相同数目个像素。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可在CU为帧内预测模式编码或帧间预测模式编码之间不同。PU可被分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述根据CTU将CU分割成一或多个TU。TU的形状可为正方形或非正方形。
根据HEVC标准,可使用变换单元(TU)执行变换。TU可针对不同CU不同。TU可基于给定CU内的PU的大小而经定大小。TU可为于PU相同大小或比PU小。在一些实例中,可使用称作残余四分树(RQT)的四分树结构将对应于CU的残余样本细分成较小单元。RQT的叶节点可对应于TU。可变换与TU相关联的像素差值以产生变换系数。可接着通过编码器引擎106将变换系数量化。
一旦将视频数据的图片分割成CU,编码器引擎106使用预测模式预测每一PU。接着将预测从原始视频数据减去以获得残余(下文加以描述)。针对每一CU,可使用语法数据在位流内发信预测模式。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测,使用(例如)DC预测来找到PU的平均值、平面预测来使平面表面配合PU、方向预测来从邻近数据外推或任何其它适合类型的预测来从相同图片中的邻近图像数据预测每一PU。使用帧间预测,使用运动补偿预测从一或多个参考图片(在输出次序中在当前图片之前或之后)中的图像数据预测每一PU。举例来说,可在CU层级处作出是使用图片间还是图片内预测来对图片区域进行编码的决策。
PU可包含与预测过程相关的数据。举例来说,当使用帧内预测对PU进行编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当使用帧间预测时对PU进行编码时,PU可包含定义PU的运动矢量的数据。定义PU的运动矢量的数据可(例如)描述运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量指向的参考图片,及/或运动矢量的参考图片列表(例如,列表0、列表1或列表C)。
编码器104可接着执行变换及量化。举例来说,在预测之后,编码器引擎106可计算对应于PU的残余值。残余值可包括像素差值。使用块变换来变换在执行预测之后可能剩余的任何残余数据,此可能基于离散余弦变换、离散正弦变换、整数变换、小波变换或其它适合变换函数。在一些状况下,可将一或多个块变换(例如,大小32×32、16×16、8×8、4×4或其类似者)应用于每一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可经由通信链路120将构成经编码视频数据的NAL单元发送到接收装置的解码装置112。解码装置112的输入114可接收NAL单元。通信链路120可包含使用无线网络、有线网络、或有线及无线网络的组合来发射的信号。无线网络可包含任何无线接口或无线接口的组合且可包含任何适合无线网络(例如,因特网或其它广域网、基于数据包的网络、WiFiTM、射频(RF)、UWB、WiFi直连、蜂窝式、长期演进(LTE)、WiMaxTM或其类似者)。有线网络可包含任何有线接口(例如,光纤、以太网、电力线以太网、经由同轴电缆的以太网、数字信号线(DSL)或其类似者)。可使用各种设备(例如,基站、路由器、接入点、网桥、网关、交换器或其类似者)来实施有线及/或无线网络。可根据通信标准(例如,无线通信协议)来调制经编码视频数据,并将其发射到接收装置。
在一些实例中,编码装置104可将经编码视频数据存储在存储装置108中。输出110可从编码器引擎106或从输出110检索经编码视频数据。存储装置108可包含各种分散式或本地存取数据存储媒体中的任何者。举例来说,存储装置108可包含硬盘驱动、存储盘、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它适合数字存储媒体。
输入114接收经编码视频数据且可将视频数据提供到解码器引擎116或存储装置118以供由解码器引擎116稍后使用。解码器引擎116可通过熵解码(例如,使用熵解码器)并提取编码视频序列中构成经编码视频数据的元素来对经编码视频数据进行解码。解码器引擎116可接着重新缩放且对经编码视频数据执行反变换。接着将残余传递到解码器引擎116的预测级。解码器引擎116接着预测像素块(例如,PU)。在一些实例中,将预测添加到反变换的输出。
解码装置112可将解码视频输出到视频目的地装置112,所述视频目的地装置可包含用于向内容的消费者显示经解码视频数据的显示器或其它输出装置。在一些方面中,视频目的地装置122可为包含解码装置112的接收装置的部分。在一些方面中,视频目的地装置122可为除接收装置外的单独装置的部分。
在一些实施例中,视频编码装置104及/或视频解码装置112可分别与音频编码装置及音频解码装置集成。视频编码装置104及/或视频解码装置112还可包含实施上文所描述的编码技术所需的其它硬件或软件,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104及视频解码装置112可经集成为相应装置中的组合式编码/解码器(编解码器)的部分。下文参考图9描述编码装置104的具体细节的实例。下文参考图10描述解码装置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单元还可含有具有与经编码视频位流有关的高级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)及图片参数集(PPS)。参数集的目标为比特数列效率、误差弹性及提供系统层接口。每一切片参考单个作用中PPS、SPS及VPS以存取解码装置112可用于解码切片的信息。识别符(ID)可针对每一参数集(包含VPSID、SPS ID及PPS ID)经编码。SPS包含SPS ID及VPS ID。PPS包含PPS ID及SPS ID。每一切片标头包含PPS ID。使用所述ID,可针对给定切片识别作用中参数集。
PPS包含适用于给定图片中的所有切片的信息。由于上述情况,因此图片中的所有切片是指相同PPS。不同图片中的切片还可是指相同PPS。SPS包含适用于相同编码视频序列或位流中的所有图片的信息。编码视频序列为一系列存取单元,所述系列存取单元以随机存取点图片(例如,瞬时解码刷新(IDR)图片或断链存取(BLA)图片,或其它适当随机存取点图片)开始,且包含直到但不包含下一随机存取点图片(或位流的结束)的所有存取单元。SPS中的信息通常不会在编码视频序列内逐图片改变。编码视频序列中的所有图片使用相同SPS。VPS包含适用于编码视频序列或位流内的所有层的信息。VPS包含具有适用于整个编码视频序列的语法元素的语法结构。在一些实施例中,可随编码位流带内发射VPS、SPS或PPS。在一些实施例中,与含有编码视频数据的NAL单元相比,可以单独发射带外发射VPS、SPS或PPS。
VCL NAL单元包含形成经编码视频位流的编码图片数据。各种类型的VCL NAL单元经定义于HEVC标准中,如下文在表A中所说明。
表A
在单层位流中,如第一HEVC标准中所定义,AU中含有的VCL NAL单元具有相同NAL单元类型值,其中NAL单元类型值定义AU的类型及AU内的编码图片的类型。举例来说,特定AU的VCL NAL单元可包含瞬时解码刷新(IDR)NAL单元(值19),使AU成为ID RAU且AU的编码图片成为IDR图片。VCL NAL单元的给定类型与VCL NAL单元中所含有的图片或其部分(例如,VCL NAL单元中的图片的切片或切片段)有关。三个种类的图片经定义在HEVC标准中,包含前导图片、尾部图片及帧内随机存取(IRAP)图片。在多层位流中,AU内的图片的VCL NAL单元具有相同NAL单元类型值及相同类型的编码图片。举例来说,含有IDR类型的VCL NAL单元的图片被认为是AU中的IDR图片。在另一实例中,当AU含有为基础层(层ID等于0)的IRAP图片的图片时,AU为IRAP AU。
图2为包含IRAP图片I1及与IRAP图片I1相关联的前导及尾部图片的经编码视频位流的图片的实例。在箭头202的方向上以输出次序线性显示图片,且编号1到8(I1、B2、B3、B4、P5、B6、B7、B8)指示图片的解码次序。IRAP图片提供位流中解码可开始的点。举例来说,解码可在IRAP图片处开始使得即使将在解码次序中在IRAP图片之前的所有图片从位流丢弃(例如,由于位流拼接或其类似者),仍可输出在输出次序中在IRAP图片之后的图片(包含IRAP图片)。由于可能在IRAP图片处开始解码,因此IRAP图片不相依于位流中的任何其它图片。举例来说,IRAP图片属于时间子层0且经编码而无需使用任何其它图片的内容作为参考数据(例如,使用帧内预测)。位流的第一图片为IRAP图片,且其它IRAP图片也可存在于位流中。在多层位流中,具有大于0的层ID的IRAP图片(除基础层外的层)可使用层间预测。举例来说,IRAP图片可基于属于相同存取单元且具有下部层ID的图片而使用层间预测。
图片B2、B3及B4包含IRAP图片I1的前导图片。前导图片为在解码次序中在IRAP图片之后但在输出次序中在IRAP图片之前的图片。如图2中所说明,前导图片B2、B3及B4为在解码次序中在IRAP图片I1之后,且在输出次序中在IRAP图片I1之前。在一些实施例中,前导图片使用上文表A中所展示的前导图片NAL单元类型6到9中的一者。
图片P5、B6、B7及B8包含IRAP图片I1的尾部图片。尾部图片为在解码次序及输出次序中在IRAP图片之后的图片。如在图2中所说明,尾部图片P5、B6、B7及B8在解码次序中且还在输出次序中在IRAP图片I1之后。尾部图片使用上文表A中所展示的尾部图片NAL单元类型0到5中的一者。
前导图片及尾部图片为与解码次序中最近IRAP图片(图2中的图片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图片在RASL图片用于参考的图片在解码次序中在IRAP图片之前时不可解码。由于在IRAP图片处执行随机存取的解码器将不对在解码次序中在IRAP图片之前的图片进行解码,且因此也将不对RASL图片进行解码,因此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图片的前导图片相依于在解码次序中在CRA图片之前的图片。在一些实例中,CRA图片可具有相关联RADL图片及RASL图片。可通过以下操作在CRA图片处进行随机存取:解码CRA图片、与CRA图片相关联的不相依于在解码次序中在CRA图片之前的任何图片的前导图片,及在解码及输出次序两者中在CRA之后的所有相关联图片。在一些状况下,CRA图片可不具有相关联前导图片。在多层状况下,属于具有大于0的层ID的层的IDR或CRA图片可为P图片或B图片,但这些图片可仅使用来自术语与IDR或CRA图片相同的存取单元的且具有小于含有IDR或CRA图片的层的层ID的其它图片的层间预测。
IRAP图片提供将位流拼接在一起的能力。举例来说,编码器、位流编辑器(或“编辑器”)、拼接器或其它网络装置可使用IRAP图片将位流拼接在一起。位流拼接允许从一个经压缩视频位流无缝切换到另一经压缩视频位流。举例来说,通过用第二经压缩位流的第二IRAP AU及后续AU来替换第一经压缩位流的第一IRAP AU及所有后续AU来发生拼接。CRA图片可用于拼接经压缩视频位流(如先前所描述,除随机存取外)。举例来说,第一IRAP AU及第二IRAP AU可包含CRA图片。在一些实施例中,IDR图片可用于拼接经压缩视频位流。在一些状况下,第一AU应含有IRAP图片并非必需的。在多层位流中,当第二AU含有属于基础层的IRAP图片时可发生拼接。
在一些状况下,在拼接发生之后,在解码次序中在CRA图片之后的RASL图片在RASL图片参考在拼接之后不再位于位流中的一或多个图片的情况中不可解码。在一些实例中,编码器、编辑器、拼接器或其它装置可在拼接期间丢弃RASL图片。在其它实例中,断链拼接选项可用于指示图片次序计数时间线,以及从在RASL图片可相依于的CRA图片(在解码次序中)之前的图片非预测在拼接进行时中断。
第三类型的IRAP图片(称作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单元类型改变成BLANAL单元类型。在此例子中,装置改变位流的位以改变NAL单元类型。
在另一实例中,可提供向解码器指示CRA图片将被处置为BLA图片的BLA旗标。在一个实例中,BLA旗标可HandleCraAsBlaFlag。BLA旗标可经设置为特定值以告知解码器将特定CRA图片处置为BLA图片。在一些实施例中,BLA旗标可经设置为值1以向解码器指示CRA图片将被处置为BLA图片。在BLA旗标的值为0的情况下,解码器将把CRA图片处理为CRA图片(且非BLA图片)。在其它实施例中,BLA旗标可经设置为值0以指示CRA图片将被处置为BLA图片。在一些状况下,BLA旗标是随经编码视频位流带内发送(例如,由一或多个非VCL NAL单元中的HEVC编解码器发送)。在一些状况下,BLA旗标为可由除提供经编码视频位流的编解码器外的装置发送的外部规定的指示。举例来说,外部源(例如,AVC编解码器、编辑器、拼接器或其它装置)可以带外通信发送BLA旗标。
图3说明具有BLA旗标的经编码视频位流300的实例。经编码视频位流300包含存取单元N到N+9。存取单元N到N+9在第一层L0(例如,具有层ID=0)及第二层L1(例如,具有层ID=1)包含各种图片。在一些实施例中,第一层L0可包含基础层,且第二层L1可包含增强层。存取单元N到N+9是以解码次序进行说明,如由箭头302所指示。存取单元N、N+1、N+2、N+5、N+7、N+8及N+9含有层L0及L1两者中的尾部图片。存取单元N+3及N+4在层L0中包含前导图片且在层L1中包含尾部图片。前导图片可包含RASL图片。存取单元N+6在层0中包含尾部图片且在层L1中包含CRA图片。存取单元N+2在层L0中包含具有经设定为值1的BLA旗标的CRA图片且在层L1中包含尾部图片。在接收并解码位流300时,解码器可将N+2存取单元中的CRA图片处理为BLA图片。
重新初始化旗标可向解码器指示在IRAP AU的特定IRAP图片处刷新或重新初始化解码过程。在一个实例中,重新初始化旗标可为NoClrasOutputFlag。在一些实施例中,重新初始化旗标可致使跨越经编码视频位流的所有层重新初始化解码。可将重新初始化旗标导出为向解码器指示重新初始化解码过程的特定值。在一些实施例中,用于重新初始化旗标的值1可向解码器指示将重新初始化解码过程。在重新初始化旗标的值由解码器导出为0的情况下,解码器将继续参考在解码次序中较早出现且在IRAP AU之前经解码的图片(例如,当解码RASL图片、跨层RASL图片,或其类似者时)。在其它实施例中,用于重新初始化旗标的值0可指示将重新初始化解码。在一些状况下,重新初始化旗标可由解码器导出作为解码过程的部分。举例来说,重新初始化旗标可经提供在经编码视频位流中。在一些状况下,重新初始化旗标可由外部源规定到解码器。举例来说,重新初始化旗标可独立于经编码视频位流以带外通信提供。外部源可包含编码器(使用除HEVC协议外的编码协议)、解码器(使用除HEVC协议外的编码协议)、编辑器、拼接器,或提供重新初始化旗标的其它网络装置。在一个实例中,解码器(使用除HEVC协议外的编码协议)可解码重新初始化旗标,且可将重新初始化旗标提供到HEVC解码器。
解码器可确定重新初始化旗标的值,且可基于所确定值而重新初始化解码过程。解码器可通过以下步骤来重新初始化解码过程:开始新预测边界,以在IRAP AU处的图片开始且以在解码次序中在IRAP AU之后的图片继续。在一些状况下,在解码次序中在IRAP AU之前的图片在重新初始化解码过程之后不可用于供参考。举例来说,解码器可在IRAP AU处重新初始化解码过程且丢弃在解码次序中在IRAP AU之前的所有图片。在其它状况下,至少部分地通过丢弃一或多个RASL图片或一或多个跨层随机存取跳过前导(CL-RAS)图片来执行重新初始化。CL-RAS图片为与IRAP AU相关联且属于具有大于0的层ID的层(除基础层外的层)的图片。在一些状况下,当解码从IRAP AU开始或重新初始化时,CL-RAS图片可不能正确解码。CL-RAS图片在此些状况下可不能正确解码,此是因为这些图片中的一或多者可参考(直接地或间接地)在解码次序中在IRAP AU之前且因此不可用的图片。
在一些实施例中,当BLA旗标经设置为指示属于基础层的CRA图片将被处置为BLA图片(如图3中所说明)的值时,重新初始化旗标由解码器导出为指示在含有经处理为BLA图片的CRA图片的IRAP AU处重新初始化解码过程的值。举例来说,在确定存取单元N+2包含具有经设置为1的BLA旗标的CRA图片(向解码器指示将CRA图片处置为BLA图片)时,解码器将在N+2存取单元处将重新初始化旗标导出为等于1。在此些实施例中,解码器将基于CRA图片的BLA旗标被设置为1的确定而在N+2存取单元处重新初始化解码过程。
在一些实施例中,AU可含有序列结束(EOS)NAL单元。在一些实例中,可将EOS NAL单元插入到位流中以指示NAL单元作为特定CVS的最后NAL单元。在一些实例中,可在具体层基础上使用EOS NAL单元。在此些实例中,EOS NAL单元可经指派层识别符(ID)。经指派特定层ID的EOS NAL单元用于指示NAL单元作为层ID也被指派到特定层的序列的结束。在一些状况下,紧在具有EOS NAL单元的存取单元之后的存取单元含有IRAP图片。
图4说明具有EOS NAL单元及在解码次序中在EOS NAL单元之后的CRA图片的经编码视频位流400的实例。经编码视频位流400包含存取单元N到N+9。存取单元N到N+9在第一层L0(例如,具有层ID=0)及第二层L1(例如,具有层ID=1)包含各种图片。在一些实施例中,第一层L0可包含基础层,且第二层L1可包含增强层。存取单元N到N+9是以解码次序进行说明,如由箭头402所指示。存取单元N、N+1、N+5、N+7、N+8及N+9含有层L0及L1两者中的尾部图片。存取单元N+3及N+4在层L0中包含前导图片且在层L1中包含尾部图片。前导图片可包含RASL图片。存取单元N+2在层L0中包含CRA图片且在层L1中包含尾部图片。存取单元N+6在层L0中包含尾部图片且在层L1中包含CRA图片。除了存取单元N+1中的尾部图片外,还将EOSNAL单元插入到存取单元N+1中以指示NAL单元序列的结束(例如,整个CVS的结束,或层L0的序列的结束)。
图5说明具有EOS NAL单元及在解码次序中在EOS NAL单元之后的IDR图片的经编码视频位流500的另一实例。经编码视频位流500包含存取单元N到N+9。存取单元N到N+9在第一层L0(例如,具有层ID=0)及第二层L1(例如,具有层ID=1)包含各种图片。在一些实施例中,第一层L0可包含基础层,且第二层L1可包含增强层。存取单元N到N+9是以解码次序进行说明,如由箭头502所指示。存取单元N、N+1、N+3、N+4、N+8及N+9含有层L0及L1两者中的尾部图片。存取单元N+6及N+7在层L0中包含尾部图片且在层L1中包含前导图片。前导图片可包含RASL图片。存取单元N+2在层L0中包含IDR图片且在层L1中包含尾部图片。存取单元N+5在层L0中包含尾部图片且在层L1中包含CRA图片。除了存取单元N+1中的尾部图片外,还将EOS NAL单元插入到存取单元N+1中以指示NAL单元序列的结束(例如,整个CVS的结束,或层L0的序列的结束)。
在EOS NAL单元之后的IRAP图片应被处理为新解码过程的开始,且重新初始化旗标应被导出为指示解码将经重新初始化的值。然而,根据HEVC标准,当IRAP图片(例如,CRA图片或IDR图片)在EOS NAL单元之后时,重新初始化旗标未被解码器导出为等于1。举例来说,如上文关于图3所描述,当具有层ID(例如,nuh_layer_id)等于0的CRA图片具有值为1的BLA旗标,将重新初始化旗标导出为等于1。然而,如图4及图5中所说明,当具有层ID等于0的CRA图片或IDR图片为在解码次序中继EOS NAL单元之后的第一图片(如由存取单元N+2的CRA图片所说明),针对CRA图片或IDR图片,重新初始化旗标的值为被导出为等于1。
此外,使用EOS NAL单元的一个目的为指示时间预测链的终止。举例来说,如图5中所说明,N+1存取单元中的EOS NAL单元实现位流500中的拼接点的指示。在一些实例中,N+2存取单元中的IDR图片的旗标的值可经设置以指示拼接点。然而,如果旗标未经设置成指示重新初始化层,且重新初始化旗标未经导出为等于指示将重新初始化解码的值(其未跟进当前HEVC标准),那么时间预测链将未被解码器重新初始化。
本文中所描述的实施例包含:修改解码过程使得当IRAP图片在EOS NAL单元之后时,解码器将导出重新初始化旗标为指示在IRAP图片处重新初始化解码的值。IRAP图可包含CRA图片(如图4中所展示)或IDR图片(如图5中所展示)。解码器可跨越在含有在解码次序中在EOS NAL单元之后的IRAP图片的存取单元处开始的层中的一些或全部层重新初始化解码。
在一些实例中,针对为在解码次序中继EOS NAL单元之后的第一图片的CRA图片,重新初始化旗标的值经导出为等于1(指示解码过程的重新初始化)。在一些状况下,针对为在解码次序中继EOS NAL单元之后的第一图片的具有等于0的层ID的CRA图片,重新初始化旗标的值可被导出为1。在此些实例中,经含于在解码次序中在EOS NAL单元之后的第一IRAP AU中的CRA图片(例如,针对任何层ID或具有等于0的层ID)及具有等于1的BLA旗标的CRA图片将由解码器以与解码器处置BLA图片相同的方式处置。在一些实例中,可针对所有层重新初始化解码。在其它实例中,可仅针对具有等于或高于CRA图片的层ID的层ID的层重新初始化解码。
使用图4作为实例,存取单元N+2中的CRA图片为在解码次序中在存取单元N+1的EOS NAL单元之后的第一图片。解码器可确定存取单元N+2含有CRA图片,且存取单元N+2包含在解码次序中继EOS NAL单元之后的第一图片。解码器可接着将CRA图片的重新初始化旗标导出为指示在CRA图片处重新初始化解码的值(例如,值1)。在一些实施例中,解码器可进一步以决策为基础以基于CRA图片具有等于0的层ID(指示其位于基础层L0中)而导出重新初始化旗标的值。在此些实施例中,在CRA图片具有等于除0外的数目的层ID(例如,一或多个增强层中的CRA图片)的情况下,解码器可不针对在解码次序中在EOS NAL单元之后的CRA图片将重新初始化旗标的值导出为1(或指示将重新初始化解码的值)。
在一些实例中,当在解码次序中在EOS NAL单元(其可指示拼接点)之后的第一存取单元为含有IDR图片的IRAP存取单元时,将针对IDR图片的重新初始化旗标的值导出为等于1(指示解码过程的重新初始化)。在一些状况下,针对为在解码次序中在EOS NAL单元之后的第一存取单元的具有等于0的层ID的IDR图片,将重新初始化旗标的值带出为等于1。在一些实例中,当将重新初始化旗标导出为等于1时,可针对所有层重新初始化解码。在其它实例中,可仅针对具有等于或高于IDR图片的层ID的层ID的层,重新初始化解码。
参考图5作为实例,存取单元N+2含有IDR图片且为在解码次序中在存取单元N+1的EOS NAL单元之后的第一存取单元。解码器可确定存取单元N+2含有IDR图片,且存取单元N+2包含在解码次序中继EOS NAL单元之后的第一图片。解码器可接着将IDR图片的重新初始化旗标导出为指示在IDR图片处重新初始化解码的值(例如,值1)。在一些实施例中,解码器可进一步以决策为基础以基于IDR图片具有等于0的层ID(指示其位于基础层L0中)而导出重新初始化的值。在此些实施例中,在IDR图片具有等于除0外的数目的层ID(例如,一或多个增强层中的IDR图片)的情况下,解码器可不针对在解码次序中在EOS NAL单元之后的IDR图片将重新初始化旗标的值导出为1(或指示将重新初始化解码的值)。
实施上文所描述技术的HEVC标准的改变的实例可包含:
在当前图片为IRAP图片且具有等于0的nuh_layer_id时,以下各项适用:
变量NoClrasOutputFlag经如下规定:
如果当前图片为位流中的第一图片,那么NoClrasOutputFlag经设置为等于1。
另外,如果当前图片为具有等于1的HandleCraAsBlaFlag的BLA图片或CRA图片,那么NoClrasOutputFlag经设置为等于1。
另外,如果当前图片为CRA图片且当前存取单元为在解码次序中在序列结束NAL单元之后的第一存取单元,那么NoClrasOutputFlag经设置成等于1。
另外,如果当前图片为具有cross_layer_bla_flag等于1的IDR图片,那么NoClrasOutputFlag经设置成等于1。
另外,如果一些外部装置(本说明书中未规定)可用于设置NoClrasOutputFlag,那么NoClrasOutputFlag是由外部装置设置。
否则,NoClrasOutputFlag经设置成等于0。
当NoClrasOutputFlag等于1时,变量LayerInitializedFlag[i]针对i从0到vps_max_layer_id的所有值(包括0、vps_max_layer_id)经设置成等于0,且变量FirstPicInLayerDecodedFlag[i]针对i从0到vps_max_layer_id的所有值(包括0、vps_max_layer_id)经设置成等于0。
替代地,NoClrasOutputFlag的导出经修改如下:
在当前图片为IRAP图片且具有等于0的nuh_layer_id时,以下各项适用:
变量NoClrasOutputFlag经如下规定:
如果当前图片为位流中的第一图片,那么NoClrasOutputFlag经设置为等于1。
另外,如果当前图片为具有等于1的HandleCraAsBlaFlag的BLA图片或CRA图片,那么NoClrasOutputFlag经设置为等于1。
另外,如果当前图片为IRAP图片且当前存取单元为在解码次序中在序列结束NAL单元之后的第一存取单元,那么NoClrasOutputFlag经设置成等于1。
另外,如果当前图片为具有cross_layer_bla_flag等于1的IDR图片,那么NoClrasOutputFlag经设置成等于1。
另外,如果一些外部装置(本说明书中未规定)可用于设置NoClrasOutputFlag,那么NoClrasOutputFlag是由外部装置设置。
否则,NoClrasOutputFlag经设置成等于0。
替代地,HandleCraAsBlaFlag的导出经修改如下:
在当前图片为IRAP图片时,如以下规定而导出变量HandleCraAsBlaFlag:
如果当前图片为CRA图片且为在解码次序中在序列结束NAL单元之后的第一图片,那么变量HandleCraAsBlaFlag经设置成等于1。
另外,如果本说明书中未规定的一些外部装置可用于将变量HandleCraAsBlaFlag设置成针对当前图片的值,那么变量HandleCraAsBlaFlag经设置成等于由外部装置提供的值。
否则,变量HandleCraAsBlaFlag经设置成等于0。
图6说明解码视频数据的过程600的实施例。过程600经实施以鉴于序列结束网络抽象层单元而重新初始化解码。在一些方面中,过程600可由计算装置或设备(例如,图1或图10中所展示的解码装置112)执行。举例来说,计算装置或设备可包含解码器,或处理器、微处理器、微计算机,或经配置以实施过程600的步骤的解码器的其它组件。
过程600经说明为逻辑流程图,其操作表示可以硬件、计算机指令或其组合实施的一系列操作。在计算机指令的背景下,操作表示在由一或多个处理器执行时执行所述操作的经存储在一或多个计算可读存储媒体上的计算机可执行指令。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构及其类似者。描述操作的次序并非意欲解释为限制性,且所描述操作中的任何数目者可以任何次序及/或并行组合以实施过程。
另外,过程600可在经配置有可执行指令的一或多个计算机系统的控制下执行,且可经实施为在一或多个处理器上、通过硬件或其组合来共同执行的代码(例如,可执行指令、一或多个计算机程序,或一或多个应用程序)。如上文所述,代码可经存储在计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序形式。计算机可读或机器可读存储媒体可为非暂时性的。
在602处,解码视频数据的过程600包含:存取包括多个层的经编码视频位流。所述经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且其中第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元。在一些实例中,经编码视频位流包含图4中所展示的位流400。在此些实例中,第一存取单元包含N+1存取单元,第二存取单元包含N+2存取单元,且所述第二存取单元的所述帧内随机存取点图片包含整洁随机存取(CRA)图片。在一些实例中,经编码视频位流包含图5中所展示的位流500。在此些实例中,第一存取单元包含N+1存取单元,第二存取单元包含N+2存取单元,且所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新(IDR)图片。所属领域的技术人员将了解,除本文中所描述的那些外,经编码视频位流还可包含经编码视频位流。
在604处,过程600包含:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。在一些实施例中,过程600可包含:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述多个层中的每一者的解码。举例来说,将针对所述经编码视频位流的所述层的全部重新初始化解码。
在一些实施例中,所述第一存取单元包含在所述经编码视频位流的基础层中的所述序列结束网络抽象层单元且所述第二存取单元包含在所述基础层中的所述帧内随机存取点图片。在这些实施例中,基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在一些实施例中,当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标(例如,重新初始化旗标)设置或导出为一值。所述旗标的所述值指示在所述第二存取单元处重新初始化解码。在一些实例中,旗标包含NoClrasOutputFlag且所述值为值1。在一些实例中,所述值为值0。
在一些实施例中,在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
图7说明处理视频数据的过程700的实施例。过程700经实施以产生包含序列结束网络抽象层单元的经编码视频位流使得在解码器处重新初始化解码过程。在一些方面中,过程700可由计算装置或设备(例如,位流编码器、位流拼接器,或编码器(例如,图1或图9中所展示的编码装置104))执行。举例来说,计算装置或设备可包含位流编码器、位流拼接器,编码器,或处理器、微处理器、微计算机,或经配置以实施过程700的步骤的此些装置的其它组件。
过程700经说明为逻辑流程图,其操作表示可以硬件、计算机指令或其组合实施的一系列操作。在计算机指令的背景下,操作表示在由一或多个处理器执行时执行所述操作的经存储在一或多个计算可读存储媒体上的计算机可执行指令。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构及其类似者。描述操作的次序并非意欲解释为限制性,且所描述操作中的任何数目者可以任何次序及/或并行组合以实施过程。
另外,过程700可在经配置有可执行指令的一或多个计算机系统的控制下执行,且可经实施为在一或多个处理器上、通过硬件或其组合来共同执行的代码(例如,可执行指令、一或多个计算机程序,或一或多个应用程序)。如上文所述,代码可经存储在计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序形式。计算机可读或机器可读存储媒体可为非暂时性的。
在702处,处理视频数据的过程700包含:获得包括多个层的第一经编码视频位流,所述第一经编码视频位流包含多个存取单元。可使用例如HEVC、AVC、MPEG或其它适当视频编码技术的编码技术来对所述第一经编码视频位流进行编码。
在704处,过程700包含:获得包括多个层的第二经编码视频位流,所述第二经编码视频位流包含多个存取单元。可使用例如HEVC、AVC、MPEG或其它适当视频编码技术的编码技术来对所述第二经编码视频位流进行编码。
在706处,过程700包含:通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流。所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元。在一些实例中,可通过在第一经编码视频位流及第二经编码视频位流的帧内随机存取点图片处将第一经编码视频位流及第二经编码视频位流拼接在一起来产生第三经编码视频位流。举例来说,可通过用第二经编码视频位流的含有帧内随机存取点图片的第二存取单元及后续存取单元来替换第一经编码视频位流的含有帧内随机存取点图片的存取单元及所有后续存取单元而发生拼接。过程700将序列结束网络抽象层单元插入到第一存取单元中使得将在第二存取单元处重新初始化对第三经编码视频位流的解码。将基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元而发生解码重新初始化。
在一些实施例中,产生所述第三经编码视频位流包含:确定将解码所述第三经编码视频位流,所述第三编码位流包含在所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元,接着是在所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元。产生所述第三经编码视频位流进一步包含:确定将在包含所述帧内随机存取点图片的所述第二存取单元处重新初始化对所述第二经编码视频位流的解码,及通过组合所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元与所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元,且通过将所述序列结束网络抽象层单元插入到所述第一存取单元中,产生所述第三经编码视频位流。
在708处,过程700包含:发射所述第三经编码视频位流,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。在一些实施例中,基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的多个层中的每一层的解码。举例来说,将针对所述经编码视频位流的所述层的全部重新初始化解码。
在一些实施例中,所述第一经编码视频位流及所述第二经编码视频位流为经拼接在一起的单独经编码视频位流,如上文所描述。在一些实施例中,所述第一经编码视频位流及所述第二经编码视频位流为相同经编码视频位流,且所述第二存取单元为在解码次序中在所述相同经编码视频位流中的所述第一存取单元之后的后续存取单元。举例来说,第一经编码视频位流可为位流从时间t1到时间t3的第一部分,且第二经编码视频位流可为相同位流从时间t2到t4的第二部分,其中t1<t2<t3<t4。举例来说,当用户在经编码视频位流中在时间上往回寻找到时间t2时,可将第一部分及第二部分拼接或拼接在一起。举例来说,可通过用在时间t2处含有帧内随机存取点图片的存取单元及后续存取单元替换在时间t3处含有帧内随机存取点图片及所有后续存取单元来拼接经编码视频位流的第一部分及第二部分。
在一些实施例中,第二存取单元的帧内随机存取点图片包含瞬时解码刷新图片。在一些实施例中,第二存取单元的帧内随机存取点图片包含整洁随机存取图片。
在一些实施例中,将所述序列结束网络抽象层单元插入到所述第三经编码视频位流的基础层中的所述第一存取单元中且所述第二存取单元包含所述基础层中的所述帧内随机存取点图片。在这些实施例中,基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
在一些实施例中,当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标(例如,重新初始化旗标)设置成一值。所述旗标的所述值指示在所述第二存取单元处重新初始化解码。在一些实例中,旗标包含NoClrasOutputFlag且所述值为值1。在一些实例中,所述值为值0。
在一些实施例中,在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
使用上文所描述的使用序列结束网络抽象层单元的技术,由解码器使用的解码过程可经修改以在经编码视频位流的某些部分处更有效地重新初始化解码。举例来说,解码过程经修改(例如,导出重新初始化旗标)使得对为在解码次序中在EOS NAL单元之后的第一图片的CRA图片的解码经类似定义为具有等于1(或指示CRA图片将被处置为BLA图片的其它值)的BLA旗标的CRA图片。此外,解码过程经修改使得于在解码次序中在含有EOS NAL单元的存取单元之后的存取单元处重新初始化对所有层的解码(例如,重新初始化旗标经设置成等于1)。此些修改通过以下步骤简化拼接操作:不需要系统实体改变位流中的任何语法元素,且不需要用于此目的的外部装置提供任何旗标。
在其它实施例中,描述用于修改解码过程的技术及系统使得仅在某些情况中将RASL旗标的值导出为特定值。在一些实例中,IRAP图片可具有对应RASL旗标(例如,NoRaslOutputFlag)。当IRAP图片具有等于1的RASL旗标,与所述IRAP相关联的RASL图片未经输出且不可正确地解码,这是因为RASL图片可含有对不存在于位流中的图片的参考(例如,在拼接、随机存取或其它功能之后,致使图片不再存在于位流中)。在一些状况下,RASL旗标可经设置为0以指示RASL图片不可正确解码。
图8说明具有EOS NAL单元及在解码次序中在EOS NAL单元之后的IDR图片的经编码视频位流800的实例。经编码视频位流800包含存取单元N到N+9。存取单元N到N+9在第一层L0(例如,具有层ID=0)及第二层L1(例如,具有层ID=1)包含各种图片。在一些实施例中,第一层L0可包含基础层,且第二层L1可包含增强层。存取单元N到N+9是以解码次序进行说明,如由箭头802所指示。存取单元N、N+1、N+8及N+9在层L0及L1两者中含有尾部图片。存取单元N+3及N+4在层L0中含有尾部图片且在层L1中不含有任何图片。存取单元N+6及N+7在层L0中包含尾部图片且在层L1中包含前导图片。前导图片可包含RASL图片或RADL图片。存取单元N+2在层L0中包含IDR图片且在层L1中不包含任何图片。在一些实例中,存取单元N+2可包含不同IRAP图片,例如,CRA图片或BLA图片。存取单元N+5在层0中包含尾部图片且在层L1中包含CRA图片。除了存取单元N+1中的尾部图片外,还将EOS NAL单元插入到存取单元N+1中以指示NAL单元序列的结束(例如,整个CVS的结束,或层L0的序列的结束)。
在一些实例中,当具有特定层ID的当前图片为IDR图片、BLA图片、在解码次序中在位流中的具有特定层ID的第一图片,或在解码次序中在EOS NAL单元之后的具有所述特定层ID的第一图片,RASL旗标可被设置为1(例如,由解码器导出为值1)。根据HEVC标准,EOSNAL单元影响在解码次序中继EOS NAL单元之后的第一存取单元中的图片的解码,且还影响继第一存取单元之后的后续存取单元。举例来说,如果特定层的IRAP图片为在EOS NAL单元之后的所述层中的第一图片,那么甚至在所述IRAP图片被含于在解码次序中并非紧在EOSNAL单元之后的存取单元中时所述图片的RASL旗标仍等于1。举例来说,在图8中所说明的位流800中,EOS存在于存取单元N+1中致使存取单元N+5中的CRA图片具有等于1的RASL旗标。
本文中描述用于将EOS NAL单元限制于紧直接影响在EOS NAL单元之后的第一后续存取单元中的图片的解码的实施例。举例来说,解码过程经修改(例如,导出RASL旗标)使得EOS NAL单元直接影响仅属于在解码次序中在含有EOS NAL单元的存取单元之后的第一存取单元的那些图片的解码。举例来说,仅针对在解码次序中在含有EOS NAL单元的存取单元之后的下一后续存取单元,将RASL旗标导出为1。因此,仅与下一后续存取单元相关联的RASL图片被指示为不可正确地解码。在一些实施例中,解码过程经修改(例如,导出RASL旗标)使得EOS NAL单元直接影响仅属于在解码次序中在含有EOS NAL单元的存取单元之后的第一存取单元的具有等于0的层ID的图片(例如,基础层)的解码。
使用图8作为实例,对EOS NAL单元的限制有效,这是因为如果存取单元M+2并非拼接点(例如,两个位流经拼接在一起的点,相同位流的两个部分经拼接在一起的点,或其类似者),可正确地解码存取单元N+6及N+7处的RASL图片(例如,N+6及N+7存取单元中的前导图片可被标记为RADL图片)。在AU N+2为拼接点的状况下,基于HEVC标准中的LayerInitializedFlag的RASL旗标的当前导出确保存取单元N+5中的CRA图片具有经导出为等于1的RASL旗标。
实施与RASL旗标有关的上文所描述技术的HEVC标准的改变的实例可包含:
在当前图片为IRAP图片时,以下各项适用:
如果具有特定值nuh_layer_id的当前图片为IDR图片、BLA图片、在解码次序中在位流中的具有所述特定值nuh_layer_id的第一图片,或含有具有所述特定值nuh_layer_id的图片的存取单元为在解码次序中在序列结束NAL单元之后的第一存取单元,那么变量NoRaslOutputFlag经设置成等于1。
另外,如果针对refLayerId的所有值等于RefLayerId[nuh_layer_id][j],LayerInitializedFlag[nuh_layer_id]等于0且LayerInitializedFlag[refLayerId]等于1,其中j在0到NumDirectRefLayers[nuh_layer_id]-1(包含0、NumDirectRefLayers[nuh_layer_id]-1)范围中,变量NoRaslOutputFlag经设置成等于1。
否则,变量NoRaslOutputFlag经设置成等于HandleCraAsBlaFlag。
本文中所论述的编码结束可实施于实例视频编码及解码系统(例如,系统100)中。系统包含源装置,所述源装置提供经编码视频数据以稍后由目的地装置进行解码。特定来说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓“智能”电话)、所谓“智能”垫、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置,或其类似者。在一些状况下,源装置及目的地装置可经配备以供无线通信。
目的地装置可接收经编码视频数据以经由计算机可读媒体进行解码。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接发射到目的地装置。可根据通信标准(例如,无线通信协议)来调制经编码视频数据,并将其发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于数据包的网络的部分,例如局域网、广域网或例如因特网的全球网。通信媒体可包含路由器、交换机、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。
在一些实例中,可将编码数据从输出接口输出到存储装置。类似地,可通过输入接口从存储装置存取编码数据。存储装置可包含各种分布式或本地存取数据存储媒体中的任何者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它适于存储经编码视频数据的数字存储媒体。在又一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式处理或下载从存储装置存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等),或适于存取存储于文件服务器上的经编码视频数据的两者的组合。来自存储装置的经编码视频数据的发射可为流式发射、下载发射或其组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于支持各种多媒体应用中的任何者的视频编码,例如无线电视广播、有线电视发射、卫星电视发射、因特网流式视频发射,例如经由HTTP的动态自适应流化(DASH)、经编码到数据存储媒体上的数字视频、对存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射以支持例如视频流化、视频播放、视频广播及/或视频电话的应用。
在一个实例中,源装置包含视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示装置。源装置的视频编码器可经配置以应用本文中所揭示的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。同样地,目的地装置可与外部显示装置介接,而非包含集成式显示装置。
上述实例系统仅为一个实例。用于并行处理视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术通常由视频编码装置执行,但技术也可由视频编码器/解码器(通常称作为“CODEC”)执行。此外,本发明的技术也可由视频预处理器执行。源装置及目的地装置仅为其中源装置产生经编码视频数据以供发射到目的地装置的此些编码装置的实例。在一些实例中,源装置及目的地装置可以基本上对称方式操作使得装置中的每一者包含视频编码及解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如,用于视频流化、视频播放、视频广播或视频电话。
视频源可包含视频捕获装置,例如视频相机、含有先前所捕获视频的视频存档,及/或用以从视频内容提供器接收视频的视频馈送接口。作为又一替代方案,视频源可产生基于计算机图形数据作为源视频,或直播视频、经存档视频及计算机产生视频的组合。在一些状况下,如果视频源为视频相机,那么源装置及目的地装置可形成所谓相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术通常可应用于视频编码,且可应用于无线及/或有线应用。在每一状况下,所捕获、预捕获或计算机产生视频可由视频编码器进行编码。可接着通过输出接口将经编码视频信息输出到计算机可读媒体上。
如所述,计算机可读媒体可包含瞬时媒体,例如无线广播或有线网络发射);或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动、光盘、数字视频光盘、蓝光光盘,或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置接收经编码视频数据且将经编码视频数据提供到目的地装置,例如,经由网络发射。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可被理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息,所述语法信息也由视频解码器使用,其包含描述块及其它经编码单元(例如,图片组(GOP))的特性及/或处理的语法元素。显示装置向用户显示经解码视频数据,且可包括各种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。
图9及图10中分别展示编码装置104及解码装置112的具体细节。图9为说明可实施本发明中所描述的技术中的一或多者的实例编码装置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)滤波器。尽管滤波器单元63在图9中经展示为在环路滤波器中,但在其它配置中,滤波器单元63可经实施为后环路滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术可在一些例项中由编码装置104实施。然而,在其它例子中,可通过后处理装置57实施本发明的技术中的一或多者。
如图9中所展示,编码装置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中的参考图片的分段整数(sub-integer)像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索且输出具有分数像素精度的运动矢量。
运动估计单元42通过将帧间编码切片中的视频块的PU的位置与参考图片的预测块的位置进行比较来计算所述PU的运动矢量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储在图片存储器64中的一或多个参考图片。运动估计单元42将所计算运动矢量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及:基于由运动估计确定的运动矢量而提取或产生预测块,可能对子像素精度执行插值。在接收到关于当前视频块的PU的运动矢量时,运动补偿单元44可将运动矢量指向的预测块定位于参考图片列表中。编码装置104通过将预测块的像素值从所编码的当前视频块的像素值减去从而形成像素差值来形成残余视频块。像素差值形成块的残余数据,且可包含明度及色度差分量。加法器50表示执行此减法运算的(多个)组件。运动补偿单元44还可产生与在解码视频切片的视频块中供解码装置112使用的视频块及视频切片相关联的语法元素。
帧内预测处理单元46可帧内预测当前块,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,如上文所描述。特定来说,帧内预测处理单元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用作参考块以对随后视频帧或图片中的块进行帧间预测。
以此方式,图9的编码装置104表示经配置以产生经编码视频位流的语法的视频编码器的实例。举例来说,编码装置104可如上文所描述产生VPS、SPS及PPS参数集。编码装置104可执行本文中所描述的技术中的任何者,包含上文关于图6及图7所描述的过程。已描述已关于编码装置104的本发明的技术,但如上文所提及,本发明的技术中的一些还可由后处理装置57实施。
图10为说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、加法器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。解码装置112可在一些实例中,执行通常与关于来自图9的编码装置104所描述的编码遍次成倒数的解码遍次。
在解码过程期间,解码装置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)滤波器。尽管滤波器单元91在图10中经展示为在环路滤波器中,但在其它配置中,滤波器单元91可经实施为后环路滤波器。接着将给定帧或图片中的经解码视频块存储在参考图片存储器92中,所述参考图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频供稍后在显示装置(例如,图1中所展示的视频目的地装置122)上呈现。
在前述描述中,参考其具体实施例描述应用的方面,但所属领域的技术人员将认识到本发明并不限于其。因此,虽然本文中已详细地描述应用的说明性实施例,但应理解发明性概念可另外以不同方式体现及使用,且所附权利要求书意欲被解释为包含此些变化,除由现有技术限制。上文所描述本发明的各种特征及方面可单独地或共同地使用。此外,实施例可用于除本文中所描述的那些外的任何数目个环境及应用而不脱离本说明书的较广泛精神及范围。因此,说明书及图式应视为说明性而非限制性。出于说明的目的,方法是以特定次序进行描述。应了解,在替代实施例中,方法可以不同于所描述的次序的次序来执行。
在组件经描述为“经配置以”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行操作或其任何组合来完成此配置。
结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件、固件或其组合。为清楚地说明硬件及软件的此可互换性,上文通常已就其功能性方面描述了各种说明性组件、块、模块、电路及步骤。此功能性是实施为硬件还是软件取决于强加于整个系统的特定应用及设计约束。虽然所属领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但不应将此些实施方案决策解释为导致对本发明的范围的脱离。
本文中所描述的技术还可以电子硬件、计算机软件、固件或其任一组合来实施。此些结束可以各种装置中的任一者实施,例如通用计算机、无线通信装置收集,或具有多个用途(包含无线通信装置收集及其它装置中的应用)的集成电路装置。经描述为模块或组件的任何特征可一起实施于集成逻辑装置中或单独地实施为离散但可集成逻辑装置。如果以软件实施,那么技术可至少部分地由包括程式代码的计算机可读数据存储媒体实现,所述程式代码在被执行时执行上文所描述的方法中的一或多者。计算机可读数据存储媒体可形成可包含包装材料的计算机程式产品的部分。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁性或光学数据存储媒体,及其类似者。技术另外或替代地可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体运载或传递呈可由计算机存取、读取及/或执行的指令或数据结构形式的程式代码,例如,经传播信号或波。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任何者。通用处理器可为微处理器,但在替代方案中,处理器可为任一常规处理器、控制器、微控制器或状态机。还可将处理器实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任一其它此类配置。因此,如本文中所使用的术语“处理器”可是指前述结构、前述结构的任何组合或适于实施本文中所描述的技术的任何其它结构或设备中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在经配置以用于编码及解码或并入于组合式视频编码解码器(CODEC)中的专用软件模块或硬件模块内。
Claims (30)
1.一种解码视频数据的方法,所述方法包括:
存取包括多个层的经编码视频位流,所述经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且其中第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元;及
基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
2.根据权利要求1所述的方法,其进一步包括:基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述多个层中的每一者的解码。
3.根据权利要求1所述的方法,其中所述第一存取单元包含在所述经编码视频位流的基础层中的所述序列结束网络抽象层单元且所述第二存取单元包含在所述基础层中的所述帧内随机存取点图片,且其中基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
4.根据权利要求1所述的方法,其中所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新图片。
5.根据权利要求1所述的方法,其中所述第二存取单元的所述帧内随机存取点图片包含整洁随机存取图片。
6.根据权利要求1所述的方法,其中当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标设置成一值,所述值指示将在所述第二存取单元处重新初始化所述解码。
7.根据权利要求6所述的方法,其中所述旗标包含NoClrasOutputFlag且所述值为值1。
8.根据权利要求1所述的方法,其中在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
9.一种设备,其包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以:
从所述存储器存取包括多个层的经编码视频位流,所述经编码视频位流包含多个存取单元,其中第一存取单元包含序列结束网络抽象层单元,且其中第二存取单元包含帧内随机存取点图片且为在解码次序中在所述第一存取单元之后的下一后续存取单元;及
基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
10.根据权利要求9所述的设备,其中所述处理器经配置以基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元而在所述第二存取单元处重新初始化对所述多个层中的每一者的解码。
11.根据权利要求9所述的设备,其中所述第一存取单元包含在所述经编码视频位流的基础层中的所述序列结束网络抽象层单元且所述第二存取单元包含在所述基础层中的所述帧内随机存取点图片,且其中基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
12.根据权利要求9所述的设备,其中所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新图片或整洁随机存取图片中的至少一或多者。
13.根据权利要求9所述的设备,其中当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标设置成一值,所述值指示将在所述第二存取单元处重新初始化所述解码。
14.根据权利要求9所述的设备,其中在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
15.一种处理视频数据的方法,所述方法包括:
获得包括多个层的第一经编码视频位流,所述第一经编码视频位流包含多个存取单元;
获得包括多个层的第二经编码视频位流,所述第二经编码视频位流包含多个存取单元;
通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流,其中所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有所述序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元;及
发射所述第三经编码视频位流,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
16.根据权利要求15所述的方法,其进一步包括:
确定将解码所述第三经编码视频位流,所述第三经编码位流包含在所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元,接着是在所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元;
确定将在包含所述帧内随机存取点图片的所述第二存取单元处重新初始化对所述第二经编码视频位流的解码;及
通过组合所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元与所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元,且通过将所述序列结束网络抽象层单元插入到所述第一存取单元中,产生所述第三经编码视频位流。
17.根据权利要求15所述的方法,其中所述第一经编码视频位流及所述第二经编码视频位流为相同经编码视频位流,且其中所述第二存取单元为在解码次序中在所述相同经编码视频位流中的所述第一存取单元之后的后续存取单元。
18.根据权利要求15所述的方法,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的多个层中的每一层的解码。
19.根据权利要求15所述的方法,其中将所述序列结束网络抽象层单元插入到所述第三经编码视频位流的基础层中的所述第一存取单元中且所述第二存取单元包含所述基础层中的所述帧内随机存取点图片,且其中基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
20.根据权利要求15所述的方法,其中所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新图片。
21.根据权利要求15所述的方法,其中所述第二存取单元的所述帧内随机存取点图片包含整洁随机存取图片。
22.根据权利要求15所述的方法,其中当所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元时,将所述第二存取单元的旗标设置成一值,所述值指示将在所述第二存取单元处重新初始化所述解码。
23.根据权利要求22所述的方法,其中所述旗标包含NoClrasOutputFlag且所述值为值1。
24.根据权利要求15所述的方法,其中在所述第二存取单元处重新初始化所述解码包含:丢弃与所述第二存取单元相关联的一或多个随机存取跳过前导图片或一或多个跨层随机存取跳过前导图片。
25.一种设备,其包括:
存储器,其经配置以存储视频数据;
处理器,其经配置以:
从所述存储器获得包括多个层的第一经编码视频位流,所述第一经编码视频位流包含多个存取单元;
从所述存储器获得包括多个层的第二经编码视频位流,所述第二经编码视频位流包含多个存取单元;及
通过组合所述第一经编码视频位流中的存取单元与所述第二经编码视频位流中的存取单元,且通过将序列结束网络抽象层单元插入到所述第一经编码视频位流的第一存取单元中,产生第三经编码视频位流,其中所述第二经编码视频位流的第二存取单元包含帧内随机存取点图片且为在解码次序中在具有所述序列结束网络抽象层单元的所述第一存取单元之后的下一后续存取单元;及
发射器,其经配置以发射所述第三经编码视频位流,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的解码。
26.根据权利要求25所述的设备,其中所述处理器经配置以:
确定将解码所述第三经编码视频位流,所述第三经编码位流包含在所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元,接着是在所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元;
确定将在包含所述帧内随机存取点图片的所述第二存取单元处重新初始化对所述第二经编码视频位流的解码;及
通过组合所述第一经编码视频位流中的直到且包含所述第一存取单元的所述存取单元与所述第二经编码视频位流中的从所述第二存取单元开始且包含所述第二存取单元的所述存取单元,且通过将所述序列结束网络抽象层单元插入到所述第一存取单元中,产生所述第三经编码视频位流。
27.根据权利要求25所述的设备,其中所述第一经编码视频位流及所述第二经编码视频位流为相同经编码视频位流,且其中所述第二存取单元为在解码次序中在所述相同经编码视频位流中的所述第一存取单元之后的后续存取单元。
28.根据权利要求25所述的设备,其中基于所述第二存取单元为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化对所述第三经编码视频位流的多个层中的每一层的解码。
29.根据权利要求25所述的设备,其中将所述序列结束网络抽象层单元插入到所述第三经编码视频位流的基础层中的所述第一存取单元中且所述第二存取单元包含所述基础层中的所述帧内随机存取点图片,且其中基于所述第二存取单元在所述基础层中且为在解码次序中在所述第一存取单元的所述序列结束网络抽象层单元之后的所述下一后续存取单元,在所述第二存取单元处重新初始化解码。
30.根据权利要求25所述的设备,其中所述第二存取单元的所述帧内随机存取点图片包含瞬时解码刷新图片或整洁随机存取图片中的至少一或多者。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462015197P | 2014-06-20 | 2014-06-20 | |
US62/015,197 | 2014-06-20 | ||
US14/743,327 | 2015-06-18 | ||
US14/743,327 US9866852B2 (en) | 2014-06-20 | 2015-06-18 | Video coding using end of sequence network abstraction layer units |
PCT/US2015/036607 WO2015196028A1 (en) | 2014-06-20 | 2015-06-19 | Improved video coding using end of sequence network abstraction layer units |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106464876A true CN106464876A (zh) | 2017-02-22 |
CN106464876B CN106464876B (zh) | 2020-03-03 |
Family
ID=54870866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580032614.0A Active CN106464876B (zh) | 2014-06-20 | 2015-06-19 | 使用序列结束网络抽象层单元的改进视频编码 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9866852B2 (zh) |
EP (1) | EP3158755A1 (zh) |
JP (1) | JP6495342B2 (zh) |
KR (1) | KR102401406B1 (zh) |
CN (1) | CN106464876B (zh) |
BR (1) | BR112016029839A2 (zh) |
CA (1) | CA2952456C (zh) |
WO (1) | WO2015196028A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021218593A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种通信方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10349067B2 (en) * | 2016-02-17 | 2019-07-09 | Qualcomm Incorporated | Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks |
US9959097B2 (en) | 2016-03-09 | 2018-05-01 | Bank Of America Corporation | SVN interface system for heterogeneous development environments |
US10623755B2 (en) * | 2016-05-23 | 2020-04-14 | Qualcomm Incorporated | End of sequence and end of bitstream NAL units in separate file tracks |
RU2646197C1 (ru) * | 2016-10-04 | 2018-03-01 | Эдуард Владимирович Юрьев | Регистратор для экстремальных видов спорта |
US10904574B2 (en) * | 2018-09-13 | 2021-01-26 | Tencent America LLC | Method and device using an out of band end of stream NAL unit in decoding |
US10999590B2 (en) | 2018-12-28 | 2021-05-04 | Tencent America LLC | Method for identification of random access point and picture types |
KR20220003619A (ko) | 2019-05-06 | 2022-01-10 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 비디오 코딩에서 새로운 코딩된 비디오 시퀀스를 시작하는 픽처에 대한 이전 픽처의 출력 |
US11539957B2 (en) * | 2019-06-20 | 2022-12-27 | Tencent America LLC | Layered random access with reference picture resampling |
WO2021133721A1 (en) | 2019-12-26 | 2021-07-01 | Bytedance Inc. | Techniques for implementing a decoding order within a coded picture |
CN115668933A (zh) | 2020-05-22 | 2023-01-31 | 字节跳动有限公司 | 编解码视频中nal单元的排序 |
JP2024515091A (ja) * | 2021-04-19 | 2024-04-04 | エルジー エレクトロニクス インコーポレイティド | メディアファイル処理方法及びその装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187698A1 (ko) * | 2012-06-12 | 2013-12-19 | 엘지전자 주식회사 | 영상 디코딩 방법 및 이를 이용하는 장치 |
WO2014011567A1 (en) * | 2012-07-10 | 2014-01-16 | Qualcomm Incorporated | Coding random access pictures for video coding |
CN103718561A (zh) * | 2011-07-28 | 2014-04-09 | 高通股份有限公司 | 多视图视频译码 |
CN103796022A (zh) * | 2012-10-30 | 2014-05-14 | 德州仪器公司 | 用于解码可分级视频译码的系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090161762A1 (en) * | 2005-11-15 | 2009-06-25 | Dong-San Jun | Method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same |
EP2392138A4 (en) * | 2009-01-28 | 2012-08-29 | Nokia Corp | METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING |
WO2015015058A1 (en) * | 2013-07-31 | 2015-02-05 | Nokia Corporation | Method and apparatus for video coding and decoding |
WO2015052939A1 (en) * | 2013-10-10 | 2015-04-16 | Sharp Kabushiki Kaisha | Alignment of picture order count |
US9641862B2 (en) * | 2013-10-15 | 2017-05-02 | Nokia Technologies Oy | Video encoding and decoding |
US9800898B2 (en) * | 2014-10-06 | 2017-10-24 | Microsoft Technology Licensing, Llc | Syntax structures indicating completion of coded regions |
-
2015
- 2015-06-18 US US14/743,327 patent/US9866852B2/en active Active
- 2015-06-19 EP EP15734764.2A patent/EP3158755A1/en not_active Ceased
- 2015-06-19 JP JP2016572691A patent/JP6495342B2/ja active Active
- 2015-06-19 WO PCT/US2015/036607 patent/WO2015196028A1/en active Application Filing
- 2015-06-19 BR BR112016029839A patent/BR112016029839A2/pt active IP Right Grant
- 2015-06-19 CA CA2952456A patent/CA2952456C/en active Active
- 2015-06-19 CN CN201580032614.0A patent/CN106464876B/zh active Active
- 2015-06-19 KR KR1020167035361A patent/KR102401406B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103718561A (zh) * | 2011-07-28 | 2014-04-09 | 高通股份有限公司 | 多视图视频译码 |
WO2013187698A1 (ko) * | 2012-06-12 | 2013-12-19 | 엘지전자 주식회사 | 영상 디코딩 방법 및 이를 이용하는 장치 |
WO2014011567A1 (en) * | 2012-07-10 | 2014-01-16 | Qualcomm Incorporated | Coding random access pictures for video coding |
CN103796022A (zh) * | 2012-10-30 | 2014-05-14 | 德州仪器公司 | 用于解码可分级视频译码的系统和方法 |
Non-Patent Citations (1)
Title |
---|
HENDRY等: "MV-HEVC/SHVC HLS: Miscellaneous HLS topics", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021218593A1 (zh) * | 2020-04-30 | 2021-11-04 | 华为技术有限公司 | 一种通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CA2952456A1 (en) | 2015-12-23 |
KR102401406B1 (ko) | 2022-05-23 |
US20150373345A1 (en) | 2015-12-24 |
JP6495342B2 (ja) | 2019-04-03 |
KR20170022997A (ko) | 2017-03-02 |
JP2017523669A (ja) | 2017-08-17 |
CA2952456C (en) | 2019-05-21 |
CN106464876B (zh) | 2020-03-03 |
BR112016029839A2 (pt) | 2017-08-22 |
WO2015196028A1 (en) | 2015-12-23 |
US9866852B2 (en) | 2018-01-09 |
EP3158755A1 (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464876A (zh) | 使用序列结束网络抽象层单元的改进视频编码 | |
CN106664427B (zh) | 用于对视频数据进行编码的设备和方法及计算机可读媒体 | |
CN106416245B (zh) | 用于对视频数据进行编码和解码的方法和设备 | |
CN106464919B (zh) | 用于编码和解码具有视频数据的多层位流的方法和装置 | |
CN105052156B (zh) | Irap存取单元与位流切换及拼接 | |
CN106797479B (zh) | 对于并行处理的帧内块复制预测限制 | |
CN105191310B (zh) | 用于视频译码的并行处理 | |
CN106797466B (zh) | 一种处理视频数据的方法及装置 | |
CN106464916B (zh) | 用信号表示用于位流分区的hrd参数 | |
CN104429085B (zh) | 译码用于视频译码的随机存取图片 | |
CN104641645B (zh) | 用于视频译码的交错视频数据的指示的方法和设备 | |
CN103947210B (zh) | 视频译码中借助高级经解码图片缓冲器(dpb)管理的随机存取 | |
CN104685887B (zh) | 于视频译码中发信用于操作点的层识别符 | |
CN106464920B (zh) | 用于在参数集中用信号表示层集合的信息的系统和方法 | |
CN104054348B (zh) | 在视频译码中波前平行处理的子流 | |
CN104854870B (zh) | 在视频译码中的低延迟缓冲模型 | |
CN104380747B (zh) | 视频译码中的参数集更新 | |
CN108028934A (zh) | 改进的视频流切换和随机存取的方法和系统 | |
CN104904208B (zh) | 用于视频译码中的随机存取的视频缓冲操作 | |
CN109792524A (zh) | 切换内插滤波器的系统及方法 | |
CN103636225B (zh) | 用信号发送用于叶层级译码单元的子集的变换系数的语法元素 | |
CN107852498A (zh) | 在视频译码中限制双向预测的方法及系统 | |
CN108028932A (zh) | 用于视频译码的调色板预测初始化及合并 | |
CN104641637B (zh) | 具有改善随机存取点图片行为的视频译码 | |
CN105122798B (zh) | 多层视频译码中的交叉层图片类型对准的指示 |
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 |