CN116965021A - 视频编解码的相关量化状态转换方法 - Google Patents
视频编解码的相关量化状态转换方法 Download PDFInfo
- Publication number
- CN116965021A CN116965021A CN202280015847.XA CN202280015847A CN116965021A CN 116965021 A CN116965021 A CN 116965021A CN 202280015847 A CN202280015847 A CN 202280015847A CN 116965021 A CN116965021 A CN 116965021A
- Authority
- CN
- China
- Prior art keywords
- quantization level
- current
- state
- level
- flag
- 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
Links
- 238000013139 quantization Methods 0.000 title claims abstract description 370
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000007704 transition Effects 0.000 claims abstract description 112
- 238000006243 chemical reaction Methods 0.000 claims abstract description 54
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000002596 correlated effect Effects 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 230000003936 working memory Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了用于相关量化和残差编码的工具和技术。一种系统包括两个或多个量化器、解码器、处理器、和与处理器通信的非暂时性计算机可读介质。该系统可被配置为从已编码的比特流获得视频数据块的当前量化级,并基于转换条件进入当前量化级的当前状态。转换条件确定从一个状态到另一个状态的状态转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是当前块的第一非零量化级,则基于有效系数标志和先前量化级的先前状态确定当前状态。
Description
版权声明
本专利文件的公开内容的一部分包含受版权保护的材料。版权所有人不反对任何人传真复制本专利文件或本专利公开,因为它出现在专利商标局的专利文件或记录中,但保留所有版权。
技术领域
本公开总体上涉及用于多媒体编码和解码的方法、系统和装置。
背景技术
相关量化(dependent quantization)是视频编解码中使用的一种技术,用于减小视频信号的动态范围,从而使用更少的比特来表示视频信号。量化通常涉及除以量化步长和随后的舍入,而反量化涉及乘以量化步长。这种量化过程也称为标量量化。一个块内所有系数的量化可以独立完成,在一些现有的视频压缩标准(例如H.264和高效视频编解码(HEVC))中使用这种量化方法。为了进一步提高编解码效率,可以使用多个量化器。确定对量化给定系数使用多个量化器中的哪一个通常取决于编解码扫描顺序中当前系数之前的信息。这种量化方法也被称为相关量化,并且例如在多功能视频编码(VVC)或H.266中使用。用于确定下一个量化器的信息通过状态转换来确定。传统的状态转换算法可能会影响量化过程的性能和复杂性。
因此,本公开提供了用于改善传统相关量化方案中的低效率的方法、系统和装置。
发明内容
本公开提供了用于相关量化中的状态转换的工具和技术。
根据一个实施例,提供了一种用于相关量化中的状态转换的方法。该方法可包括从已编码的比特流获得视频数据块的当前量化级,以及基于转换条件进入当前量化级的当前状态,其中,所述转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,其中,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中,有效系数标志指示先前量化级是零值还是非零值。该方法可以进一步包括:基于当前量化级的当前状态,选择第一量化器或第二量化器中的一个以对当前量化级进行去量化,以及经由第一量化器或第二量化器中的一个所选择的量化器对当前量化级进行去量化,以产生当前的去量化元素。
根据另一实施例,提供了一种用于相关量化中的状态转换的装置。所述装置可包括处理器和与所述处理器通信的非暂时性计算机可读介质,所述非暂时性计算机可读介质上编码有指令集,指令集可由处理器执行以执行各种功能。例如,指令集可由处理器执行,以从已编码的比特流获得视频数据块的当前量化级,并基于转换条件进入当前量化级的当前状态,其中转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中有效系数标志指示先前量化级是零值还是非零值。指令集可由处理器执行以进一步基于当前量化级的当前状态,选择第一量化器或第二量化器中的一个以去量化当前量化级,并经由第一量化器或第二量化器中的一个所选择的量化器对当前量化级进行去量化,以产生当前的去量化元素。
根据另一实施例,提供了一种媒体编解码子系统。媒体编解码子系统可以包括:包括第一量化器和第二量化器的两个或更多个量化器,包括处理器的解码器,以及与处理器通信的非暂时性计算机可读介质。非暂时性计算机可读介质上编码有指令集,指令集可由处理器执行,以执行各种功能。例如,指令集可由处理器执行,以从已编码的比特流获得视频数据块的当前量化级,并基于转换条件进入当前量化级的当前状态,其中转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,其中,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中有效系数标志指示先前量化级是零值还是非零值。指令集可由处理器执行以进一步基于当前量化级的当前状态选择第一量化器或第二量化器中的一个以对当前量化级进行去量化,并经由第一量化器或第二量化器中的一个所选择的量化器对当前量化级进行去量化,以产生当前的去量化元素。
提及这些说明性实施例不是为了限制或定义本公开,而是为了提供示例以帮助理解本公开。在详细描述中讨论了附加的实施例,并且在其中提供了进一步的描述。
附图说明
可以通过参照说明书的其余部分和附图,可以实现对特定实施例的性质和优点的进一步理解。附图中相同的附图标记用于指代相似的组件。在一些情况下,子标签与附图标记相关联,以表示多个相似组件中的一个。当提及附图标记而不指明现有子标签时,它旨在指代所有这样的多个相似组件。
图1是根据各种实施例的编码树单元(coding tree unit,CTU)的示意图。
图2是根据各种实施例的划分为多个编码单元(coding units,CU)的CTU的示意图。
图3是根据各种实施例的在相关量化中由不同量化器产生的两个量化级输出集的示意图。
图4是根据各种实施例的用于状态转换和量化器选择的状态机和对应的状态表的示意图。
图5是根据各种实施例的用于在经由相关量化对视频块进行编码期间的状态转换的方法的流程图。
图6是根据各种实施例的用于在经由相关量化对视频块进行解码期间的状态转换的方法的流程图。
图7是根据各种实施例的媒体编码系统的框图。
图8是根据各种实施例的媒体解码系统的框图。
图9是根据各种实施例的用于相关量化中的状态转换的计算机系统的示意性框图。
具体实施方式
各种实施例提供用于视频编解码的相关量化和状态转换的工具和技术。
在一些实施例中,提供了一种用于相关量化中的状态转换的方法。该方法可包括从已编码的比特流获得视频数据块的当前量化级,以及基于转换条件进入当前量化级的当前状态,其中,所述转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,其中,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中,有效系数标志指示先前量化级是零值还是非零值。该方法可以进一步包括:基于当前量化级的当前状态,选择第一量化器或第二量化器中的一个以对当前量化级进行去量化(dequantized),以及经由第一量化器或第二量化器中的一个所选择的量化器对当前量化级进行去量化,以产生当前的去量化元素。
在一些示例中,第一量化器和第二量化器可以包括以下之一:一个零量化器和一个非零量化器、两个零量化器或两个非零量化器。在一些示例中,已编码的比特流可以以表示有效系数标志和相应量化级的值的二进制表示相应量化级。在一些示例中,对于第一非零量化级,该方法还可以包括确定第一非零量化级的扫描顺序位置。
在一些示例中,该方法可以包括确定在编解码扫描顺序中紧接在当前量化级之后的后续量化级的后续状态,其中,后续状态至少部分地基于当前量化级的转换条件确定,其中,当前量化级的转换条件至少部分地由已编码的比特流中的、表示当前量化级的有效系数标志确定。
在又进一步的示例中,该方法可以包括确定当前量化级的当前状态,其中确定当前量化级的当前状态进一步包括生成四状态模型,以及在先前量化级的去量化期间,至少部分地基于先前量化级的先前状态确定当前量化级的当前状态,其中,四状态模型指示从先前状态到当前状态的状态转换。
在一些示例中,先前量化级的转换条件可以至少部分地由已编码的比特流中的、表示先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。在一些示例中,转换条件可以进一步基于abs_level_gtxX_flag。在其他示例中,转换条件可以由如下方式给出:(sig_coeff_flag==1)&&(abs_level_gtx1==0),其中,大于X标记的绝对级中的X为1。在又进一步的示例中,转换条件可以由(sig_coeff_flag==1)给出。
在一些实施例,提供了一种用于相关量化中的状态转换的装置。该装置可包括处理器和与处理器通信的非暂时性计算机可读介质,非暂时性计算机可读介质上编码有指令集,指令集可由处理器执行以执行各种功能。例如,指令集可由处理器执行,以从已编码的比特流获得视频数据块的当前量化级,并基于转换条件进入当前量化级的当前状态,其中转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中有效系数标志指示先前量化级是零值还是非零值。指令集可由处理器执行以进一步基于当前量化级的当前状态,选择第一量化器或第二量化器中的一个以对当前量化级进行去量化,并经由第一量化器或第二量化器中的一个所选择的量化器对当前量化级进行去量化,以产生当前的去量化元素。
在一些示例中,该指令集可由处理器执行,以进一步执行如下操作:确定在编解码扫描顺序中紧接在当前量化级之后的后续量化级的后续状态,其中,后续状态至少部分地基于当前量化级的转换条件确定,其中,当前量化级的转换条件至少部分地由已编码的比特流中的、表示当前量化级的有效系数标志确定。
在一些示例中,指令集可以由处理器执行以进一步执行如下操作:确定当前量化级的当前状态,其中,确定当前量化级的当前状态进一步包括:生成四状态模型,以及在先前量化级的去量化期间,至少部分地基于先前量化级的先前状态确定当前量化级的当前状态,其中,四状态模型指示从先前状态到当前状态的状态转换。
在进一步的示例中,先前量化级的转换条件可以至少部分地由已编码的比特流中的、表示先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。在进一步的示例中,转换条件可以由如下方式给出:(sig_coeff_flag==1)&&(abs_level_gtx1==0),其中,大于X标记的绝对级中的X是1。在又进一步的示例中,转换条件可以由如下方式给出:(sig_coeff_flag==1)。
在一些实施例中,提供了一种媒体编解码子系统。媒体编解码子系统可以包括:包括第一量化器和第二量化器的两个或更多个量化器,包括处理器的解码器,以及与处理器通信的非暂时性计算机可读介质。非暂时性计算机可读介质上编码有指令集,指令集可由处理器执行,以执行各种功能。例如,指令集可由处理器执行,以从已编码的比特流获得视频数据块的当前量化级,并基于转换条件进入当前量化级的当前状态,其中转换条件确定状态转换,状态转换是从一个状态到另一个状态的转换。如果当前量化级是编解码扫描顺序中的块的第一非零量化级,则进入开始状态作为当前状态。如果当前量化级不是编解码扫描顺序中的当前块的第一非零量化级,则基于编解码扫描顺序中的先前量化级的转换条件和先前量化级的先前状态确定当前状态,其中,先前量化级在编解码扫描顺序中紧接在当前量化级之前,其中,先前量化级的转换条件至少部分地由已编码的比特流中的、表示先前量化级的有效系数标志(sig_coeff_flag)确定,其中有效系数标志指示先前量化级是零值还是非零值。指令集可由处理器执行以进一步基于当前量化级的当前状态选择第一量化器或第二量化器中的一个以对当前量化级进行去量化,并经由第一量化器或第二量化器中的所选择的一个量化器对当前量化级进行去量化,以产生当前的去量化元素。
在一些示例中,指令集可由处理器执行,以进一步执行如下操作:确定在编解码扫描顺序中紧接在当前量化级之后的后续量化级的后续状态,其中,后续状态至少部分地基于当前量化级的转换条件确定,其中,当前量化级的转换条件至少部分地由已编码的比特流中的、表示当前量化级的有效系数标志确定。
在又进一步的示例中,先前量化级的转换条件可以至少部分地由已编码的比特流中的、表示先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。在进一步的示例中,转换条件可以由如下方式之一给出:(sig_coeff_flag==1)&&(abs_level_gtx1==0),其中,大于X标志的绝对级中的X是1,或者(sig_coeff_flag==1)。
在下面的描述中,出于解释的目的,阐述了许多细节,以便提供对所描述的实施例的透彻理解。然而,对于本领域技术人员来说,显然可以在没有这些细节中的一些的情况下实践其他实施例。在其他情况下,结构和设备以框图形式示出。本文描述了几个实施例,并且尽管各种特征属于不同的实施例,但是应该理解,在一个实施例描述的特征也可以与其他实施例结合。然而,出于同样的原因,任何描述的实施例的单个特征或多个特征都不应被认为是本发明的每个实施例所必需的,因为本发明的其他实施例可以省略这些特征。
除非另有说明,本文中用于表示数量、尺寸等的所有数字应理解为在所有情况下都被术语“大约”所修饰。在本申请中,除非另有特别说明,否则单数的使用包括复数,除非另有特别说明,否则术语“和”和“或”的使用意味着“和/或”。此外,使用“包括”一词以及其他形式,如“包括”和“包括在内”,应被视为非排他性的。此外,除非另有特别说明,诸如“元件”或“组件”的术语包括:包括一个单元的元件和组件,以及包括一个以上的单元的元件和组件。
各种实施例包括但不限于方法、系统、装置和/或软件产品。仅作为示例,一种方法可以包括一个或多个过程,其中任何或所有过程都可以由计算机系统执行。相应地,实施例可以提供配置有指令的计算机系统,以根据各种其他实施例提供的方法执行一个或多个过程。类似地,计算机程序可以包括可由计算机系统(和/或其中的处理器)执行的指令集以执行各种操作。在许多情况下,这样的软件程序被编码在物理的、有形的和/或非暂时性的计算机可读介质(例如,仅用于示例,光学介质、磁介质和/或类似物)上。
本文描述的体现软件产品和计算机执行的方法的各种实施例代表了对现有技术领域的有形的、具体的改进,包括但不限于多媒体编码和信号处理。在一些方面,各种实施例的实现通过使用更有效的相关量化和残差编码技术来改进多媒体编码系统/子系统的功能。应当理解,术语“编解码”可用于指代编码、解码、或编码和解码两者。
就各种实施例中存在的任何抽象概念而言,这些概念可以如本文所描述的那样通过涉及功能性(例如,步骤或操作)的设备、软件、系统和方法来实现,例如使用算法来选择媒体编解码系统和/或子系统中的量化模式。
图1是被划分为编码树单元(CTU)的块的图像(例如,帧100)的示意图。相应地,图像,诸如视频信号的帧100,可以被分成一个或多个CTU(CTU 105a-105n)(统称为CTUs105)。根据各种实施例,在编解码期间,输入图像(例如帧100)可以被划分为一个或多个CTU(CTU 105a-105n)。如图1所示,CTUs 105中的每个可以单独地是像素的正方形块。在一些实施例中,CTUs 105中的单个CTU可以是128×128像素的块。在一些实施例中,如所描绘的,帧100可以被划分为CTUs 105。在一些示例中,如所示,CTU 105a-105n中的一个或多个可按光栅扫描顺序被扫描。在其他实施例中,可以使用不同的扫描顺序,例如z扫描顺序。
帧100的CTU 105a-105n中的每个CTU可以被分别划分成一个或多个CU。例如,图2是被划分为一个或多个编码单元(CU)(CU 205a-205m)(统称为CUs 205)的CTU 200的示意图。在各种实施例中,CUs 205可以是CTU的子单元,CTU可以用于编码操作期间的预测和变换。CU 205a-205m可以是矩形或正方形布置,并且还可以在不进一步划分成预测单元或变换单元的情况下进行编码。CU 205a-205m中的每个CU可以与其根CTU 200和/或CTU 200的一个细分一样大。例如,CTU可以被划分为多达4×4个块的细分(例如,总共多达16个块)。因此,诸如CU 205j、CU 205i的CU 205的尺寸可以是CTU 200的单个细分的尺寸。CU 205可以进一步小于根CTU 200和/或CTU 200的细分,如CU 205a-205h、205k-205l所示。在一些实施例中,CU 205a-205m可以例如以Z扫描顺序、以标记为205a-205m的顺序被编解码。应当注意,图2中示意性地示出了CTU 200的各种CUs 205,并且根据各种实施例,对CTU 200的划分的修改是可能的。
图3是在相关量化方案中由不同量化器产生的两个量化级输出集300的示意图。如前所述,量化是一种用于减小经变换或未经变换的视频信号的动态范围的技术。因此,可以使用更少的比特来表示视频信号。在量化之前,特定位置处的经变换或未经变换的视频信号被称为“系数”。在量化之后,系数的量化值被称为量化级或简称为“级”。
如前所述,量化包括将系数除以量化步长,以及随后对所得到的量化级进行舍入。反量化包括量化级乘以量化步长。这种量化过程称为标量量化。传统上,可以独立地执行块(例如,CTU 105、CTU 200和/或CTU 105、CTU200的细分)中所有系数的量化。
例如,对于N×M大小的块,可以使用特定的编解码扫描顺序将块的2-D系数转换成用于系数量化和编码的1-D顺序。通常,扫描从左上角开始,并在块的右下角或右下方向上的最后一个非零系数/级处停止。这也称为z扫描顺序。块内系数的量化可以利用扫描顺序信息(例如,它可以取决于沿着扫描顺序的先前量化级的状态)。
在一些实施例中,为了提高编解码效率,可以使用多于一个量化器(例如,两个量化器)来进行量化。量化器可以指执行量化的设备和/或设备的编程功能。确定对给定系数使用哪个量化器取决于编解码扫描顺序中当前系数之前的信息。这被称为相关量化。
在一些传统示例中,可以在相关量化方案中使用两个量化器,其中量化器输出的两个量化级集可以包括零级。换句话说,两个量化器都可以是零量化器。因此,如下面将进一步详细说明的,在残差编码期间对sig_coeff_flag进行编码。对于每个级,sig_coeff_flag用于指示该级是零还是非零。即使在非零量化器的情况下,sig_coeff_flag也可以被编码。
如图3所示,量化步长可由2表示,其可由嵌入在比特流中的量化因子确定。提供两个量化级输出集300。第一量化器Q0输出第一个量化级集。在各种实施例中,第一量化器Q0被配置为产生一个值,该值可以包括零级和非零级两者。换句话说,量化器配置有零和非零量化级两者。因此,在一些示例中,Q0可以是零量化器。第二个量化级集由Q1输出,Q1可以不将系数量化为零。因此,在一些示例中,Q1可以是非零量化器。
因此,在各种实施例中,提供了利用至少一个非零量化器和至少一个零量化器的相关量化方案。每个量化级集可以被进一步划分为相应的子集。对于由Q0产生的第一个量化级集,第一子集S0可以包括对应于2的偶数整数倍的量化级,以及0的量化级。第二子集S2可包括对应于2/>的奇数整数倍的量化级。类似地,由Q1产生的第二个量化级集可以分别包括第一子集S1和第二子集S3。第一子集S1可以包括对应于Mx(2/>)的正量化级和对应于Mx(2/>)的负量化级。其中,M是奇数整数。第二子集S3可以包括对应于Nx(2)的正量化级和对应于Nx(2/>)的负量化级。其中,N是偶数整数。因此,在各种实施例中,Q0和Q1可以被配置为一起采集表示量化步长的整数倍的所有量化级集的所有量化级。在一些进一步的实施例中,可以使用其中量化器Q0和Q1均是零量化器的相关量化方案。
尽管用于量化给定系数的量化器可以被显式地指示,但是这样做的开销可能损害编码效率。因此,可以利用用于量化器选择的算法方法。在一个示例中,提出了一个四状态模型。
图4是具有4×4残差块的状态转换400的示意图。状态转换400包括4×4残差块405,其进一步包括16个相应的系数。如前所述,系数可以包括变换的或未变换的图像数据。状态转换400进一步包括状态机410和用于状态转换和量化器选择的状态表415。转换条件“t”用于表示控制状态转换的算法。
传统上,系数的先前量化级的奇偶性可用于决定状态转换,因此量化器可用于量化当前系数。例如,在一些实施例中,两个量化器Q0和Q1之间的切换可以经由具有四种状态0、1、2和3的状态机来确定。状态可以通过由先前系数(或预测残差)产生的量化级的奇偶性与编解码(例如,编码/解码)扫描顺序中的先前状态确定。在一些示例中,状态0和状态1可以对应于第一量化器Q0的选择,并且状态2和状态3可以对应于第二量化器Q1的选择。
在一些实施例中,在块的编码侧的量化开始时或在块的解码侧的反量化开始时,状态通常被设置为等于开始状态,例如0。以编解码扫描顺序(例如,以与它们被熵解码相同的顺序)重建系数。在重建当前系数之后,如图4所示状态被更新。
在一个示例中,状态转换算法,其中k表示沿着编解码扫描顺序的特定位置处的级的值,下一状态可以取决于当前状态和当前级k的奇偶校验(k&1),其中k表示当前系数级的值。因此,状态转换过程可以写成:
下一个状态=stateTransTable[状态][k&1] (等式1)其中stateTransTable表示状态表410,运算符&指定二进制补码算术中的按位“and”运算符。或者,在没有查找表的情况下,根据如下等式指定状态转换:
下一个状态=(32040>>((状态<<2)+((k&1)<<1)))&3 (等式2)其中,16位值32040指定状态转换表,运算符“<<”和“>>”表示按位移位运算符。
因此,该状态唯一地指定用于量化当前系数的标量量化器。例如,如果当前系数的状态等于0或1,则使用标量量化器Q0。否则,如果状态等于2或3,则使用标量量化器Q1。在多功能视频编码(VVC)中,仅允许对规则残差编码(RRC)进行相关量化,这意味着相关量化应用于预测残差的变换系数,而标量量化应用于预测残差。在进一步的示例中,相关量化可以应用于RRC和变换跳过残差编解码两者,在这种情况下,相关量化可以应用于预测残差。
在编解码扫描顺序的先前位置的量化级的奇偶性被用来指导状态转换。为了便于解码过程,引入了一个额外的标志,即奇偶标志,以指示级是奇数还是偶数(例如,par_level_flag)。因此,即使在完全解析所有语法元素和恢复级之前,去量化处理也可以使用量化级的奇偶校验信息。
为了提高性能,各种实施例提出了利用sig_coeff_flag,而不是奇偶校验标志来控制状态转换的算法。在一个示例中,表1是示出使用sig_coeff_flag的状态转换的状态转换表。也可以基于sig_coeff_flag类似地制作其它状态转换映射。因此,在一些实施例中,t可以由条件sig_coeff_flag==1给出。
表1.基于sig_coeff_flag的状态转换表
可选地,状态转换也可以由其他语法元素控制。例如,abs_level_gtx1_flag、abs_level_gtx2_flag、abs_level_gtx3_flag、…abs_level_gtxN_flag可以指示大于1、2、3到整数N的特定位置处的绝对级。因此,可以使用abs_level_gtxX_flag指导状态转换,其中X是1和N之间的整数。作为一个示例,表2示出了使用abs_level_gtxX_flag时状态如何转换的详细信息。也可以基于abs_level_gtxX_flag类似地制作其它状态转换映射。因此,在一些实施例中,t可以由条件abs_level_gtxN_flag==1,或者abs_level_gtxX_flag==1给出。
表2.基于abs_level_gtxX_flag的状态转换
下表示出了基于转换条件“t”通过残差块405的状态转换。
表3.4×4残差块中的状态转换
在上面的表3中,“sigflag”用于表示sig_coeff_flag的缩写形式。类似地,“gt1”被用来表示abs_level_gtx1_flag(或者可选地,abs_level_gtx_flag)的缩写形式,并且“gt2”被用来表示abs_level_gtx2_flag的缩写形式。余数表示要适当编解码的余数值(无论是通过abs_level_gtxX_flag、abs_remainder、dec_abs_level还是其他类似的标志)。
在上面关于表3的示例中,当级等于1时设置转换条件。因此,转换条件t可以定义为:
t=((sig_coeff_flag==1)&&(abs_level_gtx1_flag==0)) (等式3)
在进一步的实施例中,可能期望选择不同的整数,在这种情况下,可以使用abs_level_gtxX_flag相应地定义t。
在视频编解码中,残差编码用于将量化级转换成比特流。在量化之后,对于N×M大小的块有N×M个量化级。这些N×M级可以是零或非零值,其可以进一步二值化为二进制。基于上下文建模的二进制算术编解码可以进一步将二进制压缩成比特。
对于RRC块,最后一个非零级的位置被定义为沿着编解解码扫描顺序的最后一个非零级的位置。最后一个非零级的2D坐标(last_sig_coeff_x和last_sig_coeff_y)首先被编码。RRC块可以由几个预定义的子块(例如,CU或CTU的细分)组成。根据编解码扫描顺序,从(last_sig_coeff_x和last_sig_coeff_y)导出具有最后一个非零级的最后一个非零子块。RRC将以逆扫描顺序从最后一个非零子块开始逐子块编解码。在每个子块中,RRC将使用以下语法元素以逆编解码扫描顺序对每个位置的级进行编解码。
对于每个级,一个名为sig_coeff_flag的标志被编解码到比特流中。sig_coeff_flag指示级是零(在这种情况下,sig_coeff_flag被设置为0)还是非零(在这种情况下,sig_coeff_flag被设置为1)。如果级为非零,则第一abs_level_gtx_flag[0]将被编解码以指示绝对级是1(设置为0)还是大于1(设置为1)。如果绝对级大于1,则par_level_flag将被编解码以指示级是奇数(设置为1)还是偶数(设置为0)。使用abs_level_gtx_flag[0]和par_level_flag,可以确定级是等于2还是等于3。可选地,在这种情况下,如上所述,可以设置abs_level_gtxX_flag为abs_level_gtx1_flag。另一语法元素,第二abs_level_gtx_flag[1]也被编解码以指示绝对级是否大于3(设置为1)或不大于3(设置为0)。在这种情况下,abs_level_gtx2_flag也可以被设置。如果级大于3,则可以编解码两个语法元素abs_resultance和dec_abs_level,或者可选地,abs_level_gtx3_flag,...,abs_level_gtxN_flag可以被设置。此外,块内每个级的符号也将被编码以完全表示量化级。
因此,在各种实施例中,诸如为编码器的视频编解码器可以被配置为更有效地执行残差编解码。利用零量化器和非零量化器,可以更有效地执行sig_coeff_flag的编解码。例如,在各种实施例中,当使用非零量化器Q1时,可以完全跳过sig_coeff_flag的编解码。当使用非零量化器时,从非零量化器量化的所有级将具有大于或等于1的绝对值。因此,对于来自非零量化器的所有量化级输出,sig_coeff_flag始终为1。因此,当非零量化器产生级时,可能不需要对sig_coeff_flag进行编解码。非零量化器的残差编解码的其他语法元素可以与先前描述的一致。类似地,零量化器的量化级的残差编解码可以保持不变,其中,可以通过使用零量化器进行量化来产生仍然被编解码为零级和非零级的sig_coeff_flag。
在各种实施例中,可以在一个或多个不同的视频编解码标准中采用上述修改相关量化和残差编解码方案,并且不限于任何单个编解码标准。例如,非零量化器和相应残差编解码的用法可用于例如但不限于高级视频编码(advanced video coding,AVC)、高效视频编解码(HEVC)和/或基于VVC的编解码器中,或者进一步适用于其他类型的合适编解码器设计。
图5是根据各种实施例的、用于在相关量化中对视频块进行编码期间的状态转换的方法500的流程图。方法500在框505开始接收视频数据块。如前所述,在一些实施例中,视频数据块可以包括但不限于CTU、CTU的细分或CU。视频数据块可以进一步包括已变换和/或未变换的视频数据。因此,在一些实施例中,在框510,方法500继续变换视频数据块以产生变换系数块。在一个示例中,变换可以是离散余弦变换。在一些实施例中,块可以被变换,而在其他实施例中,视频数据块可以不被变换,而是可以量化预测残差。
在确定框515处,方法500确定扫描顺序中的第一非零级是否已经或正在由当前系数产生。如果确定第一非零级已经产生或正在产生,则方法500可以继续在框520基于当前状态选择量化器。在一些示例中,如果确定当前系数将产生块的第一非零级,则当前状态可以被设置为“默认”或“开始”状态(例如,状态0)。在其他实施例中,如果确定之前已经产生了第一非零级,则可以根据当前状态选择量化器,该当前状态可以进一步基于转换条件和当前状态之前的先前状态来确定。例如,在一些实施例中,状态转换可以由转换条件t来确定。在一些实施例中,转换条件可以至少部分地基于sig_coeff_flag。在一个示例中,t可以被定义为条件:sig_coeff_flag==1。在进一步的示例中,转换条件可以基于abs_level_gtxX_flag,使得当级等于1-N之间的整数时可以设置转换条件t。如前所述,在一个示例中,t可以被定义为条件:(sig_coeff_flag==1)&&(abs_level_gtxX_flag==0),其中gtxX中的“X”是1至N之间的整数。因此,在各种实施例中,后续系数的状态可以取决于由sig_coeff_flag或者abs_level_gtxX_flag确定的当前系数的级。因此,当前系数的状态由先前系数的级确定。
如果在框515确定扫描顺序中的第一非零级还没有产生,则方法500可以检查是否为下一个系数产生(或已经产生了)第一非零级。在一些示例中,如果确定当前系数没有(并且目前没有)产生扫描顺序中的第一非零级,则可以跳过当前系数的量化,并且对后续系数执行非零级检查。
在框525,然后由所选择的量化器对当前系数进行量化,所选择的量化器基于当前系数的当前状态确定,当前系数的当前状态由状态转换算法确定。在一些实施例中,例如,当处于状态0或状态1时,可以选择第一量化器Q0。当处于状态2或状态3时,可以选择第二量化器Q1。在各种实施例中,量化器可以被选择为第一量化器或第二量化器之一。如上所述,第一量化器可以是零量化器。例如,零量化器可以是配置为将系数量化为0值的量化器。相反,非零量化器不输出0量化级,因此不将系数量化为0值。因此,可以经由所选择的量化器来量化当前系数。
在框530,方法500可以进一步包括设置有效系数标志(例如,sig_coeff_flag)和/或附加标志(例如,abs_level_gtxX_flag或其他标志)。如前所述,在各种实施例中,可根据量化级设置有效系数标志和/或附加标志。例如,对于每个级,sig_coeff_flag可用于指示级是零还是非零。类似地,如果量化级(例如,绝对级)的幅度大于X,则可以对abs_level_gtxX_flag进行编解码,其中X是1至N之间的整数。
在框535处,方法500进一步包括基于转换条件确定后续系数的后续状态。与当前状态的确定一样,可以基于转换条件确定后续系数的后续状态。在一些示例中,转换条件可以至少部分地基于当前状态。在另外的示例中,如图4所描述的,转换条件可以进一步至少部分地基于sig_coeff_flag和/或abs_level_gtxX_flag中的一个或多个。
在一些示例中,方法500可进一步包括处理扫描顺序中的后续系数(或可选的,预测残差),如上所述,直到扫描顺序中的所有系数都已被编解码。
图6是根据各种实施例的、用于在经由相关量化对视频块进行解码期间的状态转换的方法600的流程图。在框605,方法600通过访问视频块的量化级开始。如前所述,量化级可以经由残差编解码转换为比特流。因此,已编码的视频数据的比特流可以包括量化级序列。在一些实施例中,因此,视频块的量化级可以通过提取视频块的每个元素的相应量化级来访问。在一些示例中,视频块的元素可以取决于是否使用了RRC,在这种情况下将变换应用于预测残差以产生系数,或者取决于是否应用了TSRC,在这种情况下不应用变换。因此,在RRC的情况下,去量化元素可以是系数,并且在TSRC编码的比特流的情况下,去量化元素可以是预测残差。因此,每个元素可以进一步在编解码扫描顺序(例如,编码/解码扫描顺序)中对应于视频块的相应位置。因此,在框610,方法600包括处理每个元素的量化级,使得可以针对视频块的每个相应元素从已编码的视频数据的比特流中提取相应的量化级。
此外,可以选择量化器来对量化级进行去量化。在确定框615处,方法600包括确定当前量化级是否为第一非零量化级。如果确定它是第一非零量化级,则在框640,可以确定第一非零量化级的扫描顺序位置和当前状态。在一些示例中,去量化期间的第一非零量化级可以对应于量化期间的最后一个非零级的位置。因此,在一些示例中,2D坐标(last_sig_coeff_x和last_sig_coeff_y)可用于确定第一非零量化级的扫描顺序位置。在一些进一步的示例中,第一非零量化级的当前状态可以被设置为“默认”或“开始”状态(例如,状态0)。在框620,方法600包括基于量化级的当前状态选择量化器。在一些示例中,当确定当前量化级是第一非零级时,当前状态可以被设置为“默认”或“开始”状态(例如,状态0)。
类似地,如果确定当前量化级不是第一非零级,则在框620,方法600可以包括基于量化级的当前状态选择量化器。如前所述,在一些实施例中,可以基于当前量化级的当前状态选择量化器。当前状态可以在先前量化级的去量化期间被确定,并且进一步基于转换条件来确定。如先前所描述的,转换条件可以例如基于先前状态和诸如为图4所描述的sig_coeff_flag和/或abs_level_gtxX_flag的标志(或一个或多个标志)来确定,该先前状态是先前量化级的“当前”状态。
在框625,方法600包括使用所选择的量化器对当前量化级进行去量化。在一些示例中,第一非零量化级可以用第一量化器(与状态0相关)量化。在框630,方法600包括基于通过对当前量化级进行去量化而产生的去量化元素来重建视频块。在一些示例中,去量化元素可以是量化系数(例如,变换后的预测残差),或者在一些示例中,使用变换跳过残差编解码的量化的预测残差(例如,在编码侧的量化之前不变换预测残差)。在每种情况下,量化系数可指在其已被量化并随后被去量化之后的系数。类似地,量化预测残差可以指在经过量化并随后被去量化之后的预测残差。在各种示例中,去量化元素可以不同于原始元素(例如,原始系数可以不同于去量化的“量化系数”,并且类似地,原始预测残差可以不同于去量化的“量化预测残差”)。
方法600进一步包括,在框635,基于转换条件确定后续状态。与当前状态的确定一样,可以基于转换条件确定后续系数的后续状态。在一些示例中,转换条件可以至少部分地基于当前状态。在进一步的示例中,转换条件可以进一步至少部分地基于如图4所描述的sig_coeff_flag和/或abs_level_gtxX_flag中的一个或多个。在确定后续状态之后,方法600可以进一步包括按照如上所述的编解码扫描顺序处理后续量化级,直到所有量化级都已被去量化。
相关量化的过程和用于相关量化的状态转换可以由媒体编码系统执行,该媒体编码系统可以包括编码器和/或解码器。图7是根据各种实施例的媒体编码子系统700的框图。媒体编码子系统700可包括变换处理逻辑模块705、量化单元710、残差编解码逻辑模块730、去量化和反变换变换逻辑模块735、以及编解码模式选择逻辑模块740。量化单元710可以进一步包括状态转换逻辑模块715、第一量化器720和第二量化器725。编解码模式选择逻辑模块740可以包括运动估计逻辑模块745、运动补偿逻辑模块750和预测逻辑755。应当注意,媒体编码子系统700的各种组件在图7中被示意性地示出,并且根据各种实施例,对媒体编码子系统700的修改是可能的。
在各种实施例中,媒体编码子系统700可以在任何合适的硬件上实现,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、或软件和硬件的组合。在软件中实现的特征和逻辑可以存储在相应的非暂时性计算机可读介质和/或存储设备中。下面参照图9更详细地讨论这一点。
在各种实施例中,视频数据可以包括视频数据的图像(例如,帧),也称为块或宏块。视频数据可以被提供给编解码模式选择逻辑模块740,编解码模式选择逻辑模块740可以被配置为产生预测图像(例如,预测块)。在一些实施例中,可以从帧的实际后续图像中减去预测图像以产生残差帧(例如,残差块),并且变换处理逻辑模块705可以变换残差块以从残差帧产生经变换的视频数据块。变换后的视频数据块可以被提供给量化单元710。在其他示例中,视频数据可以直接提供给量化单元710,而不经历变换。如前所述,在一些示例中,块可以包括CTU、CTU的细分、或CU。
量化单元710可被配置为对经变换或未经变换的视频数据进行量化以产生量化级块。状态转换逻辑模块715可被配置为确定残差块的每个系数之间的状态转换,并由此确定第一量化器720或第二量化器725中的哪个量化器将用于量化该系数。状态转换逻辑模块715可以,例如如上面图4-6所描述的,基于转换条件确定状态转换。如前所述,在一些实施例中,例如,可以至少部分地基于用于指示系数的级是零还是非零的sig_coeff_flag,或者可选地基于用于指示系数的级是否大于整数X的abs_level_gtxX_flag,来确定后续状态,其中X是1至N之间的整数。因此,在一些示例中,量化单元710可以产生量化级的集。在一些实施例中,量化块可以由残差编解码逻辑模块730处理。残差编解码逻辑模块730可以被配置为将量化块的数据转换成比特流。例如,在一些实施例中,如前所述,块中的数据可以被二进制化为二进制。
在一些实施例中,量化块可以进一步提供给去量化&反变换逻辑模块735以用于进一步处理。例如,在一些实施例中,去量化和反变换逻辑模块可用于生成重建的残差块。重建的残差块可以被添加到下一个预测帧,并用于运动估计逻辑模块745、运动补偿逻辑模块750和预测逻辑模块755以产生预测帧。
图8是根据各种实施例的媒体解码系统800的框图。媒体解码系统800可以包括熵解码逻辑模块805、去量化单元810、状态转换逻辑模块815、第一量化器820、第二量化器825、反变换逻辑模块830、编解码模式选择逻辑模块835、运动估计逻辑模块840、运动补偿逻辑模块845和预测逻辑模块850。应当注意,媒体解码系统800的各种组件在图8中示意性地示出,并且根据各种实施例,对媒体编码系统800的修改是可能的。
在各种实施例中,与媒体编码系统700类似,媒体解码系统800可以在任何合适的硬件上实现,例如一个或多个微处理器、DSP、ASIC、FPGA、分立逻辑、软件、硬件、或软件和硬件的组合。在各种实施例中,已编码的视频数据可以包括已编码的视频块的比特流。因此,熵解码逻辑模块805可被配置为解码视频数据的已编码的比特流。具体地,已编码的比特流可以被解码并且从已编码的比特流中提取量化元素以用于进一步处理。
在一些示例中,随后可以由去量化单元810使用第一量化器820或第二量化器825中的一个来对量化元素进行反量化(或去量化)。如前所述,可以根据状态转换逻辑模块815确定第一量化器或第二量化器820、825的选择。在各种实施例中,状态转换逻辑模块815可以基于当前量化元素的当前状态(如前所述,其可以是系数或预测残差)以及sig_coeff_flag和/或abs_level_gtxX_flag来选择量化器。
在一些示例中,如上文图4所述的,可根据状态转换表确定后续状态。如前所述,在一些实施例中,例如,可以至少部分地基于当前状态和用于指示系数的级是零还是非零的sig_coeff_flag,或者可选地基于用于指示系数的级是否大于整数X的abs_level_gtxX_flag,来确定后续状态,其中X是1至N之间的整数。
在一些示例中,去量化元素可以进一步由反变换逻辑模块830进行反变换。如前所述,在一些示例中,去量化元素可以是通过对预测残差进行变换产生的量化系数。因此,反变换逻辑模块830可以对由去量化单元810产生的系数进行反变换。在一些示例中,对于跳过变换的块,反变换模块830不被应用于那些块。
在进一步的示例中,由去量化单元810产生的残差块可以被添加到由编解码模式选择逻辑模块835产生的相应预测块,以产生重建块。然后可将重建块提供给编解码模式选择逻辑模块835以产生后续预测块。因此,由去量化单元810产生的去量化元素可用于产生重建块,其中可产生已解码的视频。如上面关于图7所讨论的,可以根据块的编解码模式和参数,并且根据运动估计逻辑模块840、运动补偿逻辑模块845和预测逻辑模块850来生成预测块。
图9是根据各种实施例的、用于相关量化中的状态转换的计算机系统900的示意性框图。图9提供了计算机系统900的一个实施例的示意图,计算机系统900诸如媒体编解码系统、媒体编码子系统700、媒体解码子系统800或其子系统,诸如编码器、解码器、变换处理逻辑模块、残差编解码逻辑模块、量化单元、编解码模式选择逻辑模块、去量化和反变换逻辑模块、状态转换逻辑模块或其组合。计算机系统900可以执行如本文所述的由各种其他实施例提供的方法。应当注意,图9仅提供了各种组件的概括图示,其中每个组件中的一个或多个可以适当地使用。因此,图9广泛地示出了如何以相对分离或相对更集成的方式实现各个系统元件。
计算机系统900包括多个硬件元件,这些硬件元件可以经由总线905电耦接(或者可以以其他方式通信,视情况而定)。硬件元件可以包括一个或多个处理器910,包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如微处理器、数字信号处理芯片、图形加速处理器和微控制器),一个或多个输入设备915,其包括但不限于鼠标、键盘、一个或多个传感器等,以及一个或多个输出设备920,其可以包括但不限于显示设备等。
计算机系统900可以进一步包括(和/或与其通信)一个或多个存储设备925,其可以包括但不限于本地和/或网络可访问存储,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储设备、诸如为随机存取存储器(“RAM”)和/或只读存储器(“ROM”)的固态存储设备,其可以是可编程的、可闪存更新的和/或类似的。这种存储设备可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构和/或类似物。
计算机系统900可以进一步包括通信子系统930,其可以包括但不限于调制解调器、网卡(无线或有线)、IR通信设备、无线通信设备和/或芯片组(例如蓝牙(BluetoothTM)设备、802.11设备、WiFi设备、WiMax设备、WWAN设备、Z-Wave设备、ZigBee设备、蜂窝通信设施等),和/或如前所述的LP无线设备。通信子系统930可以允许与网络(例如下面描述的网络,仅用于示例)、与其他计算机或硬件系统、在数据中心或不同云平台之间、和/或与这里描述的任何其他设备交换数据。在许多实施例中,计算机系统900进一步包括工作存储器935,其可以包括如上所述的RAM或ROM设备。
计算机系统900还可以包括示出为当前位于工作存储器935内的软件元素,包括操作系统940、设备驱动程序、可执行库和/或其他代码,例如一个或多个应用945,其可以包括由各种实施例提供的计算机程序,和/或可以被设计为实现如本文所述的由其他实施例提供的方法和/或配置系统。仅作为示例,关于上面讨论的一个或多个方法描述的一个或多个过程可以被实现为可由计算机(和/或计算机内的处理器)执行的代码和/或指令。然后,在一个方面中,这样的代码和/或指令可以用于配置和/或适配通用计算机(或其他设备)以根据所描述的方法执行一个或多个操作。
这些指令和/或代码集可以被编码和/或存储在非暂时性计算机可读存储介质(例如上述存储设备925)上。在一些情况下,存储介质可以并入的计算机系统(例如系统900)内。在其他实施例中,存储介质可以与计算机系统(即,可移动介质,例如光盘等)分离,和/或提供在安装包中,使得存储介质可以用于使用其上存储的指令/代码对通用计算机进行编程、配置和/或适配。这些指令可以采取可由计算机系统900执行的可执行代码的形式、和/或可以采取源代码和/或可安装代码的形式,代码在计算机系统900上被编译和/或安装时(例如,使用各种通常可用的编译器、安装程序、压缩/解压缩实用程序等中的任何一种)然后采取可执行代码的形式。
对于本领域技术人员来说显然的是,可以根据特定要求进行实质性的变化。例如,也可以使用定制的硬件(例如可编程逻辑控制器、单板计算机、FPGAs、ASICs和SOC),和/或特定元素可以在硬件、软件(包括便携式软件,例如小程序等)中实现,或者在硬件和软件中实现。此外,可以采用到其他计算设备(诸如网络输入/输出设备)的连接。
如上所述,在一个方面,一些实施例可以采用计算机或硬件系统(例如计算机系统900)来执行根据本发明的各种实施例的方法。根据一组实施例,这种方法的一些或所有过程由计算机系统900响应于处理器910执行包含在工作存储器935中的一个或多个指令(其可以并入操作系统940和/或例如应用945的其他代码)的一个或多个序列而执行。这样的指令可以从另一个计算机可读介质,例如一个或多个存储设备925读入工作存储器935。仅作为示例,工作存储器935中包含的指令序列的执行可能导致处理器910执行本文所描述的方法的一个或多个过程。
本文使用的术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式操作的数据的任何介质。在使用计算机系统900实现的实施例中,各种计算机可读介质可以参与向处理器910提供指令/代码以供执行,和/或可以用于存储和/或携带这样的指令/代码(例如,作为信号)。在许多实施方式中,计算机可读介质是非暂时性的、物理的和/或有形的存储介质。在一些实施例中,计算机可读介质可以采取多种形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘和/或磁盘,例如存储设备925。易失性介质包括但不限于动态存储器,例如工作存储器935。在一些可选实施例中,计算机可读介质可以采取传输介质的形式,其包括但不限于同轴电缆、铜线和光纤,包括具有总线905的线,以及通信子系统930的各种组件(和/或,如下的介质,即:通信子系统930通过该介质提供与其他设备的通信)。在一组可选的实施例中,传输介质还可以采取波的形式(包括但不限于无线电波、声波和/或光波,例如在无线电波和红外数据通信期间产生的波)。
物理和/或有形计算机可读介质的常见形式包括,例如,软盘、软式磁碟片、硬盘、磁带或任何其他磁性介质、CD-ROM、任何其他光学介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、闪存EPROM、任何其他存储芯片或盒式存储器、下文描述的载波、或计算机可以从中读取指令和/或代码的任何其他介质。
各种形式的计算机可读介质可以参与将一个或多个指令的一个或多个序列传送到处理器910以供执行。仅作为示例,指令最初可以被携带在远程计算机的磁盘和/或光盘上。远程计算机可以将指令加载到其动态存储器中,并通过传输介质将指令作为信号发送,以由计算机系统900接收和/或执行。根据本发明的各种实施例,这些信号可以是电磁信号、声信号、光信号和/或类似信号的形式,它们都是可以在其上编码指令的载波的示例。
通信子系统930(和/或其组件)通常接收信号,然后总线905可以将信号(和/或由信号携带的数据、指令等)携带到工作存储器935,处理器910从中检索并执行指令。由工作存储器935接收的指令可以选择性地在由处理器910执行之前或之后存储在存储设备925上。
尽管已经关于实施例描述了一些特征和方面,但是本领域技术人员将认识到,许多修改是可能的。例如,这里描述的方法和过程可以使用硬件组件、软件组件和/或其任意组合来实现。此外,虽然为了便于描述,可以使用特定的结构和/或功能组件来描述这里描述的各种方法和过程,但是由各种实施例提供的方法不限于任何特定的结构和/或功能架构,而是可以在任何合适的硬件、固件和/或软件配置上实现。类似地,虽然一些功能被赋予一个或多个系统组件,但除非上下文另有规定,否则该功能可以在根据若干实施例的各种其他系统组件之间分布。
此外,尽管为了便于描述,本文描述的方法和过程的过程以特定顺序描述,但除非上下文另有规定,否则根据各种实施例,各种过程可以被重新排序、添加和/或省略。此外,关于一种方法或过程描述的过程可以结合在其他描述的方法或过程中。类似地,根据特定结构架构和/或关于一个系统描述的系统组件可以被组织在可选结构架构中和/或并入其他描述的系统中。因此,尽管为了便于描述和说明这些实施例的多个方面,各种实施例被描述为具有或不具有一些特征,但是除非上下文另有规定,这里相对于特定实施例描述的各种组件和/或特征可以从其他描述的实施例中替换、添加和/或删除。因此,尽管上面描述了若干实施例,但是应该理解,本发明旨在覆盖权利要求范围内的所有修改和等同物。
Claims (20)
1.一种方法,包括:
从已编码的比特流获得视频数据块的当前量化级;
基于转换条件进入所述当前量化级的当前状态,其中,所述转换条件确定状态转换,所述状态转换是从一个状态到另一个状态的转换,
其中,如果所述当前量化级是编解码扫描顺序中的当前块的第一非零量化级,则进入开始状态作为所述当前状态;
其中,如果所述当前量化级不是所述编解码扫描顺序中的所述当前块的所述第一非零量化级,则基于所述编解码扫描顺序中的先前量化级的转换条件和所述先前量化级的先前状态确定所述当前状态,其中,所述先前量化级在所述编解码扫描顺序中紧接在所述当前量化级之前,其中,所述先前量化级的转换条件至少部分地由已编码的比特流中的、表示所述先前量化级的有效系数标志(sig_coeff_flag)确定,其中,该有效系数标志指示所述先前量化级是零值还是非零值;
基于所述当前量化级的当前状态,选择第一量化器或第二量化器中的一个对所述当前量化级进行去量化;以及
经由所述第一量化器或所述第二量化器中的一个所选择的量化器对所述当前量化级进行去量化,以产生当前的去量化元素。
2.根据权利要求1所述的方法,其中,所述第一量化器和所述第二量化器包括以下之一:
一个零量化器和一个非零量化器;或者
两个零量化器。
3.根据权利要求1所述的方法,其中,所述已编码的比特流以表示所述有效系数标志和相应量化级的值的二进制,表示相应量化级。
4.根据权利要求1所述的方法,进一步包括:
对于所述第一非零量化级,确定所述第一非零量化级的扫描顺序位置。
5.根据权利要求1所述的方法,进一步包括:
确定在所述编解码扫描顺序中紧接在所述当前量化级之后的后续量化级的后续状态,其中,所述后续状态至少部分地基于所述当前量化级的转换条件确定,其中,所述当前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述当前量化级的有效系数标志确定。
6.根据权利要求1所述的方法,进一步包括:
确定所述当前量化级的当前状态,其中,确定所述当前量化级的当前状态进一步包括:
生成四状态模型;以及
在所述先前量化级的去量化期间,至少部分地基于所述先前量化级的先前状态确定所述当前量化级的当前状态,其中,所述四状态模型指示从所述先前状态到所述当前状态的状态转换。
7.根据权利要求1所述的方法,其中,所述先前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,所述大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。
8.根据权利要求7所述的方法,其中,所述转换条件进一步基于所述abs_level_gtxX_flag。
9.根据权利要求8所述的方法,其中,所述转换条件由如下方式给出:(sig_coeff_flag==1)&&(abs_level_gtx1==0),其中,所述大于X标记的绝对级中的X为1。
10.根据权利要求1所述的方法,其中,所述转换条件由如下方式给出:(sig_coeff_flag==1)。
11.一种装置,包括:
处理器;以及
与所述处理器通信的非暂时性计算机可读介质,其中,所述非暂时性计算机可读介质上编码有指令集,所述指令集能够由所述处理器执行,以执行如下操作:
从已编码的比特流获得视频数据块的当前量化级;
基于转换条件进入所述当前量化级的当前状态,其中,所述转换条件确定状态转换,所述状态转换是从一个状态到另一个状态的转换,
其中,如果所述当前量化级是编解码扫描顺序中的所述块的第一非零量化级,则进入开始状态作为所述当前状态;
其中,如果所述当前量化级不是所述编解码扫描顺序中的当前块的第一非零量化级,则基于所述编解码扫描顺序中的先前量化级的转换条件和所述先前量化级的先前状态确定所述当前状态,其中,所述先前量化级在所述编解码扫描顺序中紧接在所述当前量化级之前,其中,所述先前量化级的转换条件至少部分地由已编码的比特流中的、表示所述先前量化级的有效系数标志(sig_coeff_flag)确定,其中,该有效系数标志指示所述先前量化级是零值还是非零值;
基于所述当前量化级的当前状态,选择第一量化器或第二量化器中的一个以对所述当前量化级进行去量化;以及
经由所述第一量化器或所述第二量化器中的一个所选择的量化器对所述当前量化级进行去量化,以产生当前的去量化元素。
12.根据权利要求11所述的装置,其中,所述指令集由所述处理器执行以进一步执行如下操作:
确定在所述编解码扫描顺序中紧接在所述当前量化级之后的后续量化级的后续状态,其中,所述后续状态至少部分地基于所述当前量化级的转换条件确定,其中,所述当前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述当前量化级的有效系数标志确定。
13.根据权利要求11所述的装置,其中,所述指令集由所述处理器执行以进一步执行如下操作:
确定所述当前量化级的当前状态,其中,确定所述当前量化级的当前状态进一步包括:
生成四状态模型;以及
在所述先前量化级的去量化期间,至少部分地基于所述先前量化级的先前状态确定所述当前量化级的当前状态,其中,所述四状态模型指示从所述先前状态到所述当前状态的状态转换。
14.根据权利要求11所述的设备,其中,所述先前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,所述大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。
15.根据权利要求14所述的装置,其中,所述转换条件由如下方式给出:(sig_coeff_flag==1)&&(abs_level_gtx1==0);其中,所述大于X标记的绝对级中的X为1。
16.根据权利要求11所述的装置,其中,所述转换条件由如下方式给出:(sig_coeff_flag==1)。
17.一种媒体编解码子系统,包括:
包括第一量化器和第二量化器的两个或更多个量化器;
解码器,配置为将系数值编码为比特流;
处理器;以及
与所述处理器通信的非暂时性计算机可读介质,其中,所述非暂时性计算机可读介质上编码有指令集,所述指令集能够由所述处理器执行,以执行如下操作:
从已编码的比特流获得视频数据块的当前量化级;
基于转换条件进入所述当前量化级的当前状态,其中,所述转换条件确定状态转换,所述状态转换是从一个状态到另一个状态的转换,
其中,如果所述当前量化级是编解码扫描顺序中的所述块的第一非零量化级,则进入开始状态作为所述当前状态;
其中,如果所述当前量化级不是所述编解码扫描顺序中的当前块的第一非零量化级,则基于所述编解码扫描顺序中的先前量化级的转换条件和所述先前量化级的先前状态确定所述当前状态,其中,所述先前量化级在所述编解码扫描顺序中紧接在所述当前量化级之前,其中,所述先前量化级的转换条件至少部分地由已编码的比特流中的、表示所述先前量化级的有效系数标志(sig_coeff_flag)确定,其中,该有效系数标志指示所述先前量化级是零值还是非零值;
基于所述当前量化级的当前状态,选择第一量化器或第二量化器中的一个以对所述当前量化级进行去量化;以及
经由所述第一量化器或所述第二量化器中的一个所选择的量化器对所述当前量化级进行去量化,以产生当前的去量化元素。
18.根据权利要求17所述的媒体编解码子系统,其中,所述指令集由所述处理器执行以进一步执行如下操作:
确定在所述编解码扫描顺序中紧接在所述当前量化级之后的后续量化级的后续状态,其中,所述后续状态至少部分地基于所述当前量化级的转换条件确定,其中,所述当前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述当前量化级的有效系数标志确定。
19.根据权利要求17所述的媒体编解码子系统,其中,所述先前量化级的转换条件至少部分地由所述已编码的比特流中的、表示所述先前量化级的、大于X标志的绝对级(abs_level_gtxX_flag)确定,其中,所述大于X标志的绝对级指示给定量化级的绝对级是否大于X,其中X是整数。
20.根据权利要求19所述的媒体编解码子系统,其中,所述转换条件由如下方式之一给出:
(sig_coeff_flag==1)&&(abs_level_gtx1==0),其中,所述大于X标志的绝对级中的X为1;或者
(sig_coeff_flag==1)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163153664P | 2021-02-25 | 2021-02-25 | |
US63/153,664 | 2021-02-25 | ||
PCT/US2022/017272 WO2022187026A2 (en) | 2021-02-25 | 2022-02-22 | Dependent quantization state transition method for video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116965021A true CN116965021A (zh) | 2023-10-27 |
Family
ID=83155613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280015847.XA Pending CN116965021A (zh) | 2021-02-25 | 2022-02-22 | 视频编解码的相关量化状态转换方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116965021A (zh) |
WO (1) | WO2022187026A2 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11019346B2 (en) * | 2018-07-02 | 2021-05-25 | Qualcomm Incorporated | Coefficient coding with grouped bypass remaining levels for dependent quantization |
CN117729332A (zh) * | 2018-09-24 | 2024-03-19 | 弗劳恩霍夫应用研究促进协会 | 使用或适用于与依赖标量量化的组合的变换系数的有效编码 |
US11523136B2 (en) * | 2019-01-28 | 2022-12-06 | Hfi Innovation Inc. | Methods and apparatuses for coding transform blocks |
-
2022
- 2022-02-22 WO PCT/US2022/017272 patent/WO2022187026A2/en active Application Filing
- 2022-02-22 CN CN202280015847.XA patent/CN116965021A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022187026A3 (en) | 2022-10-13 |
WO2022187026A2 (en) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750841B2 (en) | Methods and apparatuses for coding transform blocks | |
US11677983B2 (en) | Methods and apparatus for improved entropy encoding and decoding | |
US11765342B2 (en) | Multi-component picture or video coding concept | |
JP5733590B2 (ja) | 変換係数レベルを符号化するコンテキストモデリング技法 | |
CN110691244B (zh) | 视频编码中的语法的二进制化和上下文自适应编码的方法和装置 | |
US8666179B2 (en) | Image encoding apparatus and decoding apparatus | |
US9270988B2 (en) | Method of determining binary codewords for transform coefficients | |
WO2020259631A1 (en) | Signaling coding of transform-skipped blocks | |
KR20130140190A (ko) | 마지막 유효 계수의 위치를 코딩 및 디코딩하는 방법 및 장치 | |
CN114009036B (zh) | 图像编码设备和方法、图像解码设备和方法以及存储介质 | |
CN116965021A (zh) | 视频编解码的相关量化状态转换方法 | |
CN113330740B (zh) | 视频编码器中的方法和用于视频编码器的系统 | |
JP2024516358A (ja) | 係数符号化・復号化方法、符号器、復号器及びコンピュータ記憶媒体 | |
WO2022178405A1 (en) | Dependent quantization and residual coding method | |
KR20120038355A (ko) | 계층 구조의 영상 처리를 위한 엔트로피 인코딩/디코딩 방법 및 장치와 이를 위한 심볼 인코딩/디코딩 방법 및 장치 | |
CN116918327A (zh) | 视频编码中基于状态的依赖量化和残差编码 | |
CN116982317A (zh) | 系数的编解码方法、编码器、解码器及计算机存储介质 | |
JP2023117786A (ja) | 符号化装置、プログラム、及びモデル生成方法 | |
GB2585044A (en) | Image data encoding and decoding |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240410 Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Country or region after: China Address before: 2479 Bay East Road, Palo Alto, California, USA, Room 110 Applicant before: Chuangfeng Technology Country or region before: U.S.A. |