摘 要:介紹一種隱形二維碼技術,將其應用于兒童讀物,在不影響紙張視覺效果的前提下,可讀出紙張中每一個位置隱藏的二維碼數據,并根據所獲數據播放相應的聲音,從而實現圖、文、聲并茂。但由于普通二維碼都具有明顯的尋邊特征,因此將影響視覺效果。在此提出一種更簡單的、可用于該技術的矩陣碼,并闡明它的隱形及定位方法,以及一種可應用的低成本實現方案。經實踐驗證,效果良好。
關鍵詞:隱形二維碼;矩陣碼;兒童讀物;尋邊特征
中圖分類號:TP391文獻標識碼:A
文章編號:1004-373X(2010)04-029-03
Application of Invisible Two-dimensional Code in Children′s Books
SHAO Yanqiu
(Anshun College,Anshun,561000,China)
Abstract:An application of invisible two-dimensional code is introduced,which is used in children′s books.The matrix code is hidden on paper and can not weaken the visual effects of publications.Sound is displayed according to the data detected contained in the matrix code that distributed on the paper.However,the traditional two-dimensional code has distinct finder pattern,which can affect the visual effects.This paper mainly introduces a kind of invisible code,illuminates its orientation principle and proposes a kind of low cost,applicable framework of its application.
Keywords:invisible two-dimensional code;matrix code;children′s books;finder pattern
0 引 言
隨著人們對信息密度要求的提高,二維碼技術在各個領域已逐步得到應用,主要有PDF417碼、Code49碼、Code 16K碼、Data Matrix碼、MaxiCode碼等,大體分為層排式和矩陣式兩大類[1]。
二維條碼具有龐大的信息攜帶量,能夠把過去使用一維條碼時存儲于后臺數據庫中的信息全部包含在條碼中,可直接通過閱讀條碼得到相應的信息,并且二維條碼還有錯誤修正技術及加密防偽功能,增加了數據的安全性[1]。
與其他類型的編碼一樣,二維條形碼也有許多不同碼制。從原理上主要分為:線性堆疊式二維碼、矩陣式二維碼、郵政碼。常用的碼制有:Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K等,目前,Data Matrix應用廣泛,如Intel的奔騰處理器的背面就印制了這種碼[2]。
在Data Matrix編碼中,采用一定灰度差的明暗相間的等距區域來表示信息的內容,因此要專門開辟空間印刷二維條碼。但它很容易被復制。從保密性、美觀性的需要出發,人們發明了隱形二維碼,主要有覆蓋式隱形二維碼和光學隱形二維碼,而在包裝及印刷行業較多采用覆蓋式隱形碼。
1 編碼方法
圖1是一種覆蓋式隱形矩陣式子二維碼的應用示例,在“黃色”字符區域內,覆蓋的是按圖2(a)類型分布的點陣二維碼,而“yellow”字符區域則被圖2(b)類型的點陣二維碼所覆蓋。這些不同的二維編碼單元以較小的視覺對比度密集的印刷在紙張的各個應用區,當掃讀器掃描到某個二維碼后,經過譯碼過程獲得該單元的序列號,再播放對應編號的聲音文件。由于編碼單元與紙張背景的視覺對比度較小,因此人眼很難看到背景下隱藏的碼元,從而實現隱形。
圖1 覆蓋式隱形二維碼
圖2 隱形二維碼點陣圖示例
在通用的Data Matrix二維碼中,每一個相同大小的黑色或白色方格稱為一個數據單位。Data Matrix符號就是由許多改類型的數據單位組成(見圖3)。尋邊區用于定位和定義數據單位大小,而不含有任何編碼信息,被尋邊區包圍的數據區包含著編碼信息[3](見圖4)。在數據區內,Data Matrix的黑白兩色小方格表示數據0和1。
圖3 Data Matrix 符號說明
圖4 Data Matrix尋邊區與數據區
從圖4可以看出,該類Data Matrix二維碼有明顯的尋邊區,而且形狀規則。如果采用該型編碼覆蓋于紙張上,將會出現明顯的背景花紋,影響閱讀效果,因此兒童讀物上采用的二維檢碼不能有明顯的尋邊特征。所以不適宜采用這種Data Matrix碼。
有人提出采用如下方式實現,在編碼過程加入特定算法,使從任意方向的掃描,只有一種數據結果符合編碼規范,而這個結果就是所需要的編碼。但這樣做將使編碼的復雜程度增加,同時增加了掃讀器的譯碼時間,降低效率,同時大大減小了碼的信息容量,如圖5所示。
這里采用了一種簡單的定位方法,取棋盤中的8個點作為定位基準,亦即已包含了“方位叢”信息的一個模組。該基準為掃瞄器提供重要的方位資訊,同時實現了定位基準的“隱身”。定位基準符之外的其他位元分散在基準符的周圍,作為主要信息碼。當掃讀器識別到一個二維碼時,首先確定其定位基準,然后根據周圍黑白點位的分布,正確的識讀出二維碼包含的數據[4]。
圖6是該隱形碼采用的定位基準。不對稱的斜十字架結構確定了惟一的方位信息。但為避免在同一個二維碼中出現兩個“方位叢”,必須適當降低二維碼的信息密度,同時為了保證信息識讀的正確性和可靠性,需要加入驗證位元和冗余碼[5]。由于在一本兒童讀物中,所需的代碼一般在1 000個以下,而多本兒童讀物可在每本的封面加入讀本識別碼,因此這類隱形二維矩陣碼可以出色地完成任務。
圖5 一種矩陣碼圖
圖6 “方位叢”示例
2 系統結構及工作原理
該隱形碼的讀取通過光學掃描裝置完成,如圖7所示,當掃讀器獲得矩陣碼后,按照矩陣碼位置的分布,將其轉換成一串二進制代碼[6]。掃讀器由高性能攝像頭、控制器、圖像處理器組成。
圖7 兒童讀物二維碼掃讀器實現框圖
2.1 整體原理
當移動掃讀器(掃描筆)時,掃描器將獲得一個個移動的圖像,當掃描筆放在某個代碼區位時,圖像處理器將獲得至少包含一個完整二維碼的圖像區,同時可根據二維碼圖的穩定時間來判斷使用者是否已選擇特定目標。如果是,圖像處理器將進行譯碼,經過譯碼過程得到序列號之后,控制器將調用外存中對應的聲音文件,從而實現多媒體閱讀的功能[7]。
2.2 圖像掃描
采用CCD掃描器作為圖像采集設備,它利用光電藕合原理,可對二維條碼圖案進行成像,然后再通過圖像處理器以抑制噪聲,由于該隱形碼點陣與紙張背景的視覺對比度較小,因此在判定使用者選定目標后,圖像處理器必須識別并放大點陣與背景的對比度信息,然后再進行下一步的譯碼過程。該掃描過程無機械旋轉部件,適合體積較小的手持掃讀器使用,同時可有效地提高使用壽命。
CCD的成像原理類似于照相機,因此景深的處理至關重要。如果要加大景深,則要相應地加大透鏡,從而使CCD體積過大,不適用于掃讀器。因此要設法提高CCD的分辨率,即增加成像光敏元件的單位元素。選擇高分辨率的CCD能夠解決這個問題,從而準確地別出隱藏的二維碼。
2.3 語音電路
在本文的音頻處理電路中,沒有采用專用的語音處理芯片,也無需專門的擴寬接口電路,只需要控制器配合外圍功能部件(如D/A、存儲器等),就能完成數字化信號的語音處理,在幾乎不增加硬件成本的情況下實現語音處理功能。其基本思想是由控制器將數據從外存中讀出,然后通過數模轉換器D/A 轉換成模擬信號,經放大后在揚聲器上輸出語音[8,9]。
音頻電路子系統結構框圖如圖8所示。
圖8 音頻電路系統框圖
3 結 語
本文介紹一種實際應用于多媒體兒童讀物的隱形二維碼,并介紹了具體的編碼過程和掃讀取的實現原理。在實際應用中,需要對二維碼進行容錯糾錯處理以滿足產品的可靠性要求[10]。在軟件階段也需要考慮軟件與硬件的配合,滿足抗干擾、避免誤動作等方面的要求。該技術已經被應用于兒童出版物中,經實踐檢驗效果令人滿意。
參考文獻
[1]胡俊翹,葉蘇丹.一種高信息密度的二維碼矩陣碼的技術及應用[J].計算機工程,1995,21(4):46-48.
[2]唐莉,劉富強,錢黎強.Data Matrix二維碼圖像處理與應用[J].電子技術應用,2004(3):6-8.
[3]胡曉崠,何加銘.Data Matrix碼識別技術研究[J].杭州電子科技大學學報,2008,28(5):124-126.
[4]余強,裴頌文.基于圓檢測的二維條碼定位方法[J].計算機應用與軟件,2008,25(12):109-111,155.
[5]付彬,馮宇梁.基于邊沿檢測的Maxicode邊界定位算法[J].計算機工程,2006,32(10):196-197.
[6]陳媛媛,施鵬飛.二維條形碼的識別及應用[J].測控技術,2006,25(12):17-19.
[7]趙慶陽.三維激光掃描儀數據采集系統研制[D].西安:西安科技大學,2008.
[8]Douglas R Frey.Chaotic Digital Encoding:An Approach to Secure Communication[J].IEEE Trans.on CAS Ⅱ,1993,40(10):660-666.
[9]王大方,殷小貢.數字語音處理軟件及其接口電路設計[J].電訊技術,2003,43(2):84-86.
[10]譚進懷.語音報數示波器控制電路的設計與實現[J].國外電子測量技術,2007,26(12):34-37.