基于ARM9的嵌入式3G无线视频监控系统设计

时间:2011-02-18来源:网络

相对于有线网络而言,无线网络状况更不稳定,除去网络流量所造成的传输速率的波动外, 设备的移动速度和所在位置也会严重地影响到传输速率。其次, 无线信道的环境也要比有线信道恶劣得多,数据的误码率也要高许多,而高压缩的码流对传输错误非常敏感, 还会造成错误向后面的图像扩散, 因此无线流媒体在信源和信道编码上需要很好的容错技术。错误恢复的工具随着视频压缩编码技术的提高在不断改进。旧的标准(H.261、H.263、MPEG-2 的第二部分)中,使用片和宏块组的划分、帧内编码宏块、帧内编码片和帧内编码图像来防止错误的扩散。之后改进的标准(H.263+,MPEG-4)中,使用多帧参考和数据分割技术来恢复错误。H.264 标准在以前的基础上提出了三种关键技术来进行错误的恢复, 分别是参数集合、灵活的宏块次序(FMO)和冗余片(RS)。FMO 是H.264 的一大特色,可以是一帧中的宏块顺序分割,使分割后的片的尺寸小于无线网络的MTU 尺寸,避免在网络层再进行一次数据分割,降低了数据传输的额外开销。

3.4 嵌入式Web 服务器设计

本系统选用适合嵌入式系统的Boa 服务器, 它是单任务HTTP 服务器, 占用空间小, 另外支持动态Web 技术的CGI 技术, 源代码开放, 性能高。嵌入式Boa 服务器移植到Linux 系统中的网上相关资料很多, 不再赘述。

下面重点介绍应用程序接口CGI 程序设计。

公共网关接口CGI 是HTTP 服务器与其他机器上的程序进行“ 交谈” 的一种工具, 其程序须运行在网络服务器上。CGI 是一个用于Web 服务器与外部程序之间通信方式的标准, 使得外部程序能生成HTML、图像或其他内容,而服务器处理的方式与那些非外部程序生成的HTML、图像或其他内容的处理方式是相同的。使用CGI的原因在于它是一个定义良好并被广泛支持的标准, 没有CGI 就不可能实现动态的Web 页面, 除非使用一些服务器中提供的特殊方法。

CGI 程序入口为main () 函数, 函数首先执行初始化用到的变量, 然后根据提供的环境变量Environmentv 获取当前访问用户的用户名, 判断用户的访问权限, 然后根据REQUESM 得到用户的请求方法。如果是POST, 则根据Contentl 获取用户请求内容并分析;如果是GET, 则根据Querys 获取信息并分析请求内容, 最后根据用户权限做出相应的处理;如果是其他的请求方法, 则返回错误, 不支持该请求方法。流程图如图5 所示。

CGI 程序处理流程

图5 CGI 程序处理流程

S3C2410 凭借其高性价比、丰富的接口以及对网络的强大支持, 使其非常适合做网络视频监控系统的Web视频服务器的处理器。H.264 算法具有很高的编码效率, 在相同的重建图像质量下, 能够比H.263 降低50%左右的码率。H.264 的码流结构网络适应性强, 增加了差错恢复能力,能够很好地适应IP 和无线网络。本系统支持动态IP, 可以直接连入以太网, 能够即插即看。通过局域网(100 Mb/s 以太网) 内部测试, 可以达到25 帧/秒CIF 图像(320×240) 要求, 传输延迟0.6 s 以内, 编码后的码率150 Kbit/s , 由客户端软件解码恢复后的视频图像清晰、流畅、没有抖动现象, 能获得较好的视频质量。

1 2 3

关键词: 驱动模块 编解码器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版