主权项 |
一种低修改率的数字图像隐写方法,用于将数据长度为l的秘密信息m<sub>i</sub>嵌入到像素个数为L的载体图像中,秘密信息m<sub>i</sub>={m<sub>i,1</sub>,m<sub>i,2</sub>,…,m<sub>i,l</sub>}∈{0,1},其特征在于,包括以下步骤:步骤(1)、将像素个数为L的载体图像分成长度为l+1的[L/(l+1)]组数据g<sub>1</sub>,g<sub>2</sub>,…,g<sub>[L/(l+1)]</sub>,其中,[L/(l+1)]表示对数值L/(l+1)向下取整,g<sub>i</sub>(i=1,2,…,[L/(l+1)])表示第i组分组数据,分组数据g<sub>i</sub>中的像素值分别为g<sub>i,1</sub>,g<sub>i,2</sub>,…,g<sub>i,l</sub>,g<sub>i,l+1</sub>,每个像素值对应的二进制数据的最低位分别为lsb<sub>i,1</sub>,lsb<sub>i,2</sub>,…,lsb<sub>i,l</sub>,lsb<sub>i,l+1</sub>,分组数据g<sub>i</sub>中的像素值最后一个像素值对应的二进制数据最低位lsb<sub>i,l+1</sub>作为标志位;步骤(2)、将分组数据g<sub>i</sub>中前面l个像素值对应的二进制数据的最低位lsb<sub>i,1</sub>,lsb<sub>i,2</sub>,…,lsb<sub>i,l</sub>分别与秘密信息的二进制数据m<sub>i,1</sub>,m<sub>i,2</sub>,…,m<sub>i,l</sub>进行对应比较,并计算两组数据之间的差异值d<sub>i</sub>,其中差异值d<sub>i</sub>由以下公式获得:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>d</mi><mi>i</mi></msub><mo>=</mo><mi>l</mi><mo>-</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msup><mi>δ</mi><mo>′</mo></msup><mrow><mo>(</mo><msub><mi>lsb</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>m</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000524153430000011.GIF" wi="511" he="147" /></maths>其中,<img file="FDA0000524153430000012.GIF" wi="831" he="166" />d<sub>i</sub>表示分组数据g<sub>i</sub>中前面l个像素值对应的二进制数据的最低位lsb<sub>i,1</sub>,lsb<sub>i,2</sub>,…,lsb<sub>i,l</sub>和秘密信息的二进制数据m<sub>i,1</sub>,m<sub>i,2</sub>,…,m<sub>i,l</sub>对应位置中数据不相同的个数;步骤(3)、根据步骤(2)中计算的差异值d<sub>i</sub>,对秘密信息的二进制数据进行判断和嵌入操作:步骤(3‑1)、当d<sub>i</sub>≤(l‑1)/2时,对标志位lsb<sub>i,l+1</sub>进行取0操作,并利用LSB嵌入方法将秘密信息的二进制数据m<sub>i,1</sub>,m<sub>i,2</sub>,…,m<sub>i,l</sub>插入到分组数据g<sub>i</sub>的前l个像素值g<sub>i,1</sub>,g<sub>i,2</sub>,…,g<sub>i,l</sub>中,嵌入秘密信息后的第l+1个像素值变为g<sub>i,l+1</sub>‑g<sub>i,l+1</sub>%2,其中g<sub>i,i+1</sub>%2表示g<sub>i,i+1</sub>除以2后取余;步骤(3‑2)、当d<sub>i</sub>>(l‑1)/2时,对标志位lsb<sub>i,l+1</sub>进行取1操作,并将秘密信息的二进制数据m<sub>i,1</sub>,m<sub>i,2</sub>,…,m<sub>i,l</sub>进行取反操作,利用LSB嵌入方法将取反后的秘密信息的二进制数据<img file="FDA0000524153430000021.GIF" wi="509" he="89" />插入到分组数据g<sub>i</sub>的前l个像素值g<sub>i,1</sub>,g<sub>i,2</sub>,…,g<sub>i,l</sub>中,嵌入秘密信息后的第l+1个像素值变为g<sub>i,l+1</sub>‑g<sub>i,l+1</sub>%2+1,其中g<sub>i,i+1</sub>%2表示g<sub>i,i+1</sub>除以2后取余。 |