论文部分内容阅读
H.264作为当前主流的视频编码标准,以其较高的压缩效率得到广泛的应用。 FPGA具有高速的并行处理能力、丰富的逻辑资源,使用FPGA实现H.264编码系统具有重要意义。本文在分析H.264视频编码标准的基础上,给出了H.264编码器的FPGA存储设计方案,即采用多端口访问控制器和针对不同编码模块的数据适配器相结合的架构;并详细讨论了多端口访问控制器、去方块滤波输出适配器和运动估计参考数据输入适配器的FPGA设计与实现。 多端口访问控制器是整个存储控制的核心,负责将来自多个模块的并发读写请求转换为DDR上的串行读写请求,它主要实现三方面的功能:访问冲突的化解、访问通道优先级的设定及特殊数据通道的实现。对于冲突化解,采用带有优先级的请求队列;对于通道优先级的设定,采用内部初始化设定与外界控制更新相结合的方式;在特殊数据通道的实现上,根据访问模块的具体要求,控制DDR的数据掩码,从而达到对特殊长度数据的写入。 去方块滤波输出适配器在设计上采用乒乓缓存寄存器与发送ram缓存相结合的架构,保证在多端口控制器忙碌的情况下,适配器能够正确处理滤波输出的数据。 运动估计参考数据输入适配器的设计上,根据运动估计参考数据的更新特点,设计出一套合理的参考数据存储地址产生机制,根据当前运动估计宏块的位置信息,计算出参考数据对应的DDR地址;并将参考数据按照要求的位宽发送给运动估计模块。 在xc6vlx240t硬件平台下的综合结果表明,多端口控制器消耗7235个片内寄存器、6161个LUTs,最高工作频率为269MHz。去方块滤波适配器消耗5593个片内寄存器、20599个LUTs和4个Block RAM,最高工作频率为195MHz,在没有访问冲突的情况下,耗费11个时钟周期就完成一个宏块的亮度数据存储。运动估计参考数据输入适配器消耗472个片内存储器、506个LUTs及8个Block RAM,最高工作频率可达到275MHz,在没有访问冲突的情况下,读取一个宏块所需参考宏块(3个宏块的亮度及色度数据)花费72个时钟周期。