论文部分内容阅读
现实世界中的通信链路经常会产生传输错误,传输错误常常导致图像的坏损,而图像恢复可以通过差错掩盖(Error concealment)技术将这些坏损图像恢复为人眼可接受的图像。最佳邻域匹配(Best Neighborhood Matching, BNM)算法是一种优秀的图像恢复算法,它利用图像自身的信息冗余和块内相似性对受损的图像像素进行恢复。BNM算法能得到很高的图像恢复质量,但算法计算量大,运行效率低,很难满足实时处理和大规模图像处理的要求。因此,本文从串行和并行两个方面对BNM算法进行了优化,以提高算法效率。本文首先在分析了BNM算法特点的基础上,提出了一种螺旋最佳邻域匹配(Rotate-based BNM, R_BNM)算法。R_BNM算法在为受损的坏块寻找最佳匹配块时,改变了传统的顺序搜索模式,从受损块的周围开始按螺旋方式搜索,尽快找到最佳匹配块,提前结束搜索。同时R_BNM算法还使用了动态阈值调整的方法。在破坏率为15%时,R_BNM算法的加速比为19,恢复后图像的PSNR值比使用原始BNM算法时大约降低了1dB,但仍在可接受范围内,视觉差异并不大。R_BNM算法在破坏率越低时,加速比越高,恢复后图像的PSNR值越接近原始BNM算法。其次,本文中在集群系统和GPU两种不同的并行平台上对BNM算法进行了并行化研究。在集群系统上利用MPI实现了BNM算法的并行化算法,该并行BNM算法在使用多个进程执行时,算法效率提高而恢复质量没有下降,同时,实验证明该算法具有良好的可扩展性。而在GPU上则利用了CUDA编程,同时使用了合并访问、共享存储器的使用等优化手段,并且讨论和比较了这些优化手段的性能。同样在破坏率为15%时,不对BNM算法的恢复过程做任何改动,加速比为22,恢复后图像的PSNR值几乎与原始BNM算法完全相同。若缩小算法在恢复时的搜索范围,加速比可达到66,恢复后图像PSNR值虽略有下降,但不影响恢复质量。本文中所进行的模拟实验显示,这三种方法都明显降低了BNM算法的运行时间,大大提高了算法的效率,保证了图像的恢复质量。