视频字符叠加技术在图书流通管理中的应用研究
胡弢1, 王国柱2, 魏涛1, 徐海军1
1.泰山医学院图书馆 泰安 271000
2.泰山医学院放射学院 泰安 271000
摘要

针对逐渐增多的图书借阅纠纷,介绍一种以STC12C4052和MAX7456为核心的视频字符叠加系统;该系统在图书成功借还之后,提取图书借阅信息,实时叠加到监控视频信号中。在图书流通环境中对系统进行测试,系统工作稳定可靠,通过监控录像提供的信息可有效解决图书借阅中出现的纠纷。

关键词: 视频字符叠加; MAX7456; 图书流通
Study on Application of On-screen Display in Book Circulation Management
Hu Tao1, Wang Guozhu2, Wei Tao1, Xu Haijun1
1.Library of Taishan Medical University, Taian 271000, China
2.Radiological College, Taishan Medical University, Taian 271000, China
Abstract

Aiming at the increasing of disputes in books borrowing, this paper introduces an on-screen display system based on STC12C4052 and MAX7456. After borrowing process, this system extracts information from borrowing log, adding the information to surveillance video signals. This circuit is applied, the result shows that this system is credible and stable,and it can provide information to resolve the disputes in the best way.

Keyword: On-screen display; MAX7456; Books; circulation
1 引 言

近年来,随着电子技术的发展,视频监控系统逐渐普及,在安防、银行、超市发挥出巨大的作用[ 1],部分图书馆将其应用到日常工作中,对检索大厅、走廊、存包处、阅览区等区域,以及出入馆人员及书库实施监控[ 2, 3],在防盗和监控方面发挥了很大作用。随着高校在校生数量和馆藏图书数量的迅速增加,图书流通数量增长迅速,流通过程中出现的纠纷也逐渐增多。大部分由借书或还书问题引发的纠纷具有延时发生的特点,通常读者到图书馆还书或再次借书时才发现,由于间隔时间长,仅通过流通日志很难准确还原事情发生的具体过程,如果同时使用视频监控记录日常借阅过程,发生纠纷时回放录像并结合流通日志对当时的情况进行分析,查找线索,解决纠纷相对容易一些。

针对监控录像和流通日志两个独立系统在应用中存在的不足,本文提出一个改进方案:利用视频字符叠加技术,将借书证号、图书条码实时叠加到视频中,随视频一起记录,可提供更加准确、详细、有效的信息。

2 相关研究
2.1 图书流通过程中存在的问题及解决方案

目前,流通过程中主要存在以下容易引起纠纷的问题[ 4, 5, 6]:由于条形码老化和扫描器识别错误引起的借阅数据与实际借还图书信息不符;操作人员疏忽,引起图书漏借、漏还;将后一个读者的书借到了前一个读者的借阅证上;将“还书”误操作为“续借”;极个别人冒用他人借阅证借阅大量图书不予归还等。

针对上述问题,目前常用的处理方法如下:

(1)如果读者无法将其名下的图书归还,一般先在书库中查找,如果找到则删除错误的借阅记录,如果无法找到,通常由读者承担图书丢失赔偿责任[ 6];

(2)因“漏借”引起的图书在读者手中、但是无借阅信息的问题,只能等读者自觉归还[ 4];

(3)问题条码事后及时更换,并在条码上面再贴一层透明胶带,起到保护作用[ 4, 5];

(4)加强岗位培训,增强工作的人员责任心,完善管理制度,减少错误率[ 4, 5, 6];

(5)增加读者显示屏或者打印借阅清单,让读者有据可查[ 4]

其中,第(3)、(4)种方法属于事后补救的措施,对解决纠纷帮助不大。第(1)种方法在处理问题时读者始终处于弱势一方,如果图书无法找到或者不能提供有效的证据,无论是否有过错都要承担赔偿责任。第(2)种情况图书馆通常是最终受害者。第(5)种方法有一定效果,主要靠读者自觉,读者有损失时一般会主动提出,在占便宜时往往不作声。目前检索到的参考文献中,对如何客观、有效地确定各方的责任,如何查找图书去向等问题未作更深入论述。

笔者在工作中常用的处理方法是:

(1)流通部工作人员负责在书库中查找纠纷图书是否在库;

(2)立即调取当时的流通日志,对借阅的过程进行分析,探寻事件发生过程;

(3)如果有监控录像,调取录像,对借阅过程进行回放,查找线索。

经过一段时间应用,发现监控录像和流通日志两种记录形式各有利弊:前者能完整记录事情发生的整个过程,但从视频中较难分辨细节内容,例如:借书证号和图书条码等;后者能很好地记录流通中的关键信息,但是与周围环境联系性不强。这两种记录只能通过时间点相互联系,如果时间不同步或者借阅记录间隔时间较短,查找起来非常不便,还容易出错。针对以上问题,本文提出改进方案:应用视频字符叠加技术把读者借书证号、图书条码、借还类型等信息实时叠加到视频中,随视频一起记录,将两个系统的数据有效整合到一起。

2.2 视频字符叠加技术介绍

视频字符叠加是OSD(On-Screen Display)技术的一种应用,其核心是字符发生电路生成字符点阵,在显示器屏幕的指定位置显示相应的信息。目前我国最常用的视频信号格式为PAL格式,PAL格式的信号在行同步和场同步信号的控制下逐点通过50Hz的隔行扫描形成显示图像,屏幕上的图像、字符信息通常以点阵的形式存在[ 7]。字符叠加时首先通过同步分离器分离行同步信号和场同步信号,然后将字符点阵信息与输入视频信号相应点的信号进行混合,字符信息在指定位置上与图像信号同时显示[ 8],整个叠加过程的原理[ 9, 10]图1所示:

图1 字符叠加原理

常见的视频字符叠加的实现方法有以下几种:

(1)采用逻辑门、计数器、移位寄存器等通用中小规模集成电路芯片实现的方案[ 11],这种电路结构复杂,功能单一,在早期的设计中比较常见,目前基本被淘汰;

(2)基于CPLD (Complex Programmable Logic Device)或者FPGA (Field-Programmable Gate Array)芯片的方案,此类设计系统功能强,响应速度快,可实现多种复杂的叠加效果[ 12],但是前期开发工作量大,一般用于大型专用系统,例如:武器的专用瞄准具[ 13, 14]等;

(3)使用商品化的字符叠加控制芯片,根据控制总线上输入的指令完成字符叠加[ 15, 16],此方案简单可靠,价格便宜,适合民用、通用系统使用。

本文采用第(3)种方案,通过MAX7456芯片实现视频字符叠加,大大地简化了硬件结构,降低了设计难度。

3 硬件设计方案
3.1 系统构成

本系统由微控制器STC12C4052和视频字符显示芯片MAX7456组成。MAX7456芯片集成度很高,仅需普通的微控制器(Micro Controller Unit,MCU)发送相应控制指令,就能实现字符叠加,相比MB90092等芯片[ 10, 11, 16],此方案系统复杂度最低。系统的硬件结构如图2所示:

图2 系统硬件结构

操作台电脑通过RS232串行接口与微控制器通信,微控制器接到叠加指令后通过SPI(Serial Peripheral Interface)总线控制MAX7456完成字符叠加操作。摄像头输出的模拟视频信号经过MAX7456芯片的处理后,输出带字符信息的视频信号,最后保存到硬盘录像机中。

3.2 字符叠加及控制电路设计

字符叠加电路的核心芯片采用MAX7456,它是MAXIM公司推出的一款专用单通道、单色随屏显示发生器[ 9]。该器件集成了外部视频驱动器、同步分离器、视频开关以及EEPROM,同时还内置了符合NTSC和PAL制式的256个用户可编程字符。只需外接一只27MHz晶振和少量阻容元件,就可组成一个基本的视频字符叠加系统。MAX7456显示字符大小为12×18像素,用户可以通过SPI接口设置字符存储器中的内容,每个像素点可以设置成为白色、黑色或者透明。

单片机采用STC12C4052,这是一款增强型的8051单片机,采用1T指令集,使用相同速度晶振的情况下运行速度是普通的8051单片机的8-10倍,片内有1K的用户可编程Flash空间,芯片自带硬件SPI通信端口,可以通过SPI控制指令与MAX7456之间实现高速数据交换[ 17]

本系统的主要硬件电路如图3所示:

图3 系统主要硬件电路图

J1为DB9串行接口,与操作台电脑(上位机)的串口连接。上位机发出的信息通过接口J1利用U1电平转换芯片MAX232输入到U3单片机STC12C4052,单片机将数据解码后通过P1.7、P1.6、P1.5、P1.4四根信号线组成的SPI接口发送给U2字符叠加处理芯片MAX7456;从P2端子输入的视频信号,经过MAX7456处理后,带有叠加信息的视频信号从P1端子输出,输入硬盘录像机。

4 软件设计方案

本字符叠加系统的软件涉及两部分:单片机(下位机)的程序,使用Keil C编写,主要完成对MAX7456芯片的初始化,接收操作台电脑(上位机)发送的控制信息,控制MAX7456完成字符叠加操作;操作台电脑(上位机)的程序,使用VB6.0编写,这部分程序主要获取读者的借书证号、借阅图书的条形码和借还操作状态。

4.1 上位机软件设计方案

泰山医学院图书馆目前使用的图书馆自动化软件为金盘图书馆集成管理系统GDLIS XP,软件版本为3.0.34,系统为C/S结构,使用Microsoft SQL Server 2000数据库,通过串口接口的“三九一卡通”读卡器采集读者借阅证号码,通过PS2键盘接口的扫描枪读取图书条形码。由于GDLIS XP软件中没有提供可实时输出流通过程中读者信息和图书信息的接口函数,本软件使用键盘钩子函数捕获扫描枪输入的字符串[ 18],然后对输入的字符进行识别,遇到借还操作的特征字符串时,读取流通日志,从中提取流通信息。GDLIS XP系统流通日志的主要信息如表1所示:

表1 流通日志主要信息

本系统用到的数据有操作类型、条形码、读者条码和处理时间。数据采集的具体实现算法及关键代码如下:

(1)使用SQL指令获取服务器时间,将客户机时间与服务器时间同步,关键代码如下:

Private Sub InitTime()

……

‘通过SQL服务器获取服务器时间信息

ADORS.Open "Select GetDate() as date", ADOCN, adOpenKeyset, adLockReadOnly

MyTime.wYear = Year(ADORS(0))

MyTime.wMonth = Month(ADORS(0))

MyTime.wDay = Day(ADORS(0))

MyTime.wHour = Hour(ADORS(0)) - 8

MyTime.wMinute = Minute(ADORS(0))

MyTime.wSecond = Second(ADORS(0))

‘设定客户机时间日期

SetSystemTime MyTime

……

End Sub

(2)清空按键信息接收缓冲区;

(3)启动键盘钩子函数SetWindowsHookEx,捕获金盘软件响应的键盘消息,关键代码如下:

Private Sub StartHook()

……

pNameHWND = FindWindow(vbNullString, “流通外借出纳管理”) ‘获得窗口句柄

dwThreadID = GetWindowThreadProcessId(pNameHWND, vbNull) ‘获得窗口ID

‘设置钩子函数,捕获金盘软件响应的键盘消息

SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, _App.hInstance, dwThreadID)

……

End Sub

(4)捕获键盘信息,将数据存入缓冲区;

(5)判断是否收到借阅过程的指令执行标志回车键,如果没有返回步骤(4)则继续接收数据;

(6)如果存在回车键,判断回车键前面的字符是否符合图书条形码标准(如果操作是一次软件认可合法的操作,缓冲区字符串信息如图4所示),如果符合执行步骤(7),如果不符合清空缓冲区,返回步骤(4);

缓冲区字符串信息

T11023795回车键……

(7)根据缓冲区的字符信息提取其中的图书条码信息,访问日志数据库,筛选流通日志中图书条码与缓冲区中图书条码相同、日志生成时间与系统截获消息的时间相差0.5s以内的日志信息。如果日志存在,表明操作成功,从日志中提取借还类型、借书证号,连同图书条码一起发送给下位机,发送成功后清空缓冲区。如果日志不存在,表明上次操作未成功,清空缓冲区,返回步骤(4)。

