欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

隱寫信息編碼方法和裝置以及隱寫信息解碼方法和裝置與流程

文檔序號:12471374閱讀:154來源:國知局
隱寫信息編碼方法和裝置以及隱寫信息解碼方法和裝置與流程

本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種隱寫信息編碼方法和裝置以及隱寫信息解碼方法和裝置。



背景技術(shù):

隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及和信息處理水平的逐步發(fā)展,人們在生活和工作中越來越多的發(fā)送和存儲數(shù)字信息。而由于移動網(wǎng)絡(luò)和互聯(lián)網(wǎng)平臺的開放性,數(shù)據(jù)傳輸?shù)陌踩院痛鎯Φ乃矫苄栽絹碓街匾?/p>

圖像信息隱寫技術(shù)可以分為空域隱藏和變換域隱藏兩種方案。基于空域的信息隱寫技術(shù)相對更加方便直接,通過修改每個(gè)像素若干最低有效位的信息,對秘密信息進(jìn)行嵌入即可,而改變低有效位的像素并不會對圖像的主觀觀察效果帶來可見的影響,同時(shí)還能有效的傳遞隱藏信息。但是數(shù)字信息在傳輸?shù)倪^程中會受到噪聲、擾動的影響,導(dǎo)致基于空域的信息隱寫技術(shù)魯棒性較差。基于變換域的信息隱寫技術(shù)需要進(jìn)行復(fù)雜的時(shí)頻變換,并謹(jǐn)慎的選擇信息隱寫的頻點(diǎn),相對來說增加了算法的復(fù)雜度。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供了一種隱寫信息編碼方法和裝置以及隱寫信息解碼方法和裝置,以解決現(xiàn)有技術(shù)中數(shù)字信息在傳輸?shù)倪^程中受噪聲、擾動的影響導(dǎo)致魯棒性較差的問題。

本發(fā)明實(shí)施例的第一方面,提供了一種隱寫信息編碼方法,包括:

將目標(biāo)圖像分為預(yù)設(shè)大小的多個(gè)像素塊,并計(jì)算每個(gè)所述像素塊的像素均值;

計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù);

根據(jù)各個(gè)所述像素塊中待編碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行編碼。

本發(fā)明實(shí)施例的第二方面,提供了一種隱寫信息編碼裝置,包括:

第一像素均值計(jì)算模塊,用于將目標(biāo)圖像分為預(yù)設(shè)大小的多個(gè)像素塊,并計(jì)算每個(gè)所述像素塊的像素均值;

第一插入位數(shù)計(jì)算模塊,用于計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù);

編碼模塊,用于根據(jù)各個(gè)所述像素塊中待編碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行編碼。

本發(fā)明實(shí)施例的第三方面,提供了一種隱寫信息解碼方法,包括:

接收目標(biāo)圖像信息,并計(jì)算所述圖像信息中每個(gè)像素塊的像素均值;

計(jì)算每個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待解碼隱寫信息在該像素塊中的插入位數(shù);

根據(jù)各個(gè)所述像素塊中待解碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行解碼。

本發(fā)明實(shí)施例的第四方面,提供了一種隱寫信息解碼裝置,包括:

第二像素均值計(jì)算模塊,用于接收目標(biāo)圖像信息,并計(jì)算所述圖像信息中每個(gè)像素塊的像素均值;

第二插入位數(shù)計(jì)算模塊,用于計(jì)算每個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待解碼隱寫信息在該像素塊中的插入位數(shù);

解碼模塊,用于根據(jù)各個(gè)所述像素塊中待解碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行解碼。

本發(fā)明實(shí)施例相對于現(xiàn)有技術(shù)所具有的有益效果:將目標(biāo)圖像分為預(yù)設(shè)大小的多個(gè)像素塊,并計(jì)算每個(gè)所述像素塊的像素均值,計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù),根據(jù)各個(gè)所述像素塊中待編碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行編碼,由于像素塊的像素均值對噪聲的魯棒性較強(qiáng),所以不需要進(jìn)行復(fù)雜的時(shí)頻變換,應(yīng)用簡單的空域處理就能保證隱寫信息的有效傳遞。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例提供的隱寫信息編碼方法的流程圖;

