H263的句法和语义

句法和语义可以理解为一个翻译器,他描述的码流的具体含义,让使用者通过一种特定的转译方式在读懂它。

句法分层

H263的视频句法分层4级结构,分别为:图像,块组,宏块,块

5946ff32361c4ef3b848ff8f1d28a002.png

标准文档中用这样一张图描述了H263的句法结构,其中用箭头标注的点为每一个层级的交界部分,中间上上下下的很多箭头表示的意思是:可能会跳过这个箭头跨过的所有句法字段,所以每一个层级的句法结构其实都是变长的,下面将会选择一些比较关键的句法结构介绍

图像层

为了更好理解,以一个真实的H263码流为例子,接下来将以下图种的Address为行定位, 0-f位列定位,定位到具体的16进制数上来描述这个码流 

32dffbd4c51c4a3998c465034ec391c5.png

图像层的所有句法标识用一张图展示出来如下

fba8d20a57434fdabd31abdd9fdbc82f.png

仅选择其中比较重要的部分介绍

PSC

全称是picture start code 顾名思义表示一帧图像的起始位置,它由22个bit构成,固定值为0000 0000 0000 0000 1 00000, 在上图码流中 adresss 00000000 的[0-2]列中一共有24个bit, 故第三个字节的最后2个bit不属于psc,前6个bit属于psc,16进制展开为2进制,正好就是0000 0000 0000 0000 1000 00

TR

时域参考(TR)一般情况下是自加1标识一个帧, 若TR跳跃,则说明中间有帧被漏了。8bit,在CIF图像的标准时钟频率下(29.97Hz)最大就是256,其他情况下则可能有10bit组成,该位置为低8位,在上面图8的第二行从右往左数第三个ETR中会有2个bit表示高2位,组成一个10bit的时域参考。注意:TR在仅在P帧的时候+1, B帧是不加的;
 
其实跟H264的POC类似的意思,直接拿码流的数据看,TR为第三个字节的后两个bit,和第四个字节的前6个bit组成
4cb43083e11743e291f1b442960974ed.png
 
3d1e1b4341e845ce8747be5b1b255c2c.png
这里截图了第一帧和第二帧的前几个字节的数据
第一帧的TR为 1000 00[00 0000 00]10 = 0
第二帧的TR为 1000 00[00 0000 01]10 = 1
可以看出TR是一个逐帧加1的,看一通过查看TR来判定是否出现了跳帧

PTYPE(变长)

类型信息,这个字段是263码流中非常重要的子一个字段,它携带了这个码流的很多信息

它的前两个bit固定为“10”,接下来三个bit分别表示了3种能力的开关

— 比特3:分屏指示符,“0”断,“1”通。
— 比特4:文件摄像指示符,“0”断,“1”通。
— 比特5:全图像冻结释放,“0”断,“1”通。

第6-8这三个bit非常关键,它表示了这个码流的分辨率

“000”禁用,“001”子QCIF,“010”QCIF,“011”CIF,“100”4CIF,“101”16CIF,“110”保留,“111”扩展的PTYPE。

所以变长就体现在这里, 如果这三个bit是“111”,则后面会跟12或30bit的拓展信息,这个拓展信息就叫PLUSPTYPE,展示在图8里面

这里可以看到PLUSPTYPE也是一个变长码,它有可能有12或者30bit

但是如果这三个bit不是 “111”,则下列五个比特在PTYPE中也存在,但是如果是“111”,那么这5个bit就没有了!!!

— 比特9:图像编码类型,“0”INTRA(I图像),“1”INTER(P图像)。
— 比特10:任选的非受限运动矢量模式(见附件D),“0”断,“1”通。
— 比特11:任选的基于句法的算术编码模式(见附件E),“0”断,“1”通。
— 比特12:任选的先进的预测模式(见附件F),“0”断,“1”通。
— 比特13:任选的PB帧模式(见附件G),“0”正常的I或P图像,“1”PB帧。
 
其中bit9,标识了这个图像的图像类型,是否为 关键帧!!!!所以这个bit的位置非常重要,如果6-8bit不是“111”,则在bit9可以拿到关键帧信息。
 
dcc56bbfbfae4edbb7b07f036a87d589.png
以该码流为例子
PTYPE从第四个字节的后2bit开始为 10 0001 1100
前2个bit固定为10,6-8bit为 “111”, 说明其后面跟着为PLUSPTYPE,而不是标识图像类型的bit
 

PLUSPTYPE(变长)

PLUSPTYPE由最多三个子场UFEP、OPPTYPE和MPPTYPE组成。而当UFEP里面存在特殊字时,OPPTYPE才会存在,这就是其变长的原因。
可以以上面例子为例 adrress 0000000 - [4-5]bit为 1c c8
展开为 0001 11][00 1]100 1000

UFEP

3bit, 如果为“000”后面就没有OPPTYPE,如果时“001”后面就跟OPPTYPE; 如果图像为I帧,那么一定为“001”, 在图像中应该至少5s间隔就出现一次UFEP为001的情况
 
如上面展开可以看到0001 11][00 1]100 1000 UFEP为 “001”,那么其后面为OPPTYPE
 

OPPTYPE

一共18个bit
比特1-3
源格式,“000”保留,“001”子QCIF,“010”QCIF,“011”CIF,“100” 4CIF,“101”16CIF,“110”惯例源格式,“111”保留的;
可以看出这里UFEP后面跟着为 0001 11][00 1]【100】 1000,标识这个码流时4CIF的
那如果不是这几个标准分表率,则为 “110”在后续的CPFMT字段中会标识其具体的分辨率
后面4-18bit 内容都不重要在此略过
 

MPPTYPE

如果不存在OPPTYPE,则UFPE直接跟着MPPTYPE,如果存在OPPTYPE,则MPPTYPE跟在OPPTYPE后面。

MPP一共9个bit, 其中1-3bit标识图像类型,后面6个bit都不重要不展开描述了,这里描述了该帧是否为关键帧

图像类型代码:
 
“000”I图像(INTRA),
 
“001”P图像(INTER),
 
“010”改进的PB帧(见附件M),
 
“011”B图像(见附件O),
 
“100”EI图像(见附件O),
 
“101”EP图像(见附件O),
 
“110”保留的,
 
“111”保留的;
 
再以一个例子
PSC 22bit + TR 8bit + PYPE 8bit + UEFP 3bit + OPPTYPE 18bit = 59bit / 8  = 7 也就是说7个字节开始才是MPPTYPE信息
 
431aad05372e45b5ac4eaae87b84d312.png
将码流第七个字节展开 001【0 00】01 ,从第四个bit,即码流的第60个bit开始是MPPTYPE信息,1-3bit为图像类型,这里为000,代表图像是一个 关键帧
 
 

CPM和PSBI

图像头部CPM(1比特)和PSBI(2比特),在图像头部CPM和PSBI场的定位依赖于PLUSPTYPE是否存在(见5.1.20和5.1.21)。若PLUSPTYPE 存在,那么图像头部中PLUSPTYPE之后CPM立即紧随,若PLUSPTYPE不存在,那么图像头部中PQUANT 之后CPM立即紧随。PSBI总是立即紧随CPM(只要CPM=“1”)。
 

CPFMT

仅当惯例图像格式的使用在PLUSPTYPE中标示且UFEP为“001”时,23比特的固定长度码字才存
在。只要存在,CPFMT构成如下:
— 比特1-4
像素宽高比代码:表5中4比特字指示出PAR值。对于扩展的PAR而言,精确的像素
宽高比应在EPAR(后面的字段)中指明
PAR代码像素宽高比
0000禁用
00011:1正方形
0010
12∶11(4∶3 的 CIF 图像)
0011
10∶11(4∶3 的 525 类型图像)
0100
16∶11(16∶9 的 CIF 展宽图像)
0101
40∶33(16∶9 的 525 类型展宽图像)
0110-1110保留的
1111扩展的宽高比

 

 
— 比特5-13  图像宽度指示:范围[0,511],每行像素数=(PWI+1)*4;
— 比特14   等于“1”防止起始码仿真;
— 比特15-23   图像高度指示:范围[1,288],行的数目=PHI*4;
 
再举一个例子
PSC 22bit + TR 8bit + PYPE 8bit + UEFP 3bit + OPPTYPE 18bit + MPPTYPE 9bit + CPM 1bit = 69bit / 8 = 8 字节,也就是说第9个字节开始才是CPFMT信息
 
c5d79f83bcfb404ea2f163b8ef540ced.png
分析这个码流从PTYPE开始 第4字节开始展开
 
    0       2           1        C         E          8       2      1        0        0         1           
0000 00][10] [000][1 11][00 1][110] [1000 0010 0001 000][0 00][00 0001]
    TR                    SRC/UFEP/SRC                                      I帧                 
                                      [                        PLUSTYPE                                ]
 
   0            F        7       F           0       e      4
[0][000 1][111 0111 11][1][1  0000  1110] 0110
CPM[PAR        PWI                  PHI       ] 
[                    CPFMT                     ]
 
可以看出第一个SRC为 “1111”, 标识后面跟着PLUSTYPE拓展信息,第二个SRC为“110”标识为自定义的分辨率再CPFMT.
CPM = 0 故后面没有PSBI,直接跟着CPFMT
PWI为 111 0111 11 = (479 +1 ) x 4 = 1920
PHI为  1  0000  1110 = (269 +1)x4 = 1080
所以这个码流是一个1080p的码流
 
 
 

块组层

只介绍一些会使用的部分,其他都略过介绍了

5fb63f5ff8c7884c8c56a00d1a5785af.png

GSTUF

填充,由少于8个零比特组成的可变长码字。在GBSC码字之前,编码器可直接插入此码字。若GSTUF存在,GSTUF的最后比特应是字节的最后(最低有效)比特,以致GBSC码字的起始被字节定位。译码器应设计为丢弃GSTUF。

GBSC

块组起始码,为一个17比特字。它的值是0000 0000 0000 0000 1。GOB起始码可以字节定位。通过起始码前插入GSTUF能够实现字节定位以致起始码的首比特是字节的第一(最高有效)比特。

GN

块组编号,会在RTP打包当中使用

 

宏块层

只介绍一些会使用的部分,其他都略过介绍了

 

3a2419598a31fa41abafcb62a38ff4ad.png

DQUANT

量化器信息,标识其量化参数大小

MVD,MVD2,MVD3,MVD4

所有inter宏块都有的运动矢量信息,这个部分在RTP打包中会使用到

 

  • 47
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacen.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值