CN115349261A - 使用语法元素的视频处理 - Google Patents

使用语法元素的视频处理 Download PDF

Info

Publication number
CN115349261A
CN115349261A CN202180025450.4A CN202180025450A CN115349261A CN 115349261 A CN115349261 A CN 115349261A CN 202180025450 A CN202180025450 A CN 202180025450A CN 115349261 A CN115349261 A CN 115349261A
Authority
CN
China
Prior art keywords
syntax
deblocking
value
offset
div2
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
CN202180025450.4A
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN115349261A publication Critical patent/CN115349261A/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/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/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/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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

提供了用于推导第一语法元素Syntax_A的值的方法。该方法包括确定Syntax_A是否存在于比特流中。该方法包括:作为确定Syntax_A不存在于比特流中的结果,如果满足第一条件,则推导Syntax_A的值为等于第一值B,或者如果满足第二条件,则推导Syntax_A的值为等于第二值C。

Description

使用语法元素的视频处理
技术领域
公开了与视频数据的处理(例如,解码)有关的实施例。
背景技术
1.HEVC和VVC
高效率视频编码(HEVC)是由ITU-T和MPEG标准化的基于块的视频编解码,利用时间预测和空间预测。使用来自当前图片内的帧内(I)预测来实现空间预测。根据先前解码的参考图片,使用块级别上的单向帧间(P)预测或双向帧间(B)预测来实现时间预测。在编码器中,原始像素数据与预测像素数据之间的差值(被称为残差)被变换到频域,被量化,且然后在被与诸如预测模式和运动向量的必要预测参数(其也被熵编码)一起发送之前被熵编码。解码器执行熵解码、逆量化和逆变换以获得残差,并然后将残差添加到帧内预测或帧间预测以重构图片。
MPEG和ITU-T正在致力于联合视频探索团队(JVET)内的HEVC的继任技术。这个正在开发的视频编解码器的名称是多功能视频编码(VVC)。在撰写本文时,VVC草案规范的当前版本是JVET-Q2001-vD。
2.分量
视频(也被称为视频序列)包括一系列图片(也被称为图像),其中,每张图片包括一个或多个分量。每个分量可以描述为样本值的二维矩形数组。通常,视频序列中的图片包括三个分量:一个亮度分量Y,其中样本值是亮度值;以及两个色度分量Cb和Cr,其中样本值是色度值。还通常的是,色度分量的尺寸在每个维度上是亮度分量的一半。例如,HD图片的亮度分量的尺寸将会是1920x1080,而色度分量将会各自具有960x540的尺寸。分量有时被称为颜色分量。
3.块和单元
块是样本的一个二维数组。在视频编码中,将每个分量划分成块,并且编码视频比特流包括一系列编码块。通常,在视频编码中,图片被划分成覆盖图片的特定区域的单元。每个单元包括来自构成该特定区域的所有分量的所有块,并且每个块完全属于一个单元。H.264中的宏块和HEVC中的编码单元(CU)是单元的示例。
备选地,块可以被定义为应用了在解码中使用的变换的二维数组。这些块被称为“变换块”。备选地,块可以被定义为应用了单预测模式的二维数组。这些块可以被称为“预测块”。在本申请中,单词“块”不与这些定义之一相捆绑,但本文的描述可以适用于任一定义。
4.残差、变换和量化
残差块可以包括表示原始源块的样本值与预测块的样本值之间的样本值之差的样本。使用空间变换来处理残差块。在编码器中,根据量化参数(QP)对变换系数进行量化,该量化参数控制量化系数的精度。量化系数可以被称为残差系数。高QP值将导致系数的低精度,并因此导致残差块的低保真度。解码器接收残差系数,应用逆量化和逆变换来导出残差块。
5.NAL单元
HEVC和VVC都定义了网络抽象层(NAL)。HEVC和VVC中的所有数据(即,视频编码层(VCL)数据或非VCL数据两者)封装在NAL单元中。VCL NAL单元包含表示图片样本值的数据。非VCL NAL单元包含附加的相关联数据,例如,参数集和补充增强信息(SEI)消息。HEVC中的NAL单元以首部开始,首部指定NAL单元的NAL单元类型、层ID和NAL单元所属的临时ID,其中,该NAL单元类型标识NAL单元中携带的数据的类型。NAL单元类型在NAL单元首部中的nal_unit_type码字中发送,并且该类型指示并定义NAL单元应该如何被解析并解码。NAL单元的其余字节是由NAL单元类型指示的类型的有效载荷。比特流可以包括一系列级联的NAL单元。
HEVC的NAL单元首部的语法如表1所示。
表1 HEVC NAL单元首部语法
Figure BDA0003869041860000031
当前版本的VVC草案中的NAL单元首部的语法如表2所示。
表2 VVC NAL单元首部语法
Figure BDA0003869041860000032
当前VVC草案的NAL单元类型如表3所示。解码顺序是NAL单元应该被解码的顺序,该顺序与比特流内的NAL单元的顺序相同。解码顺序可以与输出顺序不同,输出顺序是解码图片被解码器输出以例如用于显示的顺序。
表3 VVC中的NAL单元类型
Figure BDA0003869041860000033
Figure BDA0003869041860000041
Figure BDA0003869041860000051
6.切片
HEVC中的切片的概念将图片划分为独立编码的切片,其中对图片中的一个切片的解码独立于同一图片的其他切片。不同的编码类型可以用于同一图片的切片,即切片可以是I-slice、P-slice或B-slice。切片的一个目的是在数据丢失的情况下启用重新同步。在HEVC中,切片是CTU集合。
在当前版本的VVC中,图片可以分割为光栅扫描切片或矩形切片。光栅扫描切片包括多个按光栅扫描顺序的完整拼块。矩形切片包括一起占据图片中的矩形区域的一组拼块或一个拼块内的连续编号的CTU行。每个切片具有包括语法元素的切片首部。当解码切片时,使用来自这些语法元素的已解码的切片首部值。每个切片被携带在一个VCL NAL单元中。在先前版本的VVC草案规范中,切片被称为拼块组。
7.图片首部
当前VVC草案包括图片首部(PH),该图片首部是nal_unit_type等于PH_NUT的非VCLNAL单元。图片首部类似于切片首部,但图片首部中的语法元素的值被用于对一张图片的所有切片进行解码。
在当前版本的VVC中,编码图片的VCL NAL单元之前可以有图片首部。图片首部包含对于相关联图片的所有切片通用的参数。一些参数可以在图片首部中或者在图片中每个切片的切片首部中被用信号通知,条件是在PPS中用信号通知存在标志。HEVC没有图片首部。在当前版本的VVC中,或者针对每个图片都存在图片首部NAL单元,或者图片首部语法存在于切片首部中。在后一种情况下,每张图片只允许一个切片。当前版本的VVC中的图片首部和图片首部结构语法如下面表4和表5所示。
表4 VVC中的图片首部语法
Figure BDA0003869041860000061
表5 VVC中的图片首部结构语法
Figure BDA0003869041860000062
Figure BDA0003869041860000071
Figure BDA0003869041860000081
Figure BDA0003869041860000091
Figure BDA0003869041860000101
Figure BDA0003869041860000111
Figure BDA0003869041860000121
8.切片首部
与HEVC一样,当前的VVC草案包括每个切片的切片首部(SH)。切片首部包括对于在切片中表示的所有拼块或拼块内的CTU行通用的参数。在当前版本的VVC中,一些首部参数可以在图片首部中或在切片首部中被用信号通知,条件是在图片参数集中用信号通知存在标志。在当前版本的VVC中,图片首部参数可以在切片首部中用信号通知,条件是在切片首部中用信号通知的标志picture_header_in_slice_header_flag。当前版本的VVC中的切片首部语法如下面表6所示。
表6 VVC中的切片首部语法
Figure BDA0003869041860000122
Figure BDA0003869041860000131
Figure BDA0003869041860000141
Figure BDA0003869041860000151
Figure BDA0003869041860000161
Figure BDA0003869041860000171
9.参数集
HEVC指定了三种类型的参数集,图片参数集(PPS)、序列参数集(SPS)和视频参数集(VPS)。PPS包含整张图片通用的数据,SPS包含编码视频序列(CVS)通用的数据,以及VPS包含多个CVS通用的数据。VVC也使用这些参数集类型。在VVC中,还存在适配参数集(APS)和解码能力信息(DCI)NAL单元。APS可以包含可用于多个切片的信息,并且同一图片的两个切片可以使用不同的APS。DCI包含指定解码器将在整个比特流中遇到的在配置文件和级别方面的“最坏情况”的信息。当前版本的VVC中的图片参数集语法如下所示。
表7 PPS语法
Figure BDA0003869041860000172
Figure BDA0003869041860000181
Figure BDA0003869041860000191
Figure BDA0003869041860000201
Figure BDA0003869041860000211
2.1.10VVC块结构
VVC视频编码标准草案使用被称为四叉树加二叉树加三叉树块结构(QTBT+TT)的块结构,其中,每个图片首先被分割成被称为编码树单元(CTU)的正方形块。所有CTU单元的尺寸都相同。每个CTU被进一步分割成可以具有正方形或矩形形状的编码单元(CU)。CTU首先由四叉树结构分割,然后它可以按二元结构竖直或水平地进一步分割成等尺寸的分区,以形成编码单元(CU)。因此,块可以具有正方形或矩形形状。四叉树和二叉树的深度可以由编码器在比特流中设置。图1中示出了使用QTBT划分CTU的示例。即,图1示出了使用QTBT将CTU分割成CU。三叉树(TT)部分增加了将CU划分为三个分区而不是两个等尺寸分区的可能性;这增加了使用更适合图片中的内容结构的块结构的可能性。
11.解块滤波器
在块已经被重构之后,应用解块以减少编码块之间的边界伪影。
解块首先应用于垂直边界,并然后应用于水平边界。边界是变换块边界或预测块边界。针对每个边界设置解块滤波器边界强度参数(bS)。如果bS的值大于0,则可以应用解块。边界强度越大,应用越强的滤波。当已经确定应该将解块滤波器应用于边界时,解块过程计算边界的每一侧的梯度,以决策在相应侧应该修改多少样本。该决策被表示为“强”、“弱”或“长抽头”解块滤波器决策。例如,VVC强/弱滤波器决策在下表中示出,并且当对彼此位于上方/下方的两个块之间的水平边界进行滤波时针对第0行和第3行进行检查。
表8
Figure BDA0003869041860000221
Figure BDA0003869041860000231
Figure BDA0003869041860000241
基于作为表索引的量化参数Q从指定表中确定解块滤波器强度参数。量化参数Q的推导如下:Q=Clip3(0,63,qP+(slice_beta_offset_div2<<1)),其中slice_beta_offset_div2是包含样本q0,0的切片的语法元素slice_beta_offset_div2的值。
基于作为表索引的量化参数Q从指定表中确定解块滤波器强度参数。
Q=Clip3(0,65,qP+2*(bS-1)+(slice_tc_offset_div2<<1)),其中slice_tc_offset_div2是包含样本q0,0的切片的语法元素slice_tc_offset_div2的值。
此外,qP指定编码单元的平均qp,该编码单元包括了包含样本q0,0和p0,0的编码块。bS指定边界滤波强度。
下表示出了从输入Q推导阈值变量β′和tC′。
表9从输入Q推导阈值变量β′和tC′
Figure BDA0003869041860000242
Figure BDA0003869041860000251
在HEVC中,应用于Cb分量和Cr分量的β和tC的解块滤波器参数偏移在比特流中未被用信号通知,而是设置为等于应用于亮度分量的偏移。
在VVC中,应用于Y、Cb分量和Cr分量的β和tC的解块滤波器参数偏移在比特流中分别用信号通知。如上表所示,应用于Cb分量和Cr分量的阈值变量β′和tC′是通过使用输入Q作为索引推导的。
这里,应用于Cb分量的Q分别从β和tC推导如下:
Q=Clip3(0,63,qP+(slice_cb_beta_offset_div2<<1))
Q=Clip3(0,65,qP+2*(bS-1)+(slice_cb_tc_offset_div2<<1))。
此外,应用于Cr分量的Q分别从β和tC推导如下:
Q=Clip3(0,63,qP+(slice_cr_beta_offset_div2<<1))
Q=Clip3(0,65,qP+2*(bS-1)+(slice_cr_tc_offset_div2<<1))。
发明内容
在本文档中,我们使用图片参数集(PPS)、图片首部(PH)和切片首部(SH)中的语法元素作为示例。这些语法元素包括:1)应用于三个颜色分量Y、Cb和Cr的β和tC(除以2)的解块参数偏移(这些语法元素被称为“解块偏移”);2)应用于Cb和Cr颜色分量的β和tC(除以2)的解块参数偏移(这些语法元素被称为“色度解块偏移”);以及3)应用于亮度分量的β和tC(除以2)的解块参数偏移(这些语法元素被称为“亮度解块偏移”)。
1.一般语法结构问题
在当前版本的VVC中,当第一语法元素(被称为Syntax_A)未被用信号通知时,Syntax_A的值可以被推断为等于第一值。第一值可以是常数值或第二语法元素(被称为Syntax_B)的值。换言之,当Syntax_A未被用信号通知时,Syntax_A的值可能不被推断为等于第三语法元素(被称为Syntax_C)的值。
2.用信号通知解块相关语法元素的问题
在当前版本的VVC中,解块滤波器可以分别通过PPS、PH和SH中的语法元素pps_deblocking_filter_disable_flag、ph_deblocking_filter_disabled_flag和slice_deblocking_filter_disabled_flag来启用/禁用。当标志之一被用信号通知并且该值等于0时,在PPS、PH和SH中相应地用信号通知解块偏移。当解块偏移在流中未被用信号通知时,解块偏移的值被如下表所示地推断。
表10解块偏移的值推断
Figure BDA0003869041860000261
Figure BDA0003869041860000271
问题一:
在当前版本的VVC中,当pps_deblocking_filter_disable_flag存在于PPS中并且该值等于0时,解块偏移在PPS中被用信号通知。然而,当由比特流表示的视频源仅包括亮度样本(单***)或使用三个单独的颜色平面进行编码(separate_colour_plane_flag等于1)时,解块滤波器不应用于色度分量(Cb和Cr)。当前版本的VVC的问题是,色度解块偏移在某些情况下必须在PPS中用信号通知,即使它们将不会在解码过程中使用,这是不必要的比特率成本。
问题二:
在当前版本的VVC中,解块偏移针对三个颜色分量分别用信号通知,以针对每个颜色分量分别提供控制解块强度的灵活性。然而,一种常见的解块滤波器设置针对所有颜色分量使用相同的解块强度。例如,在VVC的开发中使用的通用测试条件(CTC)就是这种情况,其中色度解块偏移与亮度解块偏移具有相同的值。对于该设置,分别用信号通知色度解块偏移会带来不必要的比特率成本。假设解块偏移是被0阶Exp-Golomb编码的有符号整数的语法元素,范围为[-12,12],则比特率成本变成如下表所示:
表11每个解块偏移的比特成本
Figure BDA0003869041860000272
Figure BDA0003869041860000281
当解块偏移在PPS、PH或SH中被用信号通知时,色度解块偏移的比特成本
至少是4比特且最多36比特。此处的比特成本被计算为上表所示的解块偏移值的比特成本乘以四,即色度解块偏移语法元素的数量。
问题三:
在当前版本的VVC中,当解块滤波器被启用时,意味着解块滤波器对所有颜色分量(例如,Y、Cb和Cr)启用。无法对一个或多个颜色分量启用解块滤波器而对其余颜色分量禁用解块滤波器。例如,无法对亮度分量启用解块滤波器而对色度分量(Cb和Cr)禁用解块滤波器。
本公开提出了对上述问题的解决方案。
根据本公开的第一方面,提供了一种用于推导第一语法元素Syntax_A的值的方法。该方法包括确定Syntax_A是否存在于比特流中。该方法包括:作为确定Syntax_A不存在于比特流中的结果,如果满足第一条件,则推导Syntax_A的值为等于第一值B,或者如果满足第二条件,则推导Syntax_A的值为等于第二值C。
根据本公开的第二方面,提供了一种包括指令的计算机程序,该指令当由处理电路执行时使该处理电路执行根据第一方面的方法。
根据本公开的第三方面,提供了一种包括根据第二方面的计算机程序的载体,其中,该载体是电信号、光信号、无线电信号和计算机可读存储介质中的一种。
根据本公开的第四方面,提供了一种装置,该装置适于执行根据第一方面的方法。
实施例的一个优点是通过使用所提出的推断方法推断语法元素的值来降低比特成本。另一优点是通过解块滤波器启用/禁用标志来降低解码器侧的解块滤波器的操作成本。另一优点是增加了解块滤波器控制的灵活性。
附图说明
本文中所包含并形成说明书一部分的附图示出了各种实施例。
图1示出了划分CTU的示例。
图2示出了根据示例实施例的***。
图3是根据实施例的编码器的示意性框图。
图4是根据实施例的编码器的示意性框图。
图5是示出了根据实施例的过程的流程图。
图6是示出了根据实施例的过程的流程图。
图7是示出了根据实施例的过程的流程图。
图8是示出了根据实施例的过程的流程图。
图9是示出了根据实施例的过程的流程图。
图10是示出了根据实施例的过程的流程图。
图11是示出了根据实施例的过程的流程图。
图12是根据实施例的装置的框图。
具体实施方式
图2示出了根据示例实施例的***200。***200包括经由网络210(例如,因特网或其他网络)与解码器204通信的编码器202。
图3是根据实施例的用于对视频序列的视频帧(图片)中的像素值的块(以下称为“块”)进行编码的编码器202的示意性框图。通过由运动估计器350从同一帧或前一帧中的已经提供的块执行运动估计,来预测当前块。在帧间预测的情况下,运动估计的结果是与参考块相关联的运动或位移向量。运动向量被运动补偿器350用于输出块的帧间预测。帧内预测器349计算当前块的帧内预测。来自运动估计器/补偿器350和帧内预测器349的输出在选择器351中输入,选择器351为当前块选择帧内预测或帧间预测。来自选择器351的输出被输入到采用加法器341形式的误差计算器,加法器341还接收当前块的像素值。加法器341计算并输出残差,作为该块与其预测之间的像素值之差。该误差在变换器342中(例如,通过离散余弦变换)进行变换,并由量化器343量化,然后在编码器344中(例如,通过熵编码器)进行编码。在帧间编码中,估计的运动矢量也被带到编码器344,以产生当前块的编码表示。当前块的经变换和量化的残差也被提供给逆量化器345和逆变换器346以找回原始残差。该误差由加法器347加到来自运动补偿器350或帧内预测器349的块预测输出,以创建可用于下一块的预测和编码的参考块。该新参考块首先由根据实施例的解块滤波器单元330处理,以便执行解块滤波以应对任何块伪影。然后将处理后的新参考块临时存储在帧缓冲器348中,在该帧缓冲器348中,帧内预测器349和运动估计器/补偿器350可以使用该处理后的新参考块。
图4是根据一些实施例的解码器204的对应示意性框图。解码器204包括解码器461(例如,熵解码器),该解码器461用于对块的编码表示进行解码以得到经量化和经变换的残差的集合。这些残差在逆量化器462中被去量化,并由逆变换器463逆变换以得到残差集合。这些残差在加法器464中被加到参考块的像素值。根据是执行帧间预测还是帧内预测,由运动估计器/补偿器467或帧内预测器466来确定参考块。由此,选择器468互连到加法器464以及运动估计器/补偿器467和帧内预测器466。从加法器464输出的所得解码块被输入到根据实施例的解块滤波器单元330,以便对任何块伪影进行解块滤波。滤波后的块从解码器504输出,并且进一步优选地临时提供给帧缓冲器465,且可以用作要解码的后续块的参考块。帧缓冲器465由此连接到运动估计器/补偿器467,以使所存储的像素块可用于运动估计器/补偿器467。加法器464的输出优选地也输入到帧内预测器466,以用作未被滤波的参考块。
实施例
在下面的描述中,描述了解决一个或多个上述问题的各种实施例。本领域技术人员应当理解,两个或更多个实施例(或实施例的各部分)可以组合以形成仍被本公开所涵盖的新解决方案。
实施例1用于推断语法元素值的方法
在第一实施例中,提出了用于确定语法元素Syntax_A的值的方法。当Syntax_A不存在时,取决于第一条件,Syntax_A的值被推断为等于值B,其中值B是至少从语法元素Syntax_B的值推导的,并且取决于第二条件,Syntax_A的值被推断为值C,其中值C是至少从语法元素Syntax_C的值推导的。换言之,当Syntax_A不存在时,Syntax_A的值可以从至少两个不同语法元素的值推断出。
因此,在一个实施例中,该方法包括以下步骤。
确定第一语法元素(即,Syntax_C)的值。确定第二语法元素(即,Syntax_B)的值。确定第三语法元素(即,Syntax_D)的值。确定第四语法元素(即,Syntax_A)是否存在于比特流中。
当确定比特流中不存在Syntax_A时,则:如果Syntax_D的所确定的值等于第一值,则Syntax_A的值被推断为值B,其中值B是至少从Syntax_B的所确定的值推导的,并且如果Syntax_D的所确定的值等于第二值,则Syntax_A的值被推断为值C,其中值C是至少从Syntax_C的值推导的。
在一个实施例中,确定Syntax_B和Syntax_C的值包括:确定该语法元素是否存在于比特流中;以及,如果该语法元素被确定为不存在于比特流中,则推断该语法元素的值,否则,解码该语法元素的值。
在一个实施例中,确定Syntax_D的值包括确定该语法元素是否存在于比特流中。如果Syntax_D被确定为存在于比特流中,则Syntax_D的所确定的值为第一值,其中,第一值是条件(例如,Syntax_D存在)或第一值等于Syntax_D的解码值(例如,0)。如果Syntax_D不存在于比特流中,则Syntax_D的所确定的值为第二值,其中,第二值是条件(例如,Syntax_D不存在)或第二值等于推断值(例如,2)。
语法元素Syntax_A、Syntax_B、Syntax_C和Syntax_D可以是一个或若干个首部或参数集中的语法元素。
图5是示出了用于根据上述描述推导语法元素(Syntax_A)的值的过程500的流程图。过程500可以由解码器执行。
步骤s502包括推导值(D)。在一个实施例中,推导D包括:i)如果某个语法元素(Syntax_D)存在于比特流中并且Syntax_D指示Syntax_A被包括在比特流中,则设置D=X(例如,1),ii)如果Syntax_D存在于比特流中并且Syntax_D指示Syntax_A未被包括在比特流中,则设置D=Y(例如,0),或者iii)否则,设置D以使得D不等于X或Y(例如,将D设置为等于Z)。
步骤s504包括确定D是否等于X。如果D等于X,则该过程进行到步骤s506,否则该过程进行到步骤s508。
步骤s506包括将Syntax_A的值设置为等于值A,其中值A是Syntax_A的解码值。
步骤s508包括确定D是否等于Y。如果D等于Y,则该过程进行到步骤s510,否则该过程进行到步骤s512。
步骤s510包括将Syntax_A的值设置为等于值B,其中值B是与Syntax_B相关联的值(例如,B可以等于Syntax_B的解码值)。
步骤s512包括将Syntax_A的值设置为等于值C,其中值C是与Syntax_C相关联的值(例如,C可以等于Syntax_C的解码值)。
图6是示出了用于推导语法元素(Syntax_A)(也被称为“第六”语法元素)的值的过程600的流程图。过程600可以由解码器执行。
步骤s602包括确定第一语法元素Syntax_C是否存在于比特流中。如果Syntax_C存在,则该过程进行到步骤s604,否则该过程进行到步骤s606。
步骤s604(Syntax_C存在)包括对第一语法元素Syntax_C进行解码并推导第一值为等于已解码的第一语法元素Syntax_C的值。
步骤s606(Syntax_C不存在)包括推导第一值为等于第二值,其中,第二值可以是常数值,或者第二值可以是第二语法元素的值。
步骤s608包括确定第三语法元素Syntax_B是否存在于比特流中。如果Syntax_B存在,则该过程进行到步骤s610,否则该过程进行到步骤s612。
步骤s610(Syntax_B存在)包括对第三语法元素Syntax_B进行解码并推导第三值为等于已解码的第三语法元素Syntax_B的值。
步骤s612(Syntax_B不存在)包括推导第三值为等于第四值,其中,第四值可以是常数值,或者第四值可以是第四语法元素的值。
步骤s614包括确定第五语法元素Syntax_D是否存在于比特流中。如果存在Syntax_D,则该过程进行到步骤s616,否则该过程进行到步骤s624。
步骤s616(Syntax_D存在)包括对第五语法元素Syntax_D进行解码并推导第五值为等于已解码的第五语法元素Syntax_D的值,其中,第五值指示第六语法元素Syntax_A是否存在于比特流中。
步骤s618包括基于第五值确定Syntax_A是否存在于比特流中。如果Syntax_A存在,则该过程进行到步骤s620,否则该过程进行到步骤s622。
步骤s620(Syntax_A存在)包括对第六语法元素Syntax_A进行解码并推导第六值为等于已解码的第六语法元素Syntax_A的值。
步骤s622(Syntax_A不存在)包括推导第六值为等于第三值,其中,第三值是第三语法元素Syntax_B的值。
步骤s624(Syntax_D不存在)包括推导第六值为等于第一值,其中,第一值是第一语法元素Syntax_C的值。
步骤s626包括在过程中使用第六值对图片进行解码,其中,Syntax_A、Syntax_B、Syntax_C、Syntax_D是四个不同的语法元素。
图7是示出了用于推断语法元素(Syntax_A)的值的过程700的流程图。过程700可以由解码器执行。
步骤s702包括确定第一语法元素Syntax_C是否存在于比特流中。如果Syntax_C存在,则该过程进行到步骤s704,否则该过程进行到步骤s706。
步骤s704(Syntax_C存在)包括对第一语法元素Syntax_C进行解码并推导第一值为等于已解码的第一语法元素Syntax_C的值。
步骤s706(Syntax_C不存在)包括推导第一值为等于第二值,其中,第二值可以是常数值,或者第二值可以是第二语法元素的值。
步骤s708包括确定第三语法元素Syntax_B是否存在于比特流中。如果Syntax_B存在,则该过程进行到步骤s710,否则该过程进行到步骤s712。
步骤s710(Syntax_B存在)包括对第三语法元素Syntax_B进行解码并推导第三值为等于已解码的第三语法元素Syntax_B的值。
步骤s712(Syntax_B不存在)包括推导第三值为等于第四值,其中,第四值可以是常数值,或者第四值可以是第四语法元素的值。
步骤s714包括确定第五语法元素Syntax_D是否存在于比特流中。如果Syntax_D存在,则该过程进行到步骤s716,否则该过程进行到步骤s718。
步骤s716(Syntax_D存在)包括对第五语法元素Syntax_D进行解码并推导第五值为等于已解码的第五语法元素Syntax_D的值,其中,第五值指示第六语法元素Syntax_A是否存在于比特流中。
步骤s718(Syntax_D不存在)包括推导第五值为等于第六值,其中,第六值可以是常数值,或者第六值可以是第六语法元素的值。
步骤s720包括基于第五值确定第七语法元素Syntax_A是否存在于比特流中(例如,如果第五值等于X的值(例如,X=1)),则这指定Syntax_A存在于比特流中。如果Syntax_A存在,则该过程进行到步骤s722,否则该过程进行到步骤s724。
步骤s722(Syntax_A存在)包括对第七语法元素Syntax_A进行解码并推导第七值为等于已解码的第七语法元素Syntax_A的值。
步骤s724(Syntax_A不存在)包括确定第五值是否等于第九值(表示为Y)。如果第五值等于Y,则第七语法元素Syntax_A的值应该被推断为等于第三语法元素Syntax_B的值。如果第五值等于Y,则该过程进行到步骤s726,否则该过程进行到步骤s728。
步骤s726包括推导第七值为等于第三值,其中,第三值是第三语法元素Syntax_B的值。
步骤s728包括推导第七值为等于第一值,其中,第一值是第一语法元素Syntax_C的值。
步骤s730包括在过程中使用第七值对图片进行解码,其中Syntax_A、Syntax_B、Syntax_C、Syntax_D是四个不同的语法元素。
用例1(图8)推断PH中的色度解块偏移的值
在该用例中,存在标志(其对应于上述Syntax_D)被添加到PH,该存在标志指示色度解块偏移(其对应于Syntax_A)是否存在于PH中。该标志例如可以被称为ph_deblocking_chroma_offsets_present_flag。当所提出的标志等于第一值(例如,1)时,确定色度解块偏移在比特流中被用信号通知。当所提出的标志存在并且该标志的值等于第二值(例如,0)时,确定色度解块偏移未被用信号通知但被设置为等于PH中的亮度解块偏移的值。当所提出的标志不存在时,确定色度解块偏移未被用信号通知但应该被设置为等于PPS中的色度解块偏移的值。
通过以下方式,该用例中所提出的方法基于实施例1:当Syntax_A不存在,并且Syntax_D的所确定的值等于第一值(例如,第一值是Syntax_D存在)时,Syntax_A的值被推断为Syntax_B的值,如果Syntax_D的所确定的值为等于第二值(例如,第二值是Syntax_D不存在),则Syntax_A的值被推断为Syntax_C的值,其中,Syntax_A表示四个语法元素之一:ph_cb_beta_offset_div2、ph_cb_tc_offset_div2、ph_cr_beta_offset_div2或ph_cr_tc_offset_div2。下面我们以设置Syntax_A等于ph_cb_beta_offset_div2语法元素来作为示例展示语法结构伪代码:
Figure BDA0003869041860000361
在该实施例的另一版本中,Syntax_B、Syntax_C和Syntax_D中的至少一个是常数值
在该实施例的另一版本中,Syntax_B、Syntax_C和Syntax_D中的至少一个是从比特流中的一个或多个语法元素推导出的值。
下面是用例1的示例语法和语义。
表14
Figure BDA0003869041860000362
Figure BDA0003869041860000371
deblocking_filter_control_present_flag等于1指定解块滤波器控制语法元素存在于PPS中。deblocking_filter_control_present_flag等于0指定解块滤波器控制语法元素不存在于PPS中。
deblocking_filter_override_enabled_flag等于1指定ph_deblocking_filter_override_flag存在于引用PPS的PH中或slice_deblocking_filter_override_flag存在于引用PPS的切片首部中。deblocking_filter_override_enabled_flag等于0指定ph_deblocking_filter_override_flag不存在于引用PPS的PH中或slice_deblocking_filter_override_flag不存在于引用PPS的切片首部中。当不存在时,则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_deblocking_filter_disabled_flag被替换为等效于!pps_deblocking_filter_disabled_flag的pps_deblocking_filter_enabled_flag。因此,pps_deblocking_filter_enabled_flag等于0指定解块滤波器的操作不应用于引用其中不存在slice_deblocking_filter_disabled_flag的PPS的切片;pps_deblocking_filter_enabled_flag等于1指定解块滤波器的操作应用于引用其中不存在slice_deblocking_filter_disabled_flag的PPS的切片。当不存在时,则pps_deblocking_filter_enabled_flag的值被推断为等于1。
pps_beta_offset_div2和pps_tc_offset_div2指定应用于引用PPS的切片的亮度分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定应用于引用PPS的切片的Cb分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定应用于引用PPS的切片的Cr分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
表15
Figure BDA0003869041860000391
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_deblocking_filter_disabled_flag被替换为等效于!ph_deblocking_filter_disabled_flag的ph_deblocking_filter_enabled_flag。因此,ph_deblocking_filter_enabled_flag等于0指定解块滤波器的操作不应用于与PH相关联的切片;ph_deblocking_filter_enabled_flag等于1指定解块滤波器的操作应用于与PH相关联的切片。当ph_deblocking_filter_enabled_flag不存在时,它被推断为等于!pps_deblocking_filter_disabled_flag或它被推断为等于pps_deblocking_filter_enabled_flag。
ph_beta_offset_div2和ph_tc_offset_div2指定应用于与PH相关联的切片的亮度分量的β和tC(除以2)的解块参数偏移。ph_beta_offset_div2和ph_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_deblocking_chroma_offsets_present_flag等于1指定在PH中存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。ph_deblocking_chroma_offsets_present_flag等于0指定在PH中不存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。当不存在时,ph_deblocking_chroma_offsets_present_flag的值被推断为等于0。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2指定应用于与PH相关联的切片的Cb分量的β和tC(除以2)的解块参数偏移。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断如下:1)当ph_deblocking_chroma_offsets_present_flag存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2;以及2)当ph_deblocking_chroma_offsets_present_flag不存在时,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指定应用于与PH相关联的切片的Cr分量的β和tC(除以2)的解块参数偏移。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断如下:1)当ph_deblocking_chroma_offsets_present_flag存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2;以及2)当ph_deblocking_chroma_offsets_present_flag不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
该结构可以通过参考上面语法表的图8所示的以下解码流程图来说明。
步骤s802包括确定pps_cb_beta_offset_div2的值。
步骤s804包括确定ph_beta_offset_div2是否存在于比特流中。如果是,则过程800进行步骤s806,否则进行步骤s818。在备选实施例中,步骤s804包括确定某个标志(例如,ph_deblocking_filter_disabled_flag或ph_deblocking_filter_enabled_flag)等于v1还是v2,其中,v1是第一值而v2是第二值,并且v2不等于v1。当某个标志存在并且具有等于v1的值时,过程800进行到步骤s806,否则(该标志不存在或者存在但具有等于v2的值),过程800进行到步骤s818。在该某个标志是ph_deblocking_filter_disabled_flag的实施例中,v1=0并且v2=1。在该某个标志是ph_deblocking_filter_enabled_flag的实施例中,v1=1并且v2=0。
步骤s806包括对ph_beta_offset_div2进行解码。
步骤s808包括确定ph_deblocking_chroma_offsets_present_flag是否存在于比特流中。如果是,则过程800进行到步骤s810,否则过程800进行到步骤s818。在备选实施例中,步骤s808包括确定chromaArrayType是否等于0。当chromaArrayType等于0时,过程800进行到步骤s818,否则(chromaArrayType不等于0),过程800进行到步骤s810。
步骤s810包括对ph_deblocking_chroma_offsets_present_flag进行解码。
步骤s812包括确定ph_deblocking_chroma_offsets_present_flag是否等于1。如果是,则过程800进行到步骤s814,否则过程800进行到步骤s816。
步骤s814包括对ph_cb_beta_offset_div2进行解码。
步骤s816包括推断ph_cb_beta_offset_div2为等于ph_beta_offset_div2的值。
步骤s818包括推断ph_cb_beta_offset_div2为等于pps_cb_beta_offset_div2的值。
用例2(图9):推断SH中的色度解块偏移的值
提出了向SH添加存在标志,该存在标志指示色度解块偏移是否存在于SH中。该标志例如可以被称为slice_deblocking_chroma_offsets_present_flag。当所提出的标志等于第一值(例如,1)时,确定色度解块偏移在比特流中被用信号通知。当所提出的标志存在并且该标志的值等于第二值(例如,0)时,确定色度解块偏移未被用信号通知但被设置为等于SH中的亮度解块偏移的值。当所提出的标志不存在时,确定色度解块偏移未被用信号通知但被设置为等于PH中的色度解块偏移的值。
通过以下方式,所提出的方法基于实施例1:当Syntax_A不存在,并且Syntax_D的所确定的值等于第一值(例如,第一值是Syntax_D存在)时,Syntax_A的值被推断为Syntax_B的值,如果Syntax_D的所确定的值为等于第二值(例如,第二值是Syntax_D不存在),则Syntax_A的值被推断为Syntax_C的值,其中,Syntax_A表示四个语法元素之一:slice_cb_beta_offset_div2、slice_cb_tc_offset_div2、slice_cr_beta_offset_div2或slice_cr_tc_offset_div2。这里我们使用Syntax_A表示slice_cb_beta_offset_div2来作为示例展示语法结构伪代码:
Figure BDA0003869041860000431
在该实施例的另一版本中,Syntax_B、Syntax_C和Syntax_D中的至少一个是常数值或从比特流中的一个或多个语法元素推导的值。以下是该用例的示例语法和语义。
表16
Figure BDA0003869041860000441
deblocking_filter_control_present_flag等于1指定解块滤波器控制语法元素存在于PPS中。deblocking_filter_control_present_flag等于0指定解块滤波器控制语法元素不存在于PPS中。
deblocking_filter_override_enabled_flag等于1指定ph_deblocking_filter_override_flag存在于引用PPS的PH中或slice_deblocking_filter_override_flag存在于引用PPS的切片首部中。deblocking_filter_override_enabled_flag等于0指定ph_deblocking_filter_override_flag不存在于引用PPS的PH中或slice_deblocking_filter_override_flag不存在于引用PPS的切片首部中。当不存在时,则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_deblocking_filter_disabled_flag可以被替换为pps_deblocking_filter_enbabled_flag。如上所述,pps_deblocking_filter_disabled_flag可以被替换为pps_deblocking_filter_enbabled_flag。
pps_beta_offset_div2和pps_tc_offset_div2指定应用于引用PPS的切片的亮度分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定应用于引用PPS的切片的Cb分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定应用于引用PPS的切片的Cr分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
表17
Figure BDA0003869041860000461
Figure BDA0003869041860000471
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,或者它被推断为等于!ph_deblocking_filter_enabled_flag。
slice_deblocking_filter_disabled_flag可以被替换为等效于!slice_deblocking_filter_disabled_flag的slice_deblocking_filter_enabled_flag。
slice_beta_offset_div2和slice_tc_offset_div2指定应用于当前切片的亮度分量的β和tC(除以2)的解块参数偏移。
slice_beta_offset_div2和slice_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2。
slice_deblocking_chroma_offsets_present_flag等于1指定在切片首部中存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。slice_deblocking_chroma_offsets_present_flag等于0指定在切片首部中不存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。当不存在时,slice_deblocking_chroma_offsets_present_flag的值被推断为等于0。
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的范围内,包括-12和12。当不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断如下:i)当slice_deblocking_chroma_offsets_present_flag存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断为分别等于slice_beta_offset_div2和slice_tc_offset_div2;以及2)当slice_deblocking_chroma_offsets_present_flag不存在时,slice_cb_beta_offset_div2和slice_cb_tc_offset_div2的值被推断为分别等于ph_cb_beta_offset_div2和ph_cb_tc_offset_div2。
slice_cr_beta_offset_div2和slice_cr_tc_offset_div2指定应用于当前切片的Cr分量的β和tC(除以2)的解块参数偏移。slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断如下:i)当slice_deblocking_chroma_offsets_present_flag存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断为分别等于slice_beta_offset_div2和slice_tc_offset_div2;以及2)当slice_deblocking_chroma_offsets_present_flag不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
该结构可以通过参考上面语法表的图9所示的以下解码流程图来说明。
步骤s902包括确定ph_cb_beta_offset_div2的值。
步骤s904包括确定slice_beta_offset_div2是否存在于比特流中。如果是,则过程900进行到步骤s906,否则过程900进行到步骤s918。在备选实施例中,步骤s804包括确定某个标志(例如,slice_deblocking_filter_disabled_flag或slice_deblocking_filter_enabled_flag)等于v1还是v2,其中,v1是第一值而v2是第二值,并且v2不等于v1。当该某个标志存在并且具有等于v1的值(例如,0)时,过程900进行到步骤s906,否则(该标志不存在或存在但具有等于v2的值),过程900进行到步骤s918。在该某个标志是slice_deblocking_filter_disabled_flag的实施例中,v1=0并且v2=1。在该某个标志是slice_deblocking_filter_enabled_flag的实施例中,v1=1并且v2=0。
步骤s906包括对slice_beta_offset_div2进行解码。
步骤s908包括确定slice_deblocking_chroma_offsets_present_flag是否存在于比特流中。如果是,则过程900进行到步骤s910,否则过程900进行到步骤s918。在备选实施例中,步骤s904包括确定chromaArrayType是等于0还是等于1。当chromaArrayType等于0时,过程900进行到步骤s918,否则(chromaArrayType不等于0),过程900进行到步骤s910。
步骤s910包括对slice_deblocking_chroma_offsets_present_flag进行解码。
步骤s912包括确定slice_deblocking_chroma_offsets_present_flag是否等于1。如果是,则过程900进行到步骤s914,否则过程900进行到步骤s916。
步骤s914包括对slice_cb_beta_offset_div2进行解码。
步骤s916包括推断slice_cb_beta_offset_div2为等于slice_beta_offset_div2的值。
步骤s918包括推断slice_cb_beta_offset_div2为等于ph_cb_beta_offset_div2的值。
用例3推断PPS中色度解块偏移的值
提出了向PPS添加存在标志,该存在标志指示色度解块偏移是否存在于PPS中。该标志例如可以被称为pps_deblocking_chroma_offsets_present_flag。当所提出的标志等于第一值(例如,1)时,确定色度解块偏移在比特流中被用信号通知。当所提出的标志存在并且值等于第二值(例如,0)时,确定色度解块偏移未被用信号通知但被设置为等于PPS中的亮度解块偏移的值。当所提出的标志不存在时,确定色度解块偏移未被用信号通知但被设置为等于0。
以下是该用例的示例语法和语义。
表18
Figure BDA0003869041860000501
deblocking_filter_control_present_flag等于1指定解块滤波器控制语法元素存在于PPS中。deblocking_filter_control_present_flag等于0指定解块滤波器控制语法元素不存在于PPS中。
deblocking_filter_override_enabled_flag等于1指定ph_deblocking_filter_override_flag存在于引用PPS的PH中或slice_deblocking_filter_override_flag存在于引用PPS的切片首部中。deblocking_filter_override_enabled_flag等于0指定ph_deblocking_filter_override_flag不存在于引用PPS的PH中或slice_deblocking_filter_override_flag不存在于引用PPS的切片首部中。当不存在时,则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指定应用于引用PPS的切片的亮度分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_deblocking_chroma_offsets_present_flag等于1指定在PPS中存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。pps_deblocking_chroma_offsets_present_flag等于0指定在PPS中不存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。当不存在时,pps_deblocking_chroma_offsets_present_flag的值被推断为等于0。当ChromaArrayType等于0时,pps_deblocking_chroma_offsets_present_flag的值应等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定应用于引用PPS的切片的Cb分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值被推断如下:i)当pps_deblocking_chroma_offsets_present_flag存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2;以及2)当pps_deblocking_chroma_offsets_present_flag不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定应用于引用PPS的切片的Cr分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值被推断如下:1)当pps_deblocking_chroma_offsets_present_flag存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2;以及2)当pps_deblocking_chroma_offsets_present_flag不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
该实施例公开了用于在不存在语法元素时推断值的新颖语法结构和方法。这里的新颖元素是推断比特流中不存在的语法元素的值的方式。简而言之,如果语法元素存在,则该值被推导为等于已解码的语法元素的值。但是,如果语法元素不存在,则取决于另一语法元素是否存在于比特流中而将该值设置为等于值A或值B。
尽管上面在图片参数集(PPS)中示出了新颖的结构,但该结构不限于PPS。该结构可以用于例如序列参数集、图片参数集、切片首部、视频参数集、解码能力信息、适配参数集、补充增强信息或图片首部。
可以参考上面语法表通过图10所示的以下解码方法流程图来说明该结构。图10示出了根据实施例的过程1000。
过程1000的步骤s1002包括确定亮度解块偏移是否存在于PPS中。在一个实施例中,确定亮度解块偏移是否存在于PPS中包括确定pps_deblocking_filter_disabled_flag的值是等于0还是等于1。这里,0表示存在亮度解块偏移,但该标志可以备选地以相反的方式(其中值1表示亮度解块偏移存在)实现。如果亮度解块偏移存在,则该过程进行到步骤s1004,否则该过程进行到步骤s1014。
步骤s1004包括:从比特流中解码亮度解块偏移,并且还对存在标志进行解码。
步骤s1008包括确定存在标志是否指定色度解块偏移存在。如果存在标志指定存在色度解块偏移,则该过程进行到步骤s1010,否则该过程进行到步骤s1012。
步骤s1010(即,色度解块偏移存在)包括对色度解块偏移进行解码(例如,对pps_cb_beta_offset_div2进行解码)。
步骤s1012(即,色度解块偏移不存在)包括推断色度解块偏移的值等于亮度解块偏移的值(例如,推断pps_cb_beta_offset_div2为等于pps_beta_offset_div2的值)。
步骤s1014(即,亮度解块偏移不存在)包括推断色度解块偏移等于0。
步骤s1016包括在过程中使用色度解块偏移对图片进行解码。
该新颖结构可以用于用信号通知解块滤波器参数之外的其他值。图11中示出了概括结构的流程图,该流程图是示出了根据实施例的过程1100的流程图。解码器可以执行该概括实施例中的以下步骤的全部或子集,以从比特流中解码图片。
步骤s1 102包括确定第一语法元素S1是否存在于比特流中。如果S1在比特流中,则该过程进行到步骤s1104,否则该过程进行到步骤s1112。
步骤s1104(即,S1被确定为存在于比特流中)包括对第一语法元素S1进行解码并推导第一值为等于已解码的第一语法元素S1的值。
步骤s1106包括从比特流中的第二语法元素S2解码第一存在标志值,其中,第一存在标志值指示第三语法元素S3是否存在于比特流中。
步骤s1107包括使用第一存在标志来确定S3是否存在于比特流中。如果存在S3,则该过程进行到步骤s1108,否则该过程进行到步骤s1110。
步骤s1108(即,第一存在标志值指示第三语法元素S3存在于比特流中)包括对第三语法元素S3进行解码并推导第三值为等于已解码的第三语法元素S3的值。
步骤s1110(即,第一存在标志值指示第三语法元素S3存在于比特流中)包括推导第三值为等于第二值。
步骤s1112(即,S1被确定为不存在于比特流中)包括推导第三值为等于第四值。
步骤s1114包括在过程中使用第三值对图片进行解码,其中第一语法元素(S1)、第二语法元素(S2)和第三语法元素(S3)是三个不同的语法元素。
用例5指示色度解块偏移的存在和推断的备选方法
在本文描述的其他用例中,色度解块偏移的存在是有条件的,分别基于PPS、PH和SH中的pps_deblocking_chroma_offsets_present_flag、ph_deblocking_chroma_offsets_present_flag和slice_deblocking_chroma_offsets_present_flag的值。
在该用例中,提出了指示色度解块偏移的存在和推断的备选方法。提出了向PPS、PH和SH中的每一个添加指示色度解块偏移是否存在于PPS、PH、SH中或根本不存在的语法元素。
该语法元素可以被称为pps_deblocking_chroma_offsets_present_idc、ph_deblocking_chroma_offsets_present_idc和slice_deblocking_chroma_offsets_present_idc。当所提出的语法元素等于第一值(例如,1)时,确定色度解块偏移在对应的语法结构(PPS、PH或SH)中被用信号通知。当所提出的语法元素等于第二值(例如,0)时,确定色度解块偏移未被用信号通知但被设置为等于对应语法结构(PPS、PH或SH)的亮度解块偏移的值。当所提出的语法元素等于第三值(例如,2)时,确定色度解块偏移未被用信号通知,并且如在当前VVC草案标准中那样推断色度解块偏移的值。这可能意味着SH中的值是从PH推断出来的,以及PH的值是从PPS推断出来的。备选地,SH中的值是从PPS中推断出来的。当所提出的语法元素不存在时,我们建议该值被推断为等于2。
通过以下方式,所提出的方法基于实施例1:当Syntax_A不存在,并且Syntax_D的所确定的值等于第一值(例如,0)时,Syntax_A的值被推断为Syntax_B的值,如果Syntax_D的所确定的值等于第二值(例如,2),Syntax_A的值被推断为Syntax_C的值,其中,Syntax_A表示色度解块偏移之一。这里我们使用Syntax_A表示ph_cb_beta_offset_div2来作为示例展示语法结构伪代码:
Figure BDA0003869041860000551
Figure BDA0003869041860000561
在该实施例的另一版本中,Syntax_B、Syntax_C和Syntax_D中的至少一个是常数值。
在该实施例的另一版本中,Syntax_B、Syntax_C和Syntax_D中的至少一个是从比特流中的一个或多个语法元素推导的值。
下面是示例语法和语义。这里我们使用PH作为示例。
表19
Figure BDA0003869041860000562
Figure BDA0003869041860000571
deblocking_filter_control_present_flag等于1指定解块滤波器控制语法元素存在于PPS中。deblocking_filter_control_present_flag等于0指定解块滤波器控制语法元素不存在于PPS中。
deblocking_filter_override_enabled_flag等于1指定ph_deblocking_filter_override_flag存在于引用PPS的PH中或slice_deblocking_filter_override_flag存在于引用PPS的切片首部中。deblocking_filter_override_enabled_flag等于0指定ph_deblocking_filter_override_flag不存在于引用PPS的PH中或slice_deblocking_filter_override_flag不存在于引用PPS的切片首部中。当不存在时,则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指定应用于引用PPS的切片的亮度分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定应用于引用PPS的切片的Cb分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定应用于引用PPS的切片的Cr分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为等于0。
表20
Figure BDA0003869041860000581
Figure BDA0003869041860000591
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_deblocking_filter_disabled_flag被替换为ph_deblocking_filter_enabled_flag。
ph_beta_offset_div2和ph_tc_offset_div2指定应用于与PH相关联的切片的亮度分量的β和tC(除以2)的解块参数偏移。ph_beta_offset_div2和ph_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_beta_offset_div2和ph_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
ph_deblocking_chroma_offsets_present_idc等于1指定在PH中存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。ph_deblocking_chroma_offsets_present_idc等于0或2指定在PH中不存在应用于Cb分量和Cr分量的β和tC(除以2)的解块参数偏移。当不存在时,ph_deblocking_chroma_offsets_present_idc的值被推断为等于2。
ph_cb_beta_offset_div2和ph_cb_tc_offset_div2指定应用于与PH相关联的切片的Cb分量的β和tC(除以2)的解块参数偏移。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断如下:i)当ph_deblocking_chroma_offsets_present_idc等于0时,ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2;以及2)当ph_deblocking_chroma_offsets_present_idc等于2时,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指定应用于与PH相关联的切片的Cr分量的β和tC(除以2)的解块参数偏移。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断如下:1)当ph_deblocking_chroma_offsets_present_idc等于O时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于ph_beta_offset_div2和ph_tc_offset_div2;以及2)当ph_deblocking_chroma_offsets_present_idc等于2时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
实施例2禁用解块滤波器对色度分量进行的操作而启用解块滤波器对亮度分量进行的操作的示例
提出了在PPS、PH和SH中添加语法元素,以禁用解块滤波器对色度分量进行的操作而启用解块滤波器对亮度分量进行的操作。实施例2可以与实施例1组合。
下面是实施例2中的示例语法和语义。
表21
Figure BDA0003869041860000601
Figure BDA0003869041860000611
deblocking_filter_control_present_flag等于1指定解块滤波器控制语法元素存在于PPS中。deblocking_filter_control_present_flag等于0指定解块滤波器控制语法元素不存在于PPS中。
deblocking_filter_override_enabled_flag等于1指定ph_deblocking_filter_override_flag存在于引用PPS的PH中或slice_deblocking_filter_override_flag存在于引用PPS的切片首部中。deblocking_filter_override_enabled_flag等于0指定ph_deblocking_filter_override_flag不存在于引用PPS的PH中或slice_deblocking_filter_override_flag不存在于引用PPS的切片首部中。当不存在时,则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_deblocking_filter_diabled_flag可以被替换为pps_deblocking_filter_enbabled_flag。
pps_chroma_deblocking_filter_disabled_flag等于1指定解块滤波器对色度分量进行的操作不应用于引用其中不存在slice_chroma_deblocking_filter_disabled_flag的PPS的切片。pps_chroma_deblocking_filter_disabled_flag等于0指定解块滤波器对色度分量进行的操作应用于引用其中不存在slice_chroma_deblocking_filter_disabled_flag的PPS的切片。当不存在时,则pps_chroma_deblocking_filter_disabled_flag的值被推断为等于0。pps_chroma_deblocking_filter_disabled_flag可以被替换为pps_chroma_deblocking_filter_enbabled_flag。
pps_beta_offset_div2和pps_tc_offset_div2指定应用于引用PPS的切片的亮度分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,则pps_beta_offset_div2和pps_tc_offset_div2的值都被推断为等于0。
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定应用于引用PPS的切片的Cb分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cb_beta_offset_div2和pps_cb_tc_offset_div2的值都被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
Figure BDA0003869041860000632
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定应用于引用PPS的切片的Cr分量的β和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被存在于图片首部或引用PPS的切片的切片首部中的解块参数偏移覆盖。pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,pps_cr_beta_offset_div2和pps_cr_tc_offset_div2的值都被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
表22
Figure BDA0003869041860000631
Figure BDA0003869041860000641
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_disabledflag等于0指定解块滤波器的操作应用于与PH相关联的切片。当ph_deblocking_filter_disabled_flag不存在时,它被推断为等于pps_deblocking_filter_disabled_flag。如上所述,在一些实施例中,ph_deblocking_filter_disabled_flag被替换为ph_deblocking_filter_enabled_flag。
ph_chroma_deblocking_filter_disabled_flag等于1指定解块滤波器对色度分量进行的操作不应用于与PH相关联的切片。ph_chroma_deblocking_filter_disabled_flag等于0指定解块滤波器对色度分量进行的操作应用于与PH相关联的切片。当ph_chroma_deblocking_filter_disabled_flag不存在时,它被推断为等于pps_chroma_deblocking_filter_disabled_flag。在一些实施例中,ph_chroma_deblocking_filter_disabled_flag被替换为ph_chroma_deblocking_filter_enabled_flag。
ph_beta_offset_div2和ph_tc_offset_div2指定应用于与PH相关联的切片的亮度分量的β和tC(除以2)的解块参数偏移。ph_beta_offset_div2和ph_tc_offset_div2的值都应在-12至12的范围内,包括-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指定应用于与PH相关联的切片的Cb分量的β和tC(除以2)的解块参数偏移。ph_cb_beta_offset_div2和ph_cb_tc_offset_div2的值都应在-12至12的范围内,包括-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指定应用于与PH相关联的切片的Cr分量的β和tC(除以2)的解块参数偏移。ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值都应在-12至12的范围内,包括-12和12。当不存在时,ph_cr_beta_offset_div2和ph_cr_tc_offset_div2的值被推断为分别等于pps_cr_beta_offset_div2和pps_cr_tc_offset_div2。
表23
Figure BDA0003869041860000651
Figure BDA0003869041860000661
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或!ph_deblocking_filter_enabled_flag。在一些实施例中,slice_deblocking_hlter_disabled_flag被替换为slice_deblocking_filter_enabled_flag。
slice_chroma_deblocking_filter_disabled_flag等于1表示解块滤波器对色度分量进行的操作不应用于当前切片。slice_chroma_deblocking_filter_disabled_flag等于0表示解块滤波器对色度分量进行的操作应用于当前切片。当slice_chroma_deblocking_filter_disabled_flag不存在时,它被推断为等于ph_chroma_deblocking_filter_disabled_flag。在一些实施例中,slice_chroma_deblocking_filter_disabled_flag被替换为slice_chroma_deblocking_filter_enabled_flag。
slice_beta_offset_div2和slice_tc_offset_div2指定应用于当前切片的亮度分量的β和tC(除以2)的解块参数偏移。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-12至12的范围内,包括-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的范围内,包括-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的范围内,包括-12和12。当不存在时,slice_cr_beta_offset_div2和slice_cr_tc_offset_div2的值被推断为分别等于ph_cr_beta_offset_div2和ph_cr_tc_offset_div2。
实施例3
如上所示,可以由1比特语法元素来控制应用于两个色度分量的语法元素的存在。换言之,在一些实施例中,Cr的存在跟随Cb的存在。
在该实施例中,分别地,第一1比特语法元素用于Cb分量,而第二1比特语法元素用于Cr分量,以控制应用于Cb分量和应用于Cr分量的语法元素的存在。
在该实施例的变体中,2比特语法元素用于联合控制应用于Cb分量和应用于Cr分量的语法元素的存在,如下所述。
如果2比特语法元素的值等于0,则它指定不存在应用于Cb分量和Cr分量的语法元素。
如果2比特语法元素的值等于1,则它指定存在应用于Cb的语法元素且不存在应用于Cr分量的语法元素。
如果2比特语法元素的值等于2,则它指定不存在应用于Cb的语法元素且存在应用于Cr分量的语法元素。
如果2比特语法元素的值等于3,它指定存在应用于Cb分量和Cr分量的语法元素。
实施例4基于推断为X和用信号通知为X来进行区分
在该实施例中,提出了一种条件方法,该条件方法对将语法元素A的值推断为值X与显式地用信号通知语法元素A等于值X进行区分。在当前实施例的一个示例中,对Cb分量和Cr分量的控制可以被定义如下。
如果语法元素A的值被用信号通知为第一值,则它指定不存在应用于Cb分量和Cr分量的语法元素。
如果语法元素A的值被推断为第一值,则它指定存在应用于Cb的语法元素且不存在应用于Cr分量的语法元素。
如果语法元素A的值被用信号通知为第二值,则它指定不存在应用于Cb的语法元素且存在应用于Cr分量的语法元素。
如果语法元素A的值被推断为第二值,则它指定存在应用于Cb分量和Cr分量的语法元素。
图12是根据一些实施例的用于实现解码器204和/或编码器202的装置1200的框图。当装置1200实现解码器时,装置1200可以被称为“解码装置1200”,而当装置1200实现编码器时,装置1200可以被称为“编码装置1200”。如图12所示,装置1200可以包括:处理电路(PC)1202,该处理电路(PC)1202可以包括一个或多个处理器(P)1255(例如,通用微处理器和/或一个或多个其他处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等),这些处理器可以共置于单个外壳中或单个数据中心中,或者可以在地理上分布(即,装置1200可以是分布式计算装置);至少一个网络接口1248,该网络接口1248包括发射机(Tx)1245和接收机(Rx)1247,用于使装置1200能够向连接到网络110(例如,互联网协议(IP)网络)的其他节点发送数据以及从其接收数据,网络接口1248(直接地或间接地)连接到网络110(例如,网络接口1248可以无线连接到网络110,在这种情况下,网络接口1248连接到天线布置);以及存储单元(又名“数据存储***”)1208,其可以包括一个或多个非易失性存储设备和/或一个或多个易失性存储设备。在PC 1202包括可编程处理器的实施例中,可以提供计算机程序产品(CPP)1241。CPP 1241包括存储计算机程序(CP)1243的计算机可读介质(CRM)1242,该计算机程序(CP)1243包括计算机可读指令(CRI)1244。CRM 1242可以是非暂时性计算机可读介质,例如磁介质(例如,硬盘)、光学介质、存储器设备(例如,随机存取存储器、闪存)等。在一些实施例中,计算机程序1243的CRI 1244被配置为使得当由PC 1202执行时,CRI使装置1200执行本文所描述的步骤(例如,本文参考流程图描述的步骤)。在其他实施例中,装置1200可被配置为在不需要代码的情况下执行本文所描述的步骤。即,例如,PC 1202可以仅由一个或多个ASIC组成。因此,本文描述的实施例的特征可以以硬件和/或软件方式来实现。
尽管本文描述了各种实施例,但应当理解,它们仅以示例而非限制的方式提出。因此,本公开的广度和范围不应受到上述示例性实施例中任何一个的限制。此外,上述要素以其所有可能变型进行的任意组合都涵盖在本公开中,除非另有指示或以其他方式和上下文明确冲突。
附加地,尽管上文描述并附图中示出的处理被示为一系列步骤,但其仅用于说明目的。因此,可以想到可增加一些步骤、可省略一些步骤,可重排步骤顺序,以及可并行执行一些步骤。

Claims (18)

1.一种用于推导第一语法元素Syntax_A的值的方法,所述方法包括:
确定Syntax_A是否存在于比特流中;
作为确定Syntax_A不存在于所述比特流中的结果,如果满足第一条件,则推导Syntax_A的值为等于第一值B,或者如果满足第二条件,则推导Syntax_A的值为等于第二值C。
2.根据权利要求1所述的方法,还包括确定第三值D,其中,如果D等于X,则满足所述第一条件,而如果D不等于X,则满足所述第二条件。
3.根据权利要求1所述的方法,还包括推导第三值D,其中,如果D等于X,则满足所述第一条件,而如果D等于Y,则满足所述第二条件,其中,Y不等于X。
4.根据权利要求1至3中任一项所述的方法,还包括至少从第二语法元素Syntax_B的值推导所述值B。
5.根据权利要求1至4中任一项所述的方法,还包括至少从第三语法元素Syntax_C的值推导所述值C。
6.根据权利要求1至5中任一项所述的方法,还包括至少从第四语法元素Syntax_D的值推导所述值D。
7.根据权利要求1至6中任一项所述的方法,其中,B、C和D中的至少一个分别等于语法元素Syntax_B、Syntax_C和Syntax_D的值。
8.根据权利要求4至7中任一项所述的方法,其中,Syntax_B、Syntax_C和Syntax_D中的至少一个是从所述比特流中解码的。
9.根据权利要求1至8中任一项所述的方法,还包括推导所述值B,其中,推导所述值B包括:
确定第二语法元素Syntax_B是否存在于所述比特流中;以及
作为确定Syntax_B不存于所述比特流中的结果,推断所述值B,否则从Syntax_B解码所述值B。
10.根据权利要求1至9中任一项所述的方法,还包括推导所述值D,其中,推导所述值D包括:
确定第四语法元素Syntax_D是否存在于所述比特流中;以及
如果Syntax_D被确定存在于所述比特流中,则将D设置为等于第三值,其中,所述第三值是预定值,或者所述第三值等于Syntax_D的解码值。
11.根据权利要求10所述的方法,其中,推导所述值D包括:如果Syntax_D被确定不存在于所述比特流中,则将D设置为等于第四值,其中,所述第四值是预定值,或者所述第四值等于Syntax_D的推断值。
12.根据权利要求1至11中任一项所述的方法,其中,Syntax_A、Syntax_B、Syntax_C或Syntax_D中的至少一个是解块参数。
13.根据权利要求1至12中任一项所述的方法,其中,所有所述现有语法元素Syntax_A、Syntax_B、Syntax_C和Syntax_D在一个首部或参数集中。
14.根据权利要求1至12中任一项所述的方法,其中,所有所述现有语法元素Syntax_A、Syntax_B、Syntax_C、和Syntax_D在若干个首部或参数集中。
15.一种包括指令(1244)的计算机程序(1243),所述指令(1244)当由处理电路(1202)执行时,使所述处理电路(1202)执行根据权利要求1至14中任一项所述的方法。
16.一种载体,包括根据权利要求15所述的计算机程序,其中,所述载体是电信号、光信号、无线电信号和计算机可读存储介质(1242)之一。
17.一种装置(1200),所述装置适于执行根据权利要求1至14中任一项所述的方法。
18.一种装置(1200),所述装置包括:
处理电路(1202);以及
存储器(1242),所述存储器(1242)包含能够由所述处理电路执行的指令(1244),由此所述装置可操作地执行根据权利要求1至14中任一项所述的方法。
CN202180025450.4A 2020-03-31 2021-01-27 使用语法元素的视频处理 Pending CN115349261A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063002534P 2020-03-31 2020-03-31
US63/002,534 2020-03-31
PCT/SE2021/050051 WO2021201739A1 (en) 2020-03-31 2021-01-27 Video processing using syntax elements

Publications (1)

Publication Number Publication Date
CN115349261A true CN115349261A (zh) 2022-11-15

Family

ID=77927253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180025450.4A Pending CN115349261A (zh) 2020-03-31 2021-01-27 使用语法元素的视频处理

Country Status (11)

Country Link
US (2) US11665371B2 (zh)
EP (1) EP4128790A4 (zh)
JP (1) JP7490803B2 (zh)
KR (1) KR20220156029A (zh)
CN (1) CN115349261A (zh)
AU (2) AU2021248840A1 (zh)
BR (1) BR112022019657A2 (zh)
CO (1) CO2022014443A2 (zh)
IL (1) IL296930A (zh)
MX (1) MX2022012154A (zh)
WO (1) WO2021201739A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021158633A (ja) * 2020-03-30 2021-10-07 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US11711518B2 (en) * 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204129B2 (en) * 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
US9106927B2 (en) * 2011-09-23 2015-08-11 Qualcomm Incorporated Video coding with subsets of a reference picture set
US9398284B2 (en) * 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
US9445130B2 (en) * 2013-01-09 2016-09-13 Qualcomm Incorporated Blockiness metric for large HEVC block artifacts
BR112016006670A2 (pt) * 2013-09-27 2017-08-01 Qualcomm Inc codificação residual para modos de intra previsão de profundidade
EP3117616A4 (en) * 2014-03-13 2017-11-08 Qualcomm Incorporated Constrained depth intra mode coding for 3d video coding
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
WO2016056398A1 (ja) 2014-10-06 2016-04-14 ソニー株式会社 画像処理装置および方法
CN107852490B (zh) * 2015-07-27 2021-01-26 联发科技股份有限公司 一种视频编解码方法及***
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
WO2019007492A1 (en) * 2017-07-04 2019-01-10 Huawei Technologies Co., Ltd. INTRAMODE BYPASS LINE MEMORY HARMONIZATION DECODER SIDE WITH UNBLOCKING FILTER
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
TWI818064B (zh) * 2018-08-21 2023-10-11 大陸商北京字節跳動網絡技術有限公司 用於在雙邊濾波器中的加權參數推導的量化差
CN115176479A (zh) * 2020-02-25 2022-10-11 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法

