临床什么意思| 做包皮挂什么科| 飞廉是什么意思| 总胆固醇高是什么意思| 花枝鼠吃什么| 翻车鱼为什么叫翻车鱼| 舌苔黄是什么原因引起的| 恒源祥属于什么档次| 薜丁山是什么生肖| 矽肺病是什么症状| 什么的狮子| 焯水是什么意思| 血糖高是什么意思| 前置是什么意思| 胃热吃什么药效果好| 葡萄糖高是什么原因| 购物狂是什么心理疾病| 冤家路窄是什么生肖| 神经衰弱看什么科| 抑制是什么意思| 甲状腺做什么检查最准确| 孕妇做糖筛是检查什么| 物以类聚什么意思| 眼白出血是什么原因| 甲亢吃什么盐| 送男生什么生日礼物好| 海关锁是什么意思| 自身免疫性胃炎是什么意思| 西洋参不适合什么人吃| 怨念是什么意思| 什么也别说| 黑白蛇是什么蛇| 支气管炎用什么药| 舌苔厚白湿气重吃什么药| 小猫不能吃什么食物| 海松茸是什么| 1998属什么生肖| 阴道细菌感染用什么药| 家里放什么最招财| 7.6是什么星座| 菱角是什么意思| 门庭冷落是什么意思| 酸笋炒什么好吃| 梅花代表什么象征意义| 庄周梦蝶是什么意思| 身份证照片穿什么颜色衣服| 监护是什么意思| 群像是什么意思| 45年属什么| 自五行属什么| 麻腮风疫苗是预防什么| 吃什么蔬菜可以降血脂| 繁什么似锦| 小龙虾不能和什么一起吃| 猫翘尾巴是什么意思| 早上做什么运动最好| 结婚20周年属于什么婚| 什么颜色衣服最防晒| jf是什么警察| 自由奔放是什么生肖| 有鳞状细胞是什么意思| 异地补办身份证需要什么手续| 1949年是什么年| 男人沉默了说明什么| 南无阿弥陀佛什么意思| 重色轻友什么意思| b型血阳性是什么意思| au是什么意思| 返聘是什么意思| 什么补铁| 一箭双雕是什么意思| 红黑相间的蛇是什么蛇| 摄取是什么意思| 输卵管堵塞有什么样症状| 药流后可以吃什么水果| 舌苔厚腻吃什么药| 男性检查hpv挂什么科| 醋粉是什么做的| 什么持不什么| 一个既一个旦念什么| 五行中金代表什么| 赫拉是什么神| ce是什么元素| 打下手什么意思| 玉和石头有什么区别| 鼠和什么属相相冲| 两个月小猫吃什么食物| 肚子疼是什么原因一阵一阵的| 一 什么云| 新疆都有什么民族| 蛇头疮用什么治疗最快| 素色是什么颜色| 中国第五大发明是什么| 什么是孝| 嗓子突然哑了是什么原因引起的| 胸痒痒是什么原因| 滴虫长什么样子图片| 外甥是什么关系| 属马与什么属相最配| 梦见买衣服是什么预兆| 夏季热是什么病| 差强人意是什么意思| 皮肤脱皮是什么原因| 准将是什么级别| 意守丹田是什么意思| biemlfdlkk是什么牌子| 什么的眼光| 尿常规隐血弱阳性什么意思| 明年是什么生肖年| 银925是什么意思| CA是什么激素| 治骨质疏松打什么针| 什么是值机| 尿发黄是什么原因| 尿道口有烧灼感为什么| 2010年是什么年| 百合病是什么病| 葡萄糖为什么叫葡萄糖| 火加良念什么| 醛固酮高有什么危害| 梦见被鱼咬是什么意思| 药鱼用什么药效果最好| spf是什么意思| 迷失自我是什么意思| 鸡蛋饼用什么面粉| 空前绝后是什么生肖| 变态是什么意思| 老头晕是什么原因引起的| 甲钴胺片治疗什么病| 什么是周岁| 前列腺回声欠均匀什么意思| phicomm是什么牌子| 大便不成形用什么药| 胆囊腺肌症是什么病| 砖红色是什么颜色| 鬼怕什么| 药物流产后需要注意什么| 梦特娇属于什么档次| 长方形的纸可以折什么| 欣字属于五行属什么| 小苏打是什么| bg是什么| 全血检查能查些什么病| 三月生日是什么星座| 破伤风针什么时候打| 48岁属什么| 塑形是什么意思| 刚生完宝宝的产妇吃什么好| 男人前列腺炎有什么症状表现| 摩羯座跟什么星座最配| 脚起皮干裂是什么原因| 睾丸疼痛什么原因| 十一月份属于什么星座| 人情是什么意思| 膀胱钙化是什么意思| 什么叫吐槽| 什么情况下需要做胃镜| 人体缺钾是什么原因引起的| 肺心病是什么原因引起的| 万力什么字| 清肺火肺热吃什么药最有效| 女人熬夜吃什么抗衰老| 养胃吃什么| 登对是什么意思| 绕行是什么意思| 经期喝什么茶好| 蓝牙耳机什么牌子好| 梦见血是什么预兆解梦| 什么微风| 滑肠是什么意思| 波澜壮阔是什么意思| 一什么大厦| 虚病是什么意思| 莘字五行属什么| 发膜和护发素有什么区别| 南什么北什么| 吃中药喝酒有什么影响| 做爱为什么那么舒服| 气短是什么原因引起的| 锋芒毕露什么意思| 糜烂型脚气用什么药| 次胖是什么意思| 高考明天考什么| 月经来头疼是什么原因引起的| 海鲜中毒有什么反应| 心梗什么症状| 男人嘴小代表什么意思| 九月十四号是什么星座| 法令纹深是什么原因| hib是什么疫苗| 治疗荨麻疹用什么药最好| 病退需要什么条件| 放射线是什么| rsp是什么意思| bid是什么意思| 95开头的是什么电话| 最贵的金属是什么| 雨露均沾是什么意思| 深褐色是什么颜色| alyx是什么牌子| 痛风什么蔬菜不能吃| 牛骨煲汤搭配什么最好| 胃寒吃什么药| 尿分叉是什么原因引起的| 仿水晶是什么材质| 谈什么色变| 吃猪肺有什么好处和坏处| 夏至吃什么传统食物| 笑气是什么气体| 阳痿吃什么| 一个草字头一个见念什么| 媒婆是什么意思| 肌红蛋白是什么意思| 观音菩萨属什么生肖| 什么马没有腿| 左边脖子疼是什么原因| 什么是激素类药物| 葛根是什么| 毓读什么| 头上两个旋代表什么| 什么是义务兵| 十年是什么婚| 什么争鸣成语| 什么是adhd| 朋友妻不可欺是什么意思| 下游是什么意思| 心律失常吃什么药| 性别是什么意思| 跑步机cal是什么意思| 查结核做什么检查| roi是什么| 温字五行属什么| 躺着头晕是什么原因| 龟头上有小红点是什么| 人最怕什么| 廉价什么意思| 插入阴道什么感觉| 预防水痘吃什么药| 飞蛾为什么扑火| 薄荷绿是什么颜色| 取环后要注意什么事项| 芜湖有什么特产| 九五至尊是什么生肖| 同型半胱氨酸偏高吃什么药| 末梢神经炎吃什么药| 珠是什么生肖| 今年是什么年啊| 什么叫靶向治疗| 人为什么要火化| 扁桃体发炎不能吃什么| 耳朵里发炎用什么药好| 乙肝是什么| 学的偏旁部首是什么| 女性体寒 吃什么好| 法国的国鸟是什么| 什么是粳米| 撰文是什么意思| 请问尿路感染吃什么药最好| 眼尖什么意思| 应无所住而生其心什么意思| 封建社会是什么意思| 关节疼痛用什么药| 儿童用什么牙膏最好可以保护牙齿| 什么旺水命| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于多任务嵌入式应用的MP3实时解码系统

