B帧量化信息(DBQUANT):2比特,采用PB帧编码时,通过宏块(P宏块)的量化级(QUANT)和这个量化信息,可算出B块的量化级(BQUANT);
附加插入信息(PEI):1比特,PEI类似循环语句的一个判断条件,当PEI=“1”时,可将PSAPRE信息写入码流,直至PEI=“0”为止:
附加信息(PSAPRE):附加信息为码长8的倍数。
(2) 块组层:每个块组数据由GOB头和宏块数据构成。其中几个重要的头信息的含义如下:
宏块组起始码(GBSC):17比特,规定为“00000000000000001”;
宏块组号(GN):5比特,给出当前宏块组在图像中的位置,宏块组号由零开始,每隔一个宏块组,组号增1;
宏块组帧标识符(GFID):2比特,用来判别相邻两帧图像编码类型是否相同,同一帧的GFID值,处处相同;
宏块组层量化信息(GQUANT):5比特,编码时用该信息作为这一块组中宏块的量化级,直到被宏块层中的DQUANT更新为止。
(3) 宏块层:宏块层码流由宏块头信息和块数据组成。其中几个重要的头信息的含义如下:
编码的宏块指示(COD):l比特,“0”表示编码此宏块,“1”表示此宏块没有进一步的信息被发送,直接进入下一个宏块或块组;
色度块编码模式(MCBPC):变长码字,指示宏块的类型和色度块的编码模式;
亮度块编码模式(CBPY):变长码字,指示4个亮度块中是否存在非INTRADC系数要传送;
运动矢量数据(MVD):变长码字,由水平分量变长码字和垂直分量变长码字组成,水平码字在前,垂直码字在后;
运动矢量数据(MVD2-4):变长码字,只有PTYPE和MCBPC指示在先进预测模式下才出现,其组成结构同MVD。
(4) 块层:如果不是PB帧模式,宏块由4个 亮度块和2个 色度块共6个块组成,一个块就是一个DCT变换单元。在PB帧模式下,一个宏块由12个块组成。先发送6个P块数据,再发送6个B块数据。其中INTRADC为帧内直流系数,TCOEF为非帧内直流系数[5]。
2.1.3 H.264的码流结构
H.264的功能分为两层,视频编码层(VCL)和网络提取层(NAL),VCL数据即被压缩编码后的视频数据序列。在VCL数据要封装到NAL单元中之后,才可以用来传输或存储。视频编码层的主要任务是用高效的方式表述视频数据,也就是进行视频数据的压缩;网络适配层则根据网络的特性对数据进行封装打包,使其适用于网络传输。
2.2 编码原理
2.2.1 MPEG-2的编码原理
图2-1 MPEG-2的编码原理框图
如图2-1,MPEG-2对于输入的图像帧采用如下3种不同的编码方式:
(1) 帧内编码帧(Intra coded pictures):简称I-pictures或I帧。I帧图像采用帧内编码方式,即只利用单帧图像内的相关性,不利用时间相关性,因而压缩率较低。视频接收初始化时必须使用I帧作为基准图像,同时I帧也为节目的切换和插入提供了可能,因而也最为重要。视频编码的第1帧编码,编码中I帧图像是周期性出现在图像序列中的,出现频率可由编码器的参数定义。
(2) 预测编码图像(Predictive coded pictures):简称P-pictures或P帧。P帧是采用从最近的前一个I帧或P帧进行运动估计所得出的编码图像,由于有效地去除了时间冗余,因而较I帧的编码效率有所提高。由于P帧的参考帧总在当前帧之前,所以也被称为前向预测帧。P帧中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。 视频信号在LonWorks总线中传输技术研究(5):http://www.751com.cn/zidonghua/lunwen_3585.html