CN114140310B - 一种基于dct变换的数字水印硬件电路 - Google Patents
一种基于dct变换的数字水印硬件电路 Download PDFInfo
- Publication number
- CN114140310B CN114140310B CN202111484430.1A CN202111484430A CN114140310B CN 114140310 B CN114140310 B CN 114140310B CN 202111484430 A CN202111484430 A CN 202111484430A CN 114140310 B CN114140310 B CN 114140310B
- Authority
- CN
- China
- Prior art keywords
- module
- watermark
- ram
- data
- dct
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 62
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 claims description 50
- 239000011159 matrix material Substances 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 19
- 238000000638 solvent extraction Methods 0.000 claims description 13
- 230000017105 transposition Effects 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 238000003786 synthesis reaction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract 1
- 238000007792 addition Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0085—Time domain based watermarking, e.g. watermarks spread over several images
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于DCT变换的数字水印硬件电路,包括:数字水印嵌入模块、数字水印提取模块、水印RAM、宿主RAM、提取RAM、嵌入RAM;其中,水印RAM存储水印数据并传给数字水印嵌入模块进行Arnold置乱处理,宿主RAM存储宿主图像的数据并传给水印嵌入模块进行2D‑DCT处理,嵌入RAM一方面会接收数字水印嵌入模块传输来的嵌入水印的数据,另一方面会把数据读取出来,并传输给数字水印提取模块,提取RAM用来接收数字水印提取模块提取出的水印数据。本发明旨在能够保证信息传输安全性的同时,提高工作频率和吞吐率。
Description
技术领域
本发明属于数字水印的技术领域,具体的说是一种应用于版权保护、隐藏标识、认证和安全隐蔽通信的数字水印硬件电路。
背景技术
随着互联网时代的不断发展,信息交互越来越频繁,恶意盗取信息的问题也愈发严重。信息安全问题日益突出,数字水印作为版权保护和身份认证的手段备受关注。对需要加密的信息,可以将其当作水印嵌入到图像中以避免信息被恶意盗取和篡改。研究者们开始通过嵌入水印的方法对图像进行隐藏加密。数字水印分为可视水印和不可见水印。可见水印很容易被去除,而不可见水印不容易被提取,需要密钥才能被提取。在军事领域中,接收方可以通过提取水印来识别信息发送者的身份,能够有效的防止敌方利用伪身份传递错误信息。
Maity等人提出了基于对比度映射的可逆水印硬件电路,设计采用六级流水线架构,虽然加快了计算速度,但资源消耗较多。为了减少资源消耗,Phadikar等人提出一种DCT变换域的自适应量化索引调制数据隐藏方案的硬件架构,通过并行处理,实现了低功耗、高数据吞吐量的设计,但并行架构比串行架构增加LUT和寄存器的数量。
发明内容
本发明为解决上述现有技术中存在的不足之处,提出一种高频率和吞吐量大的基于DCT变换的数字水印硬件电路,以期能提升数字水印的安全性、可靠性的同时,能节省硬件资源,降低功耗,并提高工作频率和吞吐率。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种基于DCT变换的数字水印硬件电路的特点包括:数字水印嵌入模块、数字水印提取模块、水印RAM、宿主RAM、提取RAM、嵌入RAM;
所述数字水印嵌入模块包括:Arnold变换模块、置乱RAM、第一2D-DCT模块、嵌入单元、2D-IDCT模块;
所述数字水印提取模块包括:第二2D-DCT模块、提取单元、Arnold逆变换模块;
所述水印RAM存储有n×n的水印图像;
所述宿主RAM存储有m×m的宿主图像;
所述Arnold变换模块从所述水印RAM中获取水印图像并进行Arnold变换处理,得到置乱后的水印图像并存入所述置乱RAM;同时,所述第一2D-DCT模块从宿主RAM中提取出宿主图像并进行维度为t×t的分块之后,再对每个分块进行2D-DCT变换,得到2D-DCT变换后的分块图像并传输给所述嵌入单元;
所述嵌入单元从所述置乱RAM中获取置乱后的水印图像并分别嵌入2D-DCT变换后的分块图像中,得到嵌入水印的宿主图像并发送给所述2D-IDCT模块;
所述2D-IDCT模块利用IDCT转换将嵌入水印的宿主图像从变换域转换到空间域,从而得到2D-IDCT变换后的嵌入水印的宿主图像并写入所述嵌入RAM;
所述第二2D-DCT模块从所述嵌入RAM中读取2D-IDCT变换后的嵌入水印的宿主图像并进行2D-DCT变换后,得到变换域的宿主图像并发送给所述提取单元;
所述提取单元提取所述变换域的宿主图像的水印,得到提取后的水印图像并发送给所述Arnold逆变换模块;
所述Arnold逆变换模块对提取后的水印图像进行Arnold逆变换处理,得到逆置乱后的水印图像并存入所述提取RAM。
本发明所述的基于DCT变换的数字水印硬件电路的特点也在于,所述Arnold变换模块,包括:地址产生模块、坐标生成模块、坐标变换模块、地址合成模块、使能产生模块;
所述地址产生模块接收到外部的置乱使能信号时产生初始地址并发送给所述坐标生成模块;
所述坐标生成模块根据所述初始地址生成初始的X、Y坐标并发送给所述坐标变换模块;
所述坐标变换模块将初始的X、Y坐标转化成Arnold变换后的X、Y坐标并发送给所述地址合成模块;
所述地址合成模块将Arnold变换后的X、Y坐标合成为置乱后的地址并作为置乱RAM的写地址;
所述使能产生模块接收到外部的置乱使能信号,产生所述置乱RAM的写使能并发送给所述置乱RAM;
所述置乱RAM根据所述置乱RAM的写使能,按照所述置乱RAM的写地址从水印RAM读出相应的水印数据并写入。
所述第一2D-DCT模块包括:两个1D-DCT模块、转置模块;
所述1D-DCT模块均包括:加法器/减法器模块、A部分计算模块、B部分计算模块;
第一1D-DCT模块对所述宿主图像进行分块后,得到每个分块并发送给所述加法器/减法器模块;
所述加法器/减法器模块接收外部的使能信号en1,若en1为高电平时,则对所述分块中的t位数据进行加法运算,输出运算结果a0~a3,若en1为低电平时,则对所述分块中的t位数据进行减法运算,输出运算结果a0~a3;
所述第一A部分计算模块接收外部的使能信号en2,若en2为高电平时,则对运算结果a0~a3进行加法运算,得到两个系数b0、b1;若en2为低电平时,对运算结果a0~a3进行减法运算,得到两个系数b0、b1;
所述第一A部分计算模块将两个系数b0、b1分别进行左移6位后,得到两个左移后的系数,再对两个左移后的系数分别进行加法和减法运算,从而得到第一转换结果y0、y4;
同时,所述第一A部分计算模块对两个系数b0、b1分别输入内部的SAU1计算模块得到4个不同的系数;再对4个不同的系数分别进行加法和减法运算,从而得到第二转换结果y2、y6;
所述第一B部分计算模块将运算结果a0~a3分别一起输入内部的四个SAU2计算模块中,相应得到四组的4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,最后对8个不同的系数进行两两加法运算,得到第三转换结果y1、y3、y5、y7;由转换结果y0~y7构成矩阵Y中的一行数据,从而经过t次运算得到t×t的矩阵Y;
所述第一转置模块包含:深度为t2的RAM;
所述RAM按照奇数读写的方式对矩阵Y中的一行数据y0~y7按行写入所述RAM中,直到写完t行为止,再对所写入的矩阵Y中的一列数据x0~x7按列读出,直到读完t列为止;所述RAM再按照偶数读写的方式对矩阵Y中的一行数据y0~y7按列写入所述RAM中,直到写完t列为止,再对所写入的矩阵Y中的一列数据x0~x7按行读出,直到读完t行为止,从而得到t×t的矩阵YT;
同理,第二1D-DCT模块对矩阵YT进行处理,得到2D-DCT变换后的分块图像。
所述嵌入单元包括:密钥产生模块、嵌入位置模块,线性内插嵌入模块、关系型嵌入模块、输出选择器;
所述密钥产生模块用于生成一个随机序列并作为密钥后传输给嵌入位置模块;
所述嵌入位置模块根据所述随机序列得到嵌入点的位置并结合所述置乱RAM中的水印数据来判断嵌入的方式,当水印数据为黑/白像素点,则选择嵌入的必选点,并将水印数据的黑/白像素数据送到所述关系型嵌入模块;当水印数据为非黑/白像素点,则选择嵌入的可选点,并将水印数据的非黑/白像素点送到所述线性内插嵌入模块;
所述关系型嵌入模块在所述必选点上对2D-DCT变换后的分块图像数据进行左移、右移之后再与十进制数值t-25进行加法运算,得到关系型嵌入后的图像数据并传输到所述输出选择器;
所述线性内插嵌入模块在所述可选点上对所述置乱RAM的水印数据和所述2D-DCT变换后的分块图像数据分别进行位拆分,得到两个位拆分后的数据并与二进制数值2′b10进行位拼接,得到线性内插嵌入后的图像数据并传输到所述输出选择器;
所述输出选择器对关系型嵌入后的图像数据或线性内插嵌入后的图像数据进行处理,得到嵌入水印的宿主图像。
所述2D-IDCT模块包括:两个1D-IDCT变换模块、转置模块;
所述第一1D-IDCT变换模块对所述嵌入水印的宿主图像中的两位数据x0、x4分别进行加法和减法运算后得到两个系数a4、a5,两个系数a4、a5分别左移6位得到两个系数b4、b5;将所述嵌入水印的宿主图像中的两个数据x2、x6分别经过内部的SAU1计算模块,相应得到4个不同的系数并进行加法和减法运算,得到两个系数b6、b7,再将四个系数b4、b5、b6、b7一起进行加法和减法运算,得到四个系数c0、c1、c2、c3;
所述第一1D-IDCT变换模块对所述嵌入水印的宿主图像中的四个数据x1、x3、x5、x7分别一起输入内部的四个SAU2计算模块中,相应得到四组的4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,然后对8个不同的系数进行两两加法和减法运算,得到4个系数c4、c5、c6、c7;
所述第一1D-IDCT变换模块对8个系数c0、c1、c2、c3、c4、c5、c6、c7进行加法和减法运算后,得到转换结果y0~y7,由转换结果y0~y7构成矩阵YT中的一行数据,从而经过t次运算后得到t×t的矩阵YT;
所述2D-IDCT模块中的转置模块先按照奇数读写的方式再按照偶数读写的方式将矩阵YT转换成矩阵Y;
同理,所述第二1D-IDCT模块对矩阵Y进行处理,得到2D-IDCT变换后的嵌入水印的宿主图像。
所述提取单元根据所述密钥得到水印的嵌入位置,从而根据水印的嵌入位置对2D-DCT变换后的变换域数据进行右移四位和左移四位处理,得到移位处理后的数据,再将移位处理后的数据与变换域数据进行减法运算,得到模16的结果并作为选择器2的控制使能;
同时,所述提取单元根据水印的嵌入位置对2D-DCT变换后的变换域数据进行位拆分和位提取处理后,得到非黑/白像素点并发送给选择器2,选择器2根据所述非黑/白像素点和外部输入的黑/白像素点输出提取后的水印数据。
与现有技术相比,本发明的有益效果在于:
1、传统的Arnold置乱采用组合逻辑完成水印图片的坐标变化,变化次数越多,消耗的资源越多,路径越长。而本发明设计了基于流水线架构的Arnold置乱模块,采用五级流水线,每级流水置乱4次,在多出5个时钟周期的基础上,电路工作频率提高了约3倍,因此缩短了Arnold置乱模块电路关键路径,减小了逻辑延时,提高了电路工作频率。
2、由于DCT变换的系数矩阵具有对称性,因此本发明采用分时复用的方法设计DCT硬件电路,将整个电路分成两部分,一部分进行偶数行计算,另一部分进行奇数行计算;在对偶数行进行计算时,又拆分成两部分进行计算,在进行奇数行计算时,计算四个模块的系数相乘之后,复用加法器电路模块,将12个加法器减少到3个加法器,从而减少了加法器的数量,节省了3/4的加法器的资源。
3、本发明设计的单RAM转置模块,采用奇数块行写列读,偶数块列写行读的读写方式,对RAM进行访问,在只使用一个RAM的情况下,即可完成数据的读写,从而实现了串入串出的矩阵转置功能,该转置模块节省约50%的存储器资源。
附图说明
图1为本发明数字水印硬件电路整体结构框图;
图2为本发明Arnold置乱电路结构图;
图3为本发明2D-DCT模块电路图;
图4为本发明基于流水结构的2D-DCT时序图;
图5为本发明基于数据复用的DCT电路图;
图6为本发明转置矩阵电路图;
图7为本发明水印嵌入单元电路图;
图8为本发明1D-IDCT电路图;
图9为本发明水印提取单元电路图。
具体实施方式
本实例中,如图1所示,一种基于DCT变换的数字水印硬件电路,包括:数字水印嵌入模块、数字水印提取模块、水印RAM模块、宿主RAM模块、提取RAM模块、嵌入RAM模块;
数字水印嵌入模块包括:Arnold变换模块、置乱RAM、第一个2D-DCT模块、嵌入单元、2D-IDCT模块;
数字水印提取模块包括:第二个2D-DCT模块、提取单元、Arnold逆变换模块;
水印RAM存储有n×n的水印图像,在本实例中,n=64,即水印图像的大小为64*64,单位是像素;
宿主RAM存储有m×m的宿主图像,在本实例中,m=512,即宿主图像的大小为512*512,单位是像素;
Arnold变换模块从水印RAM中获取水印图像并进行Arnold变换处理,得到置乱后的水印图像并存入置乱RAM;同时,第一个2D-DCT模块从宿主RAM中提取出宿主图像并进行维度为t×t的分块之后,再对每个分块进行2D-DCT变换,得到2D-DCT变换后的分块图像并传输给嵌入单元;
嵌入单元从置乱RAM中获取置乱后的水印图像并分别嵌入2D-DCT变换后的分块图像中,得到嵌入水印的宿主图像并发送给2D-IDCT模块;
2D-IDCT模块利用IDCT转换将嵌入水印的宿主图像从变换域转换到空间域,从而得到2D-IDCT变换后的嵌入水印的宿主图像并写入嵌入RAM,在本实例中,t=8,即对宿主图像进行8×8的分块;
第二个2D-DCT模块从嵌入RAM中读取2D-IDCT变换后的嵌入水印的宿主图像并进行2D-DCT变换后,得到变换域的宿主图像;
提取单元对变换域的宿主图像提取水印,得到提取的水印图像;
Arnold逆变换模块对提取的水印图像进行Arnold逆变换处理,得到逆置乱后的水印图像并存入提取RAM。
在本实例中,如图2所示,Arnold变换模块,包括:地址产生模块、坐标生成模块、坐标变换模块、地址合成模块、使能产生模块;
地址产生模块在置乱使能(Ar_en)拉高时产生初始地址(Addr_ori);
坐标生成模块根据初始地址(Addr_ori)生成初始的X、Y坐标(X_ori,Y_ori);
坐标变换模块将初始的X、Y坐标(X_ori,Y_ori)转化成Arnold变换后的X、Y坐标(X_tra,Y_tra);
地址合成模块将Arnold变换后的X、Y坐标(X_tra,Y_tra)合成为置乱后的地址(Addr_tra)并将其作为置乱RAM的写地址(W_addr);
使能产生模块根据地址产生模块的置乱使能(Ar_en),产生置乱RAM的写使能(W_en),通过置乱RAM的写使能(W_en)和置乱RAM的写地址(W_addr)从水印RAM读出水印数据并写入置乱RAM中;
具体实施中,Arnold置乱的次数为20,本实施例中,采用基于流水线架构的Arnold置乱模块,采用五级流水线,每级流水置乱4次;完成一次Arnold置乱需要两次加法、两次取模和一次乘法,相对于传统的Arnold置乱减少了40次的取模运算,以及将20次乘法操作换成移位操作,显著减少该模块的硬件资源。
在本实例中,如图3所示,第一个2D-DCT模块包括:两个1D-DCT模块、转置模块;
具体实施中,采用流水线结构设计2D-DCT模块,其时序图如图4所示,经过15T(T代表时钟周期),行DCT变换开始输出第一个数据,经过64T之后,一个8×8块的1D-DCT系数输出完成,同时输出转置的第一列数据,经过7T,列DCT的第一个数据开始输出;经过86T,此后的每个时钟周期都会输出一个2D-DCT系数,一张512×512的图片进行2D-DCT变换所需时间为262230T(512×512T+86T);
在本实例中,如图5所示,1D-DCT模块均包括:加法器/减法器模块、A部分计算模块、B部分计算模块;
第一1D-DCT模块对所述宿主图像进行分块后,得到每个分块并发送给加法器/减法器模块;
加法器/减法器模块接收外部的使能信号en1,若en1为高电平时,则对所述分块中的t位数据进行加法运算,输出运算结果a0~a3,若en1为低电平时,则对所述分块中的t位数据进行减法运算,输出运算结果a0~a3,在本实例中,t=8;
第一A部分计算模块接收外部的使能信号en2,若en2为高电平时,则对运算结果a0~a3进行加法运算,得到两个系数b0、b1;若en2为低电平时,对运算结果a0~a3进行减法运算,得到两个系数b0、b1;
第一A部分计算模块将两个系数b0、b1分别进行左移6位后,得到两个左移后的系数,再对两个左移后的系数分别进行加法和减法运算,从而第一转换结果y0、y4;
同时,第一A部分计算模块对两个系数b0、b1分别输入内部的SAU1计算模块得到4个不同的系数;再对4个不同的系数分别进行加法和减法运算,从而得到第二转换结果y2、y6;
第一B部分计算模块将运算结果a0~a3分别一起输入内部的四个SAU2计算模块中,相应得到四组的4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,最后对8个不同的系数进行两两加法运算,得到第三转换结果y1、y3、y5、y7;由转换结果y0~y7构成矩阵Y中的一行数据,经过t次运算,从而得到t×t的矩阵Y,在本实例中,t=8,即经过8次运算,得到8×8的矩阵Y;
1D-DCT变换采用流水线操作,输入一幅512×512的图片需要262144个周期,并且串行输入转化为并行输出需要花费8个周期,因此完成1D-DCT变换仅消耗7个周期,此后的每个时钟周期都得到一个1D-DCT变换输出结果;
在本实例中,第一转置模块包含:深度为t2的RAM,其中t=8,即RAM的深度为64;
在本实例中,如图6所示,RAM按照奇数读写的方式对矩阵Y中的一行数据y0~y7按行写入RAM中,直到写完t行为止,再对所写入的矩阵Y中的一列数据x0~x7按列读出,直到读完t列为止;RAM再按照偶数读写的方式对矩阵Y中的一行数据y0~y7按列写入RAM中,直到写完t列为止,再对所写入的矩阵Y中的一列数据x0~x7按行读出,直到读完t行为止,从而得到t×t的矩阵YT;只需采用一个RAM块,即可实现矩阵的转置,有效减少电路的资源消耗,其中t=8,即共用一个深度为64的RAM;
同理,第二1D-DCT模块对矩阵YT进行处理,得到2D-DCT变换后的分块图像。
在本实例中,如图7所示,嵌入单元包括:密钥产生模块、嵌入位置模块,线性内插嵌入模块、关系型嵌入模块、输出选择器;
密钥产生模块用于生成一个随机序列并作为密钥后传输给嵌入位置模块;
嵌入位置模块根据所述随机序列得到嵌入点的位置并结合置乱RAM中的水印数据来判断嵌入的方式,当水印数据为黑/白像素点,则选择嵌入必选点,并将水印数据的黑/白像素数据发送到关系型嵌入模块;当水印数据为非黑/白像素点,则选择嵌入可选点,并将水印数据的黑/白像素点送到线性内插嵌入模块;
关系型嵌入模块在必选点上对2D-DCT变换后的分块图像数据进行左移、右移之后再与十进制数值t-25进行加法运算,得到关系型嵌入后的图像数据并传输到输出选择器;
线性内插嵌入模块在可选点上对置乱RAM的水印数据和所述2D-DCT变换后的分块图像数据分别进行位拆分,得到两个位拆分后的数据并与二进制数值2'b10进行位拼接,得到线性内插嵌入后的图像数据并传输到输出选择器;
输出选择器对关系型嵌入后的图像数据和线性内插嵌入后的图像数据进行处理,得到嵌入水印的宿主图像并发送给2D-IDCT模块。
2D-IDCT模块包括:两个1D-IDCT变换模块、转置模块;2D-IDCT是2D-DCT的逆变换;
在本实例中,如图8所示,第一1D-IDCT变换模块对嵌入水印的宿主图像中的两位数据x0、x4分别进行加法和减法运算后得到两个系数a4、a5,两个系数a4、a5分别左移6位得到两个系数b4、b5;将嵌入水印的宿主图像中的两个数据x2、x6经过内部SAU1计算模块,相应得到4个不同的系数并对其进行加法和减法运算,得到两个系数b6、b7,再将四个系数b4、b5、b6、b7一起进行加法和减法运算,得到四个系数c0、c1、c2、c3;
第一1D-IDCT变换模块对嵌入水印的宿主图像中的四个数据x1、x3、x5、x7分别一起输入内部的四个SAU2计算模块中,相应得到四组4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,然后对8个不同的系数进行两两加法和减法运算,得到系数c4、c5、c6、c7;
第一1D-IDCT变换模块对8个系数c0、c1、c2、c3、c4、c5、c6、c7进行加法和减法运算后,得到转换结果y0~y7,由转换结果y0~y7构成矩阵YT中的一行数据,经过t次运算,从而得到t×t的矩阵YT;在本实例中,t=8,即经过8次运算,得到8×8的矩阵YT;
2D-IDCT模块中的转置模块先按照奇数读写方式,在按照偶数读写方式将矩阵YT转换成矩阵Y;
同理,第二1D-IDCT模块对矩阵Y进行处理,得到2D-IDCT变换后的嵌入水印的宿主图像。
在本实例中,如图9所示,提取单元会根据密钥得到水印的嵌入位置,从而根据水印的嵌入位置对2D-DCT变换后的变换域数据进行右移四位和左移四位处理,得到移位处理后的数据,再将移位处理后的数据与变换域数据进行减法运算,得到模16的结果并作为选择器2的控制使能;
同时,提取单元根据水印的嵌入位置对2D-DCT变换后的变换域数据进行位拆分和位提取后,得到非黑/白像素点并发送给选择器2,选择器2根据非黑/白像素点和外部输入的黑/白像素点来输出提取后的水印数据。
Claims (6)
1.一种基于DCT变换的数字水印硬件电路,其特征包括:数字水印嵌入模块、数字水印提取模块、水印RAM、宿主RAM、提取RAM、嵌入RAM;
所述数字水印嵌入模块包括:Arnold变换模块、置乱RAM、第一2D-DCT模块、嵌入单元、2D-IDCT模块;
所述数字水印提取模块包括:第二2D-DCT模块、提取单元、Arnold逆变换模块;
所述水印RAM存储有n×n的水印图像;
所述宿主RAM存储有m×m的宿主图像;
所述Arnold变换模块从所述水印RAM中获取水印图像并进行Arnold变换处理,得到置乱后的水印图像并存入所述置乱RAM;同时,所述第一2D-DCT模块从宿主RAM中提取出宿主图像并进行维度为t×t的分块之后,再对每个分块进行2D-DCT变换,得到2D-DCT变换后的分块图像并传输给所述嵌入单元;
所述嵌入单元从所述置乱RAM中获取置乱后的水印图像并分别嵌入2D-DCT变换后的分块图像中,得到嵌入水印的宿主图像并发送给所述2D-IDCT模块;
所述2D-IDCT模块利用IDCT转换将嵌入水印的宿主图像从变换域转换到空间域,从而得到2D-IDCT变换后的嵌入水印的宿主图像并写入所述嵌入RAM;
所述第二2D-DCT模块从所述嵌入RAM中读取2D-IDCT变换后的嵌入水印的宿主图像并进行2D-DCT变换后,得到变换域的宿主图像并发送给所述提取单元;
所述提取单元提取所述变换域的宿主图像的水印,得到提取后的水印图像并发送给所述Arnold逆变换模块;
所述Arnold逆变换模块对提取后的水印图像进行Arnold逆变换处理,得到逆置乱后的水印图像并存入所述提取RAM。
2.根据权利要求1所述的基于DCT变换的数字水印硬件电路,其特征是,所述Arnold变换模块,包括:地址产生模块、坐标生成模块、坐标变换模块、地址合成模块、使能产生模块;
所述地址产生模块接收到外部的置乱使能信号时产生初始地址并发送给所述坐标生成模块;
所述坐标生成模块根据所述初始地址生成初始的X、Y坐标并发送给所述坐标变换模块;
所述坐标变换模块将初始的X、Y坐标转化成Arnold变换后的X、Y坐标并发送给所述地址合成模块;
所述地址合成模块将Arnold变换后的X、Y坐标合成为置乱后的地址并作为置乱RAM的写地址;
所述使能产生模块接收到外部的置乱使能信号,产生所述置乱RAM的写使能并发送给所述置乱RAM;
所述置乱RAM根据所述置乱RAM的写使能,按照所述置乱RAM的写地址从水印RAM读出相应的水印数据并写入。
3.根据权利要求1所述的基于DCT变换的数字水印硬件电路,其特征是,所述第一2D-DCT模块包括:两个1D-DCT模块、转置模块;
所述1D-DCT模块均包括:加法器/减法器模块、A部分计算模块、B部分计算模块;
第一1D-DCT模块对所述宿主图像进行分块后,得到每个分块并发送给所述加法器/减法器模块;
所述加法器/减法器模块接收外部的使能信号en1,若en1为高电平时,则对所述分块中的t位数据进行加法运算,输出运算结果a0~a3,若en1为低电平时,则对所述分块中的t位数据进行减法运算,输出运算结果a0~a3;
所述第一A部分计算模块接收外部的使能信号en2,若en2为高电平时,则对运算结果a0~a3进行加法运算,得到两个系数b0、b1;若en2为低电平时,对运算结果a0~a3进行减法运算,得到两个系数b0、b1;
所述第一A部分计算模块将两个系数b0、b1分别进行左移6位后,得到两个左移后的系数,再对两个左移后的系数分别进行加法和减法运算,从而得到第一转换结果y0、y4;
同时,所述第一A部分计算模块对两个系数b0、b1分别输入内部的SAU1计算模块得到4个不同的系数;再对4个不同的系数分别进行加法和减法运算,从而得到第二转换结果y2、y6;
所述第一B部分计算模块将运算结果a0~a3分别一起输入内部的四个SAU2计算模块中,相应得到四组的4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,最后对8个不同的系数进行两两加法运算,得到第三转换结果y1、y3、y5、y7;由转换结果y0~y7构成矩阵Y中的一行数据,从而经过t次运算得到t×t的矩阵Y;
所述第一转置模块包含:深度为t2的RAM;
所述RAM按照奇数读写的方式对矩阵Y中的一行数据y0~y7按行写入所述RAM中,直到写完t行为止,再对所写入的矩阵Y中的一列数据x0~x7按列读出,直到读完t列为止;所述RAM再按照偶数读写的方式对矩阵Y中的一行数据y0~y7按列写入所述RAM中,直到写完t列为止,再对所写入的矩阵Y中的一列数据x0~x7按行读出,直到读完t行为止,从而得到t×t的矩阵YT;
同理,第二1D-DCT模块对矩阵YT进行处理,得到2D-DCT变换后的分块图像。
4.根据权利要求1所述的基于DCT变换的数字水印硬件电路,其特征是,所述嵌入单元包括:密钥产生模块、嵌入位置模块,线性内插嵌入模块、关系型嵌入模块、输出选择器;
所述密钥产生模块用于生成一个随机序列并作为密钥后传输给嵌入位置模块;
所述嵌入位置模块根据所述随机序列得到嵌入点的位置并结合所述置乱RAM中的水印数据来判断嵌入的方式,当水印数据为黑/白像素点,则选择嵌入的必选点,并将水印数据的黑/白像素数据送到所述关系型嵌入模块;当水印数据为非黑/白像素点,则选择嵌入的可选点,并将水印数据的非黑/白像素点送到所述线性内插嵌入模块;
所述关系型嵌入模块在所述必选点上对2D-DCT变换后的分块图像数据进行左移、右移之后再与十进制数值t-25进行加法运算,得到关系型嵌入后的图像数据并传输到所述输出选择器;
所述线性内插嵌入模块在所述可选点上对所述置乱RAM的水印数据和所述2D-DCT变换后的分块图像数据分别进行位拆分,得到两个位拆分后的数据并与二进制数值2′b10进行位拼接,得到线性内插嵌入后的图像数据并传输到所述输出选择器;
所述输出选择器对关系型嵌入后的图像数据或线性内插嵌入后的图像数据进行处理,得到嵌入水印的宿主图像。
5.根据权利要求1所述的基于DCT变换的数字水印硬件电路,其特征是,所述2D-IDCT模块包括:两个1D-IDCT变换模块、转置模块;
所述第一1D-IDCT变换模块对所述嵌入水印的宿主图像中的两位数据x0、x4分别进行加法和减法运算后得到两个系数a4、a5,两个系数a4、a5分别左移6位得到两个系数b4、b5;将所述嵌入水印的宿主图像中的两个数据x2、x6分别经过内部的SAU1计算模块,相应得到4个不同的系数并进行加法和减法运算,得到两个系数b6、b7,再将四个系数b4、b5、b6、b7一起进行加法和减法运算,得到四个系数c0、c1、c2、c3;
所述第一1D-IDCT变换模块对所述嵌入水印的宿主图像中的四个数据x1、x3、x5、x7分别一起输入内部的四个SAU2计算模块中,相应得到四组的4个不同系数;再对四组的4个不同系数进行两两加法运算,得到8个不同的系数,然后对8个不同的系数进行两两加法和减法运算,得到4个系数c4、c5、c6、c7;
所述第一1D-IDCT变换模块对8个系数c0、c1、c2、c3、c4、c5、c6、c7进行加法和减法运算后,得到转换结果y0~y7,由转换结果y0~y7构成矩阵YT中的一行数据,从而经过t次运算后得到t×t的矩阵YT;
所述2D-IDCT模块中的转置模块先按照奇数读写的方式再按照偶数读写的方式将矩阵YT转换成矩阵Y;
同理,所述第二1D-IDCT模块对矩阵Y进行处理,得到2D-IDCT变换后的嵌入水印的宿主图像。
6.根据权利要求4所述的基于DCT变换的数字水印硬件电路,其特征是,所述提取单元根据所述密钥得到水印的嵌入位置,从而根据水印的嵌入位置对2D-DCT变换后的变换域数据进行右移四位和左移四位处理,得到移位处理后的数据,再将移位处理后的数据与变换域数据进行减法运算,得到模16的结果并作为选择器2的控制使能;
同时,所述提取单元根据水印的嵌入位置对2D-DCT变换后的变换域数据进行位拆分和位提取处理后,得到非黑/白像素点并发送给选择器2,选择器2根据所述非黑/白像素点和外部输入的黑/白像素点输出提取后的水印数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484430.1A CN114140310B (zh) | 2021-12-07 | 2021-12-07 | 一种基于dct变换的数字水印硬件电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484430.1A CN114140310B (zh) | 2021-12-07 | 2021-12-07 | 一种基于dct变换的数字水印硬件电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114140310A CN114140310A (zh) | 2022-03-04 |
CN114140310B true CN114140310B (zh) | 2024-02-13 |
Family
ID=80385031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111484430.1A Active CN114140310B (zh) | 2021-12-07 | 2021-12-07 | 一种基于dct变换的数字水印硬件电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114140310B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011026365A1 (zh) * | 2009-09-03 | 2011-03-10 | 中兴通讯股份有限公司 | 一种图像数字水印嵌入和提取的方法及系统 |
CN109919822A (zh) * | 2019-01-24 | 2019-06-21 | 南京大学 | 一种数字水印嵌入系统及其实现方法 |
CN110084733A (zh) * | 2019-04-19 | 2019-08-02 | 中国科学院自动化研究所 | 文本图像水印的嵌入方法及系统、提取方法及系统 |
CN110390621A (zh) * | 2019-07-16 | 2019-10-29 | 鲁东大学 | 一种基于可变步长的dct域彩色数字图像盲水印方法 |
CN112862654A (zh) * | 2021-01-26 | 2021-05-28 | 合肥工业大学 | 基于关系型和线性内插相结合的盲水印嵌入和提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218638B2 (en) * | 2012-03-27 | 2015-12-22 | Infosys Limited | Method, system, and computer-readable medium for embedding and extracting a watermark in a video |
-
2021
- 2021-12-07 CN CN202111484430.1A patent/CN114140310B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011026365A1 (zh) * | 2009-09-03 | 2011-03-10 | 中兴通讯股份有限公司 | 一种图像数字水印嵌入和提取的方法及系统 |
CN109919822A (zh) * | 2019-01-24 | 2019-06-21 | 南京大学 | 一种数字水印嵌入系统及其实现方法 |
CN110084733A (zh) * | 2019-04-19 | 2019-08-02 | 中国科学院自动化研究所 | 文本图像水印的嵌入方法及系统、提取方法及系统 |
CN110390621A (zh) * | 2019-07-16 | 2019-10-29 | 鲁东大学 | 一种基于可变步长的dct域彩色数字图像盲水印方法 |
CN112862654A (zh) * | 2021-01-26 | 2021-05-28 | 合肥工业大学 | 基于关系型和线性内插相结合的盲水印嵌入和提取方法 |
Non-Patent Citations (2)
Title |
---|
基于改进猫群优化的DCT域数字水印算法;李晖;杨晓虹;;信息技术与信息化;20200428(第04期);全文 * |
基于置乱变换的DCT域二维数字水印算法;高海洋;朱桂斌;柏森;代勤芳;;科技信息(学术版);20060305(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114140310A (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qin et al. | Reversible data hiding scheme based on exploiting modification direction with two steganographic images | |
Po-Yueh et al. | A DWT based approach for image steganography | |
Parah et al. | Data hiding in scrambled images: a new double layer security data hiding technique | |
Mohanty | A secure digital camera architecture for integrated real-time digital rights management | |
Kuo et al. | Reversible data hiding based on histogram | |
Chang et al. | Image hiding scheme with modulus function and dynamic programming strategy on partitioned pixels | |
Maity et al. | FPGA implementation of reversible watermarking in digital images using reversible contrast mapping | |
Mukherjee et al. | Image steganography using mid position value technique | |
Kuo et al. | A reversible data hiding scheme based on block division | |
Ramalingam et al. | Stego on FPGA: an IWT approach | |
Chen et al. | Design and realization of a new signal security system for multimedia data transmission | |
Kuo et al. | Binary power data hiding scheme | |
Blough et al. | Almost certain diagnosis for intermittently faulty systems | |
CN114140310B (zh) | 一种基于dct变换的数字水印硬件电路 | |
CN106228503B (zh) | 卫星遥感影像shp点文件的数字水印嵌入和提取方法 | |
Das et al. | Parallel hardware implementation of efficient embedding bit rate control based contrast mapping algorithm for reversible invisible watermarking | |
Sasaki et al. | Constructing Digital Watermark Based on Orthogonal Functions | |
CN109919822B (zh) | 一种数字水印嵌入系统及其实现方法 | |
Ghosh et al. | Design and implementation of fast FPGA based architecture for reversible watermarking | |
Kuo et al. | On the security of reversible data hiding based-on histogram shift | |
Mahmoudpour et al. | Hardware architecture for a message hiding algorithm with novel randomizers | |
Jia et al. | A reversible data hiding scheme using inverse embedding methods in double-embedding strategies | |
Sleit et al. | Watermarking: A review of software and hardware techniques | |
Padeppagol et al. | Design and implementation of lifting based wavelet and adaptive LSB steganography to secret data sharing through image on FPGA | |
CN106952214B (zh) | 面向遥感图像shp面文件的数字水印嵌入与提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |