作者:闻亭数字系统(北京)有限公司 谷湘煜 德州仪器半导体技术(上海)有限公司 郑小龙

        在数字视频创新已经成为数字信息产业热点的今天,数字视频系统的设计方法不断提高,这样既可以为数字视频产品拓展差异性空间,也能够缩短开发周期以满足日新月异的市场需求。现在数字视频系统的复杂度已经远远超过以往任何时候,特别是随着单片系统(SoC)时代的到来,广大设计人员正面临着前所未有的挑战。在SoC成为数字视频系统平台的时候,新的集成开发概念也就应运而生,其实质就是通过综合的集成开发环境以及所提供的多种工具,实现数字音视频软件与底层系统软件及相关应用的集成,并采用有效的手段进行调试。关于数字视频系统设计的集成理念可以结合业界具有代表意义的单片数字媒体处理平台达芬奇(Davinci)及其开发技术作一些探讨,其中包含基本开发理念、开发集成环境、数字视频配置工具和图形系统可视化工具四个方面。 
                        
                                                              图1 达芬奇软件集成结构框图

数字视频系统开发理念

        既然处理器自身只能用作数字视频解决方案的基础,那么管理数字视频系统的所有组件就成为极其复杂的工程难题。对于许多应用来说,数字视频只是更为庞杂的系统的众多组件之一。为了在真正意义上使开发人员克服最初的障碍并且加快产品上市进程,仅仅开发实施数字视频的基础芯片和软件已经远远不够。开发人员不仅需要处理器,还需要能够直接投入生产的理想代码。换言之,为了满足其应用的特定需求,开发人员还需要已经集成到可配置或轻松编程的数字视频子系统上的硬件和软件。

        数字视频系统的复杂性主要在于开发人员必须创建和管理的众多组件。为众多组件编写代码并且管理其间的交互将大大增加集成一套完整系统的难度。为此达芬奇技术通过提供开放式平台来降低系统复杂性,在该平台之上,德州仪器及其第三方合作伙伴已经开发和集成了构成数字视频系统所需要的各种组件,并且还集成了使任何工程师都能够实现数字视频创新所需的软硬件。
        在采用达芬奇平台进行开发中,最需要关注的就是全新的开发理念。成功实现数字视频需要四大要素,即处理器平台、开发工具、软件以及系统专业技术。由于能够在集成这四种要素的平台中实现数字视频、音频、语音与话音技术,因此达芬奇技术所支持的SoC平台针对灵活的数字视频实施而进行了精心优化,集成了可编程DSP内核、ARM处理器以及视频加速协处理器。凭借高效的处理能力、存储器、I/O带宽、平衡的内部互连以及专用外设组合,并以最低的成本为视频应用提供理想的核心动力。

        达芬奇技术在芯片级上充分发挥双处理器的协处理器功效,并辅之以强大的开发工具,以扩展其基于芯片的DSP技术能力,并结合高度优化的视频算法软件。开发人员不需要再费心于如何针对自己的基本创新进行编程和优化代码的细节问题,因此缩短了开发的周期。达芬奇技术通过更加简单易用的标准API组合来实现对这些创新的利用,这些API允许轻松利用可随时投产的编解码器(CODEC)。

        达芬奇技术使开发人员不再需要了解视频应用中实施具体CODEC引擎的细节,而可以较少的投入通过授权得到符合xDM标准的视频、影像、语音和音频软件,并通过配置工具植入SOC中。这样一来,开发人员便无需修改上层应用代码即可以使用理想CODEC的API,可以显著简化视频CODEC处理的具体低层次细节,而集中进行增值应用开发。如图1为达芬奇软件集成结构,其中包括信号处理层、应用层及底层核心程序。

        在完成软件集成之后,SOC的系统调试将是一个极其复杂的过程,所幸达芬奇技术可以提供数据可视化工具,这是业界首创的图形系统可视化技术的集中展现。开发人员只需要通过PC屏幕上多个图形窗口界面,直观地了解到程序运行的结果,并且在同一图象上显示ARM与DSP的任务运行情况。正是这种数据可视化工具提供了系统级数据流程的鸟瞰图以便实时地快速确认问题所在,因此实现了设计效率与总体性能的最大化。

