基于ARM的无线视频传输系统的设计与实现

时间:2022-05-23 08:47:47

基于ARM的无线视频传输系统的设计与实现

【摘要】为解决现有无线视频技术的传输视频图像质量差,传输容量小,传输速度慢等缺点。设计了以ARM9系列的S3C2440为核心控制器,结合了外部LCD显示模块、USB摄像头接口模块以及GPRS通信模块,并在LINUX操作系统下完成上述模块的内核移植。针对传统的图像压缩算法有严重失真的问题,对H.264图像压缩算法进行了研究,该算法利用熵编码技术解决了图像压缩慢和失真严重的问题。从而实现了无线视频传输过程中图像质量的高清晰、快速以及近无损传输;以及操作系统的方便快捷移植。

【关键词】S3C2440;无线传输;嵌入式Linux;GPRS;H.264

引言

通讯技术与嵌入式技术的发展,将人类社会带入到了一个以信息化为核心的崭新纪元。信息社会的重要特征是人们对各种信息能够方便、灵活的获取以及在这个基础上对各种信息的充分应用。由于视频图像文件包含的信息量大、可见性高,在信息社会得到了广泛的应用。因此如何对图像进行高质量的获取、有效传输和理解将是一个核心的研究领域。

目前,各种应急通信以及复杂环境下的通信方案设计对无线通信技术的需求越来愈多,各个频段、各种调制和通信方式的通信技术纷纷出现以应对这一情况。基于传统的有线视频监控系统存在着显著的缺陷,例如:欠缺矫捷性、扩展和调整不便利、缺乏移动性等等。而基于ARM平台的视频图像无线数字传输方式,具有体积小、功耗低、实时性好及传输可靠、资源丰富、功耗低、价格低廉等优点[1],在安防、会议和无线数字电视上的到了极大地推广应用。

1.系统总体方案的设计

目前,多数无线视频传输系统的体积较大,核心处理模块构造简单,只有简单的控制视频采集与视频传输的功能,而视频压缩编码多是通过视频采集设备进行的,上位机接收端接收的视频信息较为模糊,且系统缺乏智能化的功能和人性化的设计。现如今无线视频传输在安防系统上有着重要的作用,视频图像不清晰或者数据缺失都会造成信息的遗漏,所以本文设计的无线视频传输系统方案研究正是考虑到这些因素来设计的,其系统结构框图如图1所示。

无线视频传输系统的运作流程主要概述为:系统上电后事先插接好的USB摄像头采集设备、LCD触摸屏设备、存储模块和GPRS模块通电开始准备运行,并发送给核心处理器工作状态信号。主控模块接收到信号后,通过硬件系统核心处理模块发出命令开始采集视频图像数据,LCD触摸屏启动并进入登录界面。采集到的数据可通过液晶屏进行预播放,同时系统中基于H.264的软件编码系统开始编码操作,编码处理的数据在存储中缓冲并进行传输的准备工作。嵌入式系统核心模块发出传输地址和传输信号,GPRS模块开始工作,将存储缓冲区中编码压缩好的数据通过无线网络发送至上位机终端,经解码解压显示播放[2]。

2.控制系统硬件电路的设计

无线视频传输系统的硬件平台主要有以下几部分组成,核心芯片为S3C440的ARM最小系统电路、USB摄像头接口电路、GPRS无线通信电路、LCD显示设备电路和电源电路。下面详细介绍各模块的硬件电路设计及功能实现。

GPRS通信模块硬件电路设计:

选用Siemens公司生产的型号为MC35i的GPRS模块,该模块的连接接口为9针标准RS-232接口,通过MAX232电平转换芯片和S3C2440的UART1口相连,进行全双工通信[3]。GPRS通信模块硬件电路设计如图2所示。

3.系统软件开发设计

本课题设计的无线视频传输系统的软件部分主要由四部分组成:bootloader的移植,Linux内核移植,根文件系统的制作,底层硬件的驱动[4]。

3.1 USB设备驱动移植

嵌入式Linux系统在USB驱动设备启动,驱动程序首先要在系统内核中进行注册,并提供设备相关的信息,如修改设备的类型和它所支持的操作等。一般来说,USB设备在系统上热插拔的操作都会通过usb_driver结构体传递。USB驱动程序中必不可少的主要结构体为struct usb_driver,它向USB核心代码描述了USB 驱动程序。

在USB驱动操作中探测函数probe()和断开函数disconnect()为必须执行函数。在设备插入和拔出时分别被检测命令调用,作用为初始化设备和释放软件资源。而注册和注销usb_driver分别通过以下两个函数来完成:

int usb_register(struct usb_driver *new_driver)

void usb_deregister(struct usb_driver *driver)

USB从意义上来说只是一条总线,当USB驱动运行时,设备本身的各个驱动由USB与主机相连接收或发出命令。所以usb_driver在驱动代码中只起到了牵线作用,而设备真正的注册和注销直接发生在模块加载和卸载的相关函数中。

3.2 H.264熵编码技术

熵编码是无损压缩编码,它生成的码流可以经解码无失真的恢复出原始数据,是将特定的数据编码成定长的或可变长二进制码字的一种编码方法,H.264标准中的熵编码过程,包含基于内容自适应的变长编码(CAVLC:Context-based Adaptive Variable Length Coding)过程、基于内容自适应的二进制算术编码(CABAC:Context-based Adaptive Binary Arithmetic Coding)过程和指数哥伦布熵编码(Exp-Golomb)过程[5]。各部分的分析如下:

指数哥伦布熵编码用于对句法元素的编码,把所有句法元素映像到统一的可扩展码字表,不单独对每个句法元素设计不同的码字表,有助于降低编解码的复杂度[5]。指数哥伦布熵编码过程中,码流中参考帧索引、量化步长、宏块类型、运动矢量差值和帧内预测模式等信息为其压缩编码的主要对象。其编码的码字构造为:

3.3 帧间预测技术

与帧内预测模块相同,帧间预测模块也分为两个部分:指数哥伦布熵解码和针对当前块亮度、色度分量进行的1/4和1/8精度的内插计算,在编码过程中对帧与帧之间没有明显变化的图像内容进行编解码对资源会造成浪费,高效的对所需要的内容进行编解码是帧间预测技术的优势[47]。

在帧间预测方法中,参考图像为先前已编码帧的图像,在帧间模式运行时,系统利用参考图像对当前图像进行预测,此时当前图像的抽样值为参考图像的抽样点通过运动矢量的补偿值,参考帧的选择和模式判定公式如下:

S为当前块像素,mv为当前矢量,pred为预测矢量,ref为参考帧,r(ref,mv)为参考块像素,SA(T)D为当前块和参考块像素差值的绝对值,c为重建块,R为对宏编码的比特,SSD为当前块和重建块的差值平方和。这种方法能够降低图像的时域相关性,提高了视频图像的压缩效率。H.264标准中使用块结构运动补偿,支持多种块结构预测,运算精度能精确到1/4像素。

图3 上位机接收视频实时显示

4.试验结果分析

系统采集的视频图像信息通过无限传输后在上位机接收端的播放器上播放情况如图3 所示。图中所看到的视频画面分辨率为720×576,系统H.264软件编码率为400kbps,帧率为30fps。

5.结论

借鉴原有编码技术,本设计使用新的压缩方法在最大程度上减少了视频数据的丢失,同时在原有的硬件基础上添加了智能控制系统。

本设计的智能系统具有良好的适应能力,能够在一些比较复杂的环境下工作,其中采用的LCD触摸显示屏在人为操作时更加简便也更加智能,极大地简化了操作过程。本设计的无线视频传输系统融合了嵌入式系统和当下最为普及的GPRS技术解决了一些复杂环境下视频传输的实际需求。

参考文献

[1]傅中君.嵌入式GPRS无线通信模块的设计与实现[J].计算机工程与应用.2009,14(23)2162-165.

[2]翟战强,蔡少华.基于GPRS/GPS/GIS的车辆导航与监控系统[J].测绘通报,2004,26(15)34-36.

[3]杨磊,蒋念平.嵌入式Linux下USB主控制器驱动设计[J].信息技术,2013,13(36)121-123.

[4]黄倩,闵华松.基于ARM的移动视频监控系统[J].现代电子技术,2010,33(1):148-152.

[5]郭知明,杨世风.基于GPRS技术的城市管网监测系统的研究[J].国外电子测量技术,2009,28(12):81-83.

作者简介:陈泳安(1988―),男,中北大学计算机与控制工程学院硕士研究生,主要从事嵌入式系统开发工作。

上一篇:刍议网络计划算法在电力工程管理中的实践 下一篇:交叉互立式会计信息查询创新研究