H.264 coding technology

H.264 is a joint video group (JVT, Joint) composed of the ITU-T (ITU Telecommunication Standardization Sector) Video Coding Experts Group (VCEG) and ISO/IEC Motion Picture Experts Group (MPEG). Video Team) is a highly compressed digital video codec standard. H.264 is one of the ITU-T standards named after the H.26x series, and AVC is the name of the ISO/IEC MPEG side. This standard officially became an international standard adopted at the 7th meeting of JVT held in Pattaya, Thailand in March 2003. Since the standard was developed by two different organizations, there are two different names: in ITU-T, its name is H.264; in ISO/IEC, it is called MPEG-4. Part 10, Advanced Video Coding (AVC).

This article refers to the address: http://

H.264 features H.264 still uses the previous MC-DCT structure in the coding framework, namely the motion compensation plus transform coding hybrid structure, so it retains some of the characteristics of previous standards, such as unrestricted motion. Unrestricted motion vectors, median predictions of motion vectors, and so on. However, the techniques described below have made H.264 a much better performance than previous video coding standards. It should be noted that this improvement is not achieved by a single technology, but by a small performance improvement brought about by different technologies.

1. Intra prediction The encoding of I frames is achieved by using spatial correlation rather than temporal correlation. The previous standard only utilized the correlation inside a macroblock, but ignored the correlation between macroblocks, so the amount of data after encoding is generally large. In order to further utilize spatial correlation, H.264 introduces intra prediction to improve compression efficiency. Simply put, intra prediction coding uses the neighboring pixel values ​​to predict the current pixel value and then encodes the prediction error. This prediction is block-based. For luminance components (1uma), the block size can be selected between 16×16 and 4×4, 16×16 blocks have 4 prediction modes, and 4×4 blocks have 9 prediction modes. For the chroma component (chroma), the prediction is performed on the entire 8×8 block, and there are 4 prediction modes. In addition to DC prediction, each of the other prediction modes corresponds to predictions in different directions.

2. Inter-frame prediction Like previous standards, H.264 uses motion estimation and motion compensation to eliminate temporal redundancy, but it has the following five different characteristics:
(1) The size of the block used in the prediction is variable. Because the block-based motion model assumes that all the pixels in the block have the same translation, this assumption is greater than the actual opening and exit at the edge of the motion or the edge of the moving object. This results in a large prediction error, in which case reducing the size of the block allows the hypothesis to remain true in small blocks. In addition, the blockiness caused by small blocks is relatively small, so in general small blocks can improve the prediction effect. To this end, H.264 uses a total of seven ways to segment a macroblock. The size and shape of the blocks are different in each mode, which allows the encoder to select the best prediction mode based on the content of the image. Using blocks of different sizes and shapes can save the code rate by more than 15% compared to predictions using only 16x16 blocks.
(2) Finer prediction accuracy In H.264, the motion vector (MV) of the Luma component uses 1/4 pixel precision. The MV of the Chroma component is derived from luma MV. Since the chroma resolution is half of luma (for 4:2:0), its MV precision will be 1/8, which means that the displacement represented by 1 unit of chroma MV Only 1/8 of the distance between the sampling points of the chroma component. Such fine prediction accuracy can save the code rate by more than 20% compared to integer precision.
(3) Multiple reference frames
H.264 supports multiple reference frames, ie more than one (up to 5) frames decoded before the current frame can be used as reference frames to generate a motion-compensated prediction. This applies to situations where the video sequence contains periodic motion. Using this technique, the performance of motion estimation (ME) can be improved, and the error recovery capability of the H.264 decoder can be improved, but the capacity of the buffer and the complexity of the codec are also increased. However, the introduction of H.264 is based on the rapid development of semiconductor technology, so these two burdens will become insignificant in the near future. Compared to using only one reference frame, using 5 reference frames can save a code rate of 5 to 10%.
(4) Anti-blocking filter anti-blocking filter (Deblocking Filter), its function is to eliminate the block effect caused by the prediction error in the reconstructed image after inverse quantization and inverse transform, that is, the pixel value jump at the edge of the block Therefore, the subjective quality of the image is improved, and the prediction error is reduced. The Deblocking Filter in H.264 can also make a judgment based on the image content, smoothing only the pixel value hopping due to the block effect, and retaining the pixel values ​​at the edge of the object in the image discontinuously to avoid edge blurring. Unlike previous Deblocking Filters, the filtered image will be placed in the buffer for inter prediction as needed, rather than just improving the subjective quality when outputting the reconstructed image, ie the filter is located in the decoding loop. It is outside the output of the decoding loop, so it is also called Loop Filter. It should be noted that for intra prediction, an unfiltered reconstructed image is used.