构建数字视频集成环境

        针对数字视频创新应用,开放式平台的效力勿庸置疑,这可上溯到开放式开发平台曾经所引发的PC市场的爆炸性增长。TI的OMAP平台环境已经将移动电话应用开发提升到了一个新的高度,即通过集成软硬件使软件开发商仍然能够利用现有的系统,并集中精力开拓新市场及新的收入来源,如开发文本信息传输、铃声下载以及手机中的其它高级应用等。达芬奇技术同样将类似OMAP的集成环境概念融入到了广泛的数字视频应用中。

        达芬奇技术所提供的开放式开发平台通过开发集成环境可以支持多种底层操作系统和扩展更多的应用程序。达芬奇软件初始将支持Linux,将来会陆续支持其他操作系统。Linux支持的内容包括外设驱动器、实时应用管理、应用级API以及可随时投产的代码。针对视频而精心优化的、基于集成的DSP、专用型开发工具、调谐驱动器、CODEC以及系统级应用代码的整体组合使开发人员能够实现完整而复杂的数字视频系统,仅需少量函数调用即可提供编解码功能。

        完整的达芬奇软件架构涵盖低级的OS驱动程序乃至应用API,使开发人员无需投入过多力量编写及优化编解码器或进行DSP编程,即能够实现数字视频功能。最初的API基于Linux操作系统,使开发人员实施编解码器时不接触复杂的软硬件细节,这使他们不必修改应用代码就能实现多媒体编解码器互换。在创建应用时,开发人员能利用标准的OS开发环境编写业界认可的API,实现存储、网络及视频接口功能。而这些工作均可建立在同样的开发集成环境中。

        开发人员目前可借助数字视频评估模块(DVEVM)构建数字视频开发集成平台,进行数字视频系统评估与实施工作。DVEVM包含MontaVista2.6.10 Linux Preview开发套件以及MontaVista GNU 开发工具,还包括NTSC/PAL相机、LCD屏幕、预连线的视频编码及编解码器演示,还能用原视频流创建新的演示。DVEVM还可实现视频输入/输出连接、网络接口、存储器接口以及标准的子卡连接等,这使开发人员能够用DVEVM开发出理想的应用原型。采用DVEVM,开发人员可为ARM编写应用代码,直接适合投产的要求,并且还可通过达芬奇API访问DSP内核以立即开始已有DM6443及DM6446器件的应用开发工作。

         基于SOC的数字视频系统内部其实也是一种软件的高度集成,只是其中的软件均以微码的方式存在。在达芬奇软件平台中可以细分为多任务的CODEC,即视频(Video)、影像(Image)、语音(Speech)、音频(Audio),统称VISA。另外还包含具有多媒体框架组件的CODEC引擎远程服务器。由此构成的信号处理层(SPL)一方面通过VISA API接口与应用层(APL)连接,另一方面则通过DSP/BIOS与底层内核沟通。APL包含客户增值差异化设计软件模块,并通过Linux API沟通底层内核的许多外围接口驱动。 
                            
                                                            图2 达芬奇软件平台结构框图

        图2所示达芬奇的软件及平台构架图有助于进一步了解内部细节,其中包括ARM端linux上运行的应用程序,DSP上运行的CODEC引擎以及负责ARM与DSP通信的DSP/BIOS LINK等。所有的开发都可以在TI通用的软件集成环境(Code Composer Studio)中进行,其适于数字视频开发的最新版本为V3.2。

        在对达芬奇基本的硬件和软件平台有所了解之后,不妨尝试着建立起自主的基于达芬奇技术的数字视频集成开发平台,并达芬奇技术已经能够实现了数字视频背后的许多复杂细节,为数字视频应用提供强有力的支持。只要树立数字视频技术开发的新概念,开发人员将不必拘泥于繁琐的底层基础建立,不用受制于繁重DSP编程工作,而是可以通过有效的片上软件及应用集成,开发出具有优越性能和创新功能的数字视频应用和产品。