CN101968771B - 一种在dsp上实现先进音频编码算法的内存优化方法 - Google Patents

一种在dsp上实现先进音频编码算法的内存优化方法 Download PDF

Info

Publication number
CN101968771B
CN101968771B CN2010102857317A CN201010285731A CN101968771B CN 101968771 B CN101968771 B CN 101968771B CN 2010102857317 A CN2010102857317 A CN 2010102857317A CN 201010285731 A CN201010285731 A CN 201010285731A CN 101968771 B CN101968771 B CN 101968771B
Authority
CN
China
Prior art keywords
stack
dsp
coding
aac
memory
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.)
Expired - Fee Related
Application number
CN2010102857317A
Other languages
English (en)
Other versions
CN101968771A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2010102857317A priority Critical patent/CN101968771B/zh
Publication of CN101968771A publication Critical patent/CN101968771A/zh
Application granted granted Critical
Publication of CN101968771B publication Critical patent/CN101968771B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明提出一种在DSP上实现先进音频编码算法的内存优化方法。包括使用直接内存访问机制实现数据及码流搬运;对编码过程中频繁编码结构体进行外部静态内存分配,并在编码函数中使用指针的形式调用该结构体以减少内存碎片的产生;在栈的内存分配过程中,先确定栈的使用深度,以此作为在DSP配置文件中给栈分配内存大小的依据。本发明不但节约了DSP系统内存的使用,而且提高了数据传输以及内存使用效率,使得先进音频编码算法在DSP有限的系统资源条件下得以实现。

Description

