消费类音频/视频设备和流媒体应用的发展一直在使芯片供应商和系统制造商通过各种途经寻找在不同设备之间传递内容和控制信息的最佳方法。尽管层出不穷的设备和功能越似乎多得失去了控制,但人们在中间件级别上的标准化努力还不能马上为设计师解决编程的难题,以使得他们能够最大程度地提高应用软件在多个设备之间的可移植性。ALT="图1:“使用情景”的概念解析图">
格式、功能和性能的组合似乎正无穷无尽地出现,新的设备不仅要能够处理JPEG、MPEG 1-4、MP3和其他高清晰度标准,而且还必须能够处理传统的模拟视频格式(如NTSC和PAL)。
由芯片和软件组成的系统必须满足至少两个方面的要求:多种分辨率和逐行/隔行扫描模式。如果这还不足够,那么还必须支持多种显示器类型。例如,与CRT相比,新出现的平面显示器需要新的画面增强软件的支持。
为了充分了解支持多重标准或格式的难度和复杂程度,我们只需描述一下从一张DVD光盘中向个人视频录像机(PVR)传送内容所需要的编解码转换诸多操作中的三项内容:1)编解码配置:编解码器必须完全配置以支持正确的视频和音频格式(MPEG-2, MPEG-4等),编码参数(比特率,质量等)和流类型(传送流,节目流等);2)编解码控制:编解码器必须了解流何时开始何时结束,如何获知比特率,向何处输出等问题;3)编解码操作:编解码器必须将实际音频、视频数据编码、译码为正确的格式。
这些操作都涉及到内容和基本的控制功能。在理想情况下还需要传递许多与增值业务相关的信息,例如DVD用户接口信息,这可使得终端用户能够借助磁轨索引和其它一些特别功能浏览PVR的数据内容。
以上诸多因素造成的结果是,所有这些内容类型以及多媒体信息处理所要求的数据速率的持续增长,已经无法单靠硬件或软件来有效地满足。因此,我们必须关注以往通常被称为硬件/软件接口的部分。
多种多媒体应用不允许中断。系统必须能够接收、译码、转换和显示不同格式的多个数据流,包括MPEG-2、NTSC、PAL和音频。
从系统的角度来看,处理流媒体所需的系统架构通常包括一个控制处理器、多个处理音视频(A/V)内容的DSP、适合流媒体需要的统一存储架构、多条为特定硬件加速器和处理器服务的内部总线、以及将上述组件集成为一个工作系统的软件体系结构。
在这样的一个媒体处理平台上,控制处理器运行操作系统和图形与应用软件。与此同时,DSP运行实时操作系统并处理媒体流。这些处理器是单一集成系统的组成部分,共享统一的存储资源。这使得这些处理器可以交换处理任务以平衡计算负荷,以及节省存储资源。
总线架构的核心部分是一条点到点存储总线,它将外部SDRAM与硬件平台的外围设备连接起来,实现高吞吐量、低时延的直接存储器访问。
软件体系结构的首要任务是支持硬件系统,它通过多媒体数据库中的组件来执行大多数A/V流处理任务,包括数字化、处理和播放。
今天消费类A/V系统的增值应用软件已成为体现系统价值的一个重要组成部分,而且其重要性与日俱增。不过,如果把增值应用软件与市场上的PVR、DVD和其它A/V设备任意排列组合,那么其组合数字正大得难以控制。
每一种A/V设备都需要不同的中间件,主要用于实现在其支持设备间提供互操作性的系统规范。消费类A/V中间件的例子有多媒体家庭平台(MHP)、DVD导航器和开放线缆应用平台(OCAP)。
中间件可以解决上述问题,但也带来了新的课题,那就是如何经济有效地进行软件移植。目前业界广泛采用的一项访问设备内音视频功能的标准能够解决这个问题,从而受到了从半导体供应商、系统开发商到软件开发商的欢迎。这项标准就是Universal Home API或Uhapi ()。
Uhapi可通过一个精心设计的A/V软件层实现,它可用来优化性能和利用每颗兼容IC的架构与功能特性。软件层将API抽象为任务级别,使得数字电视应用中的中间件(如MHP和OCAP等)非常易于移植。内置的高级功能模块使程序员无需人工编写与实时系统和流应用相关的复杂代码。比如,程序员一般只需把与流媒体功能有关的A/V组件组装起来,如解调、解扰码、译码、增强并播放,然后再确定输入端、定时、任务优先级、内存分配、实时行为、缓冲管理、优先级设定以及A/V同步等参数。
“使用情景(use case)”概念的引入使得API对应用软件开发者来说变得更加重要,若某台设备要与其它任何API兼容的设备连接,仅需选择使用情景(如“播放DVD”),通过中间件连接即可。此时,连接管理程序自动生成媒体处理任务,执行与之相关的管理步骤,如优先级设置和同步等。
今天,应用软件开发人员还必须编写复杂的代码来连接A/V组件。借助API,这项工作实质上被简化为函数调用,程序员可以放心地编写应用代码,无需担心硬件和中间件有多么复杂。
Hans van Antwerpen (pen@) 是飞利浦半导体公司的首席软件架构师和专家。
作者:Hans van Antwerpen
首席软件架构设计师和技术专家
飞利浦半导体公司