论文部分内容阅读
随着嵌入式技术和无线通信技术的迅速发展,特别是3G时代的到来和无线WiFi技术的广泛应用,为嵌入式无线音视频通信提供了有效的途径。然而对于普通用户来说,基于3G的可视电话给他们设定了两道门槛:一是高端的手机,二是昂贵的资费。针对这一点,本文实现了基于WiFi技术和嵌入式Linux的低成本音视频通信方案。在此方案中,硬件平台采用S3C2440A ARM9开发板外接RT2571W WiFi模块;操作系统采用嵌入式Linux2.6.29;网络传输采用无线AP(Access Point)接入结合以太网传输的方式;通信系统采用C/S加P2P的网络架构,C/S架构下主要完成客户端与服务器之间各种信令的交互(例如注册、登录等信令及其应答),P2P架构下主要完成客户端与客户端之间音视频通信过程中语音和视频数据的点对点传输。本文的主要工作是设计和实现了音视频通信系统的架构和软件,包括服务器软件和客户端软件。服务器软件采用应用程序服务器与MySql数据库服务器相结合,提供客户端用户信息的验证、存储以及各种信令的应答、转发等功能。客户端软件是本文的工作重点,它是基于嵌入式Linux和Qt/Embedded开发的嵌入式软件,运用了音视频采集与压缩编码技术、同步技术以及网络传输技术,实现了音视频实时同步通信。主要研究工作归结为以下几点:1、实现了基于Video4Linux2的视频采集,研究了MJPEG视频压缩算法,并根据前后帧图像变化检测的方法以及帧间压缩的思想,提出了基于变化区域检测提取的MJPEG改进算法,该改进算法在背景不变或存在背景短暂不变(比如视频通信时摄像头是静止的)的场合下能大大增加压缩率,减少压缩时间。2、研究并实现了基于G.729B压缩算法的语音软件压缩方案和基于AMBE-2000压缩芯片的语音硬件压缩方案。对前者的工作有:实现在OSS音频编程接口上的语音数据的采集,研究了G.729B算法并对其标准C源码进行了优化来减少其算法复杂度。对后者的工作有:AMBE-2000语音模块的电路设计、驱动的编写以及相应应用程序的实现。比较并分析了上述两种方案,最终在客户端软件开发中采用了软件压缩方案。3、从语音视频的采集、发送、接收和播放四个环节研究并实现了音视频同步技术。对网络传输技术做了研究,包括基于NAT穿透之UDP打洞技术实现了处于不同私网网段的客户端之间的P2P数据传输和自定义了方便简捷的通信协议。结合上述相关技术及Qt/Embedded图形开发框架实现了美观的可视化客户端软件。将客户端软件移植到ARM平台上,搭建了测试环境,最终实现了效果较好的无线音视频通信。