论文部分内容阅读
近年来,作为多媒体核心的数字视频技术得到了飞速发展。而运动估计(ME)算法及其实现技术作为诸多视频压缩标准实现的核心部分,在研究领域和业界引起极大的关注。可重构计算技术的出现在算法的ASIC和软件两种传统的实现方式之间架起了一座桥梁,使用户可以在性能与灵活性之间获得较好的折中。本论文将重点讨论基于可重构计算技术的ME算法的VLSI实现问题。 在介绍课题的总体背景后,对可重构计算技术、块匹配算法(BMA)的研究现状及其 VLSI实现和BMA的可重构实现发展现状等方面的课题相关技术做了详尽介绍和深入探讨。 本文的主要工作如下: 可变块大小ME已被新的MPEG-4 AVC/H.264标准采纳,而以往支持全搜索块匹配算法(FSBMA)的结构并不适合可变块大小计算。本文首先总结了可变块大小 FSBMA的SAD匹配准则的求和规律并分析了AB2、AS2和全树型三种典型结构在支持可变块大小计算上存在的不足。在此基础上,分别改进了AB2和AS2结构的SAD求和过程以及全树型结构的搜索区数据输入方式和SAD求和顺序,使三种改进后的结构可以同时计算 MPEG-4 AVC/H.264标准要求的7种块大小的SAD,并且在计算较大块的SAD时,可以充分利用较小块 SAD的部分和。其中,改进的AB2和AS2结构保持原结构的搜索区数据流和处理能力不变;改进的全树型结构尽管为了减少输入数据宽度而相对原结构在性能上有所下降,但仍可获得同 AB2结构相同的处理能力。 上述改进的AB2和全树型结构相对AS2在硬件规模上优势明显,但是由于存在大量的无效计算致使 PE利用率仅为70%,处理能力远低于 AS2,难以满足高性能实时编码要求。无效计算是由于结构中所采用的搜索区单方向扫描方式因换行(或列)而引起的。因此,为了提高 PE利用率,本文提出了可以消除无效计算的、具有三种方向的搜索区扫描方式。在改进全树型结构的基础上,提出了支持上述扫描方式的动态可重构运算阵列结构,在计算过程中可以获得100%的PE利用率。针对搜索区数据流的特点,设计了一种可扩展的可重构存储结构。该结构采用多存储体结合可重构的crossbar接口及串并转换移位寄存器,可以向运算阵列并行输出上述扫描方式中三种方向的数据流。通过增减存储体的容量可以实现在外存访问带宽和搜索区数据利用率之间折中的缓存方案。采用TSMC0.18um CMOS工艺库实现了上述可重构结构的电路。电路工作在180MHz的频率下,可实时处理分辨率为1280×720的、45fps的视频序列。 最后,本文对支持多种BMA的可重构结构进行了深入研究,目的是在功耗受限应用中通过选择不同的BMA来获得视频质量、计算复杂度和功耗之间的多种折中。文中,首先基于 BMA在计算复杂度和功耗方面划分的三个级别,提出了设计目标和结构的总体规划。在此基础上,详细讨论了可重构结构中的三个核心部分:可重构运算阵列(RCA)、可重构存储结构和可重构地址产生单元。其中,RCA通过配置可以支持具有高、中、低三种计算复杂度的算法;可重构存储结构通过可重构参考块存储阵列、可重构候选块寄存器阵列和搜索区数据存储器等三部分结构来实现不同算法要求的参考块、候选块和搜索区的数据流;可重构地址产生单元是在总结块匹配算法的地址产生规律的基础上提出的一种基于 LUT的灵活结构,可以实现多种算法的地址产生。我们采用TSMC0.18um CMOS工艺库,电路实现不同计算复杂度的算法时,平均功耗在7.3~247mW之间变化。