手機客戶端軟件—QR二維碼編解碼器的分析與設計_第1頁
手機客戶端軟件—QR二維碼編解碼器的分析與設計_第2頁
手機客戶端軟件—QR二維碼編解碼器的分析與設計_第3頁
手機客戶端軟件—QR二維碼編解碼器的分析與設計_第4頁
手機客戶端軟件—QR二維碼編解碼器的分析與設計_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、手機客戶端軟件一QR二維碼編解碼器的分析與設計2010-09-19來源:摘要:本論文在研究二維條碼知識的基礎上,根據快速響應矩陣碼國家標準設計完成了QR二維碼編解碼算法過程,尤其是Reed-Solomon糾錯算法的電路編碼實現,對其他條碼技術的編解碼有著很強的理論指導意義。同時,開發安裝完成手機上的二維碼編解碼客戶端軟件是手機上的一項增值業務,不僅可以滿足服務提供商推廣增值業務的需求,還有著廣泛的市場應用價值。本論文的研究成果在于創新性地使用二維碼為兌付憑證,建立用戶手機和物品的關聯關系,在提高數據傳輸的安全性的基礎上,用網絡信息傳輸完成數據傳輸過程,從而提高了現有網絡資源的利用率以及數據傳輸

2、的效率和安全。關鍵詞:快速矩陣響應二維條碼;Reed-Solomon;手機客戶端軟件1 .引言隨著世界經濟的飛速發展,經濟全球化、信息網絡化、生產國際化成為當今世界經濟的主流。同時,各行各業的管理體制和管理手段也在發生著日新月異的變化,現代化的高新技術推動了自動識別技術的迅猛發展。條碼技術是在圖形識別技術的基礎上發展起來的一種信息處理技術,目前在世界范圍內已得到廣泛的應用。二維碼的出現是條碼技術發展史上的里程碑,從質的方面提高了條碼技術的應用水平,從量的方面拓寬了應用領域1。本論文根據快速響應矩陣碼國家標準設計完成了QR二維碼編解碼算法過程,其中對編碼版本和糾錯等級有較高的要求,尤其是Reed

3、-Solomon糾錯算法的電路編碼實現,對其他條碼技術的編解碼有著很強的理論指導意義。同時,開發安裝完成手機上的二維碼編解碼客戶端軟件是手機上的一項增值業務,不僅可以滿足服務提供商推廣增值業務的需求,還有著廣泛的市場應用價值。2 .快速響應矩陣二維條碼編解碼實現在簡單介紹二維條碼知識的基礎上,依據快速響應矩陣碼國家標準,詳細闡述了QR二維碼的編碼過程,譯碼過程和糾錯算法,最后給出結果演示。2.1 二維碼技術簡介二維條碼(2-dimensionalbarcode)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的,在代碼編制上巧妙地利用構成計算機內部邏輯基

4、礎的0、1比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。QRCode碼是由日本Denso公司于1994年9月研制的一種矩陣二維碼符號,它除具有一維條碼及其它二維條碼所具有的信息容量大、可靠性高、可表示漢字及圖象多種文字信息、保密防偽性強等優點外,還具有如下主要特點:普通的一維條碼只能在橫向位置表示大約20為的字母或數字信息,無糾錯功能,使用時候需要后臺數據庫的支持,而二維條碼是橫向縱向都存有信息,可以放入字母、數字、漢字、照片、指紋等大量信息,相當一個可移動的數據庫。如果用一維條碼與二維條碼表示同樣的信息,QR二維

