How to understand the H264 coding

First, video coding standards organizations

The H.264 standard is part of the MPEG-4 family, i.e., MPEG-4 Part 10 documentation series ISO-14496, and it is also known as MPEG-4 / AVC.

 

Second, the basic techniques of video compression encoding

Predictive Coding

  Data redundancy between two inter-prediction coding, front, then the difference is very small amount of data to be prediction encoding

  Intra prediction encoding, the intra data redundancy may be intra prediction encoding, intra-coding may be decoded independently, without referring to other frames

Transform coding :( converted to another data field)

  Encoding: DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KL transform  

Entropy coding:

  Since the probability of the emergence of a block of data symbols are not the same, which led to the use of the same code word representing the length of all the symbols wasteful. By entropy coding, assign symbols of different lengths for different syntax elements, can effectively eliminate redundancy in video information caused due to symbol probabilities.

Three, VCL NAL

Video coding using predictive coding, such as, changes in quantization, entropy coding in the coding tool main work slice level or less, this layer is commonly referred to as "Video Coding Layer" (Video Coding Layer, VCL).

In contrast, in the slice data and algorithms for the above it is generally referred to as "Network Abstraction Layer" (Network Abstraction Layer, NAL). The main significance of the design layer is defined NAL H.264 format video is to enhance affinity for network transmission and data storage.

 

Fourth, grade and rank

In order to adapt to different application scenarios, H.264 also defines three different grades:

  • Reference level (Baseline Profile): real-time communication is mainly used for low-latency video conferencing, video telephone; I support strip and the P slice, entropy coding CAVLC algorithm support, real-time communications do not use B frames (bidirectional predictive frame )
  • Main Profile (Main Profile): mainly used in digital television broadcasting, digital video data storage; support video encoding field, B slice weighted prediction and bidirectional prediction, CABAC and CAVLC entropy coding algorithm support.
  • Extended Profile (Extended Profile): mainly used for broadcast and Video-on-demand network like; all features of a reference level, and to support the SI and SP slice, supporting data for improved error performance is divided, and the weighted prediction support strips B, but It does not support CABAC and field coding.

CAVLC supports all H.264 profiles, CABAC Baseline and Extended profiles are not supported.

 

Guess you like

Origin www.cnblogs.com/luoyinjie/p/11571011.html