一、MPEG4 编码器流程 MPEG-4 视频编码器的实现步骤 首先读取一帧数据,取一个宏块,根据编码控制选择编码类型,是 intra 帧内编码,还是 inter 帧间编码。如果是 I 帧,所有宏块都是 intra 帧内编码,则读取的宏块数据直接进入 DCT、Q(量化)、DC/AC 预测(直流系数与交流系数)、RLC(行程编码)并与其他信息一起合成形成码流;如果是 P 帧,先进行 ME(运动估计),然后判断是 intra 帧内编码,还是 inter 帧间编码。如果是 intra 帧内编码,则直接利用宏块本身进行 DCT 等一系列数据处理;如果是 inter 帧间编码,则将经过运动估计得到的运动矢量 MV 传送给 MC(运动补偿)单元,结合帧缓存中的上一帧的重建帧数据与当前宏块的像素值做运算,得到残差数据,然后对残差值进行DCT 等处理。 在编码过程中,有一个重建图像的过程,其得到的数据存放在帧缓存中,作为下一帧的参考帧。 二、各层参数 (一)MPEG-4 视频数据流结构: 其位流语法从上到下大致可以分为: 视觉对象序列(Visu al Object Sequ ence), 视觉对象(Visu al Object), 视频对象层(Video Object Lay er), 视频对象平面层(Grou p of Video Object Plane) 帧缓存VLC多路复合编码控制MVMEMCDCTQIQIDCTRLCintrainter编码模式量化参数DC/AC预测扫描取一个宏块读取一帧数据视频对象平面(Video Object Plane)。 VS(Visu al Object Sequ ence):由一系列VO 视频对象组成。 场景是一个或多个声视频对象的组合。场景的逻辑结构可以用一棵树表示,树中的节点是声视频对象。MPEG4 系统用二进制场景格式BIFS 描述场景中声视频对象的空间和时间位置及它们之间的关系。MPEG4 的视频比特流提供了对场景的分层描述。在比特流中, 表示场景的层是可视对象序列VS(VideoObjectSequ ence),它是一个完整的MPEG4 场景,其中可能包含自然对象或合成的对象以及它们的增强层。 VO(Video Object):是可视场景中景物的抽象描述,从用户的角度,它代表画面中任何有意义的物理实体。视频对象是MPEG-4 编码的独立单元,由时间上连续的许多帧构成。VO 的构成依赖于工具的应用和系统实际所处的环境,在超低比特率的情况下,VO 可以是一个矩形帧,与MPEG-1、H.263 兼容;对于基于内容的应用,VO 可能是场景中的某一物体,也可能是计算机产生的二维、三维图形等。每一个VO 有3 类信息描述:形状信息、运动信息和纹理信息。 VOL(Video Objec...