• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      二維碼相關(guān)技術(shù)研究

      2015-12-10 12:00劉曉慧
      電腦知識與技術(shù) 2015年26期
      關(guān)鍵詞:糾錯

      劉曉慧

      摘要:該文對QR二維碼相關(guān)問題進行了研究,從QR二維碼的編碼模式、編碼方法、糾錯編碼、圖像生成及圖像解碼等幾個方面進行了闡述。

      關(guān)鍵詞:QR二維碼;糾錯;編碼模式

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)26-0049-03

      1 引言

      二維碼是在一維碼技術(shù)的基礎(chǔ)上發(fā)展起來的一門技術(shù),它集信息編碼、信息傳遞、圖像處理、數(shù)據(jù)加密等技術(shù)為一體,是一種最新的條碼技術(shù)。隨著移動互聯(lián)網(wǎng)的快速發(fā)展,二維碼技術(shù)作為一種新型信息傳遞技術(shù),近年來在世界各國迅速發(fā)展并發(fā)揮著重要作用。二維碼分為行排式二維碼和矩陣式二維碼,目前應(yīng)用最為廣泛的QR二維碼(Quick Response Code,簡稱QR碼)屬于矩陣式二維碼,QR二維碼具有編碼范圍廣泛靈活,快速識別和解碼等優(yōu)勢,因而得到廣泛應(yīng)用。因此,對QR二維碼及相關(guān)技術(shù)的研究具有重要意義。

      2 QR二維碼

      QR二維碼共有40個版本和4個錯誤糾錯等級,糾錯等級分別用L(低)、M(中)、Q(標準)、H(高)來表示,不同的糾錯等級使用不同數(shù)量的糾錯碼字,糾錯等級越高,使用的糾錯碼字越多,而糾錯碼字的增加也會使二維碼攜帶的信息量減少。

      2.1 QR二維碼的編碼模式及編碼方法

      QR二維碼具有多種編碼模式,包含了互聯(lián)網(wǎng)用到的絕大多數(shù)字符,主要有數(shù)字模式、字符模式、字節(jié)模式、中文模式、日文模式、擴充解釋模式(ECI)、結(jié)構(gòu)鏈接、FNC1模式等。其中擴充解釋模式用于特殊的字符集,結(jié)構(gòu)鏈接用于混合編碼,F(xiàn)NC1模式主要在一些特殊行業(yè)使用。

      二維碼的編碼是要將不同信息編碼成二進制數(shù)據(jù)流,編碼之前首先要進行數(shù)據(jù)分析,確定要進行編碼的字符類型,決定使用哪種模式進行編碼,并選擇二維碼版本。編碼后的二進制數(shù)據(jù)流由三部分構(gòu)成:模式指示符、字符計數(shù)指示符和信息數(shù)據(jù)流。其中各編碼模式指示符如表1所示。

      表1 模式指示符

      [模式\&指示符\&模式\&指示符\&數(shù)字\&0001\&擴充解釋(ECI)\&0111\&字符\&0010\&日文\&1000\&結(jié)構(gòu)鏈接\&0011\&中文\&1101\&字節(jié)\&0100\&FNC1\&0101/1001\&]

      字符計數(shù)指示符表示信息數(shù)據(jù)流在編碼前含有的字符個數(shù),字符計數(shù)指示符的長度隨編碼模式不同和二維碼版本不同而不同,其長度規(guī)定見表2。

      表2 字符計數(shù)指示符長度

      [版本\&數(shù)字模式\&字符模式\&字節(jié)模式\&中文模式\&日文模式\&1-9\&10\&9\&8\&8\&8\&10-26\&12\&11\&16\&10\&10\&27-40\&14\&13\&16\&12\&12\&]

      信息數(shù)據(jù)流是對數(shù)據(jù)信息的編碼,在不同模式下編碼方式不同。

      QR二維碼在進行漢字編碼時,采用的是國標碼GB2312,其中包括了6768個漢字字符,每個字符占用兩個字節(jié),在編碼時將每個漢字字符轉(zhuǎn)換為13位的二進制數(shù),并在其前面加上模式指示符、漢字子集指示符和字符計數(shù)指示符。

      2.2 QR二維碼的糾錯編碼

      信息在含噪信息通道中傳送時會被噪聲干擾而失真,從而影響信息有效傳遞,因此,在信息傳遞之前要對其附加冗余,即編碼,信息接收后再進行解碼,這樣可以糾正信息中的錯誤,而由信息和附加在其上的冗余構(gòu)成的編碼序列稱為糾錯碼。冗余加入到信息中的方式有兩種,即分組碼和卷積碼,在實用中更多的使用的是分組碼,QR二維碼使用的糾錯碼RS(Reed-Solomon)碼就是分組碼。

      RS碼是在GF(Galois Field)域中運算的,碼系數(shù)在GF(28)中取值,GF(28)與線性空間{0,1}8同構(gòu)(“+”),運算時可以用異或運算代替加法,在工程上實現(xiàn)更為方便,RS碼是多項式編碼中的一種,用來構(gòu)造GF(28)域的多項式是:

      P(x)=x8+x4+x3+x2+1

      RS碼在糾錯時首先計算校正子,之后計算錯誤位置并得到錯誤值,最后將求得的錯誤值對應(yīng)的補數(shù)加到每個錯誤位置,糾錯完成。

      2.3 QR二維碼圖像生成

      QR二維碼一共有40個尺寸,即版本(Version),版本1是21×21矩陣,每增加一個版本,尺寸增加4,計算公式是:(Version-1)×4+21。QR二維碼的基本結(jié)構(gòu)如圖所示:

      位置探測圖形共有3個,位置固定,用于識別確認此圖形是QR二維碼圖形,同時確定二維碼的方向;位置探測圖形分隔符是寬度為1的留白,以便更好的識別位置探測圖形;定位圖形有兩條,位置固定在第6行和第6列,作為二維碼掃描的標準線;校正圖形在版本2及以上的版本中存在,版本不同,校正圖形的個數(shù)也不同,圖形與位置探測圖形相似,用于對二維碼符號形狀校正;格式信息用于存放一些格式化數(shù)據(jù),表示該二維碼的糾錯級別;版本信息表示二維碼的規(guī)格,在Version 7及以上版本中,需要預(yù)留兩塊3×6的區(qū)域存放版本信息;數(shù)據(jù)和糾錯碼字區(qū)域用于存放實際的數(shù)據(jù)信息和糾錯信息。

      繪制二維碼時,先在二維碼區(qū)域三個角上放置位置探測圖形,接下來是校正圖形和兩條定位圖形;之后添加格式信息,格式信息是一個15位的信息,其位置排列如圖所示,其中包括5個數(shù)據(jù)位和10個糾錯位,5個數(shù)據(jù)位包括2位糾錯等級信息和3位掩膜圖形模式,15位格式信息還要與101010000010010進行XOR操作,這樣可以避免因為選用了00的糾錯級別以及000的掩膜圖形,從而造成全部為白色,增加掃描器圖像識別的難度;再接下來是版本信息,共18位,其中包含6位版本號和12位糾錯碼,在兩塊區(qū)域填充方式如圖所示;然后是填充數(shù)據(jù)編碼和糾錯編碼,填充時每個碼字放入2×4個模塊中,填充方式如圖4所示,從右下角開始按M型排列,1是黑色,0是白色。如果遇到了上述的功能區(qū)圖形,則使用不規(guī)則的8個模塊圖形。

      不同版本的數(shù)據(jù)和糾錯碼字區(qū)域由不同個數(shù)的數(shù)據(jù)塊組成,每個數(shù)據(jù)塊包含若干個數(shù)據(jù)碼字和糾錯碼字,數(shù)據(jù)碼字和糾錯碼字在填充前,要按一定順序進行排列,排列方式是:對于數(shù)據(jù)碼,將每個塊中的第一個碼字進行排列,然后再取每個塊中的第二個碼字進行排列,依此類推;糾錯碼排列方式相同,最終得到整個碼字序列。如果最后區(qū)域有剩余位,則填充0。如版本7-H由5個數(shù)據(jù)塊組成,其數(shù)據(jù)塊和糾錯碼字塊如表3所示。

      表3 版本7-H數(shù)據(jù)塊碼字

      [塊\&數(shù)據(jù)碼字\&糾錯碼字\&1\&D1~D13\&E1~E26\&2\&D14~D26\&E27~E52\&3\&D27~D39\&E53~E78\&4\&D40~D52\&E79~E104\&5\&D53~D66\&E105~E130\&]

      按如上所述排列方式,得到的碼字序列是:D1,D14,D27,D40,D53,…,D13,D26,D39,D52,D65,D66,E1,E27,E53,E79,E105,…,E26,E52,E78,E104,E130,在二維碼圖形中排列方式如圖5所示。

      完成上述操作后,最后要進行掩膜,來減小識別難度,掩膜只對數(shù)據(jù)和糾錯碼字區(qū)域進行,就是和上面生成的圖形做XOR操作,使圖形中深色和淺色模塊均衡,同時盡量不干擾對功能區(qū)域的識別。QR二維碼有8種掩膜方案可供選擇,如圖所示。掩膜之后,QR二維碼圖像最終生成。

      2.4 QR二維碼圖像識讀

      二維碼的識讀是在距離0~0.5米內(nèi)非接觸識讀,識讀得到圖像后,若出現(xiàn)圖像旋轉(zhuǎn)、扭曲、伸縮等問題,要對其進行修正,若圖像出現(xiàn)污損、模糊,則要進行圖像優(yōu)化,優(yōu)化后圖像識讀過程是:首先,對彩色圖像進行灰度化,以提高后繼的運行速度;其次,去除噪音對二碼圖像的干擾;再次,使用迭代法選取適當?shù)拈撝担瑢ΧS碼進行二值化處理,使其變?yōu)楹诎讏D像;最后,確定二維碼的位置探測圖形,對二維碼進行定位,旋轉(zhuǎn)至水平,建立取樣網(wǎng)絡(luò),去掩膜,按排列規(guī)則恢復(fù)碼字序列。

      3 結(jié)束語

      QR二維碼作為二維碼家族中最具代表性,同時也是應(yīng)用最為廣泛的成員,已經(jīng)越來越多的進入我們的生活,本文針對二維碼的編碼模式和方法、糾錯編碼、圖像生成和識讀幾個方面作了闡述。在實應(yīng)用中二維碼在支付、車票等方面出現(xiàn)了對其信息進行加密的需求,因此對二維碼加密技術(shù)的研究,既不影響其功能,又能使其具備較強的加密性,也具有重要意義。

      參考文獻:

      [1] 于英政.QR二維碼相關(guān)技術(shù)的研究[D].北京:北京交通大學(xué),2014.

      [2] 曾子劍.基于QR二維碼編解碼技術(shù)的研究與實現(xiàn)[D].成都:電子科技大學(xué),2010.

      [3] 盛秋康.二維碼編解碼技術(shù)的研究與應(yīng)用[D].南京:南京理工大學(xué),2011.

      [4] 程裕強,劉愛民,周國軍.二維碼生成算法研究[J].玉林師范學(xué)院學(xué)報,2014(5):23-26.

      猜你喜歡
      糾錯
      有效使用作文評語,構(gòu)建師生交流平臺
      利用“錯誤”資源,提高單招生英語應(yīng)用文寫作的研究
      講究糾錯藝術(shù),提升英語學(xué)習(xí)效果
      “參省”之“參”讀音糾錯
      關(guān)注學(xué)生發(fā)展,從作業(yè)批改開始
      影視作品在高中歷史教學(xué)中的應(yīng)用研究
      實心球投擲技術(shù)教學(xué)的研究與實踐
      如何做好數(shù)控加工實訓(xùn)工作
      初中數(shù)學(xué)易錯題錯因分析及糾錯策略
      提高初中生立定跳遠成績的策略研究
      弥渡县| 开化县| 三穗县| 磐石市| 长武县| 台南市| 铜川市| 达孜县| 镇安县| 商洛市| 喀什市| 玉溪市| 肥西县| 天镇县| 湟中县| 西贡区| 尼玛县| 怀仁县| 榆社县| 库尔勒市| 安阳县| 东乡| 布尔津县| 工布江达县| 乌审旗| 呼玛县| 赤峰市| 青龙| 大关县| 嘉禾县| 胶南市| 灌南县| 禹城市| 富锦市| 东乡族自治县| 曲松县| 温宿县| 镇康县| 上饶市| 平山县| 贵阳市|