首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
用DSP实现MPEG音频层III压缩的加速方法
来源:本站整理  作者:佚名  2011-10-05 10:14:36



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的指令周期。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:23,808.59000 毫秒