当前位置: 首页 > 专利查询>天津大学专利>正文

基于FPGA的三维整数DCT变换系统及其变换方法技术方案

技术编号:9599847 阅读:151 留言:0更新日期:2014-01-23 04:28
本发明专利技术公开了基于FPGA的三维整数DCT变换系统及其变换方法,选取数字图像里的相似块群做整数三维DCT变换,该系统包括数字图像的原始数据输入端、控制模块、系统的整数1D-DCT变换模块、以及针对数字图像中任意n个相似图像块的多组三维整数DCT变换单元,该单元依序包括第一串/并转换模块、第一整数1D-DCT变换模块、转置RAM模块、第二串/并转换模块、第二整数1D-DCT变换模块以及并/串转换模块。与现有技术相比,本发明专利技术专门用于FPGA硬件实现的三维DCT变换算法,模块化设计是FPGA设计中一个很重要的技巧,它能够使一个大型设计的分工协作、仿真测试更加容易,使代码维护或升级更加便利,方法简单,算法复杂度低,容易实现。

【技术实现步骤摘要】
基于FPGA的三维整数DCT变换系统及其变换方法
本专利技术涉及数字图像处理中的数字图像去噪技术,尤其是涉及一种有关FPGA(FieldProgrammableGateArray,现场可编程门阵列)数字图像去噪的方法。
技术介绍
随着多媒体技术的发展,数字图像处理已经成为众多应用系统的核心和基础。数字图像在获取和传输的过程中容易受到各种因素的影响而引入不同类型的噪声。而图像去噪的主要目的是通过对带有各种不同类型噪声的图像进行处理,提高信息识别的准确性。随着对图像分辨率的要求越来越高,图像的数据量越来越大,对于图像处理速率的要求也越来越高。因此实用的图像去噪系统都要求能实现高速处理。目前图像去噪高速处理广泛使用软件实现,采用并行计算机系统以提高处理速度,但是并行计算机系统存在着成本高、系统规模大等问题。随着FPGA技术的发展,可为图像去噪算法设计相应的专用硬件结构来实现,不仅满足了实时性,同时满足了低功耗和便携性的要求,正成为实现图像处理系统的一个热门研究领域。但是在目前,基于FPGA的DCT变换均是二维。数字图像去噪算法的核心是DCT(DiscreteCosineTransform,离散余弦变换)变换。离散余弦变换是一种与傅里叶变换(FourierTransform)紧密相关的数学运算。在傅里叶级数展开式中,如果被展开的函数是实偶数,那么其傅里叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换(DCT变换)。由于DCT变换具有非常好的去相关性和能量集中特性,经过DCT变换后,信号能量集中分布在低频区域,再对高频系数进行抑制后再进行逆DCT变换,就可以达到数字图像去噪的目标。DCT变换常被认为是对语音和图像信号进行变换的最佳方法。但是传统的DCT变换含有大量的浮点数操作与乘法运算,增加了运算复杂度,为了工程实现得需要,国内外许多学者花费了很大精力去寻找或改进DCT变换的快速算法。例如,针对于作为数码相机的核心器件的电荷耦合器件CCD(Charge-coupledDevice)的噪声类型,提出了一种基于三维DCT变换的CCD图像的去噪方法。由于数字图像存在明显的结构和纹理信息(这也是图像和噪声的区别),因此图像中每一个像素不是孤立存在的。由于自然图像中存在着大量的相似结构或者冗余信息,即使是一个存在着较多边缘或纹理的图像块,仍然可以在整个图像中找到它的相似块。图像的自相似性如图1所示,其中黑色方框内的图像块都具有很强的相似性。将这些相似图像块重叠在一起,构成一个相似块群,再进行DCT变换。这样对任一个图像块,不管块内像素之间的相关性如何,在对其所在的相似块群进行三维DCT变换后,都能获得很好的能量集中特性。而噪声信号的相关性很弱,变换后会发散在所有系数上,这样可以通过抑制高频系数达到降噪的目标。相似块群内的图像块彼此之间具有的相关性越高,经过DCT变换后能量会越集中,通过收缩高频系数得到的去噪效果就会越好。但是针对于三维DCT变换,只是存在简单的基于软件实现方法,运算复杂,速度慢,且不能直接移植到FPGA硬件中。为了更高效快速的实现CCD噪声类型的去噪,必须设计一种快速的基于FPGA的三维DCT变换器和变换方法。
技术实现思路
为了克服现有技术中DCT变换算法存在的问题,本专利技术提出一种基于FPGA的三维整数DCT变换器及其变换方法,为了更低成本地进行图像去噪,达到图像去噪系统实用化的目标,采用FPGA硬件化的方法进行图像去噪。利用FPGA,用户不仅可以方便地设计出所需要的硬件逻辑功能,而且可以进行静态重复编写,使系统的硬件功能可以像软件一样来编程修改,大大提高了系统设计的灵活性和通用性。同时基于FPGA设计的系统能在硬件上实现流水线和并行化,这样就大大加快了系统的运行速度。基于FPGA的图像去噪算法实现与基于软件的图像算法实现相比具有明显的速度优势,具有更广泛的应用价值。本专利技术提出一种基于FPGA的三维整数DCT变换系统,选取数字图像里的相似块群做整数三维DCT变换,其特征在于,该系统包括数字图像的原始数据输入端、控制模块、系统的整数1D-DCT变换模块、以及针对数字图像中任意n个相似图像块的多组三维整数DCT变换单元,每组三维整数DCT变换单元依序包括第一串/并转换模块、第一整数1D-DCT变换模块、转置RAM模块、第二串/并转换模块、第二整数1D-DCT变换模块以及并/串转换模块;其中:控制模块用于设定整个系统的运算时序,即:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D-DCT变换完毕后,进入y方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D-DCT变换完毕后,进入z方向的1D-DCT变换,完成一次相似块的二维DCT变换;系统的整数1D-DCT变换模块,用于实现系统的整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法,该模块分别连接三维整数DCT变换单元和系统输出端;第一串/并转换模块,用于数字图像原始数据的串行读取与x方向的1D-DCT变换的n组并行输入数据需求的转换;转置RAM模块,用于将每个相似图像块x方向的1D-DCT变换后的第一行的n个数据分别存在n个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(n)存入RAM7的第一个存储单元,下一行的n个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到所有行运算都完成;第二串/并转换模块,用于转置RAM模块串行输出与y方向的1D-DCT变换n组并行输入数据需求的转换;并/串转换模块,用于将每个相似图像块y方向的1D-DCT变换结果串行输出,使得相似图像块的串行输出正好构成z方向1D-DCT变换的输入数据;第一、第二整数1D-DCT变换模块,用于实现三维整数DCT变换单元的整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;在每个相似图像块中的二维DCT变换由两个整数1D-DCT变换共同完成,由一个n×nRAM将x方向1D-DCT变换结果存储起来,直到x方向的n组n点1D-DCT变换全部完成后,再按照y方向读取8×8RAM中的图像数据。所述转置RAM模块在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到第一串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到第二串/并转换模块中;如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输;这里正是利用了乒乓操作完成数据的无缝缓冲与处理;乒乓操作通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。本专利技术本文档来自技高网
...
基于FPGA的三维整数DCT变换系统及其变换方法

