HEVC网络适配层:NALU网络适配单元

在H.265/HEVC中,采用了与H.264/AVC中类似的视频编码层(VCL)和网络适配层(NAL)的双层架构,以适应不同的网络环境和视频应用。

不同的网络环境具有不同的特性,比如最大传输单元可能不同,因此不同网络环境下中传输的压缩数据,应根据视频数据特性采用特定的分组策略,划分为大小不同的分组。

网络适配层NAL的主要任务就是对视频压缩后的数据进行划分和封装,并进行必要的标识,使其更好的适应复杂多变的网络环境。


下图是H.265/HEVC中VCL、NAL的双层架构图,NAL为VCL提供了友好的网络应用接口,以适配不同的网络环境和应用场景。



NAL根据视频数据的特性,将压缩视频数据划分为多个数据段,对每个数据段进行封装和并对其内容特性进行标识,生成网络适配单元NALU,分为头信息和载荷两部分。

1、内容特性信息存放于NALU头信息中,主要标识视频片段SS的重要性及其与其他图形的依稀关系(主要是时域),网络设备可以根据头信息来优化视频的传输。头长度为固定的两个字节,包括4个部分:

forbidden_zero_bit,占1比特,值设置为0,放置于MPEG-2系统的起始码冲突。

nal_unit_type,占6比特,取值范围是[0,63],标识当前当前NALU载荷信息的内容特性,称为NALU类型。

nal_layer_id,占6比特,当前版本应为0,如果不为0,则丢弃nuh_layer_id取值不为0的NALU,以确定比特流解码单元中的数据量。

nuh_layer_id_plus1,占3比特,该值减1标识NALU所在时域层的标识号TemporalId不能为0。

2、压缩视频数据被封装在了NALU的载荷部分,承载视频片(Slice)压缩数据的NALU被称为VCLU,承载其它信息的NALU被称为non-VCLU。每个VCLU包含一个视频片段SS的压缩数据,SS是VCL的压缩数据输出单位。载荷长度为整数字节。


压缩视频业务可以分为两种应用场景:分组流和字节流。

分组流应用是指直接将编码器输出的NALU作为网络分组的有效载荷,接收端的解码器可以从网络分组中直接以NALU形式获取压缩视频数据,如基于RTP/UDP/IP的实时视频通信。

字节流应用是指NALU按照解码顺序组织成有序的连续字节或比特流进行传输、处理,为了保证解码器以NALU的形式获得视频数据,须在NALU边界插入同步标识,如H.320、MPEG-2。


参考文献:
万帅,杨付正.新一代高效视频编码H.265/HEVC:原理、标准与实现[M].电子工业出版社.


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页