转换系数编解码的方法及装置与流程

文档序号:23722980发布日期:2021-01-26 13:51阅读:117来源:国知局
转换系数编解码的方法及装置与流程
转换系数编解码的方法及装置
[0001]
相关参考
[0002]
本发明要求递交于2015年6月23日,号码为pct/cn2015/082073的pct专利申请和递交于2015年6月30日,号码为pct/cn2015/082833的pct专利申请的优先权,这些pct专利申请整体通过引用纳入其中。
技术领域
[0003]
本发明涉及使用转换编解码的视频和图像数据的编解码,具体地,本发明涉及提升非正方形块的转换系数(transform coefficient)编解码的技术。


背景技术:

[0004]
视频数据需要许多存储空间来存储或宽的频宽来传输。随着高分辨率和更高帧率的发展,如果视频数据以未压缩的格式进行存储或传输,那么存储或者传输带宽的需求将会是非常可怕的。因此,视频数据经常使用视频编解码技术以压缩的格式进行存储或传输。通过使用更新的视频压缩格式例如h.264/avc以及新兴的hevc(高效视频编码)标准,编解码效率已经取得了大幅度的提升。
[0005]
图1示出了合并循环处理的一示例性的适应性帧间/帧内编解码系统。对于帧间预测,基于来自于其他一个或多个图像的视频数据,运动估计(motion estimation,简称me)/运动补偿(motion compensation,简称mc)112被用于提供预测数据。开关114选择帧内预测110或帧间预测数据,并且选择的预测数据被提供给加法器116以形成预测误差,也称为残差(residues),预测误差然后先由转换(t)118随后由量化(q)120进行处理。转换的和量化的残差然后由熵编码器122进行编码到被包括在对应于压缩视频数据的视频比特流中。当使用了帧间预测模式,一个或多个参考图像也需要在编码器端进行重建。因此,转换的和量化的残差由逆量化(iq)124和逆转换(it)126进行处理以恢复该残差。然后在重建(rec)128时将该残差添加回预测数据136以重建视频数据,重建的视频数据存储于参考图像缓冲器134并用于其他帧的预测。然而,在将该视频数据存储到该参考图像缓冲器之前,还可以将环路滤波器(loop filter)130(例如去块滤波器和/或样本适应性偏移(sample adaptive offset),sao)应用于该重建的视频数据。
[0006]
图2示出了图1中编码系统的对应的视频解码器的系统框图。因为编码器也包含用于重建该视频数据的本地解码器,除了熵解码器210,在该编码器中已经使用了一些解码器组件,此外,仅解码器侧需要运动补偿220。开关146选择帧内预测或帧间预测并且所选择的预测数据被提供给重建(rec)128以与恢复的残差进行结合。除了执行关于压缩的残差的熵解码,熵编码器210也负责边信息(side information)的熵解码并将该边信息提供给相应的多个块(respective blocks)。例如,将帧内模式信息提供给帧内预测110,将帧间模式信息提供给运动补偿220,将环路滤波信息提供给环路滤波器130并且将残差提供给逆量化124。该残差由iq124、it126以及随后的重建进程进行处理以重建视频数据。此外,如图2所示的来自于rec128的重建的视频数据经历包括iq124以及it126的一系列处理并易遭受编
解码伪影,该重建的视频数据进一步由环路滤波器130处理。
[0007]
在高效视频编码(hevc)系统中,h.264/avc的固定尺寸的宏快由称为编码单元(coding unit,简称cu)的灵活的块所替代。cu中的多个像素共享相同的多个编解码参数以提升编解码效率。cu可以开始于最大的cu(largest cu,简称lcu),其在hevc中也被称为编码树单元(ctu)。除了编码单元的概念,hevc中也引入了预测单元(prediction unit,简称pu)的概念。一旦完成了cu分层树的拆分,根据预测类型和pu分割,每个叶cu可以进一步拆分成一个或多个预测单元。此外,用于转换编解码的基础单元是称为转换单元(transform unit,简称tu)的正方形尺寸。编码组(coding group,简称cg)被定义为扫描次序(scan order)中的一组连续的16个系数。对于给定的扫描次序,一个cg对应于一个4
×
4子块(subblock),语法元素coded_sub_block_flag被用信号传递为每个子块去指示该子块是否包含非0系数。如果由对应的标记所指示的该子块是显著的,该子块的系数显著标记(coefficient significant flag)、符号标记(sign flag)以及绝对水平(absolute level)进一步被最多五个系数扫描路径(coefficient scan paths)进行编码。每个系数扫描路径在必要时在cg内编码语法元素,如下:
[0008]
1)significant_coeff_flag:系数的显著性(0或非0)。
[0009]
2)coeff_abs_level_greater1_flag:标记指示系数水平的绝对值是否大于1。
[0010]
3)coeff_abs_level_greater2_flag:标记指示系数水平的绝对值是否大于2。
[0011]
4)coeff_sign_flag:显著的系数的符号(0:正,1:负)。
[0012]
5)coeff_abs_level_remaining:用于系数水平的绝对值剩余值(如果值大于在前一轮编码的值)。
[0013]
在常规模式下对前3路径中的二进制位(bins)进行算数编码(使用上下文),并且在旁路模式下对扫描路径4和5中的二进制位进行算数编码。分组旁路二进制位(grouping bypass bins)可以提升熵编码器的吞吐量(throughput)。
[0014]
在当前的hevc标准中,tu中的残差在cg基础上进行编码并且多个cg根据cg扫描路径一个接一个的进行编码,其中该cg扫描路径指用于tu中该多个cg的扫描次序。因此,当cg中的多个旁路二进制位被一起分组的时候,该常规模式二进制位(regular mode bins)和旁路二进制位(bypass bins)在tu中仍是交错的(interleaved)。
[0015]
对于每个cg,根据一标准(criterion),当应用符号数据隐藏(sign data hiding)的时候,略过对最后非0系数的符号的编解码。符号值由cg的各个水平总和的奇偶校验位(parity)获得,其中偶数校验位对应于正符号以及奇数校验位对应于负符号。该标准是扫描次序中第一个和最后一个非0系数之间的距离,如果该距离大于阈值(hevc中也就是4),应用符号数据隐藏。
[0016]
希望提高特别是对于非正方形转换单元的编解码的效率,也希望提高对于多个编码组的吞吐率(throughput rate)转换系数编解码。


技术实现要素:

[0017]
本发明提出了一种提高对于非正方形转换单元编解码效率以及转换系数编解码中编码组吞吐率的方法及装置。
[0018]
公开了一种用于视频编码器或解码器的图像和视频数据的转换系数编解码的方
法及装置。该方法基于当前tu适应性地决定cg尺寸,基于所述cg尺寸,将所述当前tu分成一个或多个当前cg。根据遍历所述当前tu的所选择的cg扫描路径以及一个或多个系数扫描路径,然后对与所述当前tu的多个系数有关的二进制位(bins)进行编码或解码。对于所述当前tu,如果tu宽度大于或小于tu高度,那么对于所述多个当前cg,相应地cg的宽度被选择为大于或小于cg的高度。例如,当所述当前tu的所述tu尺寸对应于n
×
2n或2n
×
n的时候,相应地所述多个当前cg的cg尺寸被选择为2
×
4或4
×
2。在另一个示例中,较小的cg用于较小的tu。
[0019]
在一个实施例中,如果所述当前tu尺寸小于tu尺寸的阈值,所述当前tu将不会被分成一个或多个cg。例如,所述tu尺寸的阈值可以是8
×
8。
[0020]
所述cg尺寸可以在比特流的所选择的语法层级中用信号发送,并且所述所选择的语法层级对应于切片数据头(slice header)、ctu层级(编码树单元层级)、cu层级(编码单元层级)或者tu层级。所述比特流的更高的语法层级中的控制标记可以用信号发送以控制表示所述cg尺寸是否在所述所选择的语法层级中。所述更高的语法层级可以对应于所述切片数据头以及所述所选择的语法层级对应于所述ctu层级、所述cu层级或所述tu层级。
[0021]
在另一个实施例中,标记可以在比特流的所选择的语法层级中用信号发送,以指示适应性cg是否被允许。如果所述标记指示所述适应性cg是被允许的,那么cg尺寸在比所述比特流的所述所选择的语法层级更低的每一较低的语法层级中用信号发送。所述比特流的所述所选择的语法层级对应于编码树单元层级以及所述每一较低的语法层级对应于编码单元层级,或者所述比特流的所述所选择的语法层级对应于cu层级以及所述每一较低的语法层级对应于tu层级。
[0022]
公开了另一种用于视频编码器或解码器的图像和视频数据的转换系数编解码的方法及装置。根据这一方法,使用遍历当前tu的第一单个cg扫描路径,对与没有任何上下文编码系数的所述当前tu的多个cg中的多个系数有关的所有旁路编码二进制位(bypass-coded bins)进行编码或解码,使用每个cg中的一个或多个第一系数扫描路径决定所述当前tu的所有旁路编码系数(bypass-coded coefficient)。所述方法可以包括另一步骤,使用遍历所述当前tu的第二单个cg扫描路径,对与没有任何旁路编码系数的所述当前tu的多个系数有关的所有上下文编码二进制位(context-coded bins)进行编码或解码,使用每个cg中的一个或多个第二系数扫描路径决与定所述当前tu的所述多个系数有关的所有上下文编码二进制位。
[0023]
在这一方法的一个实施例中,根据第一cg尺寸将所述当前tu分成用于第一单个cg扫描路径的一个或多个第一cg,以及根据第二cg尺寸将所述当前tu分成用于第二单个cg扫描路径的一个或多个第二cg,并且其中所述第一cg尺寸不同于所述第二cg尺寸。例如,所述第二cg尺寸对应于4
×
4以及第一cg尺寸对应于4
×
2或2
×
4。在另一示例中,所述第二cg尺寸对应于4
×
2或2
×
4及所述第一cg尺寸对应于4
×
4。
[0024]
与所述当前tu的所述多个系数有关的所述旁路编码二进制位可以包括语法元素coeff_sign_flag和coeff_abs_level_remaining。与所述当前tu的所述多个系数有关的所述上下文编码二进制位可以包括语法元素significant_coeff_flag,coeff_abs_level_greater1_flag以及coeff_abs_level_greater2_flag。
[0025]
用于所述第一单个cg扫描路径的所述多个第一cg可以对应于预定义的系数扫描
次序中所述当前tu的n个连续的系数并且n是正整数。例如,n可以对应于4、6、8、10、12、16、24、32或64。
[0026]
在另一实施例中,根据第一cg尺寸将所述当前tu分成用于所述第一单个cg扫描路径的一个或多个第一cg,并且根据所述第一cg尺寸将符号数据隐藏(sign data hiding)应用于所述当前tu。例如,如果所述第一cg尺寸是24并且起始非0系数和结束非0系数之间的距离大于阈值,将所述符号数据隐藏应用于所述当前tu。
[0027]
本发明通过提高对于非正方形转换单元编解码效率以及转换系数编解码中编码组吞吐率,可以提高编解码的效率。
附图说明
[0028]
图1示出了使用转换、量化以及环路处理的一示例性适应性帧间/帧内视频编码系统。
[0029]
图2示出了使用转换、量化以及环路处理的一示例性适应性帧间/帧内视频解码系统。
[0030]
图3示出了用于8
×
8tu的多个编码组的示例。
[0031]
图4示出了用于8
×
4tu的多个编码组的示例。
[0032]
图5示出了用于4
×
8tu的多个编码组的示例。
[0033]
图6示出了根据本发明一实施例的视频编解码系统利用适应性编码组的示例性流程图。
[0034]
图7示出了根据本发明一实施例的视频编解码系统利用编码组和cg扫描路径以对与多个系数有关的所有旁路编码二进制位进行分组的示例性流程图。
具体实施方式
[0035]
后续的描述是实施本发明的最佳实施方式,这些描述旨在说明本发明的基本原理且不应该做限制性理解。本发明的范围由参考所附权利要求最佳确定。
[0036]
如早先时候所提到的,根据现有的hevc标准,编码组(coding group)尺寸被固定在4
×
4系数而不考虑转换单元尺寸,固定尺寸的cg可能不是总能得到良好的性能。因此,公开了一种适应性编码组以提高性能。
[0037]
在一个实施例中,cg尺寸取决于tu尺寸,具体地,非正方形cg尺寸用于非正方形tu。例如,如果tu高度大于tu宽度,使用2
×
4cg。同样地,如果tu宽度大于tu高度,使用4
×
2cg。图3示出了8
×
8tu的示例,其中使用了传统的4
×
4cg。如图4所示,对于8
×
4tu,使用4
×
2cg。如图5所示,对于4
×
8tu,使用2
×
4cg。应当理解的是,这里所提到的特定的多个tu尺寸和多个cg尺寸旨在说明根据本发明的适应性编码组的示例,这些特定的多个tu尺寸和多个cg尺寸不应该被解释为本发明的限制,也可以使用其他非固定的4
×
4cg。一般来说,根据本发明一实施例,如果tu具有tu高度大于tu宽度,可以使用具有cg高度大于cg宽度的cg。或者根据本发明一实施例,如果tu具有tu宽度大于tu高度,可以使用具有cg宽度大于cg高度的cg。
[0038]
在另一个实施例中,较小的cg用于小的tu。例如,1
×
1cg用于8
×
8tu,在这种情况下,cg显著性标记没有被标志。此外,应该理解的是这里所提到的特定的tu尺寸和cg尺寸旨
在说明根据本发明的适应性编码组的示例。所述特定的tu尺寸和cg尺寸不应该被解释为本发明的限制,其他较小的多个cg尺寸(例如2
×
2)也可以用于8
×
8tu。
[0039]
在又一其他实施例中,对于多个小的tu,cg分割是禁用的。例如,对于任何小于8
×
8的tu,cg分割是禁用的,这种情况下,对于4
×
8tu、4
×
4tu、2
×
8tu、8
×
4tu、8
×
2tu等等,cg分割是禁用的。在这一示例中,任何尺寸小于8
×
8的tu在没有被分成多个cg的情况下被编码或解码。
[0040]
在又一其他实施例中,用于较大tu中的多个cg的cg尺寸大于用于较小tu中的多个cg的cg尺寸。
[0041]
所述cg尺寸可以在切片数据头、编码树单元层级、编码单元层级或tu层级中用信号发送以致于解码器可以正确地解析和/或解码编码的tu。
[0042]
如果cg尺寸被允许在比特流的所选择的语法层级用信号发送,那么控制标记可以在比所选择的语法层级更高的语法层级中用信号发送以控制是否在所选择的语法层级中表示所述cg尺寸。例如,所选择的语法层级可以对应于ctu层级,既然这样,更高的语法层级可以对应于切片数据头或其他更高级语法层级语法。
[0043]
在另一示例中,所选择的语法层级对应于cu层级或tu层级以及更高的语法层级对应于数据头或其他高语法层级语法(例如ctu层级)。
[0044]
在另一实施例中,指示是否去使用适应性cg尺寸的标记在所选择的语法层级用信号发送,如果该标记具有一值为真,则指示该cg尺寸的语法元素可以在比特流中该所选择的语法层级之下的较低语法层级用信号发送。例如,该所选择的语法层级可以对应于ctu层级以及在这种情况下,该较低语法层级对应于cu层级。在另一个实施例中,该所选择的语法层级可以对应于cu层级以及在这种情况下,该较低语法层级对应于tu层级。
[0045]
本发明的另一方面解决来自于tu的多个cg的语法编解码,如之前所提到的,与每个cg有关的多个语法元素在多个系数扫描路径中被编码。在第一系数扫描路径中,在第一扫描路径中对语法元素significant_coeff_flag进行编码,如果cg中存在任何显著系数,则可能需要多达总共五个扫描路径对所有语法元素进行编码。需要五个扫描路径的语法元素对应于significant_coeff_flag,coeff_abs_level_greater1_flag,coeff_abs_level_greater2_flag,coeff_sign_flag以及coeff_abs_level_remaining。此外,使用上下文模式对这五个语法元素中的首先三个进行算数编码,以及在旁路模式中对后面两个语法元素进行算数编码。
[0046]
在本发明的一个实施例中,语法元素coeff_sign_flag和coeff_abs_level_remaining的编解码是在单个cg扫描路径中,因此,根据这一实施例,来自于tu的所有旁路编码语法元素(bypass coded syntax elements)都被归并到一起。
[0047]
在另一实施例中,在每个cg中执行三个系数扫描路径以在cg扫描的第一扫描路径中对语法元素significant_coeff_flag,coeff_abs_level_greaterl_flag以及coeff_abs_level_greater2_flag进行编码。此外,在cg扫描的第二扫描路径中,在每个cg中执行两个系数扫描路径以对语法元素coeff_sign_flag以及coeff_abs_levelremaining进行编码。根据这一实施例,来自于tu的多个cg中的所有上下文编码语法元素被归并到一起以及来自于tu的多个cg中的所有旁路编码语法元素被归并到一起。因此,不需要在多个cg之间的上下文编码模式和旁路编码模式之间进行切换,这可以有助于提高语法分析吞吐率。
[0048]
在又一其他实施例中,第二cg扫描路径中的cg尺寸可以不同于第一cg扫描路径中的cg尺寸。例如,第一cg扫描路径中的cg对应于4
×
4块尺寸,以及第二cg扫描路径中的cg对应于4
×
2或2
×
4块尺寸。这样,可以对用于显著标记编解码(significant flag coding)和符号数据隐藏的子块尺寸分别地进行优化。
[0049]
在一个实施例中,第一cg扫描路径中的cg对应于4
×
4、4
×
2或2
×
4块尺寸取决于tu尺寸,但是第二扫描路径中的cg对应于固定的块尺寸,例如4
×
4。
[0050]
在另一个实施例中,第二cg扫描路径中的cg对应于预定义扫描次序(例如在第一扫描路径中使用的扫描次序)中的n个连续的系数,n可以是4、6、8、10、12、16、24、32或64。
[0051]
在又一实施例中,用于符号数据隐藏的标准(criterion)取决于第二cg扫描路径中的cg尺寸,例如,如果第二cg扫描路径中的cg尺寸是24,那么该标准可以是大于m(例如m等于6或8)的cg中的第一非0系数(也就是起始非0系数)和最后非0系数(也就是结束非0系数)之间的距离。
[0052]
在又一实施例中,两个扫描路径中的cg尺寸可以分别明确地用信号发送。
[0053]
图6示出了根据本发明一实施例的视频编解码系统使用适应性编码组的一示例性流程图。根据这一方法,如步骤610所示,接收与对应于当前图像的块的当前tu(转换单元)有关的输入数据。在编码器侧,所述输入数据对应于将要被编码的所述当前tu的多个量化的转换系数,在解码器侧,所述输入数据对应于将要被解码的所述当前tu的多个编码的转换系数。如步骤620所述,基于所述当前tu适应性地决定cg(编码组)尺寸,以及根据所述cg尺寸将所述当前tu分成一个或多个当前cg。如步骤630所示,根据遍历所述当前tu的所选择的cg扫描路径以及每个当前cg中的一个或多个系数扫描路径,对与所述当前tu的多个系数有关的二进制位进行编码或解码。在一个实施例中,所述所选择的cg扫描路径用于扫描指示所述每个当前cg是否包含任意非0系数的每个cg中的显著标记,并且所述系数扫描路径被用于去扫描包含多个系数显著性标记、多个符号标记以及多个绝对层级的一个或多个系数。
[0054]
图7示出了根据本发明一实施例的视频编解码系统利用编码组和cg扫描路径以分组与多个系数有关的所有旁路编码二进制位的示例性流程图。根据这一方法,如步骤710所述,接收与对应于当前图像的块的当前tu有关的输入数据。在步骤720中,使用遍历所述当前tu的第一单个cg扫描路径,对与没有任何上下文编码系数的所述当前tu的多个cg中多个系数有关的旁路编码二进制位进行编码和解码,其中使用每个所述当前cg中的一个或多个第一系数扫描路径决定与所述当前tu的多个系数有关的所有旁路编码二进制位。在一个实施例中,基于所述当前tu的尺寸和/或形状决定用于所述当前cg的cg尺寸。例如,非正方形cg尺寸用于非正方形tu,比如,如果tu高度大于tu宽度,使用2
×
4cg,如果tu宽度大于tu高度,使用4
×
2cg。
[0055]
这些流程图旨在说明根据本发明的视频编解码的示例,本领域技术人员可以在不背离本发明精神的情况下,修改每个步骤、重新排列这些步骤、拆分一个步骤或者组合多个步骤以实施本发明。在本发明中,已经使用了特定的语法和语义来说明实施本发明多个实施例的示例,本领域技术人员可以在不背离本发明精神的情况下,通过用相等的语法和语义替代这些语法和语义来实施本发明。
[0056]
上述的描述是为了使本领域普通技术人员在特定的应用及其要求的情况下实施
上下文中所提供的本发明。对所描述实施例的各种修改对于本领域技术人员而言将是显而易见的,而且本发明定义的一般原理可能应用于其他实施例。因此,本发明不旨在限于所示出或者描述的实施例,而且与本发明所公开的原理或新颖特征一致的最宽范围。在上述详细描述中,示出了各种特定细节以便提供一个本发明的透彻理解。然而,本领域技术人员可以理解并实施本发明。
[0057]
如上所述的本发明的实施例可以以各种硬件、软件代码或者两者的组合来实现。例如,本发明的一个实施例可以是集成到视频压缩芯片中的一个或多个电子电路或者集成视频压缩软件中的程序代码,以执行本文所述的处理。本发明的实施例还可以是在数字信号处理器(dsp)上执行的程序代码,以执行本文所述的处理。本发明还可以涉及由计算机处理器、数字信号处理器、微处理器或者现场可编程门阵列(fpga)执行的多个功能。这些处理器可以被配置为通过执行定义为本发明所体现的特定方法的机器可读软件代码或者固件代码来执行根据本发明的特定任务。软件代码或固件代码可以用不同的编程语言和不同的格式或样式来开发。软件代码还可以针对不同的目标平台编译。然而,不同的代码格式、软件代码的风格和语言以及其他手段的配置代码以执行与本发明一致的任务将不得脱离本发明的精神和范围。
[0058]
在不脱离本发明精神或基本特征的情况下,本发明还可以以其他具体形式实施。所描述的示例在所有方面被认为仅是说明性的而不是限制性的。本发明的范围由所附权利要求表示而不是前面的描述。在权利要求的等同物的含义和范围内的所有改变将被包括在其范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1