赞
踩
Mpeg1是上世纪90年代提出来的视频标准,比较古老了。其特性包括:
如图所示,Mpeg1码流结构可以分为以下几层:
Mpeg1/2标准解码整个流程如下图所示。
I帧中所有宏块都以帧内编码方式,P帧和B帧中也可能存在帧内编码宏块(由macroblock_type语法决定)。Mpeg标准没有帧内预测,由于DCT变换后DC参数数值较大,直接编码会占用较多数据量,因此帧内编码使用DC预测减少码率。
帧内编码宏块解码步骤如下:
MPEG1标准预测编码支持半像素精度,对于半像素的预测宏块是通过线性插值实现。
P帧中的预测编码宏块解码主要可分为两个部分:一是重建宏块的前向运动矢量以及预测宏块;二是存放在码流中的block DCT参数经过反量化、反变换并与预测宏块叠加;
计算步骤如下:
B帧中的预测宏块解码过程可分为以下四个步骤:
Skipped宏块是指码流中没有编码数据的宏块,这类宏块既没有mv信息也没有DCT参数。这些宏块由宏块头信息中的macroblock_address_increment来表示,当macroblock_address_increment的值大于1时,可以认为当前宏块与上一宏块间存在skipped宏块。
mpeg1参考帧最多只有2个,为之前解码两个的I或P帧。
假设一段码流显示顺序如下:
1 2 3 4 5 6 7
I B B P B B P
其解码顺序如下:
I P B B P B B
当前解码帧 | 前向参考帧Last_pic | 后向参考帧Next_pic | |
---|---|---|---|
解码1I帧 | 1 | 0 | 1 |
解码4P帧 | 4 | 1 | 4 |
解码2B帧 | 2 | 1 | 4 |
解码3B帧 | 3 | 1 | 4 |
解码7P帧 | 7 | 4 | 7 |
解码5B帧 | 5 | 4 | 7 |
解码6B帧 | 6 | 4 | 7 |
如上表所示,参考帧管理基本原则是:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。