圖2是圖1中步驟S103的實(shí)現(xiàn)流程圖;

圖3是圖2中步驟S203的實(shí)現(xiàn)流程圖;

圖4是圖3中步驟S302的實(shí)現(xiàn)流程圖;

圖5是本發(fā)明實(shí)施例提供的根據(jù)圖像修正差值更新像素塊的示意圖;

圖6是本發(fā)明實(shí)施例提供的隱寫信息解碼方法的流程圖;

圖7是圖6中步驟S503的實(shí)現(xiàn)流程圖;

圖8是本發(fā)明實(shí)施例提供的隱寫信息編碼裝置的結(jié)構(gòu)框圖;

圖9是本發(fā)明實(shí)施例提供的編碼模塊的結(jié)構(gòu)框圖;

圖10是本發(fā)明實(shí)施例提供的第一插入位數(shù)計(jì)算模塊的結(jié)構(gòu)框圖;

圖11是本發(fā)明實(shí)施例提供的隱寫信息解碼裝置的結(jié)構(gòu)框圖;

圖12是本發(fā)明實(shí)施例提供的解碼模塊的結(jié)構(gòu)框圖;

圖13是本發(fā)明實(shí)施例提供的第二插入位數(shù)計(jì)算模塊的結(jié)構(gòu)框圖。

具體實(shí)施方式

以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具體細(xì)節(jié),以便透徹理解本發(fā)明實(shí)施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體細(xì)節(jié)的其它實(shí)施例中也可以實(shí)現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電路以及方法的詳細(xì)說明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。

為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。

實(shí)施例一

圖1示出了本發(fā)明實(shí)施例一提供的隱寫信息編碼方法的實(shí)現(xiàn)流程,詳述如下:

步驟S101,將目標(biāo)圖像分為預(yù)設(shè)大小的多個(gè)像素塊,并計(jì)算每個(gè)所述像素塊的像素均值。

本實(shí)施例中,可以按照左上角到右下角的方向,將目標(biāo)圖像的像素點(diǎn)劃分成多個(gè)m*n大小的像素塊,其中m和n均為正整數(shù)。例如,可以按照左上角到右下角的方向,將目標(biāo)圖像的像素點(diǎn)劃分成3*3大小的像素塊。

對于一個(gè)像素塊,根據(jù)該像素塊中的m*n個(gè)像素點(diǎn)的像素值,計(jì)算該像素塊的像素均值Iavg。具體的,該像素塊的像素均值Iavg等于該像素塊中的m*n個(gè)像素點(diǎn)的像素值之和除以該像素塊中像素點(diǎn)的個(gè)數(shù)m+n,并對結(jié)算結(jié)果中的小數(shù)進(jìn)行四舍五入處理。

例如,像素塊的大小為3*3,參見圖5,各個(gè)像素點(diǎn)的像素值依次為:27、19、32、25、20、42、40、24和36,則該像素塊的像素均值為29.44,四舍五入得到該像素塊的像素均值為29。

步驟S102,計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù)。

一個(gè)實(shí)施例中,步驟S102可以通過以下過程實(shí)現(xiàn):

計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與像素均值差值的最大值:

其中,Idmax為所述最大值,Iavg為像素塊的像素均值,I(i,j)為該像素塊中第i行第j列像素點(diǎn)的像素值,該像素塊的大小為m×n。

對于將要隱藏信息的目標(biāo)圖像,基于空域的信息隱藏技術(shù)將改變像素低四位的像素值,進(jìn)行隱藏信息的插入。對于目標(biāo)圖像,在紋理較多的區(qū)域進(jìn)行像素修改比在平滑區(qū)域更加合理,且在平滑區(qū)域進(jìn)行像素變動更容易被察覺。Idmax較大的區(qū)域像素值梯度較大,細(xì)節(jié)相對較多,容許進(jìn)行較大的像素變動,可以嵌入更多的隱寫信息。為保證目標(biāo)圖像不失真,可以將每個(gè)像素塊的隱寫信息的最大嵌入位數(shù)限制為3,但并不以此為限。

