论文部分内容阅读
运动矢量估计问题是当今一个热点问题,它在诸如视频编码、目标实时跟踪等众多领域都有着广泛的应用。块匹配算法(BMA)由于其自身的优势,一直受到了学者们的广泛重视,是目前普遍采用的运动估计算法。最早诞生的块匹配运动估计算法是基于全搜索策略的全搜索匹配算法(FSBMA)。
在已有的块匹配算法中,近年提出的顺序排除算法(SEA)和多级顺序排除算法(MSEA)有着重要的地位,尤其是在2000年由学者Gao等提出的多级排除算法(MSEA),它是通过对匹配模板进行分级、分块处理,得到越来越严格、细化的判决边界,这样做的结果是MSEA在计算灰度匹配误差准则(MAD)之前具有更高的排除效率,从而减少了算法的运算量,提高了运算速度。
虽然SEA和MSEA算法具有其他运动估计算法无法比拟的诸多优势,但其本身却存在有待改进的地方,改进的SEA和MSEA算法更加趋于合理,计算量进一步减少,而匹配精确度却不受影响。另外,本文给出的算法硬件设计方案,在运动矢量估计的实时实现上具有一定的应用价值。
本文的主要内容和特色如下:
1.SEA和MSEA算法对每一个搜索点都是从第零级开始计算的,而实际上大多数搜索点第零级的计算是无法将该点排除的,往往是在后几级将其排除,为了准确合理地获得初始匹配级,减少冗余计算量,论文提出了对算法的开始级进行估计的改进思想,即对一个待搜索的象素点,并不是盲目地从第零级开始匹配计算,而是取搜索区域内各点淘汰系数的加权平均值作为开始级进行匹配计算。实验结果表明,改进后的算法计算量减少了约48%。
2.针对于SEA和MSEA算法在当前帧进行区域搜索时,对每一个搜索点都视为同等概率出现为有效点,这样设定了搜索区域后,算法则一成不变地对每一个点逐次进行匹配运算,这样一来必定会出现冗余计算。实际上有效点总是在一个特定的区域出现的,该区域出现有效点的概率最大,我们赋予它最大权值,权限的设定以淘汰系数为依据。而对于其他区域,出现概率变小,权值相应也变小。对远离特定区域的点,其出现的概率可能为零,这样一来我们就可以设定权值为零,直接排除。对track序列和plane序列实验结果表明,算法计算时间分别减少了31%和34.4%。
3.SEA和MSEA算法是一种耗尽型,并具有精度特性的匹配算法,是目前热门的匹配算法之一,如果单靠软件的方法实现,其运算速度并不能完全满足要求,特别是在需要实时处理的场合。为了更好地将算法应用于实践,配合硬件工作,论文提出了硬件设计该算法的思想,即通过FPGA进行硬件设计,实验结果显示,基本硬件设计比优化后的软件实现运算速度要快13.3倍。
4.在完成基本FPGA硬件设计之后,论文在最后一部分提出了基于流水线的硬件设计思想。通过穿插寄存器到组合逻辑当中,缩短了信号的通路长度,有效地缩短了运算时间,实验结果表明,引入流水线后,算法运算速度比基本硬件设计快约3倍。