一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法技术

技术编号:4101302 阅读:266 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于FAAD2MAIN模式的多路音频实时解码软件设计方法。该软件设计方法主要包括:多路音频接收机制模块,包含多路接收传输缓冲区,其中每路接收传输缓冲区能够存储2帧的AAC码流,防止数据溢出并保证AAC解码器正确接收多路音频数据;多路滤波器组预留缓冲区,其中每路预留缓冲区存储上一帧解码数据IMDCT后的PCM数据,并利用当前链路滤波器组预留缓冲区中的PCM数据和当前解码数据IMDCT后的PCM数据进行时域叠加,进而得到输出音频数据;多路音频发送机制模块,包含多路发送传输缓冲区,其中每路发送传输缓冲区存储1帧输出音频数据,能够保证AAC解码器正确发送多路输出音频数据。

【技术实现步骤摘要】

本专利技术涉及一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,该软件 设计方法可以使得FAAD2解码器能够进行多路音频解码,属于通信领域。
技术介绍
先进音频编码(Advanced Audio Coding,简称AAC)是在MP3基础上发展起来的新 一代感知音频压缩编解码技术,该技术综合了多种主流音频编解码技术的优点,具有信号 压缩比高,重建音质好,编解码过程高度模块化和声道配置灵活等特点。FAAC是目前最好的 开源AAC编码器,其编码质量已经完全能和商业性质的编码器相媲美了,FAAD2是其对应的 AAC解码器。FAAD2解码器支持单路64通道音频解码,不支持多路音频解码,但在实际应用中, 经常需要AAC解码器能够处理来自不同传输链路的多路音频。
技术实现思路
为了实现FAAD2支持多路音频解码,本专利技术提供了 一种基于FAAD2 MAIN模式的多 路音频实时解码软件设计方法。该软件设计方法主要包括多路音频接收机制模块,包含多 路接收传输缓冲区,其中每路接收传输缓冲区能够存储2帧的AAC码流,防止数据溢出并保 证AAC解码器正确接收多路音频数据;多路滤波器组预留缓冲区,其中每路预留缓冲区存 储上一帧解码数据IMDCT后的PCM数据,并利用当前链路滤波器组预留缓冲区中的PCM数 据和当前解码数据IMDCT后的PCM数据进行时域叠加,进而得到输出音频数据;多路音频发 送机制模块,包含多路发送传输缓冲区,其中每路发送传输缓冲区存储1帧输出音频数据, 能够保证AAC解码器正确发送多路输出音频数据。具体步骤如下步骤一多路接收传输缓冲区主动地从多路数据链路中获取AAC码流,多路音频接 收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码缓冲 区;步骤二无噪声解码、反量化及频谱处理;步骤三IMDCT变换,结合当前链路滤波器组预留缓冲区中的数据获得输出音频数 据;步骤四将当前解码数据IMDCT后的PCM数据存入对应的滤波器组预留缓冲区,覆 盖原有数据;步骤五多路音频发送机制模块负责将输出音频发送到对应的数据链路中。其中,所述的步骤一中当某路或某几路接收传输缓冲区的数据满一帧时,多路音 频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码 缓冲区,准则指将多路接收传输缓冲区进行编号,依次处理各接收传输缓冲区中的数据,如 果某接收传输缓冲区中的数据未得到更新,则此次跳过对该接收传输缓冲区的处理,继续处理下一个接收传输缓冲区。其中,所述的步骤二中无噪声解码、反量化及频谱处理是FAAD2中的软件模块, 本专利技术未对其进行任何修改。其中,所述的步骤三中多路滤波器组预留缓冲区,其中每路预留缓冲区存储上一 帧解码数据IMDCT后的PCM数据,利用当前链路滤波器组预留缓冲区中的PCM数据和当前 解码数据IMDCT后的PCM数据进行时域叠加,进而得到输出音频数据。其中,所述的步骤四中多路滤波器组预留缓冲区初始数据为全零。其中,所述的步骤五中输出音频数据存入对应的发送传输缓冲区后,立即触发多 路音频发送机制模,将输出音频数据发送到对应的数据链路中。本专利技术的原理在开源FAAD2解码器的基础上,通过设置多路音频接收机制模块、 多路滤波器组预留缓冲区及多路音频发送机制模块来实现多路AAC解码。本专利技术与现有技术相比的优点在于1、FAAD2实现多路音频解码;2、FAAD2程序修改量小;3、多路音频接收发送机制模块能够正确地接收、发送多路音频数据,鲁棒性高。 附图说明图1是本专利技术提出的多路音频实时解码软件设计方法的整体流程图;图2是本专利技术提出的多路音频接收机制流程图;图3是本专利技术提出的多路接收传输缓冲区指定序号示意图;图4是本专利技术图的滤波器组预留缓冲区切换示意图;图5是本专利技术提出的多路音频发送机制流程图。具体实施例方式下面结合附图,对本专利技术的技术方案做进一步说明。本专利技术提供了一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法。该软 件设计方法主要包括多路音频接收机制模块,包含多路接收传输缓冲区,其中每路接收传 输缓冲区能够存储2帧的AAC码流,防止数据溢出同时保证AAC解码器正确接收多路音频 数据;多路滤波器组预留缓冲区,其中每路预留缓冲区存储上一帧解码数据IMDCT后的PCM 数据,并利用当前链路滤波器组预留缓冲区中的PCM数据和当前解码数据IMDCT后的PCM 数据进行时域叠加,进而得到输出音频数据;多路音频发送机制模块,包含多路发送传输缓 冲区,其中每路发送传输缓冲区存储1帧输出音频数据,能够保证AAC解码器正确发送多路 输出音频数据。参见附图1,多路接收传输缓冲区接收来自不同传输链路中的多路AAC码流 (101);然后,多路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC 码流存入当前解码缓冲区(102);接着,进行无噪声解码、反量化及频谱处理(103);根据 chain(当前处理的链路)值使用指针对当前链路滤波器组预留缓冲区进行切换(104);利 用当前链路滤波器组预留缓冲区的PCM数据和当前解码数据IMDCT后的PCM数据进行时域 叠加,进而得到输出音频数据,再将当前解码数据IMDCT后的PCM数据存入对应的滤波器组预留缓冲区,覆盖原有数据(105);最后,多路音频发送机制模块负责将输出音频发送到对 应的数据链路中(106)。101是本专利技术提出的多路音频接收机制模块,是多路音频实时解码软件设计方法 的核心模块。参见附图2,对多路接收传输缓冲区进行编号及初始化(201),编号指依次指 定接收传输缓冲区的序号(301),初始化指各接收传输缓冲区指初始值全为零,且chain =1 ;接着,各接收传输缓冲区接收数据,直至某路或某几路缓冲区中的数据满一帧(202); 然后查询AAC解码器是否空闲(203);如果AAC解码器当前状态为忙,则返回到202,如果 AAC解码器当前状态为空闲,则检测chain链路接收传输缓冲区(204);其数据是否满一帧 (205);如不满一帧,则chain++(206),并返回到204 ;如满一帧,将当前chain链路接收传 输缓冲区数据存入当前解码缓冲区。本专利技术的多路音频接收机制模块的核心思想是优先处 理chain链路接收传输缓冲区,如chain链路接收传输缓冲区未准备就绪,则处理下一链 路接收传输缓冲区,如此在突发状态下,能够避免因多路音频接收机制模块一直等待chain 链路数据,进而造成不能及时处理其它链路数据的情况。104中当前滤波器组预留缓冲区的切换是通过指针的形式完成切换(401)。106是本专利技术提出的多路音频发送机制模块,是多路音频实时解码软件设计方法 的核心模块。参见附图5,对多路发送传输缓冲区进行编号及初始化(501),编号指依次指 定发送传输缓冲区的序号,初始化指各发送传输缓冲区初始值全为零;接着,多路音频发送 机制模块检测AAC解码器是否完成解码(502);如未完成,则继续检测,直至完成,如完成, 则将解码后的输出音频数据从chain链路发送传输缓冲区发送到对应的数据传输链路中。说明书附图中出现的英文缩写,其含义如下IMDCT 改进型离散余弦反变换;chain 当前处理链路;PCM:脉冲编码调制。本文档来自技高网...