根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù):

Bin=min(a,round(log2(IdMax)))

其中,Bin為待編碼隱寫信息在該像素塊中的插入位數(shù),a為預(yù)設(shè)系數(shù),且1≤a≤3。本實(shí)施例中,a=3,但并不以此為限。在其他實(shí)施例中,還可以設(shè)置a=2或a=1。

步驟S103,根據(jù)各個(gè)所述像素塊中待編碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行編碼。

參見圖2,一個(gè)實(shí)施例中,步驟S103可以通過以下過程實(shí)現(xiàn):

步驟S201,將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息進(jìn)行替換,并計(jì)算替換后當(dāng)前像素塊的第一修正像素均值。

其中,Bin為待編碼隱寫信息在當(dāng)前像素塊中的插入位數(shù)。

例如,待編碼隱寫信息在當(dāng)前像素塊中的插入位數(shù)Bin=3;當(dāng)前像素塊像素均值為29,對應(yīng)的二進(jìn)制數(shù)值為00011101;與當(dāng)前像素塊對應(yīng)的待編碼隱寫信息為011,則將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息進(jìn)行替換,得到的第一修正像素均值IavgNew為00010111。

步驟S202,根據(jù)所述第一修正像素均值和所述像素均值,計(jì)算當(dāng)前像素塊的圖像修正差值。

本實(shí)施例中,當(dāng)前像素塊的圖像修正差值等于當(dāng)前像素塊的第一修正像素均值減去當(dāng)前像素塊的像素均值。即當(dāng)前像素塊的圖像修正差值IdAvg=IavgNew-Iavg,其中,IdAvg為當(dāng)前像素塊的圖像修正差值,IavgNew為當(dāng)前像素塊的第一修正像素均值。

例如,當(dāng)前像素塊的像素均值Iavg為00011101,當(dāng)前像素塊的第一修正像素均值IavgNew為00010111,則當(dāng)前像素塊的圖像修正差值IdAvg=IavgNew-Iavg=-6。

步驟S203,根據(jù)所述圖像修正差值對當(dāng)前像素塊進(jìn)行編碼。

具體的,修正后的每個(gè)像素點(diǎn)的像素值為I'(i,j)=I(i,j)+IdAvg,其中I'(i,j)為修正后的當(dāng)前像素塊中第i行第j列像素點(diǎn)的像素值,I(i,j)為當(dāng)前像素塊中第i行第j列像素點(diǎn)的像素值。

例如,參見圖5,像素塊的大小為3*3,該像素塊中各個(gè)像素點(diǎn)的像素值依次為:27、19、32、25、20、42、40、24和36,則該像素塊的像素均值Iavg為00011101。待編碼隱寫信息在當(dāng)前像素塊中的插入位數(shù)Bin=3;與當(dāng)前像素塊對應(yīng)的待編碼隱寫信息為011,當(dāng)前像素塊的第一修正像素均值IavgNew為00010111,則當(dāng)前像素塊的圖像修正差值IdAvg=IavgNew-Iavg=-6。

根據(jù)當(dāng)前像素塊的圖像修正差值IdAvg對當(dāng)前像素塊的各個(gè)像素點(diǎn)進(jìn)行修正,修正后的當(dāng)前像素塊的各個(gè)像素點(diǎn)的像素值依次為21、13、26、19、14、36、34、18和30。

參見圖3,一個(gè)實(shí)施例中,步驟S203可以通過以下過程實(shí)現(xiàn):

步驟S301,根據(jù)當(dāng)前像素塊的部分或全部已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出優(yōu)化圖像修正差值。

具體的,所述目標(biāo)圖像中相鄰像素塊之間像素的修正值應(yīng)盡量接近,以防止臨近像素塊像素的變動差異過大,造成目標(biāo)圖像的明顯可視失真。本實(shí)施例中,可以根據(jù)當(dāng)前像素塊的部分或全部已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出優(yōu)化圖像修正差值。其中,對于所述目標(biāo)圖像中第一個(gè)被編碼的圖像塊,由于不存在已編碼的相鄰像素塊,因此無需進(jìn)行優(yōu)化。

例如,由目標(biāo)圖像的左上角至右下角的方向,對目標(biāo)圖像的各個(gè)像素塊進(jìn)行編碼,則可以根據(jù)當(dāng)前像素塊的左側(cè)和上方的已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出當(dāng)前像素塊的優(yōu)化圖像修正差值。

對于由目標(biāo)圖像的右下角至左上角的方向?qū)δ繕?biāo)圖像的各個(gè)像素塊進(jìn)行編碼的情況,可以根據(jù)當(dāng)前像素塊的右側(cè)和下方的已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出當(dāng)前像素塊的優(yōu)化圖像修正差值。

對于由目標(biāo)圖像的右上角至左下角的方向?qū)δ繕?biāo)圖像的各個(gè)像素塊進(jìn)行編碼的情況,可以根據(jù)當(dāng)前像素塊的右側(cè)和上方的已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出當(dāng)前像素塊的優(yōu)化圖像修正差值。

對于由目標(biāo)圖像的左下角至右上角的方向?qū)δ繕?biāo)圖像的各個(gè)像素塊進(jìn)行編碼的情況,可以根據(jù)當(dāng)前像素塊的左側(cè)和下方的已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出當(dāng)前像素塊的優(yōu)化圖像修正差值。

參見圖4,一個(gè)實(shí)施例中,步驟S301可以通過以下過程實(shí)現(xiàn):

步驟S401,計(jì)算當(dāng)前像素塊的部分或全部已編碼的相鄰像素塊的臨近參考圖像修正值。

本步驟中,以由目標(biāo)圖像的左上角至右下角的方向?qū)δ繕?biāo)圖像的各個(gè)像素塊進(jìn)行編碼為例進(jìn)行說明,但并不以此為限。所述臨近參考圖像修正值可以等于當(dāng)前像素塊的上方的已編碼的相鄰像素塊的圖像修正差值和當(dāng)前像素塊的左側(cè)的已編碼的相鄰像素塊的圖像修正差值的均值。若當(dāng)前像素塊只存在一個(gè)已編碼的相鄰像素塊,則所述臨近參考圖像修正值等于該相鄰像素塊的圖像修正值。

例如,當(dāng)前像素塊的上方的已編碼的相鄰像素塊的圖像修正差值為IdAvgUp,當(dāng)前像素塊的左側(cè)的已編碼的相鄰像素塊的圖像修正差值為IdAvgLeft,則所述臨近參考圖像修正值

在其他實(shí)施例中,所述臨近參考圖像修正值還可以等于當(dāng)前像素塊的上方的已編碼的相鄰像素塊的圖像修正差值和當(dāng)前像素塊的左側(cè)的已編碼的相鄰像素塊的圖像修正差值的加權(quán)和。即,設(shè)置第一加權(quán)系數(shù)α和第二加權(quán)系數(shù)β,且α+β=1,則所述臨近參考圖像修正值IdAvgNear=αIdAvgUp+βIdAvgLeft。

步驟S402,計(jì)算當(dāng)前像素塊的第一圖像修正差值和第二圖像修正差值。

其中,所述第一圖像修正差值為將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息的原值進(jìn)行替換后計(jì)算得出的圖像修正差值。所述第二圖像修正差值為將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息的按位取反值進(jìn)行替換后計(jì)算得出的圖像修正差值。

步驟S403,將與所述臨近參考圖像修正值差值較小的第一圖像修正差值或第二圖像修正差值作為所述優(yōu)化圖像修正差值。

步驟S302,根據(jù)所述優(yōu)化圖像修正差值對該像素塊進(jìn)行編碼。

本實(shí)施例中,步驟S302可以通過以下過程實(shí)施:

若所述優(yōu)化圖像修正差值等于所述第一圖像修正差值,則將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置0,并對該像素塊進(jìn)行編碼;

若所述優(yōu)化圖像修正差值等于所述第二圖像修正差值,則將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置1,并對該像素塊進(jìn)行編碼。

在其他實(shí)施例中,步驟S302也可以通過以下過程實(shí)施:

若所述優(yōu)化圖像修正差值等于所述第一圖像修正差值,則將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置1,并對該像素塊進(jìn)行編碼;

若所述優(yōu)化圖像修正差值等于所述第二圖像修正差值,則將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置0,并對該像素塊進(jìn)行編碼。

優(yōu)選的,對于均值編碼后存在0值像素點(diǎn)或者像素值為255的像素點(diǎn)的像素塊,存在數(shù)值溢出的現(xiàn)象,在解碼時(shí)無法準(zhǔn)確計(jì)算出編碼后均值,該圖像塊內(nèi)信息隱寫失敗,這部分隱寫信息將在下一像素塊繼續(xù)進(jìn)行編碼。解碼時(shí),對于存在0或255的像素點(diǎn)的像素塊,不進(jìn)行隱寫信息讀取。

上述隱寫信息編碼方法,利用圖像傳輸過程中像素塊的像素均值不易受噪聲擾動影響的特點(diǎn),不需要進(jìn)行復(fù)雜的時(shí)頻變換,只需要應(yīng)用圖像像素塊的像素均值對像素點(diǎn)進(jìn)行簡單的編碼,就能得到穩(wěn)定準(zhǔn)確的信息隱寫方法,接收者通過相應(yīng)的譯碼方法,就能方便的得到載體圖像中隱藏的秘密信息。

應(yīng)理解,上述實(shí)施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。

實(shí)施例二

圖6示出了本發(fā)明實(shí)施例一提供的隱寫信息解碼方法的實(shí)現(xiàn)流程,詳述如下:

步驟S501,接收目標(biāo)圖像信息,并計(jì)算所述圖像信息中每個(gè)像素塊的像素均值。

本實(shí)施例中,可以將目標(biāo)圖像信息劃分為預(yù)設(shè)大小的像素塊。例如,可以按照左上角到右下角的方向,將目標(biāo)圖像的像素點(diǎn)劃分成多個(gè)m*n大小的像素塊,其中m和n均為正整數(shù)。例如,可以按照左上角到右下角的方向,將目標(biāo)圖像的像素點(diǎn)劃分成3*3大小的像素塊。

對于一個(gè)像素塊,根據(jù)該像素塊中的m*n個(gè)像素點(diǎn)的像素值,計(jì)算該像素塊的像素均值Iavg。具體的,該像素塊的像素均值Iavg等于該像素塊中的m*n個(gè)像素點(diǎn)的像素值之和除以該像素塊中像素點(diǎn)的個(gè)數(shù)m+n,并對結(jié)算結(jié)果中的小數(shù)進(jìn)行四舍五入處理。

例如,像素塊的大小為3*3,參見圖5,各個(gè)像素點(diǎn)的像素值依次為:27、19、32、25、20、42、40、24和36,則該像素塊的像素均值為29.44,四舍五入得到該像素塊的像素均值為29。

步驟S502,計(jì)算各個(gè)像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待解碼隱寫信息在各個(gè)像素塊中的插入位數(shù)。

一個(gè)實(shí)施例中,步驟S501可以通過以下過程實(shí)現(xiàn):

計(jì)算像素塊中各個(gè)像素點(diǎn)的像素值與像素均值差值的最大值:

其中,Idmax為所述最大值,Iavg為像素塊的像素均值,I(i,j)為該像素塊中第i行第j列像素點(diǎn)的像素值,當(dāng)前像素塊的大小為m×n。

根據(jù)所述最大值確定待解碼隱寫信息在各個(gè)像素塊中的插入位數(shù):

Bin=min(a,round(log2(IdMax)))

其中,Bin為待解碼隱寫信息在該像素塊中的插入位數(shù),a為預(yù)設(shè)系數(shù),且1≤a≤3。本實(shí)施例中,a=3,但并不以此為限。在其他實(shí)施例中,還可以與實(shí)施例一中的步驟S102一致,設(shè)置為a=2或a=1。

步驟S503,根據(jù)各個(gè)所述像素塊中待解碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行解碼。

參見圖7,一個(gè)實(shí)施例中,步驟S503可以通過以下過程實(shí)現(xiàn):

步驟S601,獲取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位。

步驟S602,檢測當(dāng)前像素各個(gè)塊像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位數(shù)值是否為零的像素點(diǎn)多于不為零的像素點(diǎn)。

步驟S603,在檢測到當(dāng)前像素塊各個(gè)像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位為零的像素點(diǎn)多于不為零的像素點(diǎn)時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值,作為當(dāng)前像素塊中的待解碼隱寫信息。

步驟S604,在檢測到當(dāng)前像素塊中各個(gè)像素點(diǎn)像素值的二進(jìn)制數(shù)值第8位不為零的像素點(diǎn)多于不為零的像素點(diǎn)時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值取反,作為當(dāng)前像素塊中的待解碼隱寫信息。

步驟S605,將各個(gè)所述像素塊中的待解碼隱寫信息按照各個(gè)所述像素塊的解碼順序組合成所述待解碼隱寫信息。

例如,編碼時(shí),一個(gè)像素塊中各個(gè)像素點(diǎn)的像素值依次為:27、19、32、25、20、42、40、24和36,則該像素塊的像素均值Iavg為00011101。待編碼隱寫信息在當(dāng)前像素塊中的插入位數(shù)Bin=3;與當(dāng)前像素塊對應(yīng)的待編碼隱寫信息為011。當(dāng)前像素塊的第一修正像素均值IavgNew為00010111,則當(dāng)前像素塊的第一圖像修正差值IdAvg=IavgNew-Iavg=-6,第二圖像修正差值為-4。且所述優(yōu)化圖像修正差值等于所述第一圖像修正差值,修正后的該像素塊的各個(gè)像素點(diǎn)的像素值依次為:21、13、26、19、14、36、34、18和30。再將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置0,最后得出編碼后的該像素塊的各個(gè)像素點(diǎn)的像素值依次為:20、12、26、18、14、36、34、18和30。

解碼時(shí),則當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值為00010111,計(jì)算得出的待解碼隱寫信息在該像素塊中的插入位數(shù)為3。且當(dāng)前像素塊各個(gè)像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位為零的像素點(diǎn)多于不為零的像素點(diǎn),則提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值011,作為當(dāng)前像素塊中的待解碼隱寫信息。

又例如,編碼時(shí),一個(gè)像素塊中各個(gè)像素點(diǎn)的像素值依次為:27、19、32、25、20、42、40、24和36,則該像素塊的像素均值Iavg為00011101。待編碼隱寫信息在當(dāng)前像素塊中的插入位數(shù)Bin=3;與當(dāng)前像素塊對應(yīng)的待編碼隱寫信息為011。當(dāng)前像素塊的第一修正像素均值IavgNew為00010111,則當(dāng)前像素塊的第一圖像修正差值IdAvg=IavgNew-Iavg=-6,第二圖像修正差值為-4。且所述優(yōu)化圖像修正差值等于所述第二圖像修正差值,修正后的該像素塊的各個(gè)像素點(diǎn)的像素值依次為:23、15、18、21、16、38、36、20和32。再將該像素塊中的各個(gè)像素?cái)?shù)值的二進(jìn)制數(shù)值的末位置1,最后得出編碼后的該像素塊的各個(gè)像素點(diǎn)的像素值依次為:23、15、19、21、17、39、37、21和33.

解碼時(shí),則當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值為00011001,計(jì)算得出的待解碼隱寫信息在該像素塊中的插入位數(shù)為3。且當(dāng)前像素塊各個(gè)像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位不為零的像素點(diǎn)多于為零的像素點(diǎn),則提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值100取反得出011,作為當(dāng)前像素塊中的待解碼隱寫信息。

步驟S503還包括:在當(dāng)前像素塊為所述目標(biāo)圖像信息中首個(gè)被解碼的像素塊時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值作為當(dāng)前像素塊中的待解碼隱寫信息。

應(yīng)理解,上述實(shí)施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。

實(shí)施例三

