一种自适应隐匿水印的优化方法、系统、介质及终端与流程

    专利2022-07-08  104


    本发明涉及计算机应用领域,尤其涉及一种自适应隐匿水印的优化方法、系统、介质及终端。



    背景技术:

    随着科技的发展,手机已经成了人们生活必不可少的商品,而手机的摄像功能也越来越强大,在手机方便人们生活的同时,摄像功能缺也可以成为获取保存信息的手段。传统的计算机加密防护等方法,可能由于正常浏览信息时的手机摄屏而导致信息泄露,虽然可以通过强制要求禁止携带移动设备进入特定区域的方式,但这种方法对于很多场景也并不适用,所以,一方面要继续加强管理,另一方面,要尽可能对泄露数据可溯源。

    目前,最常用的方式就是添加水印,水印信息包括时间,地点,使用人信息等,通过水印的方式可以在泄露后进行溯源,但是,目前业界常见的水印方法,存在着抗扰性和隐匿性不能兼顾的问题,例如如果采用显性水印,即通过明文水印叠加在图像上,这种方式虽然抗扰性好,但隐匿性差。如果采用频域水印,即是将空域图像转换到频域,在频域叠加明文水印,再逆变换到空域,相当于将明文水印打散到了整个画面,肉眼无感知,隐匿性最好,但抗扰性较差,尤其对于摄屏表现很差。因此,需要一种新的水印方式,以满足防止摄屏的应用场景的需求。



    技术实现要素:

    鉴于以上所述现有技术的缺点,本发明提供一种自适应隐匿水印的优化方法、系统、介质及终端,以解决上述技术问题。

    本发明提供的自适应隐匿水印的优化方法,包括:

    获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;

    在所述八进制数据中添加校验位,形成新的八进制数据;

    根据所述新的八进制数据获取原始数据;

    根据原始数据的分辨率获取点阵水印中各点的默认大小;

    获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    根据所述点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    可选的,在由二进制数据转换为八进制数据时,通过将所述八进制数据中的第1,2,4......2^n位添加校验位,所述校验位的值为0,形成所述新的八进制数据,再通过将所述新的八进制数据转换为八进制汉明码,对数据丢失或错读时进行自动复原。

    可选的,若x&(2^n)>0,则将第x位的值加到2^n位上,其中,x为八进制数据所在位置,以x从1开始,n从0开始,从首位至末位依次计算,通过校验位的值计算八进制下的末位,以及八进制下的补位,进而获取八进制汉明码,进而根据所述八进制汉明码获取原始数据。

    可选的,在通过八进制汉明码获取原始数据时,若x&(2^n)>0,则将第x位的值加到2^n位上,其中,x为八进制数据所在位置,以x从1开始,n从0开始,从首位至末位依次计算,判断校验位是否为8的倍数,如果是则校验位取值为0,否则取值为1,依次计算n=0,1,2···时的值,将所有值依次组成的二进制数获取错误的位,若无错误,则移除校验位获取所述原始数据。

    可选的,根据所有结果形成的二进制数获取错误的位,若为第0位,则判定无错误,否则根据高进制汉明码生成规则,重新计算这一位的值,获取正确的汉明码。

    可选的,根据点阵中点的默认大小预设的长宽比例,获取各点的背景区域,如果所述背景区域的颜色相同或高度相似,则减小对应的点的大小,并减小点的颜色与背景颜色的差异,如果所述背景区域的颜色变化明显,则增大对应的点的大小,并增大点的颜色与背景颜色的差异。

    可选的,获取背景区域的rgb分量的方差、均值和灰度值均值,通过rgb分量上的方差的均值,判断背景区域的颜色变化,获取点的相对大小和颜色的相对调整大小,根据默认点大小和点的相对大小,获取点的实际大小,根据背景的灰度值均值和相对调整大小,获取点的实际颜色。

    本发明还提供一种自适应隐匿水印的优化系统,包括:

    转换模块,用于获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;在所述八进制数据中添加校验位,形成新的八进制数据;根据所述新的八进制数据获取原始数据;

    调整模块,用于根据原始数据的分辨率获取点阵水印中各点的默认大小;获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    水印叠加模块,用于根据所述点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任一项所述方法。

    本发明还提供一种电子终端,包括:处理器及存储器;

    所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述中任一项所述方法。

    本发明的有益效果:本发明中的自适应隐匿水印的优化方法、系统、介质及终端,可以根据画面不同背景自适应调整点阵水印的呈现,通过调整水印点的大小和颜色,提高纯色背景(如晴朗的天空)中点的隐匿性,增加混乱背景(如穿行的人流)中点的抗扰性,使图片上的各个点均可以分辨,并提高了隐匿性。

    附图说明

    图1是本发明实施例中自适应隐匿水印的优化方法的八进制点阵示意图。

    图2是本发明实施例中自适应隐匿水印的优化方法的流程示意图。

    具体实施方式

    以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

    需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

    在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。

    如图2所示,本实施例中的自适应隐匿水印的优化方法,包括:

    s1.获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;

    s2.在八进制数据中添加校验位,形成新的八进制数据;

    s3.根据新的八进制数据获取原始数据;

    s4.根据原始数据的分辨率获取点阵水印中各点的默认大小;

    s5.获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    s6.根据点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    在本实施例中,首先获取水印内容,将水印内容由二进制数据转换为八进制数据进行信息承载;在八进制数据中添加校验位,形成新的八进制数据;根据新的八进制数据获取原始数据。在本实施例中,通过四个点标识0~7八个数字,通过八进制点阵来承载二进制信息,采用八进制汉明码方式做冗余和矫正,如图1所示。根据每个点所在位置的背景情况,决定点的颜色和大小。汉明码在丢失或错读一位时可以自动复原,但八进制丢失一位相当于丢失三位二进制数据,无法满足要求,在本实施例中,具体转换步骤如下:

    s11.先将二进制数据转为八进制;

    s12.在第1,2,4···2^n位添加校验位,值为0,生成新的八进制数据;

    s13.八进制数据的所在位置为x(从1开始计数),若x&(2^n)>0(n从0开始计算),则将第x位的值加到2^n位(校验位)上,从首位到末位一次计算;

    s14.将校验位的值y计算八进制下的末位,然后计算八进制下的补码8-(y%8);

    s15.得到八进制汉明码。

    在本实施例中,八进制汉明码获取原始数据时,根据所有结果形成的二进制数获取错误的位,若为第0位,则判定无错误,如非第0位,则高进制汉明码生成规则,重新计算这一位的值。具体步骤如下:

    s21.八进制数据的所在位置为x(从1开始计数),若x&(2^n)>0(n从0开始计算),则将第x位的值加到2^n位(校验位)上,从首位到末位一次计算。

    s22.计算校验位(2^n位)是否为8的倍数,如果是则这一位的结果为0,否则为1,以此计算n=0,1,2···时的值,将这些值连在一起,组成二进制数,这个二进制数的值就是错误的位。

    s23.如果是第0位,则判定没有错误,否则根据高进制汉明码生成规则,重新计算这一位的值,得到正确的汉明码。

    s24.移除校验位,得到原始数据。

    在本实施例的步骤s14中,以八进制数1234567为例,首先补全检验位,yy1y234y567,在本实施例中,

    y--0001

    y--0010

    1--0011

    y--0100

    2--0101

    3--0110

    4--0111

    y--1000

    5--1001

    6--1010

    7--1011

    本实施例中的第1,2,4,8位(即二进制的第0001,0010,0100,1000位)补了y,接下来计算y的值,以第1位为例,也就是计算所有二进制位数末位为1的位计算补码,也就是第1,3,5,7,9,11位的值,由于第一位是y不记入,其余为的和为1 2 4 5 7=19(十进制)=23(8进制),本实施例中计算补码的目的是末位为0,所以补码为5,也就是8-(19%8)=5。通过这种方式不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置,实现冗余和矫正。

    在本实施例中,通过上述方式,可以实现自动校正,如果七位中如果丢失或错读1位,可以自动恢复正确数据。在点阵水印中,由于其具有自动纠错能力,即使其中一个点无法正常识别,也不影响整体识别结果,因此增加了抗扰性。

    在本实施例中,如果背景颜色相同,或者近乎相同,此时如果画一个点会非常明显;如果背景颜色变化特别大,画一个点就并不容易被发现,则隐匿性强,抗扰性弱。针对背景颜色相同,应适当减小点的大小,点的颜色接近背景,用以增强隐匿性;而针对背景变化较大,应适当扩大点的大小,使点的颜色尽可能和背景差异大,让点变得相对明显。本实施例对于不同的背景,采用不同颜色或大小的点,以达到合适的抗扰性和隐匿性。在本申请中,根据点阵中点的默认大小预设的长宽比例,获取各点的背景区域,如果所述背景区域的颜色相同或高度相似,则减小对应的点的大小,并减小点的颜色与背景颜色的差异,如果所述背景区域的颜色变化明显,则增大对应的点的大小,并增大点的颜色与背景颜色的差异。获取背景区域的rgb分量的方差均值和灰度值均值,判断背景区域的颜色变化,根据方差均值、灰度值均值和预设的阈值范围,对点的大小和颜色进行调整。

    以点大小3x3,背景大小9x9为例:

    s31.根据分辨率计算点的默认大小。

    s32.点周围长宽3倍于默认点大小的范围为背景,本实施例中的点大小采用3x3,背景大小9x9。

    s33.计算背景在rgb三个分量上的均值和方差,和灰度值均值。

    s34.计算rgb三个分量上的方差的均值,方差越小则背景颜色变化越小,方差越大则背景颜色变化越大。

    s35.根据方差均值,和预设的均值范围,得到点的相对大小和颜色的相对调整大小。

    s36.根据默认点大小和点的相对大小,计算出点的大小。

    s37.根据背景的灰度值均值和相对调整大小,算出点的实际颜色。预先定于灰度阈值,例如,若灰度小于128则增加灰度调整大小,否则减少灰度调整大小。

    下面以画面分辨率为1080p,水印内容为当前时间为例,进行进一步说明:

    y=当前年份-2000,保留二进制7位(128年),m为月份,二进制4位,d为日期,二进制5位,h为当前小时,二进制5位,共21位。转换为8进制共7位,按照四位数据三位校验位的汉明码方式,分为两个部分,一部分四位数据三位校验位,另一部分三位数据三位校验位,分别计算两部分汉明码,共13位八进制点阵。

    图片为1080p,默认点大小为3x3,将画面从中心分为四个小画面,每部分画面叠加相同内容的水印,每行七个点,每列四个点,水印叠加2次,全图共14x8个点阵,水印叠加8次,点阵均匀分布,可以计算出每个点阵的中心位置,按比例(比如中心位置高度间距的1/8)算出盲文各个点的坐标。

    对于每个点,以点坐标为中心的9x9区域为背景,计算背景区域的灰度均值和方差,根据方差计算颜色调整幅度以及点大小调整幅度。例如方差0~8,灰度调整32,大小不变;方差8~64,灰度调整64,大小不变;方差64~512,灰度调整96,大小变为1.5倍;方差512~4096,灰度调整112,大小变为1.5倍;方差大于4096,灰度调整128,大小变为2倍。根据计算后的结果,进行水印叠加。

    重复此过程直至完成所有点的水印叠加。

    在本实施例中,信息提取过程可以通过人眼识别和自动转换,将人眼识别出的点阵输入至现有的转换程序中,经汉明码纠错,移除冗余位,再反转成原始信息。

    本实施例还提供一种自适应隐匿水印的优化系统,包括:

    转换模块,用于获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;在所述八进制数据中添加校验位,形成新的八进制数据;根据所述新的八进制数据获取原始数据;

    调整模块,用于根据原始数据的分辨率获取点阵水印中各点的默认大小;获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    水印叠加模块,用于根据所述点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    本实施例中的自适应隐匿水印的优化系统,通过上述优化方法,根据点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。

    本实施例还提供一种电子终端,包括:处理器及存储器;

    所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行本实施例中任一项方法。

    本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

    本实施例提供的电子终端,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子终端执行如上方法的各个步骤。

    在本实施例中,存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

    上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

    在上述实施例中,说明书对“本实施例”的提及表示结合实施例说明的特定特征、结构或特性包括在至少一些实施例中,但不必是全部实施例。“本实施例”的多次出现不一定全部都指代相同的实施例。在上述实施例中,尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。

    本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

    本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

    本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

    上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。


    技术特征:

    1.一种自适应隐匿水印的优化方法,其特征在于,包括:

    获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;

    在所述八进制数据中添加校验位,形成新的八进制数据;

    根据所述新的八进制数据获取原始数据;

    根据原始数据的分辨率获取点阵水印中各点的默认大小;

    获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    根据所述点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    2.根据权利要求1所述的自适应隐匿水印的优化方法,其特征在于,在由二进制数据转换为八进制数据时,通过将所述八进制数据中的第1,2,4......2^n位添加校验位,所述校验位的值为0,形成所述新的八进制数据,再通过将所述新的八进制数据转换为八进制汉明码,对数据丢失或错读时进行自动复原。

    3.根据权利要求2所述的自适应隐匿水印的优化方法,其特征在于,若x&(2^n)>0,则将第x位的值加到2^n位上,其中,x为八进制数据所在位置,以x从1开始,n从0开始,从首位至末位依次计算,通过校验位的值计算八进制下的末位,以及八进制下的补位,进而获取八进制汉明码,进而根据所述八进制汉明码获取原始数据。

    4.根据权利要求3所述的自适应隐匿水印的优化方法,其特征在于,在通过八进制汉明码获取原始数据时,若x&(2^n)>0,则将第x位的值加到2^n位上,其中,x为八进制数据所在位置,以x从1开始,n从0开始,从首位至末位依次计算,判断校验位是否为8的倍数,如果是则校验位取值为0,否则取值为1,依次计算n=0,1,2···时的值,将所有值依次组成的二进制数获取错误的位,若无错误,则移除校验位获取所述原始数据。

    5.根据权利要求4所述的自适应隐匿水印的优化方法,其特征在于,根据所有结果形成的二进制数获取错误的位,若为第0位,则判定无错误,否则根据高进制汉明码生成规则,重新计算这一位的值,获取正确的汉明码。

    6.根据权利要求1所述的自适应隐匿水印的优化方法,其特征在于,根据点阵中点的默认大小预设的长宽比例,获取各点的背景区域,如果所述背景区域的颜色相同或高度相似,则减小对应的点的大小,并减小点的颜色与背景颜色的差异,如果所述背景区域的颜色变化明显,则增大对应的点的大小,并增大点的颜色与背景颜色的差异。

    7.根据权利要求6所述的自适应隐匿水印的优化方法,其特征在于,获取背景区域的rgb分量的方差、均值和灰度值均值,通过rgb分量上的方差的均值,判断背景区域的颜色变化,获取点的相对大小和颜色的相对调整大小,根据默认点大小和点的相对大小,获取点的实际大小,根据背景的灰度值均值和相对调整大小,获取点的实际颜色。

    8.一种自适应隐匿水印的优化系统,其特征在于,包括:

    转换模块,用于获取水印内容,将所述水印内容由二进制数据转换为八进制数据进行信息承载;在所述八进制数据中添加校验位,形成新的八进制数据;根据所述新的八进制数据获取原始数据;

    调整模块,用于根据原始数据的分辨率获取点阵水印中各点的默认大小;获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;

    水印叠加模块,用于根据所述点的实际大小和实际颜色进行水印叠加,直至完成点阵水印。

    9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法。

    10.一种电子终端,其特征在于,包括:处理器及存储器;

    所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至7中任一项所述方法。

    技术总结
    本发明提供一种自适应隐匿水印的优化方法、系统、介质及终端,方法包括:获取水印内容,将水印内容由二进制数据转换为八进制数据进行信息承载;在八进制数据中添加校验位,形成新的八进制数据;根据所述新的八进制数据获取原始数据;根据原始数据的分辨率获取点阵水印中各点的默认大小;获取各点的背景区域,并根据每个点各自的背景区域特征对点的大小和颜色进行调整,获取点的实际大小和实际颜色;根据点的实际大小和实际颜色进行水印叠加,直至完成点阵水印;本发明可以根据画面背景自适应调整点阵水印的呈现,通过调整水印点的大小和颜色,提高纯色背景中点的隐匿性,增加混乱背景中点的抗扰性,使图片上的各个点均可以分辨,并提高了隐匿性。

    技术研发人员:张翀
    受保护的技术使用者:重庆紫光华山智安科技有限公司
    技术研发日:2020.12.21
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16838.html

    最新回复(0)