H.264, like previous standards, still uses a hybrid coding framework. The AVS video standard uses a similar technical framework to H.264, including transformation, quantization, entropy coding, intra-frame prediction, inter-frame prediction, loop filtering and other modules. The differences in their core technologies include the following:
1. Transformation and Quantization
H.264 uses block-based transform coding for residual data to remove spatial redundancy of the original image, so that the image capacity is concentrated on a small part of the coefficients. The DC coefficient value is generally the largest, which can improve the compression ratio and enhance the anti-interference ability. The previous standard generally uses DCT transform. The disadvantage of this transform is that there will be a mismatch phenomenon. There will be a difference after the original data is transformed and restored by inverse transform. Since it is a real number operation, the amount of calculation is also relatively large. H.264 uses integer transform based on 4×4 blocks.
AVS uses 8×8 integer transform, which can be implemented on a 16-bit processor without mismatch. It is more effective than 4×4 transform in decorrelation of high-resolution video images, and uses 64-level quantization to meet the requirements of different applications and services for bit rate and quality.
2. Intra-frame prediction
Both H.264 and AVS technologies use intra-frame prediction, using adjacent pixels to predict the current block, and using multiple prediction modes that represent spatial domain textures. H.264 has two prediction modes for luminance prediction: 4×4 blocks and 16×16 blocks. For 4×4 blocks: there are 9 prediction directions from -135 degrees to +22.5 degrees plus a DC prediction; for 16×16 blocks: there are 4 prediction directions. Chroma prediction is 8×8 blocks, with 4 prediction modes, similar to the 4 modes of intra-frame 16×16 prediction, where DC is mode 0, horizontal is mode 1, vertical is mode 2, and plane is mode 3.
3. Inter-frame prediction
H.264 inter-frame prediction is a prediction mode based on coded video frames and block-based motion compensation. The difference from previous standard inter-frame prediction is the wider range of block sizes, the use of sub-pixel motion vectors and the use of multiple reference frames.
H.264 has 8 types of macroblock and sub-macroblock divisions: 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 and 4×4, while AVS has only 4 types of macroblock divisions: 16×16, 16×8, 8×16 and 8×8.
H.264 supports the use of multiple different reference frames to predict inter-frame macroblocks and slices. In AVS, P frames can use up to two forward reference frames, and B frames use one reference frame before and after.
4. Entropy Coding
H.264 has formulated entropy coding efficiency based on the amount of information. One method is to use a unified variable length coding (UVLC) for all symbols to be encoded, and the other is to use context-adaptive binary arithmetic coding (CABAC) based on content, which greatly reduces the block coding correlation redundancy and improves the coding efficiency. UVLC has a low computational complexity and is mainly used for applications with strict coding time. Its disadvantage is low efficiency and high bit rate. CABAC is a very efficient entropy coding method, and its coding efficiency is 50% higher than that of UVLC coding.
AVS entropy coding uses adaptive variable length coding technology. In the AVS entropy coding process, all syntax elements and residual data are mapped into binary bit streams in the form of exponential Golomb codes.
The advantages of using exponential Golomb codes are: on the one hand, its hardware complexity is relatively low, and the code can be parsed according to a closed formula without looking up a table; on the other hand, it can flexibly determine the K-order exponential Golomb code encoding based on the probability distribution of the coding elements. If K is selected appropriately, the coding efficiency can approach the information entropy.
The block transform coefficients of the prediction residual are scanned to form (level, run) pairs. Level and run are not independent events, but are strongly correlated. In AVS, level and run are 2D jointly encoded, and the order of the exponential Golomb code is adaptively changed according to the different probability distribution trends of the current level and run.
In addition, there are no SI and SP frames in AVS. It can be said that AVS was developed on the basis of H.264 and absorbed the essence of H.264, but in order to bypass the patent problem, it had to abandon some core algorithms of H.264. The price in return is that the complexity is greatly reduced while the coding efficiency is slightly reduced.
Previous article:RAID memory: write-back technology and hot-swap capacity technology
Next article:Several measurement methods and applicable scope of sensors
- High signal-to-noise ratio MEMS microphone drives artificial intelligence interaction
- Advantages of using a differential-to-single-ended RF amplifier in a transmit signal chain design
- ON Semiconductor CEO Appears at Munich Electronica Show and Launches Treo Platform
- ON Semiconductor Launches Industry-Leading Analog and Mixed-Signal Platform
- Analog Devices ADAQ7767-1 μModule DAQ Solution for Rapid Development of Precision Data Acquisition Systems Now Available at Mouser
- Domestic high-precision, high-speed ADC chips are on the rise
- Microcontrollers that combine Hi-Fi, intelligence and USB multi-channel features – ushering in a new era of digital audio
- Using capacitive PGA, Naxin Micro launches high-precision multi-channel 24/16-bit Δ-Σ ADC
- Fully Differential Amplifier Provides High Voltage, Low Noise Signals for Precision Data Acquisition Signal Chain
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Okay, let’s talk about the Internet of Things technology protocol
- On-line debugging method for embedded processors
- PCB issues for switching power supplies
- [Zero-knowledge ESP8266 tutorial] Quick start 21 world clock demo
- A question about the schematic
- National College Student Electronic Design Competition Open Source Flight Control Data Album: APM Learning Materials
- How to modify this PCB
- Annual review: 2019 TI training course highlights, good reviews and gifts!
- Which development environment do I use for C8051F58x/F59x?
- C2000 CLA FAQ: Accessing Peripherals