基于块最优动态选择的可逆信息隐藏算法

文档序号:34593134发布日期:2023-06-28 18:56阅读:194来源:国知局
基于块最优动态选择的可逆信息隐藏算法

本发明涉及信息隐藏,数字水印,具体涉及一种基于块最优动态选择的可逆信息隐藏算法。


背景技术:

1、可逆信息隐藏(reversible data hiding,rdh)是近年来多媒体信息安全领域的热点研究问题,该技术能够将一定量的信息嵌入到载体图像中,并且不但能够盲提取所嵌入的信息,而且还可以无损恢复载体图像,因此其所具备的可逆特性,在军事、遥感以及医疗等特殊行业发挥出了巨大作用。一种良好的可逆信息隐藏算法需具备高嵌入量、低失真两个重要条件,但这二者间往往呈相互矛盾关系,因此,研究在同等嵌入容量下具有较低失真率的可逆信息隐藏技术具有重要的理论意义和应用价值。

2、目前通过结合pee策略,li等人提出了基于像素值排序(pixel vaule order,pvo)的可逆嵌入方案,通过pvo将载体图像划分成固定大小的非重叠块,然后修改块内最大(小)值来嵌入秘密信息,由于在嵌入时块内像素的最大值和最小值永远处于+1或-1操作,因此秘密信息在嵌入前后块内像素值顺序仍旧保持一致,从而保证了可逆性。此外由于pvo算法只修改块内最大值和最小值,因此能够使得载密图像的失真不至于过大,但是由于只在预测误差值“1”处进行修改,使得嵌入容量过小。而后peng等人为了能够增加秘密信息的嵌入容量,考虑到原始块内像素的相对位置,提出了基于改进的pvo(ipvo)可逆嵌入方案,但所采用的是固定大小的块,因此无法进一步提升算法的嵌入性能。

3、上述提出的基于像素值排序(pixel vaule order,pvo)可逆信息隐藏算法,因其良好的嵌入性能而被广泛研究,但传统的pvo算法通常将载体图像划分成多个非重叠且固定大小的块,但是若所划分的块较大,那么就会使得水印嵌入容量过小,然而若以小块进行划分,那么则会提高载密图像失真,降低图像质量,因此这些大部分算法无法根据所需水印嵌入容量,自适应调整块的大小以达到最佳性能;此外在计算块复杂度时,大部分算法所采用的都是半封闭式计算,因此利用所计算的块复杂度无法对块进行准确分类。

4、总之,亟需设计一种即能够显著提高嵌入容量又能够能够保证载密图像的视觉质量的可逆信息隐藏算法。


技术实现思路

1、发明目的:针对现有技术中存在的问题,本发明提供一种基于块最优动态选择的可逆信息隐藏算法,不仅使得嵌入容量有了显著的增加,而且载密图像的视觉质量也得到了有效保证。

2、技术方案:本发明提供了一种基于块最优动态选择的可逆信息隐藏算法,包括水印嵌入方法,所述水印嵌入方法包括如下步骤:

3、步骤1:对原始图像进行扫描,图像在扫描过程中遇到值为0的像素更改为1,值为255的像素改为254,构建溢出位置图lm记录这些像素,取lmi=1,未溢出像素lmi=0,最后当所有块都扫描完毕后,对最终得到的位置图采用算术编码对其进行无损压缩,压缩后的位置图为clm,其长度表示为lclm;

4、步骤2:嵌入时以2×3大小的块为基本单元将载体图像划分成灰、白两层,首先对灰色层进行操作,计算灰色层各块的局部复杂度bc,并设置阈值t1,如果bc≤t1,认定为平滑块,否则为非平滑块;

5、步骤3:对于2×3大小的平滑块,对其再次划分成1×3的图像块,然后对其中的小块像素根据预排序方案来自适应收集像素,并使用ipvo方法进行秘密信息嵌入;

6、步骤4:对于2×3的非平滑块,计算其块内复杂度值ibc并设置阈值t2,若ibc≤t2,采用ipvo方法来嵌入秘密信息;若ibc>t2,利用块对角合并策略判断当前块与对角块是否可以合并,具体为:计算当前块与对角块的像素密度分布值pdd,将其合并后相应计算合并块的pdd,若合并块的pdd均大于二者,那么认定这两个块可以进行合并,完成秘密信息的嵌入,否则不能够进行合并,跳过;

7、步骤5:在嵌入了整个有效载荷之后,通过lsb替换将辅助信息嵌入到第一行前36+lclm个像素中,辅助信息包括块大小(4bits)、阈值t1和t2(16bits)、最后嵌入块索引(16bits)和压缩位置图的长度(lclmbits);

8、步骤6:对于白色层的像素重复前面步骤2-4,并生成最终的载密图像。

9、进一步地,还包括水印提取方法,具体包括:

10、s1:首先采用lsb方法提取载密图像第一行前36+lclm个像素,以提取辅助信息,包括块大小、阈值t1和t2、最后嵌入块索引、压缩位置图clm;

11、s2:将载密图像以2×3大小的块为基本单元划分成灰、白两层;首先从白色层开始,根据块复杂度计算方法,并根据所提取的阈值t1,划分平滑块和非平滑块;对于平滑块,将其二次划分成2个1×3大小的块,采用ipvo方法直接提取秘密信息,并恢复像素值;

12、s3:对于非平滑块,进一步计算块内复杂度值ibc,并利用所提取的阈值t2来提取秘密信息,若ibc≤t2,则采用与平滑块相同的操作提取秘密信息;否则根据块对角合并策略,来判定当前块是否与对角块进行了合并,由于块对角合并策略所利用的次大/次小像素在嵌入前后均不发生改变,因此在提取时以当前块、对角块以及二者合并块的顺序依次计算pdd,若合并块pdd均大于二者,那么该块则与对角块进行了合并,生成了合并块,然后对其提取秘密信息;

13、s4:最后采用同样的操作对灰色层完成秘密信息的提取,然后恢复图像。

14、进一步地,将载体图像划分成灰、白两层具体操作为:利用菱形预测两层嵌入方法将图像以2×3大小的块为基本单元,以棋盘方式划分为灰色层和白色层。

15、进一步地,计算灰色层各块的局部复杂度bc和白色层各块的局部复杂度步骤相同,采用棋盘式分层嵌入框架,使用最近的四个其他层的相邻块作为该块的上下文,通过全封闭的上下文来计算块的复杂度值;以灰色层为例:

16、上下文像素包括围绕中心灰色块的两圈像素点x1,x2,x3,…,x18,x19,x20,通过这些像素点来计算块复杂度值nc,计算公式如下:

17、bc=dn+dv+dh                     (1)

18、其中dn,dv,dh分别表示对角、水平以及垂直像素间的差值总和,具体计算过程如下:

19、

20、进一步地,所述步骤3中再次划分成1×3的图像块具体为:将灰色层和白色层的平滑块均进行再次划分,得到灰色叉集、灰色点集、白色叉集和白色点集,灰色叉集、白色叉集的像素连线均为原2×3图像块的正v型图像块,灰色点集、白色点集的像素连线均为原2×3图像块的倒v型图像块。

21、进一步地,所述预排序方案为基于预测误差值的预排序方案,具体为:

22、利用相邻集合的像素值作为预排序集合的上下文信息,对1×3块内的3个像素进行像素值预测,块内像素p1、p2、p3的均值计算如下:

23、

24、其中,μ1、μ2、μ3分别表示p1、p2和p3的菱形均值,n1,n2,...,n8为块内三像素的上下文像素;

25、设一组均值序列{μ1,μ2,μ3},利用块内三个像素均值来完成预排序处理,d1、d2为像素均值序列的两个差值,具体计算如下:

26、

27、预排序方案为:

28、

29、进一步地,计算块内复杂度值ibc具体方法为:

30、ibc=pσ(5)-pσ(2)                       (6)

