论文部分内容阅读
本文提出了一种基于FPGA的逻辑电路设计,旨在实现CABAC算术编码方案的完整算法。该设计采用软硬件结合的体系结构,用硬件逻辑电路实现方案中运算复杂度高、使用频繁的通用二进制算术编码器,而运算复杂度相对较低,但流程复杂、分支较多的二值化、上下文模型计算部分则通过一个自行设计的16位RISC处理器核心,采用软件来完成。处理器与硬件模块采用总线方式连接,有利于系统的扩展。
在电路设计上,充分利用了流水线技术来提高系统的工作频率和电路的使用效率。硬件二进制算术编码器使用六级流水线结构实现,每个时钟周期可以处理1bit的数据,其最大工作频率达到42MHz,编码速度较传统的电路结构(如串行结构和动态流水线结构)相比有至少70%的提高;RISC处理器采用哈佛结构,并使用了流水线技术,将ALU的操作分为两级流水线处理使关键路径缩短了一半,其最大工作频率达50MHz,在全流水的理想状态下可以在每时钟周期处理一条指令;二者相结合的CABAC编码器,对于中等质量QCIF图像的编码速度达到47帧/秒,编码时间仅为同等条件下全软件处理的40%左右,基本可以满足实时视频压缩的需要。目前软件和硬件的数据吞吐率还有约20倍的差距,应用优化编译、将部分软件硬件化以及引入并行处理的机制将进一步提高软件的效率,由此可望更好地利用硬件流水线的处理能力,成倍地提高编码的速度。
本文所设计的CABAC编码器,采用Verilog硬件描述语言设计,在AlteraACEX系列FPGA上仿真通过。