深港通“一周年”:A股国际化加速前行

作者: 时间:2025-08-04 来源:网络 收藏
百度 从总理报告、到互联网大佬们的提案发言,人工智能无处不在。

1 引 言

  是目前世界上流行的音频格式之一,采用MPEG-1标准的Audio LayerⅢ压缩编码格式,具有高压缩率和保真度。的解码功能大多以专用解码芯片的形式应用于多种消费类电子产品中。采用软解码的方式实现实时播放功能可以充分利用硬件资源,节省芯片面积,有利于降低设计成本,同时软件方式可移植性好,解码质量可通过软件参数设定,具有更大的灵活性,便于系统升级。随着主流嵌入式微处理器ARM的处理能力越来越强,这种实现方式也已经成为众多嵌入式设计公司研究的焦点。

  与专用解码芯片相比,采用软件方式实现MP3实时解码的瓶颈在于解码效率。在嵌入式系统中,单个任务的执行效率以及任务间的调度方式将直接影响整个系统在一定硬件资源条件下的实时响应速度。因此,在嵌入式系统中采用软解码方式实现MP3实时播放,必须通过优化算法提高解码效率,在保证实时性的基础上降低对硬件资源的要求。

2 设计思想

  MP3解码需要经过大量的数据处理。首先对MP3数据流进行帧同步并解出头信息和边信息供解码主数据使用,之后对主数据依次进行霍夫曼解码、反量化、IMDCT以及子带合成滤波,最终输出PCM码流。整个解码过程如图1所示。对定点化开源解码程序各模块执行时间进行测试,找出关键耗时模块并对其采用改进型快速算法;在保证一定音质的前提下,根据解码运算特征降低运算精度,从而在基于ARM926EJ-S处理器开发平台上实现对MP3音乐(码率为192 kb/s,采样率为44.1 kHz,立体声编码模式)的解码;在实时播放方面,提出双Buffer轮换DMA传送的设计方案,为高效任务调度的实现提供有利条件。

