一篇介绍FMO的比较不错的论文。
H.264中典型的抗误码工具
(1). 参数集的使用
以往的编码标准都是具有分层特性的, 有类似Slice/Picture/Gop/Macroblock的结构. 在H.264中经常变动的内容在slice中传输, 而对于那些不变的使用"参数集"的方式进行传输
(2). 数据分割
H.264允许根据语法分类 将每个Slice的数据划分为3个独立的部分(A,B,C), PartitionA主要包括Slice头信息和一些语法结构信息,Partition B 主要包括I宏块和SI宏块信息, Partition C主要包括P宏块和B宏块的信息.
(3)多参考帧运动估计
多参考帧运动估计不但能降低码率, 同时也能提高视频数据的鲁棒性. 在编解码交互系统中, 解码器向编码器发送错误帧信息时, 编码器不再采用出错帧作为参考,从而有效的防止误码扩散.
(4) GoB(Group of Block)刷新和随机帧内刷新
这两种方法都是要求对一定数量的宏块进行强制帧内编码.GoB刷新是每隔M帧进行一个GoB的帧内编码, 随机帧内编码是在一帧内随机进行N个宏块的帧内编码. M, N的值由信道差错概率决定. 一般的, M,N的值与信道差错概率成反比.
(5) FMO
在FMO模式下, 可以将同一帧内空间相邻的宏块分到不同的Slice中. H.264中定义了7中FMO模式
H.264/AVC 在压缩效率方面取得了巨大突破,一般情况下达到 MPEG-2 及 MPEG-4 简化类压缩效率的大约 2 倍。在 JVT 进行的正式测试中 [9],H.264 在 85 个测试案例中有 78% 的案例实现 1.5 倍以上的编码效率提高,77% 的案例中达到 2 倍以上,部分案例甚至高达 4 倍。