基于FPGA实现的数字水印添加装置及数码相机转让专利

申请号 : CN200910083399.3

文献号 : CN101882295B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周朝晖

申请人 : 北京华旗资讯数码科技有限公司北京华旗数码技术实验室有限责任公司

摘要 :

本发明公开一种基于FPGA实现的数字水印添加装置及数码相机,所述的数码相机包括基于FPGA实现的数字水印添加装置和与数字水印添加模块连接的切换模块,数字水印嵌入模块通过FPGA进行门电路运算操作即可实现数字水印的添加,充分结合FPGA的门阵列的灵活性,使得本发明的数码相机的使用者可方便地选择进行脆弱数字水印添加或者添加鲁棒数字水印,方便使用者根据不同的场合和需求选择,灵活方便,而本发明采用的FPGA也方便二次开发、增加设计的灵活性,降低开发费用。

权利要求 :

1.一种基于FPGA实现的数字水印添加装置,包括:

数字水印发生模块,包括密钥产生模块;

数字水印嵌入模块,接收数字水印发生模块的数字水印;

控制模块,控制密钥产生模块产生的密钥加密用于添加数字水印的水印源图像并生成数字水印;

以及数字水印添加模块,包括切换模块和数字水印运算模块,所述的数字水印运算模块包括脆弱数字水印运算模块和鲁棒数字水印运算模块,所述的数字水印添加模块接收所述的数字水印和需要添加数字水印的原图像后,根据所选择需要添加的是脆弱数字水印或鲁棒数字水印,切换模块切换至对应的脆弱数字水印运算模块或鲁棒数字水印运算模块,使得需要添加数字水印的原图像通过脆弱数字水印或鲁棒数字水印运算模块进行运算转换,进而将数字水印嵌入到原图像生成添加数字水印的数字水印图像。

2.根据权利要求1所述的基于FPGA实现的数字水印添加装置,其中,所述的密钥产生模块还包括伪随机数发生器,所述的密钥产生模块产生的密钥触发伪随机数发生器产生伪随机序列并加密所述的水印源图像生成所述的数字水印。

3.根据权利要求2所述的基于FPGA实现的数字水印添加装置,其中,所述的伪随机数发生器是线性移位寄存器。

4.根据权利要求1所述的基于FPGA实现的数字水印添加装置,其中,所述的脆弱数字水印运算模块包括颜色变换空间模块、离散余弦变换模块、量化模块、加法模块、反量化模块以及反离散余弦变换模块,所述的离散余弦变换模块及量化模块运算所述的需要添加数字水印的原图像再由加法模块添加数字水印后,由所述的反量化及反离散余弦变换模块进行运算生成所述的数字水印图像。

5.根据权利要求1所述的基于FPGA实现的数字水印添加装置,其中,所述的鲁棒数字水印运算模块包括异或运算模块,所述的异或运算模块将所述的原图像和数字水印进行异或运算操作,生成所述的数字水印图像。

6.根据权利要求5所述的基于FPGA实现的数字水印添加装置,其中,所述的原图像的数据的第二个位线导入所述的异或运算模块与所述的数字水印进行异或运算操作。

7.根据权利要求2所述的基于FPGA实现的数字水印添加装置,其中,还包括与控制器连接的地址译码器,所述的地址译码器译码所述的需要添加数字水印的原图像和水印源图像的地址并传输给控制器以获取水印源图像和原图像,并分别传输至所述的数字水印发生模块和数字水印嵌入模块。

8.根据权利要求8所述的基于FPGA实现的数字水印添加装置,其中,还包括连接数字水印嵌入模块的寄存器,所述的数字水印嵌入模块将添加数字水印后的数字水印图像传输至寄存器以存储。

9.根据权利要求1所述的基于FPGA实现的数字水印添加装置,其中,还包括密钥存储器和水印信息验证模块。

10.根据权利要求10所述的基于FPGA实现的数字水印添加装置,其中,所述的密钥存储器内存储的密钥只能被加密单元或水印信息验证模块调用。

11.一种基于FPGA实现添加数字水印的数码相机,包括:

光学系统,获取外部景物的光学影像信号;

数字影像感应系统,将获取的外部的光学影像信号转换为数字影像信号;

处理器,处理器控制所述的光学系统及数字影像感应系统并处理生成的数字图像;

以及基于FPGA的数字水印添加装置,生成数字水印并将数字水印嵌入到需要添加数字水印的原图像中生成数字水印图像。

