一种jpeg图像的数字水印处理系统及方法

文档序号:6442256阅读:207来源:国知局
专利名称:一种jpeg图像的数字水印处理系统及方法
技术领域
本发明涉及信息隐藏中的一种JPEG图像的数字水印处理系统及方法,属于计算机应用技术领域。
背景技术
随着计算机网络技术的日益普及,数据的交换和传输变成了一个相对简单的过程。越来越多的数字产品在网络上方便地发布、传播,多媒体及通信技术带来方便的同时也带来很多的负面作用。例如,一些个人或团体在未经许可的情况下就进行非法拷贝、传播及出售有版权保护的数字产品,从而极大损害了版权所有者及厂商的利益;还有当数字作品被用于司法、医疗及新闻时,常需确定它们的内容是否被不法分子通过技术手段进行了篡改、伪造等特殊处理,这时就需要保证数字作品内容的真实性和完整性,因此如何通过信息安全手段有效保护数字产品的真实性、确定性已成为业界亟需解决的问题。在这种迫切需求的推动下,数字水印嵌入技术应运而生。
传统的数字水印嵌入方式是对需要进行防伪处理的数字产品通过计算机软件处理来实现的,在传播过程中增加了许多不确定的因素,不能保证数字产品的原始性和完整性。因此本发明提供了一种采用SD卡作为存储介质的便携装置式数字水印处理系统,本系统及方法能对原始获得的数字图像即时进行水印嵌入处理,从而有效缩短数字图像产品公开前的传播路径,减少数字产品被不法篡改的几率。发明内容
本发明提供一种JPEG图像的数字水印处理系统及方法,采用Altera Cyclone II EP2C70系列FPGA作为主控芯片、SD卡作为存储介质的便携装置式数字水印处理系统,解决脱离PC机环境下对原始获得的JPEG数字图像即时进行水印嵌入的难题。
本发明采用的技术方案是JPEG图像的数字水印处理系统由中央处理模块FPGAI、JTAG接口2、SDRAM存储器3、Flash存储器4、SD卡接口 5和LED指示灯6组成。中央处理模块FPGA 1由Nios II处理器7、数字水印处理模块8、JTAG控制器10、SDRAM控制器II、三态桥控制器12、SD卡控制器13、PIO控制器14组成;各个组件通过数据总线9采用常规方式连接JTAG接口 2、SDRAM存储器3、Flash存储器4、SD卡接口 5和LED指示灯6 采用常规连接方式分别和JTAG控制器10、SDRAM控制器11、三态桥控制器12、SD卡控制器 13、PIO控制器14连接;数字水印处理模块8由JPEG_DeCOder模块15、DCT2变换模块16、 水印嵌入模块17、IDCT2变换模块18、JPEG_Encoder模块19组成;JPEG_Decoder模块15 与DCT2变换模块16连接,DCT2变换模块16与水印嵌入模块17连接,水印嵌入模块17与 IDCT2变换模块18连接,IDCT2变换模块18与JPEG_Encoder模块19连接,JPEG_Decoder 模块15和JPEG_EnCoder模块19接在数据总线9上,数字水印处理模块8中各个模块间采用常规方式连接。
其中,将JPEG_Decoder模块、JPEG_Encoder模块、二维DCT变换和二维IDCT变换用Verilog HDL语言进行编写,封装成组件模块,用自定义指令的方式通过数据总线对各组件进行连接,以实现各个不同模块的协同工作。
其他所有外设都是通过数据总线9与Nios II处理器7相连接;所有外设的接口与数据总线时钟同步;系统配备有JTAG接口 2,可以使用USB_Blaster数据线将本处理系统与个人计算机连接。
系统采用Altera Cyclone II EP2C70系列FPGA作为主控芯片,是整个系统的核心;SDRAM存储模块是用来运行程序的存储芯片;Flash存储模块是用来固化核心程序的存储芯片;SD卡接口模块是数字产品的输入、输出通道,可以接入通用的SD卡、Mini SD卡、 Micro SD卡(Mini SD卡、Micro SD卡需要使用相应的卡套支持),其他元件都是市售的普通元件。
所述的JPEG图像数字水印处理系统的处理方法开机后自动加载固化在Flash存储器4中的程序,硬件程序通过三态桥控制器12和数据总线9加载到Nios II处理器7中, 形成系统的硬件架构;软件程序通过三态桥控制器12、数据总线9和SDRAM控制器11加载到SDRAM存储器3中运行。程序读取SD卡中存储的原图像数据,通过SD卡控制器13、数据总线9和SDRAM控制器11缓存到SDRAM存储器3中;然后将图像数据通过SDRAM控制器 11和数据总线9送入数字水印处理模块8中处理;再将含水印信息的JPEG图像数据通过数据总线9和SDRAM控制器11缓存到SDRAM存储器3中;最后将图像数据通过SDRAM控制器 11、数据总线9和SD卡控制器13回写到SD卡接口 5中的SD卡里,存储已经嵌入水印信息的JPEG图像。存储完毕后,Nios II处理器7通过数据总线9向PIO控制器14发送指令, 使LED指示灯6亮起,表明JPEG图像的数字水印处理完成。
数字水印处理模块针对JPEG格式图像水印嵌入方法是 第一步将JPEG图像通过JPEG_DeCOder模块解码成M位RGB位图; 第二步将M位RGB位图的R、G、B三个分量分解出来;第三步提取三个分量的低3位低2位和低3位数据;第四步将提取出的3、2、3位数据重新组合成一个Sbits的数组,构成一幅灰度图像; 第五步每8X8个图像数据进行二维DCT变换得到相对应的频域系数矩阵; 第六步将每4个水印数据依次叠加到频域系数矩阵中的4个中频系数上,再对嵌入后的系数矩阵进行二维IDCT变换得到已经嵌入水印信息的图像矩阵,构成一幅含水印信息的灰度图像;第七步将含水印信息的灰度图像按每一个Sbits数组拆分出3、2、3位数据,重新再替换回R、G、B三个分量中的低3位低2位和低3位,得到含水印信息的M位RGB位图;第八步将含水印信息的M位RGB位图通过JPEG_EnCOder模块编码成JPEG图像,既得到含水印信息的JPEG图像; 本发明的有益效果1、针对JPEG格式图像数据量以及JPEG_Decoder模块、JPEG_Encoder模块、二维DCT 变换和二维IDCT变换运算量都很大的特点,本发明中将JPEG_DeCOder模块、JPEG_EnCOder 模块、二维DCT变换和二维IDCT变换用Verilog HDL语言进行编写,封装成硬件组件模块, 用自定义指令的方式通过数据总线对各软硬件组件进行连接,以实现各个软硬件模块的实时协同工作。这种软硬件协同工作方式较纯软件方式能更高效地进行大数据量运算,从而提高数字水印处理系统的处理效率。2、系统采用SD卡接口,可以方便及时的对需要防伪处理的数字图像产品进行输入和输出,系统开机即自动完成对JPEG图像的数字水印处理,使水印处理更加方便、快捷。
3、该系统及方法能对原始获得的JPEG数字图像即时进行水印嵌入处理,解决脱离PC机环境下对JPEG数字图像进行水印嵌入的难题。
本发明适用于需要进行版权保护的JPEG图像和确保司法取证真实性与完整性的 JPEG图像。


图1为本发明的系统原理示意框图;图2为本发明中数字水印处理模块的原理示意框图; 图3为本发明的数据总线与外设的连接结构示意图; 图4为本发明中数字水印处理方法中JPEG图像嵌入水印的工作流程示意图。
图中中央处理模块FPGA 1、JTAG接口 2、SDRAM存储器3、Flash存储器4、SD卡接口 5、LED指示灯6、Nios II处理器7、数字水印处理模块8、数据总线9、JTAG控制器10、 SDRAM控制器11、三态桥控制器12、SD卡控制器13和PIO控制器14、JPEG_Decoder模块15、DCT2变换模块16、水印嵌入模块17、IDCT2变换模块18、JPEG_Encoder模块19。
具体实施方式
下面结合附图对本发明做进一步说明,以方便技术人员理解。
如图1所示,所述的一种JPEG图像的数字水印处理系统,JPEG图像的数字水印处理系统由中央处理模块FPGA 1、JTAG接口 2、SDRAM存储器3、Flash存储器4、SD卡接口 5 和LED指示灯6组成,中央处理模块FPGA 1由Nios II处理器7、数字水印处理模块8、JTAG 控制器10、SDRAM控制器11、三态桥控制器12、SD卡控制器13、PI0控制器14组成;各个组件通过数据总线9采用常规方式连接JTAG接口 2、SDRAM存储器3、Flash存储器4、SD卡接口 5和LED指示灯6采用常规连接方式分别和JTAG控制器10、SDRAM控制器11、三态桥控制器12、SD卡控制器13、PIO控制器14连接。
如图2所示,所述的数字水印处理模块8由JPEG_DeCOder模块15、DCT2变换模块16、水印嵌入模块17、IDCT2变换模块18、JPEG_Encoder模块19组成;JPEG_Decoder模块15 与DCT2变换模块16连接,DCT2变换模块16与水印嵌入模块17连接,水印嵌入模块17与 IDCT2变换模块18连接,IDCT2变换模块18与JPEG_Encoder模块19连接,JPEG_Decoder 模块15和JPEG_EnCoder模块19接在数据总线9上,各个模块间采用常规方式连接。
如图3所示,本发明的数据总线与外设的连接结构。所有外设都是通过数据总线与Nios II处理器相连接,本发明中的数据总线9是一种协议较为简单的片内总线。总线接口分为两类主端口和从端口。主端口是一个主控接口,从端口是一个从控端口,主端口具有与其相接的数据总线控制权,从端口控制数据总线的从读和从写。本发明用到的传输结构有数据总线从读、数据总线带一个延迟状态从读、数据总线从写和数据总线带一个延迟状态从写。
所有外设的接口与数据总线时钟同步,不需要复杂的握手和应答机制,简化了数据总线的时序行为,而且便于集成高速外设。所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在数据总线中,由数据选择器决定哪个信号驱动哪个外设,因此外设即使在未被选中时也不需要将输出置为高阻态。本发明中外设的地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期和数据总线周期,也不需要在未被选中时使输出无效。
本发明配备有JTAG接口 2,可以使用USB_Blaster数据线将本处理系统与个人计算机连接。借助个人计算机中安装的相关开发环境,能够根据市场需求及时更新处理系统中的核心程序。
本发明使用前,首先在SD卡中建立三个文件夹,分别命名为Input_FileS、 Output_Files和water ;分别用于存放原始图像、已嵌入水印信息的图像和需要嵌入的水印图像。开机后系统自动加载固化在Flash存储器4中的程序,硬件程序通过三态桥控制器12和数据总线9加载到Nios II处理器7中,形成系统的硬件架构;软件程序通过三态桥控制器12、数据总线9和SDRAM控制器11加载到SDRAM存储器3中运行。程序读取SD 卡中存储的原图像数据,通过SD卡控制器13、数据总线9和SDRAM控制器11缓存到SDRAM 存储器3中;然后将图像数据通过SDRAM控制器11和数据总线9送入数字水印处理模块8 中处理;再将含水印信息的JPEG图像数据通过数据总线9和SDRAM控制器11缓存到SDRAM 存储器3中;最后将图像数据通过SDRAM控制器11、数据总线9和SD卡控制器13回写到 SD卡接口 5中的SD卡里,存储已经嵌入水印信息的JPEG图像。存储完毕后,Nios II处理器7通过数据总线9向PIO控制器14发送指令,使LED指示灯6亮起,表明JPEG图像的数字水印处理完成。
如图4所示数字水印处理模块针对JPEG格式图像水印嵌入方法是 第一步将JPEG图像通过JPEG_DeCOder模块解码成M位RGB位图; 第二步将M位RGB位图的R、G、B三个分量分解出来;第三步提取三个分量的低3位低2位和低3位数据;第四步将提取出的3、2、3位数据重新组合成一个Sbits的数组,构成一幅灰度图像; 第五步每8X8个图像数据进行二维DCT变换得到相对应的频域系数矩阵; 第六步将每4个水印数据依次叠加到频域系数矩阵中的4个中频系数上,再对嵌入后的系数矩阵进行二维IDCT变换得到已经嵌入水印信息的图像矩阵,构成一幅含水印信息的灰度图像;第七步将含水印信息的灰度图像按每一个Sbits数组拆分出3、2、3位数据,重新再替换回R、G、B三个分量中的低3位低2位和低3位,得到含水印信息的M位RGB位图;第八步将含水印信息的M位RGB位图通过JPEG_EnCOder模块编码成JPEG图像,既得到含水印信息的JPEG图像;其中,DCT变换的全称是离散余弦变换(Discrete Cosine Transform),是数码率压缩常用的一个变换编码方法。它是先将整个图像分成NXN的像素块,然后对N Χ N像素块逐一进行DCT变换。其中N是像素块的水平、垂直像素数,一般取N=8。N大于8 时效率增加不多而复杂性大为增加。
二维DCT变换就是对8 8 二维像素块进行离散余弦变换处理,先对每行进行变换,然后对每列进行变换,得到的是一个8 χ 8的变换系数矩阵。其中(0,0)位置的元素是直流分量,矩阵中的其他元素根据其位置不同表示不同频率的交流分量。并且左上角部分为低频系数,中间部分为中频系数,右下角为高频系数。低频系数集中了图像的大部分能量,无法保证水印信息的不可见性,图像会明显失真。高频系数容易受到攻击,因此本发明将水印信息嵌入在中频系数当中。
对于分辨率为8X8的图像来说,x( J)是图像坐标为(i,j)点的像素值;7( ,v) 为变换后频域矩阵(u,ν)点的值。首先把构造的灰度图像分割成(I1 / 8) χ (X2 / 8 )个8x8 的图像块,再将这些图像块进行二维DCT变换;水印信息与二维DCT变换后的中频系数替换后,再对(Z1ZS)X(Jf2ZS)个8x8系数矩阵进行二维IDCT变换。二维DCT和二维IDCT的定义分别为式1、式2所示。
权利要求
1.一种JPEG图像便携式数字水印处理系统,其特征在于JPEG图像便携式数字水印处理装置由由中央处理模块FPGA、JTAG接口、SDRAM存储器、Flash存储器、SD卡接口和 LED指示灯组成,中央处理模块FPGA由Nios II处理器、数字水印处理模块、JTAG控制器、 SDRAM控制器、三态桥控制器、SD卡控制器、PIO控制器组成,各个组件通过数据总线采用常规连接接在一起JTAG接口、SDRAM存储器、Flash存储器、SD卡接口和LED指示灯采用常规连接方式分别和JTAG控制器、SDRAM控制器、三态桥控制器、SD卡控制器、PIO控制器连接;数字水印处理模块由JPEG_DeCoder模块、DCT2变换模块、水印嵌入模块、IDCT2变换模块、JPEG_EnCOder模块组成;JPEG_DeCOder模块与DCT2变换模块连接,DCT2变换模块与水印嵌入模块连接,水印嵌入模块与IDCT2变换模块连接,IDCT2变换模块与JPEG_EnCoder模块连接,JPEG_DeCoder模块和JPEG_EnCoder模块接在数据总线上,数字水印处理模块中各个模块间采用常规方式连接。
2.根据权利要求1所述的一种JPEG图像的数字水印处理系统,其特征在于将JPEG_ Decoder模块、JPEG_Encoder模块、二维DCT变换和二维IDCT变换用Verilog HDL语言进行编写,封装成组件模块,用自定义指令的方式通过数据总线对各组件进行连接,以实现各个模块的协同工作。
3.根据权利要求1所述的一种JPEG图像便携式数字水印处理系统,其特征在于所有外设都是通过数据总线与Mos II处理器相连接;所有外设的接口与数据总线时钟同步。
4.根据权利要求1所述的一种JPEG图像便携式数字水印处理系统,其特征在于数据总线是一种协议较为简单的片内总线,总线接口分为两类主端口和从端口 ;主端口是一个主控接口,从端口是一个从控端口,主端口具有与其相接的数据总线控制权;从端口控制数据总线的从读和从写;传输结构有数据总线从读、数据总线带一个延迟状态从读、数据总线从写和数据总线带一个延迟状态从写。
5.根据权利要求1所述的一种JPEG图像便携式数字水印处理系统,其特征在于装置配备有JTAG接口,可以使用USB_Blaster数据线将本处理系统与个人计算机连接。
6.一种JPEG图像便携式数字水印处理系统的使用方法,首先在SD卡中建立三个文件夹,分别用于存放原始图像、已嵌入水印信息的图像和需要嵌入的水印图像JPEG图像的数字水印处理系统,开机后自动加载固化在Flash存储器中的程序,硬件程序通过三态桥控制器和数据总线加载到Nios II处理器中,形成系统的硬件架构;软件程序通过三态桥控制器、数据总线和SDRAM控制器加载到SDRAM存储器中运行,程序读取SD卡中存储的原图像数据,通过SD卡控制器、数据总线和SDRAM控制器缓存到SDRAM存储器中;然后将图像数据通过SDRAM控制器和数据总线送入数字水印处理模块中处理;再将含水印信息的 JPEG图像数据通过数据总线和SDRAM控制器缓存到SDRAM存储器中;最后将图像数据通过 SDRAM控制器、数据总线和SD卡控制器回写到SD卡接口中的SD卡里,存储已经嵌入水印信息的JPEG图像;存储完毕后,Nios II处理器通过数据总线向PIO控制器发送指令,使 LED指示灯亮起,表明JPEG图像的数字水印处理完成;其特征在于数字水印处理模块针对 JPEG格式图像水印嵌入方法按以下步骤实现第一步将JPEG图像通过JPEG_DeCOder模块解码成M位RGB位图;第二步将M位RGB位图的R、G、B三个分量分解出来;第三步提取三个分量的低3位低2位和低3位数据;第四步将提取出的3、2、3位数据重新组合成一个Sbits的数组,构成一幅灰度图像; 第五步每8X8个图像数据进行二维DCT变换得到相对应的频域系数矩阵; 第六步将每4个水印数据依次叠加到频域系数矩阵中的4个中频系数上, 再对嵌入后的系数矩阵进行二维IDCT变换得到已经嵌入水印信息的图像矩阵,构成一幅含水印信息的灰度图像;第七步将含水印信息的灰度图像按每一个Sbits数组拆分出3、2、3位数据,重新再替换回R、G、B三个分量中的低3位低2位和低3位,得到含水印信息的M位RGB位图;第八步将含水印信息的M位RGB位图通过JPEG_EnCOder模块编码成JPEG 图像,既得到含水印信息的JPEG图像。
全文摘要
本发明涉及一种JPEG图像的数字水印处理系统及方法,属于计算机应用技术领域;JPEG图像的数字水印处理系统中央处理模块FPGA由NiosII处理器、数字水印处理模块、JTAG控制器、SDRAM控制器、三态桥控制器、SD卡控制器、PIO控制器组成,各个组件通过数据总线采用常规方式连接;JTAG接口、SDRAM存储器、Flash存储器、SD卡接口和LED指示灯采用常规连接方式分别和JTAG控制器、SDRAM控制器、三态桥控制器、SD卡控制器、PIO控制器连接。本发明处理速度快、体积小巧、简单便携,便于及时对获取到的原始图像信息进行版权保护处理。
文档编号G06T1/20GK102521788SQ201110429619
公开日2012年6月27日 申请日期2011年12月20日 优先权日2011年12月20日
发明者何鑫亮, 李勃, 李玉惠, 罗成绪, 薛晓军 申请人:昆明理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1