基于TMS320DM355监控服务器设计与实现
4.4.MPEG/JPEG协处理器编码
由于DM355内部集成了MPEG/JPEG协处理器,对于音视频的编解码主要是通过它来完成的。而对它的操作是依靠TI公司制订的基于 eXpressDSP算法互用性标准(xDAIS)的xDAIS-DM标准实现的。此标准定义了一组统一的API,这些API是建立在各种多媒体算法之上的,这样即简化了集成难度,同时保证了互用性。TI提出的CodecEngine就是一组用于示例和运行xDAIS算法的API,而 VISA(Video,Image,Speech,Audio)类是用来与xDAIS-DM算法标准定义的基于各种多媒体算法的API函数集进行交互的接口。在应用程序编程中,通过进行如下的操作来完成视频的编码。
打开编解码引擎:
staticStringengineName=videnc
Engine_Handlece;Engine_Errorerrorcode;ce=Engine_open(engineName,NULL, amp;errorcode);视频编码类提供四个API函数:创建视频编码类:VIDENC_Handlehenc;staticStringencoderName=mpeg4enc; henc="VIDENC"_create(ce,encoderName,NULL);其中ce为打开编码引擎时返回的句柄。对视频编码类进行控制,设置视频编码动态参数:VIDENC_control(henc,XDM_SETPARAMS,dynamicParams,encStatus);处理数据,进行编码:VIDENC_process(henc,inBufDesc,outBufDesc,inArgs,outArgs); 其中参数henc为创建的VISA类句柄,inBufDesc为原始数据buffer,outBufDesc为压缩后数据buffer,inArgs和 outArgs为输入输出配置参数。销毁创建的视频编码类:VIDENC_delete(henc);在应用程序中调用以上API,即可利用 MPEG/JPEG协处理器对原始视频数据进行压缩,而音频数据的压缩与此类似。
5.总结
本文介绍了基于最新DaVinci平台的视频监控服务器的设计与实现,包括硬件组成和软件设计。整个视频服务器利用DM355内部的ARM926EJ-S 核运行嵌入式Linux操作系统,而用MPEG/JPEG协处理器进行MPEG4编码相关的计算。文中对利用MPEG/JPEG协处理器进行编码也做了介绍,同时给出了整个视频监控系统的框架。经过在局域网内测试,可以实现D1格式的视频的实时传输,同时可以进行云台及镜头等的控制。利用该系统可实现楼宇、街道等场所的视频监控。
参考文献
[1]CodecEngineApplicationDeveloperUsersGuide
[2]xDAIS-DM(DigitalMedia)UserGuide
[3]王田苗.嵌入式系统设计与实例开发北京:清华大学出版社2003.10
[4]李善平,刘文峰,王焕龙.Linux与嵌入式系统(第2版)北京:清华大学出版社2006.3
[5]杜春雷.ARM体系结构与编程北京:清华大学出版社2003.8
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论