Thursday, May 31, 2018

What is NAL (Network Abstraction Layer) in H.264 video coding?

The NAL is a part of H.264/AVC and HEVC video coding standards. The Main goal of NAL is the provision of a “network-friendly” video representation addressing “conversational” and non-conversational applications. NAL has achieved significant improvement in application flexibility relative to prior video coding standards.

Why this is needed? So far in the evolution of telecommunication, many things have changed. Transmission medias have changed from xDSL, UMTS, Video coding telecommunications applications has diversified from ISDN and T1/E1 services to embrace PSTN. Mobile wireless networks and LAN/Internet network delivery. To address the flexibility and customizability, the design covers a NAL that formats the Video Coding Layer (VCL) representation of the video and provides a header information in a manner appropriate for conveyance by a variety of transport layers or storage media.

The NAL is designed in order to provide “network friendliness” to enable simple and effective customization of the user of VCL for broad variety of systems. The NAL facilitates the ability to map VCL data to transport layers such as

RTP/IP for any kind of real-time-wire-line and wireless internet services
File formats, e.g. ISO MP4, for storage services
H.32X for wireline and wireless communications
MPEG-2 systems for broadcasting services

Now what is an NAL unit ?
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 type of data in the NAL unit. For HEVC the header was extended to two bytes. All remaining bytes contain the payload data. The NAL unit structure definition specifies a generic format for use in both packet-oriented and bit stream oriented transport systems, and a series of NAL units generated by an encoder is referred to as NAL unit stream.

References:
https://en.wikipedia.org/wiki/Network_Abstraction_Layer#VCL_and_Non-VCL_NAL_Units

No comments:

Post a Comment