[发明专利]一种用于音频解码的定点修正离散余弦反变换的方法有效
申请号: | 201010608334.9 | 申请日: | 2010-12-28 |
公开(公告)号: | CN102200963A | 公开(公告)日: | 2011-09-28 |
发明(设计)人: | 赵颖 | 申请(专利权)人: | 上海山景集成电路技术有限公司 |
主分类号: | G06F17/14 | 分类号: | G06F17/14;G10L19/00 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 王松 |
地址: | 200135 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 音频 解码 定点 修正 离散 余弦 变换 方法 | ||
技术领域
本发明属于计算机技术领域,涉及一种用于音频解码的定点修正离散余弦反变换的方法。
背景技术
修正离散余弦反变换(IMDCT)在音视频信号编码中已得到广泛地应用,但其计算量很大,因此其快速算法在实时编码系统中显得尤为重要。在MP3,WMA,AAC(MP4)等主流音频解码方案中,修正离散余弦反变换(IMDCT)模块也是一种普遍使用的模块。对于其具体的软硬件实现,除了简单按照其原始公式来运算外,通常还有相应的快速算法。为了保证最终音频解码输出的PCM值的精度(通常为16位比特),IMDCT的输入输出及其中间结果一般都使用更高的比特数来存储。譬如将目前较常用的纯24位或者纯32位比特数作为数据的存储位宽,如图1和图2所示。
图1中,输入数据xr[N]经过IMDCT处理后,再与修正数据overlap_in[N]经加窗及叠加处理,最后输出数据sample[N]和更新的修正数据overlap_out[N]。在整个运算过程中,所有的数据的存储位宽均为纯24位比特数。
图2中,输入数据xr[N]经过IMDCT处理后,再与修正数据overlap_in[N]经加窗及叠加处理,最后输出数据sample[N]和更新的修正数据overlap_out[N]。在整个运算过程中,所有的数据的存储位宽均为纯32位比特数。
事实上对于很多软件解码实现来说,由于主流CPU或者DSP的处理单元通常为16位或者32位而没有特别的24位处理单元,为了保证16位精度的PCM输出正常,IMDCT通常以32位进行计算和数据存储。典型的例子如著名的MP3开源软件LIBMAD,即如图2所示。无论是以24位还是32位来存储,现有IMDCT的计算和数据存储方法的一个特点是:其输入、输出以及中间结果都使用统一的比特数,即要么全部是24位,要么全部是32位。其存在的缺陷是:不能灵活利用存储资源,计算量大。
发明内容
本发明所要解决的技术问题是:提供一种用于音频解码的定点修正离散余弦反变换的方法,该方法能在确保最终PCM输出的高精度的同时降低存储资源的消耗。
为解决上述技术问题,本发明采用如下技术方案。
一种用于音频解码的定点修正离散余弦反变换的方法,包括以下步骤:
步骤一,对L bit的输入数据xr[N]做IMDCT处理;
步骤二,利用P bit的修正数据overlap_in[N]对经IMDCT处理后的数据进行加窗及叠加处理,最后输出L bit的数据sample[N]和L bit的更新的修正数据overlap_out[N],其中L与P均为正整数,且L>P;
步骤三,测得所述L bit的更新的修正数据overlap_out[N]的N个值中的最大溢出位为K,其中K<P;
步骤四,将L bit overlap_out[N]按照K缩减为P位存储,定点存储格式为(1+K).(P-K-1);
步骤五,将当前帧的更新的修正数据overlap_out[N]作为下一帧的修正数据overlap_in[N],重复步骤一;所述K为当前帧的更新的修正数据overlap_out[N]中N个数里最大的溢出比特数;K的取值随帧的变化而变化。
作为本发明的一种优选方案,当K大于等于0小于等于M时,所述定点存储格式在1.(P-1)~(1+M).(P-M-1)范围内动态变化,其中M<P。
作为本发明的另一种优选方案,所述L的值为32,P的值为16,K大于等于0小于等于3,overlap_out的定点化格式在1.15~4.12范围内动态变化。
作为本发明的再一种优选方案,所述L的值为24,P的值为16,K大于等于0小于等于3,overlap_out的定点化格式在1.15~4.12范围内动态变化。
作为本发明的再一种优选方案,所述L的值为16,P的值为8,K大于等于0小于等于3,overlap_out的定点化格式在1.7~4.4范围内动态变化。
作为本发明的再一种优选方案,所述L的值为24,P的值为8,K大于等于0小于等于3,overlap_out的定点化格式在1.7~4.4范围内动态变化。
本发明的有益效果在于:本发明所述方法通过将overlap数据由高位宽改为低位宽存储,有效降低了存储要求;并通过检测overlap的最大溢出比特数,让低位宽存储的overlap能够动态使用,尽可能最大的定点化精度,保证了最终PCM输出的高精度。
附图说明
图1为现有的纯24位IMDCT的计算和数据存储的方法流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海山景集成电路技术有限公司,未经上海山景集成电路技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010608334.9/2.html,转载请声明来源钻瓜专利网。