CN107018420B - 一种低功耗二维离散余弦变换方法及其电路 - Google Patents

一种低功耗二维离散余弦变换方法及其电路 Download PDF

Info

Publication number
CN107018420B
CN107018420B CN201710316127.8A CN201710316127A CN107018420B CN 107018420 B CN107018420 B CN 107018420B CN 201710316127 A CN201710316127 A CN 201710316127A CN 107018420 B CN107018420 B CN 107018420B
Authority
CN
China
Prior art keywords
column
data
coefficient
row
dct
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.)
Expired - Fee Related
Application number
CN201710316127.8A
Other languages
English (en)
Other versions
CN107018420A (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 CN201710316127.8A priority Critical patent/CN107018420B/zh
Publication of CN107018420A publication Critical patent/CN107018420A/zh
Application granted granted Critical
Publication of CN107018420B publication Critical patent/CN107018420B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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]

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)

Abstract

一种低功耗二维离散余弦变换方法及其电路,属于集成电路技术领域。本发明根据CSD编码后的余弦系数,通过移位加的方式精确计算最重要的行DCT系数Fx(0)、Fx(1)和列DCT系数Fy(0)和Fy(1),截断输入数据低三位后降精度计算比较重要的行DCT系数Fx(2)、Fx(3)、Fx(4)和列DCT系数Fy(2)、Fy(3)和Fy(4),直接放弃计算最不重要的DCT系数Fx(5)、Fx(6)、Fx(7)和列DCT系数Fy(5)、Fy(6)和Fy(7);本发明通过降精度计算和放弃计算部分重要程度较低的DCT系数,减少运算单元的使用,降低电路硬件复杂度,较小影响计算精度的前提下有效降低电路功耗,适用于计算精度要求适中,但功耗要求非常低的运算场景。

Description

