帧间错误隐藏算法整理:
1、零矢量拷贝错误隐藏算法:当图像帧某一宏块丢失之后,直接拷贝当前帧的前一帧的相同位置的宏块过去。当然,这种算法对于非激烈运动的视频还是可以的。算法简单,复杂度低,实时性比较好。缺点就是对于局部剧烈运动或者剧烈运动的视频会有很大的误差,严重影响观赏效果。
2、边界匹配错误隐藏算法(BMA,boarder match algorithm):利用丢失宏块与其周围宏块的相关性,取周围上、下、左、右宏块的运动矢量作为一个运动矢量集,使用最小边界匹配误差(SAD)规则,寻找最优运动矢量,将这个最优运动矢量对应参考帧的宏块来补偿当前帧中丢失宏块。适用于运动的场景,适应性不错。
具体实现:
计算每一个方向的运动矢量并计算出最优SAD: