VCL & NAL (H.264/AVC)

H.264/AVC Layer Structure

VCL & NAL (H.264/AVC)_第1张图片
H.264/AVC Layer Structure

H.264 的主要目标:

1)高的视频压缩比,当初提出的指标是比H.263,MPEG-4,约为它们的2 倍,现在都已基本实现;
2)良好的网络亲和性,即可适用于各种传输网络。
为此,H.264 的功能分为两层,即视频编码层(VCL)和网络提取层(NAL)。
VCL 数据即编码处理的输出,它表示被压缩编码后的视频数据序列。
在VCL 数据传输或存储之前,这些编码的VCL 数据,先被映射或封装进NAL 单元中。

Video Coding Layer

A layer in H.264/AVC and HEVC that contains coded video data.

VCL & NAL (H.264/AVC)_第2张图片
Video Coding Layer (VCL)

The coded video data in VCL layer will be wraped(包起来) under NAL for transmission.

Network Abstraction Layer

The Network Abstraction Layer (NAL) is a part of the H.264/AVC and HEVC video coding standards.
The main goal of the NAL is the provision(供应) of a "network-friendly" video representation addressing "conversational(双向的)" (video telephony: 视频电话) and "non conversational" (storage, broadcast, or streaming) applications.
NAL has achieved a significant improvement in application flexibility relative to prior video coding standards.

NAL units

The coded video data is organized into NAL units, each of which is effectively a packet that contains an integer number of bytes.
The first byte of each H.264/AVC NAL unit is a header byte that contains an indication of the type of data in the NAL unit.
For HEVC the header was extended to two bytes.
All the remaining bytes contain payload data of the type indicated by the header. The NAL unit structure definition specifies a generic format for use in both packet-oriented and bitstream-oriented transport systems, and a series of NAL units generated by an encoder is referred to as a NAL unit stream.

H.264中NAL unit的第一个字节表示数据的类型.

VCL & NAL (H.264/AVC)_第3张图片
NAL Unit Format and Types

nal_unit_type:

  • Coded slice : 1
  • IDR : 5
  • SEI : 6
  • SPS : 7
  • PPS : 8

每个NAL 单元包括一个原始字节序列负荷(RBSP)、一组对应于视频编码数据的NAL 头信息。 NAL 单元序列的结构见图:


NAL unit 序列的结构
VCL and Non-VCL NAL Units

NAL units are classified into VCL and non-VCL NAL units.

  • The VCL NAL units
    The VCL NAL units contain the data that represents the values of the samples in the video pictures.
  • The non-VCL NAL units
    The non-VCL NAL units contain any associated additional information such as parameter sets (important header data that can apply to a large number of VCL NAL units) and supplemental enhancement information (timing information and other supplemental data that may enhance usability of the decoded video signal but are not necessary for decoding the values of the samples in the video pictures).

包含图像数据的unit属于VCL NAL units.
SPS、PPS、和SEI 属于Non-VCL NAL Units;

References:
https://en.wikipedia.org/wiki/Video_Coding_Layer
https://en.wikipedia.org/wiki/Network_Abstraction_Layer
http://iphome.hhi.de/wiegand/assets/pdfs/DIC_H264_07.pdf
新一代视频压缩编码标准 ——H.264/AVC 毕厚杰主编

你可能感兴趣的:(VCL & NAL (H.264/AVC))