数字视频系统中的集成新概念
数字视频配置工具
将数字视频嵌入应用中的首要难题在于实施视频的复杂性要远远超过简单的图像与音频压缩和解压缩。
数字视频可以采用形形色色的形式与格式,开发人员需要支持繁杂的配置和各种不同的方面,其中包括不同的分辨率/显示器尺寸、不同的比特率、实时问题乃至视频源的可靠性等,例如来自硬盘驱动器的视频流与来自无线通信链路的视频流的区别和处理。即使是那些看似简单明了的任务—如高效管理音频/视频同步以及在 IP 网络上实现可靠的视频传输,仍然会让开发人员伤透脑筋。
如何使这些技术难题迎刃而解就成为采用达芬奇技术成功实现数字视频系统设计的关键。达芬奇技术所包含的四大要素,即处理器、开发工具、软件以及系统专业技术对于数字视频设计的集成具有重要的作用,其中一个极为有效的工具就是包含在TI为配合达芬奇开发所提供的数字视频开发包(DVSDK)中的数字视频配置工具(eXpressDSP Configuration Kit)。
由于在达芬奇技术软件结构中引入了编解码引擎(Codec Engine)结构,Codec Engine就提供了对DSP标准化算法(XDAIS)的完全包装,使得应用程序与DSP程序的开发分离,更为方便简捷,Codec Engine使得DSP开发人员不必关心应用程序端,只需按照相应的标准开发出Codec Server,即可被应用程序正确调用。有了eXpressDSP配置工具的支持,开发人员模块之间的接口,eXpressDSP配置工具会自动绑定编解码器(CODEC)以及符合xDM标准的软件模块,不需要任何其它的操作,几乎可以将开发时间从数月降到几周之内,使软件的重使用率大大增加。 eXpressDSP配置工具汇集了Linux和达芬奇技术的CODEC ENGINE以及DSP/BIOS,DSP/BIOS LINK。图1为系统集成图。
图1 系统集成图
数字视频配置工具使得配置一个CODEC的过程极其简单,只需进行简单的脚本配置,无需DSP编程便可以完成,首先得到在DSP上的符合xDM 标准Codec库,通过脚本配置语言进行简单的配置,将此Codec库至于Codec Engine中,进行再次编译链接。至此已经完成了Codec上的全部工作。下面将逐步描述一个基于达芬奇开发板的应用程序的生成过程:
第一步,开发并完成Codec。就是要开发音视频编解码的核心算法,按照xDM标准封装成为Codec库,Codec主要完成音视频的核心算法,应用程序运行时被调用,并不参与其他功能。
第二步,将Codec集成到Codec Engine中。将第一步开发完成的Codec或已有的符合xDM的Codec集成到Codec Engine中,这一步需要配置两个javascript的脚本文件,其中一个脚本文件表明了,Codec的使用和配置信息,文件名一般为*.cfg,另一个描述了Codec在达芬奇上的内存分配的配置,文件名一般为*tcf,配置好这两个文件后,使用make命令即可生成Codec Engine,其文件名一般为*.X64P。可被应用程序直接调用。
第三步,开发音视频应用程序,并在其中调用Codec Engine。在Linux下开发音视频应用程序,包括用户界面,音视频的采集、播放、同步等,其中完成对Codec Engine的调用,应用程序也要完成一个扩展名为cfg的脚本配置文件,以表明对Codec Engine的使用状况。
第四步,加载DSPLINK和CMEM模块,运行应用程序
至此一个完整的达芬奇音视频应用程序就完成了,其中许多过程是通过脚本文件配置完成的,过程非常简单易懂,下面我们需要在达芬奇上运行它,首先要加载 DSPLINK和CMEM两个驱动程序模块,其中DSPLINK主要实现了arm和dsp的底层通信,而CMEM则主要是完成了在物理段上分配连续内存的功能,加载完这两个模块,我们便可以直接运行已完成的应用程序。
图形系统可视化工具
将多个软件模块集成只是整个开发过程的第一步,DVDSK还包含一个图形系统可视化工具,可用于分析和显示整个系统的性能,从而帮助快速开发数字媒体软件。基于 TMS320DM644x SoC分析器的可视化分析,以最小化的干预快速辨别和分离系统的各部分执行状况,并通过捕捉数据鉴定程序运行状况,以及显示系统交互,负载分布和其它类型的行为。在消除大量不必要的断点跟踪调试后,开发者便可判断出系统的瓶颈在哪里并加以解决。
TMS320DM644x SoC分析器使用户花费时间解决问题而不仅仅是发现问题,作为一个完全的可视化分析工具,通过它用户可以得到诸如系统交互分析、各部分负荷分析、瓶颈分离、异常行为分析和应用的基准性能等功能。
当一个任务在DSP和ARM上同时运行时,分析器采集并显示数据,提供了对应用程序完全的系统可视化,消除了手工收集、对比数据的繁琐过程,如图2所示可视化分析流程。
图2 可视化分析流程
TI所实现的业界首创的图形系统可视化技
- 嵌入式LINUX系统的静/动态集成调试模式 (07-03)
- SPARC V8结构嵌入式微处理器开发环境的设计实现(09-18)
- 64位MIPS的起源,回顾及展望(11-02)
- 嵌入式软件与硬件的集成测试过程研究(11-16)
- ARM硬件仿真软件SkyEye使用简介(11-27)
- 流水线处理技术在数据集成中的应用(03-11)