QR Code發展與歷史介紹:運作原理、特色、編碼結構分析

2019.12.13 03:00PM

隨著智慧型手機興起,QR Code(QR碼)的應用越來越廣泛,只要拿出手機開啟App,無論是電子海報、個人名片、還是電子支付,「掃」一下就能獲得圖像裡蘊含的訊息。QR Code是種二維條碼的類型,在一維條碼能夠承載的資訊量不足以應付需求之後,二維條碼順勢而生,本篇介紹QR Code的運作原理、特色、編碼結構分析,讓讀者更瞭解這項隨處可見的科技小工具。

QR Code:Quick Response Code,快速響應矩陣圖碼

QR Code是Quick Response Code的縮寫,因為發明者希望QR Code可以快速解碼內容,故以「Quick Response(快速反應)」命名。QR Code的發明可追溯至1994年的日本,由汽車零件業者Denso Wave公司發明,用來追蹤生產線上的貨物,並且讓條碼能容納日文漢字、假名訊息。

與一維條碼最大的差異在於,二維條碼能夠承載更多資料,而QR Code能儲存的資訊種類囊括了數字、字母、二進制(位元組)、以及日文、漢字。可以這麼說,一維條碼代表的資訊以「數字編號」為多,號碼用來識別商品,但QR Code可以讓日文、漢字資料直接記錄在條碼裡,也就是讓條碼代表一句話、或是一串網址。

▲4種不同的二維條碼。因為一維條碼,也就是由線條組成的條碼能承載的資訊量太少,因此最初將2個一維條碼疊加在一起,最後讓X軸、Y軸都帶有訊息,進化成二維條碼。二維條碼又稱為矩陣條碼,種類有很多,其中屬QR Code最為常見。(圖片來源:Wiki)

▲一維條碼的運作原理介紹。

QR Code標準在1999年發佈 應用包含物流、驗票、網站登錄

日本的QR Code標準在1999年公佈,而其對應的ISO國際標準(ISO/IEC 18004)則在2000年獲得。ISO(國際標準化組織)認定QR Code為國際規格,其規格公開,雖由Denso Wave公司持有專利,但不會被執行。

而除了能記錄日文與漢字之外,QR Code的辨識速度快、360度全方位都能被識別、容錯能力高、佔位面積更小,讓它被廣泛運用在產品跟蹤、物品識別、文件管理等方面。除此之外個人名片、網站登錄等地方也常常見到QR Code的蹤跡。

