本發(fā)明涉及二維碼領(lǐng)域,更具體地,涉及一種可視化二維碼的編碼方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,二維碼由于其簡單方便的特點廣泛用于各個領(lǐng)域,比如商業(yè)廣告、支付、金融、快遞運輸、名片和車票等。特別的,二維碼在廣告領(lǐng)域的應(yīng)用,用戶只需要手機掃描二維碼就可以獲取廣告的內(nèi)容,相比傳統(tǒng)的海報,更為的方便,用戶只需要拿起手機拍一下二維碼,就可以通過跳轉(zhuǎn)獲取更為詳細(xì)的內(nèi)容,可以說,二維碼為現(xiàn)實和互聯(lián)網(wǎng)之間建立了一條大橋。但是,由于二維碼只是簡單的黑白條碼,從現(xiàn)今對美觀性要求越來越高的環(huán)境下,二維碼顯得有些簡陋了,尤其對于商業(yè)廣告,在廣告上面嵌入傳統(tǒng)二維碼破壞了廣告整體的美觀性。另外一點是,從傳統(tǒng)二維碼上無法獲取信息,只能掃描上面的圖案,這一點帶來了一些不便利性?,F(xiàn)今對美觀二維碼的研究,例如在二維碼中心嵌入圖像,這種方法有很多局限性,例如嵌入圖像不能較大,而且會對解碼帶來負(fù)面影響,visualead公司通過色彩干擾和弱化網(wǎng)格的方法改變二維碼的外觀,這些方法都沒有改變二維碼本質(zhì)單調(diào)的特性,而最新的方法,例如picode在人眼美觀性以及編解碼速率上存在著不足。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷,改善現(xiàn)有可視化二維碼美觀性不足的問題,提供一種可視化二維碼編碼方法。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
一種可視化二維碼的編碼方法,包括以下步驟:
s1:輸入模塊:輸入圖像、輸入信息和輸入閾值δ;
s2:圖像預(yù)處理模塊:根據(jù)比特流的長度重新調(diào)整圖像的大?。?/p>
s3:圖像通道提取模塊:在重新調(diào)整形成的圖像上提取圖像通道作為處理的對象;
s4:圖片編碼模塊:利用比特流對圖像塊編碼;
s5:圖像通道合成模塊:將圖像通道進(jìn)行合成,所有比特都編碼后,得到一個編碼后的圖像
s6:輸出模塊:在新的圖像基礎(chǔ)上加上可視化二維碼的定位模塊,形成可視化二維碼。
在一種優(yōu)選的方案中,步驟s1中,輸入信息為原始信息通過數(shù)據(jù)編碼成為原始比特流后再通過糾錯編碼而得到糾錯碼比特流。
在一種優(yōu)選的方案中,糾錯編碼方法為基于伽羅華域(gf8)的多項式來進(jìn)行糾錯運算的rs(reed-solomon)糾錯編碼。
在一種優(yōu)選的方案中,步驟s2中,根據(jù)比特流的數(shù)據(jù)長度,選擇對應(yīng)的模塊編排方式,可以得到一個n×n的比特流編排方式;根據(jù)n×n比特流模塊以及每個比特對應(yīng)k×k大小的圖像塊來重新調(diào)整圖像的大小,即調(diào)整后圖像的大小為nk×nk;
在一種優(yōu)選的方案中,步驟s3中,為了盡量減少編碼對原來圖像的破壞,應(yīng)該盡量保持圖像顏色的一致性。在各種顏色通道中,ycbcr圖像通道的亮度通道y和顏色通道cbcr是分離的,根據(jù)這個特性,本發(fā)明方法使用ycbcr圖像通道,將亮度通道y單獨取出來作為編碼單元ip,原圖像的顏色通道cbcr保持不變。
在一種優(yōu)選的方案中,步驟s4中,根據(jù)圖片大小和比特流長度對圖像進(jìn)行分塊,每一個圖像塊與比特流形成一一對應(yīng)的關(guān)系;每一個圖像塊再均分為a、b、c和d四個區(qū)域,編碼的方法根據(jù)這四個區(qū)域的平均值的大小排序關(guān)系來確定編碼的比特。
在一種優(yōu)選的方案中,假設(shè)每個比特對應(yīng)4×4圖像塊,每個編碼單元可以均分為a、b、c和d四個區(qū)域,每個區(qū)域包含4個像素,分別統(tǒng)計每個模塊亮度值的平均值ma、mb、mc和md,通過這幾個平均值值之間的排序關(guān)系來確定編碼的是0或者1;可以把這四個值分為兩個層次的大小比較或者三個層次、四個層次以上的比較,分的層次越多,可以進(jìn)行更加細(xì)致的大小的判斷,但是同時也會對解碼帶來困難,因為分的層次越多,每個塊對應(yīng)的像素數(shù)目越少,那么每個塊的平均值大小對環(huán)境影響以及各種縮放等的影響會更加敏感。只選擇兩個層次比較對圖像破壞較大,對人眼視覺不友好,而四個層次或以上會對解碼的魯棒性造成比較大的影響,基于這兩點考慮,我們選擇三個層次的比較:
每個圖像塊統(tǒng)計ma、mb、mc和md四個值,令
為了保證圖像的解碼的魯棒性,{ma,mbc,md}三個值之間大小關(guān)系確定后,還需要讓它們之間差值在一個定值之上,設(shè)置為δ,這個定值可以根據(jù)需要進(jìn)行調(diào)整,可以用來平衡圖片的可視性以及解碼的魯棒性;
依據(jù)編碼的原則,對于輸入的圖像塊和相應(yīng)的比特,可以分為兩大情況進(jìn)行討論,一種是排序正確的情況,即輸入比特為’0’時,ma排在第二位或者輸入比特為’1’時,ma排在第一位或者第三位;另外一種是排序錯誤的情況下,即輸入比特為’0’時,ma排在第一位或者第三位,或者輸入比特為’1’時,ma排在第二位;
在一種優(yōu)選的方案中,當(dāng)排序正確的情況下,可分為以下兩種情況:
(1)輸入比特為’0’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,ma的值保持不變,這時候只需要使得mbc和md和ma相差大于等于閾值δ,若它們之間的差值已經(jīng)大于等于δ,則保持原值不變,即
mbc*-ma≥δ
ma-md*≥δ
則有
ma*=ma
(2)當(dāng)輸入比特為’1’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,與第一種情況類似,ma的值保持不變,只需要使mbc和md與ma相差大于等于δ,即
ma-md*≥δ
ma-mbc*≥δ
則有
ma*=ma
在一種優(yōu)選的方案中,當(dāng)排序錯誤的情況下,必須使排序回到正確的排序上,有兩種情況:
(1)輸入比特為’0’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,調(diào)整的正確順序是,mbc排在第一位,ma排在第二位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,這里采取中值交換法計算值的改變量,即
mbc*-ma*≥δ
ma*-mdx≥δ
則有
mbc*=ma*+δ
(2)輸入比特為’1’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,ma與離得近的值交換位置,假設(shè)mbc離ma距離近,即mbc-ma≤ma-md,則對應(yīng)的計算如下
ma*-mbc*≥δ
ma*-md*≥δ
則有
ma*=mbc*+δ
在一種優(yōu)選的方案中,當(dāng)計算完畢的時候,為了保持改變后的圖像塊和原來的圖像塊的平均值一致性,必須對每個塊的改變值做一個歸零化處理,假設(shè)ma、mbc和md的改變量分別為δa、δbc和δd,則有
δa=ma*-ma
δbc=mbc*-mbc
δd=md*-md
進(jìn)行歸零化處理過程中,δbc占有兩個圖像塊,δa和δb各占有一個圖像塊,則統(tǒng)計改變量的總和為
δm=δa+2*δbc+δd
歸零化處理后各個塊的改變量為
δa*=δa-δm
δbc*=δbc-δm
δd*=δd-δm
最后將δa*、δbc*和δd*擴散到對應(yīng)的塊,即對應(yīng)的塊的像素值加上對應(yīng)的改變量,則對應(yīng)圖像塊的像素值經(jīng)過改變后的值為:
與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:一種可視化二維碼的編碼方法,提供基于信息隱藏的圖片二維碼的設(shè)計,采用單位像素塊的平均值作為運算目標(biāo),通過排序的方法確定編碼的比特的方法。從美觀性角度,此編碼方法在保證了解碼魯棒性的同時改善了圖片編碼的美觀性,更符合人眼特性;從速度角度,此編碼和解碼方法節(jié)約了編碼和解碼的時間,更能適應(yīng)現(xiàn)實環(huán)境的使用情況。
附圖說明
圖1為本發(fā)明實施例1可視化二維碼的編碼流程圖。
圖2為本發(fā)明實施例2實施1的24×24比特矩陣。
圖3為本發(fā)明實施例2可視化二維碼的圖像塊的分塊圖。
圖4為本發(fā)明實施例2可視化二維碼的探測模塊。
圖5為本發(fā)明實施例2生成的可視化二維碼。
具體實施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
為了更好說明本實施例,附圖某些部件會有省略、放大或縮小,并不代表實際產(chǎn)品的尺寸;
對于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。
下面結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案做進(jìn)一步的說明。
實施例1
如圖1所示,一種可視化二維碼的編碼方法,包括以下步驟:
s1:輸入模塊:輸入圖像、輸入信息和輸入閾值δ;
s2:圖像預(yù)處理模塊:根據(jù)比特流的長度重新調(diào)整圖像的大?。?/p>
s3:圖像通道提取模塊:在重新調(diào)整形成的圖像上提取圖像通道作為處理的對象;
s4:圖片編碼模塊:利用比特流對圖像塊編碼;
s5:圖像通道合成模塊:將圖像通道進(jìn)行合成,所有比特都編碼后,得到一個編碼后的圖像
s6:輸出模塊:在新的圖像基礎(chǔ)上加上可視化二維碼的定位模塊,形成可視化二維碼。
在具體實施過程中,步驟s1中,輸入信息為原始信息通過數(shù)據(jù)編碼成為原始比特流后再通過糾錯編碼而得到糾錯碼比特流。
在具體實施過程中,糾錯編碼方法為基于伽羅華域(gf8)的多項式來進(jìn)行糾錯運算的rs糾錯編碼。
在具體實施過程中,步驟s2中,根據(jù)比特流的數(shù)據(jù)長度,選擇對應(yīng)的模塊編排方式,可以得到一個n×n的比特流編排方式;根據(jù)n×n比特流模塊以及每個比特對應(yīng)k×k大小的圖像塊來重新調(diào)整圖像的大小,即調(diào)整后圖像的大小為nk×nk;
在具體實施過程中,步驟s3中,為了盡量減少編碼對原來圖像的破壞,應(yīng)該盡量保持圖像顏色的一致性。在各種顏色通道中,ycbcr圖像通道的亮度通道y和顏色通道cbcr是分離的,根據(jù)這個特性,本發(fā)明方法使用ycbcr圖像通道,將亮度通道y單獨取出來作為編碼單元ip,原圖像的顏色通道cbcr保持不變。
在具體實施過程中,步驟s4中,根據(jù)圖片大小和比特流長度對圖像進(jìn)行分塊,每一個圖像塊與比特流形成一一對應(yīng)的關(guān)系;每一個圖像塊再均分為a、b、c和d四個區(qū)域,編碼的方法根據(jù)這四個區(qū)域的平均值的大小排序關(guān)系來確定編碼的比特。
在具體實施過程中,假設(shè)每個比特對應(yīng)4×4圖像塊,每個編碼單元可以均分為a、b、c和d四個區(qū)域,每個區(qū)域包含4個像素,分別統(tǒng)計每個模塊亮度值的平均值ma、mb、mc和md,通過這幾個平均值值之間的排序關(guān)系來確定編碼的是0或者1;可以把這四個值分為兩個層次的大小比較或者三個層次、四個層次以上的比較,分的層次越多,可以進(jìn)行更加細(xì)致的大小的判斷,但是同時也會對解碼帶來困難,因為分的層次越多,每個塊對應(yīng)的像素數(shù)目越少,那么每個塊的平均值大小對環(huán)境影響以及各種縮放等的影響會更加敏感。只選擇兩個層次比較對圖像破壞較大,對人眼視覺不友好,而四個層次或以上會對解碼的魯棒性造成比較大的影響,基于這兩點考慮,我們選擇三個層次的比較:
每個圖像塊統(tǒng)計ma、mb、mc和md四個值,令
為了保證圖像的解碼的魯棒性,{ma,mbc,md}三個值之間大小關(guān)系確定后,還需要讓它們之間差值在一個定值之上,設(shè)置為δ,這個定值可以根據(jù)需要進(jìn)行調(diào)整,可以用來平衡圖片的可視性以及解碼的魯棒性;
依據(jù)編碼的原則,對于輸入的圖像塊和相應(yīng)的比特,可以分為兩大情況進(jìn)行討論,一種是排序正確的情況,即輸入比特為’0’時,ma排在第二位或者輸入比特為’1’時,ma排在第一位或者第三位;另外一種是排序錯誤的情況下,即輸入比特為’0’時,ma排在第一位或者第三位,或者輸入比特為’1’時,ma排在第二位;
在具體實施過程中,當(dāng)排序正確的情況下,可分為以下兩種情況:
(1)輸入比特為’0’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,ma的值保持不變,這時候只需要使得mbc和md和ma相差大于等于閾值δ,若它們之間的差值已經(jīng)大于等于δ,則保持原值不變,即
mbc*-ma≥δ
ma-md*≥δ
則有
ma*=ma
(2)當(dāng)輸入比特為’1’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,與第一種情況類似,ma的值保持不變,只需要使mbc和md與ma相差大于等于δ,即
ma-md*≥δ
ma-mbc*≥δ
則有
ma*=ma
在具體實施過程中,當(dāng)排序錯誤的情況下,必須使排序回到正確的排序上,有兩種情況:
(1)輸入比特為’0’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,調(diào)整的正確順序是,mbc排在第一位,ma排在第二位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,這里采取中值交換法計算值的改變量,即
mbc*-ma*≥δ
ma*-md*≥δ
則有
mbc*=ma*+δ
(2)輸入比特為’1’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,ma與離得近的值交換位置,假設(shè)mbc離ma距離近,即mbc-ma≤ma-md,則對應(yīng)的計算如下
ma*-mbc*≥δ
ma*-md*≥δ
則有
ma*=mbc*+δ
在具體實施過程中,當(dāng)計算完畢的時候,為了保持改變后的圖像塊和原來的圖像塊的平均值一致性,必須對每個塊的改變值做一個歸零化處理,假設(shè)ma、mbc和md的改變量分別為δa、δbc和δd,則有
δa=ma*-ma
δbc=mbc*-mbc
δd=md*-md
進(jìn)行歸零化處理過程中,δbc占有兩個圖像塊,δa和δb各占有一個圖像塊,則統(tǒng)計改變量的總和為
δm=δa+2*δbc+δd
歸零化處理后各個塊的改變量為
δa*=δa-δm
δbc*=δbc-δm
δd*=δd-δm
最后將δa*、δbc*和δd*擴散到對應(yīng)的塊,即對應(yīng)的塊的像素值加上對應(yīng)的改變量,則對應(yīng)圖像塊的像素值經(jīng)過改變后的值為:
實施例2
定義24×24為版本一,輸入圖像為lena圖像,圖像的分辨率為256×256,輸入的信息為一個url(uniformresourcelocator,統(tǒng)一資源定位符)網(wǎng)絡(luò)地址:http://sipi.usc.edu/services/database/index.html。
如圖2所示,對信息進(jìn)行數(shù)據(jù)編碼和糾錯碼編碼,形成一個24×24的0-1矩陣作為處理的信息矩陣。輸入一個分辨為256×256的lena圖像,以每個圖像塊8×8像素決定一個比特,lena圖像重新調(diào)整成為分辨率192×192大小的圖像。設(shè)置閾值δ=30。在重新調(diào)整形成的圖像上提取圖像的y通道,按照圖1的流程圖,按照一一對應(yīng)的關(guān)系,對每個圖像塊和對應(yīng)的比特進(jìn)行如下討論與計算。
如圖3所示,對圖像塊的區(qū)域a、b、c和d分別計算每個區(qū)域的平均值ma、mb、mc和md,令
第一種情況當(dāng)排序正確的情況下,可分為以下兩種情況:
(1)輸入比特為’0’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,ma的值保持不變,這時候只需要使得mbc和md和ma相差大于等于閾值δ,若它們之間的差值已經(jīng)大于等于δ,則保持原值不變,即
mbc*-ma≥δ
ma-md*≥δ
則有
ma*=ma
(2)當(dāng)輸入比特為’1’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,與第一種情況類似,ma的值保持不變,只需要使mbc和md與ma相差大于等于δ,即
ma-md*≥δ
ma-mbc*≥δ
則有
ma*=ma
第二種情況當(dāng)排序錯誤的情況下,必須使排序回到正確的排序上,有兩種情況:
(1)輸入比特為’0’的時候,ma排在第一位或者第三位,假設(shè)ma排在第一位,mbc排在第二位,md排在第三位,調(diào)整的正確順序是,mbc排在第一位,ma排在第二位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,這里采取中值交換法計算值的改變量,即
mbc*-ma*≥δ
ma*-md*≥δ
則有
(2)輸入比特為’1’的時候,ma排在第二位,假設(shè)mbc排在第一位,md排在第三位,為了盡量減小值的變動太大影響圖片的美觀性,ma與離得近的值交換位置,假設(shè)mbc離ma距離近,即mbc-ma≤ma-md,則對應(yīng)的計算如下
ma*-mbc*≥δ
ma*-md*≥δ
則有
ma*=mbc*+δ
當(dāng)計算完畢的時候,為了保持改變后的圖像塊和原來的圖像塊的平均值一致性,必須對每個塊的改變值做一個歸零化處理,假設(shè)ma、mbc和md的改變量分別為δa、δbc和δd,則有
δa=ma*-ma
δbc=mbc*-mbc
δd=md*-md
進(jìn)行歸零化處理過程中,δbc占有兩個圖像塊,δa和δb各占有一個圖像塊,則統(tǒng)計改變量的總和為
δm=δa+2*δbc+δd
歸零化處理后各個塊的改變量為
δa*=δa-δm
δbc*=δbc-δm
δd*=δd-δm
最后將δa*、δbc*和δd*擴散到對應(yīng)的塊,即對應(yīng)的塊的像素值加上對應(yīng)的改變量。則對應(yīng)圖像塊的像素值經(jīng)過改變后的值為
所有比特都編碼后,得到一個編碼后的
相同或相似的標(biāo)號對應(yīng)相同或相似的部件;
附圖中描述位置關(guān)系的用語僅用于示例性說明,不能理解為對本專利的限制;
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護范圍之內(nèi)。