基于多任务嵌入式应用的MP3实时解码系统

3 系统实现过程

3.1 硬件系统

  本文采用的嵌入式系统是以ARM926EJ-S处理器为核心的SoC开发平台,最高运行主频为190 MHz,支持ARMv5T指令集,存储器包括SDRAM和NAND FLASHROM,外围设备包括DMA控制器、中断控制器、USB控制器、UART、控制器、I2S控制器以及定时/计数器。整个硬件系统的架构如图2所示。

基于多任务嵌入式应用的MP3实时解码系统

  MP3文件和程序代码通过USB线下载并分别存放入NAND FLASH ROM和SDRAM;解码MP3文件得到的PCM码流送入I2S控制器输出;UART控制器可实现串口打印输出调试信息,跟踪程序运行状态;定时/计数器用于测试解码时间,对解码各个模块进行耗时分析。

3.2 代码移植

  搭建好硬件平台后,对各硬件模块进行初始化,并加载文件系统,完成软件平台的搭建。将开源的MP3解码程序代码移植到软件平台上,这一过程主要是针对平台的文件系统,对文件读写函数进行替换,并将屏幕打印替换为串口打印操作。移植后的代码实现对MP3文件进行解码,并输出为PCM码流文件。利用CoolEdit对输出PCM码流文件进行测试播放,输出音质良好。

3.3 耗时分析

  成功移植后,对代码进行耗时分析,找出耗时最大的功能模块,确定重点优化对象。该系统采用硬件定时/计数器作为测试工具,将计数器的计数频率调配为1 MHz,可实现1μs的测试精度。在ARM工作主频为150 MHz的条件下,对100帧MP3数据的解码过程进行耗时测试,测试结果如表1所示。根据表1测试数据可知,子带合成滤波占了整个解码时间的60%以上,是决定解码速度的最关键模块;其次是长块IMDCT运算,占了整个解码时间的10%以上。因此,子带合成滤波与长块IMDCT成为优化重点。

基于多任务嵌入式应用的MP3实时解码系统

3.4 解码算法分析与优化

3.4.1 子带合成滤波算法优化

  子带合成滤波是MP3解码过程中最耗时的关键流程,该解码系统采用Konstantinos Konstantinides提出的改进型算法对其进行优化。子带合成滤波的标准算法涉及从32值变换到64值的矩阵运算,Konstantinos Konstantinides提出的改进型算法将矩阵运算进行一系列变化,最终归结于32点DCT变换,而DCT变换有类似于FFT的快速算法(FCT),从而加速了整个子带合成滤波过程。由DCT变换到矩阵运算的转换过程如图3所示,其中S和V分别为矩阵运算的32点输入序列和64点输出序列,A,B均为16点矢量。

3.4.2 IMDCT算法优化

  IMDCT采用Szu-Wei Lee提出的快速算法进行优化,该算法充分利用余弦函数的对称性,将N点IMDCT运算经过一系列变形,最终转化为N/4点的SDCT-Ⅱ运算,其转化流程如图4所示。对短块IMDCT使用该算法并没有带来较大的速度改善,故只对长块应用。相比于直接运算的648次乘法和612次加法,优化后的长块。IM-DCT运算量下降为43次乘法和115次加法。

3.4.3 低精度乘法

  在ARM指令集中的乘法指令有2类:32 b×32 b→64 b长乘法指令(MULL,MLAL)和32 b×32 b→32 b短乘法指令(MUL,MLA),前者的指令周期为3+m,而后者为2+m。由于解码过程中,尤其是子带合成滤波过程,乘法指令使用非常频繁,如果能够使用短乘法指令进行乘法运算,将会大大提高系统性能。