▲行政院農委會的產銷履歷也應用了QR Code,右下則是傳統一維條碼。(圖片來源:產銷履歷資訊網
▲台鐵的車票也應用了QR Code,乘客只要將車票上的QR Code對準驗票閘門的掃描區,即能掃描通過。現在台鐵也有QR Code電子化車票,詳情可見2019台鐵網路購票App教學懶人包

不過,QR Code並非任何情況下都能夠辨識,比如說QR Code過度擠壓變形、印刷不夠清晰、或是外框沒有足夠的白邊的話,就會造成識讀困難。雖然如此,和傳統一維條碼相較,QR Code可以360度掃描辨識,容錯能力更是讓它在視覺造型上有了更多的變化。

有40種尺寸與4種容錯級別 最多能容納7089字元

先不論微型QR Code等特殊變形,一般常見的QR Code共有40種不同的尺寸版本,版本依據儲存密度與結構區分,每一種QR Code的組成結構、能夠儲存的資訊量多寡都不完全相同。QR Code的尺寸版本以「 Version」標示,如版本1,也就是 Version 1,QR Code尺寸為21x21位元, Version 2的尺寸為25x25位元,Version 40則為177x177位元,Version越高,QR Code的尺寸越大,能夠承載的資訊量也就越多。

是否有看過融入標誌的QR Code呢?「容錯」又稱「糾錯」,是指當某部分資訊缺失的時候,其它部分會自動填補,讓整體資訊依然可以完整辨識,容忍錯誤發生。簡單來說,就是當QR Code條碼缺了一角,或是沒有辨識完全,資訊依然可以被掃瞄出來,這就是QR Code容錯能力的表現,是一維條碼辦不到的。

QR Code的4個容錯等級:

  • L(低):可修正7%的字碼。
  • M(中):可修正15%的字碼。
  • Q(中高):可修正25%的字碼。
  • H(高):可修正30%的字碼。

▲傳統一維條碼只要組成有損傷,就難以辨識,不過QR Code可以容許一定程度範圍內的資訊流失,因此就算缺角(圖左)、或是在條碼中放入Logo(圖右),都不會影響資訊讀取。這也讓QR Code在設計上有非常多的變化。(圖片來源:Wiki)

▲QR Code共有40種不同的尺寸版本,前後版本尺寸之間都相差4個單位。(圖片來源:萬能的Wiki)

容錯能力越高,同等級的QR Code能夠容量的資訊量就越少,這是因為將原本能夠儲存資料的地方,拿去做容錯備份,於是一般儲存資料的空間被壓縮,能夠儲存的資料也就變少。由以上訊息可以得知,資訊容量最大的QR Code版本為Version 40、容錯能力為L等級,此版本最多可以容納7089個數字,或是4296個字母,或1800個漢字。一般的一維條碼最多只能輸入20個資訊量。

▲QR Code由無數個黑白小格子組成,每一個格子就是一個位元(bits)。由上圖可知,組成一個純數字(Numeric only)需要3又1/3個位元,也就是3又1/3個小格子,至於要組成一個ISO 8859-1編碼的二進制字元,則需要8 bits,也就是8個小格子。以資訊容量最大的Version 40、容錯能力為L等級的QR Code來說,純數字最多能夠容納7089個,也就是能夠表示7089個0至9的數字。

QR Code原理與結構:定位標記、定時資訊、版本與格式資訊

因為電腦只能接收0與1,因此無論是數字、字母、還是漢字,所有訊息都要回到0與1的編排來轉換。QR Code裡有無數個黑色與白色的方格,每一格黑白格子都是一個位元(bits),黑色方格代表1,白色方格代表0,掃碼時機器只要判斷反光與否,就能將黑白圖像轉換為1與0的組合。

在QR Code的結構之中,最重要的就是位於上方兩側與左下的3個「回」狀定位標記。定位標記讓掃描端能夠360度辨識QR Code的方向,因此就算反著掃,也能判斷出哪邊是開始、哪邊是結束,避免讀取錯誤。正因如此,QR Code裡面的定位點一定會保留,無論其它資訊如何變化,定位點都不可以被取代。

▲QR Code結構。根據QR Code版本不同,結構會有細微的差異。QR Code版本越高,內涵的資訊量越大,也就會有越多校正圖塊,避免機器因為資訊量太多產生錯誤。

如上圖所示,QR Code裡真正紀錄資料的地方僅有灰色的「資料與糾錯碼訊息」,而在該區塊裡,又會分為真正紀錄資訊的區域,以及容錯區域。QR Code的定位標準與格式資訊位置都是固定的,至於定時資訊(Timing Patterns,又稱時序圖案)是用來讓機器辨識QR Code的單位格子大小、以及提供座標位置,像是基準點一樣,避免QR Code尺寸過大,或是掃描時變形,導至格子判讀錯誤。

▲QR Code的訊息編排順序。最右下Enc告知編碼格式,也就是接下來會使用哪種編碼,內容是數字、字母、還是漢字。Len告知長度,最後會有End告知訊息結束。和之前提到的一樣,組成一個字元(英數漢字)所需要的位元(小格子)數量不同,上圖一格就是一個字元,該字元需要由8個位元組成。左半邊E1至E7都是容錯區域。

▲QR Code的另外一種排列方式。 右半邊的D為交叉排列的資訊區,左半邊的E為容錯區域。

QR Code的編碼順序有些複雜,字元會依照某種順序排列,而位元根據運行方向,也會有不同的讀取順序(見上圖右)。需要注意的是,每個版本的QR Code訊息編排順序都不同,容錯等級也牽涉到QR Code的訊息編排方式,因此就算是同樣的訊息,也會產生不同的QR Code。

編碼結束後再加上掩碼(Masking)步驟

在複雜的編碼結束之後,為了避免資料區域出現連續的空白、連續的黑色區域、或是和定位點相似的圖形,還會再進行掩碼程序,透過演算法,選擇合適的掩模圖案(又稱遮罩),再經過操作後融進資訊裡。掩碼是為了讓QR Code的黑白色散開,更容易被機器識別,二維碼的掩模圖案共有8種,會在資料區內不停地重複計算,功能區域則不會有更動。

掩碼步驟完成後,QR Code才是真正完成。因此一個完整的QR Code裡包含了定位點、功能區域、資訊區域、容錯區域、掩模圖案,每一塊都不可缺少。

▲二維條碼共有8種掩模圖案,每一種都有對應的規則與計算方式,並不是隨意挑選。
▲使用QR Code設計的房間,每一個都連結至色情訊息,象徵現在生活裡雖然雙眼看不見,但隱藏的色情無所不在。(圖片來源:Dezeen)

以圍棋作為發想 讓訊息接收更加方便快速

不知不覺間,QR Code已佔領了各個角落,當初發明者以「圍棋」作為發想,讓QR Code容納更多元的資訊,直接改變了現代人的生活習慣。QR Code看似簡單,不過其實有一定的複雜度,如果像筆者一樣對程式編碼毫無概念,要理解它背後的運作規則實在是需要不少精神。無論如何,QR Code讓人能更快速地獲取資訊,未來或許會有更多應用延伸出現,再度掀起一波浪潮。

延伸閱讀:

資料來源

相關消息

開箱評測
電競刀鋒再出鞘!MSI Katana 15 HX強勁效能再升級,全方位滿足主流玩家需求!
癮特務
11 天前
今天是2008年最後一天,謝謝各位的支持
yeager
16 年前
[轉載]美背Model轉身~
monday0523
15 年前
科技應用
華碩展示以非標準PCIe x16插槽為顯示卡提供250W供電的概念
Chevelle.fu
20 個小時前
快訊
免鑽孔設計還有三段風速,Ogula 小倉壁掛風扇,不再汗流浹背的秘密武器。
阿業
20 個小時前
蘋果新聞
YouTuber測試指稱iPhone 17 Pro系列相機模組邊角有容易掉漆的疑慮
Chevelle.fu
21 個小時前
產業消息
聯發科天璣9500挾Arm最新架構與台積N3P加持兼具效能與低發熱 雙NPU實現無所不在的AI體驗
Chevelle.fu
17 個小時前
快訊
比瓶裝水更小的 NANGA 折疊傘,黑/銀兩色任選,時尚與實用兼具。
Gizmodo Japan
21 個小時前
開箱評測
不進帳篷也能開燈 5050workshop遙控露營燈 亮度無段調節、掛燈正下方不再「燈下黑」 強照明讓你在掛燈下看書
Zero圈圈
16 個小時前