错误隐藏学习手记(二)

来源:互联网 发布:mac远程桌面快捷键 编辑:程序博客网 时间:2024/06/07 03:19

错误隐藏技术是在H.264在解码端后端的一种技术,用于恢复某一丢失帧或者宏块。一般来说每个宏块是16*16。


Step1:我们怎么知道是哪一块宏块丢失了呢?

    这就和视频编解码H.264有些关系了。JM86中丢失块的确定取决于编码端灵活宏块重排模式(FMO)。FMO将一幅图像中的宏块进行重排,重排后映射到不同的片组中,以片为单位进行传送。解码端检测片是否丢失,如果丢失则根据FMO模式确定此丢失片包含的所有 宏块在一幅图像中的具体位置。所以我们进行错误隐藏的时候就可以知道具体哪一些宏块丢失了。(丢失块周围最多可存在八个相邻块,一般而言,丢失块的上、下、左、右四个相邻块与其相关性较大 ,而这四个块中与丢失块最邻近的8行或8列像素与其相关性最大。为简化计算,只对8×16或16×8相邻块的像素点作边缘检测。)


Step2:错误隐藏分为帧内错误隐藏(intra frame)和帧间错误隐藏(inter frame),我们根据什么来判断是否进行哪一种呢?

    这里要用到一种检测:Frame-Level Scene-Change Detection。在MPEG系统中,分为I帧(完整的数据,是P帧和B帧的参考),P帧(根据前一帧和运动预测(motion prediction)得到),B帧是在I和P之间的。在帧的输出过程是采用GOP格式(IBBPBBPBBPBBI)这样的话如果开始的I帧损坏后面的B,P全部损坏,直到遇到下一个B帧。P帧损坏的话,接下来的P帧,B帧都会损坏。B帧的损坏不会导致接下来的帧发生问题,因为它本身不会作为运动向量的参考。对于I帧,我们计算两个帧之间的总的difference。如果太大的话采用帧内错误隐藏,否则采用帧间错误隐藏。对于P帧,采用intra prediction mode information method,若该帧大部分都采用了intra-coded,那么就表示scene-changed,就要采用帧内错误隐藏。


参考论文:

S. C. Hsia, S. C. Cheng, and S. W. Chou, “Efficient adaptive error concealment technique for video decoding system,”IEEE Trans. Multimedia, vol. 7, no. 5, pp. 860–868, Oct. 2005.

S. C. Hsia and S. W. Chou, “VLSI implementation of high-performanceerror concealment processor for TV broadcasting,”IEEE Trans. Circuits Syst. Video Technol., vol. 17, no. 8, pp. 1054–1064, Aug. 2007.
D. Agrafiotis, D. R. Bull, and C. N. Canagarajah, “Enhanced errorconcealment with mode selection,” IEEE Trans. Circuits Syst. Video Technol., vol. 16, no. 8, pp. 960–973, Aug. 2006

附:还有一些方法:通过判断最优运动矢量的大小判断视频帧图像区域运动是否发生剧烈运动。若发生剧烈运动,则采用帧内恢复,否则采用帧间恢复(拷贝最优运动矢量对于宏块到相应丢失宏块) -> 参考:基于H_264_AVC改进的时空域错误掩藏算法_吴明坤


Step3:接着就进行帧间和帧内错误隐藏了,因为帧间错误隐藏更简单,那么我们先来做帧内错误隐藏。

       对于帧内错误隐藏又有很多种情况。

       可采用空间加权像素平均算法和方向插值(线性插值,双向插值,三次样条插值,拉格朗日插值,贝塞尔曲线)等等。

       请参考上一篇学习手记:http://blog.csdn.net/c602273091/article/details/43369863


Step4:进行帧间错误隐藏。

                   基于块运动轨迹相似性及空域统计相关性的受损运动修复错误隐藏算法复杂度比较高恢复效果好实时性差的方法。

                   边界匹配算法:复杂度低实时性好但是对搜索最优运动不够精确,在针对剧烈运动时H.264没有相应处理,这是H.264自带的算法。

                   别的方法:外边界匹配,增强运动矢量集,扩大参考帧范围,更改计算最小误差等方法来提高丢失宏块的匹配精确程度。  



          这样的话,我们大概就可以得出整个错误隐藏的流程图:

上图来自于:
Efficient Spatial-Temporal Error Concealment Algorithm and Hardware Architecture Design for H.264/AVC Guan-Lin Wu, Ching-Yi Chen, Tung-Hsing Wu, and Shao-Yi Chien, Member, IEEE





0 0
原创粉丝点击