對應(yīng)于上文實(shí)施例所述的隱寫信息編碼方法,圖8示出了本發(fā)明實(shí)施例提供的隱寫信息編碼裝置的結(jié)構(gòu)框圖。為了便于說明,僅示出了與本實(shí)施例相關(guān)的部分。

參照圖8,該裝置包括第一像素均值計(jì)算模塊101、第一插入位數(shù)計(jì)算模塊102和編碼模塊103。第一像素均值計(jì)算模塊101,用于將目標(biāo)圖像分為預(yù)設(shè)大小的多個(gè)像素塊,并計(jì)算每個(gè)所述像素塊的像素均值。第一插入位數(shù)計(jì)算模塊102,用于計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù)。編碼模塊103,用于根據(jù)各個(gè)所述像素塊中待編碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行編碼。

參見圖9,一個(gè)實(shí)施例中,所述編碼模塊103可以包括替換單元201、修正單元202和編碼單元203。替換單元201,用于將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息進(jìn)行替換,并計(jì)算替換后當(dāng)前像素塊的第一修正像素均值。其中,Bin為待編碼隱寫信息在該像素塊中的插入位數(shù)。修正單元202,用于根據(jù)所述第一修正像素均值和所述像素均值,計(jì)算當(dāng)前像素塊的圖像修正差值。編碼單元203,用于根據(jù)所述圖像修正差值對當(dāng)前像素塊進(jìn)行編碼。

優(yōu)選的,所述編碼單元203可以包括優(yōu)化子單元和編碼子單元。所述優(yōu)化子單元,用于根據(jù)當(dāng)前像素塊的部分或全部已編碼的相鄰像素塊對當(dāng)前像素塊進(jìn)行優(yōu)化,得出優(yōu)化圖像修正差值。所述編碼子單元,用于根據(jù)所述優(yōu)化圖像修正差值對當(dāng)前像素塊進(jìn)行編碼。

作為一種可實(shí)施方式,所述優(yōu)化子單元具體可以用于:

計(jì)算當(dāng)前像素塊的部分或全部已編碼的相鄰像素塊的臨近參考圖像修正值;

計(jì)算當(dāng)前像素塊的第一圖像修正差值和第二圖像修正差值;其中,所述第一圖像修正差值為將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息的原值進(jìn)行替換后計(jì)算得出的圖像修正差值;所述第二圖像修正差值為將當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位與對應(yīng)的待編碼隱寫信息的按位取反值進(jìn)行替換后計(jì)算得出的圖像修正差值;

將與所述臨近參考圖像修正值差值較小的第一圖像修正差值或第二圖像修正差值作為所述優(yōu)化圖像修正差值。

參見圖10,一個(gè)實(shí)施例中,所述第一插入位數(shù)計(jì)算模塊102可以包括第一最大值計(jì)算單元301和第一插入位數(shù)計(jì)算單元302。

第一最大值計(jì)算單元301,用于計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與像素均值差值的最大值:

其中,Idmax為所述最大值,Iavg為像素塊的像素均值,I(i,j)為該像素塊中第i行第j列像素點(diǎn)的像素值,該像素塊的大小為m×n。

第一插入位數(shù)計(jì)算單元302,用于根據(jù)所述最大值確定待編碼隱寫信息在該像素塊中的插入位數(shù):

Bin=min(a,round(log2(IdMax)))。

其中,Bin為待編碼隱寫信息在該像素塊中的插入位數(shù),a為預(yù)設(shè)系數(shù),且1≤a≤3。

本發(fā)明實(shí)施例可以按照實(shí)施例一中所述的隱寫信息編碼方法進(jìn)行實(shí)施,對此不再贅述。

實(shí)施例四

對應(yīng)于上文實(shí)施例所述的隱寫信息解碼方法,圖11示出了本發(fā)明實(shí)施例提供的隱寫信息解碼裝置的結(jié)構(gòu)框圖。為了便于說明,僅示出了與本實(shí)施例相關(guān)的部分。

參照圖11,該裝置包括第二像素均值計(jì)算模塊401、第二插入位數(shù)計(jì)算模塊402和解碼模塊403。第二像素均值計(jì)算模塊401,用于接收目標(biāo)圖像信息,并計(jì)算所述圖像信息中每個(gè)像素塊的像素均值。第二插入位數(shù)計(jì)算模塊402,用于計(jì)算每個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與所述像素均值之間差值的最大值,并根據(jù)所述最大值確定待解碼隱寫信息在該像素塊中的插入位數(shù)。解碼模塊403,用于根據(jù)各個(gè)所述像素塊中待解碼隱寫信息的插入位數(shù)和預(yù)設(shè)插入位置,按照預(yù)設(shè)順序?qū)Ω鱾€(gè)所述像素塊進(jìn)行解碼。

參見圖12,一個(gè)實(shí)施例中,所述解碼模塊包括獲取單元501、檢測單元502、提取單元503和處理單元504。

獲取單元501,用于獲取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位。

檢測單元502,用于檢測當(dāng)前像素各個(gè)塊像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位數(shù)值是否為零的像素點(diǎn)多于不為零的像素點(diǎn)。

提取單元503,用于在所述檢測單元檢測到當(dāng)前像素塊各個(gè)像素點(diǎn)中像素值的二進(jìn)制數(shù)值的第8位為零的像素點(diǎn)多于不為零的像素點(diǎn)時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值,作為當(dāng)前像素塊中的待解碼隱寫信息。

提取單元503,還用于在所述檢測單元檢測到當(dāng)前像素塊中各個(gè)像素點(diǎn)像素值的二進(jìn)制數(shù)值第8位不為零的像素點(diǎn)多于不為零的像素點(diǎn)時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值取反,作為當(dāng)前像素塊中的待解碼隱寫信息。

處理單元504,用于將各個(gè)所述像素塊中的待解碼隱寫信息按照各個(gè)所述像素塊的解碼順序組合成所述待解碼隱寫信息。

優(yōu)選的,所述提取單元503,還用于在當(dāng)前像素塊為所述目標(biāo)圖像信息中首個(gè)被解碼的像素塊時(shí),提取當(dāng)前像素塊像素均值的二進(jìn)制數(shù)值的第8-Bin位至第7位的原值,作為當(dāng)前像素塊中的待解碼隱寫信息。

參見圖13,一個(gè)實(shí)施例中,所述第二插入位數(shù)計(jì)算模塊包括第二最大值計(jì)算單元601和第二插入位數(shù)計(jì)算單元602。

第二最大值計(jì)算單元601,用于計(jì)算各個(gè)所述像素塊中各個(gè)像素點(diǎn)的像素值與像素均值差值的最大值:

其中,Idmax為所述最大值,Iavg為像素塊的像素均值,I(i,j)為該像素塊中第i行第j列像素點(diǎn)的像素值,該像素塊的大小為m×n。

第二插入位數(shù)計(jì)算單元602,用于根據(jù)所述最大值確定待解碼隱寫信息在該像素塊中的插入位數(shù):

Bin=min(a,round(log2(IdMax)))。

其中,Bin為待解碼隱寫信息在該像素塊中的插入位數(shù),a為預(yù)設(shè)系數(shù),且1≤a≤3。

本發(fā)明實(shí)施例可以按照實(shí)施例二中所述的隱寫信息解碼方法進(jìn)行實(shí)施,對此不再贅述。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實(shí)施例中的各功能單元、模塊可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中,上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實(shí)施例各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
常州市| 凤山县| 定安县| 沙洋县| 灵山县| 佛冈县| 元江| 陈巴尔虎旗| 博野县| 华安县| 泗水县| 隆尧县| 玉环县| 阿鲁科尔沁旗| 明光市| 溆浦县| 荆州市| 兴业县| 沙坪坝区| 云梦县| 长垣县| 闵行区| 漯河市| 梁山县| 三原县| 荆门市| 富裕县| 阿拉善右旗| 濮阳市| 新邵县| 寿阳县| 那曲县| 临邑县| 罗平县| 襄汾县| 西盟| 武山县| 武冈市| 亚东县| 定西市| 绵竹市|