H.264NAL单元语法

本文介绍了H.264/AVC视频编码中的NAL单元,包括其分层结构和具体组成。NAL单元是编码视频流的基本传输单元,包含原始字节序列载荷RBSP和NAL头。NAL头由禁止位、重要性指示位和NAL单元类型组成,用于标识数据的重要性与类型。NALU类型分为VCL和非VCL单元,且起始码的存在便于识别NAL单元的边界。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分层结构:

在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层(VCL)和网络提取层(NAL)。前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此平时的每帧数据就是一个NAL单元(SPS与PPS除外)。VCL数据即被压缩编码后的视频数据序列。在VCL数据要封装到NAL单元中之后,才可以用来传输或存储。


NALU (Network AbstractionLayer Unit )

●SPS:序列参数集,作用于一系列连续的编码图像;

●PSS:图像参数集,作用于编码视频序列中一个或多个独立的图像;

●I帧:帧内编码帧,是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,视频序列中的第一个帧始终都是I帧。

●P帧:前向预测编码帧,P帧由在它前面的P帧或者I帧预测而来

●B帧:双向预测内插编码帧,B帧是以前面的I或P帧和后面的P帧为参考帧。

H.264编码器输出的码流实际上是一连串二进制比特流,这些语法是被组织成一个有层次的结构。编码视频流由一系列的图像组(GOP)顺序排列而成,一个GOP的第一帧一定是I帧,也是IDR(及时解码刷新)图像,他的编码不涉及其他帧数据。但I图像不一定是IDR图像,在GOP其他地方有可能也有I图像。

GOP中的每一帧又可以分为若干slice,再以slice为单位进行编码。每个slice是由若干宏块(Macro Block,MB)组成,其尺寸为16*16,是H.264编码的基本单位。而MB是由4个8*8亮度块和2个8*8色差块组成。

H.264的5层码流结构由上到下分别是GOP,帧,slice,MB,B。结构如下(图片源于网络)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值