CN117643058A - 用于视频编解码的残差和系数编解码 - Google Patents

用于视频编解码的残差和系数编解码 Download PDF

Info

Publication number
CN117643058A
CN117643058A CN202280048756.6A CN202280048756A CN117643058A CN 117643058 A CN117643058 A CN 117643058A CN 202280048756 A CN202280048756 A CN 202280048756A CN 117643058 A CN117643058 A CN 117643058A
Authority
CN
China
Prior art keywords
video
flag
residual
block
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
CN202280048756.6A
Other languages
English (en)
Inventor
朱弘正
修晓宇
陈漪纹
陈伟
郭哲玮
闫宁
王祥林
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202410793799.8A priority Critical patent/CN118646898A/zh
Publication of CN117643058A publication Critical patent/CN117643058A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/103Selection of coding mode or of prediction mode
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

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

Abstract

提供了用于视频解码的方法、装置和非暂态计算机可读存储介质。在一种方法中,解码器确定比特流中的至少一个样点的编解码比特深度;所述解码器确定所述至少一个样点的第一序列参数集(SPS)标志的值;并且所述解码器进一步基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志。

Description

用于视频编解码的残差和系数编解码
相关申请的交叉引用
本申请基于2021年7月9日提交的临时申请号63/220,380并要求其优先权,所述临时申请的全部内容出于所有目的通过引用并入本文。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及用于视频编解码的残差和系数编解码的改进和简化。
背景技术
可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(H.265/HEVC)、高级视频编解码(H.264/AVC)、运动图片专家组(MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等)进行,所述预测方法利用了存在于视频图像或序列中的冗余。视频编解码技术的一个重要目标在于,将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量降级。
发明内容
本公开的示例提供了用于视频编解码的方法和装置。
根据本公开,提供了一种用于视频解码的方法。所述方法可以包括:由解码器确定比特流中的至少一个样点的编解码比特深度;由所述解码器确定所述至少一个样点的第一SPS标志的值;以及由所述解码器基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志。
应理解,上面的大体描述和下面的详细描述仅是示例性的和解释性的,而不旨在限制本公开。
附图说明
结合在本说明书中并构成本说明书的一部分的附图图示了与本公开一致的示例,并与所述描述一起用于解释本公开的原理。
图1是根据本公开的示例的编码器的框图。
图2是根据本公开的示例的解码器的框图。
图3A是图示了根据本公开的示例的多类型树结构中的块分区的图。
图3B是图示了根据本公开的示例的多类型树结构中的块分区的图。
图3C是图示了根据本公开的示例的多类型树结构中的块分区的图。
图3D是图示了根据本公开的示例的多类型树结构中的块分区的图。
图3E是图示了根据本公开的示例的多类型树结构中的块分区的图。
图4是根据本公开的示例的用于变换块的残差编解码结构的图示。
图5是根据本公开的示例的用于变换跳过块的残差编解码结构的图示。
图6是根据本公开的示例的用于对视频信号进行编码的方法。
图7是根据本公开的示例的用于对视频信号进行编码的方法。
图8是图示了根据本公开的示例的与用户界面耦接的计算环境的图。
图9图示了根据本公开的示例的用于视频编解码的方法。
图10图示了根据本公开的示例的用于视频编解码的方法。
图11图示了根据本公开的示例的用于视频编解码的方法。
图12图示了根据本公开的示例的用于视频编解码的方法。
图13是图示了根据本公开的示例的用于对视频块进行编码和解码的示例性系统的框图。
图14是图示了根据本公开的示例的示例性视频编码器的框图。
图15是图示了根据本公开的示例的示例性视频解码器的框图。
图16图示了根据本公开的示例的低延时变换跳过残差编解码(TSRC)方法。
图17图示了根据本公开的示例的用于视频解码的方法。
图18图示了根据本公开的示例的用于视频解码的方法。
图19图示了根据本公开的示例的用于视频解码的方法。
图20图示了根据本公开的示例的用于视频解码的方法。
图21图示了根据本公开的示例的用于视频解码的方法。
图22图示了根据本公开的示例的用于视频解码的方法。
具体实施方式
现在将详细参考示例实施例,附图中图示了这些实施例的示例。以下描述均参考附图,在附图中,除非另有说明,否则不同附图中的相同标记表示相同或相似的要素。以下示例实施例描述中阐述的实施方式并不表示与本公开一致的所有实施方式。而是,它们仅仅是与所附权利要求中叙述的与本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅出于描述特定实施例的目的,而不旨在限制本公开。如在本公开和所附权利要求中使用的,单数形式“一个(a)”、“一种(an)”和“所述(the)”旨在也包括复数形式,除非上下文另有明确指示。还应当理解,本文使用的术语“和/或”旨在表示并包括相关联列举项目中的一个或多个项目的任何或所有可能组合。
应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是这些信息不应受这些术语的限制。这些术语仅仅是用来将一类信息与另一类信息进行区分。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当……时”或“在……时”或“响应于判断”。
图1示出了用于VVC的基于块的视频编码器的总图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、逆量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138以及比特流144。
在编码器100中,视频帧被分区成多个视频块以进行处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。
从加法器128将表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差的预测残差发送到变换130。然后,将变换系数从变换130发送到量化132,以进行熵减小。然后,将量化系数馈送到熵编码138,以生成压缩视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(比如视频块分区信息、运动矢量(MV)、参考图片索引和帧内预测模式)也通过熵编码138被馈送并且被保存到压缩比特流144中。压缩比特流144包括视频比特流。
在编码器100中,还需要解码器相关电路,以重建像素用于预测目的。首先,通过逆量化134和逆变换136来重建预测残差。将所述重建预测残差与块预测值140组合,以生成当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编解码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。
时间预测(也被称为“帧间预测”)使用来自已经编解码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定编码单元(CU)或编码块的时间预测信号通常用信号发送为指示当前CU与其时间参考之间的运动量和运动方向的一个或多个MV。进一步地,如果支持多个参考图片,则另外发送一个参考图片索引,所述参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。
运动估计114获取视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112获取视频输入110、来自图片缓冲器120的信号以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间预测和/或时间预测之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去块预测值140,并且使用变换130和量化132对所产生的预测残差进行解相关。通过逆量化134对所产生的量化残差系数进行逆量化,并通过逆变换136对所述量化残差系数进行逆变换以形成重建残差,然后将所述重建残差加回到预测块以形成CU的重建信号。在将重建的CU置于图片缓冲器120的参考图片存储中并用于对未来的视频块编解码之前,可以对重建的CU应用比如去块滤波器、样点自适应偏移(SAO)和/或自适应环路滤波器(ALF)等进一步的环路滤波122。为了形成输出视频比特流144,将编解码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元138,以进行进一步压缩和打包来形成比特流。
图1给出了通用的基于块的混合视频编码系统的框图。输入视频信号被逐块(被称为编码单元(CU))处理。在VTM-1.0中,CU可以高达128×128像素。然而,不同于仅仅基于四叉树来将块分区的HEVC,在VVC中,一个编码树单元(CTU)被拆分成多个CU,以适应基于四/二/三叉树而不同的局部特性。根据定义,编码树块(CTB)是某个N值的N×N样点块,使得将分量分成CTB就是分区。CTU包括具有三个样点阵列的图片的一个亮度样点CTB、两个对应的色度样点CTB,或者单色图片或使用三个单独的颜色平面和用于对样点进行编解码的语法结构来编解码的图片的一个样点CTB。另外,移除了HEVC中的多种分区单元类型的构思,即,CU、预测单元(PU)和变换单元(TU)的拆分不再存在于VVC中;相反,每个CU一直用作预测和变换两者的基本单元,而不进行进一步分区。在多类型树结构中,一个CTU首先被四叉树结构分区。然后,每个四叉树叶节点可以进一步被二叉树结构和三叉树结构分区。如图3A、图3B、图3C、图3D和图3E所示,有五种拆分类型,四元分区、水平二元分区、垂直二元分区、水平三元分区以及垂直三元分区。
图3A示出了图示根据本公开的多类型树结构中的块四元分区的图。
图3B示出了图示根据本公开的多类型树结构中的块垂直二元分区的图。
图3C示出了图示根据本公开的多类型树结构中的块水平二元分区的图。
图3D示出了图示根据本公开的多类型树结构中的块垂直三元分区的图。
图3E示出了图示根据本公开的多类型树结构中的块水平三元分区的图。
在图1中,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已经编解码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“运动补偿预测”)使用来自已经编解码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常用信号表示为指示当前CU与其时间参考之间的运动量和运动方向的一个或多个运动矢量(MV)。同样,如果支持多个参考图片,则另外发送一个参考图片索引,所述参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。在进行空间和/或时间预测之后,编码器中的模式决策块例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去预测块;并且使用变换对预测残差进行解相关并进行量化。对经量化的残差系数进行逆量化和逆变换以形成重建残差,然后将所述重建残差加回到预测块以形成CU的重建信号。进一步地,在将重建的CU置于参考图片存储中并用于对未来的视频块进行编解码之前,可以对重建的CU应用比如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)等环路滤波。为了形成输出视频比特流,将编解码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元,以进行进一步压缩和打包来形成比特流。
图2示出了用于VVC的视频解码器的总框图。具体地,图2示出了典型的解码器200的框图。解码器200具有比特流210、熵解码212、逆量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234以及视频输出232。
解码器200与位于图1的编码器100中的重建相关部分类似。在解码器200中,首先通过熵解码212对传入的视频比特流210进行解码,以得到量化系数级别和预测相关信息。然后,通过逆量化214和逆变换216来处理量化系数级别,以获得重建预测残差。在帧内/帧间模式选择器220中实施的块预测值机制被配置为基于已解码预测信息来执行帧内预测222或运动补偿224。通过使用求和器218对来自逆变换216的重建预测残差与由块预测值机制生成的预测输出进行求和来获得一组未滤波的重建像素。
重建块可以进一步通过环路滤波器228,然后被存储在用作参考图片存储的图片缓冲器226中。图片缓冲器226中的重建视频可以被发送以驱动显示设备,并被用于预测未来的视频块。在环路滤波器228被开启的情况下,对这些重建像素执行滤波操作,从而得到最终的重建视频输出232。
图2给出了基于块的视频解码器的总框图。首先在熵解码单元处对视频比特流进行熵解码。将编解码模式和预测信息发送到空间预测单元(在帧内编解码的情况下)或时间预测单元(在帧间编解码的情况下)以形成预测块。将残差变换系数发送到逆量化单元和逆变换单元以重建残差块。然后,将预测块和残差块相加。重建块可以进一步通过环路滤波,然后被存储在参考图片存储中。然后,参考图片存储中的重建视频被发送出去以驱动显示设备,并被用于预测未来的视频块。
VVC中的变换系数编解码
在VVC中的变换系数编解码中,变量remBinsPass1首先被设置为所允许的上下文编解码的二进制位的最大数量(MCCB)。在编解码过程中,每次用信号表示上下文编解码的二进制位时,变量都会减一。当remBinsPass1大于或等于四时,首先通过sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag等语法用信号表示系数,在第一遍中,所有这些语法元素都使用上下文编解码的二进制位。系数的级别信息的其余部分在第二遍中使用哥伦布-莱斯(Golomb-rice)码和旁路编解码的二进制位通过语法元素abs_remainder进行编解码。当在第一遍编解码时remBinsPass1变得小于4时,当前系数在第一遍中不进行编解码,而是在第二遍中使用哥伦布-莱斯码和旁路编解码的二进制位通过语法元素dec_abs_level直接编解码。dec_abs_level[]的莱斯(rice)参数推导过程如表1A所指定的来得到。在上述所有级别的编解码之后,sig_coeff_flag等于1的所有扫描位置的符号(sign_flag)最终被编解码为旁路二进制位。这样的过程在图4中描绘。每个TB都重置remBinsPass1。对sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag使用上下文编解码的二进制位到对其余系数使用旁路编解码的二进制位的转变每TB最多只发生一次。对于系数子块,如果remBinsPass1在对其第一个系数进行编解码之前小于4,则使用旁路编解码的二进制位对整个系数子块进行编解码。
图4示出了用于变换块的残差编解码结构的图示。
表1A.abs_remainder[]和dec_abs_level[]的莱斯参数推导过程
表1B.基于locSumAbs的cRiceParam的规范
locSumAbs 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cRiceParam 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2
locSumAbs 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cRiceParam 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3
VVC中变换跳过模式的残差编解码
在变换跳过模式下,残差信号的统计特性与变换系数的统计特性不同,并且低频成分周围没有能量压缩被观察到。残差编解码被修改为考虑(空间)变换跳过残差的不同信号特性。
图5示出了用于变换跳过块的残差编解码结构的图示。
通用约束信息(General constraint information,GCI)
GCI结构包含几种类型的约束语法元素,其包括:通用比特流约束的标志,如指示只使用帧内编解码、所有层独立地编解码或比特流只包含一个AU;约束已编码图片的比特深度和色度格式的字段;指示某些NAL单元类型不允许出现在比特流中的标志;约束可以将图片在比特流中划分为条带(slices)、瓦片(tiles)和子图片的方式的标志;约束CTU尺寸以及分区树的尺寸和类型的标志;约束特定帧内编解码工具使用的标志;约束特定帧间编解码工具使用的标志;约束变换、量化和残差编解码工具的标志;以及约束环路滤波器方面的标志。
GCI语法结构的目的是为了能够简单地发现关于解码比特流所需的特征的配置信息,并且允许以比先前的视频编解码标准所允许的更精细的粒度来用信号表示互操作性点,这些互操作性点施加的限制超出了由档次、层级和级别(PTL)指定的限制。与子简档类似,使用GCI语法结构可以为不支持VVC简档的所有特征但满足特定应用需求的解码器实施方式定义互操作性。解码器实施方式可以检查GCI语法元素,以检查比特流是否避免使用特定特征,以确定如何配置解码过程并且识别比特流是否可由解码器解码。支持VVC简档的所有特征的解码器实施方式可以忽略GCI语法元素值,因为这种解码器将能够对符合指示的PTL的任何比特流进行解码。
变换跳过的残差编解码
根据本公开的一个或多个示例,提出在变换跳过残差编解码中使用二进制码字的变量集对某些语法元素(例如abs_remainder)进行编解码,并且根据当前块的某些已编码信息(例如与TB/CB和/或条带/简档相关联的量化参数或编解码比特深度)和/或根据与TB/CB/条带/图片/序列级别相关联的新标志(例如extended_precision_processing_flag)来确定选择。可以使用不同的方法来得到二进制码字的变量集,下面列出了一些示例性方法。
第一,使用与当前VVC中所使用的相同的用于确定abs_remainder的码字的程序,但总是采用固定的莱斯参数(例如,2、3、4、5、6、7或8)。根据当前块的某些已编码信息,例如量化参数、帧类型(例如,I、P或B)、分量ID(例如,亮度或色度)、颜色格式(例如,420、422或444)或与TB/CB和/或条带/简档相关联的编解码比特深度,和/或根据与TB/CB/条带/图片/序列级别相关联的语法元素,例如rice_parameter_value,所述固定值在不同条件下可能是不同的。一个具体示例是,其中,TH1至TH4是满足(TH1<TH2<TH3<TH4)的预定义阈值,并且K0至K4是预定义的莱斯参数。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表从当前CU/Sequence的比特深度值得到相同的莱斯参数。
第二,定长二值化。
第三,截断莱斯二值化。
第四,截断二进制(TB)二值化过程。
第五,k阶指数哥伦布二值化过程(EGk)。
第六,有限的k阶指数哥伦布二值化。
基于VVC草案的对应解码过程的示例如下所示,对VVC草案的更改如表1所图示用粗体和斜体字体示出,并且删除的内容用斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表1.莱斯参数推导过程
在另一个示例中,提出当新标志(例如,extended_precision_processing_flag)等于1时,在对abs_remainder的语法元素进行编解码时只对莱斯参数使用一个固定值。基于VVC草案的对应解码过程如下所示,变化部分用粗体和斜体字体示出,并且删除的内容用斜体字体示出。对VVC草案的更改在表2中用粗体和斜体字体示出。
表2.莱斯参数推导过程
在又另一个示例中,当新标志(例如extended_precision_processing_flag)等于1时,莱斯参数cRiceParam固定为n,其中,n是正数(例如,2、3、4、5、6、7或8)。固定值在不同的条件下可能是不同的。基于VVC草案的对应解码过程的示例如下所示,变化部分用粗体和斜体字体示出,并且删除的内容用斜体字体示出。对VVC草案的更改在表3中用粗体和斜体字体示出。
表3.莱斯参数推导过程
在又另一个示例中,当比特深度大于或等于预定义阈值(例如,10、11、12、13、14、15或16)时,莱斯参数cRiceParam固定为n,其中,n是正数,例如,4、5、6、7或8。固定值在不同的条件下可能是不同的。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义阈值(例如,10、11、12、13、14、15或16),变化部分用粗体和斜体字体示出,并且删除的内容用斜体字体示出。对VVC草案的更改在表4中用粗体和斜体字体示出。
表4.莱斯参数推导过程
在又另一个示例中,在条带头中用信号表示一个控制标志,以指示变换跳过块的莱斯参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,为每个变换跳过条带进一步用信号表示一个语法元素,以指示该条带的莱斯参数。当控制标志用信号表示为禁用(例如,设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如1)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如,0、1、2),变化部分用粗体和斜体字体示出,并且删除的内容用斜体字体示出。对VVC草案的更改在表5中用粗体和斜体字体示出。值得注意的是,sh_ts_residual_coding_rice_index可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
条带头语法
表5.残差编解码的语法
等于1指定当前条带中可能存在sh_ts_residual_coding_rice_index。sh_ts_residual_coding_rice_flag等于0指定当前条带中可能不存在sh_ts_residual_coding_rice_index。当sh_ts_residual_coding_rice_flag不存在时,推断sh_ts_residual_coding_rice_flag的值等于0。
指定用于residual_ts_coding()语法结构的莱斯参数。
表6.莱斯参数推导过程
在又另一个示例中,在序列参数集中(或在序列参数集范围扩展语法中)用信号表示一个控制标志,以指示变换跳过块的莱斯参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,为每个变换跳过条带进一步用信号表示一个语法元素,以指示该条带的莱斯参数。当控制标志用信号表示为禁用(例如,设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如,1)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如,0、1、2)。对VVC草案的更改在表7中用粗体和斜体字体示出,并且删除的内容用斜体字体示出。值得注意的是,sh_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
序列参数集RBSP语法
表7.残差编解码的语法
等于1指定引用SPS的SH语法结构中可能存在sh_ts_residual_coding_rice_idx。sps_ts_residual_coding_rice_present_in_sh_flag等于0指定引用SPS的SH语法结构中不存在sh_ts_residual_coding_rice_idx。当sps_ts_residual_coding_rice_present_in_sh_flag不存在时,推断sps_ts_residual_coding_rice_present_in_sh_flag的值等于0。
条带头语法
表8.残差编解码的语法
指定用于residual_ts_coding()语法结构的莱斯参数。
表9.莱斯参数推导过程
在本公开的一个或多个示例中,提出如果变换跳过被禁用,则禁用用于变换跳过残差编解码的莱斯参数的存在。在一个具体示例中,为了实现这样的设计目的,提出使用来限制的存在。例如,当标志等于零(即,变换跳过在当前图片中被禁用)时,没有用信号表示但推断其为0。当标志等于一时,进一步用信号表示sps_ts_residual_coding_rice_present_in_sh_flag。对当前VVC工作草案的更改如下用斜体字体示出。
在另一个具体示例中,为了实现这样的设计目的,提出为增加与有关的比特流一致性的要求。例如,比特流一致性的要求是,当等于0时,的值应该等于0。对当前VVC工作草案的更改如下用斜体字体示出。
序列参数集范围扩展语义
等于1指定引用SPS的slice_header()语法结构中可能存在sh_ts_residual_coding_rice_idx_minus1。sps_ts_residual_coding_rice_present_in_sh_flag等于0指定引用SPS的slice_header()语法结构中不存在sh_ts_residual_coding_rice_idx_minus1。当sps_ts_residual_coding_rice_present_in_sh_flag不存在时,推断sps_ts_residual_coding_rice_present_in_sh_flag的值等于0。
比特流一致性的要求是,当sps_transform_skip_enabled_flag等于0时,sps_ts_residual_coding_rice_present_in_sh_flag的值应该等于0。
在又另一个示例中,当变换跳过的标志(sps_transform_skip_enabled_flag)用信号表示为启用时,在序列参数集中(或在序列参数集范围扩展语法中)进一步用信号表示一个控制标志,以指示变换跳过块的莱斯参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,为每个变换跳过条带进一步用信号表示一个语法元素,以指示该条带的莱斯参数。当控制标志用信号表示为禁用(例如设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如1)。下文图示了基于VVC草案的对应解码过程的示例。对VVC草案的更改用斜体字体示出。
序列参数集RBSP语法
等于1指定引用SPS的SH语法结构中可能存在sh_ts_residual_coding_rice_idx。sps_ts_residual_coding_rice_present_in_sh_flag等于0指定引用SPS的SH语法结构中不存在sh_ts_residual_coding_rice_idx_minus1。当sps_ts_residual_coding_rice_present_in_sh_flag不存在时,推断sps_ts_residual_coding_rice_present_in_sh_flag的值等于0。
条带头语法
加1指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_idx_minus1不存在时,推断sh_ts_residual_coding_rice_idx_minus1的值等于0。
9.3.3.11abs_remainder[]的二值化过程
该过程的输入是对语法元素abs_remainder[n]的二值化的请求、颜色分量cIdx、当前子块索引i、相对于图片的左上角亮度样点指定当前亮度变换块的左上角样点的亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、变换块宽度的二进制对数log2TbWidth以及变换块高度的二进制对数log2TbHeight。
该过程的输出是语法元素的二值化。
变量lastAbsRemainder和lastRiceParam是如下得到的:
-如果为当前子块索引i首次调用该过程,则lastAbsRemainder和lastRiceParam都设置为等于0。
-否则(不是为当前子块索引i首次调用该过程),lastAbsRemainder和lastRiceParam分别被设置为等于abs_remainder[n]和cRiceParam的值,这两个值是在如该条款中指定的语法元素abs_remainder[n]的二值化过程的最后一次调用中得到的。
莱斯参数cRiceParam是如下得到的:
-如果transform_skip_flag[x0][y0][cIdx]等于1并且sh_ts_residual_coding_disabled_flag等于0,则莱斯参数cRiceParam设置为等于sh_ts_residual_coding_rice_idx_minus1+1。
-否则,在以设置为等于4的变量baseLevel、颜色分量索引cIdx、亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、变换块宽度的二进制对数log2TbWidth和变换块高度的二进制对数log2TbHeight作为输入的情况下,通过调用如条款9.3.3.2所指定的abs_remainder[]的莱斯参数推导过程来得到莱斯参数cRiceParam。
在又另一个示例中,为每个变换跳过条带用信号表示一个语法元素,以指示该条带的莱斯参数。下文图示了基于VVC草案的对应解码过程的示例。对VVC草案的更改在表10中用粗体和斜体字体示出。值得注意的是,sh_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
条带头语法
表10.残差编解码的语法
sh_ts_residual_coding_rice_idx指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_idx不存在时,推断sh_ts_residual_coding_rice_idx的值等于0。
表11.莱斯参数推导过程
在又另一个示例中,在图片参数集范围扩展语法中用信号表示一个控制标志,以指示变换跳过块的莱斯参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,进一步用信号表示一个语法元素以指示该图片的莱斯参数。当控制标志用信号表示为禁用(例如,设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如,1)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如,0、1、2)。对VVC草案的更改在表12中用粗体和斜体字体示出。值得注意的是,pps_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
图片参数集范围扩展语法
表12.残差编解码的语法
等于1指定当前图片中可能存在pps_ts_residual_coding_rice_index。pps_ts_residual_coding_rice_flag等于0指定当前图片中不存在pps_ts_residual_coding_rice_idx。当pps_ts_residual_coding_rice_flag不存在时,推断pps_ts_residual_coding_rice_flag的值等于0。
指定用于residual_ts_coding()语法结构的莱斯参数。
表13.莱斯参数推导过程
在又另一个示例中,提出只使用可变的莱斯参数对语法元素abs_remainder进行编解码。所应用的莱斯参数的值可以根据当前块的某些已编码信息来确定,例如,块尺寸、量化参数、比特深度、变换类型等。在一个具体实施例中,提出基于适用于一个CU的编解码比特深度和量化参数来调整莱斯参数。基于VVC草案的对应解码过程如下所示,对VVC草案的更改在表14中用粗体和斜体字体示出,并且删除的内容用斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表14.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,TH是预定义阈值(例如,33或34)。对VVC草案的更改在表15中用粗体和斜体字体示出,并且删除的内容用斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表15.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,THA和THB是预定义阈值(例如,THA=8,THB=33或34)。对VVC草案的更改在表16中用粗体和斜体字体示出,并且删除的内容用斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表16.莱斯参数推导过程
在又另一个示例中,提出当新标志(例如extended_precision_processing_flag)等于1时,只使用可变的莱斯参数对abs_remainder的语法元素进行编解码。可变值可以根据当前块的某些已编码信息来确定,例如,块尺寸、量化参数、比特深度、变换类型等。在一个具体实施例中,提出基于适用于一个CU的编解码比特深度和量化参数来调整莱斯参数。基于VVC草案的对应解码过程如下所示。对VVC草案的更改在表17中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表17.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,TH是预定义阈值(例如,18、19)。对VVC草案的更改在表18中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表18.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,THA和THB是预定义阈值(例如,THA=8,THB=18或19)。对VVC草案的更改在表19中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表19.莱斯参数推导过程
图6示出了用于视频编码的方法。例如,所述方法可以应用于编码器。在步骤1610中,编码器可以接收视频输入。例如,视频输入可以是实时流。在步骤1612中,编码器可以基于视频输入获得量化参数。例如,量化参数可以由编码器中的量化单元计算。在步骤1614中,编码器可以基于至少一个预定义阈值、编解码比特深度和量化参数得到莱斯参数。例如,莱斯参数用于用信号表示abs_remainder和dec_abs_level的语法。在步骤1616中,编码器可以基于莱斯参数对视频比特流进行熵编码。例如,可以对视频比特流进行熵编码以产生压缩的视频比特流。
在又另一个示例中,提出当比特深度大于10时,在对abs_remainder的语法元素进行编解码时只对莱斯参数使用固定值(例如,2、3、4、5、6、7或8)。根据当前块的某些已编码信息(例如,量化参数),所述固定值在不同条件下可能是不同的。基于VVC草案的对应解码过程如下所示,其中,TH是预定义阈值(例如,18、19)。对VVC草案的更改在表20中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表20.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,THA和THB是预定义阈值(例如,THA=8,THB=18或19)。对VVC草案的更改在表21中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表21.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,TH是预定义阈值(例如,33或34)。对VVC草案的更改在表22中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表22.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,THA和THB是预定义阈值(例如,THA=8,THB=33或34)。对VVC草案的更改在表23中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表23.莱斯参数推导过程
值得一提的是,在上面的图示中,用于计算具体莱斯参数的方程仅用作示例来说明所提出的想法。对于精通现代视频编解码技术的人来说,其他映射函数(或等效的映射方程)已经适用于所提出的想法(即基于编解码比特和所应用的量化参数来确定变换跳过模式的莱斯参数)。同时,还应该提到的是,在当前VVC设计中,所应用的量化参数的值是允许在编码块组级别上改变的。因此,所提出的莱斯参数调整方案可以在编码块组级别上对变换跳过模式的莱斯参数进行灵活调整。
常规残差编解码和变换跳过残差编解码的信令信息
根据本公开的一个或多个示例,提出用信号表示用于对某些语法元素(例如变换跳过残差编解码中的abs_remainder、用于得到常规残差编解码中用于abs_remainder/dec_abs_level的莱斯参数的移位参数和偏移参数)进行编解码的二进制码字的莱斯参数,并且根据当前块的某些已编码信息(例如与TB/CB和/或条带/简档相关联的量化参数或编解码比特深度)和/或根据与TB/CB/条带/图片/序列级别相关联的新标志(例如sps_residual_coding_info_present_in_sh_flag)来确定是否用信号表示。
在一个示例中,在条带头中用信号表示一个控制标志,以指示用于变换跳过块的莱斯参数的信号传输和用于得到变换块中的莱斯参数的移位参数和/或偏移参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,为每个变换跳过条带进一步用信号表示一个语法元素以指示该条带的莱斯参数,并且为每个变换条带进一步用信号表示两个语法元素以指示用于得到该条带的莱斯参数的移位参数和/或偏移参数。当控制标志用信号表示为禁用(例如设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如1),并且在较低的级别上没有用信号表示进一步的语法元素来指示用于得到变换条带的莱斯参数的移位参数和偏移参数,而是对所有变换条带使用默认的移位参数和/或偏移参数(例如0)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如,0、1、2)。对VVC草案的更改在表24中用粗体和斜体字体示出。值得注意的是,sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_ts_residual_coding_rice_index可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
图7示出了用于视频解码的方法。例如,所述方法可以应用于编码器。在步骤1710中,编码器可以接收视频输入。在步骤1712中,编码器可以用信号表示用于编解码语法元素的二进制码字的莱斯参数。编解码语法元素可以包括变换跳过残差编解码中的abs_remainder。在步骤1714中,编码器可以基于莱斯参数和视频输入对视频比特流进行熵编码。
条带头语法
表24.残差编解码的语法
等于1指定当前条带中可能存在sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_residual_coding_rice_index。sh_residual_coding_rice_flag等于0指定当前条带中不存在sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_residual_coding_rice_index。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的移位参数。当sh_residual_coding_rice_shift不存在时,推断sh_residual_coding_rice_shift的值等于0。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的偏移参数。当sh_residual_coding_rice_offset不存在时,推断sh_residual_coding_rice_offset的值等于0。
指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_index不存在时,推断sh_ts_residual_coding_rice_index的值等于0。
表25.莱斯参数推导过程
表26.莱斯参数推导过程
在另一个示例中,在序列参数集中(或在序列参数集范围扩展语法中)用信号表示一个控制标志,以指示用于变换跳过块的莱斯参数的信号传输和用于得到变换块中的莱斯参数的移位参数和/或偏移参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,为每个变换跳过条带进一步用信号表示一个语法元素以指示该条带的莱斯参数,并且为每个变换条带进一步用信号表示两个语法元素以指示用于得到该条带的莱斯参数的移位参数和/或偏移参数。当控制标志用信号表示为禁用(例如设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示变换跳过条带的莱斯参数,而是对所有变换跳过条带使用默认的莱斯参数(例如1),并且在较低的级别上没有用信号表示进一步的语法元素来指示用于得到变换条带的莱斯参数的移位参数和/或偏移参数,而是对所有变换条带使用默认的移位参数和/或偏移参数(例如0)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如,0、1、2)。对VVC草案的更改在表27中用粗体和斜体字体示出。值得注意的是,sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
序列参数集RBSP语法
表27.残差编解码的语法
等于1指定引用SPS的SH语法结构中可能存在sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_ts_residual_coding_rice_idx。sps_residual_coding_info_present_in_sh_flag等于0指定引用SPS的SH语法结构中不存在sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_ts_residual_coding_rice_idx。当sps_residual_coding_info_present_in_sh_flag不存在时,推断sps_residual_coding_info_present_in_sh_flag的值等于0。
条带头语法
表28.残差编解码的语法
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的移位参数。当sh_residual_coding_rice_shift不存在时,推断sh_residual_coding_rice_shift的值等于0。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的偏移参数。当sh_residual_coding_rice_offset不存在时,推断sh_residual_coding_rice_offset的值等于0。
指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_index不存在时,推断sh_ts_residual_coding_rice_index的值等于0。
表29.莱斯参数推导过程
表30.莱斯参数推导过程
在又另一个示例中,为每个变换跳过条带用信号表示一个语法元素以指示该条带的莱斯参数,并且为每个变换条带用信号表示两个语法元素以指示用于得到该条带的莱斯参数的移位参数和/或偏移参数。下文图示了基于VVC草案的对应解码过程的示例。对VVC草案的更改在表31中用粗体和斜体字体示出。值得注意的是,sh_residual_coding_rice_shift、sh_residual_coding_rice_offset和sh_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
条带头语法
表31.残差编解码的语法
指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_idx不存在时,推断sh_ts_residual_coding_rice_idx的值等于0。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的偏移参数。当sh_residual_coding_rice_offset不存在时,推断sh_residual_coding_rice_offset的值等于0。
sh_ts_residual_coding_rice_idx指定用于residual_ts_coding()语法结构的莱斯参数。当sh_ts_residual_coding_rice_index不存在时,推断sh_ts_residual_coding_rice_index的值等于0。
表32.莱斯参数推导过程
表33.莱斯参数推导过程
在又另一个示例中,在图片参数集范围扩展语法中用信号表示一个控制标志,以指示用于变换跳过块的莱斯参数的信号传输和用于得到变换块中的莱斯参数的移位参数和/或偏移参数的信号传输是启用还是禁用。当控制标志用信号表示为启用时,进一步用信号表示一个语法元素以指示用于该图片的变换跳过残差编解码的莱斯参数,并且针对常规残差编解码进一步用信号表示两个语法元素以指示用于得到该图片的莱斯参数的移位参数和/或偏移参数。当控制标志用信号表示为禁用(例如设置为等于“0”)时,在较低的级别上没有用信号表示进一步的语法元素来指示用于变换跳过残差编解码的莱斯参数,而是对所有变换跳过残差编解码使用默认的莱斯参数(例如1),并且在较低的级别上没有用信号表示进一步的语法元素来指示用于得到用于常规残差编解码的莱斯参数的移位参数和/或偏移参数,而是对所有常规残差编解码使用默认的移位参数和/或偏移参数(例如0)。基于VVC草案的对应解码过程的示例如下所示,其中,TH是预定义值(例如0、1、2)。对VVC草案的更改在表34中用粗体和斜体字体示出。值得注意的是,pps_residual_coding_rice_shift、pps_residual_coding_rice_offset和pps_ts_residual_coding_rice_idx可以用不同的方式进行编解码和/或可能有最大值。例如,u(n),使用n位的无符号整数,或f(n),使用n位(从左到右)以左位先写的固定模式位串,也可以用于对相同的语法元素进行编码/解码。
图片参数集范围扩展语法
表34.残差编解码的语法
等于1指定当前图片中可能存在pps_residual_coding_rice_shift、pps_residual_coding_rice_offset和pps_ts_residual_coding_rice_index。pps_residual_coding_info_flag等于0指定当前图片中不存在pps_residual_coding_rice_shift、pps_residual_coding_rice_offset,和pps_ts_residual_coding_rice_idx。当pps_residual_coding_info_flag不存在时,推断pps_residual_coding_info_flag的值等于0。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的移位参数。当pps_residual_coding_rice_shift不存在时,推断pps_residual_coding_rice_shift的值等于0。
指定用于abs_remainder[]和dec_abs_level[]的莱斯参数推导过程的偏移参数。当pps_residual_coding_rice_offset不存在时,推断pps_residual_coding_rice_offset的值等于0。
指定用于residual_ts_coding()语法结构的莱斯参数。当pps_ts_residual_coding_rice_index不存在时,推断pps_ts_residual_coding_rice_index的值等于0。
表35.莱斯参数推导过程
表36.莱斯参数推导过程
根据本公开的一个或多个示例,提出使用不同的莱斯参数对某些语法元素(例如变换跳过残差编解码中的abs_remainder、用于得到常规残差编解码中用于abs_remainder/dec_abs_level的莱斯参数的移位参数和偏移参数)进行编解码,并且根据当前块的某些已编码信息(例如与TB/CB和/或条带/简档相关联的量化参数或编解码比特深度)和/或根据与TB/CB/条带/图片/序列级别相关联的新标志(例如sps_residual_coding_info_present_in_sh_flag)来确定要使用哪一个。
在一个示例中,在条带头中用信号表示一个控制标志,以指示用于变换跳过块的莱斯参数的推导过程和用于变换块中的莱斯参数的移位参数和/或偏移参数的推导过程是启用还是禁用。当控制标志用信号表示为启用时,根据当前块的某些已编码信息(例如,量化参数和比特深度),莱斯参数在不同条件下可能是不同的。并且根据当前块的某些已编码信息(例如,量化参数和比特深度),用于得到常规残差编解码中的莱斯参数的移位参数和/或偏移参数在不同条件下可能是不同的。当控制标志用信号表示为禁用(例如,设置为等于“0”),对所有变换跳过条带使用默认的莱斯参数(例如,1),并且对所有变换条带使用默认的移位参数和/或偏移参数(例如,0)。基于VVC草案的对应解码过程的示例如下所示,其中,THA和THB是预定义阈值(例如,THA=8、THB=18或19)。对VVC草案的更改在表37中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
条带头语法
表37.残差编解码的语法
等于1指定在当前条带中使用比特深度相关的莱斯参数推导过程。sh_residual_coding_rice_flag等于0指定在当前条带中不使用比特深度相关的莱斯参数推导过程。
表38.莱斯参数推导过程
表39.莱斯参数推导过程
在又另一个示例中,基于VVC草案的对应解码过程如下所示,其中,TH是预定义阈值(例如,18、19)。对VVC草案的更改在表40中用粗体和斜体字体示出。值得注意的是,相同的逻辑在实践中可以有不同的实施方式。例如,也可以使用某些方程或查找表来得到相同的莱斯参数。
表40.莱斯参数推导过程
根据本公开的另一方面,提出添加上述这些编解码工具的值所标记的约束,以提供与通用约束信息中的其他约束相同的通用约束控制。
例如,等于1指定引用SPS的SH语法结构中可能存在sh_ts_residual_coding_rice_idx。等于0指定引用SPS的SH语法结构中不存在sh_ts_residual_coding_rice_idx。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
在另一个示例中,等于1指定当前图片中可能存在pps_ts_residual_coding_rice_index。等于0指定当前图片中不存在pps_ts_residual_coding_rice_idx。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
在又另一个示例中,等于1指示用于abs_remainder[]和dec_abs_level的二值化的莱斯参数可以通过公式得到。
所述公式可以包括:RiceParam=RiceParam+shiftVal和shiftVal=(localSumAbs<Tx[0])?Rx[0]:((localSumAbs<Tx[1])?Rx[1]:((localSumAbs<Tx[2])?Rx[2]:((localSumAbs<Tx[3])?Rx[3]:Rx[4]))),
其中,列表Tx[]和Rx[]如下指定:Tx[]={32,128,512,2048}>>(1523)Rx[]={0,2,4,6,8}
根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
由于所提出的莱斯参数自适应方案只用于变换跳过残差编解码(TSRC),因此所提出的方法只有在启用TSRC时才能生效。相应地,在本公开的一个或多个实施例中,提出增加一个比特流约束,要求当从通用约束信息级别禁用变换跳过模式时,例如当gci_no_transform_skip_constraint_flag的值被设置为一时,gci_no_rice_adaptation_constraint_flag的值为一。
在又另一个示例中,sps_range_extension_flag等于1指定sps_range_extension()语法结构存在于SPS RBSP语法结构中。sps_range_extension_flag等于0指定该语法结构不存在。根据本公开,提出在通用约束信息语法中添加语法元素gci_no_range_extension_constraint_flag,以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图9示出了根据本公开的一个示例的用于视频编解码的方法。例如,所述方法可以应用于解码器。在步骤1902中,解码器可以接收序列参数集(SPS)范围扩展标志,所述SPS范围扩展标志基于SPS范围扩展标志的值指示条带头(SH)原始字节序列载荷(RBSP)语法结构中是否存在语法结构sps_range_extension。
在步骤1904中,响应于确定SPS范围扩展标志的值等于1,解码器可以确定SH RBSP语法结构中存在sps_range_extension。
在步骤1906中,响应于确定范围扩展标志的值等于0,解码器可以确定SH RBSP语法结构中不存在sps_range_extension。
在又另一个示例中,sps_cabac_bypass_alignment_enabled_flag等于1指定ivlCurrRange的值可以在语法元素sb_coded_flag[][]、abs_remainder[]、dec_abs_level[n]和coeff_sign_flag[]的旁路解码之前进行对齐。sps_cabac_bypass_alignment_enabled_flag等于0指定ivlCurrRange的值在旁路解码前未对齐。根据本公开,提出在通用约束信息语法中添加语法元素gci_no_cabac_bypass_alignment_constraint_flag,以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图10示出了根据本公开的一个示例的用于视频编解码的方法。例如,所述方法可以应用于解码器。在步骤2002中,解码器可以接收序列参数集(SPS)对齐启用标志,所述SPS对齐启用标志指示在基于SPS对齐启用的值对语法元素sb_coded_flag、abs_remainder、dec_abs_level和coeff_sign_flagn进行旁路解码之前索引ivlCurrRange是否对齐。
在步骤2004中,响应于确定SPS对齐启用标志的值等于1,解码器可以确定ivlCurrRange在旁路解码之前已对齐。
在步骤2006中,响应于确定SPS对齐启用标志的值等于0,解码器可以确定ivlCurrRange在旁路解码之前没有对齐。
在又另一个示例中,extended_precision_processing_flag等于1指定扩展动态范围可以用于变换系数和变换处理。extended_precision_processing_flag等于0指定未使用扩展动态范围。根据本公开,提出在通用约束信息语法中添加语法元素gci_no_extended_precision_processing_constraint_flag,以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图11示出了根据本公开的一个示例的用于视频编解码的方法。例如,所述方法可以应用于解码器。在步骤2102中,解码器可以接收扩展精度处理标志,所述扩展精度处理标志指示针对变换系数并在基于扩展精度处理标志的值进行变换处理期间是否采用扩展动态范围。
在步骤2104中,响应于确定扩展精度处理标志的值等于1,解码器可以确定针对变换系数并在变换处理期间采用扩展动态范围。
在步骤2106中,响应于确定扩展精度处理标志的值等于0,解码器可以确定针对变换系数或在变换处理期间不采用扩展动态范围。
在又另一个示例中,persistent_rice_adaptation_enabled_flag等于1指定可以在每个子块开始时使用从以前的子块积累的模式相关统计数据来初始化用于abs_remainder[]和dec_abs_level的二值化的莱斯参数推导。persistent_rice_adaptation_enabled_flag等于0指定在莱斯参数推导中没有使用以前的子块状态。根据本公开,提出在通用约束信息语法中添加语法元素gci_no_persistent_rice_adaptation_constraint_flag,以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图12示出了根据本公开的一个示例的用于视频编解码的方法。例如,所述方法可以应用于解码器。在步骤2202中,解码器可以接收持久性莱斯自适应启用标志,所述自适应启用标志基于所述持久性莱斯自适应启用标志的值指示在每个子块开始时是否采用了从以前的子块积累的模式相关统计数据来初始化用于abs_remainder和dec_abs_level的二值化的莱斯参数推导。
在步骤2204中,响应于确定持久性莱斯自适应启用标志的值等于1,解码器可以确定在每个子块开始时采用了从以前的子块积累的模式相关统计数据来初始化用于二值化的莱斯参数推导。
在步骤2206中,响应于确定持久性莱斯自适应启用标志的值等于0,解码器可以确定在莱斯参数推导中未采用以前的子块状态。
在又另一个示例中,等于1指定启用了用于abs_remainder[]和dec_abs_level[]的二值化的莱斯参数推导的扩展。等于0指定禁用了用于abs_remainder[]和dec_abs_level[]的二值化的莱斯参数推导的扩展。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分在下面用斜体字说明。
图17示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤2702中,解码器可以接收SPS莱斯扩展标志,所述扩展标志指示是否启用了用于abs_remainder和dec_abs_level的二值化的莱斯参数推导的扩展。
在步骤2704中,响应于确定SPS莱斯扩展标志的值等于1,解码器可以确定启用了用于二值化的莱斯参数推导的扩展。
在步骤2706中,响应于确定SPS莱斯扩展标志的值等于0,解码器可以确定禁用了用于二值化的莱斯参数推导的扩展。
在又另一个示例中,等于1指定可以在每个TU开始时使用从以前的TU积累的统计数据来初始化用于abs_remainder[]和dec_abs_level[]的二值化的莱斯参数推导。等于0指定在莱斯参数推导中没有使用以前的TU状态。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分在下面用斜体字说明。
图18示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤2802中,解码器可以接收SPS莱斯自适应启用标志,所述自适应启用标志指示在每个变换单元开始时是否用从以前的TU积累的统计数据来初始化用于abs_remainder和dec_abs_level的二值化的莱斯参数推导。
在步骤2804中,响应于确定SPS莱斯自适应启用标志的值等于1,解码器可以确定在每个TU开始时用从以前的TU积累的统计数据来初始化用于二值化的莱斯参数推导。
在步骤2806中,响应于确定SPS莱斯自适应启用标志的值等于0,解码器可以确定在莱斯参数推导中未采用以前的TU状态。
在又另一个示例中,等于1指定引用SPS的slice_header()语法结构中存在sh_reverse_last_sig_coeff_flag。等于0指定引用SPS的slice_header()语法结构中不存在sh_reverse_last_sig_coeff_flag。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
等于1指定当前条带的每个变换块的最后有效系数的坐标相对于((Log2ZoTbWidth<<1)-1,(Log2ZoTbHeight<<1)-1)进行编解码。sh_reverse_last_sig_coeff_flag等于0指定当前条带的每个变换块的最后有效系数的坐标相对于(0,0)进行编解码。当不存在时,推断sh_reverse_last_sig_coeff_flag的值等于0。
图19示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤2902中,解码器可以接收最后有效系数的SPS反转坐标启用标志,该最后有效系数的SPS反转坐标启用标志指示在引用SPS的条带头语法结构中是否存在最后有效系数的SH反转坐标启用标志。
在步骤2904中,响应于确定最后有效系数的SPS反转坐标启用标志的值等于1,解码器可以确定在引用SPS的条带头语法结构中存在最后有效系数的SH反转坐标启用标志。
在步骤2906中,响应于确定最后有效系数的SPS反转坐标启用标志的值等于0,解码器可以确定在引用SPS的条带头语法结构中不存在最后有效系数的SH反转坐标启用标志。
在又另一个示例中,等于1指定在变换系数的缩放过程中以及在经缩放变换系数的变换过程中的下移是通过检查去量化和逆变换的系数值而自适应地分配的。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图20示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤3002中,解码器可以接收SPS变换精度自适应启用标志,所述变换精度自适应启用标志指示在变换系数的缩放过程中以及在经缩放变换系数的变换过程中的下移是否是通过检查去量化和逆变换的系数值而自适应地分配的。
在步骤3004中,响应于确定SPS变换精度自适应启用标志的值等于1,解码器可以确定在变换系数的缩放过程中以及在经缩放变换系数的变换过程中的下移是通过检查去量化和逆变换的系数值而自适应地分配的。
在又另一个示例中,等于1指定残差编解码中除RRC中的最后有效系数位置之外的所有语法元素都是通过旁路模式进行编解码的,并且只需要在RRC中的最后有效系数位置之后和TSRC中的TB的最开始处对齐一次。根据本公开,提出在通用约束信息语法中添加语法元素以提供与其他标志相同的一般约束控制。下文图示了关于VVC草案的解码过程的示例。突出显示了对VVC草案的更改。增加的部分用斜体字体突出显示。
图21示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤3102中,解码器可以接收SPS高通量标志,所述高通量标志指示残差编解码中的语法元素是否通过旁路模式进行编解码。
在步骤3104中,响应于确定SPS高通量标志的值等于1,解码器可以确定残差编解码中除常规残差编解码(RRC)中的最后有效系数位置之外的所有语法元素都是通过旁路模式进行编解码的,并且在RRC中的最后有效系数位置之后和变换跳过残差编解码(TSRC)中的变换块(TB)的开始时执行对齐。
上述方法可以使用包括一个或多个电路的装置来实施,所述一个或多个电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子部件。所述装置可以将这些电路与用于执行上文描述的方法的其他硬件或软件部件结合使用。上文公开的每个模块、子模块、单元或子单元都可以使用所述一个或多个电路来至少部分地实施。
莱斯参数决策
在编码器端,TSRC编码可能需要多个编码遍次才能得到最佳的莱斯参数。这种多遍编码可能不适合实际的硬件编码器设计。为了解决这个问题,还提出了一种低延时TSRC编码方法。根据本公开的一个或多个示例,提出根据当前条带的某些已编码信息(例如,与条带/图片/序列相关联的量化参数和/或编解码比特深度)和/或根据与条带/图片/序列级别相关联的哈希率来得到莱斯参数。可以使用不同的方法来得到莱斯参数,下面列出了一些示例性方法。注意,以下方法可以单独使用,也可以联合使用。
1.上述实施例中提到的莱斯参数可以另外地取决于视频分辨率,包括视频的时间分辨率(例如,帧率)和空间分辨率(例如,图片宽度和高度)。
2.莱斯参数可以在序列级别、图片级别、条带级别和/或任何预定义区域上变化。在一个具体示例中,不同的莱斯值用于具有不同时间层ID的图片(这与VVC规范中指定的nuh_temporal_id_plus1有关)。替代性地,莱斯参数可以包括基于在序列级别、图片级别、条带级别和/或任何预定义区域上使用的QP值确定的值。例如,莱斯参数=Clip3(1,8,(TH–QP)/6),其中,TH是预定义阈值(例如,18、19)。
3.根据当前条带与上一个条带之间的已编码信息的变化,莱斯参数可以设置为默认值,例如1。在一个具体示例中,当图片的时间层ID与上一个图片相比发生变化时,为图片使用默认的莱斯值。替代性地,当ΔQ大于TH时,为图片使用默认的莱斯值,其中,ΔQ被计算为abs(QPcurrent-QPprevious),并且TH是预定义阈值。莱斯参数(例如,0、5)。例如,在当前条带中的帧内块复制模式的哈希率大于TH时,莱斯参数=1,其中,TH是预定义阈值,例如,最大值(41*(CTU数量),4200)。
4.基于abs_remainder的值的每个条带的莱斯参数根据编解码顺序在其前一个条带中进行编解码。在一个具体示例中,在对一个条带进行编解码之后,计算使用不同的莱斯参数对abs_remainder进行二值化的二进制位数,然后使用所述二进制位数来确定后续条带的莱斯参数。例如,将为当前条带选择在前一个条带中达到最小二进制位数的莱斯参数。再比如,如果当前条带和其前一个条带使用一个相同的QP,则将为当前条带选择在前一个条带中达到最小二进制位数的莱斯参数;否则,在与其他莱斯参数比较之前,使用前一个条带中的默认莱斯参数(即1)生成的二进制位数将按TH进行缩放,并且将为当前条带选择导致最小二进制位数的莱斯参数,其中,TH是预定义阈值,例如0.9。
5.每个条带的莱斯参数都基于根据编解码顺序在其前一个条带中进行编解码的abs_remainer的值,并且可以根据当前条带与上一个条带之间的已编码信息的变化来调整莱斯参数。在一个具体示例中,将为当前条带选择在前一个条带中达到最小二进制位数的莱斯参数。并且当ΔQ大于TH时,可以调整莱斯值,其中,ΔQ被计算为abs(QPcurrent-QPprevious)并且TH是预定义阈值。莱斯参数(例如,0、5)。调整可以是增加预定义偏移量(例如,+1、-1)或按预定义值缩放。
比特流约束
在本公开的一个或多个示例中,提出禁用用于变换跳过残差编解码的莱斯参数和用于低比特深度编解码的高比特深度工具的存在。在一个具体示例中,为了实现这样的目的,提出增加比特流一致性的要求,所述要求指示在如HEVC或其语义的简档定义中,对于小于或等于10的比特深度,这样的工具应该被禁用。
例如,等于1指定引用SPS的SH语法结构中可能存在sh_ts_residual_coding_rice_idx。对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
在另一个示例中,等于1指定启用了用于abs_remaining[]和dec_abs_level[]的二值化的莱斯参数推导的扩展。等于0指定禁用了用于abs_remaining[]和dec_abs_level[]的二值化的莱斯参数推导的扩展。根据本公开,对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
在又另一个示例中,等于1指定可以在每个TU开始时使用从以前的TU积累的统计数据来初始化用于abs_remainder[]和dec_abs_level[]的二值化的莱斯参数推导。等于0指定在莱斯参数推导中没有使用以前的TU状态。根据本公开,对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
在又另一个示例中,等于1指定引用SPS的slice_header()语法结构中存在sh_reverse_last_sig_coeff_flag。等于0指定引用SPS的slice_header()语法结构中不存在sh_reverse_last_sig_coeff_flag。根据本公开,对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
在又另一个示例中,等于1指定残差编解码中的语法元素是通过旁路模式进行编解码的。根据本公开,对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
此外,值得一提的是,所提出的关于编解码比特深度的比特流一致性约束sps_ts_residual_coding_rice_present_in_sh_flag与关于变换跳过标志的条带级别标志的条件信号(即,sps_transform_skip_enabled_flag)正交。在实施例中,在这样的组合中,使用标志sps_transform_skip_enabled_flag来限制sps_ts_residual_coding_rice_present_in_sh_flag的存在。同时,一致性比特流还被应用以要求只有当编解码比特深度的值大于10时,sps_ts_residual_coding_rice_present_in_sh_flag才能等于1。下面说明了应用这种方法时的SPS语法表和语义变化:
等于1指定引用SPS的SH语法结构中可能存在sh_ts_residual_coding_rice_idx。对当前VVC工作草案的更改如下。
比特流一致性的要求是,当比特深度小于或等于10时,的值应该等于0。
图22示出了根据本公开的一个示例的用于视频解码的方法。例如,所述方法可以应用于解码器。在步骤3202中,解码器可以确定比特流中的至少一个样点的编解码比特深度。在步骤3204中,解码器可以确定所述至少一个样点的第一SPS标志的值。在步骤3206中,解码器可以基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志。在一些示例中,解码器可以基于第一SPS标志来确定第二SPS标志的存在,或者基于编解码比特深度来确定第二SPS标志的值。在一些示例中,解码器可以基于第一SPS标志和编解码比特深度来确定第二SPS标志的存在。在一些示例中,解码器可以基于第一SPS标志和编解码比特深度来确定第二SPS标志的值。在一些其他示例中,解码器可以基于编解码比特深度来确定第二SPS标志的值,而不管第一SPS标志的值如何。
在另一个实施例中,代替应用比特流一致性,提出直接使用比特深度以及标志sps_transform_skip_enabled_flag来限制标志sps_ts_residual_coding_rice_present_in_sh_flag的信号传输。具体地,通过这样的方法,只有当sps_transform_skip_enabled_flag等于1并且编解码比特深度大于10时才用信号表示标志sps_ts_residual_coding_rice_present_in_sh_flag的值,如下所示
图16示出了根据本公开的一个示例的低延时变换跳过残差编解码(TSRC)方法的流程图。例如,所述方法可以应用于编码器。在步骤2602中,编码器可以基于视频的当前条带的已编码信息来得到莱斯参数。已编码信息可以包括以下参数中的一个或多个:与视频的条带、图片或序列相关联的量化参数或编解码比特深度;或与视频的条带、图片或序列相关联的哈希率。
应注意,上述编码器方法可以应用于解码器端。在一个具体示例中,莱斯参数不需要用信号传输到解码器,并且编码器/解码器使用相同的方法来得到莱斯参数。
图8示出了与用户界面1860耦接的计算环境1810。计算环境1810可以是数据处理服务器的一部分。计算环境1810包括处理器1820、存储器1840以及I/O接口1850。
处理器1820通常控制计算环境1810的整体操作,比如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器1820可以包括用于执行指令的一个或多个处理器,以执行上文描述的方法中的所有或一些步骤。而且,处理器1820可以包括促进处理器1820与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
存储器1840被配置为存储各种类型的数据,以支持计算环境1810的操作。存储器1840可以包括预定软件1842。这种数据的示例包括用于在计算环境1810上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器1840可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,比如静态随机存取存储器(SRAM)、电可擦可编程只读存储器(EEPROM)、可擦可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口1850提供处理器1820与外围接口模块(如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1850可以与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括多个程序,这些程序比如包括在存储器1840中、可由计算环境1810中的处理器1820执行、用于执行上文描述的方法。例如,所述非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备等。
所述非暂态计算机可读存储介质中存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时使所述计算设备执行上文描述的用于运动预测的方法。
在一些实施例中,计算环境1810可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器、或其他电子部件来实施,用于执行上述方法。
图13是图示了根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性系统10的框图。如图13所示,系统10包括源设备12,所述源设备生成并编码要由目的地设备14在稍后时间解码的视频数据。源设备12和目的地设备14可以包括多种电子设备中的任一种,所述多种电子设备包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的经编码视频数据。链路16可以包括能够将经编码视频数据从源设备12移到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括用于使源设备12能够实时地将经编码视频数据直接传输到目的地设备14的通信介质。已编码视频数据可以根据如无线通信协议等通信标准来调制并传输到目的地设备14。通信媒体可以包括任何无线或有线通信媒体,如射频(RF)频谱或一或多条物理传输线。通信介质可以形成基于分组的网络(如局域网、广域网、或全球网(如因特网))的一部分。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备12到目的地设备14的通信的任何其他装置。
在一些其他实施方式中,已编码视频数据可以从输出接口22传输到存储设备32。随后,存储设备32中的经编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字通用盘(DVD)、光碟只读存储器(CD-ROM)、闪速存储器、易失性存储器或非易失性存储器、或用于存储经编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于可以保持由源设备12生成的经编码视频数据的文件服务器或另一个中间存储设备。目的地设备14可以经由流传输或下载从存储设备32访问所存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将经编码视频数据传输到目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接访问经编码视频数据,所述连接包括适于访问存储在文件服务器上的经编码视频数据的无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)、或两者的组合。从存储设备32传输经编码视频数据可以是流式传输、下载传输、或两者的组合。
如图13中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括如视频捕获设备等源,例如摄像机、包含先前捕获的视频的视频档案、用于从视频内容提供方接收视频的视频馈送接口和/或用于生成计算机图形数据作为源视频的计算机图形系统或这些源的组合。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目的地设备14可以形成拍照电话或视频电话。然而,本申请中描述的实施方式通常可以适用于视频编解码并且可以应用于无线和/或有线应用。
捕获的、预先捕获的、或计算机生成的视频可以由视频编码器20进行编码。经编码视频数据可以经由源设备12的输出接口22直接传输到目的地设备14。经编码视频数据也可以(或替代性地)存储到存储设备32上,以供目的地设备14或其他设备以后访问,以进行解码和/或回放。输出接口22可以进一步包括调制解调器和/或发射器。
目的地设备14包括输入接口28、视频解码器30、以及显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收经编码视频数据。通过链路16传送的或提供在存储设备32上的经编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30用于解码视频数据。这种语法元素可以被包括于在通信介质上传输的、存储在存储介质上的、或存储在文件服务器上的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,所述显示设备可以是集成显示设备和被配置为与目的地设备14通信的外部显示设备。显示设备34向用户显示经解码视频数据并且可以包括各种显示设备中的任一种,如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第10部分、AVC、或这种标准的扩展)进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常设想,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行编码。类似地,通常还设想,目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行解码。
视频编码器20和视频解码器30各自可以实施为各种合适的编码器和/或解码器电路中的任一种,如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施时,电子设备可以将用于软件的指令存储在合适的非暂态计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以包括在一个或多个编码器或解码器中,所述一个或多个编码器或解码器中的任一个可以集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
图14是图示了根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行对视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编解码依赖于空间预测来减少或去除给定视频帧或图片内的视频数据的空间冗余。帧间预测编解码依赖于时间预测以减少或去除视频序列的邻近视频帧或图片内的视频数据的时间冗余。应该注意的是,在视频编解码领域,术语“帧”可以用作术语“图像”或“图片”的同义词。
如图14中所示,视频编码器20包括视频数据存储器40、预测处理单元41、经解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54、以及熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分区单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重构的逆量化单元58、逆变换处理单元60、以及加法器62。比如去块滤波器等环路滤波器63可以位于加法器62与DPB 64之间,以对块边界进行滤波,以从重建的视频中去除块效应伪像。除了去块滤波器之外,还可以使用另一个环路滤波器(如样点自适应偏移(SAO)滤波器和/或自适应环路滤波器(ALF))对加法器62的输出进行滤波。在一些示例中,可以省略环路滤波器,并且解码后的视频块可以由加法器62直接提供给DPB 64。视频编码器20可以采用固定或可编程硬件单元的形式,或者可以在所图示的固定或可编程硬件单元中的一个或多个之中进行划分。
视频数据存储器40可以存储要由视频编码器20的部件编码的视频数据。例如,可以从如图13所示的视频源18获得视频数据存储器40中的视频数据。DPB 64是存储参考视频数据(例如,参考帧或图片)以用于由视频编码器20对视频数据进行编码(例如,在帧内预测编解码模式或帧间预测编解码模式下)的缓冲器。视频数据存储器40和DPB 64可以由多种存储器设备中的任何一种形成。在各个示例中,视频数据存储器40可以与视频编码器20的其他部件一起在片上,或者相对于那些部件在片外。
如图14中所示,在接收到视频数据之后,预测处理单元41内的分区单元45将视频数据分区为视频块。该分区还可以包括根据预定义的分割结构(如与视频数据相关联的四叉树(QT)结构)将视频帧分区为条带、瓦片(例如,视频块集)、或其他更大的编码单元(CU)。视频帧是或可以被看作是具有样点值的二维样点阵列或矩阵。阵列中的样点也可以称为像素(pixel或pel)。阵列或图片的水平和竖直方向(或轴)上的许多样点定义了视频帧的尺寸和/或分辨率。例如,可以通过使用QT分区将视频帧划分为多个视频块。视频块再次是或可以被看作是具有样点值的二维样点阵列或矩阵,但是其维度小于视频帧。视频块的水平和竖直方向(或轴)上的许多样点定义了视频块的尺寸。可以通过例如迭代地使用QT分区、二叉树(BT)分区或三叉树(TT)分区或其任何组合将视频块进一步划分为一个或多个块分区或子块(这些子块可以再次形成块)。应该注意的是,本文使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。例如,参照HEVC和VVC,块或视频块可以是或对应于编码树单元(CTU)、CU、预测单元(PU)或变换单元(TU),和/或可以是或对应于对应的块(例如,编码树块(CTB)、编码块(CB)、预测块(PB)或变换块(TB))和/或对应于子块。
预测处理单元41可以基于误差结果(例如,编码率和失真水平)为当前视频块选择多个可能的预测编解码模式之一,如多个帧内预测编解码模式之一或多个帧间预测编解码模式之一。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重构经编码块以随后用作参考帧的一部分。预测处理单元41还将如运动矢量、帧内模式指示符、分区信息、以及其他这种语法信息等语法元素提供给熵编码单元56。
为了为当前视频块选择适当的帧内预测编解码模式,预测处理单元41内的帧内预测处理单元46可以相对于与要编码的当前块相同的帧中的一个或多个相邻块执行对当前视频块的帧内预测编码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块执行对当前视频块的帧间预测编码,以提供时间预测。视频编码器20可以执行多个编解码遍次,例如,以便为视频数据的每个块选择适当的编解码模式。
在一些实施方式中,运动估计单元42根据视频帧序列内的预定模式通过生成运动矢量来确定当前视频帧的帧间预测模式,所述运动矢量指示当前视频帧内的视频块相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,所述过程估计了视频块的运动。运动矢量例如可以指示当前视频帧或图片内的视频块相对于参考帧内的预测块的位移,所述预测块相对于在当前帧内编解码的当前块。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定运动矢量以进行帧间预测的方式类似的方式确定用于进行帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元42来确定块矢量。
视频块的预测块可以是或可以对应于参考帧的块或参考块,所述参考帧被认为在像素差方面与要编码的视频块紧密匹配,所述像素差可以由绝对差和(SAD)、平方差和(SSD)或其他差值度量来确定。在一些实施方式中,视频编码器20可以计算存储在DPB 64中的参考帧的子整数像素位置的值。例如,视频编码器20可以插入参考帧的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且以分数像素精度输出运动矢量。
运动估计单元42通过将视频块的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较来计算帧间预测编码帧中的视频块的运动矢量,所述列表中的每一个标识存储在DPB 64中的一个或多个参考帧。运动估计单元42将经计算的运动矢量发送到运动补偿单元44,并且然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量获取或生成预测块。在接收到当前视频块的运动矢量后,运动补偿单元44可以在参考帧列表中的一个中定位运动矢量所指向的预测块,从DPB 64取得预测块并且将预测块转发到加法器50。然后,加法器50通过从被编码的当前视频块的像素值中减去由运动补偿单元44提供的预测块的像素值来形成具有像素差值的残差视频块。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在对视频帧的视频块进行解码时使用。语法元素可以包括例如定义用于标识预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以是高度集成的,但是出于概念性目的而分别图示。
在一些实施方式中,帧内BC单元48可以以与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成矢量并且获取预测块,但是其中预测块与被编码的当前块处于同一帧中,并且其中相对于运动矢量,所述矢量被称为块矢量。具体地,帧内BC单元48可以确定帧内预测模式以用于对当前块进行编码。在一些示例中,帧内BC单元48可以例如在单独的编码遍次期间使用各种帧内预测模式对当前块进行编码,并且通过率失真分析来测试其性能。接下来,帧内BC单元48可以在各种经测试帧内预测模式中选择适当的帧内预测模式来使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用针对各种测试的帧内预测模式的率失真分析来计算率失真值并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的适当的帧内预测模式。率失真分析通常确定已编码块与原始的未编码块(被编码以产生已编码块)之间的失真(或误差)量以及用于产生已编码块的比特率(即,比特数)。帧内BC单元48可以根据各个已编码块的失真和速率来计算比值,以确定哪个帧内预测模式展现出块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44,以根据本文描述的实施方式执行用于帧内BC预测的这种功能。在任一种情况下,对于帧内块复制,预测块可以是就像素差而言被认为与要编码的块紧密匹配的块,所述像素差可以由SAD、SSD或其他差值度量来确定,并且预测块的识别可以包括计算子整数像素位置的值。
无论预测块是根据帧内预测来自同一帧还是根据帧间预测来自不同帧,视频编码器20都可以通过从被编解码的当前视频块的像素值中减去预测块的像素值从而形成像素差值来形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差值和色度分量差值。
如上文描述的,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测、或者由帧内BC单元48执行的帧内块复制预测的替代方案。具体地,帧内预测处理单元46可以确定帧内预测模式以用于对当前块进行编码。为此,帧内预测处理单元46可以例如在单独的编码遍次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测处理单元46(或在一些示例中为模式选择单元)可以从经测试帧内预测模式中选择适当的帧内预测模式来使用。帧内预测处理单元46可以将指示块的所选帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以对指示比特流中的所选帧内预测模式的信息进行编码。
在预测处理单元41经由帧间预测或帧内预测确定当前视频块的预测块之后,加法器50通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个TU中,并且被提供给变换处理单元52。变换处理单元52使用如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换为残差变换系数。
变换处理单元52可以将所得的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减小与系数中的一些或所有系数相关联的比特深度。量化程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括经量化的变换系数的矩阵的扫描。替代性地,熵编码单元56可以执行扫描。
量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分区熵(PIPE)编解码或其他熵编码方法或技术将量化变换系数熵编码为视频比特流。然后可以将经编码比特流传输到如图13所示的视频解码器30,或将其存档到如图13所示的存储设备32中,以供以后传输到视频解码器30或由所述视频解码器取得。熵编码单元56还可以对被编解码的当前视频帧的运动矢量和其他语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重构残差视频块,以生成用于预测其他视频块的参考块。如上所述,运动补偿单元44可以从DPB64中存储的帧的一个或多个参考块中生成经运动补偿的预测块。运动补偿单元44还可以将一个或多个内插滤波器应用于预测块以计算用于运动估计中的子整数像素值。
加法器62将重构的残差块添加到由运动补偿单元44产生的经运动补偿的预测块,以产生参考块用于存储在DPB 64中。参考块然后可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一个视频块进行帧间预测。
图15是图示了根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、加法器90、以及DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测单元84和帧内BC单元85。视频解码器30可以执行与上文结合图14关于视频编码器20所描述的编码过程相反的解码过程。例如,运动补偿单元82可以基于从熵解码单元80接收到的运动矢量生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收到的帧内预测模式指示符生成预测数据。
在一些示例中,视频解码器30的单元可以被指派执行本申请的实施方式。同样,在一些示例中,本公开的实施方式可以在视频解码器30的一个或多个单元之间进行划分。例如,帧内BC单元85可以单独或与视频解码器30的其他单元(如运动补偿单元82、帧内预测单元84、以及熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他部件(如运动补偿单元82)执行。
视频数据存储器79可以存储要由视频解码器30的其他部件解码的视频数据,如经编码视频比特流。例如,可以经由对视频数据进行有线或无线网络传送或者通过访问物理数据存储介质(例如,闪速驱动器或硬盘)从存储设备32、本地视频源(如相机)获得存储在视频数据存储器79中的视频数据。视频数据存储器79可以包括存储来自经编解码视频比特流的经编码视频数据的编码图片缓冲器(CPB)。视频解码器30的DPB 92存储参考视频数据,以用于由视频解码器30对视频数据进行解码(例如,在帧内预测编解码模式或帧间预测编解码模式下)。视频数据存储器79和DPB 92可以由多种存储器设备中的任一种形成,如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)、或其他类型的存储器设备。为了说明目的,在图15中将视频数据存储器79和DPB 92描绘为视频解码器30的两个不同部件。但是对于本领域技术人员将显而易见的是,视频数据存储器79和DPB 92可以由相同的存储器设备或单独的存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他部件一起在片上,或者相对于那些部件在片外。
在解码过程期间,视频解码器30接收表示经编码视频帧的视频块的经编码视频比特流和相关联的语法元素。视频解码器30可以在视频帧水平和/或视频块水平接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成经量化的系数、运动矢量或帧内预测模式指示符、以及其他语法元素。熵解码单元80然后将运动矢量或帧内预测模式指示符和其他语法元素转发到预测处理单元81。
当视频帧被编码为帧内预测编码(I)帧或用于其他类型的帧中的帧内编码预测块时,预测处理单元81的帧内预测单元84可以基于信号传输的帧内预测模式和来自当前帧的先前经解码块的参考数据来生成当前视频帧的视频块的预测数据。
当视频帧被编解码为帧间预测编解码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动矢量和其他语法元素产生当前视频帧的视频块的一个或多个预测块。每个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于存储在DPB 92中的参考帧使用默认构造技术构造参考帧列表:列表0和列表1。
在一些示例中,当根据本文描述的帧内BC模式对视频块进行编解码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收到的块矢量和其他语法元素,为当前视频块产生预测块。预测块可以处于与由视频编码器20定义的当前视频块相同的图片的重构区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素来确定当前视频帧的视频块的预测信息,并且然后使用预测信息来产生被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、帧的参考帧列表中的一个或多个参考帧列表的构造信息、帧的每个帧间预测编解码视频块的运动矢量、帧的每个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些(例如,标志)来确定当前视频块是使用以下各项预测的:帧内BC模式、关于帧的视频块处于重构的区域内并且应存储在DPB 92中的构造信息、帧的每个帧内BC预测视频块的块矢量、帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以如由视频编码器20在对视频块进行编码期间使用的那样使用内插滤波器来执行内插以计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可以从接收到的语法元素确定由视频编码器20使用的内插滤波器并且使用内插滤波器来产生预测块。
逆量化单元86使用由视频编码器20针对视频帧中的每个视频块计算的用于确定量化程度的相同的量化参数,对在比特流中提供的并且由熵解码单元80进行熵解码的经量化的变换系数进行逆量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换、或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重构残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成当前视频块的预测块之后,加法器90通过对来自逆变换处理单元88的残差块以及由运动补偿单元82和帧内BC单元85生成的对应预测块求和来重构当前视频块的经解码视频块。环路滤波器91(如去块滤波器、SAO滤波器和/或ALF)可以定位于加法器90与DPB 92之间,以进一步处理经解码视频块。在一些示例中,可以省略环路滤波器91,解码后的视频块可以由加法器90直接提供给DPB 92。然后将给定帧中的经解码视频块存储在DPB 92中,所述DPB存储用于对接下来的视频块进行后续运动补偿的参考帧。DPB 92或与DPB 92分开的存储器设备还可以存储经解码视频以供稍后呈现在如图13的显示设备34等显示设备上。
已经出于说明目的呈现了对本公开的描述,并且所述描述不旨在是穷举的或限于本公开。受益于前述描述和相关联附图中呈现的教导,许多修改、变形和替代性实施方式对于本领域普通技术人员将是显而易见的。
选择并描述示例以便解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式并且最好地利用基本原理以及具有适合于设想的特定用途的各种修改的各种实施方式。因此,应当理解,本公开的范围不应受限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在本公开的范围内。

Claims (11)

1.一种用于视频解码的方法,所述方法包括:
由解码器确定比特流中的至少一个样点的编解码比特深度;
由所述解码器确定所述至少一个样点的第一序列参数集(SPS)标志的值;以及
由所述解码器基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志。
2.如权利要求1所述的用于视频解码的方法,其中,基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志包括以下各项中的至少一项:
基于所述第一SPS标志来确定所述第二SPS标志的存在;或者
基于所述编解码比特深度来确定所述第二SPS标志的值。
3.如权利要求1所述的用于视频解码的方法,其中,基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志包括:
基于所述第一SPS标志和所述编解码比特深度来确定所述第二SPS标志的存在。
4.如权利要求1所述的用于视频解码的方法,其中,基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志包括:
基于所述第一SPS标志和所述编解码比特深度来确定所述第二SPS标志的值。
5.如权利要求1所述的用于视频解码的方法,所述方法进一步包括:
响应于确定所述编解码比特深度的值大于10,确定所述第二SPS标志的值等于1。
6.如权利要求1所述的用于视频解码的方法,所述方法进一步包括:
响应于确定所述第二SPS标志的值等于1,确定引用所述SPS的条带头(SH)语法结构中存在SH变换跳过残差编解码莱斯索引。
7.如权利要求1所述的用于视频解码的方法,所述方法进一步包括:
响应于确定所述编解码比特深度的值小于或等于10,确定所述第二SPS标志的值等于0。
8.如权利要求1所述的用于视频解码的方法,所述方法进一步包括:
响应于确定所述第一SPS标志的值等于1并且所述编解码比特深度大于10,确定用信号表示所述第二SPS标志。
9.如权利要求1所述的用于视频解码的方法,其中,基于所述第一SPS标志的值以及所述至少一个样点的编解码比特深度来确定所述至少一个样点的第二SPS标志包括:
基于所述编解码比特深度来确定所述第二SPS标志的值,而不管所述第一SPS标志的值如何。
10.一种用于视频解码的装置,所述装置包括:
一个或多个处理器;以及
存储器,所述存储器被配置为存储能够由所述一个或多个处理器执行的指令;其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求1至9中任一项所述的方法。
11.一种用于视频解码的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行如权利要求1至9中任一项所述的方法。
CN202280048756.6A 2021-07-09 2022-07-08 用于视频编解码的残差和系数编解码 Pending CN117643058A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410793799.8A CN118646898A (zh) 2021-07-09 2022-07-08 用于视频编码的方法、装置、存储介质和程序产品

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163220380P 2021-07-09 2021-07-09
US63/220,380 2021-07-09
PCT/US2022/036585 WO2023283463A1 (en) 2021-07-09 2022-07-08 Residual and coefficients coding for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410793799.8A Division CN118646898A (zh) 2021-07-09 2022-07-08 用于视频编码的方法、装置、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN117643058A true CN117643058A (zh) 2024-03-01

