Transmission of video has become an important function that needs to be supported by WAN networks including the Internet. But, if video is handled in its raw form, the bandwidth consumed/ size of video could be huge. Hence video compression through codec’s was introduced. Let’s learn something about one of the most popular video compression technologies – H.264 AVC (MPEG-4 Part 10) in this article.
Whether you are handling Video Conferencing systems, IP Video Surveillance systems, HD DVD, HDTV, Online video storage and streaming, video game consoles, mobile video through 3G/4G… you need to be conversant about one important technology that all of them use – H.264 AVC (Advanced Video Coding) or just H.264 Standard. This is sometimes also referred to as MPEG-4 Version 10.
What is H.264 AVC Standard?
H.264 AVC is an open, licensed standard (technology) for video compression.
So, at the source, complex algorithms defined by H.264 are applied to the video to compress it. It is then transmitted in the compressed format over the wide area network (Internet). When it is received at the destination, image is decompressed using inverse algorithms. Basically, these compression algorithms work by reducing and removing the redundant video data which is sent in every subsequent frame of a video stream.
What are the advantages of H.264 AVC Standard?
- H.264 AVC can reduce the size of a digital video file by about 50% over the previous MPEG Part-2 standard.
- It reduces the bandwidth required to send the video file across the wide area network. Over a longer term, bandwidth savings are huge.
- It decreases the storage space required to store heavy video files.
- H.264 AVC is a standard. Hence, multiple devices from multiple manufacturers should be able to inter-operate using this standard. But since certain vendors have created proprietary extensions, this interoperability is not always possible.
- H.264 AVC is backward compatible with older standards like H.263/H.261 etc. So, equipments that are H.264 compliant can also support the older compression technologies.
- This standard is open to licensing for all vendors, albeit for a fee.
- H.264 AVC enables video from higher resolution/ high definition cameras to be streamed over the Internet.
- Audio can be compressed separately and taken along with the H.264 video stream.
Limitations of H.264 AVC:
- Every device that is licensed with H.264 AVC involves a considerable amount of cost, which is ultimately passed on to the customer.
- Any compression/ decompression technology introduces latency and in the case of H.264, latency is higher (but this depends on the type of hardware processor in the device).
- H.264 takes more processing power than earlier codec’s. Some devices like video camera’s may not have high power processor and hence only limited compression/decompression levels can be used with such devices.
A Glance at the technology behind H.264 AVC Standard:
As you can guess, a lot of complex mathematical equations and methodologies are used for compression/ decompression of video files.
For example, H.264 employs a technique called ‘Differential Coding‘ which, instead of sending all the frames as a whole, each subsequent frame is compared to an earlier frame (or reference frame) and only the changes in the new frame are sent across. Of course, they are assembled in to whole frames upon receipt at the other end.
Generally, these changes are estimated in pixels. But further compression is possible if detection and encoding of differences is based on blocks of pixels instead of individual pixels. These blocks can be sent across more efficiently.
This technique is fine as long as the video does not have a lot of motion and a large part of the frame remains relatively constant. But there are some video streams (like action movies) where there is a lot of motion. For this type of video, a technique called ‘Block based motion compensation’ is used. Here, the image is divided in to a number of macro blocks. For each subsequent frame, certain complex predictive algorithms are applied that determine the new position of the motion block. So, instead of encoding the whole blocks of data, only the motion vector that represents the new position of a motion block in the subsequent frames are encoded. This reduces the size of the video and hence the bandwidth required to transmit it.
Motion compensation and compression can be implemented in different ways and degrees, and each way has an impact on how efficiently video is compressed. In certain cases, video is compressed only a little in order to account for poor hardware processing capacity. In fact, H.264 has around 11 levels and each level defines the bit rate and the encoding rate in macro-block/ sec for resolutions ranging from QCIF to HDTV. Higher the resolution, higher the level and consequently higher processing power, is required.
The bandwidth (bit rate) required for audio is always separate from the video compression. Audio files are encoded by using AAC audio encoding technique (generally) and sent along with the H.264 video stream. So, the additional bandwidth required for transmission of audio needs to be provisioned.
To see an example of how much bandwidth might be required for transmitting SD Video Conferencing sessions using H.264 codec, click here.
In case you want to add any points or have any clarifications, you could use the comment form below or use the contact form to contact us. You could keep yourselves updated with the various computer networking technologies by subscribing to this blog with your email address in the sidebar box mentioned as “Get email updates when new articles are published”.