CN103533378A - 基于fpga的三维整数dct变换系统及其变换方法 - Google Patents

基于fpga的三维整数dct变换系统及其变换方法 Download PDF

Info

Publication number
CN103533378A
CN103533378A CN201310467153.2A CN201310467153A CN103533378A CN 103533378 A CN103533378 A CN 103533378A CN 201310467153 A CN201310467153 A CN 201310467153A CN 103533378 A CN103533378 A CN 103533378A
Authority
CN
China
Prior art keywords
dct
conversion
similar
integer
data
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
CN201310467153.2A
Other languages
English (en)
Other versions
CN103533378B (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.)
Tianjin University
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN201310467153.2A priority Critical patent/CN103533378B/zh
Publication of CN103533378A publication Critical patent/CN103533378A/zh
Application granted granted Critical
Publication of CN103533378B publication Critical patent/CN103533378B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

基于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变换单元,该单元依序包括第一串/并转换模块、第一整数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中的图像数据。
所述转置RAM模块在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到串并转换模块中。如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输。这里正是利用了乒乓操作完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。
本发明还提出了一种基于FPGA的三维整数DCT变换方法,选取数字图像里的相似块群做整数三维DCT变换,该方法包括以下步骤:
步骤一,对数字图像原始数据进行串行读取与x方向的1D-DCT变换的n组并行输入数据需求的转换;
步骤二,实现整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;
步骤三,将每个相似图像块x方向的1D-DCT变换后的第一行的n个数据分别存在n个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(n)存入RAM7的第一个存储单元,下一行的n个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到所有行运算都完成;
步骤四,将串行输出转换为与y方向的1D-DCT变换n组并行输入数据需求;
步骤五,实现整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;
步骤六,将每个相似图像块y方向的1D-DCT变换结果串行输出,使得相似图像块的串行输出正好构成z方向1D-DCT变换的输入数据;
上述流程的运算时序由控制模块实现控制,该控制时序遵循:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D-DCT变换完毕后,进入y方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D-DCT变换完毕后,进入z方向的1D-DCT变换,完成一次相似块的二维DCT变换。
所述步骤三包括以下处理:在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到串并转换模块中。如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输。这里正是利用了乒乓操作完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。
与现有技术相比,本发明的技术特点及有益效果包括以下内容:
1、方法简单,算法复杂度低,容易实现。
2、本发明是专门用于FPGA硬件实现的三维DCT变换算法。
3、本发明采用模块化设计,模块化设计是FPGA设计中一个很重要的技巧,它能够使一个大型设计的分工协作、仿真测试更加容易,使代码维护或升级更加便利。
4、本发明采用了乒乓操作设计,乒乓操作是一种主要用于数据流控制的处理技巧,以完成数据的无缝缓冲与处理。
5、本发明不仅可以实现8×8×8整数三维DCT变换,只要找到一维N点的DCT变换核矩阵,对代码稍加修改就可以实现N×N×M三维DCT变换,设计灵活,易于修改。将三维DCT变换分解为三个方向的一维DCT变换,利于FPGA硬件实现。
6、采用基于HEVC视频编码标准的整数1D-DCT变换,使运算只有移位与相加运算,减小了运算量与计算复杂度,易于FPGA实现。
附图说明
图1为本发明的图像的自相似性原理图;
图2为本发明实施例的8×8×8相似块群示意图;
图3为本发明的基于FPGA的三维整数DCT变换系统的系统结构示意图;
图4为本发明的转置RAM模块采用乒乓操作的流程示意图;
图58×8×8数字图像相似块群三维矩阵A示意图;
图6为本发明采用的HEVC蝶形算法示意图。
具体实施方式
下面结合附图,进一步详细说明本发明的具体实施方式。
本发明利用FPGA进行三维DCT变换实现更高效地进行三维DCT变换,所采用的技术方案详述如下:
在相似图像块搜索完成后,将相似图像块重叠在一起,构成一个相似块群,因相似块群内的图像块相互之间具有更好的相关性,所以经过DCT变换后能量更集中。而相似块群是一个N×N×M的三维矩阵,因此需要对其进行三维DCT变换。本实施例以8×8×8(N=M=8)为例,介绍基于FPGA的整数三维DCT变换算法。
如图2所示,为8×8×8相似块群示意图。利用DCT变换的可分离性,将三维矩阵的DCT变换分解为对三维矩阵的三个方向依次做一维DCT变换,而每次一维DCT变换采用蝶形快速运算,以节省计算时间。
本发明的整个基于FPGA的三维整数DCT变换系统包括数字图像的原始数据输入端、控制模块、系统的整数1D-DCT变换模块、以及并行设计的针对任一相似图像块的多组三维整数DCT变换单元,该单元依序包括第一串/并转换模块、第一整数1D-DCT变换模块、转置RAM模块、第二串/并转换模块、第二整数1D-DCT变换模块以及并/串转换模块,系统结构如图3所示。
其中,控制模块用于设定整个系统的运算时序,即:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D-DCT变换完毕后,进入y方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D-DCT变换完毕后,进入z方向的1D-DCT变换,完成一次相似块的二维DCT变换,此时序满足流水线设计,从而提高了系统的效率。由于FPGA可进行并行处理,因此8个相似块可同时进行二维DCT变换;以及产生各模块之间、各模块与外界的握手信号。
第一、第二串并转换模块,均采用寄存器实现,用于将串行输入的数据转换为并行数据输出,以满足下一个模块对输入数据的格式要求:
第一串/并转换模块,用于数字图像原始数据的串行读取与x方向的1D-DCT变换的8组并行输入数据需求的转换,此串/并转换需要8个clk周期完成。该模块的原理是每个相似图像块中的二维DCT变换的输入数据均从存储数字图像数据的ROM中直接串行输入,而8点1D-DCT变换((8点DCT变换就是8个一维数据进行DCT变换)需要8组并行数据同时输入。
第二串/并转换模块,用于转置RAM模块串行输出与y方向的1D-DCT变换8组并行输入数据需求的转换,在每个相似图像块中,经过转置RAM模块后数据为串行输出。而下一过程的y方向的8点1D-DCT变换(同上)需要8组并行数据的同时输入。
并/串转换模块也采用寄存器,用于将每个相似图像块y方向的1D-DCT变换结果串行输出,使得8个相似图像块的8个串行输出正好构成z方向1D-DCT变换的8组输入数据;由于在每个相似图像块中,进行完y方向的1D-DCT变换后输出其二维DCT变换结果;需对此结果以8个相似块组成的相似块群形式做z方向的1D-DCT变换。每个相似图像块中坐标相同的像素点构成z方向1D-DCT变换的8组输入数据。并/串转换模块使得整个设计只需要一个z方向的1D-DCT变换模块,节省了整个设计的资源。
整数1D-DCT变换模块在整个基于FPGA的三维整数DCT系统的设计中,是核心模块,也是影响整个设计优劣最重要的模块。
一维N点DCT变换可以表示为:
Y k = C k Σ n = 0 N - 1 x n cos ( 2 n + 1 ) kπ 2 N - - - ( 1 )
其中,xn是输入时域序列中的第n项;Yk是输出频域序列中的第k项;系数
Figure BDA0000392923290000082
k=0;
Figure BDA0000392923290000083
k=1,2,…,N-1。
但是,上式中含有大量的浮点数操作与乘法运算,提高了运算复杂度,降低了运算速度,不能满足图像去噪的实时性要求。为了提高运算速度,更好的适用于FPGA的设计要求,本发明采用了HEVC(HighEfficiencyVideoCoding)标准中的整数DCT变换。HEVC是新一代视频编码标准,采用的整数操作使得DCT变换消除浮点运算,减少运算量,有效的降低对存储器的要求,同时可以消除正变换和逆变换之间的漂移,不损失数字图像准确度。使得计算复杂度减少,而且只有移位操作和加减操作,更适合FPGA的特点。
整数DCT变换是基于DCT的,但是又有一些不同:
1、它是一个整数变换(所有的操作都可以使用整数算法,而不丢失逆变换精度),更适合FPGA的设计要求;
2、它可以实现正变换与反变换之间的零误差匹配;
3、变换的核心部分可以只使用加法和移位操作运算。
在HEVC中,每个8点1D-DCT变换采用蝶形快速算法,节省了计算时间。8点DCT正变换的变换核矩阵A为:
A = 64 64 64 64 64 64 64 64 89 75 50 18 - 18 - 50 - 75 - 89 83 36 - 36 - 83 - 83 - 36 36 83 75 - 18 - 89 - 50 50 89 18 - 75 64 - 64 - 64 64 64 - 64 - 64 64 50 - 89 18 75 - 75 - 18 89 - 50 36 - 83 83 - 36 - 36 83 - 83 36 18 - 50 75 - 89 89 - 75 50 - 18
转置RAM模块,用于将每个相似图像块x方向的1D-DCT变换后的第一行的8个数据分别存在8个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(7)存入RAM7的第一个存储单元,下一行的8个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到8行运算都完成,这样存放到每个RAM中的8个数据刚好是y方向1D-DCT变换需要的一列数据。因此,在y方向的1D-DCT变换中只需要按存放顺序依次串行的读出每个RAM块中的图像数据即可。
在每个相似图像块中的二维DCT变换需要两个整数1D-DCT变换共同完成,但是第一次x方向的1D-DCT变换运算得到的中间结果并不是直接输入到y方向的1D-DCT变换中,需要一个8×8RAM将x方向1D-DCT变换结果存储起来,等到x方向的8组8点1D-DCT变换全部完成后,再按照y方向读取8×8RAM中的图像数据,因此此8×8RAM称为转置RAM。
为了节省转置RAM的等待时间,进一步提高本设计的工作频率,转置RAM模块采用乒乓操作设计。
转置RAM模块采用乒乓操作,其具体操作流程如图4所示。
在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到串并转换模块中。如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输。这里正是利用了乒乓操作完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。
在本发明中,选取了一个数字图像里的相似块群做整数三维DCT变换,并在Matlab中进行验证。如图5所示,为输入的8×8×8相似块群三维矩阵A。为了验证本发明的输出结果,利用FPGA进行整数三维DCT变换在Modesim中的仿真结果,在Matlab中进行验证。可以看出,在Modesim中的仿真结果与在Matlab中的输出结果完全一致,说明此发明的输出结果正确,能满足设计要求。

Claims (4)

1.一种基于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中的图像数据。
2.如权利要求1所述的基于FPGA的三维整数DCT变换系统,其特征在于,所述转置RAM模块在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到串并转换模块中。如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输。这里正是利用了乒乓操作完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。
3.一种基于FPGA的三维整数DCT变换方法,选取数字图像里的相似块群做整数三维DCT变换,其特征在于,该方法包括以下步骤:
步骤一,对数字图像原始数据进行串行读取与x方向的1D-DCT变换的n组并行输入数据需求的转换;
步骤二,实现整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;
步骤三,将每个相似图像块x方向的1D-DCT变换后的第一行的n个数据分别存在n个RAM中,即dout(0)存入RAM0的第一个存储单元,dout(1)存入RAM1的第一个存储单元,……,dout(n)存入RAM7的第一个存储单元,下一行的n个数据分别放在各自RAM存储器的下一个存储单元,依次类推,直到所有行运算都完成;
步骤四,将串行输出转换为与y方向的1D-DCT变换n组并行输入数据需求;
步骤五,实现整数1D-DCT变换;在HEVC中,每个8点1D-DCT变换采用蝶形快速算法;
步骤六,将每个相似图像块y方向的1D-DCT变换结果串行输出,使得相似图像块的串行输出正好构成z方向1D-DCT变换的输入数据;
上述流程的运算时序由控制模块实现控制,该控制时序遵循:系统复位时初始状态为空闲状态,当有数据输入时,依序先进入x方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块在x方向的1D-DCT变换完毕后,进入y方向的1D-DCT变换状态,完成一次相似块的二维DCT变换;当检测到相似块群中的每个相似块的y方向1D-DCT变换完毕后,进入z方向的1D-DCT变换,完成一次相似块的二维DCT变换。
4.如权利要求2所述的基于FPGA的三维整数DCT变换方法,其特征在于,所述步骤三还包括以下处理:在第一个缓冲周期,将x方向的1D-DCT变换的输出数据流缓存到RAM1中;在第二个缓冲周期,y方向的1D-DCT变换的输出数据流缓存到RAM2中的同时,控制模块将RAM1第一个缓冲周期缓存的数据流输入到串/并转换模块中;在第三个缓冲周期,x方向1D-DCT变换的输出数据流再次缓存到RAM1中,与此同时,控制模块也相应进行切换,将RAM2在第二个缓冲周期缓存的数据流输入到串并转换模块中。如此反复,这样处理的好处在于转置RAM在处理8×8图像数据时,使比较缓慢的图像数据流能够连续地进行传输。这里正是利用了乒乓操作完成数据的无缝缓冲与处理。乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍、互相配合地进行来回切换,将经过缓冲的数据流没有停顿地送到“后续处理”。
CN201310467153.2A 2013-10-09 2013-10-09 基于fpga的三维整数dct变换系统及其变换方法 Expired - Fee Related CN103533378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310467153.2A CN103533378B (zh) 2013-10-09 2013-10-09 基于fpga的三维整数dct变换系统及其变换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310467153.2A CN103533378B (zh) 2013-10-09 2013-10-09 基于fpga的三维整数dct变换系统及其变换方法

Publications (2)

Publication Number Publication Date
CN103533378A true CN103533378A (zh) 2014-01-22
CN103533378B CN103533378B (zh) 2017-01-18

Family

ID=49934987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310467153.2A Expired - Fee Related CN103533378B (zh) 2013-10-09 2013-10-09 基于fpga的三维整数dct变换系统及其变换方法

Country Status (1)

Country Link
CN (1) CN103533378B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454102A (zh) * 2016-10-27 2017-02-22 合肥埃科光电科技有限公司 一种全硬件高速智能相机的实现方法
CN110147880A (zh) * 2019-05-22 2019-08-20 苏州浪潮智能科技有限公司 一种神经网络数据处理结构、方法、系统及相关装置
CN111787320A (zh) * 2020-07-03 2020-10-16 北京博雅慧视智能技术研究院有限公司 一种变换编码系统和方法
CN113093623A (zh) * 2021-04-08 2021-07-09 浙江大辰北斗科技有限公司 一种导航抗干扰方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977318A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 Dct量化的并行装置及其方法
CN102065309A (zh) * 2010-12-07 2011-05-18 青岛海信信芯科技有限公司 一种dct实现方法及dct实现电路
EP1091317B1 (en) * 1999-10-05 2012-05-23 NEC Personal Computers, Ltd. System and apparatus for inserting electronic watermark data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1091317B1 (en) * 1999-10-05 2012-05-23 NEC Personal Computers, Ltd. System and apparatus for inserting electronic watermark data
CN101977318A (zh) * 2010-10-29 2011-02-16 西安电子科技大学 Dct量化的并行装置及其方法
CN102065309A (zh) * 2010-12-07 2011-05-18 青岛海信信芯科技有限公司 一种dct实现方法及dct实现电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOSTADIN DABOV: "Video denosising by sparse 3D Transfordomain collaborative Filtering", 《15TH ERUOPEAN SIGNAL PROCESSING CONFERENCE》, 30 September 2007 (2007-09-30), pages 145 - 149 *
张卫华等: "3DDCT变换下的图像去噪与增强方法", 《电子科技大学学报》, vol. 40, no. 5, 30 September 2011 (2011-09-30), pages 742 - 746 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454102A (zh) * 2016-10-27 2017-02-22 合肥埃科光电科技有限公司 一种全硬件高速智能相机的实现方法
CN110147880A (zh) * 2019-05-22 2019-08-20 苏州浪潮智能科技有限公司 一种神经网络数据处理结构、方法、系统及相关装置
CN111787320A (zh) * 2020-07-03 2020-10-16 北京博雅慧视智能技术研究院有限公司 一种变换编码系统和方法
CN111787320B (zh) * 2020-07-03 2022-02-08 北京博雅慧视智能技术研究院有限公司 一种变换编码系统和方法
CN113093623A (zh) * 2021-04-08 2021-07-09 浙江大辰北斗科技有限公司 一种导航抗干扰方法

Also Published As

Publication number Publication date
CN103533378B (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN111095241B (zh) 加速数学引擎
CN103533378A (zh) 基于fpga的三维整数dct变换系统及其变换方法
CN102680945B (zh) 基于fpga的多普勒调频率估计方法
CN101937424A (zh) 基于fpga实现高速fft处理的方法
CN103369326B (zh) 适于高性能视频编码标准hevc的变换编码器
CN102663666B (zh) 基于fpga的二维图像重采样算法加速器
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration
Shan et al. A CNN Accelerator on FPGA with a Flexible Structure
CN102970545A (zh) 一种基于二维离散小波变换算法的静态图像压缩方法
CN111178492B (zh) 计算装置及相关产品、执行人工神经网络模型的计算方法
CN103179398A (zh) 一种提升小波变换fpga实现的方法
Chen et al. Hardware Resource and Computational Density Efficient CNN Accelerator Design Based on FPGA
Liu et al. Efficient large-scale 1D FFT vectorization on multi-core vector accelerator
CN111368250B (zh) 基于傅里叶变换/逆变换的数据处理系统、方法及设备
CN203279074U (zh) 二维离散余弦变换/逆离散余弦变换电路
CN113610221A (zh) 一种基于fpga的可变膨胀卷积运算硬件系统
CN107894966A (zh) 一种基于流水线的块浮点模式下的fft处理器引擎原型
Wen et al. FPGA Implementation of efficient FFT algorithm based on complex sequence
Shan et al. High performance 2-D IDCT for Image/Video Decoding based on FPGA
Liu et al. A Convolutional Computing Design Using Pulsating Arrays
CN115146222A (zh) Fft处理系统、处理方法及dsp处理器
Zhang et al. Design of RLWE Cryptoprocessor Based on Vector-Instruction Extension with RISC-V Architecture
CN101583038A (zh) Satd快速实现的硬件架构
CN117035028A (zh) 一种基于fpga的卷积加速器高效计算方法
CN114186187A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170118