位置:51电子网 » 技术资料 » D S P

消费性多媒体产品硬软件系统的互操作性测试

发布时间:2007/8/28 0:00:00 访问次数:536


        在消费性媒体产品的开发中,音、视频编解码器所面临的软件开发挑战是最严峻的。算法需要消耗巨大的资源,人们对音、视频品质的要求日益提高,采用低价处理器带来许多限制,这一切都使得开发一个成功的媒体产品更加困难。仔细进行软件优化和测试,精心选择元件,这些才能帮助开发人员应对这样的软件开发挑战。

图1:消费性媒体产品的简化软件结构。

        您在消费性产品的研制中是如何开发音视频软件的呢?本文中,两位专家将根据多年的实际经验给您提供一些指导性的意见。消费性媒体产品中的音、视频软件有时十分复杂,涉及实时信号处理、网络协议、复杂的I/O,以及精细的用户接口。本文探讨了在实现消费性产品中的音、视频(A/V)软件时需要考虑的几个重要方面,尤其是编解码器软件。文中介绍的方法都是在多年开发机顶盒、蜂窝电话、PDA、互联网设备等产品的音、视频软件的经验上总结出来的。

媒体设备的软件组成

        消费性媒体设备通常是个复杂的系统,其中包含几个软、硬件子系统。图1给出了主要的软件子系统,其中有播放器、压缩算法(图中以编码器和解码器,即编解码器表示)、I/O模块和实时操作系统(RTOS)。RTOS主要为多任务实时应用提供关键的任务调度和任务切换服务。其中,编解码器是对计算能力要求最大的一部分,在设计这部分时,需要进行大量的软件优化工作。因此,我们在讨论软件优化时,主要讨论编解码器的优化,但我们所介绍的技术也可以用于其他类型的A/V软件。

编解码器软件设计

        编解码器的作用是压缩音频和视频内容以便传输或存储,或者将压缩后的内容解压,以便播放。如今在消费性产品上应用的编解码器算法有很多种,表1中列出了几种常用的A/V编解码器算法。

        MPEG-2视频算法是当前用得最多的视频压缩算法。MPEG-2标准于1994年发布,至今该算法已经在DVD电影、机顶盒和卫星电视(DSB/DVB)等应用中广泛使用。此外,微软的Windows Media Video和RealNetworks的RealVideo等视频压缩算法也很常用。

        用于音频压缩的MPEG格式一般是MPEG-1/2 layer III,也叫“MP3”。Windows Media Audio(WMA)和 Dolby AC-3(也叫做Dolby Digital)在音频压缩上也用得很多。许多便携式数字音乐播放器都支持WMA,而几乎所有的DVD都采用AC-3音频压缩。

        根据所选的算法不同,编解码器软件可以由编解码器创建者、芯片厂商或者独立的开发商提供。这些厂商在提供编解码器软件时可以选择多种方式,可以是可读性较高(但效率不高)的高级参考实现,也可以是针对某个特别的处理器进行高度优化的软件实现。虽然常用处理器都有一些现成的优化编解码器实现,但系统开发商往往还是需要针对特定的产品进行编解码器软件的实现、优化,甚至可能是定制。

图2:迭代优化过程。

软件优化

        在消费性媒体产品的软件中,音、视频编解码器通常是对资源需求最大的一部分。现今的产品数据率高,采用的算法对计算能力要求也较高,并且常用价格较低(也可能是低功耗)的处理器,因此要想设计出具有竞争力的消费性媒体产品,往往需要对编解码器软件进行仔细优化。即便是在并非严格要求优化的情况下,优化仍是有益的。通过优化可以降低功耗,将处理器资源解放出来以便添加更多其他特性,或者方便较低价处理器的使用。

