加密图像可逆数据隐藏方法、装置及存储介质

文档序号:72973 发布日期:2021-10-01 浏览:12次 >En<

阅读说明:本技术 加密图像可逆数据隐藏方法、装置及存储介质 (Encrypted image reversible data hiding method and device and storage medium ) 是由 王克浩 陈国华 刘克中 郑凯 陈默子 曾旭明 马杰 于 2021-05-08 设计创作,主要内容包括:本发明提供一种加密图像可逆数据隐藏方法、装置及存储介质,方法包括对原始图像进行分块,获得多个子块图像,根据加密算法生成与所述子块图像一一对应的密码流,并根据密码流对所述子块图像中进行加密,生成加密子块图像;并对加密子块图像进行位置置换,获得加密图像;获取加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据分类机制和位平面信息,确定加密子块图像的分类类别,根据分类类别确定加密子块图像的嵌入空间;获取辅助数据和嵌入数据,并将辅助数据和嵌入数据嵌入至嵌入空间,生成标记加密图像;根据秘钥将标记加密图像进行还原,获得原始图像,并提取所述嵌入数据。本发明提高加密图像的嵌入容量。(The invention provides a method, a device and a storage medium for hiding reversible data of an encrypted image, wherein the method comprises the steps of partitioning an original image to obtain a plurality of sub-block images, generating cipher streams corresponding to the sub-block images one by one according to an encryption algorithm, and encrypting the sub-block images according to the cipher streams to generate encrypted sub-block images; carrying out position replacement on the encrypted sub-block image to obtain an encrypted image; acquiring bit plane information of the encrypted sub-block image, constructing a classification mechanism based on local correlation, determining the classification category of the encrypted sub-block image according to the classification mechanism and the bit plane information, and determining the embedding space of the encrypted sub-block image according to the classification category; acquiring auxiliary data and embedded data, and embedding the auxiliary data and the embedded data into an embedding space to generate a marked encrypted image; and restoring the marked encrypted image according to the secret key to obtain an original image, and extracting the embedded data. The present invention improves the embedding capacity of an encrypted image.)

加密图像可逆数据隐藏方法、装置及存储介质

技术领域

本发明涉及可逆数据隐藏

技术领域

,具体涉及一种加密图像可逆数据隐藏方法、装置及存储介质。

背景技术

近年来,随着云计算和云存储的发展,以及对原始图像内容保护要求的出现,加密图像可逆数据隐藏(Reversible Data Hiding in Encrypted Image,RDHEI)受到了许多研究者的关注。目前,根据对像素相关性利用阶段和方式的不同,主要有以下三种:方法一,加密前预留空间(Reserving Room Before Encryption,RRBE),即在加密前对原始图像进行预处理预留出嵌入空间;方法二,加密后预留空间(Reserving Room After Encryption,RRAE),即在加密后对加密图像进行处理预留出嵌入空间;方法三,通过加密腾出空间(Vacating Room By Encryption,VRBE),即通过加密算法将明文域的嵌入空间保留到密文域中。其中,基于VRBE算法能够有效将冗余空间从明文域中保留到密文域,并且该框架适合实际应用场景,因此被广泛用于各种应用中。

但基于VRBE的方法,大多方法都使用同一方法对相关性不同的区域进行探索,导致对不同区域的冗余空间探索程度相差巨大。在明文域中像素值浮动在128左右的块局部相关性很高,但是其像素的MSB值有0有1。由于基于VRBE的方法中采用的加密方法,导致在加密后该种类型块中像素值的差值变大而不是保持原有的差值,因而该部分在明文域的高相关性并没有被完全保留到密文域中。

发明内容

本发明提供一种加密图像可逆数据隐藏方法、装置及存储介质,旨在解决现有技术中存在的加密图像可逆数据隐藏方法无法将明文域的高相关性保留到密文域,导致加密图像的嵌入容量不够的技术问题。

一方面,本发明提供一种加密图像可逆数据隐藏方法,包括:

