发明名称 一种基于FPGA的FLAC硬件解码器及解码方法
摘要 本发明公开了一种基于FPGA的FLAC硬件解码器及解码方法,解码器包括FLAC文件缓存模块、预处理模块、主控模块、元数据解析模块、帧同步模块、帧解码模块、左右声道缓存控制器、逆去相关模块、I2S接口模块,晶振,SRAM芯片。基于FLAC硬件解码器的核心电路如FLAC文件缓存模块、预处理模块、主控模块、元数据解析模块、帧同步模块、帧解码模块、左右声道缓存控制模块、逆去相关模块、I2S接口模块集成于FPGA中。本发明最高支持192KHz,24bit的FLAC音频的解码,采用标准的I2S接口输出音频PCM数据。
申请公布号 CN105047200A 申请公布日期 2015.11.11
申请号 CN201510429375.4 申请日期 2015.07.21
申请人 重庆邮电大学 发明人 刘乔寿;黄国臣;吉福生
分类号 G10L19/16(2013.01)I 主分类号 G10L19/16(2013.01)I
代理机构 重庆市恒信知识产权代理有限公司 50102 代理人 刘小红;李金蓉
主权项  一种基于FPGA的FLAC硬件解码器,其特征在于:包括FLAC文件缓存模块(1)、预处理模块(2)、主控模块(3)、元数据解析模块(4)、帧同步模块(5)、帧解码模块(6)、左右声道缓存控制器(7)、逆去相关模块(8)和I2S接口模块(9),其中所述FLAC文件缓存模块(1)分别与预处理模块(2)和主控模块(3)连接,所述主控模块(3)还分别与预处理模块(2)、元数据解析模块(4)、帧同步模块(5)和帧解码模块(6)连接进行数据交换,所述帧解码模块(6)的输出端与左右声道缓存控制器(7)连接,帧解码模块(6)的另一输出端与逆去相关模块(8)连接,所述逆去相关模块(8)的输出端与I2S接口模块(9)连接;所述FLAC文件缓存模块(1)用于缓存外部处理器(10)传递进来的FLAC音频文件以及产生解码器启动信号;所述预处理模块(2)用于将FLAC文件缓存模块(1)输出的并行码流转换成可取任意位码元的码流;所述主控模块(3)用于响应FALC缓存模块(1)的解码器启动信号,控制元数据解析模块(4)、帧同步模块(5)和帧解码模块(6)的运行与停止,接收预处理模块(2)的FALC数据并传递给元数据解析模块(4)、帧同步模块(5)、帧解码模块(6);所述元数据解析模块(4)用于提取FLAC音频文件的总样本数、采样率、采样深度、声道数,并传递给主控模块(3);所述帧同步模块(5)用于同步FLAC音频帧;所述帧解码模块(6)用于接收来自主控模块(3)的FALC音频文件,对FLAC音频文件中的音频数据进行解码,将解码得到的PCM音频数据传递给左右声道缓存控制器(7);所述左右声道缓存控制器(7)用于将帧解码模块(6)解码得到的PCM音频数据写入SRAM芯片(11),读取SRAM芯片(11)的PCM音频数据传递给逆去相关模块(8);所述逆去相关模块(8)用于从帧解码模块(6)获取当前帧采样数和声道配置信息,从左右声道缓存控制器(7)获取PCM音频数据,还原左右声道PCM音频数据的相关性,将还原得到的PCM音频数据传递给I2S接口模块(9);所述I2S接口模块(9)用于将从逆去相关模块(8)传递过来的并行的PCM音频数据以串行方式输出到外部数模转换器(12)。
地址 400065 重庆市南岸区黄桷垭崇文路2号