3. Integer transformation
H.264 performs DCT transform coding on the residual of intra or inter prediction. In order to overcome the complex hardware design caused by floating-point operations, more important is the mismatch between the encoder and the decoder caused by rounding errors. The new standard modifies the definition of DCT, so that the transformation is only used. Integer addition and subtraction and shift operations can be implemented so that the output of the decoder can accurately restore the input of the encoder without considering the effects of quantization. Of course, the cost of doing so is a slight drop in compression performance. Furthermore, the transformation is performed for 4x4 blocks, which also helps to reduce blockiness. In order to further utilize the spatial correlation of the image, after performing the above integer DCT transform on the prediction residual of chroma and the prediction residual of 16×16 intra prediction, the standard also composes the DC coefficients in each 4×4 transform coefficient block. Blocks of 2 × 2 or 4 × 4 size, further do Hadamard transformation.

4. Entropy coding If it is the slice layer prediction residual, H.264 has two entropy coding methods: context-based Adaptive Variable Length Coding (CAVLC) and context-based adaptive binary arithmetic. Context-based Adaptive Binary Arithmetic Coding (CABAC); if it is not a prediction residual, H.264 uses Exp-Golomb code or CABAC code, depending on the settings of the encoder.
(1) CAVLC
The basic idea of ​​VLC is to use shorter codewords for symbols with higher frequency, and longer codewords for symbols with smaller frequencies. This will minimize the average code length. In CAVLC, H.264 uses several VLC code tables, and different code tables correspond to different probability models. The encoder can automatically select in these code tables according to the context, such as the non-zero coefficients of the surrounding blocks or the absolute value of the coefficients, and most likely match the probability model of the current data, thereby implementing the function of context adaptation.
(2) CABAC
Arithmetic coding is an efficient entropy coding scheme in which the code length corresponding to each symbol is considered to be a fraction. Since the encoding of each symbol is related to the result of the previous encoding, it considers the probability property of the whole sequence of the source symbol, rather than the probability characteristic of a single symbol, so that it can approximate the limit entropy of the source to a greater extent. , reduce the bit rate. In order to circumvent the representation problem of infinite precision fractions in arithmetic coding and estimate the probability of source symbols, modern arithmetic coding is mostly implemented in a finite state machine. CABAC of H.264 is an example. Other examples are JPEG2000. . In CABAC, each time a binary symbol is encoded, the encoder automatically adjusts the estimate of the source probability model (represented by a "state"), and the subsequent binary symbols are encoded based on the updated probability model. Such encoders do not require a priori knowledge of the source statistical properties, but are adaptively estimated during the encoding process. Obviously, compared with the method of pre-setting several probability models in CAVLC coding, CABAC has more flexibility and can obtain better coding performance - about 10% lower the code rate. The features described above are used to improve the coding performance of H.264. In addition, H.264 also has good error resilience and network adaptability. Some of the features are described below.

5. SP Slice
The main purpose of the SP Slice is to switch between different code streams. It can also be used for random access, fast forward and fast rewind and error recovery of the code stream. The different code streams referred to herein refer to the code streams generated by encoding the same source under different bit rate constraints. It is assumed that the last frame in the transport stream before switching is Al, and the first frame of the target stream after switching is B2 (assumed to be a P frame). Since the reference frame of B2 does not exist, direct switching obviously causes great distortion. And this distortion will be passed backwards. A simple solution is to transmit the intra-coded B2, but the data size of the I-frame is generally large, and this method will cause a sharp increase in the transmission rate. According to the previous assumption, since the same source is encoded, although the bit rate is different, there are many correlations between the two frames before and after the switching, so the encoder can use Al as the reference frame of B2 and perform inter prediction on B2. The prediction error is the SP slice, and then the code stream is switched by passing the SP slice. Unlike conventional P frames, the predictions made by generating SP slices are performed in the transform domain of Al and B2. The SP slice requires that the image of B2 after switching should be the same as when the target stream is directly transmitted. Obviously, if the target of the switch is another stream that is irrelevant, SP Slice will not work.

Flexible macroblock ordering (FMO) refers to dividing macroblocks in an image into groups and independently encoding them. The macroblocks in a group are not necessarily in The conventional scanning sequence is continuous before and after, and may be randomly scattered at various different positions in the image. In this way, if an error occurs during transmission, some macroblocks in a certain group cannot be correctly decoded, and the decoder can still recover the pixels according to the spatial correlation of the image by relying on the pixels correctly decoded around them.

H.264 encoding technology
The target applications of H.264 cover most of the current video services, such as cable TV remote monitoring, interactive media, digital TV, video conferencing, video on demand, streaming services and so on. H.264 is to solve the difference in network transmission in different applications. Two layers are defined: Video Coding Layer (VCL) is responsible for efficient video content representation, and Network Abstraction Layer (NAL) is responsible for packaging and transmitting data in the appropriate way required by the network (see Figure). Shown: Standard overall framework).
Baseline Profile: This level uses all the features of H.264 except B-Slices, CABAC and interleaved coding mode. This level is mainly used in low-latency real-time applications.
Main Profile: Contains all the features of the Baseline profile and includes B-slices, CABAC and interleaved coding modes. It is mainly for occasions where the delay requirement is not high, when the compression ratio and quality requirements are high.
Profile X: Supports all Baseline profile features, but does not support CABAC and macroblock-based adaptive framefield encoding. This level is mainly aimed at the application of various network video streaming.

H.264 product
H.264 HD encoder
MPEG-4 AVC/H.264 HD encoder is a professional high-definition audio and video coding product. The product supports almost all analog and digital audio and video input interfaces, including CVBS, YPbPr, SD/HD-SDI, HDMI video input, balanced/unbalanced analog audio, and AES/EBU, HDMI, SD/HD-SDI embedded audio input. interface. The device can encode standard and high definition audio and video, supports MPEG-4 AVC/H.264 encoding format, has high encoding compression efficiency and excellent video quality, and can be widely used in various digital TV broadcast systems. in.

Main characteristics
1. Support H.264/AVC High Profile Level 4.0 and H.264/AVC High Profile Level 3.0 encoding, advanced video preprocessing algorithm
2, audio encoding supports MPEG1 Audio Layer 2
3. Support CVBS, S-Video, YPbPr analog video input • Support HDMI, HD/SD-SDI digital video input
4, support balanced and unbalanced analog audio input
5, support AES / EBU, HDMI, HD / SD-SDI digital audio input • Support PAL, NTSC SD video format
6, support high-definition 720P, 1080I video format
7, support IP output TS, UDP protocol, unicast and multicast • Support LCD & button operation

Shenzhen Pengchu is a factory make all kinds of Power Supply,the regular voltage is 5v, 12v,24v,36v and 48v,and most customers are looking for these voltage,but less less customer need unregular voltage such as 13v,14v,15v,16v,20v and 30v.Also in order for customers needs,we will make these unregular voltage Power Adapter for them.If you need these power supply please don't hesitate to send inquiry to us. 

Other Switching Power Supply

Switching Power Supply,Irregular Switching Power Supply,Pc Power Supply,Ac Dc Power Supply

Shenzhen Pengchu Industry Co., Ltd , https://www.pc-adapters.com

Posted on