【技术保护点】
一种基于FPGA的三维整数DCT变换系统,选取数字图像里的相似块群做整数三维DCT变换,其特征在于,该系统包括数字图像的原始数据输入端、控制模块、系统的整数1D?DCT变换模块、以及针对数字图像中任意n个相似图像块的多组三维整数DCT变换单元,该单元依序包括第一串/并转换模块、第一整数1D?DCT变换模块、转置RAM模块、第二串/并转换模块、第二整数1D?DCT变换模块以及并/串转换模块,其中:控制模块用于设定整个系统的运算时序,即:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D?DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D?DCT变换完毕后,进入y方向的1D?DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D?DCT变换完毕后,进入z方向的1D?DCT变换,完成一次相似块的二维DCT变换;第一串/并转换模块,用于数字图像原始数据的串行读取与x方向的1D?DCT变换的n组并行输入数据需求的转换;转置RAM模块,用于将每个相似图像块x方向的1D?DCT变换后的第一行的n个数据分别存在n个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(n)存入RAM7的第一个存储单元,下一行的n个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到所有行运算都完成;第二串/并转换模块,用于转置RAM模块串行输出与y方向的1D?DCT变换n组并行输入数据需求的转换;并/串转换模块,用于将每个相似图像块y方向的1D?DCT变换结果串行输出,使得相似图像块的串行输出正好构成z方向1D?DCT变换的输入数据;第一、第二整数1D?DCT变换模块,用于实现整数1D?DCT变换;在HEVC中,每个8点1D?DCT变换采用蝶形快速算法;在每个相似图像块中的二维DCT变换由两个整数1D?DCT变换共同完成,由一个n×nRAM将x方向1D?DCT变换结果存储起来,直到x方向的n组n点1D?DCT变换全部完成后,再按照y方向读取8×8RAM中的图像数据。...

【技术特征摘要】
1.一种基于FPGA的三维整数DCT变换系统,选取数字图像里的相似块群做整数三维DCT变换,其特征在于,该系统包括数字图像的原始数据输入端、控制模块、系统的整数1D-DCT变换模块、以及针对数字图像中任意n个相似图像块的多组三维整数DCT变换单元,每组三维整数DCT变换单元依序包括第一串/并转换模块、第一整数1D-DCT变换模块、转置RAM模块、第二串/并转换模块、第二整数1D-DCT变换模块以及并/串转换模块;其中:控制模块用于设定整个系统的运算时序,即:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D-DCT变换完毕后,进入y方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D-DCT变换完毕后,进入z方向的1D-DCT变换,完成一次相似块的二维DCT变换;系统的整数1D-DCT变换模块,用于实现系统的整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法,该模块分别连接三维整数DCT变换单元和系统输出端;第一串/并转换模块,用于数字图像原始数据的串行读取与x方向的1D-DCT变换的n组并行输入数据需求的转换;转置RAM模块,用于将每个相似图像块x方向的1D-DCT变换后的第一行的n个数据分别存在n个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(n)存入RAM7的第一个存储单元,下一行的n个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到所有行运算都完成;第二串/并转换模块,用于转置RAM模块串行输出与y方向的1D-DCT变换n组并行输入数据需求的转换;并/串转换模块,用于将每个相似图像块y方向的1D-DCT变换结果串行输出,使得相似图像块的串行输出正好构成z方向1D-DCT变换的输入数据;第一、第二整数1D-DCT变换模块,用于实现三维整数DCT变换单元的整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;在每个相似图像块中的二维DCT变换由两个整数1D-DCT变换共同完成,由一个n×nRAM将x方向1D-DCT变换结果存储起来,直到x方向的n组n点1D-DCT变换全部完成后,再按照y方向读取8×8RAM中的图像数据。2.如权利要求1所述的基于FPGA的三维整数DCT变换系统,其特征在于,所述转置RAM模块在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到第一串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换...

【专利技术属性】
技术研发人员:杨敬钰邓磊侯春萍
申请(专利权)人:天津大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利