CN115552911A - 视频编解码中语法元素的通用约束信息和信令 - Google Patents

视频编解码中语法元素的通用约束信息和信令 Download PDF

Info

Publication number
CN115552911A
CN115552911A CN202180035075.1A CN202180035075A CN115552911A CN 115552911 A CN115552911 A CN 115552911A CN 202180035075 A CN202180035075 A CN 202180035075A CN 115552911 A CN115552911 A CN 115552911A
Authority
CN
China
Prior art keywords
flag
equal
picture
pic
value
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
CN202180035075.1A
Other languages
English (en)
Inventor
朱弘正
修晓宇
陈漪纹
马宗全
陈伟
郭哲玮
王祥林
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN115552911A publication Critical patent/CN115552911A/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)

Abstract

提供了一种用于解码视频数据的方法、装置和非暂时性计算机可读存储介质。解码器接收与视频数据相关联的比特流。该解码器处从该比特流中获得语法元素。该语法元素可指示条带是双向预测条带(B‑条带)。该解码器基于该语法元素对该视频数据进行解码。

Description

视频编解码中语法元素的通用约束信息和信令
相关申请的交叉引用
本申请基于并且要求于2020年5月20日提交的临时申请No.63/027,950以及于2020年5月26日提交的临时申请No.63/030,295的优先权,这些临时申请的全部内容通过引用完整地并入本文。
技术领域
本申请涉及视频编解码和压缩。更具体地,本申请涉及用于视频编解码中语法元素的通用约束信息和信令的***和方法。
背景技术
可以使用各种视频编解码技术来压缩视频数据。根据一种或多种视频编解码标准执行视频编解码。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编码(H.265/HEVC)、高级视频编码(H.264/AVC)、运动图像专家组(MPEG)编码等。视频编解码通常使用利用视频图像或序列中存在的冗余的预测方法(如帧间预测、帧内预测等)。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
将在以下章节中详细阐述与视频编解码和参考图片管理相关的一些背景知识。
发明内容
本公开的实施例提供了用于视频编解码中的语法的方法和装置。
根据本公开的第一方面,提供一种对视频数据进行解码的方法。该方法可以包括解码器接收与视频数据相关联的比特流。该解码器还从该比特流中获得语法元素。该解码器还基于该语法元素对该视频数据进行解码。
将理解的是,以上一般描述和以下详细描述仅仅是示例并且是说明性的,而并不旨在对本公开进行限制。
附图说明
被并入说明书中并且构成说明书的一部分的附图示出了根据本公开的示例,并且与本描述一起用于解释本公开的原理。
图1是根据本公开的一个示例的编码器的框图。
图2是根据本公开的一个示例的解码器的框图。
图3A是示出了根据本公开的一个示例的多类型树结构中的块分区的示图。
图3B是示出了根据本公开的一个示例的多类型树结构中的块分区的示图。
图3C是示出了根据本公开的一个示例的多类型树结构中的块分区的示图。
图3D是示出了根据本公开的一个示例的多类型树结构中的块分区的示图。
图3E是示出了根据本公开的一个示例的多类型树结构中的块分区的示图。
图4是示出了根据本公开的一个示例的分成CTU的图片的示图。
图5A是示出了根据本公开的一个示例的多类型树分割模式的示图。
图5B是示出了根据本公开的一个示例的多类型树分割模式的示图。
图5C是示出了根据本公开的一个示例的多类型树分割模式的示图。
图5D是示出了根据本公开的一个示例的多类型树分割模式的示图。
图6是示出了根据本公开的一个示例的渐进帧内刷新的示图。
图7是根据本公开的一个示例的用于对视频数据进行解码的方法。
图8是示出了根据本公开的一个示例的与用户界面耦合的计算环境的示图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开中使用的术语仅出于描述具体实施例的目的,并不旨在对本公开进行限制。如在本公开和所附权利要求中使用的,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还应理解,本文使用的术语“和/或”旨在表示并包括一个或多个相关列出的项目的任何或所有可能的组合。
应当理解,尽管在本文中可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应被这些术语所限制。这些术语仅用于将一类信息与另一类信息区分开来。例如,在不脱离本申请的范围的情况下,第一信息可以称为第二信息;同理,第二信息也可以称为第一信息。如本文所用,根据上下文,术语“如果”可以理解为表示“何时”或“在”或“响应于判断”。
从概念上来讲,前面所提及的视频编解码标准是相似的。例如,它们都使用基于块的处理,并共享相似的视频编解码框图来实现视频压缩。图1示出了这些标准的典型编码器框图。
图1示出了用于VVC的基于块的视频编码器的总体图。具体来讲,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、反量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138和比特流144。
在编码器100中,视频帧被分割成多个视频块用于处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法形成预测。
表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差异的预测残差被从加法器128发送到变换130。然后从变换130发送变换系数到量化132以用于熵降。然后将量化系数馈送到熵编码138以生成压缩视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142,如视频块分区信息、运动矢量(MV)、参考图片索引和帧内预测模式,也通过熵编码138被馈送并保存到压缩比特流144中。压缩比特流144包括视频比特流。
在编码器100中,还需要与解码器相关的电路以重构用于预测目的的像素。首先,通过反量化134和逆变换136重构预测残差。将这种重构的预测残差与块预测值140组合以生成用于当前视频块的未滤波的重构像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已编码相邻块的样点(称为参考样点)的像素来预测当前视频块。
时间预测(也称为“帧间预测”)使用来自已编码视频图片的重构像素来预测该当前视频块。时间预测减少了视频信号中固有的时间冗余。用于给定编码单元(CU)或编码块的时间预测信号通常由一个或多个运动矢量(MV)用信号表示,这些运动矢量指示当前CU与其时间参考之间的运动量和运动方向。此外,如果支持多个参考图片,则额外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片库中的哪个参考图片。
运动估计114接收视频输入110和来自图片缓存器120的信号并且将运动估计信号输出到运动补偿112。运动补偿112接收视频输入110、来自图片缓存器120的信号和来自运动估计114的运动估计信号,并将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策116基于如率失真优化方法选择最佳预测模式。然后从当前视频块中减去块预测值140,并且使用变换130和量化132将得到的预测残差去相关。得到的量化残差系数由反量化134反量化并由逆变换136逆变换以形成该重构的残差,然后将该重构的残差添加回该预测块以形成该CU的重构信号。可在该重构的CU被放入图片缓存器120的参考图片库并用于对未来的视频块进行编解码之前将环路滤波122(如去块滤波器、样点自适应偏移(SAO),和/或自适应环路滤波器(ALF))进一步应用于重构的CU。为了形成输出视频比特流144,编码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数都被发送到熵编码单元138以被进一步压缩和打包以形成该比特流。
在该编码器中,视频帧被分割成块以用于处理。对于每个给定的视频块,基于帧间预测或帧内预测形成预测。在帧间预测中,可以基于来自先前重构帧的像素,通过运动估计和运动补偿来形成预测值。在帧内预测中,可基于当前帧中的重构像素来形成预测值。通过模式决策,可以选择最佳的预测值来预测当前块。
预测残差(即当前视频块与它的预测值之间的差)被发送到变换模块。变换系数然后被发送到量化模块以用于熵降。量化的系数然后被馈送到熵编码模块,以生成压缩的视频比特流。
如图1所示(前面所述),来自帧间预测模块和/或帧内预测模块的预测相关信息,如块分割信息、运动矢量、参考图片索引和帧内预测模式,也被通过熵编码模块馈送并保存到比特流中。
在该编码器中,还需要与解码器相关的模块来重构像素以进行预测。首先,通过反量化和逆变换来重构预测残差。这种重构的预测残差与块预测值组合以生成当前块的未滤波的重构像素。
为了提高编解码效率和视觉质量,通常使用环路滤波器。例如,去块滤波器可用于AVC、HEVC以及当前的VVC中。在HEVC中,被称为样点自适应偏移(SAO)的附加环路滤波器被定义以进一步提高编解码效率。在最新的VVC中,被称为自适应环路滤波器(ALF)的又一环路滤波器正在被积极地研究,并且它很有可能被包括在最终标准中。
图2示出了用于这些标准的典型的解码器的框图。可以看出它与编码器中的重构相关部分几乎相同。具体来讲,图2示出了典型的解码器200的框图。解码器200具有比特流210、熵解码212、反量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。
解码器200类似于位于图1的编码器100中的重构相关部分。在解码器200中,输入视频比特流210首先通过熵解码212进行解码,以导出量化的系数水平和预测相关信息。然后通过反量化214和逆变换216处理量化的系数级别以获得重构的预测残差。在帧内/帧间模式选择器220中实现的块预测值机制被配置为基于解码的预测信息执行帧内预测222或运动补偿224。通过使用加法器218将来自逆变换216的重构预测残差与块预测值机制生成的预测输出相加来获得一组未滤波的重构像素。
该重构块在被存储在用作参考图片存储器的图片缓冲器226中之前可以进一步经过环路滤波器228。可发送图片缓冲器226中的重构视频以驱动显示设备,并且用于预测未来的视频块。在环路滤波器228开启的情况下,对这些重构像素执行滤波操作以导出最终的重构视频输出232。
在该解码器中,首先通过熵解码模块对比特流进行解码,以导出量化的系数级别和预测相关信息。然后通过反量化和逆变换模块对量化的系数级别进行处理以获得重构的预测残差。块预测值是通过帧内预测或基于解码的预测信息的运动补偿过程形成的。未滤波的重构像素是通过将重构的预测残差与块预测值相加得到的。在环路滤波器打开的情况下,则会对这些像素执行滤波操作以导出最终的重构视频以供输出。
HEVC标准的第一版本于2013年10月完成,与上一代视频编码标准H.264/MPEG AVC相比,它提供了大约50%的比特率节省或等效的感知质量。尽管HEVC标准比其前身提供了显著的编解码改进,但有证据表明,与HEVC相比,使用额外的编解码工具可以实现更高的编码效率。在此基础上,VCEG和MPEG都开始了对未来视频编解码标准化新编解码技术的探索工作。ITU-TVECG和ISO/IEC MPEG于2015年10月成立了一个联合视频探索小组(JVET),开始对能够显著提高编码效率的先进技术进行重大研究。JVET通过在HEVC测试模型(HM)之上集成若干额外的编解码工具来维护一种称为联合探索模型(JEM)的参考软件。
2017年10月,ITU-T和ISO/IEC发布了关于具有超越HEVC能力的视频压缩的联合征集提案(CfP)。2018年4月,在第10次JVET会议上收到并评估了23份CfP回复,表明压缩效率比HEVC提高了约40%。基于这样的评估结果,JVET启动了一个新项目来开发新一代视频编解码标准,称为多功能视频编码(VVC)。同月,建立了一个名为VVC测试模型(VTM)的参考软件代码库,用于演示VVC标准的参考实现。
与HEVC一样,VVC建立在基于块的混合视频编解码框架之上。图1给出了通用的基于块的混合视频编码***的框图。输入视频信号被逐块处理(称为编码单元(CU))。在VTM-1.0中,一个CU可达128x128像素。然而,与仅基于四叉树划分块的HEVC不同,在VVC中,将一个编码树单元(CTU)拆分为多个CU,以适应基于四叉树/二叉树/三叉树的不同局部特征。此外,去除了HEVC中多分区单元类型的概念,即VVC中不再存在CU、预测单元(PU)和变换单元(TU)的分离;相反,每个CU始终用作预测和变换的基本单元,而无需进一步分区。在多类型树结构中,一个CTU首先被四叉树结构划分。然后,每个四叉树的叶子节点可以通过二叉树和三叉树结构被进一步划分。
图3A示出了根据本公开的多类型树结构中的块四叉树分割的示图。
图3B示出了根据本公开的多类型树结构中的块垂直二叉树分割的示图。
图3C示出了根据本公开的多类型树结构中的块水平二叉树分割的示图。
图3D示出了根据本公开的多类型树结构中的块垂直三叉树分割的示图。
图3E示出了根据本公开的多类型树结构中的块水平三叉树分割的示图。
如图3A-3E所示,有五种分割类型,四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。在图1中,可以进行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中已编码相邻块的样点(称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已编码视频图片的重构像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常由指示当前CU与其时间参考之间的运动量和运动方向的一个或多个运动矢量(MV)通过信号发送。此外,如果支持多个参考图片,则额外发送一个参考图片索引,该参考图片索引用于识别时间预测信号来自参考图片存储中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块选择最佳预测模式,例如,基于率失真优化方法。然后从当前视频块中减去该预测块;并且使用变换对预测残差进行去相关并将其量化。对量化后的残差系数进行反量化和逆变换,形成重构残差,然后将其加回预测块,以形成该CU的重构信号。可在重构的CU被放入参考图片存储器并用于编码以后的视频块之前将另一个环路滤波应用于该重构的CU,如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)。为了形成输出视频比特流,(帧间或帧内)编解码模式、预测模式信息、运动信息和量化的残差系数都被发送到熵编码单元以进一步压缩和打包来形成该比特流。
图2(如上所述)给出了基于块的视频解码器的总体框图。首先在熵解码单元对该视频比特流进行熵解码。编解码模式和预测信息被发送到空间预测单元(如果是帧内编码)或时间预测单元(如果是帧间编码)以形成预测块。这些残差变换系数被发送到反量化单元和逆变换单元以重构该残差块。然后将预测块和残差块相加。可以在重构块被存储在参考图片存储器中之前对其进行进一步的环路滤波。然后将参考图片存储器中的重构视频发送出去以驱动显示设备,并用于预测以后的视频块。
一般而言,VVC中应用的基本帧内预测方案与HEVC保持相同,只是进一步扩展和/或改进了几个模块,如矩阵加权帧内预测(MIP)编码模式、帧内子分区(ISP)编解码模式、具有广角帧内方向的扩展帧内预测、位置相关帧内预测组合(PDPC)和4抽头帧内插值。本公开的主要重点是改进VVC标准中现有的通用约束信息设计。相关背景知识在以下章节中详细阐述。
与HEVC一样,VVC使用基于NAL单元的比特流结构。编码的比特流被划分为多个NAL单元,当通过有损分组网络传输时,这些NAL单元应小于最大传输单元尺寸。每个NAL单元由NAL单元报头和随后的NAL单元有效载荷组成。NAL单元有两个概念上的分类。视频编码层(VCL)NAL单元包含已编码样点数据,如已编码的条带NAL单元,而非VCL NAL单元包含通常属于多于一个编码图片的元数据,或者与单个已编码图片的关联将毫无意义,如参数集NAL单元,或者在解码过程不需要信息时,如SEI NAL单元。
VVC继承了HEVC的参数集概念,并进行了一些修改和添加。参数集可以是该视频比特流的一部分,也可以由解码器通过其它方式接收(包括使用可靠通道的带外传输、编码器和解码器中的硬编码等)。参数集包含一个标识,该标识直接或间接地从条带头部引用,这将在后面详细地讨论。引用过程称为“激活”。根据参数集类型,激活发生在每个图片或每个序列中。除了其它原因之外,还引入了通过引用激活的概念,因为在带外传输的情况下,凭借该信息在比特流中的位置(与视频编解码器的其它语法元素一样常见)的隐式激活不可用。
引入视频参数集(VPS)以传达适用于多个层以及子层的信息。引入VPS是为了解决这些缺点,并实现多层编解码器的干净和可扩展的高级设计。给定视频序列的每一层,无论它们是否具有相同或不同的序列参数集(SPS),都指的是同一个VPS。
在VVC中,SPS包含适用于编码视频序列的所有条带的信息。已编码的视频序列从作为比特流中的第一张图片并且包括不是IDR或BLA图片的所有后续图片的瞬时解码刷新(IDR)图片或BLA图片或CRA图片开始。比特流由一个或多个已编码的视频序列组成。SPS的内容大致可以细分为六类:1)自引用(自己的ID);2)解码器操作点相关信息(轮廓、水平、图片尺寸、子层数等);3)在轮廓中启用某些工具的标志,以及在启用工具的情况下相关的编解码工具参数;4)限制结构灵活性和变换系数编解码的信息;5)时间可扩展性控制;6)视觉可用性信息(VUI),包括HRD信息。
对于SPS中的与解码器操作点相关的信息,存在指示在整个比特流中不能被违反的属性的约束标志的列表。这些约束标志被封装到它们自己的语法结构general_constraint_info()中。当前VVC草案规范中通用约束信息的语法和相关语义分别在表1和表2中说明。
表1通用约束信息语法
Figure BDA0003942583000000091
Figure BDA0003942583000000101
Figure BDA0003942583000000111
表2通用约束信息语义
Figure BDA0003942583000000112
Figure BDA0003942583000000121
Figure BDA0003942583000000131
Figure BDA0003942583000000141
Figure BDA0003942583000000151
Figure BDA0003942583000000161
Figure BDA0003942583000000171
Figure BDA0003942583000000181
Figure BDA0003942583000000191
Figure BDA0003942583000000201
VVC的图片参数集(PPS)包含可以在图片之间改变的信息。该PPS包含的信息与HEVC中PPS的部分内容大致相当,包括:1)自参考;2)初始图片控制信息,如初始量化参数(QP)、指示使用或存在条带头部中某些工具或控制信息的标志的数量;3)平铺信息。
条带头部包含可以在条带之间改变的信息,以及相对较小或仅与某些条带或图片类型相关的图片相关信息。条带头部的尺寸可能明显大于PPS,尤其是当条带头部和RPS中存在瓦片或波前入口点偏移时,预测权重或参考图片列表修改被明确通过信号发送。
通用视频编解码(VVC)
在第10次JVET会议(2018年4月10日至20日,美国圣地亚哥)上,JVET将通用视频编解码(VVC)和VVC测试模型1(VTM1)的初稿定义为其参考软件实现。决定包含一个带有嵌套多类型树的四叉树作为VVC的初始新编码特性。多类型树是一种编码块划分结构,包括二元划分和三元划分。从那时起,通过以下JVET会议开发和更新了参考软件VTM,实现了编码和解码过程。
在VVC中,输入视频的图片被分割成称为编码树单元(CTU)的块。使用具有嵌套多类型树结构的四叉树将CTU拆分为编码单元(CU),其中CU定义共享相同预测模式(如帧内或帧间模式)的像素区域。在本文中,术语“单元”定义了图像的涵盖了所有分量(如亮度和色度分量)的一个区域;术语“块”用于定义覆盖特定分量(如亮度分量)的区域,并且在考虑色度采样格式(例如4:2:0)时,不同分量(如亮度和色度分量)的块在空间位置上可能不同。
将图片分割成CTU
图片被划分为编码树单元(CTU)的序列。CTU概念与其在HEVC的概念相同。对于具有三个样点阵列的图片,一个CTU由一个N×N的亮度样点块和两个色度样点对应的块组成。
图4示出了将图片划分为CTU的示例。
CTU中的亮度块的最大允许尺寸表明为128×128(但亮度变换块的最大尺寸是64×64)。
使用树结构对CTU进行分割
在HEVC中,使用表示为编码树的四叉树结构将CTU拆分为CU,以适应各种局部特征。以CU级别决定使用图片间(时间)预测还是图片内(空间)预测对图片区域进行编码。根据PU拆分类型,每个CU可以进一步拆分为一个、两个或四个PU。在一个PU内部,应用同一预测过程,并且以PU为基础将相关信息传输到解码器。在通过应用基于PU分割类型的预测过程获得残差块之后,可以根据类似于用于CU的编码树的另一种四叉树结构将该CU划分为变换单元(TU)。HEVC结构的关键特征之一是它具有多个分区概念,包括CU、PU和TU。
在VVC中,用使用二元和三元划分分割结构的具有嵌套多类型树的四叉树替代多个分割单元类型的概念,即它去除了CU、PU和TU概念的分离,除非需要具有对于最大变换长度太大的尺寸的CU,并支持CU分区形状的更大灵活性。在编码树结构中,CU可以具有正方形或矩形形状。编码树单元(CTU)首先由四叉树结构进行划分。然后可以通过多类型树结构进一步划分四叉树的叶子节点。如图5A-5D所示,多类型树结构中有四种划分类型。
图5A示出了垂直二元划分(SPLIT_BT_VER)。
图5B示出了水平二元划分(SPLIT_BT_HOR)。
图5C示出了垂直三元划分(SPLIT_TT_VER)。
图5D示出了水平三元划分(SPLIT_TT_HOR)。
多类型的叶子节点被称为编码单元(CU),除非CU对于最大变换长度来说太大,否则该分割用于预测和变换处理,而不需要任何进一步的分割。这意味在大多数情况下,CU、PU和TU在具有嵌套多类型树编码块结构的四叉树中具有相同的块尺寸。例外发生在支持的最大变换长度小于CU的颜色分量的宽度或高度时。
VVC中的语法
在VVC中,语法信令的第一层比特流是网络抽象层(NAL),其中比特流被划分为NAL单元集合。一些NAL单元通过信号向解码器发送公共控制参数,如序列参数集(SPS)和图像参数集(PPS)。其它NAL单元包含视频数据。视频编码层(VCL)NAL单元包含编码视频的条带。编码的图片称为访问单元,并且可以编码为一个或多个条带。
编码视频序列以瞬时解码器刷新(IDR)图片开始。以下所有视频图片都被编码为条带。一个新的IDR图片表示前一个视频片段结束且新的视频片段开始。每个NAL单元以单字节头部开始,随后是原始字节序列有效负载(RBSP)。RBSP包含编码条带。条带是二进制编码的,因此可以用零位填充它们以确保长度是整数字节数。条带由条带头部和条带数据组成。条带数据被表明为一系列CU。
在第16次JVET会议中采用了图片头部概念,作为图片的第一个VCL NAL单元被每个图片传输一次。还提出了将条带头部中先前的一些语法元素分组到该图片头部。功能上只需要每张图片传输一次的语法元素可以移动到图片头部,而不是在给定图片的条带中多次传输。
在VVC规范中,语法表表明所有允许的比特流的语法的超集。可以在其它子句中直接或间接表明对语法的附加约束。下面是VVC中条带头部和图片头部的语法表,分别为表3和表4。一些语法的语义也在语法表之后说明。
表3条带头部的语法
Figure BDA0003942583000000231
Figure BDA0003942583000000241
Figure BDA0003942583000000251
Figure BDA0003942583000000261
Figure BDA0003942583000000271
表4图片头部的语法
Figure BDA0003942583000000272
Figure BDA0003942583000000281
Figure BDA0003942583000000291
Figure BDA0003942583000000301
Figure BDA0003942583000000311
Figure BDA0003942583000000321
Figure BDA0003942583000000331
Figure BDA0003942583000000341
所选语法元素的语义
ph_temporal_mvp_enabled_flag表明时间运动矢量预测值是否可以用于与图片头(PH)相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则与PH相关联的条带的语法元素应受到约束,以便在对这些条带进行解码时不使用时间运动矢量预测值。否则(ph_temporal_mvp_enabled_flag等于1),时间运动矢量预测值可用于对与PH相关联的条带进行解码。当ph_temporal_mvp_enabled_flag不存在时,ph_temporal_mvp_enabled_flag的值被推断为等于0。当解码图片缓冲区(DPB)中没有参考图片具有与当前图片相同的空间分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。
基于子块的合并MVP候选的最大数量MaxNumSubblockMergeCand推导如下:
若(sps_affine_enabled_flag),
则,MaxNumSubblockMergeCand=5
-five_minus_max_num_subblock_merge_cand (1);
否则,
MaxNumSubblockMergeCand=
sps_sbtmvp_enabled_flag&&ph_temporal_mvp_enabled_flag
MaxNumSubblockMergeCand的值应在0到5的范围内,包括端点。
slice_collocated_from_l0_flag等于1表明用于时间运动向量预测的同位图片是从参考图片列表0导出的。slice_collocated_from_l0_flag等于0表明用于时间运动向量预测的同位图片是从参考图片列表1导出的。
当slice_type等于B或P时,ph_temporal_mvp_enabled_flag等于1,并且slice_collocated_from_l0_flag不存在,以下适用:
–如果rpl_info_in_ph_flag等于1,则slice_collocated_from_l0_flag被推断为等于ph_collocated_from_l0_flag。
–否则(rpl_info_in_ph_flag等于0且slice_type等于P),推断slice_collocated_from_l0_flag的值等于1。
slice_collocated_ref_idx表明用于时间运动矢量预测的同位图片的参考索引。
当slice_type等于P或slice_type等于B并且slice_collocated_from_l0_flag等于1时,slice_collocated_ref_idx是指参考图片列表0中的条目,并且slice_collocated_ref_idx的值应在0到NumRefIdxActive[0]-1的范围内,包括端点。
当slice_type等于B并且slice_collocated_from_l0_flag等于0时,slice_collocated_ref_idx是指参考图片列表1中的条目,并且slice_collocated_ref_idx的值应在0到NumRefIdxActive[1]-1的范围内,包括端点。
当slice_collocated_ref_idx不存在时,以下适用:
—如果rpl_info_in_ph_flag等于1,则推断slice_collocated_ref_idx的值等于ph_collocated_ref_idx。
—否则(rpl_info_in_ph_flag等于0),推断slice_collocated_ref_idx的值等于0。
slice_collocated_ref_idx所引用的图片对于编码图片的所有条带应相同,这是比特流一致性的要求。
slice_collocated_ref_idx引用的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应等于0,这是比特流一致性的要求。
应注意,RprConstraintsActive[i][j]的值是在VVC规范的第8.3.2节中导出的,如下所述。
参考图片列表构建的解码过程
该过程在针对非IDR图片的每个条带的解码过程开始时被调用。
通过参考索引来寻址参考图片。参考索引是参考图片列表的索引。在对I条带进行解码时,在解码条带数据时不使用参考图片列表。在对P条带进行解码时,在解码条带数据时仅使用参考图片列表0(即RefPicList[0])。在解码B条带时,参考图片列表0和参考图片列表1(即,RefPicList[1])都用于解码条带数据。
在针对非IDR图片的每个条带的解码处理开始时,导出参考图片列表RefPicList[0]和RefPicList[1]。这些参考图片列表用于第8.3.3节中表明的参考图片的标记或条带数据的解码。
注1–对于非IDR图片的不是图片的第一个条带的I条带,可以导出RefPicList[0]和RefPicList[1]以用于比特流一致性检查,但它们的导出不是解码当前图片或按照解码顺序在当前图片之后的图片所必需的。对于不是图片的第一条带的P条带,可以导出RefPicList[1]以用于比特流一致性检查目的,但其导出对于当前图片或按照解码顺序在当前图片之后的图片的解码不是必需的。
参考图片列表RefPicList[0]和RefPicList[1]、参考图片缩放比率RefPicScale[i][j][0]和RefPicScale[i][j][1]以及参考图片缩放标志RprConstraintsActive[0][j]和RprConstraintsActive[1][j]推导如下:
Figure BDA0003942583000000361
Figure BDA0003942583000000371
Figure BDA0003942583000000381
fRefWidth设为等于参考图片RefPicList[i][j]的PicOutputWidthL
fRefHeight设为等于参考图片RefPicList[i][j]的PicOutputHeightLrefPicWidth、refPicHeight、refScalingWinLeftOffset、refScalingWinRightOffset、refScalingWinTopOffset和refScalingWinBottomOffset设为分别等于该参考图片RefPicList[i][j]的pic_width_in_luma_samples、pic_height_in_luma_samples、scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的值
RefPicScale[i][j][0]=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL
RefPicScale[i][j][1]=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL
RprConstraintsActive[i][j]=(pic_width_in_luma_samples!=refPicWidth||pic_height_in_luma_samples!=refPicHeight||scaling_win_left_offset!=refScalingWinLeftOffset||scaling_win_right_offset!=refScalingWinRightOffset||scaling_win_top_offset!=refScalingWinTopOffset||scaling_win_bottom_offset!=refScalingWinBottomOffset)
}
}
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset表明应用于图片尺寸以进行缩放比率计算的偏移量。当scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset不存在时,scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset和scaling_win_bottom_offset的值被推断为分别等于pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)的值应小于pic_width_in_luma_samples,并且SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)的值应小于pic_height_in_luma_samples。
变量PicOutputWidthL和PicOutputHeightL导出如下:
PicOutputWidthL=pic_width_in_luma_samples-SubWidthC*(scaling_win_right_offset+scaling_win_left_offset) (3)
PicOutputHeightL=pic_height_in_luma_samples-SubWidthC*(scaling_win_bottom_offset+scaling_win_top_offset) (79)
令refPicOutputWidthL和refPicOutputHeightL分别是参考该PPS的当前图片的参考图片的PicOutputWidthL和PicOutputHeightL。是满足以下所有条件的比特流一致性要求:
–PicOutputWidthL*2应大于或等于refPicWidthInLumaSamples。
–PicOutputHeightL*2应大于或等于refPicHeightInLumaSamples。
–PicOutputWidthL应小于或等于refPicWidthInLumaSamples*8。
–PicOutputHeightL应小于或等于refPicHeightInLumaSamples*8。
–PicOutputWidthL*pic_width_max_in_luma_samples应大于或等于refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))。
–PicOutputHeightL*pic_height_max_in_luma_samples应大于或等于refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))。
NAL单元语法
与HEVC类似,在VVC规范中,在每个NAL单元的开头通过信号发送一个总长度为两个字节的NAL单元报头表,以表明该NAL单元的基本信息。表5示出了当前NAL单元报头中存在的语法元素。
表5 NAL单元报头的语法
Figure BDA0003942583000000401
在表5中,第一位是forbidden_zero_bit,用于表明在传输过程中是否有任何错误发生。0表示NAL单元正常,而1表示存在语法违规。因此,对于正常的比特流,其对应的值应等于0。下一个比特是nuh_reserved_zero_bit,为将来使用而保留并且应等于0。随后的6个比特用于表明语法nuh_layer_id的值,用于标识NAL单元所属的层。nuh_layer_id的值应在0到55的范围内,包括端点。nuh_layer_id的其它值保留供将来使用。之后,语法元素nal_unit_type用于表明NAL单元类型,即NAL单元中包含的RBSP数据结构的类型,如下表所示。
表6 NAL单元类型
Figure BDA0003942583000000402
Figure BDA0003942583000000411
Figure BDA0003942583000000421
渐进解码刷新
低延迟和错误恢复是实际视频传输***应该考虑的两个重要因素。周期性***IRAP图片的帧内刷新通常用于限制时间图片之间的错误传播并增强比特流的错误恢复能力。然而,由于帧间编码的编码效率远优于帧内编码,因此相对较大尺寸的帧内图片在通过固定传输速率的网络发送时可能会导致延迟问题。这可能导致不希望的网络拥塞和数据包丢失。为了解决这个问题,渐进解码刷新(GDR)被应用于VVC标准中,其将帧内编码区域分布在多个帧间图像之间,如图6所示。
图6示出了说明根据本公开的渐进解码刷新的示图。610是第一图片的帧内区域。612是第一图片的脏区。614是第二图片的净区。616是第二图片的帧内区域。618是第二图片的脏区。620是第三图片的净区。622是第三图片的帧内区域。624是第三图片的脏区。626是第四图片的净区。628是第四图片的帧内区域。630是第四图片的脏区。
如图6所示,定义了三个区域。净区对应于在当前GDR周期期间已刷新的像素,脏区对应于一个尚未刷新的区域,并且表示应用帧内编码的编码块的区域。GDR的原理是确保使用仅来自同一GDR周期内时间参考图片的刷新区域的像素来重构来自净区的像素。在当前的VVC中,在图片头部中有通过信号发送的与GDR相关的三个语法元素ph_gdr_or_irap_pic_flag、ph_gdr_pic_flag和ph_recovery_poc_cnt。表7说明了图片头中的相应GDR信令以及相关联的语义。
表7 GDR信令
Figure BDA0003942583000000431
Figure BDA0003942583000000441
ph_gdr_or_irap_pic_flag等于1表明当前图片是GDR或IRAP图片。ph_gdr_or_irap_pic_flag等于0表明当前图片不是GDR图片,而且可能是也可能不是IRAP图片。
ph_gdr_pic_flag等于1表明与该PH相关联的图片是GDR图片。ph_gdr_pic_flag等于0表明与该PH相关联的图片不是GDR图片。当ph_gdr_pic_flag不存在时,推断ph_gdr_pic_flag的值等于0。当sps_gdr_enabled_flag等于0时,ph_gdr_pic_flag的值应等于0。
注1–当ph_gdr_or_irap_pic_flag等于1且ph_gdr_pic_flag等于0时,与该PH相关联的图片是IRAP图片。
ph_recovery_poc_cnt表明按输出顺序的解码图片的恢复点。
当前图片为GDR图片时,变量recoveryPointPocVal推导如下:
recoveryPointPocVal=PicOrderCntVal+ph_recovery_poc_cnt (4)
如果当前图片是GDR图片,并且在具有PicOrderCntVal等于recoveryPointPocVal的CLVS中存在按照解码顺序在当前GDR图片之后的图片picA,则图片picA被称为恢复点图片。否则,在CLVS中具有大于recoveryPointPocVal的PicOrderCntVal的按照输出顺序的第一个图片被称为恢复点图片。恢复点图片按照解码顺序不应位于当前GDR图片之前。与当前GDR图片相关联且PicOrderCntVal小于recoveryPointPocVal的图片称为GDR图片的恢复图片。ph_recovery_poc_cnt的值应在0到MaxPicOrderCntLsb-1的范围内,包括端点。
注3—当sps_gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关GDR图片的recoveryPointPocVal时,当前和后续解码的图片按照输出顺序与相应的图片完全匹配,通过从前一个IRAP图片启动的解码过程来产生这些相应的图片,当该前一个IRAP图片存在时,该前一个IRAP图片按解码顺序在相关联的GDR图片之前。
一个图片中的混合NAL类型
与一张图片内的条带的NAL类型必须相同的HEVC标准不同,如果一张图片内有IRAP和非IRAPNAL单元类型,则允许混合。这种功能的动机是使用子图片的基于区域的随机访问。例如,对于360度视频流,用户观看一个360度视频的某些区域比其它区域更多。为了更好地权衡编解码效率和平均视点切换时延,与其它区域相比,可以使用更频繁的IRAP图片对那些更经常观看的区域进行编码。为此,在PPS中引入了一个标志pps_mixed_nalu_types_in_pic_flag。当该标志等于1时,表示引用该PPS的每个图片具有多于一个NAL单元,并且这些NAL单元不具有相同的nal_unit_type值。否则(当标志等于0时),引用该PPS的每个图片具有一个或多个NAL单元,并且引用该PPS的每个图片的NAL单元具有相同的nal_unit_type值。此外,标志pps_mixed_nalu_types_in_pic_flag等于1,对于任何特定图片进一步应用一个比特流一致性约束,该特定图片中一些NAL单元具有特定的IRAPNAL单元类型,而其它的NAL单元具有特定的非IRAPNAL单元类型。换言之,任何特定图片的NAL单元不能有超过一种IRAPNAL单元类型,也不能具有超过一种非IRAPNAL单元类型,如下所述:
对于任何特定图片的VCL NAL单元,以下适用:
–若pps_mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有VCL NAL单元应相同,并且图片或PU被称为具有与该图片或PU的编码条带NAL单元相同的NAL单元类型。
–否则(pps_mixed_nalu_types_in_pic_flag等于1),以下适用:
–该图片应至少具有两个子图片。
–该图片的VCL NAL单元应具有两个或多个不同的nal_unit_type值。
–不应有该图片的nal_unit_type等于GDR_NUT的VCL NAL单元。
–当该图片的至少一个子图片的VCL NAL单元具有等于IDR_W_RADL、IDR_N_LP或CRA_NUT的特定的nal_unit_type值时,该图片中其它子图片的VCL NAL单元都应具有等于TRAIL_NUT的nal_unit_type。
对通用约束信息和语法元素的改进
在当前的VVC中,在通用约束信息中通过信号发送no_sbt_constraint_flag,而无任何约束。然而,由标志no_sbt_constraint_flag控制的特征仅适用于条带为帧间条带时。因此,当该条带为帧内条带时,no_sbt_constraint_flag的值应等于1。
类似地,在通用约束信息中通过信号发送no_act_constraint_flag和no_chroma_qp_offset_constraint_flag,而无任何约束。然而,由标志no_act_constraint_flag和no_chroma_qp_offset_constraint_flag控制的特征仅适用于色度格式不是单色时。因此,当该色度格式为单色时,这两个标志的值应等于1。
类似地,在另一示例中,在通用约束信息中通过信号发送no_mixed_nalu_types_in_pic_constraint_flag,而无任何约束。然而,标志no_mixed_nalu_types_in_pic_constraint_flag控制的特征仅适用于该图片有至少两个子图片时。因此,当该图片有一个子图片时,no_mixed_nalu_types_in_pic_constraint_flag的值应等于1。
类似地,在又一个示例中,在通用约束信息中通过信号发送no_prof_constraint_flag,而无任何约束。然而,由标志no_prof_constraint_flag控制的特征仅在仿射模式启用时才适用。因此,当仿射模式被禁用时,no_prof_constraint_flag的值应等于1。
类似地,在另一个示例中,在通用约束信息中通过信号发送no_bdpcm_constraint_flag,而无任何约束。然而,由标志no_bdpcm_constraint_flag控制的特征仅在转换跳过模式启用时适用。因此,当变换跳过模式被禁用时,no_bdpcm_constraint_flag的值应等于1。
还注意到,在当前的VVC中,通用约束信息语法中缺少若干编码工具。应添加这些编码工具标志以提供与其它工具相同的通用约束控制。
在当前VVC中,在该图片头部(PH)中通过信号发送mvd_l1_zero_flag,而无任何约束。然而,由标志mvd_l1_zero_flag控制的特征仅适用于该条带为双向预测条带(B-slice)时。因此,当与该图片头部相关联的条带不是B片时,该标志信令是多余的。
类似地,在另一示例中,仅在序列参数集(SPS)中通过信号发送的对应启用标志(sps_bdof_pic_present_flag、sps_dmvr_pic_present_flag)为真时,在PH中通过信号分别发送ph_disable_bdof_flag和ph_disable_dmvr_flag。然而,如表8所示,由标志ph_disable_bdof_flag和ph_disable_dmvr_flag控制的特征仅在条带是双向预测条带(B-slice)时适用。因此,当与图片头相关联的条带不是B条带时,这两个标志的信令是多余的或无用的。
表8标志特征
Figure BDA0003942583000000472
还可以在语法元素ph_collocated_from_l0_flag上看到另一个示例,以指示该同位图片来自列表0还是列表1。在语法pred_weight_table()中可以看到另一个示例,它是与用于双向预测的加权表相关的语法元素。
表9标志特征
Figure BDA0003942583000000473
Figure BDA0003942583000000471
Figure BDA0003942583000000481
Figure BDA0003942583000000491
第三个问题与语法ph_temporal_mvp_enabled_flag相关。在当前的VVC中,由于选择用于TMVP推导的同位图片的分辨率应与当前图片的分辨率相同,因此存在比特流一致性约束来检查ph_temporal_mvp_enabled_flag的值,如下所述:
当该DPB中没有参考图片具有与当前图片相同的空间分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。
然而,在当前的VVC中,不仅同位图片的分辨率会影响TMVP的启用,而且用于缩放比计算的图片尺寸的偏移也会影响TMVP的启用。然而,在当前的VVC中,在ph_temporal_mvp_enabled_flag的比特流一致性中没有考虑偏移。
此外,存在比特流一致性的要求,即slice_collocated_ref_idx所参考的图片对于编码图片的所有条带应该是相同的。然而,当一个编码图片有多个条带并且所有这些条带之间不存在共同的参考图片时,就没有机会满足这种比特流一致性。在这种情况下,ph_temporal_mvp_enabled_flag应该被限制为0。
根据当前的VVC规范,IRAP图片被称为一张图片,其中所有关联的NAL单元具有属于IRAP NAL类型的相同的nal_unit_type。具体来讲,下面的描述用于定义VVC规范中的IRAP图片:
帧内随机访问点(IRAP)图片:所有VCL NAL单元在IDR_W_RADL到CRA_NUT的范围内具有相同的nal_unit_type值的编码图片,包括端点。
注1–IRAP图片在其解码过程中不使用帧间预测,并且可以是CRA图片或IDR图片。比特流中按照解码顺序的第一张图片必须是IRAP或GDR图片。如果必要的参数集在需要引用时可用,则可以正确解码CLVS中的IRAP图片和所有后续非RASL图片,而无需执行按照解码顺序的该IRAP图片之前的任何图片的解码过程.
注2–IRAP图片的pps_mixed_nalu_types_in_pic_flag的值等于0。当图片的pps_mixed_nalu_types_in_pic_flag等于0并且该图片的任何条带具有IDR_W_RADL到CRA_NUT(包括端点)范围内的nal_unit_type时,该图片的所有其它条带具有相同的nal_unit_type值,并且该图片已知为IRAP图片。
由上可知,对于每个IRAP图片,该图片所引用的对应PPS的pps_mixed_nalu_types_in_pic_flag应该等于0。类似地,在当前的VVC规范中,GDR图片被称为一张图片,与该图片相关联的所有NAL的nal_unit_type应等于GDR_NUT,如为渐进解码刷新(GDR)图片所表明的那样:每个VCL NAL单元具有等于GDR_NUT的nal_unit_type的图片。
鉴于一个GDR图片的所有NAL单元必须具有相同的NAL类型,GDR图片所引用的对应PPS中的标志pps_mixed_nalu_types_in_pic_flag不能等于1。
另一方面,如在介绍部分中所讨论的,两个标志(即ph_gdr_or_irap_pic_flag和ph_gdr_pic_flag)在图片头部中被通过信号发送以指示一个图片是IRAP图片还是GDR图片。当标志ph_gdr_or_irap_pic_flag等于1并且标志ph_gdr_pic_flag等于0时,当前图片是IRAP图片。当标志ph_gdr_or_irap_pic_flag等于1并且标志ph_gdr_pic_flag等于1时,当前图片是GDR图片。根据当前的VVC规范,这两个标志被允许用信号表示为1或0,而不考虑PPS中标志pps_mixed_nalu_types_in_pic_flag的值。然而,如前所述,只有当图片中的NAL单元具有相同的nal_unit_type(即对应的pps_mixed_nalu_types_in_pic_flag必须为零)时,该图片才能是IRAP图片或GDR图片,。因此,当ph_gdr_or_irap_pic_flag和ph_gdr_pic_flag中的一个或两者都等于1(即,指示当前图片是IRAP图片或GDR图片)并且对应的pps_mixed_naly_types_in_pic_flag等于1(即指示当前图片中有多个NAL类型)时,图片头部中现有的IRAP/GDR信令是有问题的。
提出的方法
提出了几种方法来解决问题陈述部分中描述的问题。提供方法以简化和/或进一步改进高级语法的现有设计。注意,所提出的这些方法可以独立应用或组合应用。
由于no_sbt_constraint_flag标志控制的特征只适用于条带为帧间条带时,所以,根据本公开的方法,提出了在条带为帧间条带时增加no_sbt_constraint_flag的值应等于1的约束。VVC草案的解码过程的示例如下所示。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000511
由于标志no_act_constraint_flag和no_chroma_qp_offset_constraint_flag所控制的特征仅适用于色度格式不是单色时,根据本发明的方法,提出了增加当色度格式为单色时这两个标志的值应等于1的约束条件。VVC草案的解码过程的示例如下所示。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000512
Figure BDA0003942583000000521
下面说明了对VVC草案的解码过程的另一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000522
由于no_mixed_nalu_types_in_pic_constraint_flag标志所控制的特征仅适用于该图片具有至少两个子图片时,根据本公开的方法,提出了增加在该图片有一个子图片时no_mixed_nalu_types_in_pic_constraint_flag的值应等于1的约束条件。下面说明了对VVC草案的解码过程的另一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000523
Figure BDA0003942583000000531
由于no_prof_constraint_flag标志所控制的特征仅适用于仿射模式启用时,根据本公开的方法,提出了增加在仿射模式启用时no_prof_constraint_flag的值应等于1的约束条件。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000532
由于no_bdpcm_constraint_flag标志所控制的特征仅适用于变换跳过模式启用时,根据本公开的方法,提出了增加在变换跳过模式启用时no_bdpcm_constraint_flag的值应等于1的约束条件。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000533
通用约束信息语法中缺少若干编码工具。应添加这些编码工具标志以提供与其它标志相同的通用约束控制。
在当前VVC中,sps_conformance_window_flag等于1指明一致性修剪窗口偏移参数在SPS之后。根据本公开,提出了在通用约束信息语法中添加修剪函数的标志no_conformance_window_constraint_flag,以提供与其它标志相同的通用约束控制。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000541
Figure BDA0003942583000000542
在当前VVC中,sps_weighted_pred_flag等于1表明加权预测可以应用于参考SPS的P条带。sps_weighted_pred_flag等于0表明加权预测不应用于参考SPS的P条带。根据本公开,提出了在通用约束信息语法中添加语法元素no_weighted_pred_constraint_flag以提供与其它标志相同的通用约束控制。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。此外,鉴于加权预测仅在允许使用帧间编码工具时才适用,因此,提出了在仅允许对序列进行帧内编码时增加一个比特流一致性约束,即no_weighted_pred_constrant_flag的值应等于1。
Figure BDA0003942583000000543
Figure BDA0003942583000000544
Figure BDA0003942583000000551
在当前VVC中,sps_weighted_bipred_flag等于1表明显式加权预测可以应用于参考SPS的B条带。sps_weighted_bipred_flag等于0表明显式加权预测不应用于引用SPS的B条带。根据本公开,提出了在通用约束信息语法中添加语法元素no_weighted_bipred_constraint_flag,以提供与其它标志相同的通用约束控制。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。此外,提出了在仅允许对序列进行编码时增加一个比特流一致性约束,即no_weight_bipred_constraint_flag的值应等于1。
Figure BDA0003942583000000552
Figure BDA0003942583000000553
在当前VVC中,sps_virtual_boundaries_enabled_flag等于1表明禁用跨越虚拟边界的环路滤波被启用并且可以应用于CLVS中的编码图片。sps_virtual_boundaries_enabled_flag等于0表明禁用跨虚拟边界的环路滤波被禁用并且不应用于CLVS中的编码图片。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。根据本公开,提出了在通用约束信息语法中添加语法元素no_virtual_boundaries_constraint_flag以提供与其它标志相同的通用约束控制。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000561
Figure BDA0003942583000000562
在当前的VVC草案中,在通用约束信息语法表中有两个标志通过信号发送,即no_ref_pic_resampling_constraint_flag和no_res_change_in_clvs_constraint_flag。第一个标志指示编码序列中是否允许参考图片重采样功能,而第二个标志指示是否允许调整编码序列中的图片的分辨率。鉴于只有在启用参考图片重采样的情况下图片的分辨率才能彼此不同,提出了添加一个比特流一致性约束,即当no_ref_pic_resampling_constraint_flag的值等于1时,no_res_change_in_clvs_constraint_flag的值应该等于1,如下所述。同时,鉴于参考图片重采样是一种帧间编解码功能,当只允许帧内编码时,它不能被应用。因此,在只允许使用帧内编码工具时,增加了另一个比特流一致性约束来限制no_ref_pic_resampling_constraint_flag的值应等于1。
no_ref_pic_resampling_constraint_flag等于1表明sps_ref_pic_resampling_enabled_flag应等于0。no_ref_pic_resampling_constraint_flag等于0不施加这种约束。当intra_only_constraint_flag等于1时,no_ref_pic_resampling_constraint_flag的值应等于1。
no_res_change_in_clvs_constraint_flag等于1表明sps_res_change_in_clvs_allowed_flag应等于0。no_res_change_in_clvs_constraint_flag等于0不施加这种约束。当no_ref_pic_resampling_constraint_flag的值等于1时,no_res_change_in_clvs_constraint_flag的值应等于1。
在当前VVC中,pps_deblocking_filter_disabled_flag等于1表明去块滤波器的操作不适用于引用该PPS的条带,对于这些条带,以下两个条件之一为真:1)ph_deblocking_filter_disabled_flag和sh_deblocking_filter_disabled_flag不存在并被推断为等于;以及2)ph_deblockig_filter_disabled_flag或sh_deblocking_filter_disabled_flag存在且等于1。此外,pps_deblocking_filter_disabled_flag等于1还表明去块滤波器的操作适用于引用该PPS的条带,对于这些条带,以下两个条件之一为真:1)ph_deblocking_filter_disabled_flag和sh_deblocking_filter_disabled_flag不存在并推断为等于0;以及2)ph_deblocking_filter_disabled_flag或sh_deblocking_filter_disabled_flag存在并且等于0。pps_deblocking_filter_disabled_flag等于0表明去块滤波器的操作适用于引用该PPS的条带,对于这些条带,以下两个条件之一为真:1)ph_deblocking_filter_disabled_flag和sh_deblocking_filter_disabled_flag不存在;以及2)ph_deblocking_filter_disabled_flag或sh_deblocking_filter_disabled_flag存在且等于0。此外,deblocking_filter_disabled_flag等于0还表明去块滤波器的操作不适用于引用该PPS的条带,对于这些条带,ph_deblocking_filter_disabled_flag或sh_deblocking_filter_disabled_flag存在且等于1的PPS的条带。根据本公开,提出了在通用约束信息语法中添加语法元素no_deblocking_filter_constraint_flag以提供与其它标志相同的通用约束控制。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000581
Figure BDA0003942583000000582
下面说明了对VVC草案的解码过程的另一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000583
在当前VVC中,sps_num_subpics_minus1加1表明该CLVS中每个图片中的子图片的数量。sps_num_subpics_minus1的值应在0到Ceil(sps_pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(sps_pic_height_max_in_luma_samples÷CtbSizeY)-1的范围内,包括端点。当sps_num_subpics_minus1不存在时,sps_num_subpics_minus1的值被推断为等于0。根据本公开,提出了添加一个比特流一致性约束,即当one_subpic_per_pic_constraint_flag的值等于1时sps_num_subpics_minus1的值应该等于0。下面说明了对VVC草案的解码过程的一个示例。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000584
Figure BDA0003942583000000591
图7示出了根据本公开的用于对视频信号进行解码的方法。例如,该方法可以应用于解码器。
在步骤710中,解码器可接收与视频数据相关联的比特流。
在步骤712中,该解码器从该比特流中获得语法元素。
在步骤714中,该解码器基于该语法元素对该视频数据进行解码。
由于由标志mvd_l1_zero_flag、ph_disable_bdof_flag和ph_disable_dmvr_flag所控制的特征仅在该条带是双向预测条带(B-slice)时适用,因此根据本公开的方法,提出了仅在相关的条带是B条带时通过信号发送这些标志。注意,当参考图片列表在PH(如rpl_info_in_ph_flag=1)中通过信号发送时,意味着该编码图片的所有条带都使用在PH中通过信号发送的相同参考图片。因此,当参考图片列表在PH中通过信号发送并且通过信号发送的这些参考图片列表指示当前图片不是双向预测时,不需要通过信号发送标志mvd_l1_zero_flag、ph_disable_bdof_flag和ph_disable_dmvr_flag。
在第一实施例中,将一些条件添加到在图片头部(PH)中发送的那些语法以防止由于为图片头部中的一些语法发送的不正确的值而导致的冗余信令或未定义的解码行为。下面举例说明基于本实施例的一些示例,其中,变量num_ref_entries[i][RplsIdx[i]]表示列表i中的参考图片的数量。
若(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[0][RplsIdx[0]]>0&&num_ref_entries[1][RplsIdx[1]]>0))mvd_l1_zero_flag,
或者,可将这些条件写成给出相同结果的更紧凑的形式。因为一个双向预测条带(B-slice)或双向预测图片必须有至少一个list1参考图片,所以只能检查当前条带/图片是否有list1参考图片。替代条件检查的示例如下所示:
若(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0))mvd_l1_zero_flagmvd_l1_zero_flag的语义也被修改以处理未发信号通知时的情况。
mvd_l1_zero_flag等于1表示不解析mvd_coding(x0,y0,1)语法结构,设MvdL1[x0][y0][compIdx]和MvdCpL1[x0][y0][cpIdx][compIdx]对于compIdx=0..1和cpIdx=0..2等于0。mvd_l1_zero_flag等于0表示解析了mvd_coding(x0,y0,1)语法结构。当不存在时,mvd_l1_zero_flag的值被推断为0。
有条件地通过信号发送语法元素ph_disable_dmvr_flag的几个示例如下所示:
若(sps_dmvr_pic_present_flag&&(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[0][RplsIdx[0]]>0&&num_ref_entries[1][RplsIdx[1]]>0)))ph_disable_dmvr_flag
类似地,替代条件检查的示例如下所示:
若(sps_dmvr_pic_present_flag&&(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0)))
ph_disable_dmvr_flag
ph_disable_dmvr_flag的语义也被修改以处理未通过信号发送时的情况。
ph_disable_dmvr_flag等于1表明在与该PH相关联的条带中禁用基于解码器运动矢量细化的帧间双向预测。ph_disable_dmvr_flag等于0表明在与PH相关联的条带中可以启用或不启用基于解码器运动矢量细化的帧间双向预测。
当ph_disable_dmvr_flag不存在时,以下适用:
–若sps_dmvr_enabled_flag等于1并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于0。
–否则,若sps_dmvr_enabled_flag等于1并且sps_dmvr_pic_present_flag等于1,则推断ph_disable_dmvr_flag的值等于1。
–否则(sps_dmvr_enabled_flag等于0),推断ph_disable_dmvr_flag的值等于1。
当ph_disable_dmvr_flag的值未被呈现时,导出该值的替代方式如下所示:
–若在显式地通过信号发送或隐式导出时考虑所有条件来导出ph_disable_dmvr_flag的值:
–若sps_dmvr_enabled_flag等于1并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于0。
–否则,若sps_dmvr_enabled_flag等于0并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于1。
–否则,若sps_dmvr_enabled_flag等于1、sps_dmvr_pic_present_flag等于1并且rpl_info_in_ph_flag等于0,则推断ph_disable_dmvr_flag的值等于X。
(X被显式地通过信号发送)
–否则,若sps_dmvr_enabled_flag等于1、sps_dmvr_pic_present_flag等于1、rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]>0,则推断ph_disable_dmvr_flag的值等于X(X被显式地通过信号发送)。
–否则(sps_dmvr_enabled_flag等于1、sps_dmvr_pic_present_flag等于1、rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_dmvr_flag的值等于1。
由于语法元素ph_disable_dmvr_flag在第三和第四条件下被显式地通过信号发送,所以当ph_disable_dmvr_flag不存在时,可以将它们从ph_disable_dmvr_flag的推导中移除。
当ph_disable_dmvr_flag不存在时,以下适用:
–若sps_dmvr_enabled_flag等于1并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于0。
–否则,若sps_dmvr_enabled_flag等于0并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于1。
–否则(sps_dmvr_enabled_flag等于1、sps_dmvr_pic_present_flag等于1、rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_dmvr_flag的值等于1。
可将这些条件编辑简化如下:
当ph_disable_dmvr_flag不存在时,以下适用:
–若sps_dmvr_enabled_flag等于1并且sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于0。
–否则(sps_dmvr_enabled_flag等于0或sps_dmvr_pic_present_flag等于1),推断ph_disable_dmvr_flag的值等于1。
在ph_disable_bdof_flag未被呈现时,导出ph_disable_bdof_flag的值的另一种替代方式如下所示:
当ph_disable_bdof_flag不存在时,以下适用:
–若sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于1-sps_dmvr_enabled_flag。
–否则,若sps_dmvr_pic_present_flag等于1并且rpl_info_in_ph_flag等于0,则推断ph_disable_dmvr_flag的值等于1-sps_dmvr_enabled_flag。
–否则,若sps_dmvr_pic_present_flag等于1、rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]>0,则推断ph_disable_dmvr_flag的值等于1-sps_dmvr_enabled_flag。
–否则(sps_dmvr_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_dmvr_flag的值等于1。
由于语法元素ph_disable_dmvr_flag在第二和第三条件下被显式地通过信号发送,所以当它不存在时,可将它们从ph_disable_dmvr_flag的推导中移除:
当ph_disable_dmvr_flag不存在时,以下适用:
–若sps_dmvr_pic_present_flag等于0,则推断ph_disable_dmvr_flag的值等于1-sps_dmvr_enabled_flag。
–否则,推断ph_disable_dmvr_flag的值等于1。
有条件地通过信号发送语法元素ph_disable_bdof_flag的几个示例如下所示:
若(sps_bdof_pic_present_flag&&(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[0][RplsIdx[0]]>1&&num_ref_entries[1][RplsIdx[1]]>1)))ph_disable_bdof_flag
类似地,替代条件检查的示例如下所示:
若(sps_bdof_pic_present_flag&&(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0)))
ph_disable_bdof_flag
ph_disable_bdof_flag的语义也被修改以处理未发信号通知时的情况。
ph_disable_bdof_flag等于1表明在与PH相关联的条带中禁用基于双向光流帧间预测的帧间双向预测。ph_disable_bdof_flag等于0表明在与PH相关联的条带中可以启用或不启用基于双向光流帧间预测的帧间双向预测。
当ph_disable_bdof_flag不存在时,以下适用:
–若sps_bdof_enabled_flag等于1且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于0。
–否则,若sps_bdof_enabled_flag等于1且sps_bdof_pic_present_flag等于1,则推断ph_disable_dmvr_flag的值等于1。
–否则(sps_bdof_enabled_flag等于0),推断ph_disable_bdof_flag的值等于1。
当ph_disable_bdof_flag未呈现时,导出ph_disable_bdof_flag的值的替代方式如下所示:
若在显式通过信号发送或隐式导出ph_disable_bdof_flag时考虑所有条件以导出ph_disable_bdof_flag的值:
–若sps_bdof_enabled_flag等于1且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于0。
–否则,若sps_bdof_enabled_flag等于0且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于1。
–否则,若sps_bdof_enabled_flag等于1、sps_bdof_pic_present_flag等于1且rpl_info_in_ph_flag等于0,则推断ph_disable_bdof_flag的值等于X(X被显式地通过信号发送)。
–否则,若sps_bdof_enabled_flag等于1、sps_bdof_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]>0,则推断ph_disable_bdof_flag的值等于X(X被显式地通过信号发送)。
–否则(sps_bdof_enabled_flag等于1、sps_bdof_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_bdof_flag的值等于1。
由于语法元素ph_disable_bdof_flag在第三和第四条件下被显式地通过信号发送,所以当ph_disable_bdof_flag不存在时,可以将它们从ph_disable_bdof_flag的推导中移除。
当ph_disable_bdof_flag不存在时,以下适用:
–若sps_bdof_enabled_flag等于1且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于0。
–否则,若sps_bdof_enabled_flag等于0且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于1。
–否则(sps_bdof_enabled_flag等于1、sps_bdof_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_bdof_flag的值等于1。
可将这些条件编辑简化如下:
当ph_disable_bdof_flag不存在时,以下适用:
–若sps_bdof_enabled_flag等于1且sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于0。
–否则(sps_bdof_enabled_flag等于0或sps_bdof_pic_present_flag等于1),推断ph_disable_bdof_flag的值等于1。
在ph_disable_bdof_flag未被呈现时,导出ph_disable_bdof_flag的值的另一种替代方式如下所示:
当ph_disable_bdof_flag不存在时,以下适用:
—若sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于1-sps_bdof_enabled_flag。
—否则,若sps_bdof_pic_present_flag等于1且rpl_info_in_ph_flag等于0,则推断ph_disable_bdof_flag的值等于1-sps_bdof_enabled_flag。
–否则,若sps_bdof_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]>0,则推断ph_disable_bdof_flag的值等于1-sps_bdof_enabled_flag。
–否则(sps_bdof_pic_present_flag等于1、rpl_info_in_ph_flag等于1且num_ref_entries[1][RplsIdx[1]]==0),推断ph_disable_bdof_flag的值等于1。
由于语法元素ph_disable_bdof_flag在第二和第三条件下被显式地通过信号发送,所以当它不存在时,可将其从ph_disable_bdof_flag的推导中移除:
当ph_disable_bdof_flag不存在时,以下适用:
–若sps_bdof_pic_present_flag等于0,则推断ph_disable_bdof_flag的值等于1-sps_bdof_enabled_flag。
–否则,推断ph_disable_bdof_flag的值等于1。
此外,语法元素ph_collocated_from_l0_flag和weight_table()的信令条件被修改,因为这两种类型的语法元素仅在这些关联的条带是B条带时适用。
这些修改的语法元素信令的示例如下所示。
Figure BDA0003942583000000651
ph_collocated_from_l0_flag的语义也被修改以处理未通过信号通知时的情况。
ph_collocated_from_l0_flag等于1表明用于时间运动矢量预测的同位图片来自参考图片列表0。ph_collocated_from_l0_flag等于0表明用于时间运动矢量预测的同位图片来自参考图片列表1。
当ph_collocated_from_l0_flag不存在时,以下适用:
–若num_ref_entries[0][RplsIdx[0]]大于1,则推断ph_collocated_from_l0_flag的值为1。
–否则(num_ref_entries[1][RplsIdx[1]]大于1),ph_collocated_from_l0_flag的值被推断为0。
Figure BDA0003942583000000652
Figure BDA0003942583000000661
Figure BDA0003942583000000671
类似地,替代条件检查的示例如下所示:
若(pps_weighted_bipred_flag&&wp_info_in_ph_flag&&(!rpl_info_in_ph_flag||(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0)))
num_l1_weights
pred_weight_table()中的语法元素的语义也被修改以处理当它们未被发信号时的情况。
num_l1_weights表明当pps_weighted_bipred_flag和wp_info_in_ph_flag都等于1时,为参考图片列表1中的条目通过信号发送的权重的数量。num_l1_weights的值应在0到Min(15,num_ref_entries[1][RplsIdx[1]]),包括端点。
如下导出变量NumWeightsL1:
若(!pps_weighted_bipred_flag)
NumWeightsL1=0
否则(wp_info_in_ph_flag&&rpl_info_in_ph_flag&&
(num_ref_entries[0][RplsIdx[0]]==0||
num_ref_entries[1][RplsIdx[1]]>==0))
NumWeightsL1=0
否则,若(wp_info_in_ph_flag) (5)
NumWeightsL1=num_l1_weights
否则
NumWeightsL1=NumRefIdxActive[1]
在pred_weight_table()中的语法元素的语义中,当num_l1_weights未被呈现时,另一种推导它的值的方法如下所示:
num_l1_weights表明当pps_weighted_bipred_flag和wp_info_in_ph_flag都等于1时,为参考图片列表1中的条目通过信号发送的权重数量。num_l1_weights的值应在0到Min(15,num_ref_entries[1][RplsIdx[1]]),包括端点。当不存在时,num_l1_weights的值被推断为0。
如下导出变量NumWeightsL1:
若(!pps_weighted_bipred_flag)
NumWeightsL1=0
否则,若(wp_info_in_ph_flag) (6)
NumWeightsL1=num_l1_weights
否则,
NumWeightsL1=NumRefIdxActive[1]
在pred_weight_table()中的语法元素的语义中,当num_l1_weights未被呈现时,另一种推导它的值的方法如下所示:
若(!pps_weighted_bipred_flag||(wp_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]==0))
NumWeightsL1=0
否则,若(wp_info_in_ph_flag)
NumWeightsL1=num_l1_weights
否则,
NumWeightsL1=NumRefIdxActive[1]
从概念上来讲,提出了添加信令条件以检查当前图片是否具有来自list0和listl参考图片列表并用于仅适用于B条带的任何语法元素的参考图片,以避免信令冗余比特。检查条件不限于上述检查两个参考图片列表(如列表0/list1参考图片列表)尺寸的方法,并且检查条件可以是任何其它方法来指示当前图片是否具有来自两个列表0的参考图片和list1参考图片列表。例如,可以通过信号发送标志以指示当前图片是否同时具有list0和lits1参考图片。
当未通过信号发送语法元素并且在图片头部(PH)中通过信号发送参考图片列表信息时,使用当前图片是否具有list0和listl参考图片或者它具有的信息来导出语法元素的值只有list0或list1参考图片。在一个示例中,当未通过信号发送ph_collocated_from_l0_flag时,它的值被推断为当前图片具有的唯一参考图片。在另一个示例中,当sps_bdof_enabled_flag等于1并且sps_bdof_pic_present_flag等于1但ph_disable_bdof_flag未通过信号发送时,根据对ph_disable_bdof_flag提出的信令条件,意味着num_ref_entries[0][RplsIdx[0]]等于0或num_ref_entries[1][RplsIdx[1]]等于0。因此,在这种情况下,ph_disable_bdof_flag没有被通过信号发送,并且被推断为1。在当前的VVC中,不仅同位图片的分辨率可能会影响TMVP的启用,而且应用于缩放比例计算的图片尺寸的偏移量可能会影响启用TMVP。然而,在当前的VVC中,在ph_temporal_mvp_enabled_flag的比特流一致性中没有考虑偏移。
在第二实施例中,提出了向当前VVC添加比特流一致性约束,要求ph_temporal_mvp_enabled_flag的值应取决于应用于图片尺寸以进行缩放比计算的偏移量,如下所示:
当DPB中没有参考图片与当前图片具有相同的空间分辨率和相同的应用于图片尺寸以进行缩放比计算的偏移量时,ph_temporal_mvp_enabled_flag的值应等于0。
上述句子还可以用如下所述的另一种方式写成:
当DPB中没有参考图片的相关变量值RprConstraintsActive[i][j]等于0时,ph_temporal_mvp_enabled_flag的值应等于0。
在当前的VVC中,存在比特流一致性的要求,即slice_collocated_ref_idx所指的图片对于编码图片的所有条带应该是相同的。然而,当编码图片具有多个条带并且所有这些条带之间不存在共同的参考图片时,这种比特流一致性没有机会得到满足。
在本发明的第三实施例中,修改了对ph_temporal_mvp_enabled_flag的比特流一致性的要求,以考虑当前图片中的所有条带之间是否存在公共参考图片。基于该实施例,下面说明对VVC规范的几个示例性修改。
ph_temporal_mvp_enabled_flag表明时间运动矢量预测值是否可以用于与PH相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则与PH相关联的条带的语法元素应受到约束,以便在这些条带的解码中不使用时间运动矢量预测值。否则(ph_temporal_mvp_enabled_flag等于1),时间运动矢量预测值可用于解码与PH相关联的条带。当不存在时,推断ph_temporal_mvp_enabled_flag的值等于0。当DPB中没有参考图片与当前图片具有相同的空间分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。当在所有与PH关联的条带中不存在公共参考图片时,ph_temporal_mvp_enabled_flag的值应等于0。
ph_temporal_mvp_enabled_flag表明时间运动矢量预测值是否可以用于与PH相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则与PH相关联的条带的语法元素应受到约束,以便在这些条带的解码中不使用时间运动矢量预测值。否则(ph_temporal_mvp_enabled_flag等于1),时间运动矢量预测值可用于解码与PH相关联的条带。当不存在时,推断ph_temporal_mvp_enabled_flag的值等于0。当DPB中没有参考图片与当前图片具有相同的空间分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。当在所有与PH关联的帧内条带中不存在公共参考图片时,ph_temporal_mvp_enabled_flag的值应等于0。
ph_temporal_mvp_enabled_flag表明时间运动矢量预测值是否可以用于与PH相关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则与PH相关联的条带的语法元素应受到约束,以便在这些片的解码中不使用时间运动矢量预测值。否则(ph_temporal_mvp_enabled_flag等于1),时间运动矢量预测值可用于解码与PH相关联的条带。当不存在时,推断ph_temporal_mvp_enabled_flag的值等于0。当DPB中没有参考图片与当前图片具有相同的空间分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。当在所有与PH关联的非帧内条带中不存在公共参考图片时,ph_temporal_mvp_enabled_flag的值应等于0。
在第四实施例中,将slice_collocated_ref_idx上的比特流一致性简化如下:
slice_collocated_ref_idx所引用的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,以及RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应等于0,这是比特流一致性要求。
如“问题陈述”部分中所讨论的,当pps_mixed_nalu_types_in_pic_flag的值等于1时,参考该PPS的每个图片具有多于一个NAL单元并且这些NAL单元不具有相同的nal_unit_type。另一方面,在当前图片头部信令中,即使在关联PPS中的标志pps_mixed_nalu_types_in_pic_flag的值等于1时,也允许将ph_gdr_or_irap_pic_flag和ph_gdr_pic_flag的值作为1通过信号发送。因为一个IRAP图片或一个GDR图片中的NAL单元必须具有相同的nal_unit_type,因此不应允许这种信令场景。在下文中,提出了不同的方法来解决这种问题。
方法一:在第一种方法中,提出了图片头部中的标志ph_gdr_or_irap_pic_flag在PPS中的pps_mixed_nalu_types_in_pic_flag值上的存在为条件。具体来讲,ph_gdr_or_irap_pic_flag仅在pps_mixed_nalu_types_in_pic_flag的值等于0时通过信号发送。否则,当标志pps_mixed_nalu_types_in_pic_flag等于1时,不通过发信号发送标志ph_gdr_or_irap_pic_flag并将其推断为零。对应用了提出的修改之后的相应的图片头部表进行了说明。
Figure BDA0003942583000000722
方法二:在方法二中,提出了一个比特流一致性约束,要求当标志pps_mixed_nalu_types_in_pic_flag等于1时,信令标志ph_gdr_or_irap_pic_flag的对应值应等于1。具体来讲,所提出的比特流一致性约束可以说明如下。
ph_gdr_or_irap_pic_flag等于1表明当前图片是GDR或IRAP图片。ph_gdr_or_irap_pic_flag等于0表明当前图片不是GDR图片并且可能是也可能不是IRAP图片。当pps_mixed_nalu_type_in_pic_flag的值等于1时,ph_gdr_or_irap_pic_flag的值应等于0。
方法三:在该方法中,提出了将pps_mixed_nalu_types_in_pic_flag的信令从PPS级别移动到图片级别、条带级别或其它编解码级别。例如,假设该标志被移动到图片标题,该标志可以被重命名为ph_mixed_nalu_type_in_pic_flag。此外,提出了使用该标志来调节ph_gdr_or_irap_pic_flag的信令。具体而言,当标志ph_mixed_nalu_type_in_pic_flag等于0时仅通过信号发送ph_gdr_or_rap_pic_flag。否则,当标志ph_mixed_nalu_type_in_pic_flag为1时,不通过信号发送标志ph_gdr_or_rap_pic_flags并将其推断为0。在另一个实施例中,提出了添加比特流一致性约束,即当ph_mixed_nalu_type_in_pic_flag的值等于1时ph_gdr_or_irap_pic_flag的值应该等于0。在又一个实施例中,提出了使用ph_gdr_or_irap_pic_flag来调节ph_mixed_nalu_type_in_pic_flag的存在。具体而言,当ph_gdr_or_rap_pic_flag的值等于0时仅通过信号发送标志ph_mixed_nalu_type_in_pic_flag。否则,当ph_gdr_or_rap_pic_flag的值等于1时,不通过信号发送标志ph_mixed_nalu_type_in_pic_flag并始终将其推断为零。
方法四:提出了仅将pps_mixed_nalu_type_in_pic_flag的值应用于既不是IRAP图片也不是GDR图片的图片。具体来讲,通过这种方法,pps_mixed_nalu_type_in_pic_flag的语义应修改如下:
pps_mixed_nalu_types_in_pic_flag等于1表明参考PPS的既不是IRAP图片也不是GDR图片的每个图片具有多于一个VCL NAL单元,并且这些VCL NAL单元不具有相同的nal_unit_type值。pps_mixed_nalu_types_in_pic_flag等于0表明参考PPS的既不是IRAP图片也不是GDR图片的每个图片具有一个或多个VCL NAL单元,并且每个参考PPS的图片的VCL NAL单元具有相同的nal_unit_type值。
另一方面,在当前的VVC规范中,要求一个GDR图片中的所有NAL单元必须具有相同的nal_unit_type,其等于GDR_NUT。以下比特流一致性约束应用于GDR图片的定义,以使pps_mixed_nal_types_in_pic_flag的对应值应等于0。
渐进解码刷新(GDR)图片:每个VCL NAL单元的nal_unit_type等于GDR_NUT的图片。GDR图片的pps_mixed_nalu_types_in_pic_flag的值等于0。当一个图片pps_mixed_nalu_types_in_pic_flag等于0并且该图片的任意一个条带的nal_unit_type为GDR_NUT时,该图片的所有其它条带具有相同的nal_unit_type值,并且在接收到该图片的第一个条带之后,就会获知该图片是GDR图片。
在另一个实施例中,提出了从NAL单元头中去除GDR NAL单元类型,同时仅使用语法元素ph_gdr_or_irap_pic_flag和ph_gdr_pic_flag来指示当前图片是否是GDR图片。
与将pps_mixed_nalu_types_in_pic_flag的约束应用于IRAP图片和GDR图片两者的上述方法不同,在下文中,提出了将约束应用于IRAP图片而不是GDR图片的三种方法。
方法一:在第一种方法中,提出了图片头部中的标志ph_gdr_pic_flag在PPS中的pps_mixed_nalu_types_in_pic_flag值上的存在为条件。具体来讲,标志ph_gdr_pic_flag仅在pps_mixed_nalu_types_in_pic_flag的值等于0时通过信号发送。否则,当标志pps_mixed_nalu_types_in_pic_flag等于1时,不通过发信号发送标志ph_gdr_pic_flag并将其推断为零,即,当前图片不会是一个GDR图片。将应用了提出的信令条件之后的相应的图片头部表修改如下。
Figure BDA0003942583000000741
ph_gdr_pic_flag等于1表明与该PH相关联的图片是GDR图片。ph_gdr_pic_flag等于0表明与该PH相关联的图片不是GDR图片。当不存在时,当pps_mixed_nalu_types_in_pic_flag为0时推断ph_gdr_pic_flag的值等于0,并且当pps_mixed_nalu_types_in_pic_flag为1时推断推断ph_gdr_pic_flag的值等于ph_gdr_or_irap_pic_flag的值。当sps_gdr_enabled_flag等于0时,ph_gdr_pic_flag的值应等于0。
方法二:提出了在ph_gdr_or_irap_pic_flag为1且pps_mixed_nalu_types_in_pic_flag为1时,引入一个比特流一致性约束,即ph_gdr_pic_flag应等于1,如下所述。
ph_gdr_pic_flag等于1表明与该PH相关联的图片是GDR图片。ph_gdr_pic_flag等于0表示与该PH相关联的图片不是GDR图片。当ph_gdr_pic_flag不存在时,推断ph_gdr_pic_flag的值等于0。当sps_gdr_enabled_flag等于0时,ph_gdr_pic_flag的值应等于0。当ph_gdr_or_irap_pic_flag等于1并且pps_mixed_nalu_types_in_pic_flag等于1时,ph_gdr_pic_flag的值应等于1。
注1–当ph_gdr_or_irap_pic_flag等于1且ph_gdr_pic_flag等于0时,与该PH相关联的图片是IRAP图片。
方法三:提出了仅将标志pps_mixed_nalu_types_in_pic_flag应用于非IRAP图片。具体来讲,在该方法中,pps_mixed_nalu_types_in_pic_flag的语义应该修改如下。
pps_mixed_nalu_types_in_pic_flag等于1表明参考该PPS的每个非IRAP图片具有多于一个VCL NAL单元,并且这些VCL NAL单元不具有相同的nal_unit_type值。pps_mixed_nalu_types_in_pic_flag等于0表明参考该PPS的每个非IRAP图片具有一个或多个VCL NAL单元,并且参考该PPS的每个图片的VCL NAL单元具有相同的nal_unit_type值。
根据当前VVC,ph_inter_slice_allowed_flag等于0表明该图片的所有编码条带具有等于2的sh_slice_type。ph_inter_slice_allowed_flag等于1表明该图片中可能存在或可能不存在具有sh_slice_type等于0或1的一个或多个编码条带。ph_gdr_pic_flag等于1表明与该PH相关联的图片是GDR图片。ph_gdr_pic_flag等于0表明示与该PH相关联的图片不是GDR图片。当不存在时,推断ph_gdr_pic_flag的值等于0。当sps_gdr_enabled_flag等于0时,ph_gdr_pic_flag的值应等于0。根据本公开,提出了基于ph_gdr_pic_flag的值推断ph_inter_slice_allowed_flag的值。例如,在该PH是GDR图片的情况下,不以相应的编码级别通过信号发送ph_inter_slice_allowed_flag。VVC草案的解码过程的示例如下所示。VVC草案的更改以粗体和斜体显示。
Figure BDA0003942583000000751
另外,提出了在ph_gdr_pic_flag等于1时,添加一个比特流一致性约束,即ph_inter_slice_allowed_flag的值应等于1。
ph_inter_slice_allowed_flag等于0表明该图片的所有编码条带具有等于2的sh_slice_type。ph_inter_slice_allowed_flag等于1表明该图片中可能存在或可能不存在具有等于0或1的sh_slice_type的一个或多个编码条带。
当ph_gdr_or_irap_pic_flag等于1、ph_gdr_pic_flag等于0(即该图片是IRAP图片)且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,ph_inter_slice_allowed_flag的值应等于0。
当ph_gdr_pic_flag等于1时,ph_inter_slice_allowed_flag的值应等于1。
可以使用包括一个或多个电路的装置来实施上述方法,这些电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件。该装置可以使用与其它硬件或软件组件相结合的电路来执行上述方法。可以至少部分地使用一个或多个电路来实现上面公开的每个模块、子模块、单元或子单元。
图8示出了与用户界面860耦合的计算环境(或计算设备)810。计算环境810可以是数据处理服务器的一部分。计算环境810包括处理器820、存储器840和I/O接口850。在一些实施例中,计算设备810可用于实现如本文所述的执行任何视频编码过程的编码器(如编码器或解码器),例如包括任何编码过程或任何解码过程。
处理器820通常控制计算环境810的整体操作,例如与显示、数据采集、数据通信和图像处理相关的操作。处理器820可包括一个或多个处理器以执行指令以执行上述方法中的所有或一些步骤。此外,处理器820可以包括促进处理器820与其它组件之间的交互的一个或多个模块。处理器可以是中央处理器(CPU)、微处理器、单片机、GPU等。
存储器840被配置为存储各种类型的数据以支持计算环境810的操作。存储器840可以包括预定软件842。这种数据的示例包括用于在计算环境810上操作的任何应用程序或方法的指令,存储器840可以通过使用任何类型的易失性或非易失性存储设备或其组合来实现,例如静态随机存取存储器(SRAM)、电可擦可编程只读存储器存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
I/O接口850提供处理器820和***接口模块之间的接口,如键盘、点击轮、按键等。按键可以包括但不限于主页按键、开始扫描按键和停止扫描按键。I/O接口850可以与编码器和解码器耦合。
在一些实施例中,还提供了一种非暂时性计算机可读存储介质,其包括多个程序,如包括在存储器840中的程序,并且可由计算环境810中的处理器820执行,以执行上述方法。例如,非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光数据存储设备等。
非暂时性计算机可读存储介质在其中存储了多个程序以供具有一个或多个处理器的计算设备执行,其中多个程序在由一个或多个处理器执行时使计算设备执行上述的运动预测方法。
在一些实施例中,计算环境810可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场-用于执行上述方法的可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器或其它电子组件。
通过考虑说明书和在此公开的本公开的实践,本公开的其它示例对于本领域技术人员将是显而易见的。本申请旨在涵盖本公开内容的任何变化、使用或改编,遵循其一般原则,并且包括本领域已知或惯常实践中的与本公开内容的偏离。旨在将说明书和示例仅视为示例性的。
应当理解,本公开不限于上述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和变化。