基于多任务嵌入式应用的MP3实时解码系统

  该系统的定点运算过程采用Q28定点表示法,若采用长乘法指令运算,得到的64位结果中有效位只有第28~59位,低28位和高4位都是无用的,需要通过移位去除。根据解码过程中运算系数的定点表示特征,可以在乘法运算前预先对操作数进行移位,以便使编译器采用短乘法指令进行运算。在子带合成滤波过程中,定点化滤波系数的低12位均为0。根据这一特征,可将滤波系数预先右移14位再进行乘法运算,这一过程仅损失2位精度。另外,在子带滤波快速算法的DCT运算结果参加乘法运算前,预先右移12位,最后将子带滤波的输出结果右移2位。经过3次右移操作后的输出结果共降低16位精度,对于16位PCM输出刚好满足精度要求。

  经过以上一系列优化处理后,主要解码耗时模块的改善情况如表2所示。

基于多任务嵌入式应用的MP3实时解码系统

3.5 实时播放方案设计

  该系统采用双Buffer轮换DMA传送的方案实现实时播放,整个播放流程如图5所示。其中n为解码当前帧的帧序号,第一帧序号为0;buffer0和buffer1分别用于存放当前播放帧的PCM数据和下一帧的PCM数据。DMA传送采用LLI传送方式,可实现将2个buffer存放的PCM数据轮换向I2S FIFO传送,因此只需在解码完第1帧后启动一次DMA传送。

基于多任务嵌入式应用的MP3实时解码系统

  该方案的实现原理是在一帧MP3数据解码时间远小于1帧PCM数据播放时间(采样率为44.1 kHz时,一帧PCM播放时间为26.1 ms)这一前提条件下,播放当前帧PCM数据的同时开始解码下一帧MP3数据。因此在解码完下一帧数据后,需要等待当前帧播放完毕,再继续解码。在图5中,这一等待过程采用的是查询DMA传送结束标志的方式,这使得CPU一直处于忙状态,白白消耗了系统资源。然而在嵌入式系统中,这段等待时间恰恰是非常有利用价值的。MP3实时解码可以一个任务的形式存在于多任务系统中,将图5中的查询过程改为休眠MP3解码任务,同时将DMA中断打开,在中断服务程序中唤醒解码任务,那么在解码完毕下一帧后便可释放CPU资源,将DMA中断发生前的这段等待时间用于调度其他进程,例如JPEG解码任务和GUI任务,从而实现播放音乐、播放图片和用户操作3者的高效协同工作。

4 结 语

  本文给出的MP3在基于ARM926EJ-S核心的SoC硬件平台上,对MP3解码算法和实时播放方案进行优化设计。实验结果证明,该系统可在处理器主频仅为36 MHz的条件下流畅播放MP3音乐(码率为192 kb/s),可嵌入数码相框、MP4等产品中实现MP3实时播放功能



评论


相关推荐

技术专区

关闭
棒子面是什么 违反禁令标志指示什么意思 视力模糊是什么原因 头痛呕吐什么原因 重庆房价为什么这么低
放疗化疗有什么区别 广西属于什么气候 阴道什么样 觊觎是什么意思 领衔是什么意思
总梦到一个人说明什么 烂大街是什么意思 低血压吃什么好 脚掌麻木是什么原因 早上8点到9点是什么时辰
钮祜禄氏是什么旗 mra检查是什么意思 什么鹦鹉说话能力最强 毕业穿的衣服叫什么 tc什么意思
子宫内膜为什么会增厚hcv8jop3ns1r.cn 啤酒喝了有什么好处hcv8jop8ns9r.cn 画饼是什么意思hcv7jop7ns1r.cn 眼睛肿是什么原因hcv9jop6ns7r.cn 齿痕舌是什么原因hcv8jop3ns9r.cn
红烧肉配什么菜好吃hcv8jop7ns5r.cn 扁食是什么adwl56.com 花胶是什么东西hcv8jop1ns5r.cn 羡慕不来是什么意思hcv8jop3ns9r.cn 什么什么有味hcv8jop3ns8r.cn
上升星座是什么hcv9jop1ns6r.cn 张紫妍为什么自杀hcv9jop4ns9r.cn 不想吃油腻的东西是什么原因hcv9jop5ns1r.cn 阳气不足吃什么药hcv9jop5ns4r.cn 作息时间是什么意思hcv9jop6ns1r.cn
什么是党的性质和宗旨的体现inbungee.com 不治身亡是什么意思hcv7jop6ns2r.cn 江米和糯米有什么区别helloaicloud.com 头发掉的严重是什么原因hcv8jop9ns7r.cn 燕窝什么时候吃好hcv7jop6ns4r.cn
百度