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

一種二維碼的生成方法及裝置的制造方法

文檔序號:10625067閱讀:439來源:國知局
一種二維碼的生成方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種二維碼生成方法及裝置,該方法包括:接收輸入數(shù)據(jù),確定所述輸入數(shù)據(jù)的編碼模式,并根據(jù)所述編碼模式將輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字;確定糾錯(cuò)等級,并根據(jù)所述糾錯(cuò)等級以及所述數(shù)據(jù)碼字確定所述二維碼的行數(shù)與列數(shù);根據(jù)所述糾錯(cuò)等級對所述數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò)碼字;根據(jù)所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級以及所述二維碼的行數(shù)、列數(shù)和固有圖形形成所述二維碼。根據(jù)該方法生成的二維碼適用于多種形狀的預(yù)留填加二維碼的網(wǎng)絡(luò)空間、非網(wǎng)絡(luò)空間以及兩者復(fù)合空間區(qū)域,且具有較強(qiáng)的抗畸變及抗污損性能,適合利用拍照進(jìn)行解碼,應(yīng)用領(lǐng)域廣。
【專利說明】
-種二維碼的生成方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及信息記錄與識別領(lǐng)域,尤其設(shè)及一種二維碼的生成方法及裝置。
【背景技術(shù)】
[0002] 一維碼通過在水平方向上排列的條、空來表達(dá)信息,而在豎直方向上不表達(dá)信息, 其容量十分有限。二維碼能在水平方向和豎直方向上同時(shí)表達(dá)信息,因此相比一維碼,能在 更小的面積內(nèi)表達(dá)更多的信息。同時(shí),通過在二維碼上應(yīng)用糾錯(cuò)算法,也使得二維碼的可靠 性大大增加。二維碼可分為層排式二維碼和矩陣式二維碼兩類。
[0003] 層排式二維碼可W看作是由多行一維碼堆積而成,常見的有美國的PDF417層排 式二維碼。矩陣式二維碼是通過在矩陣相應(yīng)元素位置上,用點(diǎn)(比如方點(diǎn)、圓點(diǎn)或其他形 狀)的出現(xiàn)表示二進(jìn)制"1",點(diǎn)的不出現(xiàn)表示二進(jìn)制的"0"。點(diǎn)的排列組合確定了矩陣式二 維碼所代表的意義,常見的有日本的QR碼。與層排式二維碼相比,矩陣式二維碼一般具有 更高的編碼密度(即在同等面積下可編碼更多數(shù)據(jù))。
[0004] 現(xiàn)有的二維碼中存在如下問題,一方面,快速響應(yīng)矩陣碼、網(wǎng)格矩陣碼等二維碼均 采用正方形結(jié)構(gòu),而實(shí)際應(yīng)用中物品等預(yù)留的用于印制二維碼的區(qū)域可能是長方形,如采 用正方形的二維碼會大大浪費(fèi)預(yù)留的編碼區(qū)域,導(dǎo)致編碼容量下降。另一方面,緊密矩陣碼 采用長方形結(jié)構(gòu),但緊密矩陣碼僅能用于接觸式掃描識讀,不適合采用拍照解碼的方式,需 要??诘淖R讀設(shè)備且識讀速度低,限制了它的的應(yīng)用范圍。 陽〇化]綜上,亟需一種新的方法用于生成尺寸結(jié)構(gòu)可調(diào)節(jié)且便于識讀的二維碼W解決上 述問題。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明所要解決的技術(shù)問題之一是需要提供一種新的方法用于生成尺寸結(jié)構(gòu)可 調(diào)節(jié)且便于識讀的二維碼。
[0007] 為了解決上述技術(shù)問題,本申請的實(shí)施例首先提供了一種二維碼的生成方法,其 特征在于,該方法包括:接收輸入數(shù)據(jù);確定所述輸入數(shù)據(jù)的編碼模式,并根據(jù)所述編碼模 式將輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字;確定糾錯(cuò)等級,并根據(jù)所述糾錯(cuò)等級W及所述數(shù)據(jù)碼字確 定所述二維碼的行數(shù)與列數(shù);根據(jù)所述糾錯(cuò)等級對所述數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò) 碼字;根據(jù)所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及所述二維碼的行數(shù)、列數(shù)和固有圖形形 成所述二維碼。
[0008] 優(yōu)選地,固有圖形包含與所述二維碼的行數(shù)與列數(shù)相匹配的邊框W及分布在所述 邊框圍成的矩形區(qū)域中的校正圖案;其中,所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及所述二 維碼的行數(shù)和列數(shù)不遮擋所述校正圖案地分布在所述邊框圍成的矩形區(qū)域內(nèi)。
[0009] 優(yōu)選地,校正圖案均勻設(shè)置于所述邊框圍成的矩形區(qū)域內(nèi)。
[0010] 優(yōu)選地,校正圖案包括對稱圖案。
[0011] 優(yōu)選地,校正圖案包括"十"字形圖案。
[0012] 優(yōu)選地,根據(jù)糾錯(cuò)等級W及所述二維碼的行數(shù)和列數(shù)生成格式信息,將所述格式 信息冗余形成在所述二維碼中。
[0013] 優(yōu)選地,二維碼中包含有四個(gè)所述格式信息,四個(gè)所述格式信息分別設(shè)置于所述 邊框圍成的矩形區(qū)域的四個(gè)頂角處。
[0014] 優(yōu)選地,二維碼的行數(shù)不大于列數(shù)。
[0015] 另一方面,本申請的實(shí)施例還提供了一種二維碼的生成裝置,該裝置包括:接收單 元,設(shè)置為接收輸入數(shù)據(jù);數(shù)據(jù)碼字編碼單元,設(shè)置為確定所述輸入數(shù)據(jù)的編碼模式,并根 據(jù)所述編碼模式將所述輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字;格式信息確定單元,設(shè)置為確定糾錯(cuò)等 級,并根據(jù)所述糾錯(cuò)等級W及所述數(shù)據(jù)碼字確定所述二維碼的行數(shù)與列數(shù);糾錯(cuò)碼字編碼 單元,設(shè)置為根據(jù)所述糾錯(cuò)等級對所述數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò)碼字;二維碼形成 單元,設(shè)置為根據(jù)所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及所述二維碼的行數(shù)、列數(shù)和固有 圖形形成所述二維碼。
[0016] 優(yōu)選地,固有圖形包含與所述二維碼的行數(shù)與列數(shù)相匹配的邊框W及分布在所述 邊框圍成的矩形區(qū)域中的校正圖案;所述二維碼形成單元被設(shè)置為將所述數(shù)據(jù)碼字、糾錯(cuò) 碼字、糾錯(cuò)等級W及所述二維碼的行數(shù)和列數(shù)不遮擋所述校正圖案地分布在邊框圍成的矩 形區(qū)域內(nèi)。
[0017] 與現(xiàn)有技術(shù)相比,上述方案中的一個(gè)或多個(gè)實(shí)施例可W具有如下優(yōu)點(diǎn)或有益效 果:
[0018] 根據(jù)本申請實(shí)施例的方法生成的二維碼適用于多種形狀的預(yù)留填加二維碼的網(wǎng) 絡(luò)空間、非網(wǎng)絡(luò)空間W及兩者復(fù)合空間區(qū)域,且具有較強(qiáng)的抗崎變及抗污損性能,適合利用 拍照進(jìn)行解碼,應(yīng)用領(lǐng)域廣。
[0019] 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明的技術(shù)方案而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在 說明書、權(quán)利要求書W及附圖中所特別指出的結(jié)構(gòu)和/或流程來實(shí)現(xiàn)和獲得。
【附圖說明】
[0020] 附圖用來提供對本申請的技術(shù)方案或現(xiàn)有技術(shù)的進(jìn)一步理解,并且構(gòu)成說明書的 一部分。其中,表達(dá)本申請實(shí)施例的附圖與本申請的實(shí)施例一起用于解釋本申請的技術(shù)方 案,但并不構(gòu)成對本申請技術(shù)方案的限制。
[0021] 圖1為本申請實(shí)施例的二維碼生成方法的流程示意圖;
[0022] 圖2為利用本申請實(shí)施例的方法所生成的二維碼的結(jié)構(gòu)示意圖;
[0023] 圖3為本申請實(shí)施例的分段的數(shù)據(jù)位流示意圖;
[0024] 圖4(a)-(c)為本申請實(shí)施例的二維碼排布過程示意圖;
[00巧]圖5為本申請實(shí)施例的校正圖案的結(jié)構(gòu)示意圖;
[00%] 圖6為本申請實(shí)施例的格式信息區(qū)的結(jié)構(gòu)示意圖;
[0027] 圖7為本申請實(shí)施例的二維碼生成裝置的構(gòu)造示意圖。
【具體實(shí)施方式】
[002引 W下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對本發(fā)明如何應(yīng)用 技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)w實(shí)施。需要說明 的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例W及各實(shí)施例中的各個(gè)特征可W相互結(jié)合, 所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0029] 圖1為本申請實(shí)施例的二維碼生成方法的流程示意圖,圖2為利用本申請實(shí)施例 的方法所生成的二維碼的結(jié)構(gòu)示意圖,下面結(jié)合圖1和圖2說明本申請實(shí)施例的二維碼的 生成方法的具體過程。
[0030] 本申請實(shí)施例的二維碼生成方法包括W下步驟:步驟S110、接收輸入數(shù)據(jù),確定 輸入數(shù)據(jù)的編碼模式,并根據(jù)所述編碼模式將輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字;步驟S120、為數(shù) 據(jù)碼字確定糾錯(cuò)等級,并根據(jù)所述糾錯(cuò)等級為所述數(shù)據(jù)碼字確定二維碼的行數(shù)與列數(shù);步 驟S130、根據(jù)所確定的糾錯(cuò)等級,采用預(yù)設(shè)的糾錯(cuò)算法對數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò) 碼字;步驟S140、根據(jù)數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及二維碼的行數(shù)、列數(shù)和固有圖形, 形成二維碼。
[0031] 其中,數(shù)據(jù)碼字和糾錯(cuò)碼字分布在數(shù)據(jù)編碼區(qū)中,糾錯(cuò)等級W及二維碼的行數(shù)和 列數(shù)分布在格式信息區(qū)中,而且,數(shù)據(jù)編碼區(qū)所記錄的數(shù)據(jù)碼字和糾錯(cuò)碼字,W及格式信息 區(qū)所記錄的糾錯(cuò)等級W及二維碼的行數(shù)和列數(shù),不與固有圖形相重疊。進(jìn)一步地,固有圖形 包含與所述二維碼的行數(shù)與列數(shù)相匹配的邊框W及分布在所述邊框圍成的矩形區(qū)域中的 校正圖案。
[0032] 在本申請實(shí)施例的二維碼生成方法還包括,在步驟S140中,根據(jù)使用者的個(gè)性化 設(shè)置要求生成個(gè)性化的圖形和/或字符。
[0033] 利用上述方法生成的二維碼結(jié)構(gòu)示意圖如圖2所示,數(shù)據(jù)編碼區(qū)21、格式信息區(qū) 22、校正圖案23、邊框20 W及個(gè)性化的圖形和/或字符24。通常,在邊框10外圍還環(huán)繞有 留白區(qū)25。
[0034] 在對數(shù)據(jù)進(jìn)行編碼之前,先要對輸入的數(shù)據(jù)進(jìn)行分析,根據(jù)數(shù)據(jù)的類型確定數(shù)據(jù) 的編碼模式。在本申請的實(shí)施例中,對于不同的數(shù)據(jù)類型采用不同的編碼模式。具體包括 數(shù)字模式、數(shù)字字母混合模式、漢字模式W及字節(jié)模式等,每種編碼模式都相應(yīng)規(guī)定了編碼 規(guī)則。舉例而言,數(shù)字編碼模式將輸入的每Ξ個(gè)字符用十位二進(jìn)制表示。表1示出本申請 實(shí)施例中常用的幾種編碼模式及其相應(yīng)的模式指示符。
[00對表1常用編碼模式 [0036]
[0037] 當(dāng)采用數(shù)字模式進(jìn)行編碼時(shí),首先將輸入數(shù)據(jù)每Ξ位劃分為一組,然后將每組數(shù) 據(jù)都轉(zhuǎn)換為十位的二進(jìn)制數(shù)的形式。當(dāng)分組末尾出現(xiàn)不足Ξ位的情形時(shí),將不足Ξ位的一 位數(shù)字轉(zhuǎn)換為四位二進(jìn)制數(shù),將不足Ξ位的二位數(shù)字轉(zhuǎn)換為屯位二進(jìn)制數(shù)。將編碼得到的 各組二進(jìn)制數(shù)連接起來形成數(shù)據(jù)位流。數(shù)據(jù)位流由Ξ位的終止符結(jié)束,其中終止符為二進(jìn) 制的000。當(dāng)需要編碼的輸入數(shù)據(jù)包含多種類型時(shí),先根據(jù)不同的類型對輸入數(shù)據(jù)進(jìn)行分段 處理,再對各段數(shù)據(jù)分別按照上述的編碼規(guī)則進(jìn)行編碼。每段數(shù)據(jù)位流由Ξ部分組成,包括 模式指示符、數(shù)據(jù)長度指示符W及數(shù)據(jù)位流的具體信息,如圖3所示。本發(fā)明的實(shí)施例中, 最終得到的編碼數(shù)據(jù)由多種類型的多段數(shù)據(jù)位流連接而成。將數(shù)據(jù)位流按照每八位一組進(jìn) 行分組便得到數(shù)據(jù)碼字,數(shù)據(jù)碼字是排布生成數(shù)據(jù)編碼區(qū)的基本單位。
[0038] 在完成對輸入數(shù)據(jù)的編碼之后,需要確定二維碼的格式信息。格式信息包括組成 二維碼的行數(shù)、列數(shù)W及糾錯(cuò)等級等。本申請實(shí)施例所生成的二維碼是一種長寬比可調(diào)節(jié) 的矩形形狀的二維碼。由于實(shí)際中二維碼的預(yù)留區(qū)(包括預(yù)留填加二維碼的網(wǎng)絡(luò)空間、非 網(wǎng)絡(luò)空間W及兩者復(fù)合空間)通常是各種長寬比的矩形,通過調(diào)節(jié)二維碼的長寬比,可使 得使二維碼能夠適應(yīng)不同的預(yù)留填加二維碼的網(wǎng)絡(luò)空間、非網(wǎng)絡(luò)空間W及兩者復(fù)合空間的 要求,并最大限度地利用預(yù)留區(qū)域提高二維碼存儲的信息的容量。
[0039] 進(jìn)一步地,二維碼行數(shù)與列數(shù)的確定可W由使用者根據(jù)所需要記錄的數(shù)據(jù)信息的 大小W及預(yù)留的填加二維碼的網(wǎng)絡(luò)空間、非網(wǎng)絡(luò)空間W及兩者復(fù)合空間區(qū)域的形狀和大 小,在規(guī)定的范圍內(nèi)進(jìn)行確定,因此可W對二維碼的保密性W及生成和識讀的成本等多種 因素進(jìn)行綜合考慮,具有較大的靈活性,運(yùn)樣制作出來的二維碼還可W在性能上得到優(yōu)化。 一般地,對于行數(shù)和列數(shù)的選擇范圍不作限定。優(yōu)選地,由行列數(shù)所確定的最小的矩形區(qū)域 不小于24X24個(gè)模塊,最大不超過180Χ 180個(gè)模塊。不同規(guī)格的行列數(shù)W每次增加或減 少四個(gè)模塊的方式進(jìn)行確定。 W40] 糾錯(cuò)等級用于指示糾錯(cuò)編碼所采用的具體規(guī)則。表2給出了本發(fā)明的實(shí)施例糾錯(cuò) 等級與糾錯(cuò)碼字占總碼字百分比的對應(yīng)關(guān)系,用戶可W根據(jù)自己的需求進(jìn)行選用相應(yīng)的糾 錯(cuò)等級。
[0041] 表2糾錯(cuò)等級
[0042]
[0043] 糾錯(cuò)碼字可W糾正兩種類型的錯(cuò)誤,包括錯(cuò)誤碼字的位置已知情形下的拒讀錯(cuò)誤 和錯(cuò)誤碼字的位置未知情形下的替代錯(cuò)誤。
[0044] 糾錯(cuò)等級確定后,依據(jù)所確定的糾錯(cuò)等級的具體要求,采用一定的糾錯(cuò)算法,對 數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼得到糾錯(cuò)碼字。糾錯(cuò)碼字是二維碼中重要的冗余信息。目前主要 采用的Reed-Solomon糾錯(cuò)算法,在其輸出的糾錯(cuò)碼中包含著部分原始的輸入數(shù)據(jù),一個(gè) Reed-Solomon碼字的長度為8位,也就是說Reed-Solomon糾錯(cuò)碼字最多具有255種形式, 所W當(dāng)數(shù)據(jù)碼字和糾錯(cuò)碼字的總數(shù)大于255時(shí),將數(shù)據(jù)碼字進(jìn)行分塊,對每塊碼字分別生 成糾錯(cuò)碼字,并將糾錯(cuò)碼字添加到同一塊數(shù)據(jù)碼字的后面。
[0045] 完成數(shù)據(jù)碼字與糾錯(cuò)碼字的編碼之后,便可W根據(jù)確定的格式信息排布形成二維 碼的具體結(jié)構(gòu)了。排布形成二維碼的具體過程包括:步驟1、排布固有圖形區(qū);步驟2、排布 格式信息區(qū);步驟3、排布數(shù)據(jù)編碼區(qū)。其中固有圖形區(qū)用來記錄固有圖形。固有圖形主要 包括包括有與二維碼的行數(shù)與列數(shù)相匹配的邊框,W及分布在邊框所圍成的矩形區(qū)域中的 校正圖案。校正圖案在邊框所圍成的矩形區(qū)域中的位置,主要根據(jù)二維碼的行數(shù)與列數(shù)來 確定。
[0046] 需要說明的是,在其他優(yōu)選的實(shí)施例中,在固有圖形排布完成之后,還可W根據(jù)使 用者的個(gè)性化設(shè)置要求生成個(gè)性化的圖形和/或字符。個(gè)性化的圖形和/或字符由數(shù)個(gè)模 塊組成,利用深色模塊和淺色模塊組成的圖案來表示使用者的個(gè)性化信息。
[0047] 在排布格式信息區(qū)和數(shù)據(jù)編碼區(qū)時(shí),數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及所述二維 碼的行數(shù)和列數(shù)等不遮擋邊框所圍成的矩形區(qū)域中的校正圖案。
[0048] 排布固有圖形區(qū)時(shí),先根據(jù)使用者最終確定的行數(shù)與列數(shù)排列形成矩陣區(qū)域,具 體確定原則如前面所述,形成的矩陣區(qū)域如圖4(a)所示。在確定了矩陣區(qū)域之后,用一個(gè) 模塊寬的深色模塊形成的封閉框包圍上述矩陣區(qū)域,形成二維碼的邊框,如圖4(b)所示。 在其他實(shí)施例中,邊框的線寬也可W是多個(gè)數(shù)量的深色模塊。深色邊框可W顯著地限定出 二維碼的位置與范圍,對使用者起到指示的作用,同時(shí)對其包圍的矩陣區(qū)域起到保護(hù)的作 用。需要說明的是,深色邊框還可W用于二維碼識讀過程中的定位。
[0049] 校正圖案是二維碼中用于對數(shù)據(jù)編碼區(qū)進(jìn)行校正的結(jié)構(gòu)。對數(shù)據(jù)編碼區(qū)的校正主 要是針對崎變或破損而進(jìn)行的幾何校正。破損是指二維碼受到破壞時(shí)產(chǎn)生的信息不完整或 丟失等情況,而崎變則主要是當(dāng)布置二維碼的表面不平坦,W及二維碼的識讀設(shè)備的取像 鏡頭的不平整或曲率導(dǎo)致的采樣圖像發(fā)生了拉神。優(yōu)選地,排布校正圖案時(shí)進(jìn)行均勻排列, 如圖4(c)所示。
[0050] 校正圖案在邊框內(nèi)均勻分布,可W保證應(yīng)用在物品外包裝上的二維碼于物品運(yùn) 輸、使用過程中部分破損、丟失等情況而不完整時(shí),仍然可W借助于保留在物品外包裝上的 不完整的部分能夠被識別,借此可W利用二維碼的保留部分獲取二維碼所記載的信息,提 高了二維碼的抗崎變、抗污損能力。
[0051] 在本發(fā)明的一個(gè)實(shí)施例中,校正圖案4為"十"字形,如圖5所示。"十"字形校正 圖案是邊長為5個(gè)模塊的正方形,其水平方向及垂直方向的中線共九個(gè)用于記錄校正信息 的深色模塊,剩余模塊為用于記錄校正信息的淺色模塊,組成"十"字形校正圖案。需要說 明的是,為增加對比效果,用來示意本發(fā)明的實(shí)施例的各附圖,W黑色示出深色模塊,W白 色示出淺色模塊。
[0052] 當(dāng)然,本發(fā)明的其他實(shí)施例中,"十"字形的校正圖案也可W由其他數(shù)量的模塊來 形成組成,比如由3X3個(gè)模塊組成的正方形、由7X7個(gè)模塊組成的正方形或者由9X9個(gè) 模塊組成的正方形,等等。實(shí)際上,由奇數(shù)個(gè)模塊組成的正方形,均可W用來實(shí)現(xiàn)本發(fā)明的 實(shí)施例中的"十"字形的校正圖案。邊長由奇數(shù)個(gè)模塊構(gòu)成的正方形,具有中屯、模塊構(gòu)成的 中屯、點(diǎn)(如"十"字圖形的橫線與豎線的交點(diǎn)),而中屯、點(diǎn)對于定位操作的效率更高,正方形 的校正模塊還可W節(jié)約空間。
[0053] 而且,作為一種變形,在由mXn個(gè)模塊組成的長方形中,也可W實(shí)現(xiàn)"十"字形的 校正圖案,其中m與η不相等,且二者均為大于等于3的整數(shù)。在運(yùn)種情況下,長方形的水平 方向的中線與垂直方向的中線的長度不相等。而且水平方向上的深色模塊所連成的線段, 可w位于水平方向的中線,也可w是平行于水平方向的中線而不與平行方向的中線重合。 同樣地,垂直方向上的深色模塊所連成的線段,可W位于垂直方向的中線,也可W是平行于 垂直方向的中線而不與垂直方向的中線重合。
[0054] 比如,對于由3 X 6個(gè)模塊組成的長方形,水平方向的邊長為3個(gè)模塊的長度,垂直 方向的邊長為6個(gè)模塊的長度。水平方向上的深色模塊位于水平方向的中線,也即該長方 形水平方向上第二行上;垂直方向上的深色模塊位于該長方形的第Ξ列上。當(dāng)然,對于由 3X6個(gè)模塊組成的長方形而言,垂直方向上的深色模塊位于該長方形的第二、第四或者第 五列上,也都是可行的。 陽化5] 借助于上述舉例,本領(lǐng)域的技術(shù)人員不難理解,本發(fā)明的標(biāo)簽中,"十"字形的校正 圖案可W是由邊長大于等于3個(gè)模塊的長度的任意矩形來形成,只要該矩形中的深色模塊 所形成的兩條線段能垂直交叉均可行。
[0056] 較優(yōu)地,校正圖案在邊框內(nèi)均勻分布,可W保證應(yīng)用在物品上的標(biāo)簽于物品運(yùn)輸、 使用過程中部分破損、丟失等情況而不完整時(shí),仍然可W借助于標(biāo)簽保留在物品上不完整 的部分能夠被識別,借此可W利用標(biāo)簽的保留部分獲取標(biāo)簽所記載的信息。
[0057] 在應(yīng)用中,使用校正圖案來對邊框的形狀進(jìn)行矯正,尤其是當(dāng)帶有二維碼的標(biāo)簽 被使用在物品不平坦的表面上,或者通過二維碼識讀設(shè)備進(jìn)行拍照讀取時(shí)發(fā)生崎變的情況 下進(jìn)行矯正。當(dāng)標(biāo)簽上的二維碼遭到污染或者破壞時(shí),標(biāo)簽上的校正圖案就可W保證標(biāo)簽 上沒有被破壞的部分所記錄的信息仍然可W被有效識讀。
[0058] 校正圖案還可W是各種對稱圖案,且組成校正圖案的模塊數(shù)目由用戶根據(jù)具體需 求進(jìn)行確定。舉例而言,考慮到校正圖案相對于二維碼整體圖案需要易識別,所W校正圖案 不能太小,考慮到用于存儲編碼數(shù)據(jù)的矩陣區(qū)域的利用率的問題,校正圖案不能選得太大。 校正圖案的數(shù)量也不能太多。
[0059] 圖6為本申請實(shí)施例的格式信息區(qū)的結(jié)構(gòu)示意圖。將格式信息排布到格式信息區(qū) 中時(shí),首先生成存儲于格式信息區(qū)內(nèi)的格式信息的內(nèi)容。本申請實(shí)施例的格式信息由一個(gè) 12位的二進(jìn)制數(shù)進(jìn)行記錄,包括二維碼的列數(shù)、行數(shù)W及糾錯(cuò)等級等信息。將12位的二進(jìn) 制書按照每四位一組的形式劃分為Ξ個(gè)碼字,針對運(yùn)Ξ個(gè)記錄格式信息的碼字,利用預(yù)定 的糾錯(cuò)算法生成六個(gè)糾錯(cuò)碼字,將Ξ個(gè)記錄格式信息的碼字與六個(gè)糾錯(cuò)碼字連接起來組成 包含有九個(gè)碼字的數(shù)據(jù),也即前述的格式信息,共計(jì)36位。
[0060] 本發(fā)明的實(shí)施例中,一個(gè)二維碼可W包含有多個(gè)格式信息區(qū),每個(gè)格式信息區(qū)中 所存儲的格式信息都相同,每個(gè)格式信息區(qū)內(nèi)存儲的都是完整的格式信息(比如可W是前 述的36位數(shù)據(jù)),如圖2所示。運(yùn)樣就可W保證當(dāng)二維碼中的部分格式信息區(qū)破損時(shí),只要 還有一個(gè)格式信息區(qū)保持完好,就可W讀取到二維碼的完整的格式信息。
[0061] 優(yōu)選地,本發(fā)明的實(shí)施例將格式信息區(qū)分布在據(jù)矩形的邊框的四個(gè)頂角處。具體 為,W邊框的一個(gè)頂角的互相垂直的兩條邊的一部分,作為格式信息區(qū)的兩條邊框,W另外 兩條與該頂角的邊分別垂直的由深色模塊形成的邊作為格式信息區(qū)的另外兩條邊框,共同 圍成正方形區(qū)域。將格式信息區(qū)設(shè)置于矩形邊框內(nèi)的四個(gè)頂角處,有利于在對二維碼進(jìn)行 識別時(shí),降低捜索算法的復(fù)雜度,進(jìn)而提高識別的速度W及準(zhǔn)確度,提高識別效率。
[0062] 本發(fā)明的實(shí)施例在填寫36位的格式信息時(shí),可W根據(jù)不同的糾錯(cuò)等級對不同的 格式信息區(qū)中的格式信息進(jìn)行不同的排布存儲。圖6示出的僅是格式信息區(qū)排布的一個(gè) 示例,可w看出信息的排布并不規(guī)則,進(jìn)一步保證了二維碼的加密性能。同時(shí),運(yùn)種具有特 定排布形式的格式信息區(qū)12還可W在二維碼的識讀過程中對發(fā)生旋轉(zhuǎn)了的二維碼進(jìn)行定 位,因?yàn)楫?dāng)二維碼發(fā)生旋轉(zhuǎn)時(shí),便無法獲得格式信息區(qū)的正確的排布方式,即無法獲得有效 的格式信息。
[0063] 需要注意的是,圖2及圖6所示出的僅是優(yōu)選的排布方案,在其他的實(shí)施例中,格 式信息區(qū)的大小、形狀、位置W及內(nèi)部格式信息的排布方式,均可W由用戶進(jìn)行設(shè)定。 W64] 排布好固有圖形區(qū)W及格式信息區(qū)后,就可W在矩陣區(qū)域的其余位置排布數(shù)據(jù)碼 字和糾錯(cuò)碼字,排布數(shù)據(jù)碼字和糾錯(cuò)碼字的區(qū)域即為數(shù)據(jù)編碼區(qū)。數(shù)據(jù)編碼區(qū)根據(jù)現(xiàn)有技 術(shù)中的通用原則進(jìn)行排布,W碼字為單位進(jìn)行放置,一般是先放置數(shù)據(jù)碼字,再放置糾錯(cuò)碼 字。碼字的放置遵循從右至左,從下至上與從上至下交替的蛇形排列。如果碼字被分塊,貝U 對各塊碼字進(jìn)行交錯(cuò)排列后得到一個(gè)單一的碼字流,再將碼字流按照上述從右至左,從下 至上、從上至下的原則排列到矩陣區(qū)域中,完成編碼。 陽0化]需要說明的是,盡管本申請實(shí)施例的矩陣區(qū)域是長寬比可調(diào)節(jié)的矩形,但在排布 時(shí),優(yōu)選地將矩陣放置為橫向的矩形的形式,即矩陣區(qū)域的行數(shù)不大于其列數(shù)。W運(yùn)種橫向 放置的矩陣為二維碼的正常向排布格式信息區(qū)W及數(shù)據(jù)編碼區(qū)。運(yùn)樣做的好處是利于二維 碼的識讀。在確定二維碼的行數(shù)與列數(shù)時(shí)也應(yīng)注意使行數(shù)不大于列數(shù)。
[0066] 經(jīng)過上述編碼與排布操作之后,生成了如圖2所示的二維碼的結(jié)構(gòu),該二維碼結(jié) 構(gòu)緊湊,充分利用有限區(qū)域?qū)崿F(xiàn)多種功能。同時(shí)通過對不同功能區(qū)的合理布置,在簡化識讀 算法的同時(shí)提高了識讀速度。
[0067] 本申請實(shí)施例所提供的二維碼的生成方法為用戶提供了更多選擇的空間,可W滿 足使用者多方面的需求,無論是從性能上考慮還是從外觀上考慮,都可W設(shè)計(jì)出更富個(gè)性 的產(chǎn)品。
[0068] 圖7為本申請實(shí)施例的二維碼的生成裝置的構(gòu)造示意圖。下面參考圖7來說明本 申請實(shí)施例的二維碼生成裝置的各部分組成。
[0069] 如圖7所示,本申請的實(shí)施例的二維碼的生成裝置,主要包括接收單元710、數(shù)據(jù) 碼字編碼單元720、格式信息確定單元730、糾錯(cuò)碼字編碼單元740 W及二維碼形成單元 750。
[0070] 接收單元710,設(shè)置為接收輸入數(shù)據(jù)。
[0071] 數(shù)據(jù)碼字編碼單元720,與接收單元710相連,設(shè)置為確定輸入數(shù)據(jù)的編碼模式, 并根據(jù)編碼模式將輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字。
[0072] 格式信息確定單元730,與數(shù)據(jù)碼字編碼單元720相連,設(shè)置為確定糾錯(cuò)等級,并 根據(jù)糾錯(cuò)等級W及數(shù)據(jù)碼字確定二維碼的行數(shù)與列數(shù)。
[0073] 糾錯(cuò)碼字編碼單元740,與數(shù)據(jù)碼字編碼單元720及格式信息確定單元730相連, 設(shè)置為根據(jù)糾錯(cuò)等級對數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò)碼字。
[0074] 二維碼形成單元750,與數(shù)據(jù)碼字編碼單元720、格式信息確定單元730 W及糾錯(cuò) 碼字編碼單元740相連,設(shè)置為根據(jù)數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W及二維碼的行數(shù)、列 數(shù)和固有圖形形成二維碼。
[0075] 其中,固有圖形包含與二維碼的行數(shù)與列數(shù)相匹配的邊框W及分布在邊框圍成的 矩形區(qū)域中的校正圖案。校正圖案在邊框所圍成的矩形區(qū)域中的分布位置,主要根據(jù)二維 碼的行數(shù)與列數(shù)來確定。二維碼形成單元750被設(shè)置為將數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級W 及二維碼的行數(shù)和列數(shù)不遮擋校正圖案地分布在邊框圍成的矩形區(qū)域內(nèi)。
[0076] 本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可W用通用的計(jì)算 裝置來實(shí)現(xiàn),它們可W集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò) 上,可選地,它們可W用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可W將它們存儲在存儲 裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多 個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。運(yùn)樣,本發(fā)明不限制于任何特定的硬件和 軟件結(jié)合。
[0077] 雖然本發(fā)明所公開的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采 用的實(shí)施方式,并非用W限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本 發(fā)明所公開的精神和范圍的前提下,可W在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化, 但本發(fā)明的專利保護(hù)范圍,仍須W所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種二維碼的生成方法,其特征在于,該方法包括: 接收輸入數(shù)據(jù); 確定所述輸入數(shù)據(jù)的編碼模式,并根據(jù)所述編碼模式將輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字; 確定糾錯(cuò)等級,并根據(jù)所述糾錯(cuò)等級以及所述數(shù)據(jù)碼字確定所述二維碼的行數(shù)與列 數(shù); 根據(jù)所述糾錯(cuò)等級對所述數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾錯(cuò)碼字; 根據(jù)所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級以及所述二維碼的行數(shù)、列數(shù)和固有圖形形成 所述二維碼。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述固有圖形包含與所述二維碼的行數(shù) 與列數(shù)相匹配的邊框以及分布在所述邊框圍成的矩形區(qū)域中的校正圖案;其中,所述數(shù)據(jù) 碼字、糾錯(cuò)碼字、糾錯(cuò)等級以及所述二維碼的行數(shù)和列數(shù)不遮擋所述校正圖案地分布在所 述邊框圍成的矩形區(qū)域內(nèi)。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述校正圖案均勻設(shè)置于所述邊框圍 成的矩形區(qū)域內(nèi)。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述校正圖案包括對稱圖案。5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述校正圖案包括"十"字形圖案。6. 根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法包括:根據(jù)所述糾錯(cuò)等級以及所述 二維碼的行數(shù)和列數(shù)生成格式信息,將所述格式信息冗余形成在所述二維碼中。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述二維碼中包含有四個(gè)所述格式信息, 四個(gè)所述格式信息分別設(shè)置于所述邊框圍成的矩形區(qū)域的四個(gè)頂角處。8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述二維碼的行數(shù)不大于列數(shù)。9. 一種二維碼的生成裝置,其特征在于,該裝置包括: 接收單元,設(shè)置為接收輸入數(shù)據(jù); 數(shù)據(jù)碼字編碼單元,設(shè)置為確定所述輸入數(shù)據(jù)的編碼模式,并根據(jù)所述編碼模式將所 述輸入數(shù)據(jù)編碼為數(shù)據(jù)碼字; 格式信息確定單元,設(shè)置為確定糾錯(cuò)等級,并根據(jù)所述糾錯(cuò)等級以及所述數(shù)據(jù)碼字確 定所述二維碼的行數(shù)與列數(shù); 糾錯(cuò)碼字編碼單元,設(shè)置為根據(jù)所述糾錯(cuò)等級對所述數(shù)據(jù)碼字進(jìn)行糾錯(cuò)編碼,得到糾 錯(cuò)碼字; 二維碼形成單元,設(shè)置為根據(jù)所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級以及所述二維碼的行 數(shù)、列數(shù)和固有圖形形成所述二維碼。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述固有圖形包含與所述二維碼的行數(shù) 與列數(shù)相匹配的邊框以及分布在所述邊框圍成的矩形區(qū)域中的校正圖案;所述二維碼形成 單元被設(shè)置為將所述數(shù)據(jù)碼字、糾錯(cuò)碼字、糾錯(cuò)等級以及所述二維碼的行數(shù)和列數(shù)不遮擋 所述校正圖案地分布在邊框圍成的矩形區(qū)域內(nèi)。
【文檔編號】G06K19/06GK105989390SQ201510073170
【公開日】2016年10月5日
【申請日】2015年2月11日
【發(fā)明人】于學(xué)東, 王勇, 韋俊康, 林斌, 楊永健
【申請人】北京鼎九信息工程研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
鄯善县| 崇礼县| 松溪县| 石渠县| 镇安县| 丰顺县| 石楼县| 调兵山市| 盐池县| 龙山县| 合山市| 云浮市| 剑川县| 平罗县| 华安县| 贡山| 文昌市| 桓台县| 息烽县| 平潭县| 汽车| 会昌县| 嵩明县| 商南县| 喀喇| 连城县| 兴国县| 林州市| 光山县| 循化| 靖远县| 宁阳县| 宁武县| 台南县| 葵青区| 栾川县| 若尔盖县| 鄂尔多斯市| 无极县| 樟树市| 甘南县|