[发明专利]一种MP3编码量化中的内循环方法及MP3编码器有效
申请号: | 200910088069.3 | 申请日: | 2009-07-01 |
公开(公告)号: | CN101593521A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 林中松 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | G10L19/00 | 分类号: | G10L19/00 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙 洪;霍育栋 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mp3 编码 量化 中的 循环 方法 编码器 | ||
技术领域
本发明涉及音频编码领域,尤其涉及一种MP3编码量化中的内循环方 法及MP3编码器。
背景技术
在MP3编码的量化过程中,其内循环需要寻找一个使编码的长度小于 规定长度的最小量化步长。MP3编码参考标准的内循环步骤如图1所示, 内循环通过不断增加量化步长QS来使编码长度CL小于或等于由外部控制 决定的最大编码长度CL_Limit。量化步长的范围为0-QS_MAX(最大量化 步长)之间的整数。一般的情况下,量化步长越小,码长CL就越大,量化 噪声越小;反之,当量化步长增大时,码长CL会减小,但是量化噪声增大。
内循环的目的是寻找一个最小的量化步长QS_min,在使用QS_min进 行量化后,编码得到的码长CL_max小于CL_Limit,并且保存量化结果。 内循环每循环一次,如果量化得到的编码长度大于CL_Limit,则量化步长 QS增加1,否则就保存量化结果退回到外循环。在外循环再次进入内循环 时,使用的步长初始值为上一次内循环最后得到的步长QS_min。而当外循 环第一次进入内循环时,量化步长的初始值可以设为0,当然这时内循环要 循环QS_min次才能得到符合要求的量化步长QS_min。
在ISO 11172-3ANNEX_C推荐的方法中,第一次进入内循环时,量化 步长QS的初始值quantanf的计算方法为
quantanf=system_const*loge(sfm) 等式1
等式1中sfm是一种频谱平滑度测度,其计算公式可见于ISO 11172-3 ANNEX-C。sfm的计算过程中使用了函数log(x)和pow(e,x),使其的定点 化变得困难。另外sysstem_const时ISO 11172-3ANNEX_C标准留给具体得 编码器指定的常数。System_const的选择最好能够使得量化步长quantanf得 到的编码长度CL比CL_Limit稍大。在内循环中使用得量化步长QS= quantanf+qquant。qquant是量化步长QS相对初始化量化步长quantanf增长 的值,每次内循环通过qquant=qquant+1来增加量化步长。可见只要选择 适当的初始量化步长quantanf,在内循环中就可以减少循环次数来得到 QS_min。
但是在ISO 11172-3ANNEX_C推荐的方法中,计算quantanf中用到 的常数system_const的选择非常困难:如果选择的过大,quantanf大于 QS_min,得到的编码长度CL可能小于CL_limit,这样不能保证每次编码都 在规定的范围内使用最大的码长;如果system_const选择得过小,则可能 quantanf距离QS_min很远,这样在编码器第一次进入内循环时要循环的次 数很多才能得到QS_min,导致计算量的浪费。另外,测度sfm的计算不利于 定点实现。所以在很多MP3编码器中第一次内循环都使用binsearch的方法 来得QS_min.
在下文中,QS_min专指第一次进入内循环时求得的最小量化步长。
binSearch算法并不采用逐步累加的方式来得到QS_min;其计算量从理 论上来讲最多只需循环8次就可以在0-255的范围内找出QS_min;其步骤 如下:
1、初始化:top(最小量化步长)=0,bot(最大量化步长)=QS_MAX, 找出频谱xr的绝对值最大值xrabsmax。
2、使用top作为量化步长,对xrabsmax进行量化,得到量化值q-max, 如果q-max在标准Huffman表允许的最大值内,则跳至步骤3;否则 top=top+1,返回步骤2。
3、step=(top+bot+1)/2,使用step作为量化步长,对xr进行量化,并且 执行内循环的步骤(参考标准ISO 11172-3ANNEX C中的内循环步骤), 得到的编码长度为CL。
4、如果CL<=CL_limit,且step等于bot,则QS_min=step,结束。
5、如果CL<=CL_limit,且step等于top,则QS_min=step,结束。
6、如果CL<CL_limit,则令bot=step,跳至步骤3;如果CL>=CL_limit 且step既不等于bot也不等于top,则令top=step,返回步骤3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910088069.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子相册
- 下一篇:一种输送带覆盖层用低烟无卤阻燃橡胶材料及其制备方法