量化与熵编码方法及装置

文档序号:26789453发布日期:2021-09-28 22:49阅读:125来源:国知局
量化与熵编码方法及装置

1.本发明专利属于图像压缩领域,具体涉及一种图像变换块进行量化和熵编码的方法和装置。


背景技术:

2.由于图像压缩过程中需要经过变换、量化和熵编码等步骤,而图像压缩产生失真的主要环节来自于量化,因此量化是有损压缩中关键的步骤,因此更优的量化器设计能够对图像进行更精细的量化,从而减少信息损失,有效提升压缩性能。量化后的系数由语法元素进行二值化表达,对相应的语法元素选择合适的概率模型,能够提升数据压缩比。
3.栅格网络量化方法能够在不增加压缩码率的同时,对图像进行更精细的量化,该量化方法是栅格编码调制技术在信源编码中的应用,该方法核心是信号扩展和集合划分,使用了多组量化器,通过量化器之间的转换关系,对当前变换块系数自适应的选择更优的量化器,使得均方误差减小。该方法的本质是使得在整体意义上重建值之间的距离更加密集,在r-d(码率-失真)意义上的重建值与原始值的欧式距离更小。
4.marcellin m.w.最先提出在信源编码中引入栅格编码调制技术的思想,对无记忆信源和高斯-马尔科夫信源使用栅格网络量化方法。rajan l.joshi提出对图像子带使用栅格网络量化方法进行编码,将量化值分为四个集合d0、d1、d2、d3,建立两个码本a0=d0∪d2,a1=d1∪d3,根据网络状态选择码本,并对量化结果使用算术编码。a.aksu在此基础上设计了两步栅格网络量化,对残差进行更精细的量化,第一步是对图像预测残差进行栅格网络量化,第二步是对该残差重建值与原始值之差进行栅格网络量化,通过渐近式的方式提升图像量化性能。
5.heiko schwarz提出基于栅格网络量化器的关联量化技术,首次提出使用双量化器的概念,双量化器结构如图1所示,q0和q1两组量化器将量化值分为四个集合,v0、v1、v2、v3,每一个系数会有单独的状态值,量化时分别根据当前系数的状态来决定使用哪一个量化器,当前系数的状态值和系数所属的量化值集合共同决定了扫描顺序上的下一个系数的状态值,具体转换关系如图2所示。并且,为量化值设计了新的语法元素,增加了一项用于表示系数所属的量化值集合的语法元素。对于表示系数是否非零的语法元素significant flag,对于该语法元素的模型选择,利用系数使用q0或q1量化器分为两组。但是对于一些变换块,系数能量分布比较集中,导致变换块内的非零系数较少,在这种情况下,使用栅格网络量化的方式反而容易降低压缩性能。


技术实现要素:

6.为了解决上述技术问题,本发明提出了一种针对特定变换块的对偶量化的方法及装置。本发明的目的是通过如下技术方案实现的:针对变化块的非零系数所在范围信息,对于满足条件的变换块,使用两个成对的对偶量化器,根据变换块扫描顺序上的变换系数大小变化情况,自适应地选择其一量化器对当前系数进行量化,并为相应的语法元素选择更
优的模型,在不提升编码码率的情况下,提高图像的编码质量。具体而言:
7.本发明的第一个方面提供了一种系数反量化和熵解码方法,包括:
8.s1、解析码流中系数的多个语法元素的值,其中对于至少一个语法元素s,根据对偶反量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型进行解析;
9.s2、基于所述的多个语法元素的值组合得到当前待解码系数的重建电平索引值;
10.s3、根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值;
11.s4、根据对偶反量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶反量化器的状态。
12.进一步的,所述的语法元素s是表示所述待解码系数是否为非零的标识;
13.所述对偶反量化器存在四个不同状态;
14.所述选定概率模型并进行解析具体包括根据对偶反量化器的当前状态,从四组概率模型中选定一组概率模型,使用该组概率模型中的一个概率模型解析所述的语法元素s。
15.进一步的,在所述的码流中,当前待解码系数的前一个系数的所有语法元素均在当前待解码系数的所述的语法元素s之前。
16.进一步的,该方法还包括:
17.s0、在解析码流中系数的多个语法元素的值之前,根据当前变换块非零系数所在范围信息判断当前变换块是否满足条件,若条件满足,则执行步骤s1-s4的方法。
18.本发明的第二个方面提供了一种系数量化和熵编码方法,包括:
19.根据对偶量化器的当前状态,采用对应的量化方法将当前待编码系数映射为重建电平索引值;
20.使用多个语法元素的值描述所述重建电平索引值;
21.对所述的多个语法元素进行熵编码并写入码流;其中,对于所述多个语法元素中至少一个语法元素s的值,根据对偶量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型进行熵编码;
22.根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。
23.进一步的,所述的语法元素s是表示所述待编码系数是否为非零的标识;
24.所述对偶量化器存在四个不同状态;
25.所述选定概率模型并进行熵编码具体包括根据对偶量化器的当前状态,从四组概率模型中选定一组概率模型,使用该组概率模型中的一个概率模型编码所述的语法元素s。
26.本发明的第三个方面提供了一种系数反量化和熵解码装置,包括:
27.系数熵解码模块:其输入为码流,输出为多个语法元素,该模块解析码流中的多个语法元素的值,其中对于至少一个语法元素s,根据反量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型解析所述的多个语法元素的值;
28.重建电平索引值解码模块:其输入为多个语法元素,输出为当前待解码系数的重建电平索引值,该模块组合多个语法元素的值得到当前待解码系数的重建电平索引值;
29.对偶反量化模块:其输入为重建电平索引值和对偶反量化器状态,输出为重建电
平值,该模块根据对偶反量化器的所述状态,采用对应的反量化方法将所述的重建电平索引值映射为所述重建电平值,输出所述重建电平值作为所述待解码系数的值;
30.状态更新模块:其输入为对偶反量化器的当前状态和所述重建电平值所对应的重建电平分组,输出为更新的对偶反量化器状态,该模块根据反量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新反量化器的状态。
31.进一步的,所述的语法元素s是表示所述待解码系数是否为非零的标识;
32.所述反量化器存在四个不同状态;
33.所述选定概率模型并进行解析具体包括:根据对偶反量化器的当前状态,从四组概率模型中选定一组概率模型,使用该组概率模型中的一个概率模型解析所述的语法元素s。
34.本发明的第四个方面提供了一种系数量化和熵编码的装置,包括:
35.对偶量化模块:其输入为待编码系数和对偶量化器的当前状态,输出为重建电平索引值,该模块采用对应的量化方法将当前待编码系数映射为重建电平索引值;
36.重建电平索引值编码模块:其输入为所述重建电平索引值,输出为多个语法元素,该模块使用多个语法元素的值描述所述重建电平索引值;
37.系数熵编码模块:其输入为多个语法元素,输出为码流,该模块对所述的多个语法元素进行熵编码并写入码流;其中,对于所述多个语法元素中至少一个语法元素s的值,根据对偶量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型进行熵编码;
38.状态更新模块:其输入为所述重建电平索引值和对偶量化器状态,输出为更新的对偶量化器状态,该模块根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。
39.进一步的,所述的语法元素s是表示所述待编码系数是否为非零的标识;
40.所述量化器存在四个不同状态;
41.所述选定概率模型并进行编码具体包括:根据量化器的当前状态,从四组概率模型中选定一组概率模型,使用该组概率模型中的一个概率模型编码所述的语法元素s。
42.本发明与现有技术相比,其优势在于:
43.1)当解析码流中的多个语法元素的值时,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析,提升了熵编码性能,从而提升了编码效率。
44.2)仅对部分变换块使用对偶量化技术,一方面可以跳过不适宜使用该技术的变换块,从而减小编码复杂度,缩短编码时间;另一方面可以避免由不适宜使用该技术的变换块造成的性能退化。
附图说明
45.结合附图,本发明的其他特点和优点可从下面通过举例来对本发明的原理进行解释的优选实施方式的说明中变得更清楚。
46.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
47.图1是对偶量化器的结构。
48.图2是量化器状态转换关系图。
49.图3是实施例8装置示意图。
50.图4是实施例10装置示意图。
51.图5是实施例9装置示意图。
52.图6是实施例11装置示意图。
具体实施方式
53.为了进一步理解本发明,下面结合实施例对本发明的优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
54.实施例1
55.一种反量化和熵解码的方法,具体包括:
56.(1)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析。
57.(2)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
58.(3)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用图1所示的对偶反量化器,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
59.若状态为0或1,使用量化式,coeff=x
·2△

60.若状态为2或3,使用量化式,
61.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
62.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,除0值之外这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
63.(4)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
64.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
65.实施例2
66.一种反量化和熵解码的方法,具体包括:
67.(1)根据当前变换块非零系数所在范围信息判断当前变换块是否满足条件,若是,则使用对偶量化技术。对于如何判断当前变换块是否符合条件,可以有不同的实施方法,比如根据变化块内扫描顺序上的第一个非零系数在变换块内的x和y,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术;比如根据变化块内,由所有非零系数所围成的最小矩形的右下角坐标x和y,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术。
68.(2)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析。
69.(3)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
70.(4)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用图1所示的对偶反量化器,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
71.若状态为0或1,使用量化式,coeff=x
·2△

72.若状态为2或3,使用量化式,
73.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
74.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,除0值之外这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
75.(5)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对
偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
76.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
77.实施例3
78.一种反量化和熵解码的方法,具体包括:
79.(1)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析。在所述的码流中,当前待解码系数的前一个系数的所有语法元素均应在当前待解码系数的所述的语法元素s之前,例如,语法元素s为表示系数是否非零的significant flag,必须完全对前一个系数的所有语法元素完成解析后,再对当前系数的语法元素s根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析。
80.(2)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
81.(3)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用图1所示的对偶反量化器,将量化值分为四个集合,v00、v01、v10、v11,每一个系数会有单独的状态值,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
82.若状态为0或1,使用量化式,coeff=x
·2△

83.若状态为2或3,使用量化式,
84.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
85.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,除0值之外这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
86.(4)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
87.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
88.实施例4
89.一种反量化和熵解码的方法,具体包括:
90.(1)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析。
91.(2)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
92.(3)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用与图1所示不同的对偶反量化器,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
93.若状态为0或1,使用量化式,coeff=x
·2△

94.若状态为2或3,使用量化式,
95.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
96.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
97.(4)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器
的选择。
98.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
99.实施例5
100.一种反量化和熵解码的方法,具体包括:
101.(1)根据当前变换块非零系数所在范围信息判断当前变换块是否满足条件,若是,则使用对偶量化技术。对于如何判断当前变换块是否符合条件,可以有不同的实施方法,比如根据变化块内扫描顺序上的第一个非零系数在变换块内的x和y,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术;比如根据变化块内,由所有非零系数所围成的最小矩形的右下角坐标x和y,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术。
102.(2)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析。
103.(3)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
104.(4)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用与图1所示不同的对偶反量化器,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
105.若状态为0或1,使用量化式,coeff=x
·2△

106.若状态为2或3,使用量化式,
107.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
108.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
109.(5)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
110.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
111.实施例6
112.一种反量化和熵解码的方法,具体包括:
113.(1)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析:具体的实施有多种,例如系数的所有语法元素都使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析。在所述的码流中,当前待解码系数的前一个系数的所有语法元素均应在当前待解码系数的所述的语法元素s之前,例如,语法元素s为表示系数是否非零的significant flag,必须完全对前一个系数的所有语法元素完成解析后,再对当前系数的语法元素s根据对偶反量化器的当前状态从多组概率模型中选定概率模型并进行解析。
114.(2)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
115.(3)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用与图1所示不同的对偶反量化器,将量化值分为四个集合,v00、v01、v10、v11,每一个系数会有单独的状态值,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
116.若状态为0或1,使用量化式,coeff=x
·2△

117.若状态为2或3,使用量化式,
118.其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
119.根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,这两个分组中的重建电平值交错
分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
120.(4)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
121.如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
122.实施例7
123.一种反量化和熵解码的方法,具体包括:
124.(1)解析码流中的多个语法元素的值,其中对于至少一个语法元素,使用根据对偶反量化器的当前状态从多组概率模型中选定的概率模型并进行解析:在所述的码流中,变换块的待解码系数的解码顺序如下方伪代码所示:
[0125][0126]
(2)多个语法元素的值组合得到当前待解码系数的重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
[0127]
(3)反量化方法为,根据对偶反量化器的当前状态,采用对应的反量化方法将所述的重建电平索引值映射为重建电平值,输出所述重建电平值作为所述待解码系数的值,采用图1所示的对偶反量化器,将量化值分为四个集合,v00、v01、v10、v11,每一个系数会有单独的状态值,根据当前对偶反量化器所在的状态,得到重建电平值,具体反量化操作如下,
[0128]
若状态为0或1,使用量化式,coeff=x
·2△