所述的基于FPGA的数字水印添加装置包括数字水印添加模块,所述的数字水印添加模块包括切换模块和数字水印运算模块,所述的数字水印运算模块包括脆弱数字水印运算模块和鲁棒数字水印运算模块,所述的数字水印添加模块接收所述的数字水印和需要添加数字水印的原图像后,根据所选择需要添加的是脆弱数字水印或鲁棒数字水印,切换模块切换至对应的脆弱数字水印运算模块或鲁棒数字水印运算模块,使得需要添加数字水印的原图像通过脆弱数字水印或鲁棒数字水印运算模块进行运算转换,进而将数字水印嵌入到原图像生成添加数字水印的数字水印图像。

12.根据权利要求11所述的基于FPGA实现添加数字水印的数码相机,其中,所述的基于FPGA的数字水印添加装置还包括:数字水印发生模块,包括密钥产生模块;

数字水印嵌入模块,接收数字水印发生模块的数字水印;

与处理器连接的控制模块,控制密钥产生模块产生的密钥加密用于添加数字水印的水印源图像并生成数字水印。

13.根据权利要求12所述的基于FPGA实现添加数字水印的数码相机,其中,还包括与所述的控制模块连接的存储器。

14.根据权利要求13所述的基于FPGA实现添加数字水印的数码相机,其中,还包括与存储器连接的寄存器,所述的寄存器将添加数字水印的数字水印图像传输至存储器存储。

15.根据权利要求14所述的基于FPGA实现添加数字水印的数码相机,其中,所述的处理器包括数字信号处理器和微处理器,所述的数字信号处理器和微处理器分别连接所述的存储器。

16.根据权利要求14所述的基于FPGA实现添加数字水印的数码相机,其中,所述的存储器包括随机存储器和闪存器,所述的随机存储器与控制模块连接,所述的闪存器与处理器连接。

17.一种如权利要求11所述的数码相机添加数字水印的方法,包括如下步骤:(1)获取用于添加数字水印的水印源图像和需要添加数字水印的原图像;

(2)加密所述的水印源图像并生成数字水印;

(3)判断添加脆弱数字水印或鲁棒数字水印或不添加数字水印,若是添加脆弱数字水印,则进入下一步,若是添加鲁棒数字水印,则进入步骤(5),若是不添加数字水印,则进入普通影像模式;

(4)切换至脆弱数字水印运算模块;

(5)切换至鲁棒数字水印运算模块;

(6)将所述的数字水印添加到原图像生成数字水印图像。

18.根据权利要求17所述的数码相机添加数字水印的方法,所述的步骤(4)包括:(4.1)将所述的原图像进行分块化运算变换;

(4.2)将分块运算变换后的图像进行离散余弦变换;

(4.3)将离散余弦变换后的图像进行量化变换;

(4.4)将所述的数字水印添加到量化后的图像;

(4.5)将量化后的图像进行反量化变换;

(4.6)将反量化后的图像进行反离散余弦变换,生成添加数字水印的数字水印图像。

19.根据权利要求17所述的数码相机添加数字水印的方法,其中,所述的步骤(5)包括(5.1)将所述的原图像进行颜色空间运算变换;

(5.2)将颜色空间运算变换后的原图像与数字水印进行异或操作运算,生成添加数字水印的数字水印图像。

20.根据权利要求19所述的数码相机添加数字水印的方法,其中,所述的步骤(5.2)还进一步包括将原图像的数据位的第二个位线导入异或门中,与所述的数字水印进行异或操作,生成添加数字水印的数字水印图像。

说明书 :

基于FPGA实现的数字水印添加装置及数码相机

【所属技术领域】

