APP下载

基于矩阵编码和AMBTC的灰度图像可逆信息隐藏

2021-05-27夏婷婷

莆田学院学报 2021年2期
关键词:灰度峰值比特

夏婷婷

(武夷学院 数学与计算机学院,福建 武夷山 354300)

0 引言

随着网络技术的快速发展,每个人在互联网上可以方便地获取音频、图像、视频、文本等各种媒体信息[1]。然而,这也带来了一系列的信息安全隐患问题,例如数字信息被恶意攻击和拦截、图像信息被篡改、著作权被侵犯等。因此,近年来数字隐藏技术已成为学者们研究的热点。

数字隐藏技术主要应用在空间域、频域和压缩域三个领域[2-3]。空间域,主要是通过修改封面图像的像素值大小来进行秘密信息隐藏,例如最低有效位(LSB)算法[4]。频域,主要是通过频域变换后的系数嵌入秘密信息,例如离散余弦变换(DTC)、离散小波变换(DWT)等[5]。压缩域,主要是利用压缩算法的特征来实现秘密信息的嵌入,例如块截断编码(BTC)、自适应块截断编码(AMBTC)、联合图像专家组(JPEG)和向量量化(VQ)等[6]。

1 AMBTC的工作原理

AMBTC是经典的压缩域信息隐藏算法之一,它是块截断编码(BTC)的常见变体。与BTC压缩方法比,AMBTC保持了相同的压缩后图像视觉质量,但是却有效地减小了压缩编码的大小。

每个图像块经过AMBTC压缩后,得到一个三元组(h,l,B),其中高量化值h、低量化值l和位图B的计算公式如下:

其中:xi表示图像块中的第i个像素值,z表示图像块中像素值大于等于平均像素值¯x的像素个数,Bi表示位图B中对应于第i个像素的位元值,运算符表示向下取整。

2 矩阵编码

2.1 (7,4)汉明码构成

汉明码是一种线性分组码,其中(7,4)汉明码是由4位信息位(分别为d1,d2,d3,d4)和3位监督位(分别为p1,p2,p3)所组成的码字其码长为7,信息位元与监督位元的关系如下所示:

2.2 (7,4)汉明码纠错原理及应用

众所周知,(7,4)汉明码是能够纠正一位错码的分组码。其主要原理是接收方利用监督矩阵H和收到的信息码,计算出校验矩阵(校验子)S,通过校验子可以判断出接收到的码字是否有错。如果校验子为[000],则表示收到的信息无误;否则,可以判断接收到的信息码有误。当发现接收信息有误后,可以根据表1找到错码对应位置的号数ID,或者错码对应位置的码序列号G。并可以对收到的码字进行1比特的信元纠错,其中RCW为接收方收到的信息码,T为矩阵转置运算,其中CW为修正后的码字,具体公式如(6)~(8)所示。

表1 校验子与错误位置的对应关系

可以将(7,4)汉明码检错原理应用于图像信息隐藏中,具体信息嵌入过程如图1所示。例如:需要隐藏的秘密信息m为[101],覆盖向量D为[1010100],利用式(9)得到S为[010],然后查表1可得到对应的G为[0100000],最后通过式(8)可以得到隐写向量F为[1110100]。接收端提取秘密信息过程如图2所示,假设接收端收到的隐写向量F为[1110100],利用式(10),则可提取出秘密信息[101]。

图1 秘密信息隐藏

图2 秘密信息提取

3 设计方案

本文提出的可逆信息隐藏方法,主要基于AMBTC压缩技术和(7,4)汉明码。采取两种信息隐藏方式:一种将秘密信息隐藏于高、低量化值相等的位图中,采取的方式为直接提取16比特秘密信息,然后替换相应的全“1”位图;一种通过(7,4)汉明码“改一藏三”的方式,将6比特信息隐藏于峰值位图中。为了方便后续的信息提取,要将峰值位图的高、低量化值的前后顺序进行对调,起到标识的作用。具体如图3所示。

4 秘密信息的嵌入和提取

4.1 秘密信息嵌入过程

秘密信息嵌入过程如下。

(1)将原始标准灰度图像Q分割成像素大小为4*4的不重叠图像块。

(2)每个图像块经过AMBTC压缩后,得到一个三元组(h,l,B)。

(3)按Z字形顺序取出每个图像块的位图中的“0”和“1”位元值,形成4*4位的二进制数值,将二进制数值转换为十进制数值,统计所有位图的十进制数值中每个十进制数值的频数ai,其中ai最大的十进制数对应的位图为峰值位图。

(4)搜索到第一个高、低量化值相等的位图块,从秘密信息流中提取16比特信息直接嵌入到相应位图中。重复这个过程,直到所有的高、低量化值相等的位图块都完成秘密信息的嵌入。

(5)搜索到第二个峰值位图,根据(7,4)汉明码的信息隐藏原理,如2.2所述,提取秘密信息流中6比特信息,然后修改其峰值位图里的2比特信息,将秘密信息嵌入其中。重复这个步骤,直到最后一个峰值位图完成秘密信息嵌入。最后,将所有的峰值位图所在压缩块里的两个量化值进行对调。

(6)将AMBTC压缩码进行重构,可得到AMBTC压缩图像。

图3 整体方案的流程框图

4.2 秘密信息提取过程

接收端主要完成3部分内容,分别为隐写图像AMBTC压缩、秘密信息提取和恢复原始压缩码。对隐写图像进行AMBTC压缩,具体做法与4.1步骤(1)(2)相同。秘密信息提取部分:首先,检索高、低量化值相等的压缩块,直接从相应位图中提取出秘密信息,并将全“1”位图覆盖。其次,检索出所有高、低量化值顺序对调过的位图,其中第一个位图为峰值位图。利用矩阵编码藏秘原理,计算出峰值位图里隐藏的秘密信息。再次,用第一个峰值位图覆盖其他所有峰值位图,得到原始的AMBTC压缩码。最后,利用恢复后的压缩码,获得原始的灰度图像。

5 实验与结果分析

本文提出的方案在Matlab 2015a下进行大量实验。同时选取了8张标准灰度图进行数据测试与分析,灰度图大小为512像素×512像素,具体图像如图4所示。

图4 8张标准灰度图

主要采用峰值信噪比(PSNR)和信息隐藏能力两个参数来评估算法的效果,其中信息隐藏能力为嵌入到载体图像中的秘密信息总比特数,而PSNR可以用以观察隐写图像的品质,PSNR的计算公式如下:

其中,MSE为均方误差,W、N分别代表载体图像的长和宽,则W×N为像素总个数,xi代表原像素值,yi代表隐写图像的像素值, 或者是AMBTC压缩图像的像素值。

通过观察表2,可以发现本文提出的可逆隐藏方案,具有较高的隐写图像视觉品质,整体视觉品质下降为0.33dB。同时可知,提出方案的信息隐藏能力,主要是依赖于峰值位图的个数。如要进一步提高隐藏能力,可以考虑采用更多类型的峰值位图,这为算法性能的进一步优化提供了思路和方向。相对于灰度值分布复杂的图像,该方法更适用于像素平滑的灰度图像。

表2 本文方案的性能

6 结论

本文算法主要是依据AMBTC压缩技术和矩阵编码技术进行秘密信息隐藏。大多数采用(7,4)汉明码进行信息隐藏的方法,无法做到数据完全可逆,例如在秘密信息被提取后无法恢复原始图像,但本文的方法是可以做到数据完全可逆的,采取的方式是通过高、低量化值的位置对调来标记出峰值位图的位置,为后续的原始图像的恢复提供依据。

猜你喜欢

灰度峰值比特
犊牛生长发育对成年奶牛高峰奶产量和峰值日的影响
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
天津港智慧工作平台灰度发布系统和流程设计
锚杆锚固质量等级快速评级方法研究
Arduino小车巡线程序的灰度阈值优化方案
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
神秘的比特币