对原始图像进行分块,获得多个子块图像,根据加密算法生成与所述多个子块图像一一对应的多个密码流,并根据所述多个密码流对所述多个子块图像中的每一子块图像进行加密,生成加密子块图像;并对所述多个加密子块图像进行位置置换,获得加密图像;

获取所述每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据所述分类机制和所述位平面信息,确定所述每一加密子块图像的分类类别,根据所述分类类别确定所述每一加密子块图像的嵌入空间;

获取辅助数据和嵌入数据,并将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像;

获取所述标记加密图像和秘钥,根据秘钥将所述标记加密图像进行还原,获得所述原始图像,并从所述标记加密图像中提取所述嵌入数据。

在本发明一种可能的实现方式中,所述每一子块图像包括多个像素,所述多个像素中的每一个像素均为二进制的八位比特位;所述根据所述多个密码流对所述多个子块图像中的每一子块图像进行加密具体为:

其中,Ei,j为加密子块图像中的每一个像素;Ri为密码流;Pi,j为子块图像中的每一个像素;为异或运算;m为子块图像的个数;n×n为每一个子块图像的大小;i为每一个子块图像的索引,j为每一个像素位置的索引;ei,j,k为Ei,j的第k个位面索引;ri,k为Ri的第k个位面索引;pi,j,k为Pi,j的第k个位面索引,且pi,j,k为二进制表示;k为每一个像素的位平面的索引,是向下取整函数。

在本发明一种可能的实现方式中,所述根据所述分类机制和所述位平面信息,确定所述每一加密子块图像的分类类别包括:

沿从最高位平面到最低位平面的顺序,计算所述每一加密子块图像中的每一个像素中连续相同位平面的数量;

若所述连续相同位平面的数量大于或等于3,则所述加密子块图像的分类类别为第一类;

若所述连续相同位平面的数量为1或2,则所述加密子块图像的分类类别为第二类;

若所述连续相同位平面的数量为0,则所述加密子块图像的分类类别为第三类;

所述根据所述分类类别确定所述每一加密子块图像的嵌入空间包括:

若所述分类类别为第一类,则所述连续相同的位平面为所述每一加密子块图像的嵌入空间;

若所述分类类别为第二类,则所述连续相同的位平面为所述每一加密子块图像的第一子嵌入空间,并根据自适应编码策略确定所述每一加密子块图像的第二子嵌入空间,所述第一子嵌入空间和所述第二子嵌入空间构成所述嵌入空间;

若所述分类类别为第三类,则根据所述自适应编码策略确定所述每一加密子块图像的嵌入空间。

在本发明一种可能的实现方式中,所述每一个像素包括4位高位平面和4位低位平面;所述第二子嵌入空间ES为:

其中,numi为所述连续相同位平面的数量。

在本发明一种可能的实现方式中,若所述分类类别为第三类,则所述根据所述自适应编码策略确定所述每一加密子块图像的嵌入空间包括:

将所述每一加密子块图像中像素值大于或等于128的像素定义为第一集合,将像素值小于128的像素定义为第二集合;

分别计算所述第一集合的所述连续相同的位平面和所述第二集合的所述连续相同的位平面,并将所述第一集合的所述连续相同的位平面作为所述第一集合的嵌入空间,将所述第二集合的所述连续相同的位平面作为所述第二集合的嵌入空间。

在本发明一种可能的实现方式中,当所述加密子块图像的分类类别为第一类时,所述辅助数据包括连续相同位平面的数量numi,所述将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像包括:

将所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给所述加密子块图像的第一个像素的第六位、第七位和第八位;

将numi转换成三位的二进制比特位,并将所述二进制比特位的第零位、第一位和第二位依次赋值给所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位;

将嵌入数据嵌入至除最后一个像素的嵌入空间内。

在本发明一种可能的实现方式中,当所述加密子块图像的分类类别为第二类时,所述辅助数据包括连续相同位平面的数量numi、第一标志位si、第一子信息M1以及第二子信息M2,所述将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像包括:

判断si是否为1,若否,则不对所述加密子块图像做处理,若是,则判断numi为1还是为2;

若numi为2,则将所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给所述加密子块图像的第一个像素的第八位、第一个像素的第七位和第二个像素的第八位;若numi为1,则将所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给所述加密子块图像的第一个像素的第八位、第二个像素的第八位和第三个像素的第八位;

将numi转换成二进制的三位比特位,并将所述三位比特位的第零位、第一位和第二位依次赋值给所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位;

si为一位比特位,将si赋值给所述加密子块图像的第四个像素的第零位;

M1和M2的比特位相同,为两位或三位比特位,判断所述加密子块图像从第五个像素到最后一个像素的个数是否小于M1和M2的比特位数之和,若否,则将所述M1和M2依次按位赋值给所述第四个像素之后的每一个像素的第零位;若是,则将所述M1和M2依次按位赋值给所述第五个像素到最后一个像素的第零位,并将多余的M1和M2的比特位依次赋值给所述第一个像素到最后一个像素的第一位;

将嵌入数据嵌入至除最后一个像素的嵌入空间内。

在本发明一种可能的实现方式中,当所述加密子块图像的分类类别为第三类时,所述辅助数据包括所述第一集合的连续相同位平面的数量所述第二集合的连续相同位平面的数量第二标志位s1、第三标志位s2、第四标志位s3以及类型信息t,所述将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像包括:

判断第二标志位s1是否为1,若否,则不对所述加密子块图像做处理,若是,则:

将所述加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位赋值为零;

根据行扫描顺序扫描所述每一加密子块图像中的像素,并记录每行像素中每一像素的最高位平面,生成n个第一最高位平面排列,其中n为所述加密子块图像的列数;

根据列扫描顺序扫描所述每一加密子块图像中的像素,并记录每列像素中每一像素的最高位平面,生成n第二最高位平面排列,其中n为所述加密子块图像的行数;

判断所述第一最高位平面排列的类型数或所述第二最高位平面排列的类型数是否为1,若所述第一最高位平面排列的类型数或所述第二最高位平面排列的类型数为1,则s2为1,t为类型数为1的第一最高位平面排列或第二最高位平面排列,当类型数为1是第一最高位平面排列时,s3为0,当类型数为1是第一最高位平面排列时,s3为1;若所述第一最高位平面排列的类型数或所述第二最高位平面排列的类型数不为1,则s2为0;

判断所述加密子块图像从第四个像素到最后一个像素的个数是否小于s1、s2、s3以及t的比特位数之和,若否,则将所述s1、s2、s3、t、依次按位赋值给所述第三个像素之后的每一个像素的第零位;若是,则将所述s1、s2、s3、t、依次按位赋值给所述第四个像素到最后一个像素的第零位,并将多余的s1、s2、s3、t、的比特位依次赋值给所述第一个像素到最后一个像素的第一位;

将嵌入数据分别嵌入至所述第一集合除最后一个像素的嵌入空间内以及所述第二集合除最后一个像素的嵌入空间内。

另一方面,本发明提供一种加密图像可逆数据隐藏装置,包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现上述任一项所述的加密图像可逆数据隐藏方法。

另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述任一项所述的加密图像可逆数据隐藏方法中的步骤。

本发明通过构建基于局部相关性的分类机制,并根据分类机制和位平面信息,确定每一加密子块图像的分类类别,根据分类类别确定每一加密子块图像的嵌入空间,将明文域的高相关性保留到密文域,提高加密图像的嵌入容量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的加密图像可逆数据隐藏系统的场景示意图;

图2是本发明实施例提供的加密图像可逆数据隐藏方法的一个实施例流程示意图;

图3是本发明实施例提供的S201的一个实施例流程示意图;

图4是本发明实施例提供的S202的一个实施例流程示意图;

图5是本发明实施例提供的S403的另一个实施例流程示意图;

图6是本发明实施例提供的S203的一个实施例流程示意图;

图7是本发明实施例提供的numi=3的加密子块图像的一个实施例示意图;

图8是本发明实施例提供的numi=3的加密子块图像二进制表示的一个实施例示意图;

图9是本发明实施例提供的numi=3的加密子块图像辅助数据嵌入的一个实施例示意图;

图10是本发明实施例提供的numi=3的加密子块图像嵌入数据嵌入的一个实施例示意图;

图11是本发明实施例提供的S203的另一个实施例流程示意图;

图12是本发明实施例提供的numi=1的加密子块图像二进制表示的一个实施例示意图;

图13是本发明实施例提供的numi=1的加密子块图像辅助数据和嵌入数据嵌入的一个实施例示意图;

图14是本发明实施例提供的S203的第三个实施例流程示意图;

图15是本发明实施例提供的的numi=0的加密子块图像的一个实施例示意图;

图16是本发明实施例提供的numi=0的加密子块图像二进制表示的一个实施例示意图;

图17是本发明实施例提供的numi=0的加密子块图像辅助数据和嵌入数据嵌入的一个实施例示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明提供了一种加密图像可逆数据隐藏方法、装置及存储设备,以下分别进行详细说明。

图1为本发明实施例所提供的加密图像可逆数据隐藏系统的场景示意图,该系统可以包括服务器100,服务器100中集成有加密图像可逆数据隐藏装置,如图1中的服务器。

本发明实施例中服务器100主要用于:

对原始图像进行分块,获得多个子块图像,根据加密算法生成与所述多个子块图像一一对应的多个密码流,并根据所述多个密码流对所述多个子块图像中的每一子块图像进行加密,生成加密子块图像;并对所述多个加密子块图像进行位置置换,获得加密图像;

获取所述每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据所述分类机制和所述位平面信息,确定所述每一加密子块图像的分类类别,根据所述分类类别确定所述每一加密子块图像的嵌入空间;

获取辅助数据和嵌入数据,并将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像;

获取所述标记加密图像和秘钥,根据秘钥将所述标记加密图像进行还原,获得所述原始图像,并从所述标记加密图像中提取所述嵌入数据。

本发明实施例中,该服务器100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。

可以理解的是,本发明实施例中所使用的终端200可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端200可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定终端200的类型。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本发明方案一种应用场景,并不构成对本发明方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的终端,例如图1中仅示出2个终端,可以理解的,该加密图像可逆数据隐藏系统还可以包括一个或多个其他终端,具体此处不作限定。

另外,如图1所示,该加密图像可逆数据隐藏系统还可以包括存储器300,用于存储数据,如有效循环移位数以及基础阵列等。

需要说明的是,图1所示的加密图像可逆数据隐藏系统的场景示意图仅仅是一个示例,本发明实施例描述的加密图像可逆数据隐藏系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着加密图像可逆数据隐藏系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

首先,本发明实施例提供了一种加密图像可逆数据隐藏方法,该加密图像可逆数据隐藏方法包括:对原始图像进行分块,获得多个子块图像,根据加密算法生成与所述多个子块图像一一对应的多个密码流,并根据所述多个密码流对所述多个子块图像中的每一子块图像进行加密,生成加密子块图像;并对所述多个加密子块图像进行位置置换,获得加密图像;获取所述每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据所述分类机制和所述位平面信息,确定所述每一加密子块图像的分类类别,根据所述分类类别确定所述每一加密子块图像的嵌入空间;获取辅助数据和嵌入数据,并将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像;获取所述标记加密图像和秘钥,根据秘钥将所述标记加密图像进行还原,获得所述原始图像,并从所述标记加密图像中提取所述嵌入数据。

如图2所示,为本发明实施例提供的加密图像可逆数据隐藏方法的一个实施例流程示意图,该方法包括:

S201、对原始图像进行分块,获得多个子块图像,根据加密算法生成与多个子块图像一一对应的多个密码流,并根据多个密码流对多个子块图像中的每一子块图像进行加密,生成加密子块图像;并对多个加密子块图像进行位置置换,获得加密图像;

其中,S201由图像拥有者完成。

需要说明的是:加密算法可以是RC4、ORYX、SEAL等算法中的任意一种。

S202、获取每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据分类机制和位平面信息,确定每一加密子块图像的分类类别,根据分类类别确定每一加密子块图像的嵌入空间;

S203、获取辅助数据和嵌入数据,并将辅助数据和嵌入数据嵌入至所述嵌入空间,生成标记加密图像;

其中,S202和S203由数据隐藏者完成。

S204、获取标记加密图像和秘钥,根据秘钥将标记加密图像进行还原,获得原始图像,并从标记加密图像中提取嵌入数据。

其中,S204由数据接收者完成。

本发明实施例提供的加密图像可逆数据隐藏方法,在嵌入空间确定步骤中,获取每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据分类机制和位平面信息,确定每一加密子块图像的分类类别,根据分类类别确定每一加密子块图像的嵌入空间,对不同分类类别的加密子块图像分别确定嵌入空间,将明文域的高相关性保留到密文域,提高了加密图像的嵌入容量。

进一步地,在本发明的一些实施例中,每一子块图像包括多个像素,多个像素中的每一个像素均为二进制的八位比特位;则S201中根据多个密码流对多个子块图像中的每一子块图像进行加密具体为:

其中,Ei,j为加密子块图像中的每一个像素;Ri为密码流;Pi,j为子块图像中的每一个像素;为异或运算;m为子块图像的个数;n×n为每一个子块图像的大小;i为每一个子块图像的索引,j为每一个像素位置的索引;ei,j,k为Ei,j的第k个位面索引;ri,k为Ri的第k个位面索引;pi,j,k为Pi,j的第k个位面索引,且pi,j,k为二进制表示;k为每一个像素的位平面的索引,是向下取整函数。

其中,异或运算的原理为:

进一步地,如图3所示,S201中的根据分类机制和位平面信息,确定每一加密子块图像的分类类别包括:

S301、沿从最高位平面(MSB)到最低位平面(LSB)的顺序,计算每一加密子块图像中的每一个像素中连续相同位平面的数量;

具体地,对于一个加密子块图像,其像素的最大值和最小值分别表示为E i,XiE i之间的异或运算结果,其计算公式为:

其中,xi,k表示Xi的第k个位平面。

如果加密子块图像中所有像素存在连续相同位平面,那么对于Xi,从最高位平面开始算起,存在连续的0序列。

从MSB到LSB,f1表示第一个出现的1的位置,即这意味着从k=8到k=f1+1,xi,k=0。因此,Xi可表示为:

其中连续相同位平面的数量numi是连续0出现的数量,即加密子块图像中连续相同位平面的数量。

那么从k=8到k=f1+1,E i之间位平面是连续相同的,如下所示:

因此,numi为:

numi=8-f1

那么加密子块图像对应的numi确定。此处给出一个关于numi计算的例子。若一个加密子块图像中的最大像素值为50,二进制表示为“00110010”。最小像素值为32,二进制表示为“00100000”。两者之间的异或运算结果为“00010010”。从MSB开始,出现第一个1的位平面为5,即f1=5。因此numi=3。

S302、若连续相同位平面的数量大于或等于3,则加密子块图像的分类类别为第一类;

S303、若连续相同位平面的数量为1或2,则加密子块图像的分类类别为第二类;

S304、若连续相同位平面的数量为0,则加密子块图像的分类类别为第三类。

进一步地,在本发明的一些实施例中,如图4所示,S202包括:

S401、若分类类别为第一类,则连续相同的位平面为每一加密子块图像的嵌入空间;

S402、若分类类别为第二类,则连续相同的位平面为每一加密子块图像的第一子嵌入空间,并根据自适应编码策略确定每一加密子块图像的第二子嵌入空间,第一子嵌入空间和第二子嵌入空间构成嵌入空间;

S403、若分类类别为第三类,则根据自适应编码策略确定每一加密子块图像的嵌入空间。

通过上述设置,实现对于局部相关性高的区域,提出直接使用初次嵌入方法使用尽可能少的辅助信息以最大化嵌入空间。对于局部相关性低的区域,构建多层处理机制,分别使用初次嵌入方法和自适应编码策略进行冗余空间探索,特别是对于局部相关性没有被完全保留的区域,使用自适应编码策略用来处理这一特殊情况充分探索冗余空间,可进一步提高嵌入空间的容量。

