本算法的编码器包括3个步骤:第1步是对原始图像进行向量变换,第2步是动态位分配的向量量化VQ(Vector Quantization)编码,第3步是进行一种熵编码。相应的解码器也包括3个步骤:解码器由编码器的3个步骤的逆过程按逆序组成。图4所示为算法编码器和解码器的框架图。
图4 编码器和解码器的框架
图像处理部分是整个系统的核心,需要对外围的器件进行集中控制和处理。FPGA/CPLD对图像信号的采集、控制、存储数据到SRAM以及从SRAM读取数据都在这里实现。选用CycloneII EP2C20F484C7芯片,利用Verilog HDL作为硬件描述语言,实现对各小模块的连接控制。
3.3 VGA显示模块
如图5 VGA显示模块所示,从摄像头过来的信号经过视频解码后到视频处理芯片,视频处理芯片输出三路的R、G、B数字信号到视频DAC,然后输出三路的模拟R、 G、B信号到显示屏显示。.这其中,视频DAC的速度直接决定了输出图像的分辨率和刷新率,而其精度则决定了输出图像的质量。DAC的速度和分辨率的关系可以通过下面的关系式得到:
时钟频率=点速率=(水平分辨率)×(垂直分辨率)×(刷新率)/(回扫系数);
水平分辨率=行的像素数目;
垂直分辨率=帧的像素数目。
图5 VGA显示模块
3.4 CDMA无线模块
CDMA(Code-Division Multiple Access)技术是近年来在数字移动通信进程中出现的一种先进的无线扩频通信技术,具有频谱利用率高、话音质量好、保密性强、掉话率低、电磁辐射小、容量大、覆盖广等特点。
1)数据传输方式设计
模块利用DE1的配置串口与CDMA模块通信,当监视到有人走过时,NiosⅡ系统发出拍照指令,通过摄像头记录下图像,同时NiosⅡ系统通过UART串口向CDMA发送信息,CDMA模块向设定的手机发送报警信息,并向上位机发送图像信息。
NiosⅡ与CDMA的通信是采用AT指令向CDMA模块发送命令。当监视发现异常现象时, NiosⅡ系统接收到来自监控模块产生的异常信号,马上进行拍照命令,同时向CDMA发送AT指令,并利用UART的中断接收CDMA返回的信号,一旦确认CDMA模块接收到AT指令将向CDMA发送下一条指令,如果NiosⅡ系统没有收到CDMA模块返回来的OK信号,系统将不断的向CDMA发送AT指令直到CDMA响应成功。其中NiosⅡ系统接收CDMA返回信号和向CDMA发送信号采用中断方式。
2)CDMA响应过程
系统向CDMA模块发送AT指令初始化CDMA模块,然后调用建立PPP连接的函数,先用AT指令ATD#777接通CDMA,然后初始化PPP连接,当PPP连接完成后设置好相应的IP参数。
然后初始化WAP相关参数,建立WAP连接,调用信息发送函数将图像信息发送到与上位机相连接的CDMA模块中,完成数据的传送后,断开PPP连接。负责接收数据的CDMA模块把数据通过串口传送到上位机中。
3)TCP/IP协议
TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备。网络传输的基本信息单元是数据包。当包经由 TCP/IP 协议栈时,每一层上的协议都会在基本头中添加或删除字段。
3.5 远程服务上位机设计
该系统利用VB编写程序,将CDMA接收回来的图像数据以文本格式进行存储,并将图片在系统界面上显示,同时记录事件发生时间。远端服务器监控显示效果如图6所示。
图6 远端服务器显示
远端服务器应用程序流程图如图7所示:
图7 远端服务器应用程序流程图