背景技术
在现有技术中,对图像信息矩阵进行编码时主要分为两个步骤,即整数变换步骤与量化步骤。其中,整数变换公式如下式(1)所示:
Y=CXCT (1)
在该式中,X为输入的图像信息矩阵对应的8×8图像残差矩阵(图像信息矩阵可以包括图像亮度信息矩阵及图像色度信息矩阵等),若图像信息矩阵中各矩阵元素所需存储空间的位数为n,则该图像残差矩阵中各元素所需存储空间的位数为n+1,图像残差矩阵中各矩阵元素所需存储空间的位数相比于图像信息矩阵中各矩阵元素所需存储空间的位数多出的一位为符号位,Y表示8×8变换系数矩阵,C表示8×8整数变换矩阵,CT表示8×8整数变换矩阵的转置矩阵,整数变换矩阵C具体如下式(2):
而在量化步骤中,对整数变换后得到的变换系数矩阵Y进行量化的公式如下式(3)所示:
QY=((Y*SCALEM+1<<14)>>15*QTAB[QP]+QP_CONST)>>19 (3)
其中,QY为与变换系数矩阵Y对应的量化值矩阵;QP_CONST为设定的固定值,用于对15*QTAB[QP]取整后得到的移位数值进行舍入误差补偿;SCALEM为缩放系数矩阵,具体如下式(4)所示:
QP为量化系数参数,共64个,QTAB[QP]是不同QP在量化系数表中所对应的量化系数,QP每增加8,QTAB[QP]近似减小一倍,该量化系数表的具体结构如下表1所示:
表1:
QP | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
QTAB[QP] | 32768 | 29775 | 27554 | 25268 | 23170 | 21247 | 19369 | 17770 |
QP | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
QTAB[QP] | 16302 | 15024 | 13777 | 12634 | 11626 | 10624 | 9742 | 8958 |
QP | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
QTAB[QP] | 8192 | 7512 | 6889 | 6305 | 5793 | 5303 | 4878 | 4467 |
QP | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
QTAB[QP] | 4091 | 3756 | 3444 | 3161 | 2894 | 2654 | 2435 | 2235 |
QP | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
QTAB[QP] | 2048 | 1878 | 1722 | 1579 | 1449 | 1329 | 1218 | 1117 |
QP | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
QTAB[QP] | 1024 | 939 | 861 | 790 | 724 | 664 | 609 | 558 |
QP | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
QTAB[QP] | 512 | 470 | 430 | 395 | 362 | 332 | 304 | 279 |
QP | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
QTAB[QP] | 256 | 235 | 215 | 197 | 181 | 166 | 152 | 140 |
采用上述步骤针对各矩阵元素所需存储空间的位数不大于9位的图像残差矩阵X进行编码的过程中,由于64级量化不能满足图像质量动态范围的要求,从而使得对图像残差矩阵X对应的变换系数矩阵Y进行编码后得到的量化值矩阵达不到预设的质量要求。
在现有技术中,对应于上述编码过程,对量化值矩阵QY进行解码的过程也分为两个步骤,即反量化步骤与整数反变换步骤,其中,反量化步骤所用的公式如下式(5)所示:
YI=(QY*DQTAB[QP]+1<<(Shift[QP]-1))>>SHIFT[QP] (5)
其中,QY为按照公式(3)所得的量化值矩阵;DQTAB[QP]为不同QP在反量化系数表中所对应的反量化系数,Shift[QP]为不同QP在反量化系数表中所对应的移位数,该反量化系数表的具体结构如下表2所示:
表2:
QPDQTAB[QP]Shift[QP] | 0 1 2 3 4 5 6 732768 36061 38968 42495 46341 50535 55437 6042414 14 14 14 14 14 14 14 |
QPDQTAB[QP]Shift[QP] | 8 9 10 11 12 13 14 1532932 35734 38968 42495 46177 50535 55109 5993313 13 13 13 13 13 13 13 |
QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP] | 16 17 18 19 20 21 22 2365535 35734 38968 42577 46341 50617 55027 6009713 12 12 12 12 12 12 1224 25 26 27 28 29 30 3132809 35734 38968 42454 46382 50576 55109 6005611 11 11 11 11 11 11 1132 33 34 35 36 37 38 3965535 35734 38968 42495 46320 50515 55109 6007611 10 10 10 10 10 10 1040 41 42 43 44 45 46 4765535 35744 38968 42495 46341 50535 55099 6008710 9 9 9 9 9 9 948 49 50 51 52 53 54 5565535 35734 38973 42500 46341 50535 55109 600979 8 8 8 8 8 8 856 57 58 59 60 61 62 6332771 35734 38965 42497 46341 50535 55109 600997 7 7 7 7 7 7 7 |
而整数反变换步骤所采用的公式则如下式(6)所示:
X1=CTY1C (6)
与编码过程类似,针对各矩阵元素所需存储空间的位数不大于9位的图像残差矩阵X对应的量化值矩阵QY,采用上述步骤对QY进行反量化的过程中,64个QP对应的DQTAB[QP]的取值范围能够满足解码需求,使得解码得到的图像残差矩阵X1准确性较高;但当图像残差矩阵X中各矩阵元素所需存储空间的位数较多时(比如监控系统中的图像信息矩阵,各矩阵元素所需存储空间的位数为10位),针对与该图像残差矩阵X对应的量化值矩阵QY进行反量化的过程中,由于64级反量化不能满足图像质量动态范围的要求,从而使得对量化值矩阵QY进行反量化后得到的图像残差矩阵达不到预设的质量要求。
发明内容
本发明实施例提供一种编码方法及装置,以解决现有技术中对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的变换系数矩阵进行量化时,达不到预设质量要求的问题。
本发明实施例还提供一种解码方法及装置,以解决现有技术中对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的量化值矩阵进行量化时,达不到预设质量要求的问题。
为此,本发明采用以下技术方案:
一种编码方法,包括:对图像残差矩阵进行整数变换,得到变换系数矩阵;
根据对变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,其中所述量化系数表中的量化系数参数与量化系数的对应关系个数不小于所述变换系数矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;以及根据查找到的量化系数,对所述变换系数矩阵进行量化。
较佳地,所述图像信息矩阵为图像亮度信息矩阵或图像色度信息矩阵。
较佳地,所述变换系数矩阵的获得方式为:对所述变换系数矩阵对应的图像残差矩阵进行整数变换;当判断整数变换过程中获得的变换系数矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;将按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移后得到的矩阵作为所述变换系数矩阵。
较佳地,根据对变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,具体包括:按照预设的转换规则,将所述预设的量化系数参数转换为用于查找所述量化系数表的量化系数参数;以及根据转换后的量化系数参数,从所述量化系数表中查找到与所述预设的量化系数参数对应的量化系数。
一种编码装置,包括:整数变换单元,用于对图像残差矩阵进行整数变换,得到变换系数矩阵;查找单元,用于根据对整数变换单元得到的变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,其中所述量化系数表中的量化系数参数与量化系数的对应关系个数不小于所述变换系数矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;量化单元,用于根据查找单元查找到的量化系数,对所述变换系数矩阵进行量化。
一种解码方法,包括:根据对量化值矩阵进行反量化时预设的反量化系数参数,从反量化系数表中查找到与所述预设的反量化系数参数对应的反量化系数,其中所述反量化系数表中的反量化系数参数与反量化系数的对应关系个数不小于所述量化值矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;以及根据查找到的反量化系数,对所述量化值矩阵进行反量化,得到变换系数矩阵;对所述变换系数矩阵进行整数反变换。
一种解码装置,包括:查找单元,用于根据对量化值矩阵进行反量化时预设的反量化系数参数,从反量化系数表中查找到与所述预设的反量化系数参数对应的反量化系数,其中所述反量化系数表中的反量化系数参数与反量化系数的对应关系个数不小于所述量化值矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;反量化单元,用于根据查找单元查找到的反量化系数,对所述量化值矩阵进行反量化,得到变换系数矩阵;整数反变换单元,用于对反量化单元得到的所述变换系数矩阵进行整数反变换。
本发明实施例提供的编码方案根据对变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,其中所述量化系数表中的量化系数参数与量化系数的对应关系个数不小于所述变换系数矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;以及根据查找到的量化系数,对所述变换系数矩阵进行量化,使得对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的变换系数矩阵进行量化处理时,量化系数表中的量化系数个数能够满足图像质量动态范围的要求,从而使得量化后得到的量化值矩阵能够达到预设质量要求。
本发明实施例提供的解码方案根据对量化值矩阵进行反量化时预设的反量化系数参数,从反量化系数表中查找到与所述预设的反量化系数参数对应的反量化系数,其中所述反量化系数表中的反量化系数参数与反量化系数的对应关系个数不小于所述量化值矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;以及根据查找到的反量化系数,对所述量化值矩阵进行反量化,使得对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的量化值矩阵进行反量化时,反量化系数表中的反量化系数个数能够满足图像质量动态范围的要求,从而使得反量化后得到的图像残差矩阵能够达到预设质量要求。
具体实施方式
本发明实施例提供了一种编码方法,用以解决现有技术中对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的变换系数矩阵进行量化时,由于量化系数表不能满足图像质量动态范围的要求,从而使得对变换系数矩阵进行量化后得到的量化值矩阵达不到预设质量要求的问题。
本发明实施例提供的该方法中,图像残差矩阵对应的图像信息矩阵可以但不限于是图像亮度信息矩阵或图像色度信息矩阵等。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图1所示,为本发明实施例提供的一种编码方法的具体实现流程图,包括:
步骤11,对图像残差矩阵进行整数变换,得到变换系数矩阵;
步骤12,根据对变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,其中所述量化系数表中的量化系数参数与量化系数的对应关系个数不小于所述变换系数矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;
步骤12,根据查找到的量化系数,对所述变换系数矩阵进行量化。
以下针对图像残差矩阵X中各矩阵元素所需存储空间的位数为11位的情况,按照编码过程中先对矩阵X进行整数变换,再进行量化的顺序,具体说明本发明实施例提供的该方法在编码过程中的应用过程,该过程的具体实现流程图如图2所示,包括:
步骤21,按照公式(1),即Y=CXCT,对图像残差矩阵X进行整数变换,得到变换系数矩阵Y;
步骤22,根据对变换系数矩阵Y进行量化时所规定的QP值,查找下表3,得到对应的QTAB[QP];
表3:
QP | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
QTAB[QP] | 32768 | 29775 | 27554 | 25268 | 23170 | 21247 | 19369 | 17770 |
QP | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
QTAB[QP] | 16302 | 15024 | 13777 | 12634 | 11626 | 10624 | 9742 | 8958 |
QP | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
QTAB[QP] | 8192 | 7512 | 6889 | 6305 | 5793 | 5303 | 4878 | 4467 |
QP | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
QTAB[QP] | 4091 | 3756 | 3444 | 3161 | 2894 | 2654 | 2435 | 2235 |
QP | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
QTAB[QP] | 2048 | 1878 | 1722 | 1579 | 1449 | 1329 | 1218 | 1117 |
QP | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
QTAB[QP] | 1024 | 939 | 861 | 790 | 724 | 664 | 609 | 558 |
QP | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
QTAB[QP] | 512 | 470 | 430 | 395 | 362 | 332 | 304 | 279 |
QP | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
QTAB[QP] | 256 | 235 | 215 | 197 | 181 | 166 | 152 | 140 |
QP | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
QTAB[QP] | 128 | 117 | 108 | 99 | 91 | 83 | 76 | 70 |
QP | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
QTAB[QP] | 64 | 58 | 54 | 49 | 46 | 42 | 38 | 35 |
由上表3可知,对比现有技术中提供的如表1所示的量化系数表,本发明实施例提供的该方法对表1所示的量化系数表进行了扩展,将由64个QP值对应的量化系数QTAB[QP]扩展到了由80个QP值对应的量化系数QTAB[QP],使得扩展后的表3能够满足对各矩阵元素所需存储空间的位数为11位的图像残差矩阵X进行整数变换后得到的矩阵Y进行量化的需求。
对QP进行扩展的规则如下表4所示,其中,Bitdepth用以表示图像残差矩阵X对应的图像信息矩阵中各矩阵元素所需存储空间的位数(下文中的BitDepth的含义与此处BitDepth的含义相同,不再赘述)。本实施例中,由于图像残差矩阵X对应的图像信息矩阵中矩阵元素所需存储空间的位数,即Bitdepth为10,因此由表4可知,本实施例中需要将表1中的QP扩展为80个(如表3所示);而对QTAB[QP]进行扩展的规则如下式所示:
QTAB[QP]=32768/Qtep (7)
其中,Qstep为量化步长,其取值如下:
Qstep=m*(QP/8) (8)
根据(7)、(8)式可知,QTAB[QP]=32768/[m*(QP/8)],m为大于1且小于2的任意数值构成的8维向量,比如可以为{1,1.1,1.2,1.3,1.4,1.54,1.7,1.84},或{1,1.21,1.22,1.33,1.41,1.54,1.72,1.94}等,此外,m也可以为大于等于1且小于等于2的任意数值构成的非8维向量。
表4:
Bitdepth | QP |
8 | 64 |
9 | 72 |
10 | 80 |
11 | 88 |
12 | 96 |
... | ... |
步骤23,根据式(3),对矩阵Y进行量化,得到量化矩阵QY,编码过程结束。
由上述过程可知,由于本发明实施例提供的方法扩展了量化系数QTAB[QP]的取值范围,使得扩展了取值范围后的QTAB[QP]能够满足对矩阵元素所需存储空间的位数超过9位的图像信息矩阵进行编码过程中的量化需求,因此增强了编码方法的适应性;此外,本发明实施例提供的该方法没有增加编码器的计算量,也没有明显增加编码系统中存储器的存储负担,因此不会占用编码系统中太多的资源。
此外,本发明实施例提供的该编码方法同样适用于对图像残差矩阵X采用4×4的整数变换矩阵进行编码的过程中,该4×4的整数变换矩阵B如下式所示:
采用该4×4的整数变换矩阵B对图像残差矩阵X进行编码时所用的缩放系数矩阵SCALEM[4][4]则如下式所示:
需要说明的是,在上述步骤21中,由于在对各矩阵元素所需存储空间的位数大于9的图像残差矩阵X进行整数变换的过程中,各矩阵元素所需存储空间的位数会超过处理器可并行处理的位数16位,从而导致数据溢出,因此,以采用如式(2)所示的8×8的整数变换矩阵C为例,本发明实施例提供的该编码方法针对各矩阵元素所需存储空间的位数为11的图像残差矩阵X进行编码的具体流程还可以采用以下步骤实现,如图3所示:
步骤31,按照下式(10)对图像残差矩阵X进行行变换;
Y2=XCT (10)
其中,C为Y2为对图像残差矩阵X进行行变换后得到的中间结果矩阵,Y2中各矩阵元素所需存储空间的位数为11+log264=17位。
步骤32,按照长度不小于行变换后得到的矩阵中各矩阵元素所需存储空间的位数17与处理器可并行处理的位数16之差的第一右移长度,对矩阵Y2中各矩阵元素所需存储空间的位数进行右移,该右移公式具体如下式(11)所示:
Y2=[y2ij>>scale0](i,j=0~7) (12)
公式(12)中scale0为移位数,其取值参照下表5,下文中的scale0的含义与此处的scale0的含义相同,不再赘述。
表5:
BitDepth | Scale0 |
8 | 0 |
9 | 0 |
10 | 1 |
11 | 2 |
12 | 3 |
... | ... |
由于本实施例中矩阵X中各矩阵元素所需存储空间的位数为11,BitDepth为11-1=10,因此根据上表3可知,公式(12)变为:
Y2=[y2ij>>1](i,j=0~7) (13)
步骤33,按照下式(14)对Y2进行列变换:
Y=CY2 (14)
其中,矩阵Y中各矩阵元素所需存储空间的位数由下式(15)计算得到:
16+log264=22 (15)
步骤34,按照长度不小于矩阵Y中各矩阵元素所需存储空间的位数17与处理器可并行处理的位数16之差的第二右移长度,对矩阵Y中各矩阵元素所需存储空间的位数分别进行右移,其具体移位公式如下式(16)所示:
Y=[yij>>(5+BitDepth-8-scale0](i,j=0~7) (16)
由于本实施例中矩阵X中各矩阵元素所需存储空间的位数为11,由此可知对应的BitDepth的值为10,根据表5,公式(16)变为:
Y=[yij>>6](i,j=0~7) (17)
步骤35,根据为图像残差矩阵X进行量化所规定的QP值,查找表3,得到对应的QTAB[QP];
步骤36,根据下式(18),确定量化值矩阵QY,编码过程结束:
QY=((Y*SCALEM+l<<14)>>15*QTAB[QP]+QP_CONST (18)
>>[19+(8-BitDepth)]
上述整数变换步骤也可以总结为:
对图像残差矩阵进行整数变换;
当判断整数变换过程中获得的变换系数矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;以及
将按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移后得到的矩阵作为所述变换系数矩阵。
针对上述整数变换过程中进行了移位的情况,当采用本发明实施例提供的该编码方法对图像色度信息矩阵对应的图像残差矩阵进行量化处理时,还不能直接根据对图像色度信息矩阵对应的图像残差矩阵进行量化处理时所规定的量化系数参数QP值查找上表3,而是需要对该QP值进行转换,该转换公式如下:
QP1=QP-8*(BitDepth-8) (19)
根据上式得到QP1后,根据下表,查找得到与QP1对应的QP2的值:
表6:
QP1 | <43 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
QP2 | QP1 | 42 | 43 | 43 | 44 | 44 | 45 | 45 | 46 | 46 | 47 |
QP1 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
QP2 | 47 | 48 | 48 | 48 | 49 | 49 | 49 | 50 | 50 | 50 | 51 |
根据查找得到的QP2的值,按照如下公式,确定QPC的值:
QPC=QP2+8*(BitDepth-8) (20)
以该QPC作为实际查表所用的QP,就可以实现根据表3对与该QP对应的QTAB[QP]进行查找。由于后续的量化步骤与本实施例中已经描述过的步骤类似,在此不再赘述。
类似地,对图像残差矩阵X采用如式(9)所示的4×4的整数变换矩阵进行编码的过程同样是对矩阵X先进行整数变换,再进行量化处理。为了保持采用4×4的整数变换矩阵对矩阵X编码后得到的矩阵元素精度与采用8×8的整数变换矩阵对矩阵X编码后得到的矩阵元素精度一致,采用4×4的整数变换矩阵进行编码过程中用于确定量化值矩阵QY的公式如下式所示:
QY=(((Y<<1)*SCALEM+1<<14)>>15*QTAB[QP]+QP_CONST (21)
>>[19+(8-BitDepth)]
相应地,本发明实施例提供一种编码装置,该装置的具体结构示意图如图4所示,包括:
整数变换单元41,用于对图像残差矩阵进行整数变换,得到变换系数矩阵;
查找单元42,用于根据对整数变换单元41得到的变换系数矩阵进行量化时预设的量化系数参数,从量化系数表中查找到与所述预设的量化系数参数对应的量化系数,其中所述量化系数表中的量化系数参数与量化系数的对应关系个数不小于所述变换系数矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;
量化单元43,用于根据查找单元42查找到的量化系数,对所述变换系数矩阵进行量化。
较佳地,上述图像信息矩阵可以但不限于为图像亮度信息矩阵或图像色度信息矩阵。
此外,本发明实施例还提供一种解码方法,用以解决现有技术中对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵对应的量化值矩阵进行量化时,由于反量化系数表不能满足图像质量动态范围的要求,从而使得对量化值矩阵进行反量化后得到的图像残差矩阵达不到预设的质量要求的问题。本发明实施例提供的方案中,图像残差矩阵X对应的图像信息矩阵可以但不限于是图像亮度信息矩阵或图像色度信息矩阵等。
如图5所示,本发明实施例提供的一种解码方法的具体实现流程图,包括:
步骤51,根据对量化值矩阵进行反量化时预设的反量化系数参数,从反量化系数表中查找到与所述预设的反量化系数参数对应的反量化系数,其中所述反量化系数表中的反量化系数参数与反量化系数的对应关系个数不小于所述量化值矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;
步骤52,根据查找到的反量化系数,对所述量化值矩阵进行反量化,得到变换系数矩阵;
步骤53,对所述变换系数矩阵进行整数反变换。
以下针对量化值矩阵QY对应的图像残差矩阵X中各矩阵元素所需存储空间的位数为11位的情况,将本发明实施例提供的该方法应用到对QY进行解码的过程中,该过程的具体实现流程图如图6所示,包括:
步骤61,根据对量化值矩阵QY进行解码时规定的QP值,查找下表7,得到对应的DQTAB[QP],这里的QP被称为反量化系数参数,由于在对图像残差矩阵进行编码以及对量化值矩阵进行解码过程中所用的QP往往一致,因此本发明实施例也用符号QP来表示反量化系数参数;
表7:
QPDQTAB[QP]Shift[QP] | 0 1 2 3 4 5 6 732768 36061 38968 42495 46341 50535 55437 6042414 14 14 14 14 14 14 14 |
QPDQTAB[QP]Shift[QP] | 8 9 10 11 12 13 14 1532932 35734 38968 42495 46177 50535 55109 5993313 13 13 13 13 13 13 13 |
QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP]QPDQTAB[QP]Shift[QP] | 16 17 18 19 20 21 22 2365535 35734 38968 42577 46341 50617 55027 6009713 12 12 12 12 12 12 1224 25 26 27 28 29 30 3132809 35734 38968 42454 46382 50576 55109 6005611 11 11 11 11 11 11 1132 33 34 35 36 37 38 3965535 35734 38968 42495 46320 50515 55109 6007611 10 10 10 10 10 10 1040 41 42 43 44 45 46 4765535 35744 38968 42495 46341 50535 55099 6008710 9 9 9 9 9 9 948 49 50 51 52 53 54 5565535 35734 38973 42500 46341 50535 55109 600979 8 8 8 8 8 8 856 57 58 59 60 61 62 6332771 35734 38965 42497 46341 50535 55109 600997 7 7 7 7 7 7 7 |
QPDQTAB[QP]Shift[QP] | 64 65 66 67 68 69 70 7132771 35848 38837 42367 46091 50535 55188 599336 6 6 6 6 6 6 6 |
QPDQTAB[QP]Shift[QP] | 72 73 74 75 76 77 78 7932771 36150 38837 42799 45590 49932 55188 599335 5 5 5 5 5 5 5 |
由上表7可知,对比现有技术中如表2所示的反量化系数表,本发明实施例提供的该方法对表2所示的反量化系数表进行了扩展,将由64个QP值对应的反量化系数DQTAB[QP]扩展到了由80个QP值对应的量化系数DQTAB[QP],使得扩展后的表7能够满足对各矩阵元素所需存储空间的位数为11位的图像残差矩阵X对应的量化值矩阵QY进行解码处理的需求。
对QP进行扩展的规则同样如表4所示,本实施例中,由于图像残差矩阵X对应的图像信息矩阵中各元素所需存储空间的位数Bitdepth为10,因此,由表4可知,本实施例中需要将表2中的QP扩展为80个(如表7所示);而对DQTAB[QP]进行扩展的规则如下式所示:
QTAB[QP]*DQTAB[QP]=2^(Shift[QP]+16) (22)
上式(22)进行变换后可得:
DQTAB[QP]=(2^(Shift[QP]+16))/QTAB[QP] (23)
其中,Shift[QP]的取值与表2中针对不同QP值对应的Shift[QP]的取值规则所规定的取值一致。
步骤62,根据式(5),对量化值矩阵QY进行反量化,得到反量化后的中间值矩阵Y1;
步骤63,根据式(6),对Y1进行整数反变换,得到解码后得到的图像残差矩阵X1,解码过程结束。
由上述过程可知,由于本发明实施例提供的方法扩展了反量化系数DQTAB[QP]的取值范围,使得扩展了取值范围后的DQTAB[QP]能够满足对矩阵元素所需存储空间的位数超过9位的图像信息矩阵对应的量化值矩阵进行解码过程中的反量化需求,因此增强了解码方法的适应性;此外,本发明实施例提供的该方法没有增加解码器的计算量,也没有明显增加解码系统中存储器的存储负担,因此不会占用解码系统中太多的资源。
此外,本发明实施例提供的该解码方法同样适用于采用4×4的整数反变换矩阵对图像残差矩阵X对应的量化值矩阵进行反量化的过程,该4×4的整数反变换矩阵同样如式(9)所示。
同理,当采用本发明实施例提供的该解码方法对图像色度信息矩阵对应的图像残差矩阵进行反量化处理时,也不能直接根据对图像色度信息矩阵对应的图像残差矩阵进行量化处理时所规定的量化系数参数QP值查找上表7,而是需要对该QP值根据式(19)进行转换得到QP1,并在查表6得到与QP1对应的QP2后,进一步根据式(20)计算得到查表7所用的QP值,由于后续的量化步骤与本实施例中已经描述过的步骤类似,在此不再赘述。
相应地,本发明实施例还提供了一种解码装置,如图7所示,包括:
查找单元71,用于根据对量化值矩阵进行反量化时预设的反量化系数参数,从反量化系数表中查找到与所述预设的反量化系数参数对应的反量化系数,其中所述反量化系数表中的反量化系数参数与反量化系数的对应关系个数不小于所述量化值矩阵对应的图像信息矩阵中矩阵元素所需存储空间位数的8倍;
反量化单元72,用于根据查找单元查找到的反量化系数,对所述量化值矩阵进行反量化,得到变换系数矩阵;
整数反变换单元73,用于对反量化单元72得到的变换系数矩阵进行整数反变换。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。