嵌入式媒体中心技术与实现
作者:Warren Webb,EDN技术编辑
有了台式电子产品和消费电子产品的示范,消费者现在期望嵌入式产品提供类似的多媒体性能。
大众对交互式多媒体的着迷,改变了我们设计某些嵌入式产品的方式。过去,设计人员构建多数嵌入式设备时关心的是功能,而不那么关心用户界面,然而,今天的客户不再满足于几个按钮和闪烁的LED。他们期望与PDA(存储和提供立体声)、手机(可以拍照)、膝上型电脑(再现全长度的电影)等到处使用的设备类似的多媒体性能。按照定义,嵌入式系统限制了处理资源和内存资源,以便把成本降到,因此,为了用户界面而塞入额外的计算能力和专用的媒体硬件,违反了传统设计规则。然而,与针对应用的计算能力相比,下一代嵌入式系统可能经常需要更多的计算能力用于用户界面。
多媒体功能包括文本、图形、动画、音频和视频的各种必要组合,来为用户提供直观的交互式系统界面。在某些应用中,简单的文本显示可以传达所有必要的信息,但在别的一些项目中则需要实时流视频。功能的多样性使人们无法定义一套通用的多媒体要求,不过,以媒体为中心的嵌入式系统的设计人员面对很多共同的问题。例如,一个较困难的问题就是利用小系统来捕获、生成并再现实时音频和视频流,而这些系统的处理资源和内存资源很有限。另外,把实时多媒体性能集成到那些具有自己独特实时要求的嵌入式应用中,这使设计难度成倍增加。
但多媒体功能可以给予某种寻常或复杂的产品新的生命力。例如,如果一本视听用户手册融合了交互式图形、示意图、故障排除树、操作情境,那么就可以极大地降低培训成本和现场产品支持成本。与此类似,如果能显示来自远程的、点播的流视频和音频,就可以大大提高各种连接到高带宽网络的嵌入式系统的价值。环绕声和3D图形可以给予产品新的虚拟现实、仿真和游戏功能,这是不具备环绕声和3D图形的同类设备做不到的。
多数多媒体策略将给嵌入式系统带来新的硬件和软件要求。针对大多数此类系统的设计需要视频和高保真音频数据压缩,以便在通信通道上传输或本地存储。除了系统内的高带宽数据通信通道以外,还需要各种压缩及解压算法,即编解码器,以及快速处理器或专用硬件。DRM(数字版权管理)软件也许是必要的,这取决于系统必须再现的信息。通往互联网或本地网络服务器的高速连接也是必要的,用于传输远程视频数据。如果操作系统具有实时功能、内置多媒体功能、设备驱动程序,就将节省开发时间。
有损压缩
多媒体应用很容易为数据压缩给出足够的正当理由。未压缩的、每像素具有24颜色比特、分辨力为600像素×800像素的图像,需要1.44MB存储空间。经过JPEG压缩后,该图像只需要上述存储空间的十分之一左右。对于视频,效果甚至更加戏剧性。一个720像素×480像素/帧、24比特/像素、30帧/秒的NTSC视频流,需要的数据速率超过20MB/s,需要超过36GB的空间来存储半小时片段,但根据算法和图像内容的不同,视频压缩可以按30:1左右的比例来降低对带宽和存储要求。多数压缩方法是有损失的,它们通过删掉图像中的数据来缩小文件大小。这种情况意味着:您无法从压缩数据地再现原始的未压缩图像。开发人员使用各种主观和客观的图像比较来判断压缩算法的质量。
针对照片和视频的典型压缩算法的工作方式是把图像分割成小块,然后把每个小块变换成频域表示。各种典型算法都对图像的8像素x8像素块执行离散余弦变换,产生64个频域系数。由于人眼对低频系数代表的大物体更敏感,因此,通过减少或排除很多高频系数,就可以压缩图像,并使人感觉到的变化达到程度。由于许多系数的值为零,因此行程编码用一个数代替了多个值,以缩小块尺寸。经过传输或存储之后,反向余弦变换把频率系数还原成8像素x8像素的图像块。正向余弦变换和反向余弦变换在处理要求方面相似,在一块典型的DSP上都只需要几百个指令周期。
当前流行的图像和视频压缩标准是由两家主要组织来定义和维护的。ITU(国际电信联盟)专门从事电信应用,并支持针对视频电话的各项H.26x标准。ISO(国际标准化组织)的重点是消费应用,定义了针对固定图像压缩的各种JPEG标准和针对视频的各种MPEG标准。ISO的JPEG成为了种流行的图像压缩标准,并仍用于大多数数码相机和互联网页。虽然开发者尚未广泛采用JPEG2000,但该标准把压缩效果改善了大约30%,这是因为它用离散小波变换代替了余弦变换。开发者们还普遍使用一些专有的压缩算法,比如RealNetworks公司的RealVideo和微软公司的WindowsMedia9。
ITU开发了H.261,这是该组织首批视频压缩标准之一,用于数据速率低、运动较少的视频会议应用。ITU在1990年推出了H.261作为种基于离散余弦变换的编解码器,用于那些支持的数据速率为64kb/s倍数的ISDN网络。H.261不用于分组网络中,它不工作于TCP/IP或互联网上。下一代ITU标准是H.263,它代替了H.261,并提供好得多的性能。它在互联网等分组网络上工作得更好,并支持更大的数据速率和图像尺寸。
ISO也开发了MPEG-1作为种视频压缩算法,目标是数字媒体上352像素x240像素视频的存储和检索。MPEG-1的输出比特率是1.15Mb/s,产生25:1的压缩比。为了谋求更高的分辨力,ISO创造了针对数字电视的MPEG-2。MPEG-2每帧720像素×480像素,每秒60帧,目标是各种数字应用,比如DVD、有线电视、卫星电视系统。虽然信号处理要求很高,但廉价的MPEG-2芯片编解码器目前普遍用于消费电子系统中。ITU和ISO都提倡一项新的行业标准,它出现于2003年,并在较低的比特率提供更高的质量,它就是H.264,或称MPEG-4第10部分(视频编码),它提供高得多的编码效率,并在低于1Mb/s的数据速率,提供广播质量的网上视频。H.264压缩算法包括一种离散余弦变换和块运动补偿预测(见图1)。与MPEG-2相比,H.264把全长度的高清晰度电影压缩到一张DVD光盘上。
更短的声音
虽然视频压缩是困难的计算问题,但数字音频也可以经历类似过程来节省嵌入资源。MP3、WMA、RA、AAC都是针对音频文件的有损编解码算法的例子,提供大约10:1的压缩比,这取决于编码参数。
除了编解码器以外,以媒体为中心的嵌入式系统还可能包括DRM软件来处理一些版权保护的材料。DRM方案旨在加强版权所有者定义的版权或其它使用限制。例如,DRM可以限制用户再现这些材料的地点、时间或次数。DRM用在编码器或解码器的压缩数据端,这儿的数据速率较低。虽然细节通常是保密的,但多数DRM算法都比编解码器更简单,更容易实现。FairPlay是苹果电脑公司针对AAC格式音频文件的DRM,它对用户从iTunes音乐商店购买的音乐做了限制,使它们多只能在5台电脑上播放。不过,在FairPlay发布之后,黑客们很快就设计出了软件,破解了文件中的FairPlayDRM加密,同时不影响音频。
虽然了解压缩技术的细节是件重要的事情,但您通常可以通过现货供应的硬件、软件和开发工具来满足嵌入式多媒体要求。例如,Parvus公司近推出的MPEG104使PC/104嵌入式系统能够捕获高质量音频和视频流,把它们编码成MPEG-1或JPEG格式,并把它们送到本地电脑主机(见图2)。Parvus的这种模块基于WinbondW99200F视频编码器,并支持完全NTSC或PAL帧频的4路复合视频输入和1路立体声输入。这种卡包括一个2MBSDRAM帧缓冲器来存储输入视频的单帧画面或视频快照,它可以对720像素x576像素的帧尺寸进行编码。MPEG104的目标是视频监视、录制、工业监视、运动检测等应用,售价是226美元(100件)。
在嵌入式产品中实现高质量多媒体的另一种方法,就是选择一种配备内置媒体功能的现货供应的电脑系统。DensitronTechnologies公司的DPX-114单板电脑就是这样的一个例子(见图3),应用于视频游戏机、信息站、售票机。这种7.7英寸×5.8英寸的嵌入式PC板包括一个1GHzTransmetaCrusoe处理器和ATIMobilityRadeon图形卡。该模块提供板上硬件安全功能,比如数据加密、数据解密、安全密钥存储,但在播放MPEG-4视频时,功耗仅为5W。Densitron还提供一种针对DPX-114的开发站,它包括电脑板、硬驱、DVD光驱、电源、背板,以及所有必要电缆。该系统引导后进入WindowsXPEmbedded或Linux,并带有示范代码、驱动程序、基准程序、演示程序。
对于军用多媒体应用,比如海军操纵台、武器控制系统、雷达系统、移动式战术行动中心,RGBSpectrum公司提供RGB/View80006UVME多窗口显示处理器(见图4)。该处理器在一个高分辨力显示设备上显示6个实时视频或电脑生成的图像。它能以高达1920像素x1200像素的分辨力来处理RGB、NTSC/PAL、S-Video、DVI、雷达、声呐、X光输入。您可以独立地定位、伸缩、覆盖或交迭显示窗口。另外,您可以在每个图像内查看全景和变焦。
更快的图形卡
XXS3DI多媒体图形卡是MyCableGmBH公司一系列模块中的一款产品。该公司的这种图形卡基于富士通公司的Coral-P,配备64MBSDRAM、一个2D/3D图形加速器、阿尔法混合、一个几何引擎、6层独立的显示层(见图5)。XXS3DI具有两路模拟视频输入和两路ITU656数字视频输入,以及DVI、TFT和电视输出。该图形卡配有一个CPU模块、外壳、背板、Linux支持软件,价格大约是1200美元。
MediaExcel公司提供的SoftStreamPlayer是作为嵌入式产品的纯软件多媒体附件,它是一种实时MPEG-2、MPEG-4和H.264解码器,针对运行WindowsCE或Linux的x86处理器。SoftStreamPlayer的目标是机顶盒、互联网电视、数字媒体接收器、数字多媒体广播、富媒体互联网家电等应用,它运行在IntelCeleron、ViaC3和TransmetaCrusoe处理器上。该软件支持速度高达10Mb/s的MPEG-2流实时解码、速度高达5Mb/s的MPEG-4流实时解码、速度为256kb/s~1Mb/s的H.264实时解码。该公司声称,在使用733MHzCeleron和815芯片组的情况下,这种实时音视频同步解码应用软件占用的CPU资源不到55%。
对于深度嵌入式设备,这些硬件和软件升级的成本太高,无法实施。然而,您可以利用一些捷径来创建以媒体为中心的用户界面。例如,您可以利用连接到PDA、膝上型电脑、手机等通用设备的短程无线连接,来创建图形界面。蓝牙、802.11、红外线,甚至电缆连接都能实现多媒体互动,并且开发工作量少得多,硬件成本。如果嵌入式设备配备网络连接,那么您就能轻松创建从任何浏览器都能访问的多媒体用户界面。远程网上服务非常适合资源有限的嵌入式设备,这是因为很多计算能力都驻留在别处。远程软件把简单的命令发到嵌入式设备,并从这些设备收集原始数据,然后创建一个精致的用户界面,具有任何预想的多媒体特性。网络连接还能实现远程软件更新、故障排除和性能监视。通过把计算任务卸载到远程处理器,您甚至能明显提高设备的性能。
随着会聚的文本、图形、动画、音频和视频在电脑和消费电子产品中普及,嵌入式系统设计者必须提供类似的多媒体功能,以便保持竞争力。借助大量现货供应的硬件和软件产品,嵌入式系统设计者现在拥有多种工具,来把的音频和视频接口包含到每个系统中。压缩算法的改善和大批量芯片的上市将使成本降低,并借助新一代产品来更容易地为复杂的多媒体功能找到正当的使用理由。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。