【技术保护点】
一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:该方法具体包括以下步骤:(1)多路接收传输缓冲区主动地从多路数据链路中获取AAC码流,多路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码缓冲区;(2)无噪声解码、反量化及频谱处理;(3)IMDCT变换,结合当前链路滤波器组预留缓冲区中的数据获得输出音频数据;(4)将当前解码数据IMDCT后的PCM数据存入对应的滤波器组预留缓冲区,覆盖原有数据;(5)多路音频发送机制模块负责将输出音频发送到对应的数据链路中。

【技术特征摘要】
一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于该方法具体包括以下步骤(1)多路接收传输缓冲区主动地从多路数据链路中获取AAC码流,多路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码缓冲区;(2)无噪声解码、反量化及频谱处理;(3)IMDCT变换,结合当前链路滤波器组预留缓冲区中的数据获得输出音频数据;(4)将当前解码数据IMDCT后的PCM数据存入对应的滤波器组预留缓冲区,覆盖原有数据;(5)多路音频发送机制模块负责将输出音频发送到对应的数据链路中。2.根据权利要求1所述的一种基于FAAD2MAIN模式的多路音频实时解码软件设计方 法,其特征在于所述的步骤(1)中当某路或某几路接收传输缓冲区的数据满一帧时,多 路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前 解码缓冲区,准则指将多路接收传输缓冲区进行编号,依次处理各接收传输缓冲区中的数 据,如果某接收传输缓冲区中的数据未得到更新,则此次跳过对该接收传输缓冲区的处理, 继续...

【专利技术属性】
技术研发人员:毛峡邵伟国
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1