[0129]
若状态为2或3,使用量化式,
[0130]
其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
[0131]
根据对偶反量化器的当前状态,采用对应的反量化方法将重建电平索引值映射为重建电平值,重建电平值属于两个重建电平值分组之一,除0值之外这两个分组中的重建电平值交错分布,输出重建电平值作为待解码系数的值,这就是对偶量化器的结构,与普通量化器的区别是提供更多的候选重建电平值,从而提升编码效率。
[0132]
(4)根据对偶反量化器的当前状态和重建电平值所对应的重建电平分组,更新对偶反量化器的状态。在反量化的过程中,当前系数完成反量化后,都会根据对偶反量化器所在的状态和该系数的奇偶性,更新对偶反量化器的状态,该状态决定下一个系数的量化器的选择。
[0133]
如图2所示,对偶反量化器状态转换关系为:当对偶反量化器处于状态s00,若所选重建电平值属于v00,则更新对偶反量化器状态为s00,若所选重建电平值属于v01,则更新对偶反量化器状态为s10;当对偶反量化器处于状态s01,若所选重建电平值属于v00,则更新对偶反量化器状态为s10,若所选重建电平值属于v01,则更新对偶反量化器状态为s00;当对偶反量化器处于状态s10,若所选重建电平值属于v10,则更新对偶反量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶反量化器处于状态s11,若所选重建电平值属于v10,则更新对偶反量化器状态为s11,若所选重建电平值属于v11,则更新对偶反量化器状态为s01。
[0134]
实施例8
[0135]
一种量化和熵编码的方法,具体包括:
[0136]
(1)根据对偶量化器的当前状态,采用对应的量化方法将当前待编码系数映射为重建电平索引值。量化方法为,采用图1所示的对偶量化器,根据当前对偶量化器所在的状态,得到重建电平值,具体量化操作如下,
[0137]
若状态为0或1,使用量化式,coeff=x
·2△

[0138]
若状态为2或3,使用量化式,
[0139]
其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
[0140]
(2)使用多个语法元素的值描述所述重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
[0141]
(3)对所述的多个语法元素进行熵编码并写入码流,其中,对于所述多个语法元素中至少一个语法元素s的值,使用根据对偶量化器的当前状态从多组概率模型中选定概率模型进行熵编码:具体的实施有多种,例如系数的所有语法元素都使用根据对偶量化器的当前状态从多组概率模型中选定的概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶量化器的当前状态从多组概率模型中选定概率模型并进
行解析。
[0142]
(4)根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。在量化的过程中,当前系数完成量化后,都会根据对偶量化器所在的状态和该系数的奇偶性,更新对偶量化器的状态,该状态决定下一个系数的对偶量化器的选择。
[0143]
如图2所示,对偶量化器状态转换关系为:当对偶量化器处于状态s00,若所选重建电平值属于v00,则更新对偶量化器状态为s00,若所选重建电平值属于v01,则更新对偶量化器状态为s10;当对偶量化器处于状态s01,若所选重建电平值属于v00,则更新对偶量化器状态为s10,若所选重建电平值属于v01,则更新对偶量化器状态为s00;当对偶量化器处于状态s10,若所选重建电平值属于v10,则更新对偶量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶量化器处于状态s11,若所选重建电平值属于v10,则更新对偶量化器状态为s11,若所选重建电平值属于v11,则更新对偶量化器状态为s01。
[0144]
实施例9
[0145]
一种量化和熵编码的方法,具体包括:
[0146]
(1)根据当前变换块非零系数所在范围信息判断当前变换块是否满足条件,
[0147]
(2)若是,则使用对偶量化技术。对于如何判断当前变换块是否符合条件,可以有不同的实施方法,比如根据变化块内扫描顺序上的第一个非零系数在变换块内的x和y,判断当前变换块非零系数所在范围信息是否满足条件,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术;比如根据变化块内,由所有非零系数所围成的最小矩形的右下角坐标x和y,判断当前变换块非零系数所在范围信息是否满足条件,当x和y分别满足一定大小时,该变换块符合条件,则使用对偶量化技术。
[0148]
(2)根据对偶量化器的当前状态,采用对应的量化方法将当前待编码系数映射为重建电平索引值。量化方法为,采用图1所示的对偶量化器,根据当前对偶量化器所在的状态,得到重建电平值,具体量化操作如下,
[0149]
若状态为0或1,使用量化式,coeff=x
·2△

