新闻中心

EEPW首页 > EDA/PCB > 设计应用 > DCT域数字水印算法的FPGA实现

DCT域数字水印算法的FPGA实现

作者:时间:2009-09-22来源:网络收藏

(3)将图像块分成3类,即平滑区、边缘区、纹理区。依据分类结果为每一类指定一个强度因子αi(i=1,2,3),为使水印具有更好的鲁棒性和透明性,这里借鉴文献[5]的思想,利用部分低频系数嵌入水印,将水印信号依次叠加到Fk(u,v)的4个低频系数中,即:

本文引用地址:http://www.eepw.com.cn/article/191921.htm


式中,4k≤t4(k+1),k=0,1……m-1;αi为强度因子。平滑区、边缘区、纹理区的α取值均不相同。
(4)对所得结果进行逆变换,再将所有子块合并为整幅图像,得到含水印的图像。

3 数字水印方案的设计
根据上述图像水印算法,设计实现的总体结构。按照自顶向下(Top-to- Down)的设计方法,将总体设计划分为一维单元、外部存储单元和控制单元(由一个有限状态机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的运行;产生存储器的读写地址和控制运算流程等。



评论


相关推荐

技术专区

关闭