張慶賓 陶智仁 趙文斐
(山東大學控制科學與工程學院,山東 濟南 250061)
當前,我們正生活在一個信息爆炸的時代,每個人都時刻接受著海量的信息,然而盲人、眼疾患者等卻連基本接收信息的途徑(如讀書看報)都無法保證。中國是世界上盲人最多的國家,全國約有500萬盲人,占全世界盲人總人口的18%,弱視力者更是不計其數。基于ARM9的便攜式助讀器能夠輕松方便地幫助他們“讀書看報”。此外,該助讀器還能掃描存儲,實現速錄功能。ARM9處理器速度快、效率高,字庫芯片容量大、價格低,系統體積小、操作簡單。因此,基于ARM9的助讀器擁有龐大的市場和廣泛的應用前景。
基于嵌入式操作系統的便攜式助讀器以ARM9為核心,經過OV6620掃描成像,由SYN6288發音。同時,系統還可與PC機通過USB進行通信,實現閱讀和速錄功能。
助讀器利用廣闊視角的掃描頭,將圖書或報紙上的紙版文字信息掃描輸出到ARM核心系統中,高速的ARM處理速度使掃描到的圖片點陣信息與字庫芯片中存放的字符一一對比,直到匹配正確(達到一定的重合率,如90%以上)。助讀器在閱讀模式下,處理器將匹配字符的GB_2312碼通過UART口輸出到語音芯片SYN6288,SYN6288可以清晰準確地把字符朗誦出來,實現助讀功能;在速錄模式下,處理器則將該字符的GB_2312碼存放到擴展的存儲器中,方便快捷地實現速錄、存儲功能。助讀器原理如圖1所示。

圖1 助讀器原理圖Fig.1 Principle of the reading helper
根據便攜式助讀器的功能要求,硬件層主要由掃描部分、核心處理部分、發音部分和存儲部分組成。此外,為了助讀器使用方便以及能夠實現與外部通信,系統增添了一些外部擴展接口。
系統硬件總體結構如圖2所示。

圖2 系統總體結構圖Fig.2 Overall structure of the system
1.2.1 掃描模塊
根據掃描原理,當掃描頭進行圖像掃描時,光線從物體上反射回來,通過透鏡射進電荷耦合器件(chargecoupled device,CCD),CCD圖像傳感器根據反射光線強弱的不同轉換成不同大小的電流,再由模數轉換器(analog-to-digital converter,ADC)將模擬電信號轉換為數字信號,即產生一行圖像數據[5],再通過逐行的掃入,最終完成全文圖像的掃描。
1.2.2 處理模塊
在處理過程中,以ARM 9單片機為核心,字庫芯片中的字符為對照表,ARM以其極高的運行速度將掃描頭掃描到的圖片點陣信息與字庫芯片中的字符相匹配[2],最終找到所掃描到的文字信息的國標編碼,然后根據不同的模式將國標碼發送到語音芯片或是存儲到擴展的存儲器中。
1.2.3 發音模塊
語音芯片SYN6288能夠將國標碼(支持多種編碼)轉換成為聲音形式[8]。助讀器將掃描到的文字信息的GB_2312碼通過ARM的UART串行口發送到語音芯片SYN6288,經過外圍電路處理,就能夠輸出清晰、自然、準確的聲音信號。為了不影響他人,系統還提供了耳機接口。
1.2.4 存儲模塊
目前,大部分速錄筆、掃描筆等電子產品對信息的存儲都是圖片格式的點陣信息。由于圖片的信息量非常大,對存儲圖片的容量要求也非常高,因此,存儲空間大、效率低。該便攜式助讀器存儲的并不是圖片信息,而是字符的國標碼,這大大節省了存儲空間,提高了工作效率。
目前,大部分掃描設備都是基于操作系統(WinCE、Linux等)。鑒于WinCE系統本身具有價格高、源代碼不開放、不利于剪裁和維護等缺點,且基于WinCE的光學字符識別(optical character recognition,OCR)軟件在Linux上的剪裁移植相對麻煩[1],本文提出采用ARM+字庫芯片的方案,大大簡化了軟件編程,降低了系統成本,而且使用方便,符合該便攜式助讀器的設計理念。
OV6620掃描圖像為352×288像素,對于單個字符可以采用16×16像素輸出。將輸出信息與字庫芯片內存中逐個字符信息進行匹配,達到一定符合率時輸出該字符國標碼。
以下是掃描頭采樣的部分程序。

與攝像頭通信時需要用采用I2C通信。IIC_PROTCOL.C是I2C協議文件,包括I2C底層協議函數。以下是部分I2C通信的底層協議程序。

基于嵌入式操作系統的便攜式助讀器,實現了對紙質文本的獲取、識別與存儲,且字符播音清晰、自然、準確。該助讀器具有智能的文本分析處理算法,可以正確識別數值、號碼、時間、日期及常用的度量衡符號,具備很強的多音字處理和中文姓氏處理能力,支持多種文本控制標記,提升了文本處理的正確率。助讀器是基于嵌入式操作系統來完成的,在文本信息到聲音信息轉換的過程中,沒有計算機的參與,方便快捷,這為盲人、眼疾患者等弱視力群體閱讀圖書報紙提供了極大的方便。同時,文中介紹的硬件及軟件設計對嵌入式開發應用提供了借鑒和參考。
[1]鄒思軼.嵌入式Linux設計與應用[M].北京:清華大學出版社,2002:3-12.
[2]馬忠梅.ARM嵌入式處理器結構與應用基礎[M].北京:北京航空航天大學出社,2002:73-81.
[3]李蕊.基于嵌入式Linux的網絡攝像系統研究和實現[D].天津:天津大學,2006.
[4]彭建,崔更申.基于嵌入式的無線條碼掃描儀系統的設計[J].計算機測量與控制,2009,17(7):1415 -1417.
[5]何斌,馬天予.數字圖像處理[M].北京:人民郵電出版社,2001:313-316.
[6]趙亮,侯國銳.單片機C語言編程與實例[M].北京:人民郵電出版社,2003.
[7]王田苗.嵌入式系統設計與實例開發[M].北京:清華大學出版社,2002.
[8]張雄偉.現代語音處理技術及應用[M].北京:機械工業出版社,2003:112-116.