Also Published As

Publication number Publication date
CO2022014443A2 (es) 2023-02-06
KR20220156029A (ko) 2022-11-24
JP2023525449A (ja) 2023-06-16
BR112022019657A2 (pt) 2024-03-12
AU2021248840A1 (en) 2022-10-20
IL296930A (en) 2022-12-01
US11665371B2 (en) 2023-05-30
EP4128790A4 (en) 2023-10-11
WO2021201739A1 (en) 2021-10-07
US20230388551A1 (en) 2023-11-30
AU2024203037A1 (en) 2024-05-23
US20230039105A1 (en) 2023-02-09
MX2022012154A (es) 2022-10-28
EP4128790A1 (en) 2023-02-08
JP7490803B2 (ja) 2024-05-27

Similar Documents

Publication Publication Date Title
US10440396B2 (en) Filter information sharing among color components
US11979613B2 (en) Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system
EP3205092B1 (en) Intra block copy prediction restrictions for parallel processing
EP3308540B1 (en) Robust encoding/decoding of escape-coded pixels in palette mode
EP2982110B1 (en) Method and device for determining the value of a quantization parameter
CN114631313A (zh) 使用亮度差值的跨分量自适应环路滤波器
CA3099795A1 (en) Block-based adaptive loop filter (alf) design and signaling
US20140192862A1 (en) Methods and systems for prediction filtering in video coding
US10623737B2 (en) Peak sample adaptive offset
CN110855995A (zh) 双边滤波器的映射改进
AU2014388185A1 (en) Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
DK2834980T3 (en) Sample adaptive filtering with offsets
US11190769B2 (en) Method and apparatus for coding image using adaptation parameter set
US20190320172A1 (en) Hardware-friendly sample adaptive offset (sao) and adaptive loop filter (alf) for video coding
AU2024203037A1 (en) Video processing using Syntax elements
CN115152235A (zh) 图像或视频处理***中传送回路滤波器参数的方法及装置
US20130272398A1 (en) Long term picture signaling
CN110771166B (zh) 帧内预测装置和方法、编码、解码装置、存储介质
JP2023523638A (ja) 分割構文のためのエントロピーコーディング
US20240114172A1 (en) Method for the Synthesis of Nitrogen Oxides and Nitric Acid in a Thermal Reactor
JP2023529854A (ja) ビデオビットストリームの各レイヤ表現のための値の導出

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