
116 E I C Vo l .16 2009 No.1
欢迎光临本刊网站h tt p://www.e i c.com.cn
Delay (100);//延时
Flash_page_p r og (ds pcode,size );//将数组数据写入存储地址
}
由于DSP 频率较高,时钟周期变小,导致Flash 内部计数器计时的最大值小于内部算法所需要的时间,写操作就会出现异常。要解决这个问题,就要在每写入一个数据后进行一下延时。并且,当Flash 整片擦除完成后,也需要延时后,才能对它进行写数据操作[6]。
4 实验结果及分析
当对C5509A 应用系统重新上电复位后,在脱离仿真器的情况下,DSP 自举引导成功。可以观察到Flash 中数据的变化情况,如图2和图3所示
。
通过系统并行引导模式来烧写外部的Flash 存储器,不仅
可以提高程序的调试效率,缩短系统的开发周期,同时还能够增加系统的灵活性和程序的可移植性。比采用CCS 自带的烧录工具Flashburn 要快很多,并且在烧写过程中只需在CCS 环境下运行程序代码即可,减少了一些人为操作步骤,为进一步通过以太网实现DSP 的远程调试和远程升级打下了基础。□
参考文献
[1]王旭智,张怀柱.T MS320VC5416在系统并行引导的研究与实
现[J ].电子器件,2007,30(1)[2]Texas I nstruments.T MS320VC5509Fixed -Point D igital Signal
Pr ocess or Data 2book .2003.
[3]AMD .Am29LV800B Databook .2000.[4]吕晓明,段发阶.T MS320VC55x 系列DSP 的Flash 引导方法
研究[J ].国外电子元器件,2007,(6)[5]叶海炳.通过T MS320VC5410烧写F LASH 实现并行引导装载
的研究[J ].集成电路应用,2004,(5)[6]伍美俊,吴迈陵.T MS320VC5509应用Flash 存储数据的接口
电路设计与编程[J ].电子器件,2007,30(2)
作者简介:李娟(1983-),
女,硕士研究生,专业为信号与信息处理,主要研究方向为DSP 系统、信息检测和智能控制;王金海,男,教授,天津工业大学信息与通信工程学院副院长,硕士研究生生导师
,主要研究方向为信息检测与智能处理、嵌入式系统与应用、现代传感器及智能仪器。
收稿日期:2008-07-22(8382)
文章编号:1671-1041(2009)01-0116-02
基于DCT 数字水印算法的M a tl ab 实现
任晓扬,韩 勇
(四川大学电子信息学院,成都6100)
摘要:数字水印技术是近年来图像保护技术研究的一个热点,通过对
数字水印技术的空间域算法和变换域算法的分析,提出了一种基于DCT 变换的图像数字水印算法M ATLAB 实现,实验结果显示出了M ATLAB 在数字水印技术处理中的方便性和高效性。关键词:数字水印;离散余弦变换;ma tl ab 中图分类号:TP 391 文献标识码:B
数字水印技术是近几年发展起来的一种信息安全技术,
它是在数字信息(如图像、声音、视频信息等)中通过一定的算法加入不可见的标记,能有效保护信息的安全和著作者的所有权,近年来已成为信息信号处理及其应用领域众多学者非常关心的热点课题。
1 数字水印技术的复杂性
数字水印技术作为一个横跨计算机科学、生理学、密码学、数字通信等多门学科,并与I nternet 的发展密切相关的交叉科学。涉及到通信理论、编码理论、噪声理论、视听觉感知理论、扩频技术、信号处理技术、数字图像处理技术、多媒体技术、模式识别技术、算法设计等理论,数字水印的多学科性导致数字水印技术研究的难度和复杂性。所以,针对数字水印技术本身的跨学科特点,找出一种合适的编程工具,往往可以起到事半功倍的效果。
2 数字水印的一般原理
水印信号嵌入过程如图1所示,对原始信号(语音一维信
号、图像二维信号)进行变换域变换,并加入水印信息,然后进
行相应变换域的反变换,得到含有水印信息的信号。
图1 数字水印嵌入过程
图2所示检测抽取水印的过程是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。如果是可读的水印,那么就此结束,如果
图2 数字水印检测/抽取过程
是不可读水印,如高斯噪声,就将得出的水印与已知水印作比
较,由相关性判断待检测信号含不含水印,故水印的检测有两个结束点。
3 数字水印技术的变换域算法
常见的典型的算法有空间域算法和变换域算法,除特别指明,这些算法主要针对图象数据。3.1 空间域算法
早期的数字水印算法从本质上来说都是从属于时空域的,是直接在信号空间上叠加水印信息。使用特定的密钥通过
□经验交流□
仪器仪表用户
欢迎订阅欢迎撰稿欢迎发布产品广告信息
E I C Vo l .16 2009 No.1 117
M 序列发生器产生随机序列信号,然后按一定的规则重新排列成二维水印信号,并逐一按像素点插入到原始图像对应像素的最低比特位(称为最低有效位算法或噪声插入算法)。由于水印信号隐藏在最低位,相当于叠加了一个能量微弱的信号,而人类视觉系统对此细微特征不敏感,因而难察觉。但其隐藏的信息可以被轻易破坏或移去,无法满足数字水印的稳健性要求。普遍认为变换域水印比空间域水印具有更好的稳健性,因而近年来的数字水印算法多集中于变换域方案,它是在原始信号的某一变换域中嵌入数字水印信号。3.2 变换域算法
DCT (D iscreste Cosine Transf or mati on )数字水印算法先把图象分成无重叠象素块,再经过分块DCT 变换,得DCT 系数组成的频率块。将一个二进制序列作为水印放入DCT 的频率块,完成水印的嵌入。Koch 等是在中频系数上隐藏水印信息,选择中频分量是不可见性与稳健性的折中,有很多算法都采用中频带来隐藏水印,Cox 等提出了基于全局的DCT 的水印算法,他们的重要贡献是将通信理论中的扩频原理引入了水印技术,并提出了水印应该嵌入在感知重要的分量上(主要对应于频域的低频系数,DC 系数除外)以增强算法的稳健性,嵌入的水印强度正比于对应的频率分量的强度。Cox 等还认为高斯随机序列产生的水印相比于其它序列具有更好的稳健性,因为它们具有更大的自相关值。还有一种DCT 方法就是把水印信息嵌入到高频系数上,但是采用这种方法,抗压缩性非常差。
频域法有以下优点:
1)嵌入的水印信号能量可以分布到空间域的所有像素上,有利于保证水印的不可见性;
2)视觉系统(HVS )的某些特性(如频率的掩蔽特性)可以更方便地结合到水印编码过程中;
3)频域法可与国际数据压缩标准兼容,从而实现在压缩域内的水印编码。
其它变换域还有DW T 、DFT 、Fourier -mellin 域、Fourier 变换域、分形或W P (W avelet Package )等。
4 DCT 算法的M a tl ab 实现
以上的变换域算法计算量都非常大,编程实现这些变换
和逆变换也需要好好下一番功夫,由此造成研究人员把大量的时间和精力浪费在与水印算法研究无关的问题上。为证明MAT LAB 的高效性与实现简便性,给出在W indows 环境下MAT LAB6中调试通过的DCT 数字水印算法的完整源程序。
%定义常量
size =256;bl ock =8;bl ockno =size /bl ock;LE NGTH =size 3size /;
A l pha1=0.02;A l pha2=0.1;T1=3;I =zer os (size,size );D =zer os (size,size );
B W =zer os (size,size );bl ock_dct1=zer os (bl ock,bl ock );
%产生高斯水印,并显示水印信息;randn (’seed’,10);mark =randn (1,LE NGTH );
subp l ot (2,2,1);p l ot (mark );title (’water marc:Gaussian noise’
);%显示原图
subp l ot (2,2,2);I =i m read (’lena2_2’,’b mp’
);i m show (I );title (’o rigine i m age:I’
);%显示p re witt 为算子的边缘图
BW =edge (I,’p re witt’
);subp l ot (2,2,3);i m show (B W );title (’edge of origine i m age’
);%嵌入水印k =1;
f or m =1:bl ockno f or n =1:bl ockno
x =(m -1)3bl ock +1;y =(n -1)3bl ock +1; bl ock_dct1=I (x:x +bl ock -1,y:y +bl ock -1); bl ock_dct1=d wt2(bl ock_dct1);
BW _8_8=BW (x:x +bl ock -1,y:y +bl ock -1); if m <=1|n <=1 T =0; else
T =su m (BW _8_8);T =su m (T ); end if T >T1
A l pha =A l pha2;else
A l pha =A l pha1; end
bl ock_dct1(1,1)=bl ock_dct1(1,1)3(1+A l pha 3mark (k ));bl ock_dct1=idct2(bl ock_dct1);
D (x:x +bl ock -1,y:y +bl ock -1)=bl ock_dct1; k =k +1;end end
%显示嵌入水印后的图像
subp l ot (2,2,4);i m show (D,[]);title (’e mbeded i m age:D’
);图3 DCT 水印算法运行结果
5 结论
运行结果如图3所示,人的视觉很难分辨出原始图像和重构图像的差异,保持了较好的图像质量,完全满足水印信息的不可见性,而且可以看到用MAT LAB 的编写一个完整的水印嵌入算法只需几十条语句便可以完成,而这些程序如果用C 语言或其它高级语言编写程序至少在100行以上。这个例子充分证明了MAT LAB 在数字水印技术处理中的方便性和高效性。□
参考文献
[1]杨义先,钮心忻.数字水印理论与技术[M ].北京:高等教育出版社,2006.
[2]闫敬文.数字图像处理:MAT LAB 版[M ].北京:国防工业出版社,2007.
[3]于帅珍.数字水印技术及应用[J ].大众科技,2008,(6):
28-30.
[4]Rafael C .Gonzalez,R ichard E .Woods,Steven L.Eddins .D igital
i m age p r ocessing using MAT LAB ,Publishing .Beijing:House of Electr onics I ndustry,2004.
作者简介:任晓扬(1983-),女,硕士研究生;韩勇,男,硕士研究生。
收稿日期:2008-07-20(8381)
仪器仪表用户
□经验交流□