[0001] 本发明涉及一种数字水印添加装置,尤其涉及一种基于FPGA实现的数字水印添加装置及具有该数字水印添加装置的数码相机,并基于FPGA实现向数码相机所摄取的图像中添加数字水印的方法。【背景技术】
[0002] 数码相机已经被广泛地用于拍摄影像,拍摄后的数字影像方便数据的复制及保存,但数字影像复制及传输过程中,难以保障数字影像的版权,从而使得原作者不能主张或保护自己的正当的版权。因此,现有技术采用了在数码相机中设置数字水印添加装置,可以向拍摄的影像中添加数字水印,当添加数字水印的影像被篡改后,可以通过数字水印的验证以检验影像的版权及真实性,从而有利于所拍摄的数字影像的版权保障。
[0003] 上述的现有技术的数码相机的数字水印添加通过控制芯片和水印嵌入芯片将数字水印添加至影像中,当使用者需要标注自己作为原作者的版权时,需添加鲁棒数字水印,而当需要表明影像作品的真实性时,需添加脆弱数字水印,然而,现有技术的添加的数字水印受到控制芯片和水印嵌入芯片的限定,使用者只能按照设定的方式进行水印的添加。而不能满足使用者添加不同的数字水印的选择需求。
[0004] 现有技术的现场可编程门阵列(Field Programmable Gate Array,FPGA)采用了逻辑单元阵列LCA(Logic Cell Array),内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(InputOutput Block)和内部连线(Interconnect)三个部分,可以灵活地实现硬件配置,增加使用的灵活性和通用性,增加使用的可选择性。
[0005] 因此,如何将FPGA用于数码相机中实现添加数字水印,增加使用者使用数码相机添加不同的数字水印添加的灵活性,成为当前数字水印数码相机的发展趋势。【发明内容】
[0006] 本发明提供一种数码相机的数字水印添加装置,增加使用者选择添加数字水印的灵活性。
[0007] 为解决上述的技术问题,本发明提供一种基于FPGA实现的数字水印添加装置,包括:数字水印发生模块,包括密钥产生模块;数字水印嵌入模块,接收数字水印发生模块的数字水印;控制模块,控制密钥产生模块产生的密钥加密用于添加数字水印的水印源图像并生成数字水印;以及数字水印添加模块,包括切换模块和数字水印运算模块,所述的数字水印添加模块接收所述的数字水印和需要添加数字水印的原图像,切换模块切换至数字水印运算模块进行运算操作,进而将数字水印嵌入到原图像生成添加数字水印的数字水印图像。
[0008] 本发明还提供一种基于上述的FPGA实现添加数字水印的数码相机,包括:光学系统,获取外部景物的光学影像信号;数字影像感应系统,将获取的外部的光学影像信号转换为数字影像信号;处理器,处理器控制所述的光学系统及数字影像感应系统并处理生成数字的图像;以及基于FPGA的数字水印添加装置,数字水印添加装置生成数字水印,切换至使用者选择的数字水印所对应的数字水印运算模块,将数字水印嵌入到需添加数字水印的原图像中生成数字水印图像。
[0009] 本发明还进一步一种基于上述的FPGA实现数字水印添加的数码相机添加数字水印的方法,包括如下步骤:
[0010] (1)获取用于添加数字水印的水印源图像和需要添加数字水印的原图像;
[0011] (2)加密所述的水印源图像并生成数字水印;
[0012] (3)判断添加脆弱数字水印或鲁棒数字水印或不添加数字水印,若是添加脆弱数字水印,则进入下一步,若是添加鲁棒数字水印,则进入步骤(5);
[0013] (4)切换至脆弱数字水印运算模块;
[0014] (5)切换至鲁棒数字水印运算模块;
[0015] (6)将所述的数字水印添加到原图像生成数字水印图像。
[0016] 基于上述的数码相机添加数字水印的方法,所述的步骤(4)还包括:
[0017] (4.1)将所述的原图像进行分块化运算变换;
[0018] (4.2)将分块运算变换后的图像进行离散余弦变换;
[0019] (4.3)将离散余弦变换后的图像进行量化变换;
[0020] (4.4)将所述的数字水印添加到量化后的图像;
[0021] (4.5)将量化后的图像进行反量化变换;
[0022] (4.6)将反量化后的图像进行反离散余弦变换,生成添加数字水印的数字水印图像。
[0023] 基于上述的数码相机添加数字水印的方法,其中,所述的步骤(5)包括[0024] (5.1)将所述的原图像进行颜色空间运算变换;
[0025] (5.2)将颜色空间运算变换后的原图像与数字水印进行异或操作运算,生成添加数字水印的数字水印图像。
[0026] 基于上述的数码相机添加数字水印的方法,其中,所述的步骤(5.2)还进一步包括将原图像的数据位的第二个位线导入异或门中,与所述的数字水印进行异或操作,生成添加数字水印的数字水印图像。
[0027] 如上所述,本发明基于FPGA实现添加数字水印的数码相机设置基于FPGA实现的数字水印添加装置,获取数码相机所摄取的影像可以通过FPGA选择根据需求添加不同的数字水印,灵活性高,FPGA添加数字水印的运算速度快,增加用户选择使用数字水印添加功能的灵活性和提高水印添加的效率,方便用户选择使用。【附图说明】
[0028] 图1是本发明基于FPGA实现添加数字水印的数码相机的结构图。
[0029] 图2是本发明基于FPGA实现添加数字水印的数码相机添加数字水印的原理图。
[0030] 图3是本发明基于FPGA实现的脆弱或鲁棒数字水印运算模块的结构图。
[0031] 图4是本发明的数码相机添加脆弱或鲁棒数字水印的方法的流程图。【具体实施方式】
[0032] 为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施例,对本发明FPGA实现数字水印添加的数码相机及添加数字水印的方法的具体实施方式、结构特征及其功效,详细说明如下。
[0033] 本发明FPGA实现添加数字水印的数码相机,针对使用者的需求,可以灵活地添加数字水印,用户还可以选择输入信息添加至水印的信息或者选择其他信息作为数字水印的图像,方便用户使用,增加数字水印相机的数字水印添加的灵活性和方便性。
[0034] 如图1及图2所示,本发明FPGA实现添加数字水印的数码相机包括光学系统、数字影像感应系统、存储器、基于FPGA的水印添加装置以及处理器。处理器控制光学系统及数字影像感应系统并处理生成数字的图像,基于FPGA的数字水印添加装置生成数字水印并将数字水印嵌入到需要添加数字水印的原图像中生成数字水印图像并存储至存储器。本发明的光学系统和数字影像装置采用现有技术的数码相机的技术,为增加影像处理的速度和提高影像处理的质量,本发明的处理器包括用于影像处理的数字信号处理器和微处理器,数字信号处理装置接收数字影像感应系统所获取的数字信号并进行处理生成所拍摄的数字的图像,为提高图像的质量,并可以对图像进行降噪处理、自动的光线明暗调节等,处理后的图像可以传输至存储器存储。存储器包括随机存储器和闪存器,数字信号处理器处理后的图像传输至闪存器存储。微处理器分别连接存储器和随机存储器,数字信号处理器分别连接随机存储器和微处理器。在本发明中,若是使用者选择添加数字水印,则数字信号处理器同时将数字的图像传输至随机存储器以用于添加数字水印。
[0035] 如图1所示,本发明的基于FPGA实现的数字水印添加装置包括数字水印发生模块、控制模块以及数字水印添加模块,数字水印添加模块接收数字水印发生模块产生的数字水印,进而将数字水印嵌入到需要添加数字水印的原图像生成添加数字水印的数字水印图像。
[0036] 数字水印发生模块包括密钥产生模块和伪随机数发生器,密钥产生模块生成的密钥触发伪随机数发生器产生伪随机序列,同时加密用于添加数字水印的水印源图像,进而生成数字水印。在FPGA实现的数字水印发生模块时,伪随机数发生器是一个线性反馈移位寄存器,密钥产生模块所产生的密钥是作为线性反馈移位寄存器的种子进行触发。数字水印发生模块设置分别与随机存储器连接的地址译码器和与寄存器,地址译码器还连接控制模块,寄存器还与数字水印嵌入模块连接,在具体实施例中,控制模块内可以直接设置地址译码器和寄存器。使用者选择本发明的数码相机进行数字水印添加的功能后,密钥发生单元产生密钥,同时控制模块控制地址译码器对需要添加数字水印的原图像和用于添加数字水印的水印源图像的地址进行地址译码,进而从随机存储器中获取原图像和水印源图像并分别传输至数字水印嵌入模块和数字水印发生模块。数字水印发生模块所生成的密钥加密的接收的水印源图像和伪随机数发生器产生的伪随机数序列,并生成数字水印,生成的数字水印传输至数字水印嵌入模块,至此,数字水印嵌入模块将数字水印添加至原图像中生成添加数字水印后的数字水印图像。数字水印嵌入模块将添加数字水印后的数字水印图像传输给寄存器,进而通过存储器传输至随机存储器。微处理器控制随机寄存器中的数字水印图像进而传输至闪存器进行存储,或者传输至外部的电子设备。
[0037] 如图1和图3所示,数字水印添加模块包括切换模块和数字水印运算模块,数字水印运算模包括FPGA实现的脆弱数字水印运算模块和FPGA实现的鲁棒数字水印运算模块。数字水印添加模块接收所述的数字水印和需要添加数字水印的原图像后,根据所选择需要添加的是脆弱数字水印或鲁棒数字水印,切换模块切换至对应的脆弱数字水印运算模块或鲁棒数字水印运算模块,使得需要添加数字水印的原图像通过脆弱数字水印或鲁棒数字水印运算模块进行运算转换,进而将数字水印嵌入到原图像中并最终生成添加数字水印的数字水印图像。
[0038] 本发明中的FPGA实现的脆弱数字水印嵌入的脆弱数字水印运算模块包括分块运算模块、离散余弦变换模块、量化模块、加法模块、反量化模块以及反离散余弦变换模块。在FPGA实现中,加法模块接收需要添加数字水印的原图像和数字水印,由于FPGA的灵活性,可以采用加法器通过加法运算将数字水印嵌入到原图像的像素单元的数据中,也可以采用减法器通过减法运算将数字水印嵌入到原图像的像素单元的数据中。
[0039] 在本发明的FPGA实现的鲁棒数字水印嵌入的鲁棒数字水印运算模块包括颜色空间变换运算模块和异或运算模块,数字水印嵌入模块接收数字水印和需要添加数字水印的原图像后,颜色空间变换运算模块将需要添加数字水印的原图像进行颜色空间运算变换后,异或运算模块将颜色空间运算变换后的原图像与数字水印进行异或运算操作生成数字水印图像。在异或运算操作中,原图像的数据的第二个位线导入到异或门进行异或运算进而生成数字水印图像,控制模块控制数字水印嵌入模块将数字水印图像传输给寄存器以存储。
[0040] 如图4所示,本发明的数字水印嵌入模块接收数字水印和需要添加数字水印的原图像后,添加脆弱或鲁棒数字水印的方法,包括如下步骤:
[0041] (1)获取用于添加数字水印的水印源图像和需要添加数字水印的原图像;
[0042] (2)加密所述的水印源图像并生成数字水印;
[0043] (3)判断添加脆弱数字水印或鲁棒数字水印或不添加数字水印,若是添加脆弱数字水印,则进入下一步,若是添加鲁棒数字水印,则进入步骤(5);
[0044] (4)切换至脆弱数字水印运算模块;
[0045] (5)切换至鲁棒数字水印运算模块;
[0046] (6)将所述的数字水印添加到原图像生成数字水印图像。
[0047] 基于上述的数码相机添加数字水印的方法,所述的步骤(4)还包括:
[0048] (4.1)将所述的原图像进行分块化运算变换;
[0049] (4.2)将分块运算变换后的图像进行离散余弦变换;
[0050] (4.3)将离散余弦变换后的图像进行量化变换;
[0051] (4.4)将所述的数字水印添加到量化后的图像;
[0052] (4.5)将量化后的图像进行反量化变换;
[0053] (4.6)将反量化后的图像进行反离散余弦变换,生成添加数字水印的数字水印图像。
[0054] 在上述的切换至鲁棒数字水印运算模块的步骤(5)中,包括:
[0055] (5.1)将所述的原图像进行颜色空间运算变换;
[0056] (5.2)将颜色空间运算变换后的原图像与数字水印进行异或操作运算,生成添加数字水印的数字水印图像。
[0057] 在上述的切换至鲁棒数字水印运算模块的步骤(5)中,还进一步包括将原图像的数据的第二个位线导入异或门中,与所述的数字水印进行异或操作,生成添加数字水印的数字水印图像。
[0058] 本发明的FPGA实现添加数字水印的数码相机在使用时,通过对数字水印的选择性添加,方便使用者灵活地使用不同的数字水印添加,在添加数字水印的过程中,包括如下的步骤:
[0059] (1)开始初始化;
[0060] (2)选择是否进行数字水印的添加?若是,进入下一步骤,若否,进入普通的数码相机的影像拍摄模式;
[0061] (3)选择添加鲁棒数字水印或脆弱数字水印;
[0062] (4)将摄取的图像传输至数字信号处理器进行影像处理并存储,比如,影像的去噪、明暗处理等;
[0063] (5)获取需要添加数字水印的原图像和用于添加数字水印的水印源图像,具体地,数字水印添加模块的控制器控制地址译码器获取需要添加数字水印的源图像的地址和用于数字水印添加的水印源图像;
[0064] (6)生成数字水印,具体地,密钥产生模块生成的密钥加密水印源图像并触发伪随机数发生器,生成数字水印;
[0065] (7)将数字水印嵌入到原图像中,具体地,数字水印嵌入模块将数字水印添加到原图像中生成数字水印图像并存储;
[0066] (8)结束。
[0067] 在上述的步骤(5)中,还包括:
[0068] (5.1)是否输入信息,输入的信息包括用户的名字或数字等,若是,则进入下一步骤,若否,则进入步骤(6);
[0069] (5.2)将输入信息传输至数字水印发生模块。
[0070] 综上所述,本发明的FPGA实现添加数字水印的数码相机,方便使用者根据需要选择添加不同的数字水印,例如,需要保护版权时,可以选择添加鲁棒数字水印,当需要保证图像的真实性作为证据使用时,可选择添加脆弱数字水印,而FPGA的灵活性和高速的数据处理,提高本发明的数字水印添加的效率,进而实现数字水印的真实性。