CN115462071A - 自适应环路滤波 - Google Patents

自适应环路滤波 Download PDF

Info

Publication number
CN115462071A
CN115462071A CN202180020877.5A CN202180020877A CN115462071A CN 115462071 A CN115462071 A CN 115462071A CN 202180020877 A CN202180020877 A CN 202180020877A CN 115462071 A CN115462071 A CN 115462071A
Authority
CN
China
Prior art keywords
equal
flag
slice
specifies
sps
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
CN202180020877.5A
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.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN115462071A publication Critical patent/CN115462071A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • 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
    • 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
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/1887Methods 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 variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

描述了用于视频处理的方法、系统和装置。一个示例视频处理方法包括根据规则执行包括视频区域的视频与视频的比特流之间的转换,其中该规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集(APS)网络抽象层(NAL)单元而对视频区域允许自适应环路滤波操作。

Description

自适应环路滤波
相关申请的交叉参考
根据巴黎公约适用的专利法和/或规则,提出本申请是为了及时要求2020年3月11日提交的国际专利申请No.PCT/CN2020/078770的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本申请的公开内容的部分。
技术领域
本专利文档涉及图像和视频编码和解码。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器使用的技术,用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示。
一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频单元的视频与视频的比特流之间执行转换,其中,规则规定在自适应参数集(APS)中是否包括与视频的缩放列表相关的信息或在自适应参数集(APS)中如何包括与视频的缩放列表相关的信息是基于第一语法元素并且独立于序列参数集(SPS)中的一个或多个语法元素,第一语法元素指示APS是否包括色度分量相关的语法元素。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频与视频的比特流之间的转换,其中规则规定语法元素被包括在自适应参数集(APS)中,并且其中规则规定语法元素指示用于色度残差缩放的一个或多个语法元素是否包含在APS中。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频与视频的比特流之间的转换,其中规则规定用于色度残差缩放的一个或多个语法元素是否被包括在自适应参数集(APS)中是基于指示APS是否包括色度分量相关的语法元素的第一语法元素。
在另一个示例方面,公开了一种视频处理方法。所述方法包括根据规则在包括视频块的视频与视频的比特流之间执行转换,其中规则规定是否在条带标头(SH)中包含第一语法元素,第一语法元素指示是否为条带禁用基于变换跳过的残差编解码,并且其中规则规定是否将第一语法元素包含在SH中是选择性地基于序列参数集(SPS)中的第二语法元素,第二语法元素指示是否为视频块启用变换跳过(TS)模式。
在另一个示例方面,公开了一种视频处理方法。所述方法包含根据规则在包括亮度块的视频与视频的比特流之间执行转换,其中规则规定条带标头(SH)是否包括第一语法元素是基于第二语法元素,并且其中第一语法元素指示是否为亮度块的特定条带的一个或多个编解码单元(CU)启用增量量化参数(QP)的使用。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于指示视频图片的每个子图片仅包括一个矩形条带的第一语法元素:指示参考图片参数集(PPS)的每个视频图片中的矩形条带的数量的第二语法元素加1等于指示比特流的编解码层视频序列(CLVS)中的每个视频图片中的子图片的数量的第三语法元素加1。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定图片参数集(PPS)包括一个或多个语法元素,一个或多个语法元素指示视频的视频图片是否被划分成具有相同高度的第一数量的片行或片列以及具有不同高度或宽度的第二数量的片行或片列,并且其中,在视频图片中,第一数量的片行或片列位于第二数量的片行或片列之前。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频区域的视频与视频的比特流之间执行转换,其中规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集(APS)网络抽象层(NAL)单元而对视频区域允许自适应环路滤波操作。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频区域的视频与视频的比特流之间执行转换,其中规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集(APS)网络抽象层(NAL)单元,不允许对视频区域进行自适应环路滤波操作。
在另一个示例方面,公开了一种视频处理方法。所述方法包含根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于具有值1的第一语法元素的第一值指示第二语法元素的第二值等于0,不允许自适应环路滤波操作或跨分量自适应环路滤波操作,其中规则规定一般约束信息语法结构包括第一语法元素,并且其中规则规定序列参数集(SPS)中具有值0的第二语法元素指示为视频的所有视频图片禁用跨分量自适应环路滤波操作。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括一个或多个视频图片的视频与视频的比特流之间执行转换,其中规则规定是否包括指示包括自适应环路滤波数据的多个自适应参数集(APS)的一个或多个语法元素和/或指示自适应环路滤波操作或跨分量自适应环路滤波操作的APS标识符的一个或多个语法元素是基于指示包括自适应环路滤波数据的APS网络抽象层(NAL)单元是否存在于比特流中的第一语法元素的存在。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频与视频的比特流之间的转换,其中规则规定在参数集或标头或语法结构中指示一个或多个语法元素,以指示禁用以下任何一个或多个:自适应环路滤波操作,跨分量自适应环路滤波操作,带有色度缩放的亮度映射(LMCS)操作,或者一个或多个用户定义的缩放列表。
在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于以下情况,从图片参数集(PPS)中省略一组一致性窗口参数:参考PPS的每个视频图片的以亮度样点为单位的宽度等于由每个视频图片参考的序列参数集(SPS)中指示的以亮度样点为单位的最大图片宽度,以及参考PPS的每个视频图片的以亮度样点为单位的高度等于SPS中指示的以亮度样点为单位的最大图片高度。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的视频区域与视频的编解码表示之间的转换;其中编解码表示符合格式规则;其中格式规则规定指示视频中的颜色分量的缩放列表是否被包括在自适应参数集中的标志,而与序列参数集中的语法字段值无关。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行视频的视频区域与视频区域的编解码表示之间的转换;其中编解码表示符合格式规则;其中格式规则规定一个或多个自适应参数集被包括在编解码表示中,使得对于每个自适应参数集,由于视频上的色度约束,色度相关的语法元素被省略。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频区域的视频与视频的编解码表示之间执行转换,该一个或多个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定第一变换编解码语法字段是否包含在视频区域的视频单元的级别的编解码表示中和/或其值取决于视频区域的级别的第二变换编解码语法字段的值。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频区域的视频与视频的编解码表示之间执行转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定视频单元级别的标志控制是否为该转换启用量化参数的差分信令通知。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频区域的视频与视频的编解码表示之间执行转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定指示子图片数量的图片级别的第一标志和指示子图片中的条带数量的子图片级别的第二标志的解释。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频图片的视频与视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则规定与视频图片相关联的图片参数集中的字段指示视频图片是否被划分成不同高度或宽度的多个片行或片列。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频图片的视频与视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则规定在自适应参数集排除自适应环路滤波的指示的情况下,自适应环路滤波对视频区域的适用性是基于第二规则的。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括一个或多个视频图片的视频与视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中格式规则规定对于具有视频的宽度和高度、最大宽度和最大高度的图片,跳过图片参数集中的一致性窗口参数的显式信令通知。
在又一示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了这里描述的方法之一。
本文档中描述了这些和其他特征。
附图说明
图1是示例视频处理系统的框图。
图2为视频处理装置的框图。
图3为视频处理的示例方法的流程图。
图4是示出根据本公开的一些实施例的视频编解码系统的框图。
图5是示出根据本公开的一些实施例的编码器的框图。
图6是示出根据本公开的一些实施例的解码器的框图。
图7至图19是视频处理的示例方法的流程图。
具体实施方式
本文档中使用章节标题是为了易于理解并且不将各章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.简介
本文档涉及视频编解码技术。具体来说,它是关于视频编解码中的SH、PPS、APS和GCI语法元素的设计。这些想法可以单独或以各种组合应用于支持多层视频编解码(例如,正在开发的多功能视频编解码(VVC))的任何视频编解码标准或非标准视频编解码器。
2.缩写
APS 自适应参数集
AU 访问单元
AUD 访问单元分隔符
AVC 高级视频编解码
CLVS 编解码层视频序列
CPB 编解码图片缓冲器
CRA 清洁随机访问
CTU 编解码树单元
CVS 编解码视频序列
DPB 解码图片缓冲器
DPS 解码参数集
EOB 比特流结束
EOS 序列结束
GCI 一般约束信息
GDR 逐步解码刷新
HEVC 高效视频编解码
HRD 假设参考解码器
IDR 即时解码刷新
JEM 联合探索模型
MCTS 运动约束的片集
NAL 网络抽象层
OLS 输出层集
PH 图片标头
PPS 图片参数集
PTL 档次、层次、级别
PU 图片单元
RBSP 原始字节序列有效负载
SEI 补充增强信息
SH 条带标头
SPS 序列参数集
SVC 可缩放视频编解码
VCL 视频编解码层
VPS 视频参数集
VTM VVC测试模型
VUI 视频可用性信息
VVC 多功能视频编解码
3.初步讨论
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(AVC)标准和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,由VCEG和MPEG于2015年联合成立联合视频探索团队(JVET)。从那时起,JVET采用了许多新方法并将其纳入名为联合探索模型(JEM)的参考软件。JVET会议每季度同时举行一次,新编解码标准的目标是与HEVC相比降低50%比特率。新的视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编码(VVC),并且第一版VVC测试模型(VTM)也在当时发布。随着VVC标准化的不断努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC的工作草案和测试模型VTM在每次会议后都会更新。VVC项目现在的目标是在2020年7月的会议上技术完成(FDIS)。
3.1.GCI语法和语义
在最新的VVC草案文本中,GCI语法和语义如下:
Figure BDA0003842891790000071
Figure BDA0003842891790000081
Figure BDA0003842891790000091
general_progressive_source_flag和general_interlaced_source_flag解释如下:
--如果general_progressive_source_flag等于1并且general_interlaced_source_flag等于0,则OlsInScope中图片的源扫描类型应仅解释为逐行扫描。
--否则,如果general_progressive_source_flag等于0并且general_interlaced_source_flag等于1,则OlsInScope中图片的源扫描类型应仅解释为隔行扫描。
--否则,如果general_progressive_source_flag等于0并且general_interlaced_source_flag等于0,则OlsInScope中图片的源扫描类型应解释为未知或未规定。
--否则(general_progressive_source_flag等于1并且general_interlaced_source_flag等于1),使用帧字段信息SEI消息中的语法元素source_scan_type在图片级别指示OlsInScope中每个图片的源扫描类型。比特流一致性的要求是当general_progressive_source_flag等于1并且general_interlaced_source_flag等于1时,每个AU中应该存在帧字段信息SEI消息。
注1–解码器可以忽略general_progressive_source_flag和general_interlaced_source_flag的值。此外,图片的实际源扫描类型在本说明书的范围之外,并且编码器选择general_progressive_source_flag和general_interlaced_source_flag的值的方法未被规定。
general_non_packed_constraint_flag等于1规定在OlsInScope的比特流中不应该存在任何帧打包排列SEI消息。general_non_packed_constraint_flag等于0不施加这样的约束。
注2–解码器可能会忽略general_non_packed_constraint_flag的值,因为不存在与帧打包排列SEI消息的存在或解释相关的解码过程要求。
general_frame_only_constraint_flag等于1规定OlsInScope传送表示帧的图片。general_frame_only_constraint_flag等于0规定OlsInScope传送可能表示或可能不表示帧的图片。
注3–解码器可能会忽略general_frame_only_constraint_flag的值,因为没有与之相关的解码过程要求。
general_non_projected_constraint_flag等于1规定在OlsInScope的比特流中不应存在任何等矩形投影SEI消息或广义立方图投影SEI消息。general_non_projected_constraint_flag等于0不施加这样的约束。
注4-解码器可能会忽略general_non_projected_constraint_flag的值,因为没有与等矩形投影SEI消息和广义立方图投影SEI消息的存在或解释相关的解码过程要求。
intra_only_constraint_flag等于1规定slice_type应等于I。intra_only_constraint_flag等于0不施加这样的约束。
max_bitdepth_constraint_idc规定bit_depth_minus8应在0到max_bitdepth_constraint_idc(包括端值)的范围内。
max_chroma_format_constraint_idc规定chroma_format_idc应在0到max_chroma_format_constraint_idc(包括端值)的范围内。
no_res_change_in_clvs_constraint_flag等于1规定res_change_in_clvs_allowed_flag应等于0。no_res_change_in_clvs_constraint_flag等于0不施加这样的约束。
one_tile_per_pic_constraint_flag等于1规定每个图片应仅包含一个片。one_tile_per_pic_constraint_flag等于0不施加这样的约束。
one_slice_per_pic_constraint_flag等于1规定每个图片应仅包含一个条带。one_slice_per_pic_constraint_flag等于0不施加这样的约束。
one_subpic_per_pic_constraint_flag等于1规定每个图片应仅包含一个子图片。one_subpic_per_pic_constraint_flag等于0不施加这样的约束。当one_slice_per_pic_constraint_flag等于1时,one_subpic_per_pic_constraint_flag的值应等于1。
no_qtbtt_dual_tree_intra_constraint_flag等于1规定qtbtt_dual_tree_intra_flag应该等于0。no_qtbtt_dual_tree_intra_constraint_flag等于0不施加这样的约束。
no_partition_constraints_override_constraint_flag等于1规定partition_constraints_override_enabled_flag应等于0。no_partition_constraints_override_constraint_flag等于0不施加这样的约束。
no_sao_constraint_flag等于1规定sps_sao_enabled_flag应该等于0。no_sao_constraint_flag等于0不施加这样的约束。
no_alf_constraint_flag等于1规定sps_alf_enabled_flag应该等于0。no_alf_constraint_flag等于0不施加这样的约束。
no_ccalf_constraint_flag等于1规定sps_ccalf_enabled_flag应等于0。no_ccalf_constraint_flag等于0不施加这样的约束。
no_joint_cbcr_constraint_flag等于1规定sps_joint_cbcr_enabled_flag应该等于0。no_joint_cbcr_constraint_flag等于0不施加这样的约束。
no_ref_wraparound_constraint_flag等于1规定sps_ref_wraparound_enabled_flag应等于0。no_ref_wraparound_constraint_flag等于0不施加这样的约束。
no_temporal_mvp_constraint_flag等于1规定sps_temporal_mvp_enabled_flag应等于0。no_temporal_mvp_constraint_flag等于0不施加这样的约束。
no_sbtmvp_constraint_flag等于1规定sps_sbtmvp_enabled_flag应该等于0。no_sbtmvp_constraint_flag等于0不施加这样的约束。
no_amvr_constraint_flag等于1规定sps_amvr_enabled_flag应该等于0。no_amvr_constraint_flag等于0不施加这样的约束。
no_bdof_constraint_flag等于1规定sps_bdof_enabled_flag应该等于0。no_bdof_constraint_flag等于0不施加这样的约束。
no_dmvr_constraint_flag等于1规定sps_dmvr_enabled_flag应该等于0。no_dmvr_constraint_flag等于0不施加这样的约束。
no_cclm_constraint_flag等于1规定sps_cclm_enabled_flag应等于0。no_cclm_constraint_flag等于0不施加这样的约束。
no_mts_constraint_flag等于1规定sps_mts_enabled_flag应该等于0。no_mts_constraint_flag等于0不施加这样的约束。
no_sbt_constraint_flag等于1规定sps_sbt_enabled_flag应该等于0。no_sbt_constraint_flag等于0不施加这样的约束。
no_affine_motion_constraint_flag等于1规定sps_affine_enabled_flag应该等于0。no_affine_motion_constraint_flag等于0不施加这样的约束。
no_bcw_constraint_flag等于1规定sps_bcw_enabled_flag应该等于0。no_bcw_constraint_flag等于0不施加这样的约束。
no_ibc_constraint_flag等于1规定sps_ibc_enabled_flag应该等于0。no_ibc_constraint_flag等于0不施加这样的约束。
no_ciip_constraint_flag等于1规定sps_ciip_enabled_flag应该等于0。no_cipp_constraint_flag等于0不施加这样的约束。
no_fpel_mmvd_constraint_flag等于1规定sps_fpel_mmvd_enabled_flag应该等于0。no_fpel_mmvd_constraint_flag等于0不施加这样的约束。
no_gpm_constraint_flag等于1规定sps_gpm_enabled_flag应该等于0。no_gpm_constraint_flag等于0不施加这样的约束。
no_ladf_constraint_flag等于1规定sps_ladf_enabled_flag应等于0。no_ladf_constraint_flag等于0不施加这样的约束。
no_transform_skip_constraint_flag等于1规定sps_transfrom_skip_enabled_flag应该等于0。no_transform_skip_constraint_flag等于0不施加这样的约束。
no_bdpcm_constraint_flag等于1规定sps_bdpcm_enabled_flag应该等于0。no_bdpcm_constraint_flag等于0不施加这样的约束。
no_qp_delta_constraint_flag等于1规定cu_qp_delta_enabled_flag应该等于0是比特流一致性的要求。no_qp_delta_constraint_flag等于0不施加这样的约束。
no_dep_quant_constraint_flag等于1规定sps_dep_quant_enabled_flag应该等于0是比特流一致性的要求。no_dep_quant_constraint_flag等于0不施加这样的约束。
no_sign_data_hiding_constraint_flag等于1规定sps_sign_data_hiding_enabled_flag应等于0是比特流一致性的要求。no_sign_data_hiding_constraint_flag等于0不施加这样的约束。
no_mixed_nalu_types_in_pic_constraint_flag等于1规定mixed_nalu_types_in_pic_flag应等于0是比特流一致性的要求。no_mixed_nalu_types_in_pic_constraint_flag等于0不施加这样的约束。
no_trail_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于TRAIL_NUT的NAL单元。no_trail_constraint_flag等于0不施加这样的约束。
no_stsa_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于STSA_NUT的NAL单元。no_stsa_constraint_flag等于0不施加这样的约束。
no_rasl_constraint_flag等于1规定在OlsInScope中不应存在nuh_unit_type等于RASL_NUT的NAL单元。no_rasl_constraint_flag等于0不施加这样的约束。
no_radl_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于RADL_NUT的NAL单元。no_radl_constraint_flag等于0不施加这样的约束。
no_idr_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于IDR_W_RADL或IDR_N_LP的NAL单元。no_idr_constraint_flag等于0不施加这样的约束。
no_cra_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于CRA_NUT的NAL单元。no_cra_constraint_flag等于0不施加这样的约束。
no_gdr_constraint_flag等于1规定在OlsInScope中不应该存在nuh_unit_type等于GDR_NUT的NAL单元。no_gdr_constraint_flag等于0不施加这样的约束。
no_aps_constraint_flag等于1规定在OlsInScope中不应存在nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元。no_aps_constraint_flag等于0不施加这样的约束。
gci_alignment_zero_bits应等于0。
num_reserved_constraint_bytes规定保留的约束字节的数量。num_reserved_constraint_bytes的值应为0。num_reserved_constraint_bytes的其他值保留供ITU-T|ISO/IEC未来使用并且不应出现在符合该版本该规范的比特流中。
gci_reserved_constraint_byte[i]可以具有任何值。它的存在和值不影响解码器与该版本该规范中规定的档次的一致性。符合该版本该规范的解码器应忽略所有gci_reserved_constraint_byte[i]语法元素的值。
3.2.SPS语法和语义
在最新的VVC草案文本中,SPS语法和语义如下:
Figure BDA0003842891790000141
Figure BDA0003842891790000151
Figure BDA0003842891790000161
Figure BDA0003842891790000171
Figure BDA0003842891790000181
Figure BDA0003842891790000191
Figure BDA0003842891790000201
Figure BDA0003842891790000211
Figure BDA0003842891790000221
SPS RBSP在其被参考之前应可用于解码过程,包括在TemporalId等于0的至少一个AU中,或通过外部手段提供。
CVS中具有特定值sps_seq_parameter_set_id的所有SPS NAL单元应具有相同的内容。
sps_seq_parameter_set_id为SPS提供标识符,以供其他语法元素参考。
无论nuh_layer_id值如何,SPS NAL单元共享sps_seq_parameter_set_id的相同值空间。
假设spsLayerId为特定SPS NAL单元的nuh_layer_id的值,而vclLayerId为特定VCL NAL单元的nuh_layer_id的值。该特定VCL NAL单元不应参考特定SPS NAL单元,除非spsLayerId小于或等于vclLayerId,并且nuh_layer_id等于spsLayerId的层包括在包含nuh_layer_id等于vclLayerId的层的至少一个OLS中。
sps_video_parameter_set_id大于0时,规定SPS所参考的VPS的vps_video_parameter_set_id的值。
当sps_video_parameter_set_id等于0时,以下适用:
--SPS不参考VPS。
--当解码参考SPS的每个CLVS时,不参考VPS。
--vps_max_layers_minus1的值被推断为等于0。
--CVS应仅包含一层(即,CVS中的所有VCL NAL单元应具有相同的nuh_layer_id值)。
--GeneralLayerIdx[nuh_layer_id]的值被推断为等于0。
--vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]的值被推断为等于1。
当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,由具有特定nuh_layer_id值nuhLayerId的CLVS参考的SPS的nuh_layer_id应等于nuhLayerId。
sps_video_parameter_set_id的值在由CVS中的CLVS参考的所有SPS中应相同。
sps_max_sublayers_minus1加1规定参考SPS的每个CLVS中可能存在的时域子层的最大数量。sps_max_sublayers_minus1的值应在0到vps_max_sublayers_minus1(包括端值)的范围内。
在符合该版本该规范的比特流中,sps_reserved_zero_4bits应等于0。sps_reserved_zero_4bits的其他值保留供ITU-T|ISO/IEC未来使用。
sps_ptl_dpb_hrd_params_present_flag等于1规定SPS中存在profile_tier_level()语法结构和dpb_parameters()语法结构,并且SPS中也可能存在general_hrd_parameters()语法结构和ols_hrd_parameters()语法结构。sps_ptl_dpb_hrd_params_present_flag等于0规定SPS中不存在这四种语法结构。sps_ptl_dpb_hrd_params_present_flag的值应等于vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]。
gdr_enabled_flag等于1规定GDR图片可能存在于参考SPS的CLVS中。gdr_enabled_flag等于0规定GDR图片不存在于参考SPS的CLVS中。
chroma_format_idc规定相对于亮度采样的色度采样,如条款6.2所规定。
separate_colour_plane_flag等于1规定4:4:4色度格式的三个颜色分量被单独编解码。separate_colour_plane_flag等于0规定颜色分量不单独编解码。当separate_colour_plane_flag不存在时,其被推断为等于0。当separate_colour_plane_flag等于1时,编解码图片由三个单独分量组成,每个分量由一个颜色平面(Y、Cb或Cr)的编解码样点组成,并使用单色编解码语法。在这种情况下,每个颜色平面与特定的colour_plane_id值相关联。
注1–具有不同colour_plane_id值的颜色平面之间的解码过程没有依赖性。例如,具有一个colour_plane_id值的单色图片的解码过程不使用来自具有不同colour_plane_id值的单色图片的任何数据来进行帧间预测。
根据separate_colour_plane_flag的值,变量ChromaArrayType的值分配如下:
--如果separate_colour_plane_flag等于0,则ChromaArrayType设置为等于chroma_format_idc。
--否则(separate_colour_plane_flag等于1),ChromaArrayType设置为等于0。
res_change_in_clvs_allowed_flag等于1规定图片空域分辨率可以在参考SPS的CLVS内改变。res_change_in_clvs_allowed_flag等于0规定图片空域分辨率在参考SPS的任何CLVS内不改变。
pic_width_max_in_luma_samples规定参考SPS的每个解码图片的最大宽度,以亮度样点为单位。pic_width_max_in_luma_samples不应等于0,并且应为Max(8,MinCbSizeY)的整数倍。
比特流一致性的要求是,对于包含参考SPS的一个或多个层的具有OLS索引i的任何OLS,pic_width_max_in_luma_samples的值应小于或等于ols_dpb_pic_width[i]的值。
pic_height_max_in_luma_samples规定参考SPS的每个解码图片的最大高度,以亮度样点为单位。pic_height_max_in_luma_samples不应等于0,并且应为Max(8,MinCbSizeY)的整数倍。
比特流一致性的要求是,对于包含参考SPS的一个或多个层的具有OLS索引i任何OLS,pic_height_max_in_luma_samples的值应小于或等于ols_dpb_pic_height[i]的值。
sps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在SPS中紧随其后。sps_conformance_window_flag等于0指示SPS中不存在一致性裁剪窗口偏移参数。
sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset规定应用于pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples的图片的裁剪窗口。当sps_conformance_window_flag等于0时,sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含水平图片坐标从SubWidthC*sps_conf_win_left_offset到pic_width_max_in_luma_samples-(SubWidthC*sps_conf_win_right_offset+1)(包括端值)并且垂直图片坐标从SubHeightC*sps_conf_win_top_offset到pic_height_max_in_luma_samples-(SubHeightC*sps_conf_win_bottom_offset+1)(包括端值)的亮度样点。
SubWidthC*(sps_conf_win_left_offset+sps_conf_win_right_offset)的值应小于pic_width_max_in_luma_samples,并且SubHeightC*(sps_conf_win_top_offset+sps_conf_win_bottom_offset)的值应小于pic_height_max_in_luma_samples。
当ChromaArrayType不等于0时,两个色度数组的对应规定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是规定亮度样点的图片坐标。
注2–一致性裁剪窗口偏移参数仅应用于输出。所有内部解码过程都应用于未剪裁的图片尺寸。
sps_log2_ctu_size_minus5加5规定每个CTU的亮度编解码树块尺寸。sps_log2_ctu_size_minus5的值应在0到2(包括端值)的范围内。sps_log2_ctu_size_minus5的值3保留供ITU-T|ISO/IEC未来使用。
变量CtbLog2SizeY和CtbSizeY的导出如下:
CtbLog2SizeY=sps_log2_ctu_size_minus5+5 (43)
CtbSizeY=1<<CtbLog2SizeY (44)
subpic_info_present_flag等于1规定存在CLVS的子图片信息,并且在CLVS的每个图片中可能存在一个或多个子图片。subpic_info_present_flag等于0规定不存在CLVS的子图片信息,并且在CLVS的每个图片中只有一个子图片。
当res_change_in_clvs_allowed_flag等于1时,subpic_info_present_flag的值应等于0。
注3–当比特流是子比特流提取过程的结果,并且仅包含子比特流提取过程的输入比特流的子图片的子集时,可能需要在SPS的RBSP中将subpic_info_present_flag的值设置为等于1。
sps_num_subpics_minus1加1规定CLVS中每个图片中的子图片的数量。sps_num_subpics_minus1的值应在0至Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)–1(包括端值)的范围内。当不存在时,sps_num_subpics_minus1的值被推断为等于0。
sps_independent_subpics_flag等于1规定不可以跨CLVS中的任何子图片边界执行帧内预测、帧间预测和环路滤波操作。sps_independent_subpics_flag等于0规定可以允许跨CLVS中的子图片边界的帧间预测或环路滤波操作。当不存在时,sps_independent_subpics_flag的值被推断为等于0。
subpic_ctu_top_left_x[i]以CtbSizeY为单位规定第i个子图片的左顶CTU的水平位置。语法元素的长度为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))位。当不存在时,subpic_ctu_top_left_x[i]的值被推断为等于0。
subpic_ctu_top_left_y[i]以CtbSizeY为单位规定第i个子图片的左顶CTU的垂直位置。语法元素的长度为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))位。当不存在时,subpic_ctu_top_left_y[i]的值被推断为等于0。
subpic_width_minus1[i]加1以CtbSizeY为单位规定第i个子图片的宽度。语法元素的长度为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))位。当不存在时,subpic_width_minus1[i]的值被推断为等于((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_x[i]-1。
subpic_height_minus1[i]加1以CtbSizeY为单位规定第i个子图片的高度。语法元素的长度为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))位。当不存在时,subpic_height_minus1[i]的值被推断为等于((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_y[i]-1。
subpic_treated_as_pic_flag[i]等于1规定CLVS中每个编解码图片的第i个子图片在解码过程中被视为排除环路滤波操作的图片。subpic_treated_as_pic_flag[i]等于0规定CLVS中每个编解码图片的第i个子图片在解码过程中不被视为排除环路滤波操作的图片。当不存在时,subpic_treated_as_pic_flag[i]的值被推断为等于sps_independent_subpics_flag。
当subpic_treated_as_pic_flag[i]等于1时,比特流一致性的要求是,对于包括包含第i个子图片的层作为输出层的OLS中的每个输出层及其参考层,以下所有条件都为真:
--输出层及其参考层中的所有图片应具有相同的pic_width_in_luma_samples值和相同的pic_height_in_luma_samples值。
--对于在0到sps_num_subpics_minus1(包括端值)范围内的每个j值,输出层及其参考层所参考的所有SPS应具有相同的sps_num_subpics_minus1值,并应分别具有相同的subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_cross_subpic_enabled_flag[j]值。
--对于在0到sps_num_subpics_minus1(包括端值)范围内的每个j值,输出层及其参考层中的每个访问单元中的所有图片都应具有相同的SubpicIdVal[j]值。
loop_filter_across_subpic_enabled_flag[i]等于1规定可以跨CLVS中的每个编解码图片中的第i个子图片的边界执行环路滤波操作。loop_filter_across_subpic_enabled_flag[i]等于0规定跨CLVS中的每个编解码图片中的第i个子图片的边界不执行环路滤波操作。当不存在时,loop_filter_across_subpic_enabled_pic_flag[i]的值被推断为等于1-sps_independent_subpics_flag。
比特流一致性的要求是子图片的形状应使得每个子图片在解码时应具有其由图片边界组成或由先前解码的子图片的边界组成的整个左侧边界和整个顶部边界。
sps_subpic_id_len_minus1加1规定用于表示语法元素sps_subpic_id[i]、语法元素pps_subpic_id[i](如果存在)和语法元素slice_subpic_id(如果存在)的位的数量。sps_subpic_id_len_minus1的值应在0到15(包括端值)的范围内。1<<(sps_subpic_id_len_minus1+1)的值应大于或等于sps_num_subpics_minus1+1。
subpic_id_mapping_explicitly_signaled_flag等于1规定子图片ID映射在SPS中或者在CLVS的编解码图片所参考的PPS中被显式地信令通知。subpic_id_mapping_explicitly_signalled_flag等于0规定不为CLVS显式信令通知子图片ID映射。当不存在时,subpic_id_mapping_explicitly_signalled_flag的值被推断为等于0。
subpic_id_mapping_in_sps_flag等于1规定当subpic_id_mapping_explicitly_signaled_flag等于1时,在SPS中信令通知子图片ID映射。subpic_id_mapping_in_sps_flag等于0规定当subpic_id_mapping_explicitly_signaled_flag等于1时,在CLVS的编解码图片所参考的PPS中信令通知子图片ID映射。
sps_subpic_id[i]规定第i个子图片的子图片ID。sps_subpic_id[i]语法元素的长度为sps_subpic_id_len_minus1+1位。
bit_depth_minus8规定亮度和色度数组样点的位深度BitDepth,以及亮度和色度量化参数范围偏移QpBdOffset的值,如下所示:
BitDepth=8+bit_depth_minus8 (45)
QpBdOffset=6*bit_depth_minus8 (46)
bit_depth_minus8应在0到8(包括端值)的范围内。
sps_entropy_coding_sync_enabled_flag等于1规定在解码包括参考SPS的每个图片中的每个片中的一行CTB的第一个CTB的CTU之前调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片中的每个片中的一行CTB的第一个CTB的CTU之后调用上下文变量的特定存储过程。sps_entropy_coding_sync_enabled_flag等于0规定在解码包括参考SPS的每个图片的每个片中的一行CTB的第一个CTB的CTU之前,不需要调用上下文变量的特定同步过程,并且在解码包括参考SPS的每个图片的每个片中的一行CTB的第一个CTB的CTU之后,不需要调用上下文变量的特定存储过程。
sps_wpp_entry_point_offsets_present_flag等于1规定当sps_entropy_coding_sync_enabled_flag等于1时,用于CTU行的条目点偏移的信令通知可以存在于参考SPS的图片的条带标头中。sps_wpp_entry_point_offsets_present_flag等于0规定用于CTU行的条目点偏移的信令通知不存在于参考SPS的图片的条带标头中。当不存在时,sps_wpp_entry_point_offsets_present_flag的值被推断为等于0。
sps_weighted_pred_flag等于1规定加权预测可应用于参考SPS的P条带。sps_weighted_pred_flag等于0规定加权预测不应用于参考SPS的P条带。
sps_weighted_bipred_flag等于1规定显式加权预测可应用于参考SPS的B条带。sps_weighted_bipred_flag等于0规定显式加权预测不应用于参考SPS的B条带。
log2_max_pic_order_cnt_lsb_minus4规定图片顺序计数的解码过程中使用的变量MaxPicOrderCntLsb的值,如下所示:
MaxPicOrderCntLsb=2(log2_max_pic_order_cnt_lsb_minus4+4) (47)
log2_max_pic_order_cnt_lsb_minus4的值应在0到12(包括端值)的范围内。
sps_poc_msb_flag等于1规定ph_poc_msb_present_flag语法元素存在于参考SPS的PH中。sps_poc_msb_flag等于0规定ph_poc_msb_present_flag语法元素不存在于参考SPS的PH中。
poc_msb_len_minus1加1规定poc_msb_val语法元素的长度(以位为单位),当它存在于参考SPS的PH中时。poc_msb_len_minus1的值应在0到32-log2_max_pic_order_cnt_lsb_minus4–5(包括端值)的范围内。
num_extra_ph_bits_bytes规定参考SPS的编解码图片的PH语法结构中的额外位的字节的数量。在符合该版本该规范的比特流中,num_extra_ph_bits_bytes的值应等于0。尽管在该版本该规范中要求num_extra_ph_bits_bytes的值等于0,但是符合该版本该规范的解码器应允许num_extra_ph_bits_bytes的值等于1或2出现在语法中。
num_extra_sh_bits_bytes规定参考SPS的编解码图片的条带标头中的额外位的字节的数量。在符合该版本该规范的比特流中,num_extra_sh_bits_bytes的值应等于0。尽管在该版本该规范中要求num_extra_sh_bits_bytes的值等于0,但符合该版本该规范的解码器应允许num_extra_sh_bits_bytes的值等于1或2出现在语法中。
sps_sublayer_dpb_params_flag用于控制SPS中dpb_parameters()语法结构中的max_dec_pic_buffering_minus1[i]、max_num_reorder_pics[i]和max_latency_increase_plus1[i]语法元素的存在。当不存在时,sps_sub_dpb_params_info_present_flag的值被推断为等于0。
long_term_ref_pics_flag等于0规定没有LTRP用于CLVS中任何编解码图片的帧间预测。long_term_ref_pics_flag等于1规定LTRP可用于CLVS中的一个或多个编解码图片的帧间预测。
inter_layer_ref_pics_present_flag等于0规定没有ILRP用于CLVS中任何编解码图片的帧间预测。inter_layer_ref_pic_flag等于1规定ILRP可用于CLVS中的一个或多个编解码图片的帧间预测。当sps_video_parameter_set_id等于0时,inter_layer_ref_pics_present_flag的值被推断为等于0。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,inter_layer_ref_pics_present_flag的值应等于0。[Ed.(YK):检查此语法元素是否有更好的名称。]
sps_idr_rpl_present_flag等于1规定参考图片列表语法元素存在于IDR图片的条带标头中。sps_idr_rpl_present_flag等于0规定参考图片列表语法元素不存在于IDR图片的条带标头中。
rpl1_same_as_rpl0_flag等于1规定语法元素num_ref_pic_lists_in_sps[1]和语法结构ref_pic_list_struct(1,rplsIdx)不存在,并且以下适用:
--num_ref_pic_lists_in_sps[1]的值被推断为等于num_ref_pic_lists_in_sps[0]的值。
--对于范围从0到num_ref_pic_lists_in_sps[0]-1的rplsIdx,ref_pic_list_struct(1,rplsIdx)中每个语法元素的值被推断为等于ref_pic_list_struct(0,rplsIdx)中对应语法元素的值。
num_ref_pic_lists_in_sps[i]规定SPS中包括的listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的数量。num_ref_pic_lists_in_sps[i]的值应在0到64(包括端值)的范围内。
注4–对于listIdx的每个值(等于0或1),解码器应为总数为num_ref_pic_lists_in_sps[i]+1的ref_pic_list_struct(listIdx,rplsIdx)语法结构分配内存,因为可能有一个ref_pic_list_struct(listIdx,rplsIdx)语法结构直接在当前图片的条带标头中被信令通知。
qtbtt_dual_tree_intra_flag等于1规定,对于I条带,使用隐式四叉树划分将每个CTU划分成具有64×64亮度样点的编解码单元,并且这些编解码单元是用于亮度和色度的两个单独coding_tree语法结构的根。qtbtt_dual_tree_intra_flag等于0规定单独coding_tree语法结构不用于I条带。当qtbtt_dual_tree_intra_flag不存在时,其被推断为等于0。
log2_min_luma_coding_block_size_minus2加2规定最小亮度编解码块尺寸。log2_min_luma_coding_block_size_minus2的值应在0到Min(4,sps_log2_ctu_size_minus5+3)(包括端值)的范围内。
变量MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC和Vsize被导出如下:
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (48)
MinCbSizeY=1<<MinCbLog2SizeY (49)
IbcBufWidthY=256*128/CtbSizeY (50)
IbcBufWidthC=IbcBufWidthY/SubWidthC (51)
VSize=Min(64,CtbSizeY) (52)
MinCbSizeY的值应小于或等于VSize。
分别规定每个色度CTB的数组的宽度和高度的变量CtbWidthC和CtbHeightC被导出如下:
--如果chroma_format_idc等于0(单色)或separate_colour_plane_flag等于1,则CtbWidthC和CtbHeightC都等于0。
--否则,CtbWidthC和CtbHeightC被导出如下:
CtbWidthC=CtbSizeY/SubWidthC (53)
CtbHeightC=CtbSizeY/SubHeightC (54)
对于范围从0到4(包括端值)的log2BlockWidth和范围从0到4(包括端值)的log2BlockHeight,调用如条款6.5.2中规定的右上对角线扫描顺序数组初始化过程,其中将1<<log2BlockWidth和1<<log2BlockHeight作为输入,并将输出分配给DiagScanOrder[log2BlockWidth][log2BlockHeight]。
对于范围从0到6(包括端值)的log2BlockWidth和范围从0到6(包括端值)的log2BlockHeight,调用如条款6.5.3中规定的水平和垂直遍历扫描顺序数组初始化过程,其中将1<<log2BlockWidth和1<<log2BlockHeight作为输入,并且将输出分别分配给HorTravScanOrder[log2BlockWidth][log2BlockHeight]和VerTravScanOrder[log2BlockWidth][log2BlockHeight]。
partition_constraints_override_enabled_flag等于1规定在参考SPS的PH中存在partition_constraints_override_flag。partition_constraints_override_enabled_flag等于0规定在参考SPS的PH中不存在partition_constraints_override_flag。
sps_log2_diff_min_qt_min_cb_intra_slice_luma规定由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考SPS的slice_type等于2(I)的条带中的亮度CU的亮度样点的最小编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_luma的值应在0至CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数被导出如下:
MinQtLog2SizeIntraY=sps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY (55)
sps_max_mtt_hierarchy_depth_intra_slice_luma规定编解码单元的默认最大层次深度,该编解码单元是由参考SPS的slice_type等于2(I)的条带中的四叉树叶的多类型树划分产生的。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被参考SPS的PH中存在的ph_max_mtt_hierarchy_depth_intra_slice_luma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_luma的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内2。
sps_log2_diff_max_bt_min_qt_intra_slice_luma规定可以使用二进制划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于2(I)的条带的CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_luma的值应在0至CtbLog2SizeY-MinQtLog2SizeIntraY(包括端值)的范围内。当sps_log2_diff_max_bt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_luma的值推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_luma规定可以使用三元划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_luma的值应在0至CtbLog2SizeY-MinQtLog2SizeIntraY(包括端值)的范围内。当sps_log2_diff_max_tt_min_qt_intra_slice_luma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_luma的值被推断为等于0。
sps_log2_diff_min_qt_min_cb_inter_slice规定由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数与参考SPS的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点的最小亮度编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_min_qt_min_cb_luma覆盖。sps_log2_diff_min_qt_min_cb_inter_slice的值应在0到CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数被导出如下:
MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+MinCbLog2SizeY (56)
sps_max_mtt_hierarchy_depth_inter_slice规定由参考SPS的slice_type等于0(B)或1(P)的条带的四叉树叶的多类型树划分产生的编解码单元的默认最大层次深度。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被参考SPS的PH中存在的ph_max_mtt_hierarchy_depth_inter_slice覆盖。sps_max_mtt_hierarchy_depth_inter_slice的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内。
sps_log2_diff_max_bt_min_qt_inter_slice规定可以使用二进制划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_bt_min_qt_luma覆盖。sps_log2_diff_max_bt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY(包括端值)的范围内。当sps_log2_diff_max_bt_min_qt_inter_slice不存在时,sps_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_inter_slice规定可以使用三元划分进行划分的亮度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_tt_min_qt_luma覆盖。sps_log2_diff_max_tt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY(包括端值)的范围内。当sps_log2_diff_max_tt_min_qt_inter_slice不存在时,sps_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于0。
sps_log2_diff_min_qt_min_cb_intra_slice_chroma规定由treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点的最小尺寸的以2为底的对数与参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点的最小编解码块尺寸的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_min_qt_min_cb_chroma覆盖。sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值应在0到CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于0。由treeType等于DUAL_TREE_CHROMA的CTU的四叉树划分产生的色度叶块的亮度样点的最小尺寸的以2为底的对数被导出如下:
MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY (57)
sps_max_mtt_hierarchy_depth_intra_slice_chroma规定由参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度四叉树叶的多类型树划分产生的色度编解码单元的默认最大层次深度。当partition_constraints_override_enabled_flag等于1时,默认最大层次深度可以被参考SPS的PH中存在的ph_max_mtt_hierarchy_depth_chroma覆盖。sps_max_mtt_hierarchy_depth_intra_slice_chroma的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内。当不存在时,sps_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_bt_min_qt_intra_slice_chroma规定可以使用二进制划分进行划分的色度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_bt_min_qt_chroma覆盖。sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC(包括端值)的范围内。当sps_log2_diff_max_bt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_chroma规定可以使用三元划分进行划分的色度编解码块的亮度样点的最大尺寸(宽度或高度)的以2为底的对数与由参考SPS的slice_type等于2(I)的条带中的treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点的最小尺寸(宽度或高度)的以2为底的对数之间的默认差。当partition_constraints_override_enabled_flag等于1时,默认差可以被参考SPS的PH中存在的ph_log2_diff_max_tt_min_qt_chroma覆盖。sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC(包括端值)的范围内。当sps_log2_diff_max_tt_min_qt_intra_slice_chroma不存在时,sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于0。
sps_max_luma_transform_size_64_flag等于1规定亮度样点的最大变换尺寸等于64。sps_max_luma_transform_size_64_flag等于0规定亮度样点的最大变换尺寸等于32。
当CtbSizeY小于64时,sps_max_luma_transform_size_64_flag的值应等于0。
变量MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY和MaxTbSizeY被导出如下:
MinTbLog2SizeY=2 (58)
MaxTbLog2SizeY=sps_max_luma_transform_size_64_flag?6:5 (59)
MinTbSizeY=1<<MinTbLog2SizeY (60)
MaxTbSizeY=1<<MaxTbLog2SizeY (61)
sps_joint_cbcr_enabled_flag等于0规定禁用色度残差的联合编解码。sps_joint_cbcr_enabled_flag等于1规定启用色度残差的联合编解码。当不存在时,sps_joint_cbcr_enabled_flag的值被推断为等于0。
same_qp_table_for_chroma等于1规定仅信令通知一个色度QP映射表,并且当sps_joint_cbcr_enabled_flag等于1时,该表应用于Cb残差和Cr残差以及还应用于联合Cb-Cr残差。same_qp_table_for_chroma等于0规定当sps_joint_cbcr_enabled_flag等于1时,色度QP映射表在SPS中被信令通知,两个用于Cb和Cr,以及另外一个用于联合Cb-Cr。当比特流中不存在same_qp_table_for_chroma时,same_qp_table_for_chroma的值被推断为等于1。
qp_table_start_minus26[i]加26规定用于描述第i个色度QP映射表的起始亮度和色度QP。qp_table_start_minus26[i]的值应在-26-QpBdOffset至36(包括端值)的范围内。当qp_table_start_minus26[i]不存在于比特流中时,qp_table_start_minus26[i]的值被推断为等于0。
num_points_in_qp_table_minus1[i]加1规定用于描述第i个色度QP映射表的点的数量。num_points_in_qp_table_minus1[i]的值应在0到63+QpBdOffset(包括端值)的范围内。当num_points_in_qp_table_minus1[0]不存在于比特流中时,num_points_in_qp_table_minus1[0]的值被推断为等于0。
delta_qp_in_val_minus1[i][j]规定用于导出第i个色度QP映射表的第j个枢轴点的输入坐标的增量值。当比特流中不存在delta_qp_in_val_minus1[0][j]时,delta_qp_in_val_minus1[0][j]的值被推断为等于0。
delta_qp_diff_val[i][j]规定用于导出第i个色度QP映射表的第j个枢轴点的输出坐标的增量值。
对于i=0..numQpTables–1的第i个色度QP映射表ChromaQpTable[i]被导出如下:
Figure BDA0003842891790000371
Figure BDA0003842891790000381
当same_qp_table_for_chroma等于1时,对于在-QpBdOffset至63(包括端值)的范围内的k,ChromaQpTable[1][k]和ChromaQpTable[2][k]设置为等于ChromaQpTable[0][k]。
比特流一致性的要求是,对于在0至numQpTables-1(包括端值)的范围内的i以及对于在0至num_points_in_qp_table_minus1[i]+1(包括端值)的范围内的j,qpInVal[i][j]和qpOutVal[i][j]的值应在-QpBdOffset至63(包括端值)的范围内。
sps_sao_enabled_flag等于1规定样点自适应偏移过程被应用于去块滤波过程之后的重建图片。sps_sao_enabled_flag等于0规定样点自适应偏移过程不应用于去块滤波过程之后的重建图片。
sps_alf_enabled_flag等于0规定自适应环路滤波器被禁用。sps_alf_enabled_flag等于1规定自适应环路滤波器被启用。
sps_ccalf_enabled_flag等于0规定跨分量自适应环路滤波器被禁用。sps_ccalf_enabled_flag等于1规定跨分量自适应环路滤波器被启用。
sps_transform_skip_enabled_flag等于1规定transform_skip_flag可以存在于变换单元语法中。sps_transform_skip_enabled_flag等于0规定transform_skip_flag不存在于变换单元语法中。
log2_transform_skip_max_size_minus2规定用于变换跳过的最大块尺寸,并且应该在0到3(包括端值)的范围内。
变量MaxTsSize设置为等于1<<(log2_transform_skip_max_size_minus2+2)。
sps_bdpcm_enabled_flag等于1规定intra_bdpcm_luma_flag和intra_bdpcm_chroma_flag可以存在于帧内编解码单元的编解码单元语法中。sps_bdpcm_enabled_flag等于0规定intra_bdpcm_luma_flag和intra_bdpcm_chroma_flag不存在于帧内编解码单元的编解码单元语法中。当不存在时,sps_bdpcm_enabled_flag的值被推断为等于0。
sps_ref_wraparound_enabled_flag等于1规定在帧间预测中应用水平环绕运动补偿。sps_ref_wraparound_enabled_flag等于0规定不应用水平环绕运动补偿。当(CtbSizeY/MinCbSizeY+1)的值大于(pic_width_in_luma_samples/MinCbSizeY-1)时,其中pic_width_in_luma_samples是参考SPS的任何PPS中的pic_width_in_luma_samples的值,sps_ref_wraparound_enabled_flag的值应等于0。[Ed.(YK):这里的语义仍然依赖于PPS语法元素。]
sps_temporal_mvp_enabled_flag等于1规定可以在CLVS中使用时域运动矢量预测器。sps_temporal_mvp_enabled_flag等于0规定在CLVS中不使用时域运动矢量预测器。
sps_sbtmvp_enabled_flag等于1规定基于子块的时域运动矢量预测器可用于解码具有CLVS中slice_type不等于I的所有条带的图片。sps_sbtmvp_enabled_flag等于0规定在CLVS中不使用基于子块的时域运动矢量预测器。当sps_sbtmvp_enabled_flag不存在时,其被推断为等于0。
sps_amvr_enabled_flag等于1规定在运动矢量编解码中使用自适应运动矢量差分辨率。amvr_enabled_flag等于0规定在运动矢量编解码中不使用自适应运动矢量差分辨率。
sps_bdof_enabled_flag等于0规定双向光流帧间预测被禁用。sps_bdof_enabled_flag等于1规定双向光流帧间预测被启用。
sps_bdof_pic_present_flag等于1规定ph_disable_bdof_flag存在于参考SPS的PH中。sps_bdof_pic_present_flag等于0规定ph_disable_bdof_flag不存在于参考SPS的PH中。当sps_bdof_pic_present_flag不存在时,sps_bdof_pic_present_flag的值被推断为等于0。
sps_smvd_enabled_flag等于1规定可以在运动矢量解码中使用对称运动矢量差。sps_smvd_enabled_flag等于0规定在运动矢量编解码中不使用对称运动矢量差。
sps_dmvr_enabled_flag等于1规定基于解码器运动矢量细化的帧间双向预测被启用。sps_dmvr_enabled_flag等于0规定基于解码器运动矢量细化的帧间双向预测被禁用。
sps_dmvr_pic_present_flag等于1规定ph_disable_dmvr_flag存在于参考SPS的PH中。sps_dmvr_pic_present_flag等于0规定ph_disable_dmvr_flag不存在于参考SPS的PH中。当sps_dmvr_pic_present_flag不存在时,sps_dmvr_pic_present_flag的值被推断为等于0。
sps_mmvd_enabled_flag等于1规定具有运动矢量差的merge模式被启用。sps_mmvd_enabled_flag等于0规定具有运动矢量差的merge模式被禁用。
sps_isp_enabled_flag等于1规定具有子分割的帧内预测被启用。sps_isp_enabled_flag等于0规定具有子分割的帧内预测被禁用。
sps_mrl_enabled_flag等于1规定具有多个参考行的帧内预测被启用。sps_mrl_enabled_flag等于0规定具有多个参考行的帧内预测被禁用。
sps_mip_enabled_flag等于1规定基于矩阵的帧内预测被启用。sps_mip_enabled_flag等于0规定基于矩阵的帧内预测被禁用。
sps_cclm_enabled_flag等于0规定从亮度分量到色度分量的跨分量线性模型帧内预测被禁用。sps_cclm_enabled_flag等于1规定从亮度分量到色度分量的跨分量线性模型帧内预测被启用。当sps_cclm_enabled_flag不存在时,其被推断为等于0。
sps_chroma_horizontal_collocated_flag等于1规定预测过程以针对相对于对应亮度样点位置未水平移位的色度样点位置设计的方式进行操作。sps_chroma_horizontal_collocated_flag等于0规定预测过程以针对色度样点位置设计的方式进行操作,该色度样点位置相对于对应亮度样点位置以亮度样点为单位向右移位0.5。当sps_chroma_horizontal_collocated_flag不存在时,其被推断为等于1。
sps_chroma_vertical_collocated_flag等于1规定预测过程以针对相对于对应亮度样本位置未垂直移位的色度样点位置设计的方式进行操作。sps_chroma_vertical_collocated_flag等于0规定预测过程以针对色度样点位置设计的方式进行操作,该色度样点位置相对于对应亮度样点位置以亮度样点为单位向下移位0.5。当sps_chroma_vertical_collocated_flag不存在时,其被推断为等于1。
sps_mts_enabled_flag等于1规定sps_explicit_mts_intra_enabled_flag存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag存在于序列参数集RBSP语法中。sps_mts_enabled_flag等于0规定sps_explicit_mts_intra_enabled_flag不存在于序列参数集RBSP语法中,并且sps_explicit_mts_inter_enabled_flag不存在于序列参数集RBSP语法中。
sps_explicit_mts_intra_enabled_flag等于1规定mts_idx可以存在于帧内编解码单元语法中。sps_explicit_mts_intra_enabled_flag等于0规定mts_idx不存在于帧内编解码单元语法中。当不存在时,sps_explicit_mts_intra_enabled_flag的值被推断为等于0。
sps_explicit_mts_inter_enabled_flag等于1规定mts_idx可以存在于帧间编解码单元语法中。sps_explicit_mts_inter_enabled_flag等于0规定mts_idx不存在于帧间编解码单元语法中。当不存在时,sps_explicit_mts_inter_enabled_flag的值被推断为等于0。
six_minus_max_num_merge_cand规定从6中减去的SPS中支持的merging运动矢量预测(MVP)候选的最大数量。six_minus_max_num_merge_cand的值应在0到5(包括端值)的范围内。
Merging MVP候选的最大数量MaxNumMergeCand被导出如下:
MaxNumMergeCand=6-six_minus_max_num_merge_cand (63)
sps_sbt_enabled_flag等于0规定禁用帧间预测CU的子块变换。sps_sbt_enabled_flag等于1规定启用用于帧间预测CU的子块变换。
sps_affine_enabled_flag规定基于仿射模型的运动补偿是否可用于帧间预测。如果sps_affine_enabled_flag等于0,则应约束语法,使得在CLVS中不使用基于仿射模型的运动补偿,并且inter_affine_flag和cu_affine_type_flag不存在于CLVS的编解码单元语法中。否则(sps_affine_enabled_flag等于1),可以在CLVS中使用基于仿射模型的运动补偿。
five_minus_max_num_subblock_merge_cand规定从5中减去的SPS中支持的基于子块的merge运动矢量预测候选的最大数量。
sps_affine_type_flag规定基于6参数仿射模型的运动补偿是否可用于帧间预测。如果sps_affine_type_flag等于0,则应约束语法,使得在CLVS中不使用基于6参数仿射模型的运动补偿,并且cu_affine_type_flag不存在于CLVS中的编解码单元语法中。否则(sps_affine_type_flag等于1),可以在CLVS中使用基于6参数仿射模型的运动补偿。当不存在时,sps_affine_type_flag的值被推断为等于0。
sps_affine_amvr_enabled_flag等于1规定在仿射帧间模式的运动矢量编解码中使用自适应运动矢量差分辨率。sps_affine_amvr_enabled_flag等于0规定在仿射帧间模式的运动矢量编解码中不使用自适应运动矢量差分辨率。当不存在时,sps_affine_amvr_enabled_flag的值被推断为等于0。
sps_affine_prof_enabled_flag规定是否可以使用光流的预测细化来进行仿射运动补偿。如果sps_affine_prof_enabled_flag等于0,则仿射运动补偿将不使用光流来细化。否则(sps_affine_prof_enabled_flag等于1),仿射运动补偿可以使用光流来细化。当不存在时,sps_affine_prof_enabled_flag的值被推断为等于0。
sps_prof_pic_present_flag等于1规定ph_disable_prof_flag存在于参考SPS的PH中。sps_prof_pic_present_flag等于0规定ph_disable_prof_flag不存在于参考SPS的PH中。当sps_prof_pic_present_flag不存在时,sps_prof_pic_present_flag的值被推断为等于0。
sps_palette_enabled_flag等于1规定pred_mode_plt_flag可以存在于编解码单元语法中。sps_palette_enabled_flag等于0规定编解码单元语法中不存在pred_mode_plt_flag。当sps_palette_enabled_flag不存在时,其被推断为等于0。
sps_act_enabled_flag等于1规定可以使用自适应颜色变换,并且cu_act_enabled_flag可以存在于编解码单元语法中。sps_act_enabled_flag等于0规定不使用自适应颜色变换,并且编解码单元语法中不存在cu_act_enabled_flag。当sps_act_enabled_flag不存在时,其被推断为等于0。
min_qp_prime_ts_minus4规定变换跳过模式的最小允许量化参数,如下所示:
QpPrimeTsMin=4+min_qp_prime_ts_minus4 (64)
min_qp_prime_ts_minus4的值应在0到48(包括端值)的范围内。
sps_bcw_enabled_flag规定具有CU权重的双向预测是否可用于帧间预测。如果sps_bcw_enabled_flag等于0,则应约束语法,使得在CLVS中不使用具有CU权重的双向预测,并且bcw_idx不存在于CLVS的编解码单元语法中。否则(sps_bcw_enabled_flag等于1),可以在CLVS中使用具有CU权重的双向预测。
sps_ibc_enabled_flag等于1规定IBC预测模式可用于CLVS中图片的解码。sps_ibc_enabled_flag等于0规定CLVS中不使用IBC预测模式。当sps_ibc_enabled_flag不存在时,其被推断为等于0。
six_minus_max_num_ibc_merge_cand规定从6中减去的SPS中支持的IBC merge块矢量预测(BVP)候选的最大数量。six_minus_max_num_ibc_merge_cand的值应在0到5(包括端值)的范围内。
IBC merging BVP候选的最大数量MaxNumIbcMergeCand被导出如下:
Figure BDA0003842891790000431
sps_ciip_enabled_flag规定ciip_flag可以存在于帧间编解码单元的编解码单元语法中。sps_ciip_enabled_flag等于0规定ciip_flag不存在于帧间编解码单元的编解码单元语法中。
sps_fpel_mmvd_enabled_flag等于1规定具有运动矢量差的merge模式使用整数样点精度。sps_fpel_mmvd_enabled_flag等于0规定具有运动矢量差的merge模式可以使用分数样点精度。
sps_gpm_enabled_flag规定基于几何分割的运动补偿是否可用于帧间预测。sps_gpm_enabled_flag等于0规定应约束语法,使得在CLVS中不使用基于几何分割的运动补偿,并且merge_gpm_partition_idx、merge_gpm_idx0和merge_gpm_idx1不存在于CLVS的编解码单元语法中。sps_gpm_enabled_flag等于1规定可以在CLVS中使用基于几何分割的运动补偿。当不存在时,sps_gpm_enabled_flag的值被推断为等于0。
max_num_merge_cand_minus_max_num_gpm_cand规定从MaxNumMergeCand中减去的SPS中支持的几何分割merge模式候选的最大数量。
几何分割merge模式候选的最大数量MaxNumGpmMergeCand的导出如下:
Figure BDA0003842891790000441
MaxNumGpmMergeCand的值应在2到MaxNumMergeCand(包括端值)的范围内。
sps_lmcs_enabled_flag等于1规定在CLVS中使用带有色度缩放的亮度映射。sps_lmcs_enabled_flag等于0规定CLVS中不使用带有色度缩放的亮度映射。
sps_lfnst_enabled_flag等于1规定lfnst_idx可能存在于帧内编解码单元语法中。sps_lfnst_enabled_flag等于0规定lfnst_idx不存在于帧内编解码单元语法中。
sps_ladf_enabled_flag等于1,规定sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]和sps_ladf_delta_threshold_minus1[i]存在于SPS中。
sps_num_ladf_intervals_minus2加1规定SPS中存在的sps_ladf_delta_threshold_minus1[i]和sps_ladf_qp_offset[i]语法元素的数量。sps_num_ladf_intervals_minus2的值应在0到3(包括端值)的范围内。
sps_ladf_lowest_interval_qp_offset规定用于导出如条款8.8.3.6.1中规定的变量qP的偏移。sps_ladf_lowest_interval_qp_offset的值应在-63到63(包括端值)的范围内。
sps_ladf_qp_offset[i]规定用于导出如条款8.8.3.6.1中规定的变量qP的偏移数组。sps_ladf_qp_offset[i]的值应在-63至63(包括端值)的范围内。
sps_ladf_delta_threshold_minus1[i]用于计算SpsLadfIntervalLowerBound[i]的值,该值规定第i个亮度强度级别间隔的下限。sps_ladf_delta_threshold_minus1[i]的值应在0到2BitDepth–3(包括端值)的范围内。
SpsLadfIntervalLowerBound[0]的值被设置为等于0。
对于0到sps_num_ladf_intervals_minus2(包括端值)范围内的每个i值,变量SpsLadfIntervalLowerBound[i+1]的导出如下:
Figure BDA0003842891790000451
log2_parallel_merge_level_minus2加2规定变量Log2ParMrgLevel的值,该变量用于如条款8.5.2.3中规定的空域merge候选的导出过程、如条款8.5.5.2中规定的子块merge模式下的运动矢量和参考索引的导出过程,并控制条款8.5.2.1中基于历史的运动矢量预测器列表的更新过程的调用。log2_parallel_merge_level_minus2的值应在0到CtbLog2SizeY–2(包括端值)的范围内。变量Log2ParMrgLevel的导出如下:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (68)
sps_scaling_list_enabled_flag等于1规定缩放列表用于变换系数的缩放过程。sps_scaling_list_enabled_flag等于0规定缩放列表不用于变换系数的缩放过程。
sps_dep_quant_enabled_flag等于0规定对参考SPS的图片禁用依赖量化。sps_dep_quant_enabled_flag等于1规定可以为参考SPS的图片启用依赖量化。
sps_sign_data_hiding_enabled_flag等于0规定对参考SPS的图片禁用符号位隐藏。sps_sign_data_hiding_enabled_flag等于1规定可以对参考SPS的图片启用符号位隐藏。当sps_sign_data_hiding_enabled_flag不存在时,其被推断为等于0。
sps_virtual_boundaries_enabled_flag等于1规定可以在CLVS中的编解码图片中应用禁用跨虚拟边界的环路滤波。sps_virtual_boundaries_enabled_flag等于0规定在CLVS中的编解码图片中不应用禁用跨虚拟边界的环路滤波。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。
sps_virtual_boundaries_present_flag等于1规定在SPS中信令通知虚拟边界的信息。sps_virtual_boundaries_present_flag等于0规定在SPS中不信令通知虚拟边界的信息。当SPS中信令通知了一个或多个虚拟边界时,在参考SPS的图片中跨虚拟边界禁用环路滤波操作。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。
比特流一致性的要求是,当res_change_in_clvs_allowed_flag的值等于1时,sps_virtual_boundaries_present_flag的值应该等于0。
sps_num_ver_virtual_boundaries规定SPS中存在的sps_virtual_boundaries_pos_x[i]语法元素的数量。当sps_num_ver_virtual_boundaries不存在时,其被推断为等于0。
sps_virtual_boundaries_pos_x[i]以亮度样点除以8为单位规定第i个垂直虚拟边界的位置。sps_virtual_boundaries_pos_x[i]的值应在1至Ceil(pic_width_in_luma_samples÷8)–1(包括端值)的范围内。[Ed.(VD):pic_width_in_luma_samples在PPS中,而不是在SPS中。]
sps_num_hor_virtual_boundaries规定SPS中存在的sps_virtual_boundaries_pos_y[i]语法元素的数量。当sps_num_hor_virtual_boundaries不存在时,其被推断为等于0。
当sps_virtual_boundaries_enabled_flag等于1且sps_virtual_boundaries_present_flag等于1时,sps_num_ver_virtual_boundaries和sps_num_hor_virtual_boundaries之和应大于0。
sps_virtual_boundaries_pos_y[i]以亮度样点除以8为单位规定第i个水平虚拟边界的位置。sps_virtual_boundaries_pos_y[i]的值应在1至Ceil(pic_height_in_luma_samples÷8)–1(包括端值)的范围内。[Ed.(VD):pic_height_in_luma_samples在PPS中,而不是在SPS中。]
sps_general_hrd_params_present_flag等于1规定SPS RBSP语法结构中存在语法结构general_hrd_parameters()。sps_general_hrd_params_present_flag等于0规定SPS RBSP语法结构中不存在语法结构general_hrd_parameters()。
sps_sublayer_cpb_params_present_flag等于1规定SPS RBSP中的语法结构old_hrd_parameters()包括TemporalId在0到sps_max_sublayers_minus1(包括端值)范围内的子层表示的HRD参数。sps_sublayer_cpb_params_present_flag等于0规定SPS RBSP中的语法结构ols_hrd_parameters()仅包括TemporalId等于sps_max_sublayers_minus1的子层表示的HRD参数。当sps_max_sublayers_minus1等于0时,sps_sublayer_cpb_params_present_flag的值被推断为等于0。
当sps_sublayer_cpb_params_present_flag等于0时,TemporalId在0到sps_max_sublayers_minus1-1(包括端值)范围内的子层表示的HRD参数被推断为与TemporalId等于sps_max_sublayers_minus1的子层表示的HRD参数相同。这些包括从fixed_pic_rate_general_flag[i]语法元素开始直到在ols_hrd_parameters语法结构中的条件“if(general_vcl_hrd_params_present_flag)”下紧接的sublayer_hrd_parameters(i)语法结构的HRD参数。
field_seq_flag等于1指示CLVS传送表示字段的图片。field_seq_flag等于0指示CLVS传送表示帧的图片。当general_frame_only_constraint_flag等于1时,field_seq_flag的值应等于0。
当field_seq_flag等于1时,对于CLVS中的每个编解码图片,应该存在帧字段信息SEI消息。
注5–规定的解码过程不会以不同的方式处理表示字段或帧的图片。因此,表示字段的图片的序列将用单个字段的图片维度来编解码。例如,表示1080i字段的图片通常具有1920x540的裁剪输出维度,而序列图片速率通常表示源字段的速率(通常在50Hz和60Hz之间),而不是源帧速率(通常在25Hz和30Hz之间)。
vui_parameters_present_flag等于1规定语法结构vui_parameters()存在于SPSRBSP语法结构中。vui_parameters_present_flag等于0规定语法结构vui_parameters()不存在于SPS RBSP语法结构中。
sps_extension_flag等于0规定SPS RBSP语法结构中不存在sps_extension_data_flag语法元素。sps_extension_flag等于1规定SPS RBSP语法结构中存在sps_extension_data_flag语法元素。
sps_extension_data_flag可以具有任何值。它的存在和值不影响解码器与该版本该规范中规定的档次的一致性。符合该版本该规范的解码器应忽略所有sps_extension_data_flag语法元素。
3.1.PPS语法和语义
在最新的VVC草案文本中,PPS语法和语义如下:
Figure BDA0003842891790000481
Figure BDA0003842891790000491
Figure BDA0003842891790000501
Figure BDA0003842891790000511
Figure BDA0003842891790000521
PPS RBSP在被引用之前应可用于解码过程,包括在至少一个AU中,其中TemporalId小于或等于PPS NAL单元的TemporalId,或通过外部手段提供。
PU内具有pps_pic_parameter_set_id的特定值的所有PPS NAL单元应具有相同的内容。
pps_pic_parameter_set_id标识其他语法元素参考的PPS。pps_pic_parameter_set_id的值应在0到63(包括端值)的范围内。
无论nuh_layer_id值如何,PPS NAL单位共享pps_pic_parameter_set_id的相同值空间。
设ppsLayerId是特定PPS NAL单元的numh_layer_id的值,并且vclLayerId是特定VCL NAL单元的numh_layer_id的值。特定的VCL NAL单元不应指代特定的PPS NAL单元,除非ppsLayerId小于或等于vclLayerId并且nuh_layer_id等于ppsLayerId的层包含在至少一个OLS中,该至少一个OLS包括nuh_layer_id等于vclLayerId的层。
pps_seq_parameter_set_id规定SPS的sps_seq_parameter_set_id的值。pps_seq_parameter_set_id的值应在0到15(包括端值)的范围内。pps_seq_parameter_set_id的值在CLVS中由编解码图片参考的所有PPS中应该是相同的。
mixed_nalu_types_in_pic_flag等于1规定参考PPS的每个图片有多个VCLNAL单元,VCLNAL单元不具有相同的nal_unit_type值,并且该图片不是IRAP图片。mixed_nalu_types_in_pic_flag等于0规定参考PPS的每个图片具有一个或多个VCL NAL单元,并且参考PPS的每个图片的VCL NAL单元具有相同的nal_unit_type值。
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应等于0。
对于在图片picA中在IDR_W_RADL到CRA_NUT(包括端值)范围内具有nal_unit_type值nalUnitTypeA的每个条带,该图片picA还包含具有nal_unit_type的另一个值的一个或多个条带(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
-条带应属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的picA的子图片。
-如果nalUnitTypeA等于CRA,则对于CLVS中按照解码顺序和输出顺序在当前图片之后的所有后续PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应包括在活动条目中按照解码顺序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于CLVS中按照解码顺序在当前图片之后的所有PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应该包括在活动条目中按照解码顺序在picA之前的任何图片。
注1–mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自子图片比特流merge操作的编解码图片,编码器必须确保匹配比特流结构以及进一步对齐原始比特流的参数。这种对齐的一个示例如下:当sps_idr_rpl_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考PPS的图片不能具有nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带。
pic_width_in_luma_samples规定参考PPS的每个解码图片的宽度,以亮度样点为单位。pic_width_in_luma_samples不应等于0,应为Max(8,MinCbSizeY)的整数倍,且应小于或等于pic_width_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_width_in_luma_samples的值应等于pic_width_max_in_luma_samples。
pic_height_in_luma_samples规定参考PPS的每个解码图片的以亮度样点为单位的高度。pic_height_in_luma_samples不应等于0,并且应为Max(8,MinCbSizeY)的整数倍,并且应小于或等于pic_height_max_in_luma_samples。
当res_change_in_clvs_allowed_flag等于0时,pic_height_in_luma_samples的值应等于pic_height_max_in_luma_samples。
变量PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC和PicHeightInSamplesC的导出如下:
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (69)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (70)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (71)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (72)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (73)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (74)
PicSizeInSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples (75)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (76)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (77)
pps_conformance_window_flag等于1指示一致性裁剪窗口偏移参数在PPS中紧随其后。pps_conformance_window_flag等于0指示PPS中不存在一致性裁剪窗口偏移参数。
pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset规定从解码过程输出的CLVS中的图片的样点,根据图片坐标中规定的矩形区域进行输出。当pps_conformance_window_flag等于0时,pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset的值被推断为等于0。
一致性裁剪窗口包含亮度样点,其中水平图片坐标从SubWidthC*pps_conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1),并且垂直图片坐标从SubHeightC*pps_conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1),包括端值。
SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)的值应小于pic_width_in_luma_samples,并且SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
当ChromaArrayType不等于0时,两个色度数组的对应规定样点是具有图片坐标(x/SubWidthC,y/SubHeightC)的样点,其中(x,y)是规定亮度样点的图片坐标。
注2–一致性裁剪窗口偏移参数仅适用于输出。所有内部解码过程都应用于未剪裁的图片尺寸。
假设ppsA和ppsB是参考同一SPS的任意两个PPS。比特流一致性的要求是,当ppsA和ppsB分别具有相同的pic_width_in_luma_samples值和pic_height_in_luma_samples值时,ppsA和ppsB应分别具有相同的pps_conf_win_left_offset值、pps_conf_win_right_offset值、pps_conf_win_top_offset值和pps_conf_win_bottom_offset值。
当pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_max_in_luma_samples时,比特流一致性的要求是pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset分别等于sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset。
scaling_window_explicit_signaling_flag等于1规定缩放窗口偏移参数存在于PPS中。scaling_window_explicit_signaling_flag等于0规定缩放窗口偏移参数不存在于PPS中。当res_change_in_clvs_allowed_flag等于0时,scaling_window_explicit_signaling_flag的值应等于0。
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的导出如下:
Figure BDA0003842891790000561
Figure BDA0003842891790000562
假设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))。
output_flag_present_flag等于1指示pic_output_flag语法元素存在于参考PPS的条带标头中。output_flag_present_flag等于0指示pic_output_flag语法元素不存在于参考PPS的条带标头中。
subpic_id_mapping_in_pps_flag等于1规定在PPS中信令通知子图片ID映射。subpic_id_mapping_in_pps_flag等于0规定PPS中不信令通知子图片ID映射。如果subpic_id_mapping_explicitly_signalled_flag为0或subpic_id_mapping_in_sps_flag等于1,则subpic_id_mapping_in_pps_flag的值应等于0。否则(subpic_id_mapping_explicitly_signalled_flag等于1,并且subpic_id_mapping_in_sps_flag等于0),subpic_id_mapping_in_pps_flag的值应等于1。
pps_num_subpics_minus1应等于sps_num_subpics_minus1。
pps_subpic_id_len_minus1应等于sps_subpic_id_len_minus1。
pps_subpic_id[i]规定第i个子图片的子图片ID。pps_subpic_id[i]语法元素的长度为pps_subpic_id_len_minus1+1位。
对于0至sps_num_subpics_minus1(包括端值)的范围内的每个i值,变量SubpicIdVal[i]的导出如下:
Figure BDA0003842891790000571
比特流一致性的要求是应用以下两个约束:
--对于0到sps_num_subpics_minus1(包括端值)的范围内的任何两个不同的i和j值,SubpicIdVal[i]不应等于SubpicIdVal[j]。
--当当前图片不是CLVS的第一个图片时,对于0到sps_num_subpics_minus1(包括端值)范围内的每个i值,如果SubpicIdVal[i]的值不等于同一层中按照解码顺序的前一个图片的SubpicIdVal[i]的值,则具有子图片索引i的当前图片中的子图片的所有编解码条带NAL单元的nal_unit_type应等于IDR_W_RADL到CRA_NUT(包括端值)范围内的特定值。
no_pic_partition_flag等于1规定没有图片分割被应用于参考PPS的每个图片。no_pic_partition_flag等于0规定参考PPS的每个图片可以被分割成多个片或条带。
比特流一致性的要求是no_pic_partition_flag的值对于CLVS内的编解码图片所参考的所有PPS应该是相同的。
比特流一致性的要求是,当sps_num_subpics_minus1+1的值大于1时,no_pic_partition_flag的值不应等于1。
pps_log2_ctu_size_minus5加5规定每个CTU的亮度编解码树块尺寸。pps_log2_ctu_size_minus5应等于sps_log2_ctu_size_minus5。
num_exp_tile_columns_minus1加1规定显式提供的片列宽的数量。num_exp_tile_columns_minus1的值应在0到PicWidthInCtbsY–1(包括端值)的范围内。当no_pic_partition_flag等于1时,num_exp_tile_columns_minus1的值被推断为等于0。
num_exp_tile_rows_minus1加1规定显式提供的片行高的数量。num_exp_tile_rows_minus1的值应在0到PicHeightInCtbsY–1(包括端值)的范围内。当no_pic_partition_flag等于1时,num_tile_rows_minus1的值被推断为等于0。
tile_column_width_minus1[i]加1以CTB为单位规定i在0到num_exp_tile_columns_minus1-1(包括端值)范围内的第i个片列的宽度。tile_column_width_minus1[num_exp_tile_columns_minus1]用于导出索引大于或等于如条款6.5.1中所规定的num_exp_tile_columns_minus1的片列的宽度。tile_column_width_minus1[i]的值应在0到PicWidthInCtbsY–1(包括端值)的范围内。当不存在时,tile_column_width_minus1[0]的值推断为等于PicWidthInCtbsY-1。
tile_row_height_minus1[i]加1以CTB为单位规定i在0到num_exp_tile_rows_minus1-1(包括端值)范围内的第i个片行的高度。tile_row_height_minus1[num_exp_tile_rows_minus1]用于导出索引大于或等于如条款6.5.1所规定的num_exp_tile_rows_minus1的片行的高度。tile_row_height_minus1[i]的值应在0到PicHeightInCtbsY–1(包括端值)的范围内。当不存在时,tile_row_height_minus1[0]的值推断为等于PicHeightInCtbsY-1。
rect_slice_flag等于0规定每个条带内的片处于光栅扫描顺序,并且条带信息不在PPS中被信令通知。rect_slice_flag等于1规定每个条带内的片覆盖图片的矩形区域,并且条带信息在PPS中被信令通知。当不存在时,rect_slice_flag被推断为等于1。当subpic_info_present_flag等于1时,rect_slice_flag的值应等于1。
single_slice_per_subpic_flag等于1规定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0规定每个子图片可以由一个或多个矩形条带组成。当single_slice_per_subpic_flag等于1时,num_slices_in_pic_minus1被推断为等于sps_num_subpics_minus1。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
num_slices_in_pic_minus1加1规定参考PPS的每个图片中矩形条带的数量。num_slices_in_pic_minus1的值应在0到MaxSlicesPerPicture–1(包括端值)的范围内,其中MaxSlicesPerPicture在附录A中规定。当no_pic_partition_flag等于1时,num_slices_in_pic_minus1的值被推断为等于0。
tile_idx_delta_present_flag等于0规定tile_idx_delta值不存在于PPS中,并且参考PPS的图片中的所有矩形条带根据条款6.5.1中定义的过程以光栅顺序规定。tile_idx_delta_present_flag等于1规定tile_idx_delta值可以存在于PPS中,并且参考PPS的图片中的所有矩形条带以tile_idx_delta值所指示的顺序来规定。当不存在时,tile_idx_delta_present_flag的值被推断为等于0。
slice_width_in_tiles_minus1[i]加1以片列为单位规定第i个矩形条带的宽度。slice_width_in_tiles_minus1[i]的值应在0到NumTileColumns–1(包括端值)的范围内。
当slice_width_in_tiles_minus1[i]不存在时,以下适用:
--如果NumTileColumns等于1,则slice_width_in_tiles_minus1[i]的值被推断为等于0。
--否则,按照条款6.5.1的规定推断slice_width_in_tiles_minus1[i]的值。
slice_height_in_tiles_minus1[i]加1以片行为单位规定第i个矩形条带的高度。slice_height_in_tiles_minus1[i]的值应在0到NumTileRows–1(包括端值)的范围内。
当slice_height_in_tiles_minus1[i]不存在时,以下适用:
--如果NumTileRows等于1,或者tile_idx_delta_present_flag等于0,并且tileIdx%NumTileColumns大于0,则slice_height_in_tiles_minus1[i]的值被推断为等于0。
--否则(NumTileRows不等于1,且tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0),当tile_idx_delta_present_flag等于1或tileIdx%NumTileColumns等于0时,slice_height_in_tiles_minus1[i]的值被推断为等于slice_height_in_tiles_minus1[i-1]。
num_exp_slices_in_tile[i]规定在包含多个矩形条带的当前片中显式提供的条带高度的数量。num_exp_slices_in_tile[i]的值应在0至RowHeight[tileY]–1(包括端值)的范围内,其中tileY是包含第i个条带的片行索引。当不存在时,num_exp_slices_in_tile[i]的值被推断为等于0。当num_exp_slices_in_tile[i]等于0时,变量NumSlicesInTile[i]的值被导出为等于1。
exp_slice_height_in_ctus_minus1[j]加1以CTU行为单位规定当前片中的第j个矩形条带的高度。exp_slice_height_in_ctus_minus1[j]的值应在0至RowHeight[tileY]–1(包括端值)的范围内,其中tileY是当前片的片行索引。
当num_exp_slices_in_tile[i]大于0时,变量NumSlicesInTile[i]和k在0到NumSlicesInTile[i]-1(包括端值)范围内的SliceHeightInCtusMinus1[i+k]的导出如下:
Figure BDA0003842891790000601
tile_idx_delta[i]规定第i个矩形条带中的第一个片的片索引和第i+1个矩形条带中的第一个片的片索引之间的差。tile_idx_delta[i]的值应在-NumTilesInPic+1至NumTilesInPic–1(包括端值)范围内。当不存在时,tile_idx_delta[i]的值被推断为等于0。当存在时,tile_idx_delta[i]的值不应等于0。
loop_filter_across_tiles_enabled_flag等于1规定可在参考PPS的图片中跨片边界执行环路滤波操作。loop_filter_cross_tiles_enabled_flag等于0规定在参考PPS的图片中跨片边界不执行环路滤波操作。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_cross_tiles_enabled_flag的值被推断为等于1。
loop_filter_cross_slices_enabled_flag等于1规定可以在参考PPS的图片中跨条带边界执行环路滤波操作。loop_filter_cross_slice_enabled_flag等于0规定在参考PPS的图片中跨条带边界不执行环路滤波操作。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,loop_filter_cross_slices_enabled_flag的值被推断为等于0。
cabac_init_present_flag等于1规定cabac_init_flag存在于参考PPS的条带标头中。cabac_init_present_flag等于0规定cabac_init_flag不存在于参考PPS的条带标头中。
num_ref_idx_default_active_minus1[i]加1,当等于0时,为num_ref_idx_active_override_flag等于0的P条带或B条带规定变量NumRefIdxActive[0]的推断值,并且当i等于1时,为num_ref_idx_active_override_flag等于0的B条带规定NumRefIdxActive[1]的推断值。num_ref_idx_default_active_minus1[i]的值应在0到14(包括端值)的范围内。
rpl1_idx_present_flag等于0规定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]不存在于PH语法结构或参考PPS的图片的条带标头中。rpl1_idx_present_flag等于1规定ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]可以存在于PH语法结构或参考PPS的图片的条带标头中。
init_qp_minus26加26规定参考PPS的每个条带的SliceQpY的初始值。当ph_qp_delta的非零值被解码时,SliceQpY的初始值在图片级别被修改,或者当slice_qp_delta的非零值被解码时,SliceQpY的初始值在条带级别被修改。init_qp_minus26的值应在-(26+QpBdOffset)到+37(包括端值)的范围内。
cu_qp_delta_enabled_flag等于1规定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的PH中并且cu_qp_delta_abs可能存在于变换单元语法中。cu_qp_delta_enabled_flag等于0规定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_qp_delta_abs不存在于变换单元语法中。
pps_chroma_tool_offsets_present_flag等于1规定PPS RBSP语法结构中存在与色度工具偏移相关的语法元素。pps_chroma_tool_offsets_present_flag等于0规定PPSRBSP语法结构中不存在与色度工具偏移相关的语法元素。当ChromaArrayType等于0时,pps_chroma_tool_offsets_present_flag的值应等于0。
pps_cb_qp_offset和pps_cr_qp_offset分别规定用于导出Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移。pps_cb_qp_offset的值和pps_cr_qp_offset的值应在-12至+12(包括端值)范围内。当ChromaArrayType等于0时,解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,并且解码器应忽略它们的值。当不存在时,pps_cb_qp_offset和pps_cr_qp_offset的值推断为等于0。
pps_joint_cbcr_qp_offset_present_flag等于1规定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]存在于PPS RBSP语法结构中。pps_joint_cbcr_qp_offset_present_flag等于0规定pps_joint_cbcr_qp_offset_value和joint_cbcr_qp_offset_list[i]不存在于PPSRBSP语法结构中。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,pps_joint_cbcr_qp_offset_present_flag的值应等于0。当不存在时,pps_joint_cbcr_qp_offset_present_flag的值被推断为等于0。
pps_joint_cbcr_qp_offset_value规定用于导出Qp′CbCr的亮度量化参数Qp′Y的偏移。pps_joint_cbcr_qp_offset_value的值应在-12至+12(包括端值)范围内。当ChromaArrayType等于0或sps_joint_cbcr_enabled_flag等于0时,解码过程中不使用pps_joint_cbcr_qp_offset_value,并且解码器应忽略其值。当pps_joint_cbcr_qp_offset_present_flag等于0时,pps_joint_cbcr_qp_offset_value不存在,并且被推断为等于0。
pps_slice_chroma_qp_offsets_present_flag等于1规定slice_cb_qp_offset和slice_cr_qp_offset语法元素存在于相关联的条带标头中。pps_slice_chroma_qp_offsets_present_flag等于0规定slice_cb_qp_offset和slice_cr_qp_offset语法元素不存在于相关联的条带标头中。当不存在时,pps_slice_chroma_qp_offsets_present_flag的值被推断为等于0。
pps_cu_chroma_qp_offset_list_enabled_flag等于1规定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag可能存在于变换单元语法和调色板编解码语法中。pps_cu_chroma_qp_offset_list_enabled_flag等于0规定ph_cu_chroma_qp_offset_subdiv_intra_slice和ph_cu_chroma_qp_offset_subdiv_inter_slice语法元素不存在于参考PPS的PH中,并且cu_chroma_qp_offset_flag不存在于变换单元语法和调色板编解码语法中。当不存在时,pps_cu_chroma_qp_offset_list_enabled_flag的值被推断为等于0。
chroma_qp_offset_list_len_minus1加1规定存在于PPS RBSP语法结构中的语法元素cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的数量。chroma_qp_offset_list_len_minus1的值应在0到5(包括端值)的范围内。
cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]分别规定Qp′Cb、Qp′Cr和Qp′CbCr的导出中使用的偏移。cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]的值应在-12至+12(包括端值)范围内。当pps_joint_cbcr_qp_offset_present_flag等于0时,joint_cbcr_qp_offset_list[i]不存在,并且被推断为等于0。
pps_weighted_pred_flag等于0规定加权预测不应用于参考PPS的P条带。pps_weighted_pred_flag等于1规定加权预测应用于参考PPS的P条带。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的值应等于0。
pps_weighted_bipred_flag等于0规定显式加权预测不应用于参考PPS的B条带。pps_weighted_bipred_flag等于1规定显式加权预测应用于参考PPS的B条带。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的值应等于0。
deblocking_filter_control_present_flag等于1规定PPS中存在去块滤波器控制语法元素。deblocking_filter_control_present_flag等于0规定PPS中不存在去块滤波器控制语法元素。
deblocking_filter_override_enabled_flag等于1规定在参考PPS的PH中存在ph_deblocking_filter_override_flag,或者在参考PPS的条带标头中存在slice_deblocking_filter_override_flag。deblocking_filter_override_enabled_flag等于0规定在参考PPS的PH中不存在ph_deblocking_filter_override_flag,或者在参考PPS的条带标头中不存在slice_deblocking_filter_override_flag。当不存在时,deblocking_filter_override_enabled_flag的值被推断为等于0。
pps_deblocking_filter_disabled_flag等于1规定去块滤波器的操作不适用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。pps_deblocking_filter_disabled_flag等于0规定去块滤波器的操作适用于参考不存在slice_deblocking_filter_disabled_flag的PPS的条带。当不存在时,pps_deblocking_filter_disabled_flag的值被推断为等于0。
pps_beta_offset_div2和pps_tc_offset_div2为β和tC(除以2)规定默认去块参数偏移,这些参数偏移应用于参考PPS的条带的亮度分量,除非默认去块参数偏移被参考PPS的条带的图片标头或条带标头中存在的去块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2为β和tC(除以2)规定默认去块参数偏移,这些参数偏移应用于参考PPS的条带的Cb分量,除非默认去块参数偏移被参考PPS的条带的图片标头或条带标头中存在的去块参数偏移所覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2为β和tC(除以2)规定默认去块参数偏移,这些参数偏移应用于参考PPS的条带的Cr分量,除非默认去块参数偏移被参考PPS的条带的图片标头或条带标头中存在的去块参数偏移所覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
rpl_info_in_ph_flag等于1规定参考图片列表信息存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。rpl_info_in_ph_flag等于0规定参考图片列表信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。
dbf_info_in_ph_flag等于1规定去块滤波器信息存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。dbf_info_in_ph_flag等于0规定去块滤波器信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。当不存在时,dbf_info_in_ph_flag的值被推断为等于0。
sao_info_in_ph_flag等于1规定SAO滤波器信息存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。sao_info_in_ph_flag等于0规定SAO滤波器信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。
alf_info_in_ph_flag等于1规定ALF信息存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。alf_info_in_ph_flag等于0规定ALF信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。
wp_info_in_ph_flag等于1规定加权预测信息可以存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。wp_info_in_ph_flag等于0规定加权预测信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。当不存在时,wp_info_in_ph_flag的值被推断为等于0。
qp_delta_info_in_ph_flag等于1规定QP增量信息存在于PH语法结构中,而不存在于参考不包含PH语法结构的PPS的条带标头中。qp_delta_info_in_ph_flag等于0规定QP增量信息不存在于PH语法结构中,并且可能存在于参考不包含PH语法结构的PPS的条带标头中。
pps_ref_wraparound_enabled_flag等于1规定在帧间预测中应用水平环绕运动补偿。pps_ref_wraparound_enabled_flag等于0规定不应用水平环绕运动补偿。当CtbSizeY/MinCbSizeY+1的值大于pic_width_in_luma_samples/MinCbSizeY-1时,pps_ref_wraparound_enabled_flag的值应等于0。当sps_ref_wraparound_enabled_flag等于0时,pps_ref_wraparound_enabled_flag的值应等于0。
pps_ref_wraparound_offset加(CtbSizeY/MinCbSizeY)+2规定用于计算以MinCbSizeY亮度样点为单位的水平环绕位置的偏移。pps_ref_wraparound_offset的值应在0至(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2的范围(包括端值)内。
变量PpsRefWraparoundOffset设置为等于pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2。
picture_header_extension_present_flag等于0规定在参考PPS的PH中不存在PH扩展语法元素。picture_header_extension_present_flag等于1规定PH扩展语法元素存在于参考PPS的PH中。在符合该版本该规范的比特流中,picture_header_extension_present_flag应等于0。
slice_header_extension_present_flag等于0规定在参考PPS的编解码图片的条带标头中不存在条带标头扩展语法元素。slice_header_extension_present_flag等于1规定条带标头扩展语法元素存在于参考PPS的编解码图片的条带标头中。在符合该版本该规范的比特流中,slice_header_extension_present_flag应等于0。
pps_extension_flag等于0规定PPS RBSP语法结构中不存在pps_extension_data_flag语法元素。pps_extension_flag等于1规定PPS RBSP语法结构中存在pps_extension_data_flag语法元素。
pps_extension_data_flag可以有任何值。它的存在和值不影响解码器与该版本该规范中规定的档次的一致性。符合该版本该规范的解码器应忽略所有pps_extension_data_flag语法元素。
3.4.APS语法和语义
在最新的VVC草案文本中,APS语法和语义如下:
Figure BDA0003842891790000661
Figure BDA0003842891790000671
APS RBSP包含ALF语法结构,即alf_data()。
Figure BDA0003842891790000672
Figure BDA0003842891790000681
Figure BDA0003842891790000691
APS RBSP包含LMCS语法结构,即lmcs_data()。
Figure BDA0003842891790000692
Figure BDA0003842891790000701
APS RBSP包含缩放列表数据语法结构,即scaling_list_data()。
Figure BDA0003842891790000702
Figure BDA0003842891790000711
每个APS RBSP在被参考之前应可用于解码过程,包括在TemporalId小于或等于参考它编解码条带NAL单元的TemporalId的至少一个AU中或通过外部手段提供的。
在PU内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有APS NAL单元,不管它们是前缀APS NAL单元还是后缀APS NAL单元,都应该具有相同的内容。
adaptation_parameter_set_id为APS提供标识符,以供其他语法元素参考。
当aps_params_type等于ALF_APS或SCALING_APS时,adaptation_parameter_set_id的值应在0到7(包括端值)的范围内。
当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应在0到3(包括端值)的范围内。
设apsLayerId是特定APS NAL单元的nuh_layer_id的值,并且vclLayerId是特定VCL NAL单元的nuh_layer_id的值。除非apsLayerId小于或等于vclLayerId,并且nuh_layer_id等于apsLayerId的层包含在包含nuh_layer_id等于vclLayerId的层的至少一个OLS中,否则特定的VCL NAL单元不应参考特定的APS NAL单元。
aps_params_type规定了APS中携带的APS参数的类型,如表6中所规定。
表6–APS参数类型代码和APS参数类型
Figure BDA0003842891790000721
具有aps_params_type的特定值的所有APS NAL单元,不管nuh_layer_id值如何,都共享adaptation_parameter_set_id的相同值空间。具有aps_params_type的不同值的APS NAL单元使用单独值空间用于adaptation_parameter_set_id。
注1–APS NAL单元(具有adaptation_parameter_set_id的特定值和aps_params_type的特定值)可以跨图片共享,并且图片内的不同条带可以参考不同的ALF APS。
注2-与特定VCL NAL单元相关的后缀APS NAL单元(该VCL NAL单元在解码顺序上在后缀APS NAL单元之前)不供特定VCL NAL单元使用,而是供在解码顺序上在后缀APS NAL单元之后的VCL NAL单元使用。
aps_extension_flag等于0规定APS RBSP语法结构中不存在aps_extension_data_flag语法元素。aps_extension_flag等于1规定APS RBSP语法结构中存在aps_extension_data_flag语法元素。
aps_extension_data_flag可以有任何值。它的存在和值不影响解码器与该版本该规范中规定的档次的一致性。符合该版本该规范的解码器应忽略所有aps_extension_data_flag语法元素。
alf_luma_filter_signal_flag等于1规定信令通知亮度滤波器集。alf_luma_filter_signal_flag等于0规定不信令通知亮度滤波器集。
alf_chroma_filter_signal_flag等于1规定色度滤波器被信令通知。alf_chroma_filter_signal_flag等于0规定色度滤波器未被信令通知。当ChromaArrayType等于0时,alf_chroma_filter_signal_flag应等于0。
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag和alf_cc_cr_filter_signal_flag的值中的至少一个应等于1。
规定不同自适应环路滤波器的数量的变量NumAlfFilters被设置为等于25。
alf_luma_clip_flag等于0规定对亮度分量应用线性自适应环路滤波。alf_luma_clip_flag等于1规定可以对亮度分量应用非线性自适应环路滤波。
alf_luma_num_filters_signalled_minus1加1规定亮度系数可以被信令通知的自适应环路滤波器类别的数量。alf_luma_num_filters_signalled_minus1的值应在0至NumAlfFilters–1(包括端值)的范围内。
alf_luma_coeff_delta_idx[filtIdx]规定由范围从0至NumAlfFilters-1的filtIdx指示的滤波器类别的信令通知的自适应环路滤波器亮度系数增量的索引。当alf_luma_coeff_delta_idx[filtIdx]不存在时,其被推断为等于0。alf_luma_coeff_delta_idx[filt idx]的长度为Ceil(Log2(alf_luma_num_filters_signalled_minus1+1))位。alf_luma_coeff_delta_idx[filtIdx]的值应在0至alf_luma_num_filters_signalled_minus1(包括端值)的范围内。
alf_luma_coeff_abs[sfIdx][j]规定由sfIdx指示的信令通知的亮度滤波器的第j个系数的绝对值。当alf_luma_coeff_abs[sfIdx][j]不存在时,其被推断为等于0。alf_luma_coeff_abs[sfIdx][j]的值应在0至128(包括端值)的范围内。
alf_luma_coeff_sign[sfIdx][j]规定由sfIdx指示的滤波器的第j个亮度系数的符号,如下所示:
--如果alf_luma_coeff_sign[sfIdx][j]等于0,则对应亮度滤波器系数具有正值。
--否则(alf_luma_coeff_sign[sfIdx][j]等于1),对应亮度滤波器系数具有负值。
当alf_luma_coeff_sign[sfIdx][j]不存在时,其被推断为等于0。
sfIdx=0..alf_luma_num_filters_signalled_minus1、j=0..11的变量filtCoeff[sfIdx][j]被初始化如下:
Figure BDA0003842891790000741
具有元素AlfCoeffL[adaptation_parameter_set_id][filtIdx][j](其中,filtIdx=0..NumAlfFilters–1并且j=0..11)的亮度滤波器系数AlfCoeffL[adaptation_parameter_set_id]被导出如下:
AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]=filtCoeff[alf_luma_coeff_delta_idx[filtIdx]][j] (94)
i=0..64,j=0..11的固定滤波器系数AlfFixFiltCoeff[i][j]以及m=0..15andn=0..24的类到滤波器映射AlfClassToFiltMap[m][n]被导出如下:
Figure BDA0003842891790000742
Figure BDA0003842891790000751
Figure BDA0003842891790000761
Figure BDA0003842891790000762
Figure BDA0003842891790000771
比特流一致性的要求是,filtIdx=0..NumAlfFilters–1、j=0..11的AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]的值应在-27至27–1(包括端值)的范围内。
alf_luma_clip_idx[sfIdx][j]规定在乘以由sfIdx指示的信令通知的亮度滤波器的第j个系数之前要使用的裁剪值的裁剪索引。比特流一致性的要求是,sfIdx=0..alf_luma_num_filters_signalled_minus1和j=0..11的alf_luma_clip_idx[sfIdx][j]的值应在0到3(包括端值)的范围内。
具有filtIdx=0..NumAlfFilters–1和j=0..11的元素AlfClipL[adaptation_parameter_set_id][filtIdx][j]的亮度滤波器裁剪值AlfClipL[adaptation_parameter_set_id]是根据设置为等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]的BitDepth和clipIdx导出的,如表8中所规定。
alf_chroma_clip_flag等于0规定对色度分量应用线性自适应环路滤波;alf_chroma_clip_flag等于1规定对色度分量应用非线性自适应环路滤波。当不存在时,alf_chroma_clip_flag被推断为等于0。
alf_chroma_num_alt_filters_minus1加1规定色度分量的备选滤波器的数量。alf_chroma_num_alt_filters_minus1的值应在0到7(包括端值)的范围内。
alf_chroma_coeff_abs[altIdx][j]规定具有索引altIdx的备选色度滤波器的第j个色度滤波器系数的绝对值。当alf_chroma_coeff_abs[altIdx][j]不存在时,其被推断为等于0。alf_chroma_coeff_abs[sfIdx][j]的值应在0到128(包括端值)的范围内。
alf_chroma_coeff_sign[altIdx][j]规定具有索引altIdx的备选色度滤波器的第j个色度滤波器系数的符号,如下所示:
--如果alf_chroma_coeff_sign[altIdx][j]等于0,则对应色度滤波器系数具有正值。
--否则(alf_chroma_coeff_sign[altIdx][j]等于1),对应色度滤波器系数具有负值。
当alf_chroma_coeff_sign[altIdx][j]不存在时,其被推断为等于0。
具有元素AlfCoeffC[adaptation_parameter_set_id][altIdx][j]的色度滤波器系数AlfCoeffC[adaptation_parameter_set_id][altIdx](其中altIdx=0..alf_chroma_num_alt_filters_minus1并且j=0..5)的导出如下:
AlfCoeffC[adaptation_parameter_set_id][altIdx][j]=alf_chroma_coeff_abs[altIdx][j]*(1-2*alf_chroma_coeff_sign[altIdx][j]) (97)
比特流一致性的要求是,altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5的AlfCoeffC[adaptation_parameter_set_id][altIdx][j]的值应在-27至27–1(包括端值)的范围内。
alf_cc_cb_filter_signal_flag等于1规定Cb颜色分量的跨分量滤波器被信令通知。alf_cc_cb_filter_signal_flag等于0表示Cb颜色分量的跨分量滤波器不被信令通知。当ChromaArrayType等于0时,alf_cc_cb_filter_signal_flag应等于0。
alf_cc_cb_filters_signalled_minus1加1规定当前ALF APS中信令通知的Cb颜色分量的跨分量滤波器的数量。alf_cc_cb_filters_signalled_minus1的值应在0到3(包括端值)的范围内。
alf_cc_cb_mapped_coeff_abs[k][j]规定Cb颜色分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cb_mapped_coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cb_coeff_sign[k][j]规定Cb颜色分量的信令通知的第k个跨分量滤波器的第j个系数的符号,如下所示:
--如果alf_cc_cb_coeff_sign[k][j]等于0,则对应跨分量滤波器系数具有正值。
--否则(alf_cc_cb_sign[k][j]等于1),对应跨分量滤波器系数具有负值。
当alf_cc_cb_coeff_sign[k][j]不存在时,其被推断为等于0。
j=0..6的Cb颜色分量CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]的信令通知的第k个跨分量滤波器系数被导出如下:
--如果alf_cc_cb_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]设置为等于0。
--否则,CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]设置为等于(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs[k][j]-1
alf_cc_cr_filter_signal_flag等于1规定Cr颜色分量的跨分量滤波器被信令通知。alf_cc_cr_filter_signal_flag等于0规定Cr颜色分量的跨分量滤波器不被信令通知。当ChromaArrayType等于0时,alf_cc_cr_filter_signal_flag应等于0。
alf_cc_cr_filters_signalled_minus1加1规定当前ALF APS中信令通知的Cr颜色分量的跨分量滤波器的数量。alf_cc_cr_filters_signalled_minus1的值应在0到3(包括端值)的范围内。
alf_cc_cr_mapped coeff_abs[k][j]规定Cr颜色分量的信令通知的第k个跨分量滤波器的第j个映射系数的绝对值。当alf_cc_cr_mapped coeff_abs[k][j]不存在时,其被推断为等于0。
alf_cc_cr_coeff_sign[k][j]规定Cr颜色分量的信令通知的第k个跨分量滤波器的第j个系数的符号,如下所示:
--如果alf_cc_cr_coeff_sign[k][j]等于0,则对应跨分量滤波器系数具有正值。
--否则(alf_cc_cr_sign[k][j]等于1),对应跨分量滤波器系数具有负值。
当alf_cc_cr_coeff_sign[k][j]不存在时,其被推断为等于0。
j=0..6的Cr颜色分量的信令通知的第k个跨分量滤波器系数CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]被导出如下:
--如果alf_cc_cr_mapped_coeff_abs[k][j]等于0,则CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]设置为等于0。
--否则,CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]设置为等于(1-2*alf_cc_cr_coeff_sign[k][j])*2alf_cc_cr_mapped_coeff_abs[k][j]-1
alf_chroma_clip_idx[altIdx][j]规定在乘以具有索引altIdx的备选色度滤波器的第j个系数之前要使用的裁剪值的裁剪索引。比特流一致性的要求是,altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5的alf_chroma_clip_idx[altIdx][j]的值应在0到3(包括端值)的范围内。
具有元素AlfClipC[adaptation_parameter_set_id][altIdx][j](其中,altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5)的色度滤波器裁剪值AlfClipC[adaptation_parameter_set_id][altIdx]是根据设置为等于alf_chroma_clip_idx[altIdx][j]的BitDepth和clipIdx导出的,如表8所规定。
表8–取决于BitDepth和clipIdx的规范AlfClip
Figure BDA0003842891790000801
lmcs_min_bin_idx规定带有色度缩放的亮度映射构建过程中使用的最小二进制(bin)索引。lmcs_min_bin_idx的值应在0到15(包括端值)的范围内。
lmcs_delta_max_bin_idx规定15和最大bin索引LmcsMaxBinIdx之间的增量值,用于带有色度缩放的亮度映射构建过程。lmcs_delta_max_bin_idx的值应在0到15(包括端值)的范围内。LmcsMaxBinIdx的值设置为等于15-lmcs_delta_max_bin_idx。LmcsMaxBinIdx的值应大于或等于lmcs_min_bin_idx。
lmcs_delta_cw_prec_minus1加1规定用于表示语法lmcs_delta_abs_cw[i]的位的数量。lmcs_delta_cw_prec_minus1的值应在0至BitDepth–2(包括端值)的范围内。
lmcs_delta_abs_cw[i]规定第i个bin的绝对增量码字值。
lmcs_delta_sign_cw_flag[i]规定变量lmcsDeltaCW[i]的符号,如下所示:
--如果lmcs_delta_sign_cw_flag[i]等于0,则lmcsDeltaCW[i]为正值。
--否则(lmcs_delta_sign_cw_flag[i]不等于0),lmcsDeltaCW[i]为负值。
当lmcs_delta_sign_cw_flag[i]不存在时,其被推断为等于0。
变量OrgCW被导出如下:
OrgCW=(1<<BitDepth)/16 (98)
i=lmcs_min_bin_idx..LmcsMaxBinIdx的变量lmcsDeltaCW[i]被导出如下:
lmcsDeltaCW[i]=(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i] (99)
变量lmcsCW[i]被导出如下:
--对于i=0..lmcs_min_bin_idx-1,lmcsCW[i]设置为等于0。
--对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,以下适用:
lmcsCW[i]=OrgCW+lmcsDeltaCW[i] (100)
lmcsCW[i]的值应在(OrgCW>>3)到(OrgCW<<3-1)(包括端值)的范围内。
--对于i=LmcsMaxBinIdx+1..15,lmcsCW[i]被设置为等于0。
比特流一致性的要求是以下条件为真:
Figure BDA0003842891790000811
变量InputPivot[i](其中,i=0..16)被导出如下:
InputPivot[i]=i*OrgCW (102)
i=0..16的变量LmcsPivot[i]、i=0..15的变量ScaleCoeff[i]和InvScaleCoeff[i]被导出如下:
Figure BDA0003842891790000821
比特流一致性的要求是,对于i=lmcs_min_bin_idx..LmcsMaxBinIdx,当LmcsPivot[i]的值不是1<<(BitDepth-5)的倍数时,(LmcsPivot[i]>>(BitDepth-5))的值不应等于(LmcsPivot[i+1]>>(BitDepth-5))的值。
lmcs_delta_abs_crs规定变量lmcsDeltaCrs的绝对码字值。lmcs_delta_abs_crs的值应在0和7(包括端值)的范围内。当不存在时,lmcs_delta_abs_crs被推断为等于0。
lmcs_delta_sign_crs_flag规定变量lmcsDeltaCrs的符号。当不存在时,lmcs_delta_sign_crs_flag被推断为等于0。
变量lmcsDeltaCrs被导出如下:
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs (104)
比特流一致性的要求是,当lmcsCW[i]不等于0时,(lmcsCW[i]+lmcsDeltaCrs)应在(OrgCW>>3)到((OrgCW<<3)-1)(包括端值)的范围内。
变量ChromaScaleCoeff[i](其中i=0…15)被导出如下:
Figure BDA0003842891790000822
scaling_matrix_for_lfnst_disabled_flag等于1规定缩放矩阵不应用于用LFNST进行编解码的块。scaling_matrix_for_lfnst_disabled_flag等于0规定缩放矩阵可以应用于用LFNST进行编解码的块。
scaling_list_chroma_present_flag等于1规定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0规定scaling_list_data()中不存在色度缩放列表。比特流一致性的要求是当ChromaArrayType等于0时scaling_list_chroma_present_flag应等于0,并且当ChromaArrayType不等于0时scaling_list_chroma_present_flag应等于1。
scaling_list_copy_mode_flag[id]等于1规定缩放列表的值与参考缩放列表的值相同。参考缩放列表由scaling_list_pred_id_delta[id]规定。scaling_list_copy_mode_flag[id]等于0规定scaling_list_pred_mode_flag存在。
scaling_list_pred_mode_flag[id]等于1规定缩放列表的值可以从参考缩放列表预测。参考缩放列表由scaling_list_pred_id_delta[id]规定。scaling_list_pred_mode_flag[id]等于0规定被显式信令通知的缩放列表的值。当不存在时,scaling_list_pred_mode_flag[id]的值被推断为等于0。
scaling_list_pred_id_delta[id]规定用于导出预测缩放矩阵ScalingMatrixPred[id]的参考缩放列表。当不存在时,scaling_list_pred_id_delta[id]的值被推断为等于0。scaling_list_pred_id_delta[id]的值应在0到maxIdDelta的范围内,其中maxIdDelta是根据id导出的,如下所示:
maxIdDelta=(id<2)?id:((id<8)?(id-2):(id-8)) (106)
变量refId和matrixSize被导出如下:
refId=id-scaling_list_pred_id_delta[id] (107)
matrixSize=(id<2)?2:((id<8)?4:8) (108)
x=0..matrixSize-1、y=0..matrixSize-1的(matrixSize)x(matrixSize)数组ScalingMatrixPred[x][y]和变量ScalingMatrixDCPred被导出如下:
--当scaling_list_copy_mode_flag[id]和scaling_list_pred_mode_flag[id]两者都等于0时,ScalingMatrixPred的所有元素都设置为等于8,并且ScalingMatrixDCPred的值设置为等于8。
--否则,当scaling_list_pred_id_delta[id]等于0时,ScalingMatrixPred的所有元素都设置为等于16,并且ScalingMatrixDCPred设置为等于16。
--否则(scaling_list_copy_mode_flag[id]或scaling_list_pred_mode_flag[id]等于1且scaling_list_pred_id_delta[id]大于0),ScalingMatrixPred被设置为等于ScalingMatrixRec[refId],并且以下适用于ScalingMatrixDCPred:
--如果refId大于13,ScalingMatrixDCPred设置为等于ScalingMatrixDCRec[refId-14]。
--否则(refId小于或等于13),ScalingMatrixDCPred设置为等于ScalingMatrixPred[0][0]。
scaling_list_dc_coef[id-14]用于在id大于13时导出变量ScalingMatrixDC[id-14]的值,如下所示:
ScalingMatrixDCRec[id-14]=(ScalingMatrixDCPred+
scaling_list_dc_coef[id-14])&255(109)
当不存在时,scaling_list_dc_coef[id-14]的值被推断为等于0。scaling_list_dc_coef[id–14]的值应在-128到127(包括端值)的范围内。ScalingMatrixDCRec[id-14]的值应大于0。
scaling_list_delta_coef[id][i]规定当scaling_list_copy_mode_flag[id]等于0时,当前矩阵系数ScalingList[id][i]和先前的矩阵系数ScalingList[id][i-1]之间的差。scaling_list_delta_coef[id][i]的值应在-128到127(包括端值)的范围内。当scaling_list_copy_mode_flag[id]等于1时,ScalingList[id]的所有元素都设置为等于0。
(matrixSize)x(matrixSize)数组ScalingMatrixRec[id]被导出如下:
ScalingMatrixRec[id][x][y]=(ScalingMatrixPred[x][y]+ScalingList[id][k])&255(110)
其中k=0..(matrix size*matrix size 1),
x=DiagScanOrder[Log2(matrix size)][Log2(matrix size)][k][0],以及
y=DiagScanOrder[Log2(matrix size)][Log2(matrix size)][k][1]
ScalingMatrixRec[id][x][y]的值应大于0。
3.5.PH语法和语义
在最新的VVC草案文本中,PH语法和语义如下:
Figure BDA0003842891790000851
PH RBSP包含PH语法结构,即picture_header_structure()。
Figure BDA0003842891790000852
Figure BDA0003842891790000861
Figure BDA0003842891790000871
Figure BDA0003842891790000881
Figure BDA0003842891790000891
Figure BDA0003842891790000901
PH语法结构包含对于与PH语法结构相关联的编解码图片的所有条带共同的信息。
gdr_or_irap_pic_flag等于1规定当前图片是GDR图片或IRAP图片。gdr_or_irap_pic_flag等于0规定当前图片可能是也可能不是GDR图片或IRAP图片。
gdr_pic_flag等于1规定与PH相关联的图片是GDR图片。gdr_pic_flag等于0规定与PH相关联的图片不是GDR图片。当不存在时,gdr_pic_flag的值被推断为等于0。当gdr_enabled_flag等于0时,gdr_pic_flag的值应等于0。
ph_inter_slice_allowed_flag等于0规定图片的所有编解码条带的slice_type等于2。ph_inter_slice_allowed_flag等于1规定图片中可能有也可能没有slice_type等于0或1的一个或多个编解码条带。
ph_intra_slice_allowed_flag等于0规定图片的所有编解码条带的slice_type等于0或1。ph_intra_slice_allowed_flag等于1规定图片中可能有也可能没有slice_type等于2的一个或多个编解码条带。当不存在时,ph_intra_slice_allowed_flag的值被推断为等于1。
注1–对于应该在不需要更改PH NAL单元的情况下进行基于子图片的比特流merge的比特流,编解码器应设置ph_inter_slice_allowed_flag和ph_intra_slice_allowed_flag的值等于1。
non_reference_picture_flag等于1规定与PH相关联的图片从不被用作参考图片。non_reference_picture_flag等于0规定与PH相关联的图片可以或不可以用作参考图片。
ph_pic_parameter_set_id为正在使用的PPS规定pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应在0到63(包括端值)的范围内。
比特流一致性的要求是,PH的TemporalId的值应大于或等于pps_pic_parameter_set_id等于ph_pic_parameter_set_id的PPS的TemporalId的值。
ph_pic_order_cnt_lsb规定当前图片的图片顺序计数模MaxPicOrderCntLsb。ph_pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4位。ph_pic_order_cnt_lsb的值应在0到MaxPicOrderCntLsb–1(包括端值)的范围内。
no_output_of_prior_pics_flag影响在解码CLVSS图片之后DPB中先前解码的图片的输出,该CLVSS图片不是附录C中规定的比特流中的第一个图片。
recovery_poc_cnt按照输出顺序规定解码图片的恢复点。如果当前图片是与PH相关联的GDR图片,并且在CLVS中存在按照解码顺序在当前GDR图片之后的图片picA,其PicOrderCntVal等于当前GDR图片的PicOrderCntVal加上recovery_poc_cnt的值,则图片picA被称为恢复点图片。否则,输出顺序中PicOrderCntVal大于当前图片的PicOrderCntVal加上recovery_poc_cnt的值的第一个图片被称为恢复点图片。在解码顺序中,恢复点图片不应在当前GDR图片之前。recovery_poc_cnt的值应在0到MaxPicOrderCntLsb–1(包括端值)的范围内。
当当前图片是GDR图片时,变量RpPicOrderCntVal被导出如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (82)
注2–当gdr_enabled_flag等于1且当前图片的PicOrderCntVal大于或等于相关GDR图片的RpPicOrderCntVal时,输出顺序中的当前和后续解码图片与通过从解码顺序中相关GDR图片之前的前一个IRAP图片(如果存在)开始解码过程而产生的对应图片完全匹配。
ph_extra_bit[i]可以等于1或0。符合该版本该规范的解码器应忽略ph_extra_bit[i]的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
ph_poc_msb_present_flag等于1规定语法元素poc_msb_val存在于PH中。ph_poc_msb_present_flag等于0规定语法元素poc_msb_val不存在于PH中。当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0并且当前层的参考层中的当前AU中存在图片时,ph_poc_msb_present_flag的值应为0。
poc_msb_val规定当前图片的POC MSB值。语法元素poc_msb_val的长度是poc_msb_len_minus1+1位。
ph_alf_enabled_flag等于1规定为与PH相关的所有条带启用自适应环路滤波器,并且可以应用于条带中的Y、Cb或Cr颜色分量。ph_alf_enabled_flag等于0规定可以为与PH关联的一个或多个或所有条带禁用自适应环路滤波器。当不存在时,ph_alf_enabled_flag被推断为等于0。
ph_num_alf_aps_ids_luma规定与PH相关的条带参考的ALF APS的数量。
ph_alf_aps_id_luma[i]规定第i个ALF APS的adaptation_parameter_set_id,与PH相关的条带的亮度分量参考该ALF APS。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的APS NAL单元的alf_luma_filter_signal_flag的值应等于1。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_alf_aps_id_luma[i]的APS NAL单元的TemporalId应小于或等于与PH关联的图片的TemporalId。
ph_alf_chroma_idc等于0规定自适应环路滤波器不应用于Cb颜色分量和Cr颜色分量。ph_alf_chroma_idc等于1指示自适应环路滤波器应用于Cb颜色分量。ph_alf_chroma_idc等于2指示自适应环路滤波器应用于Cr颜色分量。ph_alf_chroma_idc等于3指示自适应环路滤波器应用于Cb颜色分量和Cr颜色分量。当ph_alf_chroma_idc不存在时,其被推断为等于0。
ph_alf_aps_id_chroma规定ALF APS的adaptation_parameter_set_id,与PH相关联的条带的色度分量参考该ALF APS。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的APS NAL单元的alf_chroma_filter_signal_flag的值应该等于1。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_alf_aps_id_chroma的APS NAL单元的TemporalId应小于或等于与PH关联的图片的TemporalId。
ph_cc_alf_cb_enabled_flag等于1规定为与PH相关联的所有条带启用Cb颜色分量的跨分量滤波器,并且可以应用于条带中的Cb颜色分量。ph_cc_alf_cb_enabled_flag等于0规定可以对与PH相关的一个、多个或所有条带禁用Cb颜色分量的跨分量滤波器。当不存在时,ph_cc_alf_cb_enabled_flag被推断为等于0。
ph_cc_alf_cb_aps_id规定与PH相关联的条带的Cb颜色分量所参考的ALF APS的adaptation_parameter_set_id。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应等于1。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_cc_alf_cb_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
ph_cc_alf_cr_enabled_flag等于1规定为与PH相关的所有条带启用Cr颜色分量的跨分量滤波器,并且可以应用于条带中的Cr颜色分量。ph_cc_alf_cr_enabled_flag等于0规定可以对与PH相关的一个、多个或所有条带禁用Cr颜色分量的跨分量滤波器。当不存在时,ph_cc_alf_cr_enabled_flag被推断为等于0。
ph_cc_alf_cr_aps_id规定与PH相关联的条带的Cr颜色分量所参考的ALF APS的adaptation_parameter_set_id。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应等于1。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于ph_cc_alf_cr_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
ph_lmcs_enabled_flag等于1规定对与PH相关的所有条带启用带有色度缩放的亮度映射,ph_lmcs_enabled_flag等于0规定对与PH相关的一个、多个或所有条带禁用带有色度缩放的亮度映射,当不存在时,则ph_lmcs_enabled_flag的值被推断为等于0。
ph_lmcs_aps_id规定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
ph_chroma_residual_scale_flag等于1规定为与PH关联的所有条带启用色度残差缩放。ph_chroma_residual_scale_flag等于0规定可以为与PH相关联的一个、多个或所有条带禁用色度残差缩放。当ph_chroma_residual_scale_flag不存在时,其被推断为等于0。
ph_scaling_list_present_flag等于1规定用于与PH相关联的条带的缩放列表数据是基于包含在参考缩放列表APS中的缩放列表数据导出的。ph_scaling_list_present_flag等于0规定用于与PH相关联的条带的缩放列表数据被设置为等于16。当不存在时,ph_scaling_list_present_flag的值被推断为等于0。
ph_scaling_list_aps_id规定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
ph_virtual_boundaries_present_flag等于1规定在PH中信令通知虚拟边界的信息。ph_virtual_boundaries_present_flag等于0规定在PH中不信令通知虚拟边界的信息。当在PH中信令通知一个或多个虚拟边界时,环路滤波操作在图片中跨虚拟边界被禁用。环路滤波操作包括去块滤波器、样点自适应偏移滤波器和自适应环路滤波器操作。当不存在时,ph_virtual_boundaries_present_flag的值被推断为等于0。
比特流一致性的要求是,当subpic_info_present_flag等于1时,ph_virtual_boundaries_present_flag的值应该等于0。
变量VirtualBoundariesPresentFlag被导出如下:
Figure BDA0003842891790000951
ph_num_ver_virtual_boundaries规定PH中存在的ph_virtual_boundaries_pos_x[i]语法元素的数量。当ph_num_ver_virtual_boundaries不存在时,其被推断为等于0。
变量NumVerVirtualBoundaries的导出如下:
Figure BDA0003842891790000952
ph_virtual_boundaries_pos_x[i]以亮度样点除以8为单位规定第i个垂直虚拟边界的位置。ph_virtual_boundaries_pos_x[i]的值应在1至Ceil(pic_width_in_luma_samples÷8)–1(包括端值)的范围内。
i范围为0至NumVerVirtualBoundaries–1(包括端值)的列表VirtualBoundariesPosX[i],以亮度样点为单位,规定垂直虚拟边界的位置,导出如下:
for(i=0;i<NumVerVirtualBoundaries;i++)VirtualBoundariesPosX[i]=(sps_virtual_boundaries_present_flag?sps_virtual_boundaries_pos_x[i]:ph_virtual_boundaries_pos_x[i])*8 (85)
任意两个垂直虚拟边界之间的距离应大于或等于CtbSizeY亮度样点。
ph_num_hor_virtual_boundaries规定PH中存在的ph_virtual_boundaries_pos_y[i]语法元素的数量。当ph_num_hor_virtual_boundaries不存在时,其被推断为等于0。
参数NumHorVirtualBoundaries的导出如下:
Figure BDA0003842891790000961
当sps_virtual_boundaries_enabled_flag等于1且ph_virtual_boundaries_present_flag等于1时,ph_num_ver_virtual_boundaries和ph_num_hor_virtual_boundaries之和应大于0。
ph_virtual_boundaries_pos_y[i]以亮度样点除以8为单位规定第i个水平虚拟边界的位置。ph_virtual_boundaries_pos_y[i]的值应在1至Ceil(pic_height_in_luma_samples÷8)–1(包括端值)的范围内。
i的范围为0至NumHorVirtualBoundaries–1(包括端值)的列表VirtualBoundariesPosY[i],以亮度样点为单位,规定水平虚拟边界的位置,导出如下:
Figure BDA0003842891790000962
任意两个水平虚拟边界之间的距离应大于或等于CtbSizeY亮度样点。
pic_output_flag影响解码图片输出和移除过程,如附录C所规定。当pic_output_flag不存在时,其被推断为等于1。
partition_constraints_override_flag等于1规定分割约束参数存在于PH中。partition_constraints_override_flag等于0规定分割约束参数不存在于PH中。当不存在时,则partition_constraints_override_flag的值被推断为等于0。
ph_log2_diff_min_qt_min_cb_intra_slice_luma规定由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数和与PH相关联的slice_type等于2(I)的条带中的亮度CU的亮度样点的最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_luma的值应在0到CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_luma。
ph_max_mtt_hierarchy_depth_intra_slice_luma规定由与PH相关联的slice_type等于2(I)的条带中的四叉树叶的多类型树划分产生的编解码单元的最大层次深度。ph_max_mtt_hierarchy_depth_intra_slice_luma的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_luma的值推断为等于sps_max_mtt_hierarchy_depth_intra_slice_luma。
ph_log2_diff_max_bt_min_qt_intra_slice_luma规定可使用二进制划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_luma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraY(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_luma的值推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_luma。
ph_log2_diff_max_tt_min_qt_intra_slice_luma规定可以使用三元划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH相关联的slice_type等于2(I)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_luma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraY(包括端值)范围内。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_luma的值推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_luma。
ph_log2_diff_min_qt_min_cb_intra_slice_chroma规定由treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸的以2为底的对数和与PH相关联的slice_type等于2(I)的条带中treeType等于DUAL_TREE_CHROMA的色度CU的亮度样点中最小编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值应在0到CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,ph_log2_diff_min_qt_min_cb_intra_slice_chroma的值被推断为等于sps_log2_diff_min_qt_min_cb_intra_slice_chroma。
ph_max_mtt_hierarchy_depth_intra_slice_chroma规定色度编解码单元的最大层次深度,该色度编解码单元是由与PH相关联的slice_type等于2(I)的条带中treeType等于DUAL_TREE_CHROMA的色度四叉树叶的多类型树划分产生的。ph_max_mtt_hierarchy_depth_intra_slice_chroma的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_intra_slice_chroma的值被推断为等于sps_max_mtt_hierarchy_depth_intra_slice_chroma。
ph_log2_diff_max_bt_min_qt_intra_slice_chroma规定可以使用二进制划分进行划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH相关联的slice_type等于2(I)的条带中treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_bt_min_qt_intra_slice_chroma。
ph_log2_diff_max_tt_min_qt_intra_slice_chroma规定可以使用三元划分进行划分的色度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH相关联的slice_type等于2(I)的条带中treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树划分产生的色度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值应在0到CtbLog2SizeY-MinQtLog2SizeIntraC(包括端值)的范围内。当不存在时,ph_log2_diff_max_tt_min_qt_intra_slice_chroma的值被推断为等于sps_log2_diff_max_tt_min_qt_intra_slice_chroma。
ph_cu_qp_delta_subdiv_intra_slice规定传送cu_qp_delta_abs和cu_qp_delta_sign_flag的帧内条带中的编解码单元的最大cbSubdiv值。ph_cu_qp_delta_subdiv_intra_slice的值应在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)(包括端值)的范围内。
当不存在时,ph_cu_qp_delta_subdiv_intra_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_intra_slice规定传送cu_chroma_qp_offset_flag的帧内条带中的编解码单元的最大cbSubdiv值。ph_cu_chroma_qp_offset_subdiv_intra_slice的值应在0到2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)(包括端值)的范围内。
当不存在时,ph_cu_chroma_qp_offset_subdiv_intra_slice的值被推断为等于0。
ph_log2_diff_min_qt_min_cb_inter_slice规定由CTU的四叉树划分产生的亮度叶块的亮度样点的最小尺寸的以2为底的对数和与PH相关联的slice_type等于0(B)或1(P)的条带中的亮度CU的亮度样点中的最小亮度编解码块尺寸的以2为底的对数之间的差。ph_log2_diff_min_qt_min_cb_inter_slice的值应在0至CtbLog2SizeY-MinCbLog2SizeY(包括端值)范围内。当不存在时,ph_log2_diff_min_qt_min_cb_luma的值推断为等于sps_log2_diff_min_qt_min_cb_inter_slice。
ph_max_mtt_hierarchy_depth_inter_slice规定编解码单元的最大层次深度,该编解码单元与PH相关联的slice_type等于0(B)或1(P)的条带中的四叉树叶的多类型树划分产生。ph_max_mtt_hierarchy_depth_inter_slice的值应在0到2*(CtbLog2SizeY-MinCbLog2SizeY)(包括端值)的范围内。当不存在时,ph_max_mtt_hierarchy_depth_inter_slice的值被推断为等于sps_max_mtt_hierarchy_depth_inter_slice。
ph_log2_diff_max_bt_min_qt_inter_slice规定可以使用二进制划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH相关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_bt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY(包括端值)的范围内。当不存在时,ph_log2_diff_max_bt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_bt_min_qt_inter_slice。
ph_log2_diff_max_tt_min_qt_inter_slice规定可以使用三元划分进行划分的亮度编解码块的亮度样点中的最大尺寸(宽度或高度)的以2为底的对数和由与PH关联的slice_type等于0(B)或1(P)的条带中的CTU的四叉树划分产生的亮度叶块的亮度样点中的最小尺寸(宽度或高度)的以2为底的对数之间的差。ph_log2_diff_max_tt_min_qt_inter_slice的值应在0到CtbLog2SizeY-MinQtLog2SizeInterY(包括端值)的范围内。当不存在时,ph_log2_diff_max_tt_min_qt_inter_slice的值被推断为等于sps_log2_diff_max_tt_min_qt_inter_slice。
ph_cu_qp_delta_subdiv_inter_slice规定在帧间条带中传送cu_qp_delta_abs和cu_qp_delta_sign_flag的编解码单元的最大cbSubdiv值。ph_cu_qp_delta_subdiv_inter_slice的值应在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)(包括端值)的范围内。
当不存在时,ph_cu_qp_delta_subdiv_inter_slice的值被推断为等于0。
ph_cu_chroma_qp_offset_subdiv_inter_slice规定在帧间条带中传送cu_chroma_qp_offset_flag的编解码单元的最大cbSubdiv值。ph_cu_chroma_qp_offset_subdiv_inter_slice的值应在0到2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)(包括端值)的范围内。
当不存在时,ph_cu_chroma_qp_offset_subdiv_inter_slice的值被推断为等于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。
基于子块的merge MVP候选的最大数量MaxNumSubblockMergeCand的导出如下:
Figure BDA0003842891790001011
MaxNumSubblockMergeCand的值应在0到5(包括端值)的范围内。
ph_collocated_from_l0_flag等于1规定用于时域运动矢量预测的共位图片是从参考图片列表0导出的。ph_collocated_from_l0_flag等于0规定用于时域运动矢量预测的共位图片是从参考图片列表1中导出的。
ph_collocated_ref_idx规定用于时域运动矢量预测的共位图片的参考索引。
当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx参考在参考图片列表0中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[0][RplsIdx[0]]–1(包括端值)的范围内。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx参考在参考图片列表1中的条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[1][RplsIdx[1]]-1(包括端值)的范围内。
当不存在时,ph_collocated_ref_idx的值被推断为等于0。
mvd_l1_zero_flag等于1指示不解析mvd_coding(x0,y0,1)语法结构,并且对于compIdx=0..1以及cpIdx=0..2,MvdL1[x0][y0][compIdx]和MvdCpL1[x0][y0][cpIdx][compIdx]被设置为等于0。mvd_l1_zero_flag等于0指示mvd_coding(x0,y0,1)语法结构被解析。
ph_fpel_mmvd_enabled_flag等于1规定具有运动矢量差的merge模式在与PH相关联的条带中使用整数样点精度。ph_fpel_mmvd_enabled_flag等于0规定具有运动矢量差的merge模式可以在与PH相关联的条带中使用分数样点精度。当不存在时,则ph_fpel_mmvd_enabled_flag的值被推断为0。
ph_disable_bdof_flag等于1规定在与PH相关联的条带中禁用基于双向光流帧间预测的帧间双向预测。ph_disable_bdof_flag等于0规定在与PH相关联的条带中可以启用或不启用基于双向光流帧间预测的帧间双向预测。
当ph_disable_bdof_flag不存在时,以下适用:
--如果sps_bdof_enabled_flag等于1,则推断ph_disable_bdof_flag的值等于0。
--否则(sps_bdof_enabled_flag等于0),ph_disable_bdof_flag的值被推断为等于1。
ph_disable_dmvr_flag等于1规定在与PH相关联的条带中禁用基于解码器运动矢量细化的帧间双向预测。ph_disable_dmvr_flag等于0规定在与PH相关联的条带中可以启用或不启用基于解码器运动矢量细化的帧间双向预测。
当ph_disable_dmvr_flag不存在时,以下适用:
--如果sps_dmvr_enabled_flag等于1,则ph_disable_dmvr_flag的值被推断为等于0。
--否则(sps_dmvr_enabled_flag等于0),ph_disable_dmvr_flag的值被推断为等于1。
ph_disable_prof_flag等于1规定在与PH相关联的条带中禁用光流的预测细化。ph_disable_prof_flag等于0规定在与PH相关联的条带中可以启用或不启用光流的预测细化。
当ph_disable_prof_flag不存在时,以下适用:
--如果sps_affine_prof_enabled_flag等于1,则ph_disable_prof_flag的值被推断为等于0。
--否则(sps_affine_prof_enabled_flag等于0),ph_disable_prof_flag的值被推断为等于1。
ph_qp_delta规定用于图片中的编解码块的QpY的初始值,直到被编解码单元层中的CuQpDeltaVal的值修改。
当qp_delta_info_in_ph_flag等于1时,图片的所有条带的QpY量化参数的初始值SliceQpY被导出如下:
SliceQpY=26+init_qp_minus26+ph_qp_delta (89)
SliceQpY的值应在-QpBdOffset到+63(包括端值)的范围内。
ph_joint_cbcr_sign_flag规定在tu_joint_cbcr_residual_flag[x0][y0]等于1的变换单元中,两个色度分量的共位残差样点是否具有反转符号。当tu_joint_cbcr_residual_flag[x0][y0]对于变换单元等于1时,ph_joint_cbcr_sign_flag等于0规定Cr(或Cb)分量的每个残差样点的符号与共位的Cb(或Cr)残差样点的符号相同,并且ph_joint_cbcr_sign_flag等于1规定Cr(或Cb)分量的每个残差样点的符号由共位的Cb(或Cr)残差样点的反转符号给出。
ph_sao_luma_enabled_flag等于1规定为与PH相关联的所有条带中的亮度分量启用SAO;ph_sao_luma_enabled_flag等于0规定可以为与PH相关联的一个、多个或所有条带禁用亮度分量的SAO,当ph_sao_luma_enabled_flag不存在时,其被推断为等于0。
ph_sao_chroma_enabled_flag等于1规定为与PH相关联的所有条带中的色度分量启用SAO;ph_sao_chroma_enabled_flag等于0规定色度分量的SAO可以对于与PH相关联的一个、多个或所有条带被禁用。当ph_sao_chroma_enabled_flag不存在时,其被推断为等于0。
ph_dep_quant_enabled_flag等于0规定对当前图片禁用依赖量化。ph_dep_quant_enabled_flag等于1规定为当前图片启用依赖量化。当ph_dep_quant_enabled_flag不存在时,其被推断为等于0。
pic_sign_data_hiding_enabled_flag等于0规定对当前图片禁用符号位隐藏。pic_sign_data_hiding_enabled_flag等于1规定为当前图片启用符号位隐藏。当pic_sign_data_hiding_enabled_flag不存在时,其被推断为等于0。
ph_deblocking_filter_override_flag等于1规定去块参数存在于PH中。ph_deblocking_filter_override_flag等于0规定去块参数不存在于PH中。当不存在时,ph_deblocking_filter_override_flag的值被推断为等于0。
ph_deblocking_filter_disabled_flag等于1规定去块滤波器的操作不适用于与PH相关联的条带。ph_deblocking_filter_disabled_flag等于0规定去块滤波器的操作适用于与PH相关联的条带。当ph_deblocking_filter_disabled_flag不存在时,其被推断为等于pps_deblocking_filter_disabled_flag。
ph_beta_offset_div2和ph_tc_offset_div2规定β和tC(除以2)的去块参数偏移,这些参数偏移应用于与PH相关联的条带的亮度分量。ph_beta_offset_div2和ph_tc_offset_div2的值都应在-12至12(包括端值)的范围内。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2规定β和tC(除以2)的去块参数偏移,这些参数偏移应用于与PH相关联的条带的Cb分量。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值推断为分别等于pps_cb_beta_offset_div2和pps_cb_tc_offset_div2。
ph_cr_beta_offset_div2和ph_cr_tc_offset_div2规定β和tC(除以2)的去块参数偏移,这些参数偏移应用于与PH相关联的条带的Cr分量。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12至12(包括端值)的范围内。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
ph_extension_length以字节为单位规定PH扩展数据的长度,不包括用于信令通知ph_extension_length本身的位。ph_extension_length的值应在0到256(包括端值)的范围内。当不存在时,ph_extension_length的值被推断为等于0。
ph_extension_data_byte可以是任意值。符合该版本该规范的解码器应忽略ph_extension_data_byte的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
3.6.SH语法和语义
在最新的VVC草案文本中,SH语法和语义如下:
Figure BDA0003842891790001041
Figure BDA0003842891790001051
Figure BDA0003842891790001061
Figure BDA0003842891790001071
Figure BDA0003842891790001081
规定包含cu_qp_delta_abs的编解码单元的亮度量化参数与其预测之间的差的变量CuQpDeltaVal设置为等于0。规定在确定包含cu_chroma_qp_offset_flag的编解码单元的Qp′Cb、Qp′Cr和Qp′CbCr量化参数的相应值时要使用的值的变量CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr都被设置为等于0。
picture_header_in_slice_header_flag等于1规定PH语法结构存在于条带标头中。picture_header_in_slice_header_flag等于0规定PH语法结构不存在于条带标头中。
比特流一致性的要求是,在CLVS中的所有编解码条带中,picture_header_in_slice_header_flag的值应该相同。
当picture_header_in_slice_header_flag对于编解码条带等于1时,比特流一致性的要求是CLVS中不应存在nal_unit_type等于PH_NUT的VCL NAL单元。
当picture_header_in_slice_header_flag等于0时,当前图片中的所有编解码的条带应当具有picture_header_in_slice_header_flag等于0,并且当前PU应当具有PH NAL单元。
slice_subpic_id规定包含条带的子图片的子图片ID。如果slice_subpic_id存在,则变量CurrSubpicIdx的值被导出,使得SubpicIdVal[CurrSubpicIdx]等于slice_subpic_id。否则(slice_subpic_id不存在),CurrSubpicIdx被导出等于0。slice_subpic_id的长度为sps_subpic_id_len_minus1+1位。
slice_address规定条带的条带地址。当不存在时,slice_address的值被推断为等于0。当rect_slice_flag等于1且NumSlicesInSubpic[CurrSubpicIdx]等于1时,slice_address的值被推断为等于0。
如果rect_slice_flag等于0,则以下适用:
--条带地址是光栅扫描条带索引。
--slice_address的长度为Ceil(Log2(NumTilesInPic))位。
--slice_address的值应在0到NumTilesInPic–1(包括端值)的范围内。
否则(rect_slice_flag等于1),以下适用:
--条带地址是条带的子图片级别条带索引。
--slice_address的长度为Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))位。
--slice_address的值应在0到NumSlicesInSubpic[CurrSubpicIdx]–1(包括端值)的范围内。
比特流一致性的要求是应用以下约束:
--如果rect_slice_flag等于0或subpic_info_present_flag等于0,则slice_address的值不应等于同一编解码图片的任何其它编解码条带NAL单元的slice_address的值。
--否则,一对slice_subpic_id和slice_address值不应等于同一编解码图片的任何其它编解码条带NAL单元的一对slice_subpic_id和slice_address值。
--图片的条带的形状应使得每个CTU在解码时,其整个左侧边界和整个顶部边界应由图片边界组成或由先前解码的(多个)CTU的边界组成。
sh_extra_bit[i]可以等于1或0。符合该版本该规范的解码器应忽略sh_extra_bit[i]的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
num_tiles_in_slice_minus1加1(如果存在)规定条带中的片的数量。num_tiles_in_slice_minus1的值应在0到NumTilesInPic–1(包括端值)的范围内。
变量NumCtusInCurrSlice规定当前条带中CTU的数量,并且i的范围从0到NumCtusInCurrSlice–1(包括端值)的列表CtbAddrInCurrSlice[i]规定条带内第i个CTB的图片光栅扫描地址,导出如下:
Figure BDA0003842891790001101
Figure BDA0003842891790001111
变量SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos和SubpicBotBoundaryPos的导出如下:
Figure BDA0003842891790001112
slice_type根据表9规定条带的编解码类型。
表9–与slice_type的名称关联
slice_type slice_type的名称
0 B(B条带)
1 P(P条带)
2 I(I条带)
当不存在时,slice_type的值被推断为等于2。
当ph_intra_slice_allowed_flag等于0时,slice_type的值应等于0或1。当nal_unit_type在IDR_W_RADL到CRA_NUT(包括端值)的范围内,且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,slice_type应等于2。
变量MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthY和MaxMttDepthC的导出如下:
--如果slice_type等于2(I),则以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_luma (119)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_chroma (120)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_intra_slice_luma) (121)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_intra_slice_chroma) (122)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_intra_slice_luma) (123)MaxTtSizeC=1<<
(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_intra_slice_chroma) (124)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_intra_slice_luma (125)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_intra_slice_chroma (126)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_intra_slice (127)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_intra_slice (128)
--否则(slice_type等于0(B)或1(P)),以下适用:
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (129)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (130)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_inter_slice) (131)
MaxBtSizeC=1<<
(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_inter_slice) (132)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_inter_slice) (133)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_inter_slice) (134)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_inter_slice (135)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_inter_slice (136)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_inter_slice (137)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_inter_slice (138)
--以下适用:
MinQtSizeY=1<<MinQtLog2SizeY (139)
MinQtSizeC=1<<MinQtLog2SizeC (140)
MinBtSizeY=1<<MinCbLog2SizeY (141)
MinTtSizeY=1<<MinCbLog2SizeY (142)
slice_alf_enabled_flag等于1规定自适应环路滤波器被启用,并且可以应用于条带中的Y、Cb或Cr颜色分量。slice_alf_enabled_flag等于0规定对条带中的所有颜色分量禁用自适应环路滤波器。当不存在时,slice_alf_enabled_flag的值被推断为等于ph_alf_enabled_flag。
slice_num_alf_aps_ids_luma规定条带参考的ALF APS的数量。当slice_alf_enabled_flag等于1且slice_num_alf_aps_ids_luma不存在时,slice_num_alf_aps_ids_luma的值被推断为等于ph_num_alf_aps_ids_luma的值。
slice_alf_aps_id_luma[i]规定条带的亮度分量所参考的第i个ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS并且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的APS NAL单元的TemporalId应小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1且slice_alf_aps_id_luma[i]不存在时,slice_alf_aps_id_luma[i]的值推断为等于ph_alf_aps_id_luma[i]的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_luma[i]的APS NAL单元的alf_luma_filter_signal_flag的值应等于1。
slice_alf_chroma_idc等于0规定自适应环路滤波器不应用于Cb和Cr颜色分量。slice_alf_chroma_idc等于1指示自适应环路滤波器应用于Cb颜色分量。slice_alf_chroma_idc等于2指示自适应环路滤波器应用于Cr颜色分量。slice_alf_chroma_idc等于3指示自适应环路滤波器应用于Cb和Cr颜色分量。当slice_alf_chroma_idc不存在时,其被推断为等于ph_alf_chroma_idc。
slice_alf_aps_id_chroma规定条带的色度分量所参考的ALF APS的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的APS NAL单元的TemporalId应小于或等于编解码条带NAL单元的TemporalId。当slice_alf_enabled_flag等于1且slice_alf_aps_id_chroma不存在时,slice_alf_aps_id_chroma的值被推断为等于ph_alf_aps_id_chroma的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_alf_aps_id_chroma的APS NAL单元的alf_chroma_filter_signal_flag的值应等于1。
slice_cc_alf_cb_enabled_flag等于0规定跨分量滤波器不应用于Cb颜色分量。slice_cc_alf_cb_enabled_flag等于1指示跨分量滤波器被启用,并且可以应用于Cb颜色分量。当slice_cc_alf_cb_enabled_flag不存在时,其被推断为等于ph_cc_alf_cb_enabled_flag。
slice_cc_alf_cb_aps_id规定条带的Cb颜色分量所参考的adaptation_parameter_set_id。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_id的APS NAL单元的TemporalId应小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cb_enabled_flag等于1且slice_cc_alf_cb_aps_id不存在时,slice_cc_alf_cb_aps_id的值被推断为等于ph_cc_alf_cb_aps_id的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cb_aps_id的APS NAL单元的alf_cc_cb_filter_signal_flag的值应等于1。
slice_cc_alf_cr_enabled_flag等于0规定跨分量滤波器不应用于Cr颜色分量。slice_cc_alf_cb_enabled_flag等于1指示跨分量自适应环路滤波器被启用,并且可以应用于Cr颜色分量。当slice_cc_alf_cr_enabled_flag不存在时,其被推断为等于ph_cc_alf_cr_enabled_flag。
slice_cc_alf_cr_aps_id规定条带的Cr颜色分量所参考的adaptation_parameter_set_id。aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cr_aps_id的APS NAL单元的TemporalId应小于或等于编解码条带NAL单元的TemporalId。当slice_cc_alf_cr_enabled_flag等于1且slice_cc_alf_cr_aps_id不存在时,slice_cc_alf_cr_aps_id的值被推断为等于ph_cc_alf_cr_aps_id的值。
aps_params_type等于ALF_APS且adaptation_parameter_set_id等于slice_cc_alf_cr_aps_id的APS NAL单元的alf_cc_cr_filter_signal_flag的值应等于1。
当separate_colour_plane_flag等于1时,colour_plane_id标识与当前条带相关联的颜色平面。colour_plane_id的值应在0到2(包括端值)的范围内。colour_plane_id值0、1和2分别对应于Y、Cb和Cr平面。colour_plane_id的值3保留供ITU-T|ISO/IEC未来使用。
注1–一张图片的不同颜色平面的解码过程之间没有依赖关系。
num_ref_idx_active_override_flag等于1规定语法元素num_ref_idx_active_minus1[0]存在于P条带和B条带,并且语法元素num_ref_idx_active_minus1[1]存在于B条带。num_ref_idx_active_override_flag等于0规定语法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]不存在。当不存在时,num_ref_idx_active_override_flag的值被推断为等于1。
num_ref_idx_active_minus1[i]用于导出变量NumRefIdxActive[i],如等式143所规定。num_ref_idx_active_minus1[i]的值应在0到14(包括端值)的范围内。
对于i等于0或1,当当前条带是B条带,num_ref_idx_active_override_flag等于1,且num_ref_idx_active_minus1[i]不存在时,num_ref_idx_active_minus1[i]被推断为等于0。
当当前条带是P条带,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[0]不存在时,num_ref_idx_active_minus1[0]被推断为等于0。
变量NumRefIdxActive[i]的导出如下:
Figure BDA0003842891790001151
Figure BDA0003842891790001161
NumRefIdxActive[i]-1的值规定可用于解码条带的参考图片列表i的最大参考索引。当NumRefIdxActive[i]的值等于0时,没有参考图片列表i的参考索引可用于对条带进行解码。
当前条带为P条带时,NumRefIdxActive[0]的值应大于0。
当当前条带为B条带时,NumRefIdxActive[0]和NumRefIdxActive[1]均应大于0。
cabac_init_flag规定用于确定在上下文变量的初始化过程中使用的初始化表的方法。当cabac_init_flag不存在时,其被推断为等于0。
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。
slice_qp_delta规定用于条带中的编解码块的QpY的初始值,直到被编解码单元层中的CuQpDeltaVal的值修改。
当qp_delta_info_in_ph_flag等于0时,条带的QpY量化参数的初始值SliceQpY被导出如下:
SliceQpY=26+init_qp_minus26+slice_qp_delta (144)
SliceQpY的值应在-QpBdOffset到+63(包括端值)的范围内。
当以下任一条件为真时:
--wp_info_in_ph_flag的值等于1,pps_weighted_pred_flag的值等于1,并且slice_type的值等于P。
--wp_info_in_ph_flag的值等于1,pps_weighted_bipred_flag的值等于1,并且slice_type的值等于B。
以下适用:
--NumRefIdxActive[0]的值应小于或等于NumWeightsL0的值。
–对于i的范围在0到NumRefIdxActive[0]-1(包括端值)范围内的每个参考图片索引RefPicList[0][i],应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL0[i]、ChromaWeightL0[0][i]和ChromaWeightL0[1][i]。
当wp_info_in_ph_flag等于1,pps_weighted_bipred_flag等于1,并且slice_type等于B时,以下适用:
--NumRefIdxActive[1]的值应小于或等于NumWeightsL1的值。
–对于i的范围在0至NumRefIdxActive[1]-1(包括端值)范围内的每个参考图片索引RefPicList[1][i],应用于参考图片索引的亮度权重、Cb权重和Cr权重分别为LumaWeightL1[i]、ChromaWeightL1[0][i]和ChromaWeightL1[1][i]。
slice_cb_qp_offset规定在确定Qp′Cb量化参数的值时要添加到pps_cb_qp_offset的值的差。slice_cb_qp_offset的值应在-12至+12(包括端值)范围内。当slice_cb_qp_offset不存在时,其被推断为等于0。pps_cb_qp_offset+slice_cb_qp_offset的值应在-12至+12(包括端值)范围内。
slice_cr_qp_offset规定在确定Qp′Cr量化参数值时要添加到pps_cr_qp_offset的值的差。slice_cr_qp_offset的值应在-12至+12(包括端值)范围内。当slice_cr_qp_offset不存在时,其被推断为等于0。pps_cr_qp_offset+slice_cr_qp_offset的值应在-12至+12(包括端值)范围内。
slice_joint_cbcr_qp_offset规定在确定Qp′CbCr的值时要添加到pps_joint_cbcr_qp_offset_value的值的差。slice_joint_cbcr_qp_offset的值应在-12至+12(包括端值)范围内。当slice_joint_cbcr_qp_offset不存在时,其被推断为等于0。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset的值应在-12至+12(包括端值)范围内。
cu_chroma_qp_offset_enabled_flag等于1规定cu_chroma_qp_offset_flag可以存在于变换单元和调色板编解码语法中。cu_chroma_qp_offset_enabled_flag等于0规定cu_chroma_qp_offset_flag不存在于变换单元或调色板编解码语法中。当不存在时,cu_chroma_qp_offset_enabled_flag的值推断为等于0。
slice_sao_luma_flag等于1规定为当前条带中的亮度分量启用SAO;slice_sao_luma_flag等于0规定为当前条带中的亮度分量禁用SAO。当slice_sao_luma_flag不存在时,其被推断为等于ph_sao_luma_enabled_flag。
slice_sao_chroma_flag等于1规定为当前条带中的色度分量启用SAO;slice_sao_chroma_flag等于0规定为当前条带中的色度分量禁用SAO。当slice_sao_chroma_flag不存在时,其被推断为等于ph_sao_chroma_enabled_flag。
slice_deblocking_filter_override_flag等于1规定去块参数存在于条带标头中。slice_deblocking_filter_override_flag等于0规定去块参数不存在于条带标头中。当不存在时,slice_deblocking_filter_override_flag的值被推断为等于ph_deblocking_filter_override_flag。
slice_deblocking_filter_disabled_flag等于1规定去块滤波器的操作不应用于当前条带。slice_deblocking_filter_disabled_flag等于0规定对当前条带应用去块滤波器的操作。当slice_deblocking_filter_disabled_flag不存在时,其被推断为等于ph_deblocking_filter_disabled_flag。
slice_beta_offset_div2和slice_tc_offset_div2规定应用于当前条带的亮度分量的β和tC(除以2)的去块参数偏移。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2规定应用于当前条带的Cb分量的β和tC(除以2)的去块参数偏移。slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2规定应用于当前条带的Cr分量的β和tC(除以2)的去块参数偏移。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值都应在-12至12(包括端值)范围内。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
slice_ts_residual_coding_disabled_flag等于1规定residual_coding()语法结构用于解析当前条带的变换跳过块的残差样点。slice_ts_residual_coding_disabled_flag等于0规定residual_ts_coding()语法结构用于解析当前条带的变换跳过块的残差样点。当slice_ts_residual_coding_disabled_flag不存在时,其被推断为等于0。
slice_lmcs_enabled_flag等于1规定为当前条带启用带有色度缩放的亮度映射。slice_lmcs_enabled_flag等于0规定为当前条带不启用带有色度缩放的亮度映射。当slice_lmcs_enabled_flag不存在时,其被推断为等于0。
slice_scaling_list_present_flag等于1规定用于当前条带的缩放列表数据是基于包含在参考缩放列表APS中的缩放列表数据导出的,其中aps_params_type等于SCALING_APS,并且adaptation_parameter_set_id等于ph_scaling_list_aps_id。slice_scaling_list_present_flag等于0规定用于当前图片的缩放列表数据是在条款7.4.3.21中规定的默认缩放列表数据。当不存在时,slice_scaling_list_present_flag的值被推断为等于0。
变量NumEntryPoints规定当前条带中条目点的数量,导出如下:
Figure BDA0003842891790001201
offset_len_minus1加1规定entry_point_offset_minus1[i]语法元素的以位为单位的长度。offset_len_minus1的值应在0到31(包括端值)的范围内。
entry_point_offset_minus1[i]加1以字节为单位规定第i个条目点偏移,并且用offset_len_minus1加1位表示。条带标头之后的条带数据由NumEntryPoints+1个子集组成,其中子集索引值的范围从0到NumEntryPoints(包括端值)。条带数据的第一个字节被视为字节0。当存在时,出现在编解码条带NAL单元的条带数据部分中的仿真防止字节被计数为条带数据的部分,用于子集识别的目的。子集0由编解码条带数据的字节0至entry_point_offset_minus1[0](包括端值)组成,子集k(其中k的范围为1至NumEntryPoints-1(包括端值))由编解码条带数据的字节firstByte[k]至lastByte[k](包括端值)组成,其中firstByte[k]和lastByte[k]定义为:
Figure BDA0003842891790001211
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k] (147)
最后一个子集(其中子集索引等于NumEntryPoints)由编解码条带数据的剩余字节组成。
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含一个或多个完整的片时,每个子集应由同一片内的条带中所有CTU的所有编解码位组成,并且子集的数量(即NumEntryPoints+1的值)应等于条带中的片的数量。
当sps_entropy_coding_sync_enabled_flag等于0并且条带包含来自单个片的CTU行的子集时,NumEntryPoints应当是0,并且子集的数量应当是1。该子集应由条带中的所有CTU的所有编解码位组成。
当sps_entropy_coding_sync_enabled_flag等于1时,k的范围在0到NumEntryPoints(包括端值)的每个子集k应由片内的CTU行中所有CTU的所有编解码位组成,并且子集的数量(即NumEntryPoints+1的值)应等于条带中片特定CTU行的总数量。
slice_header_extension_length以字节为单位规定条带标头扩展数据的长度,不包括用于信令通知slice_header_extension_length本身的位。slice_header_extension_length的值应在0到256(包括端值)的范围内。当不存在时,slice_header_extension_length的值被推断为等于0。
slice_header_extension_data_byte[i]可以具有任何值。符合该版本该规范的解码器应忽略所有slice_header_extension_data_byte[i]语法元素的值。它的值不影响解码器与该版本规范中规定的档次的一致性。
3.7.变换单元语法(条带数据)
在最新的VVC草案文本中,变换单元语法和语义如下:
Figure BDA0003842891790001221
Figure BDA0003842891790001231
Figure BDA0003842891790001241
Figure BDA0003842891790001251
Figure BDA0003842891790001261
变换系数级别由数组TransCoeffLevel[x0][y0][cIdx][xC][yC]表示。数组索引x0、y0规定所考虑的变换块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0)。数组索引cIdx规定了颜色分量的指示符;Y等于0,Cb等于1,并且Cr等于2。数组索引xC和yC规定当前变换块内的变换系数位置(xC,yC)。当在条款7.3.10.11中没有规定TransCoeffLevel[x0][y0][cIdx][xC][yC]的值时,其被推断为等于0。
tu_cbf_cb[x0][y0]等于1规定Cb变换块包含不等于0的一个或多个变换系数级别。数组索引x0、y0规定所考虑的变换块的左顶位置(x0,y0)。
当tu_cbf_cb[x0][y0]不存在时,其值被推断为等于0。
tu_cbf_cr[x0][y0]等于1规定Cr变换块包含不等于0的一个或多个变换系数级别。数组索引x0、y0规定所考虑的变换块的左顶位置(x0,y0)。
当tu_cbf_cr[x0][y0]不存在时,其值被推断为等于0。
tu_cbf_luma[x0][y0]等于1规定亮度变换块包含不等于0的一个或多个变换系数级别。数组索引x0、y0规定所考虑的变换块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0)。
当tu_cbf_luma[x0][y0]不存在时,其值被推断如下:
--如果cu_sbt_flag等于1,并且以下条件之一为真,则tu_cbf_luma[x0][y0]被推断为等于0:
–subTuIndex等于0,并且cu_sbt_pos_flag等于1。
–subTuIndex等于1,并且cu_sbt_pos_flag等于0。
--否则,如果treeType等于DUAL_TREE_CHROMA,则tu_cbf_luma[x0][y0]被推断为等于0。
--否则,tu_cbf_luma[x0][y0]被推断为等于1。
tu_joint_cbcr_residual_flag[x0][y0]规定色度分量Cb和Cr两者的残差样点是否被编解码为单个变换块。数组索引x0、y0规定所考虑的变换块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0)。
tu_joint_cbcr_residual_flag[x0][y0]等于1规定变换单元语法包括单个变换块的变换系数级别,Cb和Cr两者的残差样点从该单个变换块中导出。tu_joint_cbcr_residual_flag[x0][y0]等于0规定色度分量的变换系数级别如语法元素tu_cbf_cb[x0][y0]和tu_cbf_cr[x0][y0]所指示进行编解码。
当tu_joint_cbcr_residual_flag[x0][y0]不存在时,其被推断为等于0。
根据tu_joint_cbcr_residual_flag[x0][y0]、tu_cbf_cb[x0][y0]和tu_cbf_cr[x0][y0],变量TuCResMode[x0][y0]被导出如下:
--如果tu_joint_cbcr_residual_flag[x0][y0]等于0,变量TuCResMode[x0][y0]设置为等于0。
--否则,如果tu_cbf_cb[x0][y0]等于1,并且tu_cbf_cr[x0][y0]等于0,则变量TuCResMode[x0][y0]设置为等于1。
--否则,如果tu_cbf_cb[x0][y0]等于1,则变量TuCResMode[x0][y0]设置为等于2。
--否则,变量TuCResMode[x0][y0]被设置为等于3。
cu_qp_delta_abs规定当前编解码单元的量化参数与其预测之间的差CuQpDeltaVal的绝对值。
cu_qp_delta_sign_flag规定CuQpDeltaVal的符号如下:
--如果cu_qp_delta_sign_flag等于0,则对应CuQpDeltaVal具有正值。
--否则(cu_qp_delta_sign_flag等于1),对应CuQpDeltaVal具有负值。
当cu_qp_delta_sign_flag不存在时,其被推断为等于0。
当cu_qp_delta_abs存在时,变量IsCuQpDeltaCoded和CuQpDeltaVal被导出如下:
IsCuQpDeltaCoded=1 (187)
CuQpDeltaVal=cu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag) (188)
CuQpDeltaVal的值应在-(32+QpBdOffset/2)到+(31+QpBdOffset/2)(包括端值)的范围内。
cu_chroma_qp_offset_flag当存在且等于1时,规定cb_qp_offset_list[]中的条目用于确定CuQpOffsetCb的值,cr_qp_offset_list[]中的对应条目用于确定CuQpOffsetCr的值,并且joint_cbcr_qp_offset_list[]中的对应条目用于确定CuQpOffsetCbCr的值。cu_chroma_qp_offset_flag等于0规定这些列表不用于确定CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr的值。
cu_chroma_qp_offset_idx(如果存在)规定用于确定CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr的值的cb_qp_offset_list[]、cr_qp_offset_list[]和joint_cbcr_qp_offset_list[]的索引。当存在时,cu_chroma_qp_offset_idx的值应在0到chroma_qp_offset_list_len_minus1(包括端值)的范围内。当不存在时,cu_chroma_qp_offset_idx的值被推断为等于0。
当cu_chroma_qp_offset_flag存在时,以下适用:
--变量IsCuChromaQpOffsetCoded设置为等于1。
--变量CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr的导出如下:
--如果cu_chroma_qp_offset_flag等于1,则以下适用:
CuQpOffsetCb=cb_qp_offset_list[cu_chroma_qp_offset_idx] (189)
CuQpOffsetCr=cr_qp_offset_list[cu_chroma_qp_offset_idx] (190)
CuQpOffsetCbCr=joint_cbcr_qp_offset_list[cu_chroma_qp_offset_idx] (191)
--否则(cu_chroma_qp_offset_flag等于0),CuQpOffsetCb、CuQpOffsetCr和CuQpOffsetCbCr都设置为0。
transform_skip_flag[x0][y0][cIdx]规定是否将变换应用于相关的变换块。数组索引x0、y0规定所考虑的变换块的左顶亮度样点相对于图片的左顶亮度样点的位置(x0,y0)。数组索引cIdx规定了颜色分量的指示符;Y等于0,Cb等于1,并且Cr等于2。transform_skip_flag[x0][y0][cIdx]等于1规定没有变换应用于相关的变换块。transform_skip_flag[x0][y0][cIdx]等于0规定是否将变换应用于相关的变换块的决定取决于其他语法元素。
当transform_skip_flag[x0][y0][cIdx]不存在时,其被推断如下:
--如果BdpcmFlag[x0][y0][cIdx]等于1,则transform_skip_flag[x0][y0][cIdx]被推断为等于1。
--否则(BdpcmFlag[x0][y0][cIdx]等于0),transform_skip_flag[x0][y0][cIdx]被推断为等于0。
4.公开的实施例的技术问题的示例
SH、PPS、APS语法元素(SE)的现有设计存在以下问题:
1)在最新的VVC草案文本中,信令通知APS语法元素scaling_list_chroma_present_flag,以控制在SCALING APS中信令通知的缩放/量化矩阵(QM)的数量,即,当scaling_list_chroma_present_flag等于1时,为亮度和色度两者信令通知28个QM;否则(当scaling_list_chroma_present_flag等于0时),仅为亮度信令通知10个QM。目前scaling_list_chroma_present_flag的值是基于ChromaArrayType(从SPS语法元素导出的)进行约束,即当ChromaArrayType不等于0时,scala_list_chroma_present_flag的值被要求等于1,而当ChromaArrayType等于0,scala_list_chroma_present_flag的值被要求等于0。语义中的这种约束引入了APS对SPS的依赖性,这不应该发生,因为APS可被应用于参考不同SPS的图片(或图片的条带),这可能与ChromaArrayType的不同值相关联。
a.此外,目前,一旦使用用户定义的缩放列表对块进行编解码,亮度和色度两者(如果可用)都应该应用用户定义的缩放列表,即,不能单独打开/关闭亮度和色度的用户定义的缩放列表。这样的设计可能不高效/不灵活。
2)在最新的VVC草案文本中,当信令通知LMCS APS语法结构时,总是信令通知与色度残差缩放相关的APS语法元素,而不管ChromaArrayType是否等于0(例如,视频内容中没有色度分量)。当视频内容中没有色度处理时,这可能会导致色度相关的语法元素的不必要传输。
3)在最新的VVC草案文本中,SH语法元素slice_ts_residual_coding_disabled_flag用于规定基于变换跳过的残差编解码(TSRC)或常规残差编解码(RRC)是否用于变换跳过块。然而,现在slice_ts_residual_coding_disabled_flag总是在SH中被信令通知,而不管SPS级别变换跳过的禁用。如果sps_transform_skip_enabled_flag、transform_skip_flag始终等于0,并且切换TSRC和RRC的条件(!transform_skip_flag[xC][yC][1]||slice_ts_residual_coding_disabled_flag)将始终为真,则在这种情况下,slice_ts_residual_coding_disabled_flag变得没有意义。
a.此外,当前,非TS块只能使用RRC,并且不能在TSRC与RRC之间切换,这对于非TS块压缩可能不是高效的。
4)在最新的VVC草案文本中,使用多级别控制来启用亮度块的cu_qp_delta,即,首先信令通知PPS开/关控制标志cu_qp_delta_enabled_flag,然后在PH中规定量化组(QG)尺寸,最后信令通知每个QG中的cu_qp_delta_abs的值。通过这样的设计,对于由多个条带组成的图片,当一些条带使用cu qp增量而其他条带从不使用它时,仍然需要为每个QG信令通知块级别cu_qp_delta_abs。因此,存在可以被避免的块级别位浪费。
5)在最新的VVC草案文本中,当PPS语法元素single_slice_per_subpic_flag等于0时,参考PPS的图片的每个子图片可以由一个或多个矩形条带组成。当single_slice_per_subpic_flag等于0时,对于参考这种PPS的图片,可能发生以下情况:
a.冗余情况:当sps_num_subpics_minus1大于0但每个子图片中只有一个条带时。在这种情况下,每个图片包含多个子图片和多个矩形条带,但是single_slice_per_subpic_flag等于0,因此,需要信令通知num_slices_in_pic_minus1。然而,它被冗余地信令通知,因为这种情况在概念上等同于single_slice_per_subpic_flag等于1,并且根本不需要信令通知这个SE。
b.冗余情况:当sps_num_subpics_minus1等于0,并且参考PPS的每个图片中只有一个条带时。在这种情况下,每个图片包含仅由一个条带组成的一个子图片,但是single_slice_per_subpic_flag仍然被允许等于0,因此需要信令通知num_slices_in_pic_minus1。然而,它被冗余地信令通知,因为这种情况在概念上等同于single_slice_per_subpic_flag等于1,并且根本不需要信令通知这个SE。
c.此外,如果禁止/避免所有上述冗余情况,则事实证明,single_slice_per_subpic_flag等于0总是用于图片具有多个子图片(每个子图片包含单个条带或多个条带)或图片具有多个条带(每个图片包含单个子图片或多个子图片)的情况。并且对于这两种情况,num_slices_in_pic_minus1的值总是大于1。事实证明,也没有必要有条件地信令通知PPS语法元素tile_idx_delta_present_flag。
6)在最新的VVC草案文本中,片布局(诸如片的宽度和高度)是以与隐式推断相关联的显式信令通知的方式设计的。如果图片被划分为具有相同高度的片的多个片行,那么当前的设计允许仅信令通知第一个片行的高度,并且可以推断出其余片行的高度。否则,如果图片被划分为具有不同高度的片的多个片行,那么它将显式地信令通知每个片行的高度。否则,如果图片被划分为多个片行,其中前几个片行具有不同高度而最后几个片行具有相同高度,则它将显式地信令通知前几个片行的高度以及最后几个片行中的仅一个片行,并且然后相同高度的剩余片行的高度将在没有信令通知的情况下被推断。通过结合显式信令通知和隐式推断,当前的设计对于这三种情况工作良好。但是,还有另一种情况,如果一个图片被划分为多个片行,其中前几个片行具有相同的高度而后几个片行具有不同的高度。在这种情况下,当前的设计似乎不是那么有效,因为隐式推断不能应用于这种情况,并且它仍然需要显式地信令通知每个片行的高度。同样,对于片列信令通知和矩形条带布局信令通知,也存在相同的情况,即,在条带小于片的情况下条带高度信令通知。可以在此处应用修改以进行改进。
7)目前,GCI语法元素no_aps_constraint_flag用于禁用nuh_unit_type等于PREFIX_APS_NUT或SUFFIX_APS_NUT的NAL单元。如果没有ALF APS,预计将在草案中提出更多的约束。
8)目前,一致性窗口参数总是在PPS中被信令通知,包括当图片宽度和高度与由PPS参考的SPS中信令通知的最大图片宽度和高度相同时,而另一方面,具有最大图片宽度和高度的图片的一致性窗口参数也在SPS中被信令通知。PPS中具有最大图片宽度和高度的图片的一致性窗口参数的信令通知是冗余的。
5.实施例和技术的示例列表
为解决上述问题和一些其他未提及的问题,公开了以下总结的方法。技术方案应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些技术方案可以单独应用或以任何方式组合应用。
在以下描述中,关于基于最新工作草案JVET-Q2001-vD的预先文本更改,删除的部分在左右双括号(例如,[[]])中突出显示,其中删除的文本在双括号之间,而添加的部分是粗斜体。
1.关于APS语法元素scaling_list_chroma_present_flag的值依赖于SPS语法元素用于解决第一个问题,公开了以下方法中的一种或多种:
1)在一个示例中,VPS ID和/或SPS ID和/或PPS ID可以被添加到APS语法结构,即adaptation_parameter_set_rbsp(),例如adaptation_parameter_set_rbsp()的语法结构可以被更改如下:
Figure BDA0003842891790001321
aps_seq_parameter_set_id规定APS的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id的值应在0到15(包括端值)的范围内。aps_seq_parameter_set_id的值在CLVS中由编解码图片参考的所有APS中应该是相同的。
a.另外,或者,色度缩放列表的信令通知可以基于ChromaArrayType的值来显式地调节,例如,scaling_list_data()的语法表可以被更改如下:
Figure BDA0003842891790001322
并且scaling_list_chroma_present_flag的语义被更改如下:
[[scaling_list_chroma_present_flag等于1规定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0规定scaling_list_data()中不存在色度缩放列表。比特流一致性的要求是当ChromaArrayType等于0时scaling_list_chroma_present_flag应等于0,并且当ChromaArrayType不等于0时scaling_list_chroma_present_flag应等于1。]]
2)在一个示例中,可以隐式地导出与AP相关联的VPS和/或SPS和/或PPS。
a.例如,如果APS由视频单元(诸如图片标头或条带标头)参考,并且视频单元取决于VPS和/或SPS和/或PPS,则APS隐式地与VPS和/或SPS和/或PPS相关联。
3)在一个示例中,代替使用用户定义的缩放列表(也称为显式缩放列表),平坦量化(默认缩放列表)可以用于色度块,即使当显式缩放列表应用于亮度块时。
a.或者,此外,即使当在比特流中信令通知亮度块的显式缩放列表,也可以不信令通知色度块的显式缩放列表。
4)或者,scaling_list_chroma_present_flag的值可以与ChromaArrayType的值解耦。
a.对于不同颜色分量(例如,亮度块和色度块)是否使用显式缩放列表或默认缩放列表的指示可以单独信令通知/控制。
i.在一个示例中,可将语法元素(例如,一个或多个标志)添加到SPS/PPS/PH/SH以规定是否为亮度分量和/或色度分量启用用户定义的缩放列表(也称为显式缩放列表)。
ii.例如,可以在SPS中添加一个标志,以使亮度变换系数能够在平面量化(默认缩放列表)和用户定义的缩放列表之间切换。
iii.例如,可以在SPS中添加一个或多个标志,以使色度-U和/或色度-V变换系数能够在平坦量化(默认缩放列表)和用户定义的缩放列表之间切换。
b.例如,当ChromaArrayType等于0时,scaling_list_chroma_present_flag可以等于1。
i.在一个示例中,对于4:0:0色度格式的编解码图片,可以在APS中信令通知N(例如N=28)组缩放矩阵。
ii.在一个示例中,对于具有等于1的separate_colour_plane_flag的4:4:4色度格式的编解码图片,可以在APS中信令通知M(例如M=28)组缩放矩阵。
a)例如,在separate_colour_plane_flag等于1并且M(例如M=28)组缩放矩阵在APS中被信令通知的情况下,Y(亮度)、U(Cb)和V(Cr)通道变换系数中的每一个可以被视为亮度-Y通道,并且Y、U和V变换系数的缩放矩阵标识符变量id是关于颜色分量等于Y分量(例如值0)导出的。
b)或者,在separate_colour_plane_flag等于1并且M(例如M=28)组缩放矩阵在APS中被信令通知的情况下,亮度-Y变换系数的缩放矩阵标识符变量id是关于颜色分量等于Y分量(例如值0)导出的,而色度-U的缩放矩阵标识符变量id是关于颜色分量等于U分量(例如值1)导出的,并且色度-V的缩放矩阵标识符变量id是关于颜色分量等于V分量(例如值2)而导出的。
c.例如,当ChromaArrayType等于1时,scaling_list_chroma_present_flag可以等于0。
i.在一个示例中,色度变换系数是否被允许使用用户定义的缩放列表可以取决于scaling_list_chroma_present_flag的值。
a)例如,当scaling_list_chroma_present_flag等于0时,无论sps_scaling_list_enabled_flag、ph_scaling_list_enabled_flag和slice_scaling_list_enabled_flag的值如何,都不允许将用户定义的缩放列表用于色度变换系数(例如,用于规定用户定义的缩放列表用于色度的添加的标志的值需要等于某个数字,例如0或1)。
b)例如,当scaling_list_chroma_present_flag等于1时,可以允许用户定义的缩放列表用于色度变换系数。
ii.在一个示例中,对于4:2:0和/或4:2:2色度格式和/或4:4:4色度格式的编解码图片(其中separate_colour_plane_flag等于0),可以在APS中信令通知N(例如N=10)组缩放矩阵。
a)例如,在ChromaArrayType大于0并且在APS中信令通知N(例如N=10)组缩放矩阵的情况下,U和/或V变换系数的缩放矩阵可以从信令通知的Y变换系数的N组缩放矩阵中导出。
b)或者,在ChromaArrayType大于0并且在APS中信令通知N(例如N=10)组缩放矩阵的情况下,U和/或V变换系数可以不使用用户定义的缩放列表(相反,U和/或V变换系数可以使用具有默认缩放因子的平坦量化)。
d.例如,关于基于ChromaArrayType的scaling_list_chroma_present_flag的语义约束可以不与语法元素scaling_list_chroma_present_flag相关联,例如如下:
scaling_list_chroma_present_flag等于1规定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0规定色度缩放列表不存在于scaling_list_data()中。[[比特流一致性的要求是,当ChromaArrayType等于0时scaling_list_chroma_present_flag应等于0,并且当ChromaArrayType不等于0时scaling_list_chroma_present_flag应等于1。]]
e.例如,关于基于ChromaArrayType的scaling_list_chroma_present_flag的语义约束可以被更改如下:
scaling_list_chroma_present_flag等于1规定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0规定scaling_list_data()中不存在色度缩放列表。比特流一致性的要求是,当ChromaArrayType等于0时,scaling_list_chroma_present_flag应等于0
Figure BDA0003842891790001353
Figure BDA0003842891790001351
5)或者,可以添加与PH和/或SH语法元素相关联的约束,以根据由PH/SH语法元素导出的ChromaArrayType将scaling_list_chroma_present_flag的值约束到某个值(例如0或1),例如如下:
在一个示例中,ph_scaling_list_aps_id的语义被更改如下:
ph_scaling_list_aps_id规定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001352
或者,ph_scaling_list_aps_id的语义更改如下:
ph_scaling_list_aps_id规定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001361
或者,ph_scaling_list_aps_id的语义更改如下:
ph_scaling_list_aps_id规定缩放列表APS的adaptation_parameter_set_id。aps_params_type等于SCALING_APS且adaptation_parameter_set_id等于ph_scaling_list_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001362
并且APS SE的语义被更改如下:
scaling_list_chroma_present_flag等于1规定色度缩放列表存在于scaling_list_data()中。scaling_list_chroma_present_flag等于0规定scaling_list_data()中不存在色度缩放列表。[[比特流一致性的要求是,当ChromaArrayType等于0时scaling_list_chroma_present_flag应等于0,并且当ChromaArrayType不等于0时scaling_list_chroma_present_flag应等于1。]]
2.关于在ChromaArrayType等于0的情况下不必要的色度相关APS语法元素信令通知,并且为了解决第二个问题,公开了以下方法中的一种或多种:
1)在一个示例中,语法元素(例如,标志)可以被添加到APS语法结构lmcs_data(),以便控制与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等)的存在
a.例如,当ChromaArrayType等于0时,要求不允许信令通知与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等),例如,要求添加的标志等于某个值,例如0或1。
b.例如,当ChromaArrayType不等于0时,需要信令通知与色度残差缩放相关的APS语法元素(例如,lmcs_delta_abs_crs、lmcs_delta_sign_crs_flag等),例如,需要添加的标志等于某个值,例如0或1。
c.例如,当前条带是否被允许使用色度残差缩放可取决于添加的标志,例如,如果添加的标志指示不信令通知与色度残差缩放相关的APS语法元素,那么将从不使用色度残差缩放,而无论sps_lmcs_enabled_flag、ph_lmcs_enabled_flag、ph_chroma_residual_scale_flag和sh_lmcs_enabled_flag的值如何。
2)可以在PH/SH/APS语法元素的语义下添加比特流约束,以约束关于ChromaArrayType的值的lmcs_delta_abs_crs的值,例如如下:
ph_lmcs_aps_id规定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001371
或者,ph_lmcs_aps_id的语义更改如下:
ph_lmcs_aps_id规定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001372
或者,ph_lmcs_aps_id的语义更改如下:
ph_lmcs_aps_id规定与PH相关联的条带所参考的LMCS APS的adaptation_parameter_set_id。aps_params_type等于LMCS_APS且adaptation_parameter_set_id等于ph_lmcs_aps_id的APS NAL单元的TemporalId应小于或等于与PH相关的图片的TemporalId。
Figure BDA0003842891790001373
Figure BDA0003842891790001381
3.在上述示例中,术语“ChromaArrayType”可以替换为“检查颜色格式等于4:0:0”。
4.关于使用RRC和TSRC来解决第三个问题,公开了以下方法中的一种或多种:
1)TSRC启用/禁用标志(例如,slice_ts_residual_coding_disabled_flag)的信令通知可以以是否启用了变换跳过(例如,SPS中的sps_transform_skip_enabled_flag)为条件。
a.在一个示例中,可以应用以下内容:
Figure BDA0003842891790001382
b.或者,此外,当slice_ts_residual_coding_disabled_flag不存在时,推断其等于1。
2)或者,TSRC启用标志(例如,slice_ts_residual_coding_disabled_flag)的值可以受SPS中的sps_transform_skip_enabled_flag约束,例如,slice_ts_residual_coding_disabled_flag的语义可以被更改如下:
slice_ts_residual_coding_disabled_flag等于1规定residual_coding()语法结构用于解析当前条带的变换跳过块的残差样点。slice_ts_residual_coding_disabled_flag等于0规定residual_ts_coding()语法结构用于解析当前条带的变换跳过块的残差样点。当[[slice_ts_residual_coding_disabled_flag]]
Figure BDA0003842891790001383
[[不存在]]
Figure BDA0003842891790001384
Figure BDA0003842891790001385
[[其被推断为]]等于[[0]]
Figure BDA0003842891790001386
3)或者,如果TSRC启用标志(例如,slice_ts_residual_coding_disabled_flag)的信令通知不以任何其他语法元素为条件,则它可以总是存在,例如,slice_ts_residual_coding_disabled_flag的语义可以被更改如下:
slice_ts_residual_coding_disabled_flag等于1规定residual_coding()语法结构用于解析当前条带的变换跳过块的残差样点。slice_ts_residual_coding_disabled_flag等于0规定residual_ts_coding()语法结构用于解析当前条带的变换跳过块的残差样点。[[当slice_ts_residual_coding_disabled_flag不存在时,其被推断等于0。]]
4)另外,此外,TSRC可以应用于非变换跳过(非TS)编解码块。
a.在一个示例中,可以添加一个或多个语法标志来规定是否为非TS块启用TSRC或RRC。
i.在一个示例中,可添加一个或多个块级别(CTU/CU/TU)语法标志以规定当前视频单元是否使用TSRC或RRC。
ii.另外,或者,可以添加一个或多个高级别(SPS/PPS/PH/SH)语法标志来规定视频单元是否允许TSRC。
b.在一个示例中,是否对非TS编解码的块使用TSRC或者是否允许对非TS编解码的块使用TSRC可以取决于编解码信息,例如块的QP值。
i.在一个示例中,对于QP等于或不大于X(例如X=4)的非TS块,可以允许使用TSRC或RRC进行残差编解码。
5.关于用于解决第四个问题的亮度块的cu qp增量的开/关控制,公开了以下方法中的一种或多种:
a.可以添加SH级别语法元素(例如,由slice_cu_qp_delta_enabled_flag表示的标志)来控制特定条带的cu qp增量的启用和/或禁用。
i.在一个示例中,建议的slice_cu_qp_delta_enabled_flag的存在以PPS中的cu_qp_delta_enabled_flag为条件,例如,仅当PPS中的cu_qp_delta_enabled_flag等于1时,建议的slice_cu_qp_delta_enabled_flag被信令通知,否则(PPS中的cu_qp_delta_enabled_flag等于0),建议的slice_cu_qp_delta_enabled_flag不被信令通知并且被推断为等于0。
a)或者,建议的slice_cu_qp_delta_enabled_flag的值受PPS中的cu_qp_delta_enabled_flag的值约束,即,当PPS中的cu_qp_delta_enabled_flag等于0时,建议的slice_cu_qp_delta_enabled_flag的值应该等于0。
ii.在一个示例中,PPS中的cu_qp_delta_enabled_flag可用于控制SH中SH级别cuqp增量启用标志的存在,和/或变换单元语法和调色板编解码语法中cu_qp_delta_abs和/或cu_qp_delta_sign_flag的存在。
iii.在一个示例中,语法结构可以被更改如下:
PPS语法结构更改如下:
Figure BDA0003842891790001401
pps_cu_qp_delta_enabled_flag等于1规定ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的PH中并且cu_qp_delta_abs可能存在于变换单元语法
Figure BDA0003842891790001402
Figure BDA0003842891790001403
中。pps_cu_qp_delta_enabled_flag等于0规定参考PPS的PH中不存在ph_cu_qp_delta_subdiv_intra_slice和ph_cu_qp_delta_subdiv_inter_slice语法元素,并且变换单元
Figure BDA0003842891790001404
Figure BDA0003842891790001405
中不存在cu_qp_delta_abs。
并且PH语法结构被更改如下:
Figure BDA0003842891790001406
Figure BDA0003842891790001411
并且SH语法结构更改如下:
Figure BDA0003842891790001412
Figure BDA0003842891790001413
b.此外,语法结构palette_coding()和/或语法结构transform_unit()中cu_qp_delta_abs的存在以建议的slice_cu_qp_delta_enabled_flag为条件,例如,仅当建议的slice_cu_qp_delta_enabled_flag的值等于1时,cu_qp_delta_abs被信令通知;否则(建议的slice_cu_qp_delta_enabled_flag等于0),cu_qp_delta_abs的值不被信令通知并被推断为等于0。
或者,色度cu qp偏移可以不由条带级别开/关标志来控制,例如,色度cu qp偏移是否应用于当前条带可以取决于PH/PPS/SPS级别标志。
c.或者,可添加PH级别语法元素(例如,由ph_cu_qp_delta_enabled_flag表示的标志)来控制特定条带的cu qp增量的启用和/或禁用。
6.关于PPS SE single_slice_per_subpic_flag、num_slices_in_pic_minus1、tile_idx_delta_present_flag的设计,并且为了解决第五个问题,公开了以下方法中的一种或多种:
a.在一个示例中,可以向PH/SH/PPS语法元素的语义添加约束,例如如下:
ph_pic_parameter_set_id为正在使用的PPS规定pps_pic_parameter_set_id的值。ph_pic_parameter_set_id的值应在0到63(包括端值)的范围内。
比特流一致性的要求是,PH的TemporalId的值应大于或等于pps_pic_parameter_set_id等于ph_pic_parameter_set_id的PPS的TemporalId的值。
Figure BDA0003842891790001421
b.在一个示例中,single_slice_per_subpic_flag的语义可以被更改如下:
single_slice_per_subpic_flag等于1规定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0规定,
Figure BDA0003842891790001422
Figure BDA0003842891790001423
则每个子图片可能由一个或多个矩形条带组成,
Figure BDA0003842891790001424
Figure BDA0003842891790001425
Figure BDA0003842891790001426
当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
c.在一个示例中,可以将约束添加到single_slice_per_subpic_flag的语义,例如如下:
single_slice_per_subpic_flag等于1规定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0规定每个子图片可以由一个或多个矩形条带组成。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
Figure BDA0003842891790001427
d.此外,或者,可以将约束添加到single_slice_per_subpic_flag的语义中,例如,如下:
single_slice_per_subpic_flag等于1规定每个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0规定每个子图片可以由一个或多个矩形条带组成。当不存在时,single_slice_per_subpic_flag的值被推断为等于0。
Figure BDA0003842891790001431
e.在一个示例中,约束的是,当每个子图片由一个且仅一个矩形条带组成时,single_slice_per_subpic_flag应该等于1。
f.另外,或者,PPS语法元素tile_idx_delta_present_flag的存在可以不基于num_slices_in_pic_minus1来调节,例如,如下:
[[if(num_slices_in_pic_minus1>0)]]
tile_idx_delta_present_flag u(1)
g.在一个示例中,约束的是,当single_slice_per_subpic_flag等于1时,num_slices_in_pic_minus1应当等于sps_num_subpics_minus1。
h.此外,或者,PPS语法元素num_slices_in_pic_minus1可以被更改为num_slices_in_pic_minus2。
i.另外,基于num_slices_in_pic_minus2来调节tile_idx_delta_present_flag的存在,例如如下:
num_slices_in_pic_minus[[1]]2 ue(v)
[[if(num_slices_in_pic_minus1>0)]]
tile_idx_delta_present_flag u(1)
num_slices_in_pic_minus[[1]]2加[[1]]2规定参考PPS的每个图片中矩形条带的数量。num_slices_in_pic_minus[[1]]2的值应在0到MaxSlicesPerPicture-[[1]]2(包括端值)的范围内,其中MaxSlicesPerPicture在附录A中规定。
Figure BDA0003842891790001432
Figure BDA0003842891790001433
当no_pic_partition_flag等于1时,
Figure BDA0003842891790001434
Figure BDA0003842891790001435
的值
Figure BDA0003842891790001436
[[num_slices_in_pic_minus1被推断为等于0]]。当single_slice_per_subpic_flag等于1时,
Figure BDA0003842891790001437
[[num_slices_in_pic_minus1被推断]]
Figure BDA0003842891790001438
为等于sps_num_subpics_minus1-
Figure BDA0003842891790001439
此外,VVC草案文本中所有其他地方的“num_slices_in_pic_minus1”替换为“NumSlicesInPic-1”。
7.关于用于解决第六个问题的条带和片布局的信令通知,公开了以下方法中的一种或多种:
a.可在PPS中添加语法元素(例如,一个或多个标志)以规定图片是否被划分为多个片行/片列,其中前几个片行/片列具有相同高度,并且最后几个片行/片列具有不同高度/宽度。
例如,建议的语法标志取决于no_pic_partition_flag和/或显式片行/片列的数量(例如num_exp_tile_columns_minus1和/或num_exp_tile_rows_minus1),例如如下:
Figure BDA0003842891790001441
Figure BDA0003842891790001442
Figure BDA0003842891790001451
ii.此外,当建议的语法标志等于1时,根据建议的语法标志的值导出片列宽度和/或片行高度,例如如下:
变量NumTileColumns规定片列的数量,并且i的范围从0到NumTileColumns–1(包括端值)的列表colWidth[i]规定第i个片列的以CTB为单位的宽度,导出如下:
Figure BDA0003842891790001452
变量NumTileRows规定片行的数量,并且j的范围从0到NumTileRows-1(包括端值)的列表RowHeight[j]规定第j个片行的以CTB为单位的高度,导出如下:
Figure BDA0003842891790001453
Figure BDA0003842891790001461
b.另外,同样地,在片由多个条带划分的情况下(在此情况下,条带尺寸小于片尺寸),语法元素(例如,一个或多个标志)可被添加到PPS中以规定片是否被划分为多个条带行,其中前几个条带行具有相同高度且最后几个条带行具有不同高度。
i.此外,当建议的语法标志等于1时,根据建议的语法标志的值导出条带高度(例如SliceHeightInCtusMinus1)。
8.关于没有ALF APS来解决第七个问题的情况,公开了以下方法中的一种或多种:
a.在一个示例中,当没有ALF APS时(例如,no_aps_constraint_flag等于1,或者具有所需APS ID的APS不可用),则可能不允许ALF(在这种情况下,sps_alf_enabled_flag和sps_ccalf_enabled_flag需要等于0)。
b.在一个示例中,当没有ALF APS时(例如,no_aps_constraint_flag等于1,或者具有所需APS ID的APS不可用),则ALF仍可被允许(在这种情况下,sps_alf_enabled_flag被允许等于0或1)。
i.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1)时,ph_alf_enabled_flag和/或slice_alf_enabled_flag被允许等于0或1。
ii.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1)时,不允许色度ALF和CC-ALF,但是可以使用具有固定滤波器的亮度ALF。
iii.例如,当没有ALF APS时(例如,no_aps_constraint_flag等于1)时,要求ph_num_alf_aps_ids_luma、ph_alf_chroma_idc、slice_num_alf_aps_ids_luma、slice_alf_chroma_idc、sps_ccalf_enabled_flag的值等于0。
c.在一个示例中,当GCI语法元素no_alf_constraint_flag等于1时,则不允许ALF和/或CCALF(在这种情况下,sps_alf_enabled_flag和/或sps_ccalf_enabled_flag需要等于0)。
d.或者,此外,是否信令通知要使用的ALF APS的数量(例如,ph_num_alf_aps_ids_luma)和/或ALF/CC-ALF APS索引(例如,ph_alf_aps_id_luma、ph_alf_aps_id_chroma、ph_cc_alf_cb_aps_id、ph_cc_alf_cr_aps_id)可取决于ALF APS是否被允许(例如,no_aps_constraint_flag)。
i.在一个示例中,当没有应用ALF APS时,可以不信令通知该信息。
e.在一个示例中,可以在SPS/PPS/PH/SH/GCI中信令通知新的语法元素,以禁用ALF、和/或CCALF、和/或LMCS、和/或用户定义的缩放列表。
9.关于用于解决第八个问题的一致性窗口参数的信令通知:
a.在一个示例中,当pic_width_in_luma_samples等于pic_width_max_in_luma_samples并且pic_height_in_luma_samples等于pic_height_in_luma_samples时,PPS中一致性窗口参数(即,pps_conformance_window_flag、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset)的信令通知可以被跳过。
i.在一个示例中,可将标志添加到PPS语法,并且当此标志的值等于X(0或1)时,规定pic_width_in_luma_samples等于pic_width_max_in_luma_samples且pic_height_in_luma_samples等于pic_height_max_in_luma_samples,并且当此标志的值等于1–X时,规定pic_width_in_luma_samples小于pic_width_max_in_luma_samples或pic_height_in_luma_samples小于pic_height_max_in_luma_samples。但是,注意的是,即使在pic_width_in_luma_samples等于pic_width_max_in_luma_samples且pic_height_in_luma_samples等于pic_height_max_in_luma_samples的情况下,仍需要在PPS中信令通知pic_width_in_luma_samples和pic_height_in_luma_samples,以避免解析PPS对SPS的依赖性。
此外,当上述标志等于X时,PPS中的一致性窗口参数的信令通知(即,pps_conformance_window_flag、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset和pps_conf_win_bottom_offset)被跳过,此外,参数的值被推断为等于SPS中的参数的值(即,sps_conformance_window_flag、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset),
图1是可实现本文中所公开的各种技术的示例视频处理系统1900的框图。各种实现方式可以包括系统1900中的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统1900可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以减少从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储或经由所连接的通信来发送,如组件1906所表示的。在输入1902处接收的视频的存储或通信的比特流(或编解码表示)可以由组件1908使用,以生成被发送到显示接口1910的像素值或可显示视频。从比特流中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的设备。
图2是视频处理装置3600的框图。装置3600可以用于实现本文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理电路3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路3606可以用于在硬件电路中实现本文档中所描述的一些技术。
图4是示出可利用本公开的技术的示例视频编解码系统100的框图。
如图4所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外置显示设备相接的目的地设备120外部。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4中示出的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图5的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图5的示例中分开表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整个像素精度)。
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻域视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不进行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
所公开的技术的一些实施例包括作出决定或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现该工具或模式,但不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当基于该决定或确定来启用视频处理工具或模式时,从视频的块到视频的比特流(或比特流表示)的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已基于视频处理工具或模式被修改的情况下处理比特流。即,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流到视频的块的转换。
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4中示出的系统100中的视频解码器114。
视频解码器300可以被配置为进行本公开的任何或全部技术。在图6的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图5)所描述的编码过程总体反演的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(即去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块化滤波器还可以应用于滤波解码块以便移除块化伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目1)。
1.一种视频处理方法(例如,图3中描绘的方法300),包括在视频的视频区域与视频的编解码表示之间执行转换(302);其中编解码表示符合格式规则;其中所述格式规则规定指示视频中的颜色分量的缩放列表是否被包括在自适应参数集中的标志独立于序列参数集中的语法字段值。
2.根据解决方案1所述的方法,其中,格式规则规定在自适应参数集中包括用于标识序列参数集的字段。
3.根据解决方案1所述的方法,其中,格式规则规定自适应参数集与序列参数集或图片参数集的视频参数集之间的隐式关系,其控制缩放列表包含在编解码表示中。
4.根据解决方案1-3中任一项所述的方法,其中,格式规则规定用于包含在转换期间使用的用户定义的或显式缩放列表的格式。
5.根据解决方案1-4中任一项所述的方法,其中,格式规则规定在编解码表示中包含标志独立于包含指示色度分量的数组类型的语法元素。
6.根据解决方案5所述的方法,其中,标志指示包括缩放列表,并且指示色度分量的数组类型的语法元素被设置为零。
7.根据解决方案5所述的方法,其中,标志指示排除缩放列表,并且指示色度分量的数组类型的语法元素被设置为1。
8.根据解决方案1所述的方法,其中,格式规则规定标志受约束规则约束以依赖于图片标头或条带标头。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目2)。
9.一种视频处理的方法,包括:在视频的视频区域与视频区域的编解码表示之间执行转换;其中编解码表示符合格式规则;其中格式规则规定一个或多个自适应参数集被包括在编解码表示中,使得对于每个自适应参数集,由于对视频的色度约束,色度相关的语法元素被省略。
10.根据解决方案9所述的方法,其中,对于每个自适应参数集,语法元素信令通知色度相关的语法元素是否包括在自适应参数集中。
11.根据解决方案9所述的方法,其中,格式规则规定当且仅当色度约束指示视频的编解码表示中存在色度时,有条件地包括图片标头或条带标头或自适应参数集中的色度相关字段。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目3)。
12.根据权利要求9-11中任一项所述的方法,其中,色度约束是色度数组类型等于零。
13.根据解决方案9-11中任一项所述的方法,其中,色度约束是视频的格式等于4:0:0。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目4)。
14.一种视频处理方法,包括:在包括一个或多个视频区域的视频与该视频的编解码表示之间执行转换,该一个或多个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定第一变换编解码语法字段是否包含在视频区域的视频单元的级别的编解码表示中和/或其值取决于视频区域的级别的第二变换编解码语法字段的值。
15.根据解决方案14所述的方法,其中,第一变换编解码语法字段是slice_ts_residual_coding_disabled_flag,并且其中第二变换编解码语法字段是sps_transform_skip_enabled_flag。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目5)。
16.一种视频处理方法,包括:在包括一个或多个视频区域的视频与视频的编解码表示之间执行转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定视频单元级别的标志控制是否为该转换启用量化参数的差分信令通知。
17.根据解决方案16所述的方法,其中,视频单元级别的标志控制编解码单元或变换单元级别的第二标志是否被包括用于信令通知使用差分量化参数信令通知。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目6)。
18.一种视频处理方法,包括:在包括一个或多个视频区域的视频与视频的编解码表示之间执行转换,每个视频区域包括一个或多个视频单元;其中编解码表示符合格式规则;其中格式规则规定了指示子图片的数量的图片级别的第一标志和指示子图片中的条带的数量的子图片级别的第二标志的解释。
19.根据解决方案18所述的方法,其中,格式规则规定,如果第一标志被设置为1,并且第二标志被设置为1,则图片中的至少一个子图片包括多个条带。
20.根据解决方案18所述的方法,其中,格式规则规定由于第一标志是零并且在每个图片中有单个条带,第二标志必须被设置为1。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目7)。
21.一种视频处理的方法,包括:在包括一个或多个视频图片的视频与该视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中,格式规则规定与视频图片相关联的图片参数集中的字段指示视频图片是否被划分成不同高度或宽度的多个片行或片列。
22.根据解决方案21所述的方法,其中,编解码表示中的第二字段指示视频图片的片是否被划分为具有不同高度的多个条带行。
23.根据解决方案22所述的方法,其中,第二字段指示多个条带行的条带高度。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目8)。
24.一种视频处理的方法,包括:在包括一个或多个视频图片的视频与该视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中,格式规则规定在自适应参数集排除自适应环路滤波的指示的情况下,自适应环路滤波对视频区域的适用性基于第二规则。
25.根据解决方案24所述的方法,其中,第二规则规定为视频区域禁用自适应环路滤波。
26.根据解决方案24所述的方法,其中,第二规则规定基于序列参数集级别的标志的值有条件地允许自适应环路滤波。
以下解决方案示出了上一章节中讨论的技术的示例实施例(例如,项目9)。
27.一种视频处理的方法,包括:在包括一个或多个视频图片的视频与该视频的编解码表示之间执行转换,每个视频图片包括一个或多个条带和/或一个或多个片;其中编解码表示符合格式规则;其中,格式规则规定对于具有视频的宽度和高度、最大宽度和最大高度的图片,跳过图片参数集中的一致性窗口参数的显式信令通知。
28.根据解决方案27所述的方法,其中,格式规则进一步规定在跳过显式信令通知的情况下,包括指示宽度和高度是否等于最大宽度和最大高度的标志。
29.根据解决方案1-28中任一项所述的方法,其中,视频区域包括视频图片。
30.根据解决方案1-29中任一项所述的方法,其中,视频单元包括视频条带或视频编解码单元。
31.根据解决方案1至30中任一项所述的方法,其中,转换包括将视频编码成编解码表示。
32.根据解决方案1至30中任一项所述的方法,其中,转换包括解码编解码表示以生成视频的像素值。
33.一种视频解码装置,包括被配置为实现解决方案1至32中的一个或多个中所述的方法的处理器。
34.一种视频编码装置,包括被配置为实现解决方案1至32中的一个或多个中所述的方法的处理器。
35.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使该处理器实现解决方案1至32中任一项所述的方法。
36.本文档中描述的方法、装置或系统。
图7是视频处理的示例方法700的流程图。操作702包括根据规则在包括视频单元的视频与视频的比特流之间执行转换,其中,规则规定在自适应参数集(APS)中是否包括与视频的缩放列表相关的信息或在自适应参数集(APS)中如何包括与视频的缩放列表相关的信息是基于第一语法元素并且独立于序列参数集(SPS)中的一个或多个语法元素,第一语法元素指示APS是否包括色度分量相关的语法元素。
在方法700的一些实施例中,与缩放列表相关的信息包括颜色分量的缩放列表是否包括在APS中。在方法700的一些实施例中,规则规定在APS中包括一个或多个字段,用于标识视频参数集(VPS)、SPS和图片参数集(PPS)中的任何一个或多个。在方法700的一些实施例中,规则规定APS包括指示与APS相关联的SPS的字段,其中字段的值在从0到15(包括端值)的范围内,并且其中字段的值在由编解码层视频序列(CLVS)中的一个或多个视频图片参考的所有APS中是相同的。在方法700的一些实施例中,规则规定第二语法元素是否包括在APS中是基于指示APS是否包括色度分量相关的语法元素的第一语法元素的值,并且其中第二语法元素规定缩放列表的值是否与参考缩放列表的值相同。在方法700的一些实施例中,规则规定导出APS与视频参数集(VPS)、SPS和图片参数集(PPS)中的任何一个或多个之间的隐式关系。
在方法700的一些实施例中,规则规定当APS被视频单元的标头参考时,并且当视频单元依赖于VPS、SPS和PPS中的任何一个或多个时,APS隐式地与VPS、SPS和PPS中的任何一个或多个相关联。在方法700的一些实施例中,视频单元的标头包括图片标头或条带标头。在方法700的一些实施例中,规则规定将包含缩放列表的平坦量化应用于视频的色度视频块,而与用户定义的缩放列表是否应用于视频的亮度视频块无关。在方法700的一些实施例中,规则规定排除视频的色度视频块的显式缩放列表的比特流不取决于包括视频的亮度视频块的显式缩放列表的比特流。在方法700的一些实施例中,规则规定SPS中的一个或多个语法元素包含用以指示显式缩放列表是否用于特定视频单元的标志。在方法700的一些实施例中,特定视频单元包括用低频不可分变换编解码的视频块。
在方法700的一些实施例中,规则规定第一语法元素是否包括在APS中独立于指示缩放列表是否存在于APS中的标志的值。在方法700的一些实施例中,规则规定在APS中单独指示或控制对视频的不同颜色分量是否使用显式缩放列表或默认缩放列表。在方法700的一些实施例中,规则规定将至少一个语法元素添加到SPS或图片参数集(PPS)或图片标头(PH)或条带标头(SH)以规定是否为视频的亮度分量和/或视频的色度分量启用显式缩放列表。在方法700的一些实施例中,规则规定SPS中的一个或多个语法元素包含用以指示对视频的亮度变换系数是否使用平坦量化或显式缩放列表的标志。在方法700的一些实施例中,规则规定SPS中添加的一个或多个语法元素指示平坦量化和显式缩放列表是否用于色度-U和/或色度-V变换系数。在方法700的一些实施例中,规则规定当指示缩放列表是否存在于APS中的标志的值等于1时,第一语法元素等于0。在方法700的一些实施例中,规则还规定当视频的视频图片是4:0:0色度格式时,在APS中指示N组缩放矩阵。
在方法700的一些实施例中,规则还规定,当视频的视频图片是4:4:4色度格式时,并且当单独颜色平面标志指示4:4:4色度格式的三个颜色分量被单独编解码时,在APS中指示M组缩放矩阵。在方法700的一些实施例中,规则规定当单独颜色平面标志指示4:4:4色度格式的三个颜色分量被单独编解码并且M组缩放矩阵在APS被指示:(1)亮度、色度-U和色度-V变换系数中的每一个都被视为亮度-Y通道,并且(2)亮度、色度-U和色度-V变换系数具有相同的缩放矩阵标识符。在方法700的一些实施例中,规则规定当单独颜色平面标志指示4:4:4色度格式的三个颜色分量被单独编解码并且M组缩放矩阵在APS中被指示:(1)为亮度分量导出亮度变换系数的第一缩放矩阵标识符,(2)为色度-U分量导出色度-U变换系数的第二缩放矩阵标识符,并且(3)为色度-V分量导出色度-V变换系数的第三缩放矩阵标识符。在方法700的一些实施例中,规则规定当指示缩放列表是否存在于APS中的标志的值等于0时,第一语法元素等于1。在方法700的一些实施例中,规则还规定是否允许色度变换系数使用显式缩放列表是基于标志的值。
在方法700的一些实施例中,规则规定当标志的值等于0时,不允许将显式缩放列表用于色度变换系数,而不管指示是否为SPS、图片标头(PH)和条带标头(SH)启用缩放列表的语法元素的值。在方法700的一些实施例中,规则规定当标志的值等于1时,显式缩放列表被允许用于色度变换系数。在方法700的一些实施例中,规则还规定,当视频的视频图片具有4:2:0色度格式、4:2:2色度格式和/或4:4:4色度格式时,以及当单独颜色平面标志的值为0时,在APS中指示N组缩放矩阵。
在方法700的一些实施例中,规则还规定当第一语法元素大于0时,且当N组缩放矩阵在APS中被指示时,用于色度-U和/或色度-V变换系数的缩放矩阵是从用于亮度变换系数的APS中指示的N组缩放矩阵中导出的。在方法700的一些实施例中,规则还规定当第一语法元素大于0时,且当N组缩放矩阵在APS中被指示时,不允许色度-U和/或色度-V变换系数使用显式缩放列表,且允许色度-U和/或色度-V变换系数使用具有默认缩放因子的平坦量化。在方法700的一些实施例中,规则规定第一语法元素的第一值不依赖于指示缩放列表是否存在于APS中的标志的值。在方法700的一些实施例中,规则规定当指示缩放列表是否存在于APS中的标志的值等于1时,第一语法元素的第一值不需要为0。
在方法700的一些实施例中,规则规定指示缩放列表存在于APS中的标志的值是否基于第一语法元素的第一值,并且其中规则还规定第一语法元素的第一值是从由图片标头(PH)和/或条带标头(SH)中的一个或多个语法元素导出的一个或多个值中导出的。在方法700的一些实施例中,当第一语法元素的第一值为0时,指示缩放列表是否存在于APS中的标志的值为0,并且其中当第一语法元素的值为1时,指示缩放列表是否存在于APS中的标志的值为1。在方法700的一些实施例中,当第一语法元素的第一值为0时,指示缩放列表是否存在于APS中的标志的值不需要为0。在方法700的一些实施例中,当第一语法元素的第一值为0时,指示缩放列表是否存在于APS中的标志的值不需要为1。在方法700的一些实施例中,颜色分量是色度分量。在方法700的一些实施例中,第一语法元素指示相对于亮度采样的色度采样,且被称为色度分量的数组类型。在方法700的一些实施例中,其中第一语法元素等于0规定视频的颜色格式为4:0:0。
图8是视频处理的示例方法800的流程图。操作802包括根据规则在视频与视频的比特流之间执行转换,其中该规则规定语法元素被包括在自适应参数集(APS)中,并且其中该规则规定语法元素指示用于色度残差缩放的一个或多个语法元素是否被包括在APS中。
在方法800的一些实施例中,其中规则规定当语法元素的值指示APS排除色度分量相关的语法元素时,用于色度残差缩放的一个或多个语法元素不包括在APS中,并且其中规则规定APS中的语法元素指示用于色度残差缩放的一个或多个语法元素不包括在APS中。在方法800的一些实施例中,规则规定当语法元素的值指示APS包括色度分量相关的语法元素时,用于色度残差缩放的一个或多个语法元素被包括在APS中,并且其中规则规定APS中的语法元素指示用于色度残差缩放的一个或多个语法元素被包括在APS中。在方法800的一些实施例中,其中,规则规定是否允许视频的当前条带使用色度残差缩放取决于语法元素且不取决于一个或多个语法元素。在方法800的一些实施例中,其中,APS中用于色度残差缩放的语法元素指示与带有色度缩放的亮度映射(LMCS)相关的变量的绝对码字值。在方法800的一些实施例中,其中,APS中用于色度残差缩放的语法元素指示与带有色度缩放的亮度映射(LMCS)相关的变量的符号。
图9是视频处理的示例方法900的流程图。操作902包括根据规则在视频与视频的比特流之间执行转换,其中该规则规定用于色度残差缩放的一个或多个语法元素是否被包括在自适应参数集(APS)中是基于指示APS是否包括色度分量相关的语法元素的第一语法元素。
在方法900的一些实施例中,其中规则规定当第一语法元素的第一值等于0时,一个或多个语法元素中的第二语法元素的第二值等于0,其中第二语法元素与APS网络抽象层(NAL)单元相关联,其中APS NAL单元的APS参数的类型是带有色度缩放的亮度映射(LMCS)APS,并且其中APS NAL单元的APS的第一标识符等于由当前图片中的条带参考的图片标头(PH)中的第二标识符。在方法900的一些实施例中,规则规定当第一语法元素的第一值等于1时,一个或多个语法元素中的第二语法元素的第二值大于0,其中第二语法元素与APS网络抽象层(NAL)单元相关联,其中APS NAL单元的APS参数的类型是带有色度缩放的亮度映射(LMCS)APS,并且其中APS NAL单元的APS的第一标识符等于由当前图片中的条带参考的图片标头(PH)中的第二标识符。在方法900的一些实施例中,APS中用于色度残差缩放的第一语法元素指示与带有色度缩放的亮度映射(LMCS)相关的变量的绝对码字值。在(多个)方法700-900的一些实施例中,其中,规则规定第一语法元素或语法元素指示视频的颜色格式是4:0:0。
图10是视频处理的示例方法1000的流程图。操作1002包括根据规则在包括视频块的视频与视频的比特流之间执行转换,其中规则规定是否在条带标头(SH)中包含第一语法元素,第一语法元素指示是否为条带禁用基于变换跳过的残差编解码,并且其中规则规定是否将第一语法元素包含在SH中是选择性地基于序列参数集(SPS)中的第二语法元素,第二语法元素指示是否为视频块启用变换跳过(TS)模式。
在方法1000的一些实施例中,规则规定响应于第二语法元素指示TS模式被启用,第一语法元素被选择性地包括在SH中。在方法1000的一些实施例中,SPS中的第二语法元素指示指示变换跳过是否应用于视频块的标志是否存在于变换单元语法中。在方法1000的一些实施例中,规则规定响应于第二语法元素指示标志存在于变换单元语法中,第一语法元素被选择性地包括在SH中。在方法1000的一些实施例中,规则规定第一语法元素的第一值基于第二语法元素的第二值。在方法1000的一些实施例中,规则规定当第二语法元素的第二值为0时,第一语法元素的第一值为0。在方法1000的一些实施例中,规则还规定,响应于第一语法元素不基于任何其它语法元素,第一语法元素被包括在SH中。
在方法1000的一些实施例中,规则规定包括一个或多个语法元素以指示对于未启用变换跳过模式的视频块是否启用基于变换跳过的残差编解码或常规残差编解码。在方法1000的一些实施例中,规则规定一个或多个语法元素在视频块所属的视频段级别被指示。在方法1000的一些实施例中,视频段级别包括编解码树单元(CTU)、编解码单元(CU)或变换单元(TU)。在方法1000的一些实施例中,规则规定在SPS、图片参数集(PPS)、图片标头(PH)或SH中指示一个或多个语法元素,以指示是否为视频块禁用基于变换跳过的残差编解码。在方法1000的一些实施例中,规则规定当为视频块不启用TS模式时,是否为视频块启用基于变换跳过的残差编解码是基于与视频块相关联的编解码信息。在方法1000的一些实施例中,编解码信息包括视频块的量化参数(QP)值。在方法1000的一些实施例中,规则规定当QP值小于或等于数值X时,为视频块启用基于变换跳过的残差编解码或常规残差编解码(RRC)模式。在方法1000的一些实施例中,X等于4。
图11是视频处理的示例方法1100的流程图。操作1102包括根据规则在包括亮度块的视频与视频的比特流之间执行转换,其中规则规定条带标头(SH)是否包括第一语法元素是基于第二语法元素,并且其中第一语法元素指示是否为亮度块的特定条带的一个或多个编解码单元(CU)启用增量量化参数(QP)的使用。
在方法1100的一些实施例中,规则规定第一语法元素是否包括在SH中是基于包括在图片参数集(PPS)中的第二语法元素,第二语法元素指示是否为视频的一个或多个视频图片启用增量QP的使用。在方法1100的一些实施例中,规则规定当第二语法元素的第二值为0时,第一语法元素不包括在SH中并且被推断为具有第一值0,并且其中,规则规定当第二语法元素的第二值为1时,第一语法元素包括在SH中。在方法1100的一些实施例中,规则规定第一语法元素的第一值是基于第二语法元素的第二值。在方法1100的一些实施例中,规则规定包括在图片参数集(PPS)中的第二语法元素,第二语法元素指示是否为视频的一个或多个视频图片启用增量QP的使用,并且其中规则规定第二语法元素控制:(1)第一语法元素是否包括在SH中,和/或(2)变换单元语法和调色板编解码语法是否包括指示当前CU的QP值与CU的预测值之间的差的绝对值的第三语法元素和/或指示当前CU的QP值与CU的预测值之间的差的符号的第四语法元素。在方法1100的一些实施例中,规则规定图片参数集(PPS)包括:用ue(v)编解码的PPS的标识符,用se(v)编解码的初始值,指示参考PPS的每个条带的亮度QP,以及用u(1)编解码的第二语法元素,指示(1)ph_cu_qp_delta_subdiv_intra_slice语法元素和ph_cu_qp_delta_subdiv_inter_slice语法元素是否存在于参考PPS的一个或多个图片标头(PH)中,以及(2)指示当前CU的QP值与CU的预测值之间的差的绝对值的第三语法元素是否存在于变换单元语法和调色板编解码语法中,以及用u(1)编解码的第四语法元素,指示PPS中是否包括色度工具偏移相关的语法元素。
在方法1100的一些实施例中,规则规定,当第二语法元素的值为1时,ph_cu_qp_delta_subdiv_intra_slice语法元素和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的一个或多个PH中,并且第三语法元素存在于变换单元语法和调色板编解码语法中,并且其中规则规定当第二语法元素的值为0时,ph_cu_qp_delta_subdiv_intra_slice语法元素和ph_cu_qp_delta_subdiv_inter_slice语法元素不存在于参考PPS的一个或多个PH中,并且第三语法元素不存在于变换单元语法和调色板编解码语法中。在方法1100的一些实施例中,来自一个或多个PH的PH包括以下结构:
Figure BDA0003842891790001641
在方法1100的一些实施例中,规则规定当PPS中的第二语法元素指示(1)ph_cu_qp_delta_subdiv_intra_slice语法元素和ph_cu_qp_delta_subdiv_inter_slice语法元素存在于参考PPS的一个或多个PH中,以及(2)第三语法元素存在于变换单元语法和调色板编解码语法中时,SH包括指示第三语法元素是否存在于变换单元语法和调色板编解码语法中的第五语法元素。在方法1100的一些实施例中,规则规定当第五语法元素的值为1时,第三语法元素存在于变换单元语法和调色板编解码语法中,并且其中规则规定当第五语法元素的值为0时,第三语法元素不存在于变换单元语法和调色板编解码语法中。在方法1100的一些实施例中,规则规定第一语法元素控制指示当前CU的QP值与CU的预测值之间的差的绝对值的第三语法元素是否存在于变换单元语法和调色板编解码语法中。在方法1100的一些实施例中,规则规定当第一语法值的第一值为1时,第三语法元素被包括在变换单元语法和调色板编解码语法中,并且其中,规则规定当第一语法值的第一值为0时,第三语法元素不包括在变换单元语法和调色板编解码语法中。
在方法1100的一些实施例中,规则规定视频的色度块的cu_qp_offset语法元素不受SH的第一语法元素控制,并且规则规定色度块的cu_qp_offset语法元素是基于图片标头(PH)、图片参数集(PPS)或序列参数集(SPS)中指示的标志。在方法1100的一些实施例中,规则进一步规定图片标头(PH)包括控制是否为亮度块的特定条带的一个或多个CU启用增量QP的使用的标志。
图12是视频处理的示例方法1200的流程图。操作1202包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于指示视频图片的每个子图片仅包括一个矩形条带的第一语法元素:指示参考图片参数集(PPS)的每个视频图片中的矩形条带的数量的第二语法元素加1等于指示比特流的编解码层视频序列(CLVS)中的每个视频图片中的子图片的数量的第三语法元素加1。
在方法1200的一些实施例中,规则规定视频的第一视频图片和第二视频图片在以下情况下参考不同的图片参数集(PPS):(1)第三语法元素的值等于0,(2)第四语法元素指示矩形条带模式正用于参考PPS的每个视频图片,并且条带布局包括在PPS中,(3)第一视频图片仅包括一个条带,并且(4)第二视频图片包括多个条带。在方法1200的一些实施例中,规则规定当第三语法元素的值大于0时,视频图片的每个子图片包括一个或多个矩形条带,并且视频图片的多个子图片中的每一个不仅仅包括一个矩形条带,并且其中规则规定当第三语法元素的值等于0时,每个视频图片包括多个条带。在方法1200的一些实施例中,规则规定当第三语法元素的第二值等于0时,并且当参考PPS的每个视频图片仅包括一个条带时,第一语法元素的第一值等于1。在方法1200的一些实施例中,规则规定当第三语法元素的第二值大于0时,并且当参考PPS的每个视频图片仅包括一个条带时,第一语法元素的第一值等于1。
在方法1200的一些实施例中,规则规定当视频图片的每个子图片仅包括一个矩形条带时,第一语法元素的第一值等于1。在方法1200的一些实施例中,规则规定PPS中tile_idx_delta_present_flag语法元素的存在不是基于第二语法元素。在方法1200的一些实施例中,规则规定PPS中tile_idx_delta_present_flag语法元素的存在是基于第四语法元素,其中第四语法元素加2指示参考PPS的每个视频图片中的矩形条带的数量。在方法1200的一些实施例中,规则规定视频图片中的条带的数量等于第四语法元素加2。在方法1200的一些实施例中,规则规定当标志指示没有图片分割被应用于参考PPS的每个视频图片时,视频图片中的条带的数量等于1。在方法1200的一些实施例中,规则规定当第一语法元素具有值1时,视频图片中的条带的数量等于第二语法元素减1。
图13是视频处理的示例方法1300的流程图。操作1302包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定图片参数集(PPS)包括一个或多个语法元素,该一个或多个语法元素指示视频的视频图片是否被划分成具有相同高度的第一数量的片行或片列以及具有不同高度或宽度的第二数量的片行或片列,并且其中,在视频图片中,第一数量的片行或片列位于第二数量的片行或片列之前。
在方法1300的一些实施例中,规则规定当:(1)PPS中的标志指示没有图片分割被应用于参考PPS的每个视频图片,以及(2)PPS中的第一语法元素指示显式提供的片列宽度的数量减1大于1,PPS包括第二语法元素,第二语法元素指示视频图片是否被划分成两个以上的片列,其中第一数量的片列具有相同宽度,第二数量的片列具有不同宽度,并且其中,在视频图片中,第一数量的片列位于第二数量的片列之前。在方法1300的一些实施例中,规则规定当:(1)PPS中的标志指示没有图片分割被应用于参考PPS的每个视频图片,以及(2)PPS中的第三语法元素指示显式提供的片行高度的数量减1大于1,其中PPS包括第四语法元素,第四语法元素指示视频图片是否被划分成多于两个片行,其中第一数量的片行具有相同高度,第二数量的片行具有不同高度,并且其中,在视频图片中,第一数量的片行位于第二数量的片行之前。在方法1300的一些实施例中,规则规定分别基于第二语法元素和第四语法元素导出片列宽度和/或片行高度。
在方法1300的一些实施例中,规则规定当视频图片的片由多个条带划分时,PPS中的一个或多个语法元素包括指示片是否被导出为多个条带行的第一语法元素,其中第一数量的条带行具有相同高度,第二数量的条带行具有不同高度,并且其中,在片中,第一数量的条带行位于第二数量的条带行之前。在方法1300的一些实施例中,规则规定多个条带的条带高度是基于PPS中的第二语法元素的值导出的,其中第二语法元素指示视频图片是否被划分成多于两个片行,其中第一数量的片行具有相同高度,第二数量的片行具有不同高度,并且其中,在视频图片中,第一数量的片行位于第二数量的片行之前。
图14是视频处理的示例方法1400的流程图。操作1402包括根据规则在包括视频区域的视频与视频的比特流之间执行转换,其中规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集(APS)网络抽象层(NAL)单元而对视频区域允许自适应环路滤波操作。
在方法1400的一些实施例中,规则还规定一般约束语法元素等于1规定不存在包括自适应环路滤波数据的一个或多个APS NAL单元。在方法1400的一些实施例中,规则进一步规定序列参数集(SPS)包括第二语法元素,第二语法元素指示为编解码层视频序列(CLVS)启用自适应环路滤波操作。在方法1400的一些实施例中,规则进一步规定序列参数集(SPS)包括第二语法元素,第二语法元素指示为编解码层视频序列(CLVS)禁用自适应环路滤波操作。在方法1400的一些实施例中,规则进一步规定图片标头(PH)中的第二语法元素指示为视频区域所属的当前视频图片启用自适应环路滤波操作,和/或其中规则进一步规定条带标头(SH)中的第三语法元素指示为视频区域所属的当前条带的亮度分量和色度颜色分量启用自适应环路滤波操作。
在方法1400的一些实施例中,规则进一步规定图片标头(PH)中的第二语法元素指示为视频区域所属的当前视频图片禁用自适应环路滤波操作,和/或其中规则进一步规定条带标头(SH)中的第三语法元素指示为视频区域所属的当前条带的亮度分量和色度颜色分量禁用自适应环路滤波操作。在方法1400的一些实施例中,规则还规定为视频区域的色度颜色分量禁用自适应环路滤波操作,并且为视频区域禁用跨分量自适应环路滤波操作。在方法1400的一些实施例中,规则进一步规定自适应环路滤波操作用于视频区域的亮度分量。在方法1400的一些实施例中,规则进一步规定以下语法元素的值等于0:ph_num_alf_aps_ids_luma,ph_alf_chroma_idc,slice_num_alf_aps_ids_luma,slice_alf_chroma_idc和sps_ccalf_enabled_flag。
图15是视频处理的示例方法1500的流程图。操作1502包括根据规则在包括视频区域的视频与视频的比特流之间执行转换,其中规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集(APS)网络抽象层(NAL)单元,不允许对视频区域进行自适应环路滤波操作。
在方法1500的一些实施例中,规则进一步规定序列参数集(SPS)包括第二语法元素和第三语法元素,其中第二语法元素指示为编解码层视频序列(CLVS)禁用自适应环路滤波操作,并且其中第三语法元素指示为编解码层视频序列(CLVS)禁用跨分量自适应环路滤波操作。
图16是视频处理的示例方法1600的流程图。操作1602包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于具有值1的第一语法元素的第一值指示第二语法元素的第二值等于0,不允许自适应环路滤波操作或跨分量自适应环路滤波操作,其中规则规定一般约束信息语法结构包括第一语法元素,并且其中规则规定序列参数集(SPS)中具有值0的第二语法元素指示为视频的所有视频图片禁用跨分量自适应环路滤波操作。
在方法1600的一些实施例中,规则规定SPS中的第三语法元素的第三值为0指示为编解码层视频序列(CLVS)禁用ALF。
图17是视频处理的示例方法1700的流程图。操作1702包括根据规则在包括一个或多个视频图片的视频与视频的比特流之间执行转换,其中规则规定是否包括指示包括自适应环路滤波数据的自适应参数集(APS)的数量的一个或多个语法元素和/或指示自适应环路滤波操作或跨分量自适应环路滤波操作的APS标识符的一个或多个语法元素是基于指示包括自适应环路滤波数据的APS网络抽象层(NAL)单元是否存在于比特流中的第一语法元素的存在。
在方法1700的一些实施例中,规则规定响应于第一语法元素指示比特流中不存在包括自适应环路滤波数据的APS NAL单元而不包括一个或多个语法元素。在方法1700的一些实施例中,第一语法元素指示不存在具有网络抽象层(NAL)单元标头(NUH)的类型的NAL单元,NAL单元标头(NUH)的类型指示(1)NAL单元在视频区域的预测单元(PU)的第一视频编解码层(VCL)之前或者(2)NAL单元在视频区域的PU的最后一个VCL之后。
在方法1700的一些实施例中,一个或多个语法元素包括第二语法元素,第二语法元素指示包括自适应环路滤波数据并且由当前视频图片中的视频条带参考的APS的数量,并且其中第二语法元素包括在图片标头(PH)中。在方法1700的一些实施例中,一个或多个语法元素包括:第三语法元素,指示包括自适应环路滤波数据的第一APS的第一APS标识符,其中第一APS标识符由当前视频图片中的条带的亮度分量参考;或第四语法元素,指示包括自适应环路滤波数据的第二APS的第二APS标识符,其中第二APS标识符由当前视频图片中的条带的色度颜色分量参考;或第五语法元素,指示包括自适应环路滤波数据的第三APS的第三APS标识符,其中第三APS标识符由当前视频图片中的条带的Cb色度颜色分量参考;或第六语法元素,指示包括自适应环路滤波数据的第四APS的第四APS标识符,其中第四APS标识符由当前视频图片中的条带的Cr色度颜色分量参考,并且其中第三语法元素、第四语法元素、第五语法元素或第六语法元素包括在图片标头(PH)中。
图18是视频处理的示例方法1800的流程图。操作1802包括根据规则执行视频与视频的比特流之间的转换,其中规则规定在参数集或标头或语法结构中指示一个或多个语法元素,以指示禁用以下任何一个或多个:自适应环路滤波操作,跨分量自适应环路滤波操作,带有色度缩放的亮度映射(LMCS)操作,或者一个或多个用户定义的缩放列表。
在方法1800的一些实施例中,参数集包括序列参数集(SPS)或图片参数集(PPS)。在方法1800的一些实施例中,标头包括图片标头(PH)或条带标头(SH)。在方法1800的一些实施例中,语法结构包括一般约束信息语法结构。
图19是视频处理的示例方法1900的流程图。操作1902包括根据规则在包括视频图片的视频与视频的比特流之间执行转换,其中规则规定响应于以下情况,从图片参数集(PPS)中省略一组一致性窗口参数:参考PPS的每个视频图片的以亮度样点为单位的宽度等于由每个视频图片参考的序列参数集(SPS)中指示的以亮度样点为单位的最大图片宽度,以及参考PPS的每个视频图片的以亮度样点为单位的高度等于SPS中指示的以亮度样点为单位的最大图片高度。
在方法1900的一些实施例中,规则规定具有特定值的语法元素指示:(1)每个视频图片的宽度等于最大图片宽度,以及(2)每个视频图片的高度等于最大图片高度。在方法1900的一些实施例中,规则规定语法元素等于0,以响应:(1)指示每个视频图片的宽度的PPS语法元素的第一值等于指示最大图片宽度的SPS语法元素的第二值,以及(2)指示每个视频图片的高度的PPS语法元素的第三值等于指示最大图片高度的SPS语法元素的第四值。在方法1900的一些实施例中,语法元素规定在PPS中是否存在一致性裁剪窗口偏移参数。在方法1900的一些实施例中,规则规定PPS包括指示每个视频图片的宽度和每个视频图片的高度的语法元素。
在方法1900的一些实施例中,规则规定具有值1减去特定值的语法元素指示:(1)每个视频图片的宽度小于最大图片宽度,以及(2)每个视频图片的高度小于最大图片高度。在方法1900的一些实施例中,规则规定,响应于具有特定值的语法元素,一组一致性窗口参数不包括在PPS中。在方法1900的一些实施例中,一组一致性窗口参数包括:第一语法元素,指示一致性裁剪窗口偏移参数是否在PPS之后,以及四个附加语法元素,根据图片坐标中规定的矩形区域来指示编解码层视频序列(CLVS)中的视频图片的样点。在方法1900的一些实施例中,一组一致性窗口参数的值被推断为等于SPS中包括的第二组一致性窗口参数。在方法1900的一些实施例中,第二组一致性窗口参数包括:第六语法元素,指示一致性裁剪窗口偏移参数是否在SPS之后,四个附加语法元素,规定应用于一个或多个视频图片的裁剪窗口的坐标,一个或多个视频图片具有:(1)等于最大图片宽度的宽度,以及(2)等于最大图片高度的高度。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用标头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,例如一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (32)

