Tag Archive: ISO

International Organization for Standardization

Introduction to H.264: (1) NAL Unit

H.264 / MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC) is a common video compression format developed by ITU-T Video Coding Experts Group (VCEG) and ISO/IEC JTC1 Moving Picture Experts Group (MPEG). Network Abstraction Layer (NAL) and Video Coding Layer (VCL) are the two main concepts in H.264. A H.264 file consists of a number of NAL units (NALU) and each NALU can be classified as VCL or non-VCL. Video data is processed by the codec and packed into NAL units.

NALU in Packet-Transport Protocol V.S. Byte-Stream Format

There are two ways to pack a NAL unit for different systems, Packet-Transport System and Byte-Stream Format. For Packet-Transport systems like RTP, the transport system protocol frames the coded data into different pieces. Hence, the system can easily identify the boundaries of NAL units and we don’t need to add extra start code, which is a waste of resources. This method is usually used in streaming.


免費下載:H.264和MP4文件格式的標準/規範 官方文件


對於要學習 H.264 和 MP4 文件格式的人來說,看懂官方的標準/規範是十分重要的。以下是有提供免費下載的鏈接:

H.264 (MPEG-4 Part 10 / MPEG-4 AVC), Advanced Video Coding

ITU-T 和 ISO 網站中均有提供。在ITU-TH.264 被分類在 Series H: Audiovisual and multimedia systems 中而在ISO,它是在ISO/IEC 14496 (MPEG-4)中(Part 10)。如果要學習H.264和MP4的關係,Part 15也有參考價值,但需付費購買。


Explanation of Descriptors in the ITU-T Publication on H.264 Coding Standard / Recommendation (with example)


I have started to learn H.264 for a week. My job required me to decode some H.264 video clips streamed from a media processor Hi3518 manufactured by Hisilicon. Yet, I have no background in video coding and it is a hard time for me now. I will keep writing and organizing the related materials for my revision and also for your reference. In this section, I am going to explain the descriptors used in the ITU-T official Publication on H.264 Coding Recommendation: Advanced video coding for generic audiovisual services and illustrate with some example. It is the basic thing you need to understand first before you could understand how to decode a H.264 video clip. There are 10 main descriptors, which are as follows (extracted from the document, edition 2013):

The following descriptors specify the parsing process of each syntax element. For some syntax elements, two descriptors, separated by a vertical bar, are used. In these cases, the left descriptors apply when entropy_coding_mode_flag is equal to 0 and the right descriptor applies when entropy_coding_mode_flag is equal to 1.