[0150]
若状态为2或3,使用量化式,
[0151]
其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
[0152]
(3)使用多个语法元素的值描述所述重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
[0153]
(4)对所述的多个语法元素进行熵编码并写入码流,其中,对于所述多个语法元素中至少一个语法元素s的值,使用根据对偶量化器的当前状态从多组概率模型中选定的概率模型进行熵编码:具体的实施有多种,例如系数的所有语法元素都使用根据对偶量化器的当前状态从多组概率模型中选定概率模型并进行解析,例如仅对表示系数是否非零的significant flag使用根据对偶量化器的当前状态从多组概率模型中选定的概率模型并
进行解析。
[0154]
(5)根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。在量化的过程中,当前系数完成量化后,都会根据对偶量化器所在的状态和该系数的奇偶性,更新对偶量化器的状态,该状态决定下一个系数的对偶量化器的选择。
[0155]
如图2所示,对偶量化器状态转换关系为:当对偶量化器处于状态s00,若所选重建电平值属于v00,则更新对偶量化器状态为s00,若所选重建电平值属于v01,则更新对偶量化器状态为s10;当对偶量化器处于状态s01,若所选重建电平值属于v00,则更新对偶量化器状态为s10,若所选重建电平值属于v01,则更新对偶量化器状态为s00;当对偶量化器处于状态s10,若所选重建电平值属于v10,则更新对偶量化器状态为s01,若所选重建电平值属于v11,则更新量化器状态为s11;当对偶量化器处于状态s11,若所选重建电平值属于v10,则更新对偶量化器状态为s11,若所选重建电平值属于v11,则更新对偶量化器状态为s01。
[0156]
实施例10
[0157]
一种量化和熵编码的方法,具体包括:
[0158]
(1)根据对偶量化器的当前状态,采用对应的量化方法将当前待编码系数映射为重建电平索引值。量化方法为,采用图1所示的对偶量化器,根据当前对偶量化器所在的状态,得到重建电平值,具体量化操作如下,
[0159]
若状态为0或1,使用量化式,coeff=x
·2△

