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

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

Info

Publication number
CN101742328B
CN101742328B CN 200810226579 CN200810226579A CN101742328B CN 101742328 B CN101742328 B CN 101742328B CN 200810226579 CN200810226579 CN 200810226579 CN 200810226579 A CN200810226579 A CN 200810226579A CN 101742328 B CN101742328 B CN 101742328B
Authority
CN
China
Prior art keywords
matrix
place
memory space
image residual
carried out
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.)
Active
Application number
CN 200810226579
Other languages
English (en)
Other versions
CN101742328A (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

  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (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位的图像残差矩阵进行整数变换时,不会发生数据溢出。 
本发明实施例通过对图像残差矩阵进行整数反变换;当判断整数反变换过 程中获得的矩阵中各矩阵元素所需存储空间的位数大于处理器可并行处理位数时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值;按照长度不小于所述差值的移位长度,对各矩阵元素所需存储空间的位数分别进行右移,使得针对各矩阵元素所需存储空间的位数大于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
  ...   ...
[0087]  此外,在本发明实施例提供的该方法中,对矩阵元素所需存储空间位数进行移位的位数大小可视具体情况而定,以式(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: 
Figure RE-GDA00002127747800152
相应地,本发明实施例提供一种整数变换装置,其具体结构示意图如图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: 
Figure RE-GDA00002127747800191
相应地,本发明实施例还提供了一种整数反变换装置,其具体结构示意图如图11所示,包括: 
整数反变换单元111,用于对图像残差矩阵进行整数反变换; 
判断单元112,用于判断整数反变换单元111对图像残差矩阵进行整数反变 换过程中获得的矩阵中各矩形元素所需存储空间的位数是否大于处理器可并行处理位数; 
确定单元113,用于在判断单元112的判断结果为是时,确定所述各矩阵元素所需存储空间的位数与处理器可并行处理位数的差值; 
移位单元114,用于按照长度不小于所述确定单元113确定的差值的移位长度,对所述各矩阵元素所需存储空间的位数分别进行右移。 
当对图像残差矩阵进行解码时,解码装置中除包括本发明实施例提供的整数反变换装置外,还包括反量化装置,该反量化装置实现的功能与上述方法实施例中对量化值矩阵进行反量化处理类似,因此不再赘述。 
需要说明的是,本发明实施例中进行整数变换或整数反变换所用的图像残差矩阵可以但不限于为图像亮度信息矩阵对应的图像残差矩阵或图像色度信息矩阵对应的图像残差矩阵,采用本发明实施例提供的方案对任何类型的矩阵进行整数变换或反变换,都在本发明的保护范围之内。 
此外,本发明实施例提供的方案可以但不限于针对处理器可并行处理的位数为16位的情况,采用本发明实施例提供的方案解决可并行处理的位数不为16位的处理器在对矩阵进行整数变换、整数反变换过程中发生的数据溢出的问题,同样在本发明的保护范围之内。 
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 

Claims (8)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
KR20230008911A (ko) * 2017-12-15 2023-01-16 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN116668698A (zh) 2019-07-05 2023-08-29 Lg电子株式会社 图像编码/解码方法、图像数据的发送方法和存储介质
CN115699757A (zh) * 2020-08-06 2023-02-03 华为技术有限公司 图像处理网络的输入预处理方法和输出后处理方法及装置

Citations (3)

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

Patent Citations (3)

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

Also Published As

Publication number Publication date
CN101742328A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
US11558614B2 (en) Transform and quantization architecture for video coding and decoding
US10448023B2 (en) Low-complexity two-dimensional (2D) separable transform design with transpose buffer management
US20160255372A1 (en) Video encoding method and device and decoding method and device
EP2618575A2 (en) Logical intra mode naming in HEVC video coding
KR20120034582A (ko) 영상/화상을 부호화하기 위한 장치 및 방법
US9565441B2 (en) Method and apparatus for quantization level clipping
CN103220510A (zh) 在hevc中的采样自适应偏移中的灵活带偏移模式
KR102390162B1 (ko) 데이터 인코딩 장치 및 데이터 인코딩 방법
WO2012009237A1 (en) Variable localized bit depth increase for fixed-point transforms in video coding
JP2013534795A5 (zh)
US20150120798A1 (en) Data encoding with sign data hiding
CN101742328B (zh) 图像残差矩阵整数变换方法及装置、反变换方法及装置
CN104937934A (zh) 图像边界邻域中的自回归像素预测
JP2022525392A (ja) 低変位ランクベースのディープニューラルネットワーク圧縮
JP2022500895A (ja) イントラ変換コード化及び広角イントラ予測の調和
WO2020060832A1 (en) Fast implementation of odd one dimensional transforms
CN112335240A (zh) 使用可变权重的多参考帧内预测
WO2020244022A1 (zh) 补偿表压缩方法、显示器制造设备和存储器
US20220256161A1 (en) Method and apparatus for video encoding and decoding with matrix based intra-prediction
CN101742054B (zh) 编码方法及装置、解码方法及装置
KR20220024643A (ko) 위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
US8634466B2 (en) Video decoder plus a discrete cosine transform unit
CN101562744A (zh) 二维反变换装置
CN103975592A (zh) 反量化变换系数的方法及装置
CN113395520A (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