5、碼占用的空間只是條碼1/11的面積。圖1為QR碼符號版本5的示例。2.2QR碼符號結構每個QR碼符號由正方形模塊組成的一個正方形陣列構成,它由編碼區域和包括尋像圖形、分隔符、定位圖形和校正圖形在內的功能圖形組成。功能圖形不用于數據編碼。符號的四周為空白區。圖2為以QR碼版本7符號為例的結構圖2。編碼過程數據分析分析所輸入的數據流,確定要進行編碼的字符的類型。QR碼包括幾種不同的模式,以便高效地將不同的字符子集轉換為符合字符。選擇所需的糾錯等級。(如:版本1,每邊模塊數21,功能圖形模塊數202,格式及版本信息模塊數31,數據模塊數208,數據容量【碼字】26,剩余位0;版本2,每邊模塊數25,

6、功能圖形模塊數235,格式及版本信息模塊數31,數據模塊數359,數據容量【碼字】44,剩余位7。版本號每加1,模塊數加4,當版本號>6時,格式及版本信息模塊數為67)模式轉換可以縮短位流長度,但要有模式指示符和字符計數指示符(位數與版本號和模式相關)的附加開銷,選擇適當的模式提高編碼效率。常用編碼模式數字模式:對十進制數字09(ASCII值3039)編碼,密度通常為每10位表示三個字符。字母數字模式:對45個字符的字符集進行編碼,包括10個數字09,26個字母字符AZ,9個符號SP密度通常為每11位表示兩個字符。8位字節模式:用于表示ASCII字符集(00FF),編碼密度為每8位表示一

7、個字符。中國漢字模式:用于表示GB2312規定的雙字節表示的中國漢字和非漢字字符,字符值為字符對應的內碼值。編碼密度為每13位表示一個雙字節字符。數據編碼根據采用的模式,將數據字符轉換為位流。當需要進行模式轉換時,在新的模式段開始前加入模式指示符進行模式轉換,在數據序列后面加入終止符,將產生的位流分為每8位一個碼字,必要時加入填充字符以填滿按照版本要求的數據碼字數。位流=(ECI標頭)+模式指示符(4位)十字符計數指示符(位數和版本號及編碼模式有關)+數據位流終止符(0000)位流到碼字的轉換:每個模式段的位流需要按順序連接在一起,最后添加終止符。所得的數據位流被分為一個個碼字,所有碼字的長度

8、都是8位,如果位流長度最后一個碼字不足8位,則用二進制0填充至8位。然后按照版本號和糾錯等級交替添加填充碼字1110110儕口00010001,將數據位流擴展,以填滿符號的數據容量,所得結果加入糾錯碼字。有些版本需要在信息的最后添加3、4或7個剩余位。(如版本1H,數據碼字數為9,數據位數為9>8=72,數據容量:數字17;字母數字10;8位字節7;中國漢字4)糾錯編碼按需要將碼字序列分塊,以便按塊生成相應的糾錯碼字,并將其加入到相應數據碼字序列的后面。糾錯碼添加在數據碼字序列后,使得符號可以在遇到損壞時不致丟失數據。糾錯容量計算舉例:版本6-H符號中共有172個碼字,60個數據碼字,1

9、12個糾錯碼字,這112個糾錯碼字可以糾正56個替代錯誤或112個拒讀錯誤,符號糾錯容量為56/172或32.6%。QR碼符號各版本的糾錯特性舉例:版本1M,糾錯塊數1,碼字總數26,數據碼字數16,糾錯碼字數26-16=10,錯誤檢測碼字數2,糾錯替代錯誤數(102)/2=4;版本5H,糾錯塊數4,碼字總數134,數據碼字數11>2+12X2=48,糾錯碼字數88,錯誤檢測碼字數0,糾錯替代錯誤數88/2=44。將數據碼字分塊,每一塊分別計算出糾錯碼字并添加到數字碼字后。糾錯碼字是數據碼字被糾錯多項式g(x)除得的余數。構造最終信息在每一塊中置入數據和糾錯碼字,必要時加剩余位。根據版本