1.一种视频处理的方法,包括:
根据规则执行在包括视频区域的视频与所述视频的比特流之间的转换,
其中,所述规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集APS网络抽象层NAL单元,对所述视频区域允许自适应环路滤波操作。
2.根据权利要求1所述的方法,其中,所述规则还规定一般约束语法元素等于1规定不存在包括所述自适应环路滤波数据的所述一个或多个APS NAL单元。
3.根据权利要求1所述的方法,其中,所述规则还规定序列参数集SPS包括第二语法元素,所述第二语法元素指示为编解码层视频序列CLVS启用所述自适应环路滤波操作。
4.根据权利要求1所述的方法,其中,所述规则还规定序列参数集SPS包括第二语法元素,所述第二语法元素指示为编解码层视频序列CLVS禁用所述自适应环路滤波操作。
5.根据权利要求1所述的方法,
其中,所述规则还规定图片标头PH中的第二语法元素指示为所述视频区域所属的当前视频图片启用所述自适应环路滤波操作,和/或
其中,所述规则还规定条带标头SH中的第三语法元素指示为所述视频区域所属的当前条带的亮度分量和色度颜色分量启用所述自适应环路滤波操作。
6.根据权利要求1所述的方法,
其中,所述规则还规定图片标头PH中的第二语法元素指示为所述视频区域所属的当前视频图片禁用所述自适应环路滤波操作,和/或
其中,所述规则还规定条带标头SH中的第三语法元素指示为所述视频区域所属的当前条带的亮度分量和色度颜色禁用所述自适应环路滤波操作。
7.根据权利要求1所述的方法,其中,所述规则还规定为所述视频区域的色度颜色分量禁用所述自适应环路滤波操作,并且为所述视频区域禁用跨分量自适应环路滤波操作。
8.根据权利要求1所述的方法,其中,所述规则还规定所述自适应环路滤波操作用于所述视频区域的亮度分量。
9.根据权利要求1所述的方法,其中,所述规则还规定以下语法元素的值等于0:
ph_num_alf_aps_ids_luma,
ph_alf_chroma_idc,
slice_num_alf_aps_ids_luma,
slice_alf_chroma_idc和
sps_ccalf_enabled_flag。
10.一种视频处理的方法,包括:
根据规则执行在包括视频区域的视频与所述视频的比特流之间的转换,
其中,所述规则规定响应于不存在包括自适应环路滤波数据的一个或多个自适应参数集APS网络抽象层NAL单元,不允许对所述视频区域进行自适应环路滤波操作。
11.根据权利要求10所述的方法,
其中,所述规则还规定序列参数集SPS包括第二语法元素和第三语法元素,
其中,所述第二语法元素指示为编解码层视频序列CLVS禁用所述自适应环路滤波操作,并且
其中,所述第三语法元素指示为编解码层视频序列CLVS禁用跨分量自适应环路滤波操作。
12.一种视频处理的方法,包括:
根据规则执行在包括视频图片的视频与所述视频的比特流之间的转换,
其中,所述规则规定响应于第一语法元素的第一值具有值1,并且具有值1的第一语法元素指示第二语法元素的第二值等于0,不允许自适应环路滤波操作或跨分量自适应环路滤波操作,
其中,所述规则规定一般约束信息语法结构包括所述第一语法元素,并且
其中,所述规则规定序列参数集SPS中具有值0的所述第二语法元素指示为所述视频的所有视频图片禁用所述跨分量自适应环路滤波操作。
13.根据权利要求12所述的方法,其中,所述规则规定所述SPS中的第三语法元素的第三值为0指示为编解码层视频序列CLVS禁用所述ALF。
14.一种视频处理的方法,包括:
根据规则执行包括一个或多个视频图片的视频与所述视频的比特流之间的转换,
其中,所述规则规定是否包括指示包括自适应环路滤波数据的自适应参数集APS的数量的一个或多个语法元素和/或指示自适应环路滤波操作或跨分量自适应环路滤波操作的APS标识符的一个或多个语法元素是基于指示包括所述自适应环路滤波数据的APS网络抽象层NAL单元是否存在于所述比特流中的第一语法元素的存在。
15.根据权利要求14所述的方法,其中,所述规则规定响应于所述第一语法元素指示所述比特流中不存在包括所述自适应环路滤波数据的所述APS NAL单元,不包括所述一个或多个语法元素。
16.根据权利要求14或15中任一项所述的方法,其中,所述第一语法元素指示不存在具有网络抽象层NAL单元标头NUH的类型的NAL单元,所述NAL单元标头NUH的类型指示(1)所述NAL单元在所述视频区域的预测单元PU的第一视频编解码层VCL之前或者(2)所述NAL单元在所述视频区域的所述PU的最后一个VCL之后。
17.根据权利要求14或15所述的方法,
其中,所述一个或多个语法元素包括第二语法元素,所述第二语法元素指示包括所述自适应环路滤波数据并且由当前视频图片中的视频条带参考的APS的所述数量,并且
其中,所述第二语法元素包括在图片标头PH中。
18.根据权利要求14或15中任一项所述的方法,其中,所述一个或多个语法元素包括:
第三语法元素,指示包括所述自适应环路滤波数据的第一APS的第一APS标识符,其中所述第一APS标识符由当前视频图片中的条带的亮度分量参考,或
第四语法元素,指示包括所述自适应环路滤波数据的第二APS的第二APS标识符,其中所述第二APS标识符由所述当前视频图片中的所述条带的色度颜色分量参考,或
第五语法元素,指示包括所述自适应环路滤波数据的第三APS的第三APS标识符,其中所述第三APS标识符由所述当前视频图片中的所述条带的Cb色度颜色分量参考,或
第六语法元素,指示包括所述自适应环路滤波数据的第四APS的第四APS标识符,其中所述第四APS标识符由所述当前视频图片中的所述条带的Cr色度颜色分量参考,并且
其中,所述第三语法元素、所述第四语法元素、所述第五语法元素或所述第六语法元素包括在图片标头PH中。
19.一种视频处理的方法,包括:
根据规则执行视频与所述视频的比特流之间的转换,
其中,所述规则规定在参数集或标头或语法结构中指示一个或多个语法元素,以指示禁用以下任何一个或多个:
自适应环路滤波操作,
跨分量自适应环路滤波操作,
具有色度缩放的亮度映射LMCS操作,或者
一个或多个用户定义的缩放列表。
20.根据权利要求19所述的方法,其中,所述参数集包括序列参数集SPS或图片参数集PPS。
21.根据权利要求19所述的方法,其中,所述标头包括图片标头或条带标头。
22.根据权利要求19所述的方法,其中,所述语法结构包括一般约束信息语法结构。
23.根据权利要求1至22中任一项所述的方法,其中,执行所述转换包括将所述视频编码成所述比特流。
24.根据权利要求1至22中任一项所述的方法,其中,执行所述转换包括基于所述视频生成所述比特流,并且所述方法还包括将所述比特流存储在非暂时性计算机可读记录介质中。
25.根据权利要求1至22中任一项所述的方法,其中,执行所述转换包括从所述比特流中解码所述视频。
26.一种视频解码装置,包括被配置为实现权利要求1至25中的一项或多项所述的方法的处理器。
27.一种视频编码装置,包括被配置为实现权利要求1至25中的一项或多项所述的方法的处理器。
28.一种其上存储有计算机指令的计算机程序产品,所述指令在由处理器执行时使所述处理器实现权利要求1至25中任一项所述的方法。
29.一种非暂时性计算机可读存储介质,存储根据权利要求1至25中任一项所述的方法生成的比特流。
30.一种存储指令的非暂时性计算机可读存储介质,所述指令使处理器实现权利要求1至25中任一项所述的方法。
31.一种比特流生成的方法,包括:
根据权利要求1至25中任一项所述的方法生成视频的比特流,以及
将所述比特流存储在计算机可读程序介质上。
32.根据本文档中描述的方法、装置、公开的方法或系统生成的比特流。
CN202180020877.5A 2020-03-11 2021-03-11 自适应环路滤波 Pending CN115462071A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020078770 2020-03-11
CNPCT/CN2020/078770 2020-03-11
PCT/CN2021/080187 WO2021180166A1 (en) 2020-03-11 2021-03-11 Adaptive loop filtering

Publications (1)

Publication Number Publication Date
CN115462071A true CN115462071A (zh) 2022-12-09

Family

ID=77671195

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202180020899.1A Pending CN115336265A (zh) 2020-03-11 2021-03-11 量化参数的高级别比特流语法
CN202180020877.5A Pending CN115462071A (zh) 2020-03-11 2021-03-11 自适应环路滤波
CN202180020826.2A Pending CN115299065A (zh) 2020-03-11 2021-03-11 基于变换跳过的残差编解码
CN202180020623.3A Pending CN115299064A (zh) 2020-03-11 2021-03-11 基于颜色格式的自适应参数集信令通知
CN202180020608.9A Pending CN115299051A (zh) 2020-03-11 2021-03-11 视频编解码的一致性窗口参数

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202180020899.1A Pending CN115336265A (zh) 2020-03-11 2021-03-11 量化参数的高级别比特流语法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202180020826.2A Pending CN115299065A (zh) 2020-03-11 2021-03-11 基于变换跳过的残差编解码
CN202180020623.3A Pending CN115299064A (zh) 2020-03-11 2021-03-11 基于颜色格式的自适应参数集信令通知
CN202180020608.9A Pending CN115299051A (zh) 2020-03-11 2021-03-11 视频编解码的一致性窗口参数

