h.264 video encoder

With the development of the times, the popularity of the Internet, and the increasing demand for video transmission, these existing video compression standards obviously have some defects and limitations. In order to overcome these shortcomings, ITU-T developed a new generation of video compression standards following H.261, H.263 and other video compression standards, and officially named it H.264. The new generation of standard H.264 can get better compressed image effects, more functions and greater flexibility.

This article first introduces the development of multimedia technology and the basic concepts and methods of video compression, and then analyzes the basic structure and implementation process of the H.264 codec. After a detailed analysis of the codec, for the decoder, Encoders are optimized in a variety of ways. At the end of this article, we compare H.264 and MPEG4 encoding for performance analysis. The video encoder developed by this system is highly efficient and stable. Under the premise of ensuring its excellent performance, it has achieved the purpose of shortening the running time.

     H.264 is a video high compression technology, its full name is MPEG-4 AVC, in Chinese it is "Moving Picture Experts Group-4 Advanced Video Coding", or MPEG-4 Part10. It is an international standard format for moving image coding jointly formulated by the International Telecommunication Standardization Department ITU-T and the International Organization for Standardization ISO/International Electrotechnical Association IEC which stipulates MPEG. It turned out that the International Telecommunications Standardization Department has divided H.26L and H.26S into two groups from 1998. The former develops high-compression coding technology with longer program time, and the latter refers to the short-program standard formulation department. The name of the standardized technology of H.26S is H.263, which sounds very familiar, but in fact it has been used for a long time, and it has been criticized very fiercely. Because H.263 is preemptive, it has always been used under the name of MPEG-4. The full name of H.263 is MPEG-4 Visual or MPEG-4 Pall Ⅱ, which is the basic coding method of MPEG-4 video at a simple level. After 2001, the International Organization for Standardization ISO/International Electrical Standards Conference IEC, the parent organization of the International Telecommunication Standardization Department ITU-T and MPEG, established the Joint Video Group JVT to standardize H.264 based on H.26L.

1.1 Development status of video coding standards

MPEG is the abbreviation of Moving Pictures Expert Group. It has developed video standards such as MPEG-1/2/4/7. MPEG-1 is suitable for the coding of moving images and their accompanying audio with a bit rate of 1.5Mbps. It is mainly used in the fields of multimedia computers, education and training, especially in the digital audio-visual system based on CD, such as VCD, it can also be applied to wider application fields such as VOD and interactive TV. MPEG-2 is a general coding standard for moving images and audio information. It is used for coding standard definition television (SDTV) and high definition television (HDTV), and the code rate can reach 100Mbps. It is mainly used in digital video storage, video broadcasting and communication. It is a major improvement and development of MPEG-1, and technically promotes the convergence and integration of the three major fields of computer, radio and television, and digital communication, playing a huge role. These two agreements have brought multimedia video coding technology to a new level.

The original intention of MPEG-4 was very low bit rate encoding for video conferencing and video telephony. However, during the formulation process, with the development of multimedia technology and changes in application requirements, the concept of video object (VO) was introduced. Compared with the traditional image frame-based compression method, the video object-based strategy is easier to operate and control coding, and can be more flexibly adapted to a variety of content-based applications.

The full name of MPEG-7 is the multimedia content description interface. It standardizes the description of various types of multimedia information, and links the description with the described content, and strives to search for the different types required by users more quickly and effectively Multimedia materials. MPEG-7 focuses on the description and definition of audio-visual content, and defines the content of audio-visual data with a clear data structure and syntax. At the same time, ITU-T has specified H.261, H.263 and other standards in order to meet the application of video phone and video conference.

The H.261 standard (ITU-T Recommendation H.261, Video codec for audiovisual services at p×64kbps) formulated in 1990 is referred to as p×64 for short. When p=1 or 2, the maximum code rate is 128kbps. Because the bit rate is too low, the definition of the image that can be transmitted is not too high, so it can only be applied to face-to-face video phones. When p≥6, the code rate is 384kbps, which can transmit images with good definition, which is suitable for conference TV.

ITU-T's H.263 standard (ITU-T Recommendation H.263, Video Coding for LowBit rate Communication) is a compression standard for low bit rate audio and video services formulated by ITU-T in 1996. It is ITU-T Video codec standards for multimedia communication terminals specified by the H.324 series of standards. H.263 realizes video compression with a bit rate below 64kbps. Since multimedia communication needs to be realized at a low bit rate, it is more difficult and complicated to implement technically. Therefore, H.263 uses a variety of advanced technologies to reduce the bit rate.

After H.263, there are some improved versions, such as H.263+, which is a further improvement and development of H.263, which makes H.263 greatly improved in flexibility and coding efficiency, and can adapt to More extensive application requirements. With the consistency in low bit rate, network applications, scalability, etc., VCEG (Video Coding Expert Group) of ITU-T and MPEG (Moving Picture Coding Expert Group) of ISO/IEC established a joint video group ( JVT: joint video team) to jointly develop a new video coding standard. It is not only ITU-T H.264, but also part 10 of MPEG-4.

Chapter III video coding theory

3.1 Development of H.264

  With the rise of HDTV, the H.264 standard frequently appears before our eyes. Both HD-DVD and Blu-ray DVD plan to adopt this standard for program production. And since the second half of 2005, both NVIDIA and ATI have regarded support for H.264 hardware decoding acceleration as their most proud video technology. Where is H.264 "sacred"?

  H.264, also the tenth part of MPEG-4, was proposed by the Joint Video Team (JVT, Joint Video Team) formed by the ITU-T Video Coding Expert Group (VCEG) and the ISO/IEC Moving Picture Expert Group (MPEG). The highly compressed digital video codec standard.

   H.264 is a high-performance video coding and decoding technology. At present, there are two organizations that formulate video codec technology in the world, one is "International Telecommunication Union (ITU-T)", which has developed standards such as H.261, H.263, H.263+, and the other is " The International Organization for Standardization (ISO) has established standards such as MPEG-1, MPEG-2, and MPEG-4. H.264 is a new digital video coding standard formulated by the Joint Video Team (JVT) jointly established by two organizations, so it is both ITU-T H.264 and ISO/IEC MPEG-4 advanced video Coding (Advanced Video Coding, AVC), and it will become part 10 of the MPEG-4 standard. Therefore, whether it is MPEG-4 AVC, MPEG-4 Part 10, or ISO/IEC 14496-10, they all refer to H.264.

  The biggest advantage of H.264 is that it has a high data compression ratio. Under the same image quality, the compression ratio of H.264 is more than 2 times that of MPEG-2 and 1.5 to 2 times that of MPEG-4. For example, if the size of the original file is 88GB, it will become 3.5GB after being compressed by the MPEG-2 compression standard, and the compression ratio will be 25:1, while it will become 879MB after being compressed by the H.264 compression standard, from 88GB to 879MB. The compression ratio of H.264 reaches an astonishing 102:1! Why does H.264 have such a high compression ratio? Low bit rate (Low Bit Rate) plays an important role. Compared with compression technologies such as MPEG-2 and MPEG-4 ASP, H.264 compression technology will greatly save users' download time and data traffic charges. In particular, it is worth mentioning that H.264 has a high compression ratio while also having high quality and smooth images.

  Advantages of H.264 algorithm

  H.264 is established on the basis of MPEG-4 technology. Its encoding and decoding process mainly includes five parts: inter-frame and intra-frame prediction (Estimation), transform (Transform) and inverse transform, quantization (Quantization) and Inverse quantization, loop filter (Loop Filter), entropy coding (Entropy Coding).

  H.264/MPEG-4 AVC (H.264) is the latest and most promising video compression standard since the release of the MPEG-2 video compression standard in 1995. H.264 is the latest international video coding standard jointly developed by the joint development group of ITU-T and ISO/IEC. Through this standard, the compression efficiency under the same image quality has been increased by more than 2 times compared with the previous standard. Therefore, H.264 is generally regarded as the most influential industry standard.

3.2 H.264 standard overview

  Like the previous standard, H.264 is also a hybrid coding mode of DPCM plus transform coding. However, it adopts a concise design of "back to basics" and does not require many options to obtain much better compression performance than H.263++; it strengthens the adaptability to various channels and adopts a "network-friendly" structure and syntax. Conducive to the processing of errors and packet loss; a wide range of application targets to meet the needs of different speeds, different resolutions and different transmission (storage) occasions.

  Technically, it concentrates the advantages of previous standards and absorbs the experience accumulated in standard formulation. Compared with H.263 v2 (H.263+) or MPEG-4 simple profile (Simple Profile), H.264 can save up to 50 at most code rates when using the best encoder similar to the above encoding method % Bit rate. H.264 can continue to provide high video quality at all bit rates. H.264 can work in low-latency mode to adapt to real-time communication applications (such as video conferencing), and it can also work well in applications without delay restrictions, such as video storage and server-based video streaming applications . H.264 provides tools for handling packet loss in packet transmission networks, and tools for handling bit errors in error-prone wireless networks.

  At the system level, H.264 proposes a new concept, which is a conceptual division between the Video Coding Layer (VCL) and the Network Abstraction Layer (NAL), the former being the core of the video content The expression of compressed content, the latter is the expression delivered through a specific type of network, this structure facilitates the packaging of information and better priority control of information.

3.3 The key technology of H.264 standard

·Intra prediction coding

  Intra-frame coding is used to reduce the spatial redundancy of images. In order to improve the efficiency of H.264 intra-frame coding, the spatial correlation of adjacent macroblocks is fully utilized in a given frame, and adjacent macroblocks usually contain similar attributes. Therefore, when encoding a given macroblock, first predict based on the surrounding macroblocks (typically based on the macroblock in the upper left corner, because this macroblock has been encoded), and then calculate the difference between the predicted value and the actual value The value is encoded, so that compared to directly encoding the frame, the bit rate can be greatly reduced.

  H.264 provides 6 modes for 4×4 pixel macroblock prediction, including 1 DC prediction and 5 directional prediction, as shown in Figure 2. In the figure, a total of 9 pixels from A to I of the adjacent block have been coded and can be used for prediction. If we choose mode 4, then the 4 pixels a, b, c, and d are predicted to be equal to E Values, e, f, g, and h4 pixels are predicted to be equal to F. For flat areas in the image that contain little spatial information, H.264 also supports 16×16 intra-frame coding.

·Interframe predictive coding

  Inter-frame predictive coding uses temporal redundancy in consecutive frames for motion estimation and compensation. H.264 motion compensation supports most of the key features in the previous video coding standards, and flexibly adds more functions. In addition to supporting P frames and B frames, H.264 also supports a new inter-stream transmission Frame-SP frame. After the code stream contains SP frames, it can quickly switch between code streams with similar content but with different bit rates, and supports random access and fast playback modes at the same time. Figure 3 SP-frame schematic diagram H.264 motion estimation has the following four characteristics.

  (1) Segmentation of macroblocks of different sizes and shapes

  The motion compensation for each 16×16 pixel macroblock can adopt different sizes and shapes. H.264 supports 7 modes, as shown in Figure 4. The motion compensation of the small block mode improves the performance of the motion detailed information processing, reduces the block effect, and improves the image quality.

  (2) High-precision sub-pixel motion compensation

  In H.263, half-pixel precision motion estimation is used, while in H.264, 1/4 or 1/8 pixel precision motion estimation can be used. When the same accuracy is required, the residual error after H.264 using 1/4 or 1/8 pixel accuracy motion estimation is smaller than the residual error after H.263 using half pixel accuracy motion estimation. In this way, under the same accuracy, H.264 requires a smaller bit rate in inter-frame coding.

  (3) Multi-frame prediction

  H.264 provides an optional multi-frame prediction function. During inter-frame encoding, 5 different reference frames can be selected to provide better error correction performance, which can improve the video image quality. This feature is mainly used in the following situations: periodic motion, translational motion, and changing the camera lens back and forth between two different scenes.

  (4) Deblocking filter

  H.264 defines an adaptive filter to remove block effects, which can handle horizontal and vertical block edges in the prediction loop, greatly reducing block effects.