进一步地,由于本发明实施例中每个像素为二进制的八位比特位,因此,每一个像素包括4位高位平面和4位低位平面;第二子嵌入空间ES为:

应当理解的是,对于每个加密子块图像:

若numi=1,自适应编码策略为每个像素腾出的嵌入空间为两层位平面即2位比特位,整个加密子块图像腾出嵌入空间为2n2位比特位。

若numi=2,自适应编码策略为每个像素腾出的嵌入空间为一层位平面即1位比特位,整个加密子块图像腾出嵌入空间为n2位比特位。

进一步地,如图5所示,在本发明的一些实施例中,若分类类别为第三类,则S403包括:

S501、将每一加密子块图像中像素值大于或等于128的像素定义为第一集合,将像素值小于128的像素定义为第二集合;

S502、分别计算第一集合的连续相同的位平面和第二集合的连续相同的位平面,并将第一集合的连续相同的位平面作为第一集合的嵌入空间,将第二集合的连续相同的位平面作为第二集合的嵌入空间。

进一步地,在本发明的一些实施例中,当加密子块图像的分类类别为第一类时,辅助数据包括连续相同位平面的数量numi,如图6所示,S203包括:

S601、将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给加密子块图像的第一个像素的第六位、第七位和第八位;

具体地,赋值过程如下述公式所示:

S602、将numi转换成三位的二进制比特位,并将二进制比特位的第零位、第一位和第二位依次赋值给加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位;

S603、将嵌入数据嵌入至除最后一个像素的嵌入空间内。

通过设置不向最后一个像素的嵌入空间嵌入数据,可维持前numi个高位平面的原值,保证可逆性。

具体地,在本发明的一个实施例中,加密子块图像如图7所示,其最大像素值为50,最小像素值为32,如图8所示,将加密子块图像中的每个像素转换成二进制表示,最大像素值为“00110010”,最小像素值为“00100000”,计算可得numi=3,则numi为“011”,则每个像素的第八位、第七位和第六位为可嵌入空间,如图9所示,将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给加密子块图像的第一个像素的第六位、第七位和第八位,将numi的第零位、第一位和第二位依次赋值给加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位,如图10所示,将嵌入数据嵌入除了第一个像素的其他像素的嵌入空间内,完成数据嵌入。

进一步地,在本发明的一些实施例中,当加密子块图像的分类类别为第二类时,辅助数据包括连续相同位平面的数量numi、第一标志位si、第一子信息M1以及第二子信息M2,如图11所示,S203包括:

S1101、判断si是否为1,若否,则不对加密子块图像做处理,若是,则判断numi为1还是为2;

其中,

其中,λi为M1和M2的类型数,T为阈值。

S1102、若numi为2,则将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给加密子块图像的第一个像素的第八位、第一个像素的第七位和第二个像素的第八位;若numi为1,则将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给所述加密子块图像的第一个像素的第八位、第二个像素的第八位和第三个像素的第八位;

具体地,当numi为2,赋值过程如下述公式所示:

当numi为1,赋值过程如下述公式所示:

S1103、将numi转换成二进制的三位比特位,并将三位比特位的第零位、第一位和第二位依次赋值给加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位;

S1104、si为一位比特位,将si赋值给加密子块图像的第四个像素的第零位;

S1105、M1和M2的比特位相同,为两位或三位比特位,判断加密子块图像从第五个像素到最后一个像素的个数是否小于M1和M2的比特位数之和,若否,则将M1和M2依次按位赋值给第四个像素之后的每一个像素的第零位;若是,则将M1和M2依次按位赋值给第五个像素到最后一个像素的第零位,并将多余的M1和M2的比特位依次赋值给第一个像素到最后一个像素的第一位;

其中,M1和M2如下述公式所示:

