H.264中的Slice和Slice Group

图像映射成Slice Group,就是把宏块或者宏块对进行映射成不同的Slice Group(Slice Group,0、Slice Group,1等等),在不同的Slice Group中再进行分成Slice ,相对于Slice Group来说,Slice 包含Slice Group内部按照光栅扫描顺序排列的整数个宏块或宏块对,但是若是相对于图像来说并不一定是按光栅扫描的顺序连续排列的,因为中间经过了图像到Slice Group的映射。Slice Group的提出是为了采用FMO实现错误隐藏。若是采用映射,那么在同一Slice Group中的相邻宏块在实际图像中不一定是相邻的,那么当某一个Slice Group内的Slice 的宏块发生丢包等错误的时候,就可以利用其他Slice Group内的Slice的宏块对其进行预测恢复,因为其他Slice Group中的宏块或宏块对与该丢失宏块或宏块对在位置上是相邻的,相关性最强,预测误差最小。当不采用Slice Group的时候,若是Slice的宏块发生错误,那么就导致一部分空间位置相邻的宏块或宏块对无法解出,那么就得利用周边宏块或宏块对对其进行预测,这样的预测效果随着越靠近出错区域中心越差。显然,采用Slice Group方法的预测效果要好。如图所示


H.264中的Slice和Slice Group_第1张图片

 

 

H.264中的Slice和Slice Group_第2张图片

若红色边框区域发生错误,也即某Slice0发生错误,那么上图中该区域宏块对应的原始图像的位置如左边所示,由Slice Group1恢复Slice Group0 ,由其空间相关性可知恢复效果应该会不错。

但是下图的情况就不一样了,两个片的空间相关性没那么强,恢复效果比上一种方法差。

你可能感兴趣的:(h.264)