31、其中,pσ(5)和pσ(2)分别表示2×3图像块的次大与次小像素值,如果块内复杂度ibc小于等于t2则认为该块不用再次进行合并。

32、进一步地,所述步骤4中计算2×3的非平滑块与对角块的像素密度分布值pdd的具体方法为:

33、

34、其中,num表示块中像素个数,pσ(num-1)表示块中次大像素值,pσ(2)表示块中次小像素值,这二者的值在嵌入前后均不会发生任何改变。

35、进一步地,所述ipvo方法进行秘密信息嵌入具体操作为:

36、1)对包含n个像素值的块,对其像素值{p1,p2,...,pn}按升序进行排序,然后获得一个有序序列{pσ(1),pσ(2),...,pσ(n)},其中σ:{1,2,...,n}→{1,2,...,n}是一对一的映射,如果pσ(i)=pσ(j)且i<j使得pσ(1)≤pσ(2)≤...≤pσ(n),σi<σj,ipvo中的预测误差dmax计算为:

37、dmax=pu-pv                                   (8)

38、这里u=min(σ(n),σ(n-1)),v=max(σ(n),σ(n-1));

39、2)秘密信息b∈{0,1}通过修改预测误差dmax进行嵌入:

40、

41、之后最大像素修改为:

42、

43、最小像素的嵌入类似于上述最大像素的嵌入;预测误差dmin计算如下:

44、dmin=ps-pt                                 (11)

45、其中,s=min(σ(1),σ(2)),t=max(σ(1),σ(2));

46、3)秘密信息b∈{0,1}通过修改预测误差dmin进行嵌入:

47、

48、之后最小像素修改为:

49、

50、进一步地,所述ipvo方法进行秘密信息提取具体操作为:

51、提取秘密信息时,最大像素值在嵌入时,要么增加1或不变,所以块内像素值顺序并未发生改变,那么秘密信息的提取以及最大像素值恢复由以下可得:

52、

53、

54、其中,像素值{p1,p2,...,pn}按升序进行排序,获得一个有序序列{pσ(1),pσ(2),...,pσ(n)},其中σ:{1,2,...,n}→{1,2,...,n}是一对一的映射,为秘密信息b∈{0,1}通过修改预测误差dmax进行嵌入后的像素;为修改后的最大像素;

55、提取秘密信息时,由于最小像素值在嵌入时,要么减1或不变,所以块内像素值顺序并未发生改变,那么秘密信息的提取以及最小像素值恢复由以下可得:

56、

57、

58、其中,为秘密信息b∈{0,1}通过修改预测误差dmin进行嵌入后的像素;为修改后的最小像素。

59、有益效果:

60、1、本发明提出的基于块动态最优选择的可逆信息隐藏算法。首先以2×3的图像块作为基本嵌入单元,将载体图像分成灰、白两层,通过环形块复杂度计算,划分出平滑块和非平滑块;其次对于平滑块,进行二次划分成1×3的块,并结合预排序技术嵌入秘密信息,从而保持高嵌入容量;然后对于非平滑块,通过块内复杂度来衡量此块是否能够直接嵌入,若不能直接嵌入,使用块对角合并策略进行再次合并,以生成更大的块来实现水印嵌入。所提出的方案不仅使得嵌入容量有了显著的增加,而且载密图像的视觉质量也得到了有效保证。

61、2、本发明通过将原始图像以块为基本嵌入单元分成灰、白两层,通过这种方式可以使用上下文像素更精确地计算每个块的局部复杂度,从而为秘密信息的嵌入提供了更好的像素块选择。此外在所提出的算法中不再采用固定大小的块,而是根据块上下信息以及嵌入容量自适应动态选择,对于较小的嵌入容量,可通过在原始图像的使用较大的块嵌入秘密信息,以提高图像视觉质量,而对于较大的嵌入容量,可通过选择较小块来提高嵌入容量。此外在选择较小块嵌入时,使用块内像素均值来估计块内像素的分布,并相应地实现像素预排序,以增加可嵌入像素的数量,在一定程度达到增强算法嵌入性能的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1