应当理解的是:当numi=1时,M1和M2共占用6位比特位。当numi=2时,M1和M2共占用4位比特位。

S1106、将嵌入数据嵌入至除最后一个像素的嵌入空间内。

同样的,通过设置不向最后一个像素的嵌入空间嵌入数据,可维持前numi个高位平面的原值,保证可逆性。

具体地,在本发明的一个实施例中,加密子块图像的二进制表示如图12所示,计算可得numi=1,则numi为“001”,则每个像素的第八位为第一子嵌入空间,每个像素的第六位和第五位为第二子嵌入空间,如图13所示,将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位依次赋值给所述加密子块图像的第一个像素的第八位、第二个像素的第八位和第三个像素的第八位,将numi的第零位、第一位和第二位依次赋值给加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位;将si赋值给加密子块图像的第四个像素的第零位,且M1=101,M2=010,计算可知:加密子块图像从第五个像素到最后一个像素的个数小于M1和M2的比特位数之和,将多余的M1和M2的比特位依次赋值给第一个像素到最后一个像素的第一位,实现将辅助数据嵌入至嵌入空间。

进一步地,在本发明的一些实施例中,当加密子块图像的分类类别为第三类时,辅助数据包括第一集合的连续相同位平面的数量第二集合的连续相同位平面的数量第二标志位s1、第三标志位s2、第四标志位s3以及类型信息t,则如图14所示,S203包括:

S1401、判断第二标志位s1是否为1,若否,则不对加密子块图像做处理,若是,则将加密子块图像的第一个像素的第零位、第二个像素的第零位和第三个像素的第零位赋值为零;

S1402、根据行扫描顺序扫描每一加密子块图像中的像素,并记录每行像素中每一像素的最高位平面,生成n个第一最高位平面排列,其中n为加密子块图像的列数;

S1403、根据列扫描顺序扫描每一加密子块图像中的像素,并记录每列像素中每一像素的最高位平面,生成n第二最高位平面排列,其中n为加密子块图像的行数;

S1404、判断第一最高位平面排列的类型数或第二最高位平面排列的类型数是否为1,若第一最高位平面排列的类型数或第二最高位平面排列的类型数为1,则s2为1,t为类型数为1的第一最高位平面排列或第二最高位平面排列,当类型数为1是第一最高位平面排列时,s3为0,当类型数为1是第一最高位平面排列时,s3为1;若第一最高位平面排列的类型数或第二最高位平面排列的类型数不为1,则s2为0;

S1405、判断加密子块图像从第四个像素到最后一个像素的个数是否小于s1、s2、s3以及t的比特位数之和,若否,则将s1、s2、s3、t、依次按位赋值给第三个像素之后的每一个像素的第零位;若是,则将s1、s2、s3、t、依次按位赋值给第四个像素到最后一个像素的第零位,并将多余的s1、s2、s3、t、的比特位依次赋值给第一个像素到最后一个像素的第一位;

S1406、将嵌入数据分别嵌入至第一集合除最后一个像素的嵌入空间内以及第二集合除最后一个像素的嵌入空间内。

同样的,通过设置不向第一集合和第二集合的最后一个像素的嵌入空间嵌入数据,可维持前numi个高位平面的原值,保证可逆性。

应当理解的是:当第二标志位s1不为1时,辅助数据包括4位,分别是numi和s1

具体地,在本发明的一个实施例中,加密子块图像如图15所示,加密子块图像的二进制表示如图16所示,通过行扫描顺序,在n个第一最高位平面排列中只有一种排序类型为“100”。因此s2=1,s3=0,t=100。通过使用初次嵌入方法,为4并被编码为101,为2并被编码为010。因此,可嵌入空间和辅助数据被确定下来,如图17所示,将辅助数据和嵌入数据嵌入至嵌入空间。具体地:第一集合中的嵌入空间为第一集合中像素的第八位到第五位,第二集合中的嵌入空间为第二集合中像素的第八位和第七位。对第一集合和第二集合分别按照分类类别为第一类的数据嵌入步骤进行数据嵌入。