通过上述7步获取正确的信息后,将借阅信息发送给下位机(单片机)。良好的通信协议是保障二者通信可靠的基础。上位机(操作台电脑)与下位机(单片机)通信协议如下:

(1)上位机发送握手指令(FE,FE),如果下位机收到握手指令,返回相同指令;

(2)上位机开始发送数据,数据全部使用ASCII编码。为了确保数据无误,所有数据均采用双字节发送的模式,即每组数据发送两次,例如:读者借阅证号为00001123123,借阅证号字段数据将编码为(30,30)(30,30)(30,30)(30,30)(31,31)(31,31)(32,32)(33,33)(31,31)(32,32)(33,33)的格式发送,借还标志位为(4A,4A)和(48,48),校验位采用标准的CRC校验算法[ 19]。数据包格式如表2所示:

表2 上位机发送数据包格式

(3)如果下位机收到正确的数据包,并校验无误,返回(F0,F0)(83,83)(E0,E0)指令,上位机回复相同指令,此次通信结束。如果接收错误要求重发,返回(F0,F0)(84,84)(E0,E0)指令,重新执行步骤(2)。

4.2 下位机软件设计方案

下位机(单片机)开机后先执行系统初始化和MAX7456初始化指令,然后进入中断模式,等待上位机发送的数据触发UART串口数据中断,中断触发之后,接收数据,通过SPI总线发送控制指令,完成字符叠加。叠加的字符信息在视频中最长持续2秒,如果在2秒以内接收到下一个借阅信息,则清除当前画面上显示的字符,叠加最新收到的信息。下位机的程序流程如图5所示。

图5 下位机程序流程图

5 系统测试

测试的硬件平台配置是Intel Pentium D 3.0GHz CPU和1GB RAM 的PC,操作系统Windows XP Professional SP3,使用100M网线连接Microsoft SQL Server 2000数据库;监控摄像头参数:1/4”CCD,420线分辨率,镜头焦距8mm,PAL制式。测试视频如图6所示:

图6 监控系统视频截图

运行测试表明,本方法对于解决因操作人员责任心不强、工作疏忽引起的纠纷效果明显。

(1)“漏还”问题:回放监控记录,检查操作人员扫描时视频中叠加的借/还信息,如果操作员扫描后并将图书放回收集车中却没有叠加信息出现,则为漏扫。

(2)“将后一个读者的书借到了前一个读者的借阅证上”的问题:如果此类纠纷发生在借阅高峰时,借阅记录之间间隔时间很短,使用原来的方法在时间点同步上不容易操作,但是通过带有日志信息叠加的视频就很方便,图6清晰展示了事情发生的过程:首先A同学先来到借阅台,使用自己借书证借书(图6(a)画面);紧接着B同学来到借阅台,放上借书证,由于读卡器的延时,卡并未立即读出,这时扫码枪已经扫描了图书条码,本应该借给B同学的图书被借到A同学的卡上(图6(b)画面上方的借书证号仍然是A同学的)。通过监控视频中附带的借阅信息能够清晰看到每本图书的借阅状态,为追讨丢失的图书提供充足的证据。

(3)“将‘还书’误操作为‘续借’”的问题:这个问题方法同“漏还”问题,通过查看视频和叠加在视频中的日志信息,可以清楚地发现图书的去向。

(4)针对冒用别人借书证借阅不还的问题:可以通过回放带有流通信息的监控视频,根据丢失的图书信息,提取该时间段内非法用户的面貌、体征信息,必要时交由公安机关处理。

(5)对于操作人员没有扫描条码引起的“漏借”问题:从本系统中可以清楚发现操作员的失误,可以视频记录为证据,积极说服读者交还未登记的图书。

通过以上测试,使用视频字符叠加技术把监控录像和流通日志结合起来,较二者单独使用时有很大优势,尤其是纠纷发生在借阅高峰时。通过查看屏幕上方的借阅信息,可以快捷有效地发现问题的根源,掌握每本图书的去向,以及借阅人的面貌、体征信息,为追讨图书、查找责任人提供充足的证据,为读者和学校挽回不必要的损失。

当前应用还存在一些问题和不足:

(1)图书馆自动化平台比较封闭,提供二次开发的接口很少,本系统通过读取日志的方式获得数据,整个处理过程将引起短暂的延迟,如果网络情况不好的情况下延时会增长,如果软件开发公司能够提供实时的信息输出接口,叠加的实时性将更好;

(2)图书借阅的时间长短不一,从一个月到三个月都有,传统的监控视频保存三个月的时间周期相对较短,为了更好地保留信息,录像存储时间应延长到至少6个月;

(3)监控视频中存在大量有关个人隐私的数据,对于监控视频的保密及管理工作要加强。

6 结 语

本文提出一种使用STC12C4052和MAX7456芯片组成的将图书借阅信息叠加到监控录像中的方案。当发生纠纷时,该方案相对于先前单独查阅流通日志和回放监控视频的方法更加直观方便,可重现事件发生的详细过程,提取有效信息、明确责任,对保障图书馆和读者双方的权益,提高和改善图书馆流通服务质量具有积极作用。

参考文献
[1] 陈平, 郑世宝, 张重阳, . 城市公共安全图像监控技术的发展论述[J]. 电视技术, 2011, 35(12): 73-77.
(Chen Ping, Zheng Shibao, Zhang Chongyang, et al. Development of Video Surveillance Technology for Urban Public Safety[J]. Video Engineering, 2011, 35(12): 73-77. ) [本文引用:1] [CJCR: 0.5408]
[2] 王立荣. 图书馆网络视频监控系统设计[J]. 现代图书情报技术, 2004(8): 25-27.
(Wang Lirong. The Design of Digital Video Monitor System Based on LAN in Library[J]. New Technology of Library and Information Service, 2004(8): 25-27. ) [本文引用:1] [CJCR: 1.073]
[3] 朱玉强. 基于摄像头图像的图书馆无人值守防盗程序的设计与实现[J]. 现代图书情报技术, 2011(6): 95-100.
(Zhu Yuqiang. Design and Implementation of Unattended Library Security Program Based on Camera Images[J]. New Technology of Library and Information Service, 2011(6): 95-100. ) [本文引用:1] [CJCR: 1.073]
[4] 王小云. 网络环境下图书流通系统运作管理的可靠性刍议[J]. 图书馆论坛, 2004, 24(3): 44-45.
(Wang Xiaoyun. Reliability Analysis of Book-Circulation System Under the Network Environment[J]. Library Tribune, 2004, 24(3): 44-45. ) [本文引用:5] [CJCR: 2.213]
[5] 史晓梅. 高校图书流通工作存在的问题与对策[J]. 科技信息, 2010 (7): 182. (Shi Xiaomei. Problems and Strategies of Current Book Circulation Work in University[J]. Science & Technology Information, 2010 (7): 182. ) [本文引用:3]
[6] 周倩. 克服高校图书馆“大流通”弊端的新型藏书模式——以江苏技术师范学院新馆为例[J]. 图书馆, 2010(6): 86-87.
(Zhou Qian. A New Distribution Patterns of Book Which to Overcome the Disadvantages of University Library Big Circulation Mode——Take the New Library in Jiangsu Normal University of Technology as an Example[J]. Library, 2010 (6): 86-87. ) [本文引用:3]
[7] 王瑶, Ostermann J, Zhang Y Q. 视频处理与通讯[M]. 北京: 电子工业出版社, 2003: 10-16.
(Yao Wang, Jörn Ostermann, Yaqing Zhang. Video Processing and Communications[M]. BeiJing: Publishing House of Electronics Industry, 2003: 10-16. ) [本文引用:1]
[8] 江一帆, 刘家康, 陈星宇. 一种新型的视频字符叠加器的设计[J]. 电视技术, 2002, 26(1): 56-58.
(Jiang Yifan, Liu Jiakang, Chen Xingyu. Design of a New Type of Video Character Inserter[J]. Video Engineering, 2002, 26(1): 56-58. ) [本文引用:1] [CJCR: 0.5408]
[9] MAX7456 Single-Channel Monochrome On-Screen Display with Integrated EEPROM[EB/OL]. (2008-08-12). [2012-01-12]. http://datasheets.maxim-ic.com/en/ds/MAX7456.pdf. [本文引用:2]
[10] 宋传明, 陈宁, 陈文芗. 车载视频系统中字符叠加技术的应用[J]. 厦门大学学报: 自然科学版, 2005, 44(2): 202-205.
(Song Chuanming, Chen Ning, Chen Wenxiang. The Application of OSD in Vehicle Video System[J]. Journal of Xiamen University: Natural Science, 2005, 44(2): 202-205. ) [本文引用:2] [CJCR: 0.692]
[11] 王海晏, 张斌, 鲁艺, . 视频字符叠加技术的新颖实现方案[J]. 弹箭与制导学报, 2004, 24(3): 231-233.
(Wang Haiyan, Zhang Bin, Lu Yi, et al. New Method of Superposing Characters on Video Map[J]. Journal of Projectiles Rockets Missiles and Guidance, 2004, 24(3): 231-233. ) [本文引用:2] [CJCR: 0.2278]
[12] 黄燕群, 李利品, 王爽英. 基于FPGA的OSD设计[J]. 液晶与显示, 2010, 25(3): 429-433.
(Huang Yanqun, Li Lipin, Wang Shuangying. OSD Design Based on FPGA[J], Chinese Journal of Liquid Crystals and Displays, 2010, 25(3): 429-433. ) [本文引用:1] [CJCR: 1.309]
[13] 王旭东, 王新赛, 李坚. 基于FPGA的视频图像叠加系统的设计与实现[J]. 电子技术应用, 2007, 33(11): 38-40.
(Wang Xudong, Wang Xinsai, Li Jian. Design of Video Superposing System Based on FPGA[J]. Application of Electronic Technique, 2007, 33(11): 38-40. ) [本文引用:1] [CJCR: 0.2906]
[14] 尚海林, 邹春勇. 一种字符叠加显示电路的实用设计[J]. 光学技术, 2008, 34(S1): 206-207.
(Shang Hailin, Zou Chunyong. Feasible Design of Display Circuit for Characters Adder[J]. Optical Technique, 2008, 34(S1): 206-207. ) [本文引用:1] [CJCR: 0.47]
[15] 吴振宇, 李福辉, 冯林. 基于C8051F020的石油测井数据采集系统[J]. 仪表技术与传感器, 2008(10): 42-43.
(Wu Zhenyu, Li Fuhui, Feng Lin. Design of Data Sampling System of Well Logging Based on C8051F020[J]. Instrument Technique and Sensor, 2008 (10): 42-43. ) [本文引用:1] [CJCR: 0.521]
[16] 闫志红, 郑海林. 基于PIC18F4520和μPD6453的点钞机字符叠加器的设计[J]. 可编程控制器与工厂自动化, 2011(5): 76-78.
(Yan Zhihong, Zheng Hailin. Design of Character Superimposition System for Currency Counter Based on PIC18F4520 and μPD6453[J]. Programmable Controller & Factory Automation, 2011(5): 76-78. ) [本文引用:2]
[17] STC12C2052AD Series MCU Data Sheet [OL]. (2011-07-15). [2012-01-12]. http://www.stcmcu.com/datasheet/stc/STC-AD-PDF/STC12C2052AD-english.pdf. [本文引用:1]
[18] SetWindowsHookEx Function [EB/OL]. (2011-09-11). [2012-01-12]. SetWindowsHookEx Function [EB/OL]. (2011-09-11). [2012-01-12]. http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx. [本文引用:1]
[19] 连广宇, 刘宝坤. 异步通信中循环冗余校验码的两种生成算法[J]. 工业仪表与自动化装置, 1995(6): 22-23.
(Lian Guangyu, Liu Baokun. Two Algorithms for Generating Cyclic Redundancy Check Code on Asynchronous Communication[J]. Industrial Instrumentation & Automation, 1995 (6): 22-23. ) [本文引用:1] [CJCR: 0.2408]