帧内预测(Intra-Prediction) 预测块P是基于已编码重建快和当前块形成的,当前块减去这个预测块,将差值进行编码
老外的说;
Intra-Prediction means that the samples of amacroblock are predicted by using only information of already transmitted macroblocks of the same frame.
在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
4×4方块中a、b、...、p为16 个待预测的像素点,而A、B、...、P是已编码的像素。如m点的值可以由(J+2K+L+2)/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L)/ 8 式来预测,等等。按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有1类模式。
我觉得帧内预测是H.264区别于其它编码标准的一个重要特征,mpeg-1和mpeg-2都没有帧内预测,mpeg-4虽然有但作用并不明显,而h.264的帧内预测是很强大的,对于16x16的块支持4种帧内预测模式,对于4x4得块支持9种。所谓帧内预测,说白了,就是用参考块来比较待处理块,找出最合理的一种比较方法,作为下一步真正编码时的处理方法。
帧内预测的好处显而易见,那就是提高了I帧的压缩率,当然h.264中帧内预测不仅可以用在I帧还可以用在P帧甚或B帧。
帧内编码宏块中的像素只是有当前条带经过编码、解码和重建的像素值进行预测的。
帧间预测(Inter-prediction) 采用基于快的运动补偿从一个或者多个先前编码的图像帧中产生的一个预测模型的
老外的说:
Inter-prediction creates a prediction model from one or more previously encoded video frames or fields using block-based motion compensation
帧内预测主要用在去除空间冗余上而帧间预测则主要用在去除时间冗余上。运动估计就是在参考帧中寻找与当前编码宏块最匹配的宏块,而运动补偿就是计算二者的差值。
帧间编码宏块的像素值是有先前编码帧的像素值进行预测获得的。、
我终于弄清楚了,原来帧间就是从不同帧预测的。帧内就是同一帧内预测的。哇咔咔!!
承蒙大师指导,又做了一点补充
除了I-PCM不预测,其他帧内,帧间都要预测,帧内是亮度值和色度值的预测,帧间还包括运动矢量和差值的预测,预测的目的就减少数据量,除了SP和SI编码都是先预测,然后求差值,变换,量化,264里面变换和量化是一起进行的
H.264的技术特点
2.1 分层设计
视频编码层具有高效的视频内容表示功能:
网络提取层将网络中所需要的数据进行打包和传送;
2.2 高精度、多模式运动设计
支持1/4或1/8像素精度的运动矢量;
多模式的灵活和细致的划分,大提高了运动估计的精确程度;
多帧参考技术;
2.3 帧内预测功能
在空间域进行预测编码算法,以便取得更有效的压缩:
2.4 4×4块的整数变换
由于用二变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误疾差也大为减小:
为了提高码率控制的能力,量化步长的变化的幅度控制在125%左右,而不是以不变的增幅变化。为了强调彩色的逼真性,对色度系数采用了较小量化长;
2.5 统一的VLC (符号编码)
为快速再同步而经过优化的,可以有效防止误码。