新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式无线视频监控系统设计

嵌入式无线视频监控系统设计

作者: 时间:2012-03-26 来源:网络 收藏

操作系统中,外部设备都作为设备文件来管理,因此,对外部设备的操作就转变成对设备文件的操作。视频设备文件位于/dev/目录下,一般情况下为video0。当摄像头通过USB接口连接到视频采集终端后,在程序中调用V4L APIs对设备文件video0的读操作即可实现摄像头视频数据采集。其主要过程如下:

1)打开设备文件: int v4l_open(char *dev, v4l_device *vd){}打开影像源的设备文件;

2)初始化picture: int v4l_get_picture(v4l_device *vd){} 获取输入的影像信息;

3)初始化channel:int v4l_get_channels(v4l_device *vd){} 获取每个channel的信息;

4)对channel设置norm:int v4l_set_norm(v4l_device *vd, int norm){} 对所有的channel设置norm;

5)设备地址映射:v4l_mmap_init(v4l_device *vd){} 返回存放图像数据的地址;

6)初始化mmap缓冲区: int v4l_grab_init(v4l_device *vd, int width, int height){};

7)视频捕获同步: int v4l_grab_sync(v4l_device *vd){};

8)视频捕获: int device_grab_frame(){}。

通过以上操作,即可将摄像头视频数据采集到内存。采集到内存的视频数据既可采用文件的形式保存,也可将其压缩后封装进数据包,通过网络传输到数据处理中心。本设计采用后一种处理方法,即:先将采集的视频数据进行JPEG压缩,再将其封装进数据包传输到视频应用服务端处理。

3 视频压缩模块设计

由于视频采集模块采集的视频数据信息量较大,如果直接通过网络传输,则会增加数据传输系统的负担,大大降低数据传输效率。为此,本设计采用JPEG —Joint Photographic Experts Group压缩编码算法对视频数据进行压缩。JPEG是一个适用于彩色、单色多灰度、连续色调静止数字图像的压缩标准,是静态数字图像压缩的国际标准,不仅适用于静止图像压缩,而且适用于电视图像序列的帧内图像压缩。由于JPEG压缩采用的是全彩影像标准,其主要处理过程包括:色彩模型转换、离散余弦— DCT变换、重排DCT结果、量化、编码等。

在本设计中,采用最基本的JPEG算法,其主要步骤为:首先,通过离散余弦变换(DCT)去除数据冗余;其次,使用量化表对DCT系数进行量化;最后,采用Huaffman可变字长编码对量化后的DCT系数进行编码,使其熵达到最小。通过实验,数据压缩效果良好,图像压缩率可以达到70%左右。

4无线发射、接收模块设计

本设计采用2.4GHz无线收发芯片完成视频数据的无线传输。nRF2410是一款单片射频收发芯片,工作在2.4GHz~2.5GHz ISM频段,该芯片内置频率合成器、功率放大器、晶振和调制解调器等功能模块,其输出功率和通信频道等参数都可以通过程序进行配置。内置的 DuoCeiver接收器使可以使用同一天线同时接收两个不同频道的数据,这为视频数据的传输提供了有利条件。

nRF2401在发送和接收数据时主要完成以下操作:

1)初始化发送端和接收端:主要完成I/O端口的配置,使能发送器/接收器,启动计数器等;

2)发送器/接收器配置:先打开配置方式,再配置发送/接收器,最后使能收发功能;

3)接收包/接收包处理:

4)发送/接收数据:完成数据包的发送/接收操作;

5)读取A/D转换结果:等待AD转换完成后,读取A/D转换结果数据,并开始接受新的转换;

5 视频传输模块设计

视频传输模块收到无线接收模块递交的视频数据后,可以通过串口或网络接口将其传输到视频应用服务端,本设计采用网络接口进行数据传输。目前,互联网上传输视频数据大多采用UDP协议。UDP协议提供非连接、不可靠的数据传输,由于接收端只对收到的UDP数据包进行简单的完整性校验,丢弃有错误的数据包,因此数据传输速度较快。然而,为了提高数据传输的准确性和减少因使用UDP协议而额外增加的、繁琐的数据确认操作,本设计选用面向连接的、可靠的数据传输协议—TCP。

6视频应用服务端—视频显示模块设计与实现

视频应用服务端采用Borland C++ Builder6.0完成监控视频的合成(如果视频应用服务端采用操作系统,则可以使用Kylix完成相同的功能)。由于BCB的Image类可以完成精确到像素的图像处理能力,可以将BMP、Drawing、自定义图形等显示成图像。因此,Socket API 从网络接收视频数据后,首先将接收到的JPEG图像转换成BMP,然后将其传送给Image对象,Image对象最后处理视频数据、生成图像视频并将其显示出来。

7 结束语

本文提出了一种基于S3C2410X的嵌入式无线视频监控系统设计。采用嵌入式操作系统进行视频采集、压缩和打包并通过nRF2401无线发射、接收模块进行视频数据无线传输,最后通过TCP/IP网络将视频数据从视频传输模块传输到视频应用服务端,构成一套完整的无线视频监控系统。由于系统的核心工作采用高性能嵌入式处理器完成,因此该系统具有结构简单、性能稳定、成本低廉等优点,在油田、油气井无线视频监控,智能家居等领域具有广阔的应用前景。

本文作者创新点:将视频监控从有线系统延伸到无线系统,提出了构建无线视频局域网的一种方法,此方法在智能家居等领域具有广阔的应用前景。

参考文献:

[1] 陈俊宏,Embedded Linux嵌入式系统原理与实务[M].北京:中国铁道出版社,2004

[2] 曹 翔, 实时视频传输在MPLS网络中的QoS研究[J]. 微计算机信息,2006,7-3:58-60

[3] Nordic VLSI ASA .nRF2401 Single Chip 2.4GHz Radio Transceiver Product Specification,2003.

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