CN101741391A - 在定点dsp进行mp3音频解码时优化内存空间的方法 - Google Patents

在定点dsp进行mp3音频解码时优化内存空间的方法 Download PDF

Info

Publication number
CN101741391A
CN101741391A CN200810226683A CN200810226683A CN101741391A CN 101741391 A CN101741391 A CN 101741391A CN 200810226683 A CN200810226683 A CN 200810226683A CN 200810226683 A CN200810226683 A CN 200810226683A CN 101741391 A CN101741391 A CN 101741391A
Authority
CN
China
Prior art keywords
decoding
data
space
memory
optimizing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810226683A
Other languages
English (en)
Other versions
CN101741391B (zh
Inventor
梁利平
王志君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruili Flat Core Microelectronics Guangzhou Co Ltd
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN 200810226683 priority Critical patent/CN101741391B/zh
Publication of CN101741391A publication Critical patent/CN101741391A/zh
Application granted granted Critical
Publication of CN101741391B publication Critical patent/CN101741391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种在定点DSP进行MP3音频解码时优化内存空间的方法,包括:静态内存的优化,主要指对于霍夫曼解码模块、改进型逆离散余弦变换模块和子带合成滤波器模块涉及的静态数据进行优化和缩减空间占用率,并且不会引进误差;动态空间的优化,主要指对于音频解码数据流进行动态更新,并且进行浮点转定点的运算节省内存空间;将中间数据使用DMA机制存入外存,提高内存空间利用率。本发明对DSP的内存空间使用进行优化分配,比其他解码方法节省了更多的内存空间,并且提高了解码效率。

Description

在定点DSP进行MP3音频解码时优化内存空间的方法
技术领域
本发明涉及基于16位定点DSP的MP3音频解码算法实现,尤其涉及一种在定点数字信号处理器(DSP)进行MP3音频解码时优化内存空间的方法,对一些复杂算法进行优化和合理分配内存空间,提高解码速度的同时降低内存占用率。
背景技术
活动图像专家小组(MPEG)是ISO/IEC的一个工作小组,负责制定有关活动图像、音频及其组合的压缩、解压缩处理等方面的技术标准。MPEG-1LAYER3(MP3)是MPEG-1国际标准音频(ISO/IEC 11172)第三层编码/解码算法,它具有压缩比高,可达1∶10~1∶12、声音还原质量好、算法复杂度适中等优点。利用这种标准制作的MP3格式音乐在数字音频的存储、互联网上的多媒体音视频传输等领域得到了广泛的应用。因此,便携式MP3播放器等消费类电子产品也有极大的市场前景。
当前市场的MP3播放器大都基于专用集成电路(ASIC)实现,因此存在功能单一、灵活性不够的特点,对于满足消费者对产品新功能、多功能等体验有很大的局限。因此基于定点数字信号处理器(DSP)的MP3音频解码的研究和实现成为满足这一需求的快捷方案。
基于定点DSP的音频解码研究和算法实现主要在两个方面受到限制,即解码速率和内存空间的占用率。解码速率体现在解码音频的实时性和连贯性,如果解码速率与音乐数据流不同步,则会严重影响音乐的听觉效果。内存空间占用率主要指在解码过程中,一些中间数据的存储以及空间的及时释放和再利用。当前基于定点DSP的MP3解码实现主要侧重于解码速率的优化,虽然在一定程度上简化了解码指令,提高了解码速率,但却以占用更多的内存资源为代价。对于有限的DSP内存资源来说,就无法进行更多功能的扩展实现。
因此,在尽可能提高MP3音频解码速率的同时,也对内存空间占用情况进行优化和再利用,是技术发展的必然需要。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种在定点数字信号处理器(DSP)进行MP3音频解码时优化内存空间的方法,以解决在定点DSP芯片进行MP3音频解码实现过程中,对于DSP内存空间占用量过高的情况进行优化。
(二)技术方案
为了达到以上目的,本发明采用如下技术方案:
一种在定点DSP进行MP3音频解码时优化内存空间的方法,其中,定点DSP进行MP3音频解码包括:音频编码数据读入缓存、读头信息,提取主数据、解码比例因子、解码霍夫曼数据、反量化采样、立体声处理、频谱重新排序、混迭信号消除、改进型反离散余旋变换和子带合成滤波器;其特征在于,该方法包括:
将反量化采样、立体声处理、改进型反离散余弦变换和子带合成滤波器步骤中涉及的浮点运算转换为定点运算;以及
将实时解码产生的中间数据采用DSP的直接内存访问机制进行数据搬运,存入到外部存储器。
上述方案中,该方法进一步包括:在解码霍夫曼数据的步骤中采用16bit空间混用部分代码,将每个二维数组用一个16位的地址空间来保存。
上述方案中,该方法进一步包括:在改进型反离散余旋变换和子带合成滤波器的步骤中,对正弦余弦进行查表运算,根据余弦对称性将查表空间由144个降到18个;根据正弦对称性以及实际解码需要,可将查找表空间由144个降到60个;窗函数也可采用查找表法由2048个空间降到496个空间。
上述方案中,该方法进一步包括:对于动态存储空间采用缩减音频编码数据流缓存,在解码速度和缓存块大小之间进行折中。
上述方案中,所述在解码速度和缓存块大小之间进行折中时,采用256的动态内存空间存放原始数据流。
(三)有益效果
针对解码实际流程的需要,将各类数据分别存放于静态内存空间或动态内存空间,再针对具体数据特征对各内存空间占用率进行合理优化和分配,从而大大节省了内存空间资源。
附图说明
图1是MP3音频解码流程图;
图2是本发明提供的在定点DSP进行MP3音频解码时优化内存空间的方法流程图;
图3是本发明中浮点和定点解码波形文件及其相对误差分析图;
图4是本发明中部分存储空间(16bit)以及解码速度比较;
图5是本发明中霍夫曼解码数据存取空间调用代码;
图6是MP3帧数据流结构;
图7是IMDCT解码公式和子带合成滤波器中边带合成滤波表达式;
图8是利用DMA机制进行内存与外存数据直接读取模式;
图9是本发明中最终占用空间资源比较结果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
首先,从占用空间资源的角度分析,音频解码数据读入缓存(Streambuf)、保存霍夫曼解码表、IMDCT(改进型反离散余弦变换)以及子带合成滤波都需要占用较大的内存空间。其中静态存储区主要存储音频解码流、霍夫曼解码表、窗函数和一些全局变量,静态数据一直占据内存且数据值基本保持不变,合理存储静态数据可以节省很大的内存资源;动态存储区主要存储实时解码中间数据,将中间数据保存在外部存储器,也可以节省内存。
本发明提供的在定点DSP进行MP3音频解码时优化内存空间的方法,包括:静态内存的优化,主要指对于霍夫曼解码模块、改进型逆离散余弦变换模块和子带合成滤波器模块涉及的静态数据进行优化和缩减空间占用率,并且不会引进误差;动态空间的优化,主要指对于音频解码数据流进行动态更新,并且进行浮点转定点的运算节省内存空间;将中间数据使用DMA机制存入外存,提高内存空间利用率。
下面将结合附图,详细说明本发明的每一个具体实施例。
图1为MP3音频解码流程图,该方法包括音频编码数据读入缓存、读头信息,提取主数据、解码比例因子、解码霍夫曼数据、反量化采样、立体声处理、频谱重新排序、混迭信号消除、改进型反离散余旋变换和子带合成滤波器。其中,反量化采样、立体声处理、IMDCT、子带合成滤波器都需要进行浮点运算,而16位定点DSP芯片在处理浮点运算过程中,浮点数是以32bit形式存储运算的,虽然解码精度高,但是解码速度很慢,同时也占用大量的内存空间,将浮点运算转为定点运算,在保持解码精度不会带来明显影响的情况下可以使存储空间和解码速度有很大改进。
图2是本发明提供的在定点DSP进行MP3音频解码时优化内存空间的方法流程图,该方法主要是将反量化采样、立体声处理、改进型反离散余旋变换和子带合成滤波器步骤中涉及的浮点运算转换为定点运算;以及将实时解码产生的中间数据采用DSP的直接内存访问机制进行数据搬运,存入到外部存储器。
图3为浮点与定点运算解码出的PCM波形文件以及相对误差波形。由图3可见,在音量微弱处二者相对误差较大,定点算法基本丢失了原始数据,而只要音量微弱的地方不要持续时间太长,带来的误差也不会很大,而且对于人耳听力基本没有差别。部分以浮点保存的数据转换为定点可以节省一半内存,同时解码速度也提高到原来的3倍左右。
图4是浮点运算和改为定点运算的部分存储资源占用率以及解码速度比较结果。
所述DSP的直接内存访问机制是一种独立于处理器且能在内存和外部存储器之间直接传输数据的专用控制器实现机制,处理器通过提供写入数据地址、读出数据地址、读写数据深度、使能标志参数设置DSP的直接内存访问机制,DSP的直接内存访问机制自动读写并发出中断信号。
本发明提供的在定点DSP进行MP3音频解码时优化内存空间的方法,进一步包括:在解码霍夫曼数据的步骤中采用16bit空间混用部分代码,将每个二维数组用一个16位的地址空间来保存。
图5是进行16bit空间混用部分代码。在解码霍夫曼数据模块中,将霍夫曼解码表以字节形式存入16bitDM,这样每个memory的高8位都为0,霍夫曼码表一共占用2804个地址空间。根据霍夫曼解码原理,解码树的数据为二维数组,每一个数据值都在0到0xFF之间,所以可以将每个二维数组用一个16位的地址空间保存,这里可以设定低八位保存H0,高八位保存H1。具体调用语句如图5,其中ht[table_number]指所放的霍夫曼解码表对应矩阵,table_number范围为0~31,val[treelength]指霍夫曼解码树对应矩阵值,treelength范围为0~512。使用上述方法,在保证数据读取正确的前提下,没有给整个解码过程引入误差,内存占用可降到2804/2=1402个地址空间。
图6是MP3帧数据流结构,由图6可见,主数据不一定跟随在各自帧边信息的后边。以数据流的前三帧为例,分析数据流的主要数据内容。第一帧数据中包括第一帧的全部主数据和第二帧的部分主数据,在第二帧的数据中包括第二帧的剩余主数据和第三帧的部分主数据,以此类推,在提取主数据信息时,Main_data_end是一个9bit宽的指针,用来标志当前帧主数据的结束,紧随其后的就是下一帧主数据的开始,当检测到Main_data_end时,当前帧的主数据结束,还需要开辟一个Databuf存储下一帧的部分主数据,在解码时都是以8bit的形式读取存放在内存空间中,对于16位的DSP内存空间有点冗余,因此可以按16位的数据流存放和读取,能够使Databuf的地址空间缩减一半,这里可由原先的2048的空间地址值降低到512的内存空间进行缓存来缩减内存空间。
本发明提供的在定点DSP进行MP3音频解码时优化内存空间的方法,进一步包括:在改进型反离散余旋变换和子带合成滤波器的步骤中,对正弦余弦进行查表运算,根据余弦对称性将查表空间由144个降到18个;根据正弦对称性以及实际解码需要,可将查找表空间由144个降到60个;窗函数也可采用查找表法由2048个空间降到496个空间。
图7是IMDCT解码公式(摘自ISO/IEC 11172-3)和子带合成滤波器中边带合成滤波表达式,解码过程中涉及到正弦余弦变换及运算,为了提高解码速度,这里对正弦余弦进行查表运算,在IMDCT模块和子带合成滤波器都采取相应的算法。根据余弦对称性可以将查表空间由144降到36而不会引入误差和太大的运算,在实际运算中由于只用到余弦参数为奇数的对应值,所以仅需18个地址空间就可以满足运算。
4个正弦运算数据需要36*4=144个地址空间,根据音频解码部分序列为相逆的序列数组,可以用一个36位的数组保存数据,对于部分相同的序列,只要12个地址空间就可以保存全部数据,然后根据正弦函数对称性,还可以节省一半空间,这样全部需要18+36+6=60个地址空间保存所有表值。
在子带合成滤波器中边带合成滤波表达式中,对于保存定点数据,遍历k值及i值需要64*32=2048的地址空间,首先根据余弦函数的对称性可以将存储空间缩减到2048/4=512,再根据实际运算中当i=48时,所有值保持常数-1,不需要保存此16个数据,所以仅需512-16=496个地址空间。
图8是DMA直接内存访问机制图,Mp3解码过程中需要将每一帧的数据解码成PCM格式并输出,同时需要保存当前帧的数据留到下一帧使用,这里采用DSP的直接内存访问(DMA)机制进行数据搬运。DMA由一种独立于处理器的,能在内存和外存之间直接传输数据的专用控制器实现,处理器通过提供写入数据地址、读出数据地址、读写数据深度、使能标志等参数设置DMA,DMA可以自动读写并发出中断信号。
本发明采用对于PCM格式的每一帧1152字节的解码数据进行搬运和存储到外存,可以节省内存1K的地址空间。对于动态存储空间还可以缩减音频编码数据流缓存(Streambuf),这一过程对解码结果没有影响,只是需要在解码速度和缓存块大小之间进行折中,这里开辟256的动态内存空间存放原始数据流。
图9是本发明最终占用空间资源比较结果,纵向比较,从最初的占用空间大于20K降到小于8K的资源,横向比较,换算为8bit形式,也比一些文献记载的最低记录少占用4K以上的内存空间。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种在定点DSP进行MP3音频解码时优化内存空间的方法,其中,定点DSP进行MP3音频解码包括:音频编码数据读入缓存、读头信息,提取主数据、解码比例因子、解码霍夫曼数据、反量化采样、立体声处理、频谱重新排序、混迭信号消除、改进型反离散余旋变换和子带合成滤波器;其特征在于,该方法包括:
将反量化采样、立体声处理、改进型反离散余旋变换和子带合成滤波器步骤中涉及的浮点运算转换为定点运算;以及
将实时解码产生的中间数据采用DSP的直接内存访问机制进行数据搬运,存入到外部存储器。
2.根据权利要求1所述的在定点DSP进行MP3音频解码时优化内存空间的方法,其特征在于,该方法进一步包括:
在解码霍夫曼数据的步骤中采用16bit空间混用部分代码,将每个二维数组用一个16位的地址空间来保存。
3.根据权利要求1所述的在定点DSP进行MP3音频解码时优化内存空间的方法,其特征在于,该方法进一步包括:
在改进型反离散余旋变换和子带合成滤波器的步骤中,对正弦余弦进行查表运算,根据余弦对称性将查表空间由144个降到18个,将正弦查找表空间由144个降到60个,窗函数查找表由2048个空间降到496个空间。
4.根据权利要求1所述的在定点DSP进行MP3音频解码时优化内存空间的方法,其特征在于,该方法进一步包括:
对于动态存储空间采用缩减音频编码数据流缓存,在解码速度和缓存块大小之间进行折中。
5.根据权利要求4所述的在定点DSP进行MP3音频解码时优化内存空间的方法,其特征在于,所述在解码速度和缓存块大小之间进行折中时,采用256的动态内存空间存放原始数据流。
CN 200810226683 2008-11-19 2008-11-19 在定点dsp进行mp3音频解码时优化内存空间的方法 Active CN101741391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810226683 CN101741391B (zh) 2008-11-19 2008-11-19 在定点dsp进行mp3音频解码时优化内存空间的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810226683 CN101741391B (zh) 2008-11-19 2008-11-19 在定点dsp进行mp3音频解码时优化内存空间的方法

Publications (2)

Publication Number Publication Date
CN101741391A true CN101741391A (zh) 2010-06-16
CN101741391B CN101741391B (zh) 2013-03-13

Family

ID=42464365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810226683 Active CN101741391B (zh) 2008-11-19 2008-11-19 在定点dsp进行mp3音频解码时优化内存空间的方法

Country Status (1)

Country Link
CN (1) CN101741391B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968771A (zh) * 2010-09-16 2011-02-09 北京航空航天大学 一种在dsp上实现先进音频编码算法的内存优化方法
CN104715755A (zh) * 2013-12-17 2015-06-17 国民技术股份有限公司 一种应用于中低速平台的音频编解码方法、装置和设备
CN107680607A (zh) * 2017-09-29 2018-02-09 联想(北京)有限公司 一种信号压缩方法、信号解压方法及其装置
CN109949819A (zh) * 2019-03-14 2019-06-28 建荣半导体(深圳)有限公司 节省音频处理的程序和数据空间的方法、装置及电子设备
CN111081263A (zh) * 2019-12-31 2020-04-28 北京百瑞互联技术有限公司 一种优化音频编解码器存储空间的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282631B1 (en) * 1998-12-23 2001-08-28 National Semiconductor Corporation Programmable RISC-DSP architecture
CN100370822C (zh) * 2004-09-16 2008-02-20 北京恒通视讯科技发展有限公司 媒体服务器及实现其路由的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968771A (zh) * 2010-09-16 2011-02-09 北京航空航天大学 一种在dsp上实现先进音频编码算法的内存优化方法
CN101968771B (zh) * 2010-09-16 2012-05-23 北京航空航天大学 一种在dsp上实现先进音频编码算法的内存优化方法
CN104715755A (zh) * 2013-12-17 2015-06-17 国民技术股份有限公司 一种应用于中低速平台的音频编解码方法、装置和设备
CN104715755B (zh) * 2013-12-17 2020-06-23 国民技术股份有限公司 一种应用于中低速平台的音频编解码方法、装置和设备
CN107680607A (zh) * 2017-09-29 2018-02-09 联想(北京)有限公司 一种信号压缩方法、信号解压方法及其装置
CN107680607B (zh) * 2017-09-29 2021-05-18 联想(北京)有限公司 一种信号压缩方法、信号解压方法及其装置
CN109949819A (zh) * 2019-03-14 2019-06-28 建荣半导体(深圳)有限公司 节省音频处理的程序和数据空间的方法、装置及电子设备
CN111081263A (zh) * 2019-12-31 2020-04-28 北京百瑞互联技术有限公司 一种优化音频编解码器存储空间的方法及系统
CN111081263B (zh) * 2019-12-31 2022-04-15 北京百瑞互联技术有限公司 一种优化音频编解码器存储空间的方法及系统

Also Published As

Publication number Publication date
CN101741391B (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
CN105144289B (zh) 一种对动态范围控制drc增益值进行编码的方法
CN101484937B (zh) 使用缓冲器调节对已预测编码的数据进行解码
CN101308658B (zh) 一种基于片上系统的音频解码器及其解码方法
CN101741391B (zh) 在定点dsp进行mp3音频解码时优化内存空间的方法
CN103634598B (zh) 视频处理的转置缓冲
TW200529548A (en) Adaptive hybrid transform for signal analysis and synthesis
CN102365680A (zh) 音频信号的编码和解码方法及其装置
JP2010501090A (ja) 音声復号化
CN104217726A (zh) 一种无损音频压缩编码方法及其解码方法
US20020013633A1 (en) Audio processor and audio data processing method
CN101483495B (zh) 一种背景噪声生成方法以及噪声处理装置
KR100760976B1 (ko) 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법
CN102547291B (zh) 基于fpga的jpeg2000图像解码装置及方法
JP2023129450A (ja) 時間領域ステレオパラメータ符号化方法および関連製品
US7065491B2 (en) Inverse-modified discrete cosine transform and overlap-add method and hardware structure for MPEG layer3 audio signal decoding
Tsai et al. Low-power system design for MPEG-2/4 AAC audio decoder using pure ASIC approach
CN104183243A (zh) 音频编解码系统
CN206181271U (zh) 视频压缩系统
KR100804641B1 (ko) 합성 서브밴드 필터링 방법 및 장치
De-liang et al. Audio data compression based on AVS-P10
CN102623040B (zh) 数据合成播放系统及数据合成播放方法
CN101257590A (zh) 编码、解码方法及装置、显示系统
CN101651457A (zh) 音频编解码器及编解码方法
CN108320754B (zh) 一种音频解码器、解码方法和多媒体系统
CN100486332C (zh) 合成子频带滤波的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201224

Address after: 510000 601, building a, 136 Kaiyuan Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: AoXin integrated circuit technology (Guangdong) Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics, Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220424

Address after: 510000 room 710, Jianshe building, No. 348, Kaifa Avenue, Huangpu District, Guangzhou, Guangdong

Patentee after: Ruili flat core Microelectronics (Guangzhou) Co.,Ltd.

Address before: 510000 601, building a, 136 Kaiyuan Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: AoXin integrated circuit technology (Guangdong) Co.,Ltd.

TR01 Transfer of patent right