一、概述
原
始视频帧(最原始的视频数据)根据编码的需要,以不同的方式进行扫描产生两种视频帧:连续或隔行视频帧,隔行视频帧包括顶场和底场,连续(遂行)扫描的视
频帧与隔行扫描视频帧有着不同的特性和编码特征,产生了所谓的帧编码和场编码。一般情况下,遂行帧进行帧编码,隔行帧可在帧编码和场编码间选取。
在帧编码中,参考为帧图像,采用帧运动补偿,两个场是联合编码,;在场编码中,参考为场图像,两个场是分别编码,采用场运动补偿。
帧编码与场编码的选择
1.对于运动激烈的情况,也就是画面变化快,画面中的人物、背景等等短时间里就会有很大的变化。这样,如果使用帧编码,由于相邻两行(一行在顶场,一行在底场)的扫描时间相差了许多(因为是隔行扫描),那么由于变化剧烈(画面在短时间内就会产生很大的差异),相邻行没有太多的相关性。而对于场图像来说,相邻行的扫描时间非常短,所以即使运动剧烈,但还是有很强的时间相关性。所以在这种情况下用场编码,就能去除时间上的冗余。
2.对于相对静止没有什么变化的情况应该相对好理解,因为画面内容没有太大的变化,扫描时间的长短并不影响相关性。倒是帧场的相邻行由于是真正意义上的相邻,所以空间相关性肯定要比场的相邻行(其实是隔行)的空间相关性要大。那么在这种情况下使用帧编码,就能去除空间上的冗余。
二、视频序列帧、场编码方式
1.固定帧编码(全帧)----视频序列的全部帧始终采用帧编码方式。
2.固定场编码(全场)
视频序列中帧被分成两个场独立编码。编码规则:
1. I帧可编码成两个I场或一个I场和一个P场,即II、IP.
2. P帧可编码成两个P场或一个P场和一个B场,即PP、PB.
3. B帧可编码成两个B场,即BB.
3.图像级帧、场自适应编码 (PAFF)
视频序列能被编码成一个帧或两个场,自适应选择原则是根据采用该种编码方式的每一帧的RD值。
4.宏块级帧、场自适应(MBAFF)
为了进一步提高编码效率,采用了宏块级帧场自适应.,宏块级采用了宏块对(MBP)为基本编码单元(如图2所示)
H.264采用的MBAFF方案:
在图像中运动比较大的地方采用场编码,运动比较小的地方采用帧编码,编码顺序例子如下:
原文链接:
http://blog.csdn.net/sunnymov/archive/2009/08/17/4454424.aspx