一种在DSP上实现先进音频编码算法的内存优化方法
技术领域
本发明涉及DSP音频编码领域,特别是涉及一种在DSP上实现先进音频编码算法的内存优化方法。 
背景技术
先进音频编码算法(Advanced Audio Coding),简称为AAC,是ISO MPEG组织在MPEG-2基础上发展起来的一种新一代感知音频压缩编码技术,该技术综合了多种主流音频编码技术的优点,具有信号压缩比高,重建音质好,编码过程高度模块化和声道配置灵活等特点。但在DSP实时音频编码应用领域,AAC始终没有取得领先地位,究其原因,一方面是由于AAC编码算法本身的高复杂度,一方面是由于DSP系统资源有限导致AAC编码算法在该系统上的实现存在困难。 
当前的优化方法主要是对AAC快速编码算法的研究,这些优化算法降低了AAC编码本身的复杂度,但并没有解决在DSP有限资源条件下充分实现AAC编码算法的问题。 
发明内容
为了克服AAC编码算法在DSP系统上实现困难的缺点,本发明提出一种在DSP上实现AAC音频编码的内存优化方法,使得AAC编码算法在DSP有限的系统资源条件下得以实现。 
为了达到以上目的,本发明采用如下技术方案: 
步骤一:使用直接内存访问机制实现采样音频数据到AAC编码器的搬运,包括将PCM音频码流以每帧1024个采样点的形式传输到DSP中进行AAC编码; 
步骤二:对编码结构体进行外部静态内存分配,在编码函数中使用指针的形式调用该结构体,编码结构体中应包含用户配置信息、心理声学模型配置信息、滤波器系数、窗函数信息、频谱系数、量化模块信息。 
步骤三:由于AAC编码过程中栈的大小相对于堆是相对可控的,于是在栈的内存分配过程中,首先通过仿真测试的方法精确测量栈的使用深度,然后设定 栈的大小以节约内存资源,栈的计算式(1)所示: 
Stack=addr(Stack_end)-min(Sp)        (1) 
其中addr(Stack_end)指测试得出的栈底地址,min(Sp)指指针的最小值即栈顶地址。 
步骤四:编码完成后,使用直接内存访问机制实现编码数据到下级设备的搬运,即将AAC码流以帧的形式传输到下级设备中,帧的大小由下级设备与编码器约定。 
本发明的优点以及积极效果在于:该内存优化方法减少了DSP系统内存碎片的产生概率,对栈的合理分配节约了内存的使用量,并提高了数据传输以及内存访问的效率,使得AAC编码算法在DSP有限的系统资源条件下得以实现。 
附图说明
图1是本发明中的AAC编码内存优化流程图; 
图2是本发明中的DSP与外围设备通信原理图; 
图3是本发明中的编码程序栈深度测试原理图; 
具体实施方式
本发明是一种在DSP上实现AAC音频编码的内存优化方法,为使本发明的目的、技术方案和优点更加清楚,以下结合具体实例以及附图,对本发明的技术方案做进一步说明。主要内容如下: 
本发明流程如图1所示,以下分别就图1中101-104分四个步骤详细说明。 
步骤一:如图2中201所示,将DSP(本例中为TI系列的C6727系列DSP)的EMIF总线与外围设备(本例中为FPGA)相连,由外围设备控制音频PCM码流以1024个采样数据为一帧的形式传输到DSP中,此过程中,使用DSP的直接内存访问机制以实现数据的高效传输。
步骤二:如图1中的102所示,对于AAC编码中频繁使用的数据结构使用静态内存分配代替动态内存分配。 
具体方法是对编码结构体进行外部静态内存分配,并在编码函数中使用指针的形式调用该结构体,编码结构体中包含用户配置信息、心理声学模型配置信息、滤波器系数、窗函数信息、频谱系数、量化模块信息。 
步骤三:如图1中的103所示,在栈的内存分配过程中,首先通过仿真测试的方法精确测量栈的使用深度,然后设定栈的大小以节约内存资源。本例中使用CCS(C6727系列DSP开发平台)提供的HWI(硬件中断)对象的monitor,将其属 性域配置为stack pointer(堆栈指针)来追踪系统的堆栈指针,monitor的统计模块可以精确的得出硬件中断发生时指针指向的堆栈位置。如图3所示,栈的计算公式如下所示: 
Stack=addr(Stack_end)-min(Sp)        (1) 
其中addr(Stack_end)指测试得出的栈底地址,min(Sp)指指针的最小值即栈顶地址。 
步骤三:编码完成后,如图2中202所示,使用直接内存访问机制实现编码数据到下级设备的搬运,即将AAC码流以帧的形式传输到下级设备中,帧的大小由下级设备与编码器约定以适应不同传输码率需要。 
说明书附图中出现的英文缩写,其含义如下: 
DMA:直接内存访问 
EMIF:DSP配备的外部存储器接口; 
PCM:脉冲编码调制。 
Stack_end:编码程序的栈底位置。 

Claims (3)

1.一种在DSP上实现先进音频编码算法的内存优化方法,其主要特征为:
步骤一:使用直接内存访问机制实现音频数据到编码DSP的搬运;
步骤二:对编码结构体进行外部静态内存分配,并在编码函数中使用指针的形式调用该结构体,该结构体包含如下内容:用户配置信息,心理声学模型配置信息,滤波器系数,窗函数信息,频谱系数,量化模块信息;
步骤三:在AAC编码程序栈的内存分配过程中,首先通过仿真测试的方法由式(1)得出栈的使用深度,式(1)中的addr(Stack_end)指测试得出的栈底地址,min(Sp)指指针的最小值即栈顶地址,然后将栈的大小设定为使用深度,以节约内存资源;
Stack=addr(Stack_end)-min(Sp)           (1)
步骤四:编码完成后,使用直接内存访问机制实现编码数据到下级设备的搬运。
2.根据权利要求1所述方法,其步骤一具体为:使用直接内存访问机制实现采样音频数据到AAC编码器的搬运,包括将PCM音频码流以每帧1024个采样点的形式传输到DSP中进行AAC编码。
3.根据权利要求1所述方法,其步骤四具体为:编码完成后,使用直接内存访问机制实现编码数据到下级设备的搬运,即将AAC码流以帧的形式传输到下级设备中,帧的大小由下级设备与编码器约定以适应不同传输码率需要。
CN2010102857317A 2010-09-16 2010-09-16 一种在dsp上实现先进音频编码算法的内存优化方法 Expired - Fee Related CN101968771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102857317A CN101968771B (zh) 2010-09-16 2010-09-16 一种在dsp上实现先进音频编码算法的内存优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102857317A CN101968771B (zh) 2010-09-16 2010-09-16 一种在dsp上实现先进音频编码算法的内存优化方法