需要说明的是:为保证每个加密子块图像有紧密的相关性和加密图像的安全性,加密子块图像的大小不应该过大。因此,加密子块图像的大小被设置为2,3,4,5,其对分别对应地被编码为00,01,10,11。且第一个加密子块图像将不被用于数据嵌入。这样可保证,在数据提取和图像还原时,通过读取第一个加密子块图像的前两个像素的LSB即可确定加密子块图像的大小。

还需要说明的是:秘钥包括数据提取秘钥和图像还原秘钥,因此,S204具体为:根据数据提取秘钥从标记加密图像中提取嵌入数据,和/或,根据图像还原秘钥将标记加密图像进行还原,获得原始图像。

其中,根据数据提取秘钥从标记加密图像中提取嵌入数据具体为:

通过读取前三个像素的LSB以确定numi的编码表示并恢复其对应的值,对应不同的numi的值,提取方法也不同。

当numi≥3时,只有初次嵌入方法被使用。按顺序读取除最后一个像素的其余像素的前numi个高位平面,将其提取并收集。除前3位比特位外,剩余的部分为嵌入数据。

当numi=1或numi=2时,通过读取第四个像素的LSB以确定标志位si,是否使用了自适应编码策略被确定。

如果si=0,只有初次嵌入方法被使用,按顺序读取除最后一个像素的其余像素的前numi个高位平面,将其提取并收集。除前4位比特位外,剩余的部分为嵌入数据。

如果si=1,两个方法均被使用。首先,通过上述的初次嵌入中数据提取方法,提取对应的嵌入数据。根据第二子嵌入空间ES的公式,其余的嵌入数据被提取。当numi=1时,除前6位比特位外,当numi=2时,除前4位比特位外,剩余的为嵌入数据。

当numi=0时,通过读取第四个像素的LSB,s1被确定。

如果s1=0,该块被跳过并不被使用。如果s1=1,自适应编码策略被使用。通过读取第五个像素的LSB,s2被确定。如果s2为1,通过读取第六个像素的LSB以确定s3,即扫描顺序被确定。再通过读取接下来三个像素的LSB,t被提取,接着第一集合的连续相同位平面的数量第二集合的连续相同位平面的数量被提取出来。按顺序扫描每一个像素,若该像素属于SG,前个高位平面被提取,否则,前个像素被提取。除了之前确定的辅助数据外,剩余的为嵌入数据。

如果s2=0,通过读取每个像素的MSB,即可获得SG和SL。若该像素属于SG,前个高位平面被提取,否则,前个像素被提取。除了前确定的辅助数据外,剩余的为嵌入数据。

其中,根据图像还原秘钥将标记加密图像进行还原,获得原始图像具体为:

根据数据嵌入过程的反过程获得加密图像;

根据图像加密的反过程通过加密图像获得原始图像,具体过程在此不做赘述。

本发明实施例还提供一种加密图像可逆数据隐藏装置,包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述加密图像可逆数据隐藏方法实施例中任一实施例中所述的加密图像可逆数据隐藏方法中的步骤。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种加密图像可逆数据隐藏方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:

对原始图像进行分块,获得多个子块图像,根据加密算法生成与所述多个子块图像一一对应的多个密码流,并根据所述多个密码流对所述多个子块图像中的每一子块图像进行加密,生成加密子块图像;并对所述多个加密子块图像进行位置置换,获得加密图像;

获取所述每一加密子块图像的位平面信息,并构建基于局部相关性的分类机制,根据所述分类机制和所述位平面信息,确定所述每一加密子块图像的分类类别,根据所述分类类别确定所述每一加密子块图像的嵌入空间;

获取辅助数据和嵌入数据,并将所述辅助数据和所述嵌入数据嵌入至所述嵌入空间,生成标记加密图像;

获取所述标记加密图像和秘钥,根据秘钥将所述标记加密图像进行还原,获得所述原始图像,并从所述标记加密图像中提取所述嵌入数据。

以上对本发明所提供的加密图像可逆数据隐藏方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多通道链路同步控制方法、装置和视频图像处理设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类