[0160]
若状态为2或3,使用量化式,
[0161]
其中,δ为量化步长。x为重建电平索引值,coeff为重建电平值。
[0162]
(2)使用多个语法元素的值描述所述重建电平索引值:具体的实施有多种,例如使用表示系数是否非零的标识、表示系数是否大于1的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合,例如使用表示系数是否非零的标识、表示系数是否为偶数的标识、表示系数是否大于2的标识、系数减去2的剩余部分的组合。
[0163]
(3)对多个语法元素进行熵编码并写入码流,其中,对于多个语法元素中的用于表示系数是否非零的significant flag,使用根据对偶量化器的当前状态从多组概率模型中选定的概率模型进行熵编码。
[0164]
(4)根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。在量化的过程中,当前系数完成量化后,都会根据对偶量化器所在的状态和该系数的奇偶性,更新对偶量化器的状态,该状态决定下一个系数的对偶量化器的选择。
[0165]
如图2所示,对偶量化器状态转换关系为:当对偶量化器处于状态s00,若所选重建电平值属于v00,则更新对偶量化器状态为s00,若所选重建电平值属于v01,则更新对偶量化器状态为s10;当对偶量化器处于状态s01,若所选重建电平值属于v00,则更新对偶量化器状态为s10,若所选重建电平值属于v01,则更新对偶量化器状态为s00;当对偶量化器处于状态s10,若所选重建电平值属于v10,则更新对偶量化器状态为s01,若所选重建电平值
属于v11,则更新量化器状态为s11;当对偶量化器处于状态s11,若所选重建电平值属于v10,则更新对偶量化器状态为s11,若所选重建电平值属于v11,则更新对偶量化器状态为s01。
[0166]
实施例11
[0167]
一种反量化和熵解码的装置,具体包括:
[0168]
(1)系数熵解码模块:其输入为码流,输出为多个语法元素,该模块解析码流中的多个语法元素的值,其中对于至少一个语法元素s,根据反量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型解析所述的多个语法元素的值。
[0169]
(2)重建电平索引值解码模块:其输入为多个语法元素,输出为当前待解码系数的重建电平索引值,该模块组合多个语法元素的值得到当前待解码系数的重建电平索引值。
[0170]
(3)对偶反量化模块:其输入为重建电平索引值和对偶反量化器状态,输出为重建电平值,该模块根据对偶反量化器的所述状态,采用对应的反量化方法将所述的重建电平索引值映射为所述重建电平值,输出所述重建电平值作为所述待解码系数的值。
[0171]
(4)状态更新模块:其输入为对偶反量化器的当前状态和所述重建电平值所对应的重建电平分组,输出为更新的对偶反量化器状态,该模块根据反量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新反量化器的状态。
[0172]
实施例12
[0173]
一种反量化和熵解码的装置,具体包括:
[0174]
(1)系数熵解码模块:其输入为码流,输出为多个语法元素,该模块解析码流中的多个语法元素的值,其中对于至少一个语法元素s,根据反量化器的当前状态从多组概率模型中选定概率模型,并使用选定的概率模型解析所述的多个语法元素的值。
[0175]
(2)重建电平索引值解码模块:其输入为多个语法元素,输出为当前待解码系数的重建电平索引值,该模块组合多个语法元素的值得到当前待解码系数的重建电平索引值。
[0176]
(3)对偶反量化模块:其输入为重建电平索引值和对偶反量化器状态,输出为重建电平值,该模块根据对偶反量化器的所述状态,采用对应的反量化方法将所述的重建电平索引值映射为所述重建电平值,输出所述重建电平值作为所述待解码系数的值。
[0177]
(4)状态更新模块:其输入为对偶反量化器的当前状态和所述重建电平值所对应的重建电平分组,输出为更新的对偶反量化器状态,该模块根据反量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新反量化器的状态。
[0178]
(5)变换块选择模块:输入为变换块非零系数区域面积,输出变换块选择结果,该模块根据变换块非零系数区域面积决定该变换块是否被选择使用对偶量化技术。
[0179]
实施例13
[0180]
一种反量化和熵解码的装置,具体包括:
[0181]
(1)系数熵解码模块:其输入为码流,输出为多个语法元素,该模块解析码流中的多个语法元素的值,其中对于至少一个语法元素s,根据反量化器的当前状态从多组概率模型中选定概率模型并使用选定的概率模型解析所述的多个语法元素的值。
[0182]
·
模型存储子模块:该子模块存储候选的概率模型。
[0183]
·
模型选择子模块:该子模块从候选的概率模型中选定概率模型。
[0184]
·
模型解析子模块:该子模块利用选定的概率模型对语法元素进行解析。
[0185]
(2)重建电平索引值解码模块:其输入为多个语法元素,输出为当前待解码系数的重建电平索引值,该模块组合多个语法元素的值得到当前待解码系数的重建电平索引值。
[0186]
(3)对偶反量化模块:其输入为重建电平索引值和对偶反量化器状态,输出为重建电平值,该模块根据对偶反量化器的所述状态,采用对应的反量化方法将所述的重建电平索引值映射为所述重建电平值,输出所述重建电平值作为所述待解码系数的值。
[0187]
(4)状态更新模块:其输入为对偶反量化器的当前状态和所述重建电平值所对应的重建电平分组,输出为更新的对偶反量化器状态,该模块根据反量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新反量化器的状态。
[0188]
实施例14
[0189]
一种系数量化和熵编码的装置,具体包括:
[0190]
(1)对偶量化模块:其输入为待编码系数和对偶量化器的当前状态,输出为重建电平索引值,该模块采用对应的量化方法将当前待编码系数映射为重建电平索引值。
[0191]
(2)重建电平索引值编码模块:其输入为所述重建电平索引值,输出为多个语法元素,该模块使用多个语法元素的值描述所述重建电平索引值。
[0192]
(3)系数熵编码模块:其输入为多个语法元素,输出为码流,该模块对所述的多个语法元素进行熵编码并写入码流;其中,对于所述多个语法元素中至少一个语法元素s的值,使用根据对偶量化器的当前状态从多组概率模型中选定的概率模型进行熵编码。
[0193]
(4)状态更新模块:其输入为所述重建电平索引值和对偶量化器状态,输出为更新的对偶量化器状态,该模块根据所述对偶量化器的当前状态和所述重建电平索引值所属的重建电平索引分组,更新对偶量化器的状态。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1