一种低功耗二维离散余弦变换方法及其电路
技术领域
本发明属于集成电路技术领域,特别涉及一种低功耗二维离散余弦变换方法及其电路。
背景技术
二维离散余弦变换(DCT)电路作为信号处理领域常用的数字集成电路模块,具有很好的解相关特性和能量压缩特性,可以将复杂的数据压缩为非常简单的数据,因此常常运用在数字图像处理、语音处理以及视频压缩等领域。二维DCT电路还是JPEG(JointPhotographic Experts Group,联合图像专家组)标准中的核心运算单元,是MPEG(MovingPicture Expert Group,运动图像专家组)标准中的重要运算单元,在图像和视频的编解码中起着重要的作用。
{f(x,y)}表示8×8个二维实数信号序列的集合,x,y=0,1,…,7,8×8矩阵的二维DCT变换定义如下:
其中根据二维DCT变换的可分离性,8×8矩阵的二维DCT变换可以转化为8行一维DCT变换和8列一维DCT变换,其中一维DCT变换定义如下:
图1是采用了行列分离法的二维DCT电路的结构示意图,首先将外部数据f(x,y)输入至行DCT变换单元进行一维DCT运算,将计算结果存储进中间的转置存储器,然后将转置后的中间计算结果输入至列DCT变换单元再次进行一维DCT运算,得到的便是最终的二维DCT变换结果。
由图1可以看出二维DCT电路的核心是其内部两个一维DCT变换单元,所以一维DCT电路架构对整体电路的面积和功耗有着非常大的影响。传统二维DCT电路中的一维DCT变换单元由于精确计算全部DCT系数,需使用较多运算单元,使得传统二维DCT电路的功耗比较大,难以适用于功耗要求非常低的应用场景。
由于一维DCT模块计算所得DCT系数的重要程度各有不同,F(0)至F(7)的重要程度依次减弱,所以可以降精度计算甚至放弃计算重要程度较低的DCT系数,最小程度的影响计算精度前提下,达到降低二维DCT电路功耗的目的。
发明内容
本发明所要解决的,就是针对上述传统二维DCT电路存在的功耗比较大的问题,提出一种低功耗二维离散余弦变换方法及其电路,采用行列分离法,用于完成8×8像素矩阵的二维DCT变换,通过截断输入数据低位的方法降精度计算部分重要程度较低的DCT系数,放弃计算部分重要程度最低的DCT系数,从而减少运算单元的数量,在保证一定计算精度的情况下,实现低功耗二维离散余弦变换方法及其电路。
为实现上述目的,本发明采用如下技术方案:
一种低功耗二维离散余弦变换方法,包括以下步骤:
步骤一:将8×8像素矩阵数据逐行输入到行DCT变换单元进行行DCT变换,所述行DCT变换的具体做法为:根据CSD编码后的余弦系数,通过移位加的方式计算像素矩阵每一行数据一维DCT变换的系数,其中精确计算行DCT系数Fx(0)和Fx(1),截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4),放弃计算行DCT系数Fx(5)、Fx(6)和Fx(7);
步骤二:将行DCT变换后的中间计算结果输入到移位寄存器阵列保存;
步骤三:移位寄存器阵列将步骤二所述中间计算结果逐列输入到列DCT变换单元进行列DCT变换,所述列DCT变换的具体做法为:根据CSD编码后的余弦系数,通过移位加的方式计算中间计算结果每一列数据一维DCT变换的系数,其中精确计算列DCT系数Fy(0)和Fy(1),截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4),放弃计算列DCT系数Fy(5)、Fy(6)和Fy(7)。
具体的,所述精确计算行DCT系数Fx(0)和Fx(1)的具体算法为:Fx(0)=d(X0+X7)+d(X1+X6)+d(X2+X5)+d(X3+X4),Fx(1)=a(X0-X7)+c(X1-X6)+e(X2-X5)+g(X3-X4),所述精确计算列DCT系数Fy(0)和Fy(1)的具体算法为:Fy(0)=d(Y0+Y7)+d(Y1+Y6)+d(Y2+Y5)+d(Y3+Y4),Fy(1)=a(Y0-Y7)+c(Y1-Y6)+e(Y2-Y5)+g(Y3-Y4),其中a-g是余弦系数,且a=cos(π/16),b=cos(2π/16),c=cos(3π/16),d=cos(4π/16),e=cos(5π/16),f=cos(6π/16),g=cos(7π/16),X0-X7表示所述8×8像素矩阵的每一行8个数据,Y0-Y7表示所述中间计算结果的每一列8个数据。
具体的,所述截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4)的具体算法为:Fx(2)=b(Z0+Z7)+f(Z1+Z6)-f(Z2+Z5)-b(Z3+Z4),Fx(3)=c(Z0-Z7)-g(Z1-Z6)-a(Z2-Z5)-e(Z3-Z4),Fx(4)=d(Z0+Z7)-d(Z1+Z6)-d(Z2+Z5)+d(Z3+Z4),所述截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4)的具体算法为:Fy(2)=b(W0+W7)+f(W1+W6)-f(W2+W5)-b(W3+W4),Fy(3)=c(W0-W7)-g(W1-W6)-a(W2-W5)-e(W3-W4),Fy(4)=d(W0+W7)-d(W1+W6)-d(W2+W5)+d(W3+W4),其中Z0-Z7表示所述8×8像素矩阵每一行截断低三位后的数据,W0-W7表示所述中间计算结果每一列截断低三位后的数据。
具体的,所述余弦系数a-g的CSD编码表为:
具体的,所述移位寄存器阵列储存所述行DCT变换后的中间计算结果时,自上而下逐行移入中间计算结果,直到所有的中间计算结果都存储进移位寄存器阵列;将中间计算结果输出到列DCT变换单元时,所述移位寄存器阵列将转置后的中间计算结果自左向右逐列移出,直到所有的中间计算结果都移出了移位寄存器阵列。
一种低功耗二维离散余弦变换电路,包括状态控制模块、行DCT变换单元、移位寄存器阵列、数据选择模块和列DCT变换单元,
所述行DCT变换单元的输入端输入外部输入的8×8像素矩阵数据,其输出端连接移位寄存器阵列的数据输入端,所述行DCT变换单元根据CSD编码后的余弦系数,通过移位加的方式计算像素矩阵每一行数据一维DCT变换的系数,其中精确计算行DCT系数Fx(0)和Fx(1),截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4),放弃计算行DCT系数Fx(5)、Fx(6)和Fx(7);
所述状态控制模块的输入端连接外部控制信号,其第一输出端连接所述移位寄存器阵列的控制信号输入端控制所述移位寄存器阵列的使能信号,其第二输出端连接所述数据选择模块的控制信号输入端控制所述数据选择模块的选择信号;
所述数据选择模块包括第一输入端和与所述移位寄存器阵列的输出端连接的第二输入端,所述数据选择模块第一输入端的输入数据为0,所述数据选择模块的输出端连接所述列DCT变换模块的输入端,所述数据选择模块根据其控制信号输入端输入的选择信号选择输出到所述列DCT变换单元的数据,选择信号为0时输入第一输入端的数据,选择信号为1时输入第二输入端的数据;
所述列DCT变换单元的输出端为所述低功耗二维离散余弦变换电路的输出端,所述列DCT变换单元根据CSD编码后的余弦系数,通过移位加的方式计算中间计算结果每一列数据一维DCT变换的系数,其中精确计算列DCT系数Fy(0)和Fy(1),截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4),放弃计算列DCT系数Fy(5)、Fy(6)和Fy(7)。
具体的,所述移位寄存器阵列由40组11位寄存器组成,每5组为一行,一共有8行,构成8×5的矩阵阵列;行变换状态时,移位寄存器阵列自上而下逐行移入行DCT变换单元的计算结果,直到所有的中间计算结果都存储进移位寄存器阵列;列变换状态时,移位寄存器阵列将转置后的中间计算结果自左向右逐列移出,并输出到数据选择模块,直到所有的中间计算结果都移出了移位寄存器阵列。
具体的,所述状态控制模块通过一个有限状态机完成计算状态的控制,该状态机一共有三种状态,分别为初始状态、行变换状态和列变换状态,根据外部控制信号和内部数据变化进行状态转换。
本发明的有益效果为,通过降精度计算和放弃计算部分重要程度较低的DCT系数,减少运算单元的使用,降低电路硬件复杂度,较小影响计算精度的前提下有效降低电路功耗,适用于计算精度要求适中,但是功耗要求非常低的运算场景。
附图说明
图1为采用行列分离法实现的二维离散余弦变换DCT电路的结构示意图;
图2为本发明提出的低功耗二维离散余弦变换DCT电路整体架构图;
图3为状态控制模块的状态转移示意图;
图4为行DCT变换单元计算DCT系数F(1)的逻辑电路图;
图5为行DCT变换单元计算DCT系数F(2)的逻辑电路图;
图6为移位寄存器阵列结构示意图;
图7为移位寄存器逻辑电路图;
图8为数据选择模块逻辑电路图。
具体实施方式
下面结合附图对本发明进行详细的描述
本发明提供一种低功耗二维离散余弦变换DCT方法及其电路,精确计算最重要的行DCT系数Fx(0)、Fx(1)和列DCT系数Fy(0)和Fy(1),截断输入数据低三位后降精度计算比较重要的行DCT系数Fx(2)、Fx(3)、Fx(4)和列DCT系数Fy(2)、Fy(3)和Fy(4),减少了部分运算单元,直接放弃计算最不重要的DCT系数Fx(5)、Fx(6)、Fx(7)和列DCT系数Fy(5)、Fy(6)和Fy(7),进一步降低了电路硬件复杂度。由于降精度计算的DCT系数和舍弃的DCT系数重要程度相对较低,二维DCT电路的计算精度只会受到比较小的影响,但是随着运算单元明显减少,电路硬件复杂度下降,功耗也明显降低。
如图2所示,该二维DCT电路由状态控制模块、行DCT变换单元、移位寄存器阵列、数据选择模块、列DCT变换单元这五个模块组成,每次完成一个8×8像素矩阵的二维DCT变换。首先外部控制信号将状态控制模块中的有限状态机由初始状态转换为行变换状态,并输出相应的控制信号,行DCT变换单元开始进入计算状态。行DCT变换单元开始每个时钟接收8个9位的外部输入数据进行一维DCT运算,由于行DCT变换单元放弃计算DCT系数Fx(5)、Fx(6)、Fx(7),所以输入矩阵中每行数据进行一维DCT变换后会得到5个11位的计算结果,一共有8行这样的计算结果;因此,移位寄存器阵列由40组11位寄存器组成,每5组为一行,一共有8行,构成8×5的矩阵阵列;所以每次计算得到5个11位的计算结果并将其自上而下逐行移入移位寄存器阵列,持续8个时钟周期直到8×8像素矩阵中每一行数据都计算完毕,并且所有计算结果都存储进移位寄存器阵列。所有行DCT变换结束后,状态控制模块根据内部控制信号的变化将状态由行变换状态转换为列变换状态,并输出相应控制信号,列DCT变换单元开始进入计算状态。移位寄存器阵列开始自左向右逐列移出中间计算结果,每个时钟周期输出一列数据至数据选择模块,数据选择模块再根据控制信号选择这列数据并输入至列DCT变换单元,进行一维DCT运算。此时得到的计算结果就是最终的输出数据,由于移位寄存器共有5列,所以持续5个时钟周期直到移位寄存器阵列中每一列中间结果都计算完毕,得到所有二维DCT变换后的数据。
数据选择模块根据控制信号决定输入至列DCT变换单元的数据,行变换状态时,控制信号选择0输入至列DCT变换单元,停止该单元的计算;列变换状态时,控制信号选择移位寄存器阵列输出端的数据进入列DCT变换单元,对转置后的中间计算结果逐列进行一维DCT运算。
状态控制模块输出的信号负责控制移位寄存器阵列和数据选择模块,能够决定移位寄存器阵列中的数据移动方向和列DCT变换单元的输入数据来源;状态控制模块主要由一个有限状态机构成,该状态机一共有三种状态,分别为初始状态、行变换状态和列变换状态,根据外部控制信号和内部数据变化进行状态转换。状态转移示意图如图3所示,其中enable_row[7:0]表示移位寄存器阵列的行使能信号,enable_row[0]-enable_row[7]分别自上而下控制第1行至第8行,enable_column[4:0]代表移位寄存器阵列的列使能信号,enable_column[0]-enable_column[4]分别自左向右控制第1列至第5列,使能信号为1打开寄存器,为0时关闭寄存器;judge_in表示数据选择模块的选择信号,为0时表示输入0,为1时表示输入中间计算结果。start是系统开始信号,start为1时代表系统已经可以开始计算了,此时状态机由初始状态跳转到行变换状态,并将judge_in置0,enable_row清零。存储第一组计算结果时,enable_row[0]置为1,数据移入第一行寄存器,存储第二组计算结果时,再将enable_row[1]置为1,第一行数据移入第二行寄存器,计算结果移入第一行寄存器,依次类推。直到enable_row[7]为1时,行DCT变换的全部结果已经移进寄存器阵列,不需要再做任何移位存储操作,状态会由行变换状态跳转到列变换状态,并将judge_in置1,enable_column全部置1。同理,中间计算结果右移过程中列使能信号自左向右依次变为0,enable_column[4]为0时代表全部中间计算结果已经移出寄存器阵列,此时所有计算结束,状态由列变换状态跳转到初始状态,开始下一组图像数据的处理。
如果直接按照一维DCT定义式计算8点一维DCT变换,计算每个DCT系数将会需要8次乘法和7次加法,完成一个8点一维DCT变换至少需要64次乘法和56次加法,计算量非常的大,不利于图像的实时处理。为了减少运算量,利用定义式中余弦系数矩阵的对称性进行奇偶项分离,得到下面两个矩阵乘法:
其中f(0)-f(7)是输入的图像数据,F(0)-F(7)是计算得到一维的DCT系数,a-g是余弦系数,且a=cos(π/16),b=cos(2π/16),c=cos(3π/16),d=cos(4π/16),e=cos(5π/16),f=cos(6π/16),g=cos(7π/16)。经过奇偶项分离的一维DCT变换,计算每个系数时减少了4次乘法和4次加法,并且F(0)与F(4)的乘法运算完全一样,所以最终只需要28次乘法运算与32次加法运算。本发明的行DCT变换单元与列DCT变换单元不直接采用功耗较大的乘法器,而是先将余弦系数进行CSD编码,通过移位加的方式计算DCT系数,CSD编码如表1所示:
表1、8位余弦系数的CSD编码表
本发明中的一维DCT变换单元需要精确计算行DCT系数Fx(0)、Fx(1)和列DCT系数Fy(0)、Fy(1),以计算Fx(1)为例,图4显示的是行DCT变换单元计算Fx(1)时的逻辑电路图,其中X0-X7对应输入数据f(0)-f(7),行DCT变换单元的输入数据位宽为9位,即X0[9:0]-X7[9:0]。从该逻辑电路图可以看出,输入数据根据余弦系数a、c、e、g中1与的权重进行移位相加,实现乘加操作。
列DCT变换单元计算Fx(1)时的逻辑电路图与行DCT变换单元类似,但是输入数据的位宽有所区别,列DCT变换单元的输入数据为Y0-Y7,Y0-Y7表示所述中间计算结果的每一列8个数据,位宽为11位,即Y0[10:0]-Y7[10:0]。
在计算重要程度较低的行DCT系数Fx(2)、Fx(3)、Fx(4)和列DCT系数Fy(2)、Fy(3)和Fy(4)时,输入数据需要截断低三位再进行运算。以计算Fx(2)为例,图5显示的是行DCT变换单元计算Fx(2)时的逻辑电路图,其中X0-X7对应输入数据f(0)-f(7),Z0-Z7对应输入截断低三位后的数据,行DCT变换单元的输入数据位宽为9位,截断低三位后为X0[9:3]-X7[9:3]。在这个逻辑电路图中,输入数据是根据余弦系数b、f中1与的权重进行移位相加,实现乘加操作。
列DCT变换单元计算Fy(2)时的逻辑电路图仍然与行DCT变换单元类似,但是输入数据位宽为11位,W0-W7对应中间计算结果每一列截断低三位后的数据,截断低三位后为X0[10:3]-X7[10:3]。从图4、图5可以看出,行DCT变换单元与列DCT变换单元计算DCT系数的电路结构相同,只是输入数据的位宽有所不同,行DCT变换单元的输入数据位宽为9位,列DCT变换单元的输入数据位宽为11位。
本发明采用的移位寄存器阵列由40组11位寄存器组成,每5组为一行,一共8行,构成8×5的矩阵阵列,如图6所示,其中阵列自左向右分别存储行DCT系数Fx(4)-Fx(0)。行变换状态时,移位寄存器阵列受行使能信号enable_row[0]-enable_row[7]的控制,自上而下逐行移入行DCT变换单元的计算结果,直至所有中间计算结果存储完毕;在列变换状态时,移位寄存器阵列受列使能信号enable_column[0]-enable_column[4]控制,自左向右逐列移出中间计算结果,并输出到数据选择模块。图7显示的是移位寄存器逻辑电路图,数据端有来自上面寄存器或者左边寄存器的数据,通过一个2选1数据选择器进行选择,当enable_row信号为1时表明正在进行行变换,选取上面寄存器的数据,当enable_row信号为0时表明正在进行列DCT变换,选取左边寄存器的数据。使能端由行使能信号和列使能信号同时控制,两个使能信号通过一个或门输入到寄存器的使能端。
如图8所示,本发明的数据选择模块主要由多路复用器组成,输入分别为0和中间计算结果,输出端连接列DCT变换单元,其中中间计算结果由移位寄存器阵列输出至数据选择模块,每次输出8个11位数据。选择信号judge_in来自状态控制模块,行变换状态时judge_in为0,多路复用器选择0进入列DCT变换单元,列变换状态时judge_in为1,多路复用器选择中间计算结果进入列DCT变换单元。
本发明提出的低功耗二维DCT电路精确计算最重要的行DCT系数Fx(0)、Fx(1)和列DCT系数Fy(0)和Fy(1),截断输入数据低三位后降精度计算比较重要的行DCT系数Fx(2)、Fx(3)、Fx(4)和列DCT系数Fy(2)、Fy(3)和Fy(4),减少了部分运算单元,直接放弃计算最不重要的DCT系数Fx(5)、Fx(6)、Fx(7)和列DCT系数Fy(5)、Fy(6)和Fy(7),节约了硬件资源,降低了电路功耗。经过实验仿真得到,与精确计算全部DCT系数的传统二维DCT电路相比,本发明的计算精度PSNR仅仅下降了6.94dB,但是电路面积下降了35.2%,功耗下降了42.3%,在保证一定计算精度的情况下,实现了低功耗二维DCT电路。
本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (8)

1.一种低功耗二维离散余弦变换方法,其特征在于,包括以下步骤:
步骤一:将8×8像素矩阵数据逐行输入到行DCT变换单元进行行DCT变换,所述行DCT变换的具体做法为:根据CSD编码后的余弦系数,通过移位加的方式计算像素矩阵每一行数据一维DCT变换的系数,其中精确计算行DCT系数Fx(0)和Fx(1),截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4),放弃计算行DCT系数Fx(5)、Fx(6)和Fx(7);
步骤二:将行DCT变换后的中间计算结果输入到移位寄存器阵列保存;
步骤三:移位寄存器阵列将步骤二所述中间计算结果逐列输入到列DCT变换单元进行列DCT变换,所述列DCT变换的具体做法为:根据CSD编码后的余弦系数,通过移位加的方式计算中间计算结果每一列数据一维DCT变换的系数,其中精确计算列DCT系数Fy(0)和Fy(1),截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4),放弃计算列DCT系数Fy(5)、Fy(6)和Fy(7)。
2.根据权利要求1所述的低功耗二维离散余弦变换方法,其特征在于,所述精确计算行DCT系数Fx(0)和Fx(1)的具体算法为:Fx(0)=d(X0+X7)+d(X1+X6)+d(X2+X5)+d(X3+X4),Fx(1)=a(X0-X7)+c(X1-X6)+e(X2-X5)+g(X3-X4),所述精确计算列DCT系数Fy(0)和Fy(1)的具体算法为:Fy(0)=d(Y0+Y7)+d(Y1+Y6)+d(Y2+Y5)+d(Y3+Y4),Fy(1)=a(Y0-Y7)+c(Y1-Y6)+e(Y2-Y5)+g(Y3-Y4),其中a-g是余弦系数,且a=cos(π/16),b=cos(2π/16),c=cos(3π/16),d=cos(4π/16),e=cos(5π/16),f=cos(6π/16),g=cos(7π/16),X0-X7表示所述8×8像素矩阵的每一行8个数据,Y0-Y7表示所述中间计算结果的每一列8个数据。
3.根据权利要求2所述的低功耗二维离散余弦变换方法,其特征在于,所述截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4)的具体算法为:Fx(2)=b(Z0+Z7)+f(Z1+Z6)-f(Z2+Z5)-b(Z3+Z4),Fx(3)=c(Z0-Z7)-g(Z1-Z6)-a(Z2-Z5)-e(Z3-Z4),Fx(4)=d(Z0+Z7)-d(Z1+Z6)-d(Z2+Z5)+d(Z3+Z4),所述截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4)的具体算法为:Fy(2)=b(W0+W7)+f(W1+W6)-f(W2+W5)-b(W3+W4),Fy(3)=c(W0-W7)-g(W1-W6)-a(W2-W5)-e(W3-W4),Fy(4)=d(W0+W7)-d(W1+W6)-d(W2+W5)+d(W3+W4),其中Z0-Z7表示所述8×8像素矩阵每一行截断低三位后的数据,W0-W7表示所述中间计算结果每一列截断低三位后的数据。
4.根据权利要求3所述的低功耗二维离散余弦变换方法,其特征在于,所述余弦系数a-g的CSD编码表为:
5.根据权利要求1所述的低功耗二维离散余弦变换方法,其特征在于,所述移位寄存器阵列储存所述行DCT变换后的中间计算结果时,自上而下逐行移入中间计算结果,直到所有的中间计算结果都存储进移位寄存器阵列;将中间计算结果输出到列DCT变换单元时,所述移位寄存器阵列将转置后的中间计算结果自左向右逐列移出,直到所有的中间计算结果都移出了移位寄存器阵列。
6.一种低功耗二维离散余弦变换电路,其特征在于,包括状态控制模块、行DCT变换单元、移位寄存器阵列、数据选择模块和列DCT变换单元,
所述行DCT变换单元的输入端输入外部输入的8×8像素矩阵数据,其输出端连接移位寄存器阵列的数据输入端,所述行DCT变换单元根据CSD编码后的余弦系数,通过移位加的方式计算像素矩阵每一行数据一维DCT变换的系数,其中精确计算行DCT系数Fx(0)和Fx(1),截断输入数据的低三位后计算行DCT系数Fx(2)、Fx(3)和Fx(4),放弃计算行DCT系数Fx(5)、Fx(6)和Fx(7);
所述状态控制模块的输入端连接外部控制信号,其第一输出端连接所述移位寄存器阵列的控制信号输入端控制所述移位寄存器阵列的使能信号,其第二输出端连接所述数据选择模块的控制信号输入端控制所述数据选择模块的选择信号;
所述数据选择模块包括第一输入端和与所述移位寄存器阵列的输出端连接的第二输入端,所述数据选择模块第一输入端的输入数据为0,所述数据选择模块的输出端连接所述列DCT变换模块的输入端,所述数据选择模块根据其控制信号输入端输入的选择信号选择输出到所述列DCT变换单元的数据,选择信号为0时输入第一输入端的数据,选择信号为1时输入第二输入端的数据;
所述列DCT变换单元的输出端为所述低功耗二维离散余弦变换电路的输出端,所述列DCT变换单元根据CSD编码后的余弦系数,通过移位加的方式计算中间计算结果每一列数据一维DCT变换的系数,其中精确计算列DCT系数Fy(0)和Fy(1),截断输入数据的低三位后计算列DCT系数Fy(2)、Fy(3)和Fy(4),放弃计算列DCT系数Fy(5)、Fy(6)和Fy(7)。
7.根据权利要求6所述的低功耗二维离散余弦变换电路,其特征在于,所述移位寄存器阵列由40组11位寄存器组成,每5组为一行,一共有8行,构成8×5的矩阵阵列;行变换状态时,移位寄存器阵列自上而下逐行移入行DCT变换单元的计算结果,直到所有的中间计算结果都存储进移位寄存器阵列;列变换状态时,移位寄存器阵列将转置后的中间计算结果自左向右逐列移出,并输出到数据选择模块,直到所有的中间计算结果都移出了移位寄存器阵列。
8.根据权利要求6所述的低功耗二维离散余弦变换电路,其特征在于,所述状态控制模块通过一个有限状态机完成计算状态的控制,该状态机一共有三种状态,分别为初始状态、行变换状态和列变换状态,根据外部控制信号和内部数据变化进行状态转换。
CN201710316127.8A 2017-05-08 2017-05-08 一种低功耗二维离散余弦变换方法及其电路 Expired - Fee Related CN107018420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710316127.8A CN107018420B (zh) 2017-05-08 2017-05-08 一种低功耗二维离散余弦变换方法及其电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710316127.8A CN107018420B (zh) 2017-05-08 2017-05-08 一种低功耗二维离散余弦变换方法及其电路

