What is H.264 / AVC?

What is H.264 / AVC?

The H.264 / AVC standard is jointly developed by ITU-T and ISO / IEC, and is positioned to cover the entire video application field, including: low bit rate wireless applications, standard definition and high definition TV broadcast applications, Internet Video streaming applications, transmission of high-definition DVD video and high-quality video applications for digital cameras, etc.

ITU-T named this standard H.264 (formerly called H.26L), and ISO / IEC called it MPEG-4 Advanced Video Coding (AVC), and it will become the first in MPEG-4 standard. Part 10. Since AVC is an extension of the current MPEG-4 standard, it will certainly benefit from the well-developed infrastructure of MPEG-4 (such as system layering and audio, etc.). Obviously, MPEG-4 AVC, which is the Advanced Simple Profile (ASP) of MPEG-4, will be superior to the current MPEG-4 video compression standard. It will be mainly used in applications with high compression rate and hierarchical quality requirements direction.

As you can see in the "Video Encoding History" table below, ITU-T and ISO / IEC are responsible for the customization of all previous international video compression standards. So far, the most successful video standard is MPEG-2, which has been widely accepted in various market areas such as DVD, digital TV broadcasting (covering cable and communication satellite) and digital set-top boxes. Since the creation of MPEG-2 technology, the new H.264 / MPEG-4 AVC standard has greatly improved coding efficiency and quality. Over time, in many existing applications, H.264 / MPEG-4 AVC will replace MPEG-2 and MPEG-4, including some emerging markets (such as ADSL video).

H.264 / AVC core technology overview

This new standard is composed of the following processing steps:

Inter and intra prediction

Transform (and inverse transform)

Quantization (and dequantization)

Loop filtering

Entropy coding

A single picture stream constitutes a video, which can be divided into 16x16 pixel "macroblocks". This blocking method simplifies the processing of each step in the video compression algorithm. For example, a picture taken from the standard definition standard video streaming solution (720X480) is divided into 1350 (45X30) macroblocks, and then further processed at the macroblock level.

Inter prediction

Improved motion estimation. Motion estimation is used to determine and eliminate temporal redundancy between different pictures in the video stream. When the motion estimation search is based on pictures in the past direction, the encoded picture is called "P-frame picture", when the search is based on pictures in both past and future directions, then the encoded picture is called "B-frame picture" .

In order to improve coding efficiency, in order to include and separate the motion macroblocks in the "H.264 Motion Estimation-Improved Motion Estimation" diagram, the macroblocks are split into smaller blocks. Then, the motion vectors of previous or future pictures are used to predict a given block. H.264 / MPEG-4 AVC invented a smaller block, which has better flexibility and can have higher prediction accuracy in terms of motion vectors.

Intra prediction

Where motion estimation cannot be used, intra-frame estimation is used to eliminate spatial redundancy. Internal estimation predicts the current block by inferring neighboring pixels in neighboring blocks in different directions in a predefined set. Then the difference between the predicted block and the real block is encoded. This method is unique to H.264 / MPEG-4 AVC, and is especially useful for flat backgrounds where spatial redundancy often exists.

Transform

The results of motion estimation and internal estimation are transformed from the spatial domain to the frequency domain through transformation. H.264 / MPEG-4 AVC uses integer DCT4X4 conversion. MPEG-2 and MPEG-4 use floating point DCT8X8 conversion.

The smaller H.264 / MPEG-4 AVC reduces blockiness and obvious artifacts. Integer coefficients eliminate the loss of precision caused by floating-point coefficient operations in MPEG-2 and MPEG-4.

Quantify

The transformed coefficients are quantized, reducing the prediction amount of integer coefficients and eliminating high-frequency coefficients that are not easily perceived. This step is also used to control the output bit rate to maintain a substantially constant constant.

Loop filtering

The H.264 / MPEG-4 AVC standard defines a deblocking filtering process for the boundaries of 16X16 macroblocks and 4X4 blocks. In the case of macroblocks, the purpose of filtering is to eliminate artifacts caused by adjacent macroblocks having different types of motion estimation (such as motion estimation and internal estimation) or different quantization parameters. In the case of block boundaries, the purpose of filtering is to eliminate artifacts that may be caused by transformation / quantization and differences in motion vectors from neighboring blocks. Loop filtering modifies two pixels on the same side of the macroblock / block boundary through a content-adaptive nonlinear algorithm.

Entropy coding

Before entropy coding, the 4X4 quantization coefficients must be reordered. According to the prediction algorithm originally used by these coefficients, different scan types are selected for motion estimation or internal estimation to create a reordered serialized stream. The scan types sort these coefficients in order from low frequency to high frequency. Since most of the high-frequency coefficients tend to zero, the use of run-length coding can reduce the number of zeros, thereby efficiently achieving the purpose of entropy coding.

Entropy coding-serialization of coefficients

In the entropy coding step, the motion vectors, quantization coefficients, and macro block headers are represented by a byte stream of mapped symbols. Entropy coding is designed to use less bits to represent frequently used symbols, and more bits to represent infrequently used symbols.

Mini PC Router

Mini Pc Router Pfsense,Mini Computer Router,Mini Pc Fanless Router,ElieKen mini Router

Guangdong Elieken Electronic Technology Co.,Ltd. , https://www.elieken.com