软件的效绩性能

        编解码器软件的优化过程可以针对几个不同的性能方面进行,如软件运行速度、存储器使用情况、能耗大小以及音频/视频质量。有时,在对某个性能进行优化时,另一种性能也得到了优化,而有时不同性能的优化要求又会产生冲突。大多数情况下,开发商都会主要针对运行速度、存储器的使用和能耗这三个方面进行优化,而信号的音频和视频质量只需保持在一个足够的范围内即可。

        为使设备具备实时性,通常需要针对软件实现的运行速度进行大量优化。之所以需要进行如此高级的优化,原因主要有二:一是压缩和解压算法(这


        在消费性媒体产品的开发中,音、视频编解码器所面临的软件开发挑战是最严峻的。算法需要消耗巨大的资源,人们对音、视频品质的要求日益提高,采用低价处理器带来许多限制,这一切都使得开发一个成功的媒体产品更加困难。仔细进行软件优化和测试,精心选择元件,这些才能帮助开发人员应对这样的软件开发挑战。

图1:消费性媒体产品的简化软件结构。

        您在消费性产品的研制中是如何开发音视频软件的呢?本文中,两位专家将根据多年的实际经验给您提供一些指导性的意见。消费性媒体产品中的音、视频软件有时十分复杂,涉及实时信号处理、网络协议、复杂的I/O,以及精细的用户接口。本文探讨了在实现消费性产品中的音、视频(A/V)软件时需要考虑的几个重要方面,尤其是编解码器软件。文中介绍的方法都是在多年开发机顶盒、蜂窝电话、PDA、互联网设备等产品的音、视频软件的经验上总结出来的。

媒体设备的软件组成

        消费性媒体设备通常是个复杂的系统,其中包含几个软、硬件子系统。图1给出了主要的软件子系统,其中有播放器、压缩算法(图中以编码器和解码器,即编解码器表示)、I/O模块和实时操作系统(RTOS)。RTOS主要为多任务实时应用提供关键的任务调度和任务切换服务。其中,编解码器是对计算能力要求最大的一部分,在设计这部分时,需要进行大量的软件优化工作。因此,我们在讨论软件优化时,主要讨论编解码器的优化,但我们所介绍的技术也可以用于其他类型的A/V软件。

编解码器软件设计

        编解码器的作用是压缩音频和视频内容以便传输或存储,或者将压缩后的内容解压,以便播放。如今在消费性产品上应用的编解码器算法有很多种,表1中列出了几种常用的A/V编解码器算法。

        MPEG-2视频算法是当前用得最多的视频压缩算法。MPEG-2标准于1994年发布,至今该算法已经在DVD电影、机顶盒和卫星电视(DSB/DVB)等应用中广泛使用。此外,微软的Windows Media Video和RealNetworks的RealVideo等视频压缩算法也很常用。

        用于音频压缩的MPEG格式一般是MPEG-1/2 layer III,也叫“MP3”。Windows Media Audio(WMA)和 Dolby AC-3(也叫做Dolby Digital)在音频压缩上也用得很多。许多便携式数字音乐播放器都支持WMA,而几乎所有的DVD都采用AC-3音频压缩。

        根据所选的算法不同,编解码器软件可以由编解码器创建者、芯片厂商或者独立的开发商提供。这些厂商在提供编解码器软件时可以选择多种方式,可以是可读性较高(但效率不高)的高级参考实现,也可以是针对某个特别的处理器进行高度优化的软件实现。虽然常用处理器都有一些现成的优化编解码器实现,但系统开发商往往还是需要针对特定的产品进行编解码器软件的实现、优化,甚至可能是定制。

图2:迭代优化过程。

软件优化

        在消费性媒体产品的软件中,音、视频编解码器通常是对资源需求最大的一部分。现今的产品数据率高,采用的算法对计算能力要求也较高,并且常用价格较低(也可能是低功耗)的处理器,因此要想设计出具有竞争力的消费性媒体产品,往往需要对编解码器软件进行仔细优化。即便是在并非严格要求优化的情况下,优化仍是有益的。通过优化可以降低功耗,将处理器资源解放出来以便添加更多其他特性,或者方便较低价处理器的使用。

软件的效绩性能

        编解码器软件的优化过程可以针对几个不同的性能方面进行,如软件运行速度、存储器使用情况、能耗大小以及音频/视频质量。有时,在对某个性能进行优化时,另一种性能也得到了优化,而有时不同性能的优化要求又会产生冲突。大多数情况下,开发商都会主要针对运行速度、存储器的使用和能耗这三个方面进行优化,而信号的音频和视频质量只需保持在一个足够的范围内即可。

        为使设备具备实时性,通常需要针对软件实现的运行速度进行大量优化。之所以需要进行如此高级的优化,原因主要有二:一是压缩和解压算法(这

相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!