·Integer transformation

  In terms of transformation, H.264 uses a DCT-like transformation based on 4×4 pixel blocks, but uses an integer-based spatial transformation. There is no inverse transformation, and there is an error problem because of the trade-off. Compared with floating-point operations, integer DCT transform will cause some extra errors, but because the quantization after DCT transform also has quantization error, compared with it, the influence of quantization error caused by integer DCT transform is not big. In addition, the integer DCT transform also has the advantages of reducing the amount of calculation and complexity, which is conducive to transplantation to fixed-point DSP.

·Quantification

  There are 32 different quantization steps in H.264, which is very similar to the 31 quantization steps in H.263, but in H.264, the step size is progressive at a compound rate of 12.5%, and Not a fixed constant. In H.264, there are also two ways to read transform coefficients: Zigzag scanning and double scanning. In most cases, a simple zigzag scan is used; dual scan is only used in a block with a smaller quantization level, which helps to improve coding efficiency.

· Entropy coding

  The last step of the video coding process is entropy coding. Two different entropy coding methods are used in H.264: Universal Variable Length Coding (UVLC) and Text-based Adaptive Binary Arithmetic Coding (CABAC).

  In standards such as H.263, different VLC code tables are used according to the type of data to be coded, such as transform coefficients and motion vectors. The UVLC code table in H.264 provides a simple method, no matter what type of data the symbol represents, the uniform variable word length code table is used. The advantage is simplicity; the disadvantage is that a single code table is derived from the probability statistical distribution model, without considering the correlation between code symbols, and the effect is not very good at medium and high code rates.

  Therefore, the optional CABAC method is also provided in H.264. Arithmetic coding enables the use of probability models of all syntactic elements (transform coefficients, motion vectors) on both encoding and decoding. In order to improve the efficiency of arithmetic coding, through the process of content modeling, the basic probability model can adapt to the statistical characteristics that change with the video frame. Content modeling provides conditional probability estimation of coded symbols. Using a suitable content model, the correlation between symbols can be removed by selecting the corresponding probability model of the coded symbols adjacent to the currently coded symbol. Different syntactic elements are usually kept Different models.

 

·basic structure

The H.264 encoder is shown in Figure 3-1, which contains two data stream paths, a "forward" path (from left to right, indicated in blue) and a "reconstruction" path (from right to left, purple Said).

Figure 3-1 H.264 encoder model

·Forward path:

Fn is the current input frame. It is processed in units of macroblocks (corresponding to 16×16 pixels of the original image). Each macroblock is coded according to intra or inter mode. Regardless of the mode, a prediction block P will be formed from the reconstructed frame. If it is the intra-frame mode, P is predicted from the sample value of frame n that has been currently encoded, decoded and reconstructed. If it is an inter-frame mode, P is obtained from the motion compensation of one or more previous motion reference frames. That is F'n-1 in the figure, the prediction of each macroblock can be obtained from the reconstructed image that has been coded in the previous frame or several frames.

The prediction value is subtracted from the current macro block to obtain the difference macro block Dn. Dn is transformed and quantized to obtain X (quantized transform coefficient). These coefficients are scanned for entropy coding. Then it forms a compressed bitstream with other information (such as macroblock prediction type, quantization step size, and motion vector information). Finally it is sent to NAL for transmission. Rebuild path:

