1.基于预测误差直方图移动的可逆数据隐藏方法,其特征在于,具体按照以下步骤实施:步骤1,将原始图像分为A、B两个集合,计算A集合和B集合中当前像素的预测误差;
步骤1的具体过程为:
步骤1.1,假设原始图像的大小为像素,根据棋盘格模式,按照公式(1)将原始图像分为A、B两个集合;
(1)
式(1)中,为原始图像的当前像素,为原始图像当前像素的横坐标,为原始图像当前像素的纵坐标;
步骤1.2,对于A集合,针对当前像素,计算当前像素沿水平方向的左右像素的平均值和当前像素沿垂直方向的上下像素之间的平均值,如公式(2)所示;
(2)
式(2)中,为A集合中当前像素的左侧像素,为A集合中当前像素的右侧像素,为A集合中当前像素的上方像素,为A集合中当前像素的下方像素;
步骤1.3,分别计算水平方向的均差和垂直方向的均差,如公式(3)所示;
(3)
步骤1.4,分别计算水平方向的均差的权值和垂直方向的均差的权值,如公式(4)所示;
(4)
步骤1.5,计算A集合当前像素的第一个预测像素值,如公式(5)所示;
(5)
步骤1.6,计算A集合第一个预测像素值的预测误差值,如公式(6)所示;
(6)
步骤1.7,分别计算A集合中右侧像素的主对角线像素的预测像素均值和A集合中右侧像素的副对角线像素的预测像素均值,如公式(7)所示;
(7)
式(7)中,为像素的右下方像素值,为像素的右上方像素值;
步骤1.8,分别计算主对角线像素的均差和副对角线像素的均差,如公式(8)所示;
(8)
步骤1.9,分别计算主对角线像素的均差的权值和副对角线像素的均差的权值,如公式(9)所示;
(9)
步骤1.10,计算A集合中右侧像素的预测像素值,如公式(10)所示;
(10)
步骤1.11,按照步骤1.7-步骤1.10分别计算A集合中上方像素的预测像素值、左侧像素的预测像素值、下方像素的预测像素值,求右侧像素的预测像素值、上方像素的预测像素值、左侧像素的预测像素值和下方像素的预测像素值的平均值,如公式(11)所示;
(11)
步骤1.12,计算A集合中当前像素的第二个预测像素值,如公式(12)所示;
(12)
步骤1.13,计算当前像素的第二个预测像素值的预测误差值,如公式(13)所示;
(13);
步骤2,构造非对称预测误差直方图;
步骤2的具体过程为:
步骤2.1,将作为非对称选择函数,根据当前像素的第一个预测误差值和第二个预测误差值,确定当前像素的最大预测误差,如公式(14)所示;
(14)
步骤2.2,将A集合中的所有像素的最大预测误差聚集,构造出最大误差的非对称直方图;
步骤2.3,将作为非对称选择函数,根据当前像素的第一个预测误差值和第二个预测误差值,确定当前像素的最小预测误差,如公式(15)所示;
(15)
步骤2.4,将A集合中的所有像素的最小预测误差聚集,构造出最小误差的非对称直方图;
步骤3,将随机生成0、1的数据串作为待嵌入数据W,W嵌入至A集合和B集合中,将嵌入数据W后的A集合和B集合进行组合,得到加密图像;
步骤3的具体过程为:
步骤3.1,根据不同阶段的嵌入容量,将待嵌入的待嵌入数据W分为四个部分、、和;
重复步骤1,得到A集合中每个像素的第一预测误差和第二;
步骤3.2,使用作为非对称选择函数,根据A集合中每个像素的第一预测误差和第二预测误差,通过步骤2确定最大预测误差,构造最大误差的非对称直方图;
步骤3.3,通过扫描A集合,通过公式(16),将数据嵌入到原始图像中;
(16)
式(16)中, 为A集合中当前像素的像素值,为构造的最大误差的非对称直方图的零值点,为构造的最大误差的非对称直方图的峰值点,为待嵌入数据中的1个比特数据;
步骤3.4,使用作为非对称选择函数,根据A集合中每个像素的第一预测误差和第二预测误差,通过步骤2确定最小预测误差,构造最小误差的非对称直方图;
步骤3.5,再次扫描A集合,通过公式(17),将数据嵌入到原始图像中;
(17)
式(17)中,为构造的最小误差的非对称直方图的零值点,为构造的最小误差的非对称直方图的峰值点,为待嵌入数据中的1个比特数据;
步骤3.6,在嵌入数据和数据后的A集合的基础上,重复步骤3.1-步骤3.5,将数据和嵌入B集合中;
步骤3.7,将嵌入数据后的A集合和B集合组合,得到加密图像;
步骤4,从步骤3得到的加密图像中的B集合和A集合中提取嵌入的数据并恢复原始像素。
2.根据权利要求1所述的基于预测误差直方图移动的可逆数据隐藏方法,其特征在于,步骤4的具体过程为:步骤4.1,对步骤3得到的加密图像的B集合中的每个像素,重复步骤1操作,得到加密图像的B集合中的每个像素的第一预测误差和第二预测误差;
步骤4.2,使用作为非对称选择函数,根据加密图像的B集合中的每个像素的第一预测误差和第二预测误差,通过步骤2确定最小预测误差,构造最小误差的非对称直方图;
步骤4.3,通过公式(18)提取出加密图像的B集合中嵌入的数据,然后根据公式(19)恢复出由于嵌入数据而移动的像素;
(18)
(19)
式(18)和(19)中, 为构造的最小误差的非对称直方图的峰值点,为提取出的数据, 代表嵌入数据后的加密图像像素值,为提取出数据并恢复后的像素值,代表构造的最小误差的非对称直方图的零值点;
步骤4.4,使用作为非对称选择函数,根据加密图像的B集合中的每个像素的第一预测误差和第二预测误差,通过步骤2确定最大预测误差,构造最大误差的非对称直方图;
步骤4.5,通过公式(20)提取出加密图像的B集合中嵌入的数据,再根据公式(21)恢复出由于嵌入数据而移动的像素;
(20)
(21)
式(20)和(21)中, 为构造的最大误差的非对称直方图的峰值点, 为构造的最大误差的非对称直方图的零值点;
步骤4.6,在提取恢复后的B集合的基础上,重复步骤4.1-步骤4.5,对加密图像的A集合进行提取恢复,得到提取的数据和;
步骤4.7,通过连接、、和得到嵌入的全部数据,实现了在不丢失信息的情况下完全恢复原始图像。