网站大量收购独家精品文档,联系QQ:2885784924

基于FPGA的快速DCT医学图像的压缩算法.doc

基于FPGA的快速DCT医学图像的压缩算法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的快速DCT医学图像的压缩算法.doc

  基于FPGA的快速DCT医学图像的压缩算法   Abstract:A FPGA design for fast Discrete Cosine transform(DCT) implementation architecture used in medical image pression is presented. The architecture is achieved using ron deposition. First, the 8×8 tensional DCT is deposed into tensional DCT, simplifying the coefficient matrix, ber of adder and multiplier to minimum, and using the parallel pipeline technology of FPGA, the putation time is greatly saved and image processing speed is improved.   Key age pression;Ron deposition;Parallel pipeline   1 引 言   DCT变换是视频压缩编解码器中很重要的一部分,被广泛应用于各种视频格式的编码算法中,例如:JPEG,MPEG1,MPEG2,H.264等[1]。DCT变换虽然不能直接降低数据量,但是它可以利用图像的统计特性使得各种降低数据量的方法更为有效地工作。它能把图像的能量集中到少数的几个数据上,在很大程度上消除数据间的冗余性和相关性。   一般来讲,医学图像都比较大,例如腹部横断面的CT图像(512×512的bmp图像),对于此类图像,如果要在整体上进行DCT变换,将耗费大量的时间,因此我们需要将整幅图像切割成若干的子块,对子块进行DCT变换,在本研究中采用的是8×8pixels的字块。   二维DCT变换需要进行大量的运算,大量的乘法及加法运算严重影响了变换速度,为减少运算次数,缩短运算时间,人们作了不懈的努力,并提出了多种快速算法,但处理过程中数学运算仍然相当复杂。我们在前人工作的基础上,对用行列分解法实现DCT变换的方法进行了优化,并充分利用了FPGA器件的嵌入式乘法器及存储器资源,明显缩短了变换时间。   2 DCT算法原理   2.1 一维DCT算法原理   设{x(n)}表示N个有限的一维实数信号序列集合,n=0,1,2,…,N-1,则一维DCT定义为:   y(k)=2Nc(k)∑N-1n=0x(n)cos((2n+1)kπ2N),   其中c(k)=12 k=0   1 k=1,2,…,N-1   2.2 二维DCT算法   对于一个N×N的图像,x(i,j)表示图像样值,其二维DCT变换公式如下:   y(u,v)=2Ne(u)e(v)∑N-1i=0∑N-1j=0x(i,j)   cos(2i+1)uπ2Ncos(2j+1)vπ2N,   其中   e(u),e(v)=12 u,v=0   1 u,v≠0(u,v=0,1,2,…,N1)   生 物 医 学 工 程 研 究 第28卷第3期 王 宁,等:基于FPGA的快速DCT医学图像的压缩算法 二维DCT变换具有很高的复杂度,从上式我们可以看出,二维DCT可以分解为两个一维的DCT变换:   y(u,v)=2Ne(v)∑N-1j=0   2Ne(u)∑N-1i=0x(i,j)cos(2i+1)uπ2Ncos(2j+1)vπ2N,   首先对二维DCT进行一维列变换:   x(u,j)=2Ne(u)∑N-1i=0x(i,j)cos(2i+1)uπ2N   转置之后再次进行一维列变换:   y(u,v)=2Ne(v)∑N-1j=0x(u,j)cos(2i+1)vπ2N   至此,我们就完成了一次完整的二维DCT变换。   y3   y4   y5   y6   y7=d〖〗ddddddd   aceg-g-e-c-a   bf-f-b-b-ffb   c-g-a-eeag-c   d-d-ddd-d-dd   e-agc-c-ga-e   f-bb-f-fb-bf   g-ec-aa-ce-gx0   x1   x2   x3   x4   x5   x6   x7,   其中a   b   c   d   e   f   g=12cosπ/16   cosπ/8   cos3π/16   cosπ/4   cos5π/16   cos3π/8   cos7π/16   要完成一次列向量的DCT变换需要64次乘法和56次加法,根据三角函数性质和矩阵系数对称性,上式可以分解为两个矩阵表达式:   y0   y2

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档