Publications (2)

Publication Number Publication Date
CN107018420A CN107018420A (zh) 2017-08-04
CN107018420B true CN107018420B (zh) 2019-07-12

Family

ID=59450583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710316127.8A Expired - Fee Related CN107018420B (zh) 2017-05-08 2017-05-08 一种低功耗二维离散余弦变换方法及其电路

Country Status (1)

Country Link
CN (1) CN107018420B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451307B (zh) * 2018-11-26 2021-01-08 电子科技大学 一种基于近似系数的一维dct运算方法和dct变换装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714576A (zh) * 2002-11-22 2005-12-28 皇家飞利浦电子股份有限公司 用于可变长度编码数据流的转码器
JP2006127536A (ja) * 2005-11-28 2006-05-18 Matsushita Electric Ind Co Ltd 離散コサイン変換装置
CN1874510A (zh) * 2006-06-09 2006-12-06 清华大学 一种用于视频编码的整数离散余弦变换方法
CN106028049A (zh) * 2016-07-06 2016-10-12 电子科技大学 一种二维dct图像处理器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100846870B1 (ko) * 2006-07-06 2008-07-16 한국전자통신연구원 다수의 기본 블록들의 다차원 구성을 통한 다단계 변환장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714576A (zh) * 2002-11-22 2005-12-28 皇家飞利浦电子股份有限公司 用于可变长度编码数据流的转码器
JP2006127536A (ja) * 2005-11-28 2006-05-18 Matsushita Electric Ind Co Ltd 離散コサイン変換装置
CN1874510A (zh) * 2006-06-09 2006-12-06 清华大学 一种用于视频编码的整数离散余弦变换方法
CN106028049A (zh) * 2016-07-06 2016-10-12 电子科技大学 一种二维dct图像处理器