Claims (43)

1.一种视频数据解码方法,包括:
在解码器处接收与视频数据相关联的比特流;
在所述解码器处从所述比特流中获得语法元素;以及
在所述解码器处基于所述语法元素对所述视频数据进行解码。
2.根据权利要求1所述的方法,其中,当条带是帧内条带并且当intra_only_constraint_flag等于1时,所述语法元素包括等于1的no_sbt_constraint_flag。
3.根据权利要求1所述的方法,其中,所述语法元素包括no_act_constraint_flag和no_chroma_qp_offset_constraint_flag,并且当色度格式为非单色时两者都等于1,当max_chroma_format_constraint_idc等于0时,所述no_act_constraint_flag等于1,并且当所述max_chroma_format_constraint_idc等于0时,所述no_chroma_qp_offset_constraint_flag等于1。
4.根据权利要求1所述的方法,其中,当仿射模式被禁用时,所述语法元素包括等于1的no_prof_constraint_flag,并且当no_affine_motion_constraint_flag等于1时,所述no_prof_constraint_flag等于1。
5.根据权利要求1所述的方法,其中,在变换跳过模式被禁用时,所述语法元素包括等于1的no_bdpcm_constraint_flag,并且当no_transform_skip_constraint_flag等于1时,所述no_bdpcm_constraint_flag等于1。
6.根据权利要求1所述的方法,其中,当图片具有一个子图片时,所述语法元素包括等于1的no_mixed_nalu_types_in_pic_constraint_flag,并且当one_subpic_per_pic_constraint_flag等于1时,所述no_mixed_nalu_types_in_pic_constraint_flag等于1。
7.根据权利要求1所述的方法,其中,所述语法元素指示条带是双向预测条带(B-条带)。
8.根据权利要求1所述的方法,其中,所述语法元素包括ph_collocated_from_l0_flag和weight_table()。
9.根据权利要求8所述的方法,其中,所述语法元素包括指示图片头部中的条件以防止冗余信令的标志,并且所述语法元素包括mvd_l1_zero_flag、ph_disable_bdof_flag和ph_disable_dmvr_flag。
10.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于确定rpl_info_in_ph_flag不等于1或确定所述rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]大于0,确定mvd_l1_zero_flag通过信号被发送。
11.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于确定sps_dmvr_pic_present_flag等于1,以及确定rpl_info_in_ph_flag不等于1或所述rpl_info_in_ph_flag等于1且num_ref_entries[0][RplsIdx[0]]大于0且num_ref_entries[1][RplsIdx[1]]大于0,确定ph_disable_dmvr_flag通过信号被发送。
12.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于sps_dmvr_enabled_flag等于1和sps_dmvr_pic_present_flag等于0,推断ph_disable_dmvr_flag等于0;
响应于所述sps_dmvr_enabled_flag等于1和所述sps_dmvr_pic_present_flag等于1,推断所述ph_disable_dmvr_flag等于1;以及
响应于所述sps_dmvr_enabled_flag等于0,推断所述ph_disable_dmvr_flag等于1。
13.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于sps_dmvr_enabled_flag等于1和sps_dmvr_pic_present_flag等于0,推断ph_disable_dmvr_flag的值等于0;
响应于所述sps_dmvr_enabled_flag等于1和所述sps_dmvr_pic_present_flag等于1以及rpl_info_in_ph_flag等于0,推断所述ph_disable_dmvr_flag的所述值等于通过信号发送的值;以及
响应于所述sps_dmvr_enabled_flag等于1并且所述sps_dmvr_pic_present_flag等于1以及所述rpl_info_in_ph_flag等于1并且num_ref_entries[1][RplsIdx[1]]大于0,推断所述ph_disable_dmvr_flag的所述值等于通过信号发送的值。
14.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于sps_bdof_enabled_flag等于1和sps_bdof_pic_present_flag等于0,推断ph_disable_bdof_flag的值等于0;
响应于所述sps_bdof_enabled_flag等于1和所述sps_bdof_pic_present_flag等于1,推断ph_disable_dmvr_flag的值等于1;以及
响应于所述sps_bdof_enabled_flag等于0,推断所述ph_disable_bdof_flag的所述值等于1。
15.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于sps_bdof_enabled_flag等于1和sps_bdof_pic_present_flag等于0,推断ph_disable_bdof_flag的值等于0;
响应于所述sps_bdof_enabled_flag等于0和所述sps_bdof_pic_present_flag等于0,推断所述ph_disable_bdof_flag的所述值等于1;
响应于所述sps_bdof_enabled_flag等于1、所述sps_bdof_pic_present_flag等于1和rpl_info_in_ph_flag等于0,推断所述ph_disable_bdof_flag的所述值等于通过信号发送的值;
响应于所述sps_bdof_enabled_flag等于1、所述sps_bdof_pic_present_flag等于1、所述rpl_info_in_ph_flag等于1和num_ref_entries[1][RplsIdx[1]]大于0,推断所述ph_disable_bdof_flag的所述值等于通过信号发送的值;以及
响应于所述sps_bdof_enabled_flag等于1、所述sps_bdof_pic_present_flag等于1、所述rpl_info_in_ph_flag等于1和num_ref_entries[1][RplsIdx[1]]等于0,推断所述ph_disable_bdof_flag的所述值等于1。
16.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于确定ph_temporal_mvp_enabled_flag等于1、num_ref_entries[0][RplsIdx[0]]大于0并且num_ref_entries[1][RplsIdx[1]]大于0,确定ph_collocated_from_l0_flag通过信号被发送。
17.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于num_ref_entries[0][RplsIdx[0]]大于1,推断ph_collocated_from_l0_flag的值等于1;以及
响应于num_ref_entries[1][RplsIdx[1]]大于1,推断所述ph_collocated_from_l0_flag的所述值等于0。
18.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于pps_weighted_bipred_flag等于1、wp_info_in_ph_flag等于1以及rpl_info_in_ph_flag等于0或rpl_info_in_ph_flag和num_ref_entries[1][RplsIdx[1]]都大于0,确定num_l1_weights通过信号被发送。
19.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于确定wp_info_in_ph_flag等于1、rpl_info_in_ph_flag等于1并且num_ref_entries[0][RplsIdx[0]]等于0或num_ref_entries[1][RplsIdx[1]大于等于0,确定NumWeightsL1等于0。
20.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于(!pps_weighted_bipred_flag||(pps_wp_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]==0))等于1,确定NumWeightsL1等于0。
21.根据权利要求9所述的方法,其中,所述图片头部中的条件包括:
响应于确定ph_gdr_pic_flag等于0,确定ph_inter_slice_allowed_flag通过信号被发送。
22.根据权利要求1所述的方法,还包括:
接收比特流一致性约束,所述比特流一致性约束基于应用于图片尺寸的偏移量指示ph_temporal_mvp_enabled_flag的值。
23.根据权利要求22所述的方法,其中,响应于在解码图片缓冲器(DPB)中没有具有等于0的相关变量值RprConstraintsActive的参考图片,所述ph_temporal_mvp_enabled_flag等于0。
24.根据权利要求1所述的方法,还包括:
接收比特流一致性约束,所述比特流一致性约束基于当前图片中的条带之间存在的公共参考图片指示ph_temporal_mvp_enabled_flag的值。
25.根据权利要求24所述的方法,其中,响应于在与图片头部相关联的条带中不存在公共参考图片,所述ph_temporal_mvp_enabled_flag等于0。
26.根据权利要求24所述的方法,其中,响应于在与图片头部相关联的非帧内条带中不存在公共参考图片,所述ph_temporal_mvp_enabled_flag等于0。
27.根据权利要求24所述的方法,其中,所述比特流一致性约束还指示slice_collocated_ref_idx值所引用的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples值等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples值。
28.根据权利要求1所述的方法,还包括:
响应于确定pps_mixed_nalu_types_in_pic_flag等于0,确定ph_gdr_or_irap_pic_flag通过信号被发送。
29.根据权利要求1所述的方法,还包括:
响应于确定pps_mixed_nalu_type_in_pic_flag的值等于1,确定ph_gdr_or_irap_pic_flag的值等于0。
30.根据权利要求1所述的方法,其中,所述语法元素包括pps_mixed_nalu_types_in_pic_flag。
31.根据权利要求30所述的方法,其中,pps_mixed_nalu_types_in_pic_flag等于1并且指示既不是帧内随机访问点(IRAP)也不是参考图片参数集(PPS)的渐进解码刷新(GDR)图片的至少一个图片具有多于一个的视频编码层(VCL)网络抽象层(NAL)单元。
32.根据权利要求30所述的方法,其中,对于GDR图片的pps_mixed_nalu_types_in_pic_flag的值等于0,其中当对于图片的pps_mixed_nalu_types_in_pic_flag等于0并且所述图片的条带具有等于GDR_NUT的nal_unit_type时,所述图片的所有其它条带具有相同的nal_unit_type值,并且在接收到所述图片的第一个条带之后,所述图片被认为是GDR图片。
33.根据权利要求1所述的方法,其中,所述语法元素包括ph_gdr_pic_flag,并且图片头部中所述ph_gdr_pic_flag的存在基于PPS中的pps_mixed_nalu_types_in_pic_flag的值。
34.根据权利要求33所述的方法,其中,响应于pps_mixed_nalu_types_in_pic_flag等于0,ph_gdr_pic_flag通过信号被发送。
35.根据权利要求33所述的方法,其中,当ph_gdr_pic_flag不存在时,当pps_mixed_nalu_types_in_pic_flag为0时,ph_gdr_pic_flag的值被推断为等于0,并且当pps_mixed_nalu_types_in_pic_flag为1时,被推断为等于ph_gdr_or_irap_pic_flag的值。
36.根据权利要求1所述的方法,其中,所述语法元素包括ph_gdr_pic_flag,并且其中,当sps_gdr_enabled_flag等于0时,ph_gdr_pic_flag的值等于0。
37.根据权利要求33所述的方法,其中,所述语法元素包括指示与图片头部关联的图片是否为GDR图片的ph_gdr_pic_flag,并且其中,当ph_gdr_or_irap_pic_flag等于1且pps_mixed_nalu_types_in_pic_flag等于1时,所述ph_gdr_pic_flag等于1。
38.根据权利要求1所述的方法,其中,所述语法元素包括pps_mixed_nalu_types_in_pic_flag,所述pps_mixed_nalu_types_in_pic_flag等于1表示参考所述图片参数集(PPS)的至少一个非帧内随机接入点(IRAP)图片具有多于一个视频编码层(VCL)网络抽象层(NAL)单元,并且所述pps_mixed_nalu_types_in_pic_flag等于0表示参考所述PPS的至少一个非IRAP图片具有一个或多个VCL NAL单元。
39.根据权利要求1所述的方法,其中,所述语法元素包括ph_inter_slice_allowed_flag,其中当图片的已编码条带具有等于2的sh_slice_type时,所述ph_inter_slice_allowed_flag等于0,并且其中,当ph_gdr_pic_flag等于1时,所述ph_inter_slice_allowed_flag等于1。
40.根据权利要求1所述的方法,其中,所述语法元素包括指示去块滤波器被禁用的no_deblocking_filter_constraint_flag。
41.根据权利要求40所述的方法,其中,响应于pps_deblocking_filter_disabled_flag、ph_deblocking_filter_disabled_flag和sh_deblocking_filter_disabled_flag等于1,所述no_deblocking_filter_constraint_flag等于1。
42.一种用于视频解码的装置,包括:
一个或更多个处理器;和
一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质被配置为存储可由所述一个或更多个处理器执行的指令;其中,所述一个或更多个处理器在执行所述指令时被配置为执行权利要求1-41中任一项所述的方法。
43.一种用于视频解码的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机可执行指令,当由一个或更多个计算机处理器执行时,所述指令使所述一个或更多个计算机处理器执行权利要求1-41中任一项所述的方法。
CN202180035075.1A 2020-05-20 2021-05-20 视频编解码中语法元素的通用约束信息和信令 Pending CN115552911A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063027950P 2020-05-20 2020-05-20
US63/027,950 2020-05-20
US202063030295P 2020-05-26 2020-05-26
US63/030,295 2020-05-26
PCT/US2021/033331 WO2021236888A1 (en) 2020-05-20 2021-05-20 General constraint information and signaling of syntax elements in video coding

Publications (1)

Publication Number Publication Date
CN115552911A true CN115552911A (zh) 2022-12-30

Family

ID=78707627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180035075.1A Pending CN115552911A (zh) 2020-05-20 2021-05-20 视频编解码中语法元素的通用约束信息和信令

Country Status (2)

Country Link
CN (1) CN115552911A (zh)
WO (1) WO2021236888A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2022014528A (es) * 2020-05-20 2023-02-27 Beijing Dajia Internet Information Tech Co Ltd Métodos y aparatos para la señalización de elementos de sintaxis en la codificación de vídeo.

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170111642A1 (en) * 2015-10-14 2017-04-20 Qualcomm Incorporated Support of random access and switching of layers and sub-layers in multi-layer video files

Also Published As

Publication number Publication date
WO2021236888A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
KR101678321B1 (ko) 비디오 코딩을 위한 방법 및 장치
JP7420965B2 (ja) 隣接するサブピクチャのコーディング
JP7407300B2 (ja) 適応ループフィルタリング
US11838555B2 (en) Picture output flag indication in video coding
US20240048689A1 (en) Sublayers information in video coding
US20240098273A1 (en) Signaling Of Gradual Decoding Refresh And Reference Picture Lists
CN115336280A (zh) 用于视频编解码中的高级语法的方法和设备
CN115552911A (zh) 视频编解码中语法元素的通用约束信息和信令
WO2021203039A1 (en) Methods and devices for high-level syntax in video coding
CN115606185A (zh) 用于视频编解码的高级语法
JP2023522224A (ja) 参照ピクチャリスト上の制約
JP7513754B2 (ja) 漸次的復号更新および参照ピクチャリストの信号通知
US11849150B2 (en) High level control of filtering in video coding
CN115606180A (zh) 视频编码的通用约束信息
CN115486067A (zh) 视频图片标头中的滤波器参数信令通知

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