发明名称 一种AAC音频实时解码容错控制方法
摘要 本发明提供了一种AAC音频实时解码容错控制方法。该容错控制方法主要包括:AAC解码输入FIFO,该FIFO可以容纳2帧AAC码流,防止突发情况下因AAC解码器无法实时取走数据所造成的AAC码流丢失;AAC解码输出FIFO,该FIFO可以容纳3.5帧解码后的PCM数据,当此FIFO的数据量小于2帧时,AAC解码器对解码后的PCM数据进行插值再发送到解码输出FIFO,防止因AAC码流在数据传输过程中因存在数据误码、丢失所引起的输出音频中断;预留缓冲区,预留一帧PCM数据,在突发情况下,解码输出FIFO即将为空时产生中断信号,AAC解码器接收到该中断信号后立即将预留缓冲区的数据发送到解码输出FIFO,防止输出音频中断。
申请公布号 CN102063906B 申请公布日期 2012.05.23
申请号 CN201010287744.8 申请日期 2010.09.19
申请人 北京航空航天大学 发明人 毛峡;邵伟国
分类号 G10L19/00(2006.01)I;G10L19/02(2006.01)I;G10L19/14(2006.01)I 主分类号 G10L19/00(2006.01)I
代理机构 代理人
主权项 一种AAC音频实时解码容错控制方法,其特征在于:该方法具体包括以下步骤:(1)AAC码流进入FPGA中的AAC解码输入FIFO,如该FIFO数据量大于等于一帧时,将对应的指示信号1置为高电平,如不满一帧数据,则将该指示信号1置为低电平;(2)DSP中的AAC解码器检测到对应的指示信号1为高电平时,从AAC解码输入FIFO取出数据进行解码,如为低电平,则继续检测,直至为高电平;(3)DSP中AAC解码器完成解码后,检测对应的指示信号2的电平值,如为高电平,则对解码后的PCM数据进行插值,然后将预留缓冲区数据和插值后的前若干PCM数据,共计1026点,发送到解码输出FIFO,并将剩余数据存入预留缓冲区,如为低电平,则检测预留缓冲区是否为满,如满,则将预留缓冲区数据发送到解码输出FIFO,然后将解码后的PCM数据存入预留缓冲区,如不满,则对解码后的PCM数据进行插值,然后将预留缓冲区数据和插值后的前若干PCM数据,共计1024点,发送到解码输出FIFO,并将剩余数据存入预留缓冲区;(4)检测解码输出FIFO的数据量,如其值大于等于2帧,则将对应的指示信号2置为低电平,如其值小于2帧且大于等于64,则将对应的指示信号2置为高电平,如其值小于64,则产生中断信号,AAC解码器接收到该中断信号后,立即将预留缓冲区数据发送到解码输出FIFO。
地址 100191 北京市海淀区学院路37号