Publications (2)

Publication Number Publication Date
CN101968771A CN101968771A (zh) 2011-02-09
CN101968771B true CN101968771B (zh) 2012-05-23

Family

ID=43547931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102857317A Expired - Fee Related CN101968771B (zh) 2010-09-16 2010-09-16 一种在dsp上实现先进音频编码算法的内存优化方法

Country Status (1)

Country Link
CN (1) CN101968771B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111181990B (zh) * 2020-01-02 2022-01-28 上海航天测控通信研究所 一种航天器网络音频传输装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308658A (zh) * 2007-05-14 2008-11-19 深圳艾科创新微电子有限公司 一种基于片上系统的音频解码器及其解码方法
CN101741391A (zh) * 2008-11-19 2010-06-16 中国科学院微电子研究所 在定点dsp进行mp3音频解码时优化内存空间的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5576021B2 (ja) * 2004-11-29 2014-08-20 ナショナル ユニヴァーシティー オブ シンガポール 携帯用デバイスのための知覚意識型低電力オーディオ・デコーダ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308658A (zh) * 2007-05-14 2008-11-19 深圳艾科创新微电子有限公司 一种基于片上系统的音频解码器及其解码方法
CN101741391A (zh) * 2008-11-19 2010-06-16 中国科学院微电子研究所 在定点dsp进行mp3音频解码时优化内存空间的方法

Also Published As

Publication number Publication date
CN101968771A (zh) 2011-02-09

Similar Documents

Publication Publication Date Title
CN108694938A (zh) 用于在可穿戴设备上进行能量高效且低功率分布式自动语音辨识的系统和方法
CN108615535A (zh) 语音增强方法、装置、智能语音设备和计算机设备
US11823687B2 (en) Method and device for decoding signals
CN108335694B (zh) 远场环境噪声处理方法、装置、设备和存储介质
CN107027036A (zh) 一种fpga异构加速平台的解压缩方法、装置及系统
EP3739582A1 (en) Voice detection
CN101639782A (zh) 基于嵌入式操作系统的系统引导载入方法
CN113689864B (zh) 一种音频数据处理方法、装置及存储介质
US20210327451A1 (en) Method for debugging noise elimination algorithm, apparatus and electronic device
CN107154062A (zh) 一种WebP有损压缩算法的实现方法、装置及系统
CN106847297A (zh) 高频带信号的预测方法、编/解码设备
CN109117377A (zh) 一种基于建表语句的测试数据自动生成方法、装置及设备
CN104023266A (zh) 一种android系统的通信编解码组件的使用方法
CN109215666A (zh) 智能支架、音频信号的传输方法、人机交互的方法及终端
CN101968771B (zh) 一种在dsp上实现先进音频编码算法的内存优化方法
CN102800318B (zh) 音频数据流的发送、接收装置及方法
CN110111811A (zh) 音频信号检测方法、装置和存储介质
CN110246502A (zh) 语音降噪方法、装置及终端设备
JP6778811B2 (ja) 音声認識方法及び装置
CN101741391B (zh) 在定点dsp进行mp3音频解码时优化内存空间的方法
AU2014286765B2 (en) Signal encoding and decoding methods and devices
CN116932224A (zh) 大数据函数资源消耗评估方法及装置
CN201655293U (zh) 卫星移动通信声码器语音编解码集成电路
CN102750126B (zh) 语音输入方法及终端
US8436753B2 (en) System and method for efficiently translating media files between formats using a universal representation

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20120916