CN110933445A - 一种基于系数矩阵变换的dct运算方法及其变换装置 - Google Patents

一种基于系数矩阵变换的dct运算方法及其变换装置 Download PDF

Info

Publication number
CN110933445A
CN110933445A CN201911290160.3A CN201911290160A CN110933445A CN 110933445 A CN110933445 A CN 110933445A CN 201911290160 A CN201911290160 A CN 201911290160A CN 110933445 A CN110933445 A CN 110933445A
Authority
CN
China
Prior art keywords
matrix
dimensional
dct
transformation
row
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
CN201911290160.3A
Other languages
English (en)
Other versions
CN110933445B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201911290160.3A priority Critical patent/CN110933445B/zh
Publication of CN110933445A publication Critical patent/CN110933445A/zh
Application granted granted Critical
Publication of CN110933445B publication Critical patent/CN110933445B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种基于系数矩阵变换的DCT运算方法及其变换装置,对DCT变换中系数矩阵的系数进行变换,设置系数b、d、f均为
Figure DDA0002318806580000011
系数a、c、e、g的其中一个为
Figure DDA0002318806580000012
另外三个为0;利用变换后的系数实现一维DCT运算。另外提出一种二维DCT运算方法,利用SDCT的思想,将系数矩阵拆分为两个矩阵在电路中分别实现,同时基于系数矩阵的系数变换,将二维DCT变换公式
Figure DDA0002318806580000013
中的T矩阵和D矩阵进行了优化,实现了电路复杂度、精确度和功耗的平衡。基于本发明的二维DCT运算方法提出一种二维DCT变换装置,利用T矩阵实现一维行DCT变换和一维列DCT变换,再对应Ef矩阵对列DCT变换的输出进行移位来实现

Description

