CN113796085A - 用于逐步解码刷新的假想参考解码器 - Google Patents

用于逐步解码刷新的假想参考解码器 Download PDF

Info

Publication number
CN113796085A
CN113796085A CN202080033742.8A CN202080033742A CN113796085A CN 113796085 A CN113796085 A CN 113796085A CN 202080033742 A CN202080033742 A CN 202080033742A CN 113796085 A CN113796085 A CN 113796085A
Authority
CN
China
Prior art keywords
picture
decoder
gdr
hrd
video
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
CN202080033742.8A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113796085A publication Critical patent/CN113796085A/zh
Pending legal-status Critical Current

Links

Images

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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/105Selection 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
    • 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/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/17Methods 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/172Methods 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种视频译码机制。所述机制包括:将逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息编码到码流中。根据所述BPSEI消息,对假想参考解码器(hypotheticalreferencedecoder,HRD)进行初始化。通过所述HRD对所述码流执行HRD一致性测试。存储所述码流,以发送给解码器。

Description

用于逐步解码刷新的假想参考解码器
相关申请案交叉引用
本专利申请要求王业奎于2019年5月6日提交的发明名称为“用于逐步随机接入的假想参考解码器(HypotheticalReferenceDecoderForGradualRandomAccess)”的第62/843,999号美国临时专利申请的权益,该在先申请通过引用的方式并入本文中。
技术领域
本发明大体上涉及视频译码,具体涉及各种改进点,以使假想参考解码器可以支持视频译码中的逐步解码刷新。
背景技术
即使视频相对较短,也可能需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够在几乎不影响图像质量的情况下提高压缩比。
发明内容
在一个实施例中,本发明包括一种在解码器中实现的方法。所述方法包括:所述解码器的接收器接收码流,其中,所述码流包括逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息;所述解码器的处理器对所述GDRAU中的图像以及所述BPSEI消息进行解码;所述处理器转发所述图像,以作为解码视频序列的一部分进行显示。
假想参考解码器(hypotheticalreferencedecoder,HRD)是工作在编码器上的组件。HRD检查经编码码流是否符合标准。例如,HRD可以检查码流,以验证解码器应该能够对该码流进行解码。GDR是一种用于对码流进行译码的机制。GDR图像包括经帧内预测译码的视频数据的垂直区域和经帧间预测译码的视频数据的一个或多个垂直区域。经帧内预测译码的区域的位置在一系列相关图像上移动,产生了一个干净区域。包括干净区域的图像仅使用帧内预测数据或帧间预测数据对这种干净区域进行译码。帧间预测数据参考另一图像中的干净区域。因此,解码器可以在第一GDR图像处开始对码流进行解码,并按顺序对每个图像进行解码。一旦到达恢复点之前的最后一个图像,解码器就会同步,并可以根据可用的干净数据通过帧间预测对任何其它图像进行解码。编码器中的HRD可以用于根据仅包括帧内预测数据的帧内随机接入点(intrarandomaccesspoint,IRAP)图像检查码流一致性。HRD还可以用于根据仅包括帧间预测数据的帧间预测图像检查码流一致性。但是,HRD不能用于在同一图像中同时使用帧内预测和帧间预测时检查码流一致性,就像GDR中发生的那样。本发明的示例包括一种用于配置HRD以在码流包括GDR时检查码流一致性的机制。当码流中包括GDR图像时,编码器可以包括包含HRD参数的BPSEI消息。HRD可以使用这种消息开始检查码流一致性。进一步地,解码器可以检查这种消息,以验证码流是一致的,因此是可解码的。因此,针对GDR图像包括BPSEI消息支持编码器侧和解码器侧的其它功能。此外,GDR可以支持在网络通信过程中减小带宽峰值。因此,本发明公开的机制可以减少编码器侧和解码器侧的处理器资源、存储器资源和/或网络资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述BPSEI消息提供初始编码图像缓冲区(codedpicturebuffer,CPB)移除时延,用于在所述GDRAU在解码顺序中的位置上对HRD进行初始化。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述GDRAU中的所述图像为GDR图像时,会在所述图像的标头中设置无先前图像输出标志。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述码流包括与所述图像相关联的标头,其中,所述标头包括图像顺序编号最低有效位值以及恢复图像顺序编号值。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,在与所述图像相关联的所述标头中,所述图像顺序编号最低有效位值位于所述恢复图像顺序编号值之前。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述BPSEI消息包含HRD参数,所述HRD参数指示所述解码器能够对所述码流进行解码。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述图像包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域时,所述图像是GDR图像。
在一个实施例中,本发明包括一种在编码器中实现的方法。所述方法包括:所述编码器的处理器将GDRAU以及与所述GDRAU相关联的BPSEI消息编码到码流中;所述处理器根据所述BPSEI消息,对HRD进行初始化;所述处理器通过所述HRD对所述码流执行HRD一致性测试;与所述处理器耦合的存储器存储所述码流,以发送给解码器。
假想参考解码器(hypotheticalreferencedecoder,HRD)是工作在编码器上的组件。HRD检查经编码码流是否符合标准。例如,HRD可以检查码流,以验证解码器应该能够对该码流进行解码。GDR是一种用于对码流进行译码的机制。GDR图像包括经帧内预测译码的视频数据的垂直区域和经帧间预测译码的视频数据的一个或多个垂直区域。经帧内预测译码的区域的位置在一系列相关图像上移动,产生了一个干净区域。包括干净区域的图像仅使用帧内预测数据或帧间预测数据对这种干净区域进行译码。帧间预测数据参考另一图像中的干净区域。因此,解码器可以在第一GDR图像处开始对码流进行解码,并按顺序对每个图像进行解码。一旦到达恢复点之前的最后一个图像,解码器就会同步,并可以根据可用的干净数据通过帧间预测对任何其它图像进行解码。编码器中的HRD可以用于根据仅包括帧内预测数据的IRAP图像检查码流一致性。HRD还可以用于根据仅包括帧间预测数据的帧间预测图像检查码流一致性。但是,HRD不能用于在同一图像中同时使用帧内预测和帧间预测时检查码流一致性,就像GDR中发生的那样。本发明的示例包括一种用于配置HRD以在码流包括GDR时检查码流一致性的机制。当码流中包括GDR图像时,编码器可以包括包含HRD参数的BPSEI消息。HRD可以使用这种消息开始检查码流一致性。进一步地,解码器可以检查这种消息,以验证码流是一致的,因此是可解码的。因此,针对GDR图像包括BPSEI消息支持编码器侧和解码器侧的其它功能。此外,GDR可以支持在网络通信过程中减小带宽峰值。因此,本发明公开的机制可以减少编码器侧和解码器侧的处理器资源、存储器资源和/或网络资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述BPSEI消息包括初始CPB移除时延,用于在所述GDRAU在解码顺序中的位置上对所述HRD进行初始化。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:当所述GDRAU中的图像为GDR图像时,在所述图像的标头中设置无先前图像输出标志。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:将与所述图像相关联的标头编码到所述码流中,其中,所述标头包括图像顺序编号最低有效位值以及恢复图像顺序编号值。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,在与所述图像相关联的所述标头中,所述图像顺序编号最低有效位值位于所述恢复图像顺序编号值之前。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述BPSEI消息包含HRD参数,所述HRD参数指示所述解码器能够对所述码流进行解码。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述图像包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域时,所述图像是GDR图像。
在一个实施例中,本发明包括一种视频译码设备。所述视频译码设备包括:处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器以及与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种解码器。所述解码器包括:接收模块,用于接收码流,其中,所述码流包括GDRAU以及与所述GDRAU相关联的BPSEI消息;解码模块,用于对所述GDRAU中的图像以及所述BPSEI消息进行解码;转发模块,用于转发所述图像,以作为解码视频序列的一部分进行显示。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述解码器还用于执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种编码器。所述编码器包括:编码模块,用于将GDRAU以及与所述GDRAU相关联的BPSEI消息编码到码流中;初始化模块,用于根据所述BPSEI消息,对HRD进行初始化;HRD模块,用于通过所述HRD对所述码流执行HRD一致性测试;存储模块,用于存储所述码流,以发送给解码器。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述编码器还用于执行根据上述任一方面所述的方法。
为了清楚起见,任一上述实施例可以与上述其它任一或多个实施例组合,以创建在本发明范围内的新实施例。
根据以下结合附图和权利要求书的具体实施方式,将更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考以下结合附图和具体实施方式进行的简要描述,其中,相似的附图标记表示相似的部件。
图1是对视频信号进行译码的示例性方法的流程图;
图2是用于视频译码的示例性编码和解码(编解码)系统的示意图;
图3是示例性视频编码器的示意图;
图4是示例性视频解码器的示意图;
图5是示例性假想参考解码器(hypotheticalreferencedecoder,HRD)的示意图;
图6是用于对视频序列执行逐步解码刷新(gradualdecodingrefresh,GDR)的示例性机制的示意图;
图7是非期望的运动搜索的示意图;
图8是在使用GDR时用于初始化HRD的示例性码流的示意图;
图9是示例性视频译码设备的示意图;
图10是在初始化HRD的同时将采用GDR的视频序列编码到码流中的示例性方法的流程图;
图11是在HRD已经指示码流为一致的码流时,从码流中解码出采用GDR的视频序列的示例性方法的流程图;
图12是用于在采用HRD的同时将采用GDR的视频序列编码到码流中的示例性系统的示意图。
具体实施方式
首先应当理解,尽管下文提供一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任意数量的技术来实施,无论这些技术是当前已知的还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
以下术语的定义如下所示,除非在本文相反的上下文中使用。具体地,以下定义旨在更加清晰地描述本发明。但是,术语在不同的上下文中可能会有不同的描述。因此,以下定义应当视为补充信息,而不应当视为对此处为这些术语提供的描述的任何其它定义进行限制。
码流是包括视频数据的一系列比特,这些视频数据会进行压缩以在编码器和解码器之间传输。编码器是一种用于通过编码过程将视频数据压缩为码流的设备。解码器是一种用于通过解码过程从码流中重建视频数据以进行显示的设备。图像是预期在视频序列中的对应时刻向用户完整或部分显示的完整图像。图像可以分割成条带(slice),条带可以可选地分割成分块(tile),条带和/或分块可以分割成编码树单元(codingtreeunit,CTU)和/或编码树块(codingtreeblock,CTB),CTU/CTB可以分割成编码块(codingblock),编码块可以根据预测机制进行译码。接入单元(accessunit,AU)是一个编码单元(codingunit),用于存储单个经译码图像,以及可选地存储一个或多个标头(header)。这些标头包括描述对经译码图像进行译码所使用的译码机制的参数。标头是一种语法结构,包括应用于经译码视频数据的对应部分的语法元素。标头(header)可以包括图像头和条带头。图像头是一种语法结构,包括应用于经译码图像中的所有条带的语法元素。条带头是经译码条带的一部分,包括与所有分块相关或与在条带中表示的一个分块内的CTU行相关的数据元素。帧间预测(inter-prediction),也称为帧间译码,是一种通过参考与当前图像不同的参考图像中的参考块中的对应样本,对当前图像中的当前块中的样本进行译码的机制。帧内预测(intra-prediction),也称为帧内译码,是一种通过参考当前图像中的参考块中的对应样本,对当前图像中的当前块中的样本进行译码的机制(即,当前块和参考块位于相同图像中)。GDR是一种对一系列图像进行译码的机制,每个图像都包括帧间译码区域和帧内译码区域,以避免使用完全进行帧内译码的单个图像初始化编码视频序列。GDRAU是一个包括一系列GDR相关图像中的第一GDR图像的AU。恢复点图像(recoverypointpicture)是在GDR序列之后的图像,使得该图像可以被完全解码,而无需参考该序列中的第一个GDR图像之前的图像中的数据。图像顺序编号(pictureordercount,POC)是与每个图像相关的且在编码视频序列中的所有图像之间唯一地标识相关图像的变量/值。此外,当相关图像要从解码图像缓冲区(decodedpicturebuffer,DPB)中输出时,POC表示相关图像在输出顺序中的位置与同一编码视频序列中也要从该DPB中输出的其它图像的输出顺序位置之间的差值。恢复POC是恢复点图像的POC。POC最低有效位(leastsignificantbit,LSB)是POC值中的一个或多个最低阶位。HRD是在编码器上运行的解码器模型,检查编码过程产生的码流的可变性,以验证是否符合指定约束条件。HRD一致性测试是用于确定经编码码流是否符合VVC等标准的测试。HRD参数是初始化和/或定义HRD运行条件的语法元素。补充增强信息(supplementalenhancementinformation,SEI)消息是一种具有指定语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。缓冲周期(bufferingperiod,BP)SEI消息是包括HRD参数的SEI消息,这些参数用于初始化HRD以管理编码图像缓冲区(codedpicturebuffer,CPB)。CPB是HRD中的先入先出缓冲区,该缓冲区包括解码顺序中的经译码图像,以便在码流一致性验证过程中使用。解码顺序是通过解码过程处理语法元素的顺序。CPB移除时延是当前图像在移除之前可以保存在CPB中的一段时间。无先前图像输出(nooutputofpriorpictures)标志是一种用于表示DPB中先前解码的图像不需要输出的标志。
本文中使用以下缩略语:编码树块(CodingTreeBlock,CTB)、编码树单元(CodingTreeUnit,CTU)、编码单元(CodingUnit,CU)、清理随机接入(CleanRandomAccess,CRA)、编码视频序列(CodedVideoSequence,CVS)、逐步解码刷新(GradualDecodingRefresh,GDR)、逐步随机接入(GradualRandomAccess,GRA)、假想参考解码器(HypotheticalReferenceDecoder,HRD)、即时解码刷新(InstantaneousDecodingRefresh,IDR)、联合视频专家组(JointVideoExpertsTeam,JVET)、运动约束分块集(MotionConstrainedTileSet,MCTS)、最大传输单元(MaximumTransferUnit,MTU)、网络抽象层(NetworkAbstractionLayer,NAL)、渐进式帧内刷新(ProgressiveIntraRefresh,PIR)、图像顺序编号(PictureOrderCount,POC)、原始字节序列载荷(RawByteSequencePayload,RBSP)、补充增强信息(SupplementalEnhancementInformation,SEI)、序列参数集(SequenceParameterSet,SPS)以及通用视频编码(VersatileVideoCoding,VVC)。
许多视频压缩技术可以用于在实现最少数据丢失的情况下减小视频文件的大小。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测来减少或去除视频序列中的数据冗余。对于基于块的视频译码,视频条带(slice)(例如,视频图像或视频图像中的一部分)可以分割成视频块,这些视频块还可以称为树块(treeblock)、编码树块(codingtreeblock,CTB)、编码树单元(codingtreeunit,CTU)、编码单元(codingunit,CU)和/或编码节点。图像中的经帧内译码(I)条带中的视频块是相对于同一图像中的相邻块中的参考样本使用空间预测进行译码的,而图像中的经帧间译码的单向预测(P)或双向预测(B)条带中的视频块可以是相对于同一图像中的相邻块中的参考样本使用空间预测进行译码的,也可以是相对于其它参考图像中的参考样本使用时间预测进行译码的。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间预测或时间预测会产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,经帧间译码块是根据运动矢量和残差数据进行编码的,其中,运动矢量指向形成预测块的参考样本组成的块,残差数据表示经译码块与预测块之间的差值;而经帧内译码块是根据帧内译码模式和残差数据进行编码的。为了进一步压缩,残差数据可以从像素域变换到变换域。这会产生可以量化的残差变换系数。量化变换系数最初可以排列为二维阵列。量化变换系数可以扫描,目的是产生变换系数的一维矢量。熵译码可以用于实现进一步压缩。下文更详细地论述了这些视频压缩技术。
为了确保经编码的视频能够正确解码,视频根据对应的视频编码标准进行编码和解码。视频编码标准包括国际电信联盟(InternationalTelecommunicationUnion,ITU)标准化部门(ITUStandardizationSector,ITU-T)H.261、国际标准化组织/国际电工委员会(InternationalOrganizationforStandardization/InternationalElectrotechnicalCommission,ISO/IEC)运动图像专家组(MotionPictureExpertsGroup,MPEG)-1第2部分、ITU-TH.262或ISO/IECMPEG-2第2部分、ITU-TH.263、ISO/IECMPEG-4第2部分、高级视频编码(AdvancedVideoCoding,AVC)(还称为ITU-TH.264或ISO/IECMPEG-4第10部分)以及高效视频编码(HighEfficiencyVideoCoding,HEVC)(还称为ITU-TH.265或MPEG-H第2部分)。AVC包括可分级的视频编码(ScalableVideoCoding,SVC)、多视图视频编码(MultiviewVideoCoding,MVC)和多视图视频编码加深度(MultiviewVideoCodingplusDepth,MVC+D)、三维(threedimension,3D)AVC(3D-AVC)等扩展版本。HEVC包括可分级的HEVC(ScalableHEVC,SHVC)、多视图HEVC(MultiviewHEVC,MV-HEVC)、3DHEVC(3D-HEVC)等扩展版本。ITU-T和ISO/IEC的联合视频专家组(jointvideoexpertsteam,JVET)已经着手开发一种称为通用视频编码(VersatileVideoCoding,VVC)的视频编码标准。VVC包括在工作草案(WorkingDraft,WD)中,该工作草案包括JVET-N1001-v3。
编码器使用许多组件,例如HRD。编码器使用各种组件对码流进行编码。然后,HRD检查经编码码流,以确保编码符合标准。例如,HRD可以检查码流,以验证解码器应该能够对码流进行解码。编码器还使用许多机制对码流进行编码。GDR是一种编码器对码流进行译码时所使用的示例性译码机制。GDR图像包括经帧内预测译码的视频数据的垂直区域和经帧间预测译码的视频数据的一个或多个垂直区域。经帧内预测译码的区域的位置在一系列相关图像上移动,产生了一个干净区域。包括干净区域的图像仅使用帧内预测数据或帧间预测数据对这种干净区域进行译码。帧间预测数据参考另一图像中的干净区域。因此,解码器可以在第一GDR图像处开始对码流进行解码,并按顺序对每个图像进行解码。一旦到达恢复点之前的最后一个图像,解码器就会同步,并可以根据可用的干净数据通过帧间预测对任何其它图像进行解码。编码器中的HRD可以用于根据仅包括帧内预测数据的帧内随机接入点(intrarandomaccesspoint,IRAP)图像检查码流一致性。但是,一些视频译码系统可以使用HRD,这些HRD不用于在使用GDR时检查码流一致性。例如,一些HRD可以用于从IRAP图像开始检查码流一致性,但可能不检查包括基于GDR的随机接入点的码流序列。
在第一示例中,本文公开了用于配置HRD在码流使用GDR图像作为随机接入点时执行码流一致性检查的机制。当GDR图像包括在码流中时,编码器可以包括含有HRD参数的BPSEI消息。HRD可以读取BPSEI消息以获取初始化参数,并可以在与BPSEI消息相关联的GDR图像处开始检查码流一致性。此外,解码器可以检查BPSEI消息以验证码流是一致的,从而确定码流是可解码的。因此,针对GDR图像包括BPSEI消息支持编码器侧和解码器侧的其它功能。此外,GDR可以支持在网络通信过程中减小带宽峰值。因此,本发明公开的机制可以减少编码器侧和解码器侧的处理器资源、存储器资源和/或网络资源的使用。
此外,视频译码系统可以将相关图像的图像顺序编号(pictureordercount,POC)指示在标头中。根据示例,这些标头可以包括图像头和/或条带头。在一些情况中,这种指示可以包括恢复POC差值,其表示GDR图像的POC与恢复点图像的POC之间的差值。但是,为了确定恢复点图像的实际POC值,解码器需要首先确定GDR图像的POC。因此,解码器将恢复POC差值存储到存储器中。然后,一旦接收到和确定出GDR图像的POC,解码器就可以确定恢复点图像POC。
在第二示例中,本文公开了在使用GRD时提高译码过程效率的机制。例如,GDR图像的POCLSB值指示在条带头/图像头中。POCLSB值连同恢复图像顺序编号值一起包括在标头中。此外,POCLSB值在恢复图像顺序编号之前的位置上译码到标头中。这样,解码器可以解析POCLSB值,然后解析恢复图像顺序编号。因此,一旦确定出GDR图像的POC,恢复图像顺序编号就可以立即确定,而不是存放到存储器中以待解析。因此,本发明支持编码器侧和解码器侧的其它功能。此外,本发明减少了编码器侧和/或解码器侧的处理器资源、存储器资源和/或网络通信资源的使用。
图1是对视频信号进行译码的示例性操作方法100的流程图。具体地,视频信号是在编码器侧进行编码的。编码过程通过采用各种机制来压缩视频信号,以减小视频文件。文件较小,压缩视频文件可以发送给用户,同时降低相关带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号,用于向终端用户显示。解码过程通常是编码过程的逆过程,以使解码器重建的视频信号可以与编码器侧的视频信号保持一致。
在步骤101中,将视频信号输入到编码器中。例如,视频信号可以是存储在存储器中的未压缩视频文件。又如,视频文件可以由摄像机等视频捕获设备捕获,并且进行编码以支持视频的直播流传输。视频文件可以包括音频分量和视频分量。视频分量包括一系列图像帧。这些图像帧按顺序观看时,给人以运动的视觉效果。这些帧包括以光表示的像素,在本文中称为亮度分量(或亮度样本),还包括以颜色表示的像素,称为色度分量(或色度样本)。在一些示例中,这些帧还可以包括深度值,以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成方块和/或矩形块进行压缩。例如,在高效视频编码(HighEfficiencyVideoCoding,HEVC)(还称为H.265和MPEG-H第2部分)中,可以首先将帧划分成编码树单元(codingtreeunit,CTU),它们是预定义大小(例如,64个像素×64个像素)的块。这些CTU包括亮度样本和色度样本。编码树可以用于将CTU划分成块,然后,重复细分这些块,直到获得支持进一步编码的配置。例如,帧的亮度分量可以细分,直到各个块包括相对均匀的亮度值。此外,帧的色度分量可以细分,直到各个块包括相对均匀的色度值。因此,分割机制因视频帧的内容而异。
在步骤105中,采用各种压缩机制对在步骤103中分割得到的图像块进行压缩。例如,可以采用帧间预测和/或帧内预测。帧间预测是为了利用一般场景中的对象往往出现在连续帧中这一事实而设计的。这样一来,描述参考帧中的对象的块不需要在相邻帧中重复描述。具体地,一个对象(例如一张桌子)可以在多个帧中保持在固定位置上。因此,该桌子被描述一次,而且相邻帧可以参考回参考帧。模式匹配机制可以用于在多个帧上匹配对象。此外,由于对象移动或相机移动等原因,移动对象可以跨多个帧表示。在一个具体示例中,视频可以在多个帧上显示跨屏幕移动的汽车。运动矢量可以用于描述这种移动。运动矢量是一个二维矢量,提供对象在一个帧中的坐标到该对象在参考帧中的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集,表示当前帧中的图像块与参考帧中的对应块的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往聚集在一个帧中这一事实。例如,一棵树某个部分的一片绿色往往与类似的几片绿色相邻。帧内预测采用多种方向性预测模式(例如,HEVC中有33种)、平面模式和直流(directcurrent,DC)模式。这些方向性模式表示当前块的样本与对应方向上的相邻块的样本相似/相同。平面模式表示一行/列(例如,平面)上的一系列块可以根据该行的边缘上的相邻块进行插值。平面模式实际上通过采用变化值的相对恒定的斜率表示光/颜色跨行/列的平稳过渡。DC模式用于边界平滑,并表示块与所有相邻块的样本的平均值相似/相同,这些相邻块与方向性预测模式的角度方向相关。因此,帧内预测块可以将图像块表示为各种关系预测模式值而不是表示为实际值。此外,帧间预测块可以将图像块表示为运动矢量值而不是表示为实际值。在任一种情况下,预测块在一些情况下可能都无法准确表示图像块。所有差值都存储在残差块中。可以对残差块应用变换以进一步压缩文件。
在步骤107中,可以应用各种滤波技术。在HEVC中,滤波器是根据环内滤波方案应用的。上文描述的基于块的预测可能会在解码器侧产生块状图像。此外,基于块的预测方案可以对块进行编码,然后重建经编码块,以便后续用作参考块。环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和样本自适应偏移(sampleadaptiveoffset,SAO)滤波器应用于块/帧。这些滤波器减少了块伪影,这样可以准确重建经编码文件。此外,这些滤波器减少了重建参考块中的伪影,这样伪影不太可能在根据重建参考块编码的后续块中产生其它伪影。
一旦视频信号完成分割、压缩和滤波,则在步骤109中,将所得数据编码到码流中。码流包括上文描述的数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示数据。例如,这些数据可以包括分割数据、预测数据、残差块和提供译码指令给解码器的各种标志。码流可以存储在存储器中,以便根据请求向解码器发送。码流还可以广播和/或组播到多个解码器。创建码流是一个迭代过程。因此,步骤101、步骤103、步骤105、步骤107和步骤109可以在多个帧和块中连续和/或同时执行。图1所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频译码过程限制于特定顺序。
在步骤111中,解码器接收码流并开始解码过程。具体地,解码器采用熵解码方案将码流转换为对应的语法数据和视频数据。在步骤111中,解码器采用码流中的语法数据来确定帧的分割部分。分割应该与步骤103中的块分割的结果匹配。下面描述在步骤111中采用的熵编码/解码。编码器在压缩过程中做出许多选择,例如,根据一个或多个输入图像中的值的空间放置从若干个可能选择中选择块分割方案。指示确切的选择可能会采用大量的位元(bin)。本文所使用的“位元”是一个作为变量的二进制值(例如,可能因内容而异的比特值)。熵编码使得编码器丢弃任何明显不适合特定情况的选项,从而留下一组可用选项。然后,为每个可用选项分配一个码字。码字的长度取决于可用选项的数量(例如,一个二元符号对应两个选项,两个二元符号对应三到四个选项,以此类推)。然后,编码器对所选选项的码字进行编码。这种方案减小了码字,这是因为码字与预期的一样大,从而唯一地指示从可用选项的小子集中进行选择,而不是唯一地指示从所有可能选项的可能大集合中进行选择。然后,解码器通过以与编码器类似的方式确定可用选项集合来对该选择进行解码。通过确定可用选项集合,解码器可以读取码字并确定编码器做出的选择。
在步骤113中,解码器执行块解码。具体地,解码器采用逆变换,以生成残差块。然后,解码器采用残差块和对应的预测块,以根据分割来重建图像块。预测块可以包括编码器在步骤105中生成的帧内预测块和帧间预测块。接着,根据在步骤111中确定的分割数据将重建图像块放置在重建视频信号的帧中。还可以通过上文描述的熵编码在码流中指示用于步骤113的语法。
在步骤115中,以类似于编码器侧的步骤107的方式对重建视频信号的帧执行滤波。例如,噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和SAO滤波器可以应用于帧,以去除块效应。一旦对帧进行了滤波,则在步骤117中,可以将视频信号输出到显示器,以供终端用户观看。
图2为用于视频译码的示例性编码和解码(编解码)系统200的示意图。具体地,编解码系统200提供功能来支持实现操作方法100。编解码系统200广义地用于描述编码器和解码器侧都使用的组件。编解码系统200接收视频信号并对视频信号进行分割,如结合操作方法100中的步骤101和步骤103所述,得到分割视频信号201。然后,编解码系统200在充当编码器时将分割视频信号201压缩到经编码码流中,如结合方法100中的步骤105、步骤107和步骤109所述。编解码系统200在充当解码器时从码流中生成输出视频信号,如结合操作方法100中的步骤111、步骤113、步骤115和步骤117所述。编解码系统200包括通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221、缩放和逆变换组件229、滤波器控制分析组件227、环内滤波器组件225、解码图像缓冲区组件223以及标头格式以及上下文自适应二进制算术编码(contextadaptivebinaryarithmeticcoding,CABAC)组件231。这些组件如图所示耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统200中的组件都可以存在于编码器中。解码器可以包括编解码系统200中的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225以及解码图像缓冲区组件223。下面对这些组件进行描述。
分割视频信号201是一个捕获到的已经通过编码树分割成像素块的视频序列。编码树采用各种划分模式将像素块细分成较小的像素块。然后,这些块可以进一步细分成更小的块。这些块可以称为编码树上的节点。较大的父节点划分成较小的子节点。节点进行细分的次数称为节点/编码树的深度。在一些情况下,划分得到的块包括在编码单元(codingunit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红色差色度(Cr)块和一个或多个蓝色差色度(Cb)块以及CU的对应语法指令。划分模式可以包括二叉树(binarytree,BT)、三叉树(tripletree,TT)和四叉树(quadtree,QT),用于根据所采用的划分模式将节点分别分割成不同形状的两个、三个或四个子节点。将分割视频信号201转发给通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波器控制分析组件227以及运动估计组件221进行压缩。
通用译码器控制组件211用于根据应用约束条件做出与将视频序列中的图像编码到码流中相关的决策。例如,通用译码器控制组件211管理码率/码流大小相对于重建质量的优化。可以根据存储空间/带宽可用性和图像分辨率请求做出这些决策。通用译码器控制组件211还根据传输速度管理缓冲区利用率,以缓解缓存欠载和超载问题。为了解决这些问题,通用译码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,通用译码器控制组件211可以动态提高压缩复杂度以提高分辨率和增加带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用译码器控制组件211控制编解码系统200中的其它组件来平衡视频信号重建质量与码率问题。通用译码器控制组件211生成控制数据,这些控制数据用于控制其它组件的操作。还将控制数据转发给标头格式以及CABAC组件231,以编码到码流中,从而指示解码器进行解码时使用的参数。
还将分割视频信号201发送给运动估计组件221和运动补偿组件219进行帧间预测。可以将分割视频信号201的帧或条带划分成多个视频块。运动估计组件221和运动补偿组件219相对于一个或多个参考帧中的一个或多个块对所接收到的视频块进行帧间预测译码,以提供时间预测。编解码系统200可以执行多个译码回合,以便为每个视频数据块选择合适的译码模式,等等。
运动估计组件221和运动补偿组件219可以高度集成,但出于概念目的,单独说明运动估计组件221和运动补偿组件219。由运动估计组件221执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以表示经译码对象相对于预测块的位移。预测块是被发现在像素差方面与待译码块高度匹配的块。预测块还可以称为参考块。这种像素差可以通过绝对差异和(sumofabsolutedifference,SAD)、平方差异和(sumofsquaredifference,SSD)或其它差异度量来确定。HEVC采用若干个经译码对象,包括CTU、编码树块(codingtreeblock,CTB)和CU。例如,可以将CTU划分成多个CTB,然后可以将CTB划分成CB,以包括在CU中。可以将CU编码为包括预测数据的预测单元(predictionunit,PU)和/或包括CU的变换残差数据的变换单元(transformunit,TU)。运动估计组件221使用率失真分析作为率失真优化过程的一部分来生成运动矢量、PU和TU。例如,运动估计组件221可以确定当前块/帧的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡了视频重建的质量(例如,压缩造成的数据丢失量)和译码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲区组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可以对参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计组件221可以相对于整像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过将PU的位置与参考图像的预测块的位置进行比较,计算经帧间译码条带中的视频块的PU的运动矢量。运动估计组件221将计算得到的运动矢量作为运动数据输出到标头格式以及CABAC组件231进行编码,并作为运动数据输出到运动补偿组件219。
运动补偿组件219执行的运动补偿可以涉及根据运动估计组件221所确定的运动矢量获取或生成预测块。同样,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收到当前视频块的PU的运动矢量时,运动补偿组件219可以定位运动矢量指向的预测块。然后,从正在译码的当前视频块的像素值中减去预测块的像素值,得到像素差值,从而形成残差视频块。一般而言,运动估计组件221相对于亮度分量执行运动估计,而运动补偿组件219将根据亮度分量计算得到的运动矢量用于色度分量和亮度分量。将预测块和残差块转发给变换缩放和量化组件213。
还将分割视频信号201发送给帧内估计组件215和帧内预测组件217。与运动估计组件221和运动补偿组件219一样,帧内估计组件215和帧内预测组件217可以高度集成,但出于概念目的,单独说明帧内估计组件215和帧内预测组件217。帧内估计组件215和帧内预测组件217相对于当前帧中的各块对当前块进行帧内预测,以替代如上所述的由运动估计组件221和运动补偿组件219在各帧之间执行的帧间预测。具体地,帧内估计组件215确定帧内预测模式,用于对当前块进行编码。在一些示例中,帧内估计组件215从多个测试的帧内预测模式中选择合适的帧内预测模式来对当前块进行编码。然后,将选定的帧内预测模式转发给标头格式以及CABAC组件231进行编码。
例如,帧内估计组件215对各种测试的帧内预测模式进行率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定经编码块与经编码以产生经编码块的原始未编码块之间的失真(或误差)量,以及确定用于产生经编码块的码率(例如,比特数)。帧内估计组件215根据各种经编码块的失真和速率计算比率,以确定表现出块的最佳率失真值的帧内预测模式。另外,帧内估计组件215可以用于根据率失真优化(rate-distortionoptimization,RDO),使用深度建模模式(depthmodelingmode,DMM)对深度图像的深度块进行译码。
帧内预测组件217在编码器上实现时,可以根据由帧内估计组件215确定的选定帧内预测模式从预测块中生成残差块,或者在解码器上实现时,可以从码流中读取残差块。残差块包括预测块与原始块之间的差值,表示为矩阵。然后,将残差块转发给变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色度分量进行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213将离散余弦变换(discretecosinetransform,DCT)、离散正弦变换(discretesinetransform,DST)等变换或者概念上类似的变换应用于残差块,从而产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子频带变换或其它类型的变换。变换可以将残差信息从像素值域转换到变换域,例如频域。变换缩放和量化组件213还用于根据频率等对变换残差信息进行缩放。这种缩放涉及将缩放因子应用于残差信息,以便在不同的粒度下量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件213还用于量化变换系数以进一步降低码率。量化过程可以减小与部分或全部系数相关的位深度。量化程度可以通过调整量化参数来修改。在一些示例中,变换缩放和量化组件213随后可以对包括量化变换系数的矩阵进行扫描。将量化变换系数转发给标头格式以及CABAC组件231,以编码到码流中。
缩放和逆变换组件229进行与变换缩放和量化组件213相反的操作以支持运动估计。缩放和逆变换组件229应用逆缩放、逆变换和/或反量化以重建像素域中的残差块,例如,后续用作参考块。该参考块可以成为另一当前块的预测块。运动估计组件221和/或运动补偿组件219可以通过将残差块添加回对应的预测块来计算参考块,以用于后续块/帧的运动估计。将滤波器应用于重建参考块,以减少在缩放、量化和变换期间产生的伪影。当预测后续块时,这些伪影可能会使预测不准确(并产生额外的伪影)。
滤波器控制分析组件227和环内滤波器组件225将滤波器应用于残差块和/或重建图像块。例如,可以将来自缩放和逆变换组件229的变换残差块与来自帧内预测组件217和/或运动补偿组件219的对应预测块组合以重建原始图像块。然后,可以将滤波器应用于重建图像块。在一些示例中,滤波器可以转而应用于残差块。如同图2中的其它组件,滤波器控制分析组件227和环内滤波器组件225高度集成,可以一起实现,但出于概念目的,单独描述滤波器控制分析组件227和环内滤波器组件225。将应用于重建参考块的滤波器应用于特定空间区域,这些滤波器包括多个参数以调整使用这些滤波器的方式。滤波器控制分析组件227对重建参考块进行分析,以确定需要使用这些滤波器的位置并设置对应的参数。将这些数据作为滤波器控制数据转发给标头格式以及CABAC组件231进行编码。环内滤波器组件225根据滤波器控制数据应用这些滤波器。这些滤波器可以包括去块效应滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。这些滤波器可以根据示例应用于空域/像素域(例如,针对重建像素块)或频域中。
当作为编码器操作时,将经滤波的重建图像块、残差块和/或预测块存储在解码图像缓冲区组件223中,以供后续用于运动估计,如上所述。当作为解码器操作时,解码图像缓冲区组件223存储经重建和经滤波的块并将其作为输出视频信号的一部分转发给显示器。解码图像缓冲区组件223可以是任何能够存储预测块、残差块和/或重建图像块的存储设备。
标头格式以及CABAC组件231从编解码系统200的各种组件接收数据,并将这些数据编码到经译码码流中,以发送给解码器。具体地,标头格式以及CABAC组件231生成各种标头以对控制数据(例如通用控制数据和滤波器控制数据)进行编码。此外,将预测数据(包括帧内预测数据和运动数据)以及以量化变换系数数据为形式的残差数据都编码到码流中。最终的码流包括解码器重建原始分割视频信号201所需要的所有信息。这些信息还可以包括帧内预测模式索引表(还称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的指示、分割信息的指示等。这些数据可以采用熵编码进行编码。例如,这些信息可以采用上下文自适应可变长度编码(contextadaptivevariablelengthcoding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-basedcontext-adaptivebinaryarithmeticcoding,SBAC)、概率区间分割熵(probabilityintervalpartitioningentropy,PIPE)编码或其它熵编码技术来编码。在熵编码之后,可以将经编码码流发送给另一设备(例如,视频解码器)或存档以供后续发送或检索。
图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码系统200的编码功能和/或执行操作方法100中的步骤101、步骤103、步骤105、步骤107和/或步骤109。编码器300对输入视频信号进行分割,得到基本上类似于分割视频信号201的分割视频信号301。然后,通过编码器300中的组件压缩分割视频信号301并将其编码到码流中。
具体地,将分割视频信号301转发给帧内预测组件317进行帧内预测。帧内预测组件317可以基本上类似于帧内估计组件215和帧内预测组件217。还将分割视频信号301转发给运动补偿组件321,以根据解码图像缓冲区组件323中的参考块进行帧间预测。运动补偿组件321可以基本上类似于运动估计组件221和运动补偿组件219。将来自帧内预测组件317和运动补偿组件321的预测块和残差块转发给变换和量化组件313进行残差块的变换和量化。变换和量化组件313可以基本上类似于变换缩放和量化组件213。将变换量化残差块和对应的预测块(连同相关的控制数据)转发给熵编码组件331,以编码到码流中。熵编码组件331可以基本上类似于标头格式以及CABAC组件231。
还将变换量化残差块和/或对应的预测块从变换和量化组件313转发给逆变换和反量化组件329,以重建为参考块供运动补偿组件321使用。逆变换和反量化组件329可以基本上类似于缩放和逆变换组件229。根据示例,还将环内滤波器组件325中的环内滤波器应用于残差块和/或重建参考块。环内滤波器组件325可以基本上类似于滤波器控制分析组件227和环内滤波器组件225。环内滤波器组件325可以包括多个滤波器,如结合环内滤波器组件225所述。然后,将经滤波的块存储在解码图像缓冲区组件323中,以作为参考块供运动补偿组件321使用。解码图像缓冲区组件323可以基本上类似于解码图像缓冲区组件223。
图4为示例性视频解码器400的框图。视频解码器400可以用于实现编解码系统200的解码功能和/或执行操作方法100中的步骤111、步骤113、步骤115和/或步骤117。解码器400从编码器300等接收码流,并根据码流生成重建输出视频信号,以向终端用户显示。
码流由熵解码组件433接收。熵解码组件433用于执行熵解码方案,例如CAVLC、CABAC、SBAC、PIPE解码或其它熵解码技术。例如,熵解码组件433可以使用标头信息来提供上下文以解析在码流中编码为码字的附加数据。经解码信息包括对视频信号进行解码所需的任何信息,例如,通用控制数据、滤波器控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将量化变换系数转发给逆变换和反量化组件429,以重建成残差块。逆变换和反量化组件429可以类似于逆变换和反量化组件329。
将重建残差块和/或预测块转发给帧内预测组件417,以根据帧内预测操作重建为图像块。帧内预测组件417可以类似于帧内估计组件215和帧内预测组件217。具体地,帧内预测组件417使用预测模式来定位帧中的参考块,并将残差块应用到上述结果中以重建帧内预测图像块。将重建帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件425转发给解码图像缓冲区组件423。解码图像缓冲区组件423和环内滤波器组件425可以基本上分别类似于解码图像缓冲区组件223和环内滤波器组件225。环内滤波器组件425对重建图像块、残差块和/或预测块进行滤波。这些信息存储在解码图像缓冲区组件423中。将来自解码图像缓冲区组件423的重建图像块转发给运动补偿组件421,以进行帧间预测。运动补偿组件421可以基本上类似于运动估计组件221和/或运动补偿组件219。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块应用于上述结果中以重建图像块。还可以通过环内滤波器组件425将所得到的重建块转发给解码图像缓冲区组件423。解码图像缓冲区组件423继续存储其它重建图像块。这些重建图像块可以通过分割信息重建为帧。这些帧还可以放置在一个序列中。该序列作为重建输出视频信号输出到显示器。
图5是示例性HRD500的示意图。HRD500可以在编码器(例如编解码系统200和/或编码器300)中使用。HRD500可以检查在方法100的步骤109中产生的码流,然后,将码流转发给解码器,例如解码器400。在一些示例中,当码流进行编码时,码流可以不断地通过HRD500转发。如果码流的一部分不符合相关约束条件,则HRD500可以向编码器指示这种不符合情况,以使得编码器使用不同的机制对码流的对应部分进行重新编码。
HRD500包括假想流调度器(hypotheticalstreamscheduler,HSS)541。HSS541是用于执行假想递送机制的组件。假想递送机制用于参照输入到HRD500中的码流551的时间和数据流检查码流或解码器的一致性。例如,HSS541可以接收从编码器输出的码流551,并管理对码流551进行的一致性测试过程。在一个特定的示例中,HSS541可以控制经译码图像在HRD500中移动的速率,并验证码流551不包括不符合标准的数据。
HSS541可以按照预定义的速率将码流551转发给CPB543。为了实现HRD500,包括码流551中的经译码视频的任何单元,例如AU和/或NAL单元,可以称为可解码单元(decodableunit,DU)553。CPB543是HRD500中的先入先出缓冲区。CPB543包括DU553,DU553包括解码顺序中的经译码图像或其子部分(例如条带(slice))。CPB543存储这些图像以在码流一致性验证过程中使用。
CPB543将DU553转发给解码过程组件545。解码过程组件545是符合VVC标准的组件。例如,解码过程组件545可以模拟终端用户使用的解码器400。解码过程组件545按照示例性终端用户解码器可以实现的速率对DU553进行解码。如果解码过程组件545不能足够快地对DU553进行解码以防止CPB543溢出,则码流551不符合标准,需要重新编码。
解码过程组件545对DU553进行解码,产生了经解码DU555。经解码DU555包括经解码图像。将经解码DU555转发给DPB547。DPB547可以基本上类似于解码图像缓冲区组件223、解码图像缓冲区组件323和/或解码图像缓冲区组件423。为了支持帧间预测,将从经解码DU555中获取的被标识为用作参考图像556的图像返回给解码过程组件545,以支持进一步解码。DPB547将经解码视频序列输出为一系列图像557。图像557是重建图像,通常是由编码器编码到码流551中的图像的镜像。
将图像557转发给输出裁剪组件549。输出裁剪组件549用于将一致性裁剪窗口应用于图像557。这样得到裁剪后的输出图像559。裁剪后的输出图像559是完全重建的图像。因此,裁剪后的输出图像559模仿终端用户在对码流551进行解码时会看到的内容。这样一来,编码器可以重新观看裁剪后的输出图像559,以确保编码令人满意。
图6是用于对视频序列执行GDR600的示例性机制的示意图。GDR600可以应用于由编码器(例如编解码系统200和/或编码器300)编码且由解码器(例如编解码系统200和/或解码器400)解码的码流。此外,通过使用本文中描述的技术,编码器侧的HRD500可以对使用GDR600的码流执行码流一致性检查。
在一个实施例中,GDR600可以用于在CVS608等CVS中产生随机接入点。GDR600是一种用于对一系列图像进行译码的机制,这些图像分别包括经帧间译码的区域和经帧内译码的区域,以避免使用完全进行帧内译码的单个图像(例如IRAP图像)初始化编码视频序列608。具体地,视频序列中的大多数图像都是根据帧间预测进行译码的,因此是通过参考其它图像进行解码的。如果参考图像不可用,则解码器可能无法对经帧间译码的图像进行解码。GDR600提供了一种用于产生恢复点的机制,除该恢复点之外,所有图像都可以正确解码。
在一个实施例中,CVS608包括GDR图像602、一个或多个后置图像604以及恢复点图像606。在一个实施例中,GDR图像602称为CVS起始(CVSstarting,CVSS)图像。此外,GDR图像602可以包括在GDRAU中,GDRAU是一个包括一系列GDR相关图像中的第一GDR图像的AU。CVS608可以是用于视频码流中的每个逐层编码视频序列(codedlayer-wisevideosequence,CLVS)的编码视频序列。需要说明的是,在视频码流包括单层时,CVS和CLVS是相同的。只有在视频码流包括多层时,CVS和CLVS才是不同的。在一个实施例中,后置图像604可以看作是GDR图像的一种形式,因为它们在GDR周期中位于恢复点图像606之前。
在一个实施例中,GDR图像602、后置图像604和恢复点图像606可以限定CVS608中的GDR周期。在一个实施例中,解码顺序从GDR图像602开始,接着是后置图像604,然后是恢复图像606。CVS608是从GDR图像602开始的一系列图像(或其部分)并包括所有图像(或其部分),直到但不包括下一个GDR图像或直到码流结束。GDR周期是从GDR图像602开始的一系列图像并包括所有图像,直到并包括恢复点图像606。当GDR图像602用作视频中的随机接入点时,CVS608的解码过程在GDR图像602处开始。随机接入点是码流中解码器可以开始解码以获取可用视频数据的任何位置。
如图6所示,GDR600对开始于GDR图像602且结束于恢复点图像606的一系列图像应用。GDR图像602包括刷新/干净区域610和未刷新/脏区域612。刷新/干净区域610包括都是通过帧内预测进行译码的块(即帧内预测块),未刷新/脏区域612包括都是通过帧间预测进行译码的块(即帧间预测块)。帧内预测块可以在不参考其它图像的情况下进行解码。但是,脏区域中的帧间预测块只能通过参考在GDR图像602之前的图像进行解码,因此只有在GDR图像602不用作随机接入点时才能进行解码。
紧邻GDR图像602的后置图像604包括刷新/干净区域610,刷新/干净区域610包括通过帧内预测进行译码的第一区域610A和通过帧间预测进行译码的第二区域610B。第二区域610B通过参考CVS608的GDR周期内的前一个图像等中的刷新/干净区域610进行译码。如图所示,随着译码过程沿一致方向(例如从左到右)移动或前进,后置图像604中的刷新/干净区域610扩大,这样未刷新/脏区域612会相应地缩小。最终,译码过程到达仅包括刷新/干净区域610的恢复点图像606。需要说明的是,刷新/干净区域610中的译码为帧间预测块的第二区域610B可以仅参考参考图像中的刷新区域/干净区域610。这种限制确保脏数据不会引入到刷新区域/干净区域610中。
因此,恢复点图像606是在GDR序列之后的图像,使得恢复点图像606可以完全解码,而无需参考序列中的第一个GDR图像602之前的图像中的数据。例如,恢复点图像606可以通过参考前面图像中的任何干净区域610,采用帧间预测进行译码。从图6中可以看出,解码器可能希望快速确定哪个图像是恢复点图像606,因为解码器可能希望在到达恢复点图像606时就开始显示图像。例如,无先前图像输出(nooutputofpriorpictures)标志可以设置在标头中,例如设置在与GDR图像602相关联的图像头或条带头中。当设置有该标志时,在到达恢复点图像606之前,没有图像输出给用户。这样可以防止显示GDR图像602和后置图像604,它们包括不能正确解码以进行显示的未刷新/脏区域612。
这个过程可以使用POC值来管理。POC是与每个图像相关且在CVS608中的所有图像之间唯一地标识相关图像的变量/值。此外,当相关图像要从DPB中输出时,POC指示输出顺序中的相关图像的位置与同一CVS608中的也要从该DPB中输出的其它图像的输出顺序位置之间的差值。因此,GDR图像602具有GDRPOC621,后置图像604具有POC623,恢复点图像606具有恢复POC622。也就是说,GDRPOC621是GDR图像602的POC,恢复POC622是恢复点图像606的POC。解码器可以使用POC值来确定与GDR周期相关的解码细节。例如,标头可以用于表示与GDR图像602相关联的POCLSB。POCLSB是POC值中的一个或多个最低阶位。解码器可以使用GDR图像602的POCLSB和其它语法元素一起来确定GDRPOC621。这种方法可以减少用于表示GDRPOC621的位数。恢复POC622可以表示为GDRPOC621与恢复POC622之间的差值。因此,解码器可以根据标头中的POCLSB值确定GDR图像602的POC。然后,解码器可以从标头中获取恢复POC622的值,并根据GDR图像602的GDRPOC621解析恢复POC622的值。解析/确定出的恢复POC622的值表示恢复点图像606的POC。然后,解码器可以开始显示从恢复点图像606开始的重建图像。
图7是使用编码器限制条件来支持GDR600时的非期望的运动搜索700的示意图。如图所示,运动搜索700示出了当前图像702和参考图像704。当前图像702和参考图像704分别包括通过帧内预测进行译码的刷新区域706、通过帧间预测进行译码的刷新区域705,以及未刷新区域708。刷新区域705、刷新区域706以及未刷新区域708分别类似于图6中的刷新/干净区域610中的第一区域610A、刷新/干净区域610中的第二区域610B以及未刷新/脏区域612。
在运动搜索过程中,约束或防止编码器选择指向参考块712的任何运动矢量710,参考块712包括位于刷新区域705和刷新区域706外部的样本。即使参考块712在预测当前图像702中的当前块714时提供最佳率失真成本标准,这种情况也会发生。但是,使用这种约束条件确保了刷新区域705和刷新区域706不参考任何脏数据,因此在相关GDR图像用作随机接入点时不会变得不可解码。
图8是在使用GDR(例如GDR600)时用于初始化HRD(例如HRD500)的示例性码流800的示意图。例如,码流800可以由编解码系统200和/或编码器300生成,以由编解码系统200和/或解码器400根据方法100进行解码。
码流800包括SPS810、多个图像参数集(pictureparameterset,PPS)811、多个条带头815以及图像数据820。SPS810包括码流800中包括的编码视频序列中的所有图像共用的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、码率限制等。PPS811包含应用于整个图像的参数。因此,视频序列中的每个图像可以参考PPS811。需要说明的是,虽然每个图像都参考PPS811,但是在一些示例中,单个PPS811可以包含多个图像的数据。例如,多个类似的图像可以根据类似的参数进行译码。在这种情况下,单个PPS811可以包括这些类似图像的数据。PPS811可以表示可用于对应图像中条带的译码工具、量化参数、偏移等。条带头815包括图像中的每个条带特有的参数。因此,视频序列中的每个条带可以有一个条带头815。条带头815可以包含条带类型信息、POC、参考图像列表、预测权重、分块入口点、去块效应参数等。需要说明的是,在一些上下文中,条带头815也可以被称为分块组头。需要说明的是,在一些示例中,码流800还可以包括图像头,图像头是一种语法结构,包括应用于单个图像中所有条带的参数。因此,图像头和条带头815可以在一些上下文中互换使用。例如,某些参数可以在条带头815和图像头之间移动,这取决于这些参数是否对图像中的所有条带是共用的。
图像数据820包含根据帧间预测和/或帧内预测进行编码的视频数据以及对应的变换和量化残差数据。例如,视频序列包括多个图像823。图像823是预期在视频序列中的对应时刻向用户完整或部分显示的完整图像。图像823可以包括在单个AU821中。AU821是一个编码单元(codingunit),用于存储单个经译码图像823,以及可选地存储一个或多个标头,例如条带头815。这些标头包括描述对经译码图像823进行译码所使用的译码机制的参数。图像823包括一个或多个条带825。条带825可以被定义为图像823中的整数个完整分块或(例如分块内的)整数个连续完整CTU行,这些分块或CTU行仅包括在单个NAL单元中。条带825进一步划分成CTU和/或编码树块(codingtreeblock,CTB)。CTU是一组预定义大小的样本,可以通过编码树(codingtree)分割。CTB是CTU的子集,包括CTU的亮度分量或色度分量。CTU/CTB根据编码树进一步划分成编码块。然后,编码块可以根据预测机制进行编码/解码。
如上所述,当码流800包括根据GDR600进行译码的图像823时,一些视频译码系统可以不用于执行HRD500。这是因为HRD500可以用于在IRAP图像处开始执行一致性测试。BPSEI消息817可以用于解决这个问题。BPSEI消息817可以与GDRAU相关联。例如,BPSEI消息817可以包括在每个AU821的码流800中,每个AU821包括GDR图像(例如GDR周期中的第一个图像)。SEI消息是一种具有指定语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。因此,SEI消息用于指示(signal)与码流800的解码不直接相关的参数。BPSEI消息817是包括HRD参数836的SEI消息,这些参数用于初始化HRD以管理CPB,例如CPB543。CPB可以在一个指定时间段内保存/缓冲图像。因此,BPSEI消息817可以用于指定CPB处的缓冲周期。HRD参数836包括支持HRD初始化的任何参数。例如,HRD参数836可以包括初始CPB移除时延。CPB移除时延是当前图像在移除之前可以保存在CPB中的一段时间。CPB移除时延可以用于在GDRAU在解码顺序中的位置上初始化HRD。因此,BPSEI消息817可以用于在GDR图像处初始化HRD,因此支持在码流包括GDR图像时应用码流一致性测试。此外,BPSEI消息817中的HRD参数836可以向解码器指示码流800已经经过一致性测试。因此,BPSEI消息817中的HRD参数836可以向解码器指示解码器能够对码流800进行解码。
码流800还可以包括支持使用GDR的其它机制。例如,条带头815或对应的图像头可以包括无先前图像输出(nooutputofpriorpics)标志831。无先前图像输出标志831可以设置在GDR图像的标头中,GDR图像包括在GDRAU中。无先前图像输出标志831可以设置为向解码器指示在到达恢复图像之前,不需要输出GDR周期中的图像。然后,可以在不显示部分解码的图像的情况下显示恢复图像。这些部分解码的图像是部分根据脏数据重建的。
此外,码流800可以在条带头815或对应的图像头等中包括POCLSB值833和恢复POC值835。POCLSB值833包括POC值中的一个或多个最低阶位。POCLSB值833可以与GDR图像相关联,因此可以指示GDR图像的POC的LSB。例如,POCLSB值833可以作为ph_pic_order_cnt_lsb值包括在标头中。ph_pic_order_cnt_lsb值可以表示在当前图像为GDR图像时的当前图像的POC对最大POCLSB取模的值。恢复POC值835指示与GDR图像相关联的恢复点图像的POC。例如,恢复POC值835可以与POCLSB值833包括在相同的标头中。此外,恢复POC值835可以指示(signal)为恢复POC编号(recovery_poc_cnt)值。recovery_poc_cnt值将输出顺序中的经解码图像的恢复点表示为GDRPOC与恢复点图像POC之间的POC编号差值。此外,POCLSB值833可以在标头中位于恢复POC值835之前。这样,解码器可以解析标头,以获取POCLSB值833并确定GDRPOC。解码器可以解析标头,以获取恢复POC值835。由于GDRPOC已经根据POCLSB值833确定出,因此恢复POC值835可以立即解析出,从而可以确定出恢复点图像POC。这样,解码器可以避免在解析出GDR图像的POCLSB值833之前将未解析的恢复POC值835存储到存储器中。因此,码流800包括参考HRD和/或参考解码器等描述的支持增加GDR功能的各种机制。因此,参考码流800描述的机制可以增加编码器和/或解码器的功能。此外,参考码流800描述的机制可以提高译码效率和/或减少编码器侧和/或解码器侧的处理器资源、存储器资源和/或网络通信资源的使用。
下面更详细地描述上述信息。实现高效视频编码(highefficiencyvideocoding,HEVC)的视频译码系统可以使用多个IRAP图像。具体地,在HEVC中,IDR图像、断点连接接入(brokenlinkaccess,BLA)图像以及CRA图像都视为IRAP图像。使用VVC的视频译码系统可以将IDR图像和CRA图像用作IRAP图像。IRAP图像可以提供以下功能/优势。IRAP图像的存在可以指示解码过程可以从该图像开始。这个功能支持随机接入功能,其中,只要IRAP图像存在于码流中的一个位置上,解码过程就可以在该位置上开始,即使这个位置不一定是码流的起始位置。IRAP图像的存在还可以刷新解码过程,使得解码顺序上在IRAP图像之后译码的图像,不包括跳过随机接入前置(randomaccessskippedleading,RASL)图像,在不参考IRAP图像之前的图像的情况下进行译码。因此,可能在对IRAP图像之前的图像进行解码时发生的任何译码错误可以不通过IRAP图像传播到解码顺序在IRAP图像之后的图像中。
IRAP图像提供了各种功能,但降低了压缩效率。例如,IRAP图像的存在会导致码率激增。压缩效率降低有两个原因。首先,IRAP图像是帧内预测图像。因此,表示IRAP图像会比表示其它帧间预测图像使用更多的比特。其次,IRAP图像的存在可能会中断时间预测。这是因为IRAP图像可以刷新解码过程并从DPB中移除先前的参考图像。因此,解码顺序在IRAP图像之后的图像的译码效率可能会降低,因为在执行帧间预测译码时,可供这些图像选择的参考图像较少。
在视为IRAP图像的图像类型中,IDR图像与其它图像类型相比可以使用不同的指示和推导方式。其中一些区别如下所述。为了指示和推导IDR图像的POC值,POC的最高有效位(mostsignificantbit,MSB)部分可能不是根据前一关键图像推导出的,而是可以设置为0。为了指示参考图像管理使用的信息,IDR图像的条带头可以不包括辅助参考图像管理的信息。CRA图像和后置图像等其它图像类型可以包括参考图像集(referencepictureset,RPS)或参考图像列表信息等信息,以支持参考图像标记过程。参考图像标记过程是一种用于确定DPB中参考图像的状态为“用于参考”或“不用于参考”的过程。但是,对于IDR图像,可以不指示(signal)这些信息,因为IDR图像的存在表示解码过程需要将DPB中的所有参考图像标记为“不用于参考”。
前置图像(如果存在)与IRAP图像相关联。前置图像是解码顺序在相关联的IRAP图像之后但显示/输出顺序在该IRAP图像之前的图像。根据译码配置和图像参考结构,前置图像进一步划分为两种类型。第一种类型是当解码过程在相关联的IRAP图像处开始时可能无法正确解码的前置图像。这些图像称为跳过随机接入前置(randomaccessskippedleading,RASL)图像。RASL图像在这种情况下可能不可解码,因为RASL图像是在参考解码顺序在IRAP图像之前的图像的情况下进行译码的。第二种类型是即使在解码过程在相关联的IRAP图像处开始时也可以正确解码的前置图像。这些图像称为可解码随机接入前置(randomaccessdecodableleading,RADL)图像。RADL图像可以进行解码,因为RADL图像是在没有直接或间接参考解码顺序在IRAP图像之前的图像的情况下进行译码的。一些视频译码系统使用约束条件,使得当RASL图像和RADL图像与相同的IRAP图像相关联时,RASL图像需要在输出顺序上位于RADL图像之前。
IRAP图像和前置图像分配有不同的NAL单元类型,以支持由系统级应用进行识别。例如,视频拼接器可以用于确定经译码图像的类型,无需重新观看经译码码流中的详细语法元素。例如,视频拼接器可以从非IRAP图像中识别IRAP图像,并从后置图像中识别前置图像,包括确定RASL图像和RADL图像。后置图像是与IRAP图像相关联的且输出顺序在IRAP图像之后的图像。当图像在解码顺序上跟随特定IRAP图像,并且在解码顺序上优先于任何其它IRAP图像时,该图像与该特定IRAP图像相关联。因此,为IRAP图像和前置图像分配不同的NAL单元类型支持这些应用。
图像类型的一些示例性NAL单元类型如下所述。伴随前置图像的BLA(BLA_W_LP)是解码顺序可以在一个或多个前置图像之前的断点连接接入(BrokenLinkAccess,BLA)图像的NAL单元。伴随RADL图像的BLA(BLA_W_RADL)是解码顺序可以在一个或多个RADL图像之前但不在RASL图像之前的BLA图像的NAL单元。未伴随前置图像的BLA(BLA_N_LP)是解码顺序不在前置图像之前的BLA图像的NAL单元。伴随RADL图像的IDR(IDR_W_RADL)是解码顺序可以在一个或多个RADL图像之前但不在RASL图像之前的IDR图像的NAL单元。未伴随前置图像的IDR(IDR_N_LP)是解码顺序不在前置图像之前的IDR图像的NAL单元。CRA是后面可以跟随着前置图像(例如,RASL图像和RADL图像中的一种或两种)的CRA图像的NAL单元。RADL是RADL图像的NAL单元。RASL是RASL图像的NAL单元。
对于低时延应用,避免IRAP图像可能是有益的,因为IRAP图像译码比非IRAP图像译码需要相对更大的码率,这种更大码率需求会导致延迟和/或时延增加。但是,在所有低时延应用中,不可能完全避免使用随机接入点。例如,多方电话会议等对话应用可能需要提供新用户可以加入远程会议的常规点。
渐进式帧内刷新(progressiveintrarefresh,PIR)是一种示例性机制,可以用于在不使用IRAP图像的情况下将随机接入点提供到码流中。这种方法可以使得新用户加入多方远程会议应用,同时避免增加与IRAP图像相关的码率峰值。PIR也可以称为逐步解码刷新(gradualdecodingrefresh,GDR)和/或逐步随机接入(gradualrandomaccess,GRA)。图6示出了一种用于执行GDR的示例性机制。GDR技术应用于从GDR图像开始的多个图像。GDR图像包括一个区域,该区域中的所有经译码块都被译码为帧内预测块。该区域可以称为刷新区域/干净区域。GDR图像其余部分中的块可以被译码为帧间预测块。该区域可以称为未刷新区域/脏区域。在位于GDR图像之后的后续图像中,使用帧内预测块进行译码的区域沿一致的方向(例如从左到右)移动。这种机制缩小了包括帧间预测块的脏区域。对于每个后续图像,与先前图像中的干净区域并置的区域可以根据帧间预测进行译码,这增大了干净区域/刷新区域的大小。当前图像中的干净区域只能通过帧间预测来参考位于参考图像中的干净区域中的块。
使用HEVC的视频系统可以通过使用恢复点SEI消息和区域刷新信息SEI消息,非规范地支持GDR。这些SEI消息可能不定义执行GDR的方式,但可以提供一种机制来指示GDR周期中的(例如恢复点SEI消息中的)第一个图像和最后一个图像以及(例如区域刷新信息SEI消息中的)被刷新的区域。GDR可以通过约束帧内预测(constraintintraprediction,CIP)和用于运动矢量的编码器约束条件来执行。CIP可以用于对帧内译码区域进行译码,因为CIP确保帧内译码区域不参考未刷新区域中的样本。CIP可能会导致译码性能下降,因为相关约束条件既应用于刷新区域中的帧内译码块,也应用于图像中的所有帧内译码块。用于运动矢量的编码器约束条件通过限制编码器使用参考图像中的位于刷新区域外部的任何样本进行应用。这种约束条件可能会导致非最佳运动搜索。图7示出了使用编码器限制条件支持GDR而产生的示例性非最佳运动搜索。在运动搜索过程中,防止编码器选择参考块中的位于刷新区域外部的任何样本的任何运动矢量。即使在根据率失真成本标准,该参考块是最佳参考块时,也会保持这个条件。
基于CIP和编码器约束条件方法的GDR的一种示例性实现方式可以概括如下。帧内预测模式以列为单位应用于编码单元(codingunit)。启用约束帧内预测是为了确保帧内预测编码单元的重建。约束运动矢量指向刷新区域内部,同时考虑额外的边缘(例如6个像素),以避免滤波器错误扩散。重新循环帧内预测列时,先前的参考图像可能会被移除。GDR的另一种示例性实现方式可以用于表示图像用作GDR周期中的第一个图像和最后一个图像。这个示例可以概括如下:具有NAL单元类型恢复点指示的NAL单元可以用作非视频编码层(videocodinglayer,VCL)NAL单元。NAL单元的载荷包括语法元素,用于表示可以用于推导GDR周期中的最后一个图像的POC值的信息。包括具有类型恢复点指示的非VCLNAL单元的接入单元可以称为恢复点开始(RecoveryPointBegin,RBP)接入单元。RBP接入单元中的图像称为RBP图像。解码过程可以从RBPAU开始。当解码从RBPAU开始时,GDR周期中除最后一个图像外,所有图像都不输出进行显示。
在一种示例性实现方式中,使用VVC来实现GRA的视频译码系统可以使用以下元素,使得编码视频序列(codedvideosequence,CVS)能够开始于未完全进行帧内译码的GRA图像。SPS中的gra_enabled_flag可以表示是否存在GRA图像。GRA_NUT是表示GRA图像的NAL单元类型。条带头中的recovery_poc_cnt可以表示对应的图像为恢复图像,因此该图像开始新的CVS,恢复图像和后续图像可以根据GRA周期中的图像进行正确解码。CVS可以通过在CRA图像之后开始CVS的类似方式从GRA图像开始。
上述方面存在一些问题。例如,使用GRA图像的VVC实现方式可能不支持为包括GRA图像的码流指定HRD参数和定义HRD一致性操作。因此,这些码流的解码能力要求可能不清楚,例如开始于GRA图像的码流。
一般情况下,本发明描述了用于支持为包括GDR图像的视频码流指定码流一致性机制的方法。例如,这种支持可以通过定义机制来管理这些码流的HRD来实现。本文中所使用的技术的描述以VVC实现方式为基础,但也可以应用于其它视频编解码规范。
上述一个或多个问题可以解决如下。例如,本发明包括一种方法,该方法指定HRD参数并可以定义HRD一致性操作,这些操作可以对包括GRA图像的码流执行。例如,NalHrdBpPresentFlag可以设置为1,或者VclHrdBpPresentFlag可以设置为1,以表示CVS何时存在HRD参数。在这种情况下,缓冲周期SEI消息可以与每个GRA接入单元相关联。进一步地,缓冲周期SEI消息可以包括HRD参数。相应地,HRD参数可供GRA接入单元使用,并且HRD操作可以在任何GRA接入单元处进行初始化。例如,包括多个GRA接入单元的视频码流可以包括GRA图像。码流可以由解码器解码。每个GRA接入单元都可以与缓冲周期SEI消息相关联。解码器可以至少根据与GRA接入单元相关联的缓冲周期SEI消息,对从其中一个GRA接入单元开始的视频码流进行解码。又如,编码器可以对视频码流进行编码。例如,编码器可以通过将每个GRA图像编码到码流中的一个接入单元内,对多个GRA图像进行编码。对于每个GRA图像,编码器可以对相关缓冲周期SEI消息进行编码。下面包括了一个或多个示例性实现方式。
示例性通用条带头语法如下所示。
Figure BDA0003338681060000201
示例性序列结束RBSP语义如下所述。序列结束RBSP(如果存在)表示当前接入单元是编码视频序列中在解码顺序上的最后一个接入单元,码流中在解码顺序上的下一个接入单元(如果存在)是IRAP接入单元或GRA接入单元。数据位字符串(stringofdatabits,SODB)的语法内容和用于序列结束RBSP的RBSP为空。
示例性通用条带头语义如下所述。条带头语法元素slice_pic_parameter_set_id、slice_pic_order_cnt_lsb、no_output_of_prior_pics_flag以及slice_temporal_mvp_enabled_flag(如果存在)中的每一个的值在经译码图像的所有条带头中可以是相同的。在解码不是码流中的第一个图像的编码视频序列起始(codedvideosequencestart,CVSS)图像之后,no_output_of_prior_pics_flag可能会影响解码图像缓冲区中先前解码的图像的输出。
用于在解码当前图像之前从DPB中移除图像的示例性机制如下所述。当该当前图像是非图像零的CVSS图像时,可以应用以下按顺序执行的步骤。变量NoOutputOfPriorPicsFlag可以如下所述为测试解码器推导出。如果从活动SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或者sps_max_dec_pic_buffering_minus1[HighestTid]的值分别与从用于前一图像的活动SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或者sps_max_dec_pic_buffering_minus1[HighestTid]的值不同,则NoOutputOfPriorPicsFlag可以(但不需要)由测试解码器设置为1,不考虑no_output_of_prior_pics_flag的值。虽然在这些条件下,可以优选将NoOutputOfPriorPicsFlag设置为no_output_of_prior_pics_flag,但是在这种情况下,测试解码器可以将NoOutputOfPriorPicsFlag设置为1。否则,NoOutputOfPriorPicsFlag可以被设置为no_output_of_prior_pics_flag。为测试解码器推导出的NoOutputOfPriorPicsFlag的值应用于HRD,使得当NoOutputOfPriorPicsFlag的值等于1时,DPB中的所有图像存储缓冲区都被清空,而不输出它们包括的图像,并且DPB满度被设置为0。
示例性码流一致性如下所述。码流中的第一个经译码图像应该是IRAP图像(例如IDR图像或CRA图像)或GRA图像。
从DPB中输出和移除图像的示例如下所述。如果当前图像是非图像零的CVSS图像,则可以应用以下按顺序执行的步骤。变量NoOutputOfPriorPicsFlag可以如下所述为测试解码器推导出。如果从活动SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或者sps_max_dec_pic_buffering_minus1[HighestTid]的值分别与从用于前一图像的活动SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或者sps_max_dec_pic_buffering_minus1[HighestTid]的值不同,则NoOutputOfPriorPicsFlag可以(但不需要)由测试解码器设置为1,不考虑no_output_of_prior_pics_flag的值。虽然在这些条件下,优选将NoOutputOfPriorPicsFlag设置为no_output_of_prior_pics_flag,但是在这种情况下,测试解码器可以将NoOutputOfPriorPicsFlag设置为1。否则,NoOutputOfPriorPicsFlag可以被设置为no_output_of_prior_pics_flag。
为测试解码器推导出的NoOutputOfPriorPicsFlag的值可以如下所述应用于HRD。如果NoOutputOfPriorPicsFlag等于1,则DPB中的所有图像存储缓冲区都可能被清空,而不输出它们包括的图像,而且DPB满度可以被设置为0。否则(NoOutputOfPriorPicsFlag等于0),包括标记为不需要输出且不用于参考的图像的所有图像存储缓冲区都可能被清空(没有输出),DPB中的所有非空图像存储缓冲区可以通过反复调用碰撞(bumping)过程来清空,而且DPB满度可以被设置为0。
示例性缓冲周期SEI消息语义如下所述。缓冲周期SEI消息的存在可以规定如下。如果NalHrdBpPresentFlag等于1或者VclHrdBpPresentFlag等于1,则以下内容可以适用于CVS中的每个接入单元。如果接入单元是IRAP接入单元或GRA接入单元,则适用于操作点的缓冲周期SEI消息可以与该接入单元相关联。否则,如果接入单元包括notDiscardablePic,则适用于操作点的缓冲周期SEI消息可以与该接入单元相关联或者可以不与该接入单元相关联。否则,接入单元可能不与适用于操作点的缓冲周期SEI消息相关联。否则(NalHrdBpPresentFlag和VclHrdBpPresentFlag都等于0),CVS中的任何接入单元都可能不与缓冲周期SEI消息相关联。当该当前图像包括缓冲周期SEI消息且concatenation_flag等于1时,当前图像可以不使用cpb_removal_delay_minus1。在一些情况下,上述约束条件能够通过在用于IRAP图像或GRA图像的缓冲周期SEI消息中将concatenation_flag的值从0改为1,在拼接点处拼接码流(使用参考结构)。当concatenation_flag等于0时,上述约束条件使得解码器能够检查约束条件是否满足,以检测图像prevNonDiscardablePic是否丢失。
示例性图像定时SEI消息语义如下所述。对于未通过碰撞过程输出的图像,因为它们在解码顺序中位于no_output_of_prior_pics_flag等于1或被推断为等于1的CVSS图像之前,从dpb_output_delay推导出的输出时间可以随着PicOrderCntVal的值相对于相同CVS内的所有图像增加而增加。
图9为示例性视频译码设备900的示意图。视频译码设备900适用于实现本文中描述的公开示例/实施例。视频译码设备900包括下行端口920、上行端口950和/或收发单元(Tx/Rx)910。收发单元910包括发送器和/或接收器,用于通过网络在上行和/或下行进行数据通信。视频译码设备900还包括处理器930和存储器932。处理器930包括逻辑单元和/或中央处理单元(centralprocessingunit,CPU),以处理数据。存储器932用于存储数据。视频译码设备900还可以包括与上行端口950和/或下行端口920耦合的电子组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电、光或无线通信网络进行数据通信。视频译码设备900还可以包括输入和/或输出(input/output,I/O)设备960,用于与用户进行数据通信。I/O设备960可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备960还可以包括键盘、鼠标、轨迹球等输入设备和/或与上述输出设备进行交互的对应接口。
处理器930通过硬件和软件实现。处理器930可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmablegatearray,FPGA)、专用集成电路(application-specificintegratedcircuit,ASIC)和数字信号处理器(digitalsignalprocessor,DSP)。处理器930与下行端口920、Tx/Rx910、上行端口950和存储器932通信。处理器930包括译码模块914。译码模块914实现本文中描述的公开实施例,例如方法100、方法1000和/或方法1100,它们可以使用GDR600和/或码流800。译码模块914还可以实现本文中描述的任何其它方法/机制。此外,译码模块914可以实现编解码系统200、编码器300、解码器400和/或HRD500。例如,译码模块914可以与GDR图像的BPSEI消息相关联。此外,译码模块914可以将POCLSB值放置在与图像相关联的标头中的恢复图像顺序编号值之前。因此,译码模块914使得视频译码设备900在对视频数据进行译码时提供其它功能和/或提高译码效率。因此,译码模块914改进了视频译码设备900的功能,并解决了视频译码领域特有的问题。此外,译码模块914可以将视频译码设备900变换到不同的状态。或者,译码模块914可以实现为存储在存储器932中并由处理器930执行的指令(例如,存储在非瞬时性介质中的计算机程序产品)。
存储器932包括一种或多种存储器类型,例如磁盘、磁带机、固态硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(randomaccessmemory,RAM)、闪存、三态内容寻址存储器(ternarycontent-addressablememory,TCAM)、静态随机存取存储器(staticrandomaccessmemory,SRAM)等。存储器932可以用作溢出数据存储设备,以在选择程序用于执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。
图10是在初始化HRD(例如HRD500)的同时将采用GDR(例如GDR600)的视频序列编码到码流(例如码流800)中的示例性方法1000的流程图。方法1000可以由编码器(例如编解码系统200、编码器300和/或视频译码设备900)在执行方法100时使用。
方法1000可以开始于:编码器接收到包括多个图像的视频序列,并根据用户输入等确定将所述视频序列编码到码流中。在步骤1001中,编码器可以将包含图像的GDRAU以及与所述GDRAU相关联的BPSEI消息编码到码流中。例如,所述GDRAU中的所述图像可以是GDR图像。进一步地,所述GDR图像可以包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域。在一个具体示例中,所述根据帧间预测进行译码的区域可以是脏区域,所述根据帧内预测进行译码的区域可以是干净区域。所述BPSEI消息可以包含HRD参数。所述HRD参数(因此,所述BPSEI消息)可以包括初始CPB移除时延,所述初始CPB移除时延可以用于在所述码流中的所述GDRAU在解码顺序中的位置上对HRD进行初始化。所述HRD参数还可以具有指示解码器能够对所述码流进行解码的作用。
在步骤1003中,所述编码器可以将与所述GDR图像相关联的标头编码到所述码流中。所述标头可以包括条带头、图像头或它们的组合。当所述GDRAU中的所述图像为GDR图像时,所述编码器可以在所述图像的标头中设置无先前图像输出标志。所述无先前图像输出标志可以防止GDR周期中位于恢复点图像之前的图像在解码器上输出。所述编码器还可以在所述标头中设置POCLSB值和恢复POC值。在与所述图像相关联的所述标头中,所述POCLSB值可以位于所述恢复POC值之前,从而在解码器上,所述POCLSB值可以在所述恢复POC值之前进行解析。
在步骤1005中,所述编码器可以根据所述BPSEI消息,对HRD进行初始化。例如,所述HRD可以使用HRD参数来定义所述HRD上的操作。进一步地,由于所述GDR图像与所述BPSEI消息之间的关联,可以在到达所述GDR图像时对所述HRD进行初始化。在步骤1007中,所述编码器可以通过所述HRD(例如基于HRD参数)对所述码流执行一次或多次HRD一致性测试。在步骤1009中,所述编码器可以存储所述码流,以发送到解码器。
图11是在HRD(例如HRD500)已经指示码流为一致的码流时,从码流(例如码流800)中解码出采用GDR(例如GDR600)的视频序列的示例性方法1100的流程图。方法1100可以由解码器(例如编解码系统200、解码器400和/或视频译码设备900)在执行方法100时使用。
方法1100可以开始于:解码器开始接收表示视频序列的经译码数据的码流(例如,方法1000的结果)。在步骤1101中,解码器可以接收码流。所述码流可以包括GDRAU、与所述GDRAU相关联的标头以及与所述GDRAU相关联的BPSEI消息。所述标头可以是条带头和/或图像头。例如,所述GDRAU中的图像可以是GDR图像。进一步地,所述GDR图像可以包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域。在一个具体示例中,所述根据帧间预测进行译码的区域可以是脏区域,所述根据帧内预测进行译码的区域可以是干净区域。所述BPSEI消息可以包含HRD参数。所述HRD参数(因此,所述BPSEI消息)可以包括初始CPB移除时延,所述初始CPB移除时延可以用于在所述码流中的所述GDRAU在解码顺序中的位置上对编码器上的HRD进行初始化。所述HRD参数可以向所述解码器指示所述解码器能够对所述码流进行解码。所述标头可以包含无先前图像输出标志。可以在所述GDRAU中的所述GDR图像的标头中设置所述无先前图像输出标志。当设置了所述无先前图像输出标志时,所述解码器避免输出GDR周期中位于恢复点图像之前的图像进行显示,从而避免显示部分基于脏数据重建的不完整图像。所述标头还可以包含所述GDR图像的POCLSB值和恢复POC值。在与所述图像相关联的所述标头中,所述POCLSB值可以位于所述恢复POC值之前,从而所述POCLSB值可以在所述恢复POC值之前进行解析。因此,所述解码器可以解析所述GDR图像的所述POCLSB值以及相关联的恢复点图像的恢复POC值。
在步骤1103中,所述解码器可以对所述GDRAU中的图像、恢复点图像、所述SEI消息和/或相应的视频序列进行解码。在步骤1105中,所述解码器还可以转发所述图像,以作为解码视频序列的一部分进行显示。
图12是用于在采用HRD(例如HRD500)的同时将采用GDR(例如GDR600)的视频序列编码到码流(例如码流800)中的示例性系统1200的示意图。系统1200可以由编码器和解码器(例如,编解码系统200、编码器300、解码器400和/或视频译码设备900)实现。此外,系统1200可以在实现方法100、方法1000和/或方法1100时使用。
系统1200包括视频编码器1202。所述视频编码器1202包括编码模块1203,用于将GDRAU以及与所述GDRAU相关联的BPSEI消息编码到码流中。所述视频编码器1202还包括初始化模块1204,用于根据所述BPSEI消息,对假想参考解码器(hypotheticalreferencedecoder,HRD)进行初始化。所述视频编码器1202还包括HRD模块1205,用于通过所述HRD对所述码流执行HRD一致性测试。所述视频编码器1202还包括存储模块1206,用于存储所述码流,以发送给解码器。所述视频编码器1202还包括发送模块1207,用于将所述码流发送给视频解码器1210。所述视频编码器1202还可以用于执行方法1000的任一步骤。
系统1200还包括视频解码器1210。所述视频解码器1210包括接收模块1211,用于接收码流,其中,所述码流包括GDRAU以及与所述GDRAU相关联的BPSEI消息。所述视频解码器1210还包括解码模块1213,用于对所述GDRAU中的图像以及所述SEI消息进行解码。所述视频解码器1210还包括转发模块1215,用于转发所述图像,以作为解码视频序列的一部分进行显示。所述视频解码器1210还可以用于执行方法1100的任一步骤。
当第一组件与第二组件之间除线、迹线或其它介质之外不存在中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除线、迹线或其它介质之外还存在中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字±10%的范围。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同理,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
虽然本发明提供了若干个实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明的示例将被视为说明性而非限制性的,且本发明并不限于本文中所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者一些特征可以省略或不实施。
另外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法组合或集成。其它变更、替换、更改示例能够由本领域技术人员确定,并且可以在不脱离本文公开的精神和范围的情况下进行。

Claims (20)

1.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,其中,所述码流包括逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息;
所述解码器的处理器对所述GDRAU中的图像以及所述BPSEI消息进行解码。
2.根据权利要求1所述的方法,其特征在于,所述BPSEI消息提供初始编码图像缓冲区(codedpicturebuffer,CPB)移除时延,用于在所述GDRAU在解码顺序中的位置上对假想参考解码器(hypotheticalreferencedecoder,HRD)进行初始化。
3.根据权利要求1和2中任一项所述的方法,其特征在于,当所述GDRAU中的所述图像为GDR图像时,会在所述图像的标头中设置无先前图像输出标志。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述码流包括与所述图像相关联的标头,其中,所述标头包括图像顺序编号最低有效位值以及恢复图像顺序编号值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在与所述图像相关联的所述标头中,所述图像顺序编号最低有效位值位于所述恢复图像顺序编号值之前。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述BPSEI消息包含HRD参数,所述HRD参数指示所述解码器能够对所述码流进行解码。
7.根据权利要求1至6中任一项所述的方法,其特征在于,当所述图像包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域时,所述图像是GDR图像。
8.一种在编码器中实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息编码到码流中;
所述处理器根据所述BPSEI消息,对假想参考解码器(hypotheticalreferencedecoder,HRD)进行初始化;
所述处理器通过所述HRD对所述码流执行一致性测试。
9.根据权利要求8所述的方法,其特征在于,所述BPSEI消息包括初始编码图像缓冲区(codedpicturebuffer,CPB)移除时延,用于在所述GDRAU在解码顺序中的位置上对所述HRD进行初始化。
10.根据权利要求8至10中任一项所述的方法,其特征在于,所述方法还包括:当所述GDRAU中的图像为GDR图像时,在所述图像的标头中设置无先前图像输出标志。
11.根据权利要求8至10中任一项所述的方法,其特征在于,所述方法还包括:将与所述图像相关联的标头编码到所述码流中,其中,所述标头包括图像顺序编号最低有效位值以及恢复图像顺序编号值。
12.根据权利要求8至11中任一项所述的方法,其特征在于,在与所述图像相关联的所述标头中,所述图像顺序编号最低有效位值位于所述恢复图像顺序编号值之前。
13.根据权利要求8至12中任一项所述的方法,其特征在于,所述BPSEI消息包含HRD参数,所述HRD参数指示解码器能够对所述码流进行解码。
14.根据权利要求8至13中任一项所述的方法,其特征在于,当所述图像包括根据帧间预测进行译码的区域和根据帧内预测进行译码的区域时,所述图像是GDR图像。
15.一种视频译码设备,其特征在于,所述视频译码设备包括:
处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器以及与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据权利要求1至14中任一项所述的方法。
16.一种非瞬时性计算机可读介质,其特征在于,所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据权利要求1至14中任一项所述的方法。
17.一种解码器,其特征在于,所述解码器包括:
接收模块,用于接收码流,其中,所述码流包括逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息;
解码模块,用于对所述GDRAU中的图像以及所述BPSEI消息进行解码;
转发模块,用于转发所述图像,以作为解码视频序列的一部分进行显示。
18.根据权利要求17所述的解码器,其特征在于,所述解码器还用于执行根据权利要求1至7中任一项所述的方法。
19.一种编码器,其特征在于,所述编码器包括:
编码模块,用于将逐步解码刷新(gradualdecodingrefresh,GDR)接入单元(accessunit,AU)以及与所述GDRAU相关联的缓冲周期(bufferingperiod,BP)补充增强信息(supplementalenhancementinformation,SEI)消息编码到码流中;
初始化模块,用于根据所述BPSEI消息,对假想参考解码器(hypotheticalreferencedecoder,HRD)进行初始化;
HRD模块,用于通过所述HRD对所述码流执行一致性测试;
存储模块,用于存储所述码流,以发送给解码器。
20.根据权利要求19所述的编码器,其特征在于,所述编码器还用于执行根据权利要求8至14中任一项所述的方法。
CN202080033742.8A 2019-05-06 2020-04-30 用于逐步解码刷新的假想参考解码器 Pending CN113796085A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962843999P 2019-05-06 2019-05-06
US62/843,999 2019-05-06
PCT/US2020/030639 WO2020226991A1 (en) 2019-05-06 2020-04-30 Hypothetical reference decoder for gradual decoding refresh

Publications (1)

Publication Number Publication Date
CN113796085A true CN113796085A (zh) 2021-12-14

Family

ID=73051697

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080033742.8A Pending CN113796085A (zh) 2019-05-06 2020-04-30 用于逐步解码刷新的假想参考解码器
CN202080033677.9A Pending CN113796081A (zh) 2019-05-06 2020-04-30 视频译码中的恢复点指示

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080033677.9A Pending CN113796081A (zh) 2019-05-06 2020-04-30 视频译码中的恢复点指示

Country Status (7)

Country Link
US (2) US20220060693A1 (zh)
EP (2) EP3959890A4 (zh)
JP (3) JP7462679B2 (zh)
KR (2) KR20220003084A (zh)
CN (2) CN113796085A (zh)
MX (2) MX2021013535A (zh)
WO (2) WO2020226991A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220115958A (ko) 2019-12-26 2022-08-19 바이트댄스 아이엔씨 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들
KR20220114557A (ko) 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
WO2021134018A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of decoded picture buffer parameters in layered video
JP2023508680A (ja) 2019-12-27 2023-03-03 バイトダンス インコーポレイテッド ビデオコーディングにおけるサブピクチャシグナリング
WO2021142369A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Signalling of the wavefront parallel processing
EP4300957A1 (en) * 2022-06-30 2024-01-03 Nokia Technologies Oy A method, an apparatus and a computer program product for implementing gradual decoding refresh

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
US9420307B2 (en) * 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US20140079138A1 (en) * 2012-09-14 2014-03-20 Sony Corporation Simplifiication of pic_order_cnt_lsb calculation in hm8
US9398293B2 (en) 2013-01-07 2016-07-19 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
CN104919803B (zh) * 2013-01-15 2017-09-12 华为技术有限公司 一种用于解码视频比特流的方法
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information

Also Published As

Publication number Publication date
CN113796081A (zh) 2021-12-14
WO2020226991A1 (en) 2020-11-12
JP2022531482A (ja) 2022-07-06
MX2021013535A (es) 2022-01-31
US20220060694A1 (en) 2022-02-24
KR20220003084A (ko) 2022-01-07
JP7443398B2 (ja) 2024-03-05
EP3957069A1 (en) 2022-02-23
MX2021013536A (es) 2022-01-31
JP7462679B2 (ja) 2024-04-05
EP3957069A4 (en) 2022-06-22
KR20220003618A (ko) 2022-01-10
US20220060693A1 (en) 2022-02-24
JP2024028361A (ja) 2024-03-04
JP2022531481A (ja) 2022-07-06
WO2020226992A1 (en) 2020-11-12
EP3959890A4 (en) 2022-07-06
EP3959890A1 (en) 2022-03-02

Similar Documents

Publication Publication Date Title
CN115002467B (zh) 用于分辨率改变的解码图像缓冲区操作的方法和设备
JP7443398B2 (ja) 漸次復号リフレッシュのための仮想参照デコーダ
CN114430906B (zh) 用于实现时间可适性的图像时序和解码单元信息
CN115037945B (zh) 用于视频译码中的参考图像重采样的多个图像大小和符合性窗口的处理
CN114827600A (zh) 视频译码中的混合nal单元图像约束
CN114900697B (zh) 由编码器/解码器实现的方法、视频译码设备及计算机可读介质
CN113632478A (zh) 利用前置图像的交错视频译码
CN114731385A (zh) 视频译码中用于多视图的同播层
KR20210105980A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
CN114424527A (zh) 用于指定层的可伸缩嵌套式sei消息
KR20210104900A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
US20220159285A1 (en) Alf aps constraints in video coding

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