river_20060417_1.gif
Source: River 連載漫畫 OL蔡桃桂 2006/04/17

如果妳也像我定期看 River 的作品,大概會注意到這幅爆笑的漫畫吧。課長頭上的所謂矩陣式二維條碼是 QRCode。最近在手機上讀行動條碼這件事情,在臺灣引起一陣使用熱潮。

QRCode 是由日本企業 Denso Wave 於 1994 年開發,原本的用意是為了可以快速讀取條碼內容,如同它原本的名字即是 Quick Response Code 的縮寫。最早的用途是用於追蹤汽車製造用的零件,後來被廣泛用到各種倉儲系統。你若注意你買的 3C 用品,會發現不少設備上都印上了 QRCode 或 Micro QRCode。QRCode 是日本應用最廣泛的二維條碼。

QR Code is open in the sense that the specification of QR Code is disclosed and that the patent right owned by Denso Wave is not exercised.

QRCode 受到大量採用的主要原因是它是開放標準。以上引用的文字就是 Denso Wave 在網站上所作的陳述。事實上,QRCode 已經是 AIMJEIDA 55、JIS X 0510、ISO/IEC 18004 等標準。你願意的話,可以隨時向這些標準單位取得一份規格書。而 Denso Wave 雖然持有 QRCode 的專利權,但不行使其權利,使的任何人都可以免費使用。這個策略,造就了 QRCode 於產業的普遍性,進而帶動整個產業發展,像是製碼軟體、讀碼用硬體掃描器與後端的倉儲軟體系統商都因此獲益。

QR Code Standardization
October, 1997 Approved as AIM International (Automatic Identification Manufacturers International) standard (ISS – QR Code)
March, 1998 Approved as JEIDA (Japanese Electronic Industry Development Association) standard (JEIDA-55)
January, 1999 Approved as JIS (Japanese Industrial Standards) standard (JIS X 0510)
June, 2000 Approved as ISO international standard (ISO/IEC18004)

Source: Denso Wave

若你還沒見過 QRCode,它看起來像是這樣的。

QRCode of my blog

上面這個條碼中包含的文字是 http://blog.nutsfactory.net/,如果你有可以讀二維條碼的手機,就可以直接連上我的 blog。我參考了 Alex KingWordPress Mobile Edition,如果是行動裝置連上我的 blog 時,會自動切換成另外一個簡易乾淨的模板。

  • samuel

    samuel_yu#21cn#com

  • Hi, Samuel
    容您廣告。但我想您說的是商業授權轉讓吧?:-)

  • samuel

    呵呵,谢谢CHIHCHUN;
    几年前学习 2D BARCODE 的时候自己写的,通过了验证;
    看看如果有人能用得上,也好;
    商業授權;

  • 我們對QR-Code的應用非常的看好,只是在短時間有些夢想可能沒法立即實現,但還是盡可能的為未來提供更多的小像,還希望大大們多多指教,未來的世界手機一定是重要的工具,他可以當成最前端的Code Reader,再搭配豐富的後端加值系統,可以讓未來的生活更簡便….^_^

  • zyuanlee

    英文的好像比较容易encode,但是对于中文和日文,总是存在乱码问题,有解决整个字体编码方面的朋友吗?

  • zyuanlee, 亂碼一向不是問題,只要你了解如何編解碼。;-)

  • 我是大陸的。
    非常欣賞,也非常崇拜,希望有機會能交流學習,msn:[email protected]

  • stranger

    It’s quite an intersting article although the idea has been around for quite sometimes. But the primary condition for this to be “popular”, the mobile devices must have some kind of internet connection, which is quite popular in Japan. Also the “redirected” website mostly need to have a wap edition of the website for the ease of use for mobile devices. Also, it would be nice for you mention about “security issues” related to this new product. In any case, this is quite an informative site. Thanks.

  • stranger,

    Most of new handset are supporting CHTML or HTML. 🙂

    Some vendoers like Nokia is developing rich web interface on handsets. The new browser are even supporting AJAX. 😉

  • asme

    老闆提到2d bar code的產品應用,找了許多,這篇真的很有料

    省去很多事前資料的準備,真是感謝!!

    thanks.

  • gemini

    板大您好,
    小弟最近再做有關二維條碼的報告
    拜讀這篇文章後
    覺得您寫的實在很棒!!
    因此想借用您的一些資料與圖片放在報告裡頭
    希望您不介意
    萬分感謝 : )

  • 嗨, Gemini
    請依照 Attribution-NonCommercial-ShareAlike 2.5 License 條款使用內文,如引用請註明作者為 Rex Tsai 並標示網址。:-)

  • SARS

    hi Rex,

    最近QR code的應用似乎安靜下來了…觀察QR code這一年多來在台灣的發展,我看指望國內電信業者放開胸懷,共同去發展這方面的應用大概就不必了,臺灣人使用手機的經驗和習慣跟日韓的發展有很大不同,我本來是十分看好這方面的發展的,甚至一度以為QR code將發動另一次的Mobile internet revolution…看來是過度樂觀了…

    讀你的blog已經有很長的時間的SARS

  • SARS,
    其實最近 QRCode 的應用更廣泛了,以前從來都不會在報紙雜誌或看板上看到 QRCode。現在我每天搭捷運都會看到。

    只是最近特別忙,完全沒有時間更新報告目前的發展進度。有空會多貼些資料的。:D

  • BlueWhisper

    本來在向古狗大神討教embedded linux相關技術的

    爬到jollen.org 爬到OpenMoKo…

    最後結果跑到這邊不但把文章爬完還encode了自己blog的QRCode…

    只是怎麼找也找不到for Sharp WX-T81的decoder…
    (新出的WX-T82就有 哇哩咧XXX)

    如果國內只是一直推應用而沒想到user端的困擾

    終究也只是雷聲大雨點小

    回過頭來 發現embedded的未來真是光明啊!!

    套一句OpenMoKo的口號!

    Free your phone…

  • @BlueWhisper: 「如果國內只是一直推應用而沒想到user端的困擾」 這句話真是矛盾啊。你要如何推應用又不被這些用戶端的抗議干擾呢?

    套一句手機商的口號,就是「嘿,你該換新手機來使用新服務了。」

    (話說你的推論真是一點邏輯都沒呢。)

  • yuc3697

    QuickMark的二維條碼軟體已經出到第3.5版啦,多加了可轉寄地理條碼的功能喔,所謂地理條碼就是可秀出有經緯度的條碼啦,有興趣的大大們,可以到金揚資訊的網站看看喔. http://www.quickmark.com.tw

  • viviann

    在你這裡收獲許多,謝謝你~^^
    最近開始接觸QR code,才深知這個領域的浩瀚
    對於不是資訊人的我還真的有點吃力~
    不過沒關係,我會努力滴~

  • @viviann 不客氣,很高興認識妳。

  • 二维码的诞生解决了一维条码不能解决的问题,它能够在横向和纵向两个方位同时表达信息,不仅能在很小的面积内表达大量的信息,而且能够表达汉字和存储图像二维码的出现拓展了条码的应用领域,因此被许多不同的行业所采用。

  • 大陆一个重量级的二维码解决方案提供商 银河传媒 中国移动二维码
    http://www.gmedia.cn

  • 心有灵犀鬼才心

    我们正在开发中国汉信码和QRCode.有合作机会加我,msn:[email protected]
    北京。

  • Scharlar

    Dear Rex,

    This is Scharlar,also the first time to surf your blog.
    I am a layman about 2D barcode stuff.
    You are quite knowledgeable about 2D barcode.So would you please help me to answer the following question:

    1.Does 2D barcode decoder need to do very “accurate” image skew angle correction/ “keystone effect” correction in order to get decoding job well done? What is the minimum image quality requirement?

    Appreciate your reply in advance.

    Best regards,
    Scharlar Hsu

  • @Scharlar, on mobile phone, Yes. You can have good feature extraction algorithms at least. Angle correction would be nice to have functions, since most of these algorithms are trial and error methods.

    Also, the minimum image resolution depends on which bar code you want to read, and what size is. Large bar code required high resolution to recognized the `modules’. One module required at least one or two pixels to read.

  • Scharlar

    Dear Rex,

    Thank you very much for your reply.

    Currently I am developing proprietary 2D barcode encoder/decoder. My barcode pattern is 280×280 pixels,and using RS(232,116) as ECC. I do not apply so called “module” to construct barcode image. I use 8-bit/symbol to represent the message,each bit consists of 8×4 pixels,and serializing the bit-pattern over the image area to convey the codeword.
    During simulation, my algorithm can resolve the image re-sizing / skew angle correction issue,and perfectly decode the messages without any “bit-alignment” mechanism.

    But in real case, the barcode image always got some “2D- keystone” effect problem, and the above algorithms do not work under such condition. If I try to resolve the “2D-keystone” effect issue, it will consume too much computation power, I do not think current working 2D barcode decoders have spend too much effort on image correction(???)

    Personally, I think my problem is on “bit-alignment” issue.

    I think current working 2D barcode decoders also need to deal with the “module-alignment” issue. How have they overcome such issue(smartly) without too much image correction effort??

    Would you please advise me one way to settle my problem?

    Looking forward to getting your help(advice).

    I apologize if I have bothered you so much.

    Thanks again!

    Best regards,
    Scharlar Hsu

  • @Scharlar, You know that you are asking the key element for implementing a barcode reader ? 😉

    I understand your question, and I also know some barcode reader do solving the problem by having image correction in the problem. The key is how to optimize the computing cost of the algorithms. Traditional solutions for PC might not work, since it takes too much computering power. You may try to `guess’ the right angle by projecting the module/bit without changing the bit ordering.

    It’s a matter of time for finding the best solution, I wish you good luck. 🙂

  • Scharlar

    Dear Rex,

    Thanks for your advice.

    Best regards,
    Scharlar Hsu

  • SARS

    hi Rex,

    依你看QR code在台灣最有可能Boomimg的時間點會是什麼時候?什麼樣的應用會最容易普及?這個問題很難吧….^^

    我的msn:[email protected] 請加我

  • Jerry

    Dear Rex,

    請問用C語言實做qrcode decode 的問題…

    問題一:
    假設Version1 DataModule 208個點已經解出來( unsigned char DataModlue[208]; ),這208個點其中有48個點是用來存Data,(208-48=160)個點用來做Error correction,程式要怎麼寫,才能運用這160點,把正確的Data 回覆?

    我依稀記的國外有人寫出C-code的解Reed Solomon的程式,如果您知道,或手邊有sample code,可否不吝告知,小弟感激不盡 jerry.eic93g#nctu#edu#tw

    問題二:
    DataMaskPattern(for QRCode symbol) 111 的condition spec寫((i+j)mode2+(ij)mode3)mode2 ? 但Figure21卻寫((ij)mode2+(ij)mode3)mode2 ,哪一個才正確?

  • Hi, Jerry
    1. 文章裡面有提到 open source library, 歡迎參考。
    2. 不確定你講是哪一份規格? ISO 18004 ?

  • Dan

    日本有所謂新一代的ColorCode出現 號稱將取代 QR Code.(參考 http://www.colorzip.co.jp/en/
    您的看法如何?

  • Jason

    你好:最近在看QR那方面的资料,准备把它当成毕设来做,但是查了好久都没找到ISO 18004。
    不知道你能否传一份给我,谢谢。
    email:[email protected] 或者 [email protected]

  • @Jason ISO 18004 是 ISO 文件,必須購買後才能使用,電子文件上都有浮水印,也不好直接給你。

    若不想購買定價 CHF 200 的 ISO/IEC18004 – Information technology — Automatic identification and data capture techniques — Bar code symbology — QR Code,可以改為購買 中華人民共和國國家標準 GB/T18284-2000《快速響應矩陣碼》,定價只要人民幣 33 元。

  • @Dan ColorZip 不是新技術。ColorZip 其實是 2000 年時,由韓國延慶大學的團隊所開發,並於當年四月商品化成立 ColorZip Media 公司。並於 2004 年技術授權到日本的 ColorZip Japan Inc.

    ColorZip 的優點是以彩色矩陣組成,相較於傳統二維條碼於行銷上較容易引起人注意。缺點是印刷較為困難、且該條碼格式資料含量相當小,無法提供足夠的資訊,且於日本、韓國,皆無出廠即可譯碼的裝置。ColorZip 推展其實非常不順利。

  • Dan

    謝謝您關於ColorCode的高見!
    我最近和日本ColorZip有所接觸。請問可以用email和您聯係嗎?您的email是?

  • http://www.qrdoor.com.tw 這個網站也有很多QR code的介紹及應用.已經可以線上做出彩色套圖的QR CODE,還滿不錯的.也有免費的QR CODE API供其他網站直接呼叫使用. 也可以分享QR code及製作專屬部落格貼紙.好像都免費的.

  • well

    請問一般門市店面(例如便利超商)常用的掃描機能讀 QR code嗎?

  • 牽涉到讀碼機的規格,一般的條碼掃描機都只支援 1D Barcode.

  • 想請問一下QRCODE中的錯誤控制是如果實做的呢??我大概知道有bch與rs但不太了解如何控制的~想請大大知道的話指點一下~謝謝

  • 不太確定您想問的問題是甚麽?是想問 Reed Solomon 的算法?還是 codewords 的編譯?

    http://en.wikipedia.org/wiki/Reed–Solomon_error_correction

  • 因為最近有看他的產生方式但有一部份錯誤控制那邊有點不懂~不知道可不可以跟你私下討論一下呢~謝謝

  • Jason, 我發了一封信給你,你可以透過該電子郵件跟我聯絡。謝謝

  • Alio

    您好,小弟最近調查mobile ticketing的資料時有幸拜讀您的Blog
    想請教您 對QR code作為實際商業交易的媒介有什麼看法(作為認證用的票卷ex:車票,機票)?
    因為小弟在Google 上有找到國外很多相關的應用
    但是卻鮮少提到如何驗證的機制
    不知您可否提供一些意見 謝謝您