·上一文章:基于FPGA的RS232异步串行口IP核设计
·下一文章:基于FPGA的高速FIR数字滤波器的设计
式中,4k≤t<4(k+1),k=0,1……m-1;αi为强度因子。平滑区、边缘区、纹理区的α取值均不相同。
(4)对所得结果进行DCT逆变换,再将所有子块合并为整幅图像,得到含水印的图像。
3 数字水印方案的设计
根据上述图像水印算法,设计FPGA实现的总体结构。按照自顶向下(Top-to- Down)的设计方法,将总体设计划分为一维DCT单元、外部存储单元和控制单元(由一个有限状态机FSM(finite system machine)控制)。图像数据从外部(如PC机)按行进入一维DCT单元,数据处理后存入存储单元:然后再对该中间数据按列进行一维DCT变换。得到二维处理结果并存入存储单元。控制单元按上述步骤进行图像处理,并产生地址数据、enable信号等。图2为其总体结构图。
3.1 2D-DCT结构
对于一个大小为N×N的像素块,假设x(i、j)为输入的像素点阵数据,其二维DCT变换公式为:
式中,C为带余弦基本函数的变换系数矩阵,CT为C的转置。
从式(3)和式(4)可看出,2D-DCT变换是可分离的,它可分裂为串联的2次一维变换。所以可连续进行2次一维DCT变换实现一幅图像的2D- DCT。2D-DCT的结构框图如图3所示。首先将图像数据按行输入一维DCT单元进行行变换,变换后的数据存储到转置缓冲器,以进行行列转换,转换后的数据再按列输入一维DCT单元进行列变换。变换完成后的数据输出到PC机添加水印。
3.2 控制单元
控制单元控制存储单元和运算单元,其主要功能:产生存储器的控制信号,控制双端口RAM的运行;产生存储器的读写地址和控制运算流程等。