用DSP实现MPEG音频层III压缩的加速方法

发布者:创意小巨人最新更新时间:2011-09-27 关键字:MPEG  音频压缩  ADSP2181 手机看文章 扫描二维码
随时随地手机看文章
   1 概述

  数字音频压缩技术给人们提供了一种更为有效的音频存储、传输方法。音频压缩的技术有很多种,它们的复杂度、音频压缩质量、以及压缩比都有很大的差别。如:μ-law音频压缩算法,其特点是简单,但压缩比很低,但音质一般。根据CCITT G.711建议,采用自然对数的量化过程,在输入幅度比较小的时候能够提供比较大精度的量化,而对于出现概率比较小的大幅度信号,量化噪声相对而言则较大。这种量化方式使得8 bit的数字量化信号在量化噪声效果上等同于14 bit的线性量化。而ADPCM压缩编码则充分利用了相邻的抽样值幅度变化比较小的特点,编码输出结果是当前抽样值与预测值的差值。虽然ADPCM编码的保真度较高,但其压缩比却比较小,只能够达到4/1的压缩比。改进的ADPCM编码方法有IMA (Interactive Multimedia Association)提出的改进算法,CCITT的G.721,G.723建议等[1]。

  MPEG(Motion Picture Expert Group)音频压缩标准提供了一种高保真度,高压缩比的压缩算法。在ISO11172-3标准中,描述了具有不同复杂度和性能的子带音频编码方案,以适应各种高音质数字音频的应用。根据编码计算复杂度及编码效率的不同,分为层I,层II和层III三种标准。

  MPEG音频标准最初来源于被分为四种类型的算法草案,它们是音频频域感觉熵编码ASPEC(Audio Spectral Perceptual Entropy Coding),掩蔽模式通用子带集成编码与多路复用MUSICAM(Masking-pattern Universal Sub-band Integrated Coding and Multiplexing),子带ADPCM SB/ADPCM(Sub-Band Adaptive Difference PCM)。经过一系列的客观和主观音质测试,考虑到不同比特率下的音质,对传输比特错误的敏感性,编码/解码复杂度,以及编解码延时等因素,在大约100 kbit/s低码率下,ASPEC和MUSICAM表现出最好的音质效果。在低码率(64 kbit/s)时,ASPEC表现出更为出色的音质,而MUSICAM则在编码解码的复杂度和延时上略胜一筹。根据ASPEC的若干算法,对 MUSICAM进行改进,加大了计算复杂度,但获得了更好的压缩比及音质,这就是ISO11172-3音频层III的标准。

  层I是最简单的一种算法。如Philips公司的数字盒式录音机DCC(DIGItal Compact Cassette)便是利用层I的压缩算法,其应用的比特率为192 kbit/s每通道。

  层II具有中等的编码复杂度,适用比特率大约为128 kbit/s每通道。广泛应用于数字音频广播DAB(Digital Audio Broadcasting)的音频编码及视频CD中。

  层III是最复杂的编码算法,但是在相同的比特率下,它所提供的音质也是最好的。典型的比特率为64 kbit/s,最适合于ISDN上的音频传输。

  1998年4月22日,APT(Audio Processing Technique)公司利用Apt-X100系统,通过ISDN线路,成功地转播了北京—东京—上海的“国际地球日”大型广播音乐会。但是,这次转播占用了3条(即6个B)的ISDN线路,以保证22 kHz频响的立体声传送,这是由于Apt-X100系统采用的是SB/ADPCM音频压缩方法[2]。然而,如果使用MPEG层III音频压缩方法,只需要一条ISDN线路,就可以实现22 kHz频响的立体声传送。由于MPEG层III音频压缩编码复杂度太高,运算量太大,难以用一般的DSP(Digital Signal Processor)单片实现,所以在目前的音响设备中很少使用这一算法。为了能用较低的成本实现MPEG层III这一高效音频压缩算法,我们对这一算法进行了全面分析,提出了适用于DSP实现的编码加速方案。

  2 MPEG音频层III压缩编码流程及特点

  MPEG音频层III压缩编码流程如图1所示,相对于层Ⅰ和层Ⅱ而言,其特点在于:

MPEG音频层

图1 MPEG音频层Ⅲ编码流程图(单声道模型)

  (1)利用独立于信号频率及声压级的耳蜗扩散函数(Cochlea spreading function)—Modified Rounded 类扩散函数,计算人耳听觉的掩蔽门限。

  (2)增加了MDCT模块,以提高频率分辨率。

  (3)通过控制环,对非均匀量化率进行迭代分配,以保持相对恒定的信噪比。并且,采用不定长熵编码—Huffman编码,对量化后的各子带信号可以获得更好的数据压缩比。

  将层III编码算法流程分成:(1)时频映射,(2)心理声学模型,(3)量化编码等三大功能块。时频映射中,是多相混合滤波器组(Polyphase/MDCT Hybrid Filter Bank)的计算,这是较规范的计算,其运算量是可计算的。而且有各种快速算法,以降低运算复杂度。心理声学模型的计算,主要运算量集中在1 024点和256点的FFT。不过,这是比较标准的计算过程,无论用哪种FFT都可以精确估计其运算复杂度。而量化编码是通过迭代循环来完成,其循环控制变量是不确定的,再加上Huffman码表的查找表过程,使其运算量和复杂度难以预测和估计。因此,我们认为:量化编码部分的规范化是优化MPEG音频层 III编码的突破点。

 

  层III编码器迭代循环与量化编码部分完成的功能是:将子带滤波和MDCT变换后的样值进行量化并根据心理声学模型的计算结果进行量化噪声的控制,使得在一定比特率要求的情况下完成频域信号的Huffman编码。层III量化编码部分的迭代循环分为内循环和外循环,参考文献[1]中FigureC. 9.a,C.9.b,C.9.c给出了量化编码的迭代循环流图。

  3 用DSP实现音频层III压缩的主要问题及解决方案

  DSP编程并不提供像C语言一样的灵活指针、数组寻址操作。在用DSP实现音频层III压缩中的迭代循环量化编码时,由于涉及到非规则性的大量数组寻址操作,而消耗大量指令,降低了DSP的利用率,抑制了编码的实时实现。因此,不规则的类似表查询指令,需要经过很好的组织才能够使程序结构清楚,简洁,高效。

  3.1 Huffman编码的多重地址索引

  层III编码中的Huffman编码是一个穷举、查表的过程。在参考文献[1]表B.7中列出了用于层III编码的32个Huffman码表。它们的最大值域范围,码表适用的信号统计特性都不相同。在编码过程中,首先找到能够将所要编码区域样值的最大值,并依次查询各个Huffman码表,直到该码表能够对这一最大值进行编码为止,然后计算用该表进行编码所需的比特数。再尝试相同编码值域范围的另一些码表,找到最小比特数需求的码表进行最后的编码。

  由于标准中所提供的32个表中,并非所有的表都能用,而且有大量的码表只是linbits不同。因此如何存储这些码表,并能够很方便地进行查询、编码,是编码过程中很关键的问题之一。但提出的“多级索引”方法可以很好地的解决这一问题。过程如图2所示。对可能的表有不同的处理方式:

Huffman编码的多重地址索引

图2 Huffman编码的多重地址索引

  •   正常表 如表15,即每一级索引都是对应于表15的各项信息。
  •   无效表 如表14,其最终的指向是码表零,即相当于无效表。
  •   雷同表 如表16和17实际上只是在第II级索引的linbits不同,其最后的Huffman数据是相同的。通过这样的多级码表地址索引可以很好的解决程序的模块化实现。

  3.2 层III编码迭代循环的加速

  在迭代循环编码部分,对于使用标准中所建议的初始量化常数进行量化和编码时,初始比特数要求要远远大于所允许的上限值。这时,如果只是将步长加一进行再次量化编码,将会使得系统效率大大地降低。

  经过实际的实验结果,一般初始可获得比特数大约为700 bits/Granule,而初始的量化编码结果一般在5 000 bits以上。如果再次量化步长加上20,可以迅速地逼近所要求的比特数。表1列出了一种我们使用的可能加速逼近方法。

表1 一种可能的迭代循环加速方法

一种可能的迭代循环加速方法

  在AD(Analog Device)公司的定点DSP芯片ADSP2181上实际的运算结果表明,这种加速方法能够将原算法的指令运算周期减少2/3左右。

  4 结束语

  MPEG音频层III压缩标准是一种高效、高保真的压缩编码算法,但由于其复杂度和运算量较高,很难用一般的DSP实时实现。在对该算法进行全面分析的基础上,提出了在用DSP实现时,降低复杂度、提高DSP运算效率的关键是优化循环迭代量化编码。提出“Huffman编码的多重地址索引”,对非规则性的大量数组寻址操作提供了简明清晰的线条,节省了寻址指令,提高了DSP的利用率。进一步还提出了“迭代循环的加速”方案,通过ADSP2181定点芯片的运算,表明该方案能减少2/3的指令周期。

关键字:MPEG  音频压缩  ADSP2181 引用地址:用DSP实现MPEG音频层III压缩的加速方法

上一篇:TMS320TCI6612/14助力小型蜂窝基站实现高性能
下一篇:基于DSP的数字频率计设计

推荐阅读最新更新时间:2024-05-02 21:36

MPEG授权机构来华收钱,坦言不会降低费用但可延付
知识产权授权机构MPEG LA采取行动进一步深入中国市场,该机构日前在北京签署了数项协议。其中,与中国产业组织签署的协议涉及MPEG-2专利组合,可能促使本地的DVD播放器等消费电子产品出口商更好的遵守相关协议。 中国DVD播放器制造商与DVD专利权持有者MPEG LA之间的关系一直比较紧张。MPEG LA的总裁Larry Horn表示,在北京与代表DVD播放器制造商的产业组织签署的上述协议,暗示中国愿意在知识产权保护方面取得进展。但他承认,MPEG LA仍需与中国众多的DVD制造商签署单独的协议。这件事可能很难办,而且更困难的事情可能是如何收取专利费。 Horn表示,没有就降低对中国DVD生产商收费的事情签署协议,他
[焦点新闻]
基于DSP的实时MPEG-4编码的软件优化设计
    摘要: 结合开发工具TMS320C6201EVM板的结构和特点,阐述了在实现MPEG-4实时视频编码中,对算法的软件优化所做的工作。     关键词: TMS320C6201 MPEG-4 优化 并行处理 TMS320C6201芯片是TI公司新推出的并行处理的数字信号处理器。它的最高处理能力高达1600MIPS,即16亿万次每秒定点运算,是目前市场上所有的DSP芯片中速度较快、处理功能较强的DSP处理器。其应用前景十分广泛。本文利用C6201开发工具EVM(模拟评估)板,用软件实现实时MPEG-4编码。详细探讨了MPEG-4视频编码中的关键模块,并针对TMS320C6000的物理指令结构,对软件优化的特
[嵌入式]
基于内容的信息存取与MPEG-7
一、什么是MPEG-7   现在,我们面临的将是一个分布的计算环境,视听信息在分布环境中创建、交换、检索和重用。因此,需要开发一种视听信息的“表示(Representation)形式”,它超越基于波形或基于样本、基于压缩(如MPEG-1和MPEG-2)甚至是基于对象(如MPEG-4)的表示,这就需要“表示形式”允许某种程度的对信息含义的注释,同时设备或计算机代码可以传递和存取这些注释。 1996年10月,MPEG开始了一项新的工作,以提供对以上问题的解决方案。这个MPEG家族的新成员被称为“多媒体内容描述接口”(Multimedia Content Description Interface),简称为MPEG-7。其目标就是产
[嵌入式]
MPEG-4实时编码器在ADSP-BF533上的实现
引言   MPEG-4视频编码技术可以在较小的带宽下传输高质量的视频数据,节省大量存储空间,但编码复杂度也较高,目前丰要有3种实现方案:在通用PC上编程实现;通过ASIC硬件实现以及使用通用DSP芯片实现。与前两者相比,通用DSP芯片实现方案具有以下优势:运算性能强;可升级性好,与PC类似,通用DSP芯片的功能仍是通过编程来实现的,能快速、方便地进行软件升级及添加新的功能,以适应技术发展和市场变化;成本低、功耗低、适应场合广泛。 系统硬件设计   编码系统处理核心为ADSP-BF533(以下简称BF533),利用其多功能并行接口PPI采集视频数据,该PPI具有DMA功能,无需内核干预便可进行高速数据传输,传输完成后
[嵌入式]
基于OMAP的MPEG—4实时解码器的实现
摘要:提出了一种在TI OMAPl510上实现MPEC—4实时视频解码的方法。该方法充分利用了0MAP双核的特点,同时采用软件优化来满足实时的要求。仿真结果表明,该方法在保持质量的情况下有较快的解码速度,适合在无线终端实现多媒体的应用。 关键词:OMAPl510 MPEC—4解码器 实时解码 优化 随着移动通信和多媒体技术的发展,人们对通信的要求已不满足于传统的语音业务,而是追求更高品质的视频、音频等多媒体信息服务。在多媒体通信中,视频区别于音频和文字的显著特点是其大数据量以及高处理复杂度。现有的移动终端一般采用DSP芯片作为核心,DSP芯片在数据处理方面具有较多的优势,但其系统处理和控制能力比较弱。第三代移动通信(3G)终端
[嵌入式]
基于ADSP2181的CAN总线通讯设计
  现在CAN总线除了被用于汽车系统内部的数据通讯与控制,他已在工业自动化、各种控制设备、交通工具、医疗仪器以及建筑、环境控制等各领域得到广泛的应用。而这里被用于成套测井仪器中各仪器之间的数据通讯。    1 CAN与DSP的接口电路   以ADSP2181和SJA1000芯片设计的接口电路如图1所示。图1中,用1片GAL16V8作为逻辑转换电路。为突出接口电路,其他部分从略。   用FM书写的设计文件如下:   2 波特率的设定   BTR0和BTR1是总线定时寄存器,通过对这2个寄存器的设置可以惟一地确定波特率和同步跳转宽度。BTR0各位功能如图2所示。BTR1各位功能如图3所示。
[嵌入式]
基于ARM的MPEG4视频解码器
  1 引 言   本文旨在研究基于ARM微处理器的MPEG-4视频解码技术,主要应用在手持移动设备中。利用嵌入式系统实现MPEG-4视频解码,处理器的选择是关键。在嵌入式系统中常用的RISC处理器是ARM核,主要是因为它具有体积小,功耗低,成本低,性价比高的特点,这对于移动应用领域非常重要。ARM7系列微处理器为低功耗的32位RISC处理器,最适合于对价位和功耗要求较高的消费类应用。本解码器定位于低分辨率和低帧率的应用场合,因此选择在ARM7TDMI核上实现解码功能。要实现更高帧率和分辨率的解码,可将软件直接应用在更高端的处理器上。    2 MPEG-4视频解码算法的优化与实现   MPEG-4标准可以划分为一套子标准,标
[家用电子]
采用定点DSP处理芯片ADSP2181的语音信号的识别
近年来,高性能数字信号处理芯片DSP(Digital Signal Process)技术的迅速发展,为语音识别的实时实现提供了可能,其中,AD公司的数字信号处理芯片以其良好的性价比和代码的可移植性被广泛地应用于各个领域。因此,我们采用AD公司的定点DSP处理芯片ADSP2181实现了语音信号的识别。   1 语音识别的基本过程   根据实际中的应用不同,语音识别系统可以分为:特定人与非特定人的识别、独立词与连续词的识别、小词汇量与大词汇量以及无限词汇量的识别。但无论那种语音识别系统,其基本原理和处理方法都大体类似。一个典型的语音识别系统的原理图如图1所示。      语音识别过程主要包括语音信号的
[嵌入式]
采用定点DSP处理芯片<font color='red'>ADSP2181</font>的语音信号的识别
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved