CN101742328A - 图像残差矩阵整数变换方法及装置、反变换方法及装置 - Google Patents

图像残差矩阵整数变换方法及装置、反变换方法及装置 Download PDF

Info

Publication number
CN101742328A
CN101742328A CN 200810226579 CN200810226579A CN101742328A CN 101742328 A CN101742328 A CN 101742328A CN 200810226579 CN200810226579 CN 200810226579 CN 200810226579 A CN200810226579 A CN 200810226579A CN 101742328 A CN101742328 A CN 101742328A
Authority
CN
China
Prior art keywords
matrix
place
memory space
image residual
required memory
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.)
Granted
Application number
CN 200810226579
Other languages
English (en)
Other versions
CN101742328B (zh
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.)
Mid Star Technology Ltd By Share Ltd
Vimicro Corp
Original Assignee
Vimicro Corp
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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200810226579 priority Critical patent/CN101742328B/zh
Publication of CN101742328A publication Critical patent/CN101742328A/zh
Application granted granted Critical
Publication of CN101742328B publication Critical patent/CN101742328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种对图像残差矩阵进行整数变换的方法及装置、对图像残差矩阵进行整数反变换的方法及装置。其中,对图像残差矩阵进行整数变换的方法包括:对图像残差矩阵进行整数变换;判断整数变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。按照本发明提供的整数变换的方法及装置,能够解决现有技术中针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数变换时,发生数据溢出的问题。

Description