Family

ID=84800991

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202280048756.6A Pending CN117643058A (zh) 2021-07-09 2022-07-08 用于视频编解码的残差和系数编解码
CN202410793799.8A Pending CN118646898A (zh) 2021-07-09 2022-07-08 用于视频编码的方法、装置、存储介质和程序产品

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410793799.8A Pending CN118646898A (zh) 2021-07-09 2022-07-08 用于视频编码的方法、装置、存储介质和程序产品

Country Status (8)

Country Link
EP (1) EP4367888A1 (zh)
JP (1) JP2024524607A (zh)
KR (1) KR20240039139A (zh)
CN (2) CN117643058A (zh)
AU (1) AU2022307884A1 (zh)
CA (1) CA3224370A1 (zh)
MX (1) MX2024000442A (zh)
WO (1) WO2023283463A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9467700B2 (en) * 2013-04-08 2016-10-11 Qualcomm Incorporated Non-entropy encoded representation format
EP3114835B1 (en) * 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
US20170006289A1 (en) * 2014-03-14 2017-01-05 Samsung Electronics Co., Ltd. Image encoding method for sample value compensation and apparatus therefor, and image decoding method for sample value compensation and apparatus therefor

Also Published As

Publication number Publication date
KR20240039139A (ko) 2024-03-26
CA3224370A1 (en) 2023-01-12
MX2024000442A (es) 2024-01-29
EP4367888A1 (en) 2024-05-15
AU2022307884A1 (en) 2024-02-01
JP2024524607A (ja) 2024-07-05
WO2023283463A1 (en) 2023-01-12
CN118646898A (zh) 2024-09-13

Similar Documents

Publication Publication Date Title
CN114710679B (zh) 视频编解码中的小色度块大小限制
CN114501000B (zh) 用于视频编码的方法和电子装置
CN114567786B (zh) 以4:4:4色度格式进行视频编解码的方法和装置
CN117546469A (zh) 用于视频编解码的残差和系数编解码
CN118555399A (zh) 用于视频编码的残差和系数编码
CN114762329A (zh) 使用调色板模式的视频编解码的方法和装置
JP2024120053A (ja) 4:4:4色フォーマットにおけるビデオコーディングの方法及び装置
CN117256151A (zh) 用于视频编解码的残差和系数编解码
CN115209139B (zh) 视频编解码中的预测模式信令
CN115004706A (zh) 关于变换和系数信令的方法和装置
CN117643058A (zh) 用于视频编解码的残差和系数编解码
CN117378201A (zh) 用于视频编解码的残差和系数编解码
CN116965033A (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