10、和糾錯等級將數據碼字序列分成n塊,對每一塊計算相應的糾錯碼字,最終序列生成方式:數據塊1的碼字1,數據塊2的碼字1,數據塊n的碼字1,數據塊1的碼字2,數據塊n的碼字2數據塊1的最后一個碼字,數據塊n的最后一個碼字;隨后,糾錯塊1的碼字1,糾錯塊2的碼字1,糾錯塊n的最后一個碼字。正好填滿符號的碼字容量,必要時加3、4或7個剩余位。在矩陣中布置模塊將尋像圖形、分隔符、定位圖形、校正圖形與碼字模塊一起放入矩陣。將整個碼字序列視為一個單獨的位流,將其(最高位開始)按從右向左、向上和向下的方向交替的布置于兩個模塊寬的縱列中,并跳過功能圖形占用的區域,在縱列的頂部或底部改變方向,每一位應放在第一個可用

11、的位置。掩模用8種掩模圖形依次對符號的編碼區域的位圖進行掩模處理,評價所得到的8種結果,選擇最優的一種。為了QR碼閱讀的可靠性,最好均衡地安排深色與淺色模塊,避免位置探測圖形的位圖1011101出現在符號的其他區域。掩模不用于功能圖形,用多個矩陣圖形(掩模圖形參考)對已知的編碼區域的模塊圖形(格式信息和版本信息除外)進行XOR操作。對每個結果圖形的不合要求的部分記分,評估這些結果,選擇得分最低的圖形。評分特征(括號內為罰分權重):行列中相鄰模塊的顏色相同N1(3);顏色相同的模塊組成的塊N2(3);行列中出現1011101的圖形N3(40);整個符號中深色模塊的比率(10)格式和版本信息生成版

12、本信息和格式信息,構成符號。格式信息為15位,5位數據位,10位用BCH(15,5)編碼計算的糾錯位。包含糾錯等級信息(第1、2位)、掩模圖形參考信息(第3、4、5位)。15位格式信息與101010000010010進行XOR操作(確保前五位不全為零),格式信息在符號中出現兩次,(4V+9,8)總是深色,V是版本號。版本信息位18位,6位數據位,12位用BCH(15,5)編碼計算的糾錯位。只有版本740符號包含版本信息,沒有任何版本信息的結果全為0,所以不必掩模處理。版本信息在符號中也出現兩次,6行切列模塊組成的版本信息放在定位圖形的上面,其右側緊臨右上角位置探測圖形的分隔符,3行對列模塊組成

13、的版本信息放在定位圖形的左側,其下邊緊臨左下角位置探測圖形的分隔符。譯碼過程從識讀一個QR碼符號到輸出數據字符的譯碼步驟是編碼程序的逆過程,1定位并獲取符號圖像。深色與淺色模塊識別為由"叫“1組成的陣列。2識讀格式信息(按需要去除掩模圖形并完成對格式信息模塊的糾錯,識別糾錯等級與掩模圖形參考)。3識讀版本信息如果應用),確定符號的版本。4用掩模圖形掩模圖形參考已經從格式信息中得出)對編碼區域的位圖進行異或處理,消除掩模。5根據模塊排列規則,識讀符號字符,恢復信息的數據與糾錯碼字。6用與糾錯等級信息相對應的糾錯碼字檢測錯誤,如果發現錯誤,則進行糾錯。7根據模式指示符和字符計數指示符將數

14、據碼字劃分成多個部分。8最后,按照使用的模式進行譯碼,得出數據字符并輸出結果。糾錯算法Reed-Solomon碼是一種特殊形式的循環碼,是多元BCH碼的一種。RS碼基于有限域理論,特別是形如GF(qm)的有限域。在發送端發送信息之前,糾錯編碼器根據要發送的數據信息計算相應的糾錯信息,并把糾錯信息作為冗余校驗和數據信息一起組成糾錯碼。在接收端收到這些碼后,通過糾錯編碼器不僅能自動地發現錯誤,而且能自動地糾正碼字在傳輸過程中的錯誤,這種差錯控制的系統屬于前向糾錯系統4o糾錯算法可以用如下多項式除法電路來實現。寄存器b0到bk-1的初始值為0。生成編碼的狀態有2種,在第一種狀態,開關位置向下,數據碼

