便携式助读器的设计与实现
2011-07-26张庆宾陶智仁赵文斐
张庆宾 陶智仁 赵文斐
(山东大学控制科学与工程学院,山东 济南 250061)
0 引言
当前,我们正生活在一个信息爆炸的时代,每个人都时刻接受着海量的信息,然而盲人、眼疾患者等却连基本接收信息的途径(如读书看报)都无法保证。中国是世界上盲人最多的国家,全国约有500万盲人,占全世界盲人总人口的18%,弱视力者更是不计其数。基于ARM9的便携式助读器能够轻松方便地帮助他们“读书看报”。此外,该助读器还能扫描存储,实现速录功能。ARM9处理器速度快、效率高,字库芯片容量大、价格低,系统体积小、操作简单。因此,基于ARM9的助读器拥有庞大的市场和广泛的应用前景。
1 系统原理及硬件设计
基于嵌入式操作系统的便携式助读器以ARM9为核心,经过OV6620扫描成像,由SYN6288发音。同时,系统还可与PC机通过USB进行通信,实现阅读和速录功能。
1.1 系统原理
助读器利用广阔视角的扫描头,将图书或报纸上的纸版文字信息扫描输出到ARM核心系统中,高速的ARM处理速度使扫描到的图片点阵信息与字库芯片中存放的字符一一对比,直到匹配正确(达到一定的重合率,如90%以上)。助读器在阅读模式下,处理器将匹配字符的GB_2312码通过UART口输出到语音芯片SYN6288,SYN6288可以清晰准确地把字符朗诵出来,实现助读功能;在速录模式下,处理器则将该字符的GB_2312码存放到扩展的存储器中,方便快捷地实现速录、存储功能。助读器原理如图1所示。
图1 助读器原理图Fig.1 Principle of the reading helper
1.2 系统硬件设计
根据便携式助读器的功能要求,硬件层主要由扫描部分、核心处理部分、发音部分和存储部分组成。此外,为了助读器使用方便以及能够实现与外部通信,系统增添了一些外部扩展接口。
系统硬件总体结构如图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 存储模块
目前,大部分速录笔、扫描笔等电子产品对信息的存储都是图片格式的点阵信息。由于图片的信息量非常大,对存储图片的容量要求也非常高,因此,存储空间大、效率低。该便携式助读器存储的并不是图片信息,而是字符的国标码,这大大节省了存储空间,提高了工作效率。
2 软件设计
目前,大部分扫描设备都是基于操作系统(WinCE、Linux等)。鉴于WinCE系统本身具有价格高、源代码不开放、不利于剪裁和维护等缺点,且基于WinCE的光学字符识别(optical character recognition,OCR)软件在Linux上的剪裁移植相对麻烦[1],本文提出采用ARM+字库芯片的方案,大大简化了软件编程,降低了系统成本,而且使用方便,符合该便携式助读器的设计理念。
2.1 图像处理
OV6620扫描图像为352×288像素,对于单个字符可以采用16×16像素输出。将输出信息与字库芯片内存中逐个字符信息进行匹配,达到一定符合率时输出该字符国标码。
以下是扫描头采样的部分程序。
2.2 I2C 通信
与摄像头通信时需要用采用I2C通信。IIC_PROTCOL.C是I2C协议文件,包括I2C底层协议函数。以下是部分I2C通信的底层协议程序。
3 结束语
基于嵌入式操作系统的便携式助读器,实现了对纸质文本的获取、识别与存储,且字符播音清晰、自然、准确。该助读器具有智能的文本分析处理算法,可以正确识别数值、号码、时间、日期及常用的度量衡符号,具备很强的多音字处理和中文姓氏处理能力,支持多种文本控制标记,提升了文本处理的正确率。助读器是基于嵌入式操作系统来完成的,在文本信息到声音信息转换的过程中,没有计算机的参与,方便快捷,这为盲人、眼疾患者等弱视力群体阅读图书报纸提供了极大的方便。同时,文中介绍的硬件及软件设计对嵌入式开发应用提供了借鉴和参考。
[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.