The quantized macroblock coefficient X will be decoded to form a reconstructed frame for further coding. X undergoes inverse quantization and inverse transformation to obtain the difference macroblock D'n, which is different from the original difference Dn because of the error generated by the quantization. The predicted macroblock P plus D'n generates a reconstructed macroblock uF'n. uF'n passes through a filter to reduce the block distortion, and obtains F'n, and a reconstructed frame is obtained from a series of F'n.

·Search method adopted by JM model

Motion search in JM uses a more advanced fast search method called asymmetric cross multi-level hexagonal grid search algorithm Search). This is a Chinese patented algorithm, because when it encodes image sequences with low bit rate and large motion, while maintaining better rate-distortion performance, the amount of calculation is very low, compared to the original fast and full-scale H.264 The search algorithm can save more than 90% of calculations. It has been officially adopted by the H.264 standard.

Its search process is also more complicated, using asymmetric cross search, uneven multi-hexagon grid search, extended hexagon search and other advanced methods, which is a hybrid search method.

It mainly has the following four steps as shown in the figure below:

Figure 3-2 Search steps

Its search methods mainly include: 1-initialize the search center according to the prediction information; 2-asymmetric cross search; 3-uneven multi-hexagon grid search; 3-extended hexagon search;

3.5 Analysis of H.264 decoder

The decoder model is shown in Figure 3-3: The decoder receives the code stream from the network adaptation layer. The quantized coefficient X is obtained after entropy decoding and reordering. Then, after inverse quantization and inverse transformation, D`n is obtained. From the header information of the code stream, the decoder establishes a prediction macroblock P, which is the same as the original P in the encoder. P plus D`n get Uf`n, and get decoded macroblock F`n after filtering. Its basic structure is as follows:

Figure 3-3 Decoder structure

Some advanced technologies adopted by H.264 are reflected in each part of the decoder. In the inverse transform of the decoder, an integer transform improved from the DCT transform is used. Its prediction includes not only an inter-frame prediction mode but also an intra-frame prediction mode. After decoding, a deblocking filter is used.

·Transformation and quantization

Whether after intra-frame prediction or inter-frame prediction, the residual macroblock needs to be transformed and quantized. The previous standard generally adopted 8×8 DCT transform. H.264 adopts three different methods according to the type of residual data: the luminance DC coefficient of the intra-coded macroblock uses a 4×4 matrix (only for the 16×16 prediction mode); the chrominance DC coefficient uses 2×2 The matrix; the others use 4×4 block transform. The data blocks in the macro block are transmitted in the order shown in Figure 3-4. If it is a 16×16 intra-frame prediction macroblock, first transmit the luminance DC coefficient number -1, then the luminance residual data number 0-15, and finally the chrominance DC and chrominance residual data number 16-25 .

Figure 3-4 Scan order of residual block in macro block

·Prediction of inter-coded macroblocks

Inter-frame prediction is obtained from one or several frames that have been coded. It is to perform translation (motion compensation prediction) on the plane of the sample point of the reference frame. Compared with the previous video standard, H.264 supports more kinds of block divisions (to 4×4 size) and sub-pixel precision motion vectors (to 1/4 pixel precision). Each block of intra-frame coding is predicted from a region of the same size in the reference frame. The offset between them is the motion vector. Because the reference frame itself cannot have sub-pixel sampling points, it is necessary to use nearby pixel interpolation to generate sub-pixel sampling points. Figure 3-5 explains its interpolation process.

Figure 3-5 Schematic diagram of sub-pixel generation

The half-pixel interpolation is produced by the horizontal and vertical 6-order FIR filters. 1/4 pixel is interpolated on integer pixel and half pixel.

3.6 H.264 transformation algorithm

There are three main types of integer transformation in H.264: 4*4 residual transformation, 4*4 luminance DC coefficient transformation (in 16*16 intra-frame mode), and 2*2 chrominance DC coefficient transformation. The quantization in the H.264 protocol uses the principle of hierarchical quantization. The transformation and quantization of H.264 are shown in Figure 3.6.

Figure 3-6 H.264 transformation and quantization

·H.264 4*4 residual transform

The 4*4 residual transformation and the 4*4 transformation 1 shown in Figure 3-7 are the shaping transformations with the following formula as the transformation kernel. The two-dimensional integer transformation can usually be decomposed into one-dimensional form. First, perform 4 lines and one-dimensional Integer transformation, and then 4 columns of one-dimensional integer transformation. The one-dimensional integer transformation formula is:

One-dimensional inverse transformation formula:

In the formula, A, B, C, D represent transform coefficients; a, b, e, d represent input pixels; al, bl, cl, dl represent recovery coefficients. The analysis of the above formula shows that the transform coefficients are all integers, so the algorithm can be realized by shifting, adding and subtracting.

 

Figure 3-7 Integer positive transformation butterfly diagram

·H.264 brightness DC coefficient conversion

When the macro block is coded in the 16*6l intra-frame mode, the brightness component of the entire 16*16 block is predicted by the neighboring pixels. The DC components of the 16 4*4 blocks of the macroblock form a 4X4 DC coefficient matrix X1, and the transformation of this matrix adopts the Discretelldamaard Transform (DHT), as shown in the figure 4*4 transformation 2.

Forward transformation formula:

Inverse transformation formula:

In the formula, ZD is a matrix after several quantizations, and XQD can be obtained by inverse quantization. In intra-frame coded macroblocks, most of the energy is concentrated on the DC coefficients. This transformation is beneficial to further compress the 4*4 brightness DC Correlation of signals.

For this subject, we debugged the JM7.3 version. First download and decompress the JM test model, create a mybin folder in the subdirectory, and copy the bin file into the mybin file:

Figure 4-1 Files contained in the JM folder

Open the project file jm.dsw. to enter the VC interface.

Select new in the file, create a new myencoder.cfg (under the lens project) and select the mybin file path under the path. OK.

Figure 4-2 Open the project

At this time, there is an additional batch configuration of myencoder.cfg.. electric shock encoder.cfg appears on the right under Header Files under Lendcod files.

.

Figure 4-3 Parameter configuration file

In the configfile.h file under Header Files under Lendcod files

#define DEFAULTCONFIGFILENAME “encoder.cfg”

To

#define DEFAULTCONFIGFILENAME “myencoder.cfg”

Then select lencod files and set DEBUG under the project menu as shown in the parameter settings:

Figure 4-4 Setting interface

Then compile, to modify a parameter. It can be modified directly in myencoder.cfg. For example, for YUV files, set the file placement path to dancer_cif_ori90.yuv under the path of E:\Other versions of video encoding\JM. We have InputFile = "E:\Other versions of video encoding\JM\dancer_cif_ori90.yuv" in myencoder.cfg

 

 

 

4.2 How to use H.264 decoder library file

·Interface function information

1.void JVT_init(struct inp_par*input,struct img_par*img,

StorablePicture*dec_picture,char*filename);

Function: initialization of the decoder.

Parameter information: struct inp_par*input――――configuration information parameter

struct img_par*img――――Image information parameter

StorablePicture*dec_picture――――Decoded image sequence

Char*filename――――The file name of the input H.264 file

 

2.void JVT_dec(struct inp_par*input,struct img_par*img,

NALU_t*nalu,int*current_header);

Function: Decode the i-th frame.

Parameter information: struct inp_par*input――――configuration information parameter

struct img_par*img――――Image information parameter

NALU_t*nalu――――Pointer to nalu unit

int*current_header――――Frame header information

 

3.void JVT_free(struct inp_par*input,struct img_par*img,

ColocatedParams*Co_located);

Function: Destroy the decoder and release resources.

Parameter information: struct inp_par*input――――configuration information parameter

struct img_par*img――――Image information parameter

ColocatedParams*Co_located――――Storage unit allocation parameters

 

4.NALU_t*AllocNALU(int buffersize);

Function: Assign NALU unit.

Parameter information: int buffersize――――unit size

 

 

5.void FreeNALU(NALU_t*n);

Function: release NALU unit.

Parameter information: NALU_t*n―――NALU unit address

 

6.void CloseBitstreamFile();

Function: close the file.

Since jm encodes all YUV files, we first download a YUV player.

Figure 4-5 YUV player

The player is developed by VC. It is a player under WINDOWS, which can play video files in YUV, m4u and 264 formats. Multiple windows can be opened at the same time, and video can be played in single frame and continuously. In order to facilitate the comparison of the subjective quality of images in different formats, an image zoom function is also added.

It has separate processing of the playback part and the decoding part of VideoPlayer, and the decoding part uses separate decoding libraries delib.lib and libxvidcore.lib to decode MPEG-4 and H.264 format video files.

4.3 JM program debugging

We first run the JM program and get the following results.

Figure 4-6 JM running result

It can be seen that the input video file is foreman_part_qcif.yuv, and there are four output files. And the playback file output is test_rec.yuv. Let's first come to the two files of the waveform to supervise the comparison effect.

 

Figure 4-7 Comparison of H.264 before and after compression

Below we analyze the signal-to-noise ratio before and after H.264 compression.

Figure 4-8 H.264 signal-to-noise ratio analysis

Through simulation, we can find that the greater the bit rate, the greater the signal-to-noise ratio.

In the past, av information was regarded as pure data, and the content contained in it was not combined when encoding. For example, a video sequence was regarded as a combination of pixels. MPEG4 adopts the concept of objects, and different data sources are regarded as different objects and coded separately. The recipient of the data is no longer passive, he can perform his own operations on different objects: delete, add, move, etc. Voice, image, video, etc. can be used as separate objects, or they can be assembled into a higher-level object, which we call a scene. MPEG4 must first analyze and understand the video sequence to extract the target before encoding.

A complex picture is composed of these operable primitive targets. If these targets are coded separately, the end user can freely manipulate these original targets (such as target coordinates, viewpoints, animations, etc.), and can also get some original target information.

advantage:

Independent encoding of different objects can achieve higher compression performance. For example, the background is encoded with higher compression and greater loss, and moving objects are encoded with lower compression and less loss, which can achieve better compression efficiency and decoding quality. Balance. It also brings the ability to manipulate content at the terminal. The traditional compression method is frame-based and block-based, and the compression performance is not high and the object cannot be manipulated. The object operation in MPEG4 allows users to directly splice different objects on the user side to obtain images synthesized by the user, which cannot be directly realized in traditional methods.

Compared with MPEG4 and H.264, the signal noise ratio is as follows:

Figure 4-9 H.264 and MPEG4 signal-to-noise ratio analysis

From the above analysis, the coding performance of H.264 is due to the new MPEG4 feature, and the higher the bit rate, the greater the performance advantage.

  TML-8 is the test mode of H.264, use it to compare and test the video coding efficiency of H.264. The PSNR provided by the test results has clearly shown that compared to the performance of MPEG-4 (ASP: Advanced Simple Profile) and H.263++ (HLP: High Latency Profile), the results of H.264 have obvious advantages.

  The PSNR of H.264 is obviously better than that of MPEG-4 (ASP) and H.263++ (HLP). In the comparison test of 6 speeds, the PSNR of H.264 is 2dB higher than MPEG-4 (ASP) on average. It is 3dB higher than H.263 (HLP) on average. The 6 test rates and their related conditions are: 32 kbit/s rate, 10f/s frame rate and QCIF format; 64 kbit/s rate, 15f/s frame rate and QCIF format; 128kbit/s rate, 15f/s Frame rate and CIF format; 256kbit/s rate, 15f/s frame rate and QCIF format; 512 kbit/s rate, 30f/s frame rate and CIF format; 1024 kbit/s rate, 30f/s frame rate and CIF format.

Guess you like

Origin blog.csdn.net/ccsss22/article/details/108741645