15、字同時經過電路與輸出,第一種狀態在n個時鐘脈沖后結束,在第二種狀態(n+1,,n+k時鐘脈沖)時,開關位置向上,通過保持輸人為0順序釋放寄存器而生成糾錯碼字5。如圖3所示。編譯碼和糾錯演示以6L(版本6,糾錯等級L)為例,輸入數據為:Reed-Solomoncodesareblock-basederrorcorrectingcodeswithawiderangeofapplicationsindigitalcommunicationsandstorage.手機客戶端軟件分析與設計客戶端軟件設計原則由于手機上的網絡帶寬,運算能力,內存和電量的硬件限制,以及無線網絡傳輸的成本,在開發手機客戶端的過

16、程中,要充分考慮到系統的實時性和穩定性,有許多問題需要解決,客戶端程序研發的質量將直接影響產品的在市場上的推廣和宣傳。設計時需要考慮軟件的靈活性,穩定性,高效性,可擴展性,實時性等原則3模塊分層映射架構本文提出了一個易于實現Java語言平臺間移植的模塊分層影射的架構設計,可以在很大程度上降低平臺移植的工作難度,提高工作效率。這個設計將整個架構劃分為三層:后臺服務器層、客戶端代理層和用戶界面層。服務器層用于擴展增值業務和實現產品功能。中間層和用戶界面層之間是C/S,B/S混合式架構,管理員和業務負責人使用瀏覽器進行業務操作,實際用戶使用手機上的客戶端程序與服務器交互。客戶端代理層是手機與其他服務

17、器的代理,在無線網絡運營商端架設,C-Server屏蔽了C/S的手機客戶端和無線網絡,并承擔手機客戶端的管理工作,可以使上層的應用更加容易擴展。首先提取業務和平臺無關的功能,如網絡通訊,通用數據結構,通用工具類等功能,以及通用的MVC架構,用平臺無關的方法實現,使其為上層提供穩定的接口。這些功能只使用Java語言的基本功能,屬于J2SE范圍內,如java.lang,java.util等包,所有廠商的Java語言的sdk都能夠編譯通過。這一層可以做到不做任何修改的移植,并且是業務無關的,可以被所有產品應用共享,獨立維護,并以.jar的靜態庫的方式提供給其他項目。中間層中主要包含了業務處理的核心邏

18、輯,網絡代理類。主要實現了業務處理邏輯,同一產品中的該層代碼可以共享,同時它可以封裝將上層的功能進行封裝和屏蔽。業務相關層會涉及到不同平臺的特殊API。為了使這一層也實現跨平臺,對平臺間相同功能的API做了同一的封裝,以接口定義的形式使用,這些接口的實現放在下一層,本產品在這一層各模塊間的組織符合上節中的插件設計,即沒有模塊間的耦合,將這些耦合降到下一層中實現。這一層包含了所有平臺間和手機型號間差異的特征和模塊間耦合的處理,實現了中間業務相關層中接口。這樣設計可以在平臺移植和功能擴展上減少工作量,大大提高了代碼的重用。.總結本論文詳細分析討論了快速響應矩陣二維條碼在PC端和手機終端的編解碼過程

19、,使用二維碼建立手機和物品的關聯關系,在提高數據傳輸的安全性基礎上,提高了現有網絡資源的利用率以及數據傳輸的效率,在客戶端軟件設計中,引入模塊分層映射架構,使得便于在客戶端軟件的基礎上開發產品和擴展業務。編碼流程的每一步都是嚴格按照國家標準用程序實現的,健壯性和可擴展性都較強,擴展問題得到很好的實現,可以直接投入使用。十年論文機構京都名師論文中心,正規全面的論文刊物為您提供職稱論文,畢業論文,碩士論文,醫學論文,教育論文等各類論文發表服務。/、iv、rt'參考文獻1卓望信息技術(北京)有限公司,中國移動條碼識別業務介紹,2006年10月2國家質量技術監督局,中華人民共和國國家標準一快速

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論