当前位置:首页 > 工业控制 > 电子设计自动化
[导读]1 引言 随着计算机网络和数字通信技术的迅速发展,数字技术使数字多媒体(数字视频、数字音频、数字图像等)的传输与复制变得非常容易,但却增加了多媒体信息被非法盗版的机会。数字作品的版权保护成为一个急需解决的难

1 引言

随着计算机网络和数字通信技术的迅速发展,数字技术使数字多媒体(数字视频、数字音频、数字图像等)的传输与复制变得非常容易,但却增加了多媒体信息被非法盗版的机会。数字作品的版权保护成为一个急需解决的难题,已引起学术界与企业界的广泛关注。

数字水印技术是一种最近发展起来的新技术,用于数字产品认证和保护。大多数水印算法采用软件实现。软件实现具有易于应用、升级和适应性较好等特点,但存在速度受限、难以满足实时处理的问题。而采用硬件实现则可以克服这些问题。

现场可编程门阵列FPGA(Field Programmable Gate Ar-ray)是一种设计灵活、开发速度快的现场可编程逻辑器件。与DSP相比,FPGA具有以下主要优点:速度快,内置高速乘法器和加法器;高档 FPGA中含有巨量高速存储器,速度更快,电路更简单;FPGA硬件可编程,使得硬件更简单和小型化。文献[l]利用FPGA实现小波变换,文献[2- 3]利用FPGA实现一种高速DCT处理器件。在此基础上,利用FPGA设计基于DCT域的数字水印算法,DCT变换是该数字水印方案的关键单元之一。采用硬件描述语言VHDL(Very HighSpeed Integrated Circuit Hardware Description Language)有效设计和仿真DCT变换。

2 图像水印算法

这里设计的图像水印算法是依据文献[4]算法提出的。该算法是在充分考虑人眼视觉特性的基础上,应用一种新的图像分类算法,结合Amold置乱变换,提出的一种基于图像分类的自适应水印算法。图1为图像水印算法框图。



具体算法步骤如下:

(1)设水印信号为w,对其进行n次Arnold置乱变换,记为wi,n作为密钥由水印嵌入者保管,然后将wi进行行堆叠或列堆叠变成一维水印序列wt,这里采用行堆叠。

(2)将原始图像I分成m个互不重叠的8×8的子块fk(x,y),对每个子块进行DCT变换得Fk(u,v)。

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



式中,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的运行;产生存储器的读写地址和控制运算流程等。

4 实验结果

在整个电路设计过程中,首先进行计算机Matlab仿真,验证算法的正确性,然后以Xilinx公司的ISE9.1i可编程逻辑器件开发系统作为开发工具,采用可综合的VHDL语言描述DCT变换设计。使用Xilinx Spartan3 XC3S200完成整个电路设计,Spartan3系列器件嵌有18 bit×18 bit补码乘法器和大量RAM块,非常适合DCT变换。在Xilinx公司集成设计环境ISE9.1i下,选用XC3S200-4FT256器件实现综合和仿真,综合后最高时钟频率达98.592 MHz。并对布局布线后的设计用Mentor Graphics公司的Modelsim SE6.1f进行仿真。表1给出2D-DCT变换时FPGA器件的使用情况。




器件的功能引脚示意图,如图4所示。其中,xin(7:0)为待转换的8位数据输入端,CLK为时钟信号输入端,RST为复位端,dct_2d(11: 0)为12位的DCT转换结果,rdy_out是转换结果就绪指示。DCT变换的逻辑功能如图5所示的时序仿真波形。


5 结论

设计和实现一种基于DCT域的数字水印算法。DCT变换算法的实现是该设计中数字水印方案的关键算法之一。重点采用FPGA对水印算法DCT变换进行设计和仿真实验。实验结果表明该方案利用FPGA实现水印算法比用软件实现法速度更快,性能更稳定。



来源:Etta0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着科技的飞速进步,人工智能(AI)已经逐渐成为了引领新一轮科技革命和产业变革的核心驱动力。AI不仅在改变着我们的日常生活,还在推动各行各业的创新发展。展望未来,人工智能的发展将呈现出哪些趋势呢?本文将从技术、应用、伦理...

关键字: 人工智能 算法 AI技术

机器学习算法不会要求一个问题被 100%求解,取而代之的是把问题转化为最优化的问题,用不同的算法优化问题,从而比较得到尽量好的结果。

关键字: 机器学习 算法 最优化

据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。

关键字: 机器学习 人工智能 算法

NVIDIA 量子模拟平台将通过各大云提供商提供,帮助科学家推进量子计算和算法研究

关键字: 量子计算 算法 量子云

随着科技的飞速发展,人工智能(AI)已经成为当今科技研究的热点和前沿。AI的快速发展不仅带来了许多新的应用场景和商业模式,也在推动科技进步的同时,引发了一系列关于其未来发展方向和潜在影响的深入讨论。本文将对人工智能的科技...

关键字: 人工智能 AI技术 算法

机器学习算法:机器学习是一种让计算机通过学习数据和模式来改进自身算法的技术。这些算法包括监督学习、无监督学习和强化学习。

关键字: 人工智能 机器学习 算法

随着信息技术的快速发展,机器学习作为人工智能的核心技术之一,正逐渐渗透到各个领域,引领着一场前所未有的科技变革。在机器学习的实际应用中,有三大重点至关重要,它们分别是数据质量、算法选择与模型评估。本文将深入探讨这三大重点...

关键字: 机器学习 数据质量 算法

在人工智能的浪潮中,机器学习已逐渐成为推动科技进步的核心动力。机器学习技术的广泛应用,从图像识别到自然语言处理,从智能推荐到自动驾驶,都离不开其三个基本要素:数据、算法和模型。本文将深入探讨这三个基本要素在机器学习中的作...

关键字: 机器学习 算法 人工智能

随着信息技术的迅猛发展,机器学习作为人工智能的核心技术之一,已经深入到了各个领域,为我们的生活和工作带来了翻天覆地的变化。无论是智能语音助手、自动驾驶汽车,还是个性化推荐、疾病预测,这些令人惊叹的应用背后,都离不开机器学...

关键字: 机器学习 人工智能 算法

机器学习的方法是指利用统计学方法和算法让计算机自动学习模式和规律,并通过数据进行预测和决策的一门学科。机器学习的主要目标是让计算机能够从数据中自我学习,通过训练模型来提高自身的性能。机器学习的方法可以从高层次上分为监督学...

关键字: 机器学习 算法
关闭
关闭