H.264---编码架构分析

一、编码架构分析 

 编码器有两条数据通道:前向通道和重建通道。在前向通道中,编码器的输入是帧Fn,每帧是以16X16像素大小的宏块单元组成的,每个宏块进行帧内或帧间预测编码。帧间预测的参考帧为前一帧Fn‘,实际上,参考帧的数量可以多达五帧。当前块减去其预测块P得到残差Dn,Dn经过块变换和量化得到量化系数X,对量化变换系数进行重编码和熵编码,得到的系数以及一些用于解码的附加信息(例如宏块预测模式、量化步长、运动矢量信息等)经由网络抽象层NAL(network abstraction layer)进行传输和存储。

在重建通道中,块量化系数X经反量化和反变换后产生残差块Dn'(由于量化过程引入误差,Dn’与先前的Dn并不一致)。预测块P与Dn'相加构成重建块uFn‘,再引入滤波器减少块效应得到Fn’,Fn'可被用作帧间参考图像。在编码器中引入重建通道的目的是为了是编码器和解码器使用相同的参考帧来构成预测块P,否则,预测块P在编码器和解码器中将不一致,这将造成误差积累火编解码器间的“漂移”。

ME表示运动估计(MononEstinladon),MC表示运动补偿。这个只在帧间预测中用到。

如果采用帧间预测编码,其预测值P是由当前片中前面已编码的参考图像(F'n-1)经运动补偿(MC)后得出.

二、解码架构分析

由编码器的NAL输出一个压缩后的H.264压缩比特流。经熵解码重排序后得到一组变换系数X,再经过反量化、反变换得到残差Dn'。利用利用从该比特流中解码出的头信息,解码器就产生一个预测快P,它和编码器的原始块是相同的,当该解码器产生的P与残差Dn'相加后,就产生uFu',再经滤波后,最后就得到滤波后的Fn‘,这个Fn’就是最后解码输出图像

原文地址:https://www.cnblogs.com/qing1991/p/10080644.html