论文部分内容阅读
随着集成电路制造工艺的不断进步和嵌入式应用的快速发展,SoC在嵌入式领域的应用日益广泛。H.264/AVC标准作为领先视频压缩技术,已成为多媒体嵌入式产品中不可或缺的一项功能。高效的H.264/AVC视频解码架构方案已经成为嵌入式SoC产品开发的困难和挑战之一。单独依靠嵌入式处理器完成高清H.264/AVC视频解码的纯软件方案由于能效比较低,难以满足嵌入式系统性能需求。通过集成H.264/AVC解码器IP核来硬件加速解码性能已成为当前SoC设计的主要方案,然而,这却对H.264/AVC解码器的灵活配置性和可扩展性提出了挑战。针对传统专用H.264/AVC解码器IP核可配置扩展性差和配置繁琐的问题,本文提出了一种基于细粒度加速单元灵活可配的H.264/AVC解码子系统架构。该架构不仅支持细粒度的各类运算硬件资源可配性,也能在SoC设计完成后由处理器根据视频特点动态配置和调用硬件资源,提高视频解码能效。为提高子系统的重用性,本文进一步采用IP-XACT标准对H.264/AVC解码子系统进行封装,使得子系统能够快速高效的集成到SoC芯片中。本文的研究内容包括以下四个方面:1)对H.264/AVC视频解器的软件算法进行研究,评估各种解码运算功能模块的复杂性,提出了由RISC处理器和细粒度加速单元模块组成的视频解码子系统软硬件体系架构。采用自底向上的设计方法,将解码应用根据功能类别划分为多个细粒度加速单元模块,通过流水线架构实现并发操作。根据视频特点,通过处理器对任务流架构(各加速单元之间的级联)进行软件灵活配置,实现解码数据的动态分配,进一步提高解码的高效并行性。2)分别设计子系统中各个细粒度加速单元模块,定制加速单元微架构与接口,在优化面积和功耗的同时,提高性能和数据吞吐量。基于细粒度加速单元模块,确定可扩展的解码子系统总线和存储器架构,满足加速单元存储器访问和加速单元间数据通信需求。3)基于CKSoC集成平台,采用IP-XACT标准封装子系统,增强子系统在不同SoC设计环境间的移植性,实现子系统配置和集成的高效化。根据视频编码的不同需求,灵活配置各加速单元数目、子系统存储大小和处理器类型达到性能与功耗面积之间的最佳折中。4)分析不同配置下H.264/AVC解码子系统的实验结果。采用CKSoC集成平台生成含有解码子系统的SoC样例,分别统计和分析各加速单元的性能。以各个加速单元性能结果为指导,调整H.264/AVC解码子系统配置,同时在软硬件协同工作下对解码图像进行数据划分优化,进一步比较和分析解码性能。实验证明,针对不同H.264视频流任务,该子系统架构在具有良好的可配置性和可扩展性同时,也能满足高效的实时解码需求。