一种基于系数矩阵变换的DCT运算方法及其变换装置
技术领域
本发明属于集成电路领域,涉及一种基于系数矩阵变换的DCT(离散余弦变换)运算方法及其变换装置,包括一维DCT运算方法、二维DCT运算方法和二维DCT变换装置,能够用于图像处理技术。
背景技术
在如今的日常生活中,多媒体移动设备(例如手机)变得越来越不可或缺,因此研究如何实现高精度、高速的视频和图像的传输已经变成了一个热点问题。随着通信技术的发展,人们对视频和图像传输的速度与质量提出了更高的要求,为此大量学者研究如何把包含庞大数据量的图片和视频进行合理的压缩。
目前针对图像压缩,国际上已经提出了大量的图像视频压缩标准,例如JPEG(联合图像专家组)、MPEG(动态图像专家组)、HEVC(高效视频编码)等。二维DCT(离散余弦变换)由于其简单、易实现的特点在多种图像压缩变换中脱颖而出,广泛应用于各种图像视频压缩中。二维DCT总共有八种形式,其中二维DCT-2的能量集中特性最好,能够更好的保证图像传输的速度与质量,因此二维DCT大多选择二维DCT-2的变换公式。对于N*N的像素块进行二维DCT-2变换的公式如下所示:
Figure BDA0002318806560000011
Figure BDA0002318806560000012
其中F(u,v)代表变换后的输出结果,u,v均为整数,为变换后的行列坐标,f(x,y)为变换前的输入数据,x,y均为整数,为变换前的行列坐标。
虽然可以直接通过变换公式实现二维DCT,但是通过上式可以看出二维DCT的变换公式较为复杂,实现的电路功耗较大,难以在实际生活中使用。因此,在目前常见的图像视频传输中,通常利用二维DCT的可分解特性,通过行列分解算法,如图1利用两次一维DCT和一个转置存储阵列来实现。一维DCT的公式如下所示:
Figure BDA0002318806560000021
为了降低电路复杂度,一维DCT通常以8×8的像素块为基本单位来处理图像,因此一维DCT可以简化为8点一维DCT系数矩阵运算的形式:
Figure BDA0002318806560000022
其中系数矩阵A中的系数均为常数,通常取值为a=C1,b=C2,c=C3,d=C4,e=C5,f=C6,g=C7
Figure BDA0002318806560000023
n为从1到7的整数。每次一维DCT变换只对一条1×8的像素条进行处理,因此处理完整的一个8×8像素块需使用8个周期。由于硬件电路无法直接运算小数,为在电路中实现小数乘法,通常利用小数整数化的思想,即使用左移移位将系数扩大,并利用二进制形式表示,然后在运算完成之后,再利用右移移位将结果变为原来的大小。然而在右移移位时会产生精度的损失,如表1所示,8位二进制数据只保存了系数的两位小数。
表1整数型DCT矩阵系数
系数 原值 二进制表示
a 0.49 0011_1111
b 0.46 0011_1011
c 0.42 0011_0101
d 0.35 0010_1101
e 0.28 0010_0100
f 0.19 0001_1000
g 0.10 0000_1100
即使如此,DCT的电路结构仍然相当复杂,因此出现了大量的快速算法结构。由于乘法器的面积和功耗都数十倍大于加法器的功耗和面积,因此化简DCT的电路结构多从削减乘法器数目入手。1989年,Loeffler提出了一种仅需11个乘法与29个加法的精确DCT结构。该结构将乘法器的数量降低到理论上的最低,有效地降低了电路的功耗。随后,为了去除乘法器,大量降低电路复杂度,2001年,Tarek I.Haweel提出了SDCT结构,这是一种近似DCT结构,通过将系数矩阵中的所有系数都变为
Figure BDA0002318806560000031
可以提取公因式
Figure BDA0002318806560000032
然后对系数矩阵A进行大幅度的化简,使得矩阵A中只包括±1。但是此种方法的近似过于粗糙,使得DCT变换几乎失去了能量集中特性,因此SDCT变换的PSNR仅仅只有27.40。
根据SDCT(signed DCT)结构的这种近似思想,将其优化,得出了优化的公式结构
Figure BDA0002318806560000033
其中,E1矩阵为全为1的8×8矩阵,D矩阵为对角阵,T矩阵中只包含±1,
Figure BDA0002318806560000034
为矩阵对应元素相乘。通过改变系数矩阵中系数取值,将A矩阵拆分为D矩阵和T矩阵,在DCT中实现T矩阵的电路,而不是实现A矩阵,从而大大降低了电路复杂性。而Ef矩阵在量化阶段合并处理,仍能保证一定的精度。目前已经提出了LODCT(Krisda Lengwehasatit和AntonioOrtega提出的DCT结构)、RDCT(Renato J.Cintra提出的DCT结构)、MRDCT((F.M.Bayer和R.J.Cintra提出的DCT结构)、IADCT(improved approximate DCT)等多种此类结构。
表2多种DCT方案的系数化简和Lena仿真结果
Figure BDA0002318806560000035
但是可以发现,相对于SDCT,目前提出的LODCT、RDCT、MRDCT和IADCT在图像处理之后的精度有所提高,将PSNR从27.40提升至了36.94,但是图像处理的结果仍然较为模糊,相比精确DCT的PSNR仍有一定距离,因此在此类方案上仍有一定的空间进行优化。
发明内容
针对上述传统DCT运算方法和变换装置在精确度方面存在的问题,以及现有的优化方式和结构在精度和结构复杂度上仍有不足的问题,本发明提出一种基于系数矩阵变换的DCT(离散余弦变换)运算方法及其变换装置,通过对系数a-g的设定提出了一维DCT运算方法和二维DCT运算方法,对SDCT结构进行了优化,改进了D矩阵和T矩阵,实现了更高的精度;基于本发明的离散余弦运算方法设计了对应的变换装置,利用奇偶分解法简化系数矩阵,从而简化电路结构,只需要16个加法器就可以实现一维DCT变换,显著减少了电路复杂度,从而降低了功耗。
本发明采用的技术方案如下:
本发明提出的一种基于系数矩阵变换的一维DCT运算方法,包括如下步骤:
步骤一、设置系数b、d、f均为
Figure BDA0002318806560000041
系数a、c、e、g的其中一个为
Figure BDA0002318806560000042
另外三个为0;
步骤二、对输入数据f(0)-f(7)进行一维DCT变换得到运算结果F(0)-F(7),其中一维DCT的变换公式为式(1):
Figure BDA0002318806560000043
具体的,将所述步骤二中式(1)的变换公式进行奇偶分解得到式(2):
Figure BDA0002318806560000044
利用式(2)作为变换公式对输入数据f(0)-f(7)进行矩阵变换得到一维DCT的运算结果F(0)-F(7)。
具体的,所述步骤一中将系数c设为
Figure BDA0002318806560000045
系数a、e、g设为0。
本发明还提出一种基于系数矩阵变换的二维DCT运算方法,对输入矩阵X进行二维DCT变换得到的经过二维DCT变换后的输出矩阵Y,二维DCT的变换公式为式(3):
Figure BDA0002318806560000051
其中
Figure BDA0002318806560000052
表示两边矩阵的对应元素相乘,输入矩阵X和输出矩阵Y均为8×8矩阵;
矩阵
Figure BDA0002318806560000053
TT为矩阵T的转置,矩阵T根据式(4)计算,
A=DT (4)
其中矩阵
Figure BDA0002318806560000054
矩阵
Figure BDA0002318806560000055
矩阵A中的系数b、d、f均设置为
Figure BDA0002318806560000056
系数a、c、e、g的其中一个设置为
Figure BDA0002318806560000057
另外三个均设置为0。
具体的,矩阵A中将系数c设为
Figure BDA0002318806560000058
系数a、e、g设为0,则矩阵
Figure BDA0002318806560000059
基于本发明的DCT运算方法,本发明还提出一种基于系数矩阵变换的二维DCT变换装置,包括一维行DCT运算模块、一维列DCT运算模块和寄存器阵列,8×8的输入矩阵X按行依次输入所述一维行DCT运算模块,所述二维DCT变换装置还包括移位模块;
所述一维行DCT运算模块将输入矩阵X按照式(5)进行一维行DCT运算得到8×8的中间结果矩阵Z保存到所述寄存器阵列中;
Z=TX (5)
其中矩阵T根据A=DT计算,
矩阵
Figure BDA0002318806560000061
矩阵
Figure BDA0002318806560000062
矩阵A中的系数b、d、f均设置为
Figure BDA0002318806560000063
系数a、c、e、g的其中一个设置为
Figure BDA0002318806560000064
另外三个均设置为0;
所述寄存器阵列将所述中间结果矩阵Z按列依次输入所述一维列DCT运算模块,所述一维列DCT运算模块获得所述中间结果矩阵Z的转置(Z)T,所述一维列DCT运算模块按照式(6)对所述中间结果矩阵Z的转置(Z)T进行一维列DCT运算得到初始输出矩阵Y0,
Y0=T(Z)T=TXTTT (6)
所述一维列DCT运算模块将所述初始输出矩阵Y0输出到所述移位模块,所述移位模块将所述初始输出矩阵Y0进行移位得到所述二维DCT运算装置最终的输出矩阵Y,使得输出矩阵Y满足
Figure BDA0002318806560000065
其中
Figure BDA0002318806560000066
表示两边矩阵的对应元素相乘,矩阵
Figure BDA0002318806560000067
具体的,所述矩阵A中将系数c设为
Figure BDA0002318806560000071
系数a、e、g设为0,则矩阵
Figure BDA0002318806560000072
具体的,所述寄存器阵列包括8行8列共64个寄存器,所述64个寄存器分别用于保存所述中间结果矩阵Z的8×8组数据;
所述DCT变换装置还包括状态控制器,用于控制所述64个寄存器;
所述状态控制器包括空闲状态、行数据输入状态和列数据输出状态,空闲状态时所述状态控制器切断所述64个寄存器与所述一维行DCT运算模块和一维列DCT运算模块的连接;行数据输入状态时所述状态控制器控制第一行的8个寄存器为一组依次接收所述一维行DCT运算模块产生的中间结果矩阵Z的每一行数据,其余每一行的8个寄存器为一组依次接收上一行的8个寄存器存储的数据,直到将所述中间结果矩阵Z的8行数据都分别存储到64个寄存器中;列数据输出状态时所述状态控制器控制每一列的8个寄存器为一组依次将其存储的数据输出到下一列的8个寄存器中,最后一列的8个寄存器为一组依次将其存储的数据输出到所述一维列DCT运算模块中。
本发明的有益效果为:本发明基于系数矩阵的差异,提出一种新的系数设置方式,实现了一种高精度、低复杂度的近似一维DCT运算方法,利用本发明提出的方法只需要16个加法器就可以实现一维DCT变换,完全去除了DCT中乘法器的使用,显著减少了电路复杂度,从而降低了功耗;另外结合SDCT的优化思想,将二维DCT变换公式
Figure BDA0002318806560000073
中的T矩阵和D矩阵进行了优化,使得本发明的Ef矩阵不包括根号,实现仅仅只需要移位,而现有结构中Ef矩阵均需处理根号和小数导致精度的损失,因此本发明与现有的同类DCT结构相比在精度上有显著性的提高;本发明利用奇偶分解法实现电路的复用、简化系数矩阵,从而简化了电路结构;利用本发明提出的一维DCT运算方法构建二维DCT变换装置,能够在不明显降低图像质量的情况下,显著降低电路的复杂度。
附图说明
图1为二维DCT行列分解算法示意图。
图2为一维DCT奇偶分解算法示意图。
图3为RDCT的Ef矩阵示意图。
图4为T矩阵蝶形运算结构示意图。
图5为转置寄存器阵列原理图。
具体实施方式
下面结合附图和具体实施例详细描述本发明的技术方案。
如图2所示是将传统一维DCT系数矩阵的运算公式
Figure BDA0002318806560000081
进行奇偶分解后的结果,可以看出奇数项的输出只取决于a,c,e,g四个系数,偶数项的输出只取决于b,d,f三个系数。由于a,c,e,g四个系数的个数在奇数项系数矩阵中都相同,根据实验分析,如果任取系数矩阵中a,c,e,g四个系数中的一个系数设为有值的系数,其余三个系数变为0,此时,有值的系数是a或c或e或g,并不会影响最终的PSNR,因此,在PSNR的影响方面,系数a,c,e,g等价。同理,若将偶数项系数矩阵再通过奇偶分解法拆分,可以得到结论,系数b,f在PSNR的影响方面有相同的等价性。
本发明使用了优化的SDCT公式的思路,利用上述发现的等价性,将a,b,c,d,e,f,g系数进行了变换,由于d系数代表整体灰度数据的基准,如果存在变化,会大幅度影响PSNR,因此不可以改动。因此选择将a,c,e,g其中三个系数变为0,剩下的一个系数为
Figure BDA0002318806560000082
使得最终的奇数项系数矩阵全为+1和0,从而使得奇数项系数矩阵的电路实现中全为加法器,由于减法器的面积大于加法器的面积,因此优选系数c为
Figure BDA0002318806560000083
可以将减法器转变为加法器,从而降低整体设计的面积。将剩余的三个系数b,d,f均变为
Figure BDA0002318806560000084
因此本发明通过设置系数a,c,e,g其中三个为0,另一个为
Figure BDA0002318806560000085
以及设置系数b,d,f均为
Figure BDA0002318806560000086
结合传统的一维DCT的变换公式
Figure BDA0002318806560000091
实现了一种新构思的一维DCT运算方法。
再结合奇偶分解法进行优化,将传统的一维DCT的变换公式变换为图2所示的变换公式,同样利用本发明的系数设置方式,将a,c,e,g其中三个设为0,另一个设为
Figure BDA0002318806560000092
以及设置系数b,d,f均为
Figure BDA0002318806560000093
实现进行奇偶分解后的一维DCT运算。a,c,e,g其中任意一个为
Figure BDA0002318806560000094
并不影响最终的PSNR,但是会影响电路的实现,比如选a为
Figure BDA0002318806560000095
在这个部分的电路实现需采用1个加法器和3个减法器,e为
Figure BDA0002318806560000096
则需要2个加法器和2个减法器,g为
Figure BDA0002318806560000097
则需要3个加法器和1个减法器,而c为
Figure BDA0002318806560000098
只需要4个加法器。由于加法器电路相比减法器电路更简单,面积更小,因此优选c为
Figure BDA0002318806560000099
此时的电路面积最小。
同样的思路也能够应用到二维DCT运算中,结合SDCT的思想,使用了SDCT的优化公式:
Figure BDA00023188065600000910
通过设置系数改变系数矩阵A中的系数取值,将A矩阵拆分为D矩阵和T矩阵,改进T矩阵和D矩阵。将系数矩阵A化简,得到D矩阵为
Figure BDA00023188065600000911
Diag代表对角阵,即
Figure BDA00023188065600000912
A矩阵根据具体系数a-g的取值确定,T矩阵可以根据A矩阵和D矩阵计算,如实施例中将系数a,e,g设置为0,c设置为
Figure BDA0002318806560000101
b,d,f均设置为
Figure BDA0002318806560000102
则T矩阵为
Figure BDA0002318806560000103
本实施例中由于选择a,e,g为0,c为
Figure BDA0002318806560000104
因此T矩阵为上述形式,但如果选择a,e,g中一个为
Figure BDA0002318806560000105
其余三个为0,只需根据A=DT计算对应的T矩阵即可。
利用D矩阵可以化简由DE1DT所产生的Ef矩阵
Figure BDA0002318806560000106
将输入矩阵X利用公式
Figure BDA0002318806560000107
实现二维DCT变换得到输出矩阵Y。
基于上述DCT运算方法,本发明提出一种利用该运算方法的二维DCT变换装置,该结构采用了行列分解算法,将二维DCT分解为两次一维DCT,先对输入的数据进行一次DCT行运算,将中间结果转置后,再进行一次DCT列运算,包括一维行DCT运算模块、一维列DCT运算模块、寄存器阵列和移位模块,以处理图像数据为例,图像数据通常为8位,因此输入的位宽设置为8位,如果要处理其他位宽的数据需要对电路中每一个寄存器的位宽进行修改即可。先将图像数据分割成8×8的子块,8×8的像素块按行依次输入到一维行DCT运算模块,每一个像素点的灰度数据位宽为8位,每次一维行DCT运算模块输入8个8位数据,因此需通过8个周期完成一次8×8的像素块的行变换处理。一维行DCT运算模块输出8×8的像素块的处理中间结果,每个中间结果的位宽为11位,其中包含一位符号位,以矩阵的形式保存到寄存器阵列中。通过改变输出的方式,寄存器阵列将中间结果矩阵按列依次输出到一维列DCT运算模块,实现转置效果。最后一维列DCT运算模块将寄存器阵列输出的中间结果矩阵的转置经过DCT变换后传给移位模块,由移位模块进行移位获得最终的二维DCT运算结果。当完成所有运算后,输入下一个子块进行运算。
其中一维行DCT运算模块将输入矩阵X按照Z=TX进行一维行DCT运算得到8×8的中间结果矩阵Z,利用T矩阵代替A矩阵对输入矩阵X进行近似变换,由于T矩阵只包括±1,因此只使用加法器、减法器就可以实现DCT变换功能。一维列DCT运算模块同样利用T矩阵对其输入信号(即中间结果矩阵Z的转置(Z)T)进行近似变换,得到初始输出矩阵Y0=T(Z)T=TXTTT,最后利用移位模块将初始输出矩阵Y0进行移位得到最终的输出矩阵Y,根据Ef矩阵确定移位方式,使得初始输出矩阵Y0=TXTTT对应相乘Ef矩阵。移位可以通过电路的连线实现,比如如果要把一个12位的数据右移三位,则直接在输出的连接时,输出的1到9位分别对应连接数据的4-12位,剩余的10、11、12都连接12位,从而保证符号位正确;移位根据Ef矩阵确定,基于列变换的结果TXTTT对应相乘Ef矩阵。本发明的Ef矩阵中的值均为2-n,利用控制信号,对一维列DCT运算模块的输出分别进行移位实现最终的输出矩阵
Figure BDA0002318806560000111
以将系数a,e,g设置为0,c设置为
Figure BDA0002318806560000112
b,d,f均设置为
Figure BDA0002318806560000113
为例,T矩阵为
Figure BDA0002318806560000114
根据T矩阵进行一维行DCT变换的方式为:
Figure BDA0002318806560000115
其中f(0)~f(7)分别为8×8的像素块图像数据输入矩阵中第一行至第八行的数据,F(0)~F(7)分别是中间结果矩阵中第一行至第八行的数据,整体只使用加法器、减法器电路,一维行列DCT运算模块采用同样的变换方式,可以采用相同的电路结构,只有输入信号和输出信号位宽的不同,行DCT运算模块输入9位,输出11位,列DCT运算模块输入11位,输出12位,均包含有一位符号位。在电路结构上,如图4所示是本实施例中T矩阵蝶形运算结构示意图,可以看出电路均仅采用加法器与减法器,同时复用了多次运算的加法器、减法器单元,来实现DCT运算电路。最后由于要处理Ef矩阵,因此在一维列DCT运算模块后加入移位模块。为实现输出像素块的每一个元素都对应相乘Ef矩阵,利用控制信号,对一维列DCT运算模块的输出分别进行移位。
寄存器阵列用于实现中间运算结果的保存与转置,如图5,寄存器阵列由64个11位的寄存器R0~R63组成,组合成8×8阵列的形式。每个寄存器都有单独的行位选使能信号、列位选使能信号、复位信号和数据选择输入信号。只要行位选使能信号、列位选使能信号中有一个使能信号有效,寄存器便处于正常工作状态。通过复位信号可以直接对寄存器存储结果进行复位。数据选择输入信号用于实现寄存器中数据的移位,当电路工作在行输入模式的时候,数据选择信号置1,寄存器的输入为上方寄存器的输出,从而实现数据的不间断写入。当电路工作在列输出模式的时候,数据选择信号置0,寄存器的输入为右侧寄存器的输出,从而实现数据的不间断读出。并且在读出时保证输出的数据k0,k1,k2,k3,k4,k5,k6,k7分别为寄存器R56,R48,R40,R32,R24,R16,R8,R0中的数据。由此,便实现了中间运算结果矩阵的转置。
64个寄存器分别用于保存中间结果矩阵的8×8像素块的11位数据,利用状态控制器,用于控制64个寄存器的行列模式和读写数据切换。状态控制器由一个状态机组成,一共具有三种状态:空闲状态、行数据输入状态和列数据输出状态。状态机的不同状态对应着电路不同的工作模式,控制着转置寄存器与电路中其他模块的连接,控制着数据流的方向,使电路能够进行正确地进行二维DCT运算。空闲状态时状态控制器切断64个寄存器的位选信号,使之无法读写数据。当接受收开始信号后,状态控制器进入行数据输入状态。行数据输入状态时,每一行的8个寄存器为一组同时进行数据的接收,每一行寄存器的位选信号逐步打开,通过移位,使得一维行DCT运算模块产生的中间结果矩阵数据从上到下逐步写入。当接收完中间结果矩阵后进入列数据输出状态,列数据输出状态时,每一列的8个寄存器为一组同时进行数据的输出,每一列寄存器的位选信号逐步打开,状态控制器控制64个寄存器向一维列DCT运算模块输出保存的中间结果矩阵数据。
综上所述,本发明利用SDCT的思想,将系数矩阵拆分为两个矩阵,在电路中分别实现,同时提出一种新的系数设置方式对系数矩阵的系数进行变换,基于此改进了D矩阵和T矩阵,实现了电路复杂度、精确度和功耗的平衡,使得本发明的Ef矩阵中的数据均为2-n,因此可以通过移位实现最终的
Figure BDA0002318806560000131
无需增加资源,也无需加入到量化过程中,而从而大大提高了图像压缩的精确度。而其他的此类DCT的Ef矩阵均需处理根号和小数,如图3所示的RDCT的Ef矩阵示意图,只能以整数形式代替小数,在量化过程中处理,从而损失了精度。另外在T矩阵实现过程中,多次利用奇偶分解法,如图4,实现电路的复用,简化矩阵形式,从而简化电路。
对提出的结构进行运算复杂度分析,实现本发明的一维DCT运算方法的结构一共使用了8个加法器,8个减法器,由于加法器,减法器面积相近,可近似视为总共使用16个加法器。对比传统DCT的54个加法器,复杂度降低约70.4%。通过实验仿真得到,本发明的一维DCT变换结构功耗为0.502mw,对比传统DCT,功耗下降了91.8%。同时Lena还原图像对比原图像的PSNR为41.99,接近传统精确DCT的图像还原精度,近似结构产生的图像细节损失几乎可以忽略不计。
本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其他各种具体变形和组合,这些变形和组合仍然在本发明的保护范围之内。

Claims (8)

1.一种基于系数矩阵变换的一维DCT运算方法,其特征在于,包括如下步骤:
步骤一、设置系数b、d、f均为
Figure FDA0002318806550000011
系数a、c、e、g的其中一个为
Figure FDA0002318806550000012
另外三个为0;
步骤二、对输入数据f(0)-f(7)进行一维DCT变换得到运算结果F(0)-F(7),其中一维DCT的变换公式为式(1):
Figure FDA0002318806550000013
2.根据权利要求1所述的基于系数矩阵变换的一维DCT运算方法,其特征在于,将所述步骤二中式(1)的变换公式进行奇偶分解得到式(2):
Figure FDA0002318806550000014
利用式(2)作为变换公式对输入数据f(0)-f(7)进行矩阵变换得到一维DCT的运算结果F(0)-F(7)。
3.根据权利要求1或2所述的基于系数矩阵变换的一维DCT运算方法,其特征在于,所述步骤一中将系数c设为
Figure FDA0002318806550000015
系数a、e、g设为0。
4.一种基于系数矩阵变换的二维DCT运算方法,其特征在于,对输入矩阵X进行二维DCT变换得到的经过二维DCT变换后的输出矩阵Y,二维DCT的变换公式为式(3):
Figure FDA0002318806550000016
其中
Figure FDA0002318806550000017
表示两边矩阵的对应元素相乘,输入矩阵X和输出矩阵Y均为8×8矩阵;
矩阵
Figure FDA0002318806550000021
TT为矩阵T的转置,矩阵T根据式(4)计算,
A=DT (4)
其中矩阵
Figure FDA0002318806550000022
矩阵
Figure FDA0002318806550000023
矩阵A中的系数b、d、f均设置为
Figure FDA0002318806550000024
系数a、c、e、g的其中一个设置为
Figure FDA0002318806550000025
另外三个均设置为0。
5.根据权利要求4所述的基于系数矩阵变换的二维DCT运算方法,其特征在于,矩阵A中将系数c设为
Figure FDA0002318806550000026
系数a、e、g设为0,则矩阵
Figure FDA0002318806550000027
6.一种基于系数矩阵变换的二维DCT变换装置,包括一维行DCT运算模块、一维列DCT运算模块和寄存器阵列,8×8的输入矩阵X按行依次输入所述一维行DCT运算模块,其特征在于,所述二维DCT变换装置还包括移位模块;
所述一维行DCT运算模块将输入矩阵X按照式(5)进行一维行DCT运算得到8×8的中间结果矩阵Z保存到所述寄存器阵列中;
Z=TX (5)
其中矩阵T根据A=DT计算,
矩阵
Figure FDA0002318806550000031
矩阵
Figure FDA0002318806550000032
矩阵A中的系数b、d、f均设置为
Figure FDA0002318806550000033
系数a、c、e、g的其中一个设置为
Figure FDA0002318806550000034
另外三个均设置为0;
所述寄存器阵列将所述中间结果矩阵Z按列依次输入所述一维列DCT运算模块,所述一维列DCT运算模块获得所述中间结果矩阵Z的转置(Z)T,所述一维列DCT运算模块按照式(6)对所述中间结果矩阵Z的转置(Z)T进行一维列DCT运算得到初始输出矩阵Y0,
Y0=T(Z)T=TXTTT (6)
所述一维列DCT运算模块将所述初始输出矩阵Y0输出到所述移位模块,所述移位模块将所述初始输出矩阵Y0进行移位得到所述二维DCT运算装置最终的输出矩阵Y,使得输出矩阵Y满足
Figure FDA0002318806550000035
其中
Figure FDA0002318806550000036
表示两边矩阵的对应元素相乘,矩阵
Figure FDA0002318806550000037
7.根据权利要求6所述的基于系数矩阵变换的二维DCT变换装置,其特征在于,所述矩阵A中将系数c设为
Figure FDA0002318806550000041
系数a、e、g设为0,则矩阵
Figure FDA0002318806550000042
8.根据权利要求6或7所述的基于系数矩阵变换的二维DCT变换装置,其特征在于,
所述寄存器阵列包括8行8列共64个寄存器,所述64个寄存器分别用于保存所述中间结果矩阵Z的8×8组数据;
所述DCT变换装置还包括状态控制器,用于控制所述64个寄存器;
所述状态控制器包括空闲状态、行数据输入状态和列数据输出状态,空闲状态时所述状态控制器切断所述64个寄存器与所述一维行DCT运算模块和一维列DCT运算模块的连接;行数据输入状态时所述状态控制器控制第一行的8个寄存器为一组依次接收所述一维行DCT运算模块产生的中间结果矩阵Z的每一行数据,其余每一行的8个寄存器为一组依次接收上一行的8个寄存器存储的数据,直到将所述中间结果矩阵Z的8行数据都分别存储到64个寄存器中;列数据输出状态时所述状态控制器控制每一列的8个寄存器为一组依次将其存储的数据输出到下一列的8个寄存器中,最后一列的8个寄存器为一组依次将其存储的数据输出到所述一维列DCT运算模块中。
CN201911290160.3A 2019-12-16 2019-12-16 一种基于系数矩阵变换的dct运算方法及其变换装置 Expired - Fee Related CN110933445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911290160.3A CN110933445B (zh) 2019-12-16 2019-12-16 一种基于系数矩阵变换的dct运算方法及其变换装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911290160.3A CN110933445B (zh) 2019-12-16 2019-12-16 一种基于系数矩阵变换的dct运算方法及其变换装置

Publications (2)

Publication Number Publication Date
CN110933445A true CN110933445A (zh) 2020-03-27
CN110933445B CN110933445B (zh) 2021-06-08

Family

ID=69862568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911290160.3A Expired - Fee Related CN110933445B (zh) 2019-12-16 2019-12-16 一种基于系数矩阵变换的dct运算方法及其变换装置

Country Status (1)

Country Link
CN (1) CN110933445B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112449199A (zh) * 2020-11-19 2021-03-05 河南工程学院 一种并行位矢量变换部分积相加的一维dct/idct变换器
CN112637606A (zh) * 2020-12-30 2021-04-09 乐鑫信息科技(上海)股份有限公司 二维dct/idct装置和方法以及jpeg编解码装置和方法
CN112804531A (zh) * 2021-04-12 2021-05-14 北京电信易通信息技术股份有限公司 一种基于hls构建hevc编码芯片的方法
CN115955217A (zh) * 2023-03-15 2023-04-11 南京沁恒微电子股份有限公司 一种低复杂度数字滤波器系数自适应组合编码方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236808A1 (en) * 2003-05-19 2004-11-25 Industrial Technology Research Institute Method and apparatus of constructing a hardware architecture for transform functions
CN107277551A (zh) * 2017-06-12 2017-10-20 电子科技大学 一种近似离散余弦变换方法
CN108040257A (zh) * 2017-11-20 2018-05-15 深圳市维海德技术股份有限公司 一种二维dct硬件实现方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236808A1 (en) * 2003-05-19 2004-11-25 Industrial Technology Research Institute Method and apparatus of constructing a hardware architecture for transform functions
CN107277551A (zh) * 2017-06-12 2017-10-20 电子科技大学 一种近似离散余弦变换方法
CN108040257A (zh) * 2017-11-20 2018-05-15 深圳市维海德技术股份有限公司 一种二维dct硬件实现方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘维 等: "二维DCT快速算法及硬件实现", 《电子元器件应用》 *
陈普跃 等: "二维DCT快速算法及FPGA实现", 《测试技术卷》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112449199A (zh) * 2020-11-19 2021-03-05 河南工程学院 一种并行位矢量变换部分积相加的一维dct/idct变换器
CN112637606A (zh) * 2020-12-30 2021-04-09 乐鑫信息科技(上海)股份有限公司 二维dct/idct装置和方法以及jpeg编解码装置和方法
CN112637606B (zh) * 2020-12-30 2023-07-14 乐鑫信息科技(上海)股份有限公司 二维dct/idct装置和方法以及jpeg编解码装置和方法
CN112804531A (zh) * 2021-04-12 2021-05-14 北京电信易通信息技术股份有限公司 一种基于hls构建hevc编码芯片的方法
CN115955217A (zh) * 2023-03-15 2023-04-11 南京沁恒微电子股份有限公司 一种低复杂度数字滤波器系数自适应组合编码方法及系统

Also Published As

Publication number Publication date
CN110933445B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN110933445B (zh) 一种基于系数矩阵变换的dct运算方法及其变换装置
US5319724A (en) Apparatus and method for compressing still images
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
US5659362A (en) VLSI circuit structure for implementing JPEG image compression standard
CN104867165B (zh) 一种基于变换域下采样技术的图像压缩方法
US5636152A (en) Two-dimensional inverse discrete cosine transform processor
CN114007079A (zh) 变换电路、方法、装置和编码器
CN107105245A (zh) 基于tms320c6678芯片的高速jpeg图像压缩方法
Zhou et al. Effective hardware accelerator for 2d dct/idct using improved loeffler architecture
Park et al. Low power reconfigurable DCT design based on sharing multiplication
US5748514A (en) Forward and inverse discrete cosine transform circuits
CN108184127B (zh) 一种可配置的多尺寸dct变换硬件复用架构
CN109451307B (zh) 一种基于近似系数的一维dct运算方法和dct变换装置
CN108881923A (zh) 减少jpeg编解码行缓冲容量的方法
CN101562744B (zh) 二维反变换装置
CN110737869B (zh) Dct/idct乘法器电路优化方法及应用
EP1317850A2 (en) Data transfer between rgb and ycrcb color spaces for dct interface
US20050141776A1 (en) Low power, high performance transform coprocessor for video compression
JP3934290B2 (ja) 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置
CN113191935A (zh) 一种用于高斯金字塔构建的可重构硬件加速方法与系统
Patil et al. Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform
CN113286150B (zh) 用于视频编解码的变换编码硬件实现方法、装置及设备
JP3385866B2 (ja) 逆量子化・逆dct回路
CN101472180B (zh) 哈达马德(Hadamard)反变换转换器和系统
CN101316367B (zh) 一种视频编解码标准中的二维反变换方法及其实现电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210608

Termination date: 20211216

CF01 Termination of patent right due to non-payment of annual fee