TWI778804B - 可快速定位與識別的高強固性二維碼及其定位與識別方法 - Google Patents
可快速定位與識別的高強固性二維碼及其定位與識別方法 Download PDFInfo
- Publication number
- TWI778804B TWI778804B TW110135179A TW110135179A TWI778804B TW I778804 B TWI778804 B TW I778804B TW 110135179 A TW110135179 A TW 110135179A TW 110135179 A TW110135179 A TW 110135179A TW I778804 B TWI778804 B TW I778804B
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- positioning pattern
- positioning
- data
- dimensional code
- Prior art date
Links
Images
Landscapes
- Image Processing (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一種可快速定位與識別的高強固性二維碼,由完全對稱的四個碼區域組成,各個碼區域分別包含定位圖案、間隔區塊、格式資訊區塊以及資料區塊。定位圖案設置於碼區域的角落。間隔區塊沿著定位圖案的周緣設置,格式資訊區塊沿著間隔區塊的周緣設置,資料區塊沿著格式資訊區塊的周緣設置。當掃描裝置掃描到其中一個碼區域的定位圖案時,可基於定位圖案的資訊來直接估測其他碼區域的位置,進而快速獲得所有碼區域所記載的資料。
Description
本發明涉及一種二維碼,尤其涉及一種可快速識別的二維碼,以及二維碼的快速識別方法。
二維碼可記載大量的資訊,令掃描裝置在掃描了二維碼並解碼後,直接獲得原始資訊,例如文字、符號、指令及網址等,相當便利。
由於無法預測使用者會從什麼角度來掃描二維碼,因此二維碼中一般都會設置一個或一個以上的定位圖案。以QR碼為例,QR碼中設置有三個定位圖案。當QR碼中的所有定位圖案都被掃描到後,掃描裝置才能可靠地確認QR碼的方位。而在確認了方位後,掃描裝置才能對QR碼中的資料區塊進行定位,進而對二維碼的資料進行取樣。惟,上述對於二維碼的掃描與識別程序需要耗費較長的時間才能獲得足夠定位的定位圖案資訊,而無法被應用在特定領域(例如自駕車導航)。
再者,以上述的QR碼為例,只要三個定位圖案的其中之一污損,掃描裝置就不易辨識QR碼的方位,進而難以讀取QR碼的資料。換句話說,現有二維碼的容錯率較低,強固性仍嫌不足,而不適用於上述領域。
本發明的主要目的,在於提供一種可快速定位與識別的高強固性二維碼及其定位與識別方法,係可提供快速識別的效果,並且具有極強的容錯率。
為了達成上述的目的,本發明二維碼包括:四個完全對稱的碼區域,其中各該碼區域分別包括:一定位圖案,設置於該碼區域的一角落;一間隔區塊,沿著該定位圖案的周緣設置,用以區隔該定位圖案與該碼區域中的其他區塊;一格式資訊區塊,沿著該間隔區塊的周緣設置,記錄該碼區域的資訊;及一資料區塊,沿著該格式資訊區塊的周緣設置,記錄該資料區塊所承載二維碼的資料。
為了達成上述目的,本發明的快速識別方法應用於如上所述的該二維碼,並且包括下列步驟:a)通過演算法在所擷取的影像上有序地安排一掃描線掃描該二維碼;b)於該步驟a)未從該二維碼上獲得一預設碼特徵時,再次執行該步驟a),其中該預設碼特徵由該二維碼上的任一該碼區域中的該定位圖案提供;c)於獲得該預設碼特徵時,對提供該預設碼特徵的該定位圖案進行定位並取得該定位圖案的編號;
d)依據該定位圖案的位置、該編號及該定位圖案所揭露的一透視轉換(perspective transformation)資訊,估測該定位圖案相對於其他碼區域的該定位圖案的方位及距離;e)該步驟d)後,對其他碼區域的該定位圖案進行定位;f)依據各該定位圖案的位置分別計算各該碼區域的該資料區塊的位置;及g)取樣該些資料區塊並進行解碼,以對該二維碼進行解碼。
相較於相關技術,本發明的二維碼可在任一個碼區域的定位圖案被掃描到後直接獲得所有碼區域的資料而逕行全碼解碼,藉此達到極快的識別速度。並且,藉由全對稱的四個碼區域來組成二維碼,使得任何一個或二個或甚至三個定位圖案的損失或被破壞,都仍然可以解碼,可大幅提升二維碼的容錯率。
1:二維碼
10:碼區域
11:第零碼區域
12:第一碼區域
13:第二碼區域
14:第三碼區域
2:定位圖案
21:黑框模組
22:白框模組
23:黑矩形模組
24:中心點
25:邊界點
3:間隔區塊
4:格式資訊區塊
41:定位圖案身份碼
42:偵錯修正碼等級
43:遮罩碼
44:檢查碼
5:資料區塊
51:位元組
61~64:掃描線
S10~S24:識別步驟
圖1 為本發明的二維碼的結構圖的第一具體實施例。
圖2 為本發明的二維碼的部分的結構圖的第一具體實施例。
圖3 為本發明的格式資訊的示意圖的第一具體實施例。
圖4 為本發明的識別流程圖的第一具體實施例。
圖5 為本發明的掃描示意圖的第一具體實施例。
圖6 為本發明的二維碼的示意圖的第一具體實施例。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
本發明揭露了一種可快速定位與識別的高強固性二維碼(下面簡稱為二維碼),此二維碼具有上、下、左、右完全對稱的結構。掃描裝置只要掃描二維碼的一部分結構,就可以擴展至二維碼的其他部分,進而對整個二維碼進行取樣,而不需要完整掃描二維碼的所有結構。因此,本發明的二維碼可以在極短時間內被識別完成。於一實施例中,本發明的二維碼平均可在小於或等於50ms的時間內被識別並讀取完成,遠快於市場上其他形式的二維碼。具體地,上述數據為通過1GHz/32位元的嵌入式專用之微控制器進行實際掃描與識別所得之數據。
基於上述優點,本發明的二維碼可以被黏貼於地面,用以為自駕車(Automated Guideed Vehicle,AGV)或機器人進行移動控制及導航。於一實施例中,本發明的二維碼基於所應用的上述領域,可被稱為NaviCode,而與現有的二維碼,如QRCode、Aztec Code、Maxicode、Hanxin Code等在結構上有明顯的區隔。如上所述,本發明的二維碼可以在極短的時間內被識別完成,故自駕車或機器人可以在經過二維碼的瞬間識別二維碼並可穩定地獲取二維碼所記載的資料,藉此進行移動或執行對應任務。
值得一提的是,若將二維碼黏貼於地面上,容易因為被踩踏而造成污損。然而,本發明的二維碼可提供極高的容錯率,因此適用於如上所述的自駕車/機器人導航領域(容後詳述)。
本發明的二維碼為一種矩陣式的二維碼,意即,由多個格子所構成的矩陣來表示此二維碼。針對所記載的資料不同,所述矩陣分別由多個黑格子與多個白格子所組成,每一個格子分別代表一個資料單位(即,一個資料位元)。
首請參閱圖1,為本發明的二維碼的結構圖的第一具體實施例。如圖1所示,本發明的二維碼1由多個完全對稱的碼區域所組成。於圖1的實施例中,多個碼區域包括第零碼區域11、第一碼區域12、第二碼區域13及第三碼區域14。
本發明的技術特徵在於,四個碼區域11-14的結構完全相同,差異僅在於各個碼區域11-14排列的方向位置的不同。於圖1的實施例中,第零碼區域11位於第一碼區域12的左側且與第一碼區域12相差90度,第一碼區域12位於第二碼區域13的上方且與第二碼區域13相差90度,第二碼區域13位於第三碼區域14的右側且與第三碼區域14相差90度,第三碼區域14位於第零碼區域11的下方且與第零碼區域11相差90度。
如前文所述,二維碼1的多個碼區域11-14具有相同的結構,其中,各個碼區域11-14分別由定位圖案2、間隔區塊3、格式資訊區塊4及資料區塊5所組成。
請同時參閱圖1及圖2,其中圖2為本發明的二維碼的部分的結構圖的第一具體實施例。圖2中以二維碼1中的第零碼區域11為例,進行碼區域的結構說明,其他碼區域12-14的結構與第零碼區域11的結構相同,僅碼區域11-14排列的方向位置不同,後面將不再贅述。為了簡潔,下面將統一以碼區域10來進行說明。
如上所述,各個碼區域10分別由定位圖案2、間隔區塊3、格式資訊區塊4及資料區塊5所組成,並且定位圖案2、間隔區塊3、格式資訊區塊4及資料區塊5分別由多個格子(即,資料單位)所形成。
如圖2所示,定位圖案2為一黑白相間的同心方,並且設置於碼區域10的角落。定位圖案2具有固定且特殊的結構(容後詳述),當掃描裝置(圖未標示)通過掃描線掃描到二維碼1中的任一個碼區域10的定位圖案2時,即可對這個碼區域10進行定位。本發明的其中一個技術特徵在於,二維碼1中的多個碼區域10是完全對稱的,因此掃描裝置在定位了其中一個碼區域10後,就可以基於結構來直接估測其他碼區域10的位置,而不需要再掃描剩餘的碼區域10。藉此,可以達到高速識別的主要目的。
間隔區塊3沿著定位圖案2的周緣設置,用以將定位圖案2與碼區域10中的其他區塊區隔開來。如圖2所示,本發明的二維碼1為矩形,定位圖案2亦為矩形,且定位圖案2設置於二維碼1的其中一個角落。意即,定位圖案2的其中兩個邊與二維碼1的其中兩個邊對齊。並且,間隔區塊3沿著定位圖案2的另外兩個邊的外緣設置。
於一實施例中,間隔區塊3的寬度為一個資料單位,並且間隔區塊3以多個白資料單位形成,但不以此為限。
格式資訊區塊4沿著間隔區塊3的周緣設置,並且用以記錄所屬的碼區域10的相關資訊。具體地,間隔區塊3的內側對齊定位圖案2的外側,並且格式資訊區塊4沿著間隔區塊3的外側而設置。
於圖2的實施例中,格式資訊區塊4由多個資料單位構成,包括d0、d1、d2、d3、d4、d5及f0、f1、f2、f3、f4、f5、f6、f7、f8、f9、f10、f11、f12、f13、f14等資料單位。於一實施中,格式資訊區塊4記錄了此定位圖案2的編號、此二維碼1的偵錯修正碼等級、此二維碼1的遮罩碼樣式等格式
資訊。其中,所述編號可被掃描裝置用來判斷此碼區域10在整個二維碼1中的相對位置。
於一實施例中,格式資訊區塊4的寬度為一個資料單位,並且視所記錄的資料而以多個白資料單位、多個黑資料單位或其結合形成,但不以此為限。
請同時參閱圖1至圖3,其中圖3為本發明的格式資訊的示意圖的第一具體實施例。如圖3所示,格式資訊區塊4至少記錄有定位圖案身份碼41。於圖3的實施例中,定位圖案身份碼41包含在d0至d5等六個資料單位,但不以此為限。所述定位圖案身份碼41用以記錄定位圖案2的編號,例如,以“010110”表示編號0,以“011001”表示編號1,以“100101”表示編號2,以“101010”表示編號3。惟,上述僅為本發明的其中一個具體實施範例,但不以此為限。
並且,所述編號可對應至二維碼1中的多個碼區域10的數量。例如,若二維碼1由四個碼區域10構成,則所述編號可例如為編號0、編號1、編號2及編號3。
舉例來說,於圖1所示的二維碼1中,位於左上方的碼區域10為第零碼區域11,並且第零碼區域11中的格式資訊區塊4可記錄定位圖案2的編號為0。位於二維碼1右上方的碼區域10為第一碼區域12,並且第一碼區域12中的格式資訊區塊4可記錄定位圖案2的編號為1。位於二維碼1右下方的碼區域10為第二碼區域13,並且第二碼區域13中的格式資訊區塊4可記錄定位圖案2的編號為2。位於二維碼1左下方的碼區域10為第三碼區域14,並且第三碼區域14中的格式資訊區塊4可記錄定位圖案2的編號為3。
本實施例中,所述編號還可被用來計算定位圖案2相對於其他碼區域10的定位圖案2的方位及距離。具體地,基於二維碼1的預設結構,掃描裝置只要取得一個定位圖案2的編號,就可以得知此定位圖案2屬於哪一個碼區域10,進而可得知這個碼區域10(這個定位圖案2)相對於其他碼區域10(其他定位圖案2)的方位。
如圖1所示,編號0的定位圖案2(屬於第零碼區域11)位於編號1的定位圖案2(屬於第一碼區域12)的左側。編號1的定位圖案2位於編號2的定位圖案2(屬於第二碼區域13)的上方。編號2的定位圖案2位於編號3的定位圖案2(屬於第三碼區域14)的右側。編號3的定位圖案2位於編號0的定位圖案2的下方。基於這個結構,掃描裝置可以在掃描到其中一個定位圖案2後,直接完成對所有碼區域10的定位動作。
回到圖3,所述格式資訊區塊4還記錄偵錯修正碼等級(Level of Error Correction Code,ECC)42、遮罩碼(Mask)43及檢查碼(Check-bits)44。其中,偵錯修正碼等級42的尺寸為三個資料單位,圖3中以f12-f14來表示;遮罩碼43的尺寸為兩個資料單位,圖3中以f10-f11來表示;檢查碼44的尺寸為十個資料單位,圖3中以f0-f9來表示。於一實施例中,所述偵錯修正碼等級42、遮罩碼43及檢查碼44主要可通過BCH碼(Bose-Chaudhuri-Hocquenghem codes)來實現,但不加以限定。
值得一提的是,所述偵錯修正碼等級的尺寸為三個資料單位,通過設定偵錯修正碼等級的內容,可為二維碼1設定八種不同的容錯等級(即,以二進制的000至111表示)。於一實施例中,二維碼1採用里德-所羅門碼(Reed-
Solomon error codes)來實現偵錯修正,基於偵錯修正碼等級,可達到最低8%至最高46%的容錯率。
上述Reed-Solomon error codes為編碼領域常用的技術手段,為了說明書的簡潔,於此不再贅述。
如前文所述,二維碼1主要需被黏貼在地面上,以對自駕車或機器人進行控制與導航。通過上述超高的容錯率,本發明的二維碼1即使污損嚴重,仍然有較高的機率可被自駕車/機器人正確識別,因此可以適用於自駕車或機器人的技術領域。
回到圖2。所述資料區塊5沿著格式資訊區塊4的周緣設置,用以記錄二維碼1的一部或全部資料。具體地,格式資訊區塊4的內側對齊間隔區塊3的外側,並且資料區塊5沿著格式資訊區塊4的外側而設置。於圖2的實施例中,資料區塊5共包含十三組依據指定的位元次序進行編排的位元組51,其中各個位元組51分別包括八個資料單位,圖2中以b0至b7表示,但不加以限定。
於一實施例中,資料區塊5可用以記錄純二進位資訊,例如數字(0-9)、文字(a-z、A-Z)或符號等。並且,基於所採用的偵錯修正碼等級的不同,最多可支持44位元組(bytes)的資料大小。若將本發明的二維碼1應用於自駕車或機器人領域,則所述資料區塊5可記錄當前的座標位置,以及相對於下一張二維碼1的黏貼位置的方向及距離等資料,但不以此為限。
本發明的其中一個技術特徵在於,四個碼區域10的結構是完全對稱的,因此掃描裝置在掃描到任一個碼區域10的定位圖案2後,可以直接執行兩個動作:(1)對定位圖案2所屬的碼區域10的格式資訊區塊4及資料區塊5
進行定位,以對資料進行取樣;(2)對其他碼區域10的定位圖案2進行定位,以對其他碼區域10的資料進行取樣。換句話說,本發明的二維碼1中的各個碼區域10可以被各自取樣並共同參與解碼,掃描裝置不需要等到所有碼區域10的定位圖案2都被掃描到後才開始對二維碼1進行資料取樣與解碼,因此可獲得極快的識別速度。
為了令掃描裝置可以明確識別,本發明的二維碼1的定位圖案2具有一特定的結構。如圖2所示,所述定位圖案2由外而內可由一個黑框模組21、一個白框模組22及一個黑矩形模組23依序組成。由圖2可看出,所述黑框模組21是由多個黑格子組成,所述白框模組22是由多個白格子組成,所述黑矩形模組23是由多個黑格子組成。
具體地,本案中的定位圖案2可稱為定位牛眼,其中,所述黑框模組21為定位牛眼的外環,白框模組22為定位牛眼的環內靜區,黑矩形模組23則為定位牛眼的瞳仁。
如圖2所示,黑框模組21呈空心方框的形狀,並且黑框模組21的長度及寬度皆為九個黑資料單位(即,黑格子)。白框模組22設置於黑框模組21內部,呈空心方框的形狀,並且白框模組22的長度及寬度皆為七個白資料單位(即,白格子)。黑矩形模組23設置於白框模組22內部,呈實心矩形的形狀,並且黑矩形模組23的長度及寬度皆為五個黑資料單位(即,黑格子)。
基於上述定位圖案2的結構,當掃描裝置中的演算法藉由一條掃描線掃描定位圖案2時,可由外而內依序得到黑資料單位、白資料單位、黑資料單位、白資料單位及黑資料單位的資訊,並且其比例為1:1:5:1:1。
本發明中,掃描裝置可將上述的排列與比例做為定位圖案2的碼特徵。當掃描裝置藉由掃描線獲得上述碼特徵時,即可識別出一個定位圖案2的存在。尤其,此一比例優於一般常用的快速響應碼(Quick Response,QR)的比例1:1:3:1:1。藉由此特徵,掃描裝置於掃描時擁有更高的定位圖案貫穿機率。具體地,一般掃描裝置對於QR碼的定位圖案的貫穿機率為~43%,而對於本發明的二維碼1的定位圖案的貫穿機率為~56%。相較於一般的QR碼,掃描裝置對於本發明的二維碼1可於更短的時間內找到定位圖案。
請同時參閱圖1至圖4,其中圖4為本發明的識別流程圖的第一具體實施例。圖4揭露了一種二維碼的定位與識別方法(下面將於說明書中簡稱為識別方法),所述識別方法結合圖1所示的二維碼1及圖2所示的碼區域10,說明掃描裝置如何掃描並識別本發明的二維碼1。
所述掃描裝置為具有影像擷取器而可掃描二維碼的電子裝置,例如設置有相機的行動裝置或設置有掃描儀的雷射感測器等,不加以限定。於進行掃描時,掃描裝置擷取欲識別的二維碼的影像,接著通過演算法在所擷取的影像上有序地安排一條掃描線,以對二維碼1進行掃描(步驟S10)。基於演算法在掃描線上計算出的黑白間隔比例,掃描裝置可判斷是否獲得預設碼特徵(步驟S12)。所述演算法通過掃描線進行掃描的技術手段,為二維碼相關領域中的常用技術手段,於此不再贅述。
具體地,所述預設碼特徵是由二維碼1中任一個碼區域10的定位圖案2來提供,意即,掃描裝置於步驟S10中是以掃描二維碼1上的任一碼區域10的定位圖案2為目標。於一實施例中,所述預設碼特徵為黑資料單位與白資料單位以1:1:5:1:1的順序與比例進行交錯排列。
若掃描裝置沒有獲得所述預設碼特徵,則再次執行步驟S10,藉由演算法安排下一條掃描線以尋找二維碼1上的定位圖案2。若掃描裝置獲得預設碼特徵,則可判斷當前的掃描線貫穿了二維碼1上的任一個碼區域10中的定位圖案2。此時,掃描裝置對提供了所述預設碼特徵的定位圖案2進行定位(步驟S14),並且取得此定位圖案2的編號(步驟S16)。
由於定位圖案2為矩形,因此無論掃描線以何種角度貫穿了定位圖案2,都可得到所述預設碼特徵。並且,將預設碼特徵設定為黑、白相間的1:1:5:1:1的比例配置,幾乎不可能在定位圖案2以外的其他區塊找到相同的特徵。如此一來,可以有效提高二維碼1的識別成功率及識別速度。
具體地,於步驟S14中,掃描裝置主要可在發現了定位圖案2後,基於掃描線上所取得的黑、白相間的1:1:5:1:1的位置來計算定位圖案2的中心點與四個邊界點(例如圖2所示的中心點24及四個邊界點25),並且藉由中心點24及四個邊界點25來對定位圖案2進行定位。於步驟S16中,掃描裝置可以基於中心點24、四個邊界點25以及定位圖案2本身的結構及尺寸,計算所屬的碼區域10中的格式資訊區塊4的位置,並從格式資訊區塊4中讀取定位圖案2的編號。
具體地,本案中的定位圖案2可稱為定位牛眼,其中,所述中心點24為定位牛眼的中心點,所述四個邊界點25用以指出定位牛眼的固定之寬度比(於圖中為九個資料單位)。
如前文所述,所述格式資訊區塊4的寬度為一個資料單位,並且可記錄有定位圖案身份碼41、偵錯修正碼等級42、遮罩碼43及檢查碼44。於步驟S16中,掃描裝置可讀取格式資訊區塊4中的定位圖案身份碼41,以獲
得定位圖案2的編號。通過定位後所得的位置以及所獲得的編號,掃描裝置可以進一步估測此定位圖案2相對於二維碼1中其他碼區域10的定位圖案2的方位及距離(步驟S18)。
更具體地,掃描裝置於步驟S18中主要是依據定位圖案2的位置、編號、以及定位圖案2所揭露的透視轉換(perspective transformation)資訊,估測此定位圖案2相對於二維碼1中其他碼區域10的定位圖案2的方位及距離。
承上,所述透視轉換(或稱為透視失真)指的是在三維空間中因為拍攝傾角而造成的影像形變。掃描裝置的演算法需要先藉由透視轉換資訊來修正定位圖案2的所述形變,再依定位圖案2的方向、位置等資訊來決定定位圖案2的真實位置。在確定了一個定位圖案2的真實位置後,掃描裝置的演算法才能正確地估測此定位圖案2相對於其他定位圖案2的方位及距離。
例如圖1的實施例所述,二維碼1可包含第零碼區域11(具有編號0的定位圖案2)、第一碼區域12(具有編號1的定位圖案2)、第二碼區域13(具有編號2的定位圖案2)及第三碼區域14(具有編號3的定位圖案2),各個碼區域12的資料排序角度與相鄰的碼區域12的資料排序角度相差90度。其中,編號0的定位圖案2位於編號1的定位圖案2的左側,編號1的定位圖案2位於編號2的定位圖案2的上方,編號2的定位圖案2位於編號3的定位圖案2的右側,編號3的定位圖案2位於編號0的定位圖案2的下方。
通過在步驟S16中取得的任一定位圖案2的位置及編號,掃描裝置在步驟S18中可以估測出此定位圖案2相對於其他定位圖案2的方向及距離,進而能夠對其他碼區域10的定位圖案2進行定位(步驟S20)。
具體地,掃描裝置在步驟S14中可獲得被掃描到的定位圖案2的中心點24及四個邊界點25。於步驟S20中,掃描裝置可依據此定位圖案2的中心點24及四個邊界點25來估測其他碼區域10的定位圖案2的中心點24及四個邊界點25,藉此對其他定位圖案2進行定位。
如前文所述,二維碼1上的多個碼區域10是完全對稱的。以圖1所示的二維碼1為例,第零碼區域11與第一碼區域12分別位於二維碼1的左上方及右上方。第零碼區域11的定位圖案2的右上方的邊界點25與第一碼區域11的定位圖案2的左上方的邊界點25間,距離水平的十二個資料單位。再例如,第零碼區域11與第三碼區域14分別位於二維碼1的左上方及左下方。第零碼區域11的定位圖案2的左下方的邊界點25與第三碼區域14的定位圖案2的左上方的邊界點25間,距離垂直的十二個資料單位。
綜上所述,只要在步驟S14中確認了任一個定位圖案2的位置及編號,掃描裝置就可以快速地對二維碼1中的剩餘定位圖案2進行定位。換句話說,於本發明的識別方法中,掃描裝置只要有一條掃描線掃描到任一個定位圖案2,就可以完成對整個二維碼1的定位,而不需要掃描所有的定位圖案2。據此,可以實現本發明快速識別的主要目的。
步驟S20後,掃描裝置即可依據二維碼1上各個定位圖案2的位置,分別計算各個碼區域10中的資料區塊5的位置(步驟S22),並且取樣這些資料區塊5並進行解碼(步驟S24),藉此對二維碼1進行識別。於一實施例中,各個資料區塊5分別包括了十三組依據指定的位元次序進行編排的位元組51,並且各個位元組51分別包括八個資料單位。
具體地,掃描裝置取樣了各個碼區域10的資料區塊5後,還可對所取得的資料進行對稱碼字的檢索(Symmetric codewords retrieval),並且進行偵錯修正(例如通過上述的Reed-Solomon error codes進行偵錯修正),以對二維碼1的內容進行解碼。
本發明的二維碼1中的多個碼區域10完全對稱,即使部分的碼區域10污損,導致掃描裝置於步驟S20中無法對一或多個定位圖案2進行定位,掃描裝置仍可藉由已定位的一或多個定位圖案2的中心點24及邊界點25,定位出污損的碼區域10中的資料區塊5的位置。如此,仍可獲得二維碼1中未被污損部分的完整資料,再經由上述Reed-Solomon error codes將污損破壞的部分予以修正回來。藉此,可以達到本案極高容錯率的主要目的。
本發明藉由全對稱的四個碼區域10來組成二維碼1,即使任何一個或二個或甚至三個定位圖案2損失或被破壞,都仍然可以對二維碼1進行解碼(惟定位圖案2獲取越多,解碼成功機率相對越高),而可大幅提升二維碼的容錯率。
請同時參閱圖1至圖5,其中圖5為本發明的掃描示意圖的第一具體實施例。如圖5所示,在掃描二維碼1時,掃描裝置(圖未標示)的演算法可依序分析多條不同的位置掃描線61-64。
於圖5的實施例中,掃描裝置首先分析掃描線61,但掃描線61並沒有落在二維碼1上。接著,掃描裝置分析掃描線62。掃描線62雖然落在二維碼1上,但是掃描裝置無法藉由掃描線62獲得所述預設碼特徵,即,黑、白資料單位相間的1:1:5:1:1的比例配置。接著,掃描裝置分析掃描線63。掃描線63雖然落在二維碼1上,但是掃描裝置仍然無法藉由掃描線63獲得所述
預設碼特徵。接著,掃描裝置分析掃描線64,並且藉由掃描線64獲得了預設碼特徵。據此,掃描裝置可判斷掃描線64貫穿了二維碼1上的任一定位圖案2,並可對定位圖案2進行定位。
在對定位圖案2進行了定位後,掃描裝置可獲得定位圖案2的中心點24及四個邊界點25的位置,並且可由對應的格式資訊區塊4取得定位圖案2的編號。藉此,掃描裝置可以直接估測出二維碼1上其他三個定位圖案2的位置。並且,如圖5所示,基於完全對稱的結構,即使其中一個定位圖案2污損而無法被掃描,仍不會妨礙掃描裝置對二維碼1進行正確的識別。
藉由本發明的識別方法掃描本發明的二維碼1,掃描裝置只要掃描到二維碼1上的任一個定位圖案2,就可以計算出所有資料區塊5的位置並對資料區塊5進行取樣,藉此完成對二維碼1的識別。並且,所述識別方法可在小於或等於50ms的時間內完成,且具有高度的容錯率,因此可適用於自駕車或機器人的導引的特殊領域。
值得一提的是,通過四個定位圖案2的中心點24及邊界點25,可以定義出整個二維碼1的中心位置、水平基準線及垂直基準線。當自駕車或機器人經過二維碼1時,除了讀取二維碼1的資料外,還可基於所述中心位置、水平基準線及垂直基準線來判斷自身相對於二維碼1的位置、方向及角度。通過上述判斷的結果,自駕車/機器人可以調整自身的位置、角度及行進方向等參數。如此一來,可以有效提升自駕車/機器人的移動準確度。
參閱圖6,為本發明的二維碼的示意圖的第一具體實施例。圖6揭示了本發明的二維碼1的其中一個實際範例。於圖6的實施例中,二維碼1的多個資料區塊5中分別記錄了數字及文字。這些數字及文字記錄了一組座標,
其內容為:“(X=325.79,Y=-101.23)”。惟,圖6的實施例僅為本發明的其中一組實施態樣,但不以此為限。
於上述圖4的實施例中,掃描裝置在掃描到一個定位圖案2後,先對所有定位圖案2進行定位,接著再對各個碼區域10的資料區塊5進行定位,並對各個資料區塊5進行取樣。然而如前文所述,本發明的二維碼1中的各個碼區域10是完全對稱且可被各自識別的。因此,掃描裝置亦可在不同時間點分別定位各個碼區域10的資料區塊5並且對各個資料區塊5進行取樣,而不以圖4所示的流程為限。
本發明通過完全對稱的多個碼區域10來組成一個二維碼1,可以結合本發明的識別方法來達到極快的識別速度。並且,可藉由完全對稱的多個碼區域來提升二維碼的容錯率,以利二維碼被應用在特殊領域中。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
1:二維碼
11:第零碼區域
12:第一碼區域
13:第二碼區域
14:第三碼區域
2:定位圖案
3:間隔區塊
4:格式資訊區塊
5:資料區塊
51:位元組
Claims (14)
- 一種可快速定位與識別的高強固性二維碼,包括:四個完全對稱的碼區域,各該碼區域分別包括:一定位圖案,設置於該碼區域的一角落;一間隔區塊,沿著該定位圖案的邊的外緣設置,以將該定位圖案與該碼區域中的其他區塊區隔開來;一格式資訊區塊,該格式資訊區塊的內側對齊該間隔區塊的外側,記錄該碼區域的資訊;及一資料區塊,沿著該格式資訊區塊的外側設置,記錄該二維碼的資料。
- 如請求項1所述的二維碼,其中該定位圖案由一黑框模組、一白框模組及一黑矩形模組組成,該黑框模組為一空心方框且長度及寬度皆為九個黑資料單位,該白框模組設置於該黑框模組內,為一空心方框且長度及寬度皆為七個白資料單位,該黑矩形設置於該白框模組內,為一實心矩形且長度及寬度皆為五個黑資料單位。
- 如請求項2所述的二維碼,其中該間隔區塊的寬度為一個資料單位,該格式資訊區塊的寬度為一個資料單位。
- 如請求項2所述的二維碼,其中該格式資訊區塊至少記錄一定位圖案身份碼,該定位圖案身份碼記錄該定位圖案的一編號,該編號被用來估測該定位圖案相對於其他碼區域的該定位圖案的方位及距離。
- 如請求項4所述的二維碼,其中該編號包括編號0、編號1、編號2及編號3,編號0的該定位圖案位於編號1的該定位圖案的左側,編號1的 該定位圖案位於編號2的該定位圖案的上方,編號2的該定位圖案位於編號3的該定位圖案的右側,編號3的該定位圖案位於編號0的該定位圖案的下方。
- 如請求項4所述的二維碼,其中該格式資訊區塊還記錄一偵錯修正碼等級、一遮罩碼及一檢查碼。
- 如請求項4所述的二維碼,其中該資料區塊包括十三組依據指定的位元次序進行編排的位元組,各該位元組分別包括八個資料單位。
- 如請求項1至7中任一項所述的二維碼,其中該四個碼區域包括一第零碼區域、一第一碼區域、一第二碼區域及一第三碼區域,其中該第零碼區域設置於該第一碼區域的左側,並且該第零碼區域的資料排序角度與該第一碼區域的資料排序角度相差90度,該第一碼區域設置於該第二碼區域的上方,並且該第一碼區域的資料排序角度與該第二碼區域的資料排序角度相差90度,該第二碼區域設置於該第三碼區域的右側,並且該第二碼區域的資料排序角度與該第三碼區域的資料排序角度相差90度,該第三碼區域設置於該第零碼區域的下方,並且該第三碼區域的資料排序角度與該第零碼區域的資料排序角度相差90度。
- 一種二維碼的定位與識別方法,用於識別如請求項1所述的該二維碼,包括:a)通過一掃描線掃描該二維碼;b)於該步驟a)未從該二維碼上獲得一預設碼特徵時,再次執行該步驟a),其中該預設碼特徵由該二維碼上的任一該碼區域中的該定位圖案提供;c)於獲得該預設碼特徵時,對提供該預設碼特徵的該定位圖案進行定位並取得該定位圖案的一編號; d)依據該定位圖案的位置、該編號及該定位圖案所揭露的一透視轉換資訊,估測該定位圖案相對於其他碼區域的該定位圖案的方位及距離;e)該步驟d)後,對其他碼區域的該定位圖案進行定位;f)依據各該定位圖案的位置分別計算各該碼區域的該資料區塊的位置;及g)取樣該些資料區塊並進行解碼,以對該二維碼進行解碼。
- 如請求項9所述的定位與識別方法,其中該定位圖案由一黑框模組、一白框模組及一黑矩形模組組成,該黑框模組為一空心方框且長度及寬度皆為九個黑資料單位,該白框模組設置於該黑框模組內,為一空心方框且長度及寬度皆為七個白資料單位,該黑矩形模組設置於該白框模組內,為一實心矩形且長度及寬度皆為五個黑資料單位,其中該預設碼特徵為黑資料單位與白資料單位以1:1:5:1:1的順序及比例進行交錯排列。
- 如請求項10所述的定位與識別方法,其中該編號包括編號0、編號1、編號2及編號3,編號0的該定位圖案位於編號1的該定位圖案的左側,編號1的該定位圖案位於編號2的該定位圖案的上方,編號2的該定位圖案位於編號3的該定位圖案的右側,編號3的該定位圖案位於編號0的該定位圖案的下方。
- 如請求項10所述的定位與識別方法,其中該間隔區塊的寬度為一個資料單位,該格式資訊區塊的寬度為一個資料單位,並且記錄一定位圖案身份碼、一偵錯修正碼等級、一遮罩碼及一檢查碼,其中該定位圖案身份碼記錄該定位圖案的該編號,該資料區塊包括十三組依據指定的位元次序進行編排的位元組,各該位元組分別包括八個資料單位。
- 如請求項12所述的定位與識別方法,其中該步驟c)依據該定位圖案的位置估測該格式資訊區塊的位置,並從該格式資訊區塊中讀取該編號,其中該定位圖案的位置包括一中心點及四個邊界點。
- 如請求項13所述的定位與識別方法,其中該步驟e)是依據該定位圖案的該中心點及該四個邊界點估測其他碼區域的該定位圖案的該中心點及該四個邊界點,以對其他碼區域的該定位圖案進行定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110135179A TWI778804B (zh) | 2021-09-22 | 2021-09-22 | 可快速定位與識別的高強固性二維碼及其定位與識別方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110135179A TWI778804B (zh) | 2021-09-22 | 2021-09-22 | 可快速定位與識別的高強固性二維碼及其定位與識別方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI778804B true TWI778804B (zh) | 2022-09-21 |
TW202314595A TW202314595A (zh) | 2023-04-01 |
Family
ID=84958224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110135179A TWI778804B (zh) | 2021-09-22 | 2021-09-22 | 可快速定位與識別的高強固性二維碼及其定位與識別方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI778804B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400059A (zh) * | 2006-07-19 | 2013-11-20 | 先进追踪和寻踪公司 | 保护和验证文件的方法和设备 |
TW201428635A (zh) * | 2012-11-13 | 2014-07-16 | Kyodo Printing Co Ltd | 二維碼 |
TW201432576A (zh) * | 2012-11-13 | 2014-08-16 | Kyodo Printing Co Ltd | 二維碼、二維碼之作成系統及解析程式 |
CN105574572A (zh) * | 2015-12-24 | 2016-05-11 | 上海师范大学 | 一种彩色二维码及其生成方法 |
TW201830291A (zh) * | 2017-02-14 | 2018-08-16 | 香港商阿里巴巴集團服務有限公司 | 二維碼生成方法及其設備和二維碼識別方法及其設備 |
CN109447216A (zh) * | 2018-12-30 | 2019-03-08 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种快速准确识别的二维码 |
US10410103B2 (en) * | 2016-02-06 | 2019-09-10 | Shenzhen Mpr Technology Co., Ltd | Two-dimensional dot matrix barcode encoding and identifying methods |
TW202025021A (zh) * | 2018-11-28 | 2020-07-01 | 香港商阿里巴巴集團服務有限公司 | 二維碼的提供、驗證方法及裝置 |
-
2021
- 2021-09-22 TW TW110135179A patent/TWI778804B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400059A (zh) * | 2006-07-19 | 2013-11-20 | 先进追踪和寻踪公司 | 保护和验证文件的方法和设备 |
TW201428635A (zh) * | 2012-11-13 | 2014-07-16 | Kyodo Printing Co Ltd | 二維碼 |
TW201432576A (zh) * | 2012-11-13 | 2014-08-16 | Kyodo Printing Co Ltd | 二維碼、二維碼之作成系統及解析程式 |
CN105574572A (zh) * | 2015-12-24 | 2016-05-11 | 上海师范大学 | 一种彩色二维码及其生成方法 |
US10410103B2 (en) * | 2016-02-06 | 2019-09-10 | Shenzhen Mpr Technology Co., Ltd | Two-dimensional dot matrix barcode encoding and identifying methods |
TW201830291A (zh) * | 2017-02-14 | 2018-08-16 | 香港商阿里巴巴集團服務有限公司 | 二維碼生成方法及其設備和二維碼識別方法及其設備 |
TW202025021A (zh) * | 2018-11-28 | 2020-07-01 | 香港商阿里巴巴集團服務有限公司 | 二維碼的提供、驗證方法及裝置 |
CN109447216A (zh) * | 2018-12-30 | 2019-03-08 | 尤尼泰克(嘉兴)信息技术有限公司 | 一种快速准确识别的二维码 |
Also Published As
Publication number | Publication date |
---|---|
TW202314595A (zh) | 2023-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989317B (zh) | 一种二维码的识别方法及装置 | |
US6128414A (en) | Non-linear image processing and automatic discriminating method and apparatus for images such as images of machine-readable symbols | |
US6360948B1 (en) | Method of reading two-dimensional code and storage medium thereof | |
US5616905A (en) | Two-dimensional code recognition method | |
US9665759B2 (en) | Decoding method for matrix two-dimensional code | |
US6758399B1 (en) | Distortion correction method in optical code reading | |
JP4801551B2 (ja) | 画像領域検出方法、該プログラム、及び該装置 | |
CN100377167C (zh) | 一种用于二维码识别的二维码区域精确定位方法 | |
US7726572B2 (en) | Bar code scanning decoding | |
JP2005267598A (ja) | 二次元バーコード及びその符号復号化方法 | |
JPH1063771A (ja) | 2次元コード読み取り装置 | |
WO2017041600A1 (zh) | 一种汉信码特征图形检测方法及*** | |
KR102375325B1 (ko) | 원거리 고밀도 시각적 마커의 검출 및 인식 방법 | |
US6941026B1 (en) | Method and apparatus using intensity gradients for visual identification of 2D matrix symbols | |
CN106228103B (zh) | 一种双层码的识别方法 | |
JP2016184422A (ja) | 複数の撮影画像を用いてパターンのステッチおよびデコードするシステムおよび方法 | |
TWI778804B (zh) | 可快速定位與識別的高強固性二維碼及其定位與識別方法 | |
CN110020571B (zh) | 二维码校正方法、装置及设备 | |
JP4865844B2 (ja) | 二次元コード読取方法及び該二次元コード読取方法で読み取るための二次元コード並びに該二次元コード読取方法を記録した記録媒体 | |
KR20030085511A (ko) | 2차원 바코드 카드 및 그 디코딩 방법 | |
CN202267974U (zh) | 用于二维码的定位***及二维码的识别设备 | |
CN104463156B (zh) | 数字式钢琴编码解码方法 | |
CN111126286A (zh) | 车辆动态检测方法、装置、计算机设备及存储介质 | |
CN115879485A (zh) | 可快速定位与识别的高强固性二维码及其定位与识别方法 | |
JP5034693B2 (ja) | コード読取装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |