CN104093032A - 一种低功耗二维fdct变换方法 - Google Patents
一种低功耗二维fdct变换方法 Download PDFInfo
- Publication number
- CN104093032A CN104093032A CN201410338890.7A CN201410338890A CN104093032A CN 104093032 A CN104093032 A CN 104093032A CN 201410338890 A CN201410338890 A CN 201410338890A CN 104093032 A CN104093032 A CN 104093032A
- Authority
- CN
- China
- Prior art keywords
- low
- fdct
- power consumption
- consumption
- dimension
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种低功耗二维FDCT变换方法,适用于无线多媒体传感器网络(WMSNs)。本发明从低功耗的角度出发,消除传统DCT变换中的乘法操作,利用余弦因子的周期旋转特性,提出了一种基于共享乘积因子的移位累加单元的低功耗二维FDCT变换方法,该方法通过共享余弦系数矩阵中的乘积因子,最大限度的降低二维FDCT的运算量,实现功耗降低的目的。本文提出的DCT变换方法最终能在单个时钟内实现八位像素数据的编码操作,同时不要求数据同时输入,采用流水线思想大大提高了电路的性能。本发明拥有的低功耗及高性能的特点,使其非常适用于WMSNs网络节点中的专用图像处理器设计。
Description
技术领域
本发明涉及一种二维FDCT变换方法,具体涉及一种用于WMSNs等应用场景的低功耗二维FDCT变换方法。
背景技术
无线传感器网络在最近几年是一个相对比较新的研究领域,它被认为是21世纪里最重要的一门技术,它是无线通信领域的研究焦点。它的应用吸引了军事、工业以及学术领域的很大的关注。由于人类感知的信息是通过图像和声音来表达的,而市场上又出现了CMOS摄像头和麦克风等低成本硬件,所以发展出了无线多媒体传感器网络。无线多媒体传感器网络在传统的无线传感器网络中加入了音频和视频等多媒体信息,能广泛的用于媒体监控网络、只能交通、环境监控等安全领域。
在无线多媒体传感器网络中,为了保证无线多媒体传感器网络采集到信息的正确性、精确性和网络的容错性,无线传感器网络部署了大量的节点,系统的功耗会随着节点的增多而增加。同时,无线多媒体传感器网络对多媒体信息的处理过程要更加复杂,运算量更大,消耗的功耗更多,而在多数情况下,无线传感器网络是采用电池供电,电池的电量是有限的,所以就要求要尽可能的降低系统的功耗来延长电池供电时间。
低功耗的设计是一个复杂的课题,就流程而言,包括功耗建模、评估以及优化等,就设计抽象层次而言,包括工艺级、RTL级和算法级等所有抽象层次。在工艺级,优先考虑的是减少I/O功耗。电路级的低功耗技术,主要是针对动态功耗而言,具体涉及的方面有电源电压、物理电容、开关频率等方面,其中动态功耗与电源电压的平方成正比关系,通过降低电源电压可以大幅降低动态功耗。在门级电路设计和综合阶段所采用的功耗优化技术有很多种,主要包括:时序调整、公因子提取、工艺映射、门级尺寸优化、逻辑分解等。RTL级降低功耗主要是采用减少寄存器不必要的跳变来完成,这种跳变并不会对电路逻辑功能的输出产生影响,也就是输出值未改变而电路在跳变,从而导致了功耗的增加。常用的低功耗结构有两种:并行结构和流水线结构,这两种结构不仅常用于高速电路中用来提高电路吞吐量,在保持电路原有的吞吐量不变时,还可以用来作为降低功耗的手段。降低功耗在芯片的整个设计流程中考虑得越早越好,这样可以最有效地降低功耗,避免反复设计造成的成本浪费。
算法级上的功耗对整个系统的功耗有重要的影响,采用的方式是使用低功耗的压缩算法。在压缩算法中,JPEG编解码是最常用的压缩算法,而JPEG编解码电路中,功耗占用比例最高的是DCT模块,所以如何改进DCT算法决定了整个无线传感器网络的功耗。
发明内容
本发明目的在于提供一种用于无线多媒体传感器网络中的低功耗二维FDCT变换方法,其在有效降低电路所需功耗的同时还具有高速率和高吞吐量的优点,只需一个周期就能够完成和7个余弦系数的乘法运算,等同于把一个串行运算转换成7个并行运行,节省了大量的运算时间,实现功耗的明显降低。非常适用于WMSNs的应用场合。
本发明的技术方案是:
一种低功耗二维FDCT变换方法,该方法包括以下步骤:
(1)将输入的像素数据先进行位数扩展操作,之后送入由寄存器和复选MUX构成的零值旁路逻辑,避免对零值进行复杂的乘法运算;
(2)若输入值非零,则将该值送入七个乘积因子的移位累加单元,乘积因子的选择由状态机控制;
(3)将像素数据与固定余弦因子的乘积结果,通过交叉选择逻辑,送入八个不同的累加器;
(4)由控制信号控制累加寄存器累加的中间结果,在完成累加后,将最终的累加结果赋给移位寄存器;8个移位寄存器从8个累加寄存器获取累加结果,然后在八个时钟周期内分别移位输出到转置RAM中;
(5)在第一维变换按行/列方向结束后,对其结果再按列/行方向做第二维的变换;按行扫描的地址顺序存入行变换后的数据,当写指针加到56时,开始按列扫描顺序读取数据进行列变换,实现将一维FDCT的变换结果进行转置的功能;
(6)控制模块产生逻辑控制信号,协调整个变换过程中各模块的工作,保证模块的流水线操作;在变换数据开始输出的前一个时钟周期,将ready信号保持一个时钟的高电平,提示二维FDC变换结果的有效输出。
优选的,采用基于共享乘积因子的移位累加单元实现FDCT变换中的乘法操作。
优选的,优化出满足计算精度要求的最少共享乘积因子集合。
优选的,用带符号的二进制小数对固定余弦系数进行截断,在截断操作前去除矩阵中的计算冗余。
优选的,设计交叉选择逻辑,对输入像素数据与固定余弦系数的机械相乘结果进行调整排序,将每个时钟送入的像素数据与八个相应矩阵余弦因子的乘积结果分别送入正确的累加器。
优选的,用状态机控制每级流水线中,共享乘积因子在系数矩阵中每行所对应的符号。
优选的,平衡各个变换结果的计算路径,每个共享乘积因子通过2-3级加法器,实现与固定余弦系数的乘法操作。
本发明的技术效果有:
本发明提供的基于共享乘积因子的移位累加单元实现FDCT变换中的乘法操作,避免了传统FDCT变换中使用ROM形成的复杂查找表和直接使用占用面积很大的乘法器,有效降低功耗的同时节省了所需的硬件资源。共享乘积因子的移位累加单元由预乘积单元和移位累加单元构成。优化出满足计算精度要求的最小数目的共享乘积因子,通过预乘积单元实现和像素数据的乘法操作。移位累加单元通过数据选择单元选择需要进行累加的数值,经过8个时钟周期就能得到一维FDCT的变换结果,最后通过流水线寄存器将并行输出的8个变换数据转化为串行输出,存储到转置RAM中。通过控制单元产生转置RAM的读地址信号,以及乘累加单元和数据选择单元的控制信号。最后通过PTPX工具对低功耗二维DCT变换器进行功耗测试,测试结果表明本专利提出的低功耗二维DCT变换器的整体功耗仅有16.639mW,占用的逻辑门数约为72583。
附图说明
图1为本发明实施例中低功耗二维FDCT变换器的离散余弦变换单元的结构图;
图2为本发明实施例中低功耗二维FDCT变换器的整体架构;
图3为本发明实施例中共享乘积因子阵列的实现方法示意图;
图4为本发明实施例中累加单元结构图;
图5为本发明实施例中控制单元的结构图;
图6为本发明实施例中双端口RAM行变换写地址memh的具体实现过程;
图7为本发明实施例中双端口RAM列变换读地址memv的具体实现过程。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例:
下面结合附图对发明的技术方案进行详细说明。本发明目的在于提供一种用于无线多媒体传感器网络中的低功耗二维FDCT变换方法。该方法的具体实现如图2所示。图2为二维FDCT的整体架构,从中可以看出,该方法由离散余弦变换单元、控制单元和转置RAM这三部分构成。
图1显示了离散余弦变换单元的结构图。如图1所示,首先经过预处理单元通过零值旁路逻辑避免对零值进行复杂的乘法运算,并将输入的图像数据减去128,使输入数据的取值范围满足离散余弦变换的取值要求。对于8点的DCT变换,由于余弦因子具有的周期旋转特性,除去符号的不同,这些余弦因子只有7个固定的值。因此可将预处理单元的输出数据与系数矩阵中的7个固定系数相乘。对于乘法操作,本发明不是使用ROM形成的复杂查找表或直接使用占用面积很大的乘法器,而是使用基于共享乘积因子的移位累加实现乘法运算。因此本发明的离散余弦变换核由共享乘积因子阵列和累加器构成。在本发明中,将这7个固定余弦系数都采用二进制表示的近似值,如下表1所示。
表1 固定余弦系数值的表示
图3显示了共享乘积因子阵列的实现方法。在图3的实际运算中,只提取表1中的分子部分,有效的将离散余弦变换中的小数运算转化为整数运算。假设输入的像素数据为x,则图3中的5M表示x的五倍,其它同理。7M<<8表示将x的7倍再向左移8位,即x的112倍,其它同理。首先得出输入像素数据x与共享乘积因子的乘积,之后通过移位相加的方式得到最终的乘积结果。以一维FDCT变换结果的最后一个数据为例,首先对像素数据x进行符号位扩展,之后求得25与x的乘积。由于25=1+8+16,即可通过将x左移3位的值、左移4位的值和x相加来实现。最后对移位相加后的结果取第七位之前的数值,便能得到最终的变换结果。将图像数据矩阵写成行向量的形式,则一维FDCT的变换可如下式所示.。图像数据的行向量分别乘以系数矩阵的每一列,生成一个1*8的向量。
由上式可知,,其中代表系数矩阵中的第j列,第i行的数据。并且在获得一列变换结果的过程中,输入的图像数据每次乘的余弦系数值都是不同的,所以需要交叉选择逻辑选择需要进行累加的数值。像素数据按行扫描的方式输入。为了得到向量,首先将每个像素数据分别乘以系数矩阵的第j行数据,并将8个中间结果存入寄存器reg0~reg7中。图4显示了累加单元的结构图,累加单元将交叉逻辑单元选择出来的数据进行累加,8个时钟周期就能够得到一维FDCT的变换结果。最后采用流水线寄存器将并行输出的8个变换结果转化为串行输出,缓存到转置RAM中。
为了协调二维离散余弦变换过程中各个子模块的工作,保证模块的流水线处理,要依据每个控制信号的工作方式,设计控制单元,它是整个前向离散余弦变换模块正常工作的关键。在VLSI设计中,对于复杂的控制逻辑设计,通常会采用状态机的方法来实现,但由于本设计是基于流水线的操作处理,每条数据路径在每个子模块中的延迟已被固化。因此,只需要根据时钟信号和启动信号,在基于设计的固化模块延迟的基础上,生成各个子模块所需的控制信号。图2中的load信号用于将变换数据同步锁住,保证余弦变换过程中数据的稳定性。在完成每一行/列图像数据的一维FDCT的最后一个时钟周期,会触发load信号并将一维变换结果输送到转置RAM中。load信号将保持一个时钟周期的置为有效时间,并在下个时钟周期的上升沿,将剩余的7个数据同步赋值给7个移位寄存器,这7个移位寄存器必须要等到load信号有效时,才能进行数据的更新。
控制单元的主要功能有,产生像素的位置信号、产生转置RAM的读写地址信号memv和memh、产生乘积项的符号、产生数据选择器的选择信号。控制单元的结构图如图5所示。从图中可以看出,控制单元由五个三位的计数器构成。第一个计数器用于生成index信号。每输入一个像素数据index的三位计数器加一,因此若变换核的输入为一个8*8的图像子块,信号index则标志图像数据所处的列数。当index信号计数到7后,数值转变为零,代表新一行数据的输入。信号start表示变换核开始读取8*8数据块。根据index的数值,生成系数矩阵index行的符号sgn,若系数为正值,则符号标志位sgn为零值,若系数为负值,则符号标志位sgn为1。同时根据index的数值,能够产生数据选择信号select送入交叉逻辑选择单元。控制单元其余四个计数器构成了两个二维计数器,分别用于生成行写地址信号memh,和列读地址信号memv。信号memh由计数结果Addhl和Addhh构成,信号memv由计数结果Addvh和Addv1构成。
由于本发明通过两次一维FDCT变换实现二维FDCT变换,因此需要一个转置存储器用于缓存中间结果。本发明通过一个双端口RAM实现转置存储器的功能。图6和7显示了转置RAM子模块的具体实现过程:首先按照图6左图中的地址顺序,按行写入行变换后的结果,当写到红色地址56时,列变换开始按图7左图中的地址顺序读取数据进行列变换,当64个地址都写完时,列变换正好读完第一列的数据,此时行变换按照图6右图中的地址顺序继续写入行变换后的结果,当写完绿色地址56时,列变换正好读完绿色地址63处的数据,开始按照图7右方的地址顺序继续读取行变换后的数据进行列变换,如此反复,最终只需54个时钟周期就能得到二维FDCT的变换结果。
为了验证本发明的正确性和优越性,将通过Synopsys公司的Prime Time PX(PTPX)工具来完成低功耗二维FDCT变换器的功耗测试。读入低功耗二维FDCT变换器在工作模式下编译链接生成的目标文件和芯片前端设计代码综合所生成的网表,输出二维FDCT变换器所消耗的功耗结果,本发明结果表明在0.18um工艺、100MHz工作频率和1.8V工作电压等条件下,本专利提出的低功耗二维DCT变换器的整体功耗仅有16.639mW,占用的逻辑门数约为72583,充分说明了本发明的可用价值。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种低功耗二维FDCT变换方法,其特征在于,该方法包括以下步骤:
(1)将输入的像素数据先进行位数扩展操作,之后送入由寄存器和复选MUX构成的零值旁路逻辑,避免对零值进行复杂的乘法运算;
(2)若输入值非零,则将该值送入七个乘积因子的移位累加单元,乘积因子的选择由状态机控制;
(3)将像素数据与固定余弦因子的乘积结果,通过交叉选择逻辑,送入八个不同的累加器;
(4)由控制信号控制累加寄存器累加的中间结果,在完成累加后,将最终的累加结果赋给移位寄存器;8个移位寄存器从8个累加寄存器获取累加结果,然后在八个时钟周期内分别移位输出到转置RAM中;
(5)在第一维变换按行/列方向结束后,对其结果再按列/行方向做第二维的变换;按行扫描的地址顺序存入行变换后的数据,当写指针加到56时,开始按列扫描顺序读取数据进行列变换,实现将一维FDCT的变换结果进行转置的功能;
(6)控制模块产生逻辑控制信号,协调整个变换过程中各模块的工作,保证模块的流水线操作;在变换数据开始输出的前一个时钟周期,将ready信号保持一个时钟的高电平,提示二维FDC变换结果的有效输出。
2.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于, 采用基于共享乘积因子的移位累加单元实现FDCT变换中的乘法操作。
3.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于,优化出满足计算精度要求的最少共享乘积因子集合。
4.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于,用带符号的二进制小数对固定余弦系数进行截断,在截断操作前去除矩阵中的计算冗余。
5.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于,设计交叉选择逻辑,对输入像素数据与固定余弦系数的机械相乘结果进行调整排序,将每个时钟送入的像素数据与八个相应矩阵余弦因子的乘积结果分别送入正确的累加器。
6.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于,用状态机控制每级流水线中,共享乘积因子在系数矩阵中每行所对应的符号。
7.根据权利要求1所述的低功耗二维FDCT变换方法,其特征在于,平衡各个变换结果的计算路径,每个共享乘积因子通过2-3级加法器,实现与固定余弦系数的乘法操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410338890.7A CN104093032A (zh) | 2014-07-16 | 2014-07-16 | 一种低功耗二维fdct变换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410338890.7A CN104093032A (zh) | 2014-07-16 | 2014-07-16 | 一种低功耗二维fdct变换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104093032A true CN104093032A (zh) | 2014-10-08 |
Family
ID=51640706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410338890.7A Pending CN104093032A (zh) | 2014-07-16 | 2014-07-16 | 一种低功耗二维fdct变换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104093032A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736549A (zh) * | 2020-06-11 | 2020-10-02 | 上海申瑞继保电气有限公司 | 产线节能辅助设备控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282918A (zh) * | 1999-07-30 | 2001-02-07 | Lg情报通信株式会社 | 存储器地址产生装置、移动站和数据读写方法 |
CN1553707A (zh) * | 2003-06-02 | 2004-12-08 | 杭州高特信息技术有限公司 | 一种dct快速变换结构 |
CN101046886A (zh) * | 2006-03-29 | 2007-10-03 | 华为技术有限公司 | 离散余弦变换处理方法及其装置 |
CN101330616A (zh) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | 视频解码过程中反离散余弦变换的硬件实现装置及方法 |
CN101489129A (zh) * | 2009-01-19 | 2009-07-22 | 山东大学 | 一种实现高速二维离散余弦变换的集成电路及方法 |
US20130329780A1 (en) * | 2012-06-08 | 2013-12-12 | Electronics And Telecommunications Research Institute | Inverse transform method for ultra-high resolution video codec |
-
2014
- 2014-07-16 CN CN201410338890.7A patent/CN104093032A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282918A (zh) * | 1999-07-30 | 2001-02-07 | Lg情报通信株式会社 | 存储器地址产生装置、移动站和数据读写方法 |
CN1553707A (zh) * | 2003-06-02 | 2004-12-08 | 杭州高特信息技术有限公司 | 一种dct快速变换结构 |
CN101046886A (zh) * | 2006-03-29 | 2007-10-03 | 华为技术有限公司 | 离散余弦变换处理方法及其装置 |
CN101330616A (zh) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | 视频解码过程中反离散余弦变换的硬件实现装置及方法 |
CN101489129A (zh) * | 2009-01-19 | 2009-07-22 | 山东大学 | 一种实现高速二维离散余弦变换的集成电路及方法 |
US20130329780A1 (en) * | 2012-06-08 | 2013-12-12 | Electronics And Telecommunications Research Institute | Inverse transform method for ultra-high resolution video codec |
Non-Patent Citations (2)
Title |
---|
李京等: "一种低功耗2DDCT/IDCT处理器设计", 《固体电子学研究与进展》 * |
薛峥: "基于图像处理应用的DCT/IDCT IP核的VLSI设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736549A (zh) * | 2020-06-11 | 2020-10-02 | 上海申瑞继保电气有限公司 | 产线节能辅助设备控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101782893B (zh) | 可重构数据处理平台 | |
EP3602278B1 (en) | Systems, methods, and apparatuses for tile matrix multiplication and accumulation | |
CN108268422A (zh) | 用于处理非常稀疏和超稀疏矩阵数据的硬件加速器架构 | |
CN109643233A (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
Sim et al. | An energy-efficient deep convolutional neural network inference processor with enhanced output stationary dataflow in 65-nm CMOS | |
CN101083643A (zh) | 一种低存储器开销的混合基fft处理器及其方法 | |
CN109952559A (zh) | 具有单独可选元素及成组复制的流式传输引擎 | |
CN103970720A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
US11823771B2 (en) | Streaming access memory device, system and method | |
CN102438149B (zh) | 一种基于可重构技术的avs反变换的实现方法 | |
EP4318275A1 (en) | Matrix multiplier and method for controlling matrix multiplier | |
CN109992305A (zh) | 用于将片寄存器对归零的系统和方法 | |
US20180189032A1 (en) | Apparatus and method for processing sparse data | |
CN109213525A (zh) | 具有快捷起始指令的流式传输引擎 | |
Paul et al. | MAHA: An energy-efficient malleable hardware accelerator for data-intensive applications | |
CN111783933A (zh) | 一种对深度卷积神经网络计算加速的、结合主存储器的数据载入装置的硬件电路设计及方法 | |
CN115917515A (zh) | 存储器处理单元核心架构 | |
CN114270305A (zh) | 具有转换电路系统的mac处理流水线和操作其的方法 | |
CN101082906A (zh) | 一种低存储器开销的固定基fft处理器及其方法 | |
Yang et al. | GQNA: Generic quantized DNN accelerator with weight-repetition-aware activation aggregating | |
Xia et al. | Reconfigurable spatial-parallel stochastic computing for accelerating sparse convolutional neural networks | |
Yin et al. | FPGA-based high-performance CNN accelerator architecture with high DSP utilization and efficient scheduling mode | |
CN104093032A (zh) | 一种低功耗二维fdct变换方法 | |
CN101398784A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141008 |
|
RJ01 | Rejection of invention patent application after publication |