CN101968959A - 一种基于faad2 main模式的多路音频实时解码软件设计方法 - Google Patents
一种基于faad2 main模式的多路音频实时解码软件设计方法 Download PDFInfo
- Publication number
- CN101968959A CN101968959A CN2010102877147A CN201010287714A CN101968959A CN 101968959 A CN101968959 A CN 101968959A CN 2010102877147 A CN2010102877147 A CN 2010102877147A CN 201010287714 A CN201010287714 A CN 201010287714A CN 101968959 A CN101968959 A CN 101968959A
- Authority
- CN
- China
- Prior art keywords
- data
- multipath
- voice frequency
- faad2
- buffer
- 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.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种基于FAAD2MAIN模式的多路音频实时解码软件设计方法。该软件设计方法主要包括:多路音频接收机制模块,包含多路接收传输缓冲区,其中每路接收传输缓冲区能够存储2帧的AAC码流,防止数据溢出并保证AAC解码器正确接收多路音频数据;多路滤波器组预留缓冲区,其中每路预留缓冲区存储上一帧解码数据IMDCT后的PCM数据,并利用当前链路滤波器组预留缓冲区中的PCM数据和当前解码数据IMDCT后的PCM数据进行时域叠加,进而得到输出音频数据;多路音频发送机制模块,包含多路发送传输缓冲区,其中每路发送传输缓冲区存储1帧输出音频数据,能够保证AAC解码器正确发送多路输出音频数据。
Description
技术领域
本发明涉及一种基于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:脉冲编码调制。
Claims (6)
1.一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:该方法具体包括以下步骤:
(1)多路接收传输缓冲区主动地从多路数据链路中获取AAC码流,多路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码缓冲区;
(2)无噪声解码、反量化及频谱处理;
(3)IMDCT变换,结合当前链路滤波器组预留缓冲区中的数据获得输出音频数据;
(4)将当前解码数据IMDCT后的PCM数据存入对应的滤波器组预留缓冲区,覆盖原有数据;
(5)多路音频发送机制模块负责将输出音频发送到对应的数据链路中。
2.根据权利要求1所述的一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:所述的步骤(1)中:当某路或某几路接收传输缓冲区的数据满一帧时,多路音频接收机制模块依据准则将当前链路接收传输缓冲区中的前一帧AAC码流存入当前解码缓冲区,准则指将多路接收传输缓冲区进行编号,依次处理各接收传输缓冲区中的数据,如果某接收传输缓冲区中的数据未得到更新,则此次跳过对该接收传输缓冲区的处理,继续处理下一个接收传输缓冲区。
3.根据权利要求1所述的一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:所述的步骤(2)中:无噪声解码、反量化及频谱处理是FAAD2中的软件模块,本发明未对其进行任何修改。
4.根据权利要求1所述的一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:所述的步骤(3)中:多路滤波器组预留缓冲区,其中每路预留缓冲区存储上一帧解码数据IMDCT后的PCM数据,利用当前链路滤波器组预留缓冲区中的PCM数据和当前解码数据IMDCT后的PCM数据进行时域叠加,进而得到输出音频数据。
5.根据权利要求1所述的一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方 法,其特征在于:所述的步骤(4)中:多路滤波器组预留缓冲区初始数据为全零。
6.根据权利要求1所述的一种基于FAAD2 MAIN模式的多路音频实时解码软件设计方法,其特征在于:所述的步骤(5)中:输出音频数据存入对应的发送传输缓冲区后,立即触发多路音频发送机制模,将输出音频数据发送到对应的数据链路中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102877147A CN101968959A (zh) | 2010-09-19 | 2010-09-19 | 一种基于faad2 main模式的多路音频实时解码软件设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102877147A CN101968959A (zh) | 2010-09-19 | 2010-09-19 | 一种基于faad2 main模式的多路音频实时解码软件设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101968959A true CN101968959A (zh) | 2011-02-09 |
Family
ID=43548103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102877147A Pending CN101968959A (zh) | 2010-09-19 | 2010-09-19 | 一种基于faad2 main模式的多路音频实时解码软件设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101968959A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111381973A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种语音数据处理方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170176A (zh) * | 1996-02-21 | 1998-01-14 | 菲利浦电子有限公司 | Mpeg2型信号解码器 |
EP1511326A1 (en) * | 2003-08-26 | 2005-03-02 | Samsung Electronics Co., Ltd. | Apparatus and method for multimedia reproduction using output buffering in a mobile communication terminal |
US6885992B2 (en) * | 2001-01-26 | 2005-04-26 | Cirrus Logic, Inc. | Efficient PCM buffer |
CN1662064A (zh) * | 2004-02-24 | 2005-08-31 | 上海交通大学 | 多路并行可变长码解码的方法 |
CN1921624A (zh) * | 2005-08-24 | 2007-02-28 | 上海乐金广电电子有限公司 | 数字电视的系统解码器 |
-
2010
- 2010-09-19 CN CN2010102877147A patent/CN101968959A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170176A (zh) * | 1996-02-21 | 1998-01-14 | 菲利浦电子有限公司 | Mpeg2型信号解码器 |
US6885992B2 (en) * | 2001-01-26 | 2005-04-26 | Cirrus Logic, Inc. | Efficient PCM buffer |
EP1511326A1 (en) * | 2003-08-26 | 2005-03-02 | Samsung Electronics Co., Ltd. | Apparatus and method for multimedia reproduction using output buffering in a mobile communication terminal |
CN1662064A (zh) * | 2004-02-24 | 2005-08-31 | 上海交通大学 | 多路并行可变长码解码的方法 |
CN1921624A (zh) * | 2005-08-24 | 2007-02-28 | 上海乐金广电电子有限公司 | 数字电视的系统解码器 |
Non-Patent Citations (1)
Title |
---|
《中国优秀硕士学位论文全文数据库》 20091115 王白露 MPEG-4 AAC音频解码器原型芯片设计 第4页第5段,第7页倒数第2段-第9页第4段,第11页倒数第1-5段,图1-2,图2-1 1-6 , 第11期 2 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111381973A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种语音数据处理方法、装置及计算机可读存储介质 |
CN111381973B (zh) * | 2018-12-28 | 2024-03-01 | 中兴通讯股份有限公司 | 一种语音数据处理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2009267477B2 (en) | Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver | |
KR101061404B1 (ko) | 가변 레이트로 오디오를 인코딩 및 디코딩하는 방법 | |
CN101849258B (zh) | 用于在可缩放音频编解码器中编码/解码的方法和装置 | |
CN110706715B (zh) | 信号编码和解码的方法和设备 | |
CN102598121B (zh) | 增强型音频解码器 | |
US8335577B2 (en) | Method of generating advanced audio distribution profile (A2DP) source code and chipset using the same | |
US20190103118A1 (en) | Multi-stream audio coding | |
CN105074821B (zh) | 音频编码器和解码器 | |
EP2022045B1 (en) | Decoding of predictively coded data using buffer adaptation | |
CN101512639A (zh) | 用于语音/音频发送器和接收器的方法和设备 | |
US20090228284A1 (en) | Method and apparatus for encoding/decoding multi-channel audio signal by using a plurality of variable length code tables | |
CN106847297B (zh) | 高频带信号的预测方法、编/解码设备 | |
US10199044B2 (en) | Audio signal encoder comprising a multi-channel parameter selector | |
CN101366082B (zh) | 可变帧偏移编解码方法、编解码器及无线电通信设备 | |
US20140019142A1 (en) | Apparatus and method for audio frame loss recovery | |
US20150063445A1 (en) | Method and apparatus for layered compression of multimedia signals for storage and transmission over heterogeneous networks | |
JP2016507781A (ja) | 帯域幅拡張周波数帯域信号を予測する方法、および復号デバイス | |
CN102664015A (zh) | 一种基于g726编码的多路音频实时编码软硬件方案 | |
KR20150021080A (ko) | 스테레오 오디오 신호 인코더 | |
CN101141644B (zh) | 编码集成系统和方法与解码集成系统和方法 | |
CN1234897A (zh) | 编码离散信号和解码已编码的离散信号的方法和设备 | |
EP1836856A1 (en) | Method and system for coding/decoding fo a video bit stream for fine granularity scalability | |
CN102917141A (zh) | 一种评估语音质量的测试方法、装置及系统 | |
CN104023007A (zh) | 一种数据流的发送和接收方法及其终端和系统 | |
CN101968959A (zh) | 一种基于faad2 main模式的多路音频实时解码软件设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110209 |