Also Published As

Publication number Publication date
CN107018420A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
EP0506111B1 (en) DCT/IDCT processor and data processing method
CN102369552B (zh) 存储器子系统
CN109472350A (zh) 一种基于块循环稀疏矩阵的神经网络加速系统
Mohanty et al. Memory footprint reduction for power-efficient realization of 2-D finite impulse response filters
CN107239824A (zh) 用于实现稀疏卷积神经网络加速器的装置和方法
JPH0526229B2 (zh)
CN100531393C (zh) 以管线架构应用于离散余弦变换与反离散余弦变换的方法
JPH01201764A (ja) 神経回路網およびその回路網に用いる回路
CN101374236B (zh) 用于视频运动估计加速器的半像素插值器
US6223193B1 (en) Macroblock variance estimator for MPEG-2 video encoder
Gong et al. New cost-effective VLSI implementation of a 2-D discrete cosine transform and its inverse
CN102857756B (zh) 适于hevc标准的变换编码器
Shen et al. Overview of parallel processing approaches to image and video compression
CN109993275A (zh) 一种信号处理方法及装置
CN107018420B (zh) 一种低功耗二维离散余弦变换方法及其电路
EP1065884A1 (en) Dct arithmetic device
CN1981534A (zh) 图像编码装置、图像解码装置以及用于其中的集成电路
CN101426134A (zh) 用于视频编解码的硬件装置及方法
CN114007079A (zh) 变换电路、方法、装置和编码器
Silveira et al. A hardware design for the multi-transform module of the versatile video coding standard
CN104811738B (zh) 基于资源共享的低开销多标准8×8一维离散余弦变换电路
Hsiao et al. A cost-efficient and fully-pipelinable architecture for DCT/IDCT
CN203279074U (zh) 二维离散余弦变换/逆离散余弦变换电路
Patil et al. Low Power High Speed VLSI Architecture for 1-D Discrete Wavelet Transform
Fan et al. 3D-DCT chip design for 3D multi-view video compression

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: 20190712

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