ITU-T H.263 Stream Format

来源:互联网 发布:js日历控件 年月选择 编辑:程序博客网 时间:2024/06/04 20:09
</pre><pre name="code" class="html">ITU-T H.263 Stream Format:5.1 图像层(picture layer)[PSC][TR][PTYPE][PQUANT][CPM][PSBI][TRB][DBQUANT][PEI] {[PSUPP][PEI]} [GOBS][ESTUF][EOS][PSTUF]1)图像层结构(无任选的PLUSHTYPE相关场)5.1.1[PSC][22-bit] /* 图像起始码 */5.1.2[TR] [8-bit]/* 时域参考 */5.1.3[PTYPE] [13-bit]/* 图像信息*/(PTYPE&0x1000):总为1,为避免起始码仿真(PTYPE&0x800):总为0,同ITU-T H.261区分(PTYPE&0x400):分屏指示符,为0表示断,为1表示通(PTYPE&0x200):文件摄像指示符,为0表示断,为1表示通(PTYPE&0x100):全图像冻结释放,为0表示断,为1表示通(PTYPE&0xd0):图像格式000:禁用,001:SQCIF,010:QCIF,011:CIF,100:4CIF,101:16CIF,110:reserved 111:Extend-PTYPE(PLUSHTYPE)(PTYPE&0x10):图像编码类型0:I帧图像(INTRA),1:P帧图像(INTER)(PTYPE&0x8):非受限运动矢量模式,为0表示断,为1表示通(PTYPE&0x4):基于句法的算术编码模式,为0表示断,为1表示通(PTYPE&0x2):预测模式,为0表示断,为1表示通(PTYPE&0x1):PB帧模式0:正常的I或P图像 1:PB帧5.1.4[PQUANT][5-bit]/* 量化器信息 值为1-31*/ 5.1.5[CPM][1-bit]/* 1比特的码字标示任选的连续出现多点和视频多路复用(CPM)的使用,为0表示断,为1表示通 */5.1.6[PSBI][2-bit]/* CPM为1 该值存在有效*/ if( PTYPE&0x1==1 ) next two attributes(5.1.7&5.1.8) exist;5.1.7[TRB][3-bit/5-bit]/* PB帧中B图像的时域参考 */{对标准CIF图像时钟频率它为3比特长并且当惯例图像时钟频率在使用时扩展为5比特。}5.1.8[DBQUANT] [2-bit]/* PB帧中B图像的量化信息 */{DBQUANT代码和QUANT与BQUANT间的关系DBQUANT  BQUANT  00 (5*QUANT)/4  01 (6*QUANT)/4  10 (7*QUANT)/4  11 (8*QUANT)/4  }5.1.9/5.1.10 while(1){[PEI][1-bit]/* 额外插入信息 */if(PEI==1){[PSUPP][8-bit]/* 增补的增强信息 */}else{break;}}   [GOBS][varies]/* 块组层 */5.1.11 [ESTUF] [varies]/* 填充 */5.1.12 [EOS][22-bit] /* 序列结束 值:0000 0000 0000 0000 1 11111*/5.1.13 [PSTUF][varies]/* 填充 */5.2 块组层(block group layer)[GSTUF][GBSC][GN][GSBI][GFID][GQUANT][宏块数据]5.2.1[GSTUF][varies]/* 填充 */5.2.2[GBSC][17-bit]/* 块组起始码 值:0000 0000 0000 0000 1 (该处字节对齐) */5.2.3[GN][5-bit]/* 块组编号 */5.2.4[GSBI][2-bit]/* GOB子比特流指示符 */5.2.5[GFID][2-bit]/* GOB帧ID */5.2.6[GQUANT][5-bit]/* 量化信息 */5.3宏块层[COD][MCBPC][MODB][CBPB][CBPY][DQUANT][MVD][MVD2][MVD3][MVD4][MVDB][块数据]5.3.1[COD][1-bit]/* 编码的宏块指示,0表示有进一步的该宏块数据,为1表示接下来没有该宏块数据 */{if( PTYPE&0x10 != 0(非关键帧/P帧) )COD才存在;}5.3.2[MCBPC][varies]/* 色度宏块类型和编码块模式 */{if( PTYPE&0x10==1(关键帧) || COD exist )MCBPC exist(一定存在);{if( PTYPE&0x10==1/* I帧 */ ){

:图片1:

<span style="white-space:pre"></span>}else if( PTYPE&0x10==0/*P帧*/ ){
图片2:

}}}5.3.3[MODB][varies]/* B块的宏块模式 */{if( PTYPE&0x1==1(PB帧模式) && MCBPC指示的宏块类型为0-4 )MODB exist;{
图片3:

}}5.3.4[CBPB][6-bit]/* B块的编码块模型 */{if( MCBPC exist )next four(CBPY,DQUANT,MVD,MVD2-4) attributes exist;}5.3.5[CBPY][varies]/* 亮度信号的编码块模型 */{|CBPY值表|0011|00101|00100|1001|00011|0111|000010|1011|00010|000011|0101|1010|0100|1000|0110|11|}5.3.6[DQUANT][2-bit/varies]/* 量化器信息 */{if(修正量化模式未使用|2-bit)|DQUANT值表|00|01|10|11|else /* varies */if( first bit==1 )[DQUANT 2-bit]else [DQUANT 6-bit]}5.3.7[MVD][varies]/* 运动矢量数据 */{1个变长码字(取值为如下变长码字表之一)}5.3.8[MVD2-4][varies]/* 运动矢量数据 */{3个变长码字(取值为如下变长码字表之一)}5.3.9[MVDB][varies]/* B宏块的运动矢量数据 */{if( MCBPC set && CBPY set )MVDB exist;{1个变长码字(取值为如下变长码字表之一)}}变长码字表值表:
图片4:

5.4 块数据在正常模式下,宏块由4个亮度块和2个色度块组成;在PB帧模式下,寄卖由6个P帧块和6个B帧块组成.





0 0
原创粉丝点击