Country Status (6)

Country Link
US (5) US20230048394A1 (zh)
EP (3) EP4104438A4 (zh)
JP (2) JP7407300B2 (zh)
KR (2) KR20220152212A (zh)
CN (5) CN115336265A (zh)
WO (5) WO2021180164A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220152212A (ko) * 2020-03-11 2022-11-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 양자화 파라미터를 위한 높은 레벨의 비트스트림 신택스
KR20220153064A (ko) 2020-03-19 2022-11-17 에프쥐 이노베이션 컴퍼니 리미티드 비디오 데이터를 코딩하기 위한 디바이스 및 방법
KR20220157455A (ko) * 2020-03-20 2022-11-29 인터디지털 브이씨 홀딩스 프랑스 이미지 인코딩 및 디코딩을 위한 방법 및 디바이스
TW202143716A (zh) * 2020-04-14 2021-11-16 法商內數位Vc控股法國公司 對可適性色彩轉換及色度聯合編碼之尺度清單控制
CN115516857A (zh) * 2020-05-22 2022-12-23 阿里巴巴集团控股有限公司 用于处理视频内容的方法和装置

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
MY167316A (en) * 2011-11-04 2018-08-16 Sharp Kk Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
CN103096054B (zh) * 2011-11-04 2015-07-08 华为技术有限公司 一种视频图像滤波处理方法和装置
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
CN104380749A (zh) * 2012-04-16 2015-02-25 诺基亚公司 用于视频编码的方法和装置
US9602827B2 (en) 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
RU2612577C2 (ru) 2012-07-02 2017-03-09 Нокиа Текнолоджиз Ой Способ и устройство для кодирования видеоинформации
HUE031191T2 (en) 2012-12-21 2017-07-28 ERICSSON TELEFON AB L M (publ) Multilayered video stream decoding
US20150264099A1 (en) 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
US9641851B2 (en) * 2014-04-18 2017-05-02 Qualcomm Incorporated Conformance window information in multi-layer coding
WO2015163456A1 (ja) * 2014-04-25 2015-10-29 シャープ株式会社 画像復号装置、画像符号化装置、および、符号化データ変換装置
US10171823B2 (en) * 2014-05-26 2019-01-01 Sharp Kabushiki Kaisha Image decoding device and image coding device
CN105491379A (zh) 2014-10-01 2016-04-13 财团法人工业技术研究院 解码器、编码器、解码方法、编码方法与编解码系统
EP3266212A4 (en) 2015-03-20 2018-08-01 MediaTek Singapore Pte Ltd. Methods of palette coding with inter-prediction in video coding
US20160345014A1 (en) 2015-05-20 2016-11-24 Sharp Laboratories Of America, Inc. Systems and methods for coding a number of palette indices
US10390048B2 (en) 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms
US10349085B2 (en) * 2016-02-15 2019-07-09 Qualcomm Incorporated Efficient parameter storage for compact multi-pass transforms
WO2017187999A1 (ja) * 2016-04-26 2017-11-02 日本電気株式会社 プログラム分析システム、プログラム分析方法、及び、記録媒体
AU2017377490B2 (en) * 2016-12-16 2022-04-21 FG Innovation Company Limited Image decoding device and image coding device
JP2020515169A (ja) 2017-03-20 2020-05-21 シャープ株式会社 メディアアプリケーションフォーマットでスケーラブル動画像をシグナリングするためのシステム及び方法
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US11303912B2 (en) * 2018-04-18 2022-04-12 Qualcomm Incorporated Decoded picture buffer management and dynamic range adjustment
EP3782364A4 (en) * 2018-04-24 2022-04-20 HFI Innovation Inc. ALTERNATE TRANSFORM JUMP MODE METHODS AND APPARATUS FOR IMAGE AND VIDEO CODING
EP4216554A1 (en) 2018-06-03 2023-07-26 LG Electronics Inc. Method and device for processing video signal by using reduced transform
US11356702B2 (en) * 2018-06-06 2022-06-07 Lg Electronics Inc. Method for performing transform index coding on basis of intra prediction mode, and device therefor
WO2020060243A1 (ko) 2018-09-19 2020-03-26 한국전자통신연구원 경계 처리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20220027281A (ko) 2018-12-21 2022-03-07 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
GB2580173B (en) * 2018-12-21 2022-07-27 Canon Kk A filter
CN109743576B (zh) 2018-12-28 2020-05-12 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
BR112021012366B1 (pt) 2019-01-15 2022-03-22 Lg Electronics Inc Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
US20220109878A1 (en) 2019-02-06 2022-04-07 Lg Electronics Inc. Method and device for processing video signal using reduced transform
JP2022068379A (ja) 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
WO2020181434A1 (en) 2019-03-08 2020-09-17 Zte Corporation Parameter set signaling in digital video
KR102204438B1 (ko) 2019-03-15 2021-01-18 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
EP3925217A4 (en) * 2019-03-25 2023-03-08 HFI Innovation Inc. METHOD AND DEVICE FOR QUANTIZATION MATRIX CALCULATION AND REPRESENTATION FOR VIDEO CODING
US11616966B2 (en) 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform
BR112021021356A2 (pt) 2019-04-25 2022-01-18 Op Solutions Llc Movimento global para candidatos de modo de mesclagem em interprevisão
CN113892262A (zh) 2019-05-27 2022-01-04 Sk电信有限公司 帧内模式候选配置方法和视频解码设备
US11134275B2 (en) 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
EP3977737A4 (en) 2019-06-24 2022-08-03 Alibaba Group Holding Limited METHOD AND SYSTEM FOR PROCESSING LUMA AND CHROMA SIGNALS
US11277611B2 (en) * 2019-07-24 2022-03-15 Qualcomm Incorporated Delta quantization parameter (QP) signaling in palette mode
GB2586484B (en) * 2019-08-20 2023-03-08 Canon Kk A filter
WO2021045765A1 (en) 2019-09-05 2021-03-11 Huawei Technologies Co., Ltd. Efficient adaptive loop filter parameter signaling in video coding
EP4032276A1 (en) 2019-09-17 2022-07-27 InterDigital VC Holdings France, SAS Chroma residual scaling foreseeing a corrective value to be added to luma mapping slope values
CN114424525A (zh) * 2019-09-20 2022-04-29 阿里巴巴集团控股有限公司 视频处理中的量化参数标识
US11153576B2 (en) 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
CN114600462A (zh) 2019-10-25 2022-06-07 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法
JP7402016B2 (ja) 2019-11-06 2023-12-20 オッポ広東移動通信有限公司 画像復号装置及び画像符号化装置
WO2021100863A1 (en) * 2019-11-22 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
US20210168406A1 (en) 2019-11-29 2021-06-03 Tencent America LLC Signaling of video coding tools supporting various chroma formats
WO2021126487A1 (en) 2019-12-17 2021-06-24 Alibaba Group Holding Limited Methods and apparatuses for block partitioning at picture boundary
US11778215B2 (en) * 2020-02-28 2023-10-03 Qualcomm Incorporated Coding output layer set data and conformance window data of high level syntax for video coding
KR20220152212A (ko) * 2020-03-11 2022-11-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 양자화 파라미터를 위한 높은 레벨의 비트스트림 신택스

Also Published As

Publication number Publication date
US20230048394A1 (en) 2023-02-16
EP4304174A3 (en) 2024-03-20
US11930219B2 (en) 2024-03-12
CN115299065A (zh) 2022-11-04
WO2021180164A1 (en) 2021-09-16
US20230043717A1 (en) 2023-02-09
EP4304174A2 (en) 2024-01-10
US20230071955A1 (en) 2023-03-09
JP7407300B2 (ja) 2023-12-28
JP2023517085A (ja) 2023-04-21
KR20220146491A (ko) 2022-11-01
CN115299051A (zh) 2022-11-04
EP4104439A1 (en) 2022-12-21
WO2021180163A1 (en) 2021-09-16
US11856235B2 (en) 2023-12-26
WO2021180165A1 (en) 2021-09-16
CN115336265A (zh) 2022-11-11
EP4104438A4 (en) 2023-08-16
US20230039617A1 (en) 2023-02-09
CN115299064A (zh) 2022-11-04
WO2021180166A1 (en) 2021-09-16
US20240146973A1 (en) 2024-05-02
EP4104438A1 (en) 2022-12-21
EP4104439A4 (en) 2023-08-16
JP2023517084A (ja) 2023-04-21
KR20220152212A (ko) 2022-11-15
JP7407299B2 (ja) 2023-12-28
US11968403B2 (en) 2024-04-23
WO2021180169A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
CN115244933A (zh) 不同编解码工具的约束
US20230008778A1 (en) Interplay between picture header and slice header of a video bitstream
JP7407299B2 (ja) 量子化パラメータのための高レベルのビットストリームシンタックス
WO2021239085A1 (en) Reference picture list signaling in video coding
CN115428444A (zh) 对自适应参数集语法元素的约束
CN115606183A (zh) 参考图片环绕的剪裁操作
WO2021244419A1 (en) Constraint signaling using general constraint information syntax element
WO2021208899A1 (en) General constraint information in video coding
CN115918084A (zh) 通用级别索引的信令
CN115918085A (zh) 颜色分量的信令通知
CN115486064A (zh) 标头语法元素和自适应参数集的使用
CN115552802A (zh) 加权预测信息的条件信令通知
CN115428457A (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