图像残差矩阵整数变换方法及装置、反变换方法及装置
技术领域
本发明涉及计算机与通信技术领域,尤其涉及一种对图像残差矩阵进行整数变换的方法及装置、对图像残差矩阵进行整数反变换的方法及装置。
背景技术
在现有技术中,采用的8×8整数变换矩阵对图像残差矩阵进行整数变换的公式如下式(1)所示:
Y=CXCT               (1)
其中X为输入的图像信息矩阵对应的8×8的图像残差矩阵(图像信息矩阵可以包括图像亮度信息矩阵及图像色度信息矩阵等),若图像信息矩阵中各矩阵元素所需存储空间的位数为n,则该图像残差矩阵X中各元素所需存储空间的位数为n+1,图像残差矩阵中各矩阵元素所需存储空间的位数相比于图像信息矩阵中各矩阵元素所需存储空间的位数多出的一位为符号位,Y表示8×8的变换系数矩阵,也可以称为整数变换后得到的矩阵,C表示8×8的整数变换矩阵,CT表示8×8的整数变换矩阵的转置矩阵,整数变换矩阵C具体如下式(2):
C = 8 8 8 8 8 8 8 8 10 9 6 2 - 2 - 6 - 9 10 10 4 - 4 - 10 - 10 - 4 4 10 9 - 2 - 10 - 6 6 10 2 - 9 8 - 8 - 8 8 8 - 8 - 8 8 6 - 10 2 9 - 9 - 2 10 - 6 4 - 10 10 - 4 - 4 10 - 10 4 2 - 6 9 - 10 10 - 9 6 - 2 - - - ( 2 )
8×8整数变换过程即为8×8的图像残差矩阵X转换为8×8的变换系数矩阵Y的过程,该过程的具体流程如下:
首先,对Y进行如下式(3)的行变换:
Y1=XCT                                  (3)
其中,Y1为对Y进行行变换后得到的中间结果矩阵。
然后,针对Y1,进行如下式(4)的列变换:
Y=CY1                                   (4)
在现有技术中,当采用上述步骤对图像残差矩阵X进行整数变换时,因为矩阵X包含预测误差,因此矩阵X中各矩阵元素所需的9位存储空间中有8位是用于表示数据信息,即这8位是各矩阵元素理论所需的存储空间的位数,而另一位则是预测误差信息所需的存储空间的位数(为了便于描述,下文中提及的各矩阵元素所需的存储空间为各矩阵元素理论所需的存储空间的位数与预测误差信息所需的存储空间位数的总和),而矩阵Y每一行绝对值之后的最大值为64,因此对于变换后的矩阵Y中的矩阵元素需要9+log264*64=21位来表示,由于采用目前通用的处理器并行处理时,完整整数变换过程中图像残差矩阵中的各矩阵元素所需存储空间的位数不能超过处理器可并行处理的位数16,因此,还需要根据下式(5)对由式(4)得到的矩阵Y中的矩阵元素yij进行移位,从而保证整数变换后得到的矩阵Y中各矩阵元素所需存储空间的位数不超过16:
Y=[yij>>5](i,j=0~7)                (5)
对于图像残差矩阵中各矩阵元素所需存储空间的位数不大于9位的情况,进行整数变换的过程中,图像残差矩阵中各矩阵元素所需存储空间的位数能够满足上述要求,但当图像残差矩阵中用于表示各矩阵元素所需存储空间的位数大于9位时(比如监控系统中的图像残差矩阵),针对该图像残差矩阵进行整数变换的过程中,该图像残差矩阵中各矩阵元素所需存储空间的位数则会超过处理器可并行处理的16位,从而会导致数据溢出。
类似地,当对图像残差矩阵进行整数反变换时,其整数反变换公式如下式(6)所示:
X=CTYC                         (6)
对应的行整数反变换公式如下式(7)所示:
X1=YC                          (7)
对行整数反变换后得到的矩阵X1中的矩阵元素x1ij进行移位,从而保证行整数反变换后得到的矩阵X1中各矩阵元素所需存储空间的位数不超过16:
X1=[x1ij>>3](i,j=0~7)     (8)
列整数反变换公式为:
X=CTX1                         (9)
对列整数反变换后得到的矩阵X中的矩阵元素xij进行移位,从而保证列整数反变换后得到的矩阵X中各矩阵元素所需存储空间的位数不超过9:
X=[xij>>7](i,j=0~7)       (10)
与整数变换类似,对于图像残差矩阵中各矩阵元素所需存储空间的位数不大于9位的情况,进行整数反变换的过程中,图像残差矩阵中各矩阵元素所需存储空间的位数能够满足上述要求,但当图像残差矩阵中各矩阵元素所需存储空间的位数大于9位时,针对该图像残差矩阵进行整数反变换的过程中,该图像残差矩阵中各矩阵元素所需存储空间的位数则会超过处理器可并行处理的16位,从而会导致数据溢出。
发明内容
本发明实施例提供一种对图像残差矩阵进行整数变换方法及装置,用以解决现有技术中针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数变换时,发生数据溢出的问题。
本发明实施例提供一种对图像残差矩阵进行整数反变换方法及装置,用以解决现有技术中针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数反变换处理时,发生数据溢出的问题。
为此,本发明采用以下技术方案:
一种对图像残差矩阵进行整数变换的方法,包括:对图像残差矩阵进行整数变换;当判断整数变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
较佳地,上述方法中按照长度等于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
较佳地,对图像残差矩阵进行整数变换,具体包括:对图像残差矩阵进行行变换,获得行变换矩阵;对所述行变换矩阵进行列变换,获得列变换矩阵。
较佳地,基于8×8的整数变换矩阵或4×4的整数变换矩阵对图像残差矩阵进行整数变换。
较佳地,所述图像残差矩阵为图像亮度信息矩阵对应的图像残差矩阵;或图像色度信息矩阵对应的图像残差矩阵。
一种对图像残差矩阵进行整数变换的装置,包括:整数变换单元,用于对图像残差矩阵进行整数变换;判断单元,用于判断整数变换单元对图像残差矩阵进行整数变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;确定单元,用于在判断单元的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;移位单元,用于按照长度不小于所述确定单元确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
一种对图像残差矩阵进行整数反变换的方法,包括:对图像残差矩阵进行整数反变换;当判断整数反变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
一种对图像残差矩阵进行整数反变换的装置,包括:整数反变换单元,用于对图像残差矩阵进行整数反变换;判断单元,用于判断整数反变换单元对图像残差矩阵进行整数反变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;确定单元,用于在判断单元的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;移位单元,用于按照长度不小于所述确定单元确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
本发明实施例通过对图像残差矩阵进行整数变换;当判断整数变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移,使得针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数变换时,不会发生数据溢出。
本发明实施例通过对图像残差矩阵进行整数反变换;当判断整数反变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移,使得针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数反变换时,不会发生数据溢出。
附图说明
图1为本发明实施例提供的一种整数变换方法的具体实现流程图;
图2为本发明实施例提供的整数变换方法的一种具体实现过程的流程图;
图3为本发明实施例提供的整数变换方法的另一种具体实现过程的流程图;
图4为本发明实施例提供的整数变换方法的又一种具体实现过程的流程图;
图5为本发明实施例提供的采用4×4的整数变换矩阵对图像残差矩阵X进行整数变换的具体实现流程图;
图6为本发明实施例提供的一种整数变换装置的具体结构示意图;
图7为本发明实施例提供的一种整数反变换方法的具体实现流程图;
图8为本发明实施例提供的整数反变换方法的一种具体实现过程的流程图;
图9为本发明实施例提供的采用8×8的整数反变换矩阵对图像残差矩阵Y进行整数反变换的一种具体实现流程图;
图10为本发明实施例提供的采用8×8的整数反变换矩阵对图像残差矩阵Y进行整数反变换的另一种具体实现流程图;
图11本发明实施例提供的一种整数反变换装置的具体结构示意图。
具体实施方式
本发明实施例提供一种整数变换方法及装置、整数反变换方法及装置,用以对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵分别进行整数变换、整数反变换,从而避免现有技术中针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数变换、整数反变换处理时发生数据溢出的问题。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图1所示,为本发明实施例提供的一种整数变换方法的具体实现流程图,包括:
步骤11,对图像残差矩阵进行整数变换;
步骤12,当判断整数变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
步骤13,按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
以下以具体的实施方式为例,来说明本发明实施例提供的该方法的具体实现过程:
一、针对采用8×8的整数变换矩阵对图像残差矩阵X进行整数变换,且对图像残差矩阵先进行变换再进行列变换的情况:
本发明实施例提供的一种整数变换方法,其具体实现流程图如图2所示,包括:
步骤21,对图像残差矩阵进行行变换;
步骤22,当对图像残差矩阵进行行变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述行变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第一右移长度,对所述行变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移;
步骤23,对所述移位后的矩阵元素所在矩阵进行列变换;以及
步骤24,当列变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述列变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第二右移长度,对所述列变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移。
为了具体说明本发明实施例提供的该方法与现有技术提供的整数变换方法的不同,以下对现有技术与本发明提供的该方法分别能达到的技术效果进行对比说明:
在现有技术中,采用8×8的整数变换矩阵对图像残差矩阵X进行行变换时,若输入图像残差矩阵X中各矩阵元素需占用的存储空间位数为11位,则按照公式(3)Y1=XCT、公式(2)对其进行行变换后得到的矩阵Y1中各矩阵元素需占用的存储空间位数的计算公式如下式(11)所示:
11+log264=17                                       (11)
由此可见,当按照现有技术对各矩阵元素需占用的存储空间位数为11位的图像残差矩阵X进行行变换时,行变换后得到的矩阵Y1中各矩阵元素需占用的存储空间位数为17位,超出了规定的位数“16”,因此会发生数据溢出的情况。
若按照本发明提供的整数变换方法,当图像残差矩阵X进行如式(3)所示的行变换后得到的矩阵Y1中,各矩阵元素所需存储空间的位数17大于处理器可并行处理的位数16时,按照长度不小于行变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第一右移长度(由于矩阵Y1中各矩阵元素所需存储空间的位数为17,而处理器可并行处理的位数为16,因此,本实施例中的第一右移长度为1),对矩阵Y1中用于各矩阵元素所需存储空间的位数进行右移,该右移公式具体如下式(12)所示:
Y1=[y1ij>>scale0](i,j=0~7)                    (12)
公式(12)中scale0为移位数,其取值参照下表3,Bitdepth用以表示图像残差矩阵X对应的图像信息矩阵中各矩阵元素所需存储空间的位数(下文中的BitDepth的含义与此处BitDepth的含义相同,不再赘述)。
表3:
  BitDepth   Scale0
  8   0
  9   0
  10   1
由于本实施例中矩阵X中各矩阵元素所需存储空间的位数为11,BitDepth为11-1=10,因此根据上表3可知,公式(12)变为:
Y1=[y1ij>>1](i,j=0~7)                         (13)
由公式(13)可知,由于按照本发明实施例提供的整数变换方法,使得矩阵Y1中各矩阵元素所需存储空间的位数分别右移了1位,即17-1=16位,由此可见,采用本发明实施例提供的整数变换方法,能够避免行变换后得到的矩阵Y1发生数据溢出的问题。
当按照现有技术提供的整数变换方法,采用8×8的整数变换矩阵对矩阵Y1进一步进行如式(4)Y=CY1的列变换后,矩阵Y中各矩阵元素所需存储空间的位数由下式(14)计算得到:
16+log264=22                                       (14)
再根据式(5)Y=[yij>>5](i,j=0~7),对矩阵Y中各矩阵元素所需存储空间的位数右移5位,最终得到矩阵Y中各矩阵元素实际所需存储空间的位数22-5=17,由此可见,由于矩阵Y中各矩阵元素所需存储空间的位数17大于处理器可并行处理的位数16,从而矩阵Y中也会发生数据溢出。
而采用本发明实施例提供的整数变换方法,则是按照长度不小于矩阵Y中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第二右移长度(由于矩阵Y中各矩阵元素所需存储空间的位数为17,而处理器可并行处理的位数为16,因此,本实施例中的第二右移长度为1),对矩阵Y中各矩阵元素所需存储空间的位数分别进行右移,其具体移位公式如下式(15)所示:
Y=[yij>>(5+BitDepth-8-scale0](i,j=0~7)        (15)
公式(15)中scale0为移位数,其取值同样参照表3。
根据表3可知,由于本实施例中矩阵X中各矩阵元素所需存储空间的位数为10,因此公式(15)变为:
Y=[yij>>6](i,j=0~7)                           (16)
对比现有技术中采用的移位公式(5)与本发明实施例提供的该方法中采用的移位公式(15)可知,由于本发明实施例中提供的移位公式能够使矩阵Y中各矩阵元素所需存储空间的位数多右移1位,因此采用本发明实施例提供的整数变换方法得到的矩阵Y中不会发生数据溢出的问题。
综上可知,采用本发明实施例提供的整数变换方法,能够有效地避免对图像矩阵进行整数变换过程中出现的数据溢出。由于在现有技术中,对于整数变换过程中出现数据溢出时,还需要采用处理器对发生数据溢出的矩阵进行较为复杂的运算处理,因此,采用本发明实施例提供的整数变换方法,还能够降低处理器的运算复杂度,从而降低了处理器的运算负荷。
需要说明的是,本发明实施例以矩阵X中各矩阵元素所需存储空间的位数为11来说明本发明实施例提供的该方法的具体实施过程,实际上,只要矩阵X中各矩阵元素所需存储空间的位数满足大于8这一条件,均能采用本发明实施例提供的该方法,相应地,表3可以调整为如下表4所示的格式,以满足矩阵X中各矩阵元素所需存储空间位数更多的情况,但一般地,图像信息矩阵中各矩阵元素所需存储空间的位数即BitDepth不会超过12位。
表4:
  BitDepth   Scale0
  8   0
  9   0
  10   1
  11   2
  12   3
  ...   ...
此外,在本发明实施例提供的该方法中,对矩阵元素所需存储空间位数进行移位的位数大小可视具体情况而定,以式(15)为例,只要能保证对矩阵元素所需存储空间位数进行移位后得到的位数能够不大于处理器可并行处理的位数16,也可以考虑右移7位或8位等。
二、针对采用4×4的整数变换矩阵对图像残差矩阵X进行整数变换,且对图像残差矩阵先进行行变换再进行列变换的情况:
按照现有技术中提供的整数变换方法,以矩阵X中的矩阵元素所需存储空间的位数为11为例,采用下式(17)对矩阵X进行整数变换:
Y=BXBT                       (17)
其中,4×4的整数变换矩阵B具体如下式(18)所示:
B = 2 2 2 2 3 1 - 1 - 3 2 - 2 - 2 2 1 - 3 3 - 1 - - - ( 18 )
首先,按照下述公式(19),先对矩阵X进行行变换:
Y3=XBT                     (19)
则矩阵Y3中各矩阵元素需占用的存储空间位数的计算公式如下式(20)所示:
11+log28=14                (20)
可见,矩阵Y3中各矩阵元素需占用的存储空间位数并未超过处理器可并行处理的位数16。
然后,按照下述公式(21),对矩阵Y3进行列变换:
Y=BY3                      (21)
矩阵Y中各矩阵元素所需存储空间的位数由下式(22)计算得到:
14+log28=17                (22)
可见,矩阵Y中各矩阵元素所需存储空间位数超过了规定位数16。
按照本发明实施例提供的方法,在根据公式(21)计算得到矩阵Y后,采用下述公式(23),对矩阵Y中各矩阵元素所需存储空间的位数进行移位:
Y=[yij>>(BitDepth-8)]    (23)
由于该实施例中矩阵X中各矩阵元素所需存储空间的位数为11,因此,根据表4,公式(23)变为:
Y=[yij>>(10-8)]=[yij>>2]            (24)
由公式(22)、(24)可知,由于矩阵Y中各矩阵元素所需存储空间的位数右移了2位,因此,按照本发明实施例提供的方法,最终得到的矩阵Y中各矩阵元素所需存储空间的位数为17-2=15位,不大于处理器可并行处理的位数16。
实际上,上述公式(23)也可以变为:Y=[yij>>(BitDepth-8-1)]=[yij>>(BitDepth-9)],这样使得公式(24)对应变为:Y=[yij>>(10-9)]=[yij>>1],从而最终得到的矩阵Y中各矩阵元素所需存储空间的位数为17-1=16位。综上,对矩阵Y中各矩阵元素所需存储空间的位数的移位准则是既要满足移位后所得的位数不大于处理器可并行处理的位数16,又要满足移位的长度不能太大,避免使得矩阵Y的数据信息丢失过多。
三、针对采用8×8的整数变换矩阵对图像残差矩阵X进行整数变换,且对图像残差矩阵先进行列变换再进行行变换的情况:
由于采用现有技术中提供的整数变换方法,对矩阵X先进行列变换再进行行变换的过程中发生数据溢出的情况与对矩阵X先进行行变换再进行列变换的过程中发生数据溢出的情况相似,因此不再赘述,以下主要说明本发明实施例提供的该方法的实施过程,该过程的具体流程示意图如图3所示,包括:
步骤31,对图像残差矩阵进行列变换;
步骤32,当对图像残差矩阵进行列变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述列变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第一右移长度,对所述列变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移;
步骤33,对所述移位后的矩阵元素所在矩阵进行行变换;以及
步骤34,当对进行行变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述行变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第二右移长度,对所述行变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移。
该方法的具体实现过程如下,其具体实现流程图如图4所示,包括:
步骤41,按照下式(25),对矩阵X进行列变换:
Y2=CX                (25)
其中,矩阵C的取值如式(2)所示;
步骤42,按照下式(26),对矩阵Y2中的各矩阵元素需占用的存储空间位数进行移位:
Y2=[y2ij>>scale0](i,j=0~7)                (26)
其中,scale0为移位数,其取值可以参照表3或表4;
步骤43,按照下式(27),对矩阵Y2进行列变换:
Y=Y2CT                                         (27)
步骤44,按照下式(28),对矩阵Y中的各矩阵元素需占用的存储空间位数进行移位:
Y=[yij>>(5+BitDepth-8-scale0](i,j=0~7)    (28)
上式中scale0为移位数,其取值同样可以参照表3或表4。
综上可知,采用本发明实施例提供的整数变换方法,能够有效地避免对图像矩阵进行整数变换过程中出现的数据溢出。由于在现有技术中,对于整数变换过程中出现数据溢出时,还需要采用处理器对发生数据溢出的矩阵进行较为复杂的运算处理,因此,采用本发明实施例提供的整数变换方法,还能够降低处理器的运算复杂度,从而降低了处理器的运算负荷。
四、针对采用4×4的整数变换矩阵对图像残差矩阵X进行整数变换,且对图像残差矩阵先进行列变换再进行行变换的情况:
由于采用现有技术中提供的整数变换方法,对矩阵X进行先进行列变换再进行行变换的过程中发生数据溢出的情况与对矩阵X先进行行变换再进行列变换的过程中发生数据溢出的情况相似,因此不再赘述,以下主要说明本发明实施例提供的该方法的具体实施过程,该过程的具体流程示意图如图5所示,包括:
步骤51,按照下式(29)对矩阵X进行列变换:
Y4=BX                                          (29)
其中,4×4的整数变换矩阵B具体如式(18)所示;
步骤52,按照下述公式(30),对矩阵Y4进行行变换:
Y=Y4BT                                                  (30)
步骤53,按照下述公式(31),对矩阵Y中各矩阵元素yij所需存储空间的位数进行移位:
Y=[yij>>(BitDepth-8)]                                 (31)
由于本发明实施例提供的整数变换方法主要是应用于对图像残差矩阵进行编码的过程中,因此,以下简单介绍编码过程中的量化步骤,该量化步骤是在对图像残差矩阵X进行整数变换后进行的,具体为:
按照公式(32),对变换系数矩阵Y进行量化的公式如下式(32)所示:
QY=((Y*SCALEM+1<<14)>>15*QTAB[QP]+QP_CONST)>>19   (32)
其中,QY为与变换系数矩阵Y对应的量化值矩阵;QP_CONST为设定的固定值,用于对15*QTAB[QP]取整后得到的移位数值进行舍入误差补偿;SCALEM为缩放系数矩阵,具体如下式(33)所示:
SCALEM = 32768 37958 36158 37958 37958 43969 41884 43969 36158 41884 39898 41884 37958 43969 41884 43969 - - - ( 33 )
QP为量化系数参数,共64个,QTAB[QP]是不同QP在量化系数表中所对应的量化系数,QP每增加8,QTAB[QP]近似减小一倍,该量化系数表的具体结构如下表5所示:
表5:
  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
相应地,本发明实施例提供一种整数变换装置,其具体结构示意图如图6所示,包括:
整数变换单元61,用于对图像残差矩阵进行整数变换;
判断单元62,用于判断整数变换单元61对图像残差矩阵进行整数变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;
确定单元63,用于在判断单元62的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
移位单元64,用于按照长度不小于所述确定单元63确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
当对图像残差矩阵进行编码时,编码装置中除包括本发明实施例提供的整数变换装置外,还包括量化装置,该量化装置实现的功能与上述方法实施例中对变换系数矩阵进行量化处理类似,因此不再赘述。
对应于本发明实施例提供的整数变换方案,本发明实施例还提供一种整数反变换方案,用以解决现有技术中针对各矩阵元素所需存储空间的位数大于9位的图像残差矩阵进行整数反变换处理时,发生数据溢出的问题,该方案包括一种整数反变换方法和整数反变换装置,其中,整数反变换方法的具体实现流程图如图7所示,包括:
步骤71,对图像残差矩阵进行整数反变换;
步骤72,当判断整数反变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
步骤73,按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
当先对图像残差矩阵进行行整数反变换,再对图像残差矩阵进行列整数反变换时,本发明实施例提供的该整数反变换方法的具体流程示意图如图8所示,包括:
步骤81,对图像残差矩阵进行行整数反变换;
步骤82,当对图像残差矩阵进行行整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述行整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第一右移长度,对所述行整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移;
步骤83,对所述移位后的矩阵元素所在矩阵进行列整数反变换;以及
步骤84,当进行列整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理的位数时,按照长度不小于所述列整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数与处理器可并行处理的位数之差的第二右移长度,对所述列整数反变换后得到的矩阵中各矩阵元素所需存储空间的位数分别进行右移。
具体地,当采用8×8的整数反变换矩阵时,该整数反变换方法的具体实施过程的具体流程示意图如图9所示,包括:
步骤91,按照下述公式(34),对图像残差矩阵Y进行行整数反变换:
X1=YC                                              (34)
其中,X1为对Y进行行整数反变换后得到的中间结果矩阵,C则如式(2)所示;
步骤92,按照下述公式(35),对X1中各矩阵元素所需存储空间的位数进行移位:
X1=[x1ij>>3+(BitDepth-8)](i,j=0~7)            (35)
步骤93,按照下述公式(36),对矩阵Y进行行整数反变换:
X=CTX1                                        (36)
步骤94,按照下述公式(37),对X中各矩阵元素所需存储空间的位数进行移位:
X=[xij>>7+(8-BitDepth)](i,j=0~7)         (37)
当采用4×4的整数变换矩阵对矩阵Y进行先行变换再列变换的整数反变换时,对矩阵Y进行整数反变换后得到的矩阵X中各矩阵元素所需存储空间的位数按照下式(38)进行移位:
X=[xij>>5]                                  (38)
因此,按照本发明实施例提供的整数反变换方法,则当采用4×4的整数变换矩阵对矩阵Y进行整数反变换时,对矩阵Y进行整数反变换后得到的矩阵X中各矩阵元素所需存储空间的位数按照下式(39)进行移位:
X=[xij>>5+(8-BitDepth)]                     (39)
当先对图像残差矩阵进行列整数反变换,再对图像残差矩阵进行行整数反变换时,以采用8×8的整数变换矩阵为例,本发明实施例提供的该整数反变换方法的具体流程示意图如图10所示,包括:
步骤101,按照下述公式(40),对图像残差矩阵Y进行行整数反变换:
X2=CTY                                        (40)
其中,X2为对Y进行列整数反变换后得到的中间结果矩阵,C则如式(2)所示;
步骤102,按照下述公式(41),对X2中各矩阵元素所需存储空间的位数进行移位:
X2=[x2ij>>3+(BitDepth-8)](i,j=0~7)       (41)
步骤103,按照下述公式(42),对矩阵Y进行行整数反变换:
X=X2C                                         (42)
步骤104,按照下述公式(43),对X中各矩阵元素所需存储空间的位数进行移位:
X=[xij>>7+(8-BitDepth)](i,j=0~7)              (43)
当采用4×4的整数变换矩阵对矩阵Y进行先列变换再行变换的整数反变换时,按照现有技术中的变换方法,对矩阵Y进行整数反变换后得到的矩阵X中各矩阵元素所需存储空间的位数按照下式(44)进行移位:
X=[xij>>5]                                       (44)
因此,按照本发明实施例提供的整数反变换方法,则当采用4×4的整数变换矩阵对矩阵Y进行整数反变换时,对矩阵Y进行整数反变换后得到的矩阵X中各矩阵元素所需存储空间的位数按照下式(45)进行移位:
X=[xij>>5+(8-BitDepth)]                          (45)
由于本发明实施例提供的整数反变换方法主要是应用于对矩阵Y进行解码的过程中,因此,以下简单介绍解码过程中的反量化步骤,该反量化步骤是在对图像残差矩阵Y进行整数反变换之前执行的,具体为:
反量化步骤所用的公式如下式(46)所示:
Y=(QY*DQTAB[QP]+1<<(Shift[QP]-1))>>SHIFT[QP]   (46)
其中,QY为按照公式(32)所得的量化值矩阵;DQTAB[QP]为不同QP在反量化系数表中所对应的反量化系数,Shift[QP]为不同QP在反量化系数表中所对应的移位数,这里的Y也被称为变换系数矩阵,该反量化系数表的具体结构如下表6所示:
表6:
  QP   0   1   2   3   4   5   6   7
  DQTAB[QP]   32768   36061   38968   42495   46341   50535   55437   60424
  Shift[QP]   14   14   14   14   14   14   14   14
  QP   0   1   2   3   4   5   6   7
  QP   8   9   10   11   12   13   14   15
  DQTAB[QP]   32932   35734   38968   42495   46177   50535   55109   59933
  Shift[QP]   13   13   13   13   13   13   13   13
  QP   16   17   18   19   20   21   22   23
  DQTAB[QP]   65535   35734   38968   42577   46341   50617   55027   60097
  Shift[QP]   13   12   12   12   12   12   12   12
  QP   24   25   26   27   28   29   30   31
  DQTAB[QP]   32809   35734   38968   42454   46382   50576   55109   60056
  Shift[QP]   11   11   11   11   11   11   11   11
  QP   32   33   34   35   36   37   38   39
  DQTAB[QP]   65535   35734   38968   42495   46320   50515   55109   60076
  Shift[QP]   11   10   10   10   10   10   10   10
  QP   40   41   42   43   44   45   46   47
  DQTAB[QP]   65535   35744   38968   42495   46341   50535   55099   60087
  Shift[QP]   10   9   9   9   9   9   9   9
  QP   48   49   50   51   52   53   54   55
  DQTAB[QP]   65535   35734   38973   42500   46341   50535   55109   60097
  Shift[QP]   9   8   8   8   8   8   8   8
  QP   56   57   58   59   60   61   62   63
  DQTAB[QP]   32771   35734   38965   42497   46341   50535   55109   60099
  Shift[QP]   7   7   7   7   7   7   7   7
相应地,本发明实施例还提供了一种整数反变换装置,其具体结构示意图如图11所示,包括:
整数反变换单元111,用于对图像残差矩阵进行整数反变换;
判断单元112,用于判断整数反变换单元111对图像残差矩阵进行整数反变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;
确定单元113,用于在判断单元112的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
移位单元114,用于按照长度不小于所述确定单元113确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
当对图像残差矩阵进行解码时,解码装置中除包括本发明实施例提供的整数反变换装置外,还包括反量化装置,该反量化装置实现的功能与上述方法实施例中对量化值矩阵进行反量化处理类似,因此不再赘述。
需要说明的是,本发明实施例中进行整数变换或整数反变换所用的图像残差矩阵可以但不限于为图像亮度信息矩阵对应的图像残差矩阵或图像色度信息矩阵对应的图像残差矩阵,采用本发明实施例提供的方案对任何类型的矩阵进行整数变换或反变换,都在本发明的保护范围之内。
此外,本发明实施例提供的方案可以但不限于针对处理器可并行处理的位数为16位的情况,采用本发明实施例提供的方案解决可并行处理的位数不为16位的处理器在对矩阵进行整数变换、整数反变换过程中发生的数据溢出的问题,同样在本发明的保护范围之内。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种对图像残差矩阵进行整数变换的方法,其特征在于,包括:
对图像残差矩阵进行整数变换;
当判断整数变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
2.如权利要求1所述的方法,其特征在于,按照长度等于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
3.如权利要求1所述的方法,其特征在于,对图像残差矩阵进行整数变换,具体包括:
对图像残差矩阵进行行变换,获得行变换矩阵;
对所述行变换矩阵进行列变换,获得列变换矩阵。
4.如权利要求1所述的方法,其特征在于,基于8×8的整数变换矩阵或4×4的整数变换矩阵对图像残差矩阵进行整数变换。
5.如权利要求1所述的方法,其特征在于,所述图像残差矩阵为图像亮度信息矩阵对应的图像残差矩阵;或
图像色度信息矩阵对应的图像残差矩阵。
6.一种对图像残差矩阵进行整数变换的装置,其特征在于,包括:
整数变换单元,用于对图像残差矩阵进行整数变换;
判断单元,用于判断整数变换单元对图像残差矩阵进行整数变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;
确定单元,用于在判断单元的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
移位单元,用于按照长度不小于所述确定单元确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
7.一种对图像残差矩阵进行整数反变换的方法,其特征在于,包括:
对图像残差矩阵进行整数反变换;
当判断整数反变换过程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
8.如权利要求7所述的方法,其特征在于,按照长度等于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移。
9.如权利要求7所述的方法,其特征在于,对图像残差矩阵进行整数反变换,具体包括:
对图像残差矩阵进行行反变换,获得行反变换矩阵;
对所述行反变换矩阵进行列反变换,获得列反变换矩阵。
10.一种对图像残差矩阵进行整数反变换的装置,其特征在于,包括:
整数反变换单元,用于对图像残差矩阵进行整数反变换;
判断单元,用于判断整数反变换单元对图像残差矩阵进行整数反变换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数;
确定单元,用于在判断单元的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;
移位单元,用于按照长度不小于所述确定单元确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。
CN 200810226579 2008-11-14 2008-11-14 图像残差矩阵整数变换方法及装置、反变换方法及装置 Active CN101742328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810226579 CN101742328B (zh) 2008-11-14 2008-11-14 图像残差矩阵整数变换方法及装置、反变换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810226579 CN101742328B (zh) 2008-11-14 2008-11-14 图像残差矩阵整数变换方法及装置、反变换方法及装置

Publications (2)

Publication Number Publication Date
CN101742328A true CN101742328A (zh) 2010-06-16
CN101742328B CN101742328B (zh) 2013-03-27

Family

ID=42465099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810226579 Active CN101742328B (zh) 2008-11-14 2008-11-14 图像残差矩阵整数变换方法及装置、反变换方法及装置

Country Status (1)

Country Link
CN (1) CN101742328B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068135A (zh) * 2012-04-26 2018-12-21 索尼公司 视频编解码的方法和设备
WO2022027442A1 (zh) * 2020-08-06 2022-02-10 华为技术有限公司 图像处理网络的输入预处理方法和输出后处理方法及装置
CN114391258A (zh) * 2019-07-05 2022-04-22 Lg电子株式会社 基于亮度映射的视频或图像编码
CN115278233A (zh) * 2017-12-15 2022-11-01 Lg电子株式会社 解码设备、编码设备及发送设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286322C (zh) * 2004-08-06 2006-11-22 联合信源数字音视频技术(北京)有限公司 一种低复杂度整数4×4离散余弦变换量化实现方法
CN100490539C (zh) * 2006-01-11 2009-05-20 浙江大学 运用于图像编码和视频编码的离散余弦变换的方法
CN101083769B (zh) * 2006-06-02 2011-05-25 三星电子株式会社 处理n比特视频数据的编/解码器和编/解码方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068135A (zh) * 2012-04-26 2018-12-21 索尼公司 视频编解码的方法和设备
CN109068135B (zh) * 2012-04-26 2023-03-14 索尼公司 视频编解码的方法和设备
CN115278233A (zh) * 2017-12-15 2022-11-01 Lg电子株式会社 解码设备、编码设备及发送设备
CN114391258A (zh) * 2019-07-05 2022-04-22 Lg电子株式会社 基于亮度映射的视频或图像编码
CN114391258B (zh) * 2019-07-05 2023-07-18 Lg电子株式会社 基于亮度映射的视频或图像编码
US11924447B2 (en) 2019-07-05 2024-03-05 Lg Electronics Inc. Luma mapping-based video or image coding
WO2022027442A1 (zh) * 2020-08-06 2022-02-10 华为技术有限公司 图像处理网络的输入预处理方法和输出后处理方法及装置

Also Published As

Publication number Publication date
CN101742328B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
US9998740B2 (en) Low-complexity two-dimensional (2D) separable transform design with transpose buffer management
JP4560027B2 (ja) イメージおよびビデオコード化方法
US9749635B2 (en) Method and apparatus for quantization level clipping
EP2618575A2 (en) Logical intra mode naming in HEVC video coding
JP2014509108A (ja) メディアデータコーディングのための32点変換
CN103220510A (zh) 在hevc中的采样自适应偏移中的灵活带偏移模式
KR20120034582A (ko) 영상/화상을 부호화하기 위한 장치 및 방법
CN101742328B (zh) 图像残差矩阵整数变换方法及装置、反变换方法及装置
US20150120798A1 (en) Data encoding with sign data hiding
CN107295338B (zh) 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN110166783B (zh) 补偿表压缩方法、显示器制造设备和具有存储功能的装置
CN101742054B (zh) 编码方法及装置、解码方法及装置
CN101562744B (zh) 二维反变换装置
US20220256161A1 (en) Method and apparatus for video encoding and decoding with matrix based intra-prediction
CN103975592B (zh) 反量化变换系数的方法及装置
JP5592295B2 (ja) 画像符号化方法,画像符号化装置,画像復号方法,画像復号装置およびそれらのプログラム
US20100239006A1 (en) Video decoder plus a discrete cosine transform unit
CN111970517B (zh) 基于双向光流的帧间预测方法、编码方法及相关装置
EP3099072A1 (en) Method, system and device for image and video coding
CN116149597A (zh) 数据处理方法、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171220

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Co-patentee after: Vimicro Electronics Co., Ltd.

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Co-patentee before: Vimicro Electronics Co., Ltd.

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Co-patentee after: Vimicro Electronics Co., Ltd.

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Co-patentee before: Vimicro Electronics Co., Ltd.

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder