新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ADSP-BF532的嵌入式网络视频服务器的设计

基于ADSP-BF532的嵌入式网络视频服务器的设计

作者:时间:2009-08-28来源:网络收藏

串行SPI和网络接口设备MPC860的编程:利用SPI接口,将作为传输数据的主设备,MPC800作为从设备,将数据传送给MPC860处理,接收视频数据并提供网络接口。其中网口、SPI接口接收数据的流程如图2所示。

3.2 视频编码

考虑到压缩效率和码率,视频的核心采用了MPEG-4 Simple Profile标准进行视频压缩编码。只进行帧内编码(I帧)和帧间预测编码(P帧),而不进行双向预测编码(B帧),适合矩形视频对象(Video Object)编码。

其中的核心算法有DCT和IDCT,它采用2D 8×8DCT,并且采用循环缓冲,充分利用了Blackfin DSP的优势,减少了循环体内部的指令执行数;MPEG-4采用两种方法确定量化步长,一是采用TM5速率控制方式,二是采用MPEG-4中定义的速率控制模型,它们都是通过码流速率大小以及图像质量的要求来改变量化系数。MPEG-4的直流系数量化采用非线性量化方式,交流系数既可以选择H.263量化也可以使用MPEG量化,这里采用H.263模式。

运动预测使用条块SAD(当前的图像与预测图像的绝对差值和)最小搜索出最匹配的宏块,而且Blackfin DSP提供了一条视频专用指令SAA,大大提高了速度;最后用边界填充(PADDING)减少在宏块边界上的运动误差。

3.3 视频网络传输的实现

经过视频采集、压缩后的视频数据通过网络进行传输,其传输层用TCP传输协议传输信息包很小的操作控制命令,用UDP传输协议传输视频图像数据。因为TCP这种传统的连接协议必须要求数据无误地顺序传输到客户端的应用层,可以利用TCP传输协议传输网络监控中的控制命令,信号和客户端正确接收到操作命令。UDP传输协议没有提供网络流量控制和数据包丢失、出错处理,在高级压缩算法如MPEG-4采用了帧间压缩的方法,数据包丢失可能影响到连续几帧视频图像。所以,UDP传输协议的应用程序必须靠解决可靠性问题。

上端软件提供友好的用户界面,用Visual C++6.0实现,根据用户的需求,通过网络从远程终端接收视频数据,包括MPEG-4的解码过程、网络传输控制和网络命令编码等。有两种编写方式,第一种需要专门写一个/客户端软件来发送和接收视频图像数据;第二种可以采用服务器/浏览器模式,即将客户端软件做成控件,嵌入到网页中,做成WEB的数字视频服务器。本文采用第一种方式。

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


评论


相关推荐

技术专区

关闭