《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Gzip壓縮算法的彩色QR碼生成與識別方法
基于Gzip壓縮算法的彩色QR碼生成與識別方法
2015年電子技術應用第12期
陳元枝1,鄧 艷1,史紹亮2,姜文英1
1.桂林電子科技大學 電子工程與自動化學院,廣西 桂林541004;2.中國科技開發院廣西分院,廣西 南寧530022
摘要: 黑白條碼由于數據容量的局限性已無法滿足用戶需求,據此在Gzip壓縮算法的基礎上設計了一種彩色QR碼的生成和識別方法。該方法的編碼顏色為2k種時,每個模塊可編碼k個二進制數據。通過增加編碼顏色和Gzip壓縮算法顯著提高了彩色QR碼的數據容量。本文設計的彩色QR碼的編碼顏色可任意選取,解碼時不需要利用參考顏色構成的調色板對彩色碼進行偏色處理,計算復雜度大幅減小,并且保留了黑白QR碼的魯棒性和可靠性。分析對比了4種顏色和16種顏色QR碼的數據容量和計算復雜度,結果表明基于Gzip壓縮算法的彩色QR碼是一種高效的信息嵌入方法。
中圖分類號: TP311
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.031

中文引用格式: 陳元枝,鄧艷,史紹亮,等. 基于Gzip壓縮算法的彩色QR碼生成與識別方法[J].電子技術應用,2015,41(12):116-119,128.
英文引用格式: Chen Yuanzhi,Deng Yan,Shi Shaoliang,et al. Generation and recognition method of colorized QR codes based on Gzip compression algorithm[J].Application of Electronic Technique,2015,41(12):116-119,128.
Generation and recognition method of colorized QR codes based on Gzip compression algorithm
Chen Yuanzhi1,Deng Yan1,Shi Shaoliang2,Jiang Wenying1
1.School of Electronic Engineering and Automation, Guilin University of Electric Technology,Guilin 541004,China; 2.Guangxi Branch of China Academy of Science and Technology Development,Nanning 530022,China
Abstract: The limitation of data capacity of black-and-white barcodes has been unable to meet the needs for users, accordingly, a method of generating and recognizing colorized Quick Response(QR) codes based on Gzip compression algorithm was designed which the encoding color could be arbitrarily selected. When encoded with 2k colors , each module can be encoded K binary data. The data capacity of the colorized QR codes was substantial increased by increasing the number of colors and Gzip compression algorithm. The method was not necessary to use any reference color to deal with the correction of color cast in the decoding process which significantly reduce the computational complexity and preserves the strong reliability and robustness properties of QR. The data capacity and computational complexity of 4 and 16 colorized QR codes are analyzed and compared. The results show that the colorized QR codes based on Gzip compression algorithm is an effective method for information embedding.
Key words : colorized QR code;data capacity;encoding;barcode recognition;Gzip compression algorithm

    

0 引言

    傳統的黑白條碼由于其較強的解碼魯棒性和儲存容量,迅速成為自動識別領域的重要分支,國內外學者為了提高條形碼的數據容量進行了大量的研究。在一個有限的空間內增加信息密度的需求促進了彩色條碼的發展。ColorCode[1]首次使用顏色信息來提高數據容量,但ColorCode僅作為后臺數據庫的索引,不屬于信息攜帶型的條碼。內存碼[2](Paper Memory,PM)通過同一空間位置疊加多層QR碼來提高數據容量,但對解碼軟件顏色識別的要求過高。高容量的彩色條碼[3](High Capacity Color Barcode,HCCB)通過編碼4色或8色的三角形符號集來提高數據容量,但HCCB碼掃描的魯棒性較差,缺乏明確的模式來支持檢測和定位過程。移動多彩色符合碼(Mobile Multi-Colour Composite,MMCC)[4]將編碼顏色增加為10種,數據容量增加至黑白QR碼的4倍,但MMCC碼無法正確解碼褶皺或邊緣彎曲的失真符號。Bulan[5]利用半色調點的方向模型在同一空間位置嵌入2種或3種不同顏色的獨立數據,再根據RGB和CMYK顏色空間光譜的互補特性將不同顏色的數據分離,數據容量為黑白QR碼的2倍或3倍。高容量的彩色二維條碼(High Capacity Colored Two Dimensional Codes,HCC2D)[6]在黑白QR碼的基礎上,利用Zxing[7]和Libqrencode[8]兩個開源的庫實現了4色、8色和16色的彩色QR碼,數據容量分別為黑白QR碼的2倍、3倍和4倍。

    現存的彩色碼一般通過增加編碼顏色種類或在同一空間位置疊加多層彩色碼來提高數據容量,卻很少有彩色碼利用無損壓縮算法來提高數據容量。本文在Gzip壓縮算法的基礎上設計了一種彩色QR碼的生成和識別方法,通過增加編碼顏色種類和Gzip壓縮算法來提高數據容量。實驗證明了4色和16色QR碼在數據容量和計算復雜度方面的優越性。

1 彩色QR碼的生成與識別

1.1 彩色QR碼的設計思路

    每個模塊可容納的比特數取決于使用的編碼顏色種類,用4種顏色編碼信息時,一個顏色模塊可容納2 bit,用8種顏色編碼信息時,一個顏色模塊可容納3 bit。以此類推,當編碼顏色數為2k種時,每個顏色模塊可容納k bit,即碼字總數、剩余位、數據碼字數、糾錯碼字數、糾錯的塊數等均變為黑白QR碼的k倍。

1.2 彩色QR碼尋像圖形的定位

    彩色QR碼解碼過程中,檢測并定位尋像圖形是最開始也是最關鍵的步驟。檢測尋像圖形時,隔行遍歷彩色QR碼圖像,先在水平方向上統計彩色QR碼圖像中5種顏色的相對寬度比例是否為1:1:3:1:1,此處比例允許小于50%的偏差;滿足上述比例條件后,再垂直檢測彩色QR碼圖像中5種顏色的相對寬度比例是否為1:1:3:1:1,此處比例允許小于40%的偏差;滿足上述兩個比例條件后,再次檢測水平方向上彩色QR碼圖像中5種顏色的相對寬度比例是否為1:1:3:1:1,此處比例允許小于20%的偏差。偏差的存在主要是為了檢測扭曲、變形等失真的彩色QR碼。

1.3 彩色QR碼編碼

    彩色QR碼的主要編碼過程如下:(1)輸入待編碼數據,生成源數據信息流;(2)用Gzip壓縮算法對源數據信息流進行壓縮;(3)根據黑白QR碼的編碼規則進行數據分析,形成數據碼字流;(4)根據數據碼字流的字節數,利用最小尺寸原則初始化彩色QR碼;(5)在步驟(3)和步驟(4)的基礎上,用理德-所羅門碼(Reed-Solomon,RS)算法對數據碼字流進行分塊糾錯,形成糾錯碼字流;(6)將糾錯碼字流添加到數據碼字序列后,構成總碼字流;(7)填充尋像圖形、分隔符、定位圖形和校正圖形區域;(8)填充格式信息和版本信息區域;(9)用默認的掩膜圖形參考000對編碼區域的模塊圖形進行掩膜;(10)根據黑白QR碼符號字符的排列規則,在步驟(8)和步驟(9)的基礎上填充數據碼字和糾錯碼字區域;(11)根據預先設定的顏色映射表,將彩色QR碼保存為PNG格式。

1.4 彩色QR碼解碼

    彩色QR碼的主要解碼過程如下:(1)加載并遍歷PNG格式的彩色QR碼圖像,獲得每個像素點的RGB值;(2)用尋像圖形的定位算法檢測3個位置探測圖形,若成功檢測到尋像圖形,則進入步驟(3),否則進入步驟(11);(3)返回3個位置探測圖形中心點的坐標值,若存在校正圖形,則返回校正圖形中心點的坐標值;(4)利用尋像圖形和校正圖形中心點的坐標,進行透視變換,柵格化彩色QR碼的顏色模塊;(5)根據預先設定的顏色映射表,識讀格式信息和版本信息;(6)去除掩膜,恢復數據碼字序列和糾錯碼字序列;(7)用RS算法進行錯誤檢查,若發現錯誤,則進入步驟(8);否則進入步驟(9);(8)用RS算法分塊糾錯;(9)將數據解壓縮,恢復源數據信息流;(10)根據模式指示符和字符計數指示符,進行數據碼字譯碼,恢復編碼數據;(11)結束本次解碼。

2 仿真實驗

    文章中的實驗是基于C#版Zxing庫進行的,測試QR碼的數據容量時,數字模式采用的數據集為“0123456789”共10個數字,字母數字模式采用的數據集為26個大寫字母,8位字節模式采用的數據集為26個小寫字母,中國漢字采用的數據集為GB2312第16區的94個漢字。該仿真實驗主要分析比較了2色、4色和16色QR碼數據容量和計算復雜度。

2.1 數據容量

    增加彩色條碼的數據容量主要有兩種方式:(1)增加顏色塊的密度;(2)增加顏色種類。這兩種方法都有其局限性。當顏色塊的密度超過相機分辨率的極限以后,相鄰的顏色塊就無法區分了;而當顏色種類過多時,某種顏色可由多種顏色混疊得到。相鄰顏色塊之間的顏色混疊改變了原始顏色塊的顏色,因此顏色聚類的方法在存在顏色混疊時效果不佳。為了提高彩色條碼單位面積的信息嵌入率和解碼魯棒性,本文設計的彩色QR碼不進行偏色處理,提高數據容量主要通過Gzip的壓縮算法。

    圖1列出了數字模式、字母數字模式、8位字節模式和中國漢字模式2色、4色和16色QR碼壓縮前后數據容量的曲線圖。由圖1可知,壓縮后2色、4色、16色QR碼分別從版本8、版本5、版本3開始有值,這是因為Gzip在尋找匹配串時利用哈希表來減小壓縮時間,Gzip的最小匹配長度為3 B,如果匹配串小于3 B的話,使用(匹配長度,相隔距離)對進行替換,不但沒有壓縮,反而還會增大[9]。而隨著編碼顏色的增加,單位面積的數據嵌入率逐漸提高,而Gzip的最大匹配長度是恒定的,所以16色QR碼僅需3個版本就足以容納哈希表的表頭。從圖1的曲線趨勢可看出,隨著版本號逐漸增加,數據容量增加的速度顯著提高,且隨著編碼顏色的增加,壓縮算法的優勢會更加明顯。

jsj1-t1.gif

    由表1可知,Gzip的壓縮算法是本文提高數據容量最有效、最直接的方法。當編碼顏色分別為4種、16種時,壓縮前4色、16色QR碼的數據容量為黑白QR碼的2倍、4倍。采用Gzip壓縮算法后,中國漢字模式2色、4色、16色的數據容量分別為85 081、191 775、405 149,與之對應的壓縮比分別為46.82、52.77、55.74。8位字節模式2色、4色、16色的數據容量分別為199 189、412 035、839 210,與之對應的壓縮比分別為67.45、69.77、71.05。充分說明了該壓縮算法的有效性,且隨著編碼顏色的增多,壓縮比逐漸增大,即彩色QR碼的數據容量逐漸增加。

jsj1-b1.gif

    由表2可知,常見黑白二維碼(Data Matrix、PDF417、QR碼)中QR碼的數據容量最大,而關濤[10]設計的4色、8色、16色彩色DM碼的數據容量分別是黑白DM碼的2倍、3倍、4倍,16色DM碼跟黑白QR碼相比較,字母數字模式的容量擴充倍數最大,為黑白QR碼的2.17倍,袁遠松[11]設計的6色DM碼采取漢字的編碼長度與使用頻率成反比的編碼規則,使得中國漢字的數據容量高于16色DM碼,但壓縮比例最大的中國漢字模式的數據容量也僅為黑白QR碼的1.76倍。HCCB碼由于利用調色板來糾正彩色碼的偏色問題,調色板作為彩色碼的組成部分卻不能用來編碼數據信息,因此4色、8色的HCCB碼的數據容量略小于黑白QR碼的2倍、3倍。10色MMCC碼的數據容量也僅為黑白QR碼的4倍。4色、8色、16色的HCC2D碼的數據容量分別是黑白QR碼的2倍、3倍、4倍。而本文經過GZIP壓縮算法后4色QR碼的數據容量與黑白QR碼相比較,數字模式、字母數字模式、8位字節模式、中國漢字模式的數據容量分別擴充了58.38倍、95.83倍、139.53倍、105.54倍。16色QR碼的數據容量與黑白QR碼相比較,數字模式、字母數字模式、8位字節模式、中國漢字模式的數據容量分別擴充了118.57倍、195.16倍、284.19倍、222.98倍。

jsj1-b2.gif

    由此可見,本文設計的彩色QR碼的數據容量與同類型的彩色碼相比,數據容量有明顯的優勢,且隨著顏色種類的增多,數據容量方面的優勢會更加明顯。

2.2 計算復雜度

    彩色條碼相同的顏色模塊在不同光照下呈現的顏色不一樣,主流的彩色條碼為了解決偏色問題,將包含所有編碼顏色的調色板嵌入到條碼本身,并假定調色板和顏色模塊在不同光照下的顏色變化是相對一致的,解碼時將每一個顏色模塊與調色板中的顏色相比較,將歐式距離最小的顏色值視為最終解碼的顏色值,因此計算復雜度大幅增加。當調色板出現損毀、調色板和顏色模塊處于不均勻的光照下時,均會導致解碼失敗。

    為了降低計算復雜度,提高數據容量和解碼正確率,本文設計的彩色QR碼不進行偏色處理。將編碼后的彩色QR碼保存為PNG格式,無損壓縮的圖片格式才能確保遍歷彩色QR碼時,精確識別每一個顏色模塊的RGB值,也正是因為如此,編碼顏色可以任意選取,才能利用Gzip的無損壓縮算法來提高數據容量。主流的彩色碼為了支持紙質檔的掃描,將編碼后的彩色碼保存為JPEG的有損壓縮格式,而壓縮算法在量化過程中會造成顏色信息的丟失,導致解碼魯棒性大幅降低。

3 總結

    本文設計的彩色QR碼通過增加編碼顏色和Gzip的壓縮算法來提高數據容量,實驗表明,16色QR碼數字模式、字母數字模式、8位字節模式、中國漢字模式的數據容量分別為黑白QR碼的118.57倍、195.16倍、284.19倍、222.98倍,數據容量跟同類型的彩色碼相比有明顯的優勢,且編碼顏色可以任意選取,解碼魯棒性不會隨著環境光照的變化而降低,省去了主流彩色碼的顏色糾正步驟,因此計算量大幅降低。

參考文獻

[1] CHEOL-HO C,EUN-DONG S,NAM-KYU L,et al.Machine readable code image and method of encoding and decoding the same:United States,7020327[P].2002-03-07.

[2] ONODA T,MIWA K.Hierarchised two-dimensional code,creation method thereof,and read method thereof[J].Available at Japan Patent Office,2005,213336.

[3] Microsoft Research.High Capacity Color Barcodes.[EB/OL].(2007-03-19)[2010-5-15].http://research.microsoft.com/projects/hccb/.

[4] KATO H,TAN K T,CHAI D.Novel colour selection scheme for 2D barcode[C].Proceedings of the 2009 International Symposium on Intelligent Signal Processing and Communication Systems(ISPACS 2009).Kanazawa,2009:529-532.

[5] BULAN O,MONGA V,SHARMA G.High capacity color barcodes using dot orientation and color separability[C].Proceedings of SPIE on Media Forensics and Security.San Jose,2009:725417.

[6] QUERINI M,GRILLO A,LENTINI A,et al.2D color barcodes for mobile phones[J].International Journal of Computer Science and Applications(IJCSA),2011,8(1):136-155.

[7] CROSSING Z.Multi-format 1d/2d barcode image processing library with clients for android[EB/OL].[2012-03-21].http://code.google.com/p/zxing/.

[8] FUKUCHI K.Libqrencode,a c library for encoding data in a qr code symbol[EB/OL].[2010-10-18].http://megaui.net/fukuchi/works/qrencode/.

[9] 湯維.32位壓縮程序在64位平臺上優化的研究與實現[D].西安:西安電子科技大學,2006.

[10] 關濤.彩色Data Matrix條碼的設計以及若干問題的研究[D].北京:清華大學,2007.

[11] 賈華國,袁遠松,劉志.一種面向漢字的高壓縮比彩色二維條碼的設計與實現[J].浙江工業大學學報,2010,38(05):561-565.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一级日韩一区在线观看| 香蕉乱码成人久久天堂爱免费| 欧美午夜视频网站| 欧美精品 日韩| 久久久综合激的五月天| 欧美一级理论性理论a| 亚洲女人天堂av| 亚洲午夜激情免费视频| 99国产精品久久久| 亚洲乱码久久| 99riav久久精品riav| 最新亚洲视频| 亚洲精品国产视频| 亚洲精品之草原avav久久| 亚洲国产成人久久综合| 久久精品一区二区三区四区| 久久国产88| 亚洲国产精品视频| 亚洲激情国产精品| 亚洲日本中文字幕免费在线不卡| 久久av在线看| 亚洲国产精品小视频| 亚洲激情在线激情| 亚洲伦理在线免费看| 99精品免费视频| 一区二区三区视频在线| 在线视频一区二区| 亚洲欧美电影在线观看| 欧美一级专区| 欧美中在线观看| 久久久久久网站| 久久综合中文| 欧美金8天国| 欧美日韩精品一区二区在线播放| 欧美日韩亚洲天堂| 国产精品一区免费观看| 国产亚洲午夜高清国产拍精品| 国产日韩精品一区二区三区| 国内精品久久久久久久影视蜜臀 | 亚洲午夜久久久| 午夜精品视频在线观看| 久久国产精品久久久久久久久久| 亚洲国产欧洲综合997久久| 亚洲免费av片| 亚洲欧美成人| 久久先锋资源| 欧美日韩小视频| 国产免费观看久久| 1000精品久久久久久久久| 亚洲欧洲精品一区二区三区波多野1战4| 日韩视频永久免费观看| 中文在线一区| 久久不射2019中文字幕| 99视频一区| 欧美在线高清视频| 欧美国产先锋| 国产精品日日摸夜夜摸av| 激情成人综合网| 99精品国产在热久久| 欧美一级视频一区二区| 亚洲精品久久久久久一区二区 | 国产精品福利久久久| 国内精品视频在线观看| 99re热精品| 久久精品视频亚洲| 亚洲免费一区二区| 久久尤物视频| 国产精品久久久久久亚洲毛片| 一区二区在线不卡| 亚洲一区视频在线| 91久久精品国产91久久性色| 午夜精品久久久久久久久久久| 美女视频黄 久久| 国产精品视频大全| 亚洲精品护士| 久久国产精品久久精品国产| 亚洲影院色在线观看免费| 久久婷婷国产麻豆91天堂| 欧美性事免费在线观看| 亚洲国产高清视频| 欧美与欧洲交xxxx免费观看 | 免费日韩一区二区| 国产日韩欧美亚洲一区| 日韩一级大片| 亚洲人成在线观看| 久久久久久综合| 国产精品国产亚洲精品看不卡15| 亚洲国产黄色| 亚洲福利专区| 欧美一区二区在线| 欧美日韩国产美| 亚洲电影欧美电影有声小说| 性做久久久久久| 亚洲男人的天堂在线aⅴ视频| 欧美高清视频www夜色资源网| 国产在线精品自拍| 午夜欧美电影在线观看| 亚洲在线中文字幕| 欧美日韩久久久久久| 亚洲国产日韩在线| 亚洲国产毛片完整版| 欧美在线视频观看| 国产精品日日摸夜夜添夜夜av| 亚洲精选一区二区| 日韩视频免费在线| 欧美黑人多人双交| 在线看无码的免费网站| 亚洲大片av| 久久综合国产精品| 好吊日精品视频| 久久精品国产99| 久久精品国产久精国产思思| 国产精品wwwwww| 亚洲视频一区在线观看| 亚洲一区二区av电影| 欧美日韩一级视频| 日韩视频二区| 在线综合欧美| 欧美日韩免费看| 99综合精品| 亚洲欧美激情一区| 国产精品久久久久高潮| 亚洲午夜激情| 欧美一区二区三区视频在线| 国产精品一区久久久久| 午夜视频在线观看一区二区三区| 午夜久久黄色| 国产日韩一区欧美| 欧美专区日韩视频| 噜噜噜噜噜久久久久久91| 樱花yy私人影院亚洲| 亚洲三级免费| 欧美日韩精品免费看| 一区二区冒白浆视频| 亚洲一区二区三区在线视频| 国产精品美女| 欧美在线综合| 欧美成年网站| 99精品99| 性久久久久久久久久久久| 国产日韩精品在线| 久久精品国产亚洲一区二区三区| 久热精品视频在线观看一区| 亚洲国产91精品在线观看| 日韩一区二区免费高清| 国产精品成人一区二区三区吃奶| 亚洲一区二区三区视频播放| 欧美在线在线| 在线观看91精品国产麻豆| 99re66热这里只有精品3直播 | 国产精品一区二区黑丝| 欧美一区二区三区另类| 欧美v日韩v国产v| 在线综合亚洲| 久久蜜桃资源一区二区老牛 | 国产亚洲亚洲| 亚洲人成亚洲人成在线观看图片| 欧美久久99| 亚洲男女自偷自拍图片另类| 久久久视频精品| 亚洲伦理在线观看| 欧美自拍偷拍| 亚洲欧洲美洲综合色网| 香蕉尹人综合在线观看| 黄色小说综合网站| 亚洲图片欧美一区| 国产日韩在线一区| 99精品免费网| 国产欧美va欧美va香蕉在| 亚洲日本激情| 国产精品亚洲综合| 亚洲人精品午夜在线观看| 国产精品久久久久毛片软件 | 99视频一区二区| 国产欧美一区二区精品秋霞影院| 最新国产乱人伦偷精品免费网站| 欧美午夜精品久久久久久浪潮| 欧美一区二区三区在线| 欧美日韩国产专区| 欧美亚洲尤物久久| 欧美巨乳在线观看| 欧美一区二区三区视频免费| 欧美激情第8页| 欧美一区二区性| 欧美午夜视频在线观看| 亚洲第一网站| 国产精品a久久久久| 亚洲国产精品t66y| 国产精品系列在线| 夜夜嗨av一区二区三区网页| 国产欧美一区二区精品性| 亚洲精品激情| 国产一区二区三区高清| 亚洲私人影院| 亚洲黄色免费| 鲁鲁狠狠狠7777一区二区| 夜夜嗨av一区二区三区网站四季av| 久久嫩草精品久久久久| 